var __BUNDLE_START_TIME__=this.nativePerformanceNow?nativePerformanceNow():Date.now(),__DEV__=false,process=this.process||{},__METRO_GLOBAL_PREFIX__='';process.env=process.env||{};process.env.NODE_ENV=process.env.NODE_ENV||"production";
(function (global) {
  "use strict";

  global.__r = metroRequire;
  global[__METRO_GLOBAL_PREFIX__ + "__d"] = define;
  global.__c = clear;
  global.__registerSegment = registerSegment;
  var modules = clear();
  var EMPTY = {};
  var _ref = {},
      hasOwnProperty = _ref.hasOwnProperty;

  function clear() {
    modules = Object.create(null);
    return modules;
  }

  function define(factory, moduleId, dependencyMap) {
    if (modules[moduleId] != null) {
      return;
    }

    var mod = {
      dependencyMap: dependencyMap,
      factory: factory,
      hasError: false,
      importedAll: EMPTY,
      importedDefault: EMPTY,
      isInitialized: false,
      publicModule: {
        exports: {}
      }
    };
    modules[moduleId] = mod;
  }

  function metroRequire(moduleId) {
    var moduleIdReallyIsNumber = moduleId;
    var module = modules[moduleIdReallyIsNumber];
    return module && module.isInitialized ? module.publicModule.exports : guardedLoadModule(moduleIdReallyIsNumber, module);
  }

  function metroImportDefault(moduleId) {
    var moduleIdReallyIsNumber = moduleId;

    if (modules[moduleIdReallyIsNumber] && modules[moduleIdReallyIsNumber].importedDefault !== EMPTY) {
      return modules[moduleIdReallyIsNumber].importedDefault;
    }

    var exports = metroRequire(moduleIdReallyIsNumber);
    var importedDefault = exports && exports.__esModule ? exports.default : exports;
    return modules[moduleIdReallyIsNumber].importedDefault = importedDefault;
  }

  metroRequire.importDefault = metroImportDefault;

  function metroImportAll(moduleId) {
    var moduleIdReallyIsNumber = moduleId;

    if (modules[moduleIdReallyIsNumber] && modules[moduleIdReallyIsNumber].importedAll !== EMPTY) {
      return modules[moduleIdReallyIsNumber].importedAll;
    }

    var exports = metroRequire(moduleIdReallyIsNumber);
    var importedAll;

    if (exports && exports.__esModule) {
      importedAll = exports;
    } else {
      importedAll = {};

      if (exports) {
        for (var key in exports) {
          if (hasOwnProperty.call(exports, key)) {
            importedAll[key] = exports[key];
          }
        }
      }

      importedAll.default = exports;
    }

    return modules[moduleIdReallyIsNumber].importedAll = importedAll;
  }

  metroRequire.importAll = metroImportAll;
  var inGuard = false;

  function guardedLoadModule(moduleId, module) {
    if (!inGuard && global.ErrorUtils) {
      inGuard = true;
      var returnValue;

      try {
        returnValue = loadModuleImplementation(moduleId, module);
      } catch (e) {
        global.ErrorUtils.reportFatalError(e);
      }

      inGuard = false;
      return returnValue;
    } else {
      return loadModuleImplementation(moduleId, module);
    }
  }

  var ID_MASK_SHIFT = 16;
  var LOCAL_ID_MASK = 65535;

  function unpackModuleId(moduleId) {
    var segmentId = moduleId >>> ID_MASK_SHIFT;
    var localId = moduleId & LOCAL_ID_MASK;
    return {
      segmentId: segmentId,
      localId: localId
    };
  }

  metroRequire.unpackModuleId = unpackModuleId;

  function packModuleId(value) {
    return (value.segmentId << ID_MASK_SHIFT) + value.localId;
  }

  metroRequire.packModuleId = packModuleId;
  var moduleDefinersBySegmentID = [];
  var definingSegmentByModuleID = new Map();

  function registerSegment(segmentId, moduleDefiner, moduleIds) {
    moduleDefinersBySegmentID[segmentId] = moduleDefiner;

    if (moduleIds) {
      moduleIds.forEach(function (moduleId) {
        if (!modules[moduleId] && !definingSegmentByModuleID.has(moduleId)) {
          definingSegmentByModuleID.set(moduleId, segmentId);
        }
      });
    }
  }

  function loadModuleImplementation(moduleId, module) {
    if (!module && moduleDefinersBySegmentID.length > 0) {
      var _definingSegmentByMod;

      var segmentId = (_definingSegmentByMod = definingSegmentByModuleID.get(moduleId)) !== null && _definingSegmentByMod !== undefined ? _definingSegmentByMod : 0;
      var definer = moduleDefinersBySegmentID[segmentId];

      if (definer != null) {
        definer(moduleId);
        module = modules[moduleId];
        definingSegmentByModuleID.delete(moduleId);
      }
    }

    var nativeRequire = global.nativeRequire;

    if (!module && nativeRequire) {
      var _unpackModuleId = unpackModuleId(moduleId),
          _segmentId = _unpackModuleId.segmentId,
          localId = _unpackModuleId.localId;

      nativeRequire(localId, _segmentId);
      module = modules[moduleId];
    }

    if (!module) {
      throw unknownModuleError(moduleId);
    }

    if (module.hasError) {
      throw moduleThrewError(moduleId, module.error);
    }

    module.isInitialized = true;
    var _module = module,
        factory = _module.factory,
        dependencyMap = _module.dependencyMap;

    try {
      var moduleObject = module.publicModule;
      moduleObject.id = moduleId;
      factory(global, metroRequire, metroImportDefault, metroImportAll, moduleObject, moduleObject.exports, dependencyMap);
      {
        module.factory = undefined;
        module.dependencyMap = undefined;
      }
      return moduleObject.exports;
    } catch (e) {
      module.hasError = true;
      module.error = e;
      module.isInitialized = false;
      module.publicModule.exports = undefined;
      throw e;
    } finally {}
  }

  function unknownModuleError(id) {
    var message = 'Requiring unknown module "' + id + '".';
    return Error(message);
  }

  function moduleThrewError(id, error) {
    var displayName = id;
    return Error('Requiring module "' + displayName + '", which threw an exception: ' + error);
  }
})(typeof globalThis !== 'undefined' ? globalThis : typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this);
(function (global) {
  var inspect = function () {
    function inspect(obj, opts) {
      var ctx = {
        seen: [],
        formatValueCalls: 0,
        stylize: stylizeNoColor
      };
      return formatValue(ctx, obj, opts.depth);
    }

    function stylizeNoColor(str, styleType) {
      return str;
    }

    function arrayToHash(array) {
      var hash = {};
      array.forEach(function (val, idx) {
        hash[val] = true;
      });
      return hash;
    }

    function formatValue(ctx, value, recurseTimes) {
      ctx.formatValueCalls++;

      if (ctx.formatValueCalls > 200) {
        return "[TOO BIG formatValueCalls " + ctx.formatValueCalls + " exceeded limit of 200]";
      }

      var primitive = formatPrimitive(ctx, value);

      if (primitive) {
        return primitive;
      }

      var keys = Object.keys(value);
      var visibleKeys = arrayToHash(keys);

      if (isError(value) && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {
        return formatError(value);
      }

      if (keys.length === 0) {
        if (isFunction(value)) {
          var name = value.name ? ': ' + value.name : '';
          return ctx.stylize('[Function' + name + ']', 'special');
        }

        if (isRegExp(value)) {
          return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
        }

        if (isDate(value)) {
          return ctx.stylize(Date.prototype.toString.call(value), 'date');
        }

        if (isError(value)) {
          return formatError(value);
        }
      }

      var base = '',
          array = false,
          braces = ['{', '}'];

      if (isArray(value)) {
        array = true;
        braces = ['[', ']'];
      }

      if (isFunction(value)) {
        var n = value.name ? ': ' + value.name : '';
        base = ' [Function' + n + ']';
      }

      if (isRegExp(value)) {
        base = ' ' + RegExp.prototype.toString.call(value);
      }

      if (isDate(value)) {
        base = ' ' + Date.prototype.toUTCString.call(value);
      }

      if (isError(value)) {
        base = ' ' + formatError(value);
      }

      if (keys.length === 0 && (!array || value.length == 0)) {
        return braces[0] + base + braces[1];
      }

      if (recurseTimes < 0) {
        if (isRegExp(value)) {
          return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
        } else {
          return ctx.stylize('[Object]', 'special');
        }
      }

      ctx.seen.push(value);
      var output;

      if (array) {
        output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
      } else {
        output = keys.map(function (key) {
          return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
        });
      }

      ctx.seen.pop();
      return reduceToSingleString(output, base, braces);
    }

    function formatPrimitive(ctx, value) {
      if (isUndefined(value)) return ctx.stylize('undefined', 'undefined');

      if (isString(value)) {
        var simple = "'" + JSON.stringify(value).replace(/^"|"$/g, '').replace(/'/g, "\\'").replace(/\\"/g, '"') + "'";
        return ctx.stylize(simple, 'string');
      }

      if (isNumber(value)) return ctx.stylize('' + value, 'number');
      if (isBoolean(value)) return ctx.stylize('' + value, 'boolean');
      if (isNull(value)) return ctx.stylize('null', 'null');
    }

    function formatError(value) {
      return '[' + Error.prototype.toString.call(value) + ']';
    }

    function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
      var output = [];

      for (var i = 0, l = value.length; i < l; ++i) {
        if (hasOwnProperty(value, String(i))) {
          output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), true));
        } else {
          output.push('');
        }
      }

      keys.forEach(function (key) {
        if (!key.match(/^\d+$/)) {
          output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, true));
        }
      });
      return output;
    }

    function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
      var name, str, desc;
      desc = Object.getOwnPropertyDescriptor(value, key) || {
        value: value[key]
      };

      if (desc.get) {
        if (desc.set) {
          str = ctx.stylize('[Getter/Setter]', 'special');
        } else {
          str = ctx.stylize('[Getter]', 'special');
        }
      } else {
        if (desc.set) {
          str = ctx.stylize('[Setter]', 'special');
        }
      }

      if (!hasOwnProperty(visibleKeys, key)) {
        name = '[' + key + ']';
      }

      if (!str) {
        if (ctx.seen.indexOf(desc.value) < 0) {
          if (isNull(recurseTimes)) {
            str = formatValue(ctx, desc.value, null);
          } else {
            str = formatValue(ctx, desc.value, recurseTimes - 1);
          }

          if (str.indexOf('\n') > -1) {
            if (array) {
              str = str.split('\n').map(function (line) {
                return '  ' + line;
              }).join('\n').substr(2);
            } else {
              str = '\n' + str.split('\n').map(function (line) {
                return '   ' + line;
              }).join('\n');
            }
          }
        } else {
          str = ctx.stylize('[Circular]', 'special');
        }
      }

      if (isUndefined(name)) {
        if (array && key.match(/^\d+$/)) {
          return str;
        }

        name = JSON.stringify('' + key);

        if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
          name = name.substr(1, name.length - 2);
          name = ctx.stylize(name, 'name');
        } else {
          name = name.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'");
          name = ctx.stylize(name, 'string');
        }
      }

      return name + ': ' + str;
    }

    function reduceToSingleString(output, base, braces) {
      var numLinesEst = 0;
      var length = output.reduce(function (prev, cur) {
        numLinesEst++;
        if (cur.indexOf('\n') >= 0) numLinesEst++;
        return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
      }, 0);

      if (length > 60) {
        return braces[0] + (base === '' ? '' : base + '\n ') + ' ' + output.join(',\n  ') + ' ' + braces[1];
      }

      return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
    }

    function isArray(ar) {
      return Array.isArray(ar);
    }

    function isBoolean(arg) {
      return typeof arg === 'boolean';
    }

    function isNull(arg) {
      return arg === null;
    }

    function isNumber(arg) {
      return typeof arg === 'number';
    }

    function isString(arg) {
      return typeof arg === 'string';
    }

    function isUndefined(arg) {
      return arg === undefined;
    }

    function isRegExp(re) {
      return isObject(re) && objectToString(re) === '[object RegExp]';
    }

    function isObject(arg) {
      return typeof arg === 'object' && arg !== null;
    }

    function isDate(d) {
      return isObject(d) && objectToString(d) === '[object Date]';
    }

    function isError(e) {
      return isObject(e) && (objectToString(e) === '[object Error]' || e instanceof Error);
    }

    function isFunction(arg) {
      return typeof arg === 'function';
    }

    function objectToString(o) {
      return Object.prototype.toString.call(o);
    }

    function hasOwnProperty(obj, prop) {
      return Object.prototype.hasOwnProperty.call(obj, prop);
    }

    return inspect;
  }();

  var OBJECT_COLUMN_NAME = '(index)';
  var LOG_LEVELS = {
    trace: 0,
    info: 1,
    warn: 2,
    error: 3
  };
  var INSPECTOR_LEVELS = [];
  INSPECTOR_LEVELS[LOG_LEVELS.trace] = 'debug';
  INSPECTOR_LEVELS[LOG_LEVELS.info] = 'log';
  INSPECTOR_LEVELS[LOG_LEVELS.warn] = 'warning';
  INSPECTOR_LEVELS[LOG_LEVELS.error] = 'error';
  var INSPECTOR_FRAMES_TO_SKIP = 1;

  function getNativeLogFunction(level) {
    return function () {
      var str;

      if (arguments.length === 1 && typeof arguments[0] === 'string') {
        str = arguments[0];
      } else {
        str = Array.prototype.map.call(arguments, function (arg) {
          return inspect(arg, {
            depth: 10
          });
        }).join(', ');
      }

      var firstArg = arguments[0];
      var logLevel = level;

      if (typeof firstArg === 'string' && firstArg.slice(0, 9) === 'Warning: ' && logLevel >= LOG_LEVELS.error) {
        logLevel = LOG_LEVELS.warn;
      }

      if (global.__inspectorLog) {
        global.__inspectorLog(INSPECTOR_LEVELS[logLevel], str, [].slice.call(arguments), INSPECTOR_FRAMES_TO_SKIP);
      }

      if (groupStack.length) {
        str = groupFormat('', str);
      }

      global.nativeLoggingHook(str, logLevel);
    };
  }

  function repeat(element, n) {
    return Array.apply(null, Array(n)).map(function () {
      return element;
    });
  }

  function consoleTablePolyfill(rows) {
    if (!Array.isArray(rows)) {
      var data = rows;
      rows = [];

      for (var key in data) {
        if (data.hasOwnProperty(key)) {
          var row = data[key];
          row[OBJECT_COLUMN_NAME] = key;
          rows.push(row);
        }
      }
    }

    if (rows.length === 0) {
      global.nativeLoggingHook('', LOG_LEVELS.info);
      return;
    }

    var columns = Object.keys(rows[0]).sort();
    var stringRows = [];
    var columnWidths = [];
    columns.forEach(function (k, i) {
      columnWidths[i] = k.length;

      for (var j = 0; j < rows.length; j++) {
        var cellStr = (rows[j][k] || '?').toString();
        stringRows[j] = stringRows[j] || [];
        stringRows[j][i] = cellStr;
        columnWidths[i] = Math.max(columnWidths[i], cellStr.length);
      }
    });

    function joinRow(row, space) {
      var cells = row.map(function (cell, i) {
        var extraSpaces = repeat(' ', columnWidths[i] - cell.length).join('');
        return cell + extraSpaces;
      });
      space = space || ' ';
      return cells.join(space + '|' + space);
    }

    var separators = columnWidths.map(function (columnWidth) {
      return repeat('-', columnWidth).join('');
    });
    var separatorRow = joinRow(separators, '-');
    var header = joinRow(columns);
    var table = [header, separatorRow];

    for (var i = 0; i < rows.length; i++) {
      table.push(joinRow(stringRows[i]));
    }

    global.nativeLoggingHook('\n' + table.join('\n'), LOG_LEVELS.info);
  }

  var GROUP_PAD = "\u2502";
  var GROUP_OPEN = "\u2510";
  var GROUP_CLOSE = "\u2518";
  var groupStack = [];

  function groupFormat(prefix, msg) {
    return groupStack.join('') + prefix + ' ' + (msg || '');
  }

  function consoleGroupPolyfill(label) {
    global.nativeLoggingHook(groupFormat(GROUP_OPEN, label), LOG_LEVELS.info);
    groupStack.push(GROUP_PAD);
  }

  function consoleGroupCollapsedPolyfill(label) {
    global.nativeLoggingHook(groupFormat(GROUP_CLOSE, label), LOG_LEVELS.info);
    groupStack.push(GROUP_PAD);
  }

  function consoleGroupEndPolyfill() {
    groupStack.pop();
    global.nativeLoggingHook(groupFormat(GROUP_CLOSE), LOG_LEVELS.info);
  }

  function consoleAssertPolyfill(expression, label) {
    if (!expression) {
      global.nativeLoggingHook('Assertion failed: ' + label, LOG_LEVELS.error);
    }
  }

  if (global.nativeLoggingHook) {
    var originalConsole = global.console;
    global.console = {
      error: getNativeLogFunction(LOG_LEVELS.error),
      info: getNativeLogFunction(LOG_LEVELS.info),
      log: getNativeLogFunction(LOG_LEVELS.info),
      warn: getNativeLogFunction(LOG_LEVELS.warn),
      trace: getNativeLogFunction(LOG_LEVELS.trace),
      debug: getNativeLogFunction(LOG_LEVELS.trace),
      table: consoleTablePolyfill,
      group: consoleGroupPolyfill,
      groupEnd: consoleGroupEndPolyfill,
      groupCollapsed: consoleGroupCollapsedPolyfill,
      assert: consoleAssertPolyfill
    };
    Object.defineProperty(console, '_isPolyfilled', {
      value: true,
      enumerable: false
    });
  } else if (!global.console) {
    function stub() {}

    var log = global.print || stub;
    global.console = {
      debug: log,
      error: log,
      info: log,
      log: log,
      trace: log,
      warn: log,
      assert: function assert(expression, label) {
        if (!expression) {
          log('Assertion failed: ' + label);
        }
      },
      clear: stub,
      dir: stub,
      dirxml: stub,
      group: stub,
      groupCollapsed: stub,
      groupEnd: stub,
      profile: stub,
      profileEnd: stub,
      table: stub
    };
    Object.defineProperty(console, '_isPolyfilled', {
      value: true,
      enumerable: false
    });
  }
})(typeof globalThis !== 'undefined' ? globalThis : typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this);
(function (global) {
  var _inGuard = 0;

  var _globalHandler = function onError(e, isFatal) {
    throw e;
  };

  var ErrorUtils = {
    setGlobalHandler: function setGlobalHandler(fun) {
      _globalHandler = fun;
    },
    getGlobalHandler: function getGlobalHandler() {
      return _globalHandler;
    },
    reportError: function reportError(error) {
      _globalHandler && _globalHandler(error, false);
    },
    reportFatalError: function reportFatalError(error) {
      _globalHandler && _globalHandler(error, true);
    },
    applyWithGuard: function applyWithGuard(fun, context, args, unused_onError, unused_name) {
      try {
        _inGuard++;
        return fun.apply(context, args);
      } catch (e) {
        ErrorUtils.reportError(e);
      } finally {
        _inGuard--;
      }

      return null;
    },
    applyWithGuardIfNeeded: function applyWithGuardIfNeeded(fun, context, args) {
      if (ErrorUtils.inGuard()) {
        return fun.apply(context, args);
      } else {
        ErrorUtils.applyWithGuard(fun, context, args);
      }

      return null;
    },
    inGuard: function inGuard() {
      return !!_inGuard;
    },
    guard: function guard(fun, name, context) {
      var _ref;

      if (typeof fun !== 'function') {
        console.warn('A function must be passed to ErrorUtils.guard, got ', fun);
        return null;
      }

      var guardName = (_ref = name != null ? name : fun.name) != null ? _ref : '<generated guard>';

      function guarded() {
        for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
          args[_key] = arguments[_key];
        }

        return ErrorUtils.applyWithGuard(fun, context != null ? context : this, args, null, guardName);
      }

      return guarded;
    }
  };
  global.ErrorUtils = ErrorUtils;
})(typeof globalThis !== 'undefined' ? globalThis : typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this);
(function (global) {
  (function () {
    'use strict';

    var hasOwnProperty = Object.prototype.hasOwnProperty;

    if (typeof Object.entries !== 'function') {
      Object.entries = function (object) {
        if (object == null) {
          throw new TypeError('Object.entries called on non-object');
        }

        var entries = [];

        for (var key in object) {
          if (hasOwnProperty.call(object, key)) {
            entries.push([key, object[key]]);
          }
        }

        return entries;
      };
    }

    if (typeof Object.values !== 'function') {
      Object.values = function (object) {
        if (object == null) {
          throw new TypeError('Object.values called on non-object');
        }

        var values = [];

        for (var key in object) {
          if (hasOwnProperty.call(object, key)) {
            values.push(object[key]);
          }
        }

        return values;
      };
    }
  })();
})(typeof globalThis !== 'undefined' ? globalThis : typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  _$$_REQUIRE(_dependencyMap[0]);

  _$$_REQUIRE(_dependencyMap[1]);

  _$$_REQUIRE(_dependencyMap[2]);
},0,[1,428,2133]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "Directions", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).Directions;
    }
  });
  Object.defineProperty(exports, "State", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[1]).State;
    }
  });
  Object.defineProperty(exports, "gestureHandlerRootHOC", {
    enumerable: true,
    get: function get() {
      return _gestureHandlerRootHOC.default;
    }
  });
  Object.defineProperty(exports, "GestureHandlerRootView", {
    enumerable: true,
    get: function get() {
      return _GestureHandlerRootView.default;
    }
  });
  Object.defineProperty(exports, "TapGestureHandler", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[2]).TapGestureHandler;
    }
  });
  Object.defineProperty(exports, "ForceTouchGestureHandler", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[2]).ForceTouchGestureHandler;
    }
  });
  Object.defineProperty(exports, "LongPressGestureHandler", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[2]).LongPressGestureHandler;
    }
  });
  Object.defineProperty(exports, "PanGestureHandler", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[2]).PanGestureHandler;
    }
  });
  Object.defineProperty(exports, "PinchGestureHandler", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[2]).PinchGestureHandler;
    }
  });
  Object.defineProperty(exports, "RotationGestureHandler", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[2]).RotationGestureHandler;
    }
  });
  Object.defineProperty(exports, "FlingGestureHandler", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[2]).FlingGestureHandler;
    }
  });
  Object.defineProperty(exports, "createNativeWrapper", {
    enumerable: true,
    get: function get() {
      return _createNativeWrapper.default;
    }
  });
  Object.defineProperty(exports, "NativeViewGestureHandler", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).NativeViewGestureHandler;
    }
  });
  Object.defineProperty(exports, "RawButton", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[4]).RawButton;
    }
  });
  Object.defineProperty(exports, "BaseButton", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[4]).BaseButton;
    }
  });
  Object.defineProperty(exports, "RectButton", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[4]).RectButton;
    }
  });
  Object.defineProperty(exports, "BorderlessButton", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[4]).BorderlessButton;
    }
  });
  Object.defineProperty(exports, "TouchableHighlight", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[5]).TouchableHighlight;
    }
  });
  Object.defineProperty(exports, "TouchableNativeFeedback", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[5]).TouchableNativeFeedback;
    }
  });
  Object.defineProperty(exports, "TouchableOpacity", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[5]).TouchableOpacity;
    }
  });
  Object.defineProperty(exports, "TouchableWithoutFeedback", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[5]).TouchableWithoutFeedback;
    }
  });
  Object.defineProperty(exports, "ScrollView", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[6]).ScrollView;
    }
  });
  Object.defineProperty(exports, "Switch", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[6]).Switch;
    }
  });
  Object.defineProperty(exports, "TextInput", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[6]).TextInput;
    }
  });
  Object.defineProperty(exports, "DrawerLayoutAndroid", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[6]).DrawerLayoutAndroid;
    }
  });
  Object.defineProperty(exports, "FlatList", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[6]).FlatList;
    }
  });
  Object.defineProperty(exports, "Swipeable", {
    enumerable: true,
    get: function get() {
      return _Swipeable.default;
    }
  });
  Object.defineProperty(exports, "DrawerLayout", {
    enumerable: true,
    get: function get() {
      return _DrawerLayout.default;
    }
  });

  var _gestureHandlerRootHOC = _$$_REQUIRE(_dependencyMap[7])(_$$_REQUIRE(_dependencyMap[8]));

  var _GestureHandlerRootView = _$$_REQUIRE(_dependencyMap[7])(_$$_REQUIRE(_dependencyMap[9]));

  var _createNativeWrapper = _$$_REQUIRE(_dependencyMap[7])(_$$_REQUIRE(_dependencyMap[10]));

  var _Swipeable = _$$_REQUIRE(_dependencyMap[7])(_$$_REQUIRE(_dependencyMap[11]));

  var _DrawerLayout = _$$_REQUIRE(_dependencyMap[7])(_$$_REQUIRE(_dependencyMap[12]));
},1,[2,3,4,410,411,414,420,5,421,425,412,426,427]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Directions = undefined;
  var Directions = {
    RIGHT: 1,
    LEFT: 2,
    UP: 4,
    DOWN: 8
  };
  exports.Directions = Directions;
},2,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.State = undefined;
  var State = {
    UNDETERMINED: 0,
    FAILED: 1,
    BEGAN: 2,
    CANCELLED: 3,
    ACTIVE: 4,
    END: 5
  };
  exports.State = State;
},3,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.RotationGestureHandler = exports.PinchGestureHandler = exports.PanGestureHandler = exports.LongPressGestureHandler = exports.ForceTouchGestureHandler = exports.FlingGestureHandler = exports.TapGestureHandler = exports.baseProps = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _createHandler = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _PlatformConstants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var baseProps = ['id', 'enabled', 'minPointers', 'waitFor', 'simultaneousHandlers', 'shouldCancelWhenOutside', 'hitSlop', 'onBegan', 'onFailed', 'onCancelled', 'onActivated', 'onEnded', 'onGestureEvent', 'onHandlerStateChange'];
  exports.baseProps = baseProps;
  var TapGestureHandler = (0, _createHandler.default)({
    name: 'TapGestureHandler',
    allowedProps: [].concat(baseProps, ['maxDurationMs', 'maxDelayMs', 'numberOfTaps', 'maxDeltaX', 'maxDeltaY', 'maxDist', 'minPointers']),
    config: {}
  });
  exports.TapGestureHandler = TapGestureHandler;
  var FlingGestureHandler = (0, _createHandler.default)({
    name: 'FlingGestureHandler',
    allowedProps: [].concat(baseProps, ['numberOfPointers', 'direction']),
    config: {}
  });
  exports.FlingGestureHandler = FlingGestureHandler;

  var ForceTouchFallback = function (_React$Component) {
    (0, _inherits2.default)(ForceTouchFallback, _React$Component);

    var _super = _createSuper(ForceTouchFallback);

    function ForceTouchFallback() {
      (0, _classCallCheck2.default)(this, ForceTouchFallback);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(ForceTouchFallback, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        console.warn('ForceTouchGestureHandler is not available on this platform. Please use ForceTouchGestureHandler.forceTouchAvailable to conditionally render other components that would provide a fallback behavior specific to your usecase');
      }
    }, {
      key: "render",
      value: function render() {
        return this.props.children;
      }
    }]);
    return ForceTouchFallback;
  }(React.Component);

  ForceTouchFallback.forceTouchAvailable = false;
  var ForceTouchGestureHandler = _PlatformConstants.default != null && _PlatformConstants.default.forceTouchAvailable ? (0, _createHandler.default)({
    name: 'ForceTouchGestureHandler',
    allowedProps: [].concat(baseProps, ['minForce', 'maxForce', 'feedbackOnActivation']),
    config: {}
  }) : ForceTouchFallback;
  exports.ForceTouchGestureHandler = ForceTouchGestureHandler;
  ForceTouchGestureHandler.forceTouchAvailable = (_PlatformConstants.default == null ? undefined : _PlatformConstants.default.forceTouchAvailable) || false;
  var LongPressGestureHandler = (0, _createHandler.default)({
    name: 'LongPressGestureHandler',
    allowedProps: [].concat(baseProps, ['minDurationMs', 'maxDist']),
    config: {}
  });
  exports.LongPressGestureHandler = LongPressGestureHandler;

  function transformPanGestureHandlerProps(props) {
    var res = (0, _extends2.default)({}, props);

    if (props.minDeltaX !== undefined) {
      delete res.minDeltaX;
      res.activeOffsetXStart = -props.minDeltaX;
      res.activeOffsetXEnd = props.minDeltaX;
    }

    if (props.maxDeltaX !== undefined) {
      delete res.maxDeltaX;
      res.failOffsetXStart = -props.maxDeltaX;
      res.failOffsetXEnd = props.maxDeltaX;
    }

    if (props.minOffsetX !== undefined) {
      delete res.minOffsetX;

      if (props.minOffsetX < 0) {
        res.activeOffsetXStart = props.minOffsetX;
      } else {
        res.activeOffsetXEnd = props.minOffsetX;
      }
    }

    if (props.minDeltaY !== undefined) {
      delete res.minDeltaY;
      res.activeOffsetYStart = -props.minDeltaY;
      res.activeOffsetYEnd = props.minDeltaY;
    }

    if (props.maxDeltaY !== undefined) {
      delete res.maxDeltaY;
      res.failOffsetYStart = -props.maxDeltaY;
      res.failOffsetYEnd = props.maxDeltaY;
    }

    if (props.minOffsetY !== undefined) {
      delete res.minOffsetY;

      if (props.minOffsetY < 0) {
        res.activeOffsetYStart = props.minOffsetY;
      } else {
        res.activeOffsetYEnd = props.minOffsetY;
      }
    }

    if (props.activeOffsetX !== undefined) {
      delete res.activeOffsetX;

      if (Array.isArray(props.activeOffsetX)) {
        res.activeOffsetXStart = props.activeOffsetX[0];
        res.activeOffsetXEnd = props.activeOffsetX[1];
      } else if (props.activeOffsetX < 0) {
        res.activeOffsetXStart = props.activeOffsetX;
      } else {
        res.activeOffsetXEnd = props.activeOffsetX;
      }
    }

    if (props.activeOffsetY !== undefined) {
      delete res.activeOffsetY;

      if (Array.isArray(props.activeOffsetY)) {
        res.activeOffsetYStart = props.activeOffsetY[0];
        res.activeOffsetYEnd = props.activeOffsetY[1];
      } else if (props.activeOffsetY < 0) {
        res.activeOffsetYStart = props.activeOffsetY;
      } else {
        res.activeOffsetYEnd = props.activeOffsetY;
      }
    }

    if (props.failOffsetX !== undefined) {
      delete res.failOffsetX;

      if (Array.isArray(props.failOffsetX)) {
        res.failOffsetXStart = props.failOffsetX[0];
        res.failOffsetXEnd = props.failOffsetX[1];
      } else if (props.failOffsetX < 0) {
        res.failOffsetXStart = props.failOffsetX;
      } else {
        res.failOffsetXEnd = props.failOffsetX;
      }
    }

    if (props.failOffsetY !== undefined) {
      delete res.failOffsetY;

      if (Array.isArray(props.failOffsetY)) {
        res.failOffsetYStart = props.failOffsetY[0];
        res.failOffsetYEnd = props.failOffsetY[1];
      } else if (props.failOffsetY < 0) {
        res.failOffsetYStart = props.failOffsetY;
      } else {
        res.failOffsetYEnd = props.failOffsetY;
      }
    }

    return res;
  }

  function managePanProps(props) {
    return transformPanGestureHandlerProps(props);
  }

  var PanGestureHandler = (0, _createHandler.default)({
    name: 'PanGestureHandler',
    allowedProps: [].concat(baseProps, ['activeOffsetY', 'activeOffsetX', 'failOffsetY', 'failOffsetX', 'minDist', 'minVelocity', 'minVelocityX', 'minVelocityY', 'minPointers', 'maxPointers', 'avgTouches', 'enableTrackpadTwoFingerGesture']),
    config: {},
    transformProps: managePanProps,
    customNativeProps: ['activeOffsetYStart', 'activeOffsetYEnd', 'activeOffsetXStart', 'activeOffsetXEnd', 'failOffsetYStart', 'failOffsetYEnd', 'failOffsetXStart', 'failOffsetXEnd']
  });
  exports.PanGestureHandler = PanGestureHandler;
  var PinchGestureHandler = (0, _createHandler.default)({
    name: 'PinchGestureHandler',
    allowedProps: baseProps,
    config: {}
  });
  exports.PinchGestureHandler = PinchGestureHandler;
  var RotationGestureHandler = (0, _createHandler.default)({
    name: 'RotationGestureHandler',
    allowedProps: baseProps,
    config: {}
  });
  exports.RotationGestureHandler = RotationGestureHandler;
},4,[5,6,7,8,12,14,16,17,20,409]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _interopRequireDefault(obj) {
    return obj && obj.__esModule ? obj : {
      "default": obj
    };
  }

  module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
},5,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _extends() {
    module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {
      for (var i = 1; i < arguments.length; i++) {
        var source = arguments[i];

        for (var key in source) {
          if (Object.prototype.hasOwnProperty.call(source, key)) {
            target[key] = source[key];
          }
        }
      }

      return target;
    }, module.exports.__esModule = true, module.exports["default"] = module.exports;
    return _extends.apply(this, arguments);
  }

  module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports;
},6,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _classCallCheck(instance, Constructor) {
    if (!(instance instanceof Constructor)) {
      throw new TypeError("Cannot call a class as a function");
    }
  }

  module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
},7,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _defineProperties(target, props) {
    for (var i = 0; i < props.length; i++) {
      var descriptor = props[i];
      descriptor.enumerable = descriptor.enumerable || false;
      descriptor.configurable = true;
      if ("value" in descriptor) descriptor.writable = true;
      Object.defineProperty(target, _$$_REQUIRE(_dependencyMap[0])(descriptor.key), descriptor);
    }
  }

  function _createClass(Constructor, protoProps, staticProps) {
    if (protoProps) _defineProperties(Constructor.prototype, protoProps);
    if (staticProps) _defineProperties(Constructor, staticProps);
    Object.defineProperty(Constructor, "prototype", {
      writable: false
    });
    return Constructor;
  }

  module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
},8,[9]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function toPropertyKey(t) {
    var i = _$$_REQUIRE(_dependencyMap[0])(t, "string");

    return "symbol" == _$$_REQUIRE(_dependencyMap[1])["default"](i) ? i : String(i);
  }

  module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
},9,[10,11]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function toPrimitive(t, r) {
    if ("object" != _$$_REQUIRE(_dependencyMap[0])["default"](t) || !t) return t;
    var e = t[Symbol.toPrimitive];

    if (undefined !== e) {
      var i = e.call(t, r || "default");
      if ("object" != _$$_REQUIRE(_dependencyMap[0])["default"](i)) return i;
      throw new TypeError("@@toPrimitive must return a primitive value.");
    }

    return ("string" === r ? String : Number)(t);
  }

  module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
},10,[11]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _typeof(o) {
    "@babel/helpers - typeof";

    return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
      return typeof o;
    } : function (o) {
      return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
    }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o);
  }

  module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
},11,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _inherits(subClass, superClass) {
    if (typeof superClass !== "function" && superClass !== null) {
      throw new TypeError("Super expression must either be null or a function");
    }

    subClass.prototype = Object.create(superClass && superClass.prototype, {
      constructor: {
        value: subClass,
        writable: true,
        configurable: true
      }
    });
    Object.defineProperty(subClass, "prototype", {
      writable: false
    });
    if (superClass) _$$_REQUIRE(_dependencyMap[0])(subClass, superClass);
  }

  module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
},12,[13]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _setPrototypeOf(o, p) {
    module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
      o.__proto__ = p;
      return o;
    }, module.exports.__esModule = true, module.exports["default"] = module.exports;
    return _setPrototypeOf(o, p);
  }

  module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
},13,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _possibleConstructorReturn(self, call) {
    if (call && (_$$_REQUIRE(_dependencyMap[0])["default"](call) === "object" || typeof call === "function")) {
      return call;
    } else if (call !== undefined) {
      throw new TypeError("Derived constructors may only return object or undefined");
    }

    return _$$_REQUIRE(_dependencyMap[1])(self);
  }

  module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
},14,[11,15]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _assertThisInitialized(self) {
    if (self === undefined) {
      throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
    }

    return self;
  }

  module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
},15,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _getPrototypeOf(o) {
    module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
      return o.__proto__ || Object.getPrototypeOf(o);
    }, module.exports.__esModule = true, module.exports["default"] = module.exports;
    return _getPrototypeOf(o);
  }

  module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
},16,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  {
    module.exports = _$$_REQUIRE(_dependencyMap[0]);
  }
},17,[18]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  /** @license React v17.0.2
   * react.production.min.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  'use strict';

  var n = 60103,
      p = 60106;
  exports.Fragment = 60107;
  exports.StrictMode = 60108;
  exports.Profiler = 60114;
  var q = 60109,
      r = 60110,
      t = 60112;
  exports.Suspense = 60113;
  var u = 60115,
      v = 60116;

  if ("function" === typeof Symbol && Symbol.for) {
    var w = Symbol.for;
    n = w("react.element");
    p = w("react.portal");
    exports.Fragment = w("react.fragment");
    exports.StrictMode = w("react.strict_mode");
    exports.Profiler = w("react.profiler");
    q = w("react.provider");
    r = w("react.context");
    t = w("react.forward_ref");
    exports.Suspense = w("react.suspense");
    u = w("react.memo");
    v = w("react.lazy");
  }

  var x = "function" === typeof Symbol && Symbol.iterator;

  function y(a) {
    if (null === a || "object" !== typeof a) return null;
    a = x && a[x] || a["@@iterator"];
    return "function" === typeof a ? a : null;
  }

  function z(a) {
    for (var b = "https://reactjs.org/docs/error-decoder.html?invariant=" + a, c = 1; c < arguments.length; c++) {
      b += "&args[]=" + encodeURIComponent(arguments[c]);
    }

    return "Minified React error #" + a + "; visit " + b + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";
  }

  var A = {
    isMounted: function isMounted() {
      return false;
    },
    enqueueForceUpdate: function enqueueForceUpdate() {},
    enqueueReplaceState: function enqueueReplaceState() {},
    enqueueSetState: function enqueueSetState() {}
  },
      B = {};

  function C(a, b, c) {
    this.props = a;
    this.context = b;
    this.refs = B;
    this.updater = c || A;
  }

  C.prototype.isReactComponent = {};

  C.prototype.setState = function (a, b) {
    if ("object" !== typeof a && "function" !== typeof a && null != a) throw Error(z(85));
    this.updater.enqueueSetState(this, a, b, "setState");
  };

  C.prototype.forceUpdate = function (a) {
    this.updater.enqueueForceUpdate(this, a, "forceUpdate");
  };

  function D() {}

  D.prototype = C.prototype;

  function E(a, b, c) {
    this.props = a;
    this.context = b;
    this.refs = B;
    this.updater = c || A;
  }

  var F = E.prototype = new D();
  F.constructor = E;

  _$$_REQUIRE(_dependencyMap[0])(F, C.prototype);

  F.isPureReactComponent = true;
  var G = {
    current: null
  },
      H = Object.prototype.hasOwnProperty,
      I = {
    key: true,
    ref: true,
    __self: true,
    __source: true
  };

  function J(a, b, c) {
    var e,
        d = {},
        k = null,
        h = null;
    if (null != b) for (e in undefined !== b.ref && (h = b.ref), undefined !== b.key && (k = "" + b.key), b) {
      H.call(b, e) && !I.hasOwnProperty(e) && (d[e] = b[e]);
    }
    var g = arguments.length - 2;
    if (1 === g) d.children = c;else if (1 < g) {
      for (var f = Array(g), m = 0; m < g; m++) {
        f[m] = arguments[m + 2];
      }

      d.children = f;
    }
    if (a && a.defaultProps) for (e in g = a.defaultProps, g) {
      undefined === d[e] && (d[e] = g[e]);
    }
    return {
      $$typeof: n,
      type: a,
      key: k,
      ref: h,
      props: d,
      _owner: G.current
    };
  }

  function K(a, b) {
    return {
      $$typeof: n,
      type: a.type,
      key: b,
      ref: a.ref,
      props: a.props,
      _owner: a._owner
    };
  }

  function L(a) {
    return "object" === typeof a && null !== a && a.$$typeof === n;
  }

  function escape(a) {
    var b = {
      "=": "=0",
      ":": "=2"
    };
    return "$" + a.replace(/[=:]/g, function (a) {
      return b[a];
    });
  }

  var M = /\/+/g;

  function N(a, b) {
    return "object" === typeof a && null !== a && null != a.key ? escape("" + a.key) : b.toString(36);
  }

  function O(a, b, c, e, d) {
    var k = typeof a;
    if ("undefined" === k || "boolean" === k) a = null;
    var h = false;
    if (null === a) h = true;else switch (k) {
      case "string":
      case "number":
        h = true;
        break;

      case "object":
        switch (a.$$typeof) {
          case n:
          case p:
            h = true;
        }

    }
    if (h) return h = a, d = d(h), a = "" === e ? "." + N(h, 0) : e, Array.isArray(d) ? (c = "", null != a && (c = a.replace(M, "$&/") + "/"), O(d, b, c, "", function (a) {
      return a;
    })) : null != d && (L(d) && (d = K(d, c + (!d.key || h && h.key === d.key ? "" : ("" + d.key).replace(M, "$&/") + "/") + a)), b.push(d)), 1;
    h = 0;
    e = "" === e ? "." : e + ":";
    if (Array.isArray(a)) for (var g = 0; g < a.length; g++) {
      k = a[g];
      var f = e + N(k, g);
      h += O(k, b, c, f, d);
    } else if (f = y(a), "function" === typeof f) for (a = f.call(a), g = 0; !(k = a.next()).done;) {
      k = k.value, f = e + N(k, g++), h += O(k, b, c, f, d);
    } else if ("object" === k) throw b = "" + a, Error(z(31, "[object Object]" === b ? "object with keys {" + Object.keys(a).join(", ") + "}" : b));
    return h;
  }

  function P(a, b, c) {
    if (null == a) return a;
    var e = [],
        d = 0;
    O(a, e, "", "", function (a) {
      return b.call(c, a, d++);
    });
    return e;
  }

  function Q(a) {
    if (-1 === a._status) {
      var b = a._result;
      b = b();
      a._status = 0;
      a._result = b;
      b.then(function (b) {
        0 === a._status && (b = b.default, a._status = 1, a._result = b);
      }, function (b) {
        0 === a._status && (a._status = 2, a._result = b);
      });
    }

    if (1 === a._status) return a._result;
    throw a._result;
  }

  var R = {
    current: null
  };

  function S() {
    var a = R.current;
    if (null === a) throw Error(z(321));
    return a;
  }

  var T = {
    ReactCurrentDispatcher: R,
    ReactCurrentBatchConfig: {
      transition: 0
    },
    ReactCurrentOwner: G,
    IsSomeRendererActing: {
      current: false
    },
    assign: _$$_REQUIRE(_dependencyMap[0])
  };
  exports.Children = {
    map: P,
    forEach: function forEach(a, b, c) {
      P(a, function () {
        b.apply(this, arguments);
      }, c);
    },
    count: function count(a) {
      var b = 0;
      P(a, function () {
        b++;
      });
      return b;
    },
    toArray: function toArray(a) {
      return P(a, function (a) {
        return a;
      }) || [];
    },
    only: function only(a) {
      if (!L(a)) throw Error(z(143));
      return a;
    }
  };
  exports.Component = C;
  exports.PureComponent = E;
  exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = T;

  exports.cloneElement = function (a, b, c) {
    if (null === a || undefined === a) throw Error(z(267, a));

    var e = _$$_REQUIRE(_dependencyMap[0])({}, a.props),
        d = a.key,
        k = a.ref,
        h = a._owner;

    if (null != b) {
      undefined !== b.ref && (k = b.ref, h = G.current);
      undefined !== b.key && (d = "" + b.key);
      if (a.type && a.type.defaultProps) var g = a.type.defaultProps;

      for (f in b) {
        H.call(b, f) && !I.hasOwnProperty(f) && (e[f] = undefined === b[f] && undefined !== g ? g[f] : b[f]);
      }
    }

    var f = arguments.length - 2;
    if (1 === f) e.children = c;else if (1 < f) {
      g = Array(f);

      for (var m = 0; m < f; m++) {
        g[m] = arguments[m + 2];
      }

      e.children = g;
    }
    return {
      $$typeof: n,
      type: a.type,
      key: d,
      ref: k,
      props: e,
      _owner: h
    };
  };

  exports.createContext = function (a, b) {
    undefined === b && (b = null);
    a = {
      $$typeof: r,
      _calculateChangedBits: b,
      _currentValue: a,
      _currentValue2: a,
      _threadCount: 0,
      Provider: null,
      Consumer: null
    };
    a.Provider = {
      $$typeof: q,
      _context: a
    };
    return a.Consumer = a;
  };

  exports.createElement = J;

  exports.createFactory = function (a) {
    var b = J.bind(null, a);
    b.type = a;
    return b;
  };

  exports.createRef = function () {
    return {
      current: null
    };
  };

  exports.forwardRef = function (a) {
    return {
      $$typeof: t,
      render: a
    };
  };

  exports.isValidElement = L;

  exports.lazy = function (a) {
    return {
      $$typeof: v,
      _payload: {
        _status: -1,
        _result: a
      },
      _init: Q
    };
  };

  exports.memo = function (a, b) {
    return {
      $$typeof: u,
      type: a,
      compare: undefined === b ? null : b
    };
  };

  exports.useCallback = function (a, b) {
    return S().useCallback(a, b);
  };

  exports.useContext = function (a, b) {
    return S().useContext(a, b);
  };

  exports.useDebugValue = function () {};

  exports.useEffect = function (a, b) {
    return S().useEffect(a, b);
  };

  exports.useImperativeHandle = function (a, b, c) {
    return S().useImperativeHandle(a, b, c);
  };

  exports.useLayoutEffect = function (a, b) {
    return S().useLayoutEffect(a, b);
  };

  exports.useMemo = function (a, b) {
    return S().useMemo(a, b);
  };

  exports.useReducer = function (a, b, c) {
    return S().useReducer(a, b, c);
  };

  exports.useRef = function (a) {
    return S().useRef(a);
  };

  exports.useState = function (a) {
    return S().useState(a);
  };

  exports.version = "17.0.2";
},18,[19]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  /*
  object-assign
  (c) Sindre Sorhus
  @license MIT
  */
  'use strict';

  var getOwnPropertySymbols = Object.getOwnPropertySymbols;
  var hasOwnProperty = Object.prototype.hasOwnProperty;
  var propIsEnumerable = Object.prototype.propertyIsEnumerable;

  function toObject(val) {
    if (val === null || val === undefined) {
      throw new TypeError('Object.assign cannot be called with null or undefined');
    }

    return Object(val);
  }

  function shouldUseNative() {
    try {
      if (!Object.assign) {
        return false;
      }

      var test1 = new String('abc');
      test1[5] = 'de';

      if (Object.getOwnPropertyNames(test1)[0] === '5') {
        return false;
      }

      var test2 = {};

      for (var i = 0; i < 10; i++) {
        test2['_' + String.fromCharCode(i)] = i;
      }

      var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
        return test2[n];
      });

      if (order2.join('') !== '0123456789') {
        return false;
      }

      var test3 = {};
      'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
        test3[letter] = letter;
      });

      if (Object.keys(_$$_REQUIRE(_dependencyMap[0])({}, test3)).join('') !== 'abcdefghijklmnopqrst') {
        return false;
      }

      return true;
    } catch (err) {
      return false;
    }
  }

  module.exports = shouldUseNative() ? Object.assign : function (target, source) {
    var from;
    var to = toObject(target);
    var symbols;

    for (var s = 1; s < arguments.length; s++) {
      from = Object(arguments[s]);

      for (var key in from) {
        if (hasOwnProperty.call(from, key)) {
          to[key] = from[key];
        }
      }

      if (getOwnPropertySymbols) {
        symbols = getOwnPropertySymbols(from);

        for (var i = 0; i < symbols.length; i++) {
          if (propIsEnumerable.call(from, symbols[i])) {
            to[symbols[i]] = from[symbols[i]];
          }
        }
      }
    }

    return to;
  };
},19,[6]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = createHandler;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _defineProperty2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _areEqual = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _RNGestureHandlerModule = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _UIManager$getViewMan, _stateToPropMappings;

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  function findNodeHandle(node) {
    if (_reactNative.Platform.OS === 'web') return node;
    return (0, _reactNative.findNodeHandle)(node);
  }

  var _NativeModules$UIMana = _reactNative.NativeModules.UIManager,
      UIManager = _NativeModules$UIMana === undefined ? {} : _NativeModules$UIMana;
  var customGHEventsConfig = {
    onGestureHandlerEvent: {
      registrationName: 'onGestureHandlerEvent'
    },
    onGestureHandlerStateChange: {
      registrationName: 'onGestureHandlerStateChange'
    }
  };
  UIManager.genericDirectEventTypes = (0, _extends2.default)({}, UIManager.genericDirectEventTypes, customGHEventsConfig);
  var UIManagerConstants = (_UIManager$getViewMan = UIManager.getViewManagerConfig == null ? undefined : UIManager.getViewManagerConfig('getConstants')) != null ? _UIManager$getViewMan : UIManager.getConstants == null ? undefined : UIManager.getConstants();

  if (UIManagerConstants) {
    UIManagerConstants.genericDirectEventTypes = (0, _extends2.default)({}, UIManagerConstants.genericDirectEventTypes, customGHEventsConfig);
  }

  var _UIManager$setJSRespo = UIManager.setJSResponder,
      oldSetJSResponder = _UIManager$setJSRespo === undefined ? function () {} : _UIManager$setJSRespo,
      _UIManager$clearJSRes = UIManager.clearJSResponder,
      oldClearJSResponder = _UIManager$clearJSRes === undefined ? function () {} : _UIManager$clearJSRes;

  UIManager.setJSResponder = function (tag, blockNativeResponder) {
    _RNGestureHandlerModule.default.handleSetJSResponder(tag, blockNativeResponder);

    oldSetJSResponder(tag, blockNativeResponder);
  };

  UIManager.clearJSResponder = function () {
    _RNGestureHandlerModule.default.handleClearJSResponder();

    oldClearJSResponder();
  };

  var handlerTag = 1;
  var handlerIDToTag = {};

  function isConfigParam(param, name) {
    return param !== undefined && (param !== Object(param) || !('__isNative' in param)) && name !== 'onHandlerStateChange' && name !== 'onGestureEvent';
  }

  function filterConfig(props, validProps) {
    var defaults = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
    var res = (0, _extends2.default)({}, defaults);
    validProps.forEach(function (key) {
      var value = props[key];

      if (isConfigParam(value, key)) {
        var _value = props[key];

        if (key === 'simultaneousHandlers' || key === 'waitFor') {
          _value = transformIntoHandlerTags(props[key]);
        } else if (key === 'hitSlop') {
          if (typeof _value !== 'object') {
            _value = {
              top: _value,
              left: _value,
              bottom: _value,
              right: _value
            };
          }
        }

        res[key] = _value;
      }
    });
    return res;
  }

  function transformIntoHandlerTags(handlerIDs) {
    if (!Array.isArray(handlerIDs)) {
      handlerIDs = [handlerIDs];
    }

    if (_reactNative.Platform.OS === 'web') {
      return handlerIDs.map(function (_ref) {
        var current = _ref.current;
        return current;
      }).filter(function (handle) {
        return handle;
      });
    }

    return handlerIDs.map(function (handlerID) {
      var _handlerID$current;

      return handlerIDToTag[handlerID] || ((_handlerID$current = handlerID.current) == null ? undefined : _handlerID$current.handlerTag) || -1;
    }).filter(function (handlerTag) {
      return handlerTag > 0;
    });
  }

  function hasUnresolvedRefs(props) {
    var extract = function extract(refs) {
      if (!Array.isArray(refs)) {
        return refs && refs.current === null;
      }

      return refs.some(function (r) {
        return r && r.current === null;
      });
    };

    return extract(props['simultaneousHandlers']) || extract(props['waitFor']);
  }

  var stateToPropMappings = (_stateToPropMappings = {}, (0, _defineProperty2.default)(_stateToPropMappings, _$$_REQUIRE(_dependencyMap[13]).State.UNDETERMINED, undefined), (0, _defineProperty2.default)(_stateToPropMappings, _$$_REQUIRE(_dependencyMap[13]).State.BEGAN, 'onBegan'), (0, _defineProperty2.default)(_stateToPropMappings, _$$_REQUIRE(_dependencyMap[13]).State.FAILED, 'onFailed'), (0, _defineProperty2.default)(_stateToPropMappings, _$$_REQUIRE(_dependencyMap[13]).State.CANCELLED, 'onCancelled'), (0, _defineProperty2.default)(_stateToPropMappings, _$$_REQUIRE(_dependencyMap[13]).State.ACTIVE, 'onActivated'), (0, _defineProperty2.default)(_stateToPropMappings, _$$_REQUIRE(_dependencyMap[13]).State.END, 'onEnded'), _stateToPropMappings);

  function createHandler(_ref2) {
    var name = _ref2.name,
        _ref2$allowedProps = _ref2.allowedProps,
        allowedProps = _ref2$allowedProps === undefined ? [] : _ref2$allowedProps,
        _ref2$config = _ref2.config,
        config = _ref2$config === undefined ? {} : _ref2$config,
        transformProps = _ref2.transformProps,
        _ref2$customNativePro = _ref2.customNativeProps,
        customNativeProps = _ref2$customNativePro === undefined ? [] : _ref2$customNativePro;

    var Handler = function (_React$Component) {
      (0, _inherits2.default)(Handler, _React$Component);

      var _super = _createSuper(Handler);

      function Handler(props) {
        var _this;

        (0, _classCallCheck2.default)(this, Handler);
        _this = _super.call(this, props);
        _this.updateEnqueued = null;

        _this.onGestureHandlerEvent = function (event) {
          if (event.nativeEvent.handlerTag === _this.handlerTag) {
            _this.props.onGestureEvent == null ? undefined : _this.props.onGestureEvent(event);
          } else {
            _this.props.onGestureHandlerEvent == null ? undefined : _this.props.onGestureHandlerEvent(event);
          }
        };

        _this.onGestureHandlerStateChange = function (event) {
          if (event.nativeEvent.handlerTag === _this.handlerTag) {
            _this.props.onHandlerStateChange == null ? undefined : _this.props.onHandlerStateChange(event);
            var state = event.nativeEvent.state;
            var stateEventName = stateToPropMappings[state];
            var eventHandler = stateEventName && _this.props[stateEventName];

            if (eventHandler && typeof eventHandler === 'function') {
              eventHandler(event);
            }
          } else {
            _this.props.onGestureHandlerStateChange == null ? undefined : _this.props.onGestureHandlerStateChange(event);
          }
        };

        _this.refHandler = function (node) {
          _this.viewNode = node;
          var child = React.Children.only(_this.props.children);
          var ref = child.ref;

          if (ref !== null) {
            if (typeof ref === 'function') {
              ref(node);
            } else {
              ref.current = node;
            }
          }
        };

        _this.createGestureHandler = function (newConfig) {
          _this.config = newConfig;

          _RNGestureHandlerModule.default.createGestureHandler(name, _this.handlerTag, newConfig);
        };

        _this.attachGestureHandler = function (newViewTag) {
          _this.viewTag = newViewTag;

          if (_reactNative.Platform.OS === 'web') {
            _RNGestureHandlerModule.default.attachGestureHandler(_this.handlerTag, newViewTag, _this.propsRef);
          } else {
            _RNGestureHandlerModule.default.attachGestureHandler(_this.handlerTag, newViewTag);
          }
        };

        _this.updateGestureHandler = function (newConfig) {
          _this.config = newConfig;

          _RNGestureHandlerModule.default.updateGestureHandler(_this.handlerTag, newConfig);
        };

        _this.handlerTag = handlerTag++;
        _this.config = {};
        _this.propsRef = React.createRef();

        if (props.id) {
          if (handlerIDToTag[props.id] !== undefined) {
            throw new Error("Handler with ID \"" + props.id + "\" already registered");
          }

          handlerIDToTag[props.id] = _this.handlerTag;
        }

        return _this;
      }

      (0, _createClass2.default)(Handler, [{
        key: "componentDidMount",
        value: function componentDidMount() {
          var _this2 = this;

          var props = this.props;

          if (hasUnresolvedRefs(props)) {
            this.updateEnqueued = setImmediate(function () {
              _this2.updateEnqueued = null;

              _this2.update();
            });
          }

          this.createGestureHandler(filterConfig(transformProps ? transformProps(this.props) : this.props, [].concat((0, _toConsumableArray2.default)(allowedProps), (0, _toConsumableArray2.default)(customNativeProps)), config));
          this.attachGestureHandler(findNodeHandle(this.viewNode));
        }
      }, {
        key: "componentDidUpdate",
        value: function componentDidUpdate() {
          var viewTag = findNodeHandle(this.viewNode);

          if (this.viewTag !== viewTag) {
            this.attachGestureHandler(viewTag);
          }

          this.update();
        }
      }, {
        key: "componentWillUnmount",
        value: function componentWillUnmount() {
          _RNGestureHandlerModule.default.dropGestureHandler(this.handlerTag);

          if (this.updateEnqueued) {
            clearImmediate(this.updateEnqueued);
          }

          var handlerID = this.props.id;

          if (handlerID) {
            delete handlerIDToTag[handlerID];
          }
        }
      }, {
        key: "update",
        value: function update() {
          var newConfig = filterConfig(transformProps ? transformProps(this.props) : this.props, [].concat((0, _toConsumableArray2.default)(allowedProps), (0, _toConsumableArray2.default)(customNativeProps)), config);

          if (!(0, _areEqual.default)(this.config, newConfig)) {
            this.updateGestureHandler(newConfig);
          }
        }
      }, {
        key: "setNativeProps",
        value: function setNativeProps(updates) {
          var mergedProps = (0, _extends2.default)({}, this.props, updates);
          var newConfig = filterConfig(transformProps ? transformProps(mergedProps) : mergedProps, [].concat((0, _toConsumableArray2.default)(allowedProps), (0, _toConsumableArray2.default)(customNativeProps)), config);
          this.updateGestureHandler(newConfig);
        }
      }, {
        key: "render",
        value: function render() {
          var gestureEventHandler = this.onGestureHandlerEvent;
          var _this$props = this.props,
              onGestureEvent = _this$props.onGestureEvent,
              onGestureHandlerEvent = _this$props.onGestureHandlerEvent;

          if (onGestureEvent && typeof onGestureEvent !== 'function') {
            if (onGestureHandlerEvent) {
              throw new Error('Nesting touch handlers with native animated driver is not supported yet');
            }

            gestureEventHandler = onGestureEvent;
          } else {
            if (onGestureHandlerEvent && typeof onGestureHandlerEvent !== 'function') {
              throw new Error('Nesting touch handlers with native animated driver is not supported yet');
            }
          }

          var gestureStateEventHandler = this.onGestureHandlerStateChange;
          var _this$props2 = this.props,
              onHandlerStateChange = _this$props2.onHandlerStateChange,
              onGestureHandlerStateChange = _this$props2.onGestureHandlerStateChange;

          if (onHandlerStateChange && typeof onHandlerStateChange !== 'function') {
            if (onGestureHandlerStateChange) {
              throw new Error('Nesting touch handlers with native animated driver is not supported yet');
            }

            gestureStateEventHandler = onHandlerStateChange;
          } else {
            if (onGestureHandlerStateChange && typeof onGestureHandlerStateChange !== 'function') {
              throw new Error('Nesting touch handlers with native animated driver is not supported yet');
            }
          }

          var events = {
            onGestureHandlerEvent: gestureEventHandler,
            onGestureHandlerStateChange: gestureStateEventHandler
          };
          this.propsRef.current = events;
          var child = React.Children.only(this.props.children);
          var grandChildren = child.props.children;

          if (_reactNative.Touchable.TOUCH_TARGET_DEBUG && child.type && (child.type === 'RNGestureHandlerButton' || child.type.name === 'View' || child.type.displayName === 'View')) {
            grandChildren = React.Children.toArray(grandChildren);
            grandChildren.push(_reactNative.Touchable.renderDebugView({
              color: 'mediumspringgreen',
              hitSlop: child.props.hitSlop
            }));
          }

          return React.cloneElement(child, (0, _extends2.default)({
            ref: this.refHandler,
            collapsable: false
          }, events), grandChildren);
        }
      }]);
      return Handler;
    }(React.Component);

    Handler.displayName = name;
    return Handler;
  }
},20,[5,21,7,8,12,14,16,27,6,17,28,407,408,3]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _toConsumableArray(arr) {
    return _$$_REQUIRE(_dependencyMap[0])(arr) || _$$_REQUIRE(_dependencyMap[1])(arr) || _$$_REQUIRE(_dependencyMap[2])(arr) || _$$_REQUIRE(_dependencyMap[3])();
  }

  module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
},21,[22,24,25,26]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _arrayWithoutHoles(arr) {
    if (Array.isArray(arr)) return _$$_REQUIRE(_dependencyMap[0])(arr);
  }

  module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
},22,[23]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _arrayLikeToArray(arr, len) {
    if (len == null || len > arr.length) len = arr.length;

    for (var i = 0, arr2 = new Array(len); i < len; i++) {
      arr2[i] = arr[i];
    }

    return arr2;
  }

  module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
},23,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _iterableToArray(iter) {
    if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
  }

  module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
},24,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _unsupportedIterableToArray(o, minLen) {
    if (!o) return;
    if (typeof o === "string") return _$$_REQUIRE(_dependencyMap[0])(o, minLen);
    var n = Object.prototype.toString.call(o).slice(8, -1);
    if (n === "Object" && o.constructor) n = o.constructor.name;
    if (n === "Map" || n === "Set") return Array.from(o);
    if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _$$_REQUIRE(_dependencyMap[0])(o, minLen);
  }

  module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
},25,[23]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _nonIterableSpread() {
    throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
  }

  module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports;
},26,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _defineProperty(obj, key, value) {
    key = _$$_REQUIRE(_dependencyMap[0])(key);

    if (key in obj) {
      Object.defineProperty(obj, key, {
        value: value,
        enumerable: true,
        configurable: true,
        writable: true
      });
    } else {
      obj[key] = value;
    }

    return obj;
  }

  module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
},27,[9]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = {
    get AccessibilityInfo() {
      return _$$_REQUIRE(_dependencyMap[0]).default;
    },

    get ActivityIndicator() {
      return _$$_REQUIRE(_dependencyMap[1]);
    },

    get Button() {
      return _$$_REQUIRE(_dependencyMap[2]);
    },

    get DatePickerIOS() {
      _$$_REQUIRE(_dependencyMap[3])('DatePickerIOS-merged', "DatePickerIOS has been merged with DatePickerAndroid and will be removed in a future release. It can now be installed and imported from '@react-native-community/datetimepicker' instead of 'react-native'. See https://github.com/react-native-datetimepicker/datetimepicker");

      return _$$_REQUIRE(_dependencyMap[4]);
    },

    get DrawerLayoutAndroid() {
      return _$$_REQUIRE(_dependencyMap[5]);
    },

    get FlatList() {
      return _$$_REQUIRE(_dependencyMap[6]);
    },

    get Image() {
      return _$$_REQUIRE(_dependencyMap[7]);
    },

    get ImageBackground() {
      return _$$_REQUIRE(_dependencyMap[8]);
    },

    get InputAccessoryView() {
      return _$$_REQUIRE(_dependencyMap[9]);
    },

    get KeyboardAvoidingView() {
      return _$$_REQUIRE(_dependencyMap[10]).default;
    },

    get MaskedViewIOS() {
      _$$_REQUIRE(_dependencyMap[3])('maskedviewios-moved', "MaskedViewIOS has been extracted from react-native core and will be removed in a future release. It can now be installed and imported from '@react-native-masked-view/masked-view' instead of 'react-native'. See https://github.com/react-native-masked-view/masked-view");

      return _$$_REQUIRE(_dependencyMap[11]);
    },

    get Modal() {
      return _$$_REQUIRE(_dependencyMap[12]);
    },

    get Pressable() {
      return _$$_REQUIRE(_dependencyMap[13]).default;
    },

    get ProgressBarAndroid() {
      _$$_REQUIRE(_dependencyMap[3])('progress-bar-android-moved', "ProgressBarAndroid has been extracted from react-native core and will be removed in a future release. It can now be installed and imported from '@react-native-community/progress-bar-android' instead of 'react-native'. See https://github.com/react-native-progress-view/progress-bar-android");

      return _$$_REQUIRE(_dependencyMap[14]);
    },

    get ProgressViewIOS() {
      _$$_REQUIRE(_dependencyMap[3])('progress-view-ios-moved', "ProgressViewIOS has been extracted from react-native core and will be removed in a future release. It can now be installed and imported from '@react-native-community/progress-view' instead of 'react-native'. See https://github.com/react-native-progress-view/progress-view");

      return _$$_REQUIRE(_dependencyMap[15]);
    },

    get RefreshControl() {
      return _$$_REQUIRE(_dependencyMap[16]);
    },

    get SafeAreaView() {
      return _$$_REQUIRE(_dependencyMap[17]).default;
    },

    get ScrollView() {
      return _$$_REQUIRE(_dependencyMap[18]);
    },

    get SectionList() {
      return _$$_REQUIRE(_dependencyMap[19]).default;
    },

    get SegmentedControlIOS() {
      _$$_REQUIRE(_dependencyMap[3])('segmented-control-ios-moved', "SegmentedControlIOS has been extracted from react-native core and will be removed in a future release. It can now be installed and imported from '@react-native-segmented-control/segmented-control' instead of 'react-native'. See https://github.com/react-native-segmented-control/segmented-control");

      return _$$_REQUIRE(_dependencyMap[20]);
    },

    get Slider() {
      _$$_REQUIRE(_dependencyMap[3])('slider-moved', "Slider has been extracted from react-native core and will be removed in a future release. It can now be installed and imported from '@react-native-community/slider' instead of 'react-native'. See https://github.com/callstack/react-native-slider");

      return _$$_REQUIRE(_dependencyMap[21]);
    },

    get StatusBar() {
      return _$$_REQUIRE(_dependencyMap[22]);
    },

    get Switch() {
      return _$$_REQUIRE(_dependencyMap[23]).default;
    },

    get Text() {
      return _$$_REQUIRE(_dependencyMap[24]);
    },

    get TextInput() {
      return _$$_REQUIRE(_dependencyMap[25]);
    },

    get Touchable() {
      return _$$_REQUIRE(_dependencyMap[26]);
    },

    get TouchableHighlight() {
      return _$$_REQUIRE(_dependencyMap[27]);
    },

    get TouchableNativeFeedback() {
      return _$$_REQUIRE(_dependencyMap[28]);
    },

    get TouchableOpacity() {
      return _$$_REQUIRE(_dependencyMap[29]);
    },

    get TouchableWithoutFeedback() {
      return _$$_REQUIRE(_dependencyMap[30]);
    },

    get View() {
      return _$$_REQUIRE(_dependencyMap[31]);
    },

    get VirtualizedList() {
      return _$$_REQUIRE(_dependencyMap[32]);
    },

    get VirtualizedSectionList() {
      return _$$_REQUIRE(_dependencyMap[33]);
    },

    get ActionSheetIOS() {
      return _$$_REQUIRE(_dependencyMap[34]);
    },

    get Alert() {
      return _$$_REQUIRE(_dependencyMap[35]);
    },

    get Animated() {
      return _$$_REQUIRE(_dependencyMap[36]);
    },

    get Appearance() {
      return _$$_REQUIRE(_dependencyMap[37]);
    },

    get AppRegistry() {
      return _$$_REQUIRE(_dependencyMap[38]);
    },

    get AppState() {
      return _$$_REQUIRE(_dependencyMap[39]);
    },

    get AsyncStorage() {
      _$$_REQUIRE(_dependencyMap[3])('async-storage-moved', "AsyncStorage has been extracted from react-native core and will be removed in a future release. It can now be installed and imported from '@react-native-async-storage/async-storage' instead of 'react-native'. See https://github.com/react-native-async-storage/async-storage");

      return _$$_REQUIRE(_dependencyMap[40]);
    },

    get BackHandler() {
      return _$$_REQUIRE(_dependencyMap[41]);
    },

    get Clipboard() {
      _$$_REQUIRE(_dependencyMap[3])('clipboard-moved', "Clipboard has been extracted from react-native core and will be removed in a future release. It can now be installed and imported from '@react-native-clipboard/clipboard' instead of 'react-native'. See https://github.com/react-native-clipboard/clipboard");

      return _$$_REQUIRE(_dependencyMap[42]);
    },

    get DeviceInfo() {
      return _$$_REQUIRE(_dependencyMap[43]);
    },

    get DevSettings() {
      return _$$_REQUIRE(_dependencyMap[44]);
    },

    get Dimensions() {
      return _$$_REQUIRE(_dependencyMap[45]);
    },

    get Easing() {
      return _$$_REQUIRE(_dependencyMap[46]);
    },

    get findNodeHandle() {
      return _$$_REQUIRE(_dependencyMap[47]).findNodeHandle;
    },

    get I18nManager() {
      return _$$_REQUIRE(_dependencyMap[48]);
    },

    get ImagePickerIOS() {
      _$$_REQUIRE(_dependencyMap[3])('imagePickerIOS-moved', "ImagePickerIOS has been extracted from react-native core and will be removed in a future release. Please upgrade to use either '@react-native-community/react-native-image-picker' or 'expo-image-picker'. If you cannot upgrade to a different library, please install the deprecated '@react-native-community/image-picker-ios' package. See https://github.com/rnc-archive/react-native-image-picker-ios");

      return _$$_REQUIRE(_dependencyMap[49]);
    },

    get InteractionManager() {
      return _$$_REQUIRE(_dependencyMap[50]);
    },

    get Keyboard() {
      return _$$_REQUIRE(_dependencyMap[51]);
    },

    get LayoutAnimation() {
      return _$$_REQUIRE(_dependencyMap[52]);
    },

    get Linking() {
      return _$$_REQUIRE(_dependencyMap[53]);
    },

    get LogBox() {
      return _$$_REQUIRE(_dependencyMap[54]);
    },

    get NativeDialogManagerAndroid() {
      return _$$_REQUIRE(_dependencyMap[55]).default;
    },

    get NativeEventEmitter() {
      return _$$_REQUIRE(_dependencyMap[56]).default;
    },

    get Networking() {
      return _$$_REQUIRE(_dependencyMap[57]);
    },

    get PanResponder() {
      return _$$_REQUIRE(_dependencyMap[58]);
    },

    get PermissionsAndroid() {
      return _$$_REQUIRE(_dependencyMap[59]);
    },

    get PixelRatio() {
      return _$$_REQUIRE(_dependencyMap[60]);
    },

    get PushNotificationIOS() {
      _$$_REQUIRE(_dependencyMap[3])('pushNotificationIOS-moved', "PushNotificationIOS has been extracted from react-native core and will be removed in a future release. It can now be installed and imported from '@react-native-community/push-notification-ios' instead of 'react-native'. See https://github.com/react-native-push-notification-ios/push-notification-ios");

      return _$$_REQUIRE(_dependencyMap[61]);
    },

    get Settings() {
      return _$$_REQUIRE(_dependencyMap[62]);
    },

    get Share() {
      return _$$_REQUIRE(_dependencyMap[63]);
    },

    get StyleSheet() {
      return _$$_REQUIRE(_dependencyMap[64]);
    },

    get Systrace() {
      return _$$_REQUIRE(_dependencyMap[65]);
    },

    get ToastAndroid() {
      return _$$_REQUIRE(_dependencyMap[66]);
    },

    get TurboModuleRegistry() {
      return _$$_REQUIRE(_dependencyMap[67]);
    },

    get UIManager() {
      return _$$_REQUIRE(_dependencyMap[68]);
    },

    get unstable_batchedUpdates() {
      return _$$_REQUIRE(_dependencyMap[47]).unstable_batchedUpdates;
    },

    get useColorScheme() {
      return _$$_REQUIRE(_dependencyMap[69]).default;
    },

    get useWindowDimensions() {
      return _$$_REQUIRE(_dependencyMap[70]).default;
    },

    get UTFSequence() {
      return _$$_REQUIRE(_dependencyMap[71]);
    },

    get Vibration() {
      return _$$_REQUIRE(_dependencyMap[72]);
    },

    get YellowBox() {
      return _$$_REQUIRE(_dependencyMap[73]);
    },

    get DeviceEventEmitter() {
      return _$$_REQUIRE(_dependencyMap[74]).default;
    },

    get DynamicColorIOS() {
      return _$$_REQUIRE(_dependencyMap[75]).DynamicColorIOS;
    },

    get NativeAppEventEmitter() {
      return _$$_REQUIRE(_dependencyMap[76]);
    },

    get NativeModules() {
      return _$$_REQUIRE(_dependencyMap[77]);
    },

    get Platform() {
      return _$$_REQUIRE(_dependencyMap[78]);
    },

    get PlatformColor() {
      return _$$_REQUIRE(_dependencyMap[79]).PlatformColor;
    },

    get processColor() {
      return _$$_REQUIRE(_dependencyMap[80]);
    },

    get requireNativeComponent() {
      return _$$_REQUIRE(_dependencyMap[81]);
    },

    get RootTagContext() {
      return _$$_REQUIRE(_dependencyMap[82]).RootTagContext;
    },

    get unstable_enableLogBox() {
      return function () {
        return console.warn('LogBox is enabled by default so there is no need to call unstable_enableLogBox() anymore. This is a no op and will be removed in the next version.');
      };
    },

    get ColorPropType() {
      return _$$_REQUIRE(_dependencyMap[83]);
    },

    get EdgeInsetsPropType() {
      return _$$_REQUIRE(_dependencyMap[84]);
    },

    get PointPropType() {
      return _$$_REQUIRE(_dependencyMap[85]);
    },

    get ViewPropTypes() {
      return _$$_REQUIRE(_dependencyMap[86]);
    }

  };
},28,[29,182,193,299,300,302,256,284,303,304,306,307,309,316,187,318,275,320,259,295,322,324,326,329,194,333,341,345,219,220,346,184,258,296,347,119,221,349,351,367,370,357,373,375,376,171,245,54,314,378,230,261,262,380,383,122,110,100,384,386,170,388,390,392,183,47,394,39,155,395,400,401,402,404,30,405,130,40,37,148,145,191,313,205,208,406,335]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _RCTDeviceEventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _NativeAccessibilityInfo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _NativeAccessibilityManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _legacySendAccessibilityEvent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var EventNames = _Platform.default.OS === 'android' ? new Map([['change', 'touchExplorationDidChange'], ['reduceMotionChanged', 'reduceMotionDidChange'], ['screenReaderChanged', 'touchExplorationDidChange']]) : new Map([['announcementFinished', 'announcementFinished'], ['boldTextChanged', 'boldTextChanged'], ['change', 'screenReaderChanged'], ['grayscaleChanged', 'grayscaleChanged'], ['invertColorsChanged', 'invertColorsChanged'], ['reduceMotionChanged', 'reduceMotionChanged'], ['reduceTransparencyChanged', 'reduceTransparencyChanged'], ['screenReaderChanged', 'screenReaderChanged']]);
  var AccessibilityInfo = {
    isBoldTextEnabled: function isBoldTextEnabled() {
      if (_Platform.default.OS === 'android') {
        return Promise.resolve(false);
      } else {
        return new Promise(function (resolve, reject) {
          if (_NativeAccessibilityManager.default != null) {
            _NativeAccessibilityManager.default.getCurrentBoldTextState(resolve, reject);
          } else {
            reject(null);
          }
        });
      }
    },
    isGrayscaleEnabled: function isGrayscaleEnabled() {
      if (_Platform.default.OS === 'android') {
        return Promise.resolve(false);
      } else {
        return new Promise(function (resolve, reject) {
          if (_NativeAccessibilityManager.default != null) {
            _NativeAccessibilityManager.default.getCurrentGrayscaleState(resolve, reject);
          } else {
            reject(null);
          }
        });
      }
    },
    isInvertColorsEnabled: function isInvertColorsEnabled() {
      if (_Platform.default.OS === 'android') {
        return Promise.resolve(false);
      } else {
        return new Promise(function (resolve, reject) {
          if (_NativeAccessibilityManager.default != null) {
            _NativeAccessibilityManager.default.getCurrentInvertColorsState(resolve, reject);
          } else {
            reject(null);
          }
        });
      }
    },
    isReduceMotionEnabled: function isReduceMotionEnabled() {
      return new Promise(function (resolve, reject) {
        if (_Platform.default.OS === 'android') {
          if (_NativeAccessibilityInfo.default != null) {
            _NativeAccessibilityInfo.default.isReduceMotionEnabled(resolve);
          } else {
            reject(null);
          }
        } else {
          if (_NativeAccessibilityManager.default != null) {
            _NativeAccessibilityManager.default.getCurrentReduceMotionState(resolve, reject);
          } else {
            reject(null);
          }
        }
      });
    },
    isReduceTransparencyEnabled: function isReduceTransparencyEnabled() {
      if (_Platform.default.OS === 'android') {
        return Promise.resolve(false);
      } else {
        return new Promise(function (resolve, reject) {
          if (_NativeAccessibilityManager.default != null) {
            _NativeAccessibilityManager.default.getCurrentReduceTransparencyState(resolve, reject);
          } else {
            reject(null);
          }
        });
      }
    },
    isScreenReaderEnabled: function isScreenReaderEnabled() {
      return new Promise(function (resolve, reject) {
        if (_Platform.default.OS === 'android') {
          if (_NativeAccessibilityInfo.default != null) {
            _NativeAccessibilityInfo.default.isTouchExplorationEnabled(resolve);
          } else {
            reject(null);
          }
        } else {
          if (_NativeAccessibilityManager.default != null) {
            _NativeAccessibilityManager.default.getCurrentVoiceOverState(resolve, reject);
          } else {
            reject(null);
          }
        }
      });
    },
    addEventListener: function addEventListener(eventName, handler) {
      var deviceEventName = EventNames.get(eventName);
      return deviceEventName == null ? {
        remove: function remove() {}
      } : _RCTDeviceEventEmitter.default.addListener(deviceEventName, handler);
    },
    setAccessibilityFocus: function setAccessibilityFocus(reactTag) {
      (0, _legacySendAccessibilityEvent.default)(reactTag, 'focus');
    },
    sendAccessibilityEvent_unstable: function sendAccessibilityEvent_unstable(handle, eventType) {
      if (_Platform.default.OS === 'ios' && eventType === 'click') {
        return;
      }

      (0, _$$_REQUIRE(_dependencyMap[6]).sendAccessibilityEvent)(handle, eventType);
    },
    announceForAccessibility: function announceForAccessibility(announcement) {
      if (_Platform.default.OS === 'android') {
        _NativeAccessibilityInfo.default == null ? undefined : _NativeAccessibilityInfo.default.announceForAccessibility(announcement);
      } else {
        _NativeAccessibilityManager.default == null ? undefined : _NativeAccessibilityManager.default.announceForAccessibility(announcement);
      }
    },
    removeEventListener: function removeEventListener(eventName, handler) {
      var deviceEventName = EventNames.get(eventName);

      if (deviceEventName != null) {
        _RCTDeviceEventEmitter.default.removeListener('deviceEventName', handler);
      }
    },
    getRecommendedTimeoutMillis: function getRecommendedTimeoutMillis(originalTimeout) {
      if (_Platform.default.OS === 'android') {
        return new Promise(function (resolve, reject) {
          if (_NativeAccessibilityInfo.default != null && _NativeAccessibilityInfo.default.getRecommendedTimeoutMillis) {
            _NativeAccessibilityInfo.default.getRecommendedTimeoutMillis(originalTimeout, resolve);
          } else {
            resolve(originalTimeout);
          }
        });
      } else {
        return Promise.resolve(originalTimeout);
      }
    }
  };
  var _default = AccessibilityInfo;
  exports.default = _default;
},29,[5,30,37,51,52,53,54]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _EventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _default = new _EventEmitter.default();

  exports.default = _default;
},30,[5,31]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;
  exports.default = _$$_REQUIRE(_dependencyMap[0]);
},31,[32]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _EmitterSubscription = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _EventSubscriptionVendor = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var sparseFilterPredicate = function sparseFilterPredicate() {
    return true;
  };

  var EventEmitter = function () {
    function EventEmitter(subscriber) {
      (0, _classCallCheck2.default)(this, EventEmitter);
      this._subscriber = new _EventSubscriptionVendor.default();

      if (subscriber != null) {
        console.warn('EventEmitter(...): Constructor argument is deprecated.');
        this._subscriber = subscriber;
      }
    }

    (0, _createClass2.default)(EventEmitter, [{
      key: "addListener",
      value: function addListener(eventType, listener, context) {
        return this._subscriber.addSubscription(eventType, new _EmitterSubscription.default(this, this._subscriber, listener, context));
      }
    }, {
      key: "removeAllListeners",
      value: function removeAllListeners(eventType) {
        this._subscriber.removeAllSubscriptions(eventType);
      }
    }, {
      key: "removeSubscription",
      value: function removeSubscription(subscription) {
        console.warn("EventEmitter.removeSubscription(...): Method has been deprecated. Please instead use `remove()` on the subscription itself.");

        this.__removeSubscription(subscription);
      }
    }, {
      key: "__removeSubscription",
      value: function __removeSubscription(subscription) {
        _$$_REQUIRE(_dependencyMap[5])(subscription.emitter === this, 'Subscription does not belong to this emitter.');

        this._subscriber.removeSubscription(subscription);
      }
    }, {
      key: "listenerCount",
      value: function listenerCount(eventType) {
        var subscriptions = this._subscriber.getSubscriptionsForType(eventType);

        return subscriptions ? subscriptions.filter(sparseFilterPredicate).length : 0;
      }
    }, {
      key: "emit",
      value: function emit(eventType) {
        var subscriptions = this._subscriber.getSubscriptionsForType(eventType);

        if (subscriptions) {
          for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
            args[_key - 1] = arguments[_key];
          }

          for (var i = 0, l = subscriptions.length; i < l; i++) {
            var subscription = subscriptions[i];

            if (subscription && subscription.listener) {
              subscription.listener.apply(subscription.context, args);
            }
          }
        }
      }
    }, {
      key: "removeListener",
      value: function removeListener(eventType, listener) {
        console.warn("EventEmitter.removeListener('" + eventType + "', ...): Method has been " + 'deprecated. Please instead use `remove()` on the subscription ' + 'returned by `EventEmitter.addListener`.');

        var subscriptions = this._subscriber.getSubscriptionsForType(eventType);

        if (subscriptions) {
          for (var i = 0, l = subscriptions.length; i < l; i++) {
            var subscription = subscriptions[i];

            if (subscription && subscription.listener === listener) {
              subscription.remove();
            }
          }
        }
      }
    }]);
    return EventEmitter;
  }();

  module.exports = EventEmitter;
},32,[5,7,8,33,35,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _EventSubscription3 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var EmitterSubscription = function (_EventSubscription2) {
    (0, _inherits2.default)(EmitterSubscription, _EventSubscription2);

    var _super = _createSuper(EmitterSubscription);

    function EmitterSubscription(emitter, subscriber, listener, context) {
      var _this;

      (0, _classCallCheck2.default)(this, EmitterSubscription);
      _this = _super.call(this, subscriber);
      _this.emitter = emitter;
      _this.listener = listener;
      _this.context = context;
      return _this;
    }

    (0, _createClass2.default)(EmitterSubscription, [{
      key: "remove",
      value: function remove() {
        this.emitter.__removeSubscription(this);
      }
    }]);
    return EmitterSubscription;
  }(_EventSubscription3.default);

  module.exports = EmitterSubscription;
},33,[5,7,8,12,14,16,34]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _EventSubscription = function () {
    function _EventSubscription(subscriber) {
      (0, _classCallCheck2.default)(this, _EventSubscription);
      this.subscriber = subscriber;
    }

    (0, _createClass2.default)(_EventSubscription, [{
      key: "remove",
      value: function remove() {
        this.subscriber.removeSubscription(this);
      }
    }]);
    return _EventSubscription;
  }();

  module.exports = _EventSubscription;
},34,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var EventSubscriptionVendor = function () {
    function EventSubscriptionVendor() {
      _$$_REQUIRE(_dependencyMap[0])(this, EventSubscriptionVendor);

      this._subscriptionsForType = {};
    }

    _$$_REQUIRE(_dependencyMap[1])(EventSubscriptionVendor, [{
      key: "addSubscription",
      value: function addSubscription(eventType, subscription) {
        _$$_REQUIRE(_dependencyMap[2])(subscription.subscriber === this, 'The subscriber of the subscription is incorrectly set.');

        if (!this._subscriptionsForType[eventType]) {
          this._subscriptionsForType[eventType] = [];
        }

        var key = this._subscriptionsForType[eventType].length;

        this._subscriptionsForType[eventType].push(subscription);

        subscription.eventType = eventType;
        subscription.key = key;
        return subscription;
      }
    }, {
      key: "removeAllSubscriptions",
      value: function removeAllSubscriptions(eventType) {
        if (eventType == null) {
          this._subscriptionsForType = {};
        } else {
          delete this._subscriptionsForType[eventType];
        }
      }
    }, {
      key: "removeSubscription",
      value: function removeSubscription(subscription) {
        var eventType = subscription.eventType;
        var key = subscription.key;
        var subscriptionsForType = this._subscriptionsForType[eventType];

        if (subscriptionsForType) {
          delete subscriptionsForType[key];
        }
      }
    }, {
      key: "getSubscriptionsForType",
      value: function getSubscriptionsForType(eventType) {
        return this._subscriptionsForType[eventType];
      }
    }]);

    return EventSubscriptionVendor;
  }();

  module.exports = EventSubscriptionVendor;
},35,[7,8,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var invariant = function invariant(condition, format, a, b, c, d, e, f) {
    if (!condition) {
      var error;

      if (format === undefined) {
        error = new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");
      } else {
        var args = [a, b, c, d, e, f];
        var argIndex = 0;
        error = new Error(format.replace(/%s/g, function () {
          return args[argIndex++];
        }));
        error.name = 'Invariant Violation';
      }

      error.framesToPop = 1;
      throw error;
    }
  };

  module.exports = invariant;
},36,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _NativePlatformConstantsIOS = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var Platform = {
    __constants: null,
    OS: 'ios',

    get Version() {
      return this.constants.osVersion;
    },

    get constants() {
      if (this.__constants == null) {
        this.__constants = _NativePlatformConstantsIOS.default.getConstants();
      }

      return this.__constants;
    },

    get isPad() {
      return this.constants.interfaceIdiom === 'pad';
    },

    get isTVOS() {
      return Platform.isTV;
    },

    get isTV() {
      return this.constants.interfaceIdiom === 'tv';
    },

    get isTesting() {
      return false;
    },

    select: function select(spec) {
      return 'ios' in spec ? spec.ios : 'native' in spec ? spec.native : spec.default;
    }
  };
  module.exports = Platform;
},37,[5,38]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.getEnforcing('PlatformConstants');

  exports.default = _default;
},38,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.get = get;
  exports.getEnforcing = getEnforcing;

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var turboModuleProxy = global.__turboModuleProxy;

  function requireModule(name) {
    if (global.RN$Bridgeless !== true) {
      var legacyModule = _$$_REQUIRE(_dependencyMap[2])[name];

      if (legacyModule != null) {
        return legacyModule;
      }
    }

    if (turboModuleProxy != null) {
      var module = turboModuleProxy(name);
      return module;
    }

    return null;
  }

  function get(name) {
    return requireModule(name);
  }

  function getEnforcing(name) {
    var module = requireModule(name);
    (0, _invariant.default)(module != null, "TurboModuleRegistry.getEnforcing(...): '" + name + "' could not be found. " + 'Verify that a module by this name is registered in the native binary.');
    return module;
  }
},39,[5,36,40]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function genModule(config, moduleID) {
    if (!config) {
      return null;
    }

    var _config = _$$_REQUIRE(_dependencyMap[0])(config, 5),
        moduleName = _config[0],
        constants = _config[1],
        methods = _config[2],
        promiseMethods = _config[3],
        syncMethods = _config[4];

    _$$_REQUIRE(_dependencyMap[1])(!moduleName.startsWith('RCT') && !moduleName.startsWith('RK'), "Module name prefixes should've been stripped by the native side but wasn't for " + moduleName);

    if (!constants && !methods) {
      return {
        name: moduleName
      };
    }

    var module = {};
    methods && methods.forEach(function (methodName, methodID) {
      var isPromise = promiseMethods && arrayContains(promiseMethods, methodID) || false;
      var isSync = syncMethods && arrayContains(syncMethods, methodID) || false;

      _$$_REQUIRE(_dependencyMap[1])(!isPromise || !isSync, 'Cannot have a method that is both async and a sync hook');

      var methodType = isPromise ? 'promise' : isSync ? 'sync' : 'async';
      module[methodName] = genMethod(moduleID, methodID, methodType);
    });

    _$$_REQUIRE(_dependencyMap[2])(module, constants);

    if (module.getConstants == null) {
      module.getConstants = function () {
        return constants || Object.freeze({});
      };
    } else {
      console.warn("Unable to define method 'getConstants()' on NativeModule '" + moduleName + "'. NativeModule '" + moduleName + "' already has a constant or method called 'getConstants'. Please remove it.");
    }

    return {
      name: moduleName,
      module: module
    };
  }

  global.__fbGenNativeModule = genModule;

  function loadModule(name, moduleID) {
    _$$_REQUIRE(_dependencyMap[1])(global.nativeRequireModuleConfig, "Can't lazily create module without nativeRequireModuleConfig");

    var config = global.nativeRequireModuleConfig(name);
    var info = genModule(config, moduleID);
    return info && info.module;
  }

  function genMethod(moduleID, methodID, type) {
    var fn = null;

    if (type === 'promise') {
      fn = function promiseMethodWrapper() {
        for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
          args[_key] = arguments[_key];
        }

        var enqueueingFrameError = new Error();
        return new Promise(function (resolve, reject) {
          _$$_REQUIRE(_dependencyMap[3]).enqueueNativeCall(moduleID, methodID, args, function (data) {
            return resolve(data);
          }, function (errorData) {
            return reject(updateErrorWithErrorData(errorData, enqueueingFrameError));
          });
        });
      };
    } else {
      fn = function nonPromiseMethodWrapper() {
        for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
          args[_key2] = arguments[_key2];
        }

        var lastArg = args.length > 0 ? args[args.length - 1] : null;
        var secondLastArg = args.length > 1 ? args[args.length - 2] : null;
        var hasSuccessCallback = typeof lastArg === 'function';
        var hasErrorCallback = typeof secondLastArg === 'function';
        hasErrorCallback && _$$_REQUIRE(_dependencyMap[1])(hasSuccessCallback, 'Cannot have a non-function arg after a function arg.');
        var onSuccess = hasSuccessCallback ? lastArg : null;
        var onFail = hasErrorCallback ? secondLastArg : null;
        var callbackCount = hasSuccessCallback + hasErrorCallback;
        var newArgs = args.slice(0, args.length - callbackCount);

        if (type === 'sync') {
          return _$$_REQUIRE(_dependencyMap[3]).callNativeSyncHook(moduleID, methodID, newArgs, onFail, onSuccess);
        } else {
          _$$_REQUIRE(_dependencyMap[3]).enqueueNativeCall(moduleID, methodID, newArgs, onFail, onSuccess);
        }
      };
    }

    fn.type = type;
    return fn;
  }

  function arrayContains(array, value) {
    return array.indexOf(value) !== -1;
  }

  function updateErrorWithErrorData(errorData, error) {
    return _$$_REQUIRE(_dependencyMap[2])(error, errorData || {});
  }

  var NativeModules = {};

  if (global.nativeModuleProxy) {
    NativeModules = global.nativeModuleProxy;
  } else if (!global.nativeExtensions) {
    var bridgeConfig = global.__fbBatchedBridgeConfig;

    _$$_REQUIRE(_dependencyMap[1])(bridgeConfig, '__fbBatchedBridgeConfig is not set, cannot invoke native modules');

    var defineLazyObjectProperty = _$$_REQUIRE(_dependencyMap[4]);

    (bridgeConfig.remoteModuleConfig || []).forEach(function (config, moduleID) {
      var info = genModule(config, moduleID);

      if (!info) {
        return;
      }

      if (info.module) {
        NativeModules[info.name] = info.module;
      } else {
        defineLazyObjectProperty(NativeModules, info.name, {
          get: function get() {
            return loadModule(info.name, moduleID);
          }
        });
      }
    });
  }

  module.exports = NativeModules;
},40,[41,36,6,45,50]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _slicedToArray(arr, i) {
    return _$$_REQUIRE(_dependencyMap[0])(arr) || _$$_REQUIRE(_dependencyMap[1])(arr, i) || _$$_REQUIRE(_dependencyMap[2])(arr, i) || _$$_REQUIRE(_dependencyMap[3])();
  }

  module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
},41,[42,43,25,44]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _arrayWithHoles(arr) {
    if (Array.isArray(arr)) return arr;
  }

  module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
},42,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _iterableToArrayLimit(r, l) {
    var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];

    if (null != t) {
      var e,
          n,
          i,
          u,
          a = [],
          f = true,
          o = false;

      try {
        if (i = (t = t.call(r)).next, 0 === l) {
          if (Object(t) !== t) return;
          f = false;
        } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = true) {
          ;
        }
      } catch (r) {
        o = true, n = r;
      } finally {
        try {
          if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
        } finally {
          if (o) throw n;
        }
      }

      return a;
    }
  }

  module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
},43,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _nonIterableRest() {
    throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
  }

  module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
},44,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var BatchedBridge = new (_$$_REQUIRE(_dependencyMap[0]))();
  Object.defineProperty(global, '__fbBatchedBridge', {
    configurable: true,
    value: BatchedBridge
  });
  module.exports = BatchedBridge;
},45,[46]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var TO_JS = 0;
  var TO_NATIVE = 1;
  var MODULE_IDS = 0;
  var METHOD_IDS = 1;
  var PARAMS = 2;
  var MIN_TIME_BETWEEN_FLUSHES_MS = 5;
  var TRACE_TAG_REACT_APPS = 131072;
  var DEBUG_INFO_LIMIT = 32;

  var MessageQueue = function () {
    function MessageQueue() {
      _$$_REQUIRE(_dependencyMap[0])(this, MessageQueue);

      this._lazyCallableModules = {};
      this._queue = [[], [], [], 0];
      this._successCallbacks = new Map();
      this._failureCallbacks = new Map();
      this._callID = 0;
      this._lastFlush = 0;
      this._eventLoopStartTime = Date.now();
      this._reactNativeMicrotasksCallback = null;
      this.callFunctionReturnFlushedQueue = this.callFunctionReturnFlushedQueue.bind(this);
      this.flushedQueue = this.flushedQueue.bind(this);
      this.invokeCallbackAndReturnFlushedQueue = this.invokeCallbackAndReturnFlushedQueue.bind(this);
    }

    _$$_REQUIRE(_dependencyMap[1])(MessageQueue, [{
      key: "callFunctionReturnFlushedQueue",
      value: function callFunctionReturnFlushedQueue(module, method, args) {
        var _this = this;

        this.__guard(function () {
          _this.__callFunction(module, method, args);
        });

        return this.flushedQueue();
      }
    }, {
      key: "invokeCallbackAndReturnFlushedQueue",
      value: function invokeCallbackAndReturnFlushedQueue(cbID, args) {
        var _this2 = this;

        this.__guard(function () {
          _this2.__invokeCallback(cbID, args);
        });

        return this.flushedQueue();
      }
    }, {
      key: "flushedQueue",
      value: function flushedQueue() {
        var _this3 = this;

        this.__guard(function () {
          _this3.__callReactNativeMicrotasks();
        });

        var queue = this._queue;
        this._queue = [[], [], [], this._callID];
        return queue[0].length ? queue : null;
      }
    }, {
      key: "getEventLoopRunningTime",
      value: function getEventLoopRunningTime() {
        return Date.now() - this._eventLoopStartTime;
      }
    }, {
      key: "registerCallableModule",
      value: function registerCallableModule(name, module) {
        this._lazyCallableModules[name] = function () {
          return module;
        };
      }
    }, {
      key: "registerLazyCallableModule",
      value: function registerLazyCallableModule(name, factory) {
        var module;
        var getValue = factory;

        this._lazyCallableModules[name] = function () {
          if (getValue) {
            module = getValue();
            getValue = null;
          }

          return module;
        };
      }
    }, {
      key: "getCallableModule",
      value: function getCallableModule(name) {
        var getValue = this._lazyCallableModules[name];
        return getValue ? getValue() : null;
      }
    }, {
      key: "callNativeSyncHook",
      value: function callNativeSyncHook(moduleID, methodID, params, onFail, onSucc) {
        this.processCallbacks(moduleID, methodID, params, onFail, onSucc);
        return global.nativeCallSyncHook(moduleID, methodID, params);
      }
    }, {
      key: "processCallbacks",
      value: function processCallbacks(moduleID, methodID, params, onFail, onSucc) {
        var _this4 = this;

        if (onFail || onSucc) {
          onFail && params.push(this._callID << 1);
          onSucc && params.push(this._callID << 1 | 1);

          this._successCallbacks.set(this._callID, onSucc);

          this._failureCallbacks.set(this._callID, onFail);
        }

        this._callID++;
      }
    }, {
      key: "enqueueNativeCall",
      value: function enqueueNativeCall(moduleID, methodID, params, onFail, onSucc) {
        this.processCallbacks(moduleID, methodID, params, onFail, onSucc);

        this._queue[MODULE_IDS].push(moduleID);

        this._queue[METHOD_IDS].push(methodID);

        this._queue[PARAMS].push(params);

        var now = Date.now();

        if (global.nativeFlushQueueImmediate && now - this._lastFlush >= MIN_TIME_BETWEEN_FLUSHES_MS) {
          var queue = this._queue;
          this._queue = [[], [], [], this._callID];
          this._lastFlush = now;
          global.nativeFlushQueueImmediate(queue);
        }

        _$$_REQUIRE(_dependencyMap[2]).counterEvent('pending_js_to_native_queue', this._queue[0].length);

        if (this.__spy) {
          this.__spy({
            type: TO_NATIVE,
            module: moduleID + '',
            method: methodID,
            args: params
          });
        }
      }
    }, {
      key: "createDebugLookup",
      value: function createDebugLookup(moduleID, name, methods) {}
    }, {
      key: "setReactNativeMicrotasksCallback",
      value: function setReactNativeMicrotasksCallback(fn) {
        this._reactNativeMicrotasksCallback = fn;
      }
    }, {
      key: "__guard",
      value: function __guard(fn) {
        if (this.__shouldPauseOnThrow()) {
          fn();
        } else {
          try {
            fn();
          } catch (error) {
            _$$_REQUIRE(_dependencyMap[3]).reportFatalError(error);
          }
        }
      }
    }, {
      key: "__shouldPauseOnThrow",
      value: function __shouldPauseOnThrow() {
        return typeof DebuggerInternal !== 'undefined' && DebuggerInternal.shouldPauseOnThrow === true;
      }
    }, {
      key: "__callReactNativeMicrotasks",
      value: function __callReactNativeMicrotasks() {
        _$$_REQUIRE(_dependencyMap[2]).beginEvent('JSTimers.callReactNativeMicrotasks()');

        if (this._reactNativeMicrotasksCallback != null) {
          this._reactNativeMicrotasksCallback();
        }

        _$$_REQUIRE(_dependencyMap[2]).endEvent();
      }
    }, {
      key: "__callFunction",
      value: function __callFunction(module, method, args) {
        this._lastFlush = Date.now();
        this._eventLoopStartTime = this._lastFlush;

        if (this.__spy) {
          _$$_REQUIRE(_dependencyMap[2]).beginEvent(module + "." + method + "(" + _$$_REQUIRE(_dependencyMap[4]).default(args) + ")");
        } else {
          _$$_REQUIRE(_dependencyMap[2]).beginEvent(module + "." + method + "(...)");
        }

        if (this.__spy) {
          this.__spy({
            type: TO_JS,
            module: module,
            method: method,
            args: args
          });
        }

        var moduleMethods = this.getCallableModule(module);

        _$$_REQUIRE(_dependencyMap[5])(!!moduleMethods, "Module " + module + " is not a registered callable module (calling " + method + "). A frequent cause of the error is that the application entry file path is incorrect.\n      This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native.");

        _$$_REQUIRE(_dependencyMap[5])(!!moduleMethods[method], "Method " + method + " does not exist on module " + module);

        moduleMethods[method].apply(moduleMethods, args);

        _$$_REQUIRE(_dependencyMap[2]).endEvent();
      }
    }, {
      key: "__invokeCallback",
      value: function __invokeCallback(cbID, args) {
        this._lastFlush = Date.now();
        this._eventLoopStartTime = this._lastFlush;
        var callID = cbID >>> 1;
        var isSuccess = cbID & 1;
        var callback = isSuccess ? this._successCallbacks.get(callID) : this._failureCallbacks.get(callID);

        if (!callback) {
          return;
        }

        this._successCallbacks.delete(callID);

        this._failureCallbacks.delete(callID);

        callback.apply(undefined, _$$_REQUIRE(_dependencyMap[6])(args));
      }
    }], [{
      key: "spy",
      value: function spy(spyOrToggle) {
        if (spyOrToggle === true) {
          MessageQueue.prototype.__spy = function (info) {};
        } else if (spyOrToggle === false) {
          MessageQueue.prototype.__spy = null;
        } else {
          MessageQueue.prototype.__spy = spyOrToggle;
        }
      }
    }]);

    return MessageQueue;
  }();

  module.exports = MessageQueue;
},46,[7,8,47,48,49,36,21]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var TRACE_TAG_REACT_APPS = 131072;
  var TRACE_TAG_JS_VM_CALLS = 134217728;
  var _enabled = false;
  var _asyncCookie = 0;
  var _markStack = [];

  var _markStackIndex = -1;

  var _canInstallReactHook = false;
  var REACT_MARKER = "\u269B";
  var userTimingPolyfill = null;
  var Systrace = {
    installReactHook: function installReactHook() {
      if (_enabled) {}

      _canInstallReactHook = true;
    },
    setEnabled: function setEnabled(enabled) {
      if (_enabled !== enabled) {
        _enabled = enabled;
      }
    },
    isEnabled: function isEnabled() {
      return _enabled;
    },
    beginEvent: function beginEvent(profileName, args) {
      if (_enabled) {
        var profileNameString = typeof profileName === 'function' ? profileName() : profileName;
        global.nativeTraceBeginSection(TRACE_TAG_REACT_APPS, profileNameString, args);
      }
    },
    endEvent: function endEvent() {
      if (_enabled) {
        global.nativeTraceEndSection(TRACE_TAG_REACT_APPS);
      }
    },
    beginAsyncEvent: function beginAsyncEvent(profileName) {
      var cookie = _asyncCookie;

      if (_enabled) {
        _asyncCookie++;
        var profileNameString = typeof profileName === 'function' ? profileName() : profileName;
        global.nativeTraceBeginAsyncSection(TRACE_TAG_REACT_APPS, profileNameString, cookie);
      }

      return cookie;
    },
    endAsyncEvent: function endAsyncEvent(profileName, cookie) {
      if (_enabled) {
        var profileNameString = typeof profileName === 'function' ? profileName() : profileName;
        global.nativeTraceEndAsyncSection(TRACE_TAG_REACT_APPS, profileNameString, cookie);
      }
    },
    counterEvent: function counterEvent(profileName, value) {
      if (_enabled) {
        var profileNameString = typeof profileName === 'function' ? profileName() : profileName;
        global.nativeTraceCounter && global.nativeTraceCounter(TRACE_TAG_REACT_APPS, profileNameString, value);
      }
    }
  };
  module.exports = Systrace;
},47,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = global.ErrorUtils;
},48,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createStringifySafeWithLimits = createStringifySafeWithLimits;
  exports.default = undefined;

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

  function createStringifySafeWithLimits(limits) {
    var _limits$maxDepth = limits.maxDepth,
        maxDepth = _limits$maxDepth === undefined ? Number.POSITIVE_INFINITY : _limits$maxDepth,
        _limits$maxStringLimi = limits.maxStringLimit,
        maxStringLimit = _limits$maxStringLimi === undefined ? Number.POSITIVE_INFINITY : _limits$maxStringLimi,
        _limits$maxArrayLimit = limits.maxArrayLimit,
        maxArrayLimit = _limits$maxArrayLimit === undefined ? Number.POSITIVE_INFINITY : _limits$maxArrayLimit,
        _limits$maxObjectKeys = limits.maxObjectKeysLimit,
        maxObjectKeysLimit = _limits$maxObjectKeys === undefined ? Number.POSITIVE_INFINITY : _limits$maxObjectKeys;
    var stack = [];

    function replacer(key, value) {
      while (stack.length && this !== stack[0]) {
        stack.shift();
      }

      if (typeof value === 'string') {
        var truncatedString = '...(truncated)...';

        if (value.length > maxStringLimit + truncatedString.length) {
          return value.substring(0, maxStringLimit) + truncatedString;
        }

        return value;
      }

      if (typeof value !== 'object' || value === null) {
        return value;
      }

      var retval = value;

      if (Array.isArray(value)) {
        if (stack.length >= maxDepth) {
          retval = "[ ... array with " + value.length + " values ... ]";
        } else if (value.length > maxArrayLimit) {
          retval = value.slice(0, maxArrayLimit).concat(["... extra " + (value.length - maxArrayLimit) + " values truncated ..."]);
        }
      } else {
        (0, _invariant.default)(typeof value === 'object', 'This was already found earlier');
        var keys = Object.keys(value);

        if (stack.length >= maxDepth) {
          retval = "{ ... object with " + keys.length + " keys ... }";
        } else if (keys.length > maxObjectKeysLimit) {
          retval = {};

          for (var _iterator = _createForOfIteratorHelperLoose(keys.slice(0, maxObjectKeysLimit)), _step; !(_step = _iterator()).done;) {
            var k = _step.value;
            retval[k] = value[k];
          }

          var truncatedKey = '...(truncated keys)...';
          retval[truncatedKey] = keys.length - maxObjectKeysLimit;
        }
      }

      stack.unshift(retval);
      return retval;
    }

    return function stringifySafe(arg) {
      if (arg === undefined) {
        return 'undefined';
      } else if (arg === null) {
        return 'null';
      } else if (typeof arg === 'function') {
        try {
          return arg.toString();
        } catch (e) {
          return '[function unknown]';
        }
      } else if (arg instanceof Error) {
        return arg.name + ': ' + arg.message;
      } else {
        try {
          var ret = JSON.stringify(arg, replacer);

          if (ret === undefined) {
            return '["' + typeof arg + '" failed to stringify]';
          }

          return ret;
        } catch (e) {
          if (typeof arg.toString === 'function') {
            try {
              return arg.toString();
            } catch (E) {}
          }
        }
      }

      return '["' + typeof arg + '" failed to stringify]';
    };
  }

  var stringifySafe = createStringifySafeWithLimits({
    maxDepth: 10,
    maxStringLimit: 100,
    maxArrayLimit: 50,
    maxObjectKeysLimit: 50
  });
  var _default = stringifySafe;
  exports.default = _default;
},49,[5,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function defineLazyObjectProperty(object, name, descriptor) {
    var get = descriptor.get;
    var enumerable = descriptor.enumerable !== false;
    var writable = descriptor.writable !== false;
    var value;
    var valueSet = false;

    function getValue() {
      if (!valueSet) {
        valueSet = true;
        setValue(get());
      }

      return value;
    }

    function setValue(newValue) {
      value = newValue;
      valueSet = true;
      Object.defineProperty(object, name, {
        value: newValue,
        configurable: true,
        enumerable: enumerable,
        writable: writable
      });
    }

    Object.defineProperty(object, name, {
      get: getValue,
      set: setValue,
      configurable: true,
      enumerable: enumerable
    });
  }

  module.exports = defineLazyObjectProperty;
},50,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('AccessibilityInfo');

  exports.default = _default;
},51,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('AccessibilityManager');

  exports.default = _default;
},52,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _NativeAccessibilityManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function legacySendAccessibilityEvent(reactTag, eventType) {
    if (eventType === 'focus' && _NativeAccessibilityManager.default) {
      _NativeAccessibilityManager.default.setAccessibilityFocus(reactTag);
    }
  }

  module.exports = legacySendAccessibilityEvent;
},53,[5,52]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var ReactNative;
  {
    ReactNative = _$$_REQUIRE(_dependencyMap[0]);
  }
  module.exports = ReactNative;
},54,[55]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  _$$_REQUIRE(_dependencyMap[0]);

  var React = _$$_REQUIRE(_dependencyMap[1]);

  function invokeGuardedCallbackImpl(name, func, context, a, b, c, d, e, f) {
    var funcArgs = Array.prototype.slice.call(arguments, 3);

    try {
      func.apply(context, funcArgs);
    } catch (error) {
      this.onError(error);
    }
  }

  var hasError = false,
      caughtError = null,
      hasRethrowError = false,
      rethrowError = null,
      reporter = {
    onError: function onError(error) {
      hasError = true;
      caughtError = error;
    }
  };

  function invokeGuardedCallback(name, func, context, a, b, c, d, e, f) {
    hasError = false;
    caughtError = null;
    invokeGuardedCallbackImpl.apply(reporter, arguments);
  }

  function invokeGuardedCallbackAndCatchFirstError(name, func, context, a, b, c, d, e, f) {
    invokeGuardedCallback.apply(this, arguments);

    if (hasError) {
      if (hasError) {
        var error = caughtError;
        hasError = false;
        caughtError = null;
      } else throw Error("clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue.");

      hasRethrowError || (hasRethrowError = true, rethrowError = error);
    }
  }

  var isArrayImpl = Array.isArray,
      getFiberCurrentPropsFromNode = null,
      getInstanceFromNode = null,
      getNodeFromInstance = null;

  function executeDispatch(event, listener, inst) {
    var type = event.type || "unknown-event";
    event.currentTarget = getNodeFromInstance(inst);
    invokeGuardedCallbackAndCatchFirstError(type, listener, undefined, event);
    event.currentTarget = null;
  }

  function executeDirectDispatch(event) {
    var dispatchListener = event._dispatchListeners,
        dispatchInstance = event._dispatchInstances;
    if (isArrayImpl(dispatchListener)) throw Error("executeDirectDispatch(...): Invalid `event`.");
    event.currentTarget = dispatchListener ? getNodeFromInstance(dispatchInstance) : null;
    dispatchListener = dispatchListener ? dispatchListener(event) : null;
    event.currentTarget = null;
    event._dispatchListeners = null;
    event._dispatchInstances = null;
    return dispatchListener;
  }

  function functionThatReturnsTrue() {
    return true;
  }

  function functionThatReturnsFalse() {
    return false;
  }

  function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) {
    this.dispatchConfig = dispatchConfig;
    this._targetInst = targetInst;
    this.nativeEvent = nativeEvent;
    this._dispatchInstances = this._dispatchListeners = null;
    dispatchConfig = this.constructor.Interface;

    for (var propName in dispatchConfig) {
      dispatchConfig.hasOwnProperty(propName) && ((targetInst = dispatchConfig[propName]) ? this[propName] = targetInst(nativeEvent) : "target" === propName ? this.target = nativeEventTarget : this[propName] = nativeEvent[propName]);
    }

    this.isDefaultPrevented = (null != nativeEvent.defaultPrevented ? nativeEvent.defaultPrevented : false === nativeEvent.returnValue) ? functionThatReturnsTrue : functionThatReturnsFalse;
    this.isPropagationStopped = functionThatReturnsFalse;
    return this;
  }

  _$$_REQUIRE(_dependencyMap[2])(SyntheticEvent.prototype, {
    preventDefault: function preventDefault() {
      this.defaultPrevented = true;
      var event = this.nativeEvent;
      event && (event.preventDefault ? event.preventDefault() : "unknown" !== typeof event.returnValue && (event.returnValue = false), this.isDefaultPrevented = functionThatReturnsTrue);
    },
    stopPropagation: function stopPropagation() {
      var event = this.nativeEvent;
      event && (event.stopPropagation ? event.stopPropagation() : "unknown" !== typeof event.cancelBubble && (event.cancelBubble = true), this.isPropagationStopped = functionThatReturnsTrue);
    },
    persist: function persist() {
      this.isPersistent = functionThatReturnsTrue;
    },
    isPersistent: functionThatReturnsFalse,
    destructor: function destructor() {
      var Interface = this.constructor.Interface,
          propName;

      for (propName in Interface) {
        this[propName] = null;
      }

      this.nativeEvent = this._targetInst = this.dispatchConfig = null;
      this.isPropagationStopped = this.isDefaultPrevented = functionThatReturnsFalse;
      this._dispatchInstances = this._dispatchListeners = null;
    }
  });

  SyntheticEvent.Interface = {
    type: null,
    target: null,
    currentTarget: function currentTarget() {
      return null;
    },
    eventPhase: null,
    bubbles: null,
    cancelable: null,
    timeStamp: function timeStamp(event) {
      return event.timeStamp || Date.now();
    },
    defaultPrevented: null,
    isTrusted: null
  };

  SyntheticEvent.extend = function (Interface) {
    function E() {}

    function Class() {
      return Super.apply(this, arguments);
    }

    var Super = this;
    E.prototype = Super.prototype;
    var prototype = new E();

    _$$_REQUIRE(_dependencyMap[2])(prototype, Class.prototype);

    Class.prototype = prototype;
    Class.prototype.constructor = Class;
    Class.Interface = _$$_REQUIRE(_dependencyMap[2])({}, Super.Interface, Interface);
    Class.extend = Super.extend;
    addEventPoolingTo(Class);
    return Class;
  };

  addEventPoolingTo(SyntheticEvent);

  function createOrGetPooledEvent(dispatchConfig, targetInst, nativeEvent, nativeInst) {
    if (this.eventPool.length) {
      var instance = this.eventPool.pop();
      this.call(instance, dispatchConfig, targetInst, nativeEvent, nativeInst);
      return instance;
    }

    return new this(dispatchConfig, targetInst, nativeEvent, nativeInst);
  }

  function releasePooledEvent(event) {
    if (!(event instanceof this)) throw Error("Trying to release an event instance into a pool of a different type.");
    event.destructor();
    10 > this.eventPool.length && this.eventPool.push(event);
  }

  function addEventPoolingTo(EventConstructor) {
    EventConstructor.getPooled = createOrGetPooledEvent;
    EventConstructor.eventPool = [];
    EventConstructor.release = releasePooledEvent;
  }

  var ResponderSyntheticEvent = SyntheticEvent.extend({
    touchHistory: function touchHistory() {
      return null;
    }
  });

  function isStartish(topLevelType) {
    return "topTouchStart" === topLevelType;
  }

  function isMoveish(topLevelType) {
    return "topTouchMove" === topLevelType;
  }

  var startDependencies = ["topTouchStart"],
      moveDependencies = ["topTouchMove"],
      endDependencies = ["topTouchCancel", "topTouchEnd"],
      touchBank = [],
      touchHistory = {
    touchBank: touchBank,
    numberActiveTouches: 0,
    indexOfSingleActiveTouch: -1,
    mostRecentTimeStamp: 0
  };

  function timestampForTouch(touch) {
    return touch.timeStamp || touch.timestamp;
  }

  function getTouchIdentifier(_ref) {
    _ref = _ref.identifier;
    if (null == _ref) throw Error("Touch object is missing identifier.");
    return _ref;
  }

  function recordTouchStart(touch) {
    var identifier = getTouchIdentifier(touch),
        touchRecord = touchBank[identifier];
    touchRecord ? (touchRecord.touchActive = true, touchRecord.startPageX = touch.pageX, touchRecord.startPageY = touch.pageY, touchRecord.startTimeStamp = timestampForTouch(touch), touchRecord.currentPageX = touch.pageX, touchRecord.currentPageY = touch.pageY, touchRecord.currentTimeStamp = timestampForTouch(touch), touchRecord.previousPageX = touch.pageX, touchRecord.previousPageY = touch.pageY, touchRecord.previousTimeStamp = timestampForTouch(touch)) : (touchRecord = {
      touchActive: true,
      startPageX: touch.pageX,
      startPageY: touch.pageY,
      startTimeStamp: timestampForTouch(touch),
      currentPageX: touch.pageX,
      currentPageY: touch.pageY,
      currentTimeStamp: timestampForTouch(touch),
      previousPageX: touch.pageX,
      previousPageY: touch.pageY,
      previousTimeStamp: timestampForTouch(touch)
    }, touchBank[identifier] = touchRecord);
    touchHistory.mostRecentTimeStamp = timestampForTouch(touch);
  }

  function recordTouchMove(touch) {
    var touchRecord = touchBank[getTouchIdentifier(touch)];
    touchRecord && (touchRecord.touchActive = true, touchRecord.previousPageX = touchRecord.currentPageX, touchRecord.previousPageY = touchRecord.currentPageY, touchRecord.previousTimeStamp = touchRecord.currentTimeStamp, touchRecord.currentPageX = touch.pageX, touchRecord.currentPageY = touch.pageY, touchRecord.currentTimeStamp = timestampForTouch(touch), touchHistory.mostRecentTimeStamp = timestampForTouch(touch));
  }

  function recordTouchEnd(touch) {
    var touchRecord = touchBank[getTouchIdentifier(touch)];
    touchRecord && (touchRecord.touchActive = false, touchRecord.previousPageX = touchRecord.currentPageX, touchRecord.previousPageY = touchRecord.currentPageY, touchRecord.previousTimeStamp = touchRecord.currentTimeStamp, touchRecord.currentPageX = touch.pageX, touchRecord.currentPageY = touch.pageY, touchRecord.currentTimeStamp = timestampForTouch(touch), touchHistory.mostRecentTimeStamp = timestampForTouch(touch));
  }

  var instrumentationCallback,
      ResponderTouchHistoryStore = {
    instrument: function instrument(callback) {
      instrumentationCallback = callback;
    },
    recordTouchTrack: function recordTouchTrack(topLevelType, nativeEvent) {
      null != instrumentationCallback && instrumentationCallback(topLevelType, nativeEvent);
      if (isMoveish(topLevelType)) nativeEvent.changedTouches.forEach(recordTouchMove);else if (isStartish(topLevelType)) nativeEvent.changedTouches.forEach(recordTouchStart), touchHistory.numberActiveTouches = nativeEvent.touches.length, 1 === touchHistory.numberActiveTouches && (touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier);else if ("topTouchEnd" === topLevelType || "topTouchCancel" === topLevelType) if (nativeEvent.changedTouches.forEach(recordTouchEnd), touchHistory.numberActiveTouches = nativeEvent.touches.length, 1 === touchHistory.numberActiveTouches) for (topLevelType = 0; topLevelType < touchBank.length; topLevelType++) {
        if (nativeEvent = touchBank[topLevelType], null != nativeEvent && nativeEvent.touchActive) {
          touchHistory.indexOfSingleActiveTouch = topLevelType;
          break;
        }
      }
    },
    touchHistory: touchHistory
  };

  function accumulate(current, next) {
    if (null == next) throw Error("accumulate(...): Accumulated items must not be null or undefined.");
    return null == current ? next : isArrayImpl(current) ? current.concat(next) : isArrayImpl(next) ? [current].concat(next) : [current, next];
  }

  function accumulateInto(current, next) {
    if (null == next) throw Error("accumulateInto(...): Accumulated items must not be null or undefined.");
    if (null == current) return next;

    if (isArrayImpl(current)) {
      if (isArrayImpl(next)) return current.push.apply(current, next), current;
      current.push(next);
      return current;
    }

    return isArrayImpl(next) ? [current].concat(next) : [current, next];
  }

  function forEachAccumulated(arr, cb, scope) {
    Array.isArray(arr) ? arr.forEach(cb, scope) : arr && cb.call(scope, arr);
  }

  var responderInst = null,
      trackedTouchCount = 0;

  function changeResponder(nextResponderInst, blockHostResponder) {
    var oldResponderInst = responderInst;
    responderInst = nextResponderInst;
    if (null !== ResponderEventPlugin.GlobalResponderHandler) ResponderEventPlugin.GlobalResponderHandler.onChange(oldResponderInst, nextResponderInst, blockHostResponder);
  }

  var eventTypes = {
    startShouldSetResponder: {
      phasedRegistrationNames: {
        bubbled: "onStartShouldSetResponder",
        captured: "onStartShouldSetResponderCapture"
      },
      dependencies: startDependencies
    },
    scrollShouldSetResponder: {
      phasedRegistrationNames: {
        bubbled: "onScrollShouldSetResponder",
        captured: "onScrollShouldSetResponderCapture"
      },
      dependencies: ["topScroll"]
    },
    selectionChangeShouldSetResponder: {
      phasedRegistrationNames: {
        bubbled: "onSelectionChangeShouldSetResponder",
        captured: "onSelectionChangeShouldSetResponderCapture"
      },
      dependencies: ["topSelectionChange"]
    },
    moveShouldSetResponder: {
      phasedRegistrationNames: {
        bubbled: "onMoveShouldSetResponder",
        captured: "onMoveShouldSetResponderCapture"
      },
      dependencies: moveDependencies
    },
    responderStart: {
      registrationName: "onResponderStart",
      dependencies: startDependencies
    },
    responderMove: {
      registrationName: "onResponderMove",
      dependencies: moveDependencies
    },
    responderEnd: {
      registrationName: "onResponderEnd",
      dependencies: endDependencies
    },
    responderRelease: {
      registrationName: "onResponderRelease",
      dependencies: endDependencies
    },
    responderTerminationRequest: {
      registrationName: "onResponderTerminationRequest",
      dependencies: []
    },
    responderGrant: {
      registrationName: "onResponderGrant",
      dependencies: []
    },
    responderReject: {
      registrationName: "onResponderReject",
      dependencies: []
    },
    responderTerminate: {
      registrationName: "onResponderTerminate",
      dependencies: []
    }
  };

  function getParent(inst) {
    do {
      inst = inst.return;
    } while (inst && 5 !== inst.tag);

    return inst ? inst : null;
  }

  function traverseTwoPhase(inst, fn, arg) {
    for (var path = []; inst;) {
      path.push(inst), inst = getParent(inst);
    }

    for (inst = path.length; 0 < inst--;) {
      fn(path[inst], "captured", arg);
    }

    for (inst = 0; inst < path.length; inst++) {
      fn(path[inst], "bubbled", arg);
    }
  }

  function getListener(inst, registrationName) {
    inst = inst.stateNode;
    if (null === inst) return null;
    inst = getFiberCurrentPropsFromNode(inst);
    if (null === inst) return null;
    if ((inst = inst[registrationName]) && "function" !== typeof inst) throw Error("Expected `" + registrationName + "` listener to be a function, instead got a value of `" + typeof inst + "` type.");
    return inst;
  }

  function accumulateDirectionalDispatches(inst, phase, event) {
    if (phase = getListener(inst, event.dispatchConfig.phasedRegistrationNames[phase])) event._dispatchListeners = accumulateInto(event._dispatchListeners, phase), event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);
  }

  function accumulateDirectDispatchesSingle(event) {
    if (event && event.dispatchConfig.registrationName) {
      var inst = event._targetInst;

      if (inst && event && event.dispatchConfig.registrationName) {
        var listener = getListener(inst, event.dispatchConfig.registrationName);
        listener && (event._dispatchListeners = accumulateInto(event._dispatchListeners, listener), event._dispatchInstances = accumulateInto(event._dispatchInstances, inst));
      }
    }
  }

  function accumulateTwoPhaseDispatchesSingleSkipTarget(event) {
    if (event && event.dispatchConfig.phasedRegistrationNames) {
      var targetInst = event._targetInst;
      targetInst = targetInst ? getParent(targetInst) : null;
      traverseTwoPhase(targetInst, accumulateDirectionalDispatches, event);
    }
  }

  function accumulateTwoPhaseDispatchesSingle(event) {
    event && event.dispatchConfig.phasedRegistrationNames && traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event);
  }

  var ResponderEventPlugin = {
    _getResponder: function _getResponder() {
      return responderInst;
    },
    eventTypes: eventTypes,
    extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) {
      if (isStartish(topLevelType)) trackedTouchCount += 1;else if ("topTouchEnd" === topLevelType || "topTouchCancel" === topLevelType) if (0 <= trackedTouchCount) --trackedTouchCount;else return null;
      ResponderTouchHistoryStore.recordTouchTrack(topLevelType, nativeEvent);

      if (targetInst && ("topScroll" === topLevelType && !nativeEvent.responderIgnoreScroll || 0 < trackedTouchCount && "topSelectionChange" === topLevelType || isStartish(topLevelType) || isMoveish(topLevelType))) {
        var shouldSetEventType = isStartish(topLevelType) ? eventTypes.startShouldSetResponder : isMoveish(topLevelType) ? eventTypes.moveShouldSetResponder : "topSelectionChange" === topLevelType ? eventTypes.selectionChangeShouldSetResponder : eventTypes.scrollShouldSetResponder;
        if (responderInst) b: {
          var JSCompiler_temp = responderInst;

          for (var depthA = 0, tempA = JSCompiler_temp; tempA; tempA = getParent(tempA)) {
            depthA++;
          }

          tempA = 0;

          for (var tempB = targetInst; tempB; tempB = getParent(tempB)) {
            tempA++;
          }

          for (; 0 < depthA - tempA;) {
            JSCompiler_temp = getParent(JSCompiler_temp), depthA--;
          }

          for (; 0 < tempA - depthA;) {
            targetInst = getParent(targetInst), tempA--;
          }

          for (; depthA--;) {
            if (JSCompiler_temp === targetInst || JSCompiler_temp === targetInst.alternate) break b;
            JSCompiler_temp = getParent(JSCompiler_temp);
            targetInst = getParent(targetInst);
          }

          JSCompiler_temp = null;
        } else JSCompiler_temp = targetInst;
        targetInst = JSCompiler_temp;
        JSCompiler_temp = targetInst === responderInst;
        shouldSetEventType = ResponderSyntheticEvent.getPooled(shouldSetEventType, targetInst, nativeEvent, nativeEventTarget);
        shouldSetEventType.touchHistory = ResponderTouchHistoryStore.touchHistory;
        JSCompiler_temp ? forEachAccumulated(shouldSetEventType, accumulateTwoPhaseDispatchesSingleSkipTarget) : forEachAccumulated(shouldSetEventType, accumulateTwoPhaseDispatchesSingle);

        b: {
          JSCompiler_temp = shouldSetEventType._dispatchListeners;
          targetInst = shouldSetEventType._dispatchInstances;
          if (isArrayImpl(JSCompiler_temp)) for (depthA = 0; depthA < JSCompiler_temp.length && !shouldSetEventType.isPropagationStopped(); depthA++) {
            if (JSCompiler_temp[depthA](shouldSetEventType, targetInst[depthA])) {
              JSCompiler_temp = targetInst[depthA];
              break b;
            }
          } else if (JSCompiler_temp && JSCompiler_temp(shouldSetEventType, targetInst)) {
            JSCompiler_temp = targetInst;
            break b;
          }
          JSCompiler_temp = null;
        }

        shouldSetEventType._dispatchInstances = null;
        shouldSetEventType._dispatchListeners = null;
        shouldSetEventType.isPersistent() || shouldSetEventType.constructor.release(shouldSetEventType);
        if (JSCompiler_temp && JSCompiler_temp !== responderInst) {
          if (shouldSetEventType = ResponderSyntheticEvent.getPooled(eventTypes.responderGrant, JSCompiler_temp, nativeEvent, nativeEventTarget), shouldSetEventType.touchHistory = ResponderTouchHistoryStore.touchHistory, forEachAccumulated(shouldSetEventType, accumulateDirectDispatchesSingle), targetInst = true === executeDirectDispatch(shouldSetEventType), responderInst) {
            if (depthA = ResponderSyntheticEvent.getPooled(eventTypes.responderTerminationRequest, responderInst, nativeEvent, nativeEventTarget), depthA.touchHistory = ResponderTouchHistoryStore.touchHistory, forEachAccumulated(depthA, accumulateDirectDispatchesSingle), tempA = !depthA._dispatchListeners || executeDirectDispatch(depthA), depthA.isPersistent() || depthA.constructor.release(depthA), tempA) {
              depthA = ResponderSyntheticEvent.getPooled(eventTypes.responderTerminate, responderInst, nativeEvent, nativeEventTarget);
              depthA.touchHistory = ResponderTouchHistoryStore.touchHistory;
              forEachAccumulated(depthA, accumulateDirectDispatchesSingle);
              var JSCompiler_temp$jscomp$0 = accumulate(JSCompiler_temp$jscomp$0, [shouldSetEventType, depthA]);
              changeResponder(JSCompiler_temp, targetInst);
            } else shouldSetEventType = ResponderSyntheticEvent.getPooled(eventTypes.responderReject, JSCompiler_temp, nativeEvent, nativeEventTarget), shouldSetEventType.touchHistory = ResponderTouchHistoryStore.touchHistory, forEachAccumulated(shouldSetEventType, accumulateDirectDispatchesSingle), JSCompiler_temp$jscomp$0 = accumulate(JSCompiler_temp$jscomp$0, shouldSetEventType);
          } else JSCompiler_temp$jscomp$0 = accumulate(JSCompiler_temp$jscomp$0, shouldSetEventType), changeResponder(JSCompiler_temp, targetInst);
        } else JSCompiler_temp$jscomp$0 = null;
      } else JSCompiler_temp$jscomp$0 = null;

      shouldSetEventType = responderInst && isStartish(topLevelType);
      JSCompiler_temp = responderInst && isMoveish(topLevelType);
      targetInst = responderInst && ("topTouchEnd" === topLevelType || "topTouchCancel" === topLevelType);
      if (shouldSetEventType = shouldSetEventType ? eventTypes.responderStart : JSCompiler_temp ? eventTypes.responderMove : targetInst ? eventTypes.responderEnd : null) shouldSetEventType = ResponderSyntheticEvent.getPooled(shouldSetEventType, responderInst, nativeEvent, nativeEventTarget), shouldSetEventType.touchHistory = ResponderTouchHistoryStore.touchHistory, forEachAccumulated(shouldSetEventType, accumulateDirectDispatchesSingle), JSCompiler_temp$jscomp$0 = accumulate(JSCompiler_temp$jscomp$0, shouldSetEventType);
      shouldSetEventType = responderInst && "topTouchCancel" === topLevelType;
      if (topLevelType = responderInst && !shouldSetEventType && ("topTouchEnd" === topLevelType || "topTouchCancel" === topLevelType)) a: {
        if ((topLevelType = nativeEvent.touches) && 0 !== topLevelType.length) for (JSCompiler_temp = 0; JSCompiler_temp < topLevelType.length; JSCompiler_temp++) {
          if (targetInst = topLevelType[JSCompiler_temp].target, null !== targetInst && undefined !== targetInst && 0 !== targetInst) {
            depthA = getInstanceFromNode(targetInst);

            b: {
              for (targetInst = responderInst; depthA;) {
                if (targetInst === depthA || targetInst === depthA.alternate) {
                  targetInst = true;
                  break b;
                }

                depthA = getParent(depthA);
              }

              targetInst = false;
            }

            if (targetInst) {
              topLevelType = false;
              break a;
            }
          }
        }
        topLevelType = true;
      }
      if (topLevelType = shouldSetEventType ? eventTypes.responderTerminate : topLevelType ? eventTypes.responderRelease : null) nativeEvent = ResponderSyntheticEvent.getPooled(topLevelType, responderInst, nativeEvent, nativeEventTarget), nativeEvent.touchHistory = ResponderTouchHistoryStore.touchHistory, forEachAccumulated(nativeEvent, accumulateDirectDispatchesSingle), JSCompiler_temp$jscomp$0 = accumulate(JSCompiler_temp$jscomp$0, nativeEvent), changeResponder(null);
      return JSCompiler_temp$jscomp$0;
    },
    GlobalResponderHandler: null,
    injection: {
      injectGlobalResponderHandler: function injectGlobalResponderHandler(GlobalResponderHandler) {
        ResponderEventPlugin.GlobalResponderHandler = GlobalResponderHandler;
      }
    }
  },
      eventPluginOrder = null,
      namesToPlugins = {};

  function recomputePluginOrdering() {
    if (eventPluginOrder) for (var pluginName in namesToPlugins) {
      var pluginModule = namesToPlugins[pluginName],
          pluginIndex = eventPluginOrder.indexOf(pluginName);
      if (!(-1 < pluginIndex)) throw Error("EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `" + pluginName + "`.");

      if (!plugins[pluginIndex]) {
        if (!pluginModule.extractEvents) throw Error("EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `" + pluginName + "` does not.");
        plugins[pluginIndex] = pluginModule;
        pluginIndex = pluginModule.eventTypes;

        for (var eventName in pluginIndex) {
          var JSCompiler_inline_result = undefined;
          var dispatchConfig = pluginIndex[eventName],
              eventName$jscomp$0 = eventName;
          if (eventNameDispatchConfigs.hasOwnProperty(eventName$jscomp$0)) throw Error("EventPluginRegistry: More than one plugin attempted to publish the same event name, `" + eventName$jscomp$0 + "`.");
          eventNameDispatchConfigs[eventName$jscomp$0] = dispatchConfig;
          var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;

          if (phasedRegistrationNames) {
            for (JSCompiler_inline_result in phasedRegistrationNames) {
              phasedRegistrationNames.hasOwnProperty(JSCompiler_inline_result) && publishRegistrationName(phasedRegistrationNames[JSCompiler_inline_result], pluginModule, eventName$jscomp$0);
            }

            JSCompiler_inline_result = true;
          } else dispatchConfig.registrationName ? (publishRegistrationName(dispatchConfig.registrationName, pluginModule, eventName$jscomp$0), JSCompiler_inline_result = true) : JSCompiler_inline_result = false;

          if (!JSCompiler_inline_result) throw Error("EventPluginRegistry: Failed to publish event `" + eventName + "` for plugin `" + pluginName + "`.");
        }
      }
    }
  }

  function publishRegistrationName(registrationName, pluginModule) {
    if (registrationNameModules[registrationName]) throw Error("EventPluginRegistry: More than one plugin attempted to publish the same registration name, `" + registrationName + "`.");
    registrationNameModules[registrationName] = pluginModule;
  }

  var plugins = [],
      eventNameDispatchConfigs = {},
      registrationNameModules = {};

  function getListener$1(inst, registrationName) {
    inst = inst.stateNode;
    if (null === inst) return null;
    inst = getFiberCurrentPropsFromNode(inst);
    if (null === inst) return null;
    if ((inst = inst[registrationName]) && "function" !== typeof inst) throw Error("Expected `" + registrationName + "` listener to be a function, instead got a value of `" + typeof inst + "` type.");
    return inst;
  }

  var customBubblingEventTypes = _$$_REQUIRE(_dependencyMap[3]).ReactNativeViewConfigRegistry.customBubblingEventTypes,
      customDirectEventTypes = _$$_REQUIRE(_dependencyMap[3]).ReactNativeViewConfigRegistry.customDirectEventTypes;

  function accumulateDirectionalDispatches$1(inst, phase, event) {
    if (phase = getListener$1(inst, event.dispatchConfig.phasedRegistrationNames[phase])) event._dispatchListeners = accumulateInto(event._dispatchListeners, phase), event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);
  }

  function accumulateTwoPhaseDispatchesSingle$1(event) {
    if (event && event.dispatchConfig.phasedRegistrationNames) {
      for (var inst = event._targetInst, path = []; inst;) {
        path.push(inst);

        do {
          inst = inst.return;
        } while (inst && 5 !== inst.tag);

        inst = inst ? inst : null;
      }

      for (inst = path.length; 0 < inst--;) {
        accumulateDirectionalDispatches$1(path[inst], "captured", event);
      }

      for (inst = 0; inst < path.length; inst++) {
        accumulateDirectionalDispatches$1(path[inst], "bubbled", event);
      }
    }
  }

  function accumulateDirectDispatchesSingle$1(event) {
    if (event && event.dispatchConfig.registrationName) {
      var inst = event._targetInst;

      if (inst && event && event.dispatchConfig.registrationName) {
        var listener = getListener$1(inst, event.dispatchConfig.registrationName);
        listener && (event._dispatchListeners = accumulateInto(event._dispatchListeners, listener), event._dispatchInstances = accumulateInto(event._dispatchInstances, inst));
      }
    }
  }

  if (eventPluginOrder) throw Error("EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React.");
  eventPluginOrder = Array.prototype.slice.call(["ResponderEventPlugin", "ReactNativeBridgeEventPlugin"]);
  recomputePluginOrdering();
  var injectedNamesToPlugins$jscomp$inline_219 = {
    ResponderEventPlugin: ResponderEventPlugin,
    ReactNativeBridgeEventPlugin: {
      eventTypes: {},
      extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) {
        if (null == targetInst) return null;
        var bubbleDispatchConfig = customBubblingEventTypes[topLevelType],
            directDispatchConfig = customDirectEventTypes[topLevelType];
        if (!bubbleDispatchConfig && !directDispatchConfig) throw Error('Unsupported top level event type "' + topLevelType + '" dispatched');
        topLevelType = SyntheticEvent.getPooled(bubbleDispatchConfig || directDispatchConfig, targetInst, nativeEvent, nativeEventTarget);
        if (bubbleDispatchConfig) forEachAccumulated(topLevelType, accumulateTwoPhaseDispatchesSingle$1);else if (directDispatchConfig) forEachAccumulated(topLevelType, accumulateDirectDispatchesSingle$1);else return null;
        return topLevelType;
      }
    }
  },
      isOrderingDirty$jscomp$inline_220 = false,
      pluginName$jscomp$inline_221;

  for (pluginName$jscomp$inline_221 in injectedNamesToPlugins$jscomp$inline_219) {
    if (injectedNamesToPlugins$jscomp$inline_219.hasOwnProperty(pluginName$jscomp$inline_221)) {
      var pluginModule$jscomp$inline_222 = injectedNamesToPlugins$jscomp$inline_219[pluginName$jscomp$inline_221];

      if (!namesToPlugins.hasOwnProperty(pluginName$jscomp$inline_221) || namesToPlugins[pluginName$jscomp$inline_221] !== pluginModule$jscomp$inline_222) {
        if (namesToPlugins[pluginName$jscomp$inline_221]) throw Error("EventPluginRegistry: Cannot inject two different event plugins using the same name, `" + pluginName$jscomp$inline_221 + "`.");
        namesToPlugins[pluginName$jscomp$inline_221] = pluginModule$jscomp$inline_222;
        isOrderingDirty$jscomp$inline_220 = true;
      }
    }
  }

  isOrderingDirty$jscomp$inline_220 && recomputePluginOrdering();
  var instanceCache = new Map(),
      instanceProps = new Map();

  function getInstanceFromTag(tag) {
    return instanceCache.get(tag) || null;
  }

  function batchedUpdatesImpl(fn, bookkeeping) {
    return fn(bookkeeping);
  }

  var isInsideEventHandler = false;

  function batchedUpdates(fn, bookkeeping) {
    if (isInsideEventHandler) return fn(bookkeeping);
    isInsideEventHandler = true;

    try {
      return batchedUpdatesImpl(fn, bookkeeping);
    } finally {
      isInsideEventHandler = false;
    }
  }

  var eventQueue = null;

  function executeDispatchesAndReleaseTopLevel(e) {
    if (e) {
      var dispatchListeners = e._dispatchListeners,
          dispatchInstances = e._dispatchInstances;
      if (isArrayImpl(dispatchListeners)) for (var i = 0; i < dispatchListeners.length && !e.isPropagationStopped(); i++) {
        executeDispatch(e, dispatchListeners[i], dispatchInstances[i]);
      } else dispatchListeners && executeDispatch(e, dispatchListeners, dispatchInstances);
      e._dispatchListeners = null;
      e._dispatchInstances = null;
      e.isPersistent() || e.constructor.release(e);
    }
  }

  var EMPTY_NATIVE_EVENT = {};

  function _receiveRootNodeIDEvent(rootNodeID, topLevelType, nativeEventParam) {
    var nativeEvent = nativeEventParam || EMPTY_NATIVE_EVENT,
        inst = getInstanceFromTag(rootNodeID),
        target = null;
    null != inst && (target = inst.stateNode);
    batchedUpdates(function () {
      var JSCompiler_inline_result = target;

      for (var events = null, legacyPlugins = plugins, i = 0; i < legacyPlugins.length; i++) {
        var possiblePlugin = legacyPlugins[i];
        possiblePlugin && (possiblePlugin = possiblePlugin.extractEvents(topLevelType, inst, nativeEvent, JSCompiler_inline_result)) && (events = accumulateInto(events, possiblePlugin));
      }

      JSCompiler_inline_result = events;
      null !== JSCompiler_inline_result && (eventQueue = accumulateInto(eventQueue, JSCompiler_inline_result));
      JSCompiler_inline_result = eventQueue;
      eventQueue = null;

      if (JSCompiler_inline_result) {
        forEachAccumulated(JSCompiler_inline_result, executeDispatchesAndReleaseTopLevel);
        if (eventQueue) throw Error("processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.");
        if (hasRethrowError) throw JSCompiler_inline_result = rethrowError, hasRethrowError = false, rethrowError = null, JSCompiler_inline_result;
      }
    });
  }

  _$$_REQUIRE(_dependencyMap[3]).RCTEventEmitter.register({
    receiveEvent: function receiveEvent(rootNodeID, topLevelType, nativeEventParam) {
      _receiveRootNodeIDEvent(rootNodeID, topLevelType, nativeEventParam);
    },
    receiveTouches: function receiveTouches(eventTopLevelType, touches, changedIndices) {
      if ("topTouchEnd" === eventTopLevelType || "topTouchCancel" === eventTopLevelType) {
        var JSCompiler_temp = [];

        for (var i = 0; i < changedIndices.length; i++) {
          var index$0 = changedIndices[i];
          JSCompiler_temp.push(touches[index$0]);
          touches[index$0] = null;
        }

        for (i = changedIndices = 0; i < touches.length; i++) {
          index$0 = touches[i], null !== index$0 && (touches[changedIndices++] = index$0);
        }

        touches.length = changedIndices;
      } else for (JSCompiler_temp = [], i = 0; i < changedIndices.length; i++) {
        JSCompiler_temp.push(touches[changedIndices[i]]);
      }

      for (changedIndices = 0; changedIndices < JSCompiler_temp.length; changedIndices++) {
        i = JSCompiler_temp[changedIndices];
        i.changedTouches = JSCompiler_temp;
        i.touches = touches;
        index$0 = null;
        var target = i.target;
        null === target || undefined === target || 1 > target || (index$0 = target);

        _receiveRootNodeIDEvent(index$0, eventTopLevelType, i);
      }
    }
  });

  getFiberCurrentPropsFromNode = function getFiberCurrentPropsFromNode(stateNode) {
    return instanceProps.get(stateNode._nativeTag) || null;
  };

  getInstanceFromNode = getInstanceFromTag;

  getNodeFromInstance = function getNodeFromInstance(inst) {
    inst = inst.stateNode;
    var tag = inst._nativeTag;
    undefined === tag && (inst = inst.canonical, tag = inst._nativeTag);
    if (!tag) throw Error("All native instances should have a tag.");
    return inst;
  };

  ResponderEventPlugin.injection.injectGlobalResponderHandler({
    onChange: function onChange(from, to, blockNativeResponder) {
      null !== to ? _$$_REQUIRE(_dependencyMap[3]).UIManager.setJSResponder(to.stateNode._nativeTag, blockNativeResponder) : _$$_REQUIRE(_dependencyMap[3]).UIManager.clearJSResponder();
    }
  });
  var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,
      REACT_ELEMENT_TYPE = 60103,
      REACT_PORTAL_TYPE = 60106,
      REACT_FRAGMENT_TYPE = 60107,
      REACT_STRICT_MODE_TYPE = 60108,
      REACT_PROFILER_TYPE = 60114,
      REACT_PROVIDER_TYPE = 60109,
      REACT_CONTEXT_TYPE = 60110,
      REACT_FORWARD_REF_TYPE = 60112,
      REACT_SUSPENSE_TYPE = 60113,
      REACT_SUSPENSE_LIST_TYPE = 60120,
      REACT_MEMO_TYPE = 60115,
      REACT_LAZY_TYPE = 60116,
      REACT_DEBUG_TRACING_MODE_TYPE = 60129,
      REACT_OFFSCREEN_TYPE = 60130,
      REACT_LEGACY_HIDDEN_TYPE = 60131,
      REACT_CACHE_TYPE = 60132;

  if ("function" === typeof Symbol && Symbol.for) {
    var symbolFor = Symbol.for;
    REACT_ELEMENT_TYPE = symbolFor("react.element");
    REACT_PORTAL_TYPE = symbolFor("react.portal");
    REACT_FRAGMENT_TYPE = symbolFor("react.fragment");
    REACT_STRICT_MODE_TYPE = symbolFor("react.strict_mode");
    REACT_PROFILER_TYPE = symbolFor("react.profiler");
    REACT_PROVIDER_TYPE = symbolFor("react.provider");
    REACT_CONTEXT_TYPE = symbolFor("react.context");
    REACT_FORWARD_REF_TYPE = symbolFor("react.forward_ref");
    REACT_SUSPENSE_TYPE = symbolFor("react.suspense");
    REACT_SUSPENSE_LIST_TYPE = symbolFor("react.suspense_list");
    REACT_MEMO_TYPE = symbolFor("react.memo");
    REACT_LAZY_TYPE = symbolFor("react.lazy");
    symbolFor("react.scope");
    REACT_DEBUG_TRACING_MODE_TYPE = symbolFor("react.debug_trace_mode");
    REACT_OFFSCREEN_TYPE = symbolFor("react.offscreen");
    REACT_LEGACY_HIDDEN_TYPE = symbolFor("react.legacy_hidden");
    REACT_CACHE_TYPE = symbolFor("react.cache");
  }

  var MAYBE_ITERATOR_SYMBOL = "function" === typeof Symbol && Symbol.iterator;

  function getIteratorFn(maybeIterable) {
    if (null === maybeIterable || "object" !== typeof maybeIterable) return null;
    maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"];
    return "function" === typeof maybeIterable ? maybeIterable : null;
  }

  function getComponentNameFromType(type) {
    if (null == type) return null;
    if ("function" === typeof type) return type.displayName || type.name || null;
    if ("string" === typeof type) return type;

    switch (type) {
      case REACT_FRAGMENT_TYPE:
        return "Fragment";

      case REACT_PORTAL_TYPE:
        return "Portal";

      case REACT_PROFILER_TYPE:
        return "Profiler";

      case REACT_STRICT_MODE_TYPE:
        return "StrictMode";

      case REACT_SUSPENSE_TYPE:
        return "Suspense";

      case REACT_SUSPENSE_LIST_TYPE:
        return "SuspenseList";

      case REACT_CACHE_TYPE:
        return "Cache";
    }

    if ("object" === typeof type) switch (type.$$typeof) {
      case REACT_CONTEXT_TYPE:
        return (type.displayName || "Context") + ".Consumer";

      case REACT_PROVIDER_TYPE:
        return (type._context.displayName || "Context") + ".Provider";

      case REACT_FORWARD_REF_TYPE:
        var innerType = type.render;
        type = type.displayName;
        type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef");
        return type;

      case REACT_MEMO_TYPE:
        return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo";

      case REACT_LAZY_TYPE:
        innerType = type._payload;
        type = type._init;

        try {
          return getComponentNameFromType(type(innerType));
        } catch (x) {}

    }
    return null;
  }

  function getComponentNameFromFiber(fiber) {
    var type = fiber.type;

    switch (fiber.tag) {
      case 24:
        return "Cache";

      case 9:
        return (type.displayName || "Context") + ".Consumer";

      case 10:
        return (type._context.displayName || "Context") + ".Provider";

      case 18:
        return "DehydratedFragment";

      case 11:
        return fiber = type.render, fiber = fiber.displayName || fiber.name || "", type.displayName || ("" !== fiber ? "ForwardRef(" + fiber + ")" : "ForwardRef");

      case 7:
        return "Fragment";

      case 5:
        return type;

      case 4:
        return "Portal";

      case 3:
        return "Root";

      case 6:
        return "Text";

      case 16:
        return getComponentNameFromType(type);

      case 23:
        return "LegacyHidden";

      case 8:
        return type === REACT_STRICT_MODE_TYPE ? "StrictMode" : "Mode";

      case 22:
        return "Offscreen";

      case 12:
        return "Profiler";

      case 21:
        return "Scope";

      case 13:
        return "Suspense";

      case 19:
        return "SuspenseList";

      case 1:
      case 0:
      case 17:
      case 2:
      case 14:
      case 15:
        if ("function" === typeof type) return type.displayName || type.name || null;
        if ("string" === typeof type) return type;
    }

    return null;
  }

  function getNearestMountedFiber(fiber) {
    var node = fiber,
        nearestMounted = fiber;
    if (fiber.alternate) for (; node.return;) {
      node = node.return;
    } else {
      fiber = node;

      do {
        node = fiber, 0 !== (node.flags & 2050) && (nearestMounted = node.return), fiber = node.return;
      } while (fiber);
    }
    return 3 === node.tag ? nearestMounted : null;
  }

  function assertIsMounted(fiber) {
    if (getNearestMountedFiber(fiber) !== fiber) throw Error("Unable to find node on an unmounted component.");
  }

  function findCurrentFiberUsingSlowPath(fiber) {
    var alternate = fiber.alternate;

    if (!alternate) {
      alternate = getNearestMountedFiber(fiber);
      if (null === alternate) throw Error("Unable to find node on an unmounted component.");
      return alternate !== fiber ? null : fiber;
    }

    for (var a = fiber, b = alternate;;) {
      var parentA = a.return;
      if (null === parentA) break;
      var parentB = parentA.alternate;

      if (null === parentB) {
        b = parentA.return;

        if (null !== b) {
          a = b;
          continue;
        }

        break;
      }

      if (parentA.child === parentB.child) {
        for (parentB = parentA.child; parentB;) {
          if (parentB === a) return assertIsMounted(parentA), fiber;
          if (parentB === b) return assertIsMounted(parentA), alternate;
          parentB = parentB.sibling;
        }

        throw Error("Unable to find node on an unmounted component.");
      }

      if (a.return !== b.return) a = parentA, b = parentB;else {
        for (var didFindChild = false, child$1 = parentA.child; child$1;) {
          if (child$1 === a) {
            didFindChild = true;
            a = parentA;
            b = parentB;
            break;
          }

          if (child$1 === b) {
            didFindChild = true;
            b = parentA;
            a = parentB;
            break;
          }

          child$1 = child$1.sibling;
        }

        if (!didFindChild) {
          for (child$1 = parentB.child; child$1;) {
            if (child$1 === a) {
              didFindChild = true;
              a = parentB;
              b = parentA;
              break;
            }

            if (child$1 === b) {
              didFindChild = true;
              b = parentB;
              a = parentA;
              break;
            }

            child$1 = child$1.sibling;
          }

          if (!didFindChild) throw Error("Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.");
        }
      }
      if (a.alternate !== b) throw Error("Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.");
    }

    if (3 !== a.tag) throw Error("Unable to find node on an unmounted component.");
    return a.stateNode.current === a ? fiber : alternate;
  }

  function findCurrentHostFiber(parent) {
    parent = findCurrentFiberUsingSlowPath(parent);
    return null !== parent ? findCurrentHostFiberImpl(parent) : null;
  }

  function findCurrentHostFiberImpl(node) {
    if (5 === node.tag || 6 === node.tag) return node;

    for (node = node.child; null !== node;) {
      var match = findCurrentHostFiberImpl(node);
      if (null !== match) return match;
      node = node.sibling;
    }

    return null;
  }

  var emptyObject = {},
      removedKeys = null,
      removedKeyCount = 0,
      deepDifferOptions = {
    unsafelyIgnoreFunctions: true
  };

  function defaultDiffer(prevProp, nextProp) {
    return "object" !== typeof nextProp || null === nextProp ? true : _$$_REQUIRE(_dependencyMap[3]).deepDiffer(prevProp, nextProp, deepDifferOptions);
  }

  function restoreDeletedValuesInNestedArray(updatePayload, node, validAttributes) {
    if (isArrayImpl(node)) for (var i = node.length; i-- && 0 < removedKeyCount;) {
      restoreDeletedValuesInNestedArray(updatePayload, node[i], validAttributes);
    } else if (node && 0 < removedKeyCount) for (i in removedKeys) {
      if (removedKeys[i]) {
        var nextProp = node[i];

        if (undefined !== nextProp) {
          var attributeConfig = validAttributes[i];

          if (attributeConfig) {
            "function" === typeof nextProp && (nextProp = true);
            "undefined" === typeof nextProp && (nextProp = null);
            if ("object" !== typeof attributeConfig) updatePayload[i] = nextProp;else if ("function" === typeof attributeConfig.diff || "function" === typeof attributeConfig.process) nextProp = "function" === typeof attributeConfig.process ? attributeConfig.process(nextProp) : nextProp, updatePayload[i] = nextProp;
            removedKeys[i] = false;
            removedKeyCount--;
          }
        }
      }
    }
  }

  function diffNestedProperty(updatePayload, prevProp, nextProp, validAttributes) {
    if (!updatePayload && prevProp === nextProp) return updatePayload;
    if (!prevProp || !nextProp) return nextProp ? addNestedProperty(updatePayload, nextProp, validAttributes) : prevProp ? clearNestedProperty(updatePayload, prevProp, validAttributes) : updatePayload;
    if (!isArrayImpl(prevProp) && !isArrayImpl(nextProp)) return diffProperties(updatePayload, prevProp, nextProp, validAttributes);

    if (isArrayImpl(prevProp) && isArrayImpl(nextProp)) {
      var minLength = prevProp.length < nextProp.length ? prevProp.length : nextProp.length,
          i;

      for (i = 0; i < minLength; i++) {
        updatePayload = diffNestedProperty(updatePayload, prevProp[i], nextProp[i], validAttributes);
      }

      for (; i < prevProp.length; i++) {
        updatePayload = clearNestedProperty(updatePayload, prevProp[i], validAttributes);
      }

      for (; i < nextProp.length; i++) {
        updatePayload = addNestedProperty(updatePayload, nextProp[i], validAttributes);
      }

      return updatePayload;
    }

    return isArrayImpl(prevProp) ? diffProperties(updatePayload, _$$_REQUIRE(_dependencyMap[3]).flattenStyle(prevProp), nextProp, validAttributes) : diffProperties(updatePayload, prevProp, _$$_REQUIRE(_dependencyMap[3]).flattenStyle(nextProp), validAttributes);
  }

  function addNestedProperty(updatePayload, nextProp, validAttributes) {
    if (!nextProp) return updatePayload;
    if (!isArrayImpl(nextProp)) return diffProperties(updatePayload, emptyObject, nextProp, validAttributes);

    for (var i = 0; i < nextProp.length; i++) {
      updatePayload = addNestedProperty(updatePayload, nextProp[i], validAttributes);
    }

    return updatePayload;
  }

  function clearNestedProperty(updatePayload, prevProp, validAttributes) {
    if (!prevProp) return updatePayload;
    if (!isArrayImpl(prevProp)) return diffProperties(updatePayload, prevProp, emptyObject, validAttributes);

    for (var i = 0; i < prevProp.length; i++) {
      updatePayload = clearNestedProperty(updatePayload, prevProp[i], validAttributes);
    }

    return updatePayload;
  }

  function diffProperties(updatePayload, prevProps, nextProps, validAttributes) {
    var attributeConfig, propKey;

    for (propKey in nextProps) {
      if (attributeConfig = validAttributes[propKey]) {
        var prevProp = prevProps[propKey];
        var nextProp = nextProps[propKey];
        "function" === typeof nextProp && (nextProp = true, "function" === typeof prevProp && (prevProp = true));
        "undefined" === typeof nextProp && (nextProp = null, "undefined" === typeof prevProp && (prevProp = null));
        removedKeys && (removedKeys[propKey] = false);
        if (updatePayload && undefined !== updatePayload[propKey]) {
          if ("object" !== typeof attributeConfig) updatePayload[propKey] = nextProp;else {
            if ("function" === typeof attributeConfig.diff || "function" === typeof attributeConfig.process) attributeConfig = "function" === typeof attributeConfig.process ? attributeConfig.process(nextProp) : nextProp, updatePayload[propKey] = attributeConfig;
          }
        } else if (prevProp !== nextProp) if ("object" !== typeof attributeConfig) defaultDiffer(prevProp, nextProp) && ((updatePayload || (updatePayload = {}))[propKey] = nextProp);else if ("function" === typeof attributeConfig.diff || "function" === typeof attributeConfig.process) {
          if (undefined === prevProp || ("function" === typeof attributeConfig.diff ? attributeConfig.diff(prevProp, nextProp) : defaultDiffer(prevProp, nextProp))) attributeConfig = "function" === typeof attributeConfig.process ? attributeConfig.process(nextProp) : nextProp, (updatePayload || (updatePayload = {}))[propKey] = attributeConfig;
        } else removedKeys = null, removedKeyCount = 0, updatePayload = diffNestedProperty(updatePayload, prevProp, nextProp, attributeConfig), 0 < removedKeyCount && updatePayload && (restoreDeletedValuesInNestedArray(updatePayload, nextProp, attributeConfig), removedKeys = null);
      }
    }

    for (var propKey$3 in prevProps) {
      undefined === nextProps[propKey$3] && (!(attributeConfig = validAttributes[propKey$3]) || updatePayload && undefined !== updatePayload[propKey$3] || (prevProp = prevProps[propKey$3], undefined !== prevProp && ("object" !== typeof attributeConfig || "function" === typeof attributeConfig.diff || "function" === typeof attributeConfig.process ? ((updatePayload || (updatePayload = {}))[propKey$3] = null, removedKeys || (removedKeys = {}), removedKeys[propKey$3] || (removedKeys[propKey$3] = true, removedKeyCount++)) : updatePayload = clearNestedProperty(updatePayload, prevProp, attributeConfig))));
    }

    return updatePayload;
  }

  function mountSafeCallback_NOT_REALLY_SAFE(context, callback) {
    return function () {
      if (callback && ("boolean" !== typeof context.__isMounted || context.__isMounted)) return callback.apply(context, arguments);
    };
  }

  var ReactNativeFiberHostComponent = function () {
    function ReactNativeFiberHostComponent(tag, viewConfig) {
      this._nativeTag = tag;
      this._children = [];
      this.viewConfig = viewConfig;
    }

    var _proto = ReactNativeFiberHostComponent.prototype;

    _proto.blur = function () {
      _$$_REQUIRE(_dependencyMap[3]).TextInputState.blurTextInput(this);
    };

    _proto.focus = function () {
      _$$_REQUIRE(_dependencyMap[3]).TextInputState.focusTextInput(this);
    };

    _proto.measure = function (callback) {
      _$$_REQUIRE(_dependencyMap[3]).UIManager.measure(this._nativeTag, mountSafeCallback_NOT_REALLY_SAFE(this, callback));
    };

    _proto.measureInWindow = function (callback) {
      _$$_REQUIRE(_dependencyMap[3]).UIManager.measureInWindow(this._nativeTag, mountSafeCallback_NOT_REALLY_SAFE(this, callback));
    };

    _proto.measureLayout = function (relativeToNativeNode, onSuccess, onFail) {
      if ("number" === typeof relativeToNativeNode) var relativeNode = relativeToNativeNode;else relativeToNativeNode._nativeTag && (relativeNode = relativeToNativeNode._nativeTag);
      null != relativeNode && _$$_REQUIRE(_dependencyMap[3]).UIManager.measureLayout(this._nativeTag, relativeNode, mountSafeCallback_NOT_REALLY_SAFE(this, onFail), mountSafeCallback_NOT_REALLY_SAFE(this, onSuccess));
    };

    _proto.setNativeProps = function (nativeProps) {
      nativeProps = diffProperties(null, emptyObject, nativeProps, this.viewConfig.validAttributes);
      null != nativeProps && _$$_REQUIRE(_dependencyMap[3]).UIManager.updateView(this._nativeTag, this.viewConfig.uiViewClassName, nativeProps);
    };

    return ReactNativeFiberHostComponent;
  }(),
      rendererID = null,
      injectedHook = null;

  function onCommitRoot(root) {
    if (injectedHook && "function" === typeof injectedHook.onCommitFiberRoot) try {
      injectedHook.onCommitFiberRoot(rendererID, root, undefined, 128 === (root.current.flags & 128));
    } catch (err) {}
  }

  var nextTransitionLane = 64,
      nextRetryLane = 4194304;

  function getHighestPriorityLanes(lanes) {
    switch (lanes & -lanes) {
      case 1:
        return 1;

      case 2:
        return 2;

      case 4:
        return 4;

      case 8:
        return 8;

      case 16:
        return 16;

      case 32:
        return 32;

      case 64:
      case 128:
      case 256:
      case 512:
      case 1024:
      case 2048:
      case 4096:
      case 8192:
      case 16384:
      case 32768:
      case 65536:
      case 131072:
      case 262144:
      case 524288:
      case 1048576:
      case 2097152:
        return lanes & 4194240;

      case 4194304:
      case 8388608:
      case 16777216:
      case 33554432:
      case 67108864:
        return lanes & 130023424;

      case 134217728:
        return 134217728;

      case 268435456:
        return 268435456;

      case 536870912:
        return 536870912;

      case 1073741824:
        return 1073741824;

      default:
        return lanes;
    }
  }

  function getNextLanes(root, wipLanes) {
    var pendingLanes = root.pendingLanes;
    if (0 === pendingLanes) return 0;
    var nextLanes = 0,
        suspendedLanes = root.suspendedLanes,
        pingedLanes = root.pingedLanes,
        nonIdlePendingLanes = pendingLanes & 268435455;

    if (0 !== nonIdlePendingLanes) {
      var nonIdleUnblockedLanes = nonIdlePendingLanes & ~suspendedLanes;
      0 !== nonIdleUnblockedLanes ? nextLanes = getHighestPriorityLanes(nonIdleUnblockedLanes) : (pingedLanes &= nonIdlePendingLanes, 0 !== pingedLanes && (nextLanes = getHighestPriorityLanes(pingedLanes)));
    } else nonIdlePendingLanes = pendingLanes & ~suspendedLanes, 0 !== nonIdlePendingLanes ? nextLanes = getHighestPriorityLanes(nonIdlePendingLanes) : 0 !== pingedLanes && (nextLanes = getHighestPriorityLanes(pingedLanes));

    if (0 === nextLanes) return 0;
    if (0 !== wipLanes && wipLanes !== nextLanes && 0 === (wipLanes & suspendedLanes) && (suspendedLanes = nextLanes & -nextLanes, pingedLanes = wipLanes & -wipLanes, suspendedLanes >= pingedLanes || 16 === suspendedLanes && 0 !== (pingedLanes & 4194240))) return wipLanes;
    0 !== (nextLanes & 4) && (nextLanes |= pendingLanes & 16);
    wipLanes = root.entangledLanes;
    if (0 !== wipLanes) for (root = root.entanglements, wipLanes &= nextLanes; 0 < wipLanes;) {
      pendingLanes = 31 - clz32(wipLanes), suspendedLanes = 1 << pendingLanes, nextLanes |= root[pendingLanes], wipLanes &= ~suspendedLanes;
    }
    return nextLanes;
  }

  function computeExpirationTime(lane, currentTime) {
    switch (lane) {
      case 1:
      case 2:
      case 4:
        return currentTime + 250;

      case 8:
      case 16:
      case 32:
      case 64:
      case 128:
      case 256:
      case 512:
      case 1024:
      case 2048:
      case 4096:
      case 8192:
      case 16384:
      case 32768:
      case 65536:
      case 131072:
      case 262144:
      case 524288:
      case 1048576:
      case 2097152:
        return currentTime + 5e3;

      case 4194304:
      case 8388608:
      case 16777216:
      case 33554432:
      case 67108864:
        return -1;

      case 134217728:
      case 268435456:
      case 536870912:
      case 1073741824:
        return -1;

      default:
        return -1;
    }
  }

  function getLanesToRetrySynchronouslyOnError(root) {
    root = root.pendingLanes & -1073741825;
    return 0 !== root ? root : root & 1073741824 ? 1073741824 : 0;
  }

  function createLaneMap(initial) {
    for (var laneMap = [], i = 0; 31 > i; i++) {
      laneMap.push(initial);
    }

    return laneMap;
  }

  function markRootUpdated(root, updateLane, eventTime) {
    root.pendingLanes |= updateLane;
    536870912 !== updateLane && (root.suspendedLanes = 0, root.pingedLanes = 0);
    root = root.eventTimes;
    updateLane = 31 - clz32(updateLane);
    root[updateLane] = eventTime;
  }

  function markRootFinished(root, remainingLanes) {
    var noLongerPendingLanes = root.pendingLanes & ~remainingLanes;
    root.pendingLanes = remainingLanes;
    root.suspendedLanes = 0;
    root.pingedLanes = 0;
    root.expiredLanes &= remainingLanes;
    root.mutableReadLanes &= remainingLanes;
    root.entangledLanes &= remainingLanes;
    remainingLanes = root.entanglements;
    var eventTimes = root.eventTimes;

    for (root = root.expirationTimes; 0 < noLongerPendingLanes;) {
      var index$8 = 31 - clz32(noLongerPendingLanes),
          lane = 1 << index$8;
      remainingLanes[index$8] = 0;
      eventTimes[index$8] = -1;
      root[index$8] = -1;
      noLongerPendingLanes &= ~lane;
    }
  }

  function markRootEntangled(root, entangledLanes) {
    var rootEntangledLanes = root.entangledLanes |= entangledLanes;

    for (root = root.entanglements; rootEntangledLanes;) {
      var index$9 = 31 - clz32(rootEntangledLanes),
          lane = 1 << index$9;
      lane & entangledLanes | root[index$9] & entangledLanes && (root[index$9] |= entangledLanes);
      rootEntangledLanes &= ~lane;
    }
  }

  var clz32 = Math.clz32 ? Math.clz32 : clz32Fallback,
      log = Math.log,
      LN2 = Math.LN2;

  function clz32Fallback(lanes) {
    return 0 === lanes ? 32 : 31 - (log(lanes) / LN2 | 0) | 0;
  }

  var currentUpdatePriority = 0;

  function lanesToEventPriority(lanes) {
    lanes &= -lanes;
    return 1 < lanes ? 4 < lanes ? 0 !== (lanes & 268435455) ? 16 : 536870912 : 4 : 1;
  }

  function shim() {
    throw Error("The current renderer does not support hydration. This error is likely caused by a bug in React. Please file an issue.");
  }

  var getViewConfigForType = _$$_REQUIRE(_dependencyMap[3]).ReactNativeViewConfigRegistry.get,
      UPDATE_SIGNAL = {},
      nextReactTag = 3;

  function allocateTag() {
    var tag = nextReactTag;
    1 === tag % 10 && (tag += 2);
    nextReactTag = tag + 2;
    return tag;
  }

  function recursivelyUncacheFiberNode(node) {
    if ("number" === typeof node) instanceCache.delete(node), instanceProps.delete(node);else {
      var tag = node._nativeTag;
      instanceCache.delete(tag);
      instanceProps.delete(tag);

      node._children.forEach(recursivelyUncacheFiberNode);
    }
  }

  function finalizeInitialChildren(parentInstance) {
    if (0 === parentInstance._children.length) return false;

    var nativeTags = parentInstance._children.map(function (child) {
      return "number" === typeof child ? child : child._nativeTag;
    });

    _$$_REQUIRE(_dependencyMap[3]).UIManager.setChildren(parentInstance._nativeTag, nativeTags);

    return false;
  }

  var scheduleTimeout = setTimeout,
      cancelTimeout = clearTimeout;

  function describeComponentFrame(name, source, ownerName) {
    source = "";
    ownerName && (source = " (created by " + ownerName + ")");
    return "\n    in " + (name || "Unknown") + source;
  }

  function describeFunctionComponentFrame(fn, source) {
    return fn ? describeComponentFrame(fn.displayName || fn.name || null, source, null) : "";
  }

  var hasOwnProperty = Object.prototype.hasOwnProperty,
      valueStack = [],
      index = -1;

  function createCursor(defaultValue) {
    return {
      current: defaultValue
    };
  }

  function pop(cursor) {
    0 > index || (cursor.current = valueStack[index], valueStack[index] = null, index--);
  }

  function push(cursor, value) {
    index++;
    valueStack[index] = cursor.current;
    cursor.current = value;
  }

  var emptyContextObject = {},
      contextStackCursor = createCursor(emptyContextObject),
      didPerformWorkStackCursor = createCursor(false),
      previousContext = emptyContextObject;

  function getMaskedContext(workInProgress, unmaskedContext) {
    var contextTypes = workInProgress.type.contextTypes;
    if (!contextTypes) return emptyContextObject;
    var instance = workInProgress.stateNode;
    if (instance && instance.__reactInternalMemoizedUnmaskedChildContext === unmaskedContext) return instance.__reactInternalMemoizedMaskedChildContext;
    var context = {},
        key;

    for (key in contextTypes) {
      context[key] = unmaskedContext[key];
    }

    instance && (workInProgress = workInProgress.stateNode, workInProgress.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext, workInProgress.__reactInternalMemoizedMaskedChildContext = context);
    return context;
  }

  function isContextProvider(type) {
    type = type.childContextTypes;
    return null !== type && undefined !== type;
  }

  function popContext() {
    pop(didPerformWorkStackCursor);
    pop(contextStackCursor);
  }

  function pushTopLevelContextObject(fiber, context, didChange) {
    if (contextStackCursor.current !== emptyContextObject) throw Error("Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue.");
    push(contextStackCursor, context);
    push(didPerformWorkStackCursor, didChange);
  }

  function processChildContext(fiber, type, parentContext) {
    var instance = fiber.stateNode;
    type = type.childContextTypes;
    if ("function" !== typeof instance.getChildContext) return parentContext;
    instance = instance.getChildContext();

    for (var contextKey in instance) {
      if (!(contextKey in type)) throw Error((getComponentNameFromFiber(fiber) || "Unknown") + '.getChildContext(): key "' + contextKey + '" is not defined in childContextTypes.');
    }

    return _$$_REQUIRE(_dependencyMap[2])({}, parentContext, instance);
  }

  function pushContextProvider(workInProgress) {
    workInProgress = (workInProgress = workInProgress.stateNode) && workInProgress.__reactInternalMemoizedMergedChildContext || emptyContextObject;
    previousContext = contextStackCursor.current;
    push(contextStackCursor, workInProgress);
    push(didPerformWorkStackCursor, didPerformWorkStackCursor.current);
    return true;
  }

  function invalidateContextProvider(workInProgress, type, didChange) {
    var instance = workInProgress.stateNode;
    if (!instance) throw Error("Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue.");
    didChange ? (workInProgress = processChildContext(workInProgress, type, previousContext), instance.__reactInternalMemoizedMergedChildContext = workInProgress, pop(didPerformWorkStackCursor), pop(contextStackCursor), push(contextStackCursor, workInProgress)) : pop(didPerformWorkStackCursor);
    push(didPerformWorkStackCursor, didChange);
  }

  var syncQueue = null,
      includesLegacySyncCallbacks = false,
      isFlushingSyncQueue = false;

  function flushSyncCallbacks() {
    if (!isFlushingSyncQueue && null !== syncQueue) {
      isFlushingSyncQueue = true;
      var i = 0,
          previousUpdatePriority = currentUpdatePriority;

      try {
        var queue = syncQueue;

        for (currentUpdatePriority = 1; i < queue.length; i++) {
          var callback = queue[i];

          do {
            callback = callback(true);
          } while (null !== callback);
        }

        syncQueue = null;
        includesLegacySyncCallbacks = false;
      } catch (error) {
        throw null !== syncQueue && (syncQueue = syncQueue.slice(i + 1)), _$$_REQUIRE(_dependencyMap[4]).unstable_scheduleCallback(_$$_REQUIRE(_dependencyMap[4]).unstable_ImmediatePriority, flushSyncCallbacks), error;
      } finally {
        currentUpdatePriority = previousUpdatePriority, isFlushingSyncQueue = false;
      }
    }

    return null;
  }

  var ReactCurrentBatchConfig = ReactSharedInternals.ReactCurrentBatchConfig;

  function is(x, y) {
    return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
  }

  var objectIs = "function" === typeof Object.is ? Object.is : is;

  function shallowEqual(objA, objB) {
    if (objectIs(objA, objB)) return true;
    if ("object" !== typeof objA || null === objA || "object" !== typeof objB || null === objB) return false;
    var keysA = Object.keys(objA),
        keysB = Object.keys(objB);
    if (keysA.length !== keysB.length) return false;

    for (keysB = 0; keysB < keysA.length; keysB++) {
      if (!hasOwnProperty.call(objB, keysA[keysB]) || !objectIs(objA[keysA[keysB]], objB[keysA[keysB]])) return false;
    }

    return true;
  }

  function describeFiber(fiber) {
    switch (fiber.tag) {
      case 5:
        return describeComponentFrame(fiber.type, null, null);

      case 16:
        return describeComponentFrame("Lazy", null, null);

      case 13:
        return describeComponentFrame("Suspense", null, null);

      case 19:
        return describeComponentFrame("SuspenseList", null, null);

      case 0:
      case 2:
      case 15:
        return describeFunctionComponentFrame(fiber.type, null);

      case 11:
        return describeFunctionComponentFrame(fiber.type.render, null);

      case 1:
        return fiber = describeFunctionComponentFrame(fiber.type, null), fiber;

      default:
        return "";
    }
  }

  function getStackByFiberInDevAndProd(workInProgress) {
    try {
      var info = "";

      do {
        info += describeFiber(workInProgress), workInProgress = workInProgress.return;
      } while (workInProgress);

      return info;
    } catch (x) {
      return "\nError generating stack: " + x.message + "\n" + x.stack;
    }
  }

  function resolveDefaultProps(Component, baseProps) {
    if (Component && Component.defaultProps) {
      baseProps = _$$_REQUIRE(_dependencyMap[2])({}, baseProps);
      Component = Component.defaultProps;

      for (var propName in Component) {
        undefined === baseProps[propName] && (baseProps[propName] = Component[propName]);
      }

      return baseProps;
    }

    return baseProps;
  }

  var valueCursor = createCursor(null),
      currentlyRenderingFiber = null,
      lastContextDependency = null,
      lastFullyObservedContext = null;

  function resetContextDependencies() {
    lastFullyObservedContext = lastContextDependency = currentlyRenderingFiber = null;
  }

  function popProvider(context) {
    var currentValue = valueCursor.current;
    pop(valueCursor);
    context._currentValue = currentValue;
  }

  function scheduleWorkOnParentPath(parent, renderLanes) {
    for (; null !== parent;) {
      var alternate = parent.alternate;
      if ((parent.childLanes & renderLanes) === renderLanes) {
        if (null === alternate || (alternate.childLanes & renderLanes) === renderLanes) break;else alternate.childLanes |= renderLanes;
      } else parent.childLanes |= renderLanes, null !== alternate && (alternate.childLanes |= renderLanes);
      parent = parent.return;
    }
  }

  function prepareToReadContext(workInProgress, renderLanes) {
    currentlyRenderingFiber = workInProgress;
    lastFullyObservedContext = lastContextDependency = null;
    workInProgress = workInProgress.dependencies;
    null !== workInProgress && null !== workInProgress.firstContext && (0 !== (workInProgress.lanes & renderLanes) && (didReceiveUpdate = true), workInProgress.firstContext = null);
  }

  function readContext(context) {
    var value = context._currentValue;
    if (lastFullyObservedContext !== context) if (context = {
      context: context,
      memoizedValue: value,
      next: null
    }, null === lastContextDependency) {
      if (null === currentlyRenderingFiber) throw Error("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().");
      lastContextDependency = context;
      currentlyRenderingFiber.dependencies = {
        lanes: 0,
        firstContext: context
      };
    } else lastContextDependency = lastContextDependency.next = context;
    return value;
  }

  var interleavedQueues = null,
      hasForceUpdate = false;

  function initializeUpdateQueue(fiber) {
    fiber.updateQueue = {
      baseState: fiber.memoizedState,
      firstBaseUpdate: null,
      lastBaseUpdate: null,
      shared: {
        pending: null,
        interleaved: null,
        lanes: 0
      },
      effects: null
    };
  }

  function cloneUpdateQueue(current, workInProgress) {
    current = current.updateQueue;
    workInProgress.updateQueue === current && (workInProgress.updateQueue = {
      baseState: current.baseState,
      firstBaseUpdate: current.firstBaseUpdate,
      lastBaseUpdate: current.lastBaseUpdate,
      shared: current.shared,
      effects: current.effects
    });
  }

  function createUpdate(eventTime, lane) {
    return {
      eventTime: eventTime,
      lane: lane,
      tag: 0,
      payload: null,
      callback: null,
      next: null
    };
  }

  function enqueueUpdate(fiber, update) {
    var updateQueue = fiber.updateQueue;
    null !== updateQueue && (updateQueue = updateQueue.shared, null !== workInProgressRoot && 0 !== (fiber.mode & 1) && 0 === (executionContext & 8) ? (fiber = updateQueue.interleaved, null === fiber ? (update.next = update, null === interleavedQueues ? interleavedQueues = [updateQueue] : interleavedQueues.push(updateQueue)) : (update.next = fiber.next, fiber.next = update), updateQueue.interleaved = update) : (fiber = updateQueue.pending, null === fiber ? update.next = update : (update.next = fiber.next, fiber.next = update), updateQueue.pending = update));
  }

  function entangleTransitions(root, fiber, lane) {
    fiber = fiber.updateQueue;

    if (null !== fiber && (fiber = fiber.shared, 0 !== (lane & 4194240))) {
      var queueLanes = fiber.lanes;
      queueLanes &= root.pendingLanes;
      lane |= queueLanes;
      fiber.lanes = lane;
      markRootEntangled(root, lane);
    }
  }

  function enqueueCapturedUpdate(workInProgress, capturedUpdate) {
    var queue = workInProgress.updateQueue,
        current = workInProgress.alternate;

    if (null !== current && (current = current.updateQueue, queue === current)) {
      var newFirst = null,
          newLast = null;
      queue = queue.firstBaseUpdate;

      if (null !== queue) {
        do {
          var clone = {
            eventTime: queue.eventTime,
            lane: queue.lane,
            tag: queue.tag,
            payload: queue.payload,
            callback: queue.callback,
            next: null
          };
          null === newLast ? newFirst = newLast = clone : newLast = newLast.next = clone;
          queue = queue.next;
        } while (null !== queue);

        null === newLast ? newFirst = newLast = capturedUpdate : newLast = newLast.next = capturedUpdate;
      } else newFirst = newLast = capturedUpdate;

      queue = {
        baseState: current.baseState,
        firstBaseUpdate: newFirst,
        lastBaseUpdate: newLast,
        shared: current.shared,
        effects: current.effects
      };
      workInProgress.updateQueue = queue;
      return;
    }

    workInProgress = queue.lastBaseUpdate;
    null === workInProgress ? queue.firstBaseUpdate = capturedUpdate : workInProgress.next = capturedUpdate;
    queue.lastBaseUpdate = capturedUpdate;
  }

  function processUpdateQueue(workInProgress$jscomp$0, props, instance, renderLanes) {
    var queue = workInProgress$jscomp$0.updateQueue;
    hasForceUpdate = false;
    var firstBaseUpdate = queue.firstBaseUpdate,
        lastBaseUpdate = queue.lastBaseUpdate,
        pendingQueue = queue.shared.pending;

    if (null !== pendingQueue) {
      queue.shared.pending = null;
      var lastPendingUpdate = pendingQueue,
          firstPendingUpdate = lastPendingUpdate.next;
      lastPendingUpdate.next = null;
      null === lastBaseUpdate ? firstBaseUpdate = firstPendingUpdate : lastBaseUpdate.next = firstPendingUpdate;
      lastBaseUpdate = lastPendingUpdate;
      var current = workInProgress$jscomp$0.alternate;
      null !== current && (current = current.updateQueue, pendingQueue = current.lastBaseUpdate, pendingQueue !== lastBaseUpdate && (null === pendingQueue ? current.firstBaseUpdate = firstPendingUpdate : pendingQueue.next = firstPendingUpdate, current.lastBaseUpdate = lastPendingUpdate));
    }

    if (null !== firstBaseUpdate) {
      var newState = queue.baseState;
      lastBaseUpdate = 0;
      current = firstPendingUpdate = lastPendingUpdate = null;
      pendingQueue = firstBaseUpdate;

      do {
        var updateLane = pendingQueue.lane,
            updateEventTime = pendingQueue.eventTime;

        if ((renderLanes & updateLane) === updateLane) {
          null !== current && (current = current.next = {
            eventTime: updateEventTime,
            lane: 0,
            tag: pendingQueue.tag,
            payload: pendingQueue.payload,
            callback: pendingQueue.callback,
            next: null
          });

          a: {
            var workInProgress = workInProgress$jscomp$0,
                update = pendingQueue;
            updateLane = props;
            updateEventTime = instance;

            switch (update.tag) {
              case 1:
                workInProgress = update.payload;

                if ("function" === typeof workInProgress) {
                  newState = workInProgress.call(updateEventTime, newState, updateLane);
                  break a;
                }

                newState = workInProgress;
                break a;

              case 3:
                workInProgress.flags = workInProgress.flags & -16385 | 128;

              case 0:
                workInProgress = update.payload;
                updateLane = "function" === typeof workInProgress ? workInProgress.call(updateEventTime, newState, updateLane) : workInProgress;
                if (null === updateLane || undefined === updateLane) break a;
                newState = _$$_REQUIRE(_dependencyMap[2])({}, newState, updateLane);
                break a;

              case 2:
                hasForceUpdate = true;
            }
          }

          null !== pendingQueue.callback && 0 !== pendingQueue.lane && (workInProgress$jscomp$0.flags |= 64, updateLane = queue.effects, null === updateLane ? queue.effects = [pendingQueue] : updateLane.push(pendingQueue));
        } else updateEventTime = {
          eventTime: updateEventTime,
          lane: updateLane,
          tag: pendingQueue.tag,
          payload: pendingQueue.payload,
          callback: pendingQueue.callback,
          next: null
        }, null === current ? (firstPendingUpdate = current = updateEventTime, lastPendingUpdate = newState) : current = current.next = updateEventTime, lastBaseUpdate |= updateLane;

        pendingQueue = pendingQueue.next;
        if (null === pendingQueue) if (pendingQueue = queue.shared.pending, null === pendingQueue) break;else updateLane = pendingQueue, pendingQueue = updateLane.next, updateLane.next = null, queue.lastBaseUpdate = updateLane, queue.shared.pending = null;
      } while (1);

      null === current && (lastPendingUpdate = newState);
      queue.baseState = lastPendingUpdate;
      queue.firstBaseUpdate = firstPendingUpdate;
      queue.lastBaseUpdate = current;
      props = queue.shared.interleaved;

      if (null !== props) {
        queue = props;

        do {
          lastBaseUpdate |= queue.lane, queue = queue.next;
        } while (queue !== props);
      } else null === firstBaseUpdate && (queue.shared.lanes = 0);

      workInProgressRootSkippedLanes |= lastBaseUpdate;
      workInProgress$jscomp$0.lanes = lastBaseUpdate;
      workInProgress$jscomp$0.memoizedState = newState;
    }
  }

  function commitUpdateQueue(finishedWork, finishedQueue, instance) {
    finishedWork = finishedQueue.effects;
    finishedQueue.effects = null;
    if (null !== finishedWork) for (finishedQueue = 0; finishedQueue < finishedWork.length; finishedQueue++) {
      var effect = finishedWork[finishedQueue],
          callback = effect.callback;

      if (null !== callback) {
        effect.callback = null;
        if ("function" !== typeof callback) throw Error("Invalid argument passed as callback. Expected a function. Instead received: " + callback);
        callback.call(instance);
      }
    }
  }

  var emptyRefsObject = new React.Component().refs;

  function applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, nextProps) {
    ctor = workInProgress.memoizedState;
    getDerivedStateFromProps = getDerivedStateFromProps(nextProps, ctor);
    getDerivedStateFromProps = null === getDerivedStateFromProps || undefined === getDerivedStateFromProps ? ctor : _$$_REQUIRE(_dependencyMap[2])({}, ctor, getDerivedStateFromProps);
    workInProgress.memoizedState = getDerivedStateFromProps;
    0 === workInProgress.lanes && (workInProgress.updateQueue.baseState = getDerivedStateFromProps);
  }

  var classComponentUpdater = {
    isMounted: function isMounted(component) {
      return (component = component._reactInternals) ? getNearestMountedFiber(component) === component : false;
    },
    enqueueSetState: function enqueueSetState(inst, payload, callback) {
      inst = inst._reactInternals;
      var eventTime = requestEventTime(),
          lane = requestUpdateLane(inst),
          update = createUpdate(eventTime, lane);
      update.payload = payload;
      undefined !== callback && null !== callback && (update.callback = callback);
      enqueueUpdate(inst, update);
      payload = scheduleUpdateOnFiber(inst, lane, eventTime);
      null !== payload && entangleTransitions(payload, inst, lane);
    },
    enqueueReplaceState: function enqueueReplaceState(inst, payload, callback) {
      inst = inst._reactInternals;
      var eventTime = requestEventTime(),
          lane = requestUpdateLane(inst),
          update = createUpdate(eventTime, lane);
      update.tag = 1;
      update.payload = payload;
      undefined !== callback && null !== callback && (update.callback = callback);
      enqueueUpdate(inst, update);
      payload = scheduleUpdateOnFiber(inst, lane, eventTime);
      null !== payload && entangleTransitions(payload, inst, lane);
    },
    enqueueForceUpdate: function enqueueForceUpdate(inst, callback) {
      inst = inst._reactInternals;
      var eventTime = requestEventTime(),
          lane = requestUpdateLane(inst),
          update = createUpdate(eventTime, lane);
      update.tag = 2;
      undefined !== callback && null !== callback && (update.callback = callback);
      enqueueUpdate(inst, update);
      callback = scheduleUpdateOnFiber(inst, lane, eventTime);
      null !== callback && entangleTransitions(callback, inst, lane);
    }
  };

  function checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext) {
    workInProgress = workInProgress.stateNode;
    return "function" === typeof workInProgress.shouldComponentUpdate ? workInProgress.shouldComponentUpdate(newProps, newState, nextContext) : ctor.prototype && ctor.prototype.isPureReactComponent ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState) : true;
  }

  function constructClassInstance(workInProgress, ctor, props) {
    var isLegacyContextConsumer = false,
        unmaskedContext = emptyContextObject;
    var context = ctor.contextType;
    "object" === typeof context && null !== context ? context = readContext(context) : (unmaskedContext = isContextProvider(ctor) ? previousContext : contextStackCursor.current, isLegacyContextConsumer = ctor.contextTypes, context = (isLegacyContextConsumer = null !== isLegacyContextConsumer && undefined !== isLegacyContextConsumer) ? getMaskedContext(workInProgress, unmaskedContext) : emptyContextObject);
    ctor = new ctor(props, context);
    workInProgress.memoizedState = null !== ctor.state && undefined !== ctor.state ? ctor.state : null;
    ctor.updater = classComponentUpdater;
    workInProgress.stateNode = ctor;
    ctor._reactInternals = workInProgress;
    isLegacyContextConsumer && (workInProgress = workInProgress.stateNode, workInProgress.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext, workInProgress.__reactInternalMemoizedMaskedChildContext = context);
    return ctor;
  }

  function callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext) {
    workInProgress = instance.state;
    "function" === typeof instance.componentWillReceiveProps && instance.componentWillReceiveProps(newProps, nextContext);
    "function" === typeof instance.UNSAFE_componentWillReceiveProps && instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);
    instance.state !== workInProgress && classComponentUpdater.enqueueReplaceState(instance, instance.state, null);
  }

  function mountClassInstance(workInProgress, ctor, newProps, renderLanes) {
    var instance = workInProgress.stateNode;
    instance.props = newProps;
    instance.state = workInProgress.memoizedState;
    instance.refs = emptyRefsObject;
    initializeUpdateQueue(workInProgress);
    var contextType = ctor.contextType;
    "object" === typeof contextType && null !== contextType ? instance.context = readContext(contextType) : (contextType = isContextProvider(ctor) ? previousContext : contextStackCursor.current, instance.context = getMaskedContext(workInProgress, contextType));
    instance.state = workInProgress.memoizedState;
    contextType = ctor.getDerivedStateFromProps;
    "function" === typeof contextType && (applyDerivedStateFromProps(workInProgress, ctor, contextType, newProps), instance.state = workInProgress.memoizedState);
    "function" === typeof ctor.getDerivedStateFromProps || "function" === typeof instance.getSnapshotBeforeUpdate || "function" !== typeof instance.UNSAFE_componentWillMount && "function" !== typeof instance.componentWillMount || (ctor = instance.state, "function" === typeof instance.componentWillMount && instance.componentWillMount(), "function" === typeof instance.UNSAFE_componentWillMount && instance.UNSAFE_componentWillMount(), ctor !== instance.state && classComponentUpdater.enqueueReplaceState(instance, instance.state, null), processUpdateQueue(workInProgress, newProps, instance, renderLanes), instance.state = workInProgress.memoizedState);
    "function" === typeof instance.componentDidMount && (workInProgress.flags |= 4);
  }

  function coerceRef(returnFiber, current, element) {
    returnFiber = element.ref;

    if (null !== returnFiber && "function" !== typeof returnFiber && "object" !== typeof returnFiber) {
      if (element._owner) {
        element = element._owner;

        if (element) {
          if (1 !== element.tag) throw Error("Function components cannot have string refs. We recommend using useRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref");
          var inst = element.stateNode;
        }

        if (!inst) throw Error("Missing owner for string ref " + returnFiber + ". This error is likely caused by a bug in React. Please file an issue.");
        var stringRef = "" + returnFiber;
        if (null !== current && null !== current.ref && "function" === typeof current.ref && current.ref._stringRef === stringRef) return current.ref;

        current = function current(value) {
          var refs = inst.refs;
          refs === emptyRefsObject && (refs = inst.refs = {});
          null === value ? delete refs[stringRef] : refs[stringRef] = value;
        };

        current._stringRef = stringRef;
        return current;
      }

      if ("string" !== typeof returnFiber) throw Error("Expected ref to be a function, a string, an object returned by React.createRef(), or null.");
      if (!element._owner) throw Error("Element ref was specified as a string (" + returnFiber + ") but no owner was set. This could happen for one of the following reasons:\n1. You may be adding a ref to a function component\n2. You may be adding a ref to a component that was not created inside a component's render method\n3. You have multiple copies of React loaded\nSee https://reactjs.org/link/refs-must-have-owner for more information.");
    }

    return returnFiber;
  }

  function throwOnInvalidObjectType(returnFiber, newChild) {
    returnFiber = Object.prototype.toString.call(newChild);
    throw Error("Objects are not valid as a React child (found: " + ("[object Object]" === returnFiber ? "object with keys {" + Object.keys(newChild).join(", ") + "}" : returnFiber) + "). If you meant to render a collection of children, use an array instead.");
  }

  function ChildReconciler(shouldTrackSideEffects) {
    function deleteChild(returnFiber, childToDelete) {
      if (shouldTrackSideEffects) {
        var deletions = returnFiber.deletions;
        null === deletions ? (returnFiber.deletions = [childToDelete], returnFiber.flags |= 16) : deletions.push(childToDelete);
      }
    }

    function deleteRemainingChildren(returnFiber, currentFirstChild) {
      if (!shouldTrackSideEffects) return null;

      for (; null !== currentFirstChild;) {
        deleteChild(returnFiber, currentFirstChild), currentFirstChild = currentFirstChild.sibling;
      }

      return null;
    }

    function mapRemainingChildren(returnFiber, currentFirstChild) {
      for (returnFiber = new Map(); null !== currentFirstChild;) {
        null !== currentFirstChild.key ? returnFiber.set(currentFirstChild.key, currentFirstChild) : returnFiber.set(currentFirstChild.index, currentFirstChild), currentFirstChild = currentFirstChild.sibling;
      }

      return returnFiber;
    }

    function useFiber(fiber, pendingProps) {
      fiber = createWorkInProgress(fiber, pendingProps);
      fiber.index = 0;
      fiber.sibling = null;
      return fiber;
    }

    function placeChild(newFiber, lastPlacedIndex, newIndex) {
      newFiber.index = newIndex;
      if (!shouldTrackSideEffects) return lastPlacedIndex;
      newIndex = newFiber.alternate;
      if (null !== newIndex) return newIndex = newIndex.index, newIndex < lastPlacedIndex ? (newFiber.flags |= 2, lastPlacedIndex) : newIndex;
      newFiber.flags |= 2;
      return lastPlacedIndex;
    }

    function placeSingleChild(newFiber) {
      shouldTrackSideEffects && null === newFiber.alternate && (newFiber.flags |= 2);
      return newFiber;
    }

    function updateTextNode(returnFiber, current, textContent, lanes) {
      if (null === current || 6 !== current.tag) return current = createFiberFromText(textContent, returnFiber.mode, lanes), current.return = returnFiber, current;
      current = useFiber(current, textContent);
      current.return = returnFiber;
      return current;
    }

    function updateElement(returnFiber, current, element, lanes) {
      var elementType = element.type;
      if (elementType === REACT_FRAGMENT_TYPE) return updateFragment(returnFiber, current, element.props.children, lanes, element.key);
      if (null !== current && current.elementType === elementType) return lanes = useFiber(current, element.props), lanes.ref = coerceRef(returnFiber, current, element), lanes.return = returnFiber, lanes;
      lanes = createFiberFromTypeAndProps(element.type, element.key, element.props, null, returnFiber.mode, lanes);
      lanes.ref = coerceRef(returnFiber, current, element);
      lanes.return = returnFiber;
      return lanes;
    }

    function updatePortal(returnFiber, current, portal, lanes) {
      if (null === current || 4 !== current.tag || current.stateNode.containerInfo !== portal.containerInfo || current.stateNode.implementation !== portal.implementation) return current = createFiberFromPortal(portal, returnFiber.mode, lanes), current.return = returnFiber, current;
      current = useFiber(current, portal.children || []);
      current.return = returnFiber;
      return current;
    }

    function updateFragment(returnFiber, current, fragment, lanes, key) {
      if (null === current || 7 !== current.tag) return current = createFiberFromFragment(fragment, returnFiber.mode, lanes, key), current.return = returnFiber, current;
      current = useFiber(current, fragment);
      current.return = returnFiber;
      return current;
    }

    function createChild(returnFiber, newChild, lanes) {
      if ("string" === typeof newChild || "number" === typeof newChild) return newChild = createFiberFromText("" + newChild, returnFiber.mode, lanes), newChild.return = returnFiber, newChild;

      if ("object" === typeof newChild && null !== newChild) {
        switch (newChild.$$typeof) {
          case REACT_ELEMENT_TYPE:
            return lanes = createFiberFromTypeAndProps(newChild.type, newChild.key, newChild.props, null, returnFiber.mode, lanes), lanes.ref = coerceRef(returnFiber, null, newChild), lanes.return = returnFiber, lanes;

          case REACT_PORTAL_TYPE:
            return newChild = createFiberFromPortal(newChild, returnFiber.mode, lanes), newChild.return = returnFiber, newChild;
        }

        if (isArrayImpl(newChild) || getIteratorFn(newChild)) return newChild = createFiberFromFragment(newChild, returnFiber.mode, lanes, null), newChild.return = returnFiber, newChild;
        throwOnInvalidObjectType(returnFiber, newChild);
      }

      return null;
    }

    function updateSlot(returnFiber, oldFiber, newChild, lanes) {
      var key = null !== oldFiber ? oldFiber.key : null;
      if ("string" === typeof newChild || "number" === typeof newChild) return null !== key ? null : updateTextNode(returnFiber, oldFiber, "" + newChild, lanes);

      if ("object" === typeof newChild && null !== newChild) {
        switch (newChild.$$typeof) {
          case REACT_ELEMENT_TYPE:
            return newChild.key === key ? updateElement(returnFiber, oldFiber, newChild, lanes) : null;

          case REACT_PORTAL_TYPE:
            return newChild.key === key ? updatePortal(returnFiber, oldFiber, newChild, lanes) : null;
        }

        if (isArrayImpl(newChild) || getIteratorFn(newChild)) return null !== key ? null : updateFragment(returnFiber, oldFiber, newChild, lanes, null);
        throwOnInvalidObjectType(returnFiber, newChild);
      }

      return null;
    }

    function updateFromMap(existingChildren, returnFiber, newIdx, newChild, lanes) {
      if ("string" === typeof newChild || "number" === typeof newChild) return existingChildren = existingChildren.get(newIdx) || null, updateTextNode(returnFiber, existingChildren, "" + newChild, lanes);

      if ("object" === typeof newChild && null !== newChild) {
        switch (newChild.$$typeof) {
          case REACT_ELEMENT_TYPE:
            return existingChildren = existingChildren.get(null === newChild.key ? newIdx : newChild.key) || null, updateElement(returnFiber, existingChildren, newChild, lanes);

          case REACT_PORTAL_TYPE:
            return existingChildren = existingChildren.get(null === newChild.key ? newIdx : newChild.key) || null, updatePortal(returnFiber, existingChildren, newChild, lanes);
        }

        if (isArrayImpl(newChild) || getIteratorFn(newChild)) return existingChildren = existingChildren.get(newIdx) || null, updateFragment(returnFiber, existingChildren, newChild, lanes, null);
        throwOnInvalidObjectType(returnFiber, newChild);
      }

      return null;
    }

    function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, lanes) {
      for (var resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null; null !== oldFiber && newIdx < newChildren.length; newIdx++) {
        oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling;
        var newFiber = updateSlot(returnFiber, oldFiber, newChildren[newIdx], lanes);

        if (null === newFiber) {
          null === oldFiber && (oldFiber = nextOldFiber);
          break;
        }

        shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber);
        currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);
        null === previousNewFiber ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber;
        previousNewFiber = newFiber;
        oldFiber = nextOldFiber;
      }

      if (newIdx === newChildren.length) return deleteRemainingChildren(returnFiber, oldFiber), resultingFirstChild;

      if (null === oldFiber) {
        for (; newIdx < newChildren.length; newIdx++) {
          oldFiber = createChild(returnFiber, newChildren[newIdx], lanes), null !== oldFiber && (currentFirstChild = placeChild(oldFiber, currentFirstChild, newIdx), null === previousNewFiber ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber);
        }

        return resultingFirstChild;
      }

      for (oldFiber = mapRemainingChildren(returnFiber, oldFiber); newIdx < newChildren.length; newIdx++) {
        nextOldFiber = updateFromMap(oldFiber, returnFiber, newIdx, newChildren[newIdx], lanes), null !== nextOldFiber && (shouldTrackSideEffects && null !== nextOldFiber.alternate && oldFiber.delete(null === nextOldFiber.key ? newIdx : nextOldFiber.key), currentFirstChild = placeChild(nextOldFiber, currentFirstChild, newIdx), null === previousNewFiber ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber);
      }

      shouldTrackSideEffects && oldFiber.forEach(function (child) {
        return deleteChild(returnFiber, child);
      });
      return resultingFirstChild;
    }

    function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildrenIterable, lanes) {
      var iteratorFn = getIteratorFn(newChildrenIterable);
      if ("function" !== typeof iteratorFn) throw Error("An object is not an iterable. This error is likely caused by a bug in React. Please file an issue.");
      newChildrenIterable = iteratorFn.call(newChildrenIterable);
      if (null == newChildrenIterable) throw Error("An iterable object provided no iterator.");

      for (var previousNewFiber = iteratorFn = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null, step = newChildrenIterable.next(); null !== oldFiber && !step.done; newIdx++, step = newChildrenIterable.next()) {
        oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling;
        var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);

        if (null === newFiber) {
          null === oldFiber && (oldFiber = nextOldFiber);
          break;
        }

        shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber);
        currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);
        null === previousNewFiber ? iteratorFn = newFiber : previousNewFiber.sibling = newFiber;
        previousNewFiber = newFiber;
        oldFiber = nextOldFiber;
      }

      if (step.done) return deleteRemainingChildren(returnFiber, oldFiber), iteratorFn;

      if (null === oldFiber) {
        for (; !step.done; newIdx++, step = newChildrenIterable.next()) {
          step = createChild(returnFiber, step.value, lanes), null !== step && (currentFirstChild = placeChild(step, currentFirstChild, newIdx), null === previousNewFiber ? iteratorFn = step : previousNewFiber.sibling = step, previousNewFiber = step);
        }

        return iteratorFn;
      }

      for (oldFiber = mapRemainingChildren(returnFiber, oldFiber); !step.done; newIdx++, step = newChildrenIterable.next()) {
        step = updateFromMap(oldFiber, returnFiber, newIdx, step.value, lanes), null !== step && (shouldTrackSideEffects && null !== step.alternate && oldFiber.delete(null === step.key ? newIdx : step.key), currentFirstChild = placeChild(step, currentFirstChild, newIdx), null === previousNewFiber ? iteratorFn = step : previousNewFiber.sibling = step, previousNewFiber = step);
      }

      shouldTrackSideEffects && oldFiber.forEach(function (child) {
        return deleteChild(returnFiber, child);
      });
      return iteratorFn;
    }

    return function (returnFiber, currentFirstChild, newChild, lanes) {
      var isUnkeyedTopLevelFragment = "object" === typeof newChild && null !== newChild && newChild.type === REACT_FRAGMENT_TYPE && null === newChild.key;
      isUnkeyedTopLevelFragment && (newChild = newChild.props.children);

      if ("object" === typeof newChild && null !== newChild) {
        switch (newChild.$$typeof) {
          case REACT_ELEMENT_TYPE:
            a: {
              var key = newChild.key;

              for (isUnkeyedTopLevelFragment = currentFirstChild; null !== isUnkeyedTopLevelFragment;) {
                if (isUnkeyedTopLevelFragment.key === key) {
                  key = newChild.type;

                  if (key === REACT_FRAGMENT_TYPE) {
                    if (7 === isUnkeyedTopLevelFragment.tag) {
                      deleteRemainingChildren(returnFiber, isUnkeyedTopLevelFragment.sibling);
                      currentFirstChild = useFiber(isUnkeyedTopLevelFragment, newChild.props.children);
                      currentFirstChild.return = returnFiber;
                      returnFiber = currentFirstChild;
                      break a;
                    }
                  } else if (isUnkeyedTopLevelFragment.elementType === key) {
                    deleteRemainingChildren(returnFiber, isUnkeyedTopLevelFragment.sibling);
                    currentFirstChild = useFiber(isUnkeyedTopLevelFragment, newChild.props);
                    currentFirstChild.ref = coerceRef(returnFiber, isUnkeyedTopLevelFragment, newChild);
                    currentFirstChild.return = returnFiber;
                    returnFiber = currentFirstChild;
                    break a;
                  }

                  deleteRemainingChildren(returnFiber, isUnkeyedTopLevelFragment);
                  break;
                } else deleteChild(returnFiber, isUnkeyedTopLevelFragment);

                isUnkeyedTopLevelFragment = isUnkeyedTopLevelFragment.sibling;
              }

              newChild.type === REACT_FRAGMENT_TYPE ? (currentFirstChild = createFiberFromFragment(newChild.props.children, returnFiber.mode, lanes, newChild.key), currentFirstChild.return = returnFiber, returnFiber = currentFirstChild) : (lanes = createFiberFromTypeAndProps(newChild.type, newChild.key, newChild.props, null, returnFiber.mode, lanes), lanes.ref = coerceRef(returnFiber, currentFirstChild, newChild), lanes.return = returnFiber, returnFiber = lanes);
            }

            return placeSingleChild(returnFiber);

          case REACT_PORTAL_TYPE:
            a: {
              for (isUnkeyedTopLevelFragment = newChild.key; null !== currentFirstChild;) {
                if (currentFirstChild.key === isUnkeyedTopLevelFragment) {
                  if (4 === currentFirstChild.tag && currentFirstChild.stateNode.containerInfo === newChild.containerInfo && currentFirstChild.stateNode.implementation === newChild.implementation) {
                    deleteRemainingChildren(returnFiber, currentFirstChild.sibling);
                    currentFirstChild = useFiber(currentFirstChild, newChild.children || []);
                    currentFirstChild.return = returnFiber;
                    returnFiber = currentFirstChild;
                    break a;
                  } else {
                    deleteRemainingChildren(returnFiber, currentFirstChild);
                    break;
                  }
                } else deleteChild(returnFiber, currentFirstChild);
                currentFirstChild = currentFirstChild.sibling;
              }

              currentFirstChild = createFiberFromPortal(newChild, returnFiber.mode, lanes);
              currentFirstChild.return = returnFiber;
              returnFiber = currentFirstChild;
            }

            return placeSingleChild(returnFiber);
        }

        if (isArrayImpl(newChild)) return reconcileChildrenArray(returnFiber, currentFirstChild, newChild, lanes);
        if (getIteratorFn(newChild)) return reconcileChildrenIterator(returnFiber, currentFirstChild, newChild, lanes);
        throwOnInvalidObjectType(returnFiber, newChild);
      }

      if ("string" === typeof newChild || "number" === typeof newChild) return newChild = "" + newChild, null !== currentFirstChild && 6 === currentFirstChild.tag ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling), currentFirstChild = useFiber(currentFirstChild, newChild), currentFirstChild.return = returnFiber, returnFiber = currentFirstChild) : (deleteRemainingChildren(returnFiber, currentFirstChild), currentFirstChild = createFiberFromText(newChild, returnFiber.mode, lanes), currentFirstChild.return = returnFiber, returnFiber = currentFirstChild), placeSingleChild(returnFiber);
      if ("undefined" === typeof newChild && !isUnkeyedTopLevelFragment) switch (returnFiber.tag) {
        case 1:
        case 0:
        case 11:
        case 15:
          throw Error((getComponentNameFromFiber(returnFiber) || "Component") + "(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.");
      }
      return deleteRemainingChildren(returnFiber, currentFirstChild);
    };
  }

  var reconcileChildFibers = ChildReconciler(true),
      mountChildFibers = ChildReconciler(false),
      NO_CONTEXT = {},
      contextStackCursor$1 = createCursor(NO_CONTEXT),
      contextFiberStackCursor = createCursor(NO_CONTEXT),
      rootInstanceStackCursor = createCursor(NO_CONTEXT);

  function requiredContext(c) {
    if (c === NO_CONTEXT) throw Error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.");
    return c;
  }

  function pushHostContainer(fiber, nextRootInstance) {
    push(rootInstanceStackCursor, nextRootInstance);
    push(contextFiberStackCursor, fiber);
    push(contextStackCursor$1, NO_CONTEXT);
    pop(contextStackCursor$1);
    push(contextStackCursor$1, {
      isInAParentText: false
    });
  }

  function popHostContainer() {
    pop(contextStackCursor$1);
    pop(contextFiberStackCursor);
    pop(rootInstanceStackCursor);
  }

  function pushHostContext(fiber) {
    requiredContext(rootInstanceStackCursor.current);
    var context = requiredContext(contextStackCursor$1.current);
    var JSCompiler_inline_result = fiber.type;
    JSCompiler_inline_result = "AndroidTextInput" === JSCompiler_inline_result || "RCTMultilineTextInputView" === JSCompiler_inline_result || "RCTSinglelineTextInputView" === JSCompiler_inline_result || "RCTText" === JSCompiler_inline_result || "RCTVirtualText" === JSCompiler_inline_result;
    JSCompiler_inline_result = context.isInAParentText !== JSCompiler_inline_result ? {
      isInAParentText: JSCompiler_inline_result
    } : context;
    context !== JSCompiler_inline_result && (push(contextFiberStackCursor, fiber), push(contextStackCursor$1, JSCompiler_inline_result));
  }

  function popHostContext(fiber) {
    contextFiberStackCursor.current === fiber && (pop(contextStackCursor$1), pop(contextFiberStackCursor));
  }

  var suspenseStackCursor = createCursor(0);

  function findFirstSuspended(row) {
    for (var node = row; null !== node;) {
      if (13 === node.tag) {
        var state = node.memoizedState;
        if (null !== state && (null === state.dehydrated || shim() || shim())) return node;
      } else if (19 === node.tag && undefined !== node.memoizedProps.revealOrder) {
        if (0 !== (node.flags & 128)) return node;
      } else if (null !== node.child) {
        node.child.return = node;
        node = node.child;
        continue;
      }

      if (node === row) break;

      for (; null === node.sibling;) {
        if (null === node.return || node.return === row) return null;
        node = node.return;
      }

      node.sibling.return = node.return;
      node = node.sibling;
    }

    return null;
  }

  var workInProgressSources = [];

  function resetWorkInProgressVersions() {
    for (var i = 0; i < workInProgressSources.length; i++) {
      workInProgressSources[i]._workInProgressVersionPrimary = null;
    }

    workInProgressSources.length = 0;
  }

  var ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher,
      ReactCurrentBatchConfig$1 = ReactSharedInternals.ReactCurrentBatchConfig,
      renderLanes = 0,
      currentlyRenderingFiber$1 = null,
      currentHook = null,
      workInProgressHook = null,
      didScheduleRenderPhaseUpdate = false,
      didScheduleRenderPhaseUpdateDuringThisPass = false;

  function throwInvalidHookError() {
    throw Error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.");
  }

  function areHookInputsEqual(nextDeps, prevDeps) {
    if (null === prevDeps) return false;

    for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) {
      if (!objectIs(nextDeps[i], prevDeps[i])) return false;
    }

    return true;
  }

  function renderWithHooks(current, workInProgress, Component, props, secondArg, nextRenderLanes) {
    renderLanes = nextRenderLanes;
    currentlyRenderingFiber$1 = workInProgress;
    workInProgress.memoizedState = null;
    workInProgress.updateQueue = null;
    workInProgress.lanes = 0;
    ReactCurrentDispatcher$1.current = null === current || null === current.memoizedState ? HooksDispatcherOnMount : HooksDispatcherOnUpdate;
    current = Component(props, secondArg);

    if (didScheduleRenderPhaseUpdateDuringThisPass) {
      nextRenderLanes = 0;

      do {
        didScheduleRenderPhaseUpdateDuringThisPass = false;
        if (!(25 > nextRenderLanes)) throw Error("Too many re-renders. React limits the number of renders to prevent an infinite loop.");
        nextRenderLanes += 1;
        workInProgressHook = currentHook = null;
        workInProgress.updateQueue = null;
        ReactCurrentDispatcher$1.current = HooksDispatcherOnRerender;
        current = Component(props, secondArg);
      } while (didScheduleRenderPhaseUpdateDuringThisPass);
    }

    ReactCurrentDispatcher$1.current = ContextOnlyDispatcher;
    workInProgress = null !== currentHook && null !== currentHook.next;
    renderLanes = 0;
    workInProgressHook = currentHook = currentlyRenderingFiber$1 = null;
    didScheduleRenderPhaseUpdate = false;
    if (workInProgress) throw Error("Rendered fewer hooks than expected. This may be caused by an accidental early return statement.");
    return current;
  }

  function mountWorkInProgressHook() {
    var hook = {
      memoizedState: null,
      baseState: null,
      baseQueue: null,
      queue: null,
      next: null
    };
    null === workInProgressHook ? currentlyRenderingFiber$1.memoizedState = workInProgressHook = hook : workInProgressHook = workInProgressHook.next = hook;
    return workInProgressHook;
  }

  function updateWorkInProgressHook() {
    if (null === currentHook) {
      var nextCurrentHook = currentlyRenderingFiber$1.alternate;
      nextCurrentHook = null !== nextCurrentHook ? nextCurrentHook.memoizedState : null;
    } else nextCurrentHook = currentHook.next;

    var nextWorkInProgressHook = null === workInProgressHook ? currentlyRenderingFiber$1.memoizedState : workInProgressHook.next;
    if (null !== nextWorkInProgressHook) workInProgressHook = nextWorkInProgressHook, currentHook = nextCurrentHook;else {
      if (null === nextCurrentHook) throw Error("Rendered more hooks than during the previous render.");
      currentHook = nextCurrentHook;
      nextCurrentHook = {
        memoizedState: currentHook.memoizedState,
        baseState: currentHook.baseState,
        baseQueue: currentHook.baseQueue,
        queue: currentHook.queue,
        next: null
      };
      null === workInProgressHook ? currentlyRenderingFiber$1.memoizedState = workInProgressHook = nextCurrentHook : workInProgressHook = workInProgressHook.next = nextCurrentHook;
    }
    return workInProgressHook;
  }

  function basicStateReducer(state, action) {
    return "function" === typeof action ? action(state) : action;
  }

  function updateReducer(reducer) {
    var hook = updateWorkInProgressHook(),
        queue = hook.queue;
    if (null === queue) throw Error("Should have a queue. This is likely a bug in React. Please file an issue.");
    queue.lastRenderedReducer = reducer;
    var current = currentHook,
        baseQueue = current.baseQueue,
        pendingQueue = queue.pending;

    if (null !== pendingQueue) {
      if (null !== baseQueue) {
        var baseFirst = baseQueue.next;
        baseQueue.next = pendingQueue.next;
        pendingQueue.next = baseFirst;
      }

      current.baseQueue = baseQueue = pendingQueue;
      queue.pending = null;
    }

    if (null !== baseQueue) {
      pendingQueue = baseQueue.next;
      current = current.baseState;
      var newBaseQueueFirst = baseFirst = null,
          newBaseQueueLast = null,
          update = pendingQueue;

      do {
        var updateLane = update.lane;
        if ((renderLanes & updateLane) === updateLane) null !== newBaseQueueLast && (newBaseQueueLast = newBaseQueueLast.next = {
          lane: 0,
          action: update.action,
          eagerReducer: update.eagerReducer,
          eagerState: update.eagerState,
          next: null
        }), current = update.eagerReducer === reducer ? update.eagerState : reducer(current, update.action);else {
          var clone = {
            lane: updateLane,
            action: update.action,
            eagerReducer: update.eagerReducer,
            eagerState: update.eagerState,
            next: null
          };
          null === newBaseQueueLast ? (newBaseQueueFirst = newBaseQueueLast = clone, baseFirst = current) : newBaseQueueLast = newBaseQueueLast.next = clone;
          currentlyRenderingFiber$1.lanes |= updateLane;
          workInProgressRootSkippedLanes |= updateLane;
        }
        update = update.next;
      } while (null !== update && update !== pendingQueue);

      null === newBaseQueueLast ? baseFirst = current : newBaseQueueLast.next = newBaseQueueFirst;
      objectIs(current, hook.memoizedState) || (didReceiveUpdate = true);
      hook.memoizedState = current;
      hook.baseState = baseFirst;
      hook.baseQueue = newBaseQueueLast;
      queue.lastRenderedState = current;
    }

    reducer = queue.interleaved;

    if (null !== reducer) {
      baseQueue = reducer;

      do {
        pendingQueue = baseQueue.lane, currentlyRenderingFiber$1.lanes |= pendingQueue, workInProgressRootSkippedLanes |= pendingQueue, baseQueue = baseQueue.next;
      } while (baseQueue !== reducer);
    } else null === baseQueue && (queue.lanes = 0);

    return [hook.memoizedState, queue.dispatch];
  }

  function rerenderReducer(reducer) {
    var hook = updateWorkInProgressHook(),
        queue = hook.queue;
    if (null === queue) throw Error("Should have a queue. This is likely a bug in React. Please file an issue.");
    queue.lastRenderedReducer = reducer;
    var dispatch = queue.dispatch,
        lastRenderPhaseUpdate = queue.pending,
        newState = hook.memoizedState;

    if (null !== lastRenderPhaseUpdate) {
      queue.pending = null;
      var update = lastRenderPhaseUpdate = lastRenderPhaseUpdate.next;

      do {
        newState = reducer(newState, update.action), update = update.next;
      } while (update !== lastRenderPhaseUpdate);

      objectIs(newState, hook.memoizedState) || (didReceiveUpdate = true);
      hook.memoizedState = newState;
      null === hook.baseQueue && (hook.baseState = newState);
      queue.lastRenderedState = newState;
    }

    return [newState, dispatch];
  }

  function readFromUnsubcribedMutableSource(root, source, getSnapshot) {
    var getVersion = source._getVersion;
    getVersion = getVersion(source._source);
    var JSCompiler_inline_result = source._workInProgressVersionPrimary;
    if (null !== JSCompiler_inline_result) root = JSCompiler_inline_result === getVersion;else if (root = root.mutableReadLanes, root = (renderLanes & root) === root) source._workInProgressVersionPrimary = getVersion, workInProgressSources.push(source);
    if (root) return getSnapshot(source._source);
    workInProgressSources.push(source);
    throw Error("Cannot read from mutable source during the current render without tearing. This may be a bug in React. Please file an issue.");
  }

  function _useMutableSource(hook, source, getSnapshot, subscribe) {
    var root = workInProgressRoot;
    if (null === root) throw Error("Expected a work-in-progress root. This is a bug in React. Please file an issue.");

    var getVersion = source._getVersion,
        version = getVersion(source._source),
        dispatcher = ReactCurrentDispatcher$1.current,
        _dispatcher$useState = dispatcher.useState(function () {
      return readFromUnsubcribedMutableSource(root, source, getSnapshot);
    }),
        setSnapshot = _dispatcher$useState[1],
        snapshot = _dispatcher$useState[0];

    _dispatcher$useState = workInProgressHook;
    var memoizedState = hook.memoizedState,
        refs = memoizedState.refs,
        prevGetSnapshot = refs.getSnapshot,
        prevSource = memoizedState.source;
    memoizedState = memoizedState.subscribe;
    var fiber = currentlyRenderingFiber$1;
    hook.memoizedState = {
      refs: refs,
      source: source,
      subscribe: subscribe
    };
    dispatcher.useEffect(function () {
      refs.getSnapshot = getSnapshot;
      refs.setSnapshot = setSnapshot;
      var maybeNewVersion = getVersion(source._source);
      objectIs(version, maybeNewVersion) || (maybeNewVersion = getSnapshot(source._source), objectIs(snapshot, maybeNewVersion) || (setSnapshot(maybeNewVersion), maybeNewVersion = requestUpdateLane(fiber), root.mutableReadLanes |= maybeNewVersion & root.pendingLanes), markRootEntangled(root, root.mutableReadLanes));
    }, [getSnapshot, source, subscribe]);
    dispatcher.useEffect(function () {
      return subscribe(source._source, function () {
        var latestGetSnapshot = refs.getSnapshot,
            latestSetSnapshot = refs.setSnapshot;

        try {
          latestSetSnapshot(latestGetSnapshot(source._source));
          var lane = requestUpdateLane(fiber);
          root.mutableReadLanes |= lane & root.pendingLanes;
        } catch (error) {
          latestSetSnapshot(function () {
            throw error;
          });
        }
      });
    }, [source, subscribe]);
    objectIs(prevGetSnapshot, getSnapshot) && objectIs(prevSource, source) && objectIs(memoizedState, subscribe) || (hook = {
      pending: null,
      interleaved: null,
      lanes: 0,
      dispatch: null,
      lastRenderedReducer: basicStateReducer,
      lastRenderedState: snapshot
    }, hook.dispatch = setSnapshot = dispatchAction.bind(null, currentlyRenderingFiber$1, hook), _dispatcher$useState.queue = hook, _dispatcher$useState.baseQueue = null, snapshot = readFromUnsubcribedMutableSource(root, source, getSnapshot), _dispatcher$useState.memoizedState = _dispatcher$useState.baseState = snapshot);
    return snapshot;
  }

  function updateMutableSource(source, getSnapshot, subscribe) {
    var hook = updateWorkInProgressHook();
    return _useMutableSource(hook, source, getSnapshot, subscribe);
  }

  function mountState(initialState) {
    var hook = mountWorkInProgressHook();
    "function" === typeof initialState && (initialState = initialState());
    hook.memoizedState = hook.baseState = initialState;
    initialState = hook.queue = {
      pending: null,
      interleaved: null,
      lanes: 0,
      dispatch: null,
      lastRenderedReducer: basicStateReducer,
      lastRenderedState: initialState
    };
    initialState = initialState.dispatch = dispatchAction.bind(null, currentlyRenderingFiber$1, initialState);
    return [hook.memoizedState, initialState];
  }

  function pushEffect(tag, create, destroy, deps) {
    tag = {
      tag: tag,
      create: create,
      destroy: destroy,
      deps: deps,
      next: null
    };
    create = currentlyRenderingFiber$1.updateQueue;
    null === create ? (create = {
      lastEffect: null
    }, currentlyRenderingFiber$1.updateQueue = create, create.lastEffect = tag.next = tag) : (destroy = create.lastEffect, null === destroy ? create.lastEffect = tag.next = tag : (deps = destroy.next, destroy.next = tag, tag.next = deps, create.lastEffect = tag));
    return tag;
  }

  function updateRef() {
    return updateWorkInProgressHook().memoizedState;
  }

  function mountEffectImpl(fiberFlags, hookFlags, create, deps) {
    var hook = mountWorkInProgressHook();
    currentlyRenderingFiber$1.flags |= fiberFlags;
    hook.memoizedState = pushEffect(1 | hookFlags, create, undefined, undefined === deps ? null : deps);
  }

  function updateEffectImpl(fiberFlags, hookFlags, create, deps) {
    var hook = updateWorkInProgressHook();
    deps = undefined === deps ? null : deps;
    var destroy = undefined;

    if (null !== currentHook) {
      var prevEffect = currentHook.memoizedState;
      destroy = prevEffect.destroy;

      if (null !== deps && areHookInputsEqual(deps, prevEffect.deps)) {
        hook.memoizedState = pushEffect(hookFlags, create, destroy, deps);
        return;
      }
    }

    currentlyRenderingFiber$1.flags |= fiberFlags;
    hook.memoizedState = pushEffect(1 | hookFlags, create, destroy, deps);
  }

  function mountEffect(create, deps) {
    return mountEffectImpl(1049600, 4, create, deps);
  }

  function updateEffect(create, deps) {
    return updateEffectImpl(1024, 4, create, deps);
  }

  function updateLayoutEffect(create, deps) {
    return updateEffectImpl(4, 2, create, deps);
  }

  function imperativeHandleEffect(create, ref) {
    if ("function" === typeof ref) return create = create(), ref(create), function () {
      ref(null);
    };
    if (null !== ref && undefined !== ref) return create = create(), ref.current = create, function () {
      ref.current = null;
    };
  }

  function updateImperativeHandle(ref, create, deps) {
    deps = null !== deps && undefined !== deps ? deps.concat([ref]) : null;
    return updateEffectImpl(4, 2, imperativeHandleEffect.bind(null, create, ref), deps);
  }

  function mountDebugValue() {}

  function updateCallback(callback, deps) {
    var hook = updateWorkInProgressHook();
    deps = undefined === deps ? null : deps;
    var prevState = hook.memoizedState;
    if (null !== prevState && null !== deps && areHookInputsEqual(deps, prevState[1])) return prevState[0];
    hook.memoizedState = [callback, deps];
    return callback;
  }

  function updateMemo(nextCreate, deps) {
    var hook = updateWorkInProgressHook();
    deps = undefined === deps ? null : deps;
    var prevState = hook.memoizedState;
    if (null !== prevState && null !== deps && areHookInputsEqual(deps, prevState[1])) return prevState[0];
    nextCreate = nextCreate();
    hook.memoizedState = [nextCreate, deps];
    return nextCreate;
  }

  function startTransition(setPending, callback) {
    var previousPriority = currentUpdatePriority;
    currentUpdatePriority = 0 !== previousPriority && 4 > previousPriority ? previousPriority : 4;
    setPending(true);
    var prevTransition = ReactCurrentBatchConfig$1.transition;
    ReactCurrentBatchConfig$1.transition = 1;

    try {
      setPending(false), callback();
    } finally {
      currentUpdatePriority = previousPriority, ReactCurrentBatchConfig$1.transition = prevTransition;
    }
  }

  function dispatchAction(fiber, queue, action) {
    var eventTime = requestEventTime(),
        lane = requestUpdateLane(fiber),
        update = {
      lane: lane,
      action: action,
      eagerReducer: null,
      eagerState: null,
      next: null
    },
        alternate = fiber.alternate;
    if (fiber === currentlyRenderingFiber$1 || null !== alternate && alternate === currentlyRenderingFiber$1) didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate = true, lane = queue.pending, null === lane ? update.next = update : (update.next = lane.next, lane.next = update), queue.pending = update;else {
      if (null !== workInProgressRoot && 0 !== (fiber.mode & 1) && 0 === (executionContext & 8)) {
        var interleaved = queue.interleaved;
        null === interleaved ? (update.next = update, null === interleavedQueues ? interleavedQueues = [queue] : interleavedQueues.push(queue)) : (update.next = interleaved.next, interleaved.next = update);
        queue.interleaved = update;
      } else interleaved = queue.pending, null === interleaved ? update.next = update : (update.next = interleaved.next, interleaved.next = update), queue.pending = update;

      if (0 === fiber.lanes && (null === alternate || 0 === alternate.lanes) && (alternate = queue.lastRenderedReducer, null !== alternate)) try {
        var currentState = queue.lastRenderedState,
            eagerState = alternate(currentState, action);
        update.eagerReducer = alternate;
        update.eagerState = eagerState;
        if (objectIs(eagerState, currentState)) return;
      } catch (error) {} finally {}
      update = scheduleUpdateOnFiber(fiber, lane, eventTime);
      0 !== (lane & 4194240) && null !== update && (fiber = queue.lanes, fiber &= update.pendingLanes, lane |= fiber, queue.lanes = lane, markRootEntangled(update, lane));
    }
  }

  var ContextOnlyDispatcher = {
    readContext: readContext,
    useCallback: throwInvalidHookError,
    useContext: throwInvalidHookError,
    useEffect: throwInvalidHookError,
    useImperativeHandle: throwInvalidHookError,
    useLayoutEffect: throwInvalidHookError,
    useMemo: throwInvalidHookError,
    useReducer: throwInvalidHookError,
    useRef: throwInvalidHookError,
    useState: throwInvalidHookError,
    useDebugValue: throwInvalidHookError,
    useDeferredValue: throwInvalidHookError,
    useTransition: throwInvalidHookError,
    useMutableSource: throwInvalidHookError,
    useOpaqueIdentifier: throwInvalidHookError,
    unstable_isNewReconciler: false
  },
      HooksDispatcherOnMount = {
    readContext: readContext,
    useCallback: function useCallback(callback, deps) {
      mountWorkInProgressHook().memoizedState = [callback, undefined === deps ? null : deps];
      return callback;
    },
    useContext: readContext,
    useEffect: mountEffect,
    useImperativeHandle: function useImperativeHandle(ref, create, deps) {
      deps = null !== deps && undefined !== deps ? deps.concat([ref]) : null;
      return mountEffectImpl(4, 2, imperativeHandleEffect.bind(null, create, ref), deps);
    },
    useLayoutEffect: function useLayoutEffect(create, deps) {
      return mountEffectImpl(4, 2, create, deps);
    },
    useMemo: function useMemo(nextCreate, deps) {
      var hook = mountWorkInProgressHook();
      deps = undefined === deps ? null : deps;
      nextCreate = nextCreate();
      hook.memoizedState = [nextCreate, deps];
      return nextCreate;
    },
    useReducer: function useReducer(reducer, initialArg, init) {
      var hook = mountWorkInProgressHook();
      initialArg = undefined !== init ? init(initialArg) : initialArg;
      hook.memoizedState = hook.baseState = initialArg;
      reducer = hook.queue = {
        pending: null,
        interleaved: null,
        lanes: 0,
        dispatch: null,
        lastRenderedReducer: reducer,
        lastRenderedState: initialArg
      };
      reducer = reducer.dispatch = dispatchAction.bind(null, currentlyRenderingFiber$1, reducer);
      return [hook.memoizedState, reducer];
    },
    useRef: function useRef(initialValue) {
      var hook = mountWorkInProgressHook();
      initialValue = {
        current: initialValue
      };
      return hook.memoizedState = initialValue;
    },
    useState: mountState,
    useDebugValue: mountDebugValue,
    useDeferredValue: function useDeferredValue(value) {
      var _mountState = mountState(value),
          prevValue = _mountState[0],
          setValue = _mountState[1];

      mountEffect(function () {
        var prevTransition = ReactCurrentBatchConfig$1.transition;
        ReactCurrentBatchConfig$1.transition = 1;

        try {
          setValue(value);
        } finally {
          ReactCurrentBatchConfig$1.transition = prevTransition;
        }
      }, [value]);
      return prevValue;
    },
    useTransition: function useTransition() {
      var _mountState2 = mountState(false),
          isPending = _mountState2[0];

      _mountState2 = startTransition.bind(null, _mountState2[1]);
      mountWorkInProgressHook().memoizedState = _mountState2;
      return [isPending, _mountState2];
    },
    useMutableSource: function useMutableSource(source, getSnapshot, subscribe) {
      var hook = mountWorkInProgressHook();
      hook.memoizedState = {
        refs: {
          getSnapshot: getSnapshot,
          setSnapshot: null
        },
        source: source,
        subscribe: subscribe
      };
      return _useMutableSource(hook, source, getSnapshot, subscribe);
    },
    useOpaqueIdentifier: function useOpaqueIdentifier() {
      throw Error("Not yet implemented");
    },
    unstable_isNewReconciler: false
  },
      HooksDispatcherOnUpdate = {
    readContext: readContext,
    useCallback: updateCallback,
    useContext: readContext,
    useEffect: updateEffect,
    useImperativeHandle: updateImperativeHandle,
    useLayoutEffect: updateLayoutEffect,
    useMemo: updateMemo,
    useReducer: updateReducer,
    useRef: updateRef,
    useState: function useState() {
      return updateReducer(basicStateReducer);
    },
    useDebugValue: mountDebugValue,
    useDeferredValue: function useDeferredValue(value) {
      var _updateState = updateReducer(basicStateReducer),
          prevValue = _updateState[0],
          setValue = _updateState[1];

      updateEffect(function () {
        var prevTransition = ReactCurrentBatchConfig$1.transition;
        ReactCurrentBatchConfig$1.transition = 1;

        try {
          setValue(value);
        } finally {
          ReactCurrentBatchConfig$1.transition = prevTransition;
        }
      }, [value]);
      return prevValue;
    },
    useTransition: function useTransition() {
      var isPending = updateReducer(basicStateReducer)[0],
          start = updateWorkInProgressHook().memoizedState;
      return [isPending, start];
    },
    useMutableSource: updateMutableSource,
    useOpaqueIdentifier: function useOpaqueIdentifier() {
      return updateReducer(basicStateReducer)[0];
    },
    unstable_isNewReconciler: false
  },
      HooksDispatcherOnRerender = {
    readContext: readContext,
    useCallback: updateCallback,
    useContext: readContext,
    useEffect: updateEffect,
    useImperativeHandle: updateImperativeHandle,
    useLayoutEffect: updateLayoutEffect,
    useMemo: updateMemo,
    useReducer: rerenderReducer,
    useRef: updateRef,
    useState: function useState() {
      return rerenderReducer(basicStateReducer);
    },
    useDebugValue: mountDebugValue,
    useDeferredValue: function useDeferredValue(value) {
      var _rerenderState = rerenderReducer(basicStateReducer),
          prevValue = _rerenderState[0],
          setValue = _rerenderState[1];

      updateEffect(function () {
        var prevTransition = ReactCurrentBatchConfig$1.transition;
        ReactCurrentBatchConfig$1.transition = 1;

        try {
          setValue(value);
        } finally {
          ReactCurrentBatchConfig$1.transition = prevTransition;
        }
      }, [value]);
      return prevValue;
    },
    useTransition: function useTransition() {
      var isPending = rerenderReducer(basicStateReducer)[0],
          start = updateWorkInProgressHook().memoizedState;
      return [isPending, start];
    },
    useMutableSource: updateMutableSource,
    useOpaqueIdentifier: function useOpaqueIdentifier() {
      return rerenderReducer(basicStateReducer)[0];
    },
    unstable_isNewReconciler: false
  };

  function createCapturedValue(value, source) {
    return {
      value: value,
      source: source,
      stack: getStackByFiberInDevAndProd(source)
    };
  }

  if ("function" !== typeof _$$_REQUIRE(_dependencyMap[3]).ReactFiberErrorDialog.showErrorDialog) throw Error("Expected ReactFiberErrorDialog.showErrorDialog to be a function.");

  function logCapturedError(boundary, errorInfo) {
    try {
      false !== _$$_REQUIRE(_dependencyMap[3]).ReactFiberErrorDialog.showErrorDialog({
        componentStack: null !== errorInfo.stack ? errorInfo.stack : "",
        error: errorInfo.value,
        errorBoundary: null !== boundary && 1 === boundary.tag ? boundary.stateNode : null
      }) && console.error(errorInfo.value);
    } catch (e) {
      setTimeout(function () {
        throw e;
      });
    }
  }

  var PossiblyWeakMap = "function" === typeof WeakMap ? WeakMap : Map;

  function createRootErrorUpdate(fiber, errorInfo, lane) {
    lane = createUpdate(-1, lane);
    lane.tag = 3;
    lane.payload = {
      element: null
    };
    var error = errorInfo.value;

    lane.callback = function () {
      hasUncaughtError || (hasUncaughtError = true, firstUncaughtError = error);
      logCapturedError(fiber, errorInfo);
    };

    return lane;
  }

  function createClassErrorUpdate(fiber, errorInfo, lane) {
    lane = createUpdate(-1, lane);
    lane.tag = 3;
    var getDerivedStateFromError = fiber.type.getDerivedStateFromError;

    if ("function" === typeof getDerivedStateFromError) {
      var error = errorInfo.value;

      lane.payload = function () {
        logCapturedError(fiber, errorInfo);
        return getDerivedStateFromError(error);
      };
    }

    var inst = fiber.stateNode;
    null !== inst && "function" === typeof inst.componentDidCatch && (lane.callback = function () {
      "function" !== typeof getDerivedStateFromError && (null === legacyErrorBoundariesThatAlreadyFailed ? legacyErrorBoundariesThatAlreadyFailed = new Set([this]) : legacyErrorBoundariesThatAlreadyFailed.add(this), logCapturedError(fiber, errorInfo));
      var stack = errorInfo.stack;
      this.componentDidCatch(errorInfo.value, {
        componentStack: null !== stack ? stack : ""
      });
    });
    return lane;
  }

  var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner,
      didReceiveUpdate = false;

  function reconcileChildren(current, workInProgress, nextChildren, renderLanes) {
    workInProgress.child = null === current ? mountChildFibers(workInProgress, null, nextChildren, renderLanes) : reconcileChildFibers(workInProgress, current.child, nextChildren, renderLanes);
  }

  function updateForwardRef(current, workInProgress, Component, nextProps, renderLanes) {
    Component = Component.render;
    var ref = workInProgress.ref;
    prepareToReadContext(workInProgress, renderLanes);
    nextProps = renderWithHooks(current, workInProgress, Component, nextProps, ref, renderLanes);
    if (null !== current && !didReceiveUpdate) return workInProgress.updateQueue = current.updateQueue, workInProgress.flags &= -1029, current.lanes &= ~renderLanes, bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
    workInProgress.flags |= 1;
    reconcileChildren(current, workInProgress, nextProps, renderLanes);
    return workInProgress.child;
  }

  function updateMemoComponent(current, workInProgress, Component, nextProps, updateLanes, renderLanes) {
    if (null === current) {
      var type = Component.type;
      if ("function" === typeof type && !shouldConstruct(type) && undefined === type.defaultProps && null === Component.compare && undefined === Component.defaultProps) return workInProgress.tag = 15, workInProgress.type = type, updateSimpleMemoComponent(current, workInProgress, type, nextProps, updateLanes, renderLanes);
      current = createFiberFromTypeAndProps(Component.type, null, nextProps, workInProgress, workInProgress.mode, renderLanes);
      current.ref = workInProgress.ref;
      current.return = workInProgress;
      return workInProgress.child = current;
    }

    type = current.child;
    if (0 === (updateLanes & renderLanes) && (updateLanes = type.memoizedProps, Component = Component.compare, Component = null !== Component ? Component : shallowEqual, Component(updateLanes, nextProps) && current.ref === workInProgress.ref)) return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
    workInProgress.flags |= 1;
    current = createWorkInProgress(type, nextProps);
    current.ref = workInProgress.ref;
    current.return = workInProgress;
    return workInProgress.child = current;
  }

  function updateSimpleMemoComponent(current, workInProgress, Component, nextProps, updateLanes, renderLanes) {
    if (null !== current && shallowEqual(current.memoizedProps, nextProps) && current.ref === workInProgress.ref) {
      didReceiveUpdate = false;
      if (0 === (renderLanes & updateLanes)) return workInProgress.lanes = current.lanes, bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
      0 !== (current.flags & 32768) && (didReceiveUpdate = true);
    }

    return updateFunctionComponent(current, workInProgress, Component, nextProps, renderLanes);
  }

  function updateOffscreenComponent(current, workInProgress, renderLanes) {
    var nextProps = workInProgress.pendingProps,
        nextChildren = nextProps.children,
        prevState = null !== current ? current.memoizedState : null;
    if ("hidden" === nextProps.mode || "unstable-defer-without-hiding" === nextProps.mode) {
      if (0 === (workInProgress.mode & 1)) workInProgress.memoizedState = {
        baseLanes: 0,
        cachePool: null
      }, push(subtreeRenderLanesCursor, subtreeRenderLanes), subtreeRenderLanes |= renderLanes;else {
        if (0 === (renderLanes & 1073741824)) return current = null !== prevState ? prevState.baseLanes | renderLanes : renderLanes, workInProgress.lanes = workInProgress.childLanes = 1073741824, workInProgress.memoizedState = {
          baseLanes: current,
          cachePool: null
        }, workInProgress.updateQueue = null, push(subtreeRenderLanesCursor, subtreeRenderLanes), subtreeRenderLanes |= current, null;
        workInProgress.memoizedState = {
          baseLanes: 0,
          cachePool: null
        };
        nextProps = null !== prevState ? prevState.baseLanes : renderLanes;
        push(subtreeRenderLanesCursor, subtreeRenderLanes);
        subtreeRenderLanes |= nextProps;
      }
    } else null !== prevState ? (nextProps = prevState.baseLanes | renderLanes, workInProgress.memoizedState = null) : nextProps = renderLanes, push(subtreeRenderLanesCursor, subtreeRenderLanes), subtreeRenderLanes |= nextProps;
    reconcileChildren(current, workInProgress, nextChildren, renderLanes);
    return workInProgress.child;
  }

  function markRef(current, workInProgress) {
    var ref = workInProgress.ref;
    if (null === current && null !== ref || null !== current && current.ref !== ref) workInProgress.flags |= 256;
  }

  function updateFunctionComponent(current, workInProgress, Component, nextProps, renderLanes) {
    var context = isContextProvider(Component) ? previousContext : contextStackCursor.current;
    context = getMaskedContext(workInProgress, context);
    prepareToReadContext(workInProgress, renderLanes);
    Component = renderWithHooks(current, workInProgress, Component, nextProps, context, renderLanes);
    if (null !== current && !didReceiveUpdate) return workInProgress.updateQueue = current.updateQueue, workInProgress.flags &= -1029, current.lanes &= ~renderLanes, bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
    workInProgress.flags |= 1;
    reconcileChildren(current, workInProgress, Component, renderLanes);
    return workInProgress.child;
  }

  function updateClassComponent(current, workInProgress, Component, nextProps, renderLanes) {
    if (isContextProvider(Component)) {
      var hasContext = true;
      pushContextProvider(workInProgress);
    } else hasContext = false;

    prepareToReadContext(workInProgress, renderLanes);
    if (null === workInProgress.stateNode) null !== current && (current.alternate = null, workInProgress.alternate = null, workInProgress.flags |= 2), constructClassInstance(workInProgress, Component, nextProps), mountClassInstance(workInProgress, Component, nextProps, renderLanes), nextProps = true;else if (null === current) {
      var instance = workInProgress.stateNode,
          oldProps = workInProgress.memoizedProps;
      instance.props = oldProps;
      var oldContext = instance.context,
          contextType = Component.contextType;
      "object" === typeof contextType && null !== contextType ? contextType = readContext(contextType) : (contextType = isContextProvider(Component) ? previousContext : contextStackCursor.current, contextType = getMaskedContext(workInProgress, contextType));
      var getDerivedStateFromProps = Component.getDerivedStateFromProps,
          hasNewLifecycles = "function" === typeof getDerivedStateFromProps || "function" === typeof instance.getSnapshotBeforeUpdate;
      hasNewLifecycles || "function" !== typeof instance.UNSAFE_componentWillReceiveProps && "function" !== typeof instance.componentWillReceiveProps || (oldProps !== nextProps || oldContext !== contextType) && callComponentWillReceiveProps(workInProgress, instance, nextProps, contextType);
      hasForceUpdate = false;
      var oldState = workInProgress.memoizedState;
      instance.state = oldState;
      processUpdateQueue(workInProgress, nextProps, instance, renderLanes);
      oldContext = workInProgress.memoizedState;
      oldProps !== nextProps || oldState !== oldContext || didPerformWorkStackCursor.current || hasForceUpdate ? ("function" === typeof getDerivedStateFromProps && (applyDerivedStateFromProps(workInProgress, Component, getDerivedStateFromProps, nextProps), oldContext = workInProgress.memoizedState), (oldProps = hasForceUpdate || checkShouldComponentUpdate(workInProgress, Component, oldProps, nextProps, oldState, oldContext, contextType)) ? (hasNewLifecycles || "function" !== typeof instance.UNSAFE_componentWillMount && "function" !== typeof instance.componentWillMount || ("function" === typeof instance.componentWillMount && instance.componentWillMount(), "function" === typeof instance.UNSAFE_componentWillMount && instance.UNSAFE_componentWillMount()), "function" === typeof instance.componentDidMount && (workInProgress.flags |= 4)) : ("function" === typeof instance.componentDidMount && (workInProgress.flags |= 4), workInProgress.memoizedProps = nextProps, workInProgress.memoizedState = oldContext), instance.props = nextProps, instance.state = oldContext, instance.context = contextType, nextProps = oldProps) : ("function" === typeof instance.componentDidMount && (workInProgress.flags |= 4), nextProps = false);
    } else {
      instance = workInProgress.stateNode;
      cloneUpdateQueue(current, workInProgress);
      oldProps = workInProgress.memoizedProps;
      contextType = workInProgress.type === workInProgress.elementType ? oldProps : resolveDefaultProps(workInProgress.type, oldProps);
      instance.props = contextType;
      hasNewLifecycles = workInProgress.pendingProps;
      oldState = instance.context;
      oldContext = Component.contextType;
      "object" === typeof oldContext && null !== oldContext ? oldContext = readContext(oldContext) : (oldContext = isContextProvider(Component) ? previousContext : contextStackCursor.current, oldContext = getMaskedContext(workInProgress, oldContext));
      var getDerivedStateFromProps$jscomp$0 = Component.getDerivedStateFromProps;
      (getDerivedStateFromProps = "function" === typeof getDerivedStateFromProps$jscomp$0 || "function" === typeof instance.getSnapshotBeforeUpdate) || "function" !== typeof instance.UNSAFE_componentWillReceiveProps && "function" !== typeof instance.componentWillReceiveProps || (oldProps !== hasNewLifecycles || oldState !== oldContext) && callComponentWillReceiveProps(workInProgress, instance, nextProps, oldContext);
      hasForceUpdate = false;
      oldState = workInProgress.memoizedState;
      instance.state = oldState;
      processUpdateQueue(workInProgress, nextProps, instance, renderLanes);
      var newState = workInProgress.memoizedState;
      oldProps !== hasNewLifecycles || oldState !== newState || didPerformWorkStackCursor.current || hasForceUpdate ? ("function" === typeof getDerivedStateFromProps$jscomp$0 && (applyDerivedStateFromProps(workInProgress, Component, getDerivedStateFromProps$jscomp$0, nextProps), newState = workInProgress.memoizedState), (contextType = hasForceUpdate || checkShouldComponentUpdate(workInProgress, Component, contextType, nextProps, oldState, newState, oldContext) || false) ? (getDerivedStateFromProps || "function" !== typeof instance.UNSAFE_componentWillUpdate && "function" !== typeof instance.componentWillUpdate || ("function" === typeof instance.componentWillUpdate && instance.componentWillUpdate(nextProps, newState, oldContext), "function" === typeof instance.UNSAFE_componentWillUpdate && instance.UNSAFE_componentWillUpdate(nextProps, newState, oldContext)), "function" === typeof instance.componentDidUpdate && (workInProgress.flags |= 4), "function" === typeof instance.getSnapshotBeforeUpdate && (workInProgress.flags |= 512)) : ("function" !== typeof instance.componentDidUpdate || oldProps === current.memoizedProps && oldState === current.memoizedState || (workInProgress.flags |= 4), "function" !== typeof instance.getSnapshotBeforeUpdate || oldProps === current.memoizedProps && oldState === current.memoizedState || (workInProgress.flags |= 512), workInProgress.memoizedProps = nextProps, workInProgress.memoizedState = newState), instance.props = nextProps, instance.state = newState, instance.context = oldContext, nextProps = contextType) : ("function" !== typeof instance.componentDidUpdate || oldProps === current.memoizedProps && oldState === current.memoizedState || (workInProgress.flags |= 4), "function" !== typeof instance.getSnapshotBeforeUpdate || oldProps === current.memoizedProps && oldState === current.memoizedState || (workInProgress.flags |= 512), nextProps = false);
    }
    return finishClassComponent(current, workInProgress, Component, nextProps, hasContext, renderLanes);
  }

  function finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderLanes) {
    markRef(current, workInProgress);
    var didCaptureError = 0 !== (workInProgress.flags & 128);
    if (!shouldUpdate && !didCaptureError) return hasContext && invalidateContextProvider(workInProgress, Component, false), bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
    shouldUpdate = workInProgress.stateNode;
    ReactCurrentOwner$1.current = workInProgress;
    var nextChildren = didCaptureError && "function" !== typeof Component.getDerivedStateFromError ? null : shouldUpdate.render();
    workInProgress.flags |= 1;
    null !== current && didCaptureError ? (workInProgress.child = reconcileChildFibers(workInProgress, current.child, null, renderLanes), workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderLanes)) : reconcileChildren(current, workInProgress, nextChildren, renderLanes);
    workInProgress.memoizedState = shouldUpdate.state;
    hasContext && invalidateContextProvider(workInProgress, Component, true);
    return workInProgress.child;
  }

  function pushHostRootContext(workInProgress) {
    var root = workInProgress.stateNode;
    root.pendingContext ? pushTopLevelContextObject(workInProgress, root.pendingContext, root.pendingContext !== root.context) : root.context && pushTopLevelContextObject(workInProgress, root.context, false);
    pushHostContainer(workInProgress, root.containerInfo);
  }

  var SUSPENDED_MARKER = {
    dehydrated: null,
    retryLane: 0
  };

  function mountSuspenseOffscreenState(renderLanes) {
    return {
      baseLanes: renderLanes,
      cachePool: null
    };
  }

  function updateSuspenseComponent(current, workInProgress, renderLanes) {
    var nextProps = workInProgress.pendingProps,
        suspenseContext = suspenseStackCursor.current,
        showFallback = false,
        JSCompiler_temp;
    (JSCompiler_temp = 0 !== (workInProgress.flags & 128)) || (JSCompiler_temp = null !== current && null === current.memoizedState ? false : 0 !== (suspenseContext & 2));
    JSCompiler_temp ? (showFallback = true, workInProgress.flags &= -129) : null !== current && null === current.memoizedState || undefined === nextProps.fallback || true === nextProps.unstable_avoidThisFallback || (suspenseContext |= 1);
    push(suspenseStackCursor, suspenseContext & 1);

    if (null === current) {
      current = nextProps.children;
      suspenseContext = nextProps.fallback;
      if (showFallback) return current = mountSuspenseFallbackChildren(workInProgress, current, suspenseContext, renderLanes), workInProgress.child.memoizedState = mountSuspenseOffscreenState(renderLanes), workInProgress.memoizedState = SUSPENDED_MARKER, current;
      if ("number" === typeof nextProps.unstable_expectedLoadTime) return current = mountSuspenseFallbackChildren(workInProgress, current, suspenseContext, renderLanes), workInProgress.child.memoizedState = mountSuspenseOffscreenState(renderLanes), workInProgress.memoizedState = SUSPENDED_MARKER, workInProgress.lanes = 4194304, current;
      renderLanes = createFiberFromOffscreen({
        mode: "visible",
        children: current
      }, workInProgress.mode, renderLanes, null);
      renderLanes.return = workInProgress;
      return workInProgress.child = renderLanes;
    }

    if (null !== current.memoizedState) {
      if (showFallback) return nextProps = updateSuspenseFallbackChildren(current, workInProgress, nextProps.children, nextProps.fallback, renderLanes), showFallback = workInProgress.child, suspenseContext = current.child.memoizedState, showFallback.memoizedState = null === suspenseContext ? mountSuspenseOffscreenState(renderLanes) : {
        baseLanes: suspenseContext.baseLanes | renderLanes,
        cachePool: null
      }, showFallback.childLanes = current.childLanes & ~renderLanes, workInProgress.memoizedState = SUSPENDED_MARKER, nextProps;
      renderLanes = updateSuspensePrimaryChildren(current, workInProgress, nextProps.children, renderLanes);
      workInProgress.memoizedState = null;
      return renderLanes;
    }

    if (showFallback) return nextProps = updateSuspenseFallbackChildren(current, workInProgress, nextProps.children, nextProps.fallback, renderLanes), showFallback = workInProgress.child, suspenseContext = current.child.memoizedState, showFallback.memoizedState = null === suspenseContext ? mountSuspenseOffscreenState(renderLanes) : {
      baseLanes: suspenseContext.baseLanes | renderLanes,
      cachePool: null
    }, showFallback.childLanes = current.childLanes & ~renderLanes, workInProgress.memoizedState = SUSPENDED_MARKER, nextProps;
    renderLanes = updateSuspensePrimaryChildren(current, workInProgress, nextProps.children, renderLanes);
    workInProgress.memoizedState = null;
    return renderLanes;
  }

  function mountSuspenseFallbackChildren(workInProgress, primaryChildren, fallbackChildren, renderLanes) {
    var mode = workInProgress.mode,
        progressedPrimaryFragment = workInProgress.child;
    primaryChildren = {
      mode: "hidden",
      children: primaryChildren
    };
    0 === (mode & 1) && null !== progressedPrimaryFragment ? (progressedPrimaryFragment.childLanes = 0, progressedPrimaryFragment.pendingProps = primaryChildren) : progressedPrimaryFragment = createFiberFromOffscreen(primaryChildren, mode, 0, null);
    fallbackChildren = createFiberFromFragment(fallbackChildren, mode, renderLanes, null);
    progressedPrimaryFragment.return = workInProgress;
    fallbackChildren.return = workInProgress;
    progressedPrimaryFragment.sibling = fallbackChildren;
    workInProgress.child = progressedPrimaryFragment;
    return fallbackChildren;
  }

  function updateSuspensePrimaryChildren(current, workInProgress, primaryChildren, renderLanes) {
    var currentPrimaryChildFragment = current.child;
    current = currentPrimaryChildFragment.sibling;
    primaryChildren = createWorkInProgress(currentPrimaryChildFragment, {
      mode: "visible",
      children: primaryChildren
    });
    0 === (workInProgress.mode & 1) && (primaryChildren.lanes = renderLanes);
    primaryChildren.return = workInProgress;
    primaryChildren.sibling = null;
    null !== current && (renderLanes = workInProgress.deletions, null === renderLanes ? (workInProgress.deletions = [current], workInProgress.flags |= 16) : renderLanes.push(current));
    return workInProgress.child = primaryChildren;
  }

  function updateSuspenseFallbackChildren(current, workInProgress, primaryChildren, fallbackChildren, renderLanes) {
    var mode = workInProgress.mode;
    current = current.child;
    var currentFallbackChildFragment = current.sibling,
        primaryChildProps = {
      mode: "hidden",
      children: primaryChildren
    };
    0 === (mode & 1) && workInProgress.child !== current ? (primaryChildren = workInProgress.child, primaryChildren.childLanes = 0, primaryChildren.pendingProps = primaryChildProps, workInProgress.deletions = null) : (primaryChildren = createWorkInProgress(current, primaryChildProps), primaryChildren.subtreeFlags = current.subtreeFlags & 1835008);
    null !== currentFallbackChildFragment ? fallbackChildren = createWorkInProgress(currentFallbackChildFragment, fallbackChildren) : (fallbackChildren = createFiberFromFragment(fallbackChildren, mode, renderLanes, null), fallbackChildren.flags |= 2);
    fallbackChildren.return = workInProgress;
    primaryChildren.return = workInProgress;
    primaryChildren.sibling = fallbackChildren;
    workInProgress.child = primaryChildren;
    return fallbackChildren;
  }

  function scheduleWorkOnFiber(fiber, renderLanes) {
    fiber.lanes |= renderLanes;
    var alternate = fiber.alternate;
    null !== alternate && (alternate.lanes |= renderLanes);
    scheduleWorkOnParentPath(fiber.return, renderLanes);
  }

  function initSuspenseListRenderState(workInProgress, isBackwards, tail, lastContentRow, tailMode) {
    var renderState = workInProgress.memoizedState;
    null === renderState ? workInProgress.memoizedState = {
      isBackwards: isBackwards,
      rendering: null,
      renderingStartTime: 0,
      last: lastContentRow,
      tail: tail,
      tailMode: tailMode
    } : (renderState.isBackwards = isBackwards, renderState.rendering = null, renderState.renderingStartTime = 0, renderState.last = lastContentRow, renderState.tail = tail, renderState.tailMode = tailMode);
  }

  function updateSuspenseListComponent(current, workInProgress, renderLanes) {
    var nextProps = workInProgress.pendingProps,
        revealOrder = nextProps.revealOrder,
        tailMode = nextProps.tail;
    reconcileChildren(current, workInProgress, nextProps.children, renderLanes);
    nextProps = suspenseStackCursor.current;
    if (0 !== (nextProps & 2)) nextProps = nextProps & 1 | 2, workInProgress.flags |= 128;else {
      if (null !== current && 0 !== (current.flags & 128)) a: for (current = workInProgress.child; null !== current;) {
        if (13 === current.tag) null !== current.memoizedState && scheduleWorkOnFiber(current, renderLanes);else if (19 === current.tag) scheduleWorkOnFiber(current, renderLanes);else if (null !== current.child) {
          current.child.return = current;
          current = current.child;
          continue;
        }
        if (current === workInProgress) break a;

        for (; null === current.sibling;) {
          if (null === current.return || current.return === workInProgress) break a;
          current = current.return;
        }

        current.sibling.return = current.return;
        current = current.sibling;
      }
      nextProps &= 1;
    }
    push(suspenseStackCursor, nextProps);
    if (0 === (workInProgress.mode & 1)) workInProgress.memoizedState = null;else switch (revealOrder) {
      case "forwards":
        renderLanes = workInProgress.child;

        for (revealOrder = null; null !== renderLanes;) {
          current = renderLanes.alternate, null !== current && null === findFirstSuspended(current) && (revealOrder = renderLanes), renderLanes = renderLanes.sibling;
        }

        renderLanes = revealOrder;
        null === renderLanes ? (revealOrder = workInProgress.child, workInProgress.child = null) : (revealOrder = renderLanes.sibling, renderLanes.sibling = null);
        initSuspenseListRenderState(workInProgress, false, revealOrder, renderLanes, tailMode);
        break;

      case "backwards":
        renderLanes = null;
        revealOrder = workInProgress.child;

        for (workInProgress.child = null; null !== revealOrder;) {
          current = revealOrder.alternate;

          if (null !== current && null === findFirstSuspended(current)) {
            workInProgress.child = revealOrder;
            break;
          }

          current = revealOrder.sibling;
          revealOrder.sibling = renderLanes;
          renderLanes = revealOrder;
          revealOrder = current;
        }

        initSuspenseListRenderState(workInProgress, true, renderLanes, null, tailMode);
        break;

      case "together":
        initSuspenseListRenderState(workInProgress, false, null, null, undefined);
        break;

      default:
        workInProgress.memoizedState = null;
    }
    return workInProgress.child;
  }

  function bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {
    null !== current && (workInProgress.dependencies = current.dependencies);
    workInProgressRootSkippedLanes |= workInProgress.lanes;
    if (0 === (renderLanes & workInProgress.childLanes)) return null;
    if (null !== current && workInProgress.child !== current.child) throw Error("Resuming work not yet implemented.");

    if (null !== workInProgress.child) {
      current = workInProgress.child;
      renderLanes = createWorkInProgress(current, current.pendingProps);
      workInProgress.child = renderLanes;

      for (renderLanes.return = workInProgress; null !== current.sibling;) {
        current = current.sibling, renderLanes = renderLanes.sibling = createWorkInProgress(current, current.pendingProps), renderLanes.return = workInProgress;
      }

      renderLanes.sibling = null;
    }

    return workInProgress.child;
  }

  var appendAllChildren, updateHostContainer, updateHostComponent$1, updateHostText$1;

  appendAllChildren = function appendAllChildren(parent, workInProgress) {
    for (var node = workInProgress.child; null !== node;) {
      if (5 === node.tag || 6 === node.tag) parent._children.push(node.stateNode);else if (4 !== node.tag && null !== node.child) {
        node.child.return = node;
        node = node.child;
        continue;
      }
      if (node === workInProgress) break;

      for (; null === node.sibling;) {
        if (null === node.return || node.return === workInProgress) return;
        node = node.return;
      }

      node.sibling.return = node.return;
      node = node.sibling;
    }
  };

  updateHostContainer = function updateHostContainer() {};

  updateHostComponent$1 = function updateHostComponent$1(current, workInProgress, type, newProps) {
    current.memoizedProps !== newProps && (requiredContext(contextStackCursor$1.current), workInProgress.updateQueue = UPDATE_SIGNAL) && (workInProgress.flags |= 4);
  };

  updateHostText$1 = function updateHostText$1(current, workInProgress, oldText, newText) {
    oldText !== newText && (workInProgress.flags |= 4);
  };

  function cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {
    switch (renderState.tailMode) {
      case "hidden":
        hasRenderedATailFallback = renderState.tail;

        for (var lastTailNode = null; null !== hasRenderedATailFallback;) {
          null !== hasRenderedATailFallback.alternate && (lastTailNode = hasRenderedATailFallback), hasRenderedATailFallback = hasRenderedATailFallback.sibling;
        }

        null === lastTailNode ? renderState.tail = null : lastTailNode.sibling = null;
        break;

      case "collapsed":
        lastTailNode = renderState.tail;

        for (var lastTailNode$69 = null; null !== lastTailNode;) {
          null !== lastTailNode.alternate && (lastTailNode$69 = lastTailNode), lastTailNode = lastTailNode.sibling;
        }

        null === lastTailNode$69 ? hasRenderedATailFallback || null === renderState.tail ? renderState.tail = null : renderState.tail.sibling = null : lastTailNode$69.sibling = null;
    }
  }

  function bubbleProperties(completedWork) {
    var didBailout = null !== completedWork.alternate && completedWork.alternate.child === completedWork.child,
        newChildLanes = 0,
        subtreeFlags = 0;
    if (didBailout) for (var child$70 = completedWork.child; null !== child$70;) {
      newChildLanes |= child$70.lanes | child$70.childLanes, subtreeFlags |= child$70.subtreeFlags & 1835008, subtreeFlags |= child$70.flags & 1835008, child$70.return = completedWork, child$70 = child$70.sibling;
    } else for (child$70 = completedWork.child; null !== child$70;) {
      newChildLanes |= child$70.lanes | child$70.childLanes, subtreeFlags |= child$70.subtreeFlags, subtreeFlags |= child$70.flags, child$70.return = completedWork, child$70 = child$70.sibling;
    }
    completedWork.subtreeFlags |= subtreeFlags;
    completedWork.childLanes = newChildLanes;
    return didBailout;
  }

  function completeWork(current, workInProgress, renderLanes) {
    var newProps = workInProgress.pendingProps;

    switch (workInProgress.tag) {
      case 2:
      case 16:
      case 15:
      case 0:
      case 11:
      case 7:
      case 8:
      case 12:
      case 9:
      case 14:
        return bubbleProperties(workInProgress), null;

      case 1:
        return isContextProvider(workInProgress.type) && popContext(), bubbleProperties(workInProgress), null;

      case 3:
        return newProps = workInProgress.stateNode, popHostContainer(), pop(didPerformWorkStackCursor), pop(contextStackCursor), resetWorkInProgressVersions(), newProps.pendingContext && (newProps.context = newProps.pendingContext, newProps.pendingContext = null), null !== current && null !== current.child || newProps.hydrate || (workInProgress.flags |= 512), updateHostContainer(current, workInProgress), bubbleProperties(workInProgress), null;

      case 5:
        popHostContext(workInProgress);
        renderLanes = requiredContext(rootInstanceStackCursor.current);
        var type = workInProgress.type;
        if (null !== current && null != workInProgress.stateNode) updateHostComponent$1(current, workInProgress, type, newProps, renderLanes), current.ref !== workInProgress.ref && (workInProgress.flags |= 256);else {
          if (!newProps) {
            if (null === workInProgress.stateNode) throw Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.");
            bubbleProperties(workInProgress);
            return null;
          }

          requiredContext(contextStackCursor$1.current);
          current = allocateTag();
          type = getViewConfigForType(type);
          var updatePayload = diffProperties(null, emptyObject, newProps, type.validAttributes);

          _$$_REQUIRE(_dependencyMap[3]).UIManager.createView(current, type.uiViewClassName, renderLanes, updatePayload);

          renderLanes = new ReactNativeFiberHostComponent(current, type, workInProgress);
          instanceCache.set(current, workInProgress);
          instanceProps.set(current, newProps);
          appendAllChildren(renderLanes, workInProgress, false, false);
          workInProgress.stateNode = renderLanes;
          finalizeInitialChildren(renderLanes) && (workInProgress.flags |= 4);
          null !== workInProgress.ref && (workInProgress.flags |= 256);
        }
        bubbleProperties(workInProgress);
        return null;

      case 6:
        if (current && null != workInProgress.stateNode) updateHostText$1(current, workInProgress, current.memoizedProps, newProps);else {
          if ("string" !== typeof newProps && null === workInProgress.stateNode) throw Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.");
          current = requiredContext(rootInstanceStackCursor.current);
          if (!requiredContext(contextStackCursor$1.current).isInAParentText) throw Error("Text strings must be rendered within a <Text> component.");
          renderLanes = allocateTag();

          _$$_REQUIRE(_dependencyMap[3]).UIManager.createView(renderLanes, "RCTRawText", current, {
            text: newProps
          });

          instanceCache.set(renderLanes, workInProgress);
          workInProgress.stateNode = renderLanes;
        }
        bubbleProperties(workInProgress);
        return null;

      case 13:
        pop(suspenseStackCursor);
        newProps = workInProgress.memoizedState;
        if (0 !== (workInProgress.flags & 128)) return workInProgress.lanes = renderLanes, workInProgress;
        newProps = null !== newProps;
        renderLanes = false;
        null !== current && (renderLanes = null !== current.memoizedState);
        if (newProps && !renderLanes && 0 !== (workInProgress.mode & 1)) if (null === current && true !== workInProgress.memoizedProps.unstable_avoidThisFallback || 0 !== (suspenseStackCursor.current & 1)) 0 === workInProgressRootExitStatus && (workInProgressRootExitStatus = 3);else {
          if (0 === workInProgressRootExitStatus || 3 === workInProgressRootExitStatus) workInProgressRootExitStatus = 4;
          null === workInProgressRoot || 0 === (workInProgressRootSkippedLanes & 268435455) && 0 === (workInProgressRootUpdatedLanes & 268435455) || markRootSuspended$1(workInProgressRoot, workInProgressRootRenderLanes);
        }
        if (newProps || renderLanes) workInProgress.flags |= 4;
        bubbleProperties(workInProgress);
        return null;

      case 4:
        return popHostContainer(), updateHostContainer(current, workInProgress), bubbleProperties(workInProgress), null;

      case 10:
        return popProvider(workInProgress.type._context), bubbleProperties(workInProgress), null;

      case 17:
        return isContextProvider(workInProgress.type) && popContext(), bubbleProperties(workInProgress), null;

      case 19:
        pop(suspenseStackCursor);
        type = workInProgress.memoizedState;
        if (null === type) return bubbleProperties(workInProgress), null;
        newProps = 0 !== (workInProgress.flags & 128);
        updatePayload = type.rendering;
        if (null === updatePayload) {
          if (newProps) cutOffTailIfNeeded(type, false);else {
            if (0 !== workInProgressRootExitStatus || null !== current && 0 !== (current.flags & 128)) for (current = workInProgress.child; null !== current;) {
              updatePayload = findFirstSuspended(current);

              if (null !== updatePayload) {
                workInProgress.flags |= 128;
                cutOffTailIfNeeded(type, false);
                current = updatePayload.updateQueue;
                null !== current && (workInProgress.updateQueue = current, workInProgress.flags |= 4);
                workInProgress.subtreeFlags = 0;
                current = renderLanes;

                for (newProps = workInProgress.child; null !== newProps;) {
                  renderLanes = newProps, type = current, renderLanes.flags &= 1835010, updatePayload = renderLanes.alternate, null === updatePayload ? (renderLanes.childLanes = 0, renderLanes.lanes = type, renderLanes.child = null, renderLanes.subtreeFlags = 0, renderLanes.memoizedProps = null, renderLanes.memoizedState = null, renderLanes.updateQueue = null, renderLanes.dependencies = null, renderLanes.stateNode = null) : (renderLanes.childLanes = updatePayload.childLanes, renderLanes.lanes = updatePayload.lanes, renderLanes.child = updatePayload.child, renderLanes.subtreeFlags = 0, renderLanes.deletions = null, renderLanes.memoizedProps = updatePayload.memoizedProps, renderLanes.memoizedState = updatePayload.memoizedState, renderLanes.updateQueue = updatePayload.updateQueue, renderLanes.type = updatePayload.type, type = updatePayload.dependencies, renderLanes.dependencies = null === type ? null : {
                    lanes: type.lanes,
                    firstContext: type.firstContext
                  }), newProps = newProps.sibling;
                }

                push(suspenseStackCursor, suspenseStackCursor.current & 1 | 2);
                return workInProgress.child;
              }

              current = current.sibling;
            }
            null !== type.tail && _$$_REQUIRE(_dependencyMap[4]).unstable_now() > workInProgressRootRenderTargetTime && (workInProgress.flags |= 128, newProps = true, cutOffTailIfNeeded(type, false), workInProgress.lanes = 4194304);
          }
        } else {
          if (!newProps) if (current = findFirstSuspended(updatePayload), null !== current) {
            if (workInProgress.flags |= 128, newProps = true, current = current.updateQueue, null !== current && (workInProgress.updateQueue = current, workInProgress.flags |= 4), cutOffTailIfNeeded(type, true), null === type.tail && "hidden" === type.tailMode && !updatePayload.alternate) return bubbleProperties(workInProgress), null;
          } else 2 * _$$_REQUIRE(_dependencyMap[4]).unstable_now() - type.renderingStartTime > workInProgressRootRenderTargetTime && 1073741824 !== renderLanes && (workInProgress.flags |= 128, newProps = true, cutOffTailIfNeeded(type, false), workInProgress.lanes = 4194304);
          type.isBackwards ? (updatePayload.sibling = workInProgress.child, workInProgress.child = updatePayload) : (current = type.last, null !== current ? current.sibling = updatePayload : workInProgress.child = updatePayload, type.last = updatePayload);
        }
        if (null !== type.tail) return workInProgress = type.tail, type.rendering = workInProgress, type.tail = workInProgress.sibling, type.renderingStartTime = _$$_REQUIRE(_dependencyMap[4]).unstable_now(), workInProgress.sibling = null, current = suspenseStackCursor.current, push(suspenseStackCursor, newProps ? current & 1 | 2 : current & 1), workInProgress;
        bubbleProperties(workInProgress);
        return null;

      case 22:
      case 23:
        return popRenderLanes(), renderLanes = null !== workInProgress.memoizedState, null !== current && null !== current.memoizedState !== renderLanes && "unstable-defer-without-hiding" !== newProps.mode && (workInProgress.flags |= 4), renderLanes && 0 === (subtreeRenderLanes & 1073741824) && 0 !== (workInProgress.mode & 1) || bubbleProperties(workInProgress), null;
    }

    throw Error("Unknown unit of work tag (" + workInProgress.tag + "). This error is likely caused by a bug in React. Please file an issue.");
  }

  function unwindWork(workInProgress) {
    switch (workInProgress.tag) {
      case 1:
        isContextProvider(workInProgress.type) && popContext();
        var flags = workInProgress.flags;
        return flags & 16384 ? (workInProgress.flags = flags & -16385 | 128, workInProgress) : null;

      case 3:
        popHostContainer();
        pop(didPerformWorkStackCursor);
        pop(contextStackCursor);
        resetWorkInProgressVersions();
        flags = workInProgress.flags;
        if (0 !== (flags & 128)) throw Error("The root failed to unmount after an error. This is likely a bug in React. Please file an issue.");
        workInProgress.flags = flags & -16385 | 128;
        return workInProgress;

      case 5:
        return popHostContext(workInProgress), null;

      case 13:
        return pop(suspenseStackCursor), flags = workInProgress.flags, flags & 16384 ? (workInProgress.flags = flags & -16385 | 128, workInProgress) : null;

      case 19:
        return pop(suspenseStackCursor), null;

      case 4:
        return popHostContainer(), null;

      case 10:
        return popProvider(workInProgress.type._context), null;

      case 22:
      case 23:
        return popRenderLanes(), null;

      case 24:
        return null;

      default:
        return null;
    }
  }

  var PossiblyWeakSet = "function" === typeof WeakSet ? WeakSet : Set,
      nextEffect = null;

  function safelyDetachRef(current, nearestMountedAncestor) {
    var ref = current.ref;
    if (null !== ref) if ("function" === typeof ref) try {
      ref(null);
    } catch (error) {
      captureCommitPhaseError(current, nearestMountedAncestor, error);
    } else ref.current = null;
  }

  var shouldFireAfterActiveInstanceBlur = false;

  function commitBeforeMutationEffects(root, firstChild) {
    for (nextEffect = firstChild; null !== nextEffect;) {
      if (root = nextEffect, firstChild = root.child, 0 !== (root.subtreeFlags & 516) && null !== firstChild) firstChild.return = root, nextEffect = firstChild;else for (; null !== nextEffect;) {
        root = nextEffect;

        try {
          var current = root.alternate;
          if (0 !== (root.flags & 512)) switch (root.tag) {
            case 0:
            case 11:
            case 15:
              break;

            case 1:
              if (null !== current) {
                var prevProps = current.memoizedProps,
                    prevState = current.memoizedState,
                    instance = root.stateNode,
                    snapshot = instance.getSnapshotBeforeUpdate(root.elementType === root.type ? prevProps : resolveDefaultProps(root.type, prevProps), prevState);
                instance.__reactInternalSnapshotBeforeUpdate = snapshot;
              }

              break;

            case 3:
              break;

            case 5:
            case 6:
            case 4:
            case 17:
              break;

            default:
              throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.");
          }
        } catch (error) {
          captureCommitPhaseError(root, root.return, error);
        }

        firstChild = root.sibling;

        if (null !== firstChild) {
          firstChild.return = root.return;
          nextEffect = firstChild;
          break;
        }

        nextEffect = root.return;
      }
    }

    current = shouldFireAfterActiveInstanceBlur;
    shouldFireAfterActiveInstanceBlur = false;
    return current;
  }

  function commitHookEffectListUnmount(flags, finishedWork, nearestMountedAncestor$jscomp$0) {
    var updateQueue = finishedWork.updateQueue;
    updateQueue = null !== updateQueue ? updateQueue.lastEffect : null;

    if (null !== updateQueue) {
      var effect = updateQueue = updateQueue.next;

      do {
        if ((effect.tag & flags) === flags) {
          var destroy = effect.destroy;
          effect.destroy = undefined;

          if (undefined !== destroy) {
            var current = finishedWork,
                nearestMountedAncestor = nearestMountedAncestor$jscomp$0;

            try {
              destroy();
            } catch (error) {
              captureCommitPhaseError(current, nearestMountedAncestor, error);
            }
          }
        }

        effect = effect.next;
      } while (effect !== updateQueue);
    }
  }

  function commitHookEffectListMount(tag, finishedWork) {
    finishedWork = finishedWork.updateQueue;
    finishedWork = null !== finishedWork ? finishedWork.lastEffect : null;

    if (null !== finishedWork) {
      var effect = finishedWork = finishedWork.next;

      do {
        if ((effect.tag & tag) === tag) {
          var create$82 = effect.create;
          effect.destroy = create$82();
        }

        effect = effect.next;
      } while (effect !== finishedWork);
    }
  }

  function hideOrUnhideAllChildren(finishedWork, isHidden) {
    for (var hostSubtreeRoot = null, node = finishedWork;;) {
      if (5 === node.tag) {
        if (null === hostSubtreeRoot) {
          hostSubtreeRoot = node;
          var instance = node.stateNode;

          if (isHidden) {
            var viewConfig = instance.viewConfig;
            var updatePayload = diffProperties(null, emptyObject, {
              style: {
                display: "none"
              }
            }, viewConfig.validAttributes);

            _$$_REQUIRE(_dependencyMap[3]).UIManager.updateView(instance._nativeTag, viewConfig.uiViewClassName, updatePayload);
          } else {
            instance = node.stateNode;
            updatePayload = node.memoizedProps;
            viewConfig = instance.viewConfig;

            var prevProps = _$$_REQUIRE(_dependencyMap[2])({}, updatePayload, {
              style: [updatePayload.style, {
                display: "none"
              }]
            });

            updatePayload = diffProperties(null, prevProps, updatePayload, viewConfig.validAttributes);

            _$$_REQUIRE(_dependencyMap[3]).UIManager.updateView(instance._nativeTag, viewConfig.uiViewClassName, updatePayload);
          }
        }
      } else if (6 === node.tag) {
        if (null === hostSubtreeRoot) throw Error("Not yet implemented.");
      } else if ((22 !== node.tag && 23 !== node.tag || null === node.memoizedState || node === finishedWork) && null !== node.child) {
        node.child.return = node;
        node = node.child;
        continue;
      }

      if (node === finishedWork) break;

      for (; null === node.sibling;) {
        if (null === node.return || node.return === finishedWork) return;
        hostSubtreeRoot === node && (hostSubtreeRoot = null);
        node = node.return;
      }

      hostSubtreeRoot === node && (hostSubtreeRoot = null);
      node.sibling.return = node.return;
      node = node.sibling;
    }
  }

  function commitUnmount(finishedRoot, current, nearestMountedAncestor$jscomp$0) {
    if (injectedHook && "function" === typeof injectedHook.onCommitFiberUnmount) try {
      injectedHook.onCommitFiberUnmount(rendererID, current);
    } catch (err) {}

    switch (current.tag) {
      case 0:
      case 11:
      case 14:
      case 15:
        finishedRoot = current.updateQueue;

        if (null !== finishedRoot && (finishedRoot = finishedRoot.lastEffect, null !== finishedRoot)) {
          var effect = finishedRoot = finishedRoot.next;

          do {
            var _effect = effect,
                destroy = _effect.destroy;
            _effect = _effect.tag;

            if (undefined !== destroy && 0 !== (_effect & 2)) {
              _effect = current;
              var nearestMountedAncestor = nearestMountedAncestor$jscomp$0;

              try {
                destroy();
              } catch (error) {
                captureCommitPhaseError(_effect, nearestMountedAncestor, error);
              }
            }

            effect = effect.next;
          } while (effect !== finishedRoot);
        }

        break;

      case 1:
        safelyDetachRef(current, nearestMountedAncestor$jscomp$0);
        finishedRoot = current.stateNode;
        if ("function" === typeof finishedRoot.componentWillUnmount) try {
          finishedRoot.props = current.memoizedProps, finishedRoot.state = current.memoizedState, finishedRoot.componentWillUnmount();
        } catch (unmountError) {
          captureCommitPhaseError(current, nearestMountedAncestor$jscomp$0, unmountError);
        }
        break;

      case 5:
        safelyDetachRef(current, nearestMountedAncestor$jscomp$0);
        break;

      case 4:
        unmountHostComponents(finishedRoot, current, nearestMountedAncestor$jscomp$0);
    }
  }

  function detachFiberAfterEffects(fiber) {
    var alternate = fiber.alternate;
    null !== alternate && (fiber.alternate = null, detachFiberAfterEffects(alternate));
    fiber.child = null;
    fiber.deletions = null;
    fiber.sibling = null;
    fiber.stateNode = null;
    fiber.return = null;
    fiber.dependencies = null;
    fiber.memoizedProps = null;
    fiber.memoizedState = null;
    fiber.pendingProps = null;
    fiber.stateNode = null;
    fiber.updateQueue = null;
  }

  function isHostParent(fiber) {
    return 5 === fiber.tag || 3 === fiber.tag || 4 === fiber.tag;
  }

  function commitPlacement(finishedWork) {
    a: {
      for (var parent = finishedWork.return; null !== parent;) {
        if (isHostParent(parent)) break a;
        parent = parent.return;
      }

      throw Error("Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.");
    }

    var parentFiber = parent;
    parent = parentFiber.stateNode;

    switch (parentFiber.tag) {
      case 5:
        var isContainer = false;
        break;

      case 3:
        parent = parent.containerInfo;
        isContainer = true;
        break;

      case 4:
        parent = parent.containerInfo;
        isContainer = true;
        break;

      default:
        throw Error("Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue.");
    }

    parentFiber.flags & 32 && (parentFiber.flags &= -33);

    a: b: for (parentFiber = finishedWork;;) {
      for (; null === parentFiber.sibling;) {
        if (null === parentFiber.return || isHostParent(parentFiber.return)) {
          parentFiber = null;
          break a;
        }

        parentFiber = parentFiber.return;
      }

      parentFiber.sibling.return = parentFiber.return;

      for (parentFiber = parentFiber.sibling; 5 !== parentFiber.tag && 6 !== parentFiber.tag && 18 !== parentFiber.tag;) {
        if (parentFiber.flags & 2) continue b;
        if (null === parentFiber.child || 4 === parentFiber.tag) continue b;else parentFiber.child.return = parentFiber, parentFiber = parentFiber.child;
      }

      if (!(parentFiber.flags & 2)) {
        parentFiber = parentFiber.stateNode;
        break a;
      }
    }

    isContainer ? insertOrAppendPlacementNodeIntoContainer(finishedWork, parentFiber, parent) : insertOrAppendPlacementNode(finishedWork, parentFiber, parent);
  }

  function insertOrAppendPlacementNodeIntoContainer(node, before, parent) {
    var tag = node.tag;
    if (5 === tag || 6 === tag) {
      if (node = node.stateNode, before) {
        if ("number" === typeof parent) throw Error("Container does not support insertBefore operation");
      } else _$$_REQUIRE(_dependencyMap[3]).UIManager.setChildren(parent, ["number" === typeof node ? node : node._nativeTag]);
    } else if (4 !== tag && (node = node.child, null !== node)) for (insertOrAppendPlacementNodeIntoContainer(node, before, parent), node = node.sibling; null !== node;) {
      insertOrAppendPlacementNodeIntoContainer(node, before, parent), node = node.sibling;
    }
  }

  function insertOrAppendPlacementNode(node, before, parent) {
    var tag = node.tag;
    if (5 === tag || 6 === tag) {
      if (node = node.stateNode, before) {
        tag = parent._children;
        var index = tag.indexOf(node);
        0 <= index ? (tag.splice(index, 1), before = tag.indexOf(before), tag.splice(before, 0, node), _$$_REQUIRE(_dependencyMap[3]).UIManager.manageChildren(parent._nativeTag, [index], [before], [], [], [])) : (before = tag.indexOf(before), tag.splice(before, 0, node), _$$_REQUIRE(_dependencyMap[3]).UIManager.manageChildren(parent._nativeTag, [], [], ["number" === typeof node ? node : node._nativeTag], [before], []));
      } else before = "number" === typeof node ? node : node._nativeTag, tag = parent._children, index = tag.indexOf(node), 0 <= index ? (tag.splice(index, 1), tag.push(node), _$$_REQUIRE(_dependencyMap[3]).UIManager.manageChildren(parent._nativeTag, [index], [tag.length - 1], [], [], [])) : (tag.push(node), _$$_REQUIRE(_dependencyMap[3]).UIManager.manageChildren(parent._nativeTag, [], [], [before], [tag.length - 1], []));
    } else if (4 !== tag && (node = node.child, null !== node)) for (insertOrAppendPlacementNode(node, before, parent), node = node.sibling; null !== node;) {
      insertOrAppendPlacementNode(node, before, parent), node = node.sibling;
    }
  }

  function unmountHostComponents(finishedRoot$jscomp$0, current, nearestMountedAncestor$jscomp$0) {
    for (var node = current, currentParentIsValid = false, currentParent, currentParentIsContainer;;) {
      if (!currentParentIsValid) {
        currentParentIsValid = node.return;

        a: for (;;) {
          if (null === currentParentIsValid) throw Error("Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.");
          currentParent = currentParentIsValid.stateNode;

          switch (currentParentIsValid.tag) {
            case 5:
              currentParentIsContainer = false;
              break a;

            case 3:
              currentParent = currentParent.containerInfo;
              currentParentIsContainer = true;
              break a;

            case 4:
              currentParent = currentParent.containerInfo;
              currentParentIsContainer = true;
              break a;
          }

          currentParentIsValid = currentParentIsValid.return;
        }

        currentParentIsValid = true;
      }

      if (5 === node.tag || 6 === node.tag) {
        a: for (var finishedRoot = finishedRoot$jscomp$0, root = node, nearestMountedAncestor = nearestMountedAncestor$jscomp$0, node$jscomp$0 = root;;) {
          if (commitUnmount(finishedRoot, node$jscomp$0, nearestMountedAncestor), null !== node$jscomp$0.child && 4 !== node$jscomp$0.tag) node$jscomp$0.child.return = node$jscomp$0, node$jscomp$0 = node$jscomp$0.child;else {
            if (node$jscomp$0 === root) break a;

            for (; null === node$jscomp$0.sibling;) {
              if (null === node$jscomp$0.return || node$jscomp$0.return === root) break a;
              node$jscomp$0 = node$jscomp$0.return;
            }

            node$jscomp$0.sibling.return = node$jscomp$0.return;
            node$jscomp$0 = node$jscomp$0.sibling;
          }
        }

        currentParentIsContainer ? (finishedRoot = currentParent, recursivelyUncacheFiberNode(node.stateNode), _$$_REQUIRE(_dependencyMap[3]).UIManager.manageChildren(finishedRoot, [], [], [], [], [0])) : (finishedRoot = currentParent, nearestMountedAncestor = node.stateNode, recursivelyUncacheFiberNode(nearestMountedAncestor), root = finishedRoot._children, nearestMountedAncestor = root.indexOf(nearestMountedAncestor), root.splice(nearestMountedAncestor, 1), _$$_REQUIRE(_dependencyMap[3]).UIManager.manageChildren(finishedRoot._nativeTag, [], [], [], [], [nearestMountedAncestor]));
      } else if (4 === node.tag) {
        if (null !== node.child) {
          currentParent = node.stateNode.containerInfo;
          currentParentIsContainer = true;
          node.child.return = node;
          node = node.child;
          continue;
        }
      } else if (commitUnmount(finishedRoot$jscomp$0, node, nearestMountedAncestor$jscomp$0), null !== node.child) {
        node.child.return = node;
        node = node.child;
        continue;
      }

      if (node === current) break;

      for (; null === node.sibling;) {
        if (null === node.return || node.return === current) return;
        node = node.return;
        4 === node.tag && (currentParentIsValid = false);
      }

      node.sibling.return = node.return;
      node = node.sibling;
    }
  }

  function commitWork(current, finishedWork) {
    switch (finishedWork.tag) {
      case 0:
      case 11:
      case 14:
      case 15:
        commitHookEffectListUnmount(3, finishedWork, finishedWork.return);
        return;

      case 1:
        return;

      case 5:
        var instance = finishedWork.stateNode;

        if (null != instance) {
          var newProps = finishedWork.memoizedProps;
          current = null !== current ? current.memoizedProps : newProps;
          var updatePayload = finishedWork.updateQueue;
          finishedWork.updateQueue = null;
          null !== updatePayload && (finishedWork = instance.viewConfig, instanceProps.set(instance._nativeTag, newProps), newProps = diffProperties(null, current, newProps, finishedWork.validAttributes), null != newProps && _$$_REQUIRE(_dependencyMap[3]).UIManager.updateView(instance._nativeTag, finishedWork.uiViewClassName, newProps));
        }

        return;

      case 6:
        if (null === finishedWork.stateNode) throw Error("This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue.");

        _$$_REQUIRE(_dependencyMap[3]).UIManager.updateView(finishedWork.stateNode, "RCTRawText", {
          text: finishedWork.memoizedProps
        });

        return;

      case 3:
        return;

      case 12:
        return;

      case 13:
        null !== finishedWork.memoizedState && (globalMostRecentFallbackTime = _$$_REQUIRE(_dependencyMap[4]).unstable_now(), hideOrUnhideAllChildren(finishedWork.child, true));
        attachSuspenseRetryListeners(finishedWork);
        return;

      case 19:
        attachSuspenseRetryListeners(finishedWork);
        return;

      case 17:
        return;

      case 22:
      case 23:
        hideOrUnhideAllChildren(finishedWork, null !== finishedWork.memoizedState);
        return;
    }

    throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.");
  }

  function attachSuspenseRetryListeners(finishedWork) {
    var wakeables = finishedWork.updateQueue;

    if (null !== wakeables) {
      finishedWork.updateQueue = null;
      var retryCache = finishedWork.stateNode;
      null === retryCache && (retryCache = finishedWork.stateNode = new PossiblyWeakSet());
      wakeables.forEach(function (wakeable) {
        var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);
        retryCache.has(wakeable) || (retryCache.add(wakeable), wakeable.then(retry, retry));
      });
    }
  }

  function commitMutationEffects(root, firstChild) {
    for (nextEffect = firstChild; null !== nextEffect;) {
      firstChild = nextEffect;
      var deletions = firstChild.deletions;
      if (null !== deletions) for (var i = 0; i < deletions.length; i++) {
        var childToDelete = deletions[i];

        try {
          unmountHostComponents(root, childToDelete, firstChild);
          var alternate = childToDelete.alternate;
          null !== alternate && (alternate.return = null);
          childToDelete.return = null;
        } catch (error) {
          captureCommitPhaseError(childToDelete, firstChild, error);
        }
      }
      deletions = firstChild.child;
      if (0 !== (firstChild.subtreeFlags & 6454) && null !== deletions) deletions.return = firstChild, nextEffect = deletions;else for (; null !== nextEffect;) {
        firstChild = nextEffect;

        try {
          var flags = firstChild.flags;

          if (flags & 256) {
            var current = firstChild.alternate;

            if (null !== current) {
              var currentRef = current.ref;
              null !== currentRef && ("function" === typeof currentRef ? currentRef(null) : currentRef.current = null);
            }
          }

          switch (flags & 2054) {
            case 2:
              commitPlacement(firstChild);
              firstChild.flags &= -3;
              break;

            case 6:
              commitPlacement(firstChild);
              firstChild.flags &= -3;
              commitWork(firstChild.alternate, firstChild);
              break;

            case 2048:
              firstChild.flags &= -2049;
              break;

            case 2052:
              firstChild.flags &= -2049;
              commitWork(firstChild.alternate, firstChild);
              break;

            case 4:
              commitWork(firstChild.alternate, firstChild);
          }
        } catch (error) {
          captureCommitPhaseError(firstChild, firstChild.return, error);
        }

        deletions = firstChild.sibling;

        if (null !== deletions) {
          deletions.return = firstChild.return;
          nextEffect = deletions;
          break;
        }

        nextEffect = firstChild.return;
      }
    }
  }

  function commitLayoutEffects(finishedWork) {
    for (nextEffect = finishedWork; null !== nextEffect;) {
      var fiber = nextEffect,
          firstChild = fiber.child;
      if (0 !== (fiber.subtreeFlags & 324) && null !== firstChild) firstChild.return = fiber, nextEffect = firstChild;else for (fiber = finishedWork; null !== nextEffect;) {
        firstChild = nextEffect;

        if (0 !== (firstChild.flags & 324)) {
          var current = firstChild.alternate;

          try {
            if (0 !== (firstChild.flags & 68)) switch (firstChild.tag) {
              case 0:
              case 11:
              case 15:
                commitHookEffectListMount(3, firstChild);
                break;

              case 1:
                var instance = firstChild.stateNode;
                if (firstChild.flags & 4) if (null === current) instance.componentDidMount();else {
                  var prevProps = firstChild.elementType === firstChild.type ? current.memoizedProps : resolveDefaultProps(firstChild.type, current.memoizedProps);
                  instance.componentDidUpdate(prevProps, current.memoizedState, instance.__reactInternalSnapshotBeforeUpdate);
                }
                var updateQueue = firstChild.updateQueue;
                null !== updateQueue && commitUpdateQueue(firstChild, updateQueue, instance);
                break;

              case 3:
                var updateQueue$83 = firstChild.updateQueue;

                if (null !== updateQueue$83) {
                  current = null;
                  if (null !== firstChild.child) switch (firstChild.child.tag) {
                    case 5:
                      current = firstChild.child.stateNode;
                      break;

                    case 1:
                      current = firstChild.child.stateNode;
                  }
                  commitUpdateQueue(firstChild, updateQueue$83, current);
                }

                break;

              case 5:
                break;

              case 6:
                break;

              case 4:
                break;

              case 12:
                break;

              case 13:
                break;

              case 19:
              case 17:
              case 21:
              case 22:
              case 23:
                break;

              default:
                throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.");
            }

            if (firstChild.flags & 256) {
              current = undefined;
              var ref = firstChild.ref;

              if (null !== ref) {
                var instance$jscomp$0 = firstChild.stateNode;

                switch (firstChild.tag) {
                  case 5:
                    current = instance$jscomp$0;
                    break;

                  default:
                    current = instance$jscomp$0;
                }

                "function" === typeof ref ? ref(current) : ref.current = current;
              }
            }
          } catch (error) {
            captureCommitPhaseError(firstChild, firstChild.return, error);
          }
        }

        if (firstChild === fiber) {
          nextEffect = null;
          break;
        }

        current = firstChild.sibling;

        if (null !== current) {
          current.return = firstChild.return;
          nextEffect = current;
          break;
        }

        nextEffect = firstChild.return;
      }
    }
  }

  var ceil = Math.ceil,
      ReactCurrentDispatcher$2 = ReactSharedInternals.ReactCurrentDispatcher,
      ReactCurrentOwner$2 = ReactSharedInternals.ReactCurrentOwner,
      ReactCurrentBatchConfig$2 = ReactSharedInternals.ReactCurrentBatchConfig,
      executionContext = 0,
      workInProgressRoot = null,
      workInProgress = null,
      workInProgressRootRenderLanes = 0,
      subtreeRenderLanes = 0,
      subtreeRenderLanesCursor = createCursor(0),
      workInProgressRootExitStatus = 0,
      workInProgressRootFatalError = null,
      workInProgressRootSkippedLanes = 0,
      workInProgressRootUpdatedLanes = 0,
      workInProgressRootPingedLanes = 0,
      globalMostRecentFallbackTime = 0,
      workInProgressRootRenderTargetTime = Infinity,
      hasUncaughtError = false,
      firstUncaughtError = null,
      legacyErrorBoundariesThatAlreadyFailed = null,
      rootDoesHavePassiveEffects = false,
      rootWithPendingPassiveEffects = null,
      pendingPassiveEffectsLanes = 0,
      nestedUpdateCount = 0,
      rootWithNestedUpdates = null,
      currentEventTime = -1,
      currentEventTransitionLane = 0;

  function requestEventTime() {
    return 0 !== (executionContext & 24) ? _$$_REQUIRE(_dependencyMap[4]).unstable_now() : -1 !== currentEventTime ? currentEventTime : currentEventTime = _$$_REQUIRE(_dependencyMap[4]).unstable_now();
  }

  function requestUpdateLane(fiber) {
    if (0 === (fiber.mode & 1)) return 1;
    if (0 !== (executionContext & 8) && 0 !== workInProgressRootRenderLanes) return workInProgressRootRenderLanes & -workInProgressRootRenderLanes;
    if (0 !== ReactCurrentBatchConfig.transition) return 0 === currentEventTransitionLane && (fiber = nextTransitionLane, nextTransitionLane <<= 1, 0 === (nextTransitionLane & 4194240) && (nextTransitionLane = 64), currentEventTransitionLane = fiber), currentEventTransitionLane;
    fiber = currentUpdatePriority;
    return 0 !== fiber ? fiber : 16;
  }

  function scheduleUpdateOnFiber(fiber, lane, eventTime) {
    if (50 < nestedUpdateCount) throw nestedUpdateCount = 0, rootWithNestedUpdates = null, Error("Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.");
    var root = markUpdateLaneFromFiberToRoot(fiber, lane);
    if (null === root) return null;
    markRootUpdated(root, lane, eventTime);
    root === workInProgressRoot && (0 === (executionContext & 8) && (workInProgressRootUpdatedLanes |= lane), 4 === workInProgressRootExitStatus && markRootSuspended$1(root, workInProgressRootRenderLanes));
    1 === lane ? 0 !== (executionContext & 4) && 0 === (executionContext & 24) ? performSyncWorkOnRoot(root) : (ensureRootIsScheduled(root, eventTime), 0 === executionContext && 0 === (fiber.mode & 1) && (workInProgressRootRenderTargetTime = _$$_REQUIRE(_dependencyMap[4]).unstable_now() + 500, includesLegacySyncCallbacks && flushSyncCallbacks())) : ensureRootIsScheduled(root, eventTime);
    return root;
  }

  function markUpdateLaneFromFiberToRoot(sourceFiber, lane) {
    sourceFiber.lanes |= lane;
    var alternate = sourceFiber.alternate;
    null !== alternate && (alternate.lanes |= lane);
    alternate = sourceFiber;

    for (sourceFiber = sourceFiber.return; null !== sourceFiber;) {
      sourceFiber.childLanes |= lane, alternate = sourceFiber.alternate, null !== alternate && (alternate.childLanes |= lane), alternate = sourceFiber, sourceFiber = sourceFiber.return;
    }

    return 3 === alternate.tag ? alternate.stateNode : null;
  }

  function ensureRootIsScheduled(root, currentTime) {
    for (var existingCallbackNode = root.callbackNode, suspendedLanes = root.suspendedLanes, pingedLanes = root.pingedLanes, expirationTimes = root.expirationTimes, lanes = root.pendingLanes; 0 < lanes;) {
      var index$6 = 31 - clz32(lanes),
          lane = 1 << index$6,
          expirationTime = expirationTimes[index$6];

      if (-1 === expirationTime) {
        if (0 === (lane & suspendedLanes) || 0 !== (lane & pingedLanes)) expirationTimes[index$6] = computeExpirationTime(lane, currentTime);
      } else expirationTime <= currentTime && (root.expiredLanes |= lane);

      lanes &= ~lane;
    }

    suspendedLanes = getNextLanes(root, root === workInProgressRoot ? workInProgressRootRenderLanes : 0);
    if (0 === suspendedLanes) null !== existingCallbackNode && _$$_REQUIRE(_dependencyMap[4]).unstable_cancelCallback(existingCallbackNode), root.callbackNode = null, root.callbackPriority = 0;else if (currentTime = suspendedLanes & -suspendedLanes, root.callbackPriority !== currentTime) {
      null != existingCallbackNode && _$$_REQUIRE(_dependencyMap[4]).unstable_cancelCallback(existingCallbackNode);
      if (1 === currentTime) 0 === root.tag ? (existingCallbackNode = performSyncWorkOnRoot.bind(null, root), includesLegacySyncCallbacks = true, null === syncQueue ? syncQueue = [existingCallbackNode] : syncQueue.push(existingCallbackNode)) : (existingCallbackNode = performSyncWorkOnRoot.bind(null, root), null === syncQueue ? syncQueue = [existingCallbackNode] : syncQueue.push(existingCallbackNode)), _$$_REQUIRE(_dependencyMap[4]).unstable_scheduleCallback(_$$_REQUIRE(_dependencyMap[4]).unstable_ImmediatePriority, flushSyncCallbacks), existingCallbackNode = null;else {
        switch (lanesToEventPriority(suspendedLanes)) {
          case 1:
            existingCallbackNode = _$$_REQUIRE(_dependencyMap[4]).unstable_ImmediatePriority;
            break;

          case 4:
            existingCallbackNode = _$$_REQUIRE(_dependencyMap[4]).unstable_UserBlockingPriority;
            break;

          case 16:
            existingCallbackNode = _$$_REQUIRE(_dependencyMap[4]).unstable_NormalPriority;
            break;

          case 536870912:
            existingCallbackNode = _$$_REQUIRE(_dependencyMap[4]).unstable_IdlePriority;
            break;

          default:
            existingCallbackNode = _$$_REQUIRE(_dependencyMap[4]).unstable_NormalPriority;
        }

        existingCallbackNode = _$$_REQUIRE(_dependencyMap[4]).unstable_scheduleCallback(existingCallbackNode, performConcurrentWorkOnRoot.bind(null, root));
      }
      root.callbackPriority = currentTime;
      root.callbackNode = existingCallbackNode;
    }
  }

  function performConcurrentWorkOnRoot(root, didTimeout) {
    currentEventTime = -1;
    currentEventTransitionLane = 0;
    if (0 !== (executionContext & 24)) throw Error("Should not already be working.");
    var originalCallbackNode = root.callbackNode;
    if (flushPassiveEffects() && root.callbackNode !== originalCallbackNode) return null;
    var lanes = getNextLanes(root, root === workInProgressRoot ? workInProgressRootRenderLanes : 0);
    if (0 === lanes) return null;
    var JSCompiler_inline_result = 0 !== (lanes & root.expiredLanes) ? false : 0 === (lanes & 30);

    if (JSCompiler_inline_result && !didTimeout) {
      didTimeout = lanes;
      JSCompiler_inline_result = executionContext;
      executionContext |= 8;
      var prevDispatcher = pushDispatcher();
      if (workInProgressRoot !== root || workInProgressRootRenderLanes !== didTimeout) workInProgressRootRenderTargetTime = _$$_REQUIRE(_dependencyMap[4]).unstable_now() + 500, prepareFreshStack(root, didTimeout);

      do {
        try {
          workLoopConcurrent();
          break;
        } catch (thrownValue) {
          handleError(root, thrownValue);
        }
      } while (1);

      resetContextDependencies();
      ReactCurrentDispatcher$2.current = prevDispatcher;
      executionContext = JSCompiler_inline_result;
      null !== workInProgress ? didTimeout = 0 : (workInProgressRoot = null, workInProgressRootRenderLanes = 0, didTimeout = workInProgressRootExitStatus);
    } else didTimeout = renderRootSync(root, lanes);

    if (0 !== didTimeout) {
      2 === didTimeout && (executionContext |= 32, root.hydrate && (root.hydrate = false), JSCompiler_inline_result = getLanesToRetrySynchronouslyOnError(root), 0 !== JSCompiler_inline_result && (lanes = JSCompiler_inline_result, didTimeout = renderRootSync(root, JSCompiler_inline_result)));
      if (1 === didTimeout) throw originalCallbackNode = workInProgressRootFatalError, prepareFreshStack(root, 0), markRootSuspended$1(root, lanes), ensureRootIsScheduled(root, _$$_REQUIRE(_dependencyMap[4]).unstable_now()), originalCallbackNode;
      root.finishedWork = root.current.alternate;
      root.finishedLanes = lanes;

      switch (didTimeout) {
        case 0:
        case 1:
          throw Error("Root did not complete. This is a bug in React.");

        case 2:
          commitRoot(root);
          break;

        case 3:
          markRootSuspended$1(root, lanes);

          if ((lanes & 130023424) === lanes && (didTimeout = globalMostRecentFallbackTime + 500 - _$$_REQUIRE(_dependencyMap[4]).unstable_now(), 10 < didTimeout)) {
            if (0 !== getNextLanes(root, 0)) break;
            JSCompiler_inline_result = root.suspendedLanes;

            if ((JSCompiler_inline_result & lanes) !== lanes) {
              requestEventTime();
              root.pingedLanes |= root.suspendedLanes & JSCompiler_inline_result;
              break;
            }

            root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root), didTimeout);
            break;
          }

          commitRoot(root);
          break;

        case 4:
          markRootSuspended$1(root, lanes);
          if ((lanes & 4194240) === lanes) break;
          didTimeout = root.eventTimes;

          for (JSCompiler_inline_result = -1; 0 < lanes;) {
            var index$5 = 31 - clz32(lanes);
            prevDispatcher = 1 << index$5;
            index$5 = didTimeout[index$5];
            index$5 > JSCompiler_inline_result && (JSCompiler_inline_result = index$5);
            lanes &= ~prevDispatcher;
          }

          lanes = JSCompiler_inline_result;
          lanes = _$$_REQUIRE(_dependencyMap[4]).unstable_now() - lanes;
          lanes = (120 > lanes ? 120 : 480 > lanes ? 480 : 1080 > lanes ? 1080 : 1920 > lanes ? 1920 : 3e3 > lanes ? 3e3 : 4320 > lanes ? 4320 : 1960 * ceil(lanes / 1960)) - lanes;

          if (10 < lanes) {
            root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root), lanes);
            break;
          }

          commitRoot(root);
          break;

        case 5:
          commitRoot(root);
          break;

        default:
          throw Error("Unknown root exit status.");
      }
    }

    ensureRootIsScheduled(root, _$$_REQUIRE(_dependencyMap[4]).unstable_now());
    return root.callbackNode === originalCallbackNode ? performConcurrentWorkOnRoot.bind(null, root) : null;
  }

  function markRootSuspended$1(root, suspendedLanes) {
    suspendedLanes &= ~workInProgressRootPingedLanes;
    suspendedLanes &= ~workInProgressRootUpdatedLanes;
    root.suspendedLanes |= suspendedLanes;
    root.pingedLanes &= ~suspendedLanes;

    for (root = root.expirationTimes; 0 < suspendedLanes;) {
      var index$7 = 31 - clz32(suspendedLanes),
          lane = 1 << index$7;
      root[index$7] = -1;
      suspendedLanes &= ~lane;
    }
  }

  function performSyncWorkOnRoot(root) {
    if (0 !== (executionContext & 24)) throw Error("Should not already be working.");
    flushPassiveEffects();
    var lanes = getNextLanes(root, 0);
    if (0 === (lanes & 1)) return ensureRootIsScheduled(root, _$$_REQUIRE(_dependencyMap[4]).unstable_now()), null;
    var exitStatus = renderRootSync(root, lanes);

    if (0 !== root.tag && 2 === exitStatus) {
      executionContext |= 32;
      root.hydrate && (root.hydrate = false);
      var errorRetryLanes = getLanesToRetrySynchronouslyOnError(root);
      0 !== errorRetryLanes && (lanes = errorRetryLanes, exitStatus = renderRootSync(root, lanes));
    }

    if (1 === exitStatus) throw exitStatus = workInProgressRootFatalError, prepareFreshStack(root, 0), markRootSuspended$1(root, lanes), ensureRootIsScheduled(root, _$$_REQUIRE(_dependencyMap[4]).unstable_now()), exitStatus;
    root.finishedWork = root.current.alternate;
    root.finishedLanes = lanes;
    commitRoot(root);
    ensureRootIsScheduled(root, _$$_REQUIRE(_dependencyMap[4]).unstable_now());
    return null;
  }

  function popRenderLanes() {
    subtreeRenderLanes = subtreeRenderLanesCursor.current;
    pop(subtreeRenderLanesCursor);
  }

  function prepareFreshStack(root, lanes) {
    root.finishedWork = null;
    root.finishedLanes = 0;
    var timeoutHandle = root.timeoutHandle;
    -1 !== timeoutHandle && (root.timeoutHandle = -1, cancelTimeout(timeoutHandle));
    if (null !== workInProgress) for (timeoutHandle = workInProgress.return; null !== timeoutHandle;) {
      var interruptedWork = timeoutHandle;

      switch (interruptedWork.tag) {
        case 1:
          interruptedWork = interruptedWork.type.childContextTypes;
          null !== interruptedWork && undefined !== interruptedWork && popContext();
          break;

        case 3:
          popHostContainer();
          pop(didPerformWorkStackCursor);
          pop(contextStackCursor);
          resetWorkInProgressVersions();
          break;

        case 5:
          popHostContext(interruptedWork);
          break;

        case 4:
          popHostContainer();
          break;

        case 13:
          pop(suspenseStackCursor);
          break;

        case 19:
          pop(suspenseStackCursor);
          break;

        case 10:
          popProvider(interruptedWork.type._context);
          break;

        case 22:
        case 23:
          popRenderLanes();
      }

      timeoutHandle = timeoutHandle.return;
    }
    workInProgressRoot = root;
    workInProgress = createWorkInProgress(root.current, null);
    workInProgressRootRenderLanes = subtreeRenderLanes = lanes;
    workInProgressRootExitStatus = 0;
    workInProgressRootFatalError = null;
    workInProgressRootPingedLanes = workInProgressRootUpdatedLanes = workInProgressRootSkippedLanes = 0;

    if (null !== interleavedQueues) {
      for (root = 0; root < interleavedQueues.length; root++) {
        if (lanes = interleavedQueues[root], timeoutHandle = lanes.interleaved, null !== timeoutHandle) {
          lanes.interleaved = null;
          interruptedWork = timeoutHandle.next;
          var lastPendingUpdate = lanes.pending;

          if (null !== lastPendingUpdate) {
            var firstPendingUpdate = lastPendingUpdate.next;
            lastPendingUpdate.next = interruptedWork;
            timeoutHandle.next = firstPendingUpdate;
          }

          lanes.pending = timeoutHandle;
        }
      }

      interleavedQueues = null;
    }
  }

  function handleError(root$jscomp$0, thrownValue) {
    do {
      var erroredWork = workInProgress;

      try {
        resetContextDependencies();
        ReactCurrentDispatcher$1.current = ContextOnlyDispatcher;

        if (didScheduleRenderPhaseUpdate) {
          for (var hook = currentlyRenderingFiber$1.memoizedState; null !== hook;) {
            var queue = hook.queue;
            null !== queue && (queue.pending = null);
            hook = hook.next;
          }

          didScheduleRenderPhaseUpdate = false;
        }

        renderLanes = 0;
        workInProgressHook = currentHook = currentlyRenderingFiber$1 = null;
        didScheduleRenderPhaseUpdateDuringThisPass = false;
        ReactCurrentOwner$2.current = null;

        if (null === erroredWork || null === erroredWork.return) {
          workInProgressRootExitStatus = 1;
          workInProgressRootFatalError = thrownValue;
          workInProgress = null;
          break;
        }

        a: {
          var root = root$jscomp$0,
              returnFiber = erroredWork.return,
              sourceFiber = erroredWork,
              value = thrownValue;
          thrownValue = workInProgressRootRenderLanes;
          sourceFiber.flags |= 8192;

          if (null !== value && "object" === typeof value && "function" === typeof value.then) {
            var wakeable = value,
                tag = sourceFiber.tag;

            if (0 === (sourceFiber.mode & 1) && (0 === tag || 11 === tag || 15 === tag)) {
              var currentSource = sourceFiber.alternate;
              currentSource ? (sourceFiber.updateQueue = currentSource.updateQueue, sourceFiber.memoizedState = currentSource.memoizedState, sourceFiber.lanes = currentSource.lanes) : (sourceFiber.updateQueue = null, sourceFiber.memoizedState = null);
            }

            var hasInvisibleParentBoundary = 0 !== (suspenseStackCursor.current & 1),
                workInProgress$32 = returnFiber;

            do {
              var JSCompiler_temp;

              if (JSCompiler_temp = 13 === workInProgress$32.tag) {
                var nextState = workInProgress$32.memoizedState;
                if (null !== nextState) JSCompiler_temp = null !== nextState.dehydrated ? true : false;else {
                  var props = workInProgress$32.memoizedProps;
                  JSCompiler_temp = undefined === props.fallback ? false : true !== props.unstable_avoidThisFallback ? true : hasInvisibleParentBoundary ? false : true;
                }
              }

              if (JSCompiler_temp) {
                var wakeables = workInProgress$32.updateQueue;

                if (null === wakeables) {
                  var updateQueue = new Set();
                  updateQueue.add(wakeable);
                  workInProgress$32.updateQueue = updateQueue;
                } else wakeables.add(wakeable);

                if (0 === (workInProgress$32.mode & 1) && workInProgress$32 !== returnFiber) {
                  workInProgress$32.flags |= 128;
                  sourceFiber.flags |= 32768;
                  sourceFiber.flags &= -10053;
                  if (1 === sourceFiber.tag) if (null === sourceFiber.alternate) sourceFiber.tag = 17;else {
                    var update = createUpdate(-1, 1);
                    update.tag = 2;
                    enqueueUpdate(sourceFiber, update);
                  }
                  sourceFiber.lanes |= 1;
                  break a;
                }

                value = undefined;
                sourceFiber = thrownValue;
                var pingCache = root.pingCache;
                null === pingCache ? (pingCache = root.pingCache = new PossiblyWeakMap(), value = new Set(), pingCache.set(wakeable, value)) : (value = pingCache.get(wakeable), undefined === value && (value = new Set(), pingCache.set(wakeable, value)));

                if (!value.has(sourceFiber)) {
                  value.add(sourceFiber);
                  var ping = pingSuspendedRoot.bind(null, root, wakeable, sourceFiber);
                  wakeable.then(ping, ping);
                }

                workInProgress$32.flags |= 16384;
                workInProgress$32.lanes = thrownValue;
                break a;
              }

              workInProgress$32 = workInProgress$32.return;
            } while (null !== workInProgress$32);

            value = Error((getComponentNameFromFiber(sourceFiber) || "A React component") + " suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.");
          }

          5 !== workInProgressRootExitStatus && (workInProgressRootExitStatus = 2);
          value = createCapturedValue(value, sourceFiber);
          workInProgress$32 = returnFiber;

          do {
            switch (workInProgress$32.tag) {
              case 3:
                root = value;
                workInProgress$32.flags |= 16384;
                thrownValue &= -thrownValue;
                workInProgress$32.lanes |= thrownValue;
                var update$33 = createRootErrorUpdate(workInProgress$32, root, thrownValue);
                enqueueCapturedUpdate(workInProgress$32, update$33);
                break a;

              case 1:
                root = value;
                var ctor = workInProgress$32.type,
                    instance = workInProgress$32.stateNode;

                if (0 === (workInProgress$32.flags & 128) && ("function" === typeof ctor.getDerivedStateFromError || null !== instance && "function" === typeof instance.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(instance)))) {
                  workInProgress$32.flags |= 16384;
                  thrownValue &= -thrownValue;
                  workInProgress$32.lanes |= thrownValue;
                  var update$36 = createClassErrorUpdate(workInProgress$32, root, thrownValue);
                  enqueueCapturedUpdate(workInProgress$32, update$36);
                  break a;
                }

            }

            workInProgress$32 = workInProgress$32.return;
          } while (null !== workInProgress$32);
        }

        completeUnitOfWork(erroredWork);
      } catch (yetAnotherThrownValue) {
        thrownValue = yetAnotherThrownValue;
        workInProgress === erroredWork && null !== erroredWork && (workInProgress = erroredWork = erroredWork.return);
        continue;
      }

      break;
    } while (1);
  }

  function pushDispatcher() {
    var prevDispatcher = ReactCurrentDispatcher$2.current;
    ReactCurrentDispatcher$2.current = ContextOnlyDispatcher;
    return null === prevDispatcher ? ContextOnlyDispatcher : prevDispatcher;
  }

  function renderRootSync(root, lanes) {
    var prevExecutionContext = executionContext;
    executionContext |= 8;
    var prevDispatcher = pushDispatcher();
    workInProgressRoot === root && workInProgressRootRenderLanes === lanes || prepareFreshStack(root, lanes);

    do {
      try {
        workLoopSync();
        break;
      } catch (thrownValue) {
        handleError(root, thrownValue);
      }
    } while (1);

    resetContextDependencies();
    executionContext = prevExecutionContext;
    ReactCurrentDispatcher$2.current = prevDispatcher;
    if (null !== workInProgress) throw Error("Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue.");
    workInProgressRoot = null;
    workInProgressRootRenderLanes = 0;
    return workInProgressRootExitStatus;
  }

  function workLoopSync() {
    for (; null !== workInProgress;) {
      performUnitOfWork(workInProgress);
    }
  }

  function workLoopConcurrent() {
    for (; null !== workInProgress && !_$$_REQUIRE(_dependencyMap[4]).unstable_shouldYield();) {
      performUnitOfWork(workInProgress);
    }
  }

  function performUnitOfWork(unitOfWork) {
    var next = beginWork$1(unitOfWork.alternate, unitOfWork, subtreeRenderLanes);
    unitOfWork.memoizedProps = unitOfWork.pendingProps;
    null === next ? completeUnitOfWork(unitOfWork) : workInProgress = next;
    ReactCurrentOwner$2.current = null;
  }

  function completeUnitOfWork(unitOfWork) {
    var completedWork = unitOfWork;

    do {
      var current = completedWork.alternate;
      unitOfWork = completedWork.return;

      if (0 === (completedWork.flags & 8192)) {
        if (current = completeWork(current, completedWork, subtreeRenderLanes), null !== current) {
          workInProgress = current;
          return;
        }
      } else {
        current = unwindWork(completedWork);

        if (null !== current) {
          current.flags &= 8191;
          workInProgress = current;
          return;
        }

        null !== unitOfWork && (unitOfWork.flags |= 8192, unitOfWork.subtreeFlags = 0, unitOfWork.deletions = null);
      }

      completedWork = completedWork.sibling;

      if (null !== completedWork) {
        workInProgress = completedWork;
        return;
      }

      workInProgress = completedWork = unitOfWork;
    } while (null !== completedWork);

    0 === workInProgressRootExitStatus && (workInProgressRootExitStatus = 5);
  }

  function commitRoot(root) {
    var previousUpdateLanePriority = currentUpdatePriority,
        prevTransition = ReactCurrentBatchConfig$2.transition;

    try {
      ReactCurrentBatchConfig$2.transition = 0, currentUpdatePriority = 1, commitRootImpl(root, previousUpdateLanePriority);
    } finally {
      ReactCurrentBatchConfig$2.transition = prevTransition, currentUpdatePriority = previousUpdateLanePriority;
    }

    return null;
  }

  function commitRootImpl(root, renderPriorityLevel) {
    do {
      flushPassiveEffects();
    } while (null !== rootWithPendingPassiveEffects);

    if (0 !== (executionContext & 24)) throw Error("Should not already be working.");
    var finishedWork = root.finishedWork,
        lanes = root.finishedLanes;
    if (null === finishedWork) return null;
    root.finishedWork = null;
    root.finishedLanes = 0;
    if (finishedWork === root.current) throw Error("Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue.");
    root.callbackNode = null;
    root.callbackPriority = 0;
    var remainingLanes = finishedWork.lanes | finishedWork.childLanes;
    markRootFinished(root, remainingLanes);
    root === workInProgressRoot && (workInProgress = workInProgressRoot = null, workInProgressRootRenderLanes = 0);
    0 === (finishedWork.subtreeFlags & 1040) && 0 === (finishedWork.flags & 1040) || rootDoesHavePassiveEffects || (rootDoesHavePassiveEffects = true, _$$_REQUIRE(_dependencyMap[4]).unstable_scheduleCallback(_$$_REQUIRE(_dependencyMap[4]).unstable_NormalPriority, function () {
      flushPassiveEffects();
      return null;
    }));
    remainingLanes = 0 !== (finishedWork.flags & 8054);

    if (0 !== (finishedWork.subtreeFlags & 8054) || remainingLanes) {
      remainingLanes = ReactCurrentBatchConfig$2.transition;
      ReactCurrentBatchConfig$2.transition = 0;
      var previousPriority = currentUpdatePriority;
      currentUpdatePriority = 1;
      var prevExecutionContext = executionContext;
      executionContext |= 16;
      ReactCurrentOwner$2.current = null;
      commitBeforeMutationEffects(root, finishedWork);
      commitMutationEffects(root, finishedWork);
      root.current = finishedWork;
      commitLayoutEffects(finishedWork, root, lanes);

      _$$_REQUIRE(_dependencyMap[4]).unstable_requestPaint();

      executionContext = prevExecutionContext;
      currentUpdatePriority = previousPriority;
      ReactCurrentBatchConfig$2.transition = remainingLanes;
    } else root.current = finishedWork;

    rootDoesHavePassiveEffects && (rootDoesHavePassiveEffects = false, rootWithPendingPassiveEffects = root, pendingPassiveEffectsLanes = lanes);
    remainingLanes = root.pendingLanes;
    0 === remainingLanes && (legacyErrorBoundariesThatAlreadyFailed = null);
    0 !== (remainingLanes & 1) ? root === rootWithNestedUpdates ? nestedUpdateCount++ : (nestedUpdateCount = 0, rootWithNestedUpdates = root) : nestedUpdateCount = 0;
    onCommitRoot(finishedWork.stateNode, renderPriorityLevel);
    ensureRootIsScheduled(root, _$$_REQUIRE(_dependencyMap[4]).unstable_now());
    if (hasUncaughtError) throw hasUncaughtError = false, root = firstUncaughtError, firstUncaughtError = null, root;
    if (0 !== (executionContext & 4)) return null;
    0 !== (pendingPassiveEffectsLanes & 1) && 0 !== root.tag && flushPassiveEffects();
    flushSyncCallbacks();
    return null;
  }

  function flushPassiveEffects() {
    if (null !== rootWithPendingPassiveEffects) {
      var renderPriority = lanesToEventPriority(pendingPassiveEffectsLanes),
          prevTransition = ReactCurrentBatchConfig$2.transition,
          previousPriority = currentUpdatePriority;

      try {
        ReactCurrentBatchConfig$2.transition = 0;
        currentUpdatePriority = 16 > renderPriority ? 16 : renderPriority;
        if (null === rootWithPendingPassiveEffects) var JSCompiler_inline_result = false;else {
          renderPriority = rootWithPendingPassiveEffects;
          rootWithPendingPassiveEffects = null;
          pendingPassiveEffectsLanes = 0;
          if (0 !== (executionContext & 24)) throw Error("Cannot flush passive effects while already rendering.");
          var prevExecutionContext = executionContext;
          executionContext |= 16;

          for (nextEffect = renderPriority.current; null !== nextEffect;) {
            var fiber = nextEffect,
                child = fiber.child;

            if (0 !== (nextEffect.flags & 16)) {
              var deletions = fiber.deletions;

              if (null !== deletions) {
                for (var i = 0; i < deletions.length; i++) {
                  var fiberToDelete = deletions[i];

                  for (nextEffect = fiberToDelete; null !== nextEffect;) {
                    var fiber$jscomp$0 = nextEffect;

                    switch (fiber$jscomp$0.tag) {
                      case 0:
                      case 11:
                      case 15:
                        commitHookEffectListUnmount(4, fiber$jscomp$0, fiber);
                    }

                    var child$jscomp$0 = fiber$jscomp$0.child;
                    if (null !== child$jscomp$0) child$jscomp$0.return = fiber$jscomp$0, nextEffect = child$jscomp$0;else for (; null !== nextEffect;) {
                      fiber$jscomp$0 = nextEffect;
                      var sibling = fiber$jscomp$0.sibling,
                          returnFiber = fiber$jscomp$0.return;
                      detachFiberAfterEffects(fiber$jscomp$0);

                      if (fiber$jscomp$0 === fiberToDelete) {
                        nextEffect = null;
                        break;
                      }

                      if (null !== sibling) {
                        sibling.return = returnFiber;
                        nextEffect = sibling;
                        break;
                      }

                      nextEffect = returnFiber;
                    }
                  }
                }

                var previousFiber = fiber.alternate;

                if (null !== previousFiber) {
                  var detachedChild = previousFiber.child;

                  if (null !== detachedChild) {
                    previousFiber.child = null;

                    do {
                      var detachedSibling = detachedChild.sibling;
                      detachedChild.sibling = null;
                      detachedChild = detachedSibling;
                    } while (null !== detachedChild);
                  }
                }

                nextEffect = fiber;
              }
            }

            if (0 !== (fiber.subtreeFlags & 1040) && null !== child) child.return = fiber, nextEffect = child;else b: for (; null !== nextEffect;) {
              fiber = nextEffect;
              if (0 !== (fiber.flags & 1024)) switch (fiber.tag) {
                case 0:
                case 11:
                case 15:
                  commitHookEffectListUnmount(5, fiber, fiber.return);
              }
              var sibling$jscomp$0 = fiber.sibling;

              if (null !== sibling$jscomp$0) {
                sibling$jscomp$0.return = fiber.return;
                nextEffect = sibling$jscomp$0;
                break b;
              }

              nextEffect = fiber.return;
            }
          }

          var finishedWork = renderPriority.current;

          for (nextEffect = finishedWork; null !== nextEffect;) {
            child = nextEffect;
            var firstChild = child.child;
            if (0 !== (child.subtreeFlags & 1040) && null !== firstChild) firstChild.return = child, nextEffect = firstChild;else b: for (child = finishedWork; null !== nextEffect;) {
              deletions = nextEffect;
              if (0 !== (deletions.flags & 1024)) try {
                switch (deletions.tag) {
                  case 0:
                  case 11:
                  case 15:
                    commitHookEffectListMount(5, deletions);
                }
              } catch (error) {
                captureCommitPhaseError(deletions, deletions.return, error);
              }

              if (deletions === child) {
                nextEffect = null;
                break b;
              }

              var sibling$jscomp$1 = deletions.sibling;

              if (null !== sibling$jscomp$1) {
                sibling$jscomp$1.return = deletions.return;
                nextEffect = sibling$jscomp$1;
                break b;
              }

              nextEffect = deletions.return;
            }
          }

          executionContext = prevExecutionContext;
          flushSyncCallbacks();
          if (injectedHook && "function" === typeof injectedHook.onPostCommitFiberRoot) try {
            injectedHook.onPostCommitFiberRoot(rendererID, renderPriority);
          } catch (err) {}
          JSCompiler_inline_result = true;
        }
        return JSCompiler_inline_result;
      } finally {
        currentUpdatePriority = previousPriority, ReactCurrentBatchConfig$2.transition = prevTransition;
      }
    }

    return false;
  }

  function captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {
    sourceFiber = createCapturedValue(error, sourceFiber);
    sourceFiber = createRootErrorUpdate(rootFiber, sourceFiber, 1);
    enqueueUpdate(rootFiber, sourceFiber);
    sourceFiber = requestEventTime();
    rootFiber = markUpdateLaneFromFiberToRoot(rootFiber, 1);
    null !== rootFiber && (markRootUpdated(rootFiber, 1, sourceFiber), ensureRootIsScheduled(rootFiber, sourceFiber));
  }

  function captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error) {
    if (3 === sourceFiber.tag) captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error);else for (nearestMountedAncestor = sourceFiber.return; null !== nearestMountedAncestor;) {
      if (3 === nearestMountedAncestor.tag) {
        captureCommitPhaseErrorOnRoot(nearestMountedAncestor, sourceFiber, error);
        break;
      } else if (1 === nearestMountedAncestor.tag) {
        var instance = nearestMountedAncestor.stateNode;

        if ("function" === typeof nearestMountedAncestor.type.getDerivedStateFromError || "function" === typeof instance.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(instance))) {
          sourceFiber = createCapturedValue(error, sourceFiber);
          sourceFiber = createClassErrorUpdate(nearestMountedAncestor, sourceFiber, 1);
          enqueueUpdate(nearestMountedAncestor, sourceFiber);
          sourceFiber = requestEventTime();
          nearestMountedAncestor = markUpdateLaneFromFiberToRoot(nearestMountedAncestor, 1);
          null !== nearestMountedAncestor && (markRootUpdated(nearestMountedAncestor, 1, sourceFiber), ensureRootIsScheduled(nearestMountedAncestor, sourceFiber));
          break;
        }
      }

      nearestMountedAncestor = nearestMountedAncestor.return;
    }
  }

  function pingSuspendedRoot(root, wakeable, pingedLanes) {
    var pingCache = root.pingCache;
    null !== pingCache && pingCache.delete(wakeable);
    wakeable = requestEventTime();
    root.pingedLanes |= root.suspendedLanes & pingedLanes;
    workInProgressRoot === root && (workInProgressRootRenderLanes & pingedLanes) === pingedLanes && (4 === workInProgressRootExitStatus || 3 === workInProgressRootExitStatus && (workInProgressRootRenderLanes & 130023424) === workInProgressRootRenderLanes && 500 > _$$_REQUIRE(_dependencyMap[4]).unstable_now() - globalMostRecentFallbackTime ? prepareFreshStack(root, 0) : workInProgressRootPingedLanes |= pingedLanes);
    ensureRootIsScheduled(root, wakeable);
  }

  function resolveRetryWakeable(boundaryFiber, wakeable) {
    var retryCache = boundaryFiber.stateNode;
    null !== retryCache && retryCache.delete(wakeable);
    wakeable = 0;
    0 === wakeable && (0 === (boundaryFiber.mode & 1) ? wakeable = 1 : (wakeable = nextRetryLane, nextRetryLane <<= 1, 0 === (nextRetryLane & 130023424) && (nextRetryLane = 4194304)));
    retryCache = requestEventTime();
    boundaryFiber = markUpdateLaneFromFiberToRoot(boundaryFiber, wakeable);
    null !== boundaryFiber && (markRootUpdated(boundaryFiber, wakeable, retryCache), ensureRootIsScheduled(boundaryFiber, retryCache));
  }

  var beginWork$1;

  beginWork$1 = function beginWork$1(current, workInProgress, renderLanes) {
    var updateLanes = workInProgress.lanes;
    if (null !== current) {
      if (current.memoizedProps !== workInProgress.pendingProps || didPerformWorkStackCursor.current) didReceiveUpdate = true;else {
        if (0 === (renderLanes & updateLanes)) {
          didReceiveUpdate = false;

          switch (workInProgress.tag) {
            case 3:
              pushHostRootContext(workInProgress);
              break;

            case 5:
              pushHostContext(workInProgress);
              break;

            case 1:
              isContextProvider(workInProgress.type) && pushContextProvider(workInProgress);
              break;

            case 4:
              pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);
              break;

            case 10:
              updateLanes = workInProgress.type._context;
              var nextValue = workInProgress.memoizedProps.value;
              push(valueCursor, updateLanes._currentValue);
              updateLanes._currentValue = nextValue;
              break;

            case 13:
              if (null !== workInProgress.memoizedState) {
                if (0 !== (renderLanes & workInProgress.child.childLanes)) return updateSuspenseComponent(current, workInProgress, renderLanes);
                push(suspenseStackCursor, suspenseStackCursor.current & 1);
                workInProgress = bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
                return null !== workInProgress ? workInProgress.sibling : null;
              }

              push(suspenseStackCursor, suspenseStackCursor.current & 1);
              break;

            case 19:
              updateLanes = 0 !== (renderLanes & workInProgress.childLanes);

              if (0 !== (current.flags & 128)) {
                if (updateLanes) return updateSuspenseListComponent(current, workInProgress, renderLanes);
                workInProgress.flags |= 128;
              }

              nextValue = workInProgress.memoizedState;
              null !== nextValue && (nextValue.rendering = null, nextValue.tail = null, nextValue.lastEffect = null);
              push(suspenseStackCursor, suspenseStackCursor.current);
              if (updateLanes) break;else return null;

            case 22:
            case 23:
              return workInProgress.lanes = 0, updateOffscreenComponent(current, workInProgress, renderLanes);
          }

          return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
        }

        didReceiveUpdate = 0 !== (current.flags & 32768) ? true : false;
      }
    } else didReceiveUpdate = false;
    workInProgress.lanes = 0;

    switch (workInProgress.tag) {
      case 2:
        updateLanes = workInProgress.type;
        null !== current && (current.alternate = null, workInProgress.alternate = null, workInProgress.flags |= 2);
        current = workInProgress.pendingProps;
        nextValue = getMaskedContext(workInProgress, contextStackCursor.current);
        prepareToReadContext(workInProgress, renderLanes);
        nextValue = renderWithHooks(null, workInProgress, updateLanes, current, nextValue, renderLanes);
        workInProgress.flags |= 1;

        if ("object" === typeof nextValue && null !== nextValue && "function" === typeof nextValue.render && undefined === nextValue.$$typeof) {
          workInProgress.tag = 1;
          workInProgress.memoizedState = null;
          workInProgress.updateQueue = null;

          if (isContextProvider(updateLanes)) {
            var hasContext = true;
            pushContextProvider(workInProgress);
          } else hasContext = false;

          workInProgress.memoizedState = null !== nextValue.state && undefined !== nextValue.state ? nextValue.state : null;
          initializeUpdateQueue(workInProgress);
          nextValue.updater = classComponentUpdater;
          workInProgress.stateNode = nextValue;
          nextValue._reactInternals = workInProgress;
          mountClassInstance(workInProgress, updateLanes, current, renderLanes);
          workInProgress = finishClassComponent(null, workInProgress, updateLanes, true, hasContext, renderLanes);
        } else workInProgress.tag = 0, reconcileChildren(null, workInProgress, nextValue, renderLanes), workInProgress = workInProgress.child;

        return workInProgress;

      case 16:
        nextValue = workInProgress.elementType;

        a: {
          null !== current && (current.alternate = null, workInProgress.alternate = null, workInProgress.flags |= 2);
          current = workInProgress.pendingProps;
          hasContext = nextValue._init;
          nextValue = hasContext(nextValue._payload);
          workInProgress.type = nextValue;
          hasContext = workInProgress.tag = resolveLazyComponentTag(nextValue);
          current = resolveDefaultProps(nextValue, current);

          switch (hasContext) {
            case 0:
              workInProgress = updateFunctionComponent(null, workInProgress, nextValue, current, renderLanes);
              break a;

            case 1:
              workInProgress = updateClassComponent(null, workInProgress, nextValue, current, renderLanes);
              break a;

            case 11:
              workInProgress = updateForwardRef(null, workInProgress, nextValue, current, renderLanes);
              break a;

            case 14:
              workInProgress = updateMemoComponent(null, workInProgress, nextValue, resolveDefaultProps(nextValue.type, current), updateLanes, renderLanes);
              break a;
          }

          throw Error("Element type is invalid. Received a promise that resolves to: " + nextValue + ". Lazy element type must resolve to a class or function.");
        }

        return workInProgress;

      case 0:
        return updateLanes = workInProgress.type, nextValue = workInProgress.pendingProps, nextValue = workInProgress.elementType === updateLanes ? nextValue : resolveDefaultProps(updateLanes, nextValue), updateFunctionComponent(current, workInProgress, updateLanes, nextValue, renderLanes);

      case 1:
        return updateLanes = workInProgress.type, nextValue = workInProgress.pendingProps, nextValue = workInProgress.elementType === updateLanes ? nextValue : resolveDefaultProps(updateLanes, nextValue), updateClassComponent(current, workInProgress, updateLanes, nextValue, renderLanes);

      case 3:
        pushHostRootContext(workInProgress);
        updateLanes = workInProgress.updateQueue;
        if (null === current || null === updateLanes) throw Error("If the root does not have an updateQueue, we should have already bailed out. This error is likely caused by a bug in React. Please file an issue.");
        nextValue = workInProgress.pendingProps;
        updateLanes = workInProgress.memoizedState.element;
        cloneUpdateQueue(current, workInProgress);
        processUpdateQueue(workInProgress, nextValue, null, renderLanes);
        nextValue = workInProgress.memoizedState.element;
        nextValue === updateLanes ? workInProgress = bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) : (reconcileChildren(current, workInProgress, nextValue, renderLanes), workInProgress = workInProgress.child);
        return workInProgress;

      case 5:
        return pushHostContext(workInProgress), updateLanes = workInProgress.pendingProps.children, markRef(current, workInProgress), reconcileChildren(current, workInProgress, updateLanes, renderLanes), workInProgress.child;

      case 6:
        return null;

      case 13:
        return updateSuspenseComponent(current, workInProgress, renderLanes);

      case 4:
        return pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo), updateLanes = workInProgress.pendingProps, null === current ? workInProgress.child = reconcileChildFibers(workInProgress, null, updateLanes, renderLanes) : reconcileChildren(current, workInProgress, updateLanes, renderLanes), workInProgress.child;

      case 11:
        return updateLanes = workInProgress.type, nextValue = workInProgress.pendingProps, nextValue = workInProgress.elementType === updateLanes ? nextValue : resolveDefaultProps(updateLanes, nextValue), updateForwardRef(current, workInProgress, updateLanes, nextValue, renderLanes);

      case 7:
        return reconcileChildren(current, workInProgress, workInProgress.pendingProps, renderLanes), workInProgress.child;

      case 8:
        return reconcileChildren(current, workInProgress, workInProgress.pendingProps.children, renderLanes), workInProgress.child;

      case 12:
        return reconcileChildren(current, workInProgress, workInProgress.pendingProps.children, renderLanes), workInProgress.child;

      case 10:
        a: {
          updateLanes = workInProgress.type._context;
          nextValue = workInProgress.pendingProps;
          hasContext = workInProgress.memoizedProps;
          var newValue = nextValue.value;
          push(valueCursor, updateLanes._currentValue);
          updateLanes._currentValue = newValue;
          if (null !== hasContext) if (objectIs(hasContext.value, newValue)) {
            if (hasContext.children === nextValue.children && !didPerformWorkStackCursor.current) {
              workInProgress = bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
              break a;
            }
          } else for (newValue = workInProgress.child, null !== newValue && (newValue.return = workInProgress); null !== newValue;) {
            var list = newValue.dependencies;

            if (null !== list) {
              hasContext = newValue.child;

              for (var dependency = list.firstContext; null !== dependency;) {
                if (dependency.context === updateLanes) {
                  if (1 === newValue.tag) {
                    dependency = createUpdate(-1, renderLanes & -renderLanes);
                    dependency.tag = 2;
                    var updateQueue = newValue.updateQueue;

                    if (null !== updateQueue) {
                      updateQueue = updateQueue.shared;
                      var pending = updateQueue.pending;
                      null === pending ? dependency.next = dependency : (dependency.next = pending.next, pending.next = dependency);
                      updateQueue.pending = dependency;
                    }
                  }

                  newValue.lanes |= renderLanes;
                  dependency = newValue.alternate;
                  null !== dependency && (dependency.lanes |= renderLanes);
                  scheduleWorkOnParentPath(newValue.return, renderLanes);
                  list.lanes |= renderLanes;
                  break;
                }

                dependency = dependency.next;
              }
            } else hasContext = 10 === newValue.tag ? newValue.type === workInProgress.type ? null : newValue.child : newValue.child;

            if (null !== hasContext) hasContext.return = newValue;else for (hasContext = newValue; null !== hasContext;) {
              if (hasContext === workInProgress) {
                hasContext = null;
                break;
              }

              newValue = hasContext.sibling;

              if (null !== newValue) {
                newValue.return = hasContext.return;
                hasContext = newValue;
                break;
              }

              hasContext = hasContext.return;
            }
            newValue = hasContext;
          }
          reconcileChildren(current, workInProgress, nextValue.children, renderLanes);
          workInProgress = workInProgress.child;
        }

        return workInProgress;

      case 9:
        return nextValue = workInProgress.type, updateLanes = workInProgress.pendingProps.children, prepareToReadContext(workInProgress, renderLanes), nextValue = readContext(nextValue), updateLanes = updateLanes(nextValue), workInProgress.flags |= 1, reconcileChildren(current, workInProgress, updateLanes, renderLanes), workInProgress.child;

      case 14:
        return nextValue = workInProgress.type, hasContext = resolveDefaultProps(nextValue, workInProgress.pendingProps), hasContext = resolveDefaultProps(nextValue.type, hasContext), updateMemoComponent(current, workInProgress, nextValue, hasContext, updateLanes, renderLanes);

      case 15:
        return updateSimpleMemoComponent(current, workInProgress, workInProgress.type, workInProgress.pendingProps, updateLanes, renderLanes);

      case 17:
        return updateLanes = workInProgress.type, nextValue = workInProgress.pendingProps, nextValue = workInProgress.elementType === updateLanes ? nextValue : resolveDefaultProps(updateLanes, nextValue), null !== current && (current.alternate = null, workInProgress.alternate = null, workInProgress.flags |= 2), workInProgress.tag = 1, isContextProvider(updateLanes) ? (current = true, pushContextProvider(workInProgress)) : current = false, prepareToReadContext(workInProgress, renderLanes), constructClassInstance(workInProgress, updateLanes, nextValue), mountClassInstance(workInProgress, updateLanes, nextValue, renderLanes), finishClassComponent(null, workInProgress, updateLanes, true, current, renderLanes);

      case 19:
        return updateSuspenseListComponent(current, workInProgress, renderLanes);

      case 22:
        return updateOffscreenComponent(current, workInProgress, renderLanes);

      case 23:
        return updateOffscreenComponent(current, workInProgress, renderLanes);
    }

    throw Error("Unknown unit of work tag (" + workInProgress.tag + "). This error is likely caused by a bug in React. Please file an issue.");
  };

  function FiberNode(tag, pendingProps, key, mode) {
    this.tag = tag;
    this.key = key;
    this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null;
    this.index = 0;
    this.ref = null;
    this.pendingProps = pendingProps;
    this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null;
    this.mode = mode;
    this.subtreeFlags = this.flags = 0;
    this.deletions = null;
    this.childLanes = this.lanes = 0;
    this.alternate = null;
  }

  function createFiber(tag, pendingProps, key, mode) {
    return new FiberNode(tag, pendingProps, key, mode);
  }

  function shouldConstruct(Component) {
    Component = Component.prototype;
    return !(!Component || !Component.isReactComponent);
  }

  function resolveLazyComponentTag(Component) {
    if ("function" === typeof Component) return shouldConstruct(Component) ? 1 : 0;

    if (undefined !== Component && null !== Component) {
      Component = Component.$$typeof;
      if (Component === REACT_FORWARD_REF_TYPE) return 11;
      if (Component === REACT_MEMO_TYPE) return 14;
    }

    return 2;
  }

  function createWorkInProgress(current, pendingProps) {
    var workInProgress = current.alternate;
    null === workInProgress ? (workInProgress = createFiber(current.tag, pendingProps, current.key, current.mode), workInProgress.elementType = current.elementType, workInProgress.type = current.type, workInProgress.stateNode = current.stateNode, workInProgress.alternate = current, current.alternate = workInProgress) : (workInProgress.pendingProps = pendingProps, workInProgress.type = current.type, workInProgress.flags = 0, workInProgress.subtreeFlags = 0, workInProgress.deletions = null);
    workInProgress.flags = current.flags & 1835008;
    workInProgress.childLanes = current.childLanes;
    workInProgress.lanes = current.lanes;
    workInProgress.child = current.child;
    workInProgress.memoizedProps = current.memoizedProps;
    workInProgress.memoizedState = current.memoizedState;
    workInProgress.updateQueue = current.updateQueue;
    pendingProps = current.dependencies;
    workInProgress.dependencies = null === pendingProps ? null : {
      lanes: pendingProps.lanes,
      firstContext: pendingProps.firstContext
    };
    workInProgress.sibling = current.sibling;
    workInProgress.index = current.index;
    workInProgress.ref = current.ref;
    return workInProgress;
  }

  function createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, lanes) {
    var fiberTag = 2;
    owner = type;
    if ("function" === typeof type) shouldConstruct(type) && (fiberTag = 1);else if ("string" === typeof type) fiberTag = 5;else a: switch (type) {
      case REACT_FRAGMENT_TYPE:
        return createFiberFromFragment(pendingProps.children, mode, lanes, key);

      case REACT_DEBUG_TRACING_MODE_TYPE:
        fiberTag = 8;
        mode |= 4;
        break;

      case REACT_STRICT_MODE_TYPE:
        fiberTag = 8;
        mode |= 8;
        break;

      case REACT_PROFILER_TYPE:
        return type = createFiber(12, pendingProps, key, mode | 2), type.elementType = REACT_PROFILER_TYPE, type.lanes = lanes, type;

      case REACT_SUSPENSE_TYPE:
        return type = createFiber(13, pendingProps, key, mode), type.elementType = REACT_SUSPENSE_TYPE, type.lanes = lanes, type;

      case REACT_SUSPENSE_LIST_TYPE:
        return type = createFiber(19, pendingProps, key, mode), type.elementType = REACT_SUSPENSE_LIST_TYPE, type.lanes = lanes, type;

      case REACT_OFFSCREEN_TYPE:
        return createFiberFromOffscreen(pendingProps, mode, lanes, key);

      case REACT_LEGACY_HIDDEN_TYPE:
        return type = createFiber(23, pendingProps, key, mode), type.elementType = REACT_LEGACY_HIDDEN_TYPE, type.lanes = lanes, type;

      default:
        if ("object" === typeof type && null !== type) switch (type.$$typeof) {
          case REACT_PROVIDER_TYPE:
            fiberTag = 10;
            break a;

          case REACT_CONTEXT_TYPE:
            fiberTag = 9;
            break a;

          case REACT_FORWARD_REF_TYPE:
            fiberTag = 11;
            break a;

          case REACT_MEMO_TYPE:
            fiberTag = 14;
            break a;

          case REACT_LAZY_TYPE:
            fiberTag = 16;
            owner = null;
            break a;
        }
        throw Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: " + (null == type ? type : typeof type) + ".");
    }
    key = createFiber(fiberTag, pendingProps, key, mode);
    key.elementType = type;
    key.type = owner;
    key.lanes = lanes;
    return key;
  }

  function createFiberFromFragment(elements, mode, lanes, key) {
    elements = createFiber(7, elements, key, mode);
    elements.lanes = lanes;
    return elements;
  }

  function createFiberFromOffscreen(pendingProps, mode, lanes, key) {
    pendingProps = createFiber(22, pendingProps, key, mode);
    pendingProps.elementType = REACT_OFFSCREEN_TYPE;
    pendingProps.lanes = lanes;
    return pendingProps;
  }

  function createFiberFromText(content, mode, lanes) {
    content = createFiber(6, content, null, mode);
    content.lanes = lanes;
    return content;
  }

  function createFiberFromPortal(portal, mode, lanes) {
    mode = createFiber(4, null !== portal.children ? portal.children : [], portal.key, mode);
    mode.lanes = lanes;
    mode.stateNode = {
      containerInfo: portal.containerInfo,
      pendingChildren: null,
      implementation: portal.implementation
    };
    return mode;
  }

  function FiberRootNode(containerInfo, tag, hydrate) {
    this.tag = tag;
    this.containerInfo = containerInfo;
    this.finishedWork = this.pingCache = this.current = this.pendingChildren = null;
    this.timeoutHandle = -1;
    this.pendingContext = this.context = null;
    this.hydrate = hydrate;
    this.callbackNode = null;
    this.callbackPriority = 0;
    this.eventTimes = createLaneMap(0);
    this.expirationTimes = createLaneMap(-1);
    this.entangledLanes = this.finishedLanes = this.mutableReadLanes = this.expiredLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0;
    this.entanglements = createLaneMap(0);
  }

  function createPortal(children, containerInfo, implementation) {
    var key = 3 < arguments.length && undefined !== arguments[3] ? arguments[3] : null;
    return {
      $$typeof: REACT_PORTAL_TYPE,
      key: null == key ? null : "" + key,
      children: children,
      containerInfo: containerInfo,
      implementation: implementation
    };
  }

  function findHostInstance(component) {
    var fiber = component._reactInternals;

    if (undefined === fiber) {
      if ("function" === typeof component.render) throw Error("Unable to find node on an unmounted component.");
      throw Error("Argument appears to not be a ReactComponent. Keys: " + Object.keys(component));
    }

    component = findCurrentHostFiber(fiber);
    return null === component ? null : component.stateNode;
  }

  function updateContainer(element, container, parentComponent, callback) {
    var current = container.current,
        eventTime = requestEventTime(),
        lane = requestUpdateLane(current);

    a: if (parentComponent) {
      parentComponent = parentComponent._reactInternals;

      b: {
        if (getNearestMountedFiber(parentComponent) !== parentComponent || 1 !== parentComponent.tag) throw Error("Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue.");
        var JSCompiler_inline_result = parentComponent;

        do {
          switch (JSCompiler_inline_result.tag) {
            case 3:
              JSCompiler_inline_result = JSCompiler_inline_result.stateNode.context;
              break b;

            case 1:
              if (isContextProvider(JSCompiler_inline_result.type)) {
                JSCompiler_inline_result = JSCompiler_inline_result.stateNode.__reactInternalMemoizedMergedChildContext;
                break b;
              }

          }

          JSCompiler_inline_result = JSCompiler_inline_result.return;
        } while (null !== JSCompiler_inline_result);

        throw Error("Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue.");
      }

      if (1 === parentComponent.tag) {
        var Component = parentComponent.type;

        if (isContextProvider(Component)) {
          parentComponent = processChildContext(parentComponent, Component, JSCompiler_inline_result);
          break a;
        }
      }

      parentComponent = JSCompiler_inline_result;
    } else parentComponent = emptyContextObject;

    null === container.context ? container.context = parentComponent : container.pendingContext = parentComponent;
    container = createUpdate(eventTime, lane);
    container.payload = {
      element: element
    };
    callback = undefined === callback ? null : callback;
    null !== callback && (container.callback = callback);
    enqueueUpdate(current, container);
    element = scheduleUpdateOnFiber(current, lane, eventTime);
    null !== element && entangleTransitions(element, current, lane);
    return lane;
  }

  function emptyFindFiberByHostInstance() {
    return null;
  }

  function findNodeHandle(componentOrHandle) {
    if (null == componentOrHandle) return null;
    if ("number" === typeof componentOrHandle) return componentOrHandle;
    if (componentOrHandle._nativeTag) return componentOrHandle._nativeTag;
    if (componentOrHandle.canonical && componentOrHandle.canonical._nativeTag) return componentOrHandle.canonical._nativeTag;
    componentOrHandle = findHostInstance(componentOrHandle);
    return null == componentOrHandle ? componentOrHandle : componentOrHandle.canonical ? componentOrHandle.canonical._nativeTag : componentOrHandle._nativeTag;
  }

  function unmountComponentAtNode(containerTag) {
    var root = roots.get(containerTag);
    root && updateContainer(null, root, null, function () {
      roots.delete(containerTag);
    });
  }

  batchedUpdatesImpl = function batchedUpdatesImpl(fn, a) {
    var prevExecutionContext = executionContext;
    executionContext |= 1;

    try {
      return fn(a);
    } finally {
      executionContext = prevExecutionContext, 0 === executionContext && (workInProgressRootRenderTargetTime = _$$_REQUIRE(_dependencyMap[4]).unstable_now() + 500, includesLegacySyncCallbacks && flushSyncCallbacks());
    }
  };

  var roots = new Map(),
      devToolsConfig$jscomp$inline_983 = {
    findFiberByHostInstance: getInstanceFromTag,
    bundleType: 0,
    version: "18.0.0-experimental-568dc3532",
    rendererPackageName: "react-native-renderer",
    rendererConfig: {
      getInspectorDataForViewTag: function getInspectorDataForViewTag() {
        throw Error("getInspectorDataForViewTag() is not available in production");
      },
      getInspectorDataForViewAtPoint: function () {
        throw Error("getInspectorDataForViewAtPoint() is not available in production.");
      }.bind(null, findNodeHandle)
    }
  };
  var internals$jscomp$inline_1237 = {
    bundleType: devToolsConfig$jscomp$inline_983.bundleType,
    version: devToolsConfig$jscomp$inline_983.version,
    rendererPackageName: devToolsConfig$jscomp$inline_983.rendererPackageName,
    rendererConfig: devToolsConfig$jscomp$inline_983.rendererConfig,
    overrideHookState: null,
    overrideHookStateDeletePath: null,
    overrideHookStateRenamePath: null,
    overrideProps: null,
    overridePropsDeletePath: null,
    overridePropsRenamePath: null,
    setErrorHandler: null,
    setSuspenseHandler: null,
    scheduleUpdate: null,
    currentDispatcherRef: ReactSharedInternals.ReactCurrentDispatcher,
    findHostInstanceByFiber: function findHostInstanceByFiber(fiber) {
      fiber = findCurrentHostFiber(fiber);
      return null === fiber ? null : fiber.stateNode;
    },
    findFiberByHostInstance: devToolsConfig$jscomp$inline_983.findFiberByHostInstance || emptyFindFiberByHostInstance,
    findHostInstancesForRefresh: null,
    scheduleRefresh: null,
    scheduleRoot: null,
    setRefreshHandler: null,
    getCurrentFiber: null,
    reconcilerVersion: "18.0.0-experimental-568dc3532"
  };

  if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
    var hook$jscomp$inline_1238 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
    if (!hook$jscomp$inline_1238.isDisabled && hook$jscomp$inline_1238.supportsFiber) try {
      rendererID = hook$jscomp$inline_1238.inject(internals$jscomp$inline_1237), injectedHook = hook$jscomp$inline_1238;
    } catch (err) {}
  }

  exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = {
    computeComponentStackForErrorReporting: function computeComponentStackForErrorReporting(reactTag) {
      return (reactTag = getInstanceFromTag(reactTag)) ? getStackByFiberInDevAndProd(reactTag) : "";
    }
  };

  exports.createPortal = function (children, containerTag) {
    return createPortal(children, containerTag, null, 2 < arguments.length && undefined !== arguments[2] ? arguments[2] : null);
  };

  exports.dispatchCommand = function (handle, command, args) {
    null != handle._nativeTag && (handle._internalInstanceHandle ? nativeFabricUIManager.dispatchCommand(handle._internalInstanceHandle.stateNode.node, command, args) : _$$_REQUIRE(_dependencyMap[3]).UIManager.dispatchViewManagerCommand(handle._nativeTag, command, args));
  };

  exports.findHostInstance_DEPRECATED = function (componentOrHandle) {
    if (null == componentOrHandle) return null;
    if (componentOrHandle._nativeTag) return componentOrHandle;
    if (componentOrHandle.canonical && componentOrHandle.canonical._nativeTag) return componentOrHandle.canonical;
    componentOrHandle = findHostInstance(componentOrHandle);
    return null == componentOrHandle ? componentOrHandle : componentOrHandle.canonical ? componentOrHandle.canonical : componentOrHandle;
  };

  exports.findNodeHandle = findNodeHandle;

  exports.render = function (element, containerTag, callback) {
    var root = roots.get(containerTag);

    if (!root) {
      root = new FiberRootNode(containerTag, 0, false);
      var JSCompiler_inline_result = createFiber(3, null, null, 0);
      root.current = JSCompiler_inline_result;
      JSCompiler_inline_result.stateNode = root;
      JSCompiler_inline_result.memoizedState = {
        element: null
      };
      initializeUpdateQueue(JSCompiler_inline_result);
      roots.set(containerTag, root);
    }

    updateContainer(element, root, null, callback);

    a: if (element = root.current, element.child) switch (element.child.tag) {
      case 5:
        element = element.child.stateNode;
        break a;

      default:
        element = element.child.stateNode;
    } else element = null;

    return element;
  };

  exports.sendAccessibilityEvent = function (handle, eventType) {
    null != handle._nativeTag && (handle._internalInstanceHandle ? nativeFabricUIManager.sendAccessibilityEvent(handle._internalInstanceHandle.stateNode.node, eventType) : _$$_REQUIRE(_dependencyMap[3]).legacySendAccessibilityEvent(handle._nativeTag, eventType));
  };

  exports.unmountComponentAtNode = unmountComponentAtNode;

  exports.unmountComponentAtNodeAndRemoveContainer = function (containerTag) {
    unmountComponentAtNode(containerTag);

    _$$_REQUIRE(_dependencyMap[3]).UIManager.removeRootView(containerTag);
  };

  exports.unstable_batchedUpdates = batchedUpdates;
},55,[56,17,6,136,180]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  _$$_REQUIRE(_dependencyMap[0]);
},56,[57]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var start = Date.now();

  _$$_REQUIRE(_dependencyMap[0]);

  _$$_REQUIRE(_dependencyMap[1]);

  _$$_REQUIRE(_dependencyMap[2]);

  _$$_REQUIRE(_dependencyMap[3]);

  _$$_REQUIRE(_dependencyMap[4]);

  _$$_REQUIRE(_dependencyMap[5]);

  _$$_REQUIRE(_dependencyMap[6]);

  _$$_REQUIRE(_dependencyMap[7]);

  _$$_REQUIRE(_dependencyMap[8]);

  _$$_REQUIRE(_dependencyMap[9]);

  _$$_REQUIRE(_dependencyMap[10]);

  _$$_REQUIRE(_dependencyMap[11]);

  _$$_REQUIRE(_dependencyMap[12]).markPoint('initializeCore_start', _$$_REQUIRE(_dependencyMap[12]).currentTimestamp() - (Date.now() - start));

  _$$_REQUIRE(_dependencyMap[12]).markPoint('initializeCore_end');
},57,[58,59,60,61,71,78,83,88,118,123,124,134,97]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  if (global.window === undefined) {
    global.window = global;
  }

  if (global.self === undefined) {
    global.self = global;
  }

  global.process = global.process || {};
  global.process.env = global.process.env || {};

  if (!global.process.env.NODE_ENV) {
    global.process.env.NODE_ENV = 'production';
  }
},58,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  if (!global.performance) {
    global.performance = {};
  }

  if (typeof global.performance.now !== 'function') {
    global.performance.now = function () {
      var performanceNow = global.nativePerformanceNow || Date.now;
      return performanceNow();
    };
  }
},59,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  if (global.__RCTProfileIsProfiling) {
    var Systrace = _$$_REQUIRE(_dependencyMap[0]);

    Systrace.installReactHook();
    Systrace.setEnabled(true);
  }
},60,[47]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  _$$_REQUIRE(_dependencyMap[0]).installConsoleErrorReporter();

  if (!global.__fbDisableExceptionsManager) {
    var handleError = function handleError(e, isFatal) {
      try {
        _$$_REQUIRE(_dependencyMap[0]).handleException(e, isFatal);
      } catch (ee) {
        throw e;
      }
    };

    var ErrorUtils = _$$_REQUIRE(_dependencyMap[1]);

    ErrorUtils.setGlobalHandler(handleError);
  }
},61,[62,48]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SyntheticError = function (_Error) {
    _$$_REQUIRE(_dependencyMap[2])(SyntheticError, _Error);

    var _super = _createSuper(SyntheticError);

    function SyntheticError() {
      var _this;

      _$$_REQUIRE(_dependencyMap[3])(this, SyntheticError);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.name = '';
      return _this;
    }

    return SyntheticError;
  }(_$$_REQUIRE(_dependencyMap[4])(Error));

  var userExceptionDecorator;
  var inUserExceptionDecorator = false;

  function unstable_setExceptionDecorator(exceptionDecorator) {
    userExceptionDecorator = exceptionDecorator;
  }

  function preprocessException(data) {
    if (userExceptionDecorator && !inUserExceptionDecorator) {
      inUserExceptionDecorator = true;

      try {
        return userExceptionDecorator(data);
      } catch (_unused) {} finally {
        inUserExceptionDecorator = false;
      }
    }

    return data;
  }

  var exceptionID = 0;

  function reportException(e, isFatal, reportToConsole) {
    var parseErrorStack = _$$_REQUIRE(_dependencyMap[5]);

    var stack = parseErrorStack(e == null ? undefined : e.stack);
    var currentExceptionID = ++exceptionID;
    var originalMessage = e.message || '';
    var message = originalMessage;

    if (e.componentStack != null) {
      message += "\n\nThis error is located at:" + e.componentStack;
    }

    var namePrefix = e.name == null || e.name === '' ? '' : e.name + ": ";

    if (!message.startsWith(namePrefix)) {
      message = namePrefix + message;
    }

    message = e.jsEngine == null ? message : message + ", js engine: " + e.jsEngine;
    var data = preprocessException({
      message: message,
      originalMessage: message === originalMessage ? null : originalMessage,
      name: e.name == null || e.name === '' ? null : e.name,
      componentStack: typeof e.componentStack === 'string' ? e.componentStack : null,
      stack: stack,
      id: currentExceptionID,
      isFatal: isFatal,
      extraData: {
        jsEngine: e.jsEngine,
        rawStack: e.stack
      }
    });

    if (reportToConsole) {
      console.error(data.message);
    }

    if (isFatal || e.type !== 'warn') {
      var NativeExceptionsManager = _$$_REQUIRE(_dependencyMap[6]).default;

      if (NativeExceptionsManager) {
        NativeExceptionsManager.reportException(data);
      }
    }
  }

  var inExceptionHandler = false;

  function handleException(e, isFatal) {
    var error;

    if (e instanceof Error) {
      error = e;
    } else {
      error = new SyntheticError(e);
    }

    try {
      inExceptionHandler = true;
      reportException(error, isFatal, true);
    } finally {
      inExceptionHandler = false;
    }
  }

  function reactConsoleErrorHandler() {
    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
      args[_key2] = arguments[_key2];
    }

    if (!function () {}) {
      return;
    }

    if (inExceptionHandler) {
      return;
    }

    var error;
    var firstArg = args[0];

    if (firstArg != null && firstArg.stack) {
      error = firstArg;
    } else {
      var stringifySafe = _$$_REQUIRE(_dependencyMap[7]).default;

      if (typeof firstArg === 'string' && firstArg.startsWith('Warning: ')) {
        return;
      }

      var message = args.map(function (arg) {
        return typeof arg === 'string' ? arg : stringifySafe(arg);
      }).join(' ');
      error = new SyntheticError(message);
      error.name = 'console.error';
    }

    reportException(error, false, false);
  }

  function installConsoleErrorReporter() {
    if (function () {}) {
      return;
    }

    console._errorOriginal = function () {};

    console.error = reactConsoleErrorHandler;

    if (function () {} === undefined) {
      console.reportErrorsAsExceptions = function () {};
    }
  }

  module.exports = {
    handleException: handleException,
    installConsoleErrorReporter: installConsoleErrorReporter,
    SyntheticError: SyntheticError,
    unstable_setExceptionDecorator: unstable_setExceptionDecorator
  };
},62,[16,14,12,7,63,67,70,49]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _wrapNativeSuper(Class) {
    var _cache = typeof Map === "function" ? new Map() : undefined;

    module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {
      if (Class === null || !_$$_REQUIRE(_dependencyMap[0])(Class)) return Class;

      if (typeof Class !== "function") {
        throw new TypeError("Super expression must either be null or a function");
      }

      if (typeof _cache !== "undefined") {
        if (_cache.has(Class)) return _cache.get(Class);

        _cache.set(Class, Wrapper);
      }

      function Wrapper() {
        return _$$_REQUIRE(_dependencyMap[1])(Class, arguments, _$$_REQUIRE(_dependencyMap[2])(this).constructor);
      }

      Wrapper.prototype = Object.create(Class.prototype, {
        constructor: {
          value: Wrapper,
          enumerable: false,
          writable: true,
          configurable: true
        }
      });
      return _$$_REQUIRE(_dependencyMap[3])(Wrapper, Class);
    }, module.exports.__esModule = true, module.exports["default"] = module.exports;
    return _wrapNativeSuper(Class);
  }

  module.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports["default"] = module.exports;
},63,[64,65,16,13]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _isNativeFunction(fn) {
    try {
      return Function.toString.call(fn).indexOf("[native code]") !== -1;
    } catch (e) {
      return typeof fn === "function";
    }
  }

  module.exports = _isNativeFunction, module.exports.__esModule = true, module.exports["default"] = module.exports;
},64,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _construct(t, e, r) {
    if (_$$_REQUIRE(_dependencyMap[0])()) return Reflect.construct.apply(null, arguments);
    var o = [null];
    o.push.apply(o, e);
    var p = new (t.bind.apply(t, o))();
    return r && _$$_REQUIRE(_dependencyMap[1])(p, r.prototype), p;
  }

  module.exports = _construct, module.exports.__esModule = true, module.exports["default"] = module.exports;
},65,[66,13]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _isNativeReflectConstruct() {
    try {
      var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
    } catch (t) {}

    return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() {
      return !!t;
    }, module.exports.__esModule = true, module.exports["default"] = module.exports)();
  }

  module.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports["default"] = module.exports;
},66,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

  function convertHermesStack(stack) {
    var frames = [];

    for (var _iterator = _createForOfIteratorHelperLoose(stack.entries), _step; !(_step = _iterator()).done;) {
      var entry = _step.value;

      if (entry.type !== 'FRAME') {
        continue;
      }

      var location = entry.location,
          functionName = entry.functionName;

      if (location.type === 'NATIVE') {
        continue;
      }

      frames.push({
        methodName: functionName,
        file: location.sourceUrl,
        lineNumber: location.line1Based,
        column: location.type === 'SOURCE' ? location.column1Based - 1 : location.virtualOffset0Based
      });
    }

    return frames;
  }

  function parseErrorStack(errorStack) {
    if (errorStack == null) {
      return [];
    }

    var stacktraceParser = _$$_REQUIRE(_dependencyMap[0]);

    var parsedStack = Array.isArray(errorStack) ? errorStack : global.HermesInternal ? convertHermesStack(_$$_REQUIRE(_dependencyMap[1])(errorStack)) : stacktraceParser.parse(errorStack).map(function (frame) {
      return _$$_REQUIRE(_dependencyMap[2])({}, frame, {
        column: frame.column != null ? frame.column - 1 : null
      });
    });
    return parsedStack;
  }

  module.exports = parseErrorStack;
},67,[68,69,6]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  Object.defineProperty(exports, '__esModule', {
    value: true
  });
  var UNKNOWN_FUNCTION = '<unknown>';

  function parse(stackString) {
    var lines = stackString.split('\n');
    return lines.reduce(function (stack, line) {
      var parseResult = parseChrome(line) || parseWinjs(line) || parseGecko(line) || parseNode(line) || parseJSC(line);

      if (parseResult) {
        stack.push(parseResult);
      }

      return stack;
    }, []);
  }

  var chromeRe = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
  var chromeEvalRe = /\((\S*)(?::(\d+))(?::(\d+))\)/;

  function parseChrome(line) {
    var parts = chromeRe.exec(line);

    if (!parts) {
      return null;
    }

    var isNative = parts[2] && parts[2].indexOf('native') === 0;
    var isEval = parts[2] && parts[2].indexOf('eval') === 0;
    var submatch = chromeEvalRe.exec(parts[2]);

    if (isEval && submatch != null) {
      parts[2] = submatch[1];
      parts[3] = submatch[2];
      parts[4] = submatch[3];
    }

    return {
      file: !isNative ? parts[2] : null,
      methodName: parts[1] || UNKNOWN_FUNCTION,
      arguments: isNative ? [parts[2]] : [],
      lineNumber: parts[3] ? +parts[3] : null,
      column: parts[4] ? +parts[4] : null
    };
  }

  var winjsRe = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;

  function parseWinjs(line) {
    var parts = winjsRe.exec(line);

    if (!parts) {
      return null;
    }

    return {
      file: parts[2],
      methodName: parts[1] || UNKNOWN_FUNCTION,
      arguments: [],
      lineNumber: +parts[3],
      column: parts[4] ? +parts[4] : null
    };
  }

  var geckoRe = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i;
  var geckoEvalRe = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i;

  function parseGecko(line) {
    var parts = geckoRe.exec(line);

    if (!parts) {
      return null;
    }

    var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;
    var submatch = geckoEvalRe.exec(parts[3]);

    if (isEval && submatch != null) {
      parts[3] = submatch[1];
      parts[4] = submatch[2];
      parts[5] = null;
    }

    return {
      file: parts[3],
      methodName: parts[1] || UNKNOWN_FUNCTION,
      arguments: parts[2] ? parts[2].split(',') : [],
      lineNumber: parts[4] ? +parts[4] : null,
      column: parts[5] ? +parts[5] : null
    };
  }

  var javaScriptCoreRe = /^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i;

  function parseJSC(line) {
    var parts = javaScriptCoreRe.exec(line);

    if (!parts) {
      return null;
    }

    return {
      file: parts[3],
      methodName: parts[1] || UNKNOWN_FUNCTION,
      arguments: [],
      lineNumber: +parts[4],
      column: parts[5] ? +parts[5] : null
    };
  }

  var nodeRe = /^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i;

  function parseNode(line) {
    var parts = nodeRe.exec(line);

    if (!parts) {
      return null;
    }

    return {
      file: parts[2],
      methodName: parts[1] || UNKNOWN_FUNCTION,
      arguments: [],
      lineNumber: +parts[3],
      column: parts[4] ? +parts[4] : null
    };
  }

  exports.parse = parse;
},68,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var RE_FRAME = /^ {4}at (.+?)(?: \((native)\)?| \((address at )?(.*?):(\d+):(\d+)\))$/;
  var RE_SKIPPED = /^ {4}... skipping (\d+) frames$/;

  function parseLine(line) {
    var asFrame = line.match(RE_FRAME);

    if (asFrame) {
      return {
        type: 'FRAME',
        functionName: asFrame[1],
        location: asFrame[2] === 'native' ? {
          type: 'NATIVE'
        } : asFrame[3] === 'address at ' ? {
          type: 'BYTECODE',
          sourceUrl: asFrame[4],
          line1Based: Number.parseInt(asFrame[5], 10),
          virtualOffset0Based: Number.parseInt(asFrame[6], 10)
        } : {
          type: 'SOURCE',
          sourceUrl: asFrame[4],
          line1Based: Number.parseInt(asFrame[5], 10),
          column1Based: Number.parseInt(asFrame[6], 10)
        }
      };
    }

    var asSkipped = line.match(RE_SKIPPED);

    if (asSkipped) {
      return {
        type: 'SKIPPED',
        count: Number.parseInt(asSkipped[1], 10)
      };
    }
  }

  module.exports = function parseHermesStack(stack) {
    var lines = stack.split(/\n/);
    var entries = [];
    var lastMessageLine = -1;

    for (var i = 0; i < lines.length; ++i) {
      var line = lines[i];

      if (!line) {
        continue;
      }

      var entry = parseLine(line);

      if (entry) {
        entries.push(entry);
        continue;
      }

      lastMessageLine = i;
      entries = [];
    }

    var message = lines.slice(0, lastMessageLine + 1).join('\n');
    return {
      message: message,
      entries: entries
    };
  };
},69,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var NativeModule = TurboModuleRegistry.getEnforcing('ExceptionsManager');
  var ExceptionsManager = {
    reportFatalException: function reportFatalException(message, stack, exceptionId) {
      NativeModule.reportFatalException(message, stack, exceptionId);
    },
    reportSoftException: function reportSoftException(message, stack, exceptionId) {
      NativeModule.reportSoftException(message, stack, exceptionId);
    },
    updateExceptionMessage: function updateExceptionMessage(message, stack, exceptionId) {
      NativeModule.updateExceptionMessage(message, stack, exceptionId);
    },
    dismissRedbox: function dismissRedbox() {},
    reportException: function reportException(data) {
      if (NativeModule.reportException) {
        NativeModule.reportException(data);
        return;
      }

      if (data.isFatal) {
        ExceptionsManager.reportFatalException(data.message, data.stack, data.id);
      } else {
        ExceptionsManager.reportSoftException(data.message, data.stack, data.id);
      }
    }
  };
  var _default = ExceptionsManager;
  exports.default = _default;
},70,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _global, _global$HermesInterna;

  if ((_global = global) != null && (_global$HermesInterna = _global.HermesInternal) != null && _global$HermesInterna.hasPromise != null && _global$HermesInterna.hasPromise()) {
    var HermesPromise = global.Promise;
  } else {
    _$$_REQUIRE(_dependencyMap[0]).polyfillGlobal('Promise', function () {
      return _$$_REQUIRE(_dependencyMap[1]);
    });
  }
},71,[72,73]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function polyfillObjectProperty(object, name, getValue) {
    var descriptor = Object.getOwnPropertyDescriptor(object, name);

    var _ref = descriptor || {},
        enumerable = _ref.enumerable,
        writable = _ref.writable,
        _ref$configurable = _ref.configurable,
        configurable = _ref$configurable === undefined ? false : _ref$configurable;

    if (descriptor && !configurable) {
      console.error('Failed to set polyfill. ' + name + ' is not configurable.');
      return;
    }

    _$$_REQUIRE(_dependencyMap[0])(object, name, {
      get: getValue,
      enumerable: enumerable !== false,
      writable: writable !== false
    });
  }

  function polyfillGlobal(name, getValue) {
    polyfillObjectProperty(global, name, getValue);
  }

  module.exports = {
    polyfillObjectProperty: polyfillObjectProperty,
    polyfillGlobal: polyfillGlobal
  };
},72,[50]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  _$$_REQUIRE(_dependencyMap[0]);

  _$$_REQUIRE(_dependencyMap[1]);

  module.exports = _$$_REQUIRE(_dependencyMap[2]);
},73,[74,76,77]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = _$$_REQUIRE(_dependencyMap[0]);

  _$$_REQUIRE(_dependencyMap[0]).prototype.done = function (onFulfilled, onRejected) {
    var self = arguments.length ? this.then.apply(this, arguments) : this;
    self.then(null, function (err) {
      setTimeout(function () {
        throw err;
      }, 0);
    });
  };
},74,[75]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function noop() {}

  var LAST_ERROR = null;
  var IS_ERROR = {};

  function getThen(obj) {
    try {
      return obj.then;
    } catch (ex) {
      LAST_ERROR = ex;
      return IS_ERROR;
    }
  }

  function tryCallOne(fn, a) {
    try {
      return fn(a);
    } catch (ex) {
      LAST_ERROR = ex;
      return IS_ERROR;
    }
  }

  function tryCallTwo(fn, a, b) {
    try {
      fn(a, b);
    } catch (ex) {
      LAST_ERROR = ex;
      return IS_ERROR;
    }
  }

  module.exports = Promise;

  function Promise(fn) {
    if (typeof this !== 'object') {
      throw new TypeError('Promises must be constructed via new');
    }

    if (typeof fn !== 'function') {
      throw new TypeError('Promise constructor\'s argument is not a function');
    }

    this._x = 0;
    this._y = 0;
    this._z = null;
    this._A = null;
    if (fn === noop) return;
    doResolve(fn, this);
  }

  Promise._B = null;
  Promise._C = null;
  Promise._D = noop;

  Promise.prototype.then = function (onFulfilled, onRejected) {
    if (this.constructor !== Promise) {
      return safeThen(this, onFulfilled, onRejected);
    }

    var res = new Promise(noop);
    handle(this, new Handler(onFulfilled, onRejected, res));
    return res;
  };

  function safeThen(self, onFulfilled, onRejected) {
    return new self.constructor(function (resolve, reject) {
      var res = new Promise(noop);
      res.then(resolve, reject);
      handle(self, new Handler(onFulfilled, onRejected, res));
    });
  }

  function handle(self, deferred) {
    while (self._y === 3) {
      self = self._z;
    }

    if (Promise._B) {
      Promise._B(self);
    }

    if (self._y === 0) {
      if (self._x === 0) {
        self._x = 1;
        self._A = deferred;
        return;
      }

      if (self._x === 1) {
        self._x = 2;
        self._A = [self._A, deferred];
        return;
      }

      self._A.push(deferred);

      return;
    }

    handleResolved(self, deferred);
  }

  function handleResolved(self, deferred) {
    setImmediate(function () {
      var cb = self._y === 1 ? deferred.onFulfilled : deferred.onRejected;

      if (cb === null) {
        if (self._y === 1) {
          resolve(deferred.promise, self._z);
        } else {
          reject(deferred.promise, self._z);
        }

        return;
      }

      var ret = tryCallOne(cb, self._z);

      if (ret === IS_ERROR) {
        reject(deferred.promise, LAST_ERROR);
      } else {
        resolve(deferred.promise, ret);
      }
    });
  }

  function resolve(self, newValue) {
    if (newValue === self) {
      return reject(self, new TypeError('A promise cannot be resolved with itself.'));
    }

    if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) {
      var then = getThen(newValue);

      if (then === IS_ERROR) {
        return reject(self, LAST_ERROR);
      }

      if (then === self.then && newValue instanceof Promise) {
        self._y = 3;
        self._z = newValue;
        finale(self);
        return;
      } else if (typeof then === 'function') {
        doResolve(then.bind(newValue), self);
        return;
      }
    }

    self._y = 1;
    self._z = newValue;
    finale(self);
  }

  function reject(self, newValue) {
    self._y = 2;
    self._z = newValue;

    if (Promise._C) {
      Promise._C(self, newValue);
    }

    finale(self);
  }

  function finale(self) {
    if (self._x === 1) {
      handle(self, self._A);
      self._A = null;
    }

    if (self._x === 2) {
      for (var i = 0; i < self._A.length; i++) {
        handle(self, self._A[i]);
      }

      self._A = null;
    }
  }

  function Handler(onFulfilled, onRejected, promise) {
    this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;
    this.onRejected = typeof onRejected === 'function' ? onRejected : null;
    this.promise = promise;
  }

  function doResolve(fn, promise) {
    var done = false;
    var res = tryCallTwo(fn, function (value) {
      if (done) return;
      done = true;
      resolve(promise, value);
    }, function (reason) {
      if (done) return;
      done = true;
      reject(promise, reason);
    });

    if (!done && res === IS_ERROR) {
      done = true;
      reject(promise, LAST_ERROR);
    }
  }
},75,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = _$$_REQUIRE(_dependencyMap[0]);

  _$$_REQUIRE(_dependencyMap[0]).prototype.finally = function (f) {
    return this.then(function (value) {
      return _$$_REQUIRE(_dependencyMap[0]).resolve(f()).then(function () {
        return value;
      });
    }, function (err) {
      return _$$_REQUIRE(_dependencyMap[0]).resolve(f()).then(function () {
        throw err;
      });
    });
  };
},76,[75]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = _$$_REQUIRE(_dependencyMap[0]);
  var TRUE = valuePromise(true);
  var FALSE = valuePromise(false);
  var NULL = valuePromise(null);
  var UNDEFINED = valuePromise(undefined);
  var ZERO = valuePromise(0);
  var EMPTYSTRING = valuePromise('');

  function valuePromise(value) {
    var p = new (_$$_REQUIRE(_dependencyMap[0]))(_$$_REQUIRE(_dependencyMap[0])._D);
    p._y = 1;
    p._z = value;
    return p;
  }

  _$$_REQUIRE(_dependencyMap[0]).resolve = function (value) {
    if (value instanceof _$$_REQUIRE(_dependencyMap[0])) return value;
    if (value === null) return NULL;
    if (value === undefined) return UNDEFINED;
    if (value === true) return TRUE;
    if (value === false) return FALSE;
    if (value === 0) return ZERO;
    if (value === '') return EMPTYSTRING;

    if (typeof value === 'object' || typeof value === 'function') {
      try {
        var then = value.then;

        if (typeof then === 'function') {
          return new (_$$_REQUIRE(_dependencyMap[0]))(then.bind(value));
        }
      } catch (ex) {
        return new (_$$_REQUIRE(_dependencyMap[0]))(function (resolve, reject) {
          reject(ex);
        });
      }
    }

    return valuePromise(value);
  };

  var _iterableToArray = function iterableToArray(iterable) {
    if (typeof Array.from === 'function') {
      _iterableToArray = Array.from;
      return Array.from(iterable);
    }

    _iterableToArray = function iterableToArray(x) {
      return Array.prototype.slice.call(x);
    };

    return Array.prototype.slice.call(iterable);
  };

  _$$_REQUIRE(_dependencyMap[0]).all = function (arr) {
    var args = _iterableToArray(arr);

    return new (_$$_REQUIRE(_dependencyMap[0]))(function (resolve, reject) {
      if (args.length === 0) return resolve([]);
      var remaining = args.length;

      function res(i, val) {
        if (val && (typeof val === 'object' || typeof val === 'function')) {
          if (val instanceof _$$_REQUIRE(_dependencyMap[0]) && val.then === _$$_REQUIRE(_dependencyMap[0]).prototype.then) {
            while (val._y === 3) {
              val = val._z;
            }

            if (val._y === 1) return res(i, val._z);
            if (val._y === 2) reject(val._z);
            val.then(function (val) {
              res(i, val);
            }, reject);
            return;
          } else {
            var then = val.then;

            if (typeof then === 'function') {
              var p = new (_$$_REQUIRE(_dependencyMap[0]))(then.bind(val));
              p.then(function (val) {
                res(i, val);
              }, reject);
              return;
            }
          }
        }

        args[i] = val;

        if (--remaining === 0) {
          resolve(args);
        }
      }

      for (var i = 0; i < args.length; i++) {
        res(i, args[i]);
      }
    });
  };

  function onSettledFulfill(value) {
    return {
      status: 'fulfilled',
      value: value
    };
  }

  function onSettledReject(reason) {
    return {
      status: 'rejected',
      reason: reason
    };
  }

  function mapAllSettled(item) {
    if (item && (typeof item === 'object' || typeof item === 'function')) {
      if (item instanceof _$$_REQUIRE(_dependencyMap[0]) && item.then === _$$_REQUIRE(_dependencyMap[0]).prototype.then) {
        return item.then(onSettledFulfill, onSettledReject);
      }

      var then = item.then;

      if (typeof then === 'function') {
        return new (_$$_REQUIRE(_dependencyMap[0]))(then.bind(item)).then(onSettledFulfill, onSettledReject);
      }
    }

    return onSettledFulfill(item);
  }

  _$$_REQUIRE(_dependencyMap[0]).allSettled = function (iterable) {
    return _$$_REQUIRE(_dependencyMap[0]).all(_iterableToArray(iterable).map(mapAllSettled));
  };

  _$$_REQUIRE(_dependencyMap[0]).reject = function (value) {
    return new (_$$_REQUIRE(_dependencyMap[0]))(function (resolve, reject) {
      reject(value);
    });
  };

  _$$_REQUIRE(_dependencyMap[0]).race = function (values) {
    return new (_$$_REQUIRE(_dependencyMap[0]))(function (resolve, reject) {
      _iterableToArray(values).forEach(function (value) {
        _$$_REQUIRE(_dependencyMap[0]).resolve(value).then(resolve, reject);
      });
    });
  };

  _$$_REQUIRE(_dependencyMap[0]).prototype['catch'] = function (onRejected) {
    return this.then(null, onRejected);
  };

  function getAggregateError(errors) {
    if (typeof AggregateError === 'function') {
      return new AggregateError(errors, 'All promises were rejected');
    }

    var error = new Error('All promises were rejected');
    error.name = 'AggregateError';
    error.errors = errors;
    return error;
  }

  _$$_REQUIRE(_dependencyMap[0]).any = function promiseAny(values) {
    return new (_$$_REQUIRE(_dependencyMap[0]))(function (resolve, reject) {
      var promises = _iterableToArray(values);

      var hasResolved = false;
      var rejectionReasons = [];

      function resolveOnce(value) {
        if (!hasResolved) {
          hasResolved = true;
          resolve(value);
        }
      }

      function rejectionCheck(reason) {
        rejectionReasons.push(reason);

        if (rejectionReasons.length === promises.length) {
          reject(getAggregateError(rejectionReasons));
        }
      }

      if (promises.length === 0) {
        reject(getAggregateError(rejectionReasons));
      } else {
        promises.forEach(function (value) {
          _$$_REQUIRE(_dependencyMap[0]).resolve(value).then(resolveOnce, rejectionCheck);
        });
      }
    });
  };
},77,[75]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var hasNativeGenerator;

  try {
    hasNativeGenerator = _$$_REQUIRE(_dependencyMap[0]).hasNativeConstructor(_$$_REQUIRE(_dependencyMap[1]).mark(function _callee() {
      return _$$_REQUIRE(_dependencyMap[1]).wrap(function _callee$(_context) {
        while (1) {
          switch (_context.prev = _context.next) {
            case 0:
            case "end":
              return _context.stop();
          }
        }
      }, _callee);
    }), 'GeneratorFunction');
  } catch (_unused) {
    hasNativeGenerator = false;
  }

  if (!hasNativeGenerator) {
    _$$_REQUIRE(_dependencyMap[2]).polyfillGlobal('regeneratorRuntime', function () {
      delete global.regeneratorRuntime;
      return _$$_REQUIRE(_dependencyMap[3]);
    });
  }
},78,[79,80,72,82]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function isNativeFunction(f) {
    return typeof f === 'function' && f.toString().indexOf('[native code]') > -1;
  }

  function hasNativeConstructor(o, expectedName) {
    var con = Object.getPrototypeOf(o).constructor;
    return con.name === expectedName && isNativeFunction(con);
  }

  module.exports = {
    isNativeFunction: isNativeFunction,
    hasNativeConstructor: hasNativeConstructor
  };
},79,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var runtime = _$$_REQUIRE(_dependencyMap[0])();

  module.exports = runtime;

  try {
    regeneratorRuntime = runtime;
  } catch (accidentalStrictMode) {
    if (typeof globalThis === "object") {
      globalThis.regeneratorRuntime = runtime;
    } else {
      Function("r", "regeneratorRuntime = r")(runtime);
    }
  }
},80,[81]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _regeneratorRuntime() {
    "use strict";

    module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
      return e;
    }, module.exports.__esModule = true, module.exports["default"] = module.exports;

    var t,
        e = {},
        r = Object.prototype,
        n = r.hasOwnProperty,
        o = Object.defineProperty || function (t, e, r) {
      t[e] = r.value;
    },
        i = "function" == typeof Symbol ? Symbol : {},
        a = i.iterator || "@@iterator",
        c = i.asyncIterator || "@@asyncIterator",
        u = i.toStringTag || "@@toStringTag";

    function define(t, e, r) {
      return Object.defineProperty(t, e, {
        value: r,
        enumerable: true,
        configurable: true,
        writable: true
      }), t[e];
    }

    try {
      define({}, "");
    } catch (t) {
      define = function define(t, e, r) {
        return t[e] = r;
      };
    }

    function wrap(t, e, r, n) {
      var i = e && e.prototype instanceof Generator ? e : Generator,
          a = Object.create(i.prototype),
          c = new Context(n || []);
      return o(a, "_invoke", {
        value: makeInvokeMethod(t, r, c)
      }), a;
    }

    function tryCatch(t, e, r) {
      try {
        return {
          type: "normal",
          arg: t.call(e, r)
        };
      } catch (t) {
        return {
          type: "throw",
          arg: t
        };
      }
    }

    e.wrap = wrap;
    var h = "suspendedStart",
        l = "suspendedYield",
        f = "executing",
        s = "completed",
        y = {};

    function Generator() {}

    function GeneratorFunction() {}

    function GeneratorFunctionPrototype() {}

    var p = {};
    define(p, a, function () {
      return this;
    });
    var d = Object.getPrototypeOf,
        v = d && d(d(values([])));
    v && v !== r && n.call(v, a) && (p = v);
    var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);

    function defineIteratorMethods(t) {
      ["next", "throw", "return"].forEach(function (e) {
        define(t, e, function (t) {
          return this._invoke(e, t);
        });
      });
    }

    function AsyncIterator(t, e) {
      function invoke(r, o, i, a) {
        var c = tryCatch(t[r], t, o);

        if ("throw" !== c.type) {
          var u = c.arg,
              h = u.value;
          return h && "object" == _$$_REQUIRE(_dependencyMap[0])["default"](h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
            invoke("next", t, i, a);
          }, function (t) {
            invoke("throw", t, i, a);
          }) : e.resolve(h).then(function (t) {
            u.value = t, i(u);
          }, function (t) {
            return invoke("throw", t, i, a);
          });
        }

        a(c.arg);
      }

      var r;
      o(this, "_invoke", {
        value: function value(t, n) {
          function callInvokeWithMethodAndArg() {
            return new e(function (e, r) {
              invoke(t, n, e, r);
            });
          }

          return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
        }
      });
    }

    function makeInvokeMethod(e, r, n) {
      var o = h;
      return function (i, a) {
        if (o === f) throw new Error("Generator is already running");

        if (o === s) {
          if ("throw" === i) throw a;
          return {
            value: t,
            done: true
          };
        }

        for (n.method = i, n.arg = a;;) {
          var c = n.delegate;

          if (c) {
            var u = maybeInvokeDelegate(c, n);

            if (u) {
              if (u === y) continue;
              return u;
            }
          }

          if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
            if (o === h) throw o = s, n.arg;
            n.dispatchException(n.arg);
          } else "return" === n.method && n.abrupt("return", n.arg);
          o = f;
          var p = tryCatch(e, r, n);

          if ("normal" === p.type) {
            if (o = n.done ? s : l, p.arg === y) continue;
            return {
              value: p.arg,
              done: n.done
            };
          }

          "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
        }
      };
    }

    function maybeInvokeDelegate(e, r) {
      var n = r.method,
          o = e.iterator[n];
      if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y;
      var i = tryCatch(o, e.iterator, r.arg);
      if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
      var a = i.arg;
      return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y);
    }

    function pushTryEntry(t) {
      var e = {
        tryLoc: t[0]
      };
      1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
    }

    function resetTryEntry(t) {
      var e = t.completion || {};
      e.type = "normal", delete e.arg, t.completion = e;
    }

    function Context(t) {
      this.tryEntries = [{
        tryLoc: "root"
      }], t.forEach(pushTryEntry, this), this.reset(true);
    }

    function values(e) {
      if (e || "" === e) {
        var r = e[a];
        if (r) return r.call(e);
        if ("function" == typeof e.next) return e;

        if (!isNaN(e.length)) {
          var o = -1,
              i = function next() {
            for (; ++o < e.length;) {
              if (n.call(e, o)) return next.value = e[o], next.done = false, next;
            }

            return next.value = t, next.done = true, next;
          };

          return i.next = i;
        }
      }

      throw new TypeError(_$$_REQUIRE(_dependencyMap[0])["default"](e) + " is not iterable");
    }

    return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
      value: GeneratorFunctionPrototype,
      configurable: true
    }), o(GeneratorFunctionPrototype, "constructor", {
      value: GeneratorFunction,
      configurable: true
    }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
      var e = "function" == typeof t && t.constructor;
      return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
    }, e.mark = function (t) {
      return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
    }, e.awrap = function (t) {
      return {
        __await: t
      };
    }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
      return this;
    }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
      undefined === i && (i = Promise);
      var a = new AsyncIterator(wrap(t, r, n, o), i);
      return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
        return t.done ? t.value : a.next();
      });
    }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
      return this;
    }), define(g, "toString", function () {
      return "[object Generator]";
    }), e.keys = function (t) {
      var e = Object(t),
          r = [];

      for (var n in e) {
        r.push(n);
      }

      return r.reverse(), function next() {
        for (; r.length;) {
          var t = r.pop();
          if (t in e) return next.value = t, next.done = false, next;
        }

        return next.done = true, next;
      };
    }, e.values = values, Context.prototype = {
      constructor: Context,
      reset: function reset(e) {
        if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = false, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) {
          "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);
        }
      },
      stop: function stop() {
        this.done = true;
        var t = this.tryEntries[0].completion;
        if ("throw" === t.type) throw t.arg;
        return this.rval;
      },
      dispatchException: function dispatchException(e) {
        if (this.done) throw e;
        var r = this;

        function handle(n, o) {
          return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
        }

        for (var o = this.tryEntries.length - 1; o >= 0; --o) {
          var i = this.tryEntries[o],
              a = i.completion;
          if ("root" === i.tryLoc) return handle("end");

          if (i.tryLoc <= this.prev) {
            var c = n.call(i, "catchLoc"),
                u = n.call(i, "finallyLoc");

            if (c && u) {
              if (this.prev < i.catchLoc) return handle(i.catchLoc, true);
              if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
            } else if (c) {
              if (this.prev < i.catchLoc) return handle(i.catchLoc, true);
            } else {
              if (!u) throw new Error("try statement without catch or finally");
              if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
            }
          }
        }
      },
      abrupt: function abrupt(t, e) {
        for (var r = this.tryEntries.length - 1; r >= 0; --r) {
          var o = this.tryEntries[r];

          if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
            var i = o;
            break;
          }
        }

        i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
        var a = i ? i.completion : {};
        return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
      },
      complete: function complete(t, e) {
        if ("throw" === t.type) throw t.arg;
        return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y;
      },
      finish: function finish(t) {
        for (var e = this.tryEntries.length - 1; e >= 0; --e) {
          var r = this.tryEntries[e];
          if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
        }
      },
      "catch": function _catch(t) {
        for (var e = this.tryEntries.length - 1; e >= 0; --e) {
          var r = this.tryEntries[e];

          if (r.tryLoc === t) {
            var n = r.completion;

            if ("throw" === n.type) {
              var o = n.arg;
              resetTryEntry(r);
            }

            return o;
          }
        }

        throw new Error("illegal catch attempt");
      },
      delegateYield: function delegateYield(e, r, n) {
        return this.delegate = {
          iterator: values(e),
          resultName: r,
          nextLoc: n
        }, "next" === this.method && (this.arg = t), y;
      }
    }, e;
  }

  module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
},81,[11]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var runtime = function (exports) {
    "use strict";

    var Op = Object.prototype;
    var hasOwn = Op.hasOwnProperty;
    var undefined;
    var $Symbol = typeof Symbol === "function" ? Symbol : {};
    var iteratorSymbol = $Symbol.iterator || "@@iterator";
    var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
    var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";

    function define(obj, key, value) {
      Object.defineProperty(obj, key, {
        value: value,
        enumerable: true,
        configurable: true,
        writable: true
      });
      return obj[key];
    }

    try {
      define({}, "");
    } catch (err) {
      define = function define(obj, key, value) {
        return obj[key] = value;
      };
    }

    function wrap(innerFn, outerFn, self, tryLocsList) {
      var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
      var generator = Object.create(protoGenerator.prototype);
      var context = new Context(tryLocsList || []);
      generator._invoke = makeInvokeMethod(innerFn, self, context);
      return generator;
    }

    exports.wrap = wrap;

    function tryCatch(fn, obj, arg) {
      try {
        return {
          type: "normal",
          arg: fn.call(obj, arg)
        };
      } catch (err) {
        return {
          type: "throw",
          arg: err
        };
      }
    }

    var GenStateSuspendedStart = "suspendedStart";
    var GenStateSuspendedYield = "suspendedYield";
    var GenStateExecuting = "executing";
    var GenStateCompleted = "completed";
    var ContinueSentinel = {};

    function Generator() {}

    function GeneratorFunction() {}

    function GeneratorFunctionPrototype() {}

    var IteratorPrototype = {};

    IteratorPrototype[iteratorSymbol] = function () {
      return this;
    };

    var getProto = Object.getPrototypeOf;
    var NativeIteratorPrototype = getProto && getProto(getProto(values([])));

    if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
      IteratorPrototype = NativeIteratorPrototype;
    }

    var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
    GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
    GeneratorFunctionPrototype.constructor = GeneratorFunction;
    GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction");

    function defineIteratorMethods(prototype) {
      ["next", "throw", "return"].forEach(function (method) {
        define(prototype, method, function (arg) {
          return this._invoke(method, arg);
        });
      });
    }

    exports.isGeneratorFunction = function (genFun) {
      var ctor = typeof genFun === "function" && genFun.constructor;
      return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
    };

    exports.mark = function (genFun) {
      if (Object.setPrototypeOf) {
        Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
      } else {
        genFun.__proto__ = GeneratorFunctionPrototype;
        define(genFun, toStringTagSymbol, "GeneratorFunction");
      }

      genFun.prototype = Object.create(Gp);
      return genFun;
    };

    exports.awrap = function (arg) {
      return {
        __await: arg
      };
    };

    function AsyncIterator(generator, PromiseImpl) {
      function invoke(method, arg, resolve, reject) {
        var record = tryCatch(generator[method], generator, arg);

        if (record.type === "throw") {
          reject(record.arg);
        } else {
          var result = record.arg;
          var value = result.value;

          if (value && typeof value === "object" && hasOwn.call(value, "__await")) {
            return PromiseImpl.resolve(value.__await).then(function (value) {
              invoke("next", value, resolve, reject);
            }, function (err) {
              invoke("throw", err, resolve, reject);
            });
          }

          return PromiseImpl.resolve(value).then(function (unwrapped) {
            result.value = unwrapped;
            resolve(result);
          }, function (error) {
            return invoke("throw", error, resolve, reject);
          });
        }
      }

      var previousPromise;

      function enqueue(method, arg) {
        function callInvokeWithMethodAndArg() {
          return new PromiseImpl(function (resolve, reject) {
            invoke(method, arg, resolve, reject);
          });
        }

        return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
      }

      this._invoke = enqueue;
    }

    defineIteratorMethods(AsyncIterator.prototype);

    AsyncIterator.prototype[asyncIteratorSymbol] = function () {
      return this;
    };

    exports.AsyncIterator = AsyncIterator;

    exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
      if (PromiseImpl === undefined) PromiseImpl = Promise;
      var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
      return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
        return result.done ? result.value : iter.next();
      });
    };

    function makeInvokeMethod(innerFn, self, context) {
      var state = GenStateSuspendedStart;
      return function invoke(method, arg) {
        if (state === GenStateExecuting) {
          throw new Error("Generator is already running");
        }

        if (state === GenStateCompleted) {
          if (method === "throw") {
            throw arg;
          }

          return doneResult();
        }

        context.method = method;
        context.arg = arg;

        while (true) {
          var delegate = context.delegate;

          if (delegate) {
            var delegateResult = maybeInvokeDelegate(delegate, context);

            if (delegateResult) {
              if (delegateResult === ContinueSentinel) continue;
              return delegateResult;
            }
          }

          if (context.method === "next") {
            context.sent = context._sent = context.arg;
          } else if (context.method === "throw") {
            if (state === GenStateSuspendedStart) {
              state = GenStateCompleted;
              throw context.arg;
            }

            context.dispatchException(context.arg);
          } else if (context.method === "return") {
            context.abrupt("return", context.arg);
          }

          state = GenStateExecuting;
          var record = tryCatch(innerFn, self, context);

          if (record.type === "normal") {
            state = context.done ? GenStateCompleted : GenStateSuspendedYield;

            if (record.arg === ContinueSentinel) {
              continue;
            }

            return {
              value: record.arg,
              done: context.done
            };
          } else if (record.type === "throw") {
            state = GenStateCompleted;
            context.method = "throw";
            context.arg = record.arg;
          }
        }
      };
    }

    function maybeInvokeDelegate(delegate, context) {
      var method = delegate.iterator[context.method];

      if (method === undefined) {
        context.delegate = null;

        if (context.method === "throw") {
          if (delegate.iterator["return"]) {
            context.method = "return";
            context.arg = undefined;
            maybeInvokeDelegate(delegate, context);

            if (context.method === "throw") {
              return ContinueSentinel;
            }
          }

          context.method = "throw";
          context.arg = new TypeError("The iterator does not provide a 'throw' method");
        }

        return ContinueSentinel;
      }

      var record = tryCatch(method, delegate.iterator, context.arg);

      if (record.type === "throw") {
        context.method = "throw";
        context.arg = record.arg;
        context.delegate = null;
        return ContinueSentinel;
      }

      var info = record.arg;

      if (!info) {
        context.method = "throw";
        context.arg = new TypeError("iterator result is not an object");
        context.delegate = null;
        return ContinueSentinel;
      }

      if (info.done) {
        context[delegate.resultName] = info.value;
        context.next = delegate.nextLoc;

        if (context.method !== "return") {
          context.method = "next";
          context.arg = undefined;
        }
      } else {
        return info;
      }

      context.delegate = null;
      return ContinueSentinel;
    }

    defineIteratorMethods(Gp);
    define(Gp, toStringTagSymbol, "Generator");

    Gp[iteratorSymbol] = function () {
      return this;
    };

    Gp.toString = function () {
      return "[object Generator]";
    };

    function pushTryEntry(locs) {
      var entry = {
        tryLoc: locs[0]
      };

      if (1 in locs) {
        entry.catchLoc = locs[1];
      }

      if (2 in locs) {
        entry.finallyLoc = locs[2];
        entry.afterLoc = locs[3];
      }

      this.tryEntries.push(entry);
    }

    function resetTryEntry(entry) {
      var record = entry.completion || {};
      record.type = "normal";
      delete record.arg;
      entry.completion = record;
    }

    function Context(tryLocsList) {
      this.tryEntries = [{
        tryLoc: "root"
      }];
      tryLocsList.forEach(pushTryEntry, this);
      this.reset(true);
    }

    exports.keys = function (object) {
      var keys = [];

      for (var key in object) {
        keys.push(key);
      }

      keys.reverse();
      return function next() {
        while (keys.length) {
          var key = keys.pop();

          if (key in object) {
            next.value = key;
            next.done = false;
            return next;
          }
        }

        next.done = true;
        return next;
      };
    };

    function values(iterable) {
      if (iterable) {
        var iteratorMethod = iterable[iteratorSymbol];

        if (iteratorMethod) {
          return iteratorMethod.call(iterable);
        }

        if (typeof iterable.next === "function") {
          return iterable;
        }

        if (!isNaN(iterable.length)) {
          var i = -1,
              next = function next() {
            while (++i < iterable.length) {
              if (hasOwn.call(iterable, i)) {
                next.value = iterable[i];
                next.done = false;
                return next;
              }
            }

            next.value = undefined;
            next.done = true;
            return next;
          };

          return next.next = next;
        }
      }

      return {
        next: doneResult
      };
    }

    exports.values = values;

    function doneResult() {
      return {
        value: undefined,
        done: true
      };
    }

    Context.prototype = {
      constructor: Context,
      reset: function reset(skipTempReset) {
        this.prev = 0;
        this.next = 0;
        this.sent = this._sent = undefined;
        this.done = false;
        this.delegate = null;
        this.method = "next";
        this.arg = undefined;
        this.tryEntries.forEach(resetTryEntry);

        if (!skipTempReset) {
          for (var name in this) {
            if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {
              this[name] = undefined;
            }
          }
        }
      },
      stop: function stop() {
        this.done = true;
        var rootEntry = this.tryEntries[0];
        var rootRecord = rootEntry.completion;

        if (rootRecord.type === "throw") {
          throw rootRecord.arg;
        }

        return this.rval;
      },
      dispatchException: function dispatchException(exception) {
        if (this.done) {
          throw exception;
        }

        var context = this;

        function handle(loc, caught) {
          record.type = "throw";
          record.arg = exception;
          context.next = loc;

          if (caught) {
            context.method = "next";
            context.arg = undefined;
          }

          return !!caught;
        }

        for (var i = this.tryEntries.length - 1; i >= 0; --i) {
          var entry = this.tryEntries[i];
          var record = entry.completion;

          if (entry.tryLoc === "root") {
            return handle("end");
          }

          if (entry.tryLoc <= this.prev) {
            var hasCatch = hasOwn.call(entry, "catchLoc");
            var hasFinally = hasOwn.call(entry, "finallyLoc");

            if (hasCatch && hasFinally) {
              if (this.prev < entry.catchLoc) {
                return handle(entry.catchLoc, true);
              } else if (this.prev < entry.finallyLoc) {
                return handle(entry.finallyLoc);
              }
            } else if (hasCatch) {
              if (this.prev < entry.catchLoc) {
                return handle(entry.catchLoc, true);
              }
            } else if (hasFinally) {
              if (this.prev < entry.finallyLoc) {
                return handle(entry.finallyLoc);
              }
            } else {
              throw new Error("try statement without catch or finally");
            }
          }
        }
      },
      abrupt: function abrupt(type, arg) {
        for (var i = this.tryEntries.length - 1; i >= 0; --i) {
          var entry = this.tryEntries[i];

          if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
            var finallyEntry = entry;
            break;
          }
        }

        if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
          finallyEntry = null;
        }

        var record = finallyEntry ? finallyEntry.completion : {};
        record.type = type;
        record.arg = arg;

        if (finallyEntry) {
          this.method = "next";
          this.next = finallyEntry.finallyLoc;
          return ContinueSentinel;
        }

        return this.complete(record);
      },
      complete: function complete(record, afterLoc) {
        if (record.type === "throw") {
          throw record.arg;
        }

        if (record.type === "break" || record.type === "continue") {
          this.next = record.arg;
        } else if (record.type === "return") {
          this.rval = this.arg = record.arg;
          this.method = "return";
          this.next = "end";
        } else if (record.type === "normal" && afterLoc) {
          this.next = afterLoc;
        }

        return ContinueSentinel;
      },
      finish: function finish(finallyLoc) {
        for (var i = this.tryEntries.length - 1; i >= 0; --i) {
          var entry = this.tryEntries[i];

          if (entry.finallyLoc === finallyLoc) {
            this.complete(entry.completion, entry.afterLoc);
            resetTryEntry(entry);
            return ContinueSentinel;
          }
        }
      },
      "catch": function _catch(tryLoc) {
        for (var i = this.tryEntries.length - 1; i >= 0; --i) {
          var entry = this.tryEntries[i];

          if (entry.tryLoc === tryLoc) {
            var record = entry.completion;

            if (record.type === "throw") {
              var thrown = record.arg;
              resetTryEntry(entry);
            }

            return thrown;
          }
        }

        throw new Error("illegal catch attempt");
      },
      delegateYield: function delegateYield(iterable, resultName, nextLoc) {
        this.delegate = {
          iterator: values(iterable),
          resultName: resultName,
          nextLoc: nextLoc
        };

        if (this.method === "next") {
          this.arg = undefined;
        }

        return ContinueSentinel;
      }
    };
    return exports;
  }(typeof module === "object" ? module.exports : {});

  try {
    regeneratorRuntime = runtime;
  } catch (accidentalStrictMode) {
    Function("r", "regeneratorRuntime = r")(runtime);
  }
},82,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _global$HermesInterna, _global$HermesInterna2;

  var hasHermesPromiseQueuedToJSVM = ((_global$HermesInterna = global.HermesInternal) == null ? undefined : _global$HermesInterna.hasPromise == null ? undefined : _global$HermesInterna.hasPromise()) === true && ((_global$HermesInterna2 = global.HermesInternal) == null ? undefined : _global$HermesInterna2.useEngineQueue == null ? undefined : _global$HermesInterna2.useEngineQueue()) === true;

  var hasNativePromise = _$$_REQUIRE(_dependencyMap[0]).isNativeFunction(Promise);

  var hasPromiseQueuedToJSVM = hasNativePromise || hasHermesPromiseQueuedToJSVM;

  if (global.RN$Bridgeless !== true) {
    var defineLazyTimer = function defineLazyTimer(name) {
      _$$_REQUIRE(_dependencyMap[1]).polyfillGlobal(name, function () {
        return _$$_REQUIRE(_dependencyMap[2])[name];
      });
    };

    defineLazyTimer('setTimeout');
    defineLazyTimer('clearTimeout');
    defineLazyTimer('setInterval');
    defineLazyTimer('clearInterval');
    defineLazyTimer('requestAnimationFrame');
    defineLazyTimer('cancelAnimationFrame');
    defineLazyTimer('requestIdleCallback');
    defineLazyTimer('cancelIdleCallback');
  }

  if (hasPromiseQueuedToJSVM) {
    _$$_REQUIRE(_dependencyMap[1]).polyfillGlobal('setImmediate', function () {
      return _$$_REQUIRE(_dependencyMap[3]).setImmediate;
    });

    _$$_REQUIRE(_dependencyMap[1]).polyfillGlobal('clearImmediate', function () {
      return _$$_REQUIRE(_dependencyMap[3]).clearImmediate;
    });
  } else {
    if (global.RN$Bridgeless !== true) {
      _$$_REQUIRE(_dependencyMap[1]).polyfillGlobal('setImmediate', function () {
        return _$$_REQUIRE(_dependencyMap[2]).queueReactNativeMicrotask;
      });

      _$$_REQUIRE(_dependencyMap[1]).polyfillGlobal('clearImmediate', function () {
        return _$$_REQUIRE(_dependencyMap[2]).clearReactNativeMicrotask;
      });
    }
  }

  if (hasHermesPromiseQueuedToJSVM) {
    _$$_REQUIRE(_dependencyMap[1]).polyfillGlobal('queueMicrotask', function () {
      var _global$HermesInterna3;

      return (_global$HermesInterna3 = global.HermesInternal) == null ? undefined : _global$HermesInterna3.enqueueJob;
    });
  } else {
    _$$_REQUIRE(_dependencyMap[1]).polyfillGlobal('queueMicrotask', function () {
      return _$$_REQUIRE(_dependencyMap[4]).default;
    });
  }
},83,[79,72,84,86,87]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _NativeTiming = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var FRAME_DURATION = 16.666666666666668;
  var IDLE_CALLBACK_FRAME_DEADLINE = 1;
  var callbacks = [];
  var types = [];
  var timerIDs = [];
  var reactNativeMicrotasks = [];
  var requestIdleCallbacks = [];
  var requestIdleCallbackTimeouts = {};
  var GUID = 1;
  var errors = null;
  var hasEmittedTimeDriftWarning = false;

  function _getFreeIndex() {
    var freeIndex = timerIDs.indexOf(null);

    if (freeIndex === -1) {
      freeIndex = timerIDs.length;
    }

    return freeIndex;
  }

  function _allocateCallback(func, type) {
    var id = GUID++;

    var freeIndex = _getFreeIndex();

    timerIDs[freeIndex] = id;
    callbacks[freeIndex] = func;
    types[freeIndex] = type;
    return id;
  }

  function _callTimer(timerID, frameTime, didTimeout) {
    if (timerID > GUID) {
      console.warn('Tried to call timer with ID %s but no such timer exists.', timerID);
    }

    var timerIndex = timerIDs.indexOf(timerID);

    if (timerIndex === -1) {
      return;
    }

    var type = types[timerIndex];
    var callback = callbacks[timerIndex];

    if (!callback || !type) {
      console.error('No callback found for timerID ' + timerID);
      return;
    }

    if (type !== 'setInterval') {
      _clearIndex(timerIndex);
    }

    try {
      if (type === 'setTimeout' || type === 'setInterval' || type === 'queueReactNativeMicrotask') {
        callback();
      } else if (type === 'requestAnimationFrame') {
        callback(global.performance.now());
      } else if (type === 'requestIdleCallback') {
        callback({
          timeRemaining: function timeRemaining() {
            return Math.max(0, FRAME_DURATION - (global.performance.now() - frameTime));
          },
          didTimeout: !!didTimeout
        });
      } else {
        console.error('Tried to call a callback with invalid type: ' + type);
      }
    } catch (e) {
      if (!errors) {
        errors = [e];
      } else {
        errors.push(e);
      }
    }
  }

  function _callReactNativeMicrotasksPass() {
    if (reactNativeMicrotasks.length === 0) {
      return false;
    }

    var passReactNativeMicrotasks = reactNativeMicrotasks;
    reactNativeMicrotasks = [];

    for (var i = 0; i < passReactNativeMicrotasks.length; ++i) {
      _callTimer(passReactNativeMicrotasks[i], 0);
    }

    return reactNativeMicrotasks.length > 0;
  }

  function _clearIndex(i) {
    timerIDs[i] = null;
    callbacks[i] = null;
    types[i] = null;
  }

  function _freeCallback(timerID) {
    if (timerID == null) {
      return;
    }

    var index = timerIDs.indexOf(timerID);

    if (index !== -1) {
      var type = types[index];

      _clearIndex(index);

      if (type !== 'queueReactNativeMicrotask' && type !== 'requestIdleCallback') {
        deleteTimer(timerID);
      }
    }
  }

  var JSTimers = {
    setTimeout: function setTimeout(func, duration) {
      for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
        args[_key - 2] = arguments[_key];
      }

      var id = _allocateCallback(function () {
        return func.apply(undefined, args);
      }, 'setTimeout');

      createTimer(id, duration || 0, Date.now(), false);
      return id;
    },
    setInterval: function setInterval(func, duration) {
      for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
        args[_key2 - 2] = arguments[_key2];
      }

      var id = _allocateCallback(function () {
        return func.apply(undefined, args);
      }, 'setInterval');

      createTimer(id, duration || 0, Date.now(), true);
      return id;
    },
    queueReactNativeMicrotask: function queueReactNativeMicrotask(func) {
      for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
        args[_key3 - 1] = arguments[_key3];
      }

      var id = _allocateCallback(function () {
        return func.apply(undefined, args);
      }, 'queueReactNativeMicrotask');

      reactNativeMicrotasks.push(id);
      return id;
    },
    requestAnimationFrame: function requestAnimationFrame(func) {
      var id = _allocateCallback(func, 'requestAnimationFrame');

      createTimer(id, 1, Date.now(), false);
      return id;
    },
    requestIdleCallback: function requestIdleCallback(func, options) {
      if (requestIdleCallbacks.length === 0) {
        setSendIdleEvents(true);
      }

      var timeout = options && options.timeout;

      var id = _allocateCallback(timeout != null ? function (deadline) {
        var timeoutId = requestIdleCallbackTimeouts[id];

        if (timeoutId) {
          JSTimers.clearTimeout(timeoutId);
          delete requestIdleCallbackTimeouts[id];
        }

        return func(deadline);
      } : func, 'requestIdleCallback');

      requestIdleCallbacks.push(id);

      if (timeout != null) {
        var timeoutId = JSTimers.setTimeout(function () {
          var index = requestIdleCallbacks.indexOf(id);

          if (index > -1) {
            requestIdleCallbacks.splice(index, 1);

            _callTimer(id, global.performance.now(), true);
          }

          delete requestIdleCallbackTimeouts[id];

          if (requestIdleCallbacks.length === 0) {
            setSendIdleEvents(false);
          }
        }, timeout);
        requestIdleCallbackTimeouts[id] = timeoutId;
      }

      return id;
    },
    cancelIdleCallback: function cancelIdleCallback(timerID) {
      _freeCallback(timerID);

      var index = requestIdleCallbacks.indexOf(timerID);

      if (index !== -1) {
        requestIdleCallbacks.splice(index, 1);
      }

      var timeoutId = requestIdleCallbackTimeouts[timerID];

      if (timeoutId) {
        JSTimers.clearTimeout(timeoutId);
        delete requestIdleCallbackTimeouts[timerID];
      }

      if (requestIdleCallbacks.length === 0) {
        setSendIdleEvents(false);
      }
    },
    clearTimeout: function clearTimeout(timerID) {
      _freeCallback(timerID);
    },
    clearInterval: function clearInterval(timerID) {
      _freeCallback(timerID);
    },
    clearReactNativeMicrotask: function clearReactNativeMicrotask(timerID) {
      _freeCallback(timerID);

      var index = reactNativeMicrotasks.indexOf(timerID);

      if (index !== -1) {
        reactNativeMicrotasks.splice(index, 1);
      }
    },
    cancelAnimationFrame: function cancelAnimationFrame(timerID) {
      _freeCallback(timerID);
    },
    callTimers: function callTimers(timersToCall) {
      _$$_REQUIRE(_dependencyMap[2])(timersToCall.length !== 0, 'Cannot call `callTimers` with an empty list of IDs.');

      errors = null;

      for (var i = 0; i < timersToCall.length; i++) {
        _callTimer(timersToCall[i], 0);
      }

      if (errors) {
        var errorCount = errors.length;

        if (errorCount > 1) {
          for (var ii = 1; ii < errorCount; ii++) {
            JSTimers.setTimeout(function (error) {
              throw error;
            }.bind(null, errors[ii]), 0);
          }
        }

        throw errors[0];
      }
    },
    callIdleCallbacks: function callIdleCallbacks(frameTime) {
      if (FRAME_DURATION - (global.performance.now() - frameTime) < IDLE_CALLBACK_FRAME_DEADLINE) {
        return;
      }

      errors = null;

      if (requestIdleCallbacks.length > 0) {
        var passIdleCallbacks = requestIdleCallbacks;
        requestIdleCallbacks = [];

        for (var i = 0; i < passIdleCallbacks.length; ++i) {
          _callTimer(passIdleCallbacks[i], frameTime);
        }
      }

      if (requestIdleCallbacks.length === 0) {
        setSendIdleEvents(false);
      }

      if (errors) {
        errors.forEach(function (error) {
          return JSTimers.setTimeout(function () {
            throw error;
          }, 0);
        });
      }
    },
    callReactNativeMicrotasks: function callReactNativeMicrotasks() {
      errors = null;

      while (_callReactNativeMicrotasksPass()) {}

      if (errors) {
        errors.forEach(function (error) {
          return JSTimers.setTimeout(function () {
            throw error;
          }, 0);
        });
      }
    },
    emitTimeDriftWarning: function emitTimeDriftWarning(warningMessage) {
      if (hasEmittedTimeDriftWarning) {
        return;
      }

      hasEmittedTimeDriftWarning = true;
      console.warn(warningMessage);
    }
  };

  function createTimer(callbackID, duration, jsSchedulingTime, repeats) {
    _$$_REQUIRE(_dependencyMap[2])(_NativeTiming.default, 'NativeTiming is available');

    _NativeTiming.default.createTimer(callbackID, duration, jsSchedulingTime, repeats);
  }

  function deleteTimer(timerID) {
    _$$_REQUIRE(_dependencyMap[2])(_NativeTiming.default, 'NativeTiming is available');

    _NativeTiming.default.deleteTimer(timerID);
  }

  function setSendIdleEvents(sendIdleEvents) {
    _$$_REQUIRE(_dependencyMap[2])(_NativeTiming.default, 'NativeTiming is available');

    _NativeTiming.default.setSendIdleEvents(sendIdleEvents);
  }

  var ExportedJSTimers;

  if (!_NativeTiming.default) {
    console.warn("Timing native module is not available, can't set timers.");
    ExportedJSTimers = {
      callReactNativeMicrotasks: JSTimers.callReactNativeMicrotasks,
      queueReactNativeMicrotask: JSTimers.queueReactNativeMicrotask
    };
  } else {
    ExportedJSTimers = JSTimers;
  }

  _$$_REQUIRE(_dependencyMap[3]).setReactNativeMicrotasksCallback(JSTimers.callReactNativeMicrotasks);

  module.exports = ExportedJSTimers;
},84,[5,85,36,45]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('Timing');

  exports.default = _default;
},85,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var GUIID = 1;
  var clearedImmediates = new Set();

  function setImmediate(callback) {
    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
      args[_key - 1] = arguments[_key];
    }

    if (arguments.length < 1) {
      throw new TypeError('setImmediate must be called with at least one argument (a function to call)');
    }

    if (typeof callback !== 'function') {
      throw new TypeError('The first argument to setImmediate must be a function.');
    }

    var id = GUIID++;

    if (clearedImmediates.has(id)) {
      clearedImmediates.delete(id);
    }

    global.queueMicrotask(function () {
      if (!clearedImmediates.has(id)) {
        callback.apply(undefined, args);
      } else {
        clearedImmediates.delete(id);
      }
    });
    return id;
  }

  function clearImmediate(immediateID) {
    clearedImmediates.add(immediateID);
  }

  var immediateShim = {
    setImmediate: setImmediate,
    clearImmediate: clearImmediate
  };
  module.exports = immediateShim;
},86,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = queueMicrotask;
  var resolvedPromise;

  function queueMicrotask(callback) {
    if (arguments.length < 1) {
      throw new TypeError('queueMicrotask must be called with at least one argument (a function to call)');
    }

    if (typeof callback !== 'function') {
      throw new TypeError('The argument to queueMicrotask must be a function.');
    }

    (resolvedPromise || (resolvedPromise = Promise.resolve())).then(callback).catch(function (error) {
      return setTimeout(function () {
        throw error;
      }, 0);
    });
  }
},87,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  _$$_REQUIRE(_dependencyMap[0]).polyfillGlobal('XMLHttpRequest', function () {
    return _$$_REQUIRE(_dependencyMap[1]);
  });

  _$$_REQUIRE(_dependencyMap[0]).polyfillGlobal('FormData', function () {
    return _$$_REQUIRE(_dependencyMap[2]);
  });

  _$$_REQUIRE(_dependencyMap[0]).polyfillGlobal('fetch', function () {
    return _$$_REQUIRE(_dependencyMap[3]).fetch;
  });

  _$$_REQUIRE(_dependencyMap[0]).polyfillGlobal('Headers', function () {
    return _$$_REQUIRE(_dependencyMap[3]).Headers;
  });

  _$$_REQUIRE(_dependencyMap[0]).polyfillGlobal('Request', function () {
    return _$$_REQUIRE(_dependencyMap[3]).Request;
  });

  _$$_REQUIRE(_dependencyMap[0]).polyfillGlobal('Response', function () {
    return _$$_REQUIRE(_dependencyMap[3]).Response;
  });

  _$$_REQUIRE(_dependencyMap[0]).polyfillGlobal('WebSocket', function () {
    return _$$_REQUIRE(_dependencyMap[4]);
  });

  _$$_REQUIRE(_dependencyMap[0]).polyfillGlobal('Blob', function () {
    return _$$_REQUIRE(_dependencyMap[5]);
  });

  _$$_REQUIRE(_dependencyMap[0]).polyfillGlobal('File', function () {
    return _$$_REQUIRE(_dependencyMap[6]);
  });

  _$$_REQUIRE(_dependencyMap[0]).polyfillGlobal('FileReader', function () {
    return _$$_REQUIRE(_dependencyMap[7]);
  });

  _$$_REQUIRE(_dependencyMap[0]).polyfillGlobal('URL', function () {
    return _$$_REQUIRE(_dependencyMap[8]).URL;
  });

  _$$_REQUIRE(_dependencyMap[0]).polyfillGlobal('URLSearchParams', function () {
    return _$$_REQUIRE(_dependencyMap[8]).URLSearchParams;
  });

  _$$_REQUIRE(_dependencyMap[0]).polyfillGlobal('AbortController', function () {
    return _$$_REQUIRE(_dependencyMap[9]).AbortController;
  });

  _$$_REQUIRE(_dependencyMap[0]).polyfillGlobal('AbortSignal', function () {
    return _$$_REQUIRE(_dependencyMap[9]).AbortSignal;
  });
},88,[72,89,103,105,107,94,113,114,116,117]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var DEBUG_NETWORK_SEND_DELAY = false;

  if (_$$_REQUIRE(_dependencyMap[8]).isAvailable) {
    _$$_REQUIRE(_dependencyMap[8]).addNetworkingHandler();
  }

  var UNSENT = 0;
  var OPENED = 1;
  var HEADERS_RECEIVED = 2;
  var LOADING = 3;
  var DONE = 4;
  var SUPPORTED_RESPONSE_TYPES = {
    arraybuffer: typeof global.ArrayBuffer === 'function',
    blob: typeof global.Blob === 'function',
    document: false,
    json: true,
    text: true,
    '': true
  };
  var REQUEST_EVENTS = ['abort', 'error', 'load', 'loadstart', 'progress', 'timeout', 'loadend'];
  var XHR_EVENTS = REQUEST_EVENTS.concat('readystatechange');

  var XMLHttpRequestEventTarget = function (_ref) {
    (0, _inherits2.default)(XMLHttpRequestEventTarget, _ref);

    var _super = _createSuper(XMLHttpRequestEventTarget);

    function XMLHttpRequestEventTarget() {
      (0, _classCallCheck2.default)(this, XMLHttpRequestEventTarget);
      return _super.apply(this, arguments);
    }

    return XMLHttpRequestEventTarget;
  }(_$$_REQUIRE(_dependencyMap[9]).apply(undefined, REQUEST_EVENTS));

  var XMLHttpRequest = function (_ref2) {
    (0, _inherits2.default)(XMLHttpRequest, _ref2);

    var _super2 = _createSuper(XMLHttpRequest);

    function XMLHttpRequest() {
      var _this;

      (0, _classCallCheck2.default)(this, XMLHttpRequest);
      _this = _super2.call(this);
      _this.UNSENT = UNSENT;
      _this.OPENED = OPENED;
      _this.HEADERS_RECEIVED = HEADERS_RECEIVED;
      _this.LOADING = LOADING;
      _this.DONE = DONE;
      _this.readyState = UNSENT;
      _this.status = 0;
      _this.timeout = 0;
      _this.withCredentials = true;
      _this.upload = new XMLHttpRequestEventTarget();
      _this._aborted = false;
      _this._hasError = false;
      _this._method = null;
      _this._perfKey = null;
      _this._response = '';
      _this._url = null;
      _this._timedOut = false;
      _this._trackingName = 'unknown';
      _this._incrementalEvents = false;
      _this._performanceLogger = _$$_REQUIRE(_dependencyMap[10]);

      _this._reset();

      return _this;
    }

    (0, _createClass2.default)(XMLHttpRequest, [{
      key: "_reset",
      value: function _reset() {
        this.readyState = this.UNSENT;
        this.responseHeaders = undefined;
        this.status = 0;
        delete this.responseURL;
        this._requestId = null;
        this._cachedResponse = undefined;
        this._hasError = false;
        this._headers = {};
        this._response = '';
        this._responseType = '';
        this._sent = false;
        this._lowerCaseResponseHeaders = {};

        this._clearSubscriptions();

        this._timedOut = false;
      }
    }, {
      key: "responseType",
      get: function get() {
        return this._responseType;
      },
      set: function set(responseType) {
        if (this._sent) {
          throw new Error("Failed to set the 'responseType' property on 'XMLHttpRequest': The response type cannot be set after the request has been sent.");
        }

        if (!SUPPORTED_RESPONSE_TYPES.hasOwnProperty(responseType)) {
          console.warn("The provided value '" + responseType + "' is not a valid 'responseType'.");
          return;
        }

        _$$_REQUIRE(_dependencyMap[11])(SUPPORTED_RESPONSE_TYPES[responseType] || responseType === 'document', "The provided value '" + responseType + "' is unsupported in this environment.");

        if (responseType === 'blob') {
          _$$_REQUIRE(_dependencyMap[11])(_$$_REQUIRE(_dependencyMap[8]).isAvailable, 'Native module BlobModule is required for blob support');
        }

        this._responseType = responseType;
      }
    }, {
      key: "responseText",
      get: function get() {
        if (this._responseType !== '' && this._responseType !== 'text') {
          throw new Error("The 'responseText' property is only available if 'responseType' " + ("is set to '' or 'text', but it is '" + this._responseType + "'."));
        }

        if (this.readyState < LOADING) {
          return '';
        }

        return this._response;
      }
    }, {
      key: "response",
      get: function get() {
        var responseType = this.responseType;

        if (responseType === '' || responseType === 'text') {
          return this.readyState < LOADING || this._hasError ? '' : this._response;
        }

        if (this.readyState !== DONE) {
          return null;
        }

        if (this._cachedResponse !== undefined) {
          return this._cachedResponse;
        }

        switch (responseType) {
          case 'document':
            this._cachedResponse = null;
            break;

          case 'arraybuffer':
            this._cachedResponse = _$$_REQUIRE(_dependencyMap[12]).toByteArray(this._response).buffer;
            break;

          case 'blob':
            if (typeof this._response === 'object' && this._response) {
              this._cachedResponse = _$$_REQUIRE(_dependencyMap[8]).createFromOptions(this._response);
            } else if (this._response === '') {
              this._cachedResponse = _$$_REQUIRE(_dependencyMap[8]).createFromParts([]);
            } else {
              throw new Error("Invalid response for blob: " + this._response);
            }

            break;

          case 'json':
            try {
              this._cachedResponse = JSON.parse(this._response);
            } catch (_) {
              this._cachedResponse = null;
            }

            break;

          default:
            this._cachedResponse = null;
        }

        return this._cachedResponse;
      }
    }, {
      key: "__didCreateRequest",
      value: function __didCreateRequest(requestId) {
        this._requestId = requestId;
        XMLHttpRequest._interceptor && XMLHttpRequest._interceptor.requestSent(requestId, this._url || '', this._method || 'GET', this._headers);
      }
    }, {
      key: "__didUploadProgress",
      value: function __didUploadProgress(requestId, progress, total) {
        if (requestId === this._requestId) {
          this.upload.dispatchEvent({
            type: 'progress',
            lengthComputable: true,
            loaded: progress,
            total: total
          });
        }
      }
    }, {
      key: "__didReceiveResponse",
      value: function __didReceiveResponse(requestId, status, responseHeaders, responseURL) {
        if (requestId === this._requestId) {
          this._perfKey != null && this._performanceLogger.stopTimespan(this._perfKey);
          this.status = status;
          this.setResponseHeaders(responseHeaders);
          this.setReadyState(this.HEADERS_RECEIVED);

          if (responseURL || responseURL === '') {
            this.responseURL = responseURL;
          } else {
            delete this.responseURL;
          }

          XMLHttpRequest._interceptor && XMLHttpRequest._interceptor.responseReceived(requestId, responseURL || this._url || '', status, responseHeaders || {});
        }
      }
    }, {
      key: "__didReceiveData",
      value: function __didReceiveData(requestId, response) {
        if (requestId !== this._requestId) {
          return;
        }

        this._response = response;
        this._cachedResponse = undefined;
        this.setReadyState(this.LOADING);
        XMLHttpRequest._interceptor && XMLHttpRequest._interceptor.dataReceived(requestId, response);
      }
    }, {
      key: "__didReceiveIncrementalData",
      value: function __didReceiveIncrementalData(requestId, responseText, progress, total) {
        if (requestId !== this._requestId) {
          return;
        }

        if (!this._response) {
          this._response = responseText;
        } else {
          this._response += responseText;
        }

        XMLHttpRequest._interceptor && XMLHttpRequest._interceptor.dataReceived(requestId, responseText);
        this.setReadyState(this.LOADING);

        this.__didReceiveDataProgress(requestId, progress, total);
      }
    }, {
      key: "__didReceiveDataProgress",
      value: function __didReceiveDataProgress(requestId, loaded, total) {
        if (requestId !== this._requestId) {
          return;
        }

        this.dispatchEvent({
          type: 'progress',
          lengthComputable: total >= 0,
          loaded: loaded,
          total: total
        });
      }
    }, {
      key: "__didCompleteResponse",
      value: function __didCompleteResponse(requestId, error, timeOutError) {
        if (requestId === this._requestId) {
          if (error) {
            if (this._responseType === '' || this._responseType === 'text') {
              this._response = error;
            }

            this._hasError = true;

            if (timeOutError) {
              this._timedOut = true;
            }
          }

          this._clearSubscriptions();

          this._requestId = null;
          this.setReadyState(this.DONE);

          if (error) {
            XMLHttpRequest._interceptor && XMLHttpRequest._interceptor.loadingFailed(requestId, error);
          } else {
            XMLHttpRequest._interceptor && XMLHttpRequest._interceptor.loadingFinished(requestId, this._response.length);
          }
        }
      }
    }, {
      key: "_clearSubscriptions",
      value: function _clearSubscriptions() {
        (this._subscriptions || []).forEach(function (sub) {
          if (sub) {
            sub.remove();
          }
        });
        this._subscriptions = [];
      }
    }, {
      key: "getAllResponseHeaders",
      value: function getAllResponseHeaders() {
        if (!this.responseHeaders) {
          return null;
        }

        var headers = this.responseHeaders || {};
        return Object.keys(headers).map(function (headerName) {
          return headerName + ': ' + headers[headerName];
        }).join('\r\n');
      }
    }, {
      key: "getResponseHeader",
      value: function getResponseHeader(header) {
        var value = this._lowerCaseResponseHeaders[header.toLowerCase()];

        return value !== undefined ? value : null;
      }
    }, {
      key: "setRequestHeader",
      value: function setRequestHeader(header, value) {
        if (this.readyState !== this.OPENED) {
          throw new Error('Request has not been opened');
        }

        this._headers[header.toLowerCase()] = String(value);
      }
    }, {
      key: "setTrackingName",
      value: function setTrackingName(trackingName) {
        this._trackingName = trackingName;
        return this;
      }
    }, {
      key: "setPerformanceLogger",
      value: function setPerformanceLogger(performanceLogger) {
        this._performanceLogger = performanceLogger;
        return this;
      }
    }, {
      key: "open",
      value: function open(method, url, async) {
        if (this.readyState !== this.UNSENT) {
          throw new Error('Cannot open, already sending');
        }

        if (async !== undefined && !async) {
          throw new Error('Synchronous http requests are not supported');
        }

        if (!url) {
          throw new Error('Cannot load an empty url');
        }

        this._method = method.toUpperCase();
        this._url = url;
        this._aborted = false;
        this.setReadyState(this.OPENED);
      }
    }, {
      key: "send",
      value: function send(data) {
        var _this2 = this;

        if (this.readyState !== this.OPENED) {
          throw new Error('Request has not been opened');
        }

        if (this._sent) {
          throw new Error('Request has already been sent');
        }

        this._sent = true;
        var incrementalEvents = this._incrementalEvents || !!this.onreadystatechange || !!this.onprogress;

        this._subscriptions.push(_$$_REQUIRE(_dependencyMap[13]).addListener('didSendNetworkData', function (args) {
          return _this2.__didUploadProgress.apply(_this2, (0, _toConsumableArray2.default)(args));
        }));

        this._subscriptions.push(_$$_REQUIRE(_dependencyMap[13]).addListener('didReceiveNetworkResponse', function (args) {
          return _this2.__didReceiveResponse.apply(_this2, (0, _toConsumableArray2.default)(args));
        }));

        this._subscriptions.push(_$$_REQUIRE(_dependencyMap[13]).addListener('didReceiveNetworkData', function (args) {
          return _this2.__didReceiveData.apply(_this2, (0, _toConsumableArray2.default)(args));
        }));

        this._subscriptions.push(_$$_REQUIRE(_dependencyMap[13]).addListener('didReceiveNetworkIncrementalData', function (args) {
          return _this2.__didReceiveIncrementalData.apply(_this2, (0, _toConsumableArray2.default)(args));
        }));

        this._subscriptions.push(_$$_REQUIRE(_dependencyMap[13]).addListener('didReceiveNetworkDataProgress', function (args) {
          return _this2.__didReceiveDataProgress.apply(_this2, (0, _toConsumableArray2.default)(args));
        }));

        this._subscriptions.push(_$$_REQUIRE(_dependencyMap[13]).addListener('didCompleteNetworkResponse', function (args) {
          return _this2.__didCompleteResponse.apply(_this2, (0, _toConsumableArray2.default)(args));
        }));

        var nativeResponseType = 'text';

        if (this._responseType === 'arraybuffer') {
          nativeResponseType = 'base64';
        }

        if (this._responseType === 'blob') {
          nativeResponseType = 'blob';
        }

        var doSend = function doSend() {
          var friendlyName = _this2._trackingName !== 'unknown' ? _this2._trackingName : _this2._url;
          _this2._perfKey = 'network_XMLHttpRequest_' + String(friendlyName);

          _this2._performanceLogger.startTimespan(_this2._perfKey);

          _$$_REQUIRE(_dependencyMap[11])(_this2._method, 'XMLHttpRequest method needs to be defined (%s).', friendlyName);

          _$$_REQUIRE(_dependencyMap[11])(_this2._url, 'XMLHttpRequest URL needs to be defined (%s).', friendlyName);

          _$$_REQUIRE(_dependencyMap[13]).sendRequest(_this2._method, _this2._trackingName, _this2._url, _this2._headers, data, nativeResponseType, incrementalEvents, _this2.timeout, _this2.__didCreateRequest.bind(_this2), _this2.withCredentials);
        };

        {
          doSend();
        }
      }
    }, {
      key: "abort",
      value: function abort() {
        this._aborted = true;

        if (this._requestId) {
          _$$_REQUIRE(_dependencyMap[13]).abortRequest(this._requestId);
        }

        if (!(this.readyState === this.UNSENT || this.readyState === this.OPENED && !this._sent || this.readyState === this.DONE)) {
          this._reset();

          this.setReadyState(this.DONE);
        }

        this._reset();
      }
    }, {
      key: "setResponseHeaders",
      value: function setResponseHeaders(responseHeaders) {
        this.responseHeaders = responseHeaders || null;
        var headers = responseHeaders || {};
        this._lowerCaseResponseHeaders = Object.keys(headers).reduce(function (lcaseHeaders, headerName) {
          lcaseHeaders[headerName.toLowerCase()] = headers[headerName];
          return lcaseHeaders;
        }, {});
      }
    }, {
      key: "setReadyState",
      value: function setReadyState(newState) {
        this.readyState = newState;
        this.dispatchEvent({
          type: 'readystatechange'
        });

        if (newState === this.DONE) {
          if (this._aborted) {
            this.dispatchEvent({
              type: 'abort'
            });
          } else if (this._hasError) {
            if (this._timedOut) {
              this.dispatchEvent({
                type: 'timeout'
              });
            } else {
              this.dispatchEvent({
                type: 'error'
              });
            }
          } else {
            this.dispatchEvent({
              type: 'load'
            });
          }

          this.dispatchEvent({
            type: 'loadend'
          });
        }
      }
    }, {
      key: "addEventListener",
      value: function addEventListener(type, listener) {
        if (type === 'readystatechange' || type === 'progress') {
          this._incrementalEvents = true;
        }

        (0, _get2.default)((0, _getPrototypeOf2.default)(XMLHttpRequest.prototype), "addEventListener", this).call(this, type, listener);
      }
    }], [{
      key: "setInterceptor",
      value: function setInterceptor(interceptor) {
        XMLHttpRequest._interceptor = interceptor;
      }
    }]);
    return XMLHttpRequest;
  }(_$$_REQUIRE(_dependencyMap[9]).apply(undefined, (0, _toConsumableArray2.default)(XHR_EVENTS)));

  XMLHttpRequest.UNSENT = UNSENT;
  XMLHttpRequest.OPENED = OPENED;
  XMLHttpRequest.HEADERS_RECEIVED = HEADERS_RECEIVED;
  XMLHttpRequest.LOADING = LOADING;
  XMLHttpRequest.DONE = DONE;
  XMLHttpRequest._interceptor = null;
  module.exports = XMLHttpRequest;
},89,[5,21,8,90,7,12,14,16,92,96,97,36,99,100]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _get() {
    if (typeof Reflect !== "undefined" && Reflect.get) {
      module.exports = _get = Reflect.get.bind(), module.exports.__esModule = true, module.exports["default"] = module.exports;
    } else {
      module.exports = _get = function _get(target, property, receiver) {
        var base = _$$_REQUIRE(_dependencyMap[0])(target, property);

        if (!base) return;
        var desc = Object.getOwnPropertyDescriptor(base, property);

        if (desc.get) {
          return desc.get.call(arguments.length < 3 ? target : receiver);
        }

        return desc.value;
      }, module.exports.__esModule = true, module.exports["default"] = module.exports;
    }

    return _get.apply(this, arguments);
  }

  module.exports = _get, module.exports.__esModule = true, module.exports["default"] = module.exports;
},90,[91]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _superPropBase(object, property) {
    while (!Object.prototype.hasOwnProperty.call(object, property)) {
      object = _$$_REQUIRE(_dependencyMap[0])(object);
      if (object === null) break;
    }

    return object;
  }

  module.exports = _superPropBase, module.exports.__esModule = true, module.exports["default"] = module.exports;
},91,[16]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _NativeBlobModule = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function uuidv4() {
    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
      var r = Math.random() * 16 | 0,
          v = c == 'x' ? r : r & 0x3 | 0x8;
      return v.toString(16);
    });
  }

  function createBlobCollector(blobId) {
    if (global.__blobCollectorProvider == null) {
      return null;
    } else {
      return global.__blobCollectorProvider(blobId);
    }
  }

  var BlobManager = function () {
    function BlobManager() {
      (0, _classCallCheck2.default)(this, BlobManager);
    }

    (0, _createClass2.default)(BlobManager, null, [{
      key: "createFromParts",
      value: function createFromParts(parts, options) {
        (0, _invariant.default)(_NativeBlobModule.default, 'NativeBlobModule is available.');
        var blobId = uuidv4();
        var items = parts.map(function (part) {
          if (part instanceof ArrayBuffer || global.ArrayBufferView && part instanceof global.ArrayBufferView) {
            throw new Error("Creating blobs from 'ArrayBuffer' and 'ArrayBufferView' are not supported");
          }

          if (part instanceof _$$_REQUIRE(_dependencyMap[6])) {
            return {
              data: part.data,
              type: 'blob'
            };
          } else {
            return {
              data: String(part),
              type: 'string'
            };
          }
        });
        var size = items.reduce(function (acc, curr) {
          if (curr.type === 'string') {
            return acc + global.unescape(encodeURI(curr.data)).length;
          } else {
            return acc + curr.data.size;
          }
        }, 0);

        _NativeBlobModule.default.createFromParts(items, blobId);

        return BlobManager.createFromOptions({
          blobId: blobId,
          offset: 0,
          size: size,
          type: options ? options.type : '',
          lastModified: options ? options.lastModified : Date.now()
        });
      }
    }, {
      key: "createFromOptions",
      value: function createFromOptions(options) {
        _$$_REQUIRE(_dependencyMap[7]).register(options.blobId);

        return (0, _extends2.default)(Object.create(_$$_REQUIRE(_dependencyMap[6]).prototype), {
          data: options.__collector == null ? (0, _extends2.default)({}, options, {
            __collector: createBlobCollector(options.blobId)
          }) : options
        });
      }
    }, {
      key: "release",
      value: function release(blobId) {
        (0, _invariant.default)(_NativeBlobModule.default, 'NativeBlobModule is available.');

        _$$_REQUIRE(_dependencyMap[7]).unregister(blobId);

        if (_$$_REQUIRE(_dependencyMap[7]).has(blobId)) {
          return;
        }

        _NativeBlobModule.default.release(blobId);
      }
    }, {
      key: "addNetworkingHandler",
      value: function addNetworkingHandler() {
        (0, _invariant.default)(_NativeBlobModule.default, 'NativeBlobModule is available.');

        _NativeBlobModule.default.addNetworkingHandler();
      }
    }, {
      key: "addWebSocketHandler",
      value: function addWebSocketHandler(socketId) {
        (0, _invariant.default)(_NativeBlobModule.default, 'NativeBlobModule is available.');

        _NativeBlobModule.default.addWebSocketHandler(socketId);
      }
    }, {
      key: "removeWebSocketHandler",
      value: function removeWebSocketHandler(socketId) {
        (0, _invariant.default)(_NativeBlobModule.default, 'NativeBlobModule is available.');

        _NativeBlobModule.default.removeWebSocketHandler(socketId);
      }
    }, {
      key: "sendOverSocket",
      value: function sendOverSocket(blob, socketId) {
        (0, _invariant.default)(_NativeBlobModule.default, 'NativeBlobModule is available.');

        _NativeBlobModule.default.sendOverSocket(blob.data, socketId);
      }
    }]);
    return BlobManager;
  }();

  BlobManager.isAvailable = !!_NativeBlobModule.default;
  module.exports = BlobManager;
},92,[5,6,7,8,93,36,94,95]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var NativeModule = TurboModuleRegistry.get('BlobModule');
  var constants = null;
  var NativeBlobModule = null;

  if (NativeModule != null) {
    NativeBlobModule = {
      getConstants: function getConstants() {
        if (constants == null) {
          constants = NativeModule.getConstants();
        }

        return constants;
      },
      addNetworkingHandler: function addNetworkingHandler() {
        NativeModule.addNetworkingHandler();
      },
      addWebSocketHandler: function addWebSocketHandler(id) {
        NativeModule.addWebSocketHandler(id);
      },
      removeWebSocketHandler: function removeWebSocketHandler(id) {
        NativeModule.removeWebSocketHandler(id);
      },
      sendOverSocket: function sendOverSocket(blob, socketID) {
        NativeModule.sendOverSocket(blob, socketID);
      },
      createFromParts: function createFromParts(parts, withId) {
        NativeModule.createFromParts(parts, withId);
      },
      release: function release(blobId) {
        NativeModule.release(blobId);
      }
    };
  }

  var _default = NativeBlobModule;
  exports.default = _default;
},93,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var Blob = function () {
    function Blob() {
      var parts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
      var options = arguments.length > 1 ? arguments[1] : undefined;

      _$$_REQUIRE(_dependencyMap[0])(this, Blob);

      var BlobManager = _$$_REQUIRE(_dependencyMap[1]);

      this.data = BlobManager.createFromParts(parts, options).data;
    }

    _$$_REQUIRE(_dependencyMap[2])(Blob, [{
      key: "data",
      get: function get() {
        if (!this._data) {
          throw new Error('Blob has been closed and is no longer available');
        }

        return this._data;
      },
      set: function set(data) {
        this._data = data;
      }
    }, {
      key: "slice",
      value: function slice(start, end) {
        var BlobManager = _$$_REQUIRE(_dependencyMap[1]);

        var _this$data = this.data,
            offset = _this$data.offset,
            size = _this$data.size;

        if (typeof start === 'number') {
          if (start > size) {
            start = size;
          }

          offset += start;
          size -= start;

          if (typeof end === 'number') {
            if (end < 0) {
              end = this.size + end;
            }

            size = end - start;
          }
        }

        return BlobManager.createFromOptions({
          blobId: this.data.blobId,
          offset: offset,
          size: size
        });
      }
    }, {
      key: "close",
      value: function close() {
        var BlobManager = _$$_REQUIRE(_dependencyMap[1]);

        BlobManager.release(this.data.blobId);
        this.data = null;
      }
    }, {
      key: "size",
      get: function get() {
        return this.data.size;
      }
    }, {
      key: "type",
      get: function get() {
        return this.data.type || '';
      }
    }]);

    return Blob;
  }();

  module.exports = Blob;
},94,[7,92,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var registry = {};

  var register = function register(id) {
    if (registry[id]) {
      registry[id]++;
    } else {
      registry[id] = 1;
    }
  };

  var unregister = function unregister(id) {
    if (registry[id]) {
      registry[id]--;

      if (registry[id] <= 0) {
        delete registry[id];
      }
    }
  };

  var has = function has(id) {
    return registry[id] && registry[id] > 0;
  };

  module.exports = {
    register: register,
    unregister: unregister,
    has: has
  };
},95,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  Object.defineProperty(exports, '__esModule', {
    value: true
  });
  var privateData = new WeakMap();
  var wrappers = new WeakMap();

  function pd(event) {
    var retv = privateData.get(event);
    return retv;
  }

  function setCancelFlag(data) {
    if (data.passiveListener != null) {
      if (typeof console !== "undefined" && typeof console.error === "function") {
        console.error("Unable to preventDefault inside passive event listener invocation.", data.passiveListener);
      }

      return;
    }

    if (!data.event.cancelable) {
      return;
    }

    data.canceled = true;

    if (typeof data.event.preventDefault === "function") {
      data.event.preventDefault();
    }
  }

  function Event(eventTarget, event) {
    privateData.set(this, {
      eventTarget: eventTarget,
      event: event,
      eventPhase: 2,
      currentTarget: eventTarget,
      canceled: false,
      stopped: false,
      immediateStopped: false,
      passiveListener: null,
      timeStamp: event.timeStamp || Date.now()
    });
    Object.defineProperty(this, "isTrusted", {
      value: false,
      enumerable: true
    });
    var keys = Object.keys(event);

    for (var i = 0; i < keys.length; ++i) {
      var key = keys[i];

      if (!(key in this)) {
        Object.defineProperty(this, key, defineRedirectDescriptor(key));
      }
    }
  }

  Event.prototype = {
    get type() {
      return pd(this).event.type;
    },

    get target() {
      return pd(this).eventTarget;
    },

    get currentTarget() {
      return pd(this).currentTarget;
    },

    composedPath: function composedPath() {
      var currentTarget = pd(this).currentTarget;

      if (currentTarget == null) {
        return [];
      }

      return [currentTarget];
    },

    get NONE() {
      return 0;
    },

    get CAPTURING_PHASE() {
      return 1;
    },

    get AT_TARGET() {
      return 2;
    },

    get BUBBLING_PHASE() {
      return 3;
    },

    get eventPhase() {
      return pd(this).eventPhase;
    },

    stopPropagation: function stopPropagation() {
      var data = pd(this);
      data.stopped = true;

      if (typeof data.event.stopPropagation === "function") {
        data.event.stopPropagation();
      }
    },
    stopImmediatePropagation: function stopImmediatePropagation() {
      var data = pd(this);
      data.stopped = true;
      data.immediateStopped = true;

      if (typeof data.event.stopImmediatePropagation === "function") {
        data.event.stopImmediatePropagation();
      }
    },

    get bubbles() {
      return Boolean(pd(this).event.bubbles);
    },

    get cancelable() {
      return Boolean(pd(this).event.cancelable);
    },

    preventDefault: function preventDefault() {
      setCancelFlag(pd(this));
    },

    get defaultPrevented() {
      return pd(this).canceled;
    },

    get composed() {
      return Boolean(pd(this).event.composed);
    },

    get timeStamp() {
      return pd(this).timeStamp;
    },

    get srcElement() {
      return pd(this).eventTarget;
    },

    get cancelBubble() {
      return pd(this).stopped;
    },

    set cancelBubble(value) {
      if (!value) {
        return;
      }

      var data = pd(this);
      data.stopped = true;

      if (typeof data.event.cancelBubble === "boolean") {
        data.event.cancelBubble = true;
      }
    },

    get returnValue() {
      return !pd(this).canceled;
    },

    set returnValue(value) {
      if (!value) {
        setCancelFlag(pd(this));
      }
    },

    initEvent: function initEvent() {}
  };
  Object.defineProperty(Event.prototype, "constructor", {
    value: Event,
    configurable: true,
    writable: true
  });

  if (typeof window !== "undefined" && typeof window.Event !== "undefined") {
    Object.setPrototypeOf(Event.prototype, window.Event.prototype);
    wrappers.set(window.Event.prototype, Event);
  }

  function defineRedirectDescriptor(key) {
    return {
      get: function get() {
        return pd(this).event[key];
      },
      set: function set(value) {
        pd(this).event[key] = value;
      },
      configurable: true,
      enumerable: true
    };
  }

  function defineCallDescriptor(key) {
    return {
      value: function value() {
        var event = pd(this).event;
        return event[key].apply(event, arguments);
      },
      configurable: true,
      enumerable: true
    };
  }

  function defineWrapper(BaseEvent, proto) {
    var keys = Object.keys(proto);

    if (keys.length === 0) {
      return BaseEvent;
    }

    function CustomEvent(eventTarget, event) {
      BaseEvent.call(this, eventTarget, event);
    }

    CustomEvent.prototype = Object.create(BaseEvent.prototype, {
      constructor: {
        value: CustomEvent,
        configurable: true,
        writable: true
      }
    });

    for (var i = 0; i < keys.length; ++i) {
      var key = keys[i];

      if (!(key in BaseEvent.prototype)) {
        var descriptor = Object.getOwnPropertyDescriptor(proto, key);
        var isFunc = typeof descriptor.value === "function";
        Object.defineProperty(CustomEvent.prototype, key, isFunc ? defineCallDescriptor(key) : defineRedirectDescriptor(key));
      }
    }

    return CustomEvent;
  }

  function getWrapper(proto) {
    if (proto == null || proto === Object.prototype) {
      return Event;
    }

    var wrapper = wrappers.get(proto);

    if (wrapper == null) {
      wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto);
      wrappers.set(proto, wrapper);
    }

    return wrapper;
  }

  function wrapEvent(eventTarget, event) {
    var Wrapper = getWrapper(Object.getPrototypeOf(event));
    return new Wrapper(eventTarget, event);
  }

  function isStopped(event) {
    return pd(event).immediateStopped;
  }

  function setEventPhase(event, eventPhase) {
    pd(event).eventPhase = eventPhase;
  }

  function setCurrentTarget(event, currentTarget) {
    pd(event).currentTarget = currentTarget;
  }

  function setPassiveListener(event, passiveListener) {
    pd(event).passiveListener = passiveListener;
  }

  var listenersMap = new WeakMap();
  var CAPTURE = 1;
  var BUBBLE = 2;
  var ATTRIBUTE = 3;

  function isObject(x) {
    return x !== null && typeof x === "object";
  }

  function getListeners(eventTarget) {
    var listeners = listenersMap.get(eventTarget);

    if (listeners == null) {
      throw new TypeError("'this' is expected an EventTarget object, but got another value.");
    }

    return listeners;
  }

  function defineEventAttributeDescriptor(eventName) {
    return {
      get: function get() {
        var listeners = getListeners(this);
        var node = listeners.get(eventName);

        while (node != null) {
          if (node.listenerType === ATTRIBUTE) {
            return node.listener;
          }

          node = node.next;
        }

        return null;
      },
      set: function set(listener) {
        if (typeof listener !== "function" && !isObject(listener)) {
          listener = null;
        }

        var listeners = getListeners(this);
        var prev = null;
        var node = listeners.get(eventName);

        while (node != null) {
          if (node.listenerType === ATTRIBUTE) {
            if (prev !== null) {
              prev.next = node.next;
            } else if (node.next !== null) {
              listeners.set(eventName, node.next);
            } else {
              listeners.delete(eventName);
            }
          } else {
            prev = node;
          }

          node = node.next;
        }

        if (listener !== null) {
          var newNode = {
            listener: listener,
            listenerType: ATTRIBUTE,
            passive: false,
            once: false,
            next: null
          };

          if (prev === null) {
            listeners.set(eventName, newNode);
          } else {
            prev.next = newNode;
          }
        }
      },
      configurable: true,
      enumerable: true
    };
  }

  function defineEventAttribute(eventTargetPrototype, eventName) {
    Object.defineProperty(eventTargetPrototype, "on" + eventName, defineEventAttributeDescriptor(eventName));
  }

  function defineCustomEventTarget(eventNames) {
    function CustomEventTarget() {
      EventTarget.call(this);
    }

    CustomEventTarget.prototype = Object.create(EventTarget.prototype, {
      constructor: {
        value: CustomEventTarget,
        configurable: true,
        writable: true
      }
    });

    for (var i = 0; i < eventNames.length; ++i) {
      defineEventAttribute(CustomEventTarget.prototype, eventNames[i]);
    }

    return CustomEventTarget;
  }

  function EventTarget() {
    if (this instanceof EventTarget) {
      listenersMap.set(this, new Map());
      return;
    }

    if (arguments.length === 1 && Array.isArray(arguments[0])) {
      return defineCustomEventTarget(arguments[0]);
    }

    if (arguments.length > 0) {
      var types = new Array(arguments.length);

      for (var i = 0; i < arguments.length; ++i) {
        types[i] = arguments[i];
      }

      return defineCustomEventTarget(types);
    }

    throw new TypeError("Cannot call a class as a function");
  }

  EventTarget.prototype = {
    addEventListener: function addEventListener(eventName, listener, options) {
      if (listener == null) {
        return;
      }

      if (typeof listener !== "function" && !isObject(listener)) {
        throw new TypeError("'listener' should be a function or an object.");
      }

      var listeners = getListeners(this);
      var optionsIsObj = isObject(options);
      var capture = optionsIsObj ? Boolean(options.capture) : Boolean(options);
      var listenerType = capture ? CAPTURE : BUBBLE;
      var newNode = {
        listener: listener,
        listenerType: listenerType,
        passive: optionsIsObj && Boolean(options.passive),
        once: optionsIsObj && Boolean(options.once),
        next: null
      };
      var node = listeners.get(eventName);

      if (node === undefined) {
        listeners.set(eventName, newNode);
        return;
      }

      var prev = null;

      while (node != null) {
        if (node.listener === listener && node.listenerType === listenerType) {
          return;
        }

        prev = node;
        node = node.next;
      }

      prev.next = newNode;
    },
    removeEventListener: function removeEventListener(eventName, listener, options) {
      if (listener == null) {
        return;
      }

      var listeners = getListeners(this);
      var capture = isObject(options) ? Boolean(options.capture) : Boolean(options);
      var listenerType = capture ? CAPTURE : BUBBLE;
      var prev = null;
      var node = listeners.get(eventName);

      while (node != null) {
        if (node.listener === listener && node.listenerType === listenerType) {
          if (prev !== null) {
            prev.next = node.next;
          } else if (node.next !== null) {
            listeners.set(eventName, node.next);
          } else {
            listeners.delete(eventName);
          }

          return;
        }

        prev = node;
        node = node.next;
      }
    },
    dispatchEvent: function dispatchEvent(event) {
      if (event == null || typeof event.type !== "string") {
        throw new TypeError('"event.type" should be a string.');
      }

      var listeners = getListeners(this);
      var eventName = event.type;
      var node = listeners.get(eventName);

      if (node == null) {
        return true;
      }

      var wrappedEvent = wrapEvent(this, event);
      var prev = null;

      while (node != null) {
        if (node.once) {
          if (prev !== null) {
            prev.next = node.next;
          } else if (node.next !== null) {
            listeners.set(eventName, node.next);
          } else {
            listeners.delete(eventName);
          }
        } else {
          prev = node;
        }

        setPassiveListener(wrappedEvent, node.passive ? node.listener : null);

        if (typeof node.listener === "function") {
          try {
            node.listener.call(this, wrappedEvent);
          } catch (err) {
            if (typeof console !== "undefined" && typeof console.error === "function") {
              console.error(err);
            }
          }
        } else if (node.listenerType !== ATTRIBUTE && typeof node.listener.handleEvent === "function") {
          node.listener.handleEvent(wrappedEvent);
        }

        if (isStopped(wrappedEvent)) {
          break;
        }

        node = node.next;
      }

      setPassiveListener(wrappedEvent, null);
      setEventPhase(wrappedEvent, 0);
      setCurrentTarget(wrappedEvent, null);
      return !wrappedEvent.defaultPrevented;
    }
  };
  Object.defineProperty(EventTarget.prototype, "constructor", {
    value: EventTarget,
    configurable: true,
    writable: true
  });

  if (typeof window !== "undefined" && typeof window.EventTarget !== "undefined") {
    Object.setPrototypeOf(EventTarget.prototype, window.EventTarget.prototype);
  }

  exports.defineEventAttribute = defineEventAttribute;
  exports.EventTarget = EventTarget;
  exports.default = EventTarget;
  module.exports = EventTarget;
  module.exports.EventTarget = module.exports["default"] = EventTarget;
  module.exports.defineEventAttribute = defineEventAttribute;
},96,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _createPerformanceLogger = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var GlobalPerformanceLogger = (0, _createPerformanceLogger.default)();
  module.exports = GlobalPerformanceLogger;
},97,[5,98]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = createPerformanceLogger;
  exports.getCurrentTimestamp = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _global$nativeQPLTime;

  var _cookies = {};
  var PRINT_TO_CONSOLE = false;
  var getCurrentTimestamp = (_global$nativeQPLTime = global.nativeQPLTimestamp) != null ? _global$nativeQPLTime : global.performance.now.bind(global.performance);
  exports.getCurrentTimestamp = getCurrentTimestamp;

  var PerformanceLogger = function () {
    function PerformanceLogger() {
      (0, _classCallCheck2.default)(this, PerformanceLogger);
      this._timespans = {};
      this._extras = {};
      this._points = {};
      this._pointExtras = {};
      this._closed = false;
    }

    (0, _createClass2.default)(PerformanceLogger, [{
      key: "addTimespan",
      value: function addTimespan(key, startTime, endTime, startExtras, endExtras) {
        if (this._closed) {
          return;
        }

        if (this._timespans[key]) {
          return;
        }

        this._timespans[key] = {
          startTime: startTime,
          endTime: endTime,
          totalTime: endTime - (startTime || 0),
          startExtras: startExtras,
          endExtras: endExtras
        };
      }
    }, {
      key: "append",
      value: function append(performanceLogger) {
        this._timespans = (0, _extends2.default)({}, performanceLogger.getTimespans(), this._timespans);
        this._extras = (0, _extends2.default)({}, performanceLogger.getExtras(), this._extras);
        this._points = (0, _extends2.default)({}, performanceLogger.getPoints(), this._points);
        this._pointExtras = (0, _extends2.default)({}, performanceLogger.getPointExtras(), this._pointExtras);
      }
    }, {
      key: "clear",
      value: function clear() {
        this._timespans = {};
        this._extras = {};
        this._points = {};
      }
    }, {
      key: "clearCompleted",
      value: function clearCompleted() {
        for (var _key in this._timespans) {
          var _this$_timespans$_key;

          if (((_this$_timespans$_key = this._timespans[_key]) == null ? undefined : _this$_timespans$_key.totalTime) != null) {
            delete this._timespans[_key];
          }
        }

        this._extras = {};
        this._points = {};
      }
    }, {
      key: "close",
      value: function close() {
        this._closed = true;
      }
    }, {
      key: "currentTimestamp",
      value: function currentTimestamp() {
        return getCurrentTimestamp();
      }
    }, {
      key: "getExtras",
      value: function getExtras() {
        return this._extras;
      }
    }, {
      key: "getPoints",
      value: function getPoints() {
        return this._points;
      }
    }, {
      key: "getPointExtras",
      value: function getPointExtras() {
        return this._pointExtras;
      }
    }, {
      key: "getTimespans",
      value: function getTimespans() {
        return this._timespans;
      }
    }, {
      key: "hasTimespan",
      value: function hasTimespan(key) {
        return !!this._timespans[key];
      }
    }, {
      key: "isClosed",
      value: function isClosed() {
        return this._closed;
      }
    }, {
      key: "logEverything",
      value: function logEverything() {}
    }, {
      key: "markPoint",
      value: function markPoint(key) {
        var timestamp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentTimestamp();
        var extras = arguments.length > 2 ? arguments[2] : undefined;

        if (this._closed) {
          return;
        }

        if (this._points[key] != null) {
          return;
        }

        this._points[key] = timestamp;

        if (extras) {
          this._pointExtras[key] = extras;
        }
      }
    }, {
      key: "removeExtra",
      value: function removeExtra(key) {
        var value = this._extras[key];
        delete this._extras[key];
        return value;
      }
    }, {
      key: "setExtra",
      value: function setExtra(key, value) {
        if (this._closed) {
          return;
        }

        if (this._extras.hasOwnProperty(key)) {
          return;
        }

        this._extras[key] = value;
      }
    }, {
      key: "startTimespan",
      value: function startTimespan(key) {
        var timestamp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentTimestamp();
        var extras = arguments.length > 2 ? arguments[2] : undefined;

        if (this._closed) {
          return;
        }

        if (this._timespans[key]) {
          return;
        }

        this._timespans[key] = {
          startTime: timestamp,
          startExtras: extras
        };
        _cookies[key] = _$$_REQUIRE(_dependencyMap[4]).beginAsyncEvent(key);
      }
    }, {
      key: "stopTimespan",
      value: function stopTimespan(key) {
        var timestamp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentTimestamp();
        var extras = arguments.length > 2 ? arguments[2] : undefined;

        if (this._closed) {
          return;
        }

        var timespan = this._timespans[key];

        if (!timespan || timespan.startTime == null) {
          return;
        }

        if (timespan.endTime != null) {
          return;
        }

        timespan.endExtras = extras;
        timespan.endTime = timestamp;
        timespan.totalTime = timespan.endTime - (timespan.startTime || 0);

        if (_cookies[key] != null) {
          _$$_REQUIRE(_dependencyMap[4]).endAsyncEvent(key, _cookies[key]);

          delete _cookies[key];
        }
      }
    }]);
    return PerformanceLogger;
  }();

  function createPerformanceLogger() {
    return new PerformanceLogger();
  }
},98,[5,6,7,8,47]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  exports.byteLength = byteLength;
  exports.toByteArray = toByteArray;
  exports.fromByteArray = fromByteArray;
  var lookup = [];
  var revLookup = [];
  var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;
  var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';

  for (var i = 0, len = code.length; i < len; ++i) {
    lookup[i] = code[i];
    revLookup[code.charCodeAt(i)] = i;
  }

  revLookup['-'.charCodeAt(0)] = 62;
  revLookup['_'.charCodeAt(0)] = 63;

  function getLens(b64) {
    var len = b64.length;

    if (len % 4 > 0) {
      throw new Error('Invalid string. Length must be a multiple of 4');
    }

    var validLen = b64.indexOf('=');
    if (validLen === -1) validLen = len;
    var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;
    return [validLen, placeHoldersLen];
  }

  function byteLength(b64) {
    var lens = getLens(b64);
    var validLen = lens[0];
    var placeHoldersLen = lens[1];
    return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
  }

  function _byteLength(b64, validLen, placeHoldersLen) {
    return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
  }

  function toByteArray(b64) {
    var tmp;
    var lens = getLens(b64);
    var validLen = lens[0];
    var placeHoldersLen = lens[1];
    var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));
    var curByte = 0;
    var len = placeHoldersLen > 0 ? validLen - 4 : validLen;
    var i;

    for (i = 0; i < len; i += 4) {
      tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];
      arr[curByte++] = tmp >> 16 & 0xFF;
      arr[curByte++] = tmp >> 8 & 0xFF;
      arr[curByte++] = tmp & 0xFF;
    }

    if (placeHoldersLen === 2) {
      tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;
      arr[curByte++] = tmp & 0xFF;
    }

    if (placeHoldersLen === 1) {
      tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;
      arr[curByte++] = tmp >> 8 & 0xFF;
      arr[curByte++] = tmp & 0xFF;
    }

    return arr;
  }

  function tripletToBase64(num) {
    return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F];
  }

  function encodeChunk(uint8, start, end) {
    var tmp;
    var output = [];

    for (var i = start; i < end; i += 3) {
      tmp = (uint8[i] << 16 & 0xFF0000) + (uint8[i + 1] << 8 & 0xFF00) + (uint8[i + 2] & 0xFF);
      output.push(tripletToBase64(tmp));
    }

    return output.join('');
  }

  function fromByteArray(uint8) {
    var tmp;
    var len = uint8.length;
    var extraBytes = len % 3;
    var parts = [];
    var maxChunkLength = 16383;

    for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {
      parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength));
    }

    if (extraBytes === 1) {
      tmp = uint8[len - 1];
      parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 0x3F] + '==');
    } else if (extraBytes === 2) {
      tmp = (uint8[len - 2] << 8) + uint8[len - 1];
      parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 0x3F] + lookup[tmp << 2 & 0x3F] + '=');
    }

    return parts.join('');
  }
},99,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _RCTDeviceEventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _NativeNetworkingIOS = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _convertRequestBody = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var RCTNetworking = {
    addListener: function addListener(eventType, listener, context) {
      return _RCTDeviceEventEmitter.default.addListener(eventType, listener, context);
    },
    sendRequest: function sendRequest(method, trackingName, url, headers, data, responseType, incrementalUpdates, timeout, callback, withCredentials) {
      var body = (0, _convertRequestBody.default)(data);

      _NativeNetworkingIOS.default.sendRequest({
        method: method,
        url: url,
        data: (0, _extends2.default)({}, body, {
          trackingName: trackingName
        }),
        headers: headers,
        responseType: responseType,
        incrementalUpdates: incrementalUpdates,
        timeout: timeout,
        withCredentials: withCredentials
      }, callback);
    },
    abortRequest: function abortRequest(requestId) {
      _NativeNetworkingIOS.default.abortRequest(requestId);
    },
    clearCookies: function clearCookies(callback) {
      _NativeNetworkingIOS.default.clearCookies(callback);
    }
  };
  module.exports = RCTNetworking;
},100,[5,6,30,101,102]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.getEnforcing('Networking');

  exports.default = _default;
},101,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function convertRequestBody(body) {
    if (typeof body === 'string') {
      return {
        string: body
      };
    }

    if (body instanceof _$$_REQUIRE(_dependencyMap[0])) {
      return {
        blob: body.data
      };
    }

    if (body instanceof _$$_REQUIRE(_dependencyMap[1])) {
      return {
        formData: body.getParts()
      };
    }

    if (body instanceof ArrayBuffer || ArrayBuffer.isView(body)) {
      return {
        base64: _$$_REQUIRE(_dependencyMap[2])(body)
      };
    }

    return body;
  }

  module.exports = convertRequestBody;
},102,[94,103,104]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var FormData = function () {
    function FormData() {
      _$$_REQUIRE(_dependencyMap[0])(this, FormData);

      this._parts = [];
    }

    _$$_REQUIRE(_dependencyMap[1])(FormData, [{
      key: "append",
      value: function append(key, value) {
        this._parts.push([key, value]);
      }
    }, {
      key: "getParts",
      value: function getParts() {
        return this._parts.map(function (_ref) {
          var _ref2 = _$$_REQUIRE(_dependencyMap[2])(_ref, 2),
              name = _ref2[0],
              value = _ref2[1];

          var contentDisposition = 'form-data; name="' + name + '"';
          var headers = {
            'content-disposition': contentDisposition
          };

          if (typeof value === 'object' && value) {
            if (typeof value.name === 'string') {
              headers['content-disposition'] += '; filename="' + value.name + '"';
            }

            if (typeof value.type === 'string') {
              headers['content-type'] = value.type;
            }

            return _$$_REQUIRE(_dependencyMap[3])({}, value, {
              headers: headers,
              fieldName: name
            });
          }

          return {
            string: String(value),
            headers: headers,
            fieldName: name
          };
        });
      }
    }]);

    return FormData;
  }();

  module.exports = FormData;
},103,[7,8,41,6]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function binaryToBase64(data) {
    if (data instanceof ArrayBuffer) {
      data = new Uint8Array(data);
    }

    if (data instanceof Uint8Array) {
      return _$$_REQUIRE(_dependencyMap[0]).fromByteArray(data);
    }

    if (!ArrayBuffer.isView(data)) {
      throw new Error('data must be ArrayBuffer or typed array');
    }

    var _ref = data,
        buffer = _ref.buffer,
        byteOffset = _ref.byteOffset,
        byteLength = _ref.byteLength;
    return _$$_REQUIRE(_dependencyMap[0]).fromByteArray(new Uint8Array(buffer, byteOffset, byteLength));
  }

  module.exports = binaryToBase64;
},104,[99]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  _$$_REQUIRE(_dependencyMap[0]);

  module.exports = {
    fetch: fetch,
    Headers: Headers,
    Request: Request,
    Response: Response
  };
},105,[106]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  (function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : factory(global.WHATWGFetch = {});
  })(this, function (exports) {
    'use strict';

    var global = typeof globalThis !== 'undefined' && globalThis || typeof self !== 'undefined' && self || typeof global !== 'undefined' && global;
    var support = {
      searchParams: 'URLSearchParams' in global,
      iterable: 'Symbol' in global && 'iterator' in Symbol,
      blob: 'FileReader' in global && 'Blob' in global && function () {
        try {
          new Blob();
          return true;
        } catch (e) {
          return false;
        }
      }(),
      formData: 'FormData' in global,
      arrayBuffer: 'ArrayBuffer' in global
    };

    function isDataView(obj) {
      return obj && DataView.prototype.isPrototypeOf(obj);
    }

    if (support.arrayBuffer) {
      var viewClasses = ['[object Int8Array]', '[object Uint8Array]', '[object Uint8ClampedArray]', '[object Int16Array]', '[object Uint16Array]', '[object Int32Array]', '[object Uint32Array]', '[object Float32Array]', '[object Float64Array]'];

      var isArrayBufferView = ArrayBuffer.isView || function (obj) {
        return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1;
      };
    }

    function normalizeName(name) {
      if (typeof name !== 'string') {
        name = String(name);
      }

      if (/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {
        throw new TypeError('Invalid character in header field name: "' + name + '"');
      }

      return name.toLowerCase();
    }

    function normalizeValue(value) {
      if (typeof value !== 'string') {
        value = String(value);
      }

      return value;
    }

    function iteratorFor(items) {
      var iterator = {
        next: function next() {
          var value = items.shift();
          return {
            done: value === undefined,
            value: value
          };
        }
      };

      if (support.iterable) {
        iterator[Symbol.iterator] = function () {
          return iterator;
        };
      }

      return iterator;
    }

    function Headers(headers) {
      this.map = {};

      if (headers instanceof Headers) {
        headers.forEach(function (value, name) {
          this.append(name, value);
        }, this);
      } else if (Array.isArray(headers)) {
        headers.forEach(function (header) {
          this.append(header[0], header[1]);
        }, this);
      } else if (headers) {
        Object.getOwnPropertyNames(headers).forEach(function (name) {
          this.append(name, headers[name]);
        }, this);
      }
    }

    Headers.prototype.append = function (name, value) {
      name = normalizeName(name);
      value = normalizeValue(value);
      var oldValue = this.map[name];
      this.map[name] = oldValue ? oldValue + ', ' + value : value;
    };

    Headers.prototype['delete'] = function (name) {
      delete this.map[normalizeName(name)];
    };

    Headers.prototype.get = function (name) {
      name = normalizeName(name);
      return this.has(name) ? this.map[name] : null;
    };

    Headers.prototype.has = function (name) {
      return this.map.hasOwnProperty(normalizeName(name));
    };

    Headers.prototype.set = function (name, value) {
      this.map[normalizeName(name)] = normalizeValue(value);
    };

    Headers.prototype.forEach = function (callback, thisArg) {
      for (var name in this.map) {
        if (this.map.hasOwnProperty(name)) {
          callback.call(thisArg, this.map[name], name, this);
        }
      }
    };

    Headers.prototype.keys = function () {
      var items = [];
      this.forEach(function (value, name) {
        items.push(name);
      });
      return iteratorFor(items);
    };

    Headers.prototype.values = function () {
      var items = [];
      this.forEach(function (value) {
        items.push(value);
      });
      return iteratorFor(items);
    };

    Headers.prototype.entries = function () {
      var items = [];
      this.forEach(function (value, name) {
        items.push([name, value]);
      });
      return iteratorFor(items);
    };

    if (support.iterable) {
      Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
    }

    function consumed(body) {
      if (body.bodyUsed) {
        return Promise.reject(new TypeError('Already read'));
      }

      body.bodyUsed = true;
    }

    function fileReaderReady(reader) {
      return new Promise(function (resolve, reject) {
        reader.onload = function () {
          resolve(reader.result);
        };

        reader.onerror = function () {
          reject(reader.error);
        };
      });
    }

    function readBlobAsArrayBuffer(blob) {
      var reader = new FileReader();
      var promise = fileReaderReady(reader);
      reader.readAsArrayBuffer(blob);
      return promise;
    }

    function readBlobAsText(blob) {
      var reader = new FileReader();
      var promise = fileReaderReady(reader);
      reader.readAsText(blob);
      return promise;
    }

    function readArrayBufferAsText(buf) {
      var view = new Uint8Array(buf);
      var chars = new Array(view.length);

      for (var i = 0; i < view.length; i++) {
        chars[i] = String.fromCharCode(view[i]);
      }

      return chars.join('');
    }

    function bufferClone(buf) {
      if (buf.slice) {
        return buf.slice(0);
      } else {
        var view = new Uint8Array(buf.byteLength);
        view.set(new Uint8Array(buf));
        return view.buffer;
      }
    }

    function Body() {
      this.bodyUsed = false;

      this._initBody = function (body) {
        this.bodyUsed = this.bodyUsed;
        this._bodyInit = body;

        if (!body) {
          this._bodyText = '';
        } else if (typeof body === 'string') {
          this._bodyText = body;
        } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {
          this._bodyBlob = body;
        } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {
          this._bodyFormData = body;
        } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
          this._bodyText = body.toString();
        } else if (support.arrayBuffer && support.blob && isDataView(body)) {
          this._bodyArrayBuffer = bufferClone(body.buffer);
          this._bodyInit = new Blob([this._bodyArrayBuffer]);
        } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {
          this._bodyArrayBuffer = bufferClone(body);
        } else {
          this._bodyText = body = Object.prototype.toString.call(body);
        }

        if (!this.headers.get('content-type')) {
          if (typeof body === 'string') {
            this.headers.set('content-type', 'text/plain;charset=UTF-8');
          } else if (this._bodyBlob && this._bodyBlob.type) {
            this.headers.set('content-type', this._bodyBlob.type);
          } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
            this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
          }
        }
      };

      if (support.blob) {
        this.blob = function () {
          var rejected = consumed(this);

          if (rejected) {
            return rejected;
          }

          if (this._bodyBlob) {
            return Promise.resolve(this._bodyBlob);
          } else if (this._bodyArrayBuffer) {
            return Promise.resolve(new Blob([this._bodyArrayBuffer]));
          } else if (this._bodyFormData) {
            throw new Error('could not read FormData body as blob');
          } else {
            return Promise.resolve(new Blob([this._bodyText]));
          }
        };

        this.arrayBuffer = function () {
          if (this._bodyArrayBuffer) {
            var isConsumed = consumed(this);

            if (isConsumed) {
              return isConsumed;
            }

            if (ArrayBuffer.isView(this._bodyArrayBuffer)) {
              return Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset, this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength));
            } else {
              return Promise.resolve(this._bodyArrayBuffer);
            }
          } else {
            return this.blob().then(readBlobAsArrayBuffer);
          }
        };
      }

      this.text = function () {
        var rejected = consumed(this);

        if (rejected) {
          return rejected;
        }

        if (this._bodyBlob) {
          return readBlobAsText(this._bodyBlob);
        } else if (this._bodyArrayBuffer) {
          return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer));
        } else if (this._bodyFormData) {
          throw new Error('could not read FormData body as text');
        } else {
          return Promise.resolve(this._bodyText);
        }
      };

      if (support.formData) {
        this.formData = function () {
          return this.text().then(decode);
        };
      }

      this.json = function () {
        return this.text().then(JSON.parse);
      };

      return this;
    }

    var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];

    function normalizeMethod(method) {
      var upcased = method.toUpperCase();
      return methods.indexOf(upcased) > -1 ? upcased : method;
    }

    function Request(input, options) {
      if (!(this instanceof Request)) {
        throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');
      }

      options = options || {};
      var body = options.body;

      if (input instanceof Request) {
        if (input.bodyUsed) {
          throw new TypeError('Already read');
        }

        this.url = input.url;
        this.credentials = input.credentials;

        if (!options.headers) {
          this.headers = new Headers(input.headers);
        }

        this.method = input.method;
        this.mode = input.mode;
        this.signal = input.signal;

        if (!body && input._bodyInit != null) {
          body = input._bodyInit;
          input.bodyUsed = true;
        }
      } else {
        this.url = String(input);
      }

      this.credentials = options.credentials || this.credentials || 'same-origin';

      if (options.headers || !this.headers) {
        this.headers = new Headers(options.headers);
      }

      this.method = normalizeMethod(options.method || this.method || 'GET');
      this.mode = options.mode || this.mode || null;
      this.signal = options.signal || this.signal;
      this.referrer = null;

      if ((this.method === 'GET' || this.method === 'HEAD') && body) {
        throw new TypeError('Body not allowed for GET or HEAD requests');
      }

      this._initBody(body);

      if (this.method === 'GET' || this.method === 'HEAD') {
        if (options.cache === 'no-store' || options.cache === 'no-cache') {
          var reParamSearch = /([?&])_=[^&]*/;

          if (reParamSearch.test(this.url)) {
            this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime());
          } else {
            var reQueryString = /\?/;
            this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime();
          }
        }
      }
    }

    Request.prototype.clone = function () {
      return new Request(this, {
        body: this._bodyInit
      });
    };

    function decode(body) {
      var form = new FormData();
      body.trim().split('&').forEach(function (bytes) {
        if (bytes) {
          var split = bytes.split('=');
          var name = split.shift().replace(/\+/g, ' ');
          var value = split.join('=').replace(/\+/g, ' ');
          form.append(decodeURIComponent(name), decodeURIComponent(value));
        }
      });
      return form;
    }

    function parseHeaders(rawHeaders) {
      var headers = new Headers();
      var preProcessedHeaders = rawHeaders.replace(/\r?\n[\t ]+/g, ' ');
      preProcessedHeaders.split('\r').map(function (header) {
        return header.indexOf('\n') === 0 ? header.substr(1, header.length) : header;
      }).forEach(function (line) {
        var parts = line.split(':');
        var key = parts.shift().trim();

        if (key) {
          var value = parts.join(':').trim();
          headers.append(key, value);
        }
      });
      return headers;
    }

    Body.call(Request.prototype);

    function Response(bodyInit, options) {
      if (!(this instanceof Response)) {
        throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');
      }

      if (!options) {
        options = {};
      }

      this.type = 'default';
      this.status = options.status === undefined ? 200 : options.status;
      this.ok = this.status >= 200 && this.status < 300;
      this.statusText = options.statusText === undefined ? '' : '' + options.statusText;
      this.headers = new Headers(options.headers);
      this.url = options.url || '';

      this._initBody(bodyInit);
    }

    Body.call(Response.prototype);

    Response.prototype.clone = function () {
      return new Response(this._bodyInit, {
        status: this.status,
        statusText: this.statusText,
        headers: new Headers(this.headers),
        url: this.url
      });
    };

    Response.error = function () {
      var response = new Response(null, {
        status: 0,
        statusText: ''
      });
      response.type = 'error';
      return response;
    };

    var redirectStatuses = [301, 302, 303, 307, 308];

    Response.redirect = function (url, status) {
      if (redirectStatuses.indexOf(status) === -1) {
        throw new RangeError('Invalid status code');
      }

      return new Response(null, {
        status: status,
        headers: {
          location: url
        }
      });
    };

    exports.DOMException = global.DOMException;

    try {
      new exports.DOMException();
    } catch (err) {
      exports.DOMException = function (message, name) {
        this.message = message;
        this.name = name;
        var error = Error(message);
        this.stack = error.stack;
      };

      exports.DOMException.prototype = Object.create(Error.prototype);
      exports.DOMException.prototype.constructor = exports.DOMException;
    }

    function fetch(input, init) {
      return new Promise(function (resolve, reject) {
        var request = new Request(input, init);

        if (request.signal && request.signal.aborted) {
          return reject(new exports.DOMException('Aborted', 'AbortError'));
        }

        var xhr = new XMLHttpRequest();

        function abortXhr() {
          xhr.abort();
        }

        xhr.onload = function () {
          var options = {
            status: xhr.status,
            statusText: xhr.statusText,
            headers: parseHeaders(xhr.getAllResponseHeaders() || '')
          };
          options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');
          var body = 'response' in xhr ? xhr.response : xhr.responseText;
          setTimeout(function () {
            resolve(new Response(body, options));
          }, 0);
        };

        xhr.onerror = function () {
          setTimeout(function () {
            reject(new TypeError('Network request failed'));
          }, 0);
        };

        xhr.ontimeout = function () {
          setTimeout(function () {
            reject(new TypeError('Network request failed'));
          }, 0);
        };

        xhr.onabort = function () {
          setTimeout(function () {
            reject(new exports.DOMException('Aborted', 'AbortError'));
          }, 0);
        };

        function fixUrl(url) {
          try {
            return url === '' && global.location.href ? global.location.href : url;
          } catch (e) {
            return url;
          }
        }

        xhr.open(request.method, fixUrl(request.url), true);

        if (request.credentials === 'include') {
          xhr.withCredentials = true;
        } else if (request.credentials === 'omit') {
          xhr.withCredentials = false;
        }

        if ('responseType' in xhr) {
          if (support.blob) {
            xhr.responseType = 'blob';
          } else if (support.arrayBuffer && request.headers.get('Content-Type') && request.headers.get('Content-Type').indexOf('application/octet-stream') !== -1) {
            xhr.responseType = 'arraybuffer';
          }
        }

        if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers)) {
          Object.getOwnPropertyNames(init.headers).forEach(function (name) {
            xhr.setRequestHeader(name, normalizeValue(init.headers[name]));
          });
        } else {
          request.headers.forEach(function (value, name) {
            xhr.setRequestHeader(name, value);
          });
        }

        if (request.signal) {
          request.signal.addEventListener('abort', abortXhr);

          xhr.onreadystatechange = function () {
            if (xhr.readyState === 4) {
              request.signal.removeEventListener('abort', abortXhr);
            }
          };
        }

        xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);
      });
    }

    fetch.polyfill = true;

    if (!global.fetch) {
      global.fetch = fetch;
      global.Headers = Headers;
      global.Request = Request;
      global.Response = Response;
    }

    exports.Headers = Headers;
    exports.Request = Request;
    exports.Response = Response;
    exports.fetch = fetch;
    Object.defineProperty(exports, '__esModule', {
      value: true
    });
  });
},106,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _Blob = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _BlobManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _NativeEventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _binaryToBase = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _NativeWebSocketModule = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _WebSocketEvent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _base64Js = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _eventTargetShim = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var CONNECTING = 0;
  var OPEN = 1;
  var CLOSING = 2;
  var CLOSED = 3;
  var CLOSE_NORMAL = 1000;
  var WEBSOCKET_EVENTS = ['close', 'error', 'message', 'open'];
  var nextWebSocketId = 0;

  var WebSocket = function (_ref) {
    (0, _inherits2.default)(WebSocket, _ref);

    var _super = _createSuper(WebSocket);

    function WebSocket(url, protocols, options) {
      var _this;

      (0, _classCallCheck2.default)(this, WebSocket);
      _this = _super.call(this);
      _this.CONNECTING = CONNECTING;
      _this.OPEN = OPEN;
      _this.CLOSING = CLOSING;
      _this.CLOSED = CLOSED;
      _this.readyState = CONNECTING;
      _this.url = url;

      if (typeof protocols === 'string') {
        protocols = [protocols];
      }

      var _ref2 = options || {},
          _ref2$headers = _ref2.headers,
          headers = _ref2$headers === undefined ? {} : _ref2$headers,
          unrecognized = (0, _objectWithoutProperties2.default)(_ref2, ["headers"]);

      if (unrecognized && typeof unrecognized.origin === 'string') {
        console.warn('Specifying `origin` as a WebSocket connection option is deprecated. Include it under `headers` instead.');
        headers.origin = unrecognized.origin;
        delete unrecognized.origin;
      }

      if (Object.keys(unrecognized).length > 0) {
        console.warn('Unrecognized WebSocket connection option(s) `' + Object.keys(unrecognized).join('`, `') + '`. ' + 'Did you mean to put these under `headers`?');
      }

      if (!Array.isArray(protocols)) {
        protocols = null;
      }

      _this._eventEmitter = new _NativeEventEmitter.default(_Platform.default.OS !== 'ios' ? null : _NativeWebSocketModule.default);
      _this._socketId = nextWebSocketId++;

      _this._registerEvents();

      _NativeWebSocketModule.default.connect(url, protocols, {
        headers: headers
      }, _this._socketId);

      return _this;
    }

    (0, _createClass2.default)(WebSocket, [{
      key: "binaryType",
      get: function get() {
        return this._binaryType;
      },
      set: function set(binaryType) {
        if (binaryType !== 'blob' && binaryType !== 'arraybuffer') {
          throw new Error("binaryType must be either 'blob' or 'arraybuffer'");
        }

        if (this._binaryType === 'blob' || binaryType === 'blob') {
          (0, _invariant.default)(_BlobManager.default.isAvailable, 'Native module BlobModule is required for blob support');

          if (binaryType === 'blob') {
            _BlobManager.default.addWebSocketHandler(this._socketId);
          } else {
            _BlobManager.default.removeWebSocketHandler(this._socketId);
          }
        }

        this._binaryType = binaryType;
      }
    }, {
      key: "close",
      value: function close(code, reason) {
        if (this.readyState === this.CLOSING || this.readyState === this.CLOSED) {
          return;
        }

        this.readyState = this.CLOSING;

        this._close(code, reason);
      }
    }, {
      key: "send",
      value: function send(data) {
        if (this.readyState === this.CONNECTING) {
          throw new Error('INVALID_STATE_ERR');
        }

        if (data instanceof _Blob.default) {
          (0, _invariant.default)(_BlobManager.default.isAvailable, 'Native module BlobModule is required for blob support');

          _BlobManager.default.sendOverSocket(data, this._socketId);

          return;
        }

        if (typeof data === 'string') {
          _NativeWebSocketModule.default.send(data, this._socketId);

          return;
        }

        if (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) {
          _NativeWebSocketModule.default.sendBinary((0, _binaryToBase.default)(data), this._socketId);

          return;
        }

        throw new Error('Unsupported data type');
      }
    }, {
      key: "ping",
      value: function ping() {
        if (this.readyState === this.CONNECTING) {
          throw new Error('INVALID_STATE_ERR');
        }

        _NativeWebSocketModule.default.ping(this._socketId);
      }
    }, {
      key: "_close",
      value: function _close(code, reason) {
        var statusCode = typeof code === 'number' ? code : CLOSE_NORMAL;
        var closeReason = typeof reason === 'string' ? reason : '';

        _NativeWebSocketModule.default.close(statusCode, closeReason, this._socketId);

        if (_BlobManager.default.isAvailable && this._binaryType === 'blob') {
          _BlobManager.default.removeWebSocketHandler(this._socketId);
        }
      }
    }, {
      key: "_unregisterEvents",
      value: function _unregisterEvents() {
        this._subscriptions.forEach(function (e) {
          return e.remove();
        });

        this._subscriptions = [];
      }
    }, {
      key: "_registerEvents",
      value: function _registerEvents() {
        var _this2 = this;

        this._subscriptions = [this._eventEmitter.addListener('websocketMessage', function (ev) {
          if (ev.id !== _this2._socketId) {
            return;
          }

          var data = ev.data;

          switch (ev.type) {
            case 'binary':
              data = _base64Js.default.toByteArray(ev.data).buffer;
              break;

            case 'blob':
              data = _BlobManager.default.createFromOptions(ev.data);
              break;
          }

          _this2.dispatchEvent(new _WebSocketEvent.default('message', {
            data: data
          }));
        }), this._eventEmitter.addListener('websocketOpen', function (ev) {
          if (ev.id !== _this2._socketId) {
            return;
          }

          _this2.readyState = _this2.OPEN;
          _this2.protocol = ev.protocol;

          _this2.dispatchEvent(new _WebSocketEvent.default('open'));
        }), this._eventEmitter.addListener('websocketClosed', function (ev) {
          if (ev.id !== _this2._socketId) {
            return;
          }

          _this2.readyState = _this2.CLOSED;

          _this2.dispatchEvent(new _WebSocketEvent.default('close', {
            code: ev.code,
            reason: ev.reason
          }));

          _this2._unregisterEvents();

          _this2.close();
        }), this._eventEmitter.addListener('websocketFailed', function (ev) {
          if (ev.id !== _this2._socketId) {
            return;
          }

          _this2.readyState = _this2.CLOSED;

          _this2.dispatchEvent(new _WebSocketEvent.default('error', {
            message: ev.message
          }));

          _this2.dispatchEvent(new _WebSocketEvent.default('close', {
            message: ev.message
          }));

          _this2._unregisterEvents();

          _this2.close();
        })];
      }
    }]);
    return WebSocket;
  }(_eventTargetShim.default.apply(undefined, WEBSOCKET_EVENTS));

  WebSocket.CONNECTING = CONNECTING;
  WebSocket.OPEN = OPEN;
  WebSocket.CLOSING = CLOSING;
  WebSocket.CLOSED = CLOSED;
  module.exports = WebSocket;
},107,[5,108,7,8,12,14,16,94,92,110,104,37,111,112,99,96,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _objectWithoutProperties(source, excluded) {
    if (source == null) return {};

    var target = _$$_REQUIRE(_dependencyMap[0])(source, excluded);

    var key, i;

    if (Object.getOwnPropertySymbols) {
      var sourceSymbolKeys = Object.getOwnPropertySymbols(source);

      for (i = 0; i < sourceSymbolKeys.length; i++) {
        key = sourceSymbolKeys[i];
        if (excluded.indexOf(key) >= 0) continue;
        if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
        target[key] = source[key];
      }
    }

    return target;
  }

  module.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports["default"] = module.exports;
},108,[109]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _objectWithoutPropertiesLoose(source, excluded) {
    if (source == null) return {};
    var target = {};
    var sourceKeys = Object.keys(source);
    var key, i;

    for (i = 0; i < sourceKeys.length; i++) {
      key = sourceKeys[i];
      if (excluded.indexOf(key) >= 0) continue;
      target[key] = source[key];
    }

    return target;
  }

  module.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
},109,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _RCTDeviceEventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var NativeEventEmitter = function () {
    function NativeEventEmitter(nativeModule) {
      (0, _classCallCheck2.default)(this, NativeEventEmitter);

      if (_Platform.default.OS === 'ios') {
        (0, _invariant.default)(nativeModule != null, '`new NativeEventEmitter()` requires a non-null argument.');
      }

      var hasAddListener = !!nativeModule && typeof nativeModule.addListener === 'function';
      var hasRemoveListeners = !!nativeModule && typeof nativeModule.removeListeners === 'function';

      if (nativeModule && hasAddListener && hasRemoveListeners) {
        this._nativeModule = nativeModule;
      } else if (nativeModule != null) {
        if (!hasAddListener) {
          console.warn('`new NativeEventEmitter()` was called with a non-null argument without the required `addListener` method.');
        }

        if (!hasRemoveListeners) {
          console.warn('`new NativeEventEmitter()` was called with a non-null argument without the required `removeListeners` method.');
        }
      }
    }

    (0, _createClass2.default)(NativeEventEmitter, [{
      key: "addListener",
      value: function addListener(eventType, listener, context) {
        var _this$_nativeModule,
            _this = this;

        (_this$_nativeModule = this._nativeModule) == null ? undefined : _this$_nativeModule.addListener(eventType);

        var subscription = _RCTDeviceEventEmitter.default.addListener(eventType, listener, context);

        return {
          remove: function remove() {
            if (subscription != null) {
              var _this$_nativeModule2;

              (_this$_nativeModule2 = _this._nativeModule) == null ? undefined : _this$_nativeModule2.removeListeners(1);
              subscription.remove();
              subscription = null;
            }
          }
        };
      }
    }, {
      key: "removeListener",
      value: function removeListener(eventType, listener) {
        var _this$_nativeModule3;

        (_this$_nativeModule3 = this._nativeModule) == null ? undefined : _this$_nativeModule3.removeListeners(1);

        _RCTDeviceEventEmitter.default.removeListener(eventType, listener);
      }
    }, {
      key: "emit",
      value: function emit(eventType) {
        for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
          args[_key - 1] = arguments[_key];
        }

        _RCTDeviceEventEmitter.default.emit.apply(_RCTDeviceEventEmitter.default, [eventType].concat(args));
      }
    }, {
      key: "removeAllListeners",
      value: function removeAllListeners(eventType) {
        var _this$_nativeModule4;

        (0, _invariant.default)(eventType != null, '`NativeEventEmitter.removeAllListener()` requires a non-null argument.');
        (_this$_nativeModule4 = this._nativeModule) == null ? undefined : _this$_nativeModule4.removeListeners(this.listenerCount(eventType));

        _RCTDeviceEventEmitter.default.removeAllListeners(eventType);
      }
    }, {
      key: "listenerCount",
      value: function listenerCount(eventType) {
        return _RCTDeviceEventEmitter.default.listenerCount(eventType);
      }
    }]);
    return NativeEventEmitter;
  }();

  exports.default = NativeEventEmitter;
},110,[5,7,8,37,30,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.getEnforcing('WebSocketModule');

  exports.default = _default;
},111,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var WebSocketEvent = function WebSocketEvent(type, eventInitDict) {
    _$$_REQUIRE(_dependencyMap[0])(this, WebSocketEvent);

    this.type = type.toString();

    _$$_REQUIRE(_dependencyMap[1])(this, eventInitDict);
  };

  module.exports = WebSocketEvent;
},112,[7,6]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var File = function (_Blob) {
    _$$_REQUIRE(_dependencyMap[2])(File, _Blob);

    var _super = _createSuper(File);

    function File(parts, name, options) {
      var _this;

      _$$_REQUIRE(_dependencyMap[3])(this, File);

      _$$_REQUIRE(_dependencyMap[4])(parts != null && name != null, 'Failed to construct `File`: Must pass both `parts` and `name` arguments.');

      _this = _super.call(this, parts, options);
      _this.data.name = name;
      return _this;
    }

    _$$_REQUIRE(_dependencyMap[5])(File, [{
      key: "name",
      get: function get() {
        _$$_REQUIRE(_dependencyMap[4])(this.data.name != null, 'Files must have a name set.');

        return this.data.name;
      }
    }, {
      key: "lastModified",
      get: function get() {
        return this.data.lastModified || 0;
      }
    }]);

    return File;
  }(_$$_REQUIRE(_dependencyMap[6]));

  module.exports = File;
},113,[16,14,12,7,36,8,94]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _NativeFileReaderModule = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var READER_EVENTS = ['abort', 'error', 'load', 'loadstart', 'loadend', 'progress'];
  var EMPTY = 0;
  var LOADING = 1;
  var DONE = 2;

  var FileReader = function (_ref) {
    (0, _inherits2.default)(FileReader, _ref);

    var _super = _createSuper(FileReader);

    function FileReader() {
      var _this;

      (0, _classCallCheck2.default)(this, FileReader);
      _this = _super.call(this);
      _this.EMPTY = EMPTY;
      _this.LOADING = LOADING;
      _this.DONE = DONE;
      _this._aborted = false;
      _this._subscriptions = [];

      _this._reset();

      return _this;
    }

    (0, _createClass2.default)(FileReader, [{
      key: "_reset",
      value: function _reset() {
        this._readyState = EMPTY;
        this._error = null;
        this._result = null;
      }
    }, {
      key: "_clearSubscriptions",
      value: function _clearSubscriptions() {
        this._subscriptions.forEach(function (sub) {
          return sub.remove();
        });

        this._subscriptions = [];
      }
    }, {
      key: "_setReadyState",
      value: function _setReadyState(newState) {
        this._readyState = newState;
        this.dispatchEvent({
          type: 'readystatechange'
        });

        if (newState === DONE) {
          if (this._aborted) {
            this.dispatchEvent({
              type: 'abort'
            });
          } else if (this._error) {
            this.dispatchEvent({
              type: 'error'
            });
          } else {
            this.dispatchEvent({
              type: 'load'
            });
          }

          this.dispatchEvent({
            type: 'loadend'
          });
        }
      }
    }, {
      key: "readAsArrayBuffer",
      value: function readAsArrayBuffer() {
        throw new Error('FileReader.readAsArrayBuffer is not implemented');
      }
    }, {
      key: "readAsDataURL",
      value: function readAsDataURL(blob) {
        var _this2 = this;

        this._aborted = false;

        if (blob == null) {
          throw new TypeError("Failed to execute 'readAsDataURL' on 'FileReader': parameter 1 is not of type 'Blob'");
        }

        _NativeFileReaderModule.default.readAsDataURL(blob.data).then(function (text) {
          if (_this2._aborted) {
            return;
          }

          _this2._result = text;

          _this2._setReadyState(DONE);
        }, function (error) {
          if (_this2._aborted) {
            return;
          }

          _this2._error = error;

          _this2._setReadyState(DONE);
        });
      }
    }, {
      key: "readAsText",
      value: function readAsText(blob) {
        var _this3 = this;

        var encoding = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'UTF-8';
        this._aborted = false;

        if (blob == null) {
          throw new TypeError("Failed to execute 'readAsText' on 'FileReader': parameter 1 is not of type 'Blob'");
        }

        _NativeFileReaderModule.default.readAsText(blob.data, encoding).then(function (text) {
          if (_this3._aborted) {
            return;
          }

          _this3._result = text;

          _this3._setReadyState(DONE);
        }, function (error) {
          if (_this3._aborted) {
            return;
          }

          _this3._error = error;

          _this3._setReadyState(DONE);
        });
      }
    }, {
      key: "abort",
      value: function abort() {
        this._aborted = true;

        if (this._readyState !== EMPTY && this._readyState !== DONE) {
          this._reset();

          this._setReadyState(DONE);
        }

        this._reset();
      }
    }, {
      key: "readyState",
      get: function get() {
        return this._readyState;
      }
    }, {
      key: "error",
      get: function get() {
        return this._error;
      }
    }, {
      key: "result",
      get: function get() {
        return this._result;
      }
    }]);
    return FileReader;
  }(_$$_REQUIRE(_dependencyMap[7]).apply(undefined, READER_EVENTS));

  FileReader.EMPTY = EMPTY;
  FileReader.LOADING = LOADING;
  FileReader.DONE = DONE;
  module.exports = FileReader;
},114,[5,7,8,12,14,16,115,96]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.getEnforcing('FileReaderModule');

  exports.default = _default;
},115,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.URL = exports.URLSearchParams = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _NativeBlobModule = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _Symbol$iterator;

  var BLOB_URL_PREFIX = null;

  if (_NativeBlobModule.default && typeof _NativeBlobModule.default.getConstants().BLOB_URI_SCHEME === 'string') {
    var constants = _NativeBlobModule.default.getConstants();

    BLOB_URL_PREFIX = constants.BLOB_URI_SCHEME + ':';

    if (typeof constants.BLOB_URI_HOST === 'string') {
      BLOB_URL_PREFIX += "//" + constants.BLOB_URI_HOST + "/";
    }
  }

  _Symbol$iterator = Symbol.iterator;

  var URLSearchParams = function () {
    function URLSearchParams(params) {
      var _this = this;

      (0, _classCallCheck2.default)(this, URLSearchParams);
      this._searchParams = [];

      if (typeof params === 'object') {
        Object.keys(params).forEach(function (key) {
          return _this.append(key, params[key]);
        });
      }
    }

    (0, _createClass2.default)(URLSearchParams, [{
      key: "append",
      value: function append(key, value) {
        this._searchParams.push([key, value]);
      }
    }, {
      key: "delete",
      value: function _delete(name) {
        throw new Error('URLSearchParams.delete is not implemented');
      }
    }, {
      key: "get",
      value: function get(name) {
        throw new Error('URLSearchParams.get is not implemented');
      }
    }, {
      key: "getAll",
      value: function getAll(name) {
        throw new Error('URLSearchParams.getAll is not implemented');
      }
    }, {
      key: "has",
      value: function has(name) {
        throw new Error('URLSearchParams.has is not implemented');
      }
    }, {
      key: "set",
      value: function set(name, value) {
        throw new Error('URLSearchParams.set is not implemented');
      }
    }, {
      key: "sort",
      value: function sort() {
        throw new Error('URLSearchParams.sort is not implemented');
      }
    }, {
      key: _Symbol$iterator,
      value: function value() {
        return this._searchParams[Symbol.iterator]();
      }
    }, {
      key: "toString",
      value: function toString() {
        if (this._searchParams.length === 0) {
          return '';
        }

        var last = this._searchParams.length - 1;
        return this._searchParams.reduce(function (acc, curr, index) {
          return acc + curr.join('=') + (index === last ? '' : '&');
        }, '');
      }
    }]);
    return URLSearchParams;
  }();

  exports.URLSearchParams = URLSearchParams;

  function validateBaseUrl(url) {
    return /^(?:(?:(?:https?|ftp):)?\/\/)(?:(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)*(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/.test(url);
  }

  var URL = function () {
    function URL(url, base) {
      (0, _classCallCheck2.default)(this, URL);
      this._searchParamsInstance = null;
      var baseUrl = null;

      if (!base || validateBaseUrl(url)) {
        this._url = url;

        if (!this._url.endsWith('/')) {
          this._url += '/';
        }
      } else {
        if (typeof base === 'string') {
          baseUrl = base;

          if (!validateBaseUrl(baseUrl)) {
            throw new TypeError("Invalid base URL: " + baseUrl);
          }
        } else if (typeof base === 'object') {
          baseUrl = base.toString();
        }

        if (baseUrl.endsWith('/')) {
          baseUrl = baseUrl.slice(0, baseUrl.length - 1);
        }

        if (!url.startsWith('/')) {
          url = "/" + url;
        }

        if (baseUrl.endsWith(url)) {
          url = '';
        }

        this._url = "" + baseUrl + url;
      }
    }

    (0, _createClass2.default)(URL, [{
      key: "hash",
      get: function get() {
        throw new Error('URL.hash is not implemented');
      }
    }, {
      key: "host",
      get: function get() {
        throw new Error('URL.host is not implemented');
      }
    }, {
      key: "hostname",
      get: function get() {
        throw new Error('URL.hostname is not implemented');
      }
    }, {
      key: "href",
      get: function get() {
        return this.toString();
      }
    }, {
      key: "origin",
      get: function get() {
        throw new Error('URL.origin is not implemented');
      }
    }, {
      key: "password",
      get: function get() {
        throw new Error('URL.password is not implemented');
      }
    }, {
      key: "pathname",
      get: function get() {
        throw new Error('URL.pathname not implemented');
      }
    }, {
      key: "port",
      get: function get() {
        throw new Error('URL.port is not implemented');
      }
    }, {
      key: "protocol",
      get: function get() {
        throw new Error('URL.protocol is not implemented');
      }
    }, {
      key: "search",
      get: function get() {
        throw new Error('URL.search is not implemented');
      }
    }, {
      key: "searchParams",
      get: function get() {
        if (this._searchParamsInstance == null) {
          this._searchParamsInstance = new URLSearchParams();
        }

        return this._searchParamsInstance;
      }
    }, {
      key: "toJSON",
      value: function toJSON() {
        return this.toString();
      }
    }, {
      key: "toString",
      value: function toString() {
        if (this._searchParamsInstance === null) {
          return this._url;
        }

        var separator = this._url.indexOf('?') > -1 ? '&' : '?';
        return this._url + separator + this._searchParamsInstance.toString();
      }
    }, {
      key: "username",
      get: function get() {
        throw new Error('URL.username is not implemented');
      }
    }], [{
      key: "createObjectURL",
      value: function createObjectURL(blob) {
        if (BLOB_URL_PREFIX === null) {
          throw new Error('Cannot create URL for blob!');
        }

        return "" + BLOB_URL_PREFIX + blob.data.blobId + "?offset=" + blob.data.offset + "&size=" + blob.size;
      }
    }, {
      key: "revokeObjectURL",
      value: function revokeObjectURL(url) {}
    }]);
    return URL;
  }();

  exports.URL = URL;
},116,[5,7,8,93]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  Object.defineProperty(exports, '__esModule', {
    value: true
  });

  var AbortSignal = function (_eventTargetShim$Even) {
    _$$_REQUIRE(_dependencyMap[2])(AbortSignal, _eventTargetShim$Even);

    var _super = _createSuper(AbortSignal);

    function AbortSignal() {
      var _this;

      _$$_REQUIRE(_dependencyMap[3])(this, AbortSignal);

      _this = _super.call(this);
      throw new TypeError("AbortSignal cannot be constructed directly");
      return _this;
    }

    _$$_REQUIRE(_dependencyMap[4])(AbortSignal, [{
      key: "aborted",
      get: function get() {
        var aborted = abortedFlags.get(this);

        if (typeof aborted !== "boolean") {
          throw new TypeError("Expected 'this' to be an 'AbortSignal' object, but got " + (this === null ? "null" : typeof this));
        }

        return aborted;
      }
    }]);

    return AbortSignal;
  }(_$$_REQUIRE(_dependencyMap[5]).EventTarget);

  _$$_REQUIRE(_dependencyMap[5]).defineEventAttribute(AbortSignal.prototype, "abort");

  function createAbortSignal() {
    var signal = Object.create(AbortSignal.prototype);

    _$$_REQUIRE(_dependencyMap[5]).EventTarget.call(signal);

    abortedFlags.set(signal, false);
    return signal;
  }

  function abortSignal(signal) {
    if (abortedFlags.get(signal) !== false) {
      return;
    }

    abortedFlags.set(signal, true);
    signal.dispatchEvent({
      type: "abort"
    });
  }

  var abortedFlags = new WeakMap();
  Object.defineProperties(AbortSignal.prototype, {
    aborted: {
      enumerable: true
    }
  });

  if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
    Object.defineProperty(AbortSignal.prototype, Symbol.toStringTag, {
      configurable: true,
      value: "AbortSignal"
    });
  }

  var AbortController = function () {
    function AbortController() {
      _$$_REQUIRE(_dependencyMap[3])(this, AbortController);

      signals.set(this, createAbortSignal());
    }

    _$$_REQUIRE(_dependencyMap[4])(AbortController, [{
      key: "signal",
      get: function get() {
        return getSignal(this);
      }
    }, {
      key: "abort",
      value: function abort() {
        abortSignal(getSignal(this));
      }
    }]);

    return AbortController;
  }();

  var signals = new WeakMap();

  function getSignal(controller) {
    var signal = signals.get(controller);

    if (signal == null) {
      throw new TypeError("Expected 'this' to be an 'AbortController' object, but got " + (controller === null ? "null" : typeof controller));
    }

    return signal;
  }

  Object.defineProperties(AbortController.prototype, {
    signal: {
      enumerable: true
    },
    abort: {
      enumerable: true
    }
  });

  if (typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol") {
    Object.defineProperty(AbortController.prototype, Symbol.toStringTag, {
      configurable: true,
      value: "AbortController"
    });
  }

  exports.AbortController = AbortController;
  exports.AbortSignal = AbortSignal;
  exports.default = AbortController;
  module.exports = AbortController;
  module.exports.AbortController = module.exports["default"] = AbortController;
  module.exports.AbortSignal = AbortSignal;
},117,[16,14,12,7,8,96]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  if (!global.alert) {
    global.alert = function (text) {
      _$$_REQUIRE(_dependencyMap[0]).alert('Alert', '' + text);
    };
  }
},118,[119]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _RCTAlertManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var Alert = function () {
    function Alert() {
      (0, _classCallCheck2.default)(this, Alert);
    }

    (0, _createClass2.default)(Alert, null, [{
      key: "alert",
      value: function alert(title, message, buttons, options) {
        if (_Platform.default.OS === 'ios') {
          Alert.prompt(title, message, buttons, 'default');
        } else if (_Platform.default.OS === 'android') {
          var NativeDialogManagerAndroid = _$$_REQUIRE(_dependencyMap[5]).default;

          if (!NativeDialogManagerAndroid) {
            return;
          }

          var constants = NativeDialogManagerAndroid.getConstants();
          var config = {
            title: title || '',
            message: message || '',
            cancelable: false
          };

          if (options && options.cancelable) {
            config.cancelable = options.cancelable;
          }

          var defaultPositiveText = 'OK';
          var validButtons = buttons ? buttons.slice(0, 3) : [{
            text: defaultPositiveText
          }];
          var buttonPositive = validButtons.pop();
          var buttonNegative = validButtons.pop();
          var buttonNeutral = validButtons.pop();

          if (buttonNeutral) {
            config.buttonNeutral = buttonNeutral.text || '';
          }

          if (buttonNegative) {
            config.buttonNegative = buttonNegative.text || '';
          }

          if (buttonPositive) {
            config.buttonPositive = buttonPositive.text || defaultPositiveText;
          }

          var onAction = function onAction(action, buttonKey) {
            if (action === constants.buttonClicked) {
              if (buttonKey === constants.buttonNeutral) {
                buttonNeutral.onPress && buttonNeutral.onPress();
              } else if (buttonKey === constants.buttonNegative) {
                buttonNegative.onPress && buttonNegative.onPress();
              } else if (buttonKey === constants.buttonPositive) {
                buttonPositive.onPress && buttonPositive.onPress();
              }
            } else if (action === constants.dismissed) {
              options && options.onDismiss && options.onDismiss();
            }
          };

          var onError = function onError(errorMessage) {
            return console.warn(errorMessage);
          };

          NativeDialogManagerAndroid.showAlert(config, onError, onAction);
        }
      }
    }, {
      key: "prompt",
      value: function prompt(title, message, callbackOrButtons) {
        var type = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'plain-text';
        var defaultValue = arguments.length > 4 ? arguments[4] : undefined;
        var keyboardType = arguments.length > 5 ? arguments[5] : undefined;

        if (_Platform.default.OS === 'ios') {
          var callbacks = [];
          var buttons = [];
          var cancelButtonKey;
          var destructiveButtonKey;

          if (typeof callbackOrButtons === 'function') {
            callbacks = [callbackOrButtons];
          } else if (Array.isArray(callbackOrButtons)) {
            callbackOrButtons.forEach(function (btn, index) {
              callbacks[index] = btn.onPress;

              if (btn.style === 'cancel') {
                cancelButtonKey = String(index);
              } else if (btn.style === 'destructive') {
                destructiveButtonKey = String(index);
              }

              if (btn.text || index < (callbackOrButtons || []).length - 1) {
                var btnDef = {};
                btnDef[index] = btn.text || '';
                buttons.push(btnDef);
              }
            });
          }

          _RCTAlertManager.default.alertWithArgs({
            title: title || '',
            message: message || undefined,
            buttons: buttons,
            type: type || undefined,
            defaultValue: defaultValue,
            cancelButtonKey: cancelButtonKey,
            destructiveButtonKey: destructiveButtonKey,
            keyboardType: keyboardType
          }, function (id, value) {
            var cb = callbacks[id];
            cb && cb(value);
          });
        }
      }
    }]);
    return Alert;
  }();

  module.exports = Alert;
},119,[5,7,8,37,120,122]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _NativeAlertManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  module.exports = {
    alertWithArgs: function alertWithArgs(args, callback) {
      if (_NativeAlertManager.default == null) {
        return;
      }

      _NativeAlertManager.default.alertWithArgs(args, callback);
    }
  };
},120,[5,121]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('AlertManager');

  exports.default = _default;
},121,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('DialogManagerAndroid');

  exports.default = _default;
},122,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var navigator = global.navigator;

  if (navigator === undefined) {
    global.navigator = navigator = {};
  }

  _$$_REQUIRE(_dependencyMap[0]).polyfillObjectProperty(navigator, 'product', function () {
    return 'ReactNative';
  });
},123,[72]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var registerModule;

  if (global.RN$Bridgeless === true && global.RN$registerCallableModule) {
    registerModule = global.RN$registerCallableModule;
  } else {
    var BatchedBridge = _$$_REQUIRE(_dependencyMap[0]);

    registerModule = function registerModule(moduleName, factory) {
      return BatchedBridge.registerLazyCallableModule(moduleName, factory);
    };
  }

  registerModule('Systrace', function () {
    return _$$_REQUIRE(_dependencyMap[1]);
  });
  registerModule('JSTimers', function () {
    return _$$_REQUIRE(_dependencyMap[2]);
  });
  registerModule('HeapCapture', function () {
    return _$$_REQUIRE(_dependencyMap[3]);
  });
  registerModule('SamplingProfiler', function () {
    return _$$_REQUIRE(_dependencyMap[4]);
  });
  registerModule('RCTLog', function () {
    return _$$_REQUIRE(_dependencyMap[5]);
  });
  registerModule('RCTDeviceEventEmitter', function () {
    return _$$_REQUIRE(_dependencyMap[6]).default;
  });
  registerModule('RCTNativeAppEventEmitter', function () {
    return _$$_REQUIRE(_dependencyMap[7]);
  });
  registerModule('GlobalPerformanceLogger', function () {
    return _$$_REQUIRE(_dependencyMap[8]);
  });
  registerModule('JSDevSupportModule', function () {
    return _$$_REQUIRE(_dependencyMap[9]);
  });
  {
    registerModule('HMRClient', function () {
      return _$$_REQUIRE(_dependencyMap[10]);
    });
  }
},124,[45,47,84,125,127,129,30,130,97,131,133]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _NativeJSCHeapCapture = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var HeapCapture = {
    captureHeap: function captureHeap(path) {
      var error = null;

      try {
        global.nativeCaptureHeap(path);
      } catch (e) {
        error = e.toString();
      }

      if (_NativeJSCHeapCapture.default) {
        _NativeJSCHeapCapture.default.captureComplete(path, error);
      }
    }
  };
  module.exports = HeapCapture;
},125,[5,126]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('JSCHeapCapture');

  exports.default = _default;
},126,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var SamplingProfiler = {
    poke: function poke(token) {
      var error = null;
      var result = null;

      try {
        result = global.pokeSamplingProfiler();

        if (result === null) {} else {}
      } catch (e) {
        error = e.toString();
      }

      var NativeJSCSamplingProfiler = _$$_REQUIRE(_dependencyMap[0]).default;

      if (NativeJSCSamplingProfiler) {
        NativeJSCSamplingProfiler.operationComplete(token, result, error);
      }
    }
  };
  module.exports = SamplingProfiler;
},127,[128]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('JSCSamplingProfiler');

  exports.default = _default;
},128,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var levelsMap = {
    log: 'log',
    info: 'info',
    warn: 'warn',
    error: 'error',
    fatal: 'error'
  };
  var warningHandler = null;
  var RCTLog = {
    logIfNoNativeHook: function logIfNoNativeHook(level) {
      for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
        args[_key - 1] = arguments[_key];
      }

      if (typeof global.nativeLoggingHook === 'undefined') {
        RCTLog.logToConsole.apply(RCTLog, [level].concat(args));
      } else {
        if (warningHandler && level === 'warn') {
          warningHandler.apply(undefined, args);
        }
      }
    },
    logToConsole: function logToConsole(level) {
      var logFn = levelsMap[level];

      _$$_REQUIRE(_dependencyMap[0])(logFn, 'Level "' + level + '" not one of ' + Object.keys(levelsMap).toString());

      for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
        args[_key2 - 1] = arguments[_key2];
      }
    },
    setWarningHandler: function setWarningHandler(handler) {
      warningHandler = handler;
    }
  };
  module.exports = RCTLog;
},129,[36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _RCTDeviceEventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var RCTNativeAppEventEmitter = _RCTDeviceEventEmitter.default;
  module.exports = RCTNativeAppEventEmitter;
},130,[5,30]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _NativeJSDevSupport = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var JSDevSupportModule = {
    getJSHierarchy: function getJSHierarchy(tag) {
      if (_NativeJSDevSupport.default) {
        var constants = _NativeJSDevSupport.default.getConstants();

        try {
          var computeComponentStackForErrorReporting = _$$_REQUIRE(_dependencyMap[2]).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.computeComponentStackForErrorReporting;

          var componentStack = computeComponentStackForErrorReporting(tag);

          if (!componentStack) {
            _NativeJSDevSupport.default.onFailure(constants.ERROR_CODE_VIEW_NOT_FOUND, "Component stack doesn't exist for tag " + tag);
          } else {
            _NativeJSDevSupport.default.onSuccess(componentStack);
          }
        } catch (e) {
          _NativeJSDevSupport.default.onFailure(constants.ERROR_CODE_EXCEPTION, e.message);
        }
      }
    }
  };
  module.exports = JSDevSupportModule;
},131,[5,132,54]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('JSDevSupport');

  exports.default = _default;
},132,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var HMRClientProdShim = {
    setup: function setup() {},
    enable: function enable() {
      console.error("Fast Refresh is disabled in JavaScript bundles built in production mode. Did you forget to run Metro?");
    },
    disable: function disable() {},
    registerBundle: function registerBundle() {},
    log: function log() {}
  };
  module.exports = HMRClientProdShim;
},133,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function __fetchSegment(segmentId, options, callback) {
    var SegmentFetcher = _$$_REQUIRE(_dependencyMap[0]).default;

    SegmentFetcher.fetchSegment(segmentId, options, function (errorObject) {
      if (errorObject) {
        var error = new Error(errorObject.message);
        error.code = errorObject.code;
        callback(error);
      }

      callback(null);
    });
  }

  global.__fetchSegment = __fetchSegment;

  function __getSegment(segmentId, options, callback) {
    var SegmentFetcher = _$$_REQUIRE(_dependencyMap[0]).default;

    if (!SegmentFetcher.getSegment) {
      throw new Error('SegmentFetcher.getSegment must be defined');
    }

    SegmentFetcher.getSegment(segmentId, options, function (errorObject, path) {
      if (errorObject) {
        var error = new Error(errorObject.message);
        error.code = errorObject.code;
        callback(error);
      }

      callback(null, path);
    });
  }

  global.__getSegment = __getSegment;
},134,[135]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.getEnforcing('SegmentFetcher');

  exports.default = _default;
},135,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    get BatchedBridge() {
      return _$$_REQUIRE(_dependencyMap[0]);
    },

    get ExceptionsManager() {
      return _$$_REQUIRE(_dependencyMap[1]);
    },

    get Platform() {
      return _$$_REQUIRE(_dependencyMap[2]);
    },

    get RCTEventEmitter() {
      return _$$_REQUIRE(_dependencyMap[3]);
    },

    get ReactNativeViewConfigRegistry() {
      return _$$_REQUIRE(_dependencyMap[4]);
    },

    get TextInputState() {
      return _$$_REQUIRE(_dependencyMap[5]);
    },

    get UIManager() {
      return _$$_REQUIRE(_dependencyMap[6]);
    },

    get deepDiffer() {
      return _$$_REQUIRE(_dependencyMap[7]);
    },

    get deepFreezeAndThrowOnMutationInDev() {
      return _$$_REQUIRE(_dependencyMap[8]);
    },

    get flattenStyle() {
      return _$$_REQUIRE(_dependencyMap[9]);
    },

    get ReactFiberErrorDialog() {
      return _$$_REQUIRE(_dependencyMap[10]).default;
    },

    get legacySendAccessibilityEvent() {
      return _$$_REQUIRE(_dependencyMap[11]);
    }

  };
},136,[45,62,37,137,138,139,155,176,177,178,179,53]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var RCTEventEmitter = {
    register: function register(eventEmitter) {
      if (global.RN$Bridgeless) {
        global.RN$registerCallableModule('RCTEventEmitter', function () {
          return eventEmitter;
        });
      } else {
        _$$_REQUIRE(_dependencyMap[0]).registerCallableModule('RCTEventEmitter', eventEmitter);
      }
    }
  };
  module.exports = RCTEventEmitter;
},137,[45]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var customBubblingEventTypes = {};
  var customDirectEventTypes = {};
  exports.customBubblingEventTypes = customBubblingEventTypes;
  exports.customDirectEventTypes = customDirectEventTypes;
  var viewConfigCallbacks = new Map();
  var viewConfigs = new Map();

  function processEventTypes(viewConfig) {
    var bubblingEventTypes = viewConfig.bubblingEventTypes,
        directEventTypes = viewConfig.directEventTypes;

    if (bubblingEventTypes != null) {
      for (var _topLevelType in bubblingEventTypes) {
        if (customBubblingEventTypes[_topLevelType] == null) {
          customBubblingEventTypes[_topLevelType] = bubblingEventTypes[_topLevelType];
        }
      }
    }

    if (directEventTypes != null) {
      for (var _topLevelType2 in directEventTypes) {
        if (customDirectEventTypes[_topLevelType2] == null) {
          customDirectEventTypes[_topLevelType2] = directEventTypes[_topLevelType2];
        }
      }
    }
  }

  exports.register = function (name, callback) {
    (0, _invariant.default)(!viewConfigCallbacks.has(name), 'Tried to register two views with the same name %s', name);
    (0, _invariant.default)(typeof callback === 'function', 'View config getter callback for component `%s` must be a function (received `%s`)', name, callback === null ? 'null' : typeof callback);
    viewConfigCallbacks.set(name, callback);
    return name;
  };

  exports.get = function (name) {
    var viewConfig;

    if (!viewConfigs.has(name)) {
      var callback = viewConfigCallbacks.get(name);

      if (typeof callback !== 'function') {
        (0, _invariant.default)(false, 'View config getter callback for component `%s` must be a function (received `%s`).%s', name, callback === null ? 'null' : typeof callback, typeof name[0] === 'string' && /[a-z]/.test(name[0]) ? ' Make sure to start component names with a capital letter.' : '');
      }

      viewConfig = callback();
      processEventTypes(viewConfig);
      viewConfigs.set(name, viewConfig);
      viewConfigCallbacks.set(name, null);
    } else {
      viewConfig = viewConfigs.get(name);
    }

    (0, _invariant.default)(viewConfig, 'View config not found for name %s', name);
    return viewConfig;
  };
},138,[5,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var React = _$$_REQUIRE(_dependencyMap[0]);

  var currentlyFocusedInputRef = null;
  var inputs = new Set();

  function currentlyFocusedInput() {
    return currentlyFocusedInputRef;
  }

  function currentlyFocusedField() {
    return _$$_REQUIRE(_dependencyMap[1]).findNodeHandle(currentlyFocusedInputRef);
  }

  function focusInput(textField) {
    if (currentlyFocusedInputRef !== textField && textField != null) {
      currentlyFocusedInputRef = textField;
    }
  }

  function blurInput(textField) {
    if (currentlyFocusedInputRef === textField && textField != null) {
      currentlyFocusedInputRef = null;
    }
  }

  function focusField(textFieldID) {
    return;
  }

  function blurField(textFieldID) {
    return;
  }

  function focusTextInput(textField) {
    if (typeof textField === 'number') {
      return;
    }

    if (currentlyFocusedInputRef !== textField && textField != null) {
      focusInput(textField);
      {
        _$$_REQUIRE(_dependencyMap[2]).Commands.focus(textField);
      }
    }
  }

  function blurTextInput(textField) {
    if (typeof textField === 'number') {
      return;
    }

    if (currentlyFocusedInputRef === textField && textField != null) {
      blurInput(textField);
      {
        _$$_REQUIRE(_dependencyMap[2]).Commands.blur(textField);
      }
    }
  }

  function registerInput(textField) {
    if (typeof textField === 'number') {
      return;
    }

    inputs.add(textField);
  }

  function unregisterInput(textField) {
    if (typeof textField === 'number') {
      return;
    }

    inputs.delete(textField);
  }

  function isTextInput(textField) {
    if (typeof textField === 'number') {
      return false;
    }

    return inputs.has(textField);
  }

  module.exports = {
    currentlyFocusedInput: currentlyFocusedInput,
    focusInput: focusInput,
    blurInput: blurInput,
    currentlyFocusedField: currentlyFocusedField,
    focusField: focusField,
    blurField: blurField,
    focusTextInput: focusTextInput,
    blurTextInput: blurTextInput,
    registerInput: registerInput,
    unregisterInput: unregisterInput,
    isTextInput: isTextInput
  };
},139,[17,54,140]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.Commands = undefined;

  var _codegenNativeCommands = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _RCTTextInputViewConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var NativeComponentRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Commands = (0, _codegenNativeCommands.default)({
    supportedCommands: ['focus', 'blur', 'setTextAndSelection']
  });
  exports.Commands = Commands;
  var SinglelineTextInputNativeComponent = NativeComponentRegistry.get('RCTSinglelineTextInputView', function () {
    return _RCTTextInputViewConfig.default;
  });
  var _default = SinglelineTextInputNativeComponent;
  exports.default = _default;
},140,[5,141,142,154]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  function codegenNativeCommands(options) {
    var commandObj = {};
    options.supportedCommands.forEach(function (command) {
      commandObj[command] = function (ref) {
        for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
          args[_key - 1] = arguments[_key];
        }

        (0, _$$_REQUIRE(_dependencyMap[0]).dispatchCommand)(ref, command, args);
      };
    });
    return commandObj;
  }

  var _default = codegenNativeCommands;
  exports.default = _default;
},141,[54]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _ReactNativeViewViewConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var RCTTextInputViewConfig = {
    uiViewClassName: 'RCTSinglelineTextInputView',
    bubblingEventTypes: {
      topBlur: {
        phasedRegistrationNames: {
          bubbled: 'onBlur',
          captured: 'onBlurCapture'
        }
      },
      topChange: {
        phasedRegistrationNames: {
          bubbled: 'onChange',
          captured: 'onChangeCapture'
        }
      },
      topEndEditing: {
        phasedRegistrationNames: {
          bubbled: 'onEndEditing',
          captured: 'onEndEditingCapture'
        }
      },
      topFocus: {
        phasedRegistrationNames: {
          bubbled: 'onFocus',
          captured: 'onFocusCapture'
        }
      },
      topKeyPress: {
        phasedRegistrationNames: {
          bubbled: 'onKeyPress',
          captured: 'onKeyPressCapture'
        }
      },
      topSubmitEditing: {
        phasedRegistrationNames: {
          bubbled: 'onSubmitEditing',
          captured: 'onSubmitEditingCapture'
        }
      },
      topTouchCancel: {
        phasedRegistrationNames: {
          bubbled: 'onTouchCancel',
          captured: 'onTouchCancelCapture'
        }
      },
      topTouchEnd: {
        phasedRegistrationNames: {
          bubbled: 'onTouchEnd',
          captured: 'onTouchEndCapture'
        }
      },
      topTouchMove: {
        phasedRegistrationNames: {
          bubbled: 'onTouchMove',
          captured: 'onTouchMoveCapture'
        }
      }
    },
    directEventTypes: {},
    validAttributes: (0, _extends2.default)({}, _ReactNativeViewViewConfig.default.validAttributes, {
      fontSize: true,
      fontWeight: true,
      fontVariant: true,
      textShadowOffset: {
        diff: _$$_REQUIRE(_dependencyMap[3])
      },
      allowFontScaling: true,
      fontStyle: true,
      textTransform: true,
      textAlign: true,
      fontFamily: true,
      lineHeight: true,
      isHighlighted: true,
      writingDirection: true,
      textDecorationLine: true,
      textShadowRadius: true,
      letterSpacing: true,
      textDecorationStyle: true,
      textDecorationColor: {
        process: _$$_REQUIRE(_dependencyMap[4])
      },
      color: {
        process: _$$_REQUIRE(_dependencyMap[4])
      },
      maxFontSizeMultiplier: true,
      textShadowColor: {
        process: _$$_REQUIRE(_dependencyMap[4])
      },
      editable: true,
      inputAccessoryViewID: true,
      caretHidden: true,
      enablesReturnKeyAutomatically: true,
      placeholderTextColor: {
        process: _$$_REQUIRE(_dependencyMap[4])
      },
      onSelectionChange: true,
      clearButtonMode: true,
      onContentSizeChange: true,
      keyboardType: true,
      selection: true,
      returnKeyType: true,
      blurOnSubmit: true,
      mostRecentEventCount: true,
      onChange: true,
      scrollEnabled: true,
      selectionColor: {
        process: _$$_REQUIRE(_dependencyMap[4])
      },
      contextMenuHidden: true,
      secureTextEntry: true,
      onTextInput: true,
      placeholder: true,
      autoCorrect: true,
      onScroll: true,
      multiline: true,
      textContentType: true,
      maxLength: true,
      autoCapitalize: true,
      keyboardAppearance: true,
      passwordRules: true,
      spellCheck: true,
      selectTextOnFocus: true,
      text: true,
      clearTextOnFocus: true
    })
  };
  module.exports = RCTTextInputViewConfig;
},142,[5,6,143,150,145]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _ReactNativeViewViewConfigAndroid = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var ReactNativeViewConfig = {
    uiViewClassName: 'RCTView',
    baseModuleName: null,
    Manager: 'ViewManager',
    Commands: {},
    Constants: {},
    bubblingEventTypes: (0, _extends2.default)({}, _ReactNativeViewViewConfigAndroid.default.bubblingEventTypes, {
      topBlur: {
        phasedRegistrationNames: {
          bubbled: 'onBlur',
          captured: 'onBlurCapture'
        }
      },
      topChange: {
        phasedRegistrationNames: {
          bubbled: 'onChange',
          captured: 'onChangeCapture'
        }
      },
      topEndEditing: {
        phasedRegistrationNames: {
          bubbled: 'onEndEditing',
          captured: 'onEndEditingCapture'
        }
      },
      topFocus: {
        phasedRegistrationNames: {
          bubbled: 'onFocus',
          captured: 'onFocusCapture'
        }
      },
      topKeyPress: {
        phasedRegistrationNames: {
          bubbled: 'onKeyPress',
          captured: 'onKeyPressCapture'
        }
      },
      topPress: {
        phasedRegistrationNames: {
          bubbled: 'onPress',
          captured: 'onPressCapture'
        }
      },
      topSubmitEditing: {
        phasedRegistrationNames: {
          bubbled: 'onSubmitEditing',
          captured: 'onSubmitEditingCapture'
        }
      },
      topTouchCancel: {
        phasedRegistrationNames: {
          bubbled: 'onTouchCancel',
          captured: 'onTouchCancelCapture'
        }
      },
      topTouchEnd: {
        phasedRegistrationNames: {
          bubbled: 'onTouchEnd',
          captured: 'onTouchEndCapture'
        }
      },
      topTouchMove: {
        phasedRegistrationNames: {
          bubbled: 'onTouchMove',
          captured: 'onTouchMoveCapture'
        }
      },
      topTouchStart: {
        phasedRegistrationNames: {
          bubbled: 'onTouchStart',
          captured: 'onTouchStartCapture'
        }
      }
    }),
    directEventTypes: (0, _extends2.default)({}, _ReactNativeViewViewConfigAndroid.default.directEventTypes, {
      topAccessibilityAction: {
        registrationName: 'onAccessibilityAction'
      },
      topAccessibilityEscape: {
        registrationName: 'onAccessibilityEscape'
      },
      topAccessibilityTap: {
        registrationName: 'onAccessibilityTap'
      },
      topLayout: {
        registrationName: 'onLayout'
      },
      topMagicTap: {
        registrationName: 'onMagicTap'
      },
      onGestureHandlerEvent: {
        registrationName: 'onGestureHandlerEvent'
      },
      onGestureHandlerStateChange: {
        registrationName: 'onGestureHandlerStateChange'
      }
    }),
    validAttributes: (0, _extends2.default)({}, _ReactNativeViewViewConfigAndroid.default.validAttributes, {
      accessibilityActions: true,
      accessibilityElementsHidden: true,
      accessibilityHint: true,
      accessibilityIgnoresInvertColors: true,
      accessibilityLabel: true,
      accessibilityLiveRegion: true,
      accessibilityRole: true,
      accessibilityStates: true,
      accessibilityState: true,
      accessibilityValue: true,
      accessibilityViewIsModal: true,
      accessible: true,
      alignContent: true,
      alignItems: true,
      alignSelf: true,
      aspectRatio: true,
      backfaceVisibility: true,
      backgroundColor: {
        process: _$$_REQUIRE(_dependencyMap[4])
      },
      borderBottomColor: {
        process: _$$_REQUIRE(_dependencyMap[4])
      },
      borderBottomEndRadius: true,
      borderBottomLeftRadius: true,
      borderBottomRightRadius: true,
      borderBottomStartRadius: true,
      borderBottomWidth: true,
      borderColor: {
        process: _$$_REQUIRE(_dependencyMap[4])
      },
      borderEndColor: {
        process: _$$_REQUIRE(_dependencyMap[4])
      },
      borderEndWidth: true,
      borderLeftColor: {
        process: _$$_REQUIRE(_dependencyMap[4])
      },
      borderLeftWidth: true,
      borderRadius: true,
      borderRightColor: {
        process: _$$_REQUIRE(_dependencyMap[4])
      },
      borderRightWidth: true,
      borderStartColor: {
        process: _$$_REQUIRE(_dependencyMap[4])
      },
      borderStartWidth: true,
      borderStyle: true,
      borderTopColor: {
        process: _$$_REQUIRE(_dependencyMap[4])
      },
      borderTopEndRadius: true,
      borderTopLeftRadius: true,
      borderTopRightRadius: true,
      borderTopStartRadius: true,
      borderTopWidth: true,
      borderWidth: true,
      bottom: true,
      clickable: true,
      collapsable: true,
      direction: true,
      display: true,
      elevation: true,
      end: true,
      flex: true,
      flexBasis: true,
      flexDirection: true,
      flexGrow: true,
      flexShrink: true,
      flexWrap: true,
      height: true,
      hitSlop: {
        diff: _$$_REQUIRE(_dependencyMap[5])
      },
      importantForAccessibility: true,
      justifyContent: true,
      left: true,
      margin: true,
      marginBottom: true,
      marginEnd: true,
      marginHorizontal: true,
      marginLeft: true,
      marginRight: true,
      marginStart: true,
      marginTop: true,
      marginVertical: true,
      maxHeight: true,
      maxWidth: true,
      minHeight: true,
      minWidth: true,
      nativeID: true,
      needsOffscreenAlphaCompositing: true,
      onAccessibilityAction: true,
      onAccessibilityEscape: true,
      onAccessibilityTap: true,
      onLayout: true,
      onMagicTap: true,
      opacity: true,
      overflow: true,
      padding: true,
      paddingBottom: true,
      paddingEnd: true,
      paddingHorizontal: true,
      paddingLeft: true,
      paddingRight: true,
      paddingStart: true,
      paddingTop: true,
      paddingVertical: true,
      pointerEvents: true,
      position: true,
      removeClippedSubviews: true,
      renderToHardwareTextureAndroid: true,
      right: true,
      rotation: true,
      scaleX: true,
      scaleY: true,
      shadowColor: {
        process: _$$_REQUIRE(_dependencyMap[4])
      },
      shadowOffset: {
        diff: _$$_REQUIRE(_dependencyMap[6])
      },
      shadowOpacity: true,
      shadowRadius: true,
      shouldRasterizeIOS: true,
      start: true,
      style: {
        alignContent: true,
        alignItems: true,
        alignSelf: true,
        aspectRatio: true,
        backfaceVisibility: true,
        backgroundColor: {
          process: _$$_REQUIRE(_dependencyMap[4])
        },
        borderBottomColor: {
          process: _$$_REQUIRE(_dependencyMap[4])
        },
        borderBottomEndRadius: true,
        borderBottomLeftRadius: true,
        borderBottomRightRadius: true,
        borderBottomStartRadius: true,
        borderBottomWidth: true,
        borderColor: {
          process: _$$_REQUIRE(_dependencyMap[4])
        },
        borderEndColor: {
          process: _$$_REQUIRE(_dependencyMap[4])
        },
        borderEndWidth: true,
        borderLeftColor: {
          process: _$$_REQUIRE(_dependencyMap[4])
        },
        borderLeftWidth: true,
        borderRadius: true,
        borderRightColor: {
          process: _$$_REQUIRE(_dependencyMap[4])
        },
        borderRightWidth: true,
        borderStartColor: {
          process: _$$_REQUIRE(_dependencyMap[4])
        },
        borderStartWidth: true,
        borderStyle: true,
        borderTopColor: {
          process: _$$_REQUIRE(_dependencyMap[4])
        },
        borderTopEndRadius: true,
        borderTopLeftRadius: true,
        borderTopRightRadius: true,
        borderTopStartRadius: true,
        borderTopWidth: true,
        borderWidth: true,
        bottom: true,
        color: {
          process: _$$_REQUIRE(_dependencyMap[4])
        },
        decomposedMatrix: true,
        direction: true,
        display: true,
        elevation: true,
        end: true,
        flex: true,
        flexBasis: true,
        flexDirection: true,
        flexGrow: true,
        flexShrink: true,
        flexWrap: true,
        fontFamily: true,
        fontSize: true,
        fontStyle: true,
        fontVariant: true,
        fontWeight: true,
        height: true,
        includeFontPadding: true,
        justifyContent: true,
        left: true,
        letterSpacing: true,
        lineHeight: true,
        margin: true,
        marginBottom: true,
        marginEnd: true,
        marginHorizontal: true,
        marginLeft: true,
        marginRight: true,
        marginStart: true,
        marginTop: true,
        marginVertical: true,
        maxHeight: true,
        maxWidth: true,
        minHeight: true,
        minWidth: true,
        opacity: true,
        overflow: true,
        overlayColor: {
          process: _$$_REQUIRE(_dependencyMap[4])
        },
        padding: true,
        paddingBottom: true,
        paddingEnd: true,
        paddingHorizontal: true,
        paddingLeft: true,
        paddingRight: true,
        paddingStart: true,
        paddingTop: true,
        paddingVertical: true,
        position: true,
        resizeMode: true,
        right: true,
        rotation: true,
        scaleX: true,
        scaleY: true,
        shadowColor: {
          process: _$$_REQUIRE(_dependencyMap[4])
        },
        shadowOffset: {
          diff: _$$_REQUIRE(_dependencyMap[6])
        },
        shadowOpacity: true,
        shadowRadius: true,
        start: true,
        textAlign: true,
        textAlignVertical: true,
        textDecorationColor: {
          process: _$$_REQUIRE(_dependencyMap[4])
        },
        textDecorationLine: true,
        textDecorationStyle: true,
        textShadowColor: {
          process: _$$_REQUIRE(_dependencyMap[4])
        },
        textShadowOffset: true,
        textShadowRadius: true,
        textTransform: true,
        tintColor: {
          process: _$$_REQUIRE(_dependencyMap[4])
        },
        top: true,
        transform: _reactNative.Platform.OS === 'ios' ? {
          diff: _$$_REQUIRE(_dependencyMap[7])
        } : {
          process: _$$_REQUIRE(_dependencyMap[8])
        },
        transformMatrix: true,
        translateX: true,
        translateY: true,
        width: true,
        writingDirection: true,
        zIndex: true
      },
      testID: true,
      top: true,
      transform: _reactNative.Platform.OS === 'ios' ? {
        diff: _$$_REQUIRE(_dependencyMap[7])
      } : {
        process: _$$_REQUIRE(_dependencyMap[8])
      },
      translateX: true,
      translateY: true,
      width: true,
      zIndex: true
    })
  };
  module.exports = ReactNativeViewConfig;
},143,[5,6,144,28,145,149,150,151,152]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var ReactNativeViewViewConfigAndroid = {
    uiViewClassName: 'RCTView',
    bubblingEventTypes: {
      topSelect: {
        phasedRegistrationNames: {
          bubbled: 'onSelect',
          captured: 'onSelectCapture'
        }
      },
      topAssetDidLoad: {
        phasedRegistrationNames: {
          bubbled: 'onAssetDidLoad',
          captured: 'onAssetDidLoadCapture'
        }
      }
    },
    directEventTypes: {
      topClick: {
        registrationName: 'onClick'
      },
      topContentSizeChange: {
        registrationName: 'onContentSizeChange'
      },
      topLoadingError: {
        registrationName: 'onLoadingError'
      },
      topLoadingFinish: {
        registrationName: 'onLoadingFinish'
      },
      topLoadingStart: {
        registrationName: 'onLoadingStart'
      },
      topMessage: {
        registrationName: 'onMessage'
      },
      topMomentumScrollBegin: {
        registrationName: 'onMomentumScrollBegin'
      },
      topMomentumScrollEnd: {
        registrationName: 'onMomentumScrollEnd'
      },
      topScroll: {
        registrationName: 'onScroll'
      },
      topScrollBeginDrag: {
        registrationName: 'onScrollBeginDrag'
      },
      topScrollEndDrag: {
        registrationName: 'onScrollEndDrag'
      },
      topSelectionChange: {
        registrationName: 'onSelectionChange'
      },
      onAssetDidLoad: {
        registrationName: 'onAssetDidLoad'
      }
    },
    validAttributes: {
      hasTVPreferredFocus: true,
      focusable: true,
      nativeBackgroundAndroid: true,
      nativeForegroundAndroid: true,
      nextFocusDown: true,
      nextFocusForward: true,
      nextFocusLeft: true,
      nextFocusRight: true,
      nextFocusUp: true
    }
  };
  module.exports = ReactNativeViewViewConfigAndroid;
},144,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function processColor(color) {
    if (color === undefined || color === null) {
      return color;
    }

    var normalizedColor = _$$_REQUIRE(_dependencyMap[0])(color);

    if (normalizedColor === null || normalizedColor === undefined) {
      return undefined;
    }

    if (typeof normalizedColor === 'object') {
      var processColorObject = _$$_REQUIRE(_dependencyMap[1]).processColorObject;

      var processedColorObj = processColorObject(normalizedColor);

      if (processedColorObj != null) {
        return processedColorObj;
      }
    }

    if (typeof normalizedColor !== 'number') {
      return null;
    }

    normalizedColor = (normalizedColor << 24 | normalizedColor >>> 8) >>> 0;
    return normalizedColor;
  }

  module.exports = processColor;
},145,[146,148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _normalizeColor2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function normalizeColor(color) {
    if (typeof color === 'object' && color != null) {
      var _require = _$$_REQUIRE(_dependencyMap[2]),
          normalizeColorObject = _require.normalizeColorObject;

      var normalizedColor = normalizeColorObject(color);

      if (normalizedColor != null) {
        return color;
      }
    }

    if (typeof color === 'string' || typeof color === 'number') {
      return (0, _normalizeColor2.default)(color);
    }
  }

  module.exports = normalizeColor;
},146,[5,147,148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function normalizeColor(color) {
    if (typeof color === 'number') {
      if (color >>> 0 === color && color >= 0 && color <= 0xffffffff) {
        return color;
      }

      return null;
    }

    if (typeof color !== 'string') {
      return null;
    }

    var matchers = getMatchers();
    var match;

    if (match = matchers.hex6.exec(color)) {
      return parseInt(match[1] + 'ff', 16) >>> 0;
    }

    var colorFromKeyword = normalizeKeyword(color);

    if (colorFromKeyword != null) {
      return colorFromKeyword;
    }

    if (match = matchers.rgb.exec(color)) {
      return (parse255(match[1]) << 24 | parse255(match[2]) << 16 | parse255(match[3]) << 8 | 0x000000ff) >>> 0;
    }

    if (match = matchers.rgba.exec(color)) {
      return (parse255(match[1]) << 24 | parse255(match[2]) << 16 | parse255(match[3]) << 8 | parse1(match[4])) >>> 0;
    }

    if (match = matchers.hex3.exec(color)) {
      return parseInt(match[1] + match[1] + match[2] + match[2] + match[3] + match[3] + 'ff', 16) >>> 0;
    }

    if (match = matchers.hex8.exec(color)) {
      return parseInt(match[1], 16) >>> 0;
    }

    if (match = matchers.hex4.exec(color)) {
      return parseInt(match[1] + match[1] + match[2] + match[2] + match[3] + match[3] + match[4] + match[4], 16) >>> 0;
    }

    if (match = matchers.hsl.exec(color)) {
      return (hslToRgb(parse360(match[1]), parsePercentage(match[2]), parsePercentage(match[3])) | 0x000000ff) >>> 0;
    }

    if (match = matchers.hsla.exec(color)) {
      return (hslToRgb(parse360(match[1]), parsePercentage(match[2]), parsePercentage(match[3])) | parse1(match[4])) >>> 0;
    }

    return null;
  }

  function hue2rgb(p, q, t) {
    if (t < 0) {
      t += 1;
    }

    if (t > 1) {
      t -= 1;
    }

    if (t < 0.16666666666666666) {
      return p + (q - p) * 6 * t;
    }

    if (t < 0.5) {
      return q;
    }

    if (t < 0.6666666666666666) {
      return p + (q - p) * (0.6666666666666666 - t) * 6;
    }

    return p;
  }

  function hslToRgb(h, s, l) {
    var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
    var p = 2 * l - q;
    var r = hue2rgb(p, q, h + 0.3333333333333333);
    var g = hue2rgb(p, q, h);
    var b = hue2rgb(p, q, h - 0.3333333333333333);
    return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;
  }

  var NUMBER = '[-+]?\\d*\\.?\\d+';
  var PERCENTAGE = "[-+]?\\d*\\.?\\d+%";

  function call() {
    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
      args[_key] = arguments[_key];
    }

    return '\\(\\s*(' + args.join(')\\s*,\\s*(') + ')\\s*\\)';
  }

  var cachedMatchers;

  function getMatchers() {
    if (cachedMatchers === undefined) {
      cachedMatchers = {
        rgb: new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER)),
        rgba: new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER)),
        hsl: new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE)),
        hsla: new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER)),
        hex3: /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
        hex4: /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
        hex6: /^#([0-9a-fA-F]{6})$/,
        hex8: /^#([0-9a-fA-F]{8})$/
      };
    }

    return cachedMatchers;
  }

  function parse255(str) {
    var int = parseInt(str, 10);

    if (int < 0) {
      return 0;
    }

    if (int > 255) {
      return 255;
    }

    return int;
  }

  function parse360(str) {
    var int = parseFloat(str);
    return (int % 360 + 360) % 360 / 360;
  }

  function parse1(str) {
    var num = parseFloat(str);

    if (num < 0) {
      return 0;
    }

    if (num > 1) {
      return 255;
    }

    return Math.round(num * 255);
  }

  function parsePercentage(str) {
    var int = parseFloat(str);

    if (int < 0) {
      return 0;
    }

    if (int > 100) {
      return 1;
    }

    return int / 100;
  }

  function normalizeKeyword(name) {
    switch (name) {
      case 'transparent':
        return 0x00000000;

      case 'aliceblue':
        return 0xf0f8ffff;

      case 'antiquewhite':
        return 0xfaebd7ff;

      case 'aqua':
        return 0x00ffffff;

      case 'aquamarine':
        return 0x7fffd4ff;

      case 'azure':
        return 0xf0ffffff;

      case 'beige':
        return 0xf5f5dcff;

      case 'bisque':
        return 0xffe4c4ff;

      case 'black':
        return 0x000000ff;

      case 'blanchedalmond':
        return 0xffebcdff;

      case 'blue':
        return 0x0000ffff;

      case 'blueviolet':
        return 0x8a2be2ff;

      case 'brown':
        return 0xa52a2aff;

      case 'burlywood':
        return 0xdeb887ff;

      case 'burntsienna':
        return 0xea7e5dff;

      case 'cadetblue':
        return 0x5f9ea0ff;

      case 'chartreuse':
        return 0x7fff00ff;

      case 'chocolate':
        return 0xd2691eff;

      case 'coral':
        return 0xff7f50ff;

      case 'cornflowerblue':
        return 0x6495edff;

      case 'cornsilk':
        return 0xfff8dcff;

      case 'crimson':
        return 0xdc143cff;

      case 'cyan':
        return 0x00ffffff;

      case 'darkblue':
        return 0x00008bff;

      case 'darkcyan':
        return 0x008b8bff;

      case 'darkgoldenrod':
        return 0xb8860bff;

      case 'darkgray':
        return 0xa9a9a9ff;

      case 'darkgreen':
        return 0x006400ff;

      case 'darkgrey':
        return 0xa9a9a9ff;

      case 'darkkhaki':
        return 0xbdb76bff;

      case 'darkmagenta':
        return 0x8b008bff;

      case 'darkolivegreen':
        return 0x556b2fff;

      case 'darkorange':
        return 0xff8c00ff;

      case 'darkorchid':
        return 0x9932ccff;

      case 'darkred':
        return 0x8b0000ff;

      case 'darksalmon':
        return 0xe9967aff;

      case 'darkseagreen':
        return 0x8fbc8fff;

      case 'darkslateblue':
        return 0x483d8bff;

      case 'darkslategray':
        return 0x2f4f4fff;

      case 'darkslategrey':
        return 0x2f4f4fff;

      case 'darkturquoise':
        return 0x00ced1ff;

      case 'darkviolet':
        return 0x9400d3ff;

      case 'deeppink':
        return 0xff1493ff;

      case 'deepskyblue':
        return 0x00bfffff;

      case 'dimgray':
        return 0x696969ff;

      case 'dimgrey':
        return 0x696969ff;

      case 'dodgerblue':
        return 0x1e90ffff;

      case 'firebrick':
        return 0xb22222ff;

      case 'floralwhite':
        return 0xfffaf0ff;

      case 'forestgreen':
        return 0x228b22ff;

      case 'fuchsia':
        return 0xff00ffff;

      case 'gainsboro':
        return 0xdcdcdcff;

      case 'ghostwhite':
        return 0xf8f8ffff;

      case 'gold':
        return 0xffd700ff;

      case 'goldenrod':
        return 0xdaa520ff;

      case 'gray':
        return 0x808080ff;

      case 'green':
        return 0x008000ff;

      case 'greenyellow':
        return 0xadff2fff;

      case 'grey':
        return 0x808080ff;

      case 'honeydew':
        return 0xf0fff0ff;

      case 'hotpink':
        return 0xff69b4ff;

      case 'indianred':
        return 0xcd5c5cff;

      case 'indigo':
        return 0x4b0082ff;

      case 'ivory':
        return 0xfffff0ff;

      case 'khaki':
        return 0xf0e68cff;

      case 'lavender':
        return 0xe6e6faff;

      case 'lavenderblush':
        return 0xfff0f5ff;

      case 'lawngreen':
        return 0x7cfc00ff;

      case 'lemonchiffon':
        return 0xfffacdff;

      case 'lightblue':
        return 0xadd8e6ff;

      case 'lightcoral':
        return 0xf08080ff;

      case 'lightcyan':
        return 0xe0ffffff;

      case 'lightgoldenrodyellow':
        return 0xfafad2ff;

      case 'lightgray':
        return 0xd3d3d3ff;

      case 'lightgreen':
        return 0x90ee90ff;

      case 'lightgrey':
        return 0xd3d3d3ff;

      case 'lightpink':
        return 0xffb6c1ff;

      case 'lightsalmon':
        return 0xffa07aff;

      case 'lightseagreen':
        return 0x20b2aaff;

      case 'lightskyblue':
        return 0x87cefaff;

      case 'lightslategray':
        return 0x778899ff;

      case 'lightslategrey':
        return 0x778899ff;

      case 'lightsteelblue':
        return 0xb0c4deff;

      case 'lightyellow':
        return 0xffffe0ff;

      case 'lime':
        return 0x00ff00ff;

      case 'limegreen':
        return 0x32cd32ff;

      case 'linen':
        return 0xfaf0e6ff;

      case 'magenta':
        return 0xff00ffff;

      case 'maroon':
        return 0x800000ff;

      case 'mediumaquamarine':
        return 0x66cdaaff;

      case 'mediumblue':
        return 0x0000cdff;

      case 'mediumorchid':
        return 0xba55d3ff;

      case 'mediumpurple':
        return 0x9370dbff;

      case 'mediumseagreen':
        return 0x3cb371ff;

      case 'mediumslateblue':
        return 0x7b68eeff;

      case 'mediumspringgreen':
        return 0x00fa9aff;

      case 'mediumturquoise':
        return 0x48d1ccff;

      case 'mediumvioletred':
        return 0xc71585ff;

      case 'midnightblue':
        return 0x191970ff;

      case 'mintcream':
        return 0xf5fffaff;

      case 'mistyrose':
        return 0xffe4e1ff;

      case 'moccasin':
        return 0xffe4b5ff;

      case 'navajowhite':
        return 0xffdeadff;

      case 'navy':
        return 0x000080ff;

      case 'oldlace':
        return 0xfdf5e6ff;

      case 'olive':
        return 0x808000ff;

      case 'olivedrab':
        return 0x6b8e23ff;

      case 'orange':
        return 0xffa500ff;

      case 'orangered':
        return 0xff4500ff;

      case 'orchid':
        return 0xda70d6ff;

      case 'palegoldenrod':
        return 0xeee8aaff;

      case 'palegreen':
        return 0x98fb98ff;

      case 'paleturquoise':
        return 0xafeeeeff;

      case 'palevioletred':
        return 0xdb7093ff;

      case 'papayawhip':
        return 0xffefd5ff;

      case 'peachpuff':
        return 0xffdab9ff;

      case 'peru':
        return 0xcd853fff;

      case 'pink':
        return 0xffc0cbff;

      case 'plum':
        return 0xdda0ddff;

      case 'powderblue':
        return 0xb0e0e6ff;

      case 'purple':
        return 0x800080ff;

      case 'rebeccapurple':
        return 0x663399ff;

      case 'red':
        return 0xff0000ff;

      case 'rosybrown':
        return 0xbc8f8fff;

      case 'royalblue':
        return 0x4169e1ff;

      case 'saddlebrown':
        return 0x8b4513ff;

      case 'salmon':
        return 0xfa8072ff;

      case 'sandybrown':
        return 0xf4a460ff;

      case 'seagreen':
        return 0x2e8b57ff;

      case 'seashell':
        return 0xfff5eeff;

      case 'sienna':
        return 0xa0522dff;

      case 'silver':
        return 0xc0c0c0ff;

      case 'skyblue':
        return 0x87ceebff;

      case 'slateblue':
        return 0x6a5acdff;

      case 'slategray':
        return 0x708090ff;

      case 'slategrey':
        return 0x708090ff;

      case 'snow':
        return 0xfffafaff;

      case 'springgreen':
        return 0x00ff7fff;

      case 'steelblue':
        return 0x4682b4ff;

      case 'tan':
        return 0xd2b48cff;

      case 'teal':
        return 0x008080ff;

      case 'thistle':
        return 0xd8bfd8ff;

      case 'tomato':
        return 0xff6347ff;

      case 'turquoise':
        return 0x40e0d0ff;

      case 'violet':
        return 0xee82eeff;

      case 'wheat':
        return 0xf5deb3ff;

      case 'white':
        return 0xffffffff;

      case 'whitesmoke':
        return 0xf5f5f5ff;

      case 'yellow':
        return 0xffff00ff;

      case 'yellowgreen':
        return 0x9acd32ff;
    }

    return null;
  }

  module.exports = normalizeColor;
},147,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.processColorObject = exports.normalizeColorObject = exports.DynamicColorIOSPrivate = exports.PlatformColor = undefined;

  var PlatformColor = function PlatformColor() {
    for (var _len = arguments.length, names = new Array(_len), _key = 0; _key < _len; _key++) {
      names[_key] = arguments[_key];
    }

    return {
      semantic: names
    };
  };

  exports.PlatformColor = PlatformColor;

  var DynamicColorIOSPrivate = function DynamicColorIOSPrivate(tuple) {
    return {
      dynamic: {
        light: tuple.light,
        dark: tuple.dark,
        highContrastLight: tuple.highContrastLight,
        highContrastDark: tuple.highContrastDark
      }
    };
  };

  exports.DynamicColorIOSPrivate = DynamicColorIOSPrivate;

  var normalizeColorObject = function normalizeColorObject(color) {
    if ('semantic' in color) {
      return color;
    } else if ('dynamic' in color && color.dynamic !== undefined) {
      var normalizeColor = _$$_REQUIRE(_dependencyMap[0]);

      var dynamic = color.dynamic;
      var dynamicColor = {
        dynamic: {
          light: normalizeColor(dynamic.light),
          dark: normalizeColor(dynamic.dark),
          highContrastLight: normalizeColor(dynamic.highContrastLight),
          highContrastDark: normalizeColor(dynamic.highContrastDark)
        }
      };
      return dynamicColor;
    }

    return null;
  };

  exports.normalizeColorObject = normalizeColorObject;

  var processColorObject = function processColorObject(color) {
    if ('dynamic' in color && color.dynamic != null) {
      var processColor = _$$_REQUIRE(_dependencyMap[1]);

      var dynamic = color.dynamic;
      var dynamicColor = {
        dynamic: {
          light: processColor(dynamic.light),
          dark: processColor(dynamic.dark),
          highContrastLight: processColor(dynamic.highContrastLight),
          highContrastDark: processColor(dynamic.highContrastDark)
        }
      };
      return dynamicColor;
    }

    return color;
  };

  exports.processColorObject = processColorObject;
},148,[146,145]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var dummyInsets = {
    top: undefined,
    left: undefined,
    right: undefined,
    bottom: undefined
  };

  var insetsDiffer = function insetsDiffer(one, two) {
    one = one || dummyInsets;
    two = two || dummyInsets;
    return one !== two && (one.top !== two.top || one.left !== two.left || one.right !== two.right || one.bottom !== two.bottom);
  };

  module.exports = insetsDiffer;
},149,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var dummySize = {
    width: undefined,
    height: undefined
  };

  var sizesDiffer = function sizesDiffer(one, two) {
    one = one || dummySize;
    two = two || dummySize;
    return one !== two && (one.width !== two.width || one.height !== two.height);
  };

  module.exports = sizesDiffer;
},150,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var matricesDiffer = function matricesDiffer(one, two) {
    if (one === two) {
      return false;
    }

    return !one || !two || one[12] !== two[12] || one[13] !== two[13] || one[14] !== two[14] || one[5] !== two[5] || one[10] !== two[10] || one[0] !== two[0] || one[1] !== two[1] || one[2] !== two[2] || one[3] !== two[3] || one[4] !== two[4] || one[6] !== two[6] || one[7] !== two[7] || one[8] !== two[8] || one[9] !== two[9] || one[11] !== two[11] || one[15] !== two[15];
  };

  module.exports = matricesDiffer;
},151,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function processTransform(transform) {
    {
      return transform;
    }

    var result = _$$_REQUIRE(_dependencyMap[0]).createIdentityMatrix();

    transform.forEach(function (transformation) {
      var key = Object.keys(transformation)[0];
      var value = transformation[key];

      switch (key) {
        case 'matrix':
          _$$_REQUIRE(_dependencyMap[0]).multiplyInto(result, result, value);

          break;

        case 'perspective':
          _multiplyTransform(result, _$$_REQUIRE(_dependencyMap[0]).reusePerspectiveCommand, [value]);

          break;

        case 'rotateX':
          _multiplyTransform(result, _$$_REQUIRE(_dependencyMap[0]).reuseRotateXCommand, [_convertToRadians(value)]);

          break;

        case 'rotateY':
          _multiplyTransform(result, _$$_REQUIRE(_dependencyMap[0]).reuseRotateYCommand, [_convertToRadians(value)]);

          break;

        case 'rotate':
        case 'rotateZ':
          _multiplyTransform(result, _$$_REQUIRE(_dependencyMap[0]).reuseRotateZCommand, [_convertToRadians(value)]);

          break;

        case 'scale':
          _multiplyTransform(result, _$$_REQUIRE(_dependencyMap[0]).reuseScaleCommand, [value]);

          break;

        case 'scaleX':
          _multiplyTransform(result, _$$_REQUIRE(_dependencyMap[0]).reuseScaleXCommand, [value]);

          break;

        case 'scaleY':
          _multiplyTransform(result, _$$_REQUIRE(_dependencyMap[0]).reuseScaleYCommand, [value]);

          break;

        case 'translate':
          _multiplyTransform(result, _$$_REQUIRE(_dependencyMap[0]).reuseTranslate3dCommand, [value[0], value[1], value[2] || 0]);

          break;

        case 'translateX':
          _multiplyTransform(result, _$$_REQUIRE(_dependencyMap[0]).reuseTranslate2dCommand, [value, 0]);

          break;

        case 'translateY':
          _multiplyTransform(result, _$$_REQUIRE(_dependencyMap[0]).reuseTranslate2dCommand, [0, value]);

          break;

        case 'skewX':
          _multiplyTransform(result, _$$_REQUIRE(_dependencyMap[0]).reuseSkewXCommand, [_convertToRadians(value)]);

          break;

        case 'skewY':
          _multiplyTransform(result, _$$_REQUIRE(_dependencyMap[0]).reuseSkewYCommand, [_convertToRadians(value)]);

          break;

        default:
          throw new Error('Invalid transform name: ' + key);
      }
    });
    return result;
  }

  function _multiplyTransform(result, matrixMathFunction, args) {
    var matrixToApply = _$$_REQUIRE(_dependencyMap[0]).createIdentityMatrix();

    var argsWithIdentity = [matrixToApply].concat(args);
    matrixMathFunction.apply(this, argsWithIdentity);

    _$$_REQUIRE(_dependencyMap[0]).multiplyInto(result, result, matrixToApply);
  }

  function _convertToRadians(value) {
    var floatValue = parseFloat(value);
    return value.indexOf('rad') > -1 ? floatValue : floatValue * Math.PI / 180;
  }

  module.exports = processTransform;
},152,[153]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var MatrixMath = {
    createIdentityMatrix: function createIdentityMatrix() {
      return [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];
    },
    createCopy: function createCopy(m) {
      return [m[0], m[1], m[2], m[3], m[4], m[5], m[6], m[7], m[8], m[9], m[10], m[11], m[12], m[13], m[14], m[15]];
    },
    createOrthographic: function createOrthographic(left, right, bottom, top, near, far) {
      var a = 2 / (right - left);
      var b = 2 / (top - bottom);
      var c = -2 / (far - near);
      var tx = -(right + left) / (right - left);
      var ty = -(top + bottom) / (top - bottom);
      var tz = -(far + near) / (far - near);
      return [a, 0, 0, 0, 0, b, 0, 0, 0, 0, c, 0, tx, ty, tz, 1];
    },
    createFrustum: function createFrustum(left, right, bottom, top, near, far) {
      var r_width = 1 / (right - left);
      var r_height = 1 / (top - bottom);
      var r_depth = 1 / (near - far);
      var x = 2 * (near * r_width);
      var y = 2 * (near * r_height);
      var A = (right + left) * r_width;
      var B = (top + bottom) * r_height;
      var C = (far + near) * r_depth;
      var D = 2 * (far * near * r_depth);
      return [x, 0, 0, 0, 0, y, 0, 0, A, B, C, -1, 0, 0, D, 0];
    },
    createPerspective: function createPerspective(fovInRadians, aspect, near, far) {
      var h = 1 / Math.tan(fovInRadians / 2);
      var r_depth = 1 / (near - far);
      var C = (far + near) * r_depth;
      var D = 2 * (far * near * r_depth);
      return [h / aspect, 0, 0, 0, 0, h, 0, 0, 0, 0, C, -1, 0, 0, D, 0];
    },
    createTranslate2d: function createTranslate2d(x, y) {
      var mat = MatrixMath.createIdentityMatrix();
      MatrixMath.reuseTranslate2dCommand(mat, x, y);
      return mat;
    },
    reuseTranslate2dCommand: function reuseTranslate2dCommand(matrixCommand, x, y) {
      matrixCommand[12] = x;
      matrixCommand[13] = y;
    },
    reuseTranslate3dCommand: function reuseTranslate3dCommand(matrixCommand, x, y, z) {
      matrixCommand[12] = x;
      matrixCommand[13] = y;
      matrixCommand[14] = z;
    },
    createScale: function createScale(factor) {
      var mat = MatrixMath.createIdentityMatrix();
      MatrixMath.reuseScaleCommand(mat, factor);
      return mat;
    },
    reuseScaleCommand: function reuseScaleCommand(matrixCommand, factor) {
      matrixCommand[0] = factor;
      matrixCommand[5] = factor;
    },
    reuseScale3dCommand: function reuseScale3dCommand(matrixCommand, x, y, z) {
      matrixCommand[0] = x;
      matrixCommand[5] = y;
      matrixCommand[10] = z;
    },
    reusePerspectiveCommand: function reusePerspectiveCommand(matrixCommand, p) {
      matrixCommand[11] = -1 / p;
    },
    reuseScaleXCommand: function reuseScaleXCommand(matrixCommand, factor) {
      matrixCommand[0] = factor;
    },
    reuseScaleYCommand: function reuseScaleYCommand(matrixCommand, factor) {
      matrixCommand[5] = factor;
    },
    reuseScaleZCommand: function reuseScaleZCommand(matrixCommand, factor) {
      matrixCommand[10] = factor;
    },
    reuseRotateXCommand: function reuseRotateXCommand(matrixCommand, radians) {
      matrixCommand[5] = Math.cos(radians);
      matrixCommand[6] = Math.sin(radians);
      matrixCommand[9] = -Math.sin(radians);
      matrixCommand[10] = Math.cos(radians);
    },
    reuseRotateYCommand: function reuseRotateYCommand(matrixCommand, amount) {
      matrixCommand[0] = Math.cos(amount);
      matrixCommand[2] = -Math.sin(amount);
      matrixCommand[8] = Math.sin(amount);
      matrixCommand[10] = Math.cos(amount);
    },
    reuseRotateZCommand: function reuseRotateZCommand(matrixCommand, radians) {
      matrixCommand[0] = Math.cos(radians);
      matrixCommand[1] = Math.sin(radians);
      matrixCommand[4] = -Math.sin(radians);
      matrixCommand[5] = Math.cos(radians);
    },
    createRotateZ: function createRotateZ(radians) {
      var mat = MatrixMath.createIdentityMatrix();
      MatrixMath.reuseRotateZCommand(mat, radians);
      return mat;
    },
    reuseSkewXCommand: function reuseSkewXCommand(matrixCommand, radians) {
      matrixCommand[4] = Math.tan(radians);
    },
    reuseSkewYCommand: function reuseSkewYCommand(matrixCommand, radians) {
      matrixCommand[1] = Math.tan(radians);
    },
    multiplyInto: function multiplyInto(out, a, b) {
      var a00 = a[0],
          a01 = a[1],
          a02 = a[2],
          a03 = a[3],
          a10 = a[4],
          a11 = a[5],
          a12 = a[6],
          a13 = a[7],
          a20 = a[8],
          a21 = a[9],
          a22 = a[10],
          a23 = a[11],
          a30 = a[12],
          a31 = a[13],
          a32 = a[14],
          a33 = a[15];
      var b0 = b[0],
          b1 = b[1],
          b2 = b[2],
          b3 = b[3];
      out[0] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
      out[1] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
      out[2] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
      out[3] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
      b0 = b[4];
      b1 = b[5];
      b2 = b[6];
      b3 = b[7];
      out[4] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
      out[5] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
      out[6] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
      out[7] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
      b0 = b[8];
      b1 = b[9];
      b2 = b[10];
      b3 = b[11];
      out[8] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
      out[9] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
      out[10] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
      out[11] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
      b0 = b[12];
      b1 = b[13];
      b2 = b[14];
      b3 = b[15];
      out[12] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
      out[13] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
      out[14] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
      out[15] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
    },
    determinant: function determinant(matrix) {
      var _matrix = _$$_REQUIRE(_dependencyMap[0])(matrix, 16),
          m00 = _matrix[0],
          m01 = _matrix[1],
          m02 = _matrix[2],
          m03 = _matrix[3],
          m10 = _matrix[4],
          m11 = _matrix[5],
          m12 = _matrix[6],
          m13 = _matrix[7],
          m20 = _matrix[8],
          m21 = _matrix[9],
          m22 = _matrix[10],
          m23 = _matrix[11],
          m30 = _matrix[12],
          m31 = _matrix[13],
          m32 = _matrix[14],
          m33 = _matrix[15];

      return m03 * m12 * m21 * m30 - m02 * m13 * m21 * m30 - m03 * m11 * m22 * m30 + m01 * m13 * m22 * m30 + m02 * m11 * m23 * m30 - m01 * m12 * m23 * m30 - m03 * m12 * m20 * m31 + m02 * m13 * m20 * m31 + m03 * m10 * m22 * m31 - m00 * m13 * m22 * m31 - m02 * m10 * m23 * m31 + m00 * m12 * m23 * m31 + m03 * m11 * m20 * m32 - m01 * m13 * m20 * m32 - m03 * m10 * m21 * m32 + m00 * m13 * m21 * m32 + m01 * m10 * m23 * m32 - m00 * m11 * m23 * m32 - m02 * m11 * m20 * m33 + m01 * m12 * m20 * m33 + m02 * m10 * m21 * m33 - m00 * m12 * m21 * m33 - m01 * m10 * m22 * m33 + m00 * m11 * m22 * m33;
    },
    inverse: function inverse(matrix) {
      var det = MatrixMath.determinant(matrix);

      if (!det) {
        return matrix;
      }

      var _matrix2 = _$$_REQUIRE(_dependencyMap[0])(matrix, 16),
          m00 = _matrix2[0],
          m01 = _matrix2[1],
          m02 = _matrix2[2],
          m03 = _matrix2[3],
          m10 = _matrix2[4],
          m11 = _matrix2[5],
          m12 = _matrix2[6],
          m13 = _matrix2[7],
          m20 = _matrix2[8],
          m21 = _matrix2[9],
          m22 = _matrix2[10],
          m23 = _matrix2[11],
          m30 = _matrix2[12],
          m31 = _matrix2[13],
          m32 = _matrix2[14],
          m33 = _matrix2[15];

      return [(m12 * m23 * m31 - m13 * m22 * m31 + m13 * m21 * m32 - m11 * m23 * m32 - m12 * m21 * m33 + m11 * m22 * m33) / det, (m03 * m22 * m31 - m02 * m23 * m31 - m03 * m21 * m32 + m01 * m23 * m32 + m02 * m21 * m33 - m01 * m22 * m33) / det, (m02 * m13 * m31 - m03 * m12 * m31 + m03 * m11 * m32 - m01 * m13 * m32 - m02 * m11 * m33 + m01 * m12 * m33) / det, (m03 * m12 * m21 - m02 * m13 * m21 - m03 * m11 * m22 + m01 * m13 * m22 + m02 * m11 * m23 - m01 * m12 * m23) / det, (m13 * m22 * m30 - m12 * m23 * m30 - m13 * m20 * m32 + m10 * m23 * m32 + m12 * m20 * m33 - m10 * m22 * m33) / det, (m02 * m23 * m30 - m03 * m22 * m30 + m03 * m20 * m32 - m00 * m23 * m32 - m02 * m20 * m33 + m00 * m22 * m33) / det, (m03 * m12 * m30 - m02 * m13 * m30 - m03 * m10 * m32 + m00 * m13 * m32 + m02 * m10 * m33 - m00 * m12 * m33) / det, (m02 * m13 * m20 - m03 * m12 * m20 + m03 * m10 * m22 - m00 * m13 * m22 - m02 * m10 * m23 + m00 * m12 * m23) / det, (m11 * m23 * m30 - m13 * m21 * m30 + m13 * m20 * m31 - m10 * m23 * m31 - m11 * m20 * m33 + m10 * m21 * m33) / det, (m03 * m21 * m30 - m01 * m23 * m30 - m03 * m20 * m31 + m00 * m23 * m31 + m01 * m20 * m33 - m00 * m21 * m33) / det, (m01 * m13 * m30 - m03 * m11 * m30 + m03 * m10 * m31 - m00 * m13 * m31 - m01 * m10 * m33 + m00 * m11 * m33) / det, (m03 * m11 * m20 - m01 * m13 * m20 - m03 * m10 * m21 + m00 * m13 * m21 + m01 * m10 * m23 - m00 * m11 * m23) / det, (m12 * m21 * m30 - m11 * m22 * m30 - m12 * m20 * m31 + m10 * m22 * m31 + m11 * m20 * m32 - m10 * m21 * m32) / det, (m01 * m22 * m30 - m02 * m21 * m30 + m02 * m20 * m31 - m00 * m22 * m31 - m01 * m20 * m32 + m00 * m21 * m32) / det, (m02 * m11 * m30 - m01 * m12 * m30 - m02 * m10 * m31 + m00 * m12 * m31 + m01 * m10 * m32 - m00 * m11 * m32) / det, (m01 * m12 * m20 - m02 * m11 * m20 + m02 * m10 * m21 - m00 * m12 * m21 - m01 * m10 * m22 + m00 * m11 * m22) / det];
    },
    transpose: function transpose(m) {
      return [m[0], m[4], m[8], m[12], m[1], m[5], m[9], m[13], m[2], m[6], m[10], m[14], m[3], m[7], m[11], m[15]];
    },
    multiplyVectorByMatrix: function multiplyVectorByMatrix(v, m) {
      var _v = _$$_REQUIRE(_dependencyMap[0])(v, 4),
          vx = _v[0],
          vy = _v[1],
          vz = _v[2],
          vw = _v[3];

      return [vx * m[0] + vy * m[4] + vz * m[8] + vw * m[12], vx * m[1] + vy * m[5] + vz * m[9] + vw * m[13], vx * m[2] + vy * m[6] + vz * m[10] + vw * m[14], vx * m[3] + vy * m[7] + vz * m[11] + vw * m[15]];
    },
    v3Length: function v3Length(a) {
      return Math.sqrt(a[0] * a[0] + a[1] * a[1] + a[2] * a[2]);
    },
    v3Normalize: function v3Normalize(vector, v3Length) {
      var im = 1 / (v3Length || MatrixMath.v3Length(vector));
      return [vector[0] * im, vector[1] * im, vector[2] * im];
    },
    v3Dot: function v3Dot(a, b) {
      return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
    },
    v3Combine: function v3Combine(a, b, aScale, bScale) {
      return [aScale * a[0] + bScale * b[0], aScale * a[1] + bScale * b[1], aScale * a[2] + bScale * b[2]];
    },
    v3Cross: function v3Cross(a, b) {
      return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];
    },
    quaternionToDegreesXYZ: function quaternionToDegreesXYZ(q, matrix, row) {
      var _q = _$$_REQUIRE(_dependencyMap[0])(q, 4),
          qx = _q[0],
          qy = _q[1],
          qz = _q[2],
          qw = _q[3];

      var qw2 = qw * qw;
      var qx2 = qx * qx;
      var qy2 = qy * qy;
      var qz2 = qz * qz;
      var test = qx * qy + qz * qw;
      var unit = qw2 + qx2 + qy2 + qz2;
      var conv = 180 / Math.PI;

      if (test > 0.49999 * unit) {
        return [0, 2 * Math.atan2(qx, qw) * conv, 90];
      }

      if (test < -0.49999 * unit) {
        return [0, -2 * Math.atan2(qx, qw) * conv, -90];
      }

      return [MatrixMath.roundTo3Places(Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx2 - 2 * qz2) * conv), MatrixMath.roundTo3Places(Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy2 - 2 * qz2) * conv), MatrixMath.roundTo3Places(Math.asin(2 * qx * qy + 2 * qz * qw) * conv)];
    },
    roundTo3Places: function roundTo3Places(n) {
      var arr = n.toString().split('e');
      return Math.round(arr[0] + 'e' + (arr[1] ? +arr[1] - 3 : 3)) * 0.001;
    },
    decomposeMatrix: function decomposeMatrix(transformMatrix) {
      _$$_REQUIRE(_dependencyMap[1])(transformMatrix.length === 16, 'Matrix decomposition needs a list of 3d matrix values, received %s', transformMatrix);

      var perspective = [];
      var quaternion = [];
      var scale = [];
      var skew = [];
      var translation = [];

      if (!transformMatrix[15]) {
        return;
      }

      var matrix = [];
      var perspectiveMatrix = [];

      for (var i = 0; i < 4; i++) {
        matrix.push([]);

        for (var j = 0; j < 4; j++) {
          var value = transformMatrix[i * 4 + j] / transformMatrix[15];
          matrix[i].push(value);
          perspectiveMatrix.push(j === 3 ? 0 : value);
        }
      }

      perspectiveMatrix[15] = 1;

      if (!MatrixMath.determinant(perspectiveMatrix)) {
        return;
      }

      if (matrix[0][3] !== 0 || matrix[1][3] !== 0 || matrix[2][3] !== 0) {
        var rightHandSide = [matrix[0][3], matrix[1][3], matrix[2][3], matrix[3][3]];
        var inversePerspectiveMatrix = MatrixMath.inverse(perspectiveMatrix);
        var transposedInversePerspectiveMatrix = MatrixMath.transpose(inversePerspectiveMatrix);
        perspective = MatrixMath.multiplyVectorByMatrix(rightHandSide, transposedInversePerspectiveMatrix);
      } else {
        perspective[0] = perspective[1] = perspective[2] = 0;
        perspective[3] = 1;
      }

      for (var _i = 0; _i < 3; _i++) {
        translation[_i] = matrix[3][_i];
      }

      var row = [];

      for (var _i2 = 0; _i2 < 3; _i2++) {
        row[_i2] = [matrix[_i2][0], matrix[_i2][1], matrix[_i2][2]];
      }

      scale[0] = MatrixMath.v3Length(row[0]);
      row[0] = MatrixMath.v3Normalize(row[0], scale[0]);
      skew[0] = MatrixMath.v3Dot(row[0], row[1]);
      row[1] = MatrixMath.v3Combine(row[1], row[0], 1.0, -skew[0]);
      scale[1] = MatrixMath.v3Length(row[1]);
      row[1] = MatrixMath.v3Normalize(row[1], scale[1]);
      skew[0] /= scale[1];
      skew[1] = MatrixMath.v3Dot(row[0], row[2]);
      row[2] = MatrixMath.v3Combine(row[2], row[0], 1.0, -skew[1]);
      skew[2] = MatrixMath.v3Dot(row[1], row[2]);
      row[2] = MatrixMath.v3Combine(row[2], row[1], 1.0, -skew[2]);
      scale[2] = MatrixMath.v3Length(row[2]);
      row[2] = MatrixMath.v3Normalize(row[2], scale[2]);
      skew[1] /= scale[2];
      skew[2] /= scale[2];
      var pdum3 = MatrixMath.v3Cross(row[1], row[2]);

      if (MatrixMath.v3Dot(row[0], pdum3) < 0) {
        for (var _i3 = 0; _i3 < 3; _i3++) {
          scale[_i3] *= -1;
          row[_i3][0] *= -1;
          row[_i3][1] *= -1;
          row[_i3][2] *= -1;
        }
      }

      quaternion[0] = 0.5 * Math.sqrt(Math.max(1 + row[0][0] - row[1][1] - row[2][2], 0));
      quaternion[1] = 0.5 * Math.sqrt(Math.max(1 - row[0][0] + row[1][1] - row[2][2], 0));
      quaternion[2] = 0.5 * Math.sqrt(Math.max(1 - row[0][0] - row[1][1] + row[2][2], 0));
      quaternion[3] = 0.5 * Math.sqrt(Math.max(1 + row[0][0] + row[1][1] + row[2][2], 0));

      if (row[2][1] > row[1][2]) {
        quaternion[0] = -quaternion[0];
      }

      if (row[0][2] > row[2][0]) {
        quaternion[1] = -quaternion[1];
      }

      if (row[1][0] > row[0][1]) {
        quaternion[2] = -quaternion[2];
      }

      var rotationDegrees;

      if (quaternion[0] < 0.001 && quaternion[0] >= 0 && quaternion[1] < 0.001 && quaternion[1] >= 0) {
        rotationDegrees = [0, 0, MatrixMath.roundTo3Places(Math.atan2(row[0][1], row[0][0]) * 180 / Math.PI)];
      } else {
        rotationDegrees = MatrixMath.quaternionToDegreesXYZ(quaternion, matrix, row);
      }

      return {
        rotationDegrees: rotationDegrees,
        perspective: perspective,
        quaternion: quaternion,
        scale: scale,
        skew: skew,
        translation: translation,
        rotate: rotationDegrees[2],
        rotateX: rotationDegrees[0],
        rotateY: rotationDegrees[1],
        scaleX: scale[0],
        scaleY: scale[1],
        translateX: translation[0],
        translateY: translation[1]
      };
    }
  };
  module.exports = MatrixMath;
},153,[41,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.setRuntimeConfigProvider = setRuntimeConfigProvider;
  exports.get = get;
  exports.getWithFallback_DEPRECATED = getWithFallback_DEPRECATED;
  exports.unstable_hasStaticViewConfig = unstable_hasStaticViewConfig;
  exports.unstable_hasComponent = unstable_hasComponent;

  var _UIManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _ReactNativeViewConfigRegistry = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _getNativeComponentAttributes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _verifyComponentAttributeEquivalence = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var getRuntimeConfig;
  var componentNameToExists = new Map();

  function setRuntimeConfigProvider(runtimeConfigProvider) {
    (0, _invariant.default)(getRuntimeConfig == null, 'NativeComponentRegistry.setRuntimeConfigProvider() called more than once.');
    getRuntimeConfig = runtimeConfigProvider;
  }

  function get(name, viewConfigProvider) {
    _ReactNativeViewConfigRegistry.default.register(name, function () {
      var _getRuntimeConfig;

      var _ref = (_getRuntimeConfig = getRuntimeConfig == null ? undefined : getRuntimeConfig(name)) != null ? _getRuntimeConfig : {
        native: true,
        verify: false
      },
          native = _ref.native,
          verify = _ref.verify;

      var viewConfig = native ? (0, _getNativeComponentAttributes.default)(name) : (0, _$$_REQUIRE(_dependencyMap[7]).createViewConfig)(viewConfigProvider());

      if (verify) {
        if (native) {
          (0, _verifyComponentAttributeEquivalence.default)(viewConfig, (0, _$$_REQUIRE(_dependencyMap[7]).createViewConfig)(viewConfigProvider()));
        } else {
          (0, _verifyComponentAttributeEquivalence.default)((0, _getNativeComponentAttributes.default)(name), viewConfig);
        }
      }

      return viewConfig;
    });

    return name;
  }

  function getWithFallback_DEPRECATED(name, viewConfigProvider) {
    if (getRuntimeConfig == null) {
      if (hasNativeViewConfig(name)) {
        return get(name, viewConfigProvider);
      }
    } else {
      if (getRuntimeConfig(name) != null) {
        return get(name, viewConfigProvider);
      }
    }

    var FallbackNativeComponent = function FallbackNativeComponent(props) {
      return null;
    };

    FallbackNativeComponent.displayName = "Fallback(" + name + ")";
    return FallbackNativeComponent;
  }

  function hasNativeViewConfig(name) {
    (0, _invariant.default)(getRuntimeConfig == null, 'Unexpected invocation!');
    return _UIManager.default.getViewManagerConfig(name) != null;
  }

  function unstable_hasStaticViewConfig(name) {
    var _getRuntimeConfig2;

    var _ref2 = (_getRuntimeConfig2 = getRuntimeConfig == null ? undefined : getRuntimeConfig(name)) != null ? _getRuntimeConfig2 : {
      native: true
    },
        native = _ref2.native;

    return !native;
  }

  function unstable_hasComponent(name) {
    var hasNativeComponent = componentNameToExists.get(name);

    if (hasNativeComponent == null) {
      if (global.__nativeComponentRegistry__hasComponent) {
        hasNativeComponent = global.__nativeComponentRegistry__hasComponent(name);
        componentNameToExists.set(name, hasNativeComponent);
      } else {
        throw "unstable_hasComponent('" + name + "'): Global function is not registered";
      }
    }

    return hasNativeComponent;
  }
},154,[5,155,138,161,174,36,17,175]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _UIManagerInjection = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var UIManager = global.RN$Bridgeless === true ? _$$_REQUIRE(_dependencyMap[2]) : _UIManagerInjection.default.unstable_UIManager == null ? _$$_REQUIRE(_dependencyMap[3]) : _UIManagerInjection.default.unstable_UIManager;
  module.exports = UIManager;
},155,[5,156,157,158]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;
  var _default = {
    unstable_UIManager: null
  };
  exports.default = _default;
},156,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = {
    getViewManagerConfig: function getViewManagerConfig(viewManagerName) {
      console.warn('Attempting to get config for view manager: ' + viewManagerName);

      if (viewManagerName === 'RCTVirtualText') {
        return {};
      }

      return null;
    },
    hasViewManagerConfig: function hasViewManagerConfig(viewManagerName) {
      return viewManagerName === 'RCTVirtualText' || viewManagerName === 'RCTShimmeringView';
    },
    getConstants: function getConstants() {
      return {};
    },
    getConstantsForViewManager: function getConstantsForViewManager(viewManagerName) {},
    getDefaultEventTypes: function getDefaultEventTypes() {
      return [];
    },
    lazilyLoadView: function lazilyLoadView(name) {},
    createView: function createView(reactTag, viewName, rootTag, props) {},
    updateView: function updateView(reactTag, viewName, props) {},
    focus: function focus(reactTag) {},
    blur: function blur(reactTag) {},
    findSubviewIn: function findSubviewIn(reactTag, point, callback) {},
    dispatchViewManagerCommand: function dispatchViewManagerCommand(reactTag, commandID, commandArgs) {},
    measure: function measure(reactTag, callback) {},
    measureInWindow: function measureInWindow(reactTag, callback) {},
    viewIsDescendantOf: function viewIsDescendantOf(reactTag, ancestorReactTag, callback) {},
    measureLayout: function measureLayout(reactTag, ancestorReactTag, errorCallback, callback) {},
    measureLayoutRelativeToParent: function measureLayoutRelativeToParent(reactTag, errorCallback, callback) {},
    setJSResponder: function setJSResponder(reactTag, blockNativeResponder) {},
    clearJSResponder: function clearJSResponder() {},
    configureNextLayoutAnimation: function configureNextLayoutAnimation(config, callback, errorCallback) {},
    removeSubviewsFromContainerWithID: function removeSubviewsFromContainerWithID(containerID) {},
    replaceExistingNonRootView: function replaceExistingNonRootView(reactTag, newReactTag) {},
    setChildren: function setChildren(containerTag, reactTags) {},
    manageChildren: function manageChildren(containerTag, moveFromIndices, moveToIndices, addChildReactTags, addAtIndices, removeAtIndices) {},
    setLayoutAnimationEnabledExperimental: function setLayoutAnimationEnabledExperimental(enabled) {},
    sendAccessibilityEvent: function sendAccessibilityEvent(reactTag, eventType) {},
    showPopupMenu: function showPopupMenu(reactTag, items, error, success) {},
    dismissPopupMenu: function dismissPopupMenu() {}
  };
},157,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _NativeUIManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var viewManagerConfigs = {};
  var triedLoadingConfig = new Set();
  var NativeUIManagerConstants = {};
  var isNativeUIManagerConstantsSet = false;

  function _getConstants() {
    if (!isNativeUIManagerConstantsSet) {
      NativeUIManagerConstants = _NativeUIManager.default.getConstants();
      isNativeUIManagerConstantsSet = true;
    }

    return NativeUIManagerConstants;
  }

  function _getViewManagerConfig(viewManagerName) {
    if (viewManagerConfigs[viewManagerName] === undefined && global.nativeCallSyncHook && _NativeUIManager.default.getConstantsForViewManager) {
      try {
        viewManagerConfigs[viewManagerName] = _NativeUIManager.default.getConstantsForViewManager(viewManagerName);
      } catch (e) {
        console.error("NativeUIManager.getConstantsForViewManager('" + viewManagerName + "') threw an exception.", e);
        viewManagerConfigs[viewManagerName] = null;
      }
    }

    var config = viewManagerConfigs[viewManagerName];

    if (config) {
      return config;
    }

    if (!global.nativeCallSyncHook) {
      return config;
    }

    if (_NativeUIManager.default.lazilyLoadView && !triedLoadingConfig.has(viewManagerName)) {
      var result = _NativeUIManager.default.lazilyLoadView(viewManagerName);

      triedLoadingConfig.add(viewManagerName);

      if (result != null && result.viewConfig != null) {
        _getConstants()[viewManagerName] = result.viewConfig;
        lazifyViewManagerConfig(viewManagerName);
      }
    }

    return viewManagerConfigs[viewManagerName];
  }

  var UIManagerJS = (0, _extends2.default)({}, _NativeUIManager.default, {
    createView: function createView(reactTag, viewName, rootTag, props) {
      if (viewManagerConfigs[viewName] === undefined) {
        _getViewManagerConfig(viewName);
      }

      _NativeUIManager.default.createView(reactTag, viewName, rootTag, props);
    },
    getConstants: function getConstants() {
      return _getConstants();
    },
    getViewManagerConfig: function getViewManagerConfig(viewManagerName) {
      return _getViewManagerConfig(viewManagerName);
    },
    hasViewManagerConfig: function hasViewManagerConfig(viewManagerName) {
      return _getViewManagerConfig(viewManagerName) != null;
    }
  });
  _NativeUIManager.default.getViewManagerConfig = UIManagerJS.getViewManagerConfig;

  function lazifyViewManagerConfig(viewName) {
    var viewConfig = _getConstants()[viewName];

    viewManagerConfigs[viewName] = viewConfig;

    if (viewConfig.Manager) {
      _$$_REQUIRE(_dependencyMap[3])(viewConfig, 'Constants', {
        get: function get() {
          var viewManager = _$$_REQUIRE(_dependencyMap[4])[viewConfig.Manager];

          var constants = {};
          viewManager && Object.keys(viewManager).forEach(function (key) {
            var value = viewManager[key];

            if (typeof value !== 'function') {
              constants[key] = value;
            }
          });
          return constants;
        }
      });

      _$$_REQUIRE(_dependencyMap[3])(viewConfig, 'Commands', {
        get: function get() {
          var viewManager = _$$_REQUIRE(_dependencyMap[4])[viewConfig.Manager];

          var commands = {};
          var index = 0;
          viewManager && Object.keys(viewManager).forEach(function (key) {
            var value = viewManager[key];

            if (typeof value === 'function') {
              commands[key] = index++;
            }
          });
          return commands;
        }
      });
    }
  }

  {
    Object.keys(_getConstants()).forEach(function (viewName) {
      lazifyViewManagerConfig(viewName);
    });
  }

  if (!global.nativeCallSyncHook) {
    Object.keys(_getConstants()).forEach(function (viewManagerName) {
      if (!_$$_REQUIRE(_dependencyMap[5]).includes(viewManagerName)) {
        if (!viewManagerConfigs[viewManagerName]) {
          viewManagerConfigs[viewManagerName] = _getConstants()[viewManagerName];
        }

        _$$_REQUIRE(_dependencyMap[3])(_NativeUIManager.default, viewManagerName, {
          get: function get() {
            console.warn("Accessing view manager configs directly off UIManager via UIManager['" + viewManagerName + "'] " + ("is no longer supported. Use UIManager.getViewManagerConfig('" + viewManagerName + "') instead."));
            return UIManagerJS.getViewManagerConfig(viewManagerName);
          }
        });
      }
    });
  }

  module.exports = UIManagerJS;
},158,[5,6,159,50,40,160]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.getEnforcing('UIManager');

  exports.default = _default;
},159,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = ['clearJSResponder', 'configureNextLayoutAnimation', 'createView', 'dismissPopupMenu', 'dispatchViewManagerCommand', 'findSubviewIn', 'getConstantsForViewManager', 'getDefaultEventTypes', 'manageChildren', 'measure', 'measureInWindow', 'measureLayout', 'measureLayoutRelativeToParent', 'removeRootView', 'removeSubviewsFromContainerWithID', 'replaceExistingNonRootView', 'sendAccessibilityEvent', 'setChildren', 'setJSResponder', 'setLayoutAnimationEnabledExperimental', 'showPopupMenu', 'updateView', 'viewIsDescendantOf', 'PopupMenu', 'LazyViewManagersEnabled', 'ViewManagerNames', 'StyleConstants', 'AccessibilityEventTypes', 'UIView', 'getViewManagerConfig', 'hasViewManagerConfig', 'blur', 'focus', 'genericBubblingEventTypes', 'genericDirectEventTypes', 'lazilyLoadView'];
},160,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function getNativeComponentAttributes(uiViewClassName) {
    var viewConfig = _$$_REQUIRE(_dependencyMap[0]).getViewManagerConfig(uiViewClassName);

    _$$_REQUIRE(_dependencyMap[1])(viewConfig != null && viewConfig.NativeProps != null, 'requireNativeComponent: "%s" was not found in the UIManager.', uiViewClassName);

    var baseModuleName = viewConfig.baseModuleName,
        bubblingEventTypes = viewConfig.bubblingEventTypes,
        directEventTypes = viewConfig.directEventTypes;
    var nativeProps = viewConfig.NativeProps;

    while (baseModuleName) {
      var baseModule = _$$_REQUIRE(_dependencyMap[0]).getViewManagerConfig(baseModuleName);

      if (!baseModule) {
        baseModuleName = null;
      } else {
        bubblingEventTypes = _$$_REQUIRE(_dependencyMap[2])({}, baseModule.bubblingEventTypes, bubblingEventTypes);
        directEventTypes = _$$_REQUIRE(_dependencyMap[2])({}, baseModule.directEventTypes, directEventTypes);
        nativeProps = _$$_REQUIRE(_dependencyMap[2])({}, baseModule.NativeProps, nativeProps);
        baseModuleName = baseModule.baseModuleName;
      }
    }

    var validAttributes = {};

    for (var key in nativeProps) {
      var typeName = nativeProps[key];
      var diff = getDifferForType(typeName);
      var process = getProcessorForType(typeName);
      validAttributes[key] = diff == null && process == null ? true : {
        diff: diff,
        process: process
      };
    }

    validAttributes.style = _$$_REQUIRE(_dependencyMap[3]);

    _$$_REQUIRE(_dependencyMap[2])(viewConfig, {
      uiViewClassName: uiViewClassName,
      validAttributes: validAttributes,
      bubblingEventTypes: bubblingEventTypes,
      directEventTypes: directEventTypes
    });

    if (!hasAttachedDefaultEventTypes) {
      attachDefaultEventTypes(viewConfig);
      hasAttachedDefaultEventTypes = true;
    }

    return viewConfig;
  }

  var hasAttachedDefaultEventTypes = false;

  function attachDefaultEventTypes(viewConfig) {
    var constants = _$$_REQUIRE(_dependencyMap[0]).getConstants();

    if (constants.ViewManagerNames || constants.LazyViewManagersEnabled) {
      viewConfig = merge(viewConfig, _$$_REQUIRE(_dependencyMap[0]).getDefaultEventTypes());
    } else {
      viewConfig.bubblingEventTypes = merge(viewConfig.bubblingEventTypes, constants.genericBubblingEventTypes);
      viewConfig.directEventTypes = merge(viewConfig.directEventTypes, constants.genericDirectEventTypes);
    }
  }

  function merge(destination, source) {
    if (!source) {
      return destination;
    }

    if (!destination) {
      return source;
    }

    for (var key in source) {
      if (!source.hasOwnProperty(key)) {
        continue;
      }

      var sourceValue = source[key];

      if (destination.hasOwnProperty(key)) {
        var destinationValue = destination[key];

        if (typeof sourceValue === 'object' && typeof destinationValue === 'object') {
          sourceValue = merge(destinationValue, sourceValue);
        }
      }

      destination[key] = sourceValue;
    }

    return destination;
  }

  function getDifferForType(typeName) {
    switch (typeName) {
      case 'CATransform3D':
        return _$$_REQUIRE(_dependencyMap[4]);

      case 'CGPoint':
        return _$$_REQUIRE(_dependencyMap[5]);

      case 'CGSize':
        return _$$_REQUIRE(_dependencyMap[6]);

      case 'UIEdgeInsets':
        return _$$_REQUIRE(_dependencyMap[7]);

      case 'Point':
        return _$$_REQUIRE(_dependencyMap[5]);
    }

    return null;
  }

  function getProcessorForType(typeName) {
    switch (typeName) {
      case 'CGColor':
      case 'UIColor':
        return _$$_REQUIRE(_dependencyMap[8]);

      case 'CGColorArray':
      case 'UIColorArray':
        return _$$_REQUIRE(_dependencyMap[9]);

      case 'CGImage':
      case 'UIImage':
      case 'RCTImageSource':
        return _$$_REQUIRE(_dependencyMap[10]);

      case 'Color':
        return _$$_REQUIRE(_dependencyMap[8]);

      case 'ColorArray':
        return _$$_REQUIRE(_dependencyMap[9]);
    }

    return null;
  }

  module.exports = getNativeComponentAttributes;
},161,[155,36,6,162,151,163,150,149,145,164,165]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _processColor = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _processTransform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _sizesDiffer = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var colorAttributes = {
    process: _processColor.default
  };
  var ReactNativeStyleAttributes = {
    alignContent: true,
    alignItems: true,
    alignSelf: true,
    aspectRatio: true,
    borderBottomWidth: true,
    borderEndWidth: true,
    borderLeftWidth: true,
    borderRightWidth: true,
    borderStartWidth: true,
    borderTopWidth: true,
    borderWidth: true,
    bottom: true,
    direction: true,
    display: true,
    end: true,
    flex: true,
    flexBasis: true,
    flexDirection: true,
    flexGrow: true,
    flexShrink: true,
    flexWrap: true,
    height: true,
    justifyContent: true,
    left: true,
    margin: true,
    marginBottom: true,
    marginEnd: true,
    marginHorizontal: true,
    marginLeft: true,
    marginRight: true,
    marginStart: true,
    marginTop: true,
    marginVertical: true,
    maxHeight: true,
    maxWidth: true,
    minHeight: true,
    minWidth: true,
    overflow: true,
    padding: true,
    paddingBottom: true,
    paddingEnd: true,
    paddingHorizontal: true,
    paddingLeft: true,
    paddingRight: true,
    paddingStart: true,
    paddingTop: true,
    paddingVertical: true,
    position: true,
    right: true,
    start: true,
    top: true,
    width: true,
    zIndex: true,
    elevation: true,
    shadowColor: colorAttributes,
    shadowOffset: {
      diff: _sizesDiffer.default
    },
    shadowOpacity: true,
    shadowRadius: true,
    decomposedMatrix: true,
    rotation: true,
    scaleX: true,
    scaleY: true,
    transform: {
      process: _processTransform.default
    },
    transformMatrix: true,
    translateX: true,
    translateY: true,
    backfaceVisibility: true,
    backgroundColor: colorAttributes,
    borderBottomColor: colorAttributes,
    borderBottomEndRadius: true,
    borderBottomLeftRadius: true,
    borderBottomRightRadius: true,
    borderBottomStartRadius: true,
    borderColor: colorAttributes,
    borderEndColor: colorAttributes,
    borderLeftColor: colorAttributes,
    borderRadius: true,
    borderRightColor: colorAttributes,
    borderStartColor: colorAttributes,
    borderStyle: true,
    borderTopColor: colorAttributes,
    borderTopEndRadius: true,
    borderTopLeftRadius: true,
    borderTopRightRadius: true,
    borderTopStartRadius: true,
    opacity: true,
    color: colorAttributes,
    fontFamily: true,
    fontSize: true,
    fontStyle: true,
    fontVariant: true,
    fontWeight: true,
    includeFontPadding: true,
    letterSpacing: true,
    lineHeight: true,
    textAlign: true,
    textAlignVertical: true,
    textDecorationColor: colorAttributes,
    textDecorationLine: true,
    textDecorationStyle: true,
    textShadowColor: colorAttributes,
    textShadowOffset: true,
    textShadowRadius: true,
    textTransform: true,
    writingDirection: true,
    overlayColor: colorAttributes,
    resizeMode: true,
    tintColor: colorAttributes
  };
  module.exports = ReactNativeStyleAttributes;
},162,[5,145,152,150]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var dummyPoint = {
    x: undefined,
    y: undefined
  };

  var pointsDiffer = function pointsDiffer(one, two) {
    one = one || dummyPoint;
    two = two || dummyPoint;
    return one !== two && (one.x !== two.x || one.y !== two.y);
  };

  module.exports = pointsDiffer;
},163,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _processColor = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var TRANSPARENT = 0;

  function processColorArray(colors) {
    return colors == null ? null : colors.map(processColorElement);
  }

  function processColorElement(color) {
    var value = (0, _processColor.default)(color);

    if (value == null) {
      console.error('Invalid value in color array:', color);
      return TRANSPARENT;
    }

    return value;
  }

  module.exports = processColorArray;
},164,[5,145]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _customSourceTransformer, _serverURL, _scriptURL;

  var _sourceCodeScriptURL;

  function getSourceCodeScriptURL() {
    if (_sourceCodeScriptURL) {
      return _sourceCodeScriptURL;
    }

    var sourceCode = global.nativeExtensions && global.nativeExtensions.SourceCode;

    if (!sourceCode) {
      sourceCode = _$$_REQUIRE(_dependencyMap[0]).default;
    }

    _sourceCodeScriptURL = sourceCode.getConstants().scriptURL;
    return _sourceCodeScriptURL;
  }

  function getDevServerURL() {
    if (_serverURL === undefined) {
      var sourceCodeScriptURL = getSourceCodeScriptURL();
      var match = sourceCodeScriptURL && sourceCodeScriptURL.match(/^https?:\/\/.*?\//);

      if (match) {
        _serverURL = match[0];
      } else {
        _serverURL = null;
      }
    }

    return _serverURL;
  }

  function _coerceLocalScriptURL(scriptURL) {
    if (scriptURL) {
      if (scriptURL.startsWith('assets://')) {
        return null;
      }

      scriptURL = scriptURL.substring(0, scriptURL.lastIndexOf('/') + 1);

      if (!scriptURL.includes('://')) {
        scriptURL = 'file://' + scriptURL;
      }
    }

    return scriptURL;
  }

  function getScriptURL() {
    if (_scriptURL === undefined) {
      _scriptURL = _coerceLocalScriptURL(getSourceCodeScriptURL());
    }

    return _scriptURL;
  }

  function setCustomSourceTransformer(transformer) {
    _customSourceTransformer = transformer;
  }

  function resolveAssetSource(source) {
    if (typeof source === 'object') {
      return source;
    }

    var asset = _$$_REQUIRE(_dependencyMap[1]).getAssetByID(source);

    if (!asset) {
      return null;
    }

    var resolver = new (_$$_REQUIRE(_dependencyMap[2]))(getDevServerURL(), getScriptURL(), asset);

    if (_customSourceTransformer) {
      return _customSourceTransformer(resolver);
    }

    return resolver.defaultAsset();
  }

  module.exports = resolveAssetSource;
  module.exports.pickScale = _$$_REQUIRE(_dependencyMap[3]).pickScale;
  module.exports.setCustomSourceTransformer = setCustomSourceTransformer;
},165,[166,167,168,169]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var NativeModule = TurboModuleRegistry.getEnforcing('SourceCode');
  var constants = null;
  var NativeSourceCode = {
    getConstants: function getConstants() {
      if (constants == null) {
        constants = NativeModule.getConstants();
      }

      return constants;
    }
  };
  var _default = NativeSourceCode;
  exports.default = _default;
},166,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var assets = [];

  function registerAsset(asset) {
    return assets.push(asset);
  }

  function getAssetByID(assetId) {
    return assets[assetId - 1];
  }

  module.exports = {
    registerAsset: registerAsset,
    getAssetByID: getAssetByID
  };
},167,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function getScaledAssetPath(asset) {
    var scale = _$$_REQUIRE(_dependencyMap[0]).pickScale(asset.scales, _$$_REQUIRE(_dependencyMap[1]).get());

    var scaleSuffix = scale === 1 ? '' : '@' + scale + 'x';

    var assetDir = _$$_REQUIRE(_dependencyMap[2]).getBasePath(asset);

    return assetDir + '/' + asset.name + scaleSuffix + '.' + asset.type;
  }

  function getAssetPathInDrawableFolder(asset) {
    var scale = _$$_REQUIRE(_dependencyMap[0]).pickScale(asset.scales, _$$_REQUIRE(_dependencyMap[1]).get());

    var drawbleFolder = _$$_REQUIRE(_dependencyMap[2]).getAndroidResourceFolderName(asset, scale);

    var fileName = _$$_REQUIRE(_dependencyMap[2]).getAndroidResourceIdentifier(asset);

    return drawbleFolder + '/' + fileName + '.' + asset.type;
  }

  var AssetSourceResolver = function () {
    function AssetSourceResolver(serverUrl, jsbundleUrl, asset) {
      _$$_REQUIRE(_dependencyMap[3])(this, AssetSourceResolver);

      this.serverUrl = serverUrl;
      this.jsbundleUrl = jsbundleUrl;
      this.asset = asset;
    }

    _$$_REQUIRE(_dependencyMap[4])(AssetSourceResolver, [{
      key: "isLoadedFromServer",
      value: function isLoadedFromServer() {
        return !!this.serverUrl;
      }
    }, {
      key: "isLoadedFromFileSystem",
      value: function isLoadedFromFileSystem() {
        return !!(this.jsbundleUrl && this.jsbundleUrl.startsWith('file://'));
      }
    }, {
      key: "defaultAsset",
      value: function defaultAsset() {
        if (this.isLoadedFromServer()) {
          return this.assetServerURL();
        }

        {
          return this.scaledAssetURLNearBundle();
        }
      }
    }, {
      key: "assetServerURL",
      value: function assetServerURL() {
        _$$_REQUIRE(_dependencyMap[5])(!!this.serverUrl, 'need server to load from');

        return this.fromSource(this.serverUrl + getScaledAssetPath(this.asset) + '?platform=' + "ios" + '&hash=' + this.asset.hash);
      }
    }, {
      key: "scaledAssetPath",
      value: function scaledAssetPath() {
        return this.fromSource(getScaledAssetPath(this.asset));
      }
    }, {
      key: "scaledAssetURLNearBundle",
      value: function scaledAssetURLNearBundle() {
        var path = this.jsbundleUrl || 'file://';
        return this.fromSource(path + getScaledAssetPath(this.asset).replace(/\.\.\//g, '_'));
      }
    }, {
      key: "resourceIdentifierWithoutScale",
      value: function resourceIdentifierWithoutScale() {
        _$$_REQUIRE(_dependencyMap[5])(false, 'resource identifiers work on Android');

        return this.fromSource(_$$_REQUIRE(_dependencyMap[2]).getAndroidResourceIdentifier(this.asset));
      }
    }, {
      key: "drawableFolderInBundle",
      value: function drawableFolderInBundle() {
        var path = this.jsbundleUrl || 'file://';
        return this.fromSource(path + getAssetPathInDrawableFolder(this.asset));
      }
    }, {
      key: "fromSource",
      value: function fromSource(source) {
        return {
          __packager_asset: true,
          width: this.asset.width,
          height: this.asset.height,
          uri: source,
          scale: _$$_REQUIRE(_dependencyMap[0]).pickScale(this.asset.scales, _$$_REQUIRE(_dependencyMap[1]).get())
        };
      }
    }]);

    return AssetSourceResolver;
  }();

  AssetSourceResolver.pickScale = _$$_REQUIRE(_dependencyMap[0]).pickScale;
  module.exports = AssetSourceResolver;
},168,[169,170,173,7,8,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.pickScale = pickScale;
  exports.setUrlCacheBreaker = setUrlCacheBreaker;
  exports.getUrlCacheBreaker = getUrlCacheBreaker;

  var _PixelRatio = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var cacheBreaker;
  var warnIfCacheBreakerUnset = true;

  function pickScale(scales, deviceScale) {
    if (deviceScale == null) {
      deviceScale = _PixelRatio.default.get();
    }

    for (var i = 0; i < scales.length; i++) {
      if (scales[i] >= deviceScale) {
        return scales[i];
      }
    }

    return scales[scales.length - 1] || 1;
  }

  function setUrlCacheBreaker(appendage) {
    cacheBreaker = appendage;
  }

  function getUrlCacheBreaker() {
    if (cacheBreaker == null) {
      return '';
    }

    return cacheBreaker;
  }
},169,[5,170]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var PixelRatio = function () {
    function PixelRatio() {
      _$$_REQUIRE(_dependencyMap[0])(this, PixelRatio);
    }

    _$$_REQUIRE(_dependencyMap[1])(PixelRatio, null, [{
      key: "get",
      value: function get() {
        return _$$_REQUIRE(_dependencyMap[2]).get('window').scale;
      }
    }, {
      key: "getFontScale",
      value: function getFontScale() {
        return _$$_REQUIRE(_dependencyMap[2]).get('window').fontScale || PixelRatio.get();
      }
    }, {
      key: "getPixelSizeForLayoutSize",
      value: function getPixelSizeForLayoutSize(layoutSize) {
        return Math.round(layoutSize * PixelRatio.get());
      }
    }, {
      key: "roundToNearestPixel",
      value: function roundToNearestPixel(layoutSize) {
        var ratio = PixelRatio.get();
        return Math.round(layoutSize * ratio) / ratio;
      }
    }, {
      key: "startDetecting",
      value: function startDetecting() {}
    }]);

    return PixelRatio;
  }();

  module.exports = PixelRatio;
},170,[7,8,171]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _EventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _RCTDeviceEventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _NativeDeviceInfo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var eventEmitter = new _EventEmitter.default();
  var dimensionsInitialized = false;
  var dimensions;

  var Dimensions = function () {
    function Dimensions() {
      (0, _classCallCheck2.default)(this, Dimensions);
    }

    (0, _createClass2.default)(Dimensions, null, [{
      key: "get",
      value: function get(dim) {
        (0, _invariant.default)(dimensions[dim], 'No dimension set for key ' + dim);
        return dimensions[dim];
      }
    }, {
      key: "set",
      value: function set(dims) {
        var screen = dims.screen,
            window = dims.window;
        var windowPhysicalPixels = dims.windowPhysicalPixels;

        if (windowPhysicalPixels) {
          window = {
            width: windowPhysicalPixels.width / windowPhysicalPixels.scale,
            height: windowPhysicalPixels.height / windowPhysicalPixels.scale,
            scale: windowPhysicalPixels.scale,
            fontScale: windowPhysicalPixels.fontScale
          };
        }

        var screenPhysicalPixels = dims.screenPhysicalPixels;

        if (screenPhysicalPixels) {
          screen = {
            width: screenPhysicalPixels.width / screenPhysicalPixels.scale,
            height: screenPhysicalPixels.height / screenPhysicalPixels.scale,
            scale: screenPhysicalPixels.scale,
            fontScale: screenPhysicalPixels.fontScale
          };
        } else if (screen == null) {
          screen = window;
        }

        dimensions = {
          window: window,
          screen: screen
        };

        if (dimensionsInitialized) {
          eventEmitter.emit('change', dimensions);
        } else {
          dimensionsInitialized = true;
        }
      }
    }, {
      key: "addEventListener",
      value: function addEventListener(type, handler) {
        (0, _invariant.default)(type === 'change', 'Trying to subscribe to unknown event: "%s"', type);
        return eventEmitter.addListener(type, handler);
      }
    }, {
      key: "removeEventListener",
      value: function removeEventListener(type, handler) {
        (0, _invariant.default)(type === 'change', 'Trying to remove listener for unknown event: "%s"', type);
        eventEmitter.removeListener(type, handler);
      }
    }]);
    return Dimensions;
  }();

  var initialDims = global.nativeExtensions && global.nativeExtensions.DeviceInfo && global.nativeExtensions.DeviceInfo.Dimensions;

  if (!initialDims) {
    _RCTDeviceEventEmitter.default.addListener('didUpdateDimensions', function (update) {
      Dimensions.set(update);
    });

    initialDims = _NativeDeviceInfo.default.getConstants().Dimensions;
  }

  Dimensions.set(initialDims);
  module.exports = Dimensions;
},171,[5,7,8,31,30,172,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var NativeModule = TurboModuleRegistry.getEnforcing('DeviceInfo');
  var constants = null;
  var NativeDeviceInfo = {
    getConstants: function getConstants() {
      if (constants == null) {
        constants = NativeModule.getConstants();
      }

      return constants;
    }
  };
  var _default = NativeDeviceInfo;
  exports.default = _default;
},172,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var androidScaleSuffix = {
    '0.75': 'ldpi',
    '1': 'mdpi',
    '1.5': 'hdpi',
    '2': 'xhdpi',
    '3': 'xxhdpi',
    '4': 'xxxhdpi'
  };

  function getAndroidAssetSuffix(scale) {
    if (scale.toString() in androidScaleSuffix) {
      return androidScaleSuffix[scale.toString()];
    }

    throw new Error('no such scale ' + scale.toString());
  }

  var drawableFileTypes = new Set(['gif', 'jpeg', 'jpg', 'png', 'svg', 'webp', 'xml']);

  function getAndroidResourceFolderName(asset, scale) {
    if (!drawableFileTypes.has(asset.type)) {
      return 'raw';
    }

    var suffix = getAndroidAssetSuffix(scale);

    if (!suffix) {
      throw new Error("Don't know which android drawable suffix to use for scale: " + scale + '\nAsset: ' + JSON.stringify(asset, null, '\t') + '\nPossible scales are:' + JSON.stringify(androidScaleSuffix, null, '\t'));
    }

    return 'drawable-' + suffix;
  }

  function getAndroidResourceIdentifier(asset) {
    return (getBasePath(asset) + '/' + asset.name).toLowerCase().replace(/\//g, '_').replace(/([^a-z0-9_])/g, '').replace(/^assets_/, '');
  }

  function getBasePath(asset) {
    var basePath = asset.httpServerLocation;
    return basePath.startsWith('/') ? basePath.substr(1) : basePath;
  }

  module.exports = {
    getAndroidResourceFolderName: getAndroidResourceFolderName,
    getAndroidResourceIdentifier: getAndroidResourceIdentifier,
    getBasePath: getBasePath
  };
},173,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = verifyComponentAttributeEquivalence;
  exports.lefthandObjectDiff = lefthandObjectDiff;
  exports.getConfigWithoutViewProps = getConfigWithoutViewProps;
  exports.stringifyViewConfig = stringifyViewConfig;

  var _ReactNativeViewViewConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var IGNORED_KEYS = ['transform', 'hitSlop'];

  function verifyComponentAttributeEquivalence(nativeViewConfig, staticViewConfig) {
    for (var _i = 0, _arr = ['validAttributes', 'bubblingEventTypes', 'directEventTypes']; _i < _arr.length; _i++) {
      var prop = _arr[_i];
      var diff = Object.keys(lefthandObjectDiff(nativeViewConfig[prop], staticViewConfig[prop]));

      if (diff.length > 0) {
        var _staticViewConfig$uiV;

        var name = (_staticViewConfig$uiV = staticViewConfig.uiViewClassName) != null ? _staticViewConfig$uiV : nativeViewConfig.uiViewClassName;
        console.error("'" + name + "' has a view config that does not match native. " + ("'" + prop + "' is missing: " + diff.join(', ')));
      }
    }
  }

  function lefthandObjectDiff(leftObj, rightObj) {
    var differentKeys = {};

    function compare(leftItem, rightItem, key) {
      if (typeof leftItem !== typeof rightItem && leftItem != null) {
        differentKeys[key] = rightItem;
        return;
      }

      if (typeof leftItem === 'object') {
        var objDiff = lefthandObjectDiff(leftItem, rightItem);

        if (Object.keys(objDiff).length > 1) {
          differentKeys[key] = objDiff;
        }

        return;
      }

      if (leftItem !== rightItem) {
        differentKeys[key] = rightItem;
        return;
      }
    }

    for (var key in leftObj) {
      if (IGNORED_KEYS.includes(key)) {
        continue;
      }

      if (!rightObj) {
        differentKeys[key] = {};
      } else if (leftObj.hasOwnProperty(key)) {
        compare(leftObj[key], rightObj[key], key);
      }
    }

    return differentKeys;
  }

  function getConfigWithoutViewProps(viewConfig, propName) {
    if (!viewConfig[propName]) {
      return {};
    }

    return Object.keys(viewConfig[propName]).filter(function (prop) {
      return !_ReactNativeViewViewConfig.default[propName][prop];
    }).reduce(function (obj, prop) {
      obj[prop] = viewConfig[propName][prop];
      return obj;
    }, {});
  }

  function stringifyViewConfig(viewConfig) {
    return JSON.stringify(viewConfig, function (key, val) {
      if (typeof val === 'function') {
        return "\u0192 " + val.name;
      }

      return val;
    }, 2);
  }
},174,[5,143]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createViewConfig = createViewConfig;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _ReactNativeViewViewConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  function createViewConfig(partialViewConfig) {
    return {
      uiViewClassName: partialViewConfig.uiViewClassName,
      Commands: {},
      bubblingEventTypes: composeIndexers(_ReactNativeViewViewConfig.default.bubblingEventTypes, partialViewConfig.bubblingEventTypes),
      directEventTypes: composeIndexers(_ReactNativeViewViewConfig.default.directEventTypes, partialViewConfig.directEventTypes),
      validAttributes: composeIndexers(_ReactNativeViewViewConfig.default.validAttributes, partialViewConfig.validAttributes)
    };
  }

  function composeIndexers(maybeA, maybeB) {
    var _ref;

    return maybeA == null || maybeB == null ? (_ref = maybeA != null ? maybeA : maybeB) != null ? _ref : {} : (0, _extends2.default)({}, maybeA, maybeB);
  }
},175,[5,6,143]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var logListeners;

  function unstable_setLogListeners(listeners) {
    logListeners = listeners;
  }

  var deepDiffer = function deepDiffer(one, two) {
    var maxDepthOrOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1;
    var maybeOptions = arguments.length > 3 ? arguments[3] : undefined;
    var options = typeof maxDepthOrOptions === 'number' ? maybeOptions : maxDepthOrOptions;
    var maxDepth = typeof maxDepthOrOptions === 'number' ? maxDepthOrOptions : -1;

    if (maxDepth === 0) {
      return true;
    }

    if (one === two) {
      return false;
    }

    if (typeof one === 'function' && typeof two === 'function') {
      var unsafelyIgnoreFunctions = options == null ? undefined : options.unsafelyIgnoreFunctions;

      if (unsafelyIgnoreFunctions == null) {
        if (logListeners && logListeners.onDifferentFunctionsIgnored && (!options || !('unsafelyIgnoreFunctions' in options))) {
          logListeners.onDifferentFunctionsIgnored(one.name, two.name);
        }

        unsafelyIgnoreFunctions = true;
      }

      return !unsafelyIgnoreFunctions;
    }

    if (typeof one !== 'object' || one === null) {
      return one !== two;
    }

    if (typeof two !== 'object' || two === null) {
      return true;
    }

    if (one.constructor !== two.constructor) {
      return true;
    }

    if (Array.isArray(one)) {
      var len = one.length;

      if (two.length !== len) {
        return true;
      }

      for (var ii = 0; ii < len; ii++) {
        if (deepDiffer(one[ii], two[ii], maxDepth - 1, options)) {
          return true;
        }
      }
    } else {
      for (var key in one) {
        if (deepDiffer(one[key], two[key], maxDepth - 1, options)) {
          return true;
        }
      }

      for (var twoKey in two) {
        if (one[twoKey] === undefined && two[twoKey] !== undefined) {
          return true;
        }
      }
    }

    return false;
  };

  module.exports = deepDiffer;
  module.exports.unstable_setLogListeners = unstable_setLogListeners;
},176,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function deepFreezeAndThrowOnMutationInDev(object) {
    return object;
  }

  module.exports = deepFreezeAndThrowOnMutationInDev;
},177,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function flattenStyle(style) {
    if (style === null || typeof style !== 'object') {
      return undefined;
    }

    if (!Array.isArray(style)) {
      return style;
    }

    var result = {};

    for (var i = 0, styleLength = style.length; i < styleLength; ++i) {
      var computedStyle = flattenStyle(style[i]);

      if (computedStyle) {
        for (var key in computedStyle) {
          result[key] = computedStyle[key];
        }
      }
    }

    return result;
  }

  module.exports = flattenStyle;
},178,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;
  var ReactFiberErrorDialog = {
    showErrorDialog: function showErrorDialog(_ref) {
      var componentStack = _ref.componentStack,
          errorValue = _ref.error;
      var error;

      if (errorValue instanceof Error) {
        error = errorValue;
      } else if (typeof errorValue === 'string') {
        error = new (_$$_REQUIRE(_dependencyMap[0]).SyntheticError)(errorValue);
      } else {
        error = new (_$$_REQUIRE(_dependencyMap[0]).SyntheticError)('Unspecified error');
      }

      try {
        error.componentStack = componentStack;
        error.isComponentError = true;
      } catch (_unused) {}

      (0, _$$_REQUIRE(_dependencyMap[0]).handleException)(error, false);
      return false;
    }
  };
  var _default = ReactFiberErrorDialog;
  exports.default = _default;
},179,[62]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  {
    module.exports = _$$_REQUIRE(_dependencyMap[0]);
  }
},180,[181]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  /** @license React v0.20.2
   * scheduler.production.min.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  'use strict';

  var _f, g, h, k;

  if ("object" === typeof performance && "function" === typeof performance.now) {
    var l = performance;

    exports.unstable_now = function () {
      return l.now();
    };
  } else {
    var p = Date,
        q = p.now();

    exports.unstable_now = function () {
      return p.now() - q;
    };
  }

  if ("undefined" === typeof window || "function" !== typeof MessageChannel) {
    var t = null,
        u = null,
        w = function w() {
      if (null !== t) try {
        var a = exports.unstable_now();
        t(true, a);
        t = null;
      } catch (b) {
        throw setTimeout(w, 0), b;
      }
    };

    _f = function f(a) {
      null !== t ? setTimeout(_f, 0, a) : (t = a, setTimeout(w, 0));
    };

    g = function g(a, b) {
      u = setTimeout(a, b);
    };

    h = function h() {
      clearTimeout(u);
    };

    exports.unstable_shouldYield = function () {
      return false;
    };

    k = exports.unstable_forceFrameRate = function () {};
  } else {
    var x = window.setTimeout,
        y = window.clearTimeout;

    if ("undefined" !== typeof console) {
      var z = window.cancelAnimationFrame;
      "function" !== typeof window.requestAnimationFrame && console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills");
      "function" !== typeof z && console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills");
    }

    var A = false,
        B = null,
        C = -1,
        D = 5,
        E = 0;

    exports.unstable_shouldYield = function () {
      return exports.unstable_now() >= E;
    };

    k = function k() {};

    exports.unstable_forceFrameRate = function (a) {
      0 > a || 125 < a ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported") : D = 0 < a ? Math.floor(1E3 / a) : 5;
    };

    var F = new MessageChannel(),
        G = F.port2;

    F.port1.onmessage = function () {
      if (null !== B) {
        var a = exports.unstable_now();
        E = a + D;

        try {
          B(true, a) ? G.postMessage(null) : (A = false, B = null);
        } catch (b) {
          throw G.postMessage(null), b;
        }
      } else A = false;
    };

    _f = function _f(a) {
      B = a;
      A || (A = true, G.postMessage(null));
    };

    g = function g(a, b) {
      C = x(function () {
        a(exports.unstable_now());
      }, b);
    };

    h = function h() {
      y(C);
      C = -1;
    };
  }

  function H(a, b) {
    var c = a.length;
    a.push(b);

    a: for (;;) {
      var d = c - 1 >>> 1,
          e = a[d];
      if (undefined !== e && 0 < I(e, b)) a[d] = b, a[c] = e, c = d;else break a;
    }
  }

  function J(a) {
    a = a[0];
    return undefined === a ? null : a;
  }

  function K(a) {
    var b = a[0];

    if (undefined !== b) {
      var c = a.pop();

      if (c !== b) {
        a[0] = c;

        a: for (var d = 0, e = a.length; d < e;) {
          var m = 2 * (d + 1) - 1,
              n = a[m],
              v = m + 1,
              r = a[v];
          if (undefined !== n && 0 > I(n, c)) undefined !== r && 0 > I(r, n) ? (a[d] = r, a[v] = c, d = v) : (a[d] = n, a[m] = c, d = m);else if (undefined !== r && 0 > I(r, c)) a[d] = r, a[v] = c, d = v;else break a;
        }
      }

      return b;
    }

    return null;
  }

  function I(a, b) {
    var c = a.sortIndex - b.sortIndex;
    return 0 !== c ? c : a.id - b.id;
  }

  var L = [],
      M = [],
      N = 1,
      O = null,
      P = 3,
      Q = false,
      R = false,
      S = false;

  function T(a) {
    for (var b = J(M); null !== b;) {
      if (null === b.callback) K(M);else if (b.startTime <= a) K(M), b.sortIndex = b.expirationTime, H(L, b);else break;
      b = J(M);
    }
  }

  function U(a) {
    S = false;
    T(a);
    if (!R) if (null !== J(L)) R = true, _f(V);else {
      var b = J(M);
      null !== b && g(U, b.startTime - a);
    }
  }

  function V(a, b) {
    R = false;
    S && (S = false, h());
    Q = true;
    var c = P;

    try {
      T(b);

      for (O = J(L); null !== O && (!(O.expirationTime > b) || a && !exports.unstable_shouldYield());) {
        var d = O.callback;

        if ("function" === typeof d) {
          O.callback = null;
          P = O.priorityLevel;
          var e = d(O.expirationTime <= b);
          b = exports.unstable_now();
          "function" === typeof e ? O.callback = e : O === J(L) && K(L);
          T(b);
        } else K(L);

        O = J(L);
      }

      if (null !== O) var m = true;else {
        var n = J(M);
        null !== n && g(U, n.startTime - b);
        m = false;
      }
      return m;
    } finally {
      O = null, P = c, Q = false;
    }
  }

  var W = k;
  exports.unstable_IdlePriority = 5;
  exports.unstable_ImmediatePriority = 1;
  exports.unstable_LowPriority = 4;
  exports.unstable_NormalPriority = 3;
  exports.unstable_Profiling = null;
  exports.unstable_UserBlockingPriority = 2;

  exports.unstable_cancelCallback = function (a) {
    a.callback = null;
  };

  exports.unstable_continueExecution = function () {
    R || Q || (R = true, _f(V));
  };

  exports.unstable_getCurrentPriorityLevel = function () {
    return P;
  };

  exports.unstable_getFirstCallbackNode = function () {
    return J(L);
  };

  exports.unstable_next = function (a) {
    switch (P) {
      case 1:
      case 2:
      case 3:
        var b = 3;
        break;

      default:
        b = P;
    }

    var c = P;
    P = b;

    try {
      return a();
    } finally {
      P = c;
    }
  };

  exports.unstable_pauseExecution = function () {};

  exports.unstable_requestPaint = W;

  exports.unstable_runWithPriority = function (a, b) {
    switch (a) {
      case 1:
      case 2:
      case 3:
      case 4:
      case 5:
        break;

      default:
        a = 3;
    }

    var c = P;
    P = a;

    try {
      return b();
    } finally {
      P = c;
    }
  };

  exports.unstable_scheduleCallback = function (a, b, c) {
    var d = exports.unstable_now();
    "object" === typeof c && null !== c ? (c = c.delay, c = "number" === typeof c && 0 < c ? d + c : d) : c = d;

    switch (a) {
      case 1:
        var e = -1;
        break;

      case 2:
        e = 250;
        break;

      case 5:
        e = 1073741823;
        break;

      case 4:
        e = 1E4;
        break;

      default:
        e = 5E3;
    }

    e = c + e;
    a = {
      id: N++,
      callback: b,
      priorityLevel: a,
      startTime: c,
      expirationTime: e,
      sortIndex: -1
    };
    c > d ? (a.sortIndex = c, H(M, a), null === J(L) && a === J(M) && (S ? h() : S = true, g(U, c - d))) : (a.sortIndex = e, H(L, a), R || Q || (R = true, _f(V)));
    return a;
  };

  exports.unstable_wrapCallback = function (a) {
    var b = P;
    return function () {
      var c = P;
      P = b;

      try {
        return a.apply(this, arguments);
      } finally {
        P = c;
      }
    };
  };
},181,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _StyleSheet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _View = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var PlatformActivityIndicator = _Platform.default.OS === 'android' ? _$$_REQUIRE(_dependencyMap[7]) : _$$_REQUIRE(_dependencyMap[8]).default;
  var GRAY = '#999999';

  var ActivityIndicator = function ActivityIndicator(_ref, forwardedRef) {
    var _ref$animating = _ref.animating,
        animating = _ref$animating === undefined ? true : _ref$animating,
        _ref$color = _ref.color,
        color = _ref$color === undefined ? _Platform.default.OS === 'ios' ? GRAY : null : _ref$color,
        _ref$hidesWhenStopped = _ref.hidesWhenStopped,
        hidesWhenStopped = _ref$hidesWhenStopped === undefined ? true : _ref$hidesWhenStopped,
        onLayout = _ref.onLayout,
        _ref$size = _ref.size,
        size = _ref$size === undefined ? 'small' : _ref$size,
        style = _ref.style,
        restProps = (0, _objectWithoutProperties2.default)(_ref, ["animating", "color", "hidesWhenStopped", "onLayout", "size", "style"]);
    var sizeStyle;
    var sizeProp;

    switch (size) {
      case 'small':
        sizeStyle = styles.sizeSmall;
        sizeProp = 'small';
        break;

      case 'large':
        sizeStyle = styles.sizeLarge;
        sizeProp = 'large';
        break;

      default:
        sizeStyle = {
          height: size,
          width: size
        };
        break;
    }

    var nativeProps = (0, _extends2.default)({
      animating: animating,
      color: color,
      hidesWhenStopped: hidesWhenStopped
    }, restProps, {
      ref: forwardedRef,
      style: sizeStyle,
      size: sizeProp
    });
    var androidProps = {
      styleAttr: 'Normal',
      indeterminate: true
    };
    return React.createElement(_View.default, {
      onLayout: onLayout,
      style: _StyleSheet.default.compose(styles.container, style)
    }, _Platform.default.OS === 'android' ? React.createElement(PlatformActivityIndicator, (0, _extends2.default)({}, nativeProps, androidProps)) : React.createElement(PlatformActivityIndicator, nativeProps));
  };

  var ActivityIndicatorWithRef = React.forwardRef(ActivityIndicator);
  ActivityIndicatorWithRef.displayName = 'ActivityIndicator';

  var styles = _StyleSheet.default.create({
    container: {
      alignItems: 'center',
      justifyContent: 'center'
    },
    sizeSmall: {
      width: 20,
      height: 20
    },
    sizeLarge: {
      width: 36,
      height: 36
    }
  });

  module.exports = ActivityIndicatorWithRef;
},182,[5,6,108,17,37,183,184,187,189]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var hairlineWidth = _$$_REQUIRE(_dependencyMap[0]).roundToNearestPixel(0.4);

  if (hairlineWidth === 0) {
    hairlineWidth = 1 / _$$_REQUIRE(_dependencyMap[0]).get();
  }

  var absoluteFill = {
    position: 'absolute',
    left: 0,
    right: 0,
    top: 0,
    bottom: 0
  };
  module.exports = {
    hairlineWidth: hairlineWidth,
    absoluteFill: absoluteFill,
    absoluteFillObject: absoluteFill,
    compose: function compose(style1, style2) {
      if (style1 != null && style2 != null) {
        return [style1, style2];
      } else {
        return style1 != null ? style1 : style2;
      }
    },
    flatten: _$$_REQUIRE(_dependencyMap[1]),
    setStyleAttributePreprocessor: function setStyleAttributePreprocessor(property, process) {
      var value;

      if (_$$_REQUIRE(_dependencyMap[2])[property] === true) {
        value = {
          process: process
        };
      } else if (typeof _$$_REQUIRE(_dependencyMap[2])[property] === 'object') {
        value = _$$_REQUIRE(_dependencyMap[3])({}, _$$_REQUIRE(_dependencyMap[2])[property], {
          process: process
        });
      } else {
        console.error(property + " is not a valid style attribute");
        return;
      }

      _$$_REQUIRE(_dependencyMap[2])[property] = value;
    },
    create: function create(obj) {
      return obj;
    }
  };
},183,[170,178,162,6]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _ViewNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _TextAncestor = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var View = React.forwardRef(function (props, forwardedRef) {
    return React.createElement(_TextAncestor.default.Provider, {
      value: false
    }, React.createElement(_ViewNativeComponent.default, (0, _extends2.default)({}, props, {
      ref: forwardedRef
    })));
  });
  View.displayName = 'View';
  module.exports = View;
},184,[5,6,185,186,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.Commands = undefined;

  var NativeComponentRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _Platform = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _codegenNativeCommands = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[3]));

  var _ReactNativeViewViewConfigAndroid = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[4]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var ViewNativeComponent = NativeComponentRegistry.get('RCTView', function () {
    return _Platform.default.OS === 'android' ? _ReactNativeViewViewConfigAndroid.default : {
      uiViewClassName: 'RCTView'
    };
  });
  var Commands = (0, _codegenNativeCommands.default)({
    supportedCommands: ['hotspotUpdate', 'setPressed']
  });
  exports.Commands = Commands;
  var _default = ViewNativeComponent;
  exports.default = _default;
},185,[154,5,37,141,144,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var React = _$$_REQUIRE(_dependencyMap[0]);

  var TextAncestorContext = React.createContext(false);
  module.exports = TextAncestorContext;
},186,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = _$$_REQUIRE(_dependencyMap[0]);
},187,[188]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _StyleSheet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var UnimplementedView = function (_React$Component) {
    (0, _inherits2.default)(UnimplementedView, _React$Component);

    var _super = _createSuper(UnimplementedView);

    function UnimplementedView() {
      (0, _classCallCheck2.default)(this, UnimplementedView);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(UnimplementedView, [{
      key: "render",
      value: function render() {
        var View = _$$_REQUIRE(_dependencyMap[8]);

        return React.createElement(View, {
          style: [styles.unimplementedView, this.props.style]
        }, this.props.children);
      }
    }]);
    return UnimplementedView;
  }(React.Component);

  var styles = _StyleSheet.default.create({
    unimplementedView: {}
  });

  module.exports = UnimplementedView;
},188,[5,7,8,12,14,16,17,183,184]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _codegenNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _default = (0, _codegenNativeComponent.default)('ActivityIndicatorView', {
    paperComponentName: 'RCTActivityIndicatorView'
  });

  exports.default = _default;
},189,[5,190]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _requireNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _UIManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  function codegenNativeComponent(componentName, options) {
    var componentNameInUse = options && options.paperComponentName != null ? options.paperComponentName : componentName;

    if (options != null && options.paperComponentNameDeprecated != null) {
      if (_UIManager.default.getViewManagerConfig(componentName)) {
        componentNameInUse = componentName;
      } else if (options.paperComponentNameDeprecated != null && _UIManager.default.getViewManagerConfig(options.paperComponentNameDeprecated)) {
        componentNameInUse = options.paperComponentNameDeprecated;
      } else {
        var _options$paperCompone;

        throw new Error("Failed to find native component for either " + componentName + " or " + ((_options$paperCompone = options.paperComponentNameDeprecated) != null ? _options$paperCompone : '(unknown)'));
      }
    }

    return (0, _requireNativeComponent.default)(componentNameInUse);
  }

  var _default = codegenNativeComponent;
  exports.default = _default;
},190,[5,191,155]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var requireNativeComponent = function requireNativeComponent(uiViewClassName) {
    return _$$_REQUIRE(_dependencyMap[0])(uiViewClassName, function () {
      return _$$_REQUIRE(_dependencyMap[1])(uiViewClassName);
    });
  };

  module.exports = requireNativeComponent;
},191,[192,161]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var register = _$$_REQUIRE(_dependencyMap[0]).ReactNativeViewConfigRegistry.register;

  var createReactNativeComponentClass = function createReactNativeComponentClass(name, callback) {
    return register(name, callback);
  };

  module.exports = createReactNativeComponentClass;
},192,[136]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _StyleSheet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _Text = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _TouchableNativeFeedback = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _TouchableOpacity = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _View = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Button = function (_React$Component) {
    (0, _inherits2.default)(Button, _React$Component);

    var _super = _createSuper(Button);

    function Button() {
      (0, _classCallCheck2.default)(this, Button);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(Button, [{
      key: "render",
      value: function render() {
        var _this$props$accessibi, _this$props$accessibi2;

        var _this$props = this.props,
            accessibilityLabel = _this$props.accessibilityLabel,
            color = _this$props.color,
            onPress = _this$props.onPress,
            touchSoundDisabled = _this$props.touchSoundDisabled,
            title = _this$props.title,
            hasTVPreferredFocus = _this$props.hasTVPreferredFocus,
            nextFocusDown = _this$props.nextFocusDown,
            nextFocusForward = _this$props.nextFocusForward,
            nextFocusLeft = _this$props.nextFocusLeft,
            nextFocusRight = _this$props.nextFocusRight,
            nextFocusUp = _this$props.nextFocusUp,
            testID = _this$props.testID,
            accessible = _this$props.accessible,
            accessibilityActions = _this$props.accessibilityActions,
            accessibilityHint = _this$props.accessibilityHint,
            onAccessibilityAction = _this$props.onAccessibilityAction;
        var buttonStyles = [styles.button];
        var textStyles = [styles.text];

        if (color) {
          if (_Platform.default.OS === 'ios') {
            textStyles.push({
              color: color
            });
          } else {
            buttonStyles.push({
              backgroundColor: color
            });
          }
        }

        var disabled = this.props.disabled != null ? this.props.disabled : (_this$props$accessibi = this.props.accessibilityState) == null ? undefined : _this$props$accessibi.disabled;
        var accessibilityState = disabled !== ((_this$props$accessibi2 = this.props.accessibilityState) == null ? undefined : _this$props$accessibi2.disabled) ? (0, _extends2.default)({}, this.props.accessibilityState, {
          disabled: disabled
        }) : this.props.accessibilityState;

        if (disabled) {
          buttonStyles.push(styles.buttonDisabled);
          textStyles.push(styles.textDisabled);
        }

        (0, _invariant.default)(typeof title === 'string', 'The title prop of a Button must be a string');
        var formattedTitle = _Platform.default.OS === 'android' ? title.toUpperCase() : title;
        var Touchable = _Platform.default.OS === 'android' ? _TouchableNativeFeedback.default : _TouchableOpacity.default;
        return React.createElement(Touchable, {
          accessible: accessible,
          accessibilityActions: accessibilityActions,
          onAccessibilityAction: onAccessibilityAction,
          accessibilityLabel: accessibilityLabel,
          accessibilityHint: accessibilityHint,
          accessibilityRole: "button",
          accessibilityState: accessibilityState,
          hasTVPreferredFocus: hasTVPreferredFocus,
          nextFocusDown: nextFocusDown,
          nextFocusForward: nextFocusForward,
          nextFocusLeft: nextFocusLeft,
          nextFocusRight: nextFocusRight,
          nextFocusUp: nextFocusUp,
          testID: testID,
          disabled: disabled,
          onPress: onPress,
          touchSoundDisabled: touchSoundDisabled
        }, React.createElement(_View.default, {
          style: buttonStyles
        }, React.createElement(_Text.default, {
          style: textStyles,
          disabled: disabled
        }, formattedTitle)));
      }
    }]);
    return Button;
  }(React.Component);

  var styles = _StyleSheet.default.create({
    button: _Platform.default.select({
      ios: {},
      android: {
        elevation: 4,
        backgroundColor: '#2196F3',
        borderRadius: 2
      }
    }),
    text: (0, _extends2.default)({
      textAlign: 'center',
      margin: 8
    }, _Platform.default.select({
      ios: {
        color: '#007AFF',
        fontSize: 18
      },
      android: {
        color: 'white',
        fontWeight: '500'
      }
    })),
    buttonDisabled: _Platform.default.select({
      ios: {},
      android: {
        elevation: 0,
        backgroundColor: '#dfdfdf'
      }
    }),
    textDisabled: _Platform.default.select({
      ios: {
        color: '#cdcdcd'
      },
      android: {
        color: '#a1a1a1'
      }
    })
  });

  module.exports = Button;
},193,[5,6,7,8,12,14,16,17,37,183,194,219,220,184,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _DeprecatedTextPropTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var PressabilityDebug = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _usePressability = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _StyleSheet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _processColor = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _TextAncestor = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Text = React.forwardRef(function (props, forwardedRef) {
    var accessible = props.accessible,
        allowFontScaling = props.allowFontScaling,
        ellipsizeMode = props.ellipsizeMode,
        onLongPress = props.onLongPress,
        onPress = props.onPress,
        _onPressIn = props.onPressIn,
        _onPressOut = props.onPressOut,
        _onResponderGrant = props.onResponderGrant,
        _onResponderMove = props.onResponderMove,
        _onResponderRelease = props.onResponderRelease,
        _onResponderTerminate = props.onResponderTerminate,
        onResponderTerminationRequest = props.onResponderTerminationRequest,
        onStartShouldSetResponder = props.onStartShouldSetResponder,
        pressRetentionOffset = props.pressRetentionOffset,
        suppressHighlighting = props.suppressHighlighting,
        restProps = (0, _objectWithoutProperties2.default)(props, ["accessible", "allowFontScaling", "ellipsizeMode", "onLongPress", "onPress", "onPressIn", "onPressOut", "onResponderGrant", "onResponderMove", "onResponderRelease", "onResponderTerminate", "onResponderTerminationRequest", "onStartShouldSetResponder", "pressRetentionOffset", "suppressHighlighting"]);

    var _useState = (0, React.useState)(false),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        isHighlighted = _useState2[0],
        setHighlighted = _useState2[1];

    var isPressable = (onPress != null || onLongPress != null || onStartShouldSetResponder != null) && restProps.disabled !== true;
    var initialized = useLazyInitialization(isPressable);
    var config = (0, React.useMemo)(function () {
      return initialized ? {
        disabled: !isPressable,
        pressRectOffset: pressRetentionOffset,
        onLongPress: onLongPress,
        onPress: onPress,
        onPressIn: function onPressIn(event) {
          setHighlighted(!suppressHighlighting);
          _onPressIn == null ? undefined : _onPressIn(event);
        },
        onPressOut: function onPressOut(event) {
          setHighlighted(false);
          _onPressOut == null ? undefined : _onPressOut(event);
        },
        onResponderTerminationRequest_DEPRECATED: onResponderTerminationRequest,
        onStartShouldSetResponder_DEPRECATED: onStartShouldSetResponder
      } : null;
    }, [initialized, isPressable, pressRetentionOffset, onLongPress, onPress, _onPressIn, _onPressOut, onResponderTerminationRequest, onStartShouldSetResponder, suppressHighlighting]);
    var eventHandlers = (0, _usePressability.default)(config);
    var eventHandlersForText = (0, React.useMemo)(function () {
      return eventHandlers == null ? null : {
        onResponderGrant: function onResponderGrant(event) {
          eventHandlers.onResponderGrant(event);

          if (_onResponderGrant != null) {
            _onResponderGrant(event);
          }
        },
        onResponderMove: function onResponderMove(event) {
          eventHandlers.onResponderMove(event);

          if (_onResponderMove != null) {
            _onResponderMove(event);
          }
        },
        onResponderRelease: function onResponderRelease(event) {
          eventHandlers.onResponderRelease(event);

          if (_onResponderRelease != null) {
            _onResponderRelease(event);
          }
        },
        onResponderTerminate: function onResponderTerminate(event) {
          eventHandlers.onResponderTerminate(event);

          if (_onResponderTerminate != null) {
            _onResponderTerminate(event);
          }
        },
        onResponderTerminationRequest: eventHandlers.onResponderTerminationRequest,
        onStartShouldSetResponder: eventHandlers.onStartShouldSetResponder
      };
    }, [eventHandlers, _onResponderGrant, _onResponderMove, _onResponderRelease, _onResponderTerminate]);
    var selectionColor = restProps.selectionColor == null ? null : (0, _processColor.default)(restProps.selectionColor);
    var style = restProps.style;
    var numberOfLines = restProps.numberOfLines;

    if (numberOfLines != null && !(numberOfLines >= 0)) {
      console.error("'numberOfLines' in <Text> must be a non-negative number, received: " + numberOfLines + ". The value will be set to 0.");
      numberOfLines = 0;
    }

    var hasTextAncestor = (0, React.useContext)(_TextAncestor.default);
    return hasTextAncestor ? React.createElement(_$$_REQUIRE(_dependencyMap[12]).NativeVirtualText, (0, _extends2.default)({}, restProps, eventHandlersForText, {
      isHighlighted: isHighlighted,
      numberOfLines: numberOfLines,
      selectionColor: selectionColor,
      style: style,
      ref: forwardedRef
    })) : React.createElement(_TextAncestor.default.Provider, {
      value: true
    }, React.createElement(_$$_REQUIRE(_dependencyMap[12]).NativeText, (0, _extends2.default)({}, restProps, eventHandlersForText, {
      accessible: accessible !== false,
      allowFontScaling: allowFontScaling !== false,
      ellipsizeMode: ellipsizeMode != null ? ellipsizeMode : 'tail',
      isHighlighted: isHighlighted,
      numberOfLines: numberOfLines,
      selectionColor: selectionColor,
      style: style,
      ref: forwardedRef
    })));
  });
  Text.displayName = 'Text';
  Text.propTypes = _DeprecatedTextPropTypes.default;

  function useLazyInitialization(newValue) {
    var _useState3 = (0, React.useState)(newValue),
        _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
        oldValue = _useState4[0],
        setValue = _useState4[1];

    if (!oldValue && newValue) {
      setValue(newValue);
    }

    return oldValue;
  }

  module.exports = Text;
},194,[5,6,41,108,195,209,210,183,145,186,17,36,217]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var stylePropType = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var DataDetectorTypes = ['phoneNumber', 'link', 'email', 'none', 'all'];
  module.exports = {
    ellipsizeMode: _$$_REQUIRE(_dependencyMap[2]).oneOf(['head', 'middle', 'tail', 'clip']),
    numberOfLines: _$$_REQUIRE(_dependencyMap[2]).number,
    textBreakStrategy: _$$_REQUIRE(_dependencyMap[2]).oneOf(['simple', 'highQuality', 'balanced']),
    onLayout: _$$_REQUIRE(_dependencyMap[2]).func,
    onPress: _$$_REQUIRE(_dependencyMap[2]).func,
    onLongPress: _$$_REQUIRE(_dependencyMap[2]).func,
    pressRetentionOffset: _$$_REQUIRE(_dependencyMap[3]),
    selectable: _$$_REQUIRE(_dependencyMap[2]).bool,
    selectionColor: _$$_REQUIRE(_dependencyMap[4]),
    suppressHighlighting: _$$_REQUIRE(_dependencyMap[2]).bool,
    style: stylePropType,
    testID: _$$_REQUIRE(_dependencyMap[2]).string,
    nativeID: _$$_REQUIRE(_dependencyMap[2]).string,
    allowFontScaling: _$$_REQUIRE(_dependencyMap[2]).bool,
    maxFontSizeMultiplier: _$$_REQUIRE(_dependencyMap[2]).number,
    accessible: _$$_REQUIRE(_dependencyMap[2]).bool,
    adjustsFontSizeToFit: _$$_REQUIRE(_dependencyMap[2]).bool,
    minimumFontScale: _$$_REQUIRE(_dependencyMap[2]).number,
    disabled: _$$_REQUIRE(_dependencyMap[2]).bool,
    dataDetectorType: _$$_REQUIRE(_dependencyMap[2]).oneOf(DataDetectorTypes)
  };
},195,[196,198,201,208,205]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function DeprecatedStyleSheetPropType(shape) {
    var shapePropType = _$$_REQUIRE(_dependencyMap[0])(shape);

    return function (props, propName, componentName, location) {
      var newProps = props;

      if (props[propName]) {
        newProps = {};
        newProps[propName] = _$$_REQUIRE(_dependencyMap[1])(props[propName]);
      }

      for (var _len = arguments.length, rest = new Array(_len > 4 ? _len - 4 : 0), _key = 4; _key < _len; _key++) {
        rest[_key - 4] = arguments[_key];
      }

      return shapePropType.apply(undefined, [newProps, propName, componentName, location].concat(rest));
    };
  }

  module.exports = DeprecatedStyleSheetPropType;
},196,[197,178]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function deprecatedCreateStrictShapeTypeChecker(shapeTypes) {
    function checkType(isRequired, props, propName, componentName, location) {
      if (!props[propName]) {
        if (isRequired) {
          _$$_REQUIRE(_dependencyMap[0])(false, "Required object `" + propName + "` was not specified in " + ("`" + componentName + "`."));
        }

        return;
      }

      var propValue = props[propName];
      var propType = typeof propValue;
      var locationName = location || '(unknown)';

      if (propType !== 'object') {
        _$$_REQUIRE(_dependencyMap[0])(false, "Invalid " + locationName + " `" + propName + "` of type `" + propType + "` " + ("supplied to `" + componentName + "`, expected `object`."));
      }

      var allKeys = _$$_REQUIRE(_dependencyMap[1])({}, props[propName], shapeTypes);

      for (var _len = arguments.length, rest = new Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {
        rest[_key - 5] = arguments[_key];
      }

      for (var _key2 in allKeys) {
        var checker = shapeTypes[_key2];

        if (!checker) {
          _$$_REQUIRE(_dependencyMap[0])(false, "Invalid props." + propName + " key `" + _key2 + "` supplied to `" + componentName + "`." + '\nBad object: ' + JSON.stringify(props[propName], null, '  ') + '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, '  '));
        }

        var error = checker.apply(undefined, [propValue, _key2, componentName, location].concat(rest));

        if (error) {
          _$$_REQUIRE(_dependencyMap[0])(false, error.message + '\nBad object: ' + JSON.stringify(props[propName], null, '  '));
        }
      }
    }

    function chainedCheckType(props, propName, componentName, location) {
      for (var _len2 = arguments.length, rest = new Array(_len2 > 4 ? _len2 - 4 : 0), _key3 = 4; _key3 < _len2; _key3++) {
        rest[_key3 - 4] = arguments[_key3];
      }

      return checkType.apply(undefined, [false, props, propName, componentName, location].concat(rest));
    }

    chainedCheckType.isRequired = checkType.bind(null, true);
    return chainedCheckType;
  }

  module.exports = deprecatedCreateStrictShapeTypeChecker;
},197,[36,6]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var DeprecatedTextStylePropTypes = _$$_REQUIRE(_dependencyMap[0])({}, _$$_REQUIRE(_dependencyMap[1]), {
    color: _$$_REQUIRE(_dependencyMap[2]),
    fontFamily: _$$_REQUIRE(_dependencyMap[3]).string,
    fontSize: _$$_REQUIRE(_dependencyMap[3]).number,
    fontStyle: _$$_REQUIRE(_dependencyMap[3]).oneOf(['normal', 'italic']),
    fontWeight: _$$_REQUIRE(_dependencyMap[3]).oneOf(['normal', 'bold', '100', '200', '300', '400', '500', '600', '700', '800', '900']),
    fontVariant: _$$_REQUIRE(_dependencyMap[3]).arrayOf(_$$_REQUIRE(_dependencyMap[3]).oneOf(['small-caps', 'oldstyle-nums', 'lining-nums', 'tabular-nums', 'proportional-nums'])),
    textShadowOffset: _$$_REQUIRE(_dependencyMap[3]).shape({
      width: _$$_REQUIRE(_dependencyMap[3]).number,
      height: _$$_REQUIRE(_dependencyMap[3]).number
    }),
    textShadowRadius: _$$_REQUIRE(_dependencyMap[3]).number,
    textShadowColor: _$$_REQUIRE(_dependencyMap[2]),
    letterSpacing: _$$_REQUIRE(_dependencyMap[3]).number,
    lineHeight: _$$_REQUIRE(_dependencyMap[3]).number,
    textAlign: _$$_REQUIRE(_dependencyMap[3]).oneOf(['auto', 'left', 'right', 'center', 'justify']),
    textAlignVertical: _$$_REQUIRE(_dependencyMap[3]).oneOf(['auto', 'top', 'bottom', 'center']),
    includeFontPadding: _$$_REQUIRE(_dependencyMap[3]).bool,
    textDecorationLine: _$$_REQUIRE(_dependencyMap[3]).oneOf(['none', 'underline', 'line-through', 'underline line-through']),
    textDecorationStyle: _$$_REQUIRE(_dependencyMap[3]).oneOf(['solid', 'double', 'dotted', 'dashed']),
    textDecorationColor: _$$_REQUIRE(_dependencyMap[2]),
    textTransform: _$$_REQUIRE(_dependencyMap[3]).oneOf(['none', 'capitalize', 'uppercase', 'lowercase']),
    writingDirection: _$$_REQUIRE(_dependencyMap[3]).oneOf(['auto', 'ltr', 'rtl'])
  });

  module.exports = DeprecatedTextStylePropTypes;
},198,[6,199,205,201]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var DeprecatedViewStylePropTypes = _$$_REQUIRE(_dependencyMap[0])({}, _$$_REQUIRE(_dependencyMap[1]), _$$_REQUIRE(_dependencyMap[2]), _$$_REQUIRE(_dependencyMap[3]), {
    backfaceVisibility: _$$_REQUIRE(_dependencyMap[4]).oneOf(['visible', 'hidden']),
    backgroundColor: _$$_REQUIRE(_dependencyMap[5]),
    borderColor: _$$_REQUIRE(_dependencyMap[5]),
    borderTopColor: _$$_REQUIRE(_dependencyMap[5]),
    borderRightColor: _$$_REQUIRE(_dependencyMap[5]),
    borderBottomColor: _$$_REQUIRE(_dependencyMap[5]),
    borderLeftColor: _$$_REQUIRE(_dependencyMap[5]),
    borderStartColor: _$$_REQUIRE(_dependencyMap[5]),
    borderEndColor: _$$_REQUIRE(_dependencyMap[5]),
    borderRadius: _$$_REQUIRE(_dependencyMap[4]).number,
    borderTopLeftRadius: _$$_REQUIRE(_dependencyMap[4]).number,
    borderTopRightRadius: _$$_REQUIRE(_dependencyMap[4]).number,
    borderTopStartRadius: _$$_REQUIRE(_dependencyMap[4]).number,
    borderTopEndRadius: _$$_REQUIRE(_dependencyMap[4]).number,
    borderBottomLeftRadius: _$$_REQUIRE(_dependencyMap[4]).number,
    borderBottomRightRadius: _$$_REQUIRE(_dependencyMap[4]).number,
    borderBottomStartRadius: _$$_REQUIRE(_dependencyMap[4]).number,
    borderBottomEndRadius: _$$_REQUIRE(_dependencyMap[4]).number,
    borderStyle: _$$_REQUIRE(_dependencyMap[4]).oneOf(['solid', 'dotted', 'dashed']),
    borderWidth: _$$_REQUIRE(_dependencyMap[4]).number,
    borderTopWidth: _$$_REQUIRE(_dependencyMap[4]).number,
    borderRightWidth: _$$_REQUIRE(_dependencyMap[4]).number,
    borderBottomWidth: _$$_REQUIRE(_dependencyMap[4]).number,
    borderLeftWidth: _$$_REQUIRE(_dependencyMap[4]).number,
    opacity: _$$_REQUIRE(_dependencyMap[4]).number,
    elevation: _$$_REQUIRE(_dependencyMap[4]).number
  });

  module.exports = DeprecatedViewStylePropTypes;
},199,[6,200,204,206,201,205]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var LayoutPropTypes = {
    display: _$$_REQUIRE(_dependencyMap[0]).oneOf(['none', 'flex']),
    width: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    height: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    start: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    end: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    top: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    left: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    right: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    bottom: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    minWidth: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    maxWidth: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    minHeight: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    maxHeight: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    margin: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    marginVertical: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    marginHorizontal: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    marginTop: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    marginBottom: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    marginLeft: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    marginRight: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    marginStart: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    marginEnd: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    padding: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    paddingVertical: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    paddingHorizontal: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    paddingTop: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    paddingBottom: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    paddingLeft: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    paddingRight: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    paddingStart: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    paddingEnd: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    borderWidth: _$$_REQUIRE(_dependencyMap[0]).number,
    borderTopWidth: _$$_REQUIRE(_dependencyMap[0]).number,
    borderStartWidth: _$$_REQUIRE(_dependencyMap[0]).number,
    borderEndWidth: _$$_REQUIRE(_dependencyMap[0]).number,
    borderRightWidth: _$$_REQUIRE(_dependencyMap[0]).number,
    borderBottomWidth: _$$_REQUIRE(_dependencyMap[0]).number,
    borderLeftWidth: _$$_REQUIRE(_dependencyMap[0]).number,
    position: _$$_REQUIRE(_dependencyMap[0]).oneOf(['absolute', 'relative']),
    flexDirection: _$$_REQUIRE(_dependencyMap[0]).oneOf(['row', 'row-reverse', 'column', 'column-reverse']),
    flexWrap: _$$_REQUIRE(_dependencyMap[0]).oneOf(['wrap', 'nowrap', 'wrap-reverse']),
    justifyContent: _$$_REQUIRE(_dependencyMap[0]).oneOf(['flex-start', 'flex-end', 'center', 'space-between', 'space-around', 'space-evenly']),
    alignItems: _$$_REQUIRE(_dependencyMap[0]).oneOf(['flex-start', 'flex-end', 'center', 'stretch', 'baseline']),
    alignSelf: _$$_REQUIRE(_dependencyMap[0]).oneOf(['auto', 'flex-start', 'flex-end', 'center', 'stretch', 'baseline']),
    alignContent: _$$_REQUIRE(_dependencyMap[0]).oneOf(['flex-start', 'flex-end', 'center', 'stretch', 'space-between', 'space-around']),
    overflow: _$$_REQUIRE(_dependencyMap[0]).oneOf(['visible', 'hidden', 'scroll']),
    flex: _$$_REQUIRE(_dependencyMap[0]).number,
    flexGrow: _$$_REQUIRE(_dependencyMap[0]).number,
    flexShrink: _$$_REQUIRE(_dependencyMap[0]).number,
    flexBasis: _$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).string]),
    aspectRatio: _$$_REQUIRE(_dependencyMap[0]).number,
    zIndex: _$$_REQUIRE(_dependencyMap[0]).number,
    direction: _$$_REQUIRE(_dependencyMap[0]).oneOf(['inherit', 'ltr', 'rtl'])
  };
  module.exports = LayoutPropTypes;
},200,[201]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  {
    module.exports = _$$_REQUIRE(_dependencyMap[0])();
  }
},201,[202]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function emptyFunction() {}

  function emptyFunctionWithReset() {}

  emptyFunctionWithReset.resetWarningCache = emptyFunction;

  module.exports = function () {
    function shim(props, propName, componentName, location, propFullName, secret) {
      if (secret === _$$_REQUIRE(_dependencyMap[0])) {
        return;
      }

      var err = new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");
      err.name = 'Invariant Violation';
      throw err;
    }

    ;
    shim.isRequired = shim;

    function getShim() {
      return shim;
    }

    ;
    var ReactPropTypes = {
      array: shim,
      bool: shim,
      func: shim,
      number: shim,
      object: shim,
      string: shim,
      symbol: shim,
      any: shim,
      arrayOf: getShim,
      element: shim,
      elementType: shim,
      instanceOf: getShim,
      node: shim,
      objectOf: getShim,
      oneOf: getShim,
      oneOfType: getShim,
      shape: getShim,
      exact: getShim,
      checkPropTypes: emptyFunctionWithReset,
      resetWarningCache: emptyFunction
    };
    ReactPropTypes.PropTypes = ReactPropTypes;
    return ReactPropTypes;
  };
},202,[203]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
  module.exports = ReactPropTypesSecret;
},203,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var DeprecatedShadowPropTypesIOS = {
    shadowColor: _$$_REQUIRE(_dependencyMap[0]),
    shadowOffset: _$$_REQUIRE(_dependencyMap[1]).shape({
      width: _$$_REQUIRE(_dependencyMap[1]).number,
      height: _$$_REQUIRE(_dependencyMap[1]).number
    }),
    shadowOpacity: _$$_REQUIRE(_dependencyMap[1]).number,
    shadowRadius: _$$_REQUIRE(_dependencyMap[1]).number
  };
  module.exports = DeprecatedShadowPropTypesIOS;
},204,[205,201]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var colorPropType = function colorPropType(isRequired, props, propName, componentName, location, propFullName) {
    var color = props[propName];

    if (color === undefined || color === null) {
      if (isRequired) {
        return new Error('Required ' + location + ' `' + (propFullName || propName) + '` was not specified in `' + componentName + '`.');
      }

      return;
    }

    if (typeof color === 'number') {
      return;
    }

    if (_$$_REQUIRE(_dependencyMap[0])(color) === null) {
      return new Error('Invalid ' + location + ' `' + (propFullName || propName) + '` supplied to `' + componentName + '`: ' + color + '\n' + "Valid color formats are\n  - '#f0f' (#rgb)\n  - '#f0fc' (#rgba)\n  - '#ff00ff' (#rrggbb)\n  - '#ff00ff00' (#rrggbbaa)\n  - 'rgb(255, 255, 255)'\n  - 'rgba(255, 255, 255, 1.0)'\n  - 'hsl(360, 100%, 100%)'\n  - 'hsla(360, 100%, 100%, 1.0)'\n  - 'transparent'\n  - 'red'\n  - 0xff00ff00 (0xrrggbbaa)\n");
    }
  };

  var ColorPropType = colorPropType.bind(null, false);
  ColorPropType.isRequired = colorPropType.bind(null, true);
  module.exports = ColorPropType;
},205,[146]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var TransformMatrixPropType = function TransformMatrixPropType(props, propName, componentName) {
    if (props[propName]) {
      return new Error("The transformMatrix style property is deprecated. Use `transform: [{ matrix: ... }]` instead.");
    }
  };

  var DecomposedMatrixPropType = function DecomposedMatrixPropType(props, propName, componentName) {
    if (props[propName]) {
      return new Error("The decomposedMatrix style property is deprecated. Use `transform: [...]` instead.");
    }
  };

  var DeprecatedTransformPropTypes = {
    transform: _$$_REQUIRE(_dependencyMap[0]).arrayOf(_$$_REQUIRE(_dependencyMap[0]).oneOfType([_$$_REQUIRE(_dependencyMap[0]).shape({
      perspective: _$$_REQUIRE(_dependencyMap[0]).number
    }), _$$_REQUIRE(_dependencyMap[0]).shape({
      rotate: _$$_REQUIRE(_dependencyMap[0]).string
    }), _$$_REQUIRE(_dependencyMap[0]).shape({
      rotateX: _$$_REQUIRE(_dependencyMap[0]).string
    }), _$$_REQUIRE(_dependencyMap[0]).shape({
      rotateY: _$$_REQUIRE(_dependencyMap[0]).string
    }), _$$_REQUIRE(_dependencyMap[0]).shape({
      rotateZ: _$$_REQUIRE(_dependencyMap[0]).string
    }), _$$_REQUIRE(_dependencyMap[0]).shape({
      scale: _$$_REQUIRE(_dependencyMap[0]).number
    }), _$$_REQUIRE(_dependencyMap[0]).shape({
      scaleX: _$$_REQUIRE(_dependencyMap[0]).number
    }), _$$_REQUIRE(_dependencyMap[0]).shape({
      scaleY: _$$_REQUIRE(_dependencyMap[0]).number
    }), _$$_REQUIRE(_dependencyMap[0]).shape({
      translateX: _$$_REQUIRE(_dependencyMap[0]).number
    }), _$$_REQUIRE(_dependencyMap[0]).shape({
      translateY: _$$_REQUIRE(_dependencyMap[0]).number
    }), _$$_REQUIRE(_dependencyMap[0]).shape({
      skewX: _$$_REQUIRE(_dependencyMap[0]).string
    }), _$$_REQUIRE(_dependencyMap[0]).shape({
      skewY: _$$_REQUIRE(_dependencyMap[0]).string
    })])),
    transformMatrix: TransformMatrixPropType,
    decomposedMatrix: DecomposedMatrixPropType,
    scaleX: _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[0]).number, 'Use the transform prop instead.'),
    scaleY: _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[0]).number, 'Use the transform prop instead.'),
    rotation: _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[0]).number, 'Use the transform prop instead.'),
    translateX: _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[0]).number, 'Use the transform prop instead.'),
    translateY: _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[0]).number, 'Use the transform prop instead.')
  };
  module.exports = DeprecatedTransformPropTypes;
},206,[201,207]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _UIManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function deprecatedPropType(propType, explanation) {
    return function validate(props, propName, componentName) {
      if (global.RN$Bridgeless !== true && !_UIManager.default.hasViewManagerConfig(componentName) && props[propName] !== undefined) {
        console.warn("`" + propName + "` supplied to `" + componentName + "` has been deprecated. " + explanation);
      }

      for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
        rest[_key - 3] = arguments[_key];
      }

      return propType.apply(undefined, [props, propName, componentName].concat(rest));
    };
  }

  module.exports = deprecatedPropType;
},207,[5,155]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var DeprecatedEdgeInsetsPropType = _$$_REQUIRE(_dependencyMap[0]).shape({
    top: _$$_REQUIRE(_dependencyMap[0]).number,
    left: _$$_REQUIRE(_dependencyMap[0]).number,
    bottom: _$$_REQUIRE(_dependencyMap[0]).number,
    right: _$$_REQUIRE(_dependencyMap[0]).number
  });

  module.exports = DeprecatedEdgeInsetsPropType;
},208,[201]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.PressabilityDebugView = PressabilityDebugView;
  exports.isEnabled = isEnabled;
  exports.setEnabled = setEnabled;

  var _normalizeColor = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _View = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function PressabilityDebugView(_ref) {
    var color = _ref.color,
        hitSlop = _ref.hitSlop;
    return null;
  }

  var isDebugEnabled = false;

  function isEnabled() {
    return false;
  }

  function setEnabled(value) {}
},209,[5,146,184,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = usePressability;

  var _Pressability = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[2]);

  function usePressability(config) {
    var pressabilityRef = (0, _react.useRef)(null);

    if (config != null && pressabilityRef.current == null) {
      pressabilityRef.current = new _Pressability.default(config);
    }

    var pressability = pressabilityRef.current;
    (0, _react.useEffect)(function () {
      if (config != null && pressability != null) {
        pressability.configure(config);
      }
    }, [config, pressability]);
    (0, _react.useEffect)(function () {
      if (pressability != null) {
        return function () {
          pressability.reset();
        };
      }
    }, [pressability]);
    return pressability == null ? null : pressability.getEventHandlers();
  }
},210,[5,211,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _SoundManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _PressabilityPerformanceEventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _UIManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Transitions = Object.freeze({
    NOT_RESPONDER: {
      DELAY: 'ERROR',
      RESPONDER_GRANT: 'RESPONDER_INACTIVE_PRESS_IN',
      RESPONDER_RELEASE: 'ERROR',
      RESPONDER_TERMINATED: 'ERROR',
      ENTER_PRESS_RECT: 'ERROR',
      LEAVE_PRESS_RECT: 'ERROR',
      LONG_PRESS_DETECTED: 'ERROR'
    },
    RESPONDER_INACTIVE_PRESS_IN: {
      DELAY: 'RESPONDER_ACTIVE_PRESS_IN',
      RESPONDER_GRANT: 'ERROR',
      RESPONDER_RELEASE: 'NOT_RESPONDER',
      RESPONDER_TERMINATED: 'NOT_RESPONDER',
      ENTER_PRESS_RECT: 'RESPONDER_INACTIVE_PRESS_IN',
      LEAVE_PRESS_RECT: 'RESPONDER_INACTIVE_PRESS_OUT',
      LONG_PRESS_DETECTED: 'ERROR'
    },
    RESPONDER_INACTIVE_PRESS_OUT: {
      DELAY: 'RESPONDER_ACTIVE_PRESS_OUT',
      RESPONDER_GRANT: 'ERROR',
      RESPONDER_RELEASE: 'NOT_RESPONDER',
      RESPONDER_TERMINATED: 'NOT_RESPONDER',
      ENTER_PRESS_RECT: 'RESPONDER_INACTIVE_PRESS_IN',
      LEAVE_PRESS_RECT: 'RESPONDER_INACTIVE_PRESS_OUT',
      LONG_PRESS_DETECTED: 'ERROR'
    },
    RESPONDER_ACTIVE_PRESS_IN: {
      DELAY: 'ERROR',
      RESPONDER_GRANT: 'ERROR',
      RESPONDER_RELEASE: 'NOT_RESPONDER',
      RESPONDER_TERMINATED: 'NOT_RESPONDER',
      ENTER_PRESS_RECT: 'RESPONDER_ACTIVE_PRESS_IN',
      LEAVE_PRESS_RECT: 'RESPONDER_ACTIVE_PRESS_OUT',
      LONG_PRESS_DETECTED: 'RESPONDER_ACTIVE_LONG_PRESS_IN'
    },
    RESPONDER_ACTIVE_PRESS_OUT: {
      DELAY: 'ERROR',
      RESPONDER_GRANT: 'ERROR',
      RESPONDER_RELEASE: 'NOT_RESPONDER',
      RESPONDER_TERMINATED: 'NOT_RESPONDER',
      ENTER_PRESS_RECT: 'RESPONDER_ACTIVE_PRESS_IN',
      LEAVE_PRESS_RECT: 'RESPONDER_ACTIVE_PRESS_OUT',
      LONG_PRESS_DETECTED: 'ERROR'
    },
    RESPONDER_ACTIVE_LONG_PRESS_IN: {
      DELAY: 'ERROR',
      RESPONDER_GRANT: 'ERROR',
      RESPONDER_RELEASE: 'NOT_RESPONDER',
      RESPONDER_TERMINATED: 'NOT_RESPONDER',
      ENTER_PRESS_RECT: 'RESPONDER_ACTIVE_LONG_PRESS_IN',
      LEAVE_PRESS_RECT: 'RESPONDER_ACTIVE_LONG_PRESS_OUT',
      LONG_PRESS_DETECTED: 'RESPONDER_ACTIVE_LONG_PRESS_IN'
    },
    RESPONDER_ACTIVE_LONG_PRESS_OUT: {
      DELAY: 'ERROR',
      RESPONDER_GRANT: 'ERROR',
      RESPONDER_RELEASE: 'NOT_RESPONDER',
      RESPONDER_TERMINATED: 'NOT_RESPONDER',
      ENTER_PRESS_RECT: 'RESPONDER_ACTIVE_LONG_PRESS_IN',
      LEAVE_PRESS_RECT: 'RESPONDER_ACTIVE_LONG_PRESS_OUT',
      LONG_PRESS_DETECTED: 'ERROR'
    },
    ERROR: {
      DELAY: 'NOT_RESPONDER',
      RESPONDER_GRANT: 'RESPONDER_INACTIVE_PRESS_IN',
      RESPONDER_RELEASE: 'NOT_RESPONDER',
      RESPONDER_TERMINATED: 'NOT_RESPONDER',
      ENTER_PRESS_RECT: 'NOT_RESPONDER',
      LEAVE_PRESS_RECT: 'NOT_RESPONDER',
      LONG_PRESS_DETECTED: 'NOT_RESPONDER'
    }
  });

  var isActiveSignal = function isActiveSignal(signal) {
    return signal === 'RESPONDER_ACTIVE_PRESS_IN' || signal === 'RESPONDER_ACTIVE_LONG_PRESS_IN';
  };

  var isActivationSignal = function isActivationSignal(signal) {
    return signal === 'RESPONDER_ACTIVE_PRESS_OUT' || signal === 'RESPONDER_ACTIVE_PRESS_IN';
  };

  var isPressInSignal = function isPressInSignal(signal) {
    return signal === 'RESPONDER_INACTIVE_PRESS_IN' || signal === 'RESPONDER_ACTIVE_PRESS_IN' || signal === 'RESPONDER_ACTIVE_LONG_PRESS_IN';
  };

  var isTerminalSignal = function isTerminalSignal(signal) {
    return signal === 'RESPONDER_TERMINATED' || signal === 'RESPONDER_RELEASE';
  };

  var DEFAULT_LONG_PRESS_DELAY_MS = 500;
  var DEFAULT_PRESS_RECT_OFFSETS = {
    bottom: 30,
    left: 20,
    right: 20,
    top: 20
  };
  var DEFAULT_MIN_PRESS_DURATION = 130;

  var Pressability = function () {
    function Pressability(config) {
      var _this = this;

      (0, _classCallCheck2.default)(this, Pressability);
      this._eventHandlers = null;
      this._hoverInDelayTimeout = null;
      this._hoverOutDelayTimeout = null;
      this._isHovered = false;
      this._longPressDelayTimeout = null;
      this._pressDelayTimeout = null;
      this._pressOutDelayTimeout = null;
      this._responderID = null;
      this._responderRegion = null;
      this._touchState = 'NOT_RESPONDER';

      this._measureCallback = function (left, top, width, height, pageX, pageY) {
        if (!left && !top && !width && !height && !pageX && !pageY) {
          return;
        }

        _this._responderRegion = {
          bottom: pageY + height,
          left: pageX,
          right: pageX + width,
          top: pageY
        };
      };

      this.configure(config);
    }

    (0, _createClass2.default)(Pressability, [{
      key: "configure",
      value: function configure(config) {
        this._config = config;
      }
    }, {
      key: "reset",
      value: function reset() {
        this._cancelHoverInDelayTimeout();

        this._cancelHoverOutDelayTimeout();

        this._cancelLongPressDelayTimeout();

        this._cancelPressDelayTimeout();

        this._cancelPressOutDelayTimeout();

        this._config = Object.freeze({});
      }
    }, {
      key: "getEventHandlers",
      value: function getEventHandlers() {
        if (this._eventHandlers == null) {
          this._eventHandlers = this._createEventHandlers();
        }

        return this._eventHandlers;
      }
    }, {
      key: "_createEventHandlers",
      value: function _createEventHandlers() {
        var _this2 = this;

        var focusEventHandlers = {
          onBlur: function onBlur(event) {
            var onBlur = _this2._config.onBlur;

            if (onBlur != null) {
              onBlur(event);
            }
          },
          onFocus: function onFocus(event) {
            var onFocus = _this2._config.onFocus;

            if (onFocus != null) {
              onFocus(event);
            }
          }
        };
        var responderEventHandlers = {
          onStartShouldSetResponder: function onStartShouldSetResponder() {
            var disabled = _this2._config.disabled;

            if (disabled == null) {
              var onStartShouldSetResponder_DEPRECATED = _this2._config.onStartShouldSetResponder_DEPRECATED;
              return onStartShouldSetResponder_DEPRECATED == null ? true : onStartShouldSetResponder_DEPRECATED();
            }

            return !disabled;
          },
          onResponderGrant: function onResponderGrant(event) {
            event.persist();

            _this2._cancelPressOutDelayTimeout();

            _this2._responderID = event.currentTarget;
            _this2._touchState = 'NOT_RESPONDER';

            _this2._receiveSignal('RESPONDER_GRANT', event);

            var delayPressIn = normalizeDelay(_this2._config.delayPressIn);

            if (delayPressIn > 0) {
              _this2._pressDelayTimeout = setTimeout(function () {
                _this2._receiveSignal('DELAY', event);
              }, delayPressIn);
            } else {
              _this2._receiveSignal('DELAY', event);
            }

            var delayLongPress = normalizeDelay(_this2._config.delayLongPress, 10, DEFAULT_LONG_PRESS_DELAY_MS - delayPressIn);
            _this2._longPressDelayTimeout = setTimeout(function () {
              _this2._handleLongPress(event);
            }, delayLongPress + delayPressIn);
          },
          onResponderMove: function onResponderMove(event) {
            var onPressMove = _this2._config.onPressMove;

            if (onPressMove != null) {
              onPressMove(event);
            }

            var responderRegion = _this2._responderRegion;

            if (responderRegion == null) {
              return;
            }

            var touch = getTouchFromPressEvent(event);

            if (touch == null) {
              _this2._cancelLongPressDelayTimeout();

              _this2._receiveSignal('LEAVE_PRESS_RECT', event);

              return;
            }

            if (_this2._touchActivatePosition != null) {
              var deltaX = _this2._touchActivatePosition.pageX - touch.pageX;
              var deltaY = _this2._touchActivatePosition.pageY - touch.pageY;

              if (Math.hypot(deltaX, deltaY) > 10) {
                _this2._cancelLongPressDelayTimeout();
              }
            }

            if (_this2._isTouchWithinResponderRegion(touch, responderRegion)) {
              _this2._receiveSignal('ENTER_PRESS_RECT', event);
            } else {
              _this2._cancelLongPressDelayTimeout();

              _this2._receiveSignal('LEAVE_PRESS_RECT', event);
            }
          },
          onResponderRelease: function onResponderRelease(event) {
            _this2._receiveSignal('RESPONDER_RELEASE', event);
          },
          onResponderTerminate: function onResponderTerminate(event) {
            _this2._receiveSignal('RESPONDER_TERMINATED', event);
          },
          onResponderTerminationRequest: function onResponderTerminationRequest() {
            var cancelable = _this2._config.cancelable;

            if (cancelable == null) {
              var onResponderTerminationRequest_DEPRECATED = _this2._config.onResponderTerminationRequest_DEPRECATED;
              return onResponderTerminationRequest_DEPRECATED == null ? true : onResponderTerminationRequest_DEPRECATED();
            }

            return cancelable;
          },
          onClick: function onClick(event) {
            var _this2$_config = _this2._config,
                onPress = _this2$_config.onPress,
                disabled = _this2$_config.disabled;

            if (onPress != null && disabled !== true) {
              onPress(event);
            }
          }
        };
        var mouseEventHandlers = _Platform.default.OS === 'ios' || _Platform.default.OS === 'android' ? null : {
          onMouseEnter: function onMouseEnter(event) {
            if ((0, _$$_REQUIRE(_dependencyMap[10]).isHoverEnabled)()) {
              _this2._isHovered = true;

              _this2._cancelHoverOutDelayTimeout();

              var onHoverIn = _this2._config.onHoverIn;

              if (onHoverIn != null) {
                var delayHoverIn = normalizeDelay(_this2._config.delayHoverIn);

                if (delayHoverIn > 0) {
                  event.persist();
                  _this2._hoverInDelayTimeout = setTimeout(function () {
                    onHoverIn(event);
                  }, delayHoverIn);
                } else {
                  onHoverIn(event);
                }
              }
            }
          },
          onMouseLeave: function onMouseLeave(event) {
            if (_this2._isHovered) {
              _this2._isHovered = false;

              _this2._cancelHoverInDelayTimeout();

              var onHoverOut = _this2._config.onHoverOut;

              if (onHoverOut != null) {
                var delayHoverOut = normalizeDelay(_this2._config.delayHoverOut);

                if (delayHoverOut > 0) {
                  event.persist();
                  _this2._hoverInDelayTimeout = setTimeout(function () {
                    onHoverOut(event);
                  }, delayHoverOut);
                } else {
                  onHoverOut(event);
                }
              }
            }
          }
        };
        return (0, _extends2.default)({}, focusEventHandlers, responderEventHandlers, mouseEventHandlers);
      }
    }, {
      key: "_receiveSignal",
      value: function _receiveSignal(signal, event) {
        var _Transitions$prevStat;

        if (event.nativeEvent.timestamp != null) {
          _PressabilityPerformanceEventEmitter.default.emitEvent(function () {
            return {
              signal: signal,
              nativeTimestamp: event.nativeEvent.timestamp
            };
          });
        }

        var prevState = this._touchState;
        var nextState = (_Transitions$prevStat = Transitions[prevState]) == null ? undefined : _Transitions$prevStat[signal];

        if (this._responderID == null && signal === 'RESPONDER_RELEASE') {
          return;
        }

        (0, _invariant.default)(nextState != null && nextState !== 'ERROR', 'Pressability: Invalid signal `%s` for state `%s` on responder: %s', signal, prevState, typeof this._responderID === 'number' ? this._responderID : '<<host component>>');

        if (prevState !== nextState) {
          this._performTransitionSideEffects(prevState, nextState, signal, event);

          this._touchState = nextState;
        }
      }
    }, {
      key: "_performTransitionSideEffects",
      value: function _performTransitionSideEffects(prevState, nextState, signal, event) {
        if (isTerminalSignal(signal)) {
          this._touchActivatePosition = null;

          this._cancelLongPressDelayTimeout();
        }

        var isInitialTransition = prevState === 'NOT_RESPONDER' && nextState === 'RESPONDER_INACTIVE_PRESS_IN';
        var isActivationTransition = !isActivationSignal(prevState) && isActivationSignal(nextState);

        if (isInitialTransition || isActivationTransition) {
          this._measureResponderRegion();
        }

        if (isPressInSignal(prevState) && signal === 'LONG_PRESS_DETECTED') {
          var onLongPress = this._config.onLongPress;

          if (onLongPress != null) {
            onLongPress(event);
          }
        }

        var isPrevActive = isActiveSignal(prevState);
        var isNextActive = isActiveSignal(nextState);

        if (!isPrevActive && isNextActive) {
          this._activate(event);
        } else if (isPrevActive && !isNextActive) {
          this._deactivate(event);
        }

        if (isPressInSignal(prevState) && signal === 'RESPONDER_RELEASE') {
          if (!isNextActive && !isPrevActive) {
            this._activate(event);

            this._deactivate(event);
          }

          var _this$_config = this._config,
              _onLongPress = _this$_config.onLongPress,
              onPress = _this$_config.onPress,
              android_disableSound = _this$_config.android_disableSound;

          if (onPress != null) {
            var isPressCanceledByLongPress = _onLongPress != null && prevState === 'RESPONDER_ACTIVE_LONG_PRESS_IN' && this._shouldLongPressCancelPress();

            if (!isPressCanceledByLongPress) {
              if (_Platform.default.OS === 'android' && android_disableSound !== true) {
                _SoundManager.default.playTouchSound();
              }

              onPress(event);
            }
          }
        }

        this._cancelPressDelayTimeout();
      }
    }, {
      key: "_activate",
      value: function _activate(event) {
        var onPressIn = this._config.onPressIn;

        var _getTouchFromPressEve = getTouchFromPressEvent(event),
            pageX = _getTouchFromPressEve.pageX,
            pageY = _getTouchFromPressEve.pageY;

        this._touchActivatePosition = {
          pageX: pageX,
          pageY: pageY
        };
        this._touchActivateTime = Date.now();

        if (onPressIn != null) {
          onPressIn(event);
        }
      }
    }, {
      key: "_deactivate",
      value: function _deactivate(event) {
        var onPressOut = this._config.onPressOut;

        if (onPressOut != null) {
          var _this$_touchActivateT;

          var minPressDuration = normalizeDelay(this._config.minPressDuration, 0, DEFAULT_MIN_PRESS_DURATION);
          var pressDuration = Date.now() - ((_this$_touchActivateT = this._touchActivateTime) != null ? _this$_touchActivateT : 0);
          var delayPressOut = Math.max(minPressDuration - pressDuration, normalizeDelay(this._config.delayPressOut));

          if (delayPressOut > 0) {
            event.persist();
            this._pressOutDelayTimeout = setTimeout(function () {
              onPressOut(event);
            }, delayPressOut);
          } else {
            onPressOut(event);
          }
        }

        this._touchActivateTime = null;
      }
    }, {
      key: "_measureResponderRegion",
      value: function _measureResponderRegion() {
        if (this._responderID == null) {
          return;
        }

        if (typeof this._responderID === 'number') {
          _UIManager.default.measure(this._responderID, this._measureCallback);
        } else {
          this._responderID.measure(this._measureCallback);
        }
      }
    }, {
      key: "_isTouchWithinResponderRegion",
      value: function _isTouchWithinResponderRegion(touch, responderRegion) {
        var _pressRectOffset$bott, _pressRectOffset$left, _pressRectOffset$righ, _pressRectOffset$top;

        var hitSlop = (0, _$$_REQUIRE(_dependencyMap[11]).normalizeRect)(this._config.hitSlop);
        var pressRectOffset = (0, _$$_REQUIRE(_dependencyMap[11]).normalizeRect)(this._config.pressRectOffset);
        var regionBottom = responderRegion.bottom;
        var regionLeft = responderRegion.left;
        var regionRight = responderRegion.right;
        var regionTop = responderRegion.top;

        if (hitSlop != null) {
          if (hitSlop.bottom != null) {
            regionBottom += hitSlop.bottom;
          }

          if (hitSlop.left != null) {
            regionLeft -= hitSlop.left;
          }

          if (hitSlop.right != null) {
            regionRight += hitSlop.right;
          }

          if (hitSlop.top != null) {
            regionTop -= hitSlop.top;
          }
        }

        regionBottom += (_pressRectOffset$bott = pressRectOffset == null ? undefined : pressRectOffset.bottom) != null ? _pressRectOffset$bott : DEFAULT_PRESS_RECT_OFFSETS.bottom;
        regionLeft -= (_pressRectOffset$left = pressRectOffset == null ? undefined : pressRectOffset.left) != null ? _pressRectOffset$left : DEFAULT_PRESS_RECT_OFFSETS.left;
        regionRight += (_pressRectOffset$righ = pressRectOffset == null ? undefined : pressRectOffset.right) != null ? _pressRectOffset$righ : DEFAULT_PRESS_RECT_OFFSETS.right;
        regionTop -= (_pressRectOffset$top = pressRectOffset == null ? undefined : pressRectOffset.top) != null ? _pressRectOffset$top : DEFAULT_PRESS_RECT_OFFSETS.top;
        return touch.pageX > regionLeft && touch.pageX < regionRight && touch.pageY > regionTop && touch.pageY < regionBottom;
      }
    }, {
      key: "_handleLongPress",
      value: function _handleLongPress(event) {
        if (this._touchState === 'RESPONDER_ACTIVE_PRESS_IN' || this._touchState === 'RESPONDER_ACTIVE_LONG_PRESS_IN') {
          this._receiveSignal('LONG_PRESS_DETECTED', event);
        }
      }
    }, {
      key: "_shouldLongPressCancelPress",
      value: function _shouldLongPressCancelPress() {
        return this._config.onLongPressShouldCancelPress_DEPRECATED == null || this._config.onLongPressShouldCancelPress_DEPRECATED();
      }
    }, {
      key: "_cancelHoverInDelayTimeout",
      value: function _cancelHoverInDelayTimeout() {
        if (this._hoverInDelayTimeout != null) {
          clearTimeout(this._hoverInDelayTimeout);
          this._hoverInDelayTimeout = null;
        }
      }
    }, {
      key: "_cancelHoverOutDelayTimeout",
      value: function _cancelHoverOutDelayTimeout() {
        if (this._hoverOutDelayTimeout != null) {
          clearTimeout(this._hoverOutDelayTimeout);
          this._hoverOutDelayTimeout = null;
        }
      }
    }, {
      key: "_cancelLongPressDelayTimeout",
      value: function _cancelLongPressDelayTimeout() {
        if (this._longPressDelayTimeout != null) {
          clearTimeout(this._longPressDelayTimeout);
          this._longPressDelayTimeout = null;
        }
      }
    }, {
      key: "_cancelPressDelayTimeout",
      value: function _cancelPressDelayTimeout() {
        if (this._pressDelayTimeout != null) {
          clearTimeout(this._pressDelayTimeout);
          this._pressDelayTimeout = null;
        }
      }
    }, {
      key: "_cancelPressOutDelayTimeout",
      value: function _cancelPressOutDelayTimeout() {
        if (this._pressOutDelayTimeout != null) {
          clearTimeout(this._pressOutDelayTimeout);
          this._pressOutDelayTimeout = null;
        }
      }
    }]);
    return Pressability;
  }();

  exports.default = Pressability;

  function normalizeDelay(delay) {
    var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
    var fallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
    return Math.max(min, delay != null ? delay : fallback);
  }

  var getTouchFromPressEvent = function getTouchFromPressEvent(event) {
    var _event$nativeEvent = event.nativeEvent,
        changedTouches = _event$nativeEvent.changedTouches,
        touches = _event$nativeEvent.touches;

    if (touches != null && touches.length > 0) {
      return touches[0];
    }

    if (changedTouches != null && changedTouches.length > 0) {
      return changedTouches[0];
    }

    return event.nativeEvent;
  };
},211,[5,6,7,8,36,212,214,37,155,17,215,216]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _NativeSoundManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var SoundManager = {
    playTouchSound: function playTouchSound() {
      if (_NativeSoundManager.default) {
        _NativeSoundManager.default.playTouchSound();
      }
    }
  };
  module.exports = SoundManager;
},212,[5,213]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('SoundManager');

  exports.default = _default;
},213,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var PressabilityPerformanceEventEmitter = function () {
    function PressabilityPerformanceEventEmitter() {
      (0, _classCallCheck2.default)(this, PressabilityPerformanceEventEmitter);
      this._listeners = [];
    }

    (0, _createClass2.default)(PressabilityPerformanceEventEmitter, [{
      key: "addListener",
      value: function addListener(listener) {
        this._listeners.push(listener);
      }
    }, {
      key: "removeListener",
      value: function removeListener(listener) {
        var index = this._listeners.indexOf(listener);

        if (index > -1) {
          this._listeners.splice(index, 1);
        }
      }
    }, {
      key: "emitEvent",
      value: function emitEvent(constructEvent) {
        if (this._listeners.length === 0) {
          return;
        }

        var event = constructEvent();

        this._listeners.forEach(function (listener) {
          return listener(event);
        });
      }
    }]);
    return PressabilityPerformanceEventEmitter;
  }();

  var PressabilityPerformanceEventEmitterSingleton = new PressabilityPerformanceEventEmitter();
  var _default = PressabilityPerformanceEventEmitterSingleton;
  exports.default = _default;
},214,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.isHoverEnabled = isHoverEnabled;

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var isEnabled = false;

  if (_Platform.default.OS === 'web') {
    var canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);

    if (canUseDOM) {
      var HOVER_THRESHOLD_MS = 1000;
      var lastTouchTimestamp = 0;

      var enableHover = function enableHover() {
        if (isEnabled || Date.now() - lastTouchTimestamp < HOVER_THRESHOLD_MS) {
          return;
        }

        isEnabled = true;
      };

      var disableHover = function disableHover() {
        lastTouchTimestamp = Date.now();

        if (isEnabled) {
          isEnabled = false;
        }
      };

      document.addEventListener('touchstart', disableHover, true);
      document.addEventListener('touchmove', disableHover, true);
      document.addEventListener('mousemove', enableHover, true);
    }
  }

  function isHoverEnabled() {
    return isEnabled;
  }
},215,[5,37]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createSquare = createSquare;
  exports.normalizeRect = normalizeRect;

  function createSquare(size) {
    return {
      bottom: size,
      left: size,
      right: size,
      top: size
    };
  }

  function normalizeRect(rectOrSize) {
    return typeof rectOrSize === 'number' ? createSquare(rectOrSize) : rectOrSize;
  }
},216,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.NativeVirtualText = exports.NativeText = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _ReactNativeViewAttributes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _UIManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createReactNativeComponentClass = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var NativeText = (0, _createReactNativeComponentClass.default)('RCTText', function () {
    return {
      validAttributes: (0, _extends2.default)({}, _ReactNativeViewAttributes.default.UIView, {
        isHighlighted: true,
        numberOfLines: true,
        ellipsizeMode: true,
        allowFontScaling: true,
        maxFontSizeMultiplier: true,
        disabled: true,
        selectable: true,
        selectionColor: true,
        adjustsFontSizeToFit: true,
        minimumFontScale: true,
        textBreakStrategy: true,
        onTextLayout: true,
        onInlineViewLayout: true,
        dataDetectorType: true,
        android_hyphenationFrequency: true
      }),
      directEventTypes: {
        topTextLayout: {
          registrationName: 'onTextLayout'
        },
        topInlineViewLayout: {
          registrationName: 'onInlineViewLayout'
        }
      },
      uiViewClassName: 'RCTText'
    };
  });
  exports.NativeText = NativeText;
  var NativeVirtualText = !global.RN$Bridgeless && !_UIManager.default.hasViewManagerConfig('RCTVirtualText') ? NativeText : (0, _createReactNativeComponentClass.default)('RCTVirtualText', function () {
    return {
      validAttributes: (0, _extends2.default)({}, _ReactNativeViewAttributes.default.UIView, {
        isHighlighted: true,
        maxFontSizeMultiplier: true
      }),
      uiViewClassName: 'RCTVirtualText'
    };
  });
  exports.NativeVirtualText = NativeVirtualText;
},217,[5,6,218,155,192]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _ReactNativeStyleAttributes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var UIView = {
    pointerEvents: true,
    accessible: true,
    accessibilityActions: true,
    accessibilityLabel: true,
    accessibilityLiveRegion: true,
    accessibilityRole: true,
    accessibilityState: true,
    accessibilityValue: true,
    accessibilityHint: true,
    importantForAccessibility: true,
    nativeID: true,
    testID: true,
    renderToHardwareTextureAndroid: true,
    shouldRasterizeIOS: true,
    onLayout: true,
    onAccessibilityAction: true,
    onAccessibilityTap: true,
    onMagicTap: true,
    onAccessibilityEscape: true,
    collapsable: true,
    needsOffscreenAlphaCompositing: true,
    style: _ReactNativeStyleAttributes.default
  };
  var RCTView = (0, _extends2.default)({}, UIView, {
    removeClippedSubviews: true
  });
  var ReactNativeViewAttributes = {
    UIView: UIView,
    RCTView: RCTView
  };
  module.exports = ReactNativeViewAttributes;
},218,[5,6,162]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Pressability = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _ReactNative = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _View = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _processColor = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[13]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TouchableNativeFeedback = function (_React$Component) {
    (0, _inherits2.default)(TouchableNativeFeedback, _React$Component);

    var _super = _createSuper(TouchableNativeFeedback);

    function TouchableNativeFeedback() {
      var _this;

      (0, _classCallCheck2.default)(this, TouchableNativeFeedback);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.state = {
        pressability: new _Pressability.default(_this._createPressabilityConfig())
      };
      return _this;
    }

    (0, _createClass2.default)(TouchableNativeFeedback, [{
      key: "_createPressabilityConfig",
      value: function _createPressabilityConfig() {
        var _this$props$accessibi,
            _this2 = this;

        return {
          cancelable: !this.props.rejectResponderTermination,
          disabled: this.props.disabled != null ? this.props.disabled : (_this$props$accessibi = this.props.accessibilityState) == null ? undefined : _this$props$accessibi.disabled,
          hitSlop: this.props.hitSlop,
          delayLongPress: this.props.delayLongPress,
          delayPressIn: this.props.delayPressIn,
          delayPressOut: this.props.delayPressOut,
          minPressDuration: 0,
          pressRectOffset: this.props.pressRetentionOffset,
          android_disableSound: this.props.touchSoundDisabled,
          onLongPress: this.props.onLongPress,
          onPress: this.props.onPress,
          onPressIn: function onPressIn(event) {
            if (_Platform.default.OS === 'android') {
              _this2._dispatchHotspotUpdate(event);

              _this2._dispatchPressedStateChange(true);
            }

            if (_this2.props.onPressIn != null) {
              _this2.props.onPressIn(event);
            }
          },
          onPressMove: function onPressMove(event) {
            if (_Platform.default.OS === 'android') {
              _this2._dispatchHotspotUpdate(event);
            }
          },
          onPressOut: function onPressOut(event) {
            if (_Platform.default.OS === 'android') {
              _this2._dispatchPressedStateChange(false);
            }

            if (_this2.props.onPressOut != null) {
              _this2.props.onPressOut(event);
            }
          }
        };
      }
    }, {
      key: "_dispatchPressedStateChange",
      value: function _dispatchPressedStateChange(pressed) {
        if (_Platform.default.OS === 'android') {
          var hostComponentRef = _ReactNative.default.findHostInstance_DEPRECATED(this);

          if (hostComponentRef == null) {
            console.warn("Touchable: Unable to find HostComponent instance. Has your Touchable component been unmounted?");
          } else {
            _$$_REQUIRE(_dependencyMap[15]).Commands.setPressed(hostComponentRef, pressed);
          }
        }
      }
    }, {
      key: "_dispatchHotspotUpdate",
      value: function _dispatchHotspotUpdate(event) {
        if (_Platform.default.OS === 'android') {
          var _event$nativeEvent = event.nativeEvent,
              locationX = _event$nativeEvent.locationX,
              locationY = _event$nativeEvent.locationY;

          var hostComponentRef = _ReactNative.default.findHostInstance_DEPRECATED(this);

          if (hostComponentRef == null) {
            console.warn("Touchable: Unable to find HostComponent instance. Has your Touchable component been unmounted?");
          } else {
            _$$_REQUIRE(_dependencyMap[15]).Commands.hotspotUpdate(hostComponentRef, locationX != null ? locationX : 0, locationY != null ? locationY : 0);
          }
        }
      }
    }, {
      key: "render",
      value: function render() {
        var element = React.Children.only(this.props.children);
        var children = [element.props.children];

        var _this$state$pressabil = this.state.pressability.getEventHandlers(),
            onBlur = _this$state$pressabil.onBlur,
            onFocus = _this$state$pressabil.onFocus,
            eventHandlersWithoutBlurAndFocus = (0, _objectWithoutProperties2.default)(_this$state$pressabil, ["onBlur", "onFocus"]);

        var accessibilityState = this.props.disabled != null ? (0, _extends2.default)({}, this.props.accessibilityState, {
          disabled: this.props.disabled
        }) : this.props.accessibilityState;
        return React.cloneElement.apply(React, [element, (0, _extends2.default)({}, eventHandlersWithoutBlurAndFocus, getBackgroundProp(this.props.background === undefined ? TouchableNativeFeedback.SelectableBackground() : this.props.background, this.props.useForeground === true), {
          accessible: this.props.accessible !== false,
          accessibilityHint: this.props.accessibilityHint,
          accessibilityLabel: this.props.accessibilityLabel,
          accessibilityRole: this.props.accessibilityRole,
          accessibilityState: accessibilityState,
          accessibilityActions: this.props.accessibilityActions,
          onAccessibilityAction: this.props.onAccessibilityAction,
          accessibilityValue: this.props.accessibilityValue,
          importantForAccessibility: this.props.importantForAccessibility,
          accessibilityLiveRegion: this.props.accessibilityLiveRegion,
          accessibilityViewIsModal: this.props.accessibilityViewIsModal,
          accessibilityElementsHidden: this.props.accessibilityElementsHidden,
          hasTVPreferredFocus: this.props.hasTVPreferredFocus,
          hitSlop: this.props.hitSlop,
          focusable: this.props.focusable !== false && this.props.onPress !== undefined && !this.props.disabled,
          nativeID: this.props.nativeID,
          nextFocusDown: this.props.nextFocusDown,
          nextFocusForward: this.props.nextFocusForward,
          nextFocusLeft: this.props.nextFocusLeft,
          nextFocusRight: this.props.nextFocusRight,
          nextFocusUp: this.props.nextFocusUp,
          onLayout: this.props.onLayout,
          testID: this.props.testID
        })].concat(children));
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps, prevState) {
        this.state.pressability.configure(this._createPressabilityConfig());
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this.state.pressability.reset();
      }
    }]);
    return TouchableNativeFeedback;
  }(React.Component);

  TouchableNativeFeedback.SelectableBackground = function (rippleRadius) {
    return {
      type: 'ThemeAttrAndroid',
      attribute: 'selectableItemBackground',
      rippleRadius: rippleRadius
    };
  };

  TouchableNativeFeedback.SelectableBackgroundBorderless = function (rippleRadius) {
    return {
      type: 'ThemeAttrAndroid',
      attribute: 'selectableItemBackgroundBorderless',
      rippleRadius: rippleRadius
    };
  };

  TouchableNativeFeedback.Ripple = function (color, borderless, rippleRadius) {
    var processedColor = (0, _processColor.default)(color);
    (0, _invariant.default)(processedColor == null || typeof processedColor === 'number', 'Unexpected color given for Ripple color');
    return {
      type: 'RippleAndroid',
      color: processedColor,
      borderless: borderless,
      rippleRadius: rippleRadius
    };
  };

  TouchableNativeFeedback.canUseNativeForeground = function () {
    return _Platform.default.OS === 'android' && _Platform.default.Version >= 23;
  };

  var getBackgroundProp = _Platform.default.OS === 'android' ? function (background, useForeground) {
    return useForeground && TouchableNativeFeedback.canUseNativeForeground() ? {
      nativeForegroundAndroid: background
    } : {
      nativeBackgroundAndroid: background
    };
  } : function (background, useForeground) {
    return null;
  };
  TouchableNativeFeedback.displayName = 'TouchableNativeFeedback';
  module.exports = TouchableNativeFeedback;
},219,[5,6,108,7,8,12,14,16,211,54,37,184,145,17,36,185]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Pressability = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _Animated = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _Easing = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _flattenStyle2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[13]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TouchableOpacity = function (_React$Component) {
    (0, _inherits2.default)(TouchableOpacity, _React$Component);

    var _super = _createSuper(TouchableOpacity);

    function TouchableOpacity() {
      var _this;

      (0, _classCallCheck2.default)(this, TouchableOpacity);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.state = {
        anim: new _Animated.default.Value(_this._getChildStyleOpacityWithDefault()),
        pressability: new _Pressability.default(_this._createPressabilityConfig())
      };
      return _this;
    }

    (0, _createClass2.default)(TouchableOpacity, [{
      key: "_createPressabilityConfig",
      value: function _createPressabilityConfig() {
        var _this$props$disabled,
            _this$props$accessibi,
            _this2 = this;

        return {
          cancelable: !this.props.rejectResponderTermination,
          disabled: (_this$props$disabled = this.props.disabled) != null ? _this$props$disabled : (_this$props$accessibi = this.props.accessibilityState) == null ? undefined : _this$props$accessibi.disabled,
          hitSlop: this.props.hitSlop,
          delayLongPress: this.props.delayLongPress,
          delayPressIn: this.props.delayPressIn,
          delayPressOut: this.props.delayPressOut,
          minPressDuration: 0,
          pressRectOffset: this.props.pressRetentionOffset,
          onBlur: function onBlur(event) {
            if (_Platform.default.isTV) {
              _this2._opacityInactive(250);
            }

            if (_this2.props.onBlur != null) {
              _this2.props.onBlur(event);
            }
          },
          onFocus: function onFocus(event) {
            if (_Platform.default.isTV) {
              _this2._opacityActive(150);
            }

            if (_this2.props.onFocus != null) {
              _this2.props.onFocus(event);
            }
          },
          onLongPress: this.props.onLongPress,
          onPress: this.props.onPress,
          onPressIn: function onPressIn(event) {
            _this2._opacityActive(event.dispatchConfig.registrationName === 'onResponderGrant' ? 0 : 150);

            if (_this2.props.onPressIn != null) {
              _this2.props.onPressIn(event);
            }
          },
          onPressOut: function onPressOut(event) {
            _this2._opacityInactive(250);

            if (_this2.props.onPressOut != null) {
              _this2.props.onPressOut(event);
            }
          }
        };
      }
    }, {
      key: "_setOpacityTo",
      value: function _setOpacityTo(toValue, duration) {
        _Animated.default.timing(this.state.anim, {
          toValue: toValue,
          duration: duration,
          easing: _Easing.default.inOut(_Easing.default.quad),
          useNativeDriver: true
        }).start();
      }
    }, {
      key: "_opacityActive",
      value: function _opacityActive(duration) {
        var _this$props$activeOpa;

        this._setOpacityTo((_this$props$activeOpa = this.props.activeOpacity) != null ? _this$props$activeOpa : 0.2, duration);
      }
    }, {
      key: "_opacityInactive",
      value: function _opacityInactive(duration) {
        this._setOpacityTo(this._getChildStyleOpacityWithDefault(), duration);
      }
    }, {
      key: "_getChildStyleOpacityWithDefault",
      value: function _getChildStyleOpacityWithDefault() {
        var _flattenStyle;

        var opacity = (_flattenStyle = (0, _flattenStyle2.default)(this.props.style)) == null ? undefined : _flattenStyle.opacity;
        return typeof opacity === 'number' ? opacity : 1;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$state$pressabil = this.state.pressability.getEventHandlers(),
            onBlur = _this$state$pressabil.onBlur,
            onFocus = _this$state$pressabil.onFocus,
            eventHandlersWithoutBlurAndFocus = (0, _objectWithoutProperties2.default)(_this$state$pressabil, ["onBlur", "onFocus"]);

        var accessibilityState = this.props.disabled != null ? (0, _extends2.default)({}, this.props.accessibilityState, {
          disabled: this.props.disabled
        }) : this.props.accessibilityState;
        return React.createElement(_Animated.default.View, (0, _extends2.default)({
          accessible: this.props.accessible !== false,
          accessibilityLabel: this.props.accessibilityLabel,
          accessibilityHint: this.props.accessibilityHint,
          accessibilityRole: this.props.accessibilityRole,
          accessibilityState: accessibilityState,
          accessibilityActions: this.props.accessibilityActions,
          onAccessibilityAction: this.props.onAccessibilityAction,
          accessibilityValue: this.props.accessibilityValue,
          importantForAccessibility: this.props.importantForAccessibility,
          accessibilityLiveRegion: this.props.accessibilityLiveRegion,
          accessibilityViewIsModal: this.props.accessibilityViewIsModal,
          accessibilityElementsHidden: this.props.accessibilityElementsHidden,
          style: [this.props.style, {
            opacity: this.state.anim
          }],
          nativeID: this.props.nativeID,
          testID: this.props.testID,
          onLayout: this.props.onLayout,
          nextFocusDown: this.props.nextFocusDown,
          nextFocusForward: this.props.nextFocusForward,
          nextFocusLeft: this.props.nextFocusLeft,
          nextFocusRight: this.props.nextFocusRight,
          nextFocusUp: this.props.nextFocusUp,
          hasTVPreferredFocus: this.props.hasTVPreferredFocus,
          hitSlop: this.props.hitSlop,
          focusable: this.props.focusable !== false && this.props.onPress !== undefined,
          ref: this.props.hostRef
        }, eventHandlersWithoutBlurAndFocus), this.props.children, null);
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps, prevState) {
        this.state.pressability.configure(this._createPressabilityConfig());

        if (this.props.disabled !== prevProps.disabled) {
          this._opacityInactive(250);
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this.state.pressability.reset();
      }
    }]);
    return TouchableOpacity;
  }(React.Component);

  var Touchable = React.forwardRef(function (props, ref) {
    return React.createElement(TouchableOpacity, (0, _extends2.default)({}, props, {
      hostRef: ref
    }));
  });
  Touchable.displayName = 'TouchableOpacity';
  module.exports = Touchable;
},220,[5,6,108,7,8,12,14,16,211,221,245,178,37,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var Animated = _Platform.default.isTesting ? _$$_REQUIRE(_dependencyMap[3]) : _$$_REQUIRE(_dependencyMap[4]);
  module.exports = (0, _extends2.default)({
    get FlatList() {
      return _$$_REQUIRE(_dependencyMap[5]);
    },

    get Image() {
      return _$$_REQUIRE(_dependencyMap[6]);
    },

    get ScrollView() {
      return _$$_REQUIRE(_dependencyMap[7]);
    },

    get SectionList() {
      return _$$_REQUIRE(_dependencyMap[8]);
    },

    get Text() {
      return _$$_REQUIRE(_dependencyMap[9]);
    },

    get View() {
      return _$$_REQUIRE(_dependencyMap[10]);
    }

  }, Animated);
},221,[5,6,37,222,233,255,283,293,294,297,298]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var emptyAnimation = {
    start: function start() {},
    stop: function stop() {},
    reset: function reset() {},
    _startNativeLoop: function _startNativeLoop() {},
    _isUsingNativeDriver: function _isUsingNativeDriver() {
      return false;
    }
  };

  var spring = function spring(value, config) {
    var anyValue = value;
    return _$$_REQUIRE(_dependencyMap[0])({}, emptyAnimation, {
      start: function start(callback) {
        anyValue.setValue(config.toValue);
        callback && callback({
          finished: true
        });
      }
    });
  };

  var timing = function timing(value, config) {
    var anyValue = value;
    return _$$_REQUIRE(_dependencyMap[0])({}, emptyAnimation, {
      start: function start(callback) {
        anyValue.setValue(config.toValue);
        callback && callback({
          finished: true
        });
      }
    });
  };

  var decay = function decay(value, config) {
    return emptyAnimation;
  };

  var sequence = function sequence(animations) {
    return emptyAnimation;
  };

  var parallel = function parallel(animations, config) {
    return emptyAnimation;
  };

  var delay = function delay(time) {
    return emptyAnimation;
  };

  var stagger = function stagger(time, animations) {
    return emptyAnimation;
  };

  var loop = function loop(animation) {
    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
        _ref$iterations = _ref.iterations,
        iterations = _ref$iterations === undefined ? -1 : _ref$iterations;

    return emptyAnimation;
  };

  module.exports = {
    Value: _$$_REQUIRE(_dependencyMap[1]),
    ValueXY: _$$_REQUIRE(_dependencyMap[2]),
    Interpolation: _$$_REQUIRE(_dependencyMap[3]),
    Node: _$$_REQUIRE(_dependencyMap[4]),
    decay: decay,
    timing: timing,
    spring: spring,
    add: _$$_REQUIRE(_dependencyMap[5]).add,
    subtract: _$$_REQUIRE(_dependencyMap[5]).subtract,
    divide: _$$_REQUIRE(_dependencyMap[5]).divide,
    multiply: _$$_REQUIRE(_dependencyMap[5]).multiply,
    modulo: _$$_REQUIRE(_dependencyMap[5]).modulo,
    diffClamp: _$$_REQUIRE(_dependencyMap[5]).diffClamp,
    delay: delay,
    sequence: sequence,
    parallel: parallel,
    stagger: stagger,
    loop: loop,
    event: _$$_REQUIRE(_dependencyMap[5]).event,
    createAnimatedComponent: _$$_REQUIRE(_dependencyMap[6]),
    attachNativeEvent: _$$_REQUIRE(_dependencyMap[7]).attachNativeEvent,
    forkEvent: _$$_REQUIRE(_dependencyMap[5]).forkEvent,
    unforkEvent: _$$_REQUIRE(_dependencyMap[5]).unforkEvent,
    Event: _$$_REQUIRE(_dependencyMap[7]).AnimatedEvent
  };
},222,[6,223,232,227,229,233,249,248]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  function _flush(rootNode) {
    var animatedStyles = new Set();

    function findAnimatedStyles(node) {
      if (typeof node.update === 'function') {
        animatedStyles.add(node);
      } else {
        node.__getChildren().forEach(findAnimatedStyles);
      }
    }

    findAnimatedStyles(rootNode);
    animatedStyles.forEach(function (animatedStyle) {
      return animatedStyle.update();
    });
  }

  function _executeAsAnimatedBatch(id, operation) {
    _$$_REQUIRE(_dependencyMap[2]).API.setWaitingForIdentifier(id);

    operation();

    _$$_REQUIRE(_dependencyMap[2]).API.unsetWaitingForIdentifier(id);
  }

  var AnimatedValue = function (_AnimatedWithChildren) {
    _$$_REQUIRE(_dependencyMap[3])(AnimatedValue, _AnimatedWithChildren);

    var _super = _createSuper(AnimatedValue);

    function AnimatedValue(value) {
      var _this;

      _$$_REQUIRE(_dependencyMap[4])(this, AnimatedValue);

      _this = _super.call(this);

      if (typeof value !== 'number') {
        throw new Error('AnimatedValue: Attempting to set value to undefined');
      }

      _this._startingValue = _this._value = value;
      _this._offset = 0;
      _this._animation = null;
      return _this;
    }

    _$$_REQUIRE(_dependencyMap[5])(AnimatedValue, [{
      key: "__detach",
      value: function __detach() {
        var _this2 = this;

        if (this.__isNative) {
          _$$_REQUIRE(_dependencyMap[2]).API.getValue(this.__getNativeTag(), function (value) {
            _this2._value = value;
          });
        }

        this.stopAnimation();

        _$$_REQUIRE(_dependencyMap[6])(_$$_REQUIRE(_dependencyMap[0])(AnimatedValue.prototype), "__detach", this).call(this);
      }
    }, {
      key: "__getValue",
      value: function __getValue() {
        return this._value + this._offset;
      }
    }, {
      key: "setValue",
      value: function setValue(value) {
        var _this3 = this;

        if (this._animation) {
          this._animation.stop();

          this._animation = null;
        }

        this._updateValue(value, !this.__isNative);

        if (this.__isNative) {
          _executeAsAnimatedBatch(this.__getNativeTag().toString(), function () {
            _$$_REQUIRE(_dependencyMap[2]).API.setAnimatedNodeValue(_this3.__getNativeTag(), value);
          });
        }
      }
    }, {
      key: "setOffset",
      value: function setOffset(offset) {
        this._offset = offset;

        if (this.__isNative) {
          _$$_REQUIRE(_dependencyMap[2]).API.setAnimatedNodeOffset(this.__getNativeTag(), offset);
        }
      }
    }, {
      key: "flattenOffset",
      value: function flattenOffset() {
        this._value += this._offset;
        this._offset = 0;

        if (this.__isNative) {
          _$$_REQUIRE(_dependencyMap[2]).API.flattenAnimatedNodeOffset(this.__getNativeTag());
        }
      }
    }, {
      key: "extractOffset",
      value: function extractOffset() {
        this._offset += this._value;
        this._value = 0;

        if (this.__isNative) {
          _$$_REQUIRE(_dependencyMap[2]).API.extractAnimatedNodeOffset(this.__getNativeTag());
        }
      }
    }, {
      key: "stopAnimation",
      value: function stopAnimation(callback) {
        this.stopTracking();
        this._animation && this._animation.stop();
        this._animation = null;
        callback && callback(this.__getValue());
      }
    }, {
      key: "resetAnimation",
      value: function resetAnimation(callback) {
        this.stopAnimation(callback);
        this._value = this._startingValue;

        if (this.__isNative) {
          _$$_REQUIRE(_dependencyMap[2]).API.setAnimatedNodeValue(this.__getNativeTag(), this._startingValue);
        }
      }
    }, {
      key: "_onAnimatedValueUpdateReceived",
      value: function _onAnimatedValueUpdateReceived(value) {
        this._updateValue(value, false);
      }
    }, {
      key: "interpolate",
      value: function interpolate(config) {
        return new (_$$_REQUIRE(_dependencyMap[7]))(this, config);
      }
    }, {
      key: "animate",
      value: function animate(animation, callback) {
        var _this4 = this;

        var handle = null;

        if (animation.__isInteraction) {
          handle = _$$_REQUIRE(_dependencyMap[8]).createInteractionHandle();
        }

        var previousAnimation = this._animation;
        this._animation && this._animation.stop();
        this._animation = animation;
        animation.start(this._value, function (value) {
          _this4._updateValue(value, true);
        }, function (result) {
          _this4._animation = null;

          if (handle !== null) {
            _$$_REQUIRE(_dependencyMap[8]).clearInteractionHandle(handle);
          }

          callback && callback(result);
        }, previousAnimation, this);
      }
    }, {
      key: "stopTracking",
      value: function stopTracking() {
        this._tracking && this._tracking.__detach();
        this._tracking = null;
      }
    }, {
      key: "track",
      value: function track(tracking) {
        this.stopTracking();
        this._tracking = tracking;
      }
    }, {
      key: "_updateValue",
      value: function _updateValue(value, flush) {
        if (value === undefined) {
          throw new Error('AnimatedValue: Attempting to set value to undefined');
        }

        this._value = value;

        if (flush) {
          _flush(this);
        }

        _$$_REQUIRE(_dependencyMap[6])(_$$_REQUIRE(_dependencyMap[0])(AnimatedValue.prototype), "__callListeners", this).call(this, this.__getValue());
      }
    }, {
      key: "__getNativeConfig",
      value: function __getNativeConfig() {
        return {
          type: 'value',
          value: this._value,
          offset: this._offset
        };
      }
    }]);

    return AnimatedValue;
  }(_$$_REQUIRE(_dependencyMap[9]));

  module.exports = AnimatedValue;
},223,[16,14,224,12,7,8,90,227,230,228]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _NativeAnimatedModule = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _NativeAnimatedTurboModule = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _NativeEventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var NativeAnimatedModule = _Platform.default.OS === 'ios' && global.RN$Bridgeless === true ? _NativeAnimatedTurboModule.default : _NativeAnimatedModule.default;
  var __nativeAnimatedNodeTagCount = 1;
  var __nativeAnimationIdCount = 1;
  var nativeEventEmitter;
  var waitingForQueuedOperations = new Set();
  var queueOperations = false;
  var queue = [];
  var API = {
    getValue: function getValue(tag, saveValueCallback) {
      (0, _invariant.default)(NativeAnimatedModule, 'Native animated module is not available');
      API.queueOperation(function () {
        NativeAnimatedModule.getValue(tag, saveValueCallback);
      });
    },
    setWaitingForIdentifier: function setWaitingForIdentifier(id) {
      waitingForQueuedOperations.add(id);
      queueOperations = true;
    },
    unsetWaitingForIdentifier: function unsetWaitingForIdentifier(id) {
      waitingForQueuedOperations.delete(id);

      if (waitingForQueuedOperations.size === 0) {
        queueOperations = false;
        API.disableQueue();
      }
    },
    disableQueue: function disableQueue() {
      (0, _invariant.default)(NativeAnimatedModule, 'Native animated module is not available');

      if (_Platform.default.OS === 'android') {
        NativeAnimatedModule.startOperationBatch();
      }

      for (var q = 0, l = queue.length; q < l; q++) {
        queue[q]();
      }

      queue.length = 0;

      if (_Platform.default.OS === 'android') {
        NativeAnimatedModule.finishOperationBatch();
      }
    },
    queueOperation: function queueOperation(fn) {
      if (queueOperations) {
        queue.push(fn);
      } else {
        fn();
      }
    },
    createAnimatedNode: function createAnimatedNode(tag, config) {
      (0, _invariant.default)(NativeAnimatedModule, 'Native animated module is not available');
      API.queueOperation(function () {
        return NativeAnimatedModule.createAnimatedNode(tag, config);
      });
    },
    startListeningToAnimatedNodeValue: function startListeningToAnimatedNodeValue(tag) {
      (0, _invariant.default)(NativeAnimatedModule, 'Native animated module is not available');
      API.queueOperation(function () {
        return NativeAnimatedModule.startListeningToAnimatedNodeValue(tag);
      });
    },
    stopListeningToAnimatedNodeValue: function stopListeningToAnimatedNodeValue(tag) {
      (0, _invariant.default)(NativeAnimatedModule, 'Native animated module is not available');
      API.queueOperation(function () {
        return NativeAnimatedModule.stopListeningToAnimatedNodeValue(tag);
      });
    },
    connectAnimatedNodes: function connectAnimatedNodes(parentTag, childTag) {
      (0, _invariant.default)(NativeAnimatedModule, 'Native animated module is not available');
      API.queueOperation(function () {
        return NativeAnimatedModule.connectAnimatedNodes(parentTag, childTag);
      });
    },
    disconnectAnimatedNodes: function disconnectAnimatedNodes(parentTag, childTag) {
      (0, _invariant.default)(NativeAnimatedModule, 'Native animated module is not available');
      API.queueOperation(function () {
        return NativeAnimatedModule.disconnectAnimatedNodes(parentTag, childTag);
      });
    },
    startAnimatingNode: function startAnimatingNode(animationId, nodeTag, config, endCallback) {
      (0, _invariant.default)(NativeAnimatedModule, 'Native animated module is not available');
      API.queueOperation(function () {
        return NativeAnimatedModule.startAnimatingNode(animationId, nodeTag, config, endCallback);
      });
    },
    stopAnimation: function stopAnimation(animationId) {
      (0, _invariant.default)(NativeAnimatedModule, 'Native animated module is not available');
      API.queueOperation(function () {
        return NativeAnimatedModule.stopAnimation(animationId);
      });
    },
    setAnimatedNodeValue: function setAnimatedNodeValue(nodeTag, value) {
      (0, _invariant.default)(NativeAnimatedModule, 'Native animated module is not available');
      API.queueOperation(function () {
        return NativeAnimatedModule.setAnimatedNodeValue(nodeTag, value);
      });
    },
    setAnimatedNodeOffset: function setAnimatedNodeOffset(nodeTag, offset) {
      (0, _invariant.default)(NativeAnimatedModule, 'Native animated module is not available');
      API.queueOperation(function () {
        return NativeAnimatedModule.setAnimatedNodeOffset(nodeTag, offset);
      });
    },
    flattenAnimatedNodeOffset: function flattenAnimatedNodeOffset(nodeTag) {
      (0, _invariant.default)(NativeAnimatedModule, 'Native animated module is not available');
      API.queueOperation(function () {
        return NativeAnimatedModule.flattenAnimatedNodeOffset(nodeTag);
      });
    },
    extractAnimatedNodeOffset: function extractAnimatedNodeOffset(nodeTag) {
      (0, _invariant.default)(NativeAnimatedModule, 'Native animated module is not available');
      API.queueOperation(function () {
        return NativeAnimatedModule.extractAnimatedNodeOffset(nodeTag);
      });
    },
    connectAnimatedNodeToView: function connectAnimatedNodeToView(nodeTag, viewTag) {
      (0, _invariant.default)(NativeAnimatedModule, 'Native animated module is not available');
      API.queueOperation(function () {
        return NativeAnimatedModule.connectAnimatedNodeToView(nodeTag, viewTag);
      });
    },
    disconnectAnimatedNodeFromView: function disconnectAnimatedNodeFromView(nodeTag, viewTag) {
      (0, _invariant.default)(NativeAnimatedModule, 'Native animated module is not available');
      API.queueOperation(function () {
        return NativeAnimatedModule.disconnectAnimatedNodeFromView(nodeTag, viewTag);
      });
    },
    restoreDefaultValues: function restoreDefaultValues(nodeTag) {
      (0, _invariant.default)(NativeAnimatedModule, 'Native animated module is not available');

      if (NativeAnimatedModule.restoreDefaultValues != null) {
        API.queueOperation(function () {
          return NativeAnimatedModule.restoreDefaultValues(nodeTag);
        });
      }
    },
    dropAnimatedNode: function dropAnimatedNode(tag) {
      (0, _invariant.default)(NativeAnimatedModule, 'Native animated module is not available');
      API.queueOperation(function () {
        return NativeAnimatedModule.dropAnimatedNode(tag);
      });
    },
    addAnimatedEventToView: function addAnimatedEventToView(viewTag, eventName, eventMapping) {
      (0, _invariant.default)(NativeAnimatedModule, 'Native animated module is not available');
      API.queueOperation(function () {
        return NativeAnimatedModule.addAnimatedEventToView(viewTag, eventName, eventMapping);
      });
    },
    removeAnimatedEventFromView: function removeAnimatedEventFromView(viewTag, eventName, animatedNodeTag) {
      (0, _invariant.default)(NativeAnimatedModule, 'Native animated module is not available');
      API.queueOperation(function () {
        return NativeAnimatedModule.removeAnimatedEventFromView(viewTag, eventName, animatedNodeTag);
      });
    }
  };
  var SUPPORTED_STYLES = {
    opacity: true,
    transform: true,
    borderRadius: true,
    borderBottomEndRadius: true,
    borderBottomLeftRadius: true,
    borderBottomRightRadius: true,
    borderBottomStartRadius: true,
    borderTopEndRadius: true,
    borderTopLeftRadius: true,
    borderTopRightRadius: true,
    borderTopStartRadius: true,
    elevation: true,
    zIndex: true,
    shadowOpacity: true,
    shadowRadius: true,
    scaleX: true,
    scaleY: true,
    translateX: true,
    translateY: true
  };
  var SUPPORTED_TRANSFORMS = {
    translateX: true,
    translateY: true,
    scale: true,
    scaleX: true,
    scaleY: true,
    rotate: true,
    rotateX: true,
    rotateY: true,
    rotateZ: true,
    perspective: true
  };
  var SUPPORTED_INTERPOLATION_PARAMS = {
    inputRange: true,
    outputRange: true,
    extrapolate: true,
    extrapolateRight: true,
    extrapolateLeft: true
  };

  function addWhitelistedStyleProp(prop) {
    SUPPORTED_STYLES[prop] = true;
  }

  function addWhitelistedTransformProp(prop) {
    SUPPORTED_TRANSFORMS[prop] = true;
  }

  function addWhitelistedInterpolationParam(param) {
    SUPPORTED_INTERPOLATION_PARAMS[param] = true;
  }

  function validateTransform(configs) {
    configs.forEach(function (config) {
      if (!SUPPORTED_TRANSFORMS.hasOwnProperty(config.property)) {
        throw new Error("Property '" + config.property + "' is not supported by native animated module");
      }
    });
  }

  function validateStyles(styles) {
    for (var _key in styles) {
      if (!SUPPORTED_STYLES.hasOwnProperty(_key)) {
        throw new Error("Style property '" + _key + "' is not supported by native animated module");
      }
    }
  }

  function validateInterpolation(config) {
    for (var _key2 in config) {
      if (!SUPPORTED_INTERPOLATION_PARAMS.hasOwnProperty(_key2)) {
        throw new Error("Interpolation property '" + _key2 + "' is not supported by native animated module");
      }
    }
  }

  function generateNewNodeTag() {
    return __nativeAnimatedNodeTagCount++;
  }

  function generateNewAnimationId() {
    return __nativeAnimationIdCount++;
  }

  function assertNativeAnimatedModule() {
    (0, _invariant.default)(NativeAnimatedModule, 'Native animated module is not available');
  }

  var _warnedMissingNativeAnimated = false;

  function shouldUseNativeDriver(config) {
    if (config.useNativeDriver == null) {
      console.warn("Animated: `useNativeDriver` was not specified. This is a required option and must be explicitly set to `true` or `false`");
    }

    if (config.useNativeDriver === true && !NativeAnimatedModule) {
      if (!_warnedMissingNativeAnimated) {
        console.warn("Animated: `useNativeDriver` is not supported because the native animated module is missing. Falling back to JS-based animation. To resolve this, add `RCTAnimation` module to this app, or remove `useNativeDriver`. Make sure to run `bundle exec pod install` first. Read more about autolinking: https://github.com/react-native-community/cli/blob/master/docs/autolinking.md");
        _warnedMissingNativeAnimated = true;
      }

      return false;
    }

    return config.useNativeDriver || false;
  }

  function transformDataType(value) {
    if (typeof value !== 'string') {
      return value;
    }

    if (/deg$/.test(value)) {
      var degrees = parseFloat(value) || 0;
      var radians = degrees * Math.PI / 180.0;
      return radians;
    } else {
      return value;
    }
  }

  module.exports = {
    API: API,
    addWhitelistedStyleProp: addWhitelistedStyleProp,
    addWhitelistedTransformProp: addWhitelistedTransformProp,
    addWhitelistedInterpolationParam: addWhitelistedInterpolationParam,
    validateStyles: validateStyles,
    validateTransform: validateTransform,
    validateInterpolation: validateInterpolation,
    generateNewNodeTag: generateNewNodeTag,
    generateNewAnimationId: generateNewAnimationId,
    assertNativeAnimatedModule: assertNativeAnimatedModule,
    shouldUseNativeDriver: shouldUseNativeDriver,
    transformDataType: transformDataType,

    get nativeEventEmitter() {
      if (!nativeEventEmitter) {
        nativeEventEmitter = new _NativeEventEmitter.default(_Platform.default.OS !== 'ios' ? null : NativeAnimatedModule);
      }

      return nativeEventEmitter;
    }

  };
},224,[5,225,226,110,37,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('NativeAnimatedModule');

  exports.default = _default;
},225,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('NativeAnimatedTurboModule');

  exports.default = _default;
},226,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var linear = function linear(t) {
    return t;
  };

  function createInterpolation(config) {
    if (config.outputRange && typeof config.outputRange[0] === 'string') {
      return createInterpolationFromStringOutputRange(config);
    }

    var outputRange = config.outputRange;
    checkInfiniteRange('outputRange', outputRange);
    var inputRange = config.inputRange;
    checkInfiniteRange('inputRange', inputRange);
    checkValidInputRange(inputRange);

    _$$_REQUIRE(_dependencyMap[2])(inputRange.length === outputRange.length, 'inputRange (' + inputRange.length + ') and outputRange (' + outputRange.length + ') must have the same length');

    var easing = config.easing || linear;
    var extrapolateLeft = 'extend';

    if (config.extrapolateLeft !== undefined) {
      extrapolateLeft = config.extrapolateLeft;
    } else if (config.extrapolate !== undefined) {
      extrapolateLeft = config.extrapolate;
    }

    var extrapolateRight = 'extend';

    if (config.extrapolateRight !== undefined) {
      extrapolateRight = config.extrapolateRight;
    } else if (config.extrapolate !== undefined) {
      extrapolateRight = config.extrapolate;
    }

    return function (input) {
      _$$_REQUIRE(_dependencyMap[2])(typeof input === 'number', 'Cannot interpolation an input which is not a number');

      var range = findRange(input, inputRange);
      return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight);
    };
  }

  function interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight) {
    var result = input;

    if (result < inputMin) {
      if (extrapolateLeft === 'identity') {
        return result;
      } else if (extrapolateLeft === 'clamp') {
        result = inputMin;
      } else if (extrapolateLeft === 'extend') {}
    }

    if (result > inputMax) {
      if (extrapolateRight === 'identity') {
        return result;
      } else if (extrapolateRight === 'clamp') {
        result = inputMax;
      } else if (extrapolateRight === 'extend') {}
    }

    if (outputMin === outputMax) {
      return outputMin;
    }

    if (inputMin === inputMax) {
      if (input <= inputMin) {
        return outputMin;
      }

      return outputMax;
    }

    if (inputMin === -(1 / 0)) {
      result = -result;
    } else if (inputMax === Infinity) {
      result = result - inputMin;
    } else {
      result = (result - inputMin) / (inputMax - inputMin);
    }

    result = easing(result);

    if (outputMin === -(1 / 0)) {
      result = -result;
    } else if (outputMax === Infinity) {
      result = result + outputMin;
    } else {
      result = result * (outputMax - outputMin) + outputMin;
    }

    return result;
  }

  function colorToRgba(input) {
    var normalizedColor = _$$_REQUIRE(_dependencyMap[3])(input);

    if (normalizedColor === null || typeof normalizedColor !== 'number') {
      return input;
    }

    normalizedColor = normalizedColor || 0;
    var r = (normalizedColor & 0xff000000) >>> 24;
    var g = (normalizedColor & 0x00ff0000) >>> 16;
    var b = (normalizedColor & 0x0000ff00) >>> 8;
    var a = (normalizedColor & 0x000000ff) / 255;
    return "rgba(" + r + ", " + g + ", " + b + ", " + a + ")";
  }

  var stringShapeRegex = /[+-]?(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?/g;

  function createInterpolationFromStringOutputRange(config) {
    var outputRange = config.outputRange;

    _$$_REQUIRE(_dependencyMap[2])(outputRange.length >= 2, 'Bad output range');

    outputRange = outputRange.map(colorToRgba);
    checkPattern(outputRange);
    var outputRanges = outputRange[0].match(stringShapeRegex).map(function () {
      return [];
    });
    outputRange.forEach(function (value) {
      value.match(stringShapeRegex).forEach(function (number, i) {
        outputRanges[i].push(+number);
      });
    });
    var interpolations = outputRange[0].match(stringShapeRegex).map(function (value, i) {
      return createInterpolation(_$$_REQUIRE(_dependencyMap[4])({}, config, {
        outputRange: outputRanges[i]
      }));
    });
    var shouldRound = isRgbOrRgba(outputRange[0]);
    return function (input) {
      var i = 0;
      return outputRange[0].replace(stringShapeRegex, function () {
        var val = +interpolations[i++](input);

        if (shouldRound) {
          val = i < 4 ? Math.round(val) : Math.round(val * 1000) / 1000;
        }

        return String(val);
      });
    };
  }

  function isRgbOrRgba(range) {
    return typeof range === 'string' && range.startsWith('rgb');
  }

  function checkPattern(arr) {
    var pattern = arr[0].replace(stringShapeRegex, '');

    for (var i = 1; i < arr.length; ++i) {
      _$$_REQUIRE(_dependencyMap[2])(pattern === arr[i].replace(stringShapeRegex, ''), 'invalid pattern ' + arr[0] + ' and ' + arr[i]);
    }
  }

  function findRange(input, inputRange) {
    var i;

    for (i = 1; i < inputRange.length - 1; ++i) {
      if (inputRange[i] >= input) {
        break;
      }
    }

    return i - 1;
  }

  function checkValidInputRange(arr) {
    _$$_REQUIRE(_dependencyMap[2])(arr.length >= 2, 'inputRange must have at least 2 elements');

    for (var i = 1; i < arr.length; ++i) {
      _$$_REQUIRE(_dependencyMap[2])(arr[i] >= arr[i - 1], 'inputRange must be monotonically non-decreasing ' + arr);
    }
  }

  function checkInfiniteRange(name, arr) {
    _$$_REQUIRE(_dependencyMap[2])(arr.length >= 2, name + ' must have at least 2 elements');

    _$$_REQUIRE(_dependencyMap[2])(arr.length !== 2 || arr[0] !== -(1 / 0) || arr[1] !== Infinity, name + 'cannot be ]-infinity;+infinity[ ' + arr);
  }

  var AnimatedInterpolation = function (_AnimatedWithChildren) {
    _$$_REQUIRE(_dependencyMap[5])(AnimatedInterpolation, _AnimatedWithChildren);

    var _super = _createSuper(AnimatedInterpolation);

    function AnimatedInterpolation(parent, config) {
      var _this;

      _$$_REQUIRE(_dependencyMap[6])(this, AnimatedInterpolation);

      _this = _super.call(this);
      _this._parent = parent;
      _this._config = config;
      _this._interpolation = createInterpolation(config);
      return _this;
    }

    _$$_REQUIRE(_dependencyMap[7])(AnimatedInterpolation, [{
      key: "__makeNative",
      value: function __makeNative() {
        this._parent.__makeNative();

        _$$_REQUIRE(_dependencyMap[8])(_$$_REQUIRE(_dependencyMap[0])(AnimatedInterpolation.prototype), "__makeNative", this).call(this);
      }
    }, {
      key: "__getValue",
      value: function __getValue() {
        var parentValue = this._parent.__getValue();

        _$$_REQUIRE(_dependencyMap[2])(typeof parentValue === 'number', 'Cannot interpolate an input which is not a number.');

        return this._interpolation(parentValue);
      }
    }, {
      key: "interpolate",
      value: function interpolate(config) {
        return new AnimatedInterpolation(this, config);
      }
    }, {
      key: "__attach",
      value: function __attach() {
        this._parent.__addChild(this);
      }
    }, {
      key: "__detach",
      value: function __detach() {
        this._parent.__removeChild(this);

        _$$_REQUIRE(_dependencyMap[8])(_$$_REQUIRE(_dependencyMap[0])(AnimatedInterpolation.prototype), "__detach", this).call(this);
      }
    }, {
      key: "__transformDataType",
      value: function __transformDataType(range) {
        return range.map(_$$_REQUIRE(_dependencyMap[9]).transformDataType);
      }
    }, {
      key: "__getNativeConfig",
      value: function __getNativeConfig() {
        return {
          inputRange: this._config.inputRange,
          outputRange: this.__transformDataType(this._config.outputRange),
          extrapolateLeft: this._config.extrapolateLeft || this._config.extrapolate || 'extend',
          extrapolateRight: this._config.extrapolateRight || this._config.extrapolate || 'extend',
          type: 'interpolation'
        };
      }
    }]);

    return AnimatedInterpolation;
  }(_$$_REQUIRE(_dependencyMap[10]));

  AnimatedInterpolation.__createInterpolation = createInterpolation;
  module.exports = AnimatedInterpolation;
},227,[16,14,36,146,6,12,7,8,90,224,228]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedWithChildren = function (_AnimatedNode) {
    _$$_REQUIRE(_dependencyMap[2])(AnimatedWithChildren, _AnimatedNode);

    var _super = _createSuper(AnimatedWithChildren);

    function AnimatedWithChildren() {
      var _this;

      _$$_REQUIRE(_dependencyMap[3])(this, AnimatedWithChildren);

      _this = _super.call(this);
      _this._children = [];
      return _this;
    }

    _$$_REQUIRE(_dependencyMap[4])(AnimatedWithChildren, [{
      key: "__makeNative",
      value: function __makeNative() {
        if (!this.__isNative) {
          this.__isNative = true;

          for (var _iterator = _createForOfIteratorHelperLoose(this._children), _step; !(_step = _iterator()).done;) {
            var child = _step.value;

            child.__makeNative();

            _$$_REQUIRE(_dependencyMap[5]).API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());
          }
        }

        _$$_REQUIRE(_dependencyMap[6])(_$$_REQUIRE(_dependencyMap[0])(AnimatedWithChildren.prototype), "__makeNative", this).call(this);
      }
    }, {
      key: "__addChild",
      value: function __addChild(child) {
        if (this._children.length === 0) {
          this.__attach();
        }

        this._children.push(child);

        if (this.__isNative) {
          child.__makeNative();

          _$$_REQUIRE(_dependencyMap[5]).API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());
        }
      }
    }, {
      key: "__removeChild",
      value: function __removeChild(child) {
        var index = this._children.indexOf(child);

        if (index === -1) {
          console.warn("Trying to remove a child that doesn't exist");
          return;
        }

        if (this.__isNative && child.__isNative) {
          _$$_REQUIRE(_dependencyMap[5]).API.disconnectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());
        }

        this._children.splice(index, 1);

        if (this._children.length === 0) {
          this.__detach();
        }
      }
    }, {
      key: "__getChildren",
      value: function __getChildren() {
        return this._children;
      }
    }, {
      key: "__callListeners",
      value: function __callListeners(value) {
        _$$_REQUIRE(_dependencyMap[6])(_$$_REQUIRE(_dependencyMap[0])(AnimatedWithChildren.prototype), "__callListeners", this).call(this, value);

        if (!this.__isNative) {
          for (var _iterator2 = _createForOfIteratorHelperLoose(this._children), _step2; !(_step2 = _iterator2()).done;) {
            var child = _step2.value;

            if (child.__getValue) {
              child.__callListeners(child.__getValue());
            }
          }
        }
      }
    }]);

    return AnimatedWithChildren;
  }(_$$_REQUIRE(_dependencyMap[7]));

  module.exports = AnimatedWithChildren;
},228,[16,14,12,7,8,224,90,229]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _uniqueId = 1;

  var AnimatedNode = function () {
    function AnimatedNode() {
      _$$_REQUIRE(_dependencyMap[0])(this, AnimatedNode);

      this._listeners = {};
    }

    _$$_REQUIRE(_dependencyMap[1])(AnimatedNode, [{
      key: "__attach",
      value: function __attach() {}
    }, {
      key: "__detach",
      value: function __detach() {
        if (this.__isNative && this.__nativeTag != null) {
          _$$_REQUIRE(_dependencyMap[2]).API.dropAnimatedNode(this.__nativeTag);

          this.__nativeTag = undefined;
        }
      }
    }, {
      key: "__getValue",
      value: function __getValue() {}
    }, {
      key: "__getAnimatedValue",
      value: function __getAnimatedValue() {
        return this.__getValue();
      }
    }, {
      key: "__addChild",
      value: function __addChild(child) {}
    }, {
      key: "__removeChild",
      value: function __removeChild(child) {}
    }, {
      key: "__getChildren",
      value: function __getChildren() {
        return [];
      }
    }, {
      key: "__makeNative",
      value: function __makeNative() {
        if (!this.__isNative) {
          throw new Error('This node cannot be made a "native" animated node');
        }

        if (this.hasListeners()) {
          this._startListeningToNativeValueUpdates();
        }
      }
    }, {
      key: "addListener",
      value: function addListener(callback) {
        var id = String(_uniqueId++);
        this._listeners[id] = callback;

        if (this.__isNative) {
          this._startListeningToNativeValueUpdates();
        }

        return id;
      }
    }, {
      key: "removeListener",
      value: function removeListener(id) {
        delete this._listeners[id];

        if (this.__isNative && !this.hasListeners()) {
          this._stopListeningForNativeValueUpdates();
        }
      }
    }, {
      key: "removeAllListeners",
      value: function removeAllListeners() {
        this._listeners = {};

        if (this.__isNative) {
          this._stopListeningForNativeValueUpdates();
        }
      }
    }, {
      key: "hasListeners",
      value: function hasListeners() {
        return !!Object.keys(this._listeners).length;
      }
    }, {
      key: "_startListeningToNativeValueUpdates",
      value: function _startListeningToNativeValueUpdates() {
        var _this = this;

        if (this.__nativeAnimatedValueListener && !this.__shouldUpdateListenersForNewNativeTag) {
          return;
        }

        if (this.__shouldUpdateListenersForNewNativeTag) {
          this.__shouldUpdateListenersForNewNativeTag = false;

          this._stopListeningForNativeValueUpdates();
        }

        _$$_REQUIRE(_dependencyMap[2]).API.startListeningToAnimatedNodeValue(this.__getNativeTag());

        this.__nativeAnimatedValueListener = _$$_REQUIRE(_dependencyMap[2]).nativeEventEmitter.addListener('onAnimatedValueUpdate', function (data) {
          if (data.tag !== _this.__getNativeTag()) {
            return;
          }

          _this._onAnimatedValueUpdateReceived(data.value);
        });
      }
    }, {
      key: "_onAnimatedValueUpdateReceived",
      value: function _onAnimatedValueUpdateReceived(value) {
        this.__callListeners(value);
      }
    }, {
      key: "__callListeners",
      value: function __callListeners(value) {
        for (var _key in this._listeners) {
          this._listeners[_key]({
            value: value
          });
        }
      }
    }, {
      key: "_stopListeningForNativeValueUpdates",
      value: function _stopListeningForNativeValueUpdates() {
        if (!this.__nativeAnimatedValueListener) {
          return;
        }

        this.__nativeAnimatedValueListener.remove();

        this.__nativeAnimatedValueListener = null;

        _$$_REQUIRE(_dependencyMap[2]).API.stopListeningToAnimatedNodeValue(this.__getNativeTag());
      }
    }, {
      key: "__getNativeTag",
      value: function __getNativeTag() {
        var _this$__nativeTag;

        _$$_REQUIRE(_dependencyMap[2]).assertNativeAnimatedModule();

        _$$_REQUIRE(_dependencyMap[3])(this.__isNative, 'Attempt to get native tag from node not marked as "native"');

        var nativeTag = (_this$__nativeTag = this.__nativeTag) != null ? _this$__nativeTag : _$$_REQUIRE(_dependencyMap[2]).generateNewNodeTag();

        if (this.__nativeTag == null) {
          this.__nativeTag = nativeTag;

          _$$_REQUIRE(_dependencyMap[2]).API.createAnimatedNode(nativeTag, this.__getNativeConfig());

          this.__shouldUpdateListenersForNewNativeTag = true;
        }

        return nativeTag;
      }
    }, {
      key: "__getNativeConfig",
      value: function __getNativeConfig() {
        throw new Error('This JS animated node type cannot be used as native animated node');
      }
    }, {
      key: "toJSON",
      value: function toJSON() {
        return this.__getValue();
      }
    }]);

    return AnimatedNode;
  }();

  module.exports = AnimatedNode;
},229,[7,8,224,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _EventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _emitter = new _EventEmitter.default();

  var DEBUG_DELAY = 0;
  var DEBUG = false;
  var InteractionManager = {
    Events: {
      interactionStart: 'interactionStart',
      interactionComplete: 'interactionComplete'
    },
    runAfterInteractions: function runAfterInteractions(task) {
      var tasks = [];
      var promise = new Promise(function (resolve) {
        _scheduleUpdate();

        if (task) {
          tasks.push(task);
        }

        tasks.push({
          run: resolve,
          name: 'resolve ' + (task && task.name || '?')
        });

        _taskQueue.enqueueTasks(tasks);
      });
      return {
        then: promise.then.bind(promise),
        done: function done() {
          if (promise.done) {
            return promise.done.apply(promise, arguments);
          } else {
            console.warn('Tried to call done when not supported by current Promise implementation.');
          }
        },
        cancel: function cancel() {
          _taskQueue.cancelTasks(tasks);
        }
      };
    },
    createInteractionHandle: function createInteractionHandle() {
      DEBUG;

      _scheduleUpdate();

      var handle = ++_inc;

      _addInteractionSet.add(handle);

      return handle;
    },
    clearInteractionHandle: function clearInteractionHandle(handle) {
      DEBUG;

      _$$_REQUIRE(_dependencyMap[2])(!!handle, 'InteractionManager: Must provide a handle to clear.');

      _scheduleUpdate();

      _addInteractionSet.delete(handle);

      _deleteInteractionSet.add(handle);
    },
    addListener: _emitter.addListener.bind(_emitter),
    setDeadline: function setDeadline(deadline) {
      _deadline = deadline;
    }
  };

  var _interactionSet = new Set();

  var _addInteractionSet = new Set();

  var _deleteInteractionSet = new Set();

  var _taskQueue = new (_$$_REQUIRE(_dependencyMap[3]))({
    onMoreTasks: _scheduleUpdate
  });

  var _nextUpdateHandle = 0;
  var _inc = 0;

  var _deadline = -1;

  function _scheduleUpdate() {
    if (!_nextUpdateHandle) {
      if (_deadline > 0) {
        _nextUpdateHandle = setTimeout(_processUpdate, 0);
      } else {
        _nextUpdateHandle = setImmediate(_processUpdate);
      }
    }
  }

  function _processUpdate() {
    _nextUpdateHandle = 0;
    var interactionCount = _interactionSet.size;

    _addInteractionSet.forEach(function (handle) {
      return _interactionSet.add(handle);
    });

    _deleteInteractionSet.forEach(function (handle) {
      return _interactionSet.delete(handle);
    });

    var nextInteractionCount = _interactionSet.size;

    if (interactionCount !== 0 && nextInteractionCount === 0) {
      _emitter.emit(InteractionManager.Events.interactionComplete);
    } else if (interactionCount === 0 && nextInteractionCount !== 0) {
      _emitter.emit(InteractionManager.Events.interactionStart);
    }

    if (nextInteractionCount === 0) {
      while (_taskQueue.hasTasksToProcess()) {
        _taskQueue.processNext();

        if (_deadline > 0 && _$$_REQUIRE(_dependencyMap[4]).getEventLoopRunningTime() >= _deadline) {
          _scheduleUpdate();

          break;
        }
      }
    }

    _addInteractionSet.clear();

    _deleteInteractionSet.clear();
  }

  module.exports = InteractionManager;
},230,[5,31,36,231,45]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var DEBUG = false;

  var TaskQueue = function () {
    function TaskQueue(_ref) {
      var onMoreTasks = _ref.onMoreTasks;

      _$$_REQUIRE(_dependencyMap[0])(this, TaskQueue);

      this._onMoreTasks = onMoreTasks;
      this._queueStack = [{
        tasks: [],
        popable: false
      }];
    }

    _$$_REQUIRE(_dependencyMap[1])(TaskQueue, [{
      key: "enqueue",
      value: function enqueue(task) {
        this._getCurrentQueue().push(task);
      }
    }, {
      key: "enqueueTasks",
      value: function enqueueTasks(tasks) {
        var _this = this;

        tasks.forEach(function (task) {
          return _this.enqueue(task);
        });
      }
    }, {
      key: "cancelTasks",
      value: function cancelTasks(tasksToCancel) {
        this._queueStack = this._queueStack.map(function (queue) {
          return _$$_REQUIRE(_dependencyMap[2])({}, queue, {
            tasks: queue.tasks.filter(function (task) {
              return tasksToCancel.indexOf(task) === -1;
            })
          });
        }).filter(function (queue, idx) {
          return queue.tasks.length > 0 || idx === 0;
        });
      }
    }, {
      key: "hasTasksToProcess",
      value: function hasTasksToProcess() {
        return this._getCurrentQueue().length > 0;
      }
    }, {
      key: "processNext",
      value: function processNext() {
        var queue = this._getCurrentQueue();

        if (queue.length) {
          var task = queue.shift();

          try {
            if (typeof task === 'object' && task.gen) {
              DEBUG;

              this._genPromise(task);
            } else if (typeof task === 'object' && task.run) {
              DEBUG;
              task.run();
            } else {
              _$$_REQUIRE(_dependencyMap[3])(typeof task === 'function', 'Expected Function, SimpleTask, or PromiseTask, but got:\n' + JSON.stringify(task, null, 2));

              DEBUG;
              task();
            }
          } catch (e) {
            e.message = 'TaskQueue: Error with task ' + (task.name || '') + ': ' + e.message;
            throw e;
          }
        }
      }
    }, {
      key: "_getCurrentQueue",
      value: function _getCurrentQueue() {
        var stackIdx = this._queueStack.length - 1;
        var queue = this._queueStack[stackIdx];

        if (queue.popable && queue.tasks.length === 0 && this._queueStack.length > 1) {
          this._queueStack.pop();

          DEBUG;
          return this._getCurrentQueue();
        } else {
          return queue.tasks;
        }
      }
    }, {
      key: "_genPromise",
      value: function _genPromise(task) {
        var _this2 = this;

        this._queueStack.push({
          tasks: [],
          popable: false
        });

        var stackIdx = this._queueStack.length - 1;
        var stackItem = this._queueStack[stackIdx];
        DEBUG;
        DEBUG;
        task.gen().then(function () {
          DEBUG;
          stackItem.popable = true;
          _this2.hasTasksToProcess() && _this2._onMoreTasks();
        }).catch(function (ex) {
          ex.message = "TaskQueue: Error resolving Promise in task " + task.name + ": " + ex.message;
          throw ex;
        }).done();
      }
    }]);

    return TaskQueue;
  }();

  module.exports = TaskQueue;
},231,[7,8,6,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var _uniqueId = 1;

  var AnimatedValueXY = function (_AnimatedWithChildren) {
    _$$_REQUIRE(_dependencyMap[2])(AnimatedValueXY, _AnimatedWithChildren);

    var _super = _createSuper(AnimatedValueXY);

    function AnimatedValueXY(valueIn) {
      var _this;

      _$$_REQUIRE(_dependencyMap[3])(this, AnimatedValueXY);

      _this = _super.call(this);
      var value = valueIn || {
        x: 0,
        y: 0
      };

      if (typeof value.x === 'number' && typeof value.y === 'number') {
        _this.x = new (_$$_REQUIRE(_dependencyMap[4]))(value.x);
        _this.y = new (_$$_REQUIRE(_dependencyMap[4]))(value.y);
      } else {
        _$$_REQUIRE(_dependencyMap[5])(value.x instanceof _$$_REQUIRE(_dependencyMap[4]) && value.y instanceof _$$_REQUIRE(_dependencyMap[4]), "AnimatedValueXY must be initialized with an object of numbers or AnimatedValues.");

        _this.x = value.x;
        _this.y = value.y;
      }

      _this._listeners = {};
      return _this;
    }

    _$$_REQUIRE(_dependencyMap[6])(AnimatedValueXY, [{
      key: "setValue",
      value: function setValue(value) {
        this.x.setValue(value.x);
        this.y.setValue(value.y);
      }
    }, {
      key: "setOffset",
      value: function setOffset(offset) {
        this.x.setOffset(offset.x);
        this.y.setOffset(offset.y);
      }
    }, {
      key: "flattenOffset",
      value: function flattenOffset() {
        this.x.flattenOffset();
        this.y.flattenOffset();
      }
    }, {
      key: "extractOffset",
      value: function extractOffset() {
        this.x.extractOffset();
        this.y.extractOffset();
      }
    }, {
      key: "__getValue",
      value: function __getValue() {
        return {
          x: this.x.__getValue(),
          y: this.y.__getValue()
        };
      }
    }, {
      key: "resetAnimation",
      value: function resetAnimation(callback) {
        this.x.resetAnimation();
        this.y.resetAnimation();
        callback && callback(this.__getValue());
      }
    }, {
      key: "stopAnimation",
      value: function stopAnimation(callback) {
        this.x.stopAnimation();
        this.y.stopAnimation();
        callback && callback(this.__getValue());
      }
    }, {
      key: "addListener",
      value: function addListener(callback) {
        var _this2 = this;

        var id = String(_uniqueId++);

        var jointCallback = function jointCallback(_ref) {
          var number = _ref.value;
          callback(_this2.__getValue());
        };

        this._listeners[id] = {
          x: this.x.addListener(jointCallback),
          y: this.y.addListener(jointCallback)
        };
        return id;
      }
    }, {
      key: "removeListener",
      value: function removeListener(id) {
        this.x.removeListener(this._listeners[id].x);
        this.y.removeListener(this._listeners[id].y);
        delete this._listeners[id];
      }
    }, {
      key: "removeAllListeners",
      value: function removeAllListeners() {
        this.x.removeAllListeners();
        this.y.removeAllListeners();
        this._listeners = {};
      }
    }, {
      key: "getLayout",
      value: function getLayout() {
        return {
          left: this.x,
          top: this.y
        };
      }
    }, {
      key: "getTranslateTransform",
      value: function getTranslateTransform() {
        return [{
          translateX: this.x
        }, {
          translateY: this.y
        }];
      }
    }]);

    return AnimatedValueXY;
  }(_$$_REQUIRE(_dependencyMap[7]));

  module.exports = AnimatedValueXY;
},232,[16,14,12,7,223,36,8,228]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var add = function add(a, b) {
    return new (_$$_REQUIRE(_dependencyMap[0]))(a, b);
  };

  var subtract = function subtract(a, b) {
    return new (_$$_REQUIRE(_dependencyMap[1]))(a, b);
  };

  var divide = function divide(a, b) {
    return new (_$$_REQUIRE(_dependencyMap[2]))(a, b);
  };

  var multiply = function multiply(a, b) {
    return new (_$$_REQUIRE(_dependencyMap[3]))(a, b);
  };

  var modulo = function modulo(a, modulus) {
    return new (_$$_REQUIRE(_dependencyMap[4]))(a, modulus);
  };

  var diffClamp = function diffClamp(a, min, max) {
    return new (_$$_REQUIRE(_dependencyMap[5]))(a, min, max);
  };

  var _combineCallbacks = function _combineCallbacks(callback, config) {
    if (callback && config.onComplete) {
      return function () {
        config.onComplete && config.onComplete.apply(config, arguments);
        callback && callback.apply(undefined, arguments);
      };
    } else {
      return callback || config.onComplete;
    }
  };

  var maybeVectorAnim = function maybeVectorAnim(value, config, anim) {
    if (value instanceof _$$_REQUIRE(_dependencyMap[6])) {
      var configX = _$$_REQUIRE(_dependencyMap[7])({}, config);

      var configY = _$$_REQUIRE(_dependencyMap[7])({}, config);

      for (var key in config) {
        var _config$key = config[key],
            x = _config$key.x,
            y = _config$key.y;

        if (x !== undefined && y !== undefined) {
          configX[key] = x;
          configY[key] = y;
        }
      }

      var aX = anim(value.x, configX);
      var aY = anim(value.y, configY);
      return parallel([aX, aY], {
        stopTogether: false
      });
    }

    return null;
  };

  var spring = function spring(value, config) {
    var _start = function start(animatedValue, configuration, callback) {
      callback = _combineCallbacks(callback, configuration);
      var singleValue = animatedValue;
      var singleConfig = configuration;
      singleValue.stopTracking();

      if (configuration.toValue instanceof _$$_REQUIRE(_dependencyMap[8])) {
        singleValue.track(new (_$$_REQUIRE(_dependencyMap[9]))(singleValue, configuration.toValue, _$$_REQUIRE(_dependencyMap[10]), singleConfig, callback));
      } else {
        singleValue.animate(new (_$$_REQUIRE(_dependencyMap[10]))(singleConfig), callback);
      }
    };

    return maybeVectorAnim(value, config, spring) || {
      start: function start(callback) {
        _start(value, config, callback);
      },
      stop: function stop() {
        value.stopAnimation();
      },
      reset: function reset() {
        value.resetAnimation();
      },
      _startNativeLoop: function _startNativeLoop(iterations) {
        var singleConfig = _$$_REQUIRE(_dependencyMap[7])({}, config, {
          iterations: iterations
        });

        _start(value, singleConfig);
      },
      _isUsingNativeDriver: function _isUsingNativeDriver() {
        return config.useNativeDriver || false;
      }
    };
  };

  var timing = function timing(value, config) {
    var _start2 = function start(animatedValue, configuration, callback) {
      callback = _combineCallbacks(callback, configuration);
      var singleValue = animatedValue;
      var singleConfig = configuration;
      singleValue.stopTracking();

      if (configuration.toValue instanceof _$$_REQUIRE(_dependencyMap[8])) {
        singleValue.track(new (_$$_REQUIRE(_dependencyMap[9]))(singleValue, configuration.toValue, _$$_REQUIRE(_dependencyMap[11]), singleConfig, callback));
      } else {
        singleValue.animate(new (_$$_REQUIRE(_dependencyMap[11]))(singleConfig), callback);
      }
    };

    return maybeVectorAnim(value, config, timing) || {
      start: function start(callback) {
        _start2(value, config, callback);
      },
      stop: function stop() {
        value.stopAnimation();
      },
      reset: function reset() {
        value.resetAnimation();
      },
      _startNativeLoop: function _startNativeLoop(iterations) {
        var singleConfig = _$$_REQUIRE(_dependencyMap[7])({}, config, {
          iterations: iterations
        });

        _start2(value, singleConfig);
      },
      _isUsingNativeDriver: function _isUsingNativeDriver() {
        return config.useNativeDriver || false;
      }
    };
  };

  var decay = function decay(value, config) {
    var _start3 = function start(animatedValue, configuration, callback) {
      callback = _combineCallbacks(callback, configuration);
      var singleValue = animatedValue;
      var singleConfig = configuration;
      singleValue.stopTracking();
      singleValue.animate(new (_$$_REQUIRE(_dependencyMap[12]))(singleConfig), callback);
    };

    return maybeVectorAnim(value, config, decay) || {
      start: function start(callback) {
        _start3(value, config, callback);
      },
      stop: function stop() {
        value.stopAnimation();
      },
      reset: function reset() {
        value.resetAnimation();
      },
      _startNativeLoop: function _startNativeLoop(iterations) {
        var singleConfig = _$$_REQUIRE(_dependencyMap[7])({}, config, {
          iterations: iterations
        });

        _start3(value, singleConfig);
      },
      _isUsingNativeDriver: function _isUsingNativeDriver() {
        return config.useNativeDriver || false;
      }
    };
  };

  var sequence = function sequence(animations) {
    var current = 0;
    return {
      start: function start(callback) {
        var onComplete = function onComplete(result) {
          if (!result.finished) {
            callback && callback(result);
            return;
          }

          current++;

          if (current === animations.length) {
            callback && callback(result);
            return;
          }

          animations[current].start(onComplete);
        };

        if (animations.length === 0) {
          callback && callback({
            finished: true
          });
        } else {
          animations[current].start(onComplete);
        }
      },
      stop: function stop() {
        if (current < animations.length) {
          animations[current].stop();
        }
      },
      reset: function reset() {
        animations.forEach(function (animation, idx) {
          if (idx <= current) {
            animation.reset();
          }
        });
        current = 0;
      },
      _startNativeLoop: function _startNativeLoop() {
        throw new Error('Loops run using the native driver cannot contain Animated.sequence animations');
      },
      _isUsingNativeDriver: function _isUsingNativeDriver() {
        return false;
      }
    };
  };

  var parallel = function parallel(animations, config) {
    var doneCount = 0;
    var hasEnded = {};
    var stopTogether = !(config && config.stopTogether === false);
    var result = {
      start: function start(callback) {
        if (doneCount === animations.length) {
          callback && callback({
            finished: true
          });
          return;
        }

        animations.forEach(function (animation, idx) {
          var cb = function cb(endResult) {
            hasEnded[idx] = true;
            doneCount++;

            if (doneCount === animations.length) {
              doneCount = 0;
              callback && callback(endResult);
              return;
            }

            if (!endResult.finished && stopTogether) {
              result.stop();
            }
          };

          if (!animation) {
            cb({
              finished: true
            });
          } else {
            animation.start(cb);
          }
        });
      },
      stop: function stop() {
        animations.forEach(function (animation, idx) {
          !hasEnded[idx] && animation.stop();
          hasEnded[idx] = true;
        });
      },
      reset: function reset() {
        animations.forEach(function (animation, idx) {
          animation.reset();
          hasEnded[idx] = false;
          doneCount = 0;
        });
      },
      _startNativeLoop: function _startNativeLoop() {
        throw new Error('Loops run using the native driver cannot contain Animated.parallel animations');
      },
      _isUsingNativeDriver: function _isUsingNativeDriver() {
        return false;
      }
    };
    return result;
  };

  var delay = function delay(time) {
    return timing(new (_$$_REQUIRE(_dependencyMap[13]))(0), {
      toValue: 0,
      delay: time,
      duration: 0,
      useNativeDriver: false
    });
  };

  var stagger = function stagger(time, animations) {
    return parallel(animations.map(function (animation, i) {
      return sequence([delay(time * i), animation]);
    }));
  };

  var loop = function loop(animation) {
    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
        _ref$iterations = _ref.iterations,
        iterations = _ref$iterations === undefined ? -1 : _ref$iterations,
        _ref$resetBeforeItera = _ref.resetBeforeIteration,
        resetBeforeIteration = _ref$resetBeforeItera === undefined ? true : _ref$resetBeforeItera;

    var isFinished = false;
    var iterationsSoFar = 0;
    return {
      start: function start(callback) {
        var restart = function restart() {
          var result = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
            finished: true
          };

          if (isFinished || iterationsSoFar === iterations || result.finished === false) {
            callback && callback(result);
          } else {
            iterationsSoFar++;
            resetBeforeIteration && animation.reset();
            animation.start(restart);
          }
        };

        if (!animation || iterations === 0) {
          callback && callback({
            finished: true
          });
        } else {
          if (animation._isUsingNativeDriver()) {
            animation._startNativeLoop(iterations);
          } else {
            restart();
          }
        }
      },
      stop: function stop() {
        isFinished = true;
        animation.stop();
      },
      reset: function reset() {
        iterationsSoFar = 0;
        isFinished = false;
        animation.reset();
      },
      _startNativeLoop: function _startNativeLoop() {
        throw new Error('Loops run using the native driver cannot contain Animated.loop animations');
      },
      _isUsingNativeDriver: function _isUsingNativeDriver() {
        return animation._isUsingNativeDriver();
      }
    };
  };

  function forkEvent(event, listener) {
    if (!event) {
      return listener;
    } else if (event instanceof _$$_REQUIRE(_dependencyMap[14]).AnimatedEvent) {
      event.__addListener(listener);

      return event;
    } else {
      return function () {
        typeof event === 'function' && event.apply(undefined, arguments);
        listener.apply(undefined, arguments);
      };
    }
  }

  function unforkEvent(event, listener) {
    if (event && event instanceof _$$_REQUIRE(_dependencyMap[14]).AnimatedEvent) {
      event.__removeListener(listener);
    }
  }

  var event = function event(argMapping, config) {
    var animatedEvent = new (_$$_REQUIRE(_dependencyMap[14]).AnimatedEvent)(argMapping, config);

    if (animatedEvent.__isNative) {
      return animatedEvent;
    } else {
      return animatedEvent.__getHandler();
    }
  };

  module.exports = {
    Value: _$$_REQUIRE(_dependencyMap[13]),
    ValueXY: _$$_REQUIRE(_dependencyMap[6]),
    Interpolation: _$$_REQUIRE(_dependencyMap[15]),
    Node: _$$_REQUIRE(_dependencyMap[8]),
    decay: decay,
    timing: timing,
    spring: spring,
    add: add,
    subtract: subtract,
    divide: divide,
    multiply: multiply,
    modulo: modulo,
    diffClamp: diffClamp,
    delay: delay,
    sequence: sequence,
    parallel: parallel,
    stagger: stagger,
    loop: loop,
    event: event,
    createAnimatedComponent: _$$_REQUIRE(_dependencyMap[16]),
    attachNativeEvent: _$$_REQUIRE(_dependencyMap[14]).attachNativeEvent,
    forkEvent: forkEvent,
    unforkEvent: unforkEvent,
    Event: _$$_REQUIRE(_dependencyMap[14]).AnimatedEvent
  };
},233,[234,235,236,237,238,239,232,6,229,240,241,244,247,223,248,227,249]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedAddition = function (_AnimatedWithChildren) {
    _$$_REQUIRE(_dependencyMap[2])(AnimatedAddition, _AnimatedWithChildren);

    var _super = _createSuper(AnimatedAddition);

    function AnimatedAddition(a, b) {
      var _this;

      _$$_REQUIRE(_dependencyMap[3])(this, AnimatedAddition);

      _this = _super.call(this);
      _this._a = typeof a === 'number' ? new (_$$_REQUIRE(_dependencyMap[4]))(a) : a;
      _this._b = typeof b === 'number' ? new (_$$_REQUIRE(_dependencyMap[4]))(b) : b;
      return _this;
    }

    _$$_REQUIRE(_dependencyMap[5])(AnimatedAddition, [{
      key: "__makeNative",
      value: function __makeNative() {
        this._a.__makeNative();

        this._b.__makeNative();

        _$$_REQUIRE(_dependencyMap[6])(_$$_REQUIRE(_dependencyMap[0])(AnimatedAddition.prototype), "__makeNative", this).call(this);
      }
    }, {
      key: "__getValue",
      value: function __getValue() {
        return this._a.__getValue() + this._b.__getValue();
      }
    }, {
      key: "interpolate",
      value: function interpolate(config) {
        return new (_$$_REQUIRE(_dependencyMap[7]))(this, config);
      }
    }, {
      key: "__attach",
      value: function __attach() {
        this._a.__addChild(this);

        this._b.__addChild(this);
      }
    }, {
      key: "__detach",
      value: function __detach() {
        this._a.__removeChild(this);

        this._b.__removeChild(this);

        _$$_REQUIRE(_dependencyMap[6])(_$$_REQUIRE(_dependencyMap[0])(AnimatedAddition.prototype), "__detach", this).call(this);
      }
    }, {
      key: "__getNativeConfig",
      value: function __getNativeConfig() {
        return {
          type: 'addition',
          input: [this._a.__getNativeTag(), this._b.__getNativeTag()]
        };
      }
    }]);

    return AnimatedAddition;
  }(_$$_REQUIRE(_dependencyMap[8]));

  module.exports = AnimatedAddition;
},234,[16,14,12,7,223,8,90,227,228]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedSubtraction = function (_AnimatedWithChildren) {
    _$$_REQUIRE(_dependencyMap[2])(AnimatedSubtraction, _AnimatedWithChildren);

    var _super = _createSuper(AnimatedSubtraction);

    function AnimatedSubtraction(a, b) {
      var _this;

      _$$_REQUIRE(_dependencyMap[3])(this, AnimatedSubtraction);

      _this = _super.call(this);
      _this._a = typeof a === 'number' ? new (_$$_REQUIRE(_dependencyMap[4]))(a) : a;
      _this._b = typeof b === 'number' ? new (_$$_REQUIRE(_dependencyMap[4]))(b) : b;
      return _this;
    }

    _$$_REQUIRE(_dependencyMap[5])(AnimatedSubtraction, [{
      key: "__makeNative",
      value: function __makeNative() {
        this._a.__makeNative();

        this._b.__makeNative();

        _$$_REQUIRE(_dependencyMap[6])(_$$_REQUIRE(_dependencyMap[0])(AnimatedSubtraction.prototype), "__makeNative", this).call(this);
      }
    }, {
      key: "__getValue",
      value: function __getValue() {
        return this._a.__getValue() - this._b.__getValue();
      }
    }, {
      key: "interpolate",
      value: function interpolate(config) {
        return new (_$$_REQUIRE(_dependencyMap[7]))(this, config);
      }
    }, {
      key: "__attach",
      value: function __attach() {
        this._a.__addChild(this);

        this._b.__addChild(this);
      }
    }, {
      key: "__detach",
      value: function __detach() {
        this._a.__removeChild(this);

        this._b.__removeChild(this);

        _$$_REQUIRE(_dependencyMap[6])(_$$_REQUIRE(_dependencyMap[0])(AnimatedSubtraction.prototype), "__detach", this).call(this);
      }
    }, {
      key: "__getNativeConfig",
      value: function __getNativeConfig() {
        return {
          type: 'subtraction',
          input: [this._a.__getNativeTag(), this._b.__getNativeTag()]
        };
      }
    }]);

    return AnimatedSubtraction;
  }(_$$_REQUIRE(_dependencyMap[8]));

  module.exports = AnimatedSubtraction;
},235,[16,14,12,7,223,8,90,227,228]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedDivision = function (_AnimatedWithChildren) {
    _$$_REQUIRE(_dependencyMap[2])(AnimatedDivision, _AnimatedWithChildren);

    var _super = _createSuper(AnimatedDivision);

    function AnimatedDivision(a, b) {
      var _this;

      _$$_REQUIRE(_dependencyMap[3])(this, AnimatedDivision);

      _this = _super.call(this);
      _this._warnedAboutDivideByZero = false;

      if (b === 0 || b instanceof _$$_REQUIRE(_dependencyMap[4]) && b.__getValue() === 0) {
        console.error('Detected potential division by zero in AnimatedDivision');
      }

      _this._a = typeof a === 'number' ? new (_$$_REQUIRE(_dependencyMap[5]))(a) : a;
      _this._b = typeof b === 'number' ? new (_$$_REQUIRE(_dependencyMap[5]))(b) : b;
      return _this;
    }

    _$$_REQUIRE(_dependencyMap[6])(AnimatedDivision, [{
      key: "__makeNative",
      value: function __makeNative() {
        this._a.__makeNative();

        this._b.__makeNative();

        _$$_REQUIRE(_dependencyMap[7])(_$$_REQUIRE(_dependencyMap[0])(AnimatedDivision.prototype), "__makeNative", this).call(this);
      }
    }, {
      key: "__getValue",
      value: function __getValue() {
        var a = this._a.__getValue();

        var b = this._b.__getValue();

        if (b === 0) {
          if (!this._warnedAboutDivideByZero) {
            console.error('Detected division by zero in AnimatedDivision');
            this._warnedAboutDivideByZero = true;
          }

          return 0;
        }

        this._warnedAboutDivideByZero = false;
        return a / b;
      }
    }, {
      key: "interpolate",
      value: function interpolate(config) {
        return new (_$$_REQUIRE(_dependencyMap[8]))(this, config);
      }
    }, {
      key: "__attach",
      value: function __attach() {
        this._a.__addChild(this);

        this._b.__addChild(this);
      }
    }, {
      key: "__detach",
      value: function __detach() {
        this._a.__removeChild(this);

        this._b.__removeChild(this);

        _$$_REQUIRE(_dependencyMap[7])(_$$_REQUIRE(_dependencyMap[0])(AnimatedDivision.prototype), "__detach", this).call(this);
      }
    }, {
      key: "__getNativeConfig",
      value: function __getNativeConfig() {
        return {
          type: 'division',
          input: [this._a.__getNativeTag(), this._b.__getNativeTag()]
        };
      }
    }]);

    return AnimatedDivision;
  }(_$$_REQUIRE(_dependencyMap[9]));

  module.exports = AnimatedDivision;
},236,[16,14,12,7,229,223,8,90,227,228]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedMultiplication = function (_AnimatedWithChildren) {
    _$$_REQUIRE(_dependencyMap[2])(AnimatedMultiplication, _AnimatedWithChildren);

    var _super = _createSuper(AnimatedMultiplication);

    function AnimatedMultiplication(a, b) {
      var _this;

      _$$_REQUIRE(_dependencyMap[3])(this, AnimatedMultiplication);

      _this = _super.call(this);
      _this._a = typeof a === 'number' ? new (_$$_REQUIRE(_dependencyMap[4]))(a) : a;
      _this._b = typeof b === 'number' ? new (_$$_REQUIRE(_dependencyMap[4]))(b) : b;
      return _this;
    }

    _$$_REQUIRE(_dependencyMap[5])(AnimatedMultiplication, [{
      key: "__makeNative",
      value: function __makeNative() {
        this._a.__makeNative();

        this._b.__makeNative();

        _$$_REQUIRE(_dependencyMap[6])(_$$_REQUIRE(_dependencyMap[0])(AnimatedMultiplication.prototype), "__makeNative", this).call(this);
      }
    }, {
      key: "__getValue",
      value: function __getValue() {
        return this._a.__getValue() * this._b.__getValue();
      }
    }, {
      key: "interpolate",
      value: function interpolate(config) {
        return new (_$$_REQUIRE(_dependencyMap[7]))(this, config);
      }
    }, {
      key: "__attach",
      value: function __attach() {
        this._a.__addChild(this);

        this._b.__addChild(this);
      }
    }, {
      key: "__detach",
      value: function __detach() {
        this._a.__removeChild(this);

        this._b.__removeChild(this);

        _$$_REQUIRE(_dependencyMap[6])(_$$_REQUIRE(_dependencyMap[0])(AnimatedMultiplication.prototype), "__detach", this).call(this);
      }
    }, {
      key: "__getNativeConfig",
      value: function __getNativeConfig() {
        return {
          type: 'multiplication',
          input: [this._a.__getNativeTag(), this._b.__getNativeTag()]
        };
      }
    }]);

    return AnimatedMultiplication;
  }(_$$_REQUIRE(_dependencyMap[8]));

  module.exports = AnimatedMultiplication;
},237,[16,14,12,7,223,8,90,227,228]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedModulo = function (_AnimatedWithChildren) {
    _$$_REQUIRE(_dependencyMap[2])(AnimatedModulo, _AnimatedWithChildren);

    var _super = _createSuper(AnimatedModulo);

    function AnimatedModulo(a, modulus) {
      var _this;

      _$$_REQUIRE(_dependencyMap[3])(this, AnimatedModulo);

      _this = _super.call(this);
      _this._a = a;
      _this._modulus = modulus;
      return _this;
    }

    _$$_REQUIRE(_dependencyMap[4])(AnimatedModulo, [{
      key: "__makeNative",
      value: function __makeNative() {
        this._a.__makeNative();

        _$$_REQUIRE(_dependencyMap[5])(_$$_REQUIRE(_dependencyMap[0])(AnimatedModulo.prototype), "__makeNative", this).call(this);
      }
    }, {
      key: "__getValue",
      value: function __getValue() {
        return (this._a.__getValue() % this._modulus + this._modulus) % this._modulus;
      }
    }, {
      key: "interpolate",
      value: function interpolate(config) {
        return new (_$$_REQUIRE(_dependencyMap[6]))(this, config);
      }
    }, {
      key: "__attach",
      value: function __attach() {
        this._a.__addChild(this);
      }
    }, {
      key: "__detach",
      value: function __detach() {
        this._a.__removeChild(this);

        _$$_REQUIRE(_dependencyMap[5])(_$$_REQUIRE(_dependencyMap[0])(AnimatedModulo.prototype), "__detach", this).call(this);
      }
    }, {
      key: "__getNativeConfig",
      value: function __getNativeConfig() {
        return {
          type: 'modulus',
          input: this._a.__getNativeTag(),
          modulus: this._modulus
        };
      }
    }]);

    return AnimatedModulo;
  }(_$$_REQUIRE(_dependencyMap[7]));

  module.exports = AnimatedModulo;
},238,[16,14,12,7,8,90,227,228]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedDiffClamp = function (_AnimatedWithChildren) {
    _$$_REQUIRE(_dependencyMap[2])(AnimatedDiffClamp, _AnimatedWithChildren);

    var _super = _createSuper(AnimatedDiffClamp);

    function AnimatedDiffClamp(a, min, max) {
      var _this;

      _$$_REQUIRE(_dependencyMap[3])(this, AnimatedDiffClamp);

      _this = _super.call(this);
      _this._a = a;
      _this._min = min;
      _this._max = max;
      _this._value = _this._lastValue = _this._a.__getValue();
      return _this;
    }

    _$$_REQUIRE(_dependencyMap[4])(AnimatedDiffClamp, [{
      key: "__makeNative",
      value: function __makeNative() {
        this._a.__makeNative();

        _$$_REQUIRE(_dependencyMap[5])(_$$_REQUIRE(_dependencyMap[0])(AnimatedDiffClamp.prototype), "__makeNative", this).call(this);
      }
    }, {
      key: "interpolate",
      value: function interpolate(config) {
        return new (_$$_REQUIRE(_dependencyMap[6]))(this, config);
      }
    }, {
      key: "__getValue",
      value: function __getValue() {
        var value = this._a.__getValue();

        var diff = value - this._lastValue;
        this._lastValue = value;
        this._value = Math.min(Math.max(this._value + diff, this._min), this._max);
        return this._value;
      }
    }, {
      key: "__attach",
      value: function __attach() {
        this._a.__addChild(this);
      }
    }, {
      key: "__detach",
      value: function __detach() {
        this._a.__removeChild(this);

        _$$_REQUIRE(_dependencyMap[5])(_$$_REQUIRE(_dependencyMap[0])(AnimatedDiffClamp.prototype), "__detach", this).call(this);
      }
    }, {
      key: "__getNativeConfig",
      value: function __getNativeConfig() {
        return {
          type: 'diffclamp',
          input: this._a.__getNativeTag(),
          min: this._min,
          max: this._max
        };
      }
    }]);

    return AnimatedDiffClamp;
  }(_$$_REQUIRE(_dependencyMap[7]));

  module.exports = AnimatedDiffClamp;
},239,[16,14,12,7,8,90,227,228]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedTracking = function (_AnimatedNode) {
    _$$_REQUIRE(_dependencyMap[2])(AnimatedTracking, _AnimatedNode);

    var _super = _createSuper(AnimatedTracking);

    function AnimatedTracking(value, parent, animationClass, animationConfig, callback) {
      var _this;

      _$$_REQUIRE(_dependencyMap[3])(this, AnimatedTracking);

      _this = _super.call(this);
      _this._value = value;
      _this._parent = parent;
      _this._animationClass = animationClass;
      _this._animationConfig = animationConfig;
      _this._useNativeDriver = _$$_REQUIRE(_dependencyMap[4]).shouldUseNativeDriver(animationConfig);
      _this._callback = callback;

      _this.__attach();

      return _this;
    }

    _$$_REQUIRE(_dependencyMap[5])(AnimatedTracking, [{
      key: "__makeNative",
      value: function __makeNative() {
        this.__isNative = true;

        this._parent.__makeNative();

        _$$_REQUIRE(_dependencyMap[6])(_$$_REQUIRE(_dependencyMap[0])(AnimatedTracking.prototype), "__makeNative", this).call(this);

        this._value.__makeNative();
      }
    }, {
      key: "__getValue",
      value: function __getValue() {
        return this._parent.__getValue();
      }
    }, {
      key: "__attach",
      value: function __attach() {
        this._parent.__addChild(this);

        if (this._useNativeDriver) {
          this.__makeNative();
        }
      }
    }, {
      key: "__detach",
      value: function __detach() {
        this._parent.__removeChild(this);

        _$$_REQUIRE(_dependencyMap[6])(_$$_REQUIRE(_dependencyMap[0])(AnimatedTracking.prototype), "__detach", this).call(this);
      }
    }, {
      key: "update",
      value: function update() {
        this._value.animate(new this._animationClass(_$$_REQUIRE(_dependencyMap[7])({}, this._animationConfig, {
          toValue: this._animationConfig.toValue.__getValue()
        })), this._callback);
      }
    }, {
      key: "__getNativeConfig",
      value: function __getNativeConfig() {
        var animation = new this._animationClass(_$$_REQUIRE(_dependencyMap[7])({}, this._animationConfig, {
          toValue: undefined
        }));

        var animationConfig = animation.__getNativeAnimationConfig();

        return {
          type: 'tracking',
          animationId: _$$_REQUIRE(_dependencyMap[4]).generateNewAnimationId(),
          animationConfig: animationConfig,
          toValue: this._parent.__getNativeTag(),
          value: this._value.__getNativeTag()
        };
      }
    }]);

    return AnimatedTracking;
  }(_$$_REQUIRE(_dependencyMap[8]));

  module.exports = AnimatedTracking;
},240,[16,14,12,7,224,8,90,6,229]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SpringAnimation = function (_Animation) {
    _$$_REQUIRE(_dependencyMap[2])(SpringAnimation, _Animation);

    var _super = _createSuper(SpringAnimation);

    function SpringAnimation(config) {
      var _config$overshootClam, _config$restDisplacem, _config$restSpeedThre, _config$velocity, _config$velocity2, _config$delay, _config$isInteraction, _config$iterations;

      var _this;

      _$$_REQUIRE(_dependencyMap[3])(this, SpringAnimation);

      _this = _super.call(this);
      _this._overshootClamping = (_config$overshootClam = config.overshootClamping) != null ? _config$overshootClam : false;
      _this._restDisplacementThreshold = (_config$restDisplacem = config.restDisplacementThreshold) != null ? _config$restDisplacem : 0.001;
      _this._restSpeedThreshold = (_config$restSpeedThre = config.restSpeedThreshold) != null ? _config$restSpeedThre : 0.001;
      _this._initialVelocity = (_config$velocity = config.velocity) != null ? _config$velocity : 0;
      _this._lastVelocity = (_config$velocity2 = config.velocity) != null ? _config$velocity2 : 0;
      _this._toValue = config.toValue;
      _this._delay = (_config$delay = config.delay) != null ? _config$delay : 0;
      _this._useNativeDriver = _$$_REQUIRE(_dependencyMap[4]).shouldUseNativeDriver(config);
      _this.__isInteraction = (_config$isInteraction = config.isInteraction) != null ? _config$isInteraction : !_this._useNativeDriver;
      _this.__iterations = (_config$iterations = config.iterations) != null ? _config$iterations : 1;

      if (config.stiffness !== undefined || config.damping !== undefined || config.mass !== undefined) {
        var _config$stiffness, _config$damping, _config$mass;

        _$$_REQUIRE(_dependencyMap[5])(config.bounciness === undefined && config.speed === undefined && config.tension === undefined && config.friction === undefined, 'You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one');

        _this._stiffness = (_config$stiffness = config.stiffness) != null ? _config$stiffness : 100;
        _this._damping = (_config$damping = config.damping) != null ? _config$damping : 10;
        _this._mass = (_config$mass = config.mass) != null ? _config$mass : 1;
      } else if (config.bounciness !== undefined || config.speed !== undefined) {
        var _config$bounciness, _config$speed;

        _$$_REQUIRE(_dependencyMap[5])(config.tension === undefined && config.friction === undefined && config.stiffness === undefined && config.damping === undefined && config.mass === undefined, 'You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one');

        var springConfig = _$$_REQUIRE(_dependencyMap[6]).fromBouncinessAndSpeed((_config$bounciness = config.bounciness) != null ? _config$bounciness : 8, (_config$speed = config.speed) != null ? _config$speed : 12);

        _this._stiffness = springConfig.stiffness;
        _this._damping = springConfig.damping;
        _this._mass = 1;
      } else {
        var _config$tension, _config$friction;

        var _springConfig = _$$_REQUIRE(_dependencyMap[6]).fromOrigamiTensionAndFriction((_config$tension = config.tension) != null ? _config$tension : 40, (_config$friction = config.friction) != null ? _config$friction : 7);

        _this._stiffness = _springConfig.stiffness;
        _this._damping = _springConfig.damping;
        _this._mass = 1;
      }

      _$$_REQUIRE(_dependencyMap[5])(_this._stiffness > 0, 'Stiffness value must be greater than 0');

      _$$_REQUIRE(_dependencyMap[5])(_this._damping > 0, 'Damping value must be greater than 0');

      _$$_REQUIRE(_dependencyMap[5])(_this._mass > 0, 'Mass value must be greater than 0');

      return _this;
    }

    _$$_REQUIRE(_dependencyMap[7])(SpringAnimation, [{
      key: "__getNativeAnimationConfig",
      value: function __getNativeAnimationConfig() {
        var _this$_initialVelocit;

        return {
          type: 'spring',
          overshootClamping: this._overshootClamping,
          restDisplacementThreshold: this._restDisplacementThreshold,
          restSpeedThreshold: this._restSpeedThreshold,
          stiffness: this._stiffness,
          damping: this._damping,
          mass: this._mass,
          initialVelocity: (_this$_initialVelocit = this._initialVelocity) != null ? _this$_initialVelocit : this._lastVelocity,
          toValue: this._toValue,
          iterations: this.__iterations
        };
      }
    }, {
      key: "start",
      value: function start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {
        var _this2 = this;

        this.__active = true;
        this._startPosition = fromValue;
        this._lastPosition = this._startPosition;
        this._onUpdate = onUpdate;
        this.__onEnd = onEnd;
        this._lastTime = Date.now();
        this._frameTime = 0.0;

        if (previousAnimation instanceof SpringAnimation) {
          var internalState = previousAnimation.getInternalState();
          this._lastPosition = internalState.lastPosition;
          this._lastVelocity = internalState.lastVelocity;
          this._initialVelocity = this._lastVelocity;
          this._lastTime = internalState.lastTime;
        }

        var start = function start() {
          if (_this2._useNativeDriver) {
            _this2.__startNativeAnimation(animatedValue);
          } else {
            _this2.onUpdate();
          }
        };

        if (this._delay) {
          this._timeout = setTimeout(start, this._delay);
        } else {
          start();
        }
      }
    }, {
      key: "getInternalState",
      value: function getInternalState() {
        return {
          lastPosition: this._lastPosition,
          lastVelocity: this._lastVelocity,
          lastTime: this._lastTime
        };
      }
    }, {
      key: "onUpdate",
      value: function onUpdate() {
        var MAX_STEPS = 64;
        var now = Date.now();

        if (now > this._lastTime + MAX_STEPS) {
          now = this._lastTime + MAX_STEPS;
        }

        var deltaTime = (now - this._lastTime) / 1000;
        this._frameTime += deltaTime;
        var c = this._damping;
        var m = this._mass;
        var k = this._stiffness;
        var v0 = -this._initialVelocity;
        var zeta = c / (2 * Math.sqrt(k * m));
        var omega0 = Math.sqrt(k / m);
        var omega1 = omega0 * Math.sqrt(1.0 - zeta * zeta);
        var x0 = this._toValue - this._startPosition;
        var position = 0.0;
        var velocity = 0.0;
        var t = this._frameTime;

        if (zeta < 1) {
          var envelope = Math.exp(-zeta * omega0 * t);
          position = this._toValue - envelope * ((v0 + zeta * omega0 * x0) / omega1 * Math.sin(omega1 * t) + x0 * Math.cos(omega1 * t));
          velocity = zeta * omega0 * envelope * (Math.sin(omega1 * t) * (v0 + zeta * omega0 * x0) / omega1 + x0 * Math.cos(omega1 * t)) - envelope * (Math.cos(omega1 * t) * (v0 + zeta * omega0 * x0) - omega1 * x0 * Math.sin(omega1 * t));
        } else {
          var _envelope = Math.exp(-omega0 * t);

          position = this._toValue - _envelope * (x0 + (v0 + omega0 * x0) * t);
          velocity = _envelope * (v0 * (t * omega0 - 1) + t * x0 * (omega0 * omega0));
        }

        this._lastTime = now;
        this._lastPosition = position;
        this._lastVelocity = velocity;

        this._onUpdate(position);

        if (!this.__active) {
          return;
        }

        var isOvershooting = false;

        if (this._overshootClamping && this._stiffness !== 0) {
          if (this._startPosition < this._toValue) {
            isOvershooting = position > this._toValue;
          } else {
            isOvershooting = position < this._toValue;
          }
        }

        var isVelocity = Math.abs(velocity) <= this._restSpeedThreshold;

        var isDisplacement = true;

        if (this._stiffness !== 0) {
          isDisplacement = Math.abs(this._toValue - position) <= this._restDisplacementThreshold;
        }

        if (isOvershooting || isVelocity && isDisplacement) {
          if (this._stiffness !== 0) {
            this._lastPosition = this._toValue;
            this._lastVelocity = 0;

            this._onUpdate(this._toValue);
          }

          this.__debouncedOnEnd({
            finished: true
          });

          return;
        }

        this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));
      }
    }, {
      key: "stop",
      value: function stop() {
        _$$_REQUIRE(_dependencyMap[8])(_$$_REQUIRE(_dependencyMap[0])(SpringAnimation.prototype), "stop", this).call(this);

        this.__active = false;
        clearTimeout(this._timeout);
        global.cancelAnimationFrame(this._animationFrame);

        this.__debouncedOnEnd({
          finished: false
        });
      }
    }]);

    return SpringAnimation;
  }(_$$_REQUIRE(_dependencyMap[9]));

  module.exports = SpringAnimation;
},241,[16,14,12,7,224,36,242,8,90,243]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function stiffnessFromOrigamiValue(oValue) {
    return (oValue - 30) * 3.62 + 194;
  }

  function dampingFromOrigamiValue(oValue) {
    return (oValue - 8) * 3 + 25;
  }

  function fromOrigamiTensionAndFriction(tension, friction) {
    return {
      stiffness: stiffnessFromOrigamiValue(tension),
      damping: dampingFromOrigamiValue(friction)
    };
  }

  function fromBouncinessAndSpeed(bounciness, speed) {
    function normalize(value, startValue, endValue) {
      return (value - startValue) / (endValue - startValue);
    }

    function projectNormal(n, start, end) {
      return start + n * (end - start);
    }

    function linearInterpolation(t, start, end) {
      return t * end + (1 - t) * start;
    }

    function quadraticOutInterpolation(t, start, end) {
      return linearInterpolation(2 * t - t * t, start, end);
    }

    function b3Friction1(x) {
      return 0.0007 * Math.pow(x, 3) - 0.031 * Math.pow(x, 2) + 0.64 * x + 1.28;
    }

    function b3Friction2(x) {
      return 0.000044 * Math.pow(x, 3) - 0.006 * Math.pow(x, 2) + 0.36 * x + 2;
    }

    function b3Friction3(x) {
      return 0.00000045 * Math.pow(x, 3) - 0.000332 * Math.pow(x, 2) + 0.1078 * x + 5.84;
    }

    function b3Nobounce(tension) {
      if (tension <= 18) {
        return b3Friction1(tension);
      } else if (tension > 18 && tension <= 44) {
        return b3Friction2(tension);
      } else {
        return b3Friction3(tension);
      }
    }

    var b = normalize(bounciness / 1.7, 0, 20);
    b = projectNormal(b, 0, 0.8);
    var s = normalize(speed / 1.7, 0, 20);
    var bouncyTension = projectNormal(s, 0.5, 200);
    var bouncyFriction = quadraticOutInterpolation(b, b3Nobounce(bouncyTension), 0.01);
    return {
      stiffness: stiffnessFromOrigamiValue(bouncyTension),
      damping: dampingFromOrigamiValue(bouncyFriction)
    };
  }

  module.exports = {
    fromOrigamiTensionAndFriction: fromOrigamiTensionAndFriction,
    fromBouncinessAndSpeed: fromBouncinessAndSpeed
  };
},242,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var startNativeAnimationNextId = 1;

  var Animation = function () {
    function Animation() {
      _$$_REQUIRE(_dependencyMap[0])(this, Animation);
    }

    _$$_REQUIRE(_dependencyMap[1])(Animation, [{
      key: "start",
      value: function start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {}
    }, {
      key: "stop",
      value: function stop() {
        if (this.__nativeId) {
          _$$_REQUIRE(_dependencyMap[2]).API.stopAnimation(this.__nativeId);
        }
      }
    }, {
      key: "__getNativeAnimationConfig",
      value: function __getNativeAnimationConfig() {
        throw new Error('This animation type cannot be offloaded to native');
      }
    }, {
      key: "__debouncedOnEnd",
      value: function __debouncedOnEnd(result) {
        var onEnd = this.__onEnd;
        this.__onEnd = null;
        onEnd && onEnd(result);
      }
    }, {
      key: "__startNativeAnimation",
      value: function __startNativeAnimation(animatedValue) {
        var startNativeAnimationWaitId = startNativeAnimationNextId + ":startAnimation";
        startNativeAnimationNextId += 1;

        _$$_REQUIRE(_dependencyMap[2]).API.setWaitingForIdentifier(startNativeAnimationWaitId);

        try {
          animatedValue.__makeNative();

          this.__nativeId = _$$_REQUIRE(_dependencyMap[2]).generateNewAnimationId();

          _$$_REQUIRE(_dependencyMap[2]).API.startAnimatingNode(this.__nativeId, animatedValue.__getNativeTag(), this.__getNativeAnimationConfig(), this.__debouncedOnEnd.bind(this));
        } catch (e) {
          throw e;
        } finally {
          _$$_REQUIRE(_dependencyMap[2]).API.unsetWaitingForIdentifier(startNativeAnimationWaitId);
        }
      }
    }]);

    return Animation;
  }();

  module.exports = Animation;
},243,[7,8,224]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var _easeInOut;

  function easeInOut() {
    if (!_easeInOut) {
      var Easing = _$$_REQUIRE(_dependencyMap[2]);

      _easeInOut = Easing.inOut(Easing.ease);
    }

    return _easeInOut;
  }

  var TimingAnimation = function (_Animation) {
    _$$_REQUIRE(_dependencyMap[3])(TimingAnimation, _Animation);

    var _super = _createSuper(TimingAnimation);

    function TimingAnimation(config) {
      var _config$easing, _config$duration, _config$delay, _config$iterations, _config$isInteraction;

      var _this;

      _$$_REQUIRE(_dependencyMap[4])(this, TimingAnimation);

      _this = _super.call(this);
      _this._toValue = config.toValue;
      _this._easing = (_config$easing = config.easing) != null ? _config$easing : easeInOut();
      _this._duration = (_config$duration = config.duration) != null ? _config$duration : 500;
      _this._delay = (_config$delay = config.delay) != null ? _config$delay : 0;
      _this.__iterations = (_config$iterations = config.iterations) != null ? _config$iterations : 1;
      _this._useNativeDriver = _$$_REQUIRE(_dependencyMap[5]).shouldUseNativeDriver(config);
      _this.__isInteraction = (_config$isInteraction = config.isInteraction) != null ? _config$isInteraction : !_this._useNativeDriver;
      return _this;
    }

    _$$_REQUIRE(_dependencyMap[6])(TimingAnimation, [{
      key: "__getNativeAnimationConfig",
      value: function __getNativeAnimationConfig() {
        var frameDuration = 16.666666666666668;
        var frames = [];
        var numFrames = Math.round(this._duration / frameDuration);

        for (var frame = 0; frame < numFrames; frame++) {
          frames.push(this._easing(frame / numFrames));
        }

        frames.push(this._easing(1));
        return {
          type: 'frames',
          frames: frames,
          toValue: this._toValue,
          iterations: this.__iterations
        };
      }
    }, {
      key: "start",
      value: function start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {
        var _this2 = this;

        this.__active = true;
        this._fromValue = fromValue;
        this._onUpdate = onUpdate;
        this.__onEnd = onEnd;

        var start = function start() {
          if (_this2._duration === 0 && !_this2._useNativeDriver) {
            _this2._onUpdate(_this2._toValue);

            _this2.__debouncedOnEnd({
              finished: true
            });
          } else {
            _this2._startTime = Date.now();

            if (_this2._useNativeDriver) {
              _this2.__startNativeAnimation(animatedValue);
            } else {
              _this2._animationFrame = requestAnimationFrame(_this2.onUpdate.bind(_this2));
            }
          }
        };

        if (this._delay) {
          this._timeout = setTimeout(start, this._delay);
        } else {
          start();
        }
      }
    }, {
      key: "onUpdate",
      value: function onUpdate() {
        var now = Date.now();

        if (now >= this._startTime + this._duration) {
          if (this._duration === 0) {
            this._onUpdate(this._toValue);
          } else {
            this._onUpdate(this._fromValue + this._easing(1) * (this._toValue - this._fromValue));
          }

          this.__debouncedOnEnd({
            finished: true
          });

          return;
        }

        this._onUpdate(this._fromValue + this._easing((now - this._startTime) / this._duration) * (this._toValue - this._fromValue));

        if (this.__active) {
          this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));
        }
      }
    }, {
      key: "stop",
      value: function stop() {
        _$$_REQUIRE(_dependencyMap[7])(_$$_REQUIRE(_dependencyMap[0])(TimingAnimation.prototype), "stop", this).call(this);

        this.__active = false;
        clearTimeout(this._timeout);
        global.cancelAnimationFrame(this._animationFrame);

        this.__debouncedOnEnd({
          finished: false
        });
      }
    }]);

    return TimingAnimation;
  }(_$$_REQUIRE(_dependencyMap[8]));

  module.exports = TimingAnimation;
},244,[16,14,245,12,7,224,8,90,243]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _ease;

  var Easing = function () {
    function Easing() {
      _$$_REQUIRE(_dependencyMap[0])(this, Easing);
    }

    _$$_REQUIRE(_dependencyMap[1])(Easing, null, [{
      key: "step0",
      value: function step0(n) {
        return n > 0 ? 1 : 0;
      }
    }, {
      key: "step1",
      value: function step1(n) {
        return n >= 1 ? 1 : 0;
      }
    }, {
      key: "linear",
      value: function linear(t) {
        return t;
      }
    }, {
      key: "ease",
      value: function ease(t) {
        if (!_ease) {
          _ease = Easing.bezier(0.42, 0, 1, 1);
        }

        return _ease(t);
      }
    }, {
      key: "quad",
      value: function quad(t) {
        return t * t;
      }
    }, {
      key: "cubic",
      value: function cubic(t) {
        return t * t * t;
      }
    }, {
      key: "poly",
      value: function poly(n) {
        return function (t) {
          return Math.pow(t, n);
        };
      }
    }, {
      key: "sin",
      value: function sin(t) {
        return 1 - Math.cos(t * Math.PI / 2);
      }
    }, {
      key: "circle",
      value: function circle(t) {
        return 1 - Math.sqrt(1 - t * t);
      }
    }, {
      key: "exp",
      value: function exp(t) {
        return Math.pow(2, 10 * (t - 1));
      }
    }, {
      key: "elastic",
      value: function elastic() {
        var bounciness = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
        var p = bounciness * Math.PI;
        return function (t) {
          return 1 - Math.pow(Math.cos(t * Math.PI / 2), 3) * Math.cos(t * p);
        };
      }
    }, {
      key: "back",
      value: function back() {
        var s = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1.70158;
        return function (t) {
          return t * t * ((s + 1) * t - s);
        };
      }
    }, {
      key: "bounce",
      value: function bounce(t) {
        if (t < 0.36363636363636365) {
          return 7.5625 * t * t;
        }

        if (t < 0.7272727272727273) {
          var _t = t - 0.5454545454545454;

          return 7.5625 * _t * _t + 0.75;
        }

        if (t < 0.9090909090909091) {
          var _t2 = t - 0.8181818181818182;

          return 7.5625 * _t2 * _t2 + 0.9375;
        }

        var t2 = t - 0.9545454545454546;
        return 7.5625 * t2 * t2 + 0.984375;
      }
    }, {
      key: "bezier",
      value: function bezier(x1, y1, x2, y2) {
        var _bezier = _$$_REQUIRE(_dependencyMap[2]);

        return _bezier(x1, y1, x2, y2);
      }
    }, {
      key: "in",
      value: function _in(easing) {
        return easing;
      }
    }, {
      key: "out",
      value: function out(easing) {
        return function (t) {
          return 1 - easing(1 - t);
        };
      }
    }, {
      key: "inOut",
      value: function inOut(easing) {
        return function (t) {
          if (t < 0.5) {
            return easing(t * 2) / 2;
          }

          return 1 - easing((1 - t) * 2) / 2;
        };
      }
    }]);

    return Easing;
  }();

  module.exports = Easing;
},245,[7,8,246]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var NEWTON_ITERATIONS = 4;
  var NEWTON_MIN_SLOPE = 0.001;
  var SUBDIVISION_PRECISION = 0.0000001;
  var SUBDIVISION_MAX_ITERATIONS = 10;
  var kSplineTableSize = 11;
  var kSampleStepSize = 0.1;
  var float32ArraySupported = typeof Float32Array === 'function';

  function A(aA1, aA2) {
    return 1.0 - 3.0 * aA2 + 3.0 * aA1;
  }

  function B(aA1, aA2) {
    return 3.0 * aA2 - 6.0 * aA1;
  }

  function C(aA1) {
    return 3.0 * aA1;
  }

  function calcBezier(aT, aA1, aA2) {
    return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;
  }

  function getSlope(aT, aA1, aA2) {
    return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);
  }

  function binarySubdivide(aX, _aA, _aB, mX1, mX2) {
    var currentX,
        currentT,
        i = 0,
        aA = _aA,
        aB = _aB;

    do {
      currentT = aA + (aB - aA) / 2.0;
      currentX = calcBezier(currentT, mX1, mX2) - aX;

      if (currentX > 0.0) {
        aB = currentT;
      } else {
        aA = currentT;
      }
    } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);

    return currentT;
  }

  function newtonRaphsonIterate(aX, _aGuessT, mX1, mX2) {
    var aGuessT = _aGuessT;

    for (var i = 0; i < NEWTON_ITERATIONS; ++i) {
      var currentSlope = getSlope(aGuessT, mX1, mX2);

      if (currentSlope === 0.0) {
        return aGuessT;
      }

      var currentX = calcBezier(aGuessT, mX1, mX2) - aX;
      aGuessT -= currentX / currentSlope;
    }

    return aGuessT;
  }

  module.exports = function bezier(mX1, mY1, mX2, mY2) {
    if (!(mX1 >= 0 && mX1 <= 1 && mX2 >= 0 && mX2 <= 1)) {
      throw new Error('bezier x values must be in [0, 1] range');
    }

    var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);

    if (mX1 !== mY1 || mX2 !== mY2) {
      for (var i = 0; i < kSplineTableSize; ++i) {
        sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);
      }
    }

    function getTForX(aX) {
      var intervalStart = 0.0;
      var currentSample = 1;
      var lastSample = 10;

      for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {
        intervalStart += kSampleStepSize;
      }

      --currentSample;
      var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);
      var guessForT = intervalStart + dist * kSampleStepSize;
      var initialSlope = getSlope(guessForT, mX1, mX2);

      if (initialSlope >= NEWTON_MIN_SLOPE) {
        return newtonRaphsonIterate(aX, guessForT, mX1, mX2);
      } else if (initialSlope === 0.0) {
        return guessForT;
      } else {
        return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);
      }
    }

    return function BezierEasing(x) {
      if (mX1 === mY1 && mX2 === mY2) {
        return x;
      }

      if (x === 0) {
        return 0;
      }

      if (x === 1) {
        return 1;
      }

      return calcBezier(getTForX(x), mY1, mY2);
    };
  };
},246,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var DecayAnimation = function (_Animation) {
    _$$_REQUIRE(_dependencyMap[2])(DecayAnimation, _Animation);

    var _super = _createSuper(DecayAnimation);

    function DecayAnimation(config) {
      var _config$deceleration, _config$isInteraction, _config$iterations;

      var _this;

      _$$_REQUIRE(_dependencyMap[3])(this, DecayAnimation);

      _this = _super.call(this);
      _this._deceleration = (_config$deceleration = config.deceleration) != null ? _config$deceleration : 0.998;
      _this._velocity = config.velocity;
      _this._useNativeDriver = _$$_REQUIRE(_dependencyMap[4]).shouldUseNativeDriver(config);
      _this.__isInteraction = (_config$isInteraction = config.isInteraction) != null ? _config$isInteraction : !_this._useNativeDriver;
      _this.__iterations = (_config$iterations = config.iterations) != null ? _config$iterations : 1;
      return _this;
    }

    _$$_REQUIRE(_dependencyMap[5])(DecayAnimation, [{
      key: "__getNativeAnimationConfig",
      value: function __getNativeAnimationConfig() {
        return {
          type: 'decay',
          deceleration: this._deceleration,
          velocity: this._velocity,
          iterations: this.__iterations
        };
      }
    }, {
      key: "start",
      value: function start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {
        this.__active = true;
        this._lastValue = fromValue;
        this._fromValue = fromValue;
        this._onUpdate = onUpdate;
        this.__onEnd = onEnd;
        this._startTime = Date.now();

        if (this._useNativeDriver) {
          this.__startNativeAnimation(animatedValue);
        } else {
          this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));
        }
      }
    }, {
      key: "onUpdate",
      value: function onUpdate() {
        var now = Date.now();
        var value = this._fromValue + this._velocity / (1 - this._deceleration) * (1 - Math.exp(-(1 - this._deceleration) * (now - this._startTime)));

        this._onUpdate(value);

        if (Math.abs(this._lastValue - value) < 0.1) {
          this.__debouncedOnEnd({
            finished: true
          });

          return;
        }

        this._lastValue = value;

        if (this.__active) {
          this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));
        }
      }
    }, {
      key: "stop",
      value: function stop() {
        _$$_REQUIRE(_dependencyMap[6])(_$$_REQUIRE(_dependencyMap[0])(DecayAnimation.prototype), "stop", this).call(this);

        this.__active = false;
        global.cancelAnimationFrame(this._animationFrame);

        this.__debouncedOnEnd({
          finished: false
        });
      }
    }]);

    return DecayAnimation;
  }(_$$_REQUIRE(_dependencyMap[7]));

  module.exports = DecayAnimation;
},247,[16,14,12,7,224,8,90,243]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function attachNativeEvent(viewRef, eventName, argMapping) {
    var eventMappings = [];

    var traverse = function traverse(value, path) {
      if (value instanceof _$$_REQUIRE(_dependencyMap[0])) {
        value.__makeNative();

        eventMappings.push({
          nativeEventPath: path,
          animatedValueTag: value.__getNativeTag()
        });
      } else if (value instanceof _$$_REQUIRE(_dependencyMap[1])) {
        traverse(value.x, path.concat('x'));
        traverse(value.y, path.concat('y'));
      } else if (typeof value === 'object') {
        for (var _key in value) {
          traverse(value[_key], path.concat(_key));
        }
      }
    };

    _$$_REQUIRE(_dependencyMap[2])(argMapping[0] && argMapping[0].nativeEvent, 'Native driven events only support animated values contained inside `nativeEvent`.');

    traverse(argMapping[0].nativeEvent, []);

    var viewTag = _$$_REQUIRE(_dependencyMap[3]).findNodeHandle(viewRef);

    if (viewTag != null) {
      eventMappings.forEach(function (mapping) {
        _$$_REQUIRE(_dependencyMap[4]).API.addAnimatedEventToView(viewTag, eventName, mapping);
      });
    }

    return {
      detach: function detach() {
        if (viewTag != null) {
          eventMappings.forEach(function (mapping) {
            _$$_REQUIRE(_dependencyMap[4]).API.removeAnimatedEventFromView(viewTag, eventName, mapping.animatedValueTag);
          });
        }
      }
    };
  }

  var AnimatedEvent = function () {
    function AnimatedEvent(argMapping, config) {
      _$$_REQUIRE(_dependencyMap[5])(this, AnimatedEvent);

      this._listeners = [];
      this._argMapping = argMapping;

      if (config == null) {
        console.warn('Animated.event now requires a second argument for options');
        config = {
          useNativeDriver: false
        };
      }

      if (config.listener) {
        this.__addListener(config.listener);
      }

      this._callListeners = this._callListeners.bind(this);
      this._attachedEvent = null;
      this.__isNative = _$$_REQUIRE(_dependencyMap[4]).shouldUseNativeDriver(config);
    }

    _$$_REQUIRE(_dependencyMap[6])(AnimatedEvent, [{
      key: "__addListener",
      value: function __addListener(callback) {
        this._listeners.push(callback);
      }
    }, {
      key: "__removeListener",
      value: function __removeListener(callback) {
        this._listeners = this._listeners.filter(function (listener) {
          return listener !== callback;
        });
      }
    }, {
      key: "__attach",
      value: function __attach(viewRef, eventName) {
        _$$_REQUIRE(_dependencyMap[2])(this.__isNative, 'Only native driven events need to be attached.');

        this._attachedEvent = attachNativeEvent(viewRef, eventName, this._argMapping);
      }
    }, {
      key: "__detach",
      value: function __detach(viewTag, eventName) {
        _$$_REQUIRE(_dependencyMap[2])(this.__isNative, 'Only native driven events need to be detached.');

        this._attachedEvent && this._attachedEvent.detach();
      }
    }, {
      key: "__getHandler",
      value: function __getHandler() {
        var _this = this;

        if (this.__isNative) {
          {
            return this._callListeners;
          }
        }

        var validatedMapping = false;
        return function () {
          for (var _len2 = arguments.length, args = new Array(_len2), _key3 = 0; _key3 < _len2; _key3++) {
            args[_key3] = arguments[_key3];
          }

          var traverse = function traverse(recMapping, recEvt) {
            if (recMapping instanceof _$$_REQUIRE(_dependencyMap[0])) {
              if (typeof recEvt === 'number') {
                recMapping.setValue(recEvt);
              }
            } else if (recMapping instanceof _$$_REQUIRE(_dependencyMap[1])) {
              if (typeof recEvt === 'object') {
                traverse(recMapping.x, recEvt.x);
                traverse(recMapping.y, recEvt.y);
              }
            } else if (typeof recMapping === 'object') {
              for (var mappingKey in recMapping) {
                traverse(recMapping[mappingKey], recEvt[mappingKey]);
              }
            }
          };

          _this._argMapping.forEach(function (mapping, idx) {
            traverse(mapping, args[idx]);
          });

          _this._callListeners.apply(_this, args);
        };
      }
    }, {
      key: "_callListeners",
      value: function _callListeners() {
        for (var _len3 = arguments.length, args = new Array(_len3), _key4 = 0; _key4 < _len3; _key4++) {
          args[_key4] = arguments[_key4];
        }

        this._listeners.forEach(function (listener) {
          return listener.apply(undefined, args);
        });
      }
    }]);

    return AnimatedEvent;
  }();

  module.exports = {
    AnimatedEvent: AnimatedEvent,
    attachNativeEvent: attachNativeEvent
  };
},248,[223,232,36,54,224,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var createAnimatedComponentInjection = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _createAnimatedCompon;

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var React = _$$_REQUIRE(_dependencyMap[9]);

  var animatedComponentNextId = 1;

  function createAnimatedComponent(Component) {
    _$$_REQUIRE(_dependencyMap[10])(typeof Component !== 'function' || Component.prototype && Component.prototype.isReactComponent, "`createAnimatedComponent` does not support stateless functional components; use a class component instead.");

    var AnimatedComponent = function (_React$Component) {
      (0, _inherits2.default)(AnimatedComponent, _React$Component);

      var _super = _createSuper(AnimatedComponent);

      function AnimatedComponent() {
        var _this;

        (0, _classCallCheck2.default)(this, AnimatedComponent);

        for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
          args[_key] = arguments[_key];
        }

        _this = _super.call.apply(_super, [this].concat(args));
        _this._invokeAnimatedPropsCallbackOnMount = false;
        _this._eventDetachers = [];
        _this._animatedComponentId = animatedComponentNextId++ + ":animatedComponent";

        _this._isFabric = function () {
          var _this$_component$_int, _this$_component$_int2, _this$_component$getN, _this$_component$getN2, _this$_component$getS, _this$_component$getS2;

          if (_this._component == null) {
            return false;
          }

          return ((_this$_component$_int = _this._component['_internalInstanceHandle']) == null ? undefined : (_this$_component$_int2 = _this$_component$_int.stateNode) == null ? undefined : _this$_component$_int2.canonical) != null || _this._component.getNativeScrollRef != null && _this._component.getNativeScrollRef() != null && ((_this$_component$getN = _this._component.getNativeScrollRef()['_internalInstanceHandle']) == null ? undefined : (_this$_component$getN2 = _this$_component$getN.stateNode) == null ? undefined : _this$_component$getN2.canonical) != null || _this._component.getScrollResponder != null && _this._component.getScrollResponder() != null && _this._component.getScrollResponder().getNativeScrollRef != null && _this._component.getScrollResponder().getNativeScrollRef() != null && ((_this$_component$getS = _this._component.getScrollResponder().getNativeScrollRef()['_internalInstanceHandle']) == null ? undefined : (_this$_component$getS2 = _this$_component$getS.stateNode) == null ? undefined : _this$_component$getS2.canonical) != null;
        };

        _this._waitForUpdate = function () {
          if (_this._isFabric()) {
            _$$_REQUIRE(_dependencyMap[11]).API.setWaitingForIdentifier(_this._animatedComponentId);
          }
        };

        _this._markUpdateComplete = function () {
          if (_this._isFabric()) {
            _$$_REQUIRE(_dependencyMap[11]).API.unsetWaitingForIdentifier(_this._animatedComponentId);
          }
        };

        _this._animatedPropsCallback = function () {
          if (_this._component == null) {
            _this._invokeAnimatedPropsCallbackOnMount = true;
          } else if (typeof _this._component.setNativeProps !== 'function' || _this._isFabric()) {
            _this.forceUpdate();
          } else if (!_this._propsAnimated.__isNative) {
            _this._component.setNativeProps(_this._propsAnimated.__getAnimatedValue());
          } else {
            throw new Error("Attempting to run JS driven animation on animated node that has been moved to \"native\" earlier by starting an animation with `useNativeDriver: true`");
          }
        };

        _this._setComponentRef = _$$_REQUIRE(_dependencyMap[12])({
          getForwardedRef: function getForwardedRef() {
            return _this.props.forwardedRef;
          },
          setLocalRef: function setLocalRef(ref) {
            _this._prevComponent = _this._component;
            _this._component = ref;
          }
        });
        return _this;
      }

      (0, _createClass2.default)(AnimatedComponent, [{
        key: "_attachNativeEvents",
        value: function _attachNativeEvents() {
          var _this$_component,
              _this2 = this;

          var scrollableNode = (_this$_component = this._component) != null && _this$_component.getScrollableNode ? this._component.getScrollableNode() : this._component;

          var _loop = function _loop(key) {
            var prop = _this2.props[key];

            if (prop instanceof _$$_REQUIRE(_dependencyMap[13]).AnimatedEvent && prop.__isNative) {
              prop.__attach(scrollableNode, key);

              _this2._eventDetachers.push(function () {
                return prop.__detach(scrollableNode, key);
              });
            }
          };

          for (var key in this.props) {
            _loop(key);
          }
        }
      }, {
        key: "_detachNativeEvents",
        value: function _detachNativeEvents() {
          this._eventDetachers.forEach(function (remove) {
            return remove();
          });

          this._eventDetachers = [];
        }
      }, {
        key: "_attachProps",
        value: function _attachProps(nextProps) {
          var oldPropsAnimated = this._propsAnimated;
          this._propsAnimated = new (_$$_REQUIRE(_dependencyMap[14]))(nextProps, this._animatedPropsCallback);

          this._propsAnimated.__attach();

          if (oldPropsAnimated) {
            oldPropsAnimated.__restoreDefaultValues();

            oldPropsAnimated.__detach();
          }
        }
      }, {
        key: "render",
        value: function render() {
          var _ref = this._propsAnimated.__getValue() || {},
              _ref$style = _ref.style,
              style = _ref$style === undefined ? {} : _ref$style,
              props = (0, _objectWithoutProperties2.default)(_ref, ["style"]);

          var _ref2 = this.props.passthroughAnimatedPropExplicitValues || {},
              _ref2$style = _ref2.style,
              passthruStyle = _ref2$style === undefined ? {} : _ref2$style,
              passthruProps = (0, _objectWithoutProperties2.default)(_ref2, ["style"]);

          var mergedStyle = (0, _extends2.default)({}, style, passthruStyle);
          return React.createElement(Component, (0, _extends2.default)({}, props, passthruProps, {
            collapsable: false,
            style: mergedStyle,
            ref: this._setComponentRef
          }));
        }
      }, {
        key: "UNSAFE_componentWillMount",
        value: function UNSAFE_componentWillMount() {
          this._waitForUpdate();

          this._attachProps(this.props);
        }
      }, {
        key: "componentDidMount",
        value: function componentDidMount() {
          if (this._invokeAnimatedPropsCallbackOnMount) {
            this._invokeAnimatedPropsCallbackOnMount = false;

            this._animatedPropsCallback();
          }

          this._propsAnimated.setNativeView(this._component);

          this._attachNativeEvents();

          this._markUpdateComplete();
        }
      }, {
        key: "UNSAFE_componentWillReceiveProps",
        value: function UNSAFE_componentWillReceiveProps(newProps) {
          this._waitForUpdate();

          this._attachProps(newProps);
        }
      }, {
        key: "componentDidUpdate",
        value: function componentDidUpdate(prevProps) {
          if (this._component !== this._prevComponent) {
            this._propsAnimated.setNativeView(this._component);
          }

          if (this._component !== this._prevComponent || prevProps !== this.props) {
            this._detachNativeEvents();

            this._attachNativeEvents();
          }

          this._markUpdateComplete();
        }
      }, {
        key: "componentWillUnmount",
        value: function componentWillUnmount() {
          this._propsAnimated && this._propsAnimated.__detach();

          this._detachNativeEvents();

          this._markUpdateComplete();

          this._component = null;
          this._prevComponent = null;
        }
      }]);
      return AnimatedComponent;
    }(React.Component);

    return React.forwardRef(function AnimatedComponentWrapper(props, ref) {
      return React.createElement(AnimatedComponent, (0, _extends2.default)({}, props, ref == null ? null : {
        forwardedRef: ref
      }));
    });
  }

  module.exports = (_createAnimatedCompon = createAnimatedComponentInjection.recordAndRetrieve()) != null ? _createAnimatedCompon : createAnimatedComponent;
},249,[5,6,108,7,8,12,14,16,250,17,36,224,251,248,252]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.inject = inject;
  exports.recordAndRetrieve = recordAndRetrieve;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var injected;

  function inject(newInjected) {
    if (injected !== undefined) {
      return;
    }

    injected = newInjected;
  }

  function recordAndRetrieve() {
    if (injected === undefined) {
      injected = null;
    }

    return injected;
  }
},250,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function setAndForwardRef(_ref) {
    var getForwardedRef = _ref.getForwardedRef,
        setLocalRef = _ref.setLocalRef;
    return function forwardRef(ref) {
      var forwardedRef = getForwardedRef();
      setLocalRef(ref);

      if (typeof forwardedRef === 'function') {
        forwardedRef(ref);
      } else if (typeof forwardedRef === 'object' && forwardedRef != null) {
        forwardedRef.current = ref;
      }
    };
  }

  module.exports = setAndForwardRef;
},251,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedProps = function (_AnimatedNode) {
    _$$_REQUIRE(_dependencyMap[2])(AnimatedProps, _AnimatedNode);

    var _super = _createSuper(AnimatedProps);

    function AnimatedProps(props, callback) {
      var _this;

      _$$_REQUIRE(_dependencyMap[3])(this, AnimatedProps);

      _this = _super.call(this);

      if (props.style) {
        props = _$$_REQUIRE(_dependencyMap[4])({}, props, {
          style: new (_$$_REQUIRE(_dependencyMap[5]))(props.style)
        });
      }

      _this._props = props;
      _this._callback = callback;
      return _this;
    }

    _$$_REQUIRE(_dependencyMap[6])(AnimatedProps, [{
      key: "__getValue",
      value: function __getValue() {
        var props = {};

        for (var key in this._props) {
          var value = this._props[key];

          if (value instanceof _$$_REQUIRE(_dependencyMap[7])) {
            if (!value.__isNative || value instanceof _$$_REQUIRE(_dependencyMap[5])) {
              props[key] = value.__getValue();
            }
          } else if (value instanceof _$$_REQUIRE(_dependencyMap[8]).AnimatedEvent) {
            props[key] = value.__getHandler();
          } else {
            props[key] = value;
          }
        }

        return props;
      }
    }, {
      key: "__getAnimatedValue",
      value: function __getAnimatedValue() {
        var props = {};

        for (var key in this._props) {
          var value = this._props[key];

          if (value instanceof _$$_REQUIRE(_dependencyMap[7])) {
            props[key] = value.__getAnimatedValue();
          }
        }

        return props;
      }
    }, {
      key: "__attach",
      value: function __attach() {
        for (var key in this._props) {
          var value = this._props[key];

          if (value instanceof _$$_REQUIRE(_dependencyMap[7])) {
            value.__addChild(this);
          }
        }
      }
    }, {
      key: "__detach",
      value: function __detach() {
        if (this.__isNative && this._animatedView) {
          this.__disconnectAnimatedView();
        }

        for (var key in this._props) {
          var value = this._props[key];

          if (value instanceof _$$_REQUIRE(_dependencyMap[7])) {
            value.__removeChild(this);
          }
        }

        _$$_REQUIRE(_dependencyMap[9])(_$$_REQUIRE(_dependencyMap[0])(AnimatedProps.prototype), "__detach", this).call(this);
      }
    }, {
      key: "update",
      value: function update() {
        this._callback();
      }
    }, {
      key: "__makeNative",
      value: function __makeNative() {
        if (!this.__isNative) {
          this.__isNative = true;

          for (var key in this._props) {
            var value = this._props[key];

            if (value instanceof _$$_REQUIRE(_dependencyMap[7])) {
              value.__makeNative();
            }
          }

          if (this._animatedView) {
            this.__connectAnimatedView();
          }
        }
      }
    }, {
      key: "setNativeView",
      value: function setNativeView(animatedView) {
        if (this._animatedView === animatedView) {
          return;
        }

        this._animatedView = animatedView;

        if (this.__isNative) {
          this.__connectAnimatedView();
        }
      }
    }, {
      key: "__connectAnimatedView",
      value: function __connectAnimatedView() {
        _$$_REQUIRE(_dependencyMap[10])(this.__isNative, 'Expected node to be marked as "native"');

        var nativeViewTag = _$$_REQUIRE(_dependencyMap[11]).findNodeHandle(this._animatedView);

        _$$_REQUIRE(_dependencyMap[10])(nativeViewTag != null, 'Unable to locate attached view in the native tree');

        _$$_REQUIRE(_dependencyMap[12]).API.connectAnimatedNodeToView(this.__getNativeTag(), nativeViewTag);
      }
    }, {
      key: "__disconnectAnimatedView",
      value: function __disconnectAnimatedView() {
        _$$_REQUIRE(_dependencyMap[10])(this.__isNative, 'Expected node to be marked as "native"');

        var nativeViewTag = _$$_REQUIRE(_dependencyMap[11]).findNodeHandle(this._animatedView);

        _$$_REQUIRE(_dependencyMap[10])(nativeViewTag != null, 'Unable to locate attached view in the native tree');

        _$$_REQUIRE(_dependencyMap[12]).API.disconnectAnimatedNodeFromView(this.__getNativeTag(), nativeViewTag);
      }
    }, {
      key: "__restoreDefaultValues",
      value: function __restoreDefaultValues() {
        if (this.__isNative) {
          _$$_REQUIRE(_dependencyMap[12]).API.restoreDefaultValues(this.__getNativeTag());
        }
      }
    }, {
      key: "__getNativeConfig",
      value: function __getNativeConfig() {
        var propsConfig = {};

        for (var propKey in this._props) {
          var value = this._props[propKey];

          if (value instanceof _$$_REQUIRE(_dependencyMap[7])) {
            value.__makeNative();

            propsConfig[propKey] = value.__getNativeTag();
          }
        }

        return {
          type: 'props',
          props: propsConfig
        };
      }
    }]);

    return AnimatedProps;
  }(_$$_REQUIRE(_dependencyMap[7]));

  module.exports = AnimatedProps;
},252,[16,14,12,7,6,253,8,229,248,90,36,54,224]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedStyle = function (_AnimatedWithChildren) {
    _$$_REQUIRE(_dependencyMap[2])(AnimatedStyle, _AnimatedWithChildren);

    var _super = _createSuper(AnimatedStyle);

    function AnimatedStyle(style) {
      var _this;

      _$$_REQUIRE(_dependencyMap[3])(this, AnimatedStyle);

      _this = _super.call(this);
      style = _$$_REQUIRE(_dependencyMap[4])(style) || {};

      if (style.transform) {
        style = _$$_REQUIRE(_dependencyMap[5])({}, style, {
          transform: new (_$$_REQUIRE(_dependencyMap[6]))(style.transform)
        });
      }

      _this._style = style;
      return _this;
    }

    _$$_REQUIRE(_dependencyMap[7])(AnimatedStyle, [{
      key: "_walkStyleAndGetValues",
      value: function _walkStyleAndGetValues(style) {
        var updatedStyle = {};

        for (var key in style) {
          var value = style[key];

          if (value instanceof _$$_REQUIRE(_dependencyMap[8])) {
            if (!value.__isNative) {
              updatedStyle[key] = value.__getValue();
            }
          } else if (value && !Array.isArray(value) && typeof value === 'object') {
            updatedStyle[key] = this._walkStyleAndGetValues(value);
          } else {
            updatedStyle[key] = value;
          }
        }

        return updatedStyle;
      }
    }, {
      key: "__getValue",
      value: function __getValue() {
        return this._walkStyleAndGetValues(this._style);
      }
    }, {
      key: "_walkStyleAndGetAnimatedValues",
      value: function _walkStyleAndGetAnimatedValues(style) {
        var updatedStyle = {};

        for (var key in style) {
          var value = style[key];

          if (value instanceof _$$_REQUIRE(_dependencyMap[8])) {
            updatedStyle[key] = value.__getAnimatedValue();
          } else if (value && !Array.isArray(value) && typeof value === 'object') {
            updatedStyle[key] = this._walkStyleAndGetAnimatedValues(value);
          }
        }

        return updatedStyle;
      }
    }, {
      key: "__getAnimatedValue",
      value: function __getAnimatedValue() {
        return this._walkStyleAndGetAnimatedValues(this._style);
      }
    }, {
      key: "__attach",
      value: function __attach() {
        for (var key in this._style) {
          var value = this._style[key];

          if (value instanceof _$$_REQUIRE(_dependencyMap[8])) {
            value.__addChild(this);
          }
        }
      }
    }, {
      key: "__detach",
      value: function __detach() {
        for (var key in this._style) {
          var value = this._style[key];

          if (value instanceof _$$_REQUIRE(_dependencyMap[8])) {
            value.__removeChild(this);
          }
        }

        _$$_REQUIRE(_dependencyMap[9])(_$$_REQUIRE(_dependencyMap[0])(AnimatedStyle.prototype), "__detach", this).call(this);
      }
    }, {
      key: "__makeNative",
      value: function __makeNative() {
        for (var key in this._style) {
          var value = this._style[key];

          if (value instanceof _$$_REQUIRE(_dependencyMap[8])) {
            value.__makeNative();
          }
        }

        _$$_REQUIRE(_dependencyMap[9])(_$$_REQUIRE(_dependencyMap[0])(AnimatedStyle.prototype), "__makeNative", this).call(this);
      }
    }, {
      key: "__getNativeConfig",
      value: function __getNativeConfig() {
        var styleConfig = {};

        for (var styleKey in this._style) {
          if (this._style[styleKey] instanceof _$$_REQUIRE(_dependencyMap[8])) {
            var style = this._style[styleKey];

            style.__makeNative();

            styleConfig[styleKey] = style.__getNativeTag();
          }
        }

        _$$_REQUIRE(_dependencyMap[10]).validateStyles(styleConfig);

        return {
          type: 'style',
          style: styleConfig
        };
      }
    }]);

    return AnimatedStyle;
  }(_$$_REQUIRE(_dependencyMap[11]));

  module.exports = AnimatedStyle;
},253,[16,14,12,7,178,6,254,8,229,90,224,228]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedTransform = function (_AnimatedWithChildren) {
    _$$_REQUIRE(_dependencyMap[2])(AnimatedTransform, _AnimatedWithChildren);

    var _super = _createSuper(AnimatedTransform);

    function AnimatedTransform(transforms) {
      var _this;

      _$$_REQUIRE(_dependencyMap[3])(this, AnimatedTransform);

      _this = _super.call(this);
      _this._transforms = transforms;
      return _this;
    }

    _$$_REQUIRE(_dependencyMap[4])(AnimatedTransform, [{
      key: "__makeNative",
      value: function __makeNative() {
        this._transforms.forEach(function (transform) {
          for (var key in transform) {
            var value = transform[key];

            if (value instanceof _$$_REQUIRE(_dependencyMap[5])) {
              value.__makeNative();
            }
          }
        });

        _$$_REQUIRE(_dependencyMap[6])(_$$_REQUIRE(_dependencyMap[0])(AnimatedTransform.prototype), "__makeNative", this).call(this);
      }
    }, {
      key: "__getValue",
      value: function __getValue() {
        return this._transforms.map(function (transform) {
          var result = {};

          for (var key in transform) {
            var value = transform[key];

            if (value instanceof _$$_REQUIRE(_dependencyMap[5])) {
              result[key] = value.__getValue();
            } else {
              result[key] = value;
            }
          }

          return result;
        });
      }
    }, {
      key: "__getAnimatedValue",
      value: function __getAnimatedValue() {
        return this._transforms.map(function (transform) {
          var result = {};

          for (var key in transform) {
            var value = transform[key];

            if (value instanceof _$$_REQUIRE(_dependencyMap[5])) {
              result[key] = value.__getAnimatedValue();
            } else {
              result[key] = value;
            }
          }

          return result;
        });
      }
    }, {
      key: "__attach",
      value: function __attach() {
        var _this2 = this;

        this._transforms.forEach(function (transform) {
          for (var key in transform) {
            var value = transform[key];

            if (value instanceof _$$_REQUIRE(_dependencyMap[5])) {
              value.__addChild(_this2);
            }
          }
        });
      }
    }, {
      key: "__detach",
      value: function __detach() {
        var _this3 = this;

        this._transforms.forEach(function (transform) {
          for (var key in transform) {
            var value = transform[key];

            if (value instanceof _$$_REQUIRE(_dependencyMap[5])) {
              value.__removeChild(_this3);
            }
          }
        });

        _$$_REQUIRE(_dependencyMap[6])(_$$_REQUIRE(_dependencyMap[0])(AnimatedTransform.prototype), "__detach", this).call(this);
      }
    }, {
      key: "__getNativeConfig",
      value: function __getNativeConfig() {
        var transConfigs = [];

        this._transforms.forEach(function (transform) {
          for (var key in transform) {
            var value = transform[key];

            if (value instanceof _$$_REQUIRE(_dependencyMap[5])) {
              transConfigs.push({
                type: 'animated',
                property: key,
                nodeTag: value.__getNativeTag()
              });
            } else {
              transConfigs.push({
                type: 'static',
                property: key,
                value: _$$_REQUIRE(_dependencyMap[7]).transformDataType(value)
              });
            }
          }
        });

        _$$_REQUIRE(_dependencyMap[7]).validateTransform(transConfigs);

        return {
          type: 'transform',
          transforms: transConfigs
        };
      }
    }]);

    return AnimatedTransform;
  }(_$$_REQUIRE(_dependencyMap[8]));

  module.exports = AnimatedTransform;
},254,[16,14,12,7,8,229,90,224,228]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var FlatListWithEventThrottle = React.forwardRef(function (props, ref) {
    return React.createElement(_$$_REQUIRE(_dependencyMap[3]), (0, _extends2.default)({
      scrollEventThrottle: 0.0001
    }, props, {
      ref: ref
    }));
  });
  module.exports = _$$_REQUIRE(_dependencyMap[4])(FlatListWithEventThrottle);
},255,[5,6,17,256,249]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _defineProperty2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var React = _$$_REQUIRE(_dependencyMap[9]);

  function removeClippedSubviewsOrDefault(removeClippedSubviews) {
    return removeClippedSubviews != null ? removeClippedSubviews : false;
  }

  function numColumnsOrDefault(numColumns) {
    return numColumns != null ? numColumns : 1;
  }

  var FlatList = function (_React$PureComponent) {
    (0, _inherits2.default)(FlatList, _React$PureComponent);

    var _super = _createSuper(FlatList);

    function FlatList(_props) {
      var _this;

      (0, _classCallCheck2.default)(this, FlatList);
      _this = _super.call(this, _props);
      _this._virtualizedListPairs = [];

      _this._captureRef = function (ref) {
        _this._listRef = ref;
      };

      _this._getItem = function (data, index) {
        var numColumns = numColumnsOrDefault(_this.props.numColumns);

        if (numColumns > 1) {
          var ret = [];

          for (var kk = 0; kk < numColumns; kk++) {
            var _item = data[index * numColumns + kk];

            if (_item != null) {
              ret.push(_item);
            }
          }

          return ret;
        } else {
          return data[index];
        }
      };

      _this._getItemCount = function (data) {
        if (data) {
          var numColumns = numColumnsOrDefault(_this.props.numColumns);
          return numColumns > 1 ? Math.ceil(data.length / numColumns) : data.length;
        } else {
          return 0;
        }
      };

      _this._keyExtractor = function (items, index) {
        var _this$props$keyExtrac;

        var numColumns = numColumnsOrDefault(_this.props.numColumns);
        var keyExtractor = (_this$props$keyExtrac = _this.props.keyExtractor) != null ? _this$props$keyExtrac : _$$_REQUIRE(_dependencyMap[10]).keyExtractor;

        if (numColumns > 1) {
          if (Array.isArray(items)) {
            return items.map(function (item, kk) {
              return keyExtractor(item, index * numColumns + kk);
            }).join(':');
          } else {
            _$$_REQUIRE(_dependencyMap[11])(Array.isArray(items), "FlatList: Encountered internal consistency error, expected each item to consist of an array with 1-%s columns; instead, received a single item.", numColumns);
          }
        } else {
          return keyExtractor(items, index);
        }
      };

      _this._renderer = function () {
        var _this$props = _this.props,
            ListItemComponent = _this$props.ListItemComponent,
            renderItem = _this$props.renderItem,
            columnWrapperStyle = _this$props.columnWrapperStyle;
        var numColumns = numColumnsOrDefault(_this.props.numColumns);
        var virtualizedListRenderKey = ListItemComponent ? 'ListItemComponent' : 'renderItem';

        var renderer = function renderer(props) {
          if (ListItemComponent) {
            return React.createElement(ListItemComponent, props);
          } else if (renderItem) {
            return renderItem(props);
          } else {
            return null;
          }
        };

        return (0, _defineProperty2.default)({}, virtualizedListRenderKey, function (info) {
          if (numColumns > 1) {
            var _item2 = info.item,
                _index = info.index;

            _$$_REQUIRE(_dependencyMap[11])(Array.isArray(_item2), 'Expected array of items with numColumns > 1');

            return React.createElement(_$$_REQUIRE(_dependencyMap[12]), {
              style: _$$_REQUIRE(_dependencyMap[13]).compose(styles.row, columnWrapperStyle)
            }, _item2.map(function (it, kk) {
              var element = renderer({
                item: it,
                index: _index * numColumns + kk,
                separators: info.separators
              });
              return element != null ? React.createElement(React.Fragment, {
                key: kk
              }, element) : null;
            }));
          } else {
            return renderer(info);
          }
        });
      };

      _this._checkProps(_this.props);

      if (_this.props.viewabilityConfigCallbackPairs) {
        _this._virtualizedListPairs = _this.props.viewabilityConfigCallbackPairs.map(function (pair) {
          return {
            viewabilityConfig: pair.viewabilityConfig,
            onViewableItemsChanged: _this._createOnViewableItemsChanged(pair.onViewableItemsChanged)
          };
        });
      } else if (_this.props.onViewableItemsChanged) {
        _this._virtualizedListPairs.push({
          viewabilityConfig: _this.props.viewabilityConfig,
          onViewableItemsChanged: _this._createOnViewableItemsChanged(_this.props.onViewableItemsChanged)
        });
      }

      return _this;
    }

    (0, _createClass2.default)(FlatList, [{
      key: "scrollToEnd",
      value: function scrollToEnd(params) {
        if (this._listRef) {
          this._listRef.scrollToEnd(params);
        }
      }
    }, {
      key: "scrollToIndex",
      value: function scrollToIndex(params) {
        if (this._listRef) {
          this._listRef.scrollToIndex(params);
        }
      }
    }, {
      key: "scrollToItem",
      value: function scrollToItem(params) {
        if (this._listRef) {
          this._listRef.scrollToItem(params);
        }
      }
    }, {
      key: "scrollToOffset",
      value: function scrollToOffset(params) {
        if (this._listRef) {
          this._listRef.scrollToOffset(params);
        }
      }
    }, {
      key: "recordInteraction",
      value: function recordInteraction() {
        if (this._listRef) {
          this._listRef.recordInteraction();
        }
      }
    }, {
      key: "flashScrollIndicators",
      value: function flashScrollIndicators() {
        if (this._listRef) {
          this._listRef.flashScrollIndicators();
        }
      }
    }, {
      key: "getScrollResponder",
      value: function getScrollResponder() {
        if (this._listRef) {
          return this._listRef.getScrollResponder();
        }
      }
    }, {
      key: "getNativeScrollRef",
      value: function getNativeScrollRef() {
        if (this._listRef) {
          return this._listRef.getScrollRef();
        }
      }
    }, {
      key: "getScrollableNode",
      value: function getScrollableNode() {
        if (this._listRef) {
          return this._listRef.getScrollableNode();
        }
      }
    }, {
      key: "setNativeProps",
      value: function setNativeProps(props) {
        if (this._listRef) {
          this._listRef.setNativeProps(props);
        }
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps) {
        _$$_REQUIRE(_dependencyMap[11])(prevProps.numColumns === this.props.numColumns, "Changing numColumns on the fly is not supported. Change the key prop on FlatList when changing the number of columns to force a fresh render of the component.");

        _$$_REQUIRE(_dependencyMap[11])(prevProps.onViewableItemsChanged === this.props.onViewableItemsChanged, 'Changing onViewableItemsChanged on the fly is not supported');

        _$$_REQUIRE(_dependencyMap[11])(!_$$_REQUIRE(_dependencyMap[14])(prevProps.viewabilityConfig, this.props.viewabilityConfig), 'Changing viewabilityConfig on the fly is not supported');

        _$$_REQUIRE(_dependencyMap[11])(prevProps.viewabilityConfigCallbackPairs === this.props.viewabilityConfigCallbackPairs, 'Changing viewabilityConfigCallbackPairs on the fly is not supported');

        this._checkProps(this.props);
      }
    }, {
      key: "_checkProps",
      value: function _checkProps(props) {
        var getItem = props.getItem,
            getItemCount = props.getItemCount,
            horizontal = props.horizontal,
            columnWrapperStyle = props.columnWrapperStyle,
            onViewableItemsChanged = props.onViewableItemsChanged,
            viewabilityConfigCallbackPairs = props.viewabilityConfigCallbackPairs;
        var numColumns = numColumnsOrDefault(this.props.numColumns);

        _$$_REQUIRE(_dependencyMap[11])(!getItem && !getItemCount, 'FlatList does not support custom data formats.');

        if (numColumns > 1) {
          _$$_REQUIRE(_dependencyMap[11])(!horizontal, 'numColumns does not support horizontal.');
        } else {
          _$$_REQUIRE(_dependencyMap[11])(!columnWrapperStyle, 'columnWrapperStyle not supported for single column lists');
        }

        _$$_REQUIRE(_dependencyMap[11])(!(onViewableItemsChanged && viewabilityConfigCallbackPairs), "FlatList does not support setting both onViewableItemsChanged and viewabilityConfigCallbackPairs.");
      }
    }, {
      key: "_pushMultiColumnViewable",
      value: function _pushMultiColumnViewable(arr, v) {
        var _this$props$keyExtrac2;

        var numColumns = numColumnsOrDefault(this.props.numColumns);
        var keyExtractor = (_this$props$keyExtrac2 = this.props.keyExtractor) != null ? _this$props$keyExtrac2 : _$$_REQUIRE(_dependencyMap[10]).keyExtractor;
        v.item.forEach(function (item, ii) {
          _$$_REQUIRE(_dependencyMap[11])(v.index != null, 'Missing index!');

          var index = v.index * numColumns + ii;
          arr.push((0, _extends2.default)({}, v, {
            item: item,
            key: keyExtractor(item, index),
            index: index
          }));
        });
      }
    }, {
      key: "_createOnViewableItemsChanged",
      value: function _createOnViewableItemsChanged(onViewableItemsChanged) {
        var _this2 = this;

        return function (info) {
          var numColumns = numColumnsOrDefault(_this2.props.numColumns);

          if (onViewableItemsChanged) {
            if (numColumns > 1) {
              var changed = [];
              var viewableItems = [];
              info.viewableItems.forEach(function (v) {
                return _this2._pushMultiColumnViewable(viewableItems, v);
              });
              info.changed.forEach(function (v) {
                return _this2._pushMultiColumnViewable(changed, v);
              });
              onViewableItemsChanged({
                viewableItems: viewableItems,
                changed: changed
              });
            } else {
              onViewableItemsChanged(info);
            }
          }
        };
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props2 = this.props,
            numColumns = _this$props2.numColumns,
            columnWrapperStyle = _this$props2.columnWrapperStyle,
            _removeClippedSubviews = _this$props2.removeClippedSubviews,
            restProps = (0, _objectWithoutProperties2.default)(_this$props2, ["numColumns", "columnWrapperStyle", "removeClippedSubviews"]);
        return React.createElement(_$$_REQUIRE(_dependencyMap[15]), (0, _extends2.default)({}, restProps, {
          getItem: this._getItem,
          getItemCount: this._getItemCount,
          keyExtractor: this._keyExtractor,
          ref: this._captureRef,
          viewabilityConfigCallbackPairs: this._virtualizedListPairs,
          removeClippedSubviews: removeClippedSubviewsOrDefault(_removeClippedSubviews)
        }, this._renderer()));
      }
    }]);
    return FlatList;
  }(React.PureComponent);

  var styles = _$$_REQUIRE(_dependencyMap[13]).create({
    row: {
      flexDirection: 'row'
    }
  });

  module.exports = FlatList;
},256,[5,108,6,27,7,8,12,14,16,17,257,36,184,183,176,258]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.elementsThatOverlapOffsets = elementsThatOverlapOffsets;
  exports.newRangeCount = newRangeCount;
  exports.computeWindowedRenderLimits = computeWindowedRenderLimits;
  exports.keyExtractor = keyExtractor;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  function elementsThatOverlapOffsets(offsets, itemCount, getFrameMetrics) {
    var out = [];
    var outLength = 0;

    for (var ii = 0; ii < itemCount; ii++) {
      var frame = getFrameMetrics(ii);
      var trailingOffset = frame.offset + frame.length;

      for (var kk = 0; kk < offsets.length; kk++) {
        if (out[kk] == null && trailingOffset >= offsets[kk]) {
          out[kk] = ii;
          outLength++;

          if (kk === offsets.length - 1) {
            (0, _invariant.default)(outLength === offsets.length, 'bad offsets input, should be in increasing order: %s', JSON.stringify(offsets));
            return out;
          }
        }
      }
    }

    return out;
  }

  function newRangeCount(prev, next) {
    return next.last - next.first + 1 - Math.max(0, 1 + Math.min(next.last, prev.last) - Math.max(next.first, prev.first));
  }

  function computeWindowedRenderLimits(data, getItemCount, maxToRenderPerBatch, windowSize, prev, getFrameMetricsApprox, scrollMetrics) {
    var itemCount = getItemCount(data);

    if (itemCount === 0) {
      return prev;
    }

    var offset = scrollMetrics.offset,
        velocity = scrollMetrics.velocity,
        visibleLength = scrollMetrics.visibleLength;
    var visibleBegin = Math.max(0, offset);
    var visibleEnd = visibleBegin + visibleLength;
    var overscanLength = (windowSize - 1) * visibleLength;
    var leadFactor = 0.5;
    var fillPreference = velocity > 1 ? 'after' : velocity < -1 ? 'before' : 'none';
    var overscanBegin = Math.max(0, visibleBegin - 0.5 * overscanLength);
    var overscanEnd = Math.max(0, visibleEnd + leadFactor * overscanLength);
    var lastItemOffset = getFrameMetricsApprox(itemCount - 1).offset;

    if (lastItemOffset < overscanBegin) {
      return {
        first: Math.max(0, itemCount - 1 - maxToRenderPerBatch),
        last: itemCount - 1
      };
    }

    var _elementsThatOverlapO = elementsThatOverlapOffsets([overscanBegin, visibleBegin, visibleEnd, overscanEnd], itemCount, getFrameMetricsApprox),
        _elementsThatOverlapO2 = (0, _slicedToArray2.default)(_elementsThatOverlapO, 4),
        overscanFirst = _elementsThatOverlapO2[0],
        first = _elementsThatOverlapO2[1],
        last = _elementsThatOverlapO2[2],
        overscanLast = _elementsThatOverlapO2[3];

    overscanFirst = overscanFirst == null ? 0 : overscanFirst;
    first = first == null ? Math.max(0, overscanFirst) : first;
    overscanLast = overscanLast == null ? itemCount - 1 : overscanLast;
    last = last == null ? Math.min(overscanLast, first + maxToRenderPerBatch - 1) : last;
    var visible = {
      first: first,
      last: last
    };
    var newCellCount = newRangeCount(prev, visible);

    while (true) {
      if (first <= overscanFirst && last >= overscanLast) {
        break;
      }

      var maxNewCells = newCellCount >= maxToRenderPerBatch;
      var firstWillAddMore = first <= prev.first || first > prev.last;
      var firstShouldIncrement = first > overscanFirst && (!maxNewCells || !firstWillAddMore);
      var lastWillAddMore = last >= prev.last || last < prev.first;
      var lastShouldIncrement = last < overscanLast && (!maxNewCells || !lastWillAddMore);

      if (maxNewCells && !firstShouldIncrement && !lastShouldIncrement) {
        break;
      }

      if (firstShouldIncrement && !(fillPreference === 'after' && lastShouldIncrement && lastWillAddMore)) {
        if (firstWillAddMore) {
          newCellCount++;
        }

        first--;
      }

      if (lastShouldIncrement && !(fillPreference === 'before' && firstShouldIncrement && firstWillAddMore)) {
        if (lastWillAddMore) {
          newCellCount++;
        }

        last++;
      }
    }

    if (!(last >= first && first >= 0 && last < itemCount && first >= overscanFirst && last <= overscanLast && first <= visible.first && last >= visible.last)) {
      throw new Error('Bad window calculation ' + JSON.stringify({
        first: first,
        last: last,
        itemCount: itemCount,
        overscanFirst: overscanFirst,
        overscanLast: overscanLast,
        visible: visible
      }));
    }

    return {
      first: first,
      last: last
    };
  }

  function keyExtractor(item, index) {
    if (typeof item === 'object' && (item == null ? undefined : item.key) != null) {
      return item.key;
    }

    if (typeof item === 'object' && (item == null ? undefined : item.id) != null) {
      return item.id;
    }

    return String(index);
  }
},257,[5,41,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _defineProperty2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var _usedIndexForKey = false;
  var _keylessItemComponentName = '';

  function horizontalOrDefault(horizontal) {
    return horizontal != null ? horizontal : false;
  }

  function initialNumToRenderOrDefault(initialNumToRender) {
    return initialNumToRender != null ? initialNumToRender : 10;
  }

  function maxToRenderPerBatchOrDefault(maxToRenderPerBatch) {
    return maxToRenderPerBatch != null ? maxToRenderPerBatch : 10;
  }

  function onEndReachedThresholdOrDefault(onEndReachedThreshold) {
    return onEndReachedThreshold != null ? onEndReachedThreshold : 2;
  }

  function scrollEventThrottleOrDefault(scrollEventThrottle) {
    return scrollEventThrottle != null ? scrollEventThrottle : 50;
  }

  function windowSizeOrDefault(windowSize) {
    return windowSize != null ? windowSize : 21;
  }

  var VirtualizedList = function (_React$PureComponent) {
    (0, _inherits2.default)(VirtualizedList, _React$PureComponent);

    var _super = _createSuper(VirtualizedList);

    function VirtualizedList(_props) {
      var _this$props$updateCel;

      var _this;

      (0, _classCallCheck2.default)(this, VirtualizedList);
      _this = _super.call(this, _props);

      _this._getScrollMetrics = function () {
        return _this._scrollMetrics;
      };

      _this._getOutermostParentListRef = function () {
        if (_this._isNestedWithSameOrientation()) {
          return _this.context.getOutermostParentListRef();
        } else {
          return (0, _assertThisInitialized2.default)(_this);
        }
      };

      _this._getNestedChildState = function (key) {
        var existingChildData = _this._nestedChildLists.get(key);

        return existingChildData && existingChildData.state;
      };

      _this._registerAsNestedChild = function (childList) {
        var childListsInCell = _this._cellKeysToChildListKeys.get(childList.cellKey) || new Set();
        childListsInCell.add(childList.key);

        _this._cellKeysToChildListKeys.set(childList.cellKey, childListsInCell);

        var existingChildData = _this._nestedChildLists.get(childList.key);

        if (existingChildData && existingChildData.ref !== null) {
          console.error("A VirtualizedList contains a cell which itself contains more than one VirtualizedList of the same orientation as the parent list. You must pass a unique listKey prop to each sibling list.\n\n" + describeNestedLists((0, _extends2.default)({}, childList, {
            horizontal: !!childList.ref.props.horizontal
          })));
        }

        _this._nestedChildLists.set(childList.key, {
          ref: childList.ref,
          state: null
        });

        if (_this._hasInteracted) {
          childList.ref.recordInteraction();
        }
      };

      _this._unregisterAsNestedChild = function (childList) {
        _this._nestedChildLists.set(childList.key, {
          ref: null,
          state: childList.state
        });
      };

      _this._onUpdateSeparators = function (keys, newProps) {
        keys.forEach(function (key) {
          var ref = key != null && _this._cellRefs[key];
          ref && ref.updateSeparatorProps(newProps);
        });
      };

      _this._getSpacerKey = function (isVertical) {
        return isVertical ? 'height' : 'width';
      };

      _this._averageCellLength = 0;
      _this._cellKeysToChildListKeys = new Map();
      _this._cellRefs = {};
      _this._frames = {};
      _this._footerLength = 0;
      _this._hasDoneInitialScroll = false;
      _this._hasInteracted = false;
      _this._hasMore = false;
      _this._hasWarned = {};
      _this._headerLength = 0;
      _this._hiPriInProgress = false;
      _this._highestMeasuredFrameIndex = 0;
      _this._indicesToKeys = new Map();
      _this._nestedChildLists = new Map();
      _this._offsetFromParentVirtualizedList = 0;
      _this._prevParentOffset = 0;
      _this._scrollMetrics = {
        contentLength: 0,
        dOffset: 0,
        dt: 10,
        offset: 0,
        timestamp: 0,
        velocity: 0,
        visibleLength: 0
      };
      _this._scrollRef = null;
      _this._sentEndForContentLength = 0;
      _this._totalCellLength = 0;
      _this._totalCellsMeasured = 0;
      _this._viewabilityTuples = [];

      _this._captureScrollRef = function (ref) {
        _this._scrollRef = ref;
      };

      _this._defaultRenderScrollComponent = function (props) {
        var onRefresh = props.onRefresh;

        if (_this._isNestedWithSameOrientation()) {
          return React.createElement(_$$_REQUIRE(_dependencyMap[10]), props);
        } else if (onRefresh) {
          var _props$refreshing;

          _$$_REQUIRE(_dependencyMap[11])(typeof props.refreshing === 'boolean', '`refreshing` prop must be set as a boolean in order to use `onRefresh`, but got `' + JSON.stringify((_props$refreshing = props.refreshing) != null ? _props$refreshing : 'undefined') + '`');

          return React.createElement(_$$_REQUIRE(_dependencyMap[12]), (0, _extends2.default)({}, props, {
            refreshControl: props.refreshControl == null ? React.createElement(_$$_REQUIRE(_dependencyMap[13]), {
              refreshing: props.refreshing,
              onRefresh: onRefresh,
              progressViewOffset: props.progressViewOffset
            }) : props.refreshControl
          }));
        } else {
          return React.createElement(_$$_REQUIRE(_dependencyMap[12]), props);
        }
      };

      _this._onCellUnmount = function (cellKey) {
        var curr = _this._frames[cellKey];

        if (curr) {
          _this._frames[cellKey] = (0, _extends2.default)({}, curr, {
            inLayout: false
          });
        }
      };

      _this._onLayout = function (e) {
        if (_this._isNestedWithSameOrientation()) {
          _this.measureLayoutRelativeToContainingList();
        } else {
          _this._scrollMetrics.visibleLength = _this._selectLength(e.nativeEvent.layout);
        }

        _this.props.onLayout && _this.props.onLayout(e);

        _this._scheduleCellsToRenderUpdate();

        _this._maybeCallOnEndReached();
      };

      _this._onLayoutEmpty = function (e) {
        _this.props.onLayout && _this.props.onLayout(e);
      };

      _this._onLayoutFooter = function (e) {
        _this._triggerRemeasureForChildListsInCell(_this._getFooterCellKey());

        _this._footerLength = _this._selectLength(e.nativeEvent.layout);
      };

      _this._onLayoutHeader = function (e) {
        _this._headerLength = _this._selectLength(e.nativeEvent.layout);
      };

      _this._onContentSizeChange = function (width, height) {
        if (width > 0 && height > 0 && _this.props.initialScrollIndex != null && _this.props.initialScrollIndex > 0 && !_this._hasDoneInitialScroll) {
          if (_this.props.contentOffset == null) {
            _this.scrollToIndex({
              animated: false,
              index: _this.props.initialScrollIndex
            });
          }

          _this._hasDoneInitialScroll = true;
        }

        if (_this.props.onContentSizeChange) {
          _this.props.onContentSizeChange(width, height);
        }

        _this._scrollMetrics.contentLength = _this._selectLength({
          height: height,
          width: width
        });

        _this._scheduleCellsToRenderUpdate();

        _this._maybeCallOnEndReached();
      };

      _this._convertParentScrollMetrics = function (metrics) {
        var offset = metrics.offset - _this._offsetFromParentVirtualizedList;
        var visibleLength = metrics.visibleLength;
        var dOffset = offset - _this._scrollMetrics.offset;
        var contentLength = _this._scrollMetrics.contentLength;
        return {
          visibleLength: visibleLength,
          contentLength: contentLength,
          offset: offset,
          dOffset: dOffset
        };
      };

      _this._onScroll = function (e) {
        _this._nestedChildLists.forEach(function (childList) {
          childList.ref && childList.ref._onScroll(e);
        });

        if (_this.props.onScroll) {
          _this.props.onScroll(e);
        }

        var timestamp = e.timeStamp;

        var visibleLength = _this._selectLength(e.nativeEvent.layoutMeasurement);

        var contentLength = _this._selectLength(e.nativeEvent.contentSize);

        var offset = _this._selectOffset(e.nativeEvent.contentOffset);

        var dOffset = offset - _this._scrollMetrics.offset;

        if (_this._isNestedWithSameOrientation()) {
          if (_this._scrollMetrics.contentLength === 0) {
            return;
          }

          var _this$_convertParentS = _this._convertParentScrollMetrics({
            visibleLength: visibleLength,
            offset: offset
          });

          visibleLength = _this$_convertParentS.visibleLength;
          contentLength = _this$_convertParentS.contentLength;
          offset = _this$_convertParentS.offset;
          dOffset = _this$_convertParentS.dOffset;
        }

        var dt = _this._scrollMetrics.timestamp ? Math.max(1, timestamp - _this._scrollMetrics.timestamp) : 1;
        var velocity = dOffset / dt;

        if (dt > 500 && _this._scrollMetrics.dt > 500 && contentLength > 5 * visibleLength && !_this._hasWarned.perf) {
          _$$_REQUIRE(_dependencyMap[14])("VirtualizedList: You have a large list that is slow to update - make sure your renderItem function renders components that follow React performance best practices like PureComponent, shouldComponentUpdate, etc.", {
            dt: dt,
            prevDt: _this._scrollMetrics.dt,
            contentLength: contentLength
          });

          _this._hasWarned.perf = true;
        }

        _this._scrollMetrics = {
          contentLength: contentLength,
          dt: dt,
          dOffset: dOffset,
          offset: offset,
          timestamp: timestamp,
          velocity: velocity,
          visibleLength: visibleLength
        };

        _this._updateViewableItems(_this.props.data);

        if (!_this.props) {
          return;
        }

        _this._maybeCallOnEndReached();

        if (velocity !== 0) {
          _this._fillRateHelper.activate();
        }

        _this._computeBlankness();

        _this._scheduleCellsToRenderUpdate();
      };

      _this._onScrollBeginDrag = function (e) {
        _this._nestedChildLists.forEach(function (childList) {
          childList.ref && childList.ref._onScrollBeginDrag(e);
        });

        _this._viewabilityTuples.forEach(function (tuple) {
          tuple.viewabilityHelper.recordInteraction();
        });

        _this._hasInteracted = true;
        _this.props.onScrollBeginDrag && _this.props.onScrollBeginDrag(e);
      };

      _this._onScrollEndDrag = function (e) {
        _this._nestedChildLists.forEach(function (childList) {
          childList.ref && childList.ref._onScrollEndDrag(e);
        });

        var velocity = e.nativeEvent.velocity;

        if (velocity) {
          _this._scrollMetrics.velocity = _this._selectOffset(velocity);
        }

        _this._computeBlankness();

        _this.props.onScrollEndDrag && _this.props.onScrollEndDrag(e);
      };

      _this._onMomentumScrollBegin = function (e) {
        _this._nestedChildLists.forEach(function (childList) {
          childList.ref && childList.ref._onMomentumScrollBegin(e);
        });

        _this.props.onMomentumScrollBegin && _this.props.onMomentumScrollBegin(e);
      };

      _this._onMomentumScrollEnd = function (e) {
        _this._nestedChildLists.forEach(function (childList) {
          childList.ref && childList.ref._onMomentumScrollEnd(e);
        });

        _this._scrollMetrics.velocity = 0;

        _this._computeBlankness();

        _this.props.onMomentumScrollEnd && _this.props.onMomentumScrollEnd(e);
      };

      _this._updateCellsToRender = function () {
        var _this$props = _this.props,
            data = _this$props.data,
            getItemCount = _this$props.getItemCount,
            _onEndReachedThreshold = _this$props.onEndReachedThreshold;
        var onEndReachedThreshold = onEndReachedThresholdOrDefault(_onEndReachedThreshold);

        var isVirtualizationDisabled = _this._isVirtualizationDisabled();

        _this._updateViewableItems(data);

        if (!data) {
          return;
        }

        _this.setState(function (state) {
          var newState;
          var _this$_scrollMetrics = _this._scrollMetrics,
              contentLength = _this$_scrollMetrics.contentLength,
              offset = _this$_scrollMetrics.offset,
              visibleLength = _this$_scrollMetrics.visibleLength;

          if (!isVirtualizationDisabled) {
            if (visibleLength > 0 && contentLength > 0) {
              if (!_this.props.initialScrollIndex || _this._scrollMetrics.offset) {
                newState = (0, _$$_REQUIRE(_dependencyMap[15]).computeWindowedRenderLimits)(_this.props.data, _this.props.getItemCount, maxToRenderPerBatchOrDefault(_this.props.maxToRenderPerBatch), windowSizeOrDefault(_this.props.windowSize), state, _this._getFrameMetricsApprox, _this._scrollMetrics);
              }
            }
          } else {
            var distanceFromEnd = contentLength - visibleLength - offset;
            var renderAhead = distanceFromEnd < onEndReachedThreshold * visibleLength ? maxToRenderPerBatchOrDefault(_this.props.maxToRenderPerBatch) : 0;
            newState = {
              first: 0,
              last: Math.min(state.last + renderAhead, getItemCount(data) - 1)
            };
          }

          if (newState && _this._nestedChildLists.size > 0) {
            var newFirst = newState.first;
            var newLast = newState.last;

            for (var ii = newFirst; ii <= newLast; ii++) {
              var cellKeyForIndex = _this._indicesToKeys.get(ii);

              var childListKeys = cellKeyForIndex && _this._cellKeysToChildListKeys.get(cellKeyForIndex);

              if (!childListKeys) {
                continue;
              }

              var someChildHasMore = false;

              for (var _iterator = _createForOfIteratorHelperLoose(childListKeys), _step; !(_step = _iterator()).done;) {
                var childKey = _step.value;

                var childList = _this._nestedChildLists.get(childKey);

                if (childList && childList.ref && childList.ref.hasMore()) {
                  someChildHasMore = true;
                  break;
                }
              }

              if (someChildHasMore) {
                newState.last = ii;
                break;
              }
            }
          }

          if (newState != null && newState.first === state.first && newState.last === state.last) {
            newState = null;
          }

          return newState;
        });
      };

      _this._createViewToken = function (index, isViewable) {
        var _this$props2 = _this.props,
            data = _this$props2.data,
            getItem = _this$props2.getItem;
        var item = getItem(data, index);
        return {
          index: index,
          item: item,
          key: _this._keyExtractor(item, index),
          isViewable: isViewable
        };
      };

      _this._getFrameMetricsApprox = function (index) {
        var frame = _this._getFrameMetrics(index);

        if (frame && frame.index === index) {
          return frame;
        } else {
          var getItemLayout = _this.props.getItemLayout;

          _$$_REQUIRE(_dependencyMap[11])(!getItemLayout, 'Should not have to estimate frames when a measurement metrics function is provided');

          return {
            length: _this._averageCellLength,
            offset: _this._averageCellLength * index
          };
        }
      };

      _this._getFrameMetrics = function (index) {
        var _this$props3 = _this.props,
            data = _this$props3.data,
            getItem = _this$props3.getItem,
            getItemCount = _this$props3.getItemCount,
            getItemLayout = _this$props3.getItemLayout;

        _$$_REQUIRE(_dependencyMap[11])(getItemCount(data) > index, 'Tried to get frame for out of range index ' + index);

        var item = getItem(data, index);

        var frame = item && _this._frames[_this._keyExtractor(item, index)];

        if (!frame || frame.index !== index) {
          if (getItemLayout) {
            frame = getItemLayout(data, index);
          }
        }

        return frame;
      };

      _$$_REQUIRE(_dependencyMap[11])(!_props.onScroll || !_props.onScroll.__isNative, "Components based on VirtualizedList must be wrapped with Animated.createAnimatedComponent to support native onScroll events with useNativeDriver");

      _$$_REQUIRE(_dependencyMap[11])(windowSizeOrDefault(_props.windowSize) > 0, 'VirtualizedList: The windowSize prop must be present and set to a value greater than 0.');

      _this._fillRateHelper = new (_$$_REQUIRE(_dependencyMap[16]))(_this._getFrameMetrics);
      _this._updateCellsToRenderBatcher = new (_$$_REQUIRE(_dependencyMap[17]))(_this._updateCellsToRender, (_this$props$updateCel = _this.props.updateCellsBatchingPeriod) != null ? _this$props$updateCel : 50);

      if (_this.props.viewabilityConfigCallbackPairs) {
        _this._viewabilityTuples = _this.props.viewabilityConfigCallbackPairs.map(function (pair) {
          return {
            viewabilityHelper: new (_$$_REQUIRE(_dependencyMap[18]))(pair.viewabilityConfig),
            onViewableItemsChanged: pair.onViewableItemsChanged
          };
        });
      } else if (_this.props.onViewableItemsChanged) {
        _this._viewabilityTuples.push({
          viewabilityHelper: new (_$$_REQUIRE(_dependencyMap[18]))(_this.props.viewabilityConfig),
          onViewableItemsChanged: _this.props.onViewableItemsChanged
        });
      }

      var initialState = {
        first: _this.props.initialScrollIndex || 0,
        last: Math.min(_this.props.getItemCount(_this.props.data), (_this.props.initialScrollIndex || 0) + initialNumToRenderOrDefault(_this.props.initialNumToRender)) - 1
      };

      if (_this._isNestedWithSameOrientation()) {
        var storedState = _this.context.getNestedChildState(_this._getListKey());

        if (storedState) {
          initialState = storedState;
          _this.state = storedState;
          _this._frames = storedState.frames;
        }
      }

      _this.state = initialState;
      return _this;
    }

    (0, _createClass2.default)(VirtualizedList, [{
      key: "scrollToEnd",
      value: function scrollToEnd(params) {
        var animated = params ? params.animated : true;
        var veryLast = this.props.getItemCount(this.props.data) - 1;

        var frame = this._getFrameMetricsApprox(veryLast);

        var offset = Math.max(0, frame.offset + frame.length + this._footerLength - this._scrollMetrics.visibleLength);

        if (this._scrollRef == null) {
          return;
        }

        if (this._scrollRef.scrollTo == null) {
          console.warn("No scrollTo method provided. This may be because you have two nested VirtualizedLists with the same orientation, or because you are using a custom component that does not implement scrollTo.");
          return;
        }

        this._scrollRef.scrollTo(horizontalOrDefault(this.props.horizontal) ? {
          x: offset,
          animated: animated
        } : {
          y: offset,
          animated: animated
        });
      }
    }, {
      key: "scrollToIndex",
      value: function scrollToIndex(params) {
        var _this$props4 = this.props,
            data = _this$props4.data,
            horizontal = _this$props4.horizontal,
            getItemCount = _this$props4.getItemCount,
            getItemLayout = _this$props4.getItemLayout,
            onScrollToIndexFailed = _this$props4.onScrollToIndexFailed;
        var animated = params.animated,
            index = params.index,
            viewOffset = params.viewOffset,
            viewPosition = params.viewPosition;

        _$$_REQUIRE(_dependencyMap[11])(index >= 0, "scrollToIndex out of range: requested index " + index + " but minimum is 0");

        _$$_REQUIRE(_dependencyMap[11])(getItemCount(data) >= 1, "scrollToIndex out of range: item length " + getItemCount(data) + " but minimum is 1");

        _$$_REQUIRE(_dependencyMap[11])(index < getItemCount(data), "scrollToIndex out of range: requested index " + index + " is out of 0 to " + (getItemCount(data) - 1));

        if (!getItemLayout && index > this._highestMeasuredFrameIndex) {
          _$$_REQUIRE(_dependencyMap[11])(!!onScrollToIndexFailed, "scrollToIndex should be used in conjunction with getItemLayout or onScrollToIndexFailed, otherwise there is no way to know the location of offscreen indices or handle failures.");

          onScrollToIndexFailed({
            averageItemLength: this._averageCellLength,
            highestMeasuredFrameIndex: this._highestMeasuredFrameIndex,
            index: index
          });
          return;
        }

        var frame = this._getFrameMetricsApprox(index);

        var offset = Math.max(0, frame.offset - (viewPosition || 0) * (this._scrollMetrics.visibleLength - frame.length)) - (viewOffset || 0);

        if (this._scrollRef == null) {
          return;
        }

        if (this._scrollRef.scrollTo == null) {
          console.warn("No scrollTo method provided. This may be because you have two nested VirtualizedLists with the same orientation, or because you are using a custom component that does not implement scrollTo.");
          return;
        }

        this._scrollRef.scrollTo(horizontal ? {
          x: offset,
          animated: animated
        } : {
          y: offset,
          animated: animated
        });
      }
    }, {
      key: "scrollToItem",
      value: function scrollToItem(params) {
        var item = params.item;
        var _this$props5 = this.props,
            data = _this$props5.data,
            getItem = _this$props5.getItem,
            getItemCount = _this$props5.getItemCount;
        var itemCount = getItemCount(data);

        for (var _index = 0; _index < itemCount; _index++) {
          if (getItem(data, _index) === item) {
            this.scrollToIndex((0, _extends2.default)({}, params, {
              index: _index
            }));
            break;
          }
        }
      }
    }, {
      key: "scrollToOffset",
      value: function scrollToOffset(params) {
        var animated = params.animated,
            offset = params.offset;

        if (this._scrollRef == null) {
          return;
        }

        if (this._scrollRef.scrollTo == null) {
          console.warn("No scrollTo method provided. This may be because you have two nested VirtualizedLists with the same orientation, or because you are using a custom component that does not implement scrollTo.");
          return;
        }

        this._scrollRef.scrollTo(horizontalOrDefault(this.props.horizontal) ? {
          x: offset,
          animated: animated
        } : {
          y: offset,
          animated: animated
        });
      }
    }, {
      key: "recordInteraction",
      value: function recordInteraction() {
        this._nestedChildLists.forEach(function (childList) {
          childList.ref && childList.ref.recordInteraction();
        });

        this._viewabilityTuples.forEach(function (t) {
          t.viewabilityHelper.recordInteraction();
        });

        this._updateViewableItems(this.props.data);
      }
    }, {
      key: "flashScrollIndicators",
      value: function flashScrollIndicators() {
        if (this._scrollRef == null) {
          return;
        }

        this._scrollRef.flashScrollIndicators();
      }
    }, {
      key: "getScrollResponder",
      value: function getScrollResponder() {
        if (this._scrollRef && this._scrollRef.getScrollResponder) {
          return this._scrollRef.getScrollResponder();
        }
      }
    }, {
      key: "getScrollableNode",
      value: function getScrollableNode() {
        if (this._scrollRef && this._scrollRef.getScrollableNode) {
          return this._scrollRef.getScrollableNode();
        } else {
          return _$$_REQUIRE(_dependencyMap[19]).findNodeHandle(this._scrollRef);
        }
      }
    }, {
      key: "getScrollRef",
      value: function getScrollRef() {
        if (this._scrollRef && this._scrollRef.getScrollRef) {
          return this._scrollRef.getScrollRef();
        } else {
          return this._scrollRef;
        }
      }
    }, {
      key: "setNativeProps",
      value: function setNativeProps(props) {
        if (this._scrollRef) {
          this._scrollRef.setNativeProps(props);
        }
      }
    }, {
      key: "_getCellKey",
      value: function _getCellKey() {
        var _this$context;

        return ((_this$context = this.context) == null ? undefined : _this$context.cellKey) || 'rootList';
      }
    }, {
      key: "_getListKey",
      value: function _getListKey() {
        return this.props.listKey || this._getCellKey();
      }
    }, {
      key: "_getDebugInfo",
      value: function _getDebugInfo() {
        var _this$context2;

        return {
          listKey: this._getListKey(),
          cellKey: this._getCellKey(),
          horizontal: horizontalOrDefault(this.props.horizontal),
          parent: (_this$context2 = this.context) == null ? undefined : _this$context2.debugInfo
        };
      }
    }, {
      key: "hasMore",
      value: function hasMore() {
        return this._hasMore;
      }
    }, {
      key: "componentDidMount",
      value: function componentDidMount() {
        if (this._isNestedWithSameOrientation()) {
          this.context.registerAsNestedChild({
            cellKey: this._getCellKey(),
            key: this._getListKey(),
            ref: this,
            parentDebugInfo: this.context.debugInfo
          });
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        if (this._isNestedWithSameOrientation()) {
          this.context.unregisterAsNestedChild({
            key: this._getListKey(),
            state: {
              first: this.state.first,
              last: this.state.last,
              frames: this._frames
            }
          });
        }

        this._updateViewableItems(null);

        this._updateCellsToRenderBatcher.dispose({
          abort: true
        });

        this._viewabilityTuples.forEach(function (tuple) {
          tuple.viewabilityHelper.dispose();
        });

        this._fillRateHelper.deactivateAndFlush();
      }
    }, {
      key: "_pushCells",
      value: function _pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, first, last, inversionStyle) {
        var _this2 = this;

        var _this$props6 = this.props,
            CellRendererComponent = _this$props6.CellRendererComponent,
            ItemSeparatorComponent = _this$props6.ItemSeparatorComponent,
            data = _this$props6.data,
            getItem = _this$props6.getItem,
            getItemCount = _this$props6.getItemCount,
            horizontal = _this$props6.horizontal;
        var stickyOffset = this.props.ListHeaderComponent ? 1 : 0;
        var end = getItemCount(data) - 1;
        var prevCellKey;
        last = Math.min(end, last);

        var _loop = function _loop(ii) {
          var item = getItem(data, ii);

          var key = _this2._keyExtractor(item, ii);

          _this2._indicesToKeys.set(ii, key);

          if (stickyIndicesFromProps.has(ii + stickyOffset)) {
            stickyHeaderIndices.push(cells.length);
          }

          cells.push(React.createElement(CellRenderer, {
            CellRendererComponent: CellRendererComponent,
            ItemSeparatorComponent: ii < end ? ItemSeparatorComponent : undefined,
            cellKey: key,
            fillRateHelper: _this2._fillRateHelper,
            horizontal: horizontal,
            index: ii,
            inversionStyle: inversionStyle,
            item: item,
            key: key,
            prevCellKey: prevCellKey,
            onUpdateSeparators: _this2._onUpdateSeparators,
            onLayout: function onLayout(e) {
              return _this2._onCellLayout(e, key, ii);
            },
            onUnmount: _this2._onCellUnmount,
            parentProps: _this2.props,
            ref: function ref(_ref) {
              _this2._cellRefs[key] = _ref;
            }
          }));
          prevCellKey = key;
        };

        for (var ii = first; ii <= last; ii++) {
          _loop(ii);
        }
      }
    }, {
      key: "_isVirtualizationDisabled",
      value: function _isVirtualizationDisabled() {
        return this.props.disableVirtualization || false;
      }
    }, {
      key: "_isNestedWithSameOrientation",
      value: function _isNestedWithSameOrientation() {
        var nestedContext = this.context;
        return !!(nestedContext && !!nestedContext.horizontal === horizontalOrDefault(this.props.horizontal));
      }
    }, {
      key: "_keyExtractor",
      value: function _keyExtractor(item, index) {
        if (this.props.keyExtractor != null) {
          return this.props.keyExtractor(item, index);
        }

        var key = (0, _$$_REQUIRE(_dependencyMap[15]).keyExtractor)(item, index);

        if (key === String(index)) {
          _usedIndexForKey = true;

          if (item.type && item.type.displayName) {
            _keylessItemComponentName = item.type.displayName;
          }
        }

        return key;
      }
    }, {
      key: "render",
      value: function render() {
        var _this3 = this;

        var _this$props7 = this.props,
            ListEmptyComponent = _this$props7.ListEmptyComponent,
            ListFooterComponent = _this$props7.ListFooterComponent,
            ListHeaderComponent = _this$props7.ListHeaderComponent;
        var _this$props8 = this.props,
            data = _this$props8.data,
            horizontal = _this$props8.horizontal;

        var isVirtualizationDisabled = this._isVirtualizationDisabled();

        var inversionStyle = this.props.inverted ? horizontalOrDefault(this.props.horizontal) ? styles.horizontallyInverted : styles.verticallyInverted : null;
        var cells = [];
        var stickyIndicesFromProps = new Set(this.props.stickyHeaderIndices);
        var stickyHeaderIndices = [];

        if (ListHeaderComponent) {
          if (stickyIndicesFromProps.has(0)) {
            stickyHeaderIndices.push(0);
          }

          var element = React.isValidElement(ListHeaderComponent) ? ListHeaderComponent : React.createElement(ListHeaderComponent, null);
          cells.push(React.createElement(_$$_REQUIRE(_dependencyMap[20]).VirtualizedListCellContextProvider, {
            cellKey: this._getCellKey() + '-header',
            key: "$header"
          }, React.createElement(_$$_REQUIRE(_dependencyMap[10]), {
            onLayout: this._onLayoutHeader,
            style: _$$_REQUIRE(_dependencyMap[21]).compose(inversionStyle, this.props.ListHeaderComponentStyle)
          }, element)));
        }

        var itemCount = this.props.getItemCount(data);

        if (itemCount > 0) {
          _usedIndexForKey = false;
          _keylessItemComponentName = '';

          var spacerKey = this._getSpacerKey(!horizontal);

          var lastInitialIndex = this.props.initialScrollIndex ? -1 : initialNumToRenderOrDefault(this.props.initialNumToRender) - 1;
          var _this$state = this.state,
              first = _this$state.first,
              last = _this$state.last;

          this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, 0, lastInitialIndex, inversionStyle);

          var firstAfterInitial = Math.max(lastInitialIndex + 1, first);

          if (!isVirtualizationDisabled && first > lastInitialIndex + 1) {
            var insertedStickySpacer = false;

            if (stickyIndicesFromProps.size > 0) {
              var stickyOffset = ListHeaderComponent ? 1 : 0;

              for (var ii = firstAfterInitial - 1; ii > lastInitialIndex; ii--) {
                if (stickyIndicesFromProps.has(ii + stickyOffset)) {
                  var initBlock = this._getFrameMetricsApprox(lastInitialIndex);

                  var stickyBlock = this._getFrameMetricsApprox(ii);

                  var leadSpace = stickyBlock.offset - initBlock.offset - (this.props.initialScrollIndex ? 0 : initBlock.length);
                  cells.push(React.createElement(_$$_REQUIRE(_dependencyMap[10]), {
                    key: "$sticky_lead",
                    style: (0, _defineProperty2.default)({}, spacerKey, leadSpace)
                  }));

                  this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, ii, ii, inversionStyle);

                  var trailSpace = this._getFrameMetricsApprox(first).offset - (stickyBlock.offset + stickyBlock.length);
                  cells.push(React.createElement(_$$_REQUIRE(_dependencyMap[10]), {
                    key: "$sticky_trail",
                    style: (0, _defineProperty2.default)({}, spacerKey, trailSpace)
                  }));
                  insertedStickySpacer = true;
                  break;
                }
              }
            }

            if (!insertedStickySpacer) {
              var _initBlock = this._getFrameMetricsApprox(lastInitialIndex);

              var firstSpace = this._getFrameMetricsApprox(first).offset - (_initBlock.offset + _initBlock.length);

              cells.push(React.createElement(_$$_REQUIRE(_dependencyMap[10]), {
                key: "$lead_spacer",
                style: (0, _defineProperty2.default)({}, spacerKey, firstSpace)
              }));
            }
          }

          this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, firstAfterInitial, last, inversionStyle);

          if (!this._hasWarned.keys && _usedIndexForKey) {
            console.warn("VirtualizedList: missing keys for items, make sure to specify a key or id property on each item or provide a custom keyExtractor.", _keylessItemComponentName);
            this._hasWarned.keys = true;
          }

          if (!isVirtualizationDisabled && last < itemCount - 1) {
            var lastFrame = this._getFrameMetricsApprox(last);

            var end = this.props.getItemLayout ? itemCount - 1 : Math.min(itemCount - 1, this._highestMeasuredFrameIndex);

            var endFrame = this._getFrameMetricsApprox(end);

            var tailSpacerLength = endFrame.offset + endFrame.length - (lastFrame.offset + lastFrame.length);
            cells.push(React.createElement(_$$_REQUIRE(_dependencyMap[10]), {
              key: "$tail_spacer",
              style: (0, _defineProperty2.default)({}, spacerKey, tailSpacerLength)
            }));
          }
        } else if (ListEmptyComponent) {
          var _element = React.isValidElement(ListEmptyComponent) ? ListEmptyComponent : React.createElement(ListEmptyComponent, null);

          cells.push(React.cloneElement(_element, {
            key: '$empty',
            onLayout: function onLayout(event) {
              _this3._onLayoutEmpty(event);

              if (_element.props.onLayout) {
                _element.props.onLayout(event);
              }
            },
            style: _$$_REQUIRE(_dependencyMap[21]).compose(inversionStyle, _element.props.style)
          }));
        }

        if (ListFooterComponent) {
          var _element2 = React.isValidElement(ListFooterComponent) ? ListFooterComponent : React.createElement(ListFooterComponent, null);

          cells.push(React.createElement(_$$_REQUIRE(_dependencyMap[20]).VirtualizedListCellContextProvider, {
            cellKey: this._getFooterCellKey(),
            key: "$footer"
          }, React.createElement(_$$_REQUIRE(_dependencyMap[10]), {
            onLayout: this._onLayoutFooter,
            style: _$$_REQUIRE(_dependencyMap[21]).compose(inversionStyle, this.props.ListFooterComponentStyle)
          }, _element2)));
        }

        var scrollProps = (0, _extends2.default)({}, this.props, {
          onContentSizeChange: this._onContentSizeChange,
          onLayout: this._onLayout,
          onScroll: this._onScroll,
          onScrollBeginDrag: this._onScrollBeginDrag,
          onScrollEndDrag: this._onScrollEndDrag,
          onMomentumScrollBegin: this._onMomentumScrollBegin,
          onMomentumScrollEnd: this._onMomentumScrollEnd,
          scrollEventThrottle: scrollEventThrottleOrDefault(this.props.scrollEventThrottle),
          invertStickyHeaders: this.props.invertStickyHeaders !== undefined ? this.props.invertStickyHeaders : this.props.inverted,
          stickyHeaderIndices: stickyHeaderIndices,
          style: inversionStyle ? [inversionStyle, this.props.style] : this.props.style
        });
        this._hasMore = this.state.last < this.props.getItemCount(this.props.data) - 1;
        var innerRet = React.createElement(_$$_REQUIRE(_dependencyMap[20]).VirtualizedListContextProvider, {
          value: {
            cellKey: null,
            getScrollMetrics: this._getScrollMetrics,
            horizontal: horizontalOrDefault(this.props.horizontal),
            getOutermostParentListRef: this._getOutermostParentListRef,
            getNestedChildState: this._getNestedChildState,
            registerAsNestedChild: this._registerAsNestedChild,
            unregisterAsNestedChild: this._unregisterAsNestedChild,
            debugInfo: this._getDebugInfo()
          }
        }, React.cloneElement((this.props.renderScrollComponent || this._defaultRenderScrollComponent)(scrollProps), {
          ref: this._captureScrollRef
        }, cells));
        var ret = innerRet;

        if (this.props.debug) {
          return React.createElement(_$$_REQUIRE(_dependencyMap[10]), {
            style: styles.debug
          }, ret, this._renderDebugOverlay());
        } else {
          return ret;
        }
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps) {
        var _this$props9 = this.props,
            data = _this$props9.data,
            extraData = _this$props9.extraData;

        if (data !== prevProps.data || extraData !== prevProps.extraData) {
          this._viewabilityTuples.forEach(function (tuple) {
            tuple.viewabilityHelper.resetViewableIndices();
          });
        }

        var hiPriInProgress = this._hiPriInProgress;

        this._scheduleCellsToRenderUpdate();

        if (hiPriInProgress) {
          this._hiPriInProgress = false;
        }
      }
    }, {
      key: "_computeBlankness",
      value: function _computeBlankness() {
        this._fillRateHelper.computeBlankness(this.props, this.state, this._scrollMetrics);
      }
    }, {
      key: "_onCellLayout",
      value: function _onCellLayout(e, cellKey, index) {
        var layout = e.nativeEvent.layout;
        var next = {
          offset: this._selectOffset(layout),
          length: this._selectLength(layout),
          index: index,
          inLayout: true
        };
        var curr = this._frames[cellKey];

        if (!curr || next.offset !== curr.offset || next.length !== curr.length || index !== curr.index) {
          this._totalCellLength += next.length - (curr ? curr.length : 0);
          this._totalCellsMeasured += curr ? 0 : 1;
          this._averageCellLength = this._totalCellLength / this._totalCellsMeasured;
          this._frames[cellKey] = next;
          this._highestMeasuredFrameIndex = Math.max(this._highestMeasuredFrameIndex, index);

          this._scheduleCellsToRenderUpdate();
        } else {
          this._frames[cellKey].inLayout = true;
        }

        this._triggerRemeasureForChildListsInCell(cellKey);

        this._computeBlankness();

        this._updateViewableItems(this.props.data);
      }
    }, {
      key: "_triggerRemeasureForChildListsInCell",
      value: function _triggerRemeasureForChildListsInCell(cellKey) {
        var childListKeys = this._cellKeysToChildListKeys.get(cellKey);

        if (childListKeys) {
          for (var _iterator2 = _createForOfIteratorHelperLoose(childListKeys), _step2; !(_step2 = _iterator2()).done;) {
            var childKey = _step2.value;

            var childList = this._nestedChildLists.get(childKey);

            childList && childList.ref && childList.ref.measureLayoutRelativeToContainingList();
          }
        }
      }
    }, {
      key: "measureLayoutRelativeToContainingList",
      value: function measureLayoutRelativeToContainingList() {
        var _this4 = this;

        try {
          if (!this._scrollRef) {
            return;
          }

          this._scrollRef.measureLayout(this.context.getOutermostParentListRef().getScrollRef(), function (x, y, width, height) {
            _this4._offsetFromParentVirtualizedList = _this4._selectOffset({
              x: x,
              y: y
            });
            _this4._scrollMetrics.contentLength = _this4._selectLength({
              width: width,
              height: height
            });

            var scrollMetrics = _this4._convertParentScrollMetrics(_this4.context.getScrollMetrics());

            var metricsChanged = _this4._scrollMetrics.visibleLength !== scrollMetrics.visibleLength || _this4._scrollMetrics.offset !== scrollMetrics.offset;

            if (metricsChanged) {
              _this4._scrollMetrics.visibleLength = scrollMetrics.visibleLength;
              _this4._scrollMetrics.offset = scrollMetrics.offset;

              _this4._cellKeysToChildListKeys.forEach(function (childListKeys) {
                if (childListKeys) {
                  for (var _iterator3 = _createForOfIteratorHelperLoose(childListKeys), _step3; !(_step3 = _iterator3()).done;) {
                    var childKey = _step3.value;

                    var childList = _this4._nestedChildLists.get(childKey);

                    childList && childList.ref && childList.ref.measureLayoutRelativeToContainingList();
                  }
                }
              });
            }
          }, function (error) {
            console.warn("VirtualizedList: Encountered an error while measuring a list's offset from its containing VirtualizedList.");
          });
        } catch (error) {
          console.warn('measureLayoutRelativeToContainingList threw an error', error.stack);
        }
      }
    }, {
      key: "_getFooterCellKey",
      value: function _getFooterCellKey() {
        return this._getCellKey() + '-footer';
      }
    }, {
      key: "_renderDebugOverlay",
      value: function _renderDebugOverlay() {
        var normalize = this._scrollMetrics.visibleLength / (this._scrollMetrics.contentLength || 1);
        var framesInLayout = [];
        var itemCount = this.props.getItemCount(this.props.data);

        for (var ii = 0; ii < itemCount; ii++) {
          var frame = this._getFrameMetricsApprox(ii);

          if (frame.inLayout) {
            framesInLayout.push(frame);
          }
        }

        var windowTop = this._getFrameMetricsApprox(this.state.first).offset;

        var frameLast = this._getFrameMetricsApprox(this.state.last);

        var windowLen = frameLast.offset + frameLast.length - windowTop;
        var visTop = this._scrollMetrics.offset;
        var visLen = this._scrollMetrics.visibleLength;
        return React.createElement(_$$_REQUIRE(_dependencyMap[10]), {
          style: [styles.debugOverlayBase, styles.debugOverlay]
        }, framesInLayout.map(function (f, ii) {
          return React.createElement(_$$_REQUIRE(_dependencyMap[10]), {
            key: 'f' + ii,
            style: [styles.debugOverlayBase, styles.debugOverlayFrame, {
              top: f.offset * normalize,
              height: f.length * normalize
            }]
          });
        }), React.createElement(_$$_REQUIRE(_dependencyMap[10]), {
          style: [styles.debugOverlayBase, styles.debugOverlayFrameLast, {
            top: windowTop * normalize,
            height: windowLen * normalize
          }]
        }), React.createElement(_$$_REQUIRE(_dependencyMap[10]), {
          style: [styles.debugOverlayBase, styles.debugOverlayFrameVis, {
            top: visTop * normalize,
            height: visLen * normalize
          }]
        }));
      }
    }, {
      key: "_selectLength",
      value: function _selectLength(metrics) {
        return !horizontalOrDefault(this.props.horizontal) ? metrics.height : metrics.width;
      }
    }, {
      key: "_selectOffset",
      value: function _selectOffset(metrics) {
        return !horizontalOrDefault(this.props.horizontal) ? metrics.y : metrics.x;
      }
    }, {
      key: "_maybeCallOnEndReached",
      value: function _maybeCallOnEndReached() {
        var _this$props10 = this.props,
            data = _this$props10.data,
            getItemCount = _this$props10.getItemCount,
            onEndReached = _this$props10.onEndReached,
            onEndReachedThreshold = _this$props10.onEndReachedThreshold;
        var _this$_scrollMetrics2 = this._scrollMetrics,
            contentLength = _this$_scrollMetrics2.contentLength,
            visibleLength = _this$_scrollMetrics2.visibleLength,
            offset = _this$_scrollMetrics2.offset;
        var distanceFromEnd = contentLength - visibleLength - offset;
        var threshold = onEndReachedThreshold != null ? onEndReachedThreshold * visibleLength : 2;

        if (onEndReached && this.state.last === getItemCount(data) - 1 && distanceFromEnd < threshold && this._scrollMetrics.contentLength !== this._sentEndForContentLength) {
          this._sentEndForContentLength = this._scrollMetrics.contentLength;
          onEndReached({
            distanceFromEnd: distanceFromEnd
          });
        } else if (distanceFromEnd > threshold) {
          this._sentEndForContentLength = 0;
        }
      }
    }, {
      key: "_scheduleCellsToRenderUpdate",
      value: function _scheduleCellsToRenderUpdate() {
        var _this$state2 = this.state,
            first = _this$state2.first,
            last = _this$state2.last;
        var _this$_scrollMetrics3 = this._scrollMetrics,
            offset = _this$_scrollMetrics3.offset,
            visibleLength = _this$_scrollMetrics3.visibleLength,
            velocity = _this$_scrollMetrics3.velocity;
        var itemCount = this.props.getItemCount(this.props.data);
        var hiPri = false;
        var onEndReachedThreshold = onEndReachedThresholdOrDefault(this.props.onEndReachedThreshold);
        var scrollingThreshold = onEndReachedThreshold * visibleLength / 2;

        if (first > 0) {
          var distTop = offset - this._getFrameMetricsApprox(first).offset;

          hiPri = hiPri || distTop < 0 || velocity < -2 && distTop < scrollingThreshold;
        }

        if (last < itemCount - 1) {
          var distBottom = this._getFrameMetricsApprox(last).offset - (offset + visibleLength);
          hiPri = hiPri || distBottom < 0 || velocity > 2 && distBottom < scrollingThreshold;
        }

        if (hiPri && (this._averageCellLength || this.props.getItemLayout) && !this._hiPriInProgress) {
          this._hiPriInProgress = true;

          this._updateCellsToRenderBatcher.dispose({
            abort: true
          });

          this._updateCellsToRender();

          return;
        } else {
          this._updateCellsToRenderBatcher.schedule();
        }
      }
    }, {
      key: "_updateViewableItems",
      value: function _updateViewableItems(data) {
        var _this5 = this;

        var getItemCount = this.props.getItemCount;

        this._viewabilityTuples.forEach(function (tuple) {
          tuple.viewabilityHelper.onUpdate(getItemCount(data), _this5._scrollMetrics.offset, _this5._scrollMetrics.visibleLength, _this5._getFrameMetrics, _this5._createViewToken, tuple.onViewableItemsChanged, _this5.state);
        });
      }
    }], [{
      key: "getDerivedStateFromProps",
      value: function getDerivedStateFromProps(newProps, prevState) {
        var data = newProps.data,
            getItemCount = newProps.getItemCount;
        var maxToRenderPerBatch = maxToRenderPerBatchOrDefault(newProps.maxToRenderPerBatch);
        return {
          first: Math.max(0, Math.min(prevState.first, getItemCount(data) - 1 - maxToRenderPerBatch)),
          last: Math.max(0, Math.min(prevState.last, getItemCount(data) - 1))
        };
      }
    }]);
    return VirtualizedList;
  }(React.PureComponent);

  VirtualizedList.contextType = _$$_REQUIRE(_dependencyMap[20]).VirtualizedListContext;

  var CellRenderer = function (_React$Component) {
    (0, _inherits2.default)(CellRenderer, _React$Component);

    var _super2 = _createSuper(CellRenderer);

    function CellRenderer() {
      var _this6;

      (0, _classCallCheck2.default)(this, CellRenderer);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this6 = _super2.call.apply(_super2, [this].concat(args));
      _this6.state = {
        separatorProps: {
          highlighted: false,
          leadingItem: _this6.props.item
        }
      };
      _this6._separators = {
        highlight: function highlight() {
          var _this6$props = _this6.props,
              cellKey = _this6$props.cellKey,
              prevCellKey = _this6$props.prevCellKey;

          _this6.props.onUpdateSeparators([cellKey, prevCellKey], {
            highlighted: true
          });
        },
        unhighlight: function unhighlight() {
          var _this6$props2 = _this6.props,
              cellKey = _this6$props2.cellKey,
              prevCellKey = _this6$props2.prevCellKey;

          _this6.props.onUpdateSeparators([cellKey, prevCellKey], {
            highlighted: false
          });
        },
        updateProps: function updateProps(select, newProps) {
          var _this6$props3 = _this6.props,
              cellKey = _this6$props3.cellKey,
              prevCellKey = _this6$props3.prevCellKey;

          _this6.props.onUpdateSeparators([select === 'leading' ? prevCellKey : cellKey], newProps);
        }
      };
      return _this6;
    }

    (0, _createClass2.default)(CellRenderer, [{
      key: "updateSeparatorProps",
      value: function updateSeparatorProps(newProps) {
        this.setState(function (state) {
          return {
            separatorProps: (0, _extends2.default)({}, state.separatorProps, newProps)
          };
        });
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this.props.onUnmount(this.props.cellKey);
      }
    }, {
      key: "_renderElement",
      value: function _renderElement(renderItem, ListItemComponent, item, index) {
        if (renderItem && ListItemComponent) {
          console.warn("VirtualizedList: Both ListItemComponent and renderItem props are present. ListItemComponent will take precedence over renderItem.");
        }

        if (ListItemComponent) {
          return React.createElement(ListItemComponent, {
            item: item,
            index: index,
            separators: this._separators
          });
        }

        if (renderItem) {
          return renderItem({
            item: item,
            index: index,
            separators: this._separators
          });
        }

        _$$_REQUIRE(_dependencyMap[11])(false, 'VirtualizedList: Either ListItemComponent or renderItem props are required but none were found.');
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props11 = this.props,
            CellRendererComponent = _this$props11.CellRendererComponent,
            ItemSeparatorComponent = _this$props11.ItemSeparatorComponent,
            fillRateHelper = _this$props11.fillRateHelper,
            horizontal = _this$props11.horizontal,
            item = _this$props11.item,
            index = _this$props11.index,
            inversionStyle = _this$props11.inversionStyle,
            parentProps = _this$props11.parentProps;
        var renderItem = parentProps.renderItem,
            getItemLayout = parentProps.getItemLayout,
            ListItemComponent = parentProps.ListItemComponent;

        var element = this._renderElement(renderItem, ListItemComponent, item, index);

        var onLayout = getItemLayout && !parentProps.debug && !fillRateHelper.enabled() ? undefined : this.props.onLayout;
        var itemSeparator = ItemSeparatorComponent && React.createElement(ItemSeparatorComponent, this.state.separatorProps);
        var cellStyle = inversionStyle ? horizontal ? [styles.rowReverse, inversionStyle] : [styles.columnReverse, inversionStyle] : horizontal ? [styles.row, inversionStyle] : inversionStyle;
        var result = !CellRendererComponent ? React.createElement(_$$_REQUIRE(_dependencyMap[10]), {
          style: cellStyle,
          onLayout: onLayout
        }, element, itemSeparator) : React.createElement(CellRendererComponent, (0, _extends2.default)({}, this.props, {
          style: cellStyle,
          onLayout: onLayout
        }), element, itemSeparator);
        return React.createElement(_$$_REQUIRE(_dependencyMap[20]).VirtualizedListCellContextProvider, {
          cellKey: this.props.cellKey
        }, result);
      }
    }], [{
      key: "getDerivedStateFromProps",
      value: function getDerivedStateFromProps(props, prevState) {
        return {
          separatorProps: (0, _extends2.default)({}, prevState.separatorProps, {
            leadingItem: props.item
          })
        };
      }
    }]);
    return CellRenderer;
  }(React.Component);

  function describeNestedLists(childList) {
    var trace = 'VirtualizedList trace:\n' + ("  Child (" + (childList.horizontal ? 'horizontal' : 'vertical') + "):\n") + ("    listKey: " + childList.key + "\n") + ("    cellKey: " + childList.cellKey);
    var debugInfo = childList.parentDebugInfo;

    while (debugInfo) {
      trace += "\n  Parent (" + (debugInfo.horizontal ? 'horizontal' : 'vertical') + "):\n" + ("    listKey: " + debugInfo.listKey + "\n") + ("    cellKey: " + debugInfo.cellKey);
      debugInfo = debugInfo.parent;
    }

    return trace;
  }

  var styles = _$$_REQUIRE(_dependencyMap[21]).create({
    verticallyInverted: {
      transform: [{
        scaleY: -1
      }]
    },
    horizontallyInverted: {
      transform: [{
        scaleX: -1
      }]
    },
    row: {
      flexDirection: 'row'
    },
    rowReverse: {
      flexDirection: 'row-reverse'
    },
    columnReverse: {
      flexDirection: 'column-reverse'
    },
    debug: {
      flex: 1
    },
    debugOverlayBase: {
      position: 'absolute',
      top: 0,
      right: 0
    },
    debugOverlay: {
      bottom: 0,
      width: 20,
      borderColor: 'blue',
      borderWidth: 1
    },
    debugOverlayFrame: {
      left: 0,
      backgroundColor: 'orange'
    },
    debugOverlayFrameLast: {
      left: 0,
      borderColor: 'green',
      borderWidth: 2
    },
    debugOverlayFrameVis: {
      left: 0,
      borderColor: 'red',
      borderWidth: 2
    }
  });

  module.exports = VirtualizedList;
},258,[5,27,6,7,8,15,12,14,16,17,184,36,259,275,278,257,279,280,281,54,282,183]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _AnimatedImplementation = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _Dimensions = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[12]));

  var _ReactNative = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _ScrollViewStickyHeader = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _StyleSheet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _View = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _UIManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _Keyboard = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _FrameRateLogger = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _TextInputState = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _dismissKeyboard = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _flattenStyle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[23]));

  var _processDecelerationRate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[24]));

  var _splitLayoutProps2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[25]));

  var _setAndForwardRef = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[26]));

  var _ScrollViewContext = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[27]));

  var _ScrollViewCommands = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[28]));

  var _AndroidHorizontalScrollContentViewNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[29]));

  var _AndroidHorizontalScrollViewNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[30]));

  var _ScrollContentViewNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[31]));

  var _ScrollViewNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[32]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  _$$_REQUIRE(_dependencyMap[13]);

  var _ref = _Platform.default.OS === 'android' ? {
    NativeHorizontalScrollViewTuple: [_AndroidHorizontalScrollViewNativeComponent.default, _AndroidHorizontalScrollContentViewNativeComponent.default],
    NativeVerticalScrollViewTuple: [_ScrollViewNativeComponent.default, _View.default]
  } : {
    NativeHorizontalScrollViewTuple: [_ScrollViewNativeComponent.default, _ScrollContentViewNativeComponent.default],
    NativeVerticalScrollViewTuple: [_ScrollViewNativeComponent.default, _ScrollContentViewNativeComponent.default]
  },
      NativeHorizontalScrollViewTuple = _ref.NativeHorizontalScrollViewTuple,
      NativeVerticalScrollViewTuple = _ref.NativeVerticalScrollViewTuple;

  var IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16;

  var ScrollView = function (_React$Component) {
    (0, _inherits2.default)(ScrollView, _React$Component);

    var _super = _createSuper(ScrollView);

    function ScrollView(props) {
      var _this$props$contentOf, _this$props$contentOf2, _this$props$contentIn, _this$props$contentIn2;

      var _this;

      (0, _classCallCheck2.default)(this, ScrollView);
      _this = _super.call(this, props);
      _this._scrollAnimatedValueAttachment = null;
      _this._stickyHeaderRefs = new Map();
      _this._headerLayoutYs = new Map();
      _this._keyboardWillOpenTo = null;
      _this._additionalScrollOffset = 0;
      _this._isTouching = false;
      _this._lastMomentumScrollBeginTime = 0;
      _this._lastMomentumScrollEndTime = 0;
      _this._observedScrollSinceBecomingResponder = false;
      _this._becameResponderWhileAnimating = false;
      _this._preventNegativeScrollOffset = null;
      _this._animated = null;
      _this._subscriptionKeyboardWillShow = null;
      _this._subscriptionKeyboardWillHide = null;
      _this._subscriptionKeyboardDidShow = null;
      _this._subscriptionKeyboardDidHide = null;
      _this.state = {
        layoutHeight: null
      };
      _this._setNativeRef = (0, _setAndForwardRef.default)({
        getForwardedRef: function getForwardedRef() {
          return _this.props.scrollViewRef;
        },
        setLocalRef: function setLocalRef(ref) {
          _this._scrollViewRef = ref;

          if (ref) {
            ref.getScrollResponder = _this.getScrollResponder;
            ref.getScrollableNode = _this.getScrollableNode;
            ref.getInnerViewNode = _this.getInnerViewNode;
            ref.getInnerViewRef = _this.getInnerViewRef;
            ref.getNativeScrollRef = _this.getNativeScrollRef;
            ref.scrollTo = _this.scrollTo;
            ref.scrollToEnd = _this.scrollToEnd;
            ref.flashScrollIndicators = _this.flashScrollIndicators;
            ref.scrollResponderZoomTo = _this.scrollResponderZoomTo;
            ref.scrollResponderScrollNativeHandleToKeyboard = _this.scrollResponderScrollNativeHandleToKeyboard;
          }
        }
      });

      _this.getScrollResponder = function () {
        return (0, _assertThisInitialized2.default)(_this);
      };

      _this.getScrollableNode = function () {
        return _ReactNative.default.findNodeHandle(_this._scrollViewRef);
      };

      _this.getInnerViewNode = function () {
        return _ReactNative.default.findNodeHandle(_this._innerViewRef);
      };

      _this.getInnerViewRef = function () {
        return _this._innerViewRef;
      };

      _this.getNativeScrollRef = function () {
        return _this._scrollViewRef;
      };

      _this.scrollTo = function (options, deprecatedX, deprecatedAnimated) {
        var x, y, animated;

        if (typeof options === 'number') {
          console.warn("`scrollTo(y, x, animated)` is deprecated. Use `scrollTo({x: 5, y: 5, animated: true})` instead.");
          y = options;
          x = deprecatedX;
          animated = deprecatedAnimated;
        } else if (options) {
          y = options.y;
          x = options.x;
          animated = options.animated;
        }

        if (_this._scrollViewRef == null) {
          return;
        }

        _ScrollViewCommands.default.scrollTo(_this._scrollViewRef, x || 0, y || 0, animated !== false);
      };

      _this.scrollToEnd = function (options) {
        var animated = (options && options.animated) !== false;

        if (_this._scrollViewRef == null) {
          return;
        }

        _ScrollViewCommands.default.scrollToEnd(_this._scrollViewRef, animated);
      };

      _this.flashScrollIndicators = function () {
        if (_this._scrollViewRef == null) {
          return;
        }

        _ScrollViewCommands.default.flashScrollIndicators(_this._scrollViewRef);
      };

      _this.scrollResponderScrollNativeHandleToKeyboard = function (nodeHandle, additionalOffset, preventNegativeScrollOffset) {
        _this._additionalScrollOffset = additionalOffset || 0;
        _this._preventNegativeScrollOffset = !!preventNegativeScrollOffset;

        if (_this._innerViewRef == null) {
          return;
        }

        if (typeof nodeHandle === 'number') {
          _UIManager.default.measureLayout(nodeHandle, _ReactNative.default.findNodeHandle((0, _assertThisInitialized2.default)(_this)), _this._textInputFocusError, _this._inputMeasureAndScrollToKeyboard);
        } else {
          nodeHandle.measureLayout(_this._innerViewRef, _this._inputMeasureAndScrollToKeyboard, _this._textInputFocusError);
        }
      };

      _this.scrollResponderZoomTo = function (rect, animated) {
        (0, _invariant.default)(_Platform.default.OS === 'ios', 'zoomToRect is not implemented');

        if ('animated' in rect) {
          _this._animated = rect.animated;
          delete rect.animated;
        } else if (typeof animated !== 'undefined') {
          console.warn('`scrollResponderZoomTo` `animated` argument is deprecated. Use `options.animated` instead');
        }

        if (_this._scrollViewRef == null) {
          return;
        }

        _ScrollViewCommands.default.zoomToRect(_this._scrollViewRef, rect, animated !== false);
      };

      _this._inputMeasureAndScrollToKeyboard = function (left, top, width, height) {
        var keyboardScreenY = _Dimensions.default.get('window').height;

        var scrollTextInputIntoVisibleRect = function scrollTextInputIntoVisibleRect() {
          if (_this._keyboardWillOpenTo != null) {
            keyboardScreenY = _this._keyboardWillOpenTo.endCoordinates.screenY;
          }

          var scrollOffsetY = top - keyboardScreenY + height + _this._additionalScrollOffset;

          if (_this._preventNegativeScrollOffset === true) {
            scrollOffsetY = Math.max(0, scrollOffsetY);
          }

          _this.scrollTo({
            x: 0,
            y: scrollOffsetY,
            animated: true
          });

          _this._additionalScrollOffset = 0;
          _this._preventNegativeScrollOffset = false;
        };

        if (_this._keyboardWillOpenTo == null) {
          setTimeout(function () {
            scrollTextInputIntoVisibleRect();
          }, 0);
        } else {
          scrollTextInputIntoVisibleRect();
        }
      };

      _this._handleScroll = function (e) {
        _this._observedScrollSinceBecomingResponder = true;
        _this.props.onScroll && _this.props.onScroll(e);
      };

      _this._handleLayout = function (e) {
        if (_this.props.invertStickyHeaders === true) {
          _this.setState({
            layoutHeight: e.nativeEvent.layout.height
          });
        }

        if (_this.props.onLayout) {
          _this.props.onLayout(e);
        }
      };

      _this._handleContentOnLayout = function (e) {
        var _e$nativeEvent$layout = e.nativeEvent.layout,
            width = _e$nativeEvent$layout.width,
            height = _e$nativeEvent$layout.height;
        _this.props.onContentSizeChange && _this.props.onContentSizeChange(width, height);
      };

      _this._scrollViewRef = null;
      _this._innerViewRef = null;
      _this._setInnerViewRef = (0, _setAndForwardRef.default)({
        getForwardedRef: function getForwardedRef() {
          return _this.props.innerViewRef;
        },
        setLocalRef: function setLocalRef(ref) {
          _this._innerViewRef = ref;
        }
      });

      _this.scrollResponderKeyboardWillShow = function (e) {
        _this._keyboardWillOpenTo = e;
        _this.props.onKeyboardWillShow && _this.props.onKeyboardWillShow(e);
      };

      _this.scrollResponderKeyboardWillHide = function (e) {
        _this._keyboardWillOpenTo = null;
        _this.props.onKeyboardWillHide && _this.props.onKeyboardWillHide(e);
      };

      _this.scrollResponderKeyboardDidShow = function (e) {
        if (e) {
          _this._keyboardWillOpenTo = e;
        }

        _this.props.onKeyboardDidShow && _this.props.onKeyboardDidShow(e);
      };

      _this.scrollResponderKeyboardDidHide = function (e) {
        _this._keyboardWillOpenTo = null;
        _this.props.onKeyboardDidHide && _this.props.onKeyboardDidHide(e);
      };

      _this._handleMomentumScrollBegin = function (e) {
        _this._lastMomentumScrollBeginTime = global.performance.now();
        _this.props.onMomentumScrollBegin && _this.props.onMomentumScrollBegin(e);
      };

      _this._handleMomentumScrollEnd = function (e) {
        _FrameRateLogger.default.endScroll();

        _this._lastMomentumScrollEndTime = global.performance.now();
        _this.props.onMomentumScrollEnd && _this.props.onMomentumScrollEnd(e);
      };

      _this._handleScrollBeginDrag = function (e) {
        _FrameRateLogger.default.beginScroll();

        if (_Platform.default.OS === 'android' && _this.props.keyboardDismissMode === 'on-drag') {
          (0, _dismissKeyboard.default)();
        }

        _this.props.onScrollBeginDrag && _this.props.onScrollBeginDrag(e);
      };

      _this._handleScrollEndDrag = function (e) {
        var velocity = e.nativeEvent.velocity;

        if (!_this._isAnimating() && (!velocity || velocity.x === 0 && velocity.y === 0)) {
          _FrameRateLogger.default.endScroll();
        }

        _this.props.onScrollEndDrag && _this.props.onScrollEndDrag(e);
      };

      _this._isAnimating = function () {
        var now = global.performance.now();
        var timeSinceLastMomentumScrollEnd = now - _this._lastMomentumScrollEndTime;
        var isAnimating = timeSinceLastMomentumScrollEnd < IS_ANIMATING_TOUCH_START_THRESHOLD_MS || _this._lastMomentumScrollEndTime < _this._lastMomentumScrollBeginTime;
        return isAnimating;
      };

      _this._handleResponderGrant = function (e) {
        _this._observedScrollSinceBecomingResponder = false;
        _this.props.onResponderGrant && _this.props.onResponderGrant(e);
        _this._becameResponderWhileAnimating = _this._isAnimating();
      };

      _this._handleResponderReject = function () {};

      _this._handleResponderRelease = function (e) {
        _this._isTouching = e.nativeEvent.touches.length !== 0;
        _this.props.onResponderRelease && _this.props.onResponderRelease(e);

        if (typeof e.target === 'number') {
          return;
        }

        var currentlyFocusedTextInput = _TextInputState.default.currentlyFocusedInput();

        if (_this.props.keyboardShouldPersistTaps !== true && _this.props.keyboardShouldPersistTaps !== 'always' && _this._keyboardIsDismissible() && e.target !== currentlyFocusedTextInput && !_this._observedScrollSinceBecomingResponder && !_this._becameResponderWhileAnimating) {
          _TextInputState.default.blurTextInput(currentlyFocusedTextInput);
        }
      };

      _this._handleResponderTerminationRequest = function () {
        return !_this._observedScrollSinceBecomingResponder;
      };

      _this._handleScrollShouldSetResponder = function () {
        if (_this.props.disableScrollViewPanResponder === true) {
          return false;
        }

        return _this._isTouching;
      };

      _this._handleStartShouldSetResponder = function (e) {
        if (_this.props.disableScrollViewPanResponder === true) {
          return false;
        }

        var currentlyFocusedInput = _TextInputState.default.currentlyFocusedInput();

        if (_this.props.keyboardShouldPersistTaps === 'handled' && _this._keyboardIsDismissible() && e.target !== currentlyFocusedInput) {
          return true;
        }

        return false;
      };

      _this._handleStartShouldSetResponderCapture = function (e) {
        if (_this._isAnimating()) {
          return true;
        }

        if (_this.props.disableScrollViewPanResponder === true) {
          return false;
        }

        var keyboardShouldPersistTaps = _this.props.keyboardShouldPersistTaps;
        var keyboardNeverPersistTaps = !keyboardShouldPersistTaps || keyboardShouldPersistTaps === 'never';

        if (typeof e.target === 'number') {
          return false;
        }

        if (keyboardNeverPersistTaps && _this._keyboardIsDismissible() && e.target != null && !_TextInputState.default.isTextInput(e.target)) {
          return true;
        }

        return false;
      };

      _this._keyboardIsDismissible = function () {
        var currentlyFocusedInput = _TextInputState.default.currentlyFocusedInput();

        var hasFocusedTextInput = currentlyFocusedInput != null && _TextInputState.default.isTextInput(currentlyFocusedInput);

        var softKeyboardMayBeOpen = _this._keyboardWillOpenTo != null || _Platform.default.OS === 'android';
        return hasFocusedTextInput && softKeyboardMayBeOpen;
      };

      _this._handleTouchEnd = function (e) {
        var nativeEvent = e.nativeEvent;
        _this._isTouching = nativeEvent.touches.length !== 0;
        _this.props.onTouchEnd && _this.props.onTouchEnd(e);
      };

      _this._handleTouchCancel = function (e) {
        _this._isTouching = false;
        _this.props.onTouchCancel && _this.props.onTouchCancel(e);
      };

      _this._handleTouchStart = function (e) {
        _this._isTouching = true;
        _this.props.onTouchStart && _this.props.onTouchStart(e);
      };

      _this._handleTouchMove = function (e) {
        _this.props.onTouchMove && _this.props.onTouchMove(e);
      };

      _this._scrollAnimatedValue = new _AnimatedImplementation.default.Value((_this$props$contentOf = (_this$props$contentOf2 = _this.props.contentOffset) == null ? undefined : _this$props$contentOf2.y) != null ? _this$props$contentOf : 0);

      _this._scrollAnimatedValue.setOffset((_this$props$contentIn = (_this$props$contentIn2 = _this.props.contentInset) == null ? undefined : _this$props$contentIn2.top) != null ? _this$props$contentIn : 0);

      return _this;
    }

    (0, _createClass2.default)(ScrollView, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        if (typeof this.props.keyboardShouldPersistTaps === 'boolean') {
          console.warn("'keyboardShouldPersistTaps={" + (this.props.keyboardShouldPersistTaps === true ? 'true' : 'false') + "}' is deprecated. " + ("Use 'keyboardShouldPersistTaps=\"" + (this.props.keyboardShouldPersistTaps ? 'always' : 'never') + "\"' instead"));
        }

        this._keyboardWillOpenTo = null;
        this._additionalScrollOffset = 0;
        this._subscriptionKeyboardWillShow = _Keyboard.default.addListener('keyboardWillShow', this.scrollResponderKeyboardWillShow);
        this._subscriptionKeyboardWillHide = _Keyboard.default.addListener('keyboardWillHide', this.scrollResponderKeyboardWillHide);
        this._subscriptionKeyboardDidShow = _Keyboard.default.addListener('keyboardDidShow', this.scrollResponderKeyboardDidShow);
        this._subscriptionKeyboardDidHide = _Keyboard.default.addListener('keyboardDidHide', this.scrollResponderKeyboardDidHide);

        this._updateAnimatedNodeAttachment();
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps) {
        var prevContentInsetTop = prevProps.contentInset ? prevProps.contentInset.top : 0;
        var newContentInsetTop = this.props.contentInset ? this.props.contentInset.top : 0;

        if (prevContentInsetTop !== newContentInsetTop) {
          this._scrollAnimatedValue.setOffset(newContentInsetTop || 0);
        }

        this._updateAnimatedNodeAttachment();
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        if (this._subscriptionKeyboardWillShow != null) {
          this._subscriptionKeyboardWillShow.remove();
        }

        if (this._subscriptionKeyboardWillHide != null) {
          this._subscriptionKeyboardWillHide.remove();
        }

        if (this._subscriptionKeyboardDidShow != null) {
          this._subscriptionKeyboardDidShow.remove();
        }

        if (this._subscriptionKeyboardDidHide != null) {
          this._subscriptionKeyboardDidHide.remove();
        }

        if (this._scrollAnimatedValueAttachment) {
          this._scrollAnimatedValueAttachment.detach();
        }
      }
    }, {
      key: "_textInputFocusError",
      value: function _textInputFocusError() {
        console.warn('Error measuring text field.');
      }
    }, {
      key: "_getKeyForIndex",
      value: function _getKeyForIndex(index, childArray) {
        var child = childArray[index];
        return child && child.key;
      }
    }, {
      key: "_updateAnimatedNodeAttachment",
      value: function _updateAnimatedNodeAttachment() {
        if (this._scrollAnimatedValueAttachment) {
          this._scrollAnimatedValueAttachment.detach();
        }

        if (this.props.stickyHeaderIndices && this.props.stickyHeaderIndices.length > 0) {
          this._scrollAnimatedValueAttachment = _AnimatedImplementation.default.attachNativeEvent(this._scrollViewRef, 'onScroll', [{
            nativeEvent: {
              contentOffset: {
                y: this._scrollAnimatedValue
              }
            }
          }]);
        }
      }
    }, {
      key: "_setStickyHeaderRef",
      value: function _setStickyHeaderRef(key, ref) {
        if (ref) {
          this._stickyHeaderRefs.set(key, ref);
        } else {
          this._stickyHeaderRefs.delete(key);
        }
      }
    }, {
      key: "_onStickyHeaderLayout",
      value: function _onStickyHeaderLayout(index, event, key) {
        var stickyHeaderIndices = this.props.stickyHeaderIndices;

        if (!stickyHeaderIndices) {
          return;
        }

        var childArray = React.Children.toArray(this.props.children);

        if (key !== this._getKeyForIndex(index, childArray)) {
          return;
        }

        var layoutY = event.nativeEvent.layout.y;

        this._headerLayoutYs.set(key, layoutY);

        var indexOfIndex = stickyHeaderIndices.indexOf(index);
        var previousHeaderIndex = stickyHeaderIndices[indexOfIndex - 1];

        if (previousHeaderIndex != null) {
          var previousHeader = this._stickyHeaderRefs.get(this._getKeyForIndex(previousHeaderIndex, childArray));

          previousHeader && previousHeader.setNextHeaderY && previousHeader.setNextHeaderY(layoutY);
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _ref2 = this.props.horizontal === true ? NativeHorizontalScrollViewTuple : NativeVerticalScrollViewTuple,
            _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
            NativeDirectionalScrollView = _ref3[0],
            NativeDirectionalScrollContentView = _ref3[1];

        var contentContainerStyle = [this.props.horizontal === true && styles.contentContainerHorizontal, this.props.contentContainerStyle];
        var contentSizeChangeProps = this.props.onContentSizeChange == null ? null : {
          onLayout: this._handleContentOnLayout
        };
        var stickyHeaderIndices = this.props.stickyHeaderIndices;
        var children = this.props.children;

        if (stickyHeaderIndices != null && stickyHeaderIndices.length > 0) {
          var childArray = React.Children.toArray(this.props.children);
          children = childArray.map(function (child, index) {
            var indexOfIndex = child ? stickyHeaderIndices.indexOf(index) : -1;

            if (indexOfIndex > -1) {
              var key = child.key;
              var nextIndex = stickyHeaderIndices[indexOfIndex + 1];
              var StickyHeaderComponent = _this2.props.StickyHeaderComponent || _ScrollViewStickyHeader.default;
              return React.createElement(StickyHeaderComponent, {
                key: key,
                nativeID: 'StickyHeader-' + key,
                ref: function ref(_ref4) {
                  return _this2._setStickyHeaderRef(key, _ref4);
                },
                nextHeaderLayoutY: _this2._headerLayoutYs.get(_this2._getKeyForIndex(nextIndex, childArray)),
                onLayout: function onLayout(event) {
                  return _this2._onStickyHeaderLayout(index, event, key);
                },
                scrollAnimatedValue: _this2._scrollAnimatedValue,
                inverted: _this2.props.invertStickyHeaders,
                hiddenOnScroll: _this2.props.stickyHeaderHiddenOnScroll,
                scrollViewHeight: _this2.state.layoutHeight
              }, child);
            } else {
              return child;
            }
          });
        }

        children = React.createElement(_ScrollViewContext.default.Provider, {
          value: this.props.horizontal === true ? _ScrollViewContext.HORIZONTAL : _ScrollViewContext.VERTICAL
        }, children);
        var hasStickyHeaders = Array.isArray(stickyHeaderIndices) && stickyHeaderIndices.length > 0;
        var contentContainer = React.createElement(NativeDirectionalScrollContentView, (0, _extends2.default)({}, contentSizeChangeProps, {
          ref: this._setInnerViewRef,
          style: contentContainerStyle,
          removeClippedSubviews: _Platform.default.OS === 'android' && hasStickyHeaders ? false : this.props.removeClippedSubviews,
          collapsable: false
        }), children);
        var alwaysBounceHorizontal = this.props.alwaysBounceHorizontal !== undefined ? this.props.alwaysBounceHorizontal : this.props.horizontal;
        var alwaysBounceVertical = this.props.alwaysBounceVertical !== undefined ? this.props.alwaysBounceVertical : !this.props.horizontal;
        var baseStyle = this.props.horizontal === true ? styles.baseHorizontal : styles.baseVertical;
        var props = (0, _extends2.default)({}, this.props, {
          alwaysBounceHorizontal: alwaysBounceHorizontal,
          alwaysBounceVertical: alwaysBounceVertical,
          style: _StyleSheet.default.compose(baseStyle, this.props.style),
          onContentSizeChange: null,
          onLayout: this._handleLayout,
          onMomentumScrollBegin: this._handleMomentumScrollBegin,
          onMomentumScrollEnd: this._handleMomentumScrollEnd,
          onResponderGrant: this._handleResponderGrant,
          onResponderReject: this._handleResponderReject,
          onResponderRelease: this._handleResponderRelease,
          onResponderTerminationRequest: this._handleResponderTerminationRequest,
          onScrollBeginDrag: this._handleScrollBeginDrag,
          onScrollEndDrag: this._handleScrollEndDrag,
          onScrollShouldSetResponder: this._handleScrollShouldSetResponder,
          onStartShouldSetResponder: this._handleStartShouldSetResponder,
          onStartShouldSetResponderCapture: this._handleStartShouldSetResponderCapture,
          onTouchEnd: this._handleTouchEnd,
          onTouchMove: this._handleTouchMove,
          onTouchStart: this._handleTouchStart,
          onTouchCancel: this._handleTouchCancel,
          onScroll: this._handleScroll,
          scrollEventThrottle: hasStickyHeaders ? 1 : this.props.scrollEventThrottle,
          sendMomentumEvents: this.props.onMomentumScrollBegin || this.props.onMomentumScrollEnd ? true : false,
          snapToStart: this.props.snapToStart !== false,
          snapToEnd: this.props.snapToEnd !== false,
          pagingEnabled: _Platform.default.select({
            ios: this.props.pagingEnabled === true && this.props.snapToInterval == null && this.props.snapToOffsets == null,
            android: this.props.pagingEnabled === true || this.props.snapToInterval != null || this.props.snapToOffsets != null
          })
        });
        var decelerationRate = this.props.decelerationRate;

        if (decelerationRate != null) {
          props.decelerationRate = (0, _processDecelerationRate.default)(decelerationRate);
        }

        var refreshControl = this.props.refreshControl;

        if (refreshControl) {
          if (_Platform.default.OS === 'ios') {
            return React.createElement(NativeDirectionalScrollView, (0, _extends2.default)({}, props, {
              ref: this._setNativeRef
            }), refreshControl, contentContainer);
          } else if (_Platform.default.OS === 'android') {
            var _splitLayoutProps = (0, _splitLayoutProps2.default)((0, _flattenStyle.default)(props.style)),
                outer = _splitLayoutProps.outer,
                inner = _splitLayoutProps.inner;

            return React.cloneElement(refreshControl, {
              style: _StyleSheet.default.compose(baseStyle, outer)
            }, React.createElement(NativeDirectionalScrollView, (0, _extends2.default)({}, props, {
              style: _StyleSheet.default.compose(baseStyle, inner),
              ref: this._setNativeRef
            }), contentContainer));
          }
        }

        return React.createElement(NativeDirectionalScrollView, (0, _extends2.default)({}, props, {
          ref: this._setNativeRef
        }), contentContainer);
      }
    }]);
    return ScrollView;
  }(React.Component);

  ScrollView.Context = _ScrollViewContext.default;

  var styles = _StyleSheet.default.create({
    baseVertical: {
      flexGrow: 1,
      flexShrink: 1,
      flexDirection: 'column',
      overflow: 'scroll'
    },
    baseHorizontal: {
      flexGrow: 1,
      flexShrink: 1,
      flexDirection: 'row',
      overflow: 'scroll'
    },
    contentContainerHorizontal: {
      flexDirection: 'row'
    }
  });

  function Wrapper(props, ref) {
    return React.createElement(ScrollView, (0, _extends2.default)({}, props, {
      scrollViewRef: ref
    }));
  }

  Wrapper.displayName = 'ScrollView';
  var ForwardedScrollView = React.forwardRef(Wrapper);
  ForwardedScrollView.Context = _ScrollViewContext.default;
  ForwardedScrollView.displayName = 'ScrollView';
  module.exports = ForwardedScrollView;
},259,[5,6,41,7,8,15,12,14,16,233,171,37,17,54,260,183,184,155,261,265,139,263,178,36,267,268,251,269,270,271,272,273,274]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _AnimatedImplementation = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _AnimatedAddition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _AnimatedDiffClamp = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _AnimatedNode = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var _StyleSheet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _View = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedView = _AnimatedImplementation.default.createAnimatedComponent(_View.default);

  var ScrollViewStickyHeader = function (_React$Component) {
    (0, _inherits2.default)(ScrollViewStickyHeader, _React$Component);

    var _super = _createSuper(ScrollViewStickyHeader);

    function ScrollViewStickyHeader() {
      var _this;

      (0, _classCallCheck2.default)(this, ScrollViewStickyHeader);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.state = {
        measured: false,
        layoutY: 0,
        layoutHeight: 0,
        nextHeaderLayoutY: _this.props.nextHeaderLayoutY,
        translateY: null
      };
      _this._translateY = null;
      _this._shouldRecreateTranslateY = true;
      _this._haveReceivedInitialZeroTranslateY = true;
      _this._debounceTimeout = _Platform.default.OS === 'android' ? 15 : 64;

      _this.setNextHeaderY = function (y) {
        _this._shouldRecreateTranslateY = true;

        _this.setState({
          nextHeaderLayoutY: y
        });
      };

      _this._onLayout = function (event) {
        var layoutY = event.nativeEvent.layout.y;
        var layoutHeight = event.nativeEvent.layout.height;
        var measured = true;

        if (layoutY !== _this.state.layoutY || layoutHeight !== _this.state.layoutHeight || measured !== _this.state.measured) {
          _this._shouldRecreateTranslateY = true;
        }

        _this.setState({
          measured: measured,
          layoutY: layoutY,
          layoutHeight: layoutHeight
        });

        _this.props.onLayout(event);

        var child = React.Children.only(_this.props.children);

        if (child.props.onLayout) {
          child.props.onLayout(event);
        }
      };

      _this._setComponentRef = function (ref) {
        _this._ref = ref;
      };

      return _this;
    }

    (0, _createClass2.default)(ScrollViewStickyHeader, [{
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        if (this._translateY != null && this._animatedValueListenerId != null) {
          this._translateY.removeListener(this._animatedValueListenerId);
        }

        if (this._timer) {
          clearTimeout(this._timer);
        }
      }
    }, {
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(nextProps) {
        if (nextProps.scrollViewHeight !== this.props.scrollViewHeight || nextProps.scrollAnimatedValue !== this.props.scrollAnimatedValue || nextProps.inverted !== this.props.inverted) {
          this._shouldRecreateTranslateY = true;
        }
      }
    }, {
      key: "updateTranslateListener",
      value: function updateTranslateListener(translateY, isFabric, offset) {
        var _this2 = this;

        if (this._translateY != null && this._animatedValueListenerId != null) {
          this._translateY.removeListener(this._animatedValueListenerId);
        }

        offset ? this._translateY = new _AnimatedAddition.default(translateY, offset) : this._translateY = translateY;
        this._shouldRecreateTranslateY = false;

        if (!isFabric) {
          return;
        }

        if (!this._animatedValueListener) {
          this._animatedValueListener = function (_ref) {
            var value = _ref.value;

            if (value === 0 && !_this2._haveReceivedInitialZeroTranslateY) {
              _this2._haveReceivedInitialZeroTranslateY = true;
              return;
            }

            if (_this2._timer) {
              clearTimeout(_this2._timer);
            }

            _this2._timer = setTimeout(function () {
              if (value !== _this2.state.translateY) {
                _this2.setState({
                  translateY: value
                });
              }
            }, _this2._debounceTimeout);
          };
        }

        if (this.state.translateY !== 0 && this.state.translateY != null) {
          this._haveReceivedInitialZeroTranslateY = false;
        }

        this._animatedValueListenerId = translateY.addListener(this._animatedValueListener);
      }
    }, {
      key: "render",
      value: function render() {
        var _this$_ref$_internalI, _this$_ref$_internalI2;

        var isFabric = !!(this._ref && (_this$_ref$_internalI = this._ref['_internalInstanceHandle']) != null && (_this$_ref$_internalI2 = _this$_ref$_internalI.stateNode) != null && _this$_ref$_internalI2.canonical);

        if (this._shouldRecreateTranslateY) {
          var _this$props = this.props,
              inverted = _this$props.inverted,
              scrollViewHeight = _this$props.scrollViewHeight;
          var _this$state = this.state,
              measured = _this$state.measured,
              layoutHeight = _this$state.layoutHeight,
              layoutY = _this$state.layoutY,
              nextHeaderLayoutY = _this$state.nextHeaderLayoutY;
          var inputRange = [-1, 0];
          var outputRange = [0, 0];

          if (measured) {
            if (inverted) {
              if (scrollViewHeight != null) {
                var stickStartPoint = layoutY + layoutHeight - scrollViewHeight;

                if (stickStartPoint > 0) {
                  inputRange.push(stickStartPoint);
                  outputRange.push(0);
                  inputRange.push(stickStartPoint + 1);
                  outputRange.push(1);
                  var collisionPoint = (nextHeaderLayoutY || 0) - layoutHeight - scrollViewHeight;

                  if (collisionPoint > stickStartPoint) {
                    inputRange.push(collisionPoint, collisionPoint + 1);
                    outputRange.push(collisionPoint - stickStartPoint, collisionPoint - stickStartPoint);
                  }
                }
              }
            } else {
              inputRange.push(layoutY);
              outputRange.push(0);

              var _collisionPoint = (nextHeaderLayoutY || 0) - layoutHeight;

              if (_collisionPoint >= layoutY) {
                inputRange.push(_collisionPoint, _collisionPoint + 1);
                outputRange.push(_collisionPoint - layoutY, _collisionPoint - layoutY);
              } else {
                inputRange.push(layoutY + 1);
                outputRange.push(1);
              }
            }
          }

          this.updateTranslateListener(this.props.scrollAnimatedValue.interpolate({
            inputRange: inputRange,
            outputRange: outputRange
          }), isFabric, this.props.hiddenOnScroll ? new _AnimatedDiffClamp.default(this.props.scrollAnimatedValue.interpolate({
            extrapolateLeft: 'clamp',
            inputRange: [layoutY, layoutY + 1],
            outputRange: [0, 1]
          }).interpolate({
            inputRange: [0, 1],
            outputRange: [0, -1]
          }), -this.state.layoutHeight, 0) : null);
        }

        var child = React.Children.only(this.props.children);
        var passthroughAnimatedPropExplicitValues = isFabric && this.state.translateY != null ? {
          style: {
            transform: [{
              translateY: this.state.translateY
            }]
          }
        } : null;
        return React.createElement(AnimatedView, {
          collapsable: false,
          nativeID: this.props.nativeID,
          onLayout: this._onLayout,
          ref: this._setComponentRef,
          style: [child.props.style, styles.header, {
            transform: [{
              translateY: this._translateY
            }]
          }],
          passthroughAnimatedPropExplicitValues: passthroughAnimatedPropExplicitValues
        }, React.cloneElement(child, {
          style: styles.fill,
          onLayout: undefined
        }));
      }
    }]);
    return ScrollViewStickyHeader;
  }(React.Component);

  var styles = _StyleSheet.default.create({
    header: {
      zIndex: 10,
      position: 'relative'
    },
    fill: {
      flex: 1
    }
  });

  module.exports = ScrollViewStickyHeader;
},260,[5,7,8,12,14,16,233,234,239,229,17,183,184,37]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _NativeEventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _LayoutAnimation = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _dismissKeyboard = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _NativeKeyboardObserver = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var Keyboard = function () {
    function Keyboard() {
      (0, _classCallCheck2.default)(this, Keyboard);
      this._emitter = new _NativeEventEmitter.default(_Platform.default.OS !== 'ios' ? null : _NativeKeyboardObserver.default);
    }

    (0, _createClass2.default)(Keyboard, [{
      key: "addListener",
      value: function addListener(eventType, listener, context) {
        return this._emitter.addListener(eventType, listener);
      }
    }, {
      key: "removeListener",
      value: function removeListener(eventType, listener) {
        this._emitter.removeListener(eventType, listener);
      }
    }, {
      key: "removeAllListeners",
      value: function removeAllListeners(eventType) {
        this._emitter.removeAllListeners(eventType);
      }
    }, {
      key: "dismiss",
      value: function dismiss() {
        (0, _dismissKeyboard.default)();
      }
    }, {
      key: "scheduleLayoutAnimation",
      value: function scheduleLayoutAnimation(event) {
        var duration = event.duration,
            easing = event.easing;

        if (duration != null && duration !== 0) {
          _LayoutAnimation.default.configureNext({
            duration: duration,
            update: {
              duration: duration,
              type: easing != null && _LayoutAnimation.default.Types[easing] || 'keyboard'
            }
          });
        }
      }
    }]);
    return Keyboard;
  }();

  module.exports = new Keyboard();
},261,[5,7,8,110,262,263,37,264]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function configureNext(config, onAnimationDidEnd, onAnimationDidFail) {
    var _config$duration, _global;

    if (_Platform.default.isTesting) {
      return;
    }

    var animationCompletionHasRun = false;

    var onAnimationComplete = function onAnimationComplete() {
      if (animationCompletionHasRun) {
        return;
      }

      animationCompletionHasRun = true;
      clearTimeout(raceWithAnimationId);
      onAnimationDidEnd == null ? undefined : onAnimationDidEnd();
    };

    var raceWithAnimationId = setTimeout(onAnimationComplete, ((_config$duration = config.duration) != null ? _config$duration : 0) + 17);
    var FabricUIManager = (_global = global) == null ? undefined : _global.nativeFabricUIManager;

    if (FabricUIManager != null && FabricUIManager.configureNextLayoutAnimation) {
      var _global2, _global2$nativeFabric;

      (_global2 = global) == null ? undefined : (_global2$nativeFabric = _global2.nativeFabricUIManager) == null ? undefined : _global2$nativeFabric.configureNextLayoutAnimation(config, onAnimationComplete, onAnimationDidFail != null ? onAnimationDidFail : function () {});
      return;
    }

    if (_$$_REQUIRE(_dependencyMap[2]) != null && _$$_REQUIRE(_dependencyMap[2]).configureNextLayoutAnimation) {
      _$$_REQUIRE(_dependencyMap[2]).configureNextLayoutAnimation(config, onAnimationComplete != null ? onAnimationComplete : function () {}, onAnimationDidFail != null ? onAnimationDidFail : function () {});
    }
  }

  function create(duration, type, property) {
    return {
      duration: duration,
      create: {
        type: type,
        property: property
      },
      update: {
        type: type
      },
      delete: {
        type: type,
        property: property
      }
    };
  }

  var Presets = {
    easeInEaseOut: create(300, 'easeInEaseOut', 'opacity'),
    linear: create(500, 'linear', 'opacity'),
    spring: {
      duration: 700,
      create: {
        type: 'linear',
        property: 'opacity'
      },
      update: {
        type: 'spring',
        springDamping: 0.4
      },
      delete: {
        type: 'linear',
        property: 'opacity'
      }
    }
  };
  var LayoutAnimation = {
    configureNext: configureNext,
    create: create,
    Types: Object.freeze({
      spring: 'spring',
      linear: 'linear',
      easeInEaseOut: 'easeInEaseOut',
      easeIn: 'easeIn',
      easeOut: 'easeOut',
      keyboard: 'keyboard'
    }),
    Properties: Object.freeze({
      opacity: 'opacity',
      scaleX: 'scaleX',
      scaleY: 'scaleY',
      scaleXY: 'scaleXY'
    }),
    checkConfig: function checkConfig() {
      console.error('LayoutAnimation.checkConfig(...) has been disabled.');
    },
    Presets: Presets,
    easeInEaseOut: configureNext.bind(null, Presets.easeInEaseOut),
    linear: configureNext.bind(null, Presets.linear),
    spring: configureNext.bind(null, Presets.spring)
  };
  module.exports = LayoutAnimation;
},262,[5,37,155]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function dismissKeyboard() {
    _$$_REQUIRE(_dependencyMap[0]).blurTextInput(_$$_REQUIRE(_dependencyMap[0]).currentlyFocusedInput());
  }

  module.exports = dismissKeyboard;
},263,[139]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('KeyboardObserver');

  exports.default = _default;
},264,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _NativeFrameRateLogger = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var FrameRateLogger = {
    setGlobalOptions: function setGlobalOptions(options) {
      if (options.debug !== undefined) {
        _$$_REQUIRE(_dependencyMap[2])(_NativeFrameRateLogger.default, 'Trying to debug FrameRateLogger without the native module!');
      }

      if (_NativeFrameRateLogger.default) {
        var optionsClone = {
          debug: !!options.debug,
          reportStackTraces: !!options.reportStackTraces
        };

        _NativeFrameRateLogger.default.setGlobalOptions(optionsClone);
      }
    },
    setContext: function setContext(context) {
      _NativeFrameRateLogger.default && _NativeFrameRateLogger.default.setContext(context);
    },
    beginScroll: function beginScroll() {
      _NativeFrameRateLogger.default && _NativeFrameRateLogger.default.beginScroll();
    },
    endScroll: function endScroll() {
      _NativeFrameRateLogger.default && _NativeFrameRateLogger.default.endScroll();
    }
  };
  module.exports = FrameRateLogger;
},265,[5,266,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('FrameRateLogger');

  exports.default = _default;
},266,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function processDecelerationRate(decelerationRate) {
    if (decelerationRate === 'normal') {
      return _Platform.default.select({
        ios: 0.998,
        android: 0.985
      });
    } else if (decelerationRate === 'fast') {
      return _Platform.default.select({
        ios: 0.99,
        android: 0.9
      });
    }

    return decelerationRate;
  }

  module.exports = processDecelerationRate;
},267,[5,37]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = splitLayoutProps;

  function splitLayoutProps(props) {
    var outer = null;
    var inner = null;

    if (props != null) {
      outer = {};
      inner = {};

      for (var _i = 0, _Object$keys = Object.keys(props); _i < _Object$keys.length; _i++) {
        var prop = _Object$keys[_i];

        switch (prop) {
          case 'margin':
          case 'marginHorizontal':
          case 'marginVertical':
          case 'marginBottom':
          case 'marginTop':
          case 'marginLeft':
          case 'marginRight':
          case 'flex':
          case 'flexGrow':
          case 'flexShrink':
          case 'flexBasis':
          case 'alignSelf':
          case 'height':
          case 'minHeight':
          case 'maxHeight':
          case 'width':
          case 'minWidth':
          case 'maxWidth':
          case 'position':
          case 'left':
          case 'right':
          case 'bottom':
          case 'top':
          case 'transform':
            outer[prop] = props[prop];
            break;

          default:
            inner[prop] = props[prop];
            break;
        }
      }
    }

    return {
      outer: outer,
      inner: inner
    };
  }
},268,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.VERTICAL = exports.HORIZONTAL = exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var ScrollViewContext = React.createContext(null);
  var _default = ScrollViewContext;
  exports.default = _default;
  var HORIZONTAL = Object.freeze({
    horizontal: true
  });
  exports.HORIZONTAL = HORIZONTAL;
  var VERTICAL = Object.freeze({
    horizontal: false
  });
  exports.VERTICAL = VERTICAL;
},269,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _codegenNativeCommands = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = (0, _codegenNativeCommands.default)({
    supportedCommands: ['flashScrollIndicators', 'scrollTo', 'scrollToEnd', 'zoomToRect']
  });

  exports.default = _default;
},270,[5,141,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _codegenNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _default = (0, _codegenNativeComponent.default)('AndroidHorizontalScrollContentView');

  exports.default = _default;
},271,[5,190]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var NativeComponentRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var AndroidHorizontalScrollViewNativeComponent = NativeComponentRegistry.get('AndroidHorizontalScrollView', function () {
    return {
      uiViewClassName: 'AndroidHorizontalScrollView',
      bubblingEventTypes: {},
      directEventTypes: {},
      validAttributes: {
        decelerationRate: true,
        disableIntervalMomentum: true,
        endFillColor: {
          process: _$$_REQUIRE(_dependencyMap[1])
        },
        fadingEdgeLength: true,
        nestedScrollEnabled: true,
        overScrollMode: true,
        pagingEnabled: true,
        persistentScrollbar: true,
        scrollEnabled: true,
        scrollPerfTag: true,
        sendMomentumEvents: true,
        showsHorizontalScrollIndicator: true,
        snapToAlignment: true,
        snapToEnd: true,
        snapToInterval: true,
        snapToStart: true,
        snapToOffsets: true,
        contentOffset: true
      }
    };
  });
  var _default = AndroidHorizontalScrollViewNativeComponent;
  exports.default = _default;
},272,[154,145]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var NativeComponentRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var ScrollContentViewNativeComponent = NativeComponentRegistry.get('RCTScrollContentView', function () {
    return {
      uiViewClassName: 'RCTScrollContentView',
      bubblingEventTypes: {},
      directEventTypes: {},
      validAttributes: {}
    };
  });
  var _default = ScrollContentViewNativeComponent;
  exports.default = _default;
},273,[154]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var NativeComponentRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var ScrollViewNativeComponent = NativeComponentRegistry.get('RCTScrollView', function () {
    return {
      uiViewClassName: 'RCTScrollView',
      bubblingEventTypes: {},
      directEventTypes: {
        topScrollToTop: {
          registrationName: 'onScrollToTop'
        }
      },
      validAttributes: {
        alwaysBounceHorizontal: true,
        alwaysBounceVertical: true,
        automaticallyAdjustContentInsets: true,
        automaticallyAdjustsScrollIndicatorInsets: true,
        bounces: true,
        bouncesZoom: true,
        canCancelContentTouches: true,
        centerContent: true,
        contentInset: {
          diff: _$$_REQUIRE(_dependencyMap[1])
        },
        contentOffset: {
          diff: _$$_REQUIRE(_dependencyMap[1])
        },
        contentInsetAdjustmentBehavior: true,
        decelerationRate: true,
        directionalLockEnabled: true,
        disableIntervalMomentum: true,
        endFillColor: {
          process: _$$_REQUIRE(_dependencyMap[2])
        },
        fadingEdgeLength: true,
        indicatorStyle: true,
        inverted: true,
        keyboardDismissMode: true,
        maintainVisibleContentPosition: true,
        maximumZoomScale: true,
        minimumZoomScale: true,
        nestedScrollEnabled: true,
        onMomentumScrollBegin: true,
        onMomentumScrollEnd: true,
        onScroll: true,
        onScrollBeginDrag: true,
        onScrollEndDrag: true,
        onScrollToTop: true,
        overScrollMode: true,
        pagingEnabled: true,
        persistentScrollbar: true,
        pinchGestureEnabled: true,
        scrollEnabled: true,
        scrollEventThrottle: true,
        scrollIndicatorInsets: {
          diff: _$$_REQUIRE(_dependencyMap[1])
        },
        scrollPerfTag: true,
        scrollToOverflowEnabled: true,
        scrollsToTop: true,
        sendMomentumEvents: true,
        showsHorizontalScrollIndicator: true,
        showsVerticalScrollIndicator: true,
        snapToAlignment: true,
        snapToEnd: true,
        snapToInterval: true,
        snapToOffsets: true,
        snapToStart: true,
        zoomScale: true
      }
    };
  });
  var _default = ScrollViewNativeComponent;
  exports.default = _default;
},274,[154,163,145]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _AndroidSwipeRefreshLayoutNativeComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _PullToRefreshViewNativeComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var React = _$$_REQUIRE(_dependencyMap[10]);

  var RefreshControl = function (_React$Component) {
    (0, _inherits2.default)(RefreshControl, _React$Component);

    var _super = _createSuper(RefreshControl);

    function RefreshControl() {
      var _this;

      (0, _classCallCheck2.default)(this, RefreshControl);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this._lastNativeRefreshing = false;

      _this._onRefresh = function () {
        _this._lastNativeRefreshing = true;
        _this.props.onRefresh && _this.props.onRefresh();

        _this.forceUpdate();
      };

      _this._setNativeRef = function (ref) {
        _this._nativeRef = ref;
      };

      return _this;
    }

    (0, _createClass2.default)(RefreshControl, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this._lastNativeRefreshing = this.props.refreshing;
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps) {
        if (this.props.refreshing !== prevProps.refreshing) {
          this._lastNativeRefreshing = this.props.refreshing;
        } else if (this.props.refreshing !== this._lastNativeRefreshing && this._nativeRef) {
          {
            _PullToRefreshViewNativeComponent.Commands.setNativeRefreshing(this._nativeRef, this.props.refreshing);
          }
          this._lastNativeRefreshing = this.props.refreshing;
        }
      }
    }, {
      key: "render",
      value: function render() {
        {
          var _this$props = this.props,
              enabled = _this$props.enabled,
              colors = _this$props.colors,
              progressBackgroundColor = _this$props.progressBackgroundColor,
              size = _this$props.size,
              props = (0, _objectWithoutProperties2.default)(_this$props, ["enabled", "colors", "progressBackgroundColor", "size"]);
          return React.createElement(_PullToRefreshViewNativeComponent.default, (0, _extends2.default)({}, props, {
            ref: this._setNativeRef,
            onRefresh: this._onRefresh
          }));
        }
      }
    }]);
    return RefreshControl;
  }(React.Component);

  module.exports = RefreshControl;
},275,[5,6,108,7,8,12,14,16,276,277,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.Commands = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _codegenNativeCommands = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _codegenNativeComponent = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Commands = (0, _codegenNativeCommands.default)({
    supportedCommands: ['setNativeRefreshing']
  });
  exports.Commands = Commands;

  var _default = (0, _codegenNativeComponent.default)('AndroidSwipeRefreshLayout');

  exports.default = _default;
},276,[17,5,141,190]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.Commands = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _codegenNativeComponent = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _codegenNativeCommands = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Commands = (0, _codegenNativeCommands.default)({
    supportedCommands: ['setNativeRefreshing']
  });
  exports.Commands = Commands;

  var _default = (0, _codegenNativeComponent.default)('PullToRefreshView', {
    paperComponentName: 'RCTRefreshControl',
    excludedPlatforms: ['android']
  });

  exports.default = _default;
},277,[17,5,190,141]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function infoLog() {
    return undefined;
  }

  module.exports = infoLog;
},278,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var Info = function Info() {
    _$$_REQUIRE(_dependencyMap[0])(this, Info);

    this.any_blank_count = 0;
    this.any_blank_ms = 0;
    this.any_blank_speed_sum = 0;
    this.mostly_blank_count = 0;
    this.mostly_blank_ms = 0;
    this.pixels_blank = 0;
    this.pixels_sampled = 0;
    this.pixels_scrolled = 0;
    this.total_time_spent = 0;
    this.sample_count = 0;
  };

  var DEBUG = false;
  var _listeners = [];
  var _minSampleCount = 10;
  var _sampleRate = null;

  var FillRateHelper = function () {
    function FillRateHelper(getFrameMetrics) {
      _$$_REQUIRE(_dependencyMap[0])(this, FillRateHelper);

      this._anyBlankStartTime = null;
      this._enabled = false;
      this._info = new Info();
      this._mostlyBlankStartTime = null;
      this._samplesStartTime = null;
      this._getFrameMetrics = getFrameMetrics;
      this._enabled = (_sampleRate || 0) > Math.random();

      this._resetData();
    }

    _$$_REQUIRE(_dependencyMap[1])(FillRateHelper, [{
      key: "activate",
      value: function activate() {
        if (this._enabled && this._samplesStartTime == null) {
          DEBUG;
          this._samplesStartTime = global.performance.now();
        }
      }
    }, {
      key: "deactivateAndFlush",
      value: function deactivateAndFlush() {
        if (!this._enabled) {
          return;
        }

        var start = this._samplesStartTime;

        if (start == null) {
          DEBUG;
          return;
        }

        if (this._info.sample_count < _minSampleCount) {
          this._resetData();

          return;
        }

        var total_time_spent = global.performance.now() - start;

        var info = _$$_REQUIRE(_dependencyMap[2])({}, this._info, {
          total_time_spent: total_time_spent
        });

        _listeners.forEach(function (listener) {
          return listener(info);
        });

        this._resetData();
      }
    }, {
      key: "computeBlankness",
      value: function computeBlankness(props, state, scrollMetrics) {
        if (!this._enabled || props.getItemCount(props.data) === 0 || this._samplesStartTime == null) {
          return 0;
        }

        var dOffset = scrollMetrics.dOffset,
            offset = scrollMetrics.offset,
            velocity = scrollMetrics.velocity,
            visibleLength = scrollMetrics.visibleLength;
        this._info.sample_count++;
        this._info.pixels_sampled += Math.round(visibleLength);
        this._info.pixels_scrolled += Math.round(Math.abs(dOffset));
        var scrollSpeed = Math.round(Math.abs(velocity) * 1000);
        var now = global.performance.now();

        if (this._anyBlankStartTime != null) {
          this._info.any_blank_ms += now - this._anyBlankStartTime;
        }

        this._anyBlankStartTime = null;

        if (this._mostlyBlankStartTime != null) {
          this._info.mostly_blank_ms += now - this._mostlyBlankStartTime;
        }

        this._mostlyBlankStartTime = null;
        var blankTop = 0;
        var first = state.first;

        var firstFrame = this._getFrameMetrics(first);

        while (first <= state.last && (!firstFrame || !firstFrame.inLayout)) {
          firstFrame = this._getFrameMetrics(first);
          first++;
        }

        if (firstFrame && first > 0) {
          blankTop = Math.min(visibleLength, Math.max(0, firstFrame.offset - offset));
        }

        var blankBottom = 0;
        var last = state.last;

        var lastFrame = this._getFrameMetrics(last);

        while (last >= state.first && (!lastFrame || !lastFrame.inLayout)) {
          lastFrame = this._getFrameMetrics(last);
          last--;
        }

        if (lastFrame && last < props.getItemCount(props.data) - 1) {
          var bottomEdge = lastFrame.offset + lastFrame.length;
          blankBottom = Math.min(visibleLength, Math.max(0, offset + visibleLength - bottomEdge));
        }

        var pixels_blank = Math.round(blankTop + blankBottom);
        var blankness = pixels_blank / visibleLength;

        if (blankness > 0) {
          this._anyBlankStartTime = now;
          this._info.any_blank_speed_sum += scrollSpeed;
          this._info.any_blank_count++;
          this._info.pixels_blank += pixels_blank;

          if (blankness > 0.5) {
            this._mostlyBlankStartTime = now;
            this._info.mostly_blank_count++;
          }
        } else if (scrollSpeed < 0.01 || Math.abs(dOffset) < 1) {
          this.deactivateAndFlush();
        }

        return blankness;
      }
    }, {
      key: "enabled",
      value: function enabled() {
        return this._enabled;
      }
    }, {
      key: "_resetData",
      value: function _resetData() {
        this._anyBlankStartTime = null;
        this._info = new Info();
        this._mostlyBlankStartTime = null;
        this._samplesStartTime = null;
      }
    }], [{
      key: "addListener",
      value: function addListener(callback) {
        if (_sampleRate === null) {
          console.warn('Call `FillRateHelper.setSampleRate` before `addListener`.');
        }

        _listeners.push(callback);

        return {
          remove: function remove() {
            _listeners = _listeners.filter(function (listener) {
              return callback !== listener;
            });
          }
        };
      }
    }, {
      key: "setSampleRate",
      value: function setSampleRate(sampleRate) {
        _sampleRate = sampleRate;
      }
    }, {
      key: "setMinSampleCount",
      value: function setMinSampleCount(minSampleCount) {
        _minSampleCount = minSampleCount;
      }
    }]);

    return FillRateHelper;
  }();

  module.exports = FillRateHelper;
},279,[7,8,6]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var Batchinator = function () {
    function Batchinator(callback, delayMS) {
      _$$_REQUIRE(_dependencyMap[0])(this, Batchinator);

      this._delay = delayMS;
      this._callback = callback;
    }

    _$$_REQUIRE(_dependencyMap[1])(Batchinator, [{
      key: "dispose",
      value: function dispose() {
        var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
          abort: false
        };

        if (this._taskHandle) {
          this._taskHandle.cancel();

          if (!options.abort) {
            this._callback();
          }

          this._taskHandle = null;
        }
      }
    }, {
      key: "schedule",
      value: function schedule() {
        var _this = this;

        if (this._taskHandle) {
          return;
        }

        var timeoutHandle = setTimeout(function () {
          _this._taskHandle = _$$_REQUIRE(_dependencyMap[2]).runAfterInteractions(function () {
            _this._taskHandle = null;

            _this._callback();
          });
        }, this._delay);
        this._taskHandle = {
          cancel: function cancel() {
            return clearTimeout(timeoutHandle);
          }
        };
      }
    }]);

    return Batchinator;
  }();

  module.exports = Batchinator;
},280,[7,8,230]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

  var ViewabilityHelper = function () {
    function ViewabilityHelper() {
      var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
        viewAreaCoveragePercentThreshold: 0
      };

      _$$_REQUIRE(_dependencyMap[0])(this, ViewabilityHelper);

      this._hasInteracted = false;
      this._timers = new Set();
      this._viewableIndices = [];
      this._viewableItems = new Map();
      this._config = config;
    }

    _$$_REQUIRE(_dependencyMap[1])(ViewabilityHelper, [{
      key: "dispose",
      value: function dispose() {
        this._timers.forEach(clearTimeout);
      }
    }, {
      key: "computeViewableItems",
      value: function computeViewableItems(itemCount, scrollOffset, viewportHeight, getFrameMetrics, renderRange) {
        var _this$_config = this._config,
            itemVisiblePercentThreshold = _this$_config.itemVisiblePercentThreshold,
            viewAreaCoveragePercentThreshold = _this$_config.viewAreaCoveragePercentThreshold;
        var viewAreaMode = viewAreaCoveragePercentThreshold != null;
        var viewablePercentThreshold = viewAreaMode ? viewAreaCoveragePercentThreshold : itemVisiblePercentThreshold;

        _$$_REQUIRE(_dependencyMap[2])(viewablePercentThreshold != null && itemVisiblePercentThreshold != null !== (viewAreaCoveragePercentThreshold != null), 'Must set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold');

        var viewableIndices = [];

        if (itemCount === 0) {
          return viewableIndices;
        }

        var firstVisible = -1;

        var _ref = renderRange || {
          first: 0,
          last: itemCount - 1
        },
            first = _ref.first,
            last = _ref.last;

        if (last >= itemCount) {
          console.warn('Invalid render range computing viewability ' + JSON.stringify({
            renderRange: renderRange,
            itemCount: itemCount
          }));
          return [];
        }

        for (var idx = first; idx <= last; idx++) {
          var metrics = getFrameMetrics(idx);

          if (!metrics) {
            continue;
          }

          var top = metrics.offset - scrollOffset;
          var bottom = top + metrics.length;

          if (top < viewportHeight && bottom > 0) {
            firstVisible = idx;

            if (_isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, metrics.length)) {
              viewableIndices.push(idx);
            }
          } else if (firstVisible >= 0) {
            break;
          }
        }

        return viewableIndices;
      }
    }, {
      key: "onUpdate",
      value: function onUpdate(itemCount, scrollOffset, viewportHeight, getFrameMetrics, createViewToken, onViewableItemsChanged, renderRange) {
        var _this = this;

        if (this._config.waitForInteraction && !this._hasInteracted || itemCount === 0 || !getFrameMetrics(0)) {
          return;
        }

        var viewableIndices = [];

        if (itemCount) {
          viewableIndices = this.computeViewableItems(itemCount, scrollOffset, viewportHeight, getFrameMetrics, renderRange);
        }

        if (this._viewableIndices.length === viewableIndices.length && this._viewableIndices.every(function (v, ii) {
          return v === viewableIndices[ii];
        })) {
          return;
        }

        this._viewableIndices = viewableIndices;

        if (this._config.minimumViewTime) {
          var handle = setTimeout(function () {
            _this._timers.delete(handle);

            _this._onUpdateSync(viewableIndices, onViewableItemsChanged, createViewToken);
          }, this._config.minimumViewTime);

          this._timers.add(handle);
        } else {
          this._onUpdateSync(viewableIndices, onViewableItemsChanged, createViewToken);
        }
      }
    }, {
      key: "resetViewableIndices",
      value: function resetViewableIndices() {
        this._viewableIndices = [];
      }
    }, {
      key: "recordInteraction",
      value: function recordInteraction() {
        this._hasInteracted = true;
      }
    }, {
      key: "_onUpdateSync",
      value: function _onUpdateSync(viewableIndicesToCheck, onViewableItemsChanged, createViewToken) {
        var _this2 = this;

        viewableIndicesToCheck = viewableIndicesToCheck.filter(function (ii) {
          return _this2._viewableIndices.includes(ii);
        });
        var prevItems = this._viewableItems;
        var nextItems = new Map(viewableIndicesToCheck.map(function (ii) {
          var viewable = createViewToken(ii, true);
          return [viewable.key, viewable];
        }));
        var changed = [];

        for (var _iterator = _createForOfIteratorHelperLoose(nextItems), _step; !(_step = _iterator()).done;) {
          var _ref2 = _step.value;

          var _ref3 = _$$_REQUIRE(_dependencyMap[3])(_ref2, 2);

          var key = _ref3[0];
          var viewable = _ref3[1];

          if (!prevItems.has(key)) {
            changed.push(viewable);
          }
        }

        for (var _iterator2 = _createForOfIteratorHelperLoose(prevItems), _step2; !(_step2 = _iterator2()).done;) {
          var _ref4 = _step2.value;

          var _ref5 = _$$_REQUIRE(_dependencyMap[3])(_ref4, 2);

          var _key = _ref5[0];
          var _viewable = _ref5[1];

          if (!nextItems.has(_key)) {
            changed.push(_$$_REQUIRE(_dependencyMap[4])({}, _viewable, {
              isViewable: false
            }));
          }
        }

        if (changed.length > 0) {
          this._viewableItems = nextItems;
          onViewableItemsChanged({
            viewableItems: Array.from(nextItems.values()),
            changed: changed,
            viewabilityConfig: this._config
          });
        }
      }
    }]);

    return ViewabilityHelper;
  }();

  function _isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, itemLength) {
    if (_isEntirelyVisible(top, bottom, viewportHeight)) {
      return true;
    } else {
      var pixels = _getPixelsVisible(top, bottom, viewportHeight);

      var percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength);
      return percent >= viewablePercentThreshold;
    }
  }

  function _getPixelsVisible(top, bottom, viewportHeight) {
    var visibleHeight = Math.min(bottom, viewportHeight) - Math.max(top, 0);
    return Math.max(0, visibleHeight);
  }

  function _isEntirelyVisible(top, bottom, viewportHeight) {
    return top >= 0 && bottom <= viewportHeight && bottom > top;
  }

  module.exports = ViewabilityHelper;
},281,[7,8,36,41,6]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.VirtualizedListContextResetter = VirtualizedListContextResetter;
  exports.VirtualizedListContextProvider = VirtualizedListContextProvider;
  exports.VirtualizedListCellContextProvider = VirtualizedListCellContextProvider;
  exports.VirtualizedListContext = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var VirtualizedListContext = React.createContext(null);
  exports.VirtualizedListContext = VirtualizedListContext;

  function VirtualizedListContextResetter(_ref) {
    var children = _ref.children;
    return React.createElement(VirtualizedListContext.Provider, {
      value: null
    }, children);
  }

  function VirtualizedListContextProvider(_ref2) {
    var children = _ref2.children,
        value = _ref2.value;
    var context = (0, React.useMemo)(function () {
      return {
        cellKey: null,
        getScrollMetrics: value.getScrollMetrics,
        horizontal: value.horizontal,
        getOutermostParentListRef: value.getOutermostParentListRef,
        getNestedChildState: value.getNestedChildState,
        registerAsNestedChild: value.registerAsNestedChild,
        unregisterAsNestedChild: value.unregisterAsNestedChild,
        debugInfo: {
          cellKey: value.debugInfo.cellKey,
          horizontal: value.debugInfo.horizontal,
          listKey: value.debugInfo.listKey,
          parent: value.debugInfo.parent
        }
      };
    }, [value.getScrollMetrics, value.horizontal, value.getOutermostParentListRef, value.getNestedChildState, value.registerAsNestedChild, value.unregisterAsNestedChild, value.debugInfo.cellKey, value.debugInfo.horizontal, value.debugInfo.listKey, value.debugInfo.parent]);
    return React.createElement(VirtualizedListContext.Provider, {
      value: context
    }, children);
  }

  function VirtualizedListCellContextProvider(_ref3) {
    var cellKey = _ref3.cellKey,
        children = _ref3.children;
    var context = (0, React.useContext)(VirtualizedListContext);
    return React.createElement(VirtualizedListContext.Provider, {
      value: context == null ? null : (0, _extends2.default)({}, context, {
        cellKey: cellKey
      })
    }, children);
  }
},282,[5,6,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  module.exports = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));
},283,[17,249,284]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _DeprecatedImagePropType = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _StyleSheet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _ImageInjection = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _ImageAnalyticsTagContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _flattenStyle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _resolveAssetSource = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _NativeImageLoaderIOS = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _ImageViewNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function getSize(uri, success, failure) {
    _NativeImageLoaderIOS.default.getSize(uri).then(function (_ref) {
      var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
          width = _ref2[0],
          height = _ref2[1];

      return success(width, height);
    }).catch(failure || function () {
      console.warn('Failed to get size for image ' + uri);
    });
  }

  function getSizeWithHeaders(uri, headers, success, failure) {
    return _NativeImageLoaderIOS.default.getSizeWithHeaders(uri, headers).then(function (sizes) {
      success(sizes.width, sizes.height);
    }).catch(failure || function () {
      console.warn('Failed to get size for image: ' + uri);
    });
  }

  function prefetchWithMetadata(url, queryRootName, rootTag) {
    if (_NativeImageLoaderIOS.default.prefetchImageWithMetadata) {
      return _NativeImageLoaderIOS.default.prefetchImageWithMetadata(url, queryRootName, rootTag ? rootTag : 0);
    } else {
      return _NativeImageLoaderIOS.default.prefetchImage(url);
    }
  }

  function prefetch(url) {
    return _NativeImageLoaderIOS.default.prefetchImage(url);
  }

  function queryCache(urls) {
    return _regenerator.default.async(function queryCache$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            _context.next = 2;
            return _regenerator.default.awrap(_NativeImageLoaderIOS.default.queryCache(urls));

          case 2:
            return _context.abrupt("return", _context.sent);

          case 3:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  }

  var Image = function Image(props, forwardedRef) {
    var source = (0, _resolveAssetSource.default)(props.source) || {
      uri: undefined,
      width: undefined,
      height: undefined
    };
    var sources;
    var style;

    if (Array.isArray(source)) {
      style = (0, _flattenStyle.default)([styles.base, props.style]) || {};
      sources = source;
    } else {
      var _width = source.width,
          _height = source.height,
          uri = source.uri;
      style = (0, _flattenStyle.default)([{
        width: _width,
        height: _height
      }, styles.base, props.style]) || {};
      sources = [source];

      if (uri === '') {
        console.warn('source.uri should not be an empty string');
      }
    }

    var resizeMode = props.resizeMode || style.resizeMode || 'cover';
    var tintColor = style.tintColor;

    if (props.src != null) {
      console.warn('The <Image> component requires a `source` property rather than `src`.');
    }

    if (props.children != null) {
      throw new Error('The <Image> component cannot contain children. If you want to render content on top of the image, consider using the <ImageBackground> component or absolute positioning.');
    }

    return React.createElement(_ImageAnalyticsTagContext.default.Consumer, null, function (analyticTag) {
      return React.createElement(_ImageViewNativeComponent.default, (0, _extends2.default)({}, props, {
        ref: forwardedRef,
        style: style,
        resizeMode: resizeMode,
        tintColor: tintColor,
        source: sources,
        internal_analyticTag: analyticTag
      }));
    });
  };

  Image = React.forwardRef(Image);

  if (_ImageInjection.default.unstable_createImageComponent != null) {
    Image = _ImageInjection.default.unstable_createImageComponent(Image);
  }

  Image.displayName = 'Image';
  Image.getSize = getSize;
  Image.getSizeWithHeaders = getSizeWithHeaders;
  Image.prefetch = prefetch;
  Image.prefetchWithMetadata = prefetchWithMetadata;
  Image.queryCache = queryCache;
  Image.resolveAssetSource = _resolveAssetSource.default;
  Image.propTypes = _DeprecatedImagePropType.default;

  var styles = _StyleSheet.default.create({
    base: {
      overflow: 'hidden'
    }
  });

  module.exports = Image;
},284,[5,80,6,41,285,17,183,288,291,178,165,292,289]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = {
    style: _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1])),
    source: _$$_REQUIRE(_dependencyMap[2]),
    defaultSource: _$$_REQUIRE(_dependencyMap[3]).oneOfType([_$$_REQUIRE(_dependencyMap[3]).shape({
      uri: _$$_REQUIRE(_dependencyMap[3]).string,
      width: _$$_REQUIRE(_dependencyMap[3]).number,
      height: _$$_REQUIRE(_dependencyMap[3]).number,
      scale: _$$_REQUIRE(_dependencyMap[3]).number
    }), _$$_REQUIRE(_dependencyMap[3]).number]),
    accessible: _$$_REQUIRE(_dependencyMap[3]).bool,
    accessibilityLabel: _$$_REQUIRE(_dependencyMap[3]).node,
    blurRadius: _$$_REQUIRE(_dependencyMap[3]).number,
    capInsets: _$$_REQUIRE(_dependencyMap[4]),
    resizeMethod: _$$_REQUIRE(_dependencyMap[3]).oneOf(['auto', 'resize', 'scale']),
    resizeMode: _$$_REQUIRE(_dependencyMap[3]).oneOf(['cover', 'contain', 'stretch', 'repeat', 'center']),
    testID: _$$_REQUIRE(_dependencyMap[3]).string,
    onLayout: _$$_REQUIRE(_dependencyMap[3]).func,
    onLoadStart: _$$_REQUIRE(_dependencyMap[3]).func,
    onProgress: _$$_REQUIRE(_dependencyMap[3]).func,
    onError: _$$_REQUIRE(_dependencyMap[3]).func,
    onPartialLoad: _$$_REQUIRE(_dependencyMap[3]).func,
    onLoad: _$$_REQUIRE(_dependencyMap[3]).func,
    onLoadEnd: _$$_REQUIRE(_dependencyMap[3]).func
  };
},285,[196,286,287,201,208]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var ImageStylePropTypes = _$$_REQUIRE(_dependencyMap[0])({}, _$$_REQUIRE(_dependencyMap[1]), _$$_REQUIRE(_dependencyMap[2]), _$$_REQUIRE(_dependencyMap[3]), {
    resizeMode: _$$_REQUIRE(_dependencyMap[4]).oneOf(['center', 'contain', 'cover', 'repeat', 'stretch']),
    backfaceVisibility: _$$_REQUIRE(_dependencyMap[4]).oneOf(['visible', 'hidden']),
    backgroundColor: _$$_REQUIRE(_dependencyMap[5]),
    borderColor: _$$_REQUIRE(_dependencyMap[5]),
    borderWidth: _$$_REQUIRE(_dependencyMap[4]).number,
    borderRadius: _$$_REQUIRE(_dependencyMap[4]).number,
    overflow: _$$_REQUIRE(_dependencyMap[4]).oneOf(['visible', 'hidden']),
    tintColor: _$$_REQUIRE(_dependencyMap[5]),
    opacity: _$$_REQUIRE(_dependencyMap[4]).number,
    overlayColor: _$$_REQUIRE(_dependencyMap[4]).string,
    borderTopLeftRadius: _$$_REQUIRE(_dependencyMap[4]).number,
    borderTopRightRadius: _$$_REQUIRE(_dependencyMap[4]).number,
    borderBottomLeftRadius: _$$_REQUIRE(_dependencyMap[4]).number,
    borderBottomRightRadius: _$$_REQUIRE(_dependencyMap[4]).number
  });

  module.exports = ImageStylePropTypes;
},286,[6,200,204,206,201,205]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var ImageURISourcePropType = _$$_REQUIRE(_dependencyMap[0]).shape({
    uri: _$$_REQUIRE(_dependencyMap[0]).string,
    bundle: _$$_REQUIRE(_dependencyMap[0]).string,
    method: _$$_REQUIRE(_dependencyMap[0]).string,
    headers: _$$_REQUIRE(_dependencyMap[0]).objectOf(_$$_REQUIRE(_dependencyMap[0]).string),
    body: _$$_REQUIRE(_dependencyMap[0]).string,
    cache: _$$_REQUIRE(_dependencyMap[0]).oneOf(['default', 'reload', 'force-cache', 'only-if-cached']),
    width: _$$_REQUIRE(_dependencyMap[0]).number,
    height: _$$_REQUIRE(_dependencyMap[0]).number,
    scale: _$$_REQUIRE(_dependencyMap[0]).number
  });

  var ImageSourcePropType = _$$_REQUIRE(_dependencyMap[0]).oneOfType([ImageURISourcePropType, _$$_REQUIRE(_dependencyMap[0]).number, _$$_REQUIRE(_dependencyMap[0]).arrayOf(ImageURISourcePropType)]);

  module.exports = ImageSourcePropType;
},287,[201]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _ImageViewNativeComponent = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _TextInlineImageNativeComponent = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = {
    unstable_createImageComponent: null
  };
  exports.default = _default;
},288,[17,5,289,290]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var NativeComponentRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var ImageViewNativeComponent = NativeComponentRegistry.get('RCTImageView', function () {
    return {
      uiViewClassName: 'RCTImageView',
      bubblingEventTypes: {},
      directEventTypes: {
        topLoadStart: {
          registrationName: 'onLoadStart'
        },
        topProgress: {
          registrationName: 'onProgress'
        },
        topError: {
          registrationName: 'onError'
        },
        topPartialLoad: {
          registrationName: 'onPartialLoad'
        },
        topLoad: {
          registrationName: 'onLoad'
        },
        topLoadEnd: {
          registrationName: 'onLoadEnd'
        }
      },
      validAttributes: {
        blurRadius: true,
        capInsets: {
          diff: _$$_REQUIRE(_dependencyMap[1])
        },
        defaultSource: {
          process: _$$_REQUIRE(_dependencyMap[2])
        },
        defaultSrc: true,
        fadeDuration: true,
        headers: true,
        internal_analyticTag: true,
        loadingIndicatorSrc: true,
        onError: true,
        onLoad: true,
        onLoadEnd: true,
        onLoadStart: true,
        onPartialLoad: true,
        onProgress: true,
        overlayColor: {
          process: _$$_REQUIRE(_dependencyMap[3])
        },
        progressiveRenderingEnabled: true,
        resizeMethod: true,
        resizeMode: true,
        shouldNotifyLoadEvents: true,
        source: true,
        src: true,
        tintColor: {
          process: _$$_REQUIRE(_dependencyMap[3])
        }
      }
    };
  });
  var _default = ImageViewNativeComponent;
  exports.default = _default;
},289,[154,149,165,145]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var NativeComponentRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var TextInlineImage = NativeComponentRegistry.get('RCTTextInlineImage', function () {
    return {
      uiViewClassName: 'RCTImageView',
      bubblingEventTypes: {},
      directEventTypes: {
        topLoadStart: {
          registrationName: 'onLoadStart'
        },
        topProgress: {
          registrationName: 'onProgress'
        },
        topError: {
          registrationName: 'onError'
        },
        topPartialLoad: {
          registrationName: 'onPartialLoad'
        },
        topLoad: {
          registrationName: 'onLoad'
        },
        topLoadEnd: {
          registrationName: 'onLoadEnd'
        }
      },
      validAttributes: {
        blurRadius: true,
        capInsets: {
          diff: _$$_REQUIRE(_dependencyMap[1])
        },
        defaultSource: {
          process: _$$_REQUIRE(_dependencyMap[2])
        },
        defaultSrc: true,
        fadeDuration: true,
        headers: true,
        internal_analyticTag: true,
        loadingIndicatorSrc: true,
        onError: true,
        onLoad: true,
        onLoadEnd: true,
        onLoadStart: true,
        onPartialLoad: true,
        onProgress: true,
        overlayColor: {
          process: _$$_REQUIRE(_dependencyMap[3])
        },
        progressiveRenderingEnabled: true,
        resizeMethod: true,
        resizeMode: true,
        shouldNotifyLoadEvents: true,
        source: true,
        src: true,
        tintColor: {
          process: _$$_REQUIRE(_dependencyMap[3])
        }
      }
    };
  });
  module.exports = TextInlineImage;
},290,[154,149,165,145]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Context = React.createContext(null);
  var _default = Context;
  exports.default = _default;
},291,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.getEnforcing('ImageLoader');

  exports.default = _default;
},292,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var ScrollViewWithEventThrottle = React.forwardRef(function (props, ref) {
    return React.createElement(_$$_REQUIRE(_dependencyMap[3]), (0, _extends2.default)({
      scrollEventThrottle: 0.0001
    }, props, {
      ref: ref
    }));
  });
  module.exports = _$$_REQUIRE(_dependencyMap[4])(ScrollViewWithEventThrottle);
},293,[5,6,17,259,249]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _SectionList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var SectionListWithEventThrottle = React.forwardRef(function (props, ref) {
    return React.createElement(_SectionList.default, (0, _extends2.default)({
      scrollEventThrottle: 0.0001
    }, props, {
      ref: ref
    }));
  });
  module.exports = _$$_REQUIRE(_dependencyMap[4])(SectionListWithEventThrottle);
},294,[5,6,17,295,249]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _VirtualizedSectionList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SectionList = function (_React$PureComponent) {
    (0, _inherits2.default)(SectionList, _React$PureComponent);

    var _super = _createSuper(SectionList);

    function SectionList() {
      var _this;

      (0, _classCallCheck2.default)(this, SectionList);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));

      _this._captureRef = function (ref) {
        _this._wrapperListRef = ref;
      };

      return _this;
    }

    (0, _createClass2.default)(SectionList, [{
      key: "scrollToLocation",
      value: function scrollToLocation(params) {
        if (this._wrapperListRef != null) {
          this._wrapperListRef.scrollToLocation(params);
        }
      }
    }, {
      key: "recordInteraction",
      value: function recordInteraction() {
        var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();

        listRef && listRef.recordInteraction();
      }
    }, {
      key: "flashScrollIndicators",
      value: function flashScrollIndicators() {
        var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();

        listRef && listRef.flashScrollIndicators();
      }
    }, {
      key: "getScrollResponder",
      value: function getScrollResponder() {
        var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();

        if (listRef) {
          return listRef.getScrollResponder();
        }
      }
    }, {
      key: "getScrollableNode",
      value: function getScrollableNode() {
        var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();

        if (listRef) {
          return listRef.getScrollableNode();
        }
      }
    }, {
      key: "setNativeProps",
      value: function setNativeProps(props) {
        var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();

        if (listRef) {
          listRef.setNativeProps(props);
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            _stickySectionHeadersEnabled = _this$props.stickySectionHeadersEnabled,
            restProps = (0, _objectWithoutProperties2.default)(_this$props, ["stickySectionHeadersEnabled"]);
        var stickySectionHeadersEnabled = _stickySectionHeadersEnabled != null ? _stickySectionHeadersEnabled : _Platform.default.OS === 'ios';
        return React.createElement(_VirtualizedSectionList.default, (0, _extends2.default)({}, restProps, {
          stickySectionHeadersEnabled: stickySectionHeadersEnabled,
          ref: this._captureRef,
          getItemCount: function getItemCount(items) {
            return items.length;
          },
          getItem: function getItem(items, index) {
            return items[index];
          }
        }));
      }
    }]);
    return SectionList;
  }(React.PureComponent);

  exports.default = SectionList;
},295,[5,6,108,7,8,12,14,16,37,17,296]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var VirtualizedSectionList = function (_React$PureComponent) {
    (0, _inherits2.default)(VirtualizedSectionList, _React$PureComponent);

    var _super = _createSuper(VirtualizedSectionList);

    function VirtualizedSectionList() {
      var _this;

      (0, _classCallCheck2.default)(this, VirtualizedSectionList);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));

      _this._keyExtractor = function (item, index) {
        var info = _this._subExtractor(index);

        return info && info.key || String(index);
      };

      _this._convertViewable = function (viewable) {
        var _info$index;

        (0, _invariant.default)(viewable.index != null, 'Received a broken ViewToken');

        var info = _this._subExtractor(viewable.index);

        if (!info) {
          return null;
        }

        var keyExtractorWithNullableIndex = info.section.keyExtractor;

        var keyExtractorWithNonNullableIndex = _this.props.keyExtractor || _$$_REQUIRE(_dependencyMap[13]).keyExtractor;

        var key = keyExtractorWithNullableIndex != null ? keyExtractorWithNullableIndex(viewable.item, info.index) : keyExtractorWithNonNullableIndex(viewable.item, (_info$index = info.index) != null ? _info$index : 0);
        return (0, _extends2.default)({}, viewable, {
          index: info.index,
          key: key,
          section: info.section
        });
      };

      _this._onViewableItemsChanged = function (_ref) {
        var viewableItems = _ref.viewableItems,
            changed = _ref.changed;
        var onViewableItemsChanged = _this.props.onViewableItemsChanged;

        if (onViewableItemsChanged != null) {
          onViewableItemsChanged({
            viewableItems: viewableItems.map(_this._convertViewable, (0, _assertThisInitialized2.default)(_this)).filter(Boolean),
            changed: changed.map(_this._convertViewable, (0, _assertThisInitialized2.default)(_this)).filter(Boolean)
          });
        }
      };

      _this._renderItem = function (listItemCount) {
        return function (_ref2) {
          var item = _ref2.item,
              index = _ref2.index;

          var info = _this._subExtractor(index);

          if (!info) {
            return null;
          }

          var infoIndex = info.index;

          if (infoIndex == null) {
            var section = info.section;

            if (info.header === true) {
              var renderSectionHeader = _this.props.renderSectionHeader;
              return renderSectionHeader ? renderSectionHeader({
                section: section
              }) : null;
            } else {
              var renderSectionFooter = _this.props.renderSectionFooter;
              return renderSectionFooter ? renderSectionFooter({
                section: section
              }) : null;
            }
          } else {
            var renderItem = info.section.renderItem || _this.props.renderItem;

            var SeparatorComponent = _this._getSeparatorComponent(index, info, listItemCount);

            (0, _invariant.default)(renderItem, 'no renderItem!');
            return React.createElement(ItemWithSeparator, {
              SeparatorComponent: SeparatorComponent,
              LeadingSeparatorComponent: infoIndex === 0 ? _this.props.SectionSeparatorComponent : undefined,
              cellKey: info.key,
              index: infoIndex,
              item: item,
              leadingItem: info.leadingItem,
              leadingSection: info.leadingSection,
              prevCellKey: (_this._subExtractor(index - 1) || {}).key,
              setSelfHighlightCallback: _this._setUpdateHighlightFor,
              setSelfUpdatePropsCallback: _this._setUpdatePropsFor,
              updateHighlightFor: _this._updateHighlightFor,
              updatePropsFor: _this._updatePropsFor,
              renderItem: renderItem,
              section: info.section,
              trailingItem: info.trailingItem,
              trailingSection: info.trailingSection,
              inverted: !!_this.props.inverted
            });
          }
        };
      };

      _this._updatePropsFor = function (cellKey, value) {
        var updateProps = _this._updatePropsMap[cellKey];

        if (updateProps != null) {
          updateProps(value);
        }
      };

      _this._updateHighlightFor = function (cellKey, value) {
        var updateHighlight = _this._updateHighlightMap[cellKey];

        if (updateHighlight != null) {
          updateHighlight(value);
        }
      };

      _this._setUpdateHighlightFor = function (cellKey, updateHighlightFn) {
        if (updateHighlightFn != null) {
          _this._updateHighlightMap[cellKey] = updateHighlightFn;
        } else {
          delete _this._updateHighlightFor[cellKey];
        }
      };

      _this._setUpdatePropsFor = function (cellKey, updatePropsFn) {
        if (updatePropsFn != null) {
          _this._updatePropsMap[cellKey] = updatePropsFn;
        } else {
          delete _this._updatePropsMap[cellKey];
        }
      };

      _this._updateHighlightMap = {};
      _this._updatePropsMap = {};

      _this._captureRef = function (ref) {
        _this._listRef = ref;
      };

      return _this;
    }

    (0, _createClass2.default)(VirtualizedSectionList, [{
      key: "scrollToLocation",
      value: function scrollToLocation(params) {
        var index = params.itemIndex;

        for (var i = 0; i < params.sectionIndex; i++) {
          index += this.props.getItemCount(this.props.sections[i].data) + 2;
        }

        var viewOffset = params.viewOffset || 0;

        if (this._listRef == null) {
          return;
        }

        if (params.itemIndex > 0 && this.props.stickySectionHeadersEnabled) {
          var frame = this._listRef._getFrameMetricsApprox(index - params.itemIndex);

          viewOffset += frame.length;
        }

        var toIndexParams = (0, _extends2.default)({}, params, {
          viewOffset: viewOffset,
          index: index
        });

        this._listRef.scrollToIndex(toIndexParams);
      }
    }, {
      key: "getListRef",
      value: function getListRef() {
        return this._listRef;
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props = this.props,
            ItemSeparatorComponent = _this$props.ItemSeparatorComponent,
            SectionSeparatorComponent = _this$props.SectionSeparatorComponent,
            _renderItem = _this$props.renderItem,
            renderSectionFooter = _this$props.renderSectionFooter,
            renderSectionHeader = _this$props.renderSectionHeader,
            _sections = _this$props.sections,
            stickySectionHeadersEnabled = _this$props.stickySectionHeadersEnabled,
            passThroughProps = (0, _objectWithoutProperties2.default)(_this$props, ["ItemSeparatorComponent", "SectionSeparatorComponent", "renderItem", "renderSectionFooter", "renderSectionHeader", "sections", "stickySectionHeadersEnabled"]);
        var listHeaderOffset = this.props.ListHeaderComponent ? 1 : 0;
        var stickyHeaderIndices = this.props.stickySectionHeadersEnabled ? [] : undefined;
        var itemCount = 0;

        for (var _iterator = _createForOfIteratorHelperLoose(this.props.sections), _step; !(_step = _iterator()).done;) {
          var section = _step.value;

          if (stickyHeaderIndices != null) {
            stickyHeaderIndices.push(itemCount + listHeaderOffset);
          }

          itemCount += 2;
          itemCount += this.props.getItemCount(section.data);
        }

        var renderItem = this._renderItem(itemCount);

        return React.createElement(_reactNative.VirtualizedList, (0, _extends2.default)({}, passThroughProps, {
          keyExtractor: this._keyExtractor,
          stickyHeaderIndices: stickyHeaderIndices,
          renderItem: renderItem,
          data: this.props.sections,
          getItem: function getItem(sections, index) {
            return _this2._getItem(_this2.props, sections, index);
          },
          getItemCount: function getItemCount() {
            return itemCount;
          },
          onViewableItemsChanged: this.props.onViewableItemsChanged ? this._onViewableItemsChanged : undefined,
          ref: this._captureRef
        }));
      }
    }, {
      key: "_getItem",
      value: function _getItem(props, sections, index) {
        if (!sections) {
          return null;
        }

        var itemIdx = index - 1;

        for (var i = 0; i < sections.length; i++) {
          var section = sections[i];
          var sectionData = section.data;
          var itemCount = props.getItemCount(sectionData);

          if (itemIdx === -1 || itemIdx === itemCount) {
            return section;
          } else if (itemIdx < itemCount) {
            return props.getItem(sectionData, itemIdx);
          } else {
            itemIdx -= itemCount + 2;
          }
        }

        return null;
      }
    }, {
      key: "_subExtractor",
      value: function _subExtractor(index) {
        var itemIndex = index;
        var _this$props2 = this.props,
            getItem = _this$props2.getItem,
            getItemCount = _this$props2.getItemCount,
            keyExtractor = _this$props2.keyExtractor,
            sections = _this$props2.sections;

        for (var i = 0; i < sections.length; i++) {
          var section = sections[i];
          var sectionData = section.data;
          var key = section.key || String(i);
          itemIndex -= 1;

          if (itemIndex >= getItemCount(sectionData) + 1) {
            itemIndex -= getItemCount(sectionData) + 1;
          } else if (itemIndex === -1) {
            return {
              section: section,
              key: key + ':header',
              index: null,
              header: true,
              trailingSection: sections[i + 1]
            };
          } else if (itemIndex === getItemCount(sectionData)) {
            return {
              section: section,
              key: key + ':footer',
              index: null,
              header: false,
              trailingSection: sections[i + 1]
            };
          } else {
            var extractor = section.keyExtractor || keyExtractor || _$$_REQUIRE(_dependencyMap[13]).keyExtractor;

            return {
              section: section,
              key: key + ':' + extractor(getItem(sectionData, itemIndex), itemIndex),
              index: itemIndex,
              leadingItem: getItem(sectionData, itemIndex - 1),
              leadingSection: sections[i - 1],
              trailingItem: getItem(sectionData, itemIndex + 1),
              trailingSection: sections[i + 1]
            };
          }
        }
      }
    }, {
      key: "_getSeparatorComponent",
      value: function _getSeparatorComponent(index, info, listItemCount) {
        info = info || this._subExtractor(index);

        if (!info) {
          return null;
        }

        var ItemSeparatorComponent = info.section.ItemSeparatorComponent || this.props.ItemSeparatorComponent;
        var SectionSeparatorComponent = this.props.SectionSeparatorComponent;
        var isLastItemInList = index === listItemCount - 1;
        var isLastItemInSection = info.index === this.props.getItemCount(info.section.data) - 1;

        if (SectionSeparatorComponent && isLastItemInSection) {
          return SectionSeparatorComponent;
        }

        if (ItemSeparatorComponent && !isLastItemInSection && !isLastItemInList) {
          return ItemSeparatorComponent;
        }

        return null;
      }
    }]);
    return VirtualizedSectionList;
  }(React.PureComponent);

  function ItemWithSeparator(props) {
    var LeadingSeparatorComponent = props.LeadingSeparatorComponent,
        SeparatorComponent = props.SeparatorComponent,
        cellKey = props.cellKey,
        prevCellKey = props.prevCellKey,
        setSelfHighlightCallback = props.setSelfHighlightCallback,
        updateHighlightFor = props.updateHighlightFor,
        setSelfUpdatePropsCallback = props.setSelfUpdatePropsCallback,
        updatePropsFor = props.updatePropsFor,
        item = props.item,
        index = props.index,
        section = props.section,
        inverted = props.inverted;

    var _React$useState = React.useState(false),
        _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
        leadingSeparatorHiglighted = _React$useState2[0],
        setLeadingSeparatorHighlighted = _React$useState2[1];

    var _React$useState3 = React.useState(false),
        _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
        separatorHighlighted = _React$useState4[0],
        setSeparatorHighlighted = _React$useState4[1];

    var _React$useState5 = React.useState({
      leadingItem: props.leadingItem,
      leadingSection: props.leadingSection,
      section: props.section,
      trailingItem: props.item,
      trailingSection: props.trailingSection
    }),
        _React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 2),
        leadingSeparatorProps = _React$useState6[0],
        setLeadingSeparatorProps = _React$useState6[1];

    var _React$useState7 = React.useState({
      leadingItem: props.item,
      leadingSection: props.leadingSection,
      section: props.section,
      trailingItem: props.trailingItem,
      trailingSection: props.trailingSection
    }),
        _React$useState8 = (0, _slicedToArray2.default)(_React$useState7, 2),
        separatorProps = _React$useState8[0],
        setSeparatorProps = _React$useState8[1];

    React.useEffect(function () {
      setSelfHighlightCallback(cellKey, setSeparatorHighlighted);
      setSelfUpdatePropsCallback(cellKey, setSeparatorProps);
      return function () {
        setSelfUpdatePropsCallback(cellKey, null);
        setSelfHighlightCallback(cellKey, null);
      };
    }, [cellKey, setSelfHighlightCallback, setSeparatorProps, setSelfUpdatePropsCallback]);
    var separators = {
      highlight: function highlight() {
        setLeadingSeparatorHighlighted(true);
        setSeparatorHighlighted(true);

        if (prevCellKey != null) {
          updateHighlightFor(prevCellKey, true);
        }
      },
      unhighlight: function unhighlight() {
        setLeadingSeparatorHighlighted(false);
        setSeparatorHighlighted(false);

        if (prevCellKey != null) {
          updateHighlightFor(prevCellKey, false);
        }
      },
      updateProps: function updateProps(select, newProps) {
        if (select === 'leading') {
          if (LeadingSeparatorComponent != null) {
            setLeadingSeparatorProps((0, _extends2.default)({}, leadingSeparatorProps, newProps));
          } else if (prevCellKey != null) {
            updatePropsFor(prevCellKey, (0, _extends2.default)({}, leadingSeparatorProps, newProps));
          }
        } else if (select === 'trailing' && SeparatorComponent != null) {
          setSeparatorProps((0, _extends2.default)({}, separatorProps, newProps));
        }
      }
    };
    var element = props.renderItem({
      item: item,
      index: index,
      section: section,
      separators: separators
    });
    var leadingSeparator = LeadingSeparatorComponent != null && React.createElement(LeadingSeparatorComponent, (0, _extends2.default)({
      highlighted: leadingSeparatorHiglighted
    }, leadingSeparatorProps));
    var separator = SeparatorComponent != null && React.createElement(SeparatorComponent, (0, _extends2.default)({
      highlighted: separatorHighlighted
    }, separatorProps));
    return leadingSeparator || separator ? React.createElement(_reactNative.View, null, inverted === false ? leadingSeparator : separator, element, inverted === false ? separator : leadingSeparator) : element;
  }

  module.exports = VirtualizedSectionList;
},296,[5,41,108,6,7,8,15,12,14,16,36,28,17,257]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  module.exports = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));
},297,[17,249,194]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  module.exports = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));
},298,[17,249,184]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var warnedKeys = {};

  function warnOnce(key, message) {
    if (warnedKeys[key]) {
      return;
    }

    console.warn(message);
    warnedKeys[key] = true;
  }

  module.exports = warnOnce;
},299,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _RCTDatePickerNativeComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _StyleSheet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _View = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var DatePickerIOS = function (_React$Component) {
    (0, _inherits2.default)(DatePickerIOS, _React$Component);

    var _super = _createSuper(DatePickerIOS);

    function DatePickerIOS() {
      var _this;

      (0, _classCallCheck2.default)(this, DatePickerIOS);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this._picker = null;

      _this._onChange = function (event) {
        var nativeTimeStamp = event.nativeEvent.timestamp;
        _this.props.onDateChange && _this.props.onDateChange(new Date(nativeTimeStamp));
        _this.props.onChange && _this.props.onChange(event);

        _this.forceUpdate();
      };

      return _this;
    }

    (0, _createClass2.default)(DatePickerIOS, [{
      key: "componentDidUpdate",
      value: function componentDidUpdate() {
        if (this.props.date) {
          var propsTimeStamp = this.props.date.getTime();

          if (this._picker) {
            _RCTDatePickerNativeComponent.Commands.setNativeDate(this._picker, propsTimeStamp);
          }
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _props$mode,
            _this2 = this;

        var props = this.props;
        var mode = (_props$mode = props.mode) != null ? _props$mode : 'datetime';
        (0, _invariant.default)(props.date || props.initialDate, 'A selected date or initial date should be specified.');
        return React.createElement(_View.default, {
          style: props.style
        }, React.createElement(_RCTDatePickerNativeComponent.default, {
          testID: props.testID,
          ref: function ref(picker) {
            _this2._picker = picker;
          },
          style: getHeight(props.pickerStyle, mode),
          date: props.date ? props.date.getTime() : props.initialDate ? props.initialDate.getTime() : undefined,
          locale: props.locale != null && props.locale !== '' ? props.locale : undefined,
          maximumDate: props.maximumDate ? props.maximumDate.getTime() : undefined,
          minimumDate: props.minimumDate ? props.minimumDate.getTime() : undefined,
          mode: mode,
          minuteInterval: props.minuteInterval,
          timeZoneOffsetInMinutes: props.timeZoneOffsetInMinutes,
          onChange: this._onChange,
          onStartShouldSetResponder: function onStartShouldSetResponder() {
            return true;
          },
          onResponderTerminationRequest: function onResponderTerminationRequest() {
            return false;
          },
          pickerStyle: props.pickerStyle
        }));
      }
    }]);
    return DatePickerIOS;
  }(React.Component);

  var inlineHeightForDatePicker = 318.5;
  var inlineHeightForTimePicker = 49.5;
  var compactHeight = 40;
  var spinnerHeight = 216;

  var styles = _StyleSheet.default.create({
    datePickerIOS: {
      height: spinnerHeight
    },
    datePickerIOSCompact: {
      height: compactHeight
    },
    datePickerIOSInline: {
      height: 417.5
    },
    datePickerIOSInlineDate: {
      height: 368
    },
    datePickerIOSInlineTime: {
      height: inlineHeightForTimePicker
    }
  });

  function getHeight(pickerStyle, mode) {
    if (pickerStyle === 'compact') {
      return styles.datePickerIOSCompact;
    }

    if (pickerStyle === 'inline') {
      switch (mode) {
        case 'date':
          return styles.datePickerIOSInlineDate;

        case 'time':
          return styles.datePickerIOSInlineTime;

        default:
          return styles.datePickerIOSInline;
      }
    }

    return styles.datePickerIOS;
  }

  module.exports = DatePickerIOS;
},300,[5,7,8,12,14,16,17,301,183,184,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.Commands = undefined;

  var _codegenNativeCommands = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _codegenNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Commands = (0, _codegenNativeCommands.default)({
    supportedCommands: ['setNativeDate']
  });
  exports.Commands = Commands;

  var _default = (0, _codegenNativeComponent.default)('DatePicker', {
    paperComponentName: 'RCTDatePicker',
    excludedPlatforms: ['android']
  });

  exports.default = _default;
},301,[5,141,190,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = _$$_REQUIRE(_dependencyMap[0]);
},302,[188]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Image = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _StyleSheet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _flattenStyle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _View = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ImageBackground = function (_React$Component) {
    (0, _inherits2.default)(ImageBackground, _React$Component);

    var _super = _createSuper(ImageBackground);

    function ImageBackground() {
      var _this;

      (0, _classCallCheck2.default)(this, ImageBackground);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this._viewRef = null;

      _this._captureRef = function (ref) {
        _this._viewRef = ref;
      };

      return _this;
    }

    (0, _createClass2.default)(ImageBackground, [{
      key: "setNativeProps",
      value: function setNativeProps(props) {
        var viewRef = this._viewRef;

        if (viewRef) {
          viewRef.setNativeProps(props);
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            children = _this$props.children,
            style = _this$props.style,
            imageStyle = _this$props.imageStyle,
            imageRef = _this$props.imageRef,
            props = (0, _objectWithoutProperties2.default)(_this$props, ["children", "style", "imageStyle", "imageRef"]);
        var flattenedStyle = (0, _flattenStyle.default)(style);
        return React.createElement(_View.default, {
          accessibilityIgnoresInvertColors: true,
          style: style,
          ref: this._captureRef
        }, React.createElement(_Image.default, (0, _extends2.default)({}, props, {
          style: [_StyleSheet.default.absoluteFill, {
            width: flattenedStyle == null ? undefined : flattenedStyle.width,
            height: flattenedStyle == null ? undefined : flattenedStyle.height
          }, imageStyle],
          ref: imageRef
        })), children);
      }
    }]);
    return ImageBackground;
  }(React.Component);

  module.exports = ImageBackground;
},303,[5,6,108,7,8,12,14,16,284,17,183,178,184]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _StyleSheet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _RCTInputAccessoryViewNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var InputAccessoryView = function (_React$Component) {
    (0, _inherits2.default)(InputAccessoryView, _React$Component);

    var _super = _createSuper(InputAccessoryView);

    function InputAccessoryView() {
      (0, _classCallCheck2.default)(this, InputAccessoryView);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(InputAccessoryView, [{
      key: "render",
      value: function render() {
        if (_Platform.default.OS !== 'ios') {
          console.warn('<InputAccessoryView> is only supported on iOS.');
        }

        if (React.Children.count(this.props.children) === 0) {
          return null;
        }

        return React.createElement(_RCTInputAccessoryViewNativeComponent.default, {
          style: [this.props.style, styles.container],
          nativeID: this.props.nativeID,
          backgroundColor: this.props.backgroundColor
        }, this.props.children);
      }
    }]);
    return InputAccessoryView;
  }(React.Component);

  var styles = _StyleSheet.default.create({
    container: {
      position: 'absolute'
    }
  });

  module.exports = InputAccessoryView;
},304,[5,7,8,12,14,16,17,37,183,305]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _codegenNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _default = (0, _codegenNativeComponent.default)('InputAccessory', {
    interfaceOnly: true,
    paperComponentName: 'RCTInputAccessoryView',
    excludedPlatforms: ['android']
  });

  exports.default = _default;
},305,[5,190]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Keyboard = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _LayoutAnimation = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  var _StyleSheet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _View = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var KeyboardAvoidingView = function (_React$Component) {
    (0, _inherits2.default)(KeyboardAvoidingView, _React$Component);

    var _super = _createSuper(KeyboardAvoidingView);

    function KeyboardAvoidingView(props) {
      var _this;

      (0, _classCallCheck2.default)(this, KeyboardAvoidingView);
      _this = _super.call(this, props);
      _this._frame = null;
      _this._keyboardEvent = null;
      _this._subscriptions = [];
      _this._initialFrameHeight = 0;

      _this._onKeyboardChange = function (event) {
        _this._keyboardEvent = event;

        _this._updateBottomIfNecesarry();
      };

      _this._onLayout = function (event) {
        var wasFrameNull = _this._frame == null;
        _this._frame = event.nativeEvent.layout;

        if (!_this._initialFrameHeight) {
          _this._initialFrameHeight = _this._frame.height;
        }

        if (wasFrameNull) {
          _this._updateBottomIfNecesarry();
        }
      };

      _this._updateBottomIfNecesarry = function () {
        if (_this._keyboardEvent == null) {
          _this.setState({
            bottom: 0
          });

          return;
        }

        var _this$_keyboardEvent = _this._keyboardEvent,
            duration = _this$_keyboardEvent.duration,
            easing = _this$_keyboardEvent.easing,
            endCoordinates = _this$_keyboardEvent.endCoordinates;

        var height = _this._relativeKeyboardHeight(endCoordinates);

        if (_this.state.bottom === height) {
          return;
        }

        if (duration && easing) {
          _LayoutAnimation.default.configureNext({
            duration: duration > 10 ? duration : 10,
            update: {
              duration: duration > 10 ? duration : 10,
              type: _LayoutAnimation.default.Types[easing] || 'keyboard'
            }
          });
        }

        _this.setState({
          bottom: height
        });
      };

      _this.state = {
        bottom: 0
      };
      _this.viewRef = React.createRef();
      return _this;
    }

    (0, _createClass2.default)(KeyboardAvoidingView, [{
      key: "_relativeKeyboardHeight",
      value: function _relativeKeyboardHeight(keyboardFrame) {
        var _this$props$keyboardV;

        var frame = this._frame;

        if (!frame || !keyboardFrame) {
          return 0;
        }

        var keyboardY = keyboardFrame.screenY - ((_this$props$keyboardV = this.props.keyboardVerticalOffset) != null ? _this$props$keyboardV : 0);
        return Math.max(frame.y + frame.height - keyboardY, 0);
      }
    }, {
      key: "componentDidMount",
      value: function componentDidMount() {
        if (_Platform.default.OS === 'ios') {
          this._subscriptions = [_Keyboard.default.addListener('keyboardWillChangeFrame', this._onKeyboardChange)];
        } else {
          this._subscriptions = [_Keyboard.default.addListener('keyboardDidHide', this._onKeyboardChange), _Keyboard.default.addListener('keyboardDidShow', this._onKeyboardChange)];
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this._subscriptions.forEach(function (subscription) {
          subscription.remove();
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            behavior = _this$props.behavior,
            children = _this$props.children,
            contentContainerStyle = _this$props.contentContainerStyle,
            _this$props$enabled = _this$props.enabled,
            enabled = _this$props$enabled === undefined ? true : _this$props$enabled,
            _this$props$keyboardV2 = _this$props.keyboardVerticalOffset,
            keyboardVerticalOffset = _this$props$keyboardV2 === undefined ? 0 : _this$props$keyboardV2,
            style = _this$props.style,
            props = (0, _objectWithoutProperties2.default)(_this$props, ["behavior", "children", "contentContainerStyle", "enabled", "keyboardVerticalOffset", "style"]);
        var bottomHeight = enabled === true ? this.state.bottom : 0;

        switch (behavior) {
          case 'height':
            var heightStyle;

            if (this._frame != null && this.state.bottom > 0) {
              heightStyle = {
                height: this._initialFrameHeight - bottomHeight,
                flex: 0
              };
            }

            return React.createElement(_View.default, (0, _extends2.default)({
              ref: this.viewRef,
              style: _StyleSheet.default.compose(style, heightStyle),
              onLayout: this._onLayout
            }, props), children);

          case 'position':
            return React.createElement(_View.default, (0, _extends2.default)({
              ref: this.viewRef,
              style: style,
              onLayout: this._onLayout
            }, props), React.createElement(_View.default, {
              style: _StyleSheet.default.compose(contentContainerStyle, {
                bottom: bottomHeight
              })
            }, children));

          case 'padding':
            return React.createElement(_View.default, (0, _extends2.default)({
              ref: this.viewRef,
              style: _StyleSheet.default.compose(style, {
                paddingBottom: bottomHeight
              }),
              onLayout: this._onLayout
            }, props), children);

          default:
            return React.createElement(_View.default, (0, _extends2.default)({
              ref: this.viewRef,
              onLayout: this._onLayout,
              style: style
            }, props), children);
        }
      }
    }]);
    return KeyboardAvoidingView;
  }(React.Component);

  var _default = KeyboardAvoidingView;
  exports.default = _default;
},306,[5,6,108,7,8,12,14,16,261,262,37,17,183,184]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _StyleSheet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _View = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _RCTMaskedViewNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var MaskedViewIOS = function (_React$Component) {
    (0, _inherits2.default)(MaskedViewIOS, _React$Component);

    var _super = _createSuper(MaskedViewIOS);

    function MaskedViewIOS() {
      var _this;

      (0, _classCallCheck2.default)(this, MaskedViewIOS);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this._hasWarnedInvalidRenderMask = false;
      return _this;
    }

    (0, _createClass2.default)(MaskedViewIOS, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            maskElement = _this$props.maskElement,
            children = _this$props.children,
            otherViewProps = (0, _objectWithoutProperties2.default)(_this$props, ["maskElement", "children"]);

        if (!React.isValidElement(maskElement)) {
          if (!this._hasWarnedInvalidRenderMask) {
            console.warn("MaskedView: Invalid `maskElement` prop was passed to MaskedView. Expected a React Element. No mask will render.");
            this._hasWarnedInvalidRenderMask = true;
          }

          return React.createElement(_View.default, otherViewProps, children);
        }

        return React.createElement(_RCTMaskedViewNativeComponent.default, otherViewProps, React.createElement(_View.default, {
          pointerEvents: "none",
          style: _StyleSheet.default.absoluteFill
        }, maskElement), children);
      }
    }]);
    return MaskedViewIOS;
  }(React.Component);

  module.exports = MaskedViewIOS;
},307,[5,108,7,8,12,14,16,17,183,184,308]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _codegenNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _default = (0, _codegenNativeComponent.default)('RCTMaskedView');

  exports.default = _default;
},308,[5,190]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _defineProperty2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _ModalInjection = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _NativeEventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _NativeModalManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _RCTModalHostViewNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _container, _ModalInjection$unsta;

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var React = _$$_REQUIRE(_dependencyMap[11]);

  var ModalEventEmitter = _NativeModalManager.default != null ? new _NativeEventEmitter.default(_NativeModalManager.default) : null;
  var uniqueModalIdentifier = 0;

  var Modal = function (_React$Component) {
    (0, _inherits2.default)(Modal, _React$Component);

    var _super = _createSuper(Modal);

    function Modal(props) {
      var _this;

      (0, _classCallCheck2.default)(this, Modal);
      _this = _super.call(this, props);
      _this._identifier = uniqueModalIdentifier++;
      return _this;
    }

    (0, _createClass2.default)(Modal, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        if (ModalEventEmitter) {
          this._eventSubscription = ModalEventEmitter.addListener('modalDismissed', function (event) {
            if (event.modalID === _this2._identifier && _this2.props.onDismiss) {
              _this2.props.onDismiss();
            }
          });
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        if (this._eventSubscription) {
          this._eventSubscription.remove();
        }
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate() {}
    }, {
      key: "render",
      value: function render() {
        var _this3 = this;

        if (this.props.visible !== true) {
          return null;
        }

        var containerStyles = {
          backgroundColor: this.props.transparent === true ? 'transparent' : 'white'
        };
        var animationType = this.props.animationType || 'none';
        var presentationStyle = this.props.presentationStyle;

        if (!presentationStyle) {
          presentationStyle = 'fullScreen';

          if (this.props.transparent === true) {
            presentationStyle = 'overFullScreen';
          }
        }

        var innerChildren = this.props.children;
        return React.createElement(_RCTModalHostViewNativeComponent.default, {
          animationType: animationType,
          presentationStyle: presentationStyle,
          transparent: this.props.transparent,
          hardwareAccelerated: this.props.hardwareAccelerated,
          onRequestClose: this.props.onRequestClose,
          onShow: this.props.onShow,
          onDismiss: function onDismiss() {
            if (_this3.props.onDismiss) {
              _this3.props.onDismiss();
            }
          },
          visible: this.props.visible,
          statusBarTranslucent: this.props.statusBarTranslucent,
          identifier: this._identifier,
          style: styles.modal,
          onStartShouldSetResponder: this._shouldSetResponder,
          supportedOrientations: this.props.supportedOrientations,
          onOrientationChange: this.props.onOrientationChange
        }, React.createElement(_$$_REQUIRE(_dependencyMap[12]).VirtualizedListContextResetter, null, React.createElement(_$$_REQUIRE(_dependencyMap[13]).Context.Provider, {
          value: null
        }, React.createElement(_$$_REQUIRE(_dependencyMap[14]), {
          style: [styles.container, containerStyles],
          collapsable: false
        }, innerChildren))));
      }
    }, {
      key: "_shouldSetResponder",
      value: function _shouldSetResponder() {
        return true;
      }
    }]);
    return Modal;
  }(React.Component);

  Modal.defaultProps = {
    visible: true,
    hardwareAccelerated: false
  };
  Modal.contextType = _$$_REQUIRE(_dependencyMap[15]).RootTagContext;
  var side = _$$_REQUIRE(_dependencyMap[16]).getConstants().isRTL ? 'right' : 'left';

  var styles = _$$_REQUIRE(_dependencyMap[17]).create({
    modal: {
      position: 'absolute'
    },
    container: (_container = {}, (0, _defineProperty2.default)(_container, side, 0), (0, _defineProperty2.default)(_container, "top", 0), (0, _defineProperty2.default)(_container, "flex", 1), _container)
  });

  var ExportedModal = (_ModalInjection$unsta = _ModalInjection.default.unstable_Modal) != null ? _ModalInjection$unsta : Modal;
  module.exports = ExportedModal;
},309,[5,27,7,8,12,14,16,310,110,311,312,17,282,259,184,313,314,183]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;
  var _default = {
    unstable_Modal: null
  };
  exports.default = _default;
},310,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('ModalManager');

  exports.default = _default;
},311,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _codegenNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _default = (0, _codegenNativeComponent.default)('ModalHostView', {
    interfaceOnly: true,
    paperComponentName: 'RCTModalHostView'
  });

  exports.default = _default;
},312,[5,190]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createRootTag = createRootTag;
  exports.RootTagContext = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var RootTagContext = React.createContext(0);
  exports.RootTagContext = RootTagContext;

  function createRootTag(rootTag) {
    return rootTag;
  }
},313,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _NativeI18nManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var i18nConstants = getI18nManagerConstants();

  function getI18nManagerConstants() {
    if (_NativeI18nManager.default) {
      var _NativeI18nManager$ge = _NativeI18nManager.default.getConstants(),
          isRTL = _NativeI18nManager$ge.isRTL,
          doLeftAndRightSwapInRTL = _NativeI18nManager$ge.doLeftAndRightSwapInRTL,
          localeIdentifier = _NativeI18nManager$ge.localeIdentifier;

      return {
        isRTL: isRTL,
        doLeftAndRightSwapInRTL: doLeftAndRightSwapInRTL,
        localeIdentifier: localeIdentifier
      };
    }

    return {
      isRTL: false,
      doLeftAndRightSwapInRTL: true
    };
  }

  module.exports = {
    getConstants: function getConstants() {
      return i18nConstants;
    },
    allowRTL: function allowRTL(shouldAllow) {
      if (!_NativeI18nManager.default) {
        return;
      }

      _NativeI18nManager.default.allowRTL(shouldAllow);
    },
    forceRTL: function forceRTL(shouldForce) {
      if (!_NativeI18nManager.default) {
        return;
      }

      _NativeI18nManager.default.forceRTL(shouldForce);
    },
    swapLeftAndRightInRTL: function swapLeftAndRightInRTL(flipStyles) {
      if (!_NativeI18nManager.default) {
        return;
      }

      _NativeI18nManager.default.swapLeftAndRightInRTL(flipStyles);
    },
    isRTL: i18nConstants.isRTL,
    doLeftAndRightSwapInRTL: i18nConstants.doLeftAndRightSwapInRTL
  };
},314,[5,315]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('I18nManager');

  exports.default = _default;
},315,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _useAndroidRippleForView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _usePressability = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _View = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function Pressable(props, forwardedRef) {
    var accessible = props.accessible,
        android_disableSound = props.android_disableSound,
        android_ripple = props.android_ripple,
        cancelable = props.cancelable,
        children = props.children,
        delayLongPress = props.delayLongPress,
        disabled = props.disabled,
        focusable = props.focusable,
        onLongPress = props.onLongPress,
        onPress = props.onPress,
        _onPressIn = props.onPressIn,
        _onPressOut = props.onPressOut,
        pressRetentionOffset = props.pressRetentionOffset,
        style = props.style,
        testOnly_pressed = props.testOnly_pressed,
        unstable_pressDelay = props.unstable_pressDelay,
        restProps = (0, _objectWithoutProperties2.default)(props, ["accessible", "android_disableSound", "android_ripple", "cancelable", "children", "delayLongPress", "disabled", "focusable", "onLongPress", "onPress", "onPressIn", "onPressOut", "pressRetentionOffset", "style", "testOnly_pressed", "unstable_pressDelay"]);
    var viewRef = (0, React.useRef)(null);
    (0, React.useImperativeHandle)(forwardedRef, function () {
      return viewRef.current;
    });
    var android_rippleConfig = (0, _useAndroidRippleForView.default)(android_ripple, viewRef);

    var _usePressState = usePressState(testOnly_pressed === true),
        _usePressState2 = (0, _slicedToArray2.default)(_usePressState, 2),
        pressed = _usePressState2[0],
        setPressed = _usePressState2[1];

    var hitSlop = (0, _$$_REQUIRE(_dependencyMap[8]).normalizeRect)(props.hitSlop);
    var accessibilityState = disabled != null ? (0, _extends2.default)({}, props.accessibilityState, {
      disabled: disabled
    }) : props.accessibilityState;
    var restPropsWithDefaults = (0, _extends2.default)({}, restProps, android_rippleConfig == null ? undefined : android_rippleConfig.viewProps, {
      accessible: accessible !== false,
      accessibilityState: accessibilityState,
      focusable: focusable !== false,
      hitSlop: hitSlop
    });
    var config = (0, React.useMemo)(function () {
      return {
        cancelable: cancelable,
        disabled: disabled,
        hitSlop: hitSlop,
        pressRectOffset: pressRetentionOffset,
        android_disableSound: android_disableSound,
        delayLongPress: delayLongPress,
        delayPressIn: unstable_pressDelay,
        onLongPress: onLongPress,
        onPress: onPress,
        onPressIn: function onPressIn(event) {
          if (android_rippleConfig != null) {
            android_rippleConfig.onPressIn(event);
          }

          setPressed(true);

          if (_onPressIn != null) {
            _onPressIn(event);
          }
        },
        onPressMove: android_rippleConfig == null ? undefined : android_rippleConfig.onPressMove,
        onPressOut: function onPressOut(event) {
          if (android_rippleConfig != null) {
            android_rippleConfig.onPressOut(event);
          }

          setPressed(false);

          if (_onPressOut != null) {
            _onPressOut(event);
          }
        }
      };
    }, [android_disableSound, android_rippleConfig, cancelable, delayLongPress, disabled, hitSlop, onLongPress, onPress, _onPressIn, _onPressOut, pressRetentionOffset, setPressed, unstable_pressDelay]);
    var eventHandlers = (0, _usePressability.default)(config);
    return React.createElement(_View.default, (0, _extends2.default)({}, restPropsWithDefaults, eventHandlers, {
      ref: viewRef,
      style: typeof style === 'function' ? style({
        pressed: pressed
      }) : style,
      collapsable: false
    }), typeof children === 'function' ? children({
      pressed: pressed
    }) : children, null);
  }

  function usePressState(forcePressed) {
    var _useState = (0, React.useState)(false),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        pressed = _useState2[0],
        setPressed = _useState2[1];

    return [pressed || forcePressed, setPressed];
  }

  var MemoedPressable = React.memo(React.forwardRef(Pressable));
  MemoedPressable.displayName = 'Pressable';
  var _default = MemoedPressable;
  exports.default = _default;
},316,[5,6,41,108,17,317,210,184,216]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useAndroidRippleForView;

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useAndroidRippleForView(rippleConfig, viewRef) {
    var _ref = rippleConfig != null ? rippleConfig : {},
        color = _ref.color,
        borderless = _ref.borderless,
        radius = _ref.radius,
        foreground = _ref.foreground;

    return (0, React.useMemo)(function () {
      if (_reactNative.Platform.OS === 'android' && _reactNative.Platform.Version >= 21 && (color != null || borderless != null || radius != null)) {
        var processedColor = (0, _reactNative.processColor)(color);
        (0, _invariant.default)(processedColor == null || typeof processedColor === 'number', 'Unexpected color given for Ripple color');
        var nativeRippleValue = {
          type: 'RippleAndroid',
          color: processedColor,
          borderless: borderless === true,
          rippleRadius: radius
        };
        return {
          viewProps: foreground === true ? {
            nativeForegroundAndroid: nativeRippleValue
          } : {
            nativeBackgroundAndroid: nativeRippleValue
          },
          onPressIn: function onPressIn(event) {
            var view = viewRef.current;

            if (view != null) {
              var _event$nativeEvent$lo, _event$nativeEvent$lo2;

              _$$_REQUIRE(_dependencyMap[4]).Commands.hotspotUpdate(view, (_event$nativeEvent$lo = event.nativeEvent.locationX) != null ? _event$nativeEvent$lo : 0, (_event$nativeEvent$lo2 = event.nativeEvent.locationY) != null ? _event$nativeEvent$lo2 : 0);

              _$$_REQUIRE(_dependencyMap[4]).Commands.setPressed(view, true);
            }
          },
          onPressMove: function onPressMove(event) {
            var view = viewRef.current;

            if (view != null) {
              var _event$nativeEvent$lo3, _event$nativeEvent$lo4;

              _$$_REQUIRE(_dependencyMap[4]).Commands.hotspotUpdate(view, (_event$nativeEvent$lo3 = event.nativeEvent.locationX) != null ? _event$nativeEvent$lo3 : 0, (_event$nativeEvent$lo4 = event.nativeEvent.locationY) != null ? _event$nativeEvent$lo4 : 0);
            }
          },
          onPressOut: function onPressOut(event) {
            var view = viewRef.current;

            if (view != null) {
              _$$_REQUIRE(_dependencyMap[4]).Commands.setPressed(view, false);
            }
          }
        };
      }

      return null;
    }, [borderless, color, foreground, radius, viewRef]);
  }
},317,[5,36,28,17,185]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _StyleSheet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _RCTProgressViewNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var ProgressViewIOS = function ProgressViewIOS(props, forwardedRef) {
    return React.createElement(_RCTProgressViewNativeComponent.default, (0, _extends2.default)({}, props, {
      style: [styles.progressView, props.style],
      ref: forwardedRef
    }));
  };

  var styles = _StyleSheet.default.create({
    progressView: {
      height: 2
    }
  });

  var ProgressViewIOSWithRef = React.forwardRef(ProgressViewIOS);
  module.exports = ProgressViewIOSWithRef;
},318,[5,6,17,183,319]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _codegenNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _default = (0, _codegenNativeComponent.default)('RCTProgressView');

  exports.default = _default;
},319,[5,190]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _View = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var exported;

  if (_Platform.default.OS === 'android') {
    exported = React.forwardRef(function SafeAreaView(props, forwardedRef) {
      var emulateUnlessSupported = props.emulateUnlessSupported,
          localProps = (0, _objectWithoutProperties2.default)(props, ["emulateUnlessSupported"]);
      return React.createElement(_View.default, (0, _extends2.default)({}, localProps, {
        ref: forwardedRef
      }));
    });
  } else {
    var RCTSafeAreaViewNativeComponent = _$$_REQUIRE(_dependencyMap[6]).default;

    exported = React.forwardRef(function SafeAreaView(props, forwardedRef) {
      return React.createElement(RCTSafeAreaViewNativeComponent, (0, _extends2.default)({
        emulateUnlessSupported: true
      }, props, {
        ref: forwardedRef
      }));
    });
  }

  var _default = exported;
  exports.default = _default;
},320,[5,6,108,37,17,184,321]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _codegenNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _default = (0, _codegenNativeComponent.default)('SafeAreaView', {
    paperComponentName: 'RCTSafeAreaView',
    interfaceOnly: true
  });

  exports.default = _default;
},321,[5,190]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _StyleSheet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _RCTSegmentedControlNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SegmentedControlIOS = function (_React$Component) {
    (0, _inherits2.default)(SegmentedControlIOS, _React$Component);

    var _super = _createSuper(SegmentedControlIOS);

    function SegmentedControlIOS() {
      var _this;

      (0, _classCallCheck2.default)(this, SegmentedControlIOS);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));

      _this._onChange = function (event) {
        _this.props.onChange && _this.props.onChange(event);
        _this.props.onValueChange && _this.props.onValueChange(event.nativeEvent.value);
      };

      return _this;
    }

    (0, _createClass2.default)(SegmentedControlIOS, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            enabled = _this$props.enabled,
            forwardedRef = _this$props.forwardedRef,
            onValueChange = _this$props.onValueChange,
            style = _this$props.style,
            values = _this$props.values,
            props = (0, _objectWithoutProperties2.default)(_this$props, ["enabled", "forwardedRef", "onValueChange", "style", "values"]);
        return React.createElement(_RCTSegmentedControlNativeComponent.default, (0, _extends2.default)({}, props, {
          ref: forwardedRef,
          style: [styles.segmentedControl, style],
          enabled: enabled !== false,
          values: values != null ? values : [],
          onChange: this._onChange
        }));
      }
    }]);
    return SegmentedControlIOS;
  }(React.Component);

  var styles = _StyleSheet.default.create({
    segmentedControl: {
      height: 28
    }
  });

  var SegmentedControlIOSWithRef = React.forwardRef(function (props, forwardedRef) {
    return React.createElement(SegmentedControlIOS, (0, _extends2.default)({}, props, {
      forwardedRef: forwardedRef
    }));
  });
  module.exports = SegmentedControlIOSWithRef;
},322,[5,6,108,7,8,12,14,16,17,183,323]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _codegenNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _default = (0, _codegenNativeComponent.default)('RCTSegmentedControl');

  exports.default = _default;
},323,[5,190]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _SliderNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _StyleSheet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Slider = function Slider(props, forwardedRef) {
    var _props$accessibilityS;

    var style = _StyleSheet.default.compose(styles.slider, props.style);

    var _props$value = props.value,
        value = _props$value === undefined ? 0.5 : _props$value,
        _props$minimumValue = props.minimumValue,
        minimumValue = _props$minimumValue === undefined ? 0 : _props$minimumValue,
        _props$maximumValue = props.maximumValue,
        maximumValue = _props$maximumValue === undefined ? 1 : _props$maximumValue,
        _props$step = props.step,
        step = _props$step === undefined ? 0 : _props$step,
        onValueChange = props.onValueChange,
        onSlidingComplete = props.onSlidingComplete,
        localProps = (0, _objectWithoutProperties2.default)(props, ["value", "minimumValue", "maximumValue", "step", "onValueChange", "onSlidingComplete"]);
    var onValueChangeEvent = onValueChange ? function (event) {
      var userEvent = true;

      if (_Platform.default.OS === 'android') {
        userEvent = event.nativeEvent.fromUser != null && event.nativeEvent.fromUser;
      }

      userEvent && onValueChange(event.nativeEvent.value);
    } : null;
    var onChangeEvent = onValueChangeEvent;
    var onSlidingCompleteEvent = onSlidingComplete ? function (event) {
      onSlidingComplete(event.nativeEvent.value);
    } : null;
    var disabled = props.disabled === true || ((_props$accessibilityS = props.accessibilityState) == null ? undefined : _props$accessibilityS.disabled) === true;
    var accessibilityState = disabled ? (0, _extends2.default)({}, props.accessibilityState, {
      disabled: true
    }) : props.accessibilityState;
    return React.createElement(_SliderNativeComponent.default, (0, _extends2.default)({}, localProps, {
      accessibilityState: accessibilityState,
      enabled: !disabled,
      disabled: disabled,
      maximumValue: maximumValue,
      minimumValue: minimumValue,
      onChange: onChangeEvent,
      onResponderTerminationRequest: function onResponderTerminationRequest() {
        return false;
      },
      onSlidingComplete: onSlidingCompleteEvent,
      onStartShouldSetResponder: function onStartShouldSetResponder() {
        return true;
      },
      onValueChange: onValueChangeEvent,
      ref: forwardedRef,
      step: step,
      style: style,
      value: value
    }));
  };

  var SliderWithRef = React.forwardRef(Slider);
  var styles;

  if (_Platform.default.OS === 'ios') {
    styles = _StyleSheet.default.create({
      slider: {
        height: 40
      }
    });
  } else {
    styles = _StyleSheet.default.create({
      slider: {}
    });
  }

  module.exports = SliderWithRef;
},324,[5,6,108,17,37,325,183]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _codegenNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _default = (0, _codegenNativeComponent.default)('Slider', {
    interfaceOnly: true,
    paperComponentName: 'RCTSlider'
  });

  exports.default = _default;
},325,[5,190]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _processColor = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _NativeStatusBarManagerAndroid = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _NativeStatusBarManagerIOS = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _NativeStatusBarManag;

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  function mergePropsStack(propsStack, defaultValues) {
    return propsStack.reduce(function (prev, cur) {
      for (var prop in cur) {
        if (cur[prop] != null) {
          prev[prop] = cur[prop];
        }
      }

      return prev;
    }, (0, _extends2.default)({}, defaultValues));
  }

  function createStackEntry(props) {
    var _props$animated, _props$showHideTransi;

    var animated = (_props$animated = props.animated) != null ? _props$animated : false;
    var showHideTransition = (_props$showHideTransi = props.showHideTransition) != null ? _props$showHideTransi : 'fade';
    return {
      backgroundColor: props.backgroundColor != null ? {
        value: props.backgroundColor,
        animated: animated
      } : null,
      barStyle: props.barStyle != null ? {
        value: props.barStyle,
        animated: animated
      } : null,
      translucent: props.translucent,
      hidden: props.hidden != null ? {
        value: props.hidden,
        animated: animated,
        transition: showHideTransition
      } : null,
      networkActivityIndicatorVisible: props.networkActivityIndicatorVisible
    };
  }

  var StatusBar = function (_React$Component) {
    (0, _inherits2.default)(StatusBar, _React$Component);

    var _super = _createSuper(StatusBar);

    function StatusBar() {
      var _this;

      (0, _classCallCheck2.default)(this, StatusBar);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this._stackEntry = null;
      return _this;
    }

    (0, _createClass2.default)(StatusBar, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this._stackEntry = StatusBar.pushStackEntry(this.props);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        StatusBar.popStackEntry(this._stackEntry);
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate() {
        this._stackEntry = StatusBar.replaceStackEntry(this._stackEntry, this.props);
      }
    }, {
      key: "render",
      value: function render() {
        return null;
      }
    }], [{
      key: "setHidden",
      value: function setHidden(hidden, animation) {
        animation = animation || 'none';
        StatusBar._defaultProps.hidden.value = hidden;

        if (_Platform.default.OS === 'ios') {
          _NativeStatusBarManagerIOS.default.setHidden(hidden, animation);
        } else if (_Platform.default.OS === 'android') {
          _NativeStatusBarManagerAndroid.default.setHidden(hidden);
        }
      }
    }, {
      key: "setBarStyle",
      value: function setBarStyle(style, animated) {
        animated = animated || false;
        StatusBar._defaultProps.barStyle.value = style;

        if (_Platform.default.OS === 'ios') {
          _NativeStatusBarManagerIOS.default.setStyle(style, animated);
        } else if (_Platform.default.OS === 'android') {
          _NativeStatusBarManagerAndroid.default.setStyle(style);
        }
      }
    }, {
      key: "setNetworkActivityIndicatorVisible",
      value: function setNetworkActivityIndicatorVisible(visible) {
        if (_Platform.default.OS !== 'ios') {
          console.warn('`setNetworkActivityIndicatorVisible` is only available on iOS');
          return;
        }

        StatusBar._defaultProps.networkActivityIndicatorVisible = visible;

        _NativeStatusBarManagerIOS.default.setNetworkActivityIndicatorVisible(visible);
      }
    }, {
      key: "setBackgroundColor",
      value: function setBackgroundColor(color, animated) {
        if (_Platform.default.OS !== 'android') {
          console.warn('`setBackgroundColor` is only available on Android');
          return;
        }

        animated = animated || false;
        StatusBar._defaultProps.backgroundColor.value = color;
        var processedColor = (0, _processColor.default)(color);

        if (processedColor == null) {
          console.warn("`StatusBar.setBackgroundColor`: Color " + color + " parsed to null or undefined");
          return;
        }

        (0, _invariant.default)(typeof processedColor === 'number', 'Unexpected color given for StatusBar.setBackgroundColor');

        _NativeStatusBarManagerAndroid.default.setColor(processedColor, animated);
      }
    }, {
      key: "setTranslucent",
      value: function setTranslucent(translucent) {
        if (_Platform.default.OS !== 'android') {
          console.warn('`setTranslucent` is only available on Android');
          return;
        }

        StatusBar._defaultProps.translucent = translucent;

        _NativeStatusBarManagerAndroid.default.setTranslucent(translucent);
      }
    }, {
      key: "pushStackEntry",
      value: function pushStackEntry(props) {
        var entry = createStackEntry(props);

        StatusBar._propsStack.push(entry);

        StatusBar._updatePropsStack();

        return entry;
      }
    }, {
      key: "popStackEntry",
      value: function popStackEntry(entry) {
        var index = StatusBar._propsStack.indexOf(entry);

        if (index !== -1) {
          StatusBar._propsStack.splice(index, 1);
        }

        StatusBar._updatePropsStack();
      }
    }, {
      key: "replaceStackEntry",
      value: function replaceStackEntry(entry, props) {
        var newEntry = createStackEntry(props);

        var index = StatusBar._propsStack.indexOf(entry);

        if (index !== -1) {
          StatusBar._propsStack[index] = newEntry;
        }

        StatusBar._updatePropsStack();

        return newEntry;
      }
    }]);
    return StatusBar;
  }(React.Component);

  StatusBar._propsStack = [];
  StatusBar._defaultProps = createStackEntry({
    backgroundColor: _Platform.default.OS === 'android' ? (_NativeStatusBarManag = _NativeStatusBarManagerAndroid.default.getConstants().DEFAULT_BACKGROUND_COLOR) != null ? _NativeStatusBarManag : 'black' : 'black',
    barStyle: 'default',
    translucent: false,
    hidden: false,
    networkActivityIndicatorVisible: false
  });
  StatusBar._updateImmediate = null;
  StatusBar._currentValues = null;
  StatusBar.currentHeight = _Platform.default.OS === 'android' ? _NativeStatusBarManagerAndroid.default.getConstants().HEIGHT : null;

  StatusBar._updatePropsStack = function () {
    clearImmediate(StatusBar._updateImmediate);
    StatusBar._updateImmediate = setImmediate(function () {
      var oldProps = StatusBar._currentValues;
      var mergedProps = mergePropsStack(StatusBar._propsStack, StatusBar._defaultProps);

      if (_Platform.default.OS === 'ios') {
        if (!oldProps || oldProps.barStyle.value !== mergedProps.barStyle.value) {
          _NativeStatusBarManagerIOS.default.setStyle(mergedProps.barStyle.value, mergedProps.barStyle.animated || false);
        }

        if (!oldProps || oldProps.hidden.value !== mergedProps.hidden.value) {
          _NativeStatusBarManagerIOS.default.setHidden(mergedProps.hidden.value, mergedProps.hidden.animated ? mergedProps.hidden.transition : 'none');
        }

        if (!oldProps || oldProps.networkActivityIndicatorVisible !== mergedProps.networkActivityIndicatorVisible) {
          _NativeStatusBarManagerIOS.default.setNetworkActivityIndicatorVisible(mergedProps.networkActivityIndicatorVisible);
        }
      } else if (_Platform.default.OS === 'android') {
        _NativeStatusBarManagerAndroid.default.setStyle(mergedProps.barStyle.value);

        var processedColor = (0, _processColor.default)(mergedProps.backgroundColor.value);

        if (processedColor == null) {
          console.warn("`StatusBar._updatePropsStack`: Color " + mergedProps.backgroundColor.value + " parsed to null or undefined");
        } else {
          (0, _invariant.default)(typeof processedColor === 'number', 'Unexpected color given in StatusBar._updatePropsStack');

          _NativeStatusBarManagerAndroid.default.setColor(processedColor, mergedProps.backgroundColor.animated);
        }

        if (!oldProps || oldProps.hidden.value !== mergedProps.hidden.value) {
          _NativeStatusBarManagerAndroid.default.setHidden(mergedProps.hidden.value);
        }

        if (!oldProps || oldProps.translucent !== mergedProps.translucent) {
          _NativeStatusBarManagerAndroid.default.setTranslucent(mergedProps.translucent);
        }
      }

      StatusBar._currentValues = mergedProps;
    });
  };

  module.exports = StatusBar;
},326,[5,7,8,12,14,16,6,17,37,36,145,327,328]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var NativeModule = TurboModuleRegistry.getEnforcing('StatusBarManager');
  var constants = null;
  var NativeStatusBarManager = {
    getConstants: function getConstants() {
      if (constants == null) {
        constants = NativeModule.getConstants();
      }

      return constants;
    },
    setColor: function setColor(color, animated) {
      NativeModule.setColor(color, animated);
    },
    setTranslucent: function setTranslucent(translucent) {
      NativeModule.setTranslucent(translucent);
    },
    setStyle: function setStyle(statusBarStyle) {
      NativeModule.setStyle(statusBarStyle);
    },
    setHidden: function setHidden(hidden) {
      NativeModule.setHidden(hidden);
    }
  };
  var _default = NativeStatusBarManager;
  exports.default = _default;
},327,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var NativeModule = TurboModuleRegistry.getEnforcing('StatusBarManager');
  var constants = null;
  var NativeStatusBarManager = {
    getConstants: function getConstants() {
      if (constants == null) {
        constants = NativeModule.getConstants();
      }

      return constants;
    },
    getHeight: function getHeight(callback) {
      NativeModule.getHeight(callback);
    },
    setNetworkActivityIndicatorVisible: function setNetworkActivityIndicatorVisible(visible) {
      NativeModule.setNetworkActivityIndicatorVisible(visible);
    },
    addListener: function addListener(eventType) {
      NativeModule.addListener(eventType);
    },
    removeListeners: function removeListeners(count) {
      NativeModule.removeListeners(count);
    },
    setStyle: function setStyle(statusBarStyle, animated) {
      NativeModule.setStyle(statusBarStyle, animated);
    },
    setHidden: function setHidden(hidden, withAnimation) {
      NativeModule.setHidden(hidden, withAnimation);
    }
  };
  var _default = NativeStatusBarManager;
  exports.default = _default;
},328,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _StyleSheet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _useMergeRefs = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _AndroidSwitchNativeComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _SwitchNativeComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var returnsFalse = function returnsFalse() {
    return false;
  };

  var returnsTrue = function returnsTrue() {
    return true;
  };

  var SwitchWithForwardedRef = React.forwardRef(function Switch(props, forwardedRef) {
    var disabled = props.disabled,
        ios_backgroundColor = props.ios_backgroundColor,
        onChange = props.onChange,
        onValueChange = props.onValueChange,
        style = props.style,
        thumbColor = props.thumbColor,
        trackColor = props.trackColor,
        value = props.value,
        restProps = (0, _objectWithoutProperties2.default)(props, ["disabled", "ios_backgroundColor", "onChange", "onValueChange", "style", "thumbColor", "trackColor", "value"]);
    var trackColorForFalse = trackColor == null ? undefined : trackColor.false;
    var trackColorForTrue = trackColor == null ? undefined : trackColor.true;
    var nativeSwitchRef = React.useRef(null);
    var ref = (0, _useMergeRefs.default)(nativeSwitchRef, forwardedRef);

    var _React$useState = React.useState({
      value: null
    }),
        _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
        native = _React$useState2[0],
        setNative = _React$useState2[1];

    var handleChange = function handleChange(event) {
      onChange == null ? undefined : onChange(event);
      onValueChange == null ? undefined : onValueChange(event.nativeEvent.value);
      setNative({
        value: event.nativeEvent.value
      });
    };

    React.useLayoutEffect(function () {
      var _nativeSwitchRef$curr;

      var jsValue = value === true;
      var shouldUpdateNativeSwitch = native.value != null && native.value !== jsValue;

      if (shouldUpdateNativeSwitch && ((_nativeSwitchRef$curr = nativeSwitchRef.current) == null ? undefined : _nativeSwitchRef$curr.setNativeProps) != null) {
        if (_Platform.default.OS === 'android') {
          _AndroidSwitchNativeComponent.Commands.setNativeValue(nativeSwitchRef.current, jsValue);
        } else {
          _SwitchNativeComponent.Commands.setValue(nativeSwitchRef.current, jsValue);
        }
      }
    }, [value, native]);

    if (_Platform.default.OS === 'android') {
      var _props$accessibilityR;

      var platformProps = {
        enabled: disabled !== true,
        on: value === true,
        style: style,
        thumbTintColor: thumbColor,
        trackColorForFalse: trackColorForFalse,
        trackColorForTrue: trackColorForTrue,
        trackTintColor: value === true ? trackColorForTrue : trackColorForFalse
      };
      return React.createElement(_AndroidSwitchNativeComponent.default, (0, _extends2.default)({}, restProps, platformProps, {
        accessibilityRole: (_props$accessibilityR = props.accessibilityRole) != null ? _props$accessibilityR : 'switch',
        onChange: handleChange,
        onResponderTerminationRequest: returnsFalse,
        onStartShouldSetResponder: returnsTrue,
        ref: ref
      }));
    } else {
      var _props$accessibilityR2;

      var _platformProps = {
        disabled: disabled,
        onTintColor: trackColorForTrue,
        style: _StyleSheet.default.compose({
          height: 31,
          width: 51
        }, _StyleSheet.default.compose(style, ios_backgroundColor == null ? null : {
          backgroundColor: ios_backgroundColor,
          borderRadius: 16
        })),
        thumbTintColor: thumbColor,
        tintColor: trackColorForFalse,
        value: value === true
      };
      return React.createElement(_SwitchNativeComponent.default, (0, _extends2.default)({}, restProps, _platformProps, {
        accessibilityRole: (_props$accessibilityR2 = props.accessibilityRole) != null ? _props$accessibilityR2 : 'switch',
        onChange: handleChange,
        onResponderTerminationRequest: returnsFalse,
        onStartShouldSetResponder: returnsTrue,
        ref: ref
      }));
    }
  });
  var _default = SwitchWithForwardedRef;
  exports.default = _default;
},329,[5,6,41,108,37,17,183,330,331,332]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useMergeRefs;

  var _react = _$$_REQUIRE(_dependencyMap[0]);

  function useMergeRefs() {
    for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
      refs[_key] = arguments[_key];
    }

    return (0, _react.useCallback)(function (current) {
      for (var _i = 0, _refs = refs; _i < _refs.length; _i++) {
        var ref = _refs[_i];

        if (ref != null) {
          if (typeof ref === 'function') {
            ref(current);
          } else {
            ref.current = current;
          }
        }
      }
    }, [].concat(refs));
  }
},330,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.Commands = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _codegenNativeCommands = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _codegenNativeComponent = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Commands = (0, _codegenNativeCommands.default)({
    supportedCommands: ['setNativeValue']
  });
  exports.Commands = Commands;

  var _default = (0, _codegenNativeComponent.default)('AndroidSwitch', {
    interfaceOnly: true
  });

  exports.default = _default;
},331,[17,5,141,190]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.Commands = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _codegenNativeComponent = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _codegenNativeCommands = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Commands = (0, _codegenNativeCommands.default)({
    supportedCommands: ['setValue']
  });
  exports.Commands = Commands;

  var _default = (0, _codegenNativeComponent.default)('Switch', {
    paperComponentName: 'RCTSwitch',
    excludedPlatforms: ['android']
  });

  exports.default = _default;
},332,[17,5,190,141]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _DeprecatedTextInputPropTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _StyleSheet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Text = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _TextAncestor = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _TextInputState = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _nullthrows = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _setAndForwardRef = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _usePressability = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var useLayoutEffect = React.useLayoutEffect,
      useRef = React.useRef,
      useState = React.useState;
  var AndroidTextInput;
  var AndroidTextInputCommands;
  var RCTSinglelineTextInputView;
  var RCTSinglelineTextInputNativeCommands;
  var RCTMultilineTextInputView;
  var RCTMultilineTextInputNativeCommands;

  if (_Platform.default.OS === 'android') {
    AndroidTextInput = _$$_REQUIRE(_dependencyMap[15]).default;
    AndroidTextInputCommands = _$$_REQUIRE(_dependencyMap[15]).Commands;
  } else if (_Platform.default.OS === 'ios') {
    RCTSinglelineTextInputView = _$$_REQUIRE(_dependencyMap[16]).default;
    RCTSinglelineTextInputNativeCommands = _$$_REQUIRE(_dependencyMap[16]).Commands;
    RCTMultilineTextInputView = _$$_REQUIRE(_dependencyMap[17]).default;
    RCTMultilineTextInputNativeCommands = _$$_REQUIRE(_dependencyMap[17]).Commands;
  }

  var emptyFunctionThatReturnsTrue = function emptyFunctionThatReturnsTrue() {
    return true;
  };

  function InternalTextInput(props) {
    var _props$selection$end, _props$blurOnSubmit;

    var inputRef = useRef(null);
    var selection = props.selection == null ? null : {
      start: props.selection.start,
      end: (_props$selection$end = props.selection.end) != null ? _props$selection$end : props.selection.start
    };

    var _useState = useState(0),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        mostRecentEventCount = _useState2[0],
        setMostRecentEventCount = _useState2[1];

    var _useState3 = useState(props.value),
        _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
        lastNativeText = _useState4[0],
        setLastNativeText = _useState4[1];

    var _useState5 = useState({
      selection: selection,
      mostRecentEventCount: mostRecentEventCount
    }),
        _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
        lastNativeSelectionState = _useState6[0],
        setLastNativeSelection = _useState6[1];

    var lastNativeSelection = lastNativeSelectionState.selection;
    var lastNativeSelectionEventCount = lastNativeSelectionState.mostRecentEventCount;

    if (lastNativeSelectionEventCount < mostRecentEventCount) {
      selection = null;
    }

    var viewCommands;

    if (AndroidTextInputCommands) {
      viewCommands = AndroidTextInputCommands;
    } else {
      viewCommands = props.multiline === true ? RCTMultilineTextInputNativeCommands : RCTSinglelineTextInputNativeCommands;
    }

    var text = typeof props.value === 'string' ? props.value : typeof props.defaultValue === 'string' ? props.defaultValue : '';
    useLayoutEffect(function () {
      var nativeUpdate = {};

      if (lastNativeText !== props.value && typeof props.value === 'string') {
        nativeUpdate.text = props.value;
        setLastNativeText(props.value);
      }

      if (selection && lastNativeSelection && (lastNativeSelection.start !== selection.start || lastNativeSelection.end !== selection.end)) {
        nativeUpdate.selection = selection;
        setLastNativeSelection({
          selection: selection,
          mostRecentEventCount: mostRecentEventCount
        });
      }

      if (Object.keys(nativeUpdate).length === 0) {
        return;
      }

      if (inputRef.current != null) {
        var _selection$start, _selection, _selection$end, _selection2;

        viewCommands.setTextAndSelection(inputRef.current, mostRecentEventCount, text, (_selection$start = (_selection = selection) == null ? undefined : _selection.start) != null ? _selection$start : -1, (_selection$end = (_selection2 = selection) == null ? undefined : _selection2.end) != null ? _selection$end : -1);
      }
    }, [mostRecentEventCount, inputRef, props.value, props.defaultValue, lastNativeText, selection, lastNativeSelection, text, viewCommands]);
    useLayoutEffect(function () {
      var inputRefValue = inputRef.current;

      if (inputRefValue != null) {
        _TextInputState.default.registerInput(inputRefValue);

        return function () {
          _TextInputState.default.unregisterInput(inputRefValue);

          if (_TextInputState.default.currentlyFocusedInput() === inputRefValue) {
            (0, _nullthrows.default)(inputRefValue).blur();
          }
        };
      }
    }, [inputRef]);

    function clear() {
      if (inputRef.current != null) {
        viewCommands.setTextAndSelection(inputRef.current, mostRecentEventCount, '', 0, 0);
      }
    }

    function isFocused() {
      return _TextInputState.default.currentlyFocusedInput() === inputRef.current;
    }

    function getNativeRef() {
      return inputRef.current;
    }

    var _setNativeRef = (0, _setAndForwardRef.default)({
      getForwardedRef: function getForwardedRef() {
        return props.forwardedRef;
      },
      setLocalRef: function setLocalRef(ref) {
        inputRef.current = ref;

        if (ref) {
          ref.clear = clear;
          ref.isFocused = isFocused;
          ref.getNativeRef = getNativeRef;
        }
      }
    });

    var _onChange = function _onChange(event) {
      var text = event.nativeEvent.text;
      props.onChange && props.onChange(event);
      props.onChangeText && props.onChangeText(text);

      if (inputRef.current == null) {
        return;
      }

      setLastNativeText(text);
      setMostRecentEventCount(event.nativeEvent.eventCount);
    };

    var _onSelectionChange = function _onSelectionChange(event) {
      props.onSelectionChange && props.onSelectionChange(event);

      if (inputRef.current == null) {
        return;
      }

      setLastNativeSelection({
        selection: event.nativeEvent.selection,
        mostRecentEventCount: mostRecentEventCount
      });
    };

    var _onFocus = function _onFocus(event) {
      _TextInputState.default.focusInput(inputRef.current);

      if (props.onFocus) {
        props.onFocus(event);
      }
    };

    var _onBlur = function _onBlur(event) {
      _TextInputState.default.blurInput(inputRef.current);

      if (props.onBlur) {
        props.onBlur(event);
      }
    };

    var _onScroll = function _onScroll(event) {
      props.onScroll && props.onScroll(event);
    };

    var textInput = null;
    var blurOnSubmit = (_props$blurOnSubmit = props.blurOnSubmit) != null ? _props$blurOnSubmit : !props.multiline;
    var accessible = props.accessible !== false;
    var focusable = props.focusable !== false;
    var config = React.useMemo(function () {
      return {
        onPress: function onPress(event) {
          if (props.editable !== false) {
            if (inputRef.current != null) {
              inputRef.current.focus();
            }
          }
        },
        onPressIn: props.onPressIn,
        onPressOut: props.onPressOut,
        cancelable: _Platform.default.OS === 'ios' ? !props.rejectResponderTermination : null
      };
    }, [props.editable, props.onPressIn, props.onPressOut, props.rejectResponderTermination]);
    var caretHidden = props.caretHidden;

    if (_Platform.default.isTesting) {
      caretHidden = true;
    }

    var _ref = (0, _usePressability.default)(config) || {},
        onBlur = _ref.onBlur,
        onFocus = _ref.onFocus,
        eventHandlers = (0, _objectWithoutProperties2.default)(_ref, ["onBlur", "onFocus"]);

    if (_Platform.default.OS === 'ios') {
      var RCTTextInputView = props.multiline === true ? RCTMultilineTextInputView : RCTSinglelineTextInputView;
      var style = props.multiline === true ? [styles.multilineInput, props.style] : props.style;
      textInput = React.createElement(RCTTextInputView, (0, _extends2.default)({
        ref: _setNativeRef
      }, props, eventHandlers, {
        accessible: accessible,
        blurOnSubmit: blurOnSubmit,
        caretHidden: caretHidden,
        dataDetectorTypes: props.dataDetectorTypes,
        focusable: focusable,
        mostRecentEventCount: mostRecentEventCount,
        onBlur: _onBlur,
        onChange: _onChange,
        onContentSizeChange: props.onContentSizeChange,
        onFocus: _onFocus,
        onScroll: _onScroll,
        onSelectionChange: _onSelectionChange,
        onSelectionChangeShouldSetResponder: emptyFunctionThatReturnsTrue,
        selection: selection,
        style: style,
        text: text
      }));
    } else if (_Platform.default.OS === 'android') {
      var _props$placeholder;

      var _style = [props.style];
      var autoCapitalize = props.autoCapitalize || 'sentences';
      var placeholder = (_props$placeholder = props.placeholder) != null ? _props$placeholder : '';
      var children = props.children;
      var childCount = React.Children.count(children);
      (0, _invariant.default)(!(props.value != null && childCount), 'Cannot specify both value and children.');

      if (childCount > 1) {
        children = React.createElement(_Text.default, null, children);
      }

      textInput = React.createElement(AndroidTextInput, (0, _extends2.default)({
        ref: _setNativeRef
      }, props, eventHandlers, {
        accessible: accessible,
        autoCapitalize: autoCapitalize,
        blurOnSubmit: blurOnSubmit,
        caretHidden: caretHidden,
        children: children,
        disableFullscreenUI: props.disableFullscreenUI,
        focusable: focusable,
        mostRecentEventCount: mostRecentEventCount,
        onBlur: _onBlur,
        onChange: _onChange,
        onFocus: _onFocus,
        onScroll: _onScroll,
        onSelectionChange: _onSelectionChange,
        placeholder: placeholder,
        selection: selection,
        style: _style,
        text: text,
        textBreakStrategy: props.textBreakStrategy
      }));
    }

    return React.createElement(_TextAncestor.default.Provider, {
      value: true
    }, textInput);
  }

  var ExportedForwardRef = React.forwardRef(function TextInput(_ref2, forwardedRef) {
    var _ref2$allowFontScalin = _ref2.allowFontScaling,
        allowFontScaling = _ref2$allowFontScalin === undefined ? true : _ref2$allowFontScalin,
        _ref2$rejectResponder = _ref2.rejectResponderTermination,
        rejectResponderTermination = _ref2$rejectResponder === undefined ? true : _ref2$rejectResponder,
        _ref2$underlineColorA = _ref2.underlineColorAndroid,
        underlineColorAndroid = _ref2$underlineColorA === undefined ? 'transparent' : _ref2$underlineColorA,
        restProps = (0, _objectWithoutProperties2.default)(_ref2, ["allowFontScaling", "rejectResponderTermination", "underlineColorAndroid"]);
    return React.createElement(InternalTextInput, (0, _extends2.default)({
      allowFontScaling: allowFontScaling,
      rejectResponderTermination: rejectResponderTermination,
      underlineColorAndroid: underlineColorAndroid
    }, restProps, {
      forwardedRef: forwardedRef
    }));
  });
  ExportedForwardRef.propTypes = _DeprecatedTextInputPropTypes.default;
  ExportedForwardRef.State = {
    currentlyFocusedInput: _TextInputState.default.currentlyFocusedInput,
    currentlyFocusedField: _TextInputState.default.currentlyFocusedField,
    focusTextInput: _TextInputState.default.focusTextInput,
    blurTextInput: _TextInputState.default.blurTextInput
  };

  var styles = _StyleSheet.default.create({
    multilineInput: {
      paddingTop: 5
    }
  });

  module.exports = ExportedForwardRef;
},333,[5,6,108,41,17,334,37,183,194,186,139,36,337,251,210,338,140,340]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var DataDetectorTypes = ['phoneNumber', 'link', 'address', 'calendarEvent', 'none', 'all'];
  module.exports = _$$_REQUIRE(_dependencyMap[0])({}, _$$_REQUIRE(_dependencyMap[1]), {
    autoCapitalize: _$$_REQUIRE(_dependencyMap[2]).oneOf(['none', 'sentences', 'words', 'characters']),
    autoComplete: _$$_REQUIRE(_dependencyMap[2]).oneOf(['cc-csc', 'cc-exp', 'cc-exp-month', 'cc-exp-year', 'cc-number', 'email', 'name', 'password', 'postal-code', 'street-address', 'tel', 'username', 'off']),
    autoCorrect: _$$_REQUIRE(_dependencyMap[2]).bool,
    spellCheck: _$$_REQUIRE(_dependencyMap[2]).bool,
    autoFocus: _$$_REQUIRE(_dependencyMap[2]).bool,
    allowFontScaling: _$$_REQUIRE(_dependencyMap[2]).bool,
    maxFontSizeMultiplier: _$$_REQUIRE(_dependencyMap[2]).number,
    editable: _$$_REQUIRE(_dependencyMap[2]).bool,
    keyboardType: _$$_REQUIRE(_dependencyMap[2]).oneOf(['default', 'email-address', 'numeric', 'phone-pad', 'number-pad', 'url', 'ascii-capable', 'numbers-and-punctuation', 'name-phone-pad', 'decimal-pad', 'twitter', 'web-search', 'ascii-capable-number-pad', 'visible-password']),
    keyboardAppearance: _$$_REQUIRE(_dependencyMap[2]).oneOf(['default', 'light', 'dark']),
    returnKeyType: _$$_REQUIRE(_dependencyMap[2]).oneOf(['done', 'go', 'next', 'search', 'send', 'none', 'previous', 'default', 'emergency-call', 'google', 'join', 'route', 'yahoo']),
    returnKeyLabel: _$$_REQUIRE(_dependencyMap[2]).string,
    maxLength: _$$_REQUIRE(_dependencyMap[2]).number,
    numberOfLines: _$$_REQUIRE(_dependencyMap[2]).number,
    disableFullscreenUI: _$$_REQUIRE(_dependencyMap[2]).bool,
    enablesReturnKeyAutomatically: _$$_REQUIRE(_dependencyMap[2]).bool,
    multiline: _$$_REQUIRE(_dependencyMap[2]).bool,
    textBreakStrategy: _$$_REQUIRE(_dependencyMap[2]).oneOf(['simple', 'highQuality', 'balanced']),
    onBlur: _$$_REQUIRE(_dependencyMap[2]).func,
    onFocus: _$$_REQUIRE(_dependencyMap[2]).func,
    onChange: _$$_REQUIRE(_dependencyMap[2]).func,
    onChangeText: _$$_REQUIRE(_dependencyMap[2]).func,
    onContentSizeChange: _$$_REQUIRE(_dependencyMap[2]).func,
    onTextInput: _$$_REQUIRE(_dependencyMap[2]).func,
    onEndEditing: _$$_REQUIRE(_dependencyMap[2]).func,
    onSelectionChange: _$$_REQUIRE(_dependencyMap[2]).func,
    onSubmitEditing: _$$_REQUIRE(_dependencyMap[2]).func,
    onKeyPress: _$$_REQUIRE(_dependencyMap[2]).func,
    onLayout: _$$_REQUIRE(_dependencyMap[2]).func,
    onScroll: _$$_REQUIRE(_dependencyMap[2]).func,
    placeholder: _$$_REQUIRE(_dependencyMap[2]).string,
    placeholderTextColor: _$$_REQUIRE(_dependencyMap[3]),
    scrollEnabled: _$$_REQUIRE(_dependencyMap[2]).bool,
    secureTextEntry: _$$_REQUIRE(_dependencyMap[2]).bool,
    selectionColor: _$$_REQUIRE(_dependencyMap[3]),
    selection: _$$_REQUIRE(_dependencyMap[2]).shape({
      start: _$$_REQUIRE(_dependencyMap[2]).number.isRequired,
      end: _$$_REQUIRE(_dependencyMap[2]).number
    }),
    value: _$$_REQUIRE(_dependencyMap[2]).string,
    defaultValue: _$$_REQUIRE(_dependencyMap[2]).string,
    clearButtonMode: _$$_REQUIRE(_dependencyMap[2]).oneOf(['never', 'while-editing', 'unless-editing', 'always']),
    clearTextOnFocus: _$$_REQUIRE(_dependencyMap[2]).bool,
    selectTextOnFocus: _$$_REQUIRE(_dependencyMap[2]).bool,
    blurOnSubmit: _$$_REQUIRE(_dependencyMap[2]).bool,
    style: _$$_REQUIRE(_dependencyMap[4]).style,
    underlineColorAndroid: _$$_REQUIRE(_dependencyMap[3]),
    inlineImageLeft: _$$_REQUIRE(_dependencyMap[2]).string,
    inlineImagePadding: _$$_REQUIRE(_dependencyMap[2]).number,
    rejectResponderTermination: _$$_REQUIRE(_dependencyMap[2]).bool,
    dataDetectorTypes: _$$_REQUIRE(_dependencyMap[2]).oneOfType([_$$_REQUIRE(_dependencyMap[2]).oneOf(DataDetectorTypes), _$$_REQUIRE(_dependencyMap[2]).arrayOf(_$$_REQUIRE(_dependencyMap[2]).oneOf(DataDetectorTypes))]),
    caretHidden: _$$_REQUIRE(_dependencyMap[2]).bool,
    contextMenuHidden: _$$_REQUIRE(_dependencyMap[2]).bool,
    inputAccessoryViewID: _$$_REQUIRE(_dependencyMap[2]).string,
    textContentType: _$$_REQUIRE(_dependencyMap[2]).oneOf(['none', 'URL', 'addressCity', 'addressCityAndState', 'addressState', 'countryName', 'creditCardNumber', 'emailAddress', 'familyName', 'fullStreetAddress', 'givenName', 'jobTitle', 'location', 'middleName', 'name', 'namePrefix', 'nameSuffix', 'nickname', 'organizationName', 'postalCode', 'streetAddressLine1', 'streetAddressLine2', 'sublocality', 'telephoneNumber', 'username', 'password', 'newPassword', 'oneTimeCode']),
    showSoftInputOnFocus: _$$_REQUIRE(_dependencyMap[2]).bool
  });
},334,[6,335,201,205,195]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var stylePropType = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  module.exports = {
    accessible: _$$_REQUIRE(_dependencyMap[2]).bool,
    accessibilityLabel: _$$_REQUIRE(_dependencyMap[2]).node,
    accessibilityHint: _$$_REQUIRE(_dependencyMap[2]).string,
    accessibilityActions: _$$_REQUIRE(_dependencyMap[2]).arrayOf(_$$_REQUIRE(_dependencyMap[2]).string),
    accessibilityIgnoresInvertColors: _$$_REQUIRE(_dependencyMap[2]).bool,
    accessibilityRole: _$$_REQUIRE(_dependencyMap[2]).oneOf(_$$_REQUIRE(_dependencyMap[3]).DeprecatedAccessibilityRoles),
    accessibilityState: _$$_REQUIRE(_dependencyMap[2]).object,
    accessibilityValue: _$$_REQUIRE(_dependencyMap[2]).object,
    accessibilityLiveRegion: _$$_REQUIRE(_dependencyMap[2]).oneOf(['none', 'polite', 'assertive']),
    importantForAccessibility: _$$_REQUIRE(_dependencyMap[2]).oneOf(['auto', 'yes', 'no', 'no-hide-descendants']),
    accessibilityViewIsModal: _$$_REQUIRE(_dependencyMap[2]).bool,
    accessibilityElementsHidden: _$$_REQUIRE(_dependencyMap[2]).bool,
    onAccessibilityAction: _$$_REQUIRE(_dependencyMap[2]).func,
    onAccessibilityTap: _$$_REQUIRE(_dependencyMap[2]).func,
    onMagicTap: _$$_REQUIRE(_dependencyMap[2]).func,
    testID: _$$_REQUIRE(_dependencyMap[2]).string,
    nativeID: _$$_REQUIRE(_dependencyMap[2]).string,
    onResponderGrant: _$$_REQUIRE(_dependencyMap[2]).func,
    onResponderMove: _$$_REQUIRE(_dependencyMap[2]).func,
    onResponderReject: _$$_REQUIRE(_dependencyMap[2]).func,
    onResponderRelease: _$$_REQUIRE(_dependencyMap[2]).func,
    onResponderTerminate: _$$_REQUIRE(_dependencyMap[2]).func,
    onResponderTerminationRequest: _$$_REQUIRE(_dependencyMap[2]).func,
    onStartShouldSetResponder: _$$_REQUIRE(_dependencyMap[2]).func,
    onStartShouldSetResponderCapture: _$$_REQUIRE(_dependencyMap[2]).func,
    onMoveShouldSetResponder: _$$_REQUIRE(_dependencyMap[2]).func,
    onMoveShouldSetResponderCapture: _$$_REQUIRE(_dependencyMap[2]).func,
    hitSlop: _$$_REQUIRE(_dependencyMap[4]),
    onLayout: _$$_REQUIRE(_dependencyMap[2]).func,
    pointerEvents: _$$_REQUIRE(_dependencyMap[2]).oneOf(['box-none', 'none', 'box-only', 'auto']),
    style: stylePropType,
    removeClippedSubviews: _$$_REQUIRE(_dependencyMap[2]).bool,
    renderToHardwareTextureAndroid: _$$_REQUIRE(_dependencyMap[2]).bool,
    shouldRasterizeIOS: _$$_REQUIRE(_dependencyMap[2]).bool,
    collapsable: _$$_REQUIRE(_dependencyMap[2]).bool,
    needsOffscreenAlphaCompositing: _$$_REQUIRE(_dependencyMap[2]).bool
  };
},335,[196,199,201,336,208]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = {
    DeprecatedAccessibilityRoles: ['none', 'button', 'togglebutton', 'link', 'search', 'image', 'keyboardkey', 'text', 'adjustable', 'imagebutton', 'header', 'summary', 'alert', 'checkbox', 'combobox', 'menu', 'menubar', 'menuitem', 'progressbar', 'radio', 'radiogroup', 'scrollbar', 'spinbutton', 'switch', 'tab', 'tablist', 'timer', 'list', 'toolbar']
  };
},336,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function nullthrows(x, message) {
    if (x != null) {
      return x;
    }

    var error = new Error(message !== undefined ? message : 'Got unexpected ' + x);
    error.framesToPop = 1;
    throw error;
  }

  module.exports = nullthrows;
  module.exports.default = nullthrows;
  Object.defineProperty(module.exports, '__esModule', {
    value: true
  });
},337,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.Commands = undefined;

  var _codegenNativeCommands = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _AndroidTextInputViewConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var NativeComponentRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Commands = (0, _codegenNativeCommands.default)({
    supportedCommands: ['focus', 'blur', 'setTextAndSelection']
  });
  exports.Commands = Commands;
  var AndroidTextInputNativeComponent = NativeComponentRegistry.get('AndroidTextInput', function () {
    return _AndroidTextInputViewConfig.default;
  });
  var _default = AndroidTextInputNativeComponent;
  exports.default = _default;
},338,[5,141,339,154]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _ReactNativeViewViewConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var AndroidTextInputViewConfig = {
    uiViewClassName: 'AndroidTextInput',
    bubblingEventTypes: {
      topBlur: {
        phasedRegistrationNames: {
          bubbled: 'onBlur',
          captured: 'onBlurCapture'
        }
      },
      topEndEditing: {
        phasedRegistrationNames: {
          bubbled: 'onEndEditing',
          captured: 'onEndEditingCapture'
        }
      },
      topFocus: {
        phasedRegistrationNames: {
          bubbled: 'onFocus',
          captured: 'onFocusCapture'
        }
      },
      topKeyPress: {
        phasedRegistrationNames: {
          bubbled: 'onKeyPress',
          captured: 'onKeyPressCapture'
        }
      },
      topSubmitEditing: {
        phasedRegistrationNames: {
          bubbled: 'onSubmitEditing',
          captured: 'onSubmitEditingCapture'
        }
      },
      topTextInput: {
        phasedRegistrationNames: {
          bubbled: 'onTextInput',
          captured: 'onTextInputCapture'
        }
      }
    },
    directEventTypes: {},
    validAttributes: (0, _extends2.default)({}, _ReactNativeViewViewConfig.default.validAttributes, {
      maxFontSizeMultiplier: true,
      adjustsFontSizeToFit: true,
      minimumFontScale: true,
      autoFocus: true,
      placeholder: true,
      inlineImagePadding: true,
      contextMenuHidden: true,
      textShadowColor: {
        process: _$$_REQUIRE(_dependencyMap[3])
      },
      maxLength: true,
      selectTextOnFocus: true,
      textShadowRadius: true,
      underlineColorAndroid: {
        process: _$$_REQUIRE(_dependencyMap[3])
      },
      textDecorationLine: true,
      blurOnSubmit: true,
      textAlignVertical: true,
      fontStyle: true,
      textShadowOffset: true,
      selectionColor: {
        process: _$$_REQUIRE(_dependencyMap[3])
      },
      selection: true,
      placeholderTextColor: {
        process: _$$_REQUIRE(_dependencyMap[3])
      },
      importantForAutofill: true,
      lineHeight: true,
      textTransform: true,
      returnKeyType: true,
      keyboardType: true,
      multiline: true,
      color: {
        process: _$$_REQUIRE(_dependencyMap[3])
      },
      autoCompleteType: true,
      autoComplete: true,
      numberOfLines: true,
      letterSpacing: true,
      returnKeyLabel: true,
      fontSize: true,
      onKeyPress: true,
      cursorColor: {
        process: _$$_REQUIRE(_dependencyMap[3])
      },
      text: true,
      showSoftInputOnFocus: true,
      textAlign: true,
      autoCapitalize: true,
      autoCorrect: true,
      caretHidden: true,
      secureTextEntry: true,
      textBreakStrategy: true,
      onScroll: true,
      onContentSizeChange: true,
      disableFullscreenUI: true,
      includeFontPadding: true,
      fontWeight: true,
      fontFamily: true,
      allowFontScaling: true,
      onSelectionChange: true,
      mostRecentEventCount: true,
      inlineImageLeft: true,
      editable: true,
      fontVariant: true
    })
  };
  module.exports = AndroidTextInputViewConfig;
},339,[5,6,143,145]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.Commands = undefined;

  var _codegenNativeCommands = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _RCTTextInputViewConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var NativeComponentRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Commands = (0, _codegenNativeCommands.default)({
    supportedCommands: ['focus', 'blur', 'setTextAndSelection']
  });
  exports.Commands = Commands;
  var MultilineTextInputNativeComponent = NativeComponentRegistry.get('RCTMultilineTextInputView', function () {
    return _RCTTextInputViewConfig.default;
  });
  var _default = MultilineTextInputNativeComponent;
  exports.default = _default;
},340,[5,141,142,154]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _BoundingDimensions = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _Position = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _UIManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _SoundManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var extractSingleTouch = function extractSingleTouch(nativeEvent) {
    var touches = nativeEvent.touches;
    var changedTouches = nativeEvent.changedTouches;
    var hasTouches = touches && touches.length > 0;
    var hasChangedTouches = changedTouches && changedTouches.length > 0;
    return !hasTouches && hasChangedTouches ? changedTouches[0] : hasTouches ? touches[0] : nativeEvent;
  };

  var States = {
    NOT_RESPONDER: 'NOT_RESPONDER',
    RESPONDER_INACTIVE_PRESS_IN: 'RESPONDER_INACTIVE_PRESS_IN',
    RESPONDER_INACTIVE_PRESS_OUT: 'RESPONDER_INACTIVE_PRESS_OUT',
    RESPONDER_ACTIVE_PRESS_IN: 'RESPONDER_ACTIVE_PRESS_IN',
    RESPONDER_ACTIVE_PRESS_OUT: 'RESPONDER_ACTIVE_PRESS_OUT',
    RESPONDER_ACTIVE_LONG_PRESS_IN: 'RESPONDER_ACTIVE_LONG_PRESS_IN',
    RESPONDER_ACTIVE_LONG_PRESS_OUT: 'RESPONDER_ACTIVE_LONG_PRESS_OUT',
    ERROR: 'ERROR'
  };
  var baseStatesConditions = {
    NOT_RESPONDER: false,
    RESPONDER_INACTIVE_PRESS_IN: false,
    RESPONDER_INACTIVE_PRESS_OUT: false,
    RESPONDER_ACTIVE_PRESS_IN: false,
    RESPONDER_ACTIVE_PRESS_OUT: false,
    RESPONDER_ACTIVE_LONG_PRESS_IN: false,
    RESPONDER_ACTIVE_LONG_PRESS_OUT: false,
    ERROR: false
  };
  var IsActive = (0, _extends2.default)({}, baseStatesConditions, {
    RESPONDER_ACTIVE_PRESS_OUT: true,
    RESPONDER_ACTIVE_PRESS_IN: true
  });
  var IsPressingIn = (0, _extends2.default)({}, baseStatesConditions, {
    RESPONDER_INACTIVE_PRESS_IN: true,
    RESPONDER_ACTIVE_PRESS_IN: true,
    RESPONDER_ACTIVE_LONG_PRESS_IN: true
  });
  var IsLongPressingIn = (0, _extends2.default)({}, baseStatesConditions, {
    RESPONDER_ACTIVE_LONG_PRESS_IN: true
  });
  var Signals = {
    DELAY: 'DELAY',
    RESPONDER_GRANT: 'RESPONDER_GRANT',
    RESPONDER_RELEASE: 'RESPONDER_RELEASE',
    RESPONDER_TERMINATED: 'RESPONDER_TERMINATED',
    ENTER_PRESS_RECT: 'ENTER_PRESS_RECT',
    LEAVE_PRESS_RECT: 'LEAVE_PRESS_RECT',
    LONG_PRESS_DETECTED: 'LONG_PRESS_DETECTED'
  };
  var Transitions = {
    NOT_RESPONDER: {
      DELAY: States.ERROR,
      RESPONDER_GRANT: States.RESPONDER_INACTIVE_PRESS_IN,
      RESPONDER_RELEASE: States.ERROR,
      RESPONDER_TERMINATED: States.ERROR,
      ENTER_PRESS_RECT: States.ERROR,
      LEAVE_PRESS_RECT: States.ERROR,
      LONG_PRESS_DETECTED: States.ERROR
    },
    RESPONDER_INACTIVE_PRESS_IN: {
      DELAY: States.RESPONDER_ACTIVE_PRESS_IN,
      RESPONDER_GRANT: States.ERROR,
      RESPONDER_RELEASE: States.NOT_RESPONDER,
      RESPONDER_TERMINATED: States.NOT_RESPONDER,
      ENTER_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_IN,
      LEAVE_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_OUT,
      LONG_PRESS_DETECTED: States.ERROR
    },
    RESPONDER_INACTIVE_PRESS_OUT: {
      DELAY: States.RESPONDER_ACTIVE_PRESS_OUT,
      RESPONDER_GRANT: States.ERROR,
      RESPONDER_RELEASE: States.NOT_RESPONDER,
      RESPONDER_TERMINATED: States.NOT_RESPONDER,
      ENTER_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_IN,
      LEAVE_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_OUT,
      LONG_PRESS_DETECTED: States.ERROR
    },
    RESPONDER_ACTIVE_PRESS_IN: {
      DELAY: States.ERROR,
      RESPONDER_GRANT: States.ERROR,
      RESPONDER_RELEASE: States.NOT_RESPONDER,
      RESPONDER_TERMINATED: States.NOT_RESPONDER,
      ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_IN,
      LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_OUT,
      LONG_PRESS_DETECTED: States.RESPONDER_ACTIVE_LONG_PRESS_IN
    },
    RESPONDER_ACTIVE_PRESS_OUT: {
      DELAY: States.ERROR,
      RESPONDER_GRANT: States.ERROR,
      RESPONDER_RELEASE: States.NOT_RESPONDER,
      RESPONDER_TERMINATED: States.NOT_RESPONDER,
      ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_IN,
      LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_OUT,
      LONG_PRESS_DETECTED: States.ERROR
    },
    RESPONDER_ACTIVE_LONG_PRESS_IN: {
      DELAY: States.ERROR,
      RESPONDER_GRANT: States.ERROR,
      RESPONDER_RELEASE: States.NOT_RESPONDER,
      RESPONDER_TERMINATED: States.NOT_RESPONDER,
      ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_IN,
      LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_OUT,
      LONG_PRESS_DETECTED: States.RESPONDER_ACTIVE_LONG_PRESS_IN
    },
    RESPONDER_ACTIVE_LONG_PRESS_OUT: {
      DELAY: States.ERROR,
      RESPONDER_GRANT: States.ERROR,
      RESPONDER_RELEASE: States.NOT_RESPONDER,
      RESPONDER_TERMINATED: States.NOT_RESPONDER,
      ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_IN,
      LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_OUT,
      LONG_PRESS_DETECTED: States.ERROR
    },
    error: {
      DELAY: States.NOT_RESPONDER,
      RESPONDER_GRANT: States.RESPONDER_INACTIVE_PRESS_IN,
      RESPONDER_RELEASE: States.NOT_RESPONDER,
      RESPONDER_TERMINATED: States.NOT_RESPONDER,
      ENTER_PRESS_RECT: States.NOT_RESPONDER,
      LEAVE_PRESS_RECT: States.NOT_RESPONDER,
      LONG_PRESS_DETECTED: States.NOT_RESPONDER
    }
  };
  var HIGHLIGHT_DELAY_MS = 130;
  var PRESS_EXPAND_PX = 20;
  var LONG_PRESS_THRESHOLD = 500;
  var LONG_PRESS_DELAY_MS = 370;
  var LONG_PRESS_ALLOWED_MOVEMENT = 10;
  var TouchableMixin = {
    componentDidMount: function componentDidMount() {
      if (!_Platform.default.isTV) {
        return;
      }
    },
    componentWillUnmount: function componentWillUnmount() {
      this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout);
      this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout);
      this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout);
    },
    touchableGetInitialState: function touchableGetInitialState() {
      return {
        touchable: {
          touchState: undefined,
          responderID: null
        }
      };
    },
    touchableHandleResponderTerminationRequest: function touchableHandleResponderTerminationRequest() {
      return !this.props.rejectResponderTermination;
    },
    touchableHandleStartShouldSetResponder: function touchableHandleStartShouldSetResponder() {
      return !this.props.disabled;
    },
    touchableLongPressCancelsPress: function touchableLongPressCancelsPress() {
      return true;
    },
    touchableHandleResponderGrant: function touchableHandleResponderGrant(e) {
      var dispatchID = e.currentTarget;
      e.persist();
      this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout);
      this.pressOutDelayTimeout = null;
      this.state.touchable.touchState = States.NOT_RESPONDER;
      this.state.touchable.responderID = dispatchID;

      this._receiveSignal(Signals.RESPONDER_GRANT, e);

      var delayMS = this.touchableGetHighlightDelayMS !== undefined ? Math.max(this.touchableGetHighlightDelayMS(), 0) : HIGHLIGHT_DELAY_MS;
      delayMS = isNaN(delayMS) ? HIGHLIGHT_DELAY_MS : delayMS;

      if (delayMS !== 0) {
        this.touchableDelayTimeout = setTimeout(this._handleDelay.bind(this, e), delayMS);
      } else {
        this._handleDelay(e);
      }

      var longDelayMS = this.touchableGetLongPressDelayMS !== undefined ? Math.max(this.touchableGetLongPressDelayMS(), 10) : LONG_PRESS_DELAY_MS;
      longDelayMS = isNaN(longDelayMS) ? LONG_PRESS_DELAY_MS : longDelayMS;
      this.longPressDelayTimeout = setTimeout(this._handleLongDelay.bind(this, e), longDelayMS + delayMS);
    },
    touchableHandleResponderRelease: function touchableHandleResponderRelease(e) {
      this.pressInLocation = null;

      this._receiveSignal(Signals.RESPONDER_RELEASE, e);
    },
    touchableHandleResponderTerminate: function touchableHandleResponderTerminate(e) {
      this.pressInLocation = null;

      this._receiveSignal(Signals.RESPONDER_TERMINATED, e);
    },
    touchableHandleResponderMove: function touchableHandleResponderMove(e) {
      if (!this.state.touchable.positionOnActivate) {
        return;
      }

      var positionOnActivate = this.state.touchable.positionOnActivate;
      var dimensionsOnActivate = this.state.touchable.dimensionsOnActivate;
      var pressRectOffset = this.touchableGetPressRectOffset ? this.touchableGetPressRectOffset() : {
        left: PRESS_EXPAND_PX,
        right: PRESS_EXPAND_PX,
        top: PRESS_EXPAND_PX,
        bottom: PRESS_EXPAND_PX
      };
      var pressExpandLeft = pressRectOffset.left;
      var pressExpandTop = pressRectOffset.top;
      var pressExpandRight = pressRectOffset.right;
      var pressExpandBottom = pressRectOffset.bottom;
      var hitSlop = this.touchableGetHitSlop ? this.touchableGetHitSlop() : null;

      if (hitSlop) {
        pressExpandLeft += hitSlop.left || 0;
        pressExpandTop += hitSlop.top || 0;
        pressExpandRight += hitSlop.right || 0;
        pressExpandBottom += hitSlop.bottom || 0;
      }

      var touch = extractSingleTouch(e.nativeEvent);
      var pageX = touch && touch.pageX;
      var pageY = touch && touch.pageY;

      if (this.pressInLocation) {
        var movedDistance = this._getDistanceBetweenPoints(pageX, pageY, this.pressInLocation.pageX, this.pressInLocation.pageY);

        if (movedDistance > LONG_PRESS_ALLOWED_MOVEMENT) {
          this._cancelLongPressDelayTimeout();
        }
      }

      var isTouchWithinActive = pageX > positionOnActivate.left - pressExpandLeft && pageY > positionOnActivate.top - pressExpandTop && pageX < positionOnActivate.left + dimensionsOnActivate.width + pressExpandRight && pageY < positionOnActivate.top + dimensionsOnActivate.height + pressExpandBottom;

      if (isTouchWithinActive) {
        var prevState = this.state.touchable.touchState;

        this._receiveSignal(Signals.ENTER_PRESS_RECT, e);

        var curState = this.state.touchable.touchState;

        if (curState === States.RESPONDER_INACTIVE_PRESS_IN && prevState !== States.RESPONDER_INACTIVE_PRESS_IN) {
          this._cancelLongPressDelayTimeout();
        }
      } else {
        this._cancelLongPressDelayTimeout();

        this._receiveSignal(Signals.LEAVE_PRESS_RECT, e);
      }
    },
    touchableHandleFocus: function touchableHandleFocus(e) {
      this.props.onFocus && this.props.onFocus(e);
    },
    touchableHandleBlur: function touchableHandleBlur(e) {
      this.props.onBlur && this.props.onBlur(e);
    },
    _remeasureMetricsOnActivation: function _remeasureMetricsOnActivation() {
      var responderID = this.state.touchable.responderID;

      if (responderID == null) {
        return;
      }

      if (typeof responderID === 'number') {
        _UIManager.default.measure(responderID, this._handleQueryLayout);
      } else {
        responderID.measure(this._handleQueryLayout);
      }
    },
    _handleQueryLayout: function _handleQueryLayout(l, t, w, h, globalX, globalY) {
      if (!l && !t && !w && !h && !globalX && !globalY) {
        return;
      }

      this.state.touchable.positionOnActivate && _Position.default.release(this.state.touchable.positionOnActivate);
      this.state.touchable.dimensionsOnActivate && _BoundingDimensions.default.release(this.state.touchable.dimensionsOnActivate);
      this.state.touchable.positionOnActivate = _Position.default.getPooled(globalX, globalY);
      this.state.touchable.dimensionsOnActivate = _BoundingDimensions.default.getPooled(w, h);
    },
    _handleDelay: function _handleDelay(e) {
      this.touchableDelayTimeout = null;

      this._receiveSignal(Signals.DELAY, e);
    },
    _handleLongDelay: function _handleLongDelay(e) {
      this.longPressDelayTimeout = null;
      var curState = this.state.touchable.touchState;

      if (curState === States.RESPONDER_ACTIVE_PRESS_IN || curState === States.RESPONDER_ACTIVE_LONG_PRESS_IN) {
        this._receiveSignal(Signals.LONG_PRESS_DETECTED, e);
      }
    },
    _receiveSignal: function _receiveSignal(signal, e) {
      var responderID = this.state.touchable.responderID;
      var curState = this.state.touchable.touchState;
      var nextState = Transitions[curState] && Transitions[curState][signal];

      if (!responderID && signal === Signals.RESPONDER_RELEASE) {
        return;
      }

      if (!nextState) {
        throw new Error('Unrecognized signal `' + signal + '` or state `' + curState + '` for Touchable responder `' + typeof this.state.touchable.responderID === 'number' ? this.state.touchable.responderID : "host component`");
      }

      if (nextState === States.ERROR) {
        throw new Error('Touchable cannot transition from `' + curState + '` to `' + signal + '` for responder `' + typeof this.state.touchable.responderID === 'number' ? this.state.touchable.responderID : "<<host component>>`");
      }

      if (curState !== nextState) {
        this._performSideEffectsForTransition(curState, nextState, signal, e);

        this.state.touchable.touchState = nextState;
      }
    },
    _cancelLongPressDelayTimeout: function _cancelLongPressDelayTimeout() {
      this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout);
      this.longPressDelayTimeout = null;
    },
    _isHighlight: function _isHighlight(state) {
      return state === States.RESPONDER_ACTIVE_PRESS_IN || state === States.RESPONDER_ACTIVE_LONG_PRESS_IN;
    },
    _savePressInLocation: function _savePressInLocation(e) {
      var touch = extractSingleTouch(e.nativeEvent);
      var pageX = touch && touch.pageX;
      var pageY = touch && touch.pageY;
      var locationX = touch && touch.locationX;
      var locationY = touch && touch.locationY;
      this.pressInLocation = {
        pageX: pageX,
        pageY: pageY,
        locationX: locationX,
        locationY: locationY
      };
    },
    _getDistanceBetweenPoints: function _getDistanceBetweenPoints(aX, aY, bX, bY) {
      var deltaX = aX - bX;
      var deltaY = aY - bY;
      return Math.sqrt(deltaX * deltaX + deltaY * deltaY);
    },
    _performSideEffectsForTransition: function _performSideEffectsForTransition(curState, nextState, signal, e) {
      var curIsHighlight = this._isHighlight(curState);

      var newIsHighlight = this._isHighlight(nextState);

      var isFinalSignal = signal === Signals.RESPONDER_TERMINATED || signal === Signals.RESPONDER_RELEASE;

      if (isFinalSignal) {
        this._cancelLongPressDelayTimeout();
      }

      var isInitialTransition = curState === States.NOT_RESPONDER && nextState === States.RESPONDER_INACTIVE_PRESS_IN;
      var isActiveTransition = !IsActive[curState] && IsActive[nextState];

      if (isInitialTransition || isActiveTransition) {
        this._remeasureMetricsOnActivation();
      }

      if (IsPressingIn[curState] && signal === Signals.LONG_PRESS_DETECTED) {
        this.touchableHandleLongPress && this.touchableHandleLongPress(e);
      }

      if (newIsHighlight && !curIsHighlight) {
        this._startHighlight(e);
      } else if (!newIsHighlight && curIsHighlight) {
        this._endHighlight(e);
      }

      if (IsPressingIn[curState] && signal === Signals.RESPONDER_RELEASE) {
        var hasLongPressHandler = !!this.props.onLongPress;
        var pressIsLongButStillCallOnPress = IsLongPressingIn[curState] && (!hasLongPressHandler || !this.touchableLongPressCancelsPress());
        var shouldInvokePress = !IsLongPressingIn[curState] || pressIsLongButStillCallOnPress;

        if (shouldInvokePress && this.touchableHandlePress) {
          if (!newIsHighlight && !curIsHighlight) {
            this._startHighlight(e);

            this._endHighlight(e);
          }

          if (_Platform.default.OS === 'android' && !this.props.touchSoundDisabled) {
            _SoundManager.default.playTouchSound();
          }

          this.touchableHandlePress(e);
        }
      }

      this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout);
      this.touchableDelayTimeout = null;
    },
    _startHighlight: function _startHighlight(e) {
      this._savePressInLocation(e);

      this.touchableHandleActivePressIn && this.touchableHandleActivePressIn(e);
    },
    _endHighlight: function _endHighlight(e) {
      var _this = this;

      if (this.touchableHandleActivePressOut) {
        if (this.touchableGetPressOutDelayMS && this.touchableGetPressOutDelayMS()) {
          this.pressOutDelayTimeout = setTimeout(function () {
            _this.touchableHandleActivePressOut(e);
          }, this.touchableGetPressOutDelayMS());
        } else {
          this.touchableHandleActivePressOut(e);
        }
      }
    },
    withoutDefaultFocusAndBlur: {}
  };
  var touchableHandleFocus = TouchableMixin.touchableHandleFocus,
      touchableHandleBlur = TouchableMixin.touchableHandleBlur,
      TouchableMixinWithoutDefaultFocusAndBlur = (0, _objectWithoutProperties2.default)(TouchableMixin, ["touchableHandleFocus", "touchableHandleBlur"]);
  TouchableMixin.withoutDefaultFocusAndBlur = TouchableMixinWithoutDefaultFocusAndBlur;
  var Touchable = {
    Mixin: TouchableMixin,
    renderDebugView: function renderDebugView(_ref) {
      var color = _ref.color,
          hitSlop = _ref.hitSlop;
      return null;
    }
  };
  module.exports = Touchable;
},341,[5,108,6,17,342,37,344,155,212]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _PooledClass = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var twoArgumentPooler = _PooledClass.default.twoArgumentPooler;

  function BoundingDimensions(width, height) {
    this.width = width;
    this.height = height;
  }

  BoundingDimensions.prototype.destructor = function () {
    this.width = null;
    this.height = null;
  };

  BoundingDimensions.getPooledFromElement = function (element) {
    return BoundingDimensions.getPooled(element.offsetWidth, element.offsetHeight);
  };

  _PooledClass.default.addPoolingTo(BoundingDimensions, twoArgumentPooler);

  module.exports = BoundingDimensions;
},342,[5,343]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var oneArgumentPooler = function oneArgumentPooler(copyFieldsFrom) {
    var Klass = this;

    if (Klass.instancePool.length) {
      var _instance = Klass.instancePool.pop();

      Klass.call(_instance, copyFieldsFrom);
      return _instance;
    } else {
      return new Klass(copyFieldsFrom);
    }
  };

  var twoArgumentPooler = function twoArgumentPooler(a1, a2) {
    var Klass = this;

    if (Klass.instancePool.length) {
      var _instance2 = Klass.instancePool.pop();

      Klass.call(_instance2, a1, a2);
      return _instance2;
    } else {
      return new Klass(a1, a2);
    }
  };

  var threeArgumentPooler = function threeArgumentPooler(a1, a2, a3) {
    var Klass = this;

    if (Klass.instancePool.length) {
      var _instance3 = Klass.instancePool.pop();

      Klass.call(_instance3, a1, a2, a3);
      return _instance3;
    } else {
      return new Klass(a1, a2, a3);
    }
  };

  var fourArgumentPooler = function fourArgumentPooler(a1, a2, a3, a4) {
    var Klass = this;

    if (Klass.instancePool.length) {
      var _instance4 = Klass.instancePool.pop();

      Klass.call(_instance4, a1, a2, a3, a4);
      return _instance4;
    } else {
      return new Klass(a1, a2, a3, a4);
    }
  };

  var standardReleaser = function standardReleaser(instance) {
    var Klass = this;
    (0, _invariant.default)(instance instanceof Klass, 'Trying to release an instance into a pool of a different type.');
    instance.destructor();

    if (Klass.instancePool.length < Klass.poolSize) {
      Klass.instancePool.push(instance);
    }
  };

  var DEFAULT_POOL_SIZE = 10;
  var DEFAULT_POOLER = oneArgumentPooler;

  var addPoolingTo = function addPoolingTo(CopyConstructor, pooler) {
    var NewKlass = CopyConstructor;
    NewKlass.instancePool = [];
    NewKlass.getPooled = pooler || DEFAULT_POOLER;

    if (!NewKlass.poolSize) {
      NewKlass.poolSize = DEFAULT_POOL_SIZE;
    }

    NewKlass.release = standardReleaser;
    return NewKlass;
  };

  var PooledClass = {
    addPoolingTo: addPoolingTo,
    oneArgumentPooler: oneArgumentPooler,
    twoArgumentPooler: twoArgumentPooler,
    threeArgumentPooler: threeArgumentPooler,
    fourArgumentPooler: fourArgumentPooler
  };
  module.exports = PooledClass;
},343,[5,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _PooledClass = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var twoArgumentPooler = _PooledClass.default.twoArgumentPooler;

  function Position(left, top) {
    this.left = left;
    this.top = top;
  }

  Position.prototype.destructor = function () {
    this.left = null;
    this.top = null;
  };

  _PooledClass.default.addPoolingTo(Position, twoArgumentPooler);

  module.exports = Position;
},344,[5,343]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Pressability = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _StyleSheet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _View = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TouchableHighlight = function (_React$Component) {
    (0, _inherits2.default)(TouchableHighlight, _React$Component);

    var _super = _createSuper(TouchableHighlight);

    function TouchableHighlight() {
      var _this;

      (0, _classCallCheck2.default)(this, TouchableHighlight);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this._isMounted = false;
      _this.state = {
        pressability: new _Pressability.default(_this._createPressabilityConfig()),
        extraStyles: _this.props.testOnly_pressed === true ? _this._createExtraStyles() : null
      };
      return _this;
    }

    (0, _createClass2.default)(TouchableHighlight, [{
      key: "_createPressabilityConfig",
      value: function _createPressabilityConfig() {
        var _this$props$accessibi,
            _this2 = this;

        return {
          cancelable: !this.props.rejectResponderTermination,
          disabled: this.props.disabled != null ? this.props.disabled : (_this$props$accessibi = this.props.accessibilityState) == null ? undefined : _this$props$accessibi.disabled,
          hitSlop: this.props.hitSlop,
          delayLongPress: this.props.delayLongPress,
          delayPressIn: this.props.delayPressIn,
          delayPressOut: this.props.delayPressOut,
          minPressDuration: 0,
          pressRectOffset: this.props.pressRetentionOffset,
          android_disableSound: this.props.touchSoundDisabled,
          onBlur: function onBlur(event) {
            if (_Platform.default.isTV) {
              _this2._hideUnderlay();
            }

            if (_this2.props.onBlur != null) {
              _this2.props.onBlur(event);
            }
          },
          onFocus: function onFocus(event) {
            if (_Platform.default.isTV) {
              _this2._showUnderlay();
            }

            if (_this2.props.onFocus != null) {
              _this2.props.onFocus(event);
            }
          },
          onLongPress: this.props.onLongPress,
          onPress: function onPress(event) {
            if (_this2._hideTimeout != null) {
              clearTimeout(_this2._hideTimeout);
            }

            if (!_Platform.default.isTV) {
              var _this2$props$delayPre;

              _this2._showUnderlay();

              _this2._hideTimeout = setTimeout(function () {
                _this2._hideUnderlay();
              }, (_this2$props$delayPre = _this2.props.delayPressOut) != null ? _this2$props$delayPre : 0);
            }

            if (_this2.props.onPress != null) {
              _this2.props.onPress(event);
            }
          },
          onPressIn: function onPressIn(event) {
            if (_this2._hideTimeout != null) {
              clearTimeout(_this2._hideTimeout);
              _this2._hideTimeout = null;
            }

            _this2._showUnderlay();

            if (_this2.props.onPressIn != null) {
              _this2.props.onPressIn(event);
            }
          },
          onPressOut: function onPressOut(event) {
            if (_this2._hideTimeout == null) {
              _this2._hideUnderlay();
            }

            if (_this2.props.onPressOut != null) {
              _this2.props.onPressOut(event);
            }
          }
        };
      }
    }, {
      key: "_createExtraStyles",
      value: function _createExtraStyles() {
        var _this$props$activeOpa;

        return {
          child: {
            opacity: (_this$props$activeOpa = this.props.activeOpacity) != null ? _this$props$activeOpa : 0.85
          },
          underlay: {
            backgroundColor: this.props.underlayColor === undefined ? 'black' : this.props.underlayColor
          }
        };
      }
    }, {
      key: "_showUnderlay",
      value: function _showUnderlay() {
        if (!this._isMounted || !this._hasPressHandler()) {
          return;
        }

        this.setState({
          extraStyles: this._createExtraStyles()
        });

        if (this.props.onShowUnderlay != null) {
          this.props.onShowUnderlay();
        }
      }
    }, {
      key: "_hideUnderlay",
      value: function _hideUnderlay() {
        if (this._hideTimeout != null) {
          clearTimeout(this._hideTimeout);
          this._hideTimeout = null;
        }

        if (this.props.testOnly_pressed === true) {
          return;
        }

        if (this._hasPressHandler()) {
          this.setState({
            extraStyles: null
          });

          if (this.props.onHideUnderlay != null) {
            this.props.onHideUnderlay();
          }
        }
      }
    }, {
      key: "_hasPressHandler",
      value: function _hasPressHandler() {
        return this.props.onPress != null || this.props.onPressIn != null || this.props.onPressOut != null || this.props.onLongPress != null;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$state$extraStyl, _this$state$extraStyl2;

        var child = React.Children.only(this.props.children);

        var _this$state$pressabil = this.state.pressability.getEventHandlers(),
            onBlur = _this$state$pressabil.onBlur,
            onFocus = _this$state$pressabil.onFocus,
            eventHandlersWithoutBlurAndFocus = (0, _objectWithoutProperties2.default)(_this$state$pressabil, ["onBlur", "onFocus"]);

        var accessibilityState = this.props.disabled != null ? (0, _extends2.default)({}, this.props.accessibilityState, {
          disabled: this.props.disabled
        }) : this.props.accessibilityState;
        return React.createElement(_View.default, (0, _extends2.default)({
          accessible: this.props.accessible !== false,
          accessibilityLabel: this.props.accessibilityLabel,
          accessibilityHint: this.props.accessibilityHint,
          accessibilityRole: this.props.accessibilityRole,
          accessibilityState: accessibilityState,
          accessibilityValue: this.props.accessibilityValue,
          accessibilityActions: this.props.accessibilityActions,
          onAccessibilityAction: this.props.onAccessibilityAction,
          importantForAccessibility: this.props.importantForAccessibility,
          accessibilityLiveRegion: this.props.accessibilityLiveRegion,
          accessibilityViewIsModal: this.props.accessibilityViewIsModal,
          accessibilityElementsHidden: this.props.accessibilityElementsHidden,
          style: _StyleSheet.default.compose(this.props.style, (_this$state$extraStyl = this.state.extraStyles) == null ? undefined : _this$state$extraStyl.underlay),
          onLayout: this.props.onLayout,
          hitSlop: this.props.hitSlop,
          hasTVPreferredFocus: this.props.hasTVPreferredFocus,
          nextFocusDown: this.props.nextFocusDown,
          nextFocusForward: this.props.nextFocusForward,
          nextFocusLeft: this.props.nextFocusLeft,
          nextFocusRight: this.props.nextFocusRight,
          nextFocusUp: this.props.nextFocusUp,
          focusable: this.props.focusable !== false && this.props.onPress !== undefined,
          nativeID: this.props.nativeID,
          testID: this.props.testID,
          ref: this.props.hostRef
        }, eventHandlersWithoutBlurAndFocus), React.cloneElement(child, {
          style: _StyleSheet.default.compose(child.props.style, (_this$state$extraStyl2 = this.state.extraStyles) == null ? undefined : _this$state$extraStyl2.child)
        }), null);
      }
    }, {
      key: "componentDidMount",
      value: function componentDidMount() {
        this._isMounted = true;
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps, prevState) {
        this.state.pressability.configure(this._createPressabilityConfig());
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this._isMounted = false;

        if (this._hideTimeout != null) {
          clearTimeout(this._hideTimeout);
        }

        this.state.pressability.reset();
      }
    }]);
    return TouchableHighlight;
  }(React.Component);

  var Touchable = React.forwardRef(function (props, hostRef) {
    return React.createElement(TouchableHighlight, (0, _extends2.default)({}, props, {
      hostRef: hostRef
    }));
  });
  Touchable.displayName = 'TouchableHighlight';
  module.exports = Touchable;
},345,[5,6,108,7,8,12,14,16,211,183,37,184,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Pressability = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _View = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PASSTHROUGH_PROPS = ['accessibilityActions', 'accessibilityElementsHidden', 'accessibilityHint', 'accessibilityIgnoresInvertColors', 'accessibilityLabel', 'accessibilityLiveRegion', 'accessibilityRole', 'accessibilityValue', 'accessibilityViewIsModal', 'hitSlop', 'importantForAccessibility', 'nativeID', 'onAccessibilityAction', 'onBlur', 'onFocus', 'onLayout', 'testID'];

  var TouchableWithoutFeedback = function (_React$Component) {
    (0, _inherits2.default)(TouchableWithoutFeedback, _React$Component);

    var _super = _createSuper(TouchableWithoutFeedback);

    function TouchableWithoutFeedback() {
      var _this;

      (0, _classCallCheck2.default)(this, TouchableWithoutFeedback);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.state = {
        pressability: new _Pressability.default(createPressabilityConfig(_this.props))
      };
      return _this;
    }

    (0, _createClass2.default)(TouchableWithoutFeedback, [{
      key: "render",
      value: function render() {
        var element = React.Children.only(this.props.children);
        var children = [element.props.children];

        var _this$state$pressabil = this.state.pressability.getEventHandlers(),
            onBlur = _this$state$pressabil.onBlur,
            onFocus = _this$state$pressabil.onFocus,
            eventHandlersWithoutBlurAndFocus = (0, _objectWithoutProperties2.default)(_this$state$pressabil, ["onBlur", "onFocus"]);

        var elementProps = (0, _extends2.default)({}, eventHandlersWithoutBlurAndFocus, {
          accessible: this.props.accessible !== false,
          accessibilityState: this.props.disabled != null ? (0, _extends2.default)({}, this.props.accessibilityState, {
            disabled: this.props.disabled
          }) : this.props.accessibilityState,
          focusable: this.props.focusable !== false && this.props.onPress !== undefined
        });

        for (var _i = 0, _PASSTHROUGH_PROPS = PASSTHROUGH_PROPS; _i < _PASSTHROUGH_PROPS.length; _i++) {
          var prop = _PASSTHROUGH_PROPS[_i];

          if (this.props[prop] !== undefined) {
            elementProps[prop] = this.props[prop];
          }
        }

        return React.cloneElement.apply(React, [element, elementProps].concat(children));
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate() {
        this.state.pressability.configure(createPressabilityConfig(this.props));
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this.state.pressability.reset();
      }
    }]);
    return TouchableWithoutFeedback;
  }(React.Component);

  function createPressabilityConfig(props) {
    var _props$accessibilityS;

    return {
      cancelable: !props.rejectResponderTermination,
      disabled: props.disabled !== null ? props.disabled : (_props$accessibilityS = props.accessibilityState) == null ? undefined : _props$accessibilityS.disabled,
      hitSlop: props.hitSlop,
      delayLongPress: props.delayLongPress,
      delayPressIn: props.delayPressIn,
      delayPressOut: props.delayPressOut,
      minPressDuration: 0,
      pressRectOffset: props.pressRetentionOffset,
      android_disableSound: props.touchSoundDisabled,
      onBlur: props.onBlur,
      onFocus: props.onFocus,
      onLongPress: props.onLongPress,
      onPress: props.onPress,
      onPressIn: props.onPressIn,
      onPressOut: props.onPressOut
    };
  }

  TouchableWithoutFeedback.displayName = 'TouchableWithoutFeedback';
  module.exports = TouchableWithoutFeedback;
},346,[5,6,108,7,8,12,14,16,211,184,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _NativeActionSheetManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var ActionSheetIOS = {
    showActionSheetWithOptions: function showActionSheetWithOptions(options, callback) {
      _$$_REQUIRE(_dependencyMap[4])(typeof options === 'object' && options !== null, 'Options must be a valid object');

      _$$_REQUIRE(_dependencyMap[4])(typeof callback === 'function', 'Must provide a valid callback');

      _$$_REQUIRE(_dependencyMap[4])(_NativeActionSheetManager.default, "ActionSheetManager doesn't exist");

      var tintColor = options.tintColor,
          cancelButtonTintColor = options.cancelButtonTintColor,
          destructiveButtonIndex = options.destructiveButtonIndex,
          remainingOptions = (0, _objectWithoutProperties2.default)(options, ["tintColor", "cancelButtonTintColor", "destructiveButtonIndex"]);
      var destructiveButtonIndices = null;

      if (Array.isArray(destructiveButtonIndex)) {
        destructiveButtonIndices = destructiveButtonIndex;
      } else if (typeof destructiveButtonIndex === 'number') {
        destructiveButtonIndices = [destructiveButtonIndex];
      }

      var processedTintColor = _$$_REQUIRE(_dependencyMap[5])(tintColor);

      var processedCancelButtonTintColor = _$$_REQUIRE(_dependencyMap[5])(cancelButtonTintColor);

      _$$_REQUIRE(_dependencyMap[4])(processedTintColor == null || typeof processedTintColor === 'number', 'Unexpected color given for ActionSheetIOS.showActionSheetWithOptions tintColor');

      _$$_REQUIRE(_dependencyMap[4])(processedCancelButtonTintColor == null || typeof processedCancelButtonTintColor === 'number', 'Unexpected color given for ActionSheetIOS.showActionSheetWithOptions cancelButtonTintColor');

      _NativeActionSheetManager.default.showActionSheetWithOptions((0, _extends2.default)({}, remainingOptions, {
        tintColor: processedTintColor,
        cancelButtonTintColor: processedCancelButtonTintColor,
        destructiveButtonIndices: destructiveButtonIndices
      }), callback);
    },
    showShareActionSheetWithOptions: function showShareActionSheetWithOptions(options, failureCallback, successCallback) {
      _$$_REQUIRE(_dependencyMap[4])(typeof options === 'object' && options !== null, 'Options must be a valid object');

      _$$_REQUIRE(_dependencyMap[4])(typeof failureCallback === 'function', 'Must provide a valid failureCallback');

      _$$_REQUIRE(_dependencyMap[4])(typeof successCallback === 'function', 'Must provide a valid successCallback');

      _$$_REQUIRE(_dependencyMap[4])(_NativeActionSheetManager.default, "ActionSheetManager doesn't exist");

      _NativeActionSheetManager.default.showShareActionSheetWithOptions((0, _extends2.default)({}, options, {
        tintColor: _$$_REQUIRE(_dependencyMap[5])(options.tintColor)
      }), failureCallback, successCallback);
    }
  };
  module.exports = ActionSheetIOS;
},347,[5,6,108,348,36,145]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('ActionSheetManager');

  exports.default = _default;
},348,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _EventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _NativeEventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _NativeAppearance = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var eventEmitter = new _EventEmitter.default();

  if (_NativeAppearance.default) {
    var nativeEventEmitter = new _NativeEventEmitter.default(_Platform.default.OS !== 'ios' ? null : _NativeAppearance.default);
    nativeEventEmitter.addListener('appearanceChanged', function (newAppearance) {
      var colorScheme = newAppearance.colorScheme;
      (0, _invariant.default)(colorScheme === 'dark' || colorScheme === 'light' || colorScheme == null, "Unrecognized color scheme. Did you mean 'dark' or 'light'?");
      eventEmitter.emit('change', {
        colorScheme: colorScheme
      });
    });
  }

  module.exports = {
    getColorScheme: function getColorScheme() {
      var nativeColorScheme = _NativeAppearance.default == null ? null : _NativeAppearance.default.getColorScheme() || null;
      (0, _invariant.default)(nativeColorScheme === 'dark' || nativeColorScheme === 'light' || nativeColorScheme == null, "Unrecognized color scheme. Did you mean 'dark' or 'light'?");
      return nativeColorScheme;
    },
    addChangeListener: function addChangeListener(listener) {
      return eventEmitter.addListener('change', listener);
    },
    removeChangeListener: function removeChangeListener(listener) {
      eventEmitter.removeListener('change', listener);
    }
  };
},349,[5,31,110,350,36,37]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('Appearance');

  exports.default = _default;
},350,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createPerformanceLogger = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _NativeHeadlessJsTaskSupport = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _HeadlessJsTaskError = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var runnables = {};
  var runCount = 1;
  var sections = {};
  var taskProviders = new Map();
  var taskCancelProviders = new Map();

  var componentProviderInstrumentationHook = function componentProviderInstrumentationHook(component) {
    return component();
  };

  var wrapperComponentProvider;
  var showArchitectureIndicator = false;
  var AppRegistry = {
    setWrapperComponentProvider: function setWrapperComponentProvider(provider) {
      wrapperComponentProvider = provider;
    },
    enableArchitectureIndicator: function enableArchitectureIndicator(enabled) {
      showArchitectureIndicator = enabled;
    },
    registerConfig: function registerConfig(config) {
      config.forEach(function (appConfig) {
        if (appConfig.run) {
          AppRegistry.registerRunnable(appConfig.appKey, appConfig.run);
        } else {
          _$$_REQUIRE(_dependencyMap[5])(appConfig.component != null, "AppRegistry.registerConfig(...): Every config is expected to set either `run` or `component`, but `%s` has neither.", appConfig.appKey);

          AppRegistry.registerComponent(appConfig.appKey, appConfig.component, appConfig.section);
        }
      });
    },
    registerComponent: function registerComponent(appKey, componentProvider, section) {
      var scopedPerformanceLogger = (0, _createPerformanceLogger.default)();
      runnables[appKey] = {
        componentProvider: componentProvider,
        run: function run(appParameters, displayMode) {
          _$$_REQUIRE(_dependencyMap[6])(componentProviderInstrumentationHook(componentProvider, scopedPerformanceLogger), appParameters.initialProps, appParameters.rootTag, wrapperComponentProvider && wrapperComponentProvider(appParameters), appParameters.fabric, showArchitectureIndicator, scopedPerformanceLogger, appKey === 'LogBox', appKey, (0, _$$_REQUIRE(_dependencyMap[7]).coerceDisplayMode)(displayMode), appParameters.concurrentRoot);
        }
      };

      if (section) {
        sections[appKey] = runnables[appKey];
      }

      return appKey;
    },
    registerRunnable: function registerRunnable(appKey, run) {
      runnables[appKey] = {
        run: run
      };
      return appKey;
    },
    registerSection: function registerSection(appKey, component) {
      AppRegistry.registerComponent(appKey, component, true);
    },
    getAppKeys: function getAppKeys() {
      return Object.keys(runnables);
    },
    getSectionKeys: function getSectionKeys() {
      return Object.keys(sections);
    },
    getSections: function getSections() {
      return (0, _extends2.default)({}, sections);
    },
    getRunnable: function getRunnable(appKey) {
      return runnables[appKey];
    },
    getRegistry: function getRegistry() {
      return {
        sections: AppRegistry.getSectionKeys(),
        runnables: (0, _extends2.default)({}, runnables)
      };
    },
    setComponentProviderInstrumentationHook: function setComponentProviderInstrumentationHook(hook) {
      componentProviderInstrumentationHook = hook;
    },
    runApplication: function runApplication(appKey, appParameters, displayMode) {
      if (appKey !== 'LogBox') {
        var logParams = '';
        var msg = 'Running "' + appKey + logParams;

        _$$_REQUIRE(_dependencyMap[8])(msg);

        _$$_REQUIRE(_dependencyMap[9]).addSource('AppRegistry.runApplication' + runCount++, function () {
          return msg;
        });
      }

      _$$_REQUIRE(_dependencyMap[5])(runnables[appKey] && runnables[appKey].run, "\"" + appKey + "\" has not been registered. This can happen if:\n" + '* Metro (the local dev server) is run from the wrong folder. ' + 'Check if Metro is running, stop it and restart it in the current project.\n' + "* A module failed to load due to an error and `AppRegistry.registerComponent` wasn't called.");

      _$$_REQUIRE(_dependencyMap[10]).setActiveScene({
        name: appKey
      });

      runnables[appKey].run(appParameters, displayMode);
    },
    setSurfaceProps: function setSurfaceProps(appKey, appParameters, displayMode) {
      if (appKey !== 'LogBox') {
        var msg = 'Updating props for Surface "' + appKey + '" with ' + JSON.stringify(appParameters);

        _$$_REQUIRE(_dependencyMap[8])(msg);

        _$$_REQUIRE(_dependencyMap[9]).addSource('AppRegistry.setSurfaceProps' + runCount++, function () {
          return msg;
        });
      }

      _$$_REQUIRE(_dependencyMap[5])(runnables[appKey] && runnables[appKey].run, "\"" + appKey + "\" has not been registered. This can happen if:\n" + '* Metro (the local dev server) is run from the wrong folder. ' + 'Check if Metro is running, stop it and restart it in the current project.\n' + "* A module failed to load due to an error and `AppRegistry.registerComponent` wasn't called.");

      runnables[appKey].run(appParameters, displayMode);
    },
    unmountApplicationComponentAtRootTag: function unmountApplicationComponentAtRootTag(rootTag) {
      _$$_REQUIRE(_dependencyMap[11]).unmountComponentAtNodeAndRemoveContainer(rootTag);
    },
    registerHeadlessTask: function registerHeadlessTask(taskKey, taskProvider) {
      this.registerCancellableHeadlessTask(taskKey, taskProvider, function () {
        return function () {};
      });
    },
    registerCancellableHeadlessTask: function registerCancellableHeadlessTask(taskKey, taskProvider, taskCancelProvider) {
      if (taskProviders.has(taskKey)) {
        console.warn("registerHeadlessTask or registerCancellableHeadlessTask called multiple times for same key '" + taskKey + "'");
      }

      taskProviders.set(taskKey, taskProvider);
      taskCancelProviders.set(taskKey, taskCancelProvider);
    },
    startHeadlessTask: function startHeadlessTask(taskId, taskKey, data) {
      var taskProvider = taskProviders.get(taskKey);

      if (!taskProvider) {
        console.warn("No task registered for key " + taskKey);

        if (_NativeHeadlessJsTaskSupport.default) {
          _NativeHeadlessJsTaskSupport.default.notifyTaskFinished(taskId);
        }

        return;
      }

      taskProvider()(data).then(function () {
        if (_NativeHeadlessJsTaskSupport.default) {
          _NativeHeadlessJsTaskSupport.default.notifyTaskFinished(taskId);
        }
      }).catch(function (reason) {
        console.error(reason);

        if (_NativeHeadlessJsTaskSupport.default && reason instanceof _HeadlessJsTaskError.default) {
          _NativeHeadlessJsTaskSupport.default.notifyTaskRetry(taskId).then(function (retryPosted) {
            if (!retryPosted) {
              _NativeHeadlessJsTaskSupport.default.notifyTaskFinished(taskId);
            }
          });
        }
      });
    },
    cancelHeadlessTask: function cancelHeadlessTask(taskId, taskKey) {
      var taskCancelProvider = taskCancelProviders.get(taskKey);

      if (!taskCancelProvider) {
        throw new Error("No task canceller registered for key '" + taskKey + "'");
      }

      taskCancelProvider()();
    }
  };

  _$$_REQUIRE(_dependencyMap[12]).registerCallableModule('AppRegistry', AppRegistry);

  {
    AppRegistry.registerComponent('LogBox', function () {
      return function NoOp() {
        return null;
      };
    });
  }
  module.exports = AppRegistry;
},351,[5,6,98,352,353,36,354,361,278,362,366,54,45]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('HeadlessJsTaskSupport');

  exports.default = _default;
},352,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _wrapNativeSuper2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var HeadlessJsTaskError = function (_Error) {
    (0, _inherits2.default)(HeadlessJsTaskError, _Error);

    var _super = _createSuper(HeadlessJsTaskError);

    function HeadlessJsTaskError() {
      (0, _classCallCheck2.default)(this, HeadlessJsTaskError);
      return _super.apply(this, arguments);
    }

    return HeadlessJsTaskError;
  }((0, _wrapNativeSuper2.default)(Error));

  exports.default = HeadlessJsTaskError;
},353,[5,7,12,14,16,63]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _GlobalPerformanceLogger = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _PerformanceLoggerContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _getCachedComponentWithDebugName = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var React = _$$_REQUIRE(_dependencyMap[5]);

  _$$_REQUIRE(_dependencyMap[6]);

  function renderApplication(RootComponent, initialProps, rootTag, WrapperComponent, fabric, showArchitectureIndicator, scopedPerformanceLogger, isLogBox, debugName, displayMode, useConcurrentRoot) {
    _$$_REQUIRE(_dependencyMap[7])(rootTag, 'Expect to have a valid rootTag, instead got ', rootTag);

    var performanceLogger = scopedPerformanceLogger != null ? scopedPerformanceLogger : _GlobalPerformanceLogger.default;
    var renderable = React.createElement(_PerformanceLoggerContext.default.Provider, {
      value: performanceLogger
    }, React.createElement(_$$_REQUIRE(_dependencyMap[8]), {
      rootTag: rootTag,
      fabric: fabric,
      showArchitectureIndicator: showArchitectureIndicator,
      WrapperComponent: WrapperComponent,
      initialProps: initialProps != null ? initialProps : Object.freeze({}),
      internal_excludeLogBox: isLogBox
    }, React.createElement(RootComponent, (0, _extends2.default)({}, initialProps, {
      rootTag: rootTag
    }))));
    performanceLogger.startTimespan('renderApplication_React_render');
    performanceLogger.setExtra('usedReactFabric', fabric ? '1' : '0');

    if (fabric) {
      _$$_REQUIRE(_dependencyMap[9]).render(renderable, rootTag, null, useConcurrentRoot);
    } else {
      _$$_REQUIRE(_dependencyMap[10]).render(renderable, rootTag);
    }

    performanceLogger.stopTimespan('renderApplication_React_render');
  }

  module.exports = renderApplication;
},354,[5,6,97,355,356,17,357,36,358,359,54]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.usePerformanceLogger = usePerformanceLogger;
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _GlobalPerformanceLogger = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var PerformanceLoggerContext = React.createContext(_GlobalPerformanceLogger.default);

  function usePerformanceLogger() {
    return (0, React.useContext)(PerformanceLoggerContext);
  }

  var _default = PerformanceLoggerContext;
  exports.default = _default;
},355,[17,5,97]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = getCachedComponentWithDisplayName;
  var cache = new Map();

  function getCachedComponentWithDisplayName(displayName) {
    var ComponentWithDisplayName = cache.get(displayName);

    if (!ComponentWithDisplayName) {
      ComponentWithDisplayName = function ComponentWithDisplayName(_ref) {
        var children = _ref.children;
        return children;
      };

      ComponentWithDisplayName.displayName = displayName;
      cache.set(displayName, ComponentWithDisplayName);
    }

    return ComponentWithDisplayName;
  }
},356,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = _$$_REQUIRE(_dependencyMap[0]);

  function emptyFunction() {}

  var BackHandler = {
    exitApp: emptyFunction,
    addEventListener: function addEventListener(_eventName, _handler) {
      return {
        remove: emptyFunction
      };
    },
    removeEventListener: function removeEventListener(_eventName, _handler) {}
  };
  module.exports = BackHandler;
},357,[188]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _View = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _RCTDeviceEventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _StyleSheet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AppContainer = function (_React$Component) {
    (0, _inherits2.default)(AppContainer, _React$Component);

    var _super = _createSuper(AppContainer);

    function AppContainer() {
      var _this;

      (0, _classCallCheck2.default)(this, AppContainer);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.state = {
        inspector: null,
        mainKey: 1,
        hasError: false
      };
      _this._subscription = null;
      return _this;
    }

    (0, _createClass2.default)(AppContainer, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        if (this._subscription != null) {
          this._subscription.remove();
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this3 = this;

        var logBox = null;
        var innerView = React.createElement(_View.default, {
          collapsable: !this.state.inspector,
          key: this.state.mainKey,
          pointerEvents: "box-none",
          style: styles.appContainer,
          ref: function ref(_ref) {
            _this3._mainRef = _ref;
          }
        }, this.props.children);
        var Wrapper = this.props.WrapperComponent;

        if (Wrapper != null) {
          innerView = React.createElement(Wrapper, {
            initialProps: this.props.initialProps,
            fabric: this.props.fabric === true,
            showArchitectureIndicator: this.props.showArchitectureIndicator === true
          }, innerView);
        }

        return React.createElement(_$$_REQUIRE(_dependencyMap[10]).RootTagContext.Provider, {
          value: (0, _$$_REQUIRE(_dependencyMap[10]).createRootTag)(this.props.rootTag)
        }, React.createElement(_View.default, {
          style: styles.appContainer,
          pointerEvents: "box-none"
        }, !this.state.hasError && innerView, this.state.inspector, logBox));
      }
    }]);
    return AppContainer;
  }(React.Component);

  AppContainer.getDerivedStateFromError = undefined;

  var styles = _StyleSheet.default.create({
    appContainer: {
      flex: 1
    }
  });

  module.exports = AppContainer;
},358,[5,7,8,12,14,16,184,30,183,17,313]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var ReactFabric;
  {
    ReactFabric = _$$_REQUIRE(_dependencyMap[0]);
  }

  if (global.RN$Bridgeless) {
    global.RN$stopSurface = ReactFabric.stopSurface;
  } else {
    _$$_REQUIRE(_dependencyMap[1]).BatchedBridge.registerCallableModule('ReactFabric', ReactFabric);
  }

  module.exports = ReactFabric;
},359,[360,136]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  _$$_REQUIRE(_dependencyMap[0]);

  var React = _$$_REQUIRE(_dependencyMap[1]);

  function invokeGuardedCallbackImpl(name, func, context, a, b, c, d, e, f) {
    var funcArgs = Array.prototype.slice.call(arguments, 3);

    try {
      func.apply(context, funcArgs);
    } catch (error) {
      this.onError(error);
    }
  }

  var hasError = false,
      caughtError = null,
      hasRethrowError = false,
      rethrowError = null,
      reporter = {
    onError: function onError(error) {
      hasError = true;
      caughtError = error;
    }
  };

  function invokeGuardedCallback(name, func, context, a, b, c, d, e, f) {
    hasError = false;
    caughtError = null;
    invokeGuardedCallbackImpl.apply(reporter, arguments);
  }

  function invokeGuardedCallbackAndCatchFirstError(name, func, context, a, b, c, d, e, f) {
    invokeGuardedCallback.apply(this, arguments);

    if (hasError) {
      if (hasError) {
        var error = caughtError;
        hasError = false;
        caughtError = null;
      } else throw Error("clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue.");

      hasRethrowError || (hasRethrowError = true, rethrowError = error);
    }
  }

  var isArrayImpl = Array.isArray,
      getFiberCurrentPropsFromNode = null,
      getInstanceFromNode = null,
      getNodeFromInstance = null;

  function executeDispatch(event, listener, inst) {
    var type = event.type || "unknown-event";
    event.currentTarget = getNodeFromInstance(inst);
    invokeGuardedCallbackAndCatchFirstError(type, listener, undefined, event);
    event.currentTarget = null;
  }

  function executeDirectDispatch(event) {
    var dispatchListener = event._dispatchListeners,
        dispatchInstance = event._dispatchInstances;
    if (isArrayImpl(dispatchListener)) throw Error("executeDirectDispatch(...): Invalid `event`.");
    event.currentTarget = dispatchListener ? getNodeFromInstance(dispatchInstance) : null;
    dispatchListener = dispatchListener ? dispatchListener(event) : null;
    event.currentTarget = null;
    event._dispatchListeners = null;
    event._dispatchInstances = null;
    return dispatchListener;
  }

  function functionThatReturnsTrue() {
    return true;
  }

  function functionThatReturnsFalse() {
    return false;
  }

  function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) {
    this.dispatchConfig = dispatchConfig;
    this._targetInst = targetInst;
    this.nativeEvent = nativeEvent;
    this._dispatchInstances = this._dispatchListeners = null;
    dispatchConfig = this.constructor.Interface;

    for (var propName in dispatchConfig) {
      dispatchConfig.hasOwnProperty(propName) && ((targetInst = dispatchConfig[propName]) ? this[propName] = targetInst(nativeEvent) : "target" === propName ? this.target = nativeEventTarget : this[propName] = nativeEvent[propName]);
    }

    this.isDefaultPrevented = (null != nativeEvent.defaultPrevented ? nativeEvent.defaultPrevented : false === nativeEvent.returnValue) ? functionThatReturnsTrue : functionThatReturnsFalse;
    this.isPropagationStopped = functionThatReturnsFalse;
    return this;
  }

  _$$_REQUIRE(_dependencyMap[2])(SyntheticEvent.prototype, {
    preventDefault: function preventDefault() {
      this.defaultPrevented = true;
      var event = this.nativeEvent;
      event && (event.preventDefault ? event.preventDefault() : "unknown" !== typeof event.returnValue && (event.returnValue = false), this.isDefaultPrevented = functionThatReturnsTrue);
    },
    stopPropagation: function stopPropagation() {
      var event = this.nativeEvent;
      event && (event.stopPropagation ? event.stopPropagation() : "unknown" !== typeof event.cancelBubble && (event.cancelBubble = true), this.isPropagationStopped = functionThatReturnsTrue);
    },
    persist: function persist() {
      this.isPersistent = functionThatReturnsTrue;
    },
    isPersistent: functionThatReturnsFalse,
    destructor: function destructor() {
      var Interface = this.constructor.Interface,
          propName;

      for (propName in Interface) {
        this[propName] = null;
      }

      this.nativeEvent = this._targetInst = this.dispatchConfig = null;
      this.isPropagationStopped = this.isDefaultPrevented = functionThatReturnsFalse;
      this._dispatchInstances = this._dispatchListeners = null;
    }
  });

  SyntheticEvent.Interface = {
    type: null,
    target: null,
    currentTarget: function currentTarget() {
      return null;
    },
    eventPhase: null,
    bubbles: null,
    cancelable: null,
    timeStamp: function timeStamp(event) {
      return event.timeStamp || Date.now();
    },
    defaultPrevented: null,
    isTrusted: null
  };

  SyntheticEvent.extend = function (Interface) {
    function E() {}

    function Class() {
      return Super.apply(this, arguments);
    }

    var Super = this;
    E.prototype = Super.prototype;
    var prototype = new E();

    _$$_REQUIRE(_dependencyMap[2])(prototype, Class.prototype);

    Class.prototype = prototype;
    Class.prototype.constructor = Class;
    Class.Interface = _$$_REQUIRE(_dependencyMap[2])({}, Super.Interface, Interface);
    Class.extend = Super.extend;
    addEventPoolingTo(Class);
    return Class;
  };

  addEventPoolingTo(SyntheticEvent);

  function createOrGetPooledEvent(dispatchConfig, targetInst, nativeEvent, nativeInst) {
    if (this.eventPool.length) {
      var instance = this.eventPool.pop();
      this.call(instance, dispatchConfig, targetInst, nativeEvent, nativeInst);
      return instance;
    }

    return new this(dispatchConfig, targetInst, nativeEvent, nativeInst);
  }

  function releasePooledEvent(event) {
    if (!(event instanceof this)) throw Error("Trying to release an event instance into a pool of a different type.");
    event.destructor();
    10 > this.eventPool.length && this.eventPool.push(event);
  }

  function addEventPoolingTo(EventConstructor) {
    EventConstructor.getPooled = createOrGetPooledEvent;
    EventConstructor.eventPool = [];
    EventConstructor.release = releasePooledEvent;
  }

  var ResponderSyntheticEvent = SyntheticEvent.extend({
    touchHistory: function touchHistory() {
      return null;
    }
  });

  function isStartish(topLevelType) {
    return "topTouchStart" === topLevelType;
  }

  function isMoveish(topLevelType) {
    return "topTouchMove" === topLevelType;
  }

  var startDependencies = ["topTouchStart"],
      moveDependencies = ["topTouchMove"],
      endDependencies = ["topTouchCancel", "topTouchEnd"],
      touchBank = [],
      touchHistory = {
    touchBank: touchBank,
    numberActiveTouches: 0,
    indexOfSingleActiveTouch: -1,
    mostRecentTimeStamp: 0
  };

  function timestampForTouch(touch) {
    return touch.timeStamp || touch.timestamp;
  }

  function getTouchIdentifier(_ref) {
    _ref = _ref.identifier;
    if (null == _ref) throw Error("Touch object is missing identifier.");
    return _ref;
  }

  function recordTouchStart(touch) {
    var identifier = getTouchIdentifier(touch),
        touchRecord = touchBank[identifier];
    touchRecord ? (touchRecord.touchActive = true, touchRecord.startPageX = touch.pageX, touchRecord.startPageY = touch.pageY, touchRecord.startTimeStamp = timestampForTouch(touch), touchRecord.currentPageX = touch.pageX, touchRecord.currentPageY = touch.pageY, touchRecord.currentTimeStamp = timestampForTouch(touch), touchRecord.previousPageX = touch.pageX, touchRecord.previousPageY = touch.pageY, touchRecord.previousTimeStamp = timestampForTouch(touch)) : (touchRecord = {
      touchActive: true,
      startPageX: touch.pageX,
      startPageY: touch.pageY,
      startTimeStamp: timestampForTouch(touch),
      currentPageX: touch.pageX,
      currentPageY: touch.pageY,
      currentTimeStamp: timestampForTouch(touch),
      previousPageX: touch.pageX,
      previousPageY: touch.pageY,
      previousTimeStamp: timestampForTouch(touch)
    }, touchBank[identifier] = touchRecord);
    touchHistory.mostRecentTimeStamp = timestampForTouch(touch);
  }

  function recordTouchMove(touch) {
    var touchRecord = touchBank[getTouchIdentifier(touch)];
    touchRecord && (touchRecord.touchActive = true, touchRecord.previousPageX = touchRecord.currentPageX, touchRecord.previousPageY = touchRecord.currentPageY, touchRecord.previousTimeStamp = touchRecord.currentTimeStamp, touchRecord.currentPageX = touch.pageX, touchRecord.currentPageY = touch.pageY, touchRecord.currentTimeStamp = timestampForTouch(touch), touchHistory.mostRecentTimeStamp = timestampForTouch(touch));
  }

  function recordTouchEnd(touch) {
    var touchRecord = touchBank[getTouchIdentifier(touch)];
    touchRecord && (touchRecord.touchActive = false, touchRecord.previousPageX = touchRecord.currentPageX, touchRecord.previousPageY = touchRecord.currentPageY, touchRecord.previousTimeStamp = touchRecord.currentTimeStamp, touchRecord.currentPageX = touch.pageX, touchRecord.currentPageY = touch.pageY, touchRecord.currentTimeStamp = timestampForTouch(touch), touchHistory.mostRecentTimeStamp = timestampForTouch(touch));
  }

  var instrumentationCallback,
      ResponderTouchHistoryStore = {
    instrument: function instrument(callback) {
      instrumentationCallback = callback;
    },
    recordTouchTrack: function recordTouchTrack(topLevelType, nativeEvent) {
      null != instrumentationCallback && instrumentationCallback(topLevelType, nativeEvent);
      if (isMoveish(topLevelType)) nativeEvent.changedTouches.forEach(recordTouchMove);else if (isStartish(topLevelType)) nativeEvent.changedTouches.forEach(recordTouchStart), touchHistory.numberActiveTouches = nativeEvent.touches.length, 1 === touchHistory.numberActiveTouches && (touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier);else if ("topTouchEnd" === topLevelType || "topTouchCancel" === topLevelType) if (nativeEvent.changedTouches.forEach(recordTouchEnd), touchHistory.numberActiveTouches = nativeEvent.touches.length, 1 === touchHistory.numberActiveTouches) for (topLevelType = 0; topLevelType < touchBank.length; topLevelType++) {
        if (nativeEvent = touchBank[topLevelType], null != nativeEvent && nativeEvent.touchActive) {
          touchHistory.indexOfSingleActiveTouch = topLevelType;
          break;
        }
      }
    },
    touchHistory: touchHistory
  };

  function accumulate(current, next) {
    if (null == next) throw Error("accumulate(...): Accumulated items must not be null or undefined.");
    return null == current ? next : isArrayImpl(current) ? current.concat(next) : isArrayImpl(next) ? [current].concat(next) : [current, next];
  }

  function accumulateInto(current, next) {
    if (null == next) throw Error("accumulateInto(...): Accumulated items must not be null or undefined.");
    if (null == current) return next;

    if (isArrayImpl(current)) {
      if (isArrayImpl(next)) return current.push.apply(current, next), current;
      current.push(next);
      return current;
    }

    return isArrayImpl(next) ? [current].concat(next) : [current, next];
  }

  function forEachAccumulated(arr, cb, scope) {
    Array.isArray(arr) ? arr.forEach(cb, scope) : arr && cb.call(scope, arr);
  }

  var responderInst = null,
      trackedTouchCount = 0;

  function changeResponder(nextResponderInst, blockHostResponder) {
    var oldResponderInst = responderInst;
    responderInst = nextResponderInst;
    if (null !== ResponderEventPlugin.GlobalResponderHandler) ResponderEventPlugin.GlobalResponderHandler.onChange(oldResponderInst, nextResponderInst, blockHostResponder);
  }

  var eventTypes = {
    startShouldSetResponder: {
      phasedRegistrationNames: {
        bubbled: "onStartShouldSetResponder",
        captured: "onStartShouldSetResponderCapture"
      },
      dependencies: startDependencies
    },
    scrollShouldSetResponder: {
      phasedRegistrationNames: {
        bubbled: "onScrollShouldSetResponder",
        captured: "onScrollShouldSetResponderCapture"
      },
      dependencies: ["topScroll"]
    },
    selectionChangeShouldSetResponder: {
      phasedRegistrationNames: {
        bubbled: "onSelectionChangeShouldSetResponder",
        captured: "onSelectionChangeShouldSetResponderCapture"
      },
      dependencies: ["topSelectionChange"]
    },
    moveShouldSetResponder: {
      phasedRegistrationNames: {
        bubbled: "onMoveShouldSetResponder",
        captured: "onMoveShouldSetResponderCapture"
      },
      dependencies: moveDependencies
    },
    responderStart: {
      registrationName: "onResponderStart",
      dependencies: startDependencies
    },
    responderMove: {
      registrationName: "onResponderMove",
      dependencies: moveDependencies
    },
    responderEnd: {
      registrationName: "onResponderEnd",
      dependencies: endDependencies
    },
    responderRelease: {
      registrationName: "onResponderRelease",
      dependencies: endDependencies
    },
    responderTerminationRequest: {
      registrationName: "onResponderTerminationRequest",
      dependencies: []
    },
    responderGrant: {
      registrationName: "onResponderGrant",
      dependencies: []
    },
    responderReject: {
      registrationName: "onResponderReject",
      dependencies: []
    },
    responderTerminate: {
      registrationName: "onResponderTerminate",
      dependencies: []
    }
  };

  function getParent(inst) {
    do {
      inst = inst.return;
    } while (inst && 5 !== inst.tag);

    return inst ? inst : null;
  }

  function traverseTwoPhase(inst, fn, arg) {
    for (var path = []; inst;) {
      path.push(inst), inst = getParent(inst);
    }

    for (inst = path.length; 0 < inst--;) {
      fn(path[inst], "captured", arg);
    }

    for (inst = 0; inst < path.length; inst++) {
      fn(path[inst], "bubbled", arg);
    }
  }

  function getListener(inst, registrationName) {
    inst = inst.stateNode;
    if (null === inst) return null;
    inst = getFiberCurrentPropsFromNode(inst);
    if (null === inst) return null;
    if ((inst = inst[registrationName]) && "function" !== typeof inst) throw Error("Expected `" + registrationName + "` listener to be a function, instead got a value of `" + typeof inst + "` type.");
    return inst;
  }

  function accumulateDirectionalDispatches(inst, phase, event) {
    if (phase = getListener(inst, event.dispatchConfig.phasedRegistrationNames[phase])) event._dispatchListeners = accumulateInto(event._dispatchListeners, phase), event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);
  }

  function accumulateDirectDispatchesSingle(event) {
    if (event && event.dispatchConfig.registrationName) {
      var inst = event._targetInst;

      if (inst && event && event.dispatchConfig.registrationName) {
        var listener = getListener(inst, event.dispatchConfig.registrationName);
        listener && (event._dispatchListeners = accumulateInto(event._dispatchListeners, listener), event._dispatchInstances = accumulateInto(event._dispatchInstances, inst));
      }
    }
  }

  function accumulateTwoPhaseDispatchesSingleSkipTarget(event) {
    if (event && event.dispatchConfig.phasedRegistrationNames) {
      var targetInst = event._targetInst;
      targetInst = targetInst ? getParent(targetInst) : null;
      traverseTwoPhase(targetInst, accumulateDirectionalDispatches, event);
    }
  }

  function accumulateTwoPhaseDispatchesSingle(event) {
    event && event.dispatchConfig.phasedRegistrationNames && traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event);
  }

  var ResponderEventPlugin = {
    _getResponder: function _getResponder() {
      return responderInst;
    },
    eventTypes: eventTypes,
    extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) {
      if (isStartish(topLevelType)) trackedTouchCount += 1;else if ("topTouchEnd" === topLevelType || "topTouchCancel" === topLevelType) if (0 <= trackedTouchCount) --trackedTouchCount;else return null;
      ResponderTouchHistoryStore.recordTouchTrack(topLevelType, nativeEvent);

      if (targetInst && ("topScroll" === topLevelType && !nativeEvent.responderIgnoreScroll || 0 < trackedTouchCount && "topSelectionChange" === topLevelType || isStartish(topLevelType) || isMoveish(topLevelType))) {
        var shouldSetEventType = isStartish(topLevelType) ? eventTypes.startShouldSetResponder : isMoveish(topLevelType) ? eventTypes.moveShouldSetResponder : "topSelectionChange" === topLevelType ? eventTypes.selectionChangeShouldSetResponder : eventTypes.scrollShouldSetResponder;
        if (responderInst) b: {
          var JSCompiler_temp = responderInst;

          for (var depthA = 0, tempA = JSCompiler_temp; tempA; tempA = getParent(tempA)) {
            depthA++;
          }

          tempA = 0;

          for (var tempB = targetInst; tempB; tempB = getParent(tempB)) {
            tempA++;
          }

          for (; 0 < depthA - tempA;) {
            JSCompiler_temp = getParent(JSCompiler_temp), depthA--;
          }

          for (; 0 < tempA - depthA;) {
            targetInst = getParent(targetInst), tempA--;
          }

          for (; depthA--;) {
            if (JSCompiler_temp === targetInst || JSCompiler_temp === targetInst.alternate) break b;
            JSCompiler_temp = getParent(JSCompiler_temp);
            targetInst = getParent(targetInst);
          }

          JSCompiler_temp = null;
        } else JSCompiler_temp = targetInst;
        targetInst = JSCompiler_temp;
        JSCompiler_temp = targetInst === responderInst;
        shouldSetEventType = ResponderSyntheticEvent.getPooled(shouldSetEventType, targetInst, nativeEvent, nativeEventTarget);
        shouldSetEventType.touchHistory = ResponderTouchHistoryStore.touchHistory;
        JSCompiler_temp ? forEachAccumulated(shouldSetEventType, accumulateTwoPhaseDispatchesSingleSkipTarget) : forEachAccumulated(shouldSetEventType, accumulateTwoPhaseDispatchesSingle);

        b: {
          JSCompiler_temp = shouldSetEventType._dispatchListeners;
          targetInst = shouldSetEventType._dispatchInstances;
          if (isArrayImpl(JSCompiler_temp)) for (depthA = 0; depthA < JSCompiler_temp.length && !shouldSetEventType.isPropagationStopped(); depthA++) {
            if (JSCompiler_temp[depthA](shouldSetEventType, targetInst[depthA])) {
              JSCompiler_temp = targetInst[depthA];
              break b;
            }
          } else if (JSCompiler_temp && JSCompiler_temp(shouldSetEventType, targetInst)) {
            JSCompiler_temp = targetInst;
            break b;
          }
          JSCompiler_temp = null;
        }

        shouldSetEventType._dispatchInstances = null;
        shouldSetEventType._dispatchListeners = null;
        shouldSetEventType.isPersistent() || shouldSetEventType.constructor.release(shouldSetEventType);
        if (JSCompiler_temp && JSCompiler_temp !== responderInst) {
          if (shouldSetEventType = ResponderSyntheticEvent.getPooled(eventTypes.responderGrant, JSCompiler_temp, nativeEvent, nativeEventTarget), shouldSetEventType.touchHistory = ResponderTouchHistoryStore.touchHistory, forEachAccumulated(shouldSetEventType, accumulateDirectDispatchesSingle), targetInst = true === executeDirectDispatch(shouldSetEventType), responderInst) {
            if (depthA = ResponderSyntheticEvent.getPooled(eventTypes.responderTerminationRequest, responderInst, nativeEvent, nativeEventTarget), depthA.touchHistory = ResponderTouchHistoryStore.touchHistory, forEachAccumulated(depthA, accumulateDirectDispatchesSingle), tempA = !depthA._dispatchListeners || executeDirectDispatch(depthA), depthA.isPersistent() || depthA.constructor.release(depthA), tempA) {
              depthA = ResponderSyntheticEvent.getPooled(eventTypes.responderTerminate, responderInst, nativeEvent, nativeEventTarget);
              depthA.touchHistory = ResponderTouchHistoryStore.touchHistory;
              forEachAccumulated(depthA, accumulateDirectDispatchesSingle);
              var JSCompiler_temp$jscomp$0 = accumulate(JSCompiler_temp$jscomp$0, [shouldSetEventType, depthA]);
              changeResponder(JSCompiler_temp, targetInst);
            } else shouldSetEventType = ResponderSyntheticEvent.getPooled(eventTypes.responderReject, JSCompiler_temp, nativeEvent, nativeEventTarget), shouldSetEventType.touchHistory = ResponderTouchHistoryStore.touchHistory, forEachAccumulated(shouldSetEventType, accumulateDirectDispatchesSingle), JSCompiler_temp$jscomp$0 = accumulate(JSCompiler_temp$jscomp$0, shouldSetEventType);
          } else JSCompiler_temp$jscomp$0 = accumulate(JSCompiler_temp$jscomp$0, shouldSetEventType), changeResponder(JSCompiler_temp, targetInst);
        } else JSCompiler_temp$jscomp$0 = null;
      } else JSCompiler_temp$jscomp$0 = null;

      shouldSetEventType = responderInst && isStartish(topLevelType);
      JSCompiler_temp = responderInst && isMoveish(topLevelType);
      targetInst = responderInst && ("topTouchEnd" === topLevelType || "topTouchCancel" === topLevelType);
      if (shouldSetEventType = shouldSetEventType ? eventTypes.responderStart : JSCompiler_temp ? eventTypes.responderMove : targetInst ? eventTypes.responderEnd : null) shouldSetEventType = ResponderSyntheticEvent.getPooled(shouldSetEventType, responderInst, nativeEvent, nativeEventTarget), shouldSetEventType.touchHistory = ResponderTouchHistoryStore.touchHistory, forEachAccumulated(shouldSetEventType, accumulateDirectDispatchesSingle), JSCompiler_temp$jscomp$0 = accumulate(JSCompiler_temp$jscomp$0, shouldSetEventType);
      shouldSetEventType = responderInst && "topTouchCancel" === topLevelType;
      if (topLevelType = responderInst && !shouldSetEventType && ("topTouchEnd" === topLevelType || "topTouchCancel" === topLevelType)) a: {
        if ((topLevelType = nativeEvent.touches) && 0 !== topLevelType.length) for (JSCompiler_temp = 0; JSCompiler_temp < topLevelType.length; JSCompiler_temp++) {
          if (targetInst = topLevelType[JSCompiler_temp].target, null !== targetInst && undefined !== targetInst && 0 !== targetInst) {
            depthA = getInstanceFromNode(targetInst);

            b: {
              for (targetInst = responderInst; depthA;) {
                if (targetInst === depthA || targetInst === depthA.alternate) {
                  targetInst = true;
                  break b;
                }

                depthA = getParent(depthA);
              }

              targetInst = false;
            }

            if (targetInst) {
              topLevelType = false;
              break a;
            }
          }
        }
        topLevelType = true;
      }
      if (topLevelType = shouldSetEventType ? eventTypes.responderTerminate : topLevelType ? eventTypes.responderRelease : null) nativeEvent = ResponderSyntheticEvent.getPooled(topLevelType, responderInst, nativeEvent, nativeEventTarget), nativeEvent.touchHistory = ResponderTouchHistoryStore.touchHistory, forEachAccumulated(nativeEvent, accumulateDirectDispatchesSingle), JSCompiler_temp$jscomp$0 = accumulate(JSCompiler_temp$jscomp$0, nativeEvent), changeResponder(null);
      return JSCompiler_temp$jscomp$0;
    },
    GlobalResponderHandler: null,
    injection: {
      injectGlobalResponderHandler: function injectGlobalResponderHandler(GlobalResponderHandler) {
        ResponderEventPlugin.GlobalResponderHandler = GlobalResponderHandler;
      }
    }
  },
      eventPluginOrder = null,
      namesToPlugins = {};

  function recomputePluginOrdering() {
    if (eventPluginOrder) for (var pluginName in namesToPlugins) {
      var pluginModule = namesToPlugins[pluginName],
          pluginIndex = eventPluginOrder.indexOf(pluginName);
      if (!(-1 < pluginIndex)) throw Error("EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `" + pluginName + "`.");

      if (!plugins[pluginIndex]) {
        if (!pluginModule.extractEvents) throw Error("EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `" + pluginName + "` does not.");
        plugins[pluginIndex] = pluginModule;
        pluginIndex = pluginModule.eventTypes;

        for (var eventName in pluginIndex) {
          var JSCompiler_inline_result = undefined;
          var dispatchConfig = pluginIndex[eventName],
              eventName$jscomp$0 = eventName;
          if (eventNameDispatchConfigs.hasOwnProperty(eventName$jscomp$0)) throw Error("EventPluginRegistry: More than one plugin attempted to publish the same event name, `" + eventName$jscomp$0 + "`.");
          eventNameDispatchConfigs[eventName$jscomp$0] = dispatchConfig;
          var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;

          if (phasedRegistrationNames) {
            for (JSCompiler_inline_result in phasedRegistrationNames) {
              phasedRegistrationNames.hasOwnProperty(JSCompiler_inline_result) && publishRegistrationName(phasedRegistrationNames[JSCompiler_inline_result], pluginModule, eventName$jscomp$0);
            }

            JSCompiler_inline_result = true;
          } else dispatchConfig.registrationName ? (publishRegistrationName(dispatchConfig.registrationName, pluginModule, eventName$jscomp$0), JSCompiler_inline_result = true) : JSCompiler_inline_result = false;

          if (!JSCompiler_inline_result) throw Error("EventPluginRegistry: Failed to publish event `" + eventName + "` for plugin `" + pluginName + "`.");
        }
      }
    }
  }

  function publishRegistrationName(registrationName, pluginModule) {
    if (registrationNameModules[registrationName]) throw Error("EventPluginRegistry: More than one plugin attempted to publish the same registration name, `" + registrationName + "`.");
    registrationNameModules[registrationName] = pluginModule;
  }

  var plugins = [],
      eventNameDispatchConfigs = {},
      registrationNameModules = {};

  function getListener$1(inst, registrationName) {
    inst = inst.stateNode;
    if (null === inst) return null;
    inst = getFiberCurrentPropsFromNode(inst);
    if (null === inst) return null;
    if ((inst = inst[registrationName]) && "function" !== typeof inst) throw Error("Expected `" + registrationName + "` listener to be a function, instead got a value of `" + typeof inst + "` type.");
    return inst;
  }

  var customBubblingEventTypes = _$$_REQUIRE(_dependencyMap[3]).ReactNativeViewConfigRegistry.customBubblingEventTypes,
      customDirectEventTypes = _$$_REQUIRE(_dependencyMap[3]).ReactNativeViewConfigRegistry.customDirectEventTypes;

  function accumulateDirectionalDispatches$1(inst, phase, event) {
    if (phase = getListener$1(inst, event.dispatchConfig.phasedRegistrationNames[phase])) event._dispatchListeners = accumulateInto(event._dispatchListeners, phase), event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);
  }

  function accumulateTwoPhaseDispatchesSingle$1(event) {
    if (event && event.dispatchConfig.phasedRegistrationNames) {
      for (var inst = event._targetInst, path = []; inst;) {
        path.push(inst);

        do {
          inst = inst.return;
        } while (inst && 5 !== inst.tag);

        inst = inst ? inst : null;
      }

      for (inst = path.length; 0 < inst--;) {
        accumulateDirectionalDispatches$1(path[inst], "captured", event);
      }

      for (inst = 0; inst < path.length; inst++) {
        accumulateDirectionalDispatches$1(path[inst], "bubbled", event);
      }
    }
  }

  function accumulateDirectDispatchesSingle$1(event) {
    if (event && event.dispatchConfig.registrationName) {
      var inst = event._targetInst;

      if (inst && event && event.dispatchConfig.registrationName) {
        var listener = getListener$1(inst, event.dispatchConfig.registrationName);
        listener && (event._dispatchListeners = accumulateInto(event._dispatchListeners, listener), event._dispatchInstances = accumulateInto(event._dispatchInstances, inst));
      }
    }
  }

  if (eventPluginOrder) throw Error("EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React.");
  eventPluginOrder = Array.prototype.slice.call(["ResponderEventPlugin", "ReactNativeBridgeEventPlugin"]);
  recomputePluginOrdering();
  var injectedNamesToPlugins$jscomp$inline_216 = {
    ResponderEventPlugin: ResponderEventPlugin,
    ReactNativeBridgeEventPlugin: {
      eventTypes: {},
      extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) {
        if (null == targetInst) return null;
        var bubbleDispatchConfig = customBubblingEventTypes[topLevelType],
            directDispatchConfig = customDirectEventTypes[topLevelType];
        if (!bubbleDispatchConfig && !directDispatchConfig) throw Error('Unsupported top level event type "' + topLevelType + '" dispatched');
        topLevelType = SyntheticEvent.getPooled(bubbleDispatchConfig || directDispatchConfig, targetInst, nativeEvent, nativeEventTarget);
        if (bubbleDispatchConfig) forEachAccumulated(topLevelType, accumulateTwoPhaseDispatchesSingle$1);else if (directDispatchConfig) forEachAccumulated(topLevelType, accumulateDirectDispatchesSingle$1);else return null;
        return topLevelType;
      }
    }
  },
      isOrderingDirty$jscomp$inline_217 = false,
      pluginName$jscomp$inline_218;

  for (pluginName$jscomp$inline_218 in injectedNamesToPlugins$jscomp$inline_216) {
    if (injectedNamesToPlugins$jscomp$inline_216.hasOwnProperty(pluginName$jscomp$inline_218)) {
      var pluginModule$jscomp$inline_219 = injectedNamesToPlugins$jscomp$inline_216[pluginName$jscomp$inline_218];

      if (!namesToPlugins.hasOwnProperty(pluginName$jscomp$inline_218) || namesToPlugins[pluginName$jscomp$inline_218] !== pluginModule$jscomp$inline_219) {
        if (namesToPlugins[pluginName$jscomp$inline_218]) throw Error("EventPluginRegistry: Cannot inject two different event plugins using the same name, `" + pluginName$jscomp$inline_218 + "`.");
        namesToPlugins[pluginName$jscomp$inline_218] = pluginModule$jscomp$inline_219;
        isOrderingDirty$jscomp$inline_217 = true;
      }
    }
  }

  isOrderingDirty$jscomp$inline_217 && recomputePluginOrdering();

  function getInstanceFromInstance(instanceHandle) {
    return instanceHandle;
  }

  getFiberCurrentPropsFromNode = function getFiberCurrentPropsFromNode(inst) {
    return inst.canonical.currentProps;
  };

  getInstanceFromNode = getInstanceFromInstance;

  getNodeFromInstance = function getNodeFromInstance(inst) {
    inst = inst.stateNode.canonical;
    if (!inst._nativeTag) throw Error("All native instances should have a tag.");
    return inst;
  };

  ResponderEventPlugin.injection.injectGlobalResponderHandler({
    onChange: function onChange(from, to, blockNativeResponder) {
      var fromOrTo = from || to;
      (fromOrTo = fromOrTo && fromOrTo.stateNode) && fromOrTo.canonical._internalInstanceHandle ? (from && nativeFabricUIManager.setIsJSResponder(from.stateNode.node, false, blockNativeResponder || false), to && nativeFabricUIManager.setIsJSResponder(to.stateNode.node, true, blockNativeResponder || false)) : null !== to ? _$$_REQUIRE(_dependencyMap[3]).UIManager.setJSResponder(to.stateNode.canonical._nativeTag, blockNativeResponder) : _$$_REQUIRE(_dependencyMap[3]).UIManager.clearJSResponder();
    }
  });
  var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,
      REACT_ELEMENT_TYPE = 60103,
      REACT_PORTAL_TYPE = 60106,
      REACT_FRAGMENT_TYPE = 60107,
      REACT_STRICT_MODE_TYPE = 60108,
      REACT_PROFILER_TYPE = 60114,
      REACT_PROVIDER_TYPE = 60109,
      REACT_CONTEXT_TYPE = 60110,
      REACT_FORWARD_REF_TYPE = 60112,
      REACT_SUSPENSE_TYPE = 60113,
      REACT_SUSPENSE_LIST_TYPE = 60120,
      REACT_MEMO_TYPE = 60115,
      REACT_LAZY_TYPE = 60116,
      REACT_DEBUG_TRACING_MODE_TYPE = 60129,
      REACT_OFFSCREEN_TYPE = 60130,
      REACT_LEGACY_HIDDEN_TYPE = 60131,
      REACT_CACHE_TYPE = 60132;

  if ("function" === typeof Symbol && Symbol.for) {
    var symbolFor = Symbol.for;
    REACT_ELEMENT_TYPE = symbolFor("react.element");
    REACT_PORTAL_TYPE = symbolFor("react.portal");
    REACT_FRAGMENT_TYPE = symbolFor("react.fragment");
    REACT_STRICT_MODE_TYPE = symbolFor("react.strict_mode");
    REACT_PROFILER_TYPE = symbolFor("react.profiler");
    REACT_PROVIDER_TYPE = symbolFor("react.provider");
    REACT_CONTEXT_TYPE = symbolFor("react.context");
    REACT_FORWARD_REF_TYPE = symbolFor("react.forward_ref");
    REACT_SUSPENSE_TYPE = symbolFor("react.suspense");
    REACT_SUSPENSE_LIST_TYPE = symbolFor("react.suspense_list");
    REACT_MEMO_TYPE = symbolFor("react.memo");
    REACT_LAZY_TYPE = symbolFor("react.lazy");
    symbolFor("react.scope");
    REACT_DEBUG_TRACING_MODE_TYPE = symbolFor("react.debug_trace_mode");
    REACT_OFFSCREEN_TYPE = symbolFor("react.offscreen");
    REACT_LEGACY_HIDDEN_TYPE = symbolFor("react.legacy_hidden");
    REACT_CACHE_TYPE = symbolFor("react.cache");
  }

  var MAYBE_ITERATOR_SYMBOL = "function" === typeof Symbol && Symbol.iterator;

  function getIteratorFn(maybeIterable) {
    if (null === maybeIterable || "object" !== typeof maybeIterable) return null;
    maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable["@@iterator"];
    return "function" === typeof maybeIterable ? maybeIterable : null;
  }

  function getComponentNameFromType(type) {
    if (null == type) return null;
    if ("function" === typeof type) return type.displayName || type.name || null;
    if ("string" === typeof type) return type;

    switch (type) {
      case REACT_FRAGMENT_TYPE:
        return "Fragment";

      case REACT_PORTAL_TYPE:
        return "Portal";

      case REACT_PROFILER_TYPE:
        return "Profiler";

      case REACT_STRICT_MODE_TYPE:
        return "StrictMode";

      case REACT_SUSPENSE_TYPE:
        return "Suspense";

      case REACT_SUSPENSE_LIST_TYPE:
        return "SuspenseList";

      case REACT_CACHE_TYPE:
        return "Cache";
    }

    if ("object" === typeof type) switch (type.$$typeof) {
      case REACT_CONTEXT_TYPE:
        return (type.displayName || "Context") + ".Consumer";

      case REACT_PROVIDER_TYPE:
        return (type._context.displayName || "Context") + ".Provider";

      case REACT_FORWARD_REF_TYPE:
        var innerType = type.render;
        type = type.displayName;
        type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef");
        return type;

      case REACT_MEMO_TYPE:
        return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo";

      case REACT_LAZY_TYPE:
        innerType = type._payload;
        type = type._init;

        try {
          return getComponentNameFromType(type(innerType));
        } catch (x) {}

    }
    return null;
  }

  function getComponentNameFromFiber(fiber) {
    var type = fiber.type;

    switch (fiber.tag) {
      case 24:
        return "Cache";

      case 9:
        return (type.displayName || "Context") + ".Consumer";

      case 10:
        return (type._context.displayName || "Context") + ".Provider";

      case 18:
        return "DehydratedFragment";

      case 11:
        return fiber = type.render, fiber = fiber.displayName || fiber.name || "", type.displayName || ("" !== fiber ? "ForwardRef(" + fiber + ")" : "ForwardRef");

      case 7:
        return "Fragment";

      case 5:
        return type;

      case 4:
        return "Portal";

      case 3:
        return "Root";

      case 6:
        return "Text";

      case 16:
        return getComponentNameFromType(type);

      case 23:
        return "LegacyHidden";

      case 8:
        return type === REACT_STRICT_MODE_TYPE ? "StrictMode" : "Mode";

      case 22:
        return "Offscreen";

      case 12:
        return "Profiler";

      case 21:
        return "Scope";

      case 13:
        return "Suspense";

      case 19:
        return "SuspenseList";

      case 1:
      case 0:
      case 17:
      case 2:
      case 14:
      case 15:
        if ("function" === typeof type) return type.displayName || type.name || null;
        if ("string" === typeof type) return type;
    }

    return null;
  }

  function getNearestMountedFiber(fiber) {
    var node = fiber,
        nearestMounted = fiber;
    if (fiber.alternate) for (; node.return;) {
      node = node.return;
    } else {
      fiber = node;

      do {
        node = fiber, 0 !== (node.flags & 2050) && (nearestMounted = node.return), fiber = node.return;
      } while (fiber);
    }
    return 3 === node.tag ? nearestMounted : null;
  }

  function assertIsMounted(fiber) {
    if (getNearestMountedFiber(fiber) !== fiber) throw Error("Unable to find node on an unmounted component.");
  }

  function findCurrentFiberUsingSlowPath(fiber) {
    var alternate = fiber.alternate;

    if (!alternate) {
      alternate = getNearestMountedFiber(fiber);
      if (null === alternate) throw Error("Unable to find node on an unmounted component.");
      return alternate !== fiber ? null : fiber;
    }

    for (var a = fiber, b = alternate;;) {
      var parentA = a.return;
      if (null === parentA) break;
      var parentB = parentA.alternate;

      if (null === parentB) {
        b = parentA.return;

        if (null !== b) {
          a = b;
          continue;
        }

        break;
      }

      if (parentA.child === parentB.child) {
        for (parentB = parentA.child; parentB;) {
          if (parentB === a) return assertIsMounted(parentA), fiber;
          if (parentB === b) return assertIsMounted(parentA), alternate;
          parentB = parentB.sibling;
        }

        throw Error("Unable to find node on an unmounted component.");
      }

      if (a.return !== b.return) a = parentA, b = parentB;else {
        for (var didFindChild = false, child$0 = parentA.child; child$0;) {
          if (child$0 === a) {
            didFindChild = true;
            a = parentA;
            b = parentB;
            break;
          }

          if (child$0 === b) {
            didFindChild = true;
            b = parentA;
            a = parentB;
            break;
          }

          child$0 = child$0.sibling;
        }

        if (!didFindChild) {
          for (child$0 = parentB.child; child$0;) {
            if (child$0 === a) {
              didFindChild = true;
              a = parentB;
              b = parentA;
              break;
            }

            if (child$0 === b) {
              didFindChild = true;
              b = parentB;
              a = parentA;
              break;
            }

            child$0 = child$0.sibling;
          }

          if (!didFindChild) throw Error("Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.");
        }
      }
      if (a.alternate !== b) throw Error("Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.");
    }

    if (3 !== a.tag) throw Error("Unable to find node on an unmounted component.");
    return a.stateNode.current === a ? fiber : alternate;
  }

  function findCurrentHostFiber(parent) {
    parent = findCurrentFiberUsingSlowPath(parent);
    return null !== parent ? findCurrentHostFiberImpl(parent) : null;
  }

  function findCurrentHostFiberImpl(node) {
    if (5 === node.tag || 6 === node.tag) return node;

    for (node = node.child; null !== node;) {
      var match = findCurrentHostFiberImpl(node);
      if (null !== match) return match;
      node = node.sibling;
    }

    return null;
  }

  function mountSafeCallback_NOT_REALLY_SAFE(context, callback) {
    return function () {
      if (callback && ("boolean" !== typeof context.__isMounted || context.__isMounted)) return callback.apply(context, arguments);
    };
  }

  var emptyObject = {},
      removedKeys = null,
      removedKeyCount = 0,
      deepDifferOptions = {
    unsafelyIgnoreFunctions: true
  };

  function defaultDiffer(prevProp, nextProp) {
    return "object" !== typeof nextProp || null === nextProp ? true : _$$_REQUIRE(_dependencyMap[3]).deepDiffer(prevProp, nextProp, deepDifferOptions);
  }

  function restoreDeletedValuesInNestedArray(updatePayload, node, validAttributes) {
    if (isArrayImpl(node)) for (var i = node.length; i-- && 0 < removedKeyCount;) {
      restoreDeletedValuesInNestedArray(updatePayload, node[i], validAttributes);
    } else if (node && 0 < removedKeyCount) for (i in removedKeys) {
      if (removedKeys[i]) {
        var nextProp = node[i];

        if (undefined !== nextProp) {
          var attributeConfig = validAttributes[i];

          if (attributeConfig) {
            "function" === typeof nextProp && (nextProp = true);
            "undefined" === typeof nextProp && (nextProp = null);
            if ("object" !== typeof attributeConfig) updatePayload[i] = nextProp;else if ("function" === typeof attributeConfig.diff || "function" === typeof attributeConfig.process) nextProp = "function" === typeof attributeConfig.process ? attributeConfig.process(nextProp) : nextProp, updatePayload[i] = nextProp;
            removedKeys[i] = false;
            removedKeyCount--;
          }
        }
      }
    }
  }

  function diffNestedProperty(updatePayload, prevProp, nextProp, validAttributes) {
    if (!updatePayload && prevProp === nextProp) return updatePayload;
    if (!prevProp || !nextProp) return nextProp ? addNestedProperty(updatePayload, nextProp, validAttributes) : prevProp ? clearNestedProperty(updatePayload, prevProp, validAttributes) : updatePayload;
    if (!isArrayImpl(prevProp) && !isArrayImpl(nextProp)) return diffProperties(updatePayload, prevProp, nextProp, validAttributes);

    if (isArrayImpl(prevProp) && isArrayImpl(nextProp)) {
      var minLength = prevProp.length < nextProp.length ? prevProp.length : nextProp.length,
          i;

      for (i = 0; i < minLength; i++) {
        updatePayload = diffNestedProperty(updatePayload, prevProp[i], nextProp[i], validAttributes);
      }

      for (; i < prevProp.length; i++) {
        updatePayload = clearNestedProperty(updatePayload, prevProp[i], validAttributes);
      }

      for (; i < nextProp.length; i++) {
        updatePayload = addNestedProperty(updatePayload, nextProp[i], validAttributes);
      }

      return updatePayload;
    }

    return isArrayImpl(prevProp) ? diffProperties(updatePayload, _$$_REQUIRE(_dependencyMap[3]).flattenStyle(prevProp), nextProp, validAttributes) : diffProperties(updatePayload, prevProp, _$$_REQUIRE(_dependencyMap[3]).flattenStyle(nextProp), validAttributes);
  }

  function addNestedProperty(updatePayload, nextProp, validAttributes) {
    if (!nextProp) return updatePayload;
    if (!isArrayImpl(nextProp)) return diffProperties(updatePayload, emptyObject, nextProp, validAttributes);

    for (var i = 0; i < nextProp.length; i++) {
      updatePayload = addNestedProperty(updatePayload, nextProp[i], validAttributes);
    }

    return updatePayload;
  }

  function clearNestedProperty(updatePayload, prevProp, validAttributes) {
    if (!prevProp) return updatePayload;
    if (!isArrayImpl(prevProp)) return diffProperties(updatePayload, prevProp, emptyObject, validAttributes);

    for (var i = 0; i < prevProp.length; i++) {
      updatePayload = clearNestedProperty(updatePayload, prevProp[i], validAttributes);
    }

    return updatePayload;
  }

  function diffProperties(updatePayload, prevProps, nextProps, validAttributes) {
    var attributeConfig, propKey;

    for (propKey in nextProps) {
      if (attributeConfig = validAttributes[propKey]) {
        var prevProp = prevProps[propKey];
        var nextProp = nextProps[propKey];
        "function" === typeof nextProp && (nextProp = true, "function" === typeof prevProp && (prevProp = true));
        "undefined" === typeof nextProp && (nextProp = null, "undefined" === typeof prevProp && (prevProp = null));
        removedKeys && (removedKeys[propKey] = false);
        if (updatePayload && undefined !== updatePayload[propKey]) {
          if ("object" !== typeof attributeConfig) updatePayload[propKey] = nextProp;else {
            if ("function" === typeof attributeConfig.diff || "function" === typeof attributeConfig.process) attributeConfig = "function" === typeof attributeConfig.process ? attributeConfig.process(nextProp) : nextProp, updatePayload[propKey] = attributeConfig;
          }
        } else if (prevProp !== nextProp) if ("object" !== typeof attributeConfig) defaultDiffer(prevProp, nextProp) && ((updatePayload || (updatePayload = {}))[propKey] = nextProp);else if ("function" === typeof attributeConfig.diff || "function" === typeof attributeConfig.process) {
          if (undefined === prevProp || ("function" === typeof attributeConfig.diff ? attributeConfig.diff(prevProp, nextProp) : defaultDiffer(prevProp, nextProp))) attributeConfig = "function" === typeof attributeConfig.process ? attributeConfig.process(nextProp) : nextProp, (updatePayload || (updatePayload = {}))[propKey] = attributeConfig;
        } else removedKeys = null, removedKeyCount = 0, updatePayload = diffNestedProperty(updatePayload, prevProp, nextProp, attributeConfig), 0 < removedKeyCount && updatePayload && (restoreDeletedValuesInNestedArray(updatePayload, nextProp, attributeConfig), removedKeys = null);
      }
    }

    for (var propKey$2 in prevProps) {
      undefined === nextProps[propKey$2] && (!(attributeConfig = validAttributes[propKey$2]) || updatePayload && undefined !== updatePayload[propKey$2] || (prevProp = prevProps[propKey$2], undefined !== prevProp && ("object" !== typeof attributeConfig || "function" === typeof attributeConfig.diff || "function" === typeof attributeConfig.process ? ((updatePayload || (updatePayload = {}))[propKey$2] = null, removedKeys || (removedKeys = {}), removedKeys[propKey$2] || (removedKeys[propKey$2] = true, removedKeyCount++)) : updatePayload = clearNestedProperty(updatePayload, prevProp, attributeConfig))));
    }

    return updatePayload;
  }

  function batchedUpdatesImpl(fn, bookkeeping) {
    return fn(bookkeeping);
  }

  var isInsideEventHandler = false;

  function batchedUpdates(fn, bookkeeping) {
    if (isInsideEventHandler) return fn(bookkeeping);
    isInsideEventHandler = true;

    try {
      return batchedUpdatesImpl(fn, bookkeeping);
    } finally {
      isInsideEventHandler = false;
    }
  }

  var eventQueue = null;

  function executeDispatchesAndReleaseTopLevel(e) {
    if (e) {
      var dispatchListeners = e._dispatchListeners,
          dispatchInstances = e._dispatchInstances;
      if (isArrayImpl(dispatchListeners)) for (var i = 0; i < dispatchListeners.length && !e.isPropagationStopped(); i++) {
        executeDispatch(e, dispatchListeners[i], dispatchInstances[i]);
      } else dispatchListeners && executeDispatch(e, dispatchListeners, dispatchInstances);
      e._dispatchListeners = null;
      e._dispatchInstances = null;
      e.isPersistent() || e.constructor.release(e);
    }
  }

  function dispatchEvent(target, topLevelType, nativeEvent) {
    var eventTarget = null;

    if (null != target) {
      var stateNode = target.stateNode;
      null != stateNode && (eventTarget = stateNode.canonical);
    }

    batchedUpdates(function () {
      var JSCompiler_inline_result = eventTarget;

      for (var events = null, legacyPlugins = plugins, i = 0; i < legacyPlugins.length; i++) {
        var possiblePlugin = legacyPlugins[i];
        possiblePlugin && (possiblePlugin = possiblePlugin.extractEvents(topLevelType, target, nativeEvent, JSCompiler_inline_result)) && (events = accumulateInto(events, possiblePlugin));
      }

      JSCompiler_inline_result = events;
      null !== JSCompiler_inline_result && (eventQueue = accumulateInto(eventQueue, JSCompiler_inline_result));
      JSCompiler_inline_result = eventQueue;
      eventQueue = null;

      if (JSCompiler_inline_result) {
        forEachAccumulated(JSCompiler_inline_result, executeDispatchesAndReleaseTopLevel);
        if (eventQueue) throw Error("processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.");
        if (hasRethrowError) throw JSCompiler_inline_result = rethrowError, hasRethrowError = false, rethrowError = null, JSCompiler_inline_result;
      }
    });
  }

  var rendererID = null,
      injectedHook = null;

  function onCommitRoot(root) {
    if (injectedHook && "function" === typeof injectedHook.onCommitFiberRoot) try {
      injectedHook.onCommitFiberRoot(rendererID, root, undefined, 128 === (root.current.flags & 128));
    } catch (err) {}
  }

  var nextTransitionLane = 64,
      nextRetryLane = 4194304;

  function getHighestPriorityLanes(lanes) {
    switch (lanes & -lanes) {
      case 1:
        return 1;

      case 2:
        return 2;

      case 4:
        return 4;

      case 8:
        return 8;

      case 16:
        return 16;

      case 32:
        return 32;

      case 64:
      case 128:
      case 256:
      case 512:
      case 1024:
      case 2048:
      case 4096:
      case 8192:
      case 16384:
      case 32768:
      case 65536:
      case 131072:
      case 262144:
      case 524288:
      case 1048576:
      case 2097152:
        return lanes & 4194240;

      case 4194304:
      case 8388608:
      case 16777216:
      case 33554432:
      case 67108864:
        return lanes & 130023424;

      case 134217728:
        return 134217728;

      case 268435456:
        return 268435456;

      case 536870912:
        return 536870912;

      case 1073741824:
        return 1073741824;

      default:
        return lanes;
    }
  }

  function getNextLanes(root, wipLanes) {
    var pendingLanes = root.pendingLanes;
    if (0 === pendingLanes) return 0;
    var nextLanes = 0,
        suspendedLanes = root.suspendedLanes,
        pingedLanes = root.pingedLanes,
        nonIdlePendingLanes = pendingLanes & 268435455;

    if (0 !== nonIdlePendingLanes) {
      var nonIdleUnblockedLanes = nonIdlePendingLanes & ~suspendedLanes;
      0 !== nonIdleUnblockedLanes ? nextLanes = getHighestPriorityLanes(nonIdleUnblockedLanes) : (pingedLanes &= nonIdlePendingLanes, 0 !== pingedLanes && (nextLanes = getHighestPriorityLanes(pingedLanes)));
    } else nonIdlePendingLanes = pendingLanes & ~suspendedLanes, 0 !== nonIdlePendingLanes ? nextLanes = getHighestPriorityLanes(nonIdlePendingLanes) : 0 !== pingedLanes && (nextLanes = getHighestPriorityLanes(pingedLanes));

    if (0 === nextLanes) return 0;
    if (0 !== wipLanes && wipLanes !== nextLanes && 0 === (wipLanes & suspendedLanes) && (suspendedLanes = nextLanes & -nextLanes, pingedLanes = wipLanes & -wipLanes, suspendedLanes >= pingedLanes || 16 === suspendedLanes && 0 !== (pingedLanes & 4194240))) return wipLanes;
    0 !== (nextLanes & 4) && (nextLanes |= pendingLanes & 16);
    wipLanes = root.entangledLanes;
    if (0 !== wipLanes) for (root = root.entanglements, wipLanes &= nextLanes; 0 < wipLanes;) {
      pendingLanes = 31 - clz32(wipLanes), suspendedLanes = 1 << pendingLanes, nextLanes |= root[pendingLanes], wipLanes &= ~suspendedLanes;
    }
    return nextLanes;
  }

  function computeExpirationTime(lane, currentTime) {
    switch (lane) {
      case 1:
      case 2:
      case 4:
        return currentTime + 250;

      case 8:
      case 16:
      case 32:
      case 64:
      case 128:
      case 256:
      case 512:
      case 1024:
      case 2048:
      case 4096:
      case 8192:
      case 16384:
      case 32768:
      case 65536:
      case 131072:
      case 262144:
      case 524288:
      case 1048576:
      case 2097152:
        return currentTime + 5e3;

      case 4194304:
      case 8388608:
      case 16777216:
      case 33554432:
      case 67108864:
        return -1;

      case 134217728:
      case 268435456:
      case 536870912:
      case 1073741824:
        return -1;

      default:
        return -1;
    }
  }

  function getLanesToRetrySynchronouslyOnError(root) {
    root = root.pendingLanes & -1073741825;
    return 0 !== root ? root : root & 1073741824 ? 1073741824 : 0;
  }

  function createLaneMap(initial) {
    for (var laneMap = [], i = 0; 31 > i; i++) {
      laneMap.push(initial);
    }

    return laneMap;
  }

  function markRootUpdated(root, updateLane, eventTime) {
    root.pendingLanes |= updateLane;
    536870912 !== updateLane && (root.suspendedLanes = 0, root.pingedLanes = 0);
    root = root.eventTimes;
    updateLane = 31 - clz32(updateLane);
    root[updateLane] = eventTime;
  }

  function markRootFinished(root, remainingLanes) {
    var noLongerPendingLanes = root.pendingLanes & ~remainingLanes;
    root.pendingLanes = remainingLanes;
    root.suspendedLanes = 0;
    root.pingedLanes = 0;
    root.expiredLanes &= remainingLanes;
    root.mutableReadLanes &= remainingLanes;
    root.entangledLanes &= remainingLanes;
    remainingLanes = root.entanglements;
    var eventTimes = root.eventTimes;

    for (root = root.expirationTimes; 0 < noLongerPendingLanes;) {
      var index$7 = 31 - clz32(noLongerPendingLanes),
          lane = 1 << index$7;
      remainingLanes[index$7] = 0;
      eventTimes[index$7] = -1;
      root[index$7] = -1;
      noLongerPendingLanes &= ~lane;
    }
  }

  function markRootEntangled(root, entangledLanes) {
    var rootEntangledLanes = root.entangledLanes |= entangledLanes;

    for (root = root.entanglements; rootEntangledLanes;) {
      var index$8 = 31 - clz32(rootEntangledLanes),
          lane = 1 << index$8;
      lane & entangledLanes | root[index$8] & entangledLanes && (root[index$8] |= entangledLanes);
      rootEntangledLanes &= ~lane;
    }
  }

  var clz32 = Math.clz32 ? Math.clz32 : clz32Fallback,
      log = Math.log,
      LN2 = Math.LN2;

  function clz32Fallback(lanes) {
    return 0 === lanes ? 32 : 31 - (log(lanes) / LN2 | 0) | 0;
  }

  var currentUpdatePriority = 0;

  function lanesToEventPriority(lanes) {
    lanes &= -lanes;
    return 1 < lanes ? 4 < lanes ? 0 !== (lanes & 268435455) ? 16 : 536870912 : 4 : 1;
  }

  function shim() {
    throw Error("The current renderer does not support mutation. This error is likely caused by a bug in React. Please file an issue.");
  }

  function shim$1() {
    throw Error("The current renderer does not support hydration. This error is likely caused by a bug in React. Please file an issue.");
  }

  var _nativeFabricUIManage = nativeFabricUIManager,
      createNode = _nativeFabricUIManage.createNode,
      cloneNode = _nativeFabricUIManage.cloneNode,
      cloneNodeWithNewChildren = _nativeFabricUIManage.cloneNodeWithNewChildren,
      cloneNodeWithNewChildrenAndProps = _nativeFabricUIManage.cloneNodeWithNewChildrenAndProps,
      cloneNodeWithNewProps = _nativeFabricUIManage.cloneNodeWithNewProps,
      createChildNodeSet = _nativeFabricUIManage.createChildSet,
      appendChildNode = _nativeFabricUIManage.appendChild,
      appendChildNodeToSet = _nativeFabricUIManage.appendChildToSet,
      completeRoot = _nativeFabricUIManage.completeRoot,
      registerEventHandler = _nativeFabricUIManage.registerEventHandler,
      fabricMeasure = _nativeFabricUIManage.measure,
      fabricMeasureInWindow = _nativeFabricUIManage.measureInWindow,
      fabricMeasureLayout = _nativeFabricUIManage.measureLayout,
      FabricDiscretePriority = _nativeFabricUIManage.unstable_DiscreteEventPriority,
      fabricGetCurrentEventPriority = _nativeFabricUIManage.unstable_getCurrentEventPriority,
      getViewConfigForType = _$$_REQUIRE(_dependencyMap[3]).ReactNativeViewConfigRegistry.get,
      nextReactTag = 2;

  registerEventHandler && registerEventHandler(dispatchEvent);

  var ReactFabricHostComponent = function () {
    function ReactFabricHostComponent(tag, viewConfig, props, internalInstanceHandle) {
      this._nativeTag = tag;
      this.viewConfig = viewConfig;
      this.currentProps = props;
      this._internalInstanceHandle = internalInstanceHandle;
    }

    var _proto = ReactFabricHostComponent.prototype;

    _proto.blur = function () {
      _$$_REQUIRE(_dependencyMap[3]).TextInputState.blurTextInput(this);
    };

    _proto.focus = function () {
      _$$_REQUIRE(_dependencyMap[3]).TextInputState.focusTextInput(this);
    };

    _proto.measure = function (callback) {
      fabricMeasure(this._internalInstanceHandle.stateNode.node, mountSafeCallback_NOT_REALLY_SAFE(this, callback));
    };

    _proto.measureInWindow = function (callback) {
      fabricMeasureInWindow(this._internalInstanceHandle.stateNode.node, mountSafeCallback_NOT_REALLY_SAFE(this, callback));
    };

    _proto.measureLayout = function (relativeToNativeNode, onSuccess, onFail) {
      "number" !== typeof relativeToNativeNode && relativeToNativeNode instanceof ReactFabricHostComponent && fabricMeasureLayout(this._internalInstanceHandle.stateNode.node, relativeToNativeNode._internalInstanceHandle.stateNode.node, mountSafeCallback_NOT_REALLY_SAFE(this, onFail), mountSafeCallback_NOT_REALLY_SAFE(this, onSuccess));
    };

    _proto.setNativeProps = function () {};

    return ReactFabricHostComponent;
  }();

  function createTextInstance(text, rootContainerInstance, hostContext, internalInstanceHandle) {
    if (!hostContext.isInAParentText) throw Error("Text strings must be rendered within a <Text> component.");
    hostContext = nextReactTag;
    nextReactTag += 2;
    return {
      node: createNode(hostContext, "RCTRawText", rootContainerInstance, {
        text: text
      }, internalInstanceHandle)
    };
  }

  var scheduleTimeout = setTimeout,
      cancelTimeout = clearTimeout;

  function cloneHiddenInstance(instance) {
    var node = instance.node;
    var JSCompiler_inline_result = diffProperties(null, emptyObject, {
      style: {
        display: "none"
      }
    }, instance.canonical.viewConfig.validAttributes);
    return {
      node: cloneNodeWithNewProps(node, JSCompiler_inline_result),
      canonical: instance.canonical
    };
  }

  function describeComponentFrame(name, source, ownerName) {
    source = "";
    ownerName && (source = " (created by " + ownerName + ")");
    return "\n    in " + (name || "Unknown") + source;
  }

  function describeFunctionComponentFrame(fn, source) {
    return fn ? describeComponentFrame(fn.displayName || fn.name || null, source, null) : "";
  }

  var hasOwnProperty = Object.prototype.hasOwnProperty,
      valueStack = [],
      index = -1;

  function createCursor(defaultValue) {
    return {
      current: defaultValue
    };
  }

  function pop(cursor) {
    0 > index || (cursor.current = valueStack[index], valueStack[index] = null, index--);
  }

  function push(cursor, value) {
    index++;
    valueStack[index] = cursor.current;
    cursor.current = value;
  }

  var emptyContextObject = {},
      contextStackCursor = createCursor(emptyContextObject),
      didPerformWorkStackCursor = createCursor(false),
      previousContext = emptyContextObject;

  function getMaskedContext(workInProgress, unmaskedContext) {
    var contextTypes = workInProgress.type.contextTypes;
    if (!contextTypes) return emptyContextObject;
    var instance = workInProgress.stateNode;
    if (instance && instance.__reactInternalMemoizedUnmaskedChildContext === unmaskedContext) return instance.__reactInternalMemoizedMaskedChildContext;
    var context = {},
        key;

    for (key in contextTypes) {
      context[key] = unmaskedContext[key];
    }

    instance && (workInProgress = workInProgress.stateNode, workInProgress.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext, workInProgress.__reactInternalMemoizedMaskedChildContext = context);
    return context;
  }

  function isContextProvider(type) {
    type = type.childContextTypes;
    return null !== type && undefined !== type;
  }

  function popContext() {
    pop(didPerformWorkStackCursor);
    pop(contextStackCursor);
  }

  function pushTopLevelContextObject(fiber, context, didChange) {
    if (contextStackCursor.current !== emptyContextObject) throw Error("Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue.");
    push(contextStackCursor, context);
    push(didPerformWorkStackCursor, didChange);
  }

  function processChildContext(fiber, type, parentContext) {
    var instance = fiber.stateNode;
    type = type.childContextTypes;
    if ("function" !== typeof instance.getChildContext) return parentContext;
    instance = instance.getChildContext();

    for (var contextKey in instance) {
      if (!(contextKey in type)) throw Error((getComponentNameFromFiber(fiber) || "Unknown") + '.getChildContext(): key "' + contextKey + '" is not defined in childContextTypes.');
    }

    return _$$_REQUIRE(_dependencyMap[2])({}, parentContext, instance);
  }

  function pushContextProvider(workInProgress) {
    workInProgress = (workInProgress = workInProgress.stateNode) && workInProgress.__reactInternalMemoizedMergedChildContext || emptyContextObject;
    previousContext = contextStackCursor.current;
    push(contextStackCursor, workInProgress);
    push(didPerformWorkStackCursor, didPerformWorkStackCursor.current);
    return true;
  }

  function invalidateContextProvider(workInProgress, type, didChange) {
    var instance = workInProgress.stateNode;
    if (!instance) throw Error("Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue.");
    didChange ? (workInProgress = processChildContext(workInProgress, type, previousContext), instance.__reactInternalMemoizedMergedChildContext = workInProgress, pop(didPerformWorkStackCursor), pop(contextStackCursor), push(contextStackCursor, workInProgress)) : pop(didPerformWorkStackCursor);
    push(didPerformWorkStackCursor, didChange);
  }

  var syncQueue = null,
      includesLegacySyncCallbacks = false,
      isFlushingSyncQueue = false;

  function flushSyncCallbacks() {
    if (!isFlushingSyncQueue && null !== syncQueue) {
      isFlushingSyncQueue = true;
      var i = 0,
          previousUpdatePriority = currentUpdatePriority;

      try {
        var queue = syncQueue;

        for (currentUpdatePriority = 1; i < queue.length; i++) {
          var callback = queue[i];

          do {
            callback = callback(true);
          } while (null !== callback);
        }

        syncQueue = null;
        includesLegacySyncCallbacks = false;
      } catch (error) {
        throw null !== syncQueue && (syncQueue = syncQueue.slice(i + 1)), _$$_REQUIRE(_dependencyMap[4]).unstable_scheduleCallback(_$$_REQUIRE(_dependencyMap[4]).unstable_ImmediatePriority, flushSyncCallbacks), error;
      } finally {
        currentUpdatePriority = previousUpdatePriority, isFlushingSyncQueue = false;
      }
    }

    return null;
  }

  var ReactCurrentBatchConfig = ReactSharedInternals.ReactCurrentBatchConfig;

  function is(x, y) {
    return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
  }

  var objectIs = "function" === typeof Object.is ? Object.is : is;

  function shallowEqual(objA, objB) {
    if (objectIs(objA, objB)) return true;
    if ("object" !== typeof objA || null === objA || "object" !== typeof objB || null === objB) return false;
    var keysA = Object.keys(objA),
        keysB = Object.keys(objB);
    if (keysA.length !== keysB.length) return false;

    for (keysB = 0; keysB < keysA.length; keysB++) {
      if (!hasOwnProperty.call(objB, keysA[keysB]) || !objectIs(objA[keysA[keysB]], objB[keysA[keysB]])) return false;
    }

    return true;
  }

  function describeFiber(fiber) {
    switch (fiber.tag) {
      case 5:
        return describeComponentFrame(fiber.type, null, null);

      case 16:
        return describeComponentFrame("Lazy", null, null);

      case 13:
        return describeComponentFrame("Suspense", null, null);

      case 19:
        return describeComponentFrame("SuspenseList", null, null);

      case 0:
      case 2:
      case 15:
        return describeFunctionComponentFrame(fiber.type, null);

      case 11:
        return describeFunctionComponentFrame(fiber.type.render, null);

      case 1:
        return fiber = describeFunctionComponentFrame(fiber.type, null), fiber;

      default:
        return "";
    }
  }

  function resolveDefaultProps(Component, baseProps) {
    if (Component && Component.defaultProps) {
      baseProps = _$$_REQUIRE(_dependencyMap[2])({}, baseProps);
      Component = Component.defaultProps;

      for (var propName in Component) {
        undefined === baseProps[propName] && (baseProps[propName] = Component[propName]);
      }

      return baseProps;
    }

    return baseProps;
  }

  var valueCursor = createCursor(null),
      currentlyRenderingFiber = null,
      lastContextDependency = null,
      lastFullyObservedContext = null;

  function resetContextDependencies() {
    lastFullyObservedContext = lastContextDependency = currentlyRenderingFiber = null;
  }

  function popProvider(context) {
    var currentValue = valueCursor.current;
    pop(valueCursor);
    context._currentValue2 = currentValue;
  }

  function scheduleWorkOnParentPath(parent, renderLanes) {
    for (; null !== parent;) {
      var alternate = parent.alternate;
      if ((parent.childLanes & renderLanes) === renderLanes) {
        if (null === alternate || (alternate.childLanes & renderLanes) === renderLanes) break;else alternate.childLanes |= renderLanes;
      } else parent.childLanes |= renderLanes, null !== alternate && (alternate.childLanes |= renderLanes);
      parent = parent.return;
    }
  }

  function prepareToReadContext(workInProgress, renderLanes) {
    currentlyRenderingFiber = workInProgress;
    lastFullyObservedContext = lastContextDependency = null;
    workInProgress = workInProgress.dependencies;
    null !== workInProgress && null !== workInProgress.firstContext && (0 !== (workInProgress.lanes & renderLanes) && (didReceiveUpdate = true), workInProgress.firstContext = null);
  }

  function readContext(context) {
    var value = context._currentValue2;
    if (lastFullyObservedContext !== context) if (context = {
      context: context,
      memoizedValue: value,
      next: null
    }, null === lastContextDependency) {
      if (null === currentlyRenderingFiber) throw Error("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().");
      lastContextDependency = context;
      currentlyRenderingFiber.dependencies = {
        lanes: 0,
        firstContext: context
      };
    } else lastContextDependency = lastContextDependency.next = context;
    return value;
  }

  var interleavedQueues = null,
      hasForceUpdate = false;

  function initializeUpdateQueue(fiber) {
    fiber.updateQueue = {
      baseState: fiber.memoizedState,
      firstBaseUpdate: null,
      lastBaseUpdate: null,
      shared: {
        pending: null,
        interleaved: null,
        lanes: 0
      },
      effects: null
    };
  }

  function cloneUpdateQueue(current, workInProgress) {
    current = current.updateQueue;
    workInProgress.updateQueue === current && (workInProgress.updateQueue = {
      baseState: current.baseState,
      firstBaseUpdate: current.firstBaseUpdate,
      lastBaseUpdate: current.lastBaseUpdate,
      shared: current.shared,
      effects: current.effects
    });
  }

  function createUpdate(eventTime, lane) {
    return {
      eventTime: eventTime,
      lane: lane,
      tag: 0,
      payload: null,
      callback: null,
      next: null
    };
  }

  function enqueueUpdate(fiber, update) {
    var updateQueue = fiber.updateQueue;
    null !== updateQueue && (updateQueue = updateQueue.shared, null !== workInProgressRoot && 0 !== (fiber.mode & 1) && 0 === (executionContext & 8) ? (fiber = updateQueue.interleaved, null === fiber ? (update.next = update, null === interleavedQueues ? interleavedQueues = [updateQueue] : interleavedQueues.push(updateQueue)) : (update.next = fiber.next, fiber.next = update), updateQueue.interleaved = update) : (fiber = updateQueue.pending, null === fiber ? update.next = update : (update.next = fiber.next, fiber.next = update), updateQueue.pending = update));
  }

  function entangleTransitions(root, fiber, lane) {
    fiber = fiber.updateQueue;

    if (null !== fiber && (fiber = fiber.shared, 0 !== (lane & 4194240))) {
      var queueLanes = fiber.lanes;
      queueLanes &= root.pendingLanes;
      lane |= queueLanes;
      fiber.lanes = lane;
      markRootEntangled(root, lane);
    }
  }

  function enqueueCapturedUpdate(workInProgress, capturedUpdate) {
    var queue = workInProgress.updateQueue,
        current = workInProgress.alternate;

    if (null !== current && (current = current.updateQueue, queue === current)) {
      var newFirst = null,
          newLast = null;
      queue = queue.firstBaseUpdate;

      if (null !== queue) {
        do {
          var clone = {
            eventTime: queue.eventTime,
            lane: queue.lane,
            tag: queue.tag,
            payload: queue.payload,
            callback: queue.callback,
            next: null
          };
          null === newLast ? newFirst = newLast = clone : newLast = newLast.next = clone;
          queue = queue.next;
        } while (null !== queue);

        null === newLast ? newFirst = newLast = capturedUpdate : newLast = newLast.next = capturedUpdate;
      } else newFirst = newLast = capturedUpdate;

      queue = {
        baseState: current.baseState,
        firstBaseUpdate: newFirst,
        lastBaseUpdate: newLast,
        shared: current.shared,
        effects: current.effects
      };
      workInProgress.updateQueue = queue;
      return;
    }

    workInProgress = queue.lastBaseUpdate;
    null === workInProgress ? queue.firstBaseUpdate = capturedUpdate : workInProgress.next = capturedUpdate;
    queue.lastBaseUpdate = capturedUpdate;
  }

  function processUpdateQueue(workInProgress$jscomp$0, props, instance, renderLanes) {
    var queue = workInProgress$jscomp$0.updateQueue;
    hasForceUpdate = false;
    var firstBaseUpdate = queue.firstBaseUpdate,
        lastBaseUpdate = queue.lastBaseUpdate,
        pendingQueue = queue.shared.pending;

    if (null !== pendingQueue) {
      queue.shared.pending = null;
      var lastPendingUpdate = pendingQueue,
          firstPendingUpdate = lastPendingUpdate.next;
      lastPendingUpdate.next = null;
      null === lastBaseUpdate ? firstBaseUpdate = firstPendingUpdate : lastBaseUpdate.next = firstPendingUpdate;
      lastBaseUpdate = lastPendingUpdate;
      var current = workInProgress$jscomp$0.alternate;
      null !== current && (current = current.updateQueue, pendingQueue = current.lastBaseUpdate, pendingQueue !== lastBaseUpdate && (null === pendingQueue ? current.firstBaseUpdate = firstPendingUpdate : pendingQueue.next = firstPendingUpdate, current.lastBaseUpdate = lastPendingUpdate));
    }

    if (null !== firstBaseUpdate) {
      var newState = queue.baseState;
      lastBaseUpdate = 0;
      current = firstPendingUpdate = lastPendingUpdate = null;
      pendingQueue = firstBaseUpdate;

      do {
        var updateLane = pendingQueue.lane,
            updateEventTime = pendingQueue.eventTime;

        if ((renderLanes & updateLane) === updateLane) {
          null !== current && (current = current.next = {
            eventTime: updateEventTime,
            lane: 0,
            tag: pendingQueue.tag,
            payload: pendingQueue.payload,
            callback: pendingQueue.callback,
            next: null
          });

          a: {
            var workInProgress = workInProgress$jscomp$0,
                update = pendingQueue;
            updateLane = props;
            updateEventTime = instance;

            switch (update.tag) {
              case 1:
                workInProgress = update.payload;

                if ("function" === typeof workInProgress) {
                  newState = workInProgress.call(updateEventTime, newState, updateLane);
                  break a;
                }

                newState = workInProgress;
                break a;

              case 3:
                workInProgress.flags = workInProgress.flags & -16385 | 128;

              case 0:
                workInProgress = update.payload;
                updateLane = "function" === typeof workInProgress ? workInProgress.call(updateEventTime, newState, updateLane) : workInProgress;
                if (null === updateLane || undefined === updateLane) break a;
                newState = _$$_REQUIRE(_dependencyMap[2])({}, newState, updateLane);
                break a;

              case 2:
                hasForceUpdate = true;
            }
          }

          null !== pendingQueue.callback && 0 !== pendingQueue.lane && (workInProgress$jscomp$0.flags |= 64, updateLane = queue.effects, null === updateLane ? queue.effects = [pendingQueue] : updateLane.push(pendingQueue));
        } else updateEventTime = {
          eventTime: updateEventTime,
          lane: updateLane,
          tag: pendingQueue.tag,
          payload: pendingQueue.payload,
          callback: pendingQueue.callback,
          next: null
        }, null === current ? (firstPendingUpdate = current = updateEventTime, lastPendingUpdate = newState) : current = current.next = updateEventTime, lastBaseUpdate |= updateLane;

        pendingQueue = pendingQueue.next;
        if (null === pendingQueue) if (pendingQueue = queue.shared.pending, null === pendingQueue) break;else updateLane = pendingQueue, pendingQueue = updateLane.next, updateLane.next = null, queue.lastBaseUpdate = updateLane, queue.shared.pending = null;
      } while (1);

      null === current && (lastPendingUpdate = newState);
      queue.baseState = lastPendingUpdate;
      queue.firstBaseUpdate = firstPendingUpdate;
      queue.lastBaseUpdate = current;
      props = queue.shared.interleaved;

      if (null !== props) {
        queue = props;

        do {
          lastBaseUpdate |= queue.lane, queue = queue.next;
        } while (queue !== props);
      } else null === firstBaseUpdate && (queue.shared.lanes = 0);

      workInProgressRootSkippedLanes |= lastBaseUpdate;
      workInProgress$jscomp$0.lanes = lastBaseUpdate;
      workInProgress$jscomp$0.memoizedState = newState;
    }
  }

  function commitUpdateQueue(finishedWork, finishedQueue, instance) {
    finishedWork = finishedQueue.effects;
    finishedQueue.effects = null;
    if (null !== finishedWork) for (finishedQueue = 0; finishedQueue < finishedWork.length; finishedQueue++) {
      var effect = finishedWork[finishedQueue],
          callback = effect.callback;

      if (null !== callback) {
        effect.callback = null;
        if ("function" !== typeof callback) throw Error("Invalid argument passed as callback. Expected a function. Instead received: " + callback);
        callback.call(instance);
      }
    }
  }

  var emptyRefsObject = new React.Component().refs;

  function applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, nextProps) {
    ctor = workInProgress.memoizedState;
    getDerivedStateFromProps = getDerivedStateFromProps(nextProps, ctor);
    getDerivedStateFromProps = null === getDerivedStateFromProps || undefined === getDerivedStateFromProps ? ctor : _$$_REQUIRE(_dependencyMap[2])({}, ctor, getDerivedStateFromProps);
    workInProgress.memoizedState = getDerivedStateFromProps;
    0 === workInProgress.lanes && (workInProgress.updateQueue.baseState = getDerivedStateFromProps);
  }

  var classComponentUpdater = {
    isMounted: function isMounted(component) {
      return (component = component._reactInternals) ? getNearestMountedFiber(component) === component : false;
    },
    enqueueSetState: function enqueueSetState(inst, payload, callback) {
      inst = inst._reactInternals;
      var eventTime = requestEventTime(),
          lane = requestUpdateLane(inst),
          update = createUpdate(eventTime, lane);
      update.payload = payload;
      undefined !== callback && null !== callback && (update.callback = callback);
      enqueueUpdate(inst, update);
      payload = scheduleUpdateOnFiber(inst, lane, eventTime);
      null !== payload && entangleTransitions(payload, inst, lane);
    },
    enqueueReplaceState: function enqueueReplaceState(inst, payload, callback) {
      inst = inst._reactInternals;
      var eventTime = requestEventTime(),
          lane = requestUpdateLane(inst),
          update = createUpdate(eventTime, lane);
      update.tag = 1;
      update.payload = payload;
      undefined !== callback && null !== callback && (update.callback = callback);
      enqueueUpdate(inst, update);
      payload = scheduleUpdateOnFiber(inst, lane, eventTime);
      null !== payload && entangleTransitions(payload, inst, lane);
    },
    enqueueForceUpdate: function enqueueForceUpdate(inst, callback) {
      inst = inst._reactInternals;
      var eventTime = requestEventTime(),
          lane = requestUpdateLane(inst),
          update = createUpdate(eventTime, lane);
      update.tag = 2;
      undefined !== callback && null !== callback && (update.callback = callback);
      enqueueUpdate(inst, update);
      callback = scheduleUpdateOnFiber(inst, lane, eventTime);
      null !== callback && entangleTransitions(callback, inst, lane);
    }
  };

  function checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext) {
    workInProgress = workInProgress.stateNode;
    return "function" === typeof workInProgress.shouldComponentUpdate ? workInProgress.shouldComponentUpdate(newProps, newState, nextContext) : ctor.prototype && ctor.prototype.isPureReactComponent ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState) : true;
  }

  function constructClassInstance(workInProgress, ctor, props) {
    var isLegacyContextConsumer = false,
        unmaskedContext = emptyContextObject;
    var context = ctor.contextType;
    "object" === typeof context && null !== context ? context = readContext(context) : (unmaskedContext = isContextProvider(ctor) ? previousContext : contextStackCursor.current, isLegacyContextConsumer = ctor.contextTypes, context = (isLegacyContextConsumer = null !== isLegacyContextConsumer && undefined !== isLegacyContextConsumer) ? getMaskedContext(workInProgress, unmaskedContext) : emptyContextObject);
    ctor = new ctor(props, context);
    workInProgress.memoizedState = null !== ctor.state && undefined !== ctor.state ? ctor.state : null;
    ctor.updater = classComponentUpdater;
    workInProgress.stateNode = ctor;
    ctor._reactInternals = workInProgress;
    isLegacyContextConsumer && (workInProgress = workInProgress.stateNode, workInProgress.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext, workInProgress.__reactInternalMemoizedMaskedChildContext = context);
    return ctor;
  }

  function callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext) {
    workInProgress = instance.state;
    "function" === typeof instance.componentWillReceiveProps && instance.componentWillReceiveProps(newProps, nextContext);
    "function" === typeof instance.UNSAFE_componentWillReceiveProps && instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);
    instance.state !== workInProgress && classComponentUpdater.enqueueReplaceState(instance, instance.state, null);
  }

  function mountClassInstance(workInProgress, ctor, newProps, renderLanes) {
    var instance = workInProgress.stateNode;
    instance.props = newProps;
    instance.state = workInProgress.memoizedState;
    instance.refs = emptyRefsObject;
    initializeUpdateQueue(workInProgress);
    var contextType = ctor.contextType;
    "object" === typeof contextType && null !== contextType ? instance.context = readContext(contextType) : (contextType = isContextProvider(ctor) ? previousContext : contextStackCursor.current, instance.context = getMaskedContext(workInProgress, contextType));
    instance.state = workInProgress.memoizedState;
    contextType = ctor.getDerivedStateFromProps;
    "function" === typeof contextType && (applyDerivedStateFromProps(workInProgress, ctor, contextType, newProps), instance.state = workInProgress.memoizedState);
    "function" === typeof ctor.getDerivedStateFromProps || "function" === typeof instance.getSnapshotBeforeUpdate || "function" !== typeof instance.UNSAFE_componentWillMount && "function" !== typeof instance.componentWillMount || (ctor = instance.state, "function" === typeof instance.componentWillMount && instance.componentWillMount(), "function" === typeof instance.UNSAFE_componentWillMount && instance.UNSAFE_componentWillMount(), ctor !== instance.state && classComponentUpdater.enqueueReplaceState(instance, instance.state, null), processUpdateQueue(workInProgress, newProps, instance, renderLanes), instance.state = workInProgress.memoizedState);
    "function" === typeof instance.componentDidMount && (workInProgress.flags |= 4);
  }

  function coerceRef(returnFiber, current, element) {
    returnFiber = element.ref;

    if (null !== returnFiber && "function" !== typeof returnFiber && "object" !== typeof returnFiber) {
      if (element._owner) {
        element = element._owner;

        if (element) {
          if (1 !== element.tag) throw Error("Function components cannot have string refs. We recommend using useRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref");
          var inst = element.stateNode;
        }

        if (!inst) throw Error("Missing owner for string ref " + returnFiber + ". This error is likely caused by a bug in React. Please file an issue.");
        var stringRef = "" + returnFiber;
        if (null !== current && null !== current.ref && "function" === typeof current.ref && current.ref._stringRef === stringRef) return current.ref;

        current = function current(value) {
          var refs = inst.refs;
          refs === emptyRefsObject && (refs = inst.refs = {});
          null === value ? delete refs[stringRef] : refs[stringRef] = value;
        };

        current._stringRef = stringRef;
        return current;
      }

      if ("string" !== typeof returnFiber) throw Error("Expected ref to be a function, a string, an object returned by React.createRef(), or null.");
      if (!element._owner) throw Error("Element ref was specified as a string (" + returnFiber + ") but no owner was set. This could happen for one of the following reasons:\n1. You may be adding a ref to a function component\n2. You may be adding a ref to a component that was not created inside a component's render method\n3. You have multiple copies of React loaded\nSee https://reactjs.org/link/refs-must-have-owner for more information.");
    }

    return returnFiber;
  }

  function throwOnInvalidObjectType(returnFiber, newChild) {
    returnFiber = Object.prototype.toString.call(newChild);
    throw Error("Objects are not valid as a React child (found: " + ("[object Object]" === returnFiber ? "object with keys {" + Object.keys(newChild).join(", ") + "}" : returnFiber) + "). If you meant to render a collection of children, use an array instead.");
  }

  function ChildReconciler(shouldTrackSideEffects) {
    function deleteChild(returnFiber, childToDelete) {
      if (shouldTrackSideEffects) {
        var deletions = returnFiber.deletions;
        null === deletions ? (returnFiber.deletions = [childToDelete], returnFiber.flags |= 16) : deletions.push(childToDelete);
      }
    }

    function deleteRemainingChildren(returnFiber, currentFirstChild) {
      if (!shouldTrackSideEffects) return null;

      for (; null !== currentFirstChild;) {
        deleteChild(returnFiber, currentFirstChild), currentFirstChild = currentFirstChild.sibling;
      }

      return null;
    }

    function mapRemainingChildren(returnFiber, currentFirstChild) {
      for (returnFiber = new Map(); null !== currentFirstChild;) {
        null !== currentFirstChild.key ? returnFiber.set(currentFirstChild.key, currentFirstChild) : returnFiber.set(currentFirstChild.index, currentFirstChild), currentFirstChild = currentFirstChild.sibling;
      }

      return returnFiber;
    }

    function useFiber(fiber, pendingProps) {
      fiber = createWorkInProgress(fiber, pendingProps);
      fiber.index = 0;
      fiber.sibling = null;
      return fiber;
    }

    function placeChild(newFiber, lastPlacedIndex, newIndex) {
      newFiber.index = newIndex;
      if (!shouldTrackSideEffects) return lastPlacedIndex;
      newIndex = newFiber.alternate;
      if (null !== newIndex) return newIndex = newIndex.index, newIndex < lastPlacedIndex ? (newFiber.flags |= 2, lastPlacedIndex) : newIndex;
      newFiber.flags |= 2;
      return lastPlacedIndex;
    }

    function placeSingleChild(newFiber) {
      shouldTrackSideEffects && null === newFiber.alternate && (newFiber.flags |= 2);
      return newFiber;
    }

    function updateTextNode(returnFiber, current, textContent, lanes) {
      if (null === current || 6 !== current.tag) return current = createFiberFromText(textContent, returnFiber.mode, lanes), current.return = returnFiber, current;
      current = useFiber(current, textContent);
      current.return = returnFiber;
      return current;
    }

    function updateElement(returnFiber, current, element, lanes) {
      var elementType = element.type;
      if (elementType === REACT_FRAGMENT_TYPE) return updateFragment(returnFiber, current, element.props.children, lanes, element.key);
      if (null !== current && current.elementType === elementType) return lanes = useFiber(current, element.props), lanes.ref = coerceRef(returnFiber, current, element), lanes.return = returnFiber, lanes;
      lanes = createFiberFromTypeAndProps(element.type, element.key, element.props, null, returnFiber.mode, lanes);
      lanes.ref = coerceRef(returnFiber, current, element);
      lanes.return = returnFiber;
      return lanes;
    }

    function updatePortal(returnFiber, current, portal, lanes) {
      if (null === current || 4 !== current.tag || current.stateNode.containerInfo !== portal.containerInfo || current.stateNode.implementation !== portal.implementation) return current = createFiberFromPortal(portal, returnFiber.mode, lanes), current.return = returnFiber, current;
      current = useFiber(current, portal.children || []);
      current.return = returnFiber;
      return current;
    }

    function updateFragment(returnFiber, current, fragment, lanes, key) {
      if (null === current || 7 !== current.tag) return current = createFiberFromFragment(fragment, returnFiber.mode, lanes, key), current.return = returnFiber, current;
      current = useFiber(current, fragment);
      current.return = returnFiber;
      return current;
    }

    function createChild(returnFiber, newChild, lanes) {
      if ("string" === typeof newChild || "number" === typeof newChild) return newChild = createFiberFromText("" + newChild, returnFiber.mode, lanes), newChild.return = returnFiber, newChild;

      if ("object" === typeof newChild && null !== newChild) {
        switch (newChild.$$typeof) {
          case REACT_ELEMENT_TYPE:
            return lanes = createFiberFromTypeAndProps(newChild.type, newChild.key, newChild.props, null, returnFiber.mode, lanes), lanes.ref = coerceRef(returnFiber, null, newChild), lanes.return = returnFiber, lanes;

          case REACT_PORTAL_TYPE:
            return newChild = createFiberFromPortal(newChild, returnFiber.mode, lanes), newChild.return = returnFiber, newChild;
        }

        if (isArrayImpl(newChild) || getIteratorFn(newChild)) return newChild = createFiberFromFragment(newChild, returnFiber.mode, lanes, null), newChild.return = returnFiber, newChild;
        throwOnInvalidObjectType(returnFiber, newChild);
      }

      return null;
    }

    function updateSlot(returnFiber, oldFiber, newChild, lanes) {
      var key = null !== oldFiber ? oldFiber.key : null;
      if ("string" === typeof newChild || "number" === typeof newChild) return null !== key ? null : updateTextNode(returnFiber, oldFiber, "" + newChild, lanes);

      if ("object" === typeof newChild && null !== newChild) {
        switch (newChild.$$typeof) {
          case REACT_ELEMENT_TYPE:
            return newChild.key === key ? updateElement(returnFiber, oldFiber, newChild, lanes) : null;

          case REACT_PORTAL_TYPE:
            return newChild.key === key ? updatePortal(returnFiber, oldFiber, newChild, lanes) : null;
        }

        if (isArrayImpl(newChild) || getIteratorFn(newChild)) return null !== key ? null : updateFragment(returnFiber, oldFiber, newChild, lanes, null);
        throwOnInvalidObjectType(returnFiber, newChild);
      }

      return null;
    }

    function updateFromMap(existingChildren, returnFiber, newIdx, newChild, lanes) {
      if ("string" === typeof newChild || "number" === typeof newChild) return existingChildren = existingChildren.get(newIdx) || null, updateTextNode(returnFiber, existingChildren, "" + newChild, lanes);

      if ("object" === typeof newChild && null !== newChild) {
        switch (newChild.$$typeof) {
          case REACT_ELEMENT_TYPE:
            return existingChildren = existingChildren.get(null === newChild.key ? newIdx : newChild.key) || null, updateElement(returnFiber, existingChildren, newChild, lanes);

          case REACT_PORTAL_TYPE:
            return existingChildren = existingChildren.get(null === newChild.key ? newIdx : newChild.key) || null, updatePortal(returnFiber, existingChildren, newChild, lanes);
        }

        if (isArrayImpl(newChild) || getIteratorFn(newChild)) return existingChildren = existingChildren.get(newIdx) || null, updateFragment(returnFiber, existingChildren, newChild, lanes, null);
        throwOnInvalidObjectType(returnFiber, newChild);
      }

      return null;
    }

    function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, lanes) {
      for (var resultingFirstChild = null, previousNewFiber = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null; null !== oldFiber && newIdx < newChildren.length; newIdx++) {
        oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling;
        var newFiber = updateSlot(returnFiber, oldFiber, newChildren[newIdx], lanes);

        if (null === newFiber) {
          null === oldFiber && (oldFiber = nextOldFiber);
          break;
        }

        shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber);
        currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);
        null === previousNewFiber ? resultingFirstChild = newFiber : previousNewFiber.sibling = newFiber;
        previousNewFiber = newFiber;
        oldFiber = nextOldFiber;
      }

      if (newIdx === newChildren.length) return deleteRemainingChildren(returnFiber, oldFiber), resultingFirstChild;

      if (null === oldFiber) {
        for (; newIdx < newChildren.length; newIdx++) {
          oldFiber = createChild(returnFiber, newChildren[newIdx], lanes), null !== oldFiber && (currentFirstChild = placeChild(oldFiber, currentFirstChild, newIdx), null === previousNewFiber ? resultingFirstChild = oldFiber : previousNewFiber.sibling = oldFiber, previousNewFiber = oldFiber);
        }

        return resultingFirstChild;
      }

      for (oldFiber = mapRemainingChildren(returnFiber, oldFiber); newIdx < newChildren.length; newIdx++) {
        nextOldFiber = updateFromMap(oldFiber, returnFiber, newIdx, newChildren[newIdx], lanes), null !== nextOldFiber && (shouldTrackSideEffects && null !== nextOldFiber.alternate && oldFiber.delete(null === nextOldFiber.key ? newIdx : nextOldFiber.key), currentFirstChild = placeChild(nextOldFiber, currentFirstChild, newIdx), null === previousNewFiber ? resultingFirstChild = nextOldFiber : previousNewFiber.sibling = nextOldFiber, previousNewFiber = nextOldFiber);
      }

      shouldTrackSideEffects && oldFiber.forEach(function (child) {
        return deleteChild(returnFiber, child);
      });
      return resultingFirstChild;
    }

    function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildrenIterable, lanes) {
      var iteratorFn = getIteratorFn(newChildrenIterable);
      if ("function" !== typeof iteratorFn) throw Error("An object is not an iterable. This error is likely caused by a bug in React. Please file an issue.");
      newChildrenIterable = iteratorFn.call(newChildrenIterable);
      if (null == newChildrenIterable) throw Error("An iterable object provided no iterator.");

      for (var previousNewFiber = iteratorFn = null, oldFiber = currentFirstChild, newIdx = currentFirstChild = 0, nextOldFiber = null, step = newChildrenIterable.next(); null !== oldFiber && !step.done; newIdx++, step = newChildrenIterable.next()) {
        oldFiber.index > newIdx ? (nextOldFiber = oldFiber, oldFiber = null) : nextOldFiber = oldFiber.sibling;
        var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);

        if (null === newFiber) {
          null === oldFiber && (oldFiber = nextOldFiber);
          break;
        }

        shouldTrackSideEffects && oldFiber && null === newFiber.alternate && deleteChild(returnFiber, oldFiber);
        currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);
        null === previousNewFiber ? iteratorFn = newFiber : previousNewFiber.sibling = newFiber;
        previousNewFiber = newFiber;
        oldFiber = nextOldFiber;
      }

      if (step.done) return deleteRemainingChildren(returnFiber, oldFiber), iteratorFn;

      if (null === oldFiber) {
        for (; !step.done; newIdx++, step = newChildrenIterable.next()) {
          step = createChild(returnFiber, step.value, lanes), null !== step && (currentFirstChild = placeChild(step, currentFirstChild, newIdx), null === previousNewFiber ? iteratorFn = step : previousNewFiber.sibling = step, previousNewFiber = step);
        }

        return iteratorFn;
      }

      for (oldFiber = mapRemainingChildren(returnFiber, oldFiber); !step.done; newIdx++, step = newChildrenIterable.next()) {
        step = updateFromMap(oldFiber, returnFiber, newIdx, step.value, lanes), null !== step && (shouldTrackSideEffects && null !== step.alternate && oldFiber.delete(null === step.key ? newIdx : step.key), currentFirstChild = placeChild(step, currentFirstChild, newIdx), null === previousNewFiber ? iteratorFn = step : previousNewFiber.sibling = step, previousNewFiber = step);
      }

      shouldTrackSideEffects && oldFiber.forEach(function (child) {
        return deleteChild(returnFiber, child);
      });
      return iteratorFn;
    }

    return function (returnFiber, currentFirstChild, newChild, lanes) {
      var isUnkeyedTopLevelFragment = "object" === typeof newChild && null !== newChild && newChild.type === REACT_FRAGMENT_TYPE && null === newChild.key;
      isUnkeyedTopLevelFragment && (newChild = newChild.props.children);

      if ("object" === typeof newChild && null !== newChild) {
        switch (newChild.$$typeof) {
          case REACT_ELEMENT_TYPE:
            a: {
              var key = newChild.key;

              for (isUnkeyedTopLevelFragment = currentFirstChild; null !== isUnkeyedTopLevelFragment;) {
                if (isUnkeyedTopLevelFragment.key === key) {
                  key = newChild.type;

                  if (key === REACT_FRAGMENT_TYPE) {
                    if (7 === isUnkeyedTopLevelFragment.tag) {
                      deleteRemainingChildren(returnFiber, isUnkeyedTopLevelFragment.sibling);
                      currentFirstChild = useFiber(isUnkeyedTopLevelFragment, newChild.props.children);
                      currentFirstChild.return = returnFiber;
                      returnFiber = currentFirstChild;
                      break a;
                    }
                  } else if (isUnkeyedTopLevelFragment.elementType === key) {
                    deleteRemainingChildren(returnFiber, isUnkeyedTopLevelFragment.sibling);
                    currentFirstChild = useFiber(isUnkeyedTopLevelFragment, newChild.props);
                    currentFirstChild.ref = coerceRef(returnFiber, isUnkeyedTopLevelFragment, newChild);
                    currentFirstChild.return = returnFiber;
                    returnFiber = currentFirstChild;
                    break a;
                  }

                  deleteRemainingChildren(returnFiber, isUnkeyedTopLevelFragment);
                  break;
                } else deleteChild(returnFiber, isUnkeyedTopLevelFragment);

                isUnkeyedTopLevelFragment = isUnkeyedTopLevelFragment.sibling;
              }

              newChild.type === REACT_FRAGMENT_TYPE ? (currentFirstChild = createFiberFromFragment(newChild.props.children, returnFiber.mode, lanes, newChild.key), currentFirstChild.return = returnFiber, returnFiber = currentFirstChild) : (lanes = createFiberFromTypeAndProps(newChild.type, newChild.key, newChild.props, null, returnFiber.mode, lanes), lanes.ref = coerceRef(returnFiber, currentFirstChild, newChild), lanes.return = returnFiber, returnFiber = lanes);
            }

            return placeSingleChild(returnFiber);

          case REACT_PORTAL_TYPE:
            a: {
              for (isUnkeyedTopLevelFragment = newChild.key; null !== currentFirstChild;) {
                if (currentFirstChild.key === isUnkeyedTopLevelFragment) {
                  if (4 === currentFirstChild.tag && currentFirstChild.stateNode.containerInfo === newChild.containerInfo && currentFirstChild.stateNode.implementation === newChild.implementation) {
                    deleteRemainingChildren(returnFiber, currentFirstChild.sibling);
                    currentFirstChild = useFiber(currentFirstChild, newChild.children || []);
                    currentFirstChild.return = returnFiber;
                    returnFiber = currentFirstChild;
                    break a;
                  } else {
                    deleteRemainingChildren(returnFiber, currentFirstChild);
                    break;
                  }
                } else deleteChild(returnFiber, currentFirstChild);
                currentFirstChild = currentFirstChild.sibling;
              }

              currentFirstChild = createFiberFromPortal(newChild, returnFiber.mode, lanes);
              currentFirstChild.return = returnFiber;
              returnFiber = currentFirstChild;
            }

            return placeSingleChild(returnFiber);
        }

        if (isArrayImpl(newChild)) return reconcileChildrenArray(returnFiber, currentFirstChild, newChild, lanes);
        if (getIteratorFn(newChild)) return reconcileChildrenIterator(returnFiber, currentFirstChild, newChild, lanes);
        throwOnInvalidObjectType(returnFiber, newChild);
      }

      if ("string" === typeof newChild || "number" === typeof newChild) return newChild = "" + newChild, null !== currentFirstChild && 6 === currentFirstChild.tag ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling), currentFirstChild = useFiber(currentFirstChild, newChild), currentFirstChild.return = returnFiber, returnFiber = currentFirstChild) : (deleteRemainingChildren(returnFiber, currentFirstChild), currentFirstChild = createFiberFromText(newChild, returnFiber.mode, lanes), currentFirstChild.return = returnFiber, returnFiber = currentFirstChild), placeSingleChild(returnFiber);
      if ("undefined" === typeof newChild && !isUnkeyedTopLevelFragment) switch (returnFiber.tag) {
        case 1:
        case 0:
        case 11:
        case 15:
          throw Error((getComponentNameFromFiber(returnFiber) || "Component") + "(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.");
      }
      return deleteRemainingChildren(returnFiber, currentFirstChild);
    };
  }

  var reconcileChildFibers = ChildReconciler(true),
      mountChildFibers = ChildReconciler(false),
      NO_CONTEXT = {},
      contextStackCursor$1 = createCursor(NO_CONTEXT),
      contextFiberStackCursor = createCursor(NO_CONTEXT),
      rootInstanceStackCursor = createCursor(NO_CONTEXT);

  function requiredContext(c) {
    if (c === NO_CONTEXT) throw Error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.");
    return c;
  }

  function pushHostContainer(fiber, nextRootInstance) {
    push(rootInstanceStackCursor, nextRootInstance);
    push(contextFiberStackCursor, fiber);
    push(contextStackCursor$1, NO_CONTEXT);
    pop(contextStackCursor$1);
    push(contextStackCursor$1, {
      isInAParentText: false
    });
  }

  function popHostContainer() {
    pop(contextStackCursor$1);
    pop(contextFiberStackCursor);
    pop(rootInstanceStackCursor);
  }

  function pushHostContext(fiber) {
    requiredContext(rootInstanceStackCursor.current);
    var context = requiredContext(contextStackCursor$1.current);
    var JSCompiler_inline_result = fiber.type;
    JSCompiler_inline_result = "AndroidTextInput" === JSCompiler_inline_result || "RCTMultilineTextInputView" === JSCompiler_inline_result || "RCTSinglelineTextInputView" === JSCompiler_inline_result || "RCTText" === JSCompiler_inline_result || "RCTVirtualText" === JSCompiler_inline_result;
    JSCompiler_inline_result = context.isInAParentText !== JSCompiler_inline_result ? {
      isInAParentText: JSCompiler_inline_result
    } : context;
    context !== JSCompiler_inline_result && (push(contextFiberStackCursor, fiber), push(contextStackCursor$1, JSCompiler_inline_result));
  }

  function popHostContext(fiber) {
    contextFiberStackCursor.current === fiber && (pop(contextStackCursor$1), pop(contextFiberStackCursor));
  }

  var suspenseStackCursor = createCursor(0);

  function findFirstSuspended(row) {
    for (var node = row; null !== node;) {
      if (13 === node.tag) {
        var state = node.memoizedState;
        if (null !== state && (null === state.dehydrated || shim$1() || shim$1())) return node;
      } else if (19 === node.tag && undefined !== node.memoizedProps.revealOrder) {
        if (0 !== (node.flags & 128)) return node;
      } else if (null !== node.child) {
        node.child.return = node;
        node = node.child;
        continue;
      }

      if (node === row) break;

      for (; null === node.sibling;) {
        if (null === node.return || node.return === row) return null;
        node = node.return;
      }

      node.sibling.return = node.return;
      node = node.sibling;
    }

    return null;
  }

  var workInProgressSources = [];

  function resetWorkInProgressVersions() {
    for (var i = 0; i < workInProgressSources.length; i++) {
      workInProgressSources[i]._workInProgressVersionSecondary = null;
    }

    workInProgressSources.length = 0;
  }

  var ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher,
      ReactCurrentBatchConfig$1 = ReactSharedInternals.ReactCurrentBatchConfig,
      renderLanes = 0,
      currentlyRenderingFiber$1 = null,
      currentHook = null,
      workInProgressHook = null,
      didScheduleRenderPhaseUpdate = false,
      didScheduleRenderPhaseUpdateDuringThisPass = false;

  function throwInvalidHookError() {
    throw Error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.");
  }

  function areHookInputsEqual(nextDeps, prevDeps) {
    if (null === prevDeps) return false;

    for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) {
      if (!objectIs(nextDeps[i], prevDeps[i])) return false;
    }

    return true;
  }

  function renderWithHooks(current, workInProgress, Component, props, secondArg, nextRenderLanes) {
    renderLanes = nextRenderLanes;
    currentlyRenderingFiber$1 = workInProgress;
    workInProgress.memoizedState = null;
    workInProgress.updateQueue = null;
    workInProgress.lanes = 0;
    ReactCurrentDispatcher$1.current = null === current || null === current.memoizedState ? HooksDispatcherOnMount : HooksDispatcherOnUpdate;
    current = Component(props, secondArg);

    if (didScheduleRenderPhaseUpdateDuringThisPass) {
      nextRenderLanes = 0;

      do {
        didScheduleRenderPhaseUpdateDuringThisPass = false;
        if (!(25 > nextRenderLanes)) throw Error("Too many re-renders. React limits the number of renders to prevent an infinite loop.");
        nextRenderLanes += 1;
        workInProgressHook = currentHook = null;
        workInProgress.updateQueue = null;
        ReactCurrentDispatcher$1.current = HooksDispatcherOnRerender;
        current = Component(props, secondArg);
      } while (didScheduleRenderPhaseUpdateDuringThisPass);
    }

    ReactCurrentDispatcher$1.current = ContextOnlyDispatcher;
    workInProgress = null !== currentHook && null !== currentHook.next;
    renderLanes = 0;
    workInProgressHook = currentHook = currentlyRenderingFiber$1 = null;
    didScheduleRenderPhaseUpdate = false;
    if (workInProgress) throw Error("Rendered fewer hooks than expected. This may be caused by an accidental early return statement.");
    return current;
  }

  function mountWorkInProgressHook() {
    var hook = {
      memoizedState: null,
      baseState: null,
      baseQueue: null,
      queue: null,
      next: null
    };
    null === workInProgressHook ? currentlyRenderingFiber$1.memoizedState = workInProgressHook = hook : workInProgressHook = workInProgressHook.next = hook;
    return workInProgressHook;
  }

  function updateWorkInProgressHook() {
    if (null === currentHook) {
      var nextCurrentHook = currentlyRenderingFiber$1.alternate;
      nextCurrentHook = null !== nextCurrentHook ? nextCurrentHook.memoizedState : null;
    } else nextCurrentHook = currentHook.next;

    var nextWorkInProgressHook = null === workInProgressHook ? currentlyRenderingFiber$1.memoizedState : workInProgressHook.next;
    if (null !== nextWorkInProgressHook) workInProgressHook = nextWorkInProgressHook, currentHook = nextCurrentHook;else {
      if (null === nextCurrentHook) throw Error("Rendered more hooks than during the previous render.");
      currentHook = nextCurrentHook;
      nextCurrentHook = {
        memoizedState: currentHook.memoizedState,
        baseState: currentHook.baseState,
        baseQueue: currentHook.baseQueue,
        queue: currentHook.queue,
        next: null
      };
      null === workInProgressHook ? currentlyRenderingFiber$1.memoizedState = workInProgressHook = nextCurrentHook : workInProgressHook = workInProgressHook.next = nextCurrentHook;
    }
    return workInProgressHook;
  }

  function basicStateReducer(state, action) {
    return "function" === typeof action ? action(state) : action;
  }

  function updateReducer(reducer) {
    var hook = updateWorkInProgressHook(),
        queue = hook.queue;
    if (null === queue) throw Error("Should have a queue. This is likely a bug in React. Please file an issue.");
    queue.lastRenderedReducer = reducer;
    var current = currentHook,
        baseQueue = current.baseQueue,
        pendingQueue = queue.pending;

    if (null !== pendingQueue) {
      if (null !== baseQueue) {
        var baseFirst = baseQueue.next;
        baseQueue.next = pendingQueue.next;
        pendingQueue.next = baseFirst;
      }

      current.baseQueue = baseQueue = pendingQueue;
      queue.pending = null;
    }

    if (null !== baseQueue) {
      pendingQueue = baseQueue.next;
      current = current.baseState;
      var newBaseQueueFirst = baseFirst = null,
          newBaseQueueLast = null,
          update = pendingQueue;

      do {
        var updateLane = update.lane;
        if ((renderLanes & updateLane) === updateLane) null !== newBaseQueueLast && (newBaseQueueLast = newBaseQueueLast.next = {
          lane: 0,
          action: update.action,
          eagerReducer: update.eagerReducer,
          eagerState: update.eagerState,
          next: null
        }), current = update.eagerReducer === reducer ? update.eagerState : reducer(current, update.action);else {
          var clone = {
            lane: updateLane,
            action: update.action,
            eagerReducer: update.eagerReducer,
            eagerState: update.eagerState,
            next: null
          };
          null === newBaseQueueLast ? (newBaseQueueFirst = newBaseQueueLast = clone, baseFirst = current) : newBaseQueueLast = newBaseQueueLast.next = clone;
          currentlyRenderingFiber$1.lanes |= updateLane;
          workInProgressRootSkippedLanes |= updateLane;
        }
        update = update.next;
      } while (null !== update && update !== pendingQueue);

      null === newBaseQueueLast ? baseFirst = current : newBaseQueueLast.next = newBaseQueueFirst;
      objectIs(current, hook.memoizedState) || (didReceiveUpdate = true);
      hook.memoizedState = current;
      hook.baseState = baseFirst;
      hook.baseQueue = newBaseQueueLast;
      queue.lastRenderedState = current;
    }

    reducer = queue.interleaved;

    if (null !== reducer) {
      baseQueue = reducer;

      do {
        pendingQueue = baseQueue.lane, currentlyRenderingFiber$1.lanes |= pendingQueue, workInProgressRootSkippedLanes |= pendingQueue, baseQueue = baseQueue.next;
      } while (baseQueue !== reducer);
    } else null === baseQueue && (queue.lanes = 0);

    return [hook.memoizedState, queue.dispatch];
  }

  function rerenderReducer(reducer) {
    var hook = updateWorkInProgressHook(),
        queue = hook.queue;
    if (null === queue) throw Error("Should have a queue. This is likely a bug in React. Please file an issue.");
    queue.lastRenderedReducer = reducer;
    var dispatch = queue.dispatch,
        lastRenderPhaseUpdate = queue.pending,
        newState = hook.memoizedState;

    if (null !== lastRenderPhaseUpdate) {
      queue.pending = null;
      var update = lastRenderPhaseUpdate = lastRenderPhaseUpdate.next;

      do {
        newState = reducer(newState, update.action), update = update.next;
      } while (update !== lastRenderPhaseUpdate);

      objectIs(newState, hook.memoizedState) || (didReceiveUpdate = true);
      hook.memoizedState = newState;
      null === hook.baseQueue && (hook.baseState = newState);
      queue.lastRenderedState = newState;
    }

    return [newState, dispatch];
  }

  function readFromUnsubcribedMutableSource(root, source, getSnapshot) {
    var getVersion = source._getVersion;
    getVersion = getVersion(source._source);
    var JSCompiler_inline_result = source._workInProgressVersionSecondary;
    if (null !== JSCompiler_inline_result) root = JSCompiler_inline_result === getVersion;else if (root = root.mutableReadLanes, root = (renderLanes & root) === root) source._workInProgressVersionSecondary = getVersion, workInProgressSources.push(source);
    if (root) return getSnapshot(source._source);
    workInProgressSources.push(source);
    throw Error("Cannot read from mutable source during the current render without tearing. This may be a bug in React. Please file an issue.");
  }

  function _useMutableSource(hook, source, getSnapshot, subscribe) {
    var root = workInProgressRoot;
    if (null === root) throw Error("Expected a work-in-progress root. This is a bug in React. Please file an issue.");

    var getVersion = source._getVersion,
        version = getVersion(source._source),
        dispatcher = ReactCurrentDispatcher$1.current,
        _dispatcher$useState = dispatcher.useState(function () {
      return readFromUnsubcribedMutableSource(root, source, getSnapshot);
    }),
        setSnapshot = _dispatcher$useState[1],
        snapshot = _dispatcher$useState[0];

    _dispatcher$useState = workInProgressHook;
    var memoizedState = hook.memoizedState,
        refs = memoizedState.refs,
        prevGetSnapshot = refs.getSnapshot,
        prevSource = memoizedState.source;
    memoizedState = memoizedState.subscribe;
    var fiber = currentlyRenderingFiber$1;
    hook.memoizedState = {
      refs: refs,
      source: source,
      subscribe: subscribe
    };
    dispatcher.useEffect(function () {
      refs.getSnapshot = getSnapshot;
      refs.setSnapshot = setSnapshot;
      var maybeNewVersion = getVersion(source._source);
      objectIs(version, maybeNewVersion) || (maybeNewVersion = getSnapshot(source._source), objectIs(snapshot, maybeNewVersion) || (setSnapshot(maybeNewVersion), maybeNewVersion = requestUpdateLane(fiber), root.mutableReadLanes |= maybeNewVersion & root.pendingLanes), markRootEntangled(root, root.mutableReadLanes));
    }, [getSnapshot, source, subscribe]);
    dispatcher.useEffect(function () {
      return subscribe(source._source, function () {
        var latestGetSnapshot = refs.getSnapshot,
            latestSetSnapshot = refs.setSnapshot;

        try {
          latestSetSnapshot(latestGetSnapshot(source._source));
          var lane = requestUpdateLane(fiber);
          root.mutableReadLanes |= lane & root.pendingLanes;
        } catch (error) {
          latestSetSnapshot(function () {
            throw error;
          });
        }
      });
    }, [source, subscribe]);
    objectIs(prevGetSnapshot, getSnapshot) && objectIs(prevSource, source) && objectIs(memoizedState, subscribe) || (hook = {
      pending: null,
      interleaved: null,
      lanes: 0,
      dispatch: null,
      lastRenderedReducer: basicStateReducer,
      lastRenderedState: snapshot
    }, hook.dispatch = setSnapshot = dispatchAction.bind(null, currentlyRenderingFiber$1, hook), _dispatcher$useState.queue = hook, _dispatcher$useState.baseQueue = null, snapshot = readFromUnsubcribedMutableSource(root, source, getSnapshot), _dispatcher$useState.memoizedState = _dispatcher$useState.baseState = snapshot);
    return snapshot;
  }

  function updateMutableSource(source, getSnapshot, subscribe) {
    var hook = updateWorkInProgressHook();
    return _useMutableSource(hook, source, getSnapshot, subscribe);
  }

  function mountState(initialState) {
    var hook = mountWorkInProgressHook();
    "function" === typeof initialState && (initialState = initialState());
    hook.memoizedState = hook.baseState = initialState;
    initialState = hook.queue = {
      pending: null,
      interleaved: null,
      lanes: 0,
      dispatch: null,
      lastRenderedReducer: basicStateReducer,
      lastRenderedState: initialState
    };
    initialState = initialState.dispatch = dispatchAction.bind(null, currentlyRenderingFiber$1, initialState);
    return [hook.memoizedState, initialState];
  }

  function pushEffect(tag, create, destroy, deps) {
    tag = {
      tag: tag,
      create: create,
      destroy: destroy,
      deps: deps,
      next: null
    };
    create = currentlyRenderingFiber$1.updateQueue;
    null === create ? (create = {
      lastEffect: null
    }, currentlyRenderingFiber$1.updateQueue = create, create.lastEffect = tag.next = tag) : (destroy = create.lastEffect, null === destroy ? create.lastEffect = tag.next = tag : (deps = destroy.next, destroy.next = tag, tag.next = deps, create.lastEffect = tag));
    return tag;
  }

  function updateRef() {
    return updateWorkInProgressHook().memoizedState;
  }

  function mountEffectImpl(fiberFlags, hookFlags, create, deps) {
    var hook = mountWorkInProgressHook();
    currentlyRenderingFiber$1.flags |= fiberFlags;
    hook.memoizedState = pushEffect(1 | hookFlags, create, undefined, undefined === deps ? null : deps);
  }

  function updateEffectImpl(fiberFlags, hookFlags, create, deps) {
    var hook = updateWorkInProgressHook();
    deps = undefined === deps ? null : deps;
    var destroy = undefined;

    if (null !== currentHook) {
      var prevEffect = currentHook.memoizedState;
      destroy = prevEffect.destroy;

      if (null !== deps && areHookInputsEqual(deps, prevEffect.deps)) {
        hook.memoizedState = pushEffect(hookFlags, create, destroy, deps);
        return;
      }
    }

    currentlyRenderingFiber$1.flags |= fiberFlags;
    hook.memoizedState = pushEffect(1 | hookFlags, create, destroy, deps);
  }

  function mountEffect(create, deps) {
    return mountEffectImpl(1049600, 4, create, deps);
  }

  function updateEffect(create, deps) {
    return updateEffectImpl(1024, 4, create, deps);
  }

  function updateLayoutEffect(create, deps) {
    return updateEffectImpl(4, 2, create, deps);
  }

  function imperativeHandleEffect(create, ref) {
    if ("function" === typeof ref) return create = create(), ref(create), function () {
      ref(null);
    };
    if (null !== ref && undefined !== ref) return create = create(), ref.current = create, function () {
      ref.current = null;
    };
  }

  function updateImperativeHandle(ref, create, deps) {
    deps = null !== deps && undefined !== deps ? deps.concat([ref]) : null;
    return updateEffectImpl(4, 2, imperativeHandleEffect.bind(null, create, ref), deps);
  }

  function mountDebugValue() {}

  function updateCallback(callback, deps) {
    var hook = updateWorkInProgressHook();
    deps = undefined === deps ? null : deps;
    var prevState = hook.memoizedState;
    if (null !== prevState && null !== deps && areHookInputsEqual(deps, prevState[1])) return prevState[0];
    hook.memoizedState = [callback, deps];
    return callback;
  }

  function updateMemo(nextCreate, deps) {
    var hook = updateWorkInProgressHook();
    deps = undefined === deps ? null : deps;
    var prevState = hook.memoizedState;
    if (null !== prevState && null !== deps && areHookInputsEqual(deps, prevState[1])) return prevState[0];
    nextCreate = nextCreate();
    hook.memoizedState = [nextCreate, deps];
    return nextCreate;
  }

  function startTransition(setPending, callback) {
    var previousPriority = currentUpdatePriority;
    currentUpdatePriority = 0 !== previousPriority && 4 > previousPriority ? previousPriority : 4;
    setPending(true);
    var prevTransition = ReactCurrentBatchConfig$1.transition;
    ReactCurrentBatchConfig$1.transition = 1;

    try {
      setPending(false), callback();
    } finally {
      currentUpdatePriority = previousPriority, ReactCurrentBatchConfig$1.transition = prevTransition;
    }
  }

  function dispatchAction(fiber, queue, action) {
    var eventTime = requestEventTime(),
        lane = requestUpdateLane(fiber),
        update = {
      lane: lane,
      action: action,
      eagerReducer: null,
      eagerState: null,
      next: null
    },
        alternate = fiber.alternate;
    if (fiber === currentlyRenderingFiber$1 || null !== alternate && alternate === currentlyRenderingFiber$1) didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate = true, lane = queue.pending, null === lane ? update.next = update : (update.next = lane.next, lane.next = update), queue.pending = update;else {
      if (null !== workInProgressRoot && 0 !== (fiber.mode & 1) && 0 === (executionContext & 8)) {
        var interleaved = queue.interleaved;
        null === interleaved ? (update.next = update, null === interleavedQueues ? interleavedQueues = [queue] : interleavedQueues.push(queue)) : (update.next = interleaved.next, interleaved.next = update);
        queue.interleaved = update;
      } else interleaved = queue.pending, null === interleaved ? update.next = update : (update.next = interleaved.next, interleaved.next = update), queue.pending = update;

      if (0 === fiber.lanes && (null === alternate || 0 === alternate.lanes) && (alternate = queue.lastRenderedReducer, null !== alternate)) try {
        var currentState = queue.lastRenderedState,
            eagerState = alternate(currentState, action);
        update.eagerReducer = alternate;
        update.eagerState = eagerState;
        if (objectIs(eagerState, currentState)) return;
      } catch (error) {} finally {}
      update = scheduleUpdateOnFiber(fiber, lane, eventTime);
      0 !== (lane & 4194240) && null !== update && (fiber = queue.lanes, fiber &= update.pendingLanes, lane |= fiber, queue.lanes = lane, markRootEntangled(update, lane));
    }
  }

  var ContextOnlyDispatcher = {
    readContext: readContext,
    useCallback: throwInvalidHookError,
    useContext: throwInvalidHookError,
    useEffect: throwInvalidHookError,
    useImperativeHandle: throwInvalidHookError,
    useLayoutEffect: throwInvalidHookError,
    useMemo: throwInvalidHookError,
    useReducer: throwInvalidHookError,
    useRef: throwInvalidHookError,
    useState: throwInvalidHookError,
    useDebugValue: throwInvalidHookError,
    useDeferredValue: throwInvalidHookError,
    useTransition: throwInvalidHookError,
    useMutableSource: throwInvalidHookError,
    useOpaqueIdentifier: throwInvalidHookError,
    unstable_isNewReconciler: false
  },
      HooksDispatcherOnMount = {
    readContext: readContext,
    useCallback: function useCallback(callback, deps) {
      mountWorkInProgressHook().memoizedState = [callback, undefined === deps ? null : deps];
      return callback;
    },
    useContext: readContext,
    useEffect: mountEffect,
    useImperativeHandle: function useImperativeHandle(ref, create, deps) {
      deps = null !== deps && undefined !== deps ? deps.concat([ref]) : null;
      return mountEffectImpl(4, 2, imperativeHandleEffect.bind(null, create, ref), deps);
    },
    useLayoutEffect: function useLayoutEffect(create, deps) {
      return mountEffectImpl(4, 2, create, deps);
    },
    useMemo: function useMemo(nextCreate, deps) {
      var hook = mountWorkInProgressHook();
      deps = undefined === deps ? null : deps;
      nextCreate = nextCreate();
      hook.memoizedState = [nextCreate, deps];
      return nextCreate;
    },
    useReducer: function useReducer(reducer, initialArg, init) {
      var hook = mountWorkInProgressHook();
      initialArg = undefined !== init ? init(initialArg) : initialArg;
      hook.memoizedState = hook.baseState = initialArg;
      reducer = hook.queue = {
        pending: null,
        interleaved: null,
        lanes: 0,
        dispatch: null,
        lastRenderedReducer: reducer,
        lastRenderedState: initialArg
      };
      reducer = reducer.dispatch = dispatchAction.bind(null, currentlyRenderingFiber$1, reducer);
      return [hook.memoizedState, reducer];
    },
    useRef: function useRef(initialValue) {
      var hook = mountWorkInProgressHook();
      initialValue = {
        current: initialValue
      };
      return hook.memoizedState = initialValue;
    },
    useState: mountState,
    useDebugValue: mountDebugValue,
    useDeferredValue: function useDeferredValue(value) {
      var _mountState = mountState(value),
          prevValue = _mountState[0],
          setValue = _mountState[1];

      mountEffect(function () {
        var prevTransition = ReactCurrentBatchConfig$1.transition;
        ReactCurrentBatchConfig$1.transition = 1;

        try {
          setValue(value);
        } finally {
          ReactCurrentBatchConfig$1.transition = prevTransition;
        }
      }, [value]);
      return prevValue;
    },
    useTransition: function useTransition() {
      var _mountState2 = mountState(false),
          isPending = _mountState2[0];

      _mountState2 = startTransition.bind(null, _mountState2[1]);
      mountWorkInProgressHook().memoizedState = _mountState2;
      return [isPending, _mountState2];
    },
    useMutableSource: function useMutableSource(source, getSnapshot, subscribe) {
      var hook = mountWorkInProgressHook();
      hook.memoizedState = {
        refs: {
          getSnapshot: getSnapshot,
          setSnapshot: null
        },
        source: source,
        subscribe: subscribe
      };
      return _useMutableSource(hook, source, getSnapshot, subscribe);
    },
    useOpaqueIdentifier: function useOpaqueIdentifier() {
      throw Error("Not yet implemented");
    },
    unstable_isNewReconciler: false
  },
      HooksDispatcherOnUpdate = {
    readContext: readContext,
    useCallback: updateCallback,
    useContext: readContext,
    useEffect: updateEffect,
    useImperativeHandle: updateImperativeHandle,
    useLayoutEffect: updateLayoutEffect,
    useMemo: updateMemo,
    useReducer: updateReducer,
    useRef: updateRef,
    useState: function useState() {
      return updateReducer(basicStateReducer);
    },
    useDebugValue: mountDebugValue,
    useDeferredValue: function useDeferredValue(value) {
      var _updateState = updateReducer(basicStateReducer),
          prevValue = _updateState[0],
          setValue = _updateState[1];

      updateEffect(function () {
        var prevTransition = ReactCurrentBatchConfig$1.transition;
        ReactCurrentBatchConfig$1.transition = 1;

        try {
          setValue(value);
        } finally {
          ReactCurrentBatchConfig$1.transition = prevTransition;
        }
      }, [value]);
      return prevValue;
    },
    useTransition: function useTransition() {
      var isPending = updateReducer(basicStateReducer)[0],
          start = updateWorkInProgressHook().memoizedState;
      return [isPending, start];
    },
    useMutableSource: updateMutableSource,
    useOpaqueIdentifier: function useOpaqueIdentifier() {
      return updateReducer(basicStateReducer)[0];
    },
    unstable_isNewReconciler: false
  },
      HooksDispatcherOnRerender = {
    readContext: readContext,
    useCallback: updateCallback,
    useContext: readContext,
    useEffect: updateEffect,
    useImperativeHandle: updateImperativeHandle,
    useLayoutEffect: updateLayoutEffect,
    useMemo: updateMemo,
    useReducer: rerenderReducer,
    useRef: updateRef,
    useState: function useState() {
      return rerenderReducer(basicStateReducer);
    },
    useDebugValue: mountDebugValue,
    useDeferredValue: function useDeferredValue(value) {
      var _rerenderState = rerenderReducer(basicStateReducer),
          prevValue = _rerenderState[0],
          setValue = _rerenderState[1];

      updateEffect(function () {
        var prevTransition = ReactCurrentBatchConfig$1.transition;
        ReactCurrentBatchConfig$1.transition = 1;

        try {
          setValue(value);
        } finally {
          ReactCurrentBatchConfig$1.transition = prevTransition;
        }
      }, [value]);
      return prevValue;
    },
    useTransition: function useTransition() {
      var isPending = rerenderReducer(basicStateReducer)[0],
          start = updateWorkInProgressHook().memoizedState;
      return [isPending, start];
    },
    useMutableSource: updateMutableSource,
    useOpaqueIdentifier: function useOpaqueIdentifier() {
      return rerenderReducer(basicStateReducer)[0];
    },
    unstable_isNewReconciler: false
  };

  function createCapturedValue(value, source) {
    try {
      var info = "",
          node = source;

      do {
        info += describeFiber(node), node = node.return;
      } while (node);

      var JSCompiler_inline_result = info;
    } catch (x) {
      JSCompiler_inline_result = "\nError generating stack: " + x.message + "\n" + x.stack;
    }

    return {
      value: value,
      source: source,
      stack: JSCompiler_inline_result
    };
  }

  if ("function" !== typeof _$$_REQUIRE(_dependencyMap[3]).ReactFiberErrorDialog.showErrorDialog) throw Error("Expected ReactFiberErrorDialog.showErrorDialog to be a function.");

  function logCapturedError(boundary, errorInfo) {
    try {
      false !== _$$_REQUIRE(_dependencyMap[3]).ReactFiberErrorDialog.showErrorDialog({
        componentStack: null !== errorInfo.stack ? errorInfo.stack : "",
        error: errorInfo.value,
        errorBoundary: null !== boundary && 1 === boundary.tag ? boundary.stateNode : null
      }) && console.error(errorInfo.value);
    } catch (e) {
      setTimeout(function () {
        throw e;
      });
    }
  }

  var PossiblyWeakMap = "function" === typeof WeakMap ? WeakMap : Map;

  function createRootErrorUpdate(fiber, errorInfo, lane) {
    lane = createUpdate(-1, lane);
    lane.tag = 3;
    lane.payload = {
      element: null
    };
    var error = errorInfo.value;

    lane.callback = function () {
      hasUncaughtError || (hasUncaughtError = true, firstUncaughtError = error);
      logCapturedError(fiber, errorInfo);
    };

    return lane;
  }

  function createClassErrorUpdate(fiber, errorInfo, lane) {
    lane = createUpdate(-1, lane);
    lane.tag = 3;
    var getDerivedStateFromError = fiber.type.getDerivedStateFromError;

    if ("function" === typeof getDerivedStateFromError) {
      var error = errorInfo.value;

      lane.payload = function () {
        logCapturedError(fiber, errorInfo);
        return getDerivedStateFromError(error);
      };
    }

    var inst = fiber.stateNode;
    null !== inst && "function" === typeof inst.componentDidCatch && (lane.callback = function () {
      "function" !== typeof getDerivedStateFromError && (null === legacyErrorBoundariesThatAlreadyFailed ? legacyErrorBoundariesThatAlreadyFailed = new Set([this]) : legacyErrorBoundariesThatAlreadyFailed.add(this), logCapturedError(fiber, errorInfo));
      var stack = errorInfo.stack;
      this.componentDidCatch(errorInfo.value, {
        componentStack: null !== stack ? stack : ""
      });
    });
    return lane;
  }

  var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner,
      didReceiveUpdate = false;

  function reconcileChildren(current, workInProgress, nextChildren, renderLanes) {
    workInProgress.child = null === current ? mountChildFibers(workInProgress, null, nextChildren, renderLanes) : reconcileChildFibers(workInProgress, current.child, nextChildren, renderLanes);
  }

  function updateForwardRef(current, workInProgress, Component, nextProps, renderLanes) {
    Component = Component.render;
    var ref = workInProgress.ref;
    prepareToReadContext(workInProgress, renderLanes);
    nextProps = renderWithHooks(current, workInProgress, Component, nextProps, ref, renderLanes);
    if (null !== current && !didReceiveUpdate) return workInProgress.updateQueue = current.updateQueue, workInProgress.flags &= -1029, current.lanes &= ~renderLanes, bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
    workInProgress.flags |= 1;
    reconcileChildren(current, workInProgress, nextProps, renderLanes);
    return workInProgress.child;
  }

  function updateMemoComponent(current, workInProgress, Component, nextProps, updateLanes, renderLanes) {
    if (null === current) {
      var type = Component.type;
      if ("function" === typeof type && !shouldConstruct(type) && undefined === type.defaultProps && null === Component.compare && undefined === Component.defaultProps) return workInProgress.tag = 15, workInProgress.type = type, updateSimpleMemoComponent(current, workInProgress, type, nextProps, updateLanes, renderLanes);
      current = createFiberFromTypeAndProps(Component.type, null, nextProps, workInProgress, workInProgress.mode, renderLanes);
      current.ref = workInProgress.ref;
      current.return = workInProgress;
      return workInProgress.child = current;
    }

    type = current.child;
    if (0 === (updateLanes & renderLanes) && (updateLanes = type.memoizedProps, Component = Component.compare, Component = null !== Component ? Component : shallowEqual, Component(updateLanes, nextProps) && current.ref === workInProgress.ref)) return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
    workInProgress.flags |= 1;
    current = createWorkInProgress(type, nextProps);
    current.ref = workInProgress.ref;
    current.return = workInProgress;
    return workInProgress.child = current;
  }

  function updateSimpleMemoComponent(current, workInProgress, Component, nextProps, updateLanes, renderLanes) {
    if (null !== current && shallowEqual(current.memoizedProps, nextProps) && current.ref === workInProgress.ref) {
      didReceiveUpdate = false;
      if (0 === (renderLanes & updateLanes)) return workInProgress.lanes = current.lanes, bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
      0 !== (current.flags & 32768) && (didReceiveUpdate = true);
    }

    return updateFunctionComponent(current, workInProgress, Component, nextProps, renderLanes);
  }

  function updateOffscreenComponent(current, workInProgress, renderLanes) {
    var nextProps = workInProgress.pendingProps,
        nextChildren = nextProps.children,
        prevState = null !== current ? current.memoizedState : null;
    if ("hidden" === nextProps.mode || "unstable-defer-without-hiding" === nextProps.mode) {
      if (0 === (workInProgress.mode & 1)) workInProgress.memoizedState = {
        baseLanes: 0,
        cachePool: null
      }, push(subtreeRenderLanesCursor, subtreeRenderLanes), subtreeRenderLanes |= renderLanes;else {
        if (0 === (renderLanes & 1073741824)) return current = null !== prevState ? prevState.baseLanes | renderLanes : renderLanes, workInProgress.lanes = workInProgress.childLanes = 1073741824, workInProgress.memoizedState = {
          baseLanes: current,
          cachePool: null
        }, workInProgress.updateQueue = null, push(subtreeRenderLanesCursor, subtreeRenderLanes), subtreeRenderLanes |= current, null;
        workInProgress.memoizedState = {
          baseLanes: 0,
          cachePool: null
        };
        nextProps = null !== prevState ? prevState.baseLanes : renderLanes;
        push(subtreeRenderLanesCursor, subtreeRenderLanes);
        subtreeRenderLanes |= nextProps;
      }
    } else null !== prevState ? (nextProps = prevState.baseLanes | renderLanes, workInProgress.memoizedState = null) : nextProps = renderLanes, push(subtreeRenderLanesCursor, subtreeRenderLanes), subtreeRenderLanes |= nextProps;
    reconcileChildren(current, workInProgress, nextChildren, renderLanes);
    return workInProgress.child;
  }

  function markRef(current, workInProgress) {
    var ref = workInProgress.ref;
    if (null === current && null !== ref || null !== current && current.ref !== ref) workInProgress.flags |= 256;
  }

  function updateFunctionComponent(current, workInProgress, Component, nextProps, renderLanes) {
    var context = isContextProvider(Component) ? previousContext : contextStackCursor.current;
    context = getMaskedContext(workInProgress, context);
    prepareToReadContext(workInProgress, renderLanes);
    Component = renderWithHooks(current, workInProgress, Component, nextProps, context, renderLanes);
    if (null !== current && !didReceiveUpdate) return workInProgress.updateQueue = current.updateQueue, workInProgress.flags &= -1029, current.lanes &= ~renderLanes, bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
    workInProgress.flags |= 1;
    reconcileChildren(current, workInProgress, Component, renderLanes);
    return workInProgress.child;
  }

  function updateClassComponent(current, workInProgress, Component, nextProps, renderLanes) {
    if (isContextProvider(Component)) {
      var hasContext = true;
      pushContextProvider(workInProgress);
    } else hasContext = false;

    prepareToReadContext(workInProgress, renderLanes);
    if (null === workInProgress.stateNode) null !== current && (current.alternate = null, workInProgress.alternate = null, workInProgress.flags |= 2), constructClassInstance(workInProgress, Component, nextProps), mountClassInstance(workInProgress, Component, nextProps, renderLanes), nextProps = true;else if (null === current) {
      var instance = workInProgress.stateNode,
          oldProps = workInProgress.memoizedProps;
      instance.props = oldProps;
      var oldContext = instance.context,
          contextType = Component.contextType;
      "object" === typeof contextType && null !== contextType ? contextType = readContext(contextType) : (contextType = isContextProvider(Component) ? previousContext : contextStackCursor.current, contextType = getMaskedContext(workInProgress, contextType));
      var getDerivedStateFromProps = Component.getDerivedStateFromProps,
          hasNewLifecycles = "function" === typeof getDerivedStateFromProps || "function" === typeof instance.getSnapshotBeforeUpdate;
      hasNewLifecycles || "function" !== typeof instance.UNSAFE_componentWillReceiveProps && "function" !== typeof instance.componentWillReceiveProps || (oldProps !== nextProps || oldContext !== contextType) && callComponentWillReceiveProps(workInProgress, instance, nextProps, contextType);
      hasForceUpdate = false;
      var oldState = workInProgress.memoizedState;
      instance.state = oldState;
      processUpdateQueue(workInProgress, nextProps, instance, renderLanes);
      oldContext = workInProgress.memoizedState;
      oldProps !== nextProps || oldState !== oldContext || didPerformWorkStackCursor.current || hasForceUpdate ? ("function" === typeof getDerivedStateFromProps && (applyDerivedStateFromProps(workInProgress, Component, getDerivedStateFromProps, nextProps), oldContext = workInProgress.memoizedState), (oldProps = hasForceUpdate || checkShouldComponentUpdate(workInProgress, Component, oldProps, nextProps, oldState, oldContext, contextType)) ? (hasNewLifecycles || "function" !== typeof instance.UNSAFE_componentWillMount && "function" !== typeof instance.componentWillMount || ("function" === typeof instance.componentWillMount && instance.componentWillMount(), "function" === typeof instance.UNSAFE_componentWillMount && instance.UNSAFE_componentWillMount()), "function" === typeof instance.componentDidMount && (workInProgress.flags |= 4)) : ("function" === typeof instance.componentDidMount && (workInProgress.flags |= 4), workInProgress.memoizedProps = nextProps, workInProgress.memoizedState = oldContext), instance.props = nextProps, instance.state = oldContext, instance.context = contextType, nextProps = oldProps) : ("function" === typeof instance.componentDidMount && (workInProgress.flags |= 4), nextProps = false);
    } else {
      instance = workInProgress.stateNode;
      cloneUpdateQueue(current, workInProgress);
      oldProps = workInProgress.memoizedProps;
      contextType = workInProgress.type === workInProgress.elementType ? oldProps : resolveDefaultProps(workInProgress.type, oldProps);
      instance.props = contextType;
      hasNewLifecycles = workInProgress.pendingProps;
      oldState = instance.context;
      oldContext = Component.contextType;
      "object" === typeof oldContext && null !== oldContext ? oldContext = readContext(oldContext) : (oldContext = isContextProvider(Component) ? previousContext : contextStackCursor.current, oldContext = getMaskedContext(workInProgress, oldContext));
      var getDerivedStateFromProps$jscomp$0 = Component.getDerivedStateFromProps;
      (getDerivedStateFromProps = "function" === typeof getDerivedStateFromProps$jscomp$0 || "function" === typeof instance.getSnapshotBeforeUpdate) || "function" !== typeof instance.UNSAFE_componentWillReceiveProps && "function" !== typeof instance.componentWillReceiveProps || (oldProps !== hasNewLifecycles || oldState !== oldContext) && callComponentWillReceiveProps(workInProgress, instance, nextProps, oldContext);
      hasForceUpdate = false;
      oldState = workInProgress.memoizedState;
      instance.state = oldState;
      processUpdateQueue(workInProgress, nextProps, instance, renderLanes);
      var newState = workInProgress.memoizedState;
      oldProps !== hasNewLifecycles || oldState !== newState || didPerformWorkStackCursor.current || hasForceUpdate ? ("function" === typeof getDerivedStateFromProps$jscomp$0 && (applyDerivedStateFromProps(workInProgress, Component, getDerivedStateFromProps$jscomp$0, nextProps), newState = workInProgress.memoizedState), (contextType = hasForceUpdate || checkShouldComponentUpdate(workInProgress, Component, contextType, nextProps, oldState, newState, oldContext) || false) ? (getDerivedStateFromProps || "function" !== typeof instance.UNSAFE_componentWillUpdate && "function" !== typeof instance.componentWillUpdate || ("function" === typeof instance.componentWillUpdate && instance.componentWillUpdate(nextProps, newState, oldContext), "function" === typeof instance.UNSAFE_componentWillUpdate && instance.UNSAFE_componentWillUpdate(nextProps, newState, oldContext)), "function" === typeof instance.componentDidUpdate && (workInProgress.flags |= 4), "function" === typeof instance.getSnapshotBeforeUpdate && (workInProgress.flags |= 512)) : ("function" !== typeof instance.componentDidUpdate || oldProps === current.memoizedProps && oldState === current.memoizedState || (workInProgress.flags |= 4), "function" !== typeof instance.getSnapshotBeforeUpdate || oldProps === current.memoizedProps && oldState === current.memoizedState || (workInProgress.flags |= 512), workInProgress.memoizedProps = nextProps, workInProgress.memoizedState = newState), instance.props = nextProps, instance.state = newState, instance.context = oldContext, nextProps = contextType) : ("function" !== typeof instance.componentDidUpdate || oldProps === current.memoizedProps && oldState === current.memoizedState || (workInProgress.flags |= 4), "function" !== typeof instance.getSnapshotBeforeUpdate || oldProps === current.memoizedProps && oldState === current.memoizedState || (workInProgress.flags |= 512), nextProps = false);
    }
    return finishClassComponent(current, workInProgress, Component, nextProps, hasContext, renderLanes);
  }

  function finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderLanes) {
    markRef(current, workInProgress);
    var didCaptureError = 0 !== (workInProgress.flags & 128);
    if (!shouldUpdate && !didCaptureError) return hasContext && invalidateContextProvider(workInProgress, Component, false), bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
    shouldUpdate = workInProgress.stateNode;
    ReactCurrentOwner$1.current = workInProgress;
    var nextChildren = didCaptureError && "function" !== typeof Component.getDerivedStateFromError ? null : shouldUpdate.render();
    workInProgress.flags |= 1;
    null !== current && didCaptureError ? (workInProgress.child = reconcileChildFibers(workInProgress, current.child, null, renderLanes), workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderLanes)) : reconcileChildren(current, workInProgress, nextChildren, renderLanes);
    workInProgress.memoizedState = shouldUpdate.state;
    hasContext && invalidateContextProvider(workInProgress, Component, true);
    return workInProgress.child;
  }

  function pushHostRootContext(workInProgress) {
    var root = workInProgress.stateNode;
    root.pendingContext ? pushTopLevelContextObject(workInProgress, root.pendingContext, root.pendingContext !== root.context) : root.context && pushTopLevelContextObject(workInProgress, root.context, false);
    pushHostContainer(workInProgress, root.containerInfo);
  }

  var SUSPENDED_MARKER = {
    dehydrated: null,
    retryLane: 0
  };

  function mountSuspenseOffscreenState(renderLanes) {
    return {
      baseLanes: renderLanes,
      cachePool: null
    };
  }

  function updateSuspenseComponent(current, workInProgress, renderLanes) {
    var nextProps = workInProgress.pendingProps,
        suspenseContext = suspenseStackCursor.current,
        showFallback = false,
        JSCompiler_temp;
    (JSCompiler_temp = 0 !== (workInProgress.flags & 128)) || (JSCompiler_temp = null !== current && null === current.memoizedState ? false : 0 !== (suspenseContext & 2));
    JSCompiler_temp ? (showFallback = true, workInProgress.flags &= -129) : null !== current && null === current.memoizedState || undefined === nextProps.fallback || true === nextProps.unstable_avoidThisFallback || (suspenseContext |= 1);
    push(suspenseStackCursor, suspenseContext & 1);

    if (null === current) {
      current = nextProps.children;
      suspenseContext = nextProps.fallback;
      if (showFallback) return current = mountSuspenseFallbackChildren(workInProgress, current, suspenseContext, renderLanes), workInProgress.child.memoizedState = mountSuspenseOffscreenState(renderLanes), workInProgress.memoizedState = SUSPENDED_MARKER, current;
      if ("number" === typeof nextProps.unstable_expectedLoadTime) return current = mountSuspenseFallbackChildren(workInProgress, current, suspenseContext, renderLanes), workInProgress.child.memoizedState = mountSuspenseOffscreenState(renderLanes), workInProgress.memoizedState = SUSPENDED_MARKER, workInProgress.lanes = 4194304, current;
      renderLanes = createFiberFromOffscreen({
        mode: "visible",
        children: current
      }, workInProgress.mode, renderLanes, null);
      renderLanes.return = workInProgress;
      return workInProgress.child = renderLanes;
    }

    if (null !== current.memoizedState) {
      if (showFallback) return nextProps = updateSuspenseFallbackChildren(current, workInProgress, nextProps.children, nextProps.fallback, renderLanes), showFallback = workInProgress.child, suspenseContext = current.child.memoizedState, showFallback.memoizedState = null === suspenseContext ? mountSuspenseOffscreenState(renderLanes) : {
        baseLanes: suspenseContext.baseLanes | renderLanes,
        cachePool: null
      }, showFallback.childLanes = current.childLanes & ~renderLanes, workInProgress.memoizedState = SUSPENDED_MARKER, nextProps;
      renderLanes = updateSuspensePrimaryChildren(current, workInProgress, nextProps.children, renderLanes);
      workInProgress.memoizedState = null;
      return renderLanes;
    }

    if (showFallback) return nextProps = updateSuspenseFallbackChildren(current, workInProgress, nextProps.children, nextProps.fallback, renderLanes), showFallback = workInProgress.child, suspenseContext = current.child.memoizedState, showFallback.memoizedState = null === suspenseContext ? mountSuspenseOffscreenState(renderLanes) : {
      baseLanes: suspenseContext.baseLanes | renderLanes,
      cachePool: null
    }, showFallback.childLanes = current.childLanes & ~renderLanes, workInProgress.memoizedState = SUSPENDED_MARKER, nextProps;
    renderLanes = updateSuspensePrimaryChildren(current, workInProgress, nextProps.children, renderLanes);
    workInProgress.memoizedState = null;
    return renderLanes;
  }

  function mountSuspenseFallbackChildren(workInProgress, primaryChildren, fallbackChildren, renderLanes) {
    var mode = workInProgress.mode,
        progressedPrimaryFragment = workInProgress.child;
    primaryChildren = {
      mode: "hidden",
      children: primaryChildren
    };
    0 === (mode & 1) && null !== progressedPrimaryFragment ? (progressedPrimaryFragment.childLanes = 0, progressedPrimaryFragment.pendingProps = primaryChildren) : progressedPrimaryFragment = createFiberFromOffscreen(primaryChildren, mode, 0, null);
    fallbackChildren = createFiberFromFragment(fallbackChildren, mode, renderLanes, null);
    progressedPrimaryFragment.return = workInProgress;
    fallbackChildren.return = workInProgress;
    progressedPrimaryFragment.sibling = fallbackChildren;
    workInProgress.child = progressedPrimaryFragment;
    return fallbackChildren;
  }

  function updateSuspensePrimaryChildren(current, workInProgress, primaryChildren, renderLanes) {
    var currentPrimaryChildFragment = current.child;
    current = currentPrimaryChildFragment.sibling;
    primaryChildren = createWorkInProgress(currentPrimaryChildFragment, {
      mode: "visible",
      children: primaryChildren
    });
    0 === (workInProgress.mode & 1) && (primaryChildren.lanes = renderLanes);
    primaryChildren.return = workInProgress;
    primaryChildren.sibling = null;
    null !== current && (renderLanes = workInProgress.deletions, null === renderLanes ? (workInProgress.deletions = [current], workInProgress.flags |= 16) : renderLanes.push(current));
    return workInProgress.child = primaryChildren;
  }

  function updateSuspenseFallbackChildren(current, workInProgress, primaryChildren, fallbackChildren, renderLanes) {
    var mode = workInProgress.mode;
    current = current.child;
    var currentFallbackChildFragment = current.sibling,
        primaryChildProps = {
      mode: "hidden",
      children: primaryChildren
    };
    0 === (mode & 1) && workInProgress.child !== current ? (primaryChildren = workInProgress.child, primaryChildren.childLanes = 0, primaryChildren.pendingProps = primaryChildProps, workInProgress.deletions = null) : (primaryChildren = createWorkInProgress(current, primaryChildProps), primaryChildren.subtreeFlags = current.subtreeFlags & 1835008);
    null !== currentFallbackChildFragment ? fallbackChildren = createWorkInProgress(currentFallbackChildFragment, fallbackChildren) : (fallbackChildren = createFiberFromFragment(fallbackChildren, mode, renderLanes, null), fallbackChildren.flags |= 2);
    fallbackChildren.return = workInProgress;
    primaryChildren.return = workInProgress;
    primaryChildren.sibling = fallbackChildren;
    workInProgress.child = primaryChildren;
    return fallbackChildren;
  }

  function scheduleWorkOnFiber(fiber, renderLanes) {
    fiber.lanes |= renderLanes;
    var alternate = fiber.alternate;
    null !== alternate && (alternate.lanes |= renderLanes);
    scheduleWorkOnParentPath(fiber.return, renderLanes);
  }

  function initSuspenseListRenderState(workInProgress, isBackwards, tail, lastContentRow, tailMode) {
    var renderState = workInProgress.memoizedState;
    null === renderState ? workInProgress.memoizedState = {
      isBackwards: isBackwards,
      rendering: null,
      renderingStartTime: 0,
      last: lastContentRow,
      tail: tail,
      tailMode: tailMode
    } : (renderState.isBackwards = isBackwards, renderState.rendering = null, renderState.renderingStartTime = 0, renderState.last = lastContentRow, renderState.tail = tail, renderState.tailMode = tailMode);
  }

  function updateSuspenseListComponent(current, workInProgress, renderLanes) {
    var nextProps = workInProgress.pendingProps,
        revealOrder = nextProps.revealOrder,
        tailMode = nextProps.tail;
    reconcileChildren(current, workInProgress, nextProps.children, renderLanes);
    nextProps = suspenseStackCursor.current;
    if (0 !== (nextProps & 2)) nextProps = nextProps & 1 | 2, workInProgress.flags |= 128;else {
      if (null !== current && 0 !== (current.flags & 128)) a: for (current = workInProgress.child; null !== current;) {
        if (13 === current.tag) null !== current.memoizedState && scheduleWorkOnFiber(current, renderLanes);else if (19 === current.tag) scheduleWorkOnFiber(current, renderLanes);else if (null !== current.child) {
          current.child.return = current;
          current = current.child;
          continue;
        }
        if (current === workInProgress) break a;

        for (; null === current.sibling;) {
          if (null === current.return || current.return === workInProgress) break a;
          current = current.return;
        }

        current.sibling.return = current.return;
        current = current.sibling;
      }
      nextProps &= 1;
    }
    push(suspenseStackCursor, nextProps);
    if (0 === (workInProgress.mode & 1)) workInProgress.memoizedState = null;else switch (revealOrder) {
      case "forwards":
        renderLanes = workInProgress.child;

        for (revealOrder = null; null !== renderLanes;) {
          current = renderLanes.alternate, null !== current && null === findFirstSuspended(current) && (revealOrder = renderLanes), renderLanes = renderLanes.sibling;
        }

        renderLanes = revealOrder;
        null === renderLanes ? (revealOrder = workInProgress.child, workInProgress.child = null) : (revealOrder = renderLanes.sibling, renderLanes.sibling = null);
        initSuspenseListRenderState(workInProgress, false, revealOrder, renderLanes, tailMode);
        break;

      case "backwards":
        renderLanes = null;
        revealOrder = workInProgress.child;

        for (workInProgress.child = null; null !== revealOrder;) {
          current = revealOrder.alternate;

          if (null !== current && null === findFirstSuspended(current)) {
            workInProgress.child = revealOrder;
            break;
          }

          current = revealOrder.sibling;
          revealOrder.sibling = renderLanes;
          renderLanes = revealOrder;
          revealOrder = current;
        }

        initSuspenseListRenderState(workInProgress, true, renderLanes, null, tailMode);
        break;

      case "together":
        initSuspenseListRenderState(workInProgress, false, null, null, undefined);
        break;

      default:
        workInProgress.memoizedState = null;
    }
    return workInProgress.child;
  }

  function bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {
    null !== current && (workInProgress.dependencies = current.dependencies);
    workInProgressRootSkippedLanes |= workInProgress.lanes;
    if (0 === (renderLanes & workInProgress.childLanes)) return null;
    if (null !== current && workInProgress.child !== current.child) throw Error("Resuming work not yet implemented.");

    if (null !== workInProgress.child) {
      current = workInProgress.child;
      renderLanes = createWorkInProgress(current, current.pendingProps);
      workInProgress.child = renderLanes;

      for (renderLanes.return = workInProgress; null !== current.sibling;) {
        current = current.sibling, renderLanes = renderLanes.sibling = createWorkInProgress(current, current.pendingProps), renderLanes.return = workInProgress;
      }

      renderLanes.sibling = null;
    }

    return workInProgress.child;
  }

  function hadNoMutationsEffects(current, completedWork) {
    if (null !== current && current.child === completedWork.child) return true;
    if (0 !== (completedWork.flags & 16)) return false;

    for (current = completedWork.child; null !== current;) {
      if (0 !== (current.flags & 6454) || 0 !== (current.subtreeFlags & 6454)) return false;
      current = current.sibling;
    }

    return true;
  }

  var _appendAllChildren, updateHostContainer, updateHostComponent$1, updateHostText$1;

  _appendAllChildren = function appendAllChildren(parent, workInProgress, needsVisibilityToggle, isHidden) {
    for (var node = workInProgress.child; null !== node;) {
      if (5 === node.tag) {
        var instance = node.stateNode;
        needsVisibilityToggle && isHidden && (instance = cloneHiddenInstance(instance));
        appendChildNode(parent.node, instance.node);
      } else if (6 === node.tag) {
        instance = node.stateNode;
        if (needsVisibilityToggle && isHidden) throw Error("Not yet implemented.");
        appendChildNode(parent.node, instance.node);
      } else if (4 !== node.tag) {
        if (13 === node.tag && 0 !== (node.flags & 4) && (instance = null !== node.memoizedState)) {
          var primaryChildParent = node.child;

          if (null !== primaryChildParent && (null !== primaryChildParent.child && (primaryChildParent.child.return = primaryChildParent, _appendAllChildren(parent, primaryChildParent, true, instance)), instance = primaryChildParent.sibling, null !== instance)) {
            instance.return = node;
            node = instance;
            continue;
          }
        }

        if (null !== node.child) {
          node.child.return = node;
          node = node.child;
          continue;
        }
      }

      if (node === workInProgress) break;

      for (; null === node.sibling;) {
        if (null === node.return || node.return === workInProgress) return;
        node = node.return;
      }

      node.sibling.return = node.return;
      node = node.sibling;
    }
  };

  function appendAllChildrenToContainer(containerChildSet, workInProgress, needsVisibilityToggle, isHidden) {
    for (var node = workInProgress.child; null !== node;) {
      if (5 === node.tag) {
        var instance = node.stateNode;
        needsVisibilityToggle && isHidden && (instance = cloneHiddenInstance(instance));
        appendChildNodeToSet(containerChildSet, instance.node);
      } else if (6 === node.tag) {
        instance = node.stateNode;
        if (needsVisibilityToggle && isHidden) throw Error("Not yet implemented.");
        appendChildNodeToSet(containerChildSet, instance.node);
      } else if (4 !== node.tag) {
        if (13 === node.tag && 0 !== (node.flags & 4) && (instance = null !== node.memoizedState)) {
          var primaryChildParent = node.child;

          if (null !== primaryChildParent && (null !== primaryChildParent.child && (primaryChildParent.child.return = primaryChildParent, appendAllChildrenToContainer(containerChildSet, primaryChildParent, true, instance)), instance = primaryChildParent.sibling, null !== instance)) {
            instance.return = node;
            node = instance;
            continue;
          }
        }

        if (null !== node.child) {
          node.child.return = node;
          node = node.child;
          continue;
        }
      }

      if (node === workInProgress) break;

      for (; null === node.sibling;) {
        if (null === node.return || node.return === workInProgress) return;
        node = node.return;
      }

      node.sibling.return = node.return;
      node = node.sibling;
    }
  }

  updateHostContainer = function updateHostContainer(current, workInProgress) {
    var portalOrRoot = workInProgress.stateNode;

    if (!hadNoMutationsEffects(current, workInProgress)) {
      current = portalOrRoot.containerInfo;
      var newChildSet = createChildNodeSet(current);
      appendAllChildrenToContainer(newChildSet, workInProgress, false, false);
      portalOrRoot.pendingChildren = newChildSet;
      workInProgress.flags |= 4;
      completeRoot(current, newChildSet);
    }
  };

  updateHostComponent$1 = function updateHostComponent$1(current, workInProgress, type, newProps) {
    type = current.stateNode;
    var oldProps = current.memoizedProps;
    if ((current = hadNoMutationsEffects(current, workInProgress)) && oldProps === newProps) workInProgress.stateNode = type;else {
      var recyclableInstance = workInProgress.stateNode;
      requiredContext(contextStackCursor$1.current);
      var updatePayload = null;
      oldProps !== newProps && (oldProps = diffProperties(null, oldProps, newProps, recyclableInstance.canonical.viewConfig.validAttributes), recyclableInstance.canonical.currentProps = newProps, updatePayload = oldProps);
      current && null === updatePayload ? workInProgress.stateNode = type : (newProps = updatePayload, oldProps = type.node, type = {
        node: current ? null !== newProps ? cloneNodeWithNewProps(oldProps, newProps) : cloneNode(oldProps) : null !== newProps ? cloneNodeWithNewChildrenAndProps(oldProps, newProps) : cloneNodeWithNewChildren(oldProps),
        canonical: type.canonical
      }, workInProgress.stateNode = type, current ? workInProgress.flags |= 4 : _appendAllChildren(type, workInProgress, false, false));
    }
  };

  updateHostText$1 = function updateHostText$1(current, workInProgress, oldText, newText) {
    oldText !== newText ? (current = requiredContext(rootInstanceStackCursor.current), oldText = requiredContext(contextStackCursor$1.current), workInProgress.stateNode = createTextInstance(newText, current, oldText, workInProgress), workInProgress.flags |= 4) : workInProgress.stateNode = current.stateNode;
  };

  function cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {
    switch (renderState.tailMode) {
      case "hidden":
        hasRenderedATailFallback = renderState.tail;

        for (var lastTailNode = null; null !== hasRenderedATailFallback;) {
          null !== hasRenderedATailFallback.alternate && (lastTailNode = hasRenderedATailFallback), hasRenderedATailFallback = hasRenderedATailFallback.sibling;
        }

        null === lastTailNode ? renderState.tail = null : lastTailNode.sibling = null;
        break;

      case "collapsed":
        lastTailNode = renderState.tail;

        for (var lastTailNode$69 = null; null !== lastTailNode;) {
          null !== lastTailNode.alternate && (lastTailNode$69 = lastTailNode), lastTailNode = lastTailNode.sibling;
        }

        null === lastTailNode$69 ? hasRenderedATailFallback || null === renderState.tail ? renderState.tail = null : renderState.tail.sibling = null : lastTailNode$69.sibling = null;
    }
  }

  function bubbleProperties(completedWork) {
    var didBailout = null !== completedWork.alternate && completedWork.alternate.child === completedWork.child,
        newChildLanes = 0,
        subtreeFlags = 0;
    if (didBailout) for (var child$70 = completedWork.child; null !== child$70;) {
      newChildLanes |= child$70.lanes | child$70.childLanes, subtreeFlags |= child$70.subtreeFlags & 1835008, subtreeFlags |= child$70.flags & 1835008, child$70.return = completedWork, child$70 = child$70.sibling;
    } else for (child$70 = completedWork.child; null !== child$70;) {
      newChildLanes |= child$70.lanes | child$70.childLanes, subtreeFlags |= child$70.subtreeFlags, subtreeFlags |= child$70.flags, child$70.return = completedWork, child$70 = child$70.sibling;
    }
    completedWork.subtreeFlags |= subtreeFlags;
    completedWork.childLanes = newChildLanes;
    return didBailout;
  }

  function completeWork(current, workInProgress, renderLanes) {
    var newProps = workInProgress.pendingProps;

    switch (workInProgress.tag) {
      case 2:
      case 16:
      case 15:
      case 0:
      case 11:
      case 7:
      case 8:
      case 12:
      case 9:
      case 14:
        return bubbleProperties(workInProgress), null;

      case 1:
        return isContextProvider(workInProgress.type) && popContext(), bubbleProperties(workInProgress), null;

      case 3:
        return newProps = workInProgress.stateNode, popHostContainer(), pop(didPerformWorkStackCursor), pop(contextStackCursor), resetWorkInProgressVersions(), newProps.pendingContext && (newProps.context = newProps.pendingContext, newProps.pendingContext = null), null !== current && null !== current.child || newProps.hydrate || (workInProgress.flags |= 512), updateHostContainer(current, workInProgress), bubbleProperties(workInProgress), null;

      case 5:
        popHostContext(workInProgress);
        renderLanes = requiredContext(rootInstanceStackCursor.current);
        var type = workInProgress.type;
        if (null !== current && null != workInProgress.stateNode) updateHostComponent$1(current, workInProgress, type, newProps, renderLanes), current.ref !== workInProgress.ref && (workInProgress.flags |= 256);else {
          if (!newProps) {
            if (null === workInProgress.stateNode) throw Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.");
            bubbleProperties(workInProgress);
            return null;
          }

          requiredContext(contextStackCursor$1.current);
          current = nextReactTag;
          nextReactTag += 2;
          type = getViewConfigForType(type);
          var updatePayload = diffProperties(null, emptyObject, newProps, type.validAttributes);
          renderLanes = createNode(current, type.uiViewClassName, renderLanes, updatePayload, workInProgress);
          current = new ReactFabricHostComponent(current, type, newProps, workInProgress);
          current = {
            node: renderLanes,
            canonical: current
          };

          _appendAllChildren(current, workInProgress, false, false);

          workInProgress.stateNode = current;
          null !== workInProgress.ref && (workInProgress.flags |= 256);
        }
        bubbleProperties(workInProgress);
        return null;

      case 6:
        if (current && null != workInProgress.stateNode) updateHostText$1(current, workInProgress, current.memoizedProps, newProps);else {
          if ("string" !== typeof newProps && null === workInProgress.stateNode) throw Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.");
          current = requiredContext(rootInstanceStackCursor.current);
          renderLanes = requiredContext(contextStackCursor$1.current);
          workInProgress.stateNode = createTextInstance(newProps, current, renderLanes, workInProgress);
        }
        bubbleProperties(workInProgress);
        return null;

      case 13:
        pop(suspenseStackCursor);
        newProps = workInProgress.memoizedState;
        if (0 !== (workInProgress.flags & 128)) return workInProgress.lanes = renderLanes, workInProgress;
        newProps = null !== newProps;
        renderLanes = false;
        null !== current && (renderLanes = null !== current.memoizedState);
        if (newProps && !renderLanes && 0 !== (workInProgress.mode & 1)) if (null === current && true !== workInProgress.memoizedProps.unstable_avoidThisFallback || 0 !== (suspenseStackCursor.current & 1)) 0 === workInProgressRootExitStatus && (workInProgressRootExitStatus = 3);else {
          if (0 === workInProgressRootExitStatus || 3 === workInProgressRootExitStatus) workInProgressRootExitStatus = 4;
          null === workInProgressRoot || 0 === (workInProgressRootSkippedLanes & 268435455) && 0 === (workInProgressRootUpdatedLanes & 268435455) || markRootSuspended$1(workInProgressRoot, workInProgressRootRenderLanes);
        }
        newProps && (workInProgress.flags |= 4);
        bubbleProperties(workInProgress);
        return null;

      case 4:
        return popHostContainer(), updateHostContainer(current, workInProgress), bubbleProperties(workInProgress), null;

      case 10:
        return popProvider(workInProgress.type._context), bubbleProperties(workInProgress), null;

      case 17:
        return isContextProvider(workInProgress.type) && popContext(), bubbleProperties(workInProgress), null;

      case 19:
        pop(suspenseStackCursor);
        type = workInProgress.memoizedState;
        if (null === type) return bubbleProperties(workInProgress), null;
        newProps = 0 !== (workInProgress.flags & 128);
        updatePayload = type.rendering;
        if (null === updatePayload) {
          if (newProps) cutOffTailIfNeeded(type, false);else {
            if (0 !== workInProgressRootExitStatus || null !== current && 0 !== (current.flags & 128)) for (current = workInProgress.child; null !== current;) {
              updatePayload = findFirstSuspended(current);

              if (null !== updatePayload) {
                workInProgress.flags |= 128;
                cutOffTailIfNeeded(type, false);
                current = updatePayload.updateQueue;
                null !== current && (workInProgress.updateQueue = current, workInProgress.flags |= 4);
                workInProgress.subtreeFlags = 0;
                current = renderLanes;

                for (newProps = workInProgress.child; null !== newProps;) {
                  renderLanes = newProps, type = current, renderLanes.flags &= 1835010, updatePayload = renderLanes.alternate, null === updatePayload ? (renderLanes.childLanes = 0, renderLanes.lanes = type, renderLanes.child = null, renderLanes.subtreeFlags = 0, renderLanes.memoizedProps = null, renderLanes.memoizedState = null, renderLanes.updateQueue = null, renderLanes.dependencies = null, renderLanes.stateNode = null) : (renderLanes.childLanes = updatePayload.childLanes, renderLanes.lanes = updatePayload.lanes, renderLanes.child = updatePayload.child, renderLanes.subtreeFlags = 0, renderLanes.deletions = null, renderLanes.memoizedProps = updatePayload.memoizedProps, renderLanes.memoizedState = updatePayload.memoizedState, renderLanes.updateQueue = updatePayload.updateQueue, renderLanes.type = updatePayload.type, type = updatePayload.dependencies, renderLanes.dependencies = null === type ? null : {
                    lanes: type.lanes,
                    firstContext: type.firstContext
                  }), newProps = newProps.sibling;
                }

                push(suspenseStackCursor, suspenseStackCursor.current & 1 | 2);
                return workInProgress.child;
              }

              current = current.sibling;
            }
            null !== type.tail && _$$_REQUIRE(_dependencyMap[4]).unstable_now() > workInProgressRootRenderTargetTime && (workInProgress.flags |= 128, newProps = true, cutOffTailIfNeeded(type, false), workInProgress.lanes = 4194304);
          }
        } else {
          if (!newProps) if (current = findFirstSuspended(updatePayload), null !== current) {
            if (workInProgress.flags |= 128, newProps = true, current = current.updateQueue, null !== current && (workInProgress.updateQueue = current, workInProgress.flags |= 4), cutOffTailIfNeeded(type, true), null === type.tail && "hidden" === type.tailMode && !updatePayload.alternate) return bubbleProperties(workInProgress), null;
          } else 2 * _$$_REQUIRE(_dependencyMap[4]).unstable_now() - type.renderingStartTime > workInProgressRootRenderTargetTime && 1073741824 !== renderLanes && (workInProgress.flags |= 128, newProps = true, cutOffTailIfNeeded(type, false), workInProgress.lanes = 4194304);
          type.isBackwards ? (updatePayload.sibling = workInProgress.child, workInProgress.child = updatePayload) : (current = type.last, null !== current ? current.sibling = updatePayload : workInProgress.child = updatePayload, type.last = updatePayload);
        }
        if (null !== type.tail) return workInProgress = type.tail, type.rendering = workInProgress, type.tail = workInProgress.sibling, type.renderingStartTime = _$$_REQUIRE(_dependencyMap[4]).unstable_now(), workInProgress.sibling = null, current = suspenseStackCursor.current, push(suspenseStackCursor, newProps ? current & 1 | 2 : current & 1), workInProgress;
        bubbleProperties(workInProgress);
        return null;

      case 22:
      case 23:
        return popRenderLanes(), renderLanes = null !== workInProgress.memoizedState, null !== current && null !== current.memoizedState !== renderLanes && "unstable-defer-without-hiding" !== newProps.mode && (workInProgress.flags |= 4), renderLanes && 0 === (subtreeRenderLanes & 1073741824) && 0 !== (workInProgress.mode & 1) || bubbleProperties(workInProgress), null;
    }

    throw Error("Unknown unit of work tag (" + workInProgress.tag + "). This error is likely caused by a bug in React. Please file an issue.");
  }

  function unwindWork(workInProgress) {
    switch (workInProgress.tag) {
      case 1:
        isContextProvider(workInProgress.type) && popContext();
        var flags = workInProgress.flags;
        return flags & 16384 ? (workInProgress.flags = flags & -16385 | 128, workInProgress) : null;

      case 3:
        popHostContainer();
        pop(didPerformWorkStackCursor);
        pop(contextStackCursor);
        resetWorkInProgressVersions();
        flags = workInProgress.flags;
        if (0 !== (flags & 128)) throw Error("The root failed to unmount after an error. This is likely a bug in React. Please file an issue.");
        workInProgress.flags = flags & -16385 | 128;
        return workInProgress;

      case 5:
        return popHostContext(workInProgress), null;

      case 13:
        return pop(suspenseStackCursor), flags = workInProgress.flags, flags & 16384 ? (workInProgress.flags = flags & -16385 | 128, workInProgress) : null;

      case 19:
        return pop(suspenseStackCursor), null;

      case 4:
        return popHostContainer(), null;

      case 10:
        return popProvider(workInProgress.type._context), null;

      case 22:
      case 23:
        return popRenderLanes(), null;

      case 24:
        return null;

      default:
        return null;
    }
  }

  var PossiblyWeakSet = "function" === typeof WeakSet ? WeakSet : Set,
      nextEffect = null;

  function safelyDetachRef(current, nearestMountedAncestor) {
    var ref = current.ref;
    if (null !== ref) if ("function" === typeof ref) try {
      ref(null);
    } catch (error) {
      captureCommitPhaseError(current, nearestMountedAncestor, error);
    } else ref.current = null;
  }

  var shouldFireAfterActiveInstanceBlur = false;

  function commitBeforeMutationEffects(root, firstChild) {
    for (nextEffect = firstChild; null !== nextEffect;) {
      if (root = nextEffect, firstChild = root.child, 0 !== (root.subtreeFlags & 516) && null !== firstChild) firstChild.return = root, nextEffect = firstChild;else for (; null !== nextEffect;) {
        root = nextEffect;

        try {
          var current = root.alternate;
          if (0 !== (root.flags & 512)) switch (root.tag) {
            case 0:
            case 11:
            case 15:
              break;

            case 1:
              if (null !== current) {
                var prevProps = current.memoizedProps,
                    prevState = current.memoizedState,
                    instance = root.stateNode,
                    snapshot = instance.getSnapshotBeforeUpdate(root.elementType === root.type ? prevProps : resolveDefaultProps(root.type, prevProps), prevState);
                instance.__reactInternalSnapshotBeforeUpdate = snapshot;
              }

              break;

            case 3:
              break;

            case 5:
            case 6:
            case 4:
            case 17:
              break;

            default:
              throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.");
          }
        } catch (error) {
          captureCommitPhaseError(root, root.return, error);
        }

        firstChild = root.sibling;

        if (null !== firstChild) {
          firstChild.return = root.return;
          nextEffect = firstChild;
          break;
        }

        nextEffect = root.return;
      }
    }

    current = shouldFireAfterActiveInstanceBlur;
    shouldFireAfterActiveInstanceBlur = false;
    return current;
  }

  function commitHookEffectListUnmount(flags, finishedWork, nearestMountedAncestor$jscomp$0) {
    var updateQueue = finishedWork.updateQueue;
    updateQueue = null !== updateQueue ? updateQueue.lastEffect : null;

    if (null !== updateQueue) {
      var effect = updateQueue = updateQueue.next;

      do {
        if ((effect.tag & flags) === flags) {
          var destroy = effect.destroy;
          effect.destroy = undefined;

          if (undefined !== destroy) {
            var current = finishedWork,
                nearestMountedAncestor = nearestMountedAncestor$jscomp$0;

            try {
              destroy();
            } catch (error) {
              captureCommitPhaseError(current, nearestMountedAncestor, error);
            }
          }
        }

        effect = effect.next;
      } while (effect !== updateQueue);
    }
  }

  function commitHookEffectListMount(tag, finishedWork) {
    finishedWork = finishedWork.updateQueue;
    finishedWork = null !== finishedWork ? finishedWork.lastEffect : null;

    if (null !== finishedWork) {
      var effect = finishedWork = finishedWork.next;

      do {
        if ((effect.tag & tag) === tag) {
          var create$82 = effect.create;
          effect.destroy = create$82();
        }

        effect = effect.next;
      } while (effect !== finishedWork);
    }
  }

  function detachFiberAfterEffects(fiber) {
    var alternate = fiber.alternate;
    null !== alternate && (fiber.alternate = null, detachFiberAfterEffects(alternate));
    fiber.child = null;
    fiber.deletions = null;
    fiber.sibling = null;
    fiber.stateNode = null;
    fiber.return = null;
    fiber.dependencies = null;
    fiber.memoizedProps = null;
    fiber.memoizedState = null;
    fiber.pendingProps = null;
    fiber.stateNode = null;
    fiber.updateQueue = null;
  }

  function commitWork(current, finishedWork) {
    switch (finishedWork.tag) {
      case 0:
      case 11:
      case 14:
      case 15:
        commitHookEffectListUnmount(3, finishedWork, finishedWork.return);
        return;

      case 12:
        return;

      case 13:
        null !== finishedWork.memoizedState && (globalMostRecentFallbackTime = _$$_REQUIRE(_dependencyMap[4]).unstable_now());
        attachSuspenseRetryListeners(finishedWork);
        return;

      case 19:
        attachSuspenseRetryListeners(finishedWork);
        return;

      case 22:
      case 23:
        return;
    }

    a: {
      switch (finishedWork.tag) {
        case 1:
        case 5:
        case 6:
          break a;

        case 3:
        case 4:
          break a;
      }

      throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.");
    }
  }

  function attachSuspenseRetryListeners(finishedWork) {
    var wakeables = finishedWork.updateQueue;

    if (null !== wakeables) {
      finishedWork.updateQueue = null;
      var retryCache = finishedWork.stateNode;
      null === retryCache && (retryCache = finishedWork.stateNode = new PossiblyWeakSet());
      wakeables.forEach(function (wakeable) {
        var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);
        retryCache.has(wakeable) || (retryCache.add(wakeable), wakeable.then(retry, retry));
      });
    }
  }

  function commitMutationEffects(root, firstChild) {
    for (nextEffect = firstChild; null !== nextEffect;) {
      root = nextEffect;
      firstChild = root.deletions;
      if (null !== firstChild) for (var i = 0; i < firstChild.length; i++) {
        var childToDelete = firstChild[i];

        try {
          a: for (var node = childToDelete;;) {
            var current = node;
            if (injectedHook && "function" === typeof injectedHook.onCommitFiberUnmount) try {
              injectedHook.onCommitFiberUnmount(rendererID, current);
            } catch (err) {}

            switch (current.tag) {
              case 0:
              case 11:
              case 14:
              case 15:
                var updateQueue = current.updateQueue;

                if (null !== updateQueue) {
                  var lastEffect = updateQueue.lastEffect;

                  if (null !== lastEffect) {
                    var firstEffect = lastEffect.next,
                        effect = firstEffect;

                    do {
                      var _effect = effect,
                          destroy = _effect.destroy,
                          tag = _effect.tag;

                      if (undefined !== destroy && 0 !== (tag & 2)) {
                        _effect = current;
                        var nearestMountedAncestor = root;

                        try {
                          destroy();
                        } catch (error) {
                          captureCommitPhaseError(_effect, nearestMountedAncestor, error);
                        }
                      }

                      effect = effect.next;
                    } while (effect !== firstEffect);
                  }
                }

                break;

              case 1:
                safelyDetachRef(current, root);
                var instance = current.stateNode;
                if ("function" === typeof instance.componentWillUnmount) try {
                  effect = current, _effect = instance, _effect.props = effect.memoizedProps, _effect.state = effect.memoizedState, _effect.componentWillUnmount();
                } catch (unmountError) {
                  captureCommitPhaseError(current, root, unmountError);
                }
                break;

              case 5:
                safelyDetachRef(current, root);
                break;

              case 4:
                createChildNodeSet(current.stateNode.containerInfo);
            }

            if (null !== node.child) node.child.return = node, node = node.child;else {
              if (node === childToDelete) break;

              for (; null === node.sibling;) {
                if (null === node.return || node.return === childToDelete) break a;
                node = node.return;
              }

              node.sibling.return = node.return;
              node = node.sibling;
            }
          }

          var alternate = childToDelete.alternate;
          null !== alternate && (alternate.return = null);
          childToDelete.return = null;
        } catch (error) {
          captureCommitPhaseError(childToDelete, root, error);
        }
      }
      firstChild = root.child;
      if (0 !== (root.subtreeFlags & 6454) && null !== firstChild) firstChild.return = root, nextEffect = firstChild;else for (; null !== nextEffect;) {
        root = nextEffect;

        try {
          var flags = root.flags;

          if (flags & 256) {
            var current$jscomp$0 = root.alternate;

            if (null !== current$jscomp$0) {
              var currentRef = current$jscomp$0.ref;
              null !== currentRef && ("function" === typeof currentRef ? currentRef(null) : currentRef.current = null);
            }
          }

          switch (flags & 2054) {
            case 2:
              root.flags &= -3;
              break;

            case 6:
              root.flags &= -3;
              commitWork(root.alternate, root);
              break;

            case 2048:
              root.flags &= -2049;
              break;

            case 2052:
              root.flags &= -2049;
              commitWork(root.alternate, root);
              break;

            case 4:
              commitWork(root.alternate, root);
          }
        } catch (error) {
          captureCommitPhaseError(root, root.return, error);
        }

        firstChild = root.sibling;

        if (null !== firstChild) {
          firstChild.return = root.return;
          nextEffect = firstChild;
          break;
        }

        nextEffect = root.return;
      }
    }
  }

  function commitLayoutEffects(finishedWork) {
    for (nextEffect = finishedWork; null !== nextEffect;) {
      var fiber = nextEffect,
          firstChild = fiber.child;
      if (0 !== (fiber.subtreeFlags & 324) && null !== firstChild) firstChild.return = fiber, nextEffect = firstChild;else for (fiber = finishedWork; null !== nextEffect;) {
        firstChild = nextEffect;

        if (0 !== (firstChild.flags & 324)) {
          var current = firstChild.alternate;

          try {
            if (0 !== (firstChild.flags & 68)) switch (firstChild.tag) {
              case 0:
              case 11:
              case 15:
                commitHookEffectListMount(3, firstChild);
                break;

              case 1:
                var instance = firstChild.stateNode;
                if (firstChild.flags & 4) if (null === current) instance.componentDidMount();else {
                  var prevProps = firstChild.elementType === firstChild.type ? current.memoizedProps : resolveDefaultProps(firstChild.type, current.memoizedProps);
                  instance.componentDidUpdate(prevProps, current.memoizedState, instance.__reactInternalSnapshotBeforeUpdate);
                }
                var updateQueue = firstChild.updateQueue;
                null !== updateQueue && commitUpdateQueue(firstChild, updateQueue, instance);
                break;

              case 3:
                var updateQueue$83 = firstChild.updateQueue;

                if (null !== updateQueue$83) {
                  current = null;
                  if (null !== firstChild.child) switch (firstChild.child.tag) {
                    case 5:
                      current = firstChild.child.stateNode.canonical;
                      break;

                    case 1:
                      current = firstChild.child.stateNode;
                  }
                  commitUpdateQueue(firstChild, updateQueue$83, current);
                }

                break;

              case 5:
                null === current && firstChild.flags & 4 && shim();
                break;

              case 6:
                break;

              case 4:
                break;

              case 12:
                break;

              case 13:
                break;

              case 19:
              case 17:
              case 21:
              case 22:
              case 23:
                break;

              default:
                throw Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.");
            }

            if (firstChild.flags & 256) {
              current = undefined;
              var ref = firstChild.ref;

              if (null !== ref) {
                var instance$jscomp$0 = firstChild.stateNode;

                switch (firstChild.tag) {
                  case 5:
                    current = instance$jscomp$0.canonical;
                    break;

                  default:
                    current = instance$jscomp$0;
                }

                "function" === typeof ref ? ref(current) : ref.current = current;
              }
            }
          } catch (error) {
            captureCommitPhaseError(firstChild, firstChild.return, error);
          }
        }

        if (firstChild === fiber) {
          nextEffect = null;
          break;
        }

        current = firstChild.sibling;

        if (null !== current) {
          current.return = firstChild.return;
          nextEffect = current;
          break;
        }

        nextEffect = firstChild.return;
      }
    }
  }

  var ceil = Math.ceil,
      ReactCurrentDispatcher$2 = ReactSharedInternals.ReactCurrentDispatcher,
      ReactCurrentOwner$2 = ReactSharedInternals.ReactCurrentOwner,
      ReactCurrentBatchConfig$2 = ReactSharedInternals.ReactCurrentBatchConfig,
      executionContext = 0,
      workInProgressRoot = null,
      workInProgress = null,
      workInProgressRootRenderLanes = 0,
      subtreeRenderLanes = 0,
      subtreeRenderLanesCursor = createCursor(0),
      workInProgressRootExitStatus = 0,
      workInProgressRootFatalError = null,
      workInProgressRootSkippedLanes = 0,
      workInProgressRootUpdatedLanes = 0,
      workInProgressRootPingedLanes = 0,
      globalMostRecentFallbackTime = 0,
      workInProgressRootRenderTargetTime = Infinity,
      hasUncaughtError = false,
      firstUncaughtError = null,
      legacyErrorBoundariesThatAlreadyFailed = null,
      rootDoesHavePassiveEffects = false,
      rootWithPendingPassiveEffects = null,
      pendingPassiveEffectsLanes = 0,
      nestedUpdateCount = 0,
      rootWithNestedUpdates = null,
      currentEventTime = -1,
      currentEventTransitionLane = 0;

  function requestEventTime() {
    return 0 !== (executionContext & 24) ? _$$_REQUIRE(_dependencyMap[4]).unstable_now() : -1 !== currentEventTime ? currentEventTime : currentEventTime = _$$_REQUIRE(_dependencyMap[4]).unstable_now();
  }

  function requestUpdateLane(fiber) {
    if (0 === (fiber.mode & 1)) return 1;
    if (0 !== (executionContext & 8) && 0 !== workInProgressRootRenderLanes) return workInProgressRootRenderLanes & -workInProgressRootRenderLanes;
    if (0 !== ReactCurrentBatchConfig.transition) return 0 === currentEventTransitionLane && (fiber = nextTransitionLane, nextTransitionLane <<= 1, 0 === (nextTransitionLane & 4194240) && (nextTransitionLane = 64), currentEventTransitionLane = fiber), currentEventTransitionLane;
    fiber = currentUpdatePriority;
    if (0 === fiber) a: {
      fiber = fabricGetCurrentEventPriority ? fabricGetCurrentEventPriority() : null;
      if (null != fiber) switch (fiber) {
        case FabricDiscretePriority:
          fiber = 1;
          break a;
      }
      fiber = 16;
    }
    return fiber;
  }

  function scheduleUpdateOnFiber(fiber, lane, eventTime) {
    if (50 < nestedUpdateCount) throw nestedUpdateCount = 0, rootWithNestedUpdates = null, Error("Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.");
    var root = markUpdateLaneFromFiberToRoot(fiber, lane);
    if (null === root) return null;
    markRootUpdated(root, lane, eventTime);
    root === workInProgressRoot && (0 === (executionContext & 8) && (workInProgressRootUpdatedLanes |= lane), 4 === workInProgressRootExitStatus && markRootSuspended$1(root, workInProgressRootRenderLanes));
    1 === lane ? 0 !== (executionContext & 4) && 0 === (executionContext & 24) ? performSyncWorkOnRoot(root) : (ensureRootIsScheduled(root, eventTime), 0 === executionContext && 0 === (fiber.mode & 1) && (workInProgressRootRenderTargetTime = _$$_REQUIRE(_dependencyMap[4]).unstable_now() + 500, includesLegacySyncCallbacks && flushSyncCallbacks())) : ensureRootIsScheduled(root, eventTime);
    return root;
  }

  function markUpdateLaneFromFiberToRoot(sourceFiber, lane) {
    sourceFiber.lanes |= lane;
    var alternate = sourceFiber.alternate;
    null !== alternate && (alternate.lanes |= lane);
    alternate = sourceFiber;

    for (sourceFiber = sourceFiber.return; null !== sourceFiber;) {
      sourceFiber.childLanes |= lane, alternate = sourceFiber.alternate, null !== alternate && (alternate.childLanes |= lane), alternate = sourceFiber, sourceFiber = sourceFiber.return;
    }

    return 3 === alternate.tag ? alternate.stateNode : null;
  }

  function ensureRootIsScheduled(root, currentTime) {
    for (var existingCallbackNode = root.callbackNode, suspendedLanes = root.suspendedLanes, pingedLanes = root.pingedLanes, expirationTimes = root.expirationTimes, lanes = root.pendingLanes; 0 < lanes;) {
      var index$5 = 31 - clz32(lanes),
          lane = 1 << index$5,
          expirationTime = expirationTimes[index$5];

      if (-1 === expirationTime) {
        if (0 === (lane & suspendedLanes) || 0 !== (lane & pingedLanes)) expirationTimes[index$5] = computeExpirationTime(lane, currentTime);
      } else expirationTime <= currentTime && (root.expiredLanes |= lane);

      lanes &= ~lane;
    }

    suspendedLanes = getNextLanes(root, root === workInProgressRoot ? workInProgressRootRenderLanes : 0);
    if (0 === suspendedLanes) null !== existingCallbackNode && _$$_REQUIRE(_dependencyMap[4]).unstable_cancelCallback(existingCallbackNode), root.callbackNode = null, root.callbackPriority = 0;else if (currentTime = suspendedLanes & -suspendedLanes, root.callbackPriority !== currentTime) {
      null != existingCallbackNode && _$$_REQUIRE(_dependencyMap[4]).unstable_cancelCallback(existingCallbackNode);
      if (1 === currentTime) 0 === root.tag ? (existingCallbackNode = performSyncWorkOnRoot.bind(null, root), includesLegacySyncCallbacks = true, null === syncQueue ? syncQueue = [existingCallbackNode] : syncQueue.push(existingCallbackNode)) : (existingCallbackNode = performSyncWorkOnRoot.bind(null, root), null === syncQueue ? syncQueue = [existingCallbackNode] : syncQueue.push(existingCallbackNode)), _$$_REQUIRE(_dependencyMap[4]).unstable_scheduleCallback(_$$_REQUIRE(_dependencyMap[4]).unstable_ImmediatePriority, flushSyncCallbacks), existingCallbackNode = null;else {
        switch (lanesToEventPriority(suspendedLanes)) {
          case 1:
            existingCallbackNode = _$$_REQUIRE(_dependencyMap[4]).unstable_ImmediatePriority;
            break;

          case 4:
            existingCallbackNode = _$$_REQUIRE(_dependencyMap[4]).unstable_UserBlockingPriority;
            break;

          case 16:
            existingCallbackNode = _$$_REQUIRE(_dependencyMap[4]).unstable_NormalPriority;
            break;

          case 536870912:
            existingCallbackNode = _$$_REQUIRE(_dependencyMap[4]).unstable_IdlePriority;
            break;

          default:
            existingCallbackNode = _$$_REQUIRE(_dependencyMap[4]).unstable_NormalPriority;
        }

        existingCallbackNode = _$$_REQUIRE(_dependencyMap[4]).unstable_scheduleCallback(existingCallbackNode, performConcurrentWorkOnRoot.bind(null, root));
      }
      root.callbackPriority = currentTime;
      root.callbackNode = existingCallbackNode;
    }
  }

  function performConcurrentWorkOnRoot(root, didTimeout) {
    currentEventTime = -1;
    currentEventTransitionLane = 0;
    if (0 !== (executionContext & 24)) throw Error("Should not already be working.");
    var originalCallbackNode = root.callbackNode;
    if (flushPassiveEffects() && root.callbackNode !== originalCallbackNode) return null;
    var lanes = getNextLanes(root, root === workInProgressRoot ? workInProgressRootRenderLanes : 0);
    if (0 === lanes) return null;
    var JSCompiler_inline_result = 0 !== (lanes & root.expiredLanes) ? false : 0 === (lanes & 30);

    if (JSCompiler_inline_result && !didTimeout) {
      didTimeout = lanes;
      JSCompiler_inline_result = executionContext;
      executionContext |= 8;
      var prevDispatcher = pushDispatcher();
      if (workInProgressRoot !== root || workInProgressRootRenderLanes !== didTimeout) workInProgressRootRenderTargetTime = _$$_REQUIRE(_dependencyMap[4]).unstable_now() + 500, prepareFreshStack(root, didTimeout);

      do {
        try {
          workLoopConcurrent();
          break;
        } catch (thrownValue) {
          handleError(root, thrownValue);
        }
      } while (1);

      resetContextDependencies();
      ReactCurrentDispatcher$2.current = prevDispatcher;
      executionContext = JSCompiler_inline_result;
      null !== workInProgress ? didTimeout = 0 : (workInProgressRoot = null, workInProgressRootRenderLanes = 0, didTimeout = workInProgressRootExitStatus);
    } else didTimeout = renderRootSync(root, lanes);

    if (0 !== didTimeout) {
      2 === didTimeout && (executionContext |= 32, root.hydrate && (root.hydrate = false, shim(root.containerInfo)), JSCompiler_inline_result = getLanesToRetrySynchronouslyOnError(root), 0 !== JSCompiler_inline_result && (lanes = JSCompiler_inline_result, didTimeout = renderRootSync(root, JSCompiler_inline_result)));
      if (1 === didTimeout) throw originalCallbackNode = workInProgressRootFatalError, prepareFreshStack(root, 0), markRootSuspended$1(root, lanes), ensureRootIsScheduled(root, _$$_REQUIRE(_dependencyMap[4]).unstable_now()), originalCallbackNode;
      root.finishedWork = root.current.alternate;
      root.finishedLanes = lanes;

      switch (didTimeout) {
        case 0:
        case 1:
          throw Error("Root did not complete. This is a bug in React.");

        case 2:
          commitRoot(root);
          break;

        case 3:
          markRootSuspended$1(root, lanes);

          if ((lanes & 130023424) === lanes && (didTimeout = globalMostRecentFallbackTime + 500 - _$$_REQUIRE(_dependencyMap[4]).unstable_now(), 10 < didTimeout)) {
            if (0 !== getNextLanes(root, 0)) break;
            JSCompiler_inline_result = root.suspendedLanes;

            if ((JSCompiler_inline_result & lanes) !== lanes) {
              requestEventTime();
              root.pingedLanes |= root.suspendedLanes & JSCompiler_inline_result;
              break;
            }

            root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root), didTimeout);
            break;
          }

          commitRoot(root);
          break;

        case 4:
          markRootSuspended$1(root, lanes);
          if ((lanes & 4194240) === lanes) break;
          didTimeout = root.eventTimes;

          for (JSCompiler_inline_result = -1; 0 < lanes;) {
            var index$4 = 31 - clz32(lanes);
            prevDispatcher = 1 << index$4;
            index$4 = didTimeout[index$4];
            index$4 > JSCompiler_inline_result && (JSCompiler_inline_result = index$4);
            lanes &= ~prevDispatcher;
          }

          lanes = JSCompiler_inline_result;
          lanes = _$$_REQUIRE(_dependencyMap[4]).unstable_now() - lanes;
          lanes = (120 > lanes ? 120 : 480 > lanes ? 480 : 1080 > lanes ? 1080 : 1920 > lanes ? 1920 : 3e3 > lanes ? 3e3 : 4320 > lanes ? 4320 : 1960 * ceil(lanes / 1960)) - lanes;

          if (10 < lanes) {
            root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root), lanes);
            break;
          }

          commitRoot(root);
          break;

        case 5:
          commitRoot(root);
          break;

        default:
          throw Error("Unknown root exit status.");
      }
    }

    ensureRootIsScheduled(root, _$$_REQUIRE(_dependencyMap[4]).unstable_now());
    return root.callbackNode === originalCallbackNode ? performConcurrentWorkOnRoot.bind(null, root) : null;
  }

  function markRootSuspended$1(root, suspendedLanes) {
    suspendedLanes &= ~workInProgressRootPingedLanes;
    suspendedLanes &= ~workInProgressRootUpdatedLanes;
    root.suspendedLanes |= suspendedLanes;
    root.pingedLanes &= ~suspendedLanes;

    for (root = root.expirationTimes; 0 < suspendedLanes;) {
      var index$6 = 31 - clz32(suspendedLanes),
          lane = 1 << index$6;
      root[index$6] = -1;
      suspendedLanes &= ~lane;
    }
  }

  function performSyncWorkOnRoot(root) {
    if (0 !== (executionContext & 24)) throw Error("Should not already be working.");
    flushPassiveEffects();
    var lanes = getNextLanes(root, 0);
    if (0 === (lanes & 1)) return ensureRootIsScheduled(root, _$$_REQUIRE(_dependencyMap[4]).unstable_now()), null;
    var exitStatus = renderRootSync(root, lanes);

    if (0 !== root.tag && 2 === exitStatus) {
      executionContext |= 32;
      root.hydrate && (root.hydrate = false, shim(root.containerInfo));
      var errorRetryLanes = getLanesToRetrySynchronouslyOnError(root);
      0 !== errorRetryLanes && (lanes = errorRetryLanes, exitStatus = renderRootSync(root, lanes));
    }

    if (1 === exitStatus) throw exitStatus = workInProgressRootFatalError, prepareFreshStack(root, 0), markRootSuspended$1(root, lanes), ensureRootIsScheduled(root, _$$_REQUIRE(_dependencyMap[4]).unstable_now()), exitStatus;
    root.finishedWork = root.current.alternate;
    root.finishedLanes = lanes;
    commitRoot(root);
    ensureRootIsScheduled(root, _$$_REQUIRE(_dependencyMap[4]).unstable_now());
    return null;
  }

  function popRenderLanes() {
    subtreeRenderLanes = subtreeRenderLanesCursor.current;
    pop(subtreeRenderLanesCursor);
  }

  function prepareFreshStack(root, lanes) {
    root.finishedWork = null;
    root.finishedLanes = 0;
    var timeoutHandle = root.timeoutHandle;
    -1 !== timeoutHandle && (root.timeoutHandle = -1, cancelTimeout(timeoutHandle));
    if (null !== workInProgress) for (timeoutHandle = workInProgress.return; null !== timeoutHandle;) {
      var interruptedWork = timeoutHandle;

      switch (interruptedWork.tag) {
        case 1:
          interruptedWork = interruptedWork.type.childContextTypes;
          null !== interruptedWork && undefined !== interruptedWork && popContext();
          break;

        case 3:
          popHostContainer();
          pop(didPerformWorkStackCursor);
          pop(contextStackCursor);
          resetWorkInProgressVersions();
          break;

        case 5:
          popHostContext(interruptedWork);
          break;

        case 4:
          popHostContainer();
          break;

        case 13:
          pop(suspenseStackCursor);
          break;

        case 19:
          pop(suspenseStackCursor);
          break;

        case 10:
          popProvider(interruptedWork.type._context);
          break;

        case 22:
        case 23:
          popRenderLanes();
      }

      timeoutHandle = timeoutHandle.return;
    }
    workInProgressRoot = root;
    workInProgress = createWorkInProgress(root.current, null);
    workInProgressRootRenderLanes = subtreeRenderLanes = lanes;
    workInProgressRootExitStatus = 0;
    workInProgressRootFatalError = null;
    workInProgressRootPingedLanes = workInProgressRootUpdatedLanes = workInProgressRootSkippedLanes = 0;

    if (null !== interleavedQueues) {
      for (root = 0; root < interleavedQueues.length; root++) {
        if (lanes = interleavedQueues[root], timeoutHandle = lanes.interleaved, null !== timeoutHandle) {
          lanes.interleaved = null;
          interruptedWork = timeoutHandle.next;
          var lastPendingUpdate = lanes.pending;

          if (null !== lastPendingUpdate) {
            var firstPendingUpdate = lastPendingUpdate.next;
            lastPendingUpdate.next = interruptedWork;
            timeoutHandle.next = firstPendingUpdate;
          }

          lanes.pending = timeoutHandle;
        }
      }

      interleavedQueues = null;
    }
  }

  function handleError(root$jscomp$0, thrownValue) {
    do {
      var erroredWork = workInProgress;

      try {
        resetContextDependencies();
        ReactCurrentDispatcher$1.current = ContextOnlyDispatcher;

        if (didScheduleRenderPhaseUpdate) {
          for (var hook = currentlyRenderingFiber$1.memoizedState; null !== hook;) {
            var queue = hook.queue;
            null !== queue && (queue.pending = null);
            hook = hook.next;
          }

          didScheduleRenderPhaseUpdate = false;
        }

        renderLanes = 0;
        workInProgressHook = currentHook = currentlyRenderingFiber$1 = null;
        didScheduleRenderPhaseUpdateDuringThisPass = false;
        ReactCurrentOwner$2.current = null;

        if (null === erroredWork || null === erroredWork.return) {
          workInProgressRootExitStatus = 1;
          workInProgressRootFatalError = thrownValue;
          workInProgress = null;
          break;
        }

        a: {
          var root = root$jscomp$0,
              returnFiber = erroredWork.return,
              sourceFiber = erroredWork,
              value = thrownValue;
          thrownValue = workInProgressRootRenderLanes;
          sourceFiber.flags |= 8192;

          if (null !== value && "object" === typeof value && "function" === typeof value.then) {
            var wakeable = value,
                tag = sourceFiber.tag;

            if (0 === (sourceFiber.mode & 1) && (0 === tag || 11 === tag || 15 === tag)) {
              var currentSource = sourceFiber.alternate;
              currentSource ? (sourceFiber.updateQueue = currentSource.updateQueue, sourceFiber.memoizedState = currentSource.memoizedState, sourceFiber.lanes = currentSource.lanes) : (sourceFiber.updateQueue = null, sourceFiber.memoizedState = null);
            }

            var hasInvisibleParentBoundary = 0 !== (suspenseStackCursor.current & 1),
                workInProgress$30 = returnFiber;

            do {
              var JSCompiler_temp;

              if (JSCompiler_temp = 13 === workInProgress$30.tag) {
                var nextState = workInProgress$30.memoizedState;
                if (null !== nextState) JSCompiler_temp = null !== nextState.dehydrated ? true : false;else {
                  var props = workInProgress$30.memoizedProps;
                  JSCompiler_temp = undefined === props.fallback ? false : true !== props.unstable_avoidThisFallback ? true : hasInvisibleParentBoundary ? false : true;
                }
              }

              if (JSCompiler_temp) {
                var wakeables = workInProgress$30.updateQueue;

                if (null === wakeables) {
                  var updateQueue = new Set();
                  updateQueue.add(wakeable);
                  workInProgress$30.updateQueue = updateQueue;
                } else wakeables.add(wakeable);

                if (0 === (workInProgress$30.mode & 1) && workInProgress$30 !== returnFiber) {
                  workInProgress$30.flags |= 128;
                  sourceFiber.flags |= 32768;
                  sourceFiber.flags &= -10053;
                  if (1 === sourceFiber.tag) if (null === sourceFiber.alternate) sourceFiber.tag = 17;else {
                    var update = createUpdate(-1, 1);
                    update.tag = 2;
                    enqueueUpdate(sourceFiber, update);
                  }
                  sourceFiber.lanes |= 1;
                  break a;
                }

                value = undefined;
                sourceFiber = thrownValue;
                var pingCache = root.pingCache;
                null === pingCache ? (pingCache = root.pingCache = new PossiblyWeakMap(), value = new Set(), pingCache.set(wakeable, value)) : (value = pingCache.get(wakeable), undefined === value && (value = new Set(), pingCache.set(wakeable, value)));

                if (!value.has(sourceFiber)) {
                  value.add(sourceFiber);
                  var ping = pingSuspendedRoot.bind(null, root, wakeable, sourceFiber);
                  wakeable.then(ping, ping);
                }

                workInProgress$30.flags |= 16384;
                workInProgress$30.lanes = thrownValue;
                break a;
              }

              workInProgress$30 = workInProgress$30.return;
            } while (null !== workInProgress$30);

            value = Error((getComponentNameFromFiber(sourceFiber) || "A React component") + " suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.");
          }

          5 !== workInProgressRootExitStatus && (workInProgressRootExitStatus = 2);
          value = createCapturedValue(value, sourceFiber);
          workInProgress$30 = returnFiber;

          do {
            switch (workInProgress$30.tag) {
              case 3:
                root = value;
                workInProgress$30.flags |= 16384;
                thrownValue &= -thrownValue;
                workInProgress$30.lanes |= thrownValue;
                var update$31 = createRootErrorUpdate(workInProgress$30, root, thrownValue);
                enqueueCapturedUpdate(workInProgress$30, update$31);
                break a;

              case 1:
                root = value;
                var ctor = workInProgress$30.type,
                    instance = workInProgress$30.stateNode;

                if (0 === (workInProgress$30.flags & 128) && ("function" === typeof ctor.getDerivedStateFromError || null !== instance && "function" === typeof instance.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(instance)))) {
                  workInProgress$30.flags |= 16384;
                  thrownValue &= -thrownValue;
                  workInProgress$30.lanes |= thrownValue;
                  var update$34 = createClassErrorUpdate(workInProgress$30, root, thrownValue);
                  enqueueCapturedUpdate(workInProgress$30, update$34);
                  break a;
                }

            }

            workInProgress$30 = workInProgress$30.return;
          } while (null !== workInProgress$30);
        }

        completeUnitOfWork(erroredWork);
      } catch (yetAnotherThrownValue) {
        thrownValue = yetAnotherThrownValue;
        workInProgress === erroredWork && null !== erroredWork && (workInProgress = erroredWork = erroredWork.return);
        continue;
      }

      break;
    } while (1);
  }

  function pushDispatcher() {
    var prevDispatcher = ReactCurrentDispatcher$2.current;
    ReactCurrentDispatcher$2.current = ContextOnlyDispatcher;
    return null === prevDispatcher ? ContextOnlyDispatcher : prevDispatcher;
  }

  function renderRootSync(root, lanes) {
    var prevExecutionContext = executionContext;
    executionContext |= 8;
    var prevDispatcher = pushDispatcher();
    workInProgressRoot === root && workInProgressRootRenderLanes === lanes || prepareFreshStack(root, lanes);

    do {
      try {
        workLoopSync();
        break;
      } catch (thrownValue) {
        handleError(root, thrownValue);
      }
    } while (1);

    resetContextDependencies();
    executionContext = prevExecutionContext;
    ReactCurrentDispatcher$2.current = prevDispatcher;
    if (null !== workInProgress) throw Error("Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue.");
    workInProgressRoot = null;
    workInProgressRootRenderLanes = 0;
    return workInProgressRootExitStatus;
  }

  function workLoopSync() {
    for (; null !== workInProgress;) {
      performUnitOfWork(workInProgress);
    }
  }

  function workLoopConcurrent() {
    for (; null !== workInProgress && !_$$_REQUIRE(_dependencyMap[4]).unstable_shouldYield();) {
      performUnitOfWork(workInProgress);
    }
  }

  function performUnitOfWork(unitOfWork) {
    var next = beginWork$1(unitOfWork.alternate, unitOfWork, subtreeRenderLanes);
    unitOfWork.memoizedProps = unitOfWork.pendingProps;
    null === next ? completeUnitOfWork(unitOfWork) : workInProgress = next;
    ReactCurrentOwner$2.current = null;
  }

  function completeUnitOfWork(unitOfWork) {
    var completedWork = unitOfWork;

    do {
      var current = completedWork.alternate;
      unitOfWork = completedWork.return;

      if (0 === (completedWork.flags & 8192)) {
        if (current = completeWork(current, completedWork, subtreeRenderLanes), null !== current) {
          workInProgress = current;
          return;
        }
      } else {
        current = unwindWork(completedWork);

        if (null !== current) {
          current.flags &= 8191;
          workInProgress = current;
          return;
        }

        null !== unitOfWork && (unitOfWork.flags |= 8192, unitOfWork.subtreeFlags = 0, unitOfWork.deletions = null);
      }

      completedWork = completedWork.sibling;

      if (null !== completedWork) {
        workInProgress = completedWork;
        return;
      }

      workInProgress = completedWork = unitOfWork;
    } while (null !== completedWork);

    0 === workInProgressRootExitStatus && (workInProgressRootExitStatus = 5);
  }

  function commitRoot(root) {
    var previousUpdateLanePriority = currentUpdatePriority,
        prevTransition = ReactCurrentBatchConfig$2.transition;

    try {
      ReactCurrentBatchConfig$2.transition = 0, currentUpdatePriority = 1, commitRootImpl(root, previousUpdateLanePriority);
    } finally {
      ReactCurrentBatchConfig$2.transition = prevTransition, currentUpdatePriority = previousUpdateLanePriority;
    }

    return null;
  }

  function commitRootImpl(root, renderPriorityLevel) {
    do {
      flushPassiveEffects();
    } while (null !== rootWithPendingPassiveEffects);

    if (0 !== (executionContext & 24)) throw Error("Should not already be working.");
    var finishedWork = root.finishedWork,
        lanes = root.finishedLanes;
    if (null === finishedWork) return null;
    root.finishedWork = null;
    root.finishedLanes = 0;
    if (finishedWork === root.current) throw Error("Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue.");
    root.callbackNode = null;
    root.callbackPriority = 0;
    var remainingLanes = finishedWork.lanes | finishedWork.childLanes;
    markRootFinished(root, remainingLanes);
    root === workInProgressRoot && (workInProgress = workInProgressRoot = null, workInProgressRootRenderLanes = 0);
    0 === (finishedWork.subtreeFlags & 1040) && 0 === (finishedWork.flags & 1040) || rootDoesHavePassiveEffects || (rootDoesHavePassiveEffects = true, _$$_REQUIRE(_dependencyMap[4]).unstable_scheduleCallback(_$$_REQUIRE(_dependencyMap[4]).unstable_NormalPriority, function () {
      flushPassiveEffects();
      return null;
    }));
    remainingLanes = 0 !== (finishedWork.flags & 8054);

    if (0 !== (finishedWork.subtreeFlags & 8054) || remainingLanes) {
      remainingLanes = ReactCurrentBatchConfig$2.transition;
      ReactCurrentBatchConfig$2.transition = 0;
      var previousPriority = currentUpdatePriority;
      currentUpdatePriority = 1;
      var prevExecutionContext = executionContext;
      executionContext |= 16;
      ReactCurrentOwner$2.current = null;
      commitBeforeMutationEffects(root, finishedWork);
      commitMutationEffects(root, finishedWork);
      root.current = finishedWork;
      commitLayoutEffects(finishedWork, root, lanes);

      _$$_REQUIRE(_dependencyMap[4]).unstable_requestPaint();

      executionContext = prevExecutionContext;
      currentUpdatePriority = previousPriority;
      ReactCurrentBatchConfig$2.transition = remainingLanes;
    } else root.current = finishedWork;

    rootDoesHavePassiveEffects && (rootDoesHavePassiveEffects = false, rootWithPendingPassiveEffects = root, pendingPassiveEffectsLanes = lanes);
    remainingLanes = root.pendingLanes;
    0 === remainingLanes && (legacyErrorBoundariesThatAlreadyFailed = null);
    0 !== (remainingLanes & 1) ? root === rootWithNestedUpdates ? nestedUpdateCount++ : (nestedUpdateCount = 0, rootWithNestedUpdates = root) : nestedUpdateCount = 0;
    onCommitRoot(finishedWork.stateNode, renderPriorityLevel);
    ensureRootIsScheduled(root, _$$_REQUIRE(_dependencyMap[4]).unstable_now());
    if (hasUncaughtError) throw hasUncaughtError = false, root = firstUncaughtError, firstUncaughtError = null, root;
    if (0 !== (executionContext & 4)) return null;
    0 !== (pendingPassiveEffectsLanes & 1) && 0 !== root.tag && flushPassiveEffects();
    flushSyncCallbacks();
    return null;
  }

  function flushPassiveEffects() {
    if (null !== rootWithPendingPassiveEffects) {
      var renderPriority = lanesToEventPriority(pendingPassiveEffectsLanes),
          prevTransition = ReactCurrentBatchConfig$2.transition,
          previousPriority = currentUpdatePriority;

      try {
        ReactCurrentBatchConfig$2.transition = 0;
        currentUpdatePriority = 16 > renderPriority ? 16 : renderPriority;
        if (null === rootWithPendingPassiveEffects) var JSCompiler_inline_result = false;else {
          renderPriority = rootWithPendingPassiveEffects;
          rootWithPendingPassiveEffects = null;
          pendingPassiveEffectsLanes = 0;
          if (0 !== (executionContext & 24)) throw Error("Cannot flush passive effects while already rendering.");
          var prevExecutionContext = executionContext;
          executionContext |= 16;

          for (nextEffect = renderPriority.current; null !== nextEffect;) {
            var fiber = nextEffect,
                child = fiber.child;

            if (0 !== (nextEffect.flags & 16)) {
              var deletions = fiber.deletions;

              if (null !== deletions) {
                for (var i = 0; i < deletions.length; i++) {
                  var fiberToDelete = deletions[i];

                  for (nextEffect = fiberToDelete; null !== nextEffect;) {
                    var fiber$jscomp$0 = nextEffect;

                    switch (fiber$jscomp$0.tag) {
                      case 0:
                      case 11:
                      case 15:
                        commitHookEffectListUnmount(4, fiber$jscomp$0, fiber);
                    }

                    var child$jscomp$0 = fiber$jscomp$0.child;
                    if (null !== child$jscomp$0) child$jscomp$0.return = fiber$jscomp$0, nextEffect = child$jscomp$0;else for (; null !== nextEffect;) {
                      fiber$jscomp$0 = nextEffect;
                      var sibling = fiber$jscomp$0.sibling,
                          returnFiber = fiber$jscomp$0.return;
                      detachFiberAfterEffects(fiber$jscomp$0);

                      if (fiber$jscomp$0 === fiberToDelete) {
                        nextEffect = null;
                        break;
                      }

                      if (null !== sibling) {
                        sibling.return = returnFiber;
                        nextEffect = sibling;
                        break;
                      }

                      nextEffect = returnFiber;
                    }
                  }
                }

                var previousFiber = fiber.alternate;

                if (null !== previousFiber) {
                  var detachedChild = previousFiber.child;

                  if (null !== detachedChild) {
                    previousFiber.child = null;

                    do {
                      var detachedSibling = detachedChild.sibling;
                      detachedChild.sibling = null;
                      detachedChild = detachedSibling;
                    } while (null !== detachedChild);
                  }
                }

                nextEffect = fiber;
              }
            }

            if (0 !== (fiber.subtreeFlags & 1040) && null !== child) child.return = fiber, nextEffect = child;else b: for (; null !== nextEffect;) {
              fiber = nextEffect;
              if (0 !== (fiber.flags & 1024)) switch (fiber.tag) {
                case 0:
                case 11:
                case 15:
                  commitHookEffectListUnmount(5, fiber, fiber.return);
              }
              var sibling$jscomp$0 = fiber.sibling;

              if (null !== sibling$jscomp$0) {
                sibling$jscomp$0.return = fiber.return;
                nextEffect = sibling$jscomp$0;
                break b;
              }

              nextEffect = fiber.return;
            }
          }

          var finishedWork = renderPriority.current;

          for (nextEffect = finishedWork; null !== nextEffect;) {
            child = nextEffect;
            var firstChild = child.child;
            if (0 !== (child.subtreeFlags & 1040) && null !== firstChild) firstChild.return = child, nextEffect = firstChild;else b: for (child = finishedWork; null !== nextEffect;) {
              deletions = nextEffect;
              if (0 !== (deletions.flags & 1024)) try {
                switch (deletions.tag) {
                  case 0:
                  case 11:
                  case 15:
                    commitHookEffectListMount(5, deletions);
                }
              } catch (error) {
                captureCommitPhaseError(deletions, deletions.return, error);
              }

              if (deletions === child) {
                nextEffect = null;
                break b;
              }

              var sibling$jscomp$1 = deletions.sibling;

              if (null !== sibling$jscomp$1) {
                sibling$jscomp$1.return = deletions.return;
                nextEffect = sibling$jscomp$1;
                break b;
              }

              nextEffect = deletions.return;
            }
          }

          executionContext = prevExecutionContext;
          flushSyncCallbacks();
          if (injectedHook && "function" === typeof injectedHook.onPostCommitFiberRoot) try {
            injectedHook.onPostCommitFiberRoot(rendererID, renderPriority);
          } catch (err) {}
          JSCompiler_inline_result = true;
        }
        return JSCompiler_inline_result;
      } finally {
        currentUpdatePriority = previousPriority, ReactCurrentBatchConfig$2.transition = prevTransition;
      }
    }

    return false;
  }

  function captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {
    sourceFiber = createCapturedValue(error, sourceFiber);
    sourceFiber = createRootErrorUpdate(rootFiber, sourceFiber, 1);
    enqueueUpdate(rootFiber, sourceFiber);
    sourceFiber = requestEventTime();
    rootFiber = markUpdateLaneFromFiberToRoot(rootFiber, 1);
    null !== rootFiber && (markRootUpdated(rootFiber, 1, sourceFiber), ensureRootIsScheduled(rootFiber, sourceFiber));
  }

  function captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error) {
    if (3 === sourceFiber.tag) captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error);else for (nearestMountedAncestor = sourceFiber.return; null !== nearestMountedAncestor;) {
      if (3 === nearestMountedAncestor.tag) {
        captureCommitPhaseErrorOnRoot(nearestMountedAncestor, sourceFiber, error);
        break;
      } else if (1 === nearestMountedAncestor.tag) {
        var instance = nearestMountedAncestor.stateNode;

        if ("function" === typeof nearestMountedAncestor.type.getDerivedStateFromError || "function" === typeof instance.componentDidCatch && (null === legacyErrorBoundariesThatAlreadyFailed || !legacyErrorBoundariesThatAlreadyFailed.has(instance))) {
          sourceFiber = createCapturedValue(error, sourceFiber);
          sourceFiber = createClassErrorUpdate(nearestMountedAncestor, sourceFiber, 1);
          enqueueUpdate(nearestMountedAncestor, sourceFiber);
          sourceFiber = requestEventTime();
          nearestMountedAncestor = markUpdateLaneFromFiberToRoot(nearestMountedAncestor, 1);
          null !== nearestMountedAncestor && (markRootUpdated(nearestMountedAncestor, 1, sourceFiber), ensureRootIsScheduled(nearestMountedAncestor, sourceFiber));
          break;
        }
      }

      nearestMountedAncestor = nearestMountedAncestor.return;
    }
  }

  function pingSuspendedRoot(root, wakeable, pingedLanes) {
    var pingCache = root.pingCache;
    null !== pingCache && pingCache.delete(wakeable);
    wakeable = requestEventTime();
    root.pingedLanes |= root.suspendedLanes & pingedLanes;
    workInProgressRoot === root && (workInProgressRootRenderLanes & pingedLanes) === pingedLanes && (4 === workInProgressRootExitStatus || 3 === workInProgressRootExitStatus && (workInProgressRootRenderLanes & 130023424) === workInProgressRootRenderLanes && 500 > _$$_REQUIRE(_dependencyMap[4]).unstable_now() - globalMostRecentFallbackTime ? prepareFreshStack(root, 0) : workInProgressRootPingedLanes |= pingedLanes);
    ensureRootIsScheduled(root, wakeable);
  }

  function resolveRetryWakeable(boundaryFiber, wakeable) {
    var retryCache = boundaryFiber.stateNode;
    null !== retryCache && retryCache.delete(wakeable);
    wakeable = 0;
    0 === wakeable && (0 === (boundaryFiber.mode & 1) ? wakeable = 1 : (wakeable = nextRetryLane, nextRetryLane <<= 1, 0 === (nextRetryLane & 130023424) && (nextRetryLane = 4194304)));
    retryCache = requestEventTime();
    boundaryFiber = markUpdateLaneFromFiberToRoot(boundaryFiber, wakeable);
    null !== boundaryFiber && (markRootUpdated(boundaryFiber, wakeable, retryCache), ensureRootIsScheduled(boundaryFiber, retryCache));
  }

  var beginWork$1;

  beginWork$1 = function beginWork$1(current, workInProgress, renderLanes) {
    var updateLanes = workInProgress.lanes;
    if (null !== current) {
      if (current.memoizedProps !== workInProgress.pendingProps || didPerformWorkStackCursor.current) didReceiveUpdate = true;else {
        if (0 === (renderLanes & updateLanes)) {
          didReceiveUpdate = false;

          switch (workInProgress.tag) {
            case 3:
              pushHostRootContext(workInProgress);
              break;

            case 5:
              pushHostContext(workInProgress);
              break;

            case 1:
              isContextProvider(workInProgress.type) && pushContextProvider(workInProgress);
              break;

            case 4:
              pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);
              break;

            case 10:
              updateLanes = workInProgress.type._context;
              var nextValue = workInProgress.memoizedProps.value;
              push(valueCursor, updateLanes._currentValue2);
              updateLanes._currentValue2 = nextValue;
              break;

            case 13:
              if (null !== workInProgress.memoizedState) {
                if (0 !== (renderLanes & workInProgress.child.childLanes)) return updateSuspenseComponent(current, workInProgress, renderLanes);
                push(suspenseStackCursor, suspenseStackCursor.current & 1);
                workInProgress = bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
                return null !== workInProgress ? workInProgress.sibling : null;
              }

              push(suspenseStackCursor, suspenseStackCursor.current & 1);
              break;

            case 19:
              updateLanes = 0 !== (renderLanes & workInProgress.childLanes);

              if (0 !== (current.flags & 128)) {
                if (updateLanes) return updateSuspenseListComponent(current, workInProgress, renderLanes);
                workInProgress.flags |= 128;
              }

              nextValue = workInProgress.memoizedState;
              null !== nextValue && (nextValue.rendering = null, nextValue.tail = null, nextValue.lastEffect = null);
              push(suspenseStackCursor, suspenseStackCursor.current);
              if (updateLanes) break;else return null;

            case 22:
            case 23:
              return workInProgress.lanes = 0, updateOffscreenComponent(current, workInProgress, renderLanes);
          }

          return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
        }

        didReceiveUpdate = 0 !== (current.flags & 32768) ? true : false;
      }
    } else didReceiveUpdate = false;
    workInProgress.lanes = 0;

    switch (workInProgress.tag) {
      case 2:
        updateLanes = workInProgress.type;
        null !== current && (current.alternate = null, workInProgress.alternate = null, workInProgress.flags |= 2);
        current = workInProgress.pendingProps;
        nextValue = getMaskedContext(workInProgress, contextStackCursor.current);
        prepareToReadContext(workInProgress, renderLanes);
        nextValue = renderWithHooks(null, workInProgress, updateLanes, current, nextValue, renderLanes);
        workInProgress.flags |= 1;

        if ("object" === typeof nextValue && null !== nextValue && "function" === typeof nextValue.render && undefined === nextValue.$$typeof) {
          workInProgress.tag = 1;
          workInProgress.memoizedState = null;
          workInProgress.updateQueue = null;

          if (isContextProvider(updateLanes)) {
            var hasContext = true;
            pushContextProvider(workInProgress);
          } else hasContext = false;

          workInProgress.memoizedState = null !== nextValue.state && undefined !== nextValue.state ? nextValue.state : null;
          initializeUpdateQueue(workInProgress);
          nextValue.updater = classComponentUpdater;
          workInProgress.stateNode = nextValue;
          nextValue._reactInternals = workInProgress;
          mountClassInstance(workInProgress, updateLanes, current, renderLanes);
          workInProgress = finishClassComponent(null, workInProgress, updateLanes, true, hasContext, renderLanes);
        } else workInProgress.tag = 0, reconcileChildren(null, workInProgress, nextValue, renderLanes), workInProgress = workInProgress.child;

        return workInProgress;

      case 16:
        nextValue = workInProgress.elementType;

        a: {
          null !== current && (current.alternate = null, workInProgress.alternate = null, workInProgress.flags |= 2);
          current = workInProgress.pendingProps;
          hasContext = nextValue._init;
          nextValue = hasContext(nextValue._payload);
          workInProgress.type = nextValue;
          hasContext = workInProgress.tag = resolveLazyComponentTag(nextValue);
          current = resolveDefaultProps(nextValue, current);

          switch (hasContext) {
            case 0:
              workInProgress = updateFunctionComponent(null, workInProgress, nextValue, current, renderLanes);
              break a;

            case 1:
              workInProgress = updateClassComponent(null, workInProgress, nextValue, current, renderLanes);
              break a;

            case 11:
              workInProgress = updateForwardRef(null, workInProgress, nextValue, current, renderLanes);
              break a;

            case 14:
              workInProgress = updateMemoComponent(null, workInProgress, nextValue, resolveDefaultProps(nextValue.type, current), updateLanes, renderLanes);
              break a;
          }

          throw Error("Element type is invalid. Received a promise that resolves to: " + nextValue + ". Lazy element type must resolve to a class or function.");
        }

        return workInProgress;

      case 0:
        return updateLanes = workInProgress.type, nextValue = workInProgress.pendingProps, nextValue = workInProgress.elementType === updateLanes ? nextValue : resolveDefaultProps(updateLanes, nextValue), updateFunctionComponent(current, workInProgress, updateLanes, nextValue, renderLanes);

      case 1:
        return updateLanes = workInProgress.type, nextValue = workInProgress.pendingProps, nextValue = workInProgress.elementType === updateLanes ? nextValue : resolveDefaultProps(updateLanes, nextValue), updateClassComponent(current, workInProgress, updateLanes, nextValue, renderLanes);

      case 3:
        pushHostRootContext(workInProgress);
        updateLanes = workInProgress.updateQueue;
        if (null === current || null === updateLanes) throw Error("If the root does not have an updateQueue, we should have already bailed out. This error is likely caused by a bug in React. Please file an issue.");
        nextValue = workInProgress.pendingProps;
        updateLanes = workInProgress.memoizedState.element;
        cloneUpdateQueue(current, workInProgress);
        processUpdateQueue(workInProgress, nextValue, null, renderLanes);
        nextValue = workInProgress.memoizedState.element;
        nextValue === updateLanes ? workInProgress = bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) : (reconcileChildren(current, workInProgress, nextValue, renderLanes), workInProgress = workInProgress.child);
        return workInProgress;

      case 5:
        return pushHostContext(workInProgress), updateLanes = workInProgress.pendingProps.children, markRef(current, workInProgress), reconcileChildren(current, workInProgress, updateLanes, renderLanes), workInProgress.child;

      case 6:
        return null;

      case 13:
        return updateSuspenseComponent(current, workInProgress, renderLanes);

      case 4:
        return pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo), updateLanes = workInProgress.pendingProps, null === current ? workInProgress.child = reconcileChildFibers(workInProgress, null, updateLanes, renderLanes) : reconcileChildren(current, workInProgress, updateLanes, renderLanes), workInProgress.child;

      case 11:
        return updateLanes = workInProgress.type, nextValue = workInProgress.pendingProps, nextValue = workInProgress.elementType === updateLanes ? nextValue : resolveDefaultProps(updateLanes, nextValue), updateForwardRef(current, workInProgress, updateLanes, nextValue, renderLanes);

      case 7:
        return reconcileChildren(current, workInProgress, workInProgress.pendingProps, renderLanes), workInProgress.child;

      case 8:
        return reconcileChildren(current, workInProgress, workInProgress.pendingProps.children, renderLanes), workInProgress.child;

      case 12:
        return reconcileChildren(current, workInProgress, workInProgress.pendingProps.children, renderLanes), workInProgress.child;

      case 10:
        a: {
          updateLanes = workInProgress.type._context;
          nextValue = workInProgress.pendingProps;
          hasContext = workInProgress.memoizedProps;
          var newValue = nextValue.value;
          push(valueCursor, updateLanes._currentValue2);
          updateLanes._currentValue2 = newValue;
          if (null !== hasContext) if (objectIs(hasContext.value, newValue)) {
            if (hasContext.children === nextValue.children && !didPerformWorkStackCursor.current) {
              workInProgress = bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);
              break a;
            }
          } else for (newValue = workInProgress.child, null !== newValue && (newValue.return = workInProgress); null !== newValue;) {
            var list = newValue.dependencies;

            if (null !== list) {
              hasContext = newValue.child;

              for (var dependency = list.firstContext; null !== dependency;) {
                if (dependency.context === updateLanes) {
                  if (1 === newValue.tag) {
                    dependency = createUpdate(-1, renderLanes & -renderLanes);
                    dependency.tag = 2;
                    var updateQueue = newValue.updateQueue;

                    if (null !== updateQueue) {
                      updateQueue = updateQueue.shared;
                      var pending = updateQueue.pending;
                      null === pending ? dependency.next = dependency : (dependency.next = pending.next, pending.next = dependency);
                      updateQueue.pending = dependency;
                    }
                  }

                  newValue.lanes |= renderLanes;
                  dependency = newValue.alternate;
                  null !== dependency && (dependency.lanes |= renderLanes);
                  scheduleWorkOnParentPath(newValue.return, renderLanes);
                  list.lanes |= renderLanes;
                  break;
                }

                dependency = dependency.next;
              }
            } else hasContext = 10 === newValue.tag ? newValue.type === workInProgress.type ? null : newValue.child : newValue.child;

            if (null !== hasContext) hasContext.return = newValue;else for (hasContext = newValue; null !== hasContext;) {
              if (hasContext === workInProgress) {
                hasContext = null;
                break;
              }

              newValue = hasContext.sibling;

              if (null !== newValue) {
                newValue.return = hasContext.return;
                hasContext = newValue;
                break;
              }

              hasContext = hasContext.return;
            }
            newValue = hasContext;
          }
          reconcileChildren(current, workInProgress, nextValue.children, renderLanes);
          workInProgress = workInProgress.child;
        }

        return workInProgress;

      case 9:
        return nextValue = workInProgress.type, updateLanes = workInProgress.pendingProps.children, prepareToReadContext(workInProgress, renderLanes), nextValue = readContext(nextValue), updateLanes = updateLanes(nextValue), workInProgress.flags |= 1, reconcileChildren(current, workInProgress, updateLanes, renderLanes), workInProgress.child;

      case 14:
        return nextValue = workInProgress.type, hasContext = resolveDefaultProps(nextValue, workInProgress.pendingProps), hasContext = resolveDefaultProps(nextValue.type, hasContext), updateMemoComponent(current, workInProgress, nextValue, hasContext, updateLanes, renderLanes);

      case 15:
        return updateSimpleMemoComponent(current, workInProgress, workInProgress.type, workInProgress.pendingProps, updateLanes, renderLanes);

      case 17:
        return updateLanes = workInProgress.type, nextValue = workInProgress.pendingProps, nextValue = workInProgress.elementType === updateLanes ? nextValue : resolveDefaultProps(updateLanes, nextValue), null !== current && (current.alternate = null, workInProgress.alternate = null, workInProgress.flags |= 2), workInProgress.tag = 1, isContextProvider(updateLanes) ? (current = true, pushContextProvider(workInProgress)) : current = false, prepareToReadContext(workInProgress, renderLanes), constructClassInstance(workInProgress, updateLanes, nextValue), mountClassInstance(workInProgress, updateLanes, nextValue, renderLanes), finishClassComponent(null, workInProgress, updateLanes, true, current, renderLanes);

      case 19:
        return updateSuspenseListComponent(current, workInProgress, renderLanes);

      case 22:
        return updateOffscreenComponent(current, workInProgress, renderLanes);

      case 23:
        return updateOffscreenComponent(current, workInProgress, renderLanes);
    }

    throw Error("Unknown unit of work tag (" + workInProgress.tag + "). This error is likely caused by a bug in React. Please file an issue.");
  };

  function FiberNode(tag, pendingProps, key, mode) {
    this.tag = tag;
    this.key = key;
    this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null;
    this.index = 0;
    this.ref = null;
    this.pendingProps = pendingProps;
    this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null;
    this.mode = mode;
    this.subtreeFlags = this.flags = 0;
    this.deletions = null;
    this.childLanes = this.lanes = 0;
    this.alternate = null;
  }

  function createFiber(tag, pendingProps, key, mode) {
    return new FiberNode(tag, pendingProps, key, mode);
  }

  function shouldConstruct(Component) {
    Component = Component.prototype;
    return !(!Component || !Component.isReactComponent);
  }

  function resolveLazyComponentTag(Component) {
    if ("function" === typeof Component) return shouldConstruct(Component) ? 1 : 0;

    if (undefined !== Component && null !== Component) {
      Component = Component.$$typeof;
      if (Component === REACT_FORWARD_REF_TYPE) return 11;
      if (Component === REACT_MEMO_TYPE) return 14;
    }

    return 2;
  }

  function createWorkInProgress(current, pendingProps) {
    var workInProgress = current.alternate;
    null === workInProgress ? (workInProgress = createFiber(current.tag, pendingProps, current.key, current.mode), workInProgress.elementType = current.elementType, workInProgress.type = current.type, workInProgress.stateNode = current.stateNode, workInProgress.alternate = current, current.alternate = workInProgress) : (workInProgress.pendingProps = pendingProps, workInProgress.type = current.type, workInProgress.flags = 0, workInProgress.subtreeFlags = 0, workInProgress.deletions = null);
    workInProgress.flags = current.flags & 1835008;
    workInProgress.childLanes = current.childLanes;
    workInProgress.lanes = current.lanes;
    workInProgress.child = current.child;
    workInProgress.memoizedProps = current.memoizedProps;
    workInProgress.memoizedState = current.memoizedState;
    workInProgress.updateQueue = current.updateQueue;
    pendingProps = current.dependencies;
    workInProgress.dependencies = null === pendingProps ? null : {
      lanes: pendingProps.lanes,
      firstContext: pendingProps.firstContext
    };
    workInProgress.sibling = current.sibling;
    workInProgress.index = current.index;
    workInProgress.ref = current.ref;
    return workInProgress;
  }

  function createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, lanes) {
    var fiberTag = 2;
    owner = type;
    if ("function" === typeof type) shouldConstruct(type) && (fiberTag = 1);else if ("string" === typeof type) fiberTag = 5;else a: switch (type) {
      case REACT_FRAGMENT_TYPE:
        return createFiberFromFragment(pendingProps.children, mode, lanes, key);

      case REACT_DEBUG_TRACING_MODE_TYPE:
        fiberTag = 8;
        mode |= 4;
        break;

      case REACT_STRICT_MODE_TYPE:
        fiberTag = 8;
        mode |= 8;
        break;

      case REACT_PROFILER_TYPE:
        return type = createFiber(12, pendingProps, key, mode | 2), type.elementType = REACT_PROFILER_TYPE, type.lanes = lanes, type;

      case REACT_SUSPENSE_TYPE:
        return type = createFiber(13, pendingProps, key, mode), type.elementType = REACT_SUSPENSE_TYPE, type.lanes = lanes, type;

      case REACT_SUSPENSE_LIST_TYPE:
        return type = createFiber(19, pendingProps, key, mode), type.elementType = REACT_SUSPENSE_LIST_TYPE, type.lanes = lanes, type;

      case REACT_OFFSCREEN_TYPE:
        return createFiberFromOffscreen(pendingProps, mode, lanes, key);

      case REACT_LEGACY_HIDDEN_TYPE:
        return type = createFiber(23, pendingProps, key, mode), type.elementType = REACT_LEGACY_HIDDEN_TYPE, type.lanes = lanes, type;

      default:
        if ("object" === typeof type && null !== type) switch (type.$$typeof) {
          case REACT_PROVIDER_TYPE:
            fiberTag = 10;
            break a;

          case REACT_CONTEXT_TYPE:
            fiberTag = 9;
            break a;

          case REACT_FORWARD_REF_TYPE:
            fiberTag = 11;
            break a;

          case REACT_MEMO_TYPE:
            fiberTag = 14;
            break a;

          case REACT_LAZY_TYPE:
            fiberTag = 16;
            owner = null;
            break a;
        }
        throw Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: " + (null == type ? type : typeof type) + ".");
    }
    key = createFiber(fiberTag, pendingProps, key, mode);
    key.elementType = type;
    key.type = owner;
    key.lanes = lanes;
    return key;
  }

  function createFiberFromFragment(elements, mode, lanes, key) {
    elements = createFiber(7, elements, key, mode);
    elements.lanes = lanes;
    return elements;
  }

  function createFiberFromOffscreen(pendingProps, mode, lanes, key) {
    pendingProps = createFiber(22, pendingProps, key, mode);
    pendingProps.elementType = REACT_OFFSCREEN_TYPE;
    pendingProps.lanes = lanes;
    return pendingProps;
  }

  function createFiberFromText(content, mode, lanes) {
    content = createFiber(6, content, null, mode);
    content.lanes = lanes;
    return content;
  }

  function createFiberFromPortal(portal, mode, lanes) {
    mode = createFiber(4, null !== portal.children ? portal.children : [], portal.key, mode);
    mode.lanes = lanes;
    mode.stateNode = {
      containerInfo: portal.containerInfo,
      pendingChildren: null,
      implementation: portal.implementation
    };
    return mode;
  }

  function FiberRootNode(containerInfo, tag, hydrate) {
    this.tag = tag;
    this.containerInfo = containerInfo;
    this.finishedWork = this.pingCache = this.current = this.pendingChildren = null;
    this.timeoutHandle = -1;
    this.pendingContext = this.context = null;
    this.hydrate = hydrate;
    this.callbackNode = null;
    this.callbackPriority = 0;
    this.eventTimes = createLaneMap(0);
    this.expirationTimes = createLaneMap(-1);
    this.entangledLanes = this.finishedLanes = this.mutableReadLanes = this.expiredLanes = this.pingedLanes = this.suspendedLanes = this.pendingLanes = 0;
    this.entanglements = createLaneMap(0);
  }

  function createPortal(children, containerInfo, implementation) {
    var key = 3 < arguments.length && undefined !== arguments[3] ? arguments[3] : null;
    return {
      $$typeof: REACT_PORTAL_TYPE,
      key: null == key ? null : "" + key,
      children: children,
      containerInfo: containerInfo,
      implementation: implementation
    };
  }

  function findHostInstance(component) {
    var fiber = component._reactInternals;

    if (undefined === fiber) {
      if ("function" === typeof component.render) throw Error("Unable to find node on an unmounted component.");
      throw Error("Argument appears to not be a ReactComponent. Keys: " + Object.keys(component));
    }

    component = findCurrentHostFiber(fiber);
    return null === component ? null : component.stateNode;
  }

  function updateContainer(element, container, parentComponent, callback) {
    var current = container.current,
        eventTime = requestEventTime(),
        lane = requestUpdateLane(current);

    a: if (parentComponent) {
      parentComponent = parentComponent._reactInternals;

      b: {
        if (getNearestMountedFiber(parentComponent) !== parentComponent || 1 !== parentComponent.tag) throw Error("Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue.");
        var JSCompiler_inline_result = parentComponent;

        do {
          switch (JSCompiler_inline_result.tag) {
            case 3:
              JSCompiler_inline_result = JSCompiler_inline_result.stateNode.context;
              break b;

            case 1:
              if (isContextProvider(JSCompiler_inline_result.type)) {
                JSCompiler_inline_result = JSCompiler_inline_result.stateNode.__reactInternalMemoizedMergedChildContext;
                break b;
              }

          }

          JSCompiler_inline_result = JSCompiler_inline_result.return;
        } while (null !== JSCompiler_inline_result);

        throw Error("Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue.");
      }

      if (1 === parentComponent.tag) {
        var Component = parentComponent.type;

        if (isContextProvider(Component)) {
          parentComponent = processChildContext(parentComponent, Component, JSCompiler_inline_result);
          break a;
        }
      }

      parentComponent = JSCompiler_inline_result;
    } else parentComponent = emptyContextObject;

    null === container.context ? container.context = parentComponent : container.pendingContext = parentComponent;
    container = createUpdate(eventTime, lane);
    container.payload = {
      element: element
    };
    callback = undefined === callback ? null : callback;
    null !== callback && (container.callback = callback);
    enqueueUpdate(current, container);
    element = scheduleUpdateOnFiber(current, lane, eventTime);
    null !== element && entangleTransitions(element, current, lane);
    return lane;
  }

  function emptyFindFiberByHostInstance() {
    return null;
  }

  function findNodeHandle(componentOrHandle) {
    if (null == componentOrHandle) return null;
    if ("number" === typeof componentOrHandle) return componentOrHandle;
    if (componentOrHandle._nativeTag) return componentOrHandle._nativeTag;
    if (componentOrHandle.canonical && componentOrHandle.canonical._nativeTag) return componentOrHandle.canonical._nativeTag;
    componentOrHandle = findHostInstance(componentOrHandle);
    return null == componentOrHandle ? componentOrHandle : componentOrHandle.canonical ? componentOrHandle.canonical._nativeTag : componentOrHandle._nativeTag;
  }

  batchedUpdatesImpl = function batchedUpdatesImpl(fn, a) {
    var prevExecutionContext = executionContext;
    executionContext |= 1;

    try {
      return fn(a);
    } finally {
      executionContext = prevExecutionContext, 0 === executionContext && (workInProgressRootRenderTargetTime = _$$_REQUIRE(_dependencyMap[4]).unstable_now() + 500, includesLegacySyncCallbacks && flushSyncCallbacks());
    }
  };

  var roots = new Map(),
      devToolsConfig$jscomp$inline_939 = {
    findFiberByHostInstance: getInstanceFromInstance,
    bundleType: 0,
    version: "18.0.0-experimental-568dc3532",
    rendererPackageName: "react-native-renderer",
    rendererConfig: {
      getInspectorDataForViewTag: function getInspectorDataForViewTag() {
        throw Error("getInspectorDataForViewTag() is not available in production");
      },
      getInspectorDataForViewAtPoint: function () {
        throw Error("getInspectorDataForViewAtPoint() is not available in production.");
      }.bind(null, findNodeHandle)
    }
  };
  var internals$jscomp$inline_1177 = {
    bundleType: devToolsConfig$jscomp$inline_939.bundleType,
    version: devToolsConfig$jscomp$inline_939.version,
    rendererPackageName: devToolsConfig$jscomp$inline_939.rendererPackageName,
    rendererConfig: devToolsConfig$jscomp$inline_939.rendererConfig,
    overrideHookState: null,
    overrideHookStateDeletePath: null,
    overrideHookStateRenamePath: null,
    overrideProps: null,
    overridePropsDeletePath: null,
    overridePropsRenamePath: null,
    setErrorHandler: null,
    setSuspenseHandler: null,
    scheduleUpdate: null,
    currentDispatcherRef: ReactSharedInternals.ReactCurrentDispatcher,
    findHostInstanceByFiber: function findHostInstanceByFiber(fiber) {
      fiber = findCurrentHostFiber(fiber);
      return null === fiber ? null : fiber.stateNode;
    },
    findFiberByHostInstance: devToolsConfig$jscomp$inline_939.findFiberByHostInstance || emptyFindFiberByHostInstance,
    findHostInstancesForRefresh: null,
    scheduleRefresh: null,
    scheduleRoot: null,
    setRefreshHandler: null,
    getCurrentFiber: null,
    reconcilerVersion: "18.0.0-experimental-568dc3532"
  };

  if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
    var hook$jscomp$inline_1178 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
    if (!hook$jscomp$inline_1178.isDisabled && hook$jscomp$inline_1178.supportsFiber) try {
      rendererID = hook$jscomp$inline_1178.inject(internals$jscomp$inline_1177), injectedHook = hook$jscomp$inline_1178;
    } catch (err) {}
  }

  exports.createPortal = function (children, containerTag) {
    return createPortal(children, containerTag, null, 2 < arguments.length && undefined !== arguments[2] ? arguments[2] : null);
  };

  exports.dispatchCommand = function (handle, command, args) {
    null != handle._nativeTag && (handle._internalInstanceHandle ? nativeFabricUIManager.dispatchCommand(handle._internalInstanceHandle.stateNode.node, command, args) : _$$_REQUIRE(_dependencyMap[3]).UIManager.dispatchViewManagerCommand(handle._nativeTag, command, args));
  };

  exports.findHostInstance_DEPRECATED = function (componentOrHandle) {
    if (null == componentOrHandle) return null;
    if (componentOrHandle._nativeTag) return componentOrHandle;
    if (componentOrHandle.canonical && componentOrHandle.canonical._nativeTag) return componentOrHandle.canonical;
    componentOrHandle = findHostInstance(componentOrHandle);
    return null == componentOrHandle ? componentOrHandle : componentOrHandle.canonical ? componentOrHandle.canonical : componentOrHandle;
  };

  exports.findNodeHandle = findNodeHandle;

  exports.render = function (element, containerTag, callback, concurrentRoot) {
    var root = roots.get(containerTag);
    root || (root = concurrentRoot ? 1 : 0, concurrentRoot = new FiberRootNode(containerTag, root, false), root = createFiber(3, null, null, 1 === root ? 1 : 0), concurrentRoot.current = root, root.stateNode = concurrentRoot, root.memoizedState = {
      element: null
    }, initializeUpdateQueue(root), root = concurrentRoot, roots.set(containerTag, root));
    updateContainer(element, root, null, callback);

    a: if (element = root.current, element.child) switch (element.child.tag) {
      case 5:
        element = element.child.stateNode.canonical;
        break a;

      default:
        element = element.child.stateNode;
    } else element = null;

    return element;
  };

  exports.sendAccessibilityEvent = function (handle, eventType) {
    null != handle._nativeTag && (handle._internalInstanceHandle ? nativeFabricUIManager.sendAccessibilityEvent(handle._internalInstanceHandle.stateNode.node, eventType) : _$$_REQUIRE(_dependencyMap[3]).legacySendAccessibilityEvent(handle._nativeTag, eventType));
  };

  exports.stopSurface = function (containerTag) {
    var root = roots.get(containerTag);
    root && updateContainer(null, root, null, function () {
      roots.delete(containerTag);
    });
  };

  exports.unmountComponentAtNode = function (containerTag) {
    this.stopSurface(containerTag);
  };
},360,[56,17,6,136,180]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.coerceDisplayMode = coerceDisplayMode;
  exports.default = undefined;
  var DisplayMode = Object.freeze({
    VISIBLE: 1,
    SUSPENDED: 2,
    HIDDEN: 3
  });

  function coerceDisplayMode(value) {
    switch (value) {
      case DisplayMode.SUSPENDED:
        return DisplayMode.SUSPENDED;

      case DisplayMode.HIDDEN:
        return DisplayMode.HIDDEN;

      default:
        return DisplayMode.VISIBLE;
    }
  }

  var _default = DisplayMode;
  exports.default = _default;
},361,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _RCTDeviceEventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _NativeRedBox = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _NativeBugReporting = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

  function defaultExtras() {
    BugReporting.addFileSource('react_hierarchy.txt', function () {
      return _$$_REQUIRE(_dependencyMap[7])();
    });
  }

  var BugReporting = function () {
    function BugReporting() {
      (0, _classCallCheck2.default)(this, BugReporting);
    }

    (0, _createClass2.default)(BugReporting, null, [{
      key: "_maybeInit",
      value: function _maybeInit() {
        if (!BugReporting._subscription) {
          BugReporting._subscription = _RCTDeviceEventEmitter.default.addListener('collectBugExtraData', BugReporting.collectExtraData, null);
          defaultExtras();
        }

        if (!BugReporting._redboxSubscription) {
          BugReporting._redboxSubscription = _RCTDeviceEventEmitter.default.addListener('collectRedBoxExtraData', BugReporting.collectExtraData, null);
        }
      }
    }, {
      key: "addSource",
      value: function addSource(key, callback) {
        return this._addSource(key, callback, BugReporting._extraSources);
      }
    }, {
      key: "addFileSource",
      value: function addFileSource(key, callback) {
        return this._addSource(key, callback, BugReporting._fileSources);
      }
    }, {
      key: "_addSource",
      value: function _addSource(key, callback, source) {
        BugReporting._maybeInit();

        if (source.has(key)) {
          console.warn("BugReporting.add* called multiple times for same key '" + key + "'");
        }

        source.set(key, callback);
        return {
          remove: function remove() {
            source.delete(key);
          }
        };
      }
    }, {
      key: "collectExtraData",
      value: function collectExtraData() {
        var extraData = {};

        for (var _iterator = _createForOfIteratorHelperLoose(BugReporting._extraSources), _step; !(_step = _iterator()).done;) {
          var _ref = _step.value;

          var _ref2 = (0, _slicedToArray2.default)(_ref, 2);

          var _key = _ref2[0];
          var callback = _ref2[1];
          extraData[_key] = callback();
        }

        var fileData = {};

        for (var _iterator2 = _createForOfIteratorHelperLoose(BugReporting._fileSources), _step2; !(_step2 = _iterator2()).done;) {
          var _ref3 = _step2.value;

          var _ref4 = (0, _slicedToArray2.default)(_ref3, 2);

          var _key2 = _ref4[0];
          var _callback = _ref4[1];
          fileData[_key2] = _callback();
        }

        if (_NativeBugReporting.default != null && _NativeBugReporting.default.setExtraData != null) {
          _NativeBugReporting.default.setExtraData(extraData, fileData);
        }

        if (_NativeRedBox.default != null && _NativeRedBox.default.setExtraData != null) {
          _NativeRedBox.default.setExtraData(extraData, 'From BugReporting.js');
        }

        return {
          extras: extraData,
          files: fileData
        };
      }
    }]);
    return BugReporting;
  }();

  BugReporting._extraSources = new Map();
  BugReporting._fileSources = new Map();
  BugReporting._subscription = null;
  BugReporting._redboxSubscription = null;
  module.exports = BugReporting;
},362,[5,41,7,8,30,363,364,365]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('RedBox');

  exports.default = _default;
},363,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('BugReporting');

  exports.default = _default;
},364,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function dumpReactTree() {
    try {
      return getReactTree();
    } catch (e) {
      return 'Failed to dump react tree: ' + e;
    }
  }

  function getReactTree() {
    return "React tree dumps have been temporarily disabled while React is upgraded to Fiber.";
  }

  module.exports = dumpReactTree;
},365,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _listeners = [];
  var _activeScene = {
    name: 'default'
  };
  var SceneTracker = {
    setActiveScene: function setActiveScene(scene) {
      _activeScene = scene;

      _listeners.forEach(function (listener) {
        return listener(_activeScene);
      });
    },
    getActiveScene: function getActiveScene() {
      return _activeScene;
    },
    addActiveSceneChangedListener: function addActiveSceneChangedListener(callback) {
      _listeners.push(callback);

      return {
        remove: function remove() {
          _listeners = _listeners.filter(function (listener) {
            return callback !== listener;
          });
        }
      };
    }
  };
  module.exports = SceneTracker;
},366,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _NativeEventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _logError = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _NativeAppState = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var AppState = function () {
    function AppState() {
      var _this = this;

      (0, _classCallCheck2.default)(this, AppState);
      this.currentState = null;

      if (_NativeAppState.default == null) {
        this.isAvailable = false;
      } else {
        this.isAvailable = true;
        var emitter = new _NativeEventEmitter.default(_Platform.default.OS !== 'ios' ? null : _NativeAppState.default);
        this._emitter = emitter;
        this.currentState = _NativeAppState.default.getConstants().initialAppState;
        var eventUpdated = false;
        emitter.addListener('appStateDidChange', function (appStateData) {
          eventUpdated = true;
          _this.currentState = appStateData.app_state;
        });

        _NativeAppState.default.getCurrentAppState(function (appStateData) {
          if (!eventUpdated && _this.currentState !== appStateData.app_state) {
            _this.currentState = appStateData.app_state;
            emitter.emit('appStateDidChange', appStateData);
          }
        }, _logError.default);
      }
    }

    (0, _createClass2.default)(AppState, [{
      key: "addEventListener",
      value: function addEventListener(type, handler) {
        var emitter = this._emitter;

        if (emitter == null) {
          throw new Error('Cannot use AppState when `isAvailable` is false.');
        }

        switch (type) {
          case 'change':
            var changeHandler = handler;
            return emitter.addListener('appStateDidChange', function (appStateData) {
              changeHandler(appStateData.app_state);
            });

          case 'memoryWarning':
            var memoryWarningHandler = handler;
            return emitter.addListener('memoryWarning', memoryWarningHandler);

          case 'blur':
          case 'focus':
            var focusOrBlurHandler = handler;
            return emitter.addListener('appStateFocusChange', function (hasFocus) {
              if (type === 'blur' && !hasFocus) {
                focusOrBlurHandler();
              }

              if (type === 'focus' && hasFocus) {
                focusOrBlurHandler();
              }
            });
        }

        throw new Error('Trying to subscribe to unknown event: ' + type);
      }
    }, {
      key: "removeEventListener",
      value: function removeEventListener(type, listener) {
        var emitter = this._emitter;

        if (emitter == null) {
          throw new Error('Cannot use AppState when `isAvailable` is false.');
        }

        switch (type) {
          case 'change':
            emitter.removeListener('appStateDidChange', listener);
            return;

          case 'memoryWarning':
            emitter.removeListener('memoryWarning', listener);
            return;

          case 'blur':
          case 'focus':
            emitter.addListener('appStateFocusChange', listener);
            return;
        }

        throw new Error('Trying to unsubscribe from unknown event: ' + type);
      }
    }]);
    return AppState;
  }();

  module.exports = new AppState();
},367,[5,7,8,110,368,369,37]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var logError = function logError() {
    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
      args[_key] = arguments[_key];
    }

    if (args.length === 1 && args[0] instanceof Error) {
      var err = args[0];
      console.error('Error: "' + err.message + '".  Stack:\n' + err.stack);
    } else {}
  };

  module.exports = logError;
},368,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.getEnforcing('AppState');

  exports.default = _default;
},369,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _NativeAsyncLocalStorage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _NativeAsyncSQLiteDBStorage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var RCTAsyncStorage = _NativeAsyncSQLiteDBStorage.default || _NativeAsyncLocalStorage.default;
  var AsyncStorage = {
    _getRequests: [],
    _getKeys: [],
    _immediate: null,
    getItem: function getItem(key, callback) {
      (0, _invariant.default)(RCTAsyncStorage, 'RCTAsyncStorage not available');
      return new Promise(function (resolve, reject) {
        RCTAsyncStorage.multiGet([key], function (errors, result) {
          var value = result && result[0] && result[0][1] ? result[0][1] : null;
          var errs = convertErrors(errors);
          callback && callback(errs && errs[0], value);

          if (errs) {
            reject(errs[0]);
          } else {
            resolve(value);
          }
        });
      });
    },
    setItem: function setItem(key, value, callback) {
      (0, _invariant.default)(RCTAsyncStorage, 'RCTAsyncStorage not available');
      return new Promise(function (resolve, reject) {
        RCTAsyncStorage.multiSet([[key, value]], function (errors) {
          var errs = convertErrors(errors);
          callback && callback(errs && errs[0]);

          if (errs) {
            reject(errs[0]);
          } else {
            resolve();
          }
        });
      });
    },
    removeItem: function removeItem(key, callback) {
      (0, _invariant.default)(RCTAsyncStorage, 'RCTAsyncStorage not available');
      return new Promise(function (resolve, reject) {
        RCTAsyncStorage.multiRemove([key], function (errors) {
          var errs = convertErrors(errors);
          callback && callback(errs && errs[0]);

          if (errs) {
            reject(errs[0]);
          } else {
            resolve();
          }
        });
      });
    },
    mergeItem: function mergeItem(key, value, callback) {
      (0, _invariant.default)(RCTAsyncStorage, 'RCTAsyncStorage not available');
      return new Promise(function (resolve, reject) {
        RCTAsyncStorage.multiMerge([[key, value]], function (errors) {
          var errs = convertErrors(errors);
          callback && callback(errs && errs[0]);

          if (errs) {
            reject(errs[0]);
          } else {
            resolve();
          }
        });
      });
    },
    clear: function clear(callback) {
      (0, _invariant.default)(RCTAsyncStorage, 'RCTAsyncStorage not available');
      return new Promise(function (resolve, reject) {
        RCTAsyncStorage.clear(function (error) {
          callback && callback(convertError(error));

          if (error && convertError(error)) {
            reject(convertError(error));
          } else {
            resolve();
          }
        });
      });
    },
    getAllKeys: function getAllKeys(callback) {
      (0, _invariant.default)(RCTAsyncStorage, 'RCTAsyncStorage not available');
      return new Promise(function (resolve, reject) {
        RCTAsyncStorage.getAllKeys(function (error, keys) {
          callback && callback(convertError(error), keys);

          if (error) {
            reject(convertError(error));
          } else {
            resolve(keys);
          }
        });
      });
    },
    flushGetRequests: function flushGetRequests() {
      var getRequests = this._getRequests;
      var getKeys = this._getKeys;
      this._getRequests = [];
      this._getKeys = [];
      (0, _invariant.default)(RCTAsyncStorage, 'RCTAsyncStorage not available');
      RCTAsyncStorage.multiGet(getKeys, function (errors, result) {
        var map = {};
        result && result.forEach(function (_ref) {
          var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
              key = _ref2[0],
              value = _ref2[1];

          map[key] = value;
          return value;
        });
        var reqLength = getRequests.length;

        for (var i = 0; i < reqLength; i++) {
          var request = getRequests[i];
          var requestKeys = request.keys;
          var requestResult = requestKeys.map(function (key) {
            return [key, map[key]];
          });
          request.callback && request.callback(null, requestResult);
          request.resolve && request.resolve(requestResult);
        }
      });
    },
    multiGet: function multiGet(keys, callback) {
      var _this = this;

      if (!this._immediate) {
        this._immediate = setImmediate(function () {
          _this._immediate = null;

          _this.flushGetRequests();
        });
      }

      return new Promise(function (resolve, reject) {
        _this._getRequests.push({
          keys: keys,
          callback: callback,
          keyIndex: _this._getKeys.length,
          resolve: resolve,
          reject: reject
        });

        keys.forEach(function (key) {
          if (_this._getKeys.indexOf(key) === -1) {
            _this._getKeys.push(key);
          }
        });
      });
    },
    multiSet: function multiSet(keyValuePairs, callback) {
      (0, _invariant.default)(RCTAsyncStorage, 'RCTAsyncStorage not available');
      return new Promise(function (resolve, reject) {
        RCTAsyncStorage.multiSet(keyValuePairs, function (errors) {
          var error = convertErrors(errors);
          callback && callback(error);

          if (error) {
            reject(error);
          } else {
            resolve();
          }
        });
      });
    },
    multiRemove: function multiRemove(keys, callback) {
      (0, _invariant.default)(RCTAsyncStorage, 'RCTAsyncStorage not available');
      return new Promise(function (resolve, reject) {
        RCTAsyncStorage.multiRemove(keys, function (errors) {
          var error = convertErrors(errors);
          callback && callback(error);

          if (error) {
            reject(error);
          } else {
            resolve();
          }
        });
      });
    },
    multiMerge: function multiMerge(keyValuePairs, callback) {
      (0, _invariant.default)(RCTAsyncStorage, 'RCTAsyncStorage not available');
      return new Promise(function (resolve, reject) {
        RCTAsyncStorage.multiMerge(keyValuePairs, function (errors) {
          var error = convertErrors(errors);
          callback && callback(error);

          if (error) {
            reject(error);
          } else {
            resolve();
          }
        });
      });
    }
  };

  if (RCTAsyncStorage && !RCTAsyncStorage.multiMerge) {
    delete AsyncStorage.mergeItem;
    delete AsyncStorage.multiMerge;
  }

  function convertErrors(errs) {
    if (!errs) {
      return null;
    }

    return (Array.isArray(errs) ? errs : [errs]).map(function (e) {
      return convertError(e);
    });
  }

  function convertError(error) {
    if (!error) {
      return null;
    }

    var out = new Error(error.message);
    out.key = error.key;
    return out;
  }

  module.exports = AsyncStorage;
},370,[5,41,371,372,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('AsyncLocalStorage');

  exports.default = _default;
},371,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('AsyncSQLiteDBStorage');

  exports.default = _default;
},372,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _NativeClipboard = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  module.exports = {
    getString: function getString() {
      return _NativeClipboard.default.getString();
    },
    setString: function setString(content) {
      _NativeClipboard.default.setString(content);
    }
  };
},373,[5,374]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.getEnforcing('Clipboard');

  exports.default = _default;
},374,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _NativeDeviceInfo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  module.exports = _NativeDeviceInfo.default;
},375,[5,172]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _NativeDevSettings = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _NativeEventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var DevSettings = {
    addMenuItem: function addMenuItem(title, handler) {},
    reload: function reload(reason) {},
    onFastRefresh: function onFastRefresh() {}
  };
  module.exports = DevSettings;
},376,[5,377,110,37]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.getEnforcing('DevSettings');

  exports.default = _default;
},377,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _NativeImagePickerIOS = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var ImagePickerIOS = {
    canRecordVideos: function canRecordVideos(callback) {
      (0, _invariant.default)(_NativeImagePickerIOS.default, 'ImagePickerIOS is not available');
      return _NativeImagePickerIOS.default.canRecordVideos(callback);
    },
    canUseCamera: function canUseCamera(callback) {
      (0, _invariant.default)(_NativeImagePickerIOS.default, 'ImagePickerIOS is not available');
      return _NativeImagePickerIOS.default.canUseCamera(callback);
    },
    openCameraDialog: function openCameraDialog(config, successCallback, cancelCallback) {
      (0, _invariant.default)(_NativeImagePickerIOS.default, 'ImagePickerIOS is not available');
      var newConfig = {
        videoMode: true,
        unmirrorFrontFacingCamera: false
      };

      if (config.videoMode != null) {
        newConfig.videoMode = config.videoMode;
      }

      if (config.unmirrorFrontFacingCamera != null) {
        newConfig.unmirrorFrontFacingCamera = config.unmirrorFrontFacingCamera;
      }

      return _NativeImagePickerIOS.default.openCameraDialog(newConfig, successCallback, cancelCallback);
    },
    openSelectDialog: function openSelectDialog(config, successCallback, cancelCallback) {
      (0, _invariant.default)(_NativeImagePickerIOS.default, 'ImagePickerIOS is not available');
      var newConfig = {
        showImages: true,
        showVideos: false
      };

      if (config.showImages != null) {
        newConfig.showImages = config.showImages;
      }

      if (config.showVideos != null) {
        newConfig.showVideos = config.showVideos;
      }

      return _NativeImagePickerIOS.default.openSelectDialog(newConfig, successCallback, cancelCallback);
    },
    removePendingVideo: function removePendingVideo(url) {
      (0, _invariant.default)(_NativeImagePickerIOS.default, 'ImagePickerIOS is not available');

      _NativeImagePickerIOS.default.removePendingVideo(url);
    },
    clearAllPendingVideos: function clearAllPendingVideos() {
      (0, _invariant.default)(_NativeImagePickerIOS.default, 'ImagePickerIOS is not available');

      _NativeImagePickerIOS.default.clearAllPendingVideos();
    }
  };
  module.exports = ImagePickerIOS;
},378,[5,379,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('ImagePickerIOS');

  exports.default = _default;
},379,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _NativeEventEmitter2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _InteractionManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _NativeLinkingManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _NativeIntentAndroid = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _nullthrows = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Linking = function (_NativeEventEmitter) {
    (0, _inherits2.default)(Linking, _NativeEventEmitter);

    var _super = _createSuper(Linking);

    function Linking() {
      (0, _classCallCheck2.default)(this, Linking);
      return _super.call(this, _Platform.default.OS === 'ios' ? (0, _nullthrows.default)(_NativeLinkingManager.default) : undefined);
    }

    (0, _createClass2.default)(Linking, [{
      key: "addEventListener",
      value: function addEventListener(eventType, listener, context) {
        return this.addListener(eventType, listener);
      }
    }, {
      key: "removeEventListener",
      value: function removeEventListener(eventType, listener) {
        this.removeListener(eventType, listener);
      }
    }, {
      key: "openURL",
      value: function openURL(url) {
        this._validateURL(url);

        if (_Platform.default.OS === 'android') {
          return (0, _nullthrows.default)(_NativeIntentAndroid.default).openURL(url);
        } else {
          return (0, _nullthrows.default)(_NativeLinkingManager.default).openURL(url);
        }
      }
    }, {
      key: "canOpenURL",
      value: function canOpenURL(url) {
        this._validateURL(url);

        if (_Platform.default.OS === 'android') {
          return (0, _nullthrows.default)(_NativeIntentAndroid.default).canOpenURL(url);
        } else {
          return (0, _nullthrows.default)(_NativeLinkingManager.default).canOpenURL(url);
        }
      }
    }, {
      key: "openSettings",
      value: function openSettings() {
        if (_Platform.default.OS === 'android') {
          return (0, _nullthrows.default)(_NativeIntentAndroid.default).openSettings();
        } else {
          return (0, _nullthrows.default)(_NativeLinkingManager.default).openSettings();
        }
      }
    }, {
      key: "getInitialURL",
      value: function getInitialURL() {
        return _Platform.default.OS === 'android' ? _InteractionManager.default.runAfterInteractions().then(function () {
          return (0, _nullthrows.default)(_NativeIntentAndroid.default).getInitialURL();
        }) : (0, _nullthrows.default)(_NativeLinkingManager.default).getInitialURL();
      }
    }, {
      key: "sendIntent",
      value: function sendIntent(action, extras) {
        if (_Platform.default.OS === 'android') {
          return (0, _nullthrows.default)(_NativeIntentAndroid.default).sendIntent(action, extras);
        } else {
          return new Promise(function (resolve, reject) {
            return reject(new Error('Unsupported'));
          });
        }
      }
    }, {
      key: "_validateURL",
      value: function _validateURL(url) {
        (0, _invariant.default)(typeof url === 'string', 'Invalid URL: should be a string. Was: ' + url);
        (0, _invariant.default)(url, 'Invalid URL: cannot be empty');
      }
    }]);
    return Linking;
  }(_NativeEventEmitter2.default);

  module.exports = new Linking();
},380,[5,7,8,12,14,16,110,230,37,381,382,36,337]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('LinkingManager');

  exports.default = _default;
},381,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('IntentAndroid');

  exports.default = _default;
},382,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _RCTLog = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var LogBox;
  {
    LogBox = {
      install: function install() {},
      uninstall: function uninstall() {},
      isInstalled: function isInstalled() {
        return false;
      },
      ignoreLogs: function ignoreLogs(patterns) {},
      ignoreAllLogs: function ignoreAllLogs(value) {},
      clearAllLogs: function clearAllLogs() {},
      addLog: function addLog(log) {},
      addException: function addException(error) {}
    };
  }
  module.exports = LogBox;
},383,[5,37,129]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var PanResponder = {
    _initializeGestureState: function _initializeGestureState(gestureState) {
      gestureState.moveX = 0;
      gestureState.moveY = 0;
      gestureState.x0 = 0;
      gestureState.y0 = 0;
      gestureState.dx = 0;
      gestureState.dy = 0;
      gestureState.vx = 0;
      gestureState.vy = 0;
      gestureState.numberActiveTouches = 0;
      gestureState._accountsForMovesUpTo = 0;
    },
    _updateGestureStateOnMove: function _updateGestureStateOnMove(gestureState, touchHistory) {
      gestureState.numberActiveTouches = touchHistory.numberActiveTouches;
      gestureState.moveX = _$$_REQUIRE(_dependencyMap[0]).currentCentroidXOfTouchesChangedAfter(touchHistory, gestureState._accountsForMovesUpTo);
      gestureState.moveY = _$$_REQUIRE(_dependencyMap[0]).currentCentroidYOfTouchesChangedAfter(touchHistory, gestureState._accountsForMovesUpTo);
      var movedAfter = gestureState._accountsForMovesUpTo;

      var prevX = _$$_REQUIRE(_dependencyMap[0]).previousCentroidXOfTouchesChangedAfter(touchHistory, movedAfter);

      var x = _$$_REQUIRE(_dependencyMap[0]).currentCentroidXOfTouchesChangedAfter(touchHistory, movedAfter);

      var prevY = _$$_REQUIRE(_dependencyMap[0]).previousCentroidYOfTouchesChangedAfter(touchHistory, movedAfter);

      var y = _$$_REQUIRE(_dependencyMap[0]).currentCentroidYOfTouchesChangedAfter(touchHistory, movedAfter);

      var nextDX = gestureState.dx + (x - prevX);
      var nextDY = gestureState.dy + (y - prevY);
      var dt = touchHistory.mostRecentTimeStamp - gestureState._accountsForMovesUpTo;
      gestureState.vx = (nextDX - gestureState.dx) / dt;
      gestureState.vy = (nextDY - gestureState.dy) / dt;
      gestureState.dx = nextDX;
      gestureState.dy = nextDY;
      gestureState._accountsForMovesUpTo = touchHistory.mostRecentTimeStamp;
    },
    create: function create(config) {
      var interactionState = {
        handle: null
      };
      var gestureState = {
        stateID: Math.random(),
        moveX: 0,
        moveY: 0,
        x0: 0,
        y0: 0,
        dx: 0,
        dy: 0,
        vx: 0,
        vy: 0,
        numberActiveTouches: 0,
        _accountsForMovesUpTo: 0
      };
      var panHandlers = {
        onStartShouldSetResponder: function onStartShouldSetResponder(event) {
          return config.onStartShouldSetPanResponder == null ? false : config.onStartShouldSetPanResponder(event, gestureState);
        },
        onMoveShouldSetResponder: function onMoveShouldSetResponder(event) {
          return config.onMoveShouldSetPanResponder == null ? false : config.onMoveShouldSetPanResponder(event, gestureState);
        },
        onStartShouldSetResponderCapture: function onStartShouldSetResponderCapture(event) {
          if (event.nativeEvent.touches.length === 1) {
            PanResponder._initializeGestureState(gestureState);
          }

          gestureState.numberActiveTouches = event.touchHistory.numberActiveTouches;
          return config.onStartShouldSetPanResponderCapture != null ? config.onStartShouldSetPanResponderCapture(event, gestureState) : false;
        },
        onMoveShouldSetResponderCapture: function onMoveShouldSetResponderCapture(event) {
          var touchHistory = event.touchHistory;

          if (gestureState._accountsForMovesUpTo === touchHistory.mostRecentTimeStamp) {
            return false;
          }

          PanResponder._updateGestureStateOnMove(gestureState, touchHistory);

          return config.onMoveShouldSetPanResponderCapture ? config.onMoveShouldSetPanResponderCapture(event, gestureState) : false;
        },
        onResponderGrant: function onResponderGrant(event) {
          if (!interactionState.handle) {
            interactionState.handle = _$$_REQUIRE(_dependencyMap[1]).createInteractionHandle();
          }

          gestureState.x0 = _$$_REQUIRE(_dependencyMap[0]).currentCentroidX(event.touchHistory);
          gestureState.y0 = _$$_REQUIRE(_dependencyMap[0]).currentCentroidY(event.touchHistory);
          gestureState.dx = 0;
          gestureState.dy = 0;

          if (config.onPanResponderGrant) {
            config.onPanResponderGrant(event, gestureState);
          }

          return config.onShouldBlockNativeResponder == null ? true : config.onShouldBlockNativeResponder(event, gestureState);
        },
        onResponderReject: function onResponderReject(event) {
          clearInteractionHandle(interactionState, config.onPanResponderReject, event, gestureState);
        },
        onResponderRelease: function onResponderRelease(event) {
          clearInteractionHandle(interactionState, config.onPanResponderRelease, event, gestureState);

          PanResponder._initializeGestureState(gestureState);
        },
        onResponderStart: function onResponderStart(event) {
          var touchHistory = event.touchHistory;
          gestureState.numberActiveTouches = touchHistory.numberActiveTouches;

          if (config.onPanResponderStart) {
            config.onPanResponderStart(event, gestureState);
          }
        },
        onResponderMove: function onResponderMove(event) {
          var touchHistory = event.touchHistory;

          if (gestureState._accountsForMovesUpTo === touchHistory.mostRecentTimeStamp) {
            return;
          }

          PanResponder._updateGestureStateOnMove(gestureState, touchHistory);

          if (config.onPanResponderMove) {
            config.onPanResponderMove(event, gestureState);
          }
        },
        onResponderEnd: function onResponderEnd(event) {
          var touchHistory = event.touchHistory;
          gestureState.numberActiveTouches = touchHistory.numberActiveTouches;
          clearInteractionHandle(interactionState, config.onPanResponderEnd, event, gestureState);
        },
        onResponderTerminate: function onResponderTerminate(event) {
          clearInteractionHandle(interactionState, config.onPanResponderTerminate, event, gestureState);

          PanResponder._initializeGestureState(gestureState);
        },
        onResponderTerminationRequest: function onResponderTerminationRequest(event) {
          return config.onPanResponderTerminationRequest == null ? true : config.onPanResponderTerminationRequest(event, gestureState);
        }
      };
      return {
        panHandlers: panHandlers,
        getInteractionHandle: function getInteractionHandle() {
          return interactionState.handle;
        }
      };
    }
  };

  function clearInteractionHandle(interactionState, callback, event, gestureState) {
    if (interactionState.handle) {
      _$$_REQUIRE(_dependencyMap[1]).clearInteractionHandle(interactionState.handle);

      interactionState.handle = null;
    }

    if (callback) {
      callback(event, gestureState);
    }
  }

  module.exports = PanResponder;
},384,[385,230]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var TouchHistoryMath = {
    centroidDimension: function centroidDimension(touchHistory, touchesChangedAfter, isXAxis, ofCurrent) {
      var touchBank = touchHistory.touchBank;
      var total = 0;
      var count = 0;
      var oneTouchData = touchHistory.numberActiveTouches === 1 ? touchHistory.touchBank[touchHistory.indexOfSingleActiveTouch] : null;

      if (oneTouchData !== null) {
        if (oneTouchData.touchActive && oneTouchData.currentTimeStamp > touchesChangedAfter) {
          total += ofCurrent && isXAxis ? oneTouchData.currentPageX : ofCurrent && !isXAxis ? oneTouchData.currentPageY : !ofCurrent && isXAxis ? oneTouchData.previousPageX : oneTouchData.previousPageY;
          count = 1;
        }
      } else {
        for (var i = 0; i < touchBank.length; i++) {
          var touchTrack = touchBank[i];

          if (touchTrack !== null && touchTrack !== undefined && touchTrack.touchActive && touchTrack.currentTimeStamp >= touchesChangedAfter) {
            var toAdd = undefined;

            if (ofCurrent && isXAxis) {
              toAdd = touchTrack.currentPageX;
            } else if (ofCurrent && !isXAxis) {
              toAdd = touchTrack.currentPageY;
            } else if (!ofCurrent && isXAxis) {
              toAdd = touchTrack.previousPageX;
            } else {
              toAdd = touchTrack.previousPageY;
            }

            total += toAdd;
            count++;
          }
        }
      }

      return count > 0 ? total / count : TouchHistoryMath.noCentroid;
    },
    currentCentroidXOfTouchesChangedAfter: function currentCentroidXOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {
      return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, true, true);
    },
    currentCentroidYOfTouchesChangedAfter: function currentCentroidYOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {
      return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false, true);
    },
    previousCentroidXOfTouchesChangedAfter: function previousCentroidXOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {
      return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, true, false);
    },
    previousCentroidYOfTouchesChangedAfter: function previousCentroidYOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {
      return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false, false);
    },
    currentCentroidX: function currentCentroidX(touchHistory) {
      return TouchHistoryMath.centroidDimension(touchHistory, 0, true, true);
    },
    currentCentroidY: function currentCentroidY(touchHistory) {
      return TouchHistoryMath.centroidDimension(touchHistory, 0, false, true);
    },
    noCentroid: -1
  };
  module.exports = TouchHistoryMath;
},385,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _NativeDialogManagerAndroid = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _NativePermissionsAndroid = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var PERMISSION_REQUEST_RESULT = Object.freeze({
    GRANTED: 'granted',
    DENIED: 'denied',
    NEVER_ASK_AGAIN: 'never_ask_again'
  });
  var PERMISSIONS = Object.freeze({
    READ_CALENDAR: 'android.permission.READ_CALENDAR',
    WRITE_CALENDAR: 'android.permission.WRITE_CALENDAR',
    CAMERA: 'android.permission.CAMERA',
    READ_CONTACTS: 'android.permission.READ_CONTACTS',
    WRITE_CONTACTS: 'android.permission.WRITE_CONTACTS',
    GET_ACCOUNTS: 'android.permission.GET_ACCOUNTS',
    ACCESS_FINE_LOCATION: 'android.permission.ACCESS_FINE_LOCATION',
    ACCESS_COARSE_LOCATION: 'android.permission.ACCESS_COARSE_LOCATION',
    ACCESS_BACKGROUND_LOCATION: 'android.permission.ACCESS_BACKGROUND_LOCATION',
    RECORD_AUDIO: 'android.permission.RECORD_AUDIO',
    READ_PHONE_STATE: 'android.permission.READ_PHONE_STATE',
    CALL_PHONE: 'android.permission.CALL_PHONE',
    READ_CALL_LOG: 'android.permission.READ_CALL_LOG',
    WRITE_CALL_LOG: 'android.permission.WRITE_CALL_LOG',
    ADD_VOICEMAIL: 'com.android.voicemail.permission.ADD_VOICEMAIL',
    USE_SIP: 'android.permission.USE_SIP',
    PROCESS_OUTGOING_CALLS: 'android.permission.PROCESS_OUTGOING_CALLS',
    BODY_SENSORS: 'android.permission.BODY_SENSORS',
    SEND_SMS: 'android.permission.SEND_SMS',
    RECEIVE_SMS: 'android.permission.RECEIVE_SMS',
    READ_SMS: 'android.permission.READ_SMS',
    RECEIVE_WAP_PUSH: 'android.permission.RECEIVE_WAP_PUSH',
    RECEIVE_MMS: 'android.permission.RECEIVE_MMS',
    READ_EXTERNAL_STORAGE: 'android.permission.READ_EXTERNAL_STORAGE',
    WRITE_EXTERNAL_STORAGE: 'android.permission.WRITE_EXTERNAL_STORAGE',
    BLUETOOTH_CONNECT: 'android.permission.BLUETOOTH_CONNECT',
    BLUETOOTH_SCAN: 'android.permission.BLUETOOTH_SCAN',
    BLUETOOTH_ADVERTISE: 'android.permission.BLUETOOTH_ADVERTISE',
    ACCESS_MEDIA_LOCATION: 'android.permission.ACCESS_MEDIA_LOCATION'
  });

  var PermissionsAndroid = function () {
    function PermissionsAndroid() {
      (0, _classCallCheck2.default)(this, PermissionsAndroid);
      this.PERMISSIONS = PERMISSIONS;
      this.RESULTS = PERMISSION_REQUEST_RESULT;
    }

    (0, _createClass2.default)(PermissionsAndroid, [{
      key: "checkPermission",
      value: function checkPermission(permission) {
        console.warn('"PermissionsAndroid.checkPermission" is deprecated. Use "PermissionsAndroid.check" instead');
        {
          console.warn('"PermissionsAndroid" module works only for Android platform.');
          return Promise.resolve(false);
        }
        (0, _invariant.default)(_NativePermissionsAndroid.default, 'PermissionsAndroid is not installed correctly.');
        return _NativePermissionsAndroid.default.checkPermission(permission);
      }
    }, {
      key: "check",
      value: function check(permission) {
        {
          console.warn('"PermissionsAndroid" module works only for Android platform.');
          return Promise.resolve(false);
        }
        (0, _invariant.default)(_NativePermissionsAndroid.default, 'PermissionsAndroid is not installed correctly.');
        return _NativePermissionsAndroid.default.checkPermission(permission);
      }
    }, {
      key: "requestPermission",
      value: function requestPermission(permission, rationale) {
        var response;
        return _regenerator.default.async(function requestPermission$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                console.warn('"PermissionsAndroid.requestPermission" is deprecated. Use "PermissionsAndroid.request" instead');
                console.warn('"PermissionsAndroid" module works only for Android platform.');
                return _context.abrupt("return", Promise.resolve(false));

              case 4:
                _context.next = 6;
                return _regenerator.default.awrap(this.request(permission, rationale));

              case 6:
                response = _context.sent;
                return _context.abrupt("return", response === this.RESULTS.GRANTED);

              case 8:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "request",
      value: function request(permission, rationale) {
        var shouldShowRationale;
        return _regenerator.default.async(function request$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                console.warn('"PermissionsAndroid" module works only for Android platform.');
                return _context2.abrupt("return", Promise.resolve(this.RESULTS.DENIED));

              case 3:
                (0, _invariant.default)(_NativePermissionsAndroid.default, 'PermissionsAndroid is not installed correctly.');

                if (!rationale) {
                  _context2.next = 10;
                  break;
                }

                _context2.next = 7;
                return _regenerator.default.awrap(_NativePermissionsAndroid.default.shouldShowRequestPermissionRationale(permission));

              case 7:
                shouldShowRationale = _context2.sent;

                if (!(shouldShowRationale && !!_NativeDialogManagerAndroid.default)) {
                  _context2.next = 10;
                  break;
                }

                return _context2.abrupt("return", new Promise(function (resolve, reject) {
                  var options = (0, _extends2.default)({}, rationale);

                  _NativeDialogManagerAndroid.default.showAlert(options, function () {
                    return reject(new Error('Error showing rationale'));
                  }, function () {
                    return resolve(_NativePermissionsAndroid.default.requestPermission(permission));
                  });
                }));

              case 10:
                return _context2.abrupt("return", _NativePermissionsAndroid.default.requestPermission(permission));

              case 11:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "requestMultiple",
      value: function requestMultiple(permissions) {
        {
          console.warn('"PermissionsAndroid" module works only for Android platform.');
          return Promise.resolve({});
        }
        (0, _invariant.default)(_NativePermissionsAndroid.default, 'PermissionsAndroid is not installed correctly.');
        return _NativePermissionsAndroid.default.requestMultiplePermissions(permissions);
      }
    }]);
    return PermissionsAndroid;
  }();

  var PermissionsAndroidInstance = new PermissionsAndroid();
  module.exports = PermissionsAndroidInstance;
},386,[5,80,6,7,8,122,387,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('PermissionsAndroid');

  exports.default = _default;
},387,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _NativeEventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _NativePushNotificationManagerIOS = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _Platform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var PushNotificationEmitter = new _NativeEventEmitter.default(_Platform.default.OS !== 'ios' ? null : _NativePushNotificationManagerIOS.default);

  var _notifHandlers = new Map();

  var DEVICE_NOTIF_EVENT = 'remoteNotificationReceived';
  var NOTIF_REGISTER_EVENT = 'remoteNotificationsRegistered';
  var NOTIF_REGISTRATION_ERROR_EVENT = 'remoteNotificationRegistrationError';
  var DEVICE_LOCAL_NOTIF_EVENT = 'localNotificationReceived';

  var PushNotificationIOS = function () {
    function PushNotificationIOS(nativeNotif) {
      var _this = this;

      (0, _classCallCheck2.default)(this, PushNotificationIOS);
      this._data = {};
      this._remoteNotificationCompleteCallbackCalled = false;
      this._isRemote = nativeNotif.remote;

      if (this._isRemote) {
        this._notificationId = nativeNotif.notificationId;
      }

      if (nativeNotif.remote) {
        Object.keys(nativeNotif).forEach(function (notifKey) {
          var notifVal = nativeNotif[notifKey];

          if (notifKey === 'aps') {
            _this._alert = notifVal.alert;
            _this._sound = notifVal.sound;
            _this._badgeCount = notifVal.badge;
            _this._category = notifVal.category;
            _this._contentAvailable = notifVal['content-available'];
            _this._threadID = notifVal['thread-id'];
          } else {
            _this._data[notifKey] = notifVal;
          }
        });
      } else {
        this._badgeCount = nativeNotif.applicationIconBadgeNumber;
        this._sound = nativeNotif.soundName;
        this._alert = nativeNotif.alertBody;
        this._data = nativeNotif.userInfo;
        this._category = nativeNotif.category;
      }
    }

    (0, _createClass2.default)(PushNotificationIOS, [{
      key: "finish",
      value: function finish(fetchResult) {
        if (!this._isRemote || !this._notificationId || this._remoteNotificationCompleteCallbackCalled) {
          return;
        }

        this._remoteNotificationCompleteCallbackCalled = true;
        (0, _invariant.default)(_NativePushNotificationManagerIOS.default, 'PushNotificationManager is not available.');

        _NativePushNotificationManagerIOS.default.onFinishRemoteNotification(this._notificationId, fetchResult);
      }
    }, {
      key: "getMessage",
      value: function getMessage() {
        return this._alert;
      }
    }, {
      key: "getSound",
      value: function getSound() {
        return this._sound;
      }
    }, {
      key: "getCategory",
      value: function getCategory() {
        return this._category;
      }
    }, {
      key: "getAlert",
      value: function getAlert() {
        return this._alert;
      }
    }, {
      key: "getContentAvailable",
      value: function getContentAvailable() {
        return this._contentAvailable;
      }
    }, {
      key: "getBadgeCount",
      value: function getBadgeCount() {
        return this._badgeCount;
      }
    }, {
      key: "getData",
      value: function getData() {
        return this._data;
      }
    }, {
      key: "getThreadID",
      value: function getThreadID() {
        return this._threadID;
      }
    }], [{
      key: "presentLocalNotification",
      value: function presentLocalNotification(details) {
        (0, _invariant.default)(_NativePushNotificationManagerIOS.default, 'PushNotificationManager is not available.');

        _NativePushNotificationManagerIOS.default.presentLocalNotification(details);
      }
    }, {
      key: "scheduleLocalNotification",
      value: function scheduleLocalNotification(details) {
        (0, _invariant.default)(_NativePushNotificationManagerIOS.default, 'PushNotificationManager is not available.');

        _NativePushNotificationManagerIOS.default.scheduleLocalNotification(details);
      }
    }, {
      key: "cancelAllLocalNotifications",
      value: function cancelAllLocalNotifications() {
        (0, _invariant.default)(_NativePushNotificationManagerIOS.default, 'PushNotificationManager is not available.');

        _NativePushNotificationManagerIOS.default.cancelAllLocalNotifications();
      }
    }, {
      key: "removeAllDeliveredNotifications",
      value: function removeAllDeliveredNotifications() {
        (0, _invariant.default)(_NativePushNotificationManagerIOS.default, 'PushNotificationManager is not available.');

        _NativePushNotificationManagerIOS.default.removeAllDeliveredNotifications();
      }
    }, {
      key: "getDeliveredNotifications",
      value: function getDeliveredNotifications(callback) {
        (0, _invariant.default)(_NativePushNotificationManagerIOS.default, 'PushNotificationManager is not available.');

        _NativePushNotificationManagerIOS.default.getDeliveredNotifications(callback);
      }
    }, {
      key: "removeDeliveredNotifications",
      value: function removeDeliveredNotifications(identifiers) {
        (0, _invariant.default)(_NativePushNotificationManagerIOS.default, 'PushNotificationManager is not available.');

        _NativePushNotificationManagerIOS.default.removeDeliveredNotifications(identifiers);
      }
    }, {
      key: "setApplicationIconBadgeNumber",
      value: function setApplicationIconBadgeNumber(number) {
        (0, _invariant.default)(_NativePushNotificationManagerIOS.default, 'PushNotificationManager is not available.');

        _NativePushNotificationManagerIOS.default.setApplicationIconBadgeNumber(number);
      }
    }, {
      key: "getApplicationIconBadgeNumber",
      value: function getApplicationIconBadgeNumber(callback) {
        (0, _invariant.default)(_NativePushNotificationManagerIOS.default, 'PushNotificationManager is not available.');

        _NativePushNotificationManagerIOS.default.getApplicationIconBadgeNumber(callback);
      }
    }, {
      key: "cancelLocalNotifications",
      value: function cancelLocalNotifications(userInfo) {
        (0, _invariant.default)(_NativePushNotificationManagerIOS.default, 'PushNotificationManager is not available.');

        _NativePushNotificationManagerIOS.default.cancelLocalNotifications(userInfo);
      }
    }, {
      key: "getScheduledLocalNotifications",
      value: function getScheduledLocalNotifications(callback) {
        (0, _invariant.default)(_NativePushNotificationManagerIOS.default, 'PushNotificationManager is not available.');

        _NativePushNotificationManagerIOS.default.getScheduledLocalNotifications(callback);
      }
    }, {
      key: "addEventListener",
      value: function addEventListener(type, handler) {
        (0, _invariant.default)(type === 'notification' || type === 'register' || type === 'registrationError' || type === 'localNotification', 'PushNotificationIOS only supports `notification`, `register`, `registrationError`, and `localNotification` events');
        var listener;

        if (type === 'notification') {
          listener = PushNotificationEmitter.addListener(DEVICE_NOTIF_EVENT, function (notifData) {
            handler(new PushNotificationIOS(notifData));
          });
        } else if (type === 'localNotification') {
          listener = PushNotificationEmitter.addListener(DEVICE_LOCAL_NOTIF_EVENT, function (notifData) {
            handler(new PushNotificationIOS(notifData));
          });
        } else if (type === 'register') {
          listener = PushNotificationEmitter.addListener(NOTIF_REGISTER_EVENT, function (registrationInfo) {
            handler(registrationInfo.deviceToken);
          });
        } else if (type === 'registrationError') {
          listener = PushNotificationEmitter.addListener(NOTIF_REGISTRATION_ERROR_EVENT, function (errorInfo) {
            handler(errorInfo);
          });
        }

        _notifHandlers.set(type, listener);
      }
    }, {
      key: "removeEventListener",
      value: function removeEventListener(type, handler) {
        (0, _invariant.default)(type === 'notification' || type === 'register' || type === 'registrationError' || type === 'localNotification', 'PushNotificationIOS only supports `notification`, `register`, `registrationError`, and `localNotification` events');

        var listener = _notifHandlers.get(type);

        if (!listener) {
          return;
        }

        listener.remove();

        _notifHandlers.delete(type);
      }
    }, {
      key: "requestPermissions",
      value: function requestPermissions(permissions) {
        var requestedPermissions = {
          alert: true,
          badge: true,
          sound: true
        };

        if (permissions) {
          requestedPermissions = {
            alert: !!permissions.alert,
            badge: !!permissions.badge,
            sound: !!permissions.sound
          };
        }

        (0, _invariant.default)(_NativePushNotificationManagerIOS.default, 'PushNotificationManager is not available.');
        return _NativePushNotificationManagerIOS.default.requestPermissions(requestedPermissions);
      }
    }, {
      key: "abandonPermissions",
      value: function abandonPermissions() {
        (0, _invariant.default)(_NativePushNotificationManagerIOS.default, 'PushNotificationManager is not available.');

        _NativePushNotificationManagerIOS.default.abandonPermissions();
      }
    }, {
      key: "checkPermissions",
      value: function checkPermissions(callback) {
        (0, _invariant.default)(typeof callback === 'function', 'Must provide a valid callback');
        (0, _invariant.default)(_NativePushNotificationManagerIOS.default, 'PushNotificationManager is not available.');

        _NativePushNotificationManagerIOS.default.checkPermissions(callback);
      }
    }, {
      key: "getInitialNotification",
      value: function getInitialNotification() {
        (0, _invariant.default)(_NativePushNotificationManagerIOS.default, 'PushNotificationManager is not available.');
        return _NativePushNotificationManagerIOS.default.getInitialNotification().then(function (notification) {
          return notification && new PushNotificationIOS(notification);
        });
      }
    }, {
      key: "getAuthorizationStatus",
      value: function getAuthorizationStatus(callback) {
        (0, _invariant.default)(_NativePushNotificationManagerIOS.default, 'PushNotificationManager is not available.');

        _NativePushNotificationManagerIOS.default.getAuthorizationStatus(callback);
      }
    }]);
    return PushNotificationIOS;
  }();

  PushNotificationIOS.FetchResult = {
    NewData: 'UIBackgroundFetchResultNewData',
    NoData: 'UIBackgroundFetchResultNoData',
    ResultFailed: 'UIBackgroundFetchResultFailed'
  };
  module.exports = PushNotificationIOS;
},388,[5,7,8,110,389,36,37]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('PushNotificationManager');

  exports.default = _default;
},389,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _RCTDeviceEventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _NativeSettingsManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var subscriptions = [];
  var Settings = {
    _settings: _NativeSettingsManager.default && _NativeSettingsManager.default.getConstants().settings,
    get: function get(key) {
      return this._settings[key];
    },
    set: function set(settings) {
      this._settings = (0, _extends2.default)(this._settings, settings);

      _NativeSettingsManager.default.setValues(settings);
    },
    watchKeys: function watchKeys(keys, callback) {
      if (typeof keys === 'string') {
        keys = [keys];
      }

      (0, _invariant.default)(Array.isArray(keys), 'keys should be a string or array of strings');
      var sid = subscriptions.length;
      subscriptions.push({
        keys: keys,
        callback: callback
      });
      return sid;
    },
    clearWatch: function clearWatch(watchId) {
      if (watchId < subscriptions.length) {
        subscriptions[watchId] = {
          keys: [],
          callback: null
        };
      }
    },
    _sendObservations: function _sendObservations(body) {
      var _this = this;

      Object.keys(body).forEach(function (key) {
        var newValue = body[key];
        var didChange = _this._settings[key] !== newValue;
        _this._settings[key] = newValue;

        if (didChange) {
          subscriptions.forEach(function (sub) {
            if (sub.keys.indexOf(key) !== -1 && sub.callback) {
              sub.callback();
            }
          });
        }
      });
    }
  };

  _RCTDeviceEventEmitter.default.addListener('settingsUpdated', Settings._sendObservations.bind(Settings));

  module.exports = Settings;
},390,[5,6,30,391,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.getEnforcing('SettingsManager');

  exports.default = _default;
},391,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _NativeActionSheetManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _NativeShareModule = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var Share = function () {
    function Share() {
      (0, _classCallCheck2.default)(this, Share);
    }

    (0, _createClass2.default)(Share, null, [{
      key: "share",
      value: function share(content) {
        var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

        _$$_REQUIRE(_dependencyMap[6])(typeof content === 'object' && content !== null, 'Content to share must be a valid object');

        _$$_REQUIRE(_dependencyMap[6])(typeof content.url === 'string' || typeof content.message === 'string', 'At least one of URL and message is required');

        _$$_REQUIRE(_dependencyMap[6])(typeof options === 'object' && options !== null, 'Options must be a valid object');

        {
          return new Promise(function (resolve, reject) {
            var tintColor = _$$_REQUIRE(_dependencyMap[7])(options.tintColor);

            _$$_REQUIRE(_dependencyMap[6])(tintColor == null || typeof tintColor === 'number', 'Unexpected color given for options.tintColor');

            _$$_REQUIRE(_dependencyMap[6])(_NativeActionSheetManager.default, 'NativeActionSheetManager is not registered on iOS, but it should be.');

            _NativeActionSheetManager.default.showShareActionSheetWithOptions({
              message: typeof content.message === 'string' ? content.message : undefined,
              url: typeof content.url === 'string' ? content.url : undefined,
              subject: options.subject,
              tintColor: typeof tintColor === 'number' ? tintColor : undefined,
              excludedActivityTypes: options.excludedActivityTypes
            }, function (error) {
              return reject(error);
            }, function (success, activityType) {
              if (success) {
                resolve({
                  action: 'sharedAction',
                  activityType: activityType
                });
              } else {
                resolve({
                  action: 'dismissedAction',
                  activityType: null
                });
              }
            });
          });
        }
      }
    }]);
    return Share;
  }();

  Share.sharedAction = 'sharedAction';
  Share.dismissedAction = 'dismissedAction';
  module.exports = Share;
},392,[5,6,7,8,348,393,36,145]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.get('ShareModule');

  exports.default = _default;
},393,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var ToastAndroid = {
    show: function show(message, duration) {
      console.warn('ToastAndroid is not supported on this platform.');
    },
    showWithGravity: function showWithGravity(message, duration, gravity) {
      console.warn('ToastAndroid is not supported on this platform.');
    },
    showWithGravityAndOffset: function showWithGravityAndOffset(message, duration, gravity, xOffset, yOffset) {
      console.warn('ToastAndroid is not supported on this platform.');
    }
  };
  module.exports = ToastAndroid;
},394,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useColorScheme;

  var _react = _$$_REQUIRE(_dependencyMap[0]);

  var _Appearance = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function useColorScheme() {
    var subscription = (0, _react.useMemo)(function () {
      return {
        getCurrentValue: function getCurrentValue() {
          return _Appearance.default.getColorScheme();
        },
        subscribe: function subscribe(callback) {
          var appearanceSubscription = _Appearance.default.addChangeListener(callback);

          return function () {
            appearanceSubscription.remove();
          };
        }
      };
    }, []);
    return (0, _$$_REQUIRE(_dependencyMap[3]).useSubscription)(subscription);
  }
},395,[17,5,349,396]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  {
    module.exports = _$$_REQUIRE(_dependencyMap[0]);
  }
},396,[397]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  /**
   * @license React
   * use-subscription.production.min.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  'use strict';

  exports.useSubscription = function (a) {
    return _$$_REQUIRE(_dependencyMap[0]).useSyncExternalStore(a.subscribe, a.getCurrentValue);
  };
},397,[398]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  {
    module.exports = _$$_REQUIRE(_dependencyMap[0]);
  }
},398,[399]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  /**
   * @license React
   * use-sync-external-store-shim.native.production.min.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  'use strict';

  var e = _$$_REQUIRE(_dependencyMap[0]);

  function h(a, b) {
    return a === b && (0 !== a || 1 / a === 1 / b) || a !== a && b !== b;
  }

  var k = "function" === typeof Object.is ? Object.is : h,
      l = e.useState,
      m = e.useEffect,
      n = e.useLayoutEffect,
      p = e.useDebugValue;

  function q(a, b) {
    var d = b(),
        f = l({
      inst: {
        value: d,
        getSnapshot: b
      }
    }),
        c = f[0].inst,
        g = f[1];
    n(function () {
      c.value = d;
      c.getSnapshot = b;
      r(c) && g({
        inst: c
      });
    }, [a, d, b]);
    m(function () {
      r(c) && g({
        inst: c
      });
      return a(function () {
        r(c) && g({
          inst: c
        });
      });
    }, [a]);
    p(d);
    return d;
  }

  function r(a) {
    var b = a.getSnapshot;
    a = a.value;

    try {
      var d = b();
      return !k(a, d);
    } catch (f) {
      return true;
    }
  }

  exports.useSyncExternalStore = undefined !== e.useSyncExternalStore ? e.useSyncExternalStore : q;
},399,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useWindowDimensions;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _Dimensions = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[3]);

  function useWindowDimensions() {
    var _useState = (0, _react.useState)(function () {
      return _Dimensions.default.get('window');
    }),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        dimensions = _useState2[0],
        setDimensions = _useState2[1];

    (0, _react.useEffect)(function () {
      function handleChange(_ref) {
        var window = _ref.window;

        if (dimensions.width !== window.width || dimensions.height !== window.height || dimensions.scale !== window.scale || dimensions.fontScale !== window.fontScale) {
          setDimensions(window);
        }
      }

      var subscription = _Dimensions.default.addEventListener('change', handleChange);

      handleChange({
        window: _Dimensions.default.get('window')
      });
      return function () {
        subscription.remove();
      };
    }, [dimensions]);
    return dimensions;
  }
},400,[5,41,171,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var UTFSequence = _$$_REQUIRE(_dependencyMap[0])({
    BOM: "\uFEFF",
    BULLET: "\u2022",
    BULLET_SP: "\xA0\u2022\xA0",
    MIDDOT: "\xB7",
    MIDDOT_SP: "\xA0\xB7\xA0",
    MIDDOT_KATAKANA: "\u30FB",
    MDASH: "\u2014",
    MDASH_SP: "\xA0\u2014\xA0",
    NDASH: "\u2013",
    NDASH_SP: "\xA0\u2013\xA0",
    NBSP: "\xA0",
    PIZZA: "\uD83C\uDF55",
    TRIANGLE_LEFT: "\u25C0",
    TRIANGLE_RIGHT: "\u25B6"
  });

  module.exports = UTFSequence;
},401,[177]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _NativeVibration = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _vibrating = false;
  var _id = 0;
  var _default_vibration_length = 400;

  function vibrateByPattern(pattern) {
    var repeat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;

    if (_vibrating) {
      return;
    }

    _vibrating = true;

    if (pattern[0] === 0) {
      _NativeVibration.default.vibrate(_default_vibration_length);

      pattern = pattern.slice(1);
    }

    if (pattern.length === 0) {
      _vibrating = false;
      return;
    }

    setTimeout(function () {
      return vibrateScheduler(++_id, pattern, repeat, 1);
    }, pattern[0]);
  }

  function vibrateScheduler(id, pattern, repeat, nextIndex) {
    if (!_vibrating || id !== _id) {
      return;
    }

    _NativeVibration.default.vibrate(_default_vibration_length);

    if (nextIndex >= pattern.length) {
      if (repeat) {
        nextIndex = 0;
      } else {
        _vibrating = false;
        return;
      }
    }

    setTimeout(function () {
      return vibrateScheduler(id, pattern, repeat, nextIndex + 1);
    }, pattern[nextIndex]);
  }

  var Vibration = {
    vibrate: function vibrate() {
      var pattern = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _default_vibration_length;
      var repeat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      {
        if (_vibrating) {
          return;
        }

        if (typeof pattern === 'number') {
          _NativeVibration.default.vibrate(pattern);
        } else if (Array.isArray(pattern)) {
          vibrateByPattern(pattern, repeat);
        } else {
          throw new Error('Vibration pattern should be a number or array');
        }
      }
    },
    cancel: function cancel() {
      {
        _vibrating = false;
      }
    }
  };
  module.exports = Vibration;
},402,[5,403]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var TurboModuleRegistry = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = TurboModuleRegistry.getEnforcing('Vibration');

  exports.default = _default;
},403,[39]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var React = _$$_REQUIRE(_dependencyMap[2]);

  var YellowBox;
  {
    YellowBox = function (_React$Component2) {
      _$$_REQUIRE(_dependencyMap[3])(YellowBox, _React$Component2);

      var _super2 = _createSuper(YellowBox);

      function YellowBox() {
        _$$_REQUIRE(_dependencyMap[4])(this, YellowBox);

        return _super2.apply(this, arguments);
      }

      _$$_REQUIRE(_dependencyMap[5])(YellowBox, [{
        key: "render",
        value: function render() {
          return null;
        }
      }], [{
        key: "ignoreWarnings",
        value: function ignoreWarnings(patterns) {}
      }, {
        key: "install",
        value: function install() {}
      }, {
        key: "uninstall",
        value: function uninstall() {}
      }]);

      return YellowBox;
    }(React.Component);
  }
  module.exports = YellowBox;
},404,[16,14,17,12,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.DynamicColorIOS = undefined;

  var DynamicColorIOS = function DynamicColorIOS(tuple) {
    return (0, _$$_REQUIRE(_dependencyMap[0]).DynamicColorIOSPrivate)({
      light: tuple.light,
      dark: tuple.dark,
      highContrastLight: tuple.highContrastLight,
      highContrastDark: tuple.highContrastDark
    });
  };

  exports.DynamicColorIOS = DynamicColorIOS;
},405,[148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var PointPropType = _$$_REQUIRE(_dependencyMap[0]).shape({
    x: _$$_REQUIRE(_dependencyMap[0]).number,
    y: _$$_REQUIRE(_dependencyMap[0]).number
  });

  module.exports = PointPropType;
},406,[201]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var aStackPool = [];
  var bStackPool = [];
  /**
   * Checks if two values are equal. Values may be primitives, arrays, or objects.
   * Returns true if both arguments have the same keys and values.
   *
   * @see http://underscorejs.org
   * @copyright 2009-2013 Jeremy Ashkenas, DocumentCloud Inc.
   * @license MIT
   */

  function areEqual(a, b) {
    var aStack = aStackPool.length ? aStackPool.pop() : [];
    var bStack = bStackPool.length ? bStackPool.pop() : [];
    var result = eq(a, b, aStack, bStack);
    aStack.length = 0;
    bStack.length = 0;
    aStackPool.push(aStack);
    bStackPool.push(bStack);
    return result;
  }

  function eq(a, b, aStack, bStack) {
    if (a === b) {
      return a !== 0 || 1 / a == 1 / b;
    }

    if (a == null || b == null) {
      return false;
    }

    if (typeof a != 'object' || typeof b != 'object') {
      return false;
    }

    var objToStr = Object.prototype.toString;
    var className = objToStr.call(a);

    if (className != objToStr.call(b)) {
      return false;
    }

    switch (className) {
      case '[object String]':
        return a == String(b);

      case '[object Number]':
        return isNaN(a) || isNaN(b) ? false : a == Number(b);

      case '[object Date]':
      case '[object Boolean]':
        return +a == +b;

      case '[object RegExp]':
        return a.source == b.source && a.global == b.global && a.multiline == b.multiline && a.ignoreCase == b.ignoreCase;
    }

    var length = aStack.length;

    while (length--) {
      if (aStack[length] == a) {
        return bStack[length] == b;
      }
    }

    aStack.push(a);
    bStack.push(b);
    var size = 0;

    if (className === '[object Array]') {
      size = a.length;

      if (size !== b.length) {
        return false;
      }

      while (size--) {
        if (!eq(a[size], b[size], aStack, bStack)) {
          return false;
        }
      }
    } else {
      if (a.constructor !== b.constructor) {
        return false;
      }

      if (a.hasOwnProperty('valueOf') && b.hasOwnProperty('valueOf')) {
        return a.valueOf() == b.valueOf();
      }

      var keys = Object.keys(a);

      if (keys.length != Object.keys(b).length) {
        return false;
      }

      for (var i = 0; i < keys.length; i++) {
        if (!eq(a[keys[i]], b[keys[i]], aStack, bStack)) {
          return false;
        }
      }
    }

    aStack.pop();
    bStack.pop();
    return true;
  }

  module.exports = areEqual;
},407,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var RNGestureHandlerModule = _reactNative.NativeModules.RNGestureHandlerModule;

  if (RNGestureHandlerModule == null) {
    console.error("react-native-gesture-handler module was not found. Make sure you're running your app on the native platform and your code is linked properly (cd ios && pod install && cd ..).\n\n    For installation instructions, please refer to https://docs.swmansion.com/react-native-gesture-handler/docs/#installation".split('\n').map(function (line) {
      return line.trim();
    }).join('\n'));
  }

  var _default = RNGestureHandlerModule;
  exports.default = _default;
},408,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _NativeModules$Platfo;

  var _default = (_NativeModules$Platfo = _reactNative.NativeModules == null ? undefined : _reactNative.NativeModules.PlatformConstants) != null ? _NativeModules$Platfo : _reactNative.Platform.constants;

  exports.default = _default;
},409,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.NativeViewGestureHandler = exports.nativeViewProps = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createHandler = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var nativeViewProps = [].concat((0, _toConsumableArray2.default)(_$$_REQUIRE(_dependencyMap[3]).baseProps), ['shouldActivateOnStart', 'disallowInterruption']);
  exports.nativeViewProps = nativeViewProps;
  var NativeViewGestureHandler = (0, _createHandler.default)({
    name: 'NativeViewGestureHandler',
    allowedProps: nativeViewProps,
    config: {}
  });
  exports.NativeViewGestureHandler = NativeViewGestureHandler;
},410,[5,21,20,4]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "PureNativeButton", {
    enumerable: true,
    get: function get() {
      return _GestureHandlerButton.default;
    }
  });
  exports.BorderlessButton = exports.RectButton = exports.BaseButton = exports.RawButton = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _createNativeWrapper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _GestureHandlerButton = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var RawButton = (0, _createNativeWrapper.default)(_GestureHandlerButton.default, {
    shouldCancelWhenOutside: false,
    shouldActivateOnStart: false
  });
  exports.RawButton = RawButton;

  var BaseButton = function (_React$Component) {
    (0, _inherits2.default)(BaseButton, _React$Component);

    var _super = _createSuper(BaseButton);

    function BaseButton(props) {
      var _this;

      (0, _classCallCheck2.default)(this, BaseButton);
      _this = _super.call(this, props);

      _this.handleEvent = function (_ref) {
        var nativeEvent = _ref.nativeEvent;
        var state = nativeEvent.state,
            oldState = nativeEvent.oldState,
            pointerInside = nativeEvent.pointerInside;

        var active = pointerInside && state === _$$_REQUIRE(_dependencyMap[12]).State.ACTIVE;

        if (active !== _this.lastActive && _this.props.onActiveStateChange) {
          _this.props.onActiveStateChange(active);
        }

        if (oldState === _$$_REQUIRE(_dependencyMap[12]).State.ACTIVE && state !== _$$_REQUIRE(_dependencyMap[12]).State.CANCELLED && _this.lastActive && _this.props.onPress) {
          _this.props.onPress(active);
        }

        _this.lastActive = active;
      };

      _this.onHandlerStateChange = function (e) {
        _this.props.onHandlerStateChange == null ? undefined : _this.props.onHandlerStateChange(e);

        _this.handleEvent(e);
      };

      _this.onGestureEvent = function (e) {
        _this.props.onGestureEvent == null ? undefined : _this.props.onGestureEvent(e);

        _this.handleEvent(e);
      };

      _this.lastActive = false;
      return _this;
    }

    (0, _createClass2.default)(BaseButton, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            rippleColor = _this$props.rippleColor,
            rest = (0, _objectWithoutProperties2.default)(_this$props, ["rippleColor"]);
        return React.createElement(RawButton, (0, _extends2.default)({
          rippleColor: (0, _reactNative.processColor)(rippleColor)
        }, rest, {
          onGestureEvent: this.onGestureEvent,
          onHandlerStateChange: this.onHandlerStateChange
        }));
      }
    }]);
    return BaseButton;
  }(React.Component);

  exports.BaseButton = BaseButton;

  var AnimatedBaseButton = _reactNative.Animated.createAnimatedComponent(BaseButton);

  var btnStyles = _reactNative.StyleSheet.create({
    underlay: {
      position: 'absolute',
      left: 0,
      right: 0,
      bottom: 0,
      top: 0
    }
  });

  var RectButton = function (_React$Component2) {
    (0, _inherits2.default)(RectButton, _React$Component2);

    var _super2 = _createSuper(RectButton);

    function RectButton(props) {
      var _this2;

      (0, _classCallCheck2.default)(this, RectButton);
      _this2 = _super2.call(this, props);

      _this2.onActiveStateChange = function (active) {
        if (_reactNative.Platform.OS !== 'android') {
          _this2.opacity.setValue(active ? _this2.props.activeOpacity : 0);
        }

        _this2.props.onActiveStateChange == null ? undefined : _this2.props.onActiveStateChange(active);
      };

      _this2.opacity = new _reactNative.Animated.Value(0);
      return _this2;
    }

    (0, _createClass2.default)(RectButton, [{
      key: "render",
      value: function render() {
        var _this$props2 = this.props,
            children = _this$props2.children,
            style = _this$props2.style,
            rest = (0, _objectWithoutProperties2.default)(_this$props2, ["children", "style"]);

        var resolvedStyle = _reactNative.StyleSheet.flatten(style != null ? style : {});

        return React.createElement(BaseButton, (0, _extends2.default)({}, rest, {
          style: resolvedStyle,
          onActiveStateChange: this.onActiveStateChange
        }), React.createElement(_reactNative.Animated.View, {
          style: [btnStyles.underlay, {
            opacity: this.opacity,
            backgroundColor: this.props.underlayColor,
            borderRadius: resolvedStyle.borderRadius,
            borderTopLeftRadius: resolvedStyle.borderTopLeftRadius,
            borderTopRightRadius: resolvedStyle.borderTopRightRadius,
            borderBottomLeftRadius: resolvedStyle.borderBottomLeftRadius,
            borderBottomRightRadius: resolvedStyle.borderBottomRightRadius
          }]
        }), children);
      }
    }]);
    return RectButton;
  }(React.Component);

  exports.RectButton = RectButton;
  RectButton.defaultProps = {
    activeOpacity: 0.105,
    underlayColor: 'black'
  };

  var BorderlessButton = function (_React$Component3) {
    (0, _inherits2.default)(BorderlessButton, _React$Component3);

    var _super3 = _createSuper(BorderlessButton);

    function BorderlessButton(props) {
      var _this3;

      (0, _classCallCheck2.default)(this, BorderlessButton);
      _this3 = _super3.call(this, props);

      _this3.onActiveStateChange = function (active) {
        if (_reactNative.Platform.OS !== 'android') {
          _this3.opacity.setValue(active ? _this3.props.activeOpacity : 1);
        }

        _this3.props.onActiveStateChange == null ? undefined : _this3.props.onActiveStateChange(active);
      };

      _this3.opacity = new _reactNative.Animated.Value(1);
      return _this3;
    }

    (0, _createClass2.default)(BorderlessButton, [{
      key: "render",
      value: function render() {
        var _this$props3 = this.props,
            children = _this$props3.children,
            style = _this$props3.style,
            rest = (0, _objectWithoutProperties2.default)(_this$props3, ["children", "style"]);
        return React.createElement(AnimatedBaseButton, (0, _extends2.default)({}, rest, {
          onActiveStateChange: this.onActiveStateChange,
          style: [style, _reactNative.Platform.OS === 'ios' && {
            opacity: this.opacity
          }]
        }), children);
      }
    }]);
    return BorderlessButton;
  }(React.Component);

  exports.BorderlessButton = BorderlessButton;
  BorderlessButton.defaultProps = {
    activeOpacity: 0.3,
    borderless: true
  };
},411,[5,6,108,7,8,12,14,16,17,28,412,413,3]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = createNativeWrapper;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var NATIVE_WRAPPER_PROPS_FILTER = [].concat((0, _toConsumableArray2.default)(_$$_REQUIRE(_dependencyMap[4]).nativeViewProps), ['onGestureHandlerEvent', 'onGestureHandlerStateChange']);

  function createNativeWrapper(Component) {
    var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
    var ComponentWrapper = React.forwardRef(function (props, ref) {
      var gestureHandlerProps = Object.keys(props).reduce(function (res, key) {
        var allowedKeys = NATIVE_WRAPPER_PROPS_FILTER;

        if (allowedKeys.includes(key)) {
          res[key] = props[key];
        }

        return res;
      }, (0, _extends2.default)({}, config));

      var _ref = (0, React.useRef)();

      var _gestureHandlerRef = (0, React.useRef)();

      (0, React.useImperativeHandle)(ref, function () {
        var node = _gestureHandlerRef.current;

        if (_ref.current && node) {
          _ref.current.handlerTag = node.handlerTag;
          return _ref.current;
        }

        return null;
      }, [_ref, _gestureHandlerRef]);
      return React.createElement(_$$_REQUIRE(_dependencyMap[4]).NativeViewGestureHandler, (0, _extends2.default)({}, gestureHandlerProps, {
        ref: _gestureHandlerRef
      }), React.createElement(Component, (0, _extends2.default)({}, props, {
        ref: _ref
      })));
    });
    ComponentWrapper.displayName = Component.displayName || 'ComponentWrapper';
    return ComponentWrapper;
  }
},412,[5,6,21,17,410]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var RNGestureHandlerButton = (0, _reactNative.requireNativeComponent)('RNGestureHandlerButton');
  var _default = RNGestureHandlerButton;
  exports.default = _default;
},413,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "TouchableNativeFeedback", {
    enumerable: true,
    get: function get() {
      return _TouchableNativeFeedback.default;
    }
  });
  Object.defineProperty(exports, "TouchableWithoutFeedback", {
    enumerable: true,
    get: function get() {
      return _TouchableWithoutFeedback.default;
    }
  });
  Object.defineProperty(exports, "TouchableOpacity", {
    enumerable: true,
    get: function get() {
      return _TouchableOpacity.default;
    }
  });
  Object.defineProperty(exports, "TouchableHighlight", {
    enumerable: true,
    get: function get() {
      return _TouchableHighlight.default;
    }
  });

  var _TouchableNativeFeedback = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _TouchableWithoutFeedback = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _TouchableOpacity = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _TouchableHighlight = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));
},414,[5,415,416,418,419]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.TouchableNativeFeedback;
  exports.default = _default;
},415,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _GenericTouchable = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var TouchableWithoutFeedback = React.forwardRef(function (props, ref) {
    return React.createElement(_GenericTouchable.default, (0, _extends2.default)({
      ref: ref
    }, props));
  });
  TouchableWithoutFeedback.defaultProps = _GenericTouchable.default.defaultProps;
  var _default = TouchableWithoutFeedback;
  exports.default = _default;
},416,[5,6,17,417]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.TOUCHABLE_STATE = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TOUCHABLE_STATE = {
    UNDETERMINED: 0,
    BEGAN: 1,
    MOVED_OUTSIDE: 2
  };
  exports.TOUCHABLE_STATE = TOUCHABLE_STATE;

  var GenericTouchable = function (_Component) {
    (0, _inherits2.default)(GenericTouchable, _Component);

    var _super = _createSuper(GenericTouchable);

    function GenericTouchable() {
      var _this;

      (0, _classCallCheck2.default)(this, GenericTouchable);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.longPressDetected = false;
      _this.pointerInside = true;
      _this.STATE = TOUCHABLE_STATE.UNDETERMINED;

      _this.onGestureEvent = function (_ref) {
        var pointerInside = _ref.nativeEvent.pointerInside;

        if (_this.pointerInside !== pointerInside) {
          if (pointerInside) {
            _this.onMoveIn();
          } else {
            _this.onMoveOut();
          }
        }

        _this.pointerInside = pointerInside;
      };

      _this.onHandlerStateChange = function (_ref2) {
        var nativeEvent = _ref2.nativeEvent;
        var state = nativeEvent.state;

        if (state === _$$_REQUIRE(_dependencyMap[9]).State.CANCELLED || state === _$$_REQUIRE(_dependencyMap[9]).State.FAILED) {
          _this.moveToState(TOUCHABLE_STATE.UNDETERMINED);
        } else if (state === (_reactNative.Platform.OS !== 'android' ? _$$_REQUIRE(_dependencyMap[9]).State.ACTIVE : _$$_REQUIRE(_dependencyMap[9]).State.BEGAN) && _this.STATE === TOUCHABLE_STATE.UNDETERMINED) {
          _this.handlePressIn();
        } else if (state === _$$_REQUIRE(_dependencyMap[9]).State.END) {
          var shouldCallOnPress = !_this.longPressDetected && _this.STATE !== TOUCHABLE_STATE.MOVED_OUTSIDE && _this.pressOutTimeout === null;

          _this.handleGoToUndetermined();

          if (shouldCallOnPress) {
            _this.props.onPress == null ? undefined : _this.props.onPress();
          }
        }
      };

      _this.onLongPressDetected = function () {
        _this.longPressDetected = true;
        _this.props.onLongPress == null ? undefined : _this.props.onLongPress();
      };

      return _this;
    }

    (0, _createClass2.default)(GenericTouchable, [{
      key: "handlePressIn",
      value: function handlePressIn() {
        var _this2 = this;

        if (this.props.delayPressIn) {
          this.pressInTimeout = setTimeout(function () {
            _this2.moveToState(TOUCHABLE_STATE.BEGAN);

            _this2.pressInTimeout = null;
          }, this.props.delayPressIn);
        } else {
          this.moveToState(TOUCHABLE_STATE.BEGAN);
        }

        if (this.props.onLongPress) {
          var time = (this.props.delayPressIn || 0) + (this.props.delayLongPress || 0);
          this.longPressTimeout = setTimeout(this.onLongPressDetected, time);
        }
      }
    }, {
      key: "handleMoveOutside",
      value: function handleMoveOutside() {
        var _this3 = this;

        if (this.props.delayPressOut) {
          this.pressOutTimeout = this.pressOutTimeout || setTimeout(function () {
            _this3.moveToState(TOUCHABLE_STATE.MOVED_OUTSIDE);

            _this3.pressOutTimeout = null;
          }, this.props.delayPressOut);
        } else {
          this.moveToState(TOUCHABLE_STATE.MOVED_OUTSIDE);
        }
      }
    }, {
      key: "handleGoToUndetermined",
      value: function handleGoToUndetermined() {
        var _this4 = this;

        clearTimeout(this.pressOutTimeout);

        if (this.props.delayPressOut) {
          this.pressOutTimeout = setTimeout(function () {
            if (_this4.STATE === TOUCHABLE_STATE.UNDETERMINED) {
              _this4.moveToState(TOUCHABLE_STATE.BEGAN);
            }

            _this4.moveToState(TOUCHABLE_STATE.UNDETERMINED);

            _this4.pressOutTimeout = null;
          }, this.props.delayPressOut);
        } else {
          if (this.STATE === TOUCHABLE_STATE.UNDETERMINED) {
            this.moveToState(TOUCHABLE_STATE.BEGAN);
          }

          this.moveToState(TOUCHABLE_STATE.UNDETERMINED);
        }
      }
    }, {
      key: "componentDidMount",
      value: function componentDidMount() {
        this.reset();
      }
    }, {
      key: "reset",
      value: function reset() {
        this.longPressDetected = false;
        this.pointerInside = true;
        clearTimeout(this.pressInTimeout);
        clearTimeout(this.pressOutTimeout);
        clearTimeout(this.longPressTimeout);
        this.pressOutTimeout = null;
        this.longPressTimeout = null;
        this.pressInTimeout = null;
      }
    }, {
      key: "moveToState",
      value: function moveToState(newState) {
        var _this$props$onStateCh, _this$props4;

        if (newState === this.STATE) {
          return;
        }

        if (newState === TOUCHABLE_STATE.BEGAN) {
          var _this$props$onPressIn, _this$props;

          (_this$props$onPressIn = (_this$props = this.props).onPressIn) == null ? undefined : _this$props$onPressIn.call(_this$props);
        } else if (newState === TOUCHABLE_STATE.MOVED_OUTSIDE) {
          var _this$props$onPressOu, _this$props2;

          (_this$props$onPressOu = (_this$props2 = this.props).onPressOut) == null ? undefined : _this$props$onPressOu.call(_this$props2);
        } else if (newState === TOUCHABLE_STATE.UNDETERMINED) {
          this.reset();

          if (this.STATE === TOUCHABLE_STATE.BEGAN) {
            var _this$props$onPressOu2, _this$props3;

            (_this$props$onPressOu2 = (_this$props3 = this.props).onPressOut) == null ? undefined : _this$props$onPressOu2.call(_this$props3);
          }
        }

        (_this$props$onStateCh = (_this$props4 = this.props).onStateChange) == null ? undefined : _this$props$onStateCh.call(_this$props4, this.STATE, newState);
        this.STATE = newState;
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this.reset();
      }
    }, {
      key: "onMoveIn",
      value: function onMoveIn() {
        if (this.STATE === TOUCHABLE_STATE.MOVED_OUTSIDE) {
          this.moveToState(TOUCHABLE_STATE.BEGAN);
        }
      }
    }, {
      key: "onMoveOut",
      value: function onMoveOut() {
        clearTimeout(this.longPressTimeout);
        this.longPressTimeout = null;

        if (this.STATE === TOUCHABLE_STATE.BEGAN) {
          this.handleMoveOutside();
        }
      }
    }, {
      key: "render",
      value: function render() {
        var coreProps = {
          accessible: this.props.accessible !== false,
          accessibilityLabel: this.props.accessibilityLabel,
          accessibilityHint: this.props.accessibilityHint,
          accessibilityRole: this.props.accessibilityRole,
          accessibilityState: this.props.accessibilityState,
          nativeID: this.props.nativeID,
          onLayout: this.props.onLayout,
          hitSlop: this.props.hitSlop
        };
        return React.createElement(_$$_REQUIRE(_dependencyMap[10]).BaseButton, (0, _extends2.default)({
          style: this.props.containerStyle,
          onHandlerStateChange: this.props.disabled ? undefined : this.onHandlerStateChange,
          onGestureEvent: this.onGestureEvent,
          hitSlop: this.props.hitSlop,
          shouldActivateOnStart: this.props.shouldActivateOnStart,
          disallowInterruption: this.props.disallowInterruption,
          testID: this.props.testID
        }, this.props.extraButtonProps), React.createElement(_reactNative.Animated.View, (0, _extends2.default)({}, coreProps, {
          style: this.props.style
        }), this.props.children));
      }
    }]);
    return GenericTouchable;
  }(React.Component);

  exports.default = GenericTouchable;
  GenericTouchable.defaultProps = {
    delayLongPress: 600,
    extraButtonProps: {
      rippleColor: 'transparent'
    }
  };
},417,[5,6,7,8,12,14,16,17,28,3,411]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _GenericTouchable = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TouchableOpacity = function (_Component) {
    (0, _inherits2.default)(TouchableOpacity, _Component);

    var _super = _createSuper(TouchableOpacity);

    function TouchableOpacity() {
      var _this;

      (0, _classCallCheck2.default)(this, TouchableOpacity);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));

      _this.getChildStyleOpacityWithDefault = function () {
        var childStyle = _reactNative.StyleSheet.flatten(_this.props.style) || {};
        return childStyle.opacity == null ? 1 : childStyle.opacity;
      };

      _this.opacity = new _reactNative.Animated.Value(_this.getChildStyleOpacityWithDefault());

      _this.setOpacityTo = function (value, duration) {
        _reactNative.Animated.timing(_this.opacity, {
          toValue: value,
          duration: duration,
          easing: _reactNative.Easing.inOut(_reactNative.Easing.quad),
          useNativeDriver: true
        }).start();
      };

      _this.onStateChange = function (_from, to) {
        if (to === _GenericTouchable.TOUCHABLE_STATE.BEGAN) {
          _this.setOpacityTo(_this.props.activeOpacity, 0);
        } else if (to === _GenericTouchable.TOUCHABLE_STATE.UNDETERMINED || to === _GenericTouchable.TOUCHABLE_STATE.MOVED_OUTSIDE) {
          _this.setOpacityTo(_this.getChildStyleOpacityWithDefault(), 150);
        }
      };

      return _this;
    }

    (0, _createClass2.default)(TouchableOpacity, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            _this$props$style = _this$props.style,
            style = _this$props$style === undefined ? {} : _this$props$style,
            rest = (0, _objectWithoutProperties2.default)(_this$props, ["style"]);
        return React.createElement(_GenericTouchable.default, (0, _extends2.default)({}, rest, {
          style: [style, {
            opacity: this.opacity
          }],
          onStateChange: this.onStateChange
        }), this.props.children ? this.props.children : React.createElement(_reactNative.View, null));
      }
    }]);
    return TouchableOpacity;
  }(React.Component);

  exports.default = TouchableOpacity;
  TouchableOpacity.defaultProps = (0, _extends2.default)({}, _GenericTouchable.default.defaultProps, {
    activeOpacity: 0.2
  });
},418,[5,6,108,7,8,12,14,16,28,417,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _GenericTouchable = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TouchableHighlight = function (_Component) {
    (0, _inherits2.default)(TouchableHighlight, _Component);

    var _super = _createSuper(TouchableHighlight);

    function TouchableHighlight(props) {
      var _this;

      (0, _classCallCheck2.default)(this, TouchableHighlight);
      _this = _super.call(this, props);

      _this.showUnderlay = function () {
        if (!_this.hasPressHandler()) {
          return;
        }

        _this.setState({
          extraChildStyle: {
            opacity: _this.props.activeOpacity
          },
          extraUnderlayStyle: {
            backgroundColor: _this.props.underlayColor
          }
        });

        _this.props.onShowUnderlay == null ? undefined : _this.props.onShowUnderlay();
      };

      _this.hasPressHandler = function () {
        return _this.props.onPress || _this.props.onPressIn || _this.props.onPressOut || _this.props.onLongPress;
      };

      _this.hideUnderlay = function () {
        _this.setState({
          extraChildStyle: null,
          extraUnderlayStyle: null
        });

        _this.props.onHideUnderlay == null ? undefined : _this.props.onHideUnderlay();
      };

      _this.onStateChange = function (_from, to) {
        if (to === _GenericTouchable.TOUCHABLE_STATE.BEGAN) {
          _this.showUnderlay();
        } else if (to === _GenericTouchable.TOUCHABLE_STATE.UNDETERMINED || to === _GenericTouchable.TOUCHABLE_STATE.MOVED_OUTSIDE) {
          _this.hideUnderlay();
        }
      };

      _this.state = {
        extraChildStyle: null,
        extraUnderlayStyle: null
      };
      return _this;
    }

    (0, _createClass2.default)(TouchableHighlight, [{
      key: "renderChildren",
      value: function renderChildren() {
        if (!this.props.children) {
          return React.createElement(_reactNative.View, null);
        }

        var child = React.Children.only(this.props.children);
        return React.cloneElement(child, {
          style: _reactNative.StyleSheet.compose(child.props.style, this.state.extraChildStyle)
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            _this$props$style = _this$props.style,
            style = _this$props$style === undefined ? {} : _this$props$style,
            rest = (0, _objectWithoutProperties2.default)(_this$props, ["style"]);
        var extraUnderlayStyle = this.state.extraUnderlayStyle;
        return React.createElement(_GenericTouchable.default, (0, _extends2.default)({}, rest, {
          style: [style, extraUnderlayStyle],
          onStateChange: this.onStateChange
        }), this.renderChildren());
      }
    }]);
    return TouchableHighlight;
  }(React.Component);

  exports.default = TouchableHighlight;
  TouchableHighlight.defaultProps = (0, _extends2.default)({}, _GenericTouchable.default.defaultProps, {
    activeOpacity: 0.85,
    delayPressOut: 100,
    underlayColor: 'black'
  });
},419,[5,6,108,7,8,12,14,16,17,417,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.FlatList = exports.DrawerLayoutAndroid = exports.TextInput = exports.Switch = exports.ScrollView = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _createNativeWrapper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var ScrollView = (0, _createNativeWrapper.default)(_reactNative.ScrollView, {
    disallowInterruption: true,
    shouldCancelWhenOutside: false
  });
  exports.ScrollView = ScrollView;
  var Switch = (0, _createNativeWrapper.default)(_reactNative.Switch, {
    shouldCancelWhenOutside: false,
    shouldActivateOnStart: true,
    disallowInterruption: true
  });
  exports.Switch = Switch;
  var TextInput = (0, _createNativeWrapper.default)(_reactNative.TextInput);
  exports.TextInput = TextInput;
  var DrawerLayoutAndroid = (0, _createNativeWrapper.default)(_reactNative.DrawerLayoutAndroid, {
    disallowInterruption: true
  });
  exports.DrawerLayoutAndroid = DrawerLayoutAndroid;
  DrawerLayoutAndroid.positions = {
    Left: 'left',
    Right: 'right'
  };
  var FlatList = React.forwardRef(function (props, ref) {
    return React.createElement(_reactNative.FlatList, (0, _extends2.default)({
      ref: ref
    }, props, {
      renderScrollComponent: function renderScrollComponent(scrollProps) {
        return React.createElement(ScrollView, scrollProps);
      }
    }));
  });
  exports.FlatList = FlatList;
},420,[5,6,17,28,412]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = gestureHandlerRootHOC;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[1]);

  var _hoistNonReactStatics = _$$_REQUIRE(_dependencyMap[2])(_$$_REQUIRE(_dependencyMap[3]));

  var _GestureHandlerRootView = _$$_REQUIRE(_dependencyMap[2])(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function gestureHandlerRootHOC(Component, containerStyles) {
    function Wrapper(props) {
      return React.createElement(_GestureHandlerRootView.default, {
        style: [styles.container, containerStyles]
      }, React.createElement(Component, props));
    }

    Wrapper.displayName = "gestureHandlerRootHOC(" + (Component.displayName || Component.name) + ")";
    (0, _hoistNonReactStatics.default)(Wrapper, Component);
    return Wrapper;
  }

  var styles = _reactNative.StyleSheet.create({
    container: {
      flex: 1
    }
  });
},421,[17,28,5,422,425]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var REACT_STATICS = {
    childContextTypes: true,
    contextType: true,
    contextTypes: true,
    defaultProps: true,
    displayName: true,
    getDefaultProps: true,
    getDerivedStateFromError: true,
    getDerivedStateFromProps: true,
    mixins: true,
    propTypes: true,
    type: true
  };
  var KNOWN_STATICS = {
    name: true,
    length: true,
    prototype: true,
    caller: true,
    callee: true,
    arguments: true,
    arity: true
  };
  var FORWARD_REF_STATICS = {
    '$$typeof': true,
    render: true,
    defaultProps: true,
    displayName: true,
    propTypes: true
  };
  var MEMO_STATICS = {
    '$$typeof': true,
    compare: true,
    defaultProps: true,
    displayName: true,
    propTypes: true,
    type: true
  };
  var TYPE_STATICS = {};
  TYPE_STATICS[_$$_REQUIRE(_dependencyMap[0]).ForwardRef] = FORWARD_REF_STATICS;
  TYPE_STATICS[_$$_REQUIRE(_dependencyMap[0]).Memo] = MEMO_STATICS;

  function getStatics(component) {
    if (_$$_REQUIRE(_dependencyMap[0]).isMemo(component)) {
      return MEMO_STATICS;
    }

    return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;
  }

  var defineProperty = Object.defineProperty;
  var getOwnPropertyNames = Object.getOwnPropertyNames;
  var getOwnPropertySymbols = Object.getOwnPropertySymbols;
  var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
  var getPrototypeOf = Object.getPrototypeOf;
  var objectPrototype = Object.prototype;

  function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
    if (typeof sourceComponent !== 'string') {
      if (objectPrototype) {
        var inheritedComponent = getPrototypeOf(sourceComponent);

        if (inheritedComponent && inheritedComponent !== objectPrototype) {
          hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
        }
      }

      var keys = getOwnPropertyNames(sourceComponent);

      if (getOwnPropertySymbols) {
        keys = keys.concat(getOwnPropertySymbols(sourceComponent));
      }

      var targetStatics = getStatics(targetComponent);
      var sourceStatics = getStatics(sourceComponent);

      for (var i = 0; i < keys.length; ++i) {
        var key = keys[i];

        if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
          var descriptor = getOwnPropertyDescriptor(sourceComponent, key);

          try {
            defineProperty(targetComponent, key, descriptor);
          } catch (e) {}
        }
      }
    }

    return targetComponent;
  }

  module.exports = hoistNonReactStatics;
},422,[423]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  {
    module.exports = _$$_REQUIRE(_dependencyMap[0]);
  }
},423,[424]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  /** @license React v16.13.1
   * react-is.production.min.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */
  'use strict';

  var b = "function" === typeof Symbol && Symbol.for,
      c = b ? Symbol.for("react.element") : 60103,
      d = b ? Symbol.for("react.portal") : 60106,
      e = b ? Symbol.for("react.fragment") : 60107,
      f = b ? Symbol.for("react.strict_mode") : 60108,
      g = b ? Symbol.for("react.profiler") : 60114,
      h = b ? Symbol.for("react.provider") : 60109,
      k = b ? Symbol.for("react.context") : 60110,
      l = b ? Symbol.for("react.async_mode") : 60111,
      m = b ? Symbol.for("react.concurrent_mode") : 60111,
      n = b ? Symbol.for("react.forward_ref") : 60112,
      p = b ? Symbol.for("react.suspense") : 60113,
      q = b ? Symbol.for("react.suspense_list") : 60120,
      r = b ? Symbol.for("react.memo") : 60115,
      t = b ? Symbol.for("react.lazy") : 60116,
      v = b ? Symbol.for("react.block") : 60121,
      w = b ? Symbol.for("react.fundamental") : 60117,
      x = b ? Symbol.for("react.responder") : 60118,
      y = b ? Symbol.for("react.scope") : 60119;

  function z(a) {
    if ("object" === typeof a && null !== a) {
      var u = a.$$typeof;

      switch (u) {
        case c:
          switch (a = a.type, a) {
            case l:
            case m:
            case e:
            case g:
            case f:
            case p:
              return a;

            default:
              switch (a = a && a.$$typeof, a) {
                case k:
                case n:
                case t:
                case r:
                case h:
                  return a;

                default:
                  return u;
              }

          }

        case d:
          return u;
      }
    }
  }

  function A(a) {
    return z(a) === m;
  }

  exports.AsyncMode = l;
  exports.ConcurrentMode = m;
  exports.ContextConsumer = k;
  exports.ContextProvider = h;
  exports.Element = c;
  exports.ForwardRef = n;
  exports.Fragment = e;
  exports.Lazy = t;
  exports.Memo = r;
  exports.Portal = d;
  exports.Profiler = g;
  exports.StrictMode = f;
  exports.Suspense = p;

  exports.isAsyncMode = function (a) {
    return A(a) || z(a) === l;
  };

  exports.isConcurrentMode = A;

  exports.isContextConsumer = function (a) {
    return z(a) === k;
  };

  exports.isContextProvider = function (a) {
    return z(a) === h;
  };

  exports.isElement = function (a) {
    return "object" === typeof a && null !== a && a.$$typeof === c;
  };

  exports.isForwardRef = function (a) {
    return z(a) === n;
  };

  exports.isFragment = function (a) {
    return z(a) === e;
  };

  exports.isLazy = function (a) {
    return z(a) === t;
  };

  exports.isMemo = function (a) {
    return z(a) === r;
  };

  exports.isPortal = function (a) {
    return z(a) === d;
  };

  exports.isProfiler = function (a) {
    return z(a) === g;
  };

  exports.isStrictMode = function (a) {
    return z(a) === f;
  };

  exports.isSuspense = function (a) {
    return z(a) === p;
  };

  exports.isValidElementType = function (a) {
    return "string" === typeof a || "function" === typeof a || a === e || a === m || a === g || a === f || a === p || a === q || "object" === typeof a && null !== a && (a.$$typeof === t || a.$$typeof === r || a.$$typeof === h || a.$$typeof === k || a.$$typeof === n || a.$$typeof === w || a.$$typeof === x || a.$$typeof === y || a.$$typeof === v);
  };

  exports.typeOf = z;
},424,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.View;
  exports.default = _default;
},425,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var DRAG_TOSS = 0.05;

  var Swipeable = function (_Component) {
    (0, _inherits2.default)(Swipeable, _Component);

    var _super = _createSuper(Swipeable);

    function Swipeable(_props) {
      var _this;

      (0, _classCallCheck2.default)(this, Swipeable);
      _this = _super.call(this, _props);

      _this.updateAnimatedEvent = function (props, state) {
        var friction = props.friction,
            overshootFriction = props.overshootFriction;
        var dragX = state.dragX,
            rowTranslation = state.rowTranslation,
            _state$leftWidth = state.leftWidth,
            leftWidth = _state$leftWidth === undefined ? 0 : _state$leftWidth,
            _state$rowWidth = state.rowWidth,
            rowWidth = _state$rowWidth === undefined ? 0 : _state$rowWidth;
        var _state$rightOffset = state.rightOffset,
            rightOffset = _state$rightOffset === undefined ? rowWidth : _state$rightOffset;
        var rightWidth = Math.max(0, rowWidth - rightOffset);
        var _props$overshootLeft = props.overshootLeft,
            overshootLeft = _props$overshootLeft === undefined ? leftWidth > 0 : _props$overshootLeft,
            _props$overshootRight = props.overshootRight,
            overshootRight = _props$overshootRight === undefined ? rightWidth > 0 : _props$overshootRight;

        var transX = _reactNative.Animated.add(rowTranslation, dragX.interpolate({
          inputRange: [0, friction],
          outputRange: [0, 1]
        })).interpolate({
          inputRange: [-rightWidth - (overshootRight ? 1 : overshootFriction), -rightWidth, leftWidth, leftWidth + (overshootLeft ? 1 : overshootFriction)],
          outputRange: [-rightWidth - (overshootRight || overshootFriction > 1 ? 1 : 0), -rightWidth, leftWidth, leftWidth + (overshootLeft || overshootFriction > 1 ? 1 : 0)]
        });

        _this.transX = transX;
        _this.showLeftAction = leftWidth > 0 ? transX.interpolate({
          inputRange: [-1, 0, leftWidth],
          outputRange: [0, 0, 1]
        }) : new _reactNative.Animated.Value(0);
        _this.leftActionTranslate = _this.showLeftAction.interpolate({
          inputRange: [0, Number.MIN_VALUE],
          outputRange: [-10000, 0],
          extrapolate: 'clamp'
        });
        _this.showRightAction = rightWidth > 0 ? transX.interpolate({
          inputRange: [-rightWidth, 0, 1],
          outputRange: [1, 0, 0]
        }) : new _reactNative.Animated.Value(0);
        _this.rightActionTranslate = _this.showRightAction.interpolate({
          inputRange: [0, Number.MIN_VALUE],
          outputRange: [-10000, 0],
          extrapolate: 'clamp'
        });
      };

      _this.onTapHandlerStateChange = function (_ref) {
        var nativeEvent = _ref.nativeEvent;

        if (nativeEvent.oldState === _$$_REQUIRE(_dependencyMap[9]).State.ACTIVE) {
          _this.close();
        }
      };

      _this.onHandlerStateChange = function (ev) {
        if (ev.nativeEvent.oldState === _$$_REQUIRE(_dependencyMap[9]).State.ACTIVE) {
          _this.handleRelease(ev);
        }
      };

      _this.handleRelease = function (ev) {
        var _ev$nativeEvent = ev.nativeEvent,
            velocityX = _ev$nativeEvent.velocityX,
            dragX = _ev$nativeEvent.translationX;
        var _this$state = _this.state,
            _this$state$leftWidth = _this$state.leftWidth,
            leftWidth = _this$state$leftWidth === undefined ? 0 : _this$state$leftWidth,
            _this$state$rowWidth = _this$state.rowWidth,
            rowWidth = _this$state$rowWidth === undefined ? 0 : _this$state$rowWidth,
            rowState = _this$state.rowState;
        var _this$state$rightOffs = _this.state.rightOffset,
            rightOffset = _this$state$rightOffs === undefined ? rowWidth : _this$state$rightOffs;
        var rightWidth = rowWidth - rightOffset;
        var _this$props = _this.props,
            friction = _this$props.friction,
            _this$props$leftThres = _this$props.leftThreshold,
            leftThreshold = _this$props$leftThres === undefined ? leftWidth / 2 : _this$props$leftThres,
            _this$props$rightThre = _this$props.rightThreshold,
            rightThreshold = _this$props$rightThre === undefined ? rightWidth / 2 : _this$props$rightThre;
        var startOffsetX = _this.currentOffset() + dragX / friction;
        var translationX = (dragX + DRAG_TOSS * velocityX) / friction;
        var toValue = 0;

        if (rowState === 0) {
          if (translationX > leftThreshold) {
            toValue = leftWidth;
          } else if (translationX < -rightThreshold) {
            toValue = -rightWidth;
          }
        } else if (rowState === 1) {
          if (translationX > -leftThreshold) {
            toValue = leftWidth;
          }
        } else {
          if (translationX < rightThreshold) {
            toValue = -rightWidth;
          }
        }

        _this.animateRow(startOffsetX, toValue, velocityX / friction);
      };

      _this.animateRow = function (fromValue, toValue, velocityX) {
        var _this$state2 = _this.state,
            dragX = _this$state2.dragX,
            rowTranslation = _this$state2.rowTranslation;
        dragX.setValue(0);
        rowTranslation.setValue(fromValue);

        _this.setState({
          rowState: Math.sign(toValue)
        });

        _reactNative.Animated.spring(rowTranslation, (0, _extends2.default)({
          restSpeedThreshold: 1.7,
          restDisplacementThreshold: 0.4,
          velocity: velocityX,
          bounciness: 0,
          toValue: toValue,
          useNativeDriver: _this.props.useNativeAnimations
        }, _this.props.animationOptions)).start(function (_ref2) {
          var finished = _ref2.finished;

          if (finished) {
            if (toValue > 0 && _this.props.onSwipeableLeftOpen) {
              _this.props.onSwipeableLeftOpen();
            } else if (toValue < 0 && _this.props.onSwipeableRightOpen) {
              _this.props.onSwipeableRightOpen();
            }

            if (toValue === 0) {
              _this.props.onSwipeableClose == null ? undefined : _this.props.onSwipeableClose();
            } else {
              _this.props.onSwipeableOpen == null ? undefined : _this.props.onSwipeableOpen();
            }
          }
        });

        if (toValue > 0 && _this.props.onSwipeableLeftWillOpen) {
          _this.props.onSwipeableLeftWillOpen();
        } else if (toValue < 0 && _this.props.onSwipeableRightWillOpen) {
          _this.props.onSwipeableRightWillOpen();
        }

        if (toValue === 0) {
          _this.props.onSwipeableWillClose == null ? undefined : _this.props.onSwipeableWillClose();
        } else {
          _this.props.onSwipeableWillOpen == null ? undefined : _this.props.onSwipeableWillOpen();
        }
      };

      _this.onRowLayout = function (_ref3) {
        var nativeEvent = _ref3.nativeEvent;

        _this.setState({
          rowWidth: nativeEvent.layout.width
        });
      };

      _this.currentOffset = function () {
        var _this$state3 = _this.state,
            _this$state3$leftWidt = _this$state3.leftWidth,
            leftWidth = _this$state3$leftWidt === undefined ? 0 : _this$state3$leftWidt,
            _this$state3$rowWidth = _this$state3.rowWidth,
            rowWidth = _this$state3$rowWidth === undefined ? 0 : _this$state3$rowWidth,
            rowState = _this$state3.rowState;
        var _this$state$rightOffs2 = _this.state.rightOffset,
            rightOffset = _this$state$rightOffs2 === undefined ? rowWidth : _this$state$rightOffs2;
        var rightWidth = rowWidth - rightOffset;

        if (rowState === 1) {
          return leftWidth;
        } else if (rowState === -1) {
          return -rightWidth;
        }

        return 0;
      };

      _this.close = function () {
        _this.animateRow(_this.currentOffset(), 0);
      };

      _this.openLeft = function () {
        var _this$state$leftWidth2 = _this.state.leftWidth,
            leftWidth = _this$state$leftWidth2 === undefined ? 0 : _this$state$leftWidth2;

        _this.animateRow(_this.currentOffset(), leftWidth);
      };

      _this.openRight = function () {
        var _this$state$rowWidth2 = _this.state.rowWidth,
            rowWidth = _this$state$rowWidth2 === undefined ? 0 : _this$state$rowWidth2;
        var _this$state$rightOffs3 = _this.state.rightOffset,
            rightOffset = _this$state$rightOffs3 === undefined ? rowWidth : _this$state$rightOffs3;
        var rightWidth = rowWidth - rightOffset;

        _this.animateRow(_this.currentOffset(), -rightWidth);
      };

      var _dragX = new _reactNative.Animated.Value(0);

      _this.state = {
        dragX: _dragX,
        rowTranslation: new _reactNative.Animated.Value(0),
        rowState: 0,
        leftWidth: undefined,
        rightOffset: undefined,
        rowWidth: undefined
      };

      _this.updateAnimatedEvent(_props, _this.state);

      _this.onGestureEvent = _reactNative.Animated.event([{
        nativeEvent: {
          translationX: _dragX
        }
      }], {
        useNativeDriver: _props.useNativeAnimations
      });
      return _this;
    }

    (0, _createClass2.default)(Swipeable, [{
      key: "UNSAFE_componentWillUpdate",
      value: function UNSAFE_componentWillUpdate(props, state) {
        if (this.props.friction !== props.friction || this.props.overshootLeft !== props.overshootLeft || this.props.overshootRight !== props.overshootRight || this.props.overshootFriction !== props.overshootFriction || this.state.leftWidth !== state.leftWidth || this.state.rightOffset !== state.rightOffset || this.state.rowWidth !== state.rowWidth) {
          this.updateAnimatedEvent(props, state);
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var rowState = this.state.rowState;
        var _this$props2 = this.props,
            children = _this$props2.children,
            renderLeftActions = _this$props2.renderLeftActions,
            renderRightActions = _this$props2.renderRightActions;
        var left = renderLeftActions && React.createElement(_reactNative.Animated.View, {
          style: [styles.leftActions, {
            transform: [{
              translateX: this.leftActionTranslate
            }]
          }]
        }, renderLeftActions(this.showLeftAction, this.transX), React.createElement(_reactNative.View, {
          onLayout: function onLayout(_ref4) {
            var nativeEvent = _ref4.nativeEvent;
            return _this2.setState({
              leftWidth: nativeEvent.layout.x
            });
          }
        }));
        var right = renderRightActions && React.createElement(_reactNative.Animated.View, {
          style: [styles.rightActions, {
            transform: [{
              translateX: this.rightActionTranslate
            }]
          }]
        }, renderRightActions(this.showRightAction, this.transX), React.createElement(_reactNative.View, {
          onLayout: function onLayout(_ref5) {
            var nativeEvent = _ref5.nativeEvent;
            return _this2.setState({
              rightOffset: nativeEvent.layout.x
            });
          }
        }));
        return React.createElement(_$$_REQUIRE(_dependencyMap[10]).PanGestureHandler, (0, _extends2.default)({
          activeOffsetX: [-10, 10]
        }, this.props, {
          onGestureEvent: this.onGestureEvent,
          onHandlerStateChange: this.onHandlerStateChange
        }), React.createElement(_reactNative.Animated.View, {
          onLayout: this.onRowLayout,
          style: [styles.container, this.props.containerStyle]
        }, left, right, React.createElement(_$$_REQUIRE(_dependencyMap[10]).TapGestureHandler, {
          enabled: rowState !== 0,
          onHandlerStateChange: this.onTapHandlerStateChange
        }, React.createElement(_reactNative.Animated.View, {
          pointerEvents: rowState === 0 ? 'auto' : 'box-only',
          style: [{
            transform: [{
              translateX: this.transX
            }]
          }, this.props.childrenContainerStyle]
        }, children))));
      }
    }]);
    return Swipeable;
  }(React.Component);

  exports.default = Swipeable;
  Swipeable.defaultProps = {
    friction: 1,
    overshootFriction: 1,
    useNativeAnimations: true
  };

  var styles = _reactNative.StyleSheet.create({
    container: {
      overflow: 'hidden'
    },
    leftActions: (0, _extends2.default)({}, _reactNative.StyleSheet.absoluteFillObject, {
      flexDirection: _reactNative.I18nManager.isRTL ? 'row-reverse' : 'row'
    }),
    rightActions: (0, _extends2.default)({}, _reactNative.StyleSheet.absoluteFillObject, {
      flexDirection: _reactNative.I18nManager.isRTL ? 'row' : 'row-reverse'
    })
  });
},426,[5,6,7,8,12,14,16,17,28,3,4]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var DRAG_TOSS = 0.05;
  var IDLE = 'Idle';
  var DRAGGING = 'Dragging';
  var SETTLING = 'Settling';

  var DrawerLayout = function (_Component) {
    (0, _inherits2.default)(DrawerLayout, _Component);

    var _super = _createSuper(DrawerLayout);

    function DrawerLayout(_props) {
      var _this;

      (0, _classCallCheck2.default)(this, DrawerLayout);
      _this = _super.call(this, _props);
      _this.accessibilityIsModalView = React.createRef();
      _this.pointerEventsView = React.createRef();
      _this.panGestureHandler = React.createRef();
      _this.drawerShown = false;

      _this.updateAnimatedEvent = function (props, state) {
        var drawerPosition = props.drawerPosition,
            drawerWidth = props.drawerWidth,
            drawerType = props.drawerType;
        var dragXValue = state.dragX,
            touchXValue = state.touchX,
            drawerTranslation = state.drawerTranslation,
            containerWidth = state.containerWidth;
        var dragX = dragXValue;
        var touchX = touchXValue;

        if (drawerPosition !== 'left') {
          dragX = _reactNative.Animated.multiply(new _reactNative.Animated.Value(-1), dragXValue);
          touchX = _reactNative.Animated.add(new _reactNative.Animated.Value(containerWidth), _reactNative.Animated.multiply(new _reactNative.Animated.Value(-1), touchXValue));
          touchXValue.setValue(containerWidth);
        } else {
          touchXValue.setValue(0);
        }

        var translationX = dragX;

        if (drawerType === 'front') {
          var startPositionX = _reactNative.Animated.add(touchX, _reactNative.Animated.multiply(new _reactNative.Animated.Value(-1), dragX));

          var dragOffsetFromOnStartPosition = startPositionX.interpolate({
            inputRange: [drawerWidth - 1, drawerWidth, drawerWidth + 1],
            outputRange: [0, 0, 1]
          });
          translationX = _reactNative.Animated.add(dragX, dragOffsetFromOnStartPosition);
        }

        _this.openValue = _reactNative.Animated.add(translationX, drawerTranslation).interpolate({
          inputRange: [0, drawerWidth],
          outputRange: [0, 1],
          extrapolate: 'clamp'
        });
        var gestureOptions = {
          useNativeDriver: props.useNativeAnimations
        };

        if (_this.props.onDrawerSlide) {
          gestureOptions.listener = function (ev) {
            var translationX = Math.floor(Math.abs(ev.nativeEvent.translationX));
            var position = translationX / _this.state.containerWidth;
            _this.props.onDrawerSlide == null ? undefined : _this.props.onDrawerSlide(position);
          };
        }

        _this.onGestureEvent = _reactNative.Animated.event([{
          nativeEvent: {
            translationX: dragXValue,
            x: touchXValue
          }
        }], gestureOptions);
      };

      _this.handleContainerLayout = function (_ref) {
        var nativeEvent = _ref.nativeEvent;

        _this.setState({
          containerWidth: nativeEvent.layout.width
        });
      };

      _this.emitStateChanged = function (newState, drawerWillShow) {
        _this.props.onDrawerStateChanged == null ? undefined : _this.props.onDrawerStateChanged(newState, drawerWillShow);
      };

      _this.openingHandlerStateChange = function (_ref2) {
        var nativeEvent = _ref2.nativeEvent;

        if (nativeEvent.oldState === _$$_REQUIRE(_dependencyMap[10]).State.ACTIVE) {
          _this.handleRelease({
            nativeEvent: nativeEvent
          });
        } else if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[10]).State.ACTIVE) {
          _this.emitStateChanged(DRAGGING, false);

          if (_this.props.keyboardDismissMode === 'on-drag') {
            _reactNative.Keyboard.dismiss();
          }

          if (_this.props.hideStatusBar) {
            _reactNative.StatusBar.setHidden(true, _this.props.statusBarAnimation || 'slide');
          }
        }
      };

      _this.onTapHandlerStateChange = function (_ref3) {
        var nativeEvent = _ref3.nativeEvent;

        if (_this.drawerShown && nativeEvent.oldState === _$$_REQUIRE(_dependencyMap[10]).State.ACTIVE && _this.props.drawerLockMode !== 'locked-open') {
          _this.closeDrawer();
        }
      };

      _this.handleRelease = function (_ref4) {
        var nativeEvent = _ref4.nativeEvent;
        var _this$props = _this.props,
            drawerWidth = _this$props.drawerWidth,
            drawerPosition = _this$props.drawerPosition,
            drawerType = _this$props.drawerType;
        var containerWidth = _this.state.containerWidth;
        var dragX = nativeEvent.translationX,
            velocityX = nativeEvent.velocityX,
            touchX = nativeEvent.x;

        if (drawerPosition !== 'left') {
          dragX = -dragX;
          touchX = containerWidth - touchX;
          velocityX = -velocityX;
        }

        var gestureStartX = touchX - dragX;
        var dragOffsetBasedOnStart = 0;

        if (drawerType === 'front') {
          dragOffsetBasedOnStart = gestureStartX > drawerWidth ? gestureStartX - drawerWidth : 0;
        }

        var startOffsetX = dragX + dragOffsetBasedOnStart + (_this.drawerShown ? drawerWidth : 0);
        var projOffsetX = startOffsetX + DRAG_TOSS * velocityX;
        var shouldOpen = projOffsetX > drawerWidth / 2;

        if (shouldOpen) {
          _this.animateDrawer(startOffsetX, drawerWidth, velocityX);
        } else {
          _this.animateDrawer(startOffsetX, 0, velocityX);
        }
      };

      _this.updateShowing = function (showing) {
        var _this$accessibilityIs, _this$pointerEventsVi, _this$panGestureHandl;

        _this.drawerShown = showing;
        (_this$accessibilityIs = _this.accessibilityIsModalView.current) == null ? undefined : _this$accessibilityIs.setNativeProps({
          accessibilityViewIsModal: showing
        });
        (_this$pointerEventsVi = _this.pointerEventsView.current) == null ? undefined : _this$pointerEventsVi.setNativeProps({
          pointerEvents: showing ? 'auto' : 'none'
        });
        var _this$props2 = _this.props,
            drawerPosition = _this$props2.drawerPosition,
            minSwipeDistance = _this$props2.minSwipeDistance,
            edgeWidth = _this$props2.edgeWidth;
        var fromLeft = drawerPosition === 'left';
        var gestureOrientation = (fromLeft ? 1 : -1) * (_this.drawerShown ? -1 : 1);
        var hitSlop = fromLeft ? {
          left: 0,
          width: showing ? undefined : edgeWidth
        } : {
          right: 0,
          width: showing ? undefined : edgeWidth
        };
        (_this$panGestureHandl = _this.panGestureHandler.current) == null ? undefined : _this$panGestureHandl.setNativeProps({
          hitSlop: hitSlop,
          activeOffsetX: gestureOrientation * minSwipeDistance
        });
      };

      _this.animateDrawer = function (fromValue, toValue, velocity, speed) {
        _this.state.dragX.setValue(0);

        _this.state.touchX.setValue(_this.props.drawerPosition === 'left' ? 0 : _this.state.containerWidth);

        if (fromValue != null) {
          var nextFramePosition = fromValue;

          if (_this.props.useNativeAnimations) {
            if (fromValue < toValue && velocity > 0) {
              nextFramePosition = Math.min(fromValue + velocity / 60.0, toValue);
            } else if (fromValue > toValue && velocity < 0) {
              nextFramePosition = Math.max(fromValue + velocity / 60.0, toValue);
            }
          }

          _this.state.drawerTranslation.setValue(nextFramePosition);
        }

        var willShow = toValue !== 0;

        _this.updateShowing(willShow);

        _this.emitStateChanged(SETTLING, willShow);

        if (_this.props.hideStatusBar) {
          _reactNative.StatusBar.setHidden(willShow, _this.props.statusBarAnimation || 'slide');
        }

        _reactNative.Animated.spring(_this.state.drawerTranslation, {
          velocity: velocity,
          bounciness: 0,
          toValue: toValue,
          useNativeDriver: _this.props.useNativeAnimations,
          speed: speed != null ? speed : undefined
        }).start(function (_ref5) {
          var finished = _ref5.finished;

          if (finished) {
            _this.emitStateChanged(IDLE, willShow);

            if (willShow) {
              _this.props.onDrawerOpen == null ? undefined : _this.props.onDrawerOpen();
            } else {
              _this.props.onDrawerClose == null ? undefined : _this.props.onDrawerClose();
            }
          }
        });
      };

      _this.openDrawer = function () {
        var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};

        _this.animateDrawer(undefined, _this.props.drawerWidth, options.velocity ? options.velocity : 0);

        _this.forceUpdate();
      };

      _this.closeDrawer = function () {
        var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};

        _this.animateDrawer(undefined, 0, options.velocity ? options.velocity : 0);

        _this.forceUpdate();
      };

      _this.renderOverlay = function () {
        (0, _invariant.default)(_this.openValue, 'should be set');

        var overlayOpacity = _this.openValue.interpolate({
          inputRange: [0, 1],
          outputRange: [0, 1],
          extrapolate: 'clamp'
        });

        var dynamicOverlayStyles = {
          opacity: overlayOpacity,
          backgroundColor: _this.props.overlayColor
        };
        return React.createElement(_$$_REQUIRE(_dependencyMap[11]).TapGestureHandler, {
          onHandlerStateChange: _this.onTapHandlerStateChange
        }, React.createElement(_reactNative.Animated.View, {
          pointerEvents: _this.drawerShown ? 'auto' : 'none',
          ref: _this.pointerEventsView,
          style: [styles.overlay, dynamicOverlayStyles]
        }));
      };

      _this.renderDrawer = function () {
        var _this$props3 = _this.props,
            drawerBackgroundColor = _this$props3.drawerBackgroundColor,
            drawerWidth = _this$props3.drawerWidth,
            drawerPosition = _this$props3.drawerPosition,
            drawerType = _this$props3.drawerType,
            drawerContainerStyle = _this$props3.drawerContainerStyle,
            contentContainerStyle = _this$props3.contentContainerStyle;
        var fromLeft = drawerPosition === 'left';
        var drawerSlide = drawerType !== 'back';
        var containerSlide = drawerType !== 'front';
        var reverseContentDirection = _reactNative.I18nManager.isRTL ? fromLeft : !fromLeft;
        var dynamicDrawerStyles = {
          backgroundColor: drawerBackgroundColor,
          width: drawerWidth
        };
        var openValue = _this.openValue;
        (0, _invariant.default)(openValue, 'should be set');
        var containerStyles;

        if (containerSlide) {
          var containerTranslateX = openValue.interpolate({
            inputRange: [0, 1],
            outputRange: fromLeft ? [0, drawerWidth] : [0, -drawerWidth],
            extrapolate: 'clamp'
          });
          containerStyles = {
            transform: [{
              translateX: containerTranslateX
            }]
          };
        }

        var drawerTranslateX = 0;

        if (drawerSlide) {
          var closedDrawerOffset = fromLeft ? -drawerWidth : drawerWidth;
          drawerTranslateX = openValue.interpolate({
            inputRange: [0, 1],
            outputRange: [closedDrawerOffset, 0],
            extrapolate: 'clamp'
          });
        }

        var drawerStyles = {
          transform: [{
            translateX: drawerTranslateX
          }],
          flexDirection: reverseContentDirection ? 'row-reverse' : 'row'
        };
        return React.createElement(_reactNative.Animated.View, {
          style: styles.main,
          onLayout: _this.handleContainerLayout
        }, React.createElement(_reactNative.Animated.View, {
          style: [drawerType === 'front' ? styles.containerOnBack : styles.containerInFront, containerStyles, contentContainerStyle],
          importantForAccessibility: _this.drawerShown ? 'no-hide-descendants' : 'yes'
        }, typeof _this.props.children === 'function' ? _this.props.children(_this.openValue) : _this.props.children, _this.renderOverlay()), React.createElement(_reactNative.Animated.View, {
          pointerEvents: "box-none",
          ref: _this.accessibilityIsModalView,
          accessibilityViewIsModal: _this.drawerShown,
          style: [styles.drawerContainer, drawerStyles, drawerContainerStyle]
        }, React.createElement(_reactNative.View, {
          style: dynamicDrawerStyles
        }, _this.props.renderNavigationView(_this.openValue))));
      };

      _this.setPanGestureRef = function (ref) {
        _this.panGestureHandler.current = ref;
        _this.props.onGestureRef == null ? undefined : _this.props.onGestureRef(ref);
      };

      var _dragX = new _reactNative.Animated.Value(0);

      var _touchX = new _reactNative.Animated.Value(0);

      var _drawerTranslation = new _reactNative.Animated.Value(0);

      _this.state = {
        dragX: _dragX,
        touchX: _touchX,
        drawerTranslation: _drawerTranslation,
        containerWidth: 0
      };

      _this.updateAnimatedEvent(_props, _this.state);

      return _this;
    }

    (0, _createClass2.default)(DrawerLayout, [{
      key: "UNSAFE_componentWillUpdate",
      value: function UNSAFE_componentWillUpdate(props, state) {
        if (this.props.drawerPosition !== props.drawerPosition || this.props.drawerWidth !== props.drawerWidth || this.props.drawerType !== props.drawerType || this.state.containerWidth !== state.containerWidth) {
          this.updateAnimatedEvent(props, state);
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props4 = this.props,
            drawerPosition = _this$props4.drawerPosition,
            drawerLockMode = _this$props4.drawerLockMode,
            edgeWidth = _this$props4.edgeWidth,
            minSwipeDistance = _this$props4.minSwipeDistance;
        var fromLeft = drawerPosition === 'left';
        var gestureOrientation = (fromLeft ? 1 : -1) * (this.drawerShown ? -1 : 1);
        var hitSlop = fromLeft ? {
          left: 0,
          width: this.drawerShown ? undefined : edgeWidth
        } : {
          right: 0,
          width: this.drawerShown ? undefined : edgeWidth
        };
        return React.createElement(_$$_REQUIRE(_dependencyMap[11]).PanGestureHandler, {
          ref: this.setPanGestureRef,
          hitSlop: hitSlop,
          activeOffsetX: gestureOrientation * minSwipeDistance,
          failOffsetY: [-15, 15],
          onGestureEvent: this.onGestureEvent,
          onHandlerStateChange: this.openingHandlerStateChange,
          enableTrackpadTwoFingerGesture: this.props.enableTrackpadTwoFingerGesture,
          enabled: drawerLockMode !== 'locked-closed' && drawerLockMode !== 'locked-open'
        }, this.renderDrawer());
      }
    }]);
    return DrawerLayout;
  }(React.Component);

  exports.default = DrawerLayout;
  DrawerLayout.defaultProps = {
    drawerWidth: 200,
    drawerPosition: 'left',
    useNativeAnimations: true,
    drawerType: 'front',
    edgeWidth: 20,
    minSwipeDistance: 3,
    overlayColor: 'rgba(0, 0, 0, 0.7)',
    drawerLockMode: 'unlocked',
    enableTrackpadTwoFingerGesture: false
  };
  DrawerLayout.positions = {
    Left: 'left',
    Right: 'right'
  };

  var styles = _reactNative.StyleSheet.create({
    drawerContainer: (0, _extends2.default)({}, _reactNative.StyleSheet.absoluteFillObject, {
      zIndex: 1001,
      flexDirection: 'row'
    }),
    containerInFront: (0, _extends2.default)({}, _reactNative.StyleSheet.absoluteFillObject, {
      zIndex: 1002
    }),
    containerOnBack: (0, _extends2.default)({}, _reactNative.StyleSheet.absoluteFillObject),
    main: {
      flex: 1,
      zIndex: 0,
      overflow: 'hidden'
    },
    overlay: (0, _extends2.default)({}, _reactNative.StyleSheet.absoluteFillObject, {
      zIndex: 1000
    })
  });
},427,[5,6,7,8,12,14,16,17,36,28,3,4]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _EpaperLayoutConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _PublicationsManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _Publication = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _SslConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _ContentManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  global.__DEV__ = false;

  if (!global.btoa) {
    global.btoa = _$$_REQUIRE(_dependencyMap[10]).encode;
  }

  if (!global.atob) {
    global.atob = _$$_REQUIRE(_dependencyMap[10]).decode;
  }

  global.newsmemoryStartupParams = {};

  global.setNewsmemoryStartupParams = function (params) {
    global.newsmemoryStartupParams = params;
  };

  global.updateNewsmemoryStartupParams = function () {
    var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var current = global.getNewsmemoryStartupParams() || {};
    global.newsmemoryStartupParams = (0, _extends2.default)({}, current, params);
  };

  global.getNewsmemoryStartupParams = function () {
    return global.newsmemoryStartupParams;
  };

  global.isIssueInNewsmemoryStartupParams = function () {
    if (global.newsmemoryStartupParams) {
      var _global$newsmemorySta = global.newsmemoryStartupParams,
          date = _global$newsmemorySta.date,
          selDate = _global$newsmemorySta.selDate,
          issue = _global$newsmemorySta.issue;
      return selDate !== undefined || date !== undefined || issue !== undefined;
    }

    return false;
  };

  global.shouldForceNewsmemoryWithStartupParams = function () {
    if (global.newsmemoryStartupParams) {
      var schemaPath = global.newsmemoryStartupParams.schemaPath;
      return schemaPath === "load" || global.isIssueInNewsmemoryStartupParams();
    }

    return false;
  };

  global.resetNewsmemoryStartupParams = function () {
    global.newsmemoryStartupParams = {};
  };

  global.initBaseValues = function (props) {
    var language = props.language,
        pSetup = props.pSetup,
        machine = props.machine,
        splashBgColor = props.splashBgColor,
        loadingColor = props.loadingColor,
        appName = props.appName,
        appVersionName = props.appVersionName,
        appVersionCode = props.appVersionCode,
        androidVersionName = props.androidVersionName,
        iosIapSharedSecret = props.iosIapSharedSecret,
        androidAppId = props.androidAppId,
        pushService = props.pushService,
        pushChannel = props.pushChannel,
        pushChannelSilent = props.pushChannelSilent,
        masAppId = props.masAppId,
        hcmAppId = props.hcmAppId,
        oneSignalAppId = props.oneSignalAppId,
        facebookAppId = props.facebookAppId,
        isAddon = props.isAddon,
        addonNeedsCloseButton = props.addonNeedsCloseButton,
        addonNeedsSafeArea = props.addonNeedsSafeArea,
        isTecnaviaHelperApp = props.isTecnaviaHelperApp,
        debugMode = props.debugMode,
        densityDPI = props.densityDPI,
        isHuawei = props.isHuawei,
        isKindle = props.isKindle,
        initialOrientation = props.initialOrientation,
        developerName = props.developerName,
        externalLinkAccountURL = props.externalLinkAccountURL,
        token = props.token,
        apiKey = props.apiKey;
    global.splashBgColor = splashBgColor;
    global.loadingColor = loadingColor;
    global.appName = appName;
    global.appVersionName = appVersionName;
    global.androidVersionName = androidVersionName;
    global.appVersionCode = appVersionCode;
    global.iosIapSharedSecret = iosIapSharedSecret;
    global.androidAppId = androidAppId;
    global.pushService = pushService;
    global.pushChannel = pushChannel;
    global.pushChannelSilent = pushChannelSilent;
    global.masAppId = masAppId;
    global.hcmAppId = hcmAppId;
    global.oneSignalAppId = oneSignalAppId;
    global.facebookAppId = facebookAppId;
    global.isDebug = global.__DEV__ || debugMode;
    global.isApiDebug = global.isDebug;
    global.cssDebug = global.isDebug;
    global.isHuawei = isHuawei;
    global.isKindle = isKindle;
    global.locale = language;
    global.pSetup = pSetup;
    global.server = machine;
    global.isTecnaviaHelperApp = isTecnaviaHelperApp;
    global.densityDPI = densityDPI;
    global.initialOrientation = initialOrientation;
    global.isAddon = isAddon;
    global.addonNeedsCloseButton = isAddon && addonNeedsCloseButton;
    global.addonNeedsSafeArea = isAddon && addonNeedsSafeArea;
    global.apiKey = apiKey;
    global.developerName = developerName || "Tecnavia";
    global.externalLinkAccountURL = externalLinkAccountURL;

    if (token) {
      global.updateNewsmemoryStartupParams({
        token: token
      });
    }

    _$$_REQUIRE(_dependencyMap[11]).NetworkUtils.isHTTPS = global.isHTTPS();
    _$$_REQUIRE(_dependencyMap[11]).Logger.enableLog = global.isDebug;

    if (global.__DEV__ && !global.isTaAddon()) {}

    global.initialized = true;
  };

  global.initialized = false;
  global.startup = true;
  global.lastAppSide = undefined;
  global.lastRssCategory = undefined;
  global.pSetup = "";
  global.server = "";
  global.locale = "";
  global.isDebug = false;
  global.isAddon = false;
  global.addonNeedsCloseButton = false;
  global.addonNeedsSafeArea = false;
  global.isTecnaviaHelperApp = false;
  global.developer = "amauri";
  global.isApiDebug = false;
  global.cssDebug = false;
  global.adsTestDevices = ["EF6F266379A7547A0AC501AC591D60A1"];
  global.isLayoutDebug = false;
  global.developerName = undefined;
  global.externalLinkAccountURL = undefined;
  global.apiKey = undefined;
  global.unauthorized = false;
  global.machineId = undefined;
  global.openingPushNotificationDate = new Date();
  global.advertisingTrackingConsent = undefined;

  global.isTaAddon = function () {
    return global.isAddon || global.isTecnaviaHelperApp;
  };

  global.TaAddonNeedsCloseButton = function () {
    return global.addonNeedsCloseButton;
  };

  global.appNeedsSafeArea = function () {
    return !global.isTaAddon() ? true : global.addonNeedsSafeArea;
  };

  global.getRssFavoritesConfig = function () {
    if (!global.rssFavoritesConfig) {
      global.rssFavoritesConfig = new (_$$_REQUIRE(_dependencyMap[12]).RssFavoritesConfig)();
    }

    return global.rssFavoritesConfig;
  };

  global.getEpaperLayoutConfig = function () {
    if (!global.epaperLayoutConfig) {
      global.epaperLayoutConfig = new _EpaperLayoutConfig.default();
    }

    return global.epaperLayoutConfig;
  };

  global.getLocaleConfig = function () {
    if (!global.localeConfig) {
      global.localeConfig = new (_$$_REQUIRE(_dependencyMap[13]).LocaleConfig)();
    }

    return global.localeConfig;
  };

  global.getSslConfig = function () {
    if (!global.sslConfig) {
      global.sslConfig = new _SslConfig.default();
    }

    return global.sslConfig;
  };

  global.strings = function (name) {
    var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
    return global.getLocaleConfig().strings(name, params);
  };

  global.date = function (time) {
    return global.getLocaleConfig().date(time);
  };

  global.formattedDate = function (str, format) {
    return global.getLocaleConfig().formattedDate(str, format);
  };

  global.getAudio = function () {
    return global.getLocaleConfig().audioMgr;
  };

  global.getAdsConfig = function () {
    if (!global.adsConfig) {
      global.adsConfig = new (_$$_REQUIRE(_dependencyMap[14]).AdsConfig)();
    }

    return global.adsConfig;
  };

  global.getVerticalsConfig = function () {
    if (!global.verticalsConfig) {
      global.verticalsConfig = new (_$$_REQUIRE(_dependencyMap[15]).VerticalsConfig)();
    }

    return global.verticalsConfig;
  };

  global.getNewsmemoryConfig = function () {
    if (!global.newsmemoryConfig) {
      global.newsmemoryConfig = new _NewsmemoryConfig.default();
    }

    return global.newsmemoryConfig;
  };

  global.getRssIndexManager = function () {
    if (!global.rssIndexManager) {
      global.rssIndexManager = new (_$$_REQUIRE(_dependencyMap[16]).RssIndexManager)();
    }

    return global.rssIndexManager;
  };

  global.getRssIndex = function (pSetup) {
    return global.getRssIndexManager().getIndex(pSetup);
  };

  global.getFontsManager = function () {
    if (!global.fontsManager) {
      global.fontsManager = new (_$$_REQUIRE(_dependencyMap[17]).FontsManager)();
    }

    return global.fontsManager;
  };

  global.getFontsConfig = function (paper) {
    return global.getFontsManager().getConfig(paper);
  };

  global.getUserSettings = function () {
    if (!global.userConfig) {
      global.userConfig = new (_$$_REQUIRE(_dependencyMap[18]).UserConfig)();
    }

    return global.userConfig;
  };

  global.getAppPSetup = function () {
    var pSetup;

    var _global$getUserSettin = global.getUserSettings(),
        notificationEmail = _global$getUserSettin.notificationEmail;

    if (notificationEmail) {
      var _StringUtils$parseNot = _$$_REQUIRE(_dependencyMap[11]).StringUtils.parseNotificationEmail(notificationEmail);

      pSetup = _StringUtils$parseNot.pSetup;
      var paperSetupManager = global.getPaperSetupManager();

      if (paperSetupManager) {
        var activePSetup = paperSetupManager.activePSetup;

        if (!activePSetup) {
          paperSetupManager.setActivePSetup(pSetup);
        } else {
          var _NewsmemoryUtils$pars = _newsmemoryUtils.default.parseXpSetup(activePSetup),
              mainActivepSetup = _NewsmemoryUtils$pars.mainpSetup;

          if (pSetup !== mainActivepSetup) {
            paperSetupManager.setActivePSetup(pSetup);
          }
        }
      }
    }

    if (!pSetup) {
      var _global = global;
      pSetup = _global.pSetup;
    }

    return pSetup.trim();
  };

  global.getAppServer = function () {
    var server;

    var _global$getUserSettin2 = global.getUserSettings(),
        notificationEmail = _global$getUserSettin2.notificationEmail;

    if (notificationEmail) {
      var _StringUtils$parseNot2 = _$$_REQUIRE(_dependencyMap[11]).StringUtils.parseNotificationEmail(notificationEmail);

      server = _StringUtils$parseNot2.server;
    }

    if (!server) {
      var _global2 = global;
      server = _global2.server;
    }

    return server.trim();
  };

  global.isHTTPS = function () {
    return global.getAppServer().indexOf("https://") === 0;
  };

  global.getPaperSetupManager = function () {
    if (!global.paperSetupManager) {
      global.paperSetupManager = new (_$$_REQUIRE(_dependencyMap[19]).PaperSetupManager)();
    }

    return global.paperSetupManager;
  };

  global.getMainPSetup = function () {
    return global.getPaperSetupManager().getMainPSetupConfig();
  };

  global.getActivePSetup = function () {
    return global.getPaperSetupManager().getActivePSetupConfig();
  };

  global.getRSSActivePSetup = function () {
    return global.getPaperSetupManager().getRSSActivePSetupConfig();
  };

  global.initPSetup = function _callee(pSetup, machine, extraParams) {
    return _regenerator.default.async(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            return _context.abrupt("return", global.getPaperSetupManager().init(pSetup, machine, extraParams));

          case 1:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  };

  global.initConfigOnly = function _callee2(pSetup, machine) {
    return _regenerator.default.async(function _callee2$(_context2) {
      while (1) {
        switch (_context2.prev = _context2.next) {
          case 0:
            return _context2.abrupt("return", global.getPaperSetupManager().initConfigOnly(pSetup, machine));

          case 1:
          case "end":
            return _context2.stop();
        }
      }
    }, null, null, null, Promise);
  };

  global.setPSetupConfig = function _callee3(pSetup, pSetupConfig) {
    return _regenerator.default.async(function _callee3$(_context3) {
      while (1) {
        switch (_context3.prev = _context3.next) {
          case 0:
            return _context3.abrupt("return", global.getPaperSetupManager().setPSetupConfig(pSetup, pSetupConfig));

          case 1:
          case "end":
            return _context3.stop();
        }
      }
    }, null, null, null, Promise);
  };

  global.loadPSetup = function _callee4(pSetup, machine, extraParams, external) {
    return _regenerator.default.async(function _callee4$(_context4) {
      while (1) {
        switch (_context4.prev = _context4.next) {
          case 0:
            return _context4.abrupt("return", global.getPaperSetupManager().load(pSetup, machine, (0, _extends2.default)({
              fromCache: true
            }, extraParams), external));

          case 1:
          case "end":
            return _context4.stop();
        }
      }
    }, null, null, null, Promise);
  };

  global.reloadActivePSetup = function _callee5(extraParams) {
    return _regenerator.default.async(function _callee5$(_context5) {
      while (1) {
        switch (_context5.prev = _context5.next) {
          case 0:
            return _context5.abrupt("return", global.getPaperSetupManager().reload(extraParams));

          case 1:
          case "end":
            return _context5.stop();
        }
      }
    }, null, null, null, Promise);
  };

  global.getPublicationsManager = function () {
    if (!global.publicationsManager) {
      global.publicationsManager = new _PublicationsManager.default();
    }

    return global.publicationsManager;
  };

  global.loadPublications = function _callee6() {
    return _regenerator.default.async(function _callee6$(_context6) {
      while (1) {
        switch (_context6.prev = _context6.next) {
          case 0:
            return _context6.abrupt("return", global.getPublicationsManager().load());

          case 1:
          case "end":
            return _context6.stop();
        }
      }
    }, null, null, null, Promise);
  };

  global.setCurrentPublication = function (params) {
    return global.getPublicationsManager().setCurrentPublication(params);
  };

  global.getCurrentPublication = function _callee7() {
    return _regenerator.default.async(function _callee7$(_context7) {
      while (1) {
        switch (_context7.prev = _context7.next) {
          case 0:
            return _context7.abrupt("return", global.getPublicationsManager().getCurrentPublication());

          case 1:
          case "end":
            return _context7.stop();
        }
      }
    }, null, null, null, Promise);
  };

  global.getContentManager = function () {
    if (!global.contentManager) {
      global.contentManager = new _ContentManager.default();
    }

    return global.contentManager;
  };

  global.analyzeUsedSpace = function _callee8() {
    return _regenerator.default.async(function _callee8$(_context8) {
      while (1) {
        switch (_context8.prev = _context8.next) {
          case 0:
            return _context8.abrupt("return", global.getContentManager().analyze());

          case 1:
          case "end":
            return _context8.stop();
        }
      }
    }, null, null, null, Promise);
  };

  global.getUsedSpace = function () {
    var _global$getContentMan = global.getContentManager(),
        usedSpace = _global$getContentMan.usedSpace,
        numberOfPapersDirs = _global$getContentMan.numberOfPapersDirs,
        numberOfIssuesDirs = _global$getContentMan.numberOfIssuesDirs,
        numberOfPagesDirs = _global$getContentMan.numberOfPagesDirs;

    return {
      usedSpace: usedSpace,
      numberOfPapersDirs: numberOfPapersDirs,
      numberOfIssuesDirs: numberOfIssuesDirs,
      numberOfPagesDirs: numberOfPagesDirs
    };
  };

  _$$_REQUIRE(_dependencyMap[11]).Logger.enableLog = false;
  _$$_REQUIRE(_dependencyMap[11]).Logger.enableLogCaller = false;
  _$$_REQUIRE(_dependencyMap[11]).Logger.initializedLogSession = false;
  _$$_REQUIRE(_dependencyMap[11]).Logger.logSessionFileName = "";
  global.getLocaleConfig().initLocale();
},428,[5,80,6,429,1859,1722,1723,603,1960,1961,486,462,1962,1976,2012,2059,2066,2074,2077,1849]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _NewsmemoryAJAX = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _PublicationsManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var EpaperLayoutConfig = function () {
    function EpaperLayoutConfig() {
      (0, _classCallCheck2.default)(this, EpaperLayoutConfig);
      this.isTablet = _$$_REQUIRE(_dependencyMap[6]).PlatformUtils.isTablet();
      this.config = {};
    }

    (0, _createClass2.default)(EpaperLayoutConfig, [{
      key: "_addPublicationsButton",
      value: function _addPublicationsButton() {
        if (this.mainFooter.buttons && this.mainFooter.buttons.length > 0) {
          var moreButton = this.mainFooter.buttons.find(function (button) {
            return button && button.getAction() === _$$_REQUIRE(_dependencyMap[7]).ACTIONS.openMore.key;
          });

          if (!moreButton) {
            var more = _$$_REQUIRE(_dependencyMap[8]).main.buttons.find(function (button) {
              return button && button.function === _$$_REQUIRE(_dependencyMap[7]).ACTIONS.openMore.key;
            });

            if (more) {
              this.mainFooter.buttons.push(new (_$$_REQUIRE(_dependencyMap[9]).Icon)(more));
            }
          }
        }

        var publicationsButton;

        if (this.mainFooter.more && this.mainFooter.more.length > 0) {
          publicationsButton = this.mainFooter.more.find(function (button) {
            return button && button.getAction() === _$$_REQUIRE(_dependencyMap[7]).ACTIONS.openOptionPagePublications.key;
          });
        }

        if (!publicationsButton) {
          if (this.mainFooter.buttons && this.mainFooter.buttons.length > 0) {
            publicationsButton = this.mainFooter.buttons.find(function (button) {
              return button && button.getAction() === _$$_REQUIRE(_dependencyMap[7]).ACTIONS.openOptionPagePublications.key;
            });
          }

          if (!publicationsButton) {
            if (!this.mainFooter.more) {
              this.mainFooter.more = [];
            }

            var pubs = _$$_REQUIRE(_dependencyMap[8]).main.more.find(function (button) {
              return button && button.function === _$$_REQUIRE(_dependencyMap[7]).ACTIONS.openOptionPagePublications.key;
            });

            if (pubs) {
              var id = this.mainFooter.more.length + 1;
              pubs.id = id;
              this.mainFooter.more.push(new (_$$_REQUIRE(_dependencyMap[9]).Icon)(pubs));
            }
          }
        }
      }
    }, {
      key: "getIconByAction",
      value: function getIconByAction(action) {
        var button;

        if (this.mainFooter) {
          button = this.mainFooter.getButtonByAction(action);
        }

        if (!button && this.articleFooter) {
          button = this.articleFooter.getButtonByAction(action);
        }

        if (!button && this.firstLevelIndexFooter) {
          button = this.firstLevelIndexFooter.getButtonByAction(action);
        }

        if (!button && this.secondLevelIndexFooter) {
          button = this.secondLevelIndexFooter.getButtonByAction(action);
        }

        if (!button && this.articleHeader) {
          button = this.articleHeader.getButtonByAction(action);
        }

        if (!button && this.firstLevelIndexHeader) {
          button = this.firstLevelIndexHeader.getButtonByAction(action);
        }

        if (!button && this.secondLevelIndexHeader) {
          button = this.secondLevelIndexHeader.getButtonByAction(action);
        }

        if (!button && this.navigationModel) {
          button = this.navigationModel.getButtonByAction(action);
        }

        return button;
      }
    }, {
      key: "init",
      value: function init(pSetup, type, remote) {
        var fromPublicationsPage,
            response,
            _this$config,
            main,
            article,
            index,
            navigation,
            _global$getActivePSet,
            isGenericApp,
            publicationsManager,
            firstLevel,
            secondLevel,
            _args = arguments;

        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                fromPublicationsPage = _args.length > 3 && _args[3] !== undefined ? _args[3] : false;
                this.type = type;

                if (!remote) {
                  _context.next = 25;
                  break;
                }

                _context.prev = 3;
                _context.next = 6;
                return _regenerator.default.awrap(_NewsmemoryAJAX.default.getEpaperLayoutConfig());

              case 6:
                response = _context.sent;
                this.config = response && response.data || {};
                global.getNewsmemoryConfig().setLayout(pSetup, this.config);
                _context.next = 16;
                break;

              case 11:
                _context.prev = 11;
                _context.t0 = _context["catch"](3);
                _context.next = 15;
                return _regenerator.default.awrap(global.getNewsmemoryConfig().getLayout(pSetup));

              case 15:
                this.config = _context.sent;

              case 16:
                _context.prev = 16;
                _context.next = 19;
                return _regenerator.default.awrap(global.getNewsmemoryConfig().resetTranslationAvailable());

              case 19:
                _context.next = 23;
                break;

              case 21:
                _context.prev = 21;
                _context.t1 = _context["catch"](16);

              case 23:
                _context.next = 28;
                break;

              case 25:
                _context.next = 27;
                return _regenerator.default.awrap(global.getNewsmemoryConfig().getLayout(pSetup));

              case 27:
                this.config = _context.sent;

              case 28:
                if (!this.config || !this.config.main) {
                  switch (this.type) {
                    case EpaperLayoutConfig.Type.hybridLite:
                    case EpaperLayoutConfig.Type.hybrid:
                    case EpaperLayoutConfig.Type.lite:
                    default:
                      this.config = this.isTablet ? _$$_REQUIRE(_dependencyMap[8]) : _$$_REQUIRE(_dependencyMap[10]);
                  }
                }

                _this$config = this.config, main = _this$config.main, article = _this$config.article, index = _this$config.index, navigation = _this$config.navigation;

                if (main) {
                  this.mainFooter = new (_$$_REQUIRE(_dependencyMap[11]).Footer)(main);
                  _global$getActivePSet = global.getActivePSetup(), isGenericApp = _global$getActivePSet.isGenericApp;

                  if (_$$_REQUIRE(_dependencyMap[12]).PaperSetupManager.isGenericAppConfigured() && !isGenericApp) {
                    publicationsManager = global.getPublicationsManager();

                    if (fromPublicationsPage || publicationsManager.getPublications().length > 1) {
                      this._addPublicationsButton();
                    }
                  }
                }

                if (article) {
                  this.articleFooter = new (_$$_REQUIRE(_dependencyMap[11]).Footer)(article.footer);
                  this.articleHeader = new (_$$_REQUIRE(_dependencyMap[13]).Header)(article);
                }

                if (index) {
                  firstLevel = index.firstLevel, secondLevel = index.secondLevel;

                  if (firstLevel) {
                    this.firstLevelIndexHeader = new (_$$_REQUIRE(_dependencyMap[13]).Header)(firstLevel);
                    this.firstLevelIndexFooter = new (_$$_REQUIRE(_dependencyMap[11]).Footer)(firstLevel.footer || article.footer);
                  }

                  if (secondLevel) {
                    this.secondLevelIndexHeader = new (_$$_REQUIRE(_dependencyMap[13]).Header)(secondLevel);
                    this.secondLevelIndexFooter = new (_$$_REQUIRE(_dependencyMap[11]).Footer)(secondLevel.footer || article.footer);
                  }
                }

                if (navigation) {
                  this.navigationModel = new (_$$_REQUIRE(_dependencyMap[14]).Navigation)(navigation);
                }

              case 34:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[3, 11], [16, 21]], Promise);
      }
    }]);
    return EpaperLayoutConfig;
  }();

  exports.default = EpaperLayoutConfig;
  EpaperLayoutConfig.Type = {
    normal: 0,
    lite: 1,
    hybrid: 2,
    hybridLite: 3
  };
},429,[5,80,7,8,430,1722,462,1725,1804,1805,1845,1846,1849,1853,1858]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _downloadUtils = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _ApplicationManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _newsmemoryUtils = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  var _NewsmemoryDatabasesManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _pageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _Session = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var NewsmemoryAJAX = function () {
    function NewsmemoryAJAX() {
      (0, _classCallCheck2.default)(this, NewsmemoryAJAX);
    }

    (0, _createClass2.default)(NewsmemoryAJAX, null, [{
      key: "getDomain",
      value: function getDomain(canUseCDN) {
        var _global$getActivePSet = global.getActivePSetup(),
            machine = _global$getActivePSet.machine;

        var _global$getNewsmemory = global.getNewsmemoryConfig(),
            cdnServer = _global$getNewsmemory.cdnServer;

        return canUseCDN && cdnServer || machine;
      }
    }, {
      key: "baseUrl",
      value: function baseUrl(canUseCDN) {
        return _Api.default.baseUrl(NewsmemoryAJAX.getDomain(canUseCDN));
      }
    }, {
      key: "getDefaultGETParams",
      value: function getDefaultGETParams() {
        var _global$getActivePSet2 = global.getActivePSetup(),
            pSetup = _global$getActivePSet2.pSetup;

        return {
          pSetup: pSetup
        };
      }
    }, {
      key: "getEncryptedCallsParams",
      value: function getEncryptedCallsParams() {
        var useCDN = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;

        var _global$getActivePSet3 = global.getActivePSetup(),
            pSetup = _global$getActivePSet3.pSetup,
            encryptFilenames = _global$getActivePSet3.encryptFilenames;

        if (useCDN && encryptFilenames === _$$_REQUIRE(_dependencyMap[17]).ENCRYPT_FILENAME_TYPE.XPAPER) {
          var _NewsmemoryUtils$pars = _newsmemoryUtils.default.parseXpSetup(pSetup),
              xpSetup = _NewsmemoryUtils$pars.xpSetup;

          if (xpSetup) {
            return {
              pSetup: xpSetup
            };
          }
        }

        return {};
      }
    }, {
      key: "getResourceCDNParams",
      value: function getResourceCDNParams(secret, resourceName, resourceValues, resourceFileTimes) {
        var useCDN = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
        var params = {};

        if (secret) {
          params = (0, _extends2.default)({}, NewsmemoryAJAX.getEncryptedCallsParams(useCDN), {
            cc: _newsmemoryUtils.default.encryptFilenames(resourceValues, secret)
          });

          if (resourceFileTimes) {
            params.mtime = resourceFileTimes.join(",");
          }
        } else {
          params[resourceName] = resourceValues.join(",");

          if (resourceFileTimes) {
            params.ts = _newsmemoryUtils.default.getCDNChecksum(resourceFileTimes);
          }
        }

        return params;
      }
    }, {
      key: "get",
      value: function get(params) {
        var config,
            skipDefaultParams,
            headers,
            _args = arguments;
        return _regenerator.default.async(function get$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                config = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
                skipDefaultParams = _args.length > 2 && _args[2] !== undefined ? _args[2] : false;
                headers = _args.length > 3 && _args[3] !== undefined ? _args[3] : {};
                return _context.abrupt("return", _Api.default.get(NewsmemoryAJAX.baseUrl(), config, (0, _extends2.default)({}, NewsmemoryAJAX.getDefaultGETParams(), params), skipDefaultParams, headers));

              case 4:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "post",
      value: function post(baseUrl) {
        var getParams,
            data,
            config,
            headers,
            params,
            url,
            _args2 = arguments;
        return _regenerator.default.async(function post$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                getParams = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {};
                data = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : {};
                config = _args2.length > 3 && _args2[3] !== undefined ? _args2[3] : {
                  responseType: "text"
                };
                headers = _args2.length > 4 && _args2[4] !== undefined ? _args2[4] : {};
                params = (0, _extends2.default)({}, _Api.default.getDefaultParams(), NewsmemoryAJAX.getDefaultGETParams(), getParams);
                url = _$$_REQUIRE(_dependencyMap[18]).StringUtils.appendParams(baseUrl, params);
                return _context2.abrupt("return", _Api.default.post(url, config, data, true, headers));

              case 7:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "login",
      value: function login(_ref, timeout) {
        var username, password, TAUID, TOKEN, challenge, rest;
        return _regenerator.default.async(function login$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                username = _ref.username, password = _ref.password, TAUID = _ref.TAUID, TOKEN = _ref.TOKEN, challenge = _ref.challenge, rest = (0, _objectWithoutProperties2.default)(_ref, ["username", "password", "TAUID", "TOKEN", "challenge"]);
                return _context3.abrupt("return", NewsmemoryAJAX.get((0, _extends2.default)({
                  action: "login",
                  timepc: new Date().getTime() / 1000 || 0,
                  username: !_$$_REQUIRE(_dependencyMap[18]).JSUtils.isNull(username) ? username : undefined,
                  password: password,
                  challenge: challenge,
                  TAUID: TAUID,
                  TOKEN: TOKEN,
                  LocalUA: _$$_REQUIRE(_dependencyMap[18]).PlatformUtils.getUserAgent()
                }, rest), {
                  timeout: timeout
                }));

              case 2:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "createIAPUser",
      value: function createIAPUser() {
        return _regenerator.default.async(function createIAPUser$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                return _context4.abrupt("return", NewsmemoryAJAX.get({
                  action: "createIAPUser"
                }));

              case 1:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getEditionsAndIssues",
      value: function getEditionsAndIssues() {
        var params,
            _global$getActivePSet4,
            loadEditionsUrl,
            _NewsmemoryUtils$pars2,
            mainpSetup,
            result,
            _args5 = arguments;

        return _regenerator.default.async(function getEditionsAndIssues$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                params = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : {};
                _global$getActivePSet4 = global.getActivePSetup(), loadEditionsUrl = _global$getActivePSet4.loadEditionsUrl;
                _NewsmemoryUtils$pars2 = _newsmemoryUtils.default.parseXpSetup(global.getActivePSetup().pSetup), mainpSetup = _NewsmemoryUtils$pars2.mainpSetup;
                _context5.prev = 3;
                _context5.next = 6;
                return _regenerator.default.awrap(_Api.default.get(loadEditionsUrl, {}, (0, _extends2.default)({}, NewsmemoryAJAX.getDefaultGETParams(), {
                  pSetup: mainpSetup
                }, params)));

              case 6:
                result = _context5.sent;
                return _context5.abrupt("return", result.data);

              case 10:
                _context5.prev = 10;
                _context5.t0 = _context5["catch"](3);

              case 12:
                return _context5.abrupt("return", {});

              case 13:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, [[3, 10]], Promise);
      }
    }, {
      key: "getIssues",
      value: function getIssues(edition) {
        var _global$getActivePSet5, defaultMaxIssues, udb, newsmemoryConfig, prefEdi, favEdi, result;

        return _regenerator.default.async(function getIssues$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                _global$getActivePSet5 = global.getActivePSetup(), defaultMaxIssues = _global$getActivePSet5.defaultMaxIssues, udb = _global$getActivePSet5.udb;
                newsmemoryConfig = global.getNewsmemoryConfig();
                _context6.next = 4;
                return _regenerator.default.awrap(newsmemoryConfig.getPrefEdi(udb));

              case 4:
                prefEdi = _context6.sent;
                _context6.next = 7;
                return _regenerator.default.awrap(newsmemoryConfig.getFavEdi());

              case 7:
                favEdi = _context6.sent;
                _context6.prev = 8;
                _context6.next = 11;
                return _regenerator.default.awrap(NewsmemoryAJAX.get({
                  action: "issues",
                  maxIssues: defaultMaxIssues,
                  edition: edition,
                  prefEdi: prefEdi,
                  favEdi: favEdi
                }));

              case 11:
                result = _context6.sent;
                return _context6.abrupt("return", result.data);

              case 15:
                _context6.prev = 15;
                _context6.t0 = _context6["catch"](8);

              case 17:
                return _context6.abrupt("return", []);

              case 18:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, [[8, 15]], Promise);
      }
    }, {
      key: "getEditions",
      value: function getEditions(issue) {
        var result;
        return _regenerator.default.async(function getEditions$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                _context7.prev = 0;
                _context7.next = 3;
                return _regenerator.default.awrap(NewsmemoryAJAX.get({
                  action: "editions",
                  issue: issue
                }));

              case 3:
                result = _context7.sent;
                return _context7.abrupt("return", result.data);

              case 7:
                _context7.prev = 7;
                _context7.t0 = _context7["catch"](0);

              case 9:
                return _context7.abrupt("return", []);

              case 10:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, [[0, 7]], Promise);
      }
    }, {
      key: "translateArticle",
      value: function translateArticle(config) {
        var _global$getActivePSet6, translationServer, useCDN, baseUrl, target, issue, edition, filename, artid, filetime, secret, defaultParams, result;

        return _regenerator.default.async(function translateArticle$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                _global$getActivePSet6 = global.getActivePSetup(), translationServer = _global$getActivePSet6.translationServer;
                useCDN = false;

                if (translationServer) {
                  baseUrl = _Api.default.baseUrl(translationServer);
                } else {
                  useCDN = _newsmemoryUtils.default.isCDNEnabled();
                  baseUrl = NewsmemoryAJAX.baseUrl(useCDN);
                }

                _context8.prev = 3;
                target = config.target, issue = config.issue, edition = config.edition, filename = config.filename, artid = config.artid, filetime = config.filetime, secret = config.secret;
                defaultParams = (0, _extends2.default)({}, _Api.default.getDefaultParams(true, useCDN), NewsmemoryAJAX.getDefaultGETParams(), {
                  action: "translate",
                  target: target,
                  issue: issue,
                  edition: edition,
                  artid: artid
                }, NewsmemoryAJAX.getResourceCDNParams(secret, "filename", [filename], [filetime], useCDN));
                _context8.next = 8;
                return _regenerator.default.awrap(_Api.default.get(baseUrl, {}, defaultParams, true));

              case 8:
                result = _context8.sent;
                return _context8.abrupt("return", result.data);

              case 12:
                _context8.prev = 12;
                _context8.t0 = _context8["catch"](3);

              case 14:
                return _context8.abrupt("return", "");

              case 15:
              case "end":
                return _context8.stop();
            }
          }
        }, null, null, [[3, 12]], Promise);
      }
    }, {
      key: "translationsAvailable",
      value: function translationsAvailable() {
        var result;
        return _regenerator.default.async(function translationsAvailable$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                _context9.prev = 0;
                _context9.next = 3;
                return _regenerator.default.awrap(NewsmemoryAJAX.get({
                  action: "languages"
                }));

              case 3:
                result = _context9.sent;
                return _context9.abrupt("return", result.data);

              case 7:
                _context9.prev = 7;
                _context9.t0 = _context9["catch"](0);

              case 9:
                return _context9.abrupt("return", {});

              case 10:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, [[0, 7]], Promise);
      }
    }, {
      key: "share",
      value: function share(config) {
        var _global$getActivePSet7, loginStatus, TAUID, TOKEN, params, result;

        return _regenerator.default.async(function share$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                _global$getActivePSet7 = global.getActivePSetup(), loginStatus = _global$getActivePSet7.loginStatus;
                TAUID = loginStatus.TAUID, TOKEN = loginStatus.TOKEN;
                params = (0, _extends2.default)({
                  action: "share"
                }, config, {
                  TAUID: TAUID,
                  TOKEN: TOKEN
                });
                _context10.prev = 3;
                _context10.next = 6;
                return _regenerator.default.awrap(NewsmemoryAJAX.get(params));

              case 6:
                result = _context10.sent;
                return _context10.abrupt("return", result.data);

              case 10:
                _context10.prev = 10;
                _context10.t0 = _context10["catch"](3);

              case 12:
                return _context10.abrupt("return", {});

              case 13:
              case "end":
                return _context10.stop();
            }
          }
        }, null, null, [[3, 10]], Promise);
      }
    }, {
      key: "downloadEditionDB",
      value: function downloadEditionDB(paper, issue, edition, appendFirstPages, config) {
        var _global$getActivePSet8, loginStatus, encryptFilenames, TAUID, TOKEN, oneTimeToken, adtype, defaultParams, _global$getNewsmemory2, dbDownloadPSetup, dbURL, destinationPath, zipDBFilename, speedInKbps, _await$DownloadUtils$, filenames, responseHeaders, result;

        return _regenerator.default.async(function downloadEditionDB$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                _global$getActivePSet8 = global.getActivePSetup(), loginStatus = _global$getActivePSet8.loginStatus, encryptFilenames = _global$getActivePSet8.encryptFilenames;
                TAUID = loginStatus.TAUID, TOKEN = loginStatus.TOKEN, oneTimeToken = loginStatus.oneTimeToken;
                adtype = _newsmemoryUtils.default.normalizeEdition(edition) + "_pages";
                defaultParams = (0, _extends2.default)({}, _Api.default.getDefaultParams(), NewsmemoryAJAX.getDefaultGETParams(), {
                  action: "adfile",
                  issue: issue,
                  adtype: adtype,
                  edition: edition,
                  TAUID: TAUID,
                  TOKEN: TOKEN,
                  oneTimeToken: oneTimeToken,
                  uAVCC: loginStatus.getReceiptToken(),
                  appendFirstPages: appendFirstPages ? 1 : 0
                });

                if (encryptFilenames > _$$_REQUIRE(_dependencyMap[17]).ENCRYPT_FILENAME_TYPE.NONE) {
                  defaultParams.e = 1;
                }

                _global$getNewsmemory2 = global.getNewsmemoryConfig(), dbDownloadPSetup = _global$getNewsmemory2.dbDownloadPSetup;

                if (dbDownloadPSetup) {
                  defaultParams.pSetup = dbDownloadPSetup;
                }

                dbURL = _$$_REQUIRE(_dependencyMap[18]).StringUtils.appendParams(NewsmemoryAJAX.baseUrl(), defaultParams);
                destinationPath = _NewsmemoryDatabasesManager.default.getNewspaperIssueDirectory(paper, issue);
                zipDBFilename = issue + "_" + adtype + ".zip";
                _context11.next = 12;
                return _regenerator.default.awrap(_downloadUtils.default.getEditionDatabaseAndPages(dbURL, zipDBFilename, destinationPath, (0, _extends2.default)({
                  completionCallback: function completionCallback(_ref2) {
                    var speed = _ref2.speed;
                    speedInKbps = speed;
                  }
                }, config)));

              case 12:
                _await$DownloadUtils$ = _context11.sent;
                filenames = _await$DownloadUtils$.filenames;
                responseHeaders = _await$DownloadUtils$.responseHeaders;
                result = (0, _extends2.default)({}, filenames, {
                  responseHeaders: responseHeaders
                });

                if (speedInKbps) {
                  result.speed = speedInKbps;
                }

                return _context11.abrupt("return", result);

              case 18:
              case "end":
                return _context11.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getHrImageUrl",
      value: function getHrImageUrl(issue, graph, xmlId, boxId, filename, filetime, secret) {
        var type = graph ? "jpg" : "gif";

        var useCDN = _newsmemoryUtils.default.isCDNEnabled();

        var defaultParams = (0, _extends2.default)({}, _Api.default.getDefaultParams(true, useCDN), NewsmemoryAJAX.getDefaultGETParams(), {
          action: "hrimage",
          issue: issue,
          xmlId: xmlId,
          boxId: boxId,
          type: type
        }, NewsmemoryAJAX.getResourceCDNParams(secret, "filename", [filename], [filetime], useCDN));
        return _$$_REQUIRE(_dependencyMap[18]).StringUtils.appendParams(NewsmemoryAJAX.baseUrl(useCDN), defaultParams);
      }
    }, {
      key: "getPagePath",
      value: function getPagePath(paper, issue, pageFileName) {
        return _NewsmemoryDatabasesManager.default.getNewspaperIssueDirectory(paper, issue) + pageFileName + "/";
      }
    }, {
      key: "getHrPath",
      value: function getHrPath(paper, issue, pageFileName, graph, xmlId, boxId) {
        var type = graph ? "jpg" : "gif";
        var imageName = "pag_" + xmlId + "_" + boxId + "." + type;
        return NewsmemoryAJAX.getPagePath(paper, issue, pageFileName) + imageName;
      }
    }, {
      key: "downloadHRImage",
      value: function downloadHRImage(paper, issue, filename, filetime, xmlId, boxId, graph, secret) {
        var type, imageName, url, destinationFolder, path, _await$getImageSize, width, height;

        return _regenerator.default.async(function downloadHRImage$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                type = graph ? "jpg" : "gif";
                imageName = "pag_" + xmlId + "_" + boxId + "." + type;
                url = NewsmemoryAJAX.getHrImageUrl(issue, graph, xmlId, boxId, filename, filetime, secret);
                _context12.prev = 3;
                destinationFolder = NewsmemoryAJAX.getPagePath(paper, issue, filename);
                _context12.next = 7;
                return _regenerator.default.awrap(_downloadUtils.default.downloadResourceInFolder(url, destinationFolder, imageName));

              case 7:
                path = _context12.sent;
                _context12.next = 10;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[19]).getImageSize)("file://" + path));

              case 10:
                _await$getImageSize = _context12.sent;
                width = _await$getImageSize.width;
                height = _await$getImageSize.height;
                return _context12.abrupt("return", {
                  path: path,
                  name: _tecnaviaFileUtils.default.getFilename(path),
                  width: width,
                  height: height
                });

              case 16:
                _context12.prev = 16;
                _context12.t0 = _context12["catch"](3);
                throw _context12.t0;

              case 19:
              case "end":
                return _context12.stop();
            }
          }
        }, null, null, [[3, 16]], Promise);
      }
    }, {
      key: "downloadImage",
      value: function downloadImage(paper, issue, image, filename, filetime, secret) {
        var useCDN, defaultParams, imageURL, destinationFolder, path, width, height, _await$getImageSize2;

        return _regenerator.default.async(function downloadImage$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                useCDN = _newsmemoryUtils.default.isCDNEnabled();
                defaultParams = (0, _extends2.default)({}, _Api.default.getDefaultParams(true, useCDN), NewsmemoryAJAX.getDefaultGETParams(), {
                  action: "base64image",
                  issue: issue,
                  image: image
                }, NewsmemoryAJAX.getResourceCDNParams(secret, "filename", [filename], [filetime], useCDN));
                imageURL = _$$_REQUIRE(_dependencyMap[18]).StringUtils.appendParams(NewsmemoryAJAX.baseUrl(useCDN), defaultParams);
                _context13.prev = 3;
                destinationFolder = _NewsmemoryDatabasesManager.default.getNewspaperIssueDirectory(paper, issue) + filename + "/";
                _context13.next = 7;
                return _regenerator.default.awrap(_downloadUtils.default.downloadResourceInFolder(imageURL, destinationFolder, image));

              case 7:
                path = _context13.sent;
                width = 0;
                height = 0;

                if (!path.endsWith(_$$_REQUIRE(_dependencyMap[20]).EPaperImageName.PDF)) {
                  _context13.next = 15;
                  break;
                }

                width = 100;
                height = 100;
                _context13.next = 24;
                break;

              case 15:
                _context13.next = 17;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[19]).getImageSize)("file://" + path));

              case 17:
                _await$getImageSize2 = _context13.sent;
                width = _await$getImageSize2.width;
                height = _await$getImageSize2.height;

                if (!(width === 0 || height === 0)) {
                  _context13.next = 24;
                  break;
                }

                _context13.next = 23;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[18]).FileUtils.unlink(path));

              case 23:
                throw new Error("Invalid size " + width + "x" + height + " for image " + path);

              case 24:
                return _context13.abrupt("return", {
                  path: path,
                  name: _tecnaviaFileUtils.default.getFilename(path),
                  width: width,
                  height: height
                });

              case 27:
                _context13.prev = 27;
                _context13.t0 = _context13["catch"](3);
                throw _context13.t0;

              case 30:
              case "end":
                return _context13.stop();
            }
          }
        }, null, null, [[3, 27]], Promise);
      }
    }, {
      key: "downloadPageZip",
      value: function downloadPageZip(paper, issue, filename, filetime, secret) {
        var useCDN, defaultParams, zipURL, destinationFolder, LOW, GRAPH, GIF, PDF, images;
        return _regenerator.default.async(function downloadPageZip$(_context14) {
          while (1) {
            switch (_context14.prev = _context14.next) {
              case 0:
                useCDN = _newsmemoryUtils.default.isCDNEnabled();
                defaultParams = (0, _extends2.default)({}, _Api.default.getDefaultParams(true, useCDN), NewsmemoryAJAX.getDefaultGETParams(), {
                  action: "zippedimages",
                  issue: issue
                }, NewsmemoryAJAX.getResourceCDNParams(secret, "filename", [filename], [filetime], useCDN));
                zipURL = _$$_REQUIRE(_dependencyMap[18]).StringUtils.appendParams(NewsmemoryAJAX.baseUrl(useCDN), defaultParams);
                _context14.prev = 3;
                destinationFolder = _NewsmemoryDatabasesManager.default.getNewspaperIssueDirectory(paper, issue) + filename + "/";
                _context14.next = 7;
                return _regenerator.default.awrap(_downloadUtils.default.downloadResourceAndUnzipInFolder(zipURL, destinationFolder));

              case 7:
                LOW = _$$_REQUIRE(_dependencyMap[20]).EPaperImageName.LOW, GRAPH = _$$_REQUIRE(_dependencyMap[20]).EPaperImageName.GRAPH, GIF = _$$_REQUIRE(_dependencyMap[20]).EPaperImageName.GIF, PDF = _$$_REQUIRE(_dependencyMap[20]).EPaperImageName.PDF;
                _context14.next = 10;
                return _regenerator.default.awrap(_downloadUtils.default.scanPageFolderForImages(destinationFolder, [LOW, GRAPH, GIF, PDF]));

              case 10:
                images = _context14.sent;
                return _context14.abrupt("return", images);

              case 14:
                _context14.prev = 14;
                _context14.t0 = _context14["catch"](3);
                throw _context14.t0;

              case 17:
              case "end":
                return _context14.stop();
            }
          }
        }, null, null, [[3, 14]], Promise);
      }
    }, {
      key: "downloadHRImagesZip",
      value: function downloadHRImagesZip(paper, issue, filename, filetime, secret) {
        var useCDN, page, defaultParams, zipURL, destinationFolder, path, success;
        return _regenerator.default.async(function downloadHRImagesZip$(_context15) {
          while (1) {
            switch (_context15.prev = _context15.next) {
              case 0:
                useCDN = _newsmemoryUtils.default.isCDNEnabled();
                page = filename.substring(0, filename.length - 2);
                defaultParams = (0, _extends2.default)({}, _Api.default.getDefaultParams(true, useCDN), NewsmemoryAJAX.getDefaultGETParams(), {
                  action: "zippedhrimages",
                  mode: "g",
                  issue: issue
                }, NewsmemoryAJAX.getResourceCDNParams(secret, "page", [page], [filetime], useCDN));
                zipURL = _$$_REQUIRE(_dependencyMap[18]).StringUtils.appendParams(NewsmemoryAJAX.baseUrl(useCDN), defaultParams);
                _context15.prev = 4;
                destinationFolder = _NewsmemoryDatabasesManager.default.getNewspaperIssueDirectory(paper, issue) + filename + "/";
                _context15.next = 8;
                return _regenerator.default.awrap(_downloadUtils.default.downloadResourceInFolder(zipURL, destinationFolder, _newsmemoryUtils.ARCHIVE_ZIP_GRAPH_FILENAME));

              case 8:
                path = _context15.sent;
                _context15.next = 11;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.exists(path));

              case 11:
                success = _context15.sent;

                if (!success) {
                  _context15.next = 14;
                  break;
                }

                return _context15.abrupt("return", path);

              case 14:
                return _context15.abrupt("return", null);

              case 17:
                _context15.prev = 17;
                _context15.t0 = _context15["catch"](4);
                throw _context15.t0;

              case 20:
              case "end":
                return _context15.stop();
            }
          }
        }, null, null, [[4, 17]], Promise);
      }
    }, {
      key: "downloadMultiplePagesZips",
      value: function downloadMultiplePagesZips(paper, issue, filenames, filetimes, secret) {
        var useCDN, defaultParams, zipURL, destinationFolder, LOW, GRAPH, GIF, PDF;
        return _regenerator.default.async(function downloadMultiplePagesZips$(_context17) {
          while (1) {
            switch (_context17.prev = _context17.next) {
              case 0:
                useCDN = _newsmemoryUtils.default.isCDNEnabled();
                defaultParams = (0, _extends2.default)({}, _Api.default.getDefaultParams(true, useCDN), NewsmemoryAJAX.getDefaultGETParams(), {
                  action: "multizippedimages",
                  issue: issue
                }, NewsmemoryAJAX.getResourceCDNParams(secret, "filenames", filenames, filetimes, useCDN));
                zipURL = _$$_REQUIRE(_dependencyMap[18]).StringUtils.appendParams(NewsmemoryAJAX.baseUrl(useCDN), defaultParams);
                _context17.prev = 3;
                destinationFolder = _NewsmemoryDatabasesManager.default.getNewspaperIssueDirectory(paper, issue);
                _context17.next = 7;
                return _regenerator.default.awrap(_downloadUtils.default.downloadResourceAndUnzipInFolder(zipURL, destinationFolder));

              case 7:
                LOW = _$$_REQUIRE(_dependencyMap[20]).EPaperImageName.LOW, GRAPH = _$$_REQUIRE(_dependencyMap[20]).EPaperImageName.GRAPH, GIF = _$$_REQUIRE(_dependencyMap[20]).EPaperImageName.GIF, PDF = _$$_REQUIRE(_dependencyMap[20]).EPaperImageName.PDF;
                return _context17.abrupt("return", Promise.all(filenames.map(function _callee(filename) {
                  return _regenerator.default.async(function _callee$(_context16) {
                    while (1) {
                      switch (_context16.prev = _context16.next) {
                        case 0:
                          return _context16.abrupt("return", _downloadUtils.default.scanPageFolderForImages(destinationFolder + filename, [LOW, GRAPH, GIF, PDF]));

                        case 1:
                        case "end":
                          return _context16.stop();
                      }
                    }
                  }, null, null, null, Promise);
                })));

              case 11:
                _context17.prev = 11;
                _context17.t0 = _context17["catch"](3);
                throw _context17.t0;

              case 14:
              case "end":
                return _context17.stop();
            }
          }
        }, null, null, [[3, 11]], Promise);
      }
    }, {
      key: "downloadFullPaper",
      value: function downloadFullPaper(paper, issue, edition) {
        var _global$getActivePSet9, loginStatus, TAUID, TOKEN, oneTimeToken, _global$getNewsmemory3, network, defaultParams, zipURL, destinationFolder;

        return _regenerator.default.async(function downloadFullPaper$(_context18) {
          while (1) {
            switch (_context18.prev = _context18.next) {
              case 0:
                _global$getActivePSet9 = global.getActivePSetup(), loginStatus = _global$getActivePSet9.loginStatus;
                TAUID = loginStatus.TAUID, TOKEN = loginStatus.TOKEN, oneTimeToken = loginStatus.oneTimeToken;
                _global$getNewsmemory3 = global.getNewsmemoryConfig(), network = _global$getNewsmemory3.network;
                defaultParams = (0, _extends2.default)({}, _Api.default.getDefaultParams(), NewsmemoryAJAX.getDefaultGETParams(), {
                  action: "zippedpaper",
                  issue: issue,
                  edition: edition,
                  TAUID: TAUID,
                  TOKEN: TOKEN,
                  oneTimeToken: oneTimeToken,
                  network: network,
                  uAVCC: loginStatus.getReceiptToken()
                });
                zipURL = _$$_REQUIRE(_dependencyMap[18]).StringUtils.appendParams(NewsmemoryAJAX.baseUrl(), defaultParams);
                _context18.prev = 5;
                destinationFolder = _NewsmemoryDatabasesManager.default.getNewspaperIssueDirectory(paper, issue);
                _context18.next = 9;
                return _regenerator.default.awrap(_downloadUtils.default.downloadResourceAndUnzipInFolder(zipURL, destinationFolder));

              case 9:
                _context18.next = 14;
                break;

              case 11:
                _context18.prev = 11;
                _context18.t0 = _context18["catch"](5);
                throw _context18.t0;

              case 14:
              case "end":
                return _context18.stop();
            }
          }
        }, null, null, [[5, 11]], Promise);
      }
    }, {
      key: "downloadPaperIndex",
      value: function downloadPaperIndex(issue, edition) {
        var _global$getActivePSet10, loginStatus, TAUID, TOKEN, oneTimeToken, params, _await$NewsmemoryAJAX, data;

        return _regenerator.default.async(function downloadPaperIndex$(_context19) {
          while (1) {
            switch (_context19.prev = _context19.next) {
              case 0:
                _global$getActivePSet10 = global.getActivePSetup(), loginStatus = _global$getActivePSet10.loginStatus;
                TAUID = loginStatus.TAUID, TOKEN = loginStatus.TOKEN, oneTimeToken = loginStatus.oneTimeToken;
                params = {
                  action: "index",
                  issue: issue,
                  edition: edition,
                  TAUID: TAUID,
                  TOKEN: TOKEN,
                  oneTimeToken: oneTimeToken,
                  uAVCC: loginStatus.getReceiptToken()
                };
                _context19.next = 5;
                return _regenerator.default.awrap(NewsmemoryAJAX.get(params));

              case 5:
                _await$NewsmemoryAJAX = _context19.sent;
                data = _await$NewsmemoryAJAX.data;

                if (!data) {
                  _context19.next = 9;
                  break;
                }

                return _context19.abrupt("return", data);

              case 9:
                throw new Error("NewsmemoryAJAX - downloadPaperIndex: no data returned");

              case 10:
              case "end":
                return _context19.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "downloadArticles",
      value: function downloadArticles(issue, edition, filename, secret) {
        var params, _await$NewsmemoryAJAX2, data;

        return _regenerator.default.async(function downloadArticles$(_context20) {
          while (1) {
            switch (_context20.prev = _context20.next) {
              case 0:
                _context20.prev = 0;
                params = (0, _extends2.default)({
                  action: "articles",
                  issue: issue,
                  edition: edition
                }, NewsmemoryAJAX.getResourceCDNParams(secret, "filename", [filename]));
                _context20.next = 4;
                return _regenerator.default.awrap(NewsmemoryAJAX.get(params));

              case 4:
                _await$NewsmemoryAJAX2 = _context20.sent;
                data = _await$NewsmemoryAJAX2.data;

                if (!data) {
                  _context20.next = 8;
                  break;
                }

                return _context20.abrupt("return", data);

              case 8:
                _context20.next = 12;
                break;

              case 10:
                _context20.prev = 10;
                _context20.t0 = _context20["catch"](0);

              case 12:
                throw new Error("NewsmemoryAJAX - downloadArticles: no data returned");

              case 13:
              case "end":
                return _context20.stop();
            }
          }
        }, null, null, [[0, 10]], Promise);
      }
    }, {
      key: "getAvailableLanguages",
      value: function getAvailableLanguages() {
        return _regenerator.default.async(function getAvailableLanguages$(_context21) {
          while (1) {
            switch (_context21.prev = _context21.next) {
              case 0:
                return _context21.abrupt("return", NewsmemoryAJAX.get({
                  action: "languages"
                }));

              case 1:
              case "end":
                return _context21.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getRemoteSharePage",
      value: function getRemoteSharePage(type, shareId) {
        return _regenerator.default.async(function getRemoteSharePage$(_context22) {
          while (1) {
            switch (_context22.prev = _context22.next) {
              case 0:
                return _context22.abrupt("return", NewsmemoryAJAX.get({
                  action: "publink",
                  type: type,
                  forwardShareId: shareId
                }));

              case 1:
              case "end":
                return _context22.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getEpaperLayoutConfig",
      value: function getEpaperLayoutConfig() {
        return _regenerator.default.async(function getEpaperLayoutConfig$(_context23) {
          while (1) {
            switch (_context23.prev = _context23.next) {
              case 0:
                return _context23.abrupt("return", NewsmemoryAJAX.get({
                  action: "buttons"
                }));

              case 1:
              case "end":
                return _context23.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getApplication",
      value: function getApplication() {
        var defaultParams, zipURL, response, tmpFile, destinationFolder;
        return _regenerator.default.async(function getApplication$(_context24) {
          while (1) {
            switch (_context24.prev = _context24.next) {
              case 0:
                defaultParams = (0, _extends2.default)({}, _Api.default.getDefaultParams(), NewsmemoryAJAX.getDefaultGETParams(), {
                  action: "application"
                });
                zipURL = _$$_REQUIRE(_dependencyMap[18]).StringUtils.appendParams(NewsmemoryAJAX.baseUrl(), defaultParams);
                _context24.prev = 2;
                _context24.next = 5;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.fetch(zipURL));

              case 5:
                response = _context24.sent;

                if (!response) {
                  _context24.next = 23;
                  break;
                }

                tmpFile = response.path();
                destinationFolder = _ApplicationManager.default.getDirectory() + "/";
                _context24.prev = 9;
                _context24.next = 12;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unlink(destinationFolder));

              case 12:
                _context24.next = 16;
                break;

              case 14:
                _context24.prev = 14;
                _context24.t0 = _context24["catch"](9);

              case 16:
                _context24.next = 18;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.mkdir(destinationFolder));

              case 18:
                _context24.next = 20;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unzip(tmpFile, destinationFolder));

              case 20:
                _context24.next = 22;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.clearUnusedDownloadedFiles(tmpFile));

              case 22:
                return _context24.abrupt("return", true);

              case 23:
                _context24.next = 28;
                break;

              case 25:
                _context24.prev = 25;
                _context24.t1 = _context24["catch"](2);
                throw new Error("Failed to download " + zipURL);

              case 28:
                return _context24.abrupt("return", false);

              case 29:
              case "end":
                return _context24.stop();
            }
          }
        }, null, null, [[2, 25], [9, 14]], Promise);
      }
    }, {
      key: "getCDNStatus",
      value: function getCDNStatus(issue, edition) {
        var _global$getActivePSet11, loginStatus, TAUID, TOKEN, oneTimeToken, defaultParams;

        return _regenerator.default.async(function getCDNStatus$(_context25) {
          while (1) {
            switch (_context25.prev = _context25.next) {
              case 0:
                _global$getActivePSet11 = global.getActivePSetup(), loginStatus = _global$getActivePSet11.loginStatus;
                TAUID = loginStatus.TAUID, TOKEN = loginStatus.TOKEN, oneTimeToken = loginStatus.oneTimeToken;
                defaultParams = (0, _extends2.default)({}, _Api.default.getDefaultParams(), NewsmemoryAJAX.getDefaultGETParams(), {
                  action: "cdn",
                  issue: issue,
                  edition: edition,
                  TAUID: TAUID,
                  TOKEN: TOKEN,
                  oneTimeToken: oneTimeToken,
                  uAVCC: loginStatus.getReceiptToken()
                });
                return _context25.abrupt("return", NewsmemoryAJAX.get(defaultParams));

              case 4:
              case "end":
                return _context25.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getChildArtImageUrl",
      value: function getChildArtImageUrl(issue, xmlId, images, medDpi, pageW, pageH, filename, filetime, secret) {
        var useCDN = _newsmemoryUtils.default.isCDNEnabled();

        var defaultParams = (0, _extends2.default)({}, _Api.default.getDefaultParams(true, true), NewsmemoryAJAX.getDefaultGETParams(), {
          action: "loadImage",
          type: "printImage",
          xmlId: xmlId,
          issue: issue,
          images: images,
          medDpi: medDpi,
          pageW: pageW,
          pageH: pageH
        }, NewsmemoryAJAX.getResourceCDNParams(secret, "filename", [filename], [filetime], useCDN));

        var imageURL = _$$_REQUIRE(_dependencyMap[18]).StringUtils.appendParams(NewsmemoryAJAX.baseUrl(useCDN), defaultParams);

        return imageURL;
      }
    }, {
      key: "getInArticleImageUrl",
      value: function getInArticleImageUrl(paper, issue, edition, image, imageIssue, filename, filetime, secret) {
        var useCDN = _newsmemoryUtils.default.isCDNEnabled();

        var defaultParams = (0, _extends2.default)({}, _Api.default.getDefaultParams(true, true), NewsmemoryAJAX.getDefaultGETParams(), {
          action: "loadImage",
          type: "Image",
          paper: paper,
          issue: issue,
          edition: edition,
          val: image,
          imageIssue: imageIssue !== issue ? imageIssue : undefined
        }, NewsmemoryAJAX.getResourceCDNParams(secret, "filename", [filename], [filetime], useCDN));

        var imageURL = _$$_REQUIRE(_dependencyMap[18]).StringUtils.appendParams(NewsmemoryAJAX.baseUrl(useCDN), defaultParams);

        return imageURL;
      }
    }, {
      key: "getSpecialSectionUrl",
      value: function getSpecialSectionUrl(action, issue, edition, secret) {
        var isSpecialSection = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
        var showSections = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;

        var useCDN = _newsmemoryUtils.default.isCDNEnabled();

        var defaultParams = (0, _extends2.default)({}, _Api.default.getDefaultParams(true, useCDN), NewsmemoryAJAX.getDefaultGETParams(), {
          action: action,
          issue: issue
        }, NewsmemoryAJAX.getResourceCDNParams(secret, "edition", [edition], [0], useCDN));

        if (isSpecialSection) {
          defaultParams.editionfromcalling = global.getNewsmemoryConfig().editionfromcalling;
        }

        if (action === "indexspecial") {
          defaultParams.showSections = showSections ? 1 : 0;
          defaultParams.remote = 1;
        }

        var specialSectionsURL = _$$_REQUIRE(_dependencyMap[18]).StringUtils.appendParams(NewsmemoryAJAX.baseUrl(useCDN), defaultParams);

        return specialSectionsURL;
      }
    }, {
      key: "getDownloadPdfUrl",
      value: function getDownloadPdfUrl(newspaper, page) {
        var issue, edition, secret, filename, pageNumber, _global$getActivePSet12, loginStatus, TAUID, TOKEN, oneTimeToken, defaultParams, downloadPdfURL;

        return _regenerator.default.async(function getDownloadPdfUrl$(_context26) {
          while (1) {
            switch (_context26.prev = _context26.next) {
              case 0:
                issue = newspaper.getIssue();
                edition = newspaper.getEdition();
                secret = newspaper.getSecret();
                filename = page.getFilename();
                pageNumber = page.getPage();
                _global$getActivePSet12 = global.getActivePSetup(), loginStatus = _global$getActivePSet12.loginStatus;
                TAUID = loginStatus.TAUID, TOKEN = loginStatus.TOKEN, oneTimeToken = loginStatus.oneTimeToken;
                defaultParams = (0, _extends2.default)({}, _Api.default.getDefaultParams(), NewsmemoryAJAX.getDefaultGETParams(), {
                  action: "page",
                  issue: issue,
                  edition: edition,
                  page: pageNumber,
                  TAUID: TAUID,
                  TOKEN: TOKEN,
                  oneTimeToken: oneTimeToken,
                  uAVCC: loginStatus.getReceiptToken()
                }, NewsmemoryAJAX.getResourceCDNParams(secret, "filename", [filename]));
                downloadPdfURL = _$$_REQUIRE(_dependencyMap[18]).StringUtils.appendParams(NewsmemoryAJAX.baseUrl(), defaultParams);
                return _context26.abrupt("return", downloadPdfURL);

              case 10:
              case "end":
                return _context26.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "downloadPDF",
      value: function downloadPDF(newspaper, page) {
        var _global$getActivePSet13, paperName, issue, pageNumber, url, destinationFilename, destination, resource;

        return _regenerator.default.async(function downloadPDF$(_context27) {
          while (1) {
            switch (_context27.prev = _context27.next) {
              case 0:
                _context27.prev = 0;
                _global$getActivePSet13 = global.getActivePSetup(), paperName = _global$getActivePSet13.paperName;
                paperName = _newsmemoryUtils.default.normalizePaperName(paperName);
                issue = newspaper.getIssue();
                pageNumber = _pageUtils.default.removeZerosFromPageNumber(page.getPage());
                _context27.next = 7;
                return _regenerator.default.awrap(NewsmemoryAJAX.getDownloadPdfUrl(newspaper, page));

              case 7:
                url = _context27.sent;
                destinationFilename = paperName + "_" + issue + "_" + pageNumber + ".pdf";
                destination = _tecnaviaFileUtils.default.getDownloadedPdfDirectory() + "/" + destinationFilename;
                _context27.next = 12;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.exists(destination));

              case 12:
                if (_context27.sent) {
                  _context27.next = 18;
                  break;
                }

                _context27.next = 15;
                return _regenerator.default.awrap(_downloadUtils.default.downloadResourceInFolder(url, _tecnaviaFileUtils.default.getDownloadedPdfDirectory() + "/", destinationFilename));

              case 15:
                resource = _context27.sent;
                _context27.next = 19;
                break;

              case 18:
                resource = destination;

              case 19:
                return _context27.abrupt("return", {
                  path: resource,
                  name: destinationFilename,
                  url: url
                });

              case 22:
                _context27.prev = 22;
                _context27.t0 = _context27["catch"](0);
                throw _context27.t0;

              case 25:
              case "end":
                return _context27.stop();
            }
          }
        }, null, null, [[0, 22]], Promise);
      }
    }, {
      key: "uploadSessionReport",
      value: function uploadSessionReport(sessionId, session) {
        var _global$getActivePSet14, sessionUploadBaseURL, baseUrl, report;

        return _regenerator.default.async(function uploadSessionReport$(_context28) {
          while (1) {
            switch (_context28.prev = _context28.next) {
              case 0:
                _context28.prev = 0;
                _global$getActivePSet14 = global.getActivePSetup(), sessionUploadBaseURL = _global$getActivePSet14.sessionUploadBaseURL;
                baseUrl = sessionUploadBaseURL || NewsmemoryAJAX.baseUrl();
                report = JSON.stringify(session.getReport());
                _context28.next = 6;
                return _regenerator.default.awrap(NewsmemoryAJAX.post(baseUrl, {
                  action: "uploadSessionReport"
                }, {
                  sessionId: sessionId,
                  report: report
                }));

              case 6:
                return _context28.abrupt("return", true);

              case 9:
                _context28.prev = 9;
                _context28.t0 = _context28["catch"](0);

              case 11:
                return _context28.abrupt("return", false);

              case 12:
              case "end":
                return _context28.stop();
            }
          }
        }, null, null, [[0, 9]], Promise);
      }
    }, {
      key: "getVideoURL",
      value: function getVideoURL(videoURL) {
        var _DeviceUtils$getSafeA = _deviceUtils.default.getSafeArea(),
            width = _DeviceUtils$getSafeA.width,
            height = _DeviceUtils$getSafeA.height;

        var defaultParams = (0, _extends2.default)({}, _Api.default.getDefaultParams(), NewsmemoryAJAX.getDefaultGETParams(), {
          action: "video",
          videoURL: _$$_REQUIRE(_dependencyMap[18]).StringUtils.appendParams(videoURL, {
            width: Math.min(width, height)
          })
        });
        return _$$_REQUIRE(_dependencyMap[18]).StringUtils.appendParams(NewsmemoryAJAX.baseUrl(), defaultParams);
      }
    }, {
      key: "getIubendaCMPBaseURL",
      value: function getIubendaCMPBaseURL() {
        var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var defaultParams = (0, _extends2.default)({}, _Api.default.getDefaultParams(), NewsmemoryAJAX.getDefaultGETParams(), {
          action: "cmp"
        }, params);
        return _$$_REQUIRE(_dependencyMap[18]).StringUtils.appendParams(NewsmemoryAJAX.baseUrl(), defaultParams);
      }
    }, {
      key: "validateReceipt",
      value: function validateReceipt() {
        var params,
            _global$getActivePSet15,
            loginStatus,
            TAUID,
            _args29 = arguments;

        return _regenerator.default.async(function validateReceipt$(_context29) {
          while (1) {
            switch (_context29.prev = _context29.next) {
              case 0:
                params = _args29.length > 0 && _args29[0] !== undefined ? _args29[0] : {};
                _global$getActivePSet15 = global.getActivePSetup(), loginStatus = _global$getActivePSet15.loginStatus;
                TAUID = loginStatus.TAUID;

                if (_$$_REQUIRE(_dependencyMap[18]).JSUtils.isNull(params.TAUID) && _$$_REQUIRE(_dependencyMap[21]).LoginStatus.isValidTAUID(TAUID)) {
                  params.TAUID = TAUID;
                }

                return _context29.abrupt("return", _Api.default.validateReceipt(params));

              case 5:
              case "end":
                return _context29.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return NewsmemoryAJAX;
  }();

  exports.default = NewsmemoryAJAX;
},430,[5,80,108,6,7,8,431,458,586,574,602,603,710,714,638,715,716,717,462,588,587,721]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.HTTP_CODES = exports.MAX_RETRIES = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _axios = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var instance = _axios.default.create();

  var TECNAVIA_ENDPOINT = "/default_react_native.php";
  var MAX_RETRIES = 3;
  exports.MAX_RETRIES = MAX_RETRIES;
  var HTTP_CODES = {
    PARTIAL_CONTENT: 206,
    UNAUTHORIZED: 401,
    INTERNAL_SERVER_ERROR: 500,
    NOT_IMPLEMENTED: 501,
    BAD_GATEWAY: 502,
    SERVICE_UNAVAILABLE: 503,
    GATEWAY_TIMEOUT: 504
  };
  exports.HTTP_CODES = HTTP_CODES;

  var API = function () {
    function API() {
      (0, _classCallCheck2.default)(this, API);
    }

    (0, _createClass2.default)(API, null, [{
      key: "setReadAndNetworkTimeouts",
      value: function setReadAndNetworkTimeouts(readTimeout, timeout) {
        instance.defaults.timeout = timeout;
        _tecnaviaFileUtils.default.networkTimeout = timeout;
        _tecnaviaFileUtils.default.readTimeout = _$$_REQUIRE(_dependencyMap[9]).PlatformUtils.isAndroid() ? readTimeout : timeout;
      }
    }, {
      key: "set2GTimeout",
      value: function set2GTimeout() {
        API.timeout = API.DEFAULT_CONNECTION_TIMEOUT_2G;
        API.readTimeout = API.DEFAULT_READ_TIMEOUT_2G;
        API.setReadAndNetworkTimeouts(API.readTimeout, API.timeout);
      }
    }, {
      key: "set3GTimeout",
      value: function set3GTimeout() {
        API.timeout = API.DEFAULT_CONNECTION_TIMEOUT_3G;
        API.readTimeout = API.DEFAULT_READ_TIMEOUT_3G;
        API.setReadAndNetworkTimeouts(API.readTimeout, API.timeout);
      }
    }, {
      key: "set4GTimeout",
      value: function set4GTimeout() {
        API.timeout = API.DEFAULT_CONNECTION_TIMEOUT_4G;
        API.readTimeout = API.DEFAULT_READ_TIMEOUT_4G;
        API.setReadAndNetworkTimeouts(API.readTimeout, API.timeout);
      }
    }, {
      key: "setTimeout",
      value: function setTimeout() {
        if (_$$_REQUIRE(_dependencyMap[9]).NetworkUtils.is2G()) {
          API.set2GTimeout();
        } else if (_$$_REQUIRE(_dependencyMap[9]).NetworkUtils.is3G()) {
          API.set3GTimeout();
        } else if (_$$_REQUIRE(_dependencyMap[9]).NetworkUtils.is4G()) {
          API.set4GTimeout();
        } else {
          API.set4GTimeout();
        }
      }
    }, {
      key: "getServer",
      value: function getServer() {
        var server = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : global.getAppServer();
        return _$$_REQUIRE(_dependencyMap[9]).NetworkUtils.addDefaultProtocol(server.trim());
      }
    }, {
      key: "baseUrl",
      value: function baseUrl() {
        var server = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : global.getAppServer();
        return API.getServer(server).concat(TECNAVIA_ENDPOINT);
      }
    }, {
      key: "getDefaultParams",
      value: function getDefaultParams() {
        var excludeDeviceParams = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
        var excludeUserParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
        var _global = global,
            getAppPSetup = _global.getAppPSetup,
            isApiDebug = _global.isApiDebug,
            developer = _global.developer;
        var developerParams = {};

        if (isApiDebug) {
          developerParams.isDebug = isApiDebug;
          developerParams.developer = developer;
        }

        return (0, _extends2.default)({
          pSetup: getAppPSetup()
        }, excludeUserParams ? {} : API.getUserParams(), excludeDeviceParams ? {} : API.getDeviceParams(), {
          version: _deviceUtils.default.getAppVersion()
        }, developerParams);
      }
    }, {
      key: "getUserParams",
      value: function getUserParams() {
        var _global2 = global,
            MACHINEID = _global2.machineId;
        return {
          MACHINEID: MACHINEID,
          t: new Date().getTime()
        };
      }
    }, {
      key: "getDeviceParams",
      value: function getDeviceParams() {
        return {
          os: _$$_REQUIRE(_dependencyMap[9]).PlatformUtils.isAndroid() ? "android" : "ios",
          isEInk: _$$_REQUIRE(_dependencyMap[9]).PlatformUtils.isEInk() ? 1 : undefined,
          isKindle: _deviceUtils.default.isKindle() ? 1 : undefined,
          isPhone: _$$_REQUIRE(_dependencyMap[9]).PlatformUtils.isTablet() ? 0 : 1,
          apiVersion: _$$_REQUIRE(_dependencyMap[9]).PlatformUtils.getSystemSDK()
        };
      }
    }, {
      key: "head",
      value: function head(url) {
        return _regenerator.default.async(function head$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", instance.head(url));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "ajax",
      value: function ajax(url) {
        return _regenerator.default.async(function ajax$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", instance.get(url));

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "get",
      value: function get(url) {
        var config,
            otherParams,
            skipDefaultParams,
            headers,
            params,
            _args3 = arguments;
        return _regenerator.default.async(function get$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                config = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {};
                otherParams = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : {};
                skipDefaultParams = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : false;
                headers = _args3.length > 4 && _args3[4] !== undefined ? _args3[4] : {};
                params = otherParams;

                if (!skipDefaultParams) {
                  params = (0, _extends2.default)({}, API.getDefaultParams(), params);
                }

                _context3.prev = 6;
                _context3.next = 9;
                return _regenerator.default.awrap(instance.get(url, (0, _extends2.default)({
                  headers: (0, _extends2.default)({
                    "User-Agent": _$$_REQUIRE(_dependencyMap[9]).PlatformUtils.getUserAgent()
                  }, headers)
                }, config, {
                  params: params,
                  paramsSerializer: _$$_REQUIRE(_dependencyMap[9]).StringUtils.getQuerystring
                })));

              case 9:
                return _context3.abrupt("return", _context3.sent);

              case 12:
                _context3.prev = 12;
                _context3.t0 = _context3["catch"](6);
                throw _context3.t0;

              case 15:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, [[6, 12]], Promise);
      }
    }, {
      key: "post",
      value: function post(url) {
        var config,
            otherParams,
            skipDefaultParams,
            headers,
            data,
            queryString,
            _args4 = arguments;
        return _regenerator.default.async(function post$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                config = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : {};
                otherParams = _args4.length > 2 && _args4[2] !== undefined ? _args4[2] : {};
                skipDefaultParams = _args4.length > 3 && _args4[3] !== undefined ? _args4[3] : false;
                headers = _args4.length > 4 && _args4[4] !== undefined ? _args4[4] : {};
                data = otherParams;

                if (!skipDefaultParams) {
                  data = (0, _extends2.default)({}, API.getDefaultParams(), data);
                }

                queryString = _$$_REQUIRE(_dependencyMap[9]).StringUtils.getQuerystring(data);
                _context4.prev = 7;
                _context4.next = 10;
                return _regenerator.default.awrap(instance.post(url, queryString, (0, _extends2.default)({
                  headers: (0, _extends2.default)({
                    Accept: "application/x-www-form-urlencoded",
                    "User-Agent": _$$_REQUIRE(_dependencyMap[9]).PlatformUtils.getUserAgent()
                  }, headers)
                }, config)));

              case 10:
                return _context4.abrupt("return", _context4.sent);

              case 13:
                _context4.prev = 13;
                _context4.t0 = _context4["catch"](7);
                throw _context4.t0;

              case 16:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, [[7, 13]], Promise);
      }
    }, {
      key: "remp",
      value: function remp(url, params) {
        return _regenerator.default.async(function remp$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                return _context5.abrupt("return", API.get(url, {}, params));

              case 1:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "rssIndex",
      value: function rssIndex(_ref) {
        var customUrl, pSetup, machine, rest, otherParams;
        return _regenerator.default.async(function rssIndex$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                customUrl = _ref.customUrl, pSetup = _ref.pSetup, machine = _ref.machine, rest = (0, _objectWithoutProperties2.default)(_ref, ["customUrl", "pSetup", "machine"]);
                otherParams = {};

                if (!customUrl) {
                  otherParams = (0, _extends2.default)({
                    action: "RSSindex",
                    pSetup: pSetup
                  }, rest);
                }

                return _context6.abrupt("return", API.get(customUrl || API.baseUrl(machine), {
                  responseType: "text"
                }, otherParams));

              case 4:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getWithParams",
      value: function getWithParams(params) {
        var config,
            machine,
            skipDefaultParams,
            _args7 = arguments;
        return _regenerator.default.async(function getWithParams$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                config = _args7.length > 1 && _args7[1] !== undefined ? _args7[1] : {};
                machine = _args7.length > 2 ? _args7[2] : undefined;
                skipDefaultParams = _args7.length > 3 && _args7[3] !== undefined ? _args7[3] : false;
                return _context7.abrupt("return", API.get(API.baseUrl(machine), config, params, skipDefaultParams));

              case 4:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "cities",
      value: function cities(_ref2) {
        var wording;
        return _regenerator.default.async(function cities$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                wording = _ref2.wording;
                return _context8.abrupt("return", API.getWithParams({
                  action: "utilscities",
                  wording: wording
                }));

              case 2:
              case "end":
                return _context8.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "closestCities",
      value: function closestCities(_ref3) {
        var lat, lon;
        return _regenerator.default.async(function closestCities$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                lat = _ref3.lat, lon = _ref3.lon;
                return _context9.abrupt("return", API.getWithParams({
                  action: "utilsclosestcity",
                  lat: lat,
                  lon: lon
                }));

              case 2:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "deleteDeviceToPushServer",
      value: function deleteDeviceToPushServer(_ref4) {
        var token, rest;
        return _regenerator.default.async(function deleteDeviceToPushServer$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                token = _ref4.token, rest = (0, _objectWithoutProperties2.default)(_ref4, ["token"]);
                return _context10.abrupt("return", API.getWithParams((0, _extends2.default)({
                  action: "push_deletion_service",
                  package_id: _$$_REQUIRE(_dependencyMap[9]).PlatformUtils.getPackagedId(),
                  reg_id: token
                }, rest)));

              case 2:
              case "end":
                return _context10.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "registerDeviceToPushServer",
      value: function registerDeviceToPushServer(_ref5) {
        var token, rest;
        return _regenerator.default.async(function registerDeviceToPushServer$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                token = _ref5.token, rest = (0, _objectWithoutProperties2.default)(_ref5, ["token"]);
                return _context11.abrupt("return", API.getWithParams((0, _extends2.default)({
                  action: "push_registration_service",
                  package_id: _$$_REQUIRE(_dependencyMap[9]).PlatformUtils.getPackagedId(),
                  reg_id: token
                }, rest)));

              case 2:
              case "end":
                return _context11.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "notices",
      value: function notices() {
        var _ref6,
            machine,
            rest,
            _args12 = arguments;

        return _regenerator.default.async(function notices$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                _ref6 = _args12.length > 0 && _args12[0] !== undefined ? _args12[0] : {}, machine = _ref6.machine, rest = (0, _objectWithoutProperties2.default)(_ref6, ["machine"]);
                return _context12.abrupt("return", API.getWithParams((0, _extends2.default)({
                  action: "advertisements"
                }, rest), {}, machine));

              case 2:
              case "end":
                return _context12.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "noticeURI",
      value: function noticeURI() {
        var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
            machine = _ref7.machine,
            rest = (0, _objectWithoutProperties2.default)(_ref7, ["machine"]);

        return _$$_REQUIRE(_dependencyMap[9]).StringUtils.appendParams(API.baseUrl(machine), (0, _extends2.default)({}, API.getDefaultParams(), {
          action: "notices"
        }, rest));
      }
    }, {
      key: "sslCertificatesURI",
      value: function sslCertificatesURI() {
        var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var cdnServer = arguments.length > 1 ? arguments[1] : undefined;
        var excludeParams = cdnServer ? true : false;
        return _$$_REQUIRE(_dependencyMap[9]).StringUtils.appendParams(API.baseUrl(cdnServer), (0, _extends2.default)({}, API.getDefaultParams(excludeParams, excludeParams), params, {
          os: "android",
          action: "certificates"
        }));
      }
    }, {
      key: "pSetup",
      value: function pSetup(_ref8) {
        var machine, rest;
        return _regenerator.default.async(function pSetup$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                machine = _ref8.machine, rest = (0, _objectWithoutProperties2.default)(_ref8, ["machine"]);
                return _context13.abrupt("return", API.getWithParams((0, _extends2.default)({
                  action: "message",
                  bundleVersion: _deviceUtils.default.getBundleVersion(),
                  version: _deviceUtils.default.getAppVersion(),
                  inches: _$$_REQUIRE(_dependencyMap[9]).PlatformUtils.getScreenInches(),
                  device: _$$_REQUIRE(_dependencyMap[9]).PlatformUtils.getDeviceId()
                }, rest), {
                  responseType: "text"
                }, machine));

              case 2:
              case "end":
                return _context13.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getBundleDownloadUrl",
      value: function getBundleDownloadUrl() {
        var defaultParams = API.getDefaultParams();
        defaultParams.action = "getBundle";
        defaultParams.bundleVersion = _deviceUtils.default.getBundleVersion();
        return _$$_REQUIRE(_dependencyMap[9]).StringUtils.appendParams(API.baseUrl(), defaultParams);
      }
    }, {
      key: "customLanguagePack",
      value: function customLanguagePack(_ref9) {
        var machine, rest;
        return _regenerator.default.async(function customLanguagePack$(_context14) {
          while (1) {
            switch (_context14.prev = _context14.next) {
              case 0:
                machine = _ref9.machine, rest = (0, _objectWithoutProperties2.default)(_ref9, ["machine"]);
                return _context14.abrupt("return", API.getWithParams((0, _extends2.default)({
                  action: "locale"
                }, rest), {}, machine));

              case 2:
              case "end":
                return _context14.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "customFonts",
      value: function customFonts(_ref10) {
        var machine, rest;
        return _regenerator.default.async(function customFonts$(_context15) {
          while (1) {
            switch (_context15.prev = _context15.next) {
              case 0:
                machine = _ref10.machine, rest = (0, _objectWithoutProperties2.default)(_ref10, ["machine"]);
                return _context15.abrupt("return", API.getWithParams((0, _extends2.default)({
                  action: "fonts"
                }, rest), {}, machine));

              case 2:
              case "end":
                return _context15.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "checkConfigUpdate",
      value: function checkConfigUpdate(_ref11) {
        var machine, rest;
        return _regenerator.default.async(function checkConfigUpdate$(_context16) {
          while (1) {
            switch (_context16.prev = _context16.next) {
              case 0:
                machine = _ref11.machine, rest = (0, _objectWithoutProperties2.default)(_ref11, ["machine"]);
                return _context16.abrupt("return", API.getWithParams((0, _extends2.default)({
                  action: "checkconfigupdate"
                }, rest), {}, machine));

              case 2:
              case "end":
                return _context16.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getConfig",
      value: function getConfig(_ref12) {
        var machine, rest;
        return _regenerator.default.async(function getConfig$(_context17) {
          while (1) {
            switch (_context17.prev = _context17.next) {
              case 0:
                machine = _ref12.machine, rest = (0, _objectWithoutProperties2.default)(_ref12, ["machine"]);
                return _context17.abrupt("return", API.getWithParams((0, _extends2.default)({
                  action: "config"
                }, rest), {}, machine));

              case 2:
              case "end":
                return _context17.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getAppStoreMetadata",
      value: function getAppStoreMetadata() {
        return _regenerator.default.async(function getAppStoreMetadata$(_context18) {
          while (1) {
            switch (_context18.prev = _context18.next) {
              case 0:
                return _context18.abrupt("return", API.getWithParams({
                  action: "appstoremetadata",
                  bundleId: _$$_REQUIRE(_dependencyMap[9]).PlatformUtils.getPackagedId()
                }));

              case 1:
              case "end":
                return _context18.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getGoogleAccessToken",
      value: function getGoogleAccessToken() {
        return _regenerator.default.async(function getGoogleAccessToken$(_context19) {
          while (1) {
            switch (_context19.prev = _context19.next) {
              case 0:
                return _context19.abrupt("return", API.getWithParams({
                  action: "getGoogleToken"
                }));

              case 1:
              case "end":
                return _context19.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "validateReceipt",
      value: function validateReceipt() {
        var params,
            _args20 = arguments;
        return _regenerator.default.async(function validateReceipt$(_context20) {
          while (1) {
            switch (_context20.prev = _context20.next) {
              case 0:
                params = _args20.length > 0 && _args20[0] !== undefined ? _args20[0] : {};
                return _context20.abrupt("return", API.post(_$$_REQUIRE(_dependencyMap[9]).StringUtils.appendParams(API.baseUrl(), (0, _extends2.default)({}, API.getDefaultParams(), {
                  action: "validatereceipt"
                })), {}, params, true));

              case 2:
              case "end":
                return _context20.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getMaster",
      value: function getMaster() {
        var server = global.getAppServer();

        if (_$$_REQUIRE(_dependencyMap[9]).StringUtils.isTecnaviaDomain(server)) {
          var splitted = server.replace(/https?:\/\//, "").split(/(?:-|\.)(?!com)/);

          if (splitted.length > 3) {
            if (splitted.length === 5) {
              splitted.splice(0, 1);
            }

            splitted[0] = "server";

            if (splitted.length === 4) {
              splitted[3] = "admin." + splitted[3];
              splitted.splice(2, 1);
            }

            server = splitted.join(global.isHTTPS() ? "-" : ".");
          }
        }

        return server;
      }
    }, {
      key: "sendLogToServer",
      value: function sendLogToServer() {
        var url;
        return _regenerator.default.async(function sendLogToServer$(_context21) {
          while (1) {
            switch (_context21.prev = _context21.next) {
              case 0:
                url = _$$_REQUIRE(_dependencyMap[9]).StringUtils.appendParams(API.baseUrl(API.getMaster()), (0, _extends2.default)({}, API.getDefaultParams(), {
                  action: "upload_log"
                }));
                _context21.prev = 1;
                _context21.next = 4;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.post(url, {
                  name: "uploadedfile",
                  filename: _$$_REQUIRE(_dependencyMap[9]).Logger.logSessionFileName,
                  type: "text/plain",
                  data: _tecnaviaFileUtils.default.wrap(_$$_REQUIRE(_dependencyMap[10]).LOG_BASE_PATH + "/" + _$$_REQUIRE(_dependencyMap[9]).Logger.logSessionFileName)
                }));

              case 4:
                return _context21.abrupt("return", true);

              case 7:
                _context21.prev = 7;
                _context21.t0 = _context21["catch"](1);
                return _context21.abrupt("return", false);

              case 10:
              case "end":
                return _context21.stop();
            }
          }
        }, null, null, [[1, 7]], Promise);
      }
    }, {
      key: "sendLog",
      value: function sendLog() {
        var result;
        return _regenerator.default.async(function sendLog$(_context22) {
          while (1) {
            switch (_context22.prev = _context22.next) {
              case 0:
                _context22.next = 2;
                return _regenerator.default.awrap(API.sendLogToServer());

              case 2:
                result = _context22.sent;
                _context22.next = 5;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[9]).Logger.deleteLogFile());

              case 5:
                _context22.next = 7;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[9]).Logger.createNewSessionLog());

              case 7:
                return _context22.abrupt("return", result);

              case 8:
              case "end":
                return _context22.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "requestWithRetry",
      value: function requestWithRetry(_ref13) {
        var request,
            onRetry,
            _ref13$maxRetries,
            maxRetries,
            result,
            retries,
            _len,
            args,
            _key,
            response,
            _args23 = arguments;

        return _regenerator.default.async(function requestWithRetry$(_context23) {
          while (1) {
            switch (_context23.prev = _context23.next) {
              case 0:
                request = _ref13.request, onRetry = _ref13.onRetry, _ref13$maxRetries = _ref13.maxRetries, maxRetries = _ref13$maxRetries === undefined ? MAX_RETRIES : _ref13$maxRetries;
                retries = 0;

                for (_len = _args23.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
                  args[_key - 1] = _args23[_key];
                }

              case 3:
                _context23.prev = 3;

                if (retries > 0) {
                  if (onRetry) {
                    onRetry(retries, maxRetries);
                  }
                }

                _context23.next = 7;
                return _regenerator.default.awrap(request.apply(undefined, args));

              case 7:
                response = _context23.sent;
                result = response.data;
                _context23.next = 15;
                break;

              case 11:
                _context23.prev = 11;
                _context23.t0 = _context23["catch"](3);

                if (!(_context23.t0.response && _context23.t0.response.status === HTTP_CODES.UNAUTHORIZED)) {
                  _context23.next = 15;
                  break;
                }

                throw _context23.t0;

              case 15:
                retries += 1;

              case 16:
                if (!result && retries < maxRetries) {
                  _context23.next = 3;
                  break;
                }

              case 17:
                return _context23.abrupt("return", result);

              case 18:
              case "end":
                return _context23.stop();
            }
          }
        }, null, null, [[3, 11]], Promise);
      }
    }]);
    return API;
  }();

  exports.default = API;
  API.DEFAULT_CONNECTION_TIMEOUT_2G = 60000;
  API.DEFAULT_CONNECTION_TIMEOUT_3G = 30000;
  API.DEFAULT_CONNECTION_TIMEOUT_4G = 15000;
  API.DEFAULT_READ_TIMEOUT_2G = 240000;
  API.DEFAULT_READ_TIMEOUT_3G = 120000;
  API.DEFAULT_READ_TIMEOUT_4G = 60000;
  API.timeout = 0;
  API.readTimeout = 0;
},431,[5,80,108,6,7,8,432,458,574,462,543]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]);
},432,[433]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function createInstance(defaultConfig) {
    var context = new (_$$_REQUIRE(_dependencyMap[0]))(defaultConfig);

    var instance = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[0]).prototype.request, context);

    _$$_REQUIRE(_dependencyMap[2]).extend(instance, _$$_REQUIRE(_dependencyMap[0]).prototype, context);

    _$$_REQUIRE(_dependencyMap[2]).extend(instance, context);

    return instance;
  }

  var axios = createInstance(_$$_REQUIRE(_dependencyMap[3]));
  axios.Axios = _$$_REQUIRE(_dependencyMap[0]);

  axios.create = function create(instanceConfig) {
    return createInstance(_$$_REQUIRE(_dependencyMap[4])(axios.defaults, instanceConfig));
  };

  axios.Cancel = _$$_REQUIRE(_dependencyMap[5]);
  axios.CancelToken = _$$_REQUIRE(_dependencyMap[6]);
  axios.isCancel = _$$_REQUIRE(_dependencyMap[7]);

  axios.all = function all(promises) {
    return Promise.all(promises);
  };

  axios.spread = _$$_REQUIRE(_dependencyMap[8]);
  module.exports = axios;
  module.exports.default = axios;
},433,[434,437,436,441,438,455,456,454,457]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function Axios(instanceConfig) {
    this.defaults = instanceConfig;
    this.interceptors = {
      request: new (_$$_REQUIRE(_dependencyMap[0]))(),
      response: new (_$$_REQUIRE(_dependencyMap[0]))()
    };
  }

  Axios.prototype.request = function request(config) {
    if (typeof config === 'string') {
      config = arguments[1] || {};
      config.url = arguments[0];
    } else {
      config = config || {};
    }

    config = _$$_REQUIRE(_dependencyMap[1])(this.defaults, config);

    if (config.method) {
      config.method = config.method.toLowerCase();
    } else if (this.defaults.method) {
      config.method = this.defaults.method.toLowerCase();
    } else {
      config.method = 'get';
    }

    var chain = [_$$_REQUIRE(_dependencyMap[2]), undefined];
    var promise = Promise.resolve(config);
    this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
      chain.unshift(interceptor.fulfilled, interceptor.rejected);
    });
    this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
      chain.push(interceptor.fulfilled, interceptor.rejected);
    });

    while (chain.length) {
      promise = promise.then(chain.shift(), chain.shift());
    }

    return promise;
  };

  Axios.prototype.getUri = function getUri(config) {
    config = _$$_REQUIRE(_dependencyMap[1])(this.defaults, config);
    return _$$_REQUIRE(_dependencyMap[3])(config.url, config.params, config.paramsSerializer).replace(/^\?/, '');
  };

  _$$_REQUIRE(_dependencyMap[4]).forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {
    Axios.prototype[method] = function (url, config) {
      return this.request(_$$_REQUIRE(_dependencyMap[4]).merge(config || {}, {
        method: method,
        url: url
      }));
    };
  });

  _$$_REQUIRE(_dependencyMap[4]).forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
    Axios.prototype[method] = function (url, data, config) {
      return this.request(_$$_REQUIRE(_dependencyMap[4]).merge(config || {}, {
        method: method,
        url: url,
        data: data
      }));
    };
  });

  module.exports = Axios;
},434,[435,438,439,446,436]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function InterceptorManager() {
    this.handlers = [];
  }

  InterceptorManager.prototype.use = function use(fulfilled, rejected) {
    this.handlers.push({
      fulfilled: fulfilled,
      rejected: rejected
    });
    return this.handlers.length - 1;
  };

  InterceptorManager.prototype.eject = function eject(id) {
    if (this.handlers[id]) {
      this.handlers[id] = null;
    }
  };

  InterceptorManager.prototype.forEach = function forEach(fn) {
    _$$_REQUIRE(_dependencyMap[0]).forEach(this.handlers, function forEachHandler(h) {
      if (h !== null) {
        fn(h);
      }
    });
  };

  module.exports = InterceptorManager;
},435,[436]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var toString = Object.prototype.toString;

  function isArray(val) {
    return toString.call(val) === '[object Array]';
  }

  function isUndefined(val) {
    return typeof val === 'undefined';
  }

  function isBuffer(val) {
    return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);
  }

  function isArrayBuffer(val) {
    return toString.call(val) === '[object ArrayBuffer]';
  }

  function isFormData(val) {
    return typeof FormData !== 'undefined' && val instanceof FormData;
  }

  function isArrayBufferView(val) {
    var result;

    if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {
      result = ArrayBuffer.isView(val);
    } else {
      result = val && val.buffer && val.buffer instanceof ArrayBuffer;
    }

    return result;
  }

  function isString(val) {
    return typeof val === 'string';
  }

  function isNumber(val) {
    return typeof val === 'number';
  }

  function isObject(val) {
    return val !== null && typeof val === 'object';
  }

  function isDate(val) {
    return toString.call(val) === '[object Date]';
  }

  function isFile(val) {
    return toString.call(val) === '[object File]';
  }

  function isBlob(val) {
    return toString.call(val) === '[object Blob]';
  }

  function isFunction(val) {
    return toString.call(val) === '[object Function]';
  }

  function isStream(val) {
    return isObject(val) && isFunction(val.pipe);
  }

  function isURLSearchParams(val) {
    return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;
  }

  function trim(str) {
    return str.replace(/^\s*/, '').replace(/\s*$/, '');
  }

  function isStandardBrowserEnv() {
    if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' || navigator.product === 'NativeScript' || navigator.product === 'NS')) {
      return false;
    }

    return typeof window !== 'undefined' && typeof document !== 'undefined';
  }

  function forEach(obj, fn) {
    if (obj === null || typeof obj === 'undefined') {
      return;
    }

    if (typeof obj !== 'object') {
      obj = [obj];
    }

    if (isArray(obj)) {
      for (var i = 0, l = obj.length; i < l; i++) {
        fn.call(null, obj[i], i, obj);
      }
    } else {
      for (var key in obj) {
        if (Object.prototype.hasOwnProperty.call(obj, key)) {
          fn.call(null, obj[key], key, obj);
        }
      }
    }
  }

  function merge() {
    var result = {};

    function assignValue(val, key) {
      if (typeof result[key] === 'object' && typeof val === 'object') {
        result[key] = merge(result[key], val);
      } else {
        result[key] = val;
      }
    }

    for (var i = 0, l = arguments.length; i < l; i++) {
      forEach(arguments[i], assignValue);
    }

    return result;
  }

  function deepMerge() {
    var result = {};

    function assignValue(val, key) {
      if (typeof result[key] === 'object' && typeof val === 'object') {
        result[key] = deepMerge(result[key], val);
      } else if (typeof val === 'object') {
        result[key] = deepMerge({}, val);
      } else {
        result[key] = val;
      }
    }

    for (var i = 0, l = arguments.length; i < l; i++) {
      forEach(arguments[i], assignValue);
    }

    return result;
  }

  function extend(a, b, thisArg) {
    forEach(b, function assignValue(val, key) {
      if (thisArg && typeof val === 'function') {
        a[key] = _$$_REQUIRE(_dependencyMap[0])(val, thisArg);
      } else {
        a[key] = val;
      }
    });
    return a;
  }

  module.exports = {
    isArray: isArray,
    isArrayBuffer: isArrayBuffer,
    isBuffer: isBuffer,
    isFormData: isFormData,
    isArrayBufferView: isArrayBufferView,
    isString: isString,
    isNumber: isNumber,
    isObject: isObject,
    isUndefined: isUndefined,
    isDate: isDate,
    isFile: isFile,
    isBlob: isBlob,
    isFunction: isFunction,
    isStream: isStream,
    isURLSearchParams: isURLSearchParams,
    isStandardBrowserEnv: isStandardBrowserEnv,
    forEach: forEach,
    merge: merge,
    deepMerge: deepMerge,
    extend: extend,
    trim: trim
  };
},436,[437]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = function bind(fn, thisArg) {
    return function wrap() {
      var args = new Array(arguments.length);

      for (var i = 0; i < args.length; i++) {
        args[i] = arguments[i];
      }

      return fn.apply(thisArg, args);
    };
  };
},437,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = function mergeConfig(config1, config2) {
    config2 = config2 || {};
    var config = {};
    var valueFromConfig2Keys = ['url', 'method', 'params', 'data'];
    var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy'];
    var defaultToConfig2Keys = ['baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer', 'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName', 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent', 'httpsAgent', 'cancelToken', 'socketPath'];

    _$$_REQUIRE(_dependencyMap[0]).forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {
      if (typeof config2[prop] !== 'undefined') {
        config[prop] = config2[prop];
      }
    });

    _$$_REQUIRE(_dependencyMap[0]).forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {
      if (_$$_REQUIRE(_dependencyMap[0]).isObject(config2[prop])) {
        config[prop] = _$$_REQUIRE(_dependencyMap[0]).deepMerge(config1[prop], config2[prop]);
      } else if (typeof config2[prop] !== 'undefined') {
        config[prop] = config2[prop];
      } else if (_$$_REQUIRE(_dependencyMap[0]).isObject(config1[prop])) {
        config[prop] = _$$_REQUIRE(_dependencyMap[0]).deepMerge(config1[prop]);
      } else if (typeof config1[prop] !== 'undefined') {
        config[prop] = config1[prop];
      }
    });

    _$$_REQUIRE(_dependencyMap[0]).forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {
      if (typeof config2[prop] !== 'undefined') {
        config[prop] = config2[prop];
      } else if (typeof config1[prop] !== 'undefined') {
        config[prop] = config1[prop];
      }
    });

    var axiosKeys = valueFromConfig2Keys.concat(mergeDeepPropertiesKeys).concat(defaultToConfig2Keys);
    var otherKeys = Object.keys(config2).filter(function filterAxiosKeys(key) {
      return axiosKeys.indexOf(key) === -1;
    });

    _$$_REQUIRE(_dependencyMap[0]).forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {
      if (typeof config2[prop] !== 'undefined') {
        config[prop] = config2[prop];
      } else if (typeof config1[prop] !== 'undefined') {
        config[prop] = config1[prop];
      }
    });

    return config;
  };
},438,[436]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function throwIfCancellationRequested(config) {
    if (config.cancelToken) {
      config.cancelToken.throwIfRequested();
    }
  }

  module.exports = function dispatchRequest(config) {
    throwIfCancellationRequested(config);
    config.headers = config.headers || {};
    config.data = _$$_REQUIRE(_dependencyMap[0])(config.data, config.headers, config.transformRequest);
    config.headers = _$$_REQUIRE(_dependencyMap[1]).merge(config.headers.common || {}, config.headers[config.method] || {}, config.headers);

    _$$_REQUIRE(_dependencyMap[1]).forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function cleanHeaderConfig(method) {
      delete config.headers[method];
    });

    var adapter = config.adapter || _$$_REQUIRE(_dependencyMap[2]).adapter;

    return adapter(config).then(function onAdapterResolution(response) {
      throwIfCancellationRequested(config);
      response.data = _$$_REQUIRE(_dependencyMap[0])(response.data, response.headers, config.transformResponse);
      return response;
    }, function onAdapterRejection(reason) {
      if (!_$$_REQUIRE(_dependencyMap[3])(reason)) {
        throwIfCancellationRequested(config);

        if (reason && reason.response) {
          reason.response.data = _$$_REQUIRE(_dependencyMap[0])(reason.response.data, reason.response.headers, config.transformResponse);
        }
      }

      return Promise.reject(reason);
    });
  };
},439,[440,436,441,454]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = function transformData(data, headers, fns) {
    _$$_REQUIRE(_dependencyMap[0]).forEach(fns, function transform(fn) {
      data = fn(data, headers);
    });

    return data;
  };
},440,[436]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var DEFAULT_CONTENT_TYPE = {
    'Content-Type': 'application/x-www-form-urlencoded'
  };

  function setContentTypeIfUnset(headers, value) {
    if (!_$$_REQUIRE(_dependencyMap[0]).isUndefined(headers) && _$$_REQUIRE(_dependencyMap[0]).isUndefined(headers['Content-Type'])) {
      headers['Content-Type'] = value;
    }
  }

  function getDefaultAdapter() {
    var adapter;

    if (typeof XMLHttpRequest !== 'undefined') {
      adapter = _$$_REQUIRE(_dependencyMap[1]);
    } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
      adapter = _$$_REQUIRE(_dependencyMap[2]);
    }

    return adapter;
  }

  var defaults = {
    adapter: getDefaultAdapter(),
    transformRequest: [function transformRequest(data, headers) {
      _$$_REQUIRE(_dependencyMap[3])(headers, 'Accept');

      _$$_REQUIRE(_dependencyMap[3])(headers, 'Content-Type');

      if (_$$_REQUIRE(_dependencyMap[0]).isFormData(data) || _$$_REQUIRE(_dependencyMap[0]).isArrayBuffer(data) || _$$_REQUIRE(_dependencyMap[0]).isBuffer(data) || _$$_REQUIRE(_dependencyMap[0]).isStream(data) || _$$_REQUIRE(_dependencyMap[0]).isFile(data) || _$$_REQUIRE(_dependencyMap[0]).isBlob(data)) {
        return data;
      }

      if (_$$_REQUIRE(_dependencyMap[0]).isArrayBufferView(data)) {
        return data.buffer;
      }

      if (_$$_REQUIRE(_dependencyMap[0]).isURLSearchParams(data)) {
        setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
        return data.toString();
      }

      if (_$$_REQUIRE(_dependencyMap[0]).isObject(data)) {
        setContentTypeIfUnset(headers, 'application/json;charset=utf-8');
        return JSON.stringify(data);
      }

      return data;
    }],
    transformResponse: [function transformResponse(data) {
      if (typeof data === 'string') {
        try {
          data = JSON.parse(data);
        } catch (e) {}
      }

      return data;
    }],
    timeout: 0,
    xsrfCookieName: 'XSRF-TOKEN',
    xsrfHeaderName: 'X-XSRF-TOKEN',
    maxContentLength: -1,
    validateStatus: function validateStatus(status) {
      return status >= 200 && status < 300;
    }
  };
  defaults.headers = {
    common: {
      'Accept': 'application/json, text/plain, */*'
    }
  };

  _$$_REQUIRE(_dependencyMap[0]).forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {
    defaults.headers[method] = {};
  });

  _$$_REQUIRE(_dependencyMap[0]).forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
    defaults.headers[method] = _$$_REQUIRE(_dependencyMap[0]).merge(DEFAULT_CONTENT_TYPE);
  });

  module.exports = defaults;
},441,[436,442,442,453]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = function xhrAdapter(config) {
    return new Promise(function dispatchXhrRequest(resolve, reject) {
      var requestData = config.data;
      var requestHeaders = config.headers;

      if (_$$_REQUIRE(_dependencyMap[0]).isFormData(requestData)) {
        delete requestHeaders['Content-Type'];
      }

      var request = new XMLHttpRequest();

      if (config.auth) {
        var username = config.auth.username || '';
        var password = config.auth.password || '';
        requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
      }

      var fullPath = _$$_REQUIRE(_dependencyMap[1])(config.baseURL, config.url);

      request.open(config.method.toUpperCase(), _$$_REQUIRE(_dependencyMap[2])(fullPath, config.params, config.paramsSerializer), true);
      request.timeout = config.timeout;

      request.onreadystatechange = function handleLoad() {
        if (!request || request.readyState !== 4) {
          return;
        }

        if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
          return;
        }

        var responseHeaders = 'getAllResponseHeaders' in request ? _$$_REQUIRE(_dependencyMap[3])(request.getAllResponseHeaders()) : null;
        var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;
        var response = {
          data: responseData,
          status: request.status,
          statusText: request.statusText,
          headers: responseHeaders,
          config: config,
          request: request
        };

        _$$_REQUIRE(_dependencyMap[4])(resolve, reject, response);

        request = null;
      };

      request.onabort = function handleAbort() {
        if (!request) {
          return;
        }

        reject(_$$_REQUIRE(_dependencyMap[5])('Request aborted', config, 'ECONNABORTED', request));
        request = null;
      };

      request.onerror = function handleError() {
        reject(_$$_REQUIRE(_dependencyMap[5])('Network Error', config, null, request));
        request = null;
      };

      request.ontimeout = function handleTimeout() {
        var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';

        if (config.timeoutErrorMessage) {
          timeoutErrorMessage = config.timeoutErrorMessage;
        }

        reject(_$$_REQUIRE(_dependencyMap[5])(timeoutErrorMessage, config, 'ECONNABORTED', request));
        request = null;
      };

      if (_$$_REQUIRE(_dependencyMap[0]).isStandardBrowserEnv()) {
        var cookies = _$$_REQUIRE(_dependencyMap[6]);

        var xsrfValue = (config.withCredentials || _$$_REQUIRE(_dependencyMap[7])(fullPath)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined;

        if (xsrfValue) {
          requestHeaders[config.xsrfHeaderName] = xsrfValue;
        }
      }

      if ('setRequestHeader' in request) {
        _$$_REQUIRE(_dependencyMap[0]).forEach(requestHeaders, function setRequestHeader(val, key) {
          if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {
            delete requestHeaders[key];
          } else {
            request.setRequestHeader(key, val);
          }
        });
      }

      if (!_$$_REQUIRE(_dependencyMap[0]).isUndefined(config.withCredentials)) {
        request.withCredentials = !!config.withCredentials;
      }

      if (config.responseType) {
        try {
          request.responseType = config.responseType;
        } catch (e) {
          if (config.responseType !== 'json') {
            throw e;
          }
        }
      }

      if (typeof config.onDownloadProgress === 'function') {
        request.addEventListener('progress', config.onDownloadProgress);
      }

      if (typeof config.onUploadProgress === 'function' && request.upload) {
        request.upload.addEventListener('progress', config.onUploadProgress);
      }

      if (config.cancelToken) {
        config.cancelToken.promise.then(function onCanceled(cancel) {
          if (!request) {
            return;
          }

          request.abort();
          reject(cancel);
          request = null;
        });
      }

      if (requestData === undefined) {
        requestData = null;
      }

      request.send(requestData);
    });
  };
},442,[436,443,446,447,448,449,451,452]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = function buildFullPath(baseURL, requestedURL) {
    if (baseURL && !_$$_REQUIRE(_dependencyMap[0])(requestedURL)) {
      return _$$_REQUIRE(_dependencyMap[1])(baseURL, requestedURL);
    }

    return requestedURL;
  };
},443,[444,445]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = function isAbsoluteURL(url) {
    return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url);
  };
},444,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = function combineURLs(baseURL, relativeURL) {
    return relativeURL ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') : baseURL;
  };
},445,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function encode(val) {
    return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');
  }

  module.exports = function buildURL(url, params, paramsSerializer) {
    if (!params) {
      return url;
    }

    var serializedParams;

    if (paramsSerializer) {
      serializedParams = paramsSerializer(params);
    } else if (_$$_REQUIRE(_dependencyMap[0]).isURLSearchParams(params)) {
      serializedParams = params.toString();
    } else {
      var parts = [];

      _$$_REQUIRE(_dependencyMap[0]).forEach(params, function serialize(val, key) {
        if (val === null || typeof val === 'undefined') {
          return;
        }

        if (_$$_REQUIRE(_dependencyMap[0]).isArray(val)) {
          key = key + '[]';
        } else {
          val = [val];
        }

        _$$_REQUIRE(_dependencyMap[0]).forEach(val, function parseValue(v) {
          if (_$$_REQUIRE(_dependencyMap[0]).isDate(v)) {
            v = v.toISOString();
          } else if (_$$_REQUIRE(_dependencyMap[0]).isObject(v)) {
            v = JSON.stringify(v);
          }

          parts.push(encode(key) + '=' + encode(v));
        });
      });

      serializedParams = parts.join('&');
    }

    if (serializedParams) {
      var hashmarkIndex = url.indexOf('#');

      if (hashmarkIndex !== -1) {
        url = url.slice(0, hashmarkIndex);
      }

      url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
    }

    return url;
  };
},446,[436]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var ignoreDuplicateOf = ['age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent'];

  module.exports = function parseHeaders(headers) {
    var parsed = {};
    var key;
    var val;
    var i;

    if (!headers) {
      return parsed;
    }

    _$$_REQUIRE(_dependencyMap[0]).forEach(headers.split('\n'), function parser(line) {
      i = line.indexOf(':');
      key = _$$_REQUIRE(_dependencyMap[0]).trim(line.substr(0, i)).toLowerCase();
      val = _$$_REQUIRE(_dependencyMap[0]).trim(line.substr(i + 1));

      if (key) {
        if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {
          return;
        }

        if (key === 'set-cookie') {
          parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);
        } else {
          parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
        }
      }
    });

    return parsed;
  };
},447,[436]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = function settle(resolve, reject, response) {
    var validateStatus = response.config.validateStatus;

    if (!validateStatus || validateStatus(response.status)) {
      resolve(response);
    } else {
      reject(_$$_REQUIRE(_dependencyMap[0])('Request failed with status code ' + response.status, response.config, null, response.request, response));
    }
  };
},448,[449]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = function createError(message, config, code, request, response) {
    var error = new Error(message);
    return _$$_REQUIRE(_dependencyMap[0])(error, config, code, request, response);
  };
},449,[450]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = function enhanceError(error, config, code, request, response) {
    error.config = config;

    if (code) {
      error.code = code;
    }

    error.request = request;
    error.response = response;
    error.isAxiosError = true;

    error.toJSON = function () {
      return {
        message: this.message,
        name: this.name,
        description: this.description,
        number: this.number,
        fileName: this.fileName,
        lineNumber: this.lineNumber,
        columnNumber: this.columnNumber,
        stack: this.stack,
        config: this.config,
        code: this.code
      };
    };

    return error;
  };
},450,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = _$$_REQUIRE(_dependencyMap[0]).isStandardBrowserEnv() ? function standardBrowserEnv() {
    return {
      write: function write(name, value, expires, path, domain, secure) {
        var cookie = [];
        cookie.push(name + '=' + encodeURIComponent(value));

        if (_$$_REQUIRE(_dependencyMap[0]).isNumber(expires)) {
          cookie.push('expires=' + new Date(expires).toGMTString());
        }

        if (_$$_REQUIRE(_dependencyMap[0]).isString(path)) {
          cookie.push('path=' + path);
        }

        if (_$$_REQUIRE(_dependencyMap[0]).isString(domain)) {
          cookie.push('domain=' + domain);
        }

        if (secure === true) {
          cookie.push('secure');
        }

        document.cookie = cookie.join('; ');
      },
      read: function read(name) {
        var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
        return match ? decodeURIComponent(match[3]) : null;
      },
      remove: function remove(name) {
        this.write(name, '', Date.now() - 86400000);
      }
    };
  }() : function nonStandardBrowserEnv() {
    return {
      write: function write() {},
      read: function read() {
        return null;
      },
      remove: function remove() {}
    };
  }();
},451,[436]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = _$$_REQUIRE(_dependencyMap[0]).isStandardBrowserEnv() ? function standardBrowserEnv() {
    var msie = /(msie|trident)/i.test(navigator.userAgent);
    var urlParsingNode = document.createElement('a');
    var originURL;

    function resolveURL(url) {
      var href = url;

      if (msie) {
        urlParsingNode.setAttribute('href', href);
        href = urlParsingNode.href;
      }

      urlParsingNode.setAttribute('href', href);
      return {
        href: urlParsingNode.href,
        protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',
        host: urlParsingNode.host,
        search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '',
        hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',
        hostname: urlParsingNode.hostname,
        port: urlParsingNode.port,
        pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname
      };
    }

    originURL = resolveURL(window.location.href);
    return function isURLSameOrigin(requestURL) {
      var parsed = _$$_REQUIRE(_dependencyMap[0]).isString(requestURL) ? resolveURL(requestURL) : requestURL;
      return parsed.protocol === originURL.protocol && parsed.host === originURL.host;
    };
  }() : function nonStandardBrowserEnv() {
    return function isURLSameOrigin() {
      return true;
    };
  }();
},452,[436]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = function normalizeHeaderName(headers, normalizedName) {
    _$$_REQUIRE(_dependencyMap[0]).forEach(headers, function processHeader(value, name) {
      if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {
        headers[normalizedName] = value;
        delete headers[name];
      }
    });
  };
},453,[436]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = function isCancel(value) {
    return !!(value && value.__CANCEL__);
  };
},454,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function Cancel(message) {
    this.message = message;
  }

  Cancel.prototype.toString = function toString() {
    return 'Cancel' + (this.message ? ': ' + this.message : '');
  };

  Cancel.prototype.__CANCEL__ = true;
  module.exports = Cancel;
},455,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function CancelToken(executor) {
    if (typeof executor !== 'function') {
      throw new TypeError('executor must be a function.');
    }

    var resolvePromise;
    this.promise = new Promise(function promiseExecutor(resolve) {
      resolvePromise = resolve;
    });
    var token = this;
    executor(function cancel(message) {
      if (token.reason) {
        return;
      }

      token.reason = new (_$$_REQUIRE(_dependencyMap[0]))(message);
      resolvePromise(token.reason);
    });
  }

  CancelToken.prototype.throwIfRequested = function throwIfRequested() {
    if (this.reason) {
      throw this.reason;
    }
  };

  CancelToken.source = function source() {
    var cancel;
    var token = new CancelToken(function executor(c) {
      cancel = c;
    });
    return {
      token: token,
      cancel: cancel
    };
  };

  module.exports = CancelToken;
},456,[455]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = function spread(callback) {
    return function wrap(arr) {
      return callback.apply(null, arr);
    };
  };
},457,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _reactNativeIdleTimer = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var DeviceUtils = function () {
    function DeviceUtils() {
      (0, _classCallCheck2.default)(this, DeviceUtils);
    }

    (0, _createClass2.default)(DeviceUtils, null, [{
      key: "isHuawei",
      value: function isHuawei() {
        return global.isHuawei;
      }
    }, {
      key: "isKindle",
      value: function isKindle() {
        return global.isKindle;
      }
    }, {
      key: "getAppVersion",
      value: function getAppVersion() {
        return global.appVersionName;
      }
    }, {
      key: "getBundleVersion",
      value: function getBundleVersion() {
        return _$$_REQUIRE(_dependencyMap[6]).bundleVersion;
      }
    }, {
      key: "getAppCode",
      value: function getAppCode() {
        return global.appVersionCode;
      }
    }, {
      key: "isUsingHermes",
      value: function isUsingHermes() {
        return !!global.HermesInternal;
      }
    }, {
      key: "setScreenDimensions",
      value: function setScreenDimensions() {
        var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
            width = _ref.width,
            height = _ref.height,
            _ref$orientation = _ref.orientation,
            orientation = _ref$orientation === undefined ? _$$_REQUIRE(_dependencyMap[7]).PlatformUtils.getStartupOrientation() : _ref$orientation,
            _ref$fullOrientation = _ref.fullOrientation,
            fullOrientation = _ref$fullOrientation === undefined ? global.initialOrientation : _ref$fullOrientation,
            _ref$locked = _ref.locked,
            locked = _ref$locked === undefined ? false : _ref$locked,
            _ref$lockedOrientatio = _ref.lockedOrientation,
            lockedOrientation = _ref$lockedOrientatio === undefined ? _$$_REQUIRE(_dependencyMap[7]).PlatformUtils.getStartupOrientation() : _ref$lockedOrientatio;

        var size = {};

        var _Dimensions$get = _reactNative.Dimensions.get("window"),
            windowWidth = _Dimensions$get.width,
            windowHeight = _Dimensions$get.height;

        var _Dimensions$get2 = _reactNative.Dimensions.get("screen"),
            screenWidth = _Dimensions$get2.width,
            screenHeight = _Dimensions$get2.height;

        if (DeviceUtils.isPortrait(orientation)) {
          size.width = width || Math.min(screenWidth, screenHeight);
          size.height = height || Math.max(windowWidth, windowHeight);
          size.isPortrait = true;
        } else {
          size.width = width || Math.max(windowWidth, windowHeight);
          size.height = height || Math.min(windowWidth, windowHeight);
          size.isPortrait = false;
        }

        var somethingChange = !_$$_REQUIRE(_dependencyMap[7]).JSUtils.areEqualShallow(DeviceUtils.screenDimensions, size);
        DeviceUtils.currentOrientation = orientation;
        DeviceUtils.currentFullOrientation = fullOrientation || orientation;
        DeviceUtils.screenDimensions = size;
        DeviceUtils.orientationIsLocked = locked;
        DeviceUtils.lockedOrientation = lockedOrientation;
        var hideStatusBar = _$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isIOS() && !_$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isTablet() && !DeviceUtils.isPortrait();

        _$$_REQUIRE(_dependencyMap[7]).PlatformUtils.setStatusBarHidden(hideStatusBar);

        return somethingChange;
      }
    }, {
      key: "getScreenDimensions",
      value: function getScreenDimensions() {
        return DeviceUtils.screenDimensions;
      }
    }, {
      key: "setSafeArea",
      value: function setSafeArea() {
        var insets = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DeviceUtils.insets;
        var frame = arguments.length > 1 ? arguments[1] : undefined;

        if (DeviceUtils.safeAreaEventCoolDown) {
          clearTimeout(DeviceUtils.safeAreaEventCoolDown);
          DeviceUtils.safeAreaEventCoolDown = undefined;
        }

        if (insets) {
          DeviceUtils.safeAreaEventCoolDown = setTimeout(function () {
            var top = insets.top,
                bottom = insets.bottom,
                left = insets.left,
                right = insets.right;
            DeviceUtils.insets = insets;

            var _ref2 = frame || DeviceUtils.screenDimensions,
                width = _ref2.width,
                height = _ref2.height;

            var newSafeArea = {
              width: width - left - right,
              height: height - top - bottom
            };

            if (!DeviceUtils.safeArea || !_$$_REQUIRE(_dependencyMap[7]).JSUtils.areEqualShallow(newSafeArea, DeviceUtils.safeArea)) {
              DeviceUtils.safeArea = newSafeArea;

              _$$_REQUIRE(_dependencyMap[8]).EventRegister.emit(_events.default.ON_SAFE_AREA_CHANGE);
            }
          }, DeviceUtils.SAFE_AREA_CHANGE_COOL_DOWN_SECS);
        }
      }
    }, {
      key: "setSafeAreaFromScreenDimensions",
      value: function setSafeAreaFromScreenDimensions() {
        var insets = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DeviceUtils.insets;
        var top = insets.top,
            bottom = insets.bottom,
            left = insets.left,
            right = insets.right;
        var _DeviceUtils$screenDi = DeviceUtils.screenDimensions,
            width = _DeviceUtils$screenDi.width,
            height = _DeviceUtils$screenDi.height;
        var newSafeArea = {
          width: width - left - right,
          height: height - top - bottom
        };
        DeviceUtils.safeArea = newSafeArea;
      }
    }, {
      key: "getSafeArea",
      value: function getSafeArea() {
        var _DeviceUtils$screenDi2 = DeviceUtils.screenDimensions,
            width = _DeviceUtils$screenDi2.width,
            height = _DeviceUtils$screenDi2.height;
        return DeviceUtils.safeArea || {
          width: width,
          height: height
        };
      }
    }, {
      key: "getSafeAreaWidth",
      value: function getSafeAreaWidth() {
        var insets = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DeviceUtils.insets;
        var frame = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DeviceUtils.screenDimensions;
        var width = frame.width;
        var left = insets.left,
            right = insets.right;
        return width - left - right;
      }
    }, {
      key: "getSafeAreaInsets",
      value: function getSafeAreaInsets() {
        return DeviceUtils.insets;
      }
    }, {
      key: "isPortrait",
      value: function isPortrait(orientation) {
        if (orientation) {
          return _$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isPortrait(orientation);
        }

        return DeviceUtils.screenDimensions.isPortrait !== undefined ? DeviceUtils.screenDimensions.isPortrait : true;
      }
    }, {
      key: "getCurrentOrientation",
      value: function getCurrentOrientation() {
        return DeviceUtils.currentOrientation;
      }
    }, {
      key: "getCurrentFullOrientation",
      value: function getCurrentFullOrientation() {
        return DeviceUtils.currentFullOrientation || DeviceUtils.currentOrientation;
      }
    }, {
      key: "getTextVersionName",
      value: function getTextVersionName() {
        if (_$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isIOS()) {
          return global.appVersionName;
        }

        if (global.appVersionName !== global.androidVersionName && global.androidVersionName) {
          return global.androidVersionName + " (" + global.appVersionName + ")";
        }

        return global.appVersionName;
      }
    }, {
      key: "setAppearance",
      value: function setAppearance(theme) {
        DeviceUtils.currentTheme = theme;
      }
    }, {
      key: "getAppearance",
      value: function getAppearance() {
        return DeviceUtils.currentTheme;
      }
    }, {
      key: "isDark",
      value: function isDark() {
        return DeviceUtils.currentTheme === "dark";
      }
    }, {
      key: "setCurrentAppState",
      value: function setCurrentAppState(state) {
        DeviceUtils.currentAppState = state;
      }
    }, {
      key: "getCurrentAppState",
      value: function getCurrentAppState() {
        return DeviceUtils.currentAppState;
      }
    }, {
      key: "isAppActive",
      value: function isAppActive() {
        return DeviceUtils.currentAppState === "active";
      }
    }, {
      key: "isAppInBackground",
      value: function isAppInBackground() {
        return DeviceUtils.currentAppState === "background";
      }
    }, {
      key: "getReferenceDpi",
      value: function getReferenceDpi() {
        var _global$getActivePSet = global.getActivePSetup(),
            deviceDpi = _global$getActivePSet.deviceDpi;

        if (_$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isIOS() && deviceDpi) {
          return deviceDpi / _$$_REQUIRE(_dependencyMap[7]).PlatformUtils.info.pixelRatio;
        }

        return _$$_REQUIRE(_dependencyMap[7]).PlatformUtils.defaultDpi;
      }
    }, {
      key: "enableIdleTimer",
      value: function enableIdleTimer() {
        if (DeviceUtils.idleTimerDisabled) {
          _reactNativeIdleTimer.default.setIdleTimerDisabled(false);

          DeviceUtils.idleTimerDisabled = false;
        }
      }
    }, {
      key: "disableIdleTimer",
      value: function disableIdleTimer() {
        if (!DeviceUtils.idleTimerDisabled) {
          _reactNativeIdleTimer.default.setIdleTimerDisabled(true);

          DeviceUtils.idleTimerDisabled = true;
        }
      }
    }, {
      key: "isIdleTimerDisabled",
      value: function isIdleTimerDisabled() {
        return DeviceUtils.idleTimerDisabled;
      }
    }, {
      key: "delayIdleTimer",
      value: function delayIdleTimer(time) {
        DeviceUtils.disableIdleTimer();

        if (DeviceUtils.idleScreenTimerDelay) {
          DeviceUtils.idleScreenTimerDelay.stop();
        }

        DeviceUtils.idleScreenTimerDelay = new (_$$_REQUIRE(_dependencyMap[7]).LongTimer)(time, DeviceUtils.enableIdleTimer).start();
      }
    }]);
    return DeviceUtils;
  }();

  exports.default = DeviceUtils;
  DeviceUtils.SAFE_AREA_CHANGE_COOL_DOWN_SECS = 250;
  DeviceUtils.screenDimensions = {};
  DeviceUtils.insets = {
    top: 0,
    bottom: 0,
    left: 0,
    right: 0
  };
  DeviceUtils.orientationIsLocked = false;
  DeviceUtils.idleTimerDisabled = false;
},458,[5,7,8,28,459,460,461,462,572]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _require = _$$_REQUIRE(_dependencyMap[0]),
      NativeModules = _require.NativeModules;

  module.exports = NativeModules.IdleTimerManager;
},459,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var Events = function Events() {
    (0, _classCallCheck2.default)(this, Events);
  };

  exports.default = Events;
  Events.LIVE_CONFIG_SET_VALUE = "live_config_set_value";
  Events.LIVE_CONFIG_GET_VALUE = "live_config_get_value";
  Events.TOGGLE_LAYOUT = "toggle_layout";
  Events.TOGGLE_DRAWER_ITEM = "toggle_drawer_item";
  Events.SYSTEM_FONT_SIZE_CHANGED = "system_font_size_changed";
  Events.TOGGLE_FULLSCREEN_FONT_SIZE = "toggle_fullscreen_font_size";
  Events.TOGGLE_NEWSMEMORY_GRAPH_SIZE = "toggle_newsmemory_graph_size";
  Events.TOGGLE_THEME = "toggle_theme";
  Events.GALLERY_THUMBNAIL_CLICK = "gallery_thumbnail_click";
  Events.GALLERY_VIEWPAGER_SCROLL = "gallery_viewpager_scroll";
  Events.TOGGLE_FAVORITE = "toggle_favorite";
  Events.CLEAR_FAVORITES = "clear_favorites";
  Events.PAYWALL_GO_BACK_HOME = "paywall_go_back_home";
  Events.PAYWALL_OPEN_WEBSCREEN = "paywall_open_webscreen";
  Events.PAYWALL_USER_STATUS_UPDATE = "paywall_user_status_update";
  Events.PAYWALL_OPEN_NEWSMEMORY_OPTIONSPAGE = "paywall_open_newsmemory_optionspage";
  Events.PAYWALL_OPEN_POPUP = "paywall_open_popup";
  Events.PAYWALL_VALIDATE = "paywall_validate";
  Events.PAYWALL_LOGOUT = "paywall_logout";
  Events.ON_ACCESSIBILITY_MODE_CHANGE = "on_accessibility_mode_change";
  Events.TRIGGER_RSS_DB_UPDATE = "triggerRssDbUpdate";
  Events.ON_RSS_DB_DOWNLOAD = "onRssDbDownload";
  Events.ON_RSS_BASE_SCREEN_BLUR = "onRssBaseScreenBlur";
  Events.TOGGLE_JOB_FAVORITE = "toggle_job_favorite";
  Events.TOGGLE_JOB_SEARCH = "toggle_job_search";
  Events.TOGGLE_REAL_ESTATE_FAVORITE = "toggle_real_estate_favorite";
  Events.TOGGLE_REAL_ESTATE_SEARCH = "toggle_real_estate_search";
  Events.TOGGLE_AUTO_FAVORITE = "toggle_auto_favorite";
  Events.TOGGLE_AUTO_SEARCH = "toggle_auto_search";
  Events.TOGGLE_EVENTS_FAVORITE = "toggle_events_favorite";
  Events.TOGGLE_EVENTS_SEARCH = "toggle_events_search";
  Events.TOGGLE_FOOTER_VISIBILITY = "toggle_footer_visibility";
  Events.RSS_ACTIVE_SCREEN = "rss_active_screen";
  Events.LIST_VERTICAL_SCROLLING = "list_vertical_scrolling";
  Events.FOOTER_ITEM_CLICK = "footer_item_click";
  Events.TTS_ENGINE_STARTED = "tts_start";
  Events.TTS_ENGINE_PROGRESS = "tts_progress";
  Events.TTS_ENGINE_STOPPED = "tts_stop";
  Events.TOGGLE_ARTICLE_GRAPHIC = "toggle_article_graphic";
  Events.TOGGLE_ARTICLE_TEXT = "toggle_article_text";
  Events.ENABLE_ARTICLE_EXTRA = "enable_article_extra";
  Events.DISABLE_ARTICLE_EXTRA = "disable_article_extra";
  Events.TOGGLE_ARTICLE_EXTRA_CHANGE_BUTTON_VISIBILITY = "toggle_article_extra_change_button_visibility";
  Events.ARTICLE_GRAPHIC_ZOOM_CHANGE = "article_graphic_zoom_change";
  Events.ARTICLE_GRAPH_ZOOM_UNFIT = "article_graphic_zoom_unfit";
  Events.ARTICLE_TEXT_ZOOM_CHANGE = "article_text_zoom_change";
  Events.ARTICLE_SCROLL_LAYOUT = "article_scroll_layout";
  Events.ARTICLE_SCROLL = "article_scroll";
  Events.LOAD_NATIVE_ADS = "load_native_ads";
  Events.ON_COLOR_CHANGE = "on_color_change";
  Events.ON_ORIENTATION_CHANGE = "on_orientation_change";
  Events.ON_SAFE_AREA_CHANGE = "on_safe_area_change";
  Events.ON_SAFE_AREA_COLOR_CHANGE = "on_safe_area_color_change";
  Events.ON_CONNECTIVITY_CHANGE = "on_connectivity_change";
  Events.NEWSMEMORY_FOOTER_BUTTON_HIDE = "on_newsmemory_footer_button_hide";
  Events.NEWSMEMORY_FOOTER_BUTTON_HIDE_STARTUP = "on_newsmemory_footer_button_hide_startup";
  Events.NEWSMEMORY_FOOTER_BUTTON_SHOW = "on_newsmemory_footer_button_show";
  Events.NEWSMEMORY_FOOTER_TOGGLE_VISIBILITY = "newsmemory_footer_toggle_visibility";
  Events.ON_NEWSMEMORY_FOOTER_BUTTON_ACTIVE = "on_newsmemory_footer_button_active";
  Events.ON_NEWSMEMORY_FOOTER_BUTTON_INACTIVE = "on_newsmemory_footer_button_inactive";
  Events.TOGGLE_FONT_CHANGE_BUTTON_VISIBILITY = "toggle_font_change_button_visibility";
  Events.TOGGLE_GRAPH_CHANGE_BUTTON_VISIBILITY = "toggle_graph_change_button_visibility";
  Events.TOGGLE_GRAPH_UNFIT_CHANGE_BUTTON_VISIBILITY = "toggle_graph_unfit_change_button_visibility";
  Events.TRANSLATE_CHANGE_BUTTON_VISIBILITY = "translate_change_button_visibility";
  Events.TRANSLATE_CHANGE_BUTTON_BADGE = "translate_change_button_badge";
  Events.TTS_CHANGE_BUTTON_VISIBILITY = "tts_change_button_visibility";
  Events.SHARE_CHANGE_BUTTON_VISIBILITY = "share_change_button_visibility";
  Events.TOGGLE_GRAPHIC_CHANGE_BUTTON_VISIBILITY = "toggle_graphic_change_button_visibility";
  Events.NEWSMEMORY_TOGGLE_FIT = "newsmemory_toggle_fit";
  Events.NEWSMEMORY_REQUEST_DOWNLOAD_IMAGE = "newsmemory_request_download_image";
  Events.NEWSMEMORY_REQUEST_DOWNLOADED_IMAGE = "newsmemory_request_downloaded_image";
  Events.NEWSMEMORY_SAVE_HR = "newsmemory_save_hr";
  Events.NEWSMEMORY_REQUEST_DOWNLOAD_HR = "newsmemory_request_download_hr";
  Events.NEWSMEMORY_HR_DOWNLOAD_ERROR = "newsmemory_hr_download_error";
  Events.NEWSMEMORY_HR_DOWNLOAD_SUCCESS = "newsmemory_hr_download_success";
  Events.NEWSMEMORY_MISSING_HR_WARNING_SHOW = "newsmemory_missing_hr_show";
  Events.NEWSMEMORY_MISSING_HR_WARNING_HIDE = "newsmemory_missing_hr_hide";
  Events.NEWSMEMORY_DOWNLOAD_EDITION = "newsmemory_download_edition";
  Events.NEWSMEMORY_RELOAD_EDITION = "newsmemory_reload_edition";
  Events.NEWSMEMORY_DOWNLOAD_LATEST_EDITION = "newsmemory_download_latest_edition";
  Events.NEWSMEMORY_DB_DOWNLOAD_STARTED = "db_download_started";
  Events.NEWSMEMORY_DB_DOWNLOAD_PROGRESS = "db_download_progress";
  Events.NEWSMEMORY_DB_DOWNLOAD_FINISHED = "db_download_finished";
  Events.NEWSMEMORY_DB_DOWNLOAD_RETRY = "db_download_retry";
  Events.NEWSMEMORY_ON_EXTRA_GO_TO_PAGE_PRESS = "newsmemory_on_extra_go_to_page_press";
  Events.NEWSMEMORY_SHOW_EXTRA = "newsmemory_show_extra";
  Events.NEWSMEMORY_HIDE_EXTRA = "newsmemory_hide_extra";
  Events.NEWSMEMORY_NEWSPAPER_LOADING = "newsmemory_newspaper_loading";
  Events.NEWSMEMORY_NEWSPAPER_LOADED = "newsmemory_newspaper_loaded";
  Events.NEWSMEMORY_NEWSPAPER_CHANGED = "newsmemory_newspaper_changed";
  Events.NEWSMEMORY_LOGIN_CHECK_STARTED = "newsmemory_login_check_started";
  Events.NEWSMEMORY_LOGIN_CHECK_ENDED = "newsmemory_login_check_ended";
  Events.NEWSMEMORY_DOWNLOAD_PROGRESS = "download_progress";
  Events.NEWSMEMORY_INITIAL_DOWNLOAD_STARTED = "initial_download_started";
  Events.NEWSMEMORY_INITIAL_DOWNLOAD_FINISHED = "initial_download_finished";
  Events.NEWSMEMORY_DOWNLOAD_FULL_EDITION = "newsmemory_download_full_edition";
  Events.NEWSMEMORY_FULL_DOWNLOAD_STARTED = "full_download_started";
  Events.NEWSMEMORY_FULL_DOWNLOAD_PROGRESS = "full_download_progress";
  Events.NEWSMEMORY_FULL_DOWNLOAD_FINISHED = "full_download_finished";
  Events.NEWSMEMORY_UPDATE_REQUESTED = "update_requested";
  Events.NEWSMEMORY_UPDATE_STARTED = "update_started";
  Events.NEWSMEMORY_UPDATE_FINISHED = "update_finished";
  Events.NEWSMEMORY_CLEAR_HIGH_RES_QUEUE = "clear_high_res_queue";
  Events.NEWSMEMORY_RESTART_HIGH_RES_QUEUE = "restart_high_res_queue";
  Events.NEWSMEMORY_RESUME_HIGH_RES_QUEUE = "resume_high_res_queue";
  Events.NEWSMEMORY_PAUSE_HIGH_RES_QUEUE = "pause_high_res_queue";
  Events.NEWSMEMORY_VIEWPAGER_PAN_UP = "newsmemory_viewpager_pan_up";
  Events.NEWSMEMORY_VIEWPAGER_GESTURE_START = "newsmemory_viewpager_gesture_start";
  Events.NEWSMEMORY_VIEWPAGER_GESTURE_END = "newsmemory_viewpager_gesture_end";
  Events.OPEN_OPTIONSPAGE = "open_optionspage";
  Events.OPEN_OPTIONSPAGE_ACCESSIBILITY = "open_optionspage_accessibility";
  Events.OPEN_SETTINGS = "open_settings";
  Events.CLOSE_OPTIONSPAGE = "close_optionspage";
  Events.CLOSE_OPTIONSPAGE_ACCESSIBILITY = "close_optionspage_accessibility";
  Events.NEWSMEMORY_INDEX_CHANGE = "newsmemory_index_change";
  Events.NEWSMEMORY_ARTICLE_CHANGE = "newsmemory_article_change";
  Events.NEWSMEMORY_ARTICLE_JUMP = "newsmemory_article_jump";
  Events.NEWSMEMORY_ARTICLE_HIGHLIGHT = "newsmemory_article_highlight";
  Events.NEWSMEMORY_ARTICLE_CLOSE = "newsmemory_article_close";
  Events.NEWSMEMORY_SHOW_NAVIGATION_BUTTONS = "newsmemory_show_navigation_buttons";
  Events.NEWSMEMORY_RESET_NAVIGATION_BUTTONS_POSITION = "newsmemory_reset_navigation_buttons_position";
  Events.NEWSMEMORY_REMOVE_HIGHLIGHT = "newsmemory_remove_highlight";
  Events.NEWSMEMORY_GENERATE_PNG = "newsmemory_generate_png";
  Events.NEWSMEMORY_PNG_GENERATED = "newsmemory_png_generated";
  Events.NEWSMEMORY_CONFIG_CHANGE = "newsmemory_config_change";
  Events.NEWSMEMORY_ON_CLEAR_STORAGE = "newsmemory_clear_storage";
  Events.NEWSMEMORY_OPEN_OFFLINE_EDITION_MENU = "newsmemory_open_offline_editions_menu";
  Events.NEWSMEMORY_OPEN_SPECIAL_SECTION = "newsmemory_open_special_section";
  Events.NEWSMEMORY_ON_LOAD_MAIN_EDITION_FROM_SPECIAL = "newsmemory_on_load_main_edition_from_special";
  Events.NEWSMEMORY_ON_LOAD_SPECIAL = "newsmemory_on_load_special";
  Events.NEWSMEMORY_ON_ARTICLE_GRAPH_LOADED = "newsmemory_on_article_graph_loaded";
  Events.NEWSMEMORY_ON_ZOOM = "newsmemory_on_zoom";
  Events.NEWSMEMORY_ON_CLICK = "newsmemory_on_click";
  Events.NEWSMEMORY_ON_LONG_PRESS = "newsmemory_on_long_press";
  Events.NEWSMEMORY_DID_FOCUS = "newsmemory_did_focus";
  Events.NEWSMEMORY_CLOSE_CURRENT_DB = "newsmemory_close_current_db";
  Events.ON_STATE_CHANGE_GOING_FOREGROUND = "on_state_change_going_foreground";
  Events.ON_STATE_CHANGE_GOING_BACKGROUND = "on_state_change_going_background";
  Events.ON_STATE_CHANGE_GOING_INACTIVE = "on_state_change_going_inactive";
  Events.ON_THUMBNAIL_CLOSE = "on_thumbnail_close";
  Events.ON_CONNECTION_TYPE_CHANGE = "on_connection_type_change";
  Events.SWIPER_SCROLL_BEGIN = "swiper_scroll_begin";
  Events.SWIPER_SCROLL_END = "swiper_scroll_end";
  Events.CHANGE_ADS_VISIBILITY = "change_ads_visibility";
  Events.PAPER_SETUP_API_RETRY = "paper_setup_api_retry";
  Events.CONFIG_UPDATE_CHECK = "config_update_check";
  Events.CONFIG_FORCE_UPDATE = "config_force_update";
  Events.TRIGGER_NEWSMEMORY_RESTART = "trigger_newsmemory_restart";
  Events.ON_VOICE_RECOGNITION_START = "on_voice_recognition_start";
  Events.ON_VOICE_RECOGNITION = "on_voice_recognition";
  Events.ON_SIMULATE_ACCESSIBILITY_CHANGE = "on_simulate_accessibility_change";
  Events.ON_POSTPONE_ACTION = "on_postpone_action";
},460,[5,7]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.bundleVersion = undefined;
  var bundleVersion = "001";
  exports.bundleVersion = bundleVersion;
},461,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "ColorUtils", {
    enumerable: true,
    get: function get() {
      return _colorUtils.default;
    }
  });
  Object.defineProperty(exports, "colors", {
    enumerable: true,
    get: function get() {
      return _colorUtils.colors;
    }
  });
  Object.defineProperty(exports, "CssUtils", {
    enumerable: true,
    get: function get() {
      return _cssUtils.default;
    }
  });
  Object.defineProperty(exports, "DateUtils", {
    enumerable: true,
    get: function get() {
      return _dateUtils.default;
    }
  });
  Object.defineProperty(exports, "FileUtils", {
    enumerable: true,
    get: function get() {
      return _fileUtils.default;
    }
  });
  Object.defineProperty(exports, "FontUtils", {
    enumerable: true,
    get: function get() {
      return _fontUtils.default;
    }
  });
  Object.defineProperty(exports, "JSUtils", {
    enumerable: true,
    get: function get() {
      return _jsUtils.default;
    }
  });
  Object.defineProperty(exports, "PromiseTimeout", {
    enumerable: true,
    get: function get() {
      return _jsUtils.PromiseTimeout;
    }
  });
  Object.defineProperty(exports, "LocationMgr", {
    enumerable: true,
    get: function get() {
      return _locationUtils.default;
    }
  });
  Object.defineProperty(exports, "LongTimer", {
    enumerable: true,
    get: function get() {
      return _longTimer.default;
    }
  });
  Object.defineProperty(exports, "NetworkUtils", {
    enumerable: true,
    get: function get() {
      return _networkUtils.default;
    }
  });
  Object.defineProperty(exports, "PlatformUtils", {
    enumerable: true,
    get: function get() {
      return _platformUtils.default;
    }
  });
  Object.defineProperty(exports, "StorageUtils", {
    enumerable: true,
    get: function get() {
      return _storageUtils.default;
    }
  });
  Object.defineProperty(exports, "StringUtils", {
    enumerable: true,
    get: function get() {
      return _stringUtils.default;
    }
  });
  Object.defineProperty(exports, "Logger", {
    enumerable: true,
    get: function get() {
      return _log.default;
    }
  });

  var _colorUtils = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _cssUtils = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _dateUtils = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[3]));

  var _fileUtils = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[4]));

  var _fontUtils = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[5]));

  var _jsUtils = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _locationUtils = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[7]));

  var _longTimer = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[8]));

  var _networkUtils = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[9]));

  var _platformUtils = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[10]));

  var _storageUtils = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[11]));

  var _stringUtils = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[12]));

  var _log = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[13]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }
},462,[463,5,465,466,483,542,520,545,550,551,531,560,514,543]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.colors = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var colors = {
    articleHighlight: "rgba(255,0,0,0.25)",
    keyboardHighlight: "rgba(170,170,170,0.5)",
    textShadow: "rgba(0, 0, 0, 0.75)",
    articleHeader: "rgba(255, 255, 255, 0.4)",
    modalBackgroundLight: "rgba(0, 0, 0, 0.4)",
    modalBackground: "rgba(0, 0, 0, 0.7)",
    barColor: "rgba(0, 122, 255, 1)",
    articleContainerBorderColor: "#3c3c4349",
    hintBackgroundColor: "#FFECB3",
    transparent: "transparent",
    transparent1200: "#00000033",
    transparent600: "#0000009f",
    transparent200: "#000000cc",
    black: "#000000",
    white: "#FFFFFF",
    white_transparent_135: "#FFFFFF87",
    grey: "#dcdcdc",
    red: "#ff0000",
    grey50: "#FAFAFA",
    grey100: "#F5F5F5",
    grey200: "#eeeeee",
    grey210: "#e7e7e7",
    grey300: "#bcbcbc",
    grey400: "#737373",
    grey900: "#212121",
    grey1000: "#262626",
    grey1010: "#272727",
    grey1200: "#121212",
    title: "rgb(51, 51, 51)",
    summary: "rgb(77, 77, 77)",
    details: "rgb(89, 89, 89)",
    ios_system_blue: "#007AFF",
    ios_system_blue_dark: "#0A84FF",
    ios_secondary_system_background: "#F2F2F7",
    ios_secondary_system_background_dark: "#2C2C2E",
    md_red_50: "#FFEBEE",
    md_red_100: "#FFCDD2",
    md_red_200: "#EF9A9A",
    md_red_300: "#E57373",
    md_red_400: "#EF5350",
    md_red_500: "#F44336",
    md_red_600: "#E53935",
    md_red_700: "#D32F2F",
    md_red_800: "#C62828",
    md_red_900: "#B71C1C",
    md_red_A100: "#FF8A80",
    md_red_A200: "#FF5252",
    md_red_A400: "#FF1744",
    md_red_A700: "#D50000",
    md_pink_50: "#FCE4EC",
    md_pink_100: "#F8BBD0",
    md_pink_200: "#F48FB1",
    md_pink_300: "#F06292",
    md_pink_400: "#EC407A",
    md_pink_500: "#E91E63",
    md_pink_600: "#D81B60",
    md_pink_700: "#C2185B",
    md_pink_800: "#AD1457",
    md_pink_900: "#880E4F",
    md_pink_A100: "#FF80AB",
    md_pink_A200: "#FF4081",
    md_pink_A400: "#F50057",
    md_pink_A700: "#C51162",
    md_purple_50: "#F3E5F5",
    md_purple_100: "#E1BEE7",
    md_purple_200: "#CE93D8",
    md_purple_300: "#BA68C8",
    md_purple_400: "#AB47BC",
    md_purple_500: "#9C27B0",
    md_purple_600: "#8E24AA",
    md_purple_700: "#7B1FA2",
    md_purple_800: "#6A1B9A",
    md_purple_900: "#4A148C",
    md_purple_A100: "#EA80FC",
    md_purple_A200: "#E040FB",
    md_purple_A400: "#D500F9",
    md_purple_A700: "#AA00FF",
    md_deep_purple_50: "#EDE7F6",
    md_deep_purple_100: "#D1C4E9",
    md_deep_purple_200: "#B39DDB",
    md_deep_purple_300: "#9575CD",
    md_deep_purple_400: "#7E57C2",
    md_deep_purple_500: "#673AB7",
    md_deep_purple_600: "#5E35B1",
    md_deep_purple_700: "#512DA8",
    md_deep_purple_800: "#4527A0",
    md_deep_purple_900: "#311B92",
    md_deep_purple_A100: "#B388FF",
    md_deep_purple_A200: "#7C4DFF",
    md_deep_purple_A400: "#651FFF",
    md_deep_purple_A700: "#6200EA",
    md_indigo_50: "#E8EAF6",
    md_indigo_100: "#C5CAE9",
    md_indigo_200: "#9FA8DA",
    md_indigo_300: "#7986CB",
    md_indigo_400: "#5C6BC0",
    md_indigo_500: "#3F51B5",
    md_indigo_600: "#3949AB",
    md_indigo_700: "#303F9F",
    md_indigo_800: "#283593",
    md_indigo_900: "#1A237E",
    md_indigo_A100: "#8C9EFF",
    md_indigo_A200: "#536DFE",
    md_indigo_A400: "#3D5AFE",
    md_indigo_A700: "#304FFE",
    md_blue_50: "#E3F2FD",
    md_blue_100: "#BBDEFB",
    md_blue_200: "#90CAF9",
    md_blue_300: "#64B5F6",
    md_blue_400: "#42A5F5",
    md_blue_500: "#2196F3",
    md_blue_600: "#1E88E5",
    md_blue_700: "#1976D2",
    md_blue_800: "#1565C0",
    md_blue_900: "#0D47A1",
    md_blue_A100: "#82B1FF",
    md_blue_A200: "#448AFF",
    md_blue_A400: "#2979FF",
    md_blue_A700: "#2962FF",
    md_light_blue_50: "#E1F5FE",
    md_light_blue_100: "#B3E5FC",
    md_light_blue_200: "#81D4fA",
    md_light_blue_300: "#4fC3F7",
    md_light_blue_400: "#29B6FC",
    md_light_blue_500: "#03A9F4",
    md_light_blue_600: "#039BE5",
    md_light_blue_700: "#0288D1",
    md_light_blue_800: "#0277BD",
    md_light_blue_900: "#01579B",
    md_light_blue_A100: "#80D8FF",
    md_light_blue_A200: "#40C4FF",
    md_light_blue_A400: "#00B0FF",
    md_light_blue_A700: "#0091EA",
    md_cyan_50: "#E0F7FA",
    md_cyan_100: "#B2EBF2",
    md_cyan_200: "#80DEEA",
    md_cyan_300: "#4DD0E1",
    md_cyan_400: "#26C6DA",
    md_cyan_500: "#00BCD4",
    md_cyan_600: "#00ACC1",
    md_cyan_700: "#0097A7",
    md_cyan_800: "#00838F",
    md_cyan_900: "#006064",
    md_cyan_A100: "#84FFFF",
    md_cyan_A200: "#18FFFF",
    md_cyan_A400: "#00E5FF",
    md_cyan_A700: "#00B8D4",
    md_teal_50: "#E0F2F1",
    md_teal_100: "#B2DFDB",
    md_teal_200: "#80CBC4",
    md_teal_300: "#4DB6AC",
    md_teal_400: "#26A69A",
    md_teal_500: "#009688",
    md_teal_600: "#00897B",
    md_teal_700: "#00796B",
    md_teal_800: "#00695C",
    md_teal_900: "#004D40",
    md_teal_A100: "#A7FFEB",
    md_teal_A200: "#64FFDA",
    md_teal_A400: "#1DE9B6",
    md_teal_A700: "#00BFA5",
    md_green_50: "#E8F5E9",
    md_green_100: "#C8E6C9",
    md_green_200: "#A5D6A7",
    md_green_300: "#81C784",
    md_green_400: "#66BB6A",
    md_green_500: "#4CAF50",
    md_green_600: "#43A047",
    md_green_700: "#388E3C",
    md_green_800: "#2E7D32",
    md_green_900: "#1B5E20",
    md_green_A100: "#B9F6CA",
    md_green_A200: "#69F0AE",
    md_green_A400: "#00E676",
    md_green_A700: "#00C853",
    md_light_green_50: "#F1F8E9",
    md_light_green_100: "#DCEDC8",
    md_light_green_200: "#C5E1A5",
    md_light_green_300: "#AED581",
    md_light_green_400: "#9CCC65",
    md_light_green_500: "#8BC34A",
    md_light_green_600: "#7CB342",
    md_light_green_700: "#689F38",
    md_light_green_800: "#558B2F",
    md_light_green_900: "#33691E",
    md_light_green_A100: "#CCFF90",
    md_light_green_A200: "#B2FF59",
    md_light_green_A400: "#76FF03",
    md_light_green_A700: "#64DD17",
    md_lime_50: "#F9FBE7",
    md_lime_100: "#F0F4C3",
    md_lime_200: "#E6EE9C",
    md_lime_300: "#DCE775",
    md_lime_400: "#D4E157",
    md_lime_500: "#CDDC39",
    md_lime_600: "#C0CA33",
    md_lime_700: "#A4B42B",
    md_lime_800: "#9E9D24",
    md_lime_900: "#827717",
    md_lime_A100: "#F4FF81",
    md_lime_A200: "#EEFF41",
    md_lime_A400: "#C6FF00",
    md_lime_A700: "#AEEA00",
    md_yellow_50: "#FFFDE7",
    md_yellow_100: "#FFF9C4",
    md_yellow_200: "#FFF590",
    md_yellow_300: "#FFF176",
    md_yellow_400: "#FFEE58",
    md_yellow_500: "#FFEB3B",
    md_yellow_600: "#FDD835",
    md_yellow_700: "#FBC02D",
    md_yellow_800: "#F9A825",
    md_yellow_900: "#F57F17",
    md_yellow_A100: "#FFFF82",
    md_yellow_A200: "#FFFF00",
    md_yellow_A400: "#FFEA00",
    md_yellow_A700: "#FFD600",
    md_amber_50: "#FFF8E1",
    md_amber_100: "#FFECB3",
    md_amber_200: "#FFE082",
    md_amber_300: "#FFD54F",
    md_amber_400: "#FFCA28",
    md_amber_500: "#FFC107",
    md_amber_600: "#FFB300",
    md_amber_700: "#FFA000",
    md_amber_800: "#FF8F00",
    md_amber_900: "#FF6F00",
    md_amber_A100: "#FFE57F",
    md_amber_A200: "#FFD740",
    md_amber_A400: "#FFC400",
    md_amber_A700: "#FFAB00",
    md_orange_50: "#FFF3E0",
    md_orange_100: "#FFE0B2",
    md_orange_200: "#FFCC80",
    md_orange_300: "#FFB74D",
    md_orange_400: "#FFA726",
    md_orange_500: "#FF9800",
    md_orange_600: "#FB8C00",
    md_orange_700: "#F57C00",
    md_orange_800: "#EF6C00",
    md_orange_900: "#E65100",
    md_orange_A100: "#FFD180",
    md_orange_A200: "#FFAB40",
    md_orange_A400: "#FF9100",
    md_orange_A700: "#FF6D00",
    md_deep_orange_50: "#FBE9A7",
    md_deep_orange_100: "#FFCCBC",
    md_deep_orange_200: "#FFAB91",
    md_deep_orange_300: "#FF8A65",
    md_deep_orange_400: "#FF7043",
    md_deep_orange_500: "#FF5722",
    md_deep_orange_600: "#F4511E",
    md_deep_orange_700: "#E64A19",
    md_deep_orange_800: "#D84315",
    md_deep_orange_900: "#BF360C",
    md_deep_orange_A100: "#FF9E80",
    md_deep_orange_A200: "#FF6E40",
    md_deep_orange_A400: "#FF3D00",
    md_deep_orange_A700: "#DD2600",
    md_brown_50: "#EFEBE9",
    md_brown_100: "#D7CCC8",
    md_brown_200: "#BCAAA4",
    md_brown_300: "#A1887F",
    md_brown_400: "#8D6E63",
    md_brown_500: "#795548",
    md_brown_600: "#6D4C41",
    md_brown_700: "#5D4037",
    md_brown_800: "#4E342E",
    md_brown_900: "#3E2723",
    md_grey_50: "#FAFAFA",
    md_grey_100: "#F5F5F5",
    md_grey_200: "#EEEEEE",
    md_grey_300: "#E0E0E0",
    md_grey_400: "#BDBDBD",
    md_grey_500: "#9E9E9E",
    md_grey_600: "#757575",
    md_grey_700: "#616161",
    md_grey_800: "#424242",
    md_grey_900: "#212121",
    md_black_1000: "#000000",
    md_white_1000: "#ffffff",
    md_blue_grey_50: "#ECEFF1",
    md_blue_grey_100: "#CFD8DC",
    md_blue_grey_200: "#B0BBC5",
    md_blue_grey_300: "#90A4AE",
    md_blue_grey_400: "#78909C",
    md_blue_grey_500: "#607D8B",
    md_blue_grey_600: "#546E7A",
    md_blue_grey_700: "#455A64",
    md_blue_grey_800: "#37474F",
    md_blue_grey_900: "#263238"
  };
  exports.colors = colors;

  var ColorUtils = function () {
    function ColorUtils() {
      (0, _classCallCheck2.default)(this, ColorUtils);
    }

    (0, _createClass2.default)(ColorUtils, null, [{
      key: "convertHexFromShorthand",
      value: function convertHexFromShorthand(hex) {
        var result;

        if (hex.length <= 4) {
          var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
          result = hex.replace(shorthandRegex, function (_, r, g, b) {
            return r + r + g + g + b + b;
          });
        } else {
          result = hex;
        }

        return result;
      }
    }, {
      key: "componentToHex",
      value: function componentToHex(component) {
        var hex = parseInt(component, 10).toString(16);
        return hex.length === 1 ? "0".concat(hex) : hex;
      }
    }, {
      key: "rgbTOrrggbb",
      value: function rgbTOrrggbb(rgb) {
        if (rgb) {
          if (rgb.match(/^#[a-f\d]{6}$/i) !== null) {
            return rgb;
          }

          if (rgb.match(/^#[a-f\d]{3}$/i) !== null) {
            return "#" + rgb[1] + rgb[1] + rgb[2] + rgb[2] + rgb[3] + rgb[3];
          }
        }

        return undefined;
      }
    }, {
      key: "hexToChannels",
      value: function hexToChannels(hex) {
        return /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(hex);
      }
    }, {
      key: "RGBAToChannels",
      value: function RGBAToChannels(rgba) {
        return /^rgba\(([\d]{1,3}),([\d]{1,3}),([\d]{1,3}),([\d\.]+)\)$/.exec(rgba);
      }
    }, {
      key: "getRedChannelFromHex",
      value: function getRedChannelFromHex(hex) {
        var result = ColorUtils.hexToChannels(hex);
        return result ? parseInt(result[1], 16) : 0;
      }
    }, {
      key: "getGreenChannelFromHex",
      value: function getGreenChannelFromHex(hex) {
        var result = ColorUtils.hexToChannels(hex);
        return result ? parseInt(result[2], 16) : 0;
      }
    }, {
      key: "getBlueChannelFromHex",
      value: function getBlueChannelFromHex(hex) {
        var result = ColorUtils.hexToChannels(hex);
        return result ? parseInt(result[3], 16) : 0;
      }
    }, {
      key: "getAlphaChannelFromHex",
      value: function getAlphaChannelFromHex(hex) {
        var result = ColorUtils.hexToChannels(hex);
        return result && result.length === 5 ? parseInt(result[4], 16) : null;
      }
    }, {
      key: "applyDarknessToChannel",
      value: function applyDarknessToChannel(color, darkPercentageDecrease) {
        return Math.min(255, Math.round(Math.max(0, color + color * (darkPercentageDecrease / 100))));
      }
    }, {
      key: "applyDarknessToHex",
      value: function applyDarknessToHex(hex) {
        var darkPercentageDecrease = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
        var alpha = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 255;
        var red = ColorUtils.applyDarknessToChannel(ColorUtils.getRedChannelFromHex(hex), darkPercentageDecrease);
        var green = ColorUtils.applyDarknessToChannel(ColorUtils.getGreenChannelFromHex(hex), darkPercentageDecrease);
        var blue = ColorUtils.applyDarknessToChannel(ColorUtils.getBlueChannelFromHex(hex), darkPercentageDecrease);
        return "#".concat(ColorUtils.componentToHex(red)).concat(ColorUtils.componentToHex(green)).concat(ColorUtils.componentToHex(blue)).concat(ColorUtils.componentToHex(alpha));
      }
    }, {
      key: "applyDarknessToColor",
      value: function applyDarknessToColor(color) {
        var darkPercentageDecrease = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
        var alpha = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 255;
        var hex = color;

        if (color.startsWith("rgba")) {
          hex = ColorUtils.RGBAToHex(color);
        }

        return ColorUtils.applyDarknessToHex(hex, darkPercentageDecrease, alpha);
      }
    }, {
      key: "hexToRGBA",
      value: function hexToRGBA(hex) {
        var red = parseInt(hex.slice(1, 3), 16);
        var green = parseInt(hex.slice(3, 5), 16);
        var blue = parseInt(hex.slice(5, 7), 16);
        var alpha = parseInt(hex.slice(7, 9), 16);
        return "rgba(\"" + red + "\",\"" + green + "\",\"" + blue + "\",\"" + alpha + "\")";
      }
    }, {
      key: "hexToRGBAComponents",
      value: function hexToRGBAComponents(hex) {
        var red = parseInt(hex.slice(1, 3), 16);
        var green = parseInt(hex.slice(3, 5), 16);
        var blue = parseInt(hex.slice(5, 7), 16);
        var alpha = parseInt(hex.slice(7, 9), 16);
        return {
          red: red,
          green: green,
          blue: blue,
          alpha: alpha
        };
      }
    }, {
      key: "RGBAChannelsToHex",
      value: function RGBAChannelsToHex(red, green, blue, alpha) {
        return "#".concat(ColorUtils.componentToHex(red)).concat(ColorUtils.componentToHex(green)).concat(ColorUtils.componentToHex(blue)).concat(ColorUtils.componentToHex(alpha * 255));
      }
    }, {
      key: "RGBAToHex",
      value: function RGBAToHex(rgba) {
        var _ColorUtils$RGBAToCha = ColorUtils.RGBAToChannels(rgba),
            _ColorUtils$RGBAToCha2 = (0, _toArray2.default)(_ColorUtils$RGBAToCha),
            match = _ColorUtils$RGBAToCha2[0],
            channels = _ColorUtils$RGBAToCha2.slice(1);

        return ColorUtils.RGBAChannelsToHex.apply(ColorUtils, (0, _toConsumableArray2.default)(channels));
      }
    }, {
      key: "RGBToHex",
      value: function RGBToHex(red, green, blue) {
        return "#".concat(ColorUtils.componentToHex(red)).concat(ColorUtils.componentToHex(green)).concat(ColorUtils.componentToHex(blue));
      }
    }, {
      key: "getDarknessScore",
      value: function getDarknessScore(color) {
        var redChannel = ColorUtils.getRedChannelFromHex(color);
        var greenChannel = ColorUtils.getGreenChannelFromHex(color);
        var blueChannel = ColorUtils.getBlueChannelFromHex(color);
        return 1 - (0.299 * redChannel + 0.587 * greenChannel + 0.114 * blueChannel) / 255;
      }
    }, {
      key: "isClearColor",
      value: function isClearColor(color) {
        return ColorUtils.getDarknessScore(color) < 0.4;
      }
    }, {
      key: "determineTextColor",
      value: function determineTextColor(color) {
        return ColorUtils.isClearColor(color) ? colors.grey1000 : colors.white;
      }
    }]);
    return ColorUtils;
  }();

  exports.default = ColorUtils;
},463,[5,21,464,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _toArray(arr) {
    return _$$_REQUIRE(_dependencyMap[0])(arr) || _$$_REQUIRE(_dependencyMap[1])(arr) || _$$_REQUIRE(_dependencyMap[2])(arr) || _$$_REQUIRE(_dependencyMap[3])();
  }

  module.exports = _toArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
},464,[42,24,25,44]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var CssUtils = function () {
    function CssUtils() {
      (0, _classCallCheck2.default)(this, CssUtils);
    }

    (0, _createClass2.default)(CssUtils, null, [{
      key: "grayscaleValue",
      value: function grayscaleValue(style) {
        var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;
        var value = CssUtils.parseFilterValue(CssUtils.getFilterAttributeStyle(style), "grayscale");

        if (value !== undefined) {
          return value;
        }

        return defaultValue;
      }
    }, {
      key: "getAttributeFromStyle",
      value: function getAttributeFromStyle(key) {
        var _attributeValue;

        var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
        var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
        var remove = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
        var attributeValue;

        if (key) {
          if (Array.isArray(style)) {
            for (var i = 0; i < style.length; i++) {
              var _CssUtils$getAttribut;

              attributeValue = (_CssUtils$getAttribut = CssUtils.getAttributeFromStyle(key, style[i], undefined, remove)) != null ? _CssUtils$getAttribut : attributeValue;
            }
          } else if (typeof style === "object") {
            if (style[key] !== undefined) {
              attributeValue = style[key];

              if (remove) {
                delete style[key];
              }
            }
          }
        }

        return (_attributeValue = attributeValue) != null ? _attributeValue : defaultValue;
      }
    }, {
      key: "getFilterAttributeStyle",
      value: function getFilterAttributeStyle() {
        var style = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
        return CssUtils.getAttributeFromStyle("filter", style, defaultValue);
      }
    }, {
      key: "getTintColorAttributeStyle",
      value: function getTintColorAttributeStyle() {
        var style = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
        return CssUtils.getAttributeFromStyle("tintColor", style, defaultValue);
      }
    }, {
      key: "deleteKeysFromStyle",
      value: function deleteKeysFromStyle(style) {
        var keys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];

        if (style === null || style === undefined) {
          return style;
        }

        if (Array.isArray(style)) {
          return style.map(function (item) {
            return CssUtils.deleteKeysFromStyle(item, keys);
          });
        }

        if (typeof style === "object") {
          var newStyle = {};
          Object.keys(style).forEach(function (attribute) {
            if (!keys.includes(attribute)) {
              newStyle[attribute] = style[attribute];
            }
          });
          return newStyle;
        }

        return style;
      }
    }, {
      key: "parseFilterValue",
      value: function parseFilterValue(filter, filterType) {
        var regex = new RegExp(filterType + "\\(([0-9]{1,3})%\\)");

        if (filter) {
          var result = regex.exec(filter);

          if (result && result[1]) {
            return parseInt(result[1], 10);
          }
        }

        return undefined;
      }
    }, {
      key: "getConstraintInsideStyle",
      value: function getConstraintInsideStyle(style, constraint, dpiDivider) {
        var constraints = {
          start: 0,
          end: 0,
          top: 0,
          bottom: 0
        };
        Object.keys(style).forEach(function (key) {
          if (key.startsWith(constraint)) {
            if (key.includes("Left") || key.includes("Start")) {
              constraints.start = style[key];
            } else if (key.includes("Right") || key.includes("End")) {
              constraints.end = style[key];
            } else if (key.includes("Top")) {
              constraints.top = style[key];
            } else if (key.includes("Bottom")) {
              constraints.bottom = style[key];
            } else if (key.includes("Horizontal")) {
              constraints.start = style[key] / 2;
              constraints.end = style[key] / 2;
            } else if (key.includes("Vertical")) {
              constraints.top = style[key] / 2;
              constraints.bottom = style[key] / 2;
            } else if (key === constraint || key === constraint + "Width") {
              constraints.start = style[key];
              constraints.end = style[key];
              constraints.top = style[key];
              constraints.bottom = style[key];
            }
          }
        });
        return {
          start: constraints.start / dpiDivider,
          end: constraints.end / dpiDivider,
          top: constraints.top / dpiDivider,
          bottom: constraints.bottom / dpiDivider
        };
      }
    }, {
      key: "updateSizeByApplingStyle",
      value: function updateSizeByApplingStyle(size, style) {
        var margin = CssUtils.getConstraintInsideStyle(style, "margin", 1);
        var padding = CssUtils.getConstraintInsideStyle(style, "padding", 1);
        var border = CssUtils.getConstraintInsideStyle(style, "border", 1);
        var horizontalConstraint = margin.start + margin.end + padding.start + padding.end + border.start + border.end;
        var verticalConstraint = margin.top + margin.bottom + padding.top + padding.bottom + border.top + border.bottom;
        return {
          width: Math.max(0, size.width - horizontalConstraint),
          height: Math.max(0, size.height - verticalConstraint)
        };
      }
    }]);
    return CssUtils;
  }();

  exports.default = CssUtils;
},465,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _moment = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var DateUtils = function () {
    function DateUtils() {
      (0, _classCallCheck2.default)(this, DateUtils);
    }

    (0, _createClass2.default)(DateUtils, null, [{
      key: "getSeparator",
      value: function getSeparator() {
        var locale = _moment.default.locale();

        if (locale.includes("de") || locale.includes("fr")) {
          return ".";
        }

        if (locale.includes("ar") || locale.includes("du")) {
          return "-";
        }

        return "/";
      }
    }, {
      key: "getCalendarText",
      value: function getCalendarText(issue, dateFormat) {
        var calendarText = "";

        switch (dateFormat) {
          case "0":
          case "1":
          case "14":
            calendarText = issue.substr(issue.length - 2);
            break;

          case "2":
          case "4":
          case "98":
            calendarText = issue.substr(4, 2);
            break;
        }

        if (calendarText.length > 0 && dateFormat !== "98") {
          calendarText = "" + parseInt(calendarText, 10);
        }

        return calendarText;
      }
    }, {
      key: "getPatternByDateFormat",
      value: function getPatternByDateFormat(separator, dateFormat, showWeek) {
        var pattern = "";

        switch (dateFormat) {
          case "0":
            pattern = "DD" + separator + "MM" + separator + "YYYY";
            break;

          case "1":
            pattern = "MM" + separator + "DD" + separator + "YYYY";
            break;

          case "2":
          case "98":
            pattern = "MM YYYY";
            break;

          case "4":
            pattern = "MMMM YYYY";
            break;

          default:
            pattern = "YYYYMMDD";
        }

        if (showWeek && dateFormat !== "98") {
          pattern = "ddd " + pattern;
        }

        return pattern;
      }
    }, {
      key: "getCurrentYear",
      value: function getCurrentYear() {
        return (0, _moment.default)().year();
      }
    }, {
      key: "formatDate",
      value: function formatDate(issue, pattern) {
        var date = issue;

        try {
          date = (0, _moment.default)(issue, "YYYYMMDD").format(pattern);
        } catch (e) {}

        return date;
      }
    }, {
      key: "subDaysToToday",
      value: function subDaysToToday() {
        var days = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
        var mToday = (0, _moment.default)();
        return mToday.subtract(days, "days");
      }
    }, {
      key: "addDaysToToday",
      value: function addDaysToToday() {
        var days = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
        return (0, _moment.default)().add(days, "days");
      }
    }, {
      key: "addDaysToDate",
      value: function addDaysToDate(date) {
        var days = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
        return (0, _moment.default)(date).add(days, "days");
      }
    }, {
      key: "subDaysToDate",
      value: function subDaysToDate(date) {
        var days = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
        return (0, _moment.default)(date).subtract(days, "days");
      }
    }, {
      key: "getMomentStartOfDay",
      value: function getMomentStartOfDay(date) {
        return (0, _moment.default)(date).startOf("day");
      }
    }, {
      key: "getMomentDate",
      value: function getMomentDate(date, format) {
        if (format) {
          return (0, _moment.default)(date, format);
        }

        return (0, _moment.default)(date);
      }
    }, {
      key: "getDaysFromDateToToday",
      value: function getDaysFromDateToToday(date) {
        var mDate = (0, _moment.default)(date);
        var mToday = (0, _moment.default)();
        return mToday.diff(mDate, "days") + 1;
      }
    }, {
      key: "getDateString",
      value: function getDateString(date, format) {
        return (0, _moment.default)(date).format(format);
      }
    }, {
      key: "toDate",
      value: function toDate(date, format) {
        return (0, _moment.default)(date, format).toDate();
      }
    }, {
      key: "unixToString",
      value: function unixToString(unix, format) {
        return _moment.default.unix(unix).utc().format(format);
      }
    }, {
      key: "stringToUnix",
      value: function stringToUnix(string, format) {
        return (0, _moment.default)(string, format).unix();
      }
    }, {
      key: "fromNow",
      value: function fromNow(value, format) {
        if (format && typeof value === "string") {
          return (0, _moment.default)(value, format).fromNow();
        }

        return _moment.default.unix(value).fromNow();
      }
    }, {
      key: "getTodayString",
      value: function getTodayString(pattern) {
        return (0, _moment.default)().format(pattern);
      }
    }, {
      key: "getYesterdayString",
      value: function getYesterdayString(pattern) {
        return (0, _moment.default)().subtract(1, "day").format(pattern);
      }
    }, {
      key: "getTomorrowString",
      value: function getTomorrowString(pattern) {
        return (0, _moment.default)().add(1, "day").format(pattern);
      }
    }, {
      key: "getTimeRange",
      value: function getTimeRange(timeRange) {
        switch (timeRange) {
          case "today":
            return this.today();

          case "tomorrow":
            return this.tomorrow();

          case "this_week":
            return this.thisWeek();

          case "next_week":
            return this.nextWeek();

          case "this_weekend":
            return this.thisWeekend();

          default:
            return undefined;
        }
      }
    }, {
      key: "getTimeRangeString",
      value: function getTimeRangeString(timeRange) {
        switch (timeRange) {
          case "all":
            return global.strings("all");

          case "today":
            return global.strings("str_today");

          case "tomorrow":
            return global.strings("str_tomorrow");

          case "this_week":
            return global.strings("str_this_week");

          case "next_week":
            return global.strings("str_next_week");

          case "this_weekend":
            return global.strings("str_this_weekend");

          case "custom":
            return global.strings("str_custom");

          default:
            return "";
        }
      }
    }, {
      key: "logTimestamp",
      value: function logTimestamp() {
        return (0, _moment.default)().format("HH:mm:ss.SSS");
      }
    }, {
      key: "today",
      value: function today() {
        return {
          begin: (0, _moment.default)().startOf("day"),
          end: (0, _moment.default)().startOf("day")
        };
      }
    }, {
      key: "tomorrow",
      value: function tomorrow() {
        return {
          begin: (0, _moment.default)().add(1, "day"),
          end: (0, _moment.default)().add(1, "day")
        };
      }
    }, {
      key: "thisWeek",
      value: function thisWeek() {
        var monday = (0, _moment.default)().weekday(1);
        var sunday = (0, _moment.default)().weekday(8);
        return {
          begin: monday.utc().startOf("day"),
          end: sunday.utc().startOf("day")
        };
      }
    }, {
      key: "nextWeek",
      value: function nextWeek() {
        var monday = (0, _moment.default)().weekday(8);
        var sunday = (0, _moment.default)().weekday(15);
        return {
          begin: monday.utc().startOf("day"),
          end: sunday.utc().startOf("day")
        };
      }
    }, {
      key: "thisWeekend",
      value: function thisWeekend() {
        var friday = (0, _moment.default)().weekday(5);
        var sunday = (0, _moment.default)().weekday(8);
        return {
          begin: friday.utc().startOf("day"),
          end: sunday.utc().startOf("day")
        };
      }
    }, {
      key: "nextWeekend",
      value: function nextWeekend() {
        var friday = (0, _moment.default)().weekday(12);
        var sunday = (0, _moment.default)().weekday(15);
        return {
          begin: friday.utc().startOf("day"),
          end: sunday.utc().startOf("day")
        };
      }
    }, {
      key: "customDateRange",
      value: function customDateRange(startDate, endDate) {
        var begin = (0, _moment.default)(startDate);
        var end = (0, _moment.default)(endDate);
        return {
          begin: begin,
          end: end
        };
      }
    }, {
      key: "initMomentLocale",
      value: function initMomentLocale(locale) {
        if (locale.indexOf("ar") === 0) {
          _$$_REQUIRE(_dependencyMap[4]);

          _moment.default.locale("ar");
        } else if (locale.indexOf("it") === 0) {
          _$$_REQUIRE(_dependencyMap[5]);

          _moment.default.locale("it");
        } else if (locale.indexOf("da") === 0) {
          _$$_REQUIRE(_dependencyMap[6]);

          _moment.default.locale("da");
        } else if (locale.indexOf("de") === 0) {
          _$$_REQUIRE(_dependencyMap[7]);

          _moment.default.locale("de");
        } else if (locale.indexOf("fr-FR") === 0) {
          _$$_REQUIRE(_dependencyMap[8]);

          _moment.default.locale("fr");
        } else if (locale.indexOf("nl-NL") === 0) {
          _$$_REQUIRE(_dependencyMap[9]);

          _moment.default.locale("nl");
        } else if (locale.indexOf("es-ES") === 0) {
          _$$_REQUIRE(_dependencyMap[10]);

          _moment.default.locale("es");
        } else if (locale.indexOf("ro-RO") === 0) {
          _$$_REQUIRE(_dependencyMap[11]);

          _moment.default.locale("ro");
        } else if (locale.indexOf("sv") === 0) {
          _$$_REQUIRE(_dependencyMap[12]);

          _moment.default.locale("sv");
        } else if (locale.indexOf("pt-PT") === 0) {
          _$$_REQUIRE(_dependencyMap[13]);

          _moment.default.locale("pt");
        } else if (locale.indexOf("pt-BR") === 0) {
          _$$_REQUIRE(_dependencyMap[14]);

          _moment.default.locale("pt-br");
        } else if (locale.indexOf("nl-BE") === 0) {
          _$$_REQUIRE(_dependencyMap[15]);

          _moment.default.locale("nl-be");
        } else if (locale.indexOf("nn-NO") === 0) {
          _$$_REQUIRE(_dependencyMap[16]);

          _moment.default.locale("nn");
        } else if (locale.indexOf("nb-NO") === 0) {
          _$$_REQUIRE(_dependencyMap[17]);

          _moment.default.locale("nb");
        } else if (locale.indexOf("sl") === 0) {
          _$$_REQUIRE(_dependencyMap[18]);

          _moment.default.locale("sl");
        } else {
          _moment.default.locale("en");
        }
      }
    }, {
      key: "getClosestEventDate",
      value: function getClosestEventDate(event) {
        var start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Date();
        var numberOfEventInstances = event.instances.length;
        var startDate;
        var outputResult = "";
        var now = this.getMomentStartOfDay(start);

        for (var i = 0; i < numberOfEventInstances; i++) {
          startDate = DateUtils.getMomentDate(event.instances[i].startDateTime);

          if (startDate >= now) {
            outputResult += startDate.utc().format("ddd, LL");
            return outputResult;
          }
        }

        return "The Event is over";
      }
    }, {
      key: "getCurrentDateString",
      value: function getCurrentDateString() {
        var currentDate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date();
        var year = String(currentDate.getUTCFullYear());
        var month = String(currentDate.getUTCMonth() + 1);
        var date = String(currentDate.getUTCDate());
        var hours = String(currentDate.getUTCHours());
        var minutes = String(currentDate.getUTCMinutes());
        var seconds = String(currentDate.getUTCSeconds());

        if (typeof month.padStart === "function") {
          month = month.padStart(2, "0");
          date = date.padStart(2, "0");
          hours = hours.padStart(2, "0");
          minutes = minutes.padStart(2, "0");
          seconds = seconds.padStart(2, "0");
        } else {
          if (month.length === 1) {
            month = "0" + month;
          }

          if (date.length === 1) {
            date = "0" + date;
          }

          if (hours.length === 1) {
            hours = "0" + hours;
          }

          if (minutes.length === 1) {
            minutes = "0" + minutes;
          }

          if (seconds.length === 1) {
            seconds = "0" + seconds;
          }
        }

        var str = year + month + date + hours + minutes + seconds;
        return str;
      }
    }, {
      key: "getDayAndMonthStringByLanguage",
      value: function getDayAndMonthStringByLanguage(issue, dateFormat, language) {
        switch (dateFormat) {
          case "0":
          case "1":
            switch (language) {
              case "1":
              case "2":
              case "3":
              case "4":
              case "11":
              case "6":
              case "7":
                return DateUtils.formatDate(issue, "DD MMMM");

              case "5":
              case "9":
              case "10":
                return DateUtils.formatDate(issue, "DD [de] MMMM");

              case "8":
              case "12":
              case "13":
                return DateUtils.formatDate(issue, "DD[.] MMMM");

              default:
                return DateUtils.formatDate(issue, "MMMM Do");
            }

          case "2":
          case "98":
            return DateUtils.formatDate(issue, "MM YYYY");

          case "4":
            return DateUtils.formatDate(issue, "MMMM YYYY");

          default:
            return DateUtils.formatDate(issue, "YYYYMMDD");
        }
      }
    }, {
      key: "getUnixTimestampFromDateTimeString",
      value: function getUnixTimestampFromDateTimeString(dateTimeString) {
        if (dateTimeString) {
          if (dateTimeString.length === 8) {
            dateTimeString += "_000000";
          }

          if (dateTimeString.length === 14 || dateTimeString.length === 15) {
            var format = "YYYYMMDDHHmmss";

            if (dateTimeString.length === 15) {
              format = "YYYYMMDD_HHmmss";
            }

            return DateUtils.stringToUnix(dateTimeString + " +0000", format + " Z") * 1000;
          }
        }

        return undefined;
      }
    }]);
    return DateUtils;
  }();

  exports.default = DateUtils;
  DateUtils.SECOND_IN_MILLS = 1000;
  DateUtils.MINUTE_IN_MILLS = 60 * DateUtils.SECOND_IN_MILLS;
  DateUtils.HOUR_IN_MILLS = 60 * DateUtils.MINUTE_IN_MILLS;
  DateUtils.DAY_IN_MILLS = 24 * DateUtils.HOUR_IN_MILLS;

  DateUtils.dateFormatter = function (date) {
    if (!date) {
      return "";
    }

    var out = "";

    for (var c = 0; c < date.length; c++) {
      if (date[c] === "T" || date[c] === "Z") {
        out += " ";
      } else {
        out += date[c];
      }
    }

    return out.substring(0, 10);
  };
},466,[5,7,8,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global.moment = factory();
  })(this, function () {
    'use strict';

    var hookCallback;

    function hooks() {
      return hookCallback.apply(null, arguments);
    }

    function setHookCallback(callback) {
      hookCallback = callback;
    }

    function isArray(input) {
      return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';
    }

    function isObject(input) {
      return input != null && Object.prototype.toString.call(input) === '[object Object]';
    }

    function hasOwnProp(a, b) {
      return Object.prototype.hasOwnProperty.call(a, b);
    }

    function isObjectEmpty(obj) {
      if (Object.getOwnPropertyNames) {
        return Object.getOwnPropertyNames(obj).length === 0;
      } else {
        var k;

        for (k in obj) {
          if (hasOwnProp(obj, k)) {
            return false;
          }
        }

        return true;
      }
    }

    function isUndefined(input) {
      return input === undefined;
    }

    function isNumber(input) {
      return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';
    }

    function isDate(input) {
      return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';
    }

    function map(arr, fn) {
      var res = [],
          i,
          arrLen = arr.length;

      for (i = 0; i < arrLen; ++i) {
        res.push(fn(arr[i], i));
      }

      return res;
    }

    function extend(a, b) {
      for (var i in b) {
        if (hasOwnProp(b, i)) {
          a[i] = b[i];
        }
      }

      if (hasOwnProp(b, 'toString')) {
        a.toString = b.toString;
      }

      if (hasOwnProp(b, 'valueOf')) {
        a.valueOf = b.valueOf;
      }

      return a;
    }

    function createUTC(input, format, locale, strict) {
      return createLocalOrUTC(input, format, locale, strict, true).utc();
    }

    function defaultParsingFlags() {
      return {
        empty: false,
        unusedTokens: [],
        unusedInput: [],
        overflow: -2,
        charsLeftOver: 0,
        nullInput: false,
        invalidEra: null,
        invalidMonth: null,
        invalidFormat: false,
        userInvalidated: false,
        iso: false,
        parsedDateParts: [],
        era: null,
        meridiem: null,
        rfc2822: false,
        weekdayMismatch: false
      };
    }

    function getParsingFlags(m) {
      if (m._pf == null) {
        m._pf = defaultParsingFlags();
      }

      return m._pf;
    }

    var some;

    if (Array.prototype.some) {
      some = Array.prototype.some;
    } else {
      some = function some(fun) {
        var t = Object(this),
            len = t.length >>> 0,
            i;

        for (i = 0; i < len; i++) {
          if (i in t && fun.call(this, t[i], i, t)) {
            return true;
          }
        }

        return false;
      };
    }

    function isValid(m) {
      if (m._isValid == null) {
        var flags = getParsingFlags(m),
            parsedParts = some.call(flags.parsedDateParts, function (i) {
          return i != null;
        }),
            isNowValid = !isNaN(m._d.getTime()) && flags.overflow < 0 && !flags.empty && !flags.invalidEra && !flags.invalidMonth && !flags.invalidWeekday && !flags.weekdayMismatch && !flags.nullInput && !flags.invalidFormat && !flags.userInvalidated && (!flags.meridiem || flags.meridiem && parsedParts);

        if (m._strict) {
          isNowValid = isNowValid && flags.charsLeftOver === 0 && flags.unusedTokens.length === 0 && flags.bigHour === undefined;
        }

        if (Object.isFrozen == null || !Object.isFrozen(m)) {
          m._isValid = isNowValid;
        } else {
          return isNowValid;
        }
      }

      return m._isValid;
    }

    function createInvalid(flags) {
      var m = createUTC(NaN);

      if (flags != null) {
        extend(getParsingFlags(m), flags);
      } else {
        getParsingFlags(m).userInvalidated = true;
      }

      return m;
    }

    var momentProperties = hooks.momentProperties = [],
        updateInProgress = false;

    function copyConfig(to, from) {
      var i,
          prop,
          val,
          momentPropertiesLen = momentProperties.length;

      if (!isUndefined(from._isAMomentObject)) {
        to._isAMomentObject = from._isAMomentObject;
      }

      if (!isUndefined(from._i)) {
        to._i = from._i;
      }

      if (!isUndefined(from._f)) {
        to._f = from._f;
      }

      if (!isUndefined(from._l)) {
        to._l = from._l;
      }

      if (!isUndefined(from._strict)) {
        to._strict = from._strict;
      }

      if (!isUndefined(from._tzm)) {
        to._tzm = from._tzm;
      }

      if (!isUndefined(from._isUTC)) {
        to._isUTC = from._isUTC;
      }

      if (!isUndefined(from._offset)) {
        to._offset = from._offset;
      }

      if (!isUndefined(from._pf)) {
        to._pf = getParsingFlags(from);
      }

      if (!isUndefined(from._locale)) {
        to._locale = from._locale;
      }

      if (momentPropertiesLen > 0) {
        for (i = 0; i < momentPropertiesLen; i++) {
          prop = momentProperties[i];
          val = from[prop];

          if (!isUndefined(val)) {
            to[prop] = val;
          }
        }
      }

      return to;
    }

    function Moment(config) {
      copyConfig(this, config);
      this._d = new Date(config._d != null ? config._d.getTime() : NaN);

      if (!this.isValid()) {
        this._d = new Date(NaN);
      }

      if (updateInProgress === false) {
        updateInProgress = true;
        hooks.updateOffset(this);
        updateInProgress = false;
      }
    }

    function isMoment(obj) {
      return obj instanceof Moment || obj != null && obj._isAMomentObject != null;
    }

    function warn(msg) {
      if (hooks.suppressDeprecationWarnings === false && typeof console !== 'undefined' && console.warn) {
        console.warn('Deprecation warning: ' + msg);
      }
    }

    function deprecate(msg, fn) {
      var firstTime = true;
      return extend(function () {
        if (hooks.deprecationHandler != null) {
          hooks.deprecationHandler(null, msg);
        }

        if (firstTime) {
          var args = [],
              arg,
              i,
              key,
              argLen = arguments.length;

          for (i = 0; i < argLen; i++) {
            arg = '';

            if (typeof arguments[i] === 'object') {
              arg += '\n[' + i + '] ';

              for (key in arguments[0]) {
                if (hasOwnProp(arguments[0], key)) {
                  arg += key + ': ' + arguments[0][key] + ', ';
                }
              }

              arg = arg.slice(0, -2);
            } else {
              arg = arguments[i];
            }

            args.push(arg);
          }

          warn(msg + '\nArguments: ' + Array.prototype.slice.call(args).join('') + '\n' + new Error().stack);
          firstTime = false;
        }

        return fn.apply(this, arguments);
      }, fn);
    }

    var deprecations = {};

    function deprecateSimple(name, msg) {
      if (hooks.deprecationHandler != null) {
        hooks.deprecationHandler(name, msg);
      }

      if (!deprecations[name]) {
        warn(msg);
        deprecations[name] = true;
      }
    }

    hooks.suppressDeprecationWarnings = false;
    hooks.deprecationHandler = null;

    function isFunction(input) {
      return typeof Function !== 'undefined' && input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';
    }

    function set(config) {
      var prop, i;

      for (i in config) {
        if (hasOwnProp(config, i)) {
          prop = config[i];

          if (isFunction(prop)) {
            this[i] = prop;
          } else {
            this['_' + i] = prop;
          }
        }
      }

      this._config = config;
      this._dayOfMonthOrdinalParseLenient = new RegExp((this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + '|' + /\d{1,2}/.source);
    }

    function mergeConfigs(parentConfig, childConfig) {
      var res = extend({}, parentConfig),
          prop;

      for (prop in childConfig) {
        if (hasOwnProp(childConfig, prop)) {
          if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {
            res[prop] = {};
            extend(res[prop], parentConfig[prop]);
            extend(res[prop], childConfig[prop]);
          } else if (childConfig[prop] != null) {
            res[prop] = childConfig[prop];
          } else {
            delete res[prop];
          }
        }
      }

      for (prop in parentConfig) {
        if (hasOwnProp(parentConfig, prop) && !hasOwnProp(childConfig, prop) && isObject(parentConfig[prop])) {
          res[prop] = extend({}, res[prop]);
        }
      }

      return res;
    }

    function Locale(config) {
      if (config != null) {
        this.set(config);
      }
    }

    var keys;

    if (Object.keys) {
      keys = Object.keys;
    } else {
      keys = function keys(obj) {
        var i,
            res = [];

        for (i in obj) {
          if (hasOwnProp(obj, i)) {
            res.push(i);
          }
        }

        return res;
      };
    }

    var defaultCalendar = {
      sameDay: '[Today at] LT',
      nextDay: '[Tomorrow at] LT',
      nextWeek: 'dddd [at] LT',
      lastDay: '[Yesterday at] LT',
      lastWeek: '[Last] dddd [at] LT',
      sameElse: 'L'
    };

    function calendar(key, mom, now) {
      var output = this._calendar[key] || this._calendar['sameElse'];
      return isFunction(output) ? output.call(mom, now) : output;
    }

    function zeroFill(number, targetLength, forceSign) {
      var absNumber = '' + Math.abs(number),
          zerosToFill = targetLength - absNumber.length,
          sign = number >= 0;
      return (sign ? forceSign ? '+' : '' : '-') + Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;
    }

    var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,
        localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,
        formatFunctions = {},
        formatTokenFunctions = {};

    function addFormatToken(token, padded, ordinal, callback) {
      var func = callback;

      if (typeof callback === 'string') {
        func = function func() {
          return this[callback]();
        };
      }

      if (token) {
        formatTokenFunctions[token] = func;
      }

      if (padded) {
        formatTokenFunctions[padded[0]] = function () {
          return zeroFill(func.apply(this, arguments), padded[1], padded[2]);
        };
      }

      if (ordinal) {
        formatTokenFunctions[ordinal] = function () {
          return this.localeData().ordinal(func.apply(this, arguments), token);
        };
      }
    }

    function removeFormattingTokens(input) {
      if (input.match(/\[[\s\S]/)) {
        return input.replace(/^\[|\]$/g, '');
      }

      return input.replace(/\\/g, '');
    }

    function makeFormatFunction(format) {
      var array = format.match(formattingTokens),
          i,
          length;

      for (i = 0, length = array.length; i < length; i++) {
        if (formatTokenFunctions[array[i]]) {
          array[i] = formatTokenFunctions[array[i]];
        } else {
          array[i] = removeFormattingTokens(array[i]);
        }
      }

      return function (mom) {
        var output = '',
            i;

        for (i = 0; i < length; i++) {
          output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];
        }

        return output;
      };
    }

    function formatMoment(m, format) {
      if (!m.isValid()) {
        return m.localeData().invalidDate();
      }

      format = expandFormat(format, m.localeData());
      formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);
      return formatFunctions[format](m);
    }

    function expandFormat(format, locale) {
      var i = 5;

      function replaceLongDateFormatTokens(input) {
        return locale.longDateFormat(input) || input;
      }

      localFormattingTokens.lastIndex = 0;

      while (i >= 0 && localFormattingTokens.test(format)) {
        format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);
        localFormattingTokens.lastIndex = 0;
        i -= 1;
      }

      return format;
    }

    var defaultLongDateFormat = {
      LTS: 'h:mm:ss A',
      LT: 'h:mm A',
      L: 'MM/DD/YYYY',
      LL: 'MMMM D, YYYY',
      LLL: 'MMMM D, YYYY h:mm A',
      LLLL: 'dddd, MMMM D, YYYY h:mm A'
    };

    function longDateFormat(key) {
      var format = this._longDateFormat[key],
          formatUpper = this._longDateFormat[key.toUpperCase()];

      if (format || !formatUpper) {
        return format;
      }

      this._longDateFormat[key] = formatUpper.match(formattingTokens).map(function (tok) {
        if (tok === 'MMMM' || tok === 'MM' || tok === 'DD' || tok === 'dddd') {
          return tok.slice(1);
        }

        return tok;
      }).join('');
      return this._longDateFormat[key];
    }

    var defaultInvalidDate = 'Invalid date';

    function invalidDate() {
      return this._invalidDate;
    }

    var defaultOrdinal = '%d',
        defaultDayOfMonthOrdinalParse = /\d{1,2}/;

    function ordinal(number) {
      return this._ordinal.replace('%d', number);
    }

    var defaultRelativeTime = {
      future: 'in %s',
      past: '%s ago',
      s: 'a few seconds',
      ss: '%d seconds',
      m: 'a minute',
      mm: '%d minutes',
      h: 'an hour',
      hh: '%d hours',
      d: 'a day',
      dd: '%d days',
      w: 'a week',
      ww: '%d weeks',
      M: 'a month',
      MM: '%d months',
      y: 'a year',
      yy: '%d years'
    };

    function relativeTime(number, withoutSuffix, string, isFuture) {
      var output = this._relativeTime[string];
      return isFunction(output) ? output(number, withoutSuffix, string, isFuture) : output.replace(/%d/i, number);
    }

    function pastFuture(diff, output) {
      var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
      return isFunction(format) ? format(output) : format.replace(/%s/i, output);
    }

    var aliases = {};

    function addUnitAlias(unit, shorthand) {
      var lowerCase = unit.toLowerCase();
      aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
    }

    function normalizeUnits(units) {
      return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;
    }

    function normalizeObjectUnits(inputObject) {
      var normalizedInput = {},
          normalizedProp,
          prop;

      for (prop in inputObject) {
        if (hasOwnProp(inputObject, prop)) {
          normalizedProp = normalizeUnits(prop);

          if (normalizedProp) {
            normalizedInput[normalizedProp] = inputObject[prop];
          }
        }
      }

      return normalizedInput;
    }

    var priorities = {};

    function addUnitPriority(unit, priority) {
      priorities[unit] = priority;
    }

    function getPrioritizedUnits(unitsObj) {
      var units = [],
          u;

      for (u in unitsObj) {
        if (hasOwnProp(unitsObj, u)) {
          units.push({
            unit: u,
            priority: priorities[u]
          });
        }
      }

      units.sort(function (a, b) {
        return a.priority - b.priority;
      });
      return units;
    }

    function isLeapYear(year) {
      return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
    }

    function absFloor(number) {
      if (number < 0) {
        return Math.ceil(number) || 0;
      } else {
        return Math.floor(number);
      }
    }

    function toInt(argumentForCoercion) {
      var coercedNumber = +argumentForCoercion,
          value = 0;

      if (coercedNumber !== 0 && isFinite(coercedNumber)) {
        value = absFloor(coercedNumber);
      }

      return value;
    }

    function makeGetSet(unit, keepTime) {
      return function (value) {
        if (value != null) {
          set$1(this, unit, value);
          hooks.updateOffset(this, keepTime);
          return this;
        } else {
          return get(this, unit);
        }
      };
    }

    function get(mom, unit) {
      return mom.isValid() ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;
    }

    function set$1(mom, unit, value) {
      if (mom.isValid() && !isNaN(value)) {
        if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {
          value = toInt(value);

          mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));
        } else {
          mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
        }
      }
    }

    function stringGet(units) {
      units = normalizeUnits(units);

      if (isFunction(this[units])) {
        return this[units]();
      }

      return this;
    }

    function stringSet(units, value) {
      if (typeof units === 'object') {
        units = normalizeObjectUnits(units);
        var prioritized = getPrioritizedUnits(units),
            i,
            prioritizedLen = prioritized.length;

        for (i = 0; i < prioritizedLen; i++) {
          this[prioritized[i].unit](units[prioritized[i].unit]);
        }
      } else {
        units = normalizeUnits(units);

        if (isFunction(this[units])) {
          return this[units](value);
        }
      }

      return this;
    }

    var match1 = /\d/,
        match2 = /\d\d/,
        match3 = /\d{3}/,
        match4 = /\d{4}/,
        match6 = /[+-]?\d{6}/,
        match1to2 = /\d\d?/,
        match3to4 = /\d\d\d\d?/,
        match5to6 = /\d\d\d\d\d\d?/,
        match1to3 = /\d{1,3}/,
        match1to4 = /\d{1,4}/,
        match1to6 = /[+-]?\d{1,6}/,
        matchUnsigned = /\d+/,
        matchSigned = /[+-]?\d+/,
        matchOffset = /Z|[+-]\d\d:?\d\d/gi,
        matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi,
        matchTimestamp = /[+-]?\d+(\.\d{1,3})?/,
        matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,
        regexes;
    regexes = {};

    function addRegexToken(token, regex, strictRegex) {
      regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {
        return isStrict && strictRegex ? strictRegex : regex;
      };
    }

    function getParseRegexForToken(token, config) {
      if (!hasOwnProp(regexes, token)) {
        return new RegExp(unescapeFormat(token));
      }

      return regexes[token](config._strict, config._locale);
    }

    function unescapeFormat(s) {
      return regexEscape(s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) {
        return p1 || p2 || p3 || p4;
      }));
    }

    function regexEscape(s) {
      return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
    }

    var tokens = {};

    function addParseToken(token, callback) {
      var i,
          func = callback,
          tokenLen;

      if (typeof token === 'string') {
        token = [token];
      }

      if (isNumber(callback)) {
        func = function func(input, array) {
          array[callback] = toInt(input);
        };
      }

      tokenLen = token.length;

      for (i = 0; i < tokenLen; i++) {
        tokens[token[i]] = func;
      }
    }

    function addWeekParseToken(token, callback) {
      addParseToken(token, function (input, array, config, token) {
        config._w = config._w || {};
        callback(input, config._w, config, token);
      });
    }

    function addTimeToArrayFromToken(token, input, config) {
      if (input != null && hasOwnProp(tokens, token)) {
        tokens[token](input, config._a, config, token);
      }
    }

    var YEAR = 0,
        MONTH = 1,
        DATE = 2,
        HOUR = 3,
        MINUTE = 4,
        SECOND = 5,
        MILLISECOND = 6,
        WEEK = 7,
        WEEKDAY = 8;

    function mod(n, x) {
      return (n % x + x) % x;
    }

    var indexOf;

    if (Array.prototype.indexOf) {
      indexOf = Array.prototype.indexOf;
    } else {
      indexOf = function indexOf(o) {
        var i;

        for (i = 0; i < this.length; ++i) {
          if (this[i] === o) {
            return i;
          }
        }

        return -1;
      };
    }

    function daysInMonth(year, month) {
      if (isNaN(year) || isNaN(month)) {
        return NaN;
      }

      var modMonth = mod(month, 12);
      year += (month - modMonth) / 12;
      return modMonth === 1 ? isLeapYear(year) ? 29 : 28 : 31 - modMonth % 7 % 2;
    }

    addFormatToken('M', ['MM', 2], 'Mo', function () {
      return this.month() + 1;
    });
    addFormatToken('MMM', 0, 0, function (format) {
      return this.localeData().monthsShort(this, format);
    });
    addFormatToken('MMMM', 0, 0, function (format) {
      return this.localeData().months(this, format);
    });
    addUnitAlias('month', 'M');
    addUnitPriority('month', 8);
    addRegexToken('M', match1to2);
    addRegexToken('MM', match1to2, match2);
    addRegexToken('MMM', function (isStrict, locale) {
      return locale.monthsShortRegex(isStrict);
    });
    addRegexToken('MMMM', function (isStrict, locale) {
      return locale.monthsRegex(isStrict);
    });
    addParseToken(['M', 'MM'], function (input, array) {
      array[MONTH] = toInt(input) - 1;
    });
    addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {
      var month = config._locale.monthsParse(input, token, config._strict);

      if (month != null) {
        array[MONTH] = month;
      } else {
        getParsingFlags(config).invalidMonth = input;
      }
    });
    var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
        defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
        MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,
        defaultMonthsShortRegex = matchWord,
        defaultMonthsRegex = matchWord;

    function localeMonths(m, format) {
      if (!m) {
        return isArray(this._months) ? this._months : this._months['standalone'];
      }

      return isArray(this._months) ? this._months[m.month()] : this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];
    }

    function localeMonthsShort(m, format) {
      if (!m) {
        return isArray(this._monthsShort) ? this._monthsShort : this._monthsShort['standalone'];
      }

      return isArray(this._monthsShort) ? this._monthsShort[m.month()] : this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];
    }

    function handleStrictParse(monthName, format, strict) {
      var i,
          ii,
          mom,
          llc = monthName.toLocaleLowerCase();

      if (!this._monthsParse) {
        this._monthsParse = [];
        this._longMonthsParse = [];
        this._shortMonthsParse = [];

        for (i = 0; i < 12; ++i) {
          mom = createUTC([2000, i]);
          this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();
          this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();
        }
      }

      if (strict) {
        if (format === 'MMM') {
          ii = indexOf.call(this._shortMonthsParse, llc);
          return ii !== -1 ? ii : null;
        } else {
          ii = indexOf.call(this._longMonthsParse, llc);
          return ii !== -1 ? ii : null;
        }
      } else {
        if (format === 'MMM') {
          ii = indexOf.call(this._shortMonthsParse, llc);

          if (ii !== -1) {
            return ii;
          }

          ii = indexOf.call(this._longMonthsParse, llc);
          return ii !== -1 ? ii : null;
        } else {
          ii = indexOf.call(this._longMonthsParse, llc);

          if (ii !== -1) {
            return ii;
          }

          ii = indexOf.call(this._shortMonthsParse, llc);
          return ii !== -1 ? ii : null;
        }
      }
    }

    function localeMonthsParse(monthName, format, strict) {
      var i, mom, regex;

      if (this._monthsParseExact) {
        return handleStrictParse.call(this, monthName, format, strict);
      }

      if (!this._monthsParse) {
        this._monthsParse = [];
        this._longMonthsParse = [];
        this._shortMonthsParse = [];
      }

      for (i = 0; i < 12; i++) {
        mom = createUTC([2000, i]);

        if (strict && !this._longMonthsParse[i]) {
          this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');
          this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');
        }

        if (!strict && !this._monthsParse[i]) {
          regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
          this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
        }

        if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {
          return i;
        } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {
          return i;
        } else if (!strict && this._monthsParse[i].test(monthName)) {
          return i;
        }
      }
    }

    function setMonth(mom, value) {
      var dayOfMonth;

      if (!mom.isValid()) {
        return mom;
      }

      if (typeof value === 'string') {
        if (/^\d+$/.test(value)) {
          value = toInt(value);
        } else {
          value = mom.localeData().monthsParse(value);

          if (!isNumber(value)) {
            return mom;
          }
        }
      }

      dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));

      mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);

      return mom;
    }

    function getSetMonth(value) {
      if (value != null) {
        setMonth(this, value);
        hooks.updateOffset(this, true);
        return this;
      } else {
        return get(this, 'Month');
      }
    }

    function getDaysInMonth() {
      return daysInMonth(this.year(), this.month());
    }

    function monthsShortRegex(isStrict) {
      if (this._monthsParseExact) {
        if (!hasOwnProp(this, '_monthsRegex')) {
          computeMonthsParse.call(this);
        }

        if (isStrict) {
          return this._monthsShortStrictRegex;
        } else {
          return this._monthsShortRegex;
        }
      } else {
        if (!hasOwnProp(this, '_monthsShortRegex')) {
          this._monthsShortRegex = defaultMonthsShortRegex;
        }

        return this._monthsShortStrictRegex && isStrict ? this._monthsShortStrictRegex : this._monthsShortRegex;
      }
    }

    function monthsRegex(isStrict) {
      if (this._monthsParseExact) {
        if (!hasOwnProp(this, '_monthsRegex')) {
          computeMonthsParse.call(this);
        }

        if (isStrict) {
          return this._monthsStrictRegex;
        } else {
          return this._monthsRegex;
        }
      } else {
        if (!hasOwnProp(this, '_monthsRegex')) {
          this._monthsRegex = defaultMonthsRegex;
        }

        return this._monthsStrictRegex && isStrict ? this._monthsStrictRegex : this._monthsRegex;
      }
    }

    function computeMonthsParse() {
      function cmpLenRev(a, b) {
        return b.length - a.length;
      }

      var shortPieces = [],
          longPieces = [],
          mixedPieces = [],
          i,
          mom;

      for (i = 0; i < 12; i++) {
        mom = createUTC([2000, i]);
        shortPieces.push(this.monthsShort(mom, ''));
        longPieces.push(this.months(mom, ''));
        mixedPieces.push(this.months(mom, ''));
        mixedPieces.push(this.monthsShort(mom, ''));
      }

      shortPieces.sort(cmpLenRev);
      longPieces.sort(cmpLenRev);
      mixedPieces.sort(cmpLenRev);

      for (i = 0; i < 12; i++) {
        shortPieces[i] = regexEscape(shortPieces[i]);
        longPieces[i] = regexEscape(longPieces[i]);
      }

      for (i = 0; i < 24; i++) {
        mixedPieces[i] = regexEscape(mixedPieces[i]);
      }

      this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
      this._monthsShortRegex = this._monthsRegex;
      this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');
      this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');
    }

    addFormatToken('Y', 0, 0, function () {
      var y = this.year();
      return y <= 9999 ? zeroFill(y, 4) : '+' + y;
    });
    addFormatToken(0, ['YY', 2], 0, function () {
      return this.year() % 100;
    });
    addFormatToken(0, ['YYYY', 4], 0, 'year');
    addFormatToken(0, ['YYYYY', 5], 0, 'year');
    addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
    addUnitAlias('year', 'y');
    addUnitPriority('year', 1);
    addRegexToken('Y', matchSigned);
    addRegexToken('YY', match1to2, match2);
    addRegexToken('YYYY', match1to4, match4);
    addRegexToken('YYYYY', match1to6, match6);
    addRegexToken('YYYYYY', match1to6, match6);
    addParseToken(['YYYYY', 'YYYYYY'], YEAR);
    addParseToken('YYYY', function (input, array) {
      array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
    });
    addParseToken('YY', function (input, array) {
      array[YEAR] = hooks.parseTwoDigitYear(input);
    });
    addParseToken('Y', function (input, array) {
      array[YEAR] = parseInt(input, 10);
    });

    function daysInYear(year) {
      return isLeapYear(year) ? 366 : 365;
    }

    hooks.parseTwoDigitYear = function (input) {
      return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
    };

    var getSetYear = makeGetSet('FullYear', true);

    function getIsLeapYear() {
      return isLeapYear(this.year());
    }

    function createDate(y, m, d, h, M, s, ms) {
      var date;

      if (y < 100 && y >= 0) {
        date = new Date(y + 400, m, d, h, M, s, ms);

        if (isFinite(date.getFullYear())) {
          date.setFullYear(y);
        }
      } else {
        date = new Date(y, m, d, h, M, s, ms);
      }

      return date;
    }

    function createUTCDate(y) {
      var date, args;

      if (y < 100 && y >= 0) {
        args = Array.prototype.slice.call(arguments);
        args[0] = y + 400;
        date = new Date(Date.UTC.apply(null, args));

        if (isFinite(date.getUTCFullYear())) {
          date.setUTCFullYear(y);
        }
      } else {
        date = new Date(Date.UTC.apply(null, arguments));
      }

      return date;
    }

    function firstWeekOffset(year, dow, doy) {
      var fwd = 7 + dow - doy,
          fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;
      return -fwdlw + fwd - 1;
    }

    function dayOfYearFromWeeks(year, week, weekday, dow, doy) {
      var localWeekday = (7 + weekday - dow) % 7,
          weekOffset = firstWeekOffset(year, dow, doy),
          dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,
          resYear,
          resDayOfYear;

      if (dayOfYear <= 0) {
        resYear = year - 1;
        resDayOfYear = daysInYear(resYear) + dayOfYear;
      } else if (dayOfYear > daysInYear(year)) {
        resYear = year + 1;
        resDayOfYear = dayOfYear - daysInYear(year);
      } else {
        resYear = year;
        resDayOfYear = dayOfYear;
      }

      return {
        year: resYear,
        dayOfYear: resDayOfYear
      };
    }

    function weekOfYear(mom, dow, doy) {
      var weekOffset = firstWeekOffset(mom.year(), dow, doy),
          week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,
          resWeek,
          resYear;

      if (week < 1) {
        resYear = mom.year() - 1;
        resWeek = week + weeksInYear(resYear, dow, doy);
      } else if (week > weeksInYear(mom.year(), dow, doy)) {
        resWeek = week - weeksInYear(mom.year(), dow, doy);
        resYear = mom.year() + 1;
      } else {
        resYear = mom.year();
        resWeek = week;
      }

      return {
        week: resWeek,
        year: resYear
      };
    }

    function weeksInYear(year, dow, doy) {
      var weekOffset = firstWeekOffset(year, dow, doy),
          weekOffsetNext = firstWeekOffset(year + 1, dow, doy);
      return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;
    }

    addFormatToken('w', ['ww', 2], 'wo', 'week');
    addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');
    addUnitAlias('week', 'w');
    addUnitAlias('isoWeek', 'W');
    addUnitPriority('week', 5);
    addUnitPriority('isoWeek', 5);
    addRegexToken('w', match1to2);
    addRegexToken('ww', match1to2, match2);
    addRegexToken('W', match1to2);
    addRegexToken('WW', match1to2, match2);
    addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {
      week[token.substr(0, 1)] = toInt(input);
    });

    function localeWeek(mom) {
      return weekOfYear(mom, this._week.dow, this._week.doy).week;
    }

    var defaultLocaleWeek = {
      dow: 0,
      doy: 6
    };

    function localeFirstDayOfWeek() {
      return this._week.dow;
    }

    function localeFirstDayOfYear() {
      return this._week.doy;
    }

    function getSetWeek(input) {
      var week = this.localeData().week(this);
      return input == null ? week : this.add((input - week) * 7, 'd');
    }

    function getSetISOWeek(input) {
      var week = weekOfYear(this, 1, 4).week;
      return input == null ? week : this.add((input - week) * 7, 'd');
    }

    addFormatToken('d', 0, 'do', 'day');
    addFormatToken('dd', 0, 0, function (format) {
      return this.localeData().weekdaysMin(this, format);
    });
    addFormatToken('ddd', 0, 0, function (format) {
      return this.localeData().weekdaysShort(this, format);
    });
    addFormatToken('dddd', 0, 0, function (format) {
      return this.localeData().weekdays(this, format);
    });
    addFormatToken('e', 0, 0, 'weekday');
    addFormatToken('E', 0, 0, 'isoWeekday');
    addUnitAlias('day', 'd');
    addUnitAlias('weekday', 'e');
    addUnitAlias('isoWeekday', 'E');
    addUnitPriority('day', 11);
    addUnitPriority('weekday', 11);
    addUnitPriority('isoWeekday', 11);
    addRegexToken('d', match1to2);
    addRegexToken('e', match1to2);
    addRegexToken('E', match1to2);
    addRegexToken('dd', function (isStrict, locale) {
      return locale.weekdaysMinRegex(isStrict);
    });
    addRegexToken('ddd', function (isStrict, locale) {
      return locale.weekdaysShortRegex(isStrict);
    });
    addRegexToken('dddd', function (isStrict, locale) {
      return locale.weekdaysRegex(isStrict);
    });
    addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {
      var weekday = config._locale.weekdaysParse(input, token, config._strict);

      if (weekday != null) {
        week.d = weekday;
      } else {
        getParsingFlags(config).invalidWeekday = input;
      }
    });
    addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {
      week[token] = toInt(input);
    });

    function parseWeekday(input, locale) {
      if (typeof input !== 'string') {
        return input;
      }

      if (!isNaN(input)) {
        return parseInt(input, 10);
      }

      input = locale.weekdaysParse(input);

      if (typeof input === 'number') {
        return input;
      }

      return null;
    }

    function parseIsoWeekday(input, locale) {
      if (typeof input === 'string') {
        return locale.weekdaysParse(input) % 7 || 7;
      }

      return isNaN(input) ? null : input;
    }

    function shiftWeekdays(ws, n) {
      return ws.slice(n, 7).concat(ws.slice(0, n));
    }

    var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
        defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
        defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
        defaultWeekdaysRegex = matchWord,
        defaultWeekdaysShortRegex = matchWord,
        defaultWeekdaysMinRegex = matchWord;

    function localeWeekdays(m, format) {
      var weekdays = isArray(this._weekdays) ? this._weekdays : this._weekdays[m && m !== true && this._weekdays.isFormat.test(format) ? 'format' : 'standalone'];
      return m === true ? shiftWeekdays(weekdays, this._week.dow) : m ? weekdays[m.day()] : weekdays;
    }

    function localeWeekdaysShort(m) {
      return m === true ? shiftWeekdays(this._weekdaysShort, this._week.dow) : m ? this._weekdaysShort[m.day()] : this._weekdaysShort;
    }

    function localeWeekdaysMin(m) {
      return m === true ? shiftWeekdays(this._weekdaysMin, this._week.dow) : m ? this._weekdaysMin[m.day()] : this._weekdaysMin;
    }

    function handleStrictParse$1(weekdayName, format, strict) {
      var i,
          ii,
          mom,
          llc = weekdayName.toLocaleLowerCase();

      if (!this._weekdaysParse) {
        this._weekdaysParse = [];
        this._shortWeekdaysParse = [];
        this._minWeekdaysParse = [];

        for (i = 0; i < 7; ++i) {
          mom = createUTC([2000, 1]).day(i);
          this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();
          this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();
          this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();
        }
      }

      if (strict) {
        if (format === 'dddd') {
          ii = indexOf.call(this._weekdaysParse, llc);
          return ii !== -1 ? ii : null;
        } else if (format === 'ddd') {
          ii = indexOf.call(this._shortWeekdaysParse, llc);
          return ii !== -1 ? ii : null;
        } else {
          ii = indexOf.call(this._minWeekdaysParse, llc);
          return ii !== -1 ? ii : null;
        }
      } else {
        if (format === 'dddd') {
          ii = indexOf.call(this._weekdaysParse, llc);

          if (ii !== -1) {
            return ii;
          }

          ii = indexOf.call(this._shortWeekdaysParse, llc);

          if (ii !== -1) {
            return ii;
          }

          ii = indexOf.call(this._minWeekdaysParse, llc);
          return ii !== -1 ? ii : null;
        } else if (format === 'ddd') {
          ii = indexOf.call(this._shortWeekdaysParse, llc);

          if (ii !== -1) {
            return ii;
          }

          ii = indexOf.call(this._weekdaysParse, llc);

          if (ii !== -1) {
            return ii;
          }

          ii = indexOf.call(this._minWeekdaysParse, llc);
          return ii !== -1 ? ii : null;
        } else {
          ii = indexOf.call(this._minWeekdaysParse, llc);

          if (ii !== -1) {
            return ii;
          }

          ii = indexOf.call(this._weekdaysParse, llc);

          if (ii !== -1) {
            return ii;
          }

          ii = indexOf.call(this._shortWeekdaysParse, llc);
          return ii !== -1 ? ii : null;
        }
      }
    }

    function localeWeekdaysParse(weekdayName, format, strict) {
      var i, mom, regex;

      if (this._weekdaysParseExact) {
        return handleStrictParse$1.call(this, weekdayName, format, strict);
      }

      if (!this._weekdaysParse) {
        this._weekdaysParse = [];
        this._minWeekdaysParse = [];
        this._shortWeekdaysParse = [];
        this._fullWeekdaysParse = [];
      }

      for (i = 0; i < 7; i++) {
        mom = createUTC([2000, 1]).day(i);

        if (strict && !this._fullWeekdaysParse[i]) {
          this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i');
          this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i');
          this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i');
        }

        if (!this._weekdaysParse[i]) {
          regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');
          this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
        }

        if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {
          return i;
        } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {
          return i;
        } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {
          return i;
        } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {
          return i;
        }
      }
    }

    function getSetDayOfWeek(input) {
      if (!this.isValid()) {
        return input != null ? this : NaN;
      }

      var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();

      if (input != null) {
        input = parseWeekday(input, this.localeData());
        return this.add(input - day, 'd');
      } else {
        return day;
      }
    }

    function getSetLocaleDayOfWeek(input) {
      if (!this.isValid()) {
        return input != null ? this : NaN;
      }

      var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
      return input == null ? weekday : this.add(input - weekday, 'd');
    }

    function getSetISODayOfWeek(input) {
      if (!this.isValid()) {
        return input != null ? this : NaN;
      }

      if (input != null) {
        var weekday = parseIsoWeekday(input, this.localeData());
        return this.day(this.day() % 7 ? weekday : weekday - 7);
      } else {
        return this.day() || 7;
      }
    }

    function weekdaysRegex(isStrict) {
      if (this._weekdaysParseExact) {
        if (!hasOwnProp(this, '_weekdaysRegex')) {
          computeWeekdaysParse.call(this);
        }

        if (isStrict) {
          return this._weekdaysStrictRegex;
        } else {
          return this._weekdaysRegex;
        }
      } else {
        if (!hasOwnProp(this, '_weekdaysRegex')) {
          this._weekdaysRegex = defaultWeekdaysRegex;
        }

        return this._weekdaysStrictRegex && isStrict ? this._weekdaysStrictRegex : this._weekdaysRegex;
      }
    }

    function weekdaysShortRegex(isStrict) {
      if (this._weekdaysParseExact) {
        if (!hasOwnProp(this, '_weekdaysRegex')) {
          computeWeekdaysParse.call(this);
        }

        if (isStrict) {
          return this._weekdaysShortStrictRegex;
        } else {
          return this._weekdaysShortRegex;
        }
      } else {
        if (!hasOwnProp(this, '_weekdaysShortRegex')) {
          this._weekdaysShortRegex = defaultWeekdaysShortRegex;
        }

        return this._weekdaysShortStrictRegex && isStrict ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex;
      }
    }

    function weekdaysMinRegex(isStrict) {
      if (this._weekdaysParseExact) {
        if (!hasOwnProp(this, '_weekdaysRegex')) {
          computeWeekdaysParse.call(this);
        }

        if (isStrict) {
          return this._weekdaysMinStrictRegex;
        } else {
          return this._weekdaysMinRegex;
        }
      } else {
        if (!hasOwnProp(this, '_weekdaysMinRegex')) {
          this._weekdaysMinRegex = defaultWeekdaysMinRegex;
        }

        return this._weekdaysMinStrictRegex && isStrict ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex;
      }
    }

    function computeWeekdaysParse() {
      function cmpLenRev(a, b) {
        return b.length - a.length;
      }

      var minPieces = [],
          shortPieces = [],
          longPieces = [],
          mixedPieces = [],
          i,
          mom,
          minp,
          shortp,
          longp;

      for (i = 0; i < 7; i++) {
        mom = createUTC([2000, 1]).day(i);
        minp = regexEscape(this.weekdaysMin(mom, ''));
        shortp = regexEscape(this.weekdaysShort(mom, ''));
        longp = regexEscape(this.weekdays(mom, ''));
        minPieces.push(minp);
        shortPieces.push(shortp);
        longPieces.push(longp);
        mixedPieces.push(minp);
        mixedPieces.push(shortp);
        mixedPieces.push(longp);
      }

      minPieces.sort(cmpLenRev);
      shortPieces.sort(cmpLenRev);
      longPieces.sort(cmpLenRev);
      mixedPieces.sort(cmpLenRev);
      this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
      this._weekdaysShortRegex = this._weekdaysRegex;
      this._weekdaysMinRegex = this._weekdaysRegex;
      this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');
      this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');
      this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');
    }

    function hFormat() {
      return this.hours() % 12 || 12;
    }

    function kFormat() {
      return this.hours() || 24;
    }

    addFormatToken('H', ['HH', 2], 0, 'hour');
    addFormatToken('h', ['hh', 2], 0, hFormat);
    addFormatToken('k', ['kk', 2], 0, kFormat);
    addFormatToken('hmm', 0, 0, function () {
      return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);
    });
    addFormatToken('hmmss', 0, 0, function () {
      return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2);
    });
    addFormatToken('Hmm', 0, 0, function () {
      return '' + this.hours() + zeroFill(this.minutes(), 2);
    });
    addFormatToken('Hmmss', 0, 0, function () {
      return '' + this.hours() + zeroFill(this.minutes(), 2) + zeroFill(this.seconds(), 2);
    });

    function meridiem(token, lowercase) {
      addFormatToken(token, 0, 0, function () {
        return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);
      });
    }

    meridiem('a', true);
    meridiem('A', false);
    addUnitAlias('hour', 'h');
    addUnitPriority('hour', 13);

    function matchMeridiem(isStrict, locale) {
      return locale._meridiemParse;
    }

    addRegexToken('a', matchMeridiem);
    addRegexToken('A', matchMeridiem);
    addRegexToken('H', match1to2);
    addRegexToken('h', match1to2);
    addRegexToken('k', match1to2);
    addRegexToken('HH', match1to2, match2);
    addRegexToken('hh', match1to2, match2);
    addRegexToken('kk', match1to2, match2);
    addRegexToken('hmm', match3to4);
    addRegexToken('hmmss', match5to6);
    addRegexToken('Hmm', match3to4);
    addRegexToken('Hmmss', match5to6);
    addParseToken(['H', 'HH'], HOUR);
    addParseToken(['k', 'kk'], function (input, array, config) {
      var kInput = toInt(input);
      array[HOUR] = kInput === 24 ? 0 : kInput;
    });
    addParseToken(['a', 'A'], function (input, array, config) {
      config._isPm = config._locale.isPM(input);
      config._meridiem = input;
    });
    addParseToken(['h', 'hh'], function (input, array, config) {
      array[HOUR] = toInt(input);
      getParsingFlags(config).bigHour = true;
    });
    addParseToken('hmm', function (input, array, config) {
      var pos = input.length - 2;
      array[HOUR] = toInt(input.substr(0, pos));
      array[MINUTE] = toInt(input.substr(pos));
      getParsingFlags(config).bigHour = true;
    });
    addParseToken('hmmss', function (input, array, config) {
      var pos1 = input.length - 4,
          pos2 = input.length - 2;
      array[HOUR] = toInt(input.substr(0, pos1));
      array[MINUTE] = toInt(input.substr(pos1, 2));
      array[SECOND] = toInt(input.substr(pos2));
      getParsingFlags(config).bigHour = true;
    });
    addParseToken('Hmm', function (input, array, config) {
      var pos = input.length - 2;
      array[HOUR] = toInt(input.substr(0, pos));
      array[MINUTE] = toInt(input.substr(pos));
    });
    addParseToken('Hmmss', function (input, array, config) {
      var pos1 = input.length - 4,
          pos2 = input.length - 2;
      array[HOUR] = toInt(input.substr(0, pos1));
      array[MINUTE] = toInt(input.substr(pos1, 2));
      array[SECOND] = toInt(input.substr(pos2));
    });

    function localeIsPM(input) {
      return (input + '').toLowerCase().charAt(0) === 'p';
    }

    var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i,
        getSetHour = makeGetSet('Hours', true);

    function localeMeridiem(hours, minutes, isLower) {
      if (hours > 11) {
        return isLower ? 'pm' : 'PM';
      } else {
        return isLower ? 'am' : 'AM';
      }
    }

    var baseConfig = {
      calendar: defaultCalendar,
      longDateFormat: defaultLongDateFormat,
      invalidDate: defaultInvalidDate,
      ordinal: defaultOrdinal,
      dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,
      relativeTime: defaultRelativeTime,
      months: defaultLocaleMonths,
      monthsShort: defaultLocaleMonthsShort,
      week: defaultLocaleWeek,
      weekdays: defaultLocaleWeekdays,
      weekdaysMin: defaultLocaleWeekdaysMin,
      weekdaysShort: defaultLocaleWeekdaysShort,
      meridiemParse: defaultLocaleMeridiemParse
    };
    var locales = {},
        localeFamilies = {},
        globalLocale;

    function commonPrefix(arr1, arr2) {
      var i,
          minl = Math.min(arr1.length, arr2.length);

      for (i = 0; i < minl; i += 1) {
        if (arr1[i] !== arr2[i]) {
          return i;
        }
      }

      return minl;
    }

    function normalizeLocale(key) {
      return key ? key.toLowerCase().replace('_', '-') : key;
    }

    function chooseLocale(names) {
      var i = 0,
          j,
          next,
          locale,
          split;

      while (i < names.length) {
        split = normalizeLocale(names[i]).split('-');
        j = split.length;
        next = normalizeLocale(names[i + 1]);
        next = next ? next.split('-') : null;

        while (j > 0) {
          locale = loadLocale(split.slice(0, j).join('-'));

          if (locale) {
            return locale;
          }

          if (next && next.length >= j && commonPrefix(split, next) >= j - 1) {
            break;
          }

          j--;
        }

        i++;
      }

      return globalLocale;
    }

    function isLocaleNameSane(name) {
      return name.match('^[^/\\\\]*$') != null;
    }

    function loadLocale(name) {
      var oldLocale = null,
          aliasedRequire;

      if (locales[name] === undefined && typeof module !== 'undefined' && module && module.exports && isLocaleNameSane(name)) {
        try {
          oldLocale = globalLocale._abbr;
          aliasedRequire = _$$_REQUIRE;
          aliasedRequire('./locale/' + name);
          getSetGlobalLocale(oldLocale);
        } catch (e) {
          locales[name] = null;
        }
      }

      return locales[name];
    }

    function getSetGlobalLocale(key, values) {
      var data;

      if (key) {
        if (isUndefined(values)) {
          data = getLocale(key);
        } else {
          data = defineLocale(key, values);
        }

        if (data) {
          globalLocale = data;
        } else {
          if (typeof console !== 'undefined' && console.warn) {
            console.warn('Locale ' + key + ' not found. Did you forget to load it?');
          }
        }
      }

      return globalLocale._abbr;
    }

    function defineLocale(name, config) {
      if (config !== null) {
        var locale,
            parentConfig = baseConfig;
        config.abbr = name;

        if (locales[name] != null) {
          deprecateSimple('defineLocaleOverride', "use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info.");
          parentConfig = locales[name]._config;
        } else if (config.parentLocale != null) {
          if (locales[config.parentLocale] != null) {
            parentConfig = locales[config.parentLocale]._config;
          } else {
            locale = loadLocale(config.parentLocale);

            if (locale != null) {
              parentConfig = locale._config;
            } else {
              if (!localeFamilies[config.parentLocale]) {
                localeFamilies[config.parentLocale] = [];
              }

              localeFamilies[config.parentLocale].push({
                name: name,
                config: config
              });
              return null;
            }
          }
        }

        locales[name] = new Locale(mergeConfigs(parentConfig, config));

        if (localeFamilies[name]) {
          localeFamilies[name].forEach(function (x) {
            defineLocale(x.name, x.config);
          });
        }

        getSetGlobalLocale(name);
        return locales[name];
      } else {
        delete locales[name];
        return null;
      }
    }

    function updateLocale(name, config) {
      if (config != null) {
        var locale,
            tmpLocale,
            parentConfig = baseConfig;

        if (locales[name] != null && locales[name].parentLocale != null) {
          locales[name].set(mergeConfigs(locales[name]._config, config));
        } else {
          tmpLocale = loadLocale(name);

          if (tmpLocale != null) {
            parentConfig = tmpLocale._config;
          }

          config = mergeConfigs(parentConfig, config);

          if (tmpLocale == null) {
            config.abbr = name;
          }

          locale = new Locale(config);
          locale.parentLocale = locales[name];
          locales[name] = locale;
        }

        getSetGlobalLocale(name);
      } else {
        if (locales[name] != null) {
          if (locales[name].parentLocale != null) {
            locales[name] = locales[name].parentLocale;

            if (name === getSetGlobalLocale()) {
              getSetGlobalLocale(name);
            }
          } else if (locales[name] != null) {
            delete locales[name];
          }
        }
      }

      return locales[name];
    }

    function getLocale(key) {
      var locale;

      if (key && key._locale && key._locale._abbr) {
        key = key._locale._abbr;
      }

      if (!key) {
        return globalLocale;
      }

      if (!isArray(key)) {
        locale = loadLocale(key);

        if (locale) {
          return locale;
        }

        key = [key];
      }

      return chooseLocale(key);
    }

    function listLocales() {
      return keys(locales);
    }

    function checkOverflow(m) {
      var overflow,
          a = m._a;

      if (a && getParsingFlags(m).overflow === -2) {
        overflow = a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE : a[HOUR] < 0 || a[HOUR] > 24 || a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0) ? HOUR : a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE : a[SECOND] < 0 || a[SECOND] > 59 ? SECOND : a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : -1;

        if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
          overflow = DATE;
        }

        if (getParsingFlags(m)._overflowWeeks && overflow === -1) {
          overflow = WEEK;
        }

        if (getParsingFlags(m)._overflowWeekday && overflow === -1) {
          overflow = WEEKDAY;
        }

        getParsingFlags(m).overflow = overflow;
      }

      return m;
    }

    var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
        basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
        tzRegex = /Z|[+-]\d\d(?::?\d\d)?/,
        isoDates = [['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], ['GGGG-[W]WW', /\d{4}-W\d\d/, false], ['YYYY-DDD', /\d{4}-\d{3}/], ['YYYY-MM', /\d{4}-\d\d/, false], ['YYYYYYMMDD', /[+-]\d{10}/], ['YYYYMMDD', /\d{8}/], ['GGGG[W]WWE', /\d{4}W\d{3}/], ['GGGG[W]WW', /\d{4}W\d{2}/, false], ['YYYYDDD', /\d{7}/], ['YYYYMM', /\d{6}/, false], ['YYYY', /\d{4}/, false]],
        isoTimes = [['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], ['HH:mm:ss', /\d\d:\d\d:\d\d/], ['HH:mm', /\d\d:\d\d/], ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], ['HHmmss', /\d\d\d\d\d\d/], ['HHmm', /\d\d\d\d/], ['HH', /\d\d/]],
        aspNetJsonRegex = /^\/?Date\((-?\d+)/i,
        rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,
        obsOffsets = {
      UT: 0,
      GMT: 0,
      EDT: -240,
      EST: -300,
      CDT: -300,
      CST: -360,
      MDT: -360,
      MST: -420,
      PDT: -420,
      PST: -480
    };

    function configFromISO(config) {
      var i,
          l,
          string = config._i,
          match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),
          allowTime,
          dateFormat,
          timeFormat,
          tzFormat,
          isoDatesLen = isoDates.length,
          isoTimesLen = isoTimes.length;

      if (match) {
        getParsingFlags(config).iso = true;

        for (i = 0, l = isoDatesLen; i < l; i++) {
          if (isoDates[i][1].exec(match[1])) {
            dateFormat = isoDates[i][0];
            allowTime = isoDates[i][2] !== false;
            break;
          }
        }

        if (dateFormat == null) {
          config._isValid = false;
          return;
        }

        if (match[3]) {
          for (i = 0, l = isoTimesLen; i < l; i++) {
            if (isoTimes[i][1].exec(match[3])) {
              timeFormat = (match[2] || ' ') + isoTimes[i][0];
              break;
            }
          }

          if (timeFormat == null) {
            config._isValid = false;
            return;
          }
        }

        if (!allowTime && timeFormat != null) {
          config._isValid = false;
          return;
        }

        if (match[4]) {
          if (tzRegex.exec(match[4])) {
            tzFormat = 'Z';
          } else {
            config._isValid = false;
            return;
          }
        }

        config._f = dateFormat + (timeFormat || '') + (tzFormat || '');
        configFromStringAndFormat(config);
      } else {
        config._isValid = false;
      }
    }

    function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {
      var result = [untruncateYear(yearStr), defaultLocaleMonthsShort.indexOf(monthStr), parseInt(dayStr, 10), parseInt(hourStr, 10), parseInt(minuteStr, 10)];

      if (secondStr) {
        result.push(parseInt(secondStr, 10));
      }

      return result;
    }

    function untruncateYear(yearStr) {
      var year = parseInt(yearStr, 10);

      if (year <= 49) {
        return 2000 + year;
      } else if (year <= 999) {
        return 1900 + year;
      }

      return year;
    }

    function preprocessRFC2822(s) {
      return s.replace(/\([^()]*\)|[\n\t]/g, ' ').replace(/(\s\s+)/g, ' ').replace(/^\s\s*/, '').replace(/\s\s*$/, '');
    }

    function checkWeekday(weekdayStr, parsedInput, config) {
      if (weekdayStr) {
        var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),
            weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();

        if (weekdayProvided !== weekdayActual) {
          getParsingFlags(config).weekdayMismatch = true;
          config._isValid = false;
          return false;
        }
      }

      return true;
    }

    function calculateOffset(obsOffset, militaryOffset, numOffset) {
      if (obsOffset) {
        return obsOffsets[obsOffset];
      } else if (militaryOffset) {
        return 0;
      } else {
        var hm = parseInt(numOffset, 10),
            m = hm % 100,
            h = (hm - m) / 100;
        return h * 60 + m;
      }
    }

    function configFromRFC2822(config) {
      var match = rfc2822.exec(preprocessRFC2822(config._i)),
          parsedArray;

      if (match) {
        parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);

        if (!checkWeekday(match[1], parsedArray, config)) {
          return;
        }

        config._a = parsedArray;
        config._tzm = calculateOffset(match[8], match[9], match[10]);
        config._d = createUTCDate.apply(null, config._a);

        config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);

        getParsingFlags(config).rfc2822 = true;
      } else {
        config._isValid = false;
      }
    }

    function configFromString(config) {
      var matched = aspNetJsonRegex.exec(config._i);

      if (matched !== null) {
        config._d = new Date(+matched[1]);
        return;
      }

      configFromISO(config);

      if (config._isValid === false) {
        delete config._isValid;
      } else {
        return;
      }

      configFromRFC2822(config);

      if (config._isValid === false) {
        delete config._isValid;
      } else {
        return;
      }

      if (config._strict) {
        config._isValid = false;
      } else {
        hooks.createFromInputFallback(config);
      }
    }

    hooks.createFromInputFallback = deprecate("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.", function (config) {
      config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));
    });

    function defaults(a, b, c) {
      if (a != null) {
        return a;
      }

      if (b != null) {
        return b;
      }

      return c;
    }

    function currentDateArray(config) {
      var nowValue = new Date(hooks.now());

      if (config._useUTC) {
        return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];
      }

      return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];
    }

    function configFromArray(config) {
      var i,
          date,
          input = [],
          currentDate,
          expectedWeekday,
          yearToUse;

      if (config._d) {
        return;
      }

      currentDate = currentDateArray(config);

      if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
        dayOfYearFromWeekInfo(config);
      }

      if (config._dayOfYear != null) {
        yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);

        if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {
          getParsingFlags(config)._overflowDayOfYear = true;
        }

        date = createUTCDate(yearToUse, 0, config._dayOfYear);
        config._a[MONTH] = date.getUTCMonth();
        config._a[DATE] = date.getUTCDate();
      }

      for (i = 0; i < 3 && config._a[i] == null; ++i) {
        config._a[i] = input[i] = currentDate[i];
      }

      for (; i < 7; i++) {
        config._a[i] = input[i] = config._a[i] == null ? i === 2 ? 1 : 0 : config._a[i];
      }

      if (config._a[HOUR] === 24 && config._a[MINUTE] === 0 && config._a[SECOND] === 0 && config._a[MILLISECOND] === 0) {
        config._nextDay = true;
        config._a[HOUR] = 0;
      }

      config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);
      expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();

      if (config._tzm != null) {
        config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
      }

      if (config._nextDay) {
        config._a[HOUR] = 24;
      }

      if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {
        getParsingFlags(config).weekdayMismatch = true;
      }
    }

    function dayOfYearFromWeekInfo(config) {
      var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;
      w = config._w;

      if (w.GG != null || w.W != null || w.E != null) {
        dow = 1;
        doy = 4;
        weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);
        week = defaults(w.W, 1);
        weekday = defaults(w.E, 1);

        if (weekday < 1 || weekday > 7) {
          weekdayOverflow = true;
        }
      } else {
        dow = config._locale._week.dow;
        doy = config._locale._week.doy;
        curWeek = weekOfYear(createLocal(), dow, doy);
        weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);
        week = defaults(w.w, curWeek.week);

        if (w.d != null) {
          weekday = w.d;

          if (weekday < 0 || weekday > 6) {
            weekdayOverflow = true;
          }
        } else if (w.e != null) {
          weekday = w.e + dow;

          if (w.e < 0 || w.e > 6) {
            weekdayOverflow = true;
          }
        } else {
          weekday = dow;
        }
      }

      if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {
        getParsingFlags(config)._overflowWeeks = true;
      } else if (weekdayOverflow != null) {
        getParsingFlags(config)._overflowWeekday = true;
      } else {
        temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);
        config._a[YEAR] = temp.year;
        config._dayOfYear = temp.dayOfYear;
      }
    }

    hooks.ISO_8601 = function () {};

    hooks.RFC_2822 = function () {};

    function configFromStringAndFormat(config) {
      if (config._f === hooks.ISO_8601) {
        configFromISO(config);
        return;
      }

      if (config._f === hooks.RFC_2822) {
        configFromRFC2822(config);
        return;
      }

      config._a = [];
      getParsingFlags(config).empty = true;
      var string = '' + config._i,
          i,
          parsedInput,
          tokens,
          token,
          skipped,
          stringLength = string.length,
          totalParsedInputLength = 0,
          era,
          tokenLen;
      tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];
      tokenLen = tokens.length;

      for (i = 0; i < tokenLen; i++) {
        token = tokens[i];
        parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];

        if (parsedInput) {
          skipped = string.substr(0, string.indexOf(parsedInput));

          if (skipped.length > 0) {
            getParsingFlags(config).unusedInput.push(skipped);
          }

          string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
          totalParsedInputLength += parsedInput.length;
        }

        if (formatTokenFunctions[token]) {
          if (parsedInput) {
            getParsingFlags(config).empty = false;
          } else {
            getParsingFlags(config).unusedTokens.push(token);
          }

          addTimeToArrayFromToken(token, parsedInput, config);
        } else if (config._strict && !parsedInput) {
          getParsingFlags(config).unusedTokens.push(token);
        }
      }

      getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;

      if (string.length > 0) {
        getParsingFlags(config).unusedInput.push(string);
      }

      if (config._a[HOUR] <= 12 && getParsingFlags(config).bigHour === true && config._a[HOUR] > 0) {
        getParsingFlags(config).bigHour = undefined;
      }

      getParsingFlags(config).parsedDateParts = config._a.slice(0);
      getParsingFlags(config).meridiem = config._meridiem;
      config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);
      era = getParsingFlags(config).era;

      if (era !== null) {
        config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);
      }

      configFromArray(config);
      checkOverflow(config);
    }

    function meridiemFixWrap(locale, hour, meridiem) {
      var isPm;

      if (meridiem == null) {
        return hour;
      }

      if (locale.meridiemHour != null) {
        return locale.meridiemHour(hour, meridiem);
      } else if (locale.isPM != null) {
        isPm = locale.isPM(meridiem);

        if (isPm && hour < 12) {
          hour += 12;
        }

        if (!isPm && hour === 12) {
          hour = 0;
        }

        return hour;
      } else {
        return hour;
      }
    }

    function configFromStringAndArray(config) {
      var tempConfig,
          bestMoment,
          scoreToBeat,
          i,
          currentScore,
          validFormatFound,
          bestFormatIsValid = false,
          configfLen = config._f.length;

      if (configfLen === 0) {
        getParsingFlags(config).invalidFormat = true;
        config._d = new Date(NaN);
        return;
      }

      for (i = 0; i < configfLen; i++) {
        currentScore = 0;
        validFormatFound = false;
        tempConfig = copyConfig({}, config);

        if (config._useUTC != null) {
          tempConfig._useUTC = config._useUTC;
        }

        tempConfig._f = config._f[i];
        configFromStringAndFormat(tempConfig);

        if (isValid(tempConfig)) {
          validFormatFound = true;
        }

        currentScore += getParsingFlags(tempConfig).charsLeftOver;
        currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;
        getParsingFlags(tempConfig).score = currentScore;

        if (!bestFormatIsValid) {
          if (scoreToBeat == null || currentScore < scoreToBeat || validFormatFound) {
            scoreToBeat = currentScore;
            bestMoment = tempConfig;

            if (validFormatFound) {
              bestFormatIsValid = true;
            }
          }
        } else {
          if (currentScore < scoreToBeat) {
            scoreToBeat = currentScore;
            bestMoment = tempConfig;
          }
        }
      }

      extend(config, bestMoment || tempConfig);
    }

    function configFromObject(config) {
      if (config._d) {
        return;
      }

      var i = normalizeObjectUnits(config._i),
          dayOrDate = i.day === undefined ? i.date : i.day;
      config._a = map([i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond], function (obj) {
        return obj && parseInt(obj, 10);
      });
      configFromArray(config);
    }

    function createFromConfig(config) {
      var res = new Moment(checkOverflow(prepareConfig(config)));

      if (res._nextDay) {
        res.add(1, 'd');
        res._nextDay = undefined;
      }

      return res;
    }

    function prepareConfig(config) {
      var input = config._i,
          format = config._f;
      config._locale = config._locale || getLocale(config._l);

      if (input === null || format === undefined && input === '') {
        return createInvalid({
          nullInput: true
        });
      }

      if (typeof input === 'string') {
        config._i = input = config._locale.preparse(input);
      }

      if (isMoment(input)) {
        return new Moment(checkOverflow(input));
      } else if (isDate(input)) {
        config._d = input;
      } else if (isArray(format)) {
        configFromStringAndArray(config);
      } else if (format) {
        configFromStringAndFormat(config);
      } else {
        configFromInput(config);
      }

      if (!isValid(config)) {
        config._d = null;
      }

      return config;
    }

    function configFromInput(config) {
      var input = config._i;

      if (isUndefined(input)) {
        config._d = new Date(hooks.now());
      } else if (isDate(input)) {
        config._d = new Date(input.valueOf());
      } else if (typeof input === 'string') {
        configFromString(config);
      } else if (isArray(input)) {
        config._a = map(input.slice(0), function (obj) {
          return parseInt(obj, 10);
        });
        configFromArray(config);
      } else if (isObject(input)) {
        configFromObject(config);
      } else if (isNumber(input)) {
        config._d = new Date(input);
      } else {
        hooks.createFromInputFallback(config);
      }
    }

    function createLocalOrUTC(input, format, locale, strict, isUTC) {
      var c = {};

      if (format === true || format === false) {
        strict = format;
        format = undefined;
      }

      if (locale === true || locale === false) {
        strict = locale;
        locale = undefined;
      }

      if (isObject(input) && isObjectEmpty(input) || isArray(input) && input.length === 0) {
        input = undefined;
      }

      c._isAMomentObject = true;
      c._useUTC = c._isUTC = isUTC;
      c._l = locale;
      c._i = input;
      c._f = format;
      c._strict = strict;
      return createFromConfig(c);
    }

    function createLocal(input, format, locale, strict) {
      return createLocalOrUTC(input, format, locale, strict, false);
    }

    var prototypeMin = deprecate('moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', function () {
      var other = createLocal.apply(null, arguments);

      if (this.isValid() && other.isValid()) {
        return other < this ? this : other;
      } else {
        return createInvalid();
      }
    }),
        prototypeMax = deprecate('moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', function () {
      var other = createLocal.apply(null, arguments);

      if (this.isValid() && other.isValid()) {
        return other > this ? this : other;
      } else {
        return createInvalid();
      }
    });

    function pickBy(fn, moments) {
      var res, i;

      if (moments.length === 1 && isArray(moments[0])) {
        moments = moments[0];
      }

      if (!moments.length) {
        return createLocal();
      }

      res = moments[0];

      for (i = 1; i < moments.length; ++i) {
        if (!moments[i].isValid() || moments[i][fn](res)) {
          res = moments[i];
        }
      }

      return res;
    }

    function min() {
      var args = [].slice.call(arguments, 0);
      return pickBy('isBefore', args);
    }

    function max() {
      var args = [].slice.call(arguments, 0);
      return pickBy('isAfter', args);
    }

    var now = function now() {
      return Date.now ? Date.now() : +new Date();
    };

    var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];

    function isDurationValid(m) {
      var key,
          unitHasDecimal = false,
          i,
          orderLen = ordering.length;

      for (key in m) {
        if (hasOwnProp(m, key) && !(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {
          return false;
        }
      }

      for (i = 0; i < orderLen; ++i) {
        if (m[ordering[i]]) {
          if (unitHasDecimal) {
            return false;
          }

          if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {
            unitHasDecimal = true;
          }
        }
      }

      return true;
    }

    function isValid$1() {
      return this._isValid;
    }

    function createInvalid$1() {
      return createDuration(NaN);
    }

    function Duration(duration) {
      var normalizedInput = normalizeObjectUnits(duration),
          years = normalizedInput.year || 0,
          quarters = normalizedInput.quarter || 0,
          months = normalizedInput.month || 0,
          weeks = normalizedInput.week || normalizedInput.isoWeek || 0,
          days = normalizedInput.day || 0,
          hours = normalizedInput.hour || 0,
          minutes = normalizedInput.minute || 0,
          seconds = normalizedInput.second || 0,
          milliseconds = normalizedInput.millisecond || 0;
      this._isValid = isDurationValid(normalizedInput);
      this._milliseconds = +milliseconds + seconds * 1e3 + minutes * 6e4 + hours * 1000 * 60 * 60;
      this._days = +days + weeks * 7;
      this._months = +months + quarters * 3 + years * 12;
      this._data = {};
      this._locale = getLocale();

      this._bubble();
    }

    function isDuration(obj) {
      return obj instanceof Duration;
    }

    function absRound(number) {
      if (number < 0) {
        return Math.round(-1 * number) * -1;
      } else {
        return Math.round(number);
      }
    }

    function compareArrays(array1, array2, dontConvert) {
      var len = Math.min(array1.length, array2.length),
          lengthDiff = Math.abs(array1.length - array2.length),
          diffs = 0,
          i;

      for (i = 0; i < len; i++) {
        if (dontConvert && array1[i] !== array2[i] || !dontConvert && toInt(array1[i]) !== toInt(array2[i])) {
          diffs++;
        }
      }

      return diffs + lengthDiff;
    }

    function offset(token, separator) {
      addFormatToken(token, 0, 0, function () {
        var offset = this.utcOffset(),
            sign = '+';

        if (offset < 0) {
          offset = -offset;
          sign = '-';
        }

        return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~offset % 60, 2);
      });
    }

    offset('Z', ':');
    offset('ZZ', '');
    addRegexToken('Z', matchShortOffset);
    addRegexToken('ZZ', matchShortOffset);
    addParseToken(['Z', 'ZZ'], function (input, array, config) {
      config._useUTC = true;
      config._tzm = offsetFromString(matchShortOffset, input);
    });
    var chunkOffset = /([\+\-]|\d\d)/gi;

    function offsetFromString(matcher, string) {
      var matches = (string || '').match(matcher),
          chunk,
          parts,
          minutes;

      if (matches === null) {
        return null;
      }

      chunk = matches[matches.length - 1] || [];
      parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];
      minutes = +(parts[1] * 60) + toInt(parts[2]);
      return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;
    }

    function cloneWithOffset(input, model) {
      var res, diff;

      if (model._isUTC) {
        res = model.clone();
        diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();

        res._d.setTime(res._d.valueOf() + diff);

        hooks.updateOffset(res, false);
        return res;
      } else {
        return createLocal(input).local();
      }
    }

    function getDateOffset(m) {
      return -Math.round(m._d.getTimezoneOffset());
    }

    hooks.updateOffset = function () {};

    function getSetOffset(input, keepLocalTime, keepMinutes) {
      var offset = this._offset || 0,
          localAdjust;

      if (!this.isValid()) {
        return input != null ? this : NaN;
      }

      if (input != null) {
        if (typeof input === 'string') {
          input = offsetFromString(matchShortOffset, input);

          if (input === null) {
            return this;
          }
        } else if (Math.abs(input) < 16 && !keepMinutes) {
          input = input * 60;
        }

        if (!this._isUTC && keepLocalTime) {
          localAdjust = getDateOffset(this);
        }

        this._offset = input;
        this._isUTC = true;

        if (localAdjust != null) {
          this.add(localAdjust, 'm');
        }

        if (offset !== input) {
          if (!keepLocalTime || this._changeInProgress) {
            addSubtract(this, createDuration(input - offset, 'm'), 1, false);
          } else if (!this._changeInProgress) {
            this._changeInProgress = true;
            hooks.updateOffset(this, true);
            this._changeInProgress = null;
          }
        }

        return this;
      } else {
        return this._isUTC ? offset : getDateOffset(this);
      }
    }

    function getSetZone(input, keepLocalTime) {
      if (input != null) {
        if (typeof input !== 'string') {
          input = -input;
        }

        this.utcOffset(input, keepLocalTime);
        return this;
      } else {
        return -this.utcOffset();
      }
    }

    function setOffsetToUTC(keepLocalTime) {
      return this.utcOffset(0, keepLocalTime);
    }

    function setOffsetToLocal(keepLocalTime) {
      if (this._isUTC) {
        this.utcOffset(0, keepLocalTime);
        this._isUTC = false;

        if (keepLocalTime) {
          this.subtract(getDateOffset(this), 'm');
        }
      }

      return this;
    }

    function setOffsetToParsedOffset() {
      if (this._tzm != null) {
        this.utcOffset(this._tzm, false, true);
      } else if (typeof this._i === 'string') {
        var tZone = offsetFromString(matchOffset, this._i);

        if (tZone != null) {
          this.utcOffset(tZone);
        } else {
          this.utcOffset(0, true);
        }
      }

      return this;
    }

    function hasAlignedHourOffset(input) {
      if (!this.isValid()) {
        return false;
      }

      input = input ? createLocal(input).utcOffset() : 0;
      return (this.utcOffset() - input) % 60 === 0;
    }

    function isDaylightSavingTime() {
      return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset();
    }

    function isDaylightSavingTimeShifted() {
      if (!isUndefined(this._isDSTShifted)) {
        return this._isDSTShifted;
      }

      var c = {},
          other;
      copyConfig(c, this);
      c = prepareConfig(c);

      if (c._a) {
        other = c._isUTC ? createUTC(c._a) : createLocal(c._a);
        this._isDSTShifted = this.isValid() && compareArrays(c._a, other.toArray()) > 0;
      } else {
        this._isDSTShifted = false;
      }

      return this._isDSTShifted;
    }

    function isLocal() {
      return this.isValid() ? !this._isUTC : false;
    }

    function isUtcOffset() {
      return this.isValid() ? this._isUTC : false;
    }

    function isUtc() {
      return this.isValid() ? this._isUTC && this._offset === 0 : false;
    }

    var aspNetRegex = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,
        isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;

    function createDuration(input, key) {
      var duration = input,
          match = null,
          sign,
          ret,
          diffRes;

      if (isDuration(input)) {
        duration = {
          ms: input._milliseconds,
          d: input._days,
          M: input._months
        };
      } else if (isNumber(input) || !isNaN(+input)) {
        duration = {};

        if (key) {
          duration[key] = +input;
        } else {
          duration.milliseconds = +input;
        }
      } else if (match = aspNetRegex.exec(input)) {
        sign = match[1] === '-' ? -1 : 1;
        duration = {
          y: 0,
          d: toInt(match[DATE]) * sign,
          h: toInt(match[HOUR]) * sign,
          m: toInt(match[MINUTE]) * sign,
          s: toInt(match[SECOND]) * sign,
          ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign
        };
      } else if (match = isoRegex.exec(input)) {
        sign = match[1] === '-' ? -1 : 1;
        duration = {
          y: parseIso(match[2], sign),
          M: parseIso(match[3], sign),
          w: parseIso(match[4], sign),
          d: parseIso(match[5], sign),
          h: parseIso(match[6], sign),
          m: parseIso(match[7], sign),
          s: parseIso(match[8], sign)
        };
      } else if (duration == null) {
        duration = {};
      } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {
        diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));
        duration = {};
        duration.ms = diffRes.milliseconds;
        duration.M = diffRes.months;
      }

      ret = new Duration(duration);

      if (isDuration(input) && hasOwnProp(input, '_locale')) {
        ret._locale = input._locale;
      }

      if (isDuration(input) && hasOwnProp(input, '_isValid')) {
        ret._isValid = input._isValid;
      }

      return ret;
    }

    createDuration.fn = Duration.prototype;
    createDuration.invalid = createInvalid$1;

    function parseIso(inp, sign) {
      var res = inp && parseFloat(inp.replace(',', '.'));
      return (isNaN(res) ? 0 : res) * sign;
    }

    function positiveMomentsDifference(base, other) {
      var res = {};
      res.months = other.month() - base.month() + (other.year() - base.year()) * 12;

      if (base.clone().add(res.months, 'M').isAfter(other)) {
        --res.months;
      }

      res.milliseconds = +other - +base.clone().add(res.months, 'M');
      return res;
    }

    function momentsDifference(base, other) {
      var res;

      if (!(base.isValid() && other.isValid())) {
        return {
          milliseconds: 0,
          months: 0
        };
      }

      other = cloneWithOffset(other, base);

      if (base.isBefore(other)) {
        res = positiveMomentsDifference(base, other);
      } else {
        res = positiveMomentsDifference(other, base);
        res.milliseconds = -res.milliseconds;
        res.months = -res.months;
      }

      return res;
    }

    function createAdder(direction, name) {
      return function (val, period) {
        var dur, tmp;

        if (period !== null && !isNaN(+period)) {
          deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' + 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');
          tmp = val;
          val = period;
          period = tmp;
        }

        dur = createDuration(val, period);
        addSubtract(this, dur, direction);
        return this;
      };
    }

    function addSubtract(mom, duration, isAdding, updateOffset) {
      var milliseconds = duration._milliseconds,
          days = absRound(duration._days),
          months = absRound(duration._months);

      if (!mom.isValid()) {
        return;
      }

      updateOffset = updateOffset == null ? true : updateOffset;

      if (months) {
        setMonth(mom, get(mom, 'Month') + months * isAdding);
      }

      if (days) {
        set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);
      }

      if (milliseconds) {
        mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);
      }

      if (updateOffset) {
        hooks.updateOffset(mom, days || months);
      }
    }

    var add = createAdder(1, 'add'),
        subtract = createAdder(-1, 'subtract');

    function isString(input) {
      return typeof input === 'string' || input instanceof String;
    }

    function isMomentInput(input) {
      return isMoment(input) || isDate(input) || isString(input) || isNumber(input) || isNumberOrStringArray(input) || isMomentInputObject(input) || input === null || input === undefined;
    }

    function isMomentInputObject(input) {
      var objectTest = isObject(input) && !isObjectEmpty(input),
          propertyTest = false,
          properties = ['years', 'year', 'y', 'months', 'month', 'M', 'days', 'day', 'd', 'dates', 'date', 'D', 'hours', 'hour', 'h', 'minutes', 'minute', 'm', 'seconds', 'second', 's', 'milliseconds', 'millisecond', 'ms'],
          i,
          property,
          propertyLen = properties.length;

      for (i = 0; i < propertyLen; i += 1) {
        property = properties[i];
        propertyTest = propertyTest || hasOwnProp(input, property);
      }

      return objectTest && propertyTest;
    }

    function isNumberOrStringArray(input) {
      var arrayTest = isArray(input),
          dataTypeTest = false;

      if (arrayTest) {
        dataTypeTest = input.filter(function (item) {
          return !isNumber(item) && isString(input);
        }).length === 0;
      }

      return arrayTest && dataTypeTest;
    }

    function isCalendarSpec(input) {
      var objectTest = isObject(input) && !isObjectEmpty(input),
          propertyTest = false,
          properties = ['sameDay', 'nextDay', 'lastDay', 'nextWeek', 'lastWeek', 'sameElse'],
          i,
          property;

      for (i = 0; i < properties.length; i += 1) {
        property = properties[i];
        propertyTest = propertyTest || hasOwnProp(input, property);
      }

      return objectTest && propertyTest;
    }

    function getCalendarFormat(myMoment, now) {
      var diff = myMoment.diff(now, 'days', true);
      return diff < -6 ? 'sameElse' : diff < -1 ? 'lastWeek' : diff < 0 ? 'lastDay' : diff < 1 ? 'sameDay' : diff < 2 ? 'nextDay' : diff < 7 ? 'nextWeek' : 'sameElse';
    }

    function calendar$1(time, formats) {
      if (arguments.length === 1) {
        if (!arguments[0]) {
          time = undefined;
          formats = undefined;
        } else if (isMomentInput(arguments[0])) {
          time = arguments[0];
          formats = undefined;
        } else if (isCalendarSpec(arguments[0])) {
          formats = arguments[0];
          time = undefined;
        }
      }

      var now = time || createLocal(),
          sod = cloneWithOffset(now, this).startOf('day'),
          format = hooks.calendarFormat(this, sod) || 'sameElse',
          output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);
      return this.format(output || this.localeData().calendar(format, this, createLocal(now)));
    }

    function clone() {
      return new Moment(this);
    }

    function isAfter(input, units) {
      var localInput = isMoment(input) ? input : createLocal(input);

      if (!(this.isValid() && localInput.isValid())) {
        return false;
      }

      units = normalizeUnits(units) || 'millisecond';

      if (units === 'millisecond') {
        return this.valueOf() > localInput.valueOf();
      } else {
        return localInput.valueOf() < this.clone().startOf(units).valueOf();
      }
    }

    function isBefore(input, units) {
      var localInput = isMoment(input) ? input : createLocal(input);

      if (!(this.isValid() && localInput.isValid())) {
        return false;
      }

      units = normalizeUnits(units) || 'millisecond';

      if (units === 'millisecond') {
        return this.valueOf() < localInput.valueOf();
      } else {
        return this.clone().endOf(units).valueOf() < localInput.valueOf();
      }
    }

    function isBetween(from, to, units, inclusivity) {
      var localFrom = isMoment(from) ? from : createLocal(from),
          localTo = isMoment(to) ? to : createLocal(to);

      if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {
        return false;
      }

      inclusivity = inclusivity || '()';
      return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) && (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));
    }

    function isSame(input, units) {
      var localInput = isMoment(input) ? input : createLocal(input),
          inputMs;

      if (!(this.isValid() && localInput.isValid())) {
        return false;
      }

      units = normalizeUnits(units) || 'millisecond';

      if (units === 'millisecond') {
        return this.valueOf() === localInput.valueOf();
      } else {
        inputMs = localInput.valueOf();
        return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();
      }
    }

    function isSameOrAfter(input, units) {
      return this.isSame(input, units) || this.isAfter(input, units);
    }

    function isSameOrBefore(input, units) {
      return this.isSame(input, units) || this.isBefore(input, units);
    }

    function diff(input, units, asFloat) {
      var that, zoneDelta, output;

      if (!this.isValid()) {
        return NaN;
      }

      that = cloneWithOffset(input, this);

      if (!that.isValid()) {
        return NaN;
      }

      zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;
      units = normalizeUnits(units);

      switch (units) {
        case 'year':
          output = monthDiff(this, that) / 12;
          break;

        case 'month':
          output = monthDiff(this, that);
          break;

        case 'quarter':
          output = monthDiff(this, that) / 3;
          break;

        case 'second':
          output = (this - that) / 1e3;
          break;

        case 'minute':
          output = (this - that) / 6e4;
          break;

        case 'hour':
          output = (this - that) / 36e5;
          break;

        case 'day':
          output = (this - that - zoneDelta) / 864e5;
          break;

        case 'week':
          output = (this - that - zoneDelta) / 6048e5;
          break;

        default:
          output = this - that;
      }

      return asFloat ? output : absFloor(output);
    }

    function monthDiff(a, b) {
      if (a.date() < b.date()) {
        return -monthDiff(b, a);
      }

      var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),
          anchor = a.clone().add(wholeMonthDiff, 'months'),
          anchor2,
          adjust;

      if (b - anchor < 0) {
        anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');
        adjust = (b - anchor) / (anchor - anchor2);
      } else {
        anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');
        adjust = (b - anchor) / (anchor2 - anchor);
      }

      return -(wholeMonthDiff + adjust) || 0;
    }

    hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';
    hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';

    function toString() {
      return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
    }

    function toISOString(keepOffset) {
      if (!this.isValid()) {
        return null;
      }

      var utc = keepOffset !== true,
          m = utc ? this.clone().utc() : this;

      if (m.year() < 0 || m.year() > 9999) {
        return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');
      }

      if (isFunction(Date.prototype.toISOString)) {
        if (utc) {
          return this.toDate().toISOString();
        } else {
          return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));
        }
      }

      return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');
    }

    function inspect() {
      if (!this.isValid()) {
        return 'moment.invalid(/* ' + this._i + ' */)';
      }

      var func = 'moment',
          zone = '',
          prefix,
          year,
          datetime,
          suffix;

      if (!this.isLocal()) {
        func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';
        zone = 'Z';
      }

      prefix = '[' + func + '("]';
      year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';
      datetime = '-MM-DD[T]HH:mm:ss.SSS';
      suffix = zone + '[")]';
      return this.format(prefix + year + datetime + suffix);
    }

    function format(inputString) {
      if (!inputString) {
        inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;
      }

      var output = formatMoment(this, inputString);
      return this.localeData().postformat(output);
    }

    function from(time, withoutSuffix) {
      if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) {
        return createDuration({
          to: this,
          from: time
        }).locale(this.locale()).humanize(!withoutSuffix);
      } else {
        return this.localeData().invalidDate();
      }
    }

    function fromNow(withoutSuffix) {
      return this.from(createLocal(), withoutSuffix);
    }

    function to(time, withoutSuffix) {
      if (this.isValid() && (isMoment(time) && time.isValid() || createLocal(time).isValid())) {
        return createDuration({
          from: this,
          to: time
        }).locale(this.locale()).humanize(!withoutSuffix);
      } else {
        return this.localeData().invalidDate();
      }
    }

    function toNow(withoutSuffix) {
      return this.to(createLocal(), withoutSuffix);
    }

    function locale(key) {
      var newLocaleData;

      if (key === undefined) {
        return this._locale._abbr;
      } else {
        newLocaleData = getLocale(key);

        if (newLocaleData != null) {
          this._locale = newLocaleData;
        }

        return this;
      }
    }

    var lang = deprecate('moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', function (key) {
      if (key === undefined) {
        return this.localeData();
      } else {
        return this.locale(key);
      }
    });

    function localeData() {
      return this._locale;
    }

    var MS_PER_SECOND = 1000,
        MS_PER_MINUTE = 60000,
        MS_PER_HOUR = 3600000,
        MS_PER_400_YEARS = 12622780800000;

    function mod$1(dividend, divisor) {
      return (dividend % divisor + divisor) % divisor;
    }

    function localStartOfDate(y, m, d) {
      if (y < 100 && y >= 0) {
        return new Date(y + 400, m, d) - MS_PER_400_YEARS;
      } else {
        return new Date(y, m, d).valueOf();
      }
    }

    function utcStartOfDate(y, m, d) {
      if (y < 100 && y >= 0) {
        return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;
      } else {
        return Date.UTC(y, m, d);
      }
    }

    function startOf(units) {
      var time, startOfDate;
      units = normalizeUnits(units);

      if (units === undefined || units === 'millisecond' || !this.isValid()) {
        return this;
      }

      startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;

      switch (units) {
        case 'year':
          time = startOfDate(this.year(), 0, 1);
          break;

        case 'quarter':
          time = startOfDate(this.year(), this.month() - this.month() % 3, 1);
          break;

        case 'month':
          time = startOfDate(this.year(), this.month(), 1);
          break;

        case 'week':
          time = startOfDate(this.year(), this.month(), this.date() - this.weekday());
          break;

        case 'isoWeek':
          time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));
          break;

        case 'day':
        case 'date':
          time = startOfDate(this.year(), this.month(), this.date());
          break;

        case 'hour':
          time = this._d.valueOf();
          time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);
          break;

        case 'minute':
          time = this._d.valueOf();
          time -= mod$1(time, MS_PER_MINUTE);
          break;

        case 'second':
          time = this._d.valueOf();
          time -= mod$1(time, MS_PER_SECOND);
          break;
      }

      this._d.setTime(time);

      hooks.updateOffset(this, true);
      return this;
    }

    function endOf(units) {
      var time, startOfDate;
      units = normalizeUnits(units);

      if (units === undefined || units === 'millisecond' || !this.isValid()) {
        return this;
      }

      startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;

      switch (units) {
        case 'year':
          time = startOfDate(this.year() + 1, 0, 1) - 1;
          break;

        case 'quarter':
          time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;
          break;

        case 'month':
          time = startOfDate(this.year(), this.month() + 1, 1) - 1;
          break;

        case 'week':
          time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;
          break;

        case 'isoWeek':
          time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;
          break;

        case 'day':
        case 'date':
          time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;
          break;

        case 'hour':
          time = this._d.valueOf();
          time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;
          break;

        case 'minute':
          time = this._d.valueOf();
          time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;
          break;

        case 'second':
          time = this._d.valueOf();
          time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;
          break;
      }

      this._d.setTime(time);

      hooks.updateOffset(this, true);
      return this;
    }

    function valueOf() {
      return this._d.valueOf() - (this._offset || 0) * 60000;
    }

    function unix() {
      return Math.floor(this.valueOf() / 1000);
    }

    function toDate() {
      return new Date(this.valueOf());
    }

    function toArray() {
      var m = this;
      return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];
    }

    function toObject() {
      var m = this;
      return {
        years: m.year(),
        months: m.month(),
        date: m.date(),
        hours: m.hours(),
        minutes: m.minutes(),
        seconds: m.seconds(),
        milliseconds: m.milliseconds()
      };
    }

    function toJSON() {
      return this.isValid() ? this.toISOString() : null;
    }

    function isValid$2() {
      return isValid(this);
    }

    function parsingFlags() {
      return extend({}, getParsingFlags(this));
    }

    function invalidAt() {
      return getParsingFlags(this).overflow;
    }

    function creationData() {
      return {
        input: this._i,
        format: this._f,
        locale: this._locale,
        isUTC: this._isUTC,
        strict: this._strict
      };
    }

    addFormatToken('N', 0, 0, 'eraAbbr');
    addFormatToken('NN', 0, 0, 'eraAbbr');
    addFormatToken('NNN', 0, 0, 'eraAbbr');
    addFormatToken('NNNN', 0, 0, 'eraName');
    addFormatToken('NNNNN', 0, 0, 'eraNarrow');
    addFormatToken('y', ['y', 1], 'yo', 'eraYear');
    addFormatToken('y', ['yy', 2], 0, 'eraYear');
    addFormatToken('y', ['yyy', 3], 0, 'eraYear');
    addFormatToken('y', ['yyyy', 4], 0, 'eraYear');
    addRegexToken('N', matchEraAbbr);
    addRegexToken('NN', matchEraAbbr);
    addRegexToken('NNN', matchEraAbbr);
    addRegexToken('NNNN', matchEraName);
    addRegexToken('NNNNN', matchEraNarrow);
    addParseToken(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function (input, array, config, token) {
      var era = config._locale.erasParse(input, token, config._strict);

      if (era) {
        getParsingFlags(config).era = era;
      } else {
        getParsingFlags(config).invalidEra = input;
      }
    });
    addRegexToken('y', matchUnsigned);
    addRegexToken('yy', matchUnsigned);
    addRegexToken('yyy', matchUnsigned);
    addRegexToken('yyyy', matchUnsigned);
    addRegexToken('yo', matchEraYearOrdinal);
    addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);
    addParseToken(['yo'], function (input, array, config, token) {
      var match;

      if (config._locale._eraYearOrdinalRegex) {
        match = input.match(config._locale._eraYearOrdinalRegex);
      }

      if (config._locale.eraYearOrdinalParse) {
        array[YEAR] = config._locale.eraYearOrdinalParse(input, match);
      } else {
        array[YEAR] = parseInt(input, 10);
      }
    });

    function localeEras(m, format) {
      var i,
          l,
          date,
          eras = this._eras || getLocale('en')._eras;

      for (i = 0, l = eras.length; i < l; ++i) {
        switch (typeof eras[i].since) {
          case 'string':
            date = hooks(eras[i].since).startOf('day');
            eras[i].since = date.valueOf();
            break;
        }

        switch (typeof eras[i].until) {
          case 'undefined':
            eras[i].until = 1 / 0;
            break;

          case 'string':
            date = hooks(eras[i].until).startOf('day').valueOf();
            eras[i].until = date.valueOf();
            break;
        }
      }

      return eras;
    }

    function localeErasParse(eraName, format, strict) {
      var i,
          l,
          eras = this.eras(),
          name,
          abbr,
          narrow;
      eraName = eraName.toUpperCase();

      for (i = 0, l = eras.length; i < l; ++i) {
        name = eras[i].name.toUpperCase();
        abbr = eras[i].abbr.toUpperCase();
        narrow = eras[i].narrow.toUpperCase();

        if (strict) {
          switch (format) {
            case 'N':
            case 'NN':
            case 'NNN':
              if (abbr === eraName) {
                return eras[i];
              }

              break;

            case 'NNNN':
              if (name === eraName) {
                return eras[i];
              }

              break;

            case 'NNNNN':
              if (narrow === eraName) {
                return eras[i];
              }

              break;
          }
        } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {
          return eras[i];
        }
      }
    }

    function localeErasConvertYear(era, year) {
      var dir = era.since <= era.until ? 1 : -1;

      if (year === undefined) {
        return hooks(era.since).year();
      } else {
        return hooks(era.since).year() + (year - era.offset) * dir;
      }
    }

    function getEraName() {
      var i,
          l,
          val,
          eras = this.localeData().eras();

      for (i = 0, l = eras.length; i < l; ++i) {
        val = this.clone().startOf('day').valueOf();

        if (eras[i].since <= val && val <= eras[i].until) {
          return eras[i].name;
        }

        if (eras[i].until <= val && val <= eras[i].since) {
          return eras[i].name;
        }
      }

      return '';
    }

    function getEraNarrow() {
      var i,
          l,
          val,
          eras = this.localeData().eras();

      for (i = 0, l = eras.length; i < l; ++i) {
        val = this.clone().startOf('day').valueOf();

        if (eras[i].since <= val && val <= eras[i].until) {
          return eras[i].narrow;
        }

        if (eras[i].until <= val && val <= eras[i].since) {
          return eras[i].narrow;
        }
      }

      return '';
    }

    function getEraAbbr() {
      var i,
          l,
          val,
          eras = this.localeData().eras();

      for (i = 0, l = eras.length; i < l; ++i) {
        val = this.clone().startOf('day').valueOf();

        if (eras[i].since <= val && val <= eras[i].until) {
          return eras[i].abbr;
        }

        if (eras[i].until <= val && val <= eras[i].since) {
          return eras[i].abbr;
        }
      }

      return '';
    }

    function getEraYear() {
      var i,
          l,
          dir,
          val,
          eras = this.localeData().eras();

      for (i = 0, l = eras.length; i < l; ++i) {
        dir = eras[i].since <= eras[i].until ? 1 : -1;
        val = this.clone().startOf('day').valueOf();

        if (eras[i].since <= val && val <= eras[i].until || eras[i].until <= val && val <= eras[i].since) {
          return (this.year() - hooks(eras[i].since).year()) * dir + eras[i].offset;
        }
      }

      return this.year();
    }

    function erasNameRegex(isStrict) {
      if (!hasOwnProp(this, '_erasNameRegex')) {
        computeErasParse.call(this);
      }

      return isStrict ? this._erasNameRegex : this._erasRegex;
    }

    function erasAbbrRegex(isStrict) {
      if (!hasOwnProp(this, '_erasAbbrRegex')) {
        computeErasParse.call(this);
      }

      return isStrict ? this._erasAbbrRegex : this._erasRegex;
    }

    function erasNarrowRegex(isStrict) {
      if (!hasOwnProp(this, '_erasNarrowRegex')) {
        computeErasParse.call(this);
      }

      return isStrict ? this._erasNarrowRegex : this._erasRegex;
    }

    function matchEraAbbr(isStrict, locale) {
      return locale.erasAbbrRegex(isStrict);
    }

    function matchEraName(isStrict, locale) {
      return locale.erasNameRegex(isStrict);
    }

    function matchEraNarrow(isStrict, locale) {
      return locale.erasNarrowRegex(isStrict);
    }

    function matchEraYearOrdinal(isStrict, locale) {
      return locale._eraYearOrdinalRegex || matchUnsigned;
    }

    function computeErasParse() {
      var abbrPieces = [],
          namePieces = [],
          narrowPieces = [],
          mixedPieces = [],
          i,
          l,
          eras = this.eras();

      for (i = 0, l = eras.length; i < l; ++i) {
        namePieces.push(regexEscape(eras[i].name));
        abbrPieces.push(regexEscape(eras[i].abbr));
        narrowPieces.push(regexEscape(eras[i].narrow));
        mixedPieces.push(regexEscape(eras[i].name));
        mixedPieces.push(regexEscape(eras[i].abbr));
        mixedPieces.push(regexEscape(eras[i].narrow));
      }

      this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
      this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');
      this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');
      this._erasNarrowRegex = new RegExp('^(' + narrowPieces.join('|') + ')', 'i');
    }

    addFormatToken(0, ['gg', 2], 0, function () {
      return this.weekYear() % 100;
    });
    addFormatToken(0, ['GG', 2], 0, function () {
      return this.isoWeekYear() % 100;
    });

    function addWeekYearFormatToken(token, getter) {
      addFormatToken(0, [token, token.length], 0, getter);
    }

    addWeekYearFormatToken('gggg', 'weekYear');
    addWeekYearFormatToken('ggggg', 'weekYear');
    addWeekYearFormatToken('GGGG', 'isoWeekYear');
    addWeekYearFormatToken('GGGGG', 'isoWeekYear');
    addUnitAlias('weekYear', 'gg');
    addUnitAlias('isoWeekYear', 'GG');
    addUnitPriority('weekYear', 1);
    addUnitPriority('isoWeekYear', 1);
    addRegexToken('G', matchSigned);
    addRegexToken('g', matchSigned);
    addRegexToken('GG', match1to2, match2);
    addRegexToken('gg', match1to2, match2);
    addRegexToken('GGGG', match1to4, match4);
    addRegexToken('gggg', match1to4, match4);
    addRegexToken('GGGGG', match1to6, match6);
    addRegexToken('ggggg', match1to6, match6);
    addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {
      week[token.substr(0, 2)] = toInt(input);
    });
    addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {
      week[token] = hooks.parseTwoDigitYear(input);
    });

    function getSetWeekYear(input) {
      return getSetWeekYearHelper.call(this, input, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy);
    }

    function getSetISOWeekYear(input) {
      return getSetWeekYearHelper.call(this, input, this.isoWeek(), this.isoWeekday(), 1, 4);
    }

    function getISOWeeksInYear() {
      return weeksInYear(this.year(), 1, 4);
    }

    function getISOWeeksInISOWeekYear() {
      return weeksInYear(this.isoWeekYear(), 1, 4);
    }

    function getWeeksInYear() {
      var weekInfo = this.localeData()._week;

      return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
    }

    function getWeeksInWeekYear() {
      var weekInfo = this.localeData()._week;

      return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);
    }

    function getSetWeekYearHelper(input, week, weekday, dow, doy) {
      var weeksTarget;

      if (input == null) {
        return weekOfYear(this, dow, doy).year;
      } else {
        weeksTarget = weeksInYear(input, dow, doy);

        if (week > weeksTarget) {
          week = weeksTarget;
        }

        return setWeekAll.call(this, input, week, weekday, dow, doy);
      }
    }

    function setWeekAll(weekYear, week, weekday, dow, doy) {
      var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),
          date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);
      this.year(date.getUTCFullYear());
      this.month(date.getUTCMonth());
      this.date(date.getUTCDate());
      return this;
    }

    addFormatToken('Q', 0, 'Qo', 'quarter');
    addUnitAlias('quarter', 'Q');
    addUnitPriority('quarter', 7);
    addRegexToken('Q', match1);
    addParseToken('Q', function (input, array) {
      array[MONTH] = (toInt(input) - 1) * 3;
    });

    function getSetQuarter(input) {
      return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);
    }

    addFormatToken('D', ['DD', 2], 'Do', 'date');
    addUnitAlias('date', 'D');
    addUnitPriority('date', 9);
    addRegexToken('D', match1to2);
    addRegexToken('DD', match1to2, match2);
    addRegexToken('Do', function (isStrict, locale) {
      return isStrict ? locale._dayOfMonthOrdinalParse || locale._ordinalParse : locale._dayOfMonthOrdinalParseLenient;
    });
    addParseToken(['D', 'DD'], DATE);
    addParseToken('Do', function (input, array) {
      array[DATE] = toInt(input.match(match1to2)[0]);
    });
    var getSetDayOfMonth = makeGetSet('Date', true);
    addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
    addUnitAlias('dayOfYear', 'DDD');
    addUnitPriority('dayOfYear', 4);
    addRegexToken('DDD', match1to3);
    addRegexToken('DDDD', match3);
    addParseToken(['DDD', 'DDDD'], function (input, array, config) {
      config._dayOfYear = toInt(input);
    });

    function getSetDayOfYear(input) {
      var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;
      return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');
    }

    addFormatToken('m', ['mm', 2], 0, 'minute');
    addUnitAlias('minute', 'm');
    addUnitPriority('minute', 14);
    addRegexToken('m', match1to2);
    addRegexToken('mm', match1to2, match2);
    addParseToken(['m', 'mm'], MINUTE);
    var getSetMinute = makeGetSet('Minutes', false);
    addFormatToken('s', ['ss', 2], 0, 'second');
    addUnitAlias('second', 's');
    addUnitPriority('second', 15);
    addRegexToken('s', match1to2);
    addRegexToken('ss', match1to2, match2);
    addParseToken(['s', 'ss'], SECOND);
    var getSetSecond = makeGetSet('Seconds', false);
    addFormatToken('S', 0, 0, function () {
      return ~~(this.millisecond() / 100);
    });
    addFormatToken(0, ['SS', 2], 0, function () {
      return ~~(this.millisecond() / 10);
    });
    addFormatToken(0, ['SSS', 3], 0, 'millisecond');
    addFormatToken(0, ['SSSS', 4], 0, function () {
      return this.millisecond() * 10;
    });
    addFormatToken(0, ['SSSSS', 5], 0, function () {
      return this.millisecond() * 100;
    });
    addFormatToken(0, ['SSSSSS', 6], 0, function () {
      return this.millisecond() * 1000;
    });
    addFormatToken(0, ['SSSSSSS', 7], 0, function () {
      return this.millisecond() * 10000;
    });
    addFormatToken(0, ['SSSSSSSS', 8], 0, function () {
      return this.millisecond() * 100000;
    });
    addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {
      return this.millisecond() * 1000000;
    });
    addUnitAlias('millisecond', 'ms');
    addUnitPriority('millisecond', 16);
    addRegexToken('S', match1to3, match1);
    addRegexToken('SS', match1to3, match2);
    addRegexToken('SSS', match1to3, match3);
    var token, getSetMillisecond;

    for (token = 'SSSS'; token.length <= 9; token += 'S') {
      addRegexToken(token, matchUnsigned);
    }

    function parseMs(input, array) {
      array[MILLISECOND] = toInt(('0.' + input) * 1000);
    }

    for (token = 'S'; token.length <= 9; token += 'S') {
      addParseToken(token, parseMs);
    }

    getSetMillisecond = makeGetSet('Milliseconds', false);
    addFormatToken('z', 0, 0, 'zoneAbbr');
    addFormatToken('zz', 0, 0, 'zoneName');

    function getZoneAbbr() {
      return this._isUTC ? 'UTC' : '';
    }

    function getZoneName() {
      return this._isUTC ? 'Coordinated Universal Time' : '';
    }

    var proto = Moment.prototype;
    proto.add = add;
    proto.calendar = calendar$1;
    proto.clone = clone;
    proto.diff = diff;
    proto.endOf = endOf;
    proto.format = format;
    proto.from = from;
    proto.fromNow = fromNow;
    proto.to = to;
    proto.toNow = toNow;
    proto.get = stringGet;
    proto.invalidAt = invalidAt;
    proto.isAfter = isAfter;
    proto.isBefore = isBefore;
    proto.isBetween = isBetween;
    proto.isSame = isSame;
    proto.isSameOrAfter = isSameOrAfter;
    proto.isSameOrBefore = isSameOrBefore;
    proto.isValid = isValid$2;
    proto.lang = lang;
    proto.locale = locale;
    proto.localeData = localeData;
    proto.max = prototypeMax;
    proto.min = prototypeMin;
    proto.parsingFlags = parsingFlags;
    proto.set = stringSet;
    proto.startOf = startOf;
    proto.subtract = subtract;
    proto.toArray = toArray;
    proto.toObject = toObject;
    proto.toDate = toDate;
    proto.toISOString = toISOString;
    proto.inspect = inspect;

    if (typeof Symbol !== 'undefined' && Symbol.for != null) {
      proto[Symbol.for('nodejs.util.inspect.custom')] = function () {
        return 'Moment<' + this.format() + '>';
      };
    }

    proto.toJSON = toJSON;
    proto.toString = toString;
    proto.unix = unix;
    proto.valueOf = valueOf;
    proto.creationData = creationData;
    proto.eraName = getEraName;
    proto.eraNarrow = getEraNarrow;
    proto.eraAbbr = getEraAbbr;
    proto.eraYear = getEraYear;
    proto.year = getSetYear;
    proto.isLeapYear = getIsLeapYear;
    proto.weekYear = getSetWeekYear;
    proto.isoWeekYear = getSetISOWeekYear;
    proto.quarter = proto.quarters = getSetQuarter;
    proto.month = getSetMonth;
    proto.daysInMonth = getDaysInMonth;
    proto.week = proto.weeks = getSetWeek;
    proto.isoWeek = proto.isoWeeks = getSetISOWeek;
    proto.weeksInYear = getWeeksInYear;
    proto.weeksInWeekYear = getWeeksInWeekYear;
    proto.isoWeeksInYear = getISOWeeksInYear;
    proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;
    proto.date = getSetDayOfMonth;
    proto.day = proto.days = getSetDayOfWeek;
    proto.weekday = getSetLocaleDayOfWeek;
    proto.isoWeekday = getSetISODayOfWeek;
    proto.dayOfYear = getSetDayOfYear;
    proto.hour = proto.hours = getSetHour;
    proto.minute = proto.minutes = getSetMinute;
    proto.second = proto.seconds = getSetSecond;
    proto.millisecond = proto.milliseconds = getSetMillisecond;
    proto.utcOffset = getSetOffset;
    proto.utc = setOffsetToUTC;
    proto.local = setOffsetToLocal;
    proto.parseZone = setOffsetToParsedOffset;
    proto.hasAlignedHourOffset = hasAlignedHourOffset;
    proto.isDST = isDaylightSavingTime;
    proto.isLocal = isLocal;
    proto.isUtcOffset = isUtcOffset;
    proto.isUtc = isUtc;
    proto.isUTC = isUtc;
    proto.zoneAbbr = getZoneAbbr;
    proto.zoneName = getZoneName;
    proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);
    proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);
    proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);
    proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);
    proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);

    function createUnix(input) {
      return createLocal(input * 1000);
    }

    function createInZone() {
      return createLocal.apply(null, arguments).parseZone();
    }

    function preParsePostFormat(string) {
      return string;
    }

    var proto$1 = Locale.prototype;
    proto$1.calendar = calendar;
    proto$1.longDateFormat = longDateFormat;
    proto$1.invalidDate = invalidDate;
    proto$1.ordinal = ordinal;
    proto$1.preparse = preParsePostFormat;
    proto$1.postformat = preParsePostFormat;
    proto$1.relativeTime = relativeTime;
    proto$1.pastFuture = pastFuture;
    proto$1.set = set;
    proto$1.eras = localeEras;
    proto$1.erasParse = localeErasParse;
    proto$1.erasConvertYear = localeErasConvertYear;
    proto$1.erasAbbrRegex = erasAbbrRegex;
    proto$1.erasNameRegex = erasNameRegex;
    proto$1.erasNarrowRegex = erasNarrowRegex;
    proto$1.months = localeMonths;
    proto$1.monthsShort = localeMonthsShort;
    proto$1.monthsParse = localeMonthsParse;
    proto$1.monthsRegex = monthsRegex;
    proto$1.monthsShortRegex = monthsShortRegex;
    proto$1.week = localeWeek;
    proto$1.firstDayOfYear = localeFirstDayOfYear;
    proto$1.firstDayOfWeek = localeFirstDayOfWeek;
    proto$1.weekdays = localeWeekdays;
    proto$1.weekdaysMin = localeWeekdaysMin;
    proto$1.weekdaysShort = localeWeekdaysShort;
    proto$1.weekdaysParse = localeWeekdaysParse;
    proto$1.weekdaysRegex = weekdaysRegex;
    proto$1.weekdaysShortRegex = weekdaysShortRegex;
    proto$1.weekdaysMinRegex = weekdaysMinRegex;
    proto$1.isPM = localeIsPM;
    proto$1.meridiem = localeMeridiem;

    function get$1(format, index, field, setter) {
      var locale = getLocale(),
          utc = createUTC().set(setter, index);
      return locale[field](utc, format);
    }

    function listMonthsImpl(format, index, field) {
      if (isNumber(format)) {
        index = format;
        format = undefined;
      }

      format = format || '';

      if (index != null) {
        return get$1(format, index, field, 'month');
      }

      var i,
          out = [];

      for (i = 0; i < 12; i++) {
        out[i] = get$1(format, i, field, 'month');
      }

      return out;
    }

    function listWeekdaysImpl(localeSorted, format, index, field) {
      if (typeof localeSorted === 'boolean') {
        if (isNumber(format)) {
          index = format;
          format = undefined;
        }

        format = format || '';
      } else {
        format = localeSorted;
        index = format;
        localeSorted = false;

        if (isNumber(format)) {
          index = format;
          format = undefined;
        }

        format = format || '';
      }

      var locale = getLocale(),
          shift = localeSorted ? locale._week.dow : 0,
          i,
          out = [];

      if (index != null) {
        return get$1(format, (index + shift) % 7, field, 'day');
      }

      for (i = 0; i < 7; i++) {
        out[i] = get$1(format, (i + shift) % 7, field, 'day');
      }

      return out;
    }

    function listMonths(format, index) {
      return listMonthsImpl(format, index, 'months');
    }

    function listMonthsShort(format, index) {
      return listMonthsImpl(format, index, 'monthsShort');
    }

    function listWeekdays(localeSorted, format, index) {
      return listWeekdaysImpl(localeSorted, format, index, 'weekdays');
    }

    function listWeekdaysShort(localeSorted, format, index) {
      return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');
    }

    function listWeekdaysMin(localeSorted, format, index) {
      return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');
    }

    getSetGlobalLocale('en', {
      eras: [{
        since: '0001-01-01',
        until: 1 / 0,
        offset: 1,
        name: 'Anno Domini',
        narrow: 'AD',
        abbr: 'AD'
      }, {
        since: '0000-12-31',
        until: -(1 / 0),
        offset: 1,
        name: 'Before Christ',
        narrow: 'BC',
        abbr: 'BC'
      }],
      dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
      ordinal: function ordinal(number) {
        var b = number % 10,
            output = toInt(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';
        return number + output;
      }
    });
    hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);
    hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);
    var mathAbs = Math.abs;

    function abs() {
      var data = this._data;
      this._milliseconds = mathAbs(this._milliseconds);
      this._days = mathAbs(this._days);
      this._months = mathAbs(this._months);
      data.milliseconds = mathAbs(data.milliseconds);
      data.seconds = mathAbs(data.seconds);
      data.minutes = mathAbs(data.minutes);
      data.hours = mathAbs(data.hours);
      data.months = mathAbs(data.months);
      data.years = mathAbs(data.years);
      return this;
    }

    function addSubtract$1(duration, input, value, direction) {
      var other = createDuration(input, value);
      duration._milliseconds += direction * other._milliseconds;
      duration._days += direction * other._days;
      duration._months += direction * other._months;
      return duration._bubble();
    }

    function add$1(input, value) {
      return addSubtract$1(this, input, value, 1);
    }

    function subtract$1(input, value) {
      return addSubtract$1(this, input, value, -1);
    }

    function absCeil(number) {
      if (number < 0) {
        return Math.floor(number);
      } else {
        return Math.ceil(number);
      }
    }

    function bubble() {
      var milliseconds = this._milliseconds,
          days = this._days,
          months = this._months,
          data = this._data,
          seconds,
          minutes,
          hours,
          years,
          monthsFromDays;

      if (!(milliseconds >= 0 && days >= 0 && months >= 0 || milliseconds <= 0 && days <= 0 && months <= 0)) {
        milliseconds += absCeil(monthsToDays(months) + days) * 864e5;
        days = 0;
        months = 0;
      }

      data.milliseconds = milliseconds % 1000;
      seconds = absFloor(milliseconds / 1000);
      data.seconds = seconds % 60;
      minutes = absFloor(seconds / 60);
      data.minutes = minutes % 60;
      hours = absFloor(minutes / 60);
      data.hours = hours % 24;
      days += absFloor(hours / 24);
      monthsFromDays = absFloor(daysToMonths(days));
      months += monthsFromDays;
      days -= absCeil(monthsToDays(monthsFromDays));
      years = absFloor(months / 12);
      months %= 12;
      data.days = days;
      data.months = months;
      data.years = years;
      return this;
    }

    function daysToMonths(days) {
      return days * 4800 / 146097;
    }

    function monthsToDays(months) {
      return months * 146097 / 4800;
    }

    function as(units) {
      if (!this.isValid()) {
        return NaN;
      }

      var days,
          months,
          milliseconds = this._milliseconds;
      units = normalizeUnits(units);

      if (units === 'month' || units === 'quarter' || units === 'year') {
        days = this._days + milliseconds / 864e5;
        months = this._months + daysToMonths(days);

        switch (units) {
          case 'month':
            return months;

          case 'quarter':
            return months / 3;

          case 'year':
            return months / 12;
        }
      } else {
        days = this._days + Math.round(monthsToDays(this._months));

        switch (units) {
          case 'week':
            return days / 7 + milliseconds / 6048e5;

          case 'day':
            return days + milliseconds / 864e5;

          case 'hour':
            return days * 24 + milliseconds / 36e5;

          case 'minute':
            return days * 1440 + milliseconds / 6e4;

          case 'second':
            return days * 86400 + milliseconds / 1000;

          case 'millisecond':
            return Math.floor(days * 864e5) + milliseconds;

          default:
            throw new Error('Unknown unit ' + units);
        }
      }
    }

    function valueOf$1() {
      if (!this.isValid()) {
        return NaN;
      }

      return this._milliseconds + this._days * 864e5 + this._months % 12 * 2592e6 + toInt(this._months / 12) * 31536e6;
    }

    function makeAs(alias) {
      return function () {
        return this.as(alias);
      };
    }

    var asMilliseconds = makeAs('ms'),
        asSeconds = makeAs('s'),
        asMinutes = makeAs('m'),
        asHours = makeAs('h'),
        asDays = makeAs('d'),
        asWeeks = makeAs('w'),
        asMonths = makeAs('M'),
        asQuarters = makeAs('Q'),
        asYears = makeAs('y');

    function clone$1() {
      return createDuration(this);
    }

    function get$2(units) {
      units = normalizeUnits(units);
      return this.isValid() ? this[units + 's']() : NaN;
    }

    function makeGetter(name) {
      return function () {
        return this.isValid() ? this._data[name] : NaN;
      };
    }

    var milliseconds = makeGetter('milliseconds'),
        seconds = makeGetter('seconds'),
        minutes = makeGetter('minutes'),
        hours = makeGetter('hours'),
        days = makeGetter('days'),
        months = makeGetter('months'),
        years = makeGetter('years');

    function weeks() {
      return absFloor(this.days() / 7);
    }

    var round = Math.round,
        thresholds = {
      ss: 44,
      s: 45,
      m: 45,
      h: 22,
      d: 26,
      w: null,
      M: 11
    };

    function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
      return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
    }

    function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {
      var duration = createDuration(posNegDuration).abs(),
          seconds = round(duration.as('s')),
          minutes = round(duration.as('m')),
          hours = round(duration.as('h')),
          days = round(duration.as('d')),
          months = round(duration.as('M')),
          weeks = round(duration.as('w')),
          years = round(duration.as('y')),
          a = seconds <= thresholds.ss && ['s', seconds] || seconds < thresholds.s && ['ss', seconds] || minutes <= 1 && ['m'] || minutes < thresholds.m && ['mm', minutes] || hours <= 1 && ['h'] || hours < thresholds.h && ['hh', hours] || days <= 1 && ['d'] || days < thresholds.d && ['dd', days];

      if (thresholds.w != null) {
        a = a || weeks <= 1 && ['w'] || weeks < thresholds.w && ['ww', weeks];
      }

      a = a || months <= 1 && ['M'] || months < thresholds.M && ['MM', months] || years <= 1 && ['y'] || ['yy', years];
      a[2] = withoutSuffix;
      a[3] = +posNegDuration > 0;
      a[4] = locale;
      return substituteTimeAgo.apply(null, a);
    }

    function getSetRelativeTimeRounding(roundingFunction) {
      if (roundingFunction === undefined) {
        return round;
      }

      if (typeof roundingFunction === 'function') {
        round = roundingFunction;
        return true;
      }

      return false;
    }

    function getSetRelativeTimeThreshold(threshold, limit) {
      if (thresholds[threshold] === undefined) {
        return false;
      }

      if (limit === undefined) {
        return thresholds[threshold];
      }

      thresholds[threshold] = limit;

      if (threshold === 's') {
        thresholds.ss = limit - 1;
      }

      return true;
    }

    function humanize(argWithSuffix, argThresholds) {
      if (!this.isValid()) {
        return this.localeData().invalidDate();
      }

      var withSuffix = false,
          th = thresholds,
          locale,
          output;

      if (typeof argWithSuffix === 'object') {
        argThresholds = argWithSuffix;
        argWithSuffix = false;
      }

      if (typeof argWithSuffix === 'boolean') {
        withSuffix = argWithSuffix;
      }

      if (typeof argThresholds === 'object') {
        th = _$$_REQUIRE(_dependencyMap[0])({}, thresholds, argThresholds);

        if (argThresholds.s != null && argThresholds.ss == null) {
          th.ss = argThresholds.s - 1;
        }
      }

      locale = this.localeData();
      output = relativeTime$1(this, !withSuffix, th, locale);

      if (withSuffix) {
        output = locale.pastFuture(+this, output);
      }

      return locale.postformat(output);
    }

    var abs$1 = Math.abs;

    function sign(x) {
      return (x > 0) - (x < 0) || +x;
    }

    function toISOString$1() {
      if (!this.isValid()) {
        return this.localeData().invalidDate();
      }

      var seconds = abs$1(this._milliseconds) / 1000,
          days = abs$1(this._days),
          months = abs$1(this._months),
          minutes,
          hours,
          years,
          s,
          total = this.asSeconds(),
          totalSign,
          ymSign,
          daysSign,
          hmsSign;

      if (!total) {
        return 'P0D';
      }

      minutes = absFloor(seconds / 60);
      hours = absFloor(minutes / 60);
      seconds %= 60;
      minutes %= 60;
      years = absFloor(months / 12);
      months %= 12;
      s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : '';
      totalSign = total < 0 ? '-' : '';
      ymSign = sign(this._months) !== sign(total) ? '-' : '';
      daysSign = sign(this._days) !== sign(total) ? '-' : '';
      hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';
      return totalSign + 'P' + (years ? ymSign + years + 'Y' : '') + (months ? ymSign + months + 'M' : '') + (days ? daysSign + days + 'D' : '') + (hours || minutes || seconds ? 'T' : '') + (hours ? hmsSign + hours + 'H' : '') + (minutes ? hmsSign + minutes + 'M' : '') + (seconds ? hmsSign + s + 'S' : '');
    }

    var proto$2 = Duration.prototype;
    proto$2.isValid = isValid$1;
    proto$2.abs = abs;
    proto$2.add = add$1;
    proto$2.subtract = subtract$1;
    proto$2.as = as;
    proto$2.asMilliseconds = asMilliseconds;
    proto$2.asSeconds = asSeconds;
    proto$2.asMinutes = asMinutes;
    proto$2.asHours = asHours;
    proto$2.asDays = asDays;
    proto$2.asWeeks = asWeeks;
    proto$2.asMonths = asMonths;
    proto$2.asQuarters = asQuarters;
    proto$2.asYears = asYears;
    proto$2.valueOf = valueOf$1;
    proto$2._bubble = bubble;
    proto$2.clone = clone$1;
    proto$2.get = get$2;
    proto$2.milliseconds = milliseconds;
    proto$2.seconds = seconds;
    proto$2.minutes = minutes;
    proto$2.hours = hours;
    proto$2.days = days;
    proto$2.weeks = weeks;
    proto$2.months = months;
    proto$2.years = years;
    proto$2.humanize = humanize;
    proto$2.toISOString = toISOString$1;
    proto$2.toString = toISOString$1;
    proto$2.toJSON = toISOString$1;
    proto$2.locale = locale;
    proto$2.localeData = localeData;
    proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);
    proto$2.lang = lang;
    addFormatToken('X', 0, 0, 'unix');
    addFormatToken('x', 0, 0, 'valueOf');
    addRegexToken('x', matchSigned);
    addRegexToken('X', matchTimestamp);
    addParseToken('X', function (input, array, config) {
      config._d = new Date(parseFloat(input) * 1000);
    });
    addParseToken('x', function (input, array, config) {
      config._d = new Date(toInt(input));
    });
    hooks.version = '2.29.4';
    setHookCallback(createLocal);
    hooks.fn = proto;
    hooks.min = min;
    hooks.max = max;
    hooks.now = now;
    hooks.utc = createUTC;
    hooks.unix = createUnix;
    hooks.months = listMonths;
    hooks.isDate = isDate;
    hooks.locale = getSetGlobalLocale;
    hooks.invalid = createInvalid;
    hooks.duration = createDuration;
    hooks.isMoment = isMoment;
    hooks.weekdays = listWeekdays;
    hooks.parseZone = createInZone;
    hooks.localeData = getLocale;
    hooks.isDuration = isDuration;
    hooks.monthsShort = listMonthsShort;
    hooks.weekdaysMin = listWeekdaysMin;
    hooks.defineLocale = defineLocale;
    hooks.updateLocale = updateLocale;
    hooks.locales = listLocales;
    hooks.weekdaysShort = listWeekdaysShort;
    hooks.normalizeUnits = normalizeUnits;
    hooks.relativeTimeRounding = getSetRelativeTimeRounding;
    hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;
    hooks.calendarFormat = getCalendarFormat;
    hooks.prototype = proto;
    hooks.HTML5_FMT = {
      DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm',
      DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss',
      DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS',
      DATE: 'YYYY-MM-DD',
      TIME: 'HH:mm',
      TIME_SECONDS: 'HH:mm:ss',
      TIME_MS: 'HH:mm:ss.SSS',
      WEEK: 'GGGG-[W]WW',
      MONTH: 'YYYY-MM'
    };
    return hooks;
  });
},467,[6]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' && typeof _$$_REQUIRE === 'function' ? factory(_$$_REQUIRE(_dependencyMap[0])) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);
  })(this, function (moment) {
    'use strict';

    var symbolMap = {
      1: '١',
      2: '٢',
      3: '٣',
      4: '٤',
      5: '٥',
      6: '٦',
      7: '٧',
      8: '٨',
      9: '٩',
      0: '٠'
    },
        numberMap = {
      '١': '1',
      '٢': '2',
      '٣': '3',
      '٤': '4',
      '٥': '5',
      '٦': '6',
      '٧': '7',
      '٨': '8',
      '٩': '9',
      '٠': '0'
    },
        pluralForm = function pluralForm(n) {
      return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
    },
        plurals = {
      s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
      m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
      h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
      d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
      M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
      y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
    },
        pluralize = function pluralize(u) {
      return function (number, withoutSuffix, string, isFuture) {
        var f = pluralForm(number),
            str = plurals[u][pluralForm(number)];

        if (f === 2) {
          str = str[withoutSuffix ? 0 : 1];
        }

        return str.replace(/%d/i, number);
      };
    },
        months = ['يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر'];

    var ar = moment.defineLocale('ar', {
      months: months,
      monthsShort: months,
      weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
      weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
      weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
      weekdaysParseExact: true,
      longDateFormat: {
        LT: 'HH:mm',
        LTS: 'HH:mm:ss',
        L: "D/\u200FM/\u200FYYYY",
        LL: 'D MMMM YYYY',
        LLL: 'D MMMM YYYY HH:mm',
        LLLL: 'dddd D MMMM YYYY HH:mm'
      },
      meridiemParse: /ص|م/,
      isPM: function isPM(input) {
        return 'م' === input;
      },
      meridiem: function meridiem(hour, minute, isLower) {
        if (hour < 12) {
          return 'ص';
        } else {
          return 'م';
        }
      },
      calendar: {
        sameDay: '[اليوم عند الساعة] LT',
        nextDay: '[غدًا عند الساعة] LT',
        nextWeek: 'dddd [عند الساعة] LT',
        lastDay: '[أمس عند الساعة] LT',
        lastWeek: 'dddd [عند الساعة] LT',
        sameElse: 'L'
      },
      relativeTime: {
        future: 'بعد %s',
        past: 'منذ %s',
        s: pluralize('s'),
        ss: pluralize('s'),
        m: pluralize('m'),
        mm: pluralize('m'),
        h: pluralize('h'),
        hh: pluralize('h'),
        d: pluralize('d'),
        dd: pluralize('d'),
        M: pluralize('M'),
        MM: pluralize('M'),
        y: pluralize('y'),
        yy: pluralize('y')
      },
      preparse: function preparse(string) {
        return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
          return numberMap[match];
        }).replace(/،/g, ',');
      },
      postformat: function postformat(string) {
        return string.replace(/\d/g, function (match) {
          return symbolMap[match];
        }).replace(/,/g, '،');
      },
      week: {
        dow: 6,
        doy: 12
      }
    });
    return ar;
  });
},468,[467]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' && typeof _$$_REQUIRE === 'function' ? factory(_$$_REQUIRE(_dependencyMap[0])) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);
  })(this, function (moment) {
    'use strict';

    var it = moment.defineLocale('it', {
      months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),
      monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
      weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),
      weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
      weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),
      longDateFormat: {
        LT: 'HH:mm',
        LTS: 'HH:mm:ss',
        L: 'DD/MM/YYYY',
        LL: 'D MMMM YYYY',
        LLL: 'D MMMM YYYY HH:mm',
        LLLL: 'dddd D MMMM YYYY HH:mm'
      },
      calendar: {
        sameDay: function sameDay() {
          return '[Oggi a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + ']LT';
        },
        nextDay: function nextDay() {
          return '[Domani a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + ']LT';
        },
        nextWeek: function nextWeek() {
          return 'dddd [a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + ']LT';
        },
        lastDay: function lastDay() {
          return '[Ieri a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + ']LT';
        },
        lastWeek: function lastWeek() {
          switch (this.day()) {
            case 0:
              return '[La scorsa] dddd [a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + ']LT';

            default:
              return '[Lo scorso] dddd [a' + (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : "ll'") + ']LT';
          }
        },
        sameElse: 'L'
      },
      relativeTime: {
        future: 'tra %s',
        past: '%s fa',
        s: 'alcuni secondi',
        ss: '%d secondi',
        m: 'un minuto',
        mm: '%d minuti',
        h: "un'ora",
        hh: '%d ore',
        d: 'un giorno',
        dd: '%d giorni',
        w: 'una settimana',
        ww: '%d settimane',
        M: 'un mese',
        MM: '%d mesi',
        y: 'un anno',
        yy: '%d anni'
      },
      dayOfMonthOrdinalParse: /\d{1,2}º/,
      ordinal: '%dº',
      week: {
        dow: 1,
        doy: 4
      }
    });
    return it;
  });
},469,[467]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' && typeof _$$_REQUIRE === 'function' ? factory(_$$_REQUIRE(_dependencyMap[0])) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);
  })(this, function (moment) {
    'use strict';

    var da = moment.defineLocale('da', {
      months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),
      monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
      weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
      weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),
      weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),
      longDateFormat: {
        LT: 'HH:mm',
        LTS: 'HH:mm:ss',
        L: 'DD.MM.YYYY',
        LL: 'D. MMMM YYYY',
        LLL: 'D. MMMM YYYY HH:mm',
        LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'
      },
      calendar: {
        sameDay: '[i dag kl.] LT',
        nextDay: '[i morgen kl.] LT',
        nextWeek: 'på dddd [kl.] LT',
        lastDay: '[i går kl.] LT',
        lastWeek: '[i] dddd[s kl.] LT',
        sameElse: 'L'
      },
      relativeTime: {
        future: 'om %s',
        past: '%s siden',
        s: 'få sekunder',
        ss: '%d sekunder',
        m: 'et minut',
        mm: '%d minutter',
        h: 'en time',
        hh: '%d timer',
        d: 'en dag',
        dd: '%d dage',
        M: 'en måned',
        MM: '%d måneder',
        y: 'et år',
        yy: '%d år'
      },
      dayOfMonthOrdinalParse: /\d{1,2}\./,
      ordinal: '%d.',
      week: {
        dow: 1,
        doy: 4
      }
    });
    return da;
  });
},470,[467]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' && typeof _$$_REQUIRE === 'function' ? factory(_$$_REQUIRE(_dependencyMap[0])) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);
  })(this, function (moment) {
    'use strict';

    function processRelativeTime(number, withoutSuffix, key, isFuture) {
      var format = {
        m: ['eine Minute', 'einer Minute'],
        h: ['eine Stunde', 'einer Stunde'],
        d: ['ein Tag', 'einem Tag'],
        dd: [number + ' Tage', number + ' Tagen'],
        w: ['eine Woche', 'einer Woche'],
        M: ['ein Monat', 'einem Monat'],
        MM: [number + ' Monate', number + ' Monaten'],
        y: ['ein Jahr', 'einem Jahr'],
        yy: [number + ' Jahre', number + ' Jahren']
      };
      return withoutSuffix ? format[key][0] : format[key][1];
    }

    var de = moment.defineLocale('de', {
      months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
      monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
      monthsParseExact: true,
      weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
      weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
      weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
      weekdaysParseExact: true,
      longDateFormat: {
        LT: 'HH:mm',
        LTS: 'HH:mm:ss',
        L: 'DD.MM.YYYY',
        LL: 'D. MMMM YYYY',
        LLL: 'D. MMMM YYYY HH:mm',
        LLLL: 'dddd, D. MMMM YYYY HH:mm'
      },
      calendar: {
        sameDay: '[heute um] LT [Uhr]',
        sameElse: 'L',
        nextDay: '[morgen um] LT [Uhr]',
        nextWeek: 'dddd [um] LT [Uhr]',
        lastDay: '[gestern um] LT [Uhr]',
        lastWeek: '[letzten] dddd [um] LT [Uhr]'
      },
      relativeTime: {
        future: 'in %s',
        past: 'vor %s',
        s: 'ein paar Sekunden',
        ss: '%d Sekunden',
        m: processRelativeTime,
        mm: '%d Minuten',
        h: processRelativeTime,
        hh: '%d Stunden',
        d: processRelativeTime,
        dd: processRelativeTime,
        w: processRelativeTime,
        ww: '%d Wochen',
        M: processRelativeTime,
        MM: processRelativeTime,
        y: processRelativeTime,
        yy: processRelativeTime
      },
      dayOfMonthOrdinalParse: /\d{1,2}\./,
      ordinal: '%d.',
      week: {
        dow: 1,
        doy: 4
      }
    });
    return de;
  });
},471,[467]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' && typeof _$$_REQUIRE === 'function' ? factory(_$$_REQUIRE(_dependencyMap[0])) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);
  })(this, function (moment) {
    'use strict';

    var monthsStrictRegex = /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,
        monthsShortStrictRegex = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i,
        monthsRegex = /(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,
        monthsParse = [/^janv/i, /^févr/i, /^mars/i, /^avr/i, /^mai/i, /^juin/i, /^juil/i, /^août/i, /^sept/i, /^oct/i, /^nov/i, /^déc/i];
    var fr = moment.defineLocale('fr', {
      months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
      monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
      monthsRegex: monthsRegex,
      monthsShortRegex: monthsRegex,
      monthsStrictRegex: monthsStrictRegex,
      monthsShortStrictRegex: monthsShortStrictRegex,
      monthsParse: monthsParse,
      longMonthsParse: monthsParse,
      shortMonthsParse: monthsParse,
      weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
      weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
      weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),
      weekdaysParseExact: true,
      longDateFormat: {
        LT: 'HH:mm',
        LTS: 'HH:mm:ss',
        L: 'DD/MM/YYYY',
        LL: 'D MMMM YYYY',
        LLL: 'D MMMM YYYY HH:mm',
        LLLL: 'dddd D MMMM YYYY HH:mm'
      },
      calendar: {
        sameDay: '[Aujourd’hui à] LT',
        nextDay: '[Demain à] LT',
        nextWeek: 'dddd [à] LT',
        lastDay: '[Hier à] LT',
        lastWeek: 'dddd [dernier à] LT',
        sameElse: 'L'
      },
      relativeTime: {
        future: 'dans %s',
        past: 'il y a %s',
        s: 'quelques secondes',
        ss: '%d secondes',
        m: 'une minute',
        mm: '%d minutes',
        h: 'une heure',
        hh: '%d heures',
        d: 'un jour',
        dd: '%d jours',
        w: 'une semaine',
        ww: '%d semaines',
        M: 'un mois',
        MM: '%d mois',
        y: 'un an',
        yy: '%d ans'
      },
      dayOfMonthOrdinalParse: /\d{1,2}(er|)/,
      ordinal: function ordinal(number, period) {
        switch (period) {
          case 'D':
            return number + (number === 1 ? 'er' : '');

          default:
          case 'M':
          case 'Q':
          case 'DDD':
          case 'd':
            return number + (number === 1 ? 'er' : 'e');

          case 'w':
          case 'W':
            return number + (number === 1 ? 're' : 'e');
        }
      },
      week: {
        dow: 1,
        doy: 4
      }
    });
    return fr;
  });
},472,[467]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' && typeof _$$_REQUIRE === 'function' ? factory(_$$_REQUIRE(_dependencyMap[0])) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);
  })(this, function (moment) {
    'use strict';

    var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
        monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),
        monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i],
        monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;
    var nl = moment.defineLocale('nl', {
      months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),
      monthsShort: function monthsShort(m, format) {
        if (!m) {
          return monthsShortWithDots;
        } else if (/-MMM-/.test(format)) {
          return monthsShortWithoutDots[m.month()];
        } else {
          return monthsShortWithDots[m.month()];
        }
      },
      monthsRegex: monthsRegex,
      monthsShortRegex: monthsRegex,
      monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
      monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
      monthsParse: monthsParse,
      longMonthsParse: monthsParse,
      shortMonthsParse: monthsParse,
      weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
      weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),
      weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),
      weekdaysParseExact: true,
      longDateFormat: {
        LT: 'HH:mm',
        LTS: 'HH:mm:ss',
        L: 'DD-MM-YYYY',
        LL: 'D MMMM YYYY',
        LLL: 'D MMMM YYYY HH:mm',
        LLLL: 'dddd D MMMM YYYY HH:mm'
      },
      calendar: {
        sameDay: '[vandaag om] LT',
        nextDay: '[morgen om] LT',
        nextWeek: 'dddd [om] LT',
        lastDay: '[gisteren om] LT',
        lastWeek: '[afgelopen] dddd [om] LT',
        sameElse: 'L'
      },
      relativeTime: {
        future: 'over %s',
        past: '%s geleden',
        s: 'een paar seconden',
        ss: '%d seconden',
        m: 'één minuut',
        mm: '%d minuten',
        h: 'één uur',
        hh: '%d uur',
        d: 'één dag',
        dd: '%d dagen',
        w: 'één week',
        ww: '%d weken',
        M: 'één maand',
        MM: '%d maanden',
        y: 'één jaar',
        yy: '%d jaar'
      },
      dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
      ordinal: function ordinal(number) {
        return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de');
      },
      week: {
        dow: 1,
        doy: 4
      }
    });
    return nl;
  });
},473,[467]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' && typeof _$$_REQUIRE === 'function' ? factory(_$$_REQUIRE(_dependencyMap[0])) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);
  })(this, function (moment) {
    'use strict';

    var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
        _monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),
        monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i],
        monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;

    var es = moment.defineLocale('es', {
      months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
      monthsShort: function monthsShort(m, format) {
        if (!m) {
          return monthsShortDot;
        } else if (/-MMM-/.test(format)) {
          return _monthsShort[m.month()];
        } else {
          return monthsShortDot[m.month()];
        }
      },
      monthsRegex: monthsRegex,
      monthsShortRegex: monthsRegex,
      monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
      monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
      monthsParse: monthsParse,
      longMonthsParse: monthsParse,
      shortMonthsParse: monthsParse,
      weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
      weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
      weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),
      weekdaysParseExact: true,
      longDateFormat: {
        LT: 'H:mm',
        LTS: 'H:mm:ss',
        L: 'DD/MM/YYYY',
        LL: 'D [de] MMMM [de] YYYY',
        LLL: 'D [de] MMMM [de] YYYY H:mm',
        LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm'
      },
      calendar: {
        sameDay: function sameDay() {
          return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
        },
        nextDay: function nextDay() {
          return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
        },
        nextWeek: function nextWeek() {
          return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
        },
        lastDay: function lastDay() {
          return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
        },
        lastWeek: function lastWeek() {
          return '[el] dddd [pasado a la' + (this.hours() !== 1 ? 's' : '') + '] LT';
        },
        sameElse: 'L'
      },
      relativeTime: {
        future: 'en %s',
        past: 'hace %s',
        s: 'unos segundos',
        ss: '%d segundos',
        m: 'un minuto',
        mm: '%d minutos',
        h: 'una hora',
        hh: '%d horas',
        d: 'un día',
        dd: '%d días',
        w: 'una semana',
        ww: '%d semanas',
        M: 'un mes',
        MM: '%d meses',
        y: 'un año',
        yy: '%d años'
      },
      dayOfMonthOrdinalParse: /\d{1,2}º/,
      ordinal: '%dº',
      week: {
        dow: 1,
        doy: 4
      },
      invalidDate: 'Fecha inválida'
    });
    return es;
  });
},474,[467]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' && typeof _$$_REQUIRE === 'function' ? factory(_$$_REQUIRE(_dependencyMap[0])) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);
  })(this, function (moment) {
    'use strict';

    function relativeTimeWithPlural(number, withoutSuffix, key) {
      var format = {
        ss: 'secunde',
        mm: 'minute',
        hh: 'ore',
        dd: 'zile',
        ww: 'săptămâni',
        MM: 'luni',
        yy: 'ani'
      },
          separator = ' ';

      if (number % 100 >= 20 || number >= 100 && number % 100 === 0) {
        separator = ' de ';
      }

      return number + separator + format[key];
    }

    var ro = moment.defineLocale('ro', {
      months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),
      monthsShort: 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),
      monthsParseExact: true,
      weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),
      weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),
      weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),
      longDateFormat: {
        LT: 'H:mm',
        LTS: 'H:mm:ss',
        L: 'DD.MM.YYYY',
        LL: 'D MMMM YYYY',
        LLL: 'D MMMM YYYY H:mm',
        LLLL: 'dddd, D MMMM YYYY H:mm'
      },
      calendar: {
        sameDay: '[azi la] LT',
        nextDay: '[mâine la] LT',
        nextWeek: 'dddd [la] LT',
        lastDay: '[ieri la] LT',
        lastWeek: '[fosta] dddd [la] LT',
        sameElse: 'L'
      },
      relativeTime: {
        future: 'peste %s',
        past: '%s în urmă',
        s: 'câteva secunde',
        ss: relativeTimeWithPlural,
        m: 'un minut',
        mm: relativeTimeWithPlural,
        h: 'o oră',
        hh: relativeTimeWithPlural,
        d: 'o zi',
        dd: relativeTimeWithPlural,
        w: 'o săptămână',
        ww: relativeTimeWithPlural,
        M: 'o lună',
        MM: relativeTimeWithPlural,
        y: 'un an',
        yy: relativeTimeWithPlural
      },
      week: {
        dow: 1,
        doy: 7
      }
    });
    return ro;
  });
},475,[467]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' && typeof _$$_REQUIRE === 'function' ? factory(_$$_REQUIRE(_dependencyMap[0])) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);
  })(this, function (moment) {
    'use strict';

    var sv = moment.defineLocale('sv', {
      months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),
      monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
      weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),
      weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),
      weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),
      longDateFormat: {
        LT: 'HH:mm',
        LTS: 'HH:mm:ss',
        L: 'YYYY-MM-DD',
        LL: 'D MMMM YYYY',
        LLL: 'D MMMM YYYY [kl.] HH:mm',
        LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',
        lll: 'D MMM YYYY HH:mm',
        llll: 'ddd D MMM YYYY HH:mm'
      },
      calendar: {
        sameDay: '[Idag] LT',
        nextDay: '[Imorgon] LT',
        lastDay: '[Igår] LT',
        nextWeek: '[På] dddd LT',
        lastWeek: '[I] dddd[s] LT',
        sameElse: 'L'
      },
      relativeTime: {
        future: 'om %s',
        past: 'för %s sedan',
        s: 'några sekunder',
        ss: '%d sekunder',
        m: 'en minut',
        mm: '%d minuter',
        h: 'en timme',
        hh: '%d timmar',
        d: 'en dag',
        dd: '%d dagar',
        M: 'en månad',
        MM: '%d månader',
        y: 'ett år',
        yy: '%d år'
      },
      dayOfMonthOrdinalParse: /\d{1,2}(\:e|\:a)/,
      ordinal: function ordinal(number) {
        var b = number % 10,
            output = ~~(number % 100 / 10) === 1 ? ':e' : b === 1 ? ':a' : b === 2 ? ':a' : b === 3 ? ':e' : ':e';
        return number + output;
      },
      week: {
        dow: 1,
        doy: 4
      }
    });
    return sv;
  });
},476,[467]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' && typeof _$$_REQUIRE === 'function' ? factory(_$$_REQUIRE(_dependencyMap[0])) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);
  })(this, function (moment) {
    'use strict';

    var pt = moment.defineLocale('pt', {
      months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),
      monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),
      weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),
      weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
      weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
      weekdaysParseExact: true,
      longDateFormat: {
        LT: 'HH:mm',
        LTS: 'HH:mm:ss',
        L: 'DD/MM/YYYY',
        LL: 'D [de] MMMM [de] YYYY',
        LLL: 'D [de] MMMM [de] YYYY HH:mm',
        LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm'
      },
      calendar: {
        sameDay: '[Hoje às] LT',
        nextDay: '[Amanhã às] LT',
        nextWeek: 'dddd [às] LT',
        lastDay: '[Ontem às] LT',
        lastWeek: function lastWeek() {
          return this.day() === 0 || this.day() === 6 ? '[Último] dddd [às] LT' : '[Última] dddd [às] LT';
        },
        sameElse: 'L'
      },
      relativeTime: {
        future: 'em %s',
        past: 'há %s',
        s: 'segundos',
        ss: '%d segundos',
        m: 'um minuto',
        mm: '%d minutos',
        h: 'uma hora',
        hh: '%d horas',
        d: 'um dia',
        dd: '%d dias',
        w: 'uma semana',
        ww: '%d semanas',
        M: 'um mês',
        MM: '%d meses',
        y: 'um ano',
        yy: '%d anos'
      },
      dayOfMonthOrdinalParse: /\d{1,2}º/,
      ordinal: '%dº',
      week: {
        dow: 1,
        doy: 4
      }
    });
    return pt;
  });
},477,[467]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' && typeof _$$_REQUIRE === 'function' ? factory(_$$_REQUIRE(_dependencyMap[0])) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);
  })(this, function (moment) {
    'use strict';

    var ptBr = moment.defineLocale('pt-br', {
      months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split('_'),
      monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),
      weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split('_'),
      weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),
      weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),
      weekdaysParseExact: true,
      longDateFormat: {
        LT: 'HH:mm',
        LTS: 'HH:mm:ss',
        L: 'DD/MM/YYYY',
        LL: 'D [de] MMMM [de] YYYY',
        LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',
        LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'
      },
      calendar: {
        sameDay: '[Hoje às] LT',
        nextDay: '[Amanhã às] LT',
        nextWeek: 'dddd [às] LT',
        lastDay: '[Ontem às] LT',
        lastWeek: function lastWeek() {
          return this.day() === 0 || this.day() === 6 ? '[Último] dddd [às] LT' : '[Última] dddd [às] LT';
        },
        sameElse: 'L'
      },
      relativeTime: {
        future: 'em %s',
        past: 'há %s',
        s: 'poucos segundos',
        ss: '%d segundos',
        m: 'um minuto',
        mm: '%d minutos',
        h: 'uma hora',
        hh: '%d horas',
        d: 'um dia',
        dd: '%d dias',
        M: 'um mês',
        MM: '%d meses',
        y: 'um ano',
        yy: '%d anos'
      },
      dayOfMonthOrdinalParse: /\d{1,2}º/,
      ordinal: '%dº',
      invalidDate: 'Data inválida'
    });
    return ptBr;
  });
},478,[467]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' && typeof _$$_REQUIRE === 'function' ? factory(_$$_REQUIRE(_dependencyMap[0])) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);
  })(this, function (moment) {
    'use strict';

    var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
        monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),
        monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i],
        monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;
    var nlBe = moment.defineLocale('nl-be', {
      months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),
      monthsShort: function monthsShort(m, format) {
        if (!m) {
          return monthsShortWithDots;
        } else if (/-MMM-/.test(format)) {
          return monthsShortWithoutDots[m.month()];
        } else {
          return monthsShortWithDots[m.month()];
        }
      },
      monthsRegex: monthsRegex,
      monthsShortRegex: monthsRegex,
      monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
      monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
      monthsParse: monthsParse,
      longMonthsParse: monthsParse,
      shortMonthsParse: monthsParse,
      weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
      weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),
      weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),
      weekdaysParseExact: true,
      longDateFormat: {
        LT: 'HH:mm',
        LTS: 'HH:mm:ss',
        L: 'DD/MM/YYYY',
        LL: 'D MMMM YYYY',
        LLL: 'D MMMM YYYY HH:mm',
        LLLL: 'dddd D MMMM YYYY HH:mm'
      },
      calendar: {
        sameDay: '[vandaag om] LT',
        nextDay: '[morgen om] LT',
        nextWeek: 'dddd [om] LT',
        lastDay: '[gisteren om] LT',
        lastWeek: '[afgelopen] dddd [om] LT',
        sameElse: 'L'
      },
      relativeTime: {
        future: 'over %s',
        past: '%s geleden',
        s: 'een paar seconden',
        ss: '%d seconden',
        m: 'één minuut',
        mm: '%d minuten',
        h: 'één uur',
        hh: '%d uur',
        d: 'één dag',
        dd: '%d dagen',
        M: 'één maand',
        MM: '%d maanden',
        y: 'één jaar',
        yy: '%d jaar'
      },
      dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
      ordinal: function ordinal(number) {
        return number + (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de');
      },
      week: {
        dow: 1,
        doy: 4
      }
    });
    return nlBe;
  });
},479,[467]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' && typeof _$$_REQUIRE === 'function' ? factory(_$$_REQUIRE(_dependencyMap[0])) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);
  })(this, function (moment) {
    'use strict';

    var nn = moment.defineLocale('nn', {
      months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
      monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),
      monthsParseExact: true,
      weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),
      weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),
      weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),
      weekdaysParseExact: true,
      longDateFormat: {
        LT: 'HH:mm',
        LTS: 'HH:mm:ss',
        L: 'DD.MM.YYYY',
        LL: 'D. MMMM YYYY',
        LLL: 'D. MMMM YYYY [kl.] H:mm',
        LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm'
      },
      calendar: {
        sameDay: '[I dag klokka] LT',
        nextDay: '[I morgon klokka] LT',
        nextWeek: 'dddd [klokka] LT',
        lastDay: '[I går klokka] LT',
        lastWeek: '[Føregåande] dddd [klokka] LT',
        sameElse: 'L'
      },
      relativeTime: {
        future: 'om %s',
        past: '%s sidan',
        s: 'nokre sekund',
        ss: '%d sekund',
        m: 'eit minutt',
        mm: '%d minutt',
        h: 'ein time',
        hh: '%d timar',
        d: 'ein dag',
        dd: '%d dagar',
        w: 'ei veke',
        ww: '%d veker',
        M: 'ein månad',
        MM: '%d månader',
        y: 'eit år',
        yy: '%d år'
      },
      dayOfMonthOrdinalParse: /\d{1,2}\./,
      ordinal: '%d.',
      week: {
        dow: 1,
        doy: 4
      }
    });
    return nn;
  });
},480,[467]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' && typeof _$$_REQUIRE === 'function' ? factory(_$$_REQUIRE(_dependencyMap[0])) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);
  })(this, function (moment) {
    'use strict';

    var nb = moment.defineLocale('nb', {
      months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
      monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),
      monthsParseExact: true,
      weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
      weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),
      weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),
      weekdaysParseExact: true,
      longDateFormat: {
        LT: 'HH:mm',
        LTS: 'HH:mm:ss',
        L: 'DD.MM.YYYY',
        LL: 'D. MMMM YYYY',
        LLL: 'D. MMMM YYYY [kl.] HH:mm',
        LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm'
      },
      calendar: {
        sameDay: '[i dag kl.] LT',
        nextDay: '[i morgen kl.] LT',
        nextWeek: 'dddd [kl.] LT',
        lastDay: '[i går kl.] LT',
        lastWeek: '[forrige] dddd [kl.] LT',
        sameElse: 'L'
      },
      relativeTime: {
        future: 'om %s',
        past: '%s siden',
        s: 'noen sekunder',
        ss: '%d sekunder',
        m: 'ett minutt',
        mm: '%d minutter',
        h: 'en time',
        hh: '%d timer',
        d: 'en dag',
        dd: '%d dager',
        w: 'en uke',
        ww: '%d uker',
        M: 'en måned',
        MM: '%d måneder',
        y: 'ett år',
        yy: '%d år'
      },
      dayOfMonthOrdinalParse: /\d{1,2}\./,
      ordinal: '%d.',
      week: {
        dow: 1,
        doy: 4
      }
    });
    return nb;
  });
},481,[467]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' && typeof _$$_REQUIRE === 'function' ? factory(_$$_REQUIRE(_dependencyMap[0])) : typeof define === 'function' && define.amd ? define(['../moment'], factory) : factory(global.moment);
  })(this, function (moment) {
    'use strict';

    function processRelativeTime(number, withoutSuffix, key, isFuture) {
      var result = number + ' ';

      switch (key) {
        case 's':
          return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';

        case 'ss':
          if (number === 1) {
            result += withoutSuffix ? 'sekundo' : 'sekundi';
          } else if (number === 2) {
            result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';
          } else if (number < 5) {
            result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';
          } else {
            result += 'sekund';
          }

          return result;

        case 'm':
          return withoutSuffix ? 'ena minuta' : 'eno minuto';

        case 'mm':
          if (number === 1) {
            result += withoutSuffix ? 'minuta' : 'minuto';
          } else if (number === 2) {
            result += withoutSuffix || isFuture ? 'minuti' : 'minutama';
          } else if (number < 5) {
            result += withoutSuffix || isFuture ? 'minute' : 'minutami';
          } else {
            result += withoutSuffix || isFuture ? 'minut' : 'minutami';
          }

          return result;

        case 'h':
          return withoutSuffix ? 'ena ura' : 'eno uro';

        case 'hh':
          if (number === 1) {
            result += withoutSuffix ? 'ura' : 'uro';
          } else if (number === 2) {
            result += withoutSuffix || isFuture ? 'uri' : 'urama';
          } else if (number < 5) {
            result += withoutSuffix || isFuture ? 'ure' : 'urami';
          } else {
            result += withoutSuffix || isFuture ? 'ur' : 'urami';
          }

          return result;

        case 'd':
          return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';

        case 'dd':
          if (number === 1) {
            result += withoutSuffix || isFuture ? 'dan' : 'dnem';
          } else if (number === 2) {
            result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';
          } else {
            result += withoutSuffix || isFuture ? 'dni' : 'dnevi';
          }

          return result;

        case 'M':
          return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';

        case 'MM':
          if (number === 1) {
            result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';
          } else if (number === 2) {
            result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';
          } else if (number < 5) {
            result += withoutSuffix || isFuture ? 'mesece' : 'meseci';
          } else {
            result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';
          }

          return result;

        case 'y':
          return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';

        case 'yy':
          if (number === 1) {
            result += withoutSuffix || isFuture ? 'leto' : 'letom';
          } else if (number === 2) {
            result += withoutSuffix || isFuture ? 'leti' : 'letoma';
          } else if (number < 5) {
            result += withoutSuffix || isFuture ? 'leta' : 'leti';
          } else {
            result += withoutSuffix || isFuture ? 'let' : 'leti';
          }

          return result;
      }
    }

    var sl = moment.defineLocale('sl', {
      months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),
      monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),
      monthsParseExact: true,
      weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),
      weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),
      weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),
      weekdaysParseExact: true,
      longDateFormat: {
        LT: 'H:mm',
        LTS: 'H:mm:ss',
        L: 'DD. MM. YYYY',
        LL: 'D. MMMM YYYY',
        LLL: 'D. MMMM YYYY H:mm',
        LLLL: 'dddd, D. MMMM YYYY H:mm'
      },
      calendar: {
        sameDay: '[danes ob] LT',
        nextDay: '[jutri ob] LT',
        nextWeek: function nextWeek() {
          switch (this.day()) {
            case 0:
              return '[v] [nedeljo] [ob] LT';

            case 3:
              return '[v] [sredo] [ob] LT';

            case 6:
              return '[v] [soboto] [ob] LT';

            case 1:
            case 2:
            case 4:
            case 5:
              return '[v] dddd [ob] LT';
          }
        },
        lastDay: '[včeraj ob] LT',
        lastWeek: function lastWeek() {
          switch (this.day()) {
            case 0:
              return '[prejšnjo] [nedeljo] [ob] LT';

            case 3:
              return '[prejšnjo] [sredo] [ob] LT';

            case 6:
              return '[prejšnjo] [soboto] [ob] LT';

            case 1:
            case 2:
            case 4:
            case 5:
              return '[prejšnji] dddd [ob] LT';
          }
        },
        sameElse: 'L'
      },
      relativeTime: {
        future: 'čez %s',
        past: 'pred %s',
        s: processRelativeTime,
        ss: processRelativeTime,
        m: processRelativeTime,
        mm: processRelativeTime,
        h: processRelativeTime,
        hh: processRelativeTime,
        d: processRelativeTime,
        dd: processRelativeTime,
        M: processRelativeTime,
        MM: processRelativeTime,
        y: processRelativeTime,
        yy: processRelativeTime
      },
      dayOfMonthOrdinalParse: /\d{1,2}\./,
      ordinal: '%d.',
      week: {
        dow: 1,
        doy: 7
      }
    });
    return sl;
  });
},482,[467]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNativeFs = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _rnFetchBlob = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNativePrint = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNativeImageMarker = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _stringUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _platformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var FileUtils = function () {
    function FileUtils() {
      (0, _classCallCheck2.default)(this, FileUtils);
    }

    (0, _createClass2.default)(FileUtils, null, [{
      key: "getMainBundleDirectory",
      value: function getMainBundleDirectory() {
        return _platformUtils.default.isIOS() ? "" + FileUtils.mainBundleDirectory : "" + FileUtils.DocumentDirectoryPath;
      }
    }, {
      key: "getCacheDirectory",
      value: function getCacheDirectory() {
        return _platformUtils.default.isIOS() ? "" + FileUtils.temporaryDirectory : "" + FileUtils.cacheDirectory;
      }
    }, {
      key: "getLibraryDirectory",
      value: function getLibraryDirectory() {
        return FileUtils.libraryDirectory;
      }
    }, {
      key: "getDocumentsDirectory",
      value: function getDocumentsDirectory() {
        return FileUtils.documentDirectory;
      }
    }, {
      key: "getBundleFilename",
      value: function getBundleFilename() {
        return _platformUtils.default.isIOS() ? "index.ios.bundle" : "android.bundle";
      }
    }, {
      key: "exists",
      value: function exists(path) {
        return _regenerator.default.async(function exists$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", _reactNativeFs.default.exists(path));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "empty",
      value: function empty(path) {
        return _regenerator.default.async(function empty$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.prev = 0;
                _context2.next = 3;
                return _regenerator.default.awrap(_reactNativeFs.default.readDir(path));

              case 3:
                _context2.t0 = _context2.sent.length;
                return _context2.abrupt("return", !(_context2.t0 > 0));

              case 7:
                _context2.prev = 7;
                _context2.t1 = _context2["catch"](0);
                return _context2.abrupt("return", false);

              case 10:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, [[0, 7]], Promise);
      }
    }, {
      key: "unlink",
      value: function unlink(path) {
        return _regenerator.default.async(function unlink$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                return _context3.abrupt("return", _reactNativeFs.default.unlink(path));

              case 1:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "mkdir",
      value: function mkdir(path) {
        return _regenerator.default.async(function mkdir$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                return _context4.abrupt("return", _reactNativeFs.default.mkdir(path));

              case 1:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "appendFile",
      value: function appendFile(path, text) {
        return _regenerator.default.async(function appendFile$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                return _context5.abrupt("return", _rnFetchBlob.default.fs.appendFile(path, text, "utf8"));

              case 1:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getFiles",
      value: function getFiles(path) {
        return _regenerator.default.async(function getFiles$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                return _context6.abrupt("return", _rnFetchBlob.default.fs.ls(path));

              case 1:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "copyFile",
      value: function copyFile(source, target) {
        return _regenerator.default.async(function copyFile$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                return _context7.abrupt("return", _reactNativeFs.default.copyFile(source, target));

              case 1:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "moveFile",
      value: function moveFile(source, target, options) {
        return _regenerator.default.async(function moveFile$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                return _context8.abrupt("return", _reactNativeFs.default.moveFile(source, target, options));

              case 1:
              case "end":
                return _context8.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "assetPath",
      value: function assetPath(file) {
        return _rnFetchBlob.default.fs.asset(file);
      }
    }, {
      key: "readFileBase64",
      value: function readFileBase64(path) {
        return _regenerator.default.async(function readFileBase64$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                return _context9.abrupt("return", _rnFetchBlob.default.fs.readFile(path, "base64"));

              case 1:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "readFile",
      value: function readFile(path) {
        return _regenerator.default.async(function readFile$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                return _context10.abrupt("return", _rnFetchBlob.default.fs.readFile(path));

              case 1:
              case "end":
                return _context10.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "write",
      value: function write(path, content) {
        var encoding,
            _args11 = arguments;
        return _regenerator.default.async(function write$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                encoding = _args11.length > 2 && _args11[2] !== undefined ? _args11[2] : "utf8";
                return _context11.abrupt("return", _rnFetchBlob.default.fs.writeFile(path, content, encoding));

              case 2:
              case "end":
                return _context11.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "scanFile",
      value: function scanFile(path) {
        return _regenerator.default.async(function scanFile$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                return _context12.abrupt("return", _rnFetchBlob.default.fs.scanFile([{
                  path: path
                }]));

              case 1:
              case "end":
                return _context12.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "fetch",
      value: function fetch(url) {
        var config,
            _config$timeout,
            timeout,
            _config$readTimeout,
            readTimeout,
            startCallBack,
            progressCallback,
            _config$cacheEnabled,
            cacheEnabled,
            _config$requestHeader,
            requestHeaders,
            tmpFile,
            fallbackContentLength,
            status,
            headers,
            timeouts,
            downloadTask,
            _args13 = arguments;

        return _regenerator.default.async(function fetch$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                config = _args13.length > 1 && _args13[1] !== undefined ? _args13[1] : {};
                _config$timeout = config.timeout, timeout = _config$timeout === undefined ? FileUtils.networkTimeout : _config$timeout, _config$readTimeout = config.readTimeout, readTimeout = _config$readTimeout === undefined ? FileUtils.readTimeout : _config$readTimeout, startCallBack = config.startCallBack, progressCallback = config.progressCallback, _config$cacheEnabled = config.cacheEnabled, cacheEnabled = _config$cacheEnabled === undefined ? false : _config$cacheEnabled, _config$requestHeader = config.requestHeaders, requestHeaders = _config$requestHeader === undefined ? {} : _config$requestHeader;
                _context13.prev = 2;

                if (cacheEnabled) {
                  tmpFile = FileUtils.temporaryDirectory + "/" + _stringUtils.default.getMd5(url);
                } else {
                  tmpFile = FileUtils.temporaryDirectory + "/" + _stringUtils.default.getMd5(url + new Date().getMilliseconds());
                }

                fallbackContentLength = -1;
                status = -1;
                headers = {};
                timeouts = {
                  readTimeout: readTimeout
                };

                if (_platformUtils.default.isAndroid()) {
                  timeouts.connectionTimeout = timeout;
                }

                _context13.t0 = !cacheEnabled;

                if (_context13.t0) {
                  _context13.next = 14;
                  break;
                }

                _context13.next = 13;
                return _regenerator.default.awrap(FileUtils.exists(tmpFile));

              case 13:
                _context13.t0 = !_context13.sent;

              case 14:
                if (!_context13.t0) {
                  _context13.next = 18;
                  break;
                }

                downloadTask = _reactNativeFs.default.downloadFile((0, _extends2.default)({
                  fromUrl: url,
                  toFile: tmpFile,
                  headers: requestHeaders
                }, timeouts, {
                  begin: function begin(res) {
                    var statusCode = res.statusCode,
                        contentLength = res.contentLength,
                        responseHeaders = res.headers;
                    status = statusCode;

                    if (responseHeaders) {
                      headers = responseHeaders;

                      if (!responseHeaders["Content-Length"] && responseHeaders["Length-If-Chunked"]) {
                        fallbackContentLength = parseInt(responseHeaders["Length-If-Chunked"], 10);
                      }
                    }

                    if (startCallBack) {
                      startCallBack(Math.max(contentLength, fallbackContentLength));
                    }
                  },
                  progress: function progress(res) {
                    if (progressCallback) {
                      var contentLength = res.contentLength;
                      var bytesWritten = res.bytesWritten;

                      if (contentLength === -1) {
                        contentLength = fallbackContentLength;
                      }

                      progressCallback(bytesWritten, contentLength);
                    }
                  }
                }));
                _context13.next = 18;
                return _regenerator.default.awrap(downloadTask.promise);

              case 18:
                return _context13.abrupt("return", {
                  respInfo: {
                    status: status,
                    headers: headers
                  },
                  path: function path() {
                    return tmpFile;
                  }
                });

              case 21:
                _context13.prev = 21;
                _context13.t1 = _context13["catch"](2);
                throw _context13.t1;

              case 24:
              case "end":
                return _context13.stop();
            }
          }
        }, null, null, [[2, 21]], Promise);
      }
    }, {
      key: "fetchBase64",
      value: function fetchBase64(uri) {
        var data, base64;
        return _regenerator.default.async(function fetchBase64$(_context14) {
          while (1) {
            switch (_context14.prev = _context14.next) {
              case 0:
                _context14.next = 2;
                return _regenerator.default.awrap(FileUtils.fetch(uri));

              case 2:
                data = _context14.sent;
                _context14.next = 5;
                return _regenerator.default.awrap(FileUtils.readFileBase64(data.path()));

              case 5:
                base64 = _context14.sent;
                return _context14.abrupt("return", base64);

              case 7:
              case "end":
                return _context14.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "post",
      value: function post(url, postData) {
        return _regenerator.default.async(function post$(_context15) {
          while (1) {
            switch (_context15.prev = _context15.next) {
              case 0:
                return _context15.abrupt("return", _rnFetchBlob.default.fetch("POST", url, {
                  "Content-Type": "application/octet-stream"
                }, [postData]));

              case 1:
              case "end":
                return _context15.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "wrap",
      value: function wrap(path) {
        return _rnFetchBlob.default.wrap(path);
      }
    }, {
      key: "zip",
      value: function zip(source, target) {
        return (0, _$$_REQUIRE(_dependencyMap[11]).zip)(source, target);
      }
    }, {
      key: "zipFiles",
      value: function zipFiles(files, target) {
        var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
        return (0, _$$_REQUIRE(_dependencyMap[11]).zipFiles)(files, target, options);
      }
    }, {
      key: "unzip",
      value: function unzip(source, target) {
        return _regenerator.default.async(function unzip$(_context16) {
          while (1) {
            switch (_context16.prev = _context16.next) {
              case 0:
                return _context16.abrupt("return", (0, _$$_REQUIRE(_dependencyMap[11]).unzip)(source, target));

              case 1:
              case "end":
                return _context16.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "zipEntryToBase64",
      value: function zipEntryToBase64(archiveName, fileName) {
        return _regenerator.default.async(function zipEntryToBase64$(_context17) {
          while (1) {
            switch (_context17.prev = _context17.next) {
              case 0:
                return _context17.abrupt("return", (0, _$$_REQUIRE(_dependencyMap[11]).zipEntryToBase64)(archiveName, fileName));

              case 1:
              case "end":
                return _context17.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "clearUnusedDownloadedFiles",
      value: function clearUnusedDownloadedFiles() {
        var _len,
            args,
            _key,
            i,
            _args18 = arguments;

        return _regenerator.default.async(function clearUnusedDownloadedFiles$(_context18) {
          while (1) {
            switch (_context18.prev = _context18.next) {
              case 0:
                for (_len = _args18.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
                  args[_key] = _args18[_key];
                }

                if (!args) {
                  _context18.next = 14;
                  break;
                }

                i = 0;

              case 3:
                if (!(i < args.length)) {
                  _context18.next = 14;
                  break;
                }

                _context18.prev = 4;
                _context18.next = 7;
                return _regenerator.default.awrap(FileUtils.unlink(args[i]));

              case 7:
                _context18.next = 11;
                break;

              case 9:
                _context18.prev = 9;
                _context18.t0 = _context18["catch"](4);

              case 11:
                i++;
                _context18.next = 3;
                break;

              case 14:
              case "end":
                return _context18.stop();
            }
          }
        }, null, null, [[4, 9]], Promise);
      }
    }, {
      key: "stat",
      value: function stat(filepath) {
        return _regenerator.default.async(function stat$(_context19) {
          while (1) {
            switch (_context19.prev = _context19.next) {
              case 0:
                return _context19.abrupt("return", _reactNativeFs.default.stat(filepath));

              case 1:
              case "end":
                return _context19.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "readDir",
      value: function readDir(filePath) {
        return _regenerator.default.async(function readDir$(_context20) {
          while (1) {
            switch (_context20.prev = _context20.next) {
              case 0:
                return _context20.abrupt("return", _reactNativeFs.default.readDir(filePath));

              case 1:
              case "end":
                return _context20.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getCacheSize",
      value: function getCacheSize() {
        var result;
        return _regenerator.default.async(function getCacheSize$(_context21) {
          while (1) {
            switch (_context21.prev = _context21.next) {
              case 0:
                result = 0;
                _context21.prev = 1;
                _context21.next = 4;
                return _regenerator.default.awrap(FileUtils.getFolderSize(FileUtils.getCacheDirectory()));

              case 4:
                result = _context21.sent;
                _context21.next = 9;
                break;

              case 7:
                _context21.prev = 7;
                _context21.t0 = _context21["catch"](1);

              case 9:
                return _context21.abrupt("return", result);

              case 10:
              case "end":
                return _context21.stop();
            }
          }
        }, null, null, [[1, 7]], Promise);
      }
    }, {
      key: "getFolderSize",
      value: function getFolderSize(folder) {
        var result, files, i;
        return _regenerator.default.async(function getFolderSize$(_context22) {
          while (1) {
            switch (_context22.prev = _context22.next) {
              case 0:
                result = 0;
                _context22.prev = 1;
                _context22.next = 4;
                return _regenerator.default.awrap(FileUtils.readDir(folder));

              case 4:
                files = _context22.sent;
                i = 0;

              case 6:
                if (!(i < files.length)) {
                  _context22.next = 18;
                  break;
                }

                if (!files[i].isDirectory()) {
                  _context22.next = 14;
                  break;
                }

                _context22.t0 = result;
                _context22.next = 11;
                return _regenerator.default.awrap(FileUtils.getFolderSize(files[i].path));

              case 11:
                result = _context22.t0 += _context22.sent;
                _context22.next = 15;
                break;

              case 14:
                result += files[i].size;

              case 15:
                i++;
                _context22.next = 6;
                break;

              case 18:
                _context22.next = 22;
                break;

              case 20:
                _context22.prev = 20;
                _context22.t1 = _context22["catch"](1);

              case 22:
                return _context22.abrupt("return", result);

              case 23:
              case "end":
                return _context22.stop();
            }
          }
        }, null, null, [[1, 20]], Promise);
      }
    }, {
      key: "getFilename",
      value: function getFilename(pathToFile) {
        return pathToFile.substring(pathToFile.lastIndexOf("/") + 1);
      }
    }, {
      key: "getCanonicalPath",
      value: function getCanonicalPath(path) {
        var basePath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "/";

        if (path.startsWith("..")) {
          path = (basePath + "/" + path).replace(/\/{2,}/g, "/");
        }

        var segments = path.split("/");
        var i = 0;

        while (i < segments.length - 1) {
          if (segments[i + 1] === "..") {
            segments.splice(i, 2);
            i -= 1;

            if (i < 0) {
              throw new Error("Impossible to resolve canonical path");
            }
          } else {
            i += 1;
          }
        }

        return segments.join("/");
      }
    }, {
      key: "printHTML",
      value: function printHTML(html, fileName, printToLetter) {
        var isLandscape,
            _args23 = arguments;
        return _regenerator.default.async(function printHTML$(_context23) {
          while (1) {
            switch (_context23.prev = _context23.next) {
              case 0:
                isLandscape = _args23.length > 3 && _args23[3] !== undefined ? _args23[3] : false;
                return _context23.abrupt("return", _reactNativePrint.default.print({
                  html: html,
                  fileName: fileName,
                  printToLetter: printToLetter,
                  isLandscape: isLandscape
                }));

              case 2:
              case "end":
                return _context23.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "printFile",
      value: function printFile(path, fileName) {
        return _regenerator.default.async(function printFile$(_context24) {
          while (1) {
            switch (_context24.prev = _context24.next) {
              case 0:
                return _context24.abrupt("return", _reactNativePrint.default.print({
                  filePath: path,
                  fileName: fileName
                }));

              case 1:
              case "end":
                return _context24.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "clearCache",
      value: function clearCache() {
        return _regenerator.default.async(function clearCache$(_context25) {
          while (1) {
            switch (_context25.prev = _context25.next) {
              case 0:
                return _context25.abrupt("return", FileUtils.unlink(FileUtils.getCacheDirectory()));

              case 1:
              case "end":
                return _context25.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "addTextWatermarkToImage",
      value: function addTextWatermarkToImage(params) {
        return _regenerator.default.async(function addTextWatermarkToImage$(_context26) {
          while (1) {
            switch (_context26.prev = _context26.next) {
              case 0:
                return _context26.abrupt("return", _reactNativeImageMarker.default.markText(params));

              case 1:
              case "end":
                return _context26.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "addImageWatermarkToImage",
      value: function addImageWatermarkToImage(params) {
        return _regenerator.default.async(function addImageWatermarkToImage$(_context27) {
          while (1) {
            switch (_context27.prev = _context27.next) {
              case 0:
                return _context27.abrupt("return", _reactNativeImageMarker.default.markImage(params));

              case 1:
              case "end":
                return _context27.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return FileUtils;
  }();

  exports.default = FileUtils;
  FileUtils.networkTimeout = 0;
  FileUtils.readTimeout = 0;
  FileUtils.mainBundleDirectory = _reactNativeFs.default.MainBundlePath;
  FileUtils.cacheDirectory = _reactNativeFs.default.CachesDirectoryPath;
  FileUtils.documentDirectory = _reactNativeFs.default.DocumentDirectoryPath;
  FileUtils.libraryDirectory = _reactNativeFs.default.LibraryDirectoryPath;
  FileUtils.temporaryDirectory = _reactNativeFs.default.TemporaryDirectoryPath;
  FileUtils.picturesDirectory = _reactNativeFs.default.PicturesDirectoryPath;
},483,[5,80,6,7,8,484,487,512,513,514,531,541]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var RNFSManager = _$$_REQUIRE(_dependencyMap[0]).NativeModules.RNFSManager;

  var NativeEventEmitter = _$$_REQUIRE(_dependencyMap[0]).NativeEventEmitter;

  var RNFS_NativeEventEmitter = new NativeEventEmitter(RNFSManager);
  var isIOS = true;
  var RNFSFileTypeRegular = RNFSManager.RNFSFileTypeRegular;
  var RNFSFileTypeDirectory = RNFSManager.RNFSFileTypeDirectory;
  var jobId = 0;

  var getJobId = function getJobId() {
    jobId += 1;
    return jobId;
  };

  var normalizeFilePath = function normalizeFilePath(path) {
    return path.startsWith('file://') ? path.slice(7) : path;
  };

  function readFileGeneric(filepath, encodingOrOptions, command) {
    var options = {
      encoding: 'utf8'
    };

    if (encodingOrOptions) {
      if (typeof encodingOrOptions === 'string') {
        options.encoding = encodingOrOptions;
      } else if (typeof encodingOrOptions === 'object') {
        options = encodingOrOptions;
      }
    }

    return command(normalizeFilePath(filepath)).then(function (b64) {
      var contents;

      if (options.encoding === 'utf8') {
        contents = _$$_REQUIRE(_dependencyMap[1]).decode(_$$_REQUIRE(_dependencyMap[2]).decode(b64));
      } else if (options.encoding === 'ascii') {
        contents = _$$_REQUIRE(_dependencyMap[2]).decode(b64);
      } else if (options.encoding === 'base64') {
        contents = b64;
      } else {
        throw new Error('Invalid encoding type "' + String(options.encoding) + '"');
      }

      return contents;
    });
  }

  function readDirGeneric(dirpath, command) {
    return command(normalizeFilePath(dirpath)).then(function (files) {
      return files.map(function (file) {
        return {
          ctime: file.ctime && new Date(file.ctime * 1000) || null,
          mtime: file.mtime && new Date(file.mtime * 1000) || null,
          name: file.name,
          path: file.path,
          size: file.size,
          isFile: function isFile() {
            return file.type === RNFSFileTypeRegular;
          },
          isDirectory: function isDirectory() {
            return file.type === RNFSFileTypeDirectory;
          }
        };
      });
    });
  }

  var RNFS = {
    mkdir: function mkdir(filepath) {
      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
      return RNFSManager.mkdir(normalizeFilePath(filepath), options).then(function () {
        return undefined;
      });
    },
    moveFile: function moveFile(filepath, destPath) {
      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
      return RNFSManager.moveFile(normalizeFilePath(filepath), normalizeFilePath(destPath), options).then(function () {
        return undefined;
      });
    },
    copyFile: function copyFile(filepath, destPath) {
      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
      return RNFSManager.copyFile(normalizeFilePath(filepath), normalizeFilePath(destPath), options).then(function () {
        return undefined;
      });
    },
    pathForBundle: function pathForBundle(bundleNamed) {
      return RNFSManager.pathForBundle(bundleNamed);
    },
    pathForGroup: function pathForGroup(groupName) {
      return RNFSManager.pathForGroup(groupName);
    },
    getFSInfo: function getFSInfo() {
      return RNFSManager.getFSInfo();
    },
    getAllExternalFilesDirs: function getAllExternalFilesDirs() {
      return RNFSManager.getAllExternalFilesDirs();
    },
    unlink: function unlink(filepath) {
      return RNFSManager.unlink(normalizeFilePath(filepath)).then(function () {
        return undefined;
      });
    },
    exists: function exists(filepath) {
      return RNFSManager.exists(normalizeFilePath(filepath));
    },
    stopDownload: function stopDownload(jobId) {
      RNFSManager.stopDownload(jobId);
    },
    resumeDownload: function resumeDownload(jobId) {
      RNFSManager.resumeDownload(jobId);
    },
    isResumable: function isResumable(jobId) {
      return RNFSManager.isResumable(jobId);
    },
    stopUpload: function stopUpload(jobId) {
      RNFSManager.stopUpload(jobId);
    },
    completeHandlerIOS: function completeHandlerIOS(jobId) {
      return RNFSManager.completeHandlerIOS(jobId);
    },
    readDir: function readDir(dirpath) {
      return readDirGeneric(dirpath, RNFSManager.readDir);
    },
    readDirAssets: function readDirAssets(dirpath) {
      if (!RNFSManager.readDirAssets) {
        throw new Error('readDirAssets is not available on this platform');
      }

      return readDirGeneric(dirpath, RNFSManager.readDirAssets);
    },
    existsAssets: function existsAssets(filepath) {
      if (!RNFSManager.existsAssets) {
        throw new Error('existsAssets is not available on this platform');
      }

      return RNFSManager.existsAssets(filepath);
    },
    existsRes: function existsRes(filename) {
      if (!RNFSManager.existsRes) {
        throw new Error('existsRes is not available on this platform');
      }

      return RNFSManager.existsRes(filename);
    },
    readdir: function readdir(dirpath) {
      return RNFS.readDir(normalizeFilePath(dirpath)).then(function (files) {
        return files.map(function (file) {
          return file.name;
        });
      });
    },
    setReadable: function setReadable(filepath, readable, ownerOnly) {
      return RNFSManager.setReadable(filepath, readable, ownerOnly).then(function (result) {
        return result;
      });
    },
    stat: function stat(filepath) {
      return RNFSManager.stat(normalizeFilePath(filepath)).then(function (result) {
        return {
          'path': filepath,
          'ctime': new Date(result.ctime * 1000),
          'mtime': new Date(result.mtime * 1000),
          'size': result.size,
          'mode': result.mode,
          'originalFilepath': result.originalFilepath,
          isFile: function isFile() {
            return result.type === RNFSFileTypeRegular;
          },
          isDirectory: function isDirectory() {
            return result.type === RNFSFileTypeDirectory;
          }
        };
      });
    },
    readFile: function readFile(filepath, encodingOrOptions) {
      return readFileGeneric(filepath, encodingOrOptions, RNFSManager.readFile);
    },
    read: function read(filepath) {
      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
      var position = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
      var encodingOrOptions = arguments.length > 3 ? arguments[3] : undefined;
      var options = {
        encoding: 'utf8'
      };

      if (encodingOrOptions) {
        if (typeof encodingOrOptions === 'string') {
          options.encoding = encodingOrOptions;
        } else if (typeof encodingOrOptions === 'object') {
          options = encodingOrOptions;
        }
      }

      return RNFSManager.read(normalizeFilePath(filepath), length, position).then(function (b64) {
        var contents;

        if (options.encoding === 'utf8') {
          contents = _$$_REQUIRE(_dependencyMap[1]).decode(_$$_REQUIRE(_dependencyMap[2]).decode(b64));
        } else if (options.encoding === 'ascii') {
          contents = _$$_REQUIRE(_dependencyMap[2]).decode(b64);
        } else if (options.encoding === 'base64') {
          contents = b64;
        } else {
          throw new Error('Invalid encoding type "' + String(options.encoding) + '"');
        }

        return contents;
      });
    },
    readFileAssets: function readFileAssets(filepath, encodingOrOptions) {
      if (!RNFSManager.readFileAssets) {
        throw new Error('readFileAssets is not available on this platform');
      }

      return readFileGeneric(filepath, encodingOrOptions, RNFSManager.readFileAssets);
    },
    readFileRes: function readFileRes(filename, encodingOrOptions) {
      if (!RNFSManager.readFileRes) {
        throw new Error('readFileRes is not available on this platform');
      }

      return readFileGeneric(filename, encodingOrOptions, RNFSManager.readFileRes);
    },
    hash: function hash(filepath, algorithm) {
      return RNFSManager.hash(normalizeFilePath(filepath), algorithm);
    },
    copyFileAssets: function copyFileAssets(filepath, destPath) {
      if (!RNFSManager.copyFileAssets) {
        throw new Error('copyFileAssets is not available on this platform');
      }

      return RNFSManager.copyFileAssets(normalizeFilePath(filepath), normalizeFilePath(destPath)).then(function () {
        return undefined;
      });
    },
    copyFileRes: function copyFileRes(filename, destPath) {
      if (!RNFSManager.copyFileRes) {
        throw new Error('copyFileRes is not available on this platform');
      }

      return RNFSManager.copyFileRes(filename, normalizeFilePath(destPath)).then(function () {
        return undefined;
      });
    },
    copyAssetsFileIOS: function copyAssetsFileIOS(imageUri, destPath, width, height) {
      var scale = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1.0;
      var compression = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1.0;
      var resizeMode = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 'contain';
      return RNFSManager.copyAssetsFileIOS(imageUri, destPath, width, height, scale, compression, resizeMode);
    },
    copyAssetsVideoIOS: function copyAssetsVideoIOS(imageUri, destPath) {
      return RNFSManager.copyAssetsVideoIOS(imageUri, destPath);
    },
    writeFile: function writeFile(filepath, contents, encodingOrOptions) {
      var b64;
      var options = {
        encoding: 'utf8'
      };

      if (encodingOrOptions) {
        if (typeof encodingOrOptions === 'string') {
          options.encoding = encodingOrOptions;
        } else if (typeof encodingOrOptions === 'object') {
          options = _$$_REQUIRE(_dependencyMap[3])({}, options, encodingOrOptions);
        }
      }

      if (options.encoding === 'utf8') {
        b64 = _$$_REQUIRE(_dependencyMap[2]).encode(_$$_REQUIRE(_dependencyMap[1]).encode(contents));
      } else if (options.encoding === 'ascii') {
        b64 = _$$_REQUIRE(_dependencyMap[2]).encode(contents);
      } else if (options.encoding === 'base64') {
        b64 = contents;
      } else {
        throw new Error('Invalid encoding type "' + options.encoding + '"');
      }

      return RNFSManager.writeFile(normalizeFilePath(filepath), b64, options).then(function () {
        return undefined;
      });
    },
    appendFile: function appendFile(filepath, contents, encodingOrOptions) {
      var b64;
      var options = {
        encoding: 'utf8'
      };

      if (encodingOrOptions) {
        if (typeof encodingOrOptions === 'string') {
          options.encoding = encodingOrOptions;
        } else if (typeof encodingOrOptions === 'object') {
          options = encodingOrOptions;
        }
      }

      if (options.encoding === 'utf8') {
        b64 = _$$_REQUIRE(_dependencyMap[2]).encode(_$$_REQUIRE(_dependencyMap[1]).encode(contents));
      } else if (options.encoding === 'ascii') {
        b64 = _$$_REQUIRE(_dependencyMap[2]).encode(contents);
      } else if (options.encoding === 'base64') {
        b64 = contents;
      } else {
        throw new Error('Invalid encoding type "' + options.encoding + '"');
      }

      return RNFSManager.appendFile(normalizeFilePath(filepath), b64);
    },
    write: function write(filepath, contents, position, encodingOrOptions) {
      var b64;
      var options = {
        encoding: 'utf8'
      };

      if (encodingOrOptions) {
        if (typeof encodingOrOptions === 'string') {
          options.encoding = encodingOrOptions;
        } else if (typeof encodingOrOptions === 'object') {
          options = encodingOrOptions;
        }
      }

      if (options.encoding === 'utf8') {
        b64 = _$$_REQUIRE(_dependencyMap[2]).encode(_$$_REQUIRE(_dependencyMap[1]).encode(contents));
      } else if (options.encoding === 'ascii') {
        b64 = _$$_REQUIRE(_dependencyMap[2]).encode(contents);
      } else if (options.encoding === 'base64') {
        b64 = contents;
      } else {
        throw new Error('Invalid encoding type "' + options.encoding + '"');
      }

      if (position === undefined) {
        position = -1;
      }

      return RNFSManager.write(normalizeFilePath(filepath), b64, position).then(function () {
        return undefined;
      });
    },
    downloadFile: function downloadFile(options) {
      if (typeof options !== 'object') throw new Error('downloadFile: Invalid value for argument `options`');
      if (typeof options.fromUrl !== 'string') throw new Error('downloadFile: Invalid value for property `fromUrl`');
      if (typeof options.toFile !== 'string') throw new Error('downloadFile: Invalid value for property `toFile`');
      if (options.headers && typeof options.headers !== 'object') throw new Error('downloadFile: Invalid value for property `headers`');
      if (options.background && typeof options.background !== 'boolean') throw new Error('downloadFile: Invalid value for property `background`');
      if (options.progressDivider && typeof options.progressDivider !== 'number') throw new Error('downloadFile: Invalid value for property `progressDivider`');
      if (options.progressInterval && typeof options.progressInterval !== 'number') throw new Error('downloadFile: Invalid value for property `progressInterval`');
      if (options.readTimeout && typeof options.readTimeout !== 'number') throw new Error('downloadFile: Invalid value for property `readTimeout`');
      if (options.connectionTimeout && typeof options.connectionTimeout !== 'number') throw new Error('downloadFile: Invalid value for property `connectionTimeout`');
      if (options.backgroundTimeout && typeof options.backgroundTimeout !== 'number') throw new Error('downloadFile: Invalid value for property `backgroundTimeout`');
      var jobId = getJobId();
      var subscriptions = [];

      if (options.begin) {
        subscriptions.push(RNFS_NativeEventEmitter.addListener('DownloadBegin', function (res) {
          if (res.jobId === jobId) options.begin(res);
        }));
      }

      if (options.progress) {
        subscriptions.push(RNFS_NativeEventEmitter.addListener('DownloadProgress', function (res) {
          if (res.jobId === jobId) options.progress(res);
        }));
      }

      if (options.resumable) {
        subscriptions.push(RNFS_NativeEventEmitter.addListener('DownloadResumable', function (res) {
          if (res.jobId === jobId) options.resumable(res);
        }));
      }

      var bridgeOptions = {
        jobId: jobId,
        fromUrl: options.fromUrl,
        toFile: normalizeFilePath(options.toFile),
        headers: options.headers || {},
        background: !!options.background,
        progressDivider: options.progressDivider || 0,
        progressInterval: options.progressInterval || 0,
        readTimeout: options.readTimeout || 15000,
        connectionTimeout: options.connectionTimeout || 5000,
        backgroundTimeout: options.backgroundTimeout || 3600000,
        hasBeginCallback: options.begin instanceof Function,
        hasProgressCallback: options.progress instanceof Function,
        hasResumableCallback: options.resumable instanceof Function
      };
      return {
        jobId: jobId,
        promise: RNFSManager.downloadFile(bridgeOptions).then(function (res) {
          subscriptions.forEach(function (sub) {
            return sub.remove();
          });
          return res;
        }).catch(function (e) {
          return Promise.reject(e);
        })
      };
    },
    uploadFiles: function uploadFiles(options) {
      if (!RNFSManager.uploadFiles) {
        return {
          jobId: -1,
          promise: Promise.reject(new Error('`uploadFiles` is unsupported on this platform'))
        };
      }

      var jobId = getJobId();
      var subscriptions = [];
      if (typeof options !== 'object') throw new Error('uploadFiles: Invalid value for argument `options`');
      if (typeof options.toUrl !== 'string') throw new Error('uploadFiles: Invalid value for property `toUrl`');
      if (!Array.isArray(options.files)) throw new Error('uploadFiles: Invalid value for property `files`');
      if (options.headers && typeof options.headers !== 'object') throw new Error('uploadFiles: Invalid value for property `headers`');
      if (options.fields && typeof options.fields !== 'object') throw new Error('uploadFiles: Invalid value for property `fields`');
      if (options.method && typeof options.method !== 'string') throw new Error('uploadFiles: Invalid value for property `method`');

      if (options.begin) {
        subscriptions.push(RNFS_NativeEventEmitter.addListener('UploadBegin', options.begin));
      } else if (options.beginCallback) {
        subscriptions.push(RNFS_NativeEventEmitter.addListener('UploadBegin', options.beginCallback));
      }

      if (options.progress) {
        subscriptions.push(RNFS_NativeEventEmitter.addListener('UploadProgress', options.progress));
      } else if (options.progressCallback) {
        subscriptions.push(RNFS_NativeEventEmitter.addListener('UploadProgress', options.progressCallback));
      }

      var bridgeOptions = {
        jobId: jobId,
        toUrl: options.toUrl,
        files: options.files,
        binaryStreamOnly: options.binaryStreamOnly || false,
        headers: options.headers || {},
        fields: options.fields || {},
        method: options.method || 'POST',
        hasBeginCallback: options.begin instanceof Function || options.beginCallback instanceof Function,
        hasProgressCallback: options.progress instanceof Function || options.progressCallback instanceof Function
      };
      return {
        jobId: jobId,
        promise: RNFSManager.uploadFiles(bridgeOptions).then(function (res) {
          subscriptions.forEach(function (sub) {
            return sub.remove();
          });
          return res;
        })
      };
    },
    touch: function touch(filepath, mtime, ctime) {
      if (ctime && !(ctime instanceof Date)) throw new Error('touch: Invalid value for argument `ctime`');
      if (mtime && !(mtime instanceof Date)) throw new Error('touch: Invalid value for argument `mtime`');
      var ctimeTime = 0;
      {
        ctimeTime = ctime && ctime.getTime();
      }
      return RNFSManager.touch(normalizeFilePath(filepath), mtime && mtime.getTime(), ctimeTime);
    },
    scanFile: function scanFile(path) {
      return RNFSManager.scanFile(path);
    },
    MainBundlePath: RNFSManager.RNFSMainBundlePath,
    CachesDirectoryPath: RNFSManager.RNFSCachesDirectoryPath,
    ExternalCachesDirectoryPath: RNFSManager.RNFSExternalCachesDirectoryPath,
    DocumentDirectoryPath: RNFSManager.RNFSDocumentDirectoryPath,
    DownloadDirectoryPath: RNFSManager.RNFSDownloadDirectoryPath,
    ExternalDirectoryPath: RNFSManager.RNFSExternalDirectoryPath,
    ExternalStorageDirectoryPath: RNFSManager.RNFSExternalStorageDirectoryPath,
    TemporaryDirectoryPath: RNFSManager.RNFSTemporaryDirectoryPath,
    LibraryDirectoryPath: RNFSManager.RNFSLibraryDirectoryPath,
    PicturesDirectoryPath: RNFSManager.RNFSPicturesDirectoryPath,
    FileProtectionKeys: RNFSManager.RNFSFileProtectionKeys
  };
  module.exports = RNFS;
},484,[28,485,486,6]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root) {
    var stringFromCharCode = String.fromCharCode;

    function ucs2decode(string) {
      var output = [];
      var counter = 0;
      var length = string.length;
      var value;
      var extra;

      while (counter < length) {
        value = string.charCodeAt(counter++);

        if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
          extra = string.charCodeAt(counter++);

          if ((extra & 0xFC00) == 0xDC00) {
            output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
          } else {
            output.push(value);
            counter--;
          }
        } else {
          output.push(value);
        }
      }

      return output;
    }

    function ucs2encode(array) {
      var length = array.length;
      var index = -1;
      var value;
      var output = '';

      while (++index < length) {
        value = array[index];

        if (value > 0xFFFF) {
          value -= 0x10000;
          output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);
          value = 0xDC00 | value & 0x3FF;
        }

        output += stringFromCharCode(value);
      }

      return output;
    }

    function checkScalarValue(codePoint) {
      if (codePoint >= 0xD800 && codePoint <= 0xDFFF) {
        throw Error('Lone surrogate U+' + codePoint.toString(16).toUpperCase() + ' is not a scalar value');
      }
    }

    function createByte(codePoint, shift) {
      return stringFromCharCode(codePoint >> shift & 0x3F | 0x80);
    }

    function encodeCodePoint(codePoint) {
      if ((codePoint & 0xFFFFFF80) == 0) {
        return stringFromCharCode(codePoint);
      }

      var symbol = '';

      if ((codePoint & 0xFFFFF800) == 0) {
        symbol = stringFromCharCode(codePoint >> 6 & 0x1F | 0xC0);
      } else if ((codePoint & 0xFFFF0000) == 0) {
        checkScalarValue(codePoint);
        symbol = stringFromCharCode(codePoint >> 12 & 0x0F | 0xE0);
        symbol += createByte(codePoint, 6);
      } else if ((codePoint & 0xFFE00000) == 0) {
        symbol = stringFromCharCode(codePoint >> 18 & 0x07 | 0xF0);
        symbol += createByte(codePoint, 12);
        symbol += createByte(codePoint, 6);
      }

      symbol += stringFromCharCode(codePoint & 0x3F | 0x80);
      return symbol;
    }

    function utf8encode(string) {
      var codePoints = ucs2decode(string);
      var length = codePoints.length;
      var index = -1;
      var codePoint;
      var byteString = '';

      while (++index < length) {
        codePoint = codePoints[index];
        byteString += encodeCodePoint(codePoint);
      }

      return byteString;
    }

    function readContinuationByte() {
      if (byteIndex >= byteCount) {
        throw Error('Invalid byte index');
      }

      var continuationByte = byteArray[byteIndex] & 0xFF;
      byteIndex++;

      if ((continuationByte & 0xC0) == 0x80) {
        return continuationByte & 0x3F;
      }

      throw Error('Invalid continuation byte');
    }

    function decodeSymbol() {
      var byte1;
      var byte2;
      var byte3;
      var byte4;
      var codePoint;

      if (byteIndex > byteCount) {
        throw Error('Invalid byte index');
      }

      if (byteIndex == byteCount) {
        return false;
      }

      byte1 = byteArray[byteIndex] & 0xFF;
      byteIndex++;

      if ((byte1 & 0x80) == 0) {
        return byte1;
      }

      if ((byte1 & 0xE0) == 0xC0) {
        byte2 = readContinuationByte();
        codePoint = (byte1 & 0x1F) << 6 | byte2;

        if (codePoint >= 0x80) {
          return codePoint;
        } else {
          throw Error('Invalid continuation byte');
        }
      }

      if ((byte1 & 0xF0) == 0xE0) {
        byte2 = readContinuationByte();
        byte3 = readContinuationByte();
        codePoint = (byte1 & 0x0F) << 12 | byte2 << 6 | byte3;

        if (codePoint >= 0x0800) {
          checkScalarValue(codePoint);
          return codePoint;
        } else {
          throw Error('Invalid continuation byte');
        }
      }

      if ((byte1 & 0xF8) == 0xF0) {
        byte2 = readContinuationByte();
        byte3 = readContinuationByte();
        byte4 = readContinuationByte();
        codePoint = (byte1 & 0x07) << 0x12 | byte2 << 0x0C | byte3 << 0x06 | byte4;

        if (codePoint >= 0x010000 && codePoint <= 0x10FFFF) {
          return codePoint;
        }
      }

      throw Error('Invalid UTF-8 detected');
    }

    var byteArray;
    var byteCount;
    var byteIndex;

    function utf8decode(byteString) {
      byteArray = ucs2decode(byteString);
      byteCount = byteArray.length;
      byteIndex = 0;
      var codePoints = [];
      var tmp;

      while ((tmp = decodeSymbol()) !== false) {
        codePoints.push(tmp);
      }

      return ucs2encode(codePoints);
    }

    root.version = '3.0.0';
    root.encode = utf8encode;
    root.decode = utf8decode;
  })(typeof exports === 'undefined' ? this.utf8 = {} : exports);
},485,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root) {
    var freeExports = typeof exports == 'object' && exports;
    var freeModule = typeof module == 'object' && module && module.exports == freeExports && module;
    var freeGlobal = typeof global == 'object' && global;

    if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) {
      root = freeGlobal;
    }

    var InvalidCharacterError = function InvalidCharacterError(message) {
      this.message = message;
    };

    InvalidCharacterError.prototype = new Error();
    InvalidCharacterError.prototype.name = 'InvalidCharacterError';

    var error = function error(message) {
      throw new InvalidCharacterError(message);
    };

    var TABLE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
    var REGEX_SPACE_CHARACTERS = /[\t\n\f\r ]/g;

    var decode = function decode(input) {
      input = String(input).replace(REGEX_SPACE_CHARACTERS, '');
      var length = input.length;

      if (length % 4 == 0) {
        input = input.replace(/==?$/, '');
        length = input.length;
      }

      if (length % 4 == 1 || /[^+a-zA-Z0-9/]/.test(input)) {
        error('Invalid character: the string to be decoded is not correctly encoded.');
      }

      var bitCounter = 0;
      var bitStorage;
      var buffer;
      var output = '';
      var position = -1;

      while (++position < length) {
        buffer = TABLE.indexOf(input.charAt(position));
        bitStorage = bitCounter % 4 ? bitStorage * 64 + buffer : buffer;

        if (bitCounter++ % 4) {
          output += String.fromCharCode(0xFF & bitStorage >> (-2 * bitCounter & 6));
        }
      }

      return output;
    };

    var encode = function encode(input) {
      input = String(input);

      if (/[^\0-\xFF]/.test(input)) {
        error("The string to be encoded contains characters outside of the Latin1 range.");
      }

      var padding = input.length % 3;
      var output = '';
      var position = -1;
      var a;
      var b;
      var c;
      var d;
      var buffer;
      var length = input.length - padding;

      while (++position < length) {
        a = input.charCodeAt(position) << 16;
        b = input.charCodeAt(++position) << 8;
        c = input.charCodeAt(++position);
        buffer = a + b + c;
        output += TABLE.charAt(buffer >> 18 & 0x3F) + TABLE.charAt(buffer >> 12 & 0x3F) + TABLE.charAt(buffer >> 6 & 0x3F) + TABLE.charAt(buffer & 0x3F);
      }

      if (padding == 2) {
        a = input.charCodeAt(position) << 8;
        b = input.charCodeAt(++position);
        buffer = a + b;
        output += TABLE.charAt(buffer >> 10) + TABLE.charAt(buffer >> 4 & 0x3F) + TABLE.charAt(buffer << 2 & 0x3F) + '=';
      } else if (padding == 1) {
        buffer = input.charCodeAt(position);
        output += TABLE.charAt(buffer >> 2) + TABLE.charAt(buffer << 4 & 0x3F) + '==';
      }

      return output;
    };

    var base64 = {
      'encode': encode,
      'decode': decode,
      'version': '0.1.0'
    };

    if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {
      define(function () {
        return base64;
      });
    } else if (freeExports && !freeExports.nodeType) {
      if (freeModule) {
        freeModule.exports = base64;
      } else {
        for (var key in base64) {
          base64.hasOwnProperty(key) && (freeExports[key] = base64[key]);
        }
      }
    } else {
      root.base64 = base64;
    }
  })(this);
},486,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var _uri = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _fs = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _uuid = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _base = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _polyfill = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _lodash = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _android = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _ios = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _jsonStream = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var RNFetchBlobSession = _fs.default.RNFetchBlobSession,
      readStream = _fs.default.readStream,
      createFile = _fs.default.createFile,
      unlink = _fs.default.unlink,
      exists = _fs.default.exists,
      mkdir = _fs.default.mkdir,
      session = _fs.default.session,
      writeStream = _fs.default.writeStream,
      readFile = _fs.default.readFile,
      ls = _fs.default.ls,
      isDir = _fs.default.isDir,
      mv = _fs.default.mv,
      cp = _fs.default.cp;
  var Blob = _polyfill.default.Blob;
  var emitter = _reactNative.DeviceEventEmitter;
  var RNFetchBlob = _reactNative.NativeModules.RNFetchBlob;

  if (_reactNative.Platform.OS === 'ios') {
    _reactNative.AppState.addEventListener('change', function (e) {
      if (e === 'active') RNFetchBlob.emitExpiredEvent(function () {});
    });
  }

  emitter.addListener("RNFetchBlobMessage", function (e) {
    if (e.event === 'warn') {
      console.warn(e.detail);
    } else if (e.event === 'error') {
      throw e.detail;
    } else {}
  });

  if (!RNFetchBlob || !RNFetchBlob.fetchBlobForm || !RNFetchBlob.fetchBlob) {
    console.warn('rn-fetch-blob could not find valid native module.', 'please make sure you have linked native modules using `rnpm link`,', 'and restart RN packager or manually compile IOS/Android project.');
  }

  function wrap(path) {
    var prefix = path.startsWith('content://') ? 'RNFetchBlob-content://' : 'RNFetchBlob-file://';
    return prefix + path;
  }

  function config(options) {
    return {
      fetch: fetch.bind(options)
    };
  }

  function fetchFile() {
    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var method = arguments.length > 1 ? arguments[1] : undefined;
    var url = arguments.length > 2 ? arguments[2] : undefined;
    var headers = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
    var body = arguments.length > 4 ? arguments[4] : undefined;

    if (!_uri.default.isFileURI(url)) {
      throw "could not fetch file from an invalid URI : " + url;
    }

    url = _uri.default.unwrapFileURI(url);
    var promise = null;
    var cursor = 0;
    var total = -1;
    var cacheData = '';
    var info = null;

    var _progress, _uploadProgress, _stateChange;

    switch (method.toLowerCase()) {
      case 'post':
        break;

      case 'put':
        break;

      default:
        promise = _fs.default.stat(url).then(function (stat) {
          total = stat.size;
          return _fs.default.readStream(url, headers.encoding || 'utf8', Math.floor(headers.bufferSize) || 409600, Math.floor(headers.interval) || 100);
        }).then(function (stream) {
          return new Promise(function (resolve, reject) {
            stream.open();
            info = {
              state: "2",
              headers: {
                'source': 'system-fs'
              },
              status: 200,
              respType: 'text',
              rnfbEncode: headers.encoding || 'utf8'
            };

            _stateChange(info);

            stream.onData(function (chunk) {
              _progress && _progress(cursor, total, chunk);
              if (headers.noCache) return;
              cacheData += chunk;
            });
            stream.onError(function (err) {
              reject(err);
            });
            stream.onEnd(function () {
              resolve(new FetchBlobResponse(null, info, cacheData));
            });
          });
        });
        break;
    }

    promise.progress = function (fn) {
      _progress = fn;
      return promise;
    };

    promise.stateChange = function (fn) {
      _stateChange = fn;
      return promise;
    };

    promise.uploadProgress = function (fn) {
      _uploadProgress = fn;
      return promise;
    };

    return promise;
  }

  function fetch() {
    var taskId = (0, _uuid.default)();
    var options = this || {};
    var subscription, subscriptionUpload, stateEvent, partEvent;
    var respInfo = {};

    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
      args[_key] = arguments[_key];
    }

    var _ref = [].concat(args),
        method = _ref[0],
        url = _ref[1],
        headers = _ref[2],
        body = _ref[3];

    headers = _lodash.default.reduce(headers, function (result, value, key) {
      result[key] = value || '';
      return result;
    }, {});

    if (_uri.default.isFileURI(url)) {
      return fetchFile(options, method, url, headers, body);
    }

    var promiseResolve;
    var promiseReject;
    var promise = new Promise(function (resolve, reject) {
      promiseResolve = resolve;
      promiseReject = reject;
      var nativeMethodName = Array.isArray(body) ? 'fetchBlobForm' : 'fetchBlob';
      subscription = emitter.addListener('RNFetchBlobProgress', function (e) {
        if (e.taskId === taskId && promise.onProgress) {
          promise.onProgress(e.written, e.total, e.chunk);
        }
      });
      subscriptionUpload = emitter.addListener('RNFetchBlobProgress-upload', function (e) {
        if (e.taskId === taskId && promise.onUploadProgress) {
          promise.onUploadProgress(e.written, e.total);
        }
      });
      stateEvent = emitter.addListener('RNFetchBlobState', function (e) {
        if (e.taskId === taskId) respInfo = e;
        promise.onStateChange && promise.onStateChange(e);
      });
      subscription = emitter.addListener('RNFetchBlobExpire', function (e) {
        if (e.taskId === taskId && promise.onExpire) {
          promise.onExpire(e);
        }
      });
      partEvent = emitter.addListener('RNFetchBlobServerPush', function (e) {
        if (e.taskId === taskId && promise.onPartData) {
          promise.onPartData(e.chunk);
        }
      });

      if (body instanceof Blob && body.isRNFetchBlobPolyfill) {
        body = body.getRNFetchBlobRef();
      }

      var req = RNFetchBlob[nativeMethodName];
      req(options, taskId, method, url, headers || {}, body, function (err, rawType, data) {
        subscription.remove();
        subscriptionUpload.remove();
        stateEvent.remove();
        partEvent.remove();
        delete promise['progress'];
        delete promise['uploadProgress'];
        delete promise['stateChange'];
        delete promise['part'];
        delete promise['cancel'];

        promise.cancel = function () {};

        if (err) reject(new Error(err, respInfo));else {
          if (options.path || options.fileCache || options.addAndroidDownloads || options.key || options.auto && respInfo.respType === 'blob') {
            if (options.session) session(options.session).add(data);
          }

          respInfo.rnfbEncode = rawType;
          resolve(new FetchBlobResponse(taskId, respInfo, data));
        }
      });
    });

    promise.progress = function () {
      var interval = 250;
      var count = -1;

      var fn = function fn() {};

      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
        args[_key2] = arguments[_key2];
      }

      if (args.length === 2) {
        interval = args[0].interval || interval;
        count = args[0].count || count;
        fn = args[1];
      } else {
        fn = args[0];
      }

      promise.onProgress = fn;
      RNFetchBlob.enableProgressReport(taskId, interval, count);
      return promise;
    };

    promise.uploadProgress = function () {
      var interval = 250;
      var count = -1;

      var fn = function fn() {};

      for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
        args[_key3] = arguments[_key3];
      }

      if (args.length === 2) {
        interval = args[0].interval || interval;
        count = args[0].count || count;
        fn = args[1];
      } else {
        fn = args[0];
      }

      promise.onUploadProgress = fn;
      RNFetchBlob.enableUploadProgressReport(taskId, interval, count);
      return promise;
    };

    promise.part = function (fn) {
      promise.onPartData = fn;
      return promise;
    };

    promise.stateChange = function (fn) {
      promise.onStateChange = fn;
      return promise;
    };

    promise.expire = function (fn) {
      promise.onExpire = fn;
      return promise;
    };

    promise.cancel = function (fn) {
      fn = fn || function () {};

      subscription.remove();
      subscriptionUpload.remove();
      stateEvent.remove();
      RNFetchBlob.cancelRequest(taskId, fn);
      promiseReject(new Error("canceled"));
    };

    promise.taskId = taskId;
    return promise;
  }

  var FetchBlobResponse = function FetchBlobResponse(taskId, info, data) {
    var _this = this;

    (0, _classCallCheck2.default)(this, FetchBlobResponse);
    this.data = data;
    this.taskId = taskId;
    this.type = info.rnfbEncode;
    this.respInfo = info;

    this.info = function () {
      return _this.respInfo;
    };

    this.array = function () {
      var cType = info.headers['Content-Type'] || info.headers['content-type'];
      return new Promise(function (resolve, reject) {
        switch (_this.type) {
          case 'base64':
            break;

          case 'path':
            _fs.default.readFile(_this.data, 'ascii').then(resolve);

            break;

          default:
            break;
        }
      });
    };

    this.blob = function () {
      var Blob = _polyfill.default.Blob;
      var cType = info.headers['Content-Type'] || info.headers['content-type'];
      return new Promise(function (resolve, reject) {
        switch (_this.type) {
          case 'base64':
            Blob.build(_this.data, {
              type: cType + ';BASE64'
            }).then(resolve);
            break;

          case 'path':
            _polyfill.default.Blob.build(wrap(_this.data), {
              type: cType
            }).then(resolve);

            break;

          default:
            _polyfill.default.Blob.build(_this.data, {
              type: 'text/plain'
            }).then(resolve);

            break;
        }
      });
    };

    this.text = function () {
      var res = _this.data;

      switch (_this.type) {
        case 'base64':
          return _base.default.decode(_this.data);

        case 'path':
          return _fs.default.readFile(_this.data, 'base64').then(function (b64) {
            return Promise.resolve(_base.default.decode(b64));
          });

        default:
          return _this.data;
      }
    };

    this.json = function () {
      switch (_this.type) {
        case 'base64':
          return JSON.parse(_base.default.decode(_this.data));

        case 'path':
          return _fs.default.readFile(_this.data, 'utf8').then(function (text) {
            return Promise.resolve(JSON.parse(text));
          });

        default:
          return JSON.parse(_this.data);
      }
    };

    this.base64 = function () {
      switch (_this.type) {
        case 'base64':
          return _this.data;

        case 'path':
          return _fs.default.readFile(_this.data, 'base64');

        default:
          return _base.default.encode(_this.data);
      }
    };

    this.flush = function () {
      var path = _this.path();

      if (!path || _this.type !== 'path') return;
      return unlink(path);
    };

    this.path = function () {
      if (_this.type === 'path') return _this.data;
      return null;
    };

    this.session = function (name) {
      if (_this.type === 'path') return session(name).add(_this.data);else {
        console.warn('only file paths can be add into session.');
        return null;
      }
    };

    this.readStream = function (encoding) {
      if (_this.type === 'path') {
        return readStream(_this.data, encoding);
      } else {
        console.warn('RNFetchblob', 'this response data does not contains any available stream');
        return null;
      }
    };

    this.readFile = function (encoding) {
      if (_this.type === 'path') {
        return readFile(_this.data, encoding);
      } else {
        console.warn('RNFetchblob', 'this response does not contains a readable file');
        return null;
      }
    };
  };

  var _default = {
    fetch: fetch,
    base64: _base.default,
    android: _android.default,
    ios: _ios.default,
    config: config,
    session: session,
    fs: _fs.default,
    wrap: wrap,
    polyfill: _polyfill.default,
    JSONStream: _jsonStream.default
  };
  exports.default = _default;
},487,[5,7,28,488,489,493,486,495,507,508,509,510]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;
  var _default = {
    isFileURI: function isFileURI(uri) {
      if (typeof uri !== 'string') return false;
      return /^RNFetchBlob-file\:\/\//.test(uri);
    },
    isJSONStreamURI: function isJSONStreamURI(uri) {
      if (typeof uri !== 'string') return false;
      return /^JSONStream\:\/\//.test(uri);
    },
    removeURIScheme: function removeURIScheme(uri, iterations) {
      iterations = iterations || 1;
      var result = uri;

      for (var i = 0; i < iterations; i++) {
        result = String(result).replace(/^[^\:]+\:\/\//, '');
      }

      return String(result);
    },
    unwrapFileURI: function unwrapFileURI(uri) {
      return String(uri).replace(/^RNFetchBlob-file\:\/\//, '');
    }
  };
  exports.default = _default;
},488,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _RNFetchBlobSession = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _RNFetchBlobWriteStream = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[3]));

  var _RNFetchBlobReadStream = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[4]));

  var _RNFetchBlobFile = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[5]));

  var RNFetchBlob = _reactNative.NativeModules.RNFetchBlob;
  var dirs = {
    DocumentDir: RNFetchBlob.DocumentDir,
    CacheDir: RNFetchBlob.CacheDir,
    PictureDir: RNFetchBlob.PictureDir,
    MusicDir: RNFetchBlob.MusicDir,
    MovieDir: RNFetchBlob.MovieDir,
    DownloadDir: RNFetchBlob.DownloadDir,
    DCIMDir: RNFetchBlob.DCIMDir,
    SDCardDir: RNFetchBlob.SDCardDir,
    SDCardApplicationDir: RNFetchBlob.SDCardApplicationDir,
    MainBundleDir: RNFetchBlob.MainBundleDir,
    LibraryDir: RNFetchBlob.LibraryDir
  };

  function addCode(code, error) {
    error.code = code;
    return error;
  }

  function session(name) {
    var s = _RNFetchBlobSession.default.getSession(name);

    if (s) return new _RNFetchBlobSession.default(name);else {
      _RNFetchBlobSession.default.setSession(name, []);

      return new _RNFetchBlobSession.default(name, []);
    }
  }

  function asset(path) {
    if (_reactNative.Platform.OS === 'ios') {
      if (/^assets-library\:\/\//.test(path)) return path;
    }

    return 'bundle-assets://' + path;
  }

  function createFile(path, data) {
    var encoding = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'utf8';

    if (encoding.toLowerCase() === 'ascii') {
      return Array.isArray(data) ? RNFetchBlob.createFileASCII(path, data) : Promise.reject(addCode('EINVAL', new TypeError('`data` of ASCII file must be an array with 0..255 numbers')));
    } else {
      return RNFetchBlob.createFile(path, data, encoding);
    }
  }

  function writeStream(path) {
    var encoding = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'utf8';
    var append = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;

    if (typeof path !== 'string') {
      return Promise.reject(addCode('EINVAL', new TypeError('Missing argument "path" ')));
    }

    return new Promise(function (resolve, reject) {
      RNFetchBlob.writeStream(path, encoding, append, function (errCode, errMsg, streamId) {
        if (errMsg) {
          var err = new Error(errMsg);
          err.code = errCode;
          reject(err);
        } else resolve(new _RNFetchBlobWriteStream.default(streamId, encoding));
      });
    });
  }

  function readStream(path) {
    var encoding = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'utf8';
    var bufferSize = arguments.length > 2 ? arguments[2] : undefined;
    var tick = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10;

    if (typeof path !== 'string') {
      return Promise.reject(addCode('EINVAL', new TypeError('Missing argument "path" ')));
    }

    return Promise.resolve(new _RNFetchBlobReadStream.default(path, encoding, bufferSize, tick));
  }

  function mkdir(path) {
    if (typeof path !== 'string') {
      return Promise.reject(addCode('EINVAL', new TypeError('Missing argument "path" ')));
    }

    return RNFetchBlob.mkdir(path);
  }

  function pathForAppGroup(groupName) {
    return RNFetchBlob.pathForAppGroup(groupName);
  }

  function syncPathAppGroup(groupName) {
    if (_reactNative.Platform.OS === 'ios') {
      return RNFetchBlob.syncPathAppGroup(groupName);
    } else {
      return '';
    }
  }

  function readFile(path) {
    var encoding = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'utf8';

    if (typeof path !== 'string') {
      return Promise.reject(addCode('EINVAL', new TypeError('Missing argument "path" ')));
    }

    return RNFetchBlob.readFile(path, encoding);
  }

  function writeFile(path, data) {
    var encoding = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'utf8';

    if (typeof path !== 'string') {
      return Promise.reject(addCode('EINVAL', new TypeError('Missing argument "path" ')));
    }

    if (encoding.toLocaleLowerCase() === 'ascii') {
      if (!Array.isArray(data)) {
        return Promise.reject(addCode('EINVAL', new TypeError('"data" must be an Array when encoding is "ascii"')));
      } else return RNFetchBlob.writeFileArray(path, data, false);
    } else {
      if (typeof data !== 'string') {
        return Promise.reject(addCode('EINVAL', new TypeError("\"data\" must be a String when encoding is \"utf8\" or \"base64\", but it is \"" + typeof data + "\"")));
      } else return RNFetchBlob.writeFile(path, encoding, data, false);
    }
  }

  function appendFile(path, data) {
    var encoding = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'utf8';

    if (typeof path !== 'string') {
      return Promise.reject(addCode('EINVAL', new TypeError('Missing argument "path" ')));
    }

    if (encoding.toLocaleLowerCase() === 'ascii') {
      if (!Array.isArray(data)) {
        return Promise.reject(addCode('EINVAL', new TypeError('`data` of ASCII file must be an array with 0..255 numbers')));
      } else return RNFetchBlob.writeFileArray(path, data, true);
    } else {
      if (typeof data !== 'string') {
        return Promise.reject(addCode('EINVAL'), new TypeError("\"data\" must be a String when encoding is \"utf8\" or \"base64\", but it is \"" + typeof data + "\""));
      } else return RNFetchBlob.writeFile(path, encoding, data, true);
    }
  }

  function stat(path) {
    return new Promise(function (resolve, reject) {
      if (typeof path !== 'string') {
        return reject(addCode('EINVAL', new TypeError('Missing argument "path" ')));
      }

      RNFetchBlob.stat(path, function (err, stat) {
        if (err) reject(new Error(err));else {
          if (stat) {
            stat.size = parseInt(stat.size);
            stat.lastModified = parseInt(stat.lastModified);
          }

          resolve(stat);
        }
      });
    });
  }

  function scanFile(pairs) {
    return new Promise(function (resolve, reject) {
      if (pairs === undefined) {
        return reject(addCode('EINVAL', new TypeError('Missing argument')));
      }

      RNFetchBlob.scanFile(pairs, function (err) {
        if (err) reject(addCode('EUNSPECIFIED', new Error(err)));else resolve();
      });
    });
  }

  function hash(path, algorithm) {
    if (typeof path !== 'string' || typeof algorithm !== 'string') {
      return Promise.reject(addCode('EINVAL', new TypeError('Missing argument "path" and/or "algorithm"')));
    }

    return RNFetchBlob.hash(path, algorithm);
  }

  function cp(path, dest) {
    return new Promise(function (resolve, reject) {
      if (typeof path !== 'string' || typeof dest !== 'string') {
        return reject(addCode('EINVAL', new TypeError('Missing argument "path" and/or "destination"')));
      }

      RNFetchBlob.cp(path, dest, function (err, res) {
        if (err) reject(addCode('EUNSPECIFIED', new Error(err)));else resolve(res);
      });
    });
  }

  function mv(path, dest) {
    return new Promise(function (resolve, reject) {
      if (typeof path !== 'string' || typeof dest !== 'string') {
        return reject(addCode('EINVAL', new TypeError('Missing argument "path" and/or "destination"')));
      }

      RNFetchBlob.mv(path, dest, function (err, res) {
        if (err) reject(addCode('EUNSPECIFIED', new Error(err)));else resolve(res);
      });
    });
  }

  function lstat(path) {
    return new Promise(function (resolve, reject) {
      if (typeof path !== 'string') {
        return reject(addCode('EINVAL', new TypeError('Missing argument "path" ')));
      }

      RNFetchBlob.lstat(path, function (err, stat) {
        if (err) reject(addCode('EUNSPECIFIED', new Error(err)));else resolve(stat);
      });
    });
  }

  function ls(path) {
    if (typeof path !== 'string') {
      return Promise.reject(addCode('EINVAL', new TypeError('Missing argument "path" ')));
    }

    return RNFetchBlob.ls(path);
  }

  function unlink(path) {
    return new Promise(function (resolve, reject) {
      if (typeof path !== 'string') {
        return reject(addCode('EINVAL', new TypeError('Missing argument "path" ')));
      }

      RNFetchBlob.unlink(path, function (err) {
        if (err) {
          reject(addCode('EUNSPECIFIED', new Error(err)));
        } else resolve();
      });
    });
  }

  function exists(path) {
    return new Promise(function (resolve, reject) {
      if (typeof path !== 'string') {
        return reject(addCode('EINVAL', new TypeError('Missing argument "path" ')));
      }

      try {
        RNFetchBlob.exists(path, function (exist) {
          resolve(exist);
        });
      } catch (err) {
        reject(addCode('EUNSPECIFIED', new Error(err)));
      }
    });
  }

  function slice(src, dest, start, end) {
    if (typeof src !== 'string' || typeof dest !== 'string') {
      return reject(addCode('EINVAL', new TypeError('Missing argument "src" and/or "destination"')));
    }

    var p = Promise.resolve();
    var size = 0;

    function normalize(num, size) {
      if (num < 0) return Math.max(0, size + num);
      if (!num && num !== 0) return size;
      return num;
    }

    if (start < 0 || end < 0 || !start || !end) {
      p = p.then(function () {
        return stat(src);
      }).then(function (stat) {
        size = Math.floor(stat.size);
        start = normalize(start || 0, size);
        end = normalize(end, size);
      });
    }

    return p.then(function () {
      return RNFetchBlob.slice(src, dest, start, end);
    });
  }

  function isDir(path) {
    return new Promise(function (resolve, reject) {
      if (typeof path !== 'string') {
        return reject(addCode('EINVAL', new TypeError('Missing argument "path" ')));
      }

      try {
        RNFetchBlob.exists(path, function (exist, isDir) {
          resolve(isDir);
        });
      } catch (err) {
        reject(addCode('EUNSPECIFIED', new Error(err)));
      }
    });
  }

  function df() {
    return new Promise(function (resolve, reject) {
      RNFetchBlob.df(function (err, stat) {
        if (err) reject(addCode('EUNSPECIFIED', new Error(err)));else resolve(stat);
      });
    });
  }

  var _default = {
    RNFetchBlobSession: _RNFetchBlobSession.default,
    unlink: unlink,
    mkdir: mkdir,
    session: session,
    ls: ls,
    readStream: readStream,
    mv: mv,
    cp: cp,
    writeStream: writeStream,
    writeFile: writeFile,
    appendFile: appendFile,
    pathForAppGroup: pathForAppGroup,
    syncPathAppGroup: syncPathAppGroup,
    readFile: readFile,
    hash: hash,
    exists: exists,
    createFile: createFile,
    isDir: isDir,
    stat: stat,
    lstat: lstat,
    scanFile: scanFile,
    dirs: dirs,
    slice: slice,
    asset: asset,
    df: df
  };
  exports.default = _default;
},489,[28,5,490,491,492,494]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

  var RNFetchBlob = _reactNative.NativeModules.RNFetchBlob;
  var sessions = {};

  var RNFetchBlobSession = function () {
    function RNFetchBlobSession(name, list) {
      (0, _classCallCheck2.default)(this, RNFetchBlobSession);
      this.name = name;

      if (!sessions[name]) {
        if (Array.isArray(list)) sessions[name] = list;else sessions[name] = [];
      }
    }

    (0, _createClass2.default)(RNFetchBlobSession, [{
      key: "add",
      value: function add(path) {
        sessions[this.name].push(path);
        return this;
      }
    }, {
      key: "remove",
      value: function remove(path) {
        var list = sessions[this.name];

        for (var _iterator = _createForOfIteratorHelperLoose(list), _step; !(_step = _iterator()).done;) {
          var i = _step.value;

          if (list[i] === path) {
            sessions[this.name].splice(i, 1);
            break;
          }
        }

        return this;
      }
    }, {
      key: "list",
      value: function list() {
        return sessions[this.name];
      }
    }, {
      key: "dispose",
      value: function dispose() {
        var _this = this;

        return new Promise(function (resolve, reject) {
          RNFetchBlob.removeSession(sessions[_this.name], function (err) {
            if (err) reject(new Error(err));else {
              delete sessions[_this.name];
              resolve();
            }
          });
        });
      }
    }], [{
      key: "getSession",
      value: function getSession(name) {
        return sessions[name];
      }
    }, {
      key: "setSession",
      value: function setSession(name, val) {
        sessions[name] = val;
      }
    }, {
      key: "removeSession",
      value: function removeSession(name) {
        delete sessions[name];
      }
    }]);
    return RNFetchBlobSession;
  }();

  exports.default = RNFetchBlobSession;
},490,[5,7,8,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var RNFetchBlob = _reactNative.NativeModules.RNFetchBlob;

  var RNFetchBlobWriteStream = function () {
    function RNFetchBlobWriteStream(streamId, encoding, append) {
      (0, _classCallCheck2.default)(this, RNFetchBlobWriteStream);
      this.id = streamId;
      this.encoding = encoding;
      this.append = append;
    }

    (0, _createClass2.default)(RNFetchBlobWriteStream, [{
      key: "write",
      value: function write(data) {
        var _this = this;

        return new Promise(function (resolve, reject) {
          try {
            var method = _this.encoding === 'ascii' ? 'writeArrayChunk' : 'writeChunk';

            if (_this.encoding.toLocaleLowerCase() === 'ascii' && !Array.isArray(data)) {
              reject(new Error('ascii input data must be an Array'));
              return;
            }

            RNFetchBlob[method](_this.id, data, function (error) {
              if (error) reject(new Error(error));else resolve(_this);
            });
          } catch (err) {
            reject(new Error(err));
          }
        });
      }
    }, {
      key: "close",
      value: function close() {
        var _this2 = this;

        return new Promise(function (resolve, reject) {
          try {
            RNFetchBlob.closeStream(_this2.id, function () {
              resolve();
            });
          } catch (err) {
            reject(new Error(err));
          }
        });
      }
    }]);
    return RNFetchBlobWriteStream;
  }();

  exports.default = RNFetchBlobWriteStream;
},491,[5,7,8,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _uuid = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var RNFetchBlob = _reactNative.NativeModules.RNFetchBlob;
  var emitter = _reactNative.DeviceEventEmitter;

  var RNFetchBlobReadStream = function () {
    function RNFetchBlobReadStream(path, encoding, bufferSize, tick) {
      var _this = this;

      (0, _classCallCheck2.default)(this, RNFetchBlobReadStream);
      this.tick = 10;
      if (!path) throw Error('RNFetchBlob could not open file stream with empty `path`');
      this.encoding = encoding || 'utf8';
      this.bufferSize = bufferSize;
      this.path = path;
      this.closed = false;
      this.tick = tick;

      this._onData = function () {};

      this._onEnd = function () {};

      this._onError = function () {};

      this.streamId = 'RNFBRS' + (0, _uuid.default)();
      var subscription = emitter.addListener(this.streamId, function (e) {
        var event = e.event,
            code = e.code,
            detail = e.detail;

        if (_this._onData && event === 'data') {
          _this._onData(detail);

          return;
        } else if (_this._onEnd && event === 'end') {
          _this._onEnd(detail);
        } else {
          var err = new Error(detail);
          err.code = code || 'EUNSPECIFIED';
          if (_this._onError) _this._onError(err);else throw err;
        }

        if (event === 'error' || event === 'end') {
          subscription.remove();
          _this.closed = true;
        }
      });
    }

    (0, _createClass2.default)(RNFetchBlobReadStream, [{
      key: "open",
      value: function open() {
        if (!this.closed) RNFetchBlob.readStream(this.path, this.encoding, this.bufferSize || 10240, this.tick || -1, this.streamId);else throw new Error('Stream closed');
      }
    }, {
      key: "onData",
      value: function onData(fn) {
        this._onData = fn;
      }
    }, {
      key: "onError",
      value: function onError(fn) {
        this._onError = fn;
      }
    }, {
      key: "onEnd",
      value: function onEnd(fn) {
        this._onEnd = fn;
      }
    }]);
    return RNFetchBlobReadStream;
  }();

  exports.default = RNFetchBlobReadStream;
},492,[5,7,8,28,493]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = getUUID;

  function getUUID() {
    return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
  }
},493,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var RNFetchBlob = _reactNative.NativeModules.RNFetchBlob;
  var emitter = _reactNative.DeviceEventEmitter;

  var RNFetchBlobFile = function RNFetchBlobFile() {
    (0, _classCallCheck2.default)(this, RNFetchBlobFile);
  };

  exports.default = RNFetchBlobFile;
},494,[5,7,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _Blob = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _File = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _XMLHttpRequest = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _ProgressEvent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _Event = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _FileReader = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _Fetch = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _default = {
    Blob: _Blob.default,
    File: _File.default,
    XMLHttpRequest: _XMLHttpRequest.default,
    ProgressEvent: _ProgressEvent.default,
    Event: _Event.default,
    FileReader: _FileReader.default,
    Fetch: _Fetch.default
  };
  exports.default = _default;
},495,[5,496,499,500,502,503,504,505]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _index = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _fs = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _uuid = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _log = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _EventTarget2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var log = new _log.default('Blob');
  var blobCacheDir = _fs.default.dirs.DocumentDir + '/RNFetchBlob-blobs/';
  log.disable();

  var Blob = function (_EventTarget) {
    (0, _inherits2.default)(Blob, _EventTarget);

    var _super = _createSuper(Blob);

    function Blob(data, cType, defer) {
      var _this;

      (0, _classCallCheck2.default)(this, Blob);
      _this = _super.call(this);
      _this.isRNFetchBlobPolyfill = true;
      _this.multipartBoundary = null;
      _this._ref = null;
      _this._blobCreated = false;
      _this._onCreated = [];
      _this._closed = false;
      cType = cType || {};
      _this.cacheName = getBlobName();
      _this.isRNFetchBlobPolyfill = true;
      _this.isDerived = defer;
      _this.type = cType.type || 'text/plain';
      log.verbose('Blob constructor called', 'mime', _this.type, 'type', typeof data, 'length', data ? data.length : 0);
      _this._ref = blobCacheDir + _this.cacheName;
      var p = null;
      if (!data) data = '';

      if (data.isRNFetchBlobPolyfill) {
        log.verbose('create Blob cache file from Blob object');
        var size = 0;
        _this._ref = String(data.getRNFetchBlobRef());
        var orgPath = _this._ref;
        p = _fs.default.exists(orgPath).then(function (exist) {
          if (exist) return _fs.default.writeFile(orgPath, data, 'uri').then(function (size) {
            return Promise.resolve(size);
          }).catch(function (err) {
            throw "RNFetchBlob Blob file creation error, " + err;
          });else throw "could not create Blob from path " + orgPath + ", file not exists";
        });
      } else if (data instanceof FormData) {
        log.verbose('create Blob cache file from FormData', data);
        var boundary = "RNFetchBlob-" + _this.cacheName + "-" + Date.now();
        _this.multipartBoundary = boundary;
        var parts = data.getParts();
        var formArray = [];

        if (!parts) {
          p = _fs.default.writeFile(_this._ref, '', 'utf8');
        } else {
          for (var i in parts) {
            formArray.push('\r\n--' + boundary + '\r\n');
            var part = parts[i];

            for (var j in part.headers) {
              formArray.push(j + ': ' + part.headers[j] + '\r\n');
            }

            formArray.push('\r\n');
            if (part.isRNFetchBlobPolyfill) formArray.push(part);else formArray.push(part.string);
          }

          log.verbose('FormData array', formArray);
          formArray.push('\r\n--' + boundary + '--\r\n');
          p = createMixedBlobData(_this._ref, formArray);
        }
      } else if (typeof data === 'string' && data.startsWith('RNFetchBlob-file://')) {
        log.verbose('create Blob cache file from file path', data);
        _this._isReference = true;
        _this._ref = String(data).replace('RNFetchBlob-file://', '');
        var _orgPath = _this._ref;
        if (defer) return (0, _possibleConstructorReturn2.default)(_this);else {
          p = _fs.default.stat(_orgPath).then(function (stat) {
            return Promise.resolve(stat.size);
          });
        }
      } else if (typeof data === 'string') {
        var encoding = 'utf8';
        var mime = String(_this.type);
        if (/(application\/octet|\;base64)/i.test(mime)) encoding = 'base64';else data = data.toString();
        _this.type = String(_this.type).replace(/;base64/ig, '');
        log.verbose('create Blob cache file from string', 'encode', encoding);
        p = _fs.default.writeFile(_this._ref, data, encoding).then(function (size) {
          return Promise.resolve(size);
        });
      } else if (Array.isArray(data)) {
        log.verbose('create Blob cache file from mixed array', data);
        p = createMixedBlobData(_this._ref, data);
      } else {
        data = data.toString();
        p = _fs.default.writeFile(_this._ref, data, 'utf8').then(function (size) {
          return Promise.resolve(size);
        });
      }

      p && p.then(function (size) {
        _this.size = size;

        _this._invokeOnCreateEvent();
      }).catch(function (err) {
        log.error('RNFetchBlob could not create Blob : ' + _this._ref, err);
      });
      return _this;
    }

    (0, _createClass2.default)(Blob, [{
      key: "blobPath",
      get: function get() {
        return this._ref;
      }
    }, {
      key: "onCreated",
      value: function onCreated(fn) {
        log.verbose('#register blob onCreated', this._blobCreated);
        if (!this._blobCreated) this._onCreated.push(fn);else {
          fn(this);
        }
        return this;
      }
    }, {
      key: "markAsDerived",
      value: function markAsDerived() {
        this._isDerived = true;
      }
    }, {
      key: "isDerived",
      get: function get() {
        return this._isDerived || false;
      }
    }, {
      key: "getRNFetchBlobRef",
      value: function getRNFetchBlobRef() {
        return this._ref;
      }
    }, {
      key: "slice",
      value: function slice(start, end) {
        var _this2 = this;

        var contentType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
        if (this._closed) throw 'Blob has been released.';
        log.verbose('slice called', start, end, contentType);
        var resPath = blobCacheDir + getBlobName();
        var pass = false;
        log.debug('fs.slice new blob will at', resPath);
        var result = new Blob(_index.default.wrap(resPath), {
          type: contentType
        }, true);

        _fs.default.exists(blobCacheDir).then(function (exist) {
          if (exist) return Promise.resolve();
          return _fs.default.mkdir(blobCacheDir);
        }).then(function () {
          return _fs.default.slice(_this2._ref, resPath, start, end);
        }).then(function (dest) {
          log.debug('fs.slice done', dest);

          result._invokeOnCreateEvent();

          pass = true;
        }).catch(function (err) {
          console.warn('Blob.slice failed:', err);
          pass = true;
        });

        log.debug('slice returning new Blob');
        return result;
      }
    }, {
      key: "readBlob",
      value: function readBlob(encoding) {
        if (this._closed) throw 'Blob has been released.';
        return _fs.default.readFile(this._ref, encoding || 'utf8');
      }
    }, {
      key: "close",
      value: function close() {
        if (this._closed) return Promise.reject('Blob has been released.');
        this._closed = true;
        return _fs.default.unlink(this._ref).catch(function (err) {
          console.warn(err);
        });
      }
    }, {
      key: "safeClose",
      value: function safeClose() {
        if (this._closed) return Promise.reject('Blob has been released.');
        this._closed = true;

        if (!this._isReference) {
          return _fs.default.unlink(this._ref).catch(function (err) {
            console.warn(err);
          });
        } else {
          return Promise.resolve();
        }
      }
    }, {
      key: "_invokeOnCreateEvent",
      value: function _invokeOnCreateEvent() {
        log.verbose('invoke create event', this._onCreated);
        this._blobCreated = true;
        var fns = this._onCreated;

        for (var i in fns) {
          if (typeof fns[i] === 'function') {
            fns[i](this);
          }
        }

        delete this._onCreated;
      }
    }], [{
      key: "clearCache",
      value: function clearCache() {
        return _fs.default.unlink(blobCacheDir).then(function () {
          return _fs.default.mkdir(blobCacheDir);
        });
      }
    }, {
      key: "build",
      value: function build(data, cType) {
        return new Promise(function (resolve, reject) {
          new Blob(data, cType).onCreated(resolve);
        });
      }
    }, {
      key: "setLog",
      value: function setLog(level) {
        if (level === -1) log.disable();else log.level(level);
      }
    }]);
    return Blob;
  }(_EventTarget2.default);

  exports.default = Blob;

  function getBlobName() {
    return 'blob-' + (0, _uuid.default)();
  }

  function createMixedBlobData(ref, dataArray) {
    var p = _fs.default.writeFile(ref, '');

    var args = [];
    var size = 0;

    for (var i in dataArray) {
      var part = dataArray[i];
      if (!part) continue;

      if (part.isRNFetchBlobPolyfill) {
        args.push([ref, part._ref, 'uri']);
      } else if (typeof part === 'string') args.push([ref, part, 'utf8']);else if (Array.isArray(part)) args.push([ref, part, 'ascii']);
    }

    var _loop = function _loop(_i) {
      p = p.then(function (written) {
        var arg = this;
        if (written) size += written;
        log.verbose('mixed blob write', args[_i], written);
        return _fs.default.appendFile.apply(_fs.default, (0, _toConsumableArray2.default)(arg));
      }.bind(args[_i]));
    };

    for (var _i in args) {
      _loop(_i);
    }

    return p.then(function () {
      return Promise.resolve(size);
    });
  }
},496,[5,21,7,8,12,14,16,487,489,493,497,498]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var Log = function () {
    function Log(name) {
      (0, _classCallCheck2.default)(this, Log);
      this._isEnable = true;
      this._level = 0;
      this._name = name;
    }

    (0, _createClass2.default)(Log, [{
      key: "level",
      value: function level(val) {
        this._isEnable = true;
        this._level = val;
      }
    }, {
      key: "enable",
      value: function enable() {
        this._isEnable = true;
      }
    }, {
      key: "disable",
      value: function disable() {
        this._isEnable = false;
      }
    }, {
      key: "verbose",
      value: function verbose() {
        for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
          args[_key] = arguments[_key];
        }

        this._isEnable && this._level > 2 && undefined;
      }
    }, {
      key: "debug",
      value: function debug() {
        for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
          args[_key2] = arguments[_key2];
        }

        this._isEnable && this._level > 1 && undefined;
      }
    }, {
      key: "info",
      value: function info() {
        for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
          args[_key3] = arguments[_key3];
        }

        this._isEnable && this._level > 0 && undefined;
      }
    }, {
      key: "error",
      value: function error() {
        var _console;

        for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
          args[_key4] = arguments[_key4];
        }

        this._isEnable && this._level > -1 && (_console = console).warn.apply(_console, [this._name, 'error:'].concat(args));
      }
    }]);
    return Log;
  }();

  exports.default = Log;
},497,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _log = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var log = new _log.default('EventTarget');
  log.disable();

  var EventTarget = function () {
    function EventTarget() {
      (0, _classCallCheck2.default)(this, EventTarget);
      log.info('constructor called');
      this.listeners = {};
    }

    (0, _createClass2.default)(EventTarget, [{
      key: "addEventListener",
      value: function addEventListener(type, cb) {
        log.info('add event listener', type, cb);

        if (!(type in this.listeners)) {
          this.listeners[type] = [];
        }

        this.listeners[type].push(cb);
      }
    }, {
      key: "removeEventListener",
      value: function removeEventListener(type, cb) {
        log.info('remove event listener', type, cb);
        if (!(type in this.listeners)) return;
        var handlers = this.listeners[type];

        for (var i in handlers) {
          if (cb === handlers[i]) {
            handlers.splice(i, 1);
            return this.removeEventListener(type, cb);
          }
        }
      }
    }, {
      key: "dispatchEvent",
      value: function dispatchEvent(type, event) {
        log.info('dispatch event', event);
        if (!(type in this.listeners)) return;
        var handlers = this.listeners[type];

        for (var i in handlers) {
          handlers[i].call(this, event);
        }
      }
    }, {
      key: "clearEventListeners",
      value: function clearEventListeners() {
        for (var i in this.listeners) {
          delete this.listeners[i];
        }
      }
    }]);
    return EventTarget;
  }();

  exports.default = EventTarget;
},498,[5,7,8,497]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _Blob2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var File = function (_Blob) {
    (0, _inherits2.default)(File, _Blob);

    var _super = _createSuper(File);

    function File(data, cType) {
      var _this;

      (0, _classCallCheck2.default)(this, File);
      _this = _super.call(this, data, cType);
      _this.name = '';
      return _this;
    }

    (0, _createClass2.default)(File, null, [{
      key: "build",
      value: function build(name, data, cType) {
        return new Promise(function (resolve, reject) {
          if (data === undefined) {
            reject(new TypeError('data is undefined'));
          }

          new File(data, cType).onCreated(function (f) {
            f.name = name;
            resolve(f);
          });
        });
      }
    }]);
    return File;
  }(_Blob2.default);

  exports.default = File;
},499,[5,7,8,12,14,16,496]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _index = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _XMLHttpRequestEventTarget = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _log = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _Blob = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _ProgressEvent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _uri = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var log = new _log.default('XMLHttpRequest');
  log.disable();
  var UNSENT = 0;
  var OPENED = 1;
  var HEADERS_RECEIVED = 2;
  var LOADING = 3;
  var DONE = 4;

  var XMLHttpRequest = function (_XMLHttpRequestEventT) {
    (0, _inherits2.default)(XMLHttpRequest, _XMLHttpRequestEventT);

    var _super = _createSuper(XMLHttpRequest);

    function XMLHttpRequest() {
      var _this;

      (0, _classCallCheck2.default)(this, XMLHttpRequest);
      log.verbose('XMLHttpRequest constructor called');
      _this = _super.call(this);
      _this.upload = new _XMLHttpRequestEventTarget.default();
      _this._readyState = UNSENT;
      _this._uriType = 'net';
      _this._response = '';
      _this._responseText = '';
      _this._responseHeaders = {};
      _this._responseType = '';
      _this._responseURL = '';
      _this._responseXML = '';
      _this._status = 0;
      _this._statusText = '';
      _this._timeout = 60000;
      _this._sendFlag = false;
      _this._uploadStarted = false;
      _this._increment = false;
      _this._config = {};
      _this._headers = {
        'Content-Type': 'text/plain'
      };
      _this._cleanUp = null;

      _this._headerReceived = function (e) {
        log.debug('header received ', _this._task.taskId, e);
        _this.responseURL = _this._url;

        if (e.state === "2" && e.taskId === _this._task.taskId) {
          _this._responseHeaders = e.headers;
          _this._statusText = e.status;
          _this._status = Math.floor(e.status);

          _this._dispatchReadStateChange(XMLHttpRequest.HEADERS_RECEIVED);
        }
      };

      _this._uploadProgressEvent = function (send, total) {
        if (!_this._uploadStarted) {
          _this.upload.dispatchEvent('loadstart');

          _this._uploadStarted = true;
        }

        if (send >= total) _this.upload.dispatchEvent('load');

        _this.upload.dispatchEvent('progress', new _ProgressEvent.default(true, send, total));
      };

      _this._progressEvent = function (send, total, chunk) {
        log.verbose(_this.readyState);
        if (_this._readyState === XMLHttpRequest.HEADERS_RECEIVED) _this._dispatchReadStateChange(XMLHttpRequest.LOADING);
        var lengthComputable = false;
        if (total && total >= 0) lengthComputable = true;
        var e = new _ProgressEvent.default(lengthComputable, send, total);

        if (_this._increment) {
          _this._responseText += chunk;
        }

        _this.dispatchEvent('progress', e);
      };

      _this._onError = function (err) {
        var statusCode = Math.floor(_this.status);

        if (statusCode >= 100 && statusCode !== 408) {
          return;
        }

        log.debug('XMLHttpRequest error', err);
        _this._statusText = err;
        _this._status = String(err).match(/\d+/);
        _this._status = _this._status ? Math.floor(_this.status) : 404;

        _this._dispatchReadStateChange(XMLHttpRequest.DONE);

        if (err && String(err.message).match(/(timed\sout|timedout)/) || _this._status == 408) {
          _this.dispatchEvent('timeout');
        }

        _this.dispatchEvent('loadend');

        _this.dispatchEvent('error', {
          type: 'error',
          detail: err
        });

        _this.clearEventListeners();
      };

      _this._onDone = function (resp) {
        log.debug('XMLHttpRequest done', _this._url, resp, (0, _assertThisInitialized2.default)(_this));
        _this._statusText = _this._status;

        var responseDataReady = function responseDataReady() {
          log.debug('request done state = 4');

          _this.dispatchEvent('load');

          _this.dispatchEvent('loadend');

          _this._dispatchReadStateChange(XMLHttpRequest.DONE);

          _this.clearEventListeners();
        };

        if (resp) {
          var info = resp.respInfo || {};
          log.debug(_this._url, info, info.respType);

          switch (_this._responseType) {
            case 'blob':
              resp.blob().then(function (b) {
                _this._responseText = resp.text();
                _this._response = b;
                responseDataReady();
              });
              break;

            case 'arraybuffer':
              break;

            case 'json':
              _this._response = resp.json();
              _this._responseText = resp.text();
              break;

            default:
              _this._responseText = resp.text();
              _this._response = _this.responseText;
              responseDataReady();
              break;
          }
        }
      };

      return _this;
    }

    (0, _createClass2.default)(XMLHttpRequest, [{
      key: "UNSENT",
      get: function get() {
        return UNSENT;
      }
    }, {
      key: "OPENED",
      get: function get() {
        return OPENED;
      }
    }, {
      key: "HEADERS_RECEIVED",
      get: function get() {
        return HEADERS_RECEIVED;
      }
    }, {
      key: "LOADING",
      get: function get() {
        return LOADING;
      }
    }, {
      key: "DONE",
      get: function get() {
        return DONE;
      }
    }, {
      key: "open",
      value: function open(method, url, async, user, password) {
        log.verbose('XMLHttpRequest open ', method, url, async, user, password);
        this._method = method;
        this._url = url;
        this._headers = {};
        this._increment = _uri.default.isJSONStreamURI(this._url);
        this._url = this._url.replace(/^JSONStream\:\/\//, '');

        this._dispatchReadStateChange(XMLHttpRequest.OPENED);
      }
    }, {
      key: "send",
      value: function send(body) {
        var _this2 = this;

        this._body = body;
        if (this._readyState !== XMLHttpRequest.OPENED) throw 'InvalidStateError : XMLHttpRequest is not opened yet.';
        var promise = Promise.resolve();
        this._sendFlag = true;
        log.verbose('XMLHttpRequest send ', body);
        var _method = this._method,
            _url = this._url,
            _headers = this._headers;
        log.verbose('sending request with args', _method, _url, _headers, body);
        log.verbose(typeof body, body instanceof FormData);

        if (body instanceof _Blob.default) {
          log.debug('sending blob body', body._blobCreated);
          promise = new Promise(function (resolve, reject) {
            body.onCreated(function (blob) {
              if (blob.isDerived) {
                _this2._cleanUp = function () {
                  blob.close();
                };
              }

              log.debug('body created send request');
              body = _index.default.wrap(blob.getRNFetchBlobRef());
              resolve();
            });
          });
        } else if (typeof body === 'object') {
          body = JSON.stringify(body);
          promise = Promise.resolve();
        } else {
          body = body ? body.toString() : body;
          promise = Promise.resolve();
        }

        promise.then(function () {
          log.debug('send request invoke', body);

          for (var h in _headers) {
            _headers[h] = _headers[h].toString();
          }

          _this2._task = _index.default.config({
            auto: true,
            timeout: _this2._timeout,
            increment: _this2._increment,
            binaryContentTypes: XMLHttpRequest.binaryContentTypes
          }).fetch(_method, _url, _headers, body);

          _this2._task.stateChange(_this2._headerReceived).uploadProgress(_this2._uploadProgressEvent).progress(_this2._progressEvent).catch(_this2._onError).then(_this2._onDone);
        });
      }
    }, {
      key: "overrideMimeType",
      value: function overrideMimeType(mime) {
        log.verbose('XMLHttpRequest overrideMimeType', mime);
        this._headers['Content-Type'] = mime;
      }
    }, {
      key: "setRequestHeader",
      value: function setRequestHeader(name, value) {
        log.verbose('XMLHttpRequest set header', name, value);

        if (this._readyState !== OPENED || this._sendFlag) {
          throw "InvalidStateError : Calling setRequestHeader in wrong state  " + this._readyState;
        }

        if (typeof name !== 'string' || /[^\u0000-\u00ff]/.test(name)) {
          throw 'TypeError : header field name should be a string';
        }

        var invalidPatterns = [/[\(\)\>\<\@\,\:\\\/\[\]\?\=\}\{\s\ \u007f\;\t\0\v\r]/, /tt/];

        for (var _i = 0, _invalidPatterns = invalidPatterns; _i < _invalidPatterns.length; _i++) {
          var pattern = _invalidPatterns[_i];

          if (pattern.test(name) || typeof name !== 'string') {
            throw "SyntaxError : Invalid header field name " + name;
          }
        }

        this._headers[name] = value;
      }
    }, {
      key: "abort",
      value: function abort() {
        var _this3 = this;

        log.verbose('XMLHttpRequest abort ');
        if (!this._task) return;

        this._task.cancel(function (err) {
          var e = {
            timeStamp: Date.now()
          };
          if (_this3.onabort) _this3.onabort();

          if (err) {
            e.detail = err;
            e.type = 'error';

            _this3.dispatchEvent('error', e);
          } else {
            e.type = 'abort';

            _this3.dispatchEvent('abort', e);
          }
        });
      }
    }, {
      key: "getResponseHeader",
      value: function getResponseHeader(field) {
        log.verbose('XMLHttpRequest get header', field, this._responseHeaders);
        if (!this._responseHeaders) return null;
        return this._responseHeaders[field] || this._responseHeaders[field.toLowerCase()] || null;
      }
    }, {
      key: "getAllResponseHeaders",
      value: function getAllResponseHeaders() {
        log.verbose('XMLHttpRequest get all headers', this._responseHeaders);
        if (!this._responseHeaders) return '';
        var result = '';
        var respHeaders = this.responseHeaders;

        for (var i in respHeaders) {
          result += i + ": " + respHeaders[i] + String.fromCharCode(0x0D, 0x0A);
        }

        return result.substr(0, result.length - 2);
      }
    }, {
      key: "_dispatchReadStateChange",
      value: function _dispatchReadStateChange(state) {
        this._readyState = state;
        if (typeof this._onreadystatechange === 'function') this._onreadystatechange();
      }
    }, {
      key: "onreadystatechange",
      get: function get() {
        return this._onreadystatechange;
      },
      set: function set(fn) {
        log.verbose('XMLHttpRequest set onreadystatechange', fn);
        this._onreadystatechange = fn;
      }
    }, {
      key: "readyState",
      get: function get() {
        log.verbose('get readyState', this._readyState);
        return this._readyState;
      }
    }, {
      key: "status",
      get: function get() {
        log.verbose('get status', this._status);
        return this._status;
      }
    }, {
      key: "statusText",
      get: function get() {
        log.verbose('get statusText', this._statusText);
        return this._statusText;
      }
    }, {
      key: "response",
      get: function get() {
        log.verbose('get response', this._response);
        return this._response;
      }
    }, {
      key: "responseText",
      get: function get() {
        log.verbose('get responseText', this._responseText);
        return this._responseText;
      }
    }, {
      key: "responseURL",
      get: function get() {
        log.verbose('get responseURL', this._responseURL);
        return this._responseURL;
      }
    }, {
      key: "responseHeaders",
      get: function get() {
        log.verbose('get responseHeaders', this._responseHeaders);
        return this._responseHeaders;
      }
    }, {
      key: "timeout",
      get: function get() {
        log.verbose('get timeout', this._timeout);
        return this._timeout;
      },
      set: function set(val) {
        this._timeout = val * 1000;
        log.verbose('set timeout', this._timeout);
      }
    }, {
      key: "responseType",
      get: function get() {
        log.verbose('get response type', this._responseType);
        return this._responseType;
      },
      set: function set(val) {
        log.verbose('set response type', this._responseType);
        this._responseType = val;
      }
    }], [{
      key: "UNSENT",
      get: function get() {
        return UNSENT;
      }
    }, {
      key: "OPENED",
      get: function get() {
        return OPENED;
      }
    }, {
      key: "HEADERS_RECEIVED",
      get: function get() {
        return HEADERS_RECEIVED;
      }
    }, {
      key: "LOADING",
      get: function get() {
        return LOADING;
      }
    }, {
      key: "DONE",
      get: function get() {
        return DONE;
      }
    }, {
      key: "setLog",
      value: function setLog(level) {
        if (level === -1) log.disable();else log.level(level);
      }
    }, {
      key: "addBinaryContentType",
      value: function addBinaryContentType(substr) {
        for (var i in XMLHttpRequest.binaryContentTypes) {
          if (new RegExp(substr, 'i').test(XMLHttpRequest.binaryContentTypes[i])) {
            return;
          }
        }

        XMLHttpRequest.binaryContentTypes.push(substr);
      }
    }, {
      key: "removeBinaryContentType",
      value: function removeBinaryContentType(val) {
        for (var i in XMLHttpRequest.binaryContentTypes) {
          if (new RegExp(substr, 'i').test(XMLHttpRequest.binaryContentTypes[i])) {
            XMLHttpRequest.binaryContentTypes.splice(i, 1);
            return;
          }
        }
      }
    }, {
      key: "isRNFBPolyfill",
      get: function get() {
        return true;
      }
    }]);
    return XMLHttpRequest;
  }(_XMLHttpRequestEventTarget.default);

  exports.default = XMLHttpRequest;
  XMLHttpRequest.binaryContentTypes = ['image/', 'video/', 'audio/'];
},500,[5,7,8,15,12,14,16,487,501,497,496,502,488]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _EventTarget2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _log = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var log = new _log.default('XMLHttpRequestEventTarget');
  log.disable();

  var XMLHttpRequestEventTarget = function (_EventTarget) {
    (0, _inherits2.default)(XMLHttpRequestEventTarget, _EventTarget);

    var _super = _createSuper(XMLHttpRequestEventTarget);

    function XMLHttpRequestEventTarget() {
      var _this;

      (0, _classCallCheck2.default)(this, XMLHttpRequestEventTarget);
      _this = _super.call(this);

      _this._onabort = function () {};

      _this._onerror = function () {};

      _this._onload = function () {};

      _this._onloadstart = function () {};

      _this._onprogress = function () {};

      _this._ontimeout = function () {};

      _this._onloadend = function () {};

      log.info('constructor called');
      return _this;
    }

    (0, _createClass2.default)(XMLHttpRequestEventTarget, [{
      key: "dispatchEvent",
      value: function dispatchEvent(event, e) {
        log.debug('dispatch event', event, e);
        (0, _get2.default)((0, _getPrototypeOf2.default)(XMLHttpRequestEventTarget.prototype), "dispatchEvent", this).call(this, event, e);

        switch (event) {
          case 'abort':
            this._onabort(e);

            break;

          case 'error':
            this._onerror(e);

            break;

          case 'load':
            this._onload(e);

            break;

          case 'loadstart':
            this._onloadstart(e);

            break;

          case 'loadend':
            this._onloadend(e);

            break;

          case 'progress':
            this._onprogress(e);

            break;

          case 'timeout':
            this._ontimeout(e);

            break;
        }
      }
    }, {
      key: "onabort",
      get: function get() {
        return this._onabort;
      },
      set: function set(fn) {
        log.info('set onabort');
        this._onabort = fn;
      }
    }, {
      key: "onerror",
      get: function get() {
        return this._onerror;
      },
      set: function set(fn) {
        log.info('set onerror');
        this._onerror = fn;
      }
    }, {
      key: "onload",
      get: function get() {
        return this._onload;
      },
      set: function set(fn) {
        log.info('set onload', fn);
        this._onload = fn;
      }
    }, {
      key: "onloadstart",
      get: function get() {
        return this._onloadstart;
      },
      set: function set(fn) {
        log.info('set onloadstart');
        this._onloadstart = fn;
      }
    }, {
      key: "onprogress",
      get: function get() {
        return this._onprogress;
      },
      set: function set(fn) {
        log.info('set onprogress');
        this._onprogress = fn;
      }
    }, {
      key: "ontimeout",
      get: function get() {
        return this._ontimeout;
      },
      set: function set(fn) {
        log.info('set ontimeout');
        this._ontimeout = fn;
      }
    }, {
      key: "onloadend",
      get: function get() {
        return this._onloadend;
      },
      set: function set(fn) {
        log.info('set onloadend');
        this._onloadend = fn;
      }
    }]);
    return XMLHttpRequestEventTarget;
  }(_EventTarget2.default);

  exports.default = XMLHttpRequestEventTarget;
},501,[5,7,8,90,12,14,16,498,497]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _Event2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ProgressEvent = function (_Event) {
    (0, _inherits2.default)(ProgressEvent, _Event);

    var _super = _createSuper(ProgressEvent);

    function ProgressEvent(lengthComputable, loaded, total) {
      var _this;

      (0, _classCallCheck2.default)(this, ProgressEvent);
      _this = _super.call(this);
      _this._lengthComputable = false;
      _this._loaded = -1;
      _this._total = -1;
      _this._lengthComputable = lengthComputable;
      _this._loaded = loaded;
      _this._total = total;
      return _this;
    }

    (0, _createClass2.default)(ProgressEvent, [{
      key: "lengthComputable",
      get: function get() {
        return this._lengthComputable;
      }
    }, {
      key: "loaded",
      get: function get() {
        return this._loaded;
      }
    }, {
      key: "total",
      get: function get() {
        return this._total;
      }
    }]);
    return ProgressEvent;
  }(_Event2.default);

  exports.default = ProgressEvent;
},502,[5,7,8,12,14,16,503]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var Event = function Event() {
    (0, _classCallCheck2.default)(this, Event);
  };

  exports.default = Event;
},503,[5,7]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _ProgressEvent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _EventTarget2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _Blob = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _log = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _fs = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var log = new _log.default('FileReader');
  log.level(3);

  var FileReader = function (_EventTarget) {
    (0, _inherits2.default)(FileReader, _EventTarget);

    var _super = _createSuper(FileReader);

    function FileReader() {
      var _this;

      (0, _classCallCheck2.default)(this, FileReader);
      _this = _super.call(this);
      _this._readState = 0;
      log.verbose('file reader const');
      _this._result = null;
      return _this;
    }

    (0, _createClass2.default)(FileReader, [{
      key: "isRNFBPolyFill",
      get: function get() {
        return true;
      }
    }, {
      key: "abort",
      value: function abort() {
        log.verbose('abort');
      }
    }, {
      key: "readAsArrayBuffer",
      value: function readAsArrayBuffer(b) {
        log.verbose('readAsArrayBuffer', b);
      }
    }, {
      key: "readAsBinaryString",
      value: function readAsBinaryString(b) {
        log.verbose('readAsBinaryString', b);
      }
    }, {
      key: "readAsText",
      value: function readAsText(b, label) {
        log.verbose('readAsText', b, label);
      }
    }, {
      key: "readAsDataURL",
      value: function readAsDataURL(b) {
        log.verbose('readAsDataURL', b);
      }
    }, {
      key: "dispatchEvent",
      value: function dispatchEvent(event, e) {
        log.verbose('dispatch event', event, e);
        (0, _get2.default)((0, _getPrototypeOf2.default)(FileReader.prototype), "dispatchEvent", this).call(this, event, e);

        if (typeof this["on" + event] === 'function') {
          this["on" + event](e);
        }
      }
    }, {
      key: "readyState",
      get: function get() {
        return this._readyState;
      }
    }, {
      key: "result",
      get: function get() {
        return this._result;
      }
    }], [{
      key: "EMPTY",
      get: function get() {
        return 0;
      }
    }, {
      key: "LOADING",
      get: function get() {
        return 1;
      }
    }, {
      key: "DONE",
      get: function get() {
        return 2;
      }
    }]);
    return FileReader;
  }(_EventTarget2.default);

  exports.default = FileReader;
},504,[5,7,8,90,12,14,16,502,498,496,497,489]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _index = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _log = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _fs = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _unicode = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Blob = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var log = new _log.default('FetchPolyfill');
  log.disable();

  var Fetch = function Fetch(config) {
    (0, _classCallCheck2.default)(this, Fetch);
    (0, _extends2.default)(this, new RNFetchBlobFetchPolyfill(config));
  };

  exports.default = Fetch;

  var RNFetchBlobFetchPolyfill = function RNFetchBlobFetchPolyfill(config) {
    (0, _classCallCheck2.default)(this, RNFetchBlobFetchPolyfill);

    this.build = function () {
      return function (url) {
        var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
        var body = options.body;
        var promise = Promise.resolve();
        var blobCache = null;
        options.headers = options.headers || {};
        var ctype = options['Content-Type'] || options['content-type'];
        var ctypeH = options.headers['Content-Type'] || options.headers['content-type'];
        options.headers['Content-Type'] = ctype || ctypeH;
        options.headers['content-type'] = ctype || ctypeH;
        options.method = options.method || 'GET';

        if (body) {
          if (body instanceof FormData) {
            log.verbose('convert FormData to blob body');
            promise = _Blob.default.build(body).then(function (b) {
              blobCache = b;
              options.headers['Content-Type'] = 'multipart/form-data;boundary=' + b.multipartBoundary;
              return Promise.resolve(_index.default.wrap(b._ref));
            });
          } else if (body.isRNFetchBlobPolyfill) promise = Promise.resolve(_index.default.wrap(body.blobPath));else if (typeof body !== 'object' && options.headers['Content-Type'] !== 'application/json') promise = Promise.resolve(JSON.stringify(body));else if (typeof body !== 'string') promise = Promise.resolve(body.toString());else promise = Promise.resolve(body);
        }

        var progressHandler, uploadHandler, cancelHandler;
        var statefulPromise = promise.then(function (body) {
          var task = _index.default.config(config).fetch(options.method, url, options.headers, body);

          if (progressHandler) task.progress(progressHandler);
          if (uploadHandler) task.uploadProgress(uploadHandler);
          if (cancelHandler) task.cancel();
          return task.then(function (resp) {
            log.verbose('response', resp);
            if (blobCache !== null && blobCache instanceof _Blob.default) blobCache.close();
            return Promise.resolve(new RNFetchBlobFetchResponse(resp));
          });
        });

        statefulPromise.progress = function (fn) {
          progressHandler = fn;
        };

        statefulPromise.uploadProgress = function (fn) {
          uploadHandler = fn;
        };

        statefulPromise.cancel = function () {
          cancelHandler = true;
          if (task.cancel) task.cancel();
        };

        return statefulPromise;
      };
    };
  };

  var RNFetchBlobFetchResponse = function () {
    function RNFetchBlobFetchResponse(resp) {
      (0, _classCallCheck2.default)(this, RNFetchBlobFetchResponse);
      var info = resp.info();
      this.headers = info.headers;
      this.ok = info.status >= 200 && info.status <= 299, this.status = info.status;
      this.type = 'basic';
      this.bodyUsed = false;
      this.resp = resp;
      this.rnfbRespInfo = info;
      this.rnfbResp = resp;
    }

    (0, _createClass2.default)(RNFetchBlobFetchResponse, [{
      key: "rawResp",
      value: function rawResp() {
        return Promise.resolve(this.rnfbResp);
      }
    }, {
      key: "arrayBuffer",
      value: function arrayBuffer() {
        log.verbose('to arrayBuffer', this.rnfbRespInfo);
        this.bodyUsed = true;
        return readArrayBuffer(this.rnfbResp, this.rnfbRespInfo);
      }
    }, {
      key: "text",
      value: function text() {
        log.verbose('to text', this.rnfbResp, this.rnfbRespInfo);
        this.bodyUsed = true;
        return readText(this.rnfbResp, this.rnfbRespInfo);
      }
    }, {
      key: "json",
      value: function json() {
        log.verbose('to json', this.rnfbResp, this.rnfbRespInfo);
        this.bodyUsed = true;
        return readJSON(this.rnfbResp, this.rnfbRespInfo);
      }
    }, {
      key: "blob",
      value: function blob() {
        log.verbose('to blob', this.rnfbResp, this.rnfbRespInfo);
        this.bodyUsed = true;
        return readBlob(this.rnfbResp, this.rnfbRespInfo);
      }
    }]);
    return RNFetchBlobFetchResponse;
  }();

  function readArrayBuffer(resp, info) {
    switch (info.rnfbEncode) {
      case 'path':
        return resp.readFile('ascii');
        break;

      default:
        var buffer = [];
        var str = resp.text();

        for (var i in str) {
          buffer[i] = str.charCodeAt(i);
        }

        return Promise.resolve(buffer);
        break;
    }
  }

  function readText(resp, info) {
    switch (info.rnfbEncode) {
      case 'base64':
        return Promise.resolve(resp.text());
        break;

      case 'path':
        return resp.text();
        break;

      default:
        return Promise.resolve(resp.text());
        break;
    }
  }

  function readBlob(resp, info) {
    log.verbose('readBlob', resp, info);
    return resp.blob();
  }

  function readJSON(resp, info) {
    log.verbose('readJSON', resp, info);

    switch (info.rnfbEncode) {
      case 'base64':
        return Promise.resolve(resp.json());

      case 'path':
        return resp.json();

      default:
        return Promise.resolve(resp.json());
    }
  }
},505,[5,8,6,7,487,497,489,506,496]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = _default;

  function _default(x) {
    var r = /\\u([\d\w]{4})/gi;
    x = x.replace(r, function (match, grp) {
      return String.fromCharCode(parseInt(grp, 16));
    });
    return unescape(x);
  }
},506,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  /**
   * @license
   * Lodash <https://lodash.com/>
   * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
   * Released under MIT license <https://lodash.com/license>
   * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
   * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
   */
  ;
  (function () {
    var undefined;
    var VERSION = '4.17.21';
    var LARGE_ARRAY_SIZE = 200;
    var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',
        FUNC_ERROR_TEXT = 'Expected a function',
        INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`';
    var HASH_UNDEFINED = '__lodash_hash_undefined__';
    var MAX_MEMOIZE_SIZE = 500;
    var PLACEHOLDER = '__lodash_placeholder__';
    var CLONE_DEEP_FLAG = 1,
        CLONE_FLAT_FLAG = 2,
        CLONE_SYMBOLS_FLAG = 4;
    var COMPARE_PARTIAL_FLAG = 1,
        COMPARE_UNORDERED_FLAG = 2;
    var WRAP_BIND_FLAG = 1,
        WRAP_BIND_KEY_FLAG = 2,
        WRAP_CURRY_BOUND_FLAG = 4,
        WRAP_CURRY_FLAG = 8,
        WRAP_CURRY_RIGHT_FLAG = 16,
        WRAP_PARTIAL_FLAG = 32,
        WRAP_PARTIAL_RIGHT_FLAG = 64,
        WRAP_ARY_FLAG = 128,
        WRAP_REARG_FLAG = 256,
        WRAP_FLIP_FLAG = 512;
    var DEFAULT_TRUNC_LENGTH = 30,
        DEFAULT_TRUNC_OMISSION = '...';
    var HOT_COUNT = 800,
        HOT_SPAN = 16;
    var LAZY_FILTER_FLAG = 1,
        LAZY_MAP_FLAG = 2,
        LAZY_WHILE_FLAG = 3;
    var INFINITY = 1 / 0,
        MAX_SAFE_INTEGER = 9007199254740991,
        MAX_INTEGER = 1.7976931348623157e+308,
        NAN = 0 / 0;
    var MAX_ARRAY_LENGTH = 4294967295,
        MAX_ARRAY_INDEX = 4294967294,
        HALF_MAX_ARRAY_LENGTH = 2147483647;
    var wrapFlags = [['ary', WRAP_ARY_FLAG], ['bind', WRAP_BIND_FLAG], ['bindKey', WRAP_BIND_KEY_FLAG], ['curry', WRAP_CURRY_FLAG], ['curryRight', WRAP_CURRY_RIGHT_FLAG], ['flip', WRAP_FLIP_FLAG], ['partial', WRAP_PARTIAL_FLAG], ['partialRight', WRAP_PARTIAL_RIGHT_FLAG], ['rearg', WRAP_REARG_FLAG]];
    var argsTag = '[object Arguments]',
        arrayTag = '[object Array]',
        asyncTag = '[object AsyncFunction]',
        boolTag = '[object Boolean]',
        dateTag = '[object Date]',
        domExcTag = '[object DOMException]',
        errorTag = '[object Error]',
        funcTag = '[object Function]',
        genTag = '[object GeneratorFunction]',
        mapTag = '[object Map]',
        numberTag = '[object Number]',
        nullTag = '[object Null]',
        objectTag = '[object Object]',
        promiseTag = '[object Promise]',
        proxyTag = '[object Proxy]',
        regexpTag = '[object RegExp]',
        setTag = '[object Set]',
        stringTag = '[object String]',
        symbolTag = '[object Symbol]',
        undefinedTag = '[object Undefined]',
        weakMapTag = '[object WeakMap]',
        weakSetTag = '[object WeakSet]';
    var arrayBufferTag = '[object ArrayBuffer]',
        dataViewTag = '[object DataView]',
        float32Tag = '[object Float32Array]',
        float64Tag = '[object Float64Array]',
        int8Tag = '[object Int8Array]',
        int16Tag = '[object Int16Array]',
        int32Tag = '[object Int32Array]',
        uint8Tag = '[object Uint8Array]',
        uint8ClampedTag = '[object Uint8ClampedArray]',
        uint16Tag = '[object Uint16Array]',
        uint32Tag = '[object Uint32Array]';
    var reEmptyStringLeading = /\b__p \+= '';/g,
        reEmptyStringMiddle = /\b(__p \+=) '' \+/g,
        reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g;
    var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,
        reUnescapedHtml = /[&<>"']/g,
        reHasEscapedHtml = RegExp(reEscapedHtml.source),
        reHasUnescapedHtml = RegExp(reUnescapedHtml.source);
    var reEscape = /<%-([\s\S]+?)%>/g,
        reEvaluate = /<%([\s\S]+?)%>/g,
        reInterpolate = /<%=([\s\S]+?)%>/g;
    var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
        reIsPlainProp = /^\w*$/,
        rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
    var reRegExpChar = /[\\^$.*+?()[\]{}|]/g,
        reHasRegExpChar = RegExp(reRegExpChar.source);
    var reTrimStart = /^\s+/;
    var reWhitespace = /\s/;
    var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,
        reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/,
        reSplitDetails = /,? & /;
    var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;
    var reForbiddenIdentifierChars = /[()=,{}\[\]\/\s]/;
    var reEscapeChar = /\\(\\)?/g;
    var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;
    var reFlags = /\w*$/;
    var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
    var reIsBinary = /^0b[01]+$/i;
    var reIsHostCtor = /^\[object .+?Constructor\]$/;
    var reIsOctal = /^0o[0-7]+$/i;
    var reIsUint = /^(?:0|[1-9]\d*)$/;
    var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;
    var reNoMatch = /($^)/;
    var reUnescapedString = /['\n\r\u2028\u2029\\]/g;
    var rsAstralRange = "\\ud800-\\udfff",
        rsComboMarksRange = "\\u0300-\\u036f",
        reComboHalfMarksRange = "\\ufe20-\\ufe2f",
        rsComboSymbolsRange = "\\u20d0-\\u20ff",
        rsComboRange = "\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",
        rsDingbatRange = "\\u2700-\\u27bf",
        rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff',
        rsMathOpRange = '\\xac\\xb1\\xd7\\xf7',
        rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf',
        rsPunctuationRange = "\\u2000-\\u206f",
        rsSpaceRange = " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",
        rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde',
        rsVarRange = "\\ufe0e\\ufe0f",
        rsBreakRange = "\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000";
    var rsApos = "['\u2019]",
        rsAstral = "[\\ud800-\\udfff]",
        rsBreak = "[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]",
        rsCombo = "[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",
        rsDigits = '\\d+',
        rsDingbat = "[\\u2700-\\u27bf]",
        rsLower = "[a-z\\xdf-\\xf6\\xf8-\\xff]",
        rsMisc = "[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",
        rsFitz = "\\ud83c[\\udffb-\\udfff]",
        rsModifier = "(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])",
        rsNonAstral = "[^\\ud800-\\udfff]",
        rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}",
        rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]",
        rsUpper = "[A-Z\\xc0-\\xd6\\xd8-\\xde]",
        rsZWJ = "\\u200d";
    var rsMiscLower = "(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])",
        rsMiscUpper = "(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])",
        rsOptContrLower = "(?:['\u2019](?:d|ll|m|re|s|t|ve))?",
        rsOptContrUpper = "(?:['\u2019](?:D|LL|M|RE|S|T|VE))?",
        reOptMod = "(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",
        rsOptVar = "[\\ufe0e\\ufe0f]?",
        rsOptJoin = "(?:\\u200d(?:" + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',
        rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])',
        rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])',
        rsSeq = "[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?" + rsOptJoin,
        rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,
        rsSymbol = '(?:' + ["[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]?", rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';
    var reApos = RegExp(rsApos, 'g');
    var reComboMark = RegExp(rsCombo, 'g');
    var reUnicode = RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|" + rsSymbol + rsSeq, 'g');
    var reUnicodeWord = RegExp(["[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?:['\u2019](?:d|ll|m|re|s|t|ve))?(?=" + [rsBreak, rsUpper, '$'].join('|') + ')', "(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?(?=" + [rsBreak, "[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])", '$'].join('|') + ')', "[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:d|ll|m|re|s|t|ve))?", "[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?", rsOrdUpper, rsOrdLower, rsDigits, rsEmoji].join('|'), 'g');
    var reHasUnicode = RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");
    var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
    var contextProps = ['Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array', 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object', 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array', 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap', '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'];
    var templateCounter = -1;
    var typedArrayTags = {};
    typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
    typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
    var cloneableTags = {};
    cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = cloneableTags[boolTag] = cloneableTags[dateTag] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag] = cloneableTags[numberTag] = cloneableTags[objectTag] = cloneableTags[regexpTag] = cloneableTags[setTag] = cloneableTags[stringTag] = cloneableTags[symbolTag] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
    cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false;
    var deburredLetters = {
      '\xc0': 'A',
      '\xc1': 'A',
      '\xc2': 'A',
      '\xc3': 'A',
      '\xc4': 'A',
      '\xc5': 'A',
      '\xe0': 'a',
      '\xe1': 'a',
      '\xe2': 'a',
      '\xe3': 'a',
      '\xe4': 'a',
      '\xe5': 'a',
      '\xc7': 'C',
      '\xe7': 'c',
      '\xd0': 'D',
      '\xf0': 'd',
      '\xc8': 'E',
      '\xc9': 'E',
      '\xca': 'E',
      '\xcb': 'E',
      '\xe8': 'e',
      '\xe9': 'e',
      '\xea': 'e',
      '\xeb': 'e',
      '\xcc': 'I',
      '\xcd': 'I',
      '\xce': 'I',
      '\xcf': 'I',
      '\xec': 'i',
      '\xed': 'i',
      '\xee': 'i',
      '\xef': 'i',
      '\xd1': 'N',
      '\xf1': 'n',
      '\xd2': 'O',
      '\xd3': 'O',
      '\xd4': 'O',
      '\xd5': 'O',
      '\xd6': 'O',
      '\xd8': 'O',
      '\xf2': 'o',
      '\xf3': 'o',
      '\xf4': 'o',
      '\xf5': 'o',
      '\xf6': 'o',
      '\xf8': 'o',
      '\xd9': 'U',
      '\xda': 'U',
      '\xdb': 'U',
      '\xdc': 'U',
      '\xf9': 'u',
      '\xfa': 'u',
      '\xfb': 'u',
      '\xfc': 'u',
      '\xdd': 'Y',
      '\xfd': 'y',
      '\xff': 'y',
      '\xc6': 'Ae',
      '\xe6': 'ae',
      '\xde': 'Th',
      '\xfe': 'th',
      '\xdf': 'ss',
      "\u0100": 'A',
      "\u0102": 'A',
      "\u0104": 'A',
      "\u0101": 'a',
      "\u0103": 'a',
      "\u0105": 'a',
      "\u0106": 'C',
      "\u0108": 'C',
      "\u010A": 'C',
      "\u010C": 'C',
      "\u0107": 'c',
      "\u0109": 'c',
      "\u010B": 'c',
      "\u010D": 'c',
      "\u010E": 'D',
      "\u0110": 'D',
      "\u010F": 'd',
      "\u0111": 'd',
      "\u0112": 'E',
      "\u0114": 'E',
      "\u0116": 'E',
      "\u0118": 'E',
      "\u011A": 'E',
      "\u0113": 'e',
      "\u0115": 'e',
      "\u0117": 'e',
      "\u0119": 'e',
      "\u011B": 'e',
      "\u011C": 'G',
      "\u011E": 'G',
      "\u0120": 'G',
      "\u0122": 'G',
      "\u011D": 'g',
      "\u011F": 'g',
      "\u0121": 'g',
      "\u0123": 'g',
      "\u0124": 'H',
      "\u0126": 'H',
      "\u0125": 'h',
      "\u0127": 'h',
      "\u0128": 'I',
      "\u012A": 'I',
      "\u012C": 'I',
      "\u012E": 'I',
      "\u0130": 'I',
      "\u0129": 'i',
      "\u012B": 'i',
      "\u012D": 'i',
      "\u012F": 'i',
      "\u0131": 'i',
      "\u0134": 'J',
      "\u0135": 'j',
      "\u0136": 'K',
      "\u0137": 'k',
      "\u0138": 'k',
      "\u0139": 'L',
      "\u013B": 'L',
      "\u013D": 'L',
      "\u013F": 'L',
      "\u0141": 'L',
      "\u013A": 'l',
      "\u013C": 'l',
      "\u013E": 'l',
      "\u0140": 'l',
      "\u0142": 'l',
      "\u0143": 'N',
      "\u0145": 'N',
      "\u0147": 'N',
      "\u014A": 'N',
      "\u0144": 'n',
      "\u0146": 'n',
      "\u0148": 'n',
      "\u014B": 'n',
      "\u014C": 'O',
      "\u014E": 'O',
      "\u0150": 'O',
      "\u014D": 'o',
      "\u014F": 'o',
      "\u0151": 'o',
      "\u0154": 'R',
      "\u0156": 'R',
      "\u0158": 'R',
      "\u0155": 'r',
      "\u0157": 'r',
      "\u0159": 'r',
      "\u015A": 'S',
      "\u015C": 'S',
      "\u015E": 'S',
      "\u0160": 'S',
      "\u015B": 's',
      "\u015D": 's',
      "\u015F": 's',
      "\u0161": 's',
      "\u0162": 'T',
      "\u0164": 'T',
      "\u0166": 'T',
      "\u0163": 't',
      "\u0165": 't',
      "\u0167": 't',
      "\u0168": 'U',
      "\u016A": 'U',
      "\u016C": 'U',
      "\u016E": 'U',
      "\u0170": 'U',
      "\u0172": 'U',
      "\u0169": 'u',
      "\u016B": 'u',
      "\u016D": 'u',
      "\u016F": 'u',
      "\u0171": 'u',
      "\u0173": 'u',
      "\u0174": 'W',
      "\u0175": 'w',
      "\u0176": 'Y',
      "\u0177": 'y',
      "\u0178": 'Y',
      "\u0179": 'Z',
      "\u017B": 'Z',
      "\u017D": 'Z',
      "\u017A": 'z',
      "\u017C": 'z',
      "\u017E": 'z',
      "\u0132": 'IJ',
      "\u0133": 'ij',
      "\u0152": 'Oe',
      "\u0153": 'oe',
      "\u0149": "'n",
      "\u017F": 's'
    };
    var htmlEscapes = {
      '&': '&amp;',
      '<': '&lt;',
      '>': '&gt;',
      '"': '&quot;',
      "'": '&#39;'
    };
    var htmlUnescapes = {
      '&amp;': '&',
      '&lt;': '<',
      '&gt;': '>',
      '&quot;': '"',
      '&#39;': "'"
    };
    var stringEscapes = {
      '\\': '\\',
      "'": "'",
      '\n': 'n',
      '\r': 'r',
      "\u2028": 'u2028',
      "\u2029": 'u2029'
    };
    var freeParseFloat = parseFloat,
        freeParseInt = parseInt;
    var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
    var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
    var root = freeGlobal || freeSelf || Function('return this')();
    var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
    var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
    var moduleExports = freeModule && freeModule.exports === freeExports;
    var freeProcess = moduleExports && freeGlobal.process;

    var nodeUtil = function () {
      try {
        var types = freeModule && freeModule.require && freeModule.require('util').types;

        if (types) {
          return types;
        }

        return freeProcess && freeProcess.binding && freeProcess.binding('util');
      } catch (e) {}
    }();

    var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer,
        nodeIsDate = nodeUtil && nodeUtil.isDate,
        nodeIsMap = nodeUtil && nodeUtil.isMap,
        nodeIsRegExp = nodeUtil && nodeUtil.isRegExp,
        nodeIsSet = nodeUtil && nodeUtil.isSet,
        nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;

    function apply(func, thisArg, args) {
      switch (args.length) {
        case 0:
          return func.call(thisArg);

        case 1:
          return func.call(thisArg, args[0]);

        case 2:
          return func.call(thisArg, args[0], args[1]);

        case 3:
          return func.call(thisArg, args[0], args[1], args[2]);
      }

      return func.apply(thisArg, args);
    }

    function arrayAggregator(array, setter, iteratee, accumulator) {
      var index = -1,
          length = array == null ? 0 : array.length;

      while (++index < length) {
        var value = array[index];
        setter(accumulator, value, iteratee(value), array);
      }

      return accumulator;
    }

    function arrayEach(array, iteratee) {
      var index = -1,
          length = array == null ? 0 : array.length;

      while (++index < length) {
        if (iteratee(array[index], index, array) === false) {
          break;
        }
      }

      return array;
    }

    function arrayEachRight(array, iteratee) {
      var length = array == null ? 0 : array.length;

      while (length--) {
        if (iteratee(array[length], length, array) === false) {
          break;
        }
      }

      return array;
    }

    function arrayEvery(array, predicate) {
      var index = -1,
          length = array == null ? 0 : array.length;

      while (++index < length) {
        if (!predicate(array[index], index, array)) {
          return false;
        }
      }

      return true;
    }

    function arrayFilter(array, predicate) {
      var index = -1,
          length = array == null ? 0 : array.length,
          resIndex = 0,
          result = [];

      while (++index < length) {
        var value = array[index];

        if (predicate(value, index, array)) {
          result[resIndex++] = value;
        }
      }

      return result;
    }

    function arrayIncludes(array, value) {
      var length = array == null ? 0 : array.length;
      return !!length && baseIndexOf(array, value, 0) > -1;
    }

    function arrayIncludesWith(array, value, comparator) {
      var index = -1,
          length = array == null ? 0 : array.length;

      while (++index < length) {
        if (comparator(value, array[index])) {
          return true;
        }
      }

      return false;
    }

    function arrayMap(array, iteratee) {
      var index = -1,
          length = array == null ? 0 : array.length,
          result = Array(length);

      while (++index < length) {
        result[index] = iteratee(array[index], index, array);
      }

      return result;
    }

    function arrayPush(array, values) {
      var index = -1,
          length = values.length,
          offset = array.length;

      while (++index < length) {
        array[offset + index] = values[index];
      }

      return array;
    }

    function arrayReduce(array, iteratee, accumulator, initAccum) {
      var index = -1,
          length = array == null ? 0 : array.length;

      if (initAccum && length) {
        accumulator = array[++index];
      }

      while (++index < length) {
        accumulator = iteratee(accumulator, array[index], index, array);
      }

      return accumulator;
    }

    function arrayReduceRight(array, iteratee, accumulator, initAccum) {
      var length = array == null ? 0 : array.length;

      if (initAccum && length) {
        accumulator = array[--length];
      }

      while (length--) {
        accumulator = iteratee(accumulator, array[length], length, array);
      }

      return accumulator;
    }

    function arraySome(array, predicate) {
      var index = -1,
          length = array == null ? 0 : array.length;

      while (++index < length) {
        if (predicate(array[index], index, array)) {
          return true;
        }
      }

      return false;
    }

    var asciiSize = baseProperty('length');

    function asciiToArray(string) {
      return string.split('');
    }

    function asciiWords(string) {
      return string.match(reAsciiWord) || [];
    }

    function baseFindKey(collection, predicate, eachFunc) {
      var result;
      eachFunc(collection, function (value, key, collection) {
        if (predicate(value, key, collection)) {
          result = key;
          return false;
        }
      });
      return result;
    }

    function baseFindIndex(array, predicate, fromIndex, fromRight) {
      var length = array.length,
          index = fromIndex + (fromRight ? 1 : -1);

      while (fromRight ? index-- : ++index < length) {
        if (predicate(array[index], index, array)) {
          return index;
        }
      }

      return -1;
    }

    function baseIndexOf(array, value, fromIndex) {
      return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
    }

    function baseIndexOfWith(array, value, fromIndex, comparator) {
      var index = fromIndex - 1,
          length = array.length;

      while (++index < length) {
        if (comparator(array[index], value)) {
          return index;
        }
      }

      return -1;
    }

    function baseIsNaN(value) {
      return value !== value;
    }

    function baseMean(array, iteratee) {
      var length = array == null ? 0 : array.length;
      return length ? baseSum(array, iteratee) / length : NAN;
    }

    function baseProperty(key) {
      return function (object) {
        return object == null ? undefined : object[key];
      };
    }

    function basePropertyOf(object) {
      return function (key) {
        return object == null ? undefined : object[key];
      };
    }

    function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {
      eachFunc(collection, function (value, index, collection) {
        accumulator = initAccum ? (initAccum = false, value) : iteratee(accumulator, value, index, collection);
      });
      return accumulator;
    }

    function baseSortBy(array, comparer) {
      var length = array.length;
      array.sort(comparer);

      while (length--) {
        array[length] = array[length].value;
      }

      return array;
    }

    function baseSum(array, iteratee) {
      var result,
          index = -1,
          length = array.length;

      while (++index < length) {
        var current = iteratee(array[index]);

        if (current !== undefined) {
          result = result === undefined ? current : result + current;
        }
      }

      return result;
    }

    function baseTimes(n, iteratee) {
      var index = -1,
          result = Array(n);

      while (++index < n) {
        result[index] = iteratee(index);
      }

      return result;
    }

    function baseToPairs(object, props) {
      return arrayMap(props, function (key) {
        return [key, object[key]];
      });
    }

    function baseTrim(string) {
      return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') : string;
    }

    function baseUnary(func) {
      return function (value) {
        return func(value);
      };
    }

    function baseValues(object, props) {
      return arrayMap(props, function (key) {
        return object[key];
      });
    }

    function cacheHas(cache, key) {
      return cache.has(key);
    }

    function charsStartIndex(strSymbols, chrSymbols) {
      var index = -1,
          length = strSymbols.length;

      while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}

      return index;
    }

    function charsEndIndex(strSymbols, chrSymbols) {
      var index = strSymbols.length;

      while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}

      return index;
    }

    function countHolders(array, placeholder) {
      var length = array.length,
          result = 0;

      while (length--) {
        if (array[length] === placeholder) {
          ++result;
        }
      }

      return result;
    }

    var deburrLetter = basePropertyOf(deburredLetters);
    var escapeHtmlChar = basePropertyOf(htmlEscapes);

    function escapeStringChar(chr) {
      return '\\' + stringEscapes[chr];
    }

    function getValue(object, key) {
      return object == null ? undefined : object[key];
    }

    function hasUnicode(string) {
      return reHasUnicode.test(string);
    }

    function hasUnicodeWord(string) {
      return reHasUnicodeWord.test(string);
    }

    function iteratorToArray(iterator) {
      var data,
          result = [];

      while (!(data = iterator.next()).done) {
        result.push(data.value);
      }

      return result;
    }

    function mapToArray(map) {
      var index = -1,
          result = Array(map.size);
      map.forEach(function (value, key) {
        result[++index] = [key, value];
      });
      return result;
    }

    function overArg(func, transform) {
      return function (arg) {
        return func(transform(arg));
      };
    }

    function replaceHolders(array, placeholder) {
      var index = -1,
          length = array.length,
          resIndex = 0,
          result = [];

      while (++index < length) {
        var value = array[index];

        if (value === placeholder || value === PLACEHOLDER) {
          array[index] = PLACEHOLDER;
          result[resIndex++] = index;
        }
      }

      return result;
    }

    function setToArray(set) {
      var index = -1,
          result = Array(set.size);
      set.forEach(function (value) {
        result[++index] = value;
      });
      return result;
    }

    function setToPairs(set) {
      var index = -1,
          result = Array(set.size);
      set.forEach(function (value) {
        result[++index] = [value, value];
      });
      return result;
    }

    function strictIndexOf(array, value, fromIndex) {
      var index = fromIndex - 1,
          length = array.length;

      while (++index < length) {
        if (array[index] === value) {
          return index;
        }
      }

      return -1;
    }

    function strictLastIndexOf(array, value, fromIndex) {
      var index = fromIndex + 1;

      while (index--) {
        if (array[index] === value) {
          return index;
        }
      }

      return index;
    }

    function stringSize(string) {
      return hasUnicode(string) ? unicodeSize(string) : asciiSize(string);
    }

    function stringToArray(string) {
      return hasUnicode(string) ? unicodeToArray(string) : asciiToArray(string);
    }

    function trimmedEndIndex(string) {
      var index = string.length;

      while (index-- && reWhitespace.test(string.charAt(index))) {}

      return index;
    }

    var unescapeHtmlChar = basePropertyOf(htmlUnescapes);

    function unicodeSize(string) {
      var result = reUnicode.lastIndex = 0;

      while (reUnicode.test(string)) {
        ++result;
      }

      return result;
    }

    function unicodeToArray(string) {
      return string.match(reUnicode) || [];
    }

    function unicodeWords(string) {
      return string.match(reUnicodeWord) || [];
    }

    var runInContext = function runInContext(context) {
      context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));
      var Array = context.Array,
          Date = context.Date,
          Error = context.Error,
          Function = context.Function,
          Math = context.Math,
          Object = context.Object,
          RegExp = context.RegExp,
          String = context.String,
          TypeError = context.TypeError;
      var arrayProto = Array.prototype,
          funcProto = Function.prototype,
          objectProto = Object.prototype;
      var coreJsData = context['__core-js_shared__'];
      var funcToString = funcProto.toString;
      var hasOwnProperty = objectProto.hasOwnProperty;
      var idCounter = 0;

      var maskSrcKey = function () {
        var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
        return uid ? 'Symbol(src)_1.' + uid : '';
      }();

      var nativeObjectToString = objectProto.toString;
      var objectCtorString = funcToString.call(Object);
      var oldDash = root._;
      var reIsNative = RegExp('^' + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&').replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$');
      var Buffer = moduleExports ? context.Buffer : undefined,
          Symbol = context.Symbol,
          Uint8Array = context.Uint8Array,
          allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,
          getPrototype = overArg(Object.getPrototypeOf, Object),
          objectCreate = Object.create,
          propertyIsEnumerable = objectProto.propertyIsEnumerable,
          splice = arrayProto.splice,
          spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined,
          symIterator = Symbol ? Symbol.iterator : undefined,
          symToStringTag = Symbol ? Symbol.toStringTag : undefined;

      var defineProperty = function () {
        try {
          var func = getNative(Object, 'defineProperty');
          func({}, '', {});
          return func;
        } catch (e) {}
      }();

      var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout,
          ctxNow = Date && Date.now !== root.Date.now && Date.now,
          ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;
      var nativeCeil = Math.ceil,
          nativeFloor = Math.floor,
          nativeGetSymbols = Object.getOwnPropertySymbols,
          nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,
          nativeIsFinite = context.isFinite,
          nativeJoin = arrayProto.join,
          nativeKeys = overArg(Object.keys, Object),
          nativeMax = Math.max,
          nativeMin = Math.min,
          nativeNow = Date.now,
          nativeParseInt = context.parseInt,
          nativeRandom = Math.random,
          nativeReverse = arrayProto.reverse;
      var DataView = getNative(context, 'DataView'),
          Map = getNative(context, 'Map'),
          Promise = getNative(context, 'Promise'),
          Set = getNative(context, 'Set'),
          WeakMap = getNative(context, 'WeakMap'),
          nativeCreate = getNative(Object, 'create');
      var metaMap = WeakMap && new WeakMap();
      var realNames = {};
      var dataViewCtorString = toSource(DataView),
          mapCtorString = toSource(Map),
          promiseCtorString = toSource(Promise),
          setCtorString = toSource(Set),
          weakMapCtorString = toSource(WeakMap);
      var symbolProto = Symbol ? Symbol.prototype : undefined,
          symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,
          symbolToString = symbolProto ? symbolProto.toString : undefined;

      function lodash(value) {
        if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {
          if (value instanceof LodashWrapper) {
            return value;
          }

          if (hasOwnProperty.call(value, '__wrapped__')) {
            return wrapperClone(value);
          }
        }

        return new LodashWrapper(value);
      }

      var baseCreate = function () {
        function object() {}

        return function (proto) {
          if (!isObject(proto)) {
            return {};
          }

          if (objectCreate) {
            return objectCreate(proto);
          }

          object.prototype = proto;
          var result = new object();
          object.prototype = undefined;
          return result;
        };
      }();

      function baseLodash() {}

      function LodashWrapper(value, chainAll) {
        this.__wrapped__ = value;
        this.__actions__ = [];
        this.__chain__ = !!chainAll;
        this.__index__ = 0;
        this.__values__ = undefined;
      }

      lodash.templateSettings = {
        'escape': reEscape,
        'evaluate': reEvaluate,
        'interpolate': reInterpolate,
        'variable': '',
        'imports': {
          '_': lodash
        }
      };
      lodash.prototype = baseLodash.prototype;
      lodash.prototype.constructor = lodash;
      LodashWrapper.prototype = baseCreate(baseLodash.prototype);
      LodashWrapper.prototype.constructor = LodashWrapper;

      function LazyWrapper(value) {
        this.__wrapped__ = value;
        this.__actions__ = [];
        this.__dir__ = 1;
        this.__filtered__ = false;
        this.__iteratees__ = [];
        this.__takeCount__ = MAX_ARRAY_LENGTH;
        this.__views__ = [];
      }

      function lazyClone() {
        var result = new LazyWrapper(this.__wrapped__);
        result.__actions__ = copyArray(this.__actions__);
        result.__dir__ = this.__dir__;
        result.__filtered__ = this.__filtered__;
        result.__iteratees__ = copyArray(this.__iteratees__);
        result.__takeCount__ = this.__takeCount__;
        result.__views__ = copyArray(this.__views__);
        return result;
      }

      function lazyReverse() {
        if (this.__filtered__) {
          var result = new LazyWrapper(this);
          result.__dir__ = -1;
          result.__filtered__ = true;
        } else {
          result = this.clone();
          result.__dir__ *= -1;
        }

        return result;
      }

      function lazyValue() {
        var array = this.__wrapped__.value(),
            dir = this.__dir__,
            isArr = isArray(array),
            isRight = dir < 0,
            arrLength = isArr ? array.length : 0,
            view = getView(0, arrLength, this.__views__),
            start = view.start,
            end = view.end,
            length = end - start,
            index = isRight ? end : start - 1,
            iteratees = this.__iteratees__,
            iterLength = iteratees.length,
            resIndex = 0,
            takeCount = nativeMin(length, this.__takeCount__);

        if (!isArr || !isRight && arrLength == length && takeCount == length) {
          return baseWrapperValue(array, this.__actions__);
        }

        var result = [];

        outer: while (length-- && resIndex < takeCount) {
          index += dir;
          var iterIndex = -1,
              value = array[index];

          while (++iterIndex < iterLength) {
            var data = iteratees[iterIndex],
                iteratee = data.iteratee,
                type = data.type,
                computed = iteratee(value);

            if (type == LAZY_MAP_FLAG) {
              value = computed;
            } else if (!computed) {
              if (type == LAZY_FILTER_FLAG) {
                continue outer;
              } else {
                break outer;
              }
            }
          }

          result[resIndex++] = value;
        }

        return result;
      }

      LazyWrapper.prototype = baseCreate(baseLodash.prototype);
      LazyWrapper.prototype.constructor = LazyWrapper;

      function Hash(entries) {
        var index = -1,
            length = entries == null ? 0 : entries.length;
        this.clear();

        while (++index < length) {
          var entry = entries[index];
          this.set(entry[0], entry[1]);
        }
      }

      function hashClear() {
        this.__data__ = nativeCreate ? nativeCreate(null) : {};
        this.size = 0;
      }

      function hashDelete(key) {
        var result = this.has(key) && delete this.__data__[key];
        this.size -= result ? 1 : 0;
        return result;
      }

      function hashGet(key) {
        var data = this.__data__;

        if (nativeCreate) {
          var result = data[key];
          return result === HASH_UNDEFINED ? undefined : result;
        }

        return hasOwnProperty.call(data, key) ? data[key] : undefined;
      }

      function hashHas(key) {
        var data = this.__data__;
        return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);
      }

      function hashSet(key, value) {
        var data = this.__data__;
        this.size += this.has(key) ? 0 : 1;
        data[key] = nativeCreate && value === undefined ? HASH_UNDEFINED : value;
        return this;
      }

      Hash.prototype.clear = hashClear;
      Hash.prototype['delete'] = hashDelete;
      Hash.prototype.get = hashGet;
      Hash.prototype.has = hashHas;
      Hash.prototype.set = hashSet;

      function ListCache(entries) {
        var index = -1,
            length = entries == null ? 0 : entries.length;
        this.clear();

        while (++index < length) {
          var entry = entries[index];
          this.set(entry[0], entry[1]);
        }
      }

      function listCacheClear() {
        this.__data__ = [];
        this.size = 0;
      }

      function listCacheDelete(key) {
        var data = this.__data__,
            index = assocIndexOf(data, key);

        if (index < 0) {
          return false;
        }

        var lastIndex = data.length - 1;

        if (index == lastIndex) {
          data.pop();
        } else {
          splice.call(data, index, 1);
        }

        --this.size;
        return true;
      }

      function listCacheGet(key) {
        var data = this.__data__,
            index = assocIndexOf(data, key);
        return index < 0 ? undefined : data[index][1];
      }

      function listCacheHas(key) {
        return assocIndexOf(this.__data__, key) > -1;
      }

      function listCacheSet(key, value) {
        var data = this.__data__,
            index = assocIndexOf(data, key);

        if (index < 0) {
          ++this.size;
          data.push([key, value]);
        } else {
          data[index][1] = value;
        }

        return this;
      }

      ListCache.prototype.clear = listCacheClear;
      ListCache.prototype['delete'] = listCacheDelete;
      ListCache.prototype.get = listCacheGet;
      ListCache.prototype.has = listCacheHas;
      ListCache.prototype.set = listCacheSet;

      function MapCache(entries) {
        var index = -1,
            length = entries == null ? 0 : entries.length;
        this.clear();

        while (++index < length) {
          var entry = entries[index];
          this.set(entry[0], entry[1]);
        }
      }

      function mapCacheClear() {
        this.size = 0;
        this.__data__ = {
          'hash': new Hash(),
          'map': new (Map || ListCache)(),
          'string': new Hash()
        };
      }

      function mapCacheDelete(key) {
        var result = getMapData(this, key)['delete'](key);
        this.size -= result ? 1 : 0;
        return result;
      }

      function mapCacheGet(key) {
        return getMapData(this, key).get(key);
      }

      function mapCacheHas(key) {
        return getMapData(this, key).has(key);
      }

      function mapCacheSet(key, value) {
        var data = getMapData(this, key),
            size = data.size;
        data.set(key, value);
        this.size += data.size == size ? 0 : 1;
        return this;
      }

      MapCache.prototype.clear = mapCacheClear;
      MapCache.prototype['delete'] = mapCacheDelete;
      MapCache.prototype.get = mapCacheGet;
      MapCache.prototype.has = mapCacheHas;
      MapCache.prototype.set = mapCacheSet;

      function SetCache(values) {
        var index = -1,
            length = values == null ? 0 : values.length;
        this.__data__ = new MapCache();

        while (++index < length) {
          this.add(values[index]);
        }
      }

      function setCacheAdd(value) {
        this.__data__.set(value, HASH_UNDEFINED);

        return this;
      }

      function setCacheHas(value) {
        return this.__data__.has(value);
      }

      SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
      SetCache.prototype.has = setCacheHas;

      function Stack(entries) {
        var data = this.__data__ = new ListCache(entries);
        this.size = data.size;
      }

      function stackClear() {
        this.__data__ = new ListCache();
        this.size = 0;
      }

      function stackDelete(key) {
        var data = this.__data__,
            result = data['delete'](key);
        this.size = data.size;
        return result;
      }

      function stackGet(key) {
        return this.__data__.get(key);
      }

      function stackHas(key) {
        return this.__data__.has(key);
      }

      function stackSet(key, value) {
        var data = this.__data__;

        if (data instanceof ListCache) {
          var pairs = data.__data__;

          if (!Map || pairs.length < 199) {
            pairs.push([key, value]);
            this.size = ++data.size;
            return this;
          }

          data = this.__data__ = new MapCache(pairs);
        }

        data.set(key, value);
        this.size = data.size;
        return this;
      }

      Stack.prototype.clear = stackClear;
      Stack.prototype['delete'] = stackDelete;
      Stack.prototype.get = stackGet;
      Stack.prototype.has = stackHas;
      Stack.prototype.set = stackSet;

      function arrayLikeKeys(value, inherited) {
        var isArr = isArray(value),
            isArg = !isArr && isArguments(value),
            isBuff = !isArr && !isArg && isBuffer(value),
            isType = !isArr && !isArg && !isBuff && isTypedArray(value),
            skipIndexes = isArr || isArg || isBuff || isType,
            result = skipIndexes ? baseTimes(value.length, String) : [],
            length = result.length;

        for (var key in value) {
          if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && (key == 'length' || isBuff && (key == 'offset' || key == 'parent') || isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset') || isIndex(key, length)))) {
            result.push(key);
          }
        }

        return result;
      }

      function arraySample(array) {
        var length = array.length;
        return length ? array[baseRandom(0, length - 1)] : undefined;
      }

      function arraySampleSize(array, n) {
        return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));
      }

      function arrayShuffle(array) {
        return shuffleSelf(copyArray(array));
      }

      function assignMergeValue(object, key, value) {
        if (value !== undefined && !eq(object[key], value) || value === undefined && !(key in object)) {
          baseAssignValue(object, key, value);
        }
      }

      function assignValue(object, key, value) {
        var objValue = object[key];

        if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || value === undefined && !(key in object)) {
          baseAssignValue(object, key, value);
        }
      }

      function assocIndexOf(array, key) {
        var length = array.length;

        while (length--) {
          if (eq(array[length][0], key)) {
            return length;
          }
        }

        return -1;
      }

      function baseAggregator(collection, setter, iteratee, accumulator) {
        baseEach(collection, function (value, key, collection) {
          setter(accumulator, value, iteratee(value), collection);
        });
        return accumulator;
      }

      function baseAssign(object, source) {
        return object && copyObject(source, keys(source), object);
      }

      function baseAssignIn(object, source) {
        return object && copyObject(source, keysIn(source), object);
      }

      function baseAssignValue(object, key, value) {
        if (key == '__proto__' && defineProperty) {
          defineProperty(object, key, {
            'configurable': true,
            'enumerable': true,
            'value': value,
            'writable': true
          });
        } else {
          object[key] = value;
        }
      }

      function baseAt(object, paths) {
        var index = -1,
            length = paths.length,
            result = Array(length),
            skip = object == null;

        while (++index < length) {
          result[index] = skip ? undefined : get(object, paths[index]);
        }

        return result;
      }

      function baseClamp(number, lower, upper) {
        if (number === number) {
          if (upper !== undefined) {
            number = number <= upper ? number : upper;
          }

          if (lower !== undefined) {
            number = number >= lower ? number : lower;
          }
        }

        return number;
      }

      function baseClone(value, bitmask, customizer, key, object, stack) {
        var result,
            isDeep = bitmask & CLONE_DEEP_FLAG,
            isFlat = bitmask & CLONE_FLAT_FLAG,
            isFull = bitmask & CLONE_SYMBOLS_FLAG;

        if (customizer) {
          result = object ? customizer(value, key, object, stack) : customizer(value);
        }

        if (result !== undefined) {
          return result;
        }

        if (!isObject(value)) {
          return value;
        }

        var isArr = isArray(value);

        if (isArr) {
          result = initCloneArray(value);

          if (!isDeep) {
            return copyArray(value, result);
          }
        } else {
          var tag = getTag(value),
              isFunc = tag == funcTag || tag == genTag;

          if (isBuffer(value)) {
            return cloneBuffer(value, isDeep);
          }

          if (tag == objectTag || tag == argsTag || isFunc && !object) {
            result = isFlat || isFunc ? {} : initCloneObject(value);

            if (!isDeep) {
              return isFlat ? copySymbolsIn(value, baseAssignIn(result, value)) : copySymbols(value, baseAssign(result, value));
            }
          } else {
            if (!cloneableTags[tag]) {
              return object ? value : {};
            }

            result = initCloneByTag(value, tag, isDeep);
          }
        }

        stack || (stack = new Stack());
        var stacked = stack.get(value);

        if (stacked) {
          return stacked;
        }

        stack.set(value, result);

        if (isSet(value)) {
          value.forEach(function (subValue) {
            result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));
          });
        } else if (isMap(value)) {
          value.forEach(function (subValue, key) {
            result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));
          });
        }

        var keysFunc = isFull ? isFlat ? getAllKeysIn : getAllKeys : isFlat ? keysIn : keys;
        var props = isArr ? undefined : keysFunc(value);
        arrayEach(props || value, function (subValue, key) {
          if (props) {
            key = subValue;
            subValue = value[key];
          }

          assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));
        });
        return result;
      }

      function baseConforms(source) {
        var props = keys(source);
        return function (object) {
          return baseConformsTo(object, source, props);
        };
      }

      function baseConformsTo(object, source, props) {
        var length = props.length;

        if (object == null) {
          return !length;
        }

        object = Object(object);

        while (length--) {
          var key = props[length],
              predicate = source[key],
              value = object[key];

          if (value === undefined && !(key in object) || !predicate(value)) {
            return false;
          }
        }

        return true;
      }

      function baseDelay(func, wait, args) {
        if (typeof func != 'function') {
          throw new TypeError(FUNC_ERROR_TEXT);
        }

        return setTimeout(function () {
          func.apply(undefined, args);
        }, wait);
      }

      function baseDifference(array, values, iteratee, comparator) {
        var index = -1,
            includes = arrayIncludes,
            isCommon = true,
            length = array.length,
            result = [],
            valuesLength = values.length;

        if (!length) {
          return result;
        }

        if (iteratee) {
          values = arrayMap(values, baseUnary(iteratee));
        }

        if (comparator) {
          includes = arrayIncludesWith;
          isCommon = false;
        } else if (values.length >= LARGE_ARRAY_SIZE) {
          includes = cacheHas;
          isCommon = false;
          values = new SetCache(values);
        }

        outer: while (++index < length) {
          var value = array[index],
              computed = iteratee == null ? value : iteratee(value);
          value = comparator || value !== 0 ? value : 0;

          if (isCommon && computed === computed) {
            var valuesIndex = valuesLength;

            while (valuesIndex--) {
              if (values[valuesIndex] === computed) {
                continue outer;
              }
            }

            result.push(value);
          } else if (!includes(values, computed, comparator)) {
            result.push(value);
          }
        }

        return result;
      }

      var baseEach = createBaseEach(baseForOwn);
      var baseEachRight = createBaseEach(baseForOwnRight, true);

      function baseEvery(collection, predicate) {
        var result = true;
        baseEach(collection, function (value, index, collection) {
          result = !!predicate(value, index, collection);
          return result;
        });
        return result;
      }

      function baseExtremum(array, iteratee, comparator) {
        var index = -1,
            length = array.length;

        while (++index < length) {
          var value = array[index],
              current = iteratee(value);

          if (current != null && (computed === undefined ? current === current && !isSymbol(current) : comparator(current, computed))) {
            var computed = current,
                result = value;
          }
        }

        return result;
      }

      function baseFill(array, value, start, end) {
        var length = array.length;
        start = toInteger(start);

        if (start < 0) {
          start = -start > length ? 0 : length + start;
        }

        end = end === undefined || end > length ? length : toInteger(end);

        if (end < 0) {
          end += length;
        }

        end = start > end ? 0 : toLength(end);

        while (start < end) {
          array[start++] = value;
        }

        return array;
      }

      function baseFilter(collection, predicate) {
        var result = [];
        baseEach(collection, function (value, index, collection) {
          if (predicate(value, index, collection)) {
            result.push(value);
          }
        });
        return result;
      }

      function baseFlatten(array, depth, predicate, isStrict, result) {
        var index = -1,
            length = array.length;
        predicate || (predicate = isFlattenable);
        result || (result = []);

        while (++index < length) {
          var value = array[index];

          if (depth > 0 && predicate(value)) {
            if (depth > 1) {
              baseFlatten(value, depth - 1, predicate, isStrict, result);
            } else {
              arrayPush(result, value);
            }
          } else if (!isStrict) {
            result[result.length] = value;
          }
        }

        return result;
      }

      var baseFor = createBaseFor();
      var baseForRight = createBaseFor(true);

      function baseForOwn(object, iteratee) {
        return object && baseFor(object, iteratee, keys);
      }

      function baseForOwnRight(object, iteratee) {
        return object && baseForRight(object, iteratee, keys);
      }

      function baseFunctions(object, props) {
        return arrayFilter(props, function (key) {
          return isFunction(object[key]);
        });
      }

      function baseGet(object, path) {
        path = castPath(path, object);
        var index = 0,
            length = path.length;

        while (object != null && index < length) {
          object = object[toKey(path[index++])];
        }

        return index && index == length ? object : undefined;
      }

      function baseGetAllKeys(object, keysFunc, symbolsFunc) {
        var result = keysFunc(object);
        return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
      }

      function baseGetTag(value) {
        if (value == null) {
          return value === undefined ? undefinedTag : nullTag;
        }

        return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
      }

      function baseGt(value, other) {
        return value > other;
      }

      function baseHas(object, key) {
        return object != null && hasOwnProperty.call(object, key);
      }

      function baseHasIn(object, key) {
        return object != null && key in Object(object);
      }

      function baseInRange(number, start, end) {
        return number >= nativeMin(start, end) && number < nativeMax(start, end);
      }

      function baseIntersection(arrays, iteratee, comparator) {
        var includes = comparator ? arrayIncludesWith : arrayIncludes,
            length = arrays[0].length,
            othLength = arrays.length,
            othIndex = othLength,
            caches = Array(othLength),
            maxLength = Infinity,
            result = [];

        while (othIndex--) {
          var array = arrays[othIndex];

          if (othIndex && iteratee) {
            array = arrayMap(array, baseUnary(iteratee));
          }

          maxLength = nativeMin(array.length, maxLength);
          caches[othIndex] = !comparator && (iteratee || length >= 120 && array.length >= 120) ? new SetCache(othIndex && array) : undefined;
        }

        array = arrays[0];
        var index = -1,
            seen = caches[0];

        outer: while (++index < length && result.length < maxLength) {
          var value = array[index],
              computed = iteratee ? iteratee(value) : value;
          value = comparator || value !== 0 ? value : 0;

          if (!(seen ? cacheHas(seen, computed) : includes(result, computed, comparator))) {
            othIndex = othLength;

            while (--othIndex) {
              var cache = caches[othIndex];

              if (!(cache ? cacheHas(cache, computed) : includes(arrays[othIndex], computed, comparator))) {
                continue outer;
              }
            }

            if (seen) {
              seen.push(computed);
            }

            result.push(value);
          }
        }

        return result;
      }

      function baseInverter(object, setter, iteratee, accumulator) {
        baseForOwn(object, function (value, key, object) {
          setter(accumulator, iteratee(value), key, object);
        });
        return accumulator;
      }

      function baseInvoke(object, path, args) {
        path = castPath(path, object);
        object = parent(object, path);
        var func = object == null ? object : object[toKey(last(path))];
        return func == null ? undefined : apply(func, object, args);
      }

      function baseIsArguments(value) {
        return isObjectLike(value) && baseGetTag(value) == argsTag;
      }

      function baseIsArrayBuffer(value) {
        return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;
      }

      function baseIsDate(value) {
        return isObjectLike(value) && baseGetTag(value) == dateTag;
      }

      function baseIsEqual(value, other, bitmask, customizer, stack) {
        if (value === other) {
          return true;
        }

        if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) {
          return value !== value && other !== other;
        }

        return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
      }

      function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
        var objIsArr = isArray(object),
            othIsArr = isArray(other),
            objTag = objIsArr ? arrayTag : getTag(object),
            othTag = othIsArr ? arrayTag : getTag(other);
        objTag = objTag == argsTag ? objectTag : objTag;
        othTag = othTag == argsTag ? objectTag : othTag;
        var objIsObj = objTag == objectTag,
            othIsObj = othTag == objectTag,
            isSameTag = objTag == othTag;

        if (isSameTag && isBuffer(object)) {
          if (!isBuffer(other)) {
            return false;
          }

          objIsArr = true;
          objIsObj = false;
        }

        if (isSameTag && !objIsObj) {
          stack || (stack = new Stack());
          return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
        }

        if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
          var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
              othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');

          if (objIsWrapped || othIsWrapped) {
            var objUnwrapped = objIsWrapped ? object.value() : object,
                othUnwrapped = othIsWrapped ? other.value() : other;
            stack || (stack = new Stack());
            return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
          }
        }

        if (!isSameTag) {
          return false;
        }

        stack || (stack = new Stack());
        return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
      }

      function baseIsMap(value) {
        return isObjectLike(value) && getTag(value) == mapTag;
      }

      function baseIsMatch(object, source, matchData, customizer) {
        var index = matchData.length,
            length = index,
            noCustomizer = !customizer;

        if (object == null) {
          return !length;
        }

        object = Object(object);

        while (index--) {
          var data = matchData[index];

          if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) {
            return false;
          }
        }

        while (++index < length) {
          data = matchData[index];
          var key = data[0],
              objValue = object[key],
              srcValue = data[1];

          if (noCustomizer && data[2]) {
            if (objValue === undefined && !(key in object)) {
              return false;
            }
          } else {
            var stack = new Stack();

            if (customizer) {
              var result = customizer(objValue, srcValue, key, object, source, stack);
            }

            if (!(result === undefined ? baseIsEqual(srcValue, objValue, 3, customizer, stack) : result)) {
              return false;
            }
          }
        }

        return true;
      }

      function baseIsNative(value) {
        if (!isObject(value) || isMasked(value)) {
          return false;
        }

        var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
        return pattern.test(toSource(value));
      }

      function baseIsRegExp(value) {
        return isObjectLike(value) && baseGetTag(value) == regexpTag;
      }

      function baseIsSet(value) {
        return isObjectLike(value) && getTag(value) == setTag;
      }

      function baseIsTypedArray(value) {
        return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
      }

      function baseIteratee(value) {
        if (typeof value == 'function') {
          return value;
        }

        if (value == null) {
          return identity;
        }

        if (typeof value == 'object') {
          return isArray(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value);
        }

        return property(value);
      }

      function baseKeys(object) {
        if (!isPrototype(object)) {
          return nativeKeys(object);
        }

        var result = [];

        for (var key in Object(object)) {
          if (hasOwnProperty.call(object, key) && key != 'constructor') {
            result.push(key);
          }
        }

        return result;
      }

      function baseKeysIn(object) {
        if (!isObject(object)) {
          return nativeKeysIn(object);
        }

        var isProto = isPrototype(object),
            result = [];

        for (var key in object) {
          if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {
            result.push(key);
          }
        }

        return result;
      }

      function baseLt(value, other) {
        return value < other;
      }

      function baseMap(collection, iteratee) {
        var index = -1,
            result = isArrayLike(collection) ? Array(collection.length) : [];
        baseEach(collection, function (value, key, collection) {
          result[++index] = iteratee(value, key, collection);
        });
        return result;
      }

      function baseMatches(source) {
        var matchData = getMatchData(source);

        if (matchData.length == 1 && matchData[0][2]) {
          return matchesStrictComparable(matchData[0][0], matchData[0][1]);
        }

        return function (object) {
          return object === source || baseIsMatch(object, source, matchData);
        };
      }

      function baseMatchesProperty(path, srcValue) {
        if (isKey(path) && isStrictComparable(srcValue)) {
          return matchesStrictComparable(toKey(path), srcValue);
        }

        return function (object) {
          var objValue = get(object, path);
          return objValue === undefined && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, 3);
        };
      }

      function baseMerge(object, source, srcIndex, customizer, stack) {
        if (object === source) {
          return;
        }

        baseFor(source, function (srcValue, key) {
          stack || (stack = new Stack());

          if (isObject(srcValue)) {
            baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);
          } else {
            var newValue = customizer ? customizer(safeGet(object, key), srcValue, key + '', object, source, stack) : undefined;

            if (newValue === undefined) {
              newValue = srcValue;
            }

            assignMergeValue(object, key, newValue);
          }
        }, keysIn);
      }

      function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {
        var objValue = safeGet(object, key),
            srcValue = safeGet(source, key),
            stacked = stack.get(srcValue);

        if (stacked) {
          assignMergeValue(object, key, stacked);
          return;
        }

        var newValue = customizer ? customizer(objValue, srcValue, key + '', object, source, stack) : undefined;
        var isCommon = newValue === undefined;

        if (isCommon) {
          var isArr = isArray(srcValue),
              isBuff = !isArr && isBuffer(srcValue),
              isTyped = !isArr && !isBuff && isTypedArray(srcValue);
          newValue = srcValue;

          if (isArr || isBuff || isTyped) {
            if (isArray(objValue)) {
              newValue = objValue;
            } else if (isArrayLikeObject(objValue)) {
              newValue = copyArray(objValue);
            } else if (isBuff) {
              isCommon = false;
              newValue = cloneBuffer(srcValue, true);
            } else if (isTyped) {
              isCommon = false;
              newValue = cloneTypedArray(srcValue, true);
            } else {
              newValue = [];
            }
          } else if (isPlainObject(srcValue) || isArguments(srcValue)) {
            newValue = objValue;

            if (isArguments(objValue)) {
              newValue = toPlainObject(objValue);
            } else if (!isObject(objValue) || isFunction(objValue)) {
              newValue = initCloneObject(srcValue);
            }
          } else {
            isCommon = false;
          }
        }

        if (isCommon) {
          stack.set(srcValue, newValue);
          mergeFunc(newValue, srcValue, srcIndex, customizer, stack);
          stack['delete'](srcValue);
        }

        assignMergeValue(object, key, newValue);
      }

      function baseNth(array, n) {
        var length = array.length;

        if (!length) {
          return;
        }

        n += n < 0 ? length : 0;
        return isIndex(n, length) ? array[n] : undefined;
      }

      function baseOrderBy(collection, iteratees, orders) {
        if (iteratees.length) {
          iteratees = arrayMap(iteratees, function (iteratee) {
            if (isArray(iteratee)) {
              return function (value) {
                return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);
              };
            }

            return iteratee;
          });
        } else {
          iteratees = [identity];
        }

        var index = -1;
        iteratees = arrayMap(iteratees, baseUnary(getIteratee()));
        var result = baseMap(collection, function (value, key, collection) {
          var criteria = arrayMap(iteratees, function (iteratee) {
            return iteratee(value);
          });
          return {
            'criteria': criteria,
            'index': ++index,
            'value': value
          };
        });
        return baseSortBy(result, function (object, other) {
          return compareMultiple(object, other, orders);
        });
      }

      function basePick(object, paths) {
        return basePickBy(object, paths, function (value, path) {
          return hasIn(object, path);
        });
      }

      function basePickBy(object, paths, predicate) {
        var index = -1,
            length = paths.length,
            result = {};

        while (++index < length) {
          var path = paths[index],
              value = baseGet(object, path);

          if (predicate(value, path)) {
            baseSet(result, castPath(path, object), value);
          }
        }

        return result;
      }

      function basePropertyDeep(path) {
        return function (object) {
          return baseGet(object, path);
        };
      }

      function basePullAll(array, values, iteratee, comparator) {
        var indexOf = comparator ? baseIndexOfWith : baseIndexOf,
            index = -1,
            length = values.length,
            seen = array;

        if (array === values) {
          values = copyArray(values);
        }

        if (iteratee) {
          seen = arrayMap(array, baseUnary(iteratee));
        }

        while (++index < length) {
          var fromIndex = 0,
              value = values[index],
              computed = iteratee ? iteratee(value) : value;

          while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {
            if (seen !== array) {
              splice.call(seen, fromIndex, 1);
            }

            splice.call(array, fromIndex, 1);
          }
        }

        return array;
      }

      function basePullAt(array, indexes) {
        var length = array ? indexes.length : 0,
            lastIndex = length - 1;

        while (length--) {
          var index = indexes[length];

          if (length == lastIndex || index !== previous) {
            var previous = index;

            if (isIndex(index)) {
              splice.call(array, index, 1);
            } else {
              baseUnset(array, index);
            }
          }
        }

        return array;
      }

      function baseRandom(lower, upper) {
        return lower + nativeFloor(nativeRandom() * (upper - lower + 1));
      }

      function baseRange(start, end, step, fromRight) {
        var index = -1,
            length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),
            result = Array(length);

        while (length--) {
          result[fromRight ? length : ++index] = start;
          start += step;
        }

        return result;
      }

      function baseRepeat(string, n) {
        var result = '';

        if (!string || n < 1 || n > MAX_SAFE_INTEGER) {
          return result;
        }

        do {
          if (n % 2) {
            result += string;
          }

          n = nativeFloor(n / 2);

          if (n) {
            string += string;
          }
        } while (n);

        return result;
      }

      function baseRest(func, start) {
        return setToString(overRest(func, start, identity), func + '');
      }

      function baseSample(collection) {
        return arraySample(values(collection));
      }

      function baseSampleSize(collection, n) {
        var array = values(collection);
        return shuffleSelf(array, baseClamp(n, 0, array.length));
      }

      function baseSet(object, path, value, customizer) {
        if (!isObject(object)) {
          return object;
        }

        path = castPath(path, object);
        var index = -1,
            length = path.length,
            lastIndex = length - 1,
            nested = object;

        while (nested != null && ++index < length) {
          var key = toKey(path[index]),
              newValue = value;

          if (key === '__proto__' || key === 'constructor' || key === 'prototype') {
            return object;
          }

          if (index != lastIndex) {
            var objValue = nested[key];
            newValue = customizer ? customizer(objValue, key, nested) : undefined;

            if (newValue === undefined) {
              newValue = isObject(objValue) ? objValue : isIndex(path[index + 1]) ? [] : {};
            }
          }

          assignValue(nested, key, newValue);
          nested = nested[key];
        }

        return object;
      }

      var baseSetData = !metaMap ? identity : function (func, data) {
        metaMap.set(func, data);
        return func;
      };
      var baseSetToString = !defineProperty ? identity : function (func, string) {
        return defineProperty(func, 'toString', {
          'configurable': true,
          'enumerable': false,
          'value': constant(string),
          'writable': true
        });
      };

      function baseShuffle(collection) {
        return shuffleSelf(values(collection));
      }

      function baseSlice(array, start, end) {
        var index = -1,
            length = array.length;

        if (start < 0) {
          start = -start > length ? 0 : length + start;
        }

        end = end > length ? length : end;

        if (end < 0) {
          end += length;
        }

        length = start > end ? 0 : end - start >>> 0;
        start >>>= 0;
        var result = Array(length);

        while (++index < length) {
          result[index] = array[index + start];
        }

        return result;
      }

      function baseSome(collection, predicate) {
        var result;
        baseEach(collection, function (value, index, collection) {
          result = predicate(value, index, collection);
          return !result;
        });
        return !!result;
      }

      function baseSortedIndex(array, value, retHighest) {
        var low = 0,
            high = array == null ? low : array.length;

        if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {
          while (low < high) {
            var mid = low + high >>> 1,
                computed = array[mid];

            if (computed !== null && !isSymbol(computed) && (retHighest ? computed <= value : computed < value)) {
              low = mid + 1;
            } else {
              high = mid;
            }
          }

          return high;
        }

        return baseSortedIndexBy(array, value, identity, retHighest);
      }

      function baseSortedIndexBy(array, value, iteratee, retHighest) {
        var low = 0,
            high = array == null ? 0 : array.length;

        if (high === 0) {
          return 0;
        }

        value = iteratee(value);
        var valIsNaN = value !== value,
            valIsNull = value === null,
            valIsSymbol = isSymbol(value),
            valIsUndefined = value === undefined;

        while (low < high) {
          var mid = nativeFloor((low + high) / 2),
              computed = iteratee(array[mid]),
              othIsDefined = computed !== undefined,
              othIsNull = computed === null,
              othIsReflexive = computed === computed,
              othIsSymbol = isSymbol(computed);

          if (valIsNaN) {
            var setLow = retHighest || othIsReflexive;
          } else if (valIsUndefined) {
            setLow = othIsReflexive && (retHighest || othIsDefined);
          } else if (valIsNull) {
            setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);
          } else if (valIsSymbol) {
            setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);
          } else if (othIsNull || othIsSymbol) {
            setLow = false;
          } else {
            setLow = retHighest ? computed <= value : computed < value;
          }

          if (setLow) {
            low = mid + 1;
          } else {
            high = mid;
          }
        }

        return nativeMin(high, MAX_ARRAY_INDEX);
      }

      function baseSortedUniq(array, iteratee) {
        var index = -1,
            length = array.length,
            resIndex = 0,
            result = [];

        while (++index < length) {
          var value = array[index],
              computed = iteratee ? iteratee(value) : value;

          if (!index || !eq(computed, seen)) {
            var seen = computed;
            result[resIndex++] = value === 0 ? 0 : value;
          }
        }

        return result;
      }

      function baseToNumber(value) {
        if (typeof value == 'number') {
          return value;
        }

        if (isSymbol(value)) {
          return NAN;
        }

        return +value;
      }

      function baseToString(value) {
        if (typeof value == 'string') {
          return value;
        }

        if (isArray(value)) {
          return arrayMap(value, baseToString) + '';
        }

        if (isSymbol(value)) {
          return symbolToString ? symbolToString.call(value) : '';
        }

        var result = value + '';
        return result == '0' && 1 / value == -(1 / 0) ? '-0' : result;
      }

      function baseUniq(array, iteratee, comparator) {
        var index = -1,
            includes = arrayIncludes,
            length = array.length,
            isCommon = true,
            result = [],
            seen = result;

        if (comparator) {
          isCommon = false;
          includes = arrayIncludesWith;
        } else if (length >= LARGE_ARRAY_SIZE) {
          var set = iteratee ? null : createSet(array);

          if (set) {
            return setToArray(set);
          }

          isCommon = false;
          includes = cacheHas;
          seen = new SetCache();
        } else {
          seen = iteratee ? [] : result;
        }

        outer: while (++index < length) {
          var value = array[index],
              computed = iteratee ? iteratee(value) : value;
          value = comparator || value !== 0 ? value : 0;

          if (isCommon && computed === computed) {
            var seenIndex = seen.length;

            while (seenIndex--) {
              if (seen[seenIndex] === computed) {
                continue outer;
              }
            }

            if (iteratee) {
              seen.push(computed);
            }

            result.push(value);
          } else if (!includes(seen, computed, comparator)) {
            if (seen !== result) {
              seen.push(computed);
            }

            result.push(value);
          }
        }

        return result;
      }

      function baseUnset(object, path) {
        path = castPath(path, object);
        object = parent(object, path);
        return object == null || delete object[toKey(last(path))];
      }

      function baseUpdate(object, path, updater, customizer) {
        return baseSet(object, path, updater(baseGet(object, path)), customizer);
      }

      function baseWhile(array, predicate, isDrop, fromRight) {
        var length = array.length,
            index = fromRight ? length : -1;

        while ((fromRight ? index-- : ++index < length) && predicate(array[index], index, array)) {}

        return isDrop ? baseSlice(array, fromRight ? 0 : index, fromRight ? index + 1 : length) : baseSlice(array, fromRight ? index + 1 : 0, fromRight ? length : index);
      }

      function baseWrapperValue(value, actions) {
        var result = value;

        if (result instanceof LazyWrapper) {
          result = result.value();
        }

        return arrayReduce(actions, function (result, action) {
          return action.func.apply(action.thisArg, arrayPush([result], action.args));
        }, result);
      }

      function baseXor(arrays, iteratee, comparator) {
        var length = arrays.length;

        if (length < 2) {
          return length ? baseUniq(arrays[0]) : [];
        }

        var index = -1,
            result = Array(length);

        while (++index < length) {
          var array = arrays[index],
              othIndex = -1;

          while (++othIndex < length) {
            if (othIndex != index) {
              result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);
            }
          }
        }

        return baseUniq(baseFlatten(result, 1), iteratee, comparator);
      }

      function baseZipObject(props, values, assignFunc) {
        var index = -1,
            length = props.length,
            valsLength = values.length,
            result = {};

        while (++index < length) {
          var value = index < valsLength ? values[index] : undefined;
          assignFunc(result, props[index], value);
        }

        return result;
      }

      function castArrayLikeObject(value) {
        return isArrayLikeObject(value) ? value : [];
      }

      function castFunction(value) {
        return typeof value == 'function' ? value : identity;
      }

      function castPath(value, object) {
        if (isArray(value)) {
          return value;
        }

        return isKey(value, object) ? [value] : stringToPath(toString(value));
      }

      var castRest = baseRest;

      function castSlice(array, start, end) {
        var length = array.length;
        end = end === undefined ? length : end;
        return !start && end >= length ? array : baseSlice(array, start, end);
      }

      var clearTimeout = ctxClearTimeout || function (id) {
        return root.clearTimeout(id);
      };

      function cloneBuffer(buffer, isDeep) {
        if (isDeep) {
          return buffer.slice();
        }

        var length = buffer.length,
            result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
        buffer.copy(result);
        return result;
      }

      function cloneArrayBuffer(arrayBuffer) {
        var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
        new Uint8Array(result).set(new Uint8Array(arrayBuffer));
        return result;
      }

      function cloneDataView(dataView, isDeep) {
        var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;
        return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
      }

      function cloneRegExp(regexp) {
        var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
        result.lastIndex = regexp.lastIndex;
        return result;
      }

      function cloneSymbol(symbol) {
        return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};
      }

      function cloneTypedArray(typedArray, isDeep) {
        var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
        return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
      }

      function compareAscending(value, other) {
        if (value !== other) {
          var valIsDefined = value !== undefined,
              valIsNull = value === null,
              valIsReflexive = value === value,
              valIsSymbol = isSymbol(value);
          var othIsDefined = other !== undefined,
              othIsNull = other === null,
              othIsReflexive = other === other,
              othIsSymbol = isSymbol(other);

          if (!othIsNull && !othIsSymbol && !valIsSymbol && value > other || valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol || valIsNull && othIsDefined && othIsReflexive || !valIsDefined && othIsReflexive || !valIsReflexive) {
            return 1;
          }

          if (!valIsNull && !valIsSymbol && !othIsSymbol && value < other || othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol || othIsNull && valIsDefined && valIsReflexive || !othIsDefined && valIsReflexive || !othIsReflexive) {
            return -1;
          }
        }

        return 0;
      }

      function compareMultiple(object, other, orders) {
        var index = -1,
            objCriteria = object.criteria,
            othCriteria = other.criteria,
            length = objCriteria.length,
            ordersLength = orders.length;

        while (++index < length) {
          var result = compareAscending(objCriteria[index], othCriteria[index]);

          if (result) {
            if (index >= ordersLength) {
              return result;
            }

            var order = orders[index];
            return result * (order == 'desc' ? -1 : 1);
          }
        }

        return object.index - other.index;
      }

      function composeArgs(args, partials, holders, isCurried) {
        var argsIndex = -1,
            argsLength = args.length,
            holdersLength = holders.length,
            leftIndex = -1,
            leftLength = partials.length,
            rangeLength = nativeMax(argsLength - holdersLength, 0),
            result = Array(leftLength + rangeLength),
            isUncurried = !isCurried;

        while (++leftIndex < leftLength) {
          result[leftIndex] = partials[leftIndex];
        }

        while (++argsIndex < holdersLength) {
          if (isUncurried || argsIndex < argsLength) {
            result[holders[argsIndex]] = args[argsIndex];
          }
        }

        while (rangeLength--) {
          result[leftIndex++] = args[argsIndex++];
        }

        return result;
      }

      function composeArgsRight(args, partials, holders, isCurried) {
        var argsIndex = -1,
            argsLength = args.length,
            holdersIndex = -1,
            holdersLength = holders.length,
            rightIndex = -1,
            rightLength = partials.length,
            rangeLength = nativeMax(argsLength - holdersLength, 0),
            result = Array(rangeLength + rightLength),
            isUncurried = !isCurried;

        while (++argsIndex < rangeLength) {
          result[argsIndex] = args[argsIndex];
        }

        var offset = argsIndex;

        while (++rightIndex < rightLength) {
          result[offset + rightIndex] = partials[rightIndex];
        }

        while (++holdersIndex < holdersLength) {
          if (isUncurried || argsIndex < argsLength) {
            result[offset + holders[holdersIndex]] = args[argsIndex++];
          }
        }

        return result;
      }

      function copyArray(source, array) {
        var index = -1,
            length = source.length;
        array || (array = Array(length));

        while (++index < length) {
          array[index] = source[index];
        }

        return array;
      }

      function copyObject(source, props, object, customizer) {
        var isNew = !object;
        object || (object = {});
        var index = -1,
            length = props.length;

        while (++index < length) {
          var key = props[index];
          var newValue = customizer ? customizer(object[key], source[key], key, object, source) : undefined;

          if (newValue === undefined) {
            newValue = source[key];
          }

          if (isNew) {
            baseAssignValue(object, key, newValue);
          } else {
            assignValue(object, key, newValue);
          }
        }

        return object;
      }

      function copySymbols(source, object) {
        return copyObject(source, getSymbols(source), object);
      }

      function copySymbolsIn(source, object) {
        return copyObject(source, getSymbolsIn(source), object);
      }

      function createAggregator(setter, initializer) {
        return function (collection, iteratee) {
          var func = isArray(collection) ? arrayAggregator : baseAggregator,
              accumulator = initializer ? initializer() : {};
          return func(collection, setter, getIteratee(iteratee, 2), accumulator);
        };
      }

      function createAssigner(assigner) {
        return baseRest(function (object, sources) {
          var index = -1,
              length = sources.length,
              customizer = length > 1 ? sources[length - 1] : undefined,
              guard = length > 2 ? sources[2] : undefined;
          customizer = assigner.length > 3 && typeof customizer == 'function' ? (length--, customizer) : undefined;

          if (guard && isIterateeCall(sources[0], sources[1], guard)) {
            customizer = length < 3 ? undefined : customizer;
            length = 1;
          }

          object = Object(object);

          while (++index < length) {
            var source = sources[index];

            if (source) {
              assigner(object, source, index, customizer);
            }
          }

          return object;
        });
      }

      function createBaseEach(eachFunc, fromRight) {
        return function (collection, iteratee) {
          if (collection == null) {
            return collection;
          }

          if (!isArrayLike(collection)) {
            return eachFunc(collection, iteratee);
          }

          var length = collection.length,
              index = fromRight ? length : -1,
              iterable = Object(collection);

          while (fromRight ? index-- : ++index < length) {
            if (iteratee(iterable[index], index, iterable) === false) {
              break;
            }
          }

          return collection;
        };
      }

      function createBaseFor(fromRight) {
        return function (object, iteratee, keysFunc) {
          var index = -1,
              iterable = Object(object),
              props = keysFunc(object),
              length = props.length;

          while (length--) {
            var key = props[fromRight ? length : ++index];

            if (iteratee(iterable[key], key, iterable) === false) {
              break;
            }
          }

          return object;
        };
      }

      function createBind(func, bitmask, thisArg) {
        var isBind = bitmask & WRAP_BIND_FLAG,
            Ctor = createCtor(func);

        function wrapper() {
          var fn = this && this !== root && this instanceof wrapper ? Ctor : func;
          return fn.apply(isBind ? thisArg : this, arguments);
        }

        return wrapper;
      }

      function createCaseFirst(methodName) {
        return function (string) {
          string = toString(string);
          var strSymbols = hasUnicode(string) ? stringToArray(string) : undefined;
          var chr = strSymbols ? strSymbols[0] : string.charAt(0);
          var trailing = strSymbols ? castSlice(strSymbols, 1).join('') : string.slice(1);
          return chr[methodName]() + trailing;
        };
      }

      function createCompounder(callback) {
        return function (string) {
          return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');
        };
      }

      function createCtor(Ctor) {
        return function () {
          var args = arguments;

          switch (args.length) {
            case 0:
              return new Ctor();

            case 1:
              return new Ctor(args[0]);

            case 2:
              return new Ctor(args[0], args[1]);

            case 3:
              return new Ctor(args[0], args[1], args[2]);

            case 4:
              return new Ctor(args[0], args[1], args[2], args[3]);

            case 5:
              return new Ctor(args[0], args[1], args[2], args[3], args[4]);

            case 6:
              return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);

            case 7:
              return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
          }

          var thisBinding = baseCreate(Ctor.prototype),
              result = Ctor.apply(thisBinding, args);
          return isObject(result) ? result : thisBinding;
        };
      }

      function createCurry(func, bitmask, arity) {
        var Ctor = createCtor(func);

        function wrapper() {
          var length = arguments.length,
              args = Array(length),
              index = length,
              placeholder = getHolder(wrapper);

          while (index--) {
            args[index] = arguments[index];
          }

          var holders = length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder ? [] : replaceHolders(args, placeholder);
          length -= holders.length;

          if (length < arity) {
            return createRecurry(func, bitmask, createHybrid, wrapper.placeholder, undefined, args, holders, undefined, undefined, arity - length);
          }

          var fn = this && this !== root && this instanceof wrapper ? Ctor : func;
          return apply(fn, this, args);
        }

        return wrapper;
      }

      function createFind(findIndexFunc) {
        return function (collection, predicate, fromIndex) {
          var iterable = Object(collection);

          if (!isArrayLike(collection)) {
            var iteratee = getIteratee(predicate, 3);
            collection = keys(collection);

            predicate = function predicate(key) {
              return iteratee(iterable[key], key, iterable);
            };
          }

          var index = findIndexFunc(collection, predicate, fromIndex);
          return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;
        };
      }

      function createFlow(fromRight) {
        return flatRest(function (funcs) {
          var length = funcs.length,
              index = length,
              prereq = LodashWrapper.prototype.thru;

          if (fromRight) {
            funcs.reverse();
          }

          while (index--) {
            var func = funcs[index];

            if (typeof func != 'function') {
              throw new TypeError(FUNC_ERROR_TEXT);
            }

            if (prereq && !wrapper && getFuncName(func) == 'wrapper') {
              var wrapper = new LodashWrapper([], true);
            }
          }

          index = wrapper ? index : length;

          while (++index < length) {
            func = funcs[index];
            var funcName = getFuncName(func),
                data = funcName == 'wrapper' ? getData(func) : undefined;

            if (data && isLaziable(data[0]) && data[1] == 424 && !data[4].length && data[9] == 1) {
              wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);
            } else {
              wrapper = func.length == 1 && isLaziable(func) ? wrapper[funcName]() : wrapper.thru(func);
            }
          }

          return function () {
            var args = arguments,
                value = args[0];

            if (wrapper && args.length == 1 && isArray(value)) {
              return wrapper.plant(value).value();
            }

            var index = 0,
                result = length ? funcs[index].apply(this, args) : value;

            while (++index < length) {
              result = funcs[index].call(this, result);
            }

            return result;
          };
        });
      }

      function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {
        var isAry = bitmask & WRAP_ARY_FLAG,
            isBind = bitmask & WRAP_BIND_FLAG,
            isBindKey = bitmask & WRAP_BIND_KEY_FLAG,
            isCurried = bitmask & 24,
            isFlip = bitmask & WRAP_FLIP_FLAG,
            Ctor = isBindKey ? undefined : createCtor(func);

        function wrapper() {
          var length = arguments.length,
              args = Array(length),
              index = length;

          while (index--) {
            args[index] = arguments[index];
          }

          if (isCurried) {
            var placeholder = getHolder(wrapper),
                holdersCount = countHolders(args, placeholder);
          }

          if (partials) {
            args = composeArgs(args, partials, holders, isCurried);
          }

          if (partialsRight) {
            args = composeArgsRight(args, partialsRight, holdersRight, isCurried);
          }

          length -= holdersCount;

          if (isCurried && length < arity) {
            var newHolders = replaceHolders(args, placeholder);
            return createRecurry(func, bitmask, createHybrid, wrapper.placeholder, thisArg, args, newHolders, argPos, ary, arity - length);
          }

          var thisBinding = isBind ? thisArg : this,
              fn = isBindKey ? thisBinding[func] : func;
          length = args.length;

          if (argPos) {
            args = reorder(args, argPos);
          } else if (isFlip && length > 1) {
            args.reverse();
          }

          if (isAry && ary < length) {
            args.length = ary;
          }

          if (this && this !== root && this instanceof wrapper) {
            fn = Ctor || createCtor(fn);
          }

          return fn.apply(thisBinding, args);
        }

        return wrapper;
      }

      function createInverter(setter, toIteratee) {
        return function (object, iteratee) {
          return baseInverter(object, setter, toIteratee(iteratee), {});
        };
      }

      function createMathOperation(operator, defaultValue) {
        return function (value, other) {
          var result;

          if (value === undefined && other === undefined) {
            return defaultValue;
          }

          if (value !== undefined) {
            result = value;
          }

          if (other !== undefined) {
            if (result === undefined) {
              return other;
            }

            if (typeof value == 'string' || typeof other == 'string') {
              value = baseToString(value);
              other = baseToString(other);
            } else {
              value = baseToNumber(value);
              other = baseToNumber(other);
            }

            result = operator(value, other);
          }

          return result;
        };
      }

      function createOver(arrayFunc) {
        return flatRest(function (iteratees) {
          iteratees = arrayMap(iteratees, baseUnary(getIteratee()));
          return baseRest(function (args) {
            var thisArg = this;
            return arrayFunc(iteratees, function (iteratee) {
              return apply(iteratee, thisArg, args);
            });
          });
        });
      }

      function createPadding(length, chars) {
        chars = chars === undefined ? ' ' : baseToString(chars);
        var charsLength = chars.length;

        if (charsLength < 2) {
          return charsLength ? baseRepeat(chars, length) : chars;
        }

        var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));
        return hasUnicode(chars) ? castSlice(stringToArray(result), 0, length).join('') : result.slice(0, length);
      }

      function createPartial(func, bitmask, thisArg, partials) {
        var isBind = bitmask & WRAP_BIND_FLAG,
            Ctor = createCtor(func);

        function wrapper() {
          var argsIndex = -1,
              argsLength = arguments.length,
              leftIndex = -1,
              leftLength = partials.length,
              args = Array(leftLength + argsLength),
              fn = this && this !== root && this instanceof wrapper ? Ctor : func;

          while (++leftIndex < leftLength) {
            args[leftIndex] = partials[leftIndex];
          }

          while (argsLength--) {
            args[leftIndex++] = arguments[++argsIndex];
          }

          return apply(fn, isBind ? thisArg : this, args);
        }

        return wrapper;
      }

      function createRange(fromRight) {
        return function (start, end, step) {
          if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {
            end = step = undefined;
          }

          start = toFinite(start);

          if (end === undefined) {
            end = start;
            start = 0;
          } else {
            end = toFinite(end);
          }

          step = step === undefined ? start < end ? 1 : -1 : toFinite(step);
          return baseRange(start, end, step, fromRight);
        };
      }

      function createRelationalOperation(operator) {
        return function (value, other) {
          if (!(typeof value == 'string' && typeof other == 'string')) {
            value = toNumber(value);
            other = toNumber(other);
          }

          return operator(value, other);
        };
      }

      function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {
        var isCurry = bitmask & WRAP_CURRY_FLAG,
            newHolders = isCurry ? holders : undefined,
            newHoldersRight = isCurry ? undefined : holders,
            newPartials = isCurry ? partials : undefined,
            newPartialsRight = isCurry ? undefined : partials;
        bitmask |= isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG;
        bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);

        if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {
          bitmask &= -4;
        }

        var newData = [func, bitmask, thisArg, newPartials, newHolders, newPartialsRight, newHoldersRight, argPos, ary, arity];
        var result = wrapFunc.apply(undefined, newData);

        if (isLaziable(func)) {
          setData(result, newData);
        }

        result.placeholder = placeholder;
        return setWrapToString(result, func, bitmask);
      }

      function createRound(methodName) {
        var func = Math[methodName];
        return function (number, precision) {
          number = toNumber(number);
          precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);

          if (precision && nativeIsFinite(number)) {
            var pair = (toString(number) + 'e').split('e'),
                value = func(pair[0] + 'e' + (+pair[1] + precision));
            pair = (toString(value) + 'e').split('e');
            return +(pair[0] + 'e' + (+pair[1] - precision));
          }

          return func(number);
        };
      }

      var createSet = !(Set && 1 / setToArray(new Set([, -0]))[1] == INFINITY) ? noop : function (values) {
        return new Set(values);
      };

      function createToPairs(keysFunc) {
        return function (object) {
          var tag = getTag(object);

          if (tag == mapTag) {
            return mapToArray(object);
          }

          if (tag == setTag) {
            return setToPairs(object);
          }

          return baseToPairs(object, keysFunc(object));
        };
      }

      function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {
        var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;

        if (!isBindKey && typeof func != 'function') {
          throw new TypeError(FUNC_ERROR_TEXT);
        }

        var length = partials ? partials.length : 0;

        if (!length) {
          bitmask &= -97;
          partials = holders = undefined;
        }

        ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);
        arity = arity === undefined ? arity : toInteger(arity);
        length -= holders ? holders.length : 0;

        if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {
          var partialsRight = partials,
              holdersRight = holders;
          partials = holders = undefined;
        }

        var data = isBindKey ? undefined : getData(func);
        var newData = [func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity];

        if (data) {
          mergeData(newData, data);
        }

        func = newData[0];
        bitmask = newData[1];
        thisArg = newData[2];
        partials = newData[3];
        holders = newData[4];
        arity = newData[9] = newData[9] === undefined ? isBindKey ? 0 : func.length : nativeMax(newData[9] - length, 0);

        if (!arity && bitmask & 24) {
          bitmask &= -25;
        }

        if (!bitmask || bitmask == WRAP_BIND_FLAG) {
          var result = createBind(func, bitmask, thisArg);
        } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {
          result = createCurry(func, bitmask, arity);
        } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == 33) && !holders.length) {
          result = createPartial(func, bitmask, thisArg, partials);
        } else {
          result = createHybrid.apply(undefined, newData);
        }

        var setter = data ? baseSetData : setData;
        return setWrapToString(setter(result, newData), func, bitmask);
      }

      function customDefaultsAssignIn(objValue, srcValue, key, object) {
        if (objValue === undefined || eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key)) {
          return srcValue;
        }

        return objValue;
      }

      function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {
        if (isObject(objValue) && isObject(srcValue)) {
          stack.set(srcValue, objValue);
          baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);
          stack['delete'](srcValue);
        }

        return objValue;
      }

      function customOmitClone(value) {
        return isPlainObject(value) ? undefined : value;
      }

      function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
        var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
            arrLength = array.length,
            othLength = other.length;

        if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
          return false;
        }

        var arrStacked = stack.get(array);
        var othStacked = stack.get(other);

        if (arrStacked && othStacked) {
          return arrStacked == other && othStacked == array;
        }

        var index = -1,
            result = true,
            seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : undefined;
        stack.set(array, other);
        stack.set(other, array);

        while (++index < arrLength) {
          var arrValue = array[index],
              othValue = other[index];

          if (customizer) {
            var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);
          }

          if (compared !== undefined) {
            if (compared) {
              continue;
            }

            result = false;
            break;
          }

          if (seen) {
            if (!arraySome(other, function (othValue, othIndex) {
              if (!cacheHas(seen, othIndex) && (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
                return seen.push(othIndex);
              }
            })) {
              result = false;
              break;
            }
          } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
            result = false;
            break;
          }
        }

        stack['delete'](array);
        stack['delete'](other);
        return result;
      }

      function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
        switch (tag) {
          case dataViewTag:
            if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {
              return false;
            }

            object = object.buffer;
            other = other.buffer;

          case arrayBufferTag:
            if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array(object), new Uint8Array(other))) {
              return false;
            }

            return true;

          case boolTag:
          case dateTag:
          case numberTag:
            return eq(+object, +other);

          case errorTag:
            return object.name == other.name && object.message == other.message;

          case regexpTag:
          case stringTag:
            return object == other + '';

          case mapTag:
            var convert = mapToArray;

          case setTag:
            var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
            convert || (convert = setToArray);

            if (object.size != other.size && !isPartial) {
              return false;
            }

            var stacked = stack.get(object);

            if (stacked) {
              return stacked == other;
            }

            bitmask |= COMPARE_UNORDERED_FLAG;
            stack.set(object, other);
            var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
            stack['delete'](object);
            return result;

          case symbolTag:
            if (symbolValueOf) {
              return symbolValueOf.call(object) == symbolValueOf.call(other);
            }

        }

        return false;
      }

      function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
        var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
            objProps = getAllKeys(object),
            objLength = objProps.length,
            othProps = getAllKeys(other),
            othLength = othProps.length;

        if (objLength != othLength && !isPartial) {
          return false;
        }

        var index = objLength;

        while (index--) {
          var key = objProps[index];

          if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
            return false;
          }
        }

        var objStacked = stack.get(object);
        var othStacked = stack.get(other);

        if (objStacked && othStacked) {
          return objStacked == other && othStacked == object;
        }

        var result = true;
        stack.set(object, other);
        stack.set(other, object);
        var skipCtor = isPartial;

        while (++index < objLength) {
          key = objProps[index];
          var objValue = object[key],
              othValue = other[key];

          if (customizer) {
            var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack);
          }

          if (!(compared === undefined ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) {
            result = false;
            break;
          }

          skipCtor || (skipCtor = key == 'constructor');
        }

        if (result && !skipCtor) {
          var objCtor = object.constructor,
              othCtor = other.constructor;

          if (objCtor != othCtor && 'constructor' in object && 'constructor' in other && !(typeof objCtor == 'function' && objCtor instanceof objCtor && typeof othCtor == 'function' && othCtor instanceof othCtor)) {
            result = false;
          }
        }

        stack['delete'](object);
        stack['delete'](other);
        return result;
      }

      function flatRest(func) {
        return setToString(overRest(func, undefined, flatten), func + '');
      }

      function getAllKeys(object) {
        return baseGetAllKeys(object, keys, getSymbols);
      }

      function getAllKeysIn(object) {
        return baseGetAllKeys(object, keysIn, getSymbolsIn);
      }

      var getData = !metaMap ? noop : function (func) {
        return metaMap.get(func);
      };

      function getFuncName(func) {
        var result = func.name + '',
            array = realNames[result],
            length = hasOwnProperty.call(realNames, result) ? array.length : 0;

        while (length--) {
          var data = array[length],
              otherFunc = data.func;

          if (otherFunc == null || otherFunc == func) {
            return data.name;
          }
        }

        return result;
      }

      function getHolder(func) {
        var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;
        return object.placeholder;
      }

      function getIteratee() {
        var result = lodash.iteratee || iteratee;
        result = result === iteratee ? baseIteratee : result;
        return arguments.length ? result(arguments[0], arguments[1]) : result;
      }

      function getMapData(map, key) {
        var data = map.__data__;
        return isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map;
      }

      function getMatchData(object) {
        var result = keys(object),
            length = result.length;

        while (length--) {
          var key = result[length],
              value = object[key];
          result[length] = [key, value, isStrictComparable(value)];
        }

        return result;
      }

      function getNative(object, key) {
        var value = getValue(object, key);
        return baseIsNative(value) ? value : undefined;
      }

      function getRawTag(value) {
        var isOwn = hasOwnProperty.call(value, symToStringTag),
            tag = value[symToStringTag];

        try {
          value[symToStringTag] = undefined;
          var unmasked = true;
        } catch (e) {}

        var result = nativeObjectToString.call(value);
        {
          if (isOwn) {
            value[symToStringTag] = tag;
          } else {
            delete value[symToStringTag];
          }
        }
        return result;
      }

      var getSymbols = !nativeGetSymbols ? stubArray : function (object) {
        if (object == null) {
          return [];
        }

        object = Object(object);
        return arrayFilter(nativeGetSymbols(object), function (symbol) {
          return propertyIsEnumerable.call(object, symbol);
        });
      };
      var getSymbolsIn = !nativeGetSymbols ? stubArray : function (object) {
        var result = [];

        while (object) {
          arrayPush(result, getSymbols(object));
          object = getPrototype(object);
        }

        return result;
      };
      var getTag = baseGetTag;

      if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map && getTag(new Map()) != mapTag || Promise && getTag(Promise.resolve()) != promiseTag || Set && getTag(new Set()) != setTag || WeakMap && getTag(new WeakMap()) != weakMapTag) {
        getTag = function getTag(value) {
          var result = baseGetTag(value),
              Ctor = result == objectTag ? value.constructor : undefined,
              ctorString = Ctor ? toSource(Ctor) : '';

          if (ctorString) {
            switch (ctorString) {
              case dataViewCtorString:
                return dataViewTag;

              case mapCtorString:
                return mapTag;

              case promiseCtorString:
                return promiseTag;

              case setCtorString:
                return setTag;

              case weakMapCtorString:
                return weakMapTag;
            }
          }

          return result;
        };
      }

      function getView(start, end, transforms) {
        var index = -1,
            length = transforms.length;

        while (++index < length) {
          var data = transforms[index],
              size = data.size;

          switch (data.type) {
            case 'drop':
              start += size;
              break;

            case 'dropRight':
              end -= size;
              break;

            case 'take':
              end = nativeMin(end, start + size);
              break;

            case 'takeRight':
              start = nativeMax(start, end - size);
              break;
          }
        }

        return {
          'start': start,
          'end': end
        };
      }

      function getWrapDetails(source) {
        var match = source.match(reWrapDetails);
        return match ? match[1].split(reSplitDetails) : [];
      }

      function hasPath(object, path, hasFunc) {
        path = castPath(path, object);
        var index = -1,
            length = path.length,
            result = false;

        while (++index < length) {
          var key = toKey(path[index]);

          if (!(result = object != null && hasFunc(object, key))) {
            break;
          }

          object = object[key];
        }

        if (result || ++index != length) {
          return result;
        }

        length = object == null ? 0 : object.length;
        return !!length && isLength(length) && isIndex(key, length) && (isArray(object) || isArguments(object));
      }

      function initCloneArray(array) {
        var length = array.length,
            result = new array.constructor(length);

        if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {
          result.index = array.index;
          result.input = array.input;
        }

        return result;
      }

      function initCloneObject(object) {
        return typeof object.constructor == 'function' && !isPrototype(object) ? baseCreate(getPrototype(object)) : {};
      }

      function initCloneByTag(object, tag, isDeep) {
        var Ctor = object.constructor;

        switch (tag) {
          case arrayBufferTag:
            return cloneArrayBuffer(object);

          case boolTag:
          case dateTag:
            return new Ctor(+object);

          case dataViewTag:
            return cloneDataView(object, isDeep);

          case float32Tag:
          case float64Tag:
          case int8Tag:
          case int16Tag:
          case int32Tag:
          case uint8Tag:
          case uint8ClampedTag:
          case uint16Tag:
          case uint32Tag:
            return cloneTypedArray(object, isDeep);

          case mapTag:
            return new Ctor();

          case numberTag:
          case stringTag:
            return new Ctor(object);

          case regexpTag:
            return cloneRegExp(object);

          case setTag:
            return new Ctor();

          case symbolTag:
            return cloneSymbol(object);
        }
      }

      function insertWrapDetails(source, details) {
        var length = details.length;

        if (!length) {
          return source;
        }

        var lastIndex = length - 1;
        details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];
        details = details.join(length > 2 ? ', ' : ' ');
        return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n');
      }

      function isFlattenable(value) {
        return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
      }

      function isIndex(value, length) {
        var type = typeof value;
        length = length == null ? MAX_SAFE_INTEGER : length;
        return !!length && (type == 'number' || type != 'symbol' && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;
      }

      function isIterateeCall(value, index, object) {
        if (!isObject(object)) {
          return false;
        }

        var type = typeof index;

        if (type == 'number' ? isArrayLike(object) && isIndex(index, object.length) : type == 'string' && index in object) {
          return eq(object[index], value);
        }

        return false;
      }

      function isKey(value, object) {
        if (isArray(value)) {
          return false;
        }

        var type = typeof value;

        if (type == 'number' || type == 'symbol' || type == 'boolean' || value == null || isSymbol(value)) {
          return true;
        }

        return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
      }

      function isKeyable(value) {
        var type = typeof value;
        return type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean' ? value !== '__proto__' : value === null;
      }

      function isLaziable(func) {
        var funcName = getFuncName(func),
            other = lodash[funcName];

        if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {
          return false;
        }

        if (func === other) {
          return true;
        }

        var data = getData(other);
        return !!data && func === data[0];
      }

      function isMasked(func) {
        return !!maskSrcKey && maskSrcKey in func;
      }

      var isMaskable = coreJsData ? isFunction : stubFalse;

      function isPrototype(value) {
        var Ctor = value && value.constructor,
            proto = typeof Ctor == 'function' && Ctor.prototype || objectProto;
        return value === proto;
      }

      function isStrictComparable(value) {
        return value === value && !isObject(value);
      }

      function matchesStrictComparable(key, srcValue) {
        return function (object) {
          if (object == null) {
            return false;
          }

          return object[key] === srcValue && (srcValue !== undefined || key in Object(object));
        };
      }

      function memoizeCapped(func) {
        var result = memoize(func, function (key) {
          if (cache.size === MAX_MEMOIZE_SIZE) {
            cache.clear();
          }

          return key;
        });
        var cache = result.cache;
        return result;
      }

      function mergeData(data, source) {
        var bitmask = data[1],
            srcBitmask = source[1],
            newBitmask = bitmask | srcBitmask,
            isCommon = newBitmask < 131;
        var isCombo = srcBitmask == WRAP_ARY_FLAG && bitmask == WRAP_CURRY_FLAG || srcBitmask == WRAP_ARY_FLAG && bitmask == WRAP_REARG_FLAG && data[7].length <= source[8] || srcBitmask == 384 && source[7].length <= source[8] && bitmask == WRAP_CURRY_FLAG;

        if (!(isCommon || isCombo)) {
          return data;
        }

        if (srcBitmask & WRAP_BIND_FLAG) {
          data[2] = source[2];
          newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;
        }

        var value = source[3];

        if (value) {
          var partials = data[3];
          data[3] = partials ? composeArgs(partials, value, source[4]) : value;
          data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];
        }

        value = source[5];

        if (value) {
          partials = data[5];
          data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;
          data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];
        }

        value = source[7];

        if (value) {
          data[7] = value;
        }

        if (srcBitmask & WRAP_ARY_FLAG) {
          data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);
        }

        if (data[9] == null) {
          data[9] = source[9];
        }

        data[0] = source[0];
        data[1] = newBitmask;
        return data;
      }

      function nativeKeysIn(object) {
        var result = [];

        if (object != null) {
          for (var key in Object(object)) {
            result.push(key);
          }
        }

        return result;
      }

      function objectToString(value) {
        return nativeObjectToString.call(value);
      }

      function overRest(func, start, transform) {
        start = nativeMax(start === undefined ? func.length - 1 : start, 0);
        return function () {
          var args = arguments,
              index = -1,
              length = nativeMax(args.length - start, 0),
              array = Array(length);

          while (++index < length) {
            array[index] = args[start + index];
          }

          index = -1;
          var otherArgs = Array(start + 1);

          while (++index < start) {
            otherArgs[index] = args[index];
          }

          otherArgs[start] = transform(array);
          return apply(func, this, otherArgs);
        };
      }

      function parent(object, path) {
        return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));
      }

      function reorder(array, indexes) {
        var arrLength = array.length,
            length = nativeMin(indexes.length, arrLength),
            oldArray = copyArray(array);

        while (length--) {
          var index = indexes[length];
          array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;
        }

        return array;
      }

      function safeGet(object, key) {
        if (key === 'constructor' && typeof object[key] === 'function') {
          return;
        }

        if (key == '__proto__') {
          return;
        }

        return object[key];
      }

      var setData = shortOut(baseSetData);

      var setTimeout = ctxSetTimeout || function (func, wait) {
        return root.setTimeout(func, wait);
      };

      var setToString = shortOut(baseSetToString);

      function setWrapToString(wrapper, reference, bitmask) {
        var source = reference + '';
        return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));
      }

      function shortOut(func) {
        var count = 0,
            lastCalled = 0;
        return function () {
          var stamp = nativeNow(),
              remaining = HOT_SPAN - (stamp - lastCalled);
          lastCalled = stamp;

          if (remaining > 0) {
            if (++count >= HOT_COUNT) {
              return arguments[0];
            }
          } else {
            count = 0;
          }

          return func.apply(undefined, arguments);
        };
      }

      function shuffleSelf(array, size) {
        var index = -1,
            length = array.length,
            lastIndex = length - 1;
        size = size === undefined ? length : size;

        while (++index < size) {
          var rand = baseRandom(index, lastIndex),
              value = array[rand];
          array[rand] = array[index];
          array[index] = value;
        }

        array.length = size;
        return array;
      }

      var stringToPath = memoizeCapped(function (string) {
        var result = [];

        if (string.charCodeAt(0) === 46) {
          result.push('');
        }

        string.replace(rePropName, function (match, number, quote, subString) {
          result.push(quote ? subString.replace(reEscapeChar, '$1') : number || match);
        });
        return result;
      });

      function toKey(value) {
        if (typeof value == 'string' || isSymbol(value)) {
          return value;
        }

        var result = value + '';
        return result == '0' && 1 / value == -(1 / 0) ? '-0' : result;
      }

      function toSource(func) {
        if (func != null) {
          try {
            return funcToString.call(func);
          } catch (e) {}

          try {
            return func + '';
          } catch (e) {}
        }

        return '';
      }

      function updateWrapDetails(details, bitmask) {
        arrayEach(wrapFlags, function (pair) {
          var value = '_.' + pair[0];

          if (bitmask & pair[1] && !arrayIncludes(details, value)) {
            details.push(value);
          }
        });
        return details.sort();
      }

      function wrapperClone(wrapper) {
        if (wrapper instanceof LazyWrapper) {
          return wrapper.clone();
        }

        var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);
        result.__actions__ = copyArray(wrapper.__actions__);
        result.__index__ = wrapper.__index__;
        result.__values__ = wrapper.__values__;
        return result;
      }

      function chunk(array, size, guard) {
        if (guard ? isIterateeCall(array, size, guard) : size === undefined) {
          size = 1;
        } else {
          size = nativeMax(toInteger(size), 0);
        }

        var length = array == null ? 0 : array.length;

        if (!length || size < 1) {
          return [];
        }

        var index = 0,
            resIndex = 0,
            result = Array(nativeCeil(length / size));

        while (index < length) {
          result[resIndex++] = baseSlice(array, index, index += size);
        }

        return result;
      }

      function compact(array) {
        var index = -1,
            length = array == null ? 0 : array.length,
            resIndex = 0,
            result = [];

        while (++index < length) {
          var value = array[index];

          if (value) {
            result[resIndex++] = value;
          }
        }

        return result;
      }

      function concat() {
        var length = arguments.length;

        if (!length) {
          return [];
        }

        var args = Array(length - 1),
            array = arguments[0],
            index = length;

        while (index--) {
          args[index - 1] = arguments[index];
        }

        return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));
      }

      var difference = baseRest(function (array, values) {
        return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) : [];
      });
      var differenceBy = baseRest(function (array, values) {
        var iteratee = last(values);

        if (isArrayLikeObject(iteratee)) {
          iteratee = undefined;
        }

        return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)) : [];
      });
      var differenceWith = baseRest(function (array, values) {
        var comparator = last(values);

        if (isArrayLikeObject(comparator)) {
          comparator = undefined;
        }

        return isArrayLikeObject(array) ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator) : [];
      });

      function drop(array, n, guard) {
        var length = array == null ? 0 : array.length;

        if (!length) {
          return [];
        }

        n = guard || n === undefined ? 1 : toInteger(n);
        return baseSlice(array, n < 0 ? 0 : n, length);
      }

      function dropRight(array, n, guard) {
        var length = array == null ? 0 : array.length;

        if (!length) {
          return [];
        }

        n = guard || n === undefined ? 1 : toInteger(n);
        n = length - n;
        return baseSlice(array, 0, n < 0 ? 0 : n);
      }

      function dropRightWhile(array, predicate) {
        return array && array.length ? baseWhile(array, getIteratee(predicate, 3), true, true) : [];
      }

      function dropWhile(array, predicate) {
        return array && array.length ? baseWhile(array, getIteratee(predicate, 3), true) : [];
      }

      function fill(array, value, start, end) {
        var length = array == null ? 0 : array.length;

        if (!length) {
          return [];
        }

        if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {
          start = 0;
          end = length;
        }

        return baseFill(array, value, start, end);
      }

      function findIndex(array, predicate, fromIndex) {
        var length = array == null ? 0 : array.length;

        if (!length) {
          return -1;
        }

        var index = fromIndex == null ? 0 : toInteger(fromIndex);

        if (index < 0) {
          index = nativeMax(length + index, 0);
        }

        return baseFindIndex(array, getIteratee(predicate, 3), index);
      }

      function findLastIndex(array, predicate, fromIndex) {
        var length = array == null ? 0 : array.length;

        if (!length) {
          return -1;
        }

        var index = length - 1;

        if (fromIndex !== undefined) {
          index = toInteger(fromIndex);
          index = fromIndex < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);
        }

        return baseFindIndex(array, getIteratee(predicate, 3), index, true);
      }

      function flatten(array) {
        var length = array == null ? 0 : array.length;
        return length ? baseFlatten(array, 1) : [];
      }

      function flattenDeep(array) {
        var length = array == null ? 0 : array.length;
        return length ? baseFlatten(array, INFINITY) : [];
      }

      function flattenDepth(array, depth) {
        var length = array == null ? 0 : array.length;

        if (!length) {
          return [];
        }

        depth = depth === undefined ? 1 : toInteger(depth);
        return baseFlatten(array, depth);
      }

      function fromPairs(pairs) {
        var index = -1,
            length = pairs == null ? 0 : pairs.length,
            result = {};

        while (++index < length) {
          var pair = pairs[index];
          result[pair[0]] = pair[1];
        }

        return result;
      }

      function head(array) {
        return array && array.length ? array[0] : undefined;
      }

      function indexOf(array, value, fromIndex) {
        var length = array == null ? 0 : array.length;

        if (!length) {
          return -1;
        }

        var index = fromIndex == null ? 0 : toInteger(fromIndex);

        if (index < 0) {
          index = nativeMax(length + index, 0);
        }

        return baseIndexOf(array, value, index);
      }

      function initial(array) {
        var length = array == null ? 0 : array.length;
        return length ? baseSlice(array, 0, -1) : [];
      }

      var intersection = baseRest(function (arrays) {
        var mapped = arrayMap(arrays, castArrayLikeObject);
        return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped) : [];
      });
      var intersectionBy = baseRest(function (arrays) {
        var iteratee = last(arrays),
            mapped = arrayMap(arrays, castArrayLikeObject);

        if (iteratee === last(mapped)) {
          iteratee = undefined;
        } else {
          mapped.pop();
        }

        return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped, getIteratee(iteratee, 2)) : [];
      });
      var intersectionWith = baseRest(function (arrays) {
        var comparator = last(arrays),
            mapped = arrayMap(arrays, castArrayLikeObject);
        comparator = typeof comparator == 'function' ? comparator : undefined;

        if (comparator) {
          mapped.pop();
        }

        return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped, undefined, comparator) : [];
      });

      function join(array, separator) {
        return array == null ? '' : nativeJoin.call(array, separator);
      }

      function last(array) {
        var length = array == null ? 0 : array.length;
        return length ? array[length - 1] : undefined;
      }

      function lastIndexOf(array, value, fromIndex) {
        var length = array == null ? 0 : array.length;

        if (!length) {
          return -1;
        }

        var index = length;

        if (fromIndex !== undefined) {
          index = toInteger(fromIndex);
          index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);
        }

        return value === value ? strictLastIndexOf(array, value, index) : baseFindIndex(array, baseIsNaN, index, true);
      }

      function nth(array, n) {
        return array && array.length ? baseNth(array, toInteger(n)) : undefined;
      }

      var pull = baseRest(pullAll);

      function pullAll(array, values) {
        return array && array.length && values && values.length ? basePullAll(array, values) : array;
      }

      function pullAllBy(array, values, iteratee) {
        return array && array.length && values && values.length ? basePullAll(array, values, getIteratee(iteratee, 2)) : array;
      }

      function pullAllWith(array, values, comparator) {
        return array && array.length && values && values.length ? basePullAll(array, values, undefined, comparator) : array;
      }

      var pullAt = flatRest(function (array, indexes) {
        var length = array == null ? 0 : array.length,
            result = baseAt(array, indexes);
        basePullAt(array, arrayMap(indexes, function (index) {
          return isIndex(index, length) ? +index : index;
        }).sort(compareAscending));
        return result;
      });

      function remove(array, predicate) {
        var result = [];

        if (!(array && array.length)) {
          return result;
        }

        var index = -1,
            indexes = [],
            length = array.length;
        predicate = getIteratee(predicate, 3);

        while (++index < length) {
          var value = array[index];

          if (predicate(value, index, array)) {
            result.push(value);
            indexes.push(index);
          }
        }

        basePullAt(array, indexes);
        return result;
      }

      function reverse(array) {
        return array == null ? array : nativeReverse.call(array);
      }

      function slice(array, start, end) {
        var length = array == null ? 0 : array.length;

        if (!length) {
          return [];
        }

        if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {
          start = 0;
          end = length;
        } else {
          start = start == null ? 0 : toInteger(start);
          end = end === undefined ? length : toInteger(end);
        }

        return baseSlice(array, start, end);
      }

      function sortedIndex(array, value) {
        return baseSortedIndex(array, value);
      }

      function sortedIndexBy(array, value, iteratee) {
        return baseSortedIndexBy(array, value, getIteratee(iteratee, 2));
      }

      function sortedIndexOf(array, value) {
        var length = array == null ? 0 : array.length;

        if (length) {
          var index = baseSortedIndex(array, value);

          if (index < length && eq(array[index], value)) {
            return index;
          }
        }

        return -1;
      }

      function sortedLastIndex(array, value) {
        return baseSortedIndex(array, value, true);
      }

      function sortedLastIndexBy(array, value, iteratee) {
        return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true);
      }

      function sortedLastIndexOf(array, value) {
        var length = array == null ? 0 : array.length;

        if (length) {
          var index = baseSortedIndex(array, value, true) - 1;

          if (eq(array[index], value)) {
            return index;
          }
        }

        return -1;
      }

      function sortedUniq(array) {
        return array && array.length ? baseSortedUniq(array) : [];
      }

      function sortedUniqBy(array, iteratee) {
        return array && array.length ? baseSortedUniq(array, getIteratee(iteratee, 2)) : [];
      }

      function tail(array) {
        var length = array == null ? 0 : array.length;
        return length ? baseSlice(array, 1, length) : [];
      }

      function take(array, n, guard) {
        if (!(array && array.length)) {
          return [];
        }

        n = guard || n === undefined ? 1 : toInteger(n);
        return baseSlice(array, 0, n < 0 ? 0 : n);
      }

      function takeRight(array, n, guard) {
        var length = array == null ? 0 : array.length;

        if (!length) {
          return [];
        }

        n = guard || n === undefined ? 1 : toInteger(n);
        n = length - n;
        return baseSlice(array, n < 0 ? 0 : n, length);
      }

      function takeRightWhile(array, predicate) {
        return array && array.length ? baseWhile(array, getIteratee(predicate, 3), false, true) : [];
      }

      function takeWhile(array, predicate) {
        return array && array.length ? baseWhile(array, getIteratee(predicate, 3)) : [];
      }

      var union = baseRest(function (arrays) {
        return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));
      });
      var unionBy = baseRest(function (arrays) {
        var iteratee = last(arrays);

        if (isArrayLikeObject(iteratee)) {
          iteratee = undefined;
        }

        return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2));
      });
      var unionWith = baseRest(function (arrays) {
        var comparator = last(arrays);
        comparator = typeof comparator == 'function' ? comparator : undefined;
        return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);
      });

      function uniq(array) {
        return array && array.length ? baseUniq(array) : [];
      }

      function uniqBy(array, iteratee) {
        return array && array.length ? baseUniq(array, getIteratee(iteratee, 2)) : [];
      }

      function uniqWith(array, comparator) {
        comparator = typeof comparator == 'function' ? comparator : undefined;
        return array && array.length ? baseUniq(array, undefined, comparator) : [];
      }

      function unzip(array) {
        if (!(array && array.length)) {
          return [];
        }

        var length = 0;
        array = arrayFilter(array, function (group) {
          if (isArrayLikeObject(group)) {
            length = nativeMax(group.length, length);
            return true;
          }
        });
        return baseTimes(length, function (index) {
          return arrayMap(array, baseProperty(index));
        });
      }

      function unzipWith(array, iteratee) {
        if (!(array && array.length)) {
          return [];
        }

        var result = unzip(array);

        if (iteratee == null) {
          return result;
        }

        return arrayMap(result, function (group) {
          return apply(iteratee, undefined, group);
        });
      }

      var without = baseRest(function (array, values) {
        return isArrayLikeObject(array) ? baseDifference(array, values) : [];
      });
      var xor = baseRest(function (arrays) {
        return baseXor(arrayFilter(arrays, isArrayLikeObject));
      });
      var xorBy = baseRest(function (arrays) {
        var iteratee = last(arrays);

        if (isArrayLikeObject(iteratee)) {
          iteratee = undefined;
        }

        return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2));
      });
      var xorWith = baseRest(function (arrays) {
        var comparator = last(arrays);
        comparator = typeof comparator == 'function' ? comparator : undefined;
        return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator);
      });
      var zip = baseRest(unzip);

      function zipObject(props, values) {
        return baseZipObject(props || [], values || [], assignValue);
      }

      function zipObjectDeep(props, values) {
        return baseZipObject(props || [], values || [], baseSet);
      }

      var zipWith = baseRest(function (arrays) {
        var length = arrays.length,
            iteratee = length > 1 ? arrays[length - 1] : undefined;
        iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined;
        return unzipWith(arrays, iteratee);
      });

      function chain(value) {
        var result = lodash(value);
        result.__chain__ = true;
        return result;
      }

      function tap(value, interceptor) {
        interceptor(value);
        return value;
      }

      function thru(value, interceptor) {
        return interceptor(value);
      }

      var wrapperAt = flatRest(function (paths) {
        var length = paths.length,
            start = length ? paths[0] : 0,
            value = this.__wrapped__,
            interceptor = function interceptor(object) {
          return baseAt(object, paths);
        };

        if (length > 1 || this.__actions__.length || !(value instanceof LazyWrapper) || !isIndex(start)) {
          return this.thru(interceptor);
        }

        value = value.slice(start, +start + (length ? 1 : 0));

        value.__actions__.push({
          'func': thru,
          'args': [interceptor],
          'thisArg': undefined
        });

        return new LodashWrapper(value, this.__chain__).thru(function (array) {
          if (length && !array.length) {
            array.push(undefined);
          }

          return array;
        });
      });

      function wrapperChain() {
        return chain(this);
      }

      function wrapperCommit() {
        return new LodashWrapper(this.value(), this.__chain__);
      }

      function wrapperNext() {
        if (this.__values__ === undefined) {
          this.__values__ = toArray(this.value());
        }

        var done = this.__index__ >= this.__values__.length,
            value = done ? undefined : this.__values__[this.__index__++];
        return {
          'done': done,
          'value': value
        };
      }

      function wrapperToIterator() {
        return this;
      }

      function wrapperPlant(value) {
        var result,
            parent = this;

        while (parent instanceof baseLodash) {
          var clone = wrapperClone(parent);
          clone.__index__ = 0;
          clone.__values__ = undefined;

          if (result) {
            previous.__wrapped__ = clone;
          } else {
            result = clone;
          }

          var previous = clone;
          parent = parent.__wrapped__;
        }

        previous.__wrapped__ = value;
        return result;
      }

      function wrapperReverse() {
        var value = this.__wrapped__;

        if (value instanceof LazyWrapper) {
          var wrapped = value;

          if (this.__actions__.length) {
            wrapped = new LazyWrapper(this);
          }

          wrapped = wrapped.reverse();

          wrapped.__actions__.push({
            'func': thru,
            'args': [reverse],
            'thisArg': undefined
          });

          return new LodashWrapper(wrapped, this.__chain__);
        }

        return this.thru(reverse);
      }

      function wrapperValue() {
        return baseWrapperValue(this.__wrapped__, this.__actions__);
      }

      var countBy = createAggregator(function (result, value, key) {
        if (hasOwnProperty.call(result, key)) {
          ++result[key];
        } else {
          baseAssignValue(result, key, 1);
        }
      });

      function every(collection, predicate, guard) {
        var func = isArray(collection) ? arrayEvery : baseEvery;

        if (guard && isIterateeCall(collection, predicate, guard)) {
          predicate = undefined;
        }

        return func(collection, getIteratee(predicate, 3));
      }

      function filter(collection, predicate) {
        var func = isArray(collection) ? arrayFilter : baseFilter;
        return func(collection, getIteratee(predicate, 3));
      }

      var find = createFind(findIndex);
      var findLast = createFind(findLastIndex);

      function flatMap(collection, iteratee) {
        return baseFlatten(map(collection, iteratee), 1);
      }

      function flatMapDeep(collection, iteratee) {
        return baseFlatten(map(collection, iteratee), INFINITY);
      }

      function flatMapDepth(collection, iteratee, depth) {
        depth = depth === undefined ? 1 : toInteger(depth);
        return baseFlatten(map(collection, iteratee), depth);
      }

      function forEach(collection, iteratee) {
        var func = isArray(collection) ? arrayEach : baseEach;
        return func(collection, getIteratee(iteratee, 3));
      }

      function forEachRight(collection, iteratee) {
        var func = isArray(collection) ? arrayEachRight : baseEachRight;
        return func(collection, getIteratee(iteratee, 3));
      }

      var groupBy = createAggregator(function (result, value, key) {
        if (hasOwnProperty.call(result, key)) {
          result[key].push(value);
        } else {
          baseAssignValue(result, key, [value]);
        }
      });

      function includes(collection, value, fromIndex, guard) {
        collection = isArrayLike(collection) ? collection : values(collection);
        fromIndex = fromIndex && !guard ? toInteger(fromIndex) : 0;
        var length = collection.length;

        if (fromIndex < 0) {
          fromIndex = nativeMax(length + fromIndex, 0);
        }

        return isString(collection) ? fromIndex <= length && collection.indexOf(value, fromIndex) > -1 : !!length && baseIndexOf(collection, value, fromIndex) > -1;
      }

      var invokeMap = baseRest(function (collection, path, args) {
        var index = -1,
            isFunc = typeof path == 'function',
            result = isArrayLike(collection) ? Array(collection.length) : [];
        baseEach(collection, function (value) {
          result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);
        });
        return result;
      });
      var keyBy = createAggregator(function (result, value, key) {
        baseAssignValue(result, key, value);
      });

      function map(collection, iteratee) {
        var func = isArray(collection) ? arrayMap : baseMap;
        return func(collection, getIteratee(iteratee, 3));
      }

      function orderBy(collection, iteratees, orders, guard) {
        if (collection == null) {
          return [];
        }

        if (!isArray(iteratees)) {
          iteratees = iteratees == null ? [] : [iteratees];
        }

        orders = guard ? undefined : orders;

        if (!isArray(orders)) {
          orders = orders == null ? [] : [orders];
        }

        return baseOrderBy(collection, iteratees, orders);
      }

      var partition = createAggregator(function (result, value, key) {
        result[key ? 0 : 1].push(value);
      }, function () {
        return [[], []];
      });

      function reduce(collection, iteratee, accumulator) {
        var func = isArray(collection) ? arrayReduce : baseReduce,
            initAccum = arguments.length < 3;
        return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);
      }

      function reduceRight(collection, iteratee, accumulator) {
        var func = isArray(collection) ? arrayReduceRight : baseReduce,
            initAccum = arguments.length < 3;
        return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight);
      }

      function reject(collection, predicate) {
        var func = isArray(collection) ? arrayFilter : baseFilter;
        return func(collection, negate(getIteratee(predicate, 3)));
      }

      function sample(collection) {
        var func = isArray(collection) ? arraySample : baseSample;
        return func(collection);
      }

      function sampleSize(collection, n, guard) {
        if (guard ? isIterateeCall(collection, n, guard) : n === undefined) {
          n = 1;
        } else {
          n = toInteger(n);
        }

        var func = isArray(collection) ? arraySampleSize : baseSampleSize;
        return func(collection, n);
      }

      function shuffle(collection) {
        var func = isArray(collection) ? arrayShuffle : baseShuffle;
        return func(collection);
      }

      function size(collection) {
        if (collection == null) {
          return 0;
        }

        if (isArrayLike(collection)) {
          return isString(collection) ? stringSize(collection) : collection.length;
        }

        var tag = getTag(collection);

        if (tag == mapTag || tag == setTag) {
          return collection.size;
        }

        return baseKeys(collection).length;
      }

      function some(collection, predicate, guard) {
        var func = isArray(collection) ? arraySome : baseSome;

        if (guard && isIterateeCall(collection, predicate, guard)) {
          predicate = undefined;
        }

        return func(collection, getIteratee(predicate, 3));
      }

      var sortBy = baseRest(function (collection, iteratees) {
        if (collection == null) {
          return [];
        }

        var length = iteratees.length;

        if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {
          iteratees = [];
        } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {
          iteratees = [iteratees[0]];
        }

        return baseOrderBy(collection, baseFlatten(iteratees, 1), []);
      });

      var now = ctxNow || function () {
        return root.Date.now();
      };

      function after(n, func) {
        if (typeof func != 'function') {
          throw new TypeError(FUNC_ERROR_TEXT);
        }

        n = toInteger(n);
        return function () {
          if (--n < 1) {
            return func.apply(this, arguments);
          }
        };
      }

      function ary(func, n, guard) {
        n = guard ? undefined : n;
        n = func && n == null ? func.length : n;
        return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);
      }

      function before(n, func) {
        var result;

        if (typeof func != 'function') {
          throw new TypeError(FUNC_ERROR_TEXT);
        }

        n = toInteger(n);
        return function () {
          if (--n > 0) {
            result = func.apply(this, arguments);
          }

          if (n <= 1) {
            func = undefined;
          }

          return result;
        };
      }

      var bind = baseRest(function (func, thisArg, partials) {
        var bitmask = WRAP_BIND_FLAG;

        if (partials.length) {
          var holders = replaceHolders(partials, getHolder(bind));
          bitmask |= WRAP_PARTIAL_FLAG;
        }

        return createWrap(func, bitmask, thisArg, partials, holders);
      });
      var bindKey = baseRest(function (object, key, partials) {
        var bitmask = 3;

        if (partials.length) {
          var holders = replaceHolders(partials, getHolder(bindKey));
          bitmask |= WRAP_PARTIAL_FLAG;
        }

        return createWrap(key, bitmask, object, partials, holders);
      });

      function curry(func, arity, guard) {
        arity = guard ? undefined : arity;
        var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
        result.placeholder = curry.placeholder;
        return result;
      }

      function curryRight(func, arity, guard) {
        arity = guard ? undefined : arity;
        var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);
        result.placeholder = curryRight.placeholder;
        return result;
      }

      function debounce(func, wait, options) {
        var lastArgs,
            lastThis,
            maxWait,
            result,
            timerId,
            lastCallTime,
            lastInvokeTime = 0,
            leading = false,
            maxing = false,
            trailing = true;

        if (typeof func != 'function') {
          throw new TypeError(FUNC_ERROR_TEXT);
        }

        wait = toNumber(wait) || 0;

        if (isObject(options)) {
          leading = !!options.leading;
          maxing = 'maxWait' in options;
          maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
          trailing = 'trailing' in options ? !!options.trailing : trailing;
        }

        function invokeFunc(time) {
          var args = lastArgs,
              thisArg = lastThis;
          lastArgs = lastThis = undefined;
          lastInvokeTime = time;
          result = func.apply(thisArg, args);
          return result;
        }

        function leadingEdge(time) {
          lastInvokeTime = time;
          timerId = setTimeout(timerExpired, wait);
          return leading ? invokeFunc(time) : result;
        }

        function remainingWait(time) {
          var timeSinceLastCall = time - lastCallTime,
              timeSinceLastInvoke = time - lastInvokeTime,
              timeWaiting = wait - timeSinceLastCall;
          return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;
        }

        function shouldInvoke(time) {
          var timeSinceLastCall = time - lastCallTime,
              timeSinceLastInvoke = time - lastInvokeTime;
          return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
        }

        function timerExpired() {
          var time = now();

          if (shouldInvoke(time)) {
            return trailingEdge(time);
          }

          timerId = setTimeout(timerExpired, remainingWait(time));
        }

        function trailingEdge(time) {
          timerId = undefined;

          if (trailing && lastArgs) {
            return invokeFunc(time);
          }

          lastArgs = lastThis = undefined;
          return result;
        }

        function cancel() {
          if (timerId !== undefined) {
            clearTimeout(timerId);
          }

          lastInvokeTime = 0;
          lastArgs = lastCallTime = lastThis = timerId = undefined;
        }

        function flush() {
          return timerId === undefined ? result : trailingEdge(now());
        }

        function debounced() {
          var time = now(),
              isInvoking = shouldInvoke(time);
          lastArgs = arguments;
          lastThis = this;
          lastCallTime = time;

          if (isInvoking) {
            if (timerId === undefined) {
              return leadingEdge(lastCallTime);
            }

            if (maxing) {
              clearTimeout(timerId);
              timerId = setTimeout(timerExpired, wait);
              return invokeFunc(lastCallTime);
            }
          }

          if (timerId === undefined) {
            timerId = setTimeout(timerExpired, wait);
          }

          return result;
        }

        debounced.cancel = cancel;
        debounced.flush = flush;
        return debounced;
      }

      var defer = baseRest(function (func, args) {
        return baseDelay(func, 1, args);
      });
      var delay = baseRest(function (func, wait, args) {
        return baseDelay(func, toNumber(wait) || 0, args);
      });

      function flip(func) {
        return createWrap(func, WRAP_FLIP_FLAG);
      }

      function memoize(func, resolver) {
        if (typeof func != 'function' || resolver != null && typeof resolver != 'function') {
          throw new TypeError(FUNC_ERROR_TEXT);
        }

        var memoized = function memoized() {
          var args = arguments,
              key = resolver ? resolver.apply(this, args) : args[0],
              cache = memoized.cache;

          if (cache.has(key)) {
            return cache.get(key);
          }

          var result = func.apply(this, args);
          memoized.cache = cache.set(key, result) || cache;
          return result;
        };

        memoized.cache = new (memoize.Cache || MapCache)();
        return memoized;
      }

      memoize.Cache = MapCache;

      function negate(predicate) {
        if (typeof predicate != 'function') {
          throw new TypeError(FUNC_ERROR_TEXT);
        }

        return function () {
          var args = arguments;

          switch (args.length) {
            case 0:
              return !predicate.call(this);

            case 1:
              return !predicate.call(this, args[0]);

            case 2:
              return !predicate.call(this, args[0], args[1]);

            case 3:
              return !predicate.call(this, args[0], args[1], args[2]);
          }

          return !predicate.apply(this, args);
        };
      }

      function once(func) {
        return before(2, func);
      }

      var overArgs = castRest(function (func, transforms) {
        transforms = transforms.length == 1 && isArray(transforms[0]) ? arrayMap(transforms[0], baseUnary(getIteratee())) : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));
        var funcsLength = transforms.length;
        return baseRest(function (args) {
          var index = -1,
              length = nativeMin(args.length, funcsLength);

          while (++index < length) {
            args[index] = transforms[index].call(this, args[index]);
          }

          return apply(func, this, args);
        });
      });
      var partial = baseRest(function (func, partials) {
        var holders = replaceHolders(partials, getHolder(partial));
        return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);
      });
      var partialRight = baseRest(function (func, partials) {
        var holders = replaceHolders(partials, getHolder(partialRight));
        return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);
      });
      var rearg = flatRest(function (func, indexes) {
        return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);
      });

      function rest(func, start) {
        if (typeof func != 'function') {
          throw new TypeError(FUNC_ERROR_TEXT);
        }

        start = start === undefined ? start : toInteger(start);
        return baseRest(func, start);
      }

      function spread(func, start) {
        if (typeof func != 'function') {
          throw new TypeError(FUNC_ERROR_TEXT);
        }

        start = start == null ? 0 : nativeMax(toInteger(start), 0);
        return baseRest(function (args) {
          var array = args[start],
              otherArgs = castSlice(args, 0, start);

          if (array) {
            arrayPush(otherArgs, array);
          }

          return apply(func, this, otherArgs);
        });
      }

      function throttle(func, wait, options) {
        var leading = true,
            trailing = true;

        if (typeof func != 'function') {
          throw new TypeError(FUNC_ERROR_TEXT);
        }

        if (isObject(options)) {
          leading = 'leading' in options ? !!options.leading : leading;
          trailing = 'trailing' in options ? !!options.trailing : trailing;
        }

        return debounce(func, wait, {
          'leading': leading,
          'maxWait': wait,
          'trailing': trailing
        });
      }

      function unary(func) {
        return ary(func, 1);
      }

      function wrap(value, wrapper) {
        return partial(castFunction(wrapper), value);
      }

      function castArray() {
        if (!arguments.length) {
          return [];
        }

        var value = arguments[0];
        return isArray(value) ? value : [value];
      }

      function clone(value) {
        return baseClone(value, CLONE_SYMBOLS_FLAG);
      }

      function cloneWith(value, customizer) {
        customizer = typeof customizer == 'function' ? customizer : undefined;
        return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);
      }

      function cloneDeep(value) {
        return baseClone(value, 5);
      }

      function cloneDeepWith(value, customizer) {
        customizer = typeof customizer == 'function' ? customizer : undefined;
        return baseClone(value, 5, customizer);
      }

      function conformsTo(object, source) {
        return source == null || baseConformsTo(object, source, keys(source));
      }

      function eq(value, other) {
        return value === other || value !== value && other !== other;
      }

      var gt = createRelationalOperation(baseGt);
      var gte = createRelationalOperation(function (value, other) {
        return value >= other;
      });
      var isArguments = baseIsArguments(function () {
        return arguments;
      }()) ? baseIsArguments : function (value) {
        return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');
      };
      var isArray = Array.isArray;
      var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;

      function isArrayLike(value) {
        return value != null && isLength(value.length) && !isFunction(value);
      }

      function isArrayLikeObject(value) {
        return isObjectLike(value) && isArrayLike(value);
      }

      function isBoolean(value) {
        return value === true || value === false || isObjectLike(value) && baseGetTag(value) == boolTag;
      }

      var isBuffer = nativeIsBuffer || stubFalse;
      var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;

      function isElement(value) {
        return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);
      }

      function isEmpty(value) {
        if (value == null) {
          return true;
        }

        if (isArrayLike(value) && (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || isBuffer(value) || isTypedArray(value) || isArguments(value))) {
          return !value.length;
        }

        var tag = getTag(value);

        if (tag == mapTag || tag == setTag) {
          return !value.size;
        }

        if (isPrototype(value)) {
          return !baseKeys(value).length;
        }

        for (var key in value) {
          if (hasOwnProperty.call(value, key)) {
            return false;
          }
        }

        return true;
      }

      function isEqual(value, other) {
        return baseIsEqual(value, other);
      }

      function isEqualWith(value, other, customizer) {
        customizer = typeof customizer == 'function' ? customizer : undefined;
        var result = customizer ? customizer(value, other) : undefined;
        return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;
      }

      function isError(value) {
        if (!isObjectLike(value)) {
          return false;
        }

        var tag = baseGetTag(value);
        return tag == errorTag || tag == domExcTag || typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value);
      }

      function isFinite(value) {
        return typeof value == 'number' && nativeIsFinite(value);
      }

      function isFunction(value) {
        if (!isObject(value)) {
          return false;
        }

        var tag = baseGetTag(value);
        return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
      }

      function isInteger(value) {
        return typeof value == 'number' && value == toInteger(value);
      }

      function isLength(value) {
        return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
      }

      function isObject(value) {
        var type = typeof value;
        return value != null && (type == 'object' || type == 'function');
      }

      function isObjectLike(value) {
        return value != null && typeof value == 'object';
      }

      var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;

      function isMatch(object, source) {
        return object === source || baseIsMatch(object, source, getMatchData(source));
      }

      function isMatchWith(object, source, customizer) {
        customizer = typeof customizer == 'function' ? customizer : undefined;
        return baseIsMatch(object, source, getMatchData(source), customizer);
      }

      function isNaN(value) {
        return isNumber(value) && value != +value;
      }

      function isNative(value) {
        if (isMaskable(value)) {
          throw new Error(CORE_ERROR_TEXT);
        }

        return baseIsNative(value);
      }

      function isNull(value) {
        return value === null;
      }

      function isNil(value) {
        return value == null;
      }

      function isNumber(value) {
        return typeof value == 'number' || isObjectLike(value) && baseGetTag(value) == numberTag;
      }

      function isPlainObject(value) {
        if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
          return false;
        }

        var proto = getPrototype(value);

        if (proto === null) {
          return true;
        }

        var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;
        return typeof Ctor == 'function' && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
      }

      var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;

      function isSafeInteger(value) {
        return isInteger(value) && value >= -9007199254740991 && value <= MAX_SAFE_INTEGER;
      }

      var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;

      function isString(value) {
        return typeof value == 'string' || !isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag;
      }

      function isSymbol(value) {
        return typeof value == 'symbol' || isObjectLike(value) && baseGetTag(value) == symbolTag;
      }

      var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;

      function isUndefined(value) {
        return value === undefined;
      }

      function isWeakMap(value) {
        return isObjectLike(value) && getTag(value) == weakMapTag;
      }

      function isWeakSet(value) {
        return isObjectLike(value) && baseGetTag(value) == weakSetTag;
      }

      var lt = createRelationalOperation(baseLt);
      var lte = createRelationalOperation(function (value, other) {
        return value <= other;
      });

      function toArray(value) {
        if (!value) {
          return [];
        }

        if (isArrayLike(value)) {
          return isString(value) ? stringToArray(value) : copyArray(value);
        }

        if (symIterator && value[symIterator]) {
          return iteratorToArray(value[symIterator]());
        }

        var tag = getTag(value),
            func = tag == mapTag ? mapToArray : tag == setTag ? setToArray : values;
        return func(value);
      }

      function toFinite(value) {
        if (!value) {
          return value === 0 ? value : 0;
        }

        value = toNumber(value);

        if (value === INFINITY || value === -(1 / 0)) {
          var sign = value < 0 ? -1 : 1;
          return sign * MAX_INTEGER;
        }

        return value === value ? value : 0;
      }

      function toInteger(value) {
        var result = toFinite(value),
            remainder = result % 1;
        return result === result ? remainder ? result - remainder : result : 0;
      }

      function toLength(value) {
        return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;
      }

      function toNumber(value) {
        if (typeof value == 'number') {
          return value;
        }

        if (isSymbol(value)) {
          return NAN;
        }

        if (isObject(value)) {
          var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
          value = isObject(other) ? other + '' : other;
        }

        if (typeof value != 'string') {
          return value === 0 ? value : +value;
        }

        value = baseTrim(value);
        var isBinary = reIsBinary.test(value);
        return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
      }

      function toPlainObject(value) {
        return copyObject(value, keysIn(value));
      }

      function toSafeInteger(value) {
        return value ? baseClamp(toInteger(value), -9007199254740991, MAX_SAFE_INTEGER) : value === 0 ? value : 0;
      }

      function toString(value) {
        return value == null ? '' : baseToString(value);
      }

      var assign = createAssigner(function (object, source) {
        if (isPrototype(source) || isArrayLike(source)) {
          copyObject(source, keys(source), object);
          return;
        }

        for (var key in source) {
          if (hasOwnProperty.call(source, key)) {
            assignValue(object, key, source[key]);
          }
        }
      });
      var assignIn = createAssigner(function (object, source) {
        copyObject(source, keysIn(source), object);
      });
      var assignInWith = createAssigner(function (object, source, srcIndex, customizer) {
        copyObject(source, keysIn(source), object, customizer);
      });
      var assignWith = createAssigner(function (object, source, srcIndex, customizer) {
        copyObject(source, keys(source), object, customizer);
      });
      var at = flatRest(baseAt);

      function create(prototype, properties) {
        var result = baseCreate(prototype);
        return properties == null ? result : baseAssign(result, properties);
      }

      var defaults = baseRest(function (object, sources) {
        object = Object(object);
        var index = -1;
        var length = sources.length;
        var guard = length > 2 ? sources[2] : undefined;

        if (guard && isIterateeCall(sources[0], sources[1], guard)) {
          length = 1;
        }

        while (++index < length) {
          var source = sources[index];
          var props = keysIn(source);
          var propsIndex = -1;
          var propsLength = props.length;

          while (++propsIndex < propsLength) {
            var key = props[propsIndex];
            var value = object[key];

            if (value === undefined || eq(value, objectProto[key]) && !hasOwnProperty.call(object, key)) {
              object[key] = source[key];
            }
          }
        }

        return object;
      });
      var defaultsDeep = baseRest(function (args) {
        args.push(undefined, customDefaultsMerge);
        return apply(mergeWith, undefined, args);
      });

      function findKey(object, predicate) {
        return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);
      }

      function findLastKey(object, predicate) {
        return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);
      }

      function forIn(object, iteratee) {
        return object == null ? object : baseFor(object, getIteratee(iteratee, 3), keysIn);
      }

      function forInRight(object, iteratee) {
        return object == null ? object : baseForRight(object, getIteratee(iteratee, 3), keysIn);
      }

      function forOwn(object, iteratee) {
        return object && baseForOwn(object, getIteratee(iteratee, 3));
      }

      function forOwnRight(object, iteratee) {
        return object && baseForOwnRight(object, getIteratee(iteratee, 3));
      }

      function functions(object) {
        return object == null ? [] : baseFunctions(object, keys(object));
      }

      function functionsIn(object) {
        return object == null ? [] : baseFunctions(object, keysIn(object));
      }

      function get(object, path, defaultValue) {
        var result = object == null ? undefined : baseGet(object, path);
        return result === undefined ? defaultValue : result;
      }

      function has(object, path) {
        return object != null && hasPath(object, path, baseHas);
      }

      function hasIn(object, path) {
        return object != null && hasPath(object, path, baseHasIn);
      }

      var invert = createInverter(function (result, value, key) {
        if (value != null && typeof value.toString != 'function') {
          value = nativeObjectToString.call(value);
        }

        result[value] = key;
      }, constant(identity));
      var invertBy = createInverter(function (result, value, key) {
        if (value != null && typeof value.toString != 'function') {
          value = nativeObjectToString.call(value);
        }

        if (hasOwnProperty.call(result, value)) {
          result[value].push(key);
        } else {
          result[value] = [key];
        }
      }, getIteratee);
      var invoke = baseRest(baseInvoke);

      function keys(object) {
        return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
      }

      function keysIn(object) {
        return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
      }

      function mapKeys(object, iteratee) {
        var result = {};
        iteratee = getIteratee(iteratee, 3);
        baseForOwn(object, function (value, key, object) {
          baseAssignValue(result, iteratee(value, key, object), value);
        });
        return result;
      }

      function mapValues(object, iteratee) {
        var result = {};
        iteratee = getIteratee(iteratee, 3);
        baseForOwn(object, function (value, key, object) {
          baseAssignValue(result, key, iteratee(value, key, object));
        });
        return result;
      }

      var merge = createAssigner(function (object, source, srcIndex) {
        baseMerge(object, source, srcIndex);
      });
      var mergeWith = createAssigner(function (object, source, srcIndex, customizer) {
        baseMerge(object, source, srcIndex, customizer);
      });
      var omit = flatRest(function (object, paths) {
        var result = {};

        if (object == null) {
          return result;
        }

        var isDeep = false;
        paths = arrayMap(paths, function (path) {
          path = castPath(path, object);
          isDeep || (isDeep = path.length > 1);
          return path;
        });
        copyObject(object, getAllKeysIn(object), result);

        if (isDeep) {
          result = baseClone(result, 7, customOmitClone);
        }

        var length = paths.length;

        while (length--) {
          baseUnset(result, paths[length]);
        }

        return result;
      });

      function omitBy(object, predicate) {
        return pickBy(object, negate(getIteratee(predicate)));
      }

      var pick = flatRest(function (object, paths) {
        return object == null ? {} : basePick(object, paths);
      });

      function pickBy(object, predicate) {
        if (object == null) {
          return {};
        }

        var props = arrayMap(getAllKeysIn(object), function (prop) {
          return [prop];
        });
        predicate = getIteratee(predicate);
        return basePickBy(object, props, function (value, path) {
          return predicate(value, path[0]);
        });
      }

      function result(object, path, defaultValue) {
        path = castPath(path, object);
        var index = -1,
            length = path.length;

        if (!length) {
          length = 1;
          object = undefined;
        }

        while (++index < length) {
          var value = object == null ? undefined : object[toKey(path[index])];

          if (value === undefined) {
            index = length;
            value = defaultValue;
          }

          object = isFunction(value) ? value.call(object) : value;
        }

        return object;
      }

      function set(object, path, value) {
        return object == null ? object : baseSet(object, path, value);
      }

      function setWith(object, path, value, customizer) {
        customizer = typeof customizer == 'function' ? customizer : undefined;
        return object == null ? object : baseSet(object, path, value, customizer);
      }

      var toPairs = createToPairs(keys);
      var toPairsIn = createToPairs(keysIn);

      function transform(object, iteratee, accumulator) {
        var isArr = isArray(object),
            isArrLike = isArr || isBuffer(object) || isTypedArray(object);
        iteratee = getIteratee(iteratee, 4);

        if (accumulator == null) {
          var Ctor = object && object.constructor;

          if (isArrLike) {
            accumulator = isArr ? new Ctor() : [];
          } else if (isObject(object)) {
            accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};
          } else {
            accumulator = {};
          }
        }

        (isArrLike ? arrayEach : baseForOwn)(object, function (value, index, object) {
          return iteratee(accumulator, value, index, object);
        });
        return accumulator;
      }

      function unset(object, path) {
        return object == null ? true : baseUnset(object, path);
      }

      function update(object, path, updater) {
        return object == null ? object : baseUpdate(object, path, castFunction(updater));
      }

      function updateWith(object, path, updater, customizer) {
        customizer = typeof customizer == 'function' ? customizer : undefined;
        return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);
      }

      function values(object) {
        return object == null ? [] : baseValues(object, keys(object));
      }

      function valuesIn(object) {
        return object == null ? [] : baseValues(object, keysIn(object));
      }

      function clamp(number, lower, upper) {
        if (upper === undefined) {
          upper = lower;
          lower = undefined;
        }

        if (upper !== undefined) {
          upper = toNumber(upper);
          upper = upper === upper ? upper : 0;
        }

        if (lower !== undefined) {
          lower = toNumber(lower);
          lower = lower === lower ? lower : 0;
        }

        return baseClamp(toNumber(number), lower, upper);
      }

      function inRange(number, start, end) {
        start = toFinite(start);

        if (end === undefined) {
          end = start;
          start = 0;
        } else {
          end = toFinite(end);
        }

        number = toNumber(number);
        return baseInRange(number, start, end);
      }

      function random(lower, upper, floating) {
        if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {
          upper = floating = undefined;
        }

        if (floating === undefined) {
          if (typeof upper == 'boolean') {
            floating = upper;
            upper = undefined;
          } else if (typeof lower == 'boolean') {
            floating = lower;
            lower = undefined;
          }
        }

        if (lower === undefined && upper === undefined) {
          lower = 0;
          upper = 1;
        } else {
          lower = toFinite(lower);

          if (upper === undefined) {
            upper = lower;
            lower = 0;
          } else {
            upper = toFinite(upper);
          }
        }

        if (lower > upper) {
          var temp = lower;
          lower = upper;
          upper = temp;
        }

        if (floating || lower % 1 || upper % 1) {
          var rand = nativeRandom();
          return nativeMin(lower + rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1))), upper);
        }

        return baseRandom(lower, upper);
      }

      var camelCase = createCompounder(function (result, word, index) {
        word = word.toLowerCase();
        return result + (index ? capitalize(word) : word);
      });

      function capitalize(string) {
        return upperFirst(toString(string).toLowerCase());
      }

      function deburr(string) {
        string = toString(string);
        return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');
      }

      function endsWith(string, target, position) {
        string = toString(string);
        target = baseToString(target);
        var length = string.length;
        position = position === undefined ? length : baseClamp(toInteger(position), 0, length);
        var end = position;
        position -= target.length;
        return position >= 0 && string.slice(position, end) == target;
      }

      function escape(string) {
        string = toString(string);
        return string && reHasUnescapedHtml.test(string) ? string.replace(reUnescapedHtml, escapeHtmlChar) : string;
      }

      function escapeRegExp(string) {
        string = toString(string);
        return string && reHasRegExpChar.test(string) ? string.replace(reRegExpChar, '\\$&') : string;
      }

      var kebabCase = createCompounder(function (result, word, index) {
        return result + (index ? '-' : '') + word.toLowerCase();
      });
      var lowerCase = createCompounder(function (result, word, index) {
        return result + (index ? ' ' : '') + word.toLowerCase();
      });
      var lowerFirst = createCaseFirst('toLowerCase');

      function pad(string, length, chars) {
        string = toString(string);
        length = toInteger(length);
        var strLength = length ? stringSize(string) : 0;

        if (!length || strLength >= length) {
          return string;
        }

        var mid = (length - strLength) / 2;
        return createPadding(nativeFloor(mid), chars) + string + createPadding(nativeCeil(mid), chars);
      }

      function padEnd(string, length, chars) {
        string = toString(string);
        length = toInteger(length);
        var strLength = length ? stringSize(string) : 0;
        return length && strLength < length ? string + createPadding(length - strLength, chars) : string;
      }

      function padStart(string, length, chars) {
        string = toString(string);
        length = toInteger(length);
        var strLength = length ? stringSize(string) : 0;
        return length && strLength < length ? createPadding(length - strLength, chars) + string : string;
      }

      function parseInt(string, radix, guard) {
        if (guard || radix == null) {
          radix = 0;
        } else if (radix) {
          radix = +radix;
        }

        return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);
      }

      function repeat(string, n, guard) {
        if (guard ? isIterateeCall(string, n, guard) : n === undefined) {
          n = 1;
        } else {
          n = toInteger(n);
        }

        return baseRepeat(toString(string), n);
      }

      function replace() {
        var args = arguments,
            string = toString(args[0]);
        return args.length < 3 ? string : string.replace(args[1], args[2]);
      }

      var snakeCase = createCompounder(function (result, word, index) {
        return result + (index ? '_' : '') + word.toLowerCase();
      });

      function split(string, separator, limit) {
        if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {
          separator = limit = undefined;
        }

        limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;

        if (!limit) {
          return [];
        }

        string = toString(string);

        if (string && (typeof separator == 'string' || separator != null && !isRegExp(separator))) {
          separator = baseToString(separator);

          if (!separator && hasUnicode(string)) {
            return castSlice(stringToArray(string), 0, limit);
          }
        }

        return string.split(separator, limit);
      }

      var startCase = createCompounder(function (result, word, index) {
        return result + (index ? ' ' : '') + upperFirst(word);
      });

      function startsWith(string, target, position) {
        string = toString(string);
        position = position == null ? 0 : baseClamp(toInteger(position), 0, string.length);
        target = baseToString(target);
        return string.slice(position, position + target.length) == target;
      }

      function template(string, options, guard) {
        var settings = lodash.templateSettings;

        if (guard && isIterateeCall(string, options, guard)) {
          options = undefined;
        }

        string = toString(string);
        options = assignInWith({}, options, settings, customDefaultsAssignIn);
        var imports = assignInWith({}, options.imports, settings.imports, customDefaultsAssignIn),
            importsKeys = keys(imports),
            importsValues = baseValues(imports, importsKeys);
        var isEscaping,
            isEvaluating,
            index = 0,
            interpolate = options.interpolate || reNoMatch,
            source = "__p += '";
        var reDelimiters = RegExp((options.escape || reNoMatch).source + '|' + interpolate.source + '|' + (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + '|' + (options.evaluate || reNoMatch).source + '|$', 'g');
        var sourceURL = '//# sourceURL=' + (hasOwnProperty.call(options, 'sourceURL') ? (options.sourceURL + '').replace(/\s/g, ' ') : 'lodash.templateSources[' + ++templateCounter + ']') + '\n';
        string.replace(reDelimiters, function (match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) {
          interpolateValue || (interpolateValue = esTemplateValue);
          source += string.slice(index, offset).replace(reUnescapedString, escapeStringChar);

          if (escapeValue) {
            isEscaping = true;
            source += "' +\n__e(" + escapeValue + ") +\n'";
          }

          if (evaluateValue) {
            isEvaluating = true;
            source += "';\n" + evaluateValue + ";\n__p += '";
          }

          if (interpolateValue) {
            source += "' +\n((__t = (" + interpolateValue + ")) == null ? '' : __t) +\n'";
          }

          index = offset + match.length;
          return match;
        });
        source += "';\n";
        var variable = hasOwnProperty.call(options, 'variable') && options.variable;

        if (!variable) {
          source = 'with (obj) {\n' + source + '\n}\n';
        } else if (reForbiddenIdentifierChars.test(variable)) {
          throw new Error(INVALID_TEMPL_VAR_ERROR_TEXT);
        }

        source = (isEvaluating ? source.replace(reEmptyStringLeading, '') : source).replace(reEmptyStringMiddle, '$1').replace(reEmptyStringTrailing, '$1;');
        source = 'function(' + (variable || 'obj') + ') {\n' + (variable ? '' : 'obj || (obj = {});\n') + "var __t, __p = ''" + (isEscaping ? ', __e = _.escape' : '') + (isEvaluating ? ", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n" : ';\n') + source + 'return __p\n}';
        var result = attempt(function () {
          return Function(importsKeys, sourceURL + 'return ' + source).apply(undefined, importsValues);
        });
        result.source = source;

        if (isError(result)) {
          throw result;
        }

        return result;
      }

      function toLower(value) {
        return toString(value).toLowerCase();
      }

      function toUpper(value) {
        return toString(value).toUpperCase();
      }

      function trim(string, chars, guard) {
        string = toString(string);

        if (string && (guard || chars === undefined)) {
          return baseTrim(string);
        }

        if (!string || !(chars = baseToString(chars))) {
          return string;
        }

        var strSymbols = stringToArray(string),
            chrSymbols = stringToArray(chars),
            start = charsStartIndex(strSymbols, chrSymbols),
            end = charsEndIndex(strSymbols, chrSymbols) + 1;
        return castSlice(strSymbols, start, end).join('');
      }

      function trimEnd(string, chars, guard) {
        string = toString(string);

        if (string && (guard || chars === undefined)) {
          return string.slice(0, trimmedEndIndex(string) + 1);
        }

        if (!string || !(chars = baseToString(chars))) {
          return string;
        }

        var strSymbols = stringToArray(string),
            end = charsEndIndex(strSymbols, stringToArray(chars)) + 1;
        return castSlice(strSymbols, 0, end).join('');
      }

      function trimStart(string, chars, guard) {
        string = toString(string);

        if (string && (guard || chars === undefined)) {
          return string.replace(reTrimStart, '');
        }

        if (!string || !(chars = baseToString(chars))) {
          return string;
        }

        var strSymbols = stringToArray(string),
            start = charsStartIndex(strSymbols, stringToArray(chars));
        return castSlice(strSymbols, start).join('');
      }

      function truncate(string, options) {
        var length = DEFAULT_TRUNC_LENGTH,
            omission = DEFAULT_TRUNC_OMISSION;

        if (isObject(options)) {
          var separator = 'separator' in options ? options.separator : separator;
          length = 'length' in options ? toInteger(options.length) : length;
          omission = 'omission' in options ? baseToString(options.omission) : omission;
        }

        string = toString(string);
        var strLength = string.length;

        if (hasUnicode(string)) {
          var strSymbols = stringToArray(string);
          strLength = strSymbols.length;
        }

        if (length >= strLength) {
          return string;
        }

        var end = length - stringSize(omission);

        if (end < 1) {
          return omission;
        }

        var result = strSymbols ? castSlice(strSymbols, 0, end).join('') : string.slice(0, end);

        if (separator === undefined) {
          return result + omission;
        }

        if (strSymbols) {
          end += result.length - end;
        }

        if (isRegExp(separator)) {
          if (string.slice(end).search(separator)) {
            var match,
                substring = result;

            if (!separator.global) {
              separator = RegExp(separator.source, toString(reFlags.exec(separator)) + 'g');
            }

            separator.lastIndex = 0;

            while (match = separator.exec(substring)) {
              var newEnd = match.index;
            }

            result = result.slice(0, newEnd === undefined ? end : newEnd);
          }
        } else if (string.indexOf(baseToString(separator), end) != end) {
          var index = result.lastIndexOf(separator);

          if (index > -1) {
            result = result.slice(0, index);
          }
        }

        return result + omission;
      }

      function unescape(string) {
        string = toString(string);
        return string && reHasEscapedHtml.test(string) ? string.replace(reEscapedHtml, unescapeHtmlChar) : string;
      }

      var upperCase = createCompounder(function (result, word, index) {
        return result + (index ? ' ' : '') + word.toUpperCase();
      });
      var upperFirst = createCaseFirst('toUpperCase');

      function words(string, pattern, guard) {
        string = toString(string);
        pattern = guard ? undefined : pattern;

        if (pattern === undefined) {
          return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);
        }

        return string.match(pattern) || [];
      }

      var attempt = baseRest(function (func, args) {
        try {
          return apply(func, undefined, args);
        } catch (e) {
          return isError(e) ? e : new Error(e);
        }
      });
      var bindAll = flatRest(function (object, methodNames) {
        arrayEach(methodNames, function (key) {
          key = toKey(key);
          baseAssignValue(object, key, bind(object[key], object));
        });
        return object;
      });

      function cond(pairs) {
        var length = pairs == null ? 0 : pairs.length,
            toIteratee = getIteratee();
        pairs = !length ? [] : arrayMap(pairs, function (pair) {
          if (typeof pair[1] != 'function') {
            throw new TypeError(FUNC_ERROR_TEXT);
          }

          return [toIteratee(pair[0]), pair[1]];
        });
        return baseRest(function (args) {
          var index = -1;

          while (++index < length) {
            var pair = pairs[index];

            if (apply(pair[0], this, args)) {
              return apply(pair[1], this, args);
            }
          }
        });
      }

      function conforms(source) {
        return baseConforms(baseClone(source, CLONE_DEEP_FLAG));
      }

      function constant(value) {
        return function () {
          return value;
        };
      }

      function defaultTo(value, defaultValue) {
        return value == null || value !== value ? defaultValue : value;
      }

      var flow = createFlow();
      var flowRight = createFlow(true);

      function identity(value) {
        return value;
      }

      function iteratee(func) {
        return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG));
      }

      function matches(source) {
        return baseMatches(baseClone(source, CLONE_DEEP_FLAG));
      }

      function matchesProperty(path, srcValue) {
        return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG));
      }

      var method = baseRest(function (path, args) {
        return function (object) {
          return baseInvoke(object, path, args);
        };
      });
      var methodOf = baseRest(function (object, args) {
        return function (path) {
          return baseInvoke(object, path, args);
        };
      });

      function mixin(object, source, options) {
        var props = keys(source),
            methodNames = baseFunctions(source, props);

        if (options == null && !(isObject(source) && (methodNames.length || !props.length))) {
          options = source;
          source = object;
          object = this;
          methodNames = baseFunctions(source, keys(source));
        }

        var chain = !(isObject(options) && 'chain' in options) || !!options.chain,
            isFunc = isFunction(object);
        arrayEach(methodNames, function (methodName) {
          var func = source[methodName];
          object[methodName] = func;

          if (isFunc) {
            object.prototype[methodName] = function () {
              var chainAll = this.__chain__;

              if (chain || chainAll) {
                var result = object(this.__wrapped__),
                    actions = result.__actions__ = copyArray(this.__actions__);
                actions.push({
                  'func': func,
                  'args': arguments,
                  'thisArg': object
                });
                result.__chain__ = chainAll;
                return result;
              }

              return func.apply(object, arrayPush([this.value()], arguments));
            };
          }
        });
        return object;
      }

      function noConflict() {
        if (root._ === this) {
          root._ = oldDash;
        }

        return this;
      }

      function noop() {}

      function nthArg(n) {
        n = toInteger(n);
        return baseRest(function (args) {
          return baseNth(args, n);
        });
      }

      var over = createOver(arrayMap);
      var overEvery = createOver(arrayEvery);
      var overSome = createOver(arraySome);

      function property(path) {
        return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
      }

      function propertyOf(object) {
        return function (path) {
          return object == null ? undefined : baseGet(object, path);
        };
      }

      var range = createRange();
      var rangeRight = createRange(true);

      function stubArray() {
        return [];
      }

      function stubFalse() {
        return false;
      }

      function stubObject() {
        return {};
      }

      function stubString() {
        return '';
      }

      function stubTrue() {
        return true;
      }

      function times(n, iteratee) {
        n = toInteger(n);

        if (n < 1 || n > MAX_SAFE_INTEGER) {
          return [];
        }

        var index = MAX_ARRAY_LENGTH,
            length = nativeMin(n, MAX_ARRAY_LENGTH);
        iteratee = getIteratee(iteratee);
        n -= MAX_ARRAY_LENGTH;
        var result = baseTimes(length, iteratee);

        while (++index < n) {
          iteratee(index);
        }

        return result;
      }

      function toPath(value) {
        if (isArray(value)) {
          return arrayMap(value, toKey);
        }

        return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value)));
      }

      function uniqueId(prefix) {
        var id = ++idCounter;
        return toString(prefix) + id;
      }

      var add = createMathOperation(function (augend, addend) {
        return augend + addend;
      }, 0);
      var ceil = createRound('ceil');
      var divide = createMathOperation(function (dividend, divisor) {
        return dividend / divisor;
      }, 1);
      var floor = createRound('floor');

      function max(array) {
        return array && array.length ? baseExtremum(array, identity, baseGt) : undefined;
      }

      function maxBy(array, iteratee) {
        return array && array.length ? baseExtremum(array, getIteratee(iteratee, 2), baseGt) : undefined;
      }

      function mean(array) {
        return baseMean(array, identity);
      }

      function meanBy(array, iteratee) {
        return baseMean(array, getIteratee(iteratee, 2));
      }

      function min(array) {
        return array && array.length ? baseExtremum(array, identity, baseLt) : undefined;
      }

      function minBy(array, iteratee) {
        return array && array.length ? baseExtremum(array, getIteratee(iteratee, 2), baseLt) : undefined;
      }

      var multiply = createMathOperation(function (multiplier, multiplicand) {
        return multiplier * multiplicand;
      }, 1);
      var round = createRound('round');
      var subtract = createMathOperation(function (minuend, subtrahend) {
        return minuend - subtrahend;
      }, 0);

      function sum(array) {
        return array && array.length ? baseSum(array, identity) : 0;
      }

      function sumBy(array, iteratee) {
        return array && array.length ? baseSum(array, getIteratee(iteratee, 2)) : 0;
      }

      lodash.after = after;
      lodash.ary = ary;
      lodash.assign = assign;
      lodash.assignIn = assignIn;
      lodash.assignInWith = assignInWith;
      lodash.assignWith = assignWith;
      lodash.at = at;
      lodash.before = before;
      lodash.bind = bind;
      lodash.bindAll = bindAll;
      lodash.bindKey = bindKey;
      lodash.castArray = castArray;
      lodash.chain = chain;
      lodash.chunk = chunk;
      lodash.compact = compact;
      lodash.concat = concat;
      lodash.cond = cond;
      lodash.conforms = conforms;
      lodash.constant = constant;
      lodash.countBy = countBy;
      lodash.create = create;
      lodash.curry = curry;
      lodash.curryRight = curryRight;
      lodash.debounce = debounce;
      lodash.defaults = defaults;
      lodash.defaultsDeep = defaultsDeep;
      lodash.defer = defer;
      lodash.delay = delay;
      lodash.difference = difference;
      lodash.differenceBy = differenceBy;
      lodash.differenceWith = differenceWith;
      lodash.drop = drop;
      lodash.dropRight = dropRight;
      lodash.dropRightWhile = dropRightWhile;
      lodash.dropWhile = dropWhile;
      lodash.fill = fill;
      lodash.filter = filter;
      lodash.flatMap = flatMap;
      lodash.flatMapDeep = flatMapDeep;
      lodash.flatMapDepth = flatMapDepth;
      lodash.flatten = flatten;
      lodash.flattenDeep = flattenDeep;
      lodash.flattenDepth = flattenDepth;
      lodash.flip = flip;
      lodash.flow = flow;
      lodash.flowRight = flowRight;
      lodash.fromPairs = fromPairs;
      lodash.functions = functions;
      lodash.functionsIn = functionsIn;
      lodash.groupBy = groupBy;
      lodash.initial = initial;
      lodash.intersection = intersection;
      lodash.intersectionBy = intersectionBy;
      lodash.intersectionWith = intersectionWith;
      lodash.invert = invert;
      lodash.invertBy = invertBy;
      lodash.invokeMap = invokeMap;
      lodash.iteratee = iteratee;
      lodash.keyBy = keyBy;
      lodash.keys = keys;
      lodash.keysIn = keysIn;
      lodash.map = map;
      lodash.mapKeys = mapKeys;
      lodash.mapValues = mapValues;
      lodash.matches = matches;
      lodash.matchesProperty = matchesProperty;
      lodash.memoize = memoize;
      lodash.merge = merge;
      lodash.mergeWith = mergeWith;
      lodash.method = method;
      lodash.methodOf = methodOf;
      lodash.mixin = mixin;
      lodash.negate = negate;
      lodash.nthArg = nthArg;
      lodash.omit = omit;
      lodash.omitBy = omitBy;
      lodash.once = once;
      lodash.orderBy = orderBy;
      lodash.over = over;
      lodash.overArgs = overArgs;
      lodash.overEvery = overEvery;
      lodash.overSome = overSome;
      lodash.partial = partial;
      lodash.partialRight = partialRight;
      lodash.partition = partition;
      lodash.pick = pick;
      lodash.pickBy = pickBy;
      lodash.property = property;
      lodash.propertyOf = propertyOf;
      lodash.pull = pull;
      lodash.pullAll = pullAll;
      lodash.pullAllBy = pullAllBy;
      lodash.pullAllWith = pullAllWith;
      lodash.pullAt = pullAt;
      lodash.range = range;
      lodash.rangeRight = rangeRight;
      lodash.rearg = rearg;
      lodash.reject = reject;
      lodash.remove = remove;
      lodash.rest = rest;
      lodash.reverse = reverse;
      lodash.sampleSize = sampleSize;
      lodash.set = set;
      lodash.setWith = setWith;
      lodash.shuffle = shuffle;
      lodash.slice = slice;
      lodash.sortBy = sortBy;
      lodash.sortedUniq = sortedUniq;
      lodash.sortedUniqBy = sortedUniqBy;
      lodash.split = split;
      lodash.spread = spread;
      lodash.tail = tail;
      lodash.take = take;
      lodash.takeRight = takeRight;
      lodash.takeRightWhile = takeRightWhile;
      lodash.takeWhile = takeWhile;
      lodash.tap = tap;
      lodash.throttle = throttle;
      lodash.thru = thru;
      lodash.toArray = toArray;
      lodash.toPairs = toPairs;
      lodash.toPairsIn = toPairsIn;
      lodash.toPath = toPath;
      lodash.toPlainObject = toPlainObject;
      lodash.transform = transform;
      lodash.unary = unary;
      lodash.union = union;
      lodash.unionBy = unionBy;
      lodash.unionWith = unionWith;
      lodash.uniq = uniq;
      lodash.uniqBy = uniqBy;
      lodash.uniqWith = uniqWith;
      lodash.unset = unset;
      lodash.unzip = unzip;
      lodash.unzipWith = unzipWith;
      lodash.update = update;
      lodash.updateWith = updateWith;
      lodash.values = values;
      lodash.valuesIn = valuesIn;
      lodash.without = without;
      lodash.words = words;
      lodash.wrap = wrap;
      lodash.xor = xor;
      lodash.xorBy = xorBy;
      lodash.xorWith = xorWith;
      lodash.zip = zip;
      lodash.zipObject = zipObject;
      lodash.zipObjectDeep = zipObjectDeep;
      lodash.zipWith = zipWith;
      lodash.entries = toPairs;
      lodash.entriesIn = toPairsIn;
      lodash.extend = assignIn;
      lodash.extendWith = assignInWith;
      mixin(lodash, lodash);
      lodash.add = add;
      lodash.attempt = attempt;
      lodash.camelCase = camelCase;
      lodash.capitalize = capitalize;
      lodash.ceil = ceil;
      lodash.clamp = clamp;
      lodash.clone = clone;
      lodash.cloneDeep = cloneDeep;
      lodash.cloneDeepWith = cloneDeepWith;
      lodash.cloneWith = cloneWith;
      lodash.conformsTo = conformsTo;
      lodash.deburr = deburr;
      lodash.defaultTo = defaultTo;
      lodash.divide = divide;
      lodash.endsWith = endsWith;
      lodash.eq = eq;
      lodash.escape = escape;
      lodash.escapeRegExp = escapeRegExp;
      lodash.every = every;
      lodash.find = find;
      lodash.findIndex = findIndex;
      lodash.findKey = findKey;
      lodash.findLast = findLast;
      lodash.findLastIndex = findLastIndex;
      lodash.findLastKey = findLastKey;
      lodash.floor = floor;
      lodash.forEach = forEach;
      lodash.forEachRight = forEachRight;
      lodash.forIn = forIn;
      lodash.forInRight = forInRight;
      lodash.forOwn = forOwn;
      lodash.forOwnRight = forOwnRight;
      lodash.get = get;
      lodash.gt = gt;
      lodash.gte = gte;
      lodash.has = has;
      lodash.hasIn = hasIn;
      lodash.head = head;
      lodash.identity = identity;
      lodash.includes = includes;
      lodash.indexOf = indexOf;
      lodash.inRange = inRange;
      lodash.invoke = invoke;
      lodash.isArguments = isArguments;
      lodash.isArray = isArray;
      lodash.isArrayBuffer = isArrayBuffer;
      lodash.isArrayLike = isArrayLike;
      lodash.isArrayLikeObject = isArrayLikeObject;
      lodash.isBoolean = isBoolean;
      lodash.isBuffer = isBuffer;
      lodash.isDate = isDate;
      lodash.isElement = isElement;
      lodash.isEmpty = isEmpty;
      lodash.isEqual = isEqual;
      lodash.isEqualWith = isEqualWith;
      lodash.isError = isError;
      lodash.isFinite = isFinite;
      lodash.isFunction = isFunction;
      lodash.isInteger = isInteger;
      lodash.isLength = isLength;
      lodash.isMap = isMap;
      lodash.isMatch = isMatch;
      lodash.isMatchWith = isMatchWith;
      lodash.isNaN = isNaN;
      lodash.isNative = isNative;
      lodash.isNil = isNil;
      lodash.isNull = isNull;
      lodash.isNumber = isNumber;
      lodash.isObject = isObject;
      lodash.isObjectLike = isObjectLike;
      lodash.isPlainObject = isPlainObject;
      lodash.isRegExp = isRegExp;
      lodash.isSafeInteger = isSafeInteger;
      lodash.isSet = isSet;
      lodash.isString = isString;
      lodash.isSymbol = isSymbol;
      lodash.isTypedArray = isTypedArray;
      lodash.isUndefined = isUndefined;
      lodash.isWeakMap = isWeakMap;
      lodash.isWeakSet = isWeakSet;
      lodash.join = join;
      lodash.kebabCase = kebabCase;
      lodash.last = last;
      lodash.lastIndexOf = lastIndexOf;
      lodash.lowerCase = lowerCase;
      lodash.lowerFirst = lowerFirst;
      lodash.lt = lt;
      lodash.lte = lte;
      lodash.max = max;
      lodash.maxBy = maxBy;
      lodash.mean = mean;
      lodash.meanBy = meanBy;
      lodash.min = min;
      lodash.minBy = minBy;
      lodash.stubArray = stubArray;
      lodash.stubFalse = stubFalse;
      lodash.stubObject = stubObject;
      lodash.stubString = stubString;
      lodash.stubTrue = stubTrue;
      lodash.multiply = multiply;
      lodash.nth = nth;
      lodash.noConflict = noConflict;
      lodash.noop = noop;
      lodash.now = now;
      lodash.pad = pad;
      lodash.padEnd = padEnd;
      lodash.padStart = padStart;
      lodash.parseInt = parseInt;
      lodash.random = random;
      lodash.reduce = reduce;
      lodash.reduceRight = reduceRight;
      lodash.repeat = repeat;
      lodash.replace = replace;
      lodash.result = result;
      lodash.round = round;
      lodash.runInContext = runInContext;
      lodash.sample = sample;
      lodash.size = size;
      lodash.snakeCase = snakeCase;
      lodash.some = some;
      lodash.sortedIndex = sortedIndex;
      lodash.sortedIndexBy = sortedIndexBy;
      lodash.sortedIndexOf = sortedIndexOf;
      lodash.sortedLastIndex = sortedLastIndex;
      lodash.sortedLastIndexBy = sortedLastIndexBy;
      lodash.sortedLastIndexOf = sortedLastIndexOf;
      lodash.startCase = startCase;
      lodash.startsWith = startsWith;
      lodash.subtract = subtract;
      lodash.sum = sum;
      lodash.sumBy = sumBy;
      lodash.template = template;
      lodash.times = times;
      lodash.toFinite = toFinite;
      lodash.toInteger = toInteger;
      lodash.toLength = toLength;
      lodash.toLower = toLower;
      lodash.toNumber = toNumber;
      lodash.toSafeInteger = toSafeInteger;
      lodash.toString = toString;
      lodash.toUpper = toUpper;
      lodash.trim = trim;
      lodash.trimEnd = trimEnd;
      lodash.trimStart = trimStart;
      lodash.truncate = truncate;
      lodash.unescape = unescape;
      lodash.uniqueId = uniqueId;
      lodash.upperCase = upperCase;
      lodash.upperFirst = upperFirst;
      lodash.each = forEach;
      lodash.eachRight = forEachRight;
      lodash.first = head;
      mixin(lodash, function () {
        var source = {};
        baseForOwn(lodash, function (func, methodName) {
          if (!hasOwnProperty.call(lodash.prototype, methodName)) {
            source[methodName] = func;
          }
        });
        return source;
      }(), {
        'chain': false
      });
      lodash.VERSION = VERSION;
      arrayEach(['bind', 'bindKey', 'curry', 'curryRight', 'partial', 'partialRight'], function (methodName) {
        lodash[methodName].placeholder = lodash;
      });
      arrayEach(['drop', 'take'], function (methodName, index) {
        LazyWrapper.prototype[methodName] = function (n) {
          n = n === undefined ? 1 : nativeMax(toInteger(n), 0);
          var result = this.__filtered__ && !index ? new LazyWrapper(this) : this.clone();

          if (result.__filtered__) {
            result.__takeCount__ = nativeMin(n, result.__takeCount__);
          } else {
            result.__views__.push({
              'size': nativeMin(n, MAX_ARRAY_LENGTH),
              'type': methodName + (result.__dir__ < 0 ? 'Right' : '')
            });
          }

          return result;
        };

        LazyWrapper.prototype[methodName + 'Right'] = function (n) {
          return this.reverse()[methodName](n).reverse();
        };
      });
      arrayEach(['filter', 'map', 'takeWhile'], function (methodName, index) {
        var type = index + 1,
            isFilter = type == LAZY_FILTER_FLAG || type == LAZY_WHILE_FLAG;

        LazyWrapper.prototype[methodName] = function (iteratee) {
          var result = this.clone();

          result.__iteratees__.push({
            'iteratee': getIteratee(iteratee, 3),
            'type': type
          });

          result.__filtered__ = result.__filtered__ || isFilter;
          return result;
        };
      });
      arrayEach(['head', 'last'], function (methodName, index) {
        var takeName = 'take' + (index ? 'Right' : '');

        LazyWrapper.prototype[methodName] = function () {
          return this[takeName](1).value()[0];
        };
      });
      arrayEach(['initial', 'tail'], function (methodName, index) {
        var dropName = 'drop' + (index ? '' : 'Right');

        LazyWrapper.prototype[methodName] = function () {
          return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1);
        };
      });

      LazyWrapper.prototype.compact = function () {
        return this.filter(identity);
      };

      LazyWrapper.prototype.find = function (predicate) {
        return this.filter(predicate).head();
      };

      LazyWrapper.prototype.findLast = function (predicate) {
        return this.reverse().find(predicate);
      };

      LazyWrapper.prototype.invokeMap = baseRest(function (path, args) {
        if (typeof path == 'function') {
          return new LazyWrapper(this);
        }

        return this.map(function (value) {
          return baseInvoke(value, path, args);
        });
      });

      LazyWrapper.prototype.reject = function (predicate) {
        return this.filter(negate(getIteratee(predicate)));
      };

      LazyWrapper.prototype.slice = function (start, end) {
        start = toInteger(start);
        var result = this;

        if (result.__filtered__ && (start > 0 || end < 0)) {
          return new LazyWrapper(result);
        }

        if (start < 0) {
          result = result.takeRight(-start);
        } else if (start) {
          result = result.drop(start);
        }

        if (end !== undefined) {
          end = toInteger(end);
          result = end < 0 ? result.dropRight(-end) : result.take(end - start);
        }

        return result;
      };

      LazyWrapper.prototype.takeRightWhile = function (predicate) {
        return this.reverse().takeWhile(predicate).reverse();
      };

      LazyWrapper.prototype.toArray = function () {
        return this.take(MAX_ARRAY_LENGTH);
      };

      baseForOwn(LazyWrapper.prototype, function (func, methodName) {
        var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName),
            isTaker = /^(?:head|last)$/.test(methodName),
            lodashFunc = lodash[isTaker ? 'take' + (methodName == 'last' ? 'Right' : '') : methodName],
            retUnwrapped = isTaker || /^find/.test(methodName);

        if (!lodashFunc) {
          return;
        }

        lodash.prototype[methodName] = function () {
          var value = this.__wrapped__,
              args = isTaker ? [1] : arguments,
              isLazy = value instanceof LazyWrapper,
              iteratee = args[0],
              useLazy = isLazy || isArray(value);

          var interceptor = function interceptor(value) {
            var result = lodashFunc.apply(lodash, arrayPush([value], args));
            return isTaker && chainAll ? result[0] : result;
          };

          if (useLazy && checkIteratee && typeof iteratee == 'function' && iteratee.length != 1) {
            isLazy = useLazy = false;
          }

          var chainAll = this.__chain__,
              isHybrid = !!this.__actions__.length,
              isUnwrapped = retUnwrapped && !chainAll,
              onlyLazy = isLazy && !isHybrid;

          if (!retUnwrapped && useLazy) {
            value = onlyLazy ? value : new LazyWrapper(this);
            var result = func.apply(value, args);

            result.__actions__.push({
              'func': thru,
              'args': [interceptor],
              'thisArg': undefined
            });

            return new LodashWrapper(result, chainAll);
          }

          if (isUnwrapped && onlyLazy) {
            return func.apply(this, args);
          }

          result = this.thru(interceptor);
          return isUnwrapped ? isTaker ? result.value()[0] : result.value() : result;
        };
      });
      arrayEach(['pop', 'push', 'shift', 'sort', 'splice', 'unshift'], function (methodName) {
        var func = arrayProto[methodName],
            chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru',
            retUnwrapped = /^(?:pop|shift)$/.test(methodName);

        lodash.prototype[methodName] = function () {
          var args = arguments;

          if (retUnwrapped && !this.__chain__) {
            var value = this.value();
            return func.apply(isArray(value) ? value : [], args);
          }

          return this[chainName](function (value) {
            return func.apply(isArray(value) ? value : [], args);
          });
        };
      });
      baseForOwn(LazyWrapper.prototype, function (func, methodName) {
        var lodashFunc = lodash[methodName];

        if (lodashFunc) {
          var key = lodashFunc.name + '';

          if (!hasOwnProperty.call(realNames, key)) {
            realNames[key] = [];
          }

          realNames[key].push({
            'name': methodName,
            'func': lodashFunc
          });
        }
      });
      realNames[createHybrid(undefined, WRAP_BIND_KEY_FLAG).name] = [{
        'name': 'wrapper',
        'func': undefined
      }];
      LazyWrapper.prototype.clone = lazyClone;
      LazyWrapper.prototype.reverse = lazyReverse;
      LazyWrapper.prototype.value = lazyValue;
      lodash.prototype.at = wrapperAt;
      lodash.prototype.chain = wrapperChain;
      lodash.prototype.commit = wrapperCommit;
      lodash.prototype.next = wrapperNext;
      lodash.prototype.plant = wrapperPlant;
      lodash.prototype.reverse = wrapperReverse;
      lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue;
      lodash.prototype.first = lodash.prototype.head;

      if (symIterator) {
        lodash.prototype[symIterator] = wrapperToIterator;
      }

      return lodash;
    };

    var _ = runInContext();

    if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {
      root._ = _;
      define(function () {
        return _;
      });
    } else if (freeModule) {
      (freeModule.exports = _)._ = _;
      freeExports._ = _;
    } else {
      root._ = _;
    }
  }).call(this);
},507,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var RNFetchBlob = _reactNative.NativeModules.RNFetchBlob;

  function actionViewIntent(path) {
    var mime = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'text/plain';
    if (_reactNative.Platform.OS === 'android') return RNFetchBlob.actionViewIntent(path, mime);else return Promise.reject('RNFetchBlob.android.actionViewIntent only supports Android.');
  }

  function getContentIntent(mime) {
    if (_reactNative.Platform.OS === 'android') return RNFetchBlob.getContentIntent(mime);else return Promise.reject('RNFetchBlob.android.getContentIntent only supports Android.');
  }

  function addCompleteDownload(config) {
    if (_reactNative.Platform.OS === 'android') return RNFetchBlob.addCompleteDownload(config);else return Promise.reject('RNFetchBlob.android.addCompleteDownload only supports Android.');
  }

  function getSDCardDir() {
    if (_reactNative.Platform.OS === 'android') return RNFetchBlob.getSDCardDir();else return Promise.reject('RNFetchBlob.android.getSDCardDir only supports Android.');
  }

  function getSDCardApplicationDir() {
    if (_reactNative.Platform.OS === 'android') return RNFetchBlob.getSDCardApplicationDir();else return Promise.reject('RNFetchBlob.android.getSDCardApplicationDir only supports Android.');
  }

  var _default = {
    actionViewIntent: actionViewIntent,
    getContentIntent: getContentIntent,
    addCompleteDownload: addCompleteDownload,
    getSDCardDir: getSDCardDir,
    getSDCardApplicationDir: getSDCardApplicationDir
  };
  exports.default = _default;
},508,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var RNFetchBlob = _reactNative.NativeModules.RNFetchBlob;

  function previewDocument(path, scheme) {
    if (_reactNative.Platform.OS === 'ios') return RNFetchBlob.previewDocument('file://' + path, scheme);else return Promise.reject('RNFetchBlob.openDocument only supports IOS.');
  }

  function openDocument(path, scheme) {
    if (_reactNative.Platform.OS === 'ios') return RNFetchBlob.openDocument('file://' + path, scheme);else return Promise.reject('RNFetchBlob.previewDocument only supports IOS.');
  }

  function excludeFromBackupKey(path) {
    return RNFetchBlob.excludeFromBackupKey('file://' + path);
  }

  var _default = {
    openDocument: openDocument,
    previewDocument: previewDocument,
    excludeFromBackupKey: excludeFromBackupKey
  };
  exports.default = _default;
},509,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _oboeBrowserMin = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _XMLHttpRequest = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _uri = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var OboeExtended = function OboeExtended(arg) {
    window.location = '';

    if (!window.XMLHttpRequest.isRNFBPolyfill) {
      window.XMLHttpRequest = _XMLHttpRequest.default;
      console.warn("Use JSONStream will automatically replace window.XMLHttpRequest with RNFetchBlob.polyfill.XMLHttpRequest. You are seeing this warning because you did not replace it manually.");
    }

    if (typeof arg === 'string') {
      if (_uri.default.isFileURI(arg)) {
        arg = {
          url: 'JSONStream://' + arg,
          headers: {
            noCache: true
          }
        };
      } else arg = 'JSONStream://' + arg;
    } else if (typeof arg === 'object') {
      var headers = arg.headers || {};

      if (_uri.default.isFileURI(arg.url)) {
        headers.noCache = true;
      }

      arg = (0, _extends2.default)(arg, {
        url: 'JSONStream://' + arg.url,
        headers: headers
      });
    }

    return (0, _oboeBrowserMin.default)(arg);
  };

  var _default = OboeExtended;
  exports.default = _default;
},510,[5,6,511,500,488]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  !function (a, b, c, d, e, f) {
    function g(a, b) {
      return function () {
        return a.call(this, b.apply(this, arguments));
      };
    }

    function h(a) {
      return function (b) {
        return b[a];
      };
    }

    function i(a, b) {
      return b.apply(f, a);
    }

    function j(a) {
      var b = a.length - 1,
          d = c.prototype.slice;
      if (0 == b) return function () {
        return a.call(this, d.call(arguments));
      };
      if (1 == b) return function () {
        return a.call(this, arguments[0], d.call(arguments, 1));
      };
      var e = c(a.length);
      return function () {
        for (var c = 0; b > c; c++) {
          e[c] = arguments[c];
        }

        return e[b] = d.call(arguments, b), a.apply(this, e);
      };
    }

    function k(a) {
      return function (b, c) {
        return a(c, b);
      };
    }

    function l(a, b) {
      return function (c) {
        return a(c) && b(c);
      };
    }

    function m() {}

    function n() {
      return true;
    }

    function o(a) {
      return function () {
        return a;
      };
    }

    function p(a, b) {
      return b && b.constructor === a;
    }

    function q(a) {
      return a !== f;
    }

    function r(a, c) {
      return c instanceof b && y(function (a) {
        return a in c;
      }, a);
    }

    function s(a, b) {
      return [a, b];
    }

    function t(a) {
      return A(a.reduce(k(s), X));
    }

    function u(a) {
      return w(function (a, b) {
        return a.unshift(b), a;
      }, [], a);
    }

    function v(a, b) {
      return b ? s(a(Y(b)), v(a, Z(b))) : X;
    }

    function w(a, b, c) {
      return c ? a(w(a, b, Z(c)), Y(c)) : b;
    }

    function x(a, b, c) {
      function d(a, c) {
        return a ? b(Y(a)) ? (c(Y(a)), Z(a)) : s(Y(a), d(Z(a), c)) : X;
      }

      return d(a, c || m);
    }

    function y(a, b) {
      return !b || a(Y(b)) && y(a, Z(b));
    }

    function z(a, b) {
      a && (Y(a).apply(null, b), z(Z(a), b));
    }

    function A(a) {
      function b(a, c) {
        return a ? b(Z(a), s(Y(a), c)) : c;
      }

      return b(a, X);
    }

    function B(a, b) {
      return b && (a(Y(b)) ? Y(b) : B(a, Z(b)));
    }

    function C(a) {
      "use strict";

      function b() {
        var a = 0;
        P.length > p && (c("Max buffer length exceeded: textNode"), a = Math.max(a, P.length)), Q.length > p && (c("Max buffer length exceeded: numberNode"), a = Math.max(a, Q.length)), O = p - a + Y;
      }

      function c(a) {
        P && (m(P), n(), P = ""), i = d(a + "\nLn: " + $ + "\nCol: " + Z + "\nChr: " + j), o(N(f, f, i));
      }

      function e() {
        return T == s ? (m({}), n(), void (S = true)) : ((T !== t || 0 !== X) && c("Unexpected end"), P && (m(P), n(), P = ""), void (S = true));
      }

      function g(a) {
        return "\r" == a || "\n" == a || " " == a || "	" == a;
      }

      function h(a) {
        if (!i) {
          if (S) return c("Cannot write after close");
          var d = 0;

          for (j = a[0]; j && (k = j, j = a[d++]);) {
            switch (Y++, "\n" == j ? ($++, Z = 0) : Z++, T) {
              case s:
                if ("{" === j) T = u;else if ("[" === j) T = w;else if (!g(j)) return c("Non-whitespace before {[.");
                continue;

              case z:
              case u:
                if (g(j)) continue;
                if (T === z) U.push(A);else {
                  if ("}" === j) {
                    m({}), n(), T = U.pop() || t;
                    continue;
                  }

                  U.push(v);
                }
                if ('"' !== j) return c('Malformed object key should start with " ');
                T = y;
                continue;

              case A:
              case v:
                if (g(j)) continue;
                if (":" === j) T === v ? (U.push(v), P && (m({}), l(P), P = ""), X++) : P && (l(P), P = ""), T = t;else if ("}" === j) P && (m(P), n(), P = ""), n(), X--, T = U.pop() || t;else {
                  if ("," !== j) return c("Bad object");
                  T === v && U.push(v), P && (m(P), n(), P = ""), T = z;
                }
                continue;

              case w:
              case t:
                if (g(j)) continue;

                if (T === w) {
                  if (m([]), X++, T = t, "]" === j) {
                    n(), X--, T = U.pop() || t;
                    continue;
                  }

                  U.push(x);
                }

                if ('"' === j) T = y;else if ("{" === j) T = u;else if ("[" === j) T = w;else if ("t" === j) T = B;else if ("f" === j) T = E;else if ("n" === j) T = I;else if ("-" === j) Q += j;else if ("0" === j) Q += j, T = M;else {
                  if (-1 === "123456789".indexOf(j)) return c("Bad value");
                  Q += j, T = M;
                }
                continue;

              case x:
                if ("," === j) U.push(x), P && (m(P), n(), P = ""), T = t;else {
                  if ("]" !== j) {
                    if (g(j)) continue;
                    return c("Bad array");
                  }

                  P && (m(P), n(), P = ""), n(), X--, T = U.pop() || t;
                }
                continue;

              case y:
                var e = d - 1;

                a: for (;;) {
                  for (; W > 0;) {
                    if (V += j, j = a.charAt(d++), 4 === W ? (P += String.fromCharCode(parseInt(V, 16)), W = 0, e = d - 1) : W++, !j) break a;
                  }

                  if ('"' === j && !R) {
                    T = U.pop() || t, P += a.substring(e, d - 1), P || (m(""), n());
                    break;
                  }

                  if ("\\" === j && !R && (R = true, P += a.substring(e, d - 1), j = a.charAt(d++), !j)) break;

                  if (R) {
                    if (R = false, "n" === j ? P += "\n" : "r" === j ? P += "\r" : "t" === j ? P += "	" : "f" === j ? P += "\f" : "b" === j ? P += "\b" : "u" === j ? (W = 1, V = "") : P += j, j = a.charAt(d++), e = d - 1, j) continue;
                    break;
                  }

                  q.lastIndex = d;
                  var f = q.exec(a);

                  if (!f) {
                    d = a.length + 1, P += a.substring(e, d - 1);
                    break;
                  }

                  if (d = f.index + 1, j = a.charAt(f.index), !j) {
                    P += a.substring(e, d - 1);
                    break;
                  }
                }

                continue;

              case B:
                if (!j) continue;
                if ("r" !== j) return c("Invalid true started with t" + j);
                T = C;
                continue;

              case C:
                if (!j) continue;
                if ("u" !== j) return c("Invalid true started with tr" + j);
                T = D;
                continue;

              case D:
                if (!j) continue;
                if ("e" !== j) return c("Invalid true started with tru" + j);
                m(true), n(), T = U.pop() || t;
                continue;

              case E:
                if (!j) continue;
                if ("a" !== j) return c("Invalid false started with f" + j);
                T = F;
                continue;

              case F:
                if (!j) continue;
                if ("l" !== j) return c("Invalid false started with fa" + j);
                T = G;
                continue;

              case G:
                if (!j) continue;
                if ("s" !== j) return c("Invalid false started with fal" + j);
                T = H;
                continue;

              case H:
                if (!j) continue;
                if ("e" !== j) return c("Invalid false started with fals" + j);
                m(false), n(), T = U.pop() || t;
                continue;

              case I:
                if (!j) continue;
                if ("u" !== j) return c("Invalid null started with n" + j);
                T = J;
                continue;

              case J:
                if (!j) continue;
                if ("l" !== j) return c("Invalid null started with nu" + j);
                T = K;
                continue;

              case K:
                if (!j) continue;
                if ("l" !== j) return c("Invalid null started with nul" + j);
                m(null), n(), T = U.pop() || t;
                continue;

              case L:
                if ("." !== j) return c("Leading zero not followed by .");
                Q += j, T = M;
                continue;

              case M:
                if (-1 !== "0123456789".indexOf(j)) Q += j;else if ("." === j) {
                  if (-1 !== Q.indexOf(".")) return c("Invalid number has two dots");
                  Q += j;
                } else if ("e" === j || "E" === j) {
                  if (-1 !== Q.indexOf("e") || -1 !== Q.indexOf("E")) return c("Invalid number has two exponential");
                  Q += j;
                } else if ("+" === j || "-" === j) {
                  if ("e" !== k && "E" !== k) return c("Invalid symbol in number");
                  Q += j;
                } else Q && (m(parseFloat(Q)), n(), Q = ""), d--, T = U.pop() || t;
                continue;

              default:
                return c("Unknown state: " + T);
            }
          }

          Y >= O && b();
        }
      }

      var i,
          j,
          k,
          l = a(qb).emit,
          m = a(rb).emit,
          n = a(sb).emit,
          o = a(jb).emit,
          p = 65536,
          q = /[\\"\n]/g,
          r = 0,
          s = r++,
          t = r++,
          u = r++,
          v = r++,
          w = r++,
          x = r++,
          y = r++,
          z = r++,
          A = r++,
          B = r++,
          C = r++,
          D = r++,
          E = r++,
          F = r++,
          G = r++,
          H = r++,
          I = r++,
          J = r++,
          K = r++,
          L = r++,
          M = r,
          O = p,
          P = "",
          Q = "",
          R = false,
          S = false,
          T = s,
          U = [],
          V = null,
          W = 0,
          X = 0,
          Y = 0,
          Z = 0,
          $ = 1;
      a(nb).on(h), a(ob).on(e);
    }

    function D(a, b) {
      "use strict";

      function c(a) {
        return function (b) {
          d = a(d, b);
        };
      }

      var d,
          e = {};

      for (var f in b) {
        a(f).on(c(b[f]), e);
      }

      a(hb).on(function (a) {
        var b,
            c = Y(d),
            e = ab(c),
            f = Z(d);
        f && (b = bb(Y(f)), b[e] = a);
      }), a(ib).on(function () {
        var a,
            b = Y(d),
            c = ab(b),
            e = Z(d);
        e && (a = bb(Y(e)), delete a[c]);
      }), a(pb).on(function () {
        for (var c in b) {
          a(c).un(e);
        }
      });
    }

    function E(a) {
      var b = {};
      return a && a.split("\r\n").forEach(function (a) {
        var c = a.indexOf(": ");
        b[a.substring(0, c)] = a.substring(c + 2);
      }), b;
    }

    function F(a, b) {
      function c(a) {
        return {
          "http:": 80,
          "https:": 443
        }[a];
      }

      function d(b) {
        return b.port || c(b.protocol || a.protocol);
      }

      return !!(b.protocol && b.protocol != a.protocol || b.host && b.host != a.host || b.host && d(b) != d(a));
    }

    function G(a) {
      var b = /(\w+:)?(?:\/\/)([\w.-]+)?(?::(\d+))?\/?/,
          c = b.exec(a) || [];
      return {
        protocol: c[1] || "",
        host: c[2] || "",
        port: c[3] || ""
      };
    }

    function H() {
      return new XMLHttpRequest();
    }

    function I(b, c, d, e, g, h, i) {
      "use strict";

      function j() {
        var a = c.responseText,
            b = a.substr(m);
        b && k(b), m = V(a);
      }

      var k = b(nb).emit,
          l = b(jb).emit,
          m = 0,
          n = true;
      b(pb).on(function () {
        c.onreadystatechange = null, c.abort();
      }), "onprogress" in c && (c.onprogress = j), c.onreadystatechange = function () {
        function a() {
          try {
            n && b(mb).emit(c.status, E(c.getAllResponseHeaders())), n = false;
          } catch (a) {}
        }

        switch (c.readyState) {
          case 2:
          case 3:
            return a();

          case 4:
            a();
            var d = 2 == String(c.status)[0];
            d ? (j(), b(ob).emit()) : l(N(c.status, c.responseText));
        }
      };

      try {
        c.open(d, e, true);

        for (var o in h) {
          c.setRequestHeader(o, h[o]);
        }

        F(a.location, G(e)) || c.setRequestHeader("X-Requested-With", "XMLHttpRequest"), c.withCredentials = i, c.send(g);
      } catch (p) {
        a.setTimeout(T(l, N(f, f, p)), 0);
      }
    }

    function J(a, b) {
      return {
        key: a,
        node: b
      };
    }

    function K(a) {
      function b(a, b) {
        var d = bb(Y(a));
        return p(c, d) ? f(a, V(d), b) : a;
      }

      function d(a, c) {
        if (!a) return j(c), f(a, cb, c);
        var d = b(a, c),
            g = Z(d),
            h = ab(Y(d));
        return e(g, h, c), s(J(h, c), g);
      }

      function e(a, b, c) {
        bb(Y(a))[b] = c;
      }

      function f(a, b, c) {
        a && e(a, b, c);
        var d = s(J(b, c), a);
        return h(d), d;
      }

      function g(a) {
        return i(a), Z(a) || k(bb(Y(a)));
      }

      var h = a(fb).emit,
          i = a(gb).emit,
          j = a(lb).emit,
          k = a(kb).emit,
          l = {};
      return l[rb] = d, l[sb] = g, l[qb] = f, l;
    }

    function L(a, b, c) {
      function d(a) {
        return function (b) {
          return b.id == a;
        };
      }

      var e, f;
      return {
        on: function on(c, d) {
          var g = {
            listener: c,
            id: d || c
          };
          return b && b.emit(a, c, g.id), e = s(g, e), f = s(c, f), this;
        },
        emit: function emit() {
          z(f, arguments);
        },
        un: function un(b) {
          var g;
          e = x(e, d(b), function (a) {
            g = a;
          }), g && (f = x(f, function (a) {
            return a == g.listener;
          }), c && c.emit(a, g.listener, g.id));
        },
        listeners: function listeners() {
          return f;
        },
        hasListener: function hasListener(a) {
          var b = a ? d(a) : n;
          return q(B(b, e));
        }
      };
    }

    function M() {
      function a(a) {
        return c[a] = L(a, d, e);
      }

      function b(b) {
        return c[b] || a(b);
      }

      var c = {},
          d = a("newListener"),
          e = a("removeListener");
      return ["emit", "on", "un"].forEach(function (a) {
        b[a] = j(function (c, d) {
          i(d, b(c)[a]);
        });
      }), b;
    }

    function N(a, b, c) {
      try {
        var d = e.parse(b);
      } catch (f) {}

      return {
        statusCode: a,
        body: b,
        jsonBody: d,
        thrown: c
      };
    }

    function O(a, b) {
      function c(a, b, c) {
        var d = A(c);
        a(b, u(Z(v(ab, d))), u(v(bb, d)));
      }

      function d(b, d, e) {
        var f = a(b).emit;
        d.on(function (a) {
          var b = e(a);
          b !== false && c(f, bb(b), a);
        }, b), a("removeListener").on(function (c) {
          c == b && (a(c).listeners() || d.un(b));
        });
      }

      var e = {
        node: a(gb),
        path: a(fb)
      };
      a("newListener").on(function (a) {
        var c = /(node|path):(.*)/.exec(a);

        if (c) {
          var f = e[c[1]];
          f.hasListener(a) || d(a, f, b(c[2]));
        }
      });
    }

    function P(a, b) {
      function c(b, c) {
        return a(b).on(e(c), c), p;
      }

      function d(a, b, c) {
        c = c || b;
        var d = e(b);
        return a.on(function () {
          var b = false;
          p.forget = function () {
            b = true;
          }, i(arguments, d), delete p.forget, b && a.un(c);
        }, c), p;
      }

      function e(b) {
        return function () {
          try {
            return b.apply(p, arguments);
          } catch (c) {
            a(jb).emit(N(f, f, c));
          }
        };
      }

      function g(b, c) {
        return a(b + ":" + c);
      }

      function h(a) {
        return function () {
          var b = a.apply(this, arguments);
          q(b) && (b == S.drop ? t() : u(b));
        };
      }

      function k(a, b, c) {
        var e;
        e = "node" == a ? h(c) : c, d(g(a, b), e, c);
      }

      function l(a, b) {
        for (var c in b) {
          k(a, c, b[c]);
        }
      }

      function n(a, b, c) {
        return W(b) ? k(a, b, c) : l(a, b), p;
      }

      var p,
          r = /^(node|path):./,
          s = a(kb),
          t = a(ib).emit,
          u = a(hb).emit,
          v = j(function (b, c) {
        if (p[b]) i(c, p[b]);else {
          var e = a(b),
              f = c[0];
          r.test(b) ? d(e, f) : e.on(f);
        }
        return p;
      }),
          w = function w(b, c, d) {
        if ("done" == b) s.un(c);else if ("node" == b || "path" == b) a.un(b + ":" + c, d);else {
          var e = c;
          a(b).un(e);
        }
        return p;
      };

      return a(lb).on(function (a) {
        p.root = o(a);
      }), a(mb).on(function (a, b) {
        p.header = function (a) {
          return a ? b[a] : b;
        };
      }), p = {
        on: v,
        addListener: v,
        removeListener: w,
        emit: a.emit,
        node: T(n, "node"),
        path: T(n, "path"),
        done: T(d, s),
        start: T(c, mb),
        fail: a(jb).on,
        abort: a(pb).emit,
        header: m,
        root: m,
        source: b
      };
    }

    function Q(a, b, c, d, e) {
      var f = M();
      return b && I(f, H(), a, b, c, d, e), C(f), D(f, K(f)), O(f, db), P(f, b);
    }

    function R(a, b, c, d, f, g, h) {
      function i(a, b) {
        return b === false && (a += -1 == a.indexOf("?") ? "?" : "&", a += "_=" + new Date().getTime()), a;
      }

      return f = f ? e.parse(e.stringify(f)) : {}, d ? W(d) || (d = e.stringify(d), f["Content-Type"] = f["Content-Type"] || "application/json") : d = null, a(c || "GET", i(b, h), d, f, g || false);
    }

    function S(a) {
      var b = $("resume", "pause", "pipe"),
          c = T(r, b);
      return a ? c(a) || W(a) ? R(Q, a) : R(Q, a.url, a.method, a.body, a.headers, a.withCredentials, a.cached) : Q();
    }

    var T = j(function (a, b) {
      var c = b.length;
      return j(function (d) {
        for (var e = 0; e < d.length; e++) {
          b[c + e] = d[e];
        }

        return b.length = c + d.length, a.apply(this, b);
      });
    }),
        U = (j(function (a) {
      function b(a, b) {
        return [i(a, b)];
      }

      var c = t(a);
      return j(function (a) {
        return w(b, a, c)[0];
      });
    }), j(function (a) {
      return j(function (b) {
        for (var c, d = 0; d < V(a); d++) {
          if (c = i(b, a[d])) return c;
        }
      });
    })),
        V = h("length"),
        W = T(p, String),
        X = null,
        Y = h(0),
        Z = h(1),
        $ = j(t),
        _ = function () {
      var a = function a(_a) {
        return _a.exec.bind(_a);
      },
          b = j(function (b) {
        return b.unshift(/^/), a(RegExp(b.map(h("source")).join("")));
      }),
          c = /(\$?)/,
          d = /([\w-_]+|\*)/,
          e = /()/,
          f = /\["([^"]+)"\]/,
          g = /\[(\d+|\*)\]/,
          i = /{([\w ]*?)}/,
          k = /(?:{([\w ]*?)})?/,
          l = b(c, d, k),
          m = b(c, f, k),
          n = b(c, g, k),
          o = b(c, e, i),
          p = b(/\.\./),
          q = b(/\./),
          r = b(c, /!/),
          s = b(/$/);

      return function (a) {
        return a(U(l, m, n, o), p, q, r, s);
      };
    }(),
        ab = h("key"),
        bb = h("node"),
        cb = {},
        db = _(function (a, b, c, e, f) {
      function h(a, b) {
        var c = b[z],
            d = c && "*" != c ? function (a) {
          return B(a) == c;
        } : n;
        return l(d, a);
      }

      function i(a, b) {
        var c = b[A];
        if (!c) return a;
        var d = T(r, t(c.split(/\W+/))),
            e = g(d, C);
        return l(e, a);
      }

      function j(a, b) {
        var c = !!b[y];
        return c ? l(a, Y) : a;
      }

      function k(a) {
        function b(a) {
          return B(a) != cb;
        }

        return a == n ? n : l(b, g(a, Z));
      }

      function m(a) {
        if (a == n) return n;
        var b = o(),
            c = a,
            d = k(function (a) {
          return e(a);
        }),
            e = U(b, c, d);
        return e;
      }

      function o() {
        return function (a) {
          return B(a) == cb;
        };
      }

      function p(a) {
        return function (b) {
          var c = a(b);
          return c === true ? Y(b) : c;
        };
      }

      function q(a, b, c) {
        return w(function (a, b) {
          return b(a, c);
        }, b, a);
      }

      function s(a, b, c, d, e) {
        var f = a(c);

        if (f) {
          var g = q(b, d, f),
              h = c.substr(V(f[0]));
          return e(h, g);
        }
      }

      function u(a, b) {
        return T(s, a, b);
      }

      function v(a, b) {
        return b;
      }

      function x(a, b) {
        var c = a ? x : v;
        return D(a, b, c);
      }

      var y = 1,
          z = 2,
          A = 3,
          B = g(ab, Y),
          C = g(bb, Y),
          D = U(u(a, $(j, i, h, k)), u(b, $(m)), u(c, $()), u(e, $(j, o)), u(f, $(p)), function (a) {
        throw d('"' + a + '" could not be tokenised');
      });
      return function (a) {
        try {
          return x(a, n);
        } catch (b) {
          throw d('Could not compile "' + a + '" because ' + b.message);
        }
      };
    }),
        eb = 1,
        fb = eb++,
        gb = eb++,
        hb = eb++,
        ib = eb++,
        jb = "fail",
        kb = eb++,
        lb = eb++,
        mb = "start",
        nb = "data",
        ob = "end",
        pb = eb++,
        qb = eb++,
        rb = eb++,
        sb = eb++;

    S.drop = function () {
      return S.drop;
    }, "function" == typeof define && define.amd ? define("oboe", [], function () {
      return S;
    }) : "object" == typeof exports ? module.exports = S : a.oboe = S;
  }(function () {
    try {
      return window;
    } catch (a) {
      return self;
    }
  }(), Object, Array, Error, JSON);
},511,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.NativeModules.RNPrint;
  exports.default = _default;
},512,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.ImageFormat = exports.TextBackgroundType = exports.Position = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var resolveAssetSource = _reactNative.Image.resolveAssetSource;
  var LINKING_ERROR = "The package 'react-native-image-marker' doesn't seem to be linked. Make sure: \n\n" + _reactNative.Platform.select({
    ios: "- You have run 'pod install'\n",
    default: ''
  }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
  var Position;
  exports.Position = Position;

  (function (Position) {
    Position["topLeft"] = "topLeft";
    Position["topCenter"] = "topCenter";
    Position["topRight"] = "topRight";
    Position["bottomLeft"] = "bottomLeft";
    Position["bottomCenter"] = "bottomCenter";
    Position["bottomRight"] = "bottomRight";
    Position["center"] = "center";
  })(Position || (exports.Position = Position = {}));

  var TextBackgroundType;
  exports.TextBackgroundType = TextBackgroundType;

  (function (TextBackgroundType) {
    TextBackgroundType["stretchX"] = "stretchX";
    TextBackgroundType["stretchY"] = "stretchY";
    TextBackgroundType["none"] = "";
  })(TextBackgroundType || (exports.TextBackgroundType = TextBackgroundType = {}));

  var ImageFormat;
  exports.ImageFormat = ImageFormat;

  (function (ImageFormat) {
    ImageFormat["png"] = "png";
    ImageFormat["jpg"] = "jpg";
    ImageFormat["base64"] = "base64";
  })(ImageFormat || (exports.ImageFormat = ImageFormat = {}));

  var ImageMarker = _reactNative.NativeModules.ImageMarker ? _reactNative.NativeModules.ImageMarker : new Proxy({}, {
    get: function get() {
      throw new Error(LINKING_ERROR);
    }
  });

  var Marker = function () {
    function Marker() {
      (0, _classCallCheck2.default)(this, Marker);
    }

    (0, _createClass2.default)(Marker, null, [{
      key: "markText",
      value: function markText(options) {
        var src = options.src,
            position = options.position;

        if (!src) {
          throw new Error('please set image!');
        }

        var srcObj = resolveAssetSource(src);

        if (!srcObj) {
          srcObj = {
            uri: src,
            __packager_asset: false
          };
        }

        options.src = srcObj;
        options.maxSize = options.maxSize || 2048;

        if (!position) {
          return ImageMarker.addText(options);
        } else {
          return ImageMarker.addTextByPosition(options);
        }
      }
    }, {
      key: "markImage",
      value: function markImage(options) {
        var src = options.src,
            markerSrc = options.markerSrc,
            position = options.position;

        if (!src) {
          throw new Error('please set image!');
        }

        if (!markerSrc) {
          throw new Error('please set mark image!');
        }

        var srcObj = resolveAssetSource(src);

        if (!srcObj) {
          srcObj = {
            uri: src,
            __packager_asset: false
          };
        }

        var markerObj = resolveAssetSource(markerSrc);

        if (!markerObj) {
          markerObj = {
            uri: markerSrc,
            __packager_asset: false
          };
        }

        options.markerSrc = markerObj;
        options.src = srcObj;
        options.maxSize = options.maxSize || 2048;

        if (!position) {
          return ImageMarker.markWithImage(options);
        } else {
          return ImageMarker.markWithImageByPosition(options);
        }
      }
    }]);
    return Marker;
  }();

  exports.default = Marker;
},513,[5,7,8,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _defineProperty2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extends3 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _md = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNativeTextSize = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _colorUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _jsUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var StringUtils = function () {
    function StringUtils() {
      (0, _classCallCheck2.default)(this, StringUtils);
    }

    (0, _createClass2.default)(StringUtils, null, [{
      key: "isOpenUrl",
      value: function isOpenUrl(str) {
        return !!str.match(StringUtils.REGEX_OPEN_URL);
      }
    }, {
      key: "isFeedId",
      value: function isFeedId(str) {
        return !!str.match(StringUtils.REGEX_FEED_ID);
      }
    }, {
      key: "isMD5",
      value: function isMD5(str) {
        return !!str.match(StringUtils.REGEX_MD5);
      }
    }, {
      key: "isUrl",
      value: function isUrl(url) {
        return url ? !!url.match(StringUtils.REGEX_URL) : false;
      }
    }, {
      key: "getHexOfAsciiOfLong",
      value: function getHexOfAsciiOfLong(value) {
        var result = "";

        try {
          var ascii = value.toString();

          for (var i = 0; i < ascii.length; i++) {
            result += ascii.charCodeAt(i).toString(16);
          }
        } catch (e) {}

        return result;
      }
    }, {
      key: "getMd5",
      value: function getMd5(str) {
        return (0, _md.default)(str);
      }
    }, {
      key: "sizeToString",
      value: function sizeToString(size) {
        var result = "0 Kb";

        if (size) {
          if (size / StringUtils.GIGA > 1) {
            result = (size / StringUtils.GIGA).toFixed(1) + " GB";
          } else if (size / StringUtils.MEGA > 1) {
            result = (size / StringUtils.MEGA).toFixed(1) + " MB";
          } else if (size / StringUtils.KILO > 1) {
            result = (size / StringUtils.KILO).toFixed(1) + " kB";
          } else {
            result = size + " B";
          }
        }

        return result;
      }
    }, {
      key: "getFilenameFromHeader",
      value: function getFilenameFromHeader(header) {
        if (header) {
          var regex = /.*filename="(.*)"/;
          var m = regex.exec(header);

          if (m) {
            return m[1];
          }
        }

        return "";
      }
    }, {
      key: "getUrlInfo",
      value: function getUrlInfo(url) {
        if (url) {
          var regex = /^(?:([a-z]*):\/\/)?([^\/?#]*)\/?([^?#]*\/?)?[?]?([^#]*)?[#]?(.*)?/g;
          var m = regex.exec(url);

          if (m) {
            var protocol = m[1] || "";
            var domain = m[2] || "";
            var gets = m[4] || "";
            var anchor = m[5] || "";
            var path = m[3] || "";
            var file = "";

            if (path) {
              var lastPathSegment = StringUtils.getLastPathSegment(path);

              if (lastPathSegment && lastPathSegment.match(/.+\..+/g)) {
                file = lastPathSegment;
              }
            }

            return {
              protocol: protocol,
              domain: domain,
              path: path,
              file: file,
              gets: gets,
              anchor: anchor
            };
          }
        }

        return {
          protocol: "",
          domain: "",
          path: "",
          file: "",
          gets: ""
        };
      }
    }, {
      key: "isDomainValid",
      value: function isDomainValid(url) {
        var _StringUtils$getUrlIn = StringUtils.getUrlInfo(url),
            domain = _StringUtils$getUrlIn.domain,
            protocol = _StringUtils$getUrlIn.protocol;

        if (domain && protocol.includes("http")) {
          var regex = /(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/g;
          var m = regex.exec(domain);
          return m !== undefined && m !== null;
        }

        return true;
      }
    }, {
      key: "splitParam",
      value: function splitParam(param) {
        if (param) {
          var regex = /([^=]+)(?:=(.*))?/g;
          var m = regex.exec(param);

          if (m) {
            return {
              name: m[1] || "",
              value: m[2] || ""
            };
          }
        }

        return null;
      }
    }, {
      key: "getLastPathSegment",
      value: function getLastPathSegment(url) {
        var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "/";
        return url.substring(url.lastIndexOf(separator) + 1);
      }
    }, {
      key: "getParentPath",
      value: function getParentPath(path) {
        if (path) {
          return path.substring(0, path.lastIndexOf("/"));
        }

        return "";
      }
    }, {
      key: "removeLastSlash",
      value: function removeLastSlash(url) {
        return url.replace(/\/$/, "");
      }
    }, {
      key: "segmentUrl",
      value: function segmentUrl(url) {
        var info = StringUtils.getUrlInfo(url);
        var baseUrl = info.protocol + "://" + info.domain;

        if (info.path) {
          baseUrl += "/" + info.path;
        }

        var result = {
          baseUrl: baseUrl,
          protocol: info.protocol,
          domain: info.domain,
          path: info.path,
          file: info.file,
          getParams: {},
          anchor: info.anchor,
          anchorParams: {}
        };
        result.getParams = StringUtils.parseQuerystring(info.gets);
        result.anchorParams = StringUtils.parseQuerystring(info.anchor);
        return result;
      }
    }, {
      key: "parseQuerystring",
      value: function parseQuerystring(querystring) {
        var skipDecoding = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
        var getParams = {};

        if (querystring) {
          var params = querystring.split("&");
          params.forEach(function (param) {
            var splitted = StringUtils.splitParam(param);

            if (splitted) {
              if (skipDecoding) {
                getParams[splitted.name] = splitted.value;
              } else {
                getParams[splitted.name] = StringUtils.decodeURIComponent(splitted.value);
              }
            }
          });
        }

        return getParams;
      }
    }, {
      key: "getQuerystring",
      value: function getQuerystring(params) {
        var query = Object.entries(params).filter(function (e) {
          return e[1] !== null && e[1] !== undefined;
        }).map(function (e) {
          e[1] = encodeURIComponent(e[1]);
          return e.join("=");
        }).join("&");
        return query;
      }
    }, {
      key: "removeTilde",
      value: function removeTilde(str) {
        if (str) {
          str = str.replace("~", "");
        }

        return str;
      }
    }, {
      key: "getRandomHash",
      value: function getRandomHash() {
        return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
      }
    }, {
      key: "getRandomIdentifier",
      value: function getRandomIdentifier() {
        return Math.floor(Math.random() * Math.pow(2, 32)).toString();
      }
    }, {
      key: "decodeURIComponent",
      value: function (_decodeURIComponent) {
        function decodeURIComponent(_x) {
          return _decodeURIComponent.apply(this, arguments);
        }

        decodeURIComponent.toString = function () {
          return _decodeURIComponent.toString();
        };

        return decodeURIComponent;
      }(function (text) {
        try {
          return decodeURIComponent(text);
        } catch (e) {
          return text;
        }
      })
    }, {
      key: "decodeHTML",
      value: function decodeHTML(text) {
        try {
          return _$$_REQUIRE(_dependencyMap[10]).AllHtmlEntities.decode(text);
        } catch (e) {
          return text;
        }
      }
    }, {
      key: "fileNameFromPath",
      value: function fileNameFromPath(path) {
        return path ? path.split("/").pop() : "";
      }
    }, {
      key: "pad",
      value: function pad(n, width) {
        var z = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "0";
        n += "";
        return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
      }
    }, {
      key: "extractLinkAndTextFromFooterTag",
      value: function extractLinkAndTextFromFooterTag(tag) {
        var result = {};

        if (tag) {
          var groups = StringUtils.REGEX_ARTICLE_FOOTER_TAG.exec(tag);

          if (groups) {
            result.matched = groups[0];
            result.url = groups[1];
            result.text = groups[2];
          }

          return result;
        }

        return undefined;
      }
    }, {
      key: "parseNotificationEmail",
      value: function parseNotificationEmail(notificationEmail) {
        var pSetup;
        var server;
        var parts = notificationEmail.split("@");

        if (parts.length > 1) {
          if (parts[0].length > 0 && parts[1].length > 0 && StringUtils.isTecnaviaDomain(parts[1])) {
            pSetup = parts[0];
            server = parts[1];
          }
        }

        return {
          pSetup: pSetup,
          server: server
        };
      }
    }, {
      key: "validateNotificationEmail",
      value: function validateNotificationEmail(notificationEmail) {
        var _StringUtils$parseNot = StringUtils.parseNotificationEmail(notificationEmail),
            pSetup = _StringUtils$parseNot.pSetup,
            server = _StringUtils$parseNot.server;

        return !!pSetup && !!server;
      }
    }, {
      key: "isTecnaviaDomain",
      value: function isTecnaviaDomain(domain) {
        var info = StringUtils.getUrlInfo(global.server);
        return domain.endsWith(".newsmemory.com") || domain.endsWith(".eedition.net") || domain === info.domain;
      }
    }, {
      key: "convertNewsmemoryDomainToHTTPS",
      value: function convertNewsmemoryDomainToHTTPS(url) {
        var newUrl = url;

        if (url.indexOf(".newsmemory.com") !== -1 && url.indexOf("https://") !== 0) {
          newUrl = url.replace("http://", "");
          var firstPart = newUrl.split(".newsmemory.com")[0];
          newUrl = newUrl.replace(firstPart, firstPart.replace(/\./g, "-"));
          newUrl = "https://" + newUrl;
        }

        return newUrl;
      }
    }, {
      key: "removeProtocolFromURL",
      value: function removeProtocolFromURL(url) {
        return url.replace(/^http[s]?:\/\//, "");
      }
    }, {
      key: "domainContainsProtocol",
      value: function domainContainsProtocol(domain) {
        return domain.indexOf("https://") === 0 || domain.indexOf("http://") === 0;
      }
    }, {
      key: "isTecnaviaHTTPDomain",
      value: function isTecnaviaHTTPDomain(domain) {
        if (domain.indexOf(".newsmemory.com") !== -1 && domain.indexOf("https://") !== 0) {
          if (domain.indexOf("http://") === 0) {
            return true;
          }

          return domain.match(/(\w+)(\.)([a-zA-Z]+)(\.)([a-zA-Z0-9.]*)newsmemory.com/);
        }

        return false;
      }
    }, {
      key: "getTecnaviaDomainSeparator",
      value: function getTecnaviaDomainSeparator(domain) {
        return StringUtils.isTecnaviaHTTPDomain(domain) ? "." : "-";
      }
    }, {
      key: "getTecnaviaDomainParts",
      value: function getTecnaviaDomainParts(domain) {
        var paper = "";
        var state = "";
        var type = "";
        var trailer = "";

        if (StringUtils.isTecnaviaDomain(domain)) {
          var separator = StringUtils.getTecnaviaDomainSeparator(domain);
          var regex = new RegExp("http[s]?://(.*)\\" + separator + "([a-zA-Z]{2,3})\\" + separator + "(.*).(newsmemory.com|eedition.net)");
          var result = regex.exec(domain);

          if (result && result.length >= 5) {
            paper = result[1];
            state = result[2];
            type = result[3];
            trailer = result[4];
          }
        }

        return {
          paper: paper,
          state: state,
          type: type,
          trailer: trailer
        };
      }
    }, {
      key: "getTecnaviaDomainState",
      value: function getTecnaviaDomainState() {
        var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : global.getAppServer();

        var _StringUtils$getTecna = StringUtils.getTecnaviaDomainParts(domain),
            state = _StringUtils$getTecna.state;

        return state;
      }
    }, {
      key: "isUSTecnaviaDomain",
      value: function isUSTecnaviaDomain() {
        var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : global.getAppServer();
        var state = StringUtils.getTecnaviaDomainState(domain);
        return state && state.length === 2;
      }
    }, {
      key: "appendParams",
      value: function appendParams(url) {
        var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
        var newUrl = url;

        if (Object.keys(params).length > 0) {
          var _StringUtils$segmentU = StringUtils.segmentUrl(newUrl),
              baseUrl = _StringUtils$segmentU.baseUrl,
              path = _StringUtils$segmentU.path,
              file = _StringUtils$segmentU.file,
              getParams = _StringUtils$segmentU.getParams,
              anchor = _StringUtils$segmentU.anchor;

          newUrl = baseUrl;

          if (!newUrl.includes("?")) {
            if (!file && !path.endsWith("/")) {
              newUrl += "/";
            }

            newUrl += "?";
          } else {
            newUrl += "&";
          }

          newUrl += StringUtils.getQuerystring((0, _extends3.default)({}, getParams, params));

          if (anchor) {
            newUrl += "#" + anchor;
          }
        }

        return newUrl;
      }
    }, {
      key: "removeParams",
      value: function removeParams(url) {
        var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];

        if (params.length > 0) {
          var _StringUtils$segmentU2 = StringUtils.segmentUrl(url),
              baseUrl = _StringUtils$segmentU2.baseUrl,
              getParams = _StringUtils$segmentU2.getParams,
              anchor = _StringUtils$segmentU2.anchor;

          var newUrl = baseUrl;

          if (!_jsUtils.default.isEmpty(getParams)) {
            var newGetParams = Object.keys(getParams).filter(function (key) {
              return !params.includes(key);
            }).reduce(function (cur, key) {
              return (0, _extends3.default)(cur, (0, _defineProperty2.default)({}, key, getParams[key]));
            }, {});

            if (!_jsUtils.default.isEmpty(newGetParams)) {
              newUrl += "?" + StringUtils.getQuerystring(newGetParams);
            }
          }

          if (anchor) {
            newUrl += "#" + anchor;
          }

          return newUrl;
        }

        return url;
      }
    }, {
      key: "analyzeRGBAColor",
      value: function analyzeRGBAColor(color) {
        var red = 0;
        var green = 0;
        var blue = 0;
        var alpha = 1;

        if (color && color.length) {
          var hexMatcher = StringUtils.REGEX_HEX.exec(color);
          var hexShortMatcher = StringUtils.REGEX_HEX_SHORT.exec(color);

          if (hexMatcher || hexShortMatcher) {
            return _colorUtils.default.hexToRGBAComponents(color);
          }

          var rgbMatcher = StringUtils.REGEX_RGBA.exec(color);

          if (rgbMatcher) {
            red = parseInt(rgbMatcher[1], 10);
            green = parseInt(rgbMatcher[2], 10);
            blue = parseInt(rgbMatcher[3], 10);
            alpha = parseFloat(rgbMatcher[5] || "1");
          }
        }

        return {
          red: red,
          green: green,
          blue: blue,
          alpha: alpha
        };
      }
    }, {
      key: "parseColor",
      value: function parseColor(color, defaultColor) {
        if (!color || !color.length) {
          return defaultColor;
        }

        var rgbMatcher = StringUtils.REGEX_RGBA.exec(color);

        if (rgbMatcher) {
          var red = rgbMatcher[1];
          var green = rgbMatcher[2];
          var blue = rgbMatcher[3];
          var alpha = rgbMatcher[5] || "";

          if (!isNaN(alpha)) {
            if (alpha.indexOf(".") === -1 && alpha !== "0" && alpha !== "1") {
              alpha = parseInt(alpha, 10) / 255;
            }

            return "rgba(" + red + "," + green + "," + blue + "," + alpha + ")";
          }

          return "rgba(" + red + "," + green + "," + blue + ",1)";
        }

        var hexMatcher = StringUtils.REGEX_HEX.exec(color);

        if (hexMatcher) {
          return color;
        }

        var hexShortMatcher = StringUtils.REGEX_HEX_SHORT.exec(color);

        if (hexShortMatcher) {
          return color;
        }

        return defaultColor;
      }
    }, {
      key: "textSize",
      value: function textSize(text, width) {
        var options,
            size,
            _args = arguments;
        return _regenerator.default.async(function textSize$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                options = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
                _context.prev = 1;
                _context.next = 4;
                return _regenerator.default.awrap(_reactNativeTextSize.default.measure((0, _extends3.default)({
                  text: text,
                  width: width
                }, options)));

              case 4:
                size = _context.sent;
                return _context.abrupt("return", size);

              case 8:
                _context.prev = 8;
                _context.t0 = _context["catch"](1);

              case 10:
                return _context.abrupt("return", undefined);

              case 11:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[1, 8]], Promise);
      }
    }, {
      key: "getKeyFromText",
      value: function getKeyFromText(text) {
        if (typeof text === "string") {
          return text.replace(/[\W_]+/g, "").toLowerCase();
        }

        return text;
      }
    }, {
      key: "getMorseLikeCode",
      value: function getMorseLikeCode(dec) {
        if (dec !== undefined) {
          var string = (parseInt(dec, 10) >>> 0).toString(2);
          string = string.replace(/1/g, ".").replace(/0/g, " ");
          return "." + string + ".";
        }

        return "";
      }
    }, {
      key: "getMorseLikeCodeAlt",
      value: function getMorseLikeCodeAlt(dec) {
        if (dec !== undefined) {
          var string = (parseInt(dec, 10) >>> 0).toString(2);
          string = string.replace(/1/g, ".").replace(/0/g, "-");
          return "." + string + ".";
        }

        return "";
      }
    }, {
      key: "parseFromString",
      value: function parseFromString(str, type) {
        var parser = new (_$$_REQUIRE(_dependencyMap[11]).DOMParser)({
          errorHandler: function errorHandler(error) {}
        });

        if (parser !== undefined) {
          if (type !== undefined) {
            return parser.parseFromString(str, type);
          }

          return parser.parseFromString(str);
        }

        return str;
      }
    }, {
      key: "serializeHtml",
      value: function serializeHtml(html) {
        try {
          var parser = StringUtils.parseFromString(html);
          return new (_$$_REQUIRE(_dependencyMap[11]).XMLSerializer)().serializeToString(parser);
        } catch (e) {
          return html;
        }
      }
    }, {
      key: "isBase64",
      value: function isBase64(string) {
        try {
          global.atob(string);
        } catch (e) {
          return false;
        }

        return true;
      }
    }, {
      key: "isImageBase64",
      value: function isImageBase64(string) {
        return StringUtils.isBase64(string.replace(/data:image\/(jpeg|png);base64,/, ""));
      }
    }, {
      key: "getGroupFromStrByRegex",
      value: function getGroupFromStrByRegex(str, regex, index) {
        if (str && regex) {
          var matcher = str.match(regex);

          if (matcher && matcher[index]) {
            return matcher[index];
          }
        }

        return undefined;
      }
    }, {
      key: "isLocalURL",
      value: function isLocalURL(url) {
        return url && url.startsWith("file://");
      }
    }, {
      key: "getReadingTime",
      value: function getReadingTime(text) {
        return (0, _$$_REQUIRE(_dependencyMap[12]).readingTime)(text);
      }
    }]);
    return StringUtils;
  }();

  exports.default = StringUtils;
  StringUtils.BULLET = "\u2022";
  StringUtils.TILDE = "~";
  StringUtils.KILO = 1000;
  StringUtils.MEGA = StringUtils.KILO * 1000;
  StringUtils.GIGA = StringUtils.MEGA * 1000;
  StringUtils.REGEX_ARTICLE_FOOTER_TAG = /<a href=(?:&#039;|")((?:https?:\/\/|www\.)?[a-z0-9-]+(?:\.[a-z0-9-]+)+[\\/?].*?)(?:&#039;|")>(.*)<\/a>/gm;
  StringUtils.REGEX_CHECK_OPTION_PAGE_TAB = "\\/[a-zA-Z_a-zA-Z]*\\.php\\?";
  StringUtils.REGEX_MD5 = "[a-fA-F0-9]{32}";
  StringUtils.REGEX_FEED_ID = "^(([0-9]+)_)?([a-fA-F0-9]{32}){1}$";
  StringUtils.REGEX_OPEN_URL = "^openUrl:.*$";
  StringUtils.REGEX_URL = /^((https?|ftp):\/\/|(www|ftp)\.)[a-z0-9-]+(\.[a-z0-9-]+)+([\/?].*)?$/gim;
  StringUtils.REGEX_ARTICLE_URL = "((ht|f)tp(s?):\\/\\/|www\\.)(([\\w\\-]+\\.){1,}?([\\w\\-.~]+\\/?)*)";
  StringUtils.REGEX_ARTICLE_IGNORE_URL = "(.*(.bmp|.png|.jpg|.gif|.jpeg|.js|.css|.php|.html|.htm))";
  StringUtils.REGEX_PSETUP_SS = ".*-xp-(.*_se|_ss)";
  StringUtils.REGEX_REPLACE_0_IN_PAGE_NAME = "[a-zA-Z]*([0]*)[1-9]*+[0]*";
  StringUtils.REGEX_RGBA = /([0-9]{1,3}),([0-9]{1,3}),([0-9]{1,3})(,([0-9\\.]+))?/;
  StringUtils.REGEX_HEX = /#([0-9|A-F|a-f]{2})([0-9|A-F|a-f]{2})([0-9|A-F|a-f]{2})([0-9|A-F|a-f]{2})?/;
  StringUtils.REGEX_HEX_SHORT = /#([0-9|A-F|a-f]{1})([0-9|A-F|a-f]{1})([0-9|A-F|a-f]{1})/;
},514,[5,80,27,6,7,8,515,519,463,520,521,526,530]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  (function () {
    var crypt = _$$_REQUIRE(_dependencyMap[0]),
        utf8 = _$$_REQUIRE(_dependencyMap[1]).utf8,
        isBuffer = _$$_REQUIRE(_dependencyMap[2]),
        bin = _$$_REQUIRE(_dependencyMap[1]).bin,
        md5 = function md5(message, options) {
      if (message.constructor == String) {
        if (options && options.encoding === 'binary') message = bin.stringToBytes(message);else message = utf8.stringToBytes(message);
      } else if (isBuffer(message)) message = Array.prototype.slice.call(message, 0);else if (!Array.isArray(message) && message.constructor !== Uint8Array) message = message.toString();
      var m = crypt.bytesToWords(message),
          l = message.length * 8,
          a = 1732584193,
          b = -271733879,
          c = -1732584194,
          d = 271733878;

      for (var i = 0; i < m.length; i++) {
        m[i] = (m[i] << 8 | m[i] >>> 24) & 0x00FF00FF | (m[i] << 24 | m[i] >>> 8) & 0xFF00FF00;
      }

      m[l >>> 5] |= 0x80 << l % 32;
      m[(l + 64 >>> 9 << 4) + 14] = l;
      var FF = md5._ff,
          GG = md5._gg,
          HH = md5._hh,
          II = md5._ii;

      for (var i = 0; i < m.length; i += 16) {
        var aa = a,
            bb = b,
            cc = c,
            dd = d;
        a = FF(a, b, c, d, m[i + 0], 7, -680876936);
        d = FF(d, a, b, c, m[i + 1], 12, -389564586);
        c = FF(c, d, a, b, m[i + 2], 17, 606105819);
        b = FF(b, c, d, a, m[i + 3], 22, -1044525330);
        a = FF(a, b, c, d, m[i + 4], 7, -176418897);
        d = FF(d, a, b, c, m[i + 5], 12, 1200080426);
        c = FF(c, d, a, b, m[i + 6], 17, -1473231341);
        b = FF(b, c, d, a, m[i + 7], 22, -45705983);
        a = FF(a, b, c, d, m[i + 8], 7, 1770035416);
        d = FF(d, a, b, c, m[i + 9], 12, -1958414417);
        c = FF(c, d, a, b, m[i + 10], 17, -42063);
        b = FF(b, c, d, a, m[i + 11], 22, -1990404162);
        a = FF(a, b, c, d, m[i + 12], 7, 1804603682);
        d = FF(d, a, b, c, m[i + 13], 12, -40341101);
        c = FF(c, d, a, b, m[i + 14], 17, -1502002290);
        b = FF(b, c, d, a, m[i + 15], 22, 1236535329);
        a = GG(a, b, c, d, m[i + 1], 5, -165796510);
        d = GG(d, a, b, c, m[i + 6], 9, -1069501632);
        c = GG(c, d, a, b, m[i + 11], 14, 643717713);
        b = GG(b, c, d, a, m[i + 0], 20, -373897302);
        a = GG(a, b, c, d, m[i + 5], 5, -701558691);
        d = GG(d, a, b, c, m[i + 10], 9, 38016083);
        c = GG(c, d, a, b, m[i + 15], 14, -660478335);
        b = GG(b, c, d, a, m[i + 4], 20, -405537848);
        a = GG(a, b, c, d, m[i + 9], 5, 568446438);
        d = GG(d, a, b, c, m[i + 14], 9, -1019803690);
        c = GG(c, d, a, b, m[i + 3], 14, -187363961);
        b = GG(b, c, d, a, m[i + 8], 20, 1163531501);
        a = GG(a, b, c, d, m[i + 13], 5, -1444681467);
        d = GG(d, a, b, c, m[i + 2], 9, -51403784);
        c = GG(c, d, a, b, m[i + 7], 14, 1735328473);
        b = GG(b, c, d, a, m[i + 12], 20, -1926607734);
        a = HH(a, b, c, d, m[i + 5], 4, -378558);
        d = HH(d, a, b, c, m[i + 8], 11, -2022574463);
        c = HH(c, d, a, b, m[i + 11], 16, 1839030562);
        b = HH(b, c, d, a, m[i + 14], 23, -35309556);
        a = HH(a, b, c, d, m[i + 1], 4, -1530992060);
        d = HH(d, a, b, c, m[i + 4], 11, 1272893353);
        c = HH(c, d, a, b, m[i + 7], 16, -155497632);
        b = HH(b, c, d, a, m[i + 10], 23, -1094730640);
        a = HH(a, b, c, d, m[i + 13], 4, 681279174);
        d = HH(d, a, b, c, m[i + 0], 11, -358537222);
        c = HH(c, d, a, b, m[i + 3], 16, -722521979);
        b = HH(b, c, d, a, m[i + 6], 23, 76029189);
        a = HH(a, b, c, d, m[i + 9], 4, -640364487);
        d = HH(d, a, b, c, m[i + 12], 11, -421815835);
        c = HH(c, d, a, b, m[i + 15], 16, 530742520);
        b = HH(b, c, d, a, m[i + 2], 23, -995338651);
        a = II(a, b, c, d, m[i + 0], 6, -198630844);
        d = II(d, a, b, c, m[i + 7], 10, 1126891415);
        c = II(c, d, a, b, m[i + 14], 15, -1416354905);
        b = II(b, c, d, a, m[i + 5], 21, -57434055);
        a = II(a, b, c, d, m[i + 12], 6, 1700485571);
        d = II(d, a, b, c, m[i + 3], 10, -1894986606);
        c = II(c, d, a, b, m[i + 10], 15, -1051523);
        b = II(b, c, d, a, m[i + 1], 21, -2054922799);
        a = II(a, b, c, d, m[i + 8], 6, 1873313359);
        d = II(d, a, b, c, m[i + 15], 10, -30611744);
        c = II(c, d, a, b, m[i + 6], 15, -1560198380);
        b = II(b, c, d, a, m[i + 13], 21, 1309151649);
        a = II(a, b, c, d, m[i + 4], 6, -145523070);
        d = II(d, a, b, c, m[i + 11], 10, -1120210379);
        c = II(c, d, a, b, m[i + 2], 15, 718787259);
        b = II(b, c, d, a, m[i + 9], 21, -343485551);
        a = a + aa >>> 0;
        b = b + bb >>> 0;
        c = c + cc >>> 0;
        d = d + dd >>> 0;
      }

      return crypt.endian([a, b, c, d]);
    };

    md5._ff = function (a, b, c, d, x, s, t) {
      var n = a + (b & c | ~b & d) + (x >>> 0) + t;
      return (n << s | n >>> 32 - s) + b;
    };

    md5._gg = function (a, b, c, d, x, s, t) {
      var n = a + (b & d | c & ~d) + (x >>> 0) + t;
      return (n << s | n >>> 32 - s) + b;
    };

    md5._hh = function (a, b, c, d, x, s, t) {
      var n = a + (b ^ c ^ d) + (x >>> 0) + t;
      return (n << s | n >>> 32 - s) + b;
    };

    md5._ii = function (a, b, c, d, x, s, t) {
      var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;
      return (n << s | n >>> 32 - s) + b;
    };

    md5._blocksize = 16;
    md5._digestsize = 16;

    module.exports = function (message, options) {
      if (message === undefined || message === null) throw new Error('Illegal argument ' + message);
      var digestbytes = crypt.wordsToBytes(md5(message, options));
      return options && options.asBytes ? digestbytes : options && options.asString ? bin.bytesToString(digestbytes) : crypt.bytesToHex(digestbytes);
    };
  })();
},515,[516,517,518]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  (function () {
    var base64map = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
        crypt = {
      rotl: function rotl(n, b) {
        return n << b | n >>> 32 - b;
      },
      rotr: function rotr(n, b) {
        return n << 32 - b | n >>> b;
      },
      endian: function endian(n) {
        if (n.constructor == Number) {
          return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;
        }

        for (var i = 0; i < n.length; i++) {
          n[i] = crypt.endian(n[i]);
        }

        return n;
      },
      randomBytes: function randomBytes(n) {
        for (var bytes = []; n > 0; n--) {
          bytes.push(Math.floor(Math.random() * 256));
        }

        return bytes;
      },
      bytesToWords: function bytesToWords(bytes) {
        for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8) {
          words[b >>> 5] |= bytes[i] << 24 - b % 32;
        }

        return words;
      },
      wordsToBytes: function wordsToBytes(words) {
        for (var bytes = [], b = 0; b < words.length * 32; b += 8) {
          bytes.push(words[b >>> 5] >>> 24 - b % 32 & 0xFF);
        }

        return bytes;
      },
      bytesToHex: function bytesToHex(bytes) {
        for (var hex = [], i = 0; i < bytes.length; i++) {
          hex.push((bytes[i] >>> 4).toString(16));
          hex.push((bytes[i] & 0xF).toString(16));
        }

        return hex.join('');
      },
      hexToBytes: function hexToBytes(hex) {
        for (var bytes = [], c = 0; c < hex.length; c += 2) {
          bytes.push(parseInt(hex.substr(c, 2), 16));
        }

        return bytes;
      },
      bytesToBase64: function bytesToBase64(bytes) {
        for (var base64 = [], i = 0; i < bytes.length; i += 3) {
          var triplet = bytes[i] << 16 | bytes[i + 1] << 8 | bytes[i + 2];

          for (var j = 0; j < 4; j++) {
            if (i * 8 + j * 6 <= bytes.length * 8) base64.push(base64map.charAt(triplet >>> 6 * (3 - j) & 0x3F));else base64.push('=');
          }
        }

        return base64.join('');
      },
      base64ToBytes: function base64ToBytes(base64) {
        base64 = base64.replace(/[^A-Z0-9+\/]/ig, '');

        for (var bytes = [], i = 0, imod4 = 0; i < base64.length; imod4 = ++i % 4) {
          if (imod4 == 0) continue;
          bytes.push((base64map.indexOf(base64.charAt(i - 1)) & Math.pow(2, -2 * imod4 + 8) - 1) << imod4 * 2 | base64map.indexOf(base64.charAt(i)) >>> 6 - imod4 * 2);
        }

        return bytes;
      }
    };
    module.exports = crypt;
  })();
},516,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var charenc = {
    utf8: {
      stringToBytes: function stringToBytes(str) {
        return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));
      },
      bytesToString: function bytesToString(bytes) {
        return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));
      }
    },
    bin: {
      stringToBytes: function stringToBytes(str) {
        for (var bytes = [], i = 0; i < str.length; i++) {
          bytes.push(str.charCodeAt(i) & 0xFF);
        }

        return bytes;
      },
      bytesToString: function bytesToString(bytes) {
        for (var str = [], i = 0; i < bytes.length; i++) {
          str.push(String.fromCharCode(bytes[i]));
        }

        return str.join('');
      }
    }
  };
  module.exports = charenc;
},517,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  /*!
   * Determine if an object is a Buffer
   *
   * @author   Feross Aboukhadijeh <https://feross.org>
   * @license  MIT
   */
  module.exports = function (obj) {
    return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer);
  };

  function isBuffer(obj) {
    return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj);
  }

  function isSlowBuffer(obj) {
    return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0));
  }
},518,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.NativeModules.RNTextSize;
  exports.default = _default;
},519,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.PromiseTimeout = PromiseTimeout;
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  function PromiseTimeout(promiseCall) {
    var promiseTimeout,
        _len,
        params,
        _key,
        _args = arguments;

    return _regenerator.default.async(function PromiseTimeout$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            promiseTimeout = _args.length > 1 && _args[1] !== undefined ? _args[1] : 2000;

            for (_len = _args.length, params = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
              params[_key - 2] = _args[_key];
            }

            return _context.abrupt("return", new Promise(function (resolve, reject) {
              var inTimeout = false;
              setTimeout(function () {
                inTimeout = true;
                reject(new Error("promise timeout"));
              }, promiseTimeout);
              promiseCall.apply(undefined, params).then(function (data) {
                if (!inTimeout && typeof resolve === "function") {
                  resolve(data);
                }
              }).catch(function (error) {
                if (!inTimeout && typeof reject === "function") {
                  reject(error);
                }
              });
            }));

          case 3:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  }

  var JSUtils = function () {
    function JSUtils() {
      (0, _classCallCheck2.default)(this, JSUtils);
    }

    (0, _createClass2.default)(JSUtils, null, [{
      key: "generateId",
      value: function generateId() {
        return "" + Math.random().toString(36).substr(2, 9);
      }
    }, {
      key: "equals",
      value: function equals(a, b) {
        var resultA;
        var resultB;

        try {
          resultA = JSON.stringify(a);
        } catch (e) {
          return false;
        }

        try {
          resultB = JSON.stringify(b);
        } catch (e) {
          return false;
        }

        return resultA === resultB;
      }
    }, {
      key: "isValidObject",
      value: function isValidObject(obj) {
        return typeof obj === "object" && !JSUtils.isNull(obj);
      }
    }, {
      key: "areEqualDeep",
      value: function areEqualDeep(a, b) {
        var _a, _b;

        var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
        a = (_a = a) != null ? _a : {};
        b = (_b = b) != null ? _b : {};
        var _options$print = options.print,
            print = _options$print === undefined ? false : _options$print,
            _options$skipKeys = options.skipKeys,
            skipKeys = _options$skipKeys === undefined ? [] : _options$skipKeys;
        var aDifferentFromB = Object.keys(a).find(function (key) {
          if (typeof a[key] === "function" || skipKeys.includes(key)) {
            return false;
          }

          if (!JSUtils.hasProperty(b, key)) {
            return true;
          }

          if (JSUtils.isValidObject(a[key]) && JSUtils.isValidObject(b[key])) {
            return !JSUtils.areEqualDeep(a[key], b[key], options);
          }

          return a[key] !== b[key];
        });
        var bDifferentFromA = Object.keys(b).find(function (key) {
          if (typeof b[key] === "function" || skipKeys.includes(key)) {
            return false;
          }

          return !JSUtils.hasProperty(a, key);
        });
        var areEqual = !aDifferentFromB && !bDifferentFromA;

        if (print && !areEqual) {
          if (aDifferentFromB !== undefined) {}

          if (bDifferentFromA !== undefined) {}
        }

        return areEqual;
      }
    }, {
      key: "areEqualShallow",
      value: function areEqualShallow() {
        var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
        var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
        var _options$print2 = options.print,
            print = _options$print2 === undefined ? false : _options$print2,
            _options$skipKeys2 = options.skipKeys,
            skipKeys = _options$skipKeys2 === undefined ? [] : _options$skipKeys2;
        var aDifferentFromB = Object.keys(a).find(function (key) {
          if (typeof a[key] === "function" || typeof a[key] === "object" || skipKeys.includes(key)) {
            return false;
          }

          if (!JSUtils.hasProperty(b, key)) {
            return true;
          }

          return a[key] !== b[key];
        });
        var bDifferentFromA = Object.keys(b).find(function (key) {
          if (typeof b[key] === "function" || typeof b[key] === "object" || skipKeys.includes(key)) {
            return false;
          }

          return !JSUtils.hasProperty(a, key);
        });
        var areEqual = !aDifferentFromB && !bDifferentFromA;

        if (print && !areEqual) {
          if (aDifferentFromB !== undefined) {}

          if (bDifferentFromA !== undefined) {}
        }

        return areEqual;
      }
    }, {
      key: "isValidRect",
      value: function isValidRect(rect) {
        return rect && JSUtils.isNumber(rect.start) && JSUtils.isNumber(rect.top) && JSUtils.isNumber(rect.width) && JSUtils.isNumber(rect.height) && rect.width > 0 && rect.height > 0;
      }
    }, {
      key: "intersectRect",
      value: function intersectRect(r1, r2) {
        return !(r2.start > r1.start + r1.width || r2.start + r2.width < r1.start || r2.top > r1.top + r1.height || r2.top + r2.height < r1.top);
      }
    }, {
      key: "intersectAreaRect",
      value: function intersectAreaRect(r1, r2) {
        var intersectionX1 = Math.max(r1.start, r2.start);
        var intersectionX2 = Math.min(r1.start + r1.width, r2.start + r2.width);

        if (intersectionX2 < intersectionX1) {
          return {
            start: 0,
            top: 0,
            width: 0,
            height: 0
          };
        }

        var intersectionY1 = Math.max(r1.top, r2.top);
        var intersectionY2 = Math.min(r1.top + r1.height, r2.top + r2.height);

        if (intersectionY2 < intersectionY1) {
          return {
            x: 0,
            y: 0,
            width: 0,
            height: 0
          };
        }

        return {
          start: intersectionX1,
          top: intersectionY1,
          width: intersectionX2 - intersectionX1,
          height: intersectionY2 - intersectionY1
        };
      }
    }, {
      key: "intersectArea",
      value: function intersectArea(r1, r2) {
        var _JSUtils$intersectAre = JSUtils.intersectAreaRect(r1, r2),
            width = _JSUtils$intersectAre.width,
            height = _JSUtils$intersectAre.height;

        return width * height;
      }
    }, {
      key: "rectContainsPoint",
      value: function rectContainsPoint(r, p) {
        return r.start < p.x && r.start + r.width > p.x && r.top < p.y && r.top + r.height > p.y;
      }
    }, {
      key: "inInterval",
      value: function inInterval(n, lower, upper) {
        return n >= lower && n <= upper;
      }
    }, {
      key: "shouldUpdatePureComponent",
      value: function shouldUpdatePureComponent(currentProps, nextProps, currentState, nextState) {
        var ret = false;
        var prevPropsKeys = Object.keys(currentProps);
        var nextPropsKeys = Object.keys(nextProps);

        if (prevPropsKeys.length !== nextPropsKeys.length) {
          ret = true;
        }

        var prevStateKeys = Object.keys(currentState || {});
        var nextStateKeys = Object.keys(nextState || {});

        if (prevStateKeys.length !== nextStateKeys.length) {
          ret = true;
        }

        for (var key in currentProps) {
          if (currentProps[key] !== nextProps[key]) {
            ret = true;
          }
        }

        for (var _key2 in currentState) {
          if (currentState[_key2] !== (nextState || {})[_key2]) {
            ret = true;
          }
        }

        return ret;
      }
    }, {
      key: "getViewByRef",
      value: function getViewByRef(ref) {
        if (!ref) {
          throw new Error("ref.current is null");
        }

        if (typeof ref === "object" && ref.current) {
          ref = ref.current;
        }

        if (typeof ref !== "number") {
          var node = (0, _reactNative.findNodeHandle)(ref);

          if (!node) {
            throw new Error("findNodeHandle failed to resolve view=" + String(ref));
          }

          ref = node;
        }

        return ref;
      }
    }, {
      key: "isNull",
      value: function isNull(a) {
        return a === undefined || a === null;
      }
    }, {
      key: "isEmpty",
      value: function isEmpty(a) {
        if (!JSUtils.isNull(a)) {
          if (typeof a === "string") {
            return a.length === 0;
          }

          if (Array.isArray(a)) {
            return a.length === 0;
          }

          if (typeof a === "object") {
            return Object.keys(a).length === 0;
          }
        }

        return true;
      }
    }, {
      key: "hasProperty",
      value: function hasProperty() {
        var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var property = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
        return Object.prototype.hasOwnProperty.call(obj, property);
      }
    }, {
      key: "isNumber",
      value: function isNumber(value) {
        try {
          return !(typeof value !== "number" || Number.isNaN(value));
        } catch (e) {
          return false;
        }
      }
    }, {
      key: "max",
      value: function max() {
        for (var _len2 = arguments.length, args = new Array(_len2), _key3 = 0; _key3 < _len2; _key3++) {
          args[_key3] = arguments[_key3];
        }

        return Math.max.apply(Math, (0, _toConsumableArray2.default)(args.filter(function (arg) {
          return JSUtils.isNumber(arg);
        })));
      }
    }, {
      key: "min",
      value: function min() {
        for (var _len3 = arguments.length, args = new Array(_len3), _key4 = 0; _key4 < _len3; _key4++) {
          args[_key4] = arguments[_key4];
        }

        return Math.min.apply(Math, (0, _toConsumableArray2.default)(args.filter(function (arg) {
          return JSUtils.isNumber(arg);
        })));
      }
    }, {
      key: "mergeObjects",
      value: function mergeObjects() {
        var obj1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var obj2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
        var mergedObj = (0, _extends2.default)({}, obj1);
        Object.keys(obj2).forEach(function (key) {
          if (obj2[key] !== undefined) {
            if (Array.isArray(obj2[key]) && Array.isArray(obj1[key])) {
              mergedObj[key] = obj2[key];
            } else if (typeof obj2[key] === "object" && typeof obj1[key] === "object") {
              mergedObj[key] = JSUtils.mergeObjects(obj1[key], obj2[key]);
            } else {
              mergedObj[key] = obj2[key];
            }
          }
        });
        return mergedObj;
      }
    }, {
      key: "flattenObject",
      value: function flattenObject(json) {
        var namespace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
        return Object.keys(json).reduce(function (prev, current) {
          var value = json[current];

          if (typeof value === "object") {
            return (0, _extends2.default)({}, prev, JSUtils.flattenObject(value, current));
          }

          var key = namespace ? namespace + "." + current : current;
          prev[key] = value;
          return prev;
        }, {});
      }
    }]);
    return JSUtils;
  }();

  exports.default = JSUtils;
},520,[5,6,21,7,8,80,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.XmlEntities = _$$_REQUIRE(_dependencyMap[0]).XmlEntities;
  exports.Html4Entities = _$$_REQUIRE(_dependencyMap[1]).Html4Entities;
  exports.Html5Entities = _$$_REQUIRE(_dependencyMap[2]).Html5Entities;
  exports.AllHtmlEntities = _$$_REQUIRE(_dependencyMap[2]).Html5Entities;
},521,[522,524,525]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  var ALPHA_INDEX = {
    '&lt': '<',
    '&gt': '>',
    '&quot': '"',
    '&apos': '\'',
    '&amp': '&',
    '&lt;': '<',
    '&gt;': '>',
    '&quot;': '"',
    '&apos;': '\'',
    '&amp;': '&'
  };
  var CHAR_INDEX = {
    60: 'lt',
    62: 'gt',
    34: 'quot',
    39: 'apos',
    38: 'amp'
  };
  var CHAR_S_INDEX = {
    '<': '&lt;',
    '>': '&gt;',
    '"': '&quot;',
    '\'': '&apos;',
    '&': '&amp;'
  };

  var XmlEntities = function () {
    function XmlEntities() {}

    XmlEntities.prototype.encode = function (str) {
      if (!str || !str.length) {
        return '';
      }

      return str.replace(/[<>"'&]/g, function (s) {
        return CHAR_S_INDEX[s];
      });
    };

    XmlEntities.encode = function (str) {
      return new XmlEntities().encode(str);
    };

    XmlEntities.prototype.decode = function (str) {
      if (!str || !str.length) {
        return '';
      }

      return str.replace(/&#?[0-9a-zA-Z]+;?/g, function (s) {
        if (s.charAt(1) === '#') {
          var code = s.charAt(2).toLowerCase() === 'x' ? parseInt(s.substr(3), 16) : parseInt(s.substr(2));

          if (!isNaN(code) || code >= -32768) {
            if (code <= 65535) {
              return String.fromCharCode(code);
            } else {
              return _$$_REQUIRE(_dependencyMap[0]).fromCodePoint(code);
            }
          }

          return '';
        }

        return ALPHA_INDEX[s] || s;
      });
    };

    XmlEntities.decode = function (str) {
      return new XmlEntities().decode(str);
    };

    XmlEntities.prototype.encodeNonUTF = function (str) {
      if (!str || !str.length) {
        return '';
      }

      var strLength = str.length;
      var result = '';
      var i = 0;

      while (i < strLength) {
        var c = str.charCodeAt(i);
        var alpha = CHAR_INDEX[c];

        if (alpha) {
          result += "&" + alpha + ";";
          i++;
          continue;
        }

        if (c < 32 || c > 126) {
          if (c >= _$$_REQUIRE(_dependencyMap[0]).highSurrogateFrom && c <= _$$_REQUIRE(_dependencyMap[0]).highSurrogateTo) {
            result += '&#' + _$$_REQUIRE(_dependencyMap[0]).getCodePoint(str, i) + ';';
            i++;
          } else {
            result += '&#' + c + ';';
          }
        } else {
          result += str.charAt(i);
        }

        i++;
      }

      return result;
    };

    XmlEntities.encodeNonUTF = function (str) {
      return new XmlEntities().encodeNonUTF(str);
    };

    XmlEntities.prototype.encodeNonASCII = function (str) {
      if (!str || !str.length) {
        return '';
      }

      var strLength = str.length;
      var result = '';
      var i = 0;

      while (i < strLength) {
        var c = str.charCodeAt(i);

        if (c <= 255) {
          result += str[i++];
          continue;
        }

        if (c >= _$$_REQUIRE(_dependencyMap[0]).highSurrogateFrom && c <= _$$_REQUIRE(_dependencyMap[0]).highSurrogateTo) {
          result += '&#' + _$$_REQUIRE(_dependencyMap[0]).getCodePoint(str, i) + ';';
          i++;
        } else {
          result += '&#' + c + ';';
        }

        i++;
      }

      return result;
    };

    XmlEntities.encodeNonASCII = function (str) {
      return new XmlEntities().encodeNonASCII(str);
    };

    return XmlEntities;
  }();

  exports.XmlEntities = XmlEntities;
},522,[523]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  exports.fromCodePoint = String.fromCodePoint || function (astralCodePoint) {
    return String.fromCharCode(Math.floor((astralCodePoint - 0x10000) / 0x400) + 0xD800, (astralCodePoint - 0x10000) % 0x400 + 0xDC00);
  };

  exports.getCodePoint = String.prototype.codePointAt ? function (input, position) {
    return input.codePointAt(position);
  } : function (input, position) {
    return (input.charCodeAt(position) - 0xD800) * 0x400 + input.charCodeAt(position + 1) - 0xDC00 + 0x10000;
  };
  exports.highSurrogateFrom = 0xD800;
  exports.highSurrogateTo = 0xDBFF;
},523,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  var HTML_ALPHA = ['apos', 'nbsp', 'iexcl', 'cent', 'pound', 'curren', 'yen', 'brvbar', 'sect', 'uml', 'copy', 'ordf', 'laquo', 'not', 'shy', 'reg', 'macr', 'deg', 'plusmn', 'sup2', 'sup3', 'acute', 'micro', 'para', 'middot', 'cedil', 'sup1', 'ordm', 'raquo', 'frac14', 'frac12', 'frac34', 'iquest', 'Agrave', 'Aacute', 'Acirc', 'Atilde', 'Auml', 'Aring', 'AElig', 'Ccedil', 'Egrave', 'Eacute', 'Ecirc', 'Euml', 'Igrave', 'Iacute', 'Icirc', 'Iuml', 'ETH', 'Ntilde', 'Ograve', 'Oacute', 'Ocirc', 'Otilde', 'Ouml', 'times', 'Oslash', 'Ugrave', 'Uacute', 'Ucirc', 'Uuml', 'Yacute', 'THORN', 'szlig', 'agrave', 'aacute', 'acirc', 'atilde', 'auml', 'aring', 'aelig', 'ccedil', 'egrave', 'eacute', 'ecirc', 'euml', 'igrave', 'iacute', 'icirc', 'iuml', 'eth', 'ntilde', 'ograve', 'oacute', 'ocirc', 'otilde', 'ouml', 'divide', 'oslash', 'ugrave', 'uacute', 'ucirc', 'uuml', 'yacute', 'thorn', 'yuml', 'quot', 'amp', 'lt', 'gt', 'OElig', 'oelig', 'Scaron', 'scaron', 'Yuml', 'circ', 'tilde', 'ensp', 'emsp', 'thinsp', 'zwnj', 'zwj', 'lrm', 'rlm', 'ndash', 'mdash', 'lsquo', 'rsquo', 'sbquo', 'ldquo', 'rdquo', 'bdquo', 'dagger', 'Dagger', 'permil', 'lsaquo', 'rsaquo', 'euro', 'fnof', 'Alpha', 'Beta', 'Gamma', 'Delta', 'Epsilon', 'Zeta', 'Eta', 'Theta', 'Iota', 'Kappa', 'Lambda', 'Mu', 'Nu', 'Xi', 'Omicron', 'Pi', 'Rho', 'Sigma', 'Tau', 'Upsilon', 'Phi', 'Chi', 'Psi', 'Omega', 'alpha', 'beta', 'gamma', 'delta', 'epsilon', 'zeta', 'eta', 'theta', 'iota', 'kappa', 'lambda', 'mu', 'nu', 'xi', 'omicron', 'pi', 'rho', 'sigmaf', 'sigma', 'tau', 'upsilon', 'phi', 'chi', 'psi', 'omega', 'thetasym', 'upsih', 'piv', 'bull', 'hellip', 'prime', 'Prime', 'oline', 'frasl', 'weierp', 'image', 'real', 'trade', 'alefsym', 'larr', 'uarr', 'rarr', 'darr', 'harr', 'crarr', 'lArr', 'uArr', 'rArr', 'dArr', 'hArr', 'forall', 'part', 'exist', 'empty', 'nabla', 'isin', 'notin', 'ni', 'prod', 'sum', 'minus', 'lowast', 'radic', 'prop', 'infin', 'ang', 'and', 'or', 'cap', 'cup', 'int', 'there4', 'sim', 'cong', 'asymp', 'ne', 'equiv', 'le', 'ge', 'sub', 'sup', 'nsub', 'sube', 'supe', 'oplus', 'otimes', 'perp', 'sdot', 'lceil', 'rceil', 'lfloor', 'rfloor', 'lang', 'rang', 'loz', 'spades', 'clubs', 'hearts', 'diams'];
  var HTML_CODES = [39, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 34, 38, 60, 62, 338, 339, 352, 353, 376, 710, 732, 8194, 8195, 8201, 8204, 8205, 8206, 8207, 8211, 8212, 8216, 8217, 8218, 8220, 8221, 8222, 8224, 8225, 8240, 8249, 8250, 8364, 402, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 932, 933, 934, 935, 936, 937, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 977, 978, 982, 8226, 8230, 8242, 8243, 8254, 8260, 8472, 8465, 8476, 8482, 8501, 8592, 8593, 8594, 8595, 8596, 8629, 8656, 8657, 8658, 8659, 8660, 8704, 8706, 8707, 8709, 8711, 8712, 8713, 8715, 8719, 8721, 8722, 8727, 8730, 8733, 8734, 8736, 8743, 8744, 8745, 8746, 8747, 8756, 8764, 8773, 8776, 8800, 8801, 8804, 8805, 8834, 8835, 8836, 8838, 8839, 8853, 8855, 8869, 8901, 8968, 8969, 8970, 8971, 9001, 9002, 9674, 9824, 9827, 9829, 9830];
  var alphaIndex = {};
  var numIndex = {};

  (function () {
    var i = 0;
    var length = HTML_ALPHA.length;

    while (i < length) {
      var a = HTML_ALPHA[i];
      var c = HTML_CODES[i];
      alphaIndex[a] = String.fromCharCode(c);
      numIndex[c] = a;
      i++;
    }
  })();

  var Html4Entities = function () {
    function Html4Entities() {}

    Html4Entities.prototype.decode = function (str) {
      if (!str || !str.length) {
        return '';
      }

      return str.replace(/&(#?[\w\d]+);?/g, function (s, entity) {
        var chr;

        if (entity.charAt(0) === "#") {
          var code = entity.charAt(1).toLowerCase() === 'x' ? parseInt(entity.substr(2), 16) : parseInt(entity.substr(1));

          if (!isNaN(code) || code >= -32768) {
            if (code <= 65535) {
              chr = String.fromCharCode(code);
            } else {
              chr = _$$_REQUIRE(_dependencyMap[0]).fromCodePoint(code);
            }
          }
        } else {
          chr = alphaIndex[entity];
        }

        return chr || s;
      });
    };

    Html4Entities.decode = function (str) {
      return new Html4Entities().decode(str);
    };

    Html4Entities.prototype.encode = function (str) {
      if (!str || !str.length) {
        return '';
      }

      var strLength = str.length;
      var result = '';
      var i = 0;

      while (i < strLength) {
        var alpha = numIndex[str.charCodeAt(i)];
        result += alpha ? "&" + alpha + ";" : str.charAt(i);
        i++;
      }

      return result;
    };

    Html4Entities.encode = function (str) {
      return new Html4Entities().encode(str);
    };

    Html4Entities.prototype.encodeNonUTF = function (str) {
      if (!str || !str.length) {
        return '';
      }

      var strLength = str.length;
      var result = '';
      var i = 0;

      while (i < strLength) {
        var cc = str.charCodeAt(i);
        var alpha = numIndex[cc];

        if (alpha) {
          result += "&" + alpha + ";";
        } else if (cc < 32 || cc > 126) {
          if (cc >= _$$_REQUIRE(_dependencyMap[0]).highSurrogateFrom && cc <= _$$_REQUIRE(_dependencyMap[0]).highSurrogateTo) {
            result += '&#' + _$$_REQUIRE(_dependencyMap[0]).getCodePoint(str, i) + ';';
            i++;
          } else {
            result += '&#' + cc + ';';
          }
        } else {
          result += str.charAt(i);
        }

        i++;
      }

      return result;
    };

    Html4Entities.encodeNonUTF = function (str) {
      return new Html4Entities().encodeNonUTF(str);
    };

    Html4Entities.prototype.encodeNonASCII = function (str) {
      if (!str || !str.length) {
        return '';
      }

      var strLength = str.length;
      var result = '';
      var i = 0;

      while (i < strLength) {
        var c = str.charCodeAt(i);

        if (c <= 255) {
          result += str[i++];
          continue;
        }

        if (c >= _$$_REQUIRE(_dependencyMap[0]).highSurrogateFrom && c <= _$$_REQUIRE(_dependencyMap[0]).highSurrogateTo) {
          result += '&#' + _$$_REQUIRE(_dependencyMap[0]).getCodePoint(str, i) + ';';
          i++;
        } else {
          result += '&#' + c + ';';
        }

        i++;
      }

      return result;
    };

    Html4Entities.encodeNonASCII = function (str) {
      return new Html4Entities().encodeNonASCII(str);
    };

    return Html4Entities;
  }();

  exports.Html4Entities = Html4Entities;
},524,[523]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  var ENTITIES = [['Aacute', [193]], ['aacute', [225]], ['Abreve', [258]], ['abreve', [259]], ['ac', [8766]], ['acd', [8767]], ['acE', [8766, 819]], ['Acirc', [194]], ['acirc', [226]], ['acute', [180]], ['Acy', [1040]], ['acy', [1072]], ['AElig', [198]], ['aelig', [230]], ['af', [8289]], ['Afr', [120068]], ['afr', [120094]], ['Agrave', [192]], ['agrave', [224]], ['alefsym', [8501]], ['aleph', [8501]], ['Alpha', [913]], ['alpha', [945]], ['Amacr', [256]], ['amacr', [257]], ['amalg', [10815]], ['amp', [38]], ['AMP', [38]], ['andand', [10837]], ['And', [10835]], ['and', [8743]], ['andd', [10844]], ['andslope', [10840]], ['andv', [10842]], ['ang', [8736]], ['ange', [10660]], ['angle', [8736]], ['angmsdaa', [10664]], ['angmsdab', [10665]], ['angmsdac', [10666]], ['angmsdad', [10667]], ['angmsdae', [10668]], ['angmsdaf', [10669]], ['angmsdag', [10670]], ['angmsdah', [10671]], ['angmsd', [8737]], ['angrt', [8735]], ['angrtvb', [8894]], ['angrtvbd', [10653]], ['angsph', [8738]], ['angst', [197]], ['angzarr', [9084]], ['Aogon', [260]], ['aogon', [261]], ['Aopf', [120120]], ['aopf', [120146]], ['apacir', [10863]], ['ap', [8776]], ['apE', [10864]], ['ape', [8778]], ['apid', [8779]], ['apos', [39]], ['ApplyFunction', [8289]], ['approx', [8776]], ['approxeq', [8778]], ['Aring', [197]], ['aring', [229]], ['Ascr', [119964]], ['ascr', [119990]], ['Assign', [8788]], ['ast', [42]], ['asymp', [8776]], ['asympeq', [8781]], ['Atilde', [195]], ['atilde', [227]], ['Auml', [196]], ['auml', [228]], ['awconint', [8755]], ['awint', [10769]], ['backcong', [8780]], ['backepsilon', [1014]], ['backprime', [8245]], ['backsim', [8765]], ['backsimeq', [8909]], ['Backslash', [8726]], ['Barv', [10983]], ['barvee', [8893]], ['barwed', [8965]], ['Barwed', [8966]], ['barwedge', [8965]], ['bbrk', [9141]], ['bbrktbrk', [9142]], ['bcong', [8780]], ['Bcy', [1041]], ['bcy', [1073]], ['bdquo', [8222]], ['becaus', [8757]], ['because', [8757]], ['Because', [8757]], ['bemptyv', [10672]], ['bepsi', [1014]], ['bernou', [8492]], ['Bernoullis', [8492]], ['Beta', [914]], ['beta', [946]], ['beth', [8502]], ['between', [8812]], ['Bfr', [120069]], ['bfr', [120095]], ['bigcap', [8898]], ['bigcirc', [9711]], ['bigcup', [8899]], ['bigodot', [10752]], ['bigoplus', [10753]], ['bigotimes', [10754]], ['bigsqcup', [10758]], ['bigstar', [9733]], ['bigtriangledown', [9661]], ['bigtriangleup', [9651]], ['biguplus', [10756]], ['bigvee', [8897]], ['bigwedge', [8896]], ['bkarow', [10509]], ['blacklozenge', [10731]], ['blacksquare', [9642]], ['blacktriangle', [9652]], ['blacktriangledown', [9662]], ['blacktriangleleft', [9666]], ['blacktriangleright', [9656]], ['blank', [9251]], ['blk12', [9618]], ['blk14', [9617]], ['blk34', [9619]], ['block', [9608]], ['bne', [61, 8421]], ['bnequiv', [8801, 8421]], ['bNot', [10989]], ['bnot', [8976]], ['Bopf', [120121]], ['bopf', [120147]], ['bot', [8869]], ['bottom', [8869]], ['bowtie', [8904]], ['boxbox', [10697]], ['boxdl', [9488]], ['boxdL', [9557]], ['boxDl', [9558]], ['boxDL', [9559]], ['boxdr', [9484]], ['boxdR', [9554]], ['boxDr', [9555]], ['boxDR', [9556]], ['boxh', [9472]], ['boxH', [9552]], ['boxhd', [9516]], ['boxHd', [9572]], ['boxhD', [9573]], ['boxHD', [9574]], ['boxhu', [9524]], ['boxHu', [9575]], ['boxhU', [9576]], ['boxHU', [9577]], ['boxminus', [8863]], ['boxplus', [8862]], ['boxtimes', [8864]], ['boxul', [9496]], ['boxuL', [9563]], ['boxUl', [9564]], ['boxUL', [9565]], ['boxur', [9492]], ['boxuR', [9560]], ['boxUr', [9561]], ['boxUR', [9562]], ['boxv', [9474]], ['boxV', [9553]], ['boxvh', [9532]], ['boxvH', [9578]], ['boxVh', [9579]], ['boxVH', [9580]], ['boxvl', [9508]], ['boxvL', [9569]], ['boxVl', [9570]], ['boxVL', [9571]], ['boxvr', [9500]], ['boxvR', [9566]], ['boxVr', [9567]], ['boxVR', [9568]], ['bprime', [8245]], ['breve', [728]], ['Breve', [728]], ['brvbar', [166]], ['bscr', [119991]], ['Bscr', [8492]], ['bsemi', [8271]], ['bsim', [8765]], ['bsime', [8909]], ['bsolb', [10693]], ['bsol', [92]], ['bsolhsub', [10184]], ['bull', [8226]], ['bullet', [8226]], ['bump', [8782]], ['bumpE', [10926]], ['bumpe', [8783]], ['Bumpeq', [8782]], ['bumpeq', [8783]], ['Cacute', [262]], ['cacute', [263]], ['capand', [10820]], ['capbrcup', [10825]], ['capcap', [10827]], ['cap', [8745]], ['Cap', [8914]], ['capcup', [10823]], ['capdot', [10816]], ['CapitalDifferentialD', [8517]], ['caps', [8745, 65024]], ['caret', [8257]], ['caron', [711]], ['Cayleys', [8493]], ['ccaps', [10829]], ['Ccaron', [268]], ['ccaron', [269]], ['Ccedil', [199]], ['ccedil', [231]], ['Ccirc', [264]], ['ccirc', [265]], ['Cconint', [8752]], ['ccups', [10828]], ['ccupssm', [10832]], ['Cdot', [266]], ['cdot', [267]], ['cedil', [184]], ['Cedilla', [184]], ['cemptyv', [10674]], ['cent', [162]], ['centerdot', [183]], ['CenterDot', [183]], ['cfr', [120096]], ['Cfr', [8493]], ['CHcy', [1063]], ['chcy', [1095]], ['check', [10003]], ['checkmark', [10003]], ['Chi', [935]], ['chi', [967]], ['circ', [710]], ['circeq', [8791]], ['circlearrowleft', [8634]], ['circlearrowright', [8635]], ['circledast', [8859]], ['circledcirc', [8858]], ['circleddash', [8861]], ['CircleDot', [8857]], ['circledR', [174]], ['circledS', [9416]], ['CircleMinus', [8854]], ['CirclePlus', [8853]], ['CircleTimes', [8855]], ['cir', [9675]], ['cirE', [10691]], ['cire', [8791]], ['cirfnint', [10768]], ['cirmid', [10991]], ['cirscir', [10690]], ['ClockwiseContourIntegral', [8754]], ['clubs', [9827]], ['clubsuit', [9827]], ['colon', [58]], ['Colon', [8759]], ['Colone', [10868]], ['colone', [8788]], ['coloneq', [8788]], ['comma', [44]], ['commat', [64]], ['comp', [8705]], ['compfn', [8728]], ['complement', [8705]], ['complexes', [8450]], ['cong', [8773]], ['congdot', [10861]], ['Congruent', [8801]], ['conint', [8750]], ['Conint', [8751]], ['ContourIntegral', [8750]], ['copf', [120148]], ['Copf', [8450]], ['coprod', [8720]], ['Coproduct', [8720]], ['copy', [169]], ['COPY', [169]], ['copysr', [8471]], ['CounterClockwiseContourIntegral', [8755]], ['crarr', [8629]], ['cross', [10007]], ['Cross', [10799]], ['Cscr', [119966]], ['cscr', [119992]], ['csub', [10959]], ['csube', [10961]], ['csup', [10960]], ['csupe', [10962]], ['ctdot', [8943]], ['cudarrl', [10552]], ['cudarrr', [10549]], ['cuepr', [8926]], ['cuesc', [8927]], ['cularr', [8630]], ['cularrp', [10557]], ['cupbrcap', [10824]], ['cupcap', [10822]], ['CupCap', [8781]], ['cup', [8746]], ['Cup', [8915]], ['cupcup', [10826]], ['cupdot', [8845]], ['cupor', [10821]], ['cups', [8746, 65024]], ['curarr', [8631]], ['curarrm', [10556]], ['curlyeqprec', [8926]], ['curlyeqsucc', [8927]], ['curlyvee', [8910]], ['curlywedge', [8911]], ['curren', [164]], ['curvearrowleft', [8630]], ['curvearrowright', [8631]], ['cuvee', [8910]], ['cuwed', [8911]], ['cwconint', [8754]], ['cwint', [8753]], ['cylcty', [9005]], ['dagger', [8224]], ['Dagger', [8225]], ['daleth', [8504]], ['darr', [8595]], ['Darr', [8609]], ['dArr', [8659]], ['dash', [8208]], ['Dashv', [10980]], ['dashv', [8867]], ['dbkarow', [10511]], ['dblac', [733]], ['Dcaron', [270]], ['dcaron', [271]], ['Dcy', [1044]], ['dcy', [1076]], ['ddagger', [8225]], ['ddarr', [8650]], ['DD', [8517]], ['dd', [8518]], ['DDotrahd', [10513]], ['ddotseq', [10871]], ['deg', [176]], ['Del', [8711]], ['Delta', [916]], ['delta', [948]], ['demptyv', [10673]], ['dfisht', [10623]], ['Dfr', [120071]], ['dfr', [120097]], ['dHar', [10597]], ['dharl', [8643]], ['dharr', [8642]], ['DiacriticalAcute', [180]], ['DiacriticalDot', [729]], ['DiacriticalDoubleAcute', [733]], ['DiacriticalGrave', [96]], ['DiacriticalTilde', [732]], ['diam', [8900]], ['diamond', [8900]], ['Diamond', [8900]], ['diamondsuit', [9830]], ['diams', [9830]], ['die', [168]], ['DifferentialD', [8518]], ['digamma', [989]], ['disin', [8946]], ['div', [247]], ['divide', [247]], ['divideontimes', [8903]], ['divonx', [8903]], ['DJcy', [1026]], ['djcy', [1106]], ['dlcorn', [8990]], ['dlcrop', [8973]], ['dollar', [36]], ['Dopf', [120123]], ['dopf', [120149]], ['Dot', [168]], ['dot', [729]], ['DotDot', [8412]], ['doteq', [8784]], ['doteqdot', [8785]], ['DotEqual', [8784]], ['dotminus', [8760]], ['dotplus', [8724]], ['dotsquare', [8865]], ['doublebarwedge', [8966]], ['DoubleContourIntegral', [8751]], ['DoubleDot', [168]], ['DoubleDownArrow', [8659]], ['DoubleLeftArrow', [8656]], ['DoubleLeftRightArrow', [8660]], ['DoubleLeftTee', [10980]], ['DoubleLongLeftArrow', [10232]], ['DoubleLongLeftRightArrow', [10234]], ['DoubleLongRightArrow', [10233]], ['DoubleRightArrow', [8658]], ['DoubleRightTee', [8872]], ['DoubleUpArrow', [8657]], ['DoubleUpDownArrow', [8661]], ['DoubleVerticalBar', [8741]], ['DownArrowBar', [10515]], ['downarrow', [8595]], ['DownArrow', [8595]], ['Downarrow', [8659]], ['DownArrowUpArrow', [8693]], ['DownBreve', [785]], ['downdownarrows', [8650]], ['downharpoonleft', [8643]], ['downharpoonright', [8642]], ['DownLeftRightVector', [10576]], ['DownLeftTeeVector', [10590]], ['DownLeftVectorBar', [10582]], ['DownLeftVector', [8637]], ['DownRightTeeVector', [10591]], ['DownRightVectorBar', [10583]], ['DownRightVector', [8641]], ['DownTeeArrow', [8615]], ['DownTee', [8868]], ['drbkarow', [10512]], ['drcorn', [8991]], ['drcrop', [8972]], ['Dscr', [119967]], ['dscr', [119993]], ['DScy', [1029]], ['dscy', [1109]], ['dsol', [10742]], ['Dstrok', [272]], ['dstrok', [273]], ['dtdot', [8945]], ['dtri', [9663]], ['dtrif', [9662]], ['duarr', [8693]], ['duhar', [10607]], ['dwangle', [10662]], ['DZcy', [1039]], ['dzcy', [1119]], ['dzigrarr', [10239]], ['Eacute', [201]], ['eacute', [233]], ['easter', [10862]], ['Ecaron', [282]], ['ecaron', [283]], ['Ecirc', [202]], ['ecirc', [234]], ['ecir', [8790]], ['ecolon', [8789]], ['Ecy', [1069]], ['ecy', [1101]], ['eDDot', [10871]], ['Edot', [278]], ['edot', [279]], ['eDot', [8785]], ['ee', [8519]], ['efDot', [8786]], ['Efr', [120072]], ['efr', [120098]], ['eg', [10906]], ['Egrave', [200]], ['egrave', [232]], ['egs', [10902]], ['egsdot', [10904]], ['el', [10905]], ['Element', [8712]], ['elinters', [9191]], ['ell', [8467]], ['els', [10901]], ['elsdot', [10903]], ['Emacr', [274]], ['emacr', [275]], ['empty', [8709]], ['emptyset', [8709]], ['EmptySmallSquare', [9723]], ['emptyv', [8709]], ['EmptyVerySmallSquare', [9643]], ['emsp13', [8196]], ['emsp14', [8197]], ['emsp', [8195]], ['ENG', [330]], ['eng', [331]], ['ensp', [8194]], ['Eogon', [280]], ['eogon', [281]], ['Eopf', [120124]], ['eopf', [120150]], ['epar', [8917]], ['eparsl', [10723]], ['eplus', [10865]], ['epsi', [949]], ['Epsilon', [917]], ['epsilon', [949]], ['epsiv', [1013]], ['eqcirc', [8790]], ['eqcolon', [8789]], ['eqsim', [8770]], ['eqslantgtr', [10902]], ['eqslantless', [10901]], ['Equal', [10869]], ['equals', [61]], ['EqualTilde', [8770]], ['equest', [8799]], ['Equilibrium', [8652]], ['equiv', [8801]], ['equivDD', [10872]], ['eqvparsl', [10725]], ['erarr', [10609]], ['erDot', [8787]], ['escr', [8495]], ['Escr', [8496]], ['esdot', [8784]], ['Esim', [10867]], ['esim', [8770]], ['Eta', [919]], ['eta', [951]], ['ETH', [208]], ['eth', [240]], ['Euml', [203]], ['euml', [235]], ['euro', [8364]], ['excl', [33]], ['exist', [8707]], ['Exists', [8707]], ['expectation', [8496]], ['exponentiale', [8519]], ['ExponentialE', [8519]], ['fallingdotseq', [8786]], ['Fcy', [1060]], ['fcy', [1092]], ['female', [9792]], ['ffilig', [64259]], ['fflig', [64256]], ['ffllig', [64260]], ['Ffr', [120073]], ['ffr', [120099]], ['filig', [64257]], ['FilledSmallSquare', [9724]], ['FilledVerySmallSquare', [9642]], ['fjlig', [102, 106]], ['flat', [9837]], ['fllig', [64258]], ['fltns', [9649]], ['fnof', [402]], ['Fopf', [120125]], ['fopf', [120151]], ['forall', [8704]], ['ForAll', [8704]], ['fork', [8916]], ['forkv', [10969]], ['Fouriertrf', [8497]], ['fpartint', [10765]], ['frac12', [189]], ['frac13', [8531]], ['frac14', [188]], ['frac15', [8533]], ['frac16', [8537]], ['frac18', [8539]], ['frac23', [8532]], ['frac25', [8534]], ['frac34', [190]], ['frac35', [8535]], ['frac38', [8540]], ['frac45', [8536]], ['frac56', [8538]], ['frac58', [8541]], ['frac78', [8542]], ['frasl', [8260]], ['frown', [8994]], ['fscr', [119995]], ['Fscr', [8497]], ['gacute', [501]], ['Gamma', [915]], ['gamma', [947]], ['Gammad', [988]], ['gammad', [989]], ['gap', [10886]], ['Gbreve', [286]], ['gbreve', [287]], ['Gcedil', [290]], ['Gcirc', [284]], ['gcirc', [285]], ['Gcy', [1043]], ['gcy', [1075]], ['Gdot', [288]], ['gdot', [289]], ['ge', [8805]], ['gE', [8807]], ['gEl', [10892]], ['gel', [8923]], ['geq', [8805]], ['geqq', [8807]], ['geqslant', [10878]], ['gescc', [10921]], ['ges', [10878]], ['gesdot', [10880]], ['gesdoto', [10882]], ['gesdotol', [10884]], ['gesl', [8923, 65024]], ['gesles', [10900]], ['Gfr', [120074]], ['gfr', [120100]], ['gg', [8811]], ['Gg', [8921]], ['ggg', [8921]], ['gimel', [8503]], ['GJcy', [1027]], ['gjcy', [1107]], ['gla', [10917]], ['gl', [8823]], ['glE', [10898]], ['glj', [10916]], ['gnap', [10890]], ['gnapprox', [10890]], ['gne', [10888]], ['gnE', [8809]], ['gneq', [10888]], ['gneqq', [8809]], ['gnsim', [8935]], ['Gopf', [120126]], ['gopf', [120152]], ['grave', [96]], ['GreaterEqual', [8805]], ['GreaterEqualLess', [8923]], ['GreaterFullEqual', [8807]], ['GreaterGreater', [10914]], ['GreaterLess', [8823]], ['GreaterSlantEqual', [10878]], ['GreaterTilde', [8819]], ['Gscr', [119970]], ['gscr', [8458]], ['gsim', [8819]], ['gsime', [10894]], ['gsiml', [10896]], ['gtcc', [10919]], ['gtcir', [10874]], ['gt', [62]], ['GT', [62]], ['Gt', [8811]], ['gtdot', [8919]], ['gtlPar', [10645]], ['gtquest', [10876]], ['gtrapprox', [10886]], ['gtrarr', [10616]], ['gtrdot', [8919]], ['gtreqless', [8923]], ['gtreqqless', [10892]], ['gtrless', [8823]], ['gtrsim', [8819]], ['gvertneqq', [8809, 65024]], ['gvnE', [8809, 65024]], ['Hacek', [711]], ['hairsp', [8202]], ['half', [189]], ['hamilt', [8459]], ['HARDcy', [1066]], ['hardcy', [1098]], ['harrcir', [10568]], ['harr', [8596]], ['hArr', [8660]], ['harrw', [8621]], ['Hat', [94]], ['hbar', [8463]], ['Hcirc', [292]], ['hcirc', [293]], ['hearts', [9829]], ['heartsuit', [9829]], ['hellip', [8230]], ['hercon', [8889]], ['hfr', [120101]], ['Hfr', [8460]], ['HilbertSpace', [8459]], ['hksearow', [10533]], ['hkswarow', [10534]], ['hoarr', [8703]], ['homtht', [8763]], ['hookleftarrow', [8617]], ['hookrightarrow', [8618]], ['hopf', [120153]], ['Hopf', [8461]], ['horbar', [8213]], ['HorizontalLine', [9472]], ['hscr', [119997]], ['Hscr', [8459]], ['hslash', [8463]], ['Hstrok', [294]], ['hstrok', [295]], ['HumpDownHump', [8782]], ['HumpEqual', [8783]], ['hybull', [8259]], ['hyphen', [8208]], ['Iacute', [205]], ['iacute', [237]], ['ic', [8291]], ['Icirc', [206]], ['icirc', [238]], ['Icy', [1048]], ['icy', [1080]], ['Idot', [304]], ['IEcy', [1045]], ['iecy', [1077]], ['iexcl', [161]], ['iff', [8660]], ['ifr', [120102]], ['Ifr', [8465]], ['Igrave', [204]], ['igrave', [236]], ['ii', [8520]], ['iiiint', [10764]], ['iiint', [8749]], ['iinfin', [10716]], ['iiota', [8489]], ['IJlig', [306]], ['ijlig', [307]], ['Imacr', [298]], ['imacr', [299]], ['image', [8465]], ['ImaginaryI', [8520]], ['imagline', [8464]], ['imagpart', [8465]], ['imath', [305]], ['Im', [8465]], ['imof', [8887]], ['imped', [437]], ['Implies', [8658]], ['incare', [8453]], ['in', [8712]], ['infin', [8734]], ['infintie', [10717]], ['inodot', [305]], ['intcal', [8890]], ['int', [8747]], ['Int', [8748]], ['integers', [8484]], ['Integral', [8747]], ['intercal', [8890]], ['Intersection', [8898]], ['intlarhk', [10775]], ['intprod', [10812]], ['InvisibleComma', [8291]], ['InvisibleTimes', [8290]], ['IOcy', [1025]], ['iocy', [1105]], ['Iogon', [302]], ['iogon', [303]], ['Iopf', [120128]], ['iopf', [120154]], ['Iota', [921]], ['iota', [953]], ['iprod', [10812]], ['iquest', [191]], ['iscr', [119998]], ['Iscr', [8464]], ['isin', [8712]], ['isindot', [8949]], ['isinE', [8953]], ['isins', [8948]], ['isinsv', [8947]], ['isinv', [8712]], ['it', [8290]], ['Itilde', [296]], ['itilde', [297]], ['Iukcy', [1030]], ['iukcy', [1110]], ['Iuml', [207]], ['iuml', [239]], ['Jcirc', [308]], ['jcirc', [309]], ['Jcy', [1049]], ['jcy', [1081]], ['Jfr', [120077]], ['jfr', [120103]], ['jmath', [567]], ['Jopf', [120129]], ['jopf', [120155]], ['Jscr', [119973]], ['jscr', [119999]], ['Jsercy', [1032]], ['jsercy', [1112]], ['Jukcy', [1028]], ['jukcy', [1108]], ['Kappa', [922]], ['kappa', [954]], ['kappav', [1008]], ['Kcedil', [310]], ['kcedil', [311]], ['Kcy', [1050]], ['kcy', [1082]], ['Kfr', [120078]], ['kfr', [120104]], ['kgreen', [312]], ['KHcy', [1061]], ['khcy', [1093]], ['KJcy', [1036]], ['kjcy', [1116]], ['Kopf', [120130]], ['kopf', [120156]], ['Kscr', [119974]], ['kscr', [120000]], ['lAarr', [8666]], ['Lacute', [313]], ['lacute', [314]], ['laemptyv', [10676]], ['lagran', [8466]], ['Lambda', [923]], ['lambda', [955]], ['lang', [10216]], ['Lang', [10218]], ['langd', [10641]], ['langle', [10216]], ['lap', [10885]], ['Laplacetrf', [8466]], ['laquo', [171]], ['larrb', [8676]], ['larrbfs', [10527]], ['larr', [8592]], ['Larr', [8606]], ['lArr', [8656]], ['larrfs', [10525]], ['larrhk', [8617]], ['larrlp', [8619]], ['larrpl', [10553]], ['larrsim', [10611]], ['larrtl', [8610]], ['latail', [10521]], ['lAtail', [10523]], ['lat', [10923]], ['late', [10925]], ['lates', [10925, 65024]], ['lbarr', [10508]], ['lBarr', [10510]], ['lbbrk', [10098]], ['lbrace', [123]], ['lbrack', [91]], ['lbrke', [10635]], ['lbrksld', [10639]], ['lbrkslu', [10637]], ['Lcaron', [317]], ['lcaron', [318]], ['Lcedil', [315]], ['lcedil', [316]], ['lceil', [8968]], ['lcub', [123]], ['Lcy', [1051]], ['lcy', [1083]], ['ldca', [10550]], ['ldquo', [8220]], ['ldquor', [8222]], ['ldrdhar', [10599]], ['ldrushar', [10571]], ['ldsh', [8626]], ['le', [8804]], ['lE', [8806]], ['LeftAngleBracket', [10216]], ['LeftArrowBar', [8676]], ['leftarrow', [8592]], ['LeftArrow', [8592]], ['Leftarrow', [8656]], ['LeftArrowRightArrow', [8646]], ['leftarrowtail', [8610]], ['LeftCeiling', [8968]], ['LeftDoubleBracket', [10214]], ['LeftDownTeeVector', [10593]], ['LeftDownVectorBar', [10585]], ['LeftDownVector', [8643]], ['LeftFloor', [8970]], ['leftharpoondown', [8637]], ['leftharpoonup', [8636]], ['leftleftarrows', [8647]], ['leftrightarrow', [8596]], ['LeftRightArrow', [8596]], ['Leftrightarrow', [8660]], ['leftrightarrows', [8646]], ['leftrightharpoons', [8651]], ['leftrightsquigarrow', [8621]], ['LeftRightVector', [10574]], ['LeftTeeArrow', [8612]], ['LeftTee', [8867]], ['LeftTeeVector', [10586]], ['leftthreetimes', [8907]], ['LeftTriangleBar', [10703]], ['LeftTriangle', [8882]], ['LeftTriangleEqual', [8884]], ['LeftUpDownVector', [10577]], ['LeftUpTeeVector', [10592]], ['LeftUpVectorBar', [10584]], ['LeftUpVector', [8639]], ['LeftVectorBar', [10578]], ['LeftVector', [8636]], ['lEg', [10891]], ['leg', [8922]], ['leq', [8804]], ['leqq', [8806]], ['leqslant', [10877]], ['lescc', [10920]], ['les', [10877]], ['lesdot', [10879]], ['lesdoto', [10881]], ['lesdotor', [10883]], ['lesg', [8922, 65024]], ['lesges', [10899]], ['lessapprox', [10885]], ['lessdot', [8918]], ['lesseqgtr', [8922]], ['lesseqqgtr', [10891]], ['LessEqualGreater', [8922]], ['LessFullEqual', [8806]], ['LessGreater', [8822]], ['lessgtr', [8822]], ['LessLess', [10913]], ['lesssim', [8818]], ['LessSlantEqual', [10877]], ['LessTilde', [8818]], ['lfisht', [10620]], ['lfloor', [8970]], ['Lfr', [120079]], ['lfr', [120105]], ['lg', [8822]], ['lgE', [10897]], ['lHar', [10594]], ['lhard', [8637]], ['lharu', [8636]], ['lharul', [10602]], ['lhblk', [9604]], ['LJcy', [1033]], ['ljcy', [1113]], ['llarr', [8647]], ['ll', [8810]], ['Ll', [8920]], ['llcorner', [8990]], ['Lleftarrow', [8666]], ['llhard', [10603]], ['lltri', [9722]], ['Lmidot', [319]], ['lmidot', [320]], ['lmoustache', [9136]], ['lmoust', [9136]], ['lnap', [10889]], ['lnapprox', [10889]], ['lne', [10887]], ['lnE', [8808]], ['lneq', [10887]], ['lneqq', [8808]], ['lnsim', [8934]], ['loang', [10220]], ['loarr', [8701]], ['lobrk', [10214]], ['longleftarrow', [10229]], ['LongLeftArrow', [10229]], ['Longleftarrow', [10232]], ['longleftrightarrow', [10231]], ['LongLeftRightArrow', [10231]], ['Longleftrightarrow', [10234]], ['longmapsto', [10236]], ['longrightarrow', [10230]], ['LongRightArrow', [10230]], ['Longrightarrow', [10233]], ['looparrowleft', [8619]], ['looparrowright', [8620]], ['lopar', [10629]], ['Lopf', [120131]], ['lopf', [120157]], ['loplus', [10797]], ['lotimes', [10804]], ['lowast', [8727]], ['lowbar', [95]], ['LowerLeftArrow', [8601]], ['LowerRightArrow', [8600]], ['loz', [9674]], ['lozenge', [9674]], ['lozf', [10731]], ['lpar', [40]], ['lparlt', [10643]], ['lrarr', [8646]], ['lrcorner', [8991]], ['lrhar', [8651]], ['lrhard', [10605]], ['lrm', [8206]], ['lrtri', [8895]], ['lsaquo', [8249]], ['lscr', [120001]], ['Lscr', [8466]], ['lsh', [8624]], ['Lsh', [8624]], ['lsim', [8818]], ['lsime', [10893]], ['lsimg', [10895]], ['lsqb', [91]], ['lsquo', [8216]], ['lsquor', [8218]], ['Lstrok', [321]], ['lstrok', [322]], ['ltcc', [10918]], ['ltcir', [10873]], ['lt', [60]], ['LT', [60]], ['Lt', [8810]], ['ltdot', [8918]], ['lthree', [8907]], ['ltimes', [8905]], ['ltlarr', [10614]], ['ltquest', [10875]], ['ltri', [9667]], ['ltrie', [8884]], ['ltrif', [9666]], ['ltrPar', [10646]], ['lurdshar', [10570]], ['luruhar', [10598]], ['lvertneqq', [8808, 65024]], ['lvnE', [8808, 65024]], ['macr', [175]], ['male', [9794]], ['malt', [10016]], ['maltese', [10016]], ['Map', [10501]], ['map', [8614]], ['mapsto', [8614]], ['mapstodown', [8615]], ['mapstoleft', [8612]], ['mapstoup', [8613]], ['marker', [9646]], ['mcomma', [10793]], ['Mcy', [1052]], ['mcy', [1084]], ['mdash', [8212]], ['mDDot', [8762]], ['measuredangle', [8737]], ['MediumSpace', [8287]], ['Mellintrf', [8499]], ['Mfr', [120080]], ['mfr', [120106]], ['mho', [8487]], ['micro', [181]], ['midast', [42]], ['midcir', [10992]], ['mid', [8739]], ['middot', [183]], ['minusb', [8863]], ['minus', [8722]], ['minusd', [8760]], ['minusdu', [10794]], ['MinusPlus', [8723]], ['mlcp', [10971]], ['mldr', [8230]], ['mnplus', [8723]], ['models', [8871]], ['Mopf', [120132]], ['mopf', [120158]], ['mp', [8723]], ['mscr', [120002]], ['Mscr', [8499]], ['mstpos', [8766]], ['Mu', [924]], ['mu', [956]], ['multimap', [8888]], ['mumap', [8888]], ['nabla', [8711]], ['Nacute', [323]], ['nacute', [324]], ['nang', [8736, 8402]], ['nap', [8777]], ['napE', [10864, 824]], ['napid', [8779, 824]], ['napos', [329]], ['napprox', [8777]], ['natural', [9838]], ['naturals', [8469]], ['natur', [9838]], ['nbsp', [160]], ['nbump', [8782, 824]], ['nbumpe', [8783, 824]], ['ncap', [10819]], ['Ncaron', [327]], ['ncaron', [328]], ['Ncedil', [325]], ['ncedil', [326]], ['ncong', [8775]], ['ncongdot', [10861, 824]], ['ncup', [10818]], ['Ncy', [1053]], ['ncy', [1085]], ['ndash', [8211]], ['nearhk', [10532]], ['nearr', [8599]], ['neArr', [8663]], ['nearrow', [8599]], ['ne', [8800]], ['nedot', [8784, 824]], ['NegativeMediumSpace', [8203]], ['NegativeThickSpace', [8203]], ['NegativeThinSpace', [8203]], ['NegativeVeryThinSpace', [8203]], ['nequiv', [8802]], ['nesear', [10536]], ['nesim', [8770, 824]], ['NestedGreaterGreater', [8811]], ['NestedLessLess', [8810]], ['nexist', [8708]], ['nexists', [8708]], ['Nfr', [120081]], ['nfr', [120107]], ['ngE', [8807, 824]], ['nge', [8817]], ['ngeq', [8817]], ['ngeqq', [8807, 824]], ['ngeqslant', [10878, 824]], ['nges', [10878, 824]], ['nGg', [8921, 824]], ['ngsim', [8821]], ['nGt', [8811, 8402]], ['ngt', [8815]], ['ngtr', [8815]], ['nGtv', [8811, 824]], ['nharr', [8622]], ['nhArr', [8654]], ['nhpar', [10994]], ['ni', [8715]], ['nis', [8956]], ['nisd', [8954]], ['niv', [8715]], ['NJcy', [1034]], ['njcy', [1114]], ['nlarr', [8602]], ['nlArr', [8653]], ['nldr', [8229]], ['nlE', [8806, 824]], ['nle', [8816]], ['nleftarrow', [8602]], ['nLeftarrow', [8653]], ['nleftrightarrow', [8622]], ['nLeftrightarrow', [8654]], ['nleq', [8816]], ['nleqq', [8806, 824]], ['nleqslant', [10877, 824]], ['nles', [10877, 824]], ['nless', [8814]], ['nLl', [8920, 824]], ['nlsim', [8820]], ['nLt', [8810, 8402]], ['nlt', [8814]], ['nltri', [8938]], ['nltrie', [8940]], ['nLtv', [8810, 824]], ['nmid', [8740]], ['NoBreak', [8288]], ['NonBreakingSpace', [160]], ['nopf', [120159]], ['Nopf', [8469]], ['Not', [10988]], ['not', [172]], ['NotCongruent', [8802]], ['NotCupCap', [8813]], ['NotDoubleVerticalBar', [8742]], ['NotElement', [8713]], ['NotEqual', [8800]], ['NotEqualTilde', [8770, 824]], ['NotExists', [8708]], ['NotGreater', [8815]], ['NotGreaterEqual', [8817]], ['NotGreaterFullEqual', [8807, 824]], ['NotGreaterGreater', [8811, 824]], ['NotGreaterLess', [8825]], ['NotGreaterSlantEqual', [10878, 824]], ['NotGreaterTilde', [8821]], ['NotHumpDownHump', [8782, 824]], ['NotHumpEqual', [8783, 824]], ['notin', [8713]], ['notindot', [8949, 824]], ['notinE', [8953, 824]], ['notinva', [8713]], ['notinvb', [8951]], ['notinvc', [8950]], ['NotLeftTriangleBar', [10703, 824]], ['NotLeftTriangle', [8938]], ['NotLeftTriangleEqual', [8940]], ['NotLess', [8814]], ['NotLessEqual', [8816]], ['NotLessGreater', [8824]], ['NotLessLess', [8810, 824]], ['NotLessSlantEqual', [10877, 824]], ['NotLessTilde', [8820]], ['NotNestedGreaterGreater', [10914, 824]], ['NotNestedLessLess', [10913, 824]], ['notni', [8716]], ['notniva', [8716]], ['notnivb', [8958]], ['notnivc', [8957]], ['NotPrecedes', [8832]], ['NotPrecedesEqual', [10927, 824]], ['NotPrecedesSlantEqual', [8928]], ['NotReverseElement', [8716]], ['NotRightTriangleBar', [10704, 824]], ['NotRightTriangle', [8939]], ['NotRightTriangleEqual', [8941]], ['NotSquareSubset', [8847, 824]], ['NotSquareSubsetEqual', [8930]], ['NotSquareSuperset', [8848, 824]], ['NotSquareSupersetEqual', [8931]], ['NotSubset', [8834, 8402]], ['NotSubsetEqual', [8840]], ['NotSucceeds', [8833]], ['NotSucceedsEqual', [10928, 824]], ['NotSucceedsSlantEqual', [8929]], ['NotSucceedsTilde', [8831, 824]], ['NotSuperset', [8835, 8402]], ['NotSupersetEqual', [8841]], ['NotTilde', [8769]], ['NotTildeEqual', [8772]], ['NotTildeFullEqual', [8775]], ['NotTildeTilde', [8777]], ['NotVerticalBar', [8740]], ['nparallel', [8742]], ['npar', [8742]], ['nparsl', [11005, 8421]], ['npart', [8706, 824]], ['npolint', [10772]], ['npr', [8832]], ['nprcue', [8928]], ['nprec', [8832]], ['npreceq', [10927, 824]], ['npre', [10927, 824]], ['nrarrc', [10547, 824]], ['nrarr', [8603]], ['nrArr', [8655]], ['nrarrw', [8605, 824]], ['nrightarrow', [8603]], ['nRightarrow', [8655]], ['nrtri', [8939]], ['nrtrie', [8941]], ['nsc', [8833]], ['nsccue', [8929]], ['nsce', [10928, 824]], ['Nscr', [119977]], ['nscr', [120003]], ['nshortmid', [8740]], ['nshortparallel', [8742]], ['nsim', [8769]], ['nsime', [8772]], ['nsimeq', [8772]], ['nsmid', [8740]], ['nspar', [8742]], ['nsqsube', [8930]], ['nsqsupe', [8931]], ['nsub', [8836]], ['nsubE', [10949, 824]], ['nsube', [8840]], ['nsubset', [8834, 8402]], ['nsubseteq', [8840]], ['nsubseteqq', [10949, 824]], ['nsucc', [8833]], ['nsucceq', [10928, 824]], ['nsup', [8837]], ['nsupE', [10950, 824]], ['nsupe', [8841]], ['nsupset', [8835, 8402]], ['nsupseteq', [8841]], ['nsupseteqq', [10950, 824]], ['ntgl', [8825]], ['Ntilde', [209]], ['ntilde', [241]], ['ntlg', [8824]], ['ntriangleleft', [8938]], ['ntrianglelefteq', [8940]], ['ntriangleright', [8939]], ['ntrianglerighteq', [8941]], ['Nu', [925]], ['nu', [957]], ['num', [35]], ['numero', [8470]], ['numsp', [8199]], ['nvap', [8781, 8402]], ['nvdash', [8876]], ['nvDash', [8877]], ['nVdash', [8878]], ['nVDash', [8879]], ['nvge', [8805, 8402]], ['nvgt', [62, 8402]], ['nvHarr', [10500]], ['nvinfin', [10718]], ['nvlArr', [10498]], ['nvle', [8804, 8402]], ['nvlt', [60, 8402]], ['nvltrie', [8884, 8402]], ['nvrArr', [10499]], ['nvrtrie', [8885, 8402]], ['nvsim', [8764, 8402]], ['nwarhk', [10531]], ['nwarr', [8598]], ['nwArr', [8662]], ['nwarrow', [8598]], ['nwnear', [10535]], ['Oacute', [211]], ['oacute', [243]], ['oast', [8859]], ['Ocirc', [212]], ['ocirc', [244]], ['ocir', [8858]], ['Ocy', [1054]], ['ocy', [1086]], ['odash', [8861]], ['Odblac', [336]], ['odblac', [337]], ['odiv', [10808]], ['odot', [8857]], ['odsold', [10684]], ['OElig', [338]], ['oelig', [339]], ['ofcir', [10687]], ['Ofr', [120082]], ['ofr', [120108]], ['ogon', [731]], ['Ograve', [210]], ['ograve', [242]], ['ogt', [10689]], ['ohbar', [10677]], ['ohm', [937]], ['oint', [8750]], ['olarr', [8634]], ['olcir', [10686]], ['olcross', [10683]], ['oline', [8254]], ['olt', [10688]], ['Omacr', [332]], ['omacr', [333]], ['Omega', [937]], ['omega', [969]], ['Omicron', [927]], ['omicron', [959]], ['omid', [10678]], ['ominus', [8854]], ['Oopf', [120134]], ['oopf', [120160]], ['opar', [10679]], ['OpenCurlyDoubleQuote', [8220]], ['OpenCurlyQuote', [8216]], ['operp', [10681]], ['oplus', [8853]], ['orarr', [8635]], ['Or', [10836]], ['or', [8744]], ['ord', [10845]], ['order', [8500]], ['orderof', [8500]], ['ordf', [170]], ['ordm', [186]], ['origof', [8886]], ['oror', [10838]], ['orslope', [10839]], ['orv', [10843]], ['oS', [9416]], ['Oscr', [119978]], ['oscr', [8500]], ['Oslash', [216]], ['oslash', [248]], ['osol', [8856]], ['Otilde', [213]], ['otilde', [245]], ['otimesas', [10806]], ['Otimes', [10807]], ['otimes', [8855]], ['Ouml', [214]], ['ouml', [246]], ['ovbar', [9021]], ['OverBar', [8254]], ['OverBrace', [9182]], ['OverBracket', [9140]], ['OverParenthesis', [9180]], ['para', [182]], ['parallel', [8741]], ['par', [8741]], ['parsim', [10995]], ['parsl', [11005]], ['part', [8706]], ['PartialD', [8706]], ['Pcy', [1055]], ['pcy', [1087]], ['percnt', [37]], ['period', [46]], ['permil', [8240]], ['perp', [8869]], ['pertenk', [8241]], ['Pfr', [120083]], ['pfr', [120109]], ['Phi', [934]], ['phi', [966]], ['phiv', [981]], ['phmmat', [8499]], ['phone', [9742]], ['Pi', [928]], ['pi', [960]], ['pitchfork', [8916]], ['piv', [982]], ['planck', [8463]], ['planckh', [8462]], ['plankv', [8463]], ['plusacir', [10787]], ['plusb', [8862]], ['pluscir', [10786]], ['plus', [43]], ['plusdo', [8724]], ['plusdu', [10789]], ['pluse', [10866]], ['PlusMinus', [177]], ['plusmn', [177]], ['plussim', [10790]], ['plustwo', [10791]], ['pm', [177]], ['Poincareplane', [8460]], ['pointint', [10773]], ['popf', [120161]], ['Popf', [8473]], ['pound', [163]], ['prap', [10935]], ['Pr', [10939]], ['pr', [8826]], ['prcue', [8828]], ['precapprox', [10935]], ['prec', [8826]], ['preccurlyeq', [8828]], ['Precedes', [8826]], ['PrecedesEqual', [10927]], ['PrecedesSlantEqual', [8828]], ['PrecedesTilde', [8830]], ['preceq', [10927]], ['precnapprox', [10937]], ['precneqq', [10933]], ['precnsim', [8936]], ['pre', [10927]], ['prE', [10931]], ['precsim', [8830]], ['prime', [8242]], ['Prime', [8243]], ['primes', [8473]], ['prnap', [10937]], ['prnE', [10933]], ['prnsim', [8936]], ['prod', [8719]], ['Product', [8719]], ['profalar', [9006]], ['profline', [8978]], ['profsurf', [8979]], ['prop', [8733]], ['Proportional', [8733]], ['Proportion', [8759]], ['propto', [8733]], ['prsim', [8830]], ['prurel', [8880]], ['Pscr', [119979]], ['pscr', [120005]], ['Psi', [936]], ['psi', [968]], ['puncsp', [8200]], ['Qfr', [120084]], ['qfr', [120110]], ['qint', [10764]], ['qopf', [120162]], ['Qopf', [8474]], ['qprime', [8279]], ['Qscr', [119980]], ['qscr', [120006]], ['quaternions', [8461]], ['quatint', [10774]], ['quest', [63]], ['questeq', [8799]], ['quot', [34]], ['QUOT', [34]], ['rAarr', [8667]], ['race', [8765, 817]], ['Racute', [340]], ['racute', [341]], ['radic', [8730]], ['raemptyv', [10675]], ['rang', [10217]], ['Rang', [10219]], ['rangd', [10642]], ['range', [10661]], ['rangle', [10217]], ['raquo', [187]], ['rarrap', [10613]], ['rarrb', [8677]], ['rarrbfs', [10528]], ['rarrc', [10547]], ['rarr', [8594]], ['Rarr', [8608]], ['rArr', [8658]], ['rarrfs', [10526]], ['rarrhk', [8618]], ['rarrlp', [8620]], ['rarrpl', [10565]], ['rarrsim', [10612]], ['Rarrtl', [10518]], ['rarrtl', [8611]], ['rarrw', [8605]], ['ratail', [10522]], ['rAtail', [10524]], ['ratio', [8758]], ['rationals', [8474]], ['rbarr', [10509]], ['rBarr', [10511]], ['RBarr', [10512]], ['rbbrk', [10099]], ['rbrace', [125]], ['rbrack', [93]], ['rbrke', [10636]], ['rbrksld', [10638]], ['rbrkslu', [10640]], ['Rcaron', [344]], ['rcaron', [345]], ['Rcedil', [342]], ['rcedil', [343]], ['rceil', [8969]], ['rcub', [125]], ['Rcy', [1056]], ['rcy', [1088]], ['rdca', [10551]], ['rdldhar', [10601]], ['rdquo', [8221]], ['rdquor', [8221]], ['CloseCurlyDoubleQuote', [8221]], ['rdsh', [8627]], ['real', [8476]], ['realine', [8475]], ['realpart', [8476]], ['reals', [8477]], ['Re', [8476]], ['rect', [9645]], ['reg', [174]], ['REG', [174]], ['ReverseElement', [8715]], ['ReverseEquilibrium', [8651]], ['ReverseUpEquilibrium', [10607]], ['rfisht', [10621]], ['rfloor', [8971]], ['rfr', [120111]], ['Rfr', [8476]], ['rHar', [10596]], ['rhard', [8641]], ['rharu', [8640]], ['rharul', [10604]], ['Rho', [929]], ['rho', [961]], ['rhov', [1009]], ['RightAngleBracket', [10217]], ['RightArrowBar', [8677]], ['rightarrow', [8594]], ['RightArrow', [8594]], ['Rightarrow', [8658]], ['RightArrowLeftArrow', [8644]], ['rightarrowtail', [8611]], ['RightCeiling', [8969]], ['RightDoubleBracket', [10215]], ['RightDownTeeVector', [10589]], ['RightDownVectorBar', [10581]], ['RightDownVector', [8642]], ['RightFloor', [8971]], ['rightharpoondown', [8641]], ['rightharpoonup', [8640]], ['rightleftarrows', [8644]], ['rightleftharpoons', [8652]], ['rightrightarrows', [8649]], ['rightsquigarrow', [8605]], ['RightTeeArrow', [8614]], ['RightTee', [8866]], ['RightTeeVector', [10587]], ['rightthreetimes', [8908]], ['RightTriangleBar', [10704]], ['RightTriangle', [8883]], ['RightTriangleEqual', [8885]], ['RightUpDownVector', [10575]], ['RightUpTeeVector', [10588]], ['RightUpVectorBar', [10580]], ['RightUpVector', [8638]], ['RightVectorBar', [10579]], ['RightVector', [8640]], ['ring', [730]], ['risingdotseq', [8787]], ['rlarr', [8644]], ['rlhar', [8652]], ['rlm', [8207]], ['rmoustache', [9137]], ['rmoust', [9137]], ['rnmid', [10990]], ['roang', [10221]], ['roarr', [8702]], ['robrk', [10215]], ['ropar', [10630]], ['ropf', [120163]], ['Ropf', [8477]], ['roplus', [10798]], ['rotimes', [10805]], ['RoundImplies', [10608]], ['rpar', [41]], ['rpargt', [10644]], ['rppolint', [10770]], ['rrarr', [8649]], ['Rrightarrow', [8667]], ['rsaquo', [8250]], ['rscr', [120007]], ['Rscr', [8475]], ['rsh', [8625]], ['Rsh', [8625]], ['rsqb', [93]], ['rsquo', [8217]], ['rsquor', [8217]], ['CloseCurlyQuote', [8217]], ['rthree', [8908]], ['rtimes', [8906]], ['rtri', [9657]], ['rtrie', [8885]], ['rtrif', [9656]], ['rtriltri', [10702]], ['RuleDelayed', [10740]], ['ruluhar', [10600]], ['rx', [8478]], ['Sacute', [346]], ['sacute', [347]], ['sbquo', [8218]], ['scap', [10936]], ['Scaron', [352]], ['scaron', [353]], ['Sc', [10940]], ['sc', [8827]], ['sccue', [8829]], ['sce', [10928]], ['scE', [10932]], ['Scedil', [350]], ['scedil', [351]], ['Scirc', [348]], ['scirc', [349]], ['scnap', [10938]], ['scnE', [10934]], ['scnsim', [8937]], ['scpolint', [10771]], ['scsim', [8831]], ['Scy', [1057]], ['scy', [1089]], ['sdotb', [8865]], ['sdot', [8901]], ['sdote', [10854]], ['searhk', [10533]], ['searr', [8600]], ['seArr', [8664]], ['searrow', [8600]], ['sect', [167]], ['semi', [59]], ['seswar', [10537]], ['setminus', [8726]], ['setmn', [8726]], ['sext', [10038]], ['Sfr', [120086]], ['sfr', [120112]], ['sfrown', [8994]], ['sharp', [9839]], ['SHCHcy', [1065]], ['shchcy', [1097]], ['SHcy', [1064]], ['shcy', [1096]], ['ShortDownArrow', [8595]], ['ShortLeftArrow', [8592]], ['shortmid', [8739]], ['shortparallel', [8741]], ['ShortRightArrow', [8594]], ['ShortUpArrow', [8593]], ['shy', [173]], ['Sigma', [931]], ['sigma', [963]], ['sigmaf', [962]], ['sigmav', [962]], ['sim', [8764]], ['simdot', [10858]], ['sime', [8771]], ['simeq', [8771]], ['simg', [10910]], ['simgE', [10912]], ['siml', [10909]], ['simlE', [10911]], ['simne', [8774]], ['simplus', [10788]], ['simrarr', [10610]], ['slarr', [8592]], ['SmallCircle', [8728]], ['smallsetminus', [8726]], ['smashp', [10803]], ['smeparsl', [10724]], ['smid', [8739]], ['smile', [8995]], ['smt', [10922]], ['smte', [10924]], ['smtes', [10924, 65024]], ['SOFTcy', [1068]], ['softcy', [1100]], ['solbar', [9023]], ['solb', [10692]], ['sol', [47]], ['Sopf', [120138]], ['sopf', [120164]], ['spades', [9824]], ['spadesuit', [9824]], ['spar', [8741]], ['sqcap', [8851]], ['sqcaps', [8851, 65024]], ['sqcup', [8852]], ['sqcups', [8852, 65024]], ['Sqrt', [8730]], ['sqsub', [8847]], ['sqsube', [8849]], ['sqsubset', [8847]], ['sqsubseteq', [8849]], ['sqsup', [8848]], ['sqsupe', [8850]], ['sqsupset', [8848]], ['sqsupseteq', [8850]], ['square', [9633]], ['Square', [9633]], ['SquareIntersection', [8851]], ['SquareSubset', [8847]], ['SquareSubsetEqual', [8849]], ['SquareSuperset', [8848]], ['SquareSupersetEqual', [8850]], ['SquareUnion', [8852]], ['squarf', [9642]], ['squ', [9633]], ['squf', [9642]], ['srarr', [8594]], ['Sscr', [119982]], ['sscr', [120008]], ['ssetmn', [8726]], ['ssmile', [8995]], ['sstarf', [8902]], ['Star', [8902]], ['star', [9734]], ['starf', [9733]], ['straightepsilon', [1013]], ['straightphi', [981]], ['strns', [175]], ['sub', [8834]], ['Sub', [8912]], ['subdot', [10941]], ['subE', [10949]], ['sube', [8838]], ['subedot', [10947]], ['submult', [10945]], ['subnE', [10955]], ['subne', [8842]], ['subplus', [10943]], ['subrarr', [10617]], ['subset', [8834]], ['Subset', [8912]], ['subseteq', [8838]], ['subseteqq', [10949]], ['SubsetEqual', [8838]], ['subsetneq', [8842]], ['subsetneqq', [10955]], ['subsim', [10951]], ['subsub', [10965]], ['subsup', [10963]], ['succapprox', [10936]], ['succ', [8827]], ['succcurlyeq', [8829]], ['Succeeds', [8827]], ['SucceedsEqual', [10928]], ['SucceedsSlantEqual', [8829]], ['SucceedsTilde', [8831]], ['succeq', [10928]], ['succnapprox', [10938]], ['succneqq', [10934]], ['succnsim', [8937]], ['succsim', [8831]], ['SuchThat', [8715]], ['sum', [8721]], ['Sum', [8721]], ['sung', [9834]], ['sup1', [185]], ['sup2', [178]], ['sup3', [179]], ['sup', [8835]], ['Sup', [8913]], ['supdot', [10942]], ['supdsub', [10968]], ['supE', [10950]], ['supe', [8839]], ['supedot', [10948]], ['Superset', [8835]], ['SupersetEqual', [8839]], ['suphsol', [10185]], ['suphsub', [10967]], ['suplarr', [10619]], ['supmult', [10946]], ['supnE', [10956]], ['supne', [8843]], ['supplus', [10944]], ['supset', [8835]], ['Supset', [8913]], ['supseteq', [8839]], ['supseteqq', [10950]], ['supsetneq', [8843]], ['supsetneqq', [10956]], ['supsim', [10952]], ['supsub', [10964]], ['supsup', [10966]], ['swarhk', [10534]], ['swarr', [8601]], ['swArr', [8665]], ['swarrow', [8601]], ['swnwar', [10538]], ['szlig', [223]], ['Tab', [9]], ['target', [8982]], ['Tau', [932]], ['tau', [964]], ['tbrk', [9140]], ['Tcaron', [356]], ['tcaron', [357]], ['Tcedil', [354]], ['tcedil', [355]], ['Tcy', [1058]], ['tcy', [1090]], ['tdot', [8411]], ['telrec', [8981]], ['Tfr', [120087]], ['tfr', [120113]], ['there4', [8756]], ['therefore', [8756]], ['Therefore', [8756]], ['Theta', [920]], ['theta', [952]], ['thetasym', [977]], ['thetav', [977]], ['thickapprox', [8776]], ['thicksim', [8764]], ['ThickSpace', [8287, 8202]], ['ThinSpace', [8201]], ['thinsp', [8201]], ['thkap', [8776]], ['thksim', [8764]], ['THORN', [222]], ['thorn', [254]], ['tilde', [732]], ['Tilde', [8764]], ['TildeEqual', [8771]], ['TildeFullEqual', [8773]], ['TildeTilde', [8776]], ['timesbar', [10801]], ['timesb', [8864]], ['times', [215]], ['timesd', [10800]], ['tint', [8749]], ['toea', [10536]], ['topbot', [9014]], ['topcir', [10993]], ['top', [8868]], ['Topf', [120139]], ['topf', [120165]], ['topfork', [10970]], ['tosa', [10537]], ['tprime', [8244]], ['trade', [8482]], ['TRADE', [8482]], ['triangle', [9653]], ['triangledown', [9663]], ['triangleleft', [9667]], ['trianglelefteq', [8884]], ['triangleq', [8796]], ['triangleright', [9657]], ['trianglerighteq', [8885]], ['tridot', [9708]], ['trie', [8796]], ['triminus', [10810]], ['TripleDot', [8411]], ['triplus', [10809]], ['trisb', [10701]], ['tritime', [10811]], ['trpezium', [9186]], ['Tscr', [119983]], ['tscr', [120009]], ['TScy', [1062]], ['tscy', [1094]], ['TSHcy', [1035]], ['tshcy', [1115]], ['Tstrok', [358]], ['tstrok', [359]], ['twixt', [8812]], ['twoheadleftarrow', [8606]], ['twoheadrightarrow', [8608]], ['Uacute', [218]], ['uacute', [250]], ['uarr', [8593]], ['Uarr', [8607]], ['uArr', [8657]], ['Uarrocir', [10569]], ['Ubrcy', [1038]], ['ubrcy', [1118]], ['Ubreve', [364]], ['ubreve', [365]], ['Ucirc', [219]], ['ucirc', [251]], ['Ucy', [1059]], ['ucy', [1091]], ['udarr', [8645]], ['Udblac', [368]], ['udblac', [369]], ['udhar', [10606]], ['ufisht', [10622]], ['Ufr', [120088]], ['ufr', [120114]], ['Ugrave', [217]], ['ugrave', [249]], ['uHar', [10595]], ['uharl', [8639]], ['uharr', [8638]], ['uhblk', [9600]], ['ulcorn', [8988]], ['ulcorner', [8988]], ['ulcrop', [8975]], ['ultri', [9720]], ['Umacr', [362]], ['umacr', [363]], ['uml', [168]], ['UnderBar', [95]], ['UnderBrace', [9183]], ['UnderBracket', [9141]], ['UnderParenthesis', [9181]], ['Union', [8899]], ['UnionPlus', [8846]], ['Uogon', [370]], ['uogon', [371]], ['Uopf', [120140]], ['uopf', [120166]], ['UpArrowBar', [10514]], ['uparrow', [8593]], ['UpArrow', [8593]], ['Uparrow', [8657]], ['UpArrowDownArrow', [8645]], ['updownarrow', [8597]], ['UpDownArrow', [8597]], ['Updownarrow', [8661]], ['UpEquilibrium', [10606]], ['upharpoonleft', [8639]], ['upharpoonright', [8638]], ['uplus', [8846]], ['UpperLeftArrow', [8598]], ['UpperRightArrow', [8599]], ['upsi', [965]], ['Upsi', [978]], ['upsih', [978]], ['Upsilon', [933]], ['upsilon', [965]], ['UpTeeArrow', [8613]], ['UpTee', [8869]], ['upuparrows', [8648]], ['urcorn', [8989]], ['urcorner', [8989]], ['urcrop', [8974]], ['Uring', [366]], ['uring', [367]], ['urtri', [9721]], ['Uscr', [119984]], ['uscr', [120010]], ['utdot', [8944]], ['Utilde', [360]], ['utilde', [361]], ['utri', [9653]], ['utrif', [9652]], ['uuarr', [8648]], ['Uuml', [220]], ['uuml', [252]], ['uwangle', [10663]], ['vangrt', [10652]], ['varepsilon', [1013]], ['varkappa', [1008]], ['varnothing', [8709]], ['varphi', [981]], ['varpi', [982]], ['varpropto', [8733]], ['varr', [8597]], ['vArr', [8661]], ['varrho', [1009]], ['varsigma', [962]], ['varsubsetneq', [8842, 65024]], ['varsubsetneqq', [10955, 65024]], ['varsupsetneq', [8843, 65024]], ['varsupsetneqq', [10956, 65024]], ['vartheta', [977]], ['vartriangleleft', [8882]], ['vartriangleright', [8883]], ['vBar', [10984]], ['Vbar', [10987]], ['vBarv', [10985]], ['Vcy', [1042]], ['vcy', [1074]], ['vdash', [8866]], ['vDash', [8872]], ['Vdash', [8873]], ['VDash', [8875]], ['Vdashl', [10982]], ['veebar', [8891]], ['vee', [8744]], ['Vee', [8897]], ['veeeq', [8794]], ['vellip', [8942]], ['verbar', [124]], ['Verbar', [8214]], ['vert', [124]], ['Vert', [8214]], ['VerticalBar', [8739]], ['VerticalLine', [124]], ['VerticalSeparator', [10072]], ['VerticalTilde', [8768]], ['VeryThinSpace', [8202]], ['Vfr', [120089]], ['vfr', [120115]], ['vltri', [8882]], ['vnsub', [8834, 8402]], ['vnsup', [8835, 8402]], ['Vopf', [120141]], ['vopf', [120167]], ['vprop', [8733]], ['vrtri', [8883]], ['Vscr', [119985]], ['vscr', [120011]], ['vsubnE', [10955, 65024]], ['vsubne', [8842, 65024]], ['vsupnE', [10956, 65024]], ['vsupne', [8843, 65024]], ['Vvdash', [8874]], ['vzigzag', [10650]], ['Wcirc', [372]], ['wcirc', [373]], ['wedbar', [10847]], ['wedge', [8743]], ['Wedge', [8896]], ['wedgeq', [8793]], ['weierp', [8472]], ['Wfr', [120090]], ['wfr', [120116]], ['Wopf', [120142]], ['wopf', [120168]], ['wp', [8472]], ['wr', [8768]], ['wreath', [8768]], ['Wscr', [119986]], ['wscr', [120012]], ['xcap', [8898]], ['xcirc', [9711]], ['xcup', [8899]], ['xdtri', [9661]], ['Xfr', [120091]], ['xfr', [120117]], ['xharr', [10231]], ['xhArr', [10234]], ['Xi', [926]], ['xi', [958]], ['xlarr', [10229]], ['xlArr', [10232]], ['xmap', [10236]], ['xnis', [8955]], ['xodot', [10752]], ['Xopf', [120143]], ['xopf', [120169]], ['xoplus', [10753]], ['xotime', [10754]], ['xrarr', [10230]], ['xrArr', [10233]], ['Xscr', [119987]], ['xscr', [120013]], ['xsqcup', [10758]], ['xuplus', [10756]], ['xutri', [9651]], ['xvee', [8897]], ['xwedge', [8896]], ['Yacute', [221]], ['yacute', [253]], ['YAcy', [1071]], ['yacy', [1103]], ['Ycirc', [374]], ['ycirc', [375]], ['Ycy', [1067]], ['ycy', [1099]], ['yen', [165]], ['Yfr', [120092]], ['yfr', [120118]], ['YIcy', [1031]], ['yicy', [1111]], ['Yopf', [120144]], ['yopf', [120170]], ['Yscr', [119988]], ['yscr', [120014]], ['YUcy', [1070]], ['yucy', [1102]], ['yuml', [255]], ['Yuml', [376]], ['Zacute', [377]], ['zacute', [378]], ['Zcaron', [381]], ['zcaron', [382]], ['Zcy', [1047]], ['zcy', [1079]], ['Zdot', [379]], ['zdot', [380]], ['zeetrf', [8488]], ['ZeroWidthSpace', [8203]], ['Zeta', [918]], ['zeta', [950]], ['zfr', [120119]], ['Zfr', [8488]], ['ZHcy', [1046]], ['zhcy', [1078]], ['zigrarr', [8669]], ['zopf', [120171]], ['Zopf', [8484]], ['Zscr', [119989]], ['zscr', [120015]], ['zwj', [8205]], ['zwnj', [8204]]];
  var DECODE_ONLY_ENTITIES = [['NewLine', [10]]];
  var alphaIndex = {};
  var charIndex = {};
  createIndexes(alphaIndex, charIndex);

  var Html5Entities = function () {
    function Html5Entities() {}

    Html5Entities.prototype.decode = function (str) {
      if (!str || !str.length) {
        return '';
      }

      return str.replace(/&(#?[\w\d]+);?/g, function (s, entity) {
        var chr;

        if (entity.charAt(0) === "#") {
          var code = entity.charAt(1) === 'x' ? parseInt(entity.substr(2).toLowerCase(), 16) : parseInt(entity.substr(1));

          if (!isNaN(code) || code >= -32768) {
            if (code <= 65535) {
              chr = String.fromCharCode(code);
            } else {
              chr = _$$_REQUIRE(_dependencyMap[0]).fromCodePoint(code);
            }
          }
        } else {
          chr = alphaIndex[entity];
        }

        return chr || s;
      });
    };

    Html5Entities.decode = function (str) {
      return new Html5Entities().decode(str);
    };

    Html5Entities.prototype.encode = function (str) {
      if (!str || !str.length) {
        return '';
      }

      var strLength = str.length;
      var result = '';
      var i = 0;

      while (i < strLength) {
        var charInfo = charIndex[str.charCodeAt(i)];

        if (charInfo) {
          var alpha = charInfo[str.charCodeAt(i + 1)];

          if (alpha) {
            i++;
          } else {
            alpha = charInfo[''];
          }

          if (alpha) {
            result += "&" + alpha + ";";
            i++;
            continue;
          }
        }

        result += str.charAt(i);
        i++;
      }

      return result;
    };

    Html5Entities.encode = function (str) {
      return new Html5Entities().encode(str);
    };

    Html5Entities.prototype.encodeNonUTF = function (str) {
      if (!str || !str.length) {
        return '';
      }

      var strLength = str.length;
      var result = '';
      var i = 0;

      while (i < strLength) {
        var c = str.charCodeAt(i);
        var charInfo = charIndex[c];

        if (charInfo) {
          var alpha = charInfo[str.charCodeAt(i + 1)];

          if (alpha) {
            i++;
          } else {
            alpha = charInfo[''];
          }

          if (alpha) {
            result += "&" + alpha + ";";
            i++;
            continue;
          }
        }

        if (c < 32 || c > 126) {
          if (c >= _$$_REQUIRE(_dependencyMap[0]).highSurrogateFrom && c <= _$$_REQUIRE(_dependencyMap[0]).highSurrogateTo) {
            result += '&#' + _$$_REQUIRE(_dependencyMap[0]).getCodePoint(str, i) + ';';
            i++;
          } else {
            result += '&#' + c + ';';
          }
        } else {
          result += str.charAt(i);
        }

        i++;
      }

      return result;
    };

    Html5Entities.encodeNonUTF = function (str) {
      return new Html5Entities().encodeNonUTF(str);
    };

    Html5Entities.prototype.encodeNonASCII = function (str) {
      if (!str || !str.length) {
        return '';
      }

      var strLength = str.length;
      var result = '';
      var i = 0;

      while (i < strLength) {
        var c = str.charCodeAt(i);

        if (c <= 255) {
          result += str[i++];
          continue;
        }

        if (c >= _$$_REQUIRE(_dependencyMap[0]).highSurrogateFrom && c <= _$$_REQUIRE(_dependencyMap[0]).highSurrogateTo) {
          result += '&#' + _$$_REQUIRE(_dependencyMap[0]).getCodePoint(str, i) + ';';
          i += 2;
        } else {
          result += '&#' + c + ';';
          i++;
        }
      }

      return result;
    };

    Html5Entities.encodeNonASCII = function (str) {
      return new Html5Entities().encodeNonASCII(str);
    };

    return Html5Entities;
  }();

  exports.Html5Entities = Html5Entities;

  function createIndexes(alphaIndex, charIndex) {
    var i = ENTITIES.length;

    while (i--) {
      var _a = ENTITIES[i],
          alpha = _a[0],
          _b = _a[1],
          chr = _b[0],
          chr2 = _b[1];
      var addChar = chr < 32 || chr > 126 || chr === 62 || chr === 60 || chr === 38 || chr === 34 || chr === 39;
      var charInfo = undefined;

      if (addChar) {
        charInfo = charIndex[chr] = charIndex[chr] || {};
      }

      if (chr2) {
        alphaIndex[alpha] = String.fromCharCode(chr) + String.fromCharCode(chr2);
        addChar && (charInfo[chr2] = alpha);
      } else {
        alphaIndex[alpha] = String.fromCharCode(chr);
        addChar && (charInfo[''] = alpha);
      }
    }

    i = DECODE_ONLY_ENTITIES.length;

    while (i--) {
      var _c = DECODE_ONLY_ENTITIES[i],
          alpha = _c[0],
          _d = _c[1],
          chr = _d[0],
          chr2 = _d[1];
      alphaIndex[alpha] = String.fromCharCode(chr) + (chr2 ? String.fromCharCode(chr2) : '');
    }
  }
},525,[523]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function DOMParser(options) {
    this.options = options || {
      locator: {}
    };
  }

  DOMParser.prototype.parseFromString = function (source, mimeType) {
    var options = this.options;
    var sax = new XMLReader();
    var domBuilder = options.domBuilder || new DOMHandler();
    var errorHandler = options.errorHandler;
    var locator = options.locator;
    var defaultNSMap = options.xmlns || {};

    if (typeof _$$_REQUIRE == 'function') {
      var entityMap = _$$_REQUIRE(_dependencyMap[0]).EntityMap;
    }

    if (locator) {
      domBuilder.setDocumentLocator(locator);
    }

    sax.errorHandler = buildErrorHandler(errorHandler, domBuilder, locator);
    sax.domBuilder = options.domBuilder || domBuilder;

    if (/\/x?html?$/.test(mimeType)) {
      entityMap.nbsp = '\xa0';
      entityMap.copy = '\xa9';
      defaultNSMap[''] = 'http://www.w3.org/1999/xhtml';
    }

    defaultNSMap.xml = defaultNSMap.xml || 'http://www.w3.org/XML/1998/namespace';

    if (source) {
      sax.parse(source, defaultNSMap, entityMap);
    } else {
      sax.errorHandler.error("invalid document source");
    }

    return domBuilder.document;
  };

  function buildErrorHandler(errorImpl, domBuilder, locator) {
    if (!errorImpl) {
      if (domBuilder instanceof DOMHandler) {
        return domBuilder;
      }

      errorImpl = domBuilder;
    }

    var errorHandler = {};
    var isCallback = errorImpl instanceof Function;
    locator = locator || {};

    function build(key) {
      var fn = errorImpl[key];

      if (!fn && isCallback) {
        fn = errorImpl.length == 2 ? function (msg) {
          errorImpl(key, msg);
        } : errorImpl;
      }

      errorHandler[key] = fn && function (msg) {
        fn('[xmldom ' + key + ']\t' + msg + _locator(locator));
      } || function () {};
    }

    build('warning');
    build('error');
    build('fatalError');
    return errorHandler;
  }

  function DOMHandler() {
    this.cdata = false;
  }

  function position(locator, node) {
    node.lineNumber = locator.lineNumber;
    node.columnNumber = locator.columnNumber;
  }

  DOMHandler.prototype = {
    startDocument: function startDocument() {
      this.document = new DOMImplementation().createDocument(null, null, null);

      if (this.locator) {
        this.document.documentURI = this.locator.systemId;
      }
    },
    startElement: function startElement(namespaceURI, localName, qName, attrs) {
      var doc = this.document;
      var el = doc.createElementNS(namespaceURI, qName || localName);
      var len = attrs.length;
      appendElement(this, el);
      this.currentElement = el;
      this.locator && position(this.locator, el);

      for (var i = 0; i < len; i++) {
        var namespaceURI = attrs.getURI(i);
        var value = attrs.getValue(i);
        var qName = attrs.getQName(i);
        var attr = doc.createAttributeNS(namespaceURI, qName);

        if (attr.getOffset) {
          position(attr.getOffset(1), attr);
        }

        attr.value = attr.nodeValue = value;
        el.setAttributeNode(attr);
      }
    },
    endElement: function endElement(namespaceURI, localName, qName) {
      var current = this.currentElement;
      var tagName = current.tagName;
      this.currentElement = current.parentNode;
    },
    startPrefixMapping: function startPrefixMapping(prefix, uri) {},
    endPrefixMapping: function endPrefixMapping(prefix) {},
    processingInstruction: function processingInstruction(target, data) {
      var ins = this.document.createProcessingInstruction(target, data);
      this.locator && position(this.locator, ins);
      appendElement(this, ins);
    },
    ignorableWhitespace: function ignorableWhitespace(ch, start, length) {},
    characters: function characters(chars, start, length) {
      chars = _toString.apply(this, arguments);

      if (this.currentElement && chars) {
        if (this.cdata) {
          var charNode = this.document.createCDATASection(chars);
          this.currentElement.appendChild(charNode);
        } else {
          var charNode = this.document.createTextNode(chars);
          this.currentElement.appendChild(charNode);
        }

        this.locator && position(this.locator, charNode);
      }
    },
    skippedEntity: function skippedEntity(name) {},
    endDocument: function endDocument() {
      this.document.normalize();
    },
    setDocumentLocator: function setDocumentLocator(locator) {
      if (this.locator = locator) {
        locator.lineNumber = 0;
      }
    },
    comment: function comment(chars, start, length) {
      chars = _toString.apply(this, arguments);
      var comm = this.document.createComment(chars);
      this.locator && position(this.locator, comm);
      appendElement(this, comm);
    },
    startCDATA: function startCDATA() {
      this.cdata = true;
    },
    endCDATA: function endCDATA() {
      this.cdata = false;
    },
    startDTD: function startDTD(name, publicId, systemId) {
      var impl = this.document.implementation;

      if (impl && impl.createDocumentType) {
        var dt = impl.createDocumentType(name, publicId, systemId);
        this.locator && position(this.locator, dt);
        appendElement(this, dt);
      }
    },
    warning: function warning(error) {
      console.warn('[xmldom warning]\t' + error, _locator(this.locator));
    },
    error: function error(_error) {
      console.error('[xmldom error]\t' + _error, _locator(this.locator));
    },
    fatalError: function fatalError(error) {
      console.error('[xmldom fatalError]\t' + error, _locator(this.locator));
      throw error;
    }
  };

  function _locator(l) {
    if (l) {
      return '\n@' + (l.systemId || '') + '#[line:' + l.lineNumber + ',col:' + l.columnNumber + ']';
    }
  }

  function _toString(chars, start, length) {
    if (typeof chars == 'string') {
      return chars.substr(start, length);
    } else {
      if (chars.length >= start + length || start) {
        return new java.lang.String(chars, start, length) + '';
      }

      return chars;
    }
  }

  "endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g, function (key) {
    DOMHandler.prototype[key] = function () {
      return null;
    };
  });

  function appendElement(hander, node) {
    if (!hander.currentElement) {
      hander.document.appendChild(node);
    } else {
      hander.currentElement.appendChild(node);
    }
  }

  if (typeof _$$_REQUIRE == 'function') {
    var XMLReader = _$$_REQUIRE(_dependencyMap[1]).XMLReader;

    var DOMImplementation = exports.DOMImplementation = _$$_REQUIRE(_dependencyMap[2]).DOMImplementation;

    exports.XMLSerializer = _$$_REQUIRE(_dependencyMap[2]).XMLSerializer;
    exports.DOMParser = DOMParser;
  }
},526,[527,528,529]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var EntityMap = {
    'lt': '<',
    'gt': '>',
    'amp': '&',
    'quot': '"',
    'apos': "'",
    'laquo': '«',
    'raquo': '»',
    'forall': "\u2200",
    'part': "\u2202",
    'exists': "\u2203",
    'empty': "\u2205",
    'nabla': "\u2207",
    'isin': "\u2208",
    'notin': "\u2209",
    'ni': "\u220B",
    'prod': "\u220F",
    'sum': "\u2211",
    'minus': "\u2212",
    'lowast': "\u2217",
    'radic': "\u221A",
    'prop': "\u221D",
    'infin': "\u221E",
    'ang': "\u2220",
    'and': "\u2227",
    'or': "\u2228",
    'cap': "\u2229",
    'cup': "\u222A",
    'int': "\u222B",
    'there4': "\u2234",
    'sim': "\u223C",
    'cong': "\u2245",
    'asymp': "\u2248",
    'ne': "\u2260",
    'equiv': "\u2261",
    'le': "\u2264",
    'ge': "\u2265",
    'sub': "\u2282",
    'sup': "\u2283",
    'nsub': "\u2284",
    'sube': "\u2286",
    'supe': "\u2287",
    'oplus': "\u2295",
    'otimes': "\u2297",
    'perp': "\u22A5",
    'sdot': "\u22C5",
    'Alpha': "\u0391",
    'Beta': "\u0392",
    'Gamma': "\u0393",
    'Delta': "\u0394",
    'Epsilon': "\u0395",
    'Zeta': "\u0396",
    'Eta': "\u0397",
    'Theta': "\u0398",
    'Iota': "\u0399",
    'Kappa': "\u039A",
    'Lambda': "\u039B",
    'Mu': "\u039C",
    'Nu': "\u039D",
    'Xi': "\u039E",
    'Omicron': "\u039F",
    'Pi': "\u03A0",
    'Rho': "\u03A1",
    'Sigma': "\u03A3",
    'Tau': "\u03A4",
    'Upsilon': "\u03A5",
    'Phi': "\u03A6",
    'Chi': "\u03A7",
    'Psi': "\u03A8",
    'Omega': "\u03A9",
    'alpha': "\u03B1",
    'beta': "\u03B2",
    'gamma': "\u03B3",
    'delta': "\u03B4",
    'epsilon': "\u03B5",
    'zeta': "\u03B6",
    'eta': "\u03B7",
    'theta': "\u03B8",
    'iota': "\u03B9",
    'kappa': "\u03BA",
    'lambda': "\u03BB",
    'mu': "\u03BC",
    'nu': "\u03BD",
    'xi': "\u03BE",
    'omicron': "\u03BF",
    'pi': "\u03C0",
    'rho': "\u03C1",
    'sigmaf': "\u03C2",
    'sigma': "\u03C3",
    'tau': "\u03C4",
    'upsilon': "\u03C5",
    'phi': "\u03C6",
    'chi': "\u03C7",
    'psi': "\u03C8",
    'omega': "\u03C9",
    'thetasym': "\u03D1",
    'upsih': "\u03D2",
    'piv': "\u03D6",
    'OElig': "\u0152",
    'oelig': "\u0153",
    'Scaron': "\u0160",
    'scaron': "\u0161",
    'Yuml': "\u0178",
    'fnof': "\u0192",
    'circ': "\u02C6",
    'tilde': "\u02DC",
    'ensp': "\u2002",
    'emsp': "\u2003",
    'thinsp': "\u2009",
    'zwnj': "\u200C",
    'zwj': "\u200D",
    'lrm': "\u200E",
    'rlm': "\u200F",
    'ndash': "\u2013",
    'mdash': "\u2014",
    'lsquo': "\u2018",
    'rsquo': "\u2019",
    'sbquo': "\u201A",
    'ldquo': "\u201C",
    'rdquo': "\u201D",
    'bdquo': "\u201E",
    'dagger': "\u2020",
    'Dagger': "\u2021",
    'bull': "\u2022",
    'hellip': "\u2026",
    'permil': "\u2030",
    'prime': "\u2032",
    'Prime': "\u2033",
    'lsaquo': "\u2039",
    'rsaquo': "\u203A",
    'oline': "\u203E",
    'euro': "\u20AC",
    'trade': "\u2122",
    'larr': "\u2190",
    'uarr': "\u2191",
    'rarr': "\u2192",
    'darr': "\u2193",
    'harr': "\u2194",
    'crarr': "\u21B5",
    'lceil': "\u2308",
    'rceil': "\u2309",
    'lfloor': "\u230A",
    'rfloor': "\u230B",
    'loz': "\u25CA",
    'spades': "\u2660",
    'clubs': "\u2663",
    'hearts': "\u2665",
    'diams': "\u2666",
    'laquo': "\xAB",
    'raquo': "\xBB"
  };

  if (typeof _$$_REQUIRE == 'function') {
    exports.EntityMap = EntityMap;
  }
},527,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var nameStartChar = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/;
  var nameChar = new RegExp("[\\-\\.0-9" + nameStartChar.source.slice(1, -1) + "\xB7\u0300-\u036F\\u203F-\u2040]");
  var tagNamePattern = new RegExp('^' + nameStartChar.source + nameChar.source + '*(?:\:' + nameStartChar.source + nameChar.source + '*)?$');
  var S_TAG = 0;
  var S_ATTR = 1;
  var S_ATTR_S = 2;
  var S_EQ = 3;
  var S_V = 4;
  var S_E = 5;
  var S_S = 6;
  var S_C = 7;

  function XMLReader() {}

  XMLReader.prototype = {
    parse: function parse(source, defaultNSMap, entityMap) {
      var domBuilder = this.domBuilder;
      domBuilder.startDocument();

      _copy(defaultNSMap, defaultNSMap = {});

      _parse(source, defaultNSMap, entityMap, domBuilder, this.errorHandler);

      domBuilder.endDocument();
    }
  };

  function _parse(source, defaultNSMapCopy, entityMap, domBuilder, errorHandler) {
    function fixedFromCharCode(code) {
      if (code > 0xffff) {
        code -= 0x10000;
        var surrogate1 = 0xd800 + (code >> 10),
            surrogate2 = 0xdc00 + (code & 0x3ff);
        return String.fromCharCode(surrogate1, surrogate2);
      } else {
        return String.fromCharCode(code);
      }
    }

    function entityReplacer(a) {
      var k = a.slice(1, -1);

      if (k in entityMap) {
        return entityMap[k];
      } else if (k.charAt(0) === '#') {
        return fixedFromCharCode(parseInt(k.substr(1).replace('x', '0x')));
      } else {
        errorHandler.error('entity not found:' + a);
        return a;
      }
    }

    function appendText(end) {
      if (end > start) {
        var xt = source.substring(start, end).replace(/&#?\w+;/g, entityReplacer);
        locator && position(start);
        domBuilder.characters(xt, 0, end - start);
        start = end;
      }
    }

    function position(p, m) {
      while (p >= lineEnd && (m = linePattern.exec(source))) {
        lineStart = m.index;
        lineEnd = lineStart + m[0].length;
        locator.lineNumber++;
      }

      locator.columnNumber = p - lineStart + 1;
    }

    var lineStart = 0;
    var lineEnd = 0;
    var linePattern = /.+(?:\r\n?|\n)|.*$/g;
    var locator = domBuilder.locator;
    var parseStack = [{
      currentNSMap: defaultNSMapCopy
    }];
    var closeMap = {};
    var start = 0;

    while (true) {
      try {
        var tagStart = source.indexOf('<', start);

        if (tagStart < 0) {
          if (!source.substr(start).match(/^\s*$/)) {
            var doc = domBuilder.document;
            var text = doc.createTextNode(source.substr(start));
            doc.appendChild(text);
            domBuilder.currentElement = text;
          }

          return;
        }

        if (tagStart > start) {
          appendText(tagStart);
        }

        switch (source.charAt(tagStart + 1)) {
          case '/':
            var end = source.indexOf('>', tagStart + 3);
            var tagName = source.substring(tagStart + 2, end);
            var config = parseStack.pop();
            var localNSMap = config.localNSMap;

            if (config.tagName != tagName) {
              errorHandler.fatalError("end tag name: " + tagName + ' is not match the current start tagName:' + config.tagName);
            }

            domBuilder.endElement(config.uri, config.localName, tagName);

            if (localNSMap) {
              for (var prefix in localNSMap) {
                domBuilder.endPrefixMapping(prefix);
              }
            }

            end++;
            break;

          case '?':
            locator && position(tagStart);
            end = parseInstruction(source, tagStart, domBuilder);
            break;

          case '!':
            locator && position(tagStart);
            end = parseDCC(source, tagStart, domBuilder, errorHandler);
            break;

          default:
            locator && position(tagStart);
            var el = new ElementAttributes();
            var end = parseElementStartPart(source, tagStart, el, entityReplacer, errorHandler);
            var len = el.length;

            if (locator) {
              if (len) {
                for (var i = 0; i < len; i++) {
                  var a = el[i];
                  position(a.offset);
                  a.offset = copyLocator(locator, {});
                }
              }

              position(end);
            }

            if (!el.closed && fixSelfClosed(source, end, el.tagName, closeMap)) {
              el.closed = true;

              if (!entityMap.nbsp) {
                errorHandler.warning('unclosed xml attribute');
              }
            }

            appendElement(el, domBuilder, parseStack);

            if (el.uri === 'http://www.w3.org/1999/xhtml' && !el.closed) {
              end = parseHtmlSpecialContent(source, end, el.tagName, entityReplacer, domBuilder);
            } else {
              end++;
            }

        }
      } catch (e) {
        errorHandler.error('element parse error: ' + e);
        end = -1;
      }

      if (end > start) {
        start = end;
      } else {
        appendText(Math.max(tagStart, start) + 1);
      }
    }
  }

  function copyLocator(f, t) {
    t.lineNumber = f.lineNumber;
    t.columnNumber = f.columnNumber;
    return t;
  }

  function parseElementStartPart(source, start, el, entityReplacer, errorHandler) {
    var attrName;
    var value;
    var p = ++start;
    var s = S_TAG;

    while (true) {
      var c = source.charAt(p);

      switch (c) {
        case '=':
          if (s === S_ATTR) {
            attrName = source.slice(start, p);
            s = S_EQ;
          } else if (s === S_ATTR_S) {
            s = S_EQ;
          } else {
            throw new Error('attribute equal must after attrName');
          }

          break;

        case '\'':
        case '"':
          if (s === S_EQ) {
            start = p + 1;
            p = source.indexOf(c, start);

            if (p > 0) {
              value = source.slice(start, p).replace(/&#?\w+;/g, entityReplacer);
              el.add(attrName, value, start - 1);
              s = S_E;
            } else {
              throw new Error('attribute value no end \'' + c + '\' match');
            }
          } else if (s == S_V) {
            value = source.slice(start, p).replace(/&#?\w+;/g, entityReplacer);
            el.add(attrName, value, start);
            errorHandler.warning('attribute "' + attrName + '" missed start quot(' + c + ')!!');
            start = p + 1;
            s = S_E;
          } else {
            throw new Error('attribute value must after "="');
          }

          break;

        case '/':
          switch (s) {
            case S_TAG:
              el.setTagName(source.slice(start, p));

            case S_E:
            case S_S:
            case S_C:
              s = S_C;
              el.closed = true;

            case S_V:
            case S_ATTR:
            case S_ATTR_S:
              break;

            default:
              throw new Error("attribute invalid close char('/')");
          }

          break;

        case '':
          errorHandler.error('unexpected end of input');

        case '>':
          switch (s) {
            case S_TAG:
              el.setTagName(source.slice(start, p));

            case S_E:
            case S_S:
            case S_C:
              break;

            case S_V:
            case S_ATTR:
              value = source.slice(start, p);

              if (value.slice(-1) === '/') {
                el.closed = true;
                value = value.slice(0, -1);
              }

            case S_ATTR_S:
              if (s === S_ATTR_S) {
                value = attrName;
              }

              if (s == S_V) {
                errorHandler.warning('attribute "' + value + '" missed quot(")!!');
                el.add(attrName, value.replace(/&#?\w+;/g, entityReplacer), start);
              } else {
                errorHandler.warning('attribute "' + value + '" missed value!! "' + value + '" instead!!');
                el.add(value, value, start);
              }

              break;

            case S_EQ:
              throw new Error('attribute value missed!!');
          }

          return p;

        case "\x80":
          c = ' ';

        default:
          if (c <= ' ') {
            switch (s) {
              case S_TAG:
                el.setTagName(source.slice(start, p));
                s = S_S;
                break;

              case S_ATTR:
                attrName = source.slice(start, p);
                s = S_ATTR_S;
                break;

              case S_V:
                var value = source.slice(start, p).replace(/&#?\w+;/g, entityReplacer);
                errorHandler.warning('attribute "' + value + '" missed quot(")!!');
                el.add(attrName, value, start);

              case S_E:
                s = S_S;
                break;
            }
          } else {
            switch (s) {
              case S_ATTR_S:
                errorHandler.warning('attribute "' + attrName + '" missed value!! "' + attrName + '" instead!!');
                el.add(attrName, attrName, start);
                start = p;
                s = S_ATTR;
                break;

              case S_E:
                errorHandler.warning('attribute space is required"' + attrName + '"!!');

              case S_S:
                s = S_ATTR;
                start = p;
                break;

              case S_EQ:
                s = S_V;
                start = p;
                break;

              case S_C:
                throw new Error("elements closed character '/' and '>' must be connected to");
            }
          }

      }

      p++;
    }
  }

  function appendElement(el, domBuilder, parseStack) {
    var tagName = el.tagName;
    var localNSMap = null;
    var currentNSMap = parseStack[parseStack.length - 1].currentNSMap;
    var i = el.length;

    while (i--) {
      var a = el[i];
      var qName = a.qName;
      var value = a.value;
      var nsp = qName.indexOf(':');

      if (nsp > 0) {
        var prefix = a.prefix = qName.slice(0, nsp);
        var localName = qName.slice(nsp + 1);
        var nsPrefix = prefix === 'xmlns' && localName;
      } else {
        localName = qName;
        prefix = null;
        nsPrefix = qName === 'xmlns' && '';
      }

      a.localName = localName;

      if (nsPrefix !== false) {
        if (localNSMap == null) {
          localNSMap = {};

          _copy(currentNSMap, currentNSMap = {});
        }

        currentNSMap[nsPrefix] = localNSMap[nsPrefix] = value;
        a.uri = 'http://www.w3.org/2000/xmlns/';
        domBuilder.startPrefixMapping(nsPrefix, value);
      }
    }

    var i = el.length;

    while (i--) {
      a = el[i];
      var prefix = a.prefix;

      if (prefix) {
        if (prefix === 'xml') {
          a.uri = 'http://www.w3.org/XML/1998/namespace';
        }

        if (prefix !== 'xmlns') {
          a.uri = currentNSMap[prefix];
        }
      }
    }

    var nsp = tagName.indexOf(':');

    if (nsp > 0) {
      prefix = el.prefix = tagName.slice(0, nsp);
      localName = el.localName = tagName.slice(nsp + 1);
    } else {
      prefix = null;
      localName = el.localName = tagName;
    }

    var ns = el.uri = currentNSMap[prefix || ''];
    domBuilder.startElement(ns, localName, tagName, el);

    if (el.closed) {
      domBuilder.endElement(ns, localName, tagName);

      if (localNSMap) {
        for (prefix in localNSMap) {
          domBuilder.endPrefixMapping(prefix);
        }
      }
    } else {
      el.currentNSMap = currentNSMap;
      el.localNSMap = localNSMap;
      parseStack.push(el);
    }
  }

  function parseHtmlSpecialContent(source, elStartEnd, tagName, entityReplacer, domBuilder) {
    if (/^(?:script|textarea)$/i.test(tagName)) {
      var elEndStart = source.indexOf('</' + tagName + '>', elStartEnd);
      var text = source.substring(elStartEnd + 1, elEndStart);

      if (/[&<]/.test(text)) {
        if (/^script$/i.test(tagName)) {
          domBuilder.characters(text, 0, text.length);
          return elEndStart;
        }

        text = text.replace(/&#?\w+;/g, entityReplacer);
        domBuilder.characters(text, 0, text.length);
        return elEndStart;
      }
    }

    return elStartEnd + 1;
  }

  function fixSelfClosed(source, elStartEnd, tagName, closeMap) {
    var pos = closeMap[tagName];

    if (pos == null) {
      pos = closeMap[tagName] = source.lastIndexOf('</' + tagName + '>');
    }

    return pos < elStartEnd;
  }

  function _copy(source, target) {
    for (var n in source) {
      target[n] = source[n];
    }
  }

  function parseDCC(source, start, domBuilder, errorHandler) {
    var next = source.charAt(start + 2);

    switch (next) {
      case '-':
        if (source.charAt(start + 3) === '-') {
          var end = source.indexOf('-->', start + 4);

          if (end > start) {
            domBuilder.comment(source, start + 4, end - start - 4);
            return end + 3;
          } else {
            errorHandler.error("Unclosed comment");
            return -1;
          }
        } else {
          return -1;
        }

      default:
        if (source.substr(start + 3, 6) == 'CDATA[') {
          var end = source.indexOf(']]>', start + 9);
          domBuilder.startCDATA();
          domBuilder.characters(source, start + 9, end - start - 9);
          domBuilder.endCDATA();
          return end + 3;
        }

        var matchs = split(source, start);
        var len = matchs.length;

        if (len > 1 && /!doctype/i.test(matchs[0][0])) {
          var name = matchs[1][0];
          var pubid = len > 3 && /^public$/i.test(matchs[2][0]) && matchs[3][0];
          var sysid = len > 4 && matchs[4][0];
          var lastMatch = matchs[len - 1];
          domBuilder.startDTD(name, pubid && pubid.replace(/^(['"])(.*?)\1$/, '$2'), sysid && sysid.replace(/^(['"])(.*?)\1$/, '$2'));
          domBuilder.endDTD();
          return lastMatch.index + lastMatch[0].length;
        }

    }

    return -1;
  }

  function parseInstruction(source, start, domBuilder) {
    var end = source.indexOf('?>', start);

    if (end) {
      var match = source.substring(start, end).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);

      if (match) {
        var len = match[0].length;
        domBuilder.processingInstruction(match[1], match[2]);
        return end + 2;
      } else {
        return -1;
      }
    }

    return -1;
  }

  function ElementAttributes(source) {}

  ElementAttributes.prototype = {
    setTagName: function setTagName(tagName) {
      if (!tagNamePattern.test(tagName)) {
        throw new Error('invalid tagName:' + tagName);
      }

      this.tagName = tagName;
    },
    add: function add(qName, value, offset) {
      if (!tagNamePattern.test(qName)) {
        throw new Error('invalid attribute:' + qName);
      }

      this[this.length++] = {
        qName: qName,
        value: value,
        offset: offset
      };
    },
    length: 0,
    getLocalName: function getLocalName(i) {
      return this[i].localName;
    },
    getOffset: function getOffset(i) {
      return this[i].offset;
    },
    getQName: function getQName(i) {
      return this[i].qName;
    },
    getURI: function getURI(i) {
      return this[i].uri;
    },
    getValue: function getValue(i) {
      return this[i].value;
    }
  };

  function _set_proto_(thiz, parent) {
    thiz.__proto__ = parent;
    return thiz;
  }

  if (!(_set_proto_({}, _set_proto_.prototype) instanceof _set_proto_)) {
    _set_proto_ = function _set_proto_(thiz, parent) {
      function p() {}

      ;
      p.prototype = parent;
      p = new p();

      for (parent in thiz) {
        p[parent] = thiz[parent];
      }

      return p;
    };
  }

  function split(source, start) {
    var match;
    var buf = [];
    var reg = /'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;
    reg.lastIndex = start;
    reg.exec(source);

    while (match = reg.exec(source)) {
      buf.push(match);
      if (match[1]) return buf;
    }
  }

  if (typeof _$$_REQUIRE == 'function') {
    exports.XMLReader = XMLReader;
  }
},528,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function copy(src, dest) {
    for (var p in src) {
      dest[p] = src[p];
    }
  }

  function _extends(Class, Super) {
    var pt = Class.prototype;

    if (Object.create) {
      var ppt = Object.create(Super.prototype);
      pt.__proto__ = ppt;
    }

    if (!(pt instanceof Super)) {
      function t() {}

      ;
      t.prototype = Super.prototype;
      t = new t();
      copy(pt, t);
      Class.prototype = pt = t;
    }

    if (pt.constructor != Class) {
      if (typeof Class != 'function') {
        console.error("unknow Class:" + Class);
      }

      pt.constructor = Class;
    }
  }

  var htmlns = 'http://www.w3.org/1999/xhtml';
  var NodeType = {};
  var ELEMENT_NODE = NodeType.ELEMENT_NODE = 1;
  var ATTRIBUTE_NODE = NodeType.ATTRIBUTE_NODE = 2;
  var TEXT_NODE = NodeType.TEXT_NODE = 3;
  var CDATA_SECTION_NODE = NodeType.CDATA_SECTION_NODE = 4;
  var ENTITY_REFERENCE_NODE = NodeType.ENTITY_REFERENCE_NODE = 5;
  var ENTITY_NODE = NodeType.ENTITY_NODE = 6;
  var PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7;
  var COMMENT_NODE = NodeType.COMMENT_NODE = 8;
  var DOCUMENT_NODE = NodeType.DOCUMENT_NODE = 9;
  var DOCUMENT_TYPE_NODE = NodeType.DOCUMENT_TYPE_NODE = 10;
  var DOCUMENT_FRAGMENT_NODE = NodeType.DOCUMENT_FRAGMENT_NODE = 11;
  var NOTATION_NODE = NodeType.NOTATION_NODE = 12;
  var ExceptionCode = {};
  var ExceptionMessage = {};
  var INDEX_SIZE_ERR = ExceptionCode.INDEX_SIZE_ERR = (ExceptionMessage[1] = "Index size error", 1);
  var DOMSTRING_SIZE_ERR = ExceptionCode.DOMSTRING_SIZE_ERR = (ExceptionMessage[2] = "DOMString size error", 2);
  var HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = (ExceptionMessage[3] = "Hierarchy request error", 3);
  var WRONG_DOCUMENT_ERR = ExceptionCode.WRONG_DOCUMENT_ERR = (ExceptionMessage[4] = "Wrong document", 4);
  var INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = (ExceptionMessage[5] = "Invalid character", 5);
  var NO_DATA_ALLOWED_ERR = ExceptionCode.NO_DATA_ALLOWED_ERR = (ExceptionMessage[6] = "No data allowed", 6);
  var NO_MODIFICATION_ALLOWED_ERR = ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = (ExceptionMessage[7] = "No modification allowed", 7);
  var NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = (ExceptionMessage[8] = "Not found", 8);
  var NOT_SUPPORTED_ERR = ExceptionCode.NOT_SUPPORTED_ERR = (ExceptionMessage[9] = "Not supported", 9);
  var INUSE_ATTRIBUTE_ERR = ExceptionCode.INUSE_ATTRIBUTE_ERR = (ExceptionMessage[10] = "Attribute in use", 10);
  var INVALID_STATE_ERR = ExceptionCode.INVALID_STATE_ERR = (ExceptionMessage[11] = "Invalid state", 11);
  var SYNTAX_ERR = ExceptionCode.SYNTAX_ERR = (ExceptionMessage[12] = "Syntax error", 12);
  var INVALID_MODIFICATION_ERR = ExceptionCode.INVALID_MODIFICATION_ERR = (ExceptionMessage[13] = "Invalid modification", 13);
  var NAMESPACE_ERR = ExceptionCode.NAMESPACE_ERR = (ExceptionMessage[14] = "Invalid namespace", 14);
  var INVALID_ACCESS_ERR = ExceptionCode.INVALID_ACCESS_ERR = (ExceptionMessage[15] = "Invalid access", 15);

  function DOMException(code, message) {
    if (message instanceof Error) {
      var error = message;
    } else {
      error = this;
      Error.call(this, ExceptionMessage[code]);
      this.message = ExceptionMessage[code];
      if (Error.captureStackTrace) Error.captureStackTrace(this, DOMException);
    }

    error.code = code;
    if (message) this.message = this.message + ": " + message;
    return error;
  }

  ;
  DOMException.prototype = Error.prototype;
  copy(ExceptionCode, DOMException);

  function NodeList() {}

  ;
  NodeList.prototype = {
    length: 0,
    item: function item(index) {
      return this[index] || null;
    },
    toString: function toString() {
      for (var buf = [], i = 0; i < this.length; i++) {
        serializeToString(this[i], buf);
      }

      return buf.join('');
    }
  };

  function LiveNodeList(node, refresh) {
    this._node = node;
    this._refresh = refresh;

    _updateLiveList(this);
  }

  function _updateLiveList(list) {
    var inc = list._node._inc || list._node.ownerDocument._inc;

    if (list._inc != inc) {
      var ls = list._refresh(list._node);

      __set__(list, 'length', ls.length);

      copy(ls, list);
      list._inc = inc;
    }
  }

  LiveNodeList.prototype.item = function (i) {
    _updateLiveList(this);

    return this[i];
  };

  _extends(LiveNodeList, NodeList);

  function NamedNodeMap() {}

  ;

  function _findNodeIndex(list, node) {
    var i = list.length;

    while (i--) {
      if (list[i] === node) {
        return i;
      }
    }
  }

  function _addNamedNode(el, list, newAttr, oldAttr) {
    if (oldAttr) {
      list[_findNodeIndex(list, oldAttr)] = newAttr;
    } else {
      list[list.length++] = newAttr;
    }

    if (el) {
      newAttr.ownerElement = el;
      var doc = el.ownerDocument;

      if (doc) {
        oldAttr && _onRemoveAttribute(doc, el, oldAttr);

        _onAddAttribute(doc, el, newAttr);
      }
    }
  }

  function _removeNamedNode(el, list, attr) {
    var i = _findNodeIndex(list, attr);

    if (i >= 0) {
      var lastIndex = list.length - 1;

      while (i < lastIndex) {
        list[i] = list[++i];
      }

      list.length = lastIndex;

      if (el) {
        var doc = el.ownerDocument;

        if (doc) {
          _onRemoveAttribute(doc, el, attr);

          attr.ownerElement = null;
        }
      }
    } else {
      throw DOMException(NOT_FOUND_ERR, new Error());
    }
  }

  NamedNodeMap.prototype = {
    length: 0,
    item: NodeList.prototype.item,
    getNamedItem: function getNamedItem(key) {
      var i = this.length;

      while (i--) {
        var attr = this[i];

        if (attr.nodeName == key) {
          return attr;
        }
      }
    },
    setNamedItem: function setNamedItem(attr) {
      var el = attr.ownerElement;

      if (el && el != this._ownerElement) {
        throw new DOMException(INUSE_ATTRIBUTE_ERR);
      }

      var oldAttr = this.getNamedItem(attr.nodeName);

      _addNamedNode(this._ownerElement, this, attr, oldAttr);

      return oldAttr;
    },
    setNamedItemNS: function setNamedItemNS(attr) {
      var el = attr.ownerElement,
          oldAttr;

      if (el && el != this._ownerElement) {
        throw new DOMException(INUSE_ATTRIBUTE_ERR);
      }

      oldAttr = this.getNamedItemNS(attr.namespaceURI, attr.localName);

      _addNamedNode(this._ownerElement, this, attr, oldAttr);

      return oldAttr;
    },
    removeNamedItem: function removeNamedItem(key) {
      var attr = this.getNamedItem(key);

      _removeNamedNode(this._ownerElement, this, attr);

      return attr;
    },
    removeNamedItemNS: function removeNamedItemNS(namespaceURI, localName) {
      var attr = this.getNamedItemNS(namespaceURI, localName);

      _removeNamedNode(this._ownerElement, this, attr);

      return attr;
    },
    getNamedItemNS: function getNamedItemNS(namespaceURI, localName) {
      var i = this.length;

      while (i--) {
        var node = this[i];

        if (node.localName == localName && node.namespaceURI == namespaceURI) {
          return node;
        }
      }

      return null;
    }
  };

  function DOMImplementation(features) {
    this._features = {};

    if (features) {
      for (var feature in features) {
        this._features = features[feature];
      }
    }
  }

  ;
  DOMImplementation.prototype = {
    hasFeature: function hasFeature(feature, version) {
      var versions = this._features[feature.toLowerCase()];

      if (versions && (!version || version in versions)) {
        return true;
      } else {
        return false;
      }
    },
    createDocument: function createDocument(namespaceURI, qualifiedName, doctype) {
      var doc = new Document();
      doc.implementation = this;
      doc.childNodes = new NodeList();
      doc.doctype = doctype;

      if (doctype) {
        doc.appendChild(doctype);
      }

      if (qualifiedName) {
        var root = doc.createElementNS(namespaceURI, qualifiedName);
        doc.appendChild(root);
      }

      return doc;
    },
    createDocumentType: function createDocumentType(qualifiedName, publicId, systemId) {
      var node = new DocumentType();
      node.name = qualifiedName;
      node.nodeName = qualifiedName;
      node.publicId = publicId;
      node.systemId = systemId;
      return node;
    }
  };

  function Node() {}

  ;
  Node.prototype = {
    firstChild: null,
    lastChild: null,
    previousSibling: null,
    nextSibling: null,
    attributes: null,
    parentNode: null,
    childNodes: null,
    ownerDocument: null,
    nodeValue: null,
    namespaceURI: null,
    prefix: null,
    localName: null,
    insertBefore: function insertBefore(newChild, refChild) {
      return _insertBefore(this, newChild, refChild);
    },
    replaceChild: function replaceChild(newChild, oldChild) {
      this.insertBefore(newChild, oldChild);

      if (oldChild) {
        this.removeChild(oldChild);
      }
    },
    removeChild: function removeChild(oldChild) {
      return _removeChild(this, oldChild);
    },
    appendChild: function appendChild(newChild) {
      return this.insertBefore(newChild, null);
    },
    hasChildNodes: function hasChildNodes() {
      return this.firstChild != null;
    },
    cloneNode: function cloneNode(deep) {
      return _cloneNode(this.ownerDocument || this, this, deep);
    },
    normalize: function normalize() {
      var child = this.firstChild;

      while (child) {
        var next = child.nextSibling;

        if (next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE) {
          this.removeChild(next);
          child.appendData(next.data);
        } else {
          child.normalize();
          child = next;
        }
      }
    },
    isSupported: function isSupported(feature, version) {
      return this.ownerDocument.implementation.hasFeature(feature, version);
    },
    hasAttributes: function hasAttributes() {
      return this.attributes.length > 0;
    },
    lookupPrefix: function lookupPrefix(namespaceURI) {
      var el = this;

      while (el) {
        var map = el._nsMap;

        if (map) {
          for (var n in map) {
            if (map[n] == namespaceURI) {
              return n;
            }
          }
        }

        el = el.nodeType == 2 ? el.ownerDocument : el.parentNode;
      }

      return null;
    },
    lookupNamespaceURI: function lookupNamespaceURI(prefix) {
      var el = this;

      while (el) {
        var map = el._nsMap;

        if (map) {
          if (prefix in map) {
            return map[prefix];
          }
        }

        el = el.nodeType == 2 ? el.ownerDocument : el.parentNode;
      }

      return null;
    },
    isDefaultNamespace: function isDefaultNamespace(namespaceURI) {
      var prefix = this.lookupPrefix(namespaceURI);
      return prefix == null;
    }
  };

  function _xmlEncoder(c) {
    return c == '<' && '&lt;' || c == '>' && '&gt;' || c == '&' && '&amp;' || c == '"' && '&quot;' || '&#' + c.charCodeAt() + ';';
  }

  copy(NodeType, Node);
  copy(NodeType, Node.prototype);

  function _visitNode(node, callback) {
    if (callback(node)) {
      return true;
    }

    if (node = node.firstChild) {
      do {
        if (_visitNode(node, callback)) {
          return true;
        }
      } while (node = node.nextSibling);
    }
  }

  function Document() {}

  function _onAddAttribute(doc, el, newAttr) {
    doc && doc._inc++;
    var ns = newAttr.namespaceURI;

    if (ns == 'http://www.w3.org/2000/xmlns/') {
      el._nsMap[newAttr.prefix ? newAttr.localName : ''] = newAttr.value;
    }
  }

  function _onRemoveAttribute(doc, el, newAttr, remove) {
    doc && doc._inc++;
    var ns = newAttr.namespaceURI;

    if (ns == 'http://www.w3.org/2000/xmlns/') {
      delete el._nsMap[newAttr.prefix ? newAttr.localName : ''];
    }
  }

  function _onUpdateChild(doc, el, newChild) {
    if (doc && doc._inc) {
      doc._inc++;
      var cs = el.childNodes;

      if (newChild) {
        cs[cs.length++] = newChild;
      } else {
        var child = el.firstChild;
        var i = 0;

        while (child) {
          cs[i++] = child;
          child = child.nextSibling;
        }

        cs.length = i;
      }
    }
  }

  function _removeChild(parentNode, child) {
    var previous = child.previousSibling;
    var next = child.nextSibling;

    if (previous) {
      previous.nextSibling = next;
    } else {
      parentNode.firstChild = next;
    }

    if (next) {
      next.previousSibling = previous;
    } else {
      parentNode.lastChild = previous;
    }

    _onUpdateChild(parentNode.ownerDocument, parentNode);

    return child;
  }

  function _insertBefore(parentNode, newChild, nextChild) {
    var cp = newChild.parentNode;

    if (cp) {
      cp.removeChild(newChild);
    }

    if (newChild.nodeType === DOCUMENT_FRAGMENT_NODE) {
      var newFirst = newChild.firstChild;

      if (newFirst == null) {
        return newChild;
      }

      var newLast = newChild.lastChild;
    } else {
      newFirst = newLast = newChild;
    }

    var pre = nextChild ? nextChild.previousSibling : parentNode.lastChild;
    newFirst.previousSibling = pre;
    newLast.nextSibling = nextChild;

    if (pre) {
      pre.nextSibling = newFirst;
    } else {
      parentNode.firstChild = newFirst;
    }

    if (nextChild == null) {
      parentNode.lastChild = newLast;
    } else {
      nextChild.previousSibling = newLast;
    }

    do {
      newFirst.parentNode = parentNode;
    } while (newFirst !== newLast && (newFirst = newFirst.nextSibling));

    _onUpdateChild(parentNode.ownerDocument || parentNode, parentNode);

    if (newChild.nodeType == DOCUMENT_FRAGMENT_NODE) {
      newChild.firstChild = newChild.lastChild = null;
    }

    return newChild;
  }

  function _appendSingleChild(parentNode, newChild) {
    var cp = newChild.parentNode;

    if (cp) {
      var pre = parentNode.lastChild;
      cp.removeChild(newChild);
      var pre = parentNode.lastChild;
    }

    var pre = parentNode.lastChild;
    newChild.parentNode = parentNode;
    newChild.previousSibling = pre;
    newChild.nextSibling = null;

    if (pre) {
      pre.nextSibling = newChild;
    } else {
      parentNode.firstChild = newChild;
    }

    parentNode.lastChild = newChild;

    _onUpdateChild(parentNode.ownerDocument, parentNode, newChild);

    return newChild;
  }

  Document.prototype = {
    nodeName: '#document',
    nodeType: DOCUMENT_NODE,
    doctype: null,
    documentElement: null,
    _inc: 1,
    insertBefore: function insertBefore(newChild, refChild) {
      if (newChild.nodeType == DOCUMENT_FRAGMENT_NODE) {
        var child = newChild.firstChild;

        while (child) {
          var next = child.nextSibling;
          this.insertBefore(child, refChild);
          child = next;
        }

        return newChild;
      }

      if (this.documentElement == null && newChild.nodeType == 1) {
        this.documentElement = newChild;
      }

      return _insertBefore(this, newChild, refChild), newChild.ownerDocument = this, newChild;
    },
    removeChild: function removeChild(oldChild) {
      if (this.documentElement == oldChild) {
        this.documentElement = null;
      }

      return _removeChild(this, oldChild);
    },
    importNode: function importNode(importedNode, deep) {
      return _importNode(this, importedNode, deep);
    },
    getElementById: function getElementById(id) {
      var rtv = null;

      _visitNode(this.documentElement, function (node) {
        if (node.nodeType == 1) {
          if (node.getAttribute('id') == id) {
            rtv = node;
            return true;
          }
        }
      });

      return rtv;
    },
    getElementByClassName: function getElementByClassName(className) {
      var rtv = null;

      _visitNode(this.documentElement, function (node) {
        if (node.nodeType == 1) {
          if (node.hasAttribute('class') && node.getAttribute('class') == className) {
            rtv = node;
            return true;
          }
        }
      });

      return rtv;
    },
    getElementByAttribute: function getElementByAttribute(attribute, selector, undefine) {
      var rtv = null;

      if (selector == undefine) {
        _visitNode(this.documentElement, function (node) {
          if (node.nodeType == 1) {
            if (node.hasAttribute('attribute')) {
              rtv = node;
              return true;
            }
          }
        });
      } else {
        _visitNode(this.documentElement, function (node) {
          if (node.nodeType == 1) {
            if (node.hasAttribute('attribute') && node.getAttribute('attribute') == selector) {
              rtv = node;
              return true;
            }
          }
        });
      }

      return rtv;
    },
    createElement: function createElement(tagName) {
      var node = new Element();
      node.ownerDocument = this;
      node.nodeName = tagName;
      node.tagName = tagName;
      node.childNodes = new NodeList();
      var attrs = node.attributes = new NamedNodeMap();
      attrs._ownerElement = node;
      return node;
    },
    createDocumentFragment: function createDocumentFragment() {
      var node = new DocumentFragment();
      node.ownerDocument = this;
      node.childNodes = new NodeList();
      return node;
    },
    createTextNode: function createTextNode(data) {
      var node = new Text();
      node.ownerDocument = this;
      node.appendData(data);
      return node;
    },
    createComment: function createComment(data) {
      var node = new Comment();
      node.ownerDocument = this;
      node.appendData(data);
      return node;
    },
    createCDATASection: function createCDATASection(data) {
      var node = new CDATASection();
      node.ownerDocument = this;
      node.appendData(data);
      return node;
    },
    createProcessingInstruction: function createProcessingInstruction(target, data) {
      var node = new ProcessingInstruction();
      node.ownerDocument = this;
      node.tagName = node.target = target;
      node.nodeValue = node.data = data;
      return node;
    },
    createAttribute: function createAttribute(name) {
      var node = new Attr();
      node.ownerDocument = this;
      node.name = name;
      node.nodeName = name;
      node.localName = name;
      node.specified = true;
      return node;
    },
    createEntityReference: function createEntityReference(name) {
      var node = new EntityReference();
      node.ownerDocument = this;
      node.nodeName = name;
      return node;
    },
    createElementNS: function createElementNS(namespaceURI, qualifiedName) {
      var node = new Element();
      var pl = qualifiedName.split(':');
      var attrs = node.attributes = new NamedNodeMap();
      node.childNodes = new NodeList();
      node.ownerDocument = this;
      node.nodeName = qualifiedName;
      node.tagName = qualifiedName;
      node.namespaceURI = namespaceURI;

      if (pl.length == 2) {
        node.prefix = pl[0];
        node.localName = pl[1];
      } else {
        node.localName = qualifiedName;
      }

      attrs._ownerElement = node;
      return node;
    },
    createAttributeNS: function createAttributeNS(namespaceURI, qualifiedName) {
      var node = new Attr();
      var pl = qualifiedName.split(':');
      node.ownerDocument = this;
      node.nodeName = qualifiedName;
      node.name = qualifiedName;
      node.namespaceURI = namespaceURI;
      node.specified = true;

      if (pl.length == 2) {
        node.prefix = pl[0];
        node.localName = pl[1];
      } else {
        node.localName = qualifiedName;
      }

      return node;
    }
  };

  _extends(Document, Node);

  function Element() {
    this._nsMap = {};
  }

  ;
  Element.prototype = {
    nodeType: ELEMENT_NODE,
    hasAttribute: function hasAttribute(name) {
      return this.getAttributeNode(name) != null;
    },
    getAttribute: function getAttribute(name) {
      var attr = this.getAttributeNode(name);
      return attr && attr.value || '';
    },
    getAttributeNode: function getAttributeNode(name) {
      return this.attributes.getNamedItem(name);
    },
    setAttribute: function setAttribute(name, value) {
      var attr = this.ownerDocument.createAttribute(name);
      attr.value = attr.nodeValue = "" + value;
      this.setAttributeNode(attr);
    },
    removeAttribute: function removeAttribute(name) {
      var attr = this.getAttributeNode(name);
      attr && this.removeAttributeNode(attr);
    },
    appendChild: function appendChild(newChild) {
      if (newChild.nodeType === DOCUMENT_FRAGMENT_NODE) {
        return this.insertBefore(newChild, null);
      } else {
        return _appendSingleChild(this, newChild);
      }
    },
    setAttributeNode: function setAttributeNode(newAttr) {
      return this.attributes.setNamedItem(newAttr);
    },
    setAttributeNodeNS: function setAttributeNodeNS(newAttr) {
      return this.attributes.setNamedItemNS(newAttr);
    },
    removeAttributeNode: function removeAttributeNode(oldAttr) {
      return this.attributes.removeNamedItem(oldAttr.nodeName);
    },
    removeAttributeNS: function removeAttributeNS(namespaceURI, localName) {
      var old = this.getAttributeNodeNS(namespaceURI, localName);
      old && this.removeAttributeNode(old);
    },
    hasAttributeNS: function hasAttributeNS(namespaceURI, localName) {
      return this.getAttributeNodeNS(namespaceURI, localName) != null;
    },
    getAttributeNS: function getAttributeNS(namespaceURI, localName) {
      var attr = this.getAttributeNodeNS(namespaceURI, localName);
      return attr && attr.value || '';
    },
    setAttributeNS: function setAttributeNS(namespaceURI, qualifiedName, value) {
      var attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName);
      attr.value = attr.nodeValue = "" + value;
      this.setAttributeNode(attr);
    },
    getAttributeNodeNS: function getAttributeNodeNS(namespaceURI, localName) {
      return this.attributes.getNamedItemNS(namespaceURI, localName);
    },
    getElementsByTagName: function getElementsByTagName(tagName) {
      return new LiveNodeList(this, function (base) {
        var ls = [];

        _visitNode(base, function (node) {
          if (node !== base && node.nodeType == ELEMENT_NODE && (tagName === '*' || node.tagName == tagName)) {
            ls.push(node);
          }
        });

        return ls;
      });
    },
    getElementsByClassName: function getElementsByClassName(className) {
      return new LiveNodeList(this, function (base) {
        var ls = [];

        _visitNode(base, function (node) {
          if (node !== base && node.nodeType == ELEMENT_NODE && node.hasAttribute('class') && node.getAttribute('class') == className) {
            ls.push(node);
          }
        });

        return ls;
      });
    },
    getElementsByTagNameNS: function getElementsByTagNameNS(namespaceURI, localName) {
      return new LiveNodeList(this, function (base) {
        var ls = [];

        _visitNode(base, function (node) {
          if (node !== base && node.nodeType === ELEMENT_NODE && (namespaceURI === '*' || node.namespaceURI === namespaceURI) && (localName === '*' || node.localName == localName)) {
            ls.push(node);
          }
        });

        return ls;
      });
    },
    getElementsByAttribute: function getElementsByAttribute(attribute, selector, undefine) {
      if (selector == undefine) {
        return new LiveNodeList(this, function (base) {
          var ls = [];

          _visitNode(base, function (node) {
            if (node !== base && node.nodeType == ELEMENT_NODE && node.hasAttribute(attribute)) {
              ls.push(node);
            }
          });

          return ls;
        });
      } else {
        return new LiveNodeList(this, function (base) {
          var ls = [];

          _visitNode(base, function (node) {
            if (node !== base && node.nodeType == ELEMENT_NODE && node.hasAttribute(attribute) && node.getAttribute(attribute) == selector) {
              ls.push(node);
            }
          });

          return ls;
        });
      }
    },
    getElementsBySelector: function getElementsBySelector(selector) {
      var queryArray = selectorToQueryArray(selector);
      return new LiveNodeList(this, function (base) {
        var ls = [];

        _visitNode(base, function (node) {
          if (node.nodeType == 1) {
            var checkQuery = 0;
            queryArray.forEach(function (query, index, queryArray) {
              switch (query[0]) {
                case '.':
                  if (node.hasAttribute('class') && node.getAttribute('class') == query.substring(1, query.length)) {
                    checkQuery += 1;
                  }

                  break;

                case '#':
                  if (node.getAttribute('id') == query.substring(1, query.length)) {
                    checkQuery += 1;
                  }

                  break;

                case '[':
                  var attribute = query.substring(1, query.length - 1).split('=');
                  attribute[1] = attribute[1].substring(1, attribute[1].length - 1);

                  if (node.hasAttribute(attribute[0]) && node.getAttribute(attribute[0]) == attribute[1]) {
                    checkQuery += 1;
                  }

                  break;

                default:
                  if (node.nodeType == ELEMENT_NODE && node.tagName == query) {
                    checkQuery += 1;
                  }

                  break;
              }
            });

            if (checkQuery == queryArray.length) {
              ls.push(node);
            }
          }
        });

        return ls;
      });
    },
    querySelect: function querySelect(querys) {
      var queryArray = [];
      querys.split(' ').forEach(function (ele, index, arr) {
        if (ele != '') {
          queryArray.push(ele);
        }
      });
      var elementQueue = [this];

      for (var index = 0; index < queryArray.length; index++) {
        var gotElementConcatArray = [];

        while (elementQueue.length != 0) {
          elem = elementQueue.pop();
          var arrayedElem = Array.prototype.slice.call(elem.getElementsBySelector(queryArray[index]));
          gotElementConcatArray = gotElementConcatArray.concat(arrayedElem);
        }

        elementQueue = elementQueue.concat(gotElementConcatArray);
      }

      return elementQueue;
    }
  };
  Document.prototype.getElementsByTagName = Element.prototype.getElementsByTagName;
  Document.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS;
  Document.prototype.getElementsByClassName = Element.prototype.getElementsByClassName;
  Document.prototype.getElementsByAttribute = Element.prototype.getElementsByAttribute;
  Document.prototype.getElementsBySelector = Element.prototype.getElementsBySelector;
  Document.prototype.querySelect = Element.prototype.querySelect;

  function selectorToQueryArray(selector) {
    var queryArray = [];
    var testElem = /\[[a-z,A-Z]+\=((\'[a-z,A-Z]+\')|(\"[a-z,A-Z]+\"))]/.exec(selector);

    if (/\#[a-z,A-Z]+/.exec(selector)) {
      queryArray.push(/#[a-z,A-Z]+/.exec(selector)[0]);
    }

    if (/\.[a-z,A-Z]+/.exec(selector)) {
      queryArray.push(/\.[a-z,A-Z]+/.exec(selector)[0]);
    }

    if (/^[a-z,A-Z]+/.exec(selector)) {
      queryArray.push(/^[a-z,A-Z]+/.exec(selector)[0]);
    }

    if (/\[[a-z,A-Z]+\=((\'[a-z,A-Z]+\')|(\"[a-z,A-Z]+\"))]/.exec(selector)) {
      queryArray.push(/\[[a-z,A-Z]+\=((\'[a-z,A-Z]+\')|(\"[a-z,A-Z]+\"))]/.exec(selector)[0]);
    }

    queryArray.sort(function (a, b) {
      return a.index - b.index;
    });
    return queryArray;
  }

  _extends(Element, Node);

  function Attr() {}

  ;
  Attr.prototype.nodeType = ATTRIBUTE_NODE;

  _extends(Attr, Node);

  function CharacterData() {}

  ;
  CharacterData.prototype = {
    data: '',
    substringData: function substringData(offset, count) {
      return this.data.substring(offset, offset + count);
    },
    appendData: function appendData(text) {
      text = this.data + text;
      this.nodeValue = this.data = text;
      this.length = text.length;
    },
    insertData: function insertData(offset, text) {
      this.replaceData(offset, 0, text);
    },
    appendChild: function appendChild(newChild) {
      throw new Error(ExceptionMessage[3]);
      return Node.prototype.appendChild.apply(this, arguments);
    },
    deleteData: function deleteData(offset, count) {
      this.replaceData(offset, count, "");
    },
    replaceData: function replaceData(offset, count, text) {
      var start = this.data.substring(0, offset);
      var end = this.data.substring(offset + count);
      text = start + text + end;
      this.nodeValue = this.data = text;
      this.length = text.length;
    }
  };

  _extends(CharacterData, Node);

  function Text() {}

  ;
  Text.prototype = {
    nodeName: "#text",
    nodeType: TEXT_NODE,
    splitText: function splitText(offset) {
      var text = this.data;
      var newText = text.substring(offset);
      text = text.substring(0, offset);
      this.data = this.nodeValue = text;
      this.length = text.length;
      var newNode = this.ownerDocument.createTextNode(newText);

      if (this.parentNode) {
        this.parentNode.insertBefore(newNode, this.nextSibling);
      }

      return newNode;
    }
  };

  _extends(Text, CharacterData);

  function Comment() {}

  ;
  Comment.prototype = {
    nodeName: "#comment",
    nodeType: COMMENT_NODE
  };

  _extends(Comment, CharacterData);

  function CDATASection() {}

  ;
  CDATASection.prototype = {
    nodeName: "#cdata-section",
    nodeType: CDATA_SECTION_NODE
  };

  _extends(CDATASection, CharacterData);

  function DocumentType() {}

  ;
  DocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE;

  _extends(DocumentType, Node);

  function Notation() {}

  ;
  Notation.prototype.nodeType = NOTATION_NODE;

  _extends(Notation, Node);

  function Entity() {}

  ;
  Entity.prototype.nodeType = ENTITY_NODE;

  _extends(Entity, Node);

  function EntityReference() {}

  ;
  EntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE;

  _extends(EntityReference, Node);

  function DocumentFragment() {}

  ;
  DocumentFragment.prototype.nodeName = "#document-fragment";
  DocumentFragment.prototype.nodeType = DOCUMENT_FRAGMENT_NODE;

  _extends(DocumentFragment, Node);

  function ProcessingInstruction() {}

  ProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE;

  _extends(ProcessingInstruction, Node);

  function XMLSerializer() {}

  XMLSerializer.prototype.serializeToString = function (node, attributeSorter) {
    return node.toString(attributeSorter);
  };

  Node.prototype.toString = function (attributeSorter) {
    var buf = [];
    serializeToString(this, buf, attributeSorter);
    return buf.join('');
  };

  function serializeToString(node, buf, attributeSorter, isHTML) {
    switch (node.nodeType) {
      case ELEMENT_NODE:
        var attrs = node.attributes;
        var len = attrs.length;
        var child = node.firstChild;
        var nodeName = node.tagName;
        isHTML = htmlns === node.namespaceURI || isHTML;
        buf.push('<', nodeName);

        if (attributeSorter) {
          buf.sort.apply(attrs, attributeSorter);
        }

        for (var i = 0; i < len; i++) {
          serializeToString(attrs.item(i), buf, attributeSorter, isHTML);
        }

        if (child || isHTML && !/^(?:meta|link|img|br|hr|input|button)$/i.test(nodeName)) {
          buf.push('>');

          if (isHTML && /^script$/i.test(nodeName)) {
            if (child) {
              buf.push(child.data);
            }
          } else {
            while (child) {
              serializeToString(child, buf, attributeSorter, isHTML);
              child = child.nextSibling;
            }
          }

          buf.push('</', nodeName, '>');
        } else {
          buf.push('/>');
        }

        return;

      case DOCUMENT_NODE:
      case DOCUMENT_FRAGMENT_NODE:
        var child = node.firstChild;

        while (child) {
          serializeToString(child, buf, attributeSorter, isHTML);
          child = child.nextSibling;
        }

        return;

      case ATTRIBUTE_NODE:
        return buf.push(' ', node.name, '="', node.value.replace(/[<&"]/g, _xmlEncoder), '"');

      case TEXT_NODE:
        return buf.push(node.data.replace(/[<&]/g, _xmlEncoder));

      case CDATA_SECTION_NODE:
        return buf.push('<![CDATA[', node.data, ']]>');

      case COMMENT_NODE:
        return buf.push("<!--", node.data, "-->");

      case DOCUMENT_TYPE_NODE:
        var pubid = node.publicId;
        var sysid = node.systemId;
        buf.push('<!DOCTYPE ', node.name);

        if (pubid) {
          buf.push(' PUBLIC "', pubid);

          if (sysid && sysid != '.') {
            buf.push('" "', sysid);
          }

          buf.push('">');
        } else if (sysid && sysid != '.') {
          buf.push(' SYSTEM "', sysid, '">');
        } else {
          var sub = node.internalSubset;

          if (sub) {
            buf.push(" [", sub, "]");
          }

          buf.push(">");
        }

        return;

      case PROCESSING_INSTRUCTION_NODE:
        return buf.push("<?", node.target, " ", node.data, "?>");

      case ENTITY_REFERENCE_NODE:
        return buf.push('&', node.nodeName, ';');

      default:
        buf.push('??', node.nodeName);
    }
  }

  function _importNode(doc, node, deep) {
    var node2;

    switch (node.nodeType) {
      case ELEMENT_NODE:
        node2 = node.cloneNode(false);
        node2.ownerDocument = doc;

      case DOCUMENT_FRAGMENT_NODE:
        break;

      case ATTRIBUTE_NODE:
        deep = true;
        break;
    }

    if (!node2) {
      node2 = node.cloneNode(false);
    }

    node2.ownerDocument = doc;
    node2.parentNode = null;

    if (deep) {
      var child = node.firstChild;

      while (child) {
        node2.appendChild(_importNode(doc, child, deep));
        child = child.nextSibling;
      }
    }

    return node2;
  }

  function _cloneNode(doc, node, deep) {
    var node2 = new node.constructor();

    for (var n in node) {
      var v = node[n];

      if (typeof v != 'object') {
        if (v != node2[n]) {
          node2[n] = v;
        }
      }
    }

    if (node.childNodes) {
      node2.childNodes = new NodeList();
    }

    node2.ownerDocument = doc;

    switch (node2.nodeType) {
      case ELEMENT_NODE:
        var attrs = node.attributes;
        var attrs2 = node2.attributes = new NamedNodeMap();
        var len = attrs.length;
        attrs2._ownerElement = node2;

        for (var i = 0; i < len; i++) {
          node2.setAttributeNode(_cloneNode(doc, attrs.item(i), true));
        }

        break;
        ;

      case ATTRIBUTE_NODE:
        deep = true;
    }

    if (deep) {
      var child = node.firstChild;

      while (child) {
        node2.appendChild(_cloneNode(doc, child, deep));
        child = child.nextSibling;
      }
    }

    return node2;
  }

  function __set__(object, key, value) {
    object[key] = value;
  }

  try {
    if (Object.defineProperty) {
      Object.defineProperty(LiveNodeList.prototype, 'length', {
        get: function get() {
          _updateLiveList(this);

          return this.$$length;
        }
      });
      Object.defineProperty(Node.prototype, 'textContent', {
        get: function get() {
          return getTextContent(this);
        },
        set: function set(data) {
          switch (this.nodeType) {
            case 1:
            case 11:
              while (this.firstChild) {
                this.removeChild(this.firstChild);
              }

              if (data || String(data)) {
                this.appendChild(this.ownerDocument.createTextNode(data));
              }

              break;

            default:
              this.data = data;
              this.value = value;
              this.nodeValue = data;
          }
        }
      });

      function getTextContent(node) {
        switch (node.nodeType) {
          case 1:
          case 11:
            var buf = [];
            node = node.firstChild;

            while (node) {
              if (node.nodeType !== 7 && node.nodeType !== 8) {
                buf.push(getTextContent(node));
              }

              node = node.nextSibling;
            }

            return buf.join('');

          default:
            return node.nodeValue;
        }
      }

      __set__ = function __set__(object, key, value) {
        object['$$' + key] = value;
      };
    }
  } catch (e) {}

  if (typeof _$$_REQUIRE == 'function') {
    exports.DOMImplementation = DOMImplementation;
    exports.XMLSerializer = XMLSerializer;
  }
},529,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.readingTime = readingTime;

  function convertTimeMinutesText(time) {
    if (time < 0.5) {
      return "less than a min";
    }

    if (time >= 0.5 && time < 1.5) {
      return "1 min read";
    }

    return Math.ceil(time) + " min read";
  }

  function convertTimeToMinutes(time) {
    if (time < 0.5) {
      return 0.5;
    }

    if (time >= 0.5 && time < 1.5) {
      return 1;
    }

    return Math.ceil(time);
  }

  var WORDS_PER_MIN = 200;
  var CHINESE_KOREAN_READ_TIME = 500;

  function countWords(text) {
    var pattern = "\\w+";
    var reg = new RegExp(pattern, "g");
    return (text.match(reg) || []).length;
  }

  function readOtherLanguages(text) {
    var pattern = "[\u3040-\u30FF\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF\uFF66-\uFF9F]";
    var reg = new RegExp(pattern, "g");
    var count = (text.match(reg) || []).length;
    var time = count / CHINESE_KOREAN_READ_TIME;
    var formattedText = text.replace(reg, "");
    return {
      count: count,
      time: time,
      formattedText: formattedText
    };
  }

  function readWords(text) {
    var wordsPerMin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : WORDS_PER_MIN;

    var _readOtherLanguages = readOtherLanguages(text),
        characters = _readOtherLanguages.count,
        otherLanguageTime = _readOtherLanguages.time,
        formattedText = _readOtherLanguages.formattedText;

    var words = countWords(formattedText);
    var time = words / wordsPerMin;
    return {
      characters: characters,
      otherLanguageTime: otherLanguageTime,
      words: words,
      time: time
    };
  }

  function stripTags(text) {
    var pattern = "<\\w+(\\s+(\"[^\"]*\"|\\'[^\\']*'|[^>])+)?>|<\\/\\w+>";
    var reg = new RegExp(pattern, "gi");
    return text.replace(reg, "");
  }

  function stripWhitespace(text) {
    return text.replace(/^\s+/, "").replace(/\s+$/, "");
  }

  function readingTime(text) {
    var strippedString = stripTags(stripWhitespace(text));

    var _readWords = readWords(strippedString),
        time = _readWords.time,
        words = _readWords.words;

    return {
      text: convertTimeMinutesText(time),
      words: words,
      time: time * 60 * 1000,
      minutes: convertTimeToMinutes(time)
    };
  }
},530,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _reactNativeDeviceInfo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNativeUuidGenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNativeNavigationBarColor = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _colorUtils = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var TaUtils = _reactNative.NativeModules.TaUtils;

  var PlatformUtils = function () {
    function PlatformUtils() {
      (0, _classCallCheck2.default)(this, PlatformUtils);
    }

    (0, _createClass2.default)(PlatformUtils, null, [{
      key: "initPlatformInfo",
      value: function initPlatformInfo() {
        var isTablet, isEmulator, userAgent, fontScale, apiLevel, supported64BitAbis, supported32BitAbis, systemAccessibilityEnabled;
        return _regenerator.default.async(function initPlatformInfo$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                isTablet = _reactNativeDeviceInfo.default.isTablet();
                isEmulator = false;
                _context.prev = 2;
                _context.next = 5;
                return _regenerator.default.awrap(_reactNativeDeviceInfo.default.isEmulator());

              case 5:
                isEmulator = _context.sent;
                _context.next = 10;
                break;

              case 8:
                _context.prev = 8;
                _context.t0 = _context["catch"](2);

              case 10:
                userAgent = "n/a";
                _context.prev = 11;
                _context.next = 14;
                return _regenerator.default.awrap(_reactNativeDeviceInfo.default.getUserAgent());

              case 14:
                userAgent = _context.sent;
                _context.next = 19;
                break;

              case 17:
                _context.prev = 17;
                _context.t1 = _context["catch"](11);

              case 19:
                fontScale = 1;
                _context.prev = 20;
                _context.next = 23;
                return _regenerator.default.awrap(_reactNativeDeviceInfo.default.getFontScale());

              case 23:
                fontScale = _context.sent;
                _context.next = 28;
                break;

              case 26:
                _context.prev = 26;
                _context.t2 = _context["catch"](20);

              case 28:
                apiLevel = 30;
                _context.prev = 29;
                _context.next = 32;
                return _regenerator.default.awrap(_reactNativeDeviceInfo.default.getApiLevel());

              case 32:
                apiLevel = _context.sent;
                _context.next = 37;
                break;

              case 35:
                _context.prev = 35;
                _context.t3 = _context["catch"](29);

              case 37:
                supported64BitAbis = [];
                _context.prev = 38;
                _context.next = 41;
                return _regenerator.default.awrap(_reactNativeDeviceInfo.default.supported64BitAbis());

              case 41:
                supported64BitAbis = _context.sent;
                _context.next = 46;
                break;

              case 44:
                _context.prev = 44;
                _context.t4 = _context["catch"](38);

              case 46:
                supported32BitAbis = [];
                _context.prev = 47;
                _context.next = 50;
                return _regenerator.default.awrap(_reactNativeDeviceInfo.default.supported32BitAbis());

              case 50:
                supported32BitAbis = _context.sent;
                _context.next = 55;
                break;

              case 53:
                _context.prev = 53;
                _context.t5 = _context["catch"](47);

              case 55:
                systemAccessibilityEnabled = false;
                _context.prev = 56;
                _context.next = 59;
                return _regenerator.default.awrap(_reactNative.AccessibilityInfo.isScreenReaderEnabled());

              case 59:
                systemAccessibilityEnabled = _context.sent;
                _context.next = 64;
                break;

              case 62:
                _context.prev = 62;
                _context.t6 = _context["catch"](56);

              case 64:
                _context.t7 = _reactNativeDeviceInfo.default.getModel();
                _context.t8 = _reactNativeDeviceInfo.default.getDeviceId();
                _context.t9 = _reactNativeDeviceInfo.default.getDeviceType();
                _context.t10 = _reactNativeDeviceInfo.default.getApplicationName();
                _context.t11 = _reactNativeDeviceInfo.default.getBrand();
                _context.t12 = _reactNativeDeviceInfo.default.getVersion();
                _context.t13 = _reactNativeDeviceInfo.default.getSystemName();
                _context.t14 = _reactNativeDeviceInfo.default.getSystemVersion();
                _context.t15 = _reactNativeDeviceInfo.default.getUniqueId();
                _context.t16 = _reactNativeDeviceInfo.default.getBundleId();
                _context.t17 = userAgent;
                _context.t18 = fontScale;
                _context.t19 = _reactNative.PixelRatio.get();
                _context.t20 = apiLevel;
                _context.t21 = supported64BitAbis;
                _context.t22 = supported32BitAbis;

                if (!PlatformUtils.isAndroid()) {
                  _context.next = 86;
                  break;
                }

                _context.next = 83;
                return _regenerator.default.awrap(TaUtils.isEInk());

              case 83:
                _context.t23 = _context.sent;
                _context.next = 87;
                break;

              case 86:
                _context.t23 = false;

              case 87:
                _context.t24 = _context.t23;
                _context.t25 = isTablet;
                _context.t26 = isTablet;
                _context.t27 = isEmulator;
                _context.t28 = systemAccessibilityEnabled;
                PlatformUtils.info = {
                  model: _context.t7,
                  deviceId: _context.t8,
                  deviceType: _context.t9,
                  appName: _context.t10,
                  brand: _context.t11,
                  version: _context.t12,
                  system: _context.t13,
                  systemVersion: _context.t14,
                  uniqueId: _context.t15,
                  bundleId: _context.t16,
                  userAgent: _context.t17,
                  fontScale: _context.t18,
                  pixelRatio: _context.t19,
                  apiLevel: _context.t20,
                  supported64BitAbis: _context.t21,
                  supported32BitAbis: _context.t22,
                  isEInk: _context.t24,
                  isTablet: _context.t25,
                  isTabletTenInches: _context.t26,
                  isEmulator: _context.t27,
                  systemAccessibilityEnabled: _context.t28
                };

              case 93:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[2, 8], [11, 17], [20, 26], [29, 35], [38, 44], [47, 53], [56, 62]], Promise);
      }
    }, {
      key: "model",
      value: function model() {
        return PlatformUtils.info.model;
      }
    }, {
      key: "getDeviceId",
      value: function getDeviceId() {
        return PlatformUtils.info.deviceId;
      }
    }, {
      key: "getDeviceType",
      value: function getDeviceType() {
        return PlatformUtils.info.deviceType;
      }
    }, {
      key: "getScreenInches",
      value: function getScreenInches() {
        return PlatformUtils.info.inches;
      }
    }, {
      key: "appName",
      value: function appName() {
        return PlatformUtils.info.appName;
      }
    }, {
      key: "getBrand",
      value: function getBrand() {
        return PlatformUtils.info.brand;
      }
    }, {
      key: "getSystemName",
      value: function getSystemName() {
        return PlatformUtils.info.system;
      }
    }, {
      key: "getSystemVersion",
      value: function getSystemVersion() {
        return PlatformUtils.info.systemVersion;
      }
    }, {
      key: "getMajorSystemVersion",
      value: function getMajorSystemVersion() {
        return parseInt(PlatformUtils.info.systemVersion, 10);
      }
    }, {
      key: "getSystemSDK",
      value: function getSystemSDK() {
        return PlatformUtils.info.apiLevel;
      }
    }, {
      key: "hasTLS12",
      value: function hasTLS12() {
        return !(PlatformUtils.isAndroid() && PlatformUtils.info.apiLevel < 22);
      }
    }, {
      key: "is64bits",
      value: function is64bits() {
        return PlatformUtils.isIOS() || PlatformUtils.info.supported64BitAbis.length > 0;
      }
    }, {
      key: "getDeviceUniqueId",
      value: function getDeviceUniqueId() {
        return PlatformUtils.info.uniqueId;
      }
    }, {
      key: "getRandomUUID",
      value: function getRandomUUID() {
        return _regenerator.default.async(function getRandomUUID$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", _reactNativeUuidGenerator.default.getRandomUUID());

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getPackagedId",
      value: function getPackagedId() {
        return PlatformUtils.info.bundleId;
      }
    }, {
      key: "getUserAgent",
      value: function getUserAgent() {
        return PlatformUtils.info.userAgent;
      }
    }, {
      key: "isIOS",
      value: function isIOS() {
        return _reactNative.Platform.OS === "ios";
      }
    }, {
      key: "isAndroid",
      value: function isAndroid() {
        return _reactNative.Platform.OS === "android";
      }
    }, {
      key: "isEInk",
      value: function isEInk() {
        return PlatformUtils.info.isEInk;
      }
    }, {
      key: "isPreviousLollipop",
      value: function isPreviousLollipop() {
        return PlatformUtils.isAndroid() && PlatformUtils.info.apiLevel < 21;
      }
    }, {
      key: "isPreviousMarshmallow",
      value: function isPreviousMarshmallow() {
        return PlatformUtils.isAndroid() && PlatformUtils.info.apiLevel < 23;
      }
    }, {
      key: "isPreviousNougat",
      value: function isPreviousNougat() {
        return PlatformUtils.isAndroid() && PlatformUtils.info.apiLevel < 25;
      }
    }, {
      key: "isTablet",
      value: function isTablet() {
        var _PlatformUtils$info$i;

        return ((_PlatformUtils$info$i = PlatformUtils.info.isTablet) != null ? _PlatformUtils$info$i : _reactNativeDeviceInfo.default.isTablet()) || PlatformUtils.isMac();
      }
    }, {
      key: "isTabletTenInches",
      value: function isTabletTenInches() {
        return PlatformUtils.info.isTabletTenInches || PlatformUtils.isMac();
      }
    }, {
      key: "isiPad",
      value: function isiPad() {
        return PlatformUtils.isIOS() && PlatformUtils.isTablet();
      }
    }, {
      key: "isiPhone",
      value: function isiPhone() {
        return PlatformUtils.isIOS() && !PlatformUtils.isTablet();
      }
    }, {
      key: "isiPadRegular",
      value: function isiPadRegular() {
        var dimen = _reactNative.Dimensions.get("window");

        return PlatformUtils.isiPad() && (dimen.height === 1024 || dimen.width === 1024);
      }
    }, {
      key: "isiPadPro12dot9",
      value: function isiPadPro12dot9() {
        var dimen = _reactNative.Dimensions.get("window");

        return PlatformUtils.isiPad() && (dimen.height === 1366 || dimen.width === 1366);
      }
    }, {
      key: "isiPadPro11",
      value: function isiPadPro11() {
        var dimen = _reactNative.Dimensions.get("window");

        return PlatformUtils.isiPad() && (dimen.height === 1194 || dimen.width === 1194);
      }
    }, {
      key: "isiPadPro10dot5",
      value: function isiPadPro10dot5() {
        var dimen = _reactNative.Dimensions.get("window");

        return PlatformUtils.isiPad() && (dimen.height === 1112 || dimen.width === 1112);
      }
    }, {
      key: "isiPadMini8dot3",
      value: function isiPadMini8dot3(deviceDpi) {
        if (PlatformUtils.isiPadPro11()) {
          if (deviceDpi) {
            return deviceDpi === 326;
          }

          var deviceId = PlatformUtils.getDeviceId();

          if (deviceId) {
            return deviceId === "iPad14,1" || deviceId === "iPad14,2";
          }
        }

        return false;
      }
    }, {
      key: "isiPhoneSE",
      value: function isiPhoneSE() {
        var dimen = _reactNative.Dimensions.get("window");

        return PlatformUtils.isiPhone() && (dimen.height === 568 || dimen.width === 568);
      }
    }, {
      key: "isiPhoneRegular",
      value: function isiPhoneRegular() {
        var dimen = _reactNative.Dimensions.get("window");

        return PlatformUtils.isiPhone() && (dimen.height === 667 || dimen.width === 667);
      }
    }, {
      key: "isiPhonePlus",
      value: function isiPhonePlus() {
        var dimen = _reactNative.Dimensions.get("window");

        return PlatformUtils.isiPhone() && (dimen.height === 736 || dimen.width === 736);
      }
    }, {
      key: "isiPhoneX",
      value: function isiPhoneX() {
        var dimen = _reactNative.Dimensions.get("window");

        return PlatformUtils.isiPhone() && (dimen.height === 812 || dimen.width === 812);
      }
    }, {
      key: "isiPhoneXr",
      value: function isiPhoneXr() {
        var dimen = _reactNative.Dimensions.get("window");

        return PlatformUtils.isiPhone() && (dimen.height === 896 || dimen.width === 896);
      }
    }, {
      key: "isiPhoneXSMax",
      value: function isiPhoneXSMax() {
        var dimen = _reactNative.Dimensions.get("window");

        return PlatformUtils.isiPhone() && (dimen.height === 896 || dimen.width === 896) && PlatformUtils.info.pixelRatio === 3;
      }
    }, {
      key: "isMac",
      value: function isMac() {
        return PlatformUtils.isIOS() && PlatformUtils.info.deviceType === "Desktop";
      }
    }, {
      key: "isEmulator",
      value: function isEmulator() {
        return PlatformUtils.info.isEmulator;
      }
    }, {
      key: "hasLandscapeSplashImage",
      value: function hasLandscapeSplashImage() {
        return !PlatformUtils.isiPhoneRegular() && !PlatformUtils.isiPhoneSE();
      }
    }, {
      key: "requestPermission",
      value: function requestPermission(_ref) {
        var title, message, permission, granted;
        return _regenerator.default.async(function requestPermission$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                title = _ref.title, message = _ref.message, permission = _ref.permission;

                if (!PlatformUtils.isAndroid()) {
                  _context3.next = 14;
                  break;
                }

                _context3.prev = 2;
                _context3.next = 5;
                return _regenerator.default.awrap(_reactNative.PermissionsAndroid.request(permission, {
                  title: title,
                  message: message,
                  buttonNeutral: global.strings("btn_ask_later"),
                  buttonNegative: global.strings("btn_cancel"),
                  buttonPositive: global.strings("btn_ok")
                }));

              case 5:
                granted = _context3.sent;

                if (!(granted === _reactNative.PermissionsAndroid.RESULTS.GRANTED)) {
                  _context3.next = 8;
                  break;
                }

                return _context3.abrupt("return", true);

              case 8:
                return _context3.abrupt("return", false);

              case 11:
                _context3.prev = 11;
                _context3.t0 = _context3["catch"](2);
                return _context3.abrupt("return", false);

              case 14:
                return _context3.abrupt("return", true);

              case 15:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, [[2, 11]], Promise);
      }
    }, {
      key: "isSystemAccessibilityEnabled",
      value: function isSystemAccessibilityEnabled() {
        return PlatformUtils.info.systemAccessibilityEnabled;
      }
    }, {
      key: "setSystemAccessibilityMode",
      value: function setSystemAccessibilityMode(systemAccessibilityEnabled) {
        PlatformUtils.info.systemAccessibilityEnabled = systemAccessibilityEnabled;
      }
    }, {
      key: "dpiToPixel",
      value: function dpiToPixel() {
        var dpi = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;

        if (PlatformUtils.info) {
          return dpi * (PlatformUtils.info.pixelRatio || 1);
        }

        return dpi;
      }
    }, {
      key: "setInchesBySizeAndDPI",
      value: function setInchesBySizeAndDPI(dpi, screenDimensions) {
        if (PlatformUtils.isAndroid()) {
          var width = screenDimensions.width,
              height = screenDimensions.height;
          var pixelRatio = PlatformUtils.info.pixelRatio;
          var pixelWidth = width * pixelRatio;
          var pixelHeight = height * pixelRatio;
          var inchesWidth = pixelWidth / dpi;
          var inchesHeight = pixelHeight / dpi;
          var inches = Math.floor(Math.sqrt(Math.pow(inchesWidth, 2) + Math.pow(inchesHeight, 2)) * 10) / 10;
          PlatformUtils.info.inches = inches;
          PlatformUtils.info.isTablet = inches > 6.5;
          PlatformUtils.info.isTabletTenInches = inches > 8;
        } else {
          var isTablet = _reactNativeDeviceInfo.default.isTablet();

          PlatformUtils.info.isTablet = isTablet;
          PlatformUtils.info.isTabletTenInches = isTablet;
        }
      }
    }, {
      key: "getStartupOrientation",
      value: function getStartupOrientation() {
        var _Dimensions$get = _reactNative.Dimensions.get("screen"),
            width = _Dimensions$get.width,
            height = _Dimensions$get.height;

        if (height > width) {
          return PlatformUtils.PORTRAIT;
        }

        return PlatformUtils.LANDSCAPE;
      }
    }, {
      key: "isRTL",
      value: function isRTL() {
        return _reactNative.I18nManager.isRTL;
      }
    }, {
      key: "getAppleWebKitVersion",
      value: function getAppleWebKitVersion() {
        if (PlatformUtils.isIOS()) {
          try {
            var userAgentParts = PlatformUtils.info.userAgent.split("AppleWebKit/");

            if (userAgentParts.length > 1) {
              return userAgentParts[1].split(" ")[0];
            }
          } catch (e) {}
        }

        return "";
      }
    }, {
      key: "getResolution",
      value: function getResolution() {
        var size = _reactNative.Dimensions.get("window");

        return _reactNative.PixelRatio.getPixelSizeForLayoutSize(size.width) + "x" + _reactNative.PixelRatio.getPixelSizeForLayoutSize(size.height);
      }
    }, {
      key: "getPixelSizeForLayoutSize",
      value: function getPixelSizeForLayoutSize(size) {
        return _reactNative.PixelRatio.getPixelSizeForLayoutSize(size);
      }
    }, {
      key: "colorTopBar",
      value: function colorTopBar(topBarColor) {
        if (topBarColor) {
          PlatformUtils.topBarColor = topBarColor;

          var isTopClear = _colorUtils.default.isClearColor(topBarColor);

          var contentStyle = isTopClear ? "dark-content" : "light-content";

          if (PlatformUtils.isAndroid()) {
            if (isTopClear && PlatformUtils.isPreviousMarshmallow()) {
              contentStyle = "light-content";
              topBarColor = "black";
            }

            _reactNative.StatusBar.setBackgroundColor(topBarColor, true);
          }

          _reactNative.StatusBar.setBarStyle(contentStyle, true);
        }
      }
    }, {
      key: "hideStatusBar",
      value: function hideStatusBar() {
        PlatformUtils.setStatusBarHidden(true);
      }
    }, {
      key: "showStatusBar",
      value: function showStatusBar() {
        PlatformUtils.setStatusBarHidden(false);
      }
    }, {
      key: "setStatusBarHidden",
      value: function setStatusBarHidden(hide) {
        _reactNative.StatusBar.setHidden(hide);
      }
    }, {
      key: "colorBottomBar",
      value: function colorBottomBar(bottomBarColor) {
        var newBottomBarColor, isBottomClear;
        return _regenerator.default.async(function colorBottomBar$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!(bottomBarColor && PlatformUtils.isAndroid())) {
                  _context4.next = 11;
                  break;
                }

                newBottomBarColor = _colorUtils.default.rgbTOrrggbb(bottomBarColor) || _colorUtils.colors.black;
                isBottomClear = _colorUtils.default.isClearColor(newBottomBarColor);
                _context4.prev = 3;
                _context4.next = 6;
                return _regenerator.default.awrap((0, _reactNativeNavigationBarColor.default)(newBottomBarColor, isBottomClear, true));

              case 6:
                _context4.next = 11;
                break;

              case 8:
                _context4.prev = 8;
                _context4.t0 = _context4["catch"](3);
                console.warn(_context4.t0.message);

              case 11:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, [[3, 8]], Promise);
      }
    }, {
      key: "colorBars",
      value: function colorBars() {
        var topBarColor,
            bottomBarColor,
            _args5 = arguments;
        return _regenerator.default.async(function colorBars$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                topBarColor = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : _colorUtils.colors.black;
                bottomBarColor = _args5.length > 1 && _args5[1] !== undefined ? _args5[1] : _colorUtils.colors.black;
                PlatformUtils.colorTopBar(topBarColor);
                _context5.next = 5;
                return _regenerator.default.awrap(PlatformUtils.colorBottomBar(bottomBarColor));

              case 5:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "isPortrait",
      value: function isPortrait(orientation) {
        return orientation === PlatformUtils.PORTRAIT || orientation === PlatformUtils.PORTRAIT_UP_SIDE_DOWN;
      }
    }, {
      key: "isLandscapeLeft",
      value: function isLandscapeLeft(orientation) {
        return orientation && orientation === PlatformUtils.LANDSCAPE_LEFT;
      }
    }, {
      key: "isLandscapeRight",
      value: function isLandscapeRight(orientation) {
        return orientation && orientation === PlatformUtils.LANDSCAPE_RIGHT;
      }
    }, {
      key: "isPortraitUpsideDown",
      value: function isPortraitUpsideDown(orientation) {
        return orientation && orientation === PlatformUtils.PORTRAIT_UP_SIDE_DOWN;
      }
    }, {
      key: "hasNotDefaultFontScale",
      value: function hasNotDefaultFontScale() {
        return Math.abs(PlatformUtils.info.fontScale - 1) >= PlatformUtils.FONT_SIZE_MIN_VARIATION;
      }
    }, {
      key: "updateFontScale",
      value: function updateFontScale() {
        var fontScale, changed;
        return _regenerator.default.async(function updateFontScale$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                fontScale = 1;
                _context6.prev = 1;
                _context6.next = 4;
                return _regenerator.default.awrap(_reactNativeDeviceInfo.default.getFontScale());

              case 4:
                fontScale = _context6.sent;
                _context6.next = 9;
                break;

              case 7:
                _context6.prev = 7;
                _context6.t0 = _context6["catch"](1);

              case 9:
                changed = PlatformUtils.info.fontScale !== fontScale;

                if (changed) {
                  PlatformUtils.info.fontScale = fontScale;
                }

                return _context6.abrupt("return", changed);

              case 12:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, [[1, 7]], Promise);
      }
    }]);
    return PlatformUtils;
  }();

  exports.default = PlatformUtils;
  PlatformUtils.LANDSCAPE = "LANDSCAPE";
  PlatformUtils.LANDSCAPE_LEFT = "LANDSCAPELEFT";
  PlatformUtils.LANDSCAPE_RIGHT = "LANDSCAPERIGHT";
  PlatformUtils.PORTRAIT = "PORTRAIT";
  PlatformUtils.PORTRAIT_UP_SIDE_DOWN = "PORTRAITUPSIDEDOWN";
  PlatformUtils.FONT_SIZE_MIN_VARIATION = 0.12;
  PlatformUtils.defaultDpi = 160;
  PlatformUtils.printDefaultDpi = 300;
  PlatformUtils.info = {};
  PlatformUtils.topBarColor = undefined;
},531,[5,80,7,8,28,532,538,539,463]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.syncUniqueId = syncUniqueId;
  exports.getMacAddress = getMacAddress;
  exports.getMacAddressSync = getMacAddressSync;
  exports.getReadableVersion = getReadableVersion;
  exports.hasNotch = hasNotch;
  exports.getTotalDiskCapacityOld = getTotalDiskCapacityOld;
  exports.getTotalDiskCapacityOldSync = getTotalDiskCapacityOldSync;
  exports.getFreeDiskStorageOld = getFreeDiskStorageOld;
  exports.getFreeDiskStorageOldSync = getFreeDiskStorageOldSync;
  exports.isLandscape = isLandscape;
  exports.isLandscapeSync = isLandscapeSync;
  exports.hasSystemFeature = hasSystemFeature;
  exports.hasSystemFeatureSync = hasSystemFeatureSync;
  exports.isLowBatteryLevel = isLowBatteryLevel;
  exports.getDeviceToken = getDeviceToken;
  exports.useBatteryLevel = useBatteryLevel;
  exports.useBatteryLevelIsLow = useBatteryLevelIsLow;
  exports.usePowerState = usePowerState;
  exports.useIsHeadphonesConnected = useIsHeadphonesConnected;
  exports.useFirstInstallTime = useFirstInstallTime;
  exports.useDeviceName = useDeviceName;
  exports.useHasSystemFeature = useHasSystemFeature;
  exports.useIsEmulator = useIsEmulator;
  exports.useManufacturer = useManufacturer;
  exports.useBrightness = useBrightness;
  exports.getDeviceType = exports.isAirplaneModeSync = exports.isAirplaneMode = exports.isBatteryChargingSync = exports.isBatteryCharging = exports.getPowerStateSync = exports.getPowerState = exports.getBatteryLevelSync = exports.getBatteryLevel = exports.getFreeDiskStorageSync = exports.getFreeDiskStorage = exports.getTotalDiskCapacitySync = exports.getTotalDiskCapacity = exports.getMaxMemorySync = exports.getMaxMemory = exports.getTotalMemorySync = exports.getTotalMemory = exports.getCarrierSync = exports.getCarrier = exports.getPhoneNumberSync = exports.getPhoneNumber = exports.getLastUpdateTimeSync = exports.getLastUpdateTime = exports.getInstallReferrerSync = exports.getInstallReferrer = exports.getFirstInstallTimeSync = exports.getFirstInstallTime = exports.hasHmsSync = exports.hasHms = exports.hasGmsSync = exports.hasGms = exports.isPinOrFingerprintSetSync = exports.isPinOrFingerprintSet = exports.isTablet = exports.isEmulatorSync = exports.isEmulator = exports.getIncrementalSync = exports.getIncremental = exports.getCodenameSync = exports.getCodename = exports.getSecurityPatchSync = exports.getSecurityPatch = exports.getPreviewSdkIntSync = exports.getPreviewSdkInt = exports.getBaseOsSync = exports.getBaseOs = exports.getTypeSync = exports.getType = exports.getTagsSync = exports.getTags = exports.getProductSync = exports.getProduct = exports.getHostSync = exports.getHost = exports.getHardwareSync = exports.getHardware = exports.getFingerprintSync = exports.getFingerprint = exports.getDisplaySync = exports.getDisplay = exports.getDeviceSync = exports.getDevice = exports.getBootloaderSync = exports.getBootloader = exports.getFontScaleSync = exports.getFontScale = exports.getUserAgentSync = exports.getUserAgent = exports.getUsedMemorySync = exports.getUsedMemory = exports.getDeviceNameSync = exports.getDeviceName = exports.getVersion = exports.getBuildNumber = exports.getApplicationName = exports.getInstallerPackageNameSync = exports.getInstallerPackageName = exports.getBundleId = exports.getApiLevelSync = exports.getApiLevel = exports.getBuildIdSync = exports.getBuildId = exports.getSystemVersion = exports.getSystemName = exports.getBrand = exports.getModel = exports.getManufacturerSync = exports.getManufacturer = exports.getDeviceId = exports.isCameraPresentSync = exports.isCameraPresent = exports.getIpAddressSync = exports.getIpAddress = exports.getAndroidIdSync = exports.getAndroidId = exports.getSerialNumberSync = exports.getSerialNumber = exports.getInstanceIdSync = exports.getInstanceId = exports.getUniqueId = undefined;
  exports.default = exports.getBrightnessSync = exports.getBrightness = exports.getAvailableLocationProvidersSync = exports.getAvailableLocationProviders = exports.isTabletMode = exports.isKeyboardConnectedSync = exports.isKeyboardConnected = exports.isMouseConnectedSync = exports.isMouseConnected = exports.isHeadphonesConnectedSync = exports.isHeadphonesConnected = exports.isLocationEnabledSync = exports.isLocationEnabled = exports.getSystemAvailableFeaturesSync = exports.getSystemAvailableFeatures = exports.supported64BitAbisSync = exports.supported64BitAbis = exports.supported32BitAbisSync = exports.supported32BitAbis = exports.supportedAbisSync = exports.supportedAbis = exports.getDeviceTypeSync = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[3]);

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _devicesWithNotch = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _nativeInterface = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var getUniqueId = function getUniqueId() {
    return (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoSync)({
      defaultValue: 'unknown',
      memoKey: 'uniqueId',
      supportedPlatforms: ['android', 'ios', 'windows'],
      getter: function getter() {
        return _nativeInterface.default.uniqueId;
      }
    });
  };

  exports.getUniqueId = getUniqueId;
  var uniqueId;

  function syncUniqueId() {
    return _regenerator.default.async(function syncUniqueId$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            if (!(_reactNative.Platform.OS === 'ios')) {
              _context.next = 6;
              break;
            }

            _context.next = 3;
            return _regenerator.default.awrap(_nativeInterface.default.syncUniqueId());

          case 3:
            uniqueId = _context.sent;
            _context.next = 7;
            break;

          case 6:
            uniqueId = getUniqueId();

          case 7:
            return _context.abrupt("return", uniqueId);

          case 8:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  }

  var _getSupportedPlatform = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'instanceId',
    supportedPlatforms: ['android'],
    getter: function getter() {
      return _nativeInterface.default.getInstanceId();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getInstanceIdSync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform2 = (0, _slicedToArray2.default)(_getSupportedPlatform, 2),
      getInstanceId = _getSupportedPlatform2[0],
      getInstanceIdSync = _getSupportedPlatform2[1];

  exports.getInstanceIdSync = getInstanceIdSync;
  exports.getInstanceId = getInstanceId;

  var _getSupportedPlatform3 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'serialNumber',
    supportedPlatforms: ['android', 'windows'],
    getter: function getter() {
      return _nativeInterface.default.getSerialNumber();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getSerialNumberSync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform4 = (0, _slicedToArray2.default)(_getSupportedPlatform3, 2),
      getSerialNumber = _getSupportedPlatform4[0],
      getSerialNumberSync = _getSupportedPlatform4[1];

  exports.getSerialNumberSync = getSerialNumberSync;
  exports.getSerialNumber = getSerialNumber;

  var _getSupportedPlatform5 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'androidId',
    supportedPlatforms: ['android'],
    getter: function getter() {
      return _nativeInterface.default.getAndroidId();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getAndroidIdSync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform6 = (0, _slicedToArray2.default)(_getSupportedPlatform5, 2),
      getAndroidId = _getSupportedPlatform6[0],
      getAndroidIdSync = _getSupportedPlatform6[1];

  exports.getAndroidIdSync = getAndroidIdSync;
  exports.getAndroidId = getAndroidId;

  var _getSupportedPlatform7 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['android', 'ios', 'windows'],
    getter: function getter() {
      return _nativeInterface.default.getIpAddress();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getIpAddressSync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform8 = (0, _slicedToArray2.default)(_getSupportedPlatform7, 2),
      getIpAddress = _getSupportedPlatform8[0],
      getIpAddressSync = _getSupportedPlatform8[1];

  exports.getIpAddressSync = getIpAddressSync;
  exports.getIpAddress = getIpAddress;

  var _getSupportedPlatform9 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['android', 'windows', 'web'],
    getter: function getter() {
      return _nativeInterface.default.isCameraPresent();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.isCameraPresentSync();
    },
    defaultValue: false
  }),
      _getSupportedPlatform10 = (0, _slicedToArray2.default)(_getSupportedPlatform9, 2),
      isCameraPresent = _getSupportedPlatform10[0],
      isCameraPresentSync = _getSupportedPlatform10[1];

  exports.isCameraPresentSync = isCameraPresentSync;
  exports.isCameraPresent = isCameraPresent;

  function getMacAddress() {
    return _regenerator.default.async(function getMacAddress$(_context2) {
      while (1) {
        switch (_context2.prev = _context2.next) {
          case 0:
            if (!(_reactNative.Platform.OS === 'android')) {
              _context2.next = 4;
              break;
            }

            return _context2.abrupt("return", _nativeInterface.default.getMacAddress());

          case 4:
            if (!(_reactNative.Platform.OS === 'ios')) {
              _context2.next = 6;
              break;
            }

            return _context2.abrupt("return", '02:00:00:00:00:00');

          case 6:
            return _context2.abrupt("return", 'unknown');

          case 7:
          case "end":
            return _context2.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function getMacAddressSync() {
    if (_reactNative.Platform.OS === 'android') {
      return _nativeInterface.default.getMacAddressSync();
    } else if (_reactNative.Platform.OS === 'ios') {
      return '02:00:00:00:00:00';
    }

    return 'unknown';
  }

  var getDeviceId = function getDeviceId() {
    return (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoSync)({
      defaultValue: 'unknown',
      memoKey: 'deviceId',
      getter: function getter() {
        return _nativeInterface.default.deviceId;
      },
      supportedPlatforms: ['android', 'ios', 'windows']
    });
  };

  exports.getDeviceId = getDeviceId;

  var _getSupportedPlatform11 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'manufacturer',
    supportedPlatforms: ['android', 'ios', 'windows'],
    getter: function getter() {
      return _reactNative.Platform.OS == 'ios' ? Promise.resolve('Apple') : _nativeInterface.default.getSystemManufacturer();
    },
    syncGetter: function syncGetter() {
      return _reactNative.Platform.OS == 'ios' ? 'Apple' : _nativeInterface.default.getSystemManufacturerSync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform12 = (0, _slicedToArray2.default)(_getSupportedPlatform11, 2),
      getManufacturer = _getSupportedPlatform12[0],
      getManufacturerSync = _getSupportedPlatform12[1];

  exports.getManufacturerSync = getManufacturerSync;
  exports.getManufacturer = getManufacturer;

  var getModel = function getModel() {
    return (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoSync)({
      memoKey: 'model',
      defaultValue: 'unknown',
      supportedPlatforms: ['ios', 'android', 'windows'],
      getter: function getter() {
        return _nativeInterface.default.model;
      }
    });
  };

  exports.getModel = getModel;

  var getBrand = function getBrand() {
    return (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoSync)({
      memoKey: 'brand',
      supportedPlatforms: ['android', 'ios', 'windows'],
      defaultValue: 'unknown',
      getter: function getter() {
        return _nativeInterface.default.brand;
      }
    });
  };

  exports.getBrand = getBrand;

  var getSystemName = function getSystemName() {
    return (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoSync)({
      defaultValue: 'unknown',
      supportedPlatforms: ['ios', 'android', 'windows'],
      memoKey: 'systemName',
      getter: function getter() {
        return _reactNative.Platform.select({
          ios: _nativeInterface.default.systemName,
          android: 'Android',
          windows: 'Windows',
          default: 'unknown'
        });
      }
    });
  };

  exports.getSystemName = getSystemName;

  var getSystemVersion = function getSystemVersion() {
    return (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoSync)({
      defaultValue: 'unknown',
      getter: function getter() {
        return _nativeInterface.default.systemVersion;
      },
      supportedPlatforms: ['android', 'ios', 'windows'],
      memoKey: 'systemVersion'
    });
  };

  exports.getSystemVersion = getSystemVersion;

  var _getSupportedPlatform13 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'buildId',
    supportedPlatforms: ['android', 'ios', 'windows'],
    getter: function getter() {
      return _nativeInterface.default.getBuildId();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getBuildIdSync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform14 = (0, _slicedToArray2.default)(_getSupportedPlatform13, 2),
      getBuildId = _getSupportedPlatform14[0],
      getBuildIdSync = _getSupportedPlatform14[1];

  exports.getBuildIdSync = getBuildIdSync;
  exports.getBuildId = getBuildId;

  var _getSupportedPlatform15 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'apiLevel',
    supportedPlatforms: ['android'],
    getter: function getter() {
      return _nativeInterface.default.getApiLevel();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getApiLevelSync();
    },
    defaultValue: -1
  }),
      _getSupportedPlatform16 = (0, _slicedToArray2.default)(_getSupportedPlatform15, 2),
      getApiLevel = _getSupportedPlatform16[0],
      getApiLevelSync = _getSupportedPlatform16[1];

  exports.getApiLevelSync = getApiLevelSync;
  exports.getApiLevel = getApiLevel;

  var getBundleId = function getBundleId() {
    return (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoSync)({
      memoKey: 'bundleId',
      supportedPlatforms: ['android', 'ios', 'windows'],
      defaultValue: 'unknown',
      getter: function getter() {
        return _nativeInterface.default.bundleId;
      }
    });
  };

  exports.getBundleId = getBundleId;

  var _getSupportedPlatform17 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'installerPackageName',
    supportedPlatforms: ['android', 'windows', 'ios'],
    getter: function getter() {
      return _nativeInterface.default.getInstallerPackageName();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getInstallerPackageNameSync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform18 = (0, _slicedToArray2.default)(_getSupportedPlatform17, 2),
      getInstallerPackageName = _getSupportedPlatform18[0],
      getInstallerPackageNameSync = _getSupportedPlatform18[1];

  exports.getInstallerPackageNameSync = getInstallerPackageNameSync;
  exports.getInstallerPackageName = getInstallerPackageName;

  var getApplicationName = function getApplicationName() {
    return (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoSync)({
      memoKey: 'appName',
      defaultValue: 'unknown',
      getter: function getter() {
        return _nativeInterface.default.appName;
      },
      supportedPlatforms: ['android', 'ios', 'windows']
    });
  };

  exports.getApplicationName = getApplicationName;

  var getBuildNumber = function getBuildNumber() {
    return (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoSync)({
      memoKey: 'buildNumber',
      supportedPlatforms: ['android', 'ios', 'windows'],
      getter: function getter() {
        return _nativeInterface.default.buildNumber;
      },
      defaultValue: 'unknown'
    });
  };

  exports.getBuildNumber = getBuildNumber;

  var getVersion = function getVersion() {
    return (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoSync)({
      memoKey: 'version',
      defaultValue: 'unknown',
      supportedPlatforms: ['android', 'ios', 'windows'],
      getter: function getter() {
        return _nativeInterface.default.appVersion;
      }
    });
  };

  exports.getVersion = getVersion;

  function getReadableVersion() {
    return getVersion() + '.' + getBuildNumber();
  }

  var _getSupportedPlatform19 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['android', 'ios', 'windows'],
    getter: function getter() {
      return _nativeInterface.default.getDeviceName();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getDeviceNameSync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform20 = (0, _slicedToArray2.default)(_getSupportedPlatform19, 2),
      getDeviceName = _getSupportedPlatform20[0],
      getDeviceNameSync = _getSupportedPlatform20[1];

  exports.getDeviceNameSync = getDeviceNameSync;
  exports.getDeviceName = getDeviceName;

  var _getSupportedPlatform21 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['android', 'ios', 'windows', 'web'],
    getter: function getter() {
      return _nativeInterface.default.getUsedMemory();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getUsedMemorySync();
    },
    defaultValue: -1
  }),
      _getSupportedPlatform22 = (0, _slicedToArray2.default)(_getSupportedPlatform21, 2),
      getUsedMemory = _getSupportedPlatform22[0],
      getUsedMemorySync = _getSupportedPlatform22[1];

  exports.getUsedMemorySync = getUsedMemorySync;
  exports.getUsedMemory = getUsedMemory;

  var getUserAgent = function getUserAgent() {
    return (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoAsync)({
      memoKey: 'userAgent',
      defaultValue: 'unknown',
      supportedPlatforms: ['android', 'ios', 'web'],
      getter: function getter() {
        return _nativeInterface.default.getUserAgent();
      }
    });
  };

  exports.getUserAgent = getUserAgent;

  var getUserAgentSync = function getUserAgentSync() {
    return (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoSync)({
      memoKey: 'userAgent',
      defaultValue: 'unknown',
      supportedPlatforms: ['android', 'web'],
      getter: function getter() {
        return _nativeInterface.default.getUserAgentSync();
      }
    });
  };

  exports.getUserAgentSync = getUserAgentSync;

  var _getSupportedPlatform23 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['android', 'ios', 'windows'],
    getter: function getter() {
      return _nativeInterface.default.getFontScale();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getFontScaleSync();
    },
    defaultValue: -1
  }),
      _getSupportedPlatform24 = (0, _slicedToArray2.default)(_getSupportedPlatform23, 2),
      getFontScale = _getSupportedPlatform24[0],
      getFontScaleSync = _getSupportedPlatform24[1];

  exports.getFontScaleSync = getFontScaleSync;
  exports.getFontScale = getFontScale;

  var _getSupportedPlatform25 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'bootloader',
    supportedPlatforms: ['android'],
    getter: function getter() {
      return _nativeInterface.default.getBootloader();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getBootloaderSync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform26 = (0, _slicedToArray2.default)(_getSupportedPlatform25, 2),
      getBootloader = _getSupportedPlatform26[0],
      getBootloaderSync = _getSupportedPlatform26[1];

  exports.getBootloaderSync = getBootloaderSync;
  exports.getBootloader = getBootloader;

  var _getSupportedPlatform27 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    getter: function getter() {
      return _nativeInterface.default.getDevice();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getDeviceSync();
    },
    defaultValue: 'unknown',
    memoKey: 'device',
    supportedPlatforms: ['android']
  }),
      _getSupportedPlatform28 = (0, _slicedToArray2.default)(_getSupportedPlatform27, 2),
      getDevice = _getSupportedPlatform28[0],
      getDeviceSync = _getSupportedPlatform28[1];

  exports.getDeviceSync = getDeviceSync;
  exports.getDevice = getDevice;

  var _getSupportedPlatform29 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'display',
    supportedPlatforms: ['android'],
    getter: function getter() {
      return _nativeInterface.default.getDisplay();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getDisplaySync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform30 = (0, _slicedToArray2.default)(_getSupportedPlatform29, 2),
      getDisplay = _getSupportedPlatform30[0],
      getDisplaySync = _getSupportedPlatform30[1];

  exports.getDisplaySync = getDisplaySync;
  exports.getDisplay = getDisplay;

  var _getSupportedPlatform31 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'fingerprint',
    supportedPlatforms: ['android'],
    getter: function getter() {
      return _nativeInterface.default.getFingerprint();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getFingerprintSync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform32 = (0, _slicedToArray2.default)(_getSupportedPlatform31, 2),
      getFingerprint = _getSupportedPlatform32[0],
      getFingerprintSync = _getSupportedPlatform32[1];

  exports.getFingerprintSync = getFingerprintSync;
  exports.getFingerprint = getFingerprint;

  var _getSupportedPlatform33 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'hardware',
    supportedPlatforms: ['android'],
    getter: function getter() {
      return _nativeInterface.default.getHardware();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getHardwareSync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform34 = (0, _slicedToArray2.default)(_getSupportedPlatform33, 2),
      getHardware = _getSupportedPlatform34[0],
      getHardwareSync = _getSupportedPlatform34[1];

  exports.getHardwareSync = getHardwareSync;
  exports.getHardware = getHardware;

  var _getSupportedPlatform35 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'host',
    supportedPlatforms: ['android'],
    getter: function getter() {
      return _nativeInterface.default.getHost();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getHostSync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform36 = (0, _slicedToArray2.default)(_getSupportedPlatform35, 2),
      getHost = _getSupportedPlatform36[0],
      getHostSync = _getSupportedPlatform36[1];

  exports.getHostSync = getHostSync;
  exports.getHost = getHost;

  var _getSupportedPlatform37 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'product',
    supportedPlatforms: ['android'],
    getter: function getter() {
      return _nativeInterface.default.getProduct();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getProductSync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform38 = (0, _slicedToArray2.default)(_getSupportedPlatform37, 2),
      getProduct = _getSupportedPlatform38[0],
      getProductSync = _getSupportedPlatform38[1];

  exports.getProductSync = getProductSync;
  exports.getProduct = getProduct;

  var _getSupportedPlatform39 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'tags',
    supportedPlatforms: ['android'],
    getter: function getter() {
      return _nativeInterface.default.getTags();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getTagsSync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform40 = (0, _slicedToArray2.default)(_getSupportedPlatform39, 2),
      getTags = _getSupportedPlatform40[0],
      getTagsSync = _getSupportedPlatform40[1];

  exports.getTagsSync = getTagsSync;
  exports.getTags = getTags;

  var _getSupportedPlatform41 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'type',
    supportedPlatforms: ['android'],
    getter: function getter() {
      return _nativeInterface.default.getType();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getTypeSync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform42 = (0, _slicedToArray2.default)(_getSupportedPlatform41, 2),
      getType = _getSupportedPlatform42[0],
      getTypeSync = _getSupportedPlatform42[1];

  exports.getTypeSync = getTypeSync;
  exports.getType = getType;

  var _getSupportedPlatform43 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'baseOs',
    supportedPlatforms: ['android', 'web', 'windows'],
    getter: function getter() {
      return _nativeInterface.default.getBaseOs();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getBaseOsSync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform44 = (0, _slicedToArray2.default)(_getSupportedPlatform43, 2),
      getBaseOs = _getSupportedPlatform44[0],
      getBaseOsSync = _getSupportedPlatform44[1];

  exports.getBaseOsSync = getBaseOsSync;
  exports.getBaseOs = getBaseOs;

  var _getSupportedPlatform45 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'previewSdkInt',
    supportedPlatforms: ['android'],
    getter: function getter() {
      return _nativeInterface.default.getPreviewSdkInt();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getPreviewSdkIntSync();
    },
    defaultValue: -1
  }),
      _getSupportedPlatform46 = (0, _slicedToArray2.default)(_getSupportedPlatform45, 2),
      getPreviewSdkInt = _getSupportedPlatform46[0],
      getPreviewSdkIntSync = _getSupportedPlatform46[1];

  exports.getPreviewSdkIntSync = getPreviewSdkIntSync;
  exports.getPreviewSdkInt = getPreviewSdkInt;

  var _getSupportedPlatform47 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'securityPatch',
    supportedPlatforms: ['android'],
    getter: function getter() {
      return _nativeInterface.default.getSecurityPatch();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getSecurityPatchSync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform48 = (0, _slicedToArray2.default)(_getSupportedPlatform47, 2),
      getSecurityPatch = _getSupportedPlatform48[0],
      getSecurityPatchSync = _getSupportedPlatform48[1];

  exports.getSecurityPatchSync = getSecurityPatchSync;
  exports.getSecurityPatch = getSecurityPatch;

  var _getSupportedPlatform49 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'codeName',
    supportedPlatforms: ['android'],
    getter: function getter() {
      return _nativeInterface.default.getCodename();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getCodenameSync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform50 = (0, _slicedToArray2.default)(_getSupportedPlatform49, 2),
      getCodename = _getSupportedPlatform50[0],
      getCodenameSync = _getSupportedPlatform50[1];

  exports.getCodenameSync = getCodenameSync;
  exports.getCodename = getCodename;

  var _getSupportedPlatform51 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'incremental',
    supportedPlatforms: ['android'],
    getter: function getter() {
      return _nativeInterface.default.getIncremental();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getIncrementalSync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform52 = (0, _slicedToArray2.default)(_getSupportedPlatform51, 2),
      getIncremental = _getSupportedPlatform52[0],
      getIncrementalSync = _getSupportedPlatform52[1];

  exports.getIncrementalSync = getIncrementalSync;
  exports.getIncremental = getIncremental;

  var _getSupportedPlatform53 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'emulator',
    supportedPlatforms: ['android', 'ios', 'windows'],
    getter: function getter() {
      return _nativeInterface.default.isEmulator();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.isEmulatorSync();
    },
    defaultValue: false
  }),
      _getSupportedPlatform54 = (0, _slicedToArray2.default)(_getSupportedPlatform53, 2),
      isEmulator = _getSupportedPlatform54[0],
      isEmulatorSync = _getSupportedPlatform54[1];

  exports.isEmulatorSync = isEmulatorSync;
  exports.isEmulator = isEmulator;

  var isTablet = function isTablet() {
    return (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoSync)({
      defaultValue: false,
      supportedPlatforms: ['android', 'ios', 'windows'],
      memoKey: 'tablet',
      getter: function getter() {
        return _nativeInterface.default.isTablet;
      }
    });
  };

  exports.isTablet = isTablet;

  var _getSupportedPlatform55 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['android', 'ios', 'windows'],
    getter: function getter() {
      return _nativeInterface.default.isPinOrFingerprintSet();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.isPinOrFingerprintSetSync();
    },
    defaultValue: false
  }),
      _getSupportedPlatform56 = (0, _slicedToArray2.default)(_getSupportedPlatform55, 2),
      isPinOrFingerprintSet = _getSupportedPlatform56[0],
      isPinOrFingerprintSetSync = _getSupportedPlatform56[1];

  exports.isPinOrFingerprintSetSync = isPinOrFingerprintSetSync;
  exports.isPinOrFingerprintSet = isPinOrFingerprintSet;
  var notch;

  function hasNotch() {
    if (notch === undefined) {
      var _brand = getBrand();

      var _model = getModel();

      notch = _devicesWithNotch.default.findIndex(function (item) {
        return item.brand.toLowerCase() === _brand.toLowerCase() && item.model.toLowerCase() === _model.toLowerCase();
      }) !== -1;
    }

    return notch;
  }

  var _getSupportedPlatform57 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['android'],
    getter: function getter() {
      return _nativeInterface.default.hasGms();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.hasGmsSync();
    },
    defaultValue: false
  }),
      _getSupportedPlatform58 = (0, _slicedToArray2.default)(_getSupportedPlatform57, 2),
      hasGms = _getSupportedPlatform58[0],
      hasGmsSync = _getSupportedPlatform58[1];

  exports.hasGmsSync = hasGmsSync;
  exports.hasGms = hasGms;

  var _getSupportedPlatform59 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['android'],
    getter: function getter() {
      return _nativeInterface.default.hasHms();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.hasHmsSync();
    },
    defaultValue: false
  }),
      _getSupportedPlatform60 = (0, _slicedToArray2.default)(_getSupportedPlatform59, 2),
      hasHms = _getSupportedPlatform60[0],
      hasHmsSync = _getSupportedPlatform60[1];

  exports.hasHmsSync = hasHmsSync;
  exports.hasHms = hasHms;

  var _getSupportedPlatform61 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'firstInstallTime',
    supportedPlatforms: ['android', 'windows'],
    getter: function getter() {
      return _nativeInterface.default.getFirstInstallTime();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getFirstInstallTimeSync();
    },
    defaultValue: -1
  }),
      _getSupportedPlatform62 = (0, _slicedToArray2.default)(_getSupportedPlatform61, 2),
      getFirstInstallTime = _getSupportedPlatform62[0],
      getFirstInstallTimeSync = _getSupportedPlatform62[1];

  exports.getFirstInstallTimeSync = getFirstInstallTimeSync;
  exports.getFirstInstallTime = getFirstInstallTime;

  var _getSupportedPlatform63 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'installReferrer',
    supportedPlatforms: ['android', 'windows', 'web'],
    getter: function getter() {
      return _nativeInterface.default.getInstallReferrer();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getInstallReferrerSync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform64 = (0, _slicedToArray2.default)(_getSupportedPlatform63, 2),
      getInstallReferrer = _getSupportedPlatform64[0],
      getInstallReferrerSync = _getSupportedPlatform64[1];

  exports.getInstallReferrerSync = getInstallReferrerSync;
  exports.getInstallReferrer = getInstallReferrer;

  var _getSupportedPlatform65 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'lastUpdateTime',
    supportedPlatforms: ['android'],
    getter: function getter() {
      return _nativeInterface.default.getLastUpdateTime();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getLastUpdateTimeSync();
    },
    defaultValue: -1
  }),
      _getSupportedPlatform66 = (0, _slicedToArray2.default)(_getSupportedPlatform65, 2),
      getLastUpdateTime = _getSupportedPlatform66[0],
      getLastUpdateTimeSync = _getSupportedPlatform66[1];

  exports.getLastUpdateTimeSync = getLastUpdateTimeSync;
  exports.getLastUpdateTime = getLastUpdateTime;

  var _getSupportedPlatform67 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['android'],
    getter: function getter() {
      return _nativeInterface.default.getPhoneNumber();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getPhoneNumberSync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform68 = (0, _slicedToArray2.default)(_getSupportedPlatform67, 2),
      getPhoneNumber = _getSupportedPlatform68[0],
      getPhoneNumberSync = _getSupportedPlatform68[1];

  exports.getPhoneNumberSync = getPhoneNumberSync;
  exports.getPhoneNumber = getPhoneNumber;

  var _getSupportedPlatform69 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['android', 'ios'],
    getter: function getter() {
      return _nativeInterface.default.getCarrier();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getCarrierSync();
    },
    defaultValue: 'unknown'
  }),
      _getSupportedPlatform70 = (0, _slicedToArray2.default)(_getSupportedPlatform69, 2),
      getCarrier = _getSupportedPlatform70[0],
      getCarrierSync = _getSupportedPlatform70[1];

  exports.getCarrierSync = getCarrierSync;
  exports.getCarrier = getCarrier;

  var _getSupportedPlatform71 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'totalMemory',
    supportedPlatforms: ['android', 'ios', 'windows', 'web'],
    getter: function getter() {
      return _nativeInterface.default.getTotalMemory();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getTotalMemorySync();
    },
    defaultValue: -1
  }),
      _getSupportedPlatform72 = (0, _slicedToArray2.default)(_getSupportedPlatform71, 2),
      getTotalMemory = _getSupportedPlatform72[0],
      getTotalMemorySync = _getSupportedPlatform72[1];

  exports.getTotalMemorySync = getTotalMemorySync;
  exports.getTotalMemory = getTotalMemory;

  var _getSupportedPlatform73 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: 'maxMemory',
    supportedPlatforms: ['android', 'windows', 'web'],
    getter: function getter() {
      return _nativeInterface.default.getMaxMemory();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getMaxMemorySync();
    },
    defaultValue: -1
  }),
      _getSupportedPlatform74 = (0, _slicedToArray2.default)(_getSupportedPlatform73, 2),
      getMaxMemory = _getSupportedPlatform74[0],
      getMaxMemorySync = _getSupportedPlatform74[1];

  exports.getMaxMemorySync = getMaxMemorySync;
  exports.getMaxMemory = getMaxMemory;

  var _getSupportedPlatform75 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['android', 'ios', 'windows', 'web'],
    getter: function getter() {
      return _nativeInterface.default.getTotalDiskCapacity();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getTotalDiskCapacitySync();
    },
    defaultValue: -1
  }),
      _getSupportedPlatform76 = (0, _slicedToArray2.default)(_getSupportedPlatform75, 2),
      getTotalDiskCapacity = _getSupportedPlatform76[0],
      getTotalDiskCapacitySync = _getSupportedPlatform76[1];

  exports.getTotalDiskCapacitySync = getTotalDiskCapacitySync;
  exports.getTotalDiskCapacity = getTotalDiskCapacity;

  function getTotalDiskCapacityOld() {
    return _regenerator.default.async(function getTotalDiskCapacityOld$(_context3) {
      while (1) {
        switch (_context3.prev = _context3.next) {
          case 0:
            if (!(_reactNative.Platform.OS === 'android')) {
              _context3.next = 2;
              break;
            }

            return _context3.abrupt("return", _nativeInterface.default.getTotalDiskCapacityOld());

          case 2:
            if (!(_reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'windows' || _reactNative.Platform.OS === 'web')) {
              _context3.next = 4;
              break;
            }

            return _context3.abrupt("return", getTotalDiskCapacity());

          case 4:
            return _context3.abrupt("return", -1);

          case 5:
          case "end":
            return _context3.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function getTotalDiskCapacityOldSync() {
    if (_reactNative.Platform.OS === 'android') {
      return _nativeInterface.default.getTotalDiskCapacityOldSync();
    }

    if (_reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'windows' || _reactNative.Platform.OS === 'web') {
      return getTotalDiskCapacitySync();
    }

    return -1;
  }

  var _getSupportedPlatform77 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['android', 'ios', 'windows', 'web'],
    getter: function getter() {
      return _nativeInterface.default.getFreeDiskStorage();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getFreeDiskStorageSync();
    },
    defaultValue: -1
  }),
      _getSupportedPlatform78 = (0, _slicedToArray2.default)(_getSupportedPlatform77, 2),
      getFreeDiskStorage = _getSupportedPlatform78[0],
      getFreeDiskStorageSync = _getSupportedPlatform78[1];

  exports.getFreeDiskStorageSync = getFreeDiskStorageSync;
  exports.getFreeDiskStorage = getFreeDiskStorage;

  function getFreeDiskStorageOld() {
    return _regenerator.default.async(function getFreeDiskStorageOld$(_context4) {
      while (1) {
        switch (_context4.prev = _context4.next) {
          case 0:
            if (!(_reactNative.Platform.OS === 'android')) {
              _context4.next = 2;
              break;
            }

            return _context4.abrupt("return", _nativeInterface.default.getFreeDiskStorageOld());

          case 2:
            if (!(_reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'windows' || _reactNative.Platform.OS === 'web')) {
              _context4.next = 4;
              break;
            }

            return _context4.abrupt("return", getFreeDiskStorage());

          case 4:
            return _context4.abrupt("return", -1);

          case 5:
          case "end":
            return _context4.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function getFreeDiskStorageOldSync() {
    if (_reactNative.Platform.OS === 'android') {
      return _nativeInterface.default.getFreeDiskStorageOldSync();
    }

    if (_reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'windows' || _reactNative.Platform.OS === 'web') {
      return getFreeDiskStorageSync();
    }

    return -1;
  }

  var _getSupportedPlatform79 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['android', 'ios', 'windows', 'web'],
    getter: function getter() {
      return _nativeInterface.default.getBatteryLevel();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getBatteryLevelSync();
    },
    defaultValue: -1
  }),
      _getSupportedPlatform80 = (0, _slicedToArray2.default)(_getSupportedPlatform79, 2),
      getBatteryLevel = _getSupportedPlatform80[0],
      getBatteryLevelSync = _getSupportedPlatform80[1];

  exports.getBatteryLevelSync = getBatteryLevelSync;
  exports.getBatteryLevel = getBatteryLevel;

  var _getSupportedPlatform81 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['ios', 'android', 'windows', 'web'],
    getter: function getter() {
      return _nativeInterface.default.getPowerState();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getPowerStateSync();
    },
    defaultValue: {}
  }),
      _getSupportedPlatform82 = (0, _slicedToArray2.default)(_getSupportedPlatform81, 2),
      getPowerState = _getSupportedPlatform82[0],
      getPowerStateSync = _getSupportedPlatform82[1];

  exports.getPowerStateSync = getPowerStateSync;
  exports.getPowerState = getPowerState;

  var _getSupportedPlatform83 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['android', 'ios', 'windows', 'web'],
    getter: function getter() {
      return _nativeInterface.default.isBatteryCharging();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.isBatteryChargingSync();
    },
    defaultValue: false
  }),
      _getSupportedPlatform84 = (0, _slicedToArray2.default)(_getSupportedPlatform83, 2),
      isBatteryCharging = _getSupportedPlatform84[0],
      isBatteryChargingSync = _getSupportedPlatform84[1];

  exports.isBatteryChargingSync = isBatteryChargingSync;
  exports.isBatteryCharging = isBatteryCharging;

  function isLandscape() {
    return _regenerator.default.async(function isLandscape$(_context5) {
      while (1) {
        switch (_context5.prev = _context5.next) {
          case 0:
            return _context5.abrupt("return", Promise.resolve(isLandscapeSync()));

          case 1:
          case "end":
            return _context5.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function isLandscapeSync() {
    var _Dimensions$get = _reactNative.Dimensions.get('window'),
        height = _Dimensions$get.height,
        width = _Dimensions$get.width;

    return width >= height;
  }

  var _getSupportedPlatform85 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['android', 'web'],
    getter: function getter() {
      return _nativeInterface.default.isAirplaneMode();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.isAirplaneModeSync();
    },
    defaultValue: false
  }),
      _getSupportedPlatform86 = (0, _slicedToArray2.default)(_getSupportedPlatform85, 2),
      isAirplaneMode = _getSupportedPlatform86[0],
      isAirplaneModeSync = _getSupportedPlatform86[1];

  exports.isAirplaneModeSync = isAirplaneModeSync;
  exports.isAirplaneMode = isAirplaneMode;

  var getDeviceType = function getDeviceType() {
    return (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoSync)({
      memoKey: 'deviceType',
      supportedPlatforms: ['android', 'ios', 'windows'],
      defaultValue: 'unknown',
      getter: function getter() {
        return _nativeInterface.default.deviceType;
      }
    });
  };

  exports.getDeviceType = getDeviceType;

  var getDeviceTypeSync = function getDeviceTypeSync() {
    return (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoSync)({
      memoKey: 'deviceType',
      supportedPlatforms: ['android', 'ios', 'windows'],
      defaultValue: 'unknown',
      getter: function getter() {
        return _nativeInterface.default.deviceType;
      }
    });
  };

  exports.getDeviceTypeSync = getDeviceTypeSync;

  var _getSupportedPlatform87 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: '_supportedAbis',
    supportedPlatforms: ['android', 'ios', 'windows'],
    getter: function getter() {
      return _nativeInterface.default.getSupportedAbis();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getSupportedAbisSync();
    },
    defaultValue: []
  }),
      _getSupportedPlatform88 = (0, _slicedToArray2.default)(_getSupportedPlatform87, 2),
      supportedAbis = _getSupportedPlatform88[0],
      supportedAbisSync = _getSupportedPlatform88[1];

  exports.supportedAbisSync = supportedAbisSync;
  exports.supportedAbis = supportedAbis;

  var _getSupportedPlatform89 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: '_supported32BitAbis',
    supportedPlatforms: ['android'],
    getter: function getter() {
      return _nativeInterface.default.getSupported32BitAbis();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getSupported32BitAbisSync();
    },
    defaultValue: []
  }),
      _getSupportedPlatform90 = (0, _slicedToArray2.default)(_getSupportedPlatform89, 2),
      supported32BitAbis = _getSupportedPlatform90[0],
      supported32BitAbisSync = _getSupportedPlatform90[1];

  exports.supported32BitAbisSync = supported32BitAbisSync;
  exports.supported32BitAbis = supported32BitAbis;

  var _getSupportedPlatform91 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    memoKey: '_supported64BitAbis',
    supportedPlatforms: ['android'],
    getter: function getter() {
      return _nativeInterface.default.getSupported64BitAbis();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getSupported64BitAbisSync();
    },
    defaultValue: []
  }),
      _getSupportedPlatform92 = (0, _slicedToArray2.default)(_getSupportedPlatform91, 2),
      supported64BitAbis = _getSupportedPlatform92[0],
      supported64BitAbisSync = _getSupportedPlatform92[1];

  exports.supported64BitAbisSync = supported64BitAbisSync;
  exports.supported64BitAbis = supported64BitAbis;

  function hasSystemFeature(feature) {
    return _regenerator.default.async(function hasSystemFeature$(_context6) {
      while (1) {
        switch (_context6.prev = _context6.next) {
          case 0:
            if (!(_reactNative.Platform.OS === 'android')) {
              _context6.next = 2;
              break;
            }

            return _context6.abrupt("return", _nativeInterface.default.hasSystemFeature(feature));

          case 2:
            return _context6.abrupt("return", false);

          case 3:
          case "end":
            return _context6.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function hasSystemFeatureSync(feature) {
    if (_reactNative.Platform.OS === 'android') {
      return _nativeInterface.default.hasSystemFeatureSync(feature);
    }

    return false;
  }

  function isLowBatteryLevel(level) {
    if (_reactNative.Platform.OS === 'android') {
      return level < 0.15;
    }

    return level < 0.2;
  }

  var _getSupportedPlatform93 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['android'],
    getter: function getter() {
      return _nativeInterface.default.getSystemAvailableFeatures();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getSystemAvailableFeaturesSync();
    },
    defaultValue: []
  }),
      _getSupportedPlatform94 = (0, _slicedToArray2.default)(_getSupportedPlatform93, 2),
      getSystemAvailableFeatures = _getSupportedPlatform94[0],
      getSystemAvailableFeaturesSync = _getSupportedPlatform94[1];

  exports.getSystemAvailableFeaturesSync = getSystemAvailableFeaturesSync;
  exports.getSystemAvailableFeatures = getSystemAvailableFeatures;

  var _getSupportedPlatform95 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['android', 'ios', 'web'],
    getter: function getter() {
      return _nativeInterface.default.isLocationEnabled();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.isLocationEnabledSync();
    },
    defaultValue: false
  }),
      _getSupportedPlatform96 = (0, _slicedToArray2.default)(_getSupportedPlatform95, 2),
      isLocationEnabled = _getSupportedPlatform96[0],
      isLocationEnabledSync = _getSupportedPlatform96[1];

  exports.isLocationEnabledSync = isLocationEnabledSync;
  exports.isLocationEnabled = isLocationEnabled;

  var _getSupportedPlatform97 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['android', 'ios'],
    getter: function getter() {
      return _nativeInterface.default.isHeadphonesConnected();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.isHeadphonesConnectedSync();
    },
    defaultValue: false
  }),
      _getSupportedPlatform98 = (0, _slicedToArray2.default)(_getSupportedPlatform97, 2),
      isHeadphonesConnected = _getSupportedPlatform98[0],
      isHeadphonesConnectedSync = _getSupportedPlatform98[1];

  exports.isHeadphonesConnectedSync = isHeadphonesConnectedSync;
  exports.isHeadphonesConnected = isHeadphonesConnected;

  var _getSupportedPlatform99 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['windows'],
    getter: function getter() {
      return _nativeInterface.default.isMouseConnected();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.isMouseConnectedSync();
    },
    defaultValue: false
  }),
      _getSupportedPlatform100 = (0, _slicedToArray2.default)(_getSupportedPlatform99, 2),
      isMouseConnected = _getSupportedPlatform100[0],
      isMouseConnectedSync = _getSupportedPlatform100[1];

  exports.isMouseConnectedSync = isMouseConnectedSync;
  exports.isMouseConnected = isMouseConnected;

  var _getSupportedPlatform101 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['windows'],
    getter: function getter() {
      return _nativeInterface.default.isKeyboardConnected();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.isKeyboardConnectedSync();
    },
    defaultValue: false
  }),
      _getSupportedPlatform102 = (0, _slicedToArray2.default)(_getSupportedPlatform101, 2),
      isKeyboardConnected = _getSupportedPlatform102[0],
      isKeyboardConnectedSync = _getSupportedPlatform102[1];

  exports.isKeyboardConnectedSync = isKeyboardConnectedSync;
  exports.isKeyboardConnected = isKeyboardConnected;

  var isTabletMode = function isTabletMode() {
    return (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoAsync)({
      supportedPlatforms: ['windows'],
      getter: function getter() {
        return _nativeInterface.default.isTabletMode();
      },
      defaultValue: false
    });
  };

  exports.isTabletMode = isTabletMode;

  var _getSupportedPlatform103 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['android', 'ios'],
    getter: function getter() {
      return _nativeInterface.default.getAvailableLocationProviders();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getAvailableLocationProvidersSync();
    },
    defaultValue: {}
  }),
      _getSupportedPlatform104 = (0, _slicedToArray2.default)(_getSupportedPlatform103, 2),
      getAvailableLocationProviders = _getSupportedPlatform104[0],
      getAvailableLocationProvidersSync = _getSupportedPlatform104[1];

  exports.getAvailableLocationProvidersSync = getAvailableLocationProvidersSync;
  exports.getAvailableLocationProviders = getAvailableLocationProviders;

  var _getSupportedPlatform105 = (0, _$$_REQUIRE(_dependencyMap[7]).getSupportedPlatformInfoFunctions)({
    supportedPlatforms: ['ios'],
    getter: function getter() {
      return _nativeInterface.default.getBrightness();
    },
    syncGetter: function syncGetter() {
      return _nativeInterface.default.getBrightnessSync();
    },
    defaultValue: -1
  }),
      _getSupportedPlatform106 = (0, _slicedToArray2.default)(_getSupportedPlatform105, 2),
      getBrightness = _getSupportedPlatform106[0],
      getBrightnessSync = _getSupportedPlatform106[1];

  exports.getBrightnessSync = getBrightnessSync;
  exports.getBrightness = getBrightness;

  function getDeviceToken() {
    return _regenerator.default.async(function getDeviceToken$(_context7) {
      while (1) {
        switch (_context7.prev = _context7.next) {
          case 0:
            if (!(_reactNative.Platform.OS === 'ios')) {
              _context7.next = 2;
              break;
            }

            return _context7.abrupt("return", _nativeInterface.default.getDeviceToken());

          case 2:
            return _context7.abrupt("return", 'unknown');

          case 3:
          case "end":
            return _context7.stop();
        }
      }
    }, null, null, null, Promise);
  }

  var deviceInfoEmitter = new _reactNative.NativeEventEmitter(_reactNative.NativeModules.RNDeviceInfo);

  function useBatteryLevel() {
    var _useState = (0, _react.useState)(null),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        batteryLevel = _useState2[0],
        setBatteryLevel = _useState2[1];

    (0, _react.useEffect)(function () {
      var setInitialValue = function _callee() {
        var initialValue;
        return _regenerator.default.async(function _callee$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                _context8.next = 2;
                return _regenerator.default.awrap(getBatteryLevel());

              case 2:
                initialValue = _context8.sent;
                setBatteryLevel(initialValue);

              case 4:
              case "end":
                return _context8.stop();
            }
          }
        }, null, null, null, Promise);
      };

      var onChange = function onChange(level) {
        setBatteryLevel(level);
      };

      setInitialValue();
      var subscription = deviceInfoEmitter.addListener('RNDeviceInfo_batteryLevelDidChange', onChange);
      return function () {
        return subscription.remove();
      };
    }, []);
    return batteryLevel;
  }

  function useBatteryLevelIsLow() {
    var _useState3 = (0, _react.useState)(null),
        _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
        batteryLevelIsLow = _useState4[0],
        setBatteryLevelIsLow = _useState4[1];

    (0, _react.useEffect)(function () {
      var setInitialValue = function _callee2() {
        var initialValue;
        return _regenerator.default.async(function _callee2$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                _context9.next = 2;
                return _regenerator.default.awrap(getBatteryLevel());

              case 2:
                initialValue = _context9.sent;
                isLowBatteryLevel(initialValue) && setBatteryLevelIsLow(initialValue);

              case 4:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, null, Promise);
      };

      setInitialValue();

      var onChange = function onChange(level) {
        setBatteryLevelIsLow(level);
      };

      var subscription = deviceInfoEmitter.addListener('RNDeviceInfo_batteryLevelIsLow', onChange);
      return function () {
        return subscription.remove();
      };
    }, []);
    return batteryLevelIsLow;
  }

  function usePowerState() {
    var _useState5 = (0, _react.useState)({}),
        _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
        powerState = _useState6[0],
        setPowerState = _useState6[1];

    (0, _react.useEffect)(function () {
      var setInitialValue = function _callee3() {
        var initialValue;
        return _regenerator.default.async(function _callee3$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                _context10.next = 2;
                return _regenerator.default.awrap(getPowerState());

              case 2:
                initialValue = _context10.sent;
                setPowerState(initialValue);

              case 4:
              case "end":
                return _context10.stop();
            }
          }
        }, null, null, null, Promise);
      };

      var onChange = function onChange(state) {
        setPowerState(state);
      };

      setInitialValue();
      var subscription = deviceInfoEmitter.addListener('RNDeviceInfo_powerStateDidChange', onChange);
      return function () {
        return subscription.remove();
      };
    }, []);
    return powerState;
  }

  function useIsHeadphonesConnected() {
    return (0, _$$_REQUIRE(_dependencyMap[8]).useOnEvent)('RNDeviceInfo_headphoneConnectionDidChange', isHeadphonesConnected, false);
  }

  function useFirstInstallTime() {
    return (0, _$$_REQUIRE(_dependencyMap[8]).useOnMount)(getFirstInstallTime, -1);
  }

  function useDeviceName() {
    return (0, _$$_REQUIRE(_dependencyMap[8]).useOnMount)(getDeviceName, 'unknown');
  }

  function useHasSystemFeature(feature) {
    var asyncGetter = (0, _react.useCallback)(function () {
      return hasSystemFeature(feature);
    }, [feature]);
    return (0, _$$_REQUIRE(_dependencyMap[8]).useOnMount)(asyncGetter, false);
  }

  function useIsEmulator() {
    return (0, _$$_REQUIRE(_dependencyMap[8]).useOnMount)(isEmulator, false);
  }

  function useManufacturer() {
    return (0, _$$_REQUIRE(_dependencyMap[8]).useOnMount)(getManufacturer, 'unknown');
  }

  function useBrightness() {
    var _useState7 = (0, _react.useState)(null),
        _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
        brightness = _useState8[0],
        setBrightness = _useState8[1];

    (0, _react.useEffect)(function () {
      var setInitialValue = function _callee4() {
        var initialValue;
        return _regenerator.default.async(function _callee4$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                _context11.next = 2;
                return _regenerator.default.awrap(getBrightness());

              case 2:
                initialValue = _context11.sent;
                setBrightness(initialValue);

              case 4:
              case "end":
                return _context11.stop();
            }
          }
        }, null, null, null, Promise);
      };

      var onChange = function onChange(value) {
        setBrightness(value);
      };

      setInitialValue();
      var subscription = deviceInfoEmitter.addListener('RNDeviceInfo_brightnessDidChange', onChange);
      return function () {
        return subscription.remove();
      };
    }, []);
    return brightness;
  }

  var deviceInfoModule = {
    getAndroidId: getAndroidId,
    getAndroidIdSync: getAndroidIdSync,
    getApiLevel: getApiLevel,
    getApiLevelSync: getApiLevelSync,
    getApplicationName: getApplicationName,
    getAvailableLocationProviders: getAvailableLocationProviders,
    getAvailableLocationProvidersSync: getAvailableLocationProvidersSync,
    getBaseOs: getBaseOs,
    getBaseOsSync: getBaseOsSync,
    getBatteryLevel: getBatteryLevel,
    getBatteryLevelSync: getBatteryLevelSync,
    getBootloader: getBootloader,
    getBootloaderSync: getBootloaderSync,
    getBrand: getBrand,
    getBuildId: getBuildId,
    getBuildIdSync: getBuildIdSync,
    getBuildNumber: getBuildNumber,
    getBundleId: getBundleId,
    getCarrier: getCarrier,
    getCarrierSync: getCarrierSync,
    getCodename: getCodename,
    getCodenameSync: getCodenameSync,
    getDevice: getDevice,
    getDeviceId: getDeviceId,
    getDeviceName: getDeviceName,
    getDeviceNameSync: getDeviceNameSync,
    getDeviceSync: getDeviceSync,
    getDeviceToken: getDeviceToken,
    getDeviceType: getDeviceType,
    getDisplay: getDisplay,
    getDisplaySync: getDisplaySync,
    getFingerprint: getFingerprint,
    getFingerprintSync: getFingerprintSync,
    getFirstInstallTime: getFirstInstallTime,
    getFirstInstallTimeSync: getFirstInstallTimeSync,
    getFontScale: getFontScale,
    getFontScaleSync: getFontScaleSync,
    getFreeDiskStorage: getFreeDiskStorage,
    getFreeDiskStorageOld: getFreeDiskStorageOld,
    getFreeDiskStorageSync: getFreeDiskStorageSync,
    getFreeDiskStorageOldSync: getFreeDiskStorageOldSync,
    getHardware: getHardware,
    getHardwareSync: getHardwareSync,
    getHost: getHost,
    getHostSync: getHostSync,
    getIncremental: getIncremental,
    getIncrementalSync: getIncrementalSync,
    getInstallerPackageName: getInstallerPackageName,
    getInstallerPackageNameSync: getInstallerPackageNameSync,
    getInstallReferrer: getInstallReferrer,
    getInstallReferrerSync: getInstallReferrerSync,
    getInstanceId: getInstanceId,
    getInstanceIdSync: getInstanceIdSync,
    getIpAddress: getIpAddress,
    getIpAddressSync: getIpAddressSync,
    getLastUpdateTime: getLastUpdateTime,
    getLastUpdateTimeSync: getLastUpdateTimeSync,
    getMacAddress: getMacAddress,
    getMacAddressSync: getMacAddressSync,
    getManufacturer: getManufacturer,
    getManufacturerSync: getManufacturerSync,
    getMaxMemory: getMaxMemory,
    getMaxMemorySync: getMaxMemorySync,
    getModel: getModel,
    getPhoneNumber: getPhoneNumber,
    getPhoneNumberSync: getPhoneNumberSync,
    getPowerState: getPowerState,
    getPowerStateSync: getPowerStateSync,
    getPreviewSdkInt: getPreviewSdkInt,
    getPreviewSdkIntSync: getPreviewSdkIntSync,
    getProduct: getProduct,
    getProductSync: getProductSync,
    getReadableVersion: getReadableVersion,
    getSecurityPatch: getSecurityPatch,
    getSecurityPatchSync: getSecurityPatchSync,
    getSerialNumber: getSerialNumber,
    getSerialNumberSync: getSerialNumberSync,
    getSystemAvailableFeatures: getSystemAvailableFeatures,
    getSystemAvailableFeaturesSync: getSystemAvailableFeaturesSync,
    getSystemName: getSystemName,
    getSystemVersion: getSystemVersion,
    getTags: getTags,
    getTagsSync: getTagsSync,
    getTotalDiskCapacity: getTotalDiskCapacity,
    getTotalDiskCapacityOld: getTotalDiskCapacityOld,
    getTotalDiskCapacitySync: getTotalDiskCapacitySync,
    getTotalDiskCapacityOldSync: getTotalDiskCapacityOldSync,
    getTotalMemory: getTotalMemory,
    getTotalMemorySync: getTotalMemorySync,
    getType: getType,
    getTypeSync: getTypeSync,
    getUniqueId: getUniqueId,
    getUsedMemory: getUsedMemory,
    getUsedMemorySync: getUsedMemorySync,
    getUserAgent: getUserAgent,
    getUserAgentSync: getUserAgentSync,
    getVersion: getVersion,
    getBrightness: getBrightness,
    getBrightnessSync: getBrightnessSync,
    hasGms: hasGms,
    hasGmsSync: hasGmsSync,
    hasHms: hasHms,
    hasHmsSync: hasHmsSync,
    hasNotch: hasNotch,
    hasSystemFeature: hasSystemFeature,
    hasSystemFeatureSync: hasSystemFeatureSync,
    isAirplaneMode: isAirplaneMode,
    isAirplaneModeSync: isAirplaneModeSync,
    isBatteryCharging: isBatteryCharging,
    isBatteryChargingSync: isBatteryChargingSync,
    isCameraPresent: isCameraPresent,
    isCameraPresentSync: isCameraPresentSync,
    isEmulator: isEmulator,
    isEmulatorSync: isEmulatorSync,
    isHeadphonesConnected: isHeadphonesConnected,
    isHeadphonesConnectedSync: isHeadphonesConnectedSync,
    isLandscape: isLandscape,
    isLandscapeSync: isLandscapeSync,
    isLocationEnabled: isLocationEnabled,
    isLocationEnabledSync: isLocationEnabledSync,
    isPinOrFingerprintSet: isPinOrFingerprintSet,
    isPinOrFingerprintSetSync: isPinOrFingerprintSetSync,
    isMouseConnected: isMouseConnected,
    isMouseConnectedSync: isMouseConnectedSync,
    isKeyboardConnected: isKeyboardConnected,
    isKeyboardConnectedSync: isKeyboardConnectedSync,
    isTabletMode: isTabletMode,
    isTablet: isTablet,
    supported32BitAbis: supported32BitAbis,
    supported32BitAbisSync: supported32BitAbisSync,
    supported64BitAbis: supported64BitAbis,
    supported64BitAbisSync: supported64BitAbisSync,
    supportedAbis: supportedAbis,
    supportedAbisSync: supportedAbisSync,
    syncUniqueId: syncUniqueId,
    useBatteryLevel: useBatteryLevel,
    useBatteryLevelIsLow: useBatteryLevelIsLow,
    useDeviceName: useDeviceName,
    useFirstInstallTime: useFirstInstallTime,
    useHasSystemFeature: useHasSystemFeature,
    useIsEmulator: useIsEmulator,
    usePowerState: usePowerState,
    useManufacturer: useManufacturer,
    useIsHeadphonesConnected: useIsHeadphonesConnected,
    useBrightness: useBrightness
  };
  var _default = deviceInfoModule;
  exports.default = _default;
},532,[5,41,80,17,28,533,534,536,537]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;
  var devicesWithNotch = [{
    brand: 'Apple',
    model: 'iPhone 13 mini'
  }, {
    brand: 'Apple',
    model: 'iPhone 13'
  }, {
    brand: 'Apple',
    model: 'iPhone 13 Pro'
  }, {
    brand: 'Apple',
    model: 'iPhone 13 Pro Max'
  }, {
    brand: 'Apple',
    model: 'iPhone 12 mini'
  }, {
    brand: 'Apple',
    model: 'iPhone 12'
  }, {
    brand: 'Apple',
    model: 'iPhone 12 Pro'
  }, {
    brand: 'Apple',
    model: 'iPhone 12 Pro Max'
  }, {
    brand: 'Apple',
    model: 'iPhone 11'
  }, {
    brand: 'Apple',
    model: 'iPhone 11 Pro'
  }, {
    brand: 'Apple',
    model: 'iPhone 11 Pro Max'
  }, {
    brand: 'Apple',
    model: 'iPhone X'
  }, {
    brand: 'Apple',
    model: 'iPhone XS'
  }, {
    brand: 'Apple',
    model: 'iPhone XS Max'
  }, {
    brand: 'Apple',
    model: 'iPhone XR'
  }, {
    brand: 'Asus',
    model: 'ZenFone 5'
  }, {
    brand: 'Asus',
    model: 'ZenFone 5z'
  }, {
    brand: 'google',
    model: 'Pixel 3 XL'
  }, {
    brand: 'google',
    model: 'Pixel 4a'
  }, {
    brand: 'Huawei',
    model: 'P20'
  }, {
    brand: 'Huawei',
    model: 'P20 Plus'
  }, {
    brand: 'Huawei',
    model: 'P20 Lite'
  }, {
    brand: 'Huawei',
    model: 'ANE-LX1'
  }, {
    brand: 'Huawei',
    model: 'INE-LX1'
  }, {
    brand: 'Huawei',
    model: 'POT-LX1'
  }, {
    brand: 'Huawei',
    model: 'Honor Play'
  }, {
    brand: 'Huawei',
    model: 'Honor 10'
  }, {
    brand: 'Huawei',
    model: 'Mate 20 Lite'
  }, {
    brand: 'Huawei',
    model: 'Mate 20 Pro'
  }, {
    brand: 'Huawei',
    model: 'ELE-L29'
  }, {
    brand: 'Huawei',
    model: 'P30 Lite'
  }, {
    brand: 'Huawei',
    model: 'P30 Pro'
  }, {
    brand: 'Huawei',
    model: 'JNY-LX1'
  }, {
    brand: 'Huawei',
    model: 'Nova 3'
  }, {
    brand: 'Huawei',
    model: 'Nova 3i'
  }, {
    brand: 'Leagoo',
    model: 'S9'
  }, {
    brand: 'LG',
    model: 'G7'
  }, {
    brand: 'LG',
    model: 'G7 ThinQ'
  }, {
    brand: 'LG',
    model: 'G7+ ThinQ'
  }, {
    brand: 'LG',
    model: 'LM-Q910'
  }, {
    brand: 'LG',
    model: 'LM-G710'
  }, {
    brand: 'LG',
    model: 'LM-V405'
  }, {
    brand: 'Motorola',
    model: 'Moto g7 Play'
  }, {
    brand: 'Motorola',
    model: 'Moto g7 Power'
  }, {
    brand: 'Motorola',
    model: 'One'
  }, {
    brand: 'Motorola',
    model: 'Motorola One Vision'
  }, {
    brand: 'Nokia',
    model: '5.1 Plus'
  }, {
    brand: 'Nokia',
    model: 'Nokia 6.1 Plus'
  }, {
    brand: 'Nokia',
    model: '7.1'
  }, {
    brand: 'Nokia',
    model: '8.1'
  }, {
    brand: 'OnePlus',
    model: '6'
  }, {
    brand: 'OnePlus',
    model: 'A6003'
  }, {
    brand: 'ONEPLUS',
    model: 'A6000'
  }, {
    brand: 'OnePlus',
    model: 'OnePlus A6003'
  }, {
    brand: 'OnePlus',
    model: 'ONEPLUS A6010'
  }, {
    brand: 'OnePlus',
    model: 'ONEPLUS A6013'
  }, {
    brand: 'OnePlus',
    model: 'ONEPLUS A6000'
  }, {
    brand: 'Oppo',
    model: 'R15'
  }, {
    brand: 'Oppo',
    model: 'R15 Pro'
  }, {
    brand: 'Oppo',
    model: 'F7'
  }, {
    brand: 'Oukitel',
    model: 'U18'
  }, {
    brand: 'Redmi',
    model: 'M2004J19C'
  }, {
    brand: 'Sharp',
    model: 'Aquos S3'
  }, {
    brand: 'Vivo',
    model: 'V9'
  }, {
    brand: 'Vivo',
    model: 'X21'
  }, {
    brand: 'Vivo',
    model: 'X21 UD'
  }, {
    brand: 'xiaomi',
    model: 'MI 8'
  }, {
    brand: 'xiaomi',
    model: 'MI 8 Explorer Edition'
  }, {
    brand: 'xiaomi',
    model: 'MI 8 SE'
  }, {
    brand: 'xiaomi',
    model: 'MI 8 UD'
  }, {
    brand: 'xiaomi',
    model: 'MI 8 Lite'
  }, {
    brand: 'xiaomi',
    model: 'Mi 9'
  }, {
    brand: 'xiaomi',
    model: 'POCO F1'
  }, {
    brand: 'xiaomi',
    model: 'POCOPHONE F1'
  }, {
    brand: 'xiaomi',
    model: 'Redmi 6 Pro'
  }, {
    brand: 'xiaomi',
    model: 'Redmi Note 7'
  }, {
    brand: 'xiaomi',
    model: 'Redmi 7'
  }, {
    brand: 'xiaomi',
    model: 'Redmi Note 8'
  }, {
    brand: 'xiaomi',
    model: 'Redmi Note 8 Pro'
  }, {
    brand: 'xiaomi',
    model: 'Mi A2 Lite'
  }, {
    brand: 'Blackview',
    model: 'A30'
  }, {
    brand: 'Samsung',
    model: 'SM-A217F'
  }, {
    brand: 'Samsung',
    model: 'SM-A715F'
  }];
  var _default = devicesWithNotch;
  exports.default = _default;
},533,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var RNDeviceInfo = _reactNative.NativeModules.RNDeviceInfo;

  if (_reactNative.Platform.OS === 'web' || _reactNative.Platform.OS === 'dom') {
    RNDeviceInfo = _$$_REQUIRE(_dependencyMap[1]);
  }

  if (!RNDeviceInfo) {
    if (_reactNative.Platform.OS === 'android' || _reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'web' || _reactNative.Platform.OS === 'dom') {
      throw new Error("react-native-device-info: NativeModule.RNDeviceInfo is null. To fix this issue try these steps:\n  \u2022 For react-native <= 0.59: Run `react-native link react-native-device-info` in the project root.\n  \u2022 Rebuild and re-run the app.\n  \u2022 If you are using CocoaPods on iOS, run `pod install` in the `ios` directory and then rebuild and re-run the app. You may also need to re-open Xcode to get the new pods.\n  If none of these fix the issue, please open an issue on the Github repository: https://github.com/react-native-device-info/react-native-device-info");
    }
  }

  var _default = RNDeviceInfo;
  exports.default = _default;
},534,[28,535]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getPowerStateSync = exports.getPowerState = exports.getTotalMemory = exports.getUsedMemory = exports.getMaxMemory = exports.getFreeDiskStorageSync = exports.getFreeDiskStorage = exports.getTotalDiskCapacitySync = exports.getTotalDiskCapacity = exports.getBaseOs = exports.isAirplaneMode = exports.isLocationEnabled = exports.getBatteryLevelSync = exports.getBatteryLevel = exports.isCameraPresentSync = exports.isCameraPresent = exports.isBatteryChargingSync = exports.isBatteryCharging = exports.getUserAgent = exports.getInstallReferrer = exports.getUsedMemorySync = exports.getTotalMemorySync = exports.isLocationEnabledSync = exports.getUserAgentSync = exports.isAirplaneModeSync = exports.getInstallReferrerSync = exports.getMaxMemorySync = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var deviceInfoEmitter = new _reactNative.NativeEventEmitter(_reactNative.NativeModules.RNDeviceInfo);
  var batteryCharging = false,
      batteryLevel = -1,
      powerState = {};

  var _readPowerState = function _readPowerState(battery) {
    var level = battery.level,
        charging = battery.charging,
        chargingtime = battery.chargingtime,
        dischargingtime = battery.dischargingtime;
    return {
      batteryLevel: level,
      lowPowerMode: false,
      batteryState: level === 1 ? 'full' : charging ? 'charging' : 'unplugged',
      chargingtime: chargingtime,
      dischargingtime: dischargingtime
    };
  };

  var getMaxMemorySync = function getMaxMemorySync() {
    if (window.performance && window.performance.memory) {
      return window.performance.memory.jsHeapSizeLimit;
    }

    return -1;
  };

  exports.getMaxMemorySync = getMaxMemorySync;

  var getInstallReferrerSync = function getInstallReferrerSync() {
    return document.referrer;
  };

  exports.getInstallReferrerSync = getInstallReferrerSync;

  var isAirplaneModeSync = function isAirplaneModeSync() {
    return !!navigator.onLine;
  };

  exports.isAirplaneModeSync = isAirplaneModeSync;

  var getUserAgentSync = function getUserAgentSync() {
    return window.navigator.userAgent;
  };

  exports.getUserAgentSync = getUserAgentSync;

  var isLocationEnabledSync = function isLocationEnabledSync() {
    return !!navigator.geolocation;
  };

  exports.isLocationEnabledSync = isLocationEnabledSync;

  var getTotalMemorySync = function getTotalMemorySync() {
    if (navigator.deviceMemory) {
      return navigator.deviceMemory * 1000000000;
    }

    return -1;
  };

  exports.getTotalMemorySync = getTotalMemorySync;

  var getUsedMemorySync = function getUsedMemorySync() {
    if (window.performance && window.performance.memory) {
      return window.performance.memory.usedJSHeapSize;
    }

    return -1;
  };

  exports.getUsedMemorySync = getUsedMemorySync;

  var init = function _callee() {
    var battery;
    return _regenerator.default.async(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            if (!(typeof navigator !== 'undefined' && navigator.getBattery)) {
              _context.next = 7;
              break;
            }

            _context.next = 3;
            return _regenerator.default.awrap(navigator.getBattery());

          case 3:
            battery = _context.sent;
            batteryCharging = battery.charging;
            battery.addEventListener('chargingchange', function () {
              var charging = battery.charging;
              batteryCharging = charging;
              powerState = _readPowerState(battery);
              deviceInfoEmitter.emit('RNDeviceInfo_powerStateDidChange', powerState);
            });
            battery.addEventListener('levelchange', function () {
              var level = battery.level;
              batteryLevel = level;
              powerState = _readPowerState(battery);
              deviceInfoEmitter.emit('RNDeviceInfo_batteryLevelDidChange', level);

              if (level < 0.2) {
                deviceInfoEmitter.emit('RNDeviceInfo_batteryLevelIsLow', level);
              }
            });

          case 7:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  };

  var getBaseOsSync = function getBaseOsSync() {
    var userAgent = window.navigator.userAgent,
        platform = window.navigator.platform,
        macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'],
        windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'],
        iosPlatforms = ['iPhone', 'iPad', 'iPod'];
    var os = platform;

    if (macosPlatforms.indexOf(platform) !== -1) {
      os = 'Mac OS';
    } else if (iosPlatforms.indexOf(platform) !== -1) {
      os = 'iOS';
    } else if (windowsPlatforms.indexOf(platform) !== -1) {
      os = 'Windows';
    } else if (/Android/.test(userAgent)) {
      os = 'Android';
    } else if (!os && /Linux/.test(platform)) {
      os = 'Linux';
    }

    return os;
  };

  init();

  var getInstallReferrer = function _callee2() {
    return _regenerator.default.async(function _callee2$(_context2) {
      while (1) {
        switch (_context2.prev = _context2.next) {
          case 0:
            return _context2.abrupt("return", getInstallReferrerSync());

          case 1:
          case "end":
            return _context2.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.getInstallReferrer = getInstallReferrer;

  var getUserAgent = function _callee3() {
    return _regenerator.default.async(function _callee3$(_context3) {
      while (1) {
        switch (_context3.prev = _context3.next) {
          case 0:
            return _context3.abrupt("return", getUserAgentSync());

          case 1:
          case "end":
            return _context3.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.getUserAgent = getUserAgent;

  var isBatteryCharging = function _callee4() {
    var battery;
    return _regenerator.default.async(function _callee4$(_context4) {
      while (1) {
        switch (_context4.prev = _context4.next) {
          case 0:
            if (!navigator.getBattery) {
              _context4.next = 5;
              break;
            }

            _context4.next = 3;
            return _regenerator.default.awrap(navigator.getBattery());

          case 3:
            battery = _context4.sent;
            return _context4.abrupt("return", battery.level);

          case 5:
            return _context4.abrupt("return", false);

          case 6:
          case "end":
            return _context4.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.isBatteryCharging = isBatteryCharging;

  var isBatteryChargingSync = function isBatteryChargingSync() {
    return batteryCharging;
  };

  exports.isBatteryChargingSync = isBatteryChargingSync;

  var isCameraPresent = function _callee5() {
    var devices;
    return _regenerator.default.async(function _callee5$(_context5) {
      while (1) {
        switch (_context5.prev = _context5.next) {
          case 0:
            if (!navigator.getBattery) {
              _context5.next = 5;
              break;
            }

            _context5.next = 3;
            return _regenerator.default.awrap(navigator.mediaDevices.enumerateDevices());

          case 3:
            devices = _context5.sent;
            return _context5.abrupt("return", !!devices.find(function (d) {
              return d.kind === 'videoinput';
            }));

          case 5:
            return _context5.abrupt("return", false);

          case 6:
          case "end":
            return _context5.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.isCameraPresent = isCameraPresent;

  var isCameraPresentSync = function isCameraPresentSync() {
    return false;
  };

  exports.isCameraPresentSync = isCameraPresentSync;

  var getBatteryLevel = function _callee6() {
    var battery;
    return _regenerator.default.async(function _callee6$(_context6) {
      while (1) {
        switch (_context6.prev = _context6.next) {
          case 0:
            if (!navigator.getBattery) {
              _context6.next = 5;
              break;
            }

            _context6.next = 3;
            return _regenerator.default.awrap(navigator.getBattery());

          case 3:
            battery = _context6.sent;
            return _context6.abrupt("return", battery.level);

          case 5:
            return _context6.abrupt("return", -1);

          case 6:
          case "end":
            return _context6.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.getBatteryLevel = getBatteryLevel;

  var getBatteryLevelSync = function getBatteryLevelSync() {
    return batteryLevel;
  };

  exports.getBatteryLevelSync = getBatteryLevelSync;

  var isLocationEnabled = function _callee7() {
    return _regenerator.default.async(function _callee7$(_context7) {
      while (1) {
        switch (_context7.prev = _context7.next) {
          case 0:
            return _context7.abrupt("return", isLocationEnabledSync());

          case 1:
          case "end":
            return _context7.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.isLocationEnabled = isLocationEnabled;

  var isAirplaneMode = function _callee8() {
    return _regenerator.default.async(function _callee8$(_context8) {
      while (1) {
        switch (_context8.prev = _context8.next) {
          case 0:
            return _context8.abrupt("return", isAirplaneModeSync());

          case 1:
          case "end":
            return _context8.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.isAirplaneMode = isAirplaneMode;

  var getBaseOs = function _callee9() {
    return _regenerator.default.async(function _callee9$(_context9) {
      while (1) {
        switch (_context9.prev = _context9.next) {
          case 0:
            return _context9.abrupt("return", getBaseOsSync());

          case 1:
          case "end":
            return _context9.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.getBaseOs = getBaseOs;

  var getTotalDiskCapacity = function _callee10() {
    var _await$navigator$stor, quota;

    return _regenerator.default.async(function _callee10$(_context10) {
      while (1) {
        switch (_context10.prev = _context10.next) {
          case 0:
            if (!(navigator.storage && navigator.storage.estimate)) {
              _context10.next = 6;
              break;
            }

            _context10.next = 3;
            return _regenerator.default.awrap(navigator.storage.estimate());

          case 3:
            _await$navigator$stor = _context10.sent;
            quota = _await$navigator$stor.quota;
            return _context10.abrupt("return", quota);

          case 6:
            return _context10.abrupt("return", -1);

          case 7:
          case "end":
            return _context10.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.getTotalDiskCapacity = getTotalDiskCapacity;

  var getTotalDiskCapacitySync = function getTotalDiskCapacitySync() {
    return -1;
  };

  exports.getTotalDiskCapacitySync = getTotalDiskCapacitySync;

  var getFreeDiskStorage = function _callee11() {
    var _await$navigator$stor2, quota, usage;

    return _regenerator.default.async(function _callee11$(_context11) {
      while (1) {
        switch (_context11.prev = _context11.next) {
          case 0:
            if (!(navigator.storage && navigator.storage.estimate)) {
              _context11.next = 7;
              break;
            }

            _context11.next = 3;
            return _regenerator.default.awrap(navigator.storage.estimate());

          case 3:
            _await$navigator$stor2 = _context11.sent;
            quota = _await$navigator$stor2.quota;
            usage = _await$navigator$stor2.usage;
            return _context11.abrupt("return", quota - usage);

          case 7:
            return _context11.abrupt("return", -1);

          case 8:
          case "end":
            return _context11.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.getFreeDiskStorage = getFreeDiskStorage;

  var getFreeDiskStorageSync = function getFreeDiskStorageSync() {
    return -1;
  };

  exports.getFreeDiskStorageSync = getFreeDiskStorageSync;

  var getMaxMemory = function _callee12() {
    return _regenerator.default.async(function _callee12$(_context12) {
      while (1) {
        switch (_context12.prev = _context12.next) {
          case 0:
            return _context12.abrupt("return", getMaxMemorySync());

          case 1:
          case "end":
            return _context12.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.getMaxMemory = getMaxMemory;

  var getUsedMemory = function _callee13() {
    return _regenerator.default.async(function _callee13$(_context13) {
      while (1) {
        switch (_context13.prev = _context13.next) {
          case 0:
            return _context13.abrupt("return", getUsedMemorySync());

          case 1:
          case "end":
            return _context13.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.getUsedMemory = getUsedMemory;

  var getTotalMemory = function _callee14() {
    return _regenerator.default.async(function _callee14$(_context14) {
      while (1) {
        switch (_context14.prev = _context14.next) {
          case 0:
            return _context14.abrupt("return", getTotalMemorySync());

          case 1:
          case "end":
            return _context14.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.getTotalMemory = getTotalMemory;

  var getPowerState = function _callee15() {
    var battery;
    return _regenerator.default.async(function _callee15$(_context15) {
      while (1) {
        switch (_context15.prev = _context15.next) {
          case 0:
            if (!navigator.getBattery) {
              _context15.next = 5;
              break;
            }

            _context15.next = 3;
            return _regenerator.default.awrap(navigator.getBattery());

          case 3:
            battery = _context15.sent;
            return _context15.abrupt("return", _readPowerState(battery));

          case 5:
            return _context15.abrupt("return", {});

          case 6:
          case "end":
            return _context15.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.getPowerState = getPowerState;

  var getPowerStateSync = function getPowerStateSync() {
    return powerState;
  };

  exports.getPowerStateSync = getPowerStateSync;
},535,[5,80,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.clearMemo = clearMemo;
  exports.getSupportedPlatformInfoSync = getSupportedPlatformInfoSync;
  exports.getSupportedPlatformInfoAsync = getSupportedPlatformInfoAsync;
  exports.getSupportedPlatformInfoFunctions = getSupportedPlatformInfoFunctions;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var memo = {};

  function clearMemo() {
    memo = {};
  }

  function getSupportedFunction(supportedPlatforms, getter, defaultGetter) {
    var supportedMap = {};
    supportedPlatforms.filter(function (key) {
      return _reactNative.Platform.OS == key;
    }).forEach(function (key) {
      return supportedMap[key] = getter;
    });
    return _reactNative.Platform.select((0, _extends2.default)({}, supportedMap, {
      default: defaultGetter
    }));
  }

  function getSupportedPlatformInfoSync(_ref) {
    var getter = _ref.getter,
        supportedPlatforms = _ref.supportedPlatforms,
        defaultValue = _ref.defaultValue,
        memoKey = _ref.memoKey;

    if (memoKey && memo[memoKey] != undefined) {
      return memo[memoKey];
    } else {
      var output = getSupportedFunction(supportedPlatforms, getter, function () {
        return defaultValue;
      })();

      if (memoKey) {
        memo[memoKey] = output;
      }

      return output;
    }
  }

  function getSupportedPlatformInfoAsync(_ref2) {
    var getter, supportedPlatforms, defaultValue, memoKey, output;
    return _regenerator.default.async(function getSupportedPlatformInfoAsync$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            getter = _ref2.getter, supportedPlatforms = _ref2.supportedPlatforms, defaultValue = _ref2.defaultValue, memoKey = _ref2.memoKey;

            if (!(memoKey && memo[memoKey] != undefined)) {
              _context.next = 5;
              break;
            }

            return _context.abrupt("return", memo[memoKey]);

          case 5:
            _context.next = 7;
            return _regenerator.default.awrap(getSupportedFunction(supportedPlatforms, getter, function () {
              return Promise.resolve(defaultValue);
            })());

          case 7:
            output = _context.sent;

            if (memoKey) {
              memo[memoKey] = output;
            }

            return _context.abrupt("return", output);

          case 10:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function getSupportedPlatformInfoFunctions(_ref3) {
    var syncGetter = _ref3.syncGetter,
        asyncParams = (0, _objectWithoutProperties2.default)(_ref3, ["syncGetter"]);
    return [function () {
      return getSupportedPlatformInfoAsync(asyncParams);
    }, function () {
      return getSupportedPlatformInfoSync((0, _extends2.default)({}, asyncParams, {
        getter: syncGetter
      }));
    }];
  }
},536,[5,80,108,6,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.useOnMount = useOnMount;
  exports.useOnEvent = useOnEvent;
  exports.deviceInfoEmitter = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[3]);

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  function useOnMount(asyncGetter, initialResult) {
    var _useState = (0, _react.useState)({
      loading: true,
      result: initialResult
    }),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        response = _useState2[0],
        setResponse = _useState2[1];

    (0, _react.useEffect)(function () {
      var getAsync = function _callee() {
        var result;
        return _regenerator.default.async(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return _regenerator.default.awrap(asyncGetter());

              case 2:
                result = _context.sent;
                setResponse({
                  loading: false,
                  result: result
                });

              case 4:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      };

      getAsync();
    }, [asyncGetter]);
    return response;
  }

  var deviceInfoEmitter = new _reactNative.NativeEventEmitter(_reactNative.NativeModules.RNDeviceInfo);
  exports.deviceInfoEmitter = deviceInfoEmitter;

  function useOnEvent(eventName, initialValueAsyncGetter, defaultValue) {
    var _useOnMount = useOnMount(initialValueAsyncGetter, defaultValue),
        loading = _useOnMount.loading,
        initialResult = _useOnMount.result;

    var _useState3 = (0, _react.useState)(defaultValue),
        _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
        result = _useState4[0],
        setResult = _useState4[1];

    (0, _react.useEffect)(function () {
      setResult(initialResult);
    }, [initialResult]);
    (0, _react.useEffect)(function () {
      var subscription = deviceInfoEmitter.addListener(eventName, setResult);
      return function () {
        return subscription.remove();
      };
    }, [eventName]);
    return {
      loading: loading,
      result: result
    };
  }
},537,[5,80,41,17,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var RNUUIDGenerator = _reactNative.NativeModules.RNUUIDGenerator;
  var _default = {
    getRandomUUID: function getRandomUUID(callback) {
      if (callback) {
        RNUUIDGenerator.getRandomUUID(callback);
      } else {
        return new Promise(function (resolve, reject) {
          RNUUIDGenerator.getRandomUUID(resolve);
        });
      }
    }
  };
  exports.default = _default;
},538,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "hideNavigationBar", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).hideNavigationBar;
    }
  });
  Object.defineProperty(exports, "showNavigationBar", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).showNavigationBar;
    }
  });
  exports.default = undefined;
  exports.default = _$$_REQUIRE(_dependencyMap[0]).changeNavigationBarColor;
},539,[540]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.showNavigationBar = exports.hideNavigationBar = exports.changeNavigationBarColor = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var NavigationBarColor = _reactNative.NativeModules.NavigationBarColor;

  var changeNavigationBarColor = function _callee() {
    var color,
        light,
        animated,
        LightNav,
        _args = arguments;
    return _regenerator.default.async(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            color = _args.length > 0 && _args[0] !== undefined ? _args[0] : String;
            light = _args.length > 1 && _args[1] !== undefined ? _args[1] : false;
            animated = _args.length > 2 && _args[2] !== undefined ? _args[2] : true;

            if (!(_reactNative.Platform.OS === "android")) {
              _context.next = 6;
              break;
            }

            LightNav = light ? true : false;
            return _context.abrupt("return", NavigationBarColor.changeNavigationBarColor(color, LightNav, animated));

          case 6:
            return _context.abrupt("return", Promise.reject(new Error("unsupported platform")));

          case 7:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.changeNavigationBarColor = changeNavigationBarColor;

  var hideNavigationBar = function _callee2() {
    return _regenerator.default.async(function _callee2$(_context2) {
      while (1) {
        switch (_context2.prev = _context2.next) {
          case 0:
            if (!(_reactNative.Platform.OS === "android")) {
              _context2.next = 2;
              break;
            }

            return _context2.abrupt("return", NavigationBarColor.hideNavigationBar());

          case 2:
            return _context2.abrupt("return", Promise.reject(new Error("unsupported platform")));

          case 3:
          case "end":
            return _context2.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.hideNavigationBar = hideNavigationBar;

  var showNavigationBar = function _callee3() {
    return _regenerator.default.async(function _callee3$(_context3) {
      while (1) {
        switch (_context3.prev = _context3.next) {
          case 0:
            if (!(_reactNative.Platform.OS === "android")) {
              _context3.next = 2;
              break;
            }

            return _context3.abrupt("return", NavigationBarColor.showNavigationBar());

          case 2:
            return _context3.abrupt("return", Promise.reject(new Error("unsupported platform")));

          case 3:
          case "end":
            return _context3.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.showNavigationBar = showNavigationBar;
},540,[5,80,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.subscribe = exports.zipEntryToBase64 = exports.unzipAssets = exports.zipFiles = exports.zip = exports.zipWithPassword = exports.unzipWithPassword = exports.isPasswordProtected = exports.unzip = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var DeviceEventEmitter = _reactNative.default.DeviceEventEmitter,
      NativeAppEventEmitter = _reactNative.default.NativeAppEventEmitter,
      Platform = _reactNative.default.Platform,
      NativeModules = _reactNative.default.NativeModules;
  var RNZipArchive = NativeModules.RNZipArchive;

  var unzip = function unzip(source, target) {
    var charset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "UTF-8";
    return RNZipArchive.unzip(source, target, charset);
  };

  exports.unzip = unzip;

  var isPasswordProtected = function isPasswordProtected(source) {
    return RNZipArchive.isPasswordProtected(source).then(function (isEncrypted) {
      return !!isEncrypted;
    });
  };

  exports.isPasswordProtected = isPasswordProtected;

  var unzipWithPassword = function unzipWithPassword(source, target, password) {
    return RNZipArchive.unzipWithPassword(source, target, password);
  };

  exports.unzipWithPassword = unzipWithPassword;

  var zipWithPassword = function zipWithPassword(source, target, password) {
    var encryptionMethod = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "";
    return RNZipArchive.zipWithPassword(source, target, password, encryptionMethod);
  };

  exports.zipWithPassword = zipWithPassword;

  var zip = function zip(source, target) {
    return RNZipArchive.zip(source, target);
  };

  exports.zip = zip;

  var zipFiles = function zipFiles(files, target) {
    var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
    return RNZipArchive.zipFiles(files, target, options);
  };

  exports.zipFiles = zipFiles;

  var unzipAssets = function unzipAssets(source, target) {
    if (!RNZipArchive.unzipAssets) {
      throw new Error("unzipAssets not supported on this platform");
    }

    return RNZipArchive.unzipAssets(source, target);
  };

  exports.unzipAssets = unzipAssets;

  var zipEntryToBase64 = function _callee(archiveName, fileName) {
    return _regenerator.default.async(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            return _context.abrupt("return", RNZipArchive.zipEntryToBase64({
              archiveName: archiveName,
              fileName: fileName
            }));

          case 1:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.zipEntryToBase64 = zipEntryToBase64;

  var subscribe = function subscribe(callback) {
    var emitter = NativeAppEventEmitter;
    return emitter.addListener("zipArchiveProgressEvent", callback);
  };

  exports.subscribe = subscribe;
},541,[5,80,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _log = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _fileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _platformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _stringUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var FontUtils = function () {
    function FontUtils() {
      (0, _classCallCheck2.default)(this, FontUtils);
    }

    (0, _createClass2.default)(FontUtils, null, [{
      key: "fontFormat",
      value: function fontFormat(fileName) {
        var format = "";
        var mime = "";
        var extension = fileName.split(".").pop();

        switch (extension) {
          case "otf":
            format = "woff";
            mime = "application/x-font-woff";
            break;

          case "ttf":
          default:
            format = "truetype";
            mime = "font/truetype";
            break;
        }

        return {
          format: format,
          mime: mime
        };
      }
    }, {
      key: "getDefaultFonts",
      value: function getDefaultFonts() {
        if (_platformUtils.default.isIOS()) {
          return FontUtils.defaultFonts.ios;
        }

        return FontUtils.defaultFonts.android;
      }
    }, {
      key: "fontMappingForApp",
      value: function fontMappingForApp() {
        var config,
            type,
            find,
            splittedConfig,
            font,
            fontWeb,
            fileName,
            findDefault,
            src,
            _FontUtils$fontFormat,
            format,
            mime,
            filePath,
            fontBase64,
            _args = arguments;

        return _regenerator.default.async(function fontMappingForApp$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                config = _args.length > 0 && _args[0] !== undefined ? _args[0] : "";
                type = _args.length > 1 && _args[1] !== undefined ? _args[1] : "regular";
                find = "";
                splittedConfig = null;

                if (typeof config === "string") {
                  splittedConfig = config.split(",");
                  find = splittedConfig.find(function (fontName) {
                    return ["DroidKufi-Regular", "DroidKufi-Bold", "Merriweather-Regular", "Merriweather-Light", "Merriweather-Bold", "OpenSans-Bold", "OpenSans-Light", "OpenSans-Regular"].includes(fontName);
                  });
                }

                font = "";
                fontWeb = find;
                fileName = "";
                _context.t0 = find;
                _context.next = _context.t0 === "DroidKufi-Regular" ? 11 : _context.t0 === "DroidKufi-Bold" ? 14 : _context.t0 === "Merriweather-Regular" ? 17 : _context.t0 === "Merriweather-Light" ? 20 : _context.t0 === "Merriweather-Bold" ? 23 : _context.t0 === "OpenSans-Bold" ? 26 : _context.t0 === "OpenSans-Light" ? 29 : _context.t0 === "OpenSans-Regular" ? 32 : 35;
                break;

              case 11:
                font = _reactNative.Platform.select({
                  android: "DroidKufi-Regular",
                  ios: "DroidArabicKufi"
                });
                fileName = "DroidKufi-Regular.ttf";
                return _context.abrupt("break", 38);

              case 14:
                font = _reactNative.Platform.select({
                  android: "DroidKufi-Bold",
                  ios: "DroidArabicKufi-Bold"
                });
                fileName = "DroidKufi-Bold.ttf";
                return _context.abrupt("break", 38);

              case 17:
                font = _reactNative.Platform.select({
                  android: "Merriweather-Regular",
                  ios: "Merriweather"
                });
                fileName = "Merriweather-Regular.otf";
                return _context.abrupt("break", 38);

              case 20:
                font = _reactNative.Platform.select({
                  android: "Merriweather-Light",
                  ios: "Merriweather"
                });
                fileName = "Merriweather-Light.otf";
                return _context.abrupt("break", 38);

              case 23:
                font = "Merriweather-Bold";
                fileName = "Merriweather-Bold.otf";
                return _context.abrupt("break", 38);

              case 26:
                font = "OpenSans-Bold";
                fileName = "OpenSans-Bold.ttf";
                return _context.abrupt("break", 38);

              case 29:
                font = _reactNative.Platform.select({
                  android: "OpenSans-Light",
                  ios: "OpenSans"
                });
                fileName = "OpenSans-Light.ttf";
                return _context.abrupt("break", 38);

              case 32:
                font = _reactNative.Platform.select({
                  android: "OpenSans-Regular",
                  ios: "OpenSans"
                });
                fileName = "OpenSans-Regular.ttf";
                return _context.abrupt("break", 38);

              case 35:
                findDefault = "";

                if (splittedConfig) {
                  findDefault = splittedConfig.find(function (fontName) {
                    return FontUtils.getDefaultFonts().includes(fontName);
                  });
                }

                if (findDefault) {
                  font = findDefault;
                  fontWeb = findDefault;
                } else {
                  if (type === "regular") {
                    font = "Nunito-Light";
                    fileName = "Nunito-Light.ttf";
                  } else if (type === "medium") {
                    font = "Nunito-Regular";
                    fileName = "Nunito-Regular.ttf";
                  } else {
                    font = "Nunito-Bold";
                    fileName = "Nunito-Bold.ttf";
                  }

                  fontWeb = "Nunito";
                }

              case 38:
                src = "";

                if (!fileName) {
                  _context.next = 56;
                  break;
                }

                if (!_platformUtils.default.isIOS()) {
                  _context.next = 55;
                  break;
                }

                _FontUtils$fontFormat = FontUtils.fontFormat(fileName), format = _FontUtils$fontFormat.format, mime = _FontUtils$fontFormat.mime;
                filePath = _fileUtils.default.assetPath(fileName);
                fontBase64 = "";
                _context.prev = 44;
                _context.next = 47;
                return _regenerator.default.awrap(_fileUtils.default.readFileBase64(filePath));

              case 47:
                fontBase64 = _context.sent;
                _context.next = 52;
                break;

              case 50:
                _context.prev = 50;
                _context.t1 = _context["catch"](44);

              case 52:
                src = "url(data:" + mime + ";charset=utf-8;base64," + fontBase64 + ") format('" + format + "')";
                _context.next = 56;
                break;

              case 55:
                src = "url('file:///android_asset/fonts/" + fileName + "')";

              case 56:
                return _context.abrupt("return", {
                  font: font,
                  fontWeb: fontWeb,
                  fileName: fileName,
                  src: src
                });

              case 57:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[44, 50]], Promise);
      }
    }, {
      key: "dynamicFontMappingForApp",
      value: function dynamicFontMappingForApp(_ref) {
        var name,
            fontName,
            family,
            weight,
            localPath,
            type,
            font,
            fontWeb,
            fileName,
            filePath,
            _FontUtils$fontFormat2,
            format,
            mime,
            fontBase64,
            src,
            _args2 = arguments;

        return _regenerator.default.async(function dynamicFontMappingForApp$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                name = _ref.name, fontName = _ref.fontName, family = _ref.family, weight = _ref.weight, localPath = _ref.localPath;
                type = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : "regular";
                font = "";
                fontWeb = "";
                fileName = "";
                filePath = "";

                if (fontName) {
                  font = fontName;
                  fontWeb = name;
                  fileName = _fileUtils.default.getFilename(localPath);
                  filePath = localPath;
                } else {
                  if (type === "regular") {
                    font = "Nunito-Light";
                    fileName = "Nunito-Light.ttf";
                  } else if (type === "medium") {
                    font = "Nunito-Regular";
                    fileName = "Nunito-Regular.ttf";
                  } else {
                    font = "Nunito-Bold";
                    fileName = "Nunito-Bold.ttf";
                  }

                  fontWeb = "Nunito";
                  filePath = _fileUtils.default.assetPath(fileName);
                }

                _FontUtils$fontFormat2 = FontUtils.fontFormat(fileName), format = _FontUtils$fontFormat2.format, mime = _FontUtils$fontFormat2.mime;
                fontBase64 = "";
                _context2.prev = 9;
                _context2.next = 12;
                return _regenerator.default.awrap(_fileUtils.default.readFileBase64(filePath));

              case 12:
                fontBase64 = _context2.sent;
                _context2.next = 17;
                break;

              case 15:
                _context2.prev = 15;
                _context2.t0 = _context2["catch"](9);

              case 17:
                if (_platformUtils.default.isIOS()) {
                  src = "url(data:" + mime + ";charset=utf-8;base64," + fontBase64 + ") format('" + format + "')";
                } else {
                  src = "url(\"file://" + localPath + "\");";
                }

                return _context2.abrupt("return", {
                  font: font,
                  fontWeb: fontWeb,
                  fileName: fileName,
                  src: src,
                  fontFamily: family,
                  fontWeight: weight
                });

              case 19:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, [[9, 15]], Promise);
      }
    }, {
      key: "getSystemFontScaleFactor",
      value: function getSystemFontScaleFactor(allowFontScaling, fontScale) {
        if (allowFontScaling) {
          return Math.min(Math.max(fontScale, FontUtils.fontMinScale), FontUtils.fontMaxScale);
        }

        return 1.0;
      }
    }, {
      key: "getDynamicFonts",
      value: function getDynamicFonts(fonts, fontsDirectory) {
        var dynamicFonts, i, _fonts$i, name, path, family, weight, fileName, localPath, response, downloadPath, fontName;

        return _regenerator.default.async(function getDynamicFonts$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                dynamicFonts = [];

                if (!fonts) {
                  _context3.next = 37;
                  break;
                }

                i = 0;

              case 3:
                if (!(i < fonts.length)) {
                  _context3.next = 37;
                  break;
                }

                _fonts$i = fonts[i], name = _fonts$i.name, path = _fonts$i.path, family = _fonts$i.family, weight = _fonts$i.weight;

                if (!(name && path)) {
                  _context3.next = 34;
                  break;
                }

                fileName = _stringUtils.default.fileNameFromPath(path);
                localPath = fontsDirectory + fileName;
                _context3.next = 10;
                return _regenerator.default.awrap(_fileUtils.default.exists(localPath));

              case 10:
                if (_context3.sent) {
                  _context3.next = 22;
                  break;
                }

                _context3.prev = 11;
                _context3.next = 14;
                return _regenerator.default.awrap(_fileUtils.default.fetch(path));

              case 14:
                response = _context3.sent;
                downloadPath = response.path();
                _context3.next = 18;
                return _regenerator.default.awrap(_fileUtils.default.moveFile(downloadPath, localPath));

              case 18:
                _context3.next = 22;
                break;

              case 20:
                _context3.prev = 20;
                _context3.t0 = _context3["catch"](11);

              case 22:
                _context3.next = 24;
                return _regenerator.default.awrap(_fileUtils.default.exists(localPath));

              case 24:
                if (!_context3.sent) {
                  _context3.next = 34;
                  break;
                }

                _context3.prev = 25;
                _context3.next = 28;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[10]).loadFontFromFile)(name, localPath));

              case 28:
                fontName = _context3.sent;
                dynamicFonts.push({
                  name: name,
                  fontName: fontName,
                  localPath: localPath,
                  family: family,
                  weight: weight
                });
                _context3.next = 34;
                break;

              case 32:
                _context3.prev = 32;
                _context3.t1 = _context3["catch"](25);

              case 34:
                i++;
                _context3.next = 3;
                break;

              case 37:
                return _context3.abrupt("return", dynamicFonts);

              case 38:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, [[11, 20], [25, 32]], Promise);
      }
    }, {
      key: "mergeFontsJSONs",
      value: function mergeFontsJSONs() {
        var jsonA = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var jsonB = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
        var aFontsRaw = jsonA.fonts,
            aRegular = jsonA.regular,
            aMedium = jsonA.medium,
            aBold = jsonA.bold;
        var bFontsRaw = jsonB.fonts,
            bRegular = jsonB.regular,
            bMedium = jsonB.medium,
            bBold = jsonB.bold;
        var mergeFonts = [];

        try {
          mergeFonts = JSON.parse(aFontsRaw || "[]");
        } catch (e) {}

        var bFonts = [];

        try {
          bFonts = JSON.parse(bFontsRaw || "[]");
        } catch (e) {}

        if (bFonts) {
          var _mergeFonts;

          mergeFonts = mergeFonts.filter(function () {
            var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
                aName = _ref2.name;

            return aName && !bFonts.find(function () {
              var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
                  bName = _ref3.name;

              return bName && bName === aName;
            });
          });

          (_mergeFonts = mergeFonts).push.apply(_mergeFonts, (0, _toConsumableArray2.default)(bFonts));
        }

        return {
          regular: bRegular || aRegular,
          medium: bMedium || aMedium,
          bold: bBold || aBold,
          fonts: JSON.stringify(mergeFonts)
        };
      }
    }]);
    return FontUtils;
  }();

  exports.default = FontUtils;
  FontUtils.fontMinScale = 0.7;
  FontUtils.fontMaxScale = 1.3;
  FontUtils.defaultFonts = {
    ios: ["San Francisco", "Academy Engraved LET", "AcademyEngravedLetPlain", "Al Nile", "AlNile-Bold", "American Typewriter", "AmericanTypewriter-Bold", "AmericanTypewriter-Condensed", "AmericanTypewriter-CondensedBold", "AmericanTypewriter-CondensedLight", "AmericanTypewriter-Light", "Apple Color Emoji", "Apple SD Gothic Neo", "AppleColorEmoji", "AppleSDGothicNeo-Bold", "AppleSDGothicNeo-Light", "AppleSDGothicNeo-Medium", "AppleSDGothicNeo-Regular", "AppleSDGothicNeo-SemiBold", "AppleSDGothicNeo-Thin", "AppleSDGothicNeo-UltraLight", "Arial", "Arial Hebrew", "Arial Rounded MT Bold", "Arial-BoldItalicMT", "Arial-BoldMT", "Arial-ItalicMT", "ArialHebrew", "ArialHebrew-Bold", "ArialHebrew-Light", "ArialMT", "ArialRoundedMTBold", "Avenir", "Avenir Next", "Avenir Next Condensed", "Avenir-Black", "Avenir-BlackOblique", "Avenir-Book", "Avenir-BookOblique", "Avenir-Heavy", "Avenir-HeavyOblique", "Avenir-Light", "Avenir-LightOblique", "Avenir-Medium", "Avenir-MediumOblique", "Avenir-Oblique", "Avenir-Roman", "AvenirNext-Bold", "AvenirNext-BoldItalic", "AvenirNext-DemiBold", "AvenirNext-DemiBoldItalic", "AvenirNext-Heavy", "AvenirNext-HeavyItalic", "AvenirNext-Italic", "AvenirNext-Medium", "AvenirNext-MediumItalic", "AvenirNext-Regular", "AvenirNext-UltraLight", "AvenirNext-UltraLightItalic", "AvenirNextCondensed-Bold", "AvenirNextCondensed-BoldItalic", "AvenirNextCondensed-DemiBold", "AvenirNextCondensed-DemiBoldItalic", "AvenirNextCondensed-Heavy", "AvenirNextCondensed-HeavyItalic", "AvenirNextCondensed-Italic", "AvenirNextCondensed-Medium", "AvenirNextCondensed-MediumItalic", "AvenirNextCondensed-Regular", "AvenirNextCondensed-UltraLight", "AvenirNextCondensed-UltraLightItalic", "Bangla Sangam MN", "Baskerville", "Baskerville-Bold", "Baskerville-BoldItalic", "Baskerville-Italic", "Baskerville-SemiBold", "Baskerville-SemiBoldItalic", "Bodoni 72", "Bodoni 72 Oldstyle", "Bodoni 72 Smallcaps", "Bodoni Ornaments", "BodoniOrnamentsITCTT", "BodoniSvtyTwoITCTT-Bold", "BodoniSvtyTwoITCTT-Book", "BodoniSvtyTwoITCTT-BookIta", "BodoniSvtyTwoOSITCTT-Bold", "BodoniSvtyTwoOSITCTT-Book", "BodoniSvtyTwoSCITCTT-Book", "Bradley Hand", "BradleyHandITCTT-Bold", "Chalkboard SE", "ChalkboardSE-Bold", "ChalkboardSE-Light", "ChalkboardSE-Regular", "Chalkduster", "Chalkduster", "Cochin", "Cochin-Bold", "Cochin-BoldItalic", "Cochin-Italic", "Copperplate", "Copperplate-Bold", "Copperplate-Light", "Courier", "Courier New", "Courier-Bold", "Courier-BoldOblique", "Courier-Oblique", "CourierNewPS-BoldItalicMT", "CourierNewPS-BoldMT", "CourierNewPS-ItalicMT", "CourierNewPSMT", "Damascus", "DamascusBold", "DamascusLight", "DamascusMedium", "DamascusSemiBold", "Devanagari Sangam MN", "DevanagariSangamMN", "DevanagariSangamMN-Bold", "Didot", "Didot-Bold", "Didot-Italic", "DiwanMishafi", "Euphemia UCAS", "EuphemiaUCAS-Bold", "EuphemiaUCAS-Italic", "Farah", "Futura", "Futura-CondensedExtraBold", "Futura-CondensedMedium", "Futura-Medium", "Futura-MediumItalic", "Geeza Pro", "GeezaPro-Bold", "Georgia", "Georgia-Bold", "Georgia-BoldItalic", "Georgia-Italic", "Gill Sans", "GillSans-Bold", "GillSans-BoldItalic", "GillSans-Italic", "GillSans-Light", "GillSans-LightItalic", "GillSans-SemiBold", "GillSans-SemiBoldItalic", "GillSans-UltraBold", "Gujarati Sangam MN", "GujaratiSangamMN", "GujaratiSangamMN-Bold", "Gurmukhi MN", "GurmukhiMN-Bold", "Heiti SC", "Heiti TC", "Helvetica", "Helvetica Neue", "Helvetica-Bold", "Helvetica-BoldOblique", "Helvetica-Light", "Helvetica-LightOblique", "Helvetica-Oblique", "HelveticaNeue-Bold", "HelveticaNeue-BoldItalic", "HelveticaNeue-CondensedBlack", "HelveticaNeue-CondensedBold", "HelveticaNeue-Italic", "HelveticaNeue-Light", "HelveticaNeue-LightItalic", "HelveticaNeue-Medium", "HelveticaNeue-MediumItalic", "HelveticaNeue-Thin", "HelveticaNeue-ThinItalic", "HelveticaNeue-UltraLight", "HelveticaNeue-UltraLightItalic", "Hiragino Mincho ProN", "Hiragino Sans", "HiraginoSans-W3", "HiraginoSans-W6", "HiraMinProN-W3", "HiraMinProN-W6", "Hoefler Text", "HoeflerText-Black", "HoeflerText-BlackItalic", "HoeflerText-Italic", "HoeflerText-Regular", "Iowan Old Style", "IowanOldStyle-Bold", "IowanOldStyle-BoldItalic", "IowanOldStyle-Italic", "IowanOldStyle-Roman", "Kailasa", "Kailasa-Bold", "Kannada Sangam MN", "KannadaSangamMN", "KannadaSangamMN-Bold", "Khmer Sangam MN", "Kohinoor Bangla", "Kohinoor Devanagari", "Kohinoor Telugu", "KohinoorBangla-Light", "KohinoorBangla-Regular", "KohinoorBangla-Semibold", "KohinoorDevanagari-Light", "KohinoorDevanagari-Regular", "KohinoorDevanagari-Semibold", "KohinoorTelugu-Light", "KohinoorTelugu-Medium", "KohinoorTelugu-Regular", "Lao Sangam MN", "Malayalam Sangam MN", "MalayalamSangamMN", "MalayalamSangamMN-Bold", "Marker Felt", "MarkerFelt-Thin", "MarkerFelt-Wide", "Menlo", "Menlo-Bold", "Menlo-BoldItalic", "Menlo-Italic", "Menlo-Regular", "Mishafi", "Noteworthy", "Noteworthy-Bold", "Noteworthy-Light", "Optima", "Optima-Bold", "Optima-BoldItalic", "Optima-ExtraBlack", "Optima-Italic", "Optima-Regular", "Oriya Sangam MN", "OriyaSangamMN", "OriyaSangamMN-Bold", "Palatino", "Palatino-Bold", "Palatino-BoldItalic", "Palatino-Italic", "Palatino-Roman", "Papyrus", "Papyrus-Condensed", "Party LET", "PartyLetPlain", "PingFang HK", "PingFang SC", "PingFang TC", "PingFangHK-Light", "PingFangHK-Medium", "PingFangHK-Regular", "PingFangHK-Semibold", "PingFangHK-Thin", "PingFangHK-Ultralight", "PingFangSC-Light", "PingFangSC-Medium", "PingFangSC-Regular", "PingFangSC-Semibold", "PingFangSC-Thin", "PingFangSC-Ultralight", "PingFangTC-Light", "PingFangTC-Medium", "PingFangTC-Regular", "PingFangTC-Semibold", "PingFangTC-Thin", "PingFangTC-Ultralight", "Savoye LET", "SavoyeLetPlain", "Sinhala Sangam MN", "SinhalaSangamMN", "SinhalaSangamMN-Bold", "Snell Roundhand", "SnellRoundhand-Black", "SnellRoundhand-Bold", "Symbol", "Tamil Sangam MN", "TamilSangamMN-Bold", "Telugu Sangam MN", "Thonburi", "Thonburi-Bold", "Thonburi-Light", "Times New Roman", "TimesNewRomanPS-BoldItalicMT", "TimesNewRomanPS-BoldMT", "TimesNewRomanPS-ItalicMT", "TimesNewRomanPSMT", "Trebuchet MS", "Trebuchet-BoldItalic", "TrebuchetMS-Bold", "TrebuchetMS-Italic", "Verdana", "Verdana-Bold", "Verdana-BoldItalic", "Verdana-Italic", "Zapf Dingbats", "ZapfDingbatsITC", "Zapfino"],
    android: ["normal", "notoserif", "sans-serif", "sans-serif-light", "sans-serif-thin", "sans-serif-condensed", "sans-serif-medium", "serif", "Roboto", "monospace"]
  };
},542,[5,80,21,7,8,28,543,483,531,514,544]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.LOG_BASE_PATH = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _fileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _dateUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _platformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var LOG_BASE_PATH = _fileUtils.default.cacheDirectory + "/logs";
  exports.LOG_BASE_PATH = LOG_BASE_PATH;

  var Logger = function () {
    function Logger() {
      (0, _classCallCheck2.default)(this, Logger);
    }

    (0, _createClass2.default)(Logger, null, [{
      key: "initFileName",
      value: function initFileName(deviceModel) {
        var date = new Date();
        var year = date.getUTCFullYear();
        var month = ("0" + (date.getUTCMonth() + 1)).slice(-2);
        var day = ("0" + date.getUTCDate()).slice(-2);
        var hours = ("0" + date.getUTCHours()).slice(-2);
        var minutes = ("0" + date.getUTCMinutes()).slice(-2);
        var seconds = ("0" + date.getUTCSeconds()).slice(-2);
        var mills = ("00" + date.getUTCMilliseconds()).slice(-3);
        var deviceName = deviceModel.replace(/ /g, "_").replace(/\./g, "_");
        Logger.logSessionFileName = "rn_" + year + month + day + "_" + hours + minutes + seconds + "_" + mills + "_" + deviceName + ".txt";
      }
    }, {
      key: "areLogsStored",
      value: function areLogsStored() {
        return _regenerator.default.async(function areLogsStored$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", new Promise(function (resolve) {
                  var intervalId = setInterval(function () {
                    if (!Logger.insertQueue || !Logger.insertQueue.length) {
                      clearInterval(intervalId);
                      intervalId = undefined;
                      resolve();
                    } else {}
                  }, 1000);
                }));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "deleteLogFile",
      value: function deleteLogFile() {
        return _regenerator.default.async(function deleteLogFile$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                Logger.initializedLogSession = false;
                _context2.prev = 1;
                _context2.next = 4;
                return _regenerator.default.awrap(_fileUtils.default.unlink(LOG_BASE_PATH));

              case 4:
                _context2.next = 8;
                break;

              case 6:
                _context2.prev = 6;
                _context2.t0 = _context2["catch"](1);

              case 8:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, [[1, 6]], Promise);
      }
    }, {
      key: "createLogsFolderIfNotExist",
      value: function createLogsFolderIfNotExist() {
        return _regenerator.default.async(function createLogsFolderIfNotExist$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _context3.prev = 0;
                _context3.next = 3;
                return _regenerator.default.awrap(_fileUtils.default.mkdir(LOG_BASE_PATH));

              case 3:
                _context3.next = 7;
                break;

              case 5:
                _context3.prev = 5;
                _context3.t0 = _context3["catch"](0);

              case 7:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, [[0, 5]], Promise);
      }
    }, {
      key: "createNewSessionLog",
      value: function createNewSessionLog() {
        var deviceModel;
        return _regenerator.default.async(function createNewSessionLog$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                _context4.prev = 0;

                if (_platformUtils.default.model()) {
                  deviceModel = "" + _platformUtils.default.model().replace(/ /g, "_");
                }

                if (Logger.initializedLogSession) {
                  _context4.next = 8;
                  break;
                }

                _context4.next = 5;
                return _regenerator.default.awrap(Logger.deleteLogFile());

              case 5:
                _context4.next = 7;
                return _regenerator.default.awrap(Logger.createLogsFolderIfNotExist());

              case 7:
                Logger.initFileName(deviceModel);

              case 8:
                Logger.initializedLogSession = true;
                _context4.next = 14;
                break;

              case 11:
                _context4.prev = 11;
                _context4.t0 = _context4["catch"](0);
                Logger.initializedLogSession = false;

              case 14:
                return _context4.abrupt("return", Logger.initializedLogSession);

              case 15:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, [[0, 11]], Promise);
      }
    }, {
      key: "appendLogToFile",
      value: function appendLogToFile(message) {
        return _regenerator.default.async(function appendLogToFile$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                _context5.prev = 0;
                _context5.next = 3;
                return _regenerator.default.awrap(Logger.createNewSessionLog());

              case 3:
                if (!_context5.sent) {
                  _context5.next = 7;
                  break;
                }

                if (Logger.insertTimeoutId) {
                  clearTimeout(Logger.insertTimeoutId);
                  Logger.insertTimeoutId = undefined;
                }

                Logger.insertQueue.push(message);
                Logger.insertTimeoutId = setTimeout(function () {
                  _fileUtils.default.appendFile(LOG_BASE_PATH + "/" + Logger.logSessionFileName, Logger.insertQueue.join("\n"));

                  Logger.insertTimeoutId = undefined;
                  Logger.insertQueue = [];
                }, Logger.BULK_TIMEOUT);

              case 7:
                _context5.next = 11;
                break;

              case 9:
                _context5.prev = 9;
                _context5.t0 = _context5["catch"](0);

              case 11:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, [[0, 9]], Promise);
      }
    }, {
      key: "log",
      value: function log(type, message) {
        switch (type) {
          case "D":
            break;

          case "W":
            console.warn(message);
            break;

          case "E":
            console.error(message);
            break;
        }

        Logger.appendLogToFile(_dateUtils.default.logTimestamp() + " " + message);
      }
    }, {
      key: "argsToMessage",
      value: function argsToMessage() {
        var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        return args.reduce(function (result, arg) {
          if (typeof arg === "string" || typeof arg === "number") {
            return result + " " + arg;
          }

          try {
            return result + " " + JSON.stringify(arg);
          } catch (e) {
            return result;
          }
        }, "");
      }
    }, {
      key: "debug",
      value: function debug() {
        if (Logger.enableLog) {
          for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
            args[_key] = arguments[_key];
          }

          if (Logger.enableLogCaller) {
            args.push(new Error().stack);
          }

          Logger.log("D", Logger.argsToMessage(args));
        }
      }
    }, {
      key: "warn",
      value: function warn() {
        if (Logger.enableLog) {
          for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
            args[_key2] = arguments[_key2];
          }

          if (Logger.enableLogCaller) {
            args.push(new Error().stack);
          }

          Logger.log("W", Logger.argsToMessage(args));
        }
      }
    }, {
      key: "error",
      value: function error() {
        if (Logger.enableLog) {
          for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
            args[_key3] = arguments[_key3];
          }

          Logger.log("E", Logger.argsToMessage(args));
        }
      }
    }]);
    return Logger;
  }();

  exports.default = Logger;
  Logger.enableLog = false;
  Logger.enableLogCaller = false;
  Logger.initializedLogSession = false;
  Logger.BULK_TIMEOUT = 5000;
  Logger.insertQueue = [];
},543,[5,80,7,8,483,466,531]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _require = _$$_REQUIRE(_dependencyMap[0]),
      NativeModules = _require.NativeModules;

  var DynamicFonts = NativeModules.DynamicFonts;
  var loadedFonts = {};

  function loadFont(name, data, type, forceLoad) {
    if (!forceLoad && loadedFonts[name]) return Promise.resolve(loadedFonts[name]);
    if (!name) throw new Error('Name is a required argument');
    if (!data) throw new Error('Data is a required argument');
    return new Promise(function (resolve, reject) {
      DynamicFonts.loadFont({
        name: name,
        data: data,
        type: type
      }, function (err, givenName) {
        if (err) {
          reject(err);
          return;
        }

        loadedFonts[name] = givenName;
        resolve(givenName);
      });
    });
  }

  function loadFontFromFile(name, filePath) {
    if (!name) throw new Error('name is a required argument');
    if (!filePath) throw new Error('filePath is a required argument');
    return new Promise(function (resolve, reject) {
      DynamicFonts.loadFontFromFile({
        name: name,
        filePath: filePath
      }, function (err, givenName) {
        if (err) {
          reject(err);
          return;
        }

        resolve(givenName);
      });
    });
  }

  function loadFonts(_fontList, forceLoad) {
    var fontList = _fontList;
    if (!fontList) return Promise.resolve([]);
    if (!(fontList instanceof Array)) fontList = [fontList];
    return Promise.all(fontList.filter(function (font) {
      return font;
    }).map(function (font) {
      return loadFont(font.name, font.data, font.type, forceLoad);
    }));
  }

  module.exports = {
    loadFont: loadFont,
    loadFonts: loadFonts,
    loadFontFromFile: loadFontFromFile
  };
},544,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNativeGeolocation = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _log = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var Location = function () {
    function Location() {
      (0, _classCallCheck2.default)(this, Location);
    }

    (0, _createClass2.default)(Location, null, [{
      key: "init",
      value: function init() {
        _reactNativeGeolocation.default.setRNConfiguration({
          skipPermissionRequests: false
        });
      }
    }]);
    return Location;
  }();

  var LocationMgr = function LocationMgr() {
    var _this = this;

    (0, _classCallCheck2.default)(this, LocationMgr);

    this.currentPosition = function _callee() {
      return _regenerator.default.async(function _callee$(_context) {
        while (1) {
          switch (_context.prev = _context.next) {
            case 0:
              return _context.abrupt("return", new Promise(function (resolve, reject) {
                _reactNativeGeolocation.default.getCurrentPosition(function (location) {
                  resolve(location);
                }, function (error) {
                  reject(error);
                }, {
                  timeout: 0,
                  enableHighAccuracy: false,
                  maximumAge: 1800000
                });
              }));

            case 1:
            case "end":
              return _context.stop();
          }
        }
      }, null, null, null, Promise);
    };

    this.watchPosition = function (onLocationChange) {
      var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
        useSignificantChanges: true
      };
      _this.watcherId = _reactNativeGeolocation.default.getCurrentPosition(function (location) {
        if (onLocationChange) {
          onLocationChange(location);
        }
      }, function (error) {}, config);
    };

    this.isWatching = function () {
      return _this.watcherId !== -1;
    };

    this.unWatch = function () {
      _reactNativeGeolocation.default.clearWatch(_this.watcherId);
    };

    this.stopAll = function () {
      _reactNativeGeolocation.default.stopObserving();
    };

    this.watcherId = -1;
    Location.init();
  };

  exports.default = LocationMgr;
},545,[5,80,7,8,546,543]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _implementation = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  module.exports = _implementation.default;
},546,[5,547]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var subscriptions = [];
  var updatesEnabled = false;
  var Geolocation = {
    setRNConfiguration: function setRNConfiguration(config) {
      if (_$$_REQUIRE(_dependencyMap[2]).RNCGeolocation.setConfiguration) {
        _$$_REQUIRE(_dependencyMap[2]).RNCGeolocation.setConfiguration(config);
      }
    },
    requestAuthorization: function requestAuthorization() {
      _$$_REQUIRE(_dependencyMap[2]).RNCGeolocation.requestAuthorization();
    },
    getCurrentPosition: function getCurrentPosition(geoSuccess, geoError, geoOptions) {
      return function _callee() {
        return _regenerator.default.async(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!(typeof geoSuccess !== "function")) {
                  _context.next = 2;
                  break;
                }

                throw new Error("Must provide a valid geo_success callback.");

              case 2:
                _$$_REQUIRE(_dependencyMap[2]).RNCGeolocation.getCurrentPosition(geoOptions || {}, geoSuccess, geoError || _$$_REQUIRE(_dependencyMap[3]).logError);

              case 3:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }();
    },
    watchPosition: function watchPosition(success, error, options) {
      if (!updatesEnabled) {
        _$$_REQUIRE(_dependencyMap[2]).RNCGeolocation.startObserving(options || {});

        updatesEnabled = true;
      }

      var watchID = subscriptions.length;
      subscriptions.push([_$$_REQUIRE(_dependencyMap[2]).GeolocationEventEmitter.addListener("geolocationDidChange", success), error ? _$$_REQUIRE(_dependencyMap[2]).GeolocationEventEmitter.addListener("geolocationError", error) : null]);
      return watchID;
    },
    clearWatch: function clearWatch(watchID) {
      var sub = subscriptions[watchID];

      if (!sub) {
        return;
      }

      sub[0].remove();
      var sub1 = sub[1];

      if (sub1) {
        sub1.remove();
      }

      subscriptions[watchID] = undefined;
      var noWatchers = true;

      for (var ii = 0; ii < subscriptions.length; ii++) {
        if (subscriptions[ii]) {
          noWatchers = false;
        }
      }

      if (noWatchers) {
        Geolocation.stopObserving();
      }
    },
    stopObserving: function stopObserving() {
      if (updatesEnabled) {
        _$$_REQUIRE(_dependencyMap[2]).RNCGeolocation.stopObserving();

        updatesEnabled = false;

        for (var ii = 0; ii < subscriptions.length; ii++) {
          var sub = subscriptions[ii];

          if (sub) {
            (0, _$$_REQUIRE(_dependencyMap[3]).warning)(false, "Called stopObserving with existing subscriptions.");
            sub[0].remove();
            var sub1 = sub[1];

            if (sub1) {
              sub1.remove();
            }
          }
        }

        subscriptions = [];
      }
    }
  };
  module.exports = Geolocation;
},547,[5,80,548,549]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var RNCGeolocation = _reactNative.NativeModules.RNCGeolocation;

  if (!RNCGeolocation) {
    throw new Error("@react-native-community/geolocation: NativeModule.RNCGeolocation is null. To fix this issue try these steps:\n\u2022 Run `react-native link @react-native-community/geolocation` in the project root.\n\u2022 Rebuild and re-run the app.\n\u2022 If you are using CocoaPods on iOS, run `pod install` in the `ios` directory and then rebuild and re-run the app. You may also need to re-open Xcode to get the new pods.\nIf none of these fix the issue, please open an issue on the Github repository: https://github.com/react-native-community/react-native-geolocation");
  }

  var nativeEventEmitter = null;
  module.exports = {
    RNCGeolocation: RNCGeolocation,

    get GeolocationEventEmitter() {
      if (!nativeEventEmitter) {
        nativeEventEmitter = new _reactNative.NativeEventEmitter(RNCGeolocation);
      }

      return nativeEventEmitter;
    }

  };
},548,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var logError = function logError() {
    if (arguments.length === 1 && (arguments.length <= 0 ? undefined : arguments[0]) instanceof Error) {
      var err = arguments.length <= 0 ? undefined : arguments[0];
      console.error("Error: \"" + err.message + "\".  Stack:\n" + err.stack);
    } else {
      var _console;

      (_console = console).error.apply(_console, arguments);
    }
  };

  var warning = function () {};

  module.exports = {
    logError: logError,
    warning: warning
  };
},549,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _jsUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var LongTimer = function () {
    function LongTimer(mills, onFinish) {
      (0, _classCallCheck2.default)(this, LongTimer);
      this._id = _jsUtils.default.generateId();
      this._mills = mills;
      this._onFinish = onFinish;
      this._running = false;
      this._currentTimerId = undefined;
      this._currentPromiseResolve = undefined;
    }

    (0, _createClass2.default)(LongTimer, [{
      key: "start",
      value: function start() {
        this._log("start");

        if (this._running) {
          this.stop();
        }

        this._execution();

        return this;
      }
    }, {
      key: "stop",
      value: function stop() {
        this._log("stop");

        this._running = false;

        this._resetTimer();
      }
    }, {
      key: "_execution",
      value: function _execution() {
        var times, rest, i;
        return _regenerator.default.async(function _execution$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.prev = 0;
                this._running = true;
                times = this._mills / LongTimer._THRESHOLD;
                rest = this._mills % LongTimer._THRESHOLD;

                this._log("execution " + this._mills + ", iteration " + times + ", rest " + rest);

                i = 0;

              case 6:
                if (!(i < times && this._running)) {
                  _context.next = 12;
                  break;
                }

                _context.next = 9;
                return _regenerator.default.awrap(this._runTimeout(LongTimer._THRESHOLD, i));

              case 9:
                i++;
                _context.next = 6;
                break;

              case 12:
                if (!(rest && this._running)) {
                  _context.next = 15;
                  break;
                }

                _context.next = 15;
                return _regenerator.default.awrap(this._runTimeout(rest, i));

              case 15:
                if (this._running && typeof this._onFinish === "function") {
                  this._onFinish();
                }

                this._log("finish");

                _context.next = 22;
                break;

              case 19:
                _context.prev = 19;
                _context.t0 = _context["catch"](0);

                this._log(_context.t0.message);

              case 22:
                this._running = false;

              case 23:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[0, 19]], Promise);
      }
    }, {
      key: "_runTimeout",
      value: function _runTimeout(duration, tick) {
        var _this = this;

        return _regenerator.default.async(function _runTimeout$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", new Promise(function (resolve) {
                  _this._log("step " + tick + " start");

                  _this._resetTimer();

                  _this._currentPromiseResolve = resolve;
                  _this._currentTimerId = setTimeout(function () {
                    _this._log("step " + tick + " complete");

                    _this._currentPromiseResolve();

                    _this._currentTimerId = undefined;
                    _this._currentPromiseResolve = undefined;
                  }, duration);
                }));

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "_resetTimer",
      value: function _resetTimer() {
        if (typeof this._currentPromiseResolve === "function") {
          this._currentPromiseResolve();

          this._currentPromiseResolve = undefined;
        }

        if (this._currentTimerId) {
          this._log("reset " + this._currentTimerId);

          clearTimeout(this._currentTimerId);
          this._currentTimerId = undefined;
        }
      }
    }, {
      key: "_log",
      value: function _log(message) {}
    }]);
    return LongTimer;
  }();

  exports.default = LongTimer;
  LongTimer._THRESHOLD = 60000;
},550,[5,80,7,8,520]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.HTTPS_DOMAIN_SEPARATOR = exports.HTTP_DOMAIN_SEPARATOR = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _netinfo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var HTTP_DOMAIN_SEPARATOR = ".";
  exports.HTTP_DOMAIN_SEPARATOR = HTTP_DOMAIN_SEPARATOR;
  var HTTPS_DOMAIN_SEPARATOR = "-";
  exports.HTTPS_DOMAIN_SEPARATOR = HTTPS_DOMAIN_SEPARATOR;

  var NetworkUtils = function () {
    function NetworkUtils() {
      (0, _classCallCheck2.default)(this, NetworkUtils);
    }

    (0, _createClass2.default)(NetworkUtils, null, [{
      key: "addDefaultProtocol",
      value: function addDefaultProtocol(url) {
        var newUrl = url;
        var result = NetworkUtils.DEFAULT_PROTOCOLS.find(function (protocol) {
          return url.toLowerCase().startsWith(protocol);
        });

        if (!result) {
          var protocol = NetworkUtils.isHTTPS ? "https" : "http";
          newUrl = protocol + ":";

          if (!url.startsWith("//")) {
            newUrl += "//";
          }

          newUrl += url;
        }

        return newUrl;
      }
    }, {
      key: "addConnectionChangeEventListener",
      value: function addConnectionChangeEventListener(callback) {
        if (callback) {
          NetworkUtils.eventListener = _netinfo.default.addEventListener(function (state) {
            NetworkUtils.connectionInfo = NetworkUtils.returnConnectionInfo(state);
            callback(NetworkUtils.connectionInfo);
          });
        }
      }
    }, {
      key: "removeConnectionChangeEventListener",
      value: function removeConnectionChangeEventListener() {
        if (NetworkUtils.eventListener) {
          NetworkUtils.eventListener();
        }
      }
    }, {
      key: "returnConnectionInfo",
      value: function returnConnectionInfo(state) {
        var type = state.type,
            details = state.details,
            isInternetReachable = state.isInternetReachable;
        var effectiveType = "unknown";

        if (details && details.cellularGeneration) {
          effectiveType = details.cellularGeneration;
        }

        return {
          type: type,
          effectiveType: effectiveType,
          isInternetReachable: isInternetReachable
        };
      }
    }, {
      key: "getConnectionInfo",
      value: function getConnectionInfo() {
        var state;
        return _regenerator.default.async(function getConnectionInfo$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.prev = 0;
                _context.next = 3;
                return _regenerator.default.awrap(_netinfo.default.fetch());

              case 3:
                state = _context.sent;
                NetworkUtils.connectionInfo = NetworkUtils.returnConnectionInfo(state);
                return _context.abrupt("return", NetworkUtils.connectionInfo);

              case 8:
                _context.prev = 8;
                _context.t0 = _context["catch"](0);

              case 10:
                return _context.abrupt("return", {
                  type: "unknown",
                  effectiveType: "unknown",
                  isInternetReachable: null
                });

              case 11:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[0, 8]], Promise);
      }
    }, {
      key: "isOnline",
      value: function isOnline() {
        if (NetworkUtils.connectionInfo) {
          var _NetworkUtils$connect = NetworkUtils.connectionInfo,
              type = _NetworkUtils$connect.type,
              isInternetReachable = _NetworkUtils$connect.isInternetReachable;
          return type !== "none" && type !== "unknown" && isInternetReachable !== false;
        }

        return false;
      }
    }, {
      key: "isInternetReachable",
      value: function isInternetReachable() {
        if (NetworkUtils.connectionInfo) {
          return NetworkUtils.connectionInfo.isInternetReachable !== false;
        }

        return false;
      }
    }, {
      key: "isWiFi",
      value: function isWiFi() {
        if (NetworkUtils.connectionInfo) {
          return NetworkUtils.connectionInfo.type === "wifi";
        }

        return false;
      }
    }, {
      key: "isCellular",
      value: function isCellular() {
        if (NetworkUtils.connectionInfo) {
          return NetworkUtils.connectionInfo.type === "cellular";
        }

        return false;
      }
    }, {
      key: "isHighSpeedNetwork",
      value: function isHighSpeedNetwork() {
        return NetworkUtils.isWiFi() || NetworkUtils.is4G();
      }
    }, {
      key: "is2G",
      value: function is2G() {
        return NetworkUtils.isCellularOnBand("2g");
      }
    }, {
      key: "is3G",
      value: function is3G() {
        return NetworkUtils.isCellularOnBand("3g");
      }
    }, {
      key: "is4G",
      value: function is4G() {
        return NetworkUtils.isCellularOnBand("4g");
      }
    }, {
      key: "isCellularOnBand",
      value: function isCellularOnBand(band) {
        if (NetworkUtils.connectionInfo) {
          return NetworkUtils.connectionInfo.type === "cellular" && NetworkUtils.connectionInfo.effectiveType === band;
        }

        return false;
      }
    }, {
      key: "getIP",
      value: function getIP() {
        return NetworkUtils.IP;
      }
    }, {
      key: "setIP",
      value: function setIP(ip) {
        NetworkUtils.IP = ip;
      }
    }, {
      key: "isTecnaviaIP",
      value: function isTecnaviaIP() {
        return NetworkUtils.IP.startsWith("82.220.5") || NetworkUtils.IP.startsWith("50.77.50.2") || NetworkUtils.IP === "18.159.47.195" || NetworkUtils.IP === "159.203.159.221";
      }
    }]);
    return NetworkUtils;
  }();

  exports.default = NetworkUtils;
  NetworkUtils.DEFAULT_PROTOCOLS = ["http", "https"];
  NetworkUtils.isHTTPS = true;
  NetworkUtils.connectionInfo = {
    type: "unknown",
    effectiveType: "unknown"
  };
  NetworkUtils.IP = "n/a";
},551,[5,80,7,8,552]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  var _exportNames = {
    configure: true,
    fetch: true,
    addEventListener: true,
    useNetInfo: true
  };
  exports.configure = configure;
  exports.fetch = fetch;
  exports.addEventListener = addEventListener;
  exports.useNetInfo = useNetInfo;
  exports.default = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[3]);

  var _defaultConfiguration = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _state2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var Types = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  Object.keys(Types).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
    if (key in exports && exports[key] === Types[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return Types[key];
      }
    });
  });

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _configuration = _defaultConfiguration.default;
  var _state = null;

  var createState = function createState() {
    return new _state2.default(_configuration);
  };

  function configure(configuration) {
    _configuration = (0, _extends2.default)({}, _defaultConfiguration.default, configuration);

    if (_state) {
      _state.tearDown();

      _state = createState();
    }
  }

  function fetch(requestedInterface) {
    if (!_state) {
      _state = createState();
    }

    return _state.latest(requestedInterface);
  }

  function addEventListener(listener) {
    if (!_state) {
      _state = createState();
    }

    _state.add(listener);

    return function () {
      _state && _state.remove(listener);
    };
  }

  function useNetInfo(configuration) {
    if (configuration) {
      configure(configuration);
    }

    var _useState = (0, _react.useState)({
      type: Types.NetInfoStateType.unknown,
      isConnected: false,
      isInternetReachable: false,
      details: null
    }),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        netInfo = _useState2[0],
        setNetInfo = _useState2[1];

    (0, _react.useEffect)(function () {
      return addEventListener(setNetInfo);
    }, []);
    return netInfo;
  }

  var _default = {
    configure: configure,
    fetch: fetch,
    addEventListener: addEventListener,
    useNetInfo: useNetInfo
  };
  exports.default = _default;
},552,[5,41,6,17,553,554,559]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;
  var _default = {
    reachabilityUrl: 'https://clients3.google.com/generate_204',
    reachabilityTest: function reachabilityTest(response) {
      return Promise.resolve(response.status === 204);
    },
    reachabilityShortTimeout: 5000,
    reachabilityLongTimeout: 60000,
    reachabilityRequestTimeout: 15000
  };
  exports.default = _default;
},553,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _nativeInterface = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _internetReachability = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var PrivateTypes = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var State = function State(configuration) {
    var _this = this;

    (0, _classCallCheck2.default)(this, State);
    this._nativeEventSubscription = null;
    this._subscriptions = new Set();
    this._latestState = null;

    this._handleNativeStateUpdate = function (state) {
      _this._internetReachability.update(state);

      var convertedState = _this._convertState(state);

      _this._latestState = convertedState;

      _this._subscriptions.forEach(function (handler) {
        return handler(convertedState);
      });
    };

    this._handleInternetReachabilityUpdate = function (isInternetReachable) {
      if (!_this._latestState) {
        return;
      }

      var nextState = (0, _extends2.default)({}, _this._latestState, {
        isInternetReachable: isInternetReachable
      });
      _this._latestState = nextState;

      _this._subscriptions.forEach(function (handler) {
        return handler(nextState);
      });
    };

    this._fetchCurrentState = function _callee(requestedInterface) {
      var state, convertedState;
      return _regenerator.default.async(function _callee$(_context) {
        while (1) {
          switch (_context.prev = _context.next) {
            case 0:
              _context.next = 2;
              return _regenerator.default.awrap(_nativeInterface.default.getCurrentState(requestedInterface));

            case 2:
              state = _context.sent;

              _this._internetReachability.update(state);

              convertedState = _this._convertState(state);

              if (!requestedInterface) {
                _this._latestState = convertedState;
              }

              return _context.abrupt("return", convertedState);

            case 7:
            case "end":
              return _context.stop();
          }
        }
      }, null, null, null, Promise);
    };

    this._convertState = function (input) {
      if (typeof input.isInternetReachable === 'boolean') {
        return input;
      } else {
        return (0, _extends2.default)({}, input, {
          isInternetReachable: _this._internetReachability.currentState()
        });
      }
    };

    this.latest = function (requestedInterface) {
      if (requestedInterface) {
        return _this._fetchCurrentState(requestedInterface);
      } else if (_this._latestState) {
        return Promise.resolve(_this._latestState);
      } else {
        return _this._fetchCurrentState();
      }
    };

    this.add = function (handler) {
      _this._subscriptions.add(handler);

      if (_this._latestState) {
        handler(_this._latestState);
      } else {
        _this.latest().then(handler);
      }
    };

    this.remove = function (handler) {
      _this._subscriptions.delete(handler);
    };

    this.tearDown = function () {
      if (_this._internetReachability) {
        _this._internetReachability.tearDown();
      }

      if (_this._nativeEventSubscription) {
        _this._nativeEventSubscription.remove();
      }

      _this._subscriptions.clear();
    };

    this._internetReachability = new _internetReachability.default(configuration, this._handleInternetReachabilityUpdate);
    this._nativeEventSubscription = _nativeInterface.default.eventEmitter.addListener(PrivateTypes.DEVICE_CONNECTIVITY_EVENT, this._handleNativeStateUpdate);

    this._fetchCurrentState();
  };

  exports.default = State;
},554,[5,80,6,7,555,557,558]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var _nativeModule = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  if (!_nativeModule.default) {
    throw new Error("@react-native-community/netinfo: NativeModule.RNCNetInfo is null. To fix this issue try these steps:\n\n\u2022 Run `react-native link @react-native-community/netinfo` in the project root.\n\u2022 Rebuild and re-run the app.\n\u2022 If you are using CocoaPods on iOS, run `pod install` in the `ios` directory and then rebuild and re-run the app. You may also need to re-open Xcode to get the new pods.\n\u2022 Check that the library was linked correctly when you used the link command by running through the manual installation instructions in the README.\n* If you are getting this error while unit testing you need to mock the native module. Follow the guide in the README.\n\nIf none of these fix the issue, please open an issue on the Github repository: https://github.com/react-native-community/react-native-netinfo");
  }

  var nativeEventEmitter = null;

  var _default = (0, _extends2.default)({}, _nativeModule.default, {
    get eventEmitter() {
      if (!nativeEventEmitter) {
        nativeEventEmitter = new _reactNative.NativeEventEmitter(_nativeModule.default);
      }

      return nativeEventEmitter;
    }

  });

  exports.default = _default;
},555,[5,6,28,556]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var RNCNetInfo = _reactNative.NativeModules.RNCNetInfo;
  var _default = RNCNetInfo;
  exports.default = _default;
},556,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var InternetReachability = function InternetReachability(configuration, listener) {
    var _this = this;

    (0, _classCallCheck2.default)(this, InternetReachability);
    this._isInternetReachable = undefined;
    this._currentInternetReachabilityCheckHandler = null;
    this._currentTimeoutHandle = null;

    this._setIsInternetReachable = function (isInternetReachable) {
      if (_this._isInternetReachable === isInternetReachable) {
        return;
      }

      _this._isInternetReachable = isInternetReachable;

      _this._listener(_this._isInternetReachable);
    };

    this._setExpectsConnection = function (expectsConnection) {
      if (_this._currentInternetReachabilityCheckHandler !== null) {
        _this._currentInternetReachabilityCheckHandler.cancel();

        _this._currentInternetReachabilityCheckHandler = null;
      }

      if (_this._currentTimeoutHandle !== null) {
        clearTimeout(_this._currentTimeoutHandle);
        _this._currentTimeoutHandle = null;
      }

      if (expectsConnection) {
        if (!_this._isInternetReachable) {
          _this._setIsInternetReachable(null);
        }

        _this._currentInternetReachabilityCheckHandler = _this._checkInternetReachability();
      } else {
        _this._setIsInternetReachable(false);
      }
    };

    this._checkInternetReachability = function () {
      var responsePromise = fetch(_this._configuration.reachabilityUrl, {
        method: 'HEAD',
        cache: 'no-cache'
      });
      var timeoutHandle;
      var timeoutPromise = new Promise(function (_, reject) {
        timeoutHandle = setTimeout(function () {
          return reject('timedout');
        }, _this._configuration.reachabilityRequestTimeout);
      });

      var cancel = function cancel() {};

      var cancelPromise = new Promise(function (_, reject) {
        cancel = function cancel() {
          return reject('canceled');
        };
      });
      var promise = Promise.race([responsePromise, timeoutPromise, cancelPromise]).then(function (response) {
        return _this._configuration.reachabilityTest(response);
      }).then(function (result) {
        _this._setIsInternetReachable(result);

        var nextTimeoutInterval = _this._isInternetReachable ? _this._configuration.reachabilityLongTimeout : _this._configuration.reachabilityShortTimeout;
        _this._currentTimeoutHandle = setTimeout(_this._checkInternetReachability, nextTimeoutInterval);
      }).catch(function (error) {
        if (error !== 'canceled') {
          _this._setIsInternetReachable(false);

          _this._currentTimeoutHandle = setTimeout(_this._checkInternetReachability, _this._configuration.reachabilityShortTimeout);
        }
      }).then(function () {
        clearTimeout(timeoutHandle);
      }, function (error) {
        clearTimeout(timeoutHandle);
        throw error;
      });
      return {
        promise: promise,
        cancel: cancel
      };
    };

    this.update = function (state) {
      if (typeof state.isInternetReachable === 'boolean') {
        _this._setIsInternetReachable(state.isInternetReachable);
      } else {
        _this._setExpectsConnection(state.isConnected);
      }
    };

    this.currentState = function () {
      return _this._isInternetReachable;
    };

    this.tearDown = function () {
      if (_this._currentInternetReachabilityCheckHandler !== null) {
        _this._currentInternetReachabilityCheckHandler.cancel();

        _this._currentInternetReachabilityCheckHandler = null;
      }

      if (_this._currentTimeoutHandle !== null) {
        clearTimeout(_this._currentTimeoutHandle);
        _this._currentTimeoutHandle = null;
      }
    };

    this._configuration = configuration;
    this._listener = listener;
  };

  exports.default = InternetReachability;
},557,[5,7]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.DEVICE_CONNECTIVITY_EVENT = undefined;
  var DEVICE_CONNECTIVITY_EVENT = 'netInfo.networkStatusDidChange';
  exports.DEVICE_CONNECTIVITY_EVENT = DEVICE_CONNECTIVITY_EVENT;
},558,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.NetInfoCellularGeneration = exports.NetInfoStateType = undefined;
  var NetInfoStateType;
  exports.NetInfoStateType = NetInfoStateType;

  (function (NetInfoStateType) {
    NetInfoStateType["unknown"] = "unknown";
    NetInfoStateType["none"] = "none";
    NetInfoStateType["cellular"] = "cellular";
    NetInfoStateType["wifi"] = "wifi";
    NetInfoStateType["bluetooth"] = "bluetooth";
    NetInfoStateType["ethernet"] = "ethernet";
    NetInfoStateType["wimax"] = "wimax";
    NetInfoStateType["vpn"] = "vpn";
    NetInfoStateType["other"] = "other";
  })(NetInfoStateType || (exports.NetInfoStateType = NetInfoStateType = {}));

  var NetInfoCellularGeneration;
  exports.NetInfoCellularGeneration = NetInfoCellularGeneration;

  (function (NetInfoCellularGeneration) {
    NetInfoCellularGeneration["2g"] = "2g";
    NetInfoCellularGeneration["3g"] = "3g";
    NetInfoCellularGeneration["4g"] = "4g";
  })(NetInfoCellularGeneration || (exports.NetInfoCellularGeneration = NetInfoCellularGeneration = {}));
},559,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _asyncStorage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _promiseQueue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNativeDefaultPreference = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _log = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var StorageUtils = function () {
    function StorageUtils() {
      (0, _classCallCheck2.default)(this, StorageUtils);
    }

    (0, _createClass2.default)(StorageUtils, null, [{
      key: "setItemInDefaultPreferences",
      value: function setItemInDefaultPreferences(name, key, value) {
        return _regenerator.default.async(function setItemInDefaultPreferences$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", StorageUtils.queue.add(function _callee() {
                  return _regenerator.default.async(function _callee$(_context) {
                    while (1) {
                      switch (_context.prev = _context.next) {
                        case 0:
                          _context.prev = 0;
                          _context.next = 3;
                          return _regenerator.default.awrap(_reactNativeDefaultPreference.default.setName(name));

                        case 3:
                          _context.next = 5;
                          return _regenerator.default.awrap(_reactNativeDefaultPreference.default.set(key, value));

                        case 5:
                          _context.next = 9;
                          break;

                        case 7:
                          _context.prev = 7;
                          _context.t0 = _context["catch"](0);

                        case 9:
                        case "end":
                          return _context.stop();
                      }
                    }
                  }, null, null, [[0, 7]], Promise);
                }));

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getItemFromDefaultPreferences",
      value: function getItemFromDefaultPreferences(name, key) {
        return _regenerator.default.async(function getItemFromDefaultPreferences$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                return _context4.abrupt("return", StorageUtils.queue.add(function _callee2() {
                  var result;
                  return _regenerator.default.async(function _callee2$(_context3) {
                    while (1) {
                      switch (_context3.prev = _context3.next) {
                        case 0:
                          result = "";
                          _context3.prev = 1;

                          if (!key) {
                            _context3.next = 8;
                            break;
                          }

                          _context3.next = 5;
                          return _regenerator.default.awrap(_reactNativeDefaultPreference.default.setName(name));

                        case 5:
                          _context3.next = 7;
                          return _regenerator.default.awrap(_reactNativeDefaultPreference.default.get(key));

                        case 7:
                          result = _context3.sent;

                        case 8:
                          _context3.next = 12;
                          break;

                        case 10:
                          _context3.prev = 10;
                          _context3.t0 = _context3["catch"](1);

                        case 12:
                          return _context3.abrupt("return", result);

                        case 13:
                        case "end":
                          return _context3.stop();
                      }
                    }
                  }, null, null, [[1, 10]], Promise);
                }));

              case 1:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "clearItemFromDefaultPreferences",
      value: function clearItemFromDefaultPreferences(name, key) {
        return _regenerator.default.async(function clearItemFromDefaultPreferences$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                return _context6.abrupt("return", StorageUtils.queue.add(function _callee3() {
                  return _regenerator.default.async(function _callee3$(_context5) {
                    while (1) {
                      switch (_context5.prev = _context5.next) {
                        case 0:
                          _context5.prev = 0;
                          _context5.next = 3;
                          return _regenerator.default.awrap(_reactNativeDefaultPreference.default.setName(name));

                        case 3:
                          _context5.next = 5;
                          return _regenerator.default.awrap(_reactNativeDefaultPreference.default.clear(key));

                        case 5:
                          _context5.next = 9;
                          break;

                        case 7:
                          _context5.prev = 7;
                          _context5.t0 = _context5["catch"](0);

                        case 9:
                        case "end":
                          return _context5.stop();
                      }
                    }
                  }, null, null, [[0, 7]], Promise);
                }));

              case 1:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "clearAllFromDefaultPreferences",
      value: function clearAllFromDefaultPreferences(name) {
        return _regenerator.default.async(function clearAllFromDefaultPreferences$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                return _context8.abrupt("return", StorageUtils.queue.add(function _callee4() {
                  return _regenerator.default.async(function _callee4$(_context7) {
                    while (1) {
                      switch (_context7.prev = _context7.next) {
                        case 0:
                          _context7.prev = 0;
                          _context7.next = 3;
                          return _regenerator.default.awrap(_reactNativeDefaultPreference.default.setName(name));

                        case 3:
                          _context7.next = 5;
                          return _regenerator.default.awrap(_reactNativeDefaultPreference.default.clearAll());

                        case 5:
                          _context7.next = 9;
                          break;

                        case 7:
                          _context7.prev = 7;
                          _context7.t0 = _context7["catch"](0);

                        case 9:
                        case "end":
                          return _context7.stop();
                      }
                    }
                  }, null, null, [[0, 7]], Promise);
                }));

              case 1:
              case "end":
                return _context8.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "appendNameToKey",
      value: function appendNameToKey(name, key) {
        return "@" + name + ":" + key;
      }
    }, {
      key: "formatValue",
      value: function formatValue(value) {
        if (typeof value === "object" || Array.isArray(value)) {
          return JSON.stringify(value);
        }

        return "" + value;
      }
    }, {
      key: "setItem",
      value: function setItem(name, key, value) {
        var namedKey;
        return _regenerator.default.async(function setItem$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                _context9.prev = 0;
                namedKey = StorageUtils.appendNameToKey(name, key);
                _context9.next = 4;
                return _regenerator.default.awrap(_asyncStorage.default.setItem(namedKey, StorageUtils.formatValue(value)));

              case 4:
                _context9.next = 8;
                break;

              case 6:
                _context9.prev = 6;
                _context9.t0 = _context9["catch"](0);

              case 8:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, [[0, 6]], Promise);
      }
    }, {
      key: "multiSet",
      value: function multiSet(name, data) {
        var toSet;
        return _regenerator.default.async(function multiSet$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                _context10.prev = 0;
                toSet = Object.keys(data).map(function (key) {
                  var namedKey = StorageUtils.appendNameToKey(name, key);
                  return [namedKey, StorageUtils.formatValue(data[key])];
                });
                _context10.next = 4;
                return _regenerator.default.awrap(_asyncStorage.default.multiSet(toSet));

              case 4:
                _context10.next = 8;
                break;

              case 6:
                _context10.prev = 6;
                _context10.t0 = _context10["catch"](0);

              case 8:
              case "end":
                return _context10.stop();
            }
          }
        }, null, null, [[0, 6]], Promise);
      }
    }, {
      key: "multiGet",
      value: function multiGet(name, editCallback) {
        var result, keys;
        return _regenerator.default.async(function multiGet$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                result = {};
                _context11.prev = 1;
                _context11.next = 4;
                return _regenerator.default.awrap(_asyncStorage.default.getAllKeys());

              case 4:
                keys = _context11.sent.filter(function (key) {
                  return key.includes("@" + name + ":");
                });
                _context11.next = 7;
                return _regenerator.default.awrap(_asyncStorage.default.multiGet(keys));

              case 7:
                result = _context11.sent.reduce(function (multiGet, item) {
                  multiGet[item[0].replace("@" + name + ":", "")] = editCallback ? editCallback(item[1]) : item[1];
                  return multiGet;
                }, {});
                _context11.next = 12;
                break;

              case 10:
                _context11.prev = 10;
                _context11.t0 = _context11["catch"](1);

              case 12:
                return _context11.abrupt("return", result);

              case 13:
              case "end":
                return _context11.stop();
            }
          }
        }, null, null, [[1, 10]], Promise);
      }
    }, {
      key: "getItem",
      value: function getItem(name, key) {
        var result, namedKey;
        return _regenerator.default.async(function getItem$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                result = "";
                _context12.prev = 1;

                if (!key) {
                  _context12.next = 7;
                  break;
                }

                namedKey = StorageUtils.appendNameToKey(name, key);
                _context12.next = 6;
                return _regenerator.default.awrap(_asyncStorage.default.getItem(namedKey));

              case 6:
                result = _context12.sent;

              case 7:
                _context12.next = 11;
                break;

              case 9:
                _context12.prev = 9;
                _context12.t0 = _context12["catch"](1);

              case 11:
                return _context12.abrupt("return", result);

              case 12:
              case "end":
                return _context12.stop();
            }
          }
        }, null, null, [[1, 9]], Promise);
      }
    }, {
      key: "clear",
      value: function clear(name, key) {
        return _regenerator.default.async(function clear$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                _context13.prev = 0;
                _context13.next = 3;
                return _regenerator.default.awrap(_asyncStorage.default.removeItem(StorageUtils.appendNameToKey(name, key)));

              case 3:
                _context13.next = 7;
                break;

              case 5:
                _context13.prev = 5;
                _context13.t0 = _context13["catch"](0);

              case 7:
              case "end":
                return _context13.stop();
            }
          }
        }, null, null, [[0, 5]], Promise);
      }
    }, {
      key: "clearAll",
      value: function clearAll(name) {
        var keys;
        return _regenerator.default.async(function clearAll$(_context14) {
          while (1) {
            switch (_context14.prev = _context14.next) {
              case 0:
                _context14.prev = 0;
                _context14.next = 3;
                return _regenerator.default.awrap(_asyncStorage.default.getAllKeys());

              case 3:
                keys = _context14.sent.filter(function (key) {
                  return key.includes("@" + name + ":");
                });
                _context14.next = 6;
                return _regenerator.default.awrap(_asyncStorage.default.multiRemove(keys));

              case 6:
                _context14.next = 10;
                break;

              case 8:
                _context14.prev = 8;
                _context14.t0 = _context14["catch"](0);

              case 10:
              case "end":
                return _context14.stop();
            }
          }
        }, null, null, [[0, 8]], Promise);
      }
    }, {
      key: "clearAllByKeys",
      value: function clearAllByKeys(name, keys) {
        var namedkeys;
        return _regenerator.default.async(function clearAllByKeys$(_context15) {
          while (1) {
            switch (_context15.prev = _context15.next) {
              case 0:
                _context15.prev = 0;
                namedkeys = keys.map(function (key) {
                  return "@" + name + ":" + key;
                });
                _context15.next = 4;
                return _regenerator.default.awrap(_asyncStorage.default.multiRemove(namedkeys));

              case 4:
                _context15.next = 8;
                break;

              case 6:
                _context15.prev = 6;
                _context15.t0 = _context15["catch"](0);

              case 8:
              case "end":
                return _context15.stop();
            }
          }
        }, null, null, [[0, 6]], Promise);
      }
    }, {
      key: "clearAllByRegExp",
      value: function clearAllByRegExp(name) {
        var keys;
        return _regenerator.default.async(function clearAllByRegExp$(_context16) {
          while (1) {
            switch (_context16.prev = _context16.next) {
              case 0:
                _context16.prev = 0;
                _context16.next = 3;
                return _regenerator.default.awrap(_asyncStorage.default.getAllKeys());

              case 3:
                keys = _context16.sent.filter(function (key) {
                  return !!key.match("@" + name + ":");
                });
                _context16.next = 6;
                return _regenerator.default.awrap(_asyncStorage.default.multiRemove(keys));

              case 6:
                _context16.next = 10;
                break;

              case 8:
                _context16.prev = 8;
                _context16.t0 = _context16["catch"](0);

              case 10:
              case "end":
                return _context16.stop();
            }
          }
        }, null, null, [[0, 8]], Promise);
      }
    }]);
    return StorageUtils;
  }();

  exports.default = StorageUtils;
  StorageUtils.queue = new _promiseQueue.default(1, Infinity);
},560,[5,80,7,8,561,567,570,543]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "useAsyncStorage", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).useAsyncStorage;
    }
  });
  exports.default = undefined;

  var _AsyncStorage = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _default = _AsyncStorage.default;
  exports.default = _default;
},561,[562,5,563]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.useAsyncStorage = useAsyncStorage;

  var _AsyncStorage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function useAsyncStorage(key) {
    return {
      getItem: function getItem() {
        for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
          args[_key] = arguments[_key];
        }

        return _AsyncStorage.default.getItem.apply(_AsyncStorage.default, [key].concat(args));
      },
      setItem: function setItem() {
        for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
          args[_key2] = arguments[_key2];
        }

        return _AsyncStorage.default.setItem.apply(_AsyncStorage.default, [key].concat(args));
      },
      mergeItem: function mergeItem() {
        for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
          args[_key3] = arguments[_key3];
        }

        return _AsyncStorage.default.mergeItem.apply(_AsyncStorage.default, [key].concat(args));
      },
      removeItem: function removeItem() {
        for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
          args[_key4] = arguments[_key4];
        }

        return _AsyncStorage.default.removeItem.apply(_AsyncStorage.default, [key].concat(args));
      }
    };
  }
},562,[5,563]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _RCTAsyncStorage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  if (!_RCTAsyncStorage.default) {
    throw new Error("[@RNC/AsyncStorage]: NativeModule: AsyncStorage is null.\n\nTo fix this issue try these steps:\n\n  \u2022 Rebuild and restart the app.\n\n  \u2022 Run the packager with `--reset-cache` flag.\n\n  \u2022 If you are using CocoaPods on iOS, run `pod install` in the `ios` directory and then rebuild and re-run the app.\n\n  \u2022 If this happens while testing with Jest, check out docs how to integrate AsyncStorage with it: https://react-native-async-storage.github.io/async-storage/docs/advanced/jest\n\nIf none of these fix the issue, please open an issue on the Github repository: https://github.com/react-native-async-storage/async-storage/issues\n");
  }

  var AsyncStorage = function () {
    var _getRequests = [];
    var _getKeys = [];
    var _immediate = null;
    return {
      getItem: function getItem(key, callback) {
        return new Promise(function (resolve, reject) {
          (0, _$$_REQUIRE(_dependencyMap[3]).checkValidInput)(key);

          _RCTAsyncStorage.default.multiGet([key], function (errors, result) {
            var _result$;

            var value = result != null && (_result$ = result[0]) != null && _result$[1] ? result[0][1] : null;
            var errs = (0, _$$_REQUIRE(_dependencyMap[3]).convertErrors)(errors);
            callback == null ? undefined : callback(errs == null ? undefined : errs[0], value);

            if (errs) {
              reject(errs[0]);
            } else {
              resolve(value);
            }
          });
        });
      },
      setItem: function setItem(key, value, callback) {
        return new Promise(function (resolve, reject) {
          (0, _$$_REQUIRE(_dependencyMap[3]).checkValidInput)(key, value);

          _RCTAsyncStorage.default.multiSet([[key, value]], function (errors) {
            var errs = (0, _$$_REQUIRE(_dependencyMap[3]).convertErrors)(errors);
            callback == null ? undefined : callback(errs == null ? undefined : errs[0]);

            if (errs) {
              reject(errs[0]);
            } else {
              resolve();
            }
          });
        });
      },
      removeItem: function removeItem(key, callback) {
        return new Promise(function (resolve, reject) {
          (0, _$$_REQUIRE(_dependencyMap[3]).checkValidInput)(key);

          _RCTAsyncStorage.default.multiRemove([key], function (errors) {
            var errs = (0, _$$_REQUIRE(_dependencyMap[3]).convertErrors)(errors);
            callback == null ? undefined : callback(errs == null ? undefined : errs[0]);

            if (errs) {
              reject(errs[0]);
            } else {
              resolve();
            }
          });
        });
      },
      mergeItem: function mergeItem(key, value, callback) {
        return new Promise(function (resolve, reject) {
          (0, _$$_REQUIRE(_dependencyMap[3]).checkValidInput)(key, value);

          _RCTAsyncStorage.default.multiMerge([[key, value]], function (errors) {
            var errs = (0, _$$_REQUIRE(_dependencyMap[3]).convertErrors)(errors);
            callback == null ? undefined : callback(errs == null ? undefined : errs[0]);

            if (errs) {
              reject(errs[0]);
            } else {
              resolve();
            }
          });
        });
      },
      clear: function clear(callback) {
        return new Promise(function (resolve, reject) {
          _RCTAsyncStorage.default.clear(function (error) {
            var err = (0, _$$_REQUIRE(_dependencyMap[3]).convertError)(error);
            callback == null ? undefined : callback(err);

            if (err) {
              reject(err);
            } else {
              resolve();
            }
          });
        });
      },
      getAllKeys: function getAllKeys(callback) {
        return new Promise(function (resolve, reject) {
          _RCTAsyncStorage.default.getAllKeys(function (error, keys) {
            var err = (0, _$$_REQUIRE(_dependencyMap[3]).convertError)(error);
            callback == null ? undefined : callback(err, keys);

            if (keys) {
              resolve(keys);
            } else {
              reject(err);
            }
          });
        });
      },
      flushGetRequests: function flushGetRequests() {
        var getRequests = _getRequests;
        var getKeys = _getKeys;
        _getRequests = [];
        _getKeys = [];

        _RCTAsyncStorage.default.multiGet(getKeys, function (errors, result) {
          var map = {};
          result == null ? undefined : result.forEach(function (_ref) {
            var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
                key = _ref2[0],
                value = _ref2[1];

            map[key] = value;
            return value;
          });
          var reqLength = getRequests.length;
          var errorList = (0, _$$_REQUIRE(_dependencyMap[3]).convertErrors)(errors);
          var error = errorList != null && errorList.length ? errorList[0] : null;

          for (var i = 0; i < reqLength; i++) {
            var request = getRequests[i];

            if (error) {
              request.callback == null ? undefined : request.callback(errorList);
              request.reject == null ? undefined : request.reject(error);
              continue;
            }

            var requestResult = request.keys.map(function (key) {
              return [key, map[key]];
            });
            request.callback == null ? undefined : request.callback(null, requestResult);
            request.resolve == null ? undefined : request.resolve(requestResult);
          }
        });
      },
      multiGet: function multiGet(keys, callback) {
        if (!_immediate) {
          _immediate = setImmediate(function () {
            _immediate = null;
            AsyncStorage.flushGetRequests();
          });
        }

        var getRequest = {
          keys: keys,
          callback: callback,
          keyIndex: _getKeys.length,
          resolve: null,
          reject: null
        };
        var promiseResult = new Promise(function (resolve, reject) {
          getRequest.resolve = resolve;
          getRequest.reject = reject;
        });

        _getRequests.push(getRequest);

        keys.forEach(function (key) {
          if (_getKeys.indexOf(key) === -1) {
            _getKeys.push(key);
          }
        });
        return promiseResult;
      },
      multiSet: function multiSet(keyValuePairs, callback) {
        (0, _$$_REQUIRE(_dependencyMap[3]).checkValidArgs)(keyValuePairs, callback);
        return new Promise(function (resolve, reject) {
          keyValuePairs.forEach(function (_ref3) {
            var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
                key = _ref4[0],
                value = _ref4[1];

            (0, _$$_REQUIRE(_dependencyMap[3]).checkValidInput)(key, value);
          });

          _RCTAsyncStorage.default.multiSet(keyValuePairs, function (errors) {
            var error = (0, _$$_REQUIRE(_dependencyMap[3]).convertErrors)(errors);
            callback == null ? undefined : callback(error);

            if (error) {
              reject(error);
            } else {
              resolve();
            }
          });
        });
      },
      multiRemove: function multiRemove(keys, callback) {
        return new Promise(function (resolve, reject) {
          keys.forEach(function (key) {
            return (0, _$$_REQUIRE(_dependencyMap[3]).checkValidInput)(key);
          });

          _RCTAsyncStorage.default.multiRemove(keys, function (errors) {
            var error = (0, _$$_REQUIRE(_dependencyMap[3]).convertErrors)(errors);
            callback == null ? undefined : callback(error);

            if (error) {
              reject(error);
            } else {
              resolve();
            }
          });
        });
      },
      multiMerge: function multiMerge(keyValuePairs, callback) {
        return new Promise(function (resolve, reject) {
          _RCTAsyncStorage.default.multiMerge(keyValuePairs, function (errors) {
            var error = (0, _$$_REQUIRE(_dependencyMap[3]).convertErrors)(errors);
            callback == null ? undefined : callback(error);

            if (error) {
              reject(error);
            } else {
              resolve();
            }
          });
        });
      }
    };
  }();

  var _default = AsyncStorage;
  exports.default = _default;
},563,[5,41,564,566]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var RCTAsyncStorage = _reactNative.NativeModules['PlatformLocalStorage'] || _reactNative.NativeModules['RNC_AsyncSQLiteDBStorage'] || _reactNative.NativeModules['RNCAsyncStorage'];

  if (!RCTAsyncStorage && (0, _$$_REQUIRE(_dependencyMap[1]).shouldFallbackToLegacyNativeModule)()) {
    if (_reactNative.TurboModuleRegistry) {
      RCTAsyncStorage = _reactNative.TurboModuleRegistry.get('AsyncSQLiteDBStorage') || _reactNative.TurboModuleRegistry.get('AsyncLocalStorage');
    } else {
      RCTAsyncStorage = _reactNative.NativeModules['AsyncSQLiteDBStorage'] || _reactNative.NativeModules['AsyncLocalStorage'];
    }
  }

  var _default = RCTAsyncStorage;
  exports.default = _default;
},564,[28,565]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.shouldFallbackToLegacyNativeModule = shouldFallbackToLegacyNativeModule;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  function shouldFallbackToLegacyNativeModule() {
    var _NativeModules$Native, _NativeModules$Native2;

    var expoConstants = (_NativeModules$Native = _reactNative.NativeModules['NativeUnimoduleProxy']) == null ? undefined : (_NativeModules$Native2 = _NativeModules$Native.modulesConstants) == null ? undefined : _NativeModules$Native2.ExponentConstants;

    if (expoConstants) {
      var isLegacySdkVersion = expoConstants.appOwnership && !expoConstants.executionEnvironment;

      if (isLegacySdkVersion || ['storeClient', 'standalone'].includes(expoConstants.executionEnvironment)) {
        return true;
      }
    }

    return false;
  }
},565,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.checkValidArgs = checkValidArgs;
  exports.checkValidInput = checkValidInput;
  exports.convertError = convertError;
  exports.convertErrors = convertErrors;

  function checkValidArgs(keyValuePairs, callback) {
    if (!Array.isArray(keyValuePairs) || keyValuePairs.length === 0 || !Array.isArray(keyValuePairs[0])) {
      throw new Error('[AsyncStorage] Expected array of key-value pairs as first argument to multiSet');
    }

    if (callback && typeof callback !== 'function') {
      if (Array.isArray(callback)) {
        throw new Error('[AsyncStorage] Expected function as second argument to multiSet. Did you forget to wrap key-value pairs in an array for the first argument?');
      }

      throw new Error('[AsyncStorage] Expected function as second argument to multiSet');
    }
  }

  function checkValidInput() {
    for (var _len = arguments.length, input = new Array(_len), _key = 0; _key < _len; _key++) {
      input[_key] = arguments[_key];
    }

    var key = input[0],
        value = input[1];

    if (typeof key !== 'string') {
      console.warn("[AsyncStorage] Using " + typeof key + " type for key is not supported. This can lead to unexpected behavior/errors. Use string instead.\nKey passed: " + key + "\n");
    }

    if (input.length > 1 && typeof value !== 'string') {
      if (value == null) {
        throw new Error("[AsyncStorage] Passing null/undefined as value is not supported. If you want to remove value, Use .removeItem method instead.\nPassed value: " + value + "\nPassed key: " + key + "\n");
      } else {
        console.warn("[AsyncStorage] The value for key \"" + key + "\" is not a string. This can lead to unexpected behavior/errors. Consider stringifying it.\nPassed value: " + value + "\nPassed key: " + key + "\n");
      }
    }
  }

  function convertError(error) {
    if (!error) {
      return null;
    }

    var out = new Error(error.message);
    out.key = error.key;
    return out;
  }

  function convertErrors(errs) {
    var errors = ensureArray(errs);
    return errors ? errors.map(function (e) {
      return convertError(e);
    }) : null;
  }

  function ensureArray(e) {
    if (Array.isArray(e)) {
      return e.length === 0 ? null : e;
    } else if (e) {
      return [e];
    } else {
      return null;
    }
  }
},566,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = process.env.PROMISE_QUEUE_COVERAGE ? _$$_REQUIRE(_dependencyMap[0]) : _$$_REQUIRE(_dependencyMap[1]);
},567,[568,569]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {},568,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  (function (root, factory) {
    'use strict';

    if (typeof module === 'object' && module.exports && typeof _$$_REQUIRE === 'function') {
      module.exports = factory();
    } else if (typeof define === 'function' && typeof define.amd === 'object') {
      define(factory);
    } else {
      root.Queue = factory();
    }
  })(this, function () {
    'use strict';

    var LocalPromise = typeof Promise !== 'undefined' ? Promise : function () {
      return {
        then: function then() {
          throw new Error('Queue.configure() before use Queue');
        }
      };
    };

    var noop = function noop() {};

    var resolveWith = function resolveWith(value) {
      if (value && typeof value.then === 'function') {
        return value;
      }

      return new LocalPromise(function (resolve) {
        resolve(value);
      });
    };

    function Queue(maxPendingPromises, maxQueuedPromises, options) {
      this.options = options = options || {};
      this.pendingPromises = 0;
      this.maxPendingPromises = typeof maxPendingPromises !== 'undefined' ? maxPendingPromises : Infinity;
      this.maxQueuedPromises = typeof maxQueuedPromises !== 'undefined' ? maxQueuedPromises : Infinity;
      this.queue = [];
    }

    Queue.configure = function (GlobalPromise) {
      LocalPromise = GlobalPromise;
    };

    Queue.prototype.add = function (promiseGenerator) {
      var self = this;
      return new LocalPromise(function (resolve, reject, notify) {
        if (self.queue.length >= self.maxQueuedPromises) {
          reject(new Error('Queue limit reached'));
          return;
        }

        self.queue.push({
          promiseGenerator: promiseGenerator,
          resolve: resolve,
          reject: reject,
          notify: notify || noop
        });

        self._dequeue();
      });
    };

    Queue.prototype.getPendingLength = function () {
      return this.pendingPromises;
    };

    Queue.prototype.getQueueLength = function () {
      return this.queue.length;
    };

    Queue.prototype._dequeue = function () {
      var self = this;

      if (this.pendingPromises >= this.maxPendingPromises) {
        return false;
      }

      var item = this.queue.shift();

      if (!item) {
        if (this.options.onEmpty) {
          this.options.onEmpty();
        }

        return false;
      }

      try {
        this.pendingPromises++;
        resolveWith(item.promiseGenerator()).then(function (value) {
          self.pendingPromises--;
          item.resolve(value);

          self._dequeue();
        }, function (err) {
          self.pendingPromises--;
          item.reject(err);

          self._dequeue();
        }, function (message) {
          item.notify(message);
        });
      } catch (err) {
        self.pendingPromises--;
        item.reject(err);

        self._dequeue();
      }

      return true;
    };

    return Queue;
  });
},569,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _main = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _default = _main.default;
  exports.default = _default;
},570,[5,571]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var RNDefaultPreference = _reactNative.NativeModules.RNDefaultPreference;
  var _default = RNDefaultPreference;
  exports.default = _default;
},571,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.EventRegister = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _typeDetect = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var EventRegister = function () {
    function EventRegister() {
      (0, _classCallCheck2.default)(this, EventRegister);
    }

    (0, _createClass2.default)(EventRegister, null, [{
      key: "addEventListener",
      value: function addEventListener(eventName, callback) {
        if ((0, _typeDetect.default)(eventName) === "string" && (0, _typeDetect.default)(callback) === "function") {
          EventRegister._Listeners.count += 1;
          var eventId = "l" + EventRegister._Listeners.count;
          EventRegister._Listeners.refs[eventId] = {
            name: eventName,
            callback: callback
          };
          return eventId;
        }

        return false;
      }
    }, {
      key: "removeEventListener",
      value: function removeEventListener(id) {
        if ((0, _typeDetect.default)(id) === "string") {
          EventRegister.log("EventsManager removing listener with id: " + id);
          return delete EventRegister._Listeners.refs[id];
        }

        return false;
      }
    }, {
      key: "removeAllListeners",
      value: function removeAllListeners() {
        var removeError = false;
        EventRegister.log("EventsManager remove all listener");
        Object.keys(EventRegister._Listeners.refs).forEach(function (_id) {
          var removed = delete EventRegister._Listeners.refs[_id];
          removeError = !removeError ? !removed : removeError;
        });
        return !removeError;
      }
    }, {
      key: "emitEvent",
      value: function emitEvent(eventName, data) {
        EventRegister.log("EventsManager trying to emit event: " + eventName);
        Object.keys(EventRegister._Listeners.refs).forEach(function (_id) {
          if (EventRegister._Listeners.refs[_id] && eventName === EventRegister._Listeners.refs[_id].name) {
            EventRegister.log("EventsManager emit event: " + eventName + ", listener: " + _id + ", callback: " + (EventRegister._Listeners.refs[_id].callback.name || "anonymous"));

            EventRegister._Listeners.refs[_id].callback(data);
          }
        });
      }
    }, {
      key: "log",
      value: function log(message) {
        if (EventRegister.debug) {}
      }
    }, {
      key: "on",
      value: function on(eventName, callback) {
        return EventRegister.addEventListener(eventName, callback);
      }
    }, {
      key: "rm",
      value: function rm(eventName) {
        return EventRegister.removeEventListener(eventName);
      }
    }, {
      key: "rmAll",
      value: function rmAll() {
        return EventRegister.removeAllListeners();
      }
    }, {
      key: "emit",
      value: function emit(eventName, data) {
        EventRegister.emitEvent(eventName, data);
      }
    }]);
    return EventRegister;
  }();

  exports.EventRegister = EventRegister;
  EventRegister.debug = false;
  EventRegister._Listeners = {
    count: 0,
    refs: {}
  };
},572,[5,7,8,573]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  (function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global.typeDetect = factory();
  })(this, function () {
    'use strict';

    var promiseExists = typeof Promise === 'function';
    var globalObject = typeof self === 'object' ? self : global;
    var symbolExists = typeof Symbol !== 'undefined';
    var mapExists = typeof Map !== 'undefined';
    var setExists = typeof Set !== 'undefined';
    var weakMapExists = typeof WeakMap !== 'undefined';
    var weakSetExists = typeof WeakSet !== 'undefined';
    var dataViewExists = typeof DataView !== 'undefined';
    var symbolIteratorExists = symbolExists && typeof Symbol.iterator !== 'undefined';
    var symbolToStringTagExists = symbolExists && typeof Symbol.toStringTag !== 'undefined';
    var setEntriesExists = setExists && typeof Set.prototype.entries === 'function';
    var mapEntriesExists = mapExists && typeof Map.prototype.entries === 'function';
    var setIteratorPrototype = setEntriesExists && Object.getPrototypeOf(new Set().entries());
    var mapIteratorPrototype = mapEntriesExists && Object.getPrototypeOf(new Map().entries());
    var arrayIteratorExists = symbolIteratorExists && typeof Array.prototype[Symbol.iterator] === 'function';
    var arrayIteratorPrototype = arrayIteratorExists && Object.getPrototypeOf([][Symbol.iterator]());
    var stringIteratorExists = symbolIteratorExists && typeof String.prototype[Symbol.iterator] === 'function';
    var stringIteratorPrototype = stringIteratorExists && Object.getPrototypeOf(''[Symbol.iterator]());
    var toStringLeftSliceLength = 8;
    var toStringRightSliceLength = -1;

    function typeDetect(obj) {
      var typeofObj = typeof obj;

      if (typeofObj !== 'object') {
        return typeofObj;
      }

      if (obj === null) {
        return 'null';
      }

      if (obj === globalObject) {
        return 'global';
      }

      if (Array.isArray(obj) && (symbolToStringTagExists === false || !(Symbol.toStringTag in obj))) {
        return 'Array';
      }

      if (typeof window === 'object' && window !== null) {
        if (typeof window.location === 'object' && obj === window.location) {
          return 'Location';
        }

        if (typeof window.document === 'object' && obj === window.document) {
          return 'Document';
        }

        if (typeof window.navigator === 'object') {
          if (typeof window.navigator.mimeTypes === 'object' && obj === window.navigator.mimeTypes) {
            return 'MimeTypeArray';
          }

          if (typeof window.navigator.plugins === 'object' && obj === window.navigator.plugins) {
            return 'PluginArray';
          }
        }

        if ((typeof window.HTMLElement === 'function' || typeof window.HTMLElement === 'object') && obj instanceof window.HTMLElement) {
          if (obj.tagName === 'BLOCKQUOTE') {
            return 'HTMLQuoteElement';
          }

          if (obj.tagName === 'TD') {
            return 'HTMLTableDataCellElement';
          }

          if (obj.tagName === 'TH') {
            return 'HTMLTableHeaderCellElement';
          }
        }
      }

      var stringTag = symbolToStringTagExists && obj[Symbol.toStringTag];

      if (typeof stringTag === 'string') {
        return stringTag;
      }

      var objPrototype = Object.getPrototypeOf(obj);

      if (objPrototype === RegExp.prototype) {
        return 'RegExp';
      }

      if (objPrototype === Date.prototype) {
        return 'Date';
      }

      if (promiseExists && objPrototype === Promise.prototype) {
        return 'Promise';
      }

      if (setExists && objPrototype === Set.prototype) {
        return 'Set';
      }

      if (mapExists && objPrototype === Map.prototype) {
        return 'Map';
      }

      if (weakSetExists && objPrototype === WeakSet.prototype) {
        return 'WeakSet';
      }

      if (weakMapExists && objPrototype === WeakMap.prototype) {
        return 'WeakMap';
      }

      if (dataViewExists && objPrototype === DataView.prototype) {
        return 'DataView';
      }

      if (mapExists && objPrototype === mapIteratorPrototype) {
        return 'Map Iterator';
      }

      if (setExists && objPrototype === setIteratorPrototype) {
        return 'Set Iterator';
      }

      if (arrayIteratorExists && objPrototype === arrayIteratorPrototype) {
        return 'Array Iterator';
      }

      if (stringIteratorExists && objPrototype === stringIteratorPrototype) {
        return 'String Iterator';
      }

      if (objPrototype === null) {
        return 'Object';
      }

      return Object.prototype.toString.call(obj).slice(toStringLeftSliceLength, toStringRightSliceLength);
    }

    return typeDetect;
  });
},573,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.DEBUG_DIRECTORY = exports.DOWNLOADED_PDF_DIRECTORY = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _reactNativeShare = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var MAIN_DIRECTORY = "newsmemvol";
  var APPLICATION_DIRECTORY = "application";
  var FONTS_DIRECTORY = "fonts";
  var BUNDLE_DIRECTORY = "bundles";
  var DOWNLOADED_PDF_DIRECTORY = "downloaded_pdf";
  exports.DOWNLOADED_PDF_DIRECTORY = DOWNLOADED_PDF_DIRECTORY;
  var DEBUG_DIRECTORY = "debug_files";
  exports.DEBUG_DIRECTORY = DEBUG_DIRECTORY;
  var IOS_XCODE_VERSION_FILENAME = "xcodeversion.txt";

  var TecnaviaFileUtils = function (_FileUtils) {
    (0, _inherits2.default)(TecnaviaFileUtils, _FileUtils);

    var _super = _createSuper(TecnaviaFileUtils);

    function TecnaviaFileUtils() {
      (0, _classCallCheck2.default)(this, TecnaviaFileUtils);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(TecnaviaFileUtils, null, [{
      key: "getDownloadedPdfDirectory",
      value: function getDownloadedPdfDirectory() {
        return TecnaviaFileUtils.getCacheDirectory() + "/" + DOWNLOADED_PDF_DIRECTORY;
      }
    }, {
      key: "getDebugDirectory",
      value: function getDebugDirectory() {
        return TecnaviaFileUtils.getCacheDirectory() + "/" + DEBUG_DIRECTORY + "/";
      }
    }, {
      key: "getNewsmemoryBaseDirectory",
      value: function getNewsmemoryBaseDirectory() {
        return (_$$_REQUIRE(_dependencyMap[10]).PlatformUtils.isIOS() ? TecnaviaFileUtils.cacheDirectory : TecnaviaFileUtils.documentDirectory) + "/";
      }
    }, {
      key: "getNewspaperBaseDirectory",
      value: function getNewspaperBaseDirectory() {
        return TecnaviaFileUtils.getNewsmemoryBaseDirectory() + MAIN_DIRECTORY + "/";
      }
    }, {
      key: "getApplicationBaseDirectory",
      value: function getApplicationBaseDirectory() {
        return TecnaviaFileUtils.getNewsmemoryBaseDirectory() + APPLICATION_DIRECTORY + "/";
      }
    }, {
      key: "getFontsDirectory",
      value: function getFontsDirectory() {
        return TecnaviaFileUtils.getNewsmemoryBaseDirectory() + FONTS_DIRECTORY + "/";
      }
    }, {
      key: "getBundlesDirectory",
      value: function getBundlesDirectory() {
        return TecnaviaFileUtils.getNewsmemoryBaseDirectory() + BUNDLE_DIRECTORY + "/";
      }
    }, {
      key: "getBundleAppVersionName",
      value: function getBundleAppVersionName() {
        return _deviceUtils.default.getAppVersion().replace(/\./g, "_");
      }
    }, {
      key: "getBundleDirectory",
      value: function getBundleDirectory() {
        return "" + TecnaviaFileUtils.getBundlesDirectory() + TecnaviaFileUtils.getBundleAppVersionName() + "/";
      }
    }, {
      key: "assetsCopy",
      value: function assetsCopy(assetsFolderName, destination) {
        return _regenerator.default.async(function assetsCopy$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", _$$_REQUIRE(_dependencyMap[11]).OurBridge.assetsCopy(assetsFolderName, destination));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getXCodeVersionFilename",
      value: function getXCodeVersionFilename() {
        if (_$$_REQUIRE(_dependencyMap[10]).PlatformUtils.isIOS()) {
          return TecnaviaFileUtils.getNewsmemoryBaseDirectory() + IOS_XCODE_VERSION_FILENAME;
        }

        return "";
      }
    }, {
      key: "xCodeVersionFileExists",
      value: function xCodeVersionFileExists() {
        var xcodeVersionFile, fileExists;
        return _regenerator.default.async(function xCodeVersionFileExists$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!_$$_REQUIRE(_dependencyMap[10]).PlatformUtils.isIOS()) {
                  _context2.next = 11;
                  break;
                }

                xcodeVersionFile = TecnaviaFileUtils.getXCodeVersionFilename();
                _context2.prev = 2;
                _context2.next = 5;
                return _regenerator.default.awrap(TecnaviaFileUtils.exists(xcodeVersionFile));

              case 5:
                fileExists = _context2.sent;
                return _context2.abrupt("return", fileExists);

              case 9:
                _context2.prev = 9;
                _context2.t0 = _context2["catch"](2);

              case 11:
                return _context2.abrupt("return", false);

              case 12:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, [[2, 9]], Promise);
      }
    }, {
      key: "clearOldVersionFiles",
      value: function clearOldVersionFiles() {
        var xcodeVersionFile;
        return _regenerator.default.async(function clearOldVersionFiles$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                if (!_$$_REQUIRE(_dependencyMap[10]).PlatformUtils.isIOS()) {
                  _context3.next = 9;
                  break;
                }

                xcodeVersionFile = TecnaviaFileUtils.getXCodeVersionFilename();
                _context3.prev = 2;
                _context3.next = 5;
                return _regenerator.default.awrap(TecnaviaFileUtils.unlink(xcodeVersionFile));

              case 5:
                _context3.next = 9;
                break;

              case 7:
                _context3.prev = 7;
                _context3.t0 = _context3["catch"](2);

              case 9:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, [[2, 7]], Promise);
      }
    }, {
      key: "zipAndCopyNewspaperBaseDirectory",
      value: function zipAndCopyNewspaperBaseDirectory() {
        var isIOS, zipFile, options, _options;

        return _regenerator.default.async(function zipAndCopyNewspaperBaseDirectory$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                isIOS = _$$_REQUIRE(_dependencyMap[10]).PlatformUtils.isIOS();
                zipFile = (isIOS ? TecnaviaFileUtils.getNewsmemoryBaseDirectory() : TecnaviaFileUtils.getDebugDirectory()) + "newsmemvol.zip";
                _context4.prev = 2;

                if (isIOS) {
                  _context4.next = 18;
                  break;
                }

                _context4.prev = 4;
                _context4.next = 7;
                return _regenerator.default.awrap(TecnaviaFileUtils.mkdir(TecnaviaFileUtils.getDebugDirectory()));

              case 7:
                _context4.next = 11;
                break;

              case 9:
                _context4.prev = 9;
                _context4.t0 = _context4["catch"](4);

              case 11:
                _context4.prev = 11;
                _context4.next = 14;
                return _regenerator.default.awrap(TecnaviaFileUtils.unlink(zipFile));

              case 14:
                _context4.next = 18;
                break;

              case 16:
                _context4.prev = 16;
                _context4.t1 = _context4["catch"](11);

              case 18:
                _context4.next = 20;
                return _regenerator.default.awrap(TecnaviaFileUtils.zip(TecnaviaFileUtils.getNewspaperBaseDirectory(), zipFile));

              case 20:
                _context4.next = 22;
                return _regenerator.default.awrap(TecnaviaFileUtils.exists(zipFile));

              case 22:
                if (!_context4.sent) {
                  _context4.next = 36;
                  break;
                }

                if (!isIOS) {
                  _context4.next = 33;
                  break;
                }

                options = {
                  type: "application/zip",
                  url: zipFile,
                  saveToFiles: true
                };
                _context4.next = 27;
                return _regenerator.default.awrap(_reactNativeShare.default.open(options));

              case 27:
                _context4.next = 29;
                return _regenerator.default.awrap(_reactNative.Linking.openURL("shareddocuments://"));

              case 29:
                _context4.next = 31;
                return _regenerator.default.awrap(TecnaviaFileUtils.unlink(zipFile));

              case 31:
                _context4.next = 36;
                break;

              case 33:
                _options = {
                  url: "file://" + zipFile
                };
                _context4.next = 36;
                return _regenerator.default.awrap(_reactNativeShare.default.open(_options));

              case 36:
                _context4.next = 40;
                break;

              case 38:
                _context4.prev = 38;
                _context4.t2 = _context4["catch"](2);

              case 40:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, [[2, 38], [4, 9], [11, 16]], Promise);
      }
    }]);
    return TecnaviaFileUtils;
  }(_$$_REQUIRE(_dependencyMap[10]).FileUtils);

  exports.default = TecnaviaFileUtils;
},574,[5,80,7,8,12,14,16,28,575,458,462,582]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "Overlay", {
    enumerable: true,
    get: function get() {
      return _Overlay.default;
    }
  });
  Object.defineProperty(exports, "Sheet", {
    enumerable: true,
    get: function get() {
      return _Sheet.default;
    }
  });
  Object.defineProperty(exports, "Button", {
    enumerable: true,
    get: function get() {
      return _Button.default;
    }
  });
  Object.defineProperty(exports, "ShareSheet", {
    enumerable: true,
    get: function get() {
      return _ShareSheet.default;
    }
  });
  Object.defineProperty(exports, "Social", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).Social;
    }
  });
  Object.defineProperty(exports, "ShareAsset", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).ShareAsset;
    }
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[1]);

  var _Overlay = _$$_REQUIRE(_dependencyMap[2])(_$$_REQUIRE(_dependencyMap[3]));

  var _Sheet = _$$_REQUIRE(_dependencyMap[2])(_$$_REQUIRE(_dependencyMap[4]));

  var _Button = _$$_REQUIRE(_dependencyMap[2])(_$$_REQUIRE(_dependencyMap[5]));

  var _ShareSheet = _$$_REQUIRE(_dependencyMap[2])(_$$_REQUIRE(_dependencyMap[6]));

  var _requireAndAskPermissions = _$$_REQUIRE(_dependencyMap[2])(_$$_REQUIRE(_dependencyMap[7]));

  var RNShare = {
    Button: _Button.default,
    ShareSheet: _ShareSheet.default,
    Overlay: _Overlay.default,
    Sheet: _Sheet.default,
    Social: {
      FACEBOOK: _reactNative.NativeModules.RNShare.FACEBOOK || _$$_REQUIRE(_dependencyMap[0]).Social.Facebook,
      FACEBOOK_STORIES: _reactNative.NativeModules.RNShare.FACEBOOKSTORIES || _$$_REQUIRE(_dependencyMap[0]).Social.FacebookStories,
      PAGESMANAGER: _reactNative.NativeModules.RNShare.PAGESMANAGER || _$$_REQUIRE(_dependencyMap[0]).Social.Pagesmanager,
      TWITTER: _reactNative.NativeModules.RNShare.TWITTER || _$$_REQUIRE(_dependencyMap[0]).Social.Twitter,
      WHATSAPP: _reactNative.NativeModules.RNShare.WHATSAPP || _$$_REQUIRE(_dependencyMap[0]).Social.Whatsapp,
      WHATSAPPBUSINESS: _reactNative.NativeModules.RNShare.WHATSAPPBUSINESS || _$$_REQUIRE(_dependencyMap[0]).Social.Whatsappbusiness,
      INSTAGRAM: _reactNative.NativeModules.RNShare.INSTAGRAM || _$$_REQUIRE(_dependencyMap[0]).Social.Instagram,
      INSTAGRAM_STORIES: _reactNative.NativeModules.RNShare.INSTAGRAMSTORIES || _$$_REQUIRE(_dependencyMap[0]).Social.InstagramStories,
      GOOGLEPLUS: _reactNative.NativeModules.RNShare.GOOGLEPLUS || _$$_REQUIRE(_dependencyMap[0]).Social.Googleplus,
      EMAIL: _reactNative.NativeModules.RNShare.EMAIL || _$$_REQUIRE(_dependencyMap[0]).Social.Email,
      PINTEREST: _reactNative.NativeModules.RNShare.PINTEREST || _$$_REQUIRE(_dependencyMap[0]).Social.Pinterest,
      LINKEDIN: _reactNative.NativeModules.RNShare.LINKEDIN || _$$_REQUIRE(_dependencyMap[0]).Social.Linkedin,
      SMS: _reactNative.NativeModules.RNShare.SMS || _$$_REQUIRE(_dependencyMap[0]).Social.Sms,
      TELEGRAM: _reactNative.NativeModules.RNShare.TELEGRAM || _$$_REQUIRE(_dependencyMap[0]).Social.Telegram,
      MESSENGER: _reactNative.NativeModules.RNShare.MESSENGER || _$$_REQUIRE(_dependencyMap[0]).Social.Messenger,
      SNAPCHAT: _reactNative.NativeModules.RNShare.SNAPCHAT || _$$_REQUIRE(_dependencyMap[0]).Social.Snapchat,
      VIBER: _reactNative.NativeModules.RNShare.VIBER || _$$_REQUIRE(_dependencyMap[0]).Social.Viber
    },
    open: function open(options) {
      return new Promise(function (resolve, reject) {
        (0, _requireAndAskPermissions.default)(options).then(function () {
          if (_reactNative.Platform.OS === 'ios' && options.url && !options.urls) {
            var url = options.url;
            delete options.url;
            options.urls = [url];

            if (options.filename && !options.filenames) {
              options.filenames = [options.filename];
              delete options.filename;
            }
          }

          _reactNative.NativeModules.RNShare.open(options, function (error) {
            return reject({
              error: error
            });
          }, function (success, message) {
            if (success) {
              return resolve({
                success: success,
                message: message
              });
            } else if (options.failOnCancel === false) {
              return resolve({
                dismissedAction: true,
                success: success,
                message: message
              });
            } else {
              reject(new Error('User did not share'));
            }
          });
        }).catch(function (e) {
          return reject(e);
        });
      });
    },
    shareSingle: function shareSingle(options) {
      if (_reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'android') {
        return new Promise(function (resolve, reject) {
          (0, _requireAndAskPermissions.default)(options).then(function () {
            if (options.url) {
              options.urls = [options.url];
            }

            _reactNative.NativeModules.RNShare.shareSingle(options, function (error) {
              return reject({
                error: error
              });
            }, function (success, message) {
              return resolve({
                success: Boolean(success),
                message: message
              });
            });
          }).catch(function (e) {
            return reject(e);
          });
        });
      } else {
        throw new Error('Not implemented');
      }
    },
    isPackageInstalled: function isPackageInstalled(packageName) {
      if (_reactNative.Platform.OS === 'android') {
        return new Promise(function (resolve, reject) {
          _reactNative.NativeModules.RNShare.isPackageInstalled(packageName, function (error) {
            return reject({
              error: error
            });
          }, function (isInstalled) {
            return resolve({
              isInstalled: isInstalled,
              message: 'Package is Installed'
            });
          });
        });
      } else {
        throw new Error('Not implemented');
      }
    }
  };
  var _default = RNShare;
  exports.default = _default;
},575,[576,28,5,577,578,579,580,581]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.ShareAsset = exports.Social = undefined;
  var Social;
  exports.Social = Social;

  (function (Social) {
    Social["Facebook"] = "facebook";
    Social["FacebookStories"] = "facebookstories";
    Social["Pagesmanager"] = "pagesmanager";
    Social["Twitter"] = "twitter";
    Social["Whatsapp"] = "whatsapp";
    Social["Whatsappbusiness"] = "whatsappbusiness";
    Social["Instagram"] = "instagram";
    Social["InstagramStories"] = "instagramstories";
    Social["Googleplus"] = "googleplus";
    Social["Email"] = "email";
    Social["Pinterest"] = "pinterest";
    Social["Linkedin"] = "linkedin";
    Social["Sms"] = "sms";
    Social["Telegram"] = "telegram";
    Social["Snapchat"] = "snapchat";
    Social["Messenger"] = "messenger";
    Social["Viber"] = "viber";
  })(Social || (exports.Social = Social = {}));

  var ShareAsset;
  exports.ShareAsset = ShareAsset;

  (function (ShareAsset) {
    ShareAsset["BackgroundImage"] = "shareBackgroundImage";
    ShareAsset["BackgroundVideo"] = "shareBackgroundVideo";
    ShareAsset["StickerImage"] = "shareStickerImage";
    ShareAsset["BackgroundAndStickerImage"] = "shareBackgroundAndStickerImage";
  })(ShareAsset || (exports.ShareAsset = ShareAsset = {}));
},576,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var DEFAULT_ANIMATE_TIME = 300;

  var styles = _reactNative.StyleSheet.create({
    emptyOverlay: {
      backgroundColor: 'transparent',
      height: 0,
      position: 'absolute',
      width: 0
    },
    fullOverlay: {
      backgroundColor: 'transparent',
      bottom: 0,
      left: 0,
      position: 'absolute',
      right: 0,
      top: 0
    }
  });

  var Overlay = function (_React$Component) {
    (0, _inherits2.default)(Overlay, _React$Component);

    var _super = _createSuper(Overlay);

    function Overlay() {
      var _this;

      (0, _classCallCheck2.default)(this, Overlay);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.state = {
        fadeAnim: new _reactNative.Animated.Value(0),
        overlayStyle: styles.emptyOverlay
      };
      return _this;
    }

    (0, _createClass2.default)(Overlay, [{
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(newProps) {
        if (newProps.visible) {
          this.setState({
            overlayStyle: styles.fullOverlay
          });
        }

        return _reactNative.Animated.timing(this.state.fadeAnim, {
          toValue: newProps.visible ? 1 : 0,
          duration: DEFAULT_ANIMATE_TIME,
          useNativeDriver: false
        }).start(this.onAnimatedEnd.bind(this));
      }
    }, {
      key: "onAnimatedEnd",
      value: function onAnimatedEnd() {
        if (!this.props.visible) {
          this.setState({
            overlayStyle: styles.emptyOverlay
          });
        }
      }
    }, {
      key: "render",
      value: function render() {
        return React.createElement(_reactNative.Animated.View, {
          style: [this.state.overlayStyle, {
            opacity: this.state.fadeAnim
          }]
        }, this.props.children);
      }
    }]);
    return Overlay;
  }(React.Component);

  var _default = Overlay;
  exports.default = _default;
},577,[5,7,8,12,14,16,17,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var DEFAULT_BOTTOM = -300;
  var DEFAULT_ANIMATE_TIME = 300;

  var Sheet = function (_React$Component) {
    (0, _inherits2.default)(Sheet, _React$Component);

    var _super = _createSuper(Sheet);

    function Sheet() {
      var _this;

      (0, _classCallCheck2.default)(this, Sheet);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.state = {
        bottom: new _reactNative.Animated.Value(DEFAULT_BOTTOM)
      };
      return _this;
    }

    (0, _createClass2.default)(Sheet, [{
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(newProps) {
        return _reactNative.Animated.timing(this.state.bottom, {
          toValue: newProps.visible ? 0 : DEFAULT_BOTTOM,
          duration: DEFAULT_ANIMATE_TIME,
          useNativeDriver: false
        }).start();
      }
    }, {
      key: "render",
      value: function render() {
        return React.createElement(_reactNative.Animated.View, {
          style: {
            bottom: this.state.bottom
          }
        }, this.props.children);
      }
    }]);
    return Sheet;
  }(React.Component);

  var _default = Sheet;
  exports.default = _default;
},578,[5,7,8,12,14,16,17,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[1]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Button = function Button(_ref) {
    var buttonStyle = _ref.buttonStyle,
        onPress = _ref.onPress,
        iconSrc = _ref.iconSrc,
        textStyle = _ref.textStyle,
        children = _ref.children;
    return React.createElement(_reactNative.TouchableOpacity, {
      activeOpacity: 0.5,
      style: [styles.button, buttonStyle],
      onPress: onPress
    }, React.createElement(_reactNative.Image, {
      style: styles.icon,
      source: iconSrc
    }), React.createElement(_reactNative.Text, {
      style: [styles.buttonText, textStyle]
    }, children));
  };

  var _default = Button;
  exports.default = _default;

  var styles = _reactNative.StyleSheet.create({
    button: {
      backgroundColor: 'white',
      flexDirection: 'row',
      height: 50,
      padding: 10
    },
    buttonText: {
      color: '#2c2c2c',
      fontSize: 16,
      fontWeight: 'bold',
      textAlign: 'left',
      textAlignVertical: 'center'
    },
    icon: {
      height: 28,
      marginLeft: 10,
      marginRight: 30,
      width: 28
    }
  });
},579,[17,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _Overlay = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _Sheet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ShareSheet = function (_React$Component) {
    (0, _inherits2.default)(ShareSheet, _React$Component);

    var _super = _createSuper(ShareSheet);

    function ShareSheet() {
      (0, _classCallCheck2.default)(this, ShareSheet);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(ShareSheet, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this.backButtonHandler = this.backButtonHandler.bind(this);

        _reactNative.BackHandler.addEventListener('hardwareBackPress', this.backButtonHandler);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _reactNative.BackHandler.removeEventListener('hardwareBackPress', this.backButtonHandler);
      }
    }, {
      key: "backButtonHandler",
      value: function backButtonHandler() {
        if (this.props.visible) {
          this.props.onCancel();
          return true;
        }

        return false;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            _this$props$style = _this$props.style,
            style = _this$props$style === undefined ? {} : _this$props$style,
            _this$props$overlaySt = _this$props.overlayStyle,
            overlayStyle = _this$props$overlaySt === undefined ? {} : _this$props$overlaySt,
            props = (0, _objectWithoutProperties2.default)(_this$props, ["style", "overlayStyle"]);
        return React.createElement(_Overlay.default, props, React.createElement(_reactNative.View, {
          style: [styles.actionSheetContainer, overlayStyle]
        }, React.createElement(_reactNative.TouchableOpacity, {
          style: styles.button,
          onPress: this.props.onCancel
        }), React.createElement(_Sheet.default, {
          visible: this.props.visible
        }, React.createElement(_reactNative.View, {
          style: [styles.buttonContainer, style]
        }, this.props.children))));
      }
    }]);
    return ShareSheet;
  }(React.Component);

  var _default = ShareSheet;
  exports.default = _default;

  var styles = _reactNative.StyleSheet.create({
    actionSheetContainer: {
      backgroundColor: 'rgba(0, 0, 0, 0.5)',
      flex: 1,
      justifyContent: 'flex-end',
      paddingBottom: 0,
      paddingTop: 10
    },
    buttonContainer: {
      backgroundColor: 'white',
      overflow: 'hidden',
      paddingBottom: 5,
      paddingTop: 5
    },
    button: {
      flex: 1
    }
  });
},580,[5,108,7,8,12,14,16,17,28,577,578]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var ANDROID_KIT_KAT_SDK_VERSION = 19;
  var androidPermissionRequestRequired = (typeof _reactNative.Platform.Version === 'string' ? parseInt(_reactNative.Platform.Version, 10) : _reactNative.Platform.Version) < ANDROID_KIT_KAT_SDK_VERSION;

  var requireAndAskPermissions = function _callee(options) {
    var urls, resultArr, requirePermission, hasPermission, result;
    return _regenerator.default.async(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            if (!((options.url || options.urls) && _reactNative.Platform.OS === 'android')) {
              _context.next = 26;
              break;
            }

            urls = options.urls || (options.url ? [options.url] : []);
            _context.prev = 2;
            _context.next = 5;
            return _regenerator.default.awrap(Promise.all(urls.map(function (url) {
              return new Promise(function (resolve, reject) {
                _reactNative.NativeModules.RNShare.isBase64File(url, function (error) {
                  reject(error);
                }, function (isBase64) {
                  resolve(isBase64);
                });
              });
            })));

          case 5:
            resultArr = _context.sent;
            requirePermission = resultArr.includes(true);

            if (requirePermission) {
              _context.next = 9;
              break;
            }

            return _context.abrupt("return", Promise.resolve(true));

          case 9:
            _context.next = 11;
            return _regenerator.default.awrap(_reactNative.PermissionsAndroid.check(_reactNative.PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE));

          case 11:
            hasPermission = _context.sent;

            if (!hasPermission) {
              _context.next = 14;
              break;
            }

            return _context.abrupt("return", Promise.resolve(true));

          case 14:
            if (!androidPermissionRequestRequired) {
              _context.next = 21;
              break;
            }

            _context.next = 17;
            return _regenerator.default.awrap(_reactNative.PermissionsAndroid.request(_reactNative.PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE));

          case 17:
            result = _context.sent;

            if (!(result === _reactNative.PermissionsAndroid.RESULTS.GRANTED)) {
              _context.next = 20;
              break;
            }

            return _context.abrupt("return", Promise.resolve(true));

          case 20:
            throw new Error('Write Permission not available');

          case 21:
            _context.next = 26;
            break;

          case 23:
            _context.prev = 23;
            _context.t0 = _context["catch"](2);
            return _context.abrupt("return", Promise.reject(_context.t0));

          case 26:
            return _context.abrupt("return", Promise.resolve(true));

          case 27:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, [[2, 23]], Promise);
  };

  var _default = requireAndAskPermissions;
  exports.default = _default;
},581,[5,80,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "Notification", {
    enumerable: true,
    get: function get() {
      return _Notifications.default;
    }
  });
  Object.defineProperty(exports, "OurBridge", {
    enumerable: true,
    get: function get() {
      return _OurNativeBridge.default;
    }
  });
  Object.defineProperty(exports, "RNEventEmitter", {
    enumerable: true,
    get: function get() {
      return _RNEventEmitter.default;
    }
  });

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _Notifications = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _OurNativeBridge = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[3]));

  var _RNEventEmitter = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[4]));
},582,[28,5,583,584,585]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var ActivityStarter = _reactNative.NativeModules.ActivityStarter,
      Notifications = _reactNative.NativeModules.Notifications;

  var Notification = function () {
    function Notification() {
      (0, _classCallCheck2.default)(this, Notification);
    }

    (0, _createClass2.default)(Notification, null, [{
      key: "isAndroid",
      value: function isAndroid() {
        return _reactNative.Platform.OS === "android";
      }
    }, {
      key: "setBadge",
      value: function setBadge(number) {
        return _regenerator.default.async(function setBadge$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (Notification.isAndroid()) {
                  _context.next = 2;
                  break;
                }

                return _context.abrupt("return", ActivityStarter.setBadge(number));

              case 2:
                return _context.abrupt("return", Promise.resolve());

              case 3:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getBadge",
      value: function getBadge() {
        return _regenerator.default.async(function getBadge$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (Notification.isAndroid()) {
                  _context2.next = 2;
                  break;
                }

                return _context2.abrupt("return", ActivityStarter.getBadge());

              case 2:
                return _context2.abrupt("return", Promise.resolve());

              case 3:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "displayNotification",
      value: function displayNotification(notification) {
        var title, body, data, message_id, pushNotificationIOS;
        return _regenerator.default.async(function displayNotification$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                if (!Notification.isAndroid()) {
                  _context3.next = 2;
                  break;
                }

                return _context3.abrupt("return", Notifications.displayNotification(notification));

              case 2:
                title = notification.title, body = notification.body, data = notification.data, message_id = notification.message_id;

                try {
                  pushNotificationIOS = undefined;

                  if (pushNotificationIOS && pushNotificationIOS.default) {
                    pushNotificationIOS.default.addNotificationRequest({
                      id: message_id || _$$_REQUIRE(_dependencyMap[5]).StringUtils.getRandomIdentifier(),
                      title: title,
                      body: body,
                      badge: 1,
                      userInfo: data
                    });
                  }
                } catch (e) {
                  console.warn(e.message);
                }

                return _context3.abrupt("return", Promise.resolve());

              case 5:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "createChannel",
      value: function createChannel(channel) {
        return _regenerator.default.async(function createChannel$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!Notification.isAndroid()) {
                  _context4.next = 2;
                  break;
                }

                return _context4.abrupt("return", Notifications.createChannel(channel));

              case 2:
                return _context4.abrupt("return", Promise.resolve());

              case 3:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "removeDeliveredNotification",
      value: function removeDeliveredNotification(id) {
        return _regenerator.default.async(function removeDeliveredNotification$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                if (!Notification.isAndroid()) {
                  _context5.next = 2;
                  break;
                }

                return _context5.abrupt("return", Notifications.removeDeliveredNotification(id));

              case 2:
                return _context5.abrupt("return", Promise.resolve());

              case 3:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return Notification;
  }();

  exports.default = Notification;
},583,[5,80,7,8,28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.DescendantFocusability = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var ActivityStarter = _reactNative.NativeModules.ActivityStarter;
  var DescendantFocusability = {
    block: "blockDescendants",
    before: "beforeDescendants",
    after: "afterDescendants"
  };
  exports.DescendantFocusability = DescendantFocusability;

  var OurBridge = function () {
    function OurBridge() {
      (0, _classCallCheck2.default)(this, OurBridge);
    }

    (0, _createClass2.default)(OurBridge, null, [{
      key: "setCustomNativeProps",
      value: function setCustomNativeProps(ref) {
        var customProps,
            _args = arguments;
        return _regenerator.default.async(function setCustomNativeProps$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                customProps = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};

                if (!OurBridge.isAndroid()) {
                  _context.next = 9;
                  break;
                }

                _context.prev = 2;
                _context.next = 5;
                return _regenerator.default.awrap(ActivityStarter.setCustomNativeProps((0, _extends2.default)({}, customProps, {
                  tag: _$$_REQUIRE(_dependencyMap[7]).JSUtils.getViewByRef(ref)
                })));

              case 5:
                _context.next = 9;
                break;

              case 7:
                _context.prev = 7;
                _context.t0 = _context["catch"](2);

              case 9:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[2, 7]], Promise);
      }
    }, {
      key: "setCustomOnTouch",
      value: function setCustomOnTouch(ref) {
        var params,
            _args2 = arguments;
        return _regenerator.default.async(function setCustomOnTouch$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                params = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {};

                if (!OurBridge.isAndroid()) {
                  _context2.next = 9;
                  break;
                }

                _context2.prev = 2;
                _context2.next = 5;
                return _regenerator.default.awrap(ActivityStarter.setCustomOnTouch((0, _extends2.default)({}, params, {
                  tag: _$$_REQUIRE(_dependencyMap[7]).JSUtils.getViewByRef(ref)
                })));

              case 5:
                _context2.next = 9;
                break;

              case 7:
                _context2.prev = 7;
                _context2.t0 = _context2["catch"](2);

              case 9:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, [[2, 7]], Promise);
      }
    }, {
      key: "isAndroid",
      value: function isAndroid() {
        return _reactNative.Platform.OS === "android";
      }
    }, {
      key: "saveBundleName",
      value: function saveBundleName(bundleName, bundleAppVersion) {
        return _regenerator.default.async(function saveBundleName$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                return _context3.abrupt("return", ActivityStarter.saveBundleName(bundleName, bundleAppVersion));

              case 1:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "resetBundleName",
      value: function resetBundleName() {
        return _regenerator.default.async(function resetBundleName$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                return _context4.abrupt("return", ActivityStarter.saveBundleName("", ""));

              case 1:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getBundleName",
      value: function getBundleName() {
        return _regenerator.default.async(function getBundleName$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                return _context5.abrupt("return", ActivityStarter.getBundleName());

              case 1:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "restartReactContext",
      value: function restartReactContext() {
        return _regenerator.default.async(function restartReactContext$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                return _context6.abrupt("return", ActivityStarter.restartReactContext());

              case 1:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "isActionModeVisible",
      value: function isActionModeVisible() {
        var _await$ActivityStarte, result;

        return _regenerator.default.async(function isActionModeVisible$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                if (!OurBridge.isAndroid()) {
                  _context7.next = 11;
                  break;
                }

                _context7.prev = 1;
                _context7.next = 4;
                return _regenerator.default.awrap(ActivityStarter.isActionModeVisible());

              case 4:
                _await$ActivityStarte = _context7.sent;
                result = _await$ActivityStarte.result;
                return _context7.abrupt("return", result);

              case 9:
                _context7.prev = 9;
                _context7.t0 = _context7["catch"](1);

              case 11:
                return _context7.abrupt("return", false);

              case 12:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, [[1, 9]], Promise);
      }
    }, {
      key: "initializeGlobals",
      value: function initializeGlobals() {
        if (OurBridge.isAndroid()) {
          return ActivityStarter.initializeGlobals();
        }

        return Promise.resolve();
      }
    }, {
      key: "assetsCopy",
      value: function assetsCopy(src, destination) {
        return _regenerator.default.async(function assetsCopy$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                if (!OurBridge.isAndroid()) {
                  _context8.next = 2;
                  break;
                }

                return _context8.abrupt("return", ActivityStarter.assetsCopy(src, destination));

              case 2:
                return _context8.abrupt("return", Promise.resolve());

              case 3:
              case "end":
                return _context8.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getBase64FromRes",
      value: function getBase64FromRes(name) {
        return _regenerator.default.async(function getBase64FromRes$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                if (!OurBridge.isAndroid()) {
                  _context9.next = 2;
                  break;
                }

                return _context9.abrupt("return", ActivityStarter.getBase64FromRes(name));

              case 2:
                return _context9.abrupt("return", Promise.resolve());

              case 3:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getStatusBarOrientation",
      value: function getStatusBarOrientation() {
        return _regenerator.default.async(function getStatusBarOrientation$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                if (OurBridge.isAndroid()) {
                  _context10.next = 2;
                  break;
                }

                return _context10.abrupt("return", ActivityStarter.getStatusBarOrientation());

              case 2:
                return _context10.abrupt("return", Promise.resolve());

              case 3:
              case "end":
                return _context10.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "isOrientationLocked",
      value: function isOrientationLocked() {
        return _regenerator.default.async(function isOrientationLocked$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                if (!OurBridge.isAndroid()) {
                  _context11.next = 2;
                  break;
                }

                return _context11.abrupt("return", ActivityStarter.isOrientationLocked());

              case 2:
                return _context11.abrupt("return", Promise.resolve());

              case 3:
              case "end":
                return _context11.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "dispatchTap",
      value: function dispatchTap(tag, x, y) {
        return _regenerator.default.async(function dispatchTap$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                if (!OurBridge.isAndroid()) {
                  _context12.next = 2;
                  break;
                }

                return _context12.abrupt("return", ActivityStarter.dispatchTap(tag, x, y));

              case 2:
                return _context12.abrupt("return", Promise.resolve());

              case 3:
              case "end":
                return _context12.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "onClose",
      value: function onClose() {
        return _regenerator.default.async(function onClose$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                if (!OurBridge.isAndroid()) {
                  _context13.next = 2;
                  break;
                }

                return _context13.abrupt("return", ActivityStarter.onClose());

              case 2:
                return _context13.abrupt("return", Promise.resolve(false));

              case 3:
              case "end":
                return _context13.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "onTrackAction",
      value: function onTrackAction(data) {
        return _regenerator.default.async(function onTrackAction$(_context14) {
          while (1) {
            switch (_context14.prev = _context14.next) {
              case 0:
                if (!OurBridge.isAndroid()) {
                  _context14.next = 2;
                  break;
                }

                return _context14.abrupt("return", ActivityStarter.onTrackAction(data));

              case 2:
                return _context14.abrupt("return", Promise.resolve(false));

              case 3:
              case "end":
                return _context14.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "willOpenURL",
      value: function willOpenURL(url) {
        return _regenerator.default.async(function willOpenURL$(_context15) {
          while (1) {
            switch (_context15.prev = _context15.next) {
              case 0:
                if (!OurBridge.isAndroid()) {
                  _context15.next = 2;
                  break;
                }

                return _context15.abrupt("return", ActivityStarter.willOpenURL(url));

              case 2:
                return _context15.abrupt("return", Promise.resolve(false));

              case 3:
              case "end":
                return _context15.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return OurBridge;
  }();

  exports.default = OurBridge;
  OurBridge.customPropTypes = {
    descendantFocusability: _propTypes.default.oneOf([DescendantFocusability.block, DescendantFocusability.before, DescendantFocusability.after]),
    focusableInTouchMode: _propTypes.default.bool,
    focus: _propTypes.default.bool
  };
  OurBridge.customDefaultProps = {
    focusableInTouchMode: true,
    focusable: true
  };
},584,[5,80,6,7,8,28,201,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var RNEventEmitter = function () {
    function RNEventEmitter() {
      (0, _classCallCheck2.default)(this, RNEventEmitter);
    }

    (0, _createClass2.default)(RNEventEmitter, null, [{
      key: "isIOS",
      value: function isIOS() {
        return _reactNative.Platform.OS === "ios";
      }
    }, {
      key: "addListener",
      value: function addListener(event, callback) {
        var listener;

        if (RNEventEmitter.isIOS()) {
          var BridgeEmitter = _reactNative.NativeModules.BridgeEmitter;
          var eventEmitter = new _reactNative.NativeEventEmitter(BridgeEmitter);
          listener = eventEmitter.addListener(event, function (params) {
            if (callback) {
              callback(params);
            }
          });
        } else {
          listener = _reactNative.DeviceEventEmitter.addListener(event, function (params) {
            if (callback) {
              callback(params);
            }
          });
        }

        return listener;
      }
    }]);
    return RNEventEmitter;
  }();

  exports.default = RNEventEmitter;
  RNEventEmitter.NEW_INTENT = "onNewIntent";
  RNEventEmitter.ON_KEY_DOWN = "onKeyDown";
  RNEventEmitter.ON_KEY_UP = "onKeyUp";
},585,[5,7,8,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.DownloadError = exports.MAX_PNG_GENERATION_ATTEMPTS = exports.MAX_DOWNLOAD_ATTEMPTS = exports.DOWNLOAD_WARNING_CODES = exports.DOWNLOAD_ERROR_CODES = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _wrapNativeSuper2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _Api = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var DOWNLOAD_ERROR_CODES = {
    TIMEOUT: 0,
    NO_GRANTS: 1,
    INVALID_ZIP: 2,
    NO_ZIP: 3,
    GENERIC_ERROR: 4,
    NO_GRANTS_ALLOWED_IP: 5,
    SERVICE_ERROR: 6
  };
  exports.DOWNLOAD_ERROR_CODES = DOWNLOAD_ERROR_CODES;
  var DOWNLOAD_WARNING_CODES = {
    VALIDATION_WARNING: 1,
    SUBSCRIPTION_WARNING: 2
  };
  exports.DOWNLOAD_WARNING_CODES = DOWNLOAD_WARNING_CODES;
  var MAX_DOWNLOAD_ATTEMPTS = 3;
  exports.MAX_DOWNLOAD_ATTEMPTS = MAX_DOWNLOAD_ATTEMPTS;
  var MAX_PNG_GENERATION_ATTEMPTS = 2;
  exports.MAX_PNG_GENERATION_ATTEMPTS = MAX_PNG_GENERATION_ATTEMPTS;
  var SECRET_PDF_FILENAME = "secret.pdf";

  var DownloadError = function (_Error) {
    (0, _inherits2.default)(DownloadError, _Error);

    var _super = _createSuper(DownloadError);

    function DownloadError(code, message) {
      var _this;

      (0, _classCallCheck2.default)(this, DownloadError);
      _this = _super.call(this);
      _this.code = code;
      _this.message = message;
      _this.params = {};
      return _this;
    }

    (0, _createClass2.default)(DownloadError, [{
      key: "getCode",
      value: function getCode() {
        return this.code;
      }
    }, {
      key: "getMessage",
      value: function getMessage() {
        return this.message;
      }
    }, {
      key: "setParams",
      value: function setParams(params) {
        this.params = params;
      }
    }, {
      key: "getParams",
      value: function getParams() {
        return this.params;
      }
    }]);
    return DownloadError;
  }((0, _wrapNativeSuper2.default)(Error));

  exports.DownloadError = DownloadError;

  var DownloadUtils = function () {
    function DownloadUtils() {
      (0, _classCallCheck2.default)(this, DownloadUtils);
    }

    (0, _createClass2.default)(DownloadUtils, null, [{
      key: "getDatabase",
      value: function getDatabase(dbURL, dbDestinationFolder) {
        var config,
            filename,
            i,
            _args = arguments;
        return _regenerator.default.async(function getDatabase$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                config = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
                filename = null;
                i = 0;

              case 3:
                if (!(i < MAX_DOWNLOAD_ATTEMPTS && !filename)) {
                  _context.next = 19;
                  break;
                }

                _context.prev = 4;
                _context.next = 7;
                return _regenerator.default.awrap(DownloadUtils.getDBFromApiResponse(dbURL, dbDestinationFolder, config));

              case 7:
                filename = _context.sent;
                _context.next = 16;
                break;

              case 10:
                _context.prev = 10;
                _context.t0 = _context["catch"](4);

                if (!(_context.t0 instanceof DownloadError)) {
                  _context.next = 16;
                  break;
                }

                throw _context.t0;

              case 16:
                i++;
                _context.next = 3;
                break;

              case 19:
                if (!filename) {
                  _context.next = 21;
                  break;
                }

                return _context.abrupt("return", filename);

              case 21:
                throw new Error("Failed to download db -> " + dbURL);

              case 22:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[4, 10]], Promise);
      }
    }, {
      key: "scanPageFolderForImages",
      value: function scanPageFolderForImages(folder, filters) {
        var enhancedImages, LOW, GRAPH, GIF, PDF, HR, images, _loop, x;

        return _regenerator.default.async(function scanPageFolderForImages$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                enhancedImages = [];
                LOW = _$$_REQUIRE(_dependencyMap[10]).EPaperImageName.LOW, GRAPH = _$$_REQUIRE(_dependencyMap[10]).EPaperImageName.GRAPH, GIF = _$$_REQUIRE(_dependencyMap[10]).EPaperImageName.GIF, PDF = _$$_REQUIRE(_dependencyMap[10]).EPaperImageName.PDF, HR = _$$_REQUIRE(_dependencyMap[10]).EPaperImageName.HR;
                _context3.next = 4;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.readDir(folder));

              case 4:
                images = _context3.sent;

                _loop = function _callee(x) {
                  var _images$x, path, name, _await$getImageSize, width, height;

                  return _regenerator.default.async(function _callee$(_context2) {
                    while (1) {
                      switch (_context2.prev = _context2.next) {
                        case 0:
                          _images$x = images[x], path = _images$x.path, name = _images$x.name;

                          if (!(!filters || filters.length === 0 || filters.find(function (filter) {
                            return name.search(filter) > -1;
                          }))) {
                            _context2.next = 17;
                            break;
                          }

                          if (!(name === LOW || name === GRAPH || name === GIF || name.search(HR) > -1)) {
                            _context2.next = 16;
                            break;
                          }

                          _context2.next = 5;
                          return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[11]).getImageSize)("file://" + path));

                        case 5:
                          _await$getImageSize = _context2.sent;
                          width = _await$getImageSize.width;
                          height = _await$getImageSize.height;

                          if (!(width > 0 && height > 0)) {
                            _context2.next = 12;
                            break;
                          }

                          enhancedImages.push({
                            path: path,
                            name: name,
                            width: width,
                            height: height
                          });
                          _context2.next = 14;
                          break;

                        case 12:
                          _context2.next = 14;
                          return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[12]).FileUtils.unlink(path));

                        case 14:
                          _context2.next = 17;
                          break;

                        case 16:
                          if (name === PDF) {
                            enhancedImages.push({
                              path: path,
                              name: name,
                              width: 100,
                              height: 100
                            });
                          }

                        case 17:
                        case "end":
                          return _context2.stop();
                      }
                    }
                  }, null, null, null, Promise);
                };

                x = 0;

              case 7:
                if (!(x < images.length)) {
                  _context3.next = 13;
                  break;
                }

                _context3.next = 10;
                return _regenerator.default.awrap(_loop(x));

              case 10:
                x++;
                _context3.next = 7;
                break;

              case 13:
                return _context3.abrupt("return", enhancedImages);

              case 14:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getEditionDatabaseAndPages",
      value: function getEditionDatabaseAndPages(dbURL, zipDbFilename, destinationFolder) {
        var config,
            filenames,
            responseHeaders,
            retryCallback,
            i,
            files,
            _await$DownloadUtils$,
            _files,
            db,
            pages,
            secret,
            enhancedPages,
            j,
            _pages$j,
            pageFolderPath,
            pageName,
            _LOW,
            _GRAPH,
            _GIF,
            _PDF,
            _enhancedImages,
            TIMEOUT,
            SERVICE_ERROR,
            errorCode,
            _args4 = arguments;

        return _regenerator.default.async(function getEditionDatabaseAndPages$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                config = _args4.length > 3 && _args4[3] !== undefined ? _args4[3] : {};
                filenames = {};
                responseHeaders = {};
                retryCallback = config.retryCallback;
                i = 0;

              case 5:
                if (!(i < MAX_DOWNLOAD_ATTEMPTS && !filenames.db)) {
                  _context4.next = 45;
                  break;
                }

                _context4.prev = 6;

                if (i > 0) {
                  if (retryCallback && typeof retryCallback === "function") {
                    retryCallback(i + 1, MAX_DOWNLOAD_ATTEMPTS);
                  }
                }

                files = undefined;
                _context4.next = 11;
                return _regenerator.default.awrap(DownloadUtils.getEditionDBAndPagesFromApiResponse(dbURL, zipDbFilename, destinationFolder, config));

              case 11:
                _await$DownloadUtils$ = _context4.sent;
                files = _await$DownloadUtils$.files;
                responseHeaders = _await$DownloadUtils$.responseHeaders;
                _files = files, db = _files.db, pages = _files.pages, secret = _files.secret;

                if (!db) {
                  _context4.next = 31;
                  break;
                }

                filenames.db = db;
                filenames.secret = secret;
                enhancedPages = [];
                j = 0;

              case 20:
                if (!(j < pages.length)) {
                  _context4.next = 30;
                  break;
                }

                _pages$j = pages[j], pageFolderPath = _pages$j.path, pageName = _pages$j.name;
                _LOW = _$$_REQUIRE(_dependencyMap[10]).EPaperImageName.LOW, _GRAPH = _$$_REQUIRE(_dependencyMap[10]).EPaperImageName.GRAPH, _GIF = _$$_REQUIRE(_dependencyMap[10]).EPaperImageName.GIF, _PDF = _$$_REQUIRE(_dependencyMap[10]).EPaperImageName.PDF;
                _context4.next = 25;
                return _regenerator.default.awrap(DownloadUtils.scanPageFolderForImages(pageFolderPath, [_LOW, _GRAPH, _GIF, _PDF]));

              case 25:
                _enhancedImages = _context4.sent;

                if (_enhancedImages.length > 0) {
                  enhancedPages.push({
                    path: pageFolderPath,
                    name: pageName,
                    images: _enhancedImages
                  });
                }

              case 27:
                j++;
                _context4.next = 20;
                break;

              case 30:
                if (enhancedPages.length > 0) {
                  filenames.pages = enhancedPages;
                }

              case 31:
                _context4.next = 42;
                break;

              case 33:
                _context4.prev = 33;
                _context4.t0 = _context4["catch"](6);

                if (!(_context4.t0 instanceof DownloadError)) {
                  _context4.next = 42;
                  break;
                }

                TIMEOUT = DOWNLOAD_ERROR_CODES.TIMEOUT, SERVICE_ERROR = DOWNLOAD_ERROR_CODES.SERVICE_ERROR;
                errorCode = _context4.t0.getCode();

                if (!(errorCode !== TIMEOUT && errorCode !== SERVICE_ERROR)) {
                  _context4.next = 40;
                  break;
                }

                throw _context4.t0;

              case 40:
                _context4.next = 42;
                break;

              case 42:
                i++;
                _context4.next = 5;
                break;

              case 45:
                return _context4.abrupt("return", {
                  filenames: filenames,
                  responseHeaders: responseHeaders
                });

              case 46:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, [[6, 33]], Promise);
      }
    }, {
      key: "downloadResource",
      value: function downloadResource(resourceURL) {
        var config,
            response,
            TIMEOUT,
            NO_GRANTS,
            INVALID_ZIP,
            NO_ZIP,
            GENERIC_ERROR,
            SERVICE_ERROR,
            PARTIAL_CONTENT,
            INTERNAL_SERVER_ERROR,
            BAD_GATEWAY,
            SERVICE_UNAVAILABLE,
            GATEWAY_TIMEOUT,
            progressCallback,
            completionCallback,
            requestHeaders,
            startTime,
            kBitsDownloaded,
            duration,
            speed,
            error,
            _response,
            respInfo,
            path,
            status,
            headers,
            message,
            _error,
            _message,
            _error2,
            errorCode,
            _message2,
            params,
            invalid,
            _error3,
            resource,
            _error4,
            _args5 = arguments;

        return _regenerator.default.async(function downloadResource$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                config = _args5.length > 1 && _args5[1] !== undefined ? _args5[1] : {};
                response = null;
                TIMEOUT = DOWNLOAD_ERROR_CODES.TIMEOUT, NO_GRANTS = DOWNLOAD_ERROR_CODES.NO_GRANTS, INVALID_ZIP = DOWNLOAD_ERROR_CODES.INVALID_ZIP, NO_ZIP = DOWNLOAD_ERROR_CODES.NO_ZIP, GENERIC_ERROR = DOWNLOAD_ERROR_CODES.GENERIC_ERROR, SERVICE_ERROR = DOWNLOAD_ERROR_CODES.SERVICE_ERROR;
                PARTIAL_CONTENT = _Api.HTTP_CODES.PARTIAL_CONTENT, INTERNAL_SERVER_ERROR = _Api.HTTP_CODES.INTERNAL_SERVER_ERROR, BAD_GATEWAY = _Api.HTTP_CODES.BAD_GATEWAY, SERVICE_UNAVAILABLE = _Api.HTTP_CODES.SERVICE_UNAVAILABLE, GATEWAY_TIMEOUT = _Api.HTTP_CODES.GATEWAY_TIMEOUT;
                _context5.prev = 4;
                progressCallback = config.progressCallback, completionCallback = config.completionCallback, requestHeaders = config.requestHeaders;
                startTime = Date.now();
                kBitsDownloaded = 0;
                _context5.next = 10;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.fetch(resourceURL, {
                  timeout: _Api.default.timeout,
                  startCallBack: function startCallBack(contentLength) {
                    startTime = Date.now();

                    if (contentLength > 0) {
                      kBitsDownloaded = contentLength * 8 / 1024;
                    }
                  },
                  progressCallback: progressCallback,
                  requestHeaders: requestHeaders
                }));

              case 10:
                response = _context5.sent;

                if (completionCallback) {
                  duration = (Date.now() - startTime) / 1000;
                  speed = kBitsDownloaded / duration;
                  completionCallback({
                    speed: speed
                  });
                }

                _context5.next = 18;
                break;

              case 14:
                _context5.prev = 14;
                _context5.t0 = _context5["catch"](4);
                error = new DownloadError(TIMEOUT, _context5.t0.message);
                throw error;

              case 18:
                if (!response) {
                  _context5.next = 58;
                  break;
                }

                _response = response, respInfo = _response.respInfo, path = _response.path;
                status = respInfo.status, headers = respInfo.headers;

                if (!(status === INTERNAL_SERVER_ERROR)) {
                  _context5.next = 27;
                  break;
                }

                message = "Internal server error";
                _error = new DownloadError(GENERIC_ERROR, message);
                throw _error;

              case 27:
                if (!(status === BAD_GATEWAY || status === SERVICE_UNAVAILABLE || status === GATEWAY_TIMEOUT)) {
                  _context5.next = 33;
                  break;
                }

                _message = "Server service/gateway error";
                _error2 = new DownloadError(SERVICE_ERROR, _message);
                throw _error2;

              case 33:
                if (!(status === PARTIAL_CONTENT)) {
                  _context5.next = 54;
                  break;
                }

                params = {};

                if (headers && headers["Ta-Validation-Error"]) {
                  try {
                    params = JSON.parse(headers["Ta-Validation-Error"]);
                  } catch (e) {}
                }

                invalid = parseInt(params.invalid || "1", 10);
                _context5.t1 = invalid;
                _context5.next = _context5.t1 === 2 ? 40 : _context5.t1 === 3 ? 43 : _context5.t1 === 1 ? 46 : 46;
                break;

              case 40:
                errorCode = INVALID_ZIP;
                _message2 = "The zip is not valid";
                return _context5.abrupt("break", 49);

              case 43:
                errorCode = NO_ZIP;
                _message2 = "No zip present";
                return _context5.abrupt("break", 49);

              case 46:
                errorCode = NO_GRANTS;
                _message2 = "No grants";
                return _context5.abrupt("break", 49);

              case 49:
                _error3 = new DownloadError(errorCode, _message2);

                _error3.setParams(params);

                throw _error3;

              case 54:
                resource = path();
                return _context5.abrupt("return", {
                  responseHeaders: headers,
                  resource: resource
                });

              case 56:
                _context5.next = 60;
                break;

              case 58:
                _error4 = "No response from download URL: " + resourceURL;
                throw new Error(_error4);

              case 60:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, [[4, 14]], Promise);
      }
    }, {
      key: "downloadResourceInFolder",
      value: function downloadResourceInFolder(resourceURL, destinationFolder, filename) {
        var config,
            _await$DownloadUtils$2,
            responseHeaders,
            tmpFile,
            filenameToUse,
            destinationFile,
            _args6 = arguments;

        return _regenerator.default.async(function downloadResourceInFolder$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                config = _args6.length > 3 && _args6[3] !== undefined ? _args6[3] : {};
                _context6.next = 3;
                return _regenerator.default.awrap(DownloadUtils.downloadResource(resourceURL, config));

              case 3:
                _await$DownloadUtils$2 = _context6.sent;
                responseHeaders = _await$DownloadUtils$2.responseHeaders;
                tmpFile = _await$DownloadUtils$2.resource;
                _context6.t0 = tmpFile;

                if (!_context6.t0) {
                  _context6.next = 11;
                  break;
                }

                _context6.next = 10;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.exists(tmpFile));

              case 10:
                _context6.t0 = _context6.sent;

              case 11:
                if (!_context6.t0) {
                  _context6.next = 33;
                  break;
                }

                _context6.next = 14;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.mkdir(destinationFolder));

              case 14:
                if (filename) {
                  if (filename === _$$_REQUIRE(_dependencyMap[10]).EPaperImageName.PDF && responseHeaders["Content-Type"] === "image/gif") {
                    filenameToUse = _$$_REQUIRE(_dependencyMap[10]).EPaperImageName.GIF;
                  } else {
                    filenameToUse = filename;
                  }
                } else {
                  filenameToUse = _tecnaviaFileUtils.default.getFilename(tmpFile);
                }

                destinationFile = destinationFolder + filenameToUse;
                _context6.prev = 16;
                _context6.next = 19;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.moveFile(tmpFile, destinationFile));

              case 19:
                _context6.next = 32;
                break;

              case 21:
                _context6.prev = 21;
                _context6.t1 = _context6["catch"](16);
                _context6.prev = 23;
                _context6.next = 26;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unlink(destinationFile));

              case 26:
                _context6.next = 30;
                break;

              case 28:
                _context6.prev = 28;
                _context6.t2 = _context6["catch"](23);

              case 30:
                _context6.next = 32;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.moveFile(tmpFile, destinationFile));

              case 32:
                return _context6.abrupt("return", destinationFile);

              case 33:
                throw new Error("Unable to download " + resourceURL + " and move to " + destinationFolder);

              case 34:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, [[16, 21], [23, 28]], Promise);
      }
    }, {
      key: "downloadResourceAndUnzipInFolder",
      value: function downloadResourceAndUnzipInFolder(resourceURL, destinationFolder) {
        var config,
            _await$DownloadUtils$3,
            tmpFile,
            responseHeaders,
            files,
            _args7 = arguments;

        return _regenerator.default.async(function downloadResourceAndUnzipInFolder$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                config = _args7.length > 2 && _args7[2] !== undefined ? _args7[2] : {};
                _context7.next = 3;
                return _regenerator.default.awrap(DownloadUtils.downloadResource(resourceURL, config));

              case 3:
                _await$DownloadUtils$3 = _context7.sent;
                tmpFile = _await$DownloadUtils$3.resource;
                responseHeaders = _await$DownloadUtils$3.responseHeaders;
                _context7.t0 = tmpFile;

                if (!_context7.t0) {
                  _context7.next = 11;
                  break;
                }

                _context7.next = 10;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.exists(tmpFile));

              case 10:
                _context7.t0 = _context7.sent;

              case 11:
                if (!_context7.t0) {
                  _context7.next = 26;
                  break;
                }

                _context7.next = 14;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.mkdir(destinationFolder));

              case 14:
                _context7.prev = 14;
                _context7.next = 17;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unzip(tmpFile, destinationFolder));

              case 17:
                files = _context7.sent;

                _tecnaviaFileUtils.default.clearUnusedDownloadedFiles(tmpFile);

                return _context7.abrupt("return", {
                  files: files,
                  responseHeaders: responseHeaders
                });

              case 22:
                _context7.prev = 22;
                _context7.t1 = _context7["catch"](14);

                _tecnaviaFileUtils.default.clearUnusedDownloadedFiles(tmpFile);

                throw _context7.t1;

              case 26:
                throw new Error("Unable to download " + resourceURL + " and move to " + destinationFolder);

              case 27:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, [[14, 22]], Promise);
      }
    }, {
      key: "getEditionDBAndPagesFromApiResponse",
      value: function getEditionDBAndPagesFromApiResponse(dbURL, zipDbFilename, destinationFolder) {
        var config,
            filenames,
            unzippedFiles,
            responseHeaders,
            _await$DownloadUtils$4,
            zipDb,
            db,
            i,
            filename,
            files,
            _i,
            _files$_i,
            path,
            name,
            isDirectory,
            callbackAfterUnzip,
            _args9 = arguments;

        return _regenerator.default.async(function getEditionDBAndPagesFromApiResponse$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                config = _args9.length > 3 && _args9[3] !== undefined ? _args9[3] : {};
                filenames = {};
                responseHeaders = {};
                _context9.prev = 3;
                _context9.next = 6;
                return _regenerator.default.awrap(DownloadUtils.downloadResourceAndUnzipInFolder(dbURL, destinationFolder, config));

              case 6:
                _await$DownloadUtils$4 = _context9.sent;
                unzippedFiles = _await$DownloadUtils$4.files;
                responseHeaders = _await$DownloadUtils$4.responseHeaders;
                _context9.prev = 9;
                zipDb = destinationFolder + zipDbFilename;
                db = destinationFolder + DownloadUtils.getDatabaseName(zipDb);
                _context9.next = 14;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.exists(zipDb));

              case 14:
                if (!_context9.sent) {
                  _context9.next = 25;
                  break;
                }

                _context9.prev = 15;
                _context9.next = 18;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unzip(zipDb, destinationFolder));

              case 18:
                _tecnaviaFileUtils.default.clearUnusedDownloadedFiles(zipDb);

                _context9.next = 25;
                break;

              case 21:
                _context9.prev = 21;
                _context9.t0 = _context9["catch"](15);

                _tecnaviaFileUtils.default.clearUnusedDownloadedFiles(zipDb);

                throw _context9.t0;

              case 25:
                _context9.next = 27;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.exists(db));

              case 27:
                if (!_context9.sent) {
                  _context9.next = 73;
                  break;
                }

                filenames.db = db;
                _context9.prev = 29;
                filenames.pages = [];

                if (!Array.isArray(unzippedFiles)) {
                  _context9.next = 49;
                  break;
                }

                i = 0;

              case 33:
                if (!(i < unzippedFiles.length)) {
                  _context9.next = 47;
                  break;
                }

                filename = unzippedFiles[i];

                if (!(filename === SECRET_PDF_FILENAME)) {
                  _context9.next = 41;
                  break;
                }

                _context9.next = 38;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.readFile(destinationFolder + filename));

              case 38:
                filenames.secret = _context9.sent;
                _context9.next = 44;
                break;

              case 41:
                if (!(filename !== zipDbFilename)) {
                  _context9.next = 44;
                  break;
                }

                _context9.next = 44;
                return _regenerator.default.awrap(function _callee2() {
                  var pageFolder, path, _await$TecnaviaFileUt, isDirectory;

                  return _regenerator.default.async(function _callee2$(_context8) {
                    while (1) {
                      switch (_context8.prev = _context8.next) {
                        case 0:
                          pageFolder = _$$_REQUIRE(_dependencyMap[12]).StringUtils.getParentPath(filename);

                          if (filenames.pages.find(function (_ref) {
                            var name = _ref.name;
                            return name === pageFolder;
                          })) {
                            _context8.next = 8;
                            break;
                          }

                          path = destinationFolder + pageFolder;
                          _context8.next = 5;
                          return _regenerator.default.awrap(_tecnaviaFileUtils.default.stat(path));

                        case 5:
                          _await$TecnaviaFileUt = _context8.sent;
                          isDirectory = _await$TecnaviaFileUt.isDirectory;

                          if (isDirectory()) {
                            filenames.pages.push({
                              path: path,
                              name: pageFolder
                            });
                          }

                        case 8:
                        case "end":
                          return _context8.stop();
                      }
                    }
                  }, null, null, null, Promise);
                }());

              case 44:
                i++;
                _context9.next = 33;
                break;

              case 47:
                _context9.next = 66;
                break;

              case 49:
                _context9.next = 51;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.readDir(destinationFolder));

              case 51:
                files = _context9.sent;
                _i = 0;

              case 53:
                if (!(_i < files.length)) {
                  _context9.next = 66;
                  break;
                }

                _files$_i = files[_i], path = _files$_i.path, name = _files$_i.name, isDirectory = _files$_i.isDirectory;

                if (!isDirectory()) {
                  _context9.next = 59;
                  break;
                }

                filenames.pages.push({
                  path: path,
                  name: name
                });
                _context9.next = 63;
                break;

              case 59:
                if (!(name === SECRET_PDF_FILENAME)) {
                  _context9.next = 63;
                  break;
                }

                _context9.next = 62;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.readFile(path));

              case 62:
                filenames.secret = _context9.sent;

              case 63:
                _i++;
                _context9.next = 53;
                break;

              case 66:
                _context9.next = 71;
                break;

              case 68:
                _context9.prev = 68;
                _context9.t1 = _context9["catch"](29);
                throw _context9.t1;

              case 71:
                _context9.next = 74;
                break;

              case 73:
                throw new Error("Editions database not found after unzip");

              case 74:
                callbackAfterUnzip = config.callbackAfterUnzip;

                if (!callbackAfterUnzip) {
                  _context9.next = 83;
                  break;
                }

                _context9.prev = 76;
                _context9.next = 79;
                return _regenerator.default.awrap(callbackAfterUnzip());

              case 79:
                _context9.next = 83;
                break;

              case 81:
                _context9.prev = 81;
                _context9.t2 = _context9["catch"](76);

              case 83:
                _context9.next = 88;
                break;

              case 85:
                _context9.prev = 85;
                _context9.t3 = _context9["catch"](9);
                throw _context9.t3;

              case 88:
                _context9.next = 93;
                break;

              case 90:
                _context9.prev = 90;
                _context9.t4 = _context9["catch"](3);
                throw _context9.t4;

              case 93:
                return _context9.abrupt("return", {
                  files: filenames,
                  responseHeaders: responseHeaders
                });

              case 94:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, [[3, 90], [9, 85], [15, 21], [29, 68], [76, 81]], Promise);
      }
    }, {
      key: "getDBFromApiResponse",
      value: function getDBFromApiResponse(dbURL, destinationFolder) {
        var config,
            filename,
            unzippedFiles,
            _await$DownloadUtils$5,
            dbFiles,
            db,
            callbackAfterUnzip,
            _args10 = arguments;

        return _regenerator.default.async(function getDBFromApiResponse$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                config = _args10.length > 2 && _args10[2] !== undefined ? _args10[2] : {};
                filename = null;
                _context10.prev = 2;
                _context10.next = 5;
                return _regenerator.default.awrap(DownloadUtils.downloadResourceAndUnzipInFolder(dbURL, destinationFolder, config));

              case 5:
                _await$DownloadUtils$5 = _context10.sent;
                unzippedFiles = _await$DownloadUtils$5.files;
                _context10.prev = 7;

                if (!(unzippedFiles.length > 0)) {
                  _context10.next = 25;
                  break;
                }

                dbFiles = unzippedFiles.filter(function (file) {
                  return file.endsWith(".db");
                });

                if (!(dbFiles.length > 0)) {
                  _context10.next = 25;
                  break;
                }

                db = destinationFolder + dbFiles[0];
                _context10.next = 14;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.exists(db));

              case 14:
                if (!_context10.sent) {
                  _context10.next = 25;
                  break;
                }

                filename = db;
                callbackAfterUnzip = config.callbackAfterUnzip;

                if (!(typeof callbackAfterUnzip === "function")) {
                  _context10.next = 25;
                  break;
                }

                _context10.prev = 18;
                _context10.next = 21;
                return _regenerator.default.awrap(callbackAfterUnzip(filename));

              case 21:
                _context10.next = 25;
                break;

              case 23:
                _context10.prev = 23;
                _context10.t0 = _context10["catch"](18);

              case 25:
                _context10.next = 30;
                break;

              case 27:
                _context10.prev = 27;
                _context10.t1 = _context10["catch"](7);
                throw _context10.t1;

              case 30:
                _context10.next = 35;
                break;

              case 32:
                _context10.prev = 32;
                _context10.t2 = _context10["catch"](2);
                throw _context10.t2;

              case 35:
                return _context10.abrupt("return", filename);

              case 36:
              case "end":
                return _context10.stop();
            }
          }
        }, null, null, [[2, 32], [7, 27], [18, 23]], Promise);
      }
    }, {
      key: "getDatabaseName",
      value: function getDatabaseName(url) {
        return _tecnaviaFileUtils.default.getFilename(url).replace(".zip", ".db");
      }
    }]);
    return DownloadUtils;
  }();

  exports.default = DownloadUtils;
},586,[5,80,7,8,12,14,16,63,574,431,587,588,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.EPaperImageName = exports.EPaperImageType = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var EPaperImageType = {
    LOW: "LL",
    GRAPH: "LG",
    TEXT: "LT",
    HR: "HR",
    HR_ZIP: "HR_ZIP",
    PNG: "PNG"
  };
  exports.EPaperImageType = EPaperImageType;
  var EPaperImageName = {
    LOW: "low.jpg",
    GRAPH: "graph.jpg",
    GIF: "text.gif",
    PDF: "pagetext.pdf",
    PNG: "pagetext.png",
    PNG_FALLBACK: "text.png",
    HR: "pag_[0-9]+_[0-9]+.(jpg|gif)",
    HR_ZIP: "archive.zipgraph"
  };
  exports.EPaperImageName = EPaperImageName;

  var EPaperImage = function () {
    function EPaperImage() {
      (0, _classCallCheck2.default)(this, EPaperImage);
    }

    (0, _createClass2.default)(EPaperImage, [{
      key: "setPageId",
      value: function setPageId(pageId) {
        this.pageId = pageId;
      }
    }, {
      key: "getPageId",
      value: function getPageId() {
        return this.pageId;
      }
    }, {
      key: "setType",
      value: function setType(type) {
        this.type = type;
      }
    }, {
      key: "getType",
      value: function getType() {
        return this.type;
      }
    }, {
      key: "setTypeByName",
      value: function setTypeByName(name) {
        var LOW = EPaperImageName.LOW,
            GRAPH = EPaperImageName.GRAPH,
            PNG = EPaperImageName.PNG,
            PNG_FALLBACK = EPaperImageName.PNG_FALLBACK,
            GIF = EPaperImageName.GIF,
            PDF = EPaperImageName.PDF,
            HR = EPaperImageName.HR,
            HR_ZIP = EPaperImageName.HR_ZIP;
        var type = null;

        switch (name) {
          case LOW:
            type = EPaperImageType.LOW;
            break;

          case GRAPH:
            type = EPaperImageType.GRAPH;
            break;

          case PNG:
          case PNG_FALLBACK:
            type = EPaperImageType.PNG;
            break;

          case GIF:
          case PDF:
            type = EPaperImageType.TEXT;
            break;

          case HR_ZIP:
            type = EPaperImageType.HR_ZIP;
            break;

          default:
            if (name.search(HR) > -1) {
              type = EPaperImageType.HR + "_" + name;
            }

            break;
        }

        this.setType(type);
      }
    }, {
      key: "setName",
      value: function setName(name) {
        this.name = name;
      }
    }, {
      key: "getName",
      value: function getName(dataSaveMode) {
        var name = "";
        var LOW = EPaperImageType.LOW,
            GRAPH = EPaperImageType.GRAPH,
            TEXT = EPaperImageType.TEXT,
            PNG = EPaperImageType.PNG,
            HR_ZIP = EPaperImageType.HR_ZIP;

        switch (this.type) {
          case LOW:
            name = EPaperImageName.LOW;
            break;

          case GRAPH:
            name = EPaperImageName.GRAPH;
            break;

          case TEXT:
            if (dataSaveMode) {
              name = EPaperImageName.GIF;
            } else {
              name = EPaperImageName.PDF;
            }

            break;

          case PNG:
            name = EPaperImageName.PNG;
            break;

          case HR_ZIP:
            name = EPaperImageName.HR_ZIP;
            break;

          default:
            name = this.name;
            break;
        }

        return name;
      }
    }, {
      key: "setBase64",
      value: function setBase64(base64) {
        this.base64 = base64;
      }
    }, {
      key: "getBase64",
      value: function getBase64() {
        return this.base64;
      }
    }, {
      key: "setWidth",
      value: function setWidth(sizeX) {
        this.width = sizeX;
      }
    }, {
      key: "getWidth",
      value: function getWidth() {
        return this.width;
      }
    }, {
      key: "setHeight",
      value: function setHeight(sizeY) {
        this.height = sizeY;
      }
    }, {
      key: "getHeight",
      value: function getHeight() {
        return this.height;
      }
    }, {
      key: "isLow",
      value: function isLow() {
        return this.type === EPaperImageType.LOW;
      }
    }, {
      key: "isGraph",
      value: function isGraph() {
        return this.type === EPaperImageType.GRAPH;
      }
    }, {
      key: "isText",
      value: function isText() {
        return this.type === EPaperImageType.TEXT;
      }
    }, {
      key: "isHighRes",
      value: function isHighRes() {
        return this.type.includes(EPaperImageType.HR);
      }
    }, {
      key: "isHighResZip",
      value: function isHighResZip() {
        return this.type === EPaperImageType.HR_ZIP;
      }
    }, {
      key: "isTextPNG",
      value: function isTextPNG() {
        return this.type === EPaperImageType.PNG;
      }
    }, {
      key: "isTextGIF",
      value: function isTextGIF() {
        if (this.name) {
          return this.name === EPaperImageName.GIF;
        }

        return this.base64.endsWith(EPaperImageName.GIF);
      }
    }, {
      key: "isTextPDF",
      value: function isTextPDF() {
        if (this.name) {
          return this.name === EPaperImageName.PDF;
        }

        return this.base64.endsWith(EPaperImageName.PDF);
      }
    }]);
    return EPaperImage;
  }();

  exports.default = EPaperImage;
},587,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.prefetch = exports.cropImage = exports.getSizeAsync = exports.getSize = exports.getImageSize = exports.queryCache = exports.getImageBase64String = exports.imageBase64 = exports.FILTER = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _imageEditor = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNativeImageProgress = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNativeFastImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNativePhotoViewEx = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var FILTER = {
    GRAYSCALE: "grayscale"
  };
  exports.FILTER = FILTER;

  var imageBase64 = function _callee(props) {
    var source, isLocalResource, uri, _Image$resolveAssetSo, base64, isIOS, path;

    return _regenerator.default.async(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            source = props.source;
            _context.prev = 1;
            isLocalResource = typeof source === "number";

            if (isLocalResource) {
              _Image$resolveAssetSo = _reactNative.Image.resolveAssetSource(source);
              uri = _Image$resolveAssetSo.uri;
            } else {
              uri = source.uri;
            }

            isIOS = _$$_REQUIRE(_dependencyMap[13]).PlatformUtils.isIOS();

            if (!(isIOS || global.__DEV__ || !isLocalResource)) {
              _context.next = 26;
              break;
            }

            if (!(isIOS && _$$_REQUIRE(_dependencyMap[13]).StringUtils.isLocalURL(uri))) {
              _context.next = 21;
              break;
            }

            path = uri.replace("file://", "");
            _context.prev = 8;
            _context.next = 11;
            return _regenerator.default.awrap(_tecnaviaFileUtils.default.readFileBase64(path));

          case 11:
            base64 = _context.sent;
            _context.next = 19;
            break;

          case 14:
            _context.prev = 14;
            _context.t0 = _context["catch"](8);
            _context.next = 18;
            return _regenerator.default.awrap(_tecnaviaFileUtils.default.fetchBase64(uri));

          case 18:
            base64 = _context.sent;

          case 19:
            _context.next = 24;
            break;

          case 21:
            _context.next = 23;
            return _regenerator.default.awrap(_tecnaviaFileUtils.default.fetchBase64(uri));

          case 23:
            base64 = _context.sent;

          case 24:
            _context.next = 29;
            break;

          case 26:
            _context.next = 28;
            return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[14]).OurBridge.getBase64FromRes(uri));

          case 28:
            base64 = _context.sent;

          case 29:
            return _context.abrupt("return", "data:image/jpeg;base64," + base64);

          case 32:
            _context.prev = 32;
            _context.t1 = _context["catch"](1);

          case 34:
            return _context.abrupt("return", undefined);

          case 35:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, [[1, 32], [8, 14]], Promise);
  };

  exports.imageBase64 = imageBase64;

  var getImageBase64String = function getImageBase64String(base64) {
    var dataType = _$$_REQUIRE(_dependencyMap[13]).PlatformUtils.isAndroid() ? "image/png" : "image/jpeg";
    return "data:" + dataType + ";base64," + base64;
  };

  exports.getImageBase64String = getImageBase64String;

  var queryCache = function queryCache() {
    var urls = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
    return _reactNative.Image.queryCache(urls);
  };

  exports.queryCache = queryCache;

  var getImageSize = function _callee2(resource) {
    return _regenerator.default.async(function _callee2$(_context2) {
      while (1) {
        switch (_context2.prev = _context2.next) {
          case 0:
            return _context2.abrupt("return", new Promise(function (resolve, reject) {
              if (typeof resource === "string") {
                _reactNative.Image.getSize(resource, function (w, h) {
                  resolve({
                    width: w,
                    height: h
                  });
                }, function (error) {
                  resolve({
                    width: 0,
                    height: 0
                  });
                });
              } else if (typeof resource === "number") {
                try {
                  resolve(_reactNative.Image.resolveAssetSource(resource));
                } catch (e) {
                  resolve({
                    width: 0,
                    height: 0
                  });
                }
              } else {
                resolve({
                  width: 0,
                  height: 0
                });
              }
            }));

          case 1:
          case "end":
            return _context2.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.getImageSize = getImageSize;

  var getSize = function _callee3(resource) {
    var callback,
        error,
        _await$getImageSize,
        width,
        height,
        _args3 = arguments;

    return _regenerator.default.async(function _callee3$(_context3) {
      while (1) {
        switch (_context3.prev = _context3.next) {
          case 0:
            callback = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : function () {};
            error = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : function () {};
            _context3.prev = 2;
            _context3.next = 5;
            return _regenerator.default.awrap(getImageSize(resource));

          case 5:
            _await$getImageSize = _context3.sent;
            width = _await$getImageSize.width;
            height = _await$getImageSize.height;
            callback(width, height);
            _context3.next = 14;
            break;

          case 11:
            _context3.prev = 11;
            _context3.t0 = _context3["catch"](2);
            error(_context3.t0);

          case 14:
          case "end":
            return _context3.stop();
        }
      }
    }, null, null, [[2, 11]], Promise);
  };

  exports.getSize = getSize;

  var getSizeAsync = function _callee4(url) {
    return _regenerator.default.async(function _callee4$(_context4) {
      while (1) {
        switch (_context4.prev = _context4.next) {
          case 0:
            return _context4.abrupt("return", new Promise(function (resolve, reject) {
              _reactNative.Image.getSize(url, function (width, height) {
                resolve({
                  width: width,
                  height: height
                });
              }, function (error) {
                reject(error);
              });
            }));

          case 1:
          case "end":
            return _context4.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.getSizeAsync = getSizeAsync;

  var cropImage = function _callee5(url) {
    var params,
        _args5 = arguments;
    return _regenerator.default.async(function _callee5$(_context5) {
      while (1) {
        switch (_context5.prev = _context5.next) {
          case 0:
            params = _args5.length > 1 && _args5[1] !== undefined ? _args5[1] : {};
            return _context5.abrupt("return", _imageEditor.default.cropImage(url, params));

          case 2:
          case "end":
            return _context5.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.cropImage = cropImage;

  var prefetch = function _callee6(url) {
    return _regenerator.default.async(function _callee6$(_context6) {
      while (1) {
        switch (_context6.prev = _context6.next) {
          case 0:
            return _context6.abrupt("return", _reactNative.Image.prefetch(url));

          case 1:
          case "end":
            return _context6.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.prefetch = prefetch;

  var isSourceValid = function isSourceValid(source) {
    if (source === undefined || source === null) {
      return false;
    }

    if (typeof source === "object") {
      if (source.uri && !source.uri.length) {
        return false;
      }

      if (!_$$_REQUIRE(_dependencyMap[13]).StringUtils.isDomainValid(source.uri)) {
        return false;
      }
    }

    return true;
  };

  var getStyleProps = function getStyleProps(style) {
    var props = {};

    if (style) {
      var tintColor = _$$_REQUIRE(_dependencyMap[13]).CssUtils.getTintColorAttributeStyle(style);

      if (tintColor) {
        props.tintColor = tintColor;
      }
    }

    return (0, _extends2.default)({}, props, {
      style: _$$_REQUIRE(_dependencyMap[13]).CssUtils.deleteKeysFromStyle(style, ["fontSize"])
    });
  };

  function TecnaviaGrayscale(props) {
    var filter = props.filter,
        grayscaleStyle = props.grayscaleStyle,
        children = props.children;

    if (children && filter === FILTER.GRAYSCALE) {
      var value = _$$_REQUIRE(_dependencyMap[13]).CssUtils.grayscaleValue(grayscaleStyle) || 0;
      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).Grayscale, {
        amount: value,
        style: grayscaleStyle
      }, children);
    }

    return children;
  }

  function RNImage(props) {
    var source = props.source,
        error = props.error,
        animated = props.animated,
        _onError = props.onError,
        style = props.style,
        tintColor = props.tintColor,
        rest = (0, _objectWithoutProperties2.default)(props, ["source", "error", "animated", "onError", "style", "tintColor"]);

    if (error) {
      return null;
    }

    var offlineCache = _$$_REQUIRE(_dependencyMap[13]).PlatformUtils.isIOS() && !_$$_REQUIRE(_dependencyMap[13]).NetworkUtils.isOnline() && source && source.uri && !_$$_REQUIRE(_dependencyMap[13]).StringUtils.isLocalURL(source.uri) && !error;

    if (offlineCache) {
      source.cache = "only-if-cached";
    } else if (source && source.cache === "web") {
      source.cache = "reload";
    }

    var imageStyle = [];

    if (tintColor) {
      imageStyle.push({
        tintColor: tintColor
      });
    }

    imageStyle.push(style);
    var ComponentImage = animated ? _reactNative.Animated.Image : _reactNative.Image;
    return _react.default.createElement(ComponentImage, (0, _extends2.default)({
      onError: function onError(_ref) {
        var nativeEvent = _ref.nativeEvent;

        if (typeof _onError === "function") {
          _onError();
        }
      },
      source: source,
      style: imageStyle
    }, rest));
  }

  function FSImage(props) {
    var source = props.source,
        error = props.error,
        _onError2 = props.onError,
        rest = (0, _objectWithoutProperties2.default)(props, ["source", "error", "onError"]);

    if (error) {
      return null;
    }

    if (source && source.cache === "reload") {
      source.cache = "web";
    }

    return _react.default.createElement(_reactNativeFastImage.default, (0, _extends2.default)({
      onError: function onError(_ref2) {
        var nativeEvent = _ref2.nativeEvent;

        if (typeof _onError2 === "function") {
          _onError2();
        }
      },
      source: source
    }, rest));
  }

  var skipUpdate = function skipUpdate(props, nextProps) {
    return _$$_REQUIRE(_dependencyMap[13]).JSUtils.equals(props, nextProps);
  };

  var TecnaviaImage = _react.default.memo(function (props) {
    var _useState = (0, _react.useState)(false),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        rnImageError = _useState2[0],
        setRNImageError = _useState2[1];

    var _useState3 = (0, _react.useState)(false),
        _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
        fsImageError = _useState4[0],
        setFSImageError = _useState4[1];

    var onErrorCallback = function onErrorCallback(event) {
      var onError = props.onError;

      if (typeof onError === "function") {
        onError(event);
      }
    };

    var onRNImageError = function onRNImageError(event) {
      onErrorCallback(event);
      setRNImageError(true);
    };

    var onFSImageError = function onFSImageError(event) {
      onErrorCallback(event);
      setFSImageError(true);
    };

    var source = props.source,
        forceRNComponent = props.forceRNComponent,
        forceFastComponent = props.forceFastComponent,
        progress = props.progress,
        forceProgressComponent = props.forceProgressComponent,
        forceZoomComponent = props.forceZoomComponent,
        rest = (0, _objectWithoutProperties2.default)(props, ["source", "forceRNComponent", "forceFastComponent", "progress", "forceProgressComponent", "forceZoomComponent"]);

    var isAndroid = _$$_REQUIRE(_dependencyMap[13]).PlatformUtils.isAndroid();

    var isRecentAndroid = isAndroid && !_$$_REQUIRE(_dependencyMap[13]).PlatformUtils.isPreviousMarshmallow();
    var isIOS = !isAndroid;
    var useRNImage = forceRNComponent || rest.animated || isAndroid && !isRecentAndroid || !forceFastComponent && (isIOS || isRecentAndroid && !rnImageError);
    var useFSImage = !fsImageError;

    if (!isSourceValid(source)) {
      return null;
    }

    var styleProps = getStyleProps(rest.style);
    var Component = null;

    if (forceProgressComponent || progress) {
      Component = _react.default.createElement(_reactNativeImageProgress.default, (0, _extends2.default)({}, rest, styleProps, {
        source: source
      }));
    } else if (forceZoomComponent) {
      Component = _react.default.createElement(_reactNativePhotoViewEx.default, (0, _extends2.default)({}, rest, styleProps, {
        source: source
      }));
    } else if (useRNImage) {
      Component = _react.default.createElement(RNImage, (0, _extends2.default)({}, rest, styleProps, {
        source: source,
        error: rnImageError,
        onError: onRNImageError
      }));
    } else if (useFSImage) {
      Component = _react.default.createElement(FSImage, (0, _extends2.default)({}, rest, styleProps, {
        source: source,
        error: fsImageError,
        onError: onFSImageError
      }));
    }

    return _react.default.createElement(TecnaviaGrayscale, (0, _extends2.default)({}, rest, styleProps), Component);
  }, skipUpdate);

  TecnaviaImage.propTypes = {
    animated: _propTypes.default.bool,
    progress: _propTypes.default.bool,
    forceProgressComponent: _propTypes.default.bool,
    forceRNComponent: _propTypes.default.bool,
    forceFastComponent: _propTypes.default.bool,
    forceZoomComponent: _propTypes.default.bool,
    filter: _propTypes.default.string,
    source: _propTypes.default.oneOfType([_propTypes.default.shape({
      uri: _propTypes.default.string
    }), _propTypes.default.number]),
    onError: _propTypes.default.func
  };
  TecnaviaImage.defaultProps = {
    animated: false,
    progress: false,
    forceProgressComponent: false,
    forceRNComponent: false,
    forceFastComponent: false,
    forceZoomComponent: false
  };
  var _default = TecnaviaImage;
  exports.default = _default;
},588,[5,41,108,6,80,17,201,28,589,590,591,592,574,462,582,594]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var RNCImageEditor = _reactNative.NativeModules.RNCImageEditor;

  var ImageEditor = function () {
    function ImageEditor() {
      (0, _classCallCheck2.default)(this, ImageEditor);
    }

    (0, _createClass2.default)(ImageEditor, null, [{
      key: "cropImage",
      value: function cropImage(uri, cropData) {
        return RNCImageEditor.cropImage(uri, cropData);
      }
    }]);
    return ImageEditor;
  }();

  var _default = ImageEditor;
  exports.default = _default;
},589,[5,7,8,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.createImageProgress = undefined;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var styles = _reactNative.StyleSheet.create({
    centered: (0, _extends2.default)({}, _reactNative.StyleSheet.absoluteFillObject, {
      alignItems: 'center',
      justifyContent: 'center'
    })
  });

  var DefaultIndicator = _reactNative.ActivityIndicator;

  var getSourceKey = function getSourceKey(source) {
    return source && source.uri || String(source);
  };

  var createImageProgress = function createImageProgress(ImageComponent) {
    var _class;

    return _class = function (_Component) {
      (0, _inherits2.default)(ImageProgress, _Component);

      var _super = _createSuper(ImageProgress);

      function ImageProgress(props) {
        var _this;

        (0, _classCallCheck2.default)(this, ImageProgress);
        _this = _super.call(this, props);
        _this.ref = null;

        _this.handleRef = function (ref) {
          _this.ref = ref;
        };

        _this.handleLoadStart = function () {
          if (!_this.state.loading && _this.state.progress !== 1) {
            _this.setState({
              error: null,
              loading: true,
              progress: 0
            });
          }

          _this.bubbleEvent('onLoadStart');
        };

        _this.handleProgress = function (event) {
          var progress = event.nativeEvent.loaded / event.nativeEvent.total;

          if (progress !== _this.state.progress && _this.state.progress !== 1) {
            _this.setState({
              loading: progress < 1,
              progress: progress
            });
          }

          _this.bubbleEvent('onProgress', event);
        };

        _this.handleError = function (event) {
          _this.setState({
            loading: false,
            error: event.nativeEvent
          });

          _this.bubbleEvent('onError', event);
        };

        _this.handleLoad = function (event) {
          if (_this.state.progress !== 1) {
            _this.setState({
              error: null,
              loading: false,
              progress: 1
            });
          }

          _this.bubbleEvent('onLoad', event);
        };

        _this.handleLoadEnd = function (event) {
          _this.setState({
            loading: false,
            progress: 1
          });

          _this.bubbleEvent('onLoadEnd', event);
        };

        _this.state = {
          sourceKey: getSourceKey(props.source),
          error: null,
          loading: false,
          progress: 0,
          thresholdReached: !props.threshold
        };
        return _this;
      }

      (0, _createClass2.default)(ImageProgress, [{
        key: "componentDidMount",
        value: function componentDidMount() {
          var _this2 = this;

          if (this.props.threshold) {
            this.thresholdTimer = setTimeout(function () {
              _this2.setState({
                thresholdReached: true
              });

              _this2.thresholdTimer = null;
            }, this.props.threshold);
          }
        }
      }, {
        key: "componentWillUnmount",
        value: function componentWillUnmount() {
          if (this.thresholdTimer) {
            clearTimeout(this.thresholdTimer);
          }
        }
      }, {
        key: "setNativeProps",
        value: function setNativeProps(nativeProps) {
          if (this.ref) {
            this.ref.setNativeProps(nativeProps);
          }
        }
      }, {
        key: "measure",
        value: function measure(cb) {
          if (this.ref) {
            this.ref.measure(cb);
          }
        }
      }, {
        key: "bubbleEvent",
        value: function bubbleEvent(propertyName, event) {
          if (typeof this.props[propertyName] === 'function') {
            this.props[propertyName](event);
          }
        }
      }, {
        key: "render",
        value: function render() {
          var _this$props = this.props,
              children = _this$props.children,
              errorContainerStyle = _this$props.errorContainerStyle,
              indicator = _this$props.indicator,
              indicatorContainerStyle = _this$props.indicatorContainerStyle,
              indicatorProps = _this$props.indicatorProps,
              renderError = _this$props.renderError,
              renderIndicator = _this$props.renderIndicator,
              source = _this$props.source,
              style = _this$props.style,
              threshold = _this$props.threshold,
              imageStyle = _this$props.imageStyle,
              props = (0, _objectWithoutProperties2.default)(_this$props, ["children", "errorContainerStyle", "indicator", "indicatorContainerStyle", "indicatorProps", "renderError", "renderIndicator", "source", "style", "threshold", "imageStyle"]);

          if (!source || !source.uri) {
            return _react.default.createElement(_reactNative.View, {
              style: style,
              ref: this.handleRef
            }, _react.default.createElement(ImageComponent, (0, _extends2.default)({}, props, {
              source: source,
              style: [_reactNative.StyleSheet.absoluteFill, imageStyle]
            })), children);
          }

          var _this$state = this.state,
              progress = _this$state.progress,
              sourceKey = _this$state.sourceKey,
              thresholdReached = _this$state.thresholdReached,
              loading = _this$state.loading,
              error = _this$state.error;
          var indicatorElement;

          if (error) {
            if (renderError) {
              indicatorElement = _react.default.createElement(_reactNative.View, {
                style: errorContainerStyle
              }, renderError(error));
            }
          } else if ((loading || progress < 1) && thresholdReached) {
            if (renderIndicator) {
              indicatorElement = renderIndicator(progress, !loading || !progress);
            } else {
              var IndicatorComponent = typeof indicator === 'function' ? indicator : DefaultIndicator;
              indicatorElement = _react.default.createElement(IndicatorComponent, (0, _extends2.default)({
                progress: progress,
                indeterminate: !loading || !progress
              }, indicatorProps));
            }

            indicatorElement = _react.default.createElement(_reactNative.View, {
              style: indicatorContainerStyle
            }, indicatorElement);
          }

          return _react.default.createElement(_reactNative.View, {
            style: style,
            ref: this.handleRef
          }, _react.default.createElement(ImageComponent, (0, _extends2.default)({}, props, {
            key: sourceKey,
            onLoadStart: this.handleLoadStart,
            onProgress: this.handleProgress,
            onError: this.handleError,
            onLoad: this.handleLoad,
            onLoadEnd: this.handleLoadEnd,
            source: source,
            style: [_reactNative.StyleSheet.absoluteFill, imageStyle]
          })), indicatorElement, children);
        }
      }], [{
        key: "getDerivedStateFromProps",
        value: function getDerivedStateFromProps(props, state) {
          var sourceKey = getSourceKey(props.source);

          if (sourceKey !== state.sourceKey) {
            return {
              sourceKey: sourceKey,
              error: null,
              loading: false,
              progress: 0
            };
          }

          return null;
        }
      }]);
      return ImageProgress;
    }(_react.Component), _class.propTypes = {
      children: _propTypes.default.node,
      errorContainerStyle: _propTypes.default.any,
      indicator: _propTypes.default.func,
      indicatorContainerStyle: _propTypes.default.any,
      indicatorProps: _propTypes.default.object,
      renderIndicator: _propTypes.default.func,
      renderError: _propTypes.default.func,
      source: _propTypes.default.any,
      style: _propTypes.default.any,
      imageStyle: _propTypes.default.object,
      threshold: _propTypes.default.number
    }, _class.defaultProps = {
      indicatorContainerStyle: styles.centered,
      errorContainerStyle: styles.centered,
      threshold: 50
    }, _class.prefetch = _reactNative.Image.prefetch, _class.getSize = _reactNative.Image.getSize, _class;
  };

  exports.createImageProgress = createImageProgress;

  var _default = createImageProgress(_reactNative.Image);

  exports.default = _default;
},590,[5,108,7,8,12,14,16,6,17,201,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var React = _$$_REQUIRE(_dependencyMap[0]);

  var reactNative = _$$_REQUIRE(_dependencyMap[1]);

  function _interopDefaultLegacy(e) {
    return e && typeof e === 'object' && 'default' in e ? e : {
      'default': e
    };
  }

  var _extends__default = _interopDefaultLegacy(_$$_REQUIRE(_dependencyMap[2]));

  var React__default = _interopDefaultLegacy(React);

  var FastImageViewNativeModule = reactNative.NativeModules.FastImageView;
  var resizeMode = {
    contain: 'contain',
    cover: 'cover',
    stretch: 'stretch',
    center: 'center'
  };
  var priority = {
    low: 'low',
    normal: 'normal',
    high: 'high'
  };
  var cacheControl = {
    immutable: 'immutable',
    web: 'web',
    cacheOnly: 'cacheOnly'
  };

  function FastImageBase(_ref) {
    var source = _ref.source,
        tintColor = _ref.tintColor,
        onLoadStart = _ref.onLoadStart,
        onProgress = _ref.onProgress,
        onLoad = _ref.onLoad,
        onError = _ref.onError,
        onLoadEnd = _ref.onLoadEnd,
        style = _ref.style,
        fallback = _ref.fallback,
        children = _ref.children,
        _ref$resizeMode = _ref.resizeMode,
        resizeMode = _ref$resizeMode === undefined ? 'cover' : _ref$resizeMode,
        forwardedRef = _ref.forwardedRef,
        props = _$$_REQUIRE(_dependencyMap[3])(_ref, ["source", "tintColor", "onLoadStart", "onProgress", "onLoad", "onError", "onLoadEnd", "style", "fallback", "children", "resizeMode", "forwardedRef"]);

    if (fallback) {
      var cleanedSource = _$$_REQUIRE(_dependencyMap[2])({}, source);

      delete cleanedSource.cache;

      var _resolvedSource = reactNative.Image.resolveAssetSource(cleanedSource);

      return React__default['default'].createElement(reactNative.View, {
        style: [styles.imageContainer, style],
        ref: forwardedRef
      }, React__default['default'].createElement(reactNative.Image, _extends__default['default']({}, props, {
        style: reactNative.StyleSheet.absoluteFill,
        source: _resolvedSource,
        onLoadStart: onLoadStart,
        onProgress: onProgress,
        onLoad: onLoad,
        onError: onError,
        onLoadEnd: onLoadEnd,
        resizeMode: resizeMode
      })), children);
    }

    var resolvedSource = reactNative.Image.resolveAssetSource(source);
    return React__default['default'].createElement(reactNative.View, {
      style: [styles.imageContainer, style],
      ref: forwardedRef
    }, React__default['default'].createElement(FastImageView, _extends__default['default']({}, props, {
      tintColor: tintColor,
      style: reactNative.StyleSheet.absoluteFill,
      source: resolvedSource,
      onFastImageLoadStart: onLoadStart,
      onFastImageProgress: onProgress,
      onFastImageLoad: onLoad,
      onFastImageError: onError,
      onFastImageLoadEnd: onLoadEnd,
      resizeMode: resizeMode
    })), children);
  }

  var FastImageMemo = React.memo(FastImageBase);
  var FastImageComponent = React.forwardRef(function (props, ref) {
    return React__default['default'].createElement(FastImageMemo, _extends__default['default']({
      forwardedRef: ref
    }, props));
  });
  FastImageComponent.displayName = 'FastImage';
  var FastImage = FastImageComponent;
  FastImage.resizeMode = resizeMode;
  FastImage.cacheControl = cacheControl;
  FastImage.priority = priority;

  FastImage.preload = function (sources) {
    return FastImageViewNativeModule.preload(sources);
  };

  FastImage.clearMemoryCache = function () {
    return FastImageViewNativeModule.clearMemoryCache();
  };

  FastImage.clearDiskCache = function () {
    return FastImageViewNativeModule.clearDiskCache();
  };

  var styles = reactNative.StyleSheet.create({
    imageContainer: {
      overflow: 'hidden'
    }
  });
  var FastImageView = reactNative.requireNativeComponent('FastImageView', FastImage, {
    nativeOnly: {
      onFastImageLoadStart: true,
      onFastImageProgress: true,
      onFastImageLoad: true,
      onFastImageError: true,
      onFastImageLoadEnd: true
    }
  });
  module.exports = FastImage;
},591,[17,28,6,108]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _PhotoView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _default = _PhotoView.default;
  exports.default = _default;
},592,[5,593]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PhotoView = function (_React$PureComponent) {
    (0, _inherits2.default)(PhotoView, _React$PureComponent);

    var _super = _createSuper(PhotoView);

    function PhotoView() {
      (0, _classCallCheck2.default)(this, PhotoView);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(PhotoView, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            onError = _this$props.onError,
            onLoad = _this$props.onLoad,
            onLoadEnd = _this$props.onLoadEnd,
            onLoadStart = _this$props.onLoadStart,
            onProgress = _this$props.onProgress,
            onScale = _this$props.onScale,
            onTap = _this$props.onTap,
            onViewTap = _this$props.onViewTap,
            _source = _this$props.source,
            _loadingIndicatorSource = _this$props.loadingIndicatorSource,
            _style = _this$props.style,
            props = (0, _objectWithoutProperties2.default)(_this$props, ["onError", "onLoad", "onLoadEnd", "onLoadStart", "onProgress", "onScale", "onTap", "onViewTap", "source", "loadingIndicatorSource", "style"]);

        var source = _reactNative.Image.resolveAssetSource(_source);

        var loadingIndicatorSource = _reactNative.Image.resolveAssetSource(_loadingIndicatorSource);

        if (source && source.uri === '') {
          console.warn('source.uri should not be an empty string');
        }

        if (props.src) {
          console.warn('The <PhotoView> component requires a `source` property rather than `src`.');
        }

        if (source && source.uri) {
          var width = source.width,
              height = source.height,
              src = (0, _objectWithoutProperties2.default)(source, ["width", "height"]);

          var style = _reactNative.StyleSheet.flatten([{
            width: width,
            height: height
          }, _style]);

          var nativeProps = (0, _extends2.default)({
            onPhotoViewerError: onError,
            onPhotoViewerLoad: onLoad,
            onPhotoViewerLoadEnd: onLoadEnd,
            onPhotoViewerLoadStart: onLoadStart,
            onPhotoViewerProgress: onProgress,
            onPhotoViewerScale: onScale,
            onPhotoViewerTap: onTap,
            onPhotoViewerViewTap: onViewTap
          }, props, {
            style: style,
            src: src,
            loadingIndicatorSrc: loadingIndicatorSource && loadingIndicatorSource.uri || null
          });
          return _react.default.createElement(RNPhotoView, nativeProps);
        }

        return null;
      }
    }]);
    return PhotoView;
  }(_react.default.PureComponent);

  exports.default = PhotoView;
  PhotoView.propTypes = (0, _extends2.default)({
    source: _propTypes.default.oneOfType([_propTypes.default.shape({
      uri: _propTypes.default.string
    }), _propTypes.default.number]).isRequired,
    loadingIndicatorSource: _propTypes.default.oneOfType([_propTypes.default.shape({
      uri: _propTypes.default.string
    }), _propTypes.default.number]),
    fadeDuration: _propTypes.default.number,
    minimumZoomScale: _propTypes.default.number,
    maximumZoomScale: _propTypes.default.number,
    resizeMode: _propTypes.default.string,
    scale: _propTypes.default.number,
    onLoad: _propTypes.default.func,
    onLoadEnd: _propTypes.default.func,
    onLoadStart: _propTypes.default.func,
    onProgress: _propTypes.default.func,
    onScale: _propTypes.default.func,
    onTap: _propTypes.default.func,
    onViewTap: _propTypes.default.func,
    showsHorizontalScrollIndicator: _propTypes.default.bool,
    showsVerticalScrollIndicator: _propTypes.default.bool
  }, _reactNative.ViewPropTypes);
  var cfg = {
    nativeOnly: {
      onPhotoViewerError: true,
      onPhotoViewerLoad: true,
      onPhotoViewerLoadEnd: true,
      onPhotoViewerLoadStart: true,
      onPhotoViewerProgress: true,
      onPhotoViewerScale: true,
      onPhotoViewerTap: true,
      onPhotoViewerViewTap: true,
      src: true,
      loadingIndicatorSrc: true
    }
  };
  var RNPhotoView = (0, _reactNative.requireNativeComponent)('RNPhotoView', PhotoView, cfg);
},593,[5,6,108,7,8,12,14,16,17,201,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _colorMatrixFilter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _rnColorMatrices = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  module.exports = (0, _extends2.default)({}, _colorMatrixFilter.default, _rnColorMatrices.default, {
    concatColorMatrices: _$$_REQUIRE(_dependencyMap[4]).concatColorMatrices
  });
},594,[5,6,595,596,598]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _toArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _rnColorMatrices = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var ColorMatrixFilter = _react.default.forwardRef(function (_ref, ref) {
    var matrix = _ref.matrix,
        parentMatrix = _ref.parentMatrix,
        children = _ref.children,
        restProps = (0, _objectWithoutProperties2.default)(_ref, ["matrix", "parentMatrix", "children"]);
    var mat = Array.isArray(matrix[0]) ? (0, _$$_REQUIRE(_dependencyMap[6]).concatColorMatrices)(matrix) : matrix;
    var concatedMatrix = parentMatrix ? (0, _$$_REQUIRE(_dependencyMap[6]).concatTwoColorMatrices)(mat, parentMatrix) : mat;

    var child = _react.default.Children.only(children);

    return child && child.type && child.type.isColorMatrixFilter ? _react.default.cloneElement(child, (0, _extends2.default)({}, child.props, {
      ref: ref,
      parentMatrix: concatedMatrix
    })) : _react.default.createElement(_$$_REQUIRE(_dependencyMap[7]).NativeFilter, (0, _extends2.default)({
      matrix: concatedMatrix,
      ref: ref
    }, restProps), children);
  });

  ColorMatrixFilter.isColorMatrixFilter = true;
  ColorMatrixFilter.displayName = 'ColorMatrix';

  var filterName = function filterName(name) {
    var _name$split = name.split(''),
        _name$split2 = (0, _toArray2.default)(_name$split),
        first = _name$split2[0],
        rest = _name$split2.slice(1);

    return name === 'rgba' ? 'RGBA' : first.toUpperCase() + rest.join('');
  };

  var filterMap = {
    ColorTone: function ColorTone(filter) {
      return _react.default.forwardRef(function (_ref2, ref) {
        var desaturation = _ref2.desaturation,
            toned = _ref2.toned,
            lightColor = _ref2.lightColor,
            darkColor = _ref2.darkColor,
            restProps = (0, _objectWithoutProperties2.default)(_ref2, ["desaturation", "toned", "lightColor", "darkColor"]);
        return _react.default.createElement(ColorMatrixFilter, (0, _extends2.default)({
          matrix: filter(desaturation, toned, lightColor, darkColor),
          ref: ref
        }, restProps));
      });
    },
    RGBA: function RGBA(filter) {
      return _react.default.forwardRef(function (_ref3, ref) {
        var red = _ref3.red,
            green = _ref3.green,
            blue = _ref3.blue,
            alpha = _ref3.alpha,
            restProps = (0, _objectWithoutProperties2.default)(_ref3, ["red", "green", "blue", "alpha"]);
        return _react.default.createElement(ColorMatrixFilter, (0, _extends2.default)({
          matrix: filter(red, green, blue, alpha),
          ref: ref
        }, restProps));
      });
    },
    DuoTone: function DuoTone(filter) {
      return _react.default.forwardRef(function (_ref4, ref) {
        var firstColor = _ref4.firstColor,
            secondColor = _ref4.secondColor,
            restProps = (0, _objectWithoutProperties2.default)(_ref4, ["firstColor", "secondColor"]);
        return _react.default.createElement(ColorMatrixFilter, (0, _extends2.default)({
          matrix: filter(firstColor, secondColor),
          ref: ref
        }, restProps));
      });
    }
  };

  var createFilter = function createFilter(key) {
    return filterMap[key] || function (filter) {
      return _react.default.forwardRef(function (_ref5, ref) {
        var amount = _ref5.amount,
            restProps = (0, _objectWithoutProperties2.default)(_ref5, ["amount"]);
        return _react.default.createElement(ColorMatrixFilter, (0, _extends2.default)({
          matrix: filter(amount),
          ref: ref
        }, restProps));
      });
    };
  };

  var _default = Object.keys(_rnColorMatrices.default).reduce(function (acc, name) {
    var key = filterName(name);
    acc[key] = createFilter(key)(_rnColorMatrices.default[name]);
    acc[key].displayName = key;
    acc[key].isColorMatrixFilter = true;
    return acc;
  }, {
    ColorMatrix: ColorMatrixFilter
  });

  exports.default = _default;
},595,[5,464,6,108,17,596,598,599]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var _clamp = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var bias = _reactNative.Platform.OS === 'ios' ? 1 : 255;
  var biasRev = _reactNative.Platform.OS === 'ios' ? 255 : 1;

  var colorToRGB = function colorToRGB(color) {
    return [(color >> 16 & 0xFF) / 255, (color >> 8 & 0xFF) / 255, (color & 0xFF) / 255];
  };

  var staticFilters = {
    normal: [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0],
    luminanceToAlpha: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2125, 0.7154, 0.0721, 0, 0],
    invert: [-1, 0, 0, 0, bias, 0, -1, 0, 0, bias, 0, 0, -1, 0, bias, 0, 0, 0, 1, 0],
    nightvision: [0.1, 0.4, 0, 0, 0, 0.3, 1, 0.3, 0, 0, 0, 0.4, 0.1, 0, 0, 0, 0, 0, 1, 0],
    warm: [1.06, 0, 0, 0, 0, 0, 1.01, 0, 0, 0, 0, 0, 0.93, 0, 0, 0, 0, 0, 1, 0],
    cool: [0.99, 0, 0, 0, 0, 0, 0.93, 0, 0, 0, 0, 0, 1.08, 0, 0, 0, 0, 0, 1, 0],
    technicolor: [1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337 / biasRev, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398 / biasRev, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138 / biasRev, 0, 0, 0, 1, 0],
    polaroid: [1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, 0, 0, 0, 1, 0],
    toBGR: [0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0],
    kodachrome: [1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502 / biasRev, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203 / biasRev, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946 / biasRev, 0, 0, 0, 1, 0],
    browni: [0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873 / biasRev, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127 / biasRev, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283 / biasRev, 0, 0, 0, 1, 0],
    vintage: [0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123 / biasRev, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591 / biasRev, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296 / biasRev, 0, 0, 0, 1, 0],
    lsd: [2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, 0, 0, 0, 1, 0],
    protanomaly: [0.817, 0.183, 0, 0, 0, 0.333, 0.667, 0, 0, 0, 0, 0.125, 0.875, 0, 0, 0, 0, 0, 1, 0],
    deuteranomaly: [0.8, 0.2, 0, 0, 0, 0.258, 0.742, 0, 0, 0, 0, 0.142, 0.858, 0, 0, 0, 0, 0, 1, 0],
    tritanomaly: [0.967, 0.033, 0, 0, 0, 0, 0.733, 0.267, 0, 0, 0, 0.183, 0.817, 0, 0, 0, 0, 0, 1, 0],
    protanopia: [0.567, 0.433, 0, 0, 0, 0.558, 0.442, 0, 0, 0, 0, 0.242, 0.758, 0, 0, 0, 0, 0, 1, 0],
    deuteranopia: [0.625, 0.375, 0, 0, 0, 0.7, 0.3, 0, 0, 0, 0, 0.3, 0.7, 0, 0, 0, 0, 0, 1, 0],
    tritanopia: [0.95, 0.05, 0, 0, 0, 0, 0.433, 0.567, 0, 0, 0, 0.475, 0.525, 0, 0, 0, 0, 0, 1, 0],
    achromatopsia: [0.299, 0.587, 0.114, 0, 0, 0.299, 0.587, 0.114, 0, 0, 0.299, 0.587, 0.114, 0, 0, 0, 0, 0, 1, 0],
    achromatomaly: [0.618, 0.320, 0.062, 0, 0, 0.163, 0.775, 0.062, 0, 0, 0.163, 0.320, 0.516, 0, 0, 0, 0, 0, 1, 0]
  };
  var _default = {
    normal: function normal() {
      return staticFilters.normal;
    },
    rgba: function rgba() {
      var r = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
      var g = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
      var b = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
      var a = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
      return [r, 0, 0, 0, 0, 0, g, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, a, 0];
    },
    saturate: function saturate() {
      var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
      return [0.213 + 0.787 * v, 0.715 - 0.715 * v, 0.072 - 0.072 * v, 0, 0, 0.213 - 0.213 * v, 0.715 + 0.285 * v, 0.072 - 0.072 * v, 0, 0, 0.213 - 0.213 * v, 0.715 - 0.715 * v, 0.072 + 0.928 * v, 0, 0, 0, 0, 0, 1, 0];
    },
    hueRotate: function hueRotate() {
      var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
      var cos = Math.cos(v);
      var sin = Math.sin(v);
      var a00 = 0.213 + cos * 0.787 - sin * 0.213;
      var a01 = 0.715 - cos * 0.715 - sin * 0.715;
      var a02 = 0.072 - cos * 0.072 + sin * 0.928;
      var a10 = 0.213 - cos * 0.213 + sin * 0.143;
      var a11 = 0.715 + cos * 0.285 + sin * 0.140;
      var a12 = 0.072 - cos * 0.072 - sin * 0.283;
      var a20 = 0.213 - cos * 0.213 - sin * 0.787;
      var a21 = 0.715 - cos * 0.715 + sin * 0.715;
      var a22 = 0.072 + cos * 0.928 + sin * 0.072;
      return [a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, 0, 0, 0, 1, 0];
    },
    luminanceToAlpha: function luminanceToAlpha() {
      return staticFilters.luminanceToAlpha;
    },
    invert: function invert() {
      return staticFilters.invert;
    },
    grayscale: function grayscale() {
      var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
      var cv = (0, _clamp.default)(1 - v, 0, 1);
      return [0.2126 + 0.7874 * cv, 0.7152 - 0.7152 * cv, 0.0722 - 0.0722 * cv, 0, 0, 0.2126 - 0.2126 * cv, 0.7152 + 0.2848 * cv, 0.0722 - 0.0722 * cv, 0, 0, 0.2126 - 0.2126 * cv, 0.7152 - 0.7152 * cv, 0.0722 + 0.9278 * cv, 0, 0, 0, 0, 0, 1, 0];
    },
    sepia: function sepia() {
      var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
      var cv = (0, _clamp.default)(1 - v, 0, 1);
      return [0.393 + 0.607 * cv, 0.769 - 0.769 * cv, 0.189 - 0.189 * cv, 0, 0, 0.349 - 0.349 * cv, 0.686 + 0.314 * cv, 0.168 - 0.168 * cv, 0, 0, 0.272 - 0.272 * cv, 0.534 - 0.534 * cv, 0.131 + 0.869 * cv, 0, 0, 0, 0, 0, 1, 0];
    },
    nightvision: function nightvision() {
      return staticFilters.nightvision;
    },
    warm: function warm() {
      return staticFilters.warm;
    },
    cool: function cool() {
      return staticFilters.cool;
    },
    brightness: function brightness() {
      var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
      return [v, 0, 0, 0, 0, 0, v, 0, 0, 0, 0, 0, v, 0, 0, 0, 0, 0, 1, 0];
    },
    contrast: function contrast() {
      var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
      var n = 0.5 * (1 - v);
      return [v, 0, 0, 0, bias * n, 0, v, 0, 0, bias * n, 0, 0, v, 0, bias * n, 0, 0, 0, 1, 0];
    },
    temperature: function temperature() {
      var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
      return [1 + v, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 - v, 0, 0, 0, 0, 0, 1, 0];
    },
    tint: function tint() {
      var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
      return [1 + v, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1 + v, 0, 0, 0, 0, 0, 1, 0];
    },
    threshold: function threshold() {
      var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
      var rLum = 0.03086;
      var gLum = 0.06094;
      var bLum = 0.00820;
      var r = 7.8693;
      var g = 15.5397;
      var b = 2.091;
      return [r, g, b, 0, -bias * v, r, g, b, 0, -bias * v, r, g, b, 0, -bias * v, 0, 0, 0, 1, 0];
    },
    technicolor: function technicolor() {
      return staticFilters.technicolor;
    },
    polaroid: function polaroid() {
      return staticFilters.polaroid;
    },
    toBGR: function toBGR() {
      return staticFilters.toBGR;
    },
    kodachrome: function kodachrome() {
      return staticFilters.kodachrome;
    },
    browni: function browni() {
      return staticFilters.browni;
    },
    vintage: function vintage() {
      return staticFilters.vintage;
    },
    night: function night() {
      var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.1;
      return [v * -2, -v, 0, 0, 0, -v, 0, v, 0, 0, 0, v, v * 2.0, 0, 0, 0, 0, 0, 1, 0];
    },
    predator: function predator() {
      var v = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
      return [11.224130630493164 * v, -4.794486999511719 * v, -2.8746118545532227 * v, 0 * v, 0.40342438220977783 * v / biasRev, -3.6330697536468506 * v, 9.193157196044922 * v, -2.951810836791992 * v, 0 * v, -1.316135048866272 * v / biasRev, -3.2184197902679443 * v, -4.2375030517578125 * v, 7.476448059082031 * v, 0 * v, 0.8044459223747253 * v / biasRev, 0, 0, 0, 1, 0];
    },
    lsd: function lsd() {
      return staticFilters.lsd;
    },
    colorTone: function colorTone(desaturation, toned, lightColor, darkColor) {
      var _colorToRGB = colorToRGB(lightColor === undefined ? 0xFFE580 : (0, _reactNative.processColor)(lightColor)),
          _colorToRGB2 = (0, _slicedToArray2.default)(_colorToRGB, 3),
          lR = _colorToRGB2[0],
          lG = _colorToRGB2[1],
          lB = _colorToRGB2[2];

      var _colorToRGB3 = colorToRGB(darkColor === undefined ? 0x338000 : (0, _reactNative.processColor)(darkColor)),
          _colorToRGB4 = (0, _slicedToArray2.default)(_colorToRGB3, 3),
          dR = _colorToRGB4[0],
          dG = _colorToRGB4[1],
          dB = _colorToRGB4[2];

      return [0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation === undefined ? 0.2 : desaturation, 0, dR, dG, dB, toned === undefined ? 0.15 : toned, 0, lR - dR, lG - dG, lB - dB, 0, 0];
    },
    duoTone: function duoTone(first, second) {
      var _colorToRGB5 = colorToRGB(first === undefined ? 0xFFE580 : (0, _reactNative.processColor)(first)),
          _colorToRGB6 = (0, _slicedToArray2.default)(_colorToRGB5, 3),
          fR = _colorToRGB6[0],
          fG = _colorToRGB6[1],
          fB = _colorToRGB6[2];

      var _colorToRGB7 = colorToRGB(second === undefined ? 0x338000 : (0, _reactNative.processColor)(second)),
          _colorToRGB8 = (0, _slicedToArray2.default)(_colorToRGB7, 3),
          sR = _colorToRGB8[0],
          sG = _colorToRGB8[1],
          sB = _colorToRGB8[2];

      return [fR - sR, 0, 0, 0, sR * bias, fG - sG, 0, 0, 0, sG * bias, fB - sB, 0, 0, 0, sB * bias, 0, 0, 0, 1, 0];
    },
    protanomaly: function protanomaly() {
      return staticFilters.protanomaly;
    },
    deuteranomaly: function deuteranomaly() {
      return staticFilters.deuteranomaly;
    },
    tritanomaly: function tritanomaly() {
      return staticFilters.tritanomaly;
    },
    protanopia: function protanopia() {
      return staticFilters.protanopia;
    },
    deuteranopia: function deuteranopia() {
      return staticFilters.deuteranopia;
    },
    tritanopia: function tritanopia() {
      return staticFilters.tritanopia;
    },
    achromatopsia: function achromatopsia() {
      return staticFilters.achromatopsia;
    },
    achromatomaly: function achromatomaly() {
      return staticFilters.achromatomaly;
    }
  };
  exports.default = _default;
},596,[5,41,28,597]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = clamp;

  function clamp(value, min, max) {
    return min < max ? value < min ? min : value > max ? max : value : value < max ? max : value > min ? min : value;
  }
},597,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.concatColorMatrices = exports.concatTwoColorMatrices = undefined;

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var concatTwoColorMatrices = function concatTwoColorMatrices(matB, matA) {
    (0, _invariant.default)(Array.isArray(matB) && matB.length === 20, "Color matrix matB should be an array with 20 elements.");
    (0, _invariant.default)(Array.isArray(matA) && matA.length === 20, "Color matrix matA should be an array with 20 elements.");
    var tmp = Array(20);
    var index = 0;

    for (var j = 0; j < 20; j += 5) {
      for (var i = 0; i < 4; i++) {
        tmp[index++] = matA[j + 0] * matB[i + 0] + matA[j + 1] * matB[i + 5] + matA[j + 2] * matB[i + 10] + matA[j + 3] * matB[i + 15];
      }

      tmp[index++] = matA[j + 0] * matB[4] + matA[j + 1] * matB[9] + matA[j + 2] * matB[14] + matA[j + 3] * matB[19] + matA[j + 4];
    }

    return tmp;
  };

  exports.concatTwoColorMatrices = concatTwoColorMatrices;

  var concatColorMatrices = function concatColorMatrices(matrices) {
    (0, _invariant.default)(Array.isArray(matrices) && matrices.length > 0, "Matrices should be an array of non zero length.");
    return matrices.reduce(concatTwoColorMatrices);
  };

  exports.concatColorMatrices = concatColorMatrices;
},598,[5,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.NativeFilter = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var ColorMatrixImageFilter = (0, _reactNative.requireNativeComponent)('CMIFColorMatrixImageFilter');

  var NativeFilter = _react.default.forwardRef(function (_ref, ref) {
    var style = _ref.style,
        restProps = (0, _objectWithoutProperties2.default)(_ref, ["style"]);
    (0, _$$_REQUIRE(_dependencyMap[5]).checkStyle)(style);
    return _react.default.createElement(ColorMatrixImageFilter, (0, _extends2.default)({
      style: [_$$_REQUIRE(_dependencyMap[5]).defaultStyle.container, style],
      ref: ref
    }, restProps));
  });

  exports.NativeFilter = NativeFilter;
},599,[5,6,108,17,28,600]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.checkStyle = exports.defaultStyle = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _invariant = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var defaultStyle = _reactNative.StyleSheet.create({
    container: {
      backgroundColor: '#fff0'
    }
  });

  exports.defaultStyle = defaultStyle;

  var checkStyle = function checkStyle(style) {
    if (style) {
      var _StyleSheet$flatten = _reactNative.StyleSheet.flatten(style),
          backgroundColor = _StyleSheet$flatten.backgroundColor;

      (0, _invariant.default)((0, _reactNative.processColor)(backgroundColor) !== 0, "ImageFilter: Can't use '" + backgroundColor + "' backgroundColor," + ' consider using \'#fff0\' instead.');
    }
  };

  exports.checkStyle = checkStyle;
},600,[28,5,601]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var validateFormat = function (format) {
    if (format === undefined) {
      throw new Error('invariant(...): Second argument must be a string.');
    }
  };

  function invariant(condition, format) {
    for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
      args[_key - 2] = arguments[_key];
    }

    validateFormat(format);

    if (!condition) {
      var error;

      if (format === undefined) {
        error = new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");
      } else {
        var argIndex = 0;
        error = new Error(format.replace(/%s/g, function () {
          return String(args[argIndex++]);
        }));
        error.name = 'Invariant Violation';
      }

      error.framesToPop = 1;
      throw error;
    }
  }

  module.exports = invariant;
},601,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var MAIN_DIRECTORY = "application";

  var ApplicationManager = function () {
    function ApplicationManager() {
      (0, _classCallCheck2.default)(this, ApplicationManager);
    }

    (0, _createClass2.default)(ApplicationManager, null, [{
      key: "getMainBundleLocation",
      value: function getMainBundleLocation() {
        return _tecnaviaFileUtils.default.getMainBundleDirectory() + "/" + MAIN_DIRECTORY;
      }
    }, {
      key: "getDirectory",
      value: function getDirectory() {
        return _tecnaviaFileUtils.default.getNewsmemoryBaseDirectory() + MAIN_DIRECTORY;
      }
    }, {
      key: "getDefaultIconsDirectory",
      value: function getDefaultIconsDirectory() {
        return "file://" + ApplicationManager.getDirectory() + "/code/icons/";
      }
    }, {
      key: "getDefaultArticleTextBanner",
      value: function getDefaultArticleTextBanner() {
        return "file://" + ApplicationManager.getDirectory() + "/code/images/article-banner.png";
      }
    }, {
      key: "getHybridDirectory",
      value: function getHybridDirectory() {
        return ApplicationManager.getDirectory() + "/hybrid";
      }
    }, {
      key: "getEditionArticleTextBanner",
      value: function getEditionArticleTextBanner(edition) {
        if (edition && edition.length) {
          return "file://" + ApplicationManager.getHybridDirectory() + "/header/logo_" + edition + ".gif";
        }

        throw new Error("missing edition");
      }
    }, {
      key: "getLogoPath",
      value: function getLogoPath(edition) {
        var customPath;
        return _regenerator.default.async(function getLogoPath$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.prev = 0;

                if (!edition) {
                  _context.next = 10;
                  break;
                }

                edition = edition.replace(/ /g, "");
                edition = edition.replace(/ü/g, "u");
                edition = edition.replace(/\\-/, "");
                customPath = ApplicationManager.getEditionArticleTextBanner(edition.toLowerCase());
                _context.next = 8;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.exists(customPath));

              case 8:
                if (!_context.sent) {
                  _context.next = 10;
                  break;
                }

                return _context.abrupt("return", customPath);

              case 10:
                _context.next = 14;
                break;

              case 12:
                _context.prev = 12;
                _context.t0 = _context["catch"](0);

              case 14:
                return _context.abrupt("return", ApplicationManager.getDefaultArticleTextBanner());

              case 15:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[0, 12]], Promise);
      }
    }, {
      key: "getHybridVersionFilePath",
      value: function getHybridVersionFilePath() {
        return ApplicationManager.getHybridDirectory() + "/version.txt";
      }
    }, {
      key: "getHybridVersion",
      value: function getHybridVersion() {
        var hybridVersionFilePath, hybridVersion;
        return _regenerator.default.async(function getHybridVersion$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                hybridVersionFilePath = ApplicationManager.getHybridVersionFilePath();
                _context2.next = 3;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.exists(hybridVersionFilePath));

              case 3:
                if (!_context2.sent) {
                  _context2.next = 8;
                  break;
                }

                _context2.next = 6;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.readFile(hybridVersionFilePath));

              case 6:
                hybridVersion = _context2.sent;
                return _context2.abrupt("return", hybridVersion);

              case 8:
                return _context2.abrupt("return", "-1");

              case 9:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "updateHybridVersion",
      value: function updateHybridVersion(version) {
        var hybridDirectory, hybridVersionFilePath;
        return _regenerator.default.async(function updateHybridVersion$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                hybridDirectory = ApplicationManager.getHybridDirectory();
                hybridVersionFilePath = ApplicationManager.getHybridVersionFilePath();
                _context3.next = 4;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.exists(hybridDirectory));

              case 4:
                if (_context3.sent) {
                  _context3.next = 7;
                  break;
                }

                _context3.next = 7;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.mkdir(hybridDirectory));

              case 7:
                _context3.next = 9;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.write(hybridVersionFilePath, version));

              case 9:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "copyApplicationFolder",
      value: function copyApplicationFolder() {
        var applicationBaseFolder, applicationFolder, applicationBundleFolder;
        return _regenerator.default.async(function copyApplicationFolder$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                applicationBaseFolder = _tecnaviaFileUtils.default.getNewsmemoryBaseDirectory();
                applicationFolder = ApplicationManager.getDirectory();
                _context4.prev = 2;
                _context4.next = 5;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.exists(applicationFolder));

              case 5:
                if (_context4.sent) {
                  _context4.next = 14;
                  break;
                }

                if (!_$$_REQUIRE(_dependencyMap[5]).PlatformUtils.isIOS()) {
                  _context4.next = 12;
                  break;
                }

                applicationBundleFolder = ApplicationManager.getMainBundleLocation();
                _context4.next = 10;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.copyFile(applicationBundleFolder, applicationFolder));

              case 10:
                _context4.next = 14;
                break;

              case 12:
                _context4.next = 14;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.assetsCopy(MAIN_DIRECTORY, applicationBaseFolder));

              case 14:
                _context4.next = 19;
                break;

              case 16:
                _context4.prev = 16;
                _context4.t0 = _context4["catch"](2);
                return _context4.abrupt("return", false);

              case 19:
                return _context4.abrupt("return", true);

              case 20:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, [[2, 16]], Promise);
      }
    }, {
      key: "deleteApplicationFolder",
      value: function deleteApplicationFolder() {
        var applicationFolder;
        return _regenerator.default.async(function deleteApplicationFolder$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                applicationFolder = ApplicationManager.getDirectory();
                _context5.prev = 1;
                _context5.next = 4;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unlink(applicationFolder));

              case 4:
                _context5.next = 9;
                break;

              case 6:
                _context5.prev = 6;
                _context5.t0 = _context5["catch"](1);
                return _context5.abrupt("return", false);

              case 9:
                return _context5.abrupt("return", true);

              case 10:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, [[1, 6]], Promise);
      }
    }]);
    return ApplicationManager;
  }();

  exports.default = ApplicationManager;
},602,[5,80,7,8,574,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.IndexLayout = exports.DownloadType = exports.ARCHIVE_ZIP_TEXT_FILENAME = exports.ARCHIVE_ZIP_GRAPH_FILENAME = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _cryptoJs = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _aes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _sha = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _EPaperImage = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[13]));

  var _Box = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _BoxesInfo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _EPaperArticle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var ARCHIVE_ZIP_GRAPH_FILENAME = "archive.zipgraph";
  exports.ARCHIVE_ZIP_GRAPH_FILENAME = ARCHIVE_ZIP_GRAPH_FILENAME;
  var ARCHIVE_ZIP_TEXT_FILENAME = "archive.ziptext";
  exports.ARCHIVE_ZIP_TEXT_FILENAME = ARCHIVE_ZIP_TEXT_FILENAME;

  var DownloadType = function DownloadType() {
    (0, _classCallCheck2.default)(this, DownloadType);
  };

  exports.DownloadType = DownloadType;
  DownloadType.LOW_ONLY = "0";
  DownloadType.MID_AND_LOW = "1";
  DownloadType.FULL = "2";
  var IndexLayout = {
    ALL_ART: 0,
    LIST: 1,
    LIST_WITH_THUMBNAIL: 2,
    TABS: 3
  };
  exports.IndexLayout = IndexLayout;

  var NewsmemoryUtils = function () {
    function NewsmemoryUtils() {
      (0, _classCallCheck2.default)(this, NewsmemoryUtils);
    }

    (0, _createClass2.default)(NewsmemoryUtils, null, [{
      key: "normalizePaperName",
      value: function normalizePaperName(paperName) {
        var paperNameNormalized = paperName.replace(/[^a-z0-9]/gi, "");
        return paperNameNormalized;
      }
    }, {
      key: "normalizeEdition",
      value: function normalizeEdition(edition) {
        var editionNormalized = edition.replace(/(&#[a-zA-Z0-9]+;)/g, "");
        return editionNormalized.toLowerCase().replace(/[^a-z0-9]/gi, "");
      }
    }, {
      key: "parsePageInfo",
      value: function parsePageInfo(page) {
        var letters = "";
        var numbers = "";

        if (page) {
          for (var i = 0; i < page.length; i++) {
            if (page.charAt(i).match(/[a-z]/i)) {
              if (numbers.length === 0 || letters.length === 0) {
                letters += page.charAt(i);
              }
            } else if (page.charAt(i).match(/[0-9]/i)) {
              numbers += page.charAt(i);
            } else {
              break;
            }
          }
        }

        return {
          section: letters,
          number: parseInt(numbers, 10)
        };
      }
    }, {
      key: "getImageFromPage",
      value: function getImageFromPage(page, type) {
        try {
          return page.getImages().find(function (image) {
            return image.getType() === type;
          });
        } catch (e) {
          return null;
        }
      }
    }, {
      key: "getHighlightStyle",
      value: function getHighlightStyle(box, info, size, fitWidth) {
        var highResMatrix = [0, info.getPageWidth() * info.getPercentile() - (info.getBboxLeft() + info.getBboxRight()) * info.getScaleX(), 0, info.getPageHeight() * info.getPercentile() - (info.getBboxTop() + info.getBboxBottom()) * info.getScaleY()];
        var boxWidth = box.getWidth() * info.getScaleX();
        var boxHeight = box.getHeight() * info.getScaleY();
        var boxLeft = (box.getLeft() + info.getBboxLeft() - info.getTotalOffsetX()) * info.getScaleX() - info.getBboxLeft() * info.getScaleX();
        var boxTop = (box.getTop() + info.getBboxTop() - info.getTotalOffsetY()) * info.getScaleY() - info.getBboxTop() * info.getScaleY();
        var scale = fitWidth ? size.width / highResMatrix[1] : size.height / highResMatrix[3];
        var scaled = {
          top: boxTop * scale,
          start: boxLeft * scale,
          width: boxWidth * scale,
          height: boxHeight * scale
        };
        return scaled;
      }
    }, {
      key: "getHrScale",
      value: function getHrScale(info, size, fitWidth) {
        var pageWidth = Math.floor(info.getPageWidth() * info.getPercentile()) - Math.floor((info.getBboxLeft() + info.getBboxRight()) * info.getScaleX());
        var pageHeight = Math.floor(info.getPageHeight() * info.getPercentile()) - Math.floor((info.getBboxTop() + info.getBboxBottom()) * info.getScaleY());
        var highResMatrix = [0, pageWidth, 0, pageHeight];
        return fitWidth ? size.width / highResMatrix[1] : size.height / highResMatrix[3];
      }
    }, {
      key: "getHrStyle",
      value: function getHrStyle(box, info) {
        var size = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
        var fitWidth = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
        var boxWidth = Math.floor((box.getWidth() + info.getWidthOffsetC()) * info.getScaleX());
        var boxHeight = Math.floor((box.getHeight() + info.getHeightOffsetC()) * info.getScaleY());
        var boxLeft = Math.floor((box.getLeft() + info.getBboxLeft() - info.getTotalOffsetX()) * info.getScaleX()) - Math.floor(info.getBboxLeft() * info.getScaleX());
        var boxTop = Math.floor((box.getTop() + info.getBboxTop() - info.getTotalOffsetY()) * info.getScaleY()) - Math.floor(info.getBboxTop() * info.getScaleY());
        var temporaryLeft = box.getLeft() + info.getBboxLeft() - info.getTotalOffsetX();

        if (temporaryLeft < 0) {
          boxWidth = Math.floor((box.getWidth() + info.getXOffsetC()) * info.getScaleX());
          boxLeft = 0;
        }

        var temporaryTop = box.getTop() + info.getBboxTop() - info.getTotalOffsetY();

        if (temporaryTop < 0) {
          boxHeight = Math.floor((box.getHeight() + info.getYOffsetC()) * info.getScaleY());
          boxTop = 0;
        }

        var temporaryRight = box.getLeft() + box.getWidth() + info.getWidthOffsetC() + info.getBboxLeft() + info.getBboxRight() - info.getTotalOffsetX();

        if (temporaryRight > info.getPageWidthMedium()) {
          boxWidth = Math.floor((box.getWidth() + info.getXOffsetC()) * info.getScaleX());
        }

        var temporaryBottom = box.getTop() + box.getHeight() + info.getHeightOffsetC() + info.getBboxTop() + info.getBboxBottom() - info.getTotalOffsetY();

        if (temporaryBottom > info.getPageHeightMedium()) {
          boxHeight = Math.floor((box.getHeight() + info.getYOffsetC()) * info.getScaleY());
        }

        var scale = _$$_REQUIRE(_dependencyMap[19]).JSUtils.isEmpty(size) ? 1 : NewsmemoryUtils.getHrScale(info, size, fitWidth);
        var scaled = {
          top: boxTop * scale,
          start: boxLeft * scale,
          width: boxWidth * scale,
          height: boxHeight * scale
        };

        if (global.isLayoutDebug) {
          try {} catch (e) {}
        }

        return scaled;
      }
    }, {
      key: "isBorderBoxToFix",
      value: function isBorderBoxToFix(box, info) {
        return box.getLeft() + box.getWidth() - info.getXOffset() === info.getPageWidthMedium() || box.getTop() + box.getHeight() - info.getYOffset() === info.getPageHeightMedium();
      }
    }, {
      key: "getHrImageByBox",
      value: function getHrImageByBox(page, boxName) {
        return page.getImages().find(function (image) {
          return image.isHighRes() && image.getBase64().includes(boxName);
        });
      }
    }, {
      key: "getHrImageName",
      value: function getHrImageName(xmlId, boxId, graph) {
        var type = graph ? "jpg" : "gif";
        return "pag_" + xmlId + "_" + boxId + "." + type;
      }
    }, {
      key: "getHrGraphImageName",
      value: function getHrGraphImageName(xmlId, boxId) {
        return NewsmemoryUtils.getHrImageName(xmlId, boxId, true);
      }
    }, {
      key: "getHrTextImageName",
      value: function getHrTextImageName(xmlId, boxId) {
        return NewsmemoryUtils.getHrImageName(xmlId, boxId, false);
      }
    }, {
      key: "allPageArticlesHrImages",
      value: function allPageArticlesHrImages(page) {
        var showAll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;

        if (page) {
          return page.getArticles().map(function (article) {
            if (showAll || !article.isAd() && !article.isLayout()) {
              return NewsmemoryUtils.allPageArticleHrImages(page, article);
            }

            return undefined;
          }).filter(function (item) {
            return !!item;
          });
        }

        return [];
      }
    }, {
      key: "allPageArticleHrImages",
      value: function allPageArticleHrImages(page, article) {
        var xmlId = article.getXmlId();
        var obj = {
          xmlId: xmlId,
          boxesInfo: article.getBoxesInfo(),
          boxes: []
        };
        article.getBoxes().forEach(function (box) {
          var imageNameGraph = NewsmemoryUtils.getHrGraphImageName(xmlId, box.getId());
          var imageNameText = NewsmemoryUtils.getHrTextImageName(xmlId, box.getId());
          var hrImageGraph = NewsmemoryUtils.getHrImageByBox(page, imageNameGraph);
          var hrImageText = NewsmemoryUtils.getHrImageByBox(page, imageNameText);

          if (box.getHeight() > 0 && box.getWidth() > 0) {
            obj.boxes.push({
              box: box,
              graph: hrImageGraph,
              text: hrImageText
            });
          }
        });
        return obj;
      }
    }, {
      key: "isModeLow",
      value: function isModeLow() {
        var network = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : global.getNewsmemoryConfig().network;
        return network === DownloadType.LOW_ONLY;
      }
    }, {
      key: "isModeMid",
      value: function isModeMid() {
        var network = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : global.getNewsmemoryConfig().network;
        return network === DownloadType.MID_AND_LOW;
      }
    }, {
      key: "isModeFull",
      value: function isModeFull() {
        var network = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : global.getNewsmemoryConfig().network;
        return network === DownloadType.FULL;
      }
    }, {
      key: "getFormattedIssue",
      value: function getFormattedIssue(issue) {
        var _global$getActivePSet = global.getActivePSetup(),
            dateFormat = _global$getActivePSet.dateFormat,
            showWeekAfterDate = _global$getActivePSet.showWeekAfterDate;

        var dateFormatted = _$$_REQUIRE(_dependencyMap[19]).DateUtils.formatDate(issue, _$$_REQUIRE(_dependencyMap[19]).DateUtils.getPatternByDateFormat(_$$_REQUIRE(_dependencyMap[19]).DateUtils.getSeparator(), dateFormat, showWeekAfterDate));

        if (dateFormat === "98") {
          dateFormatted = "Numero " + dateFormatted;
        }

        return dateFormatted.charAt(0).toUpperCase() + dateFormatted.substring(1);
      }
    }, {
      key: "getPageViewSize",
      value: function getPageViewSize(page, size, fitHorizontally, numberOfShowedPages) {
        var isFirstPage = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;

        if (page) {
          var _global$getActivePSet2 = global.getActivePSetup(),
              maxZoom = _global$getActivePSet2.maxZoom;

          var ratio = isFirstPage && page.isDoubleTruck() ? 2 : 1;
          var pageScaleX = page.getFrameWidth() * numberOfShowedPages / ratio / size.width;
          var pageScaleY = page.getFrameHeight() / size.height;
          var scale = Math.max(pageScaleX, pageScaleY);

          if (fitHorizontally) {
            scale = pageScaleX;

            if (pageScaleX < 1) {
              maxZoom *= pageScaleX;
            }
          } else {
            maxZoom *= scale;
          }

          var scaledWidth = page.getFrameWidth() / ratio / scale;
          var scaledHeight = page.getFrameHeight() / scale;
          return {
            scaledWidth: scaledWidth,
            scaledHeight: scaledHeight,
            maxZoom: maxZoom
          };
        }

        return undefined;
      }
    }, {
      key: "getZoomingFactor",
      value: function getZoomingFactor() {
        var _global$getActivePSet3 = global.getActivePSetup(),
            zoomingFactor = _global$getActivePSet3.zoomingFactor;

        var zf = global.getNewsmemoryConfig().getGraphSize() / 100 * (zoomingFactor / 100);
        return zf;
      }
    }, {
      key: "getHorizontalPageDips",
      value: function getHorizontalPageDips(page) {
        var dips = 1;

        if (page) {
          var divider = page.isDoubleTruck() ? 2 : 1;
          var width = Math.max(page.getWidth(), page.getFrameWidth());
          dips = width / divider / 72 * _deviceUtils.default.getReferenceDpi();
        }

        return dips;
      }
    }, {
      key: "getVerticalPageDips",
      value: function getVerticalPageDips(page) {
        var dips = 1;

        if (page) {
          var height = Math.max(page.getHeight(), page.getFrameHeight());
          dips = height / 72 * _deviceUtils.default.getReferenceDpi();
        }

        return dips;
      }
    }, {
      key: "isCDNEnabled",
      value: function isCDNEnabled() {
        var _global$getNewsmemory = global.getNewsmemoryConfig(),
            cdnEnabled = _global$getNewsmemory.cdnEnabled,
            cdnServer = _global$getNewsmemory.cdnServer;

        return cdnEnabled && !!cdnServer;
      }
    }, {
      key: "dosHexTimestamp2Unix",
      value: function dosHexTimestamp2Unix(dosHex) {
        return NewsmemoryUtils.dosTimestamp2Unix(parseInt(dosHex, 16));
      }
    }, {
      key: "dosTimestamp2Unix",
      value: function dosTimestamp2Unix(dosTimestamp) {
        var unixTime = new Date();
        unixTime.setUTCFullYear(1980 + (dosTimestamp >> 25 & 0xff));
        unixTime.setUTCMonth((dosTimestamp >> 21 & 0xf) - 1);
        unixTime.setUTCDate(dosTimestamp >> 16 & 0x1f);
        unixTime.setUTCHours(dosTimestamp >> 11 & 0x1f);
        unixTime.setUTCMinutes(dosTimestamp >> 5 & 0x3f);
        unixTime.setUTCSeconds((dosTimestamp & 0x1f) << 1);
        return unixTime.getTime();
      }
    }, {
      key: "mtime2Unix",
      value: function mtime2Unix(mtime) {
        if (mtime.length === 8) {
          return Math.floor(NewsmemoryUtils.dosHexTimestamp2Unix(mtime) / 1000) & -2;
        }

        var biSeconds = parseInt(mtime, 10) & -2;
        return _$$_REQUIRE(_dependencyMap[19]).StringUtils.pad(biSeconds, 6);
      }
    }, {
      key: "getCDNChecksum",
      value: function getCDNChecksum(filetimes) {
        var checksum;

        if (NewsmemoryUtils.isCDNEnabled()) {
          var fileTimestamp = filetimes.reduce(function (result, filetime) {
            var unixTimestamp = NewsmemoryUtils.mtime2Unix(filetime);
            return result + "," + unixTimestamp;
          }, "");
          checksum = _$$_REQUIRE(_dependencyMap[19]).StringUtils.getMd5(fileTimestamp);
        }

        return checksum;
      }
    }, {
      key: "encryptFilenames",
      value: function encryptFilenames(filenames, secret) {
        var encryptedFilename = filenames.join(",");

        var _secret$split = secret.split("|"),
            _secret$split2 = (0, _slicedToArray2.default)(_secret$split, 2),
            key = _secret$split2[0],
            iv = _secret$split2[1];

        if (key && iv) {
          try {
            key = _cryptoJs.default.enc.Utf8.parse((0, _sha.default)(key).toString().substring(0, 32));
            iv = _cryptoJs.default.enc.Utf8.parse((0, _sha.default)(iv).toString().substring(0, 16));
            encryptedFilename = _aes.default.encrypt(encryptedFilename, key, {
              iv: iv,
              mode: _cryptoJs.default.mode.CBC
            }).toString();
            encryptedFilename = _cryptoJs.default.enc.Base64.stringify(_cryptoJs.default.enc.Utf8.parse(encryptedFilename));
          } catch (e) {}
        }

        return encryptedFilename;
      }
    }, {
      key: "getSpinnerColor",
      value: function getSpinnerColor() {
        var _global$getRssIndex = global.getRssIndex(),
            supportColor = _global$getRssIndex.supportColor;

        var spinnerColor;

        if (supportColor && !_$$_REQUIRE(_dependencyMap[19]).ColorUtils.isClearColor(supportColor)) {
          spinnerColor = supportColor;
        } else if (global.loadingColor && !_$$_REQUIRE(_dependencyMap[19]).ColorUtils.isClearColor(global.loadingColor)) {
          spinnerColor = global.loadingColor;
        } else if (global.splashBgColor && !_$$_REQUIRE(_dependencyMap[19]).ColorUtils.isClearColor(global.splashBgColor)) {
          spinnerColor = global.splashBgColor;
        } else {
          spinnerColor = _$$_REQUIRE(_dependencyMap[19]).colors.black;
        }

        return spinnerColor;
      }
    }, {
      key: "getAllArticles",
      value: function getAllArticles(edition) {
        var allArticles = [];

        if (edition) {
          var pages = edition.getPages();
          pages.forEach(function (page) {
            if (page) {
              allArticles = allArticles.concat(page.getArticles());
            }
          });
        }

        return allArticles;
      }
    }, {
      key: "getPageSize",
      value: function getPageSize(edition, page) {
        var lowImage = page.getLowImage();
        var graphImage = page.getGraphImage();
        var pageWidth = page.getFrameWidth(edition.isFirstPageDoubleTruck());
        var pageHeight = page.getFrameHeight();

        if (graphImage) {
          pageWidth = graphImage.getWidth();
          pageHeight = graphImage.getHeight();
        } else if (lowImage && lowImage.getWidth() > 0) {
          pageHeight = lowImage.getHeight() / lowImage.getWidth() * page.getFrameWidth();
        }

        return {
          pageWidth: pageWidth,
          pageHeight: pageHeight
        };
      }
    }, {
      key: "getPageSizeFixed",
      value: function getPageSizeFixed(edition, page) {
        if (edition && page && page.isDoubleTruck() && !page.getGraphImage()) {
          var firstPage = edition.getFirstPage();

          if (firstPage) {
            var size = NewsmemoryUtils.getPageSize(edition, firstPage);

            if (firstPage.isDoubleTruck()) {
              return size;
            }

            size.pageWidth *= 2;
            return size;
          }
        }

        return NewsmemoryUtils.getPageSize(edition, page);
      }
    }, {
      key: "isCustomIndexDisabled",
      value: function isCustomIndexDisabled(indexHTML) {
        return indexHTML.indexOf('<meta name="ta_indexdisable" content="1">') !== -1;
      }
    }, {
      key: "getPagesToRenderByIndex",
      value: function getPagesToRenderByIndex(pages, pageId, pagesVisible, isRtl) {
        var numberOfDTBeforePage = 0;
        var numberOfDT = 0;
        var index = 0;
        var found = false;

        for (var i = 0; i < pages.length; i++) {
          var page = pages[i];

          if (page.getPageId() === pageId && !found) {
            found = true;
            index = i;
          }

          if (page.isDoubleTruck()) {
            numberOfDT += 1;

            if (!found) {
              numberOfDTBeforePage += 1;
            }
          }
        }

        var totalPages = pages.length + numberOfDT;
        index += numberOfDTBeforePage;
        index = (0, _$$_REQUIRE(_dependencyMap[20]).adaptIndexForRTL)(index, totalPages);
        index = (0, _$$_REQUIRE(_dependencyMap[20]).fixStartupIndex)(index, totalPages, pagesVisible, isRtl);

        if (isRtl) {
          index += numberOfDT - numberOfDTBeforePage;
        } else {
          index -= numberOfDTBeforePage;
        }

        return pages[(0, _$$_REQUIRE(_dependencyMap[20]).adaptIndexForRTL)(index, totalPages)];
      }
    }, {
      key: "getStatusFromStartupParams",
      value: function getStatusFromStartupParams(params) {
        var statusParams = {
          lastIssue: params.selDate || params.date || params.issue,
          lastEdition: params.editionStart || params.edition,
          lastPageNumber: params.goTo,
          lastArticleId: params.artid
        };
        return statusParams;
      }
    }, {
      key: "showDownloadDBErrorDialog",
      value: function showDownloadDBErrorDialog(issue, edition, onRetry, onCancel, onReset) {
        var buttons = [];
        buttons.push({
          text: global.strings("btn_cancel"),
          onPress: onCancel
        }, {
          text: global.strings("retry"),
          onPress: onRetry
        });

        if (onReset && typeof onReset === "function") {
          buttons.push({
            text: global.strings("btn_reset"),
            onPress: onReset
          });
        }

        _reactNative.Alert.alert("", global.strings("err_download_edition_db"), buttons, {
          cancelable: false
        });
      }
    }, {
      key: "isLite",
      value: function isLite(currentNewspaperManager) {
        var _global$getActivePSet4 = global.getActivePSetup(),
            isLite = _global$getActivePSet4.isLite;

        try {
          var editionIsLite = false;

          if (currentNewspaperManager && currentNewspaperManager.getCurrentNewspaper() && currentNewspaperManager.getCurrentNewspaper().getEditionModel()) {
            editionIsLite = currentNewspaperManager.getCurrentNewspaper().getEditionModel().isLite;
          }

          return isLite || editionIsLite;
        } catch (e) {
          return false;
        }
      }
    }, {
      key: "canEnableReadMode",
      value: function canEnableReadMode(currentNewspaperManager) {
        var _global$getNewsmemory2 = global.getNewsmemoryConfig(),
            twoFingersTapToArticle = _global$getNewsmemory2.twoFingersTapToArticle;

        return twoFingersTapToArticle && !NewsmemoryUtils.isLite(currentNewspaperManager) && _$$_REQUIRE(_dependencyMap[19]).PlatformUtils.isTablet() && !_$$_REQUIRE(_dependencyMap[19]).PlatformUtils.isSystemAccessibilityEnabled();
      }
    }, {
      key: "parseXpSetup",
      value: function parseXpSetup(pSetup) {
        var mainpSetup = pSetup;
        var xpSetup;

        if (pSetup.indexOf("-xp-") !== -1) {
          var pSetupArray = pSetup.split("-xp-");

          if (pSetupArray.length > 1) {
            mainpSetup = pSetupArray[0];
            xpSetup = pSetupArray[1];
          }
        }

        return {
          mainpSetup: mainpSetup,
          xpSetup: xpSetup
        };
      }
    }, {
      key: "isXPaperActive",
      value: function isXPaperActive() {
        var _global$getActivePSet5 = global.getActivePSetup(),
            pSetup = _global$getActivePSet5.pSetup;

        var _NewsmemoryUtils$pars = NewsmemoryUtils.parseXpSetup(pSetup),
            xpSetup = _NewsmemoryUtils$pars.xpSetup;

        return !!xpSetup;
      }
    }, {
      key: "isTrialModeEnabled",
      value: function isTrialModeEnabled(newspaper) {
        if (newspaper) {
          return NewsmemoryUtils.numberOfPagesInTrialMode(newspaper.getIssue(), newspaper.getEdition()) > -1;
        }

        return false;
      }
    }, {
      key: "numberOfPagesInTrialMode",
      value: function numberOfPagesInTrialMode(issue, edition) {
        var _global$getActivePSet6 = global.getActivePSetup(),
            pageSeeNewspaperPreview = _global$getActivePSet6.pageSeeNewspaperPreview,
            seeNewspaperPreview = _global$getActivePSet6.seeNewspaperPreview,
            loginStatus = _global$getActivePSet6.loginStatus,
            lastIssue = _global$getActivePSet6.lastIssue,
            lastEdition = _global$getActivePSet6.lastEdition;

        if (!seeNewspaperPreview) {
          return -1;
        }

        var oneTimeToken = loginStatus.oneTimeToken;

        if (seeNewspaperPreview === 3 && !oneTimeToken) {
          return -1;
        }

        if (seeNewspaperPreview === 4 && !loginStatus.isLoggedIn()) {
          return -1;
        }

        if (seeNewspaperPreview === 5 || seeNewspaperPreview === 6) {
          if (issue === lastIssue && edition === lastEdition) {
            if (seeNewspaperPreview === 6 && !loginStatus.isLoggedIn()) {
              return -1;
            }
          } else {
            return -1;
          }
        }

        var hasAccess = loginStatus.userHasAccess(issue, edition);

        if (hasAccess) {
          return -1;
        }

        return pageSeeNewspaperPreview;
      }
    }, {
      key: "getChildArtPrintImageInfo",
      value: function getChildArtPrintImageInfo(childArt) {
        var maxY = 0;
        var maxX = 0;
        var offsetX;
        var offsetY;
        var boxes = childArt.getBoxes().map(function (box) {
          maxX = Math.max(box.getLeft() + box.getWidth(), maxX);
          maxY = Math.max(box.getTop() + box.getHeight(), maxY);
          offsetX = offsetX ? Math.min(offsetX, box.getLeft()) : box.getLeft();
          offsetY = offsetY ? Math.min(offsetY, box.getTop()) : box.getTop();
          return "pag_" + childArt.getXmlId() + "_" + box.getId() + "," + box.getLeft() + "," + box.getTop() + "," + box.getWidth() + "," + box.getHeight() + "0-0";
        });
        var boxesInfo = childArt.getBoxesInfo();
        maxX = parseInt((maxX - offsetX) * boxesInfo.getZoomX(), 10);
        maxY = parseInt((maxY - offsetY) * boxesInfo.getZoomY(), 10);
        return {
          boxesString: boxes.join(" "),
          maxX: maxX,
          maxY: maxY,
          medDpi: Math.ceil(boxesInfo.getMedDpi())
        };
      }
    }, {
      key: "getFullEditionNameWithArticle",
      value: function getFullEditionNameWithArticle(edition) {
        var prependPreposition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
        var article = "";

        var _global$getActivePSet7 = global.getActivePSetup(),
            language = _global$getActivePSet7.language;

        switch (language) {
          case "0":
            if (!edition.toLowerCase().startsWith("the ")) {
              article = "the ";
            }

            break;

          case "1":
            if (prependPreposition) {
              if (edition.toLowerCase().startsWith("il ") || edition.toLowerCase().startsWith("lo ") || edition.toLowerCase().startsWith("la") || edition.toLowerCase().startsWith("il ") || edition.toLowerCase().startsWith("gli ") || edition.toLowerCase().startsWith("le ") || edition.toLowerCase().startsWith("l'")) {
                article = "de ";
              } else if (!edition.toLowerCase().startsWith("di ")) {
                article = "di ";
              }
            }

            break;
        }

        return "" + article + edition;
      }
    }, {
      key: "getArticleId",
      value: function getArticleId(artid) {
        var articleId = -1;

        if (artid) {
          articleId = artid.replace(/art_/g, "");
          articleId = articleId.replace(/\.xml/g, "");
        }

        return articleId;
      }
    }, {
      key: "getTOCStyle",
      value: function getTOCStyle(edition) {
        var _global$getActivePSet8 = global.getActivePSetup(),
            tocStyle = _global$getActivePSet8.tocStyle,
            tocStylePreview = _global$getActivePSet8.tocStylePreview;

        if (edition && NewsmemoryUtils.numberOfPagesInTrialMode(edition.getIssue(), edition.getEdition()) > -1) {
          return tocStylePreview;
        }

        return tocStyle;
      }
    }, {
      key: "oneLevelIndex",
      value: function oneLevelIndex(edition) {
        var tocStyle = NewsmemoryUtils.getTOCStyle(edition);
        return tocStyle === "all_art";
      }
    }, {
      key: "getIndexLayout",
      value: function getIndexLayout(edition) {
        var accessibilityEnabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;

        var _global$getNewsmemory3 = global.getNewsmemoryConfig(),
            enableTabIndexMode = _global$getNewsmemory3.enableTabIndexMode;

        if (enableTabIndexMode && !accessibilityEnabled) {
          return IndexLayout.TABS;
        }

        var tocStyle = NewsmemoryUtils.getTOCStyle(edition);

        if (tocStyle === "all_art") {
          return IndexLayout.ALL_ART;
        }

        if (tocStyle === "list_main_thumbs" && !accessibilityEnabled) {
          return IndexLayout.LIST_WITH_THUMBNAIL;
        }

        return IndexLayout.LIST;
      }
    }, {
      key: "replaceWatermarkPlaceholders",
      value: function replaceWatermarkPlaceholders(value) {
        var newValue = value;

        var _global$getActivePSet9 = global.getActivePSetup(),
            paperName = _global$getActivePSet9.paperName,
            loginStatus = _global$getActivePSet9.loginStatus,
            copyright = _global$getActivePSet9.copyright;

        var m;
        var regExp = new RegExp(/\$([a-zA-Z0-9]+)/g);

        while ((m = regExp.exec(value)) !== null) {
          if (m.length > 1) {
            var _paramValue;

            var placeholder = m[0];
            var name = m[1];
            var paramValue = undefined;

            switch (name) {
              case "device":
                paramValue = _$$_REQUIRE(_dependencyMap[19]).PlatformUtils.model();
                break;

              case "platform":
                paramValue = _$$_REQUIRE(_dependencyMap[19]).PlatformUtils.isAndroid() ? "Android" : "iOS";
                break;

              case "os":
                paramValue = _$$_REQUIRE(_dependencyMap[19]).PlatformUtils.getSystemName() + " " + _$$_REQUIRE(_dependencyMap[19]).PlatformUtils.getSystemVersion();
                break;

              case "appVersion":
                paramValue = _deviceUtils.default.getAppVersion();
                break;

              case "appName":
                paramValue = _$$_REQUIRE(_dependencyMap[19]).PlatformUtils.appName();
                break;

              case "paperName":
                paramValue = paperName;
                break;

              case "extId":
                if (loginStatus) {
                  var extid = loginStatus.extid;

                  if (!_$$_REQUIRE(_dependencyMap[19]).JSUtils.isNull(extid)) {
                    paramValue = extid;
                  }
                }

                break;

              case "TAUID":
                if (loginStatus) {
                  var TAUID = loginStatus.TAUID;

                  if (TAUID > -1) {
                    paramValue = TAUID;
                  }
                }

                break;

              case "machineId":
                var _global = global,
                    machineId = _global.machineId;

                if (machineId) {
                  paramValue = machineId.substring(machineId.length - 6);
                }

                break;

              case "copyright":
                if (copyright) {
                  paramValue = copyright;
                }

                break;
            }

            paramValue = (_paramValue = paramValue) != null ? _paramValue : "";
            newValue = newValue.replace(placeholder, paramValue);
          }
        }

        return newValue;
      }
    }, {
      key: "addWatermarkToPageComponent",
      value: function addWatermarkToPageComponent(path) {
        var options,
            _global$getActivePSet10,
            loginStatus,
            watermarkText,
            text,
            _global2,
            machineId,
            _global$getFontsConfi,
            fontRegular,
            fontName,
            _options$cssClasses,
            cssClasses,
            otherOptions,
            customStyles,
            _args = arguments;

        return _regenerator.default.async(function addWatermarkToPageComponent$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
                _global$getActivePSet10 = global.getActivePSetup(), loginStatus = _global$getActivePSet10.loginStatus, watermarkText = _global$getActivePSet10.watermarkText;
                text = NewsmemoryUtils.replaceWatermarkPlaceholders(watermarkText);

                if (!text) {
                  _global2 = global, machineId = _global2.machineId;

                  if (machineId) {
                    text = machineId.substring(machineId.length - 6);

                    if (loginStatus && !_$$_REQUIRE(_dependencyMap[19]).JSUtils.isNull(loginStatus.extid)) {
                      text = loginStatus.extid;
                    }
                  }
                }

                if (!text) {
                  _context.next = 13;
                  break;
                }

                text = text.replace("TAUID_", "T");
                text = text.replace("MACID_", "M");
                _global$getFontsConfi = global.getFontsConfig(), fontRegular = _global$getFontsConfi.fontRegular;
                fontName = "Nunito-Light";

                if (fontRegular) {
                  fontName = fontRegular.font;
                }

                _options$cssClasses = options.cssClasses, cssClasses = _options$cssClasses === undefined ? [] : _options$cssClasses, otherOptions = (0, _objectWithoutProperties2.default)(options, ["cssClasses"]);
                customStyles = _$$_REQUIRE(_dependencyMap[21]).Css.getStyleObjByCssClasses(["newsmemory-watermark"].concat((0, _toConsumableArray2.default)(cssClasses)));
                return _context.abrupt("return", _$$_REQUIRE(_dependencyMap[19]).FileUtils.addTextWatermarkToImage((0, _extends2.default)({
                  position: "center",
                  quality: 90,
                  fontSize: 40,
                  fontName: fontName,
                  color: _$$_REQUIRE(_dependencyMap[19]).colors.white_transparent_135,
                  shadowStyle: {
                    color: _$$_REQUIRE(_dependencyMap[19]).colors.black,
                    dx: 0,
                    dy: 0,
                    radius: 1
                  }
                }, otherOptions, customStyles, {
                  src: "file://" + path,
                  text: text
                })));

              case 13:
                throw new Error("Unable to set a watermark text!");

              case 14:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return NewsmemoryUtils;
  }();

  exports.default = NewsmemoryUtils;
},603,[5,80,6,21,108,41,8,7,28,604,633,612,638,587,641,642,640,458,644,462,645,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]), _$$_REQUIRE(_dependencyMap[2]), _$$_REQUIRE(_dependencyMap[3]), _$$_REQUIRE(_dependencyMap[4]), _$$_REQUIRE(_dependencyMap[5]), _$$_REQUIRE(_dependencyMap[6]), _$$_REQUIRE(_dependencyMap[7]), _$$_REQUIRE(_dependencyMap[8]), _$$_REQUIRE(_dependencyMap[9]), _$$_REQUIRE(_dependencyMap[10]), _$$_REQUIRE(_dependencyMap[11]), _$$_REQUIRE(_dependencyMap[12]), _$$_REQUIRE(_dependencyMap[13]), _$$_REQUIRE(_dependencyMap[14]), _$$_REQUIRE(_dependencyMap[15]), _$$_REQUIRE(_dependencyMap[16]), _$$_REQUIRE(_dependencyMap[17]), _$$_REQUIRE(_dependencyMap[18]), _$$_REQUIRE(_dependencyMap[19]), _$$_REQUIRE(_dependencyMap[20]), _$$_REQUIRE(_dependencyMap[21]), _$$_REQUIRE(_dependencyMap[22]), _$$_REQUIRE(_dependencyMap[23]), _$$_REQUIRE(_dependencyMap[24]), _$$_REQUIRE(_dependencyMap[25]), _$$_REQUIRE(_dependencyMap[26]), _$$_REQUIRE(_dependencyMap[27]), _$$_REQUIRE(_dependencyMap[28]), _$$_REQUIRE(_dependencyMap[29]), _$$_REQUIRE(_dependencyMap[30]), _$$_REQUIRE(_dependencyMap[31]), _$$_REQUIRE(_dependencyMap[32]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./x64-core", "./lib-typedarrays", "./enc-utf16", "./enc-base64", "./md5", "./sha1", "./sha256", "./sha224", "./sha512", "./sha384", "./sha3", "./ripemd160", "./hmac", "./pbkdf2", "./evpkdf", "./cipher-core", "./mode-cfb", "./mode-ctr", "./mode-ctr-gladman", "./mode-ofb", "./mode-ecb", "./pad-ansix923", "./pad-iso10126", "./pad-iso97971", "./pad-zeropadding", "./pad-nopadding", "./format-hex", "./aes", "./tripledes", "./rc4", "./rabbit", "./rabbit-legacy"], factory);
    } else {
      root.CryptoJS = factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    return CryptoJS;
  });
},604,[605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory) {
    if (typeof exports === "object") {
      module.exports = exports = factory();
    } else if (typeof define === "function" && define.amd) {
      define([], factory);
    } else {
      root.CryptoJS = factory();
    }
  })(this, function () {
    var CryptoJS = CryptoJS || function (Math, undefined) {
      var create = Object.create || function () {
        function F() {}

        ;
        return function (obj) {
          var subtype;
          F.prototype = obj;
          subtype = new F();
          F.prototype = null;
          return subtype;
        };
      }();

      var C = {};
      var C_lib = C.lib = {};

      var Base = C_lib.Base = function () {
        return {
          extend: function extend(overrides) {
            var subtype = create(this);

            if (overrides) {
              subtype.mixIn(overrides);
            }

            if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {
              subtype.init = function () {
                subtype.$super.init.apply(this, arguments);
              };
            }

            subtype.init.prototype = subtype;
            subtype.$super = this;
            return subtype;
          },
          create: function create() {
            var instance = this.extend();
            instance.init.apply(instance, arguments);
            return instance;
          },
          init: function init() {},
          mixIn: function mixIn(properties) {
            for (var propertyName in properties) {
              if (properties.hasOwnProperty(propertyName)) {
                this[propertyName] = properties[propertyName];
              }
            }

            if (properties.hasOwnProperty('toString')) {
              this.toString = properties.toString;
            }
          },
          clone: function clone() {
            return this.init.prototype.extend(this);
          }
        };
      }();

      var WordArray = C_lib.WordArray = Base.extend({
        init: function init(words, sigBytes) {
          words = this.words = words || [];

          if (sigBytes != undefined) {
            this.sigBytes = sigBytes;
          } else {
            this.sigBytes = words.length * 4;
          }
        },
        toString: function toString(encoder) {
          return (encoder || Hex).stringify(this);
        },
        concat: function concat(wordArray) {
          var thisWords = this.words;
          var thatWords = wordArray.words;
          var thisSigBytes = this.sigBytes;
          var thatSigBytes = wordArray.sigBytes;
          this.clamp();

          if (thisSigBytes % 4) {
            for (var i = 0; i < thatSigBytes; i++) {
              var thatByte = thatWords[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;
              thisWords[thisSigBytes + i >>> 2] |= thatByte << 24 - (thisSigBytes + i) % 4 * 8;
            }
          } else {
            for (var i = 0; i < thatSigBytes; i += 4) {
              thisWords[thisSigBytes + i >>> 2] = thatWords[i >>> 2];
            }
          }

          this.sigBytes += thatSigBytes;
          return this;
        },
        clamp: function clamp() {
          var words = this.words;
          var sigBytes = this.sigBytes;
          words[sigBytes >>> 2] &= 0xffffffff << 32 - sigBytes % 4 * 8;
          words.length = Math.ceil(sigBytes / 4);
        },
        clone: function clone() {
          var clone = Base.clone.call(this);
          clone.words = this.words.slice(0);
          return clone;
        },
        random: function random(nBytes) {
          var words = [];

          var r = function r(m_w) {
            var m_w = m_w;
            var m_z = 0x3ade68b1;
            var mask = 0xffffffff;
            return function () {
              m_z = 0x9069 * (m_z & 0xFFFF) + (m_z >> 0x10) & mask;
              m_w = 0x4650 * (m_w & 0xFFFF) + (m_w >> 0x10) & mask;
              var result = (m_z << 0x10) + m_w & mask;
              result /= 0x100000000;
              result += 0.5;
              return result * (Math.random() > .5 ? 1 : -1);
            };
          };

          for (var i = 0, rcache; i < nBytes; i += 4) {
            var _r = r((rcache || Math.random()) * 0x100000000);

            rcache = _r() * 0x3ade67b7;
            words.push(_r() * 0x100000000 | 0);
          }

          return new WordArray.init(words, nBytes);
        }
      });
      var C_enc = C.enc = {};
      var Hex = C_enc.Hex = {
        stringify: function stringify(wordArray) {
          var words = wordArray.words;
          var sigBytes = wordArray.sigBytes;
          var hexChars = [];

          for (var i = 0; i < sigBytes; i++) {
            var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;
            hexChars.push((bite >>> 4).toString(16));
            hexChars.push((bite & 0x0f).toString(16));
          }

          return hexChars.join('');
        },
        parse: function parse(hexStr) {
          var hexStrLength = hexStr.length;
          var words = [];

          for (var i = 0; i < hexStrLength; i += 2) {
            words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << 24 - i % 8 * 4;
          }

          return new WordArray.init(words, hexStrLength / 2);
        }
      };
      var Latin1 = C_enc.Latin1 = {
        stringify: function stringify(wordArray) {
          var words = wordArray.words;
          var sigBytes = wordArray.sigBytes;
          var latin1Chars = [];

          for (var i = 0; i < sigBytes; i++) {
            var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;
            latin1Chars.push(String.fromCharCode(bite));
          }

          return latin1Chars.join('');
        },
        parse: function parse(latin1Str) {
          var latin1StrLength = latin1Str.length;
          var words = [];

          for (var i = 0; i < latin1StrLength; i++) {
            words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << 24 - i % 4 * 8;
          }

          return new WordArray.init(words, latin1StrLength);
        }
      };
      var Utf8 = C_enc.Utf8 = {
        stringify: function stringify(wordArray) {
          try {
            return decodeURIComponent(escape(Latin1.stringify(wordArray)));
          } catch (e) {
            throw new Error('Malformed UTF-8 data');
          }
        },
        parse: function parse(utf8Str) {
          return Latin1.parse(unescape(encodeURIComponent(utf8Str)));
        }
      };
      var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({
        reset: function reset() {
          this._data = new WordArray.init();
          this._nDataBytes = 0;
        },
        _append: function _append(data) {
          if (typeof data == 'string') {
            data = Utf8.parse(data);
          }

          this._data.concat(data);

          this._nDataBytes += data.sigBytes;
        },
        _process: function _process(doFlush) {
          var data = this._data;
          var dataWords = data.words;
          var dataSigBytes = data.sigBytes;
          var blockSize = this.blockSize;
          var blockSizeBytes = blockSize * 4;
          var nBlocksReady = dataSigBytes / blockSizeBytes;

          if (doFlush) {
            nBlocksReady = Math.ceil(nBlocksReady);
          } else {
            nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);
          }

          var nWordsReady = nBlocksReady * blockSize;
          var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);

          if (nWordsReady) {
            for (var offset = 0; offset < nWordsReady; offset += blockSize) {
              this._doProcessBlock(dataWords, offset);
            }

            var processedWords = dataWords.splice(0, nWordsReady);
            data.sigBytes -= nBytesReady;
          }

          return new WordArray.init(processedWords, nBytesReady);
        },
        clone: function clone() {
          var clone = Base.clone.call(this);
          clone._data = this._data.clone();
          return clone;
        },
        _minBufferSize: 0
      });
      var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({
        cfg: Base.extend(),
        init: function init(cfg) {
          this.cfg = this.cfg.extend(cfg);
          this.reset();
        },
        reset: function reset() {
          BufferedBlockAlgorithm.reset.call(this);

          this._doReset();
        },
        update: function update(messageUpdate) {
          this._append(messageUpdate);

          this._process();

          return this;
        },
        finalize: function finalize(messageUpdate) {
          if (messageUpdate) {
            this._append(messageUpdate);
          }

          var hash = this._doFinalize();

          return hash;
        },
        blockSize: 16,
        _createHelper: function _createHelper(hasher) {
          return function (message, cfg) {
            return new hasher.init(cfg).finalize(message);
          };
        },
        _createHmacHelper: function _createHmacHelper(hasher) {
          return function (message, key) {
            return new C_algo.HMAC.init(hasher, key).finalize(message);
          };
        }
      });
      var C_algo = C.algo = {};
      return C;
    }(Math);

    return CryptoJS;
  });
},605,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    (function (undefined) {
      var C = CryptoJS;
      var C_lib = C.lib;
      var Base = C_lib.Base;
      var X32WordArray = C_lib.WordArray;
      var C_x64 = C.x64 = {};
      var X64Word = C_x64.Word = Base.extend({
        init: function init(high, low) {
          this.high = high;
          this.low = low;
        }
      });
      var X64WordArray = C_x64.WordArray = Base.extend({
        init: function init(words, sigBytes) {
          words = this.words = words || [];

          if (sigBytes != undefined) {
            this.sigBytes = sigBytes;
          } else {
            this.sigBytes = words.length * 8;
          }
        },
        toX32: function toX32() {
          var x64Words = this.words;
          var x64WordsLength = x64Words.length;
          var x32Words = [];

          for (var i = 0; i < x64WordsLength; i++) {
            var x64Word = x64Words[i];
            x32Words.push(x64Word.high);
            x32Words.push(x64Word.low);
          }

          return X32WordArray.create(x32Words, this.sigBytes);
        },
        clone: function clone() {
          var clone = Base.clone.call(this);
          var words = clone.words = this.words.slice(0);
          var wordsLength = words.length;

          for (var i = 0; i < wordsLength; i++) {
            words[i] = words[i].clone();
          }

          return clone;
        }
      });
    })();

    return CryptoJS;
  });
},606,[605]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    (function () {
      if (typeof ArrayBuffer != 'function') {
        return;
      }

      var C = CryptoJS;
      var C_lib = C.lib;
      var WordArray = C_lib.WordArray;
      var superInit = WordArray.init;

      var subInit = WordArray.init = function (typedArray) {
        if (typedArray instanceof ArrayBuffer) {
          typedArray = new Uint8Array(typedArray);
        }

        if (typedArray instanceof Int8Array || typeof Uint8ClampedArray !== "undefined" && typedArray instanceof Uint8ClampedArray || typedArray instanceof Int16Array || typedArray instanceof Uint16Array || typedArray instanceof Int32Array || typedArray instanceof Uint32Array || typedArray instanceof Float32Array || typedArray instanceof Float64Array) {
          typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength);
        }

        if (typedArray instanceof Uint8Array) {
          var typedArrayByteLength = typedArray.byteLength;
          var words = [];

          for (var i = 0; i < typedArrayByteLength; i++) {
            words[i >>> 2] |= typedArray[i] << 24 - i % 4 * 8;
          }

          superInit.call(this, words, typedArrayByteLength);
        } else {
          superInit.apply(this, arguments);
        }
      };

      subInit.prototype = WordArray;
    })();

    return CryptoJS.lib.WordArray;
  });
},607,[605]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    (function () {
      var C = CryptoJS;
      var C_lib = C.lib;
      var WordArray = C_lib.WordArray;
      var C_enc = C.enc;
      var Utf16BE = C_enc.Utf16 = C_enc.Utf16BE = {
        stringify: function stringify(wordArray) {
          var words = wordArray.words;
          var sigBytes = wordArray.sigBytes;
          var utf16Chars = [];

          for (var i = 0; i < sigBytes; i += 2) {
            var codePoint = words[i >>> 2] >>> 16 - i % 4 * 8 & 0xffff;
            utf16Chars.push(String.fromCharCode(codePoint));
          }

          return utf16Chars.join('');
        },
        parse: function parse(utf16Str) {
          var utf16StrLength = utf16Str.length;
          var words = [];

          for (var i = 0; i < utf16StrLength; i++) {
            words[i >>> 1] |= utf16Str.charCodeAt(i) << 16 - i % 2 * 16;
          }

          return WordArray.create(words, utf16StrLength * 2);
        }
      };
      C_enc.Utf16LE = {
        stringify: function stringify(wordArray) {
          var words = wordArray.words;
          var sigBytes = wordArray.sigBytes;
          var utf16Chars = [];

          for (var i = 0; i < sigBytes; i += 2) {
            var codePoint = swapEndian(words[i >>> 2] >>> 16 - i % 4 * 8 & 0xffff);
            utf16Chars.push(String.fromCharCode(codePoint));
          }

          return utf16Chars.join('');
        },
        parse: function parse(utf16Str) {
          var utf16StrLength = utf16Str.length;
          var words = [];

          for (var i = 0; i < utf16StrLength; i++) {
            words[i >>> 1] |= swapEndian(utf16Str.charCodeAt(i) << 16 - i % 2 * 16);
          }

          return WordArray.create(words, utf16StrLength * 2);
        }
      };

      function swapEndian(word) {
        return word << 8 & 0xff00ff00 | word >>> 8 & 0x00ff00ff;
      }
    })();

    return CryptoJS.enc.Utf16;
  });
},608,[605]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    (function () {
      var C = CryptoJS;
      var C_lib = C.lib;
      var WordArray = C_lib.WordArray;
      var C_enc = C.enc;
      var Base64 = C_enc.Base64 = {
        stringify: function stringify(wordArray) {
          var words = wordArray.words;
          var sigBytes = wordArray.sigBytes;
          var map = this._map;
          wordArray.clamp();
          var base64Chars = [];

          for (var i = 0; i < sigBytes; i += 3) {
            var byte1 = words[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;
            var byte2 = words[i + 1 >>> 2] >>> 24 - (i + 1) % 4 * 8 & 0xff;
            var byte3 = words[i + 2 >>> 2] >>> 24 - (i + 2) % 4 * 8 & 0xff;
            var triplet = byte1 << 16 | byte2 << 8 | byte3;

            for (var j = 0; j < 4 && i + j * 0.75 < sigBytes; j++) {
              base64Chars.push(map.charAt(triplet >>> 6 * (3 - j) & 0x3f));
            }
          }

          var paddingChar = map.charAt(64);

          if (paddingChar) {
            while (base64Chars.length % 4) {
              base64Chars.push(paddingChar);
            }
          }

          return base64Chars.join('');
        },
        parse: function parse(base64Str) {
          var base64StrLength = base64Str.length;
          var map = this._map;
          var reverseMap = this._reverseMap;

          if (!reverseMap) {
            reverseMap = this._reverseMap = [];

            for (var j = 0; j < map.length; j++) {
              reverseMap[map.charCodeAt(j)] = j;
            }
          }

          var paddingChar = map.charAt(64);

          if (paddingChar) {
            var paddingIndex = base64Str.indexOf(paddingChar);

            if (paddingIndex !== -1) {
              base64StrLength = paddingIndex;
            }
          }

          return parseLoop(base64Str, base64StrLength, reverseMap);
        },
        _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
      };

      function parseLoop(base64Str, base64StrLength, reverseMap) {
        var words = [];
        var nBytes = 0;

        for (var i = 0; i < base64StrLength; i++) {
          if (i % 4) {
            var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << i % 4 * 2;
            var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> 6 - i % 4 * 2;
            words[nBytes >>> 2] |= (bits1 | bits2) << 24 - nBytes % 4 * 8;
            nBytes++;
          }
        }

        return WordArray.create(words, nBytes);
      }
    })();

    return CryptoJS.enc.Base64;
  });
},609,[605]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    (function (Math) {
      var C = CryptoJS;
      var C_lib = C.lib;
      var WordArray = C_lib.WordArray;
      var Hasher = C_lib.Hasher;
      var C_algo = C.algo;
      var T = [];

      (function () {
        for (var i = 0; i < 64; i++) {
          T[i] = Math.abs(Math.sin(i + 1)) * 0x100000000 | 0;
        }
      })();

      var MD5 = C_algo.MD5 = Hasher.extend({
        _doReset: function _doReset() {
          this._hash = new WordArray.init([0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476]);
        },
        _doProcessBlock: function _doProcessBlock(M, offset) {
          for (var i = 0; i < 16; i++) {
            var offset_i = offset + i;
            var M_offset_i = M[offset_i];
            M[offset_i] = (M_offset_i << 8 | M_offset_i >>> 24) & 0x00ff00ff | (M_offset_i << 24 | M_offset_i >>> 8) & 0xff00ff00;
          }

          var H = this._hash.words;
          var M_offset_0 = M[offset + 0];
          var M_offset_1 = M[offset + 1];
          var M_offset_2 = M[offset + 2];
          var M_offset_3 = M[offset + 3];
          var M_offset_4 = M[offset + 4];
          var M_offset_5 = M[offset + 5];
          var M_offset_6 = M[offset + 6];
          var M_offset_7 = M[offset + 7];
          var M_offset_8 = M[offset + 8];
          var M_offset_9 = M[offset + 9];
          var M_offset_10 = M[offset + 10];
          var M_offset_11 = M[offset + 11];
          var M_offset_12 = M[offset + 12];
          var M_offset_13 = M[offset + 13];
          var M_offset_14 = M[offset + 14];
          var M_offset_15 = M[offset + 15];
          var a = H[0];
          var b = H[1];
          var c = H[2];
          var d = H[3];
          a = FF(a, b, c, d, M_offset_0, 7, T[0]);
          d = FF(d, a, b, c, M_offset_1, 12, T[1]);
          c = FF(c, d, a, b, M_offset_2, 17, T[2]);
          b = FF(b, c, d, a, M_offset_3, 22, T[3]);
          a = FF(a, b, c, d, M_offset_4, 7, T[4]);
          d = FF(d, a, b, c, M_offset_5, 12, T[5]);
          c = FF(c, d, a, b, M_offset_6, 17, T[6]);
          b = FF(b, c, d, a, M_offset_7, 22, T[7]);
          a = FF(a, b, c, d, M_offset_8, 7, T[8]);
          d = FF(d, a, b, c, M_offset_9, 12, T[9]);
          c = FF(c, d, a, b, M_offset_10, 17, T[10]);
          b = FF(b, c, d, a, M_offset_11, 22, T[11]);
          a = FF(a, b, c, d, M_offset_12, 7, T[12]);
          d = FF(d, a, b, c, M_offset_13, 12, T[13]);
          c = FF(c, d, a, b, M_offset_14, 17, T[14]);
          b = FF(b, c, d, a, M_offset_15, 22, T[15]);
          a = GG(a, b, c, d, M_offset_1, 5, T[16]);
          d = GG(d, a, b, c, M_offset_6, 9, T[17]);
          c = GG(c, d, a, b, M_offset_11, 14, T[18]);
          b = GG(b, c, d, a, M_offset_0, 20, T[19]);
          a = GG(a, b, c, d, M_offset_5, 5, T[20]);
          d = GG(d, a, b, c, M_offset_10, 9, T[21]);
          c = GG(c, d, a, b, M_offset_15, 14, T[22]);
          b = GG(b, c, d, a, M_offset_4, 20, T[23]);
          a = GG(a, b, c, d, M_offset_9, 5, T[24]);
          d = GG(d, a, b, c, M_offset_14, 9, T[25]);
          c = GG(c, d, a, b, M_offset_3, 14, T[26]);
          b = GG(b, c, d, a, M_offset_8, 20, T[27]);
          a = GG(a, b, c, d, M_offset_13, 5, T[28]);
          d = GG(d, a, b, c, M_offset_2, 9, T[29]);
          c = GG(c, d, a, b, M_offset_7, 14, T[30]);
          b = GG(b, c, d, a, M_offset_12, 20, T[31]);
          a = HH(a, b, c, d, M_offset_5, 4, T[32]);
          d = HH(d, a, b, c, M_offset_8, 11, T[33]);
          c = HH(c, d, a, b, M_offset_11, 16, T[34]);
          b = HH(b, c, d, a, M_offset_14, 23, T[35]);
          a = HH(a, b, c, d, M_offset_1, 4, T[36]);
          d = HH(d, a, b, c, M_offset_4, 11, T[37]);
          c = HH(c, d, a, b, M_offset_7, 16, T[38]);
          b = HH(b, c, d, a, M_offset_10, 23, T[39]);
          a = HH(a, b, c, d, M_offset_13, 4, T[40]);
          d = HH(d, a, b, c, M_offset_0, 11, T[41]);
          c = HH(c, d, a, b, M_offset_3, 16, T[42]);
          b = HH(b, c, d, a, M_offset_6, 23, T[43]);
          a = HH(a, b, c, d, M_offset_9, 4, T[44]);
          d = HH(d, a, b, c, M_offset_12, 11, T[45]);
          c = HH(c, d, a, b, M_offset_15, 16, T[46]);
          b = HH(b, c, d, a, M_offset_2, 23, T[47]);
          a = II(a, b, c, d, M_offset_0, 6, T[48]);
          d = II(d, a, b, c, M_offset_7, 10, T[49]);
          c = II(c, d, a, b, M_offset_14, 15, T[50]);
          b = II(b, c, d, a, M_offset_5, 21, T[51]);
          a = II(a, b, c, d, M_offset_12, 6, T[52]);
          d = II(d, a, b, c, M_offset_3, 10, T[53]);
          c = II(c, d, a, b, M_offset_10, 15, T[54]);
          b = II(b, c, d, a, M_offset_1, 21, T[55]);
          a = II(a, b, c, d, M_offset_8, 6, T[56]);
          d = II(d, a, b, c, M_offset_15, 10, T[57]);
          c = II(c, d, a, b, M_offset_6, 15, T[58]);
          b = II(b, c, d, a, M_offset_13, 21, T[59]);
          a = II(a, b, c, d, M_offset_4, 6, T[60]);
          d = II(d, a, b, c, M_offset_11, 10, T[61]);
          c = II(c, d, a, b, M_offset_2, 15, T[62]);
          b = II(b, c, d, a, M_offset_9, 21, T[63]);
          H[0] = H[0] + a | 0;
          H[1] = H[1] + b | 0;
          H[2] = H[2] + c | 0;
          H[3] = H[3] + d | 0;
        },
        _doFinalize: function _doFinalize() {
          var data = this._data;
          var dataWords = data.words;
          var nBitsTotal = this._nDataBytes * 8;
          var nBitsLeft = data.sigBytes * 8;
          dataWords[nBitsLeft >>> 5] |= 0x80 << 24 - nBitsLeft % 32;
          var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000);
          var nBitsTotalL = nBitsTotal;
          dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = (nBitsTotalH << 8 | nBitsTotalH >>> 24) & 0x00ff00ff | (nBitsTotalH << 24 | nBitsTotalH >>> 8) & 0xff00ff00;
          dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = (nBitsTotalL << 8 | nBitsTotalL >>> 24) & 0x00ff00ff | (nBitsTotalL << 24 | nBitsTotalL >>> 8) & 0xff00ff00;
          data.sigBytes = (dataWords.length + 1) * 4;

          this._process();

          var hash = this._hash;
          var H = hash.words;

          for (var i = 0; i < 4; i++) {
            var H_i = H[i];
            H[i] = (H_i << 8 | H_i >>> 24) & 0x00ff00ff | (H_i << 24 | H_i >>> 8) & 0xff00ff00;
          }

          return hash;
        },
        clone: function clone() {
          var clone = Hasher.clone.call(this);
          clone._hash = this._hash.clone();
          return clone;
        }
      });

      function FF(a, b, c, d, x, s, t) {
        var n = a + (b & c | ~b & d) + x + t;
        return (n << s | n >>> 32 - s) + b;
      }

      function GG(a, b, c, d, x, s, t) {
        var n = a + (b & d | c & ~d) + x + t;
        return (n << s | n >>> 32 - s) + b;
      }

      function HH(a, b, c, d, x, s, t) {
        var n = a + (b ^ c ^ d) + x + t;
        return (n << s | n >>> 32 - s) + b;
      }

      function II(a, b, c, d, x, s, t) {
        var n = a + (c ^ (b | ~d)) + x + t;
        return (n << s | n >>> 32 - s) + b;
      }

      C.MD5 = Hasher._createHelper(MD5);
      C.HmacMD5 = Hasher._createHmacHelper(MD5);
    })(Math);

    return CryptoJS.MD5;
  });
},610,[605]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    (function () {
      var C = CryptoJS;
      var C_lib = C.lib;
      var WordArray = C_lib.WordArray;
      var Hasher = C_lib.Hasher;
      var C_algo = C.algo;
      var W = [];
      var SHA1 = C_algo.SHA1 = Hasher.extend({
        _doReset: function _doReset() {
          this._hash = new WordArray.init([0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]);
        },
        _doProcessBlock: function _doProcessBlock(M, offset) {
          var H = this._hash.words;
          var a = H[0];
          var b = H[1];
          var c = H[2];
          var d = H[3];
          var e = H[4];

          for (var i = 0; i < 80; i++) {
            if (i < 16) {
              W[i] = M[offset + i] | 0;
            } else {
              var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];
              W[i] = n << 1 | n >>> 31;
            }

            var t = (a << 5 | a >>> 27) + e + W[i];

            if (i < 20) {
              t += (b & c | ~b & d) + 0x5a827999;
            } else if (i < 40) {
              t += (b ^ c ^ d) + 0x6ed9eba1;
            } else if (i < 60) {
              t += (b & c | b & d | c & d) - 0x70e44324;
            } else {
                t += (b ^ c ^ d) - 0x359d3e2a;
              }

            e = d;
            d = c;
            c = b << 30 | b >>> 2;
            b = a;
            a = t;
          }

          H[0] = H[0] + a | 0;
          H[1] = H[1] + b | 0;
          H[2] = H[2] + c | 0;
          H[3] = H[3] + d | 0;
          H[4] = H[4] + e | 0;
        },
        _doFinalize: function _doFinalize() {
          var data = this._data;
          var dataWords = data.words;
          var nBitsTotal = this._nDataBytes * 8;
          var nBitsLeft = data.sigBytes * 8;
          dataWords[nBitsLeft >>> 5] |= 0x80 << 24 - nBitsLeft % 32;
          dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);
          dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = nBitsTotal;
          data.sigBytes = dataWords.length * 4;

          this._process();

          return this._hash;
        },
        clone: function clone() {
          var clone = Hasher.clone.call(this);
          clone._hash = this._hash.clone();
          return clone;
        }
      });
      C.SHA1 = Hasher._createHelper(SHA1);
      C.HmacSHA1 = Hasher._createHmacHelper(SHA1);
    })();

    return CryptoJS.SHA1;
  });
},611,[605]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    (function (Math) {
      var C = CryptoJS;
      var C_lib = C.lib;
      var WordArray = C_lib.WordArray;
      var Hasher = C_lib.Hasher;
      var C_algo = C.algo;
      var H = [];
      var K = [];

      (function () {
        function isPrime(n) {
          var sqrtN = Math.sqrt(n);

          for (var factor = 2; factor <= sqrtN; factor++) {
            if (!(n % factor)) {
              return false;
            }
          }

          return true;
        }

        function getFractionalBits(n) {
          return (n - (n | 0)) * 0x100000000 | 0;
        }

        var n = 2;
        var nPrime = 0;

        while (nPrime < 64) {
          if (isPrime(n)) {
            if (nPrime < 8) {
              H[nPrime] = getFractionalBits(Math.pow(n, 0.5));
            }

            K[nPrime] = getFractionalBits(Math.pow(n, 0.3333333333333333));
            nPrime++;
          }

          n++;
        }
      })();

      var W = [];
      var SHA256 = C_algo.SHA256 = Hasher.extend({
        _doReset: function _doReset() {
          this._hash = new WordArray.init(H.slice(0));
        },
        _doProcessBlock: function _doProcessBlock(M, offset) {
          var H = this._hash.words;
          var a = H[0];
          var b = H[1];
          var c = H[2];
          var d = H[3];
          var e = H[4];
          var f = H[5];
          var g = H[6];
          var h = H[7];

          for (var i = 0; i < 64; i++) {
            if (i < 16) {
              W[i] = M[offset + i] | 0;
            } else {
              var gamma0x = W[i - 15];
              var gamma0 = (gamma0x << 25 | gamma0x >>> 7) ^ (gamma0x << 14 | gamma0x >>> 18) ^ gamma0x >>> 3;
              var gamma1x = W[i - 2];
              var gamma1 = (gamma1x << 15 | gamma1x >>> 17) ^ (gamma1x << 13 | gamma1x >>> 19) ^ gamma1x >>> 10;
              W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];
            }

            var ch = e & f ^ ~e & g;
            var maj = a & b ^ a & c ^ b & c;
            var sigma0 = (a << 30 | a >>> 2) ^ (a << 19 | a >>> 13) ^ (a << 10 | a >>> 22);
            var sigma1 = (e << 26 | e >>> 6) ^ (e << 21 | e >>> 11) ^ (e << 7 | e >>> 25);
            var t1 = h + sigma1 + ch + K[i] + W[i];
            var t2 = sigma0 + maj;
            h = g;
            g = f;
            f = e;
            e = d + t1 | 0;
            d = c;
            c = b;
            b = a;
            a = t1 + t2 | 0;
          }

          H[0] = H[0] + a | 0;
          H[1] = H[1] + b | 0;
          H[2] = H[2] + c | 0;
          H[3] = H[3] + d | 0;
          H[4] = H[4] + e | 0;
          H[5] = H[5] + f | 0;
          H[6] = H[6] + g | 0;
          H[7] = H[7] + h | 0;
        },
        _doFinalize: function _doFinalize() {
          var data = this._data;
          var dataWords = data.words;
          var nBitsTotal = this._nDataBytes * 8;
          var nBitsLeft = data.sigBytes * 8;
          dataWords[nBitsLeft >>> 5] |= 0x80 << 24 - nBitsLeft % 32;
          dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);
          dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = nBitsTotal;
          data.sigBytes = dataWords.length * 4;

          this._process();

          return this._hash;
        },
        clone: function clone() {
          var clone = Hasher.clone.call(this);
          clone._hash = this._hash.clone();
          return clone;
        }
      });
      C.SHA256 = Hasher._createHelper(SHA256);
      C.HmacSHA256 = Hasher._createHmacHelper(SHA256);
    })(Math);

    return CryptoJS.SHA256;
  });
},612,[605]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./sha256"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    (function () {
      var C = CryptoJS;
      var C_lib = C.lib;
      var WordArray = C_lib.WordArray;
      var C_algo = C.algo;
      var SHA256 = C_algo.SHA256;
      var SHA224 = C_algo.SHA224 = SHA256.extend({
        _doReset: function _doReset() {
          this._hash = new WordArray.init([0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4]);
        },
        _doFinalize: function _doFinalize() {
          var hash = SHA256._doFinalize.call(this);

          hash.sigBytes -= 4;
          return hash;
        }
      });
      C.SHA224 = SHA256._createHelper(SHA224);
      C.HmacSHA224 = SHA256._createHmacHelper(SHA224);
    })();

    return CryptoJS.SHA224;
  });
},613,[605,612]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./x64-core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    (function () {
      var C = CryptoJS;
      var C_lib = C.lib;
      var Hasher = C_lib.Hasher;
      var C_x64 = C.x64;
      var X64Word = C_x64.Word;
      var X64WordArray = C_x64.WordArray;
      var C_algo = C.algo;

      function X64Word_create() {
        return X64Word.create.apply(X64Word, arguments);
      }

      var K = [X64Word_create(0x428a2f98, 0xd728ae22), X64Word_create(0x71374491, 0x23ef65cd), X64Word_create(0xb5c0fbcf, 0xec4d3b2f), X64Word_create(0xe9b5dba5, 0x8189dbbc), X64Word_create(0x3956c25b, 0xf348b538), X64Word_create(0x59f111f1, 0xb605d019), X64Word_create(0x923f82a4, 0xaf194f9b), X64Word_create(0xab1c5ed5, 0xda6d8118), X64Word_create(0xd807aa98, 0xa3030242), X64Word_create(0x12835b01, 0x45706fbe), X64Word_create(0x243185be, 0x4ee4b28c), X64Word_create(0x550c7dc3, 0xd5ffb4e2), X64Word_create(0x72be5d74, 0xf27b896f), X64Word_create(0x80deb1fe, 0x3b1696b1), X64Word_create(0x9bdc06a7, 0x25c71235), X64Word_create(0xc19bf174, 0xcf692694), X64Word_create(0xe49b69c1, 0x9ef14ad2), X64Word_create(0xefbe4786, 0x384f25e3), X64Word_create(0x0fc19dc6, 0x8b8cd5b5), X64Word_create(0x240ca1cc, 0x77ac9c65), X64Word_create(0x2de92c6f, 0x592b0275), X64Word_create(0x4a7484aa, 0x6ea6e483), X64Word_create(0x5cb0a9dc, 0xbd41fbd4), X64Word_create(0x76f988da, 0x831153b5), X64Word_create(0x983e5152, 0xee66dfab), X64Word_create(0xa831c66d, 0x2db43210), X64Word_create(0xb00327c8, 0x98fb213f), X64Word_create(0xbf597fc7, 0xbeef0ee4), X64Word_create(0xc6e00bf3, 0x3da88fc2), X64Word_create(0xd5a79147, 0x930aa725), X64Word_create(0x06ca6351, 0xe003826f), X64Word_create(0x14292967, 0x0a0e6e70), X64Word_create(0x27b70a85, 0x46d22ffc), X64Word_create(0x2e1b2138, 0x5c26c926), X64Word_create(0x4d2c6dfc, 0x5ac42aed), X64Word_create(0x53380d13, 0x9d95b3df), X64Word_create(0x650a7354, 0x8baf63de), X64Word_create(0x766a0abb, 0x3c77b2a8), X64Word_create(0x81c2c92e, 0x47edaee6), X64Word_create(0x92722c85, 0x1482353b), X64Word_create(0xa2bfe8a1, 0x4cf10364), X64Word_create(0xa81a664b, 0xbc423001), X64Word_create(0xc24b8b70, 0xd0f89791), X64Word_create(0xc76c51a3, 0x0654be30), X64Word_create(0xd192e819, 0xd6ef5218), X64Word_create(0xd6990624, 0x5565a910), X64Word_create(0xf40e3585, 0x5771202a), X64Word_create(0x106aa070, 0x32bbd1b8), X64Word_create(0x19a4c116, 0xb8d2d0c8), X64Word_create(0x1e376c08, 0x5141ab53), X64Word_create(0x2748774c, 0xdf8eeb99), X64Word_create(0x34b0bcb5, 0xe19b48a8), X64Word_create(0x391c0cb3, 0xc5c95a63), X64Word_create(0x4ed8aa4a, 0xe3418acb), X64Word_create(0x5b9cca4f, 0x7763e373), X64Word_create(0x682e6ff3, 0xd6b2b8a3), X64Word_create(0x748f82ee, 0x5defb2fc), X64Word_create(0x78a5636f, 0x43172f60), X64Word_create(0x84c87814, 0xa1f0ab72), X64Word_create(0x8cc70208, 0x1a6439ec), X64Word_create(0x90befffa, 0x23631e28), X64Word_create(0xa4506ceb, 0xde82bde9), X64Word_create(0xbef9a3f7, 0xb2c67915), X64Word_create(0xc67178f2, 0xe372532b), X64Word_create(0xca273ece, 0xea26619c), X64Word_create(0xd186b8c7, 0x21c0c207), X64Word_create(0xeada7dd6, 0xcde0eb1e), X64Word_create(0xf57d4f7f, 0xee6ed178), X64Word_create(0x06f067aa, 0x72176fba), X64Word_create(0x0a637dc5, 0xa2c898a6), X64Word_create(0x113f9804, 0xbef90dae), X64Word_create(0x1b710b35, 0x131c471b), X64Word_create(0x28db77f5, 0x23047d84), X64Word_create(0x32caab7b, 0x40c72493), X64Word_create(0x3c9ebe0a, 0x15c9bebc), X64Word_create(0x431d67c4, 0x9c100d4c), X64Word_create(0x4cc5d4be, 0xcb3e42b6), X64Word_create(0x597f299c, 0xfc657e2a), X64Word_create(0x5fcb6fab, 0x3ad6faec), X64Word_create(0x6c44198c, 0x4a475817)];
      var W = [];

      (function () {
        for (var i = 0; i < 80; i++) {
          W[i] = X64Word_create();
        }
      })();

      var SHA512 = C_algo.SHA512 = Hasher.extend({
        _doReset: function _doReset() {
          this._hash = new X64WordArray.init([new X64Word.init(0x6a09e667, 0xf3bcc908), new X64Word.init(0xbb67ae85, 0x84caa73b), new X64Word.init(0x3c6ef372, 0xfe94f82b), new X64Word.init(0xa54ff53a, 0x5f1d36f1), new X64Word.init(0x510e527f, 0xade682d1), new X64Word.init(0x9b05688c, 0x2b3e6c1f), new X64Word.init(0x1f83d9ab, 0xfb41bd6b), new X64Word.init(0x5be0cd19, 0x137e2179)]);
        },
        _doProcessBlock: function _doProcessBlock(M, offset) {
          var H = this._hash.words;
          var H0 = H[0];
          var H1 = H[1];
          var H2 = H[2];
          var H3 = H[3];
          var H4 = H[4];
          var H5 = H[5];
          var H6 = H[6];
          var H7 = H[7];
          var H0h = H0.high;
          var H0l = H0.low;
          var H1h = H1.high;
          var H1l = H1.low;
          var H2h = H2.high;
          var H2l = H2.low;
          var H3h = H3.high;
          var H3l = H3.low;
          var H4h = H4.high;
          var H4l = H4.low;
          var H5h = H5.high;
          var H5l = H5.low;
          var H6h = H6.high;
          var H6l = H6.low;
          var H7h = H7.high;
          var H7l = H7.low;
          var ah = H0h;
          var al = H0l;
          var bh = H1h;
          var bl = H1l;
          var ch = H2h;
          var cl = H2l;
          var dh = H3h;
          var dl = H3l;
          var eh = H4h;
          var el = H4l;
          var fh = H5h;
          var fl = H5l;
          var gh = H6h;
          var gl = H6l;
          var hh = H7h;
          var hl = H7l;

          for (var i = 0; i < 80; i++) {
            var Wi = W[i];

            if (i < 16) {
              var Wih = Wi.high = M[offset + i * 2] | 0;
              var Wil = Wi.low = M[offset + i * 2 + 1] | 0;
            } else {
              var gamma0x = W[i - 15];
              var gamma0xh = gamma0x.high;
              var gamma0xl = gamma0x.low;
              var gamma0h = (gamma0xh >>> 1 | gamma0xl << 31) ^ (gamma0xh >>> 8 | gamma0xl << 24) ^ gamma0xh >>> 7;
              var gamma0l = (gamma0xl >>> 1 | gamma0xh << 31) ^ (gamma0xl >>> 8 | gamma0xh << 24) ^ (gamma0xl >>> 7 | gamma0xh << 25);
              var gamma1x = W[i - 2];
              var gamma1xh = gamma1x.high;
              var gamma1xl = gamma1x.low;
              var gamma1h = (gamma1xh >>> 19 | gamma1xl << 13) ^ (gamma1xh << 3 | gamma1xl >>> 29) ^ gamma1xh >>> 6;
              var gamma1l = (gamma1xl >>> 19 | gamma1xh << 13) ^ (gamma1xl << 3 | gamma1xh >>> 29) ^ (gamma1xl >>> 6 | gamma1xh << 26);
              var Wi7 = W[i - 7];
              var Wi7h = Wi7.high;
              var Wi7l = Wi7.low;
              var Wi16 = W[i - 16];
              var Wi16h = Wi16.high;
              var Wi16l = Wi16.low;
              var Wil = gamma0l + Wi7l;
              var Wih = gamma0h + Wi7h + (Wil >>> 0 < gamma0l >>> 0 ? 1 : 0);
              var Wil = Wil + gamma1l;
              var Wih = Wih + gamma1h + (Wil >>> 0 < gamma1l >>> 0 ? 1 : 0);
              var Wil = Wil + Wi16l;
              var Wih = Wih + Wi16h + (Wil >>> 0 < Wi16l >>> 0 ? 1 : 0);
              Wi.high = Wih;
              Wi.low = Wil;
            }

            var chh = eh & fh ^ ~eh & gh;
            var chl = el & fl ^ ~el & gl;
            var majh = ah & bh ^ ah & ch ^ bh & ch;
            var majl = al & bl ^ al & cl ^ bl & cl;
            var sigma0h = (ah >>> 28 | al << 4) ^ (ah << 30 | al >>> 2) ^ (ah << 25 | al >>> 7);
            var sigma0l = (al >>> 28 | ah << 4) ^ (al << 30 | ah >>> 2) ^ (al << 25 | ah >>> 7);
            var sigma1h = (eh >>> 14 | el << 18) ^ (eh >>> 18 | el << 14) ^ (eh << 23 | el >>> 9);
            var sigma1l = (el >>> 14 | eh << 18) ^ (el >>> 18 | eh << 14) ^ (el << 23 | eh >>> 9);
            var Ki = K[i];
            var Kih = Ki.high;
            var Kil = Ki.low;
            var t1l = hl + sigma1l;
            var t1h = hh + sigma1h + (t1l >>> 0 < hl >>> 0 ? 1 : 0);
            var t1l = t1l + chl;
            var t1h = t1h + chh + (t1l >>> 0 < chl >>> 0 ? 1 : 0);
            var t1l = t1l + Kil;
            var t1h = t1h + Kih + (t1l >>> 0 < Kil >>> 0 ? 1 : 0);
            var t1l = t1l + Wil;
            var t1h = t1h + Wih + (t1l >>> 0 < Wil >>> 0 ? 1 : 0);
            var t2l = sigma0l + majl;
            var t2h = sigma0h + majh + (t2l >>> 0 < sigma0l >>> 0 ? 1 : 0);
            hh = gh;
            hl = gl;
            gh = fh;
            gl = fl;
            fh = eh;
            fl = el;
            el = dl + t1l | 0;
            eh = dh + t1h + (el >>> 0 < dl >>> 0 ? 1 : 0) | 0;
            dh = ch;
            dl = cl;
            ch = bh;
            cl = bl;
            bh = ah;
            bl = al;
            al = t1l + t2l | 0;
            ah = t1h + t2h + (al >>> 0 < t1l >>> 0 ? 1 : 0) | 0;
          }

          H0l = H0.low = H0l + al;
          H0.high = H0h + ah + (H0l >>> 0 < al >>> 0 ? 1 : 0);
          H1l = H1.low = H1l + bl;
          H1.high = H1h + bh + (H1l >>> 0 < bl >>> 0 ? 1 : 0);
          H2l = H2.low = H2l + cl;
          H2.high = H2h + ch + (H2l >>> 0 < cl >>> 0 ? 1 : 0);
          H3l = H3.low = H3l + dl;
          H3.high = H3h + dh + (H3l >>> 0 < dl >>> 0 ? 1 : 0);
          H4l = H4.low = H4l + el;
          H4.high = H4h + eh + (H4l >>> 0 < el >>> 0 ? 1 : 0);
          H5l = H5.low = H5l + fl;
          H5.high = H5h + fh + (H5l >>> 0 < fl >>> 0 ? 1 : 0);
          H6l = H6.low = H6l + gl;
          H6.high = H6h + gh + (H6l >>> 0 < gl >>> 0 ? 1 : 0);
          H7l = H7.low = H7l + hl;
          H7.high = H7h + hh + (H7l >>> 0 < hl >>> 0 ? 1 : 0);
        },
        _doFinalize: function _doFinalize() {
          var data = this._data;
          var dataWords = data.words;
          var nBitsTotal = this._nDataBytes * 8;
          var nBitsLeft = data.sigBytes * 8;
          dataWords[nBitsLeft >>> 5] |= 0x80 << 24 - nBitsLeft % 32;
          dataWords[(nBitsLeft + 128 >>> 10 << 5) + 30] = Math.floor(nBitsTotal / 0x100000000);
          dataWords[(nBitsLeft + 128 >>> 10 << 5) + 31] = nBitsTotal;
          data.sigBytes = dataWords.length * 4;

          this._process();

          var hash = this._hash.toX32();

          return hash;
        },
        clone: function clone() {
          var clone = Hasher.clone.call(this);
          clone._hash = this._hash.clone();
          return clone;
        },
        blockSize: 32
      });
      C.SHA512 = Hasher._createHelper(SHA512);
      C.HmacSHA512 = Hasher._createHmacHelper(SHA512);
    })();

    return CryptoJS.SHA512;
  });
},614,[605,606]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]), _$$_REQUIRE(_dependencyMap[2]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./x64-core", "./sha512"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    (function () {
      var C = CryptoJS;
      var C_x64 = C.x64;
      var X64Word = C_x64.Word;
      var X64WordArray = C_x64.WordArray;
      var C_algo = C.algo;
      var SHA512 = C_algo.SHA512;
      var SHA384 = C_algo.SHA384 = SHA512.extend({
        _doReset: function _doReset() {
          this._hash = new X64WordArray.init([new X64Word.init(0xcbbb9d5d, 0xc1059ed8), new X64Word.init(0x629a292a, 0x367cd507), new X64Word.init(0x9159015a, 0x3070dd17), new X64Word.init(0x152fecd8, 0xf70e5939), new X64Word.init(0x67332667, 0xffc00b31), new X64Word.init(0x8eb44a87, 0x68581511), new X64Word.init(0xdb0c2e0d, 0x64f98fa7), new X64Word.init(0x47b5481d, 0xbefa4fa4)]);
        },
        _doFinalize: function _doFinalize() {
          var hash = SHA512._doFinalize.call(this);

          hash.sigBytes -= 16;
          return hash;
        }
      });
      C.SHA384 = SHA512._createHelper(SHA384);
      C.HmacSHA384 = SHA512._createHmacHelper(SHA384);
    })();

    return CryptoJS.SHA384;
  });
},615,[605,606,614]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./x64-core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    (function (Math) {
      var C = CryptoJS;
      var C_lib = C.lib;
      var WordArray = C_lib.WordArray;
      var Hasher = C_lib.Hasher;
      var C_x64 = C.x64;
      var X64Word = C_x64.Word;
      var C_algo = C.algo;
      var RHO_OFFSETS = [];
      var PI_INDEXES = [];
      var ROUND_CONSTANTS = [];

      (function () {
        var x = 1,
            y = 0;

        for (var t = 0; t < 24; t++) {
          RHO_OFFSETS[x + 5 * y] = (t + 1) * (t + 2) / 2 % 64;
          var newX = y % 5;
          var newY = (2 * x + 3 * y) % 5;
          x = newX;
          y = newY;
        }

        for (var x = 0; x < 5; x++) {
          for (var y = 0; y < 5; y++) {
            PI_INDEXES[x + 5 * y] = y + (2 * x + 3 * y) % 5 * 5;
          }
        }

        var LFSR = 0x01;

        for (var i = 0; i < 24; i++) {
          var roundConstantMsw = 0;
          var roundConstantLsw = 0;

          for (var j = 0; j < 7; j++) {
            if (LFSR & 0x01) {
              var bitPosition = (1 << j) - 1;

              if (bitPosition < 32) {
                roundConstantLsw ^= 1 << bitPosition;
              } else {
                  roundConstantMsw ^= 1 << bitPosition - 32;
                }
            }

            if (LFSR & 0x80) {
              LFSR = LFSR << 1 ^ 0x71;
            } else {
              LFSR <<= 1;
            }
          }

          ROUND_CONSTANTS[i] = X64Word.create(roundConstantMsw, roundConstantLsw);
        }
      })();

      var T = [];

      (function () {
        for (var i = 0; i < 25; i++) {
          T[i] = X64Word.create();
        }
      })();

      var SHA3 = C_algo.SHA3 = Hasher.extend({
        cfg: Hasher.cfg.extend({
          outputLength: 512
        }),
        _doReset: function _doReset() {
          var state = this._state = [];

          for (var i = 0; i < 25; i++) {
            state[i] = new X64Word.init();
          }

          this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32;
        },
        _doProcessBlock: function _doProcessBlock(M, offset) {
          var state = this._state;
          var nBlockSizeLanes = this.blockSize / 2;

          for (var i = 0; i < nBlockSizeLanes; i++) {
            var M2i = M[offset + 2 * i];
            var M2i1 = M[offset + 2 * i + 1];
            M2i = (M2i << 8 | M2i >>> 24) & 0x00ff00ff | (M2i << 24 | M2i >>> 8) & 0xff00ff00;
            M2i1 = (M2i1 << 8 | M2i1 >>> 24) & 0x00ff00ff | (M2i1 << 24 | M2i1 >>> 8) & 0xff00ff00;
            var lane = state[i];
            lane.high ^= M2i1;
            lane.low ^= M2i;
          }

          for (var round = 0; round < 24; round++) {
            for (var x = 0; x < 5; x++) {
              var tMsw = 0,
                  tLsw = 0;

              for (var y = 0; y < 5; y++) {
                var lane = state[x + 5 * y];
                tMsw ^= lane.high;
                tLsw ^= lane.low;
              }

              var Tx = T[x];
              Tx.high = tMsw;
              Tx.low = tLsw;
            }

            for (var x = 0; x < 5; x++) {
              var Tx4 = T[(x + 4) % 5];
              var Tx1 = T[(x + 1) % 5];
              var Tx1Msw = Tx1.high;
              var Tx1Lsw = Tx1.low;
              var tMsw = Tx4.high ^ (Tx1Msw << 1 | Tx1Lsw >>> 31);
              var tLsw = Tx4.low ^ (Tx1Lsw << 1 | Tx1Msw >>> 31);

              for (var y = 0; y < 5; y++) {
                var lane = state[x + 5 * y];
                lane.high ^= tMsw;
                lane.low ^= tLsw;
              }
            }

            for (var laneIndex = 1; laneIndex < 25; laneIndex++) {
              var lane = state[laneIndex];
              var laneMsw = lane.high;
              var laneLsw = lane.low;
              var rhoOffset = RHO_OFFSETS[laneIndex];

              if (rhoOffset < 32) {
                var tMsw = laneMsw << rhoOffset | laneLsw >>> 32 - rhoOffset;
                var tLsw = laneLsw << rhoOffset | laneMsw >>> 32 - rhoOffset;
              } else {
                  var tMsw = laneLsw << rhoOffset - 32 | laneMsw >>> 64 - rhoOffset;
                  var tLsw = laneMsw << rhoOffset - 32 | laneLsw >>> 64 - rhoOffset;
                }

              var TPiLane = T[PI_INDEXES[laneIndex]];
              TPiLane.high = tMsw;
              TPiLane.low = tLsw;
            }

            var T0 = T[0];
            var state0 = state[0];
            T0.high = state0.high;
            T0.low = state0.low;

            for (var x = 0; x < 5; x++) {
              for (var y = 0; y < 5; y++) {
                var laneIndex = x + 5 * y;
                var lane = state[laneIndex];
                var TLane = T[laneIndex];
                var Tx1Lane = T[(x + 1) % 5 + 5 * y];
                var Tx2Lane = T[(x + 2) % 5 + 5 * y];
                lane.high = TLane.high ^ ~Tx1Lane.high & Tx2Lane.high;
                lane.low = TLane.low ^ ~Tx1Lane.low & Tx2Lane.low;
              }
            }

            var lane = state[0];
            var roundConstant = ROUND_CONSTANTS[round];
            lane.high ^= roundConstant.high;
            lane.low ^= roundConstant.low;
            ;
          }
        },
        _doFinalize: function _doFinalize() {
          var data = this._data;
          var dataWords = data.words;
          var nBitsTotal = this._nDataBytes * 8;
          var nBitsLeft = data.sigBytes * 8;
          var blockSizeBits = this.blockSize * 32;
          dataWords[nBitsLeft >>> 5] |= 0x1 << 24 - nBitsLeft % 32;
          dataWords[(Math.ceil((nBitsLeft + 1) / blockSizeBits) * blockSizeBits >>> 5) - 1] |= 0x80;
          data.sigBytes = dataWords.length * 4;

          this._process();

          var state = this._state;
          var outputLengthBytes = this.cfg.outputLength / 8;
          var outputLengthLanes = outputLengthBytes / 8;
          var hashWords = [];

          for (var i = 0; i < outputLengthLanes; i++) {
            var lane = state[i];
            var laneMsw = lane.high;
            var laneLsw = lane.low;
            laneMsw = (laneMsw << 8 | laneMsw >>> 24) & 0x00ff00ff | (laneMsw << 24 | laneMsw >>> 8) & 0xff00ff00;
            laneLsw = (laneLsw << 8 | laneLsw >>> 24) & 0x00ff00ff | (laneLsw << 24 | laneLsw >>> 8) & 0xff00ff00;
            hashWords.push(laneLsw);
            hashWords.push(laneMsw);
          }

          return new WordArray.init(hashWords, outputLengthBytes);
        },
        clone: function clone() {
          var clone = Hasher.clone.call(this);

          var state = clone._state = this._state.slice(0);

          for (var i = 0; i < 25; i++) {
            state[i] = state[i].clone();
          }

          return clone;
        }
      });
      C.SHA3 = Hasher._createHelper(SHA3);
      C.HmacSHA3 = Hasher._createHmacHelper(SHA3);
    })(Math);

    return CryptoJS.SHA3;
  });
},616,[605,606]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    /** @preserve
    (c) 2012 by Cédric Mesnil. All rights reserved.
    	Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
    	    - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
        - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    */
    (function (Math) {
      var C = CryptoJS;
      var C_lib = C.lib;
      var WordArray = C_lib.WordArray;
      var Hasher = C_lib.Hasher;
      var C_algo = C.algo;

      var _zl = WordArray.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]);

      var _zr = WordArray.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]);

      var _sl = WordArray.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]);

      var _sr = WordArray.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]);

      var _hl = WordArray.create([0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]);

      var _hr = WordArray.create([0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]);

      var RIPEMD160 = C_algo.RIPEMD160 = Hasher.extend({
        _doReset: function _doReset() {
          this._hash = WordArray.create([0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]);
        },
        _doProcessBlock: function _doProcessBlock(M, offset) {
          for (var i = 0; i < 16; i++) {
            var offset_i = offset + i;
            var M_offset_i = M[offset_i];
            M[offset_i] = (M_offset_i << 8 | M_offset_i >>> 24) & 0x00ff00ff | (M_offset_i << 24 | M_offset_i >>> 8) & 0xff00ff00;
          }

          var H = this._hash.words;
          var hl = _hl.words;
          var hr = _hr.words;
          var zl = _zl.words;
          var zr = _zr.words;
          var sl = _sl.words;
          var sr = _sr.words;
          var al, bl, cl, dl, el;
          var ar, br, cr, dr, er;
          ar = al = H[0];
          br = bl = H[1];
          cr = cl = H[2];
          dr = dl = H[3];
          er = el = H[4];
          var t;

          for (var i = 0; i < 80; i += 1) {
            t = al + M[offset + zl[i]] | 0;

            if (i < 16) {
              t += f1(bl, cl, dl) + hl[0];
            } else if (i < 32) {
              t += f2(bl, cl, dl) + hl[1];
            } else if (i < 48) {
              t += f3(bl, cl, dl) + hl[2];
            } else if (i < 64) {
              t += f4(bl, cl, dl) + hl[3];
            } else {
              t += f5(bl, cl, dl) + hl[4];
            }

            t = t | 0;
            t = rotl(t, sl[i]);
            t = t + el | 0;
            al = el;
            el = dl;
            dl = rotl(cl, 10);
            cl = bl;
            bl = t;
            t = ar + M[offset + zr[i]] | 0;

            if (i < 16) {
              t += f5(br, cr, dr) + hr[0];
            } else if (i < 32) {
              t += f4(br, cr, dr) + hr[1];
            } else if (i < 48) {
              t += f3(br, cr, dr) + hr[2];
            } else if (i < 64) {
              t += f2(br, cr, dr) + hr[3];
            } else {
              t += f1(br, cr, dr) + hr[4];
            }

            t = t | 0;
            t = rotl(t, sr[i]);
            t = t + er | 0;
            ar = er;
            er = dr;
            dr = rotl(cr, 10);
            cr = br;
            br = t;
          }

          t = H[1] + cl + dr | 0;
          H[1] = H[2] + dl + er | 0;
          H[2] = H[3] + el + ar | 0;
          H[3] = H[4] + al + br | 0;
          H[4] = H[0] + bl + cr | 0;
          H[0] = t;
        },
        _doFinalize: function _doFinalize() {
          var data = this._data;
          var dataWords = data.words;
          var nBitsTotal = this._nDataBytes * 8;
          var nBitsLeft = data.sigBytes * 8;
          dataWords[nBitsLeft >>> 5] |= 0x80 << 24 - nBitsLeft % 32;
          dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = (nBitsTotal << 8 | nBitsTotal >>> 24) & 0x00ff00ff | (nBitsTotal << 24 | nBitsTotal >>> 8) & 0xff00ff00;
          data.sigBytes = (dataWords.length + 1) * 4;

          this._process();

          var hash = this._hash;
          var H = hash.words;

          for (var i = 0; i < 5; i++) {
            var H_i = H[i];
            H[i] = (H_i << 8 | H_i >>> 24) & 0x00ff00ff | (H_i << 24 | H_i >>> 8) & 0xff00ff00;
          }

          return hash;
        },
        clone: function clone() {
          var clone = Hasher.clone.call(this);
          clone._hash = this._hash.clone();
          return clone;
        }
      });

      function f1(x, y, z) {
        return x ^ y ^ z;
      }

      function f2(x, y, z) {
        return x & y | ~x & z;
      }

      function f3(x, y, z) {
        return (x | ~y) ^ z;
      }

      function f4(x, y, z) {
        return x & z | y & ~z;
      }

      function f5(x, y, z) {
        return x ^ (y | ~z);
      }

      function rotl(x, n) {
        return x << n | x >>> 32 - n;
      }

      C.RIPEMD160 = Hasher._createHelper(RIPEMD160);
      C.HmacRIPEMD160 = Hasher._createHmacHelper(RIPEMD160);
    })(Math);

    return CryptoJS.RIPEMD160;
  });
},617,[605]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    (function () {
      var C = CryptoJS;
      var C_lib = C.lib;
      var Base = C_lib.Base;
      var C_enc = C.enc;
      var Utf8 = C_enc.Utf8;
      var C_algo = C.algo;
      var HMAC = C_algo.HMAC = Base.extend({
        init: function init(hasher, key) {
          hasher = this._hasher = new hasher.init();

          if (typeof key == 'string') {
            key = Utf8.parse(key);
          }

          var hasherBlockSize = hasher.blockSize;
          var hasherBlockSizeBytes = hasherBlockSize * 4;

          if (key.sigBytes > hasherBlockSizeBytes) {
            key = hasher.finalize(key);
          }

          key.clamp();
          var oKey = this._oKey = key.clone();
          var iKey = this._iKey = key.clone();
          var oKeyWords = oKey.words;
          var iKeyWords = iKey.words;

          for (var i = 0; i < hasherBlockSize; i++) {
            oKeyWords[i] ^= 0x5c5c5c5c;
            iKeyWords[i] ^= 0x36363636;
          }

          oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes;
          this.reset();
        },
        reset: function reset() {
          var hasher = this._hasher;
          hasher.reset();
          hasher.update(this._iKey);
        },
        update: function update(messageUpdate) {
          this._hasher.update(messageUpdate);

          return this;
        },
        finalize: function finalize(messageUpdate) {
          var hasher = this._hasher;
          var innerHash = hasher.finalize(messageUpdate);
          hasher.reset();
          var hmac = hasher.finalize(this._oKey.clone().concat(innerHash));
          return hmac;
        }
      });
    })();
  });
},618,[605]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]), _$$_REQUIRE(_dependencyMap[2]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./sha1", "./hmac"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    (function () {
      var C = CryptoJS;
      var C_lib = C.lib;
      var Base = C_lib.Base;
      var WordArray = C_lib.WordArray;
      var C_algo = C.algo;
      var SHA1 = C_algo.SHA1;
      var HMAC = C_algo.HMAC;
      var PBKDF2 = C_algo.PBKDF2 = Base.extend({
        cfg: Base.extend({
          keySize: 4,
          hasher: SHA1,
          iterations: 1
        }),
        init: function init(cfg) {
          this.cfg = this.cfg.extend(cfg);
        },
        compute: function compute(password, salt) {
          var cfg = this.cfg;
          var hmac = HMAC.create(cfg.hasher, password);
          var derivedKey = WordArray.create();
          var blockIndex = WordArray.create([0x00000001]);
          var derivedKeyWords = derivedKey.words;
          var blockIndexWords = blockIndex.words;
          var keySize = cfg.keySize;
          var iterations = cfg.iterations;

          while (derivedKeyWords.length < keySize) {
            var block = hmac.update(salt).finalize(blockIndex);
            hmac.reset();
            var blockWords = block.words;
            var blockWordsLength = blockWords.length;
            var intermediate = block;

            for (var i = 1; i < iterations; i++) {
              intermediate = hmac.finalize(intermediate);
              hmac.reset();
              var intermediateWords = intermediate.words;

              for (var j = 0; j < blockWordsLength; j++) {
                blockWords[j] ^= intermediateWords[j];
              }
            }

            derivedKey.concat(block);
            blockIndexWords[0]++;
          }

          derivedKey.sigBytes = keySize * 4;
          return derivedKey;
        }
      });

      C.PBKDF2 = function (password, salt, cfg) {
        return PBKDF2.create(cfg).compute(password, salt);
      };
    })();

    return CryptoJS.PBKDF2;
  });
},619,[605,611,618]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]), _$$_REQUIRE(_dependencyMap[2]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./sha1", "./hmac"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    (function () {
      var C = CryptoJS;
      var C_lib = C.lib;
      var Base = C_lib.Base;
      var WordArray = C_lib.WordArray;
      var C_algo = C.algo;
      var MD5 = C_algo.MD5;
      var EvpKDF = C_algo.EvpKDF = Base.extend({
        cfg: Base.extend({
          keySize: 4,
          hasher: MD5,
          iterations: 1
        }),
        init: function init(cfg) {
          this.cfg = this.cfg.extend(cfg);
        },
        compute: function compute(password, salt) {
          var cfg = this.cfg;
          var hasher = cfg.hasher.create();
          var derivedKey = WordArray.create();
          var derivedKeyWords = derivedKey.words;
          var keySize = cfg.keySize;
          var iterations = cfg.iterations;

          while (derivedKeyWords.length < keySize) {
            if (block) {
              hasher.update(block);
            }

            var block = hasher.update(password).finalize(salt);
            hasher.reset();

            for (var i = 1; i < iterations; i++) {
              block = hasher.finalize(block);
              hasher.reset();
            }

            derivedKey.concat(block);
          }

          derivedKey.sigBytes = keySize * 4;
          return derivedKey;
        }
      });

      C.EvpKDF = function (password, salt, cfg) {
        return EvpKDF.create(cfg).compute(password, salt);
      };
    })();

    return CryptoJS.EvpKDF;
  });
},620,[605,611,618]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./evpkdf"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    CryptoJS.lib.Cipher || function (undefined) {
      var C = CryptoJS;
      var C_lib = C.lib;
      var Base = C_lib.Base;
      var WordArray = C_lib.WordArray;
      var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm;
      var C_enc = C.enc;
      var Utf8 = C_enc.Utf8;
      var Base64 = C_enc.Base64;
      var C_algo = C.algo;
      var EvpKDF = C_algo.EvpKDF;
      var Cipher = C_lib.Cipher = BufferedBlockAlgorithm.extend({
        cfg: Base.extend(),
        createEncryptor: function createEncryptor(key, cfg) {
          return this.create(this._ENC_XFORM_MODE, key, cfg);
        },
        createDecryptor: function createDecryptor(key, cfg) {
          return this.create(this._DEC_XFORM_MODE, key, cfg);
        },
        init: function init(xformMode, key, cfg) {
          this.cfg = this.cfg.extend(cfg);
          this._xformMode = xformMode;
          this._key = key;
          this.reset();
        },
        reset: function reset() {
          BufferedBlockAlgorithm.reset.call(this);

          this._doReset();
        },
        process: function process(dataUpdate) {
          this._append(dataUpdate);

          return this._process();
        },
        finalize: function finalize(dataUpdate) {
          if (dataUpdate) {
            this._append(dataUpdate);
          }

          var finalProcessedData = this._doFinalize();

          return finalProcessedData;
        },
        keySize: 4,
        ivSize: 4,
        _ENC_XFORM_MODE: 1,
        _DEC_XFORM_MODE: 2,
        _createHelper: function () {
          function selectCipherStrategy(key) {
            if (typeof key == 'string') {
              return PasswordBasedCipher;
            } else {
              return SerializableCipher;
            }
          }

          return function (cipher) {
            return {
              encrypt: function encrypt(message, key, cfg) {
                return selectCipherStrategy(key).encrypt(cipher, message, key, cfg);
              },
              decrypt: function decrypt(ciphertext, key, cfg) {
                return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg);
              }
            };
          };
        }()
      });
      var StreamCipher = C_lib.StreamCipher = Cipher.extend({
        _doFinalize: function _doFinalize() {
          var finalProcessedBlocks = this._process(true);

          return finalProcessedBlocks;
        },
        blockSize: 1
      });
      var C_mode = C.mode = {};
      var BlockCipherMode = C_lib.BlockCipherMode = Base.extend({
        createEncryptor: function createEncryptor(cipher, iv) {
          return this.Encryptor.create(cipher, iv);
        },
        createDecryptor: function createDecryptor(cipher, iv) {
          return this.Decryptor.create(cipher, iv);
        },
        init: function init(cipher, iv) {
          this._cipher = cipher;
          this._iv = iv;
        }
      });

      var CBC = C_mode.CBC = function () {
        var CBC = BlockCipherMode.extend();
        CBC.Encryptor = CBC.extend({
          processBlock: function processBlock(words, offset) {
            var cipher = this._cipher;
            var blockSize = cipher.blockSize;
            xorBlock.call(this, words, offset, blockSize);
            cipher.encryptBlock(words, offset);
            this._prevBlock = words.slice(offset, offset + blockSize);
          }
        });
        CBC.Decryptor = CBC.extend({
          processBlock: function processBlock(words, offset) {
            var cipher = this._cipher;
            var blockSize = cipher.blockSize;
            var thisBlock = words.slice(offset, offset + blockSize);
            cipher.decryptBlock(words, offset);
            xorBlock.call(this, words, offset, blockSize);
            this._prevBlock = thisBlock;
          }
        });

        function xorBlock(words, offset, blockSize) {
          var iv = this._iv;

          if (iv) {
            var block = iv;
            this._iv = undefined;
          } else {
            var block = this._prevBlock;
          }

          for (var i = 0; i < blockSize; i++) {
            words[offset + i] ^= block[i];
          }
        }

        return CBC;
      }();

      var C_pad = C.pad = {};
      var Pkcs7 = C_pad.Pkcs7 = {
        pad: function pad(data, blockSize) {
          var blockSizeBytes = blockSize * 4;
          var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;
          var paddingWord = nPaddingBytes << 24 | nPaddingBytes << 16 | nPaddingBytes << 8 | nPaddingBytes;
          var paddingWords = [];

          for (var i = 0; i < nPaddingBytes; i += 4) {
            paddingWords.push(paddingWord);
          }

          var padding = WordArray.create(paddingWords, nPaddingBytes);
          data.concat(padding);
        },
        unpad: function unpad(data) {
          var nPaddingBytes = data.words[data.sigBytes - 1 >>> 2] & 0xff;
          data.sigBytes -= nPaddingBytes;
        }
      };
      var BlockCipher = C_lib.BlockCipher = Cipher.extend({
        cfg: Cipher.cfg.extend({
          mode: CBC,
          padding: Pkcs7
        }),
        reset: function reset() {
          Cipher.reset.call(this);
          var cfg = this.cfg;
          var iv = cfg.iv;
          var mode = cfg.mode;

          if (this._xformMode == this._ENC_XFORM_MODE) {
            var modeCreator = mode.createEncryptor;
          } else {
              var modeCreator = mode.createDecryptor;
              this._minBufferSize = 1;
            }

          if (this._mode && this._mode.__creator == modeCreator) {
            this._mode.init(this, iv && iv.words);
          } else {
            this._mode = modeCreator.call(mode, this, iv && iv.words);
            this._mode.__creator = modeCreator;
          }
        },
        _doProcessBlock: function _doProcessBlock(words, offset) {
          this._mode.processBlock(words, offset);
        },
        _doFinalize: function _doFinalize() {
          var padding = this.cfg.padding;

          if (this._xformMode == this._ENC_XFORM_MODE) {
            padding.pad(this._data, this.blockSize);

            var finalProcessedBlocks = this._process(true);
          } else {
              var finalProcessedBlocks = this._process(true);

              padding.unpad(finalProcessedBlocks);
            }

          return finalProcessedBlocks;
        },
        blockSize: 4
      });
      var CipherParams = C_lib.CipherParams = Base.extend({
        init: function init(cipherParams) {
          this.mixIn(cipherParams);
        },
        toString: function toString(formatter) {
          return (formatter || this.formatter).stringify(this);
        }
      });
      var C_format = C.format = {};
      var OpenSSLFormatter = C_format.OpenSSL = {
        stringify: function stringify(cipherParams) {
          var ciphertext = cipherParams.ciphertext;
          var salt = cipherParams.salt;

          if (salt) {
            var wordArray = WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext);
          } else {
            var wordArray = ciphertext;
          }

          return wordArray.toString(Base64);
        },
        parse: function parse(openSSLStr) {
          var ciphertext = Base64.parse(openSSLStr);
          var ciphertextWords = ciphertext.words;

          if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) {
            var salt = WordArray.create(ciphertextWords.slice(2, 4));
            ciphertextWords.splice(0, 4);
            ciphertext.sigBytes -= 16;
          }

          return CipherParams.create({
            ciphertext: ciphertext,
            salt: salt
          });
        }
      };
      var SerializableCipher = C_lib.SerializableCipher = Base.extend({
        cfg: Base.extend({
          format: OpenSSLFormatter
        }),
        encrypt: function encrypt(cipher, message, key, cfg) {
          cfg = this.cfg.extend(cfg);
          var encryptor = cipher.createEncryptor(key, cfg);
          var ciphertext = encryptor.finalize(message);
          var cipherCfg = encryptor.cfg;
          return CipherParams.create({
            ciphertext: ciphertext,
            key: key,
            iv: cipherCfg.iv,
            algorithm: cipher,
            mode: cipherCfg.mode,
            padding: cipherCfg.padding,
            blockSize: cipher.blockSize,
            formatter: cfg.format
          });
        },
        decrypt: function decrypt(cipher, ciphertext, key, cfg) {
          cfg = this.cfg.extend(cfg);
          ciphertext = this._parse(ciphertext, cfg.format);
          var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext);
          return plaintext;
        },
        _parse: function _parse(ciphertext, format) {
          if (typeof ciphertext == 'string') {
            return format.parse(ciphertext, this);
          } else {
            return ciphertext;
          }
        }
      });
      var C_kdf = C.kdf = {};
      var OpenSSLKdf = C_kdf.OpenSSL = {
        execute: function execute(password, keySize, ivSize, salt) {
          if (!salt) {
            salt = WordArray.random(8);
          }

          var key = EvpKDF.create({
            keySize: keySize + ivSize
          }).compute(password, salt);
          var iv = WordArray.create(key.words.slice(keySize), ivSize * 4);
          key.sigBytes = keySize * 4;
          return CipherParams.create({
            key: key,
            iv: iv,
            salt: salt
          });
        }
      };
      var PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({
        cfg: SerializableCipher.cfg.extend({
          kdf: OpenSSLKdf
        }),
        encrypt: function encrypt(cipher, message, password, cfg) {
          cfg = this.cfg.extend(cfg);
          var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize);
          cfg.iv = derivedParams.iv;
          var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg);
          ciphertext.mixIn(derivedParams);
          return ciphertext;
        },
        decrypt: function decrypt(cipher, ciphertext, password, cfg) {
          cfg = this.cfg.extend(cfg);
          ciphertext = this._parse(ciphertext, cfg.format);
          var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt);
          cfg.iv = derivedParams.iv;
          var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg);
          return plaintext;
        }
      });
    }();
  });
},621,[605,620]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./cipher-core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    CryptoJS.mode.CFB = function () {
      var CFB = CryptoJS.lib.BlockCipherMode.extend();
      CFB.Encryptor = CFB.extend({
        processBlock: function processBlock(words, offset) {
          var cipher = this._cipher;
          var blockSize = cipher.blockSize;
          generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);
          this._prevBlock = words.slice(offset, offset + blockSize);
        }
      });
      CFB.Decryptor = CFB.extend({
        processBlock: function processBlock(words, offset) {
          var cipher = this._cipher;
          var blockSize = cipher.blockSize;
          var thisBlock = words.slice(offset, offset + blockSize);
          generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);
          this._prevBlock = thisBlock;
        }
      });

      function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) {
        var iv = this._iv;

        if (iv) {
          var keystream = iv.slice(0);
          this._iv = undefined;
        } else {
          var keystream = this._prevBlock;
        }

        cipher.encryptBlock(keystream, 0);

        for (var i = 0; i < blockSize; i++) {
          words[offset + i] ^= keystream[i];
        }
      }

      return CFB;
    }();

    return CryptoJS.mode.CFB;
  });
},622,[605,621]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./cipher-core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    CryptoJS.mode.CTR = function () {
      var CTR = CryptoJS.lib.BlockCipherMode.extend();
      var Encryptor = CTR.Encryptor = CTR.extend({
        processBlock: function processBlock(words, offset) {
          var cipher = this._cipher;
          var blockSize = cipher.blockSize;
          var iv = this._iv;
          var counter = this._counter;

          if (iv) {
            counter = this._counter = iv.slice(0);
            this._iv = undefined;
          }

          var keystream = counter.slice(0);
          cipher.encryptBlock(keystream, 0);
          counter[blockSize - 1] = counter[blockSize - 1] + 1 | 0;

          for (var i = 0; i < blockSize; i++) {
            words[offset + i] ^= keystream[i];
          }
        }
      });
      CTR.Decryptor = Encryptor;
      return CTR;
    }();

    return CryptoJS.mode.CTR;
  });
},623,[605,621]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./cipher-core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    /** @preserve
     * Counter block mode compatible with  Dr Brian Gladman fileenc.c
     * derived from CryptoJS.mode.CTR
     * Jan Hruby jhruby.web@gmail.com
     */
    CryptoJS.mode.CTRGladman = function () {
      var CTRGladman = CryptoJS.lib.BlockCipherMode.extend();

      function incWord(word) {
        if ((word >> 24 & 0xff) === 0xff) {
          var b1 = word >> 16 & 0xff;
          var b2 = word >> 8 & 0xff;
          var b3 = word & 0xff;

          if (b1 === 0xff) {
              b1 = 0;

              if (b2 === 0xff) {
                b2 = 0;

                if (b3 === 0xff) {
                  b3 = 0;
                } else {
                  ++b3;
                }
              } else {
                ++b2;
              }
            } else {
            ++b1;
          }

          word = 0;
          word += b1 << 16;
          word += b2 << 8;
          word += b3;
        } else {
          word += 16777216;
        }

        return word;
      }

      function incCounter(counter) {
        if ((counter[0] = incWord(counter[0])) === 0) {
          counter[1] = incWord(counter[1]);
        }

        return counter;
      }

      var Encryptor = CTRGladman.Encryptor = CTRGladman.extend({
        processBlock: function processBlock(words, offset) {
          var cipher = this._cipher;
          var blockSize = cipher.blockSize;
          var iv = this._iv;
          var counter = this._counter;

          if (iv) {
            counter = this._counter = iv.slice(0);
            this._iv = undefined;
          }

          incCounter(counter);
          var keystream = counter.slice(0);
          cipher.encryptBlock(keystream, 0);

          for (var i = 0; i < blockSize; i++) {
            words[offset + i] ^= keystream[i];
          }
        }
      });
      CTRGladman.Decryptor = Encryptor;
      return CTRGladman;
    }();

    return CryptoJS.mode.CTRGladman;
  });
},624,[605,621]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./cipher-core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    CryptoJS.mode.OFB = function () {
      var OFB = CryptoJS.lib.BlockCipherMode.extend();
      var Encryptor = OFB.Encryptor = OFB.extend({
        processBlock: function processBlock(words, offset) {
          var cipher = this._cipher;
          var blockSize = cipher.blockSize;
          var iv = this._iv;
          var keystream = this._keystream;

          if (iv) {
            keystream = this._keystream = iv.slice(0);
            this._iv = undefined;
          }

          cipher.encryptBlock(keystream, 0);

          for (var i = 0; i < blockSize; i++) {
            words[offset + i] ^= keystream[i];
          }
        }
      });
      OFB.Decryptor = Encryptor;
      return OFB;
    }();

    return CryptoJS.mode.OFB;
  });
},625,[605,621]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./cipher-core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    CryptoJS.mode.ECB = function () {
      var ECB = CryptoJS.lib.BlockCipherMode.extend();
      ECB.Encryptor = ECB.extend({
        processBlock: function processBlock(words, offset) {
          this._cipher.encryptBlock(words, offset);
        }
      });
      ECB.Decryptor = ECB.extend({
        processBlock: function processBlock(words, offset) {
          this._cipher.decryptBlock(words, offset);
        }
      });
      return ECB;
    }();

    return CryptoJS.mode.ECB;
  });
},626,[605,621]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./cipher-core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    CryptoJS.pad.AnsiX923 = {
      pad: function pad(data, blockSize) {
        var dataSigBytes = data.sigBytes;
        var blockSizeBytes = blockSize * 4;
        var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes;
        var lastBytePos = dataSigBytes + nPaddingBytes - 1;
        data.clamp();
        data.words[lastBytePos >>> 2] |= nPaddingBytes << 24 - lastBytePos % 4 * 8;
        data.sigBytes += nPaddingBytes;
      },
      unpad: function unpad(data) {
        var nPaddingBytes = data.words[data.sigBytes - 1 >>> 2] & 0xff;
        data.sigBytes -= nPaddingBytes;
      }
    };
    return CryptoJS.pad.Ansix923;
  });
},627,[605,621]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./cipher-core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    CryptoJS.pad.Iso10126 = {
      pad: function pad(data, blockSize) {
        var blockSizeBytes = blockSize * 4;
        var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;
        data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)).concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1));
      },
      unpad: function unpad(data) {
        var nPaddingBytes = data.words[data.sigBytes - 1 >>> 2] & 0xff;
        data.sigBytes -= nPaddingBytes;
      }
    };
    return CryptoJS.pad.Iso10126;
  });
},628,[605,621]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./cipher-core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    CryptoJS.pad.Iso97971 = {
      pad: function pad(data, blockSize) {
        data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1));
        CryptoJS.pad.ZeroPadding.pad(data, blockSize);
      },
      unpad: function unpad(data) {
        CryptoJS.pad.ZeroPadding.unpad(data);
        data.sigBytes--;
      }
    };
    return CryptoJS.pad.Iso97971;
  });
},629,[605,621]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./cipher-core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    CryptoJS.pad.ZeroPadding = {
      pad: function pad(data, blockSize) {
        var blockSizeBytes = blockSize * 4;
        data.clamp();
        data.sigBytes += blockSizeBytes - (data.sigBytes % blockSizeBytes || blockSizeBytes);
      },
      unpad: function unpad(data) {
        var dataWords = data.words;
        var i = data.sigBytes - 1;

        while (!(dataWords[i >>> 2] >>> 24 - i % 4 * 8 & 0xff)) {
          i--;
        }

        data.sigBytes = i + 1;
      }
    };
    return CryptoJS.pad.ZeroPadding;
  });
},630,[605,621]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./cipher-core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    CryptoJS.pad.NoPadding = {
      pad: function pad() {},
      unpad: function unpad() {}
    };
    return CryptoJS.pad.NoPadding;
  });
},631,[605,621]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./cipher-core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    (function (undefined) {
      var C = CryptoJS;
      var C_lib = C.lib;
      var CipherParams = C_lib.CipherParams;
      var C_enc = C.enc;
      var Hex = C_enc.Hex;
      var C_format = C.format;
      var HexFormatter = C_format.Hex = {
        stringify: function stringify(cipherParams) {
          return cipherParams.ciphertext.toString(Hex);
        },
        parse: function parse(input) {
          var ciphertext = Hex.parse(input);
          return CipherParams.create({
            ciphertext: ciphertext
          });
        }
      };
    })();

    return CryptoJS.format.Hex;
  });
},632,[605,621]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]), _$$_REQUIRE(_dependencyMap[2]), _$$_REQUIRE(_dependencyMap[3]), _$$_REQUIRE(_dependencyMap[4]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./enc-base64", "./md5", "./evpkdf", "./cipher-core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    (function () {
      var C = CryptoJS;
      var C_lib = C.lib;
      var BlockCipher = C_lib.BlockCipher;
      var C_algo = C.algo;
      var SBOX = [];
      var INV_SBOX = [];
      var SUB_MIX_0 = [];
      var SUB_MIX_1 = [];
      var SUB_MIX_2 = [];
      var SUB_MIX_3 = [];
      var INV_SUB_MIX_0 = [];
      var INV_SUB_MIX_1 = [];
      var INV_SUB_MIX_2 = [];
      var INV_SUB_MIX_3 = [];

      (function () {
        var d = [];

        for (var i = 0; i < 256; i++) {
          if (i < 128) {
            d[i] = i << 1;
          } else {
            d[i] = i << 1 ^ 0x11b;
          }
        }

        var x = 0;
        var xi = 0;

        for (var i = 0; i < 256; i++) {
          var sx = xi ^ xi << 1 ^ xi << 2 ^ xi << 3 ^ xi << 4;
          sx = sx >>> 8 ^ sx & 0xff ^ 0x63;
          SBOX[x] = sx;
          INV_SBOX[sx] = x;
          var x2 = d[x];
          var x4 = d[x2];
          var x8 = d[x4];
          var t = d[sx] * 0x101 ^ sx * 0x1010100;
          SUB_MIX_0[x] = t << 24 | t >>> 8;
          SUB_MIX_1[x] = t << 16 | t >>> 16;
          SUB_MIX_2[x] = t << 8 | t >>> 24;
          SUB_MIX_3[x] = t;
          var t = x8 * 0x1010101 ^ x4 * 0x10001 ^ x2 * 0x101 ^ x * 0x1010100;
          INV_SUB_MIX_0[sx] = t << 24 | t >>> 8;
          INV_SUB_MIX_1[sx] = t << 16 | t >>> 16;
          INV_SUB_MIX_2[sx] = t << 8 | t >>> 24;
          INV_SUB_MIX_3[sx] = t;

          if (!x) {
            x = xi = 1;
          } else {
            x = x2 ^ d[d[d[x8 ^ x2]]];
            xi ^= d[d[xi]];
          }
        }
      })();

      var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];
      var AES = C_algo.AES = BlockCipher.extend({
        _doReset: function _doReset() {
          if (this._nRounds && this._keyPriorReset === this._key) {
            return;
          }

          var key = this._keyPriorReset = this._key;
          var keyWords = key.words;
          var keySize = key.sigBytes / 4;
          var nRounds = this._nRounds = keySize + 6;
          var ksRows = (nRounds + 1) * 4;
          var keySchedule = this._keySchedule = [];

          for (var ksRow = 0; ksRow < ksRows; ksRow++) {
            if (ksRow < keySize) {
              keySchedule[ksRow] = keyWords[ksRow];
            } else {
              var t = keySchedule[ksRow - 1];

              if (!(ksRow % keySize)) {
                t = t << 8 | t >>> 24;
                t = SBOX[t >>> 24] << 24 | SBOX[t >>> 16 & 0xff] << 16 | SBOX[t >>> 8 & 0xff] << 8 | SBOX[t & 0xff];
                t ^= RCON[ksRow / keySize | 0] << 24;
              } else if (keySize > 6 && ksRow % keySize == 4) {
                t = SBOX[t >>> 24] << 24 | SBOX[t >>> 16 & 0xff] << 16 | SBOX[t >>> 8 & 0xff] << 8 | SBOX[t & 0xff];
              }

              keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t;
            }
          }

          var invKeySchedule = this._invKeySchedule = [];

          for (var invKsRow = 0; invKsRow < ksRows; invKsRow++) {
            var ksRow = ksRows - invKsRow;

            if (invKsRow % 4) {
              var t = keySchedule[ksRow];
            } else {
              var t = keySchedule[ksRow - 4];
            }

            if (invKsRow < 4 || ksRow <= 4) {
              invKeySchedule[invKsRow] = t;
            } else {
              invKeySchedule[invKsRow] = INV_SUB_MIX_0[SBOX[t >>> 24]] ^ INV_SUB_MIX_1[SBOX[t >>> 16 & 0xff]] ^ INV_SUB_MIX_2[SBOX[t >>> 8 & 0xff]] ^ INV_SUB_MIX_3[SBOX[t & 0xff]];
            }
          }
        },
        encryptBlock: function encryptBlock(M, offset) {
          this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX);
        },
        decryptBlock: function decryptBlock(M, offset) {
          var t = M[offset + 1];
          M[offset + 1] = M[offset + 3];
          M[offset + 3] = t;

          this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX);

          var t = M[offset + 1];
          M[offset + 1] = M[offset + 3];
          M[offset + 3] = t;
        },
        _doCryptBlock: function _doCryptBlock(M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) {
          var nRounds = this._nRounds;
          var s0 = M[offset] ^ keySchedule[0];
          var s1 = M[offset + 1] ^ keySchedule[1];
          var s2 = M[offset + 2] ^ keySchedule[2];
          var s3 = M[offset + 3] ^ keySchedule[3];
          var ksRow = 4;

          for (var round = 1; round < nRounds; round++) {
            var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[s1 >>> 16 & 0xff] ^ SUB_MIX_2[s2 >>> 8 & 0xff] ^ SUB_MIX_3[s3 & 0xff] ^ keySchedule[ksRow++];
            var t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[s2 >>> 16 & 0xff] ^ SUB_MIX_2[s3 >>> 8 & 0xff] ^ SUB_MIX_3[s0 & 0xff] ^ keySchedule[ksRow++];
            var t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[s3 >>> 16 & 0xff] ^ SUB_MIX_2[s0 >>> 8 & 0xff] ^ SUB_MIX_3[s1 & 0xff] ^ keySchedule[ksRow++];
            var t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[s0 >>> 16 & 0xff] ^ SUB_MIX_2[s1 >>> 8 & 0xff] ^ SUB_MIX_3[s2 & 0xff] ^ keySchedule[ksRow++];
            s0 = t0;
            s1 = t1;
            s2 = t2;
            s3 = t3;
          }

          var t0 = (SBOX[s0 >>> 24] << 24 | SBOX[s1 >>> 16 & 0xff] << 16 | SBOX[s2 >>> 8 & 0xff] << 8 | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++];
          var t1 = (SBOX[s1 >>> 24] << 24 | SBOX[s2 >>> 16 & 0xff] << 16 | SBOX[s3 >>> 8 & 0xff] << 8 | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++];
          var t2 = (SBOX[s2 >>> 24] << 24 | SBOX[s3 >>> 16 & 0xff] << 16 | SBOX[s0 >>> 8 & 0xff] << 8 | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++];
          var t3 = (SBOX[s3 >>> 24] << 24 | SBOX[s0 >>> 16 & 0xff] << 16 | SBOX[s1 >>> 8 & 0xff] << 8 | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++];
          M[offset] = t0;
          M[offset + 1] = t1;
          M[offset + 2] = t2;
          M[offset + 3] = t3;
        },
        keySize: 8
      });
      C.AES = BlockCipher._createHelper(AES);
    })();

    return CryptoJS.AES;
  });
},633,[605,609,610,620,621]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]), _$$_REQUIRE(_dependencyMap[2]), _$$_REQUIRE(_dependencyMap[3]), _$$_REQUIRE(_dependencyMap[4]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./enc-base64", "./md5", "./evpkdf", "./cipher-core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    (function () {
      var C = CryptoJS;
      var C_lib = C.lib;
      var WordArray = C_lib.WordArray;
      var BlockCipher = C_lib.BlockCipher;
      var C_algo = C.algo;
      var PC1 = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4];
      var PC2 = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32];
      var BIT_SHIFTS = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28];
      var SBOX_P = [{
        0x0: 0x808200,
        0x10000000: 0x8000,
        0x20000000: 0x808002,
        0x30000000: 0x2,
        0x40000000: 0x200,
        0x50000000: 0x808202,
        0x60000000: 0x800202,
        0x70000000: 0x800000,
        0x80000000: 0x202,
        0x90000000: 0x800200,
        0xa0000000: 0x8200,
        0xb0000000: 0x808000,
        0xc0000000: 0x8002,
        0xd0000000: 0x800002,
        0xe0000000: 0x0,
        0xf0000000: 0x8202,
        0x8000000: 0x0,
        0x18000000: 0x808202,
        0x28000000: 0x8202,
        0x38000000: 0x8000,
        0x48000000: 0x808200,
        0x58000000: 0x200,
        0x68000000: 0x808002,
        0x78000000: 0x2,
        0x88000000: 0x800200,
        0x98000000: 0x8200,
        0xa8000000: 0x808000,
        0xb8000000: 0x800202,
        0xc8000000: 0x800002,
        0xd8000000: 0x8002,
        0xe8000000: 0x202,
        0xf8000000: 0x800000,
        0x1: 0x8000,
        0x10000001: 0x2,
        0x20000001: 0x808200,
        0x30000001: 0x800000,
        0x40000001: 0x808002,
        0x50000001: 0x8200,
        0x60000001: 0x200,
        0x70000001: 0x800202,
        0x80000001: 0x808202,
        0x90000001: 0x808000,
        0xa0000001: 0x800002,
        0xb0000001: 0x8202,
        0xc0000001: 0x202,
        0xd0000001: 0x800200,
        0xe0000001: 0x8002,
        0xf0000001: 0x0,
        0x8000001: 0x808202,
        0x18000001: 0x808000,
        0x28000001: 0x800000,
        0x38000001: 0x200,
        0x48000001: 0x8000,
        0x58000001: 0x800002,
        0x68000001: 0x2,
        0x78000001: 0x8202,
        0x88000001: 0x8002,
        0x98000001: 0x800202,
        0xa8000001: 0x202,
        0xb8000001: 0x808200,
        0xc8000001: 0x800200,
        0xd8000001: 0x0,
        0xe8000001: 0x8200,
        0xf8000001: 0x808002
      }, {
        0x0: 0x40084010,
        0x1000000: 0x4000,
        0x2000000: 0x80000,
        0x3000000: 0x40080010,
        0x4000000: 0x40000010,
        0x5000000: 0x40084000,
        0x6000000: 0x40004000,
        0x7000000: 0x10,
        0x8000000: 0x84000,
        0x9000000: 0x40004010,
        0xa000000: 0x40000000,
        0xb000000: 0x84010,
        0xc000000: 0x80010,
        0xd000000: 0x0,
        0xe000000: 0x4010,
        0xf000000: 0x40080000,
        0x800000: 0x40004000,
        0x1800000: 0x84010,
        0x2800000: 0x10,
        0x3800000: 0x40004010,
        0x4800000: 0x40084010,
        0x5800000: 0x40000000,
        0x6800000: 0x80000,
        0x7800000: 0x40080010,
        0x8800000: 0x80010,
        0x9800000: 0x0,
        0xa800000: 0x4000,
        0xb800000: 0x40080000,
        0xc800000: 0x40000010,
        0xd800000: 0x84000,
        0xe800000: 0x40084000,
        0xf800000: 0x4010,
        0x10000000: 0x0,
        0x11000000: 0x40080010,
        0x12000000: 0x40004010,
        0x13000000: 0x40084000,
        0x14000000: 0x40080000,
        0x15000000: 0x10,
        0x16000000: 0x84010,
        0x17000000: 0x4000,
        0x18000000: 0x4010,
        0x19000000: 0x80000,
        0x1a000000: 0x80010,
        0x1b000000: 0x40000010,
        0x1c000000: 0x84000,
        0x1d000000: 0x40004000,
        0x1e000000: 0x40000000,
        0x1f000000: 0x40084010,
        0x10800000: 0x84010,
        0x11800000: 0x80000,
        0x12800000: 0x40080000,
        0x13800000: 0x4000,
        0x14800000: 0x40004000,
        0x15800000: 0x40084010,
        0x16800000: 0x10,
        0x17800000: 0x40000000,
        0x18800000: 0x40084000,
        0x19800000: 0x40000010,
        0x1a800000: 0x40004010,
        0x1b800000: 0x80010,
        0x1c800000: 0x0,
        0x1d800000: 0x4010,
        0x1e800000: 0x40080010,
        0x1f800000: 0x84000
      }, {
        0x0: 0x104,
        0x100000: 0x0,
        0x200000: 0x4000100,
        0x300000: 0x10104,
        0x400000: 0x10004,
        0x500000: 0x4000004,
        0x600000: 0x4010104,
        0x700000: 0x4010000,
        0x800000: 0x4000000,
        0x900000: 0x4010100,
        0xa00000: 0x10100,
        0xb00000: 0x4010004,
        0xc00000: 0x4000104,
        0xd00000: 0x10000,
        0xe00000: 0x4,
        0xf00000: 0x100,
        0x80000: 0x4010100,
        0x180000: 0x4010004,
        0x280000: 0x0,
        0x380000: 0x4000100,
        0x480000: 0x4000004,
        0x580000: 0x10000,
        0x680000: 0x10004,
        0x780000: 0x104,
        0x880000: 0x4,
        0x980000: 0x100,
        0xa80000: 0x4010000,
        0xb80000: 0x10104,
        0xc80000: 0x10100,
        0xd80000: 0x4000104,
        0xe80000: 0x4010104,
        0xf80000: 0x4000000,
        0x1000000: 0x4010100,
        0x1100000: 0x10004,
        0x1200000: 0x10000,
        0x1300000: 0x4000100,
        0x1400000: 0x100,
        0x1500000: 0x4010104,
        0x1600000: 0x4000004,
        0x1700000: 0x0,
        0x1800000: 0x4000104,
        0x1900000: 0x4000000,
        0x1a00000: 0x4,
        0x1b00000: 0x10100,
        0x1c00000: 0x4010000,
        0x1d00000: 0x104,
        0x1e00000: 0x10104,
        0x1f00000: 0x4010004,
        0x1080000: 0x4000000,
        0x1180000: 0x104,
        0x1280000: 0x4010100,
        0x1380000: 0x0,
        0x1480000: 0x10004,
        0x1580000: 0x4000100,
        0x1680000: 0x100,
        0x1780000: 0x4010004,
        0x1880000: 0x10000,
        0x1980000: 0x4010104,
        0x1a80000: 0x10104,
        0x1b80000: 0x4000004,
        0x1c80000: 0x4000104,
        0x1d80000: 0x4010000,
        0x1e80000: 0x4,
        0x1f80000: 0x10100
      }, {
        0x0: 0x80401000,
        0x10000: 0x80001040,
        0x20000: 0x401040,
        0x30000: 0x80400000,
        0x40000: 0x0,
        0x50000: 0x401000,
        0x60000: 0x80000040,
        0x70000: 0x400040,
        0x80000: 0x80000000,
        0x90000: 0x400000,
        0xa0000: 0x40,
        0xb0000: 0x80001000,
        0xc0000: 0x80400040,
        0xd0000: 0x1040,
        0xe0000: 0x1000,
        0xf0000: 0x80401040,
        0x8000: 0x80001040,
        0x18000: 0x40,
        0x28000: 0x80400040,
        0x38000: 0x80001000,
        0x48000: 0x401000,
        0x58000: 0x80401040,
        0x68000: 0x0,
        0x78000: 0x80400000,
        0x88000: 0x1000,
        0x98000: 0x80401000,
        0xa8000: 0x400000,
        0xb8000: 0x1040,
        0xc8000: 0x80000000,
        0xd8000: 0x400040,
        0xe8000: 0x401040,
        0xf8000: 0x80000040,
        0x100000: 0x400040,
        0x110000: 0x401000,
        0x120000: 0x80000040,
        0x130000: 0x0,
        0x140000: 0x1040,
        0x150000: 0x80400040,
        0x160000: 0x80401000,
        0x170000: 0x80001040,
        0x180000: 0x80401040,
        0x190000: 0x80000000,
        0x1a0000: 0x80400000,
        0x1b0000: 0x401040,
        0x1c0000: 0x80001000,
        0x1d0000: 0x400000,
        0x1e0000: 0x40,
        0x1f0000: 0x1000,
        0x108000: 0x80400000,
        0x118000: 0x80401040,
        0x128000: 0x0,
        0x138000: 0x401000,
        0x148000: 0x400040,
        0x158000: 0x80000000,
        0x168000: 0x80001040,
        0x178000: 0x40,
        0x188000: 0x80000040,
        0x198000: 0x1000,
        0x1a8000: 0x80001000,
        0x1b8000: 0x80400040,
        0x1c8000: 0x1040,
        0x1d8000: 0x80401000,
        0x1e8000: 0x400000,
        0x1f8000: 0x401040
      }, {
        0x0: 0x80,
        0x1000: 0x1040000,
        0x2000: 0x40000,
        0x3000: 0x20000000,
        0x4000: 0x20040080,
        0x5000: 0x1000080,
        0x6000: 0x21000080,
        0x7000: 0x40080,
        0x8000: 0x1000000,
        0x9000: 0x20040000,
        0xa000: 0x20000080,
        0xb000: 0x21040080,
        0xc000: 0x21040000,
        0xd000: 0x0,
        0xe000: 0x1040080,
        0xf000: 0x21000000,
        0x800: 0x1040080,
        0x1800: 0x21000080,
        0x2800: 0x80,
        0x3800: 0x1040000,
        0x4800: 0x40000,
        0x5800: 0x20040080,
        0x6800: 0x21040000,
        0x7800: 0x20000000,
        0x8800: 0x20040000,
        0x9800: 0x0,
        0xa800: 0x21040080,
        0xb800: 0x1000080,
        0xc800: 0x20000080,
        0xd800: 0x21000000,
        0xe800: 0x1000000,
        0xf800: 0x40080,
        0x10000: 0x40000,
        0x11000: 0x80,
        0x12000: 0x20000000,
        0x13000: 0x21000080,
        0x14000: 0x1000080,
        0x15000: 0x21040000,
        0x16000: 0x20040080,
        0x17000: 0x1000000,
        0x18000: 0x21040080,
        0x19000: 0x21000000,
        0x1a000: 0x1040000,
        0x1b000: 0x20040000,
        0x1c000: 0x40080,
        0x1d000: 0x20000080,
        0x1e000: 0x0,
        0x1f000: 0x1040080,
        0x10800: 0x21000080,
        0x11800: 0x1000000,
        0x12800: 0x1040000,
        0x13800: 0x20040080,
        0x14800: 0x20000000,
        0x15800: 0x1040080,
        0x16800: 0x80,
        0x17800: 0x21040000,
        0x18800: 0x40080,
        0x19800: 0x21040080,
        0x1a800: 0x0,
        0x1b800: 0x21000000,
        0x1c800: 0x1000080,
        0x1d800: 0x40000,
        0x1e800: 0x20040000,
        0x1f800: 0x20000080
      }, {
        0x0: 0x10000008,
        0x100: 0x2000,
        0x200: 0x10200000,
        0x300: 0x10202008,
        0x400: 0x10002000,
        0x500: 0x200000,
        0x600: 0x200008,
        0x700: 0x10000000,
        0x800: 0x0,
        0x900: 0x10002008,
        0xa00: 0x202000,
        0xb00: 0x8,
        0xc00: 0x10200008,
        0xd00: 0x202008,
        0xe00: 0x2008,
        0xf00: 0x10202000,
        0x80: 0x10200000,
        0x180: 0x10202008,
        0x280: 0x8,
        0x380: 0x200000,
        0x480: 0x202008,
        0x580: 0x10000008,
        0x680: 0x10002000,
        0x780: 0x2008,
        0x880: 0x200008,
        0x980: 0x2000,
        0xa80: 0x10002008,
        0xb80: 0x10200008,
        0xc80: 0x0,
        0xd80: 0x10202000,
        0xe80: 0x202000,
        0xf80: 0x10000000,
        0x1000: 0x10002000,
        0x1100: 0x10200008,
        0x1200: 0x10202008,
        0x1300: 0x2008,
        0x1400: 0x200000,
        0x1500: 0x10000000,
        0x1600: 0x10000008,
        0x1700: 0x202000,
        0x1800: 0x202008,
        0x1900: 0x0,
        0x1a00: 0x8,
        0x1b00: 0x10200000,
        0x1c00: 0x2000,
        0x1d00: 0x10002008,
        0x1e00: 0x10202000,
        0x1f00: 0x200008,
        0x1080: 0x8,
        0x1180: 0x202000,
        0x1280: 0x200000,
        0x1380: 0x10000008,
        0x1480: 0x10002000,
        0x1580: 0x2008,
        0x1680: 0x10202008,
        0x1780: 0x10200000,
        0x1880: 0x10202000,
        0x1980: 0x10200008,
        0x1a80: 0x2000,
        0x1b80: 0x202008,
        0x1c80: 0x200008,
        0x1d80: 0x0,
        0x1e80: 0x10000000,
        0x1f80: 0x10002008
      }, {
        0x0: 0x100000,
        0x10: 0x2000401,
        0x20: 0x400,
        0x30: 0x100401,
        0x40: 0x2100401,
        0x50: 0x0,
        0x60: 0x1,
        0x70: 0x2100001,
        0x80: 0x2000400,
        0x90: 0x100001,
        0xa0: 0x2000001,
        0xb0: 0x2100400,
        0xc0: 0x2100000,
        0xd0: 0x401,
        0xe0: 0x100400,
        0xf0: 0x2000000,
        0x8: 0x2100001,
        0x18: 0x0,
        0x28: 0x2000401,
        0x38: 0x2100400,
        0x48: 0x100000,
        0x58: 0x2000001,
        0x68: 0x2000000,
        0x78: 0x401,
        0x88: 0x100401,
        0x98: 0x2000400,
        0xa8: 0x2100000,
        0xb8: 0x100001,
        0xc8: 0x400,
        0xd8: 0x2100401,
        0xe8: 0x1,
        0xf8: 0x100400,
        0x100: 0x2000000,
        0x110: 0x100000,
        0x120: 0x2000401,
        0x130: 0x2100001,
        0x140: 0x100001,
        0x150: 0x2000400,
        0x160: 0x2100400,
        0x170: 0x100401,
        0x180: 0x401,
        0x190: 0x2100401,
        0x1a0: 0x100400,
        0x1b0: 0x1,
        0x1c0: 0x0,
        0x1d0: 0x2100000,
        0x1e0: 0x2000001,
        0x1f0: 0x400,
        0x108: 0x100400,
        0x118: 0x2000401,
        0x128: 0x2100001,
        0x138: 0x1,
        0x148: 0x2000000,
        0x158: 0x100000,
        0x168: 0x401,
        0x178: 0x2100400,
        0x188: 0x2000001,
        0x198: 0x2100000,
        0x1a8: 0x0,
        0x1b8: 0x2100401,
        0x1c8: 0x100401,
        0x1d8: 0x400,
        0x1e8: 0x2000400,
        0x1f8: 0x100001
      }, {
        0x0: 0x8000820,
        0x1: 0x20000,
        0x2: 0x8000000,
        0x3: 0x20,
        0x4: 0x20020,
        0x5: 0x8020820,
        0x6: 0x8020800,
        0x7: 0x800,
        0x8: 0x8020000,
        0x9: 0x8000800,
        0xa: 0x20800,
        0xb: 0x8020020,
        0xc: 0x820,
        0xd: 0x0,
        0xe: 0x8000020,
        0xf: 0x20820,
        0x80000000: 0x800,
        0x80000001: 0x8020820,
        0x80000002: 0x8000820,
        0x80000003: 0x8000000,
        0x80000004: 0x8020000,
        0x80000005: 0x20800,
        0x80000006: 0x20820,
        0x80000007: 0x20,
        0x80000008: 0x8000020,
        0x80000009: 0x820,
        0x8000000a: 0x20020,
        0x8000000b: 0x8020800,
        0x8000000c: 0x0,
        0x8000000d: 0x8020020,
        0x8000000e: 0x8000800,
        0x8000000f: 0x20000,
        0x10: 0x20820,
        0x11: 0x8020800,
        0x12: 0x20,
        0x13: 0x800,
        0x14: 0x8000800,
        0x15: 0x8000020,
        0x16: 0x8020020,
        0x17: 0x20000,
        0x18: 0x0,
        0x19: 0x20020,
        0x1a: 0x8020000,
        0x1b: 0x8000820,
        0x1c: 0x8020820,
        0x1d: 0x20800,
        0x1e: 0x820,
        0x1f: 0x8000000,
        0x80000010: 0x20000,
        0x80000011: 0x800,
        0x80000012: 0x8020020,
        0x80000013: 0x20820,
        0x80000014: 0x20,
        0x80000015: 0x8020000,
        0x80000016: 0x8000000,
        0x80000017: 0x8000820,
        0x80000018: 0x8020820,
        0x80000019: 0x8000020,
        0x8000001a: 0x8000800,
        0x8000001b: 0x0,
        0x8000001c: 0x20800,
        0x8000001d: 0x820,
        0x8000001e: 0x20020,
        0x8000001f: 0x8020800
      }];
      var SBOX_MASK = [0xf8000001, 0x1f800000, 0x01f80000, 0x001f8000, 0x0001f800, 0x00001f80, 0x000001f8, 0x8000001f];
      var DES = C_algo.DES = BlockCipher.extend({
        _doReset: function _doReset() {
          var key = this._key;
          var keyWords = key.words;
          var keyBits = [];

          for (var i = 0; i < 56; i++) {
            var keyBitPos = PC1[i] - 1;
            keyBits[i] = keyWords[keyBitPos >>> 5] >>> 31 - keyBitPos % 32 & 1;
          }

          var subKeys = this._subKeys = [];

          for (var nSubKey = 0; nSubKey < 16; nSubKey++) {
            var subKey = subKeys[nSubKey] = [];
            var bitShift = BIT_SHIFTS[nSubKey];

            for (var i = 0; i < 24; i++) {
              subKey[i / 6 | 0] |= keyBits[(PC2[i] - 1 + bitShift) % 28] << 31 - i % 6;
              subKey[4 + (i / 6 | 0)] |= keyBits[28 + (PC2[i + 24] - 1 + bitShift) % 28] << 31 - i % 6;
            }

            subKey[0] = subKey[0] << 1 | subKey[0] >>> 31;

            for (var i = 1; i < 7; i++) {
              subKey[i] = subKey[i] >>> (i - 1) * 4 + 3;
            }

            subKey[7] = subKey[7] << 5 | subKey[7] >>> 27;
          }

          var invSubKeys = this._invSubKeys = [];

          for (var i = 0; i < 16; i++) {
            invSubKeys[i] = subKeys[15 - i];
          }
        },
        encryptBlock: function encryptBlock(M, offset) {
          this._doCryptBlock(M, offset, this._subKeys);
        },
        decryptBlock: function decryptBlock(M, offset) {
          this._doCryptBlock(M, offset, this._invSubKeys);
        },
        _doCryptBlock: function _doCryptBlock(M, offset, subKeys) {
          this._lBlock = M[offset];
          this._rBlock = M[offset + 1];
          exchangeLR.call(this, 4, 0x0f0f0f0f);
          exchangeLR.call(this, 16, 0x0000ffff);
          exchangeRL.call(this, 2, 0x33333333);
          exchangeRL.call(this, 8, 0x00ff00ff);
          exchangeLR.call(this, 1, 0x55555555);

          for (var round = 0; round < 16; round++) {
            var subKey = subKeys[round];
            var lBlock = this._lBlock;
            var rBlock = this._rBlock;
            var f = 0;

            for (var i = 0; i < 8; i++) {
              f |= SBOX_P[i][((rBlock ^ subKey[i]) & SBOX_MASK[i]) >>> 0];
            }

            this._lBlock = rBlock;
            this._rBlock = lBlock ^ f;
          }

          var t = this._lBlock;
          this._lBlock = this._rBlock;
          this._rBlock = t;
          exchangeLR.call(this, 1, 0x55555555);
          exchangeRL.call(this, 8, 0x00ff00ff);
          exchangeRL.call(this, 2, 0x33333333);
          exchangeLR.call(this, 16, 0x0000ffff);
          exchangeLR.call(this, 4, 0x0f0f0f0f);
          M[offset] = this._lBlock;
          M[offset + 1] = this._rBlock;
        },
        keySize: 2,
        ivSize: 2,
        blockSize: 2
      });

      function exchangeLR(offset, mask) {
        var t = (this._lBlock >>> offset ^ this._rBlock) & mask;
        this._rBlock ^= t;
        this._lBlock ^= t << offset;
      }

      function exchangeRL(offset, mask) {
        var t = (this._rBlock >>> offset ^ this._lBlock) & mask;
        this._lBlock ^= t;
        this._rBlock ^= t << offset;
      }

      C.DES = BlockCipher._createHelper(DES);
      var TripleDES = C_algo.TripleDES = BlockCipher.extend({
        _doReset: function _doReset() {
          var key = this._key;
          var keyWords = key.words;
          this._des1 = DES.createEncryptor(WordArray.create(keyWords.slice(0, 2)));
          this._des2 = DES.createEncryptor(WordArray.create(keyWords.slice(2, 4)));
          this._des3 = DES.createEncryptor(WordArray.create(keyWords.slice(4, 6)));
        },
        encryptBlock: function encryptBlock(M, offset) {
          this._des1.encryptBlock(M, offset);

          this._des2.decryptBlock(M, offset);

          this._des3.encryptBlock(M, offset);
        },
        decryptBlock: function decryptBlock(M, offset) {
          this._des3.decryptBlock(M, offset);

          this._des2.encryptBlock(M, offset);

          this._des1.decryptBlock(M, offset);
        },
        keySize: 6,
        ivSize: 2,
        blockSize: 2
      });
      C.TripleDES = BlockCipher._createHelper(TripleDES);
    })();

    return CryptoJS.TripleDES;
  });
},634,[605,609,610,620,621]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]), _$$_REQUIRE(_dependencyMap[2]), _$$_REQUIRE(_dependencyMap[3]), _$$_REQUIRE(_dependencyMap[4]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./enc-base64", "./md5", "./evpkdf", "./cipher-core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    (function () {
      var C = CryptoJS;
      var C_lib = C.lib;
      var StreamCipher = C_lib.StreamCipher;
      var C_algo = C.algo;
      var RC4 = C_algo.RC4 = StreamCipher.extend({
        _doReset: function _doReset() {
          var key = this._key;
          var keyWords = key.words;
          var keySigBytes = key.sigBytes;
          var S = this._S = [];

          for (var i = 0; i < 256; i++) {
            S[i] = i;
          }

          for (var i = 0, j = 0; i < 256; i++) {
            var keyByteIndex = i % keySigBytes;
            var keyByte = keyWords[keyByteIndex >>> 2] >>> 24 - keyByteIndex % 4 * 8 & 0xff;
            j = (j + S[i] + keyByte) % 256;
            var t = S[i];
            S[i] = S[j];
            S[j] = t;
          }

          this._i = this._j = 0;
        },
        _doProcessBlock: function _doProcessBlock(M, offset) {
          M[offset] ^= generateKeystreamWord.call(this);
        },
        keySize: 8,
        ivSize: 0
      });

      function generateKeystreamWord() {
        var S = this._S;
        var i = this._i;
        var j = this._j;
        var keystreamWord = 0;

        for (var n = 0; n < 4; n++) {
          i = (i + 1) % 256;
          j = (j + S[i]) % 256;
          var t = S[i];
          S[i] = S[j];
          S[j] = t;
          keystreamWord |= S[(S[i] + S[j]) % 256] << 24 - n * 8;
        }

        this._i = i;
        this._j = j;
        return keystreamWord;
      }

      C.RC4 = StreamCipher._createHelper(RC4);
      var RC4Drop = C_algo.RC4Drop = RC4.extend({
        cfg: RC4.cfg.extend({
          drop: 192
        }),
        _doReset: function _doReset() {
          RC4._doReset.call(this);

          for (var i = this.cfg.drop; i > 0; i--) {
            generateKeystreamWord.call(this);
          }
        }
      });
      C.RC4Drop = StreamCipher._createHelper(RC4Drop);
    })();

    return CryptoJS.RC4;
  });
},635,[605,609,610,620,621]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]), _$$_REQUIRE(_dependencyMap[2]), _$$_REQUIRE(_dependencyMap[3]), _$$_REQUIRE(_dependencyMap[4]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./enc-base64", "./md5", "./evpkdf", "./cipher-core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    (function () {
      var C = CryptoJS;
      var C_lib = C.lib;
      var StreamCipher = C_lib.StreamCipher;
      var C_algo = C.algo;
      var S = [];
      var C_ = [];
      var G = [];
      var Rabbit = C_algo.Rabbit = StreamCipher.extend({
        _doReset: function _doReset() {
          var K = this._key.words;
          var iv = this.cfg.iv;

          for (var i = 0; i < 4; i++) {
            K[i] = (K[i] << 8 | K[i] >>> 24) & 0x00ff00ff | (K[i] << 24 | K[i] >>> 8) & 0xff00ff00;
          }

          var X = this._X = [K[0], K[3] << 16 | K[2] >>> 16, K[1], K[0] << 16 | K[3] >>> 16, K[2], K[1] << 16 | K[0] >>> 16, K[3], K[2] << 16 | K[1] >>> 16];
          var C = this._C = [K[2] << 16 | K[2] >>> 16, K[0] & 0xffff0000 | K[1] & 0x0000ffff, K[3] << 16 | K[3] >>> 16, K[1] & 0xffff0000 | K[2] & 0x0000ffff, K[0] << 16 | K[0] >>> 16, K[2] & 0xffff0000 | K[3] & 0x0000ffff, K[1] << 16 | K[1] >>> 16, K[3] & 0xffff0000 | K[0] & 0x0000ffff];
          this._b = 0;

          for (var i = 0; i < 4; i++) {
            nextState.call(this);
          }

          for (var i = 0; i < 8; i++) {
            C[i] ^= X[i + 4 & 7];
          }

          if (iv) {
            var IV = iv.words;
            var IV_0 = IV[0];
            var IV_1 = IV[1];
            var i0 = (IV_0 << 8 | IV_0 >>> 24) & 0x00ff00ff | (IV_0 << 24 | IV_0 >>> 8) & 0xff00ff00;
            var i2 = (IV_1 << 8 | IV_1 >>> 24) & 0x00ff00ff | (IV_1 << 24 | IV_1 >>> 8) & 0xff00ff00;
            var i1 = i0 >>> 16 | i2 & 0xffff0000;
            var i3 = i2 << 16 | i0 & 0x0000ffff;
            C[0] ^= i0;
            C[1] ^= i1;
            C[2] ^= i2;
            C[3] ^= i3;
            C[4] ^= i0;
            C[5] ^= i1;
            C[6] ^= i2;
            C[7] ^= i3;

            for (var i = 0; i < 4; i++) {
              nextState.call(this);
            }
          }
        },
        _doProcessBlock: function _doProcessBlock(M, offset) {
          var X = this._X;
          nextState.call(this);
          S[0] = X[0] ^ X[5] >>> 16 ^ X[3] << 16;
          S[1] = X[2] ^ X[7] >>> 16 ^ X[5] << 16;
          S[2] = X[4] ^ X[1] >>> 16 ^ X[7] << 16;
          S[3] = X[6] ^ X[3] >>> 16 ^ X[1] << 16;

          for (var i = 0; i < 4; i++) {
            S[i] = (S[i] << 8 | S[i] >>> 24) & 0x00ff00ff | (S[i] << 24 | S[i] >>> 8) & 0xff00ff00;
            M[offset + i] ^= S[i];
          }
        },
        blockSize: 4,
        ivSize: 2
      });

      function nextState() {
        var X = this._X;
        var C = this._C;

        for (var i = 0; i < 8; i++) {
          C_[i] = C[i];
        }

        C[0] = C[0] + 0x4d34d34d + this._b | 0;
        C[1] = C[1] + 0xd34d34d3 + (C[0] >>> 0 < C_[0] >>> 0 ? 1 : 0) | 0;
        C[2] = C[2] + 0x34d34d34 + (C[1] >>> 0 < C_[1] >>> 0 ? 1 : 0) | 0;
        C[3] = C[3] + 0x4d34d34d + (C[2] >>> 0 < C_[2] >>> 0 ? 1 : 0) | 0;
        C[4] = C[4] + 0xd34d34d3 + (C[3] >>> 0 < C_[3] >>> 0 ? 1 : 0) | 0;
        C[5] = C[5] + 0x34d34d34 + (C[4] >>> 0 < C_[4] >>> 0 ? 1 : 0) | 0;
        C[6] = C[6] + 0x4d34d34d + (C[5] >>> 0 < C_[5] >>> 0 ? 1 : 0) | 0;
        C[7] = C[7] + 0xd34d34d3 + (C[6] >>> 0 < C_[6] >>> 0 ? 1 : 0) | 0;
        this._b = C[7] >>> 0 < C_[7] >>> 0 ? 1 : 0;

        for (var i = 0; i < 8; i++) {
          var gx = X[i] + C[i];
          var ga = gx & 0xffff;
          var gb = gx >>> 16;
          var gh = ((ga * ga >>> 17) + ga * gb >>> 15) + gb * gb;
          var gl = ((gx & 0xffff0000) * gx | 0) + ((gx & 0x0000ffff) * gx | 0);
          G[i] = gh ^ gl;
        }

        X[0] = G[0] + (G[7] << 16 | G[7] >>> 16) + (G[6] << 16 | G[6] >>> 16) | 0;
        X[1] = G[1] + (G[0] << 8 | G[0] >>> 24) + G[7] | 0;
        X[2] = G[2] + (G[1] << 16 | G[1] >>> 16) + (G[0] << 16 | G[0] >>> 16) | 0;
        X[3] = G[3] + (G[2] << 8 | G[2] >>> 24) + G[1] | 0;
        X[4] = G[4] + (G[3] << 16 | G[3] >>> 16) + (G[2] << 16 | G[2] >>> 16) | 0;
        X[5] = G[5] + (G[4] << 8 | G[4] >>> 24) + G[3] | 0;
        X[6] = G[6] + (G[5] << 16 | G[5] >>> 16) + (G[4] << 16 | G[4] >>> 16) | 0;
        X[7] = G[7] + (G[6] << 8 | G[6] >>> 24) + G[5] | 0;
      }

      C.Rabbit = StreamCipher._createHelper(Rabbit);
    })();

    return CryptoJS.Rabbit;
  });
},636,[605,609,610,620,621]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory, undef) {
    if (typeof exports === "object") {
      module.exports = exports = factory(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]), _$$_REQUIRE(_dependencyMap[2]), _$$_REQUIRE(_dependencyMap[3]), _$$_REQUIRE(_dependencyMap[4]));
    } else if (typeof define === "function" && define.amd) {
      define(["./core", "./enc-base64", "./md5", "./evpkdf", "./cipher-core"], factory);
    } else {
      factory(root.CryptoJS);
    }
  })(this, function (CryptoJS) {
    (function () {
      var C = CryptoJS;
      var C_lib = C.lib;
      var StreamCipher = C_lib.StreamCipher;
      var C_algo = C.algo;
      var S = [];
      var C_ = [];
      var G = [];
      var RabbitLegacy = C_algo.RabbitLegacy = StreamCipher.extend({
        _doReset: function _doReset() {
          var K = this._key.words;
          var iv = this.cfg.iv;
          var X = this._X = [K[0], K[3] << 16 | K[2] >>> 16, K[1], K[0] << 16 | K[3] >>> 16, K[2], K[1] << 16 | K[0] >>> 16, K[3], K[2] << 16 | K[1] >>> 16];
          var C = this._C = [K[2] << 16 | K[2] >>> 16, K[0] & 0xffff0000 | K[1] & 0x0000ffff, K[3] << 16 | K[3] >>> 16, K[1] & 0xffff0000 | K[2] & 0x0000ffff, K[0] << 16 | K[0] >>> 16, K[2] & 0xffff0000 | K[3] & 0x0000ffff, K[1] << 16 | K[1] >>> 16, K[3] & 0xffff0000 | K[0] & 0x0000ffff];
          this._b = 0;

          for (var i = 0; i < 4; i++) {
            nextState.call(this);
          }

          for (var i = 0; i < 8; i++) {
            C[i] ^= X[i + 4 & 7];
          }

          if (iv) {
            var IV = iv.words;
            var IV_0 = IV[0];
            var IV_1 = IV[1];
            var i0 = (IV_0 << 8 | IV_0 >>> 24) & 0x00ff00ff | (IV_0 << 24 | IV_0 >>> 8) & 0xff00ff00;
            var i2 = (IV_1 << 8 | IV_1 >>> 24) & 0x00ff00ff | (IV_1 << 24 | IV_1 >>> 8) & 0xff00ff00;
            var i1 = i0 >>> 16 | i2 & 0xffff0000;
            var i3 = i2 << 16 | i0 & 0x0000ffff;
            C[0] ^= i0;
            C[1] ^= i1;
            C[2] ^= i2;
            C[3] ^= i3;
            C[4] ^= i0;
            C[5] ^= i1;
            C[6] ^= i2;
            C[7] ^= i3;

            for (var i = 0; i < 4; i++) {
              nextState.call(this);
            }
          }
        },
        _doProcessBlock: function _doProcessBlock(M, offset) {
          var X = this._X;
          nextState.call(this);
          S[0] = X[0] ^ X[5] >>> 16 ^ X[3] << 16;
          S[1] = X[2] ^ X[7] >>> 16 ^ X[5] << 16;
          S[2] = X[4] ^ X[1] >>> 16 ^ X[7] << 16;
          S[3] = X[6] ^ X[3] >>> 16 ^ X[1] << 16;

          for (var i = 0; i < 4; i++) {
            S[i] = (S[i] << 8 | S[i] >>> 24) & 0x00ff00ff | (S[i] << 24 | S[i] >>> 8) & 0xff00ff00;
            M[offset + i] ^= S[i];
          }
        },
        blockSize: 4,
        ivSize: 2
      });

      function nextState() {
        var X = this._X;
        var C = this._C;

        for (var i = 0; i < 8; i++) {
          C_[i] = C[i];
        }

        C[0] = C[0] + 0x4d34d34d + this._b | 0;
        C[1] = C[1] + 0xd34d34d3 + (C[0] >>> 0 < C_[0] >>> 0 ? 1 : 0) | 0;
        C[2] = C[2] + 0x34d34d34 + (C[1] >>> 0 < C_[1] >>> 0 ? 1 : 0) | 0;
        C[3] = C[3] + 0x4d34d34d + (C[2] >>> 0 < C_[2] >>> 0 ? 1 : 0) | 0;
        C[4] = C[4] + 0xd34d34d3 + (C[3] >>> 0 < C_[3] >>> 0 ? 1 : 0) | 0;
        C[5] = C[5] + 0x34d34d34 + (C[4] >>> 0 < C_[4] >>> 0 ? 1 : 0) | 0;
        C[6] = C[6] + 0x4d34d34d + (C[5] >>> 0 < C_[5] >>> 0 ? 1 : 0) | 0;
        C[7] = C[7] + 0xd34d34d3 + (C[6] >>> 0 < C_[6] >>> 0 ? 1 : 0) | 0;
        this._b = C[7] >>> 0 < C_[7] >>> 0 ? 1 : 0;

        for (var i = 0; i < 8; i++) {
          var gx = X[i] + C[i];
          var ga = gx & 0xffff;
          var gb = gx >>> 16;
          var gh = ((ga * ga >>> 17) + ga * gb >>> 15) + gb * gb;
          var gl = ((gx & 0xffff0000) * gx | 0) + ((gx & 0x0000ffff) * gx | 0);
          G[i] = gh ^ gl;
        }

        X[0] = G[0] + (G[7] << 16 | G[7] >>> 16) + (G[6] << 16 | G[6] >>> 16) | 0;
        X[1] = G[1] + (G[0] << 8 | G[0] >>> 24) + G[7] | 0;
        X[2] = G[2] + (G[1] << 16 | G[1] >>> 16) + (G[0] << 16 | G[0] >>> 16) | 0;
        X[3] = G[3] + (G[2] << 8 | G[2] >>> 24) + G[1] | 0;
        X[4] = G[4] + (G[3] << 16 | G[3] >>> 16) + (G[2] << 16 | G[2] >>> 16) | 0;
        X[5] = G[5] + (G[4] << 8 | G[4] >>> 24) + G[3] | 0;
        X[6] = G[6] + (G[5] << 16 | G[5] >>> 16) + (G[4] << 16 | G[4] >>> 16) | 0;
        X[7] = G[7] + (G[6] << 8 | G[6] >>> 24) + G[5] | 0;
      }

      C.RabbitLegacy = StreamCipher._createHelper(RabbitLegacy);
    })();

    return CryptoJS.RabbitLegacy;
  });
},637,[605,609,610,620,621]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.PageType = exports.SYMBOL_PAGE_STOP = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _ExtraLinks = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _EPaperArticle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _EPaperImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _BoxesInfo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var SYMBOL_PAGE_STOP = ".";
  exports.SYMBOL_PAGE_STOP = SYMBOL_PAGE_STOP;
  var PageType = {
    BROADSHEET: 0,
    DOUBLE_TRUCK: 1,
    TABLOID: 2,
    TABLOID_DOUBLE_TRUCK: 3
  };
  exports.PageType = PageType;

  var Page = function () {
    function Page() {
      (0, _classCallCheck2.default)(this, Page);
    }

    (0, _createClass2.default)(Page, [{
      key: "getIssueId",
      value: function getIssueId() {
        return this.issueId;
      }
    }, {
      key: "setIssueId",
      value: function setIssueId(issueId) {
        this.issueId = issueId;
      }
    }, {
      key: "getPageId",
      value: function getPageId() {
        return this.pageId;
      }
    }, {
      key: "setPageId",
      value: function setPageId(pageId) {
        this.pageId = pageId;
      }
    }, {
      key: "getPage",
      value: function getPage() {
        return this.page;
      }
    }, {
      key: "setPage",
      value: function setPage(page) {
        this.page = page;
      }
    }, {
      key: "getShownPage",
      value: function getShownPage() {
        return this.shownPage;
      }
    }, {
      key: "setShownPage",
      value: function setShownPage(shownPage) {
        this.shownPage = shownPage;
      }
    }, {
      key: "getFilename",
      value: function getFilename() {
        return this.filename;
      }
    }, {
      key: "setFilename",
      value: function setFilename(filename) {
        this.filename = filename;
      }
    }, {
      key: "getSection",
      value: function getSection() {
        return this.section;
      }
    }, {
      key: "setSection",
      value: function setSection(section) {
        this.section = section;
      }
    }, {
      key: "getType",
      value: function getType() {
        return this.type;
      }
    }, {
      key: "setType",
      value: function setType(type) {
        this.type = type;
      }
    }, {
      key: "getModifyTime",
      value: function getModifyTime() {
        return this.modifyTime;
      }
    }, {
      key: "setModifyTime",
      value: function setModifyTime(modifyTime) {
        this.modifyTime = modifyTime;
      }
    }, {
      key: "getExtralinks",
      value: function getExtralinks() {
        return this.extralinks;
      }
    }, {
      key: "setExtralinks",
      value: function setExtralinks(extralinks) {
        this.extralinks = extralinks;
      }
    }, {
      key: "getExtraMd5",
      value: function getExtraMd5() {
        return this.extraMd5;
      }
    }, {
      key: "setExtraMd5",
      value: function setExtraMd5(extraMd5) {
        this.extraMd5 = extraMd5;
      }
    }, {
      key: "getBoxesInfo",
      value: function getBoxesInfo() {
        var article = this.getArticles()[0];

        if (article) {
          return article.getBoxesInfo();
        }

        return undefined;
      }
    }, {
      key: "getDpi",
      value: function getDpi() {
        var boxesInfo = this.getBoxesInfo();

        if (boxesInfo) {
          return boxesInfo.getDpi();
        }

        return _$$_REQUIRE(_dependencyMap[7]).PlatformUtils.defaultDpi;
      }
    }, {
      key: "getWidth",
      value: function getWidth() {
        var boxesInfo = this.getBoxesInfo();

        if (boxesInfo) {
          return boxesInfo.getPageWidth();
        }

        return this.frameWidth;
      }
    }, {
      key: "getHeight",
      value: function getHeight() {
        var boxesInfo = this.getBoxesInfo();

        if (boxesInfo) {
          return boxesInfo.getPageHeight();
        }

        return this.frameHeight;
      }
    }, {
      key: "getTotalOffset",
      value: function getTotalOffset() {
        var offsetX = 0;
        var offsetY = 0;
        var boxesInfo = this.getBoxesInfo();

        if (boxesInfo) {
          offsetX = boxesInfo.getTotalOffsetX();
          offsetY = boxesInfo.getTotalOffsetY();
        }

        return {
          offsetX: offsetX,
          offsetY: offsetY
        };
      }
    }, {
      key: "getFrameWidth",
      value: function getFrameWidth(hasDoubleTruckSize) {
        if (!this.isDoubleTruck() && hasDoubleTruckSize) {
          return this.frameWidth / 2;
        }

        return this.frameWidth;
      }
    }, {
      key: "setFrameWidth",
      value: function setFrameWidth(frameWidth) {
        this.frameWidth = frameWidth;
      }
    }, {
      key: "getFrameHeight",
      value: function getFrameHeight() {
        return this.frameHeight;
      }
    }, {
      key: "setFrameHeight",
      value: function setFrameHeight(frameHeight) {
        this.frameHeight = frameHeight;
      }
    }, {
      key: "setEdition",
      value: function setEdition(edition) {
        this.edition = edition;
      }
    }, {
      key: "getEdition",
      value: function getEdition() {
        return this.edition;
      }
    }, {
      key: "setArticles",
      value: function setArticles(articles) {
        this.articles = articles;
      }
    }, {
      key: "getArticles",
      value: function getArticles() {
        if (this.articles) {
          return this.articles.filter(function (article) {
            return article && !article.isEmpty();
          });
        }

        return this.articles;
      }
    }, {
      key: "setImages",
      value: function setImages(images) {
        this.images = images;
      }
    }, {
      key: "getImages",
      value: function getImages() {
        return this.images;
      }
    }, {
      key: "getImageByType",
      value: function getImageByType(type) {
        return this.images.find(function (element) {
          return element.getType() === type;
        });
      }
    }, {
      key: "addImage",
      value: function addImage(image) {
        if (image) {
          var index = this.images.findIndex(function (element) {
            return element.getType() === image.getType();
          });

          if (index >= 0) {
            this.images[index] = image;
          } else {
            this.images.push(image);
          }
        }
      }
    }, {
      key: "removeImage",
      value: function removeImage(image) {
        this.images = this.images.filter(function (element) {
          return element.getType() !== image.getType();
        });
      }
    }, {
      key: "removeImageByType",
      value: function removeImageByType(type) {
        this.images = this.images.filter(function (element) {
          return element.getType() !== type;
        });
      }
    }, {
      key: "isDoubleTruck",
      value: function isDoubleTruck() {
        return this.isBroadSheetDoubleTruck() || this.isTabloidDoubleTruck();
      }
    }, {
      key: "isTabloid",
      value: function isTabloid() {
        return this.type === PageType.TABLOID;
      }
    }, {
      key: "isBroadSheetDoubleTruck",
      value: function isBroadSheetDoubleTruck() {
        return this.type === PageType.DOUBLE_TRUCK;
      }
    }, {
      key: "isTabloidDoubleTruck",
      value: function isTabloidDoubleTruck() {
        return this.type === PageType.TABLOID_DOUBLE_TRUCK;
      }
    }, {
      key: "isBroadSheet",
      value: function isBroadSheet() {
        return this.type === PageType.BROADSHEET;
      }
    }, {
      key: "getLowImage",
      value: function getLowImage() {
        return this.images ? this.images.find(function (image) {
          return image.isLow();
        }) : undefined;
      }
    }, {
      key: "getGraphImage",
      value: function getGraphImage() {
        return this.images ? this.images.find(function (image) {
          return image.isGraph();
        }) : undefined;
      }
    }, {
      key: "getTextImage",
      value: function getTextImage() {
        return this.images ? this.images.find(function (image) {
          return image.isText();
        }) : undefined;
      }
    }, {
      key: "getGifImage",
      value: function getGifImage() {
        return this.images ? this.images.find(function (image) {
          return image.isTextGIF();
        }) : undefined;
      }
    }, {
      key: "getPNGImage",
      value: function getPNGImage() {
        return this.images ? this.images.find(function (image) {
          return image.isTextPNG();
        }) : undefined;
      }
    }, {
      key: "getHrZip",
      value: function getHrZip() {
        return this.images ? this.images.find(function (image) {
          return image.isHighResZip();
        }) : undefined;
      }
    }, {
      key: "setVisible",
      value: function setVisible(visible) {
        this.visible = visible;
      }
    }, {
      key: "isVisible",
      value: function isVisible() {
        return this.visible;
      }
    }, {
      key: "setProtected",
      value: function setProtected(prot) {
        this.protected = prot;
      }
    }, {
      key: "isProtected",
      value: function isProtected() {
        return this.protected;
      }
    }]);
    return Page;
  }();

  exports.default = Page;
},638,[5,7,8,639,640,587,642,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.PageExtraType = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var PageExtraType = {
    MAIL: "mailto:",
    URL: "url",
    OPEN_APP: "openApp",
    OPEN_ISSUE: "openIssue",
    OPEN_ARTICLE: "openArticle",
    BRIGHT_COVE: "brightcove",
    EXTERNAL_URL: "externalurl",
    PAGE: "page",
    YOUTUBE: "youtube",
    VIDEO: "video",
    GALLERY: "gallery",
    POINTER: "pointer",
    ADDON: "addon",
    VIDEO_WEB: "videoweb",
    PHONE: "phone"
  };
  exports.PageExtraType = PageExtraType;

  var ExtraLink = function () {
    function ExtraLink(type, content, imageURL, coordinates, size, pdfSize) {
      (0, _classCallCheck2.default)(this, ExtraLink);
      this.type = type;
      this.content = content;
      this.imageURL = imageURL;
      this.coordinates = coordinates;
      this.size = size;
      this.pdfSize = pdfSize;
    }

    (0, _createClass2.default)(ExtraLink, [{
      key: "getType",
      value: function getType() {
        if (this.content && (this.type === PageExtraType.URL || this.type === PageExtraType.EXTERNAL_URL)) {
          var _StringUtils$segmentU = _$$_REQUIRE(_dependencyMap[3]).StringUtils.segmentUrl(_$$_REQUIRE(_dependencyMap[3]).StringUtils.decodeURIComponent(this.content)),
              getParams = _StringUtils$segmentU.getParams;

          if (_$$_REQUIRE(_dependencyMap[3]).JSUtils.hasProperty(getParams, "openIssue")) {
            return PageExtraType.OPEN_ISSUE;
          }

          if (_$$_REQUIRE(_dependencyMap[3]).JSUtils.hasProperty(getParams, "openArticle")) {
            return PageExtraType.OPEN_ARTICLE;
          }
        }

        return this.type;
      }
    }, {
      key: "setType",
      value: function setType(type) {
        this.type = type;
      }
    }, {
      key: "getContent",
      value: function getContent() {
        return this.content;
      }
    }, {
      key: "setContent",
      value: function setContent(content) {
        this.content = content;
      }
    }, {
      key: "getImageURL",
      value: function getImageURL() {
        return this.imageURL;
      }
    }, {
      key: "setImageURL",
      value: function setImageURL(imageURL) {
        this.imageURL = imageURL;
      }
    }, {
      key: "getLeft",
      value: function getLeft() {
        return this.left;
      }
    }, {
      key: "getCoordinates",
      value: function getCoordinates() {
        return this.coordinates;
      }
    }, {
      key: "setCoordinates",
      value: function setCoordinates(left, top) {
        this.coordinates = {
          left: left,
          top: top
        };
      }
    }, {
      key: "getSize",
      value: function getSize() {
        return this.size;
      }
    }, {
      key: "setSize",
      value: function setSize(width, height) {
        this.size = {
          width: width,
          height: height
        };
      }
    }, {
      key: "getPdfSize",
      value: function getPdfSize() {
        return this.pdfSize;
      }
    }, {
      key: "setPdfSize",
      value: function setPdfSize(width, height) {
        this.pdfSize = {
          width: width,
          height: height
        };
      }
    }, {
      key: "toString",
      value: function toString() {
        return this.type.concat(",").concat(this.coordinates.left).concat(",").concat(this.coordinates.top).concat(",").concat(this.size.width).concat(",").concat(this.size.height).concat(",").concat(this.pdfSize.width).concat(",").concat(this.pdfSize.height).concat(",").concat(this.content).concat(",").concat(this.imageURL);
      }
    }]);
    return ExtraLink;
  }();

  exports.default = ExtraLink;
},639,[5,7,8,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.EPaperArticleType = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _Box = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _BoxesInfo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _PageJump = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var EPaperArticleType = {
    GRAPHIC: "Graphic",
    EDITORIAL: "Editorial",
    ADVERTISEMENT: "Advertisement",
    LEGENDA: "Legenda",
    TABLE: "Table",
    PAGE_LAYOUT: "Page Layout"
  };
  exports.EPaperArticleType = EPaperArticleType;

  var EPaperArticle = function () {
    function EPaperArticle() {
      (0, _classCallCheck2.default)(this, EPaperArticle);
    }

    (0, _createClass2.default)(EPaperArticle, [{
      key: "setPageId",
      value: function setPageId(pageId) {
        this.pageId = pageId;
      }
    }, {
      key: "getPageId",
      value: function getPageId() {
        return this.pageId;
      }
    }, {
      key: "setXmlId",
      value: function setXmlId(xmlId) {
        this.xmlId = xmlId;
      }
    }, {
      key: "getXmlId",
      value: function getXmlId() {
        return this.xmlId;
      }
    }, {
      key: "setType",
      value: function setType(type) {
        this.type = type;
      }
    }, {
      key: "getType",
      value: function getType() {
        return this.type;
      }
    }, {
      key: "setSubType",
      value: function setSubType(subType) {
        this.subType = subType;
      }
    }, {
      key: "getSubType",
      value: function getSubType() {
        return this.subType;
      }
    }, {
      key: "setTitle",
      value: function setTitle(title) {
        this.title = title;
      }
    }, {
      key: "getTitle",
      value: function getTitle() {
        return this.title;
      }
    }, {
      key: "setHtml",
      value: function setHtml(html) {
        this.html = html;
      }
    }, {
      key: "getHtml",
      value: function getHtml() {
        return this.html;
      }
    }, {
      key: "setBoxes",
      value: function setBoxes(boxes) {
        this.boxes = boxes;
      }
    }, {
      key: "getLeftCoordinate",
      value: function getLeftCoordinate() {
        var boxes = this.getBoxes();
        var found;

        if (boxes && boxes.length) {
          found = boxes[0];

          for (var i = 1; i < boxes.length; i++) {
            var box = boxes[i];

            if (found.left > box.left) {
              found = box;
            }
          }
        }

        return found;
      }
    }, {
      key: "getTopCoordinate",
      value: function getTopCoordinate() {
        var boxes = this.getBoxes();
        var found;

        if (boxes && boxes.length) {
          found = boxes[0];

          for (var i = 1; i < boxes.length; i++) {
            var box = boxes[i];

            if (found.top > box.top) {
              found = box;
            }
          }
        }

        return found;
      }
    }, {
      key: "getBoxes",
      value: function getBoxes() {
        return this.boxes;
      }
    }, {
      key: "setBoxesInfo",
      value: function setBoxesInfo(info) {
        this.boxesInfo = info;
      }
    }, {
      key: "getBoxesInfo",
      value: function getBoxesInfo() {
        return this.boxesInfo;
      }
    }, {
      key: "setInc",
      value: function setInc(inc) {
        this.inc = inc;
      }
    }, {
      key: "getInc",
      value: function getInc() {
        return this.inc;
      }
    }, {
      key: "setChildart",
      value: function setChildart(childart) {
        this.childart = childart;
      }
    }, {
      key: "getChildart",
      value: function getChildart() {
        return this.childart;
      }
    }, {
      key: "setPageJumps",
      value: function setPageJumps(pageJumps) {
        this.pageJumps = pageJumps;
      }
    }, {
      key: "getPageJumps",
      value: function getPageJumps() {
        return this.pageJumps;
      }
    }, {
      key: "isText",
      value: function isText() {
        return this.getType() === EPaperArticleType.EDITORIAL;
      }
    }, {
      key: "isAd",
      value: function isAd() {
        return this.getType() === EPaperArticleType.ADVERTISEMENT;
      }
    }, {
      key: "isLayout",
      value: function isLayout() {
        return this.getType() === EPaperArticleType.PAGE_LAYOUT;
      }
    }, {
      key: "isEmpty",
      value: function isEmpty() {
        if (this.getBoxes()) {
          return _$$_REQUIRE(_dependencyMap[6]).JSUtils.isEmpty(this.getBoxes().filter(function (box) {
            return box && !box.isEmpty();
          }));
        }

        return true;
      }
    }, {
      key: "equals",
      value: function equals(article) {
        if (!article) {
          return false;
        }

        if (this.getPageId() !== article.getPageId()) {
          return false;
        }

        if (this.getXmlId() !== article.getXmlId()) {
          return false;
        }

        return true;
      }
    }, {
      key: "titleToPrint",
      value: function titleToPrint() {
        var title = this.getTitle();
        var printName = "article_" + this.getPageId() + "_" + this.getXmlId() + "_";

        if (title !== undefined) {
          printName += title.toLowerCase().replace(/ /g, "_");
        }

        return printName;
      }
    }, {
      key: "isHidden",
      value: function isHidden() {
        return this.getSubType() === "hidden";
      }
    }, {
      key: "isParent",
      value: function isParent() {
        if (this.pageJumps) {
          return this.pageJumps.find(function (pj) {
            return pj.hasTo() && pj.isParent();
          });
        }

        return false;
      }
    }, {
      key: "isSlug",
      value: function isSlug() {
        if (this.pageJumps) {
          return this.pageJumps.find(function (pj) {
            return pj.isSlug();
          });
        }

        return false;
      }
    }, {
      key: "hasFrom",
      value: function hasFrom() {
        if (this.pageJumps) {
          return this.pageJumps.find(function (pj) {
            return pj.hasFrom();
          });
        }

        return false;
      }
    }]);
    return EPaperArticle;
  }();

  exports.default = EPaperArticle;
},640,[5,7,8,641,642,643,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var Box = function () {
    function Box(id, top, left, width, height) {
      (0, _classCallCheck2.default)(this, Box);
      this.id = id;
      this.top = top;
      this.left = left;
      this.width = width;
      this.height = height;
    }

    (0, _createClass2.default)(Box, [{
      key: "getId",
      value: function getId() {
        return this.id;
      }
    }, {
      key: "getTop",
      value: function getTop() {
        return this.top;
      }
    }, {
      key: "getLeft",
      value: function getLeft() {
        return this.left;
      }
    }, {
      key: "getWidth",
      value: function getWidth() {
        return this.width;
      }
    }, {
      key: "getHeight",
      value: function getHeight() {
        return this.height;
      }
    }, {
      key: "isEmpty",
      value: function isEmpty() {
        return this.width === 0 && this.height === 0;
      }
    }, {
      key: "toString",
      value: function toString() {
        return "".concat(this.id).concat(",").concat(this.left).concat(",").concat(this.top).concat(",").concat(this.width).concat(",").concat(this.height);
      }
    }, {
      key: "contains",
      value: function contains(x, y) {
        return this.getLeft() < x && this.getLeft() + this.getWidth() > x && this.getTop() < y && this.getTop() + this.getHeight() > y;
      }
    }]);
    return Box;
  }();

  exports.default = Box;
},641,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var BoxesInfo = function () {
    function BoxesInfo(infos) {
      (0, _classCallCheck2.default)(this, BoxesInfo);
      this.infos = infos;
    }

    (0, _createClass2.default)(BoxesInfo, [{
      key: "getPDFPageWidth",
      value: function getPDFPageWidth() {
        return parseInt(this.infos[0], 10);
      }
    }, {
      key: "getPDFPageHeight",
      value: function getPDFPageHeight() {
        return parseInt(this.infos[1], 10);
      }
    }, {
      key: "getPageWidthMedium",
      value: function getPageWidthMedium() {
        return parseInt(this.infos[2], 10);
      }
    }, {
      key: "getPageHeightMedium",
      value: function getPageHeightMedium() {
        return parseInt(this.infos[3], 10);
      }
    }, {
      key: "getDpi",
      value: function getDpi() {
        return parseInt(this.infos[4], 10);
      }
    }, {
      key: "getCustomXOffset",
      value: function getCustomXOffset() {
        return parseInt(this.infos[5], 10);
      }
    }, {
      key: "getCustomYOffset",
      value: function getCustomYOffset() {
        return parseInt(this.infos[6], 10);
      }
    }, {
      key: "getXOffset",
      value: function getXOffset() {
        return parseInt(this.infos[7], 10);
      }
    }, {
      key: "getYOffset",
      value: function getYOffset() {
        return parseInt(this.infos[8], 10);
      }
    }, {
      key: "getXOffsetC",
      value: function getXOffsetC() {
        return parseInt(this.infos[11], 10);
      }
    }, {
      key: "getYOffsetC",
      value: function getYOffsetC() {
        return parseInt(this.infos[12], 10);
      }
    }, {
      key: "getWidthOffsetC",
      value: function getWidthOffsetC() {
        return parseInt(this.infos[13], 10);
      }
    }, {
      key: "getHeightOffsetC",
      value: function getHeightOffsetC() {
        return parseInt(this.infos[14], 10);
      }
    }, {
      key: "getBboxLeft",
      value: function getBboxLeft() {
        return parseInt(this.infos[15], 10);
      }
    }, {
      key: "getBboxTop",
      value: function getBboxTop() {
        return parseInt(this.infos[16], 10);
      }
    }, {
      key: "getBboxRight",
      value: function getBboxRight() {
        return parseInt(this.infos[17], 10);
      }
    }, {
      key: "getBboxBottom",
      value: function getBboxBottom() {
        return parseInt(this.infos[18], 10);
      }
    }, {
      key: "getOriginalPDFPageWidth",
      value: function getOriginalPDFPageWidth() {
        return this.infos[19] ? parseFloat(this.infos[19]) : 0;
      }
    }, {
      key: "getOriginalPDFPageHeight",
      value: function getOriginalPDFPageHeight() {
        return this.infos[20] ? parseFloat(this.infos[20]) : 0;
      }
    }, {
      key: "getPageWidth",
      value: function getPageWidth() {
        return this.getOriginalPDFPageWidth() || this.getPDFPageWidth();
      }
    }, {
      key: "getPageHeight",
      value: function getPageHeight() {
        return this.getOriginalPDFPageHeight() || this.getPDFPageHeight();
      }
    }, {
      key: "toString",
      value: function toString() {
        return this.infos.join(",");
      }
    }, {
      key: "getTotalOffsetX",
      value: function getTotalOffsetX() {
        return this.getXOffset() + this.getXOffsetC() + this.getCustomXOffset();
      }
    }, {
      key: "getTotalOffsetY",
      value: function getTotalOffsetY() {
        return this.getYOffset() + this.getYOffsetC() + this.getCustomYOffset();
      }
    }, {
      key: "getPercentile",
      value: function getPercentile() {
        return Math.floor(this.getDpi() / 72 * 100) / 100;
      }
    }, {
      key: "getZoomX",
      value: function getZoomX() {
        return Math.ceil(this.getPageWidth() * this.getPercentile()) / this.getPageWidthMedium();
      }
    }, {
      key: "getZoomY",
      value: function getZoomY() {
        return Math.ceil(this.getPageHeight() * this.getPercentile()) / this.getPageHeightMedium();
      }
    }, {
      key: "getMedDpi",
      value: function getMedDpi() {
        return this.getPageWidth() / this.getPageWidthMedium() * this.getDpi();
      }
    }, {
      key: "getOriginalPageMediumWidth",
      value: function getOriginalPageMediumWidth() {
        return this.getPageWidthMedium() + this.getBboxLeft() + this.getBboxRight();
      }
    }, {
      key: "getOriginalPageMediumHeight",
      value: function getOriginalPageMediumHeight() {
        return this.getPageHeightMedium() + this.getBboxTop() + this.getBboxBottom();
      }
    }, {
      key: "getScaleX",
      value: function getScaleX() {
        return Math.ceil(this.getPageWidth() * this.getPercentile()) / this.getOriginalPageMediumWidth();
      }
    }, {
      key: "getScaleY",
      value: function getScaleY() {
        return Math.ceil(this.getPageHeight() * this.getPercentile()) / this.getOriginalPageMediumHeight();
      }
    }]);
    return BoxesInfo;
  }();

  exports.default = BoxesInfo;
},642,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.PageJumpType = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var PageJumpType = {
    HIDDEN_SLUG: "hiddenSlug",
    PARENT: "parent",
    SLUG: "slug"
  };
  exports.PageJumpType = PageJumpType;

  var PageJump = function () {
    function PageJump() {
      var slug = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
      var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
      var to = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "";
      var type = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "";
      var articleId = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -1;
      var articleFrom = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : -1;
      (0, _classCallCheck2.default)(this, PageJump);
      this.slug = slug;
      this.from = from;
      this.to = to;
      this.type = type;
      this.articleId = articleId;
      this.articleFrom = articleFrom;
    }

    (0, _createClass2.default)(PageJump, [{
      key: "getSlug",
      value: function getSlug() {
        return this.slug;
      }
    }, {
      key: "getFrom",
      value: function getFrom() {
        return this.from;
      }
    }, {
      key: "getTo",
      value: function getTo() {
        return this.to;
      }
    }, {
      key: "hasTo",
      value: function hasTo() {
        return this.to !== "";
      }
    }, {
      key: "hasFrom",
      value: function hasFrom() {
        return this.from !== "";
      }
    }, {
      key: "getArticleId",
      value: function getArticleId() {
        return this.articleId;
      }
    }, {
      key: "getArticleFrom",
      value: function getArticleFrom() {
        if (this.articleFrom === -1 && !this.hasTo()) {
          return this.articleId;
        }

        return this.articleFrom;
      }
    }, {
      key: "setSlug",
      value: function setSlug(slug) {
        this.slug = slug;
      }
    }, {
      key: "setFrom",
      value: function setFrom(from) {
        this.from = from;
      }
    }, {
      key: "setTo",
      value: function setTo(to) {
        this.to = to;
      }
    }, {
      key: "setType",
      value: function setType(type) {
        this.type = type;
      }
    }, {
      key: "setArticleId",
      value: function setArticleId(articleId) {
        this.articleId = articleId;
      }
    }, {
      key: "isHiddenSlug",
      value: function isHiddenSlug() {
        return this.type === PageJumpType.HIDDEN_SLUG;
      }
    }, {
      key: "isParent",
      value: function isParent() {
        return this.type === PageJumpType.PARENT;
      }
    }, {
      key: "isSlug",
      value: function isSlug() {
        return this.type === PageJumpType.SLUG;
      }
    }, {
      key: "toString",
      value: function toString() {
        var string = "\"" + this.slug + "\":";
        string += "{";

        if (this.from) {
          string += "\"from\":\"" + this.from + "\",";
        }

        if (this.to) {
          string += "\"to\":\"" + this.to + "\",";
        }

        if (this.type) {
          string += "\"type\":\"" + this.type + "\",";
        }

        if (this.articleId > -1) {
          string += "\"artid\":\"art_" + this.articleId + ".xml\"";
        }

        if (this.articleFrom > -1) {
          string += "\"articlefrom\":\"art_" + this.articleFrom + ".xml\"";
        }

        string += "}";
        return string;
      }
    }]);
    return PageJump;
  }();

  exports.default = PageJump;
},643,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _EPaperArticle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _PageJump = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var Edition = function () {
    function Edition(issue, edition) {
      (0, _classCallCheck2.default)(this, Edition);
      this.issue = issue;
      this.edition = edition;
      this.pages = [];
      this.hasSpecialSections = false;
    }

    (0, _createClass2.default)(Edition, [{
      key: "getIssue",
      value: function getIssue() {
        return this.issue;
      }
    }, {
      key: "setIssue",
      value: function setIssue(issue) {
        this.issue = issue;
      }
    }, {
      key: "getIssueId",
      value: function getIssueId() {
        return this.issueId;
      }
    }, {
      key: "setIssueId",
      value: function setIssueId(issueId) {
        this.issueId = issueId;
      }
    }, {
      key: "getEdition",
      value: function getEdition() {
        return this.edition;
      }
    }, {
      key: "setEdition",
      value: function setEdition(edition) {
        this.edition = edition;
      }
    }, {
      key: "getPages",
      value: function getPages() {
        var forceShowAll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;

        if (forceShowAll) {
          return this.pages;
        }

        return this.pages.filter(function (page) {
          return page.isVisible();
        });
      }
    }, {
      key: "setPages",
      value: function setPages(pages) {
        this.pages = pages;
      }
    }, {
      key: "getFirstPage",
      value: function getFirstPage() {
        if (this.pages) {
          return this.pages[0];
        }

        return null;
      }
    }, {
      key: "getPageById",
      value: function getPageById(pageId) {
        if (this.pages && pageId !== undefined) {
          return this.pages.find(function (page) {
            return page.getPageId() === pageId;
          });
        }

        return undefined;
      }
    }, {
      key: "getPageByArticle",
      value: function getPageByArticle(article) {
        if (this.pages && article !== undefined) {
          return this.pages.find(function (page) {
            return page.getPageId() === article.getPageId();
          });
        }

        return undefined;
      }
    }, {
      key: "updatePage",
      value: function updatePage(page) {
        var index = this.pages.findIndex(function (_ref) {
          var pageId = _ref.pageId,
              issueId = _ref.issueId;
          return pageId === page.pageId && issueId === page.issueId;
        });

        if (index >= 0) {
          this.pages[index] = page;
        } else {
          this.pages.push(page);
          this.pages.sort(function (a, b) {
            if (a.page < b.page) {
              return -1;
            }

            if (a.page > b.page) {
              return 1;
            }

            return 0;
          });
        }
      }
    }, {
      key: "removePage",
      value: function removePage(page) {
        var index = this.pages.findIndex(function (_ref2) {
          var pageId = _ref2.pageId,
              issueId = _ref2.issueId;
          return pageId === page.pageId && issueId === page.issueId;
        });

        if (index >= 0) {
          this.pages.splice(index, 1);
        }
      }
    }, {
      key: "isEmpty",
      value: function isEmpty() {
        return !this.pages || this.pages.length === 0;
      }
    }, {
      key: "setIsLite",
      value: function setIsLite(isLite) {
        this.isLite = isLite;
      }
    }, {
      key: "setIsInvalid",
      value: function setIsInvalid(isInvalid) {
        this.isInvalid = isInvalid;
      }
    }, {
      key: "isUseShownPage",
      value: function isUseShownPage() {
        return this.useShownPage;
      }
    }, {
      key: "setUseShownPage",
      value: function setUseShownPage(useShownPage) {
        this.useShownPage = useShownPage;
      }
    }, {
      key: "useArticleInc",
      value: function useArticleInc() {
        return this.useArticleInc;
      }
    }, {
      key: "setUseArticleInc",
      value: function setUseArticleInc(useArticleInc) {
        this.useArticleInc = useArticleInc;
      }
    }, {
      key: "setHasSpecialSections",
      value: function setHasSpecialSections(hasSpecialSections) {
        this.hasSpecialSections = hasSpecialSections;
      }
    }, {
      key: "setHasPhotoGalleries",
      value: function setHasPhotoGalleries(hasPhotoGalleries) {
        this.hasPhotoGalleries = hasPhotoGalleries;
      }
    }, {
      key: "getDownloadTime",
      value: function getDownloadTime() {
        return this.downloadTime;
      }
    }, {
      key: "setDownloadTime",
      value: function setDownloadTime(downloadTime) {
        this.downloadTime = downloadTime;
      }
    }, {
      key: "setUpdated",
      value: function setUpdated(updated) {
        this.updated = updated;
      }
    }, {
      key: "isUpdated",
      value: function isUpdated() {
        return this.updated;
      }
    }, {
      key: "setPaper",
      value: function setPaper(paper) {
        this.paper = paper;
      }
    }, {
      key: "getPaper",
      value: function getPaper() {
        return this.paper;
      }
    }, {
      key: "setModifyTime",
      value: function setModifyTime(modifyTime) {
        this.modifyTime = modifyTime;
      }
    }, {
      key: "getModifyTime",
      value: function getModifyTime() {
        return this.modifyTime;
      }
    }, {
      key: "setCustomIndexModifyTime",
      value: function setCustomIndexModifyTime(modifyTime) {
        this.customIndexModifyTime = modifyTime;
      }
    }, {
      key: "getCustomIndexModifyTime",
      value: function getCustomIndexModifyTime() {
        return this.customIndexModifyTime;
      }
    }, {
      key: "setCustomIndexHtml",
      value: function setCustomIndexHtml(html) {
        this.customIndexHtml = html;
      }
    }, {
      key: "getCustomIndexHtml",
      value: function getCustomIndexHtml() {
        return this.customIndexHtml;
      }
    }, {
      key: "getFirstArticleInChain",
      value: function getFirstArticleInChain(article) {
        var index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
        var firstArticle = article;
        var currentArticleIndex = index;

        if (article) {
          var from = article.getPageJumps().find(function (pageJump) {
            return pageJump.hasFrom();
          });

          if (from) {
            var newFirstArticle = this.getArticleFromPageJump(from.getFrom(), from.getArticleFrom());

            if (newFirstArticle) {
              var _this$getFirstArticle = this.getFirstArticleInChain(newFirstArticle, currentArticleIndex + 1);

              firstArticle = _this$getFirstArticle.firstArticle;
              currentArticleIndex = _this$getFirstArticle.currentArticleIndex;
            }
          }
        }

        return {
          firstArticle: firstArticle,
          currentArticleIndex: currentArticleIndex
        };
      }
    }, {
      key: "getChainOfArticle",
      value: function getChainOfArticle(article) {
        var _this = this;

        var chains = [];

        if (article) {
          var _this$getFirstArticle2 = this.getFirstArticleInChain(article),
              nextArticle = _this$getFirstArticle2.firstArticle;

          do {
            chains.push(nextArticle);
            var to = nextArticle.getPageJumps().find(function (pageJump) {
              return pageJump.hasTo();
            });
            nextArticle = undefined;

            if (to) {
              (function () {
                var newArticle = _this.getArticleFromPageJump(to.getTo(), to.getArticleId());

                if (chains.find(function (chainArticle) {
                  return chainArticle.getPageId() === newArticle.getPageId() && chainArticle.getXmlId() === newArticle.getXmlId();
                }) === undefined) {
                  nextArticle = newArticle;
                }
              })();
            }
          } while (nextArticle);
        }

        return chains;
      }
    }, {
      key: "getNextArticleInChain",
      value: function getNextArticleInChain(article) {
        var to = article.getPageJumps().find(function (pageJump) {
          return pageJump.hasTo();
        });

        if (to) {
          return this.getArticleFromPageJump(to.getTo(), to.getArticleId());
        }

        return undefined;
      }
    }, {
      key: "getChildArts",
      value: function getChildArts(article) {
        var page;
        var articles = [];

        if (article) {
          page = this.getPages(true).find(function (item) {
            return item.getPageId() === article.getPageId();
          });

          if (page) {
            articles = page.getArticles().filter(function (child) {
              return child.getChildart() === article.getXmlId();
            });
          }
        }

        return {
          page: page,
          articles: articles
        };
      }
    }, {
      key: "getArticleFromPageJump",
      value: function getArticleFromPageJump(page, artId) {
        try {
          var found = this.getPages(true).find(function (item) {
            return item.getPage() === page;
          });

          if (found) {
            return found.getArticles().find(function (article) {
              return article.getXmlId() == artId;
            });
          }
        } catch (e) {}

        return undefined;
      }
    }, {
      key: "isFirstPageDoubleTruck",
      value: function isFirstPageDoubleTruck() {
        var firstPage = this.getFirstPage();
        return firstPage ? firstPage.isDoubleTruck() : false;
      }
    }]);
    return Edition;
  }();

  exports.default = Edition;
},644,[5,7,8,640,638,643]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.adaptIndexForRTL = adaptIndexForRTL;
  exports.fixStartupIndex = fixStartupIndex;
  exports.runTiming = runTiming;
  exports.pagesVisibleArea = pagesVisibleArea;

  var _reactNativeReanimated = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var TIMING_DURATION = 300;
  var set = _reactNativeReanimated.default.set,
      cond = _reactNativeReanimated.default.cond,
      Value = _reactNativeReanimated.default.Value,
      clockRunning = _reactNativeReanimated.default.clockRunning,
      stopClock = _reactNativeReanimated.default.stopClock,
      startClock = _reactNativeReanimated.default.startClock,
      timing = _reactNativeReanimated.default.timing;

  function adaptIndexForRTL(index, nPages) {
    var toReturn;

    if (!_$$_REQUIRE(_dependencyMap[1]).PlatformUtils.isRTL()) {
      toReturn = index;
    } else {
      toReturn = Math.min(Math.max(0, nPages - 1 - index), nPages - 1);
    }

    return toReturn;
  }

  function fixStartupIndex(index, nPages, pagesVisible, isRtl) {
    var toReturn;

    if (pagesVisible === 1) {
      toReturn = index;
    } else if (index === 0) {
      toReturn = index;
    } else if (index === nPages - 1) {
      toReturn = index - 1;
    } else if (isRtl && nPages % 2 === 1) {
      if (index % 2 === 0) {
        toReturn = index;
      } else {
        toReturn = index - 1;
      }
    } else if (isRtl && index % 2 === 0) {
      toReturn = index - 1;
    } else if (index % 2 === 1) {
      toReturn = index;
    } else {
      toReturn = index - 1;
    }

    return toReturn;
  }

  function runTiming(clock, value, dest) {
    var params = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
    var _params$onEnd = params.onEnd,
        onEnd = _params$onEnd === undefined ? [] : _params$onEnd,
        _params$startStopCloc = params.startStopClock,
        startStopClock = _params$startStopCloc === undefined ? true : _params$startStopCloc,
        _params$duration = params.duration,
        duration = _params$duration === undefined ? TIMING_DURATION : _params$duration,
        _params$easing = params.easing,
        easing = _params$easing === undefined ? _reactNativeReanimated.Easing.linear : _params$easing;
    var state = {
      finished: new Value(0),
      position: new Value(0),
      frameTime: new Value(0),
      time: new Value(0)
    };
    var config = {
      toValue: new Value(0),
      duration: duration,
      easing: easing
    };
    return [cond(clockRunning(clock), 0, [set(state.finished, 0), set(state.frameTime, 0), set(state.time, 0), set(state.position, value), set(config.toValue, dest), startStopClock && startClock(clock)]), timing(clock, state, config), cond(state.finished, [onEnd, startStopClock && stopClock(clock)]), state.position];
  }

  function pagesVisibleArea(notAnimatedStatus) {
    var _panX = notAnimatedStatus._panX,
        _panY = notAnimatedStatus._panY,
        _limits = notAnimatedStatus._limits,
        _top = notAnimatedStatus._top,
        _left = notAnimatedStatus._left,
        _horizontalMargin = notAnimatedStatus._horizontalMargin,
        _pageWidth = notAnimatedStatus._width,
        _viewWidth = notAnimatedStatus._viewWidth,
        _viewHeight = notAnimatedStatus._viewHeight,
        _pagesVisible = notAnimatedStatus._pagesVisible,
        _scale = notAnimatedStatus._scale;
    var pages = [];
    var numVisiblePages = _limits.length - 1;
    var scalePageWidth = _pageWidth * _scale;

    var visibleContentOverflow = _horizontalMargin - Math.max(0, (_viewWidth - scalePageWidth * _pagesVisible) / 2);

    var whiteAreaSize = (_horizontalMargin - visibleContentOverflow) * 2;
    var y = (_top - _panY) / _scale;
    var absoluteX = -1 * _left + _panX;

    for (var i = 0; i < numVisiblePages; i++) {
      var limit = _limits[i];
      var x = i === 0 ? (limit - absoluteX - visibleContentOverflow) / _scale : 0;
      var index = Math.round(Math.abs(limit) / scalePageWidth);
      var viewWidth = _viewWidth / _scale;
      var viewHeight = _viewHeight / _scale;

      if (numVisiblePages > 1) {
        if (i === 0) {
          viewWidth = Math.abs(_pageWidth - x);
        } else if (_limits[i] > absoluteX - _viewWidth) {
          if (_limits[i] - scalePageWidth > absoluteX - _viewWidth + whiteAreaSize) {
            viewWidth = _pageWidth;
          } else {
            viewWidth = Math.abs(absoluteX - _viewWidth + whiteAreaSize - _limits[i]) / _scale;
          }
        }
      }

      if (viewWidth >= 1) {
        pages.push({
          x: x,
          y: y,
          width: viewWidth || 0,
          height: viewHeight,
          index: index
        });
      }
    }

    return pages;
  }
},645,[646,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  var _exportNames = {
    decay: true,
    timing: true,
    spring: true,
    Easing: true,
    Clock: true,
    Value: true,
    Node: true,
    Transition: true,
    Transitioning: true,
    createTransitioningComponent: true,
    SpringUtils: true,
    useValue: true
  };
  Object.defineProperty(exports, "Easing", {
    enumerable: true,
    get: function get() {
      return _Easing.default;
    }
  });
  Object.defineProperty(exports, "Clock", {
    enumerable: true,
    get: function get() {
      return _AnimatedClock.default;
    }
  });
  Object.defineProperty(exports, "Value", {
    enumerable: true,
    get: function get() {
      return _AnimatedValue.default;
    }
  });
  Object.defineProperty(exports, "Node", {
    enumerable: true,
    get: function get() {
      return _AnimatedNode.default;
    }
  });
  Object.defineProperty(exports, "Transition", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).Transition;
    }
  });
  Object.defineProperty(exports, "Transitioning", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).Transitioning;
    }
  });
  Object.defineProperty(exports, "createTransitioningComponent", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).createTransitioningComponent;
    }
  });
  Object.defineProperty(exports, "SpringUtils", {
    enumerable: true,
    get: function get() {
      return _SpringUtils.default;
    }
  });
  Object.defineProperty(exports, "useValue", {
    enumerable: true,
    get: function get() {
      return _useValue.default;
    }
  });
  exports.spring = exports.timing = exports.decay = exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _Easing = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[4]));

  var _AnimatedClock = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[5]));

  var _AnimatedValue = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[6]));

  var _AnimatedNode = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[7]));

  var _AnimatedCode = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[8]));

  var base = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  Object.keys(base).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
    if (key in exports && exports[key] === base[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return base[key];
      }
    });
  });

  var derived = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  Object.keys(derived).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
    if (key in exports && exports[key] === derived[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return derived[key];
      }
    });
  });

  var _createAnimatedComponent = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[11]));

  var _decay = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[12]));

  var _timing = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[13]));

  var _spring = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[14]));

  var _Animation = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[15]));

  var _backwardCompatibleAnimWrapper = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[16]));

  var _SpringUtils = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[17]));

  var _useValue = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[18]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var decayWrapper = (0, _backwardCompatibleAnimWrapper.default)(_decay.default, _Animation.default.decayDefaultState);
  exports.decay = decayWrapper;
  var timingWrapper = (0, _backwardCompatibleAnimWrapper.default)(_timing.default, _Animation.default.timingDefaultState);
  exports.timing = timingWrapper;
  var springWrapper = (0, _backwardCompatibleAnimWrapper.default)(_spring.default, _Animation.default.springDefaultState);
  exports.spring = springWrapper;
  var Animated = (0, _extends2.default)({
    View: (0, _createAnimatedComponent.default)(_reactNative.View),
    Text: (0, _createAnimatedComponent.default)(_reactNative.Text),
    Image: (0, _createAnimatedComponent.default)(_reactNative.Image),
    ScrollView: (0, _createAnimatedComponent.default)(_reactNative.ScrollView),
    Code: _AnimatedCode.default,
    createAnimatedComponent: _createAnimatedComponent.default,
    Clock: _AnimatedClock.default,
    Value: _AnimatedValue.default,
    Node: _AnimatedNode.default
  }, base, derived, {
    decay: decayWrapper,
    timing: timingWrapper,
    spring: springWrapper,
    SpringUtils: _SpringUtils.default,
    addWhitelistedNativeProps: _$$_REQUIRE(_dependencyMap[19]).addWhitelistedNativeProps,
    addWhitelistedUIProps: _$$_REQUIRE(_dependencyMap[19]).addWhitelistedUIProps,
    useValue: _useValue.default
  });
  var _default = Animated;
  exports.default = _default;
},646,[647,5,6,28,649,659,667,651,677,653,679,686,691,692,693,694,695,696,697,698]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createTransitioningComponent = createTransitioningComponent;
  exports.Transition = exports.Transitioning = undefined;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _ReanimatedModule = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TransitioningContext = _react.default.createContext();

  function configFromProps(type, props) {
    var config = {
      type: type
    };

    if ('durationMs' in props) {
      config.durationMs = props.durationMs;
    }

    if ('interpolation' in props) {
      config.interpolation = props.interpolation;
    }

    if ('type' in props) {
      config.animation = props.type;
    }

    if ('delayMs' in props) {
      config.delayMs = props.delayMs;
    }

    if ('propagation' in props) {
      config.propagation = props.propagation;
    }

    return config;
  }

  function wrapTransitioningContext(Comp) {
    return function (props) {
      return _react.default.createElement(TransitioningContext.Consumer, null, function (context) {
        return _react.default.createElement(Comp, (0, _extends2.default)({
          context: context
        }, props));
      });
    };
  }

  var In = function (_React$Component) {
    (0, _inherits2.default)(In, _React$Component);

    var _super = _createSuper(In);

    function In() {
      (0, _classCallCheck2.default)(this, In);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(In, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this.props.context.push(configFromProps('in', this.props));
      }
    }, {
      key: "render",
      value: function render() {
        return this.props.children || null;
      }
    }]);
    return In;
  }(_react.default.Component);

  var Change = function (_React$Component2) {
    (0, _inherits2.default)(Change, _React$Component2);

    var _super2 = _createSuper(Change);

    function Change() {
      (0, _classCallCheck2.default)(this, Change);
      return _super2.apply(this, arguments);
    }

    (0, _createClass2.default)(Change, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this.props.context.push(configFromProps('change', this.props));
      }
    }, {
      key: "render",
      value: function render() {
        return this.props.children || null;
      }
    }]);
    return Change;
  }(_react.default.Component);

  var Out = function (_React$Component3) {
    (0, _inherits2.default)(Out, _React$Component3);

    var _super3 = _createSuper(Out);

    function Out() {
      (0, _classCallCheck2.default)(this, Out);
      return _super3.apply(this, arguments);
    }

    (0, _createClass2.default)(Out, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this.props.context.push(configFromProps('out', this.props));
      }
    }, {
      key: "render",
      value: function render() {
        return this.props.children || null;
      }
    }]);
    return Out;
  }(_react.default.Component);

  var Together = function (_React$Component4) {
    (0, _inherits2.default)(Together, _React$Component4);

    var _super4 = _createSuper(Together);

    function Together() {
      var _this;

      (0, _classCallCheck2.default)(this, Together);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super4.call.apply(_super4, [this].concat(args));
      _this.transitions = [];
      return _this;
    }

    (0, _createClass2.default)(Together, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var config = configFromProps('group', this.props);
        config.transitions = this.transitions;
        this.props.context.push(config);
      }
    }, {
      key: "render",
      value: function render() {
        return _react.default.createElement(TransitioningContext.Provider, {
          value: this.transitions
        }, this.props.children);
      }
    }]);
    return Together;
  }(_react.default.Component);

  var Sequence = function (_React$Component5) {
    (0, _inherits2.default)(Sequence, _React$Component5);

    var _super5 = _createSuper(Sequence);

    function Sequence() {
      var _this2;

      (0, _classCallCheck2.default)(this, Sequence);

      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
        args[_key2] = arguments[_key2];
      }

      _this2 = _super5.call.apply(_super5, [this].concat(args));
      _this2.transitions = [];
      return _this2;
    }

    (0, _createClass2.default)(Sequence, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var config = configFromProps('group', this.props);
        config.sequence = true;
        config.transitions = this.transitions;
        this.props.context.push(config);
      }
    }, {
      key: "render",
      value: function render() {
        return _react.default.createElement(TransitioningContext.Provider, {
          value: this.transitions
        }, this.props.children);
      }
    }]);
    return Sequence;
  }(_react.default.Component);

  function createTransitioningComponent(Component) {
    var Wrapped = function (_React$Component6) {
      (0, _inherits2.default)(Wrapped, _React$Component6);

      var _super6 = _createSuper(Wrapped);

      function Wrapped() {
        var _this3;

        (0, _classCallCheck2.default)(this, Wrapped);

        for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
          args[_key3] = arguments[_key3];
        }

        _this3 = _super6.call.apply(_super6, [this].concat(args));
        _this3.propTypes = Component.propTypes;
        _this3.transitions = [];
        _this3.viewRef = _react.default.createRef();
        return _this3;
      }

      (0, _createClass2.default)(Wrapped, [{
        key: "componentDidMount",
        value: function componentDidMount() {
          if (this.props.animateMount) {
            this.animateNextTransition();
          }
        }
      }, {
        key: "setNativeProps",
        value: function setNativeProps(props) {
          this.viewRef.current.setNativeProps(props);
        }
      }, {
        key: "animateNextTransition",
        value: function animateNextTransition() {
          var viewTag = (0, _reactNative.findNodeHandle)(this.viewRef.current);

          _ReanimatedModule.default.animateNextTransition(viewTag, {
            transitions: this.transitions
          });
        }
      }, {
        key: "render",
        value: function render() {
          var _this$props = this.props,
              transition = _this$props.transition,
              rest = (0, _objectWithoutProperties2.default)(_this$props, ["transition"]);
          return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(TransitioningContext.Provider, {
            value: this.transitions
          }, transition), _react.default.createElement(Component, (0, _extends2.default)({}, rest, {
            ref: this.viewRef,
            collapsable: false
          })));
        }
      }]);
      return Wrapped;
    }(_react.default.Component);

    return Wrapped;
  }

  var Transitioning = {
    View: createTransitioningComponent(_reactNative.View)
  };
  exports.Transitioning = Transitioning;
  var Transition = {
    Sequence: wrapTransitioningContext(Sequence),
    Together: wrapTransitioningContext(Together),
    In: wrapTransitioningContext(In),
    Out: wrapTransitioningContext(Out),
    Change: wrapTransitioningContext(Change)
  };
  exports.Transition = Transition;
},647,[5,108,7,8,12,14,16,6,17,28,648]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var ReanimatedModule = _reactNative.NativeModules.ReanimatedModule;
  var _default = ReanimatedModule;
  exports.default = _default;
},648,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _AnimatedBezier = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var Easing = function () {
    function Easing() {
      (0, _classCallCheck2.default)(this, Easing);
    }

    (0, _createClass2.default)(Easing, null, [{
      key: "linear",
      value: function linear(t) {
        return t;
      }
    }, {
      key: "ease",
      value: function ease(t) {
        return new _AnimatedBezier.default(t, 0.42, 0, 1, 1);
      }
    }, {
      key: "quad",
      value: function quad(t) {
        return (0, _$$_REQUIRE(_dependencyMap[4]).multiply)(t, t);
      }
    }, {
      key: "cubic",
      value: function cubic(t) {
        return (0, _$$_REQUIRE(_dependencyMap[4]).multiply)(t, t, t);
      }
    }, {
      key: "poly",
      value: function poly(n) {
        return function (t) {
          return (0, _$$_REQUIRE(_dependencyMap[4]).pow)(t, n);
        };
      }
    }, {
      key: "sin",
      value: function sin(t) {
        return (0, _$$_REQUIRE(_dependencyMap[4]).sub)(1, (0, _$$_REQUIRE(_dependencyMap[4]).cos)((0, _$$_REQUIRE(_dependencyMap[4]).multiply)(t, Math.PI, 0.5)));
      }
    }, {
      key: "circle",
      value: function circle(t) {
        return (0, _$$_REQUIRE(_dependencyMap[4]).sub)(1, (0, _$$_REQUIRE(_dependencyMap[4]).sqrt)((0, _$$_REQUIRE(_dependencyMap[4]).sub)(1, (0, _$$_REQUIRE(_dependencyMap[4]).multiply)(t, t))));
      }
    }, {
      key: "exp",
      value: function exp(t) {
        return (0, _$$_REQUIRE(_dependencyMap[4]).pow)(2, (0, _$$_REQUIRE(_dependencyMap[4]).multiply)(10, (0, _$$_REQUIRE(_dependencyMap[4]).sub)(t, 1)));
      }
    }, {
      key: "elastic",
      value: function elastic() {
        var bounciness = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
        var p = bounciness * Math.PI;
        return function (t) {
          return (0, _$$_REQUIRE(_dependencyMap[4]).sub)(1, (0, _$$_REQUIRE(_dependencyMap[4]).multiply)((0, _$$_REQUIRE(_dependencyMap[4]).pow)((0, _$$_REQUIRE(_dependencyMap[4]).cos)((0, _$$_REQUIRE(_dependencyMap[4]).multiply)(t, Math.PI, 0.5)), 3), (0, _$$_REQUIRE(_dependencyMap[4]).cos)((0, _$$_REQUIRE(_dependencyMap[4]).multiply)(t, p))));
        };
      }
    }, {
      key: "back",
      value: function back(s) {
        if (s === undefined) {
          s = 1.70158;
        }

        return function (t) {
          return (0, _$$_REQUIRE(_dependencyMap[4]).multiply)(t, t, (0, _$$_REQUIRE(_dependencyMap[4]).sub)((0, _$$_REQUIRE(_dependencyMap[4]).multiply)((0, _$$_REQUIRE(_dependencyMap[4]).add)(s, 1), t), s));
        };
      }
    }, {
      key: "bounce",
      value: function bounce(t) {
        var sq = function sq(v) {
          return (0, _$$_REQUIRE(_dependencyMap[4]).multiply)(7.5625, v, v);
        };

        return (0, _$$_REQUIRE(_dependencyMap[4]).cond)((0, _$$_REQUIRE(_dependencyMap[4]).lessThan)(t, 0.36363636363636365), sq(t), (0, _$$_REQUIRE(_dependencyMap[4]).cond)((0, _$$_REQUIRE(_dependencyMap[4]).lessThan)(t, 0.7272727272727273), (0, _$$_REQUIRE(_dependencyMap[4]).add)(0.75, sq((0, _$$_REQUIRE(_dependencyMap[4]).sub)(t, 0.5454545454545454))), (0, _$$_REQUIRE(_dependencyMap[4]).cond)((0, _$$_REQUIRE(_dependencyMap[4]).lessThan)(t, 0.9057971014492754), (0, _$$_REQUIRE(_dependencyMap[4]).add)(0.9375, sq((0, _$$_REQUIRE(_dependencyMap[4]).sub)(t, 0.8181818181818182))), (0, _$$_REQUIRE(_dependencyMap[4]).add)(0.984375, sq((0, _$$_REQUIRE(_dependencyMap[4]).sub)(t, 0.9545454545454546))))));
      }
    }, {
      key: "bezier",
      value: function bezier(x1, y1, x2, y2) {
        return function (t) {
          return new _AnimatedBezier.default(t, x1, y1, x2, y2);
        };
      }
    }, {
      key: "in",
      value: function _in(easing) {
        return easing;
      }
    }, {
      key: "out",
      value: function out(easing) {
        return function (t) {
          return (0, _$$_REQUIRE(_dependencyMap[4]).sub)(1, easing((0, _$$_REQUIRE(_dependencyMap[4]).sub)(1, t)));
        };
      }
    }, {
      key: "inOut",
      value: function inOut(easing) {
        return function (t) {
          return (0, _$$_REQUIRE(_dependencyMap[4]).cond)((0, _$$_REQUIRE(_dependencyMap[4]).lessThan)(t, 0.5), (0, _$$_REQUIRE(_dependencyMap[4]).divide)(easing((0, _$$_REQUIRE(_dependencyMap[4]).multiply)(t, 2)), 2), (0, _$$_REQUIRE(_dependencyMap[4]).sub)(1, (0, _$$_REQUIRE(_dependencyMap[4]).divide)(easing((0, _$$_REQUIRE(_dependencyMap[4]).multiply)((0, _$$_REQUIRE(_dependencyMap[4]).sub)(1, t), 2)), 2)));
        };
      }
    }]);
    return Easing;
  }();

  exports.default = Easing;
},649,[5,7,8,650,653]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _AnimatedNode2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NEWTON_ITERATIONS = 4;
  var NEWTON_MIN_SLOPE = 0.001;
  var SUBDIVISION_PRECISION = 0.0000001;
  var SUBDIVISION_MAX_ITERATIONS = 10;
  var kSplineTableSize = 11;
  var kSampleStepSize = 0.1;
  var float32ArraySupported = typeof Float32Array === 'function';

  function A(aA1, aA2) {
    return 1.0 - 3.0 * aA2 + 3.0 * aA1;
  }

  function B(aA1, aA2) {
    return 3.0 * aA2 - 6.0 * aA1;
  }

  function C(aA1) {
    return 3.0 * aA1;
  }

  function calcBezier(aT, aA1, aA2) {
    return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;
  }

  function getSlope(aT, aA1, aA2) {
    return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);
  }

  function binarySubdivide(aX, aA, aB, mX1, mX2) {
    var currentX = 0;
    var currentT = 0;
    var i = 0;

    do {
      currentT = aA + (aB - aA) / 2.0;
      currentX = calcBezier(currentT, mX1, mX2) - aX;

      if (currentX > 0.0) {
        aB = currentT;
      } else {
        aA = currentT;
      }
    } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);

    return currentT;
  }

  function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {
    for (var i = 0; i < NEWTON_ITERATIONS; ++i) {
      var currentSlope = getSlope(aGuessT, mX1, mX2);

      if (currentSlope === 0.0) {
        return aGuessT;
      }

      var currentX = calcBezier(aGuessT, mX1, mX2) - aX;
      aGuessT -= currentX / currentSlope;
    }

    return aGuessT;
  }

  function bezier(mX1, mY1, mX2, mY2) {
    var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);

    if (mX1 !== mY1 || mX2 !== mY2) {
      for (var i = 0; i < kSplineTableSize; ++i) {
        sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);
      }
    }

    function getTForX(aX) {
      var intervalStart = 0.0;
      var currentSample = 1;
      var lastSample = 10;

      for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {
        intervalStart += kSampleStepSize;
      }

      --currentSample;
      var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);
      var guessForT = intervalStart + dist * kSampleStepSize;
      var initialSlope = getSlope(guessForT, mX1, mX2);

      if (initialSlope >= NEWTON_MIN_SLOPE) {
        return newtonRaphsonIterate(aX, guessForT, mX1, mX2);
      } else if (initialSlope === 0.0) {
        return guessForT;
      } else {
        return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);
      }
    }

    return function BezierEasing(x) {
      if (mX1 === mY1 && mX2 === mY2) {
        return x;
      }

      if (x === 0) {
        return 0;
      }

      if (x === 1) {
        return 1;
      }

      return calcBezier(getTForX(x), mY1, mY2);
    };
  }

  var AnimatedBezier = function (_AnimatedNode) {
    (0, _inherits2.default)(AnimatedBezier, _AnimatedNode);

    var _super = _createSuper(AnimatedBezier);

    function AnimatedBezier(value, mX1, mY1, mX2, mY2) {
      var _this;

      (0, _classCallCheck2.default)(this, AnimatedBezier);
      (0, _invariant.default)(value instanceof _AnimatedNode2.default, "Reanimated: Bezier node argument should be of type AnimatedNode but got " + value);
      _this = _super.call(this, {
        type: 'bezier',
        mX1: mX1,
        mY1: mY1,
        mX2: mX2,
        mY2: mY2,
        input: value
      }, [value]);
      _this._value = value;
      _this._bezier = bezier(mX1, mY1, mX2, mY2);
      return _this;
    }

    (0, _createClass2.default)(AnimatedBezier, [{
      key: "toString",
      value: function toString() {
        return "AnimatedBezier, id: " + this.__nodeID;
      }
    }, {
      key: "__onEvaluate",
      value: function __onEvaluate() {
        return this._bezier((0, _$$_REQUIRE(_dependencyMap[8]).val)(this._value));
      }
    }]);
    return AnimatedBezier;
  }(_AnimatedNode2.default);

  exports.default = AnimatedBezier;
},650,[5,7,8,12,14,16,651,601,652]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getCallID = getCallID;
  exports.setCallID = setCallID;
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _ReanimatedModule = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var UPDATED_NODES = [];
  var loopID = 1;
  var propUpdatesEnqueued = null;
  var nodeCount = 0;
  var callID = "";

  function getCallID() {
    return callID;
  }

  function setCallID(nextCallID) {
    callID = nextCallID;
  }

  function sanitizeConfig(config) {
    if (_reactNative.Platform.OS === 'web' || _reactNative.Platform.OS === 'windows' || _reactNative.Platform.OS === 'macos' || ['undefined', 'string', 'function', 'boolean', 'number'].includes(typeof config)) {
      return config;
    } else if (Array.isArray(config)) {
      return config.map(sanitizeConfig);
    } else if (config instanceof AnimatedNode) {
      return config.__nodeID;
    } else if (typeof config === 'object') {
      var output = {};

      for (var property in config) {
        if (property in config) {
          output[property] = sanitizeConfig(config[property]);
        }
      }

      return output;
    }

    return config;
  }

  function runPropUpdates() {
    var visitedNodes = new Set();

    var findAndUpdateNodes = function findAndUpdateNodes(node) {
      if (!node) {
        console.warn('findAndUpdateNodes was passed a nullish node');
        return;
      }

      if (visitedNodes.has(node)) {
        return;
      } else {
        visitedNodes.add(node);
      }

      if (typeof node.update === 'function') {
        node.update();
      } else {
        var nodes = node.__getChildren();

        if (nodes) {
          for (var i = 0, l = nodes.length; i < l; i++) {
            findAndUpdateNodes(nodes[i]);
          }
        }
      }
    };

    for (var i = 0; i < UPDATED_NODES.length; i++) {
      var node = UPDATED_NODES[i];
      findAndUpdateNodes(node);
    }

    UPDATED_NODES.length = 0;
    propUpdatesEnqueued = null;
    loopID += 1;
  }

  var scheduleUpdates = _reactNative.Platform.OS === 'web' ? requestAnimationFrame : setImmediate;

  var AnimatedNode = function () {
    function AnimatedNode(nodeConfig, inputNodes) {
      (0, _classCallCheck2.default)(this, AnimatedNode);
      this.__lastLoopID = {
        "": -1
      };
      this.__memoizedValue = {
        "": null
      };
      this.__children = [];
      this.__nodeID = ++nodeCount;
      this.__nodeConfig = sanitizeConfig(nodeConfig);
      this.__initialized = false;
      this.__inputNodes = inputNodes && inputNodes.filter(function (node) {
        return node instanceof AnimatedNode;
      });
    }

    (0, _createClass2.default)(AnimatedNode, [{
      key: "toString",
      value: function toString() {
        return "AnimatedNode, id: " + this.__nodeID;
      }
    }, {
      key: "__attach",
      value: function __attach() {
        this.__nativeInitialize();

        var nodes = this.__inputNodes;

        if (nodes) {
          for (var i = 0, l = nodes.length; i < l; i++) {
            nodes[i].__addChild(this);
          }
        }
      }
    }, {
      key: "__detach",
      value: function __detach() {
        var nodes = this.__inputNodes;

        if (nodes) {
          for (var i = 0, l = nodes.length; i < l; i++) {
            nodes[i].__removeChild(this);
          }
        }

        this.__nativeTearDown();
      }
    }, {
      key: "__getValue",
      value: function __getValue() {
        if (!(callID in this.__lastLoopID) || this.__lastLoopID[callID] < loopID) {
          this.__lastLoopID[callID] = loopID;

          var result = this.__onEvaluate();

          this.__memoizedValue[callID] = result;
          return result;
        }

        return this.__memoizedValue[callID];
      }
    }, {
      key: "__forceUpdateCache",
      value: function __forceUpdateCache(newValue) {
        this.__memoizedValue[callID] = newValue;

        this.__markUpdated();
      }
    }, {
      key: "__dangerouslyRescheduleEvaluate",
      value: function __dangerouslyRescheduleEvaluate() {
        this.__lastLoopID[callID] = -1;

        this.__markUpdated();
      }
    }, {
      key: "__markUpdated",
      value: function __markUpdated() {
        UPDATED_NODES.push(this);

        if (!propUpdatesEnqueued) {
          propUpdatesEnqueued = scheduleUpdates(runPropUpdates);
        }
      }
    }, {
      key: "__nativeInitialize",
      value: function __nativeInitialize() {
        if (!this.__initialized) {
          _ReanimatedModule.default.createNode(this.__nodeID, (0, _extends2.default)({}, this.__nodeConfig));

          this.__initialized = true;
        }
      }
    }, {
      key: "__nativeTearDown",
      value: function __nativeTearDown() {
        if (this.__initialized) {
          _ReanimatedModule.default.dropNode(this.__nodeID);

          this.__initialized = false;
        }
      }
    }, {
      key: "isNativelyInitialized",
      value: function isNativelyInitialized() {
        return this.__initialized;
      }
    }, {
      key: "__onEvaluate",
      value: function __onEvaluate() {
        throw new Error('Missing implementation of onEvaluate');
      }
    }, {
      key: "__getProps",
      value: function __getProps() {
        return this.__getValue();
      }
    }, {
      key: "__getChildren",
      value: function __getChildren() {
        return this.__children;
      }
    }, {
      key: "__addChild",
      value: function __addChild(child) {
        if (this.__children.length === 0) {
          this.__attach();
        }

        this.__children.push(child);

        child.__nativeInitialize();

        if (_ReanimatedModule.default.connectNodes) {
          _ReanimatedModule.default.connectNodes(this.__nodeID, child.__nodeID);
        } else {
          child.__dangerouslyRescheduleEvaluate();
        }
      }
    }, {
      key: "__removeChild",
      value: function __removeChild(child) {
        var index = this.__children.indexOf(child);

        if (index === -1) {
          console.warn("Trying to remove a child that doesn't exist");
          return;
        }

        if (_ReanimatedModule.default.disconnectNodes) {
          _ReanimatedModule.default.disconnectNodes(this.__nodeID, child.__nodeID);
        }

        this.__children.splice(index, 1);

        if (this.__children.length === 0) {
          this.__detach();
        }
      }
    }, {
      key: "_connectAnimatedView",
      value: function _connectAnimatedView(nativeViewTag) {
        if (_ReanimatedModule.default.connectNodeToView) {
          _ReanimatedModule.default.connectNodeToView(this.__nodeID, nativeViewTag);
        } else {
          this.__dangerouslyRescheduleEvaluate();
        }
      }
    }, {
      key: "_disconnectAnimatedView",
      value: function _disconnectAnimatedView(nativeViewTag) {
        _ReanimatedModule.default.disconnectNodeFromView(this.__nodeID, nativeViewTag);
      }
    }]);
    return AnimatedNode;
  }();

  exports.default = AnimatedNode;
},651,[5,6,7,8,648,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.val = val;

  function val(v) {
    return v && v.__getValue ? v.__getValue() : v || 0;
  }
},652,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  var _exportNames = {
    cond: true,
    set: true,
    startClock: true,
    stopClock: true,
    clockRunning: true,
    debug: true,
    call: true,
    event: true,
    always: true,
    concat: true,
    block: true,
    adapt: true,
    proc: true
  };
  Object.defineProperty(exports, "cond", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).createAnimatedCond;
    }
  });
  Object.defineProperty(exports, "set", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[1]).createAnimatedSet;
    }
  });
  Object.defineProperty(exports, "startClock", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[2]).createAnimatedStartClock;
    }
  });
  Object.defineProperty(exports, "stopClock", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).createAnimatedStopClock;
    }
  });
  Object.defineProperty(exports, "clockRunning", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[4]).createAnimatedClockTest;
    }
  });
  Object.defineProperty(exports, "debug", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[5]).createAnimatedDebug;
    }
  });
  Object.defineProperty(exports, "call", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[6]).createAnimatedCall;
    }
  });
  Object.defineProperty(exports, "event", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[7]).createAnimatedEvent;
    }
  });
  Object.defineProperty(exports, "always", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[8]).createAnimatedAlways;
    }
  });
  Object.defineProperty(exports, "concat", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[9]).createAnimatedConcat;
    }
  });
  Object.defineProperty(exports, "block", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[10]).createAnimatedBlock;
    }
  });
  Object.defineProperty(exports, "adapt", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[10]).adapt;
    }
  });
  Object.defineProperty(exports, "proc", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[11]).createAnimatedFunction;
    }
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[12])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[12])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[12])[key];
      }
    });
  });
},653,[654,657,658,661,662,663,664,666,674,676,655,669,671]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createAnimatedCond = createAnimatedCond;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _AnimatedNode2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedCond = function (_AnimatedNode) {
    (0, _inherits2.default)(AnimatedCond, _AnimatedNode);

    var _super = _createSuper(AnimatedCond);

    function AnimatedCond(condition, ifBlock, elseBlock) {
      var _this;

      (0, _classCallCheck2.default)(this, AnimatedCond);
      (0, _invariant.default)(condition instanceof _AnimatedNode2.default, "Reanimated: Animated.cond node first argument should be of type AnimatedNode but got " + condition);
      (0, _invariant.default)(ifBlock instanceof _AnimatedNode2.default, "Reanimated: Animated.cond node second argument should be of type AnimatedNode but got " + ifBlock);
      (0, _invariant.default)(elseBlock instanceof _AnimatedNode2.default || elseBlock === undefined, "Reanimated: Animated.cond node third argument should be of type AnimatedNode or should be undefined but got " + elseBlock);
      _this = _super.call(this, {
        type: 'cond',
        cond: condition,
        ifBlock: ifBlock,
        elseBlock: elseBlock
      }, [condition, ifBlock, elseBlock]);
      _this._condition = condition;
      _this._ifBlock = ifBlock;
      _this._elseBlock = elseBlock;
      return _this;
    }

    (0, _createClass2.default)(AnimatedCond, [{
      key: "toString",
      value: function toString() {
        return "AnimatedCond, id: " + this.__nodeID;
      }
    }, {
      key: "__onEvaluate",
      value: function __onEvaluate() {
        if ((0, _$$_REQUIRE(_dependencyMap[8]).val)(this._condition)) {
          return (0, _$$_REQUIRE(_dependencyMap[8]).val)(this._ifBlock);
        } else {
          return this._elseBlock !== undefined ? (0, _$$_REQUIRE(_dependencyMap[8]).val)(this._elseBlock) : undefined;
        }
      }
    }]);
    return AnimatedCond;
  }(_AnimatedNode2.default);

  function createAnimatedCond(cond, ifBlock, elseBlock) {
    return new AnimatedCond((0, _$$_REQUIRE(_dependencyMap[9]).adapt)(cond), (0, _$$_REQUIRE(_dependencyMap[9]).adapt)(ifBlock), elseBlock === undefined ? undefined : (0, _$$_REQUIRE(_dependencyMap[9]).adapt)(elseBlock));
  }
},654,[5,7,8,12,14,16,601,651,652,655]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createAnimatedBlock = createAnimatedBlock;
  exports.adapt = adapt;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _AnimatedNode2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _InternalAnimatedValue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedBlock = function (_AnimatedNode) {
    (0, _inherits2.default)(AnimatedBlock, _AnimatedNode);

    var _super = _createSuper(AnimatedBlock);

    function AnimatedBlock(array) {
      var _this;

      (0, _classCallCheck2.default)(this, AnimatedBlock);
      (0, _invariant.default)(array.every(function (el) {
        return el instanceof _AnimatedNode2.default;
      }), "Reanimated: Animated.block node argument should be an array with elements of type AnimatedNode. One or more of them are not AnimatedNodes");
      _this = _super.call(this, {
        type: 'block',
        block: array
      }, array);
      _this._array = array;
      return _this;
    }

    (0, _createClass2.default)(AnimatedBlock, [{
      key: "toString",
      value: function toString() {
        return "AnimatedBlock, id: " + this.__nodeID;
      }
    }, {
      key: "__onEvaluate",
      value: function __onEvaluate() {
        var result;

        this._array.forEach(function (node) {
          result = (0, _$$_REQUIRE(_dependencyMap[9]).val)(node);
        });

        return result;
      }
    }]);
    return AnimatedBlock;
  }(_AnimatedNode2.default);

  function createAnimatedBlock(items) {
    return adapt(items);
  }

  function nodify(v) {
    if (typeof v === 'object' && v != null && v.__isProxy) {
      if (!v.__val) {
        v.__val = new _InternalAnimatedValue.default(0);
      }

      return v.__val;
    }

    return v instanceof _AnimatedNode2.default ? v : _InternalAnimatedValue.default.valueForConstant(v);
  }

  function adapt(v) {
    return Array.isArray(v) ? new AnimatedBlock(v.map(function (node) {
      return adapt(node);
    })) : nodify(v);
  }
},655,[5,7,8,12,14,16,601,651,656,652]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _AnimatedNode2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _ReanimatedModule = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  function sanitizeValue(value) {
    return value === null || value === undefined || typeof value === 'string' ? value : Number(value);
  }

  var CONSTANT_VALUES = new Map();

  function initializeConstantValues() {
    if (CONSTANT_VALUES.size !== 0) {
      return;
    }

    [0, -1, 1, -2, 2].forEach(function (v) {
      return CONSTANT_VALUES.set(v, new InternalAnimatedValue(v, true));
    });
  }

  var InternalAnimatedValue = function (_AnimatedNode) {
    (0, _inherits2.default)(InternalAnimatedValue, _AnimatedNode);

    var _super = _createSuper(InternalAnimatedValue);

    function InternalAnimatedValue(value) {
      var _this;

      var constant = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      (0, _classCallCheck2.default)(this, InternalAnimatedValue);
      (0, _invariant.default)(value !== null, 'Animated.Value cannot be set to the null');
      _this = _super.call(this, {
        type: 'value',
        value: sanitizeValue(value)
      });
      _this._startingValue = _this._value = value;
      _this._animation = null;
      _this._constant = constant;
      return _this;
    }

    (0, _createClass2.default)(InternalAnimatedValue, [{
      key: "__detach",
      value: function __detach() {
        var _this2 = this;

        if (!this._constant) {
          if (_ReanimatedModule.default.getValue) {
            _ReanimatedModule.default.getValue(this.__nodeID, function (val) {
              return _this2.__nodeConfig.value = val;
            });
          } else {
            this.__nodeConfig.value = this.__getValue();
          }
        }

        this.__detachAnimation(this._animation);

        (0, _get2.default)((0, _getPrototypeOf2.default)(InternalAnimatedValue.prototype), "__detach", this).call(this);
      }
    }, {
      key: "__detachAnimation",
      value: function __detachAnimation(animation) {
        animation && animation.__detach();

        if (this._animation === animation) {
          this._animation = null;
        }
      }
    }, {
      key: "__attachAnimation",
      value: function __attachAnimation(animation) {
        this.__detachAnimation(this._animation);

        this._animation = animation;
      }
    }, {
      key: "__onEvaluate",
      value: function __onEvaluate() {
        if (this.__inputNodes && this.__inputNodes.length) {
          this.__inputNodes.forEach(_$$_REQUIRE(_dependencyMap[10]).val);
        }

        return this._value;
      }
    }, {
      key: "setValue",
      value: function setValue(value) {
        this.__detachAnimation(this._animation);

        this._updateValue(value);
      }
    }, {
      key: "_updateValue",
      value: function _updateValue(value) {
        this._value = value;

        this.__forceUpdateCache(value);
      }
    }], [{
      key: "valueForConstant",
      value: function valueForConstant(number) {
        initializeConstantValues();
        return CONSTANT_VALUES.get(number) || new InternalAnimatedValue(number, true);
      }
    }]);
    return InternalAnimatedValue;
  }(_AnimatedNode2.default);

  exports.default = InternalAnimatedValue;
},656,[5,7,8,90,12,14,16,651,648,601,652]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createAnimatedSet = createAnimatedSet;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _AnimatedNode2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedSet = function (_AnimatedNode) {
    (0, _inherits2.default)(AnimatedSet, _AnimatedNode);

    var _super = _createSuper(AnimatedSet);

    function AnimatedSet(what, value) {
      var _this;

      (0, _classCallCheck2.default)(this, AnimatedSet);
      (0, _invariant.default)(what instanceof _AnimatedNode2.default, "Reanimated: Animated.set first argument should be of type AnimatedNode but got " + what);
      (0, _invariant.default)(value instanceof _AnimatedNode2.default, "Reanimated: Animated.set second argument should be of type AnimatedNode, String or Number but got " + value);
      _this = _super.call(this, {
        type: 'set',
        what: what,
        value: value
      }, [value]);
      (0, _invariant.default)(!what._constant, 'Value to be set cannot be constant');
      _this._what = what;
      _this._value = value;
      return _this;
    }

    (0, _createClass2.default)(AnimatedSet, [{
      key: "toString",
      value: function toString() {
        return "AnimatedSet, id: " + this.__nodeID;
      }
    }, {
      key: "__onEvaluate",
      value: function __onEvaluate() {
        var newValue = (0, _$$_REQUIRE(_dependencyMap[8]).val)(this._value);

        this._what.setValue(newValue);

        return newValue;
      }
    }]);
    return AnimatedSet;
  }(_AnimatedNode2.default);

  function createAnimatedSet(what, value) {
    return new AnimatedSet(what, (0, _$$_REQUIRE(_dependencyMap[9]).adapt)(value));
  }
},657,[5,7,8,12,14,16,651,601,652,655]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createAnimatedStartClock = createAnimatedStartClock;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _AnimatedNode2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _AnimatedClock = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedStartClock = function (_AnimatedNode) {
    (0, _inherits2.default)(AnimatedStartClock, _AnimatedNode);

    var _super = _createSuper(AnimatedStartClock);

    function AnimatedStartClock(clockNode) {
      var _this;

      (0, _classCallCheck2.default)(this, AnimatedStartClock);
      (0, _invariant.default)(clockNode instanceof _AnimatedClock.default || clockNode instanceof _$$_REQUIRE(_dependencyMap[9]).AnimatedParam, "Reanimated: Animated.startClock argument should be of type AnimatedClock but got " + clockNode);
      _this = _super.call(this, {
        type: 'clockStart',
        clock: clockNode
      });
      _this._clockNode = clockNode;
      return _this;
    }

    (0, _createClass2.default)(AnimatedStartClock, [{
      key: "toString",
      value: function toString() {
        return "AnimatedStartClock, id: " + this.__nodeID;
      }
    }, {
      key: "__onEvaluate",
      value: function __onEvaluate() {
        this._clockNode.start();

        return 0;
      }
    }]);
    return AnimatedStartClock;
  }(_AnimatedNode2.default);

  function createAnimatedStartClock(clock) {
    return new AnimatedStartClock(clock);
  }
},658,[5,7,8,12,14,16,651,659,601,660]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _InternalAnimatedValue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _AnimatedNode2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedMainClock = function (_InternalAnimatedValu) {
    (0, _inherits2.default)(AnimatedMainClock, _InternalAnimatedValu);

    var _super = _createSuper(AnimatedMainClock);

    function AnimatedMainClock() {
      var _this;

      (0, _classCallCheck2.default)(this, AnimatedMainClock);
      _this = _super.call(this, {
        type: 'MAIN_CLOCK'
      });

      _this._runFrame = function () {
        _this._updateValue(0);

        if (_this.__children.length > 0) {
          _this._frameCallback = requestAnimationFrame(_this._runFrame);
        }
      };

      return _this;
    }

    (0, _createClass2.default)(AnimatedMainClock, [{
      key: "__onEvaluate",
      value: function __onEvaluate() {
        return +new Date();
      }
    }, {
      key: "__attach",
      value: function __attach() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(AnimatedMainClock.prototype), "__attach", this).call(this);

        if (!this._frameCallback) {
          this._frameCallback = requestAnimationFrame(this._runFrame);
        }
      }
    }, {
      key: "__detach",
      value: function __detach() {
        if (this._frameCallback) {
          cancelAnimationFrame(this._frameCallback);
          this._frameCallback = null;
        }

        (0, _get2.default)((0, _getPrototypeOf2.default)(AnimatedMainClock.prototype), "__detach", this).call(this);
      }
    }]);
    return AnimatedMainClock;
  }(_InternalAnimatedValue.default);

  var mainClock = new AnimatedMainClock();

  var AnimatedClock = function (_AnimatedNode) {
    (0, _inherits2.default)(AnimatedClock, _AnimatedNode);

    var _super2 = _createSuper(AnimatedClock);

    function AnimatedClock() {
      (0, _classCallCheck2.default)(this, AnimatedClock);
      return _super2.call(this, {
        type: 'clock'
      });
    }

    (0, _createClass2.default)(AnimatedClock, [{
      key: "toString",
      value: function toString() {
        return "AnimatedClock, id: " + this.__nodeID;
      }
    }, {
      key: "__onEvaluate",
      value: function __onEvaluate() {
        return (0, _$$_REQUIRE(_dependencyMap[9]).val)(mainClock);
      }
    }, {
      key: "__attach",
      value: function __attach() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(AnimatedClock.prototype), "__attach", this).call(this);

        if (this._started && !this._attached) {
          mainClock.__addChild(this);
        }

        this._attached = true;
      }
    }, {
      key: "__detach",
      value: function __detach() {
        if (this._started && this._attached) {
          mainClock.__removeChild(this);
        }

        this._attached = false;
        (0, _get2.default)((0, _getPrototypeOf2.default)(AnimatedClock.prototype), "__detach", this).call(this);
      }
    }, {
      key: "start",
      value: function start() {
        if (!this._started && this._attached) {
          mainClock.__addChild(this);
        }

        this._started = true;
      }
    }, {
      key: "stop",
      value: function stop() {
        if (this._started && this._attached) {
          mainClock.__removeChild(this);
        }

        this._started = false;
      }
    }, {
      key: "isStarted",
      value: function isStarted() {
        return this._started;
      }
    }]);
    return AnimatedClock;
  }(_AnimatedNode2.default);

  exports.default = AnimatedClock;
},659,[5,7,8,90,12,14,16,656,651,652]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createAnimatedParam = createAnimatedParam;
  exports.AnimatedParam = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _AnimatedNode2 = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _AnimatedClock = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedParam = function (_AnimatedNode) {
    (0, _inherits2.default)(AnimatedParam, _AnimatedNode);

    var _super = _createSuper(AnimatedParam);

    function AnimatedParam() {
      var _this;

      (0, _classCallCheck2.default)(this, AnimatedParam);
      _this = _super.call(this, {
        type: 'param'
      }, []);
      _this.argsStack = [];

      _this.__attach();

      return _this;
    }

    (0, _createClass2.default)(AnimatedParam, [{
      key: "beginContext",
      value: function beginContext(ref, prevCallID) {
        this._prevCallID = prevCallID;
        this.argsStack.push(ref);
      }
    }, {
      key: "endContext",
      value: function endContext() {
        this.argsStack.pop();
      }
    }, {
      key: "_getTopNode",
      value: function _getTopNode() {
        if (this.argsStack.length === 0) throw new Error("param: Invocation failed because argsStack is empty");
        var top = this.argsStack[this.argsStack.length - 1];
        return top;
      }
    }, {
      key: "setValue",
      value: function setValue(value) {
        var top = this._getTopNode();

        if (top.setValue) {
          var callID = (0, _AnimatedNode2.getCallID)();
          (0, _AnimatedNode2.setCallID)(this._prevCallID);
          top.setValue(value);
          (0, _AnimatedNode2.setCallID)(callID);
        } else {
          throw new Error("param: setValue(" + value + ") failed because the top element has no known method for updating it's current value.");
        }
      }
    }, {
      key: "__onEvaluate",
      value: function __onEvaluate() {
        var callID = (0, _AnimatedNode2.getCallID)();
        (0, _AnimatedNode2.setCallID)(this._prevCallID);

        var top = this._getTopNode();

        var value = (0, _$$_REQUIRE(_dependencyMap[9]).val)(top);
        (0, _AnimatedNode2.setCallID)(callID);
        return value;
      }
    }, {
      key: "start",
      value: function start() {
        var node = this._getTopNode();

        (0, _invariant.default)(node instanceof _AnimatedClock.default || node instanceof AnimatedParam, "param: top node should be of type AnimatedClock but got " + node);
        node.start();
      }
    }, {
      key: "stop",
      value: function stop() {
        var node = this._getTopNode();

        (0, _invariant.default)(node instanceof _AnimatedClock.default || node instanceof AnimatedParam, "param: top node should be of type AnimatedClock but got " + node);
        node.stop();
      }
    }, {
      key: "isRunning",
      value: function isRunning() {
        var node = this._getTopNode();

        if (node instanceof AnimatedParam) {
          return node.isRunning();
        }

        (0, _invariant.default)(node instanceof _AnimatedClock.default, "param: top node should be of type AnimatedClock but got " + node);
        return node.isStarted();
      }
    }]);
    return AnimatedParam;
  }(_AnimatedNode2.default);

  exports.AnimatedParam = AnimatedParam;

  function createAnimatedParam() {
    return new AnimatedParam();
  }
},660,[5,7,8,12,14,16,601,651,659,652]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createAnimatedStopClock = createAnimatedStopClock;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _AnimatedNode2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _AnimatedClock = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedStopClock = function (_AnimatedNode) {
    (0, _inherits2.default)(AnimatedStopClock, _AnimatedNode);

    var _super = _createSuper(AnimatedStopClock);

    function AnimatedStopClock(clockNode) {
      var _this;

      (0, _classCallCheck2.default)(this, AnimatedStopClock);
      (0, _invariant.default)(clockNode instanceof _AnimatedClock.default || clockNode instanceof _$$_REQUIRE(_dependencyMap[9]).AnimatedParam, "Reanimated: Animated.stopClock argument should be of type AnimatedClock but got " + clockNode);
      _this = _super.call(this, {
        type: 'clockStop',
        clock: clockNode
      });
      _this._clockNode = clockNode;
      return _this;
    }

    (0, _createClass2.default)(AnimatedStopClock, [{
      key: "toString",
      value: function toString() {
        return "AnimatedStopClock, id: " + this.__nodeID;
      }
    }, {
      key: "__onEvaluate",
      value: function __onEvaluate() {
        this._clockNode.stop();

        return 0;
      }
    }]);
    return AnimatedStopClock;
  }(_AnimatedNode2.default);

  function createAnimatedStopClock(clock) {
    return new AnimatedStopClock(clock);
  }
},661,[5,7,8,12,14,16,651,659,601,660]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createAnimatedClockTest = createAnimatedClockTest;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _AnimatedNode2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedClockTest = function (_AnimatedNode) {
    (0, _inherits2.default)(AnimatedClockTest, _AnimatedNode);

    var _super = _createSuper(AnimatedClockTest);

    function AnimatedClockTest(clockNode) {
      var _this;

      (0, _classCallCheck2.default)(this, AnimatedClockTest);
      _this = _super.call(this, {
        type: 'clockTest',
        clock: clockNode
      });
      _this._clockNode = clockNode;
      return _this;
    }

    (0, _createClass2.default)(AnimatedClockTest, [{
      key: "toString",
      value: function toString() {
        return "AnimatedClockTest, id: " + this.__nodeID;
      }
    }, {
      key: "__onEvaluate",
      value: function __onEvaluate() {
        return this._clockNode.isStarted() ? 1 : 0;
      }
    }]);
    return AnimatedClockTest;
  }(_AnimatedNode2.default);

  function createAnimatedClockTest(clock) {
    return new AnimatedClockTest(clock);
  }
},662,[5,7,8,12,14,16,651]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createAnimatedDebug = createAnimatedDebug;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _AnimatedNode2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedDebug = function (_AnimatedNode) {
    (0, _inherits2.default)(AnimatedDebug, _AnimatedNode);

    var _super = _createSuper(AnimatedDebug);

    function AnimatedDebug(message, value) {
      var _this;

      (0, _classCallCheck2.default)(this, AnimatedDebug);
      (0, _invariant.default)(typeof message === 'string', "Reanimated: Animated.debug node first argument should be of type string but got " + message);
      (0, _invariant.default)(value instanceof _AnimatedNode2.default, "Reanimated: Animated.debug node second argument should be of type AnimatedNode but got " + value);
      _this = _super.call(this, {
        type: 'debug',
        message: message,
        value: value
      }, [value]);
      _this._message = message;
      _this._value = value;
      return _this;
    }

    (0, _createClass2.default)(AnimatedDebug, [{
      key: "toString",
      value: function toString() {
        return "AnimatedDebug, id: " + this.__nodeID;
      }
    }, {
      key: "__onEvaluate",
      value: function __onEvaluate() {
        var value = (0, _$$_REQUIRE(_dependencyMap[10]).val)(this._value);
        return value;
      }
    }]);
    return AnimatedDebug;
  }(_AnimatedNode2.default);

  function createAnimatedDebug(message, value) {
    return value;
  }
},663,[5,41,7,8,12,14,16,601,28,651,652]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createAnimatedCall = createAnimatedCall;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _ReanimatedEventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _AnimatedNode2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NODE_MAPPING = new Map();

  function listener(data) {
    var node = NODE_MAPPING.get(data.id);
    node && node._callback(data.args);
  }

  var AnimatedCall = function (_AnimatedNode) {
    (0, _inherits2.default)(AnimatedCall, _AnimatedNode);

    var _super = _createSuper(AnimatedCall);

    function AnimatedCall(args, jsFunction) {
      var _this;

      (0, _classCallCheck2.default)(this, AnimatedCall);
      (0, _invariant.default)(args.every(function (el) {
        return el instanceof _AnimatedNode2.default;
      }), "Reanimated: Animated.call node args should be an array with elements of type AnimatedNode. One or more of them are not AnimatedNodes");
      _this = _super.call(this, {
        type: 'call',
        input: args
      }, args);
      _this._callback = jsFunction;
      _this._args = args;
      return _this;
    }

    (0, _createClass2.default)(AnimatedCall, [{
      key: "toString",
      value: function toString() {
        return "AnimatedCall, id: " + this.__nodeID;
      }
    }, {
      key: "__attach",
      value: function __attach() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(AnimatedCall.prototype), "__attach", this).call(this);
        NODE_MAPPING.set(this.__nodeID, this);

        if (NODE_MAPPING.size === 1) {
          _ReanimatedEventEmitter.default.addListener('onReanimatedCall', listener);
        }
      }
    }, {
      key: "__detach",
      value: function __detach() {
        NODE_MAPPING.delete(this.__nodeID);

        if (NODE_MAPPING.size === 0) {
          _ReanimatedEventEmitter.default.removeAllListeners('onReanimatedCall');
        }

        (0, _get2.default)((0, _getPrototypeOf2.default)(AnimatedCall.prototype), "__detach", this).call(this);
      }
    }, {
      key: "__onEvaluate",
      value: function __onEvaluate() {
        this._callback(this._args.map(_$$_REQUIRE(_dependencyMap[10]).val));

        return 0;
      }
    }]);
    return AnimatedCall;
  }(_AnimatedNode2.default);

  function createAnimatedCall(args, func) {
    return new AnimatedCall(args, func);
  }
},664,[5,7,8,90,12,14,16,601,665,651,652]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _ReanimatedModule = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var _default = new _reactNative.NativeEventEmitter(_ReanimatedModule.default);

  exports.default = _default;
},665,[5,648,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createAnimatedEvent = createAnimatedEvent;
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  var _ReanimatedModule = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _AnimatedNode2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _AnimatedValue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _createEventObjectProxyPolyfill = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  function sanitizeArgMapping(argMapping) {
    var eventMappings = [];
    var alwaysNodes = [];

    var getNode = function getNode(node) {
      if (_reactNative.Platform.OS === 'web' || _reactNative.Platform.OS === 'windows' || _reactNative.Platform.OS === 'macos') {
        return node;
      }

      return node.__nodeID;
    };

    var traverse = function traverse(value, path) {
      if (value instanceof _AnimatedValue.default) {
        eventMappings.push(path.concat(getNode(value)));
      } else if (typeof value === 'object' && value.__val) {
        eventMappings.push(path.concat(getNode(value.__val)));
      } else if (typeof value === 'function') {
        var node = new _AnimatedValue.default(0);
        alwaysNodes.push((0, _$$_REQUIRE(_dependencyMap[12]).createAnimatedAlways)(value(node)));
        eventMappings.push(path.concat(getNode(node)));
      } else if (typeof value === 'object') {
        for (var key in value) {
          traverse(value[key], path.concat(key));
        }
      }
    };

    (0, _invariant.default)(argMapping[0] && argMapping[0].nativeEvent, 'Native driven events only support animated values contained inside `nativeEvent`.');
    var ev = argMapping[0].nativeEvent;

    if (typeof ev === 'object') {
      traverse(ev, []);
    } else if (typeof ev === 'function') {
      var proxyHandler = {
        get: function get(target, name) {
          if (name === '__isProxy') {
            return true;
          }

          if (!target[name] && name !== '__val') {
            target[name] = new Proxy({}, proxyHandler);
          }

          return target[name];
        },
        set: function set(target, prop, value) {
          if (prop === '__val') {
            target[prop] = value;
            return true;
          }

          return false;
        }
      };
      var proxy = typeof Proxy === 'function' ? new Proxy({}, proxyHandler) : (0, _createEventObjectProxyPolyfill.default)();
      alwaysNodes.push((0, _$$_REQUIRE(_dependencyMap[12]).createAnimatedAlways)(ev(proxy)));
      traverse(proxy, []);
    }

    return {
      eventMappings: eventMappings,
      alwaysNodes: alwaysNodes
    };
  }

  var AnimatedEvent = function (_AnimatedNode) {
    (0, _inherits2.default)(AnimatedEvent, _AnimatedNode);

    var _super = _createSuper(AnimatedEvent);

    function AnimatedEvent(argMapping) {
      var _this;

      var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
      (0, _classCallCheck2.default)(this, AnimatedEvent);

      var _sanitizeArgMapping = sanitizeArgMapping(argMapping),
          eventMappings = _sanitizeArgMapping.eventMappings,
          alwaysNodes = _sanitizeArgMapping.alwaysNodes;

      _this = _super.call(this, {
        type: 'event',
        argMapping: eventMappings
      });
      _this.__isNative = true;
      _this._alwaysNodes = alwaysNodes;
      return _this;
    }

    (0, _createClass2.default)(AnimatedEvent, [{
      key: "toString",
      value: function toString() {
        return "AnimatedEvent, id: " + this.__nodeID;
      }
    }, {
      key: "attachEvent",
      value: function attachEvent(viewRef, eventName) {
        for (var i = 0; i < this._alwaysNodes.length; i++) {
          this._alwaysNodes[i].__attach();
        }

        this.__attach();

        var viewTag = (0, _reactNative.findNodeHandle)(viewRef);

        _ReanimatedModule.default.attachEvent(viewTag, eventName, this.__nodeID);
      }
    }, {
      key: "__onEvaluate",
      value: function __onEvaluate() {
        return 0;
      }
    }, {
      key: "detachEvent",
      value: function detachEvent(viewRef, eventName) {
        for (var i = 0; i < this._alwaysNodes.length; i++) {
          this._alwaysNodes[i].isNativelyInitialized() && this._alwaysNodes[i].__detach();
        }

        var viewTag = (0, _reactNative.findNodeHandle)(viewRef);

        _ReanimatedModule.default.detachEvent(viewTag, eventName, this.__nodeID);

        this.__detach();
      }
    }]);
    return AnimatedEvent;
  }(_AnimatedNode2.default);

  exports.default = AnimatedEvent;

  function createAnimatedEvent(argMapping, config) {
    return new AnimatedEvent(argMapping, config);
  }
},666,[5,7,8,12,14,16,28,648,651,667,601,675,674]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _interpolate2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _InternalAnimatedValue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _ReanimatedModule = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedValue = function (_InternalAnimatedValu) {
    (0, _inherits2.default)(AnimatedValue, _InternalAnimatedValu);

    var _super = _createSuper(AnimatedValue);

    function AnimatedValue() {
      (0, _classCallCheck2.default)(this, AnimatedValue);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(AnimatedValue, [{
      key: "setValue",
      value: function setValue(value) {
        this.__detachAnimation(this._animation);

        if (_reactNative.Platform.OS === 'web' || _reactNative.Platform.OS === 'windows' || _reactNative.Platform.OS === 'macos') {
          this._updateValue((0, _$$_REQUIRE(_dependencyMap[10]).val)(value));
        } else {
          if (_ReanimatedModule.default.setValue && typeof value === 'number') {
            _ReanimatedModule.default.setValue(this.__nodeID, value);
          } else {
            (0, _$$_REQUIRE(_dependencyMap[11]).evaluateOnce)((0, _$$_REQUIRE(_dependencyMap[12]).createAnimatedSet)(this, value), this);
          }
        }
      }
    }, {
      key: "toString",
      value: function toString() {
        return "AnimatedValue, id: " + this.__nodeID;
      }
    }, {
      key: "interpolate",
      value: function interpolate(config) {
        return (0, _interpolate2.default)(this, config);
      }
    }]);
    return AnimatedValue;
  }(_InternalAnimatedValue.default);

  exports.default = AnimatedValue;
},667,[5,7,8,12,14,16,668,656,28,648,652,673,657]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = interpolate;
  exports.Extrapolate = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _AnimatedNode = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

  var interpolateInternalSingleProc = (0, _$$_REQUIRE(_dependencyMap[4]).createAnimatedFunction)(function (value, inS, inE, outS, outE) {
    var progress = (0, _$$_REQUIRE(_dependencyMap[5]).divide)((0, _$$_REQUIRE(_dependencyMap[5]).sub)(value, inS), (0, _$$_REQUIRE(_dependencyMap[5]).sub)(inE, inS));
    var resultForNonZeroRange = (0, _$$_REQUIRE(_dependencyMap[5]).add)(outS, (0, _$$_REQUIRE(_dependencyMap[5]).multiply)(progress, (0, _$$_REQUIRE(_dependencyMap[5]).sub)(outE, outS)));
    var result = (0, _$$_REQUIRE(_dependencyMap[6]).createAnimatedCond)((0, _$$_REQUIRE(_dependencyMap[5]).eq)(inS, inE), (0, _$$_REQUIRE(_dependencyMap[6]).createAnimatedCond)((0, _$$_REQUIRE(_dependencyMap[5]).lessOrEq)(value, inS), outS, outE), resultForNonZeroRange);
    return result;
  });

  function interpolateInternalSingle(value, inputRange, outputRange, offset) {
    var inS = inputRange[offset];
    var inE = inputRange[offset + 1];
    var outS = outputRange[offset];
    var outE = outputRange[offset + 1];
    return interpolateInternalSingleProc(value, inS, inE, outS, outE);
  }

  function interpolateInternal(value, inputRange, outputRange) {
    var offset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;

    if (inputRange.length - offset === 2) {
      return interpolateInternalSingle(value, inputRange, outputRange, offset);
    }

    return (0, _$$_REQUIRE(_dependencyMap[6]).createAnimatedCond)((0, _$$_REQUIRE(_dependencyMap[5]).lessThan)(value, inputRange[offset + 1]), interpolateInternalSingle(value, inputRange, outputRange, offset), interpolateInternal(value, inputRange, outputRange, offset + 1));
  }

  var Extrapolate = {
    EXTEND: 'extend',
    CLAMP: 'clamp',
    IDENTITY: 'identity'
  };
  exports.Extrapolate = Extrapolate;

  function checkNonDecreasing(name, arr) {
    for (var i = 1; i < arr.length; ++i) {
      if (arr[i] instanceof _AnimatedNode.default || arr[i - 1] instanceof _AnimatedNode.default) continue;
      (0, _invariant.default)(arr[i] >= arr[i - 1], '%s must be monotonically non-decreasing. (%s)', name, arr);
    }
  }

  function checkMinElements(name, arr) {
    (0, _invariant.default)(arr.length >= 2, '%s must have at least 2 elements. (%s)', name, arr);
  }

  function checkValidNumbers(name, arr) {
    for (var i = 0; i < arr.length; i++) {
      if (arr[i] instanceof _AnimatedNode.default || typeof arr[i] !== 'number') continue;
      (0, _invariant.default)(Number.isFinite(arr[i]), '%s cannot include %s. (%s)', name, arr[i], arr);
    }
  }

  function convertToRadians(outputRange) {
    for (var _iterator = _createForOfIteratorHelperLoose(outputRange.entries()), _step; !(_step = _iterator()).done;) {
      var _ref = _step.value;

      var _ref2 = (0, _slicedToArray2.default)(_ref, 2);

      var i = _ref2[0];
      var value = _ref2[1];

      if (typeof value === 'string' && value.endsWith('deg')) {
        outputRange[i] = parseFloat(value) * (Math.PI / 180);
      } else if (typeof value === 'string' && value.endsWith('rad')) {
        outputRange[i] = parseFloat(value);
      }
    }
  }

  function interpolate(value, config) {
    var inputRange = config.inputRange,
        outputRange = config.outputRange,
        _config$extrapolate = config.extrapolate,
        extrapolate = _config$extrapolate === undefined ? Extrapolate.EXTEND : _config$extrapolate,
        extrapolateLeft = config.extrapolateLeft,
        extrapolateRight = config.extrapolateRight;
    checkMinElements('inputRange', inputRange);
    checkValidNumbers('inputRange', inputRange);
    checkMinElements('outputRange', outputRange);
    checkValidNumbers('outputRange', outputRange);
    checkNonDecreasing('inputRange', inputRange);
    (0, _invariant.default)(inputRange.length === outputRange.length, 'inputRange and outputRange must be the same length.');
    convertToRadians(outputRange);
    var left = extrapolateLeft || extrapolate;
    var right = extrapolateRight || extrapolate;
    var output = interpolateInternal(value, inputRange, outputRange);

    if (left === Extrapolate.EXTEND) {} else if (left === Extrapolate.CLAMP) {
      output = (0, _$$_REQUIRE(_dependencyMap[6]).createAnimatedCond)((0, _$$_REQUIRE(_dependencyMap[5]).lessThan)(value, inputRange[0]), outputRange[0], output);
    } else if (left === Extrapolate.IDENTITY) {
      output = (0, _$$_REQUIRE(_dependencyMap[6]).createAnimatedCond)((0, _$$_REQUIRE(_dependencyMap[5]).lessThan)(value, inputRange[0]), value, output);
    }

    if (right === Extrapolate.EXTEND) {} else if (right === Extrapolate.CLAMP) {
      output = (0, _$$_REQUIRE(_dependencyMap[6]).createAnimatedCond)((0, _$$_REQUIRE(_dependencyMap[5]).greaterThan)(value, inputRange[inputRange.length - 1]), outputRange[outputRange.length - 1], output);
    } else if (right === Extrapolate.IDENTITY) {
      output = (0, _$$_REQUIRE(_dependencyMap[6]).createAnimatedCond)((0, _$$_REQUIRE(_dependencyMap[5]).greaterThan)(value, inputRange[inputRange.length - 1]), value, output);
    }

    return output;
  }
},668,[5,41,601,651,669,671,654]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createAnimatedFunction = createAnimatedFunction;

  var _construct2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _AnimatedNode2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedFunction = function (_AnimatedNode) {
    (0, _inherits2.default)(AnimatedFunction, _AnimatedNode);

    var _super = _createSuper(AnimatedFunction);

    function AnimatedFunction(what) {
      var _this;

      (0, _classCallCheck2.default)(this, AnimatedFunction);
      (0, _invariant.default)(what instanceof _AnimatedNode2.default, "Reanimated: AnimatedCallFunc 'what' argument should be of type AnimatedNode but got " + what);

      for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
        params[_key - 1] = arguments[_key];
      }

      _this = _super.call(this, {
        type: 'func',
        what: what
      }, [what].concat(params));
      _this._what = what;

      _this.__attach();

      return _this;
    }

    (0, _createClass2.default)(AnimatedFunction, [{
      key: "__onEvaluate",
      value: function __onEvaluate() {
        return (0, _$$_REQUIRE(_dependencyMap[9]).val)(this._what);
      }
    }, {
      key: "toString",
      value: function toString() {
        return "AnimatedFunction, id: " + this.__nodeID;
      }
    }]);
    return AnimatedFunction;
  }(_AnimatedNode2.default);

  function createAnimatedFunction(cb) {
    var params = new Array(cb.length);

    for (var i = 0; i < params.length; i++) {
      params[i] = (0, _$$_REQUIRE(_dependencyMap[10]).createAnimatedParam)();
    }

    var what = cb.apply(undefined, params);
    var func = (0, _construct2.default)(AnimatedFunction, [what].concat(params));
    return function () {
      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
        args[_key2] = arguments[_key2];
      }

      if (args.length !== params.length) {
        throw new Error('Parameter mismatch when calling reanimated function. Expected ' + params.length + ' parameters, got ' + args.length + '.');
      }

      return (0, _$$_REQUIRE(_dependencyMap[11]).createAnimatedCallFunc)(func, args, params);
    };
  }
},669,[5,65,7,8,12,14,16,651,601,652,660,670]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createAnimatedCallFunc = createAnimatedCallFunc;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _AnimatedNode2 = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedCallFunc = function (_AnimatedNode) {
    (0, _inherits2.default)(AnimatedCallFunc, _AnimatedNode);

    var _super = _createSuper(AnimatedCallFunc);

    function AnimatedCallFunc(what, args, params) {
      var _this;

      (0, _classCallCheck2.default)(this, AnimatedCallFunc);
      (0, _invariant.default)(what instanceof _AnimatedNode2.default, "Reanimated: AnimatedCallFunc 'what' argument should be of type AnimatedNode but got " + what);
      (0, _invariant.default)(args.every(function (el) {
        return el instanceof _AnimatedNode2.default;
      }), "Reanimated: every AnimatedCallFunc 'args' argument should be of type AnimatedNode but got " + args);
      (0, _invariant.default)(params.every(function (el) {
        return el instanceof _AnimatedNode2.default;
      }), "Reanimated: every AnimatedCallFunc 'params' argument should be of type AnimatedNode but got " + params);
      _this = _super.call(this, {
        type: 'callfunc',
        what: what,
        args: args,
        params: params
      }, (0, _toConsumableArray2.default)(args));
      _this._what = what;
      _this._args = args;
      _this._params = params;
      return _this;
    }

    (0, _createClass2.default)(AnimatedCallFunc, [{
      key: "toString",
      value: function toString() {
        return "AnimatedCallFunc, id: " + this.__nodeID;
      }
    }, {
      key: "beginContext",
      value: function beginContext() {
        var _this2 = this;

        this._previousCallID = (0, _AnimatedNode2.getCallID)();
        (0, _AnimatedNode2.setCallID)((0, _AnimatedNode2.getCallID)() + '/' + this.__nodeID);

        this._params.forEach(function (param, index) {
          param.beginContext(_this2._args[index], _this2._previousCallID);
        });
      }
    }, {
      key: "endContext",
      value: function endContext() {
        this._params.forEach(function (param, index) {
          param.endContext();
        });

        (0, _AnimatedNode2.setCallID)(this._previousCallID);
      }
    }, {
      key: "__onEvaluate",
      value: function __onEvaluate() {
        this.beginContext();
        var value = (0, _$$_REQUIRE(_dependencyMap[9]).val)(this._what);
        this.endContext();
        return value;
      }
    }]);
    return AnimatedCallFunc;
  }(_AnimatedNode2.default);

  function createAnimatedCallFunc(proc, args, params) {
    return new AnimatedCallFunc(proc, args.map(function (p) {
      return (0, _$$_REQUIRE(_dependencyMap[10]).adapt)(p);
    }), params);
  }
},670,[5,21,7,8,12,14,16,651,601,652,655]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.min = exports.max = exports.floor = exports.ceil = exports.abs = exports.atan = exports.asin = exports.acos = exports.tan = exports.not = exports.defined = exports.or = exports.and = exports.neq = exports.greaterOrEq = exports.lessOrEq = exports.greaterThan = exports.eq = exports.lessThan = exports.round = exports.exp = exports.cos = exports.sin = exports.log = exports.sqrt = exports.modulo = exports.pow = exports.divide = exports.multiply = exports.sub = exports.add = undefined;

  var add = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('add');

  exports.add = add;

  var sub = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('sub');

  exports.sub = sub;

  var multiply = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('multiply');

  exports.multiply = multiply;

  var divide = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('divide');

  exports.divide = divide;

  var pow = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('pow');

  exports.pow = pow;

  var modulo = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('modulo');

  exports.modulo = modulo;

  var sqrt = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('sqrt');

  exports.sqrt = sqrt;

  var log = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('log');

  exports.log = log;

  var sin = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('sin');

  exports.sin = sin;

  var cos = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('cos');

  exports.cos = cos;

  var exp = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('exp');

  exports.exp = exp;

  var round = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('round');

  exports.round = round;

  var lessThan = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('lessThan');

  exports.lessThan = lessThan;

  var eq = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('eq');

  exports.eq = eq;

  var greaterThan = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('greaterThan');

  exports.greaterThan = greaterThan;

  var lessOrEq = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('lessOrEq');

  exports.lessOrEq = lessOrEq;

  var greaterOrEq = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('greaterOrEq');

  exports.greaterOrEq = greaterOrEq;

  var neq = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('neq');

  exports.neq = neq;

  var and = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('and');

  exports.and = and;

  var or = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('or');

  exports.or = or;

  var defined = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('defined');

  exports.defined = defined;

  var not = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('not');

  exports.not = not;

  var tan = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('tan');

  exports.tan = tan;

  var acos = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('acos');

  exports.acos = acos;

  var asin = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('asin');

  exports.asin = asin;

  var atan = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('atan');

  exports.atan = atan;

  var abs = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('abs');

  exports.abs = abs;

  var ceil = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('ceil');

  exports.ceil = ceil;

  var floor = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('floor');

  exports.floor = floor;

  var max = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('max');

  exports.max = max;

  var min = _$$_REQUIRE(_dependencyMap[0]).createAnimatedOperator('min');

  exports.min = min;
},671,[672]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createAnimatedOperator = createAnimatedOperator;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _AnimatedNode2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  function reduce(fn) {
    return function (input) {
      return input.reduce(function (a, b) {
        return fn((0, _$$_REQUIRE(_dependencyMap[8]).val)(a), (0, _$$_REQUIRE(_dependencyMap[8]).val)(b));
      });
    };
  }

  function reduceFrom(fn, initialValue) {
    return function (input) {
      return input.reduce(function (a, b) {
        return fn((0, _$$_REQUIRE(_dependencyMap[8]).val)(a), (0, _$$_REQUIRE(_dependencyMap[8]).val)(b));
      }, initialValue);
    };
  }

  function infix(fn) {
    return function (input) {
      return fn((0, _$$_REQUIRE(_dependencyMap[8]).val)(input[0]), (0, _$$_REQUIRE(_dependencyMap[8]).val)(input[1]));
    };
  }

  function single(fn) {
    return function (input) {
      return fn((0, _$$_REQUIRE(_dependencyMap[8]).val)(input[0]));
    };
  }

  var OPERATIONS = {
    add: reduce(function (a, b) {
      return a + b;
    }),
    sub: reduce(function (a, b) {
      return a - b;
    }),
    multiply: reduce(function (a, b) {
      return a * b;
    }),
    divide: reduce(function (a, b) {
      return a / b;
    }),
    pow: reduce(function (a, b) {
      return Math.pow(a, b);
    }),
    modulo: reduce(function (a, b) {
      return (a % b + b) % b;
    }),
    sqrt: single(function (a) {
      return Math.sqrt(a);
    }),
    log: single(function (a) {
      return Math.log(a);
    }),
    sin: single(function (a) {
      return Math.sin(a);
    }),
    cos: single(function (a) {
      return Math.cos(a);
    }),
    tan: single(function (a) {
      return Math.tan(a);
    }),
    acos: single(function (a) {
      return Math.acos(a);
    }),
    asin: single(function (a) {
      return Math.asin(a);
    }),
    atan: single(function (a) {
      return Math.atan(a);
    }),
    exp: single(function (a) {
      return Math.exp(a);
    }),
    round: single(function (a) {
      return Math.round(a);
    }),
    abs: single(function (a) {
      return Math.abs(a);
    }),
    ceil: single(function (a) {
      return Math.ceil(a);
    }),
    floor: single(function (a) {
      return Math.floor(a);
    }),
    max: reduce(function (a, b) {
      return Math.max(a, b);
    }),
    min: reduce(function (a, b) {
      return Math.min(a, b);
    }),
    and: reduceFrom(function (a, b) {
      return a && b;
    }, true),
    or: reduceFrom(function (a, b) {
      return a || b;
    }, false),
    not: single(function (a) {
      return !a;
    }),
    defined: single(function (a) {
      return a !== null && a !== undefined && !isNaN(a);
    }),
    lessThan: infix(function (a, b) {
      return a < b;
    }),
    eq: infix(function (a, b) {
      return a == b;
    }),
    greaterThan: infix(function (a, b) {
      return a > b;
    }),
    lessOrEq: infix(function (a, b) {
      return a <= b;
    }),
    greaterOrEq: infix(function (a, b) {
      return a >= b;
    }),
    neq: infix(function (a, b) {
      return a != b;
    })
  };

  var AnimatedOperator = function (_AnimatedNode) {
    (0, _inherits2.default)(AnimatedOperator, _AnimatedNode);

    var _super = _createSuper(AnimatedOperator);

    function AnimatedOperator(operator, input) {
      var _this;

      (0, _classCallCheck2.default)(this, AnimatedOperator);
      (0, _invariant.default)(typeof operator === 'string', "Reanimated: Animated.operator node first argument should be of type String, but got: " + operator);
      (0, _invariant.default)(input.every(function (el) {
        return el instanceof _AnimatedNode2.default || typeof el === 'string' || typeof el === 'number';
      }), "Reanimated: Animated.operator node second argument should be one or more of type AnimatedNode, String or Number but got " + input);
      _this = _super.call(this, {
        type: 'op',
        op: operator,
        input: input
      }, input);
      _this._op = operator;
      _this._input = input;
      return _this;
    }

    (0, _createClass2.default)(AnimatedOperator, [{
      key: "toString",
      value: function toString() {
        return "AnimatedOperator, id: " + this.__nodeID;
      }
    }, {
      key: "__onEvaluate",
      value: function __onEvaluate() {
        if (!this._operation) {
          this._operation = OPERATIONS[this._op];
          (0, _invariant.default)(this._operation, "Illegal operator '%s'", this._op);
        }

        return this._operation(this._input);
      }
    }]);
    return AnimatedOperator;
  }(_AnimatedNode2.default);

  function createAnimatedOperator(name) {
    return function () {
      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      return new AnimatedOperator(name, args.map(_$$_REQUIRE(_dependencyMap[9]).adapt));
    };
  }
},672,[5,7,8,12,14,16,651,601,652,655]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.evaluateOnce = evaluateOnce;

  var _InternalAnimatedValue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function evaluateOnce(node) {
    var input = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
    var callback = arguments.length > 2 ? arguments[2] : undefined;

    if (!Array.isArray(input)) {
      input = [input];
    }

    var done = new _InternalAnimatedValue.default(0);
    var evalNode = (0, _$$_REQUIRE(_dependencyMap[2]).createAnimatedCond)(done, 0, (0, _$$_REQUIRE(_dependencyMap[3]).createAnimatedCall)([node, (0, _$$_REQUIRE(_dependencyMap[4]).createAnimatedSet)(done, 1)], function () {
      callback && callback();

      for (var i = 0; i < input.length; i++) {
        input[i].__removeChild(alwaysNode);

        alwaysNode.__detach();
      }
    }));
    var alwaysNode = (0, _$$_REQUIRE(_dependencyMap[5]).createAnimatedAlways)(evalNode);

    for (var i = 0; i < input.length; i++) {
      input[i].__addChild(alwaysNode);

      alwaysNode.__attach();
    }
  }
},673,[5,656,654,664,657,674]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createAnimatedAlways = createAnimatedAlways;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _AnimatedNode2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedAlways = function (_AnimatedNode) {
    (0, _inherits2.default)(AnimatedAlways, _AnimatedNode);

    var _super = _createSuper(AnimatedAlways);

    function AnimatedAlways(what) {
      var _this;

      (0, _classCallCheck2.default)(this, AnimatedAlways);
      (0, _invariant.default)(what instanceof _AnimatedNode2.default, "Reanimated: Animated.always node argument should be of type AnimatedNode but got " + what);
      _this = _super.call(this, {
        type: 'always',
        what: what
      }, [what]);
      _this._what = what;
      return _this;
    }

    (0, _createClass2.default)(AnimatedAlways, [{
      key: "toString",
      value: function toString() {
        return "AnimatedAlways, id: " + this.__nodeID;
      }
    }, {
      key: "update",
      value: function update() {
        this.__getValue();
      }
    }, {
      key: "__onEvaluate",
      value: function __onEvaluate() {
        (0, _$$_REQUIRE(_dependencyMap[8]).val)(this._what);
        return 0;
      }
    }]);
    return AnimatedAlways;
  }(_AnimatedNode2.default);

  function createAnimatedAlways(item) {
    return new AnimatedAlways(item);
  }
},674,[5,7,8,12,14,16,651,601,652]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = createEventObjectProxyPolyfill;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function createEventObjectProxyPolyfill() {
    var nodesMap = {
      translationX: {},
      translationY: {},
      state: {},
      oldState: {},
      absoluteX: {},
      absoluteY: {},
      x: {},
      y: {},
      velocityX: {},
      velocityY: {},
      scale: {},
      focalX: {},
      focalY: {},
      rotation: {},
      anchorX: {},
      anchorY: {},
      velocity: {},
      numberOfPointers: {},
      layout: {
        x: {},
        y: {},
        width: {},
        height: {}
      },
      contentOffset: {
        y: {},
        x: {}
      },
      layoutMeasurement: {
        width: {},
        height: {}
      },
      contentSize: {
        width: {},
        height: {}
      },
      zoomScale: {},
      contentInset: {
        right: {},
        top: {},
        left: {},
        bottom: {}
      }
    };

    var traverse = function traverse(obj) {
      for (var key in obj) {
        traverse(obj[key]);
        (0, _extends2.default)(obj[key], {
          __isProxy: true
        });
      }
    };

    traverse(nodesMap);
    return nodesMap;
  }
},675,[5,6]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createAnimatedConcat = createAnimatedConcat;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _AnimatedNode2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedConcat = function (_AnimatedNode) {
    (0, _inherits2.default)(AnimatedConcat, _AnimatedNode);

    var _super = _createSuper(AnimatedConcat);

    function AnimatedConcat(input) {
      var _this;

      (0, _classCallCheck2.default)(this, AnimatedConcat);
      (0, _invariant.default)(input.every(function (el) {
        return el instanceof _AnimatedNode2.default || typeof el === 'number' || typeof el === 'string';
      }), "Reanimated: Animated.concat node arguments should be of type AnimatedNode or String or Number. One or more of them are not of that type. Node: " + input);
      _this = _super.call(this, {
        type: 'concat',
        input: input
      }, input);
      _this._input = input;
      return _this;
    }

    (0, _createClass2.default)(AnimatedConcat, [{
      key: "__onEvaluate",
      value: function __onEvaluate() {
        return this._input.reduce(function (prev, current) {
          return prev + (0, _$$_REQUIRE(_dependencyMap[8]).val)(current);
        }, '');
      }
    }, {
      key: "toString",
      value: function toString() {
        return "AnimatedConcat, id: " + this.__nodeID;
      }
    }]);
    return AnimatedConcat;
  }(_AnimatedNode2.default);

  function createAnimatedConcat() {
    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
      args[_key] = arguments[_key];
    }

    return new AnimatedConcat(args.map(_$$_REQUIRE(_dependencyMap[9]).adapt));
  }
},676,[5,7,8,12,14,16,601,651,652,655]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _useCode = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _AnimatedNode = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  function assertNodesNotNull(code, children, exec) {
    if (!code) {
      var error = !children ? "Got \"" + typeof children + "\" type passed to children" : "Got \"" + typeof exec + "\" type passed to exec";
      throw new Error("<Animated.Code /> expects the 'exec' prop or children to be an animated node or a function returning an animated node. " + error);
    }
  }

  function Code(_ref) {
    var exec = _ref.exec,
        children = _ref.children,
        dependencies = _ref.dependencies;
    var nodes = children || exec;
    var code = null;

    if (nodes instanceof _AnimatedNode.default) {
      code = function code() {
        return nodes;
      };
    } else if (typeof nodes === 'function') {
      code = nodes;
    }

    assertNodesNotNull(code, children, exec);
    (0, _useCode.default)(code, dependencies);
    return null;
  }

  var _default = Code;
  exports.default = _default;
},677,[5,678,651]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useCode;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function useCode(nodeFactory, dependencies) {
    if (!(_react.default.useEffect instanceof Function)) return;

    _react.default.useEffect(function () {
      if (!(nodeFactory instanceof Function)) {
        console.warn('useCode() first argument should be a function that returns an animation node.');
        var _node = nodeFactory;

        nodeFactory = function nodeFactory() {
          return _node;
        };
      }

      var node = nodeFactory();

      if (node) {
        if (node instanceof Array) node = (0, _$$_REQUIRE(_dependencyMap[2]).block)(node);
        var animatedAlways = (0, _$$_REQUIRE(_dependencyMap[2]).always)(node);

        animatedAlways.__attach();

        return function () {
          return animatedAlways.__detach();
        };
      }
    }, dependencies);
  }
},678,[5,17,653]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "acc", {
    enumerable: true,
    get: function get() {
      return _acc.default;
    }
  });
  Object.defineProperty(exports, "color", {
    enumerable: true,
    get: function get() {
      return _color.default;
    }
  });
  Object.defineProperty(exports, "diff", {
    enumerable: true,
    get: function get() {
      return _diff.default;
    }
  });
  Object.defineProperty(exports, "diffClamp", {
    enumerable: true,
    get: function get() {
      return _diffClamp.default;
    }
  });
  Object.defineProperty(exports, "interpolate", {
    enumerable: true,
    get: function get() {
      return _interpolate.default;
    }
  });
  Object.defineProperty(exports, "Extrapolate", {
    enumerable: true,
    get: function get() {
      return _interpolate.Extrapolate;
    }
  });
  Object.defineProperty(exports, "interpolateColors", {
    enumerable: true,
    get: function get() {
      return _interpolateColors.default;
    }
  });
  Object.defineProperty(exports, "onChange", {
    enumerable: true,
    get: function get() {
      return _onChange.default;
    }
  });
  Object.defineProperty(exports, "useCode", {
    enumerable: true,
    get: function get() {
      return _useCode.default;
    }
  });

  var _acc = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _color = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _diff = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _diffClamp = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _interpolate = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _interpolateColors = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _onChange = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _useCode = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }
},679,[5,680,681,682,683,668,684,685,678]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = acc;

  var _InternalAnimatedValue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var procAcc = (0, _$$_REQUIRE(_dependencyMap[2]).proc)(function (v, acc) {
    return (0, _$$_REQUIRE(_dependencyMap[2]).set)(acc, (0, _$$_REQUIRE(_dependencyMap[2]).add)(acc, v));
  });

  function acc(v) {
    var acc = new _InternalAnimatedValue.default(0);
    return procAcc(v, acc);
  }
},680,[5,656,653]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = color;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _AnimatedNode = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var procColor = (0, _$$_REQUIRE(_dependencyMap[3]).proc)(function (r, g, b, a) {
    var color = (0, _$$_REQUIRE(_dependencyMap[3]).add)((0, _$$_REQUIRE(_dependencyMap[3]).multiply)(a, 16777216), (0, _$$_REQUIRE(_dependencyMap[3]).multiply)((0, _$$_REQUIRE(_dependencyMap[3]).round)(r), 65536), (0, _$$_REQUIRE(_dependencyMap[3]).multiply)((0, _$$_REQUIRE(_dependencyMap[3]).round)(g), 256), (0, _$$_REQUIRE(_dependencyMap[3]).round)(b));

    if (_reactNative.Platform.OS === 'android') {
      return (0, _$$_REQUIRE(_dependencyMap[3]).cond)((0, _$$_REQUIRE(_dependencyMap[3]).lessThan)(color, 2147483648), color, (0, _$$_REQUIRE(_dependencyMap[3]).sub)(color, Math.pow(2, 32)));
    }

    return color;
  });

  function color(r, g, b) {
    var a = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;

    if (_reactNative.Platform.OS === 'web') {
      return (0, _$$_REQUIRE(_dependencyMap[3]).concat)('rgba(', r, ',', g, ',', b, ',', a, ')');
    }

    if (a instanceof _AnimatedNode.default) {
      a = (0, _$$_REQUIRE(_dependencyMap[3]).round)((0, _$$_REQUIRE(_dependencyMap[3]).multiply)(a, 255));
    } else {
      a = Math.round(a * 255);
    }

    return procColor(r, g, b, a);
  }
},681,[28,5,651,653]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = diff;

  var _InternalAnimatedValue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var procDiff = (0, _$$_REQUIRE(_dependencyMap[2]).proc)(function (v, stash, prev) {
    return (0, _$$_REQUIRE(_dependencyMap[2]).block)([(0, _$$_REQUIRE(_dependencyMap[2]).set)(stash, (0, _$$_REQUIRE(_dependencyMap[2]).cond)((0, _$$_REQUIRE(_dependencyMap[2]).defined)(prev), (0, _$$_REQUIRE(_dependencyMap[2]).sub)(v, prev), 0)), (0, _$$_REQUIRE(_dependencyMap[2]).set)(prev, v), stash]);
  });

  function diff(v) {
    var stash = new _InternalAnimatedValue.default(0);
    var prev = new _InternalAnimatedValue.default();
    return procDiff(v, stash, prev);
  }
},682,[5,656,653]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = diffClamp;

  var _InternalAnimatedValue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _diff = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  function diffClamp(a, minVal, maxVal) {
    var value = new _InternalAnimatedValue.default();
    return (0, _$$_REQUIRE(_dependencyMap[3]).set)(value, (0, _$$_REQUIRE(_dependencyMap[3]).min)((0, _$$_REQUIRE(_dependencyMap[3]).max)((0, _$$_REQUIRE(_dependencyMap[3]).add)((0, _$$_REQUIRE(_dependencyMap[3]).cond)((0, _$$_REQUIRE(_dependencyMap[3]).defined)(value), value, a), (0, _diff.default)(a)), minVal), maxVal));
  }
},683,[5,656,682,653]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = interpolateColors;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _color = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _interpolate = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function red(c) {
    return c >> 16 & 255;
  }

  function green(c) {
    return c >> 8 & 255;
  }

  function blue(c) {
    return c & 255;
  }

  function opacity(c) {
    return (c >> 24 & 255) / 255;
  }

  function interpolateColors(animationValue, options) {
    var inputRange = options.inputRange,
        outputColorRange = options.outputColorRange;
    var colors = outputColorRange.map(_reactNative.processColor);
    var r = (0, _$$_REQUIRE(_dependencyMap[4]).round)((0, _interpolate.default)(animationValue, {
      inputRange: inputRange,
      outputRange: colors.map(red),
      extrapolate: _interpolate.Extrapolate.CLAMP
    }));
    var g = (0, _$$_REQUIRE(_dependencyMap[4]).round)((0, _interpolate.default)(animationValue, {
      inputRange: inputRange,
      outputRange: colors.map(green),
      extrapolate: _interpolate.Extrapolate.CLAMP
    }));
    var b = (0, _$$_REQUIRE(_dependencyMap[4]).round)((0, _interpolate.default)(animationValue, {
      inputRange: inputRange,
      outputRange: colors.map(blue),
      extrapolate: _interpolate.Extrapolate.CLAMP
    }));
    var a = (0, _interpolate.default)(animationValue, {
      inputRange: inputRange,
      outputRange: colors.map(opacity),
      extrapolate: _interpolate.Extrapolate.CLAMP
    });
    return (0, _color.default)(r, g, b, a);
  }
},684,[28,5,681,668,653]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = onChange;

  var _InternalAnimatedValue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var procOnChange = (0, _$$_REQUIRE(_dependencyMap[2]).proc)(function (value, action, prevValue) {
    return (0, _$$_REQUIRE(_dependencyMap[2]).block)([(0, _$$_REQUIRE(_dependencyMap[2]).cond)((0, _$$_REQUIRE(_dependencyMap[2]).not)((0, _$$_REQUIRE(_dependencyMap[2]).defined)(prevValue)), (0, _$$_REQUIRE(_dependencyMap[2]).set)(prevValue, value)), (0, _$$_REQUIRE(_dependencyMap[2]).cond)((0, _$$_REQUIRE(_dependencyMap[2]).neq)(value, prevValue), [(0, _$$_REQUIRE(_dependencyMap[2]).set)(prevValue, value), action])]);
  });

  function onChange(value, action) {
    var prevValue = new _InternalAnimatedValue.default();
    return procOnChange(value, action, prevValue);
  }
},685,[5,656,653]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = createAnimatedComponent;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _ReanimatedEventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _AnimatedEvent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _AnimatedNode = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _AnimatedValue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NODE_MAPPING = new Map();

  function listener(data) {
    var component = NODE_MAPPING.get(data.viewTag);
    component && component._updateFromNative(data.props);
  }

  function dummyListener() {}

  function createAnimatedComponent(Component) {
    (0, _invariant.default)(typeof Component !== 'function' || Component.prototype && Component.prototype.isReactComponent, "`createAnimatedComponent` does not support stateless functional components; use a class component instead.");

    var AnimatedComponent = function (_React$Component) {
      (0, _inherits2.default)(AnimatedComponent, _React$Component);

      var _super = _createSuper(AnimatedComponent);

      function AnimatedComponent(props) {
        var _this;

        (0, _classCallCheck2.default)(this, AnimatedComponent);
        _this = _super.call(this, props);
        _this._invokeAnimatedPropsCallbackOnMount = false;

        _this._animatedPropsCallback = function () {
          if (_this._component == null) {
            _this._invokeAnimatedPropsCallbackOnMount = true;
          } else if (typeof _this._component.setNativeProps !== 'function') {
            _this.forceUpdate();
          } else {
            _this._component.setNativeProps(_this._propsAnimated.__getValue());
          }
        };

        _this._setComponentRef = function (c) {
          if (c !== _this._component) {
            _this._component = c;
          }
        };

        _this._attachProps(_this.props);

        return _this;
      }

      (0, _createClass2.default)(AnimatedComponent, [{
        key: "componentWillUnmount",
        value: function componentWillUnmount() {
          this._detachPropUpdater();

          this._propsAnimated && this._propsAnimated.__detach();

          this._detachNativeEvents();
        }
      }, {
        key: "setNativeProps",
        value: function setNativeProps(props) {
          this._component.setNativeProps(props);
        }
      }, {
        key: "componentDidMount",
        value: function componentDidMount() {
          if (this._invokeAnimatedPropsCallbackOnMount) {
            this._invokeAnimatedPropsCallbackOnMount = false;

            this._animatedPropsCallback();
          }

          this._propsAnimated.setNativeView(this._component);

          this._attachNativeEvents();

          this._attachPropUpdater();
        }
      }, {
        key: "_getEventViewRef",
        value: function _getEventViewRef() {
          return this._component.getScrollableNode ? this._component.getScrollableNode() : this._component;
        }
      }, {
        key: "_attachNativeEvents",
        value: function _attachNativeEvents() {
          var node = this._getEventViewRef();

          for (var key in this.props) {
            var prop = this.props[key];

            if (prop instanceof _AnimatedEvent.default) {
              prop.attachEvent(node, key);
            }
          }
        }
      }, {
        key: "_detachNativeEvents",
        value: function _detachNativeEvents() {
          var node = this._getEventViewRef();

          for (var key in this.props) {
            var prop = this.props[key];

            if (prop instanceof _AnimatedEvent.default) {
              prop.detachEvent(node, key);
            }
          }
        }
      }, {
        key: "_reattachNativeEvents",
        value: function _reattachNativeEvents(prevProps) {
          var node = this._getEventViewRef();

          var attached = new Set();
          var nextEvts = new Set();

          for (var key in this.props) {
            var prop = this.props[key];

            if (prop instanceof _AnimatedEvent.default) {
              nextEvts.add(prop.__nodeID);
            }
          }

          for (var _key in prevProps) {
            var _prop = this.props[_key];

            if (_prop instanceof _AnimatedEvent.default) {
              if (!nextEvts.has(_prop.__nodeID)) {
                _prop.detachEvent(node, _key);
              } else {
                attached.add(_prop.__nodeID);
              }
            }
          }

          for (var _key2 in this.props) {
            var _prop2 = this.props[_key2];

            if (_prop2 instanceof _AnimatedEvent.default && !attached.has(_prop2.__nodeID)) {
              _prop2.attachEvent(node, _key2);
            }
          }
        }
      }, {
        key: "_attachProps",
        value: function _attachProps(nextProps) {
          var oldPropsAnimated = this._propsAnimated;
          this._propsAnimated = (0, _$$_REQUIRE(_dependencyMap[14]).createOrReusePropsNode)(nextProps, this._animatedPropsCallback, oldPropsAnimated);

          if (oldPropsAnimated !== this._propsAnimated) {
            oldPropsAnimated && oldPropsAnimated.__detach();
          }
        }
      }, {
        key: "_updateFromNative",
        value: function _updateFromNative(props) {
          this._component.setNativeProps(props);
        }
      }, {
        key: "_attachPropUpdater",
        value: function _attachPropUpdater() {
          var viewTag = (0, _reactNative.findNodeHandle)(this);
          NODE_MAPPING.set(viewTag, this);

          if (NODE_MAPPING.size === 1) {
            _ReanimatedEventEmitter.default.addListener('onReanimatedPropsChange', listener);
          }
        }
      }, {
        key: "_detachPropUpdater",
        value: function _detachPropUpdater() {
          var viewTag = (0, _reactNative.findNodeHandle)(this);
          NODE_MAPPING.delete(viewTag);

          if (NODE_MAPPING.size === 0) {
            _ReanimatedEventEmitter.default.removeAllListeners('onReanimatedPropsChange');
          }
        }
      }, {
        key: "componentDidUpdate",
        value: function componentDidUpdate(prevProps) {
          this._attachProps(this.props);

          this._reattachNativeEvents(prevProps);

          this._propsAnimated.setNativeView(this._component);
        }
      }, {
        key: "_filterNonAnimatedStyle",
        value: function _filterNonAnimatedStyle(inputStyle) {
          var style = {};

          for (var key in inputStyle) {
            var value = inputStyle[key];

            if (key !== 'transform') {
              if (value instanceof _AnimatedValue.default) {
                style[key] = value._startingValue;
              } else if (!(value instanceof _AnimatedNode.default)) {
                style[key] = value;
              }
            }
          }

          return style;
        }
      }, {
        key: "_filterNonAnimatedProps",
        value: function _filterNonAnimatedProps(inputProps) {
          var props = {};

          for (var key in inputProps) {
            var value = inputProps[key];

            if (key === 'style') {
              props[key] = this._filterNonAnimatedStyle(_reactNative.StyleSheet.flatten(value));
            } else if (value instanceof _AnimatedEvent.default) {
              props[key] = dummyListener;
            } else if (value instanceof _AnimatedValue.default) {
              props[key] = value._startingValue;
            } else if (!(value instanceof _AnimatedNode.default)) {
              props[key] = value;
            }
          }

          return props;
        }
      }, {
        key: "render",
        value: function render() {
          var props = this._filterNonAnimatedProps(this.props);

          var platformProps = _reactNative.Platform.select({
            web: {},
            default: {
              collapsable: false
            }
          });

          return _react.default.createElement(Component, (0, _extends2.default)({}, props, {
            ref: this._setComponentRef
          }, platformProps));
        }
      }, {
        key: "getNode",
        value: function getNode() {
          return this._component;
        }
      }]);
      return AnimatedComponent;
    }(_react.default.Component);

    AnimatedComponent.displayName = "AnimatedComponent(" + (Component.displayName || Component.name || 'Component') + ")";
    return AnimatedComponent;
  }
},686,[5,6,7,8,12,14,16,17,28,665,666,651,667,601,687]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createOrReusePropsNode = createOrReusePropsNode;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _AnimatedNode2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _AnimatedEvent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _areEqual = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  function sanitizeProps(inputProps) {
    var props = {};

    for (var key in inputProps) {
      var value = inputProps[key];

      if (value instanceof _AnimatedNode2.default && !(value instanceof _AnimatedEvent.default)) {
        props[key] = value.__nodeID;
      }
    }

    return props;
  }

  function createOrReusePropsNode(props, callback, oldNode) {
    if (props.style) {
      props = (0, _extends2.default)({}, props, {
        style: (0, _$$_REQUIRE(_dependencyMap[13]).createOrReuseStyleNode)(props.style, oldNode && oldNode._props.style)
      });
    }

    var config = sanitizeProps(props);

    if (oldNode && (0, _areEqual.default)(config, oldNode._config)) {
      return oldNode;
    }

    return new AnimatedProps(props, config, callback);
  }

  var AnimatedProps = function (_AnimatedNode) {
    (0, _inherits2.default)(AnimatedProps, _AnimatedNode);

    var _super = _createSuper(AnimatedProps);

    function AnimatedProps(props, config, callback) {
      var _this;

      (0, _classCallCheck2.default)(this, AnimatedProps);
      _this = _super.call(this, {
        type: 'props',
        props: config
      }, Object.values(props).filter(function (n) {
        return !(n instanceof _AnimatedEvent.default);
      }));
      _this._config = config;
      _this._props = props;
      _this._callback = callback;

      _this.__attach();

      return _this;
    }

    (0, _createClass2.default)(AnimatedProps, [{
      key: "toString",
      value: function toString() {
        return "AnimatedProps, id: " + this.__nodeID;
      }
    }, {
      key: "__onEvaluate",
      value: function __onEvaluate() {
        var props = {};

        for (var key in this._props) {
          var value = this._props[key];

          if (value instanceof _AnimatedNode2.default) {
            props[key] = value.__getValue();
          }
        }

        return props;
      }
    }, {
      key: "__detach",
      value: function __detach() {
        var nativeViewTag = (0, _reactNative.findNodeHandle)(this._animatedView);
        (0, _invariant.default)(nativeViewTag != null, 'Unable to locate attached view in the native tree');

        this._disconnectAnimatedView(nativeViewTag);

        (0, _get2.default)((0, _getPrototypeOf2.default)(AnimatedProps.prototype), "__detach", this).call(this);
      }
    }, {
      key: "update",
      value: function update() {
        this._callback();

        if (!this._animatedView) {
          return;
        }

        (0, _$$_REQUIRE(_dependencyMap[14]).val)(this);
      }
    }, {
      key: "setNativeView",
      value: function setNativeView(animatedView) {
        if (this._animatedView === animatedView) {
          return;
        }

        this._animatedView = animatedView;
        var nativeViewTag = (0, _reactNative.findNodeHandle)(this._animatedView);
        (0, _invariant.default)(nativeViewTag != null, 'Unable to locate attached view in the native tree');

        this._connectAnimatedView(nativeViewTag);
      }
    }]);
    return AnimatedProps;
  }(_AnimatedNode2.default);
},687,[5,7,8,90,12,14,16,6,28,651,666,601,688,689,652]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var aStackPool = [];
  var bStackPool = [];
  /**
   * Checks if two values are equal. Values may be primitives, arrays, or objects.
   * Returns true if both arguments have the same keys and values.
   *
   * @see http://underscorejs.org
   * @copyright 2009-2013 Jeremy Ashkenas, DocumentCloud Inc.
   * @license MIT
   */

  function areEqual(a, b) {
    var aStack = aStackPool.length ? aStackPool.pop() : [];
    var bStack = bStackPool.length ? bStackPool.pop() : [];
    var result = eq(a, b, aStack, bStack);
    aStack.length = 0;
    bStack.length = 0;
    aStackPool.push(aStack);
    bStackPool.push(bStack);
    return result;
  }

  function eq(a, b, aStack, bStack) {
    if (a === b) {
      return a !== 0 || 1 / a == 1 / b;
    }

    if (a == null || b == null) {
      return false;
    }

    if (typeof a != 'object' || typeof b != 'object') {
      return false;
    }

    var objToStr = Object.prototype.toString;
    var className = objToStr.call(a);

    if (className != objToStr.call(b)) {
      return false;
    }

    switch (className) {
      case '[object String]':
        return a == String(b);

      case '[object Number]':
        return isNaN(a) || isNaN(b) ? false : a == Number(b);

      case '[object Date]':
      case '[object Boolean]':
        return +a == +b;

      case '[object RegExp]':
        return a.source == b.source && a.global == b.global && a.multiline == b.multiline && a.ignoreCase == b.ignoreCase;
    }

    var length = aStack.length;

    while (length--) {
      if (aStack[length] == a) {
        return bStack[length] == b;
      }
    }

    aStack.push(a);
    bStack.push(b);
    var size = 0;

    if (className === '[object Array]') {
      size = a.length;

      if (size !== b.length) {
        return false;
      }

      while (size--) {
        if (!eq(a[size], b[size], aStack, bStack)) {
          return false;
        }
      }
    } else {
      if (a.constructor !== b.constructor) {
        return false;
      }

      if (a.hasOwnProperty('valueOf') && b.hasOwnProperty('valueOf')) {
        return a.valueOf() == b.valueOf();
      }

      var keys = Object.keys(a);

      if (keys.length != Object.keys(b).length) {
        return false;
      }

      for (var i = 0; i < keys.length; i++) {
        if (!eq(a[keys[i]], b[keys[i]], aStack, bStack)) {
          return false;
        }
      }
    }

    aStack.pop();
    bStack.pop();
    return true;
  }

  module.exports = areEqual;
},688,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createOrReuseStyleNode = createOrReuseStyleNode;
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _AnimatedNode2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _areEqual = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  function sanitizeStyle(inputStyle) {
    var style = {};

    for (var key in inputStyle) {
      var value = inputStyle[key];

      if (value instanceof _AnimatedNode2.default) {
        style[key] = value.__nodeID;
      }
    }

    return style;
  }

  function createOrReuseStyleNode(style, oldNode) {
    style = _reactNative.StyleSheet.flatten(style) || {};

    if (style.transform) {
      style = (0, _extends2.default)({}, style, {
        transform: (0, _$$_REQUIRE(_dependencyMap[10]).createOrReuseTransformNode)(style.transform, oldNode && oldNode._style.transform)
      });
    }

    var config = sanitizeStyle(style);

    if (oldNode && (0, _areEqual.default)(config, oldNode._config)) {
      return oldNode;
    }

    return new AnimatedStyle(style, config);
  }

  var AnimatedStyle = function (_AnimatedNode) {
    (0, _inherits2.default)(AnimatedStyle, _AnimatedNode);

    var _super = _createSuper(AnimatedStyle);

    function AnimatedStyle(style, config) {
      var _this;

      (0, _classCallCheck2.default)(this, AnimatedStyle);
      _this = _super.call(this, {
        type: 'style',
        style: config
      }, Object.values(style));
      _this._config = config;
      _this._style = style;
      return _this;
    }

    (0, _createClass2.default)(AnimatedStyle, [{
      key: "toString",
      value: function toString() {
        return "AnimatedStyle, id: " + this.__nodeID;
      }
    }, {
      key: "_walkStyleAndGetAnimatedValues",
      value: function _walkStyleAndGetAnimatedValues(style) {
        var updatedStyle = {};

        for (var key in style) {
          var value = style[key];

          if (value instanceof _AnimatedNode2.default) {
            updatedStyle[key] = value.__getValue();
          } else if (value && !Array.isArray(value) && typeof value === 'object') {
            updatedStyle[key] = this._walkStyleAndGetAnimatedValues(value);
          }
        }

        return updatedStyle;
      }
    }, {
      key: "__onEvaluate",
      value: function __onEvaluate() {
        return this._walkStyleAndGetAnimatedValues(this._style);
      }
    }]);
    return AnimatedStyle;
  }(_AnimatedNode2.default);

  exports.default = AnimatedStyle;
},689,[5,7,8,12,14,16,6,28,651,688,690]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createOrReuseTransformNode = createOrReuseTransformNode;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _AnimatedNode2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _areEqual = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  function sanitizeTransform(inputTransform) {
    var outputTransform = [];
    inputTransform.forEach(function (transform) {
      for (var key in transform) {
        var value = transform[key];

        if (value instanceof _AnimatedNode2.default) {
          outputTransform.push({
            property: key,
            nodeID: value.__nodeID
          });
        } else {
          outputTransform.push({
            property: key,
            value: value
          });
        }
      }
    });
    return outputTransform;
  }

  function extractAnimatedParentNodes(transform) {
    var parents = [];
    transform.forEach(function (transform) {
      for (var key in transform) {
        var value = transform[key];

        if (value instanceof _AnimatedNode2.default) {
          parents.push(value);
        }
      }
    });
    return parents;
  }

  function createOrReuseTransformNode(transform, oldNode) {
    var config = sanitizeTransform(transform);

    if (oldNode && (0, _areEqual.default)(config, oldNode._config)) {
      return oldNode;
    }

    return new AnimatedTransform(transform, config);
  }

  var AnimatedTransform = function (_AnimatedNode) {
    (0, _inherits2.default)(AnimatedTransform, _AnimatedNode);

    var _super = _createSuper(AnimatedTransform);

    function AnimatedTransform(transform, config) {
      var _this;

      (0, _classCallCheck2.default)(this, AnimatedTransform);
      _this = _super.call(this, {
        type: 'transform',
        transform: config
      }, extractAnimatedParentNodes(transform));
      _this._config = config;
      _this._transform = transform;
      return _this;
    }

    (0, _createClass2.default)(AnimatedTransform, [{
      key: "toString",
      value: function toString() {
        return "AnimatedTransform, id: " + this.__nodeID;
      }
    }, {
      key: "__onEvaluate",
      value: function __onEvaluate() {
        return this._transform.map(function (transform) {
          var result = {};

          for (var key in transform) {
            var value = transform[key];

            if (value instanceof _AnimatedNode2.default) {
              result[key] = value.__getValue();
            }
          }

          return result;
        });
      }
    }]);
    return AnimatedTransform;
  }(_AnimatedNode2.default);
},690,[5,7,8,12,14,16,651,688]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;
  var VELOCITY_EPS = 5;

  function decay(clock, state, config) {
    var lastTime = (0, _$$_REQUIRE(_dependencyMap[0]).cond)(state.time, state.time, clock);
    var deltaTime = (0, _$$_REQUIRE(_dependencyMap[0]).sub)(clock, lastTime);
    var kv = (0, _$$_REQUIRE(_dependencyMap[0]).pow)(config.deceleration, deltaTime);
    var kx = (0, _$$_REQUIRE(_dependencyMap[0]).divide)((0, _$$_REQUIRE(_dependencyMap[0]).multiply)(config.deceleration, (0, _$$_REQUIRE(_dependencyMap[0]).sub)(1, kv)), (0, _$$_REQUIRE(_dependencyMap[0]).sub)(1, config.deceleration));
    var v0 = (0, _$$_REQUIRE(_dependencyMap[0]).divide)(state.velocity, 1000);
    var v = (0, _$$_REQUIRE(_dependencyMap[0]).multiply)(v0, kv, 1000);
    var x = (0, _$$_REQUIRE(_dependencyMap[0]).add)(state.position, (0, _$$_REQUIRE(_dependencyMap[0]).multiply)(v0, kx));
    return (0, _$$_REQUIRE(_dependencyMap[0]).block)([(0, _$$_REQUIRE(_dependencyMap[0]).set)(state.position, x), (0, _$$_REQUIRE(_dependencyMap[0]).set)(state.velocity, v), (0, _$$_REQUIRE(_dependencyMap[0]).set)(state.time, clock), (0, _$$_REQUIRE(_dependencyMap[0]).cond)((0, _$$_REQUIRE(_dependencyMap[0]).lessThan)((0, _$$_REQUIRE(_dependencyMap[0]).abs)(v), VELOCITY_EPS), (0, _$$_REQUIRE(_dependencyMap[0]).set)(state.finished, 1))]);
  }

  var procDecay = (0, _$$_REQUIRE(_dependencyMap[0]).proc)(function (clock, time, velocity, position, finished, deceleration) {
    return decay(clock, {
      time: time,
      velocity: velocity,
      position: position,
      finished: finished
    }, {
      deceleration: deceleration
    });
  });

  var _default = function _default(clock, _ref, _ref2) {
    var time = _ref.time,
        velocity = _ref.velocity,
        position = _ref.position,
        finished = _ref.finished;
    var deceleration = _ref2.deceleration;
    return procDecay(clock, time, velocity, position, finished, deceleration);
  };

  exports.default = _default;
},691,[653]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = _default;
  var internalTiming = (0, _$$_REQUIRE(_dependencyMap[0]).proc)(function (clock, time, frameTime, position, finished, toValue, duration, nextProgress, progress, newFrameTime) {
    var state = {
      time: time,
      finished: finished,
      frameTime: frameTime,
      position: position
    };
    var config = {
      duration: duration,
      toValue: toValue
    };
    var distanceLeft = (0, _$$_REQUIRE(_dependencyMap[0]).sub)(config.toValue, state.position);
    var fullDistance = (0, _$$_REQUIRE(_dependencyMap[0]).divide)(distanceLeft, (0, _$$_REQUIRE(_dependencyMap[0]).sub)(1, progress));
    var startPosition = (0, _$$_REQUIRE(_dependencyMap[0]).sub)(config.toValue, fullDistance);
    var nextPosition = (0, _$$_REQUIRE(_dependencyMap[0]).add)(startPosition, (0, _$$_REQUIRE(_dependencyMap[0]).multiply)(fullDistance, nextProgress));
    return (0, _$$_REQUIRE(_dependencyMap[0]).block)([(0, _$$_REQUIRE(_dependencyMap[0]).cond)((0, _$$_REQUIRE(_dependencyMap[0]).greaterOrEq)(newFrameTime, config.duration), [(0, _$$_REQUIRE(_dependencyMap[0]).set)(state.position, config.toValue), (0, _$$_REQUIRE(_dependencyMap[0]).set)(state.finished, 1)], (0, _$$_REQUIRE(_dependencyMap[0]).set)(state.position, nextPosition)), (0, _$$_REQUIRE(_dependencyMap[0]).set)(state.frameTime, newFrameTime), (0, _$$_REQUIRE(_dependencyMap[0]).set)(state.time, clock)]);
  });

  function _default(clock, state, config) {
    if (config.duration === 0) {
      return (0, _$$_REQUIRE(_dependencyMap[0]).block)([(0, _$$_REQUIRE(_dependencyMap[0]).set)(state.position, config.toValue), (0, _$$_REQUIRE(_dependencyMap[0]).set)(state.finished, 1)]);
    }

    var lastTime = (0, _$$_REQUIRE(_dependencyMap[0]).cond)(state.time, state.time, clock);
    var newFrameTime = (0, _$$_REQUIRE(_dependencyMap[0]).add)(state.frameTime, (0, _$$_REQUIRE(_dependencyMap[0]).sub)(clock, lastTime));
    var nextProgress = config.easing((0, _$$_REQUIRE(_dependencyMap[0]).divide)(newFrameTime, config.duration));
    var progress = config.easing((0, _$$_REQUIRE(_dependencyMap[0]).divide)(state.frameTime, config.duration));
    return internalTiming(clock, state.time, state.frameTime, state.position, state.finished, config.toValue, config.duration, nextProgress, progress, newFrameTime);
  }
},692,[653]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _InternalAnimatedValue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var MAX_STEPS_MS = 64;

  function spring(clock, state, config) {
    var lastTime = (0, _$$_REQUIRE(_dependencyMap[2]).cond)(state.time, state.time, clock);
    var deltaTime = (0, _$$_REQUIRE(_dependencyMap[2]).min)((0, _$$_REQUIRE(_dependencyMap[2]).sub)(clock, lastTime), MAX_STEPS_MS);
    var c = config.damping;
    var m = config.mass;
    var k = config.stiffness;
    var v0 = (0, _$$_REQUIRE(_dependencyMap[2]).multiply)(-1, state.velocity);
    var x0 = (0, _$$_REQUIRE(_dependencyMap[2]).sub)(config.toValue, state.position);
    var zeta = (0, _$$_REQUIRE(_dependencyMap[2]).divide)(c, (0, _$$_REQUIRE(_dependencyMap[2]).multiply)(2, (0, _$$_REQUIRE(_dependencyMap[2]).sqrt)((0, _$$_REQUIRE(_dependencyMap[2]).multiply)(k, m))));
    var omega0 = (0, _$$_REQUIRE(_dependencyMap[2]).sqrt)((0, _$$_REQUIRE(_dependencyMap[2]).divide)(k, m));
    var omega1 = (0, _$$_REQUIRE(_dependencyMap[2]).multiply)(omega0, (0, _$$_REQUIRE(_dependencyMap[2]).sqrt)((0, _$$_REQUIRE(_dependencyMap[2]).sub)(1, (0, _$$_REQUIRE(_dependencyMap[2]).multiply)(zeta, zeta))));
    var t = (0, _$$_REQUIRE(_dependencyMap[2]).divide)(deltaTime, 1000);
    var sin1 = (0, _$$_REQUIRE(_dependencyMap[2]).sin)((0, _$$_REQUIRE(_dependencyMap[2]).multiply)(omega1, t));
    var cos1 = (0, _$$_REQUIRE(_dependencyMap[2]).cos)((0, _$$_REQUIRE(_dependencyMap[2]).multiply)(omega1, t));
    var underDampedEnvelope = (0, _$$_REQUIRE(_dependencyMap[2]).exp)((0, _$$_REQUIRE(_dependencyMap[2]).multiply)(-1, zeta, omega0, t));
    var underDampedFrag1 = (0, _$$_REQUIRE(_dependencyMap[2]).multiply)(underDampedEnvelope, (0, _$$_REQUIRE(_dependencyMap[2]).add)((0, _$$_REQUIRE(_dependencyMap[2]).multiply)(sin1, (0, _$$_REQUIRE(_dependencyMap[2]).divide)((0, _$$_REQUIRE(_dependencyMap[2]).add)(v0, (0, _$$_REQUIRE(_dependencyMap[2]).multiply)(zeta, omega0, x0)), omega1)), (0, _$$_REQUIRE(_dependencyMap[2]).multiply)(x0, cos1)));
    var underDampedPosition = (0, _$$_REQUIRE(_dependencyMap[2]).sub)(config.toValue, underDampedFrag1);
    var underDampedVelocity = (0, _$$_REQUIRE(_dependencyMap[2]).sub)((0, _$$_REQUIRE(_dependencyMap[2]).multiply)(zeta, omega0, underDampedFrag1), (0, _$$_REQUIRE(_dependencyMap[2]).multiply)(underDampedEnvelope, (0, _$$_REQUIRE(_dependencyMap[2]).sub)((0, _$$_REQUIRE(_dependencyMap[2]).multiply)(cos1, (0, _$$_REQUIRE(_dependencyMap[2]).add)(v0, (0, _$$_REQUIRE(_dependencyMap[2]).multiply)(zeta, omega0, x0))), (0, _$$_REQUIRE(_dependencyMap[2]).multiply)(omega1, x0, sin1))));
    var criticallyDampedEnvelope = (0, _$$_REQUIRE(_dependencyMap[2]).exp)((0, _$$_REQUIRE(_dependencyMap[2]).multiply)(-1, omega0, t));
    var criticallyDampedPosition = (0, _$$_REQUIRE(_dependencyMap[2]).sub)(config.toValue, (0, _$$_REQUIRE(_dependencyMap[2]).multiply)(criticallyDampedEnvelope, (0, _$$_REQUIRE(_dependencyMap[2]).add)(x0, (0, _$$_REQUIRE(_dependencyMap[2]).multiply)((0, _$$_REQUIRE(_dependencyMap[2]).add)(v0, (0, _$$_REQUIRE(_dependencyMap[2]).multiply)(omega0, x0)), t))));
    var criticallyDampedVelocity = (0, _$$_REQUIRE(_dependencyMap[2]).multiply)(criticallyDampedEnvelope, (0, _$$_REQUIRE(_dependencyMap[2]).add)((0, _$$_REQUIRE(_dependencyMap[2]).multiply)(v0, (0, _$$_REQUIRE(_dependencyMap[2]).sub)((0, _$$_REQUIRE(_dependencyMap[2]).multiply)(t, omega0), 1)), (0, _$$_REQUIRE(_dependencyMap[2]).multiply)(t, x0, omega0, omega0)));
    var prevPosition = state.prevPosition ? state.prevPosition : new _InternalAnimatedValue.default(0);
    var isOvershooting = (0, _$$_REQUIRE(_dependencyMap[2]).cond)((0, _$$_REQUIRE(_dependencyMap[2]).and)(config.overshootClamping, (0, _$$_REQUIRE(_dependencyMap[2]).neq)(config.stiffness, 0)), (0, _$$_REQUIRE(_dependencyMap[2]).cond)((0, _$$_REQUIRE(_dependencyMap[2]).lessThan)(prevPosition, config.toValue), (0, _$$_REQUIRE(_dependencyMap[2]).greaterThan)(state.position, config.toValue), (0, _$$_REQUIRE(_dependencyMap[2]).lessThan)(state.position, config.toValue)));
    var isVelocity = (0, _$$_REQUIRE(_dependencyMap[2]).lessThan)((0, _$$_REQUIRE(_dependencyMap[2]).abs)(state.velocity), config.restSpeedThreshold);
    var isDisplacement = (0, _$$_REQUIRE(_dependencyMap[2]).or)((0, _$$_REQUIRE(_dependencyMap[2]).eq)(config.stiffness, 0), (0, _$$_REQUIRE(_dependencyMap[2]).lessThan)((0, _$$_REQUIRE(_dependencyMap[2]).abs)((0, _$$_REQUIRE(_dependencyMap[2]).sub)(config.toValue, state.position)), config.restDisplacementThreshold));
    return (0, _$$_REQUIRE(_dependencyMap[2]).block)([(0, _$$_REQUIRE(_dependencyMap[2]).set)(prevPosition, state.position), (0, _$$_REQUIRE(_dependencyMap[2]).cond)((0, _$$_REQUIRE(_dependencyMap[2]).lessThan)(zeta, 1), [(0, _$$_REQUIRE(_dependencyMap[2]).set)(state.position, underDampedPosition), (0, _$$_REQUIRE(_dependencyMap[2]).set)(state.velocity, underDampedVelocity)], [(0, _$$_REQUIRE(_dependencyMap[2]).set)(state.position, criticallyDampedPosition), (0, _$$_REQUIRE(_dependencyMap[2]).set)(state.velocity, criticallyDampedVelocity)]), (0, _$$_REQUIRE(_dependencyMap[2]).set)(state.time, clock), (0, _$$_REQUIRE(_dependencyMap[2]).cond)((0, _$$_REQUIRE(_dependencyMap[2]).or)(isOvershooting, (0, _$$_REQUIRE(_dependencyMap[2]).and)(isVelocity, isDisplacement)), [(0, _$$_REQUIRE(_dependencyMap[2]).cond)((0, _$$_REQUIRE(_dependencyMap[2]).neq)(config.stiffness, 0), [(0, _$$_REQUIRE(_dependencyMap[2]).set)(state.velocity, 0), (0, _$$_REQUIRE(_dependencyMap[2]).set)(state.position, config.toValue)]), (0, _$$_REQUIRE(_dependencyMap[2]).set)(state.finished, 1)])]);
  }

  var procSpring = (0, _$$_REQUIRE(_dependencyMap[2]).proc)(function (finished, velocity, position, time, prevPosition, toValue, damping, mass, stiffness, overshootClamping, restSpeedThreshold, restDisplacementThreshold, clock) {
    return spring(clock, {
      finished: finished,
      velocity: velocity,
      position: position,
      time: time,
      prevPosition: prevPosition
    }, {
      toValue: toValue,
      damping: damping,
      mass: mass,
      stiffness: stiffness,
      overshootClamping: overshootClamping,
      restDisplacementThreshold: restDisplacementThreshold,
      restSpeedThreshold: restSpeedThreshold
    });
  });

  var _default = function _default(clock, _ref, _ref2) {
    var finished = _ref.finished,
        velocity = _ref.velocity,
        position = _ref.position,
        time = _ref.time,
        prevPosition = _ref.prevPosition;
    var toValue = _ref2.toValue,
        damping = _ref2.damping,
        mass = _ref2.mass,
        stiffness = _ref2.stiffness,
        overshootClamping = _ref2.overshootClamping,
        restDisplacementThreshold = _ref2.restDisplacementThreshold,
        restSpeedThreshold = _ref2.restSpeedThreshold;
    return procSpring(finished, velocity, position, time, prevPosition, toValue, damping, mass, stiffness, overshootClamping, restSpeedThreshold, restDisplacementThreshold, clock);
  };

  exports.default = _default;
},693,[5,656,653]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _InternalAnimatedValue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var Animation = function () {
    function Animation() {
      (0, _classCallCheck2.default)(this, Animation);
    }

    (0, _createClass2.default)(Animation, null, [{
      key: "springDefaultState",
      value: function springDefaultState() {
        return {
          position: new _InternalAnimatedValue.default(0),
          finished: new _InternalAnimatedValue.default(0),
          velocity: new _InternalAnimatedValue.default(0),
          time: new _InternalAnimatedValue.default(0)
        };
      }
    }, {
      key: "decayDefaultState",
      value: function decayDefaultState() {
        return {
          position: new _InternalAnimatedValue.default(0),
          finished: new _InternalAnimatedValue.default(0),
          velocity: new _InternalAnimatedValue.default(0),
          time: new _InternalAnimatedValue.default(0)
        };
      }
    }, {
      key: "timingDefaultState",
      value: function timingDefaultState() {
        return {
          position: new _InternalAnimatedValue.default(0),
          finished: new _InternalAnimatedValue.default(0),
          time: new _InternalAnimatedValue.default(0),
          frameTime: new _InternalAnimatedValue.default(0)
        };
      }
    }]);
    return Animation;
  }();

  var _default = Animation;
  exports.default = _default;
},694,[5,7,8,656]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = backwardsCompatibleAnimWrapper;

  var _AnimatedClock = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function createOldAnimationObject(node, animationStateDefaults, value, config) {
    var newClock = new _AnimatedClock.default();
    var currentState = animationStateDefaults();
    var alwaysNode;
    var isStarted = false;
    var isDone = false;
    var wasStopped = false;
    var animationCallback;
    var animation = {
      start: function start(currentAnimationCallback) {
        animationCallback = currentAnimationCallback;

        if (isStarted) {
          animationCallback && animationCallback({
            finished: false
          });
          return;
        }

        if (isDone) {
          console.warn('Animation has been finished before');
          return;
        }

        if (!value.isNativelyInitialized()) {
          return;
        }

        isStarted = true;
        (0, _$$_REQUIRE(_dependencyMap[2]).evaluateOnce)((0, _$$_REQUIRE(_dependencyMap[3]).set)(currentState.position, value), currentState.position, function () {
          alwaysNode = (0, _$$_REQUIRE(_dependencyMap[3]).always)((0, _$$_REQUIRE(_dependencyMap[3]).set)(value, (0, _$$_REQUIRE(_dependencyMap[3]).block)([(0, _$$_REQUIRE(_dependencyMap[3]).cond)((0, _$$_REQUIRE(_dependencyMap[3]).clockRunning)(newClock), 0, (0, _$$_REQUIRE(_dependencyMap[3]).startClock)(newClock)), node(newClock, currentState, config), (0, _$$_REQUIRE(_dependencyMap[3]).cond)(currentState.finished, [(0, _$$_REQUIRE(_dependencyMap[3]).call)([], function () {
            isStarted = false;

            if (!wasStopped) {
              isDone = true;
            }

            value.__detachAnimation(animation);

            isDone = true;

            if (!wasStopped) {
              wasStopped = false;
            }
          }), (0, _$$_REQUIRE(_dependencyMap[3]).stopClock)(newClock)]), currentState.position])));

          value.__attachAnimation(animation);

          alwaysNode.__addChild(value);
        });
      },
      __detach: function __detach() {
        animationCallback && animationCallback({
          finished: isDone
        });
        animationCallback = null;
        value.__initialized && alwaysNode.__removeChild(value);
      },
      stop: function stop() {
        if (isDone) {
          console.warn('Calling stop has no effect as the animation has already completed');
          return;
        }

        if (!isStarted) {
          console.warn("Calling stop has no effect as the animation hasn't been started");
          return;
        }

        wasStopped = true;
        (0, _$$_REQUIRE(_dependencyMap[2]).evaluateOnce)((0, _$$_REQUIRE(_dependencyMap[3]).set)(currentState.finished, 1), currentState.finished);
      },
      __stopImmediately_testOnly: function __stopImmediately_testOnly(result) {
        animation.stop();
        isDone = result;

        value.__detachAnimation(animation);
      }
    };
    return animation;
  }

  function backwardsCompatibleAnimWrapper(node, animationStateDefaults) {
    return function (clock, state, config) {
      if (config !== undefined) {
        return node(clock, state, config);
      }

      return createOldAnimationObject(node, animationStateDefaults, clock, state);
    };
  }
},695,[5,659,673,653]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _InternalAnimatedValue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  function stiffnessFromOrigamiValue(oValue) {
    return (oValue - 30) * 3.62 + 194;
  }

  function dampingFromOrigamiValue(oValue) {
    return (oValue - 8) * 3 + 25;
  }

  function stiffnessFromOrigamiNode(oValue) {
    return (0, _$$_REQUIRE(_dependencyMap[4]).add)((0, _$$_REQUIRE(_dependencyMap[4]).multiply)((0, _$$_REQUIRE(_dependencyMap[4]).sub)(oValue, 30), 3.62), 194);
  }

  function dampingFromOrigamiNode(oValue) {
    return (0, _$$_REQUIRE(_dependencyMap[4]).add)((0, _$$_REQUIRE(_dependencyMap[4]).multiply)((0, _$$_REQUIRE(_dependencyMap[4]).sub)(oValue, 8), 3), 25);
  }

  function makeConfigFromOrigamiTensionAndFriction(prevConfig) {
    var tension = prevConfig.tension,
        friction = prevConfig.friction,
        rest = (0, _objectWithoutProperties2.default)(prevConfig, ["tension", "friction"]);
    return (0, _extends2.default)({}, rest, {
      stiffness: typeof tension === 'number' ? stiffnessFromOrigamiValue(tension) : stiffnessFromOrigamiNode(tension),
      damping: typeof friction === 'number' ? dampingFromOrigamiValue(friction) : dampingFromOrigamiNode(friction)
    });
  }

  function makeConfigFromBouncinessAndSpeed(prevConfig) {
    var bounciness = prevConfig.bounciness,
        speed = prevConfig.speed,
        rest = (0, _objectWithoutProperties2.default)(prevConfig, ["bounciness", "speed"]);

    if (typeof bounciness === 'number' && typeof speed === 'number') {
      return fromBouncinessAndSpeedNumbers(bounciness, speed, rest);
    }

    return fromBouncinessAndSpeedNodes(bounciness, speed, rest);
  }

  function fromBouncinessAndSpeedNodes(bounciness, speed, rest) {
    function normalize(value, startValue, endValue) {
      return (0, _$$_REQUIRE(_dependencyMap[4]).divide)((0, _$$_REQUIRE(_dependencyMap[4]).sub)(value, startValue), (0, _$$_REQUIRE(_dependencyMap[4]).sub)(endValue, startValue));
    }

    function projectNormal(n, start, end) {
      return (0, _$$_REQUIRE(_dependencyMap[4]).add)(start, (0, _$$_REQUIRE(_dependencyMap[4]).multiply)(n, (0, _$$_REQUIRE(_dependencyMap[4]).sub)(end, start)));
    }

    function linearInterpolation(t, start, end) {
      return (0, _$$_REQUIRE(_dependencyMap[4]).add)((0, _$$_REQUIRE(_dependencyMap[4]).multiply)(t, end), (0, _$$_REQUIRE(_dependencyMap[4]).multiply)((0, _$$_REQUIRE(_dependencyMap[4]).sub)(1, t), start));
    }

    function quadraticOutInterpolation(t, start, end) {
      return linearInterpolation((0, _$$_REQUIRE(_dependencyMap[4]).sub)((0, _$$_REQUIRE(_dependencyMap[4]).multiply)(2, t), (0, _$$_REQUIRE(_dependencyMap[4]).multiply)(t, t)), start, end);
    }

    function b3Friction1(x) {
      return (0, _$$_REQUIRE(_dependencyMap[4]).add)((0, _$$_REQUIRE(_dependencyMap[4]).sub)((0, _$$_REQUIRE(_dependencyMap[4]).multiply)(0.0007, (0, _$$_REQUIRE(_dependencyMap[4]).pow)(x, 3)), (0, _$$_REQUIRE(_dependencyMap[4]).multiply)(0.031, (0, _$$_REQUIRE(_dependencyMap[4]).pow)(x, 2))), (0, _$$_REQUIRE(_dependencyMap[4]).multiply)(0.64, x), 1.28);
    }

    function b3Friction2(x) {
      return (0, _$$_REQUIRE(_dependencyMap[4]).add)((0, _$$_REQUIRE(_dependencyMap[4]).sub)((0, _$$_REQUIRE(_dependencyMap[4]).multiply)(0.000044, (0, _$$_REQUIRE(_dependencyMap[4]).pow)(x, 3)), (0, _$$_REQUIRE(_dependencyMap[4]).multiply)(0.006, (0, _$$_REQUIRE(_dependencyMap[4]).pow)(x, 2))), (0, _$$_REQUIRE(_dependencyMap[4]).multiply)(0.36, x), 2);
    }

    function b3Friction3(x) {
      return (0, _$$_REQUIRE(_dependencyMap[4]).add)((0, _$$_REQUIRE(_dependencyMap[4]).sub)((0, _$$_REQUIRE(_dependencyMap[4]).multiply)(0.00000045, (0, _$$_REQUIRE(_dependencyMap[4]).pow)(x, 3)), (0, _$$_REQUIRE(_dependencyMap[4]).multiply)(0.000332, (0, _$$_REQUIRE(_dependencyMap[4]).pow)(x, 2))), (0, _$$_REQUIRE(_dependencyMap[4]).multiply)(0.1078, x), 5.84);
    }

    function b3Nobounce(tension) {
      return (0, _$$_REQUIRE(_dependencyMap[4]).cond)((0, _$$_REQUIRE(_dependencyMap[4]).lessOrEq)(tension, 18), b3Friction1(tension), (0, _$$_REQUIRE(_dependencyMap[4]).cond)((0, _$$_REQUIRE(_dependencyMap[4]).and)((0, _$$_REQUIRE(_dependencyMap[4]).greaterThan)(tension, 18), (0, _$$_REQUIRE(_dependencyMap[4]).lessOrEq)(tension, 44)), b3Friction2(tension), b3Friction3(tension)));
    }

    var b = normalize((0, _$$_REQUIRE(_dependencyMap[4]).divide)(bounciness, 1.7), 0, 20);
    b = projectNormal(b, 0, 0.8);
    var s = normalize((0, _$$_REQUIRE(_dependencyMap[4]).divide)(speed, 1.7), 0, 20);
    var bouncyTension = projectNormal(s, 0.5, 200);
    var bouncyFriction = quadraticOutInterpolation(b, b3Nobounce(bouncyTension), 0.01);
    return (0, _extends2.default)({}, rest, {
      stiffness: stiffnessFromOrigamiNode(bouncyTension),
      damping: dampingFromOrigamiNode(bouncyFriction)
    });
  }

  function fromBouncinessAndSpeedNumbers(bounciness, speed, rest) {
    function normalize(value, startValue, endValue) {
      return (value - startValue) / (endValue - startValue);
    }

    function projectNormal(n, start, end) {
      return start + n * (end - start);
    }

    function linearInterpolation(t, start, end) {
      return t * end + (1 - t) * start;
    }

    function quadraticOutInterpolation(t, start, end) {
      return linearInterpolation(2 * t - t * t, start, end);
    }

    function b3Friction1(x) {
      return 0.0007 * Math.pow(x, 3) - 0.031 * Math.pow(x, 2) + 0.64 * x + 1.28;
    }

    function b3Friction2(x) {
      return 0.000044 * Math.pow(x, 3) - 0.006 * Math.pow(x, 2) + 0.36 * x + 2;
    }

    function b3Friction3(x) {
      return 0.00000045 * Math.pow(x, 3) - 0.000332 * Math.pow(x, 2) + 0.1078 * x + 5.84;
    }

    function b3Nobounce(tension) {
      if (tension <= 18) {
        return b3Friction1(tension);
      } else if (tension > 18 && tension <= 44) {
        return b3Friction2(tension);
      } else {
        return b3Friction3(tension);
      }
    }

    var b = normalize(bounciness / 1.7, 0, 20);
    b = projectNormal(b, 0, 0.8);
    var s = normalize(speed / 1.7, 0, 20);
    var bouncyTension = projectNormal(s, 0.5, 200);
    var bouncyFriction = quadraticOutInterpolation(b, b3Nobounce(bouncyTension), 0.01);
    return (0, _extends2.default)({}, rest, {
      stiffness: stiffnessFromOrigamiValue(bouncyTension),
      damping: dampingFromOrigamiValue(bouncyFriction)
    });
  }

  function makeDefaultConfig() {
    return {
      stiffness: new _InternalAnimatedValue.default(100),
      mass: new _InternalAnimatedValue.default(1),
      damping: new _InternalAnimatedValue.default(10),
      overshootClamping: false,
      restSpeedThreshold: 0.001,
      restDisplacementThreshold: 0.001,
      toValue: new _InternalAnimatedValue.default(0)
    };
  }

  var _default = {
    makeDefaultConfig: makeDefaultConfig,
    makeConfigFromBouncinessAndSpeed: makeConfigFromBouncinessAndSpeed,
    makeConfigFromOrigamiTensionAndFriction: makeConfigFromOrigamiTensionAndFriction
  };
  exports.default = _default;
},696,[5,6,108,656,653]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useValue;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _AnimatedValue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  function useValue(initialValue) {
    var ref = _react.default.useRef(null);

    if (ref.current === null) {
      ref.current = new _AnimatedValue.default(initialValue);
    }

    return ref.current;
  }
},697,[5,17,667]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.addWhitelistedNativeProps = addWhitelistedNativeProps;
  exports.addWhitelistedUIProps = addWhitelistedUIProps;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _ReanimatedModule = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var UI_THREAD_PROPS_WHITELIST = {
    opacity: true,
    transform: true,
    backgroundColor: true,
    borderRightColor: true,
    borderBottomColor: true,
    borderColor: true,
    borderEndColor: true,
    borderLeftColor: true,
    borderStartColor: true,
    borderTopColor: true,
    shadowOpacity: true,
    shadowRadius: true,
    scaleX: true,
    scaleY: true,
    translateX: true,
    translateY: true
  };
  var NATIVE_THREAD_PROPS_WHITELIST = {
    borderBottomWidth: true,
    borderEndWidth: true,
    borderLeftWidth: true,
    borderRightWidth: true,
    borderStartWidth: true,
    borderTopWidth: true,
    borderWidth: true,
    bottom: true,
    flex: true,
    flexGrow: true,
    flexShrink: true,
    height: true,
    left: true,
    margin: true,
    marginBottom: true,
    marginEnd: true,
    marginHorizontal: true,
    marginLeft: true,
    marginRight: true,
    marginStart: true,
    marginTop: true,
    marginVertical: true,
    maxHeight: true,
    maxWidth: true,
    minHeight: true,
    minWidth: true,
    padding: true,
    paddingBottom: true,
    paddingEnd: true,
    paddingHorizontal: true,
    paddingLeft: true,
    paddingRight: true,
    paddingStart: true,
    paddingTop: true,
    paddingVertical: true,
    right: true,
    start: true,
    top: true,
    width: true,
    zIndex: true,
    borderBottomEndRadius: true,
    borderBottomLeftRadius: true,
    borderBottomRightRadius: true,
    borderBottomStartRadius: true,
    borderRadius: true,
    borderTopEndRadius: true,
    borderTopLeftRadius: true,
    borderTopRightRadius: true,
    borderTopStartRadius: true,
    opacity: true,
    elevation: true,
    fontSize: true,
    lineHeight: true,
    textShadowRadius: true,
    letterSpacing: true,
    display: true,
    backfaceVisibility: true,
    overflow: true,
    resizeMode: true,
    fontStyle: true,
    fontWeight: true,
    textAlign: true,
    textDecorationLine: true,
    fontFamily: true,
    textAlignVertical: true,
    fontVariant: true,
    textDecorationStyle: true,
    textTransform: true,
    writingDirection: true,
    color: true
  };

  function configureProps() {
    _ReanimatedModule.default.configureProps(Object.keys(NATIVE_THREAD_PROPS_WHITELIST), Object.keys(UI_THREAD_PROPS_WHITELIST));
  }

  function addWhitelistedNativeProps(props) {
    NATIVE_THREAD_PROPS_WHITELIST = (0, _extends2.default)({}, NATIVE_THREAD_PROPS_WHITELIST, props);
    configureProps();
  }

  function addWhitelistedUIProps(props) {
    UI_THREAD_PROPS_WHITELIST = (0, _extends2.default)({}, UI_THREAD_PROPS_WHITELIST, props);
    configureProps();
  }

  configureProps();
},698,[5,6,648]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Css = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var RnCss = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var _RnCss$default = RnCss.default,
      Consumer = _RnCss$default.Consumer,
      Provider = _RnCss$default.Provider;

  var getDeviceInfo = function getDeviceInfo() {
    return {
      isPortrait: _deviceUtils.default.isPortrait(),
      isTablet: _$$_REQUIRE(_dependencyMap[12]).PlatformUtils.isTablet(),
      isDark: _deviceUtils.default.isDark()
    };
  };

  var CssProvider = function (_React$Component) {
    (0, _inherits2.default)(CssProvider, _React$Component);

    var _super = _createSuper(CssProvider);

    function CssProvider() {
      (0, _classCallCheck2.default)(this, CssProvider);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(CssProvider, [{
      key: "render",
      value: function render() {
        return _react.default.createElement(Provider, this.props);
      }
    }]);
    return CssProvider;
  }(_react.default.Component);

  var Css = function (_React$Component2) {
    (0, _inherits2.default)(Css, _React$Component2);

    var _super2 = _createSuper(Css);

    function Css() {
      (0, _classCallCheck2.default)(this, Css);
      return _super2.apply(this, arguments);
    }

    (0, _createClass2.default)(Css, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this.onSizeChangeId = _$$_REQUIRE(_dependencyMap[13]).EventRegister.addEventListener(_events.default.ON_ORIENTATION_CHANGE, function () {
          RnCss.default.set((0, _extends2.default)({}, getDeviceInfo()));
        });
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        if (this.onSizeChangeId) {
          _$$_REQUIRE(_dependencyMap[13]).EventRegister.rm(this.onSizeChangeId);
        }
      }
    }, {
      key: "render",
      value: function render() {
        return _react.default.createElement(Consumer, this.props);
      }
    }], [{
      key: "flatten",
      value: function flatten(styles, classes) {
        var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
        return RnCss.CssHelper.flatten(styles, classes, attributes);
      }
    }, {
      key: "getStyleByCssClasses",
      value: function getStyleByCssClasses() {
        var classes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        var attributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
        return RnCss.CssHelper.getStyle(classes, attributes);
      }
    }, {
      key: "getStyleObjByCssClasses",
      value: function getStyleObjByCssClasses() {
        var classes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        var attributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
        return RnCss.CssHelper.getStyleObj(classes, attributes);
      }
    }, {
      key: "getActiveTheme",
      value: function getActiveTheme() {
        return RnCss.CssHelper.getActiveThemeId();
      }
    }, {
      key: "getThemeInUse",
      value: function getThemeInUse() {
        return RnCss.CssHelper.getInUseThemeId();
      }
    }, {
      key: "getThemes",
      value: function getThemes() {
        return RnCss.CssHelper.getThemes();
      }
    }, {
      key: "arrayToObject",
      value: function arrayToObject(styles) {
        return RnCss.CssHelper.arrayToObject(styles);
      }
    }, {
      key: "applyCustomStyles",
      value: function applyCustomStyles() {
        var otherStyles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var merged = RnCss.CssHelper.mergeRnStyles((0, _$$_REQUIRE(_dependencyMap[14]).getDefaultStyles)(), otherStyles, (0, _$$_REQUIRE(_dependencyMap[15]).getDebugStyles)());
        RnCss.default.set((0, _extends2.default)({
          rnStyles: merged
        }, getDeviceInfo(), {
          activeTheme: Css.getUserTheme()
        }));
      }
    }, {
      key: "updateCustomStyles",
      value: function updateCustomStyles(newTheme) {
        var oldTheme;
        return _regenerator.default.async(function updateCustomStyles$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                oldTheme = Css.getUserTheme();

                if (!(newTheme !== oldTheme)) {
                  _context.next = 6;
                  break;
                }

                _context.next = 4;
                return _regenerator.default.awrap(global.getNewsmemoryConfig().setTheme(newTheme));

              case 4:
                RnCss.default.set({
                  activeTheme: newTheme
                });
                return _context.abrupt("return", true);

              case 6:
                return _context.abrupt("return", false);

              case 7:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getUserTheme",
      value: function getUserTheme() {
        var _global$getNewsmemory = global.getNewsmemoryConfig(),
            cssTheme = _global$getNewsmemory.cssTheme;

        return cssTheme;
      }
    }, {
      key: "getDefaultBackgroundColor",
      value: function getDefaultBackgroundColor() {
        return RnCss.CssHelper.isActiveThemeDark() ? _$$_REQUIRE(_dependencyMap[12]).colors.grey1010 : _$$_REQUIRE(_dependencyMap[12]).colors.white;
      }
    }, {
      key: "getAlternateDefaultBackgroundColor",
      value: function getAlternateDefaultBackgroundColor() {
        return RnCss.CssHelper.isActiveThemeDark() ? _$$_REQUIRE(_dependencyMap[12]).colors.grey1200 : _$$_REQUIRE(_dependencyMap[12]).colors.grey200;
      }
    }, {
      key: "getDefaultForegroundColor",
      value: function getDefaultForegroundColor() {
        return RnCss.CssHelper.isActiveThemeDark() ? _$$_REQUIRE(_dependencyMap[12]).colors.white_transparent_135 : _$$_REQUIRE(_dependencyMap[12]).colors.black;
      }
    }, {
      key: "isDarkTheme",
      value: function isDarkTheme() {
        return RnCss.CssHelper.isActiveThemeDark();
      }
    }]);
    return Css;
  }(_react.default.Component);

  exports.Css = Css;
  Css.Provider = CssProvider;
  Css.use = RnCss.useCss;
},699,[5,80,6,7,8,12,14,16,17,700,460,458,462,572,708,709]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "useCss", {
    enumerable: true,
    get: function get() {
      return _context.useCss;
    }
  });
  exports.default = exports.CssHelper = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _context = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function Provider(props) {
    return _react.default.createElement(_context.default.Provider, (0, _extends2.default)({}, props, {
      decorator: function decorator(state, decorators) {
        var _ref = decorators || {},
            classes = _ref.classes,
            rest = (0, _objectWithoutProperties2.default)(_ref, ["classes"]);

        return _$$_REQUIRE(_dependencyMap[6]).CssManager.getStyleObj(state, classes, rest);
      }
    }));
  }

  function Consumer(_ref2) {
    var children = _ref2.children,
        props = (0, _objectWithoutProperties2.default)(_ref2, ["children"]);
    return _react.default.createElement(_context.default.Consumer, props, function (_ref3) {
      var _ref3$decoratedState = _ref3.decoratedState,
          decoratedStyle = _ref3$decoratedState === undefined ? {} : _ref3$decoratedState;

      if (!props.classes || !props.classes.length) {
        return children;
      }

      if (!Object.keys(decoratedStyle).length) {
        return children;
      }

      return _react.default.Children.map(children, function (element) {
        if (element) {
          var _element$props = element.props,
              style = _element$props.style,
              rest = (0, _objectWithoutProperties2.default)(_element$props, ["style"]);
          var newStyle = [];

          if (Array.isArray(style)) {
            newStyle = (0, _toConsumableArray2.default)(style);
          } else if (style !== undefined) {
            newStyle.push(style);
          }

          newStyle.push(decoratedStyle);
          return _react.default.cloneElement(element, (0, _extends2.default)({}, rest, {
            style: newStyle
          }));
        }

        return element;
      });
    });
  }

  var Css = (0, _extends2.default)({}, _context.default, {
    Provider: Provider,
    Consumer: Consumer
  });
  var CssHelper = {
    arrayToObject: function arrayToObject() {
      var styles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
      return _$$_REQUIRE(_dependencyMap[6]).CssManager.arrayToObject(styles);
    },
    flatten: function flatten() {
      var styles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
      var classes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
      var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
      return _$$_REQUIRE(_dependencyMap[6]).CssManager.flatten(Css.get().state, styles, classes, attributes);
    },
    getStyle: function getStyle() {
      var classes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
      var attributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
      return _$$_REQUIRE(_dependencyMap[6]).CssManager.getStyle(Css.get().state, classes, attributes);
    },
    getStyleObj: function getStyleObj() {
      var classes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
      var attributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
      return _$$_REQUIRE(_dependencyMap[6]).CssManager.getStyleObj(Css.get().state, classes, attributes);
    },
    getInUseThemeId: function getInUseThemeId() {
      return _$$_REQUIRE(_dependencyMap[6]).CssManager.getInUseThemeId(Css.get().state);
    },
    getInUseTheme: function getInUseTheme() {
      return _$$_REQUIRE(_dependencyMap[6]).CssManager.getInUseTheme(Css.get().state);
    },
    getActiveThemeId: function getActiveThemeId() {
      return _$$_REQUIRE(_dependencyMap[6]).CssManager.getActiveThemeId(Css.get().state);
    },
    getThemes: function getThemes() {
      return _$$_REQUIRE(_dependencyMap[6]).CssManager.getThemes(Css.get().state);
    },
    isActiveThemeDark: function isActiveThemeDark() {
      return _$$_REQUIRE(_dependencyMap[6]).CssManager.isActiveThemeDark(Css.get().state);
    },
    mergeRnStyles: _$$_REQUIRE(_dependencyMap[7]).CssUtils.mergeRnStyles
  };
  exports.CssHelper = CssHelper;
  var _default = Css;
  exports.default = _default;
},700,[5,21,6,108,17,701,704,706]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.useCss = useCss;
  exports.default = undefined;
  var CssContext = (0, _$$_REQUIRE(_dependencyMap[0]).createReactiveContext)({
    rnStyles: {}
  });

  function useCss(decorators) {
    return (0, _$$_REQUIRE(_dependencyMap[0]).useReactiveContext)(CssContext, decorators);
  }

  var _default = CssContext;
  exports.default = _default;
},701,[702]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _interopDefault(ex) {
    return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;
  }

  var React = _$$_REQUIRE(_dependencyMap[0]);

  var React__default = _interopDefault(React);

  var isEqual = _interopDefault(_$$_REQUIRE(_dependencyMap[1]));

  function _extends() {
    _extends = Object.assign ? Object.assign.bind() : function (target) {
      for (var i = 1; i < arguments.length; i++) {
        var source = arguments[i];

        for (var key in source) {
          if (Object.prototype.hasOwnProperty.call(source, key)) {
            target[key] = source[key];
          }
        }
      }

      return target;
    };
    return _extends.apply(this, arguments);
  }

  function _objectWithoutPropertiesLoose(source, excluded) {
    if (source == null) return {};
    var target = {};
    var sourceKeys = Object.keys(source);
    var key, i;

    for (i = 0; i < sourceKeys.length; i++) {
      key = sourceKeys[i];
      if (excluded.indexOf(key) >= 0) continue;
      target[key] = source[key];
    }

    return target;
  }

  var Utils;

  (function (Utils) {
    function equals(a, b) {
      return isEqual(a, b);
    }

    Utils.equals = equals;
  })(Utils || (Utils = {}));

  var _excluded = ["value", "decorator"],
      _excluded2 = ["children"];

  var _decorator;

  function _decorateState(state, decorators) {
    var decoratedState;

    if (typeof _decorator === "function") {
      decoratedState = _decorator(state, decorators);
    }

    return {
      decoratedState: decoratedState,
      state: state
    };
  }

  function createReactiveContext(defaultValue, defaultDecorator) {
    var Context = React.createContext(defaultValue);
    var _subscribers = {};

    var _updater;

    var _currentData;

    _decorator = defaultDecorator;

    function _clearSubscribers(ids) {
      if (ids === undefined) {
        ids = [];
      }

      for (var i = 0; i < ids.length; i++) {
        delete _subscribers[ids[i]];
      }
    }

    function _callSubscribers(state) {
      var idsToDelete = [];
      var ids = Object.keys(_subscribers);
      ids.forEach(function (id) {
        var subscriber = _subscribers[id];

        if (subscriber && typeof subscriber.callback === "function") {
          subscriber.callback(_decorateState(state, subscriber.decorators));
        } else {
          idsToDelete.push(id);
        }
      });
      return idsToDelete;
    }

    var Provider = function Provider(_ref) {
      var propValue = _ref.value,
          decoratorProp = _ref.decorator,
          rest = _objectWithoutPropertiesLoose(_ref, _excluded);

      var _useState = React.useState(defaultValue),
          state = _useState[0],
          setState = _useState[1];

      React.useEffect(function () {
        _currentData = state;

        _clearSubscribers(_callSubscribers(state));

        _updater = function _updater(value) {
          if (value === undefined) {
            value = state;
          }

          var newState;

          if (typeof value === "function") {
            newState = value(state);
          } else if (typeof value === "object" && !Array.isArray(value)) {
            newState = _extends({}, state, value);
          } else {
            newState = value || state;
          }

          if (!Utils.equals(newState, state)) {
            setState(newState);
          }
        };
      }, [state]);
      React.useEffect(function () {
        _decorator = decoratorProp;
      }, [decoratorProp]);
      React.useEffect(function () {
        _updater(propValue);
      }, [propValue]);
      return React__default.createElement(Context.Provider, _$$_REQUIRE(_dependencyMap[2])({
        value: state
      }, rest));
    };

    function Consumer(props) {
      var children = props.children,
          decorators = _objectWithoutPropertiesLoose(props, _excluded2);

      var state = React.useContext(Context);
      return React__default.createElement(React__default.Fragment, null, children(_decorateState(state, decorators)));
    }

    return _extends({
      "default": Context
    }, Context, {
      Provider: Provider,
      Consumer: Consumer,
      set: function set(value) {
        if (typeof _updater === "function") {
          _updater(value);
        }
      },
      get: function get(decorators) {
        return _decorateState(_currentData, decorators);
      },
      subscribe: function subscribe(callback, decorators) {
        var id = "" + Math.random().toString(36).substr(2, 9);
        _subscribers[id] = {
          callback: callback,
          decorators: decorators
        };

        if (typeof callback === "function") {
          callback(_decorateState(_currentData, decorators));
        }

        return function () {
          delete _subscribers[id];
        };
      },
      removeAllSubscribers: function removeAllSubscribers() {
        return _clearSubscribers(Object.keys(_subscribers));
      }
    });
  }

  function useReactiveContext(context, decorators) {
    var _state = React.useContext(context["default"]);

    return _decorateState(_state, decorators);
  }

  exports.createReactiveContext = createReactiveContext;
  exports.useReactiveContext = useReactiveContext;
},702,[17,703,6]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var LARGE_ARRAY_SIZE = 200;
  var HASH_UNDEFINED = '__lodash_hash_undefined__';
  var COMPARE_PARTIAL_FLAG = 1,
      COMPARE_UNORDERED_FLAG = 2;
  var MAX_SAFE_INTEGER = 9007199254740991;
  var argsTag = '[object Arguments]',
      arrayTag = '[object Array]',
      asyncTag = '[object AsyncFunction]',
      boolTag = '[object Boolean]',
      dateTag = '[object Date]',
      errorTag = '[object Error]',
      funcTag = '[object Function]',
      genTag = '[object GeneratorFunction]',
      mapTag = '[object Map]',
      numberTag = '[object Number]',
      nullTag = '[object Null]',
      objectTag = '[object Object]',
      promiseTag = '[object Promise]',
      proxyTag = '[object Proxy]',
      regexpTag = '[object RegExp]',
      setTag = '[object Set]',
      stringTag = '[object String]',
      symbolTag = '[object Symbol]',
      undefinedTag = '[object Undefined]',
      weakMapTag = '[object WeakMap]';
  var arrayBufferTag = '[object ArrayBuffer]',
      dataViewTag = '[object DataView]',
      float32Tag = '[object Float32Array]',
      float64Tag = '[object Float64Array]',
      int8Tag = '[object Int8Array]',
      int16Tag = '[object Int16Array]',
      int32Tag = '[object Int32Array]',
      uint8Tag = '[object Uint8Array]',
      uint8ClampedTag = '[object Uint8ClampedArray]',
      uint16Tag = '[object Uint16Array]',
      uint32Tag = '[object Uint32Array]';
  var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
  var reIsHostCtor = /^\[object .+?Constructor\]$/;
  var reIsUint = /^(?:0|[1-9]\d*)$/;
  var typedArrayTags = {};
  typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
  typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
  var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
  var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
  var root = freeGlobal || freeSelf || Function('return this')();
  var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
  var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
  var moduleExports = freeModule && freeModule.exports === freeExports;
  var freeProcess = moduleExports && freeGlobal.process;

  var nodeUtil = function () {
    try {
      return freeProcess && freeProcess.binding && freeProcess.binding('util');
    } catch (e) {}
  }();

  var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;

  function arrayFilter(array, predicate) {
    var index = -1,
        length = array == null ? 0 : array.length,
        resIndex = 0,
        result = [];

    while (++index < length) {
      var value = array[index];

      if (predicate(value, index, array)) {
        result[resIndex++] = value;
      }
    }

    return result;
  }

  function arrayPush(array, values) {
    var index = -1,
        length = values.length,
        offset = array.length;

    while (++index < length) {
      array[offset + index] = values[index];
    }

    return array;
  }

  function arraySome(array, predicate) {
    var index = -1,
        length = array == null ? 0 : array.length;

    while (++index < length) {
      if (predicate(array[index], index, array)) {
        return true;
      }
    }

    return false;
  }

  function baseTimes(n, iteratee) {
    var index = -1,
        result = Array(n);

    while (++index < n) {
      result[index] = iteratee(index);
    }

    return result;
  }

  function baseUnary(func) {
    return function (value) {
      return func(value);
    };
  }

  function cacheHas(cache, key) {
    return cache.has(key);
  }

  function getValue(object, key) {
    return object == null ? undefined : object[key];
  }

  function mapToArray(map) {
    var index = -1,
        result = Array(map.size);
    map.forEach(function (value, key) {
      result[++index] = [key, value];
    });
    return result;
  }

  function overArg(func, transform) {
    return function (arg) {
      return func(transform(arg));
    };
  }

  function setToArray(set) {
    var index = -1,
        result = Array(set.size);
    set.forEach(function (value) {
      result[++index] = value;
    });
    return result;
  }

  var arrayProto = Array.prototype,
      funcProto = Function.prototype,
      objectProto = Object.prototype;
  var coreJsData = root['__core-js_shared__'];
  var funcToString = funcProto.toString;
  var hasOwnProperty = objectProto.hasOwnProperty;

  var maskSrcKey = function () {
    var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
    return uid ? 'Symbol(src)_1.' + uid : '';
  }();

  var nativeObjectToString = objectProto.toString;
  var reIsNative = RegExp('^' + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&').replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$');
  var Buffer = moduleExports ? root.Buffer : undefined,
      Symbol = root.Symbol,
      Uint8Array = root.Uint8Array,
      propertyIsEnumerable = objectProto.propertyIsEnumerable,
      splice = arrayProto.splice,
      symToStringTag = Symbol ? Symbol.toStringTag : undefined;
  var nativeGetSymbols = Object.getOwnPropertySymbols,
      nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,
      nativeKeys = overArg(Object.keys, Object);
  var DataView = getNative(root, 'DataView'),
      Map = getNative(root, 'Map'),
      Promise = getNative(root, 'Promise'),
      Set = getNative(root, 'Set'),
      WeakMap = getNative(root, 'WeakMap'),
      nativeCreate = getNative(Object, 'create');
  var dataViewCtorString = toSource(DataView),
      mapCtorString = toSource(Map),
      promiseCtorString = toSource(Promise),
      setCtorString = toSource(Set),
      weakMapCtorString = toSource(WeakMap);
  var symbolProto = Symbol ? Symbol.prototype : undefined,
      symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;

  function Hash(entries) {
    var index = -1,
        length = entries == null ? 0 : entries.length;
    this.clear();

    while (++index < length) {
      var entry = entries[index];
      this.set(entry[0], entry[1]);
    }
  }

  function hashClear() {
    this.__data__ = nativeCreate ? nativeCreate(null) : {};
    this.size = 0;
  }

  function hashDelete(key) {
    var result = this.has(key) && delete this.__data__[key];
    this.size -= result ? 1 : 0;
    return result;
  }

  function hashGet(key) {
    var data = this.__data__;

    if (nativeCreate) {
      var result = data[key];
      return result === HASH_UNDEFINED ? undefined : result;
    }

    return hasOwnProperty.call(data, key) ? data[key] : undefined;
  }

  function hashHas(key) {
    var data = this.__data__;
    return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);
  }

  function hashSet(key, value) {
    var data = this.__data__;
    this.size += this.has(key) ? 0 : 1;
    data[key] = nativeCreate && value === undefined ? HASH_UNDEFINED : value;
    return this;
  }

  Hash.prototype.clear = hashClear;
  Hash.prototype['delete'] = hashDelete;
  Hash.prototype.get = hashGet;
  Hash.prototype.has = hashHas;
  Hash.prototype.set = hashSet;

  function ListCache(entries) {
    var index = -1,
        length = entries == null ? 0 : entries.length;
    this.clear();

    while (++index < length) {
      var entry = entries[index];
      this.set(entry[0], entry[1]);
    }
  }

  function listCacheClear() {
    this.__data__ = [];
    this.size = 0;
  }

  function listCacheDelete(key) {
    var data = this.__data__,
        index = assocIndexOf(data, key);

    if (index < 0) {
      return false;
    }

    var lastIndex = data.length - 1;

    if (index == lastIndex) {
      data.pop();
    } else {
      splice.call(data, index, 1);
    }

    --this.size;
    return true;
  }

  function listCacheGet(key) {
    var data = this.__data__,
        index = assocIndexOf(data, key);
    return index < 0 ? undefined : data[index][1];
  }

  function listCacheHas(key) {
    return assocIndexOf(this.__data__, key) > -1;
  }

  function listCacheSet(key, value) {
    var data = this.__data__,
        index = assocIndexOf(data, key);

    if (index < 0) {
      ++this.size;
      data.push([key, value]);
    } else {
      data[index][1] = value;
    }

    return this;
  }

  ListCache.prototype.clear = listCacheClear;
  ListCache.prototype['delete'] = listCacheDelete;
  ListCache.prototype.get = listCacheGet;
  ListCache.prototype.has = listCacheHas;
  ListCache.prototype.set = listCacheSet;

  function MapCache(entries) {
    var index = -1,
        length = entries == null ? 0 : entries.length;
    this.clear();

    while (++index < length) {
      var entry = entries[index];
      this.set(entry[0], entry[1]);
    }
  }

  function mapCacheClear() {
    this.size = 0;
    this.__data__ = {
      'hash': new Hash(),
      'map': new (Map || ListCache)(),
      'string': new Hash()
    };
  }

  function mapCacheDelete(key) {
    var result = getMapData(this, key)['delete'](key);
    this.size -= result ? 1 : 0;
    return result;
  }

  function mapCacheGet(key) {
    return getMapData(this, key).get(key);
  }

  function mapCacheHas(key) {
    return getMapData(this, key).has(key);
  }

  function mapCacheSet(key, value) {
    var data = getMapData(this, key),
        size = data.size;
    data.set(key, value);
    this.size += data.size == size ? 0 : 1;
    return this;
  }

  MapCache.prototype.clear = mapCacheClear;
  MapCache.prototype['delete'] = mapCacheDelete;
  MapCache.prototype.get = mapCacheGet;
  MapCache.prototype.has = mapCacheHas;
  MapCache.prototype.set = mapCacheSet;

  function SetCache(values) {
    var index = -1,
        length = values == null ? 0 : values.length;
    this.__data__ = new MapCache();

    while (++index < length) {
      this.add(values[index]);
    }
  }

  function setCacheAdd(value) {
    this.__data__.set(value, HASH_UNDEFINED);

    return this;
  }

  function setCacheHas(value) {
    return this.__data__.has(value);
  }

  SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
  SetCache.prototype.has = setCacheHas;

  function Stack(entries) {
    var data = this.__data__ = new ListCache(entries);
    this.size = data.size;
  }

  function stackClear() {
    this.__data__ = new ListCache();
    this.size = 0;
  }

  function stackDelete(key) {
    var data = this.__data__,
        result = data['delete'](key);
    this.size = data.size;
    return result;
  }

  function stackGet(key) {
    return this.__data__.get(key);
  }

  function stackHas(key) {
    return this.__data__.has(key);
  }

  function stackSet(key, value) {
    var data = this.__data__;

    if (data instanceof ListCache) {
      var pairs = data.__data__;

      if (!Map || pairs.length < 199) {
        pairs.push([key, value]);
        this.size = ++data.size;
        return this;
      }

      data = this.__data__ = new MapCache(pairs);
    }

    data.set(key, value);
    this.size = data.size;
    return this;
  }

  Stack.prototype.clear = stackClear;
  Stack.prototype['delete'] = stackDelete;
  Stack.prototype.get = stackGet;
  Stack.prototype.has = stackHas;
  Stack.prototype.set = stackSet;

  function arrayLikeKeys(value, inherited) {
    var isArr = isArray(value),
        isArg = !isArr && isArguments(value),
        isBuff = !isArr && !isArg && isBuffer(value),
        isType = !isArr && !isArg && !isBuff && isTypedArray(value),
        skipIndexes = isArr || isArg || isBuff || isType,
        result = skipIndexes ? baseTimes(value.length, String) : [],
        length = result.length;

    for (var key in value) {
      if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && (key == 'length' || isBuff && (key == 'offset' || key == 'parent') || isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset') || isIndex(key, length)))) {
        result.push(key);
      }
    }

    return result;
  }

  function assocIndexOf(array, key) {
    var length = array.length;

    while (length--) {
      if (eq(array[length][0], key)) {
        return length;
      }
    }

    return -1;
  }

  function baseGetAllKeys(object, keysFunc, symbolsFunc) {
    var result = keysFunc(object);
    return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
  }

  function baseGetTag(value) {
    if (value == null) {
      return value === undefined ? undefinedTag : nullTag;
    }

    return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
  }

  function baseIsArguments(value) {
    return isObjectLike(value) && baseGetTag(value) == argsTag;
  }

  function baseIsEqual(value, other, bitmask, customizer, stack) {
    if (value === other) {
      return true;
    }

    if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) {
      return value !== value && other !== other;
    }

    return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
  }

  function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
    var objIsArr = isArray(object),
        othIsArr = isArray(other),
        objTag = objIsArr ? arrayTag : getTag(object),
        othTag = othIsArr ? arrayTag : getTag(other);
    objTag = objTag == argsTag ? objectTag : objTag;
    othTag = othTag == argsTag ? objectTag : othTag;
    var objIsObj = objTag == objectTag,
        othIsObj = othTag == objectTag,
        isSameTag = objTag == othTag;

    if (isSameTag && isBuffer(object)) {
      if (!isBuffer(other)) {
        return false;
      }

      objIsArr = true;
      objIsObj = false;
    }

    if (isSameTag && !objIsObj) {
      stack || (stack = new Stack());
      return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
    }

    if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
      var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
          othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');

      if (objIsWrapped || othIsWrapped) {
        var objUnwrapped = objIsWrapped ? object.value() : object,
            othUnwrapped = othIsWrapped ? other.value() : other;
        stack || (stack = new Stack());
        return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
      }
    }

    if (!isSameTag) {
      return false;
    }

    stack || (stack = new Stack());
    return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
  }

  function baseIsNative(value) {
    if (!isObject(value) || isMasked(value)) {
      return false;
    }

    var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
    return pattern.test(toSource(value));
  }

  function baseIsTypedArray(value) {
    return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
  }

  function baseKeys(object) {
    if (!isPrototype(object)) {
      return nativeKeys(object);
    }

    var result = [];

    for (var key in Object(object)) {
      if (hasOwnProperty.call(object, key) && key != 'constructor') {
        result.push(key);
      }
    }

    return result;
  }

  function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
    var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
        arrLength = array.length,
        othLength = other.length;

    if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
      return false;
    }

    var stacked = stack.get(array);

    if (stacked && stack.get(other)) {
      return stacked == other;
    }

    var index = -1,
        result = true,
        seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : undefined;
    stack.set(array, other);
    stack.set(other, array);

    while (++index < arrLength) {
      var arrValue = array[index],
          othValue = other[index];

      if (customizer) {
        var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);
      }

      if (compared !== undefined) {
        if (compared) {
          continue;
        }

        result = false;
        break;
      }

      if (seen) {
        if (!arraySome(other, function (othValue, othIndex) {
          if (!cacheHas(seen, othIndex) && (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
            return seen.push(othIndex);
          }
        })) {
          result = false;
          break;
        }
      } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
        result = false;
        break;
      }
    }

    stack['delete'](array);
    stack['delete'](other);
    return result;
  }

  function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
    switch (tag) {
      case dataViewTag:
        if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {
          return false;
        }

        object = object.buffer;
        other = other.buffer;

      case arrayBufferTag:
        if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array(object), new Uint8Array(other))) {
          return false;
        }

        return true;

      case boolTag:
      case dateTag:
      case numberTag:
        return eq(+object, +other);

      case errorTag:
        return object.name == other.name && object.message == other.message;

      case regexpTag:
      case stringTag:
        return object == other + '';

      case mapTag:
        var convert = mapToArray;

      case setTag:
        var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
        convert || (convert = setToArray);

        if (object.size != other.size && !isPartial) {
          return false;
        }

        var stacked = stack.get(object);

        if (stacked) {
          return stacked == other;
        }

        bitmask |= COMPARE_UNORDERED_FLAG;
        stack.set(object, other);
        var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
        stack['delete'](object);
        return result;

      case symbolTag:
        if (symbolValueOf) {
          return symbolValueOf.call(object) == symbolValueOf.call(other);
        }

    }

    return false;
  }

  function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
    var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
        objProps = getAllKeys(object),
        objLength = objProps.length,
        othProps = getAllKeys(other),
        othLength = othProps.length;

    if (objLength != othLength && !isPartial) {
      return false;
    }

    var index = objLength;

    while (index--) {
      var key = objProps[index];

      if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
        return false;
      }
    }

    var stacked = stack.get(object);

    if (stacked && stack.get(other)) {
      return stacked == other;
    }

    var result = true;
    stack.set(object, other);
    stack.set(other, object);
    var skipCtor = isPartial;

    while (++index < objLength) {
      key = objProps[index];
      var objValue = object[key],
          othValue = other[key];

      if (customizer) {
        var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack);
      }

      if (!(compared === undefined ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) {
        result = false;
        break;
      }

      skipCtor || (skipCtor = key == 'constructor');
    }

    if (result && !skipCtor) {
      var objCtor = object.constructor,
          othCtor = other.constructor;

      if (objCtor != othCtor && 'constructor' in object && 'constructor' in other && !(typeof objCtor == 'function' && objCtor instanceof objCtor && typeof othCtor == 'function' && othCtor instanceof othCtor)) {
        result = false;
      }
    }

    stack['delete'](object);
    stack['delete'](other);
    return result;
  }

  function getAllKeys(object) {
    return baseGetAllKeys(object, keys, getSymbols);
  }

  function getMapData(map, key) {
    var data = map.__data__;
    return isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map;
  }

  function getNative(object, key) {
    var value = getValue(object, key);
    return baseIsNative(value) ? value : undefined;
  }

  function getRawTag(value) {
    var isOwn = hasOwnProperty.call(value, symToStringTag),
        tag = value[symToStringTag];

    try {
      value[symToStringTag] = undefined;
      var unmasked = true;
    } catch (e) {}

    var result = nativeObjectToString.call(value);
    {
      if (isOwn) {
        value[symToStringTag] = tag;
      } else {
        delete value[symToStringTag];
      }
    }
    return result;
  }

  var getSymbols = !nativeGetSymbols ? stubArray : function (object) {
    if (object == null) {
      return [];
    }

    object = Object(object);
    return arrayFilter(nativeGetSymbols(object), function (symbol) {
      return propertyIsEnumerable.call(object, symbol);
    });
  };
  var getTag = baseGetTag;

  if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map && getTag(new Map()) != mapTag || Promise && getTag(Promise.resolve()) != promiseTag || Set && getTag(new Set()) != setTag || WeakMap && getTag(new WeakMap()) != weakMapTag) {
    getTag = function getTag(value) {
      var result = baseGetTag(value),
          Ctor = result == objectTag ? value.constructor : undefined,
          ctorString = Ctor ? toSource(Ctor) : '';

      if (ctorString) {
        switch (ctorString) {
          case dataViewCtorString:
            return dataViewTag;

          case mapCtorString:
            return mapTag;

          case promiseCtorString:
            return promiseTag;

          case setCtorString:
            return setTag;

          case weakMapCtorString:
            return weakMapTag;
        }
      }

      return result;
    };
  }

  function isIndex(value, length) {
    length = length == null ? MAX_SAFE_INTEGER : length;
    return !!length && (typeof value == 'number' || reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;
  }

  function isKeyable(value) {
    var type = typeof value;
    return type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean' ? value !== '__proto__' : value === null;
  }

  function isMasked(func) {
    return !!maskSrcKey && maskSrcKey in func;
  }

  function isPrototype(value) {
    var Ctor = value && value.constructor,
        proto = typeof Ctor == 'function' && Ctor.prototype || objectProto;
    return value === proto;
  }

  function objectToString(value) {
    return nativeObjectToString.call(value);
  }

  function toSource(func) {
    if (func != null) {
      try {
        return funcToString.call(func);
      } catch (e) {}

      try {
        return func + '';
      } catch (e) {}
    }

    return '';
  }

  function eq(value, other) {
    return value === other || value !== value && other !== other;
  }

  var isArguments = baseIsArguments(function () {
    return arguments;
  }()) ? baseIsArguments : function (value) {
    return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');
  };
  var isArray = Array.isArray;

  function isArrayLike(value) {
    return value != null && isLength(value.length) && !isFunction(value);
  }

  var isBuffer = nativeIsBuffer || stubFalse;

  function isEqual(value, other) {
    return baseIsEqual(value, other);
  }

  function isFunction(value) {
    if (!isObject(value)) {
      return false;
    }

    var tag = baseGetTag(value);
    return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
  }

  function isLength(value) {
    return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
  }

  function isObject(value) {
    var type = typeof value;
    return value != null && (type == 'object' || type == 'function');
  }

  function isObjectLike(value) {
    return value != null && typeof value == 'object';
  }

  var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;

  function keys(object) {
    return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
  }

  function stubArray() {
    return [];
  }

  function stubFalse() {
    return false;
  }

  module.exports = isEqual;
},703,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.CssManager = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var CssManager;
  exports.CssManager = CssManager;

  (function (_CssManager) {
    function maxWidthCss() {
      var css = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      var mw = {};
      var rest = {};
      Object.keys(css).forEach(function (key) {
        if (key.match(/mw[0-9]{2,}/)) {
          mw[key] = css[key];
        } else {
          rest[key] = css[key];
        }
      });
      return {
        mw: mw,
        rest: rest
      };
    }

    function traverseAndFlattenMaxWidthCss(state, mw) {
      var wSize = state.window;
      var mwStyle = {};

      if (wSize && wSize.width) {
        var constraints = [];
        var mwKeys = Object.keys(mw);

        for (var i = 0; i < mwKeys.length; i++) {
          var _key = mwKeys[i];
          var constraint = parseInt(_key.replace("mw", ""), 10);

          if (wSize.width < constraint) {
            constraints.push("mw" + constraint);
          }
        }

        constraints.forEach(function (constraint) {
          var style = traverseAndFlattenCss(state, mw[constraint]);
          mwStyle = (0, _extends2.default)({}, mwStyle, style);
        });
      }

      return mwStyle;
    }

    function traverseAndFlattenCss(state, css) {
      if (css !== undefined) {
        var tablet = css.tablet,
            phone = css.phone,
            ios = css.ios,
            android = css.android,
            native = css.native,
            web = css.web,
            windows = css.windows,
            landscape = css.landscape,
            portrait = css.portrait,
            cssRest = (0, _objectWithoutProperties2.default)(css, ["tablet", "phone", "ios", "android", "native", "web", "windows", "landscape", "portrait"]);

        var _maxWidthCss = maxWidthCss(cssRest),
            mw = _maxWidthCss.mw,
            rest = _maxWidthCss.rest;

        var deviceStyle = {};

        if (state.isTablet) {
          deviceStyle = traverseAndFlattenCss(state, tablet);
        } else {
          deviceStyle = traverseAndFlattenCss(state, phone);
        }

        var maxWidthStyle = {};

        if ((0, _$$_REQUIRE(_dependencyMap[5]).isWeb)()) {
          maxWidthStyle = traverseAndFlattenMaxWidthCss(state, mw);
        }

        var nativeStyle = {};

        if (!(0, _$$_REQUIRE(_dependencyMap[5]).isWeb)()) {
          nativeStyle = traverseAndFlattenCss(state, native);
        }

        var osStyle = {};

        if ((0, _$$_REQUIRE(_dependencyMap[5]).isIOS)()) {
          osStyle = traverseAndFlattenCss(state, ios);
        } else if ((0, _$$_REQUIRE(_dependencyMap[5]).isAndroid)()) {
          osStyle = traverseAndFlattenCss(state, android);
        } else if ((0, _$$_REQUIRE(_dependencyMap[5]).isWeb)()) {
          osStyle = traverseAndFlattenCss(state, web);
        } else if ((0, _$$_REQUIRE(_dependencyMap[5]).isWindows)()) {
          osStyle = traverseAndFlattenCss(state, windows);
        }

        var orientationStyle = {};

        if (state.isPortrait) {
          orientationStyle = traverseAndFlattenCss(state, portrait);
        } else {
          orientationStyle = traverseAndFlattenCss(state, landscape);
        }

        return (0, _extends2.default)({}, rest, deviceStyle, maxWidthStyle, nativeStyle, osStyle, orientationStyle);
      }

      return {};
    }

    function stylesArrayToObject(styles) {
      var style = {};
      styles.forEach(function (item) {
        Object.keys(item).forEach(function (key) {
          style[key] = item[key];
        });
      });
      return style;
    }

    function getStyleByCssName(state, name) {
      var rnStyles = state.rnStyles;
      var styles = [];

      if (rnStyles && name) {
        var userStyles;
        var themes = rnStyles.themes,
            base = rnStyles.base,
            baseLight = rnStyles.baseLight,
            baseDark = rnStyles.baseDark;
        var themeInUse = getInUseThemeId(state);

        if (typeof themes === "object" && themeInUse !== undefined) {
          userStyles = themes[themeInUse];
        }

        if (base && base.styles) {
          styles.push(traverseAndFlattenCss(state, base.styles[name]));
        }

        if (userStyles && userStyles.dark === 1) {
          if (baseDark && baseDark.styles) {
            styles.push(traverseAndFlattenCss(state, baseDark.styles[name]));
          }
        } else {
          if (baseLight && baseLight.styles) {
            styles.push(traverseAndFlattenCss(state, baseLight.styles[name]));
          }
        }

        if (userStyles && userStyles.styles) {
          styles.push(traverseAndFlattenCss(state, userStyles.styles[name]));
        }
      }

      return stylesArrayToObject(styles);
    }

    function applyCustomClasses(props) {
      var classes = props.classes,
          toggle = props.toggle,
          active = props.active,
          cssKey = props.cssKey;
      var newClasses = [];

      if (classes && classes.length) {
        newClasses.push.apply(newClasses, (0, _toConsumableArray2.default)(classes));

        if (toggle) {
          for (var i = 0; i < classes.length; i++) {
            if (active) {
              newClasses.push(classes[i] + "-active");
            } else {
              newClasses.push(classes[i] + "-inactive");
            }
          }
        }

        if (cssKey) {
          var length = newClasses.length;

          for (var _i = 0; _i < length; _i++) {
            newClasses.push(newClasses[_i] + "-" + cssKey);
          }
        }
      }

      return newClasses;
    }

    function getStylesByCssClasses(state, classes) {
      var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
      var newClasses = applyCustomClasses((0, _extends2.default)({
        classes: classes
      }, attributes));

      if (Array.isArray(newClasses)) {
        return newClasses.map(function (css) {
          return getStyleByCssName(state, css);
        });
      }

      return [];
    }

    function flatten() {
      var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      var styles = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
      var classes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
      var attributes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
      return _reactNative.StyleSheet.flatten([].concat((0, _toConsumableArray2.default)(styles), [getStyle(state, classes, attributes)]));
    }

    _CssManager.flatten = flatten;

    function arrayToObject() {
      var styles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
      return stylesArrayToObject(styles);
    }

    _CssManager.arrayToObject = arrayToObject;

    function getStyle() {
      var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      var classes = arguments.length > 1 ? arguments[1] : undefined;
      var attributes = arguments.length > 2 ? arguments[2] : undefined;
      var styles = getStylesByCssClasses(state, classes, attributes);
      return stylesArrayToObject(styles);
    }

    _CssManager.getStyle = getStyle;

    function getStyleObj() {
      var context = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      var classes = arguments.length > 1 ? arguments[1] : undefined;
      var attributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
      var styles = getStylesByCssClasses(context, classes, attributes);
      return stylesArrayToObject(styles);
    }

    _CssManager.getStyleObj = getStyleObj;

    function getThemes() {
      var _context$rnStyles;

      var context = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      return context != null && (_context$rnStyles = context.rnStyles) != null && _context$rnStyles.themes ? Object.keys(context.rnStyles.themes).map(function (key) {
        return (0, _extends2.default)({}, context.rnStyles.themes[key], {
          key: key
        });
      }) : [];
    }

    _CssManager.getThemes = getThemes;

    function isActiveThemeDark() {
      var _getInUseTheme;

      var context = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      return ((_getInUseTheme = getInUseTheme(context)) == null ? undefined : _getInUseTheme.dark) === 1;
    }

    _CssManager.isActiveThemeDark = isActiveThemeDark;

    function getInUseTheme() {
      var _context$rnStyles2;

      var context = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      var id = getInUseThemeId(context);
      return (_context$rnStyles2 = context.rnStyles) != null && _context$rnStyles2.themes && id ? context.rnStyles.themes[id] : undefined;
    }

    _CssManager.getInUseTheme = getInUseTheme;

    function getInUseThemeId() {
      var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
          _ref$rnStyles = _ref.rnStyles,
          rnStyles = _ref$rnStyles === undefined ? {} : _ref$rnStyles,
          isDark = _ref.isDark,
          activeTheme = _ref.activeTheme;

      var themes = rnStyles.themes;

      if (typeof themes === "object") {
        var validThemesKeys = Object.keys(themes).filter(function (key) {
          return typeof themes[key] === "object";
        });

        if (validThemesKeys.length > 0) {
          if (!activeTheme) {
            activeTheme = validThemesKeys.find(function (key) {
              var _themes$key;

              return ((_themes$key = themes[key]) == null ? undefined : _themes$key.default) === 1;
            });
          }

          if (activeTheme === "automatic") {
            activeTheme = validThemesKeys.filter(function (key) {
              var _themes$key2;

              return key !== "automatic" && ((_themes$key2 = themes[key]) == null ? undefined : _themes$key2.automatic) === 1;
            }).find(function (key) {
              var _themes$key3;

              var isThemeDark = ((_themes$key3 = themes[key]) == null ? undefined : _themes$key3.dark) === 1;
              return isThemeDark === isDark;
            });
          }

          if (!activeTheme) {
            activeTheme = validThemesKeys[0];
          }
        }
      }

      return activeTheme;
    }

    _CssManager.getInUseThemeId = getInUseThemeId;

    function getActiveThemeId() {
      var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
          _ref2$rnStyles = _ref2.rnStyles,
          rnStyles = _ref2$rnStyles === undefined ? {} : _ref2$rnStyles,
          activeTheme = _ref2.activeTheme;

      if (activeTheme) {
        return activeTheme;
      }

      var themes = rnStyles.themes;

      if (typeof themes === "object") {
        return Object.keys(themes).find(function (key) {
          var _themes$key4;

          return typeof themes[key] === "object" && ((_themes$key4 = themes[key]) == null ? undefined : _themes$key4.default) === 1;
        });
      }

      return undefined;
    }

    _CssManager.getActiveThemeId = getActiveThemeId;
  })(CssManager || (exports.CssManager = CssManager = {}));
},704,[5,21,108,6,28,705]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.os = os;
  exports.isAndroid = isAndroid;
  exports.isIOS = isIOS;
  exports.isWeb = isWeb;
  exports.isWindows = isWindows;
  exports.dpToPx = dpToPx;
  exports.fontScale = fontScale;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  function fontScale() {
    return _reactNative.PixelRatio.getFontScale();
  }

  function os() {
    return _reactNative.Platform.OS;
  }

  function isAndroid() {
    return _reactNative.Platform.OS === "android";
  }

  function isWeb() {
    return _reactNative.Platform.OS === "web";
  }

  function isIOS() {
    return _reactNative.Platform.OS === "ios" || _reactNative.Platform.OS === "macos";
  }

  function isWindows() {
    return _reactNative.Platform.OS === "windows";
  }

  function dpToPx(size) {
    return _reactNative.PixelRatio.roundToNearestPixel(size) * _reactNative.PixelRatio.get();
  }
},705,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.CssUtils = undefined;
  var CssUtils;
  exports.CssUtils = CssUtils;

  (function (_CssUtils) {
    function filterAutomaticThemes() {
      var defaultThemes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      var customThemes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

      if (!_$$_REQUIRE(_dependencyMap[0]).Utils.isEmpty(customThemes)) {
        var automaticCustomThemes = Object.keys(customThemes).filter(function (theme) {
          return customThemes[theme].automatic === 1;
        });

        if (!_$$_REQUIRE(_dependencyMap[0]).Utils.isEmpty(automaticCustomThemes)) {
          var automaticLightTheme = automaticCustomThemes.filter(function (theme) {
            return customThemes[theme].dark === 0;
          });
          var automaticDarkTheme = automaticCustomThemes.filter(function (theme) {
            return customThemes[theme].dark === 1;
          });

          if (!_$$_REQUIRE(_dependencyMap[0]).Utils.isEmpty(automaticLightTheme)) {
            Object.keys(defaultThemes).filter(function (theme) {
              return defaultThemes[theme].automatic === 1 && defaultThemes[theme].dark === 0;
            }).forEach(function (theme) {
              return delete defaultThemes[theme];
            });
          }

          if (!_$$_REQUIRE(_dependencyMap[0]).Utils.isEmpty(automaticDarkTheme)) {
            Object.keys(defaultThemes).filter(function (theme) {
              return defaultThemes[theme].automatic === 1 && defaultThemes[theme].dark === 1;
            }).forEach(function (theme) {
              return delete defaultThemes[theme];
            });
          }
        }

        var defaultCustomTheme = Object.keys(customThemes).filter(function (theme) {
          return customThemes[theme].default === 1;
        });

        if (!_$$_REQUIRE(_dependencyMap[0]).Utils.isEmpty(defaultCustomTheme)) {
          Object.keys(defaultThemes).filter(function (theme) {
            return defaultThemes[theme].default === 1;
          }).forEach(function (theme) {
            return delete defaultThemes[theme];
          });
        }
      }
    }

    function mergeRnStyles(defaultStyles) {
      for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
        args[_key - 1] = arguments[_key];
      }

      return args.reduce(function (result, arg) {
        filterAutomaticThemes(defaultStyles.themes, arg.themes);
        return _$$_REQUIRE(_dependencyMap[0]).Utils.mergeObjects(result, arg);
      }, defaultStyles);
    }

    _CssUtils.mergeRnStyles = mergeRnStyles;
  })(CssUtils || (exports.CssUtils = CssUtils = {}));
},706,[707]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Utils = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var Utils;
  exports.Utils = Utils;

  (function (_Utils) {
    function mergeObjects() {
      var obj1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      var obj2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
      var mergedObj = (0, _extends2.default)({}, obj1);
      Object.keys(obj2).forEach(function (key) {
        if (obj2[key] !== undefined) {
          if (Array.isArray(obj2[key]) && Array.isArray(obj1[key])) {
            mergedObj[key] = obj2[key];
          } else if (typeof obj2[key] === "object" && typeof obj1[key] === "object") {
            mergedObj[key] = mergeObjects(obj1[key], obj2[key]);
          } else {
            mergedObj[key] = obj2[key];
          }
        }
      });
      return mergedObj;
    }

    _Utils.mergeObjects = mergeObjects;

    function isNull(a) {
      return a === undefined || a === null;
    }

    function isEmpty(a) {
      if (!isNull(a)) {
        if (typeof a === "string") {
          return a.length === 0;
        }

        if (Array.isArray(a)) {
          return a.length === 0;
        }

        if (typeof a === "object") {
          return Object.keys(a).length === 0;
        }
      }

      return true;
    }

    _Utils.isEmpty = isEmpty;
  })(Utils || (exports.Utils = Utils = {}));
},707,[5,6]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getDefaultStyles = getDefaultStyles;

  function getDefaultStyles() {
    return {
      base: {
        styles: {
          "newsmemory-article-container-splitscreen": {
            borderColor: _$$_REQUIRE(_dependencyMap[0]).colors.articleContainerBorderColor,
            landscape: {
              borderLeftWidth: 1
            },
            portrait: {
              borderTopWidth: 1
            }
          },
          "newsmemory-thumbnail-download-icon-disabled": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.md_grey_400
          },
          "drawer-item-icon-publications": {
            tintColor: _$$_REQUIRE(_dependencyMap[0]).colors.black,
            width: 32.5,
            height: 25
          },
          "newsmemory-article-header-icon-toggleArticleExtra": {
            tintColor: _$$_REQUIRE(_dependencyMap[0]).colors.white
          }
        }
      },
      baseDark: {
        styles: {
          spinner: {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "hint-progress-spinner": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "hint-progress-spinner-text": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-article-container": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "newsmemory-article-container-splitscreen": {
            borderColor: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-index-item-image": {
            borderColor: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-article-footer-separator": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-article-header-separator": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-article-mode-sub-header": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "newsmemory-article-mode-sub-header-info": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-article-mode-sub-header-section": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-article-refresh-control": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200,
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-article-text": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1010
          },
          "newsmemory-article-zoom-level-parent": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1010
          },
          "newsmemory-article-zoom-level-text": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-copyright-footer": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1010
          },
          "newsmemory-copyright-text": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-download-circle": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "newsmemory-download-circle-text": {
            textShadowOffset: {
              height: 0,
              width: 0
            },
            textShadowRadius: 0,
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-footer": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200,
            borderColor: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-footer-element-active": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-footer-element-inactive": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135,
            tintColor: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-footer-icon": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135,
            tintColor: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-footer-icon-active": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200,
            tintColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "newsmemory-footer-more-icon": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135,
            tintColor: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-footer-more-menu": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "newsmemory-footer-more-menu-text": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-footer-text": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-footer-text-active": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "newsmemory-index-container": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1010
          },
          "newsmemory-index-first-level-page": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-index-first-level-section": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-index-second-level-text": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-index-second-level-bullet": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-index-second-level-page": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-index-second-level-title": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-index-text": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-navigation-text": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-navigation-text-parent": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "newsmemory-pages-container": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1010
          },
          "newsmemory-screen": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200,
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-search": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-search-container": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "newsmemory-search-header-container": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "newsmemory-search-input": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1010,
            borderColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200,
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-search-list": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1010
          },
          "newsmemory-separator": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "newsmemory-thumbnail-download-icon": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-thumbnails-container": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "newsmemory-thumbnails-page-text": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200,
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-thumbnails-page-text-selected": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey400,
            color: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200,
            borderWidth: 1,
            borderColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "newsmemory-thumbnails-pages": {
            borderColor: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "newsmemory-thumbnails-pages-selected": {
            borderColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "newsmemory-thumbnails-section-container": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "newsmemory-thumbnails-section-content": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1010
          },
          "newsmemory-thumbnails-section-text": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "system-newsmemory-navigation-bar": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "system-newsmemory-status-bar": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1010
          },
          optionspage: {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "newsmemory-search-close-icon": {
            opacity: 0.6
          },
          "newsmemory-article-header-icon": {
            opacity: 0.6,
            src: "default"
          },
          "newsmemory-index-header-icon": {
            opacity: 0.6,
            src: "default"
          },
          "optionspage-specialsections-close-icon": {
            opacity: 0.6
          },
          "rss-tab-item": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1010
          },
          "rss-tab-item-text-inactive": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "rss-content-parent": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "rss-content": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "rss-footer-element": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1010
          },
          "tile-title": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "tile-grid-image-title": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.grey300
          },
          "tile-grid-title-epaper": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.grey300
          },
          "tile-card-title-epaper": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "tile-summary": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "tile-header-text": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "tile-grid-image-header-text": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.grey300
          },
          "tile-halfbox-text": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "article-pager": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "article-container": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "article-header": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "article-top-content": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "article-header-image-date": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "article-title": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "article-body": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200,
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "article-body-parent": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1010
          },
          "rss-drawer": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1010
          },
          "rss-drawer-button": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1010
          },
          "rss-search-button": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1010
          },
          "rss-home-button": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1010
          },
          "rss-layout-button": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1010
          },
          "drawer-item-parent-inactive": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1010
          },
          "drawer-item-text-inactive": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "icon-gallery": {
            tintColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey300
          },
          "settings-screen": {
            backgroundColor: _$$_REQUIRE(_dependencyMap[0]).colors.grey1200
          },
          "newsmemory-article-caption": {
            color: _$$_REQUIRE(_dependencyMap[0]).colors.white_transparent_135
          },
          "navigation-icon": {
            color: "#FFFFFF87"
          },
          "rss-drawer-button-icon": {
            color: "#FFFFFF87"
          },
          "rss-home-button-icon": {
            color: "#FFFFFF87"
          },
          "rss-search-button-icon": {
            color: "#FFFFFF87"
          },
          "rss-layout-button-icon": {
            color: "#FFFFFF87"
          }
        }
      },
      themes: {
        default: {
          automatic: 1,
          dark: 0,
          default: 1,
          name: global.strings("theme_light"),
          styles: {}
        },
        darkTheme: {
          automatic: 1,
          dark: 1,
          default: 0,
          name: global.strings("theme_dark"),
          styles: {}
        },
        automatic: {
          name: global.strings("theme_auto")
        }
      }
    };
  }
},708,[462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getDebugStyles = getDebugStyles;

  function getDebugStyles() {
    if (global.cssDebug) {
      return {
        base: {
          styles: {
            "rss-search-input": {
              backgroundColor: "red",
              color: "yellow"
            },
            "search-input": {
              color: "blue"
            },
            "newsmemory-page-extra-icon-parent": {
              width: 100,
              height: 100
            },
            "newsmemory-article-header-icon": {
              backgroundColor: "yellow"
            },
            "newsmemory-article-header-icon-toggleGraphic": {
              backgroundColor: "red"
            },
            "newsmemory-article-header-icon-active-toggleGraphic": {
              backgroundColor: "green"
            },
            "newsmemory-article-header-icon-closeArticle": {
              backgroundColor: "blue"
            },
            "newsmemory-index-header-icon": {
              backgroundColor: "yellow"
            },
            "newsmemory-index-header-icon-toggleFullScreen": {
              backgroundColor: "red"
            },
            "newsmemory-index-header-icon-active-toggleFullScreen": {
              backgroundColor: "green"
            },
            "newsmemory-index-header-icon-closeArticle": {
              backgroundColor: "blue"
            },
            "tts-player-spinner": {
              color: "red"
            },
            "article-floating-button-favorite": {},
            "article-floating-button-share": {
              color: "red"
            },
            "newsmemory-footer-more-menu-item-cerca": {
              backgroundColor: "red"
            }
          }
        }
      };
    }

    return {};
  }
},709,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _Database = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var MAIN_DB_NAME = "database.db";

  var NewsmemoryDatabasesManager = function () {
    function NewsmemoryDatabasesManager() {
      (0, _classCallCheck2.default)(this, NewsmemoryDatabasesManager);
    }

    (0, _createClass2.default)(NewsmemoryDatabasesManager, null, [{
      key: "getNewspaperDirectory",
      value: function getNewspaperDirectory() {
        return _tecnaviaFileUtils.default.getNewspaperBaseDirectory();
      }
    }, {
      key: "getDatabaseFilePath",
      value: function getDatabaseFilePath() {
        return _tecnaviaFileUtils.default.getNewsmemoryBaseDirectory() + MAIN_DB_NAME;
      }
    }, {
      key: "getNewspaperIssueDirectory",
      value: function getNewspaperIssueDirectory(paper, issue) {
        return NewsmemoryDatabasesManager.getNewspaperDirectory() + paper + "/" + issue + "/";
      }
    }, {
      key: "deleteNewspaperIssueDirectory",
      value: function deleteNewspaperIssueDirectory(paper, issue) {
        var dirToDelete;
        return _regenerator.default.async(function deleteNewspaperIssueDirectory$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                dirToDelete = NewsmemoryDatabasesManager.getNewspaperIssueDirectory(paper, issue);
                _context.prev = 1;
                _context.next = 4;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unlink(dirToDelete));

              case 4:
                _context.next = 8;
                break;

              case 6:
                _context.prev = 6;
                _context.t0 = _context["catch"](1);

              case 8:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[1, 6]], Promise);
      }
    }, {
      key: "makeNewspaperDirectory",
      value: function makeNewspaperDirectory() {
        var newspaperDirectory;
        return _regenerator.default.async(function makeNewspaperDirectory$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                newspaperDirectory = NewsmemoryDatabasesManager.getNewspaperDirectory();
                _context2.next = 3;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.exists(newspaperDirectory));

              case 3:
                if (_context2.sent) {
                  _context2.next = 6;
                  break;
                }

                _context2.next = 6;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.mkdir(newspaperDirectory));

              case 6:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "deleteNewspaperDirectory",
      value: function deleteNewspaperDirectory() {
        return _regenerator.default.async(function deleteNewspaperDirectory$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _context3.prev = 0;
                _context3.next = 3;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unlink(NewsmemoryDatabasesManager.getNewspaperDirectory()));

              case 3:
                _context3.next = 7;
                break;

              case 5:
                _context3.prev = 5;
                _context3.t0 = _context3["catch"](0);

              case 7:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, [[0, 5]], Promise);
      }
    }, {
      key: "databaseExists",
      value: function databaseExists() {
        return _regenerator.default.async(function databaseExists$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!NewsmemoryDatabasesManager.database) {
                  _context4.next = 2;
                  break;
                }

                return _context4.abrupt("return", NewsmemoryDatabasesManager.database.exists());

              case 2:
                return _context4.abrupt("return", false);

              case 3:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "closeDatabase",
      value: function closeDatabase() {
        return _regenerator.default.async(function closeDatabase$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                if (!NewsmemoryDatabasesManager.database) {
                  _context5.next = 2;
                  break;
                }

                return _context5.abrupt("return", NewsmemoryDatabasesManager.database.close());

              case 2:
                return _context5.abrupt("return", false);

              case 3:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "deleteDatabase",
      value: function deleteDatabase() {
        return _regenerator.default.async(function deleteDatabase$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                if (!NewsmemoryDatabasesManager.database) {
                  _context6.next = 2;
                  break;
                }

                return _context6.abrupt("return", NewsmemoryDatabasesManager.database.delete());

              case 2:
                return _context6.abrupt("return", false);

              case 3:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "openTransaction",
      value: function openTransaction(query, params) {
        return _regenerator.default.async(function openTransaction$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                return _context7.abrupt("return", NewsmemoryDatabasesManager.database.transaction(query, params));

              case 1:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "checkIfColumnExists",
      value: function checkIfColumnExists(table, column) {
        return _regenerator.default.async(function checkIfColumnExists$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                return _context8.abrupt("return", NewsmemoryDatabasesManager.database.columnExists(table, column));

              case 1:
              case "end":
                return _context8.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "createDatabasesTable",
      value: function createDatabasesTable() {
        var query, dbStatusExists, dbNetworkExists, _global$getNewsmemory, network, dbPSetupExists, _global$getActivePSet, pSetup, dbSecretExists;

        return _regenerator.default.async(function createDatabasesTable$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                _context9.prev = 0;
                query = "CREATE TABLE IF NOT EXISTS databases (db_filename VARCHAR(255), db_paper VARCHAR(50), db_issue VARCHAR(20), db_edition VARCHAR(50), db_downtime DATETIME, db_status INTEGER DEFAULT 0, db_network VARCHAR(1), UNIQUE (db_paper,db_issue,db_edition) ON CONFLICT REPLACE );";
                _context9.next = 4;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.openTransaction(query));

              case 4:
                _context9.next = 6;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.checkIfColumnExists("databases", "db_status"));

              case 6:
                dbStatusExists = _context9.sent;

                if (dbStatusExists) {
                  _context9.next = 11;
                  break;
                }

                query = "ALTER TABLE databases ADD COLUMN db_status INTEGER DEFAULT 0;";
                _context9.next = 11;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.openTransaction(query));

              case 11:
                _context9.next = 13;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.checkIfColumnExists("databases", "db_network"));

              case 13:
                dbNetworkExists = _context9.sent;

                if (dbNetworkExists) {
                  _context9.next = 19;
                  break;
                }

                _global$getNewsmemory = global.getNewsmemoryConfig(), network = _global$getNewsmemory.network;
                query = "ALTER TABLE databases ADD COLUMN db_network VARCHAR(1) DEFAULT '" + network + "'";
                _context9.next = 19;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.openTransaction(query));

              case 19:
                _context9.next = 21;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.checkIfColumnExists("databases", "db_pSetup"));

              case 21:
                dbPSetupExists = _context9.sent;

                if (dbPSetupExists) {
                  _context9.next = 27;
                  break;
                }

                _global$getActivePSet = global.getActivePSetup(), pSetup = _global$getActivePSet.pSetup;
                query = "ALTER TABLE databases ADD COLUMN db_pSetup VARCHAR(255) DEFAULT '" + pSetup + "'";
                _context9.next = 27;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.openTransaction(query));

              case 27:
                _context9.next = 29;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.checkIfColumnExists("databases", "db_secret"));

              case 29:
                dbSecretExists = _context9.sent;

                if (dbSecretExists) {
                  _context9.next = 34;
                  break;
                }

                query = "ALTER TABLE databases ADD COLUMN db_secret VARCHAR(255) DEFAULT ''";
                _context9.next = 34;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.openTransaction(query));

              case 34:
                _context9.next = 39;
                break;

              case 36:
                _context9.prev = 36;
                _context9.t0 = _context9["catch"](0);
                throw _context9.t0;

              case 39:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, [[0, 36]], Promise);
      }
    }, {
      key: "resetDatabase",
      value: function resetDatabase() {
        return _regenerator.default.async(function resetDatabase$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                _context10.next = 2;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.closeDatabase());

              case 2:
                _context10.next = 4;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.deleteDatabase());

              case 4:
                _context10.next = 6;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.createDatabasesTable());

              case 6:
              case "end":
                return _context10.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "updateStatus",
      value: function updateStatus(paper, issue, edition, status) {
        var pSetup,
            query,
            _args11 = arguments;
        return _regenerator.default.async(function updateStatus$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                pSetup = _args11.length > 4 && _args11[4] !== undefined ? _args11[4] : global.getActivePSetup().pSetup;
                query = "UPDATE databases SET db_status = ? WHERE db_paper = ? AND db_issue = ? AND db_edition = ? AND db_pSetup = ?";
                _context11.prev = 2;
                _context11.next = 5;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.openTransaction(query, [status, paper, issue, edition, pSetup]));

              case 5:
                return _context11.abrupt("return", true);

              case 8:
                _context11.prev = 8;
                _context11.t0 = _context11["catch"](2);
                throw _context11.t0;

              case 11:
              case "end":
                return _context11.stop();
            }
          }
        }, null, null, [[2, 8]], Promise);
      }
    }, {
      key: "updateNetwork",
      value: function updateNetwork(paper, issue, edition, network) {
        var pSetup,
            query,
            _args12 = arguments;
        return _regenerator.default.async(function updateNetwork$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                pSetup = _args12.length > 4 && _args12[4] !== undefined ? _args12[4] : global.getActivePSetup().pSetup;
                query = "UPDATE databases SET db_network = ? WHERE db_paper = ? AND db_issue = ? AND db_edition = ? AND db_pSetup = ?";
                _context12.prev = 2;
                _context12.next = 5;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.openTransaction(query, [network, paper, issue, edition, pSetup]));

              case 5:
                return _context12.abrupt("return", true);

              case 8:
                _context12.prev = 8;
                _context12.t0 = _context12["catch"](2);
                throw _context12.t0;

              case 11:
              case "end":
                return _context12.stop();
            }
          }
        }, null, null, [[2, 8]], Promise);
      }
    }, {
      key: "getIssueStatus",
      value: function getIssueStatus(paper, issue, edition) {
        var pSetup,
            query,
            response,
            _args13 = arguments;
        return _regenerator.default.async(function getIssueStatus$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                pSetup = _args13.length > 3 && _args13[3] !== undefined ? _args13[3] : global.getActivePSetup().pSetup;
                query = "SELECT db_status FROM databases WHERE db_paper = ? AND db_issue = ? AND db_edition = ? AND db_pSetup = ?;";
                _context13.prev = 2;
                _context13.next = 5;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.openTransaction(query, [paper, issue, edition, pSetup]));

              case 5:
                response = _context13.sent;

                if (!(response && response[0])) {
                  _context13.next = 8;
                  break;
                }

                return _context13.abrupt("return", response[0]);

              case 8:
                throw new Error("missing issue on database");

              case 11:
                _context13.prev = 11;
                _context13.t0 = _context13["catch"](2);
                throw _context13.t0;

              case 14:
              case "end":
                return _context13.stop();
            }
          }
        }, null, null, [[2, 11]], Promise);
      }
    }, {
      key: "insertIssue",
      value: function insertIssue(filename, paper, issue, edition) {
        var secret,
            pSetup,
            network,
            query,
            downloadTime,
            shortFilename,
            _args14 = arguments;
        return _regenerator.default.async(function insertIssue$(_context14) {
          while (1) {
            switch (_context14.prev = _context14.next) {
              case 0:
                secret = _args14.length > 4 && _args14[4] !== undefined ? _args14[4] : "";
                pSetup = _args14.length > 5 && _args14[5] !== undefined ? _args14[5] : global.getActivePSetup().pSetup;
                network = _args14.length > 6 && _args14[6] !== undefined ? _args14[6] : global.getNewsmemoryConfig().network;
                query = "INSERT INTO databases (db_filename, db_paper, db_issue, db_edition, db_downtime, db_pSetup, db_secret, db_network) VALUES (?, ?, ?, ?, ?, ?, ?, ?);";
                downloadTime = parseInt(new Date().getTime() / 1000, 10);
                _context14.prev = 5;
                shortFilename = filename.replace(_tecnaviaFileUtils.default.getNewsmemoryBaseDirectory(), "");
                _context14.next = 9;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.openTransaction(query, [shortFilename, paper, issue, edition, downloadTime, pSetup, secret, network]));

              case 9:
                return _context14.abrupt("return", true);

              case 12:
                _context14.prev = 12;
                _context14.t0 = _context14["catch"](5);
                throw _context14.t0;

              case 15:
              case "end":
                return _context14.stop();
            }
          }
        }, null, null, [[5, 12]], Promise);
      }
    }, {
      key: "getAllIssues",
      value: function getAllIssues() {
        var query, result, issues;
        return _regenerator.default.async(function getAllIssues$(_context15) {
          while (1) {
            switch (_context15.prev = _context15.next) {
              case 0:
                query = "SELECT * FROM databases ORDER BY db_issue DESC;";
                _context15.prev = 1;
                _context15.next = 4;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.openTransaction(query));

              case 4:
                result = _context15.sent;
                issues = result.map(function (issue) {
                  return new _NewspaperIssue.default(issue);
                });
                return _context15.abrupt("return", issues);

              case 9:
                _context15.prev = 9;
                _context15.t0 = _context15["catch"](1);
                throw _context15.t0;

              case 12:
              case "end":
                return _context15.stop();
            }
          }
        }, null, null, [[1, 9]], Promise);
      }
    }, {
      key: "getIssuesByDates",
      value: function getIssuesByDates() {
        var dates,
            query,
            result,
            issues,
            _args16 = arguments;
        return _regenerator.default.async(function getIssuesByDates$(_context16) {
          while (1) {
            switch (_context16.prev = _context16.next) {
              case 0:
                dates = _args16.length > 0 && _args16[0] !== undefined ? _args16[0] : [];
                query = "SELECT * FROM databases WHERE db_issue IN ( " + Array(dates.length).fill("?").join(",") + ");";
                _context16.prev = 2;
                _context16.next = 5;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.openTransaction(query, dates));

              case 5:
                result = _context16.sent;
                issues = result.map(function (issue) {
                  return new _NewspaperIssue.default(issue);
                });
                return _context16.abrupt("return", issues);

              case 10:
                _context16.prev = 10;
                _context16.t0 = _context16["catch"](2);
                throw _context16.t0;

              case 13:
              case "end":
                return _context16.stop();
            }
          }
        }, null, null, [[2, 10]], Promise);
      }
    }, {
      key: "getAllIssuesExcept",
      value: function getAllIssuesExcept() {
        var dates,
            query,
            result,
            issues,
            _args17 = arguments;
        return _regenerator.default.async(function getAllIssuesExcept$(_context17) {
          while (1) {
            switch (_context17.prev = _context17.next) {
              case 0:
                dates = _args17.length > 0 && _args17[0] !== undefined ? _args17[0] : [];
                query = "SELECT * FROM databases WHERE db_issue NOT IN ( " + Array(dates.length).fill("?").join(",") + ") ORDER BY db_downtime DESC;";
                _context17.prev = 2;
                _context17.next = 5;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.openTransaction(query, dates));

              case 5:
                result = _context17.sent;
                issues = result.map(function (issue) {
                  return new _NewspaperIssue.default(issue);
                });
                return _context17.abrupt("return", issues);

              case 10:
                _context17.prev = 10;
                _context17.t0 = _context17["catch"](2);
                throw _context17.t0;

              case 13:
              case "end":
                return _context17.stop();
            }
          }
        }, null, null, [[2, 10]], Promise);
      }
    }, {
      key: "getIssue",
      value: function getIssue(paper, issue, edition) {
        var pSetup,
            query,
            result,
            _args18 = arguments;
        return _regenerator.default.async(function getIssue$(_context18) {
          while (1) {
            switch (_context18.prev = _context18.next) {
              case 0:
                pSetup = _args18.length > 3 && _args18[3] !== undefined ? _args18[3] : global.getActivePSetup().pSetup;
                query = "SELECT * FROM databases WHERE db_paper = ? AND db_issue = ? AND db_edition = ? AND db_pSetup = ?;";
                _context18.prev = 2;
                _context18.next = 5;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.openTransaction(query, [paper, issue, edition, pSetup]));

              case 5:
                result = _context18.sent;

                if (!(result && result.length)) {
                  _context18.next = 8;
                  break;
                }

                return _context18.abrupt("return", new _NewspaperIssue.default(result[0]));

              case 8:
                throw new Error("Issue not found");

              case 11:
                _context18.prev = 11;
                _context18.t0 = _context18["catch"](2);
                throw _context18.t0;

              case 14:
              case "end":
                return _context18.stop();
            }
          }
        }, null, null, [[2, 11]], Promise);
      }
    }, {
      key: "deleteIssue",
      value: function deleteIssue(paper, issue, edition) {
        var pSetup,
            query,
            _args19 = arguments;
        return _regenerator.default.async(function deleteIssue$(_context19) {
          while (1) {
            switch (_context19.prev = _context19.next) {
              case 0:
                pSetup = _args19.length > 3 && _args19[3] !== undefined ? _args19[3] : global.getActivePSetup().pSetup;
                query = "DELETE FROM databases WHERE db_paper = ? AND db_issue = ? AND db_edition = ? AND db_pSetup = ?;";
                _context19.prev = 2;
                _context19.next = 5;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.openTransaction(query, [paper, issue, edition, pSetup]));

              case 5:
                return _context19.abrupt("return", true);

              case 8:
                _context19.prev = 8;
                _context19.t0 = _context19["catch"](2);
                throw _context19.t0;

              case 11:
              case "end":
                return _context19.stop();
            }
          }
        }, null, null, [[2, 8]], Promise);
      }
    }, {
      key: "deleteIssueByFilename",
      value: function deleteIssueByFilename(filename) {
        var query;
        return _regenerator.default.async(function deleteIssueByFilename$(_context20) {
          while (1) {
            switch (_context20.prev = _context20.next) {
              case 0:
                query = "DELETE FROM databases WHERE db_filename = ?;";
                _context20.prev = 1;
                _context20.next = 4;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.openTransaction(query, [filename]));

              case 4:
                return _context20.abrupt("return", true);

              case 7:
                _context20.prev = 7;
                _context20.t0 = _context20["catch"](1);
                throw _context20.t0;

              case 10:
              case "end":
                return _context20.stop();
            }
          }
        }, null, null, [[1, 7]], Promise);
      }
    }, {
      key: "getIssuesByEdition",
      value: function getIssuesByEdition(edition) {
        var query, result, issues;
        return _regenerator.default.async(function getIssuesByEdition$(_context21) {
          while (1) {
            switch (_context21.prev = _context21.next) {
              case 0:
                query = "SELECT * FROM databases WHERE db_edition = ?;";
                _context21.prev = 1;
                _context21.next = 4;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.openTransaction(query, [edition]));

              case 4:
                result = _context21.sent;
                issues = result.map(function (issue) {
                  return new _NewspaperIssue.default(issue);
                });
                return _context21.abrupt("return", issues);

              case 9:
                _context21.prev = 9;
                _context21.t0 = _context21["catch"](1);
                throw _context21.t0;

              case 12:
              case "end":
                return _context21.stop();
            }
          }
        }, null, null, [[1, 9]], Promise);
      }
    }, {
      key: "getIssuesByPaper",
      value: function getIssuesByPaper(paper) {
        var query, result, issues;
        return _regenerator.default.async(function getIssuesByPaper$(_context22) {
          while (1) {
            switch (_context22.prev = _context22.next) {
              case 0:
                query = "SELECT * FROM databases WHERE db_paper = ?;";
                _context22.prev = 1;
                _context22.next = 4;
                return _regenerator.default.awrap(NewsmemoryDatabasesManager.openTransaction(query, [paper]));

              case 4:
                result = _context22.sent;
                issues = result.map(function (issue) {
                  return new _NewspaperIssue.default(issue);
                });
                return _context22.abrupt("return", issues);

              case 9:
                _context22.prev = 9;
                _context22.t0 = _context22["catch"](1);
                throw _context22.t0;

              case 12:
              case "end":
                return _context22.stop();
            }
          }
        }, null, null, [[1, 9]], Promise);
      }
    }]);
    return NewsmemoryDatabasesManager;
  }();

  exports.default = NewsmemoryDatabasesManager;
  NewsmemoryDatabasesManager.database = new _Database.default(NewsmemoryDatabasesManager.getDatabaseFilePath());
},710,[5,80,7,8,711,574,714]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _promiseQueue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNativeSqliteStorage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var Database = function () {
    function Database(path, migrations) {
      (0, _classCallCheck2.default)(this, Database);
      this.path = path;
      this.queue = new _promiseQueue.default(1, Infinity);
      this.migrations = migrations || [];
    }

    (0, _createClass2.default)(Database, [{
      key: "getPath",
      value: function getPath() {
        return this.path;
      }
    }, {
      key: "delete",
      value: function _delete() {
        var _this = this;

        var result;
        return _regenerator.default.async(function _delete$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.prev = 0;
                _context.next = 3;
                return _regenerator.default.awrap(this.exists());

              case 3:
                if (!_context.sent) {
                  _context.next = 6;
                  break;
                }

                _context.next = 6;
                return _regenerator.default.awrap(new Promise(function (resolve, reject) {
                  _reactNativeSqliteStorage.default.deleteDatabase(_this.path, resolve, reject);
                }));

              case 6:
                result = true;
                _context.next = 12;
                break;

              case 9:
                _context.prev = 9;
                _context.t0 = _context["catch"](0);
                result = false;

              case 12:
                return _context.abrupt("return", result);

              case 13:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[0, 9]], Promise);
      }
    }, {
      key: "exists",
      value: function exists() {
        var result;
        return _regenerator.default.async(function exists$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.prev = 0;
                _context2.next = 3;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.exists(this.path));

              case 3:
                result = _context2.sent;
                _context2.next = 9;
                break;

              case 6:
                _context2.prev = 6;
                _context2.t0 = _context2["catch"](0);
                result = false;

              case 9:
                return _context2.abrupt("return", result);

              case 10:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, [[0, 6]], Promise);
      }
    }, {
      key: "open",
      value: function open() {
        var _this2 = this;

        var result;
        return _regenerator.default.async(function open$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                result = false;
                _context3.prev = 1;
                _context3.next = 4;
                return _regenerator.default.awrap(new Promise(function (resolve, reject) {
                  _reactNativeSqliteStorage.default.openDatabase({
                    name: _this2.path
                  }, resolve, reject);
                }));

              case 4:
                this.db = _context3.sent;
                result = !!this.db;
                _context3.next = 10;
                break;

              case 8:
                _context3.prev = 8;
                _context3.t0 = _context3["catch"](1);

              case 10:
                return _context3.abrupt("return", result);

              case 11:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, [[1, 8]], Promise);
      }
    }, {
      key: "close",
      value: function close() {
        var _this3 = this;

        var result;
        return _regenerator.default.async(function close$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                result = true;
                _context4.prev = 1;
                _context4.next = 4;
                return _regenerator.default.awrap(new Promise(function (resolve, reject) {
                  _this3.db.close(resolve, reject);
                }));

              case 4:
                _context4.next = 9;
                break;

              case 6:
                _context4.prev = 6;
                _context4.t0 = _context4["catch"](1);
                result = false;

              case 9:
                return _context4.abrupt("return", result);

              case 10:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, [[1, 6]], Promise);
      }
    }, {
      key: "migrateDB",
      value: function migrateDB() {
        var dbVersion, rows, i, _this$migrations$i, version, queries, q;

        return _regenerator.default.async(function migrateDB$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                dbVersion = 0;
                _context5.prev = 1;
                _context5.next = 4;
                return _regenerator.default.awrap(this.executeSqlNoTx("CREATE TABLE IF NOT EXISTS db_info ( key VARCHAR(255) NOT NULL, value VARCHAR(255) NOT NULL, PRIMARY KEY (key, value));"));

              case 4:
                _context5.next = 6;
                return _regenerator.default.awrap(this.executeSqlNoTx("SELECT value FROM db_info WHERE key LIKE 'version'"));

              case 6:
                rows = _context5.sent;

                if (rows.length > 0) {
                  dbVersion = rows.item(0).value || 0;
                }

                _context5.next = 13;
                break;

              case 10:
                _context5.prev = 10;
                _context5.t0 = _context5["catch"](1);
                dbVersion = 0;

              case 13:
                _context5.prev = 13;
                i = 0;

              case 15:
                if (!(i < this.migrations.length)) {
                  _context5.next = 30;
                  break;
                }

                _this$migrations$i = this.migrations[i], version = _this$migrations$i.version, queries = _this$migrations$i.queries;

                if (!(dbVersion < version)) {
                  _context5.next = 27;
                  break;
                }

                q = 0;

              case 19:
                if (!(q < queries.length)) {
                  _context5.next = 25;
                  break;
                }

                _context5.next = 22;
                return _regenerator.default.awrap(this.executeSqlNoTx(queries[q]));

              case 22:
                q++;
                _context5.next = 19;
                break;

              case 25:
                _context5.next = 27;
                return _regenerator.default.awrap(this.executeSqlNoTx("REPLACE INTO db_info ('key', 'value') VALUES ('version', " + version + ");"));

              case 27:
                i++;
                _context5.next = 15;
                break;

              case 30:
                _context5.next = 35;
                break;

              case 32:
                _context5.prev = 32;
                _context5.t1 = _context5["catch"](13);
                throw _context5.t1;

              case 35:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, [[1, 10], [13, 32]], Promise);
      }
    }, {
      key: "openTransaction",
      value: function openTransaction() {
        var _this4 = this;

        return _regenerator.default.async(function openTransaction$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                return _context6.abrupt("return", new Promise(function (resolve, reject) {
                  _this4.db.transaction(function (tx) {
                    resolve(tx);
                  }, function (e) {
                    reject(e);
                  });
                }));

              case 1:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "executeSqlNoTx",
      value: function executeSqlNoTx(query, params) {
        var _this5 = this;

        return _regenerator.default.async(function executeSqlNoTx$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                return _context8.abrupt("return", this.queue.add(function () {
                  return new Promise(function _callee(resolve, reject) {
                    return _regenerator.default.async(function _callee$(_context7) {
                      while (1) {
                        switch (_context7.prev = _context7.next) {
                          case 0:
                            _context7.next = 2;
                            return _regenerator.default.awrap(_this5.open());

                          case 2:
                            if (!_context7.sent) {
                              _context7.next = 6;
                              break;
                            }

                            _this5.db.executeSql(query, params, function (resultSet) {
                              resolve(resultSet.rows);
                            }, function (e) {
                              reject(e);
                            });

                            _context7.next = 7;
                            break;

                          case 6:
                            resolve([]);

                          case 7:
                          case "end":
                            return _context7.stop();
                        }
                      }
                    }, null, null, null, Promise);
                  });
                }));

              case 1:
              case "end":
                return _context8.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "executeSql",
      value: function executeSql(tx, query, params) {
        return _regenerator.default.async(function executeSql$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                return _context9.abrupt("return", new Promise(function (resolve, reject) {
                  tx.executeSql(query, params, function (transaction, sqlResult) {
                    var array = [];

                    for (var i = 0; i < sqlResult.rows.length; i++) {
                      array.push(sqlResult.rows.item(i));
                    }

                    resolve(array);
                  }, function (e) {
                    reject(e);
                  });
                }));

              case 1:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "transaction",
      value: function transaction(query) {
        var _this6 = this;

        var params,
            _args11 = arguments;
        return _regenerator.default.async(function transaction$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                params = _args11.length > 1 && _args11[1] !== undefined ? _args11[1] : [];
                return _context11.abrupt("return", this.queue.add(function () {
                  return new Promise(function _callee2(resolve) {
                    var tx, result;
                    return _regenerator.default.async(function _callee2$(_context10) {
                      while (1) {
                        switch (_context10.prev = _context10.next) {
                          case 0:
                            _context10.next = 2;
                            return _regenerator.default.awrap(_this6.open());

                          case 2:
                            if (!_context10.sent) {
                              _context10.next = 18;
                              break;
                            }

                            _context10.prev = 3;
                            _context10.next = 6;
                            return _regenerator.default.awrap(_this6.openTransaction());

                          case 6:
                            tx = _context10.sent;
                            _context10.next = 9;
                            return _regenerator.default.awrap(_this6.executeSql(tx, query, params));

                          case 9:
                            result = _context10.sent;
                            resolve(result);
                            _context10.next = 16;
                            break;

                          case 13:
                            _context10.prev = 13;
                            _context10.t0 = _context10["catch"](3);
                            resolve([]);

                          case 16:
                            _context10.next = 19;
                            break;

                          case 18:
                            resolve([]);

                          case 19:
                          case "end":
                            return _context10.stop();
                        }
                      }
                    }, null, null, [[3, 13]], Promise);
                  });
                }));

              case 2:
              case "end":
                return _context11.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "tableExists",
      value: function tableExists(table) {
        var result, query, rows;
        return _regenerator.default.async(function tableExists$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                result = false;
                _context12.prev = 1;
                query = "SELECT name FROM sqlite_master WHERE type='table' AND name='" + table + "';";
                _context12.next = 5;
                return _regenerator.default.awrap(this.transaction(query, []));

              case 5:
                rows = _context12.sent;

                if (rows.length > 0) {
                  result = true;
                }

                _context12.next = 11;
                break;

              case 9:
                _context12.prev = 9;
                _context12.t0 = _context12["catch"](1);

              case 11:
                return _context12.abrupt("return", result);

              case 12:
              case "end":
                return _context12.stop();
            }
          }
        }, null, this, [[1, 9]], Promise);
      }
    }, {
      key: "columnExists",
      value: function columnExists(table, column) {
        var result, query, columns, i;
        return _regenerator.default.async(function columnExists$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                result = false;
                _context13.prev = 1;
                query = "PRAGMA table_info(" + table + ");";
                _context13.next = 5;
                return _regenerator.default.awrap(this.transaction(query, []));

              case 5:
                columns = _context13.sent;

                for (i = 0; i < columns.length; i++) {
                  if (columns[i].name === column) {
                    result = true;
                  }
                }

                _context13.next = 11;
                break;

              case 9:
                _context13.prev = 9;
                _context13.t0 = _context13["catch"](1);

              case 11:
                return _context13.abrupt("return", result);

              case 12:
              case "end":
                return _context13.stop();
            }
          }
        }, null, this, [[1, 9]], Promise);
      }
    }, {
      key: "deleteFrom",
      value: function deleteFrom(table, whereClause) {
        return _regenerator.default.async(function deleteFrom$(_context14) {
          while (1) {
            switch (_context14.prev = _context14.next) {
              case 0:
                return _context14.abrupt("return", this.transaction("DELETE FROM " + table + " " + (whereClause ? "WHERE " + whereClause : "") + ";"));

              case 1:
              case "end":
                return _context14.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "replaceInto",
      value: function replaceInto(table, cols, items) {
        var _this7 = this;

        var numberOfParamsInAQuery, chunksLength, chunks, startTime, promises, response;
        return _regenerator.default.async(function replaceInto$(_context16) {
          while (1) {
            switch (_context16.prev = _context16.next) {
              case 0:
                numberOfParamsInAQuery = Math.floor(Database.MAX_INSERT_PARAMS / cols.length);
                chunksLength = Math.ceil(items.length / numberOfParamsInAQuery);
                chunks = Array.from({
                  length: chunksLength
                }, function (v, i) {
                  return items.slice(i * numberOfParamsInAQuery, i * numberOfParamsInAQuery + numberOfParamsInAQuery);
                });
                startTime = new Date().getTime();
                promises = chunks.map(function _callee3(chunk) {
                  var query, params;
                  return _regenerator.default.async(function _callee3$(_context15) {
                    while (1) {
                      switch (_context15.prev = _context15.next) {
                        case 0:
                          query = "REPLACE INTO " + table + " ( " + cols.join(",") + " ) VALUES ";
                          query += chunk.reduce(function (result, item, index, array) {
                            return result.concat("(").concat(Array(cols.length).fill("?").join(",")).concat(index < array.length - 1 ? ")," : ");");
                          }, "");
                          params = chunk.reduce(function (result, item) {
                            return result.concat(item);
                          }, []);
                          return _context15.abrupt("return", _this7.transaction(query, params));

                        case 4:
                        case "end":
                          return _context15.stop();
                      }
                    }
                  }, null, null, null, Promise);
                });
                _context16.prev = 5;
                _context16.next = 8;
                return _regenerator.default.awrap(Promise.all(promises));

              case 8:
                response = _context16.sent;
                return _context16.abrupt("return", response);

              case 12:
                _context16.prev = 12;
                _context16.t0 = _context16["catch"](5);
                throw _context16.t0;

              case 15:
              case "end":
                return _context16.stop();
            }
          }
        }, null, null, [[5, 12]], Promise);
      }
    }, {
      key: "destroy",
      value: function destroy() {
        return _regenerator.default.async(function destroy$(_context17) {
          while (1) {
            switch (_context17.prev = _context17.next) {
              case 0:
                return _context17.abrupt("return", this.close());

              case 1:
              case "end":
                return _context17.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }]);
    return Database;
  }();

  exports.default = Database;
  Database.MAX_INSERT_PARAMS = 500;
  Database.TAG = "DATABASE";
},711,[5,80,7,8,567,712,574]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var config = [[false, "SQLitePlugin", "transaction", false, true, true], [false, "SQLitePlugin", "readTransaction", false, true, true], [false, "SQLitePlugin", "close", false, false, true], [false, "SQLitePlugin", "executeSql", true, false, true], [false, "SQLitePlugin", "sqlBatch", false, false, true], [false, "SQLitePlugin", "attach", true, false, true], [false, "SQLitePlugin", "detach", false, false, true], [false, "SQLitePluginTransaction", "executeSql", true, false, false], [false, "SQLiteFactory", "deleteDatabase", false, false, true], [true, "SQLiteFactory", "openDatabase", false, false, true], [false, "SQLiteFactory", "echoTest", false, false, true]];
  var originalFns = {};
  config.forEach(function (entry) {
    var _entry = _$$_REQUIRE(_dependencyMap[0])(entry, 3),
        returnValueExpected = _entry[0],
        prototype = _entry[1],
        fn = _entry[2];

    var originalFn = _$$_REQUIRE(_dependencyMap[1])[prototype].prototype[fn];

    originalFns[prototype + "." + fn] = originalFn;
  });

  function enablePromiseRuntime(enable) {
    if (enable) {
      createPromiseRuntime();
    } else {
      createCallbackRuntime();
    }
  }

  function createCallbackRuntime() {
    config.forEach(function (entry) {
      var _entry2 = _$$_REQUIRE(_dependencyMap[0])(entry, 6),
          returnValueExpected = _entry2[0],
          prototype = _entry2[1],
          fn = _entry2[2],
          argsNeedPadding = _entry2[3],
          reverseCallbacks = _entry2[4],
          rejectOnError = _entry2[5];

      _$$_REQUIRE(_dependencyMap[1])[prototype].prototype[fn] = originalFns[prototype + "." + fn];
    });
  }

  function createPromiseRuntime() {
    config.forEach(function (entry) {
      var _entry3 = _$$_REQUIRE(_dependencyMap[0])(entry, 6),
          returnValueExpected = _entry3[0],
          prototype = _entry3[1],
          fn = _entry3[2],
          argsNeedPadding = _entry3[3],
          reverseCallbacks = _entry3[4],
          rejectOnError = _entry3[5];

      var originalFn = _$$_REQUIRE(_dependencyMap[1])[prototype].prototype[fn];

      _$$_REQUIRE(_dependencyMap[1])[prototype].prototype[fn] = function () {
        var _this = this;

        for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
          args[_key] = arguments[_key];
        }

        if (argsNeedPadding && args.length == 1) {
          args.push([]);
        }

        var promise = new Promise(function (resolve, reject) {
          var success = function success() {
            if (!returnValueExpected) {
              for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
                args[_key2] = arguments[_key2];
              }

              return resolve(args);
            }
          };

          var error = function error(err) {
            if (rejectOnError) {
              reject(err);
            }

            return false;
          };

          var retValue = originalFn.call.apply(originalFn, [_this].concat(args, [reverseCallbacks ? error : success, reverseCallbacks ? success : error]));

          if (returnValueExpected) {
            return resolve(retValue);
          }
        });
        return promise;
      };
    });
  }

  _$$_REQUIRE(_dependencyMap[1]).SQLiteFactory.prototype.enablePromise = enablePromiseRuntime;
  module.exports = new (_$$_REQUIRE(_dependencyMap[1]).SQLiteFactory)();
},712,[41,713]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var NativeModules = _$$_REQUIRE(_dependencyMap[0]).NativeModules;

  var DB_STATE_INIT, DB_STATE_OPEN, READ_ONLY_REGEX, SQLiteFactory, SQLitePlugin, SQLitePluginTransaction, argsArray, dblocations, newSQLError, root, txLocks;
  var plugin = {};
  READ_ONLY_REGEX = /^(\s|;)*(?:alter|create|delete|drop|insert|reindex|replace|update)/i;
  DB_STATE_INIT = "INIT";
  DB_STATE_OPEN = "OPEN";
  txLocks = {};

  newSQLError = function newSQLError(error, code) {
    var sqlError;
    sqlError = error;

    if (!code) {
      code = 0;
    }

    if (!sqlError) {
      sqlError = new Error("a plugin had an error but provided no response");
      sqlError.code = code;
    }

    if (typeof sqlError === "string") {
      sqlError = new Error(error);
      sqlError.code = code;
    }

    if (!sqlError.code && sqlError.message) {
      sqlError.code = code;
    }

    if (!sqlError.code && !sqlError.message) {
      sqlError = new Error("an unknown error was returned: " + JSON.stringify(sqlError));
      sqlError.code = code;
    }

    return sqlError;
  };

  var nextTick = setImmediate || function (fun) {
    setTimeout(fun, 0);
  };

  if (global.window) {
    nextTick = window.setImmediate || function (fun) {
      window.setTimeout(fun, 0);
    };
  }

  argsArray = function argsArray(fun) {
    return function () {
      var args, i, len;
      len = arguments.length;

      if (len) {
        args = [];
        i = -1;

        while (++i < len) {
          args[i] = arguments[i];
        }

        return fun.call(this, args);
      } else {
        return fun.call(this, []);
      }
    };
  };

  plugin.exec = function (method, options, success, error) {
    if (plugin.sqlitePlugin.DEBUG) {}

    NativeModules["SQLite"][method](options, success, error);
  };

  SQLitePlugin = function SQLitePlugin(openargs, openSuccess, openError) {
    var dbname;

    if (!(openargs && openargs['name'])) {
      throw newSQLError("Cannot create a SQLitePlugin db instance without a db name");
    }

    dbname = openargs.name;

    if (typeof dbname !== 'string') {
      throw newSQLError('sqlite plugin database name must be a string');
    }

    this.openargs = openargs;
    this.dbname = dbname;
    this.openSuccess = openSuccess;
    this.openError = openError;
    this.openSuccess || (this.openSuccess = function () {});
    this.openError || (this.openError = function (e) {});
    this.open(this.openSuccess, this.openError);
  };

  SQLitePlugin.prototype.databaseFeatures = {
    isSQLitePluginDatabase: true
  };
  SQLitePlugin.prototype.openDBs = {};

  SQLitePlugin.prototype.addTransaction = function (t) {
    if (!txLocks[this.dbname]) {
      txLocks[this.dbname] = {
        queue: [],
        inProgress: false
      };
    }

    txLocks[this.dbname].queue.push(t);

    if (this.dbname in this.openDBs && this.openDBs[this.dbname] !== DB_STATE_INIT) {
      this.startNextTransaction();
    } else {
      if (this.dbname in this.openDBs) {} else {}
    }
  };

  SQLitePlugin.prototype.transaction = function (fn, error, success) {
    if (!this.openDBs[this.dbname]) {
      error(newSQLError('database not open'));
      return;
    }

    this.addTransaction(new SQLitePluginTransaction(this, fn, error, success, true, false));
  };

  SQLitePlugin.prototype.readTransaction = function (fn, error, success) {
    if (!this.openDBs[this.dbname]) {
      error(newSQLError('database not open'));
      return;
    }

    this.addTransaction(new SQLitePluginTransaction(this, fn, error, success, false, true));
  };

  SQLitePlugin.prototype.startNextTransaction = function () {
    var self;
    self = this;
    nextTick(function (_this) {
      return function () {
        var txLock;

        if (!(_this.dbname in _this.openDBs) || _this.openDBs[_this.dbname] !== DB_STATE_OPEN) {
          return;
        }

        txLock = txLocks[self.dbname];

        if (!txLock) {} else if (txLock.queue.length > 0 && !txLock.inProgress) {
          txLock.inProgress = true;
          txLock.queue.shift().start();
        }
      };
    }(this));
  };

  SQLitePlugin.prototype.abortAllPendingTransactions = function () {
    var j, len1, ref, tx, txLock;
    txLock = txLocks[this.dbname];

    if (!!txLock && txLock.queue.length > 0) {
      ref = txLock.queue;

      for (j = 0, len1 = ref.length; j < len1; j++) {
        tx = ref[j];
        tx.abortFromQ(newSQLError('Invalid database handle'));
      }

      txLock.queue = [];
      txLock.inProgress = false;
    }
  };

  SQLitePlugin.prototype.sqlBatch = function (sqlStatements, success, error) {
    var batchList, j, len1, myfn, st;

    if (!sqlStatements || sqlStatements.constructor !== Array) {
      throw newSQLError('sqlBatch expects an array');
    }

    batchList = [];

    for (j = 0, len1 = sqlStatements.length; j < len1; j++) {
      st = sqlStatements[j];

      if (st.constructor === Array) {
        if (st.length === 0) {
          throw newSQLError('sqlBatch array element of zero (0) length');
        }

        batchList.push({
          sql: st[0],
          params: st.length === 0 ? [] : st[1]
        });
      } else {
        batchList.push({
          sql: st,
          params: []
        });
      }
    }

    myfn = function myfn(tx) {
      var elem, k, len2, results;
      results = [];

      for (k = 0, len2 = batchList.length; k < len2; k++) {
        elem = batchList[k];
        results.push(tx.addStatement(elem.sql, elem.params, null, null));
      }

      return results;
    };

    var mysuccess = function mysuccess() {
      if (!!success) {
        return success();
      }
    };

    var myerror = function myerror(e) {
      if (!!error) {
        return error(e);
      } else {}
    };

    this.addTransaction(new SQLitePluginTransaction(this, myfn, myerror, mysuccess, true, false));
  };

  SQLitePlugin.prototype.open = function (success, error) {
    var openerrorcb, opensuccesscb;

    if (this.dbname in this.openDBs && this.openDBs[this.dbname] === DB_STATE_OPEN) {
      nextTick(function (_this) {
        return function () {
          success(_this);
        };
      }(this));
    } else {
      opensuccesscb = function (_this) {
        return function () {
          var txLock;

          if (!_this.openDBs[_this.dbname]) {}

          if (_this.dbname in _this.openDBs) {
            _this.openDBs[_this.dbname] = DB_STATE_OPEN;
          }

          if (!!success) {
            success(_this);
          }

          txLock = txLocks[_this.dbname];

          if (!!txLock && txLock.queue.length > 0 && !txLock.inProgress) {
            _this.startNextTransaction();
          }
        };
      }(this);

      openerrorcb = function (_this) {
        return function () {
          if (!!error) {
            error(newSQLError('Could not open database'));
          }

          delete _this.openDBs[_this.dbname];

          _this.abortAllPendingTransactions();
        };
      }(this);

      this.openDBs[this.dbname] = DB_STATE_INIT;
      plugin.exec("open", this.openargs, opensuccesscb, openerrorcb);
    }
  };

  SQLitePlugin.prototype.close = function (success, error) {
    if (this.dbname in this.openDBs) {
      if (txLocks[this.dbname] && txLocks[this.dbname].inProgress) {
        error(newSQLError('database cannot be closed while a transaction is in progress'));
        return;
      }

      delete this.openDBs[this.dbname];

      if (txLocks[this.dbname]) {} else {}

      var mysuccess = function mysuccess(t, r) {
        if (!!success) {
          return success(r);
        }
      };

      var myerror = function myerror(t, e) {
        if (!!error) {
          return error(e);
        } else {}
      };

      plugin.exec("close", {
        path: this.dbname
      }, mysuccess, myerror);
    } else {
      var err = 'cannot close: database is not open';

      if (error) {
        nextTick(function () {
          return error(err);
        });
      }
    }
  };

  SQLitePlugin.prototype.attach = function (dbNameToAttach, dbAlias, success, error) {
    if (this.dbname in this.openDBs) {
      if (txLocks[this.dbname] && txLocks[this.dbname].inProgress) {
        error(newSQLError('database cannot be attached while a transaction is in progress'));
        return;
      }

      var mysuccess = function mysuccess(t, r) {
        if (!!success) {
          return success(r);
        }
      };

      var myerror = function myerror(e) {
        if (!!error) {
          return error(e);
        } else {}
      };

      plugin.exec("attach", {
        path: this.dbname,
        dbName: dbNameToAttach,
        dbAlias: dbAlias
      }, mysuccess, myerror);
    } else {
      var err = 'cannot attach: database is not open';

      if (error) {
        nextTick(function () {
          return error(err);
        });
      }
    }
  };

  SQLitePlugin.prototype.detach = function (dbAlias, success, error) {
    if (this.dbname in this.openDBs) {
      if (txLocks[this.dbname] && txLocks[this.dbname].inProgress) {
        error(newSQLError('database cannot be attached while a transaction is in progress'));
        return;
      }

      var mysuccess = function mysuccess(t, r) {
        if (!!success) {
          return success(r);
        }
      };

      var myerror = function myerror(e) {
        if (!!error) {
          return error(e);
        } else {}
      };

      this.executeSql('DETACH DATABASE ' + dbAlias, [], mysuccess, myerror);
    } else {
      var err = 'cannot attach: database is not open';

      if (error) {
        nextTick(function () {
          return error(err);
        });
      }
    }
  };

  SQLitePlugin.prototype.executeSql = function (statement, params, success, error) {
    var myerror, myfn, mysuccess;

    mysuccess = function mysuccess(t, r) {
      if (!!success) {
        return success(r);
      }
    };

    myerror = function myerror(t, e) {
      if (!!error) {
        return error(e);
      } else {}
    };

    myfn = function myfn(tx) {
      tx.addStatement(statement, params, mysuccess, myerror);
    };

    this.addTransaction(new SQLitePluginTransaction(this, myfn, null, null, false, false));
  };

  SQLitePluginTransaction = function SQLitePluginTransaction(db, fn, error, success, txlock, readOnly) {
    if (typeof fn !== "function") {
      var err = newSQLError("transaction expected a function");

      if (!!error) {
        return error(err);
      } else {
        throw err;
      }
    }

    this.db = db;
    this.fn = fn;
    this.error = error;
    this.success = success;
    this.txlock = txlock;
    this.readOnly = readOnly;
    this.executes = [];

    if (txlock) {
      this.addStatement("BEGIN", [], null, function (tx, err) {
        throw newSQLError("unable to begin transaction: " + err.message, err.code);
      });
    } else {
      this.addStatement("SELECT 1", [], null, null);
    }
  };

  SQLitePluginTransaction.prototype.start = function () {
    var err;

    try {
      this.fn(this);
      this.run();
    } catch (_error) {
      err = _error;
      txLocks[this.db.dbname].inProgress = false;
      this.db.startNextTransaction();

      if (this.error) {
        this.error(newSQLError(err));
      }
    }
  };

  SQLitePluginTransaction.prototype.executeSql = function (sql, values, success, error) {
    var that = this;

    if (that.finalized) {
      throw {
        message: "InvalidStateError: DOM Exception 11: This transaction is already finalized. Transactions are committed after its success or failure handlers are called. If you are using a Promise to handle callbacks, be aware that implementations following the A+ standard adhere to run-to-completion semantics and so Promise resolution occurs on a subsequent tick and therefore after the transaction commits.",
        code: 11
      };
    }

    if (that.readOnly && READ_ONLY_REGEX.test(sql)) {
      that.handleStatementFailure(error, {
        message: 'invalid sql for a read-only transaction'
      });
      return;
    }

    var mysuccess = function mysuccess(t, r) {
      if (!!success) {
        return success(t, r);
      }
    };

    var myerror = function myerror(t, e) {
      if (!!error) {
        return error(e);
      } else {}
    };

    that.addStatement(sql, values, mysuccess, myerror);
  };

  SQLitePluginTransaction.prototype.addStatement = function (sql, values, success, error) {
    var j, len1, params, sqlStatement, t, v;
    sqlStatement = typeof sql === 'string' ? sql : sql.toString();
    params = [];

    if (!!values && values.constructor === Array) {
      for (j = 0, len1 = values.length; j < len1; j++) {
        v = values[j];
        t = typeof v;

        if (v === null || v === undefined || t === 'number' || t === 'string') {
          params.push(v);
        } else if (t === 'boolean') {
          params.push(~~v);
        } else if (t !== 'function') {
          params.push(v.toString());
          console.warn('addStatement - parameter of type <' + t + '> converted to string using toString()');
        } else {
          var errorMsg = 'Unsupported parameter type <' + t + '> found in addStatement()';
          console.error(errorMsg);
          error(newSQLError(errorMsg));
          return;
        }
      }
    }

    this.executes.push({
      success: success,
      error: error,
      sql: sqlStatement,
      params: params
    });
  };

  SQLitePluginTransaction.prototype.handleStatementSuccess = function (handler, response) {
    var payload, rows;

    if (!handler) {
      return;
    }

    rows = response.rows || [];
    payload = {
      rows: {
        item: function item(i) {
          return rows[i];
        },
        raw: function raw() {
          return rows.slice();
        },
        length: rows.length
      },
      rowsAffected: response.rowsAffected || 0,
      insertId: response.insertId || undefined
    };
    handler(this, payload);
  };

  SQLitePluginTransaction.prototype.handleStatementFailure = function (handler, response) {
    if (!handler) {
      throw newSQLError("a statement with no error handler failed: " + response.message, response.code);
    }

    if (handler(this, response) !== false) {
      throw newSQLError("a statement error callback did not return false: " + response.message, response.code);
    }
  };

  SQLitePluginTransaction.prototype.run = function () {
    var batchExecutes, handlerFor, i, callbacks, request, tropts, tx, txFailure, waiting;
    txFailure = null;
    tropts = [];
    batchExecutes = this.executes;
    waiting = batchExecutes.length;
    this.executes = [];
    tx = this;

    handlerFor = function handlerFor(index, didSucceed) {
      return function (response) {
        if (!txFailure) {
          try {
            if (didSucceed) {
              tx.handleStatementSuccess(batchExecutes[index].success, response);
            } else {
              tx.handleStatementFailure(batchExecutes[index].error, newSQLError(response));
            }
          } catch (err) {
            var errorMsg = JSON.stringify(err);
            if (errorMsg === "{}") errorMsg = err.toString();
          }

          if (!didSucceed) {
            txFailure = newSQLError(response);
          }
        }

        if (--waiting === 0) {
          if (txFailure) {
            tx.executes = [];
            tx.abort(txFailure);
          } else if (tx.executes.length > 0) {
            tx.run();
          } else {
            tx.finish();
          }
        }
      };
    };

    i = 0;
    callbacks = [];

    while (i < batchExecutes.length) {
      request = batchExecutes[i];
      callbacks.push({
        success: handlerFor(i, true),
        error: handlerFor(i, false)
      });
      tropts.push({
        qid: 1111,
        sql: request.sql,
        params: request.params
      });
      i++;
    }

    var mysuccess = function mysuccess(result) {
      var j, last, q, r, res, type;

      if (result.length == 0) {
        return;
      }

      last = result.length - 1;

      for (j = 0; j <= last; ++j) {
        r = result[j];
        type = r.type;
        res = r.result;
        q = callbacks[j];

        if (q) {
          if (q[type]) {
            q[type](res);
          }
        }
      }
    };

    var myerror = function myerror(error) {};

    plugin.exec("backgroundExecuteSqlBatch", {
      dbargs: {
        dbname: this.db.dbname
      },
      executes: tropts
    }, mysuccess, myerror);
  };

  SQLitePluginTransaction.prototype.abort = function (txFailure) {
    var failed, succeeded, tx;

    if (this.finalized) {
      return;
    }

    tx = this;

    succeeded = function succeeded(tx) {
      txLocks[tx.db.dbname].inProgress = false;
      tx.db.startNextTransaction();

      if (tx.error) {
        tx.error(txFailure);
      }
    };

    failed = function failed(tx, err) {
      txLocks[tx.db.dbname].inProgress = false;
      tx.db.startNextTransaction();

      if (tx.error) {
        tx.error(newSQLError("error while trying to roll back: " + err.message, err.code));
      }
    };

    this.finalized = true;

    if (this.txlock) {
      this.addStatement("ROLLBACK", [], succeeded, failed);
      this.run();
    } else {
      succeeded(tx);
    }
  };

  SQLitePluginTransaction.prototype.finish = function () {
    var failed, succeeded, tx;

    if (this.finalized) {
      return;
    }

    tx = this;

    succeeded = function succeeded(tx) {
      txLocks[tx.db.dbname].inProgress = false;
      tx.db.startNextTransaction();

      if (tx.success) {
        tx.success();
      }
    };

    failed = function failed(tx, err) {
      txLocks[tx.db.dbname].inProgress = false;
      tx.db.startNextTransaction();

      if (tx.error) {
        tx.error(newSQLError("error while trying to commit: " + err.message, err.code));
      }
    };

    this.finalized = true;

    if (this.txlock) {
      this.addStatement("COMMIT", [], succeeded, failed);
      this.run();
    } else {
      succeeded(tx);
    }
  };

  SQLitePluginTransaction.prototype.abortFromQ = function (sqlerror) {
    if (this.error) {
      this.error(sqlerror);
    }
  };

  dblocations = {
    'default': 'nosync',
    'Documents': 'docs',
    'Library': 'libs'
  };

  SQLiteFactory = function SQLiteFactory() {};

  SQLiteFactory.prototype.DEBUG = function (debug) {
    plugin.sqlitePlugin.DEBUG = debug;
  };

  SQLiteFactory.prototype.sqliteFeatures = function () {
    return {
      isSQLitePlugin: true
    };
  };

  SQLiteFactory.prototype.openDatabase = argsArray(function (args) {
    var errorcb, first, okcb, openargs, readOnly;

    if (args.length < 1) {
      return null;
    }

    first = args[0];
    openargs = null;

    okcb = errorcb = function errorcb() {};

    if (first.constructor === String) {
      openargs = {
        name: first,
        dblocation: dblocations['default']
      };

      if (args.length >= 5) {
        okcb = args[4];

        if (args.length > 5) {
          errorcb = args[5];
        }
      }
    } else {
      openargs = first;
      readOnly = !!openargs.readOnly;

      if (!readOnly && (!openargs.location || openargs.location.constructor !== String || !dblocations.hasOwnProperty(openargs.location))) {
        openargs.dblocation = dblocations['default'];
      } else {
        openargs.dblocation = dblocations[openargs.location];
      }

      if (!!openargs.createFromLocation) {
        if (openargs.createFromLocation === 1) {
          openargs.assetFilename = "1";
        } else if (typeof openargs.createFromLocation == 'string') {
          openargs.assetFilename = openargs.createFromLocation;
        }
      }

      if (!!openargs.androidDatabaseImplementation && openargs.androidDatabaseImplementation === 2) {
        openargs.androidOldDatabaseImplementation = 1;
      }

      if (!!openargs.androidLockWorkaround && openargs.androidLockWorkaround === 1) {
        openargs.androidBugWorkaround = 1;
      }

      if (args.length >= 2) {
        okcb = args[1];

        if (args.length > 2) {
          errorcb = args[2];
        }
      }
    }

    return new SQLitePlugin(openargs, okcb, errorcb);
  });

  SQLiteFactory.prototype.echoTest = function (success, error) {
    var inputTestValue = 'test-string';

    var mysuccess = function mysuccess(testValue) {
      if (testValue === inputTestValue) {
        return success();
      } else {
        return error("Mismatch: got: " + testValue + " , expected: " + inputTestValue);
      }
    };

    var myerror = function myerror(e) {
      return error(e);
    };

    plugin.exec("echoStringValue", {
      value: inputTestValue
    }, mysuccess, myerror);
  };

  SQLiteFactory.prototype.deleteDatabase = function (first, success, error) {
    var args = {};

    if (first.constructor === String) {
      args.path = first;
      args.dblocation = dblocations['default'];
    } else {
      if (!(first && first['name'])) {
        throw new Error("Please specify db name via name property");
      }

      args.path = first.name;

      if (!first.location || first.location.constructor !== String || !dblocations.hasOwnProperty(first.location)) {
        args.dblocation = dblocations['default'];
      } else {
        args.dblocation = dblocations[first.location];
      }
    }

    var mysuccess = function mysuccess(r) {
      delete SQLitePlugin.prototype.openDBs[args.path];

      if (!!success) {
        return success(r);
      }
    };

    var myerror = function myerror(e) {
      if (!!error) {
        return error(e);
      } else {}
    };

    plugin.exec("delete", args, mysuccess, myerror);
  };

  plugin.sqlitePlugin = {
    SQLiteFactory: SQLiteFactory,
    SQLitePluginTransaction: SQLitePluginTransaction,
    SQLitePlugin: SQLitePlugin
  };
  module.exports = plugin.sqlitePlugin;
},713,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.DBStatus = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var DBStatus = {
    DB_DOWNLOADED: 0,
    LOW_MID_PDF_DOWNLOADED: 1,
    PAPER_BACKGROUND_DOWNLOAD_STARTED: 2,
    PAPER_BACKGROUND_DOWNLOADED: 3,
    HIGH_RES_DOWNLOAD_STARTED: 4,
    HIGH_RES_DOWNLOADED: 5,
    GALLERY_DOWNLOAD_STARTED: 12,
    GALLERY_DOWNLOADED: 13
  };
  exports.DBStatus = DBStatus;

  var NewspaperIssue = function () {
    function NewspaperIssue() {
      var dbRow = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      (0, _classCallCheck2.default)(this, NewspaperIssue);
      this.dbDowntime = dbRow.db_downtime || 0;
      this.dbFilename = _tecnaviaFileUtils.default.getNewsmemoryBaseDirectory() + dbRow.db_filename;

      var _global$getActivePSet = global.getActivePSetup(),
          pSetup = _global$getActivePSet.pSetup;

      this.dbPSetup = dbRow.db_pSetup || pSetup;
      this.dbPaper = dbRow.db_paper;
      this.dbIssue = dbRow.db_issue;
      this.dbEdition = dbRow.db_edition;
      this.dbStatus = dbRow.db_status;
      this.dbSecret = dbRow.db_secret;
      this.dbNetwork = dbRow.db_network;
      this.editionModel = null;
    }

    (0, _createClass2.default)(NewspaperIssue, [{
      key: "getFilename",
      value: function getFilename() {
        return this.dbFilename;
      }
    }, {
      key: "getIssue",
      value: function getIssue() {
        return this.dbIssue;
      }
    }, {
      key: "getPSetup",
      value: function getPSetup() {
        return this.dbPSetup;
      }
    }, {
      key: "getPaper",
      value: function getPaper() {
        return this.dbPaper;
      }
    }, {
      key: "getEdition",
      value: function getEdition() {
        return this.dbEdition;
      }
    }, {
      key: "setStatus",
      value: function setStatus(status) {
        this.dbStatus = status;
      }
    }, {
      key: "getStatus",
      value: function getStatus() {
        return this.dbStatus;
      }
    }, {
      key: "getDownloadTime",
      value: function getDownloadTime() {
        return this.dbDowntime;
      }
    }, {
      key: "getSecret",
      value: function getSecret() {
        return this.dbSecret;
      }
    }, {
      key: "setEditionModel",
      value: function setEditionModel(editionModel) {
        this.editionModel = editionModel;
      }
    }, {
      key: "getEditionModel",
      value: function getEditionModel() {
        return this.editionModel;
      }
    }, {
      key: "getPages",
      value: function getPages() {
        if (this.editionModel) {
          return this.editionModel.getPages();
        }

        return [];
      }
    }, {
      key: "updatePage",
      value: function updatePage(page) {
        this.editionModel.updatePage(page);
      }
    }, {
      key: "isEmpty",
      value: function isEmpty() {
        if (this.editionModel) {
          return this.editionModel.isEmpty();
        }

        return true;
      }
    }, {
      key: "hasOnlyDatabaseDownloaded",
      value: function hasOnlyDatabaseDownloaded() {
        return this.dbStatus === DBStatus.DB_DOWNLOADED;
      }
    }, {
      key: "hasMainComponentsDownloaded",
      value: function hasMainComponentsDownloaded() {
        return (this.dbStatus & DBStatus.LOW_MID_PDF_DOWNLOADED) === DBStatus.LOW_MID_PDF_DOWNLOADED;
      }
    }, {
      key: "isHighResolutionDownloadStarted",
      value: function isHighResolutionDownloadStarted() {
        return this.dbStatus === DBStatus.HIGH_RES_DOWNLOAD_STARTED;
      }
    }, {
      key: "hasHighResolutionDownloaded",
      value: function hasHighResolutionDownloaded() {
        return (this.dbStatus & DBStatus.HIGH_RES_DOWNLOADED) === DBStatus.HIGH_RES_DOWNLOADED;
      }
    }, {
      key: "setDbNetwork",
      value: function setDbNetwork(dbNetwork) {
        this.dbNetwork = dbNetwork;
      }
    }, {
      key: "getDbNetwork",
      value: function getDbNetwork() {
        return this.dbNetwork;
      }
    }, {
      key: "isNewspaperCompleteForMode",
      value: function isNewspaperCompleteForMode() {
        if (_newsmemoryUtils.default.isModeFull()) {
          return this.hasHighResolutionDownloaded();
        }

        return this.hasMainComponentsDownloaded();
      }
    }, {
      key: "equals",
      value: function equals(other) {
        return this.dbPSetup === other.dbPSetup && this.dbPaper === other.dbPaper && this.dbIssue === other.dbIssue && this.dbEdition === other.dbEdition;
      }
    }]);
    return NewspaperIssue;
  }();

  exports.default = NewspaperIssue;
},714,[5,7,8,644,638,574,603]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.PageViewPosition = undefined;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var PageViewPosition = {
    LEFT: "left",
    RIGHT: "right",
    CENTER: "center"
  };
  exports.PageViewPosition = PageViewPosition;

  var PageUtils = function () {
    function PageUtils() {
      (0, _classCallCheck2.default)(this, PageUtils);
    }

    (0, _createClass2.default)(PageUtils, null, [{
      key: "getSectionLetterFromPage",
      value: function getSectionLetterFromPage(page) {
        var letters = "";

        if (page) {
          for (var i = 0; i < page.length; i++) {
            if (page.charAt(i).match(/[a-z]/i)) {
              letters += page.charAt(i);
            } else {
              break;
            }
          }
        }

        return letters;
      }
    }, {
      key: "getPageNumberFromPage",
      value: function getPageNumberFromPage(page) {
        var number = "";

        if (page) {
          for (var i = 0; i < page.length; i++) {
            if (page.charAt(i).match(/[0-9]/i)) {
              number += page.charAt(i);
            }
          }
        }

        return parseInt(number, 10);
      }
    }, {
      key: "splitLettersAndNumbersFromPageNumber",
      value: function splitLettersAndNumbersFromPageNumber(pageNumber) {
        var pageNumberString = ("" + pageNumber).trim();
        var j = 0;

        while (j < pageNumberString.length && isNaN(pageNumberString[j])) {
          j += 1;
        }

        var letters = pageNumberString.substring(0, j);
        var numbers = pageNumberString.substring(j);
        return {
          letters: letters,
          numbers: numbers
        };
      }
    }, {
      key: "removeZerosFromPageNumber",
      value: function removeZerosFromPageNumber(pageNumber) {
        var _PageUtils$splitLette = PageUtils.splitLettersAndNumbersFromPageNumber(pageNumber),
            letters = _PageUtils$splitLette.letters,
            numbers = _PageUtils$splitLette.numbers;

        if (letters.startsWith(".")) {
          letters = letters.substring(1);
        }

        while (numbers.length > 0 && numbers.substring(0, 1) === "0") {
          numbers = numbers.substring(1);
        }

        return "" + letters + numbers;
      }
    }, {
      key: "getNextPageNumber",
      value: function getNextPageNumber(number) {
        try {
          var letters = "";
          var zeros = "";
          var pageNumber = "";

          for (var i = 0; i < number.length; i++) {
            var char = number.charAt(i);

            if (char.match(/[^0-9]/)) {
              letters += char;
            } else if (char === "0") {
              zeros += char;
            } else {
              pageNumber += parseInt(number.substring(i), 10) + 1;
              break;
            }
          }

          if (pageNumber.length > number.length && zeros.length > 0) {
            zeros = zeros.substring(0, zeros.length - (pageNumber.length - number.length));
          }

          return letters + zeros + pageNumber;
        } catch (e) {
          return number;
        }
      }
    }, {
      key: "getPageByPageNumber",
      value: function getPageByPageNumber(pages, pageNumber) {
        if (pages.length > 0) {
          var page = pages.find(function (item) {
            return PageUtils.comparePageNumber(item.getPage(), pageNumber);
          });
          return page;
        }

        return undefined;
      }
    }, {
      key: "comparePageNumber",
      value: function comparePageNumber(pageNumberA, pageNumberB) {
        return PageUtils.removeZerosFromPageNumber(pageNumberA) === PageUtils.removeZerosFromPageNumber(pageNumberB);
      }
    }, {
      key: "comparePages",
      value: function comparePages(page, anotherPage) {
        return page.modifyTime === anotherPage.modifyTime && page.section === anotherPage.section && page.page === anotherPage.page && page.shownPage === anotherPage.shownPage && page.edition === anotherPage.edition && page.extraMd5 === anotherPage.extraMd5 && page.type === anotherPage.type;
      }
    }, {
      key: "getNextPage",
      value: function getNextPage(page, pages) {
        var nextPageIndex = pages.findIndex(function (item) {
          return PageUtils.comparePages(item, page);
        }) + 1;

        if (nextPageIndex > 0 && nextPageIndex < pages.length) {
          return pages[nextPageIndex];
        }

        return null;
      }
    }, {
      key: "traverseStyleForRTL",
      value: function traverseStyleForRTL(style) {
        if (!_$$_REQUIRE(_dependencyMap[5]).PlatformUtils.isRTL()) {
          return style;
        }

        if (Array.isArray(style)) {
          return style.map(function (item) {
            return PageUtils.traverseStyleForRTL(item);
          });
        }

        if (typeof style === "object") {
          var start = style.start,
              end = style.end,
              left = style.left,
              right = style.right,
              rest = (0, _objectWithoutProperties2.default)(style, ["start", "end", "left", "right"]);

          if (start !== undefined) {
            rest.end = start;
          }

          if (left !== undefined) {
            rest.right = left;
          }

          if (end !== undefined) {
            rest.start = end;
          }

          if (right !== undefined) {
            rest.left = right;
          }

          return rest;
        }

        return style;
      }
    }]);
    return PageUtils;
  }();

  exports.default = PageUtils;
},715,[5,108,7,8,638,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.Action = exports.Route = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Route = function () {
    function Route(name) {
      var time = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Date().getTime();
      (0, _classCallCheck2.default)(this, Route);
      this.time = time;
      this.name = name;
    }

    (0, _createClass2.default)(Route, [{
      key: "getName",
      value: function getName() {
        return this.name;
      }
    }, {
      key: "getTime",
      value: function getTime() {
        return this.time;
      }
    }, {
      key: "toString",
      value: function toString() {
        return "{\"time\": " + this.time + ", \"name\": \"" + this.name + "\" }";
      }
    }, {
      key: "equals",
      value: function equals(route) {
        return this.name === route.getName();
      }
    }]);
    return Route;
  }();

  exports.Route = Route;

  var Action = function (_Route) {
    (0, _inherits2.default)(Action, _Route);

    var _super = _createSuper(Action);

    function Action(name, params) {
      var _this;

      var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new Date().getTime();
      (0, _classCallCheck2.default)(this, Action);
      _this = _super.call(this, name, time);
      _this.params = params;
      return _this;
    }

    (0, _createClass2.default)(Action, [{
      key: "getParams",
      value: function getParams() {
        return this.params || {};
      }
    }, {
      key: "toString",
      value: function toString() {
        return "{\"time\": " + this.time + ", \"name\": \"" + this.name + "\", \"params\": " + JSON.stringify(this.params) + " }";
      }
    }, {
      key: "equals",
      value: function equals(action) {
        return this.name === action.getName() && _$$_REQUIRE(_dependencyMap[10]).JSUtils.equals(this.params, action.getParams());
      }
    }]);
    return Action;
  }(Route);

  exports.Action = Action;

  var Session = function () {
    function Session() {
      var actions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
      var routes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
      var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new Date().getTime();
      var orientation = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _deviceUtils.default.getCurrentOrientation();
      (0, _classCallCheck2.default)(this, Session);
      this.startTime = time;
      this.startOrientation = orientation.toLowerCase();
      this.actions = actions;
      this.navigation = routes;
    }

    (0, _createClass2.default)(Session, [{
      key: "filterRoute",
      value: function filterRoute(newRoute, routesList) {
        var lastRoute = routesList[routesList.length - 1];

        if (!lastRoute || !lastRoute.equals(newRoute)) {
          var sameRoutes = routesList.filter(function (route) {
            return newRoute.getTime() - route.getTime() < 1000 && route.equals(newRoute);
          });
          return sameRoutes.length > 0;
        }

        return true;
      }
    }, {
      key: "addAction",
      value: function addAction(name, params) {
        var newAction = new Action(name, params);

        if (!this.filterRoute(newAction, this.actions)) {
          this.actions.push(newAction);
        }
      }
    }, {
      key: "addRoute",
      value: function addRoute(route) {
        var newRoute = new Route(route);

        if (!this.filterRoute(newRoute, this.navigation)) {
          this.navigation.push(newRoute);
        }
      }
    }, {
      key: "getActions",
      value: function getActions() {
        return this.actions || [];
      }
    }, {
      key: "getNavigation",
      value: function getNavigation() {
        return this.navigation || [];
      }
    }, {
      key: "getDuration",
      value: function getDuration() {
        var lastAction = this.actions[this.actions.length - 1];

        if (lastAction) {
          return lastAction.getTime() - this.startTime;
        }

        return 0;
      }
    }, {
      key: "getActionsCounters",
      value: function getActionsCounters() {
        return this.actions.reduce(function (current, action) {
          var name = action.getName();
          current[name] = current[name] ? current[name] + 1 : 1;
          return current;
        }, {});
      }
    }, {
      key: "getRoutesCounters",
      value: function getRoutesCounters() {
        var _this2 = this;

        return this.navigation.reduce(function (current, route, index) {
          var prevRoute = _this2.navigation[index - 1];
          var nextRoute = _this2.navigation[index + 1];
          var endTime = new Date().getTime();

          if (nextRoute) {
            endTime = nextRoute.getTime();
          }

          var name = route.getName();
          var times = 1;
          var duration = endTime - route.getTime();

          if (current[name]) {
            var _current$name = current[name],
                prevTimes = _current$name.times,
                prevDuration = _current$name.duration;

            if (!prevRoute || prevRoute && name !== prevRoute.getName()) {
              times = prevTimes + 1;
            }

            duration += prevDuration;
          }

          current[name] = {
            times: times,
            duration: duration
          };
          return current;
        }, {});
      }
    }, {
      key: "getOrientationInfo",
      value: function getOrientationInfo() {
        var rotationActions = [new Action("rotate_" + this.startOrientation, {}, this.startTime)];
        rotationActions.push.apply(rotationActions, (0, _toConsumableArray2.default)(this.actions.filter(function (action) {
          return action.getName().startsWith("rotate_");
        })));

        if (rotationActions && rotationActions.length > 0) {
          var orientationDurations = rotationActions.reduce(function (current, action, index) {
            var nextAction = rotationActions[index + 1];
            var endTime = new Date().getTime();

            if (nextAction) {
              endTime = nextAction.getTime();
            }

            var orientation = action.getName().replace("rotate_", "");
            var duration = endTime - action.getTime();

            if (current[orientation]) {
              duration += current[orientation];
            }

            current[orientation] = duration;
            return current;
          }, {});
          var totalTime = Object.keys(orientationDurations).reduce(function (current, orientation) {
            return current + orientationDurations[orientation];
          }, 0);
          return Object.keys(orientationDurations).reduce(function (current, orientation) {
            current[orientation] = totalTime ? orientationDurations[orientation] / totalTime * 100 : 0;
            return current;
          }, {});
        }

        return {};
      }
    }, {
      key: "getFullReport",
      value: function getFullReport() {
        var _PlatformUtils$info = _$$_REQUIRE(_dependencyMap[10]).PlatformUtils.info,
            appName = _PlatformUtils$info.appName,
            bundleId = _PlatformUtils$info.bundleId,
            uniqueId = _PlatformUtils$info.uniqueId,
            storeVersion = _PlatformUtils$info.version,
            deviceInfo = (0, _objectWithoutProperties2.default)(_PlatformUtils$info, ["appName", "bundleId", "uniqueId", "version"]);

        var version = _deviceUtils.default.getAppVersion();

        var appInfo = {
          pSetup: global.getAppPSetup(),
          machine: global.getAppServer(),
          appName: appName,
          bundleId: bundleId,
          version: version
        };

        if (version !== storeVersion) {
          appInfo.storeVersion = storeVersion;
        }

        return {
          startTime: this.startTime,
          startOrientation: this.startOrientation,
          duration: this.getDuration(),
          actions: this.actions,
          routes: this.navigation,
          orientation: this.getOrientationInfo(),
          deviceInfo: deviceInfo,
          appInfo: appInfo
        };
      }
    }, {
      key: "getReport",
      value: function getReport() {
        return (0, _extends2.default)({}, this.getFullReport(), {
          actions: this.getActionsCounters(),
          routes: this.getRoutesCounters()
        });
      }
    }, {
      key: "toString",
      value: function toString() {
        return "{\"startTime\": " + this.startTime + ", \"startOrientation\": \"" + this.startOrientation + "\",\n        \"actions\": " + JSON.stringify(this.actions.map(function (action) {
          return action.toString();
        })) + ", \"navigation\": " + JSON.stringify(this.navigation.map(function (route) {
          return route.toString();
        })) + "}";
      }
    }]);
    return Session;
  }();

  exports.default = Session;
},716,[5,6,108,21,12,14,16,7,8,458,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.PaperSetupConfig = exports.FIREBASE_DEFAULT_CUSTOM_DIMENSIONS = exports.DEFAULT_CUSTOM_DIMENSIONS = exports.MAX_SHARE_CHECK_TYPES = exports.ENCRYPT_FILENAME_TYPE = exports.LATEST_AVAILABLE_EDITION_FORMAT = exports.PAGES_NAVIGATION_BUTTONS_LAYOUT = exports.SHOW_TYPES_ARTICLE = exports.NEWSMEMORY_START_MODE = exports.MERGE_ARTICLES_TYPES = exports.URL_TYPES = exports.NEWSMEMORY_SCREENS_NAME = exports.NEWSMEMORY_SCREENS = exports.BOTH_ENABLED = exports.NEWSMEMORY_ENABLED = exports.RSS_ENABLED = exports.DEFAULT = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _PaperSetupHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _webUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _Payment = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var DEFAULT = "0";
  exports.DEFAULT = DEFAULT;
  var RSS_ENABLED = "1";
  exports.RSS_ENABLED = RSS_ENABLED;
  var NEWSMEMORY_ENABLED = "2";
  exports.NEWSMEMORY_ENABLED = NEWSMEMORY_ENABLED;
  var BOTH_ENABLED = "3";
  exports.BOTH_ENABLED = BOTH_ENABLED;
  var NEWSMEMORY_SCREENS = {
    REACT: 0,
    NATIVE: 1,
    HTML5: 2
  };
  exports.NEWSMEMORY_SCREENS = NEWSMEMORY_SCREENS;
  var NEWSMEMORY_SCREENS_NAME = {
    REACT: "NewsmemoryScreen",
    NATIVE: "NewsmemoryNativeScreen",
    HTML5: "NewsmemoryHTML5Screen"
  };
  exports.NEWSMEMORY_SCREENS_NAME = NEWSMEMORY_SCREENS_NAME;
  var URL_TYPES = {
    UNDERLINE: "underline",
    SQUARED: "squared",
    ROUNDED: "rounded"
  };
  exports.URL_TYPES = URL_TYPES;
  var MERGE_ARTICLES_TYPES = {
    NORMAL: 0,
    MERGED: 1,
    ONLY_FIRST: 2,
    PAGE_REFS: 3
  };
  exports.MERGE_ARTICLES_TYPES = MERGE_ARTICLES_TYPES;
  var NEWSMEMORY_START_MODE = {
    READ: "read",
    SWIPE: "swipe",
    BROWSE: "browse"
  };
  exports.NEWSMEMORY_START_MODE = NEWSMEMORY_START_MODE;
  var SHOW_TYPES_ARTICLE = {
    ONLY_TEXT: "0",
    TEXT_AND_GRAPH: "1",
    ALL: "2"
  };
  exports.SHOW_TYPES_ARTICLE = SHOW_TYPES_ARTICLE;
  var PAGES_NAVIGATION_BUTTONS_LAYOUT = {
    HIDDEN: "0",
    FIXED: "1",
    ANIMATED: "2"
  };
  exports.PAGES_NAVIGATION_BUTTONS_LAYOUT = PAGES_NAVIGATION_BUTTONS_LAYOUT;
  var LATEST_AVAILABLE_EDITION_FORMAT = {
    PLAIN_MESSAGE: "0",
    ONLY_EDITION: "1",
    ISSUE_AND_EDITION: "2"
  };
  exports.LATEST_AVAILABLE_EDITION_FORMAT = LATEST_AVAILABLE_EDITION_FORMAT;
  var ENCRYPT_FILENAME_TYPE = {
    NONE: 0,
    MAIN: 1,
    XPAPER: 2
  };
  exports.ENCRYPT_FILENAME_TYPE = ENCRYPT_FILENAME_TYPE;
  var MAX_SHARE_CHECK_TYPES = {
    LOCAL: 1,
    REMOTE: 2
  };
  exports.MAX_SHARE_CHECK_TYPES = MAX_SHARE_CHECK_TYPES;
  var DEFAULT_CUSTOM_DIMENSIONS = "dimension1=$deviceType&dimension2=$issue&dimension3=$edition&dimension4=$page&dimension5=$articleId&dimension6=$action&dimension7=$ePaperAccess&dimension8=$title";
  exports.DEFAULT_CUSTOM_DIMENSIONS = DEFAULT_CUSTOM_DIMENSIONS;
  var FIREBASE_DEFAULT_CUSTOM_DIMENSIONS = "device=$deviceType&issue=$issue&edition=$edition&page=$page&article_id=$articleId&action=$action&epaper_access=$ePaperAccess&app_mode=$appSide&title=$title&site_id=$siteId&remote_site_id=$remoteSiteId";
  exports.FIREBASE_DEFAULT_CUSTOM_DIMENSIONS = FIREBASE_DEFAULT_CUSTOM_DIMENSIONS;
  var defaultCustomCSSFilename = "csscustom";
  var KEYS_REQUIRE_RESTART = ["pSetup", "paper", "layoutStyle", "layoutSubStyle", "newsmemoryToUse", "rssIsEnabled", "newsMemoryIsEnabled", "migrate", "googleAnalyticsAnonymizeIP", "clientGoogleAnalyticsAccount", "feedbackGoogleAnalyticsAccount", "tecnaviaGoogleAnalyticsAccount", "TAGoogleAnalyticsEvent", "comScoreId", "comScorePublisherSecret", "comScoreAppName", "rempAccountURL", "adobeAnalyticsEnabled", "adobeAnalyticsConfig", "matherAnalyticsEnabled", "matomoEnabled", "matomoConfig", "matomoTrackerEnabled", "matomoTrackerConfig", "facebookEnabled", "attConfig", "iubendaEnabled", "iubendaConfig", "bundleUpdateAvailable", "resetAppBundle", "isGenericApp", "rnStyles", "fixButtonsBarToBottom", "externalXPapers", "pushTags", "useNativeViewPagerIOS", "useAsymmetricCardList", "preventScreenshots", "showNativeOptionsPageFallbackUrl"];
  var KEYS_LAYOUT_UPDATE = ["checksum"];
  var KEYS_NO_UPDATE = ["json", "pSetupFileTime", "checksum", "lastIssue", "lastEdition", "demoIssue", "external"];
  var keys = _PaperSetupHelper.default.SP.keys;

  var PaperSetupConfig = function (_PaperSetupBaseConfig) {
    (0, _inherits2.default)(PaperSetupConfig, _PaperSetupBaseConfig);

    var _super = _createSuper(PaperSetupConfig);

    function PaperSetupConfig() {
      var _this;

      (0, _classCallCheck2.default)(this, PaperSetupConfig);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.external = false;
      return _this;
    }

    (0, _createClass2.default)(PaperSetupConfig, [{
      key: "init",
      value: function init() {
        var json,
            forcedSubLayout,
            userIP,
            refreshesTAUIDString,
            customUserAgentIsEnabled,
            customUserAgent,
            userAgentSuffix,
            optionsPageMode,
            optionsPageBaseURL,
            optionsPageCoordinates,
            optionsPageModal,
            modeEnabled,
            baseRssUpdateURL,
            otherFirebaseProjectsRaw,
            facebookEnabled,
            otherCSSFiles,
            bgDurationTemp,
            bgTimerTemp,
            pSetupPaymentsString,
            pSetupPaymentsArray,
            rnStyleRaw,
            customHTTPHeadersRaw,
            rawStartupParams,
            _args = arguments;
        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                json = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
                _context.next = 3;
                return _regenerator.default.awrap((0, _get2.default)((0, _getPrototypeOf2.default)(PaperSetupConfig.prototype), "init", this).call(this, json));

              case 3:
                _context.next = 5;
                return _regenerator.default.awrap(this.getValue(keys.layout_style));

              case 5:
                this.layoutStyle = _context.sent;

                if (this.layoutStyle) {
                  _context.next = 8;
                  break;
                }

                return _context.abrupt("return", false);

              case 8:
                if (!(this.pSetup === global.getAppPSetup())) {
                  _context.next = 20;
                  break;
                }

                _context.next = 11;
                return _regenerator.default.awrap(global.getUserSettings().getForceLayoutSubStyle());

              case 11:
                forcedSubLayout = _context.sent;
                _context.t0 = forcedSubLayout;

                if (_context.t0) {
                  _context.next = 17;
                  break;
                }

                _context.next = 16;
                return _regenerator.default.awrap(this.getValue(keys.layout_sub_style));

              case 16:
                _context.t0 = _context.sent;

              case 17:
                this.layoutSubStyle = _context.t0;
                _context.next = 23;
                break;

              case 20:
                _context.next = 22;
                return _regenerator.default.awrap(this.getValue(keys.layout_sub_style));

              case 22:
                this.layoutSubStyle = _context.sent;

              case 23:
                _context.next = 25;
                return _regenerator.default.awrap(this.getValue(keys.user_ip));

              case 25:
                _context.t1 = _context.sent;

                if (_context.t1) {
                  _context.next = 28;
                  break;
                }

                _context.t1 = "n/a";

              case 28:
                userIP = _context.t1;

                _$$_REQUIRE(_dependencyMap[11]).NetworkUtils.setIP(userIP);

                _context.next = 32;
                return _regenerator.default.awrap(this.getValue(keys.is_allowed_ip));

              case 32:
                _context.t2 = _context.sent;
                this.isAllowedIP = _context.t2 === "1";
                _context.next = 36;
                return _regenerator.default.awrap(this.getValue(keys.machine));

              case 36:
                this.machine = _context.sent;
                this.premiumIconURL = this.machine.concat("/eeLayout/").concat(this.layoutStyle).concat("/").concat(this.layoutSubStyle).concat("/images/webapp/tecnavia_premium_article.png");
                _context.next = 40;
                return _regenerator.default.awrap(this.getValue(keys.paper));

              case 40:
                this.paper = _context.sent;
                _context.next = 43;
                return _regenerator.default.awrap(this.getValue(keys.xpaper));

              case 43:
                this.xpaper = _context.sent;
                _context.next = 46;
                return _regenerator.default.awrap(this.getValue(keys.app_mode_selection_page_enabled));

              case 46:
                _context.t3 = _context.sent;
                this.appModeSelectionPageEnabled = _context.t3 === "1";
                _context.next = 50;
                return _regenerator.default.awrap(this.getValue(keys.app_mode_selection_page_url));

              case 50:
                this.appModeSelectionPageURL = _context.sent;
                _context.t5 = Number;
                _context.next = 54;
                return _regenerator.default.awrap(this.getValue(keys.app_mode_selection_page_version));

              case 54:
                _context.t6 = _context.sent;
                _context.t4 = _context.t5.parseInt.call(_context.t5, _context.t6, 10);

                if (_context.t4) {
                  _context.next = 58;
                  break;
                }

                _context.t4 = 0;

              case 58:
                this.appModeSelectionPageVersion = _context.t4;
                _context.next = 61;
                return _regenerator.default.awrap(this.getValue(keys.powered_by));

              case 61:
                this.poweredBy = _context.sent;
                _context.next = 64;
                return _regenerator.default.awrap(this.getValue(keys.powered_by_url));

              case 64:
                this.poweredByURL = _context.sent;
                _context.next = 67;
                return _regenerator.default.awrap(this.getValue(keys.copyright));

              case 67:
                this.copyright = _context.sent;
                _context.next = 70;
                return _regenerator.default.awrap(this.getValue(keys.copyright_url));

              case 70:
                this.copyrightURL = _context.sent;
                _context.next = 73;
                return _regenerator.default.awrap(this.getValue(keys.add_disclaimer));

              case 73:
                this.addDisclaimer = _context.sent;
                _context.next = 76;
                return _regenerator.default.awrap(this.getValue(keys.paper_name));

              case 76:
                this.paperName = _context.sent;
                _context.next = 79;
                return _regenerator.default.awrap(this.getValue(keys.language));

              case 79:
                this.language = _context.sent;
                _context.next = 82;
                return _regenerator.default.awrap(this.getValue(keys.site_domain));

              case 82:
                this.siteDomain = _context.sent;
                _context.next = 85;
                return _regenerator.default.awrap(this.getValue(keys.is_lite));

              case 85:
                _context.t7 = _context.sent;
                this.isLite = _context.t7 === "1";
                _context.next = 89;
                return _regenerator.default.awrap(this.getValue(keys.init_x_paper_not_in_view));

              case 89:
                _context.t8 = _context.sent;

                if (_context.t8) {
                  _context.next = 92;
                  break;
                }

                _context.t8 = "";

              case 92:
                this.initpageXpaperNotView = _context.t8;
                _context.next = 95;
                return _regenerator.default.awrap(this.getValue(keys.external_xpapers));

              case 95:
                _context.t9 = _context.sent;

                if (_context.t9) {
                  _context.next = 98;
                  break;
                }

                _context.t9 = "";

              case 98:
                this.externalXPapers = _context.t9;
                _context.next = 101;
                return _regenerator.default.awrap(this.getValue(keys.special_before_index));

              case 101:
                this.specialBeforeIndex = _context.sent;
                _context.next = 104;
                return _regenerator.default.awrap(this.getValue(keys.special_before_index_tablet));

              case 104:
                this.specialBeforeIndexTablet = _context.sent;
                _context.next = 107;
                return _regenerator.default.awrap(this.getValue(keys.special_before_index_phone));

              case 107:
                this.specialBeforeIndexPhone = _context.sent;
                _context.next = 110;
                return _regenerator.default.awrap(this.getValue(keys.udb));

              case 110:
                this.udb = _context.sent;
                this.loginStatus = new (_$$_REQUIRE(_dependencyMap[12]).LoginStatus)();
                _context.next = 114;
                return _regenerator.default.awrap(this.loginStatus.init(this.udb));

              case 114:
                if (_context.sent) {
                  _context.next = 115;
                  break;
                }

              case 115:
                _context.t10 = this.loginStatus;
                _context.next = 118;
                return _regenerator.default.awrap(this.getValue(keys.preview_token));

              case 118:
                _context.t11 = _context.sent;

                _context.t10.setOneTimeToken.call(_context.t10, _context.t11);

                _context.next = 122;
                return _regenerator.default.awrap(this.getValue(keys.refreshes_tauid));

              case 122:
                _context.t12 = _context.sent;

                if (_context.t12) {
                  _context.next = 125;
                  break;
                }

                _context.t12 = "";

              case 125:
                refreshesTAUIDString = _context.t12;
                this.refreshesTAUIDTimestamp = _$$_REQUIRE(_dependencyMap[11]).DateUtils.getUnixTimestampFromDateTimeString(refreshesTAUIDString);
                _context.next = 129;
                return _regenerator.default.awrap(this.getValue(keys.change_user_agent_for_oauth));

              case 129:
                _context.t13 = _context.sent;
                customUserAgentIsEnabled = _context.t13 === "1";
                customUserAgent = "";

                if (!customUserAgentIsEnabled) {
                  _context.next = 149;
                  break;
                }

                if (!_$$_REQUIRE(_dependencyMap[11]).PlatformUtils.isAndroid()) {
                  _context.next = 142;
                  break;
                }

                _context.next = 136;
                return _regenerator.default.awrap(this.getValue(keys.custom_user_agent_for_oauth));

              case 136:
                _context.t14 = _context.sent;

                if (_context.t14) {
                  _context.next = 139;
                  break;
                }

                _context.t14 = "";

              case 139:
                customUserAgent = _context.t14;
                _context.next = 149;
                break;

              case 142:
                _context.next = 144;
                return _regenerator.default.awrap(this.getValue(keys.custom_string_to_append_to_user_agent_for_oauth));

              case 144:
                _context.t15 = _context.sent;

                if (_context.t15) {
                  _context.next = 147;
                  break;
                }

                _context.t15 = "Safari/{APPLE_WEBKIT_VERSION}";

              case 147:
                userAgentSuffix = _context.t15;

                if (userAgentSuffix) {
                  userAgentSuffix = userAgentSuffix.replace("{APPLE_WEBKIT_VERSION}", _$$_REQUIRE(_dependencyMap[11]).PlatformUtils.getAppleWebKitVersion());
                  customUserAgent = _$$_REQUIRE(_dependencyMap[11]).PlatformUtils.getUserAgent() + " " + userAgentSuffix;
                }

              case 149:
                this.overrideNewsMemoryUserAgent = customUserAgent;
                _context.t16 = parseInt;
                _context.next = 153;
                return _regenerator.default.awrap(this.getValue(keys.newsmemory_to_use));

              case 153:
                _context.t17 = _context.sent;

                if (_context.t17) {
                  _context.next = 156;
                  break;
                }

                _context.t17 = NEWSMEMORY_SCREENS.NATIVE;

              case 156:
                _context.t18 = _context.t17;
                this.newsmemoryToUse = (0, _context.t16)(_context.t18, 10);
                _context.next = 160;
                return _regenerator.default.awrap(this.getValue(keys.newsmemory_to_use_timestamp));

              case 160:
                _context.t19 = _context.sent;

                if (_context.t19) {
                  _context.next = 163;
                  break;
                }

                _context.t19 = "";

              case 163:
                this.newsmemoryToUseTimestamp = _context.t19;
                _context.t20 = _$$_REQUIRE(_dependencyMap[11]).PlatformUtils.isAndroid();

                if (!_context.t20) {
                  _context.next = 170;
                  break;
                }

                _context.next = 168;
                return _regenerator.default.awrap(this.getValue(keys.gallery_download_enabled));

              case 168:
                _context.t21 = _context.sent;
                _context.t20 = _context.t21 === "1";

              case 170:
                this.galleryDownloadEnabled = _context.t20;
                _context.next = 173;
                return _regenerator.default.awrap(this.getValue(keys.gallery_thumbnail_disabled));

              case 173:
                _context.t22 = _context.sent;
                this.galleryThumbnailEnabled = _context.t22 !== "1";
                _context.next = 177;
                return _regenerator.default.awrap(this.getValue(keys.open_http_link_on_external_browser));

              case 177:
                _context.t23 = _context.sent;

                if (_context.t23) {
                  _context.next = 180;
                  break;
                }

                _context.t23 = "1";

              case 180:
                _context.t24 = _context.t23;
                this.openHttpLinkOnExternalBrowser = _context.t24 !== "0";
                _context.t25 = parseInt;
                _context.next = 185;
                return _regenerator.default.awrap(this.getValue(keys.file_time));

              case 185:
                _context.t26 = _context.sent;

                if (_context.t26) {
                  _context.next = 188;
                  break;
                }

                _context.t26 = -1;

              case 188:
                _context.t27 = _context.t26;
                this.pSetupFileTime = (0, _context.t25)(_context.t27, 10);
                _context.t28 = parseInt;
                _context.next = 193;
                return _regenerator.default.awrap(this.getValue(keys.rss_index_file_time));

              case 193:
                _context.t29 = _context.sent;

                if (_context.t29) {
                  _context.next = 196;
                  break;
                }

                _context.t29 = -1;

              case 196:
                _context.t30 = _context.t29;
                this.rssIndexFileTime = (0, _context.t28)(_context.t30, 10);
                _context.t31 = parseInt;
                _context.next = 201;
                return _regenerator.default.awrap(this.getValue(keys.custom_language_pack_file_time));

              case 201:
                _context.t32 = _context.sent;

                if (_context.t32) {
                  _context.next = 204;
                  break;
                }

                _context.t32 = -1;

              case 204:
                _context.t33 = _context.t32;
                this.customLanguagePackFileTime = (0, _context.t31)(_context.t33, 10);
                _context.t34 = parseInt;
                _context.next = 209;
                return _regenerator.default.awrap(this.getValue(keys.custom_fonts_file_time));

              case 209:
                _context.t35 = _context.sent;

                if (_context.t35) {
                  _context.next = 212;
                  break;
                }

                _context.t35 = -1;

              case 212:
                _context.t36 = _context.t35;
                this.customFontsFileTime = (0, _context.t34)(_context.t36, 10);
                _context.next = 216;
                return _regenerator.default.awrap(this.getValue(keys.load_editions_url));

              case 216:
                this.loadEditionsUrl = _context.sent;
                _context.t37 = parseInt;
                _context.next = 220;
                return _regenerator.default.awrap(this.getValue(keys.option_page_mode));

              case 220:
                _context.t38 = _context.sent;
                optionsPageMode = (0, _context.t37)(_context.t38, 10);
                _context.next = 224;
                return _regenerator.default.awrap(this.getValue(keys.option_page_url));

              case 224:
                optionsPageBaseURL = _context.sent;
                _context.next = 227;
                return _regenerator.default.awrap(this.getValue(keys.option_page_coordinates));

              case 227:
                _context.t39 = _context.sent;

                if (_context.t39) {
                  _context.next = 230;
                  break;
                }

                _context.t39 = "";

              case 230:
                optionsPageCoordinates = _context.t39;
                _context.next = 233;
                return _regenerator.default.awrap(this.getValue(keys.option_page_modal));

              case 233:
                _context.t40 = _context.sent;
                optionsPageModal = _context.t40 === "1";
                this.optionspageConfig = new (_$$_REQUIRE(_dependencyMap[13]).OptionspageConfig)({
                  mode: optionsPageMode,
                  baseURL: optionsPageBaseURL,
                  coordinatesString: optionsPageCoordinates,
                  modal: optionsPageModal
                });
                _context.next = 238;
                return _regenerator.default.awrap(this.getValue(keys.mode_enabled));

              case 238:
                modeEnabled = _context.sent;
                _context.next = 241;
                return _regenerator.default.awrap(this.checkIfRssIsEnabled());

              case 241:
                this.rssIsEnabled = _context.sent;
                this.newsMemoryIsEnabled = modeEnabled === DEFAULT || modeEnabled === NEWSMEMORY_ENABLED || modeEnabled === BOTH_ENABLED;
                _context.next = 245;
                return _regenerator.default.awrap(this.getValue(keys.startup_mode));

              case 245:
                this.startupMode = _context.sent;
                _context.next = 248;
                return _regenerator.default.awrap(this.getValue(keys.startup_mode_timestamp));

              case 248:
                _context.t41 = _context.sent;

                if (_context.t41) {
                  _context.next = 251;
                  break;
                }

                _context.t41 = "";

              case 251:
                this.startupModeTimestamp = _context.t41;
                _context.next = 254;
                return _regenerator.default.awrap(this.getValue(keys.base_rss_update_url));

              case 254:
                baseRssUpdateURL = _context.sent;
                baseRssUpdateURL = _$$_REQUIRE(_dependencyMap[11]).NetworkUtils.addDefaultProtocol(baseRssUpdateURL);
                baseRssUpdateURL = _webUtils.default.replaceUrlPlaceHolder(baseRssUpdateURL);
                this.baseRssUpdateURL = baseRssUpdateURL;
                _context.next = 260;
                return _regenerator.default.awrap(this.getValue(keys.feedback.enable));

              case 260:
                _context.t42 = _context.sent;
                this.feedbackEnabled = _context.t42 === "1";

                if (!this.feedbackEnabled) {
                  _context.next = 266;
                  break;
                }

                this.feedbackConfig = new (_$$_REQUIRE(_dependencyMap[14]).FeedbackConfig)(this.pSetup, this.originalMachine);
                _context.next = 266;
                return _regenerator.default.awrap(this.feedbackConfig.init(json));

              case 266:
                _context.next = 268;
                return _regenerator.default.awrap(this.getValue(keys.disable_firebase_analytics));

              case 268:
                _context.t43 = _context.sent;

                if (_context.t43) {
                  _context.next = 271;
                  break;
                }

                _context.t43 = "0";

              case 271:
                _context.t44 = _context.t43;
                this.disableFirebaseAnalytics = _context.t44 === "1";
                _context.next = 275;
                return _regenerator.default.awrap(this.getValue(keys.firebase_analytics_custom_dimensions));

              case 275:
                _context.t45 = _context.sent;

                if (_context.t45) {
                  _context.next = 278;
                  break;
                }

                _context.t45 = FIREBASE_DEFAULT_CUSTOM_DIMENSIONS;

              case 278:
                this.firebaseAnalyticsCustomDimensions = _context.t45;
                this.otherFirebaseProjects = [];
                _context.next = 282;
                return _regenerator.default.awrap(this.getValue(keys.other_firebase_projects));

              case 282:
                otherFirebaseProjectsRaw = _context.sent;

                if (otherFirebaseProjectsRaw) {
                  try {
                    this.otherFirebaseProjects = JSON.parse(otherFirebaseProjectsRaw);
                  } catch (e) {}
                }

                _context.next = 286;
                return _regenerator.default.awrap(this.getValue(keys.firebase_analytics_send_external_id));

              case 286:
                _context.t46 = _context.sent;

                if (_context.t46) {
                  _context.next = 289;
                  break;
                }

                _context.t46 = "0";

              case 289:
                _context.t47 = _context.t46;
                this.firebaseAnalyticsSendExternalId = _context.t47 === "1";
                _context.next = 293;
                return _regenerator.default.awrap(this.getValue(keys.disable_google_analytics_3));

              case 293:
                _context.t48 = _context.sent;

                if (_context.t48) {
                  _context.next = 296;
                  break;
                }

                _context.t48 = "0";

              case 296:
                _context.t49 = _context.t48;
                this.disableGoogleAnalytics3 = _context.t49 === "1";
                _context.next = 300;
                return _regenerator.default.awrap(this.getValue(keys.g_analytics_anonymize_ip));

              case 300:
                _context.t50 = _context.sent;

                if (_context.t50) {
                  _context.next = 303;
                  break;
                }

                _context.t50 = "1";

              case 303:
                _context.t51 = _context.t50;
                this.googleAnalyticsAnonymizeIP = _context.t51 === "1";
                _context.next = 307;
                return _regenerator.default.awrap(this.getValue(keys.g_analytics));

              case 307:
                this.clientGoogleAnalyticsAccount = _context.sent;
                _context.next = 310;
                return _regenerator.default.awrap(this.getValue(keys.g_analytics_feedback));

              case 310:
                this.feedbackGoogleAnalyticsAccount = _context.sent;
                _context.next = 313;
                return _regenerator.default.awrap(this.getValue(keys.g_analytics_tecnavia));

              case 313:
                this.tecnaviaGoogleAnalyticsAccount = _context.sent;
                _context.next = 316;
                return _regenerator.default.awrap(this.getValue(keys.ta_google_analytics_event));

              case 316:
                this.TAGoogleAnalyticsEvent = _context.sent;
                _context.next = 319;
                return _regenerator.default.awrap(this.getValue(keys.google_analytics_custom_dimensions));

              case 319:
                _context.t52 = _context.sent;

                if (_context.t52) {
                  _context.next = 322;
                  break;
                }

                _context.t52 = DEFAULT_CUSTOM_DIMENSIONS;

              case 322:
                this.googleAnalyticsCustomDimensions = _context.t52;
                _context.next = 325;
                return _regenerator.default.awrap(this.getValue(keys.remp_account));

              case 325:
                this.rempAccountURL = _context.sent;
                _context.next = 328;
                return _regenerator.default.awrap(this.getValue(keys.comscore.app_name));

              case 328:
                this.comScoreAppName = _context.sent;
                _context.next = 331;
                return _regenerator.default.awrap(this.getValue(keys.comscore.id));

              case 331:
                this.comScoreId = _context.sent;
                _context.next = 334;
                return _regenerator.default.awrap(this.getValue(keys.comscore.publisher_secret));

              case 334:
                this.comScorePublisherSecret = _context.sent;
                _context.next = 337;
                return _regenerator.default.awrap(this.getValue(keys.comscore.base_url));

              case 337:
                this.comScoreBaseURL = _context.sent;
                _context.next = 340;
                return _regenerator.default.awrap(this.getValue(keys.mather_analytics.enabled));

              case 340:
                _context.t53 = _context.sent;

                if (_context.t53) {
                  _context.next = 343;
                  break;
                }

                _context.t53 = "0";

              case 343:
                _context.t54 = _context.t53;
                this.matherAnalyticsEnabled = _context.t54 === "1";
                _context.next = 347;
                return _regenerator.default.awrap(this.getValue(keys.mather_analytics.customer_id));

              case 347:
                _context.t55 = _context.sent;

                if (_context.t55) {
                  _context.next = 350;
                  break;
                }

                _context.t55 = "";

              case 350:
                this.matherAnalyticsCustomerId = _context.t55;
                _context.next = 353;
                return _regenerator.default.awrap(this.getValue(keys.mather_analytics.site_id));

              case 353:
                _context.t56 = _context.sent;

                if (_context.t56) {
                  _context.next = 356;
                  break;
                }

                _context.t56 = "";

              case 356:
                this.matherAnalyticsSiteId = _context.t56;
                _context.next = 359;
                return _regenerator.default.awrap(this.getValue(keys.mather_analytics.send_email));

              case 359:
                _context.t57 = _context.sent;

                if (_context.t57) {
                  _context.next = 362;
                  break;
                }

                _context.t57 = "0";

              case 362:
                _context.t58 = _context.t57;
                this.matherAnalyticsSendEmail = _context.t58 === "1";
                _context.next = 366;
                return _regenerator.default.awrap(this.getValue(keys.adobe_analytics.enabled));

              case 366:
                _context.t59 = _context.sent;

                if (_context.t59) {
                  _context.next = 369;
                  break;
                }

                _context.t59 = "0";

              case 369:
                _context.t60 = _context.t59;
                this.adobeAnalyticsEnabled = _context.t60 === "1";

                if (!this.adobeAnalyticsEnabled) {
                  _context.next = 375;
                  break;
                }

                this.adobeAnalyticsConfig = new (_$$_REQUIRE(_dependencyMap[15]).AdobeAnalyticsConfig)(this.pSetup, this.originalMachine);
                _context.next = 375;
                return _regenerator.default.awrap(this.adobeAnalyticsConfig.init(json));

              case 375:
                _context.next = 377;
                return _regenerator.default.awrap(this.getValue(keys.matomo.enabled));

              case 377:
                _context.t61 = _context.sent;

                if (_context.t61) {
                  _context.next = 380;
                  break;
                }

                _context.t61 = "0";

              case 380:
                _context.t62 = _context.t61;
                this.matomoEnabled = _context.t62 === "1";

                if (!this.matomoEnabled) {
                  _context.next = 386;
                  break;
                }

                this.matomoConfig = new (_$$_REQUIRE(_dependencyMap[16]).MatomoConfig)(this.pSetup, this.originalMachine);
                _context.next = 386;
                return _regenerator.default.awrap(this.matomoConfig.init(json, this.googleAnalyticsCustomDimensions));

              case 386:
                _context.next = 388;
                return _regenerator.default.awrap(this.getValue(keys.matomo_tracker.enabled));

              case 388:
                _context.t63 = _context.sent;

                if (_context.t63) {
                  _context.next = 391;
                  break;
                }

                _context.t63 = "0";

              case 391:
                _context.t64 = _context.t63;
                this.matomoTrackerEnabled = _context.t64 === "1";

                if (!this.matomoTrackerEnabled) {
                  _context.next = 397;
                  break;
                }

                this.matomoTrackerConfig = new (_$$_REQUIRE(_dependencyMap[17]).MatomoTrackerConfig)(this.pSetup, this.originalMachine);
                _context.next = 397;
                return _regenerator.default.awrap(this.matomoTrackerConfig.init(json));

              case 397:
                _context.next = 399;
                return _regenerator.default.awrap(this.getValue(keys.facebook_enabled));

              case 399:
                _context.t65 = _context.sent;

                if (_context.t65) {
                  _context.next = 402;
                  break;
                }

                _context.t65 = "";

              case 402:
                facebookEnabled = _context.t65;
                this.facebookEnabled = facebookEnabled && facebookEnabled !== "0";
                _context.next = 406;
                return _regenerator.default.awrap(this.getValue(keys.default_connectivity));

              case 406:
                this.defaultConnectivity = _context.sent;
                _context.next = 409;
                return _regenerator.default.awrap(this.getValue(keys.default_connectivity_timestamp));

              case 409:
                _context.t66 = _context.sent;

                if (_context.t66) {
                  _context.next = 412;
                  break;
                }

                _context.t66 = "";

              case 412:
                this.defaultConnectivityTimestamp = _context.t66;
                _context.next = 415;
                return _regenerator.default.awrap(this.getValue(keys.url_type));

              case 415:
                _context.t67 = _context.sent;

                if (_context.t67) {
                  _context.next = 418;
                  break;
                }

                _context.t67 = URL_TYPES.UNDERLINE;

              case 418:
                this.urlType = _context.t67;
                _context.next = 421;
                return _regenerator.default.awrap(this.getValue(keys.relabel_fit_page_button));

              case 421:
                _context.t68 = _context.sent;
                _context.next = 424;
                return _regenerator.default.awrap(this.getValue(keys.relabel_offline_button));

              case 424:
                _context.t69 = _context.sent;
                _context.next = 427;
                return _regenerator.default.awrap(this.getValue(keys.relabel_help_button));

              case 427:
                _context.t70 = _context.sent;
                _context.next = 430;
                return _regenerator.default.awrap(this.getValue(keys.relabel_setting_button));

              case 430:
                _context.t71 = _context.sent;
                _context.next = 433;
                return _regenerator.default.awrap(this.getValue(keys.relabel_option_button));

              case 433:
                _context.t72 = _context.sent;
                _context.next = 436;
                return _regenerator.default.awrap(this.getValue(keys.relabel_special_sections_button));

              case 436:
                _context.t73 = _context.sent;
                _context.next = 439;
                return _regenerator.default.awrap(this.getValue(keys.relabel_search_button));

              case 439:
                _context.t74 = _context.sent;
                _context.next = 442;
                return _regenerator.default.awrap(this.getValue(keys.relabel_ebook_button));

              case 442:
                _context.t75 = _context.sent;
                _context.next = 445;
                return _regenerator.default.awrap(this.getValue(keys.relabel_gbook_button));

              case 445:
                _context.t76 = _context.sent;
                _context.next = 448;
                return _regenerator.default.awrap(this.getValue(keys.relabel_phodir_button));

              case 448:
                _context.t77 = _context.sent;
                _context.next = 451;
                return _regenerator.default.awrap(this.getValue(keys.relabel_feed_button));

              case 451:
                _context.t78 = _context.sent;
                this.relabel = {
                  fitPageButton: _context.t68,
                  downloadButton: _context.t69,
                  helpButton: _context.t70,
                  settingsButton: _context.t71,
                  editionsButton: _context.t72,
                  specialSectionButton: _context.t73,
                  searchButton: _context.t74,
                  indexButton: _context.t75,
                  gBookButton: _context.t76,
                  thumbnailButton: _context.t77,
                  feedButton: _context.t78
                };
                _context.t80 = parseInt;
                _context.next = 456;
                return _regenerator.default.awrap(this.getValue(keys.default_max_issues));

              case 456:
                _context.t81 = _context.sent;
                _context.t79 = (0, _context.t80)(_context.t81, 10);

                if (_context.t79) {
                  _context.next = 460;
                  break;
                }

                _context.t79 = 30;

              case 460:
                this.defaultMaxIssues = _context.t79;
                _context.next = 463;
                return _regenerator.default.awrap(this.getValue(keys.date_format));

              case 463:
                this.dateFormat = _context.sent;
                _context.next = 466;
                return _regenerator.default.awrap(this.getValue(keys.show_week));

              case 466:
                _context.t82 = _context.sent;
                this.showWeekAfterDate = _context.t82 === "1";
                _context.next = 470;
                return _regenerator.default.awrap(this.getValue(keys.download_multi_zips));

              case 470:
                _context.t83 = _context.sent;
                this.downloadMultiZips = _context.t83 === "1";
                _context.next = 474;
                return _regenerator.default.awrap(this.getValue(keys.show_types_article));

              case 474:
                _context.t84 = _context.sent;

                if (_context.t84) {
                  _context.next = 477;
                  break;
                }

                _context.t84 = SHOW_TYPES_ARTICLE.TEXT_AND_GRAPH;

              case 477:
                this.showTypesArticle = _context.t84;
                _context.next = 480;
                return _regenerator.default.awrap(this.getValue(keys.enable_article_extra));

              case 480:
                _context.t85 = _context.sent;

                if (_context.t85) {
                  _context.next = 483;
                  break;
                }

                _context.t85 = "0";

              case 483:
                _context.t86 = _context.t85;
                this.enableArticleExtra = _context.t86 === "1";
                _context.t88 = parseInt;
                _context.next = 488;
                return _regenerator.default.awrap(this.getValue(keys.max_zips_to_download_per_request));

              case 488:
                _context.t89 = _context.sent;
                _context.t87 = (0, _context.t88)(_context.t89, 10);

                if (_context.t87) {
                  _context.next = 492;
                  break;
                }

                _context.t87 = 10;

              case 492:
                this.maxZipsToDownloadEachRequest = _context.t87;
                this.cssFilesToAdd = defaultCustomCSSFilename;
                _context.next = 496;
                return _regenerator.default.awrap(this.getValue(keys.css_files_to_add));

              case 496:
                otherCSSFiles = _context.sent;

                if (otherCSSFiles) {
                  this.cssFilesToAdd += "," + otherCSSFiles;
                }

                _context.next = 500;
                return _regenerator.default.awrap(this.getValue(keys.email_content));

              case 500:
                this.emailContent = _context.sent;
                _context.next = 503;
                return _regenerator.default.awrap(this.getValue(keys.email_subject));

              case 503:
                this.emailSubject = _context.sent;
                _context.next = 506;
                return _regenerator.default.awrap(this.getValue(keys.twitter_text));

              case 506:
                this.twitterText = _context.sent;
                _context.t91 = parseInt;
                _context.next = 510;
                return _regenerator.default.awrap(this.getValue(keys.update_db_percentage));

              case 510:
                _context.t92 = _context.sent;
                _context.t90 = (0, _context.t91)(_context.t92, 10);

                if (_context.t90) {
                  _context.next = 514;
                  break;
                }

                _context.t90 = 50;

              case 514:
                this.updateDBPercentage = _context.t90;
                _context.next = 517;
                return _regenerator.default.awrap(this.getValue(keys.enable_advanced_gestures_mode));

              case 517:
                _context.t93 = _context.sent;

                if (_context.t93) {
                  _context.next = 520;
                  break;
                }

                _context.t93 = "1";

              case 520:
                _context.t94 = _context.t93;
                this.enableAdvancedGesturesMode = _context.t94 === "1";

                if (!this.enableAdvancedGesturesMode) {
                  _context.next = 543;
                  break;
                }

                _context.next = 525;
                return _regenerator.default.awrap(this.getValue(keys.two_fingers_tap_to_article));

              case 525:
                _context.t95 = _context.sent;

                if (_context.t95) {
                  _context.next = 528;
                  break;
                }

                _context.t95 = "0";

              case 528:
                _context.t96 = _context.t95;
                this.twoFingersTapToArticle = _context.t96 === "1";

                if (!this.twoFingersTapToArticle) {
                  _context.next = 540;
                  break;
                }

                _context.next = 533;
                return _regenerator.default.awrap(this.getValue(keys.single_tap_to_zoom));

              case 533:
                _context.t97 = _context.sent;

                if (_context.t97) {
                  _context.next = 536;
                  break;
                }

                _context.t97 = "1";

              case 536:
                _context.t98 = _context.t97;
                this.singleTapToZoom = _context.t98 === "1";
                _context.next = 541;
                break;

              case 540:
                this.singleTapToZoom = false;

              case 541:
                _context.next = 545;
                break;

              case 543:
                this.twoFingersTapToArticle = true;
                this.singleTapToZoom = true;

              case 545:
                _context.next = 547;
                return _regenerator.default.awrap(this.getValue(keys.machine_for_hr));

              case 547:
                _context.t99 = _context.sent;

                if (_context.t99) {
                  _context.next = 550;
                  break;
                }

                _context.t99 = this.machine;

              case 550:
                this.machineForHR = _context.t99;
                _context.next = 553;
                return _regenerator.default.awrap(this.getValue(keys.translation_available));

              case 553:
                _context.t100 = _context.sent;
                this.translationAvailable = _context.t100 === "1";
                _context.next = 557;
                return _regenerator.default.awrap(this.getValue(keys.translation_server));

              case 557:
                _context.t101 = _context.sent;

                if (_context.t101) {
                  _context.next = 560;
                  break;
                }

                _context.t101 = "";

              case 560:
                this.translationServer = _context.t101;
                _context.next = 563;
                return _regenerator.default.awrap(this.getValue(keys.use_native_accessibility));

              case 563:
                _context.t103 = _context.sent;

                if (_context.t103) {
                  _context.next = 566;
                  break;
                }

                _context.t103 = "0";

              case 566:
                _context.t104 = _context.t103;
                _context.t102 = _context.t104 === "1";

                if (_context.t102) {
                  _context.next = 570;
                  break;
                }

                _context.t102 = global.isDebug;

              case 570:
                this.useNativeAccessibility = _context.t102;
                _context.next = 573;
                return _regenerator.default.awrap(this.getValue(keys.use_car_mode));

              case 573:
                _context.t106 = _context.sent;

                if (_context.t106) {
                  _context.next = 576;
                  break;
                }

                _context.t106 = "0";

              case 576:
                _context.t107 = _context.t106;
                _context.t105 = _context.t107 === "1";

                if (_context.t105) {
                  _context.next = 580;
                  break;
                }

                _context.t105 = global.isDebug;

              case 580:
                this.useCarMode = _context.t105;
                _context.next = 583;
                return _regenerator.default.awrap(this.getValue(keys.show_native_options_page_fallback_url));

              case 583:
                this.showNativeOptionsPageFallbackUrl = _context.sent;
                _context.next = 586;
                return _regenerator.default.awrap(this.getValue(keys.show_native_options_page));

              case 586:
                _context.t108 = _context.sent;

                if (_context.t108) {
                  _context.next = 589;
                  break;
                }

                _context.t108 = "0";

              case 589:
                _context.t109 = _context.t108;
                this.showNativeOptionsPage = _context.t109 === "1";
                _context.next = 593;
                return _regenerator.default.awrap(this.getValue(keys.show_native_settings_screen));

              case 593:
                _context.t111 = _context.sent;

                if (_context.t111) {
                  _context.next = 596;
                  break;
                }

                _context.t111 = "0";

              case 596:
                _context.t112 = _context.t111;
                _context.t110 = _context.t112 === "1";

                if (_context.t110) {
                  _context.next = 600;
                  break;
                }

                _context.t110 = global.isDebug;

              case 600:
                this.showNativeSettingsScreen = _context.t110;
                _context.next = 603;
                return _regenerator.default.awrap(this.getValue(keys.enable_translation_customization));

              case 603:
                _context.t113 = _context.sent;

                if (_context.t113) {
                  _context.next = 606;
                  break;
                }

                _context.t113 = "1";

              case 606:
                _context.t114 = _context.t113;
                this.showTranslationCustomization = _context.t114 === "1";
                _context.next = 610;
                return _regenerator.default.awrap(this.getValue(keys.show_themes_customization));

              case 610:
                _context.t115 = _context.sent;

                if (_context.t115) {
                  _context.next = 613;
                  break;
                }

                _context.t115 = "1";

              case 613:
                _context.t116 = _context.t115;
                this.showThemesCustomization = _context.t116 === "1";
                _context.next = 617;
                return _regenerator.default.awrap(this.getValue(keys.enable_zoom_level_customization));

              case 617:
                _context.t117 = _context.sent;

                if (_context.t117) {
                  _context.next = 620;
                  break;
                }

                _context.t117 = "1";

              case 620:
                _context.t118 = _context.t117;
                this.enableZoomLevelCustomization = _context.t118 === "1";
                _context.next = 624;
                return _regenerator.default.awrap(this.getValue(keys.enable_article_types_customization));

              case 624:
                _context.t119 = _context.sent;

                if (_context.t119) {
                  _context.next = 627;
                  break;
                }

                _context.t119 = "1";

              case 627:
                _context.t120 = _context.t119;
                this.enableArticleTypesCustomization = _context.t120 === "1";
                _context.next = 631;
                return _regenerator.default.awrap(this.getValue(keys.show_article_column_view_customization));

              case 631:
                _context.t121 = _context.sent;

                if (_context.t121) {
                  _context.next = 634;
                  break;
                }

                _context.t121 = "1";

              case 634:
                _context.t122 = _context.t121;
                this.showArticleColumnViewCustomization = _context.t122 === "1";
                _context.next = 638;
                return _regenerator.default.awrap(this.getValue(keys.show_navigation_buttons_layout_customization));

              case 638:
                _context.t123 = _context.sent;

                if (_context.t123) {
                  _context.next = 641;
                  break;
                }

                _context.t123 = "1";

              case 641:
                _context.t124 = _context.t123;
                this.showNavigationButtonsLayoutCustomization = _context.t124 === "1";
                _context.next = 645;
                return _regenerator.default.awrap(this.getValue(keys.show_xpaper_navigation_close_button));

              case 645:
                _context.t125 = _context.sent;

                if (_context.t125) {
                  _context.next = 648;
                  break;
                }

                _context.t125 = "0";

              case 648:
                _context.t126 = _context.t125;
                this.showXPaperNavigationCloseButton = _context.t126 === "1";
                _context.next = 652;
                return _regenerator.default.awrap(this.getValue(keys.show_highlight_behavior_customization));

              case 652:
                _context.t127 = _context.sent;

                if (_context.t127) {
                  _context.next = 655;
                  break;
                }

                _context.t127 = "1";

              case 655:
                _context.t128 = _context.t127;
                this.showHighlightBehaviorCustomization = _context.t128 === "1";
                _context.next = 659;
                return _regenerator.default.awrap(this.getValue(keys.change_favorite_edition));

              case 659:
                _context.t129 = _context.sent;

                if (_context.t129) {
                  _context.next = 662;
                  break;
                }

                _context.t129 = "0";

              case 662:
                _context.t130 = _context.t129;
                this.changeFavoriteEdition = _context.t130 === "1";
                _context.next = 666;
                return _regenerator.default.awrap(this.getValue(keys.favorite_edition));

              case 666:
                _context.t131 = _context.sent;

                if (_context.t131) {
                  _context.next = 669;
                  break;
                }

                _context.t131 = "";

              case 669:
                this.favoriteEdition = _context.t131;
                _context.next = 672;
                return _regenerator.default.awrap(this.getValue(keys.enable_connectivity_options));

              case 672:
                _context.t132 = _context.sent;

                if (_context.t132) {
                  _context.next = 675;
                  break;
                }

                _context.t132 = "1";

              case 675:
                _context.t133 = _context.t132;
                this.enableConnectivityOptions = _context.t133 === "1";
                _context.next = 679;
                return _regenerator.default.awrap(this.getValue(keys.enable_font_size_customization));

              case 679:
                _context.t134 = _context.sent;

                if (_context.t134) {
                  _context.next = 682;
                  break;
                }

                _context.t134 = "1";

              case 682:
                _context.t135 = _context.t134;
                this.enableFontSizeCustomization = _context.t135 === "1";
                _context.next = 686;
                return _regenerator.default.awrap(this.getValue(keys.enable_graph_size_customization));

              case 686:
                _context.t136 = _context.sent;

                if (_context.t136) {
                  _context.next = 689;
                  break;
                }

                _context.t136 = "1";

              case 689:
                _context.t137 = _context.t136;
                this.enableGraphSizeCustomization = _context.t137 === "1";
                _context.t138 = parseInt;
                _context.next = 694;
                return _regenerator.default.awrap(this.getValue(keys.fit_graphic_article));

              case 694:
                _context.t139 = _context.sent;

                if (_context.t139) {
                  _context.next = 697;
                  break;
                }

                _context.t139 = "1";

              case 697:
                _context.t140 = _context.t139;
                this.fitGraphicArticle = (0, _context.t138)(_context.t140, 10);
                _context.next = 701;
                return _regenerator.default.awrap(this.getValue(keys.sub_path));

              case 701:
                this.subPath = _context.sent;
                _context.next = 704;
                return _regenerator.default.awrap(this.getValue(keys.extra_link_color));

              case 704:
                _context.t141 = _context.sent;

                if (_context.t141) {
                  _context.next = 707;
                  break;
                }

                _context.t141 = "255,0,0,0.25";

              case 707:
                this.extraLinkColor = _context.t141;
                _context.t142 = parseInt;
                _context.next = 711;
                return _regenerator.default.awrap(this.getValue(keys.background_duration_article_selected));

              case 711:
                _context.t143 = _context.sent;
                bgDurationTemp = (0, _context.t142)(_context.t143, 10);
                this.backgroundDurationArticleSelected = _$$_REQUIRE(_dependencyMap[11]).JSUtils.isNumber(bgDurationTemp) ? bgDurationTemp : _$$_REQUIRE(_dependencyMap[18]).HIDE_ANIMATION_DURATION;
                _context.t144 = parseInt;
                _context.next = 717;
                return _regenerator.default.awrap(this.getValue(keys.background_timer_article_selected));

              case 717:
                _context.t145 = _context.sent;
                bgTimerTemp = (0, _context.t144)(_context.t145, 10);
                this.backgroundTimerArticleSelected = _$$_REQUIRE(_dependencyMap[11]).JSUtils.isNumber(bgTimerTemp) ? bgTimerTemp : _$$_REQUIRE(_dependencyMap[18]).HIDE_ANIMATION_TIMER;
                _context.next = 722;
                return _regenerator.default.awrap(this.getValue(keys.background_color_article.selected));

              case 722:
                _context.t146 = _context.sent;

                if (_context.t146) {
                  _context.next = 725;
                  break;
                }

                _context.t146 = "255,0,0,0.25";

              case 725:
                this.backgroundColorArticleSelected = _context.t146;
                _context.next = 728;
                return _regenerator.default.awrap(this.getValue(keys.background_color_article.to_select));

              case 728:
                _context.t147 = _context.sent;

                if (_context.t147) {
                  _context.next = 731;
                  break;
                }

                _context.t147 = this.backgroundColorArticleSelected;

              case 731:
                this.backgroundColorArticleToSelect = _context.t147;
                _context.next = 734;
                return _regenerator.default.awrap(this.getValue(keys.preview_highlight_enabled));

              case 734:
                _context.t148 = _context.sent;

                if (_context.t148) {
                  _context.next = 737;
                  break;
                }

                _context.t148 = "0";

              case 737:
                _context.t149 = _context.t148;
                this.previewHighlightEnabled = _context.t149 === "1";
                _context.t150 = parseInt;
                _context.next = 742;
                return _regenerator.default.awrap(this.getValue(keys.preview_highlight_duration_seconds));

              case 742:
                _context.t151 = _context.sent;

                if (_context.t151) {
                  _context.next = 745;
                  break;
                }

                _context.t151 = "2";

              case 745:
                _context.t152 = _context.t151;
                this.previewHighlightDurationSeconds = (0, _context.t150)(_context.t152, 10);
                _context.t153 = parseInt;
                _context.next = 750;
                return _regenerator.default.awrap(this.getValue(keys.zooming_factor));

              case 750:
                _context.t154 = _context.sent;
                this.zoomingFactor = (0, _context.t153)(_context.t154, 10);
                this.zoomingFactor = this.zoomingFactor <= 0 ? 100 : this.zoomingFactor;
                _context.t155 = parseInt;
                _context.next = 756;
                return _regenerator.default.awrap(this.getValue(keys.max_zoom));

              case 756:
                _context.t156 = _context.sent;

                if (_context.t156) {
                  _context.next = 759;
                  break;
                }

                _context.t156 = "5";

              case 759:
                _context.t157 = _context.t156;
                this.maxZoom = (0, _context.t155)(_context.t157, 10);
                _context.t158 = parseFloat;
                _context.next = 764;
                return _regenerator.default.awrap(this.getValue(keys.pdf_thumbnail_ratio));

              case 764:
                _context.t159 = _context.sent;

                if (_context.t159) {
                  _context.next = 767;
                  break;
                }

                _context.t159 = "0.5";

              case 767:
                _context.t160 = _context.t159;
                this.pdfThumbnailRatio = (0, _context.t158)(_context.t160);
                _context.t161 = parseFloat;
                _context.next = 772;
                return _regenerator.default.awrap(this.getValue(keys.eink_complete_hr_factor));

              case 772:
                _context.t162 = _context.sent;

                if (_context.t162) {
                  _context.next = 775;
                  break;
                }

                _context.t162 = "2.2";

              case 775:
                _context.t163 = _context.t162;
                this.einkCompleteHrFactor = (0, _context.t161)(_context.t163);
                _context.t164 = parseInt;
                _context.next = 780;
                return _regenerator.default.awrap(this.getValue(keys.hr_factor));

              case 780:
                _context.t165 = _context.sent;

                if (_context.t165) {
                  _context.next = 783;
                  break;
                }

                _context.t165 = "1";

              case 783:
                _context.t166 = _context.t165;
                this.hrFactor = (0, _context.t164)(_context.t166, 10);
                _context.t167 = parseFloat;
                _context.next = 788;
                return _regenerator.default.awrap(this.getValue(keys.pdf_factor));

              case 788:
                _context.t168 = _context.sent;

                if (_context.t168) {
                  _context.next = 791;
                  break;
                }

                _context.t168 = "1.2";

              case 791:
                _context.t169 = _context.t168;
                this.pdfFactor = (0, _context.t167)(_context.t169);
                _context.t170 = parseFloat;
                _context.next = 796;
                return _regenerator.default.awrap(this.getValue(keys.pdf_factor_landscape));

              case 796:
                _context.t171 = _context.sent;

                if (_context.t171) {
                  _context.next = 799;
                  break;
                }

                _context.t171 = "1";

              case 799:
                _context.t172 = _context.t171;
                this.pdfFactorLandscape = (0, _context.t170)(_context.t172);
                _context.t173 = parseInt;
                _context.next = 804;
                return _regenerator.default.awrap(this.getValue(keys.low_pages_to_render));

              case 804:
                _context.t174 = _context.sent;

                if (_context.t174) {
                  _context.next = 807;
                  break;
                }

                _context.t174 = "1";

              case 807:
                _context.t175 = _context.t174;
                this.lowPagesToRender = (0, _context.t173)(_context.t175, 10);
                _context.t176 = parseInt;
                _context.next = 812;
                return _regenerator.default.awrap(this.getValue(keys.mid_pages_to_render));

              case 812:
                _context.t177 = _context.sent;

                if (_context.t177) {
                  _context.next = 815;
                  break;
                }

                _context.t177 = "1";

              case 815:
                _context.t178 = _context.t177;
                this.midPagesToRender = (0, _context.t176)(_context.t178, 10);
                _context.next = 819;
                return _regenerator.default.awrap(this.getValue(keys.load_mid_res_on_scroll));

              case 819:
                _context.t179 = _context.sent;

                if (_context.t179) {
                  _context.next = 822;
                  break;
                }

                _context.t179 = "1";

              case 822:
                _context.t180 = _context.t179;
                this.loadMidResOnScroll = _context.t180 === "1";
                _context.next = 826;
                return _regenerator.default.awrap(this.getValue(keys.enable_article_text_selection));

              case 826:
                _context.t181 = _context.sent;
                this.enableArticleTextSelection = _context.t181 === "1";
                _context.next = 830;
                return _regenerator.default.awrap(this.getValue(keys.show_edition_thumbs));

              case 830:
                _context.t182 = _context.sent;
                this.showEditionThumbs = _context.t182 === "1";

                if (!_$$_REQUIRE(_dependencyMap[11]).PlatformUtils.isTablet()) {
                  _context.next = 838;
                  break;
                }

                _context.next = 835;
                return _regenerator.default.awrap(this.getValue(keys.scroll_tiles));

              case 835:
                _context.t183 = _context.sent;
                _context.next = 841;
                break;

              case 838:
                _context.next = 840;
                return _regenerator.default.awrap(this.getValue(keys.scroll_tiles_phone));

              case 840:
                _context.t183 = _context.sent;

              case 841:
                this.scrollTiles = _context.t183;
                this.scrollTiles = parseInt(this.scrollTiles, 10);
                _context.next = 845;
                return _regenerator.default.awrap(this.getValue(keys.on_login_error_go_to));

              case 845:
                _context.t184 = _context.sent;

                if (_context.t184) {
                  _context.next = 848;
                  break;
                }

                _context.t184 = _$$_REQUIRE(_dependencyMap[19]).tabs.home;

              case 848:
                this.onLoginErrorGoTo = _context.t184;
                _context.next = 851;
                return _regenerator.default.awrap(this.getValue(keys.on_validation_error_go_to));

              case 851:
                _context.t185 = _context.sent;

                if (_context.t185) {
                  _context.next = 854;
                  break;
                }

                _context.t185 = _$$_REQUIRE(_dependencyMap[19]).tabs.login;

              case 854:
                this.onValidationErrorGoTo = _context.t185;
                _context.t187 = parseInt;
                _context.next = 858;
                return _regenerator.default.awrap(this.getValue(keys.time_limit_check_edition));

              case 858:
                _context.t188 = _context.sent;
                _context.t186 = (0, _context.t187)(_context.t188, 10);

                if (_context.t186) {
                  _context.next = 862;
                  break;
                }

                _context.t186 = 10;

              case 862:
                _context.t189 = _context.t186;
                _context.t190 = _context.t189 * 60;
                this.timeLimitCheckEdition = _context.t190 * 1000;
                _context.t192 = parseInt;
                _context.next = 868;
                return _regenerator.default.awrap(this.getValue(keys.latest_edition_available_message_format));

              case 868:
                _context.t193 = _context.sent;
                _context.t191 = (0, _context.t192)(_context.t193, 10);

                if (_context.t191) {
                  _context.next = 872;
                  break;
                }

                _context.t191 = LATEST_AVAILABLE_EDITION_FORMAT.ISSUE_AND_EDITION;

              case 872:
                this.latestEditionAvailableMessageFormat = _context.t191;
                _context.t195 = parseInt;
                _context.next = 876;
                return _regenerator.default.awrap(this.getValue(keys.time_limit_check_login));

              case 876:
                _context.t196 = _context.sent;
                _context.t194 = (0, _context.t195)(_context.t196, 10);

                if (_context.t194) {
                  _context.next = 880;
                  break;
                }

                _context.t194 = 7200;

              case 880:
                _context.t197 = _context.t194;
                this.timeLimitCheckLogin = _context.t197 * 1000;
                _context.t199 = parseInt;
                _context.next = 885;
                return _regenerator.default.awrap(this.getValue(keys.time_limit_forget_login));

              case 885:
                _context.t200 = _context.sent;
                _context.t198 = (0, _context.t199)(_context.t200, 10);

                if (_context.t198) {
                  _context.next = 889;
                  break;
                }

                _context.t198 = 120;

              case 889:
                _context.t201 = _context.t198;
                _context.t202 = _context.t201 * 60;
                this.timeLimitForgetLogin = _context.t202 * 1000;
                _context.next = 894;
                return _regenerator.default.awrap(this.getValue(keys.last_pSetup));

              case 894:
                _context.t203 = _context.sent;

                if (_context.t203) {
                  _context.next = 897;
                  break;
                }

                _context.t203 = this.pSetup;

              case 897:
                this.lastPSetup = _context.t203;
                _context.next = 900;
                return _regenerator.default.awrap(this.getValue(keys.last_issue));

              case 900:
                this.lastIssue = _context.sent;
                _context.next = 903;
                return _regenerator.default.awrap(this.getValue(keys.last_edition));

              case 903:
                this.lastEdition = _context.sent;
                _context.next = 906;
                return _regenerator.default.awrap(this.getValue(keys.demo_issue));

              case 906:
                this.demoIssue = _context.sent;
                _context.next = 909;
                return _regenerator.default.awrap(this.getValue(keys.force_article_mode_fullscreen_portrait));

              case 909:
                _context.t204 = _context.sent;

                if (_context.t204) {
                  _context.next = 912;
                  break;
                }

                _context.t204 = "0";

              case 912:
                this.articleModeDefaultFullscreenPortrait = _context.t204;
                _context.next = 915;
                return _regenerator.default.awrap(this.getValue(keys.force_article_mode_fullscreen_landscape));

              case 915:
                _context.t205 = _context.sent;

                if (_context.t205) {
                  _context.next = 918;
                  break;
                }

                _context.t205 = "0";

              case 918:
                this.articleModeDefaultFullscreenLandscape = _context.t205;
                _context.t206 = parseInt;
                _context.next = 922;
                return _regenerator.default.awrap(this.getValue(keys.enable_text_to_speech));

              case 922:
                _context.t207 = _context.sent;

                if (_context.t207) {
                  _context.next = 925;
                  break;
                }

                _context.t207 = "1";

              case 925:
                _context.t208 = _context.t207;
                _context.t209 = (0, _context.t206)(_context.t208, 10);
                this.enableTextToSpeech = _context.t209 === 1;
                _context.t210 = parseInt;
                _context.next = 931;
                return _regenerator.default.awrap(this.getValue(keys.enable_text_to_speech_player));

              case 931:
                _context.t211 = _context.sent;

                if (_context.t211) {
                  _context.next = 934;
                  break;
                }

                _context.t211 = "0";

              case 934:
                _context.t212 = _context.t211;
                _context.t213 = (0, _context.t210)(_context.t212, 10);
                this.enableTextToSpeechPlayer = _context.t213 === 1;
                _context.t215 = parseFloat;
                _context.next = 940;
                return _regenerator.default.awrap(this.getValue(keys.text_to_speech_rate));

              case 940:
                _context.t216 = _context.sent;
                _context.t214 = (0, _context.t215)(_context.t216);

                if (_context.t214) {
                  _context.next = 944;
                  break;
                }

                _context.t214 = 0;

              case 944:
                this.textToSpeechRate = _context.t214;
                _context.t218 = parseInt;
                _context.next = 948;
                return _regenerator.default.awrap(this.getValue(keys.text_to_speech_chunk_length));

              case 948:
                _context.t219 = _context.sent;
                _context.t217 = (0, _context.t218)(_context.t219, 10);

                if (_context.t217) {
                  _context.next = 952;
                  break;
                }

                _context.t217 = 1000;

              case 952:
                this.textToSpeechChunkLength = _context.t217;
                _context.t221 = parseInt;
                _context.next = 956;
                return _regenerator.default.awrap(this.getValue(keys.low_speed_limit));

              case 956:
                _context.t222 = _context.sent;
                _context.t220 = (0, _context.t221)(_context.t222, 10);

                if (_context.t220) {
                  _context.next = 960;
                  break;
                }

                _context.t220 = 250;

              case 960:
                this.lowSpeedLimit = _context.t220;
                _context.t223 = parseInt;
                _context.next = 964;
                return _regenerator.default.awrap(this.getValue(keys.disable_low_speed_limit));

              case 964:
                _context.t224 = _context.sent;

                if (_context.t224) {
                  _context.next = 967;
                  break;
                }

                _context.t224 = "0";

              case 967:
                _context.t225 = _context.t224;
                _context.t226 = (0, _context.t223)(_context.t225, 10);
                this.disableLowSpeedLimit = _context.t226 === 1;
                _context.next = 972;
                return _regenerator.default.awrap(this.getValue(keys.base_iap_api_url));

              case 972:
                this.baseInAppPurchaseAPIUrl = _context.sent;
                _context.next = 975;
                return _regenerator.default.awrap(this.getValue(keys.all_skus));

              case 975:
                this.allAndroidSkus = _context.sent;
                _context.t227 = parseInt;
                _context.next = 979;
                return _regenerator.default.awrap(this.getValue(keys.is_nnb));

              case 979:
                _context.t228 = _context.sent;
                _context.t229 = (0, _context.t227)(_context.t228, 10);
                this.isNNB = _context.t229 === 1;
                _context.t230 = parseInt;
                _context.next = 985;
                return _regenerator.default.awrap(this.getValue(keys.enable_vmode_and_fit_orientation));

              case 985:
                _context.t231 = _context.sent;

                if (_context.t231) {
                  _context.next = 988;
                  break;
                }

                _context.t231 = "1";

              case 988:
                _context.t232 = _context.t231;
                _context.t233 = (0, _context.t230)(_context.t232, 10);
                this.enableVmodeAndFitOrientation = _context.t233 === 1;
                _context.t234 = parseInt;
                _context.next = 994;
                return _regenerator.default.awrap(this.getValue(keys.fit_page_type));

              case 994:
                _context.t235 = _context.sent;

                if (_context.t235) {
                  _context.next = 997;
                  break;
                }

                _context.t235 = this.enableVmodeAndFitOrientation ? "7" : "6";

              case 997:
                _context.t236 = _context.t235;
                this.fitPageType = (0, _context.t234)(_context.t236, 10);
                _context.next = 1001;
                return _regenerator.default.awrap(this.getValue(keys.start_in_index_mode));

              case 1001:
                _context.t237 = _context.sent;

                if (_context.t237) {
                  _context.next = 1004;
                  break;
                }

                _context.t237 = "0";

              case 1004:
                this.startInIndexMode = _context.t237;
                _context.next = 1007;
                return _regenerator.default.awrap(this.getValue(keys.epaper_start_mode));

              case 1007:
                _context.t238 = _context.sent;

                if (_context.t238) {
                  _context.next = 1010;
                  break;
                }

                _context.t238 = NEWSMEMORY_START_MODE.READ;

              case 1010:
                this.epaperStartMode = _context.t238;
                _context.next = 1013;
                return _regenerator.default.awrap(this.getValue(keys.disable_epaper_mode_selection_page));

              case 1013:
                _context.t239 = _context.sent;

                if (_context.t239) {
                  _context.next = 1016;
                  break;
                }

                _context.t239 = "0";

              case 1016:
                _context.t240 = _context.t239;
                this.disableEPaperModeSelectionPage = _context.t240 === "1";
                _context.next = 1020;
                return _regenerator.default.awrap(this.getValue(keys.cdn_enabled));

              case 1020:
                _context.t241 = _context.sent;

                if (_context.t241) {
                  _context.next = 1023;
                  break;
                }

                _context.t241 = "1";

              case 1023:
                _context.t242 = _context.t241;
                this.cdnEnabled = _context.t242 === "1";
                _context.next = 1027;
                return _regenerator.default.awrap(this.getValue(keys.cdn_server));

              case 1027:
                this.cdnServer = _context.sent;
                _context.next = 1030;
                return _regenerator.default.awrap(this.getValue(keys.disable_rn_demo));

              case 1030:
                _context.t243 = _context.sent;

                if (_context.t243) {
                  _context.next = 1033;
                  break;
                }

                _context.t243 = "0";

              case 1033:
                _context.t244 = _context.t243;
                this.disableRnDemo = _context.t244 === "1";
                _context.next = 1037;
                return _regenerator.default.awrap(this.getValue(keys.landing_page_url));

              case 1037:
                this.landingPageURL = _context.sent;
                _context.t246 = parseInt;
                _context.next = 1041;
                return _regenerator.default.awrap(this.getValue(keys.landing_page_version));

              case 1041:
                _context.t247 = _context.sent;
                _context.t245 = (0, _context.t246)(_context.t247, 10);

                if (_context.t245) {
                  _context.next = 1045;
                  break;
                }

                _context.t245 = 0;

              case 1045:
                this.landingPageVersion = _context.t245;
                _context.next = 1048;
                return _regenerator.default.awrap(this.getValue(keys.show_landing_page_once));

              case 1048:
                _context.t248 = _context.sent;
                this.showLandingPageOnce = _context.t248 === "1";
                _context.next = 1052;
                return _regenerator.default.awrap(this.getValue(keys.forced_shared_secret));

              case 1052:
                this.forcedSharedSecret = _context.sent;
                _context.next = 1055;
                return _regenerator.default.awrap(this.getValue(keys.use_ios_sandbox_receipt_validation));

              case 1055:
                _context.t249 = _context.sent;
                this.useIOSSandboxReceiptValidation = _context.t249 === "1";
                _context.t250 = parseInt;
                _context.next = 1060;
                return _regenerator.default.awrap(this.getValue(keys.use_cc));

              case 1060:
                _context.t251 = _context.sent;

                if (_context.t251) {
                  _context.next = 1063;
                  break;
                }

                _context.t251 = ENCRYPT_FILENAME_TYPE.NONE;

              case 1063:
                _context.t252 = _context.t251;
                this.encryptFilenames = (0, _context.t250)(_context.t252, 10);
                _context.next = 1067;
                return _regenerator.default.awrap(this.getValue(keys.migrate));

              case 1067:
                _context.t253 = _context.sent;

                if (_context.t253) {
                  _context.next = 1070;
                  break;
                }

                _context.t253 = "0";

              case 1070:
                _context.t254 = _context.t253;
                this.migrate = _context.t254 === "1";
                _context.next = 1074;
                return _regenerator.default.awrap(this.getValue(keys.hybrid_version));

              case 1074:
                _context.t255 = _context.sent;

                if (_context.t255) {
                  _context.next = 1077;
                  break;
                }

                _context.t255 = "0";

              case 1077:
                this.hybridVersion = _context.t255;
                _context.t256 = parseInt;
                _context.next = 1081;
                return _regenerator.default.awrap(this.getValue(keys.append_first_pages));

              case 1081:
                _context.t257 = _context.sent;

                if (_context.t257) {
                  _context.next = 1084;
                  break;
                }

                _context.t257 = "1";

              case 1084:
                _context.t258 = _context.t257;
                _context.t259 = (0, _context.t256)(_context.t258, 10);
                this.enableAppendFirstPages = _context.t259 === 1;
                _context.t260 = parseFloat;
                _context.next = 1090;
                return _regenerator.default.awrap(this.getValue(keys.png_quality_factor));

              case 1090:
                _context.t261 = _context.sent;

                if (_context.t261) {
                  _context.next = 1093;
                  break;
                }

                _context.t261 = "1.8";

              case 1093:
                _context.t262 = _context.t261;
                this.pngQualityFactor = (0, _context.t260)(_context.t262);
                _context.next = 1097;
                return _regenerator.default.awrap(this.getValue(keys.generate_png_based_on_screen_dimensions));

              case 1097:
                _context.t263 = _context.sent;

                if (_context.t263) {
                  _context.next = 1100;
                  break;
                }

                _context.t263 = "1";

              case 1100:
                _context.t264 = _context.t263;
                this.generatePNGBasedOnScreenDimensions = _context.t264 === "1";
                _context.next = 1104;
                return _regenerator.default.awrap(this.getValue(keys.consider_pixel_ratio_in_png_generation));

              case 1104:
                _context.t265 = _context.sent;

                if (_context.t265) {
                  _context.next = 1107;
                  break;
                }

                _context.t265 = "1";

              case 1107:
                _context.t266 = _context.t265;
                this.considerPixelRatioInPNGGeneration = _context.t266 === "1";
                _context.t267 = parseInt;
                _context.next = 1112;
                return _regenerator.default.awrap(this.getValue(keys.png_width_limit));

              case 1112:
                _context.t268 = _context.sent;

                if (_context.t268) {
                  _context.next = 1115;
                  break;
                }

                _context.t268 = "1080";

              case 1115:
                _context.t269 = _context.t268;
                this.pngWidthLimit = (0, _context.t267)(_context.t269, 10);
                _context.next = 1119;
                return _regenerator.default.awrap(this.getValue(keys.print_enabled));

              case 1119:
                _context.t270 = _context.sent;

                if (_context.t270) {
                  _context.next = 1122;
                  break;
                }

                _context.t270 = "1";

              case 1122:
                _context.t271 = _context.t270;
                this.enablePrint = _context.t271 === "1";
                _context.next = 1126;
                return _regenerator.default.awrap(this.getValue(keys.print_to_letter));

              case 1126:
                _context.t272 = _context.sent;

                if (_context.t272) {
                  _context.next = 1129;
                  break;
                }

                _context.t272 = "1";

              case 1129:
                _context.t273 = _context.t272;
                this.printToLetter = _context.t273 === "1";
                _context.t274 = parseInt;
                _context.next = 1134;
                return _regenerator.default.awrap(this.getValue(keys.print_margin));

              case 1134:
                _context.t275 = _context.sent;

                if (_context.t275) {
                  _context.next = 1137;
                  break;
                }

                _context.t275 = "10";

              case 1137:
                _context.t276 = _context.t275;
                this.printMargin = (0, _context.t274)(_context.t276, 10);
                _context.next = 1141;
                return _regenerator.default.awrap(this.getValue(keys.generic_app_enabled));

              case 1141:
                _context.t277 = _context.sent;

                if (_context.t277) {
                  _context.next = 1144;
                  break;
                }

                _context.t277 = "0";

              case 1144:
                _context.t278 = _context.t277;
                this.isGenericApp = _context.t278 === "1";
                _context.next = 1148;
                return _regenerator.default.awrap(this.getValue(keys.store_url));

              case 1148:
                _context.t279 = _context.sent;

                if (_context.t279) {
                  _context.next = 1151;
                  break;
                }

                _context.t279 = "";

              case 1151:
                this.publicationsPageURL = _context.t279;
                _context.next = 1154;
                return _regenerator.default.awrap(this.getValue(keys.iap_active));

              case 1154:
                _context.t280 = _context.sent;

                if (_context.t280) {
                  _context.next = 1157;
                  break;
                }

                _context.t280 = "0";

              case 1157:
                _context.t281 = _context.t280;
                this.iapActive = _context.t281 === "1";
                _context.next = 1161;
                return _regenerator.default.awrap(this.getValue(keys.payments));

              case 1161:
                _context.t282 = _context.sent;

                if (_context.t282) {
                  _context.next = 1164;
                  break;
                }

                _context.t282 = "[]";

              case 1164:
                pSetupPaymentsString = _context.t282;
                pSetupPaymentsArray = JSON.parse(pSetupPaymentsString);
                this.payments = pSetupPaymentsArray.map(function (pSetupPayment) {
                  return new _Payment.default(pSetupPayment);
                });
                _context.next = 1169;
                return _regenerator.default.awrap(this.getValue(keys.enable_multiple_subscriptions_alert));

              case 1169:
                _context.t283 = _context.sent;

                if (_context.t283) {
                  _context.next = 1172;
                  break;
                }

                _context.t283 = "1";

              case 1172:
                _context.t284 = _context.t283;
                this.enableMultipleSubscriptionsAlert = _context.t284 === "1";
                _context.t285 = parseInt;
                _context.next = 1177;
                return _regenerator.default.awrap(this.getValue(keys.protect_site));

              case 1177:
                _context.t286 = _context.sent;

                if (_context.t286) {
                  _context.next = 1180;
                  break;
                }

                _context.t286 = "0";

              case 1180:
                _context.t287 = _context.t286;
                this.protectSite = (0, _context.t285)(_context.t287, 10);
                _context.next = 1184;
                return _regenerator.default.awrap(this.getValue(keys.pages_navigation_buttons_layout));

              case 1184:
                _context.t288 = _context.sent;

                if (_context.t288) {
                  _context.next = 1187;
                  break;
                }

                _context.t288 = PAGES_NAVIGATION_BUTTONS_LAYOUT.FIXED;

              case 1187:
                this.pagesNavigationButtonsLayout = _context.t288;
                _context.next = 1190;
                return _regenerator.default.awrap(this.getValue(keys.animate_layout_footer));

              case 1190:
                _context.t289 = _context.sent;

                if (_context.t289) {
                  _context.next = 1193;
                  break;
                }

                _context.t289 = "0";

              case 1193:
                _context.t290 = _context.t289;
                this.animateLayoutFooter = _context.t290 === "1";
                _context.next = 1197;
                return _regenerator.default.awrap(this.getValue(keys.fix_buttons_bar_to_bottom));

              case 1197:
                _context.t292 = _context.sent;

                if (_context.t292) {
                  _context.next = 1200;
                  break;
                }

                _context.t292 = "0";

              case 1200:
                _context.t293 = _context.t292;
                _context.t291 = _context.t293 === "1";

                if (!_context.t291) {
                  _context.next = 1204;
                  break;
                }

                _context.t291 = _$$_REQUIRE(_dependencyMap[11]).PlatformUtils.isTablet();

              case 1204:
                this.fixButtonsBarToBottom = _context.t291;
                _context.t295 = parseInt;
                _context.next = 1208;
                return _regenerator.default.awrap(this.getValue(keys.dfp_reload_time));

              case 1208:
                _context.t296 = _context.sent;
                _context.t294 = (0, _context.t295)(_context.t296, 10);

                if (_context.t294) {
                  _context.next = 1212;
                  break;
                }

                _context.t294 = 20000;

              case 1212:
                this.dfpReloadTime = _context.t294;
                _context.next = 1215;
                return _regenerator.default.awrap(this.getValue(keys.two_fingers_tap_hint_enabled));

              case 1215:
                _context.t297 = _context.sent;

                if (_context.t297) {
                  _context.next = 1218;
                  break;
                }

                _context.t297 = "1";

              case 1218:
                _context.t298 = _context.t297;
                this.twoFingersTapHintEnabled = _context.t298 === "1";
                _context.t299 = parseInt;
                _context.next = 1223;
                return _regenerator.default.awrap(this.getValue(keys.two_fingers_tap_max_hints));

              case 1223:
                _context.t300 = _context.sent;

                if (_context.t300) {
                  _context.next = 1226;
                  break;
                }

                _context.t300 = "5";

              case 1226:
                _context.t301 = _context.t300;
                this.twoFingersTapMaxHints = (0, _context.t299)(_context.t301, 10);
                _context.next = 1230;
                return _regenerator.default.awrap(this.getValue(keys.enable_share));

              case 1230:
                _context.t302 = _context.sent;

                if (_context.t302) {
                  _context.next = 1233;
                  break;
                }

                _context.t302 = "1";

              case 1233:
                _context.t303 = _context.t302;
                this.enableShare = _context.t303 === "1";
                _context.t304 = parseInt;
                _context.next = 1238;
                return _regenerator.default.awrap(this.getValue(keys.max_shares));

              case 1238:
                _context.t305 = _context.sent;

                if (_context.t305) {
                  _context.next = 1241;
                  break;
                }

                _context.t305 = "0";

              case 1241:
                _context.t306 = _context.t305;
                this.maxShares = (0, _context.t304)(_context.t306, 10);
                _context.t307 = parseInt;
                _context.next = 1246;
                return _regenerator.default.awrap(this.getValue(keys.max_shares_check_type));

              case 1246:
                _context.t308 = _context.sent;

                if (_context.t308) {
                  _context.next = 1249;
                  break;
                }

                _context.t308 = "1";

              case 1249:
                _context.t309 = _context.t308;
                this.maxSharesCheckType = (0, _context.t307)(_context.t309, 10);
                _context.next = 1253;
                return _regenerator.default.awrap(this.getValue(keys.message_max_share));

              case 1253:
                _context.t310 = _context.sent;

                if (_context.t310) {
                  _context.next = 1256;
                  break;
                }

                _context.t310 = "";

              case 1256:
                this.messageMaxShare = _context.t310;
                _context.next = 1259;
                return _regenerator.default.awrap(this.getValue(keys.download_single_pdf));

              case 1259:
                _context.t311 = _context.sent;

                if (_context.t311) {
                  _context.next = 1262;
                  break;
                }

                _context.t311 = "0";

              case 1262:
                _context.t312 = _context.t311;
                this.downloadSinglePdf = _context.t312 === "1";
                _context.t313 = parseInt;
                _context.next = 1267;
                return _regenerator.default.awrap(this.getValue(keys.merge_articles));

              case 1267:
                _context.t314 = _context.sent;

                if (_context.t314) {
                  _context.next = 1270;
                  break;
                }

                _context.t314 = MERGE_ARTICLES_TYPES.NORMAL;

              case 1270:
                _context.t315 = _context.t314;
                this.mergeArticles = (0, _context.t313)(_context.t315, 10);
                _context.t316 = parseInt;
                _context.next = 1275;
                return _regenerator.default.awrap(this.getValue(keys.column_view));

              case 1275:
                _context.t317 = _context.sent;

                if (_context.t317) {
                  _context.next = 1278;
                  break;
                }

                _context.t317 = "1";

              case 1278:
                _context.t318 = _context.t317;
                this.columnView = (0, _context.t316)(_context.t318, 10);
                _context.next = 1282;
                return _regenerator.default.awrap(this.getValue(keys.enable_phone_article_layout_on_tablet_in_landscape));

              case 1282:
                _context.t319 = _context.sent;

                if (_context.t319) {
                  _context.next = 1285;
                  break;
                }

                _context.t319 = "0";

              case 1285:
                _context.t320 = _context.t319;
                this.enablePhoneArticleLayoutOnTabletInLandscape = _context.t320 === "1";
                _context.next = 1289;
                return _regenerator.default.awrap(this.getValue(keys.enable_desktop_article_layout_on_ipad_pro_in_landscape));

              case 1289:
                _context.t321 = _context.sent;

                if (_context.t321) {
                  _context.next = 1292;
                  break;
                }

                _context.t321 = "0";

              case 1292:
                _context.t322 = _context.t321;
                this.enableDesktopArticleLayoutOnIPadProInLandscape = _context.t322 === "1";
                _context.next = 1296;
                return _regenerator.default.awrap(this.getValue(keys.show_art_complete));

              case 1296:
                _context.t323 = _context.sent;

                if (_context.t323) {
                  _context.next = 1299;
                  break;
                }

                _context.t323 = "0";

              case 1299:
                _context.t324 = _context.t323;
                this.showArtComplete = _context.t324 === "1";
                _context.next = 1303;
                return _regenerator.default.awrap(this.getValue(keys.calculate_mid_ads));

              case 1303:
                _context.t325 = _context.sent;

                if (_context.t325) {
                  _context.next = 1306;
                  break;
                }

                _context.t325 = "0";

              case 1306:
                _context.t326 = _context.t325;
                this.calculateMidAds = _context.t326 === "1";
                _context.next = 1310;
                return _regenerator.default.awrap(this.getValue(keys.keep_article_position_on_rotation));

              case 1310:
                _context.t327 = _context.sent;

                if (_context.t327) {
                  _context.next = 1313;
                  break;
                }

                _context.t327 = "0";

              case 1313:
                _context.t328 = _context.t327;
                this.keepArticlePositionOnRotation = _context.t328 === "1";
                _context.next = 1317;
                return _regenerator.default.awrap(this.getValue(keys.enable_article_image_reposition));

              case 1317:
                _context.t329 = _context.sent;

                if (_context.t329) {
                  _context.next = 1320;
                  break;
                }

                _context.t329 = "0";

              case 1320:
                _context.t330 = _context.t329;
                this.enableArticleImageReposition = _context.t330 === "1";
                _context.next = 1324;
                return _regenerator.default.awrap(this.getValue(keys.enable_article_byline_hrs));

              case 1324:
                _context.t331 = _context.sent;

                if (_context.t331) {
                  _context.next = 1327;
                  break;
                }

                _context.t331 = "1";

              case 1327:
                _context.t332 = _context.t331;
                this.enableArticleBylineHRs = _context.t332 === "1";
                _context.next = 1331;
                return _regenerator.default.awrap(this.getValue(keys.ads));

              case 1331:
                _context.t333 = _context.sent;

                if (_context.t333) {
                  _context.next = 1334;
                  break;
                }

                _context.t333 = "";

              case 1334:
                this.ads = _context.t333;
                _context.next = 1337;
                return _regenerator.default.awrap(this.getValue(keys.enable_instory_ad_marker));

              case 1337:
                _context.t334 = _context.sent;

                if (_context.t334) {
                  _context.next = 1340;
                  break;
                }

                _context.t334 = "0";

              case 1340:
                _context.t335 = _context.t334;
                this.enableInStoryAdMarker = _context.t335 === "1";
                _context.next = 1344;
                return _regenerator.default.awrap(this.getValue(keys.instory_ad_marker_text));

              case 1344:
                _context.t336 = _context.sent;

                if (_context.t336) {
                  _context.next = 1347;
                  break;
                }

                _context.t336 = global.strings("str_advertisement");

              case 1347:
                this.inStoryAdMarkerText = _context.t336;
                _context.next = 1350;
                return _regenerator.default.awrap(this.getValue(keys.disable_rn_styles));

              case 1350:
                _context.t337 = _context.sent;

                if (_context.t337) {
                  _context.next = 1353;
                  break;
                }

                _context.t337 = "0";

              case 1353:
                _context.t338 = _context.t337;
                this.disableRnStyles = _context.t338 === "1";
                this.rnStyles = {};
                _context.next = 1358;
                return _regenerator.default.awrap(this.getValue(keys.rn_styles));

              case 1358:
                rnStyleRaw = _context.sent;

                if (rnStyleRaw) {
                  try {
                    this.rnStyles = JSON.parse(rnStyleRaw);
                  } catch (e) {}
                } else {}

                _context.t339 = parseInt;
                _context.next = 1363;
                return _regenerator.default.awrap(this.getValue(keys.rn_styles_file_time));

              case 1363:
                _context.t340 = _context.sent;

                if (_context.t340) {
                  _context.next = 1366;
                  break;
                }

                _context.t340 = -1;

              case 1366:
                _context.t341 = _context.t340;
                this.rnStylesFileTime = (0, _context.t339)(_context.t341, 10);
                _context.t342 = parseInt;
                _context.next = 1371;
                return _regenerator.default.awrap(this.getValue(keys.ssl_certificate_file_time));

              case 1371:
                _context.t343 = _context.sent;

                if (_context.t343) {
                  _context.next = 1374;
                  break;
                }

                _context.t343 = -1;

              case 1374:
                _context.t344 = _context.t343;
                this.sslCertificateFileTime = (0, _context.t342)(_context.t344, 10);
                _context.t345 = parseInt;
                _context.next = 1379;
                return _regenerator.default.awrap(this.getValue(keys.device_dpi));

              case 1379:
                _context.t346 = _context.sent;

                if (_context.t346) {
                  _context.next = 1382;
                  break;
                }

                _context.t346 = 0;

              case 1382:
                _context.t347 = _context.t346;
                this.deviceDpi = (0, _context.t345)(_context.t347, 10);
                _context.next = 1386;
                return _regenerator.default.awrap(this.getValue(keys.toc_style));

              case 1386:
                _context.t348 = _context.sent;

                if (_context.t348) {
                  _context.next = 1389;
                  break;
                }

                _context.t348 = "list";

              case 1389:
                this.tocStyle = _context.t348;
                _context.next = 1392;
                return _regenerator.default.awrap(this.getValue(keys.toc_style_preview));

              case 1392:
                _context.t349 = _context.sent;

                if (_context.t349) {
                  _context.next = 1395;
                  break;
                }

                _context.t349 = "all_art";

              case 1395:
                this.tocStylePreview = _context.t349;
                _context.next = 1398;
                return _regenerator.default.awrap(this.getValue(keys.enable_tab_index_mode));

              case 1398:
                _context.t350 = _context.sent;

                if (_context.t350) {
                  _context.next = 1401;
                  break;
                }

                _context.t350 = "0";

              case 1401:
                _context.t351 = _context.t350;
                this.enableTabIndexMode = _context.t351 === "1";
                _context.next = 1405;
                return _regenerator.default.awrap(this.getValue(keys.show_tab_index_mode_customization));

              case 1405:
                _context.t352 = _context.sent;

                if (_context.t352) {
                  _context.next = 1408;
                  break;
                }

                _context.t352 = this.enableTabIndexMode ? "1" : "0";

              case 1408:
                _context.t353 = _context.t352;
                this.showTabIndexModeCustomization = _context.t353 === "1";
                _context.next = 1412;
                return _regenerator.default.awrap(this.getValue(keys.bundle_update_available));

              case 1412:
                _context.t354 = _context.sent;

                if (_context.t354) {
                  _context.next = 1415;
                  break;
                }

                _context.t354 = "0";

              case 1415:
                _context.t355 = _context.t354;
                this.bundleUpdateAvailable = _context.t355 === "1";
                _context.next = 1419;
                return _regenerator.default.awrap(this.getValue(keys.reset_app_bundle));

              case 1419:
                _context.t356 = _context.sent;

                if (_context.t356) {
                  _context.next = 1422;
                  break;
                }

                _context.t356 = "0";

              case 1422:
                _context.t357 = _context.t356;
                this.resetAppBundle = _context.t357 === "1";
                _context.t358 = parseInt;
                _context.next = 1427;
                return _regenerator.default.awrap(this.getValue(keys.see_newspaper_preview));

              case 1427:
                _context.t359 = _context.sent;

                if (_context.t359) {
                  _context.next = 1430;
                  break;
                }

                _context.t359 = "0";

              case 1430:
                _context.t360 = _context.t359;
                this.seeNewspaperPreview = (0, _context.t358)(_context.t360, 10);
                _context.t362 = parseInt;
                _context.next = 1435;
                return _regenerator.default.awrap(this.getValue(keys.page_see_newspaper_preview));

              case 1435:
                _context.t363 = _context.sent;
                _context.t361 = (0, _context.t362)(_context.t363, 10);

                if (_context.t361) {
                  _context.next = 1439;
                  break;
                }

                _context.t361 = 2;

              case 1439:
                this.pageSeeNewspaperPreview = _context.t361;
                _context.t365 = parseInt;
                _context.next = 1443;
                return _regenerator.default.awrap(this.getValue(keys.hours_to_send_push_registration));

              case 1443:
                _context.t366 = _context.sent;
                _context.t364 = (0, _context.t365)(_context.t366, 10);

                if (_context.t364) {
                  _context.next = 1447;
                  break;
                }

                _context.t364 = 6;

              case 1447:
                this.hoursToSendPushRegistration = _context.t364;
                _context.next = 1450;
                return _regenerator.default.awrap(this.getValue(keys.webview_ios_native_player));

              case 1450:
                _context.t367 = _context.sent;

                if (_context.t367) {
                  _context.next = 1453;
                  break;
                }

                _context.t367 = "0";

              case 1453:
                _context.t368 = _context.t367;
                this.webviewIOSNativePlayer = _context.t368 === "1";
                _context.next = 1457;
                return _regenerator.default.awrap(this.getValue(keys.webview_android_allow_fullscreen));

              case 1457:
                _context.t369 = _context.sent;

                if (_context.t369) {
                  _context.next = 1460;
                  break;
                }

                _context.t369 = "1";

              case 1460:
                _context.t370 = _context.t369;
                this.webviewAndroidAllowFullscreen = _context.t370 === "1";
                _context.next = 1464;
                return _regenerator.default.awrap(this.getValue(keys.webview_allow_autoplay));

              case 1464:
                _context.t371 = _context.sent;

                if (_context.t371) {
                  _context.next = 1467;
                  break;
                }

                _context.t371 = "0";

              case 1467:
                _context.t372 = _context.t371;
                this.webviewAllowAutoplay = _context.t372 === "1";
                this.webviewCustomHTTPHeaders = {};
                _context.next = 1472;
                return _regenerator.default.awrap(this.getValue(keys.webview_custom_http_headers));

              case 1472:
                customHTTPHeadersRaw = _context.sent;

                if (customHTTPHeadersRaw) {
                  this.webviewCustomHTTPHeaders = _$$_REQUIRE(_dependencyMap[11]).StringUtils.parseQuerystring(customHTTPHeadersRaw);
                }

                this.attConfig = new (_$$_REQUIRE(_dependencyMap[20]).ATTConfig)(this.pSetup, this.originalMachine);
                _context.next = 1477;
                return _regenerator.default.awrap(this.attConfig.init(json));

              case 1477:
                _context.next = 1479;
                return _regenerator.default.awrap(this.getValue(keys.iubenda.enabled));

              case 1479:
                _context.t373 = _context.sent;

                if (_context.t373) {
                  _context.next = 1482;
                  break;
                }

                _context.t373 = "0";

              case 1482:
                _context.t374 = _context.t373;
                this.iubendaEnabled = _context.t374 === "1";

                if (!this.iubendaEnabled) {
                  _context.next = 1488;
                  break;
                }

                this.iubendaConfig = new (_$$_REQUIRE(_dependencyMap[21]).IubendaConfig)(this.pSetup, this.originalMachine);
                _context.next = 1488;
                return _regenerator.default.awrap(this.iubendaConfig.init(json));

              case 1488:
                _context.next = 1490;
                return _regenerator.default.awrap(this.getValue(keys.show_extras_in_article_graphic_mode));

              case 1490:
                _context.t375 = _context.sent;

                if (_context.t375) {
                  _context.next = 1493;
                  break;
                }

                _context.t375 = "0";

              case 1493:
                _context.t376 = _context.t375;
                this.showExtrasInArticleGraphicMode = _context.t376 === "1";
                _context.next = 1497;
                return _regenerator.default.awrap(this.getValue(keys.show_extras_to_logged_users_only));

              case 1497:
                _context.t377 = _context.sent;

                if (_context.t377) {
                  _context.next = 1500;
                  break;
                }

                _context.t377 = "0";

              case 1500:
                _context.t378 = _context.t377;
                this.showExtrasToLoggedUsersOnly = _context.t378 === "1";
                _context.next = 1504;
                return _regenerator.default.awrap(this.getValue(keys.morse_tauid));

              case 1504:
                _context.t379 = _context.sent;

                if (_context.t379) {
                  _context.next = 1507;
                  break;
                }

                _context.t379 = "0";

              case 1507:
                _context.t380 = _context.t379;
                this.morseTAUID = _context.t380 === "1";
                _context.next = 1511;
                return _regenerator.default.awrap(this.getValue(keys.add_watermark));

              case 1511:
                _context.t381 = _context.sent;

                if (_context.t381) {
                  _context.next = 1514;
                  break;
                }

                _context.t381 = "0";

              case 1514:
                _context.t382 = _context.t381;
                this.addWatermark = _context.t382 === "1";
                _context.next = 1518;
                return _regenerator.default.awrap(this.getValue(keys.watermark_text));

              case 1518:
                _context.t383 = _context.sent;

                if (_context.t383) {
                  _context.next = 1521;
                  break;
                }

                _context.t383 = "$extId";

              case 1521:
                this.watermarkText = _context.t383;
                _context.next = 1524;
                return _regenerator.default.awrap(this.getValue(keys.disable_screen_idle_timer_delay));

              case 1524:
                _context.t384 = _context.sent;

                if (_context.t384) {
                  _context.next = 1527;
                  break;
                }

                _context.t384 = "0";

              case 1527:
                _context.t385 = _context.t384;
                this.disableScreenIdleTimerDelay = _context.t385 === "1";
                _context.next = 1531;
                return _regenerator.default.awrap(this.getValue(keys.startup_params));

              case 1531:
                _context.t386 = _context.sent;

                if (_context.t386) {
                  _context.next = 1534;
                  break;
                }

                _context.t386 = "{}";

              case 1534:
                rawStartupParams = _context.t386;

                try {
                  this.startupParams = JSON.parse(rawStartupParams);
                } catch (e) {
                  this.startupParams = {};
                }

                _context.next = 1538;
                return _regenerator.default.awrap(this.getValue(keys.enable_session_collection));

              case 1538:
                _context.t387 = _context.sent;

                if (_context.t387) {
                  _context.next = 1541;
                  break;
                }

                _context.t387 = "0";

              case 1541:
                _context.t388 = _context.t387;
                this.enableSessionCollection = _context.t388 === "1";
                _context.next = 1545;
                return _regenerator.default.awrap(this.getValue(keys.enable_session_auto_upload));

              case 1545:
                _context.t389 = _context.sent;

                if (_context.t389) {
                  _context.next = 1548;
                  break;
                }

                _context.t389 = "0";

              case 1548:
                _context.t390 = _context.t389;
                this.enableSessionAutoUpload = _context.t390 === "1";
                _context.next = 1552;
                return _regenerator.default.awrap(this.getValue(keys.session_upload_base_url));

              case 1552:
                _context.t391 = _context.sent;

                if (_context.t391) {
                  _context.next = 1555;
                  break;
                }

                _context.t391 = "";

              case 1555:
                this.sessionUploadBaseURL = _context.t391;
                this.disableReaderAppModal = true;
                this.readerAppLearnMoreLink = "";

                if (!_$$_REQUIRE(_dependencyMap[11]).PlatformUtils.isIOS()) {
                  _context.next = 1572;
                  break;
                }

                _context.next = 1561;
                return _regenerator.default.awrap(this.getValue(keys.disable_reader_app_modal));

              case 1561:
                _context.t392 = _context.sent;

                if (_context.t392) {
                  _context.next = 1564;
                  break;
                }

                _context.t392 = "0";

              case 1564:
                _context.t393 = _context.t392;
                this.disableReaderAppModal = _context.t393 === "1";
                _context.next = 1568;
                return _regenerator.default.awrap(this.getValue(keys.reader_app_learn_more_link));

              case 1568:
                _context.t394 = _context.sent;

                if (_context.t394) {
                  _context.next = 1571;
                  break;
                }

                _context.t394 = "https://apps.apple.com/story/id1614232807";

              case 1571:
                this.readerAppLearnMoreLink = _context.t394;

              case 1572:
                _context.next = 1574;
                return _regenerator.default.awrap(this.getValue(keys.checksum));

              case 1574:
                _context.t395 = _context.sent;

                if (_context.t395) {
                  _context.next = 1577;
                  break;
                }

                _context.t395 = "";

              case 1577:
                this.checksum = _context.t395;
                _context.next = 1580;
                return _regenerator.default.awrap(this.getValue(keys.push_tags));

              case 1580:
                _context.t396 = _context.sent;

                if (_context.t396) {
                  _context.next = 1583;
                  break;
                }

                _context.t396 = "";

              case 1583:
                this.pushTags = _context.t396;
                _context.next = 1586;
                return _regenerator.default.awrap(this.getValue(keys.ssl_domains));

              case 1586:
                _context.t397 = _context.sent;

                if (_context.t397) {
                  _context.next = 1589;
                  break;
                }

                _context.t397 = "";

              case 1589:
                this.sslDomains = _context.t397.split(",");
                _context.next = 1592;
                return _regenerator.default.awrap(this.getValue(keys.use_native_view_pager_ios));

              case 1592:
                _context.t398 = _context.sent;

                if (_context.t398) {
                  _context.next = 1595;
                  break;
                }

                _context.t398 = "1";

              case 1595:
                _context.t399 = _context.t398;
                this.useNativeViewPagerIOS = _context.t399 === "1";
                _context.next = 1599;
                return _regenerator.default.awrap(this.getValue(keys.use_asymmetric_card_list));

              case 1599:
                _context.t400 = _context.sent;

                if (_context.t400) {
                  _context.next = 1602;
                  break;
                }

                _context.t400 = "1";

              case 1602:
                _context.t401 = _context.t400;
                this.useAsymmetricCardList = _context.t401 === "1";
                _context.next = 1606;
                return _regenerator.default.awrap(this.getValue(keys.prevent_screenshots));

              case 1606:
                _context.t402 = _context.sent;

                if (_context.t402) {
                  _context.next = 1609;
                  break;
                }

                _context.t402 = "0";

              case 1609:
                _context.t403 = _context.t402;
                this.preventScreenshots = _context.t403 === "1";
                return _context.abrupt("return", true);

              case 1612:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "setLastIssue",
      value: function setLastIssue(lastIssue) {
        this.lastIssue = lastIssue;
        this.setValue(keys.last_issue, lastIssue);
      }
    }, {
      key: "setLastEdition",
      value: function setLastEdition(lastEdition) {
        this.lastEdition = lastEdition;
        this.setValue(keys.last_edition, lastEdition);
      }
    }, {
      key: "setLastPSetup",
      value: function setLastPSetup(lastPSetup) {
        this.lastPSetup = lastPSetup;
        this.setValue(keys.last_pSetup, lastPSetup);
      }
    }, {
      key: "setDemoIssue",
      value: function setDemoIssue(demoIssue) {
        this.demoIssue = demoIssue;
        this.setValue(keys.demo_issue, demoIssue);
      }
    }, {
      key: "setRssIndexFileTime",
      value: function setRssIndexFileTime() {
        var filetime = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
        this.rssIndexFileTime = filetime;
        this.setValue(keys.rss_index_file_time, "" + filetime);
      }
    }, {
      key: "setCustomLanguagePackFileTime",
      value: function setCustomLanguagePackFileTime() {
        var filetime = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
        this.customLanguagePackFileTime = filetime;
        this.setValue(keys.custom_language_pack_file_time, "" + filetime);
      }
    }, {
      key: "setCustomFontsFileTime",
      value: function setCustomFontsFileTime() {
        var filetime = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
        this.customFontsFileTime = filetime;
        this.setValue(keys.custom_fonts_file_time, "" + filetime);
      }
    }, {
      key: "setRNStyles",
      value: function setRNStyles() {
        var rnStyles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        this.rnStyles = rnStyles;
        this.setValue(keys.rn_styles, JSON.stringify(rnStyles));
      }
    }, {
      key: "setRNStylesFileTime",
      value: function setRNStylesFileTime() {
        var filetime = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
        this.rnStylesFileTime = filetime;
        this.setValue(keys.rn_styles_file_time, "" + filetime);
      }
    }, {
      key: "setSSLCertificateFileTime",
      value: function setSSLCertificateFileTime() {
        var filetime = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
        this.sslCertificateFileTime = filetime;
        this.setValue(keys.ssl_certificate_file_time, "" + filetime);
      }
    }, {
      key: "setModeEnabled",
      value: function setModeEnabled(modeEnabled) {
        var runtime = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
        this.rssIsEnabled = modeEnabled === RSS_ENABLED || modeEnabled === BOTH_ENABLED;
        this.newsMemoryIsEnabled = modeEnabled === DEFAULT || modeEnabled === NEWSMEMORY_ENABLED || modeEnabled === BOTH_ENABLED;

        if (!runtime) {
          this.setValue(keys.mode_enabled, modeEnabled);
        }
      }
    }, {
      key: "checkIfRssIsEnabled",
      value: function checkIfRssIsEnabled() {
        var modeEnabled;
        return _regenerator.default.async(function checkIfRssIsEnabled$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.next = 2;
                return _regenerator.default.awrap(this.getValue(keys.mode_enabled));

              case 2:
                modeEnabled = _context2.sent;
                return _context2.abrupt("return", modeEnabled === RSS_ENABLED || modeEnabled === BOTH_ENABLED);

              case 4:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getPaymentByProductId",
      value: function getPaymentByProductId(productId) {
        if (this.payments) {
          return this.payments.find(function (payment) {
            return payment.checkProductId(productId);
          });
        }

        return undefined;
      }
    }, {
      key: "setExternal",
      value: function setExternal(external) {
        this.external = external;
      }
    }, {
      key: "setAllowedIP",
      value: function setAllowedIP(isAllowedIP) {
        this.isAllowedIP = isAllowedIP;
        this.setValue(keys.is_allowed_ip, isAllowedIP ? "1" : "0");
      }
    }, {
      key: "setCDNEnabled",
      value: function setCDNEnabled(cdnEnabled) {
        this.cdnEnabled = cdnEnabled;
        this.setValue(keys.cdn_enabled, cdnEnabled ? "1" : "0");
      }
    }, {
      key: "setCDNServer",
      value: function setCDNServer(cdnServer) {
        this.cdnServer = cdnServer;
        this.setValue(keys.cdn_server, cdnServer);
      }
    }, {
      key: "setBundleUpdateAvailable",
      value: function setBundleUpdateAvailable(bundleUpdateAvailable) {
        this.bundleUpdateAvailable = bundleUpdateAvailable;
        this.setValue(keys.bundle_update_available, bundleUpdateAvailable ? "1" : "0");
      }
    }, {
      key: "setMigrate",
      value: function setMigrate(migrate) {
        this.migrate = migrate;
        this.setValue(keys.migrate, migrate ? "1" : "0");
      }
    }, {
      key: "setNativeOptionspageFallbackVersion",
      value: function setNativeOptionspageFallbackVersion(nativeOptionspageFallbackVersionUrl) {
        this.showNativeOptionsPageFallbackUrl = nativeOptionspageFallbackVersionUrl;
        this.setValue(keys.show_native_options_page_fallback_url, nativeOptionspageFallbackVersionUrl);
      }
    }, {
      key: "_getDifferences",
      value: function _getDifferences(newConfig) {
        var _this2 = this;

        var diffKeys = [];

        if (newConfig) {
          try {
            diffKeys = Object.keys(this).filter(function (key) {
              if (typeof _this2[key] === "function") {
                return false;
              }

              if (typeof _this2[key] === "object") {
                var options = {};

                if (_this2[key] instanceof _$$_REQUIRE(_dependencyMap[22]).PaperSetupBaseConfig) {
                  options.skipKeys = ["json"];
                }

                return !_$$_REQUIRE(_dependencyMap[11]).JSUtils.areEqualDeep(_this2[key], newConfig[key], options);
              }

              return _this2[key] !== newConfig[key];
            });

            if (diffKeys.length > 0) {}
          } catch (e) {}
        }

        return diffKeys;
      }
    }, {
      key: "_checkIfNeedToRestart",
      value: function _checkIfNeedToRestart(diffKeys) {
        var needRestart = diffKeys.find(function (key) {
          return KEYS_REQUIRE_RESTART.includes(key);
        }) !== undefined;
        return needRestart;
      }
    }, {
      key: "_checkIfNeedToUpdate",
      value: function _checkIfNeedToUpdate(diffKeys) {
        var needUpdate = diffKeys.find(function (key) {
          return !KEYS_NO_UPDATE.includes(key);
        }) !== undefined;
        return needUpdate;
      }
    }, {
      key: "_checkIfNeedLayoutUpdate",
      value: function _checkIfNeedLayoutUpdate(diffKeys) {
        var needUpdate = diffKeys.find(function (key) {
          return KEYS_LAYOUT_UPDATE.includes(key);
        }) !== undefined;
        return needUpdate;
      }
    }]);
    return PaperSetupConfig;
  }(_$$_REQUIRE(_dependencyMap[22]).PaperSetupBaseConfig);

  exports.PaperSetupConfig = PaperSetupConfig;
},717,[5,80,7,8,90,12,14,16,718,719,720,462,721,723,724,726,727,728,729,730,1720,1721,725]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var PaperSetupHelper = function () {
    function PaperSetupHelper() {
      (0, _classCallCheck2.default)(this, PaperSetupHelper);
    }

    (0, _createClass2.default)(PaperSetupHelper, null, [{
      key: "setItem",
      value: function setItem(pSetup, key, value) {
        return _regenerator.default.async(function setItem$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.setItem(pSetup, key, value));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getItem",
      value: function getItem(pSetup, key) {
        return _regenerator.default.async(function getItem$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.getItem(pSetup, key));

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return PaperSetupHelper;
  }();

  exports.default = PaperSetupHelper;
  PaperSetupHelper.SP = {
    keys: {
      app_mode_selection_page_enabled: "enableAppModeSelectionPage",
      app_mode_selection_page_url: "appModeSelectionPageUrl",
      app_mode_selection_page_version: "appModeSelectionPageVersion",
      base_rss_update_url: "baseRssUpdateUrl",
      change_user_agent_for_oauth: "changeUserAgentForOAuth",
      custom_string_to_append_to_user_agent_for_oauth: "customStringToAppendToUserAgentForOAuth",
      custom_user_agent_for_oauth: "customUserAgentForOAuth",
      adobe_analytics: {
        enabled: "enableAdobeAnalytics",
        props_list: "adobeAnalyticsPropsList",
        actions: {
          edition_load: "adobeAnalyticsEditionLoadActionName",
          double_tap_to_zoom: "adobeAnalyticsDoubleTapActionName",
          pinch_to_zoom: "adobeAnalyticsPinchOutActionName",
          tts: "adobeAnalyticsTextToSpeechActionName",
          skip_to_end: "adobeAnalyticsSkipToEndActionName",
          toggle_to_print: "adobeAnalyticsToggleToPrintActionName",
          toggle_to_digital: "adobeAnalyticsToggleToDigitalActionName",
          share: "adobeAnalyticsShareActionName",
          scroll_zoom: "adobeAnalyticsScrollZoomActionName",
          link_click: "adobeAnalyticsLinkClickActionName"
        },
        states: {
          scrolled: "adobeAnalyticsScrolledStateName",
          read: "adobeAnalyticsReadStateName",
          zoomed: "adobeAnalyticsZoomedStateName",
          index: "adobeAnalyticsIndexStateName",
          optionspage: "adobeAnalyticsOptionspageStateName"
        },
        send_only_edition_load: "adobeAnalyticsSendOnlyEditionLoad",
        user_types: {
          unknown: "adobeAnalyticsUserTypeUnknown",
          subscriber: "adobeAnalyticsUserTypeSubscriber"
        },
        media: {
          print: "adobeAnalyticsPrintMedium",
          digital: "adobeAnalyticsDigitalMedium",
          zoomed_suffix: "adobeAnalyticsZoomedMediumSuffix"
        },
        first_page_section_prefix: "adobeAnalyticsFirstPageSectionPrefix",
        content_types: {
          first_page: "adobeAnalyticsFirstPageContentType",
          page: "adobeAnalyticsPageContentType",
          index: "adobeAnalyticsIndexContentType",
          article: "adobeAnalyticsArticleContentType",
          optionspage: "adobeAnalyticsOptionspageContentType"
        },
        edition_type: "adobeAnalyticsEditionType",
        device_type: "adobeAnalyticsDeviceType"
      },
      comscore: {
        app_name: "comScoreAppName",
        base_url: "comScoreBaseUrl",
        id: "comScoreID",
        publisher_secret: "comScorePublisherSecret"
      },
      copyright: "copyright",
      add_disclaimer: "addDisclaimer",
      copyright_url: "copyrighturl",
      custom_language_pack_file_time: "customLanguagePackFileTimestamp",
      custom_fonts_file_time: "customFontsFileTimestamp",
      default_connectivity: "defaultConnectivity",
      default_connectivity_timestamp: "defaultConnectivityTimeStamp",
      default_max_issues: "DEFAULT_MAX_ISSUES",
      feedback: {
        active_days_to_show: "feedbackActiveDaysToShow",
        ask: "feedbackAskForFeedback",
        email: "feedbackEmailForFeedback",
        reset_timestamp: "feedbackResetTimestamp",
        enable: "feedbackEnable",
        lower_active_date_range: "feedbackLowerActiveDateRange",
        request_title: "feedbackRequestFeedbackTitle",
        request_review_title: "feedbackRequestReviewFeedbackTitle",
        show_dont_show_again: "feedbackShowDontShowAgain",
        total_days_to_show: "feedbackTotalDaysToShow",
        upper_active_date_range: "feedbackUpperActiveDateRange",
        cool_down_days: "feedbackCoolDownDays",
        cool_down_days_dont_show_again: "feedbackCoolDownDaysDontShowAgain"
      },
      file_time: "pSetupTime",
      disable_firebase_analytics: "disableFirebaseAnalytics",
      other_firebase_projects: "otherFirebaseProjects",
      disable_google_analytics_3: "disableGoogleAnalytics3",
      g_analytics_anonymize_ip: "googleAnalyticsAnonymizeIP",
      g_analytics: "googleAnalyticsAccount",
      g_analytics_feedback: "googleAnalyticsAccountFeedback",
      g_analytics_tecnavia: "googleAnalyticsAccountTecnavia",
      gallery_download_enabled: "galleryDownloadEnabled",
      gallery_thumbnail_disabled: "galleryThumbnailDisabled",
      open_http_link_on_external_browser: "openHttpLinkOnExternalBrowser",
      url_type: "urltype",
      is_lite: "newsmemoryLite",
      language: "language",
      layout_style: "layoutStyle",
      layout_sub_style: "layoutSubStyle",
      mather_analytics: {
        enabled: "matherAnalyticsEnable",
        customer_id: "matherCustomerId",
        site_id: "matherSiteId",
        send_email: "matherSendEmail"
      },
      matomo: {
        enabled: "matomoEnable",
        site_id: "matomoSiteId",
        rss_site_id: "matomoRssSiteId",
        base_url: "matomoBaseURL",
        visit_custom_dimensions: "matomoVisitCustomDimensions",
        custom_dimensions: "matomoCustomDimensions",
        dispatch_interval: "matomoDispatchInterval"
      },
      matomo_tracker: {
        enabled: "matomoTrackerEnable",
        site_id: "matomoTrackerSiteId",
        rss_site_id: "matomoTrackerRssSiteId",
        base_url: "matomoTrackerBaseURL",
        action_base_url: "matomoTrackerActionBaseURL",
        edition_remapping: "matomoTrackerEditionRemapping",
        titles: {
          scrolled: "matomoTrackerScrolledTitle",
          read: "matomoTrackerReadTitle",
          rss_drawer: "matomoTrackerRssDrawerTitle",
          rss_read: "matomoTrackerRssReadTitle"
        },
        custom_urls: {
          scrolled: "matomoTrackerScrolledURL",
          read: "matomoTrackerReadURL",
          rss_drawer: "matomoTrackerRssDrawerURL",
          rss_read: "matomoTrackerRssReadURL"
        },
        custom_dimensions: {
          scrolled: "matomoTrackerScrolledCustomDimensions",
          read: "matomoTrackerReadCustomDimensions",
          rss_drawer: "matomoTrackerRssDrawerCustomDimensions",
          rss_read: "matomoTrackerRssReadCustomDimensions"
        }
      },
      mode_enabled: "rssIsEnable",
      option_page_coordinates: "optionpageCoordinates",
      option_page_modal: "loginInModalMode",
      option_page_mode: "optionPage",
      option_page_url: "optionPageUrl",
      load_editions_url: "loadEditionsUrl",
      paper_name: "paperName",
      powered_by: "poweredBy",
      powered_by_url: "poweredByurl",
      relabel_ebook_button: "ebook_button",
      relabel_feed_button: "feed_button",
      relabel_fit_page_button: "fitPageImg_button",
      relabel_gbook_button: "gbook_button",
      relabel_help_button: "help_button",
      relabel_offline_button: "OfflineActionLabel",
      relabel_option_button: "option_button",
      relabel_phodir_button: "phodir_button",
      relabel_search_button: "search_button",
      relabel_setting_button: "setting_button",
      relabel_special_sections_button: "specialSections_button",
      remp_account: "rempAccount",
      rss_index_file_time: "rssConfigFileTimestamp",
      site_domain: "siteDomain",
      special_before_index_tablet: "specialBeforeIndexTablet",
      special_before_index_phone: "specialBeforeIndexPhone",
      special_before_index: "specialBeforeIndex",
      startup_mode: "disableRssAtStartup",
      startup_mode_timestamp: "disableRssAtStartupTimestamp",
      udb: "udbDatabase",
      newsmemory_to_use: "newsmemoryToUse",
      newsmemory_to_use_timestamp: "newsmemoryToUseTimeStamp",
      paper: "paper",
      xpaper: "xpaper",
      date_format: "DATE_FORMAT",
      show_week: "SHOW_WEEK",
      init_x_paper_not_in_view: "initpageXpaperNotView",
      external_xpapers: "externalXPapers",
      download_multi_zips: "downloadMultiZips",
      translation_available: "translationAvailable",
      translation_server: "translationServer",
      use_native_accessibility: "useNativeAccessibility",
      use_car_mode: "useCarMode",
      show_native_options_page_fallback_url: "showNativeOptionsPageFallbackUrl",
      show_native_options_page: "showNativeOptionsPage",
      show_native_settings_screen: "showNativeSettingsScreen",
      enable_translation_customization: "enableTranslationCustomization",
      show_themes_customization: "showThemesCustomization",
      enable_zoom_level_customization: "enableZoomLevelCustomization",
      enable_article_types_customization: "enableArticleTypesCustomization",
      show_article_column_view_customization: "showArticleColumnViewCustomization",
      show_navigation_buttons_layout_customization: "showNavigationButtonsLayoutCustomization",
      show_xpaper_navigation_close_button: "showXPaperNavigationCloseButton",
      show_highlight_behavior_customization: "showHighlightBehaviorCustomization",
      show_tab_index_mode_customization: "showTabIndexModeCustomization",
      change_favorite_edition: "changeFavoriteEdition",
      favorite_edition: "favoriteEdition",
      enable_connectivity_options: "enableConnectivityOptions",
      enable_font_size_customization: "enableFontSizeCustomization",
      enable_graph_size_customization: "enableGraphSizeCustomization",
      show_types_article: "showTypesArticle",
      enable_article_extra: "enableArticleExtra",
      max_zips_to_download_per_request: "maxZipsToDownloadEachRequest",
      css_files_to_add: "cssFilesToAdd",
      email_content: "emailContent",
      email_subject: "emailSubject",
      facebook_enabled: "ipadFacebook",
      twitter_text: "twitterText",
      update_db_percentage: "updateDBPerc",
      enable_advanced_gestures_mode: "enableAdvancedGesturesMode",
      single_tap_to_zoom: "singleTapToZoom",
      two_fingers_tap_to_article: "twoFingersTapToArticle",
      machine_for_hr: "machineForHR",
      fit_graphic_article: "fitGraphicArticle",
      machine: "machine",
      sub_path: "subPath",
      extra_link_color: "extraLinkColor",
      background_duration_article_selected: "backgroundDurationArticleSelected",
      background_timer_article_selected: "backgroundTimerArticleSelected",
      background_color_article: {
        selected: "backgroundColorArticleSelected",
        to_select: "backgroundColorArticleToSelect"
      },
      preview_highlight_enabled: "highlightClickableUrlEnabled",
      preview_highlight_duration_seconds: "showHighlightingBoxesForSeconds",
      zooming_factor: "zoomingFactor",
      max_zoom: "maxZoom",
      ta_google_analytics_event: "TAGoogleAnalyticsEvent",
      google_analytics_custom_dimensions: "googleAnalyticsCustomDimensions",
      firebase_analytics_custom_dimensions: "firebaseAnalyticsCustomDimensions",
      firebase_analytics_send_external_id: "firebaseAnalyticsSendExternalId",
      enable_article_text_selection: "enableArticleTextSelection",
      enable_article_byline_hrs: "enableArticleBylineHrs",
      on_login_error_go_to: "onLoginErrorGoTo",
      on_validation_error_go_to: "onValidationErrorGoTo",
      time_limit_check_edition: "timeLimitForRestart",
      time_limit_check_login: "timeLimitToCheckLoginOnRestart",
      time_limit_forget_login: "timeLimitNotRememberLoginOnRestart",
      last_pSetup: "lastPSetup",
      last_issue: "lastIssue",
      last_edition: "lastEdition",
      latest_edition_available_message_format: "latestEditionAvailableMessageFormat",
      demo_issue: "demoIssue",
      show_edition_thumbs: "showEditionThumbs",
      scroll_tiles_phone: "scrollTilesPhone",
      scroll_tiles: "scrollTiles",
      force_article_mode_fullscreen_portrait: "forceArticleModeFullscreenPortrait",
      force_article_mode_fullscreen_landscape: "forceArticleModeFullscreenLandscape",
      enable_text_to_speech: "enableTextToSpeech",
      enable_text_to_speech_player: "enableTextToSpeechPlayer",
      text_to_speech_rate: "textToSpeechRate",
      text_to_speech_chunk_length: "textToSpeechChunkLength",
      low_speed_limit: "lowSpeedLimit",
      disable_low_speed_limit: "disableLowSpeedLimit",
      base_iap_api_url: "baseInAppPurchaseAPIUrl",
      all_skus: "allSkus",
      is_nnb: "isNNB",
      enable_vmode_and_fit_orientation: "enableVmodeAndFitOrientation",
      fit_page_type: "xc_fitPage",
      start_in_index_mode: "startInIndexMode",
      epaper_start_mode: "epaperStartMode",
      disable_epaper_mode_selection_page: "disableEPaperModeSelectionPage",
      cdn_enabled: "cdnEnabled",
      cdn_server: "cdnServer",
      disable_rn_demo: "disableRnDemo",
      pdf_thumbnail_ratio: "pdfThumbnailRatio",
      eink_complete_hr_factor: "einkCompleteHrFactor",
      hr_factor: "hrFactor",
      pdf_factor: "pdfFactor",
      pdf_factor_landscape: "pdfFactorLandscape",
      low_pages_to_render: "lowPagesToRender",
      mid_pages_to_render: "midPagesToRender",
      load_mid_res_on_scroll: "loadMidResOnScroll",
      show_landing_page_once: "showLandingPageOnce",
      landing_page_version: "landingPageVersion",
      landing_page_url: "landingPageURL",
      forced_shared_secret: "sharedSecret",
      use_ios_sandbox_receipt_validation: "useIOSSandboxReceiptValidation",
      use_cc: "useCC",
      migrate: "migrate",
      hybrid_version: "hybridVersion",
      append_first_pages: "appendFirstPages",
      png_quality_factor: "pngQualityFactor",
      generate_png_based_on_screen_dimensions: "generatePNGBasedOnScreenDimensions",
      consider_pixel_ratio_in_png_generation: "considerPixelRatioInPNGGeneration",
      png_width_limit: "pngWidthLimit",
      print_enabled: "ipadPrint",
      print_to_letter: "printToLetter",
      print_margin: "printMargin",
      generic_app_enabled: "storeIsEnable",
      store_url: "customStoreUrl",
      iap_active: "iapActive",
      payments: "payments",
      enable_multiple_subscriptions_alert: "enableMultipleSubscriptionsAlert",
      protect_site: "protectSite",
      two_fingers_tap_hint_enabled: "twoFingersTapHintEnabled",
      two_fingers_tap_max_hints: "twoFingersTapMaxHints",
      download_single_pdf: "downloadSinglePdf",
      enable_share: "enableShare",
      max_shares: "maxShares",
      max_shares_check_type: "maxSharesCheckType",
      message_max_share: "messageMaxShare",
      merge_articles: "mergeArt",
      column_view: "columnView",
      show_art_complete: "showArtComplete",
      calculate_mid_ads: "calculateMidAds",
      pages_navigation_buttons_layout: "pagesNavigationButtonsLayout",
      animate_layout_footer: "animateLayoutFooter",
      fix_buttons_bar_to_bottom: "fixButtonsBarToBottom",
      dfp_reload_time: "dfpReloadTime",
      ads: "ads",
      enable_instory_ad_marker: "enableInStoryAdMarker",
      instory_ad_marker_text: "inStoryAdMarkerText",
      rn_styles: "rnStyles",
      disable_rn_styles: "disableRnStyles",
      rn_styles_file_time: "rnStylesFileTimestamp",
      ssl_certificate_file_time: "sslCertificateTimestamp",
      device_dpi: "deviceDpi",
      toc_style: "tocStyle",
      toc_style_preview: "tocStylePreview",
      enable_tab_index_mode: "enableTabIndexMode",
      bundle_update_available: "bundleUpdateAvailable",
      reset_app_bundle: "resetAppBundle",
      see_newspaper_preview: "seeNewspaperPreview",
      page_see_newspaper_preview: "pageSeeNewspaperPreview",
      hours_to_send_push_registration: "hoursToSendPushRegistration",
      preview_token: "previewToken",
      webview_allow_autoplay: "webviewAllowAutoplay",
      webview_android_allow_fullscreen: "webviewAndroidAllowFullscreen",
      webview_ios_native_player: "webviewIOSNativePlayer",
      webview_custom_http_headers: "webviewCustomHTTPHeaders",
      app_tracking_transparency: {
        force_message: "forceAppTrackingTransparencyMessage",
        disable_message: "disableAppTrackingTransparencyMessage",
        show_pre_message: "showPreAppTrackingTransparencyMessage",
        force_pre_message_on_app_update: "forcePreAppTrackingTransparencyMessageOnAppUpdate"
      },
      iubenda: {
        enabled: "iubendaEnabled",
        site_id: "iubendaSiteId",
        cookie_policy_id: "iubendaCookiePolicyId",
        lang: "iubendaLang",
        reset_consent_date: "iubendaResetConsentDate",
        force_consent_popup: "iubendaForceConsentPopup",
        ads_require_consent: "adsRequireConsent",
        google_ads_present: "googleAdsPresent",
        ref_privacy_laws: "referencePrivacyLaws"
      },
      show_extras_in_article_graphic_mode: "showExtrasInArticleGraphicMode",
      show_extras_to_logged_users_only: "showExtrasToLoggedUsersOnly",
      morse_tauid: "morseTAUID",
      add_watermark: "addWatermarkArticlePag",
      watermark_text: "watermarkText",
      disable_screen_idle_timer_delay: "disableScreenIdleTimerDelay",
      keep_article_position_on_rotation: "keepArticlePositionOnRotation",
      enable_article_image_reposition: "enableArticleImageReposition",
      refreshes_tauid: "refreshesTAUID",
      startup_params: "startupParams",
      enable_session_collection: "enableSessionCollection",
      enable_session_auto_upload: "enableSessionAutoUpload",
      session_upload_base_url: "sessionUploadBaseURL",
      checksum: "checksum",
      user_ip: "userIP",
      is_allowed_ip: "isAllowedIP",
      push_tags: "pushTags",
      disable_reader_app_modal: "disableReaderAppModal",
      reader_app_learn_more_link: "readerAppLearnMoreLink",
      ssl_domains: "sslDomains",
      use_asymmetric_card_list: "useAsymmetricCardList",
      use_native_view_pager_ios: "useNativeViewPagerIOS",
      prevent_screenshots: "preventScreenshots",
      enable_phone_article_layout_on_tablet_in_landscape: "enablePhoneArticleLayoutOnTabletInLandscape",
      enable_desktop_article_layout_on_ipad_pro_in_landscape: "enableDesktopArticleLayoutOnIPadProInLandscape"
    }
  };
},718,[5,80,7,8,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.WEBVIEW_BASE_URL = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var UNIVERSAL_LINKS_SUPPORTED_PATHS = ["load", "start", "ul"];
  var WEBVIEW_BASE_URL = "http://localhost/";
  exports.WEBVIEW_BASE_URL = WEBVIEW_BASE_URL;

  var WebUtils = function () {
    function WebUtils() {
      (0, _classCallCheck2.default)(this, WebUtils);
    }

    (0, _createClass2.default)(WebUtils, null, [{
      key: "isExternalUrl",
      value: function isExternalUrl(url) {
        var _StringUtils$segmentU = _$$_REQUIRE(_dependencyMap[4]).StringUtils.segmentUrl(url),
            protocol = _StringUtils$segmentU.protocol,
            getParams = _StringUtils$segmentU.getParams,
            anchorParams = _StringUtils$segmentU.anchorParams;

        if (protocol && protocol.startsWith("xhttp")) {
          return true;
        }

        if (getParams && (_$$_REQUIRE(_dependencyMap[4]).JSUtils.hasProperty(getParams, "xhttp") || _$$_REQUIRE(_dependencyMap[4]).JSUtils.hasProperty(getParams, "xhttps"))) {
          return true;
        }

        if (anchorParams && (_$$_REQUIRE(_dependencyMap[4]).JSUtils.hasProperty(anchorParams, "xhttp") || _$$_REQUIRE(_dependencyMap[4]).JSUtils.hasProperty(anchorParams, "xhttps"))) {
          return true;
        }

        return false;
      }
    }, {
      key: "parseUniversalLink",
      value: function parseUniversalLink(url) {
        var params;

        if (url) {
          if (url.indexOf("?") === -1) {
            for (var i = 0; i < UNIVERSAL_LINKS_SUPPORTED_PATHS.length; i++) {
              if (url.indexOf("/" + UNIVERSAL_LINKS_SUPPORTED_PATHS[i] + "/") !== -1) {
                url = url.replace("/" + UNIVERSAL_LINKS_SUPPORTED_PATHS[i] + "/", "/" + UNIVERSAL_LINKS_SUPPORTED_PATHS[i] + "/?");
                break;
              }
            }
          }

          var info = _$$_REQUIRE(_dependencyMap[4]).StringUtils.segmentUrl(url);

          var domain = info.domain,
              getParams = info.getParams;
          var path = info.path;

          if (!path) {
            path = domain;
          }

          path = path.replace(/\//g, "");

          if (UNIVERSAL_LINKS_SUPPORTED_PATHS.includes(path)) {
            params = getParams || {};
            params.schemaURL = url;
            params.schemaPath = path;

            if (params.machine) {
              if (_$$_REQUIRE(_dependencyMap[4]).StringUtils.isTecnaviaHTTPDomain(params.machine)) {
                var oldMachine = params.machine;
                params.machine = _$$_REQUIRE(_dependencyMap[4]).StringUtils.convertNewsmemoryDomainToHTTPS(oldMachine);
                params.schemaURL = url.replace("machine=" + oldMachine, "machine=" + params.machine);
                params.schemaURL = params.schemaURL.replace("machine=" + encodeURIComponent(oldMachine), "machine=" + params.machine);
              } else {
                params.schemaURL = params.schemaURL.replace("machine=" + encodeURIComponent(params.machine), "machine=" + params.machine);
              }
            }
          }
        }

        return params;
      }
    }, {
      key: "replacePlaceHolder",
      value: function replacePlaceHolder(html, width, height) {
        var result = html;

        if (result) {
          if (result.includes("##width##")) {
            result = result.replace(/##width##/g, width);
          }

          if (result.includes("##height##")) {
            result = result.replace(/##height##/g, height);
          }
        }

        return result;
      }
    }, {
      key: "addViewportScaleStyles",
      value: function addViewportScaleStyles(html, left, top, zoom, bgColor) {
        var scaleStyleString = "\n                body {\n                    position: absolute;\n                    margin: auto;\n                    display: table;\n                    left: " + left + "px;\n                    top: " + top + "px;\n                    transform: scale(" + zoom + ");\n                    background: " + bgColor + ";\n                 }";
        return WebUtils.addViewportStyles(html, scaleStyleString);
      }
    }, {
      key: "prependToHead",
      value: function prependToHead(html, replacement) {
        var result;

        if (html.indexOf("<head>") !== -1) {
          result = html.replace("<head>", "<head>" + replacement);
        } else {
          result = html.replace("<html>", "<html><head>" + replacement + "</head>");
        }

        return result;
      }
    }, {
      key: "appendToHead",
      value: function appendToHead(html, replacement) {
        var result;

        if (html.indexOf("</head>") !== -1) {
          result = html.replace("</head>", replacement + "</head>");
        } else {
          result = html.replace("<html>", "<html><head>" + replacement + "</head>");
        }

        return result;
      }
    }, {
      key: "addViewportStyles",
      value: function addViewportStyles(html) {
        var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
        var result = html;

        if (result) {
          var replacement = "\n            <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />";

          if (style) {
            replacement += "\n                <style>\n                    " + style + "\n                </style>";
          }

          replacement += "\n            </head>";
          result = WebUtils.appendToHead(html, replacement);
        }

        return result;
      }
    }, {
      key: "getZoom",
      value: function getZoom(width, height, webviewWidth, webviewHeight) {
        var adWidth = width > 0 ? width : 1;
        var adHeight = height > 0 ? height : 1;
        var scaleX = webviewWidth / adWidth;
        var scaleY = webviewHeight / adHeight;
        var scale = scaleX > scaleY ? scaleY : scaleX;
        return Math.round(scale * 10) / 10;
      }
    }, {
      key: "getJSToZoomContent",
      value: function getJSToZoomContent(left, top, zoom) {
        var js = "\n            document.body.style.position = 'absolute';\n            document.body.style.left = '" + left + "px';\n            document.body.style.top = '" + top + "px';\n            document.body.style.transform = 'scale(" + zoom + ")'";
        return js;
      }
    }, {
      key: "getJSToCenterContent",
      value: function getJSToCenterContent(bgColor) {
        var js = "\n            document.body.style.margin = 'auto';\n            document.body.style.display = 'table';\n            document.body.style.background = '" + bgColor + "';";
        return js;
      }
    }, {
      key: "setupHtmlForWebView",
      value: function setupHtmlForWebView(html) {
        var result = html;

        if (result) {
          result = this.addTags(result, "body");
          result = this.addTags(result, "html");
        }

        return result;
      }
    }, {
      key: "addTags",
      value: function addTags(html, tag) {
        var result = html;

        if (!result.includes("<" + tag)) {
          result = "<" + tag + ">".concat(result) + " ";
        }

        if (!result.includes("</" + tag + ">")) {
          result = result.concat("</" + tag + ">");
        }

        return result;
      }
    }, {
      key: "addViewport",
      value: function addViewport() {
        var js = "\n            var meta = document.createElement('meta');\n            meta.name = 'viewport';\n            meta.content = 'width=device-width, initial-scale=1';\n            document.getElementsByTagName('head')[0].appendChild(meta);";
        return js;
      }
    }, {
      key: "replaceHttpWithHttps",
      value: function replaceHttpWithHttps(html) {
        var regExp = /http:\/\/([a-zA-Z0-9\.]+)\.newsmemory\.com/;
        var matcher;

        if (html) {
          do {
            matcher = regExp.exec(html);

            if (matcher) {
              var originalUrl = matcher[0];
              var subDomainHttp = matcher[1];
              var subDomainHttps = subDomainHttp.replace(/\./g, "-");
              var urlHttps = originalUrl.replace("http", "https").replace(subDomainHttp, subDomainHttps);
              html = html.replace(originalUrl, urlHttps);
            }
          } while (matcher !== null);
        }

        return html;
      }
    }, {
      key: "getRonDinoViewPort",
      value: function getRonDinoViewPort(width) {
        return "\n            var myCustomViewport = 'width=" + width + ", initial-scale=1.0, maximum-scale=1.0, user-scalable=no';\n            var viewportElement = document.querySelector('meta[name=viewport]');\n            if (viewportElement) {\n                viewportElement.content = myCustomViewport;\n            } else {\n                viewportElement = document.createElement('meta');\n                viewportElement.name = 'viewport';\n                viewportElement.content = myCustomViewport;\n                document.getElementsByTagName('head')[0].appendChild(viewportElement);\n            };";
      }
    }, {
      key: "getImagesInsidePage",
      value: function getImagesInsidePage() {
        return "\n            (function getImagesInsidePage() {\n               const images = document.getElementsByTagName('img');\n               const sources = [];\n               for(let i=0; i < images.length; i++){\n                  sources.push(images[i].src);\n               }\n               window.ReactNativeWebView.postMessage(JSON.stringify({ content: sources, type: 'GET_RESOURCES' }));\n            })();";
      }
    }, {
      key: "replaceResourcesInPage",
      value: function replaceResourcesInPage(newSources) {
        return "\n            (function getImagesInsidePage(newSources) {\n               const parsed = JSON.parse(newSources);\n               const images = document.getElementsByTagName('img');\n               for(let i=0; i < images.length; i++){\n                  if(parsed[images[i].src]){\n                   images[i].src = parsed[images[i].src];\n                  }\n               }\n            })('" + JSON.stringify(newSources) + "')";
      }
    }, {
      key: "addSafeAreaToWebView",
      value: function addSafeAreaToWebView() {
        var _DeviceUtils$getSafeA = _deviceUtils.default.getSafeAreaInsets(),
            top = _DeviceUtils$getSafeA.top,
            bottom = _DeviceUtils$getSafeA.bottom;

        return "(function() { \n            document.body.style.marginTop='" + top + "px'; \n            document.body.style.marginBottom='" + bottom + "px'; \n        })();";
      }
    }, {
      key: "replaceUrlPlaceHolder",
      value: function replaceUrlPlaceHolder(url) {
        var PLACEHOLDER_SUBSCRIPTION_TYPE = "##PAYWALL_SUBSCRIPTION_TYPE#";
        var PLACEHOLDER_MACHINE_ID = "##MACHINEID#";
        var PLACEHOLDER_WORDPRESS_TOKEN = "##WORDPRESS_TOKEN#";
        var subscription = "";

        if (!url.includes("?")) {
          url += "?";
        }

        if (url.includes(PLACEHOLDER_SUBSCRIPTION_TYPE)) {
          url = url.replace(PLACEHOLDER_SUBSCRIPTION_TYPE, subscription);
        } else {
          url = url + "&subType=" + subscription;
        }

        if (url.includes(PLACEHOLDER_MACHINE_ID)) {
          url = url.replace(PLACEHOLDER_MACHINE_ID, global.machineId);
        } else {
          url = url + "&MACHINEID=" + global.machineId;
        }

        if (url.includes(PLACEHOLDER_WORDPRESS_TOKEN)) {
          url = url.replace(PLACEHOLDER_WORDPRESS_TOKEN, WebUtils.secretTokenForWordpress());
        }

        return url;
      }
    }, {
      key: "secretTokenForWordpress",
      value: function secretTokenForWordpress() {
        var unixTimestamp = new Date().getTime();
        return _$$_REQUIRE(_dependencyMap[4]).StringUtils.getMd5(_$$_REQUIRE(_dependencyMap[4]).StringUtils.getMd5("TecnaviaSecret") + global.machineId) + "_" + _$$_REQUIRE(_dependencyMap[4]).StringUtils.getHexOfAsciiOfLong(unixTimestamp / 1000);
      }
    }]);
    return WebUtils;
  }();

  exports.default = WebUtils;
},719,[5,7,8,458,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var Payment = function () {
    function Payment() {
      var pSetupLine = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
      (0, _classCallCheck2.default)(this, Payment);
      var splitted = pSetupLine.split(",");
      this.type = splitted[0];
      this.price = splitted[1];
      this.startDate = splitted[2];
      this.periodTime = splitted[3];
      this.periodValue = splitted[4];
      this.recurringPattern = splitted[5];
      this.description = splitted[6];
      this.productId = splitted[7];
    }

    (0, _createClass2.default)(Payment, [{
      key: "getType",
      value: function getType() {
        return this.type;
      }
    }, {
      key: "getPrice",
      value: function getPrice() {
        return this.price;
      }
    }, {
      key: "getPriceNumber",
      value: function getPriceNumber() {
        return parseFloat(this.price) || -1;
      }
    }, {
      key: "getStartDate",
      value: function getStartDate() {
        return this.startDate;
      }
    }, {
      key: "getPeriodTime",
      value: function getPeriodTime() {
        return this.periodTime;
      }
    }, {
      key: "isWeekly",
      value: function isWeekly() {
        return this.periodTime === "W";
      }
    }, {
      key: "isMonthly",
      value: function isMonthly() {
        return this.periodTime === "M";
      }
    }, {
      key: "isYearly",
      value: function isYearly() {
        return this.periodTime === "Y";
      }
    }, {
      key: "getPeriodValue",
      value: function getPeriodValue() {
        try {
          return parseInt(this.periodValue, 10) || -1;
        } catch (e) {
          return -1;
        }
      }
    }, {
      key: "getRecurringPatter",
      value: function getRecurringPatter() {
        return this.recurringPattern;
      }
    }, {
      key: "getDescription",
      value: function getDescription() {
        return this.description;
      }
    }, {
      key: "getProductId",
      value: function getProductId() {
        return this.productId;
      }
    }, {
      key: "isNotConsumable",
      value: function isNotConsumable() {
        return this.getType() === "NC";
      }
    }, {
      key: "isConsumable",
      value: function isConsumable() {
        return this.getType() === "A";
      }
    }, {
      key: "isSubscription",
      value: function isSubscription() {
        return this.getType() === "R";
      }
    }, {
      key: "checkProductId",
      value: function checkProductId(productId) {
        if (productId === this.productId) {
          return true;
        }

        if (this.isNotConsumable() && productId.startsWith(this.productId)) {
          return true;
        }

        return false;
      }
    }]);
    return Payment;
  }();

  exports.default = Payment;
},720,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.LoginStatus = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _LoginHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var LoginStatus = function () {
    function LoginStatus() {
      (0, _classCallCheck2.default)(this, LoginStatus);
    }

    (0, _createClass2.default)(LoginStatus, [{
      key: "init",
      value: function init(udb) {
        var keys, i, key;
        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                this.udb = udb;
                keys = Object.values(_LoginHelper.default.SP.keys);
                i = 0;

              case 3:
                if (!(i < keys.length)) {
                  _context.next = 11;
                  break;
                }

                key = keys[i];
                _context.next = 7;
                return _regenerator.default.awrap(this.getValue(key));

              case 7:
                this[key] = _context.sent;

              case 8:
                i++;
                _context.next = 3;
                break;

              case 11:
                return _context.abrupt("return", true);

              case 12:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "setValue",
      value: function setValue(key, value) {
        this[key] = value;

        _LoginHelper.default.setItem(this.udb + "_" + key, value);
      }
    }, {
      key: "getValue",
      value: function getValue(key) {
        var value;
        return _regenerator.default.async(function getValue$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                value = this[key];

                if (!_$$_REQUIRE(_dependencyMap[5]).JSUtils.isNull(value)) {
                  _context2.next = 6;
                  break;
                }

                _context2.next = 4;
                return _regenerator.default.awrap(_LoginHelper.default.getItem(this.udb + "_" + key));

              case 4:
                value = _context2.sent;

                if (key === _LoginHelper.default.SP.keys.has_access) {
                  try {
                    value = JSON.parse(value);
                  } catch (e) {}
                } else if (key === _LoginHelper.default.SP.keys.allowed_ip_user) {
                  value = value === "1";
                }

              case 6:
                return _context2.abrupt("return", value);

              case 7:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "updateValue",
      value: function updateValue(key, value) {
        if (value) {
          this.setValue(key, value);
        } else {
          this.removeValue(key);
        }
      }
    }, {
      key: "removeValue",
      value: function removeValue(key) {
        this[key] = null;

        _LoginHelper.default.removeItem(this.udb + "_" + key);
      }
    }, {
      key: "isAnonymousUser",
      value: function isAnonymousUser() {
        return this.username && global.machineId && this.username === global.machineId;
      }
    }, {
      key: "isLoggedIn",
      value: function isLoggedIn() {
        return LoginStatus.isValidTAUID(this.TAUID) && !this.isAnonymousUser();
      }
    }, {
      key: "isAdFree",
      value: function isAdFree() {
        return this.adFree === "1";
      }
    }, {
      key: "userHasAccess",
      value: function userHasAccess(issue, edition) {
        if (this.hasAccess && this.hasAccess[edition]) {
          return this.hasAccess[edition][issue] === "1";
        }

        return false;
      }
    }, {
      key: "setHasAccess",
      value: function setHasAccess(issue, edition, hasAccess) {
        var hasAccessValue = hasAccess ? "1" : "0";

        if (!this.hasAccess) {
          this.hasAccess = {};
        }

        if (!this.hasAccess[edition]) {
          this.hasAccess[edition] = {};
        }

        this.hasAccess[edition][issue] = hasAccessValue;

        _LoginHelper.default.setItem(this.udb + "_" + _LoginHelper.default.SP.keys.has_access, JSON.stringify(this.hasAccess));
      }
    }, {
      key: "setLastModified",
      value: function setLastModified() {
        this.setValue(_LoginHelper.default.SP.keys.last_login_time, new Date().getTime().toString());
      }
    }, {
      key: "getLastModified",
      value: function getLastModified() {
        return _regenerator.default.async(function getLastModified$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                return _context3.abrupt("return", this.getValue(_LoginHelper.default.SP.keys.last_login_time));

              case 1:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "setReceipt",
      value: function setReceipt(receipt) {
        this.setValue(_LoginHelper.default.SP.keys.receipt, receipt);
        this.setValue(_LoginHelper.default.SP.keys.receipt_date, new Date().getTime().toString());
      }
    }, {
      key: "setTAUID",
      value: function setTAUID(TAUID) {
        if (TAUID) {
          this.setValue(_LoginHelper.default.SP.keys.TAUID, TAUID);
        }
      }
    }, {
      key: "setToken",
      value: function setToken(token) {
        if (token) {
          this.setValue(_LoginHelper.default.SP.keys.TOKEN, token);
        }
      }
    }, {
      key: "setUniversalLinkToken",
      value: function setUniversalLinkToken(token) {
        if (token) {
          this.setValue(_LoginHelper.default.SP.keys.universal_link_token, token);
        }
      }
    }, {
      key: "setOneTimeToken",
      value: function setOneTimeToken(oneTimeToken) {
        if (oneTimeToken) {
          this.setValue(_LoginHelper.default.SP.keys.one_time_token, oneTimeToken);
        }
      }
    }, {
      key: "setUsername",
      value: function setUsername(username) {
        if (username) {
          this.setValue(_LoginHelper.default.SP.keys.username, username);
        }
      }
    }, {
      key: "setPassword",
      value: function setPassword(password) {
        if (password) {
          this.setValue(_LoginHelper.default.SP.keys.password, password);
        }
      }
    }, {
      key: "setChallenge",
      value: function setChallenge(challenge) {
        if (challenge) {
          this.setValue(_LoginHelper.default.SP.keys.challenge, challenge);
        }
      }
    }, {
      key: "setExtId",
      value: function setExtId(extid) {
        if (extid) {
          this.setValue(_LoginHelper.default.SP.keys.extid, extid);
        }
      }
    }, {
      key: "setExtraUserInfo",
      value: function setExtraUserInfo(extraUserInfo) {
        if (extraUserInfo) {
          var extraUserInfoString = extraUserInfo ? JSON.stringify(extraUserInfo) : "";
          this.setValue(_LoginHelper.default.SP.keys.extra_user_info, extraUserInfoString);
        }
      }
    }, {
      key: "setAdFree",
      value: function setAdFree(adFree) {
        var adFreeValue = adFree !== undefined ? "" + adFree : undefined;

        if (adFreeValue) {
          this.setValue(_LoginHelper.default.SP.keys.ad_free, adFreeValue);
        }
      }
    }, {
      key: "updateTAUID",
      value: function updateTAUID(TAUID) {
        this.updateValue(_LoginHelper.default.SP.keys.TAUID, TAUID);
      }
    }, {
      key: "updateToken",
      value: function updateToken(token) {
        this.updateValue(_LoginHelper.default.SP.keys.TOKEN, token);
      }
    }, {
      key: "updateUniversalLinkToken",
      value: function updateUniversalLinkToken(token) {
        this.updateValue(_LoginHelper.default.SP.keys.universal_link_token, token);
      }
    }, {
      key: "updateOneTimeToken",
      value: function updateOneTimeToken(oneTimeToken) {
        this.updateValue(_LoginHelper.default.SP.keys.one_time_token, oneTimeToken);
      }
    }, {
      key: "updateUsername",
      value: function updateUsername(username) {
        this.updateValue(_LoginHelper.default.SP.keys.username, username);
      }
    }, {
      key: "updatePassword",
      value: function updatePassword(password) {
        this.updateValue(_LoginHelper.default.SP.keys.password, password);
      }
    }, {
      key: "updateChallenge",
      value: function updateChallenge(challenge) {
        this.updateValue(_LoginHelper.default.SP.keys.challenge, challenge);
      }
    }, {
      key: "updateExtId",
      value: function updateExtId(extid) {
        this.updateValue(_LoginHelper.default.SP.keys.extid, extid);
      }
    }, {
      key: "updateExtraUserInfo",
      value: function updateExtraUserInfo(extraUserInfo) {
        var extraUserInfoString = extraUserInfo ? JSON.stringify(extraUserInfo) : "";
        this.updateValue(_LoginHelper.default.SP.keys.extra_user_info, extraUserInfoString);
      }
    }, {
      key: "updateAdFree",
      value: function updateAdFree(adFree) {
        var adFreeValue = adFree !== undefined ? "" + adFree : undefined;
        this.updateValue(_LoginHelper.default.SP.keys.ad_free, adFreeValue);
      }
    }, {
      key: "resetOneTimeToken",
      value: function resetOneTimeToken() {
        this.removeValue(_LoginHelper.default.SP.keys.one_time_token);
      }
    }, {
      key: "resetLastModified",
      value: function resetLastModified() {
        this.removeValue(_LoginHelper.default.SP.keys.last_login_time);
      }
    }, {
      key: "setIAPSecret",
      value: function setIAPSecret(secret) {
        if (secret) {
          this.setValue(_LoginHelper.default.SP.keys.iap_secret, secret);
        } else {
          this.removeValue(_LoginHelper.default.SP.keys.iap_secret);
        }
      }
    }, {
      key: "getIAPSecret",
      value: function getIAPSecret() {
        return this.iapSecret;
      }
    }, {
      key: "setIsAllowedIPUser",
      value: function setIsAllowedIPUser(value) {
        this.allowedIPUser = value;

        _LoginHelper.default.setItem(this.udb + "_" + _LoginHelper.default.SP.keys.allowed_ip_user, value ? "1" : "0");
      }
    }, {
      key: "isAllowedIPUser",
      value: function isAllowedIPUser() {
        return this.allowedIPUser;
      }
    }, {
      key: "getReceiptToken",
      value: function getReceiptToken() {
        if (this.iapSecret) {
          var unixTimestamp = new Date().getTime();
          var hexTimestamp = Math.trunc(unixTimestamp / 1000).toString(16);
          var hexTauid = parseInt(this.TAUID || -1, 10).toString(16);
          return _$$_REQUIRE(_dependencyMap[5]).StringUtils.getMd5(this.iapSecret + hexTimestamp + hexTauid) + "_" + hexTimestamp + "_" + hexTauid;
        }

        return undefined;
      }
    }, {
      key: "getExtraUserInfo",
      value: function getExtraUserInfo() {
        var rawExtraUserInfo, extraUserInfo;
        return _regenerator.default.async(function getExtraUserInfo$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                _context4.next = 2;
                return _regenerator.default.awrap(this.getValue(_LoginHelper.default.SP.keys.extra_user_info));

              case 2:
                rawExtraUserInfo = _context4.sent;
                _context4.prev = 3;
                extraUserInfo = JSON.parse(rawExtraUserInfo);
                return _context4.abrupt("return", extraUserInfo);

              case 8:
                _context4.prev = 8;
                _context4.t0 = _context4["catch"](3);

              case 10:
                return _context4.abrupt("return", {});

              case 11:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, [[3, 8]], Promise);
      }
    }, {
      key: "clear",
      value: function clear() {
        var keys, i, key;
        return _regenerator.default.async(function clear$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                keys = Object.values(_LoginHelper.default.SP.keys);
                i = 0;

              case 2:
                if (!(i < keys.length)) {
                  _context5.next = 9;
                  break;
                }

                key = keys[i];
                _context5.next = 6;
                return _regenerator.default.awrap(this.removeValue(key));

              case 6:
                i++;
                _context5.next = 2;
                break;

              case 9:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }], [{
      key: "isValidTAUID",
      value: function isValidTAUID(TAUID) {
        return TAUID && parseInt(TAUID, 10) > -1;
      }
    }]);
    return LoginStatus;
  }();

  exports.LoginStatus = LoginStatus;
},721,[5,80,7,8,722,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var LoginHelper = function () {
    function LoginHelper() {
      (0, _classCallCheck2.default)(this, LoginHelper);
    }

    (0, _createClass2.default)(LoginHelper, null, [{
      key: "getItem",
      value: function getItem(key) {
        return _regenerator.default.async(function getItem$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.getItem(LoginHelper.SP.name, key));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setItem",
      value: function setItem(key, value) {
        return _regenerator.default.async(function setItem$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _$$_REQUIRE(_dependencyMap[4]).StorageUtils.setItem(LoginHelper.SP.name, key, value);

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "removeItem",
      value: function removeItem(key) {
        return _regenerator.default.async(function removeItem$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                return _context3.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.clear(LoginHelper.SP.name, key));

              case 1:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "updateItem",
      value: function updateItem(key, value) {
        return _regenerator.default.async(function updateItem$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (value) {
                  LoginHelper.setItem(key, value);
                } else {
                  LoginHelper.removeItem(key);
                }

              case 1:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "clearAll",
      value: function clearAll() {
        return _regenerator.default.async(function clearAll$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                return _context5.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.clearAll(LoginHelper.SP.name));

              case 1:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return LoginHelper;
  }();

  exports.default = LoginHelper;
  LoginHelper.SP = {
    name: "login",
    keys: {
      TAUID: "TAUID",
      TOKEN: "TOKEN",
      universal_link_token: "universalLinkToken",
      one_time_token: "oneTimeToken",
      iap_secret: "iapSecret",
      has_access: "hasAccess",
      receipt: "receipt",
      receipt_date: "receipt_date",
      challenge: "challenge",
      username: "username",
      password: "password",
      extid: "extid",
      extra_user_info: "extraUserInfo",
      last_login_time: "last_login_time",
      ad_free: "adFree",
      allowed_ip_user: "allowedIPUser"
    }
  };
},722,[5,80,7,8,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.OptionspageConfig = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var OptionspageConfig = function () {
    function OptionspageConfig(_ref) {
      var mode = _ref.mode,
          baseURL = _ref.baseURL,
          coordinatesString = _ref.coordinatesString,
          modal = _ref.modal;
      (0, _classCallCheck2.default)(this, OptionspageConfig);
      this.mode = mode;
      this.baseURL = baseURL;
      this.modal = _$$_REQUIRE(_dependencyMap[4]).PlatformUtils.isTablet() && modal;
      this.coordinatesString = coordinatesString;
    }

    (0, _createClass2.default)(OptionspageConfig, [{
      key: "isDisabled",
      value: function isDisabled() {
        return this.mode === 0;
      }
    }, {
      key: "alwaysOpenAtStartup",
      value: function alwaysOpenAtStartup() {
        return this.mode === 1;
      }
    }, {
      key: "getBaseURL",
      value: function getBaseURL() {
        return this.baseURL;
      }
    }, {
      key: "computeCoordinates",
      value: function computeCoordinates() {
        var rawCoordinates = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
        var orientation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _deviceUtils.default.currentOrientation;
        var top;
        var left;
        var width;
        var height;
        var screenWidth;
        var screenHeight;
        var screenIsPortrait;

        var safeArea = _deviceUtils.default.getSafeArea();

        if (safeArea) {
          screenWidth = safeArea.width;
          screenHeight = safeArea.height;
          screenIsPortrait = _deviceUtils.default.isPortrait(_deviceUtils.default.currentOrientation);
        } else {
          var _DeviceUtils$getScree = _deviceUtils.default.getScreenDimensions(orientation);

          screenWidth = _DeviceUtils$getScree.width;
          screenHeight = _DeviceUtils$getScree.height;
          screenIsPortrait = _DeviceUtils$getScree.isPortrait;
        }

        var widthToUse = screenWidth;
        var heightToUse = screenHeight;

        var isPortrait = _deviceUtils.default.isPortrait(orientation);

        if (isPortrait !== screenIsPortrait) {
          widthToUse = screenHeight;
          heightToUse = screenWidth;
        }

        if (this.modal) {
          height = isPortrait ? widthToUse : heightToUse;
          width = isPortrait ? widthToUse : heightToUse;
          left = isPortrait ? 0 : Math.abs(widthToUse - heightToUse) / 2;
          top = isPortrait ? Math.abs(widthToUse - heightToUse) / 2 : 0;
        } else {
          height = heightToUse;
          width = widthToUse;
          left = 0;
          top = 0;
        }

        var coordSplit = rawCoordinates.split("&");

        if (coordSplit.length === 8) {
          var h = coordSplit[0];
          var hv = coordSplit[1];
          var w = coordSplit[2];
          var wv = coordSplit[3];
          var x = coordSplit[4];
          var xv = coordSplit[5];
          var y = coordSplit[6];
          var yv = coordSplit[7];

          if (isPortrait) {
            height = this.parseSize(hv, heightToUse);
            width = this.parseSize(wv, widthToUse);
            top = this.parseXY(yv, height, heightToUse);
            left = this.parseXY(xv, width, widthToUse);
          } else {
            height = this.parseSize(h, heightToUse);
            width = this.parseSize(w, widthToUse);
            top = this.parseXY(y, height, heightToUse);
            left = this.parseXY(x, width, widthToUse);
          }
        }

        if (width > screenWidth) {
          left = 0;
          width = screenWidth;
        } else if (left + width > screenWidth) {
          left = Math.max(0, (screenWidth - width) / 2);
        }

        if (height > screenHeight) {
          top = 0;
          height = screenHeight;
        } else if (top + height > screenHeight) {
          top = Math.max(0, (screenHeight - height) / 2);
        }

        var coordinates = {
          left: left,
          top: top,
          width: width,
          height: height
        };
        return coordinates;
      }
    }, {
      key: "parseSize",
      value: function parseSize(value, dimReference) {
        var result;
        var percIndex = value.indexOf("%");

        if (percIndex > 0) {
          result = parseInt(value.substring(0, percIndex), 10) / 100 * dimReference;
        } else {
          var pxIndex = value.indexOf("px");

          if (pxIndex > 0) {
            value = value.substring(0, pxIndex);
          }

          result = parseInt(value, 10);
        }

        return result;
      }
    }, {
      key: "parseXY",
      value: function parseXY(value, sizeReference, dimReference) {
        var result;
        var pxIndex = value.indexOf("px");

        if (pxIndex > 0) {
          value = value.substring(0, pxIndex);
          result = parseInt(value, 10);
        } else {
          if (value === "-1") {
            return dimReference - sizeReference;
          }

          if (value === "0") {
            return (dimReference - sizeReference) / 2;
          }

          if (value === "1") {
            return 0;
          }

          result = parseInt(value, 10);

          if (result < 0) {
            result = dimReference - sizeReference + result;
          }
        }

        return result;
      }
    }, {
      key: "getCoordinates",
      value: function getCoordinates() {
        var orientation = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _deviceUtils.default.currentOrientation;
        return this.computeCoordinates(this.coordinatesString, orientation);
      }
    }, {
      key: "isModal",
      value: function isModal() {
        return this.modal;
      }
    }]);
    return OptionspageConfig;
  }();

  exports.OptionspageConfig = OptionspageConfig;
},723,[5,7,8,458,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.FeedbackConfig = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _PaperSetupHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var FeedbackConfig = function (_PaperSetupBaseConfig) {
    (0, _inherits2.default)(FeedbackConfig, _PaperSetupBaseConfig);

    var _super = _createSuper(FeedbackConfig);

    function FeedbackConfig() {
      (0, _classCallCheck2.default)(this, FeedbackConfig);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(FeedbackConfig, [{
      key: "getStorageKeys",
      value: function getStorageKeys() {
        return _PaperSetupHelper.default.SP.keys.feedback;
      }
    }, {
      key: "init",
      value: function init() {
        var json,
            _this$getStorageKeys,
            show_dont_show_again,
            lower_active_date_range,
            upper_active_date_range,
            active_days_to_show,
            total_days_to_show,
            request_title,
            request_review_title,
            ask,
            email,
            reset_timestamp,
            cool_down_days,
            cool_down_days_dont_show_again,
            _args = arguments;

        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                json = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
                _context.next = 3;
                return _regenerator.default.awrap((0, _get2.default)((0, _getPrototypeOf2.default)(FeedbackConfig.prototype), "init", this).call(this, json));

              case 3:
                _this$getStorageKeys = this.getStorageKeys(), show_dont_show_again = _this$getStorageKeys.show_dont_show_again, lower_active_date_range = _this$getStorageKeys.lower_active_date_range, upper_active_date_range = _this$getStorageKeys.upper_active_date_range, active_days_to_show = _this$getStorageKeys.active_days_to_show, total_days_to_show = _this$getStorageKeys.total_days_to_show, request_title = _this$getStorageKeys.request_title, request_review_title = _this$getStorageKeys.request_review_title, ask = _this$getStorageKeys.ask, email = _this$getStorageKeys.email, reset_timestamp = _this$getStorageKeys.reset_timestamp, cool_down_days = _this$getStorageKeys.cool_down_days, cool_down_days_dont_show_again = _this$getStorageKeys.cool_down_days_dont_show_again;
                _context.next = 6;
                return _regenerator.default.awrap(this.getValue(show_dont_show_again));

              case 6:
                _context.t0 = _context.sent;
                this.showDontShowAgain = _context.t0 === "1";
                _context.t2 = parseInt;
                _context.next = 11;
                return _regenerator.default.awrap(this.getValue(lower_active_date_range));

              case 11:
                _context.t3 = _context.sent;
                _context.t1 = (0, _context.t2)(_context.t3, 10);

                if (_context.t1) {
                  _context.next = 15;
                  break;
                }

                _context.t1 = "1";

              case 15:
                _context.t4 = _context.t1;
                _context.t5 = _$$_REQUIRE(_dependencyMap[9]).DateUtils.DAY_IN_MILLS;
                this.lowerActiveDateRange = _context.t4 * _context.t5;
                _context.t7 = parseInt;
                _context.next = 21;
                return _regenerator.default.awrap(this.getValue(upper_active_date_range));

              case 21:
                _context.t8 = _context.sent;
                _context.t6 = (0, _context.t7)(_context.t8, 10);

                if (_context.t6) {
                  _context.next = 25;
                  break;
                }

                _context.t6 = "3";

              case 25:
                _context.t9 = _context.t6;
                _context.t10 = _$$_REQUIRE(_dependencyMap[9]).DateUtils.DAY_IN_MILLS;
                this.upperActiveDateRange = _context.t9 * _context.t10;
                _context.t11 = parseInt;
                _context.next = 31;
                return _regenerator.default.awrap(this.getValue(active_days_to_show));

              case 31:
                _context.t12 = _context.sent;

                if (_context.t12) {
                  _context.next = 34;
                  break;
                }

                _context.t12 = "6";

              case 34:
                _context.t13 = _context.t12;
                this.activeDaysToShow = (0, _context.t11)(_context.t13, 10);
                _context.t14 = parseInt;
                _context.next = 39;
                return _regenerator.default.awrap(this.getValue(total_days_to_show));

              case 39:
                _context.t15 = _context.sent;

                if (_context.t15) {
                  _context.next = 42;
                  break;
                }

                _context.t15 = "15";

              case 42:
                _context.t16 = _context.t15;
                this.totalDaysToShow = (0, _context.t14)(_context.t16, 10);
                _context.next = 46;
                return _regenerator.default.awrap(this.getValue(request_title));

              case 46:
                this.requestFeedbackTitle = _context.sent;
                _context.next = 49;
                return _regenerator.default.awrap(this.getValue(request_review_title));

              case 49:
                this.requestReviewFeedbackTitle = _context.sent;
                _context.next = 52;
                return _regenerator.default.awrap(this.getValue(ask));

              case 52:
                this.askForFeedback = _context.sent;
                _context.next = 55;
                return _regenerator.default.awrap(this.getValue(email));

              case 55:
                this.emailForFeedback = _context.sent;
                _context.next = 58;
                return _regenerator.default.awrap(this.getValue(reset_timestamp));

              case 58:
                this.resetTimestamp = _context.sent;

                if (this.resetTimestamp && this.resetTimestamp.length < 14) {
                  this.resetTimestamp = this.resetTimestamp.padEnd(14, "0");
                }

                _context.t17 = parseInt;
                _context.next = 63;
                return _regenerator.default.awrap(this.getValue(cool_down_days));

              case 63:
                _context.t18 = _context.sent;

                if (_context.t18) {
                  _context.next = 66;
                  break;
                }

                _context.t18 = "60";

              case 66:
                _context.t19 = _context.t18;
                this.coolDownDays = (0, _context.t17)(_context.t19, 10);
                _context.t20 = parseInt;
                _context.next = 71;
                return _regenerator.default.awrap(this.getValue(cool_down_days_dont_show_again));

              case 71:
                _context.t21 = _context.sent;

                if (_context.t21) {
                  _context.next = 74;
                  break;
                }

                _context.t21 = "90";

              case 74:
                _context.t22 = _context.t21;
                this.coolDownDaysDontShowAgain = (0, _context.t20)(_context.t22, 10);
                return _context.abrupt("return", true);

              case 77:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }]);
    return FeedbackConfig;
  }(_$$_REQUIRE(_dependencyMap[10]).PaperSetupBaseConfig);

  exports.FeedbackConfig = FeedbackConfig;
},724,[5,80,7,8,90,12,14,16,718,462,725]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.PaperSetupBaseConfig = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _PaperSetupHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var PaperSetupBaseConfig = function () {
    function PaperSetupBaseConfig(pSetup, machine) {
      (0, _classCallCheck2.default)(this, PaperSetupBaseConfig);
      this.pSetup = pSetup;
      this.originalMachine = machine;
      this.storageKey = pSetup + "-" + machine;
    }

    (0, _createClass2.default)(PaperSetupBaseConfig, [{
      key: "getStorageKeys",
      value: function getStorageKeys() {
        return {};
      }
    }, {
      key: "getJSONKeys",
      value: function getJSONKeys() {
        var storage = _$$_REQUIRE(_dependencyMap[5]).JSUtils.flattenObject(this.getStorageKeys());

        return Object.values(storage);
      }
    }, {
      key: "filterJSON",
      value: function filterJSON(json) {
        var jsonKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];

        if (jsonKeys && jsonKeys.length > 0) {
          return Object.keys(json).reduce(function (prev, current) {
            if (jsonKeys.includes(current)) {
              prev[current] = json[current];
            }

            return prev;
          }, {});
        }

        return json;
      }
    }, {
      key: "init",
      value: function init() {
        var json,
            _args = arguments;
        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                json = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
                this.json = this.filterJSON(json, this.getJSONKeys());
                return _context.abrupt("return", true);

              case 3:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "setValue",
      value: function setValue(key, value) {
        return _regenerator.default.async(function setValue$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                this.json[key] = value;
                return _context2.abrupt("return", _PaperSetupHelper.default.setItem(this.storageKey, key, value));

              case 2:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getValue",
      value: function getValue(key) {
        var value;
        return _regenerator.default.async(function getValue$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                if (!_$$_REQUIRE(_dependencyMap[5]).JSUtils.hasProperty(this.json, key)) {
                  _context3.next = 7;
                  break;
                }

                value = this.json[key];

                if (!(value === null || value === undefined)) {
                  _context3.next = 6;
                  break;
                }

                _context3.next = 5;
                return _regenerator.default.awrap(_PaperSetupHelper.default.getItem(this.storageKey, key));

              case 5:
                value = _context3.sent;

              case 6:
                return _context3.abrupt("return", value);

              case 7:
                return _context3.abrupt("return", "");

              case 8:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }]);
    return PaperSetupBaseConfig;
  }();

  exports.PaperSetupBaseConfig = PaperSetupBaseConfig;
},725,[5,80,7,8,718,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.AdobeAnalyticsConfig = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _PaperSetupHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AdobeAnalyticsConfig = function (_PaperSetupBaseConfig) {
    (0, _inherits2.default)(AdobeAnalyticsConfig, _PaperSetupBaseConfig);

    var _super = _createSuper(AdobeAnalyticsConfig);

    function AdobeAnalyticsConfig() {
      (0, _classCallCheck2.default)(this, AdobeAnalyticsConfig);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(AdobeAnalyticsConfig, [{
      key: "getStorageKeys",
      value: function getStorageKeys() {
        return _PaperSetupHelper.default.SP.keys.adobe_analytics;
      }
    }, {
      key: "init",
      value: function init() {
        var json,
            _this$getStorageKeys,
            props_list,
            send_only_edition_load,
            first_page_section_prefix,
            edition_type,
            device_type,
            user_types,
            actions,
            states,
            media,
            content_types,
            _args = arguments;

        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                json = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
                _context.next = 3;
                return _regenerator.default.awrap((0, _get2.default)((0, _getPrototypeOf2.default)(AdobeAnalyticsConfig.prototype), "init", this).call(this, json));

              case 3:
                _this$getStorageKeys = this.getStorageKeys(), props_list = _this$getStorageKeys.props_list, send_only_edition_load = _this$getStorageKeys.send_only_edition_load, first_page_section_prefix = _this$getStorageKeys.first_page_section_prefix, edition_type = _this$getStorageKeys.edition_type, device_type = _this$getStorageKeys.device_type, user_types = _this$getStorageKeys.user_types, actions = _this$getStorageKeys.actions, states = _this$getStorageKeys.states, media = _this$getStorageKeys.media, content_types = _this$getStorageKeys.content_types;
                _context.next = 6;
                return _regenerator.default.awrap(this.getValue(props_list));

              case 6:
                _context.t0 = _context.sent;

                if (_context.t0) {
                  _context.next = 9;
                  break;
                }

                _context.t0 = "";

              case 9:
                this.propsList = _context.t0;
                _context.next = 12;
                return _regenerator.default.awrap(this.getValue(send_only_edition_load));

              case 12:
                _context.t1 = _context.sent;

                if (_context.t1) {
                  _context.next = 15;
                  break;
                }

                _context.t1 = "0";

              case 15:
                _context.t2 = _context.t1;
                this.sendOnlyEditionLoad = _context.t2 === "1";
                _context.next = 19;
                return _regenerator.default.awrap(this.getValue(user_types.unknown));

              case 19:
                _context.t3 = _context.sent;

                if (_context.t3) {
                  _context.next = 22;
                  break;
                }

                _context.t3 = "";

              case 22:
                this.userTypeUnknown = _context.t3;
                _context.next = 25;
                return _regenerator.default.awrap(this.getValue(user_types.subscriber));

              case 25:
                _context.t4 = _context.sent;

                if (_context.t4) {
                  _context.next = 28;
                  break;
                }

                _context.t4 = "";

              case 28:
                this.userTypeSubscriber = _context.t4;
                _context.next = 31;
                return _regenerator.default.awrap(this.getValue(actions.edition_load));

              case 31:
                _context.t5 = _context.sent;

                if (_context.t5) {
                  _context.next = 34;
                  break;
                }

                _context.t5 = "";

              case 34:
                this.editionLoadActionName = _context.t5;
                _context.next = 37;
                return _regenerator.default.awrap(this.getValue(actions.scroll_zoom));

              case 37:
                _context.t6 = _context.sent;

                if (_context.t6) {
                  _context.next = 40;
                  break;
                }

                _context.t6 = "";

              case 40:
                this.scrollZoomActionName = _context.t6;
                _context.next = 43;
                return _regenerator.default.awrap(this.getValue(actions.double_tap_to_zoom));

              case 43:
                _context.t7 = _context.sent;

                if (_context.t7) {
                  _context.next = 46;
                  break;
                }

                _context.t7 = "";

              case 46:
                this.doubleTapActionName = _context.t7;
                _context.next = 49;
                return _regenerator.default.awrap(this.getValue(actions.pinch_to_zoom));

              case 49:
                _context.t8 = _context.sent;

                if (_context.t8) {
                  _context.next = 52;
                  break;
                }

                _context.t8 = "";

              case 52:
                this.pinchOutActionName = _context.t8;
                _context.next = 55;
                return _regenerator.default.awrap(this.getValue(actions.tts));

              case 55:
                _context.t9 = _context.sent;

                if (_context.t9) {
                  _context.next = 58;
                  break;
                }

                _context.t9 = "";

              case 58:
                this.textToSpeechActionName = _context.t9;
                _context.next = 61;
                return _regenerator.default.awrap(this.getValue(actions.skip_to_end));

              case 61:
                _context.t10 = _context.sent;

                if (_context.t10) {
                  _context.next = 64;
                  break;
                }

                _context.t10 = "";

              case 64:
                this.skipToEndActionName = _context.t10;
                _context.next = 67;
                return _regenerator.default.awrap(this.getValue(actions.toggle_to_print));

              case 67:
                _context.t11 = _context.sent;

                if (_context.t11) {
                  _context.next = 70;
                  break;
                }

                _context.t11 = "";

              case 70:
                this.toggleToPrintActionName = _context.t11;
                _context.next = 73;
                return _regenerator.default.awrap(this.getValue(actions.toggle_to_digital));

              case 73:
                _context.t12 = _context.sent;

                if (_context.t12) {
                  _context.next = 76;
                  break;
                }

                _context.t12 = "";

              case 76:
                this.toggleToDigitalActionName = _context.t12;
                _context.next = 79;
                return _regenerator.default.awrap(this.getValue(actions.share));

              case 79:
                _context.t13 = _context.sent;

                if (_context.t13) {
                  _context.next = 82;
                  break;
                }

                _context.t13 = "";

              case 82:
                this.shareActionName = _context.t13;
                _context.next = 85;
                return _regenerator.default.awrap(this.getValue(actions.link_click));

              case 85:
                _context.t14 = _context.sent;

                if (_context.t14) {
                  _context.next = 88;
                  break;
                }

                _context.t14 = "";

              case 88:
                this.linkClickActionName = _context.t14;
                _context.next = 91;
                return _regenerator.default.awrap(this.getValue(states.scrolled));

              case 91:
                _context.t15 = _context.sent;

                if (_context.t15) {
                  _context.next = 94;
                  break;
                }

                _context.t15 = "";

              case 94:
                this.scrolledStateName = _context.t15;
                _context.next = 97;
                return _regenerator.default.awrap(this.getValue(states.read));

              case 97:
                _context.t16 = _context.sent;

                if (_context.t16) {
                  _context.next = 100;
                  break;
                }

                _context.t16 = "";

              case 100:
                this.readStateName = _context.t16;
                _context.next = 103;
                return _regenerator.default.awrap(this.getValue(states.zoomed));

              case 103:
                _context.t17 = _context.sent;

                if (_context.t17) {
                  _context.next = 106;
                  break;
                }

                _context.t17 = "";

              case 106:
                this.zoomedStateName = _context.t17;
                _context.next = 109;
                return _regenerator.default.awrap(this.getValue(states.index));

              case 109:
                _context.t18 = _context.sent;

                if (_context.t18) {
                  _context.next = 112;
                  break;
                }

                _context.t18 = "";

              case 112:
                this.indexStateName = _context.t18;
                _context.next = 115;
                return _regenerator.default.awrap(this.getValue(states.optionspage));

              case 115:
                _context.t19 = _context.sent;

                if (_context.t19) {
                  _context.next = 118;
                  break;
                }

                _context.t19 = "";

              case 118:
                this.optionspageStateName = _context.t19;
                _context.next = 121;
                return _regenerator.default.awrap(this.getValue(media.print));

              case 121:
                _context.t20 = _context.sent;

                if (_context.t20) {
                  _context.next = 124;
                  break;
                }

                _context.t20 = "print";

              case 124:
                this.printMedium = _context.t20;
                _context.next = 127;
                return _regenerator.default.awrap(this.getValue(media.digital));

              case 127:
                _context.t21 = _context.sent;

                if (_context.t21) {
                  _context.next = 130;
                  break;
                }

                _context.t21 = "digital";

              case 130:
                this.digitalMedium = _context.t21;
                _context.next = 133;
                return _regenerator.default.awrap(this.getValue(media.zoomed_suffix));

              case 133:
                _context.t22 = _context.sent;

                if (_context.t22) {
                  _context.next = 136;
                  break;
                }

                _context.t22 = " zoom";

              case 136:
                this.zoomedMediumSuffix = _context.t22;
                _context.next = 139;
                return _regenerator.default.awrap(this.getValue(first_page_section_prefix));

              case 139:
                _context.t23 = _context.sent;

                if (_context.t23) {
                  _context.next = 142;
                  break;
                }

                _context.t23 = "";

              case 142:
                this.firstPageSectionPrefix = _context.t23;
                _context.next = 145;
                return _regenerator.default.awrap(this.getValue(content_types.page));

              case 145:
                _context.t24 = _context.sent;

                if (_context.t24) {
                  _context.next = 148;
                  break;
                }

                _context.t24 = "";

              case 148:
                this.pageContentType = _context.t24;
                _context.next = 151;
                return _regenerator.default.awrap(this.getValue(content_types.first_page));

              case 151:
                _context.t25 = _context.sent;

                if (_context.t25) {
                  _context.next = 154;
                  break;
                }

                _context.t25 = this.pageContentType;

              case 154:
                this.firstPageContentType = _context.t25;
                _context.next = 157;
                return _regenerator.default.awrap(this.getValue(content_types.index));

              case 157:
                _context.t26 = _context.sent;

                if (_context.t26) {
                  _context.next = 160;
                  break;
                }

                _context.t26 = "";

              case 160:
                this.indexContentType = _context.t26;
                _context.next = 163;
                return _regenerator.default.awrap(this.getValue(content_types.article));

              case 163:
                _context.t27 = _context.sent;

                if (_context.t27) {
                  _context.next = 166;
                  break;
                }

                _context.t27 = "";

              case 166:
                this.articleContentType = _context.t27;
                _context.next = 169;
                return _regenerator.default.awrap(this.getValue(content_types.optionspage));

              case 169:
                _context.t28 = _context.sent;

                if (_context.t28) {
                  _context.next = 172;
                  break;
                }

                _context.t28 = "";

              case 172:
                this.optionspageContentType = _context.t28;
                _context.next = 175;
                return _regenerator.default.awrap(this.getValue(edition_type));

              case 175:
                _context.t29 = _context.sent;

                if (_context.t29) {
                  _context.next = 178;
                  break;
                }

                _context.t29 = "Newspaper";

              case 178:
                this.editionType = _context.t29;
                _context.next = 181;
                return _regenerator.default.awrap(this.getValue(device_type));

              case 181:
                _context.t30 = _context.sent;

                if (_context.t30) {
                  _context.next = 184;
                  break;
                }

                _context.t30 = _$$_REQUIRE(_dependencyMap[9]).PlatformUtils.isTablet() ? "Tablet" : "Mobile Phone";

              case 184:
                this.deviceType = _context.t30;
                return _context.abrupt("return", true);

              case 186:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }]);
    return AdobeAnalyticsConfig;
  }(_$$_REQUIRE(_dependencyMap[10]).PaperSetupBaseConfig);

  exports.AdobeAnalyticsConfig = AdobeAnalyticsConfig;
},726,[5,80,7,8,90,12,14,16,718,462,725]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.MatomoConfig = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _PaperSetupHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var MatomoConfig = function (_PaperSetupBaseConfig) {
    (0, _inherits2.default)(MatomoConfig, _PaperSetupBaseConfig);

    var _super = _createSuper(MatomoConfig);

    function MatomoConfig() {
      (0, _classCallCheck2.default)(this, MatomoConfig);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(MatomoConfig, [{
      key: "getStorageKeys",
      value: function getStorageKeys() {
        return _PaperSetupHelper.default.SP.keys.matomo;
      }
    }, {
      key: "init",
      value: function init() {
        var json,
            defaultCustomDimensions,
            _this$getStorageKeys,
            site_id,
            rss_site_id,
            base_url,
            visit_custom_dimensions,
            custom_dimensions,
            dispatch_interval,
            _args = arguments;

        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                json = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
                defaultCustomDimensions = _args.length > 1 && _args[1] !== undefined ? _args[1] : "";
                _context.next = 4;
                return _regenerator.default.awrap((0, _get2.default)((0, _getPrototypeOf2.default)(MatomoConfig.prototype), "init", this).call(this, json));

              case 4:
                _this$getStorageKeys = this.getStorageKeys(), site_id = _this$getStorageKeys.site_id, rss_site_id = _this$getStorageKeys.rss_site_id, base_url = _this$getStorageKeys.base_url, visit_custom_dimensions = _this$getStorageKeys.visit_custom_dimensions, custom_dimensions = _this$getStorageKeys.custom_dimensions, dispatch_interval = _this$getStorageKeys.dispatch_interval;
                _context.next = 7;
                return _regenerator.default.awrap(this.getValue(site_id));

              case 7:
                _context.t0 = _context.sent;

                if (_context.t0) {
                  _context.next = 10;
                  break;
                }

                _context.t0 = "";

              case 10:
                this.ePaperSiteId = _context.t0;
                _context.next = 13;
                return _regenerator.default.awrap(this.getValue(rss_site_id));

              case 13:
                _context.t1 = _context.sent;

                if (_context.t1) {
                  _context.next = 16;
                  break;
                }

                _context.t1 = "";

              case 16:
                this.rssSiteId = _context.t1;
                _context.next = 19;
                return _regenerator.default.awrap(this.getValue(base_url));

              case 19:
                _context.t2 = _context.sent;

                if (_context.t2) {
                  _context.next = 22;
                  break;
                }

                _context.t2 = "";

              case 22:
                this.baseURL = _context.t2;
                _context.next = 25;
                return _regenerator.default.awrap(this.getValue(visit_custom_dimensions));

              case 25:
                _context.t3 = _context.sent;

                if (_context.t3) {
                  _context.next = 28;
                  break;
                }

                _context.t3 = "";

              case 28:
                this.visitCustomDimensions = _context.t3;
                _context.next = 31;
                return _regenerator.default.awrap(this.getValue(custom_dimensions));

              case 31:
                _context.t4 = _context.sent;

                if (_context.t4) {
                  _context.next = 34;
                  break;
                }

                _context.t4 = defaultCustomDimensions;

              case 34:
                this.customDimensions = _context.t4;
                _context.t5 = parseFloat;
                _context.next = 38;
                return _regenerator.default.awrap(this.getValue(dispatch_interval));

              case 38:
                _context.t6 = _context.sent;

                if (_context.t6) {
                  _context.next = 41;
                  break;
                }

                _context.t6 = "30.0";

              case 41:
                _context.t7 = _context.t6;
                this.dispatchInterval = (0, _context.t5)(_context.t7);
                return _context.abrupt("return", true);

              case 44:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }]);
    return MatomoConfig;
  }(_$$_REQUIRE(_dependencyMap[9]).PaperSetupBaseConfig);

  exports.MatomoConfig = MatomoConfig;
},727,[5,80,7,8,90,12,14,16,718,725]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.MatomoTrackerConfig = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _PaperSetupHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var MatomoTrackerConfig = function (_PaperSetupBaseConfig) {
    (0, _inherits2.default)(MatomoTrackerConfig, _PaperSetupBaseConfig);

    var _super = _createSuper(MatomoTrackerConfig);

    function MatomoTrackerConfig() {
      (0, _classCallCheck2.default)(this, MatomoTrackerConfig);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(MatomoTrackerConfig, [{
      key: "getStorageKeys",
      value: function getStorageKeys() {
        return _PaperSetupHelper.default.SP.keys.matomo_tracker;
      }
    }, {
      key: "init",
      value: function init() {
        var json,
            _this$getStorageKeys,
            site_id,
            rss_site_id,
            base_url,
            action_base_url,
            edition_remapping,
            titles,
            custom_urls,
            custom_dimensions,
            _args = arguments;

        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                json = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
                _context.next = 3;
                return _regenerator.default.awrap((0, _get2.default)((0, _getPrototypeOf2.default)(MatomoTrackerConfig.prototype), "init", this).call(this, json));

              case 3:
                _this$getStorageKeys = this.getStorageKeys(), site_id = _this$getStorageKeys.site_id, rss_site_id = _this$getStorageKeys.rss_site_id, base_url = _this$getStorageKeys.base_url, action_base_url = _this$getStorageKeys.action_base_url, edition_remapping = _this$getStorageKeys.edition_remapping, titles = _this$getStorageKeys.titles, custom_urls = _this$getStorageKeys.custom_urls, custom_dimensions = _this$getStorageKeys.custom_dimensions;
                _context.next = 6;
                return _regenerator.default.awrap(this.getValue(site_id));

              case 6:
                _context.t0 = _context.sent;

                if (_context.t0) {
                  _context.next = 9;
                  break;
                }

                _context.t0 = "";

              case 9:
                this.ePaperSiteId = _context.t0;
                _context.next = 12;
                return _regenerator.default.awrap(this.getValue(rss_site_id));

              case 12:
                _context.t1 = _context.sent;

                if (_context.t1) {
                  _context.next = 15;
                  break;
                }

                _context.t1 = "";

              case 15:
                this.rssSiteId = _context.t1;
                _context.next = 18;
                return _regenerator.default.awrap(this.getValue(base_url));

              case 18:
                _context.t2 = _context.sent;

                if (_context.t2) {
                  _context.next = 21;
                  break;
                }

                _context.t2 = "";

              case 21:
                this.baseURL = _context.t2;
                _context.next = 24;
                return _regenerator.default.awrap(this.getValue(action_base_url));

              case 24:
                _context.t3 = _context.sent;

                if (_context.t3) {
                  _context.next = 27;
                  break;
                }

                _context.t3 = "";

              case 27:
                this.actionBaseURL = _context.t3;
                _context.t4 = _$$_REQUIRE(_dependencyMap[9]).StringUtils;
                _context.next = 31;
                return _regenerator.default.awrap(this.getValue(edition_remapping));

              case 31:
                _context.t5 = _context.sent;

                if (_context.t5) {
                  _context.next = 34;
                  break;
                }

                _context.t5 = "";

              case 34:
                _context.t6 = _context.t5;
                this.editionRemapping = _context.t4.parseQuerystring.call(_context.t4, _context.t6);
                _context.next = 38;
                return _regenerator.default.awrap(this.getValue(titles.scrolled));

              case 38:
                _context.t7 = _context.sent;

                if (_context.t7) {
                  _context.next = 41;
                  break;
                }

                _context.t7 = "";

              case 41:
                _context.t8 = _context.t7;
                _context.next = 44;
                return _regenerator.default.awrap(this.getValue(titles.read));

              case 44:
                _context.t9 = _context.sent;

                if (_context.t9) {
                  _context.next = 47;
                  break;
                }

                _context.t9 = "";

              case 47:
                _context.t10 = _context.t9;
                _context.next = 50;
                return _regenerator.default.awrap(this.getValue(titles.rss_drawer));

              case 50:
                _context.t11 = _context.sent;

                if (_context.t11) {
                  _context.next = 53;
                  break;
                }

                _context.t11 = "";

              case 53:
                _context.t12 = _context.t11;
                _context.next = 56;
                return _regenerator.default.awrap(this.getValue(titles.rss_read));

              case 56:
                _context.t13 = _context.sent;

                if (_context.t13) {
                  _context.next = 59;
                  break;
                }

                _context.t13 = "";

              case 59:
                _context.t14 = _context.t13;
                this.titles = {
                  scrolled: _context.t8,
                  read: _context.t10,
                  rss_drawer: _context.t12,
                  rss_read: _context.t14
                };
                _context.next = 63;
                return _regenerator.default.awrap(this.getValue(custom_urls.scrolled));

              case 63:
                _context.t15 = _context.sent;

                if (_context.t15) {
                  _context.next = 66;
                  break;
                }

                _context.t15 = "";

              case 66:
                _context.t16 = _context.t15;
                _context.next = 69;
                return _regenerator.default.awrap(this.getValue(custom_urls.read));

              case 69:
                _context.t17 = _context.sent;

                if (_context.t17) {
                  _context.next = 72;
                  break;
                }

                _context.t17 = "";

              case 72:
                _context.t18 = _context.t17;
                _context.next = 75;
                return _regenerator.default.awrap(this.getValue(custom_urls.rss_drawer));

              case 75:
                _context.t19 = _context.sent;

                if (_context.t19) {
                  _context.next = 78;
                  break;
                }

                _context.t19 = "";

              case 78:
                _context.t20 = _context.t19;
                _context.next = 81;
                return _regenerator.default.awrap(this.getValue(custom_urls.rss_read));

              case 81:
                _context.t21 = _context.sent;

                if (_context.t21) {
                  _context.next = 84;
                  break;
                }

                _context.t21 = "";

              case 84:
                _context.t22 = _context.t21;
                this.customURLs = {
                  scrolled: _context.t16,
                  read: _context.t18,
                  rss_drawer: _context.t20,
                  rss_read: _context.t22
                };
                _context.next = 88;
                return _regenerator.default.awrap(this.getValue(custom_dimensions.scrolled));

              case 88:
                _context.t23 = _context.sent;

                if (_context.t23) {
                  _context.next = 91;
                  break;
                }

                _context.t23 = "";

              case 91:
                _context.t24 = _context.t23;
                _context.next = 94;
                return _regenerator.default.awrap(this.getValue(custom_dimensions.read));

              case 94:
                _context.t25 = _context.sent;

                if (_context.t25) {
                  _context.next = 97;
                  break;
                }

                _context.t25 = "";

              case 97:
                _context.t26 = _context.t25;
                _context.next = 100;
                return _regenerator.default.awrap(this.getValue(custom_dimensions.rss_drawer));

              case 100:
                _context.t27 = _context.sent;

                if (_context.t27) {
                  _context.next = 103;
                  break;
                }

                _context.t27 = "";

              case 103:
                _context.t28 = _context.t27;
                _context.next = 106;
                return _regenerator.default.awrap(this.getValue(custom_dimensions.rss_read));

              case 106:
                _context.t29 = _context.sent;

                if (_context.t29) {
                  _context.next = 109;
                  break;
                }

                _context.t29 = "";

              case 109:
                _context.t30 = _context.t29;
                this.customDimensions = {
                  scrolled: _context.t24,
                  read: _context.t26,
                  rss_drawer: _context.t28,
                  rss_read: _context.t30
                };
                return _context.abrupt("return", true);

              case 112:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }]);
    return MatomoTrackerConfig;
  }(_$$_REQUIRE(_dependencyMap[10]).PaperSetupBaseConfig);

  exports.MatomoTrackerConfig = MatomoTrackerConfig;
},728,[5,80,8,90,12,14,16,7,718,462,725]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.HIDE_ANIMATION_DURATION = exports.HIDE_ANIMATION_TIMER = exports.HIDE_ANIMATION_FOOTER_TIMER = exports.FOOTER_FONT_SIZE = exports.SEARCH_COLOR = exports.SEARCH_TEXT_SIZE = exports.INFO_SIZE = exports.PAGE_SIZE = exports.TITLE_SIZE = exports.LIST_ITEM_SEPARATOR_COLOR = exports.LIST_ITEM_SEPARATOR_HEIGHT = exports.LIST_ITEM_PADDING = exports.LIST_ITEM_HEIGHT = exports.LIST_TITLE_SIZE = exports.LOGO_HEIGHT = exports.LOGO_PARENT_HEIGHT = exports.HEADER_FONT_SIZE = exports.HEADER_HR_SIZE = exports.HEADER_BUTTON_SIZE = exports.HEADER_PARENT_BUTTON_PADDING = exports.HEADER_PARENT_BUTTON_SIZE = exports.HEADER_BG_COLOR = exports.SUB_HEADER_HEIGHT = exports.HEADER_PADDING = exports.HEADER_HEIGHT = undefined;
  var HEADER_HEIGHT = 50;
  exports.HEADER_HEIGHT = HEADER_HEIGHT;
  var HEADER_PADDING = 10;
  exports.HEADER_PADDING = HEADER_PADDING;
  var SUB_HEADER_HEIGHT = 40;
  exports.SUB_HEADER_HEIGHT = SUB_HEADER_HEIGHT;

  var HEADER_BG_COLOR = _$$_REQUIRE(_dependencyMap[0]).colors.black;

  exports.HEADER_BG_COLOR = HEADER_BG_COLOR;
  var HEADER_PARENT_BUTTON_SIZE = 45;
  exports.HEADER_PARENT_BUTTON_SIZE = HEADER_PARENT_BUTTON_SIZE;
  var HEADER_PARENT_BUTTON_PADDING = 7.5;
  exports.HEADER_PARENT_BUTTON_PADDING = HEADER_PARENT_BUTTON_PADDING;
  var HEADER_BUTTON_SIZE = 30;
  exports.HEADER_BUTTON_SIZE = HEADER_BUTTON_SIZE;
  var HEADER_HR_SIZE = 1;
  exports.HEADER_HR_SIZE = HEADER_HR_SIZE;
  var HEADER_FONT_SIZE = 18;
  exports.HEADER_FONT_SIZE = HEADER_FONT_SIZE;
  var LOGO_PARENT_HEIGHT = 50;
  exports.LOGO_PARENT_HEIGHT = LOGO_PARENT_HEIGHT;
  var LOGO_HEIGHT = "100%";
  exports.LOGO_HEIGHT = LOGO_HEIGHT;
  var LIST_TITLE_SIZE = 18;
  exports.LIST_TITLE_SIZE = LIST_TITLE_SIZE;
  var LIST_ITEM_HEIGHT = 50;
  exports.LIST_ITEM_HEIGHT = LIST_ITEM_HEIGHT;
  var LIST_ITEM_PADDING = 6;
  exports.LIST_ITEM_PADDING = LIST_ITEM_PADDING;
  var LIST_ITEM_SEPARATOR_HEIGHT = 0.5;
  exports.LIST_ITEM_SEPARATOR_HEIGHT = LIST_ITEM_SEPARATOR_HEIGHT;

  var LIST_ITEM_SEPARATOR_COLOR = _$$_REQUIRE(_dependencyMap[0]).colors.grey300;

  exports.LIST_ITEM_SEPARATOR_COLOR = LIST_ITEM_SEPARATOR_COLOR;
  var TITLE_SIZE = 22;
  exports.TITLE_SIZE = TITLE_SIZE;
  var PAGE_SIZE = 22;
  exports.PAGE_SIZE = PAGE_SIZE;
  var INFO_SIZE = 16;
  exports.INFO_SIZE = INFO_SIZE;
  var SEARCH_TEXT_SIZE = 16;
  exports.SEARCH_TEXT_SIZE = SEARCH_TEXT_SIZE;

  var SEARCH_COLOR = _$$_REQUIRE(_dependencyMap[0]).colors.md_red_400;

  exports.SEARCH_COLOR = SEARCH_COLOR;
  var FOOTER_FONT_SIZE = 16;
  exports.FOOTER_FONT_SIZE = FOOTER_FONT_SIZE;
  var HIDE_ANIMATION_FOOTER_TIMER = 5000;
  exports.HIDE_ANIMATION_FOOTER_TIMER = HIDE_ANIMATION_FOOTER_TIMER;
  var HIDE_ANIMATION_TIMER = 3000;
  exports.HIDE_ANIMATION_TIMER = HIDE_ANIMATION_TIMER;
  var HIDE_ANIMATION_DURATION = 1000;
  exports.HIDE_ANIMATION_DURATION = HIDE_ANIMATION_DURATION;
},729,[462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.closeTypes = exports.IAPErrorMessages = exports.locals = exports.tabs = undefined;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var tabs = {
    access: "access",
    accessibility: "accessibility",
    account: "account",
    archive: "archive",
    carousel: "carousel",
    contact: "contact",
    eenotify: "eenotify",
    help: "help",
    home: "home",
    impressum: "impressum",
    login: "login",
    market: "market",
    purchases: "purchases",
    puzzle: "puzzle",
    registration: "registration",
    rss: "rss",
    settings: "connection",
    specialsections: "specialsection",
    subscribe: "subscribe",
    uberabos: "uberabos",
    updates: "updates",
    validation: "validation",
    version: "version",
    generic: "generic"
  };
  exports.tabs = tabs;
  var locals = {
    INITPAGE_SET_NEWSPAPER_AND_READ: "xc_initPage_setNewspaperAndRead",
    INITPAGE_SET_EXTERNAL_NEWSPAPER: "xc_initPage_setExternalNewspaper",
    LOAD_LATEST_PUBLICATION: "xc_loadLatestPublication",
    GET_SAVED_ISSUES: "getSavedIssues",
    DELETE_ISSUE: "deleteIssue",
    RETURN_FROM_LOGIN: "returnFromLogin",
    LOGOUT: "xc_initPage_logout",
    STORE_USER_INFO: "storeUserInfo",
    GET_USER_INFO: "getUserInfo",
    BUY: "xc_buy",
    RESUME_TRANSACTIONS: "resumeTransactions",
    FINISH_TRANSACTION: "finishTransaction",
    REQUEST_PRICE_BY_ID: "xc_requestPriceByID",
    RESTORE_COMPLETED_TRANSACTIONS: "restoreCompletedTransactions",
    SAVE_RECEIPT: "saveReceiptForRecurringPayment",
    GET_KEY: "getFromKey",
    SET_KEY: "setFromKey",
    REMOVE_KEY: "removeKey",
    SET_PREF_EDI: "setPrefEdi",
    CLEAR_STORAGE: "clearStorage",
    GET_CONFIG_DUMP: "getConfigDump",
    OPEN_BROWSER: "xc_openBrowser",
    OPEN_BROWSER_ALT: "openInAppBrowser",
    CLOSE: "closeOptionPage",
    GO_BACK: "backButtonClicked",
    ALERT: "alert",
    CONFIRM: "confirm",
    SET_RN_DEMO: "setRnDemo",
    OPEN_RSS: "xc_openRSSReader",
    GET_USED_SPACE: "getIssuesUsedSpace",
    CLOSE_WINDOW: "closeWindow",
    GET_PUBLICATIONS_STORED: "getPublicationStored",
    SET_PUBLICATION: "setPublication",
    DELETE_PUBLICATION: "deletePublication",
    OPEN_TAB_HOME: "openTabHome",
    OPEN_TAB_LOGIN: "openTabLogin",
    EXEC_JS: "xc_execJavascriptInMainApplication",
    SHOW_DEBUG_INFO: "showDebugInfo",
    OPEN_ACCESSIBILITY_MODE: "xc_openAccessibilityMode",
    OPEN_ARCHIVE: "xc_openArchive",
    RESTORE_DEFAULT_SETTINGS: "restoreDefaults",
    CLOSE_ARTICLE: "art_closeTextArticle",
    OPEN_OPTIONSPAGE: "openOptionPage",
    SCROLL_TO_PAGE: "xc_scrollToPage",
    DISPLAY_LOADER: "displayLoader",
    OPEN_NATIVE_SETTINGS_SCREEN: "openNativeSettingsScreen"
  };
  exports.locals = locals;
  var IAPErrorMessages = {
    iap_not_available: "IAP Not Available",
    unknown: "Unknown Error",
    cancelled: "Payment Cancelled",
    user_error: "User Error",
    item_unavailable: "Item Unavailable",
    remote_error: "Remote Error",
    network_error: "Network Error",
    service_error: "Service Error",
    receipt_failed: "Receipt Failed",
    receipt_finished_failed: "Receipt Finished Failed",
    not_prepared: "Not Prepared",
    not_ended: "Not Ended",
    already_owned: "Already Owned",
    developer_error: "Developer Error",
    billing_response_json_parse_error: "Error Parsing Billing Response JSON",
    already_active_subscription: "Already have an active subscription"
  };
  exports.IAPErrorMessages = IAPErrorMessages;
  var closeTypes = {
    close: "close",
    back: "back",
    none: "none"
  };
  exports.closeTypes = closeTypes;

  var OptionspageUtils = function () {
    function OptionspageUtils() {
      (0, _classCallCheck2.default)(this, OptionspageUtils);
    }

    (0, _createClass2.default)(OptionspageUtils, null, [{
      key: "getBaseURL",
      value: function getBaseURL() {
        var _global$getActivePSet = global.getActivePSetup(),
            optionspageConfig = _global$getActivePSet.optionspageConfig;

        return _$$_REQUIRE(_dependencyMap[7]).NetworkUtils.addDefaultProtocol(optionspageConfig.baseURL);
      }
    }, {
      key: "getTabUrl",
      value: function getTabUrl(tab) {
        var otherGetParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
        var baseURL = this.getBaseURL();

        var _StringUtils$segmentU = _$$_REQUIRE(_dependencyMap[7]).StringUtils.segmentUrl(baseURL),
            protocol = _StringUtils$segmentU.protocol,
            domain = _StringUtils$segmentU.domain,
            path = _StringUtils$segmentU.path,
            baseGetParams = _StringUtils$segmentU.getParams;

        var params = (0, _extends2.default)({
          tab: tab
        }, this.getDefaultParams(), baseGetParams, otherGetParams);

        var queryString = _$$_REQUIRE(_dependencyMap[7]).StringUtils.getQuerystring(params);

        return protocol + "://" + domain + "/" + path + "?" + queryString;
      }
    }, {
      key: "getCustomUrl",
      value: function getCustomUrl(baseURL) {
        var otherGetParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

        var _StringUtils$segmentU2 = _$$_REQUIRE(_dependencyMap[7]).StringUtils.segmentUrl(baseURL),
            protocol = _StringUtils$segmentU2.protocol,
            domain = _StringUtils$segmentU2.domain,
            path = _StringUtils$segmentU2.path,
            baseGetParams = _StringUtils$segmentU2.getParams;

        var params = (0, _extends2.default)(this.getDefaultParams(), baseGetParams, otherGetParams);

        var queryString = _$$_REQUIRE(_dependencyMap[7]).StringUtils.getQuerystring(params);

        return protocol + "://" + domain + "/" + path + "?" + queryString;
      }
    }, {
      key: "getDefaultParams",
      value: function getDefaultParams() {
        var _global$getNewsmemory = global.getNewsmemoryConfig(),
            network = _global$getNewsmemory.network,
            limit = _global$getNewsmemory.limit,
            connectivity = _global$getNewsmemory.connectivity;

        var _global$getActivePSet2 = global.getActivePSetup(),
            pSetup = _global$getActivePSet2.pSetup,
            loginStatus = _global$getActivePSet2.loginStatus;

        var TAUID = loginStatus.TAUID;
        var defaultParams = {
          pSetup: pSetup,
          MACHINEID: global.machineId,
          useDB: 1,
          ver: _deviceUtils.default.getAppVersion(),
          isDebug: global.isDebug,
          network: network,
          isPhone: _$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isTablet() ? 0 : 1,
          isKindle: _deviceUtils.default.isKindle() ? 1 : undefined,
          limit: limit,
          connectivity: connectivity,
          accessibilityMode: _$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isSystemAccessibilityEnabled() ? "1" : "0"
        };
        defaultParams[_$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isAndroid() ? "isAndroid" : "isXcode"] = 1;

        if (TAUID) {
          defaultParams.TAUID = TAUID;
        }

        return defaultParams;
      }
    }, {
      key: "getHomeTabUrl",
      value: function getHomeTabUrl() {
        var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        return this.getTabUrl(tabs.home, params);
      }
    }, {
      key: "getLoginTabUrl",
      value: function getLoginTabUrl() {
        var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        return this.getTabUrl(tabs.account, params);
      }
    }, {
      key: "getHelpTabUrl",
      value: function getHelpTabUrl() {
        var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        return this.getTabUrl(tabs.help, params);
      }
    }, {
      key: "getSettingsTabUrl",
      value: function getSettingsTabUrl() {
        var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        return this.getTabUrl(tabs.settings, params);
      }
    }, {
      key: "isSamePage",
      value: function isSamePage(urlA, urlB) {
        var ignoreParams = ["r", "edition"];

        var newUrlA = _$$_REQUIRE(_dependencyMap[7]).StringUtils.removeParams(urlA, ignoreParams);

        var newUrlB = _$$_REQUIRE(_dependencyMap[7]).StringUtils.removeParams(urlB, ignoreParams);

        return newUrlA === newUrlB;
      }
    }, {
      key: "optionPageVersion",
      value: function optionPageVersion() {
        var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : global.getMainPSetup();
        var optionspageConfig = config.optionspageConfig;

        if (optionspageConfig && optionspageConfig.baseURL) {
          var regExp = /(?:opt|optionspage)\.[a-zA-Z0-9]+\.[a-zA-Z0-9.]+/;
          var result = regExp.exec(optionspageConfig.baseURL);

          if (result) {
            return result[0];
          }
        }

        return "n/a";
      }
    }, {
      key: "getIAPErrorMessage",
      value: function getIAPErrorMessage(error) {
        var _OptionalPackages$get = _optionalPackageUtils.default.getIapModule(),
            IAPErrorCode = _OptionalPackages$get.IAPErrorCode;

        var message = IAPErrorMessages.unknown;

        if (error && IAPErrorCode) {
          switch (error.code) {
            case IAPErrorCode.E_IAP_NOT_AVAILABLE:
              message = IAPErrorMessages.iap_not_available;
              break;

            case IAPErrorCode.E_USER_CANCELLED:
              message = IAPErrorMessages.cancelled;
              break;

            case IAPErrorCode.E_USER_ERROR:
              message = IAPErrorMessages.user_error;
              break;

            case IAPErrorCode.E_ITEM_UNAVAILABLE:
              message = IAPErrorMessages.item_unavailable;
              break;

            case IAPErrorCode.E_REMOTE_ERROR:
              message = IAPErrorMessages.remote_error;
              break;

            case IAPErrorCode.E_NETWORK_ERROR:
              message = IAPErrorMessages.network_error;
              break;

            case IAPErrorCode.E_SERVICE_ERROR:
              message = IAPErrorMessages.service_error;
              break;

            case IAPErrorCode.E_RECEIPT_FAILED:
              message = IAPErrorMessages.receipt_failed;
              break;

            case IAPErrorCode.E_RECEIPT_FINISHED_FAILED:
              message = IAPErrorMessages.receipt_finished_failed;
              break;

            case IAPErrorCode.E_NOT_PREPARED:
              message = IAPErrorMessages.not_prepared;
              break;

            case IAPErrorCode.E_NOT_ENDED:
              message = IAPErrorMessages.not_ended;
              break;

            case IAPErrorCode.E_ALREADY_OWNED:
              message = IAPErrorMessages.already_owned;
              break;

            case IAPErrorCode.E_DEVELOPER_ERROR:
              message = IAPErrorMessages.developer_error;
              break;

            case IAPErrorCode.E_BILLING_RESPONSE_JSON_PARSE_ERROR:
              message = IAPErrorMessages.billing_response_json_parse_error;
              break;

            case IAPErrorCode.E_ACTIVE_SUBSCRIPTION:
              message = IAPErrorMessages.already_active_subscription;
              break;
          }

          if (error.message && error.code !== IAPErrorCode.E_USER_CANCELLED) {
            message = error.message;
          }
        }

        return message;
      }
    }, {
      key: "getTabByURL",
      value: function getTabByURL(url) {
        var _StringUtils$segmentU3 = _$$_REQUIRE(_dependencyMap[7]).StringUtils.segmentUrl(url),
            path = _StringUtils$segmentU3.path,
            getParams = _StringUtils$segmentU3.getParams;

        var scriptName = _$$_REQUIRE(_dependencyMap[7]).StringUtils.fileNameFromPath(path);

        var tab = getParams.tab;

        switch (scriptName) {
          case "initpage.php":
            tab = tabs.home;
            break;

          case "ipad_login.php":
            tab = tabs.login;
            break;

          case "ipad_access.php":
            tab = tabs.access;
            break;

          case "ipad_subscribe.php":
            tab = tabs.subscribe;
            break;

          case "ipad_registration.php":
            tab = tabs.registration;
            break;

          case "ipad_help.php":
            tab = tabs.help;
            break;

          case "ipad_uberabos.php":
            tab = tabs.uberabos;
            break;

          case "ipad_contact.php":
            tab = tabs.contact;
            break;

          case "ipad_impressum.php":
            tab = tabs.impressum;
            break;

          case "ipad_notify.php":
            tab = tabs.eenotify;
            break;

          case "ipad_archive.php":
            tab = tabs.archive;
            break;

          case "ipad_ss.php":
            tab = tabs.specialsections;
            break;

          case "ipad_puzzle.php":
            tab = tabs.puzzle;
            break;

          case "ipad_purchases.php":
            tab = tabs.purchases;
            break;

          case "ipad_updates.php":
            tab = tabs.updates;
            break;

          case "ipad_market.php":
            tab = tabs.market;
            break;

          case "ipad_version.php":
            tab = tabs.version;
            break;

          case "ipad_connection.php":
            tab = tabs.settings;
            break;
        }

        return tab;
      }
    }, {
      key: "getOptionspageGetParams",
      value: function getOptionspageGetParams() {
        var errorParams = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var getParams = {};

        try {
          var extraParams = errorParams.extraParams,
              editionEncoded = errorParams.edition,
              rest = (0, _objectWithoutProperties2.default)(errorParams, ["extraParams", "edition"]);
          getParams = (0, _extends2.default)({}, rest, _$$_REQUIRE(_dependencyMap[7]).StringUtils.parseQuerystring(extraParams));

          if (editionEncoded) {
            getParams.edition = _$$_REQUIRE(_dependencyMap[7]).StringUtils.decodeURIComponent(editionEncoded);
          }
        } catch (e) {}

        return getParams;
      }
    }]);
    return OptionspageUtils;
  }();

  exports.default = OptionspageUtils;
},730,[5,108,6,7,8,458,731,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var NativeOptionsPage = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var IOSNewsmemorySDK = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var Dfp = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var RNIap = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var RNHTMLtoPDF = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var IubendaCMP = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Comscore;
  var Matomo;
  var MatomoTracker;
  var AdobeAnalytics;
  var MatherAnalytics;
  var FacebookAnalytics;
  var GoogleAnalytics3;
  var FirebaseAnalytics;
  var FirebaseCrashlytics;
  var IOSClassicEPaper;
  var IOSExternalLinkAccount;
  var IOSTrackingTransparency;
  var PushNotificationIOS;
  var PushNotification;
  var Push;
  var OneSignal;
  var Prebid;
  var Nativo;
  var AdMob;
  var Baronweather;
  var ViafouraWebView;
  var DailyMotionPlayer;
  var Voice;
  var Maps;
  var ScreenshotPrevent;

  var OptionalPackages = function () {
    function OptionalPackages() {
      (0, _classCallCheck2.default)(this, OptionalPackages);
    }

    (0, _createClass2.default)(OptionalPackages, null, [{
      key: "getTrackingTransparency",
      value: function getTrackingTransparency() {
        return OptionalPackages.isTrackingTransparencyAvailable() ? {
          getTrackingStatus: IOSTrackingTransparency.getTrackingStatus,
          requestTrackingPermission: IOSTrackingTransparency.requestTrackingPermission
        } : {};
      }
    }, {
      key: "getAdMob",
      value: function getAdMob() {
        return OptionalPackages.isAdMobAvailable() ? {
          BannerAd: AdMob.BannerAd,
          BannerAdSize: AdMob.BannerAdSize,
          InterstitialAd: AdMob.InterstitialAd,
          AdEventType: AdMob.AdEventType,
          TestIds: AdMob.TestIds,
          RewardedAd: AdMob.RewardedAd,
          RewardedAdEventType: AdMob.RewardedAdEventType
        } : {};
      }
    }, {
      key: "getDFP",
      value: function getDFP() {
        return OptionalPackages.isDFPAvailable() ? {
          DFPBanner: Dfp.Banner,
          Interstitial: Dfp.Interstitial
        } : {};
      }
    }, {
      key: "getBaronWeather",
      value: function getBaronWeather() {
        return OptionalPackages.isBaronAvailable() ? Baronweather.default : null;
      }
    }, {
      key: "getNativoAds",
      value: function getNativoAds() {
        return OptionalPackages.isNativoSDKAvailable() ? {
          NativoSDK: Nativo.NativoSDK,
          NativoWebContent: Nativo.NativoWebContent,
          NativoAd: Nativo.NativoAd,
          NativoVideo: Nativo.NativoVideo
        } : {};
      }
    }, {
      key: "getPrebid",
      value: function getPrebid() {
        return OptionalPackages.isPrebidAvailable() ? {
          PrebidBanner: Prebid.PrebidBanner,
          PrebidInterstitial: Prebid.PrebidInterstitial
        } : {};
      }
    }, {
      key: "getOneSignal",
      value: function getOneSignal() {
        return OptionalPackages.isOneSignalAvailable() ? OneSignal.default : null;
      }
    }, {
      key: "getRNHtmlToPdf",
      value: function getRNHtmlToPdf() {
        return OptionalPackages.isRNHtmlToPdfAvailable() ? RNHTMLtoPDF.default : null;
      }
    }, {
      key: "getMatherAnalytics",
      value: function getMatherAnalytics() {
        return OptionalPackages.isMatherAnalyticsAvailable() ? {
          MatherAnalytics: MatherAnalytics.MatherAnalytics
        } : {};
      }
    }, {
      key: "getComscore",
      value: function getComscore() {
        return OptionalPackages.isComScoreAvailable() ? Comscore.default : null;
      }
    }, {
      key: "getAdobeAnalytics",
      value: function getAdobeAnalytics() {
        return OptionalPackages.isAdobeAnalyticsAvailable() ? {
          Analytics: AdobeAnalytics.Analytics,
          ADBMobileConfig: AdobeAnalytics.Config
        } : {};
      }
    }, {
      key: "getFacebookSDK",
      value: function getFacebookSDK() {
        return OptionalPackages.isFacebookSDKAvailable() ? {
          Settings: FacebookAnalytics.Settings,
          AppEventsLogger: FacebookAnalytics.AppEventsLogger
        } : {};
      }
    }, {
      key: "getVoice",
      value: function getVoice() {
        return OptionalPackages.isVoiceAvailable() ? {
          Voice: Voice.default
        } : {};
      }
    }, {
      key: "getPushLibraries",
      value: function getPushLibraries() {
        return OptionalPackages.isPushAvailable() ? {
          CloudMessaging: Push.FirebaseCloudMessaging,
          AmazonDeviceMessaging: Push.AmazonDeviceMessaging,
          HcmDeviceMessaging: Push.HcmDeviceMessaging,
          PushNotification: PushNotification.default,
          PushNotificationIOS: PushNotificationIOS.default
        } : {};
      }
    }, {
      key: "getMatomo",
      value: function getMatomo() {
        return OptionalPackages.isMatomoAvailable() ? Matomo : {};
      }
    }, {
      key: "getMatomoTracker",
      value: function getMatomoTracker() {
        return OptionalPackages.isMatomoTrackerAvailable() ? MatomoTracker.default : {};
      }
    }, {
      key: "getGoogleAnalytics3Tracker",
      value: function getGoogleAnalytics3Tracker() {
        return OptionalPackages.isGoogleAnalytics3Available() ? GoogleAnalytics3.GoogleAnalyticsTracker : {};
      }
    }, {
      key: "getIapModule",
      value: function getIapModule() {
        return OptionalPackages.isIapModuleAvailable() ? {
          initConnection: RNIap.initConnection,
          endConnection: RNIap.endConnection,
          PurchaseError: RNIap.PurchaseError,
          ProductPurchase: RNIap.ProductPurchase,
          IAPErrorCode: RNIap.ErrorCode,
          getProducts: RNIap.getProducts,
          getSubscriptions: RNIap.getSubscriptions,
          getPurchaseHistory: RNIap.getPurchaseHistory,
          flushFailedPurchasesCachedAsPendingAndroid: RNIap.flushFailedPurchasesCachedAsPendingAndroid,
          purchaseErrorListener: RNIap.purchaseErrorListener,
          purchaseUpdatedListener: RNIap.purchaseUpdatedListener,
          finishTransaction: RNIap.finishTransaction,
          requestPurchase: RNIap.requestPurchase,
          requestSubscription: RNIap.requestSubscription,
          getAvailablePurchases: RNIap.getAvailablePurchases,
          validateReceiptIos: RNIap.validateReceiptIos,
          validateReceiptAmazon: RNIap.validateReceiptAmazon
        } : {};
      }
    }, {
      key: "getNativeOptionsPage",
      value: function getNativeOptionsPage() {
        return OptionalPackages.isNativeOptionsPageAvailable() ? {
          OptionsPage: NativeOptionsPage.default,
          Methods: NativeOptionsPage.Methods,
          Models: NativeOptionsPage.Models
        } : {};
      }
    }, {
      key: "getCrashlytics",
      value: function getCrashlytics() {
        return OptionalPackages.isCrashlyticsAvailable() ? FirebaseCrashlytics.default : undefined;
      }
    }, {
      key: "getMaps",
      value: function getMaps() {
        return OptionalPackages.isMapsAvailable() ? {
          Callout: Maps.Callout,
          Marker: Maps.Marker,
          MapView: Maps.default
        } : undefined;
      }
    }, {
      key: "getIOSClassicEPaper",
      value: function getIOSClassicEPaper() {
        return OptionalPackages.isIOSClassicEPaperAvailable() ? IOSClassicEPaper.default : null;
      }
    }, {
      key: "getIOSExternalLinkAccountAPI",
      value: function getIOSExternalLinkAccountAPI() {
        return OptionalPackages.isIOSExternalLinkAccountAPIAvailable() ? IOSExternalLinkAccount.default : null;
      }
    }, {
      key: "getIOSNewsmemorySDK",
      value: function getIOSNewsmemorySDK() {
        return OptionalPackages.isIOSNewsmemorySDKAvailable() ? IOSNewsmemorySDK.default : null;
      }
    }, {
      key: "getViafouraWebView",
      value: function getViafouraWebView() {
        return OptionalPackages.isViafouraAvailable() ? ViafouraWebView.default : null;
      }
    }, {
      key: "getDailymotionVideoPlayer",
      value: function getDailymotionVideoPlayer() {
        return OptionalPackages.isDailymotionVideoPlayerAvailable() ? {
          Player: DailyMotionPlayer.default,
          setConsentString: DailyMotionPlayer.setConsentString
        } : {};
      }
    }, {
      key: "getIubenda",
      value: function getIubenda() {
        return OptionalPackages.isIubendaCMPAvailable() ? {
          Iubenda: IubendaCMP.default,
          Container: IubendaCMP.Container
        } : {};
      }
    }, {
      key: "getScreenshotPrevent",
      value: function getScreenshotPrevent() {
        return OptionalPackages.isScreenshotPreventAvailable() ? {
          RNScreenshotPrevent: ScreenshotPrevent.default,
          addListener: ScreenshotPrevent.addListener
        } : {};
      }
    }, {
      key: "getFirebaseAnalytics",
      value: function getFirebaseAnalytics() {
        return OptionalPackages.isFirebaseAnalyticsAvailable() ? FirebaseAnalytics.default : undefined;
      }
    }, {
      key: "isCrashlyticsAvailable",
      value: function isCrashlyticsAvailable() {
        return OptionalPackages.isModuleAvailable(FirebaseCrashlytics, "@react-native-firebase/crashlytics");
      }
    }, {
      key: "isFirebaseAnalyticsAvailable",
      value: function isFirebaseAnalyticsAvailable() {
        return OptionalPackages.isModuleAvailable(FirebaseAnalytics, "@tecnavia/react-native-firebase-analytics");
      }
    }, {
      key: "isTrackingTransparencyAvailable",
      value: function isTrackingTransparencyAvailable() {
        return OptionalPackages.isModuleAvailable(IOSTrackingTransparency, "react-native-tracking-transparency");
      }
    }, {
      key: "isAdMobAvailable",
      value: function isAdMobAvailable() {
        return OptionalPackages.isModuleAvailable(AdMob, "@tecnavia/react-native-admob");
      }
    }, {
      key: "isDFPAvailable",
      value: function isDFPAvailable() {
        return OptionalPackages.isModuleAvailable(Dfp, "@tecnavia/react-native-dfp");
      }
    }, {
      key: "isBaronAvailable",
      value: function isBaronAvailable() {
        return OptionalPackages.isModuleAvailable(Baronweather, "react-native-baronweather");
      }
    }, {
      key: "isPrebidAvailable",
      value: function isPrebidAvailable() {
        return OptionalPackages.isModuleAvailable(Prebid, "react-native-prebid");
      }
    }, {
      key: "isNativoSDKAvailable",
      value: function isNativoSDKAvailable() {
        return OptionalPackages.isModuleAvailable(Nativo, "react-native-nativo-ads");
      }
    }, {
      key: "isOneSignalAvailable",
      value: function isOneSignalAvailable() {
        return OptionalPackages.isModuleAvailable(OneSignal, "react-native-onesignal");
      }
    }, {
      key: "isRNHtmlToPdfAvailable",
      value: function isRNHtmlToPdfAvailable() {
        return OptionalPackages.isModuleAvailable(RNHTMLtoPDF, "react-native-html-to-pdf");
      }
    }, {
      key: "isComScoreAvailable",
      value: function isComScoreAvailable() {
        return OptionalPackages.isModuleAvailable(Comscore, "react-native-comscore");
      }
    }, {
      key: "isAdobeAnalyticsAvailable",
      value: function isAdobeAnalyticsAvailable() {
        return OptionalPackages.isModuleAvailable(AdobeAnalytics, "react-native-adbmobile");
      }
    }, {
      key: "isMatherAnalyticsAvailable",
      value: function isMatherAnalyticsAvailable() {
        return OptionalPackages.isModuleAvailable(MatherAnalytics, "react-native-mather-analytics");
      }
    }, {
      key: "isFacebookSDKAvailable",
      value: function isFacebookSDKAvailable() {
        return OptionalPackages.isModuleAvailable(FacebookAnalytics, "react-native-fbsdk-next");
      }
    }, {
      key: "isVoiceAvailable",
      value: function isVoiceAvailable() {
        return OptionalPackages.isModuleAvailable(Voice, "react-native-voice");
      }
    }, {
      key: "isPushAvailable",
      value: function isPushAvailable() {
        return OptionalPackages.isModuleAvailable(Push, "@tecnavia/react-native-cloud-messaging");
      }
    }, {
      key: "isMatomoAvailable",
      value: function isMatomoAvailable() {
        return OptionalPackages.isModuleAvailable(Matomo, "react-native-matomo");
      }
    }, {
      key: "isMatomoTrackerAvailable",
      value: function isMatomoTrackerAvailable() {
        return OptionalPackages.isModuleAvailable(MatomoTracker, "matomo-tracker-react-native");
      }
    }, {
      key: "isGoogleAnalytics3Available",
      value: function isGoogleAnalytics3Available() {
        return OptionalPackages.isModuleAvailable(GoogleAnalytics3, "react-native-google-analytics-bridge");
      }
    }, {
      key: "isIapModuleAvailable",
      value: function isIapModuleAvailable() {
        return OptionalPackages.isModuleAvailable(RNIap, "react-native-iap");
      }
    }, {
      key: "isMapsAvailable",
      value: function isMapsAvailable() {
        return OptionalPackages.isModuleAvailable(Maps, "react-native-maps");
      }
    }, {
      key: "isNativeOptionsPageAvailable",
      value: function isNativeOptionsPageAvailable() {
        return OptionalPackages.isModuleAvailable(NativeOptionsPage, "rn-options-page");
      }
    }, {
      key: "isIOSClassicEPaperAvailable",
      value: function isIOSClassicEPaperAvailable() {
        return _$$_REQUIRE(_dependencyMap[9]).PlatformUtils.isIOS() && OptionalPackages.isModuleAvailable(IOSClassicEPaper, "@tecnavia/react-native-ios-classic-epaper");
      }
    }, {
      key: "isIOSExternalLinkAccountAPIAvailable",
      value: function isIOSExternalLinkAccountAPIAvailable() {
        return _$$_REQUIRE(_dependencyMap[9]).PlatformUtils.isIOS() && OptionalPackages.isModuleAvailable(IOSExternalLinkAccount, "@tecnavia/react-native-external-link-account");
      }
    }, {
      key: "isIOSNewsmemorySDKAvailable",
      value: function isIOSNewsmemorySDKAvailable() {
        return _$$_REQUIRE(_dependencyMap[9]).PlatformUtils.isIOS() && OptionalPackages.isModuleAvailable(IOSNewsmemorySDK, "@tecnavia/react-native-newsmemory-pod");
      }
    }, {
      key: "isViafouraAvailable",
      value: function isViafouraAvailable() {
        return OptionalPackages.isModuleAvailable(ViafouraWebView, "react-native-viafoura");
      }
    }, {
      key: "isDailymotionVideoPlayerAvailable",
      value: function isDailymotionVideoPlayerAvailable() {
        return OptionalPackages.isModuleAvailable(DailyMotionPlayer, "@tecnavia/react-native-dailymotion-sdk");
      }
    }, {
      key: "isIubendaCMPAvailable",
      value: function isIubendaCMPAvailable() {
        return OptionalPackages.isModuleAvailable(IubendaCMP, "@tecnavia/react-native-iubenda-web");
      }
    }, {
      key: "isScreenshotPreventAvailable",
      value: function isScreenshotPreventAvailable() {
        return OptionalPackages.isModuleAvailable(ScreenshotPrevent, "@tecnavia/react-native-screenshot-prevent");
      }
    }, {
      key: "isModuleAvailable",
      value: function isModuleAvailable(moduleVariable, moduleName) {
        try {
          if (moduleVariable) {
            return true;
          }
        } catch (e) {}

        return false;
      }
    }]);
    return OptionalPackages;
  }();

  exports.default = OptionalPackages;
},731,[5,7,8,732,1689,1690,1693,1712,1713,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.Models = exports.Methods = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  _$$_REQUIRE(_dependencyMap[3]);

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  var _Container = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var Methods = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  exports.Methods = Methods;

  var Models = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  exports.Models = Models;

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _uri = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _message = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _excluded = ["onLocal", "onMessage", "onClose", "externalLinkCallbacks", "actionCallbacks", "needsCssProvider"];

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  function Root(props) {
    var onLocal = props.onLocal,
        onMessage = props.onMessage,
        onClose = props.onClose,
        externalLinkCallbacks = props.externalLinkCallbacks,
        actionCallbacks = props.actionCallbacks,
        needsCssProvider = props.needsCssProvider,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);
    (0, _react.useEffect)(function () {
      var onCloseId = _$$_REQUIRE(_dependencyMap[13]).EventRegister.on(_events.default.ON_CLOSE, function () {
        if (typeof onClose === "function") {
          onClose();
        }
      });

      var onLocalId = _$$_REQUIRE(_dependencyMap[13]).EventRegister.on(_events.default.WEBVIEW_ON_LOCAL, function (uri) {
        if (typeof onLocal === "function") {
          onLocal(uri);
        }
      });

      var onMessageId = _$$_REQUIRE(_dependencyMap[13]).EventRegister.on(_events.default.WEBVIEW_ON_MESSAGE, function (message) {
        if (typeof onMessage === "function") {
          onMessage(message);
        }
      });

      var onExternalLinkClickId = _$$_REQUIRE(_dependencyMap[13]).EventRegister.on(_events.default.ON_EXTERNAL_LINK_CLICK, function (_ref) {
        var url = _ref.url;

        if (externalLinkCallbacks && typeof externalLinkCallbacks.onClick === "function") {
          externalLinkCallbacks.onClick(url);
        } else {
          _reactNative.Linking.openURL(url);
        }
      });

      var onActionClickId = _$$_REQUIRE(_dependencyMap[13]).EventRegister.on(_events.default.ON_ACTION_CLICK, function (_ref2) {
        var action = _ref2.action;

        if (actionCallbacks && typeof actionCallbacks.onClick === "function") {
          actionCallbacks.onClick(action);
        }
      });

      return function () {
        _$$_REQUIRE(_dependencyMap[13]).EventRegister.rm(onLocalId);

        _$$_REQUIRE(_dependencyMap[13]).EventRegister.rm(onMessageId);

        _$$_REQUIRE(_dependencyMap[13]).EventRegister.rm(onExternalLinkClickId);

        _$$_REQUIRE(_dependencyMap[13]).EventRegister.rm(onCloseId);

        _$$_REQUIRE(_dependencyMap[13]).EventRegister.rm(onActionClickId);
      };
    }, []);

    var Component = _react.default.createElement(_Container.default, rest);

    if (needsCssProvider) {
      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Provider, null, Component);
    }

    return Component;
  }

  Root.propTypes = (0, _extends2.default)({
    onClose: _propTypes.default.func.isRequired,
    onLocal: _propTypes.default.func,
    onMessage: _propTypes.default.func,
    externalLinkCallbacks: _propTypes.default.shape({
      onClick: _propTypes.default.func
    }),
    actionCallbacks: _propTypes.default.shape({
      onClick: _propTypes.default.func
    }),
    needsCssProvider: _propTypes.default.bool
  }, _Container.default.propTypes);
  Root.defaultProps = {
    needsCssProvider: true
  };
  var _default = Root;
  exports.default = _default;
},732,[5,6,108,733,17,201,28,754,1687,1688,771,763,1231,991,987]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  _$$_REQUIRE(_dependencyMap[0]);
},733,[734]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  (0, _$$_REQUIRE(_dependencyMap[0]).setupURLPolyfill)();
},734,[735]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  var _exportNames = {
    setupURLPolyfill: true
  };
  exports.setupURLPolyfill = setupURLPolyfill;

  _$$_REQUIRE(_dependencyMap[0]);

  Object.keys(_$$_REQUIRE(_dependencyMap[1])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[1])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[1])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[2])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[2])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[2])[key];
      }
    });
  });

  function setupURLPolyfill() {
    global.REACT_NATIVE_URL_POLYFILL = _$$_REQUIRE(_dependencyMap[3]).name + "@" + _$$_REQUIRE(_dependencyMap[3]).version;
    (0, _$$_REQUIRE(_dependencyMap[4]).polyfillGlobal)('URL', function () {
      return _$$_REQUIRE(_dependencyMap[1]).URL;
    });
    (0, _$$_REQUIRE(_dependencyMap[4]).polyfillGlobal)('URLSearchParams', function () {
      return _$$_REQUIRE(_dependencyMap[2]).URLSearchParams;
    });
  }
},735,[736,737,752,753,72]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var majorVersionIOS = parseInt(_reactNative.Platform.Version, 10);

  if (_reactNative.Platform.OS === 'ios' && majorVersionIOS === 10) {
    if (Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, 'byteLength') == null) {
      Object.defineProperty(ArrayBuffer.prototype, 'byteLength', {
        configurable: true,
        enumerable: false,
        get: function get() {
          return null;
        }
      });
    }
  }
},736,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.URL = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var BLOB_URL_PREFIX = null;
  var BlobModule = _reactNative.NativeModules.BlobModule;

  if (BlobModule && typeof BlobModule.BLOB_URI_SCHEME === 'string') {
    BLOB_URL_PREFIX = BlobModule.BLOB_URI_SCHEME + ':';

    if (typeof BlobModule.BLOB_URI_HOST === 'string') {
      BLOB_URL_PREFIX += "//" + BlobModule.BLOB_URI_HOST + "/";
    }
  }

  _$$_REQUIRE(_dependencyMap[1]).URL.createObjectURL = function createObjectURL(blob) {
    if (BLOB_URL_PREFIX === null) {
      throw new Error('Cannot create URL for blob!');
    }

    return "" + BLOB_URL_PREFIX + blob.data.blobId + "?offset=" + blob.data.offset + "&size=" + blob.size;
  };

  _$$_REQUIRE(_dependencyMap[1]).URL.revokeObjectURL = function revokeObjectURL(url) {};

  exports.URL = _$$_REQUIRE(_dependencyMap[1]).URL;
},737,[28,738]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var sharedGlobalObject = {};

  _$$_REQUIRE(_dependencyMap[0]).URL.install(sharedGlobalObject);

  _$$_REQUIRE(_dependencyMap[0]).URLSearchParams.install(sharedGlobalObject);

  exports.URL = sharedGlobalObject.URL;
  exports.URLSearchParams = sharedGlobalObject.URLSearchParams;
  exports.parseURL = _$$_REQUIRE(_dependencyMap[1]).parseURL;
  exports.basicURLParse = _$$_REQUIRE(_dependencyMap[1]).basicURLParse;
  exports.serializeURL = _$$_REQUIRE(_dependencyMap[1]).serializeURL;
  exports.serializeHost = _$$_REQUIRE(_dependencyMap[1]).serializeHost;
  exports.serializeInteger = _$$_REQUIRE(_dependencyMap[1]).serializeInteger;
  exports.serializeURLOrigin = _$$_REQUIRE(_dependencyMap[1]).serializeURLOrigin;
  exports.setTheUsername = _$$_REQUIRE(_dependencyMap[1]).setTheUsername;
  exports.setThePassword = _$$_REQUIRE(_dependencyMap[1]).setThePassword;
  exports.cannotHaveAUsernamePasswordPort = _$$_REQUIRE(_dependencyMap[1]).cannotHaveAUsernamePasswordPort;
  exports.percentDecode = _$$_REQUIRE(_dependencyMap[2]).percentDecode;
},738,[739,743,748]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  exports.URL = _$$_REQUIRE(_dependencyMap[0]);
  exports.URLSearchParams = _$$_REQUIRE(_dependencyMap[1]);
},739,[740,749]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

  var iface = {
    _mixedIntoPredicates: [],
    is: function is(obj) {
      if (obj) {
        if (_$$_REQUIRE(_dependencyMap[0]).hasOwn(obj, _$$_REQUIRE(_dependencyMap[0]).implSymbol) && obj[_$$_REQUIRE(_dependencyMap[0]).implSymbol] instanceof _$$_REQUIRE(_dependencyMap[1]).implementation) {
          return true;
        }

        for (var _iterator = _createForOfIteratorHelperLoose(module.exports._mixedIntoPredicates), _step; !(_step = _iterator()).done;) {
          var isMixedInto = _step.value;

          if (isMixedInto(obj)) {
            return true;
          }
        }
      }

      return false;
    },
    isImpl: function isImpl(obj) {
      if (obj) {
        if (obj instanceof _$$_REQUIRE(_dependencyMap[1]).implementation) {
          return true;
        }

        var wrapper = _$$_REQUIRE(_dependencyMap[0]).wrapperForImpl(obj);

        for (var _iterator2 = _createForOfIteratorHelperLoose(module.exports._mixedIntoPredicates), _step2; !(_step2 = _iterator2()).done;) {
          var isMixedInto = _step2.value;

          if (isMixedInto(wrapper)) {
            return true;
          }
        }
      }

      return false;
    },
    convert: function convert(obj) {
      var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
          _ref$context = _ref.context,
          context = _ref$context === undefined ? "The provided value" : _ref$context;

      if (module.exports.is(obj)) {
        return _$$_REQUIRE(_dependencyMap[0]).implForWrapper(obj);
      }

      throw new TypeError(context + " is not of type 'URL'.");
    },
    create: function create(globalObject, constructorArgs, privateData) {
      if (globalObject[_$$_REQUIRE(_dependencyMap[0]).ctorRegistrySymbol] === undefined) {
        throw new Error("Internal error: invalid global object");
      }

      var ctor = globalObject[_$$_REQUIRE(_dependencyMap[0]).ctorRegistrySymbol]["URL"];

      if (ctor === undefined) {
        throw new Error("Internal error: constructor URL is not installed on the passed global object");
      }

      var obj = Object.create(ctor.prototype);
      obj = iface.setup(obj, globalObject, constructorArgs, privateData);
      return obj;
    },
    createImpl: function createImpl(globalObject, constructorArgs, privateData) {
      var obj = iface.create(globalObject, constructorArgs, privateData);
      return _$$_REQUIRE(_dependencyMap[0]).implForWrapper(obj);
    },
    _internalSetup: function _internalSetup(obj) {},
    setup: function setup(obj, globalObject) {
      var constructorArgs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
      var privateData = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
      privateData.wrapper = obj;

      iface._internalSetup(obj);

      Object.defineProperty(obj, _$$_REQUIRE(_dependencyMap[0]).implSymbol, {
        value: new (_$$_REQUIRE(_dependencyMap[1]).implementation)(globalObject, constructorArgs, privateData),
        configurable: true
      });
      obj[_$$_REQUIRE(_dependencyMap[0]).implSymbol][_$$_REQUIRE(_dependencyMap[0]).wrapperSymbol] = obj;

      if (_$$_REQUIRE(_dependencyMap[1]).init) {
        _$$_REQUIRE(_dependencyMap[1]).init(obj[_$$_REQUIRE(_dependencyMap[0]).implSymbol], privateData);
      }

      return obj;
    },
    install: function install(globalObject) {
      var URL = function () {
        function URL(url) {
          _$$_REQUIRE(_dependencyMap[2])(this, URL);

          if (arguments.length < 1) {
            throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present.");
          }

          var args = [];
          {
            var curArg = arguments[0];
            curArg = _$$_REQUIRE(_dependencyMap[3])["USVString"](curArg, {
              context: "Failed to construct 'URL': parameter 1"
            });
            args.push(curArg);
          }
          {
            var _curArg = arguments[1];

            if (_curArg !== undefined) {
              _curArg = _$$_REQUIRE(_dependencyMap[3])["USVString"](_curArg, {
                context: "Failed to construct 'URL': parameter 2"
              });
            }

            args.push(_curArg);
          }
          return iface.setup(Object.create(this.constructor.prototype), globalObject, args);
        }

        _$$_REQUIRE(_dependencyMap[4])(URL, [{
          key: "toJSON",
          value: function toJSON() {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            return this[_$$_REQUIRE(_dependencyMap[0]).implSymbol].toJSON();
          }
        }, {
          key: "href",
          get: function get() {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            return this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["href"];
          },
          set: function set(V) {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            V = _$$_REQUIRE(_dependencyMap[3])["USVString"](V, {
              context: "Failed to set the 'href' property on 'URL': The provided value"
            });
            this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["href"] = V;
          }
        }, {
          key: "toString",
          value: function toString() {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            return this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["href"];
          }
        }, {
          key: "origin",
          get: function get() {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            return this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["origin"];
          }
        }, {
          key: "protocol",
          get: function get() {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            return this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["protocol"];
          },
          set: function set(V) {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            V = _$$_REQUIRE(_dependencyMap[3])["USVString"](V, {
              context: "Failed to set the 'protocol' property on 'URL': The provided value"
            });
            this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["protocol"] = V;
          }
        }, {
          key: "username",
          get: function get() {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            return this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["username"];
          },
          set: function set(V) {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            V = _$$_REQUIRE(_dependencyMap[3])["USVString"](V, {
              context: "Failed to set the 'username' property on 'URL': The provided value"
            });
            this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["username"] = V;
          }
        }, {
          key: "password",
          get: function get() {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            return this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["password"];
          },
          set: function set(V) {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            V = _$$_REQUIRE(_dependencyMap[3])["USVString"](V, {
              context: "Failed to set the 'password' property on 'URL': The provided value"
            });
            this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["password"] = V;
          }
        }, {
          key: "host",
          get: function get() {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            return this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["host"];
          },
          set: function set(V) {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            V = _$$_REQUIRE(_dependencyMap[3])["USVString"](V, {
              context: "Failed to set the 'host' property on 'URL': The provided value"
            });
            this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["host"] = V;
          }
        }, {
          key: "hostname",
          get: function get() {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            return this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["hostname"];
          },
          set: function set(V) {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            V = _$$_REQUIRE(_dependencyMap[3])["USVString"](V, {
              context: "Failed to set the 'hostname' property on 'URL': The provided value"
            });
            this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["hostname"] = V;
          }
        }, {
          key: "port",
          get: function get() {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            return this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["port"];
          },
          set: function set(V) {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            V = _$$_REQUIRE(_dependencyMap[3])["USVString"](V, {
              context: "Failed to set the 'port' property on 'URL': The provided value"
            });
            this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["port"] = V;
          }
        }, {
          key: "pathname",
          get: function get() {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            return this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["pathname"];
          },
          set: function set(V) {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            V = _$$_REQUIRE(_dependencyMap[3])["USVString"](V, {
              context: "Failed to set the 'pathname' property on 'URL': The provided value"
            });
            this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["pathname"] = V;
          }
        }, {
          key: "search",
          get: function get() {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            return this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["search"];
          },
          set: function set(V) {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            V = _$$_REQUIRE(_dependencyMap[3])["USVString"](V, {
              context: "Failed to set the 'search' property on 'URL': The provided value"
            });
            this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["search"] = V;
          }
        }, {
          key: "searchParams",
          get: function get() {
            var _this = this;

            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            return _$$_REQUIRE(_dependencyMap[0]).getSameObject(this, "searchParams", function () {
              return _$$_REQUIRE(_dependencyMap[0]).tryWrapperForImpl(_this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["searchParams"]);
            });
          }
        }, {
          key: "hash",
          get: function get() {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            return this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["hash"];
          },
          set: function set(V) {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            V = _$$_REQUIRE(_dependencyMap[3])["USVString"](V, {
              context: "Failed to set the 'hash' property on 'URL': The provided value"
            });
            this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]["hash"] = V;
          }
        }]);

        return URL;
      }();

      Object.defineProperties(URL.prototype, _$$_REQUIRE(_dependencyMap[5])({
        toJSON: {
          enumerable: true
        },
        href: {
          enumerable: true
        },
        toString: {
          enumerable: true
        },
        origin: {
          enumerable: true
        },
        protocol: {
          enumerable: true
        },
        username: {
          enumerable: true
        },
        password: {
          enumerable: true
        },
        host: {
          enumerable: true
        },
        hostname: {
          enumerable: true
        },
        port: {
          enumerable: true
        },
        pathname: {
          enumerable: true
        },
        search: {
          enumerable: true
        },
        searchParams: {
          enumerable: true
        },
        hash: {
          enumerable: true
        }
      }, Symbol.toStringTag, {
        value: "URL",
        configurable: true
      }));

      if (globalObject[_$$_REQUIRE(_dependencyMap[0]).ctorRegistrySymbol] === undefined) {
        globalObject[_$$_REQUIRE(_dependencyMap[0]).ctorRegistrySymbol] = Object.create(null);
      }

      globalObject[_$$_REQUIRE(_dependencyMap[0]).ctorRegistrySymbol]["URL"] = URL;
      Object.defineProperty(globalObject, "URL", {
        configurable: true,
        writable: true,
        value: URL
      });
    }
  };
  module.exports = iface;
},740,[741,742,7,751,8,27]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  function isObject(value) {
    return typeof value === "object" && value !== null || typeof value === "function";
  }

  function hasOwn(obj, prop) {
    return Object.prototype.hasOwnProperty.call(obj, prop);
  }

  var wrapperSymbol = Symbol("wrapper");
  var implSymbol = Symbol("impl");
  var sameObjectCaches = Symbol("SameObject caches");
  var ctorRegistrySymbol = Symbol.for("[webidl2js]  constructor registry");

  function getSameObject(wrapper, prop, creator) {
    if (!wrapper[sameObjectCaches]) {
      wrapper[sameObjectCaches] = Object.create(null);
    }

    if (prop in wrapper[sameObjectCaches]) {
      return wrapper[sameObjectCaches][prop];
    }

    wrapper[sameObjectCaches][prop] = creator();
    return wrapper[sameObjectCaches][prop];
  }

  function wrapperForImpl(impl) {
    return impl ? impl[wrapperSymbol] : null;
  }

  function implForWrapper(wrapper) {
    return wrapper ? wrapper[implSymbol] : null;
  }

  function tryWrapperForImpl(impl) {
    var wrapper = wrapperForImpl(impl);
    return wrapper ? wrapper : impl;
  }

  function tryImplForWrapper(wrapper) {
    var impl = implForWrapper(wrapper);
    return impl ? impl : wrapper;
  }

  var iterInternalSymbol = Symbol("internal");
  var IteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));

  function isArrayIndexPropName(P) {
    if (typeof P !== "string") {
      return false;
    }

    var i = P >>> 0;

    if (i === Math.pow(2, 32) - 1) {
      return false;
    }

    var s = "" + i;

    if (P !== s) {
      return false;
    }

    return true;
  }

  var byteLengthGetter = Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, "byteLength").get;

  function isArrayBuffer(value) {
    try {
      byteLengthGetter.call(value);
      return true;
    } catch (e) {
      return false;
    }
  }

  var supportsPropertyIndex = Symbol("supports property index");
  var supportedPropertyIndices = Symbol("supported property indices");
  var supportsPropertyName = Symbol("supports property name");
  var supportedPropertyNames = Symbol("supported property names");
  var indexedGet = Symbol("indexed property get");
  var indexedSetNew = Symbol("indexed property set new");
  var indexedSetExisting = Symbol("indexed property set existing");
  var namedGet = Symbol("named property get");
  var namedSetNew = Symbol("named property set new");
  var namedSetExisting = Symbol("named property set existing");
  var namedDelete = Symbol("named property delete");
  module.exports = exports = {
    isObject: isObject,
    hasOwn: hasOwn,
    wrapperSymbol: wrapperSymbol,
    implSymbol: implSymbol,
    getSameObject: getSameObject,
    ctorRegistrySymbol: ctorRegistrySymbol,
    wrapperForImpl: wrapperForImpl,
    implForWrapper: implForWrapper,
    tryWrapperForImpl: tryWrapperForImpl,
    tryImplForWrapper: tryImplForWrapper,
    iterInternalSymbol: iterInternalSymbol,
    IteratorPrototype: IteratorPrototype,
    isArrayBuffer: isArrayBuffer,
    isArrayIndexPropName: isArrayIndexPropName,
    supportsPropertyIndex: supportsPropertyIndex,
    supportedPropertyIndices: supportedPropertyIndices,
    supportsPropertyName: supportsPropertyName,
    supportedPropertyNames: supportedPropertyNames,
    indexedGet: indexedGet,
    indexedSetNew: indexedSetNew,
    indexedSetExisting: indexedSetExisting,
    namedGet: namedGet,
    namedSetNew: namedSetNew,
    namedSetExisting: namedSetExisting,
    namedDelete: namedDelete
  };
},741,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  exports.implementation = function () {
    function URLImpl(globalObject, constructorArgs) {
      _$$_REQUIRE(_dependencyMap[0])(this, URLImpl);

      var url = constructorArgs[0];
      var base = constructorArgs[1];
      var parsedBase = null;

      if (base !== undefined) {
        parsedBase = _$$_REQUIRE(_dependencyMap[1]).basicURLParse(base);

        if (parsedBase === null) {
          throw new TypeError("Invalid base URL: " + base);
        }
      }

      var parsedURL = _$$_REQUIRE(_dependencyMap[1]).basicURLParse(url, {
        baseURL: parsedBase
      });

      if (parsedURL === null) {
        throw new TypeError("Invalid URL: " + url);
      }

      var query = parsedURL.query !== null ? parsedURL.query : "";
      this._url = parsedURL;
      this._query = _$$_REQUIRE(_dependencyMap[2]).createImpl(globalObject, [query], {
        doNotStripQMark: true
      });
      this._query._url = this;
    }

    _$$_REQUIRE(_dependencyMap[3])(URLImpl, [{
      key: "href",
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[1]).serializeURL(this._url);
      },
      set: function set(v) {
        var parsedURL = _$$_REQUIRE(_dependencyMap[1]).basicURLParse(v);

        if (parsedURL === null) {
          throw new TypeError("Invalid URL: " + v);
        }

        this._url = parsedURL;

        this._query._list.splice(0);

        var query = parsedURL.query;

        if (query !== null) {
          this._query._list = _$$_REQUIRE(_dependencyMap[4]).parseUrlencoded(query);
        }
      }
    }, {
      key: "origin",
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[1]).serializeURLOrigin(this._url);
      }
    }, {
      key: "protocol",
      get: function get() {
        return this._url.scheme + ":";
      },
      set: function set(v) {
        _$$_REQUIRE(_dependencyMap[1]).basicURLParse(v + ":", {
          url: this._url,
          stateOverride: "scheme start"
        });
      }
    }, {
      key: "username",
      get: function get() {
        return this._url.username;
      },
      set: function set(v) {
        if (_$$_REQUIRE(_dependencyMap[1]).cannotHaveAUsernamePasswordPort(this._url)) {
          return;
        }

        _$$_REQUIRE(_dependencyMap[1]).setTheUsername(this._url, v);
      }
    }, {
      key: "password",
      get: function get() {
        return this._url.password;
      },
      set: function set(v) {
        if (_$$_REQUIRE(_dependencyMap[1]).cannotHaveAUsernamePasswordPort(this._url)) {
          return;
        }

        _$$_REQUIRE(_dependencyMap[1]).setThePassword(this._url, v);
      }
    }, {
      key: "host",
      get: function get() {
        var url = this._url;

        if (url.host === null) {
          return "";
        }

        if (url.port === null) {
          return _$$_REQUIRE(_dependencyMap[1]).serializeHost(url.host);
        }

        return _$$_REQUIRE(_dependencyMap[1]).serializeHost(url.host) + ":" + _$$_REQUIRE(_dependencyMap[1]).serializeInteger(url.port);
      },
      set: function set(v) {
        if (this._url.cannotBeABaseURL) {
          return;
        }

        _$$_REQUIRE(_dependencyMap[1]).basicURLParse(v, {
          url: this._url,
          stateOverride: "host"
        });
      }
    }, {
      key: "hostname",
      get: function get() {
        if (this._url.host === null) {
          return "";
        }

        return _$$_REQUIRE(_dependencyMap[1]).serializeHost(this._url.host);
      },
      set: function set(v) {
        if (this._url.cannotBeABaseURL) {
          return;
        }

        _$$_REQUIRE(_dependencyMap[1]).basicURLParse(v, {
          url: this._url,
          stateOverride: "hostname"
        });
      }
    }, {
      key: "port",
      get: function get() {
        if (this._url.port === null) {
          return "";
        }

        return _$$_REQUIRE(_dependencyMap[1]).serializeInteger(this._url.port);
      },
      set: function set(v) {
        if (_$$_REQUIRE(_dependencyMap[1]).cannotHaveAUsernamePasswordPort(this._url)) {
          return;
        }

        if (v === "") {
          this._url.port = null;
        } else {
          _$$_REQUIRE(_dependencyMap[1]).basicURLParse(v, {
            url: this._url,
            stateOverride: "port"
          });
        }
      }
    }, {
      key: "pathname",
      get: function get() {
        if (this._url.cannotBeABaseURL) {
          return this._url.path[0];
        }

        if (this._url.path.length === 0) {
          return "";
        }

        return "/" + this._url.path.join("/");
      },
      set: function set(v) {
        if (this._url.cannotBeABaseURL) {
          return;
        }

        this._url.path = [];

        _$$_REQUIRE(_dependencyMap[1]).basicURLParse(v, {
          url: this._url,
          stateOverride: "path start"
        });
      }
    }, {
      key: "search",
      get: function get() {
        if (this._url.query === null || this._url.query === "") {
          return "";
        }

        return "?" + this._url.query;
      },
      set: function set(v) {
        var url = this._url;

        if (v === "") {
          url.query = null;
          this._query._list = [];
          return;
        }

        var input = v[0] === "?" ? v.substring(1) : v;
        url.query = "";

        _$$_REQUIRE(_dependencyMap[1]).basicURLParse(input, {
          url: url,
          stateOverride: "query"
        });

        this._query._list = _$$_REQUIRE(_dependencyMap[4]).parseUrlencoded(input);
      }
    }, {
      key: "searchParams",
      get: function get() {
        return this._query;
      }
    }, {
      key: "hash",
      get: function get() {
        if (this._url.fragment === null || this._url.fragment === "") {
          return "";
        }

        return "#" + this._url.fragment;
      },
      set: function set(v) {
        if (v === "") {
          this._url.fragment = null;
          return;
        }

        var input = v[0] === "#" ? v.substring(1) : v;
        this._url.fragment = "";

        _$$_REQUIRE(_dependencyMap[1]).basicURLParse(input, {
          url: this._url,
          stateOverride: "fragment"
        });
      }
    }, {
      key: "toJSON",
      value: function toJSON() {
        return this.href;
      }
    }]);

    return URLImpl;
  }();
},742,[7,743,749,8,748]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

  var specialSchemes = {
    ftp: 21,
    file: null,
    http: 80,
    https: 443,
    ws: 80,
    wss: 443
  };
  var failure = Symbol("failure");

  function countSymbols(str) {
    return _$$_REQUIRE(_dependencyMap[0]).ucs2.decode(str).length;
  }

  function at(input, idx) {
    var c = input[idx];
    return isNaN(c) ? undefined : String.fromCodePoint(c);
  }

  function isSingleDot(buffer) {
    return buffer === "." || buffer.toLowerCase() === "%2e";
  }

  function isDoubleDot(buffer) {
    buffer = buffer.toLowerCase();
    return buffer === ".." || buffer === "%2e." || buffer === ".%2e" || buffer === "%2e%2e";
  }

  function isWindowsDriveLetterCodePoints(cp1, cp2) {
    return _$$_REQUIRE(_dependencyMap[1]).isASCIIAlpha(cp1) && (cp2 === 58 || cp2 === 124);
  }

  function isWindowsDriveLetterString(string) {
    return string.length === 2 && _$$_REQUIRE(_dependencyMap[1]).isASCIIAlpha(string.codePointAt(0)) && (string[1] === ":" || string[1] === "|");
  }

  function isNormalizedWindowsDriveLetterString(string) {
    return string.length === 2 && _$$_REQUIRE(_dependencyMap[1]).isASCIIAlpha(string.codePointAt(0)) && string[1] === ":";
  }

  function containsForbiddenHostCodePoint(string) {
    return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/) !== -1;
  }

  function containsForbiddenHostCodePointExcludingPercent(string) {
    return string.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/) !== -1;
  }

  function isSpecialScheme(scheme) {
    return specialSchemes[scheme] !== undefined;
  }

  function isSpecial(url) {
    return isSpecialScheme(url.scheme);
  }

  function isNotSpecial(url) {
    return !isSpecialScheme(url.scheme);
  }

  function defaultPort(scheme) {
    return specialSchemes[scheme];
  }

  function utf8PercentEncode(c) {
    var buf = _$$_REQUIRE(_dependencyMap[2]).Buffer.from(c);

    var str = "";

    for (var i = 0; i < buf.length; ++i) {
      str += _$$_REQUIRE(_dependencyMap[3]).percentEncode(buf[i]);
    }

    return str;
  }

  function isC0ControlPercentEncode(c) {
    return c <= 0x1F || c > 0x7E;
  }

  var extraUserinfoPercentEncodeSet = new Set([47, 58, 59, 61, 64, 91, 92, 93, 94, 124]);

  function isUserinfoPercentEncode(c) {
    return isPathPercentEncode(c) || extraUserinfoPercentEncodeSet.has(c);
  }

  var extraFragmentPercentEncodeSet = new Set([32, 34, 60, 62, 96]);

  function isFragmentPercentEncode(c) {
    return isC0ControlPercentEncode(c) || extraFragmentPercentEncodeSet.has(c);
  }

  var extraPathPercentEncodeSet = new Set([35, 63, 123, 125]);

  function isPathPercentEncode(c) {
    return isFragmentPercentEncode(c) || extraPathPercentEncodeSet.has(c);
  }

  function percentEncodeChar(c, encodeSetPredicate) {
    var cStr = String.fromCodePoint(c);

    if (encodeSetPredicate(c)) {
      return utf8PercentEncode(cStr);
    }

    return cStr;
  }

  function parseIPv4Number(input) {
    var R = 10;

    if (input.length >= 2 && input.charAt(0) === "0" && input.charAt(1).toLowerCase() === "x") {
      input = input.substring(2);
      R = 16;
    } else if (input.length >= 2 && input.charAt(0) === "0") {
      input = input.substring(1);
      R = 8;
    }

    if (input === "") {
      return 0;
    }

    var regex = /[^0-7]/;

    if (R === 10) {
      regex = /[^0-9]/;
    }

    if (R === 16) {
      regex = /[^0-9A-Fa-f]/;
    }

    if (regex.test(input)) {
      return failure;
    }

    return parseInt(input, R);
  }

  function parseIPv4(input) {
    var parts = input.split(".");

    if (parts[parts.length - 1] === "") {
      if (parts.length > 1) {
        parts.pop();
      }
    }

    if (parts.length > 4) {
      return input;
    }

    var numbers = [];

    for (var _iterator = _createForOfIteratorHelperLoose(parts), _step; !(_step = _iterator()).done;) {
      var part = _step.value;

      if (part === "") {
        return input;
      }

      var n = parseIPv4Number(part);

      if (n === failure) {
        return input;
      }

      numbers.push(n);
    }

    for (var i = 0; i < numbers.length - 1; ++i) {
      if (numbers[i] > 255) {
        return failure;
      }
    }

    if (numbers[numbers.length - 1] >= Math.pow(256, 5 - numbers.length)) {
      return failure;
    }

    var ipv4 = numbers.pop();
    var counter = 0;

    for (var _i = 0, _numbers = numbers; _i < _numbers.length; _i++) {
      var _n = _numbers[_i];
      ipv4 += _n * Math.pow(256, 3 - counter);
      ++counter;
    }

    return ipv4;
  }

  function serializeIPv4(address) {
    var output = "";
    var n = address;

    for (var i = 1; i <= 4; ++i) {
      output = String(n % 256) + output;

      if (i !== 4) {
        output = "." + output;
      }

      n = Math.floor(n / 256);
    }

    return output;
  }

  function parseIPv6(input) {
    var address = [0, 0, 0, 0, 0, 0, 0, 0];
    var pieceIndex = 0;
    var compress = null;
    var pointer = 0;
    input = _$$_REQUIRE(_dependencyMap[0]).ucs2.decode(input);

    if (input[pointer] === 58) {
      if (input[pointer + 1] !== 58) {
        return failure;
      }

      pointer += 2;
      ++pieceIndex;
      compress = pieceIndex;
    }

    while (pointer < input.length) {
      if (pieceIndex === 8) {
        return failure;
      }

      if (input[pointer] === 58) {
        if (compress !== null) {
          return failure;
        }

        ++pointer;
        ++pieceIndex;
        compress = pieceIndex;
        continue;
      }

      var value = 0;
      var length = 0;

      while (length < 4 && _$$_REQUIRE(_dependencyMap[1]).isASCIIHex(input[pointer])) {
        value = value * 0x10 + parseInt(at(input, pointer), 16);
        ++pointer;
        ++length;
      }

      if (input[pointer] === 46) {
        if (length === 0) {
          return failure;
        }

        pointer -= length;

        if (pieceIndex > 6) {
          return failure;
        }

        var numbersSeen = 0;

        while (input[pointer] !== undefined) {
          var ipv4Piece = null;

          if (numbersSeen > 0) {
            if (input[pointer] === 46 && numbersSeen < 4) {
              ++pointer;
            } else {
              return failure;
            }
          }

          if (!_$$_REQUIRE(_dependencyMap[1]).isASCIIDigit(input[pointer])) {
            return failure;
          }

          while (_$$_REQUIRE(_dependencyMap[1]).isASCIIDigit(input[pointer])) {
            var number = parseInt(at(input, pointer));

            if (ipv4Piece === null) {
              ipv4Piece = number;
            } else if (ipv4Piece === 0) {
              return failure;
            } else {
              ipv4Piece = ipv4Piece * 10 + number;
            }

            if (ipv4Piece > 255) {
              return failure;
            }

            ++pointer;
          }

          address[pieceIndex] = address[pieceIndex] * 0x100 + ipv4Piece;
          ++numbersSeen;

          if (numbersSeen === 2 || numbersSeen === 4) {
            ++pieceIndex;
          }
        }

        if (numbersSeen !== 4) {
          return failure;
        }

        break;
      } else if (input[pointer] === 58) {
        ++pointer;

        if (input[pointer] === undefined) {
          return failure;
        }
      } else if (input[pointer] !== undefined) {
        return failure;
      }

      address[pieceIndex] = value;
      ++pieceIndex;
    }

    if (compress !== null) {
      var swaps = pieceIndex - compress;
      pieceIndex = 7;

      while (pieceIndex !== 0 && swaps > 0) {
        var temp = address[compress + swaps - 1];
        address[compress + swaps - 1] = address[pieceIndex];
        address[pieceIndex] = temp;
        --pieceIndex;
        --swaps;
      }
    } else if (compress === null && pieceIndex !== 8) {
      return failure;
    }

    return address;
  }

  function serializeIPv6(address) {
    var output = "";
    var seqResult = findLongestZeroSequence(address);
    var compress = seqResult.idx;
    var ignore0 = false;

    for (var pieceIndex = 0; pieceIndex <= 7; ++pieceIndex) {
      if (ignore0 && address[pieceIndex] === 0) {
        continue;
      } else if (ignore0) {
        ignore0 = false;
      }

      if (compress === pieceIndex) {
        var separator = pieceIndex === 0 ? "::" : ":";
        output += separator;
        ignore0 = true;
        continue;
      }

      output += address[pieceIndex].toString(16);

      if (pieceIndex !== 7) {
        output += ":";
      }
    }

    return output;
  }

  function parseHost(input) {
    var isNotSpecialArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;

    if (input[0] === "[") {
      if (input[input.length - 1] !== "]") {
        return failure;
      }

      return parseIPv6(input.substring(1, input.length - 1));
    }

    if (isNotSpecialArg) {
      return parseOpaqueHost(input);
    }

    var domain = _$$_REQUIRE(_dependencyMap[3]).percentDecode(_$$_REQUIRE(_dependencyMap[2]).Buffer.from(input)).toString();

    var asciiDomain = domainToASCII(domain);

    if (asciiDomain === failure) {
      return failure;
    }

    if (containsForbiddenHostCodePoint(asciiDomain)) {
      return failure;
    }

    var ipv4Host = parseIPv4(asciiDomain);

    if (typeof ipv4Host === "number" || ipv4Host === failure) {
      return ipv4Host;
    }

    return asciiDomain;
  }

  function parseOpaqueHost(input) {
    if (containsForbiddenHostCodePointExcludingPercent(input)) {
      return failure;
    }

    var output = "";

    var decoded = _$$_REQUIRE(_dependencyMap[0]).ucs2.decode(input);

    for (var i = 0; i < decoded.length; ++i) {
      output += percentEncodeChar(decoded[i], isC0ControlPercentEncode);
    }

    return output;
  }

  function findLongestZeroSequence(arr) {
    var maxIdx = null;
    var maxLen = 1;
    var currStart = null;
    var currLen = 0;

    for (var i = 0; i < arr.length; ++i) {
      if (arr[i] !== 0) {
        if (currLen > maxLen) {
          maxIdx = currStart;
          maxLen = currLen;
        }

        currStart = null;
        currLen = 0;
      } else {
        if (currStart === null) {
          currStart = i;
        }

        ++currLen;
      }
    }

    if (currLen > maxLen) {
      maxIdx = currStart;
      maxLen = currLen;
    }

    return {
      idx: maxIdx,
      len: maxLen
    };
  }

  function serializeHost(host) {
    if (typeof host === "number") {
      return serializeIPv4(host);
    }

    if (host instanceof Array) {
      return "[" + serializeIPv6(host) + "]";
    }

    return host;
  }

  function domainToASCII(domain) {
    var result = domain;

    if (result === null) {
      return failure;
    }

    return result;
  }

  function trimControlChars(url) {
    return url.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g, "");
  }

  function trimTabAndNewline(url) {
    return url.replace(/\u0009|\u000A|\u000D/g, "");
  }

  function shortenPath(url) {
    var path = url.path;

    if (path.length === 0) {
      return;
    }

    if (url.scheme === "file" && path.length === 1 && isNormalizedWindowsDriveLetter(path[0])) {
      return;
    }

    path.pop();
  }

  function includesCredentials(url) {
    return url.username !== "" || url.password !== "";
  }

  function cannotHaveAUsernamePasswordPort(url) {
    return url.host === null || url.host === "" || url.cannotBeABaseURL || url.scheme === "file";
  }

  function isNormalizedWindowsDriveLetter(string) {
    return /^[A-Za-z]:$/.test(string);
  }

  function URLStateMachine(input, base, encodingOverride, url, stateOverride) {
    this.pointer = 0;
    this.input = input;
    this.base = base || null;
    this.encodingOverride = encodingOverride || "utf-8";
    this.stateOverride = stateOverride;
    this.url = url;
    this.failure = false;
    this.parseError = false;

    if (!this.url) {
      this.url = {
        scheme: "",
        username: "",
        password: "",
        host: null,
        port: null,
        path: [],
        query: null,
        fragment: null,
        cannotBeABaseURL: false
      };

      var _res = trimControlChars(this.input);

      if (_res !== this.input) {
        this.parseError = true;
      }

      this.input = _res;
    }

    var res = trimTabAndNewline(this.input);

    if (res !== this.input) {
      this.parseError = true;
    }

    this.input = res;
    this.state = stateOverride || "scheme start";
    this.buffer = "";
    this.atFlag = false;
    this.arrFlag = false;
    this.passwordTokenSeenFlag = false;
    this.input = _$$_REQUIRE(_dependencyMap[0]).ucs2.decode(this.input);

    for (; this.pointer <= this.input.length; ++this.pointer) {
      var c = this.input[this.pointer];
      var cStr = isNaN(c) ? undefined : String.fromCodePoint(c);
      var ret = this["parse " + this.state](c, cStr);

      if (!ret) {
        break;
      } else if (ret === failure) {
        this.failure = true;
        break;
      }
    }
  }

  URLStateMachine.prototype["parse scheme start"] = function parseSchemeStart(c, cStr) {
    if (_$$_REQUIRE(_dependencyMap[1]).isASCIIAlpha(c)) {
      this.buffer += cStr.toLowerCase();
      this.state = "scheme";
    } else if (!this.stateOverride) {
      this.state = "no scheme";
      --this.pointer;
    } else {
      this.parseError = true;
      return failure;
    }

    return true;
  };

  URLStateMachine.prototype["parse scheme"] = function parseScheme(c, cStr) {
    if (_$$_REQUIRE(_dependencyMap[1]).isASCIIAlphanumeric(c) || c === 43 || c === 45 || c === 46) {
      this.buffer += cStr.toLowerCase();
    } else if (c === 58) {
      if (this.stateOverride) {
        if (isSpecial(this.url) && !isSpecialScheme(this.buffer)) {
          return false;
        }

        if (!isSpecial(this.url) && isSpecialScheme(this.buffer)) {
          return false;
        }

        if ((includesCredentials(this.url) || this.url.port !== null) && this.buffer === "file") {
          return false;
        }

        if (this.url.scheme === "file" && (this.url.host === "" || this.url.host === null)) {
          return false;
        }
      }

      this.url.scheme = this.buffer;

      if (this.stateOverride) {
        if (this.url.port === defaultPort(this.url.scheme)) {
          this.url.port = null;
        }

        return false;
      }

      this.buffer = "";

      if (this.url.scheme === "file") {
        if (this.input[this.pointer + 1] !== 47 || this.input[this.pointer + 2] !== 47) {
          this.parseError = true;
        }

        this.state = "file";
      } else if (isSpecial(this.url) && this.base !== null && this.base.scheme === this.url.scheme) {
        this.state = "special relative or authority";
      } else if (isSpecial(this.url)) {
        this.state = "special authority slashes";
      } else if (this.input[this.pointer + 1] === 47) {
        this.state = "path or authority";
        ++this.pointer;
      } else {
        this.url.cannotBeABaseURL = true;
        this.url.path.push("");
        this.state = "cannot-be-a-base-URL path";
      }
    } else if (!this.stateOverride) {
      this.buffer = "";
      this.state = "no scheme";
      this.pointer = -1;
    } else {
      this.parseError = true;
      return failure;
    }

    return true;
  };

  URLStateMachine.prototype["parse no scheme"] = function parseNoScheme(c) {
    if (this.base === null || this.base.cannotBeABaseURL && c !== 35) {
      return failure;
    } else if (this.base.cannotBeABaseURL && c === 35) {
      this.url.scheme = this.base.scheme;
      this.url.path = this.base.path.slice();
      this.url.query = this.base.query;
      this.url.fragment = "";
      this.url.cannotBeABaseURL = true;
      this.state = "fragment";
    } else if (this.base.scheme === "file") {
      this.state = "file";
      --this.pointer;
    } else {
      this.state = "relative";
      --this.pointer;
    }

    return true;
  };

  URLStateMachine.prototype["parse special relative or authority"] = function parseSpecialRelativeOrAuthority(c) {
    if (c === 47 && this.input[this.pointer + 1] === 47) {
      this.state = "special authority ignore slashes";
      ++this.pointer;
    } else {
      this.parseError = true;
      this.state = "relative";
      --this.pointer;
    }

    return true;
  };

  URLStateMachine.prototype["parse path or authority"] = function parsePathOrAuthority(c) {
    if (c === 47) {
      this.state = "authority";
    } else {
      this.state = "path";
      --this.pointer;
    }

    return true;
  };

  URLStateMachine.prototype["parse relative"] = function parseRelative(c) {
    this.url.scheme = this.base.scheme;

    if (isNaN(c)) {
      this.url.username = this.base.username;
      this.url.password = this.base.password;
      this.url.host = this.base.host;
      this.url.port = this.base.port;
      this.url.path = this.base.path.slice();
      this.url.query = this.base.query;
    } else if (c === 47) {
      this.state = "relative slash";
    } else if (c === 63) {
      this.url.username = this.base.username;
      this.url.password = this.base.password;
      this.url.host = this.base.host;
      this.url.port = this.base.port;
      this.url.path = this.base.path.slice();
      this.url.query = "";
      this.state = "query";
    } else if (c === 35) {
      this.url.username = this.base.username;
      this.url.password = this.base.password;
      this.url.host = this.base.host;
      this.url.port = this.base.port;
      this.url.path = this.base.path.slice();
      this.url.query = this.base.query;
      this.url.fragment = "";
      this.state = "fragment";
    } else if (isSpecial(this.url) && c === 92) {
      this.parseError = true;
      this.state = "relative slash";
    } else {
      this.url.username = this.base.username;
      this.url.password = this.base.password;
      this.url.host = this.base.host;
      this.url.port = this.base.port;
      this.url.path = this.base.path.slice(0, this.base.path.length - 1);
      this.state = "path";
      --this.pointer;
    }

    return true;
  };

  URLStateMachine.prototype["parse relative slash"] = function parseRelativeSlash(c) {
    if (isSpecial(this.url) && (c === 47 || c === 92)) {
      if (c === 92) {
        this.parseError = true;
      }

      this.state = "special authority ignore slashes";
    } else if (c === 47) {
      this.state = "authority";
    } else {
      this.url.username = this.base.username;
      this.url.password = this.base.password;
      this.url.host = this.base.host;
      this.url.port = this.base.port;
      this.state = "path";
      --this.pointer;
    }

    return true;
  };

  URLStateMachine.prototype["parse special authority slashes"] = function parseSpecialAuthoritySlashes(c) {
    if (c === 47 && this.input[this.pointer + 1] === 47) {
      this.state = "special authority ignore slashes";
      ++this.pointer;
    } else {
      this.parseError = true;
      this.state = "special authority ignore slashes";
      --this.pointer;
    }

    return true;
  };

  URLStateMachine.prototype["parse special authority ignore slashes"] = function parseSpecialAuthorityIgnoreSlashes(c) {
    if (c !== 47 && c !== 92) {
      this.state = "authority";
      --this.pointer;
    } else {
      this.parseError = true;
    }

    return true;
  };

  URLStateMachine.prototype["parse authority"] = function parseAuthority(c, cStr) {
    if (c === 64) {
      this.parseError = true;

      if (this.atFlag) {
        this.buffer = "%40" + this.buffer;
      }

      this.atFlag = true;
      var len = countSymbols(this.buffer);

      for (var pointer = 0; pointer < len; ++pointer) {
        var codePoint = this.buffer.codePointAt(pointer);

        if (codePoint === 58 && !this.passwordTokenSeenFlag) {
          this.passwordTokenSeenFlag = true;
          continue;
        }

        var encodedCodePoints = percentEncodeChar(codePoint, isUserinfoPercentEncode);

        if (this.passwordTokenSeenFlag) {
          this.url.password += encodedCodePoints;
        } else {
          this.url.username += encodedCodePoints;
        }
      }

      this.buffer = "";
    } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || isSpecial(this.url) && c === 92) {
      if (this.atFlag && this.buffer === "") {
        this.parseError = true;
        return failure;
      }

      this.pointer -= countSymbols(this.buffer) + 1;
      this.buffer = "";
      this.state = "host";
    } else {
      this.buffer += cStr;
    }

    return true;
  };

  URLStateMachine.prototype["parse hostname"] = URLStateMachine.prototype["parse host"] = function parseHostName(c, cStr) {
    if (this.stateOverride && this.url.scheme === "file") {
      --this.pointer;
      this.state = "file host";
    } else if (c === 58 && !this.arrFlag) {
      if (this.buffer === "") {
        this.parseError = true;
        return failure;
      }

      var host = parseHost(this.buffer, isNotSpecial(this.url));

      if (host === failure) {
        return failure;
      }

      this.url.host = host;
      this.buffer = "";
      this.state = "port";

      if (this.stateOverride === "hostname") {
        return false;
      }
    } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || isSpecial(this.url) && c === 92) {
      --this.pointer;

      if (isSpecial(this.url) && this.buffer === "") {
        this.parseError = true;
        return failure;
      } else if (this.stateOverride && this.buffer === "" && (includesCredentials(this.url) || this.url.port !== null)) {
        this.parseError = true;
        return false;
      }

      var _host = parseHost(this.buffer, isNotSpecial(this.url));

      if (_host === failure) {
        return failure;
      }

      this.url.host = _host;
      this.buffer = "";
      this.state = "path start";

      if (this.stateOverride) {
        return false;
      }
    } else {
      if (c === 91) {
        this.arrFlag = true;
      } else if (c === 93) {
        this.arrFlag = false;
      }

      this.buffer += cStr;
    }

    return true;
  };

  URLStateMachine.prototype["parse port"] = function parsePort(c, cStr) {
    if (_$$_REQUIRE(_dependencyMap[1]).isASCIIDigit(c)) {
      this.buffer += cStr;
    } else if (isNaN(c) || c === 47 || c === 63 || c === 35 || isSpecial(this.url) && c === 92 || this.stateOverride) {
      if (this.buffer !== "") {
        var port = parseInt(this.buffer);

        if (port > Math.pow(2, 16) - 1) {
          this.parseError = true;
          return failure;
        }

        this.url.port = port === defaultPort(this.url.scheme) ? null : port;
        this.buffer = "";
      }

      if (this.stateOverride) {
        return false;
      }

      this.state = "path start";
      --this.pointer;
    } else {
      this.parseError = true;
      return failure;
    }

    return true;
  };

  var fileOtherwiseCodePoints = new Set([47, 92, 63, 35]);

  function startsWithWindowsDriveLetter(input, pointer) {
    var length = input.length - pointer;
    return length >= 2 && isWindowsDriveLetterCodePoints(input[pointer], input[pointer + 1]) && (length === 2 || fileOtherwiseCodePoints.has(input[pointer + 2]));
  }

  URLStateMachine.prototype["parse file"] = function parseFile(c) {
    this.url.scheme = "file";

    if (c === 47 || c === 92) {
      if (c === 92) {
        this.parseError = true;
      }

      this.state = "file slash";
    } else if (this.base !== null && this.base.scheme === "file") {
      if (isNaN(c)) {
        this.url.host = this.base.host;
        this.url.path = this.base.path.slice();
        this.url.query = this.base.query;
      } else if (c === 63) {
        this.url.host = this.base.host;
        this.url.path = this.base.path.slice();
        this.url.query = "";
        this.state = "query";
      } else if (c === 35) {
        this.url.host = this.base.host;
        this.url.path = this.base.path.slice();
        this.url.query = this.base.query;
        this.url.fragment = "";
        this.state = "fragment";
      } else {
        if (!startsWithWindowsDriveLetter(this.input, this.pointer)) {
          this.url.host = this.base.host;
          this.url.path = this.base.path.slice();
          shortenPath(this.url);
        } else {
          this.parseError = true;
        }

        this.state = "path";
        --this.pointer;
      }
    } else {
      this.state = "path";
      --this.pointer;
    }

    return true;
  };

  URLStateMachine.prototype["parse file slash"] = function parseFileSlash(c) {
    if (c === 47 || c === 92) {
      if (c === 92) {
        this.parseError = true;
      }

      this.state = "file host";
    } else {
      if (this.base !== null && this.base.scheme === "file" && !startsWithWindowsDriveLetter(this.input, this.pointer)) {
        if (isNormalizedWindowsDriveLetterString(this.base.path[0])) {
          this.url.path.push(this.base.path[0]);
        } else {
          this.url.host = this.base.host;
        }
      }

      this.state = "path";
      --this.pointer;
    }

    return true;
  };

  URLStateMachine.prototype["parse file host"] = function parseFileHost(c, cStr) {
    if (isNaN(c) || c === 47 || c === 92 || c === 63 || c === 35) {
      --this.pointer;

      if (!this.stateOverride && isWindowsDriveLetterString(this.buffer)) {
        this.parseError = true;
        this.state = "path";
      } else if (this.buffer === "") {
        this.url.host = "";

        if (this.stateOverride) {
          return false;
        }

        this.state = "path start";
      } else {
        var host = parseHost(this.buffer, isNotSpecial(this.url));

        if (host === failure) {
          return failure;
        }

        if (host === "localhost") {
          host = "";
        }

        this.url.host = host;

        if (this.stateOverride) {
          return false;
        }

        this.buffer = "";
        this.state = "path start";
      }
    } else {
      this.buffer += cStr;
    }

    return true;
  };

  URLStateMachine.prototype["parse path start"] = function parsePathStart(c) {
    if (isSpecial(this.url)) {
      if (c === 92) {
        this.parseError = true;
      }

      this.state = "path";

      if (c !== 47 && c !== 92) {
        --this.pointer;
      }
    } else if (!this.stateOverride && c === 63) {
      this.url.query = "";
      this.state = "query";
    } else if (!this.stateOverride && c === 35) {
      this.url.fragment = "";
      this.state = "fragment";
    } else if (c !== undefined) {
      this.state = "path";

      if (c !== 47) {
        --this.pointer;
      }
    }

    return true;
  };

  URLStateMachine.prototype["parse path"] = function parsePath(c) {
    if (isNaN(c) || c === 47 || isSpecial(this.url) && c === 92 || !this.stateOverride && (c === 63 || c === 35)) {
      if (isSpecial(this.url) && c === 92) {
        this.parseError = true;
      }

      if (isDoubleDot(this.buffer)) {
        shortenPath(this.url);

        if (c !== 47 && !(isSpecial(this.url) && c === 92)) {
          this.url.path.push("");
        }
      } else if (isSingleDot(this.buffer) && c !== 47 && !(isSpecial(this.url) && c === 92)) {
        this.url.path.push("");
      } else if (!isSingleDot(this.buffer)) {
        if (this.url.scheme === "file" && this.url.path.length === 0 && isWindowsDriveLetterString(this.buffer)) {
          if (this.url.host !== "" && this.url.host !== null) {
            this.parseError = true;
            this.url.host = "";
          }

          this.buffer = this.buffer[0] + ":";
        }

        this.url.path.push(this.buffer);
      }

      this.buffer = "";

      if (this.url.scheme === "file" && (c === undefined || c === 63 || c === 35)) {
        while (this.url.path.length > 1 && this.url.path[0] === "") {
          this.parseError = true;
          this.url.path.shift();
        }
      }

      if (c === 63) {
        this.url.query = "";
        this.state = "query";
      }

      if (c === 35) {
        this.url.fragment = "";
        this.state = "fragment";
      }
    } else {
      if (c === 37 && (!_$$_REQUIRE(_dependencyMap[1]).isASCIIHex(this.input[this.pointer + 1]) || !_$$_REQUIRE(_dependencyMap[1]).isASCIIHex(this.input[this.pointer + 2]))) {
        this.parseError = true;
      }

      this.buffer += percentEncodeChar(c, isPathPercentEncode);
    }

    return true;
  };

  URLStateMachine.prototype["parse cannot-be-a-base-URL path"] = function parseCannotBeABaseURLPath(c) {
    if (c === 63) {
      this.url.query = "";
      this.state = "query";
    } else if (c === 35) {
      this.url.fragment = "";
      this.state = "fragment";
    } else {
      if (!isNaN(c) && c !== 37) {
        this.parseError = true;
      }

      if (c === 37 && (!_$$_REQUIRE(_dependencyMap[1]).isASCIIHex(this.input[this.pointer + 1]) || !_$$_REQUIRE(_dependencyMap[1]).isASCIIHex(this.input[this.pointer + 2]))) {
        this.parseError = true;
      }

      if (!isNaN(c)) {
        this.url.path[0] += percentEncodeChar(c, isC0ControlPercentEncode);
      }
    }

    return true;
  };

  URLStateMachine.prototype["parse query"] = function parseQuery(c, cStr) {
    if (isNaN(c) || !this.stateOverride && c === 35) {
      if (!isSpecial(this.url) || this.url.scheme === "ws" || this.url.scheme === "wss") {
        this.encodingOverride = "utf-8";
      }

      var buffer = _$$_REQUIRE(_dependencyMap[2]).Buffer.from(this.buffer);

      for (var i = 0; i < buffer.length; ++i) {
        if (buffer[i] < 0x21 || buffer[i] > 0x7E || buffer[i] === 0x22 || buffer[i] === 0x23 || buffer[i] === 0x3C || buffer[i] === 0x3E || buffer[i] === 0x27 && isSpecial(this.url)) {
          this.url.query += _$$_REQUIRE(_dependencyMap[3]).percentEncode(buffer[i]);
        } else {
          this.url.query += String.fromCodePoint(buffer[i]);
        }
      }

      this.buffer = "";

      if (c === 35) {
        this.url.fragment = "";
        this.state = "fragment";
      }
    } else {
      if (c === 37 && (!_$$_REQUIRE(_dependencyMap[1]).isASCIIHex(this.input[this.pointer + 1]) || !_$$_REQUIRE(_dependencyMap[1]).isASCIIHex(this.input[this.pointer + 2]))) {
        this.parseError = true;
      }

      this.buffer += cStr;
    }

    return true;
  };

  URLStateMachine.prototype["parse fragment"] = function parseFragment(c) {
    if (isNaN(c)) {} else if (c === 0x0) {
      this.parseError = true;
    } else {
      if (c === 37 && (!_$$_REQUIRE(_dependencyMap[1]).isASCIIHex(this.input[this.pointer + 1]) || !_$$_REQUIRE(_dependencyMap[1]).isASCIIHex(this.input[this.pointer + 2]))) {
        this.parseError = true;
      }

      this.url.fragment += percentEncodeChar(c, isFragmentPercentEncode);
    }

    return true;
  };

  function serializeURL(url, excludeFragment) {
    var output = url.scheme + ":";

    if (url.host !== null) {
      output += "//";

      if (url.username !== "" || url.password !== "") {
        output += url.username;

        if (url.password !== "") {
          output += ":" + url.password;
        }

        output += "@";
      }

      output += serializeHost(url.host);

      if (url.port !== null) {
        output += ":" + url.port;
      }
    } else if (url.host === null && url.scheme === "file") {
      output += "//";
    }

    if (url.cannotBeABaseURL) {
      output += url.path[0];
    } else {
      for (var _iterator2 = _createForOfIteratorHelperLoose(url.path), _step2; !(_step2 = _iterator2()).done;) {
        var string = _step2.value;
        output += "/" + string;
      }
    }

    if (url.query !== null) {
      output += "?" + url.query;
    }

    if (!excludeFragment && url.fragment !== null) {
      output += "#" + url.fragment;
    }

    return output;
  }

  function serializeOrigin(tuple) {
    var result = tuple.scheme + "://";
    result += serializeHost(tuple.host);

    if (tuple.port !== null) {
      result += ":" + tuple.port;
    }

    return result;
  }

  module.exports.serializeURL = serializeURL;

  module.exports.serializeURLOrigin = function (url) {
    switch (url.scheme) {
      case "blob":
        try {
          return module.exports.serializeURLOrigin(module.exports.parseURL(url.path[0]));
        } catch (e) {
          return "null";
        }

      case "ftp":
      case "http":
      case "https":
      case "ws":
      case "wss":
        return serializeOrigin({
          scheme: url.scheme,
          host: url.host,
          port: url.port
        });

      case "file":
        return "null";

      default:
        return "null";
    }
  };

  module.exports.basicURLParse = function (input, options) {
    if (options === undefined) {
      options = {};
    }

    var usm = new URLStateMachine(input, options.baseURL, options.encodingOverride, options.url, options.stateOverride);

    if (usm.failure) {
      return null;
    }

    return usm.url;
  };

  module.exports.setTheUsername = function (url, username) {
    url.username = "";

    var decoded = _$$_REQUIRE(_dependencyMap[0]).ucs2.decode(username);

    for (var i = 0; i < decoded.length; ++i) {
      url.username += percentEncodeChar(decoded[i], isUserinfoPercentEncode);
    }
  };

  module.exports.setThePassword = function (url, password) {
    url.password = "";

    var decoded = _$$_REQUIRE(_dependencyMap[0]).ucs2.decode(password);

    for (var i = 0; i < decoded.length; ++i) {
      url.password += percentEncodeChar(decoded[i], isUserinfoPercentEncode);
    }
  };

  module.exports.serializeHost = serializeHost;
  module.exports.cannotHaveAUsernamePasswordPort = cannotHaveAUsernamePasswordPort;

  module.exports.serializeInteger = function (integer) {
    return String(integer);
  };

  module.exports.parseURL = function (input, options) {
    if (options === undefined) {
      options = {};
    }

    return module.exports.basicURLParse(input, {
      baseURL: options.baseURL,
      encodingOverride: options.encodingOverride
    });
  };
},743,[744,745,746,748]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

  var maxInt = 2147483647;
  var base = 36;
  var tMin = 1;
  var tMax = 26;
  var skew = 38;
  var damp = 700;
  var initialBias = 72;
  var initialN = 128;
  var delimiter = '-';
  var regexPunycode = /^xn--/;
  var regexNonASCII = /[^\0-\x7E]/;
  var regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g;
  var errors = {
    'overflow': 'Overflow: input needs wider integers to process',
    'not-basic': 'Illegal input >= 0x80 (not a basic code point)',
    'invalid-input': 'Invalid input'
  };
  var baseMinusTMin = 35;
  var floor = Math.floor;
  var stringFromCharCode = String.fromCharCode;

  function error(type) {
    throw new RangeError(errors[type]);
  }

  function map(array, fn) {
    var result = [];
    var length = array.length;

    while (length--) {
      result[length] = fn(array[length]);
    }

    return result;
  }

  function mapDomain(string, fn) {
    var parts = string.split('@');
    var result = '';

    if (parts.length > 1) {
      result = parts[0] + '@';
      string = parts[1];
    }

    string = string.replace(regexSeparators, '\x2E');
    var labels = string.split('.');
    var encoded = map(labels, fn).join('.');
    return result + encoded;
  }

  function ucs2decode(string) {
    var output = [];
    var counter = 0;
    var length = string.length;

    while (counter < length) {
      var value = string.charCodeAt(counter++);

      if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
        var extra = string.charCodeAt(counter++);

        if ((extra & 0xFC00) == 0xDC00) {
          output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
        } else {
          output.push(value);
          counter--;
        }
      } else {
        output.push(value);
      }
    }

    return output;
  }

  var ucs2encode = function ucs2encode(array) {
    return String.fromCodePoint.apply(String, _$$_REQUIRE(_dependencyMap[0])(array));
  };

  var basicToDigit = function basicToDigit(codePoint) {
    if (codePoint - 0x30 < 0x0A) {
      return codePoint - 0x16;
    }

    if (codePoint - 0x41 < 0x1A) {
      return codePoint - 0x41;
    }

    if (codePoint - 0x61 < 0x1A) {
      return codePoint - 0x61;
    }

    return base;
  };

  var digitToBasic = function digitToBasic(digit, flag) {
    return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
  };

  var adapt = function adapt(delta, numPoints, firstTime) {
    var k = 0;
    delta = firstTime ? floor(delta / damp) : delta >> 1;
    delta += floor(delta / numPoints);

    for (; delta > 455; k += base) {
      delta = floor(delta / baseMinusTMin);
    }

    return floor(k + 36 * delta / (delta + skew));
  };

  var decode = function decode(input) {
    var output = [];
    var inputLength = input.length;
    var i = 0;
    var n = initialN;
    var bias = initialBias;
    var basic = input.lastIndexOf(delimiter);

    if (basic < 0) {
      basic = 0;
    }

    for (var j = 0; j < basic; ++j) {
      if (input.charCodeAt(j) >= 0x80) {
        error('not-basic');
      }

      output.push(input.charCodeAt(j));
    }

    for (var index = basic > 0 ? basic + 1 : 0; index < inputLength;) {
      var oldi = i;

      for (var w = 1, k = base;; k += base) {
        if (index >= inputLength) {
          error('invalid-input');
        }

        var digit = basicToDigit(input.charCodeAt(index++));

        if (digit >= base || digit > floor((maxInt - i) / w)) {
          error('overflow');
        }

        i += digit * w;
        var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;

        if (digit < t) {
          break;
        }

        var baseMinusT = base - t;

        if (w > floor(maxInt / baseMinusT)) {
          error('overflow');
        }

        w *= baseMinusT;
      }

      var out = output.length + 1;
      bias = adapt(i - oldi, out, oldi == 0);

      if (floor(i / out) > maxInt - n) {
        error('overflow');
      }

      n += floor(i / out);
      i %= out;
      output.splice(i++, 0, n);
    }

    return String.fromCodePoint.apply(String, output);
  };

  var encode = function encode(input) {
    var output = [];
    input = ucs2decode(input);
    var inputLength = input.length;
    var n = initialN;
    var delta = 0;
    var bias = initialBias;

    for (var _iterator = _createForOfIteratorHelperLoose(input), _step; !(_step = _iterator()).done;) {
      var currentValue = _step.value;

      if (currentValue < 0x80) {
        output.push(stringFromCharCode(currentValue));
      }
    }

    var basicLength = output.length;
    var handledCPCount = basicLength;

    if (basicLength) {
      output.push(delimiter);
    }

    while (handledCPCount < inputLength) {
      var m = maxInt;

      for (var _iterator2 = _createForOfIteratorHelperLoose(input), _step2; !(_step2 = _iterator2()).done;) {
        var _currentValue = _step2.value;

        if (_currentValue >= n && _currentValue < m) {
          m = _currentValue;
        }
      }

      var handledCPCountPlusOne = handledCPCount + 1;

      if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
        error('overflow');
      }

      delta += (m - n) * handledCPCountPlusOne;
      n = m;

      for (var _iterator3 = _createForOfIteratorHelperLoose(input), _step3; !(_step3 = _iterator3()).done;) {
        var _currentValue2 = _step3.value;

        if (_currentValue2 < n && ++delta > maxInt) {
          error('overflow');
        }

        if (_currentValue2 == n) {
          var q = delta;

          for (var k = base;; k += base) {
            var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;

            if (q < t) {
              break;
            }

            var qMinusT = q - t;
            var baseMinusT = base - t;
            output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)));
            q = floor(qMinusT / baseMinusT);
          }

          output.push(stringFromCharCode(digitToBasic(q, 0)));
          bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
          delta = 0;
          ++handledCPCount;
        }
      }

      ++delta;
      ++n;
    }

    return output.join('');
  };

  var toUnicode = function toUnicode(input) {
    return mapDomain(input, function (string) {
      return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string;
    });
  };

  var toASCII = function toASCII(input) {
    return mapDomain(input, function (string) {
      return regexNonASCII.test(string) ? 'xn--' + encode(string) : string;
    });
  };

  var punycode = {
    'version': '2.1.0',
    'ucs2': {
      'decode': ucs2decode,
      'encode': ucs2encode
    },
    'decode': decode,
    'encode': encode,
    'toASCII': toASCII,
    'toUnicode': toUnicode
  };
  module.exports = punycode;
},744,[21]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  function isASCIIDigit(c) {
    return c >= 0x30 && c <= 0x39;
  }

  function isASCIIAlpha(c) {
    return c >= 0x41 && c <= 0x5A || c >= 0x61 && c <= 0x7A;
  }

  function isASCIIAlphanumeric(c) {
    return isASCIIAlpha(c) || isASCIIDigit(c);
  }

  function isASCIIHex(c) {
    return isASCIIDigit(c) || c >= 0x41 && c <= 0x46 || c >= 0x61 && c <= 0x66;
  }

  module.exports = {
    isASCIIDigit: isASCIIDigit,
    isASCIIAlpha: isASCIIAlpha,
    isASCIIAlphanumeric: isASCIIAlphanumeric,
    isASCIIHex: isASCIIHex
  };
},745,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  /*!
   * The buffer module from node.js, for the browser.
   *
   * @author   Feross Aboukhadijeh <https://feross.org>
   * @license  MIT
   */
  'use strict';

  var customInspectSymbol = typeof Symbol === 'function' && typeof Symbol['for'] === 'function' ? Symbol['for']('nodejs.util.inspect.custom') : null;
  exports.Buffer = Buffer;
  exports.SlowBuffer = SlowBuffer;
  exports.INSPECT_MAX_BYTES = 50;
  var K_MAX_LENGTH = 0x7fffffff;
  exports.kMaxLength = K_MAX_LENGTH;
  Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport();

  if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' && typeof console.error === 'function') {
    console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");
  }

  function typedArraySupport() {
    try {
      var arr = new Uint8Array(1);
      var proto = {
        foo: function foo() {
          return 42;
        }
      };
      Object.setPrototypeOf(proto, Uint8Array.prototype);
      Object.setPrototypeOf(arr, proto);
      return arr.foo() === 42;
    } catch (e) {
      return false;
    }
  }

  Object.defineProperty(Buffer.prototype, 'parent', {
    enumerable: true,
    get: function get() {
      if (!Buffer.isBuffer(this)) return undefined;
      return this.buffer;
    }
  });
  Object.defineProperty(Buffer.prototype, 'offset', {
    enumerable: true,
    get: function get() {
      if (!Buffer.isBuffer(this)) return undefined;
      return this.byteOffset;
    }
  });

  function createBuffer(length) {
    if (length > K_MAX_LENGTH) {
      throw new RangeError('The value "' + length + '" is invalid for option "size"');
    }

    var buf = new Uint8Array(length);
    Object.setPrototypeOf(buf, Buffer.prototype);
    return buf;
  }

  function Buffer(arg, encodingOrOffset, length) {
    if (typeof arg === 'number') {
      if (typeof encodingOrOffset === 'string') {
        throw new TypeError('The "string" argument must be of type string. Received type number');
      }

      return allocUnsafe(arg);
    }

    return from(arg, encodingOrOffset, length);
  }

  Buffer.poolSize = 8192;

  function from(value, encodingOrOffset, length) {
    if (typeof value === 'string') {
      return fromString(value, encodingOrOffset);
    }

    if (ArrayBuffer.isView(value)) {
      return fromArrayView(value);
    }

    if (value == null) {
      throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value);
    }

    if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) {
      return fromArrayBuffer(value, encodingOrOffset, length);
    }

    if (typeof SharedArrayBuffer !== 'undefined' && (isInstance(value, SharedArrayBuffer) || value && isInstance(value.buffer, SharedArrayBuffer))) {
      return fromArrayBuffer(value, encodingOrOffset, length);
    }

    if (typeof value === 'number') {
      throw new TypeError('The "value" argument must not be of type number. Received type number');
    }

    var valueOf = value.valueOf && value.valueOf();

    if (valueOf != null && valueOf !== value) {
      return Buffer.from(valueOf, encodingOrOffset, length);
    }

    var b = fromObject(value);
    if (b) return b;

    if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === 'function') {
      return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length);
    }

    throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof value);
  }

  Buffer.from = function (value, encodingOrOffset, length) {
    return from(value, encodingOrOffset, length);
  };

  Object.setPrototypeOf(Buffer.prototype, Uint8Array.prototype);
  Object.setPrototypeOf(Buffer, Uint8Array);

  function assertSize(size) {
    if (typeof size !== 'number') {
      throw new TypeError('"size" argument must be of type number');
    } else if (size < 0) {
      throw new RangeError('The value "' + size + '" is invalid for option "size"');
    }
  }

  function alloc(size, fill, encoding) {
    assertSize(size);

    if (size <= 0) {
      return createBuffer(size);
    }

    if (fill !== undefined) {
      return typeof encoding === 'string' ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill);
    }

    return createBuffer(size);
  }

  Buffer.alloc = function (size, fill, encoding) {
    return alloc(size, fill, encoding);
  };

  function allocUnsafe(size) {
    assertSize(size);
    return createBuffer(size < 0 ? 0 : checked(size) | 0);
  }

  Buffer.allocUnsafe = function (size) {
    return allocUnsafe(size);
  };

  Buffer.allocUnsafeSlow = function (size) {
    return allocUnsafe(size);
  };

  function fromString(string, encoding) {
    if (typeof encoding !== 'string' || encoding === '') {
      encoding = 'utf8';
    }

    if (!Buffer.isEncoding(encoding)) {
      throw new TypeError('Unknown encoding: ' + encoding);
    }

    var length = byteLength(string, encoding) | 0;
    var buf = createBuffer(length);
    var actual = buf.write(string, encoding);

    if (actual !== length) {
      buf = buf.slice(0, actual);
    }

    return buf;
  }

  function fromArrayLike(array) {
    var length = array.length < 0 ? 0 : checked(array.length) | 0;
    var buf = createBuffer(length);

    for (var i = 0; i < length; i += 1) {
      buf[i] = array[i] & 255;
    }

    return buf;
  }

  function fromArrayView(arrayView) {
    if (isInstance(arrayView, Uint8Array)) {
      var copy = new Uint8Array(arrayView);
      return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength);
    }

    return fromArrayLike(arrayView);
  }

  function fromArrayBuffer(array, byteOffset, length) {
    if (byteOffset < 0 || array.byteLength < byteOffset) {
      throw new RangeError('"offset" is outside of buffer bounds');
    }

    if (array.byteLength < byteOffset + (length || 0)) {
      throw new RangeError('"length" is outside of buffer bounds');
    }

    var buf;

    if (byteOffset === undefined && length === undefined) {
      buf = new Uint8Array(array);
    } else if (length === undefined) {
      buf = new Uint8Array(array, byteOffset);
    } else {
      buf = new Uint8Array(array, byteOffset, length);
    }

    Object.setPrototypeOf(buf, Buffer.prototype);
    return buf;
  }

  function fromObject(obj) {
    if (Buffer.isBuffer(obj)) {
      var len = checked(obj.length) | 0;
      var buf = createBuffer(len);

      if (buf.length === 0) {
        return buf;
      }

      obj.copy(buf, 0, 0, len);
      return buf;
    }

    if (obj.length !== undefined) {
      if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {
        return createBuffer(0);
      }

      return fromArrayLike(obj);
    }

    if (obj.type === 'Buffer' && Array.isArray(obj.data)) {
      return fromArrayLike(obj.data);
    }
  }

  function checked(length) {
    if (length >= K_MAX_LENGTH) {
      throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + K_MAX_LENGTH.toString(16) + ' bytes');
    }

    return length | 0;
  }

  function SlowBuffer(length) {
    if (+length != length) {
      length = 0;
    }

    return Buffer.alloc(+length);
  }

  Buffer.isBuffer = function isBuffer(b) {
    return b != null && b._isBuffer === true && b !== Buffer.prototype;
  };

  Buffer.compare = function compare(a, b) {
    if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength);
    if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength);

    if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
      throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');
    }

    if (a === b) return 0;
    var x = a.length;
    var y = b.length;

    for (var i = 0, len = Math.min(x, y); i < len; ++i) {
      if (a[i] !== b[i]) {
        x = a[i];
        y = b[i];
        break;
      }
    }

    if (x < y) return -1;
    if (y < x) return 1;
    return 0;
  };

  Buffer.isEncoding = function isEncoding(encoding) {
    switch (String(encoding).toLowerCase()) {
      case 'hex':
      case 'utf8':
      case 'utf-8':
      case 'ascii':
      case 'latin1':
      case 'binary':
      case 'base64':
      case 'ucs2':
      case 'ucs-2':
      case 'utf16le':
      case 'utf-16le':
        return true;

      default:
        return false;
    }
  };

  Buffer.concat = function concat(list, length) {
    if (!Array.isArray(list)) {
      throw new TypeError('"list" argument must be an Array of Buffers');
    }

    if (list.length === 0) {
      return Buffer.alloc(0);
    }

    var i;

    if (length === undefined) {
      length = 0;

      for (i = 0; i < list.length; ++i) {
        length += list[i].length;
      }
    }

    var buffer = Buffer.allocUnsafe(length);
    var pos = 0;

    for (i = 0; i < list.length; ++i) {
      var buf = list[i];

      if (isInstance(buf, Uint8Array)) {
        if (pos + buf.length > buffer.length) {
          Buffer.from(buf).copy(buffer, pos);
        } else {
          Uint8Array.prototype.set.call(buffer, buf, pos);
        }
      } else if (!Buffer.isBuffer(buf)) {
        throw new TypeError('"list" argument must be an Array of Buffers');
      } else {
        buf.copy(buffer, pos);
      }

      pos += buf.length;
    }

    return buffer;
  };

  function byteLength(string, encoding) {
    if (Buffer.isBuffer(string)) {
      return string.length;
    }

    if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {
      return string.byteLength;
    }

    if (typeof string !== 'string') {
      throw new TypeError("The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type " + typeof string);
    }

    var len = string.length;
    var mustMatch = arguments.length > 2 && arguments[2] === true;
    if (!mustMatch && len === 0) return 0;
    var loweredCase = false;

    for (;;) {
      switch (encoding) {
        case 'ascii':
        case 'latin1':
        case 'binary':
          return len;

        case 'utf8':
        case 'utf-8':
          return utf8ToBytes(string).length;

        case 'ucs2':
        case 'ucs-2':
        case 'utf16le':
        case 'utf-16le':
          return len * 2;

        case 'hex':
          return len >>> 1;

        case 'base64':
          return base64ToBytes(string).length;

        default:
          if (loweredCase) {
            return mustMatch ? -1 : utf8ToBytes(string).length;
          }

          encoding = ('' + encoding).toLowerCase();
          loweredCase = true;
      }
    }
  }

  Buffer.byteLength = byteLength;

  function slowToString(encoding, start, end) {
    var loweredCase = false;

    if (start === undefined || start < 0) {
      start = 0;
    }

    if (start > this.length) {
      return '';
    }

    if (end === undefined || end > this.length) {
      end = this.length;
    }

    if (end <= 0) {
      return '';
    }

    end >>>= 0;
    start >>>= 0;

    if (end <= start) {
      return '';
    }

    if (!encoding) encoding = 'utf8';

    while (true) {
      switch (encoding) {
        case 'hex':
          return hexSlice(this, start, end);

        case 'utf8':
        case 'utf-8':
          return utf8Slice(this, start, end);

        case 'ascii':
          return asciiSlice(this, start, end);

        case 'latin1':
        case 'binary':
          return latin1Slice(this, start, end);

        case 'base64':
          return base64Slice(this, start, end);

        case 'ucs2':
        case 'ucs-2':
        case 'utf16le':
        case 'utf-16le':
          return utf16leSlice(this, start, end);

        default:
          if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);
          encoding = (encoding + '').toLowerCase();
          loweredCase = true;
      }
    }
  }

  Buffer.prototype._isBuffer = true;

  function swap(b, n, m) {
    var i = b[n];
    b[n] = b[m];
    b[m] = i;
  }

  Buffer.prototype.swap16 = function swap16() {
    var len = this.length;

    if (len % 2 !== 0) {
      throw new RangeError('Buffer size must be a multiple of 16-bits');
    }

    for (var i = 0; i < len; i += 2) {
      swap(this, i, i + 1);
    }

    return this;
  };

  Buffer.prototype.swap32 = function swap32() {
    var len = this.length;

    if (len % 4 !== 0) {
      throw new RangeError('Buffer size must be a multiple of 32-bits');
    }

    for (var i = 0; i < len; i += 4) {
      swap(this, i, i + 3);
      swap(this, i + 1, i + 2);
    }

    return this;
  };

  Buffer.prototype.swap64 = function swap64() {
    var len = this.length;

    if (len % 8 !== 0) {
      throw new RangeError('Buffer size must be a multiple of 64-bits');
    }

    for (var i = 0; i < len; i += 8) {
      swap(this, i, i + 7);
      swap(this, i + 1, i + 6);
      swap(this, i + 2, i + 5);
      swap(this, i + 3, i + 4);
    }

    return this;
  };

  Buffer.prototype.toString = function toString() {
    var length = this.length;
    if (length === 0) return '';
    if (arguments.length === 0) return utf8Slice(this, 0, length);
    return slowToString.apply(this, arguments);
  };

  Buffer.prototype.toLocaleString = Buffer.prototype.toString;

  Buffer.prototype.equals = function equals(b) {
    if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer');
    if (this === b) return true;
    return Buffer.compare(this, b) === 0;
  };

  Buffer.prototype.inspect = function inspect() {
    var str = '';
    var max = exports.INSPECT_MAX_BYTES;
    str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();
    if (this.length > max) str += ' ... ';
    return '<Buffer ' + str + '>';
  };

  if (customInspectSymbol) {
    Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;
  }

  Buffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {
    if (isInstance(target, Uint8Array)) {
      target = Buffer.from(target, target.offset, target.byteLength);
    }

    if (!Buffer.isBuffer(target)) {
      throw new TypeError("The \"target\" argument must be one of type Buffer or Uint8Array. Received type " + typeof target);
    }

    if (start === undefined) {
      start = 0;
    }

    if (end === undefined) {
      end = target ? target.length : 0;
    }

    if (thisStart === undefined) {
      thisStart = 0;
    }

    if (thisEnd === undefined) {
      thisEnd = this.length;
    }

    if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {
      throw new RangeError('out of range index');
    }

    if (thisStart >= thisEnd && start >= end) {
      return 0;
    }

    if (thisStart >= thisEnd) {
      return -1;
    }

    if (start >= end) {
      return 1;
    }

    start >>>= 0;
    end >>>= 0;
    thisStart >>>= 0;
    thisEnd >>>= 0;
    if (this === target) return 0;
    var x = thisEnd - thisStart;
    var y = end - start;
    var len = Math.min(x, y);
    var thisCopy = this.slice(thisStart, thisEnd);
    var targetCopy = target.slice(start, end);

    for (var i = 0; i < len; ++i) {
      if (thisCopy[i] !== targetCopy[i]) {
        x = thisCopy[i];
        y = targetCopy[i];
        break;
      }
    }

    if (x < y) return -1;
    if (y < x) return 1;
    return 0;
  };

  function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {
    if (buffer.length === 0) return -1;

    if (typeof byteOffset === 'string') {
      encoding = byteOffset;
      byteOffset = 0;
    } else if (byteOffset > 0x7fffffff) {
      byteOffset = 0x7fffffff;
    } else if (byteOffset < -2147483648) {
      byteOffset = -2147483648;
    }

    byteOffset = +byteOffset;

    if (numberIsNaN(byteOffset)) {
      byteOffset = dir ? 0 : buffer.length - 1;
    }

    if (byteOffset < 0) byteOffset = buffer.length + byteOffset;

    if (byteOffset >= buffer.length) {
      if (dir) return -1;else byteOffset = buffer.length - 1;
    } else if (byteOffset < 0) {
      if (dir) byteOffset = 0;else return -1;
    }

    if (typeof val === 'string') {
      val = Buffer.from(val, encoding);
    }

    if (Buffer.isBuffer(val)) {
      if (val.length === 0) {
        return -1;
      }

      return arrayIndexOf(buffer, val, byteOffset, encoding, dir);
    } else if (typeof val === 'number') {
      val = val & 0xFF;

      if (typeof Uint8Array.prototype.indexOf === 'function') {
        if (dir) {
          return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);
        } else {
          return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);
        }
      }

      return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);
    }

    throw new TypeError('val must be string, number or Buffer');
  }

  function arrayIndexOf(arr, val, byteOffset, encoding, dir) {
    var indexSize = 1;
    var arrLength = arr.length;
    var valLength = val.length;

    if (encoding !== undefined) {
      encoding = String(encoding).toLowerCase();

      if (encoding === 'ucs2' || encoding === 'ucs-2' || encoding === 'utf16le' || encoding === 'utf-16le') {
        if (arr.length < 2 || val.length < 2) {
          return -1;
        }

        indexSize = 2;
        arrLength /= 2;
        valLength /= 2;
        byteOffset /= 2;
      }
    }

    function read(buf, i) {
      if (indexSize === 1) {
        return buf[i];
      } else {
        return buf.readUInt16BE(i * indexSize);
      }
    }

    var i;

    if (dir) {
      var foundIndex = -1;

      for (i = byteOffset; i < arrLength; i++) {
        if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {
          if (foundIndex === -1) foundIndex = i;
          if (i - foundIndex + 1 === valLength) return foundIndex * indexSize;
        } else {
          if (foundIndex !== -1) i -= i - foundIndex;
          foundIndex = -1;
        }
      }
    } else {
      if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;

      for (i = byteOffset; i >= 0; i--) {
        var found = true;

        for (var j = 0; j < valLength; j++) {
          if (read(arr, i + j) !== read(val, j)) {
            found = false;
            break;
          }
        }

        if (found) return i;
      }
    }

    return -1;
  }

  Buffer.prototype.includes = function includes(val, byteOffset, encoding) {
    return this.indexOf(val, byteOffset, encoding) !== -1;
  };

  Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {
    return bidirectionalIndexOf(this, val, byteOffset, encoding, true);
  };

  Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {
    return bidirectionalIndexOf(this, val, byteOffset, encoding, false);
  };

  function hexWrite(buf, string, offset, length) {
    offset = Number(offset) || 0;
    var remaining = buf.length - offset;

    if (!length) {
      length = remaining;
    } else {
      length = Number(length);

      if (length > remaining) {
        length = remaining;
      }
    }

    var strLen = string.length;

    if (length > strLen / 2) {
      length = strLen / 2;
    }

    for (var i = 0; i < length; ++i) {
      var parsed = parseInt(string.substr(i * 2, 2), 16);
      if (numberIsNaN(parsed)) return i;
      buf[offset + i] = parsed;
    }

    return i;
  }

  function utf8Write(buf, string, offset, length) {
    return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length);
  }

  function asciiWrite(buf, string, offset, length) {
    return blitBuffer(asciiToBytes(string), buf, offset, length);
  }

  function base64Write(buf, string, offset, length) {
    return blitBuffer(base64ToBytes(string), buf, offset, length);
  }

  function ucs2Write(buf, string, offset, length) {
    return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length);
  }

  Buffer.prototype.write = function write(string, offset, length, encoding) {
    if (offset === undefined) {
      encoding = 'utf8';
      length = this.length;
      offset = 0;
    } else if (length === undefined && typeof offset === 'string') {
      encoding = offset;
      length = this.length;
      offset = 0;
    } else if (isFinite(offset)) {
      offset = offset >>> 0;

      if (isFinite(length)) {
        length = length >>> 0;
        if (encoding === undefined) encoding = 'utf8';
      } else {
        encoding = length;
        length = undefined;
      }
    } else {
      throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported');
    }

    var remaining = this.length - offset;
    if (length === undefined || length > remaining) length = remaining;

    if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) {
      throw new RangeError('Attempt to write outside buffer bounds');
    }

    if (!encoding) encoding = 'utf8';
    var loweredCase = false;

    for (;;) {
      switch (encoding) {
        case 'hex':
          return hexWrite(this, string, offset, length);

        case 'utf8':
        case 'utf-8':
          return utf8Write(this, string, offset, length);

        case 'ascii':
        case 'latin1':
        case 'binary':
          return asciiWrite(this, string, offset, length);

        case 'base64':
          return base64Write(this, string, offset, length);

        case 'ucs2':
        case 'ucs-2':
        case 'utf16le':
        case 'utf-16le':
          return ucs2Write(this, string, offset, length);

        default:
          if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding);
          encoding = ('' + encoding).toLowerCase();
          loweredCase = true;
      }
    }
  };

  Buffer.prototype.toJSON = function toJSON() {
    return {
      type: 'Buffer',
      data: Array.prototype.slice.call(this._arr || this, 0)
    };
  };

  function base64Slice(buf, start, end) {
    if (start === 0 && end === buf.length) {
      return _$$_REQUIRE(_dependencyMap[0]).fromByteArray(buf);
    } else {
      return _$$_REQUIRE(_dependencyMap[0]).fromByteArray(buf.slice(start, end));
    }
  }

  function utf8Slice(buf, start, end) {
    end = Math.min(buf.length, end);
    var res = [];
    var i = start;

    while (i < end) {
      var firstByte = buf[i];
      var codePoint = null;
      var bytesPerSequence = firstByte > 0xEF ? 4 : firstByte > 0xDF ? 3 : firstByte > 0xBF ? 2 : 1;

      if (i + bytesPerSequence <= end) {
        var secondByte, thirdByte, fourthByte, tempCodePoint;

        switch (bytesPerSequence) {
          case 1:
            if (firstByte < 0x80) {
              codePoint = firstByte;
            }

            break;

          case 2:
            secondByte = buf[i + 1];

            if ((secondByte & 0xC0) === 0x80) {
              tempCodePoint = (firstByte & 0x1F) << 0x6 | secondByte & 0x3F;

              if (tempCodePoint > 0x7F) {
                codePoint = tempCodePoint;
              }
            }

            break;

          case 3:
            secondByte = buf[i + 1];
            thirdByte = buf[i + 2];

            if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
              tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | thirdByte & 0x3F;

              if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
                codePoint = tempCodePoint;
              }
            }

            break;

          case 4:
            secondByte = buf[i + 1];
            thirdByte = buf[i + 2];
            fourthByte = buf[i + 3];

            if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
              tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | fourthByte & 0x3F;

              if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
                codePoint = tempCodePoint;
              }
            }

        }
      }

      if (codePoint === null) {
        codePoint = 0xFFFD;
        bytesPerSequence = 1;
      } else if (codePoint > 0xFFFF) {
        codePoint -= 0x10000;
        res.push(codePoint >>> 10 & 0x3FF | 0xD800);
        codePoint = 0xDC00 | codePoint & 0x3FF;
      }

      res.push(codePoint);
      i += bytesPerSequence;
    }

    return decodeCodePointsArray(res);
  }

  var MAX_ARGUMENTS_LENGTH = 0x1000;

  function decodeCodePointsArray(codePoints) {
    var len = codePoints.length;

    if (len <= MAX_ARGUMENTS_LENGTH) {
      return String.fromCharCode.apply(String, codePoints);
    }

    var res = '';
    var i = 0;

    while (i < len) {
      res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH));
    }

    return res;
  }

  function asciiSlice(buf, start, end) {
    var ret = '';
    end = Math.min(buf.length, end);

    for (var i = start; i < end; ++i) {
      ret += String.fromCharCode(buf[i] & 0x7F);
    }

    return ret;
  }

  function latin1Slice(buf, start, end) {
    var ret = '';
    end = Math.min(buf.length, end);

    for (var i = start; i < end; ++i) {
      ret += String.fromCharCode(buf[i]);
    }

    return ret;
  }

  function hexSlice(buf, start, end) {
    var len = buf.length;
    if (!start || start < 0) start = 0;
    if (!end || end < 0 || end > len) end = len;
    var out = '';

    for (var i = start; i < end; ++i) {
      out += hexSliceLookupTable[buf[i]];
    }

    return out;
  }

  function utf16leSlice(buf, start, end) {
    var bytes = buf.slice(start, end);
    var res = '';

    for (var i = 0; i < bytes.length - 1; i += 2) {
      res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);
    }

    return res;
  }

  Buffer.prototype.slice = function slice(start, end) {
    var len = this.length;
    start = ~~start;
    end = end === undefined ? len : ~~end;

    if (start < 0) {
      start += len;
      if (start < 0) start = 0;
    } else if (start > len) {
      start = len;
    }

    if (end < 0) {
      end += len;
      if (end < 0) end = 0;
    } else if (end > len) {
      end = len;
    }

    if (end < start) end = start;
    var newBuf = this.subarray(start, end);
    Object.setPrototypeOf(newBuf, Buffer.prototype);
    return newBuf;
  };

  function checkOffset(offset, ext, length) {
    if (offset % 1 !== 0 || offset < 0) throw new RangeError('offset is not uint');
    if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length');
  }

  Buffer.prototype.readUintLE = Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) {
    offset = offset >>> 0;
    byteLength = byteLength >>> 0;
    if (!noAssert) checkOffset(offset, byteLength, this.length);
    var val = this[offset];
    var mul = 1;
    var i = 0;

    while (++i < byteLength && (mul *= 0x100)) {
      val += this[offset + i] * mul;
    }

    return val;
  };

  Buffer.prototype.readUintBE = Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) {
    offset = offset >>> 0;
    byteLength = byteLength >>> 0;

    if (!noAssert) {
      checkOffset(offset, byteLength, this.length);
    }

    var val = this[offset + --byteLength];
    var mul = 1;

    while (byteLength > 0 && (mul *= 0x100)) {
      val += this[offset + --byteLength] * mul;
    }

    return val;
  };

  Buffer.prototype.readUint8 = Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {
    offset = offset >>> 0;
    if (!noAssert) checkOffset(offset, 1, this.length);
    return this[offset];
  };

  Buffer.prototype.readUint16LE = Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {
    offset = offset >>> 0;
    if (!noAssert) checkOffset(offset, 2, this.length);
    return this[offset] | this[offset + 1] << 8;
  };

  Buffer.prototype.readUint16BE = Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {
    offset = offset >>> 0;
    if (!noAssert) checkOffset(offset, 2, this.length);
    return this[offset] << 8 | this[offset + 1];
  };

  Buffer.prototype.readUint32LE = Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {
    offset = offset >>> 0;
    if (!noAssert) checkOffset(offset, 4, this.length);
    return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 0x1000000;
  };

  Buffer.prototype.readUint32BE = Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {
    offset = offset >>> 0;
    if (!noAssert) checkOffset(offset, 4, this.length);
    return this[offset] * 0x1000000 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);
  };

  Buffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {
    offset = offset >>> 0;
    byteLength = byteLength >>> 0;
    if (!noAssert) checkOffset(offset, byteLength, this.length);
    var val = this[offset];
    var mul = 1;
    var i = 0;

    while (++i < byteLength && (mul *= 0x100)) {
      val += this[offset + i] * mul;
    }

    mul *= 0x80;
    if (val >= mul) val -= Math.pow(2, 8 * byteLength);
    return val;
  };

  Buffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {
    offset = offset >>> 0;
    byteLength = byteLength >>> 0;
    if (!noAssert) checkOffset(offset, byteLength, this.length);
    var i = byteLength;
    var mul = 1;
    var val = this[offset + --i];

    while (i > 0 && (mul *= 0x100)) {
      val += this[offset + --i] * mul;
    }

    mul *= 0x80;
    if (val >= mul) val -= Math.pow(2, 8 * byteLength);
    return val;
  };

  Buffer.prototype.readInt8 = function readInt8(offset, noAssert) {
    offset = offset >>> 0;
    if (!noAssert) checkOffset(offset, 1, this.length);
    if (!(this[offset] & 0x80)) return this[offset];
    return (0xff - this[offset] + 1) * -1;
  };

  Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {
    offset = offset >>> 0;
    if (!noAssert) checkOffset(offset, 2, this.length);
    var val = this[offset] | this[offset + 1] << 8;
    return val & 0x8000 ? val | 0xFFFF0000 : val;
  };

  Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {
    offset = offset >>> 0;
    if (!noAssert) checkOffset(offset, 2, this.length);
    var val = this[offset + 1] | this[offset] << 8;
    return val & 0x8000 ? val | 0xFFFF0000 : val;
  };

  Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {
    offset = offset >>> 0;
    if (!noAssert) checkOffset(offset, 4, this.length);
    return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;
  };

  Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {
    offset = offset >>> 0;
    if (!noAssert) checkOffset(offset, 4, this.length);
    return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];
  };

  Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {
    offset = offset >>> 0;
    if (!noAssert) checkOffset(offset, 4, this.length);
    return _$$_REQUIRE(_dependencyMap[1]).read(this, offset, true, 23, 4);
  };

  Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {
    offset = offset >>> 0;
    if (!noAssert) checkOffset(offset, 4, this.length);
    return _$$_REQUIRE(_dependencyMap[1]).read(this, offset, false, 23, 4);
  };

  Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {
    offset = offset >>> 0;
    if (!noAssert) checkOffset(offset, 8, this.length);
    return _$$_REQUIRE(_dependencyMap[1]).read(this, offset, true, 52, 8);
  };

  Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {
    offset = offset >>> 0;
    if (!noAssert) checkOffset(offset, 8, this.length);
    return _$$_REQUIRE(_dependencyMap[1]).read(this, offset, false, 52, 8);
  };

  function checkInt(buf, value, offset, ext, max, min) {
    if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance');
    if (value > max || value < min) throw new RangeError('"value" argument is out of bounds');
    if (offset + ext > buf.length) throw new RangeError('Index out of range');
  }

  Buffer.prototype.writeUintLE = Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) {
    value = +value;
    offset = offset >>> 0;
    byteLength = byteLength >>> 0;

    if (!noAssert) {
      var maxBytes = Math.pow(2, 8 * byteLength) - 1;
      checkInt(this, value, offset, byteLength, maxBytes, 0);
    }

    var mul = 1;
    var i = 0;
    this[offset] = value & 0xFF;

    while (++i < byteLength && (mul *= 0x100)) {
      this[offset + i] = value / mul & 0xFF;
    }

    return offset + byteLength;
  };

  Buffer.prototype.writeUintBE = Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) {
    value = +value;
    offset = offset >>> 0;
    byteLength = byteLength >>> 0;

    if (!noAssert) {
      var maxBytes = Math.pow(2, 8 * byteLength) - 1;
      checkInt(this, value, offset, byteLength, maxBytes, 0);
    }

    var i = byteLength - 1;
    var mul = 1;
    this[offset + i] = value & 0xFF;

    while (--i >= 0 && (mul *= 0x100)) {
      this[offset + i] = value / mul & 0xFF;
    }

    return offset + byteLength;
  };

  Buffer.prototype.writeUint8 = Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {
    value = +value;
    offset = offset >>> 0;
    if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);
    this[offset] = value & 0xff;
    return offset + 1;
  };

  Buffer.prototype.writeUint16LE = Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {
    value = +value;
    offset = offset >>> 0;
    if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);
    this[offset] = value & 0xff;
    this[offset + 1] = value >>> 8;
    return offset + 2;
  };

  Buffer.prototype.writeUint16BE = Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {
    value = +value;
    offset = offset >>> 0;
    if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);
    this[offset] = value >>> 8;
    this[offset + 1] = value & 0xff;
    return offset + 2;
  };

  Buffer.prototype.writeUint32LE = Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {
    value = +value;
    offset = offset >>> 0;
    if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);
    this[offset + 3] = value >>> 24;
    this[offset + 2] = value >>> 16;
    this[offset + 1] = value >>> 8;
    this[offset] = value & 0xff;
    return offset + 4;
  };

  Buffer.prototype.writeUint32BE = Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {
    value = +value;
    offset = offset >>> 0;
    if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);
    this[offset] = value >>> 24;
    this[offset + 1] = value >>> 16;
    this[offset + 2] = value >>> 8;
    this[offset + 3] = value & 0xff;
    return offset + 4;
  };

  Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) {
    value = +value;
    offset = offset >>> 0;

    if (!noAssert) {
      var limit = Math.pow(2, 8 * byteLength - 1);
      checkInt(this, value, offset, byteLength, limit - 1, -limit);
    }

    var i = 0;
    var mul = 1;
    var sub = 0;
    this[offset] = value & 0xFF;

    while (++i < byteLength && (mul *= 0x100)) {
      if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
        sub = 1;
      }

      this[offset + i] = (value / mul >> 0) - sub & 0xFF;
    }

    return offset + byteLength;
  };

  Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) {
    value = +value;
    offset = offset >>> 0;

    if (!noAssert) {
      var limit = Math.pow(2, 8 * byteLength - 1);
      checkInt(this, value, offset, byteLength, limit - 1, -limit);
    }

    var i = byteLength - 1;
    var mul = 1;
    var sub = 0;
    this[offset + i] = value & 0xFF;

    while (--i >= 0 && (mul *= 0x100)) {
      if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
        sub = 1;
      }

      this[offset + i] = (value / mul >> 0) - sub & 0xFF;
    }

    return offset + byteLength;
  };

  Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {
    value = +value;
    offset = offset >>> 0;
    if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -128);
    if (value < 0) value = 0xff + value + 1;
    this[offset] = value & 0xff;
    return offset + 1;
  };

  Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {
    value = +value;
    offset = offset >>> 0;
    if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -32768);
    this[offset] = value & 0xff;
    this[offset + 1] = value >>> 8;
    return offset + 2;
  };

  Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {
    value = +value;
    offset = offset >>> 0;
    if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -32768);
    this[offset] = value >>> 8;
    this[offset + 1] = value & 0xff;
    return offset + 2;
  };

  Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {
    value = +value;
    offset = offset >>> 0;
    if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -2147483648);
    this[offset] = value & 0xff;
    this[offset + 1] = value >>> 8;
    this[offset + 2] = value >>> 16;
    this[offset + 3] = value >>> 24;
    return offset + 4;
  };

  Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {
    value = +value;
    offset = offset >>> 0;
    if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -2147483648);
    if (value < 0) value = 0xffffffff + value + 1;
    this[offset] = value >>> 24;
    this[offset + 1] = value >>> 16;
    this[offset + 2] = value >>> 8;
    this[offset + 3] = value & 0xff;
    return offset + 4;
  };

  function checkIEEE754(buf, value, offset, ext, max, min) {
    if (offset + ext > buf.length) throw new RangeError('Index out of range');
    if (offset < 0) throw new RangeError('Index out of range');
  }

  function writeFloat(buf, value, offset, littleEndian, noAssert) {
    value = +value;
    offset = offset >>> 0;

    if (!noAssert) {
      checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38);
    }

    _$$_REQUIRE(_dependencyMap[1]).write(buf, value, offset, littleEndian, 23, 4);

    return offset + 4;
  }

  Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {
    return writeFloat(this, value, offset, true, noAssert);
  };

  Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {
    return writeFloat(this, value, offset, false, noAssert);
  };

  function writeDouble(buf, value, offset, littleEndian, noAssert) {
    value = +value;
    offset = offset >>> 0;

    if (!noAssert) {
      checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157e+308);
    }

    _$$_REQUIRE(_dependencyMap[1]).write(buf, value, offset, littleEndian, 52, 8);

    return offset + 8;
  }

  Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {
    return writeDouble(this, value, offset, true, noAssert);
  };

  Buffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {
    return writeDouble(this, value, offset, false, noAssert);
  };

  Buffer.prototype.copy = function copy(target, targetStart, start, end) {
    if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer');
    if (!start) start = 0;
    if (!end && end !== 0) end = this.length;
    if (targetStart >= target.length) targetStart = target.length;
    if (!targetStart) targetStart = 0;
    if (end > 0 && end < start) end = start;
    if (end === start) return 0;
    if (target.length === 0 || this.length === 0) return 0;

    if (targetStart < 0) {
      throw new RangeError('targetStart out of bounds');
    }

    if (start < 0 || start >= this.length) throw new RangeError('Index out of range');
    if (end < 0) throw new RangeError('sourceEnd out of bounds');
    if (end > this.length) end = this.length;

    if (target.length - targetStart < end - start) {
      end = target.length - targetStart + start;
    }

    var len = end - start;

    if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {
      this.copyWithin(targetStart, start, end);
    } else {
      Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart);
    }

    return len;
  };

  Buffer.prototype.fill = function fill(val, start, end, encoding) {
    if (typeof val === 'string') {
      if (typeof start === 'string') {
        encoding = start;
        start = 0;
        end = this.length;
      } else if (typeof end === 'string') {
        encoding = end;
        end = this.length;
      }

      if (encoding !== undefined && typeof encoding !== 'string') {
        throw new TypeError('encoding must be a string');
      }

      if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {
        throw new TypeError('Unknown encoding: ' + encoding);
      }

      if (val.length === 1) {
        var code = val.charCodeAt(0);

        if (encoding === 'utf8' && code < 128 || encoding === 'latin1') {
          val = code;
        }
      }
    } else if (typeof val === 'number') {
      val = val & 255;
    } else if (typeof val === 'boolean') {
      val = Number(val);
    }

    if (start < 0 || this.length < start || this.length < end) {
      throw new RangeError('Out of range index');
    }

    if (end <= start) {
      return this;
    }

    start = start >>> 0;
    end = end === undefined ? this.length : end >>> 0;
    if (!val) val = 0;
    var i;

    if (typeof val === 'number') {
      for (i = start; i < end; ++i) {
        this[i] = val;
      }
    } else {
      var bytes = Buffer.isBuffer(val) ? val : Buffer.from(val, encoding);
      var len = bytes.length;

      if (len === 0) {
        throw new TypeError('The value "' + val + '" is invalid for argument "value"');
      }

      for (i = 0; i < end - start; ++i) {
        this[i + start] = bytes[i % len];
      }
    }

    return this;
  };

  var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;

  function base64clean(str) {
    str = str.split('=')[0];
    str = str.trim().replace(INVALID_BASE64_RE, '');
    if (str.length < 2) return '';

    while (str.length % 4 !== 0) {
      str = str + '=';
    }

    return str;
  }

  function utf8ToBytes(string, units) {
    units = units || Infinity;
    var codePoint;
    var length = string.length;
    var leadSurrogate = null;
    var bytes = [];

    for (var i = 0; i < length; ++i) {
      codePoint = string.charCodeAt(i);

      if (codePoint > 0xD7FF && codePoint < 0xE000) {
        if (!leadSurrogate) {
          if (codePoint > 0xDBFF) {
            if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);
            continue;
          } else if (i + 1 === length) {
            if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);
            continue;
          }

          leadSurrogate = codePoint;
          continue;
        }

        if (codePoint < 0xDC00) {
          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);
          leadSurrogate = codePoint;
          continue;
        }

        codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;
      } else if (leadSurrogate) {
        if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);
      }

      leadSurrogate = null;

      if (codePoint < 0x80) {
        if ((units -= 1) < 0) break;
        bytes.push(codePoint);
      } else if (codePoint < 0x800) {
        if ((units -= 2) < 0) break;
        bytes.push(codePoint >> 0x6 | 0xC0, codePoint & 0x3F | 0x80);
      } else if (codePoint < 0x10000) {
        if ((units -= 3) < 0) break;
        bytes.push(codePoint >> 0xC | 0xE0, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);
      } else if (codePoint < 0x110000) {
        if ((units -= 4) < 0) break;
        bytes.push(codePoint >> 0x12 | 0xF0, codePoint >> 0xC & 0x3F | 0x80, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);
      } else {
        throw new Error('Invalid code point');
      }
    }

    return bytes;
  }

  function asciiToBytes(str) {
    var byteArray = [];

    for (var i = 0; i < str.length; ++i) {
      byteArray.push(str.charCodeAt(i) & 0xFF);
    }

    return byteArray;
  }

  function utf16leToBytes(str, units) {
    var c, hi, lo;
    var byteArray = [];

    for (var i = 0; i < str.length; ++i) {
      if ((units -= 2) < 0) break;
      c = str.charCodeAt(i);
      hi = c >> 8;
      lo = c % 256;
      byteArray.push(lo);
      byteArray.push(hi);
    }

    return byteArray;
  }

  function base64ToBytes(str) {
    return _$$_REQUIRE(_dependencyMap[0]).toByteArray(base64clean(str));
  }

  function blitBuffer(src, dst, offset, length) {
    for (var i = 0; i < length; ++i) {
      if (i + offset >= dst.length || i >= src.length) break;
      dst[i + offset] = src[i];
    }

    return i;
  }

  function isInstance(obj, type) {
    return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name;
  }

  function numberIsNaN(obj) {
    return obj !== obj;
  }

  var hexSliceLookupTable = function () {
    var alphabet = '0123456789abcdef';
    var table = new Array(256);

    for (var i = 0; i < 16; ++i) {
      var i16 = i * 16;

      for (var j = 0; j < 16; ++j) {
        table[i16 + j] = alphabet[i] + alphabet[j];
      }
    }

    return table;
  }();
},746,[99,747]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  exports.read = function (buffer, offset, isLE, mLen, nBytes) {
    var e, m;
    var eLen = nBytes * 8 - mLen - 1;
    var eMax = (1 << eLen) - 1;
    var eBias = eMax >> 1;
    var nBits = -7;
    var i = isLE ? nBytes - 1 : 0;
    var d = isLE ? -1 : 1;
    var s = buffer[offset + i];
    i += d;
    e = s & (1 << -nBits) - 1;
    s >>= -nBits;
    nBits += eLen;

    for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}

    m = e & (1 << -nBits) - 1;
    e >>= -nBits;
    nBits += mLen;

    for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}

    if (e === 0) {
      e = 1 - eBias;
    } else if (e === eMax) {
      return m ? NaN : (s ? -1 : 1) * Infinity;
    } else {
      m = m + Math.pow(2, mLen);
      e = e - eBias;
    }

    return (s ? -1 : 1) * m * Math.pow(2, e - mLen);
  };

  exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
    var e, m, c;
    var eLen = nBytes * 8 - mLen - 1;
    var eMax = (1 << eLen) - 1;
    var eBias = eMax >> 1;
    var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;
    var i = isLE ? 0 : nBytes - 1;
    var d = isLE ? 1 : -1;
    var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;
    value = Math.abs(value);

    if (isNaN(value) || value === Infinity) {
      m = isNaN(value) ? 1 : 0;
      e = eMax;
    } else {
      e = Math.floor(Math.log(value) / Math.LN2);

      if (value * (c = Math.pow(2, -e)) < 1) {
        e--;
        c *= 2;
      }

      if (e + eBias >= 1) {
        value += rt / c;
      } else {
        value += rt * Math.pow(2, 1 - eBias);
      }

      if (value * c >= 2) {
        e++;
        c /= 2;
      }

      if (e + eBias >= eMax) {
        m = 0;
        e = eMax;
      } else if (e + eBias >= 1) {
        m = (value * c - 1) * Math.pow(2, mLen);
        e = e + eBias;
      } else {
        m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);
        e = 0;
      }
    }

    for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}

    e = e << mLen | m;
    eLen += mLen;

    for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}

    buffer[offset + i - d] |= s * 128;
  };
},747,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

  function strictlySplitByteSequence(buf, cp) {
    var list = [];
    var last = 0;
    var i = buf.indexOf(cp);

    while (i >= 0) {
      list.push(buf.slice(last, i));
      last = i + 1;
      i = buf.indexOf(cp, last);
    }

    if (last !== buf.length) {
      list.push(buf.slice(last));
    }

    return list;
  }

  function replaceByteInByteSequence(buf, from, to) {
    var i = buf.indexOf(from);

    while (i >= 0) {
      buf[i] = to;
      i = buf.indexOf(from, i + 1);
    }

    return buf;
  }

  function percentEncode(c) {
    var hex = c.toString(16).toUpperCase();

    if (hex.length === 1) {
      hex = "0" + hex;
    }

    return "%" + hex;
  }

  function percentDecode(input) {
    var output = _$$_REQUIRE(_dependencyMap[0]).Buffer.alloc(input.byteLength);

    var ptr = 0;

    for (var i = 0; i < input.length; ++i) {
      if (input[i] !== 37 || !_$$_REQUIRE(_dependencyMap[1]).isASCIIHex(input[i + 1]) || !_$$_REQUIRE(_dependencyMap[1]).isASCIIHex(input[i + 2])) {
        output[ptr++] = input[i];
      } else {
        output[ptr++] = parseInt(input.slice(i + 1, i + 3).toString(), 16);
        i += 2;
      }
    }

    return output.slice(0, ptr);
  }

  function _parseUrlencoded(input) {
    var sequences = strictlySplitByteSequence(input, 38);
    var output = [];

    for (var _iterator = _createForOfIteratorHelperLoose(sequences), _step; !(_step = _iterator()).done;) {
      var bytes = _step.value;

      if (bytes.length === 0) {
        continue;
      }

      var name = undefined;
      var value = undefined;
      var indexOfEqual = bytes.indexOf(61);

      if (indexOfEqual >= 0) {
        name = bytes.slice(0, indexOfEqual);
        value = bytes.slice(indexOfEqual + 1);
      } else {
        name = bytes;
        value = _$$_REQUIRE(_dependencyMap[0]).Buffer.alloc(0);
      }

      name = replaceByteInByteSequence(_$$_REQUIRE(_dependencyMap[0]).Buffer.from(name), 43, 32);
      value = replaceByteInByteSequence(_$$_REQUIRE(_dependencyMap[0]).Buffer.from(value), 43, 32);
      output.push([percentDecode(name).toString(), percentDecode(value).toString()]);
    }

    return output;
  }

  function serializeUrlencodedByte(input) {
    var output = "";

    for (var _iterator2 = _createForOfIteratorHelperLoose(input), _step2; !(_step2 = _iterator2()).done;) {
      var byte = _step2.value;

      if (byte === 32) {
        output += "+";
      } else if (byte === 42 || byte === 45 || byte === 46 || byte >= 48 && byte <= 57 || byte >= 65 && byte <= 90 || byte === 95 || byte >= 97 && byte <= 122) {
        output += String.fromCodePoint(byte);
      } else {
        output += percentEncode(byte);
      }
    }

    return output;
  }

  function serializeUrlencoded(tuples) {
    var encodingOverride = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
    var encoding = "utf-8";

    if (encodingOverride !== undefined) {
      encoding = encodingOverride;
    }

    var output = "";

    for (var _iterator3 = _createForOfIteratorHelperLoose(tuples.entries()), _step3; !(_step3 = _iterator3()).done;) {
      var _ref = _step3.value;

      var _ref2 = _$$_REQUIRE(_dependencyMap[2])(_ref, 2);

      var i = _ref2[0];
      var tuple = _ref2[1];
      var name = serializeUrlencodedByte(_$$_REQUIRE(_dependencyMap[0]).Buffer.from(tuple[0]));
      var value = tuple[1];

      if (tuple.length > 2 && tuple[2] !== undefined) {
        if (tuple[2] === "hidden" && name === "_charset_") {
          value = encoding;
        } else if (tuple[2] === "file") {
          value = value.name;
        }
      }

      value = serializeUrlencodedByte(_$$_REQUIRE(_dependencyMap[0]).Buffer.from(value));

      if (i !== 0) {
        output += "&";
      }

      output += name + "=" + value;
    }

    return output;
  }

  module.exports = {
    percentEncode: percentEncode,
    percentDecode: percentDecode,
    parseUrlencoded: function parseUrlencoded(input) {
      return _parseUrlencoded(_$$_REQUIRE(_dependencyMap[0]).Buffer.from(input));
    },
    serializeUrlencoded: serializeUrlencoded
  };
},748,[746,745,41]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

  var IteratorPrototype = Object.create(_$$_REQUIRE(_dependencyMap[0]).IteratorPrototype, _$$_REQUIRE(_dependencyMap[1])({
    next: {
      value: function next() {
        var internal = this[_$$_REQUIRE(_dependencyMap[0]).iterInternalSymbol];

        var target = internal.target,
            kind = internal.kind,
            index = internal.index;
        var values = Array.from(target[_$$_REQUIRE(_dependencyMap[0]).implSymbol]);
        var len = values.length;

        if (index >= len) {
          return {
            value: undefined,
            done: true
          };
        }

        var pair = values[index];
        internal.index = index + 1;

        var _pair$map = pair.map(_$$_REQUIRE(_dependencyMap[0]).tryWrapperForImpl),
            _pair$map2 = _$$_REQUIRE(_dependencyMap[2])(_pair$map, 2),
            key = _pair$map2[0],
            value = _pair$map2[1];

        var result;

        switch (kind) {
          case "key":
            result = key;
            break;

          case "value":
            result = value;
            break;

          case "key+value":
            result = [key, value];
            break;
        }

        return {
          value: result,
          done: false
        };
      },
      writable: true,
      enumerable: true,
      configurable: true
    }
  }, Symbol.toStringTag, {
    value: "URLSearchParams Iterator",
    configurable: true
  }));
  var iface = {
    _mixedIntoPredicates: [],
    is: function is(obj) {
      if (obj) {
        if (_$$_REQUIRE(_dependencyMap[0]).hasOwn(obj, _$$_REQUIRE(_dependencyMap[0]).implSymbol) && obj[_$$_REQUIRE(_dependencyMap[0]).implSymbol] instanceof _$$_REQUIRE(_dependencyMap[3]).implementation) {
          return true;
        }

        for (var _iterator = _createForOfIteratorHelperLoose(module.exports._mixedIntoPredicates), _step; !(_step = _iterator()).done;) {
          var isMixedInto = _step.value;

          if (isMixedInto(obj)) {
            return true;
          }
        }
      }

      return false;
    },
    isImpl: function isImpl(obj) {
      if (obj) {
        if (obj instanceof _$$_REQUIRE(_dependencyMap[3]).implementation) {
          return true;
        }

        var wrapper = _$$_REQUIRE(_dependencyMap[0]).wrapperForImpl(obj);

        for (var _iterator2 = _createForOfIteratorHelperLoose(module.exports._mixedIntoPredicates), _step2; !(_step2 = _iterator2()).done;) {
          var isMixedInto = _step2.value;

          if (isMixedInto(wrapper)) {
            return true;
          }
        }
      }

      return false;
    },
    convert: function convert(obj) {
      var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
          _ref$context = _ref.context,
          context = _ref$context === undefined ? "The provided value" : _ref$context;

      if (module.exports.is(obj)) {
        return _$$_REQUIRE(_dependencyMap[0]).implForWrapper(obj);
      }

      throw new TypeError(context + " is not of type 'URLSearchParams'.");
    },
    createDefaultIterator: function createDefaultIterator(target, kind) {
      var iterator = Object.create(IteratorPrototype);
      Object.defineProperty(iterator, _$$_REQUIRE(_dependencyMap[0]).iterInternalSymbol, {
        value: {
          target: target,
          kind: kind,
          index: 0
        },
        configurable: true
      });
      return iterator;
    },
    create: function create(globalObject, constructorArgs, privateData) {
      if (globalObject[_$$_REQUIRE(_dependencyMap[0]).ctorRegistrySymbol] === undefined) {
        throw new Error("Internal error: invalid global object");
      }

      var ctor = globalObject[_$$_REQUIRE(_dependencyMap[0]).ctorRegistrySymbol]["URLSearchParams"];

      if (ctor === undefined) {
        throw new Error("Internal error: constructor URLSearchParams is not installed on the passed global object");
      }

      var obj = Object.create(ctor.prototype);
      obj = iface.setup(obj, globalObject, constructorArgs, privateData);
      return obj;
    },
    createImpl: function createImpl(globalObject, constructorArgs, privateData) {
      var obj = iface.create(globalObject, constructorArgs, privateData);
      return _$$_REQUIRE(_dependencyMap[0]).implForWrapper(obj);
    },
    _internalSetup: function _internalSetup(obj) {},
    setup: function setup(obj, globalObject) {
      var constructorArgs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
      var privateData = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
      privateData.wrapper = obj;

      iface._internalSetup(obj);

      Object.defineProperty(obj, _$$_REQUIRE(_dependencyMap[0]).implSymbol, {
        value: new (_$$_REQUIRE(_dependencyMap[3]).implementation)(globalObject, constructorArgs, privateData),
        configurable: true
      });
      obj[_$$_REQUIRE(_dependencyMap[0]).implSymbol][_$$_REQUIRE(_dependencyMap[0]).wrapperSymbol] = obj;

      if (_$$_REQUIRE(_dependencyMap[3]).init) {
        _$$_REQUIRE(_dependencyMap[3]).init(obj[_$$_REQUIRE(_dependencyMap[0]).implSymbol], privateData);
      }

      return obj;
    },
    install: function install(globalObject) {
      var _Object$definePropert;

      var URLSearchParams = function () {
        function URLSearchParams() {
          _$$_REQUIRE(_dependencyMap[4])(this, URLSearchParams);

          var args = [];
          {
            var curArg = arguments[0];

            if (curArg !== undefined) {
              if (_$$_REQUIRE(_dependencyMap[0]).isObject(curArg)) {
                if (curArg[Symbol.iterator] !== undefined) {
                  if (!_$$_REQUIRE(_dependencyMap[0]).isObject(curArg)) {
                    throw new TypeError("Failed to construct 'URLSearchParams': parameter 1 sequence is not an iterable object.");
                  } else {
                    var V = [];
                    var tmp = curArg;

                    for (var _iterator3 = _createForOfIteratorHelperLoose(tmp), _step3; !(_step3 = _iterator3()).done;) {
                      var nextItem = _step3.value;

                      if (!_$$_REQUIRE(_dependencyMap[0]).isObject(nextItem)) {
                        throw new TypeError("Failed to construct 'URLSearchParams': parameter 1 sequence's element is not an iterable object.");
                      } else {
                        var _V = [];
                        var _tmp = nextItem;

                        for (var _iterator4 = _createForOfIteratorHelperLoose(_tmp), _step4; !(_step4 = _iterator4()).done;) {
                          var _nextItem = _step4.value;
                          _nextItem = _$$_REQUIRE(_dependencyMap[5])["USVString"](_nextItem, {
                            context: "Failed to construct 'URLSearchParams': parameter 1 sequence's element's element"
                          });

                          _V.push(_nextItem);
                        }

                        nextItem = _V;
                      }

                      V.push(nextItem);
                    }

                    curArg = V;
                  }
                } else {
                  if (!_$$_REQUIRE(_dependencyMap[0]).isObject(curArg)) {
                    throw new TypeError("Failed to construct 'URLSearchParams': parameter 1 record is not an object.");
                  } else {
                    var result = Object.create(null);

                    for (var _iterator5 = _createForOfIteratorHelperLoose(Reflect.ownKeys(curArg)), _step5; !(_step5 = _iterator5()).done;) {
                      var key = _step5.value;
                      var desc = Object.getOwnPropertyDescriptor(curArg, key);

                      if (desc && desc.enumerable) {
                        var typedKey = key;
                        typedKey = _$$_REQUIRE(_dependencyMap[5])["USVString"](typedKey, {
                          context: "Failed to construct 'URLSearchParams': parameter 1 record's key"
                        });
                        var typedValue = curArg[key];
                        typedValue = _$$_REQUIRE(_dependencyMap[5])["USVString"](typedValue, {
                          context: "Failed to construct 'URLSearchParams': parameter 1 record's value"
                        });
                        result[typedKey] = typedValue;
                      }
                    }

                    curArg = result;
                  }
                }
              } else {
                curArg = _$$_REQUIRE(_dependencyMap[5])["USVString"](curArg, {
                  context: "Failed to construct 'URLSearchParams': parameter 1"
                });
              }
            } else {
              curArg = "";
            }

            args.push(curArg);
          }
          return iface.setup(Object.create(this.constructor.prototype), globalObject, args);
        }

        _$$_REQUIRE(_dependencyMap[6])(URLSearchParams, [{
          key: "append",
          value: function append(name, value) {
            var _this$impl;

            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            if (arguments.length < 2) {
              throw new TypeError("Failed to execute 'append' on 'URLSearchParams': 2 arguments required, but only " + arguments.length + " present.");
            }

            var args = [];
            {
              var curArg = arguments[0];
              curArg = _$$_REQUIRE(_dependencyMap[5])["USVString"](curArg, {
                context: "Failed to execute 'append' on 'URLSearchParams': parameter 1"
              });
              args.push(curArg);
            }
            {
              var _curArg = arguments[1];
              _curArg = _$$_REQUIRE(_dependencyMap[5])["USVString"](_curArg, {
                context: "Failed to execute 'append' on 'URLSearchParams': parameter 2"
              });
              args.push(_curArg);
            }
            return (_this$impl = this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]).append.apply(_this$impl, args);
          }
        }, {
          key: "delete",
          value: function _delete(name) {
            var _this$impl2;

            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            if (arguments.length < 1) {
              throw new TypeError("Failed to execute 'delete' on 'URLSearchParams': 1 argument required, but only " + arguments.length + " present.");
            }

            var args = [];
            {
              var curArg = arguments[0];
              curArg = _$$_REQUIRE(_dependencyMap[5])["USVString"](curArg, {
                context: "Failed to execute 'delete' on 'URLSearchParams': parameter 1"
              });
              args.push(curArg);
            }
            return (_this$impl2 = this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]).delete.apply(_this$impl2, args);
          }
        }, {
          key: "get",
          value: function get(name) {
            var _this$impl3;

            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            if (arguments.length < 1) {
              throw new TypeError("Failed to execute 'get' on 'URLSearchParams': 1 argument required, but only " + arguments.length + " present.");
            }

            var args = [];
            {
              var curArg = arguments[0];
              curArg = _$$_REQUIRE(_dependencyMap[5])["USVString"](curArg, {
                context: "Failed to execute 'get' on 'URLSearchParams': parameter 1"
              });
              args.push(curArg);
            }
            return (_this$impl3 = this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]).get.apply(_this$impl3, args);
          }
        }, {
          key: "getAll",
          value: function getAll(name) {
            var _this$impl4;

            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            if (arguments.length < 1) {
              throw new TypeError("Failed to execute 'getAll' on 'URLSearchParams': 1 argument required, but only " + arguments.length + " present.");
            }

            var args = [];
            {
              var curArg = arguments[0];
              curArg = _$$_REQUIRE(_dependencyMap[5])["USVString"](curArg, {
                context: "Failed to execute 'getAll' on 'URLSearchParams': parameter 1"
              });
              args.push(curArg);
            }
            return _$$_REQUIRE(_dependencyMap[0]).tryWrapperForImpl((_this$impl4 = this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]).getAll.apply(_this$impl4, args));
          }
        }, {
          key: "has",
          value: function has(name) {
            var _this$impl5;

            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            if (arguments.length < 1) {
              throw new TypeError("Failed to execute 'has' on 'URLSearchParams': 1 argument required, but only " + arguments.length + " present.");
            }

            var args = [];
            {
              var curArg = arguments[0];
              curArg = _$$_REQUIRE(_dependencyMap[5])["USVString"](curArg, {
                context: "Failed to execute 'has' on 'URLSearchParams': parameter 1"
              });
              args.push(curArg);
            }
            return (_this$impl5 = this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]).has.apply(_this$impl5, args);
          }
        }, {
          key: "set",
          value: function set(name, value) {
            var _this$impl6;

            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            if (arguments.length < 2) {
              throw new TypeError("Failed to execute 'set' on 'URLSearchParams': 2 arguments required, but only " + arguments.length + " present.");
            }

            var args = [];
            {
              var curArg = arguments[0];
              curArg = _$$_REQUIRE(_dependencyMap[5])["USVString"](curArg, {
                context: "Failed to execute 'set' on 'URLSearchParams': parameter 1"
              });
              args.push(curArg);
            }
            {
              var _curArg2 = arguments[1];
              _curArg2 = _$$_REQUIRE(_dependencyMap[5])["USVString"](_curArg2, {
                context: "Failed to execute 'set' on 'URLSearchParams': parameter 2"
              });
              args.push(_curArg2);
            }
            return (_this$impl6 = this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]).set.apply(_this$impl6, args);
          }
        }, {
          key: "sort",
          value: function sort() {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            return this[_$$_REQUIRE(_dependencyMap[0]).implSymbol].sort();
          }
        }, {
          key: "toString",
          value: function toString() {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            return this[_$$_REQUIRE(_dependencyMap[0]).implSymbol].toString();
          }
        }, {
          key: "keys",
          value: function keys() {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            return module.exports.createDefaultIterator(this, "key");
          }
        }, {
          key: "values",
          value: function values() {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            return module.exports.createDefaultIterator(this, "value");
          }
        }, {
          key: "entries",
          value: function entries() {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            return module.exports.createDefaultIterator(this, "key+value");
          }
        }, {
          key: "forEach",
          value: function forEach(callback) {
            if (!this || !module.exports.is(this)) {
              throw new TypeError("Illegal invocation");
            }

            if (arguments.length < 1) {
              throw new TypeError("Failed to execute 'forEach' on 'iterable': 1 argument required, but only 0 present.");
            }

            if (typeof callback !== "function") {
              throw new TypeError("Failed to execute 'forEach' on 'iterable': The callback provided as parameter 1 is not a function.");
            }

            var thisArg = arguments[1];
            var pairs = Array.from(this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]);
            var i = 0;

            while (i < pairs.length) {
              var _pairs$i$map = pairs[i].map(_$$_REQUIRE(_dependencyMap[0]).tryWrapperForImpl),
                  _pairs$i$map2 = _$$_REQUIRE(_dependencyMap[2])(_pairs$i$map, 2),
                  key = _pairs$i$map2[0],
                  value = _pairs$i$map2[1];

              callback.call(thisArg, value, key, this);
              pairs = Array.from(this[_$$_REQUIRE(_dependencyMap[0]).implSymbol]);
              i++;
            }
          }
        }]);

        return URLSearchParams;
      }();

      Object.defineProperties(URLSearchParams.prototype, (_Object$definePropert = {
        append: {
          enumerable: true
        },
        delete: {
          enumerable: true
        },
        get: {
          enumerable: true
        },
        getAll: {
          enumerable: true
        },
        has: {
          enumerable: true
        },
        set: {
          enumerable: true
        },
        sort: {
          enumerable: true
        },
        toString: {
          enumerable: true
        },
        keys: {
          enumerable: true
        },
        values: {
          enumerable: true
        },
        entries: {
          enumerable: true
        },
        forEach: {
          enumerable: true
        }
      }, _$$_REQUIRE(_dependencyMap[1])(_Object$definePropert, Symbol.toStringTag, {
        value: "URLSearchParams",
        configurable: true
      }), _$$_REQUIRE(_dependencyMap[1])(_Object$definePropert, Symbol.iterator, {
        value: URLSearchParams.prototype.entries,
        configurable: true,
        writable: true
      }), _Object$definePropert));

      if (globalObject[_$$_REQUIRE(_dependencyMap[0]).ctorRegistrySymbol] === undefined) {
        globalObject[_$$_REQUIRE(_dependencyMap[0]).ctorRegistrySymbol] = Object.create(null);
      }

      globalObject[_$$_REQUIRE(_dependencyMap[0]).ctorRegistrySymbol]["URLSearchParams"] = URLSearchParams;
      Object.defineProperty(globalObject, "URLSearchParams", {
        configurable: true,
        writable: true,
        value: URLSearchParams
      });
    }
  };
  module.exports = iface;
},749,[741,27,41,750,7,751,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

  function stableSortBy(arr, compare) {
    return arr.map(function (item, index) {
      return {
        item: item,
        index: index
      };
    }).sort(function (a, b) {
      return compare(a.item, b.item) || a.index - b.index;
    }).map(function (_ref) {
      var item = _ref.item;
      return item;
    });
  }

  exports.implementation = function () {
    function URLSearchParamsImpl(globalObject, constructorArgs, _ref2) {
      var _ref2$doNotStripQMark = _ref2.doNotStripQMark,
          doNotStripQMark = _ref2$doNotStripQMark === undefined ? false : _ref2$doNotStripQMark;

      _$$_REQUIRE(_dependencyMap[0])(this, URLSearchParamsImpl);

      var init = constructorArgs[0];
      this._list = [];
      this._url = null;

      if (!doNotStripQMark && typeof init === "string" && init[0] === "?") {
        init = init.slice(1);
      }

      if (Array.isArray(init)) {
        for (var _iterator = _createForOfIteratorHelperLoose(init), _step; !(_step = _iterator()).done;) {
          var pair = _step.value;

          if (pair.length !== 2) {
            throw new TypeError("Failed to construct 'URLSearchParams': parameter 1 sequence's element does not contain exactly two elements.");
          }

          this._list.push([pair[0], pair[1]]);
        }
      } else if (typeof init === "object" && Object.getPrototypeOf(init) === null) {
        for (var _i = 0, _Object$keys = Object.keys(init); _i < _Object$keys.length; _i++) {
          var name = _Object$keys[_i];
          var value = init[name];

          this._list.push([name, value]);
        }
      } else {
        this._list = _$$_REQUIRE(_dependencyMap[1]).parseUrlencoded(init);
      }
    }

    _$$_REQUIRE(_dependencyMap[2])(URLSearchParamsImpl, [{
      key: "_updateSteps",
      value: function _updateSteps() {
        if (this._url !== null) {
          var query = _$$_REQUIRE(_dependencyMap[1]).serializeUrlencoded(this._list);

          if (query === "") {
            query = null;
          }

          this._url._url.query = query;
        }
      }
    }, {
      key: "append",
      value: function append(name, value) {
        this._list.push([name, value]);

        this._updateSteps();
      }
    }, {
      key: "delete",
      value: function _delete(name) {
        var i = 0;

        while (i < this._list.length) {
          if (this._list[i][0] === name) {
            this._list.splice(i, 1);
          } else {
            i++;
          }
        }

        this._updateSteps();
      }
    }, {
      key: "get",
      value: function get(name) {
        for (var _iterator2 = _createForOfIteratorHelperLoose(this._list), _step2; !(_step2 = _iterator2()).done;) {
          var tuple = _step2.value;

          if (tuple[0] === name) {
            return tuple[1];
          }
        }

        return null;
      }
    }, {
      key: "getAll",
      value: function getAll(name) {
        var output = [];

        for (var _iterator3 = _createForOfIteratorHelperLoose(this._list), _step3; !(_step3 = _iterator3()).done;) {
          var tuple = _step3.value;

          if (tuple[0] === name) {
            output.push(tuple[1]);
          }
        }

        return output;
      }
    }, {
      key: "has",
      value: function has(name) {
        for (var _iterator4 = _createForOfIteratorHelperLoose(this._list), _step4; !(_step4 = _iterator4()).done;) {
          var tuple = _step4.value;

          if (tuple[0] === name) {
            return true;
          }
        }

        return false;
      }
    }, {
      key: "set",
      value: function set(name, value) {
        var found = false;
        var i = 0;

        while (i < this._list.length) {
          if (this._list[i][0] === name) {
            if (found) {
              this._list.splice(i, 1);
            } else {
              found = true;
              this._list[i][1] = value;
              i++;
            }
          } else {
            i++;
          }
        }

        if (!found) {
          this._list.push([name, value]);
        }

        this._updateSteps();
      }
    }, {
      key: "sort",
      value: function sort() {
        this._list = stableSortBy(this._list, function (a, b) {
          return a[0] > b[0];
        });

        this._updateSteps();
      }
    }, {
      key: Symbol.iterator,
      value: function value() {
        return this._list[Symbol.iterator]();
      }
    }, {
      key: "toString",
      value: function toString() {
        return _$$_REQUIRE(_dependencyMap[1]).serializeUrlencoded(this._list);
      }
    }]);

    return URLSearchParamsImpl;
  }();
},750,[7,748,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  function _(message, opts) {
    return (opts && opts.context ? opts.context : "Value") + " " + message + ".";
  }

  function type(V) {
    if (V === null) {
      return "Null";
    }

    switch (typeof V) {
      case "undefined":
        return "Undefined";

      case "boolean":
        return "Boolean";

      case "number":
        return "Number";

      case "string":
        return "String";

      case "symbol":
        return "Symbol";

      case "object":
      case "function":
      default:
        return "Object";
    }
  }

  function evenRound(x) {
    if (x > 0 && x % 1 === 0.5 && (x & 1) === 0 || x < 0 && x % 1 === -0.5 && (x & 1) === 1) {
      return censorNegativeZero(Math.floor(x));
    }

    return censorNegativeZero(Math.round(x));
  }

  function integerPart(n) {
    return censorNegativeZero(Math.trunc(n));
  }

  function sign(x) {
    return x < 0 ? -1 : 1;
  }

  function modulo(x, y) {
    var signMightNotMatch = x % y;

    if (sign(y) !== sign(signMightNotMatch)) {
      return signMightNotMatch + y;
    }

    return signMightNotMatch;
  }

  function censorNegativeZero(x) {
    return x === 0 ? 0 : x;
  }

  function createIntegerConversion(bitLength, typeOpts) {
    var isSigned = !typeOpts.unsigned;
    var lowerBound;
    var upperBound;

    if (bitLength === 64) {
      upperBound = Math.pow(2, 53) - 1;
      lowerBound = !isSigned ? 0 : -Math.pow(2, 53) + 1;
    } else if (!isSigned) {
      lowerBound = 0;
      upperBound = Math.pow(2, bitLength) - 1;
    } else {
      lowerBound = -Math.pow(2, bitLength - 1);
      upperBound = Math.pow(2, bitLength - 1) - 1;
    }

    var twoToTheBitLength = Math.pow(2, bitLength);
    var twoToOneLessThanTheBitLength = Math.pow(2, bitLength - 1);
    return function (V, opts) {
      if (opts === undefined) {
        opts = {};
      }

      var x = +V;
      x = censorNegativeZero(x);

      if (opts.enforceRange) {
        if (!Number.isFinite(x)) {
          throw new TypeError(_("is not a finite number", opts));
        }

        x = integerPart(x);

        if (x < lowerBound || x > upperBound) {
          throw new TypeError(_("is outside the accepted range of " + lowerBound + " to " + upperBound + ", inclusive", opts));
        }

        return x;
      }

      if (!Number.isNaN(x) && opts.clamp) {
        x = Math.min(Math.max(x, lowerBound), upperBound);
        x = evenRound(x);
        return x;
      }

      if (!Number.isFinite(x) || x === 0) {
        return 0;
      }

      x = integerPart(x);

      if (x >= lowerBound && x <= upperBound) {
        return x;
      }

      x = modulo(x, twoToTheBitLength);

      if (isSigned && x >= twoToOneLessThanTheBitLength) {
        return x - twoToTheBitLength;
      }

      return x;
    };
  }

  exports.any = function (V) {
    return V;
  };

  exports.void = function () {
    return undefined;
  };

  exports.boolean = function (val) {
    return !!val;
  };

  exports.byte = createIntegerConversion(8, {
    unsigned: false
  });
  exports.octet = createIntegerConversion(8, {
    unsigned: true
  });
  exports.short = createIntegerConversion(16, {
    unsigned: false
  });
  exports["unsigned short"] = createIntegerConversion(16, {
    unsigned: true
  });
  exports.long = createIntegerConversion(32, {
    unsigned: false
  });
  exports["unsigned long"] = createIntegerConversion(32, {
    unsigned: true
  });
  exports["long long"] = createIntegerConversion(64, {
    unsigned: false
  });
  exports["unsigned long long"] = createIntegerConversion(64, {
    unsigned: true
  });

  exports.double = function (V, opts) {
    var x = +V;

    if (!Number.isFinite(x)) {
      throw new TypeError(_("is not a finite floating-point value", opts));
    }

    return x;
  };

  exports["unrestricted double"] = function (V) {
    var x = +V;
    return x;
  };

  exports.float = function (V, opts) {
    var x = +V;

    if (!Number.isFinite(x)) {
      throw new TypeError(_("is not a finite floating-point value", opts));
    }

    if (Object.is(x, -0)) {
      return x;
    }

    var y = Math.fround(x);

    if (!Number.isFinite(y)) {
      throw new TypeError(_("is outside the range of a single-precision floating-point value", opts));
    }

    return y;
  };

  exports["unrestricted float"] = function (V) {
    var x = +V;

    if (isNaN(x)) {
      return x;
    }

    if (Object.is(x, -0)) {
      return x;
    }

    return Math.fround(x);
  };

  exports.DOMString = function (V, opts) {
    if (opts === undefined) {
      opts = {};
    }

    if (opts.treatNullAsEmptyString && V === null) {
      return "";
    }

    if (typeof V === "symbol") {
      throw new TypeError(_("is a symbol, which cannot be converted to a string", opts));
    }

    return String(V);
  };

  exports.ByteString = function (V, opts) {
    var x = exports.DOMString(V, opts);
    var c;

    for (var i = 0; (c = x.codePointAt(i)) !== undefined; ++i) {
      if (c > 255) {
        throw new TypeError(_("is not a valid ByteString", opts));
      }
    }

    return x;
  };

  exports.USVString = function (V, opts) {
    var S = exports.DOMString(V, opts);
    var n = S.length;
    var U = [];

    for (var i = 0; i < n; ++i) {
      var c = S.charCodeAt(i);

      if (c < 0xD800 || c > 0xDFFF) {
        U.push(String.fromCodePoint(c));
      } else if (0xDC00 <= c && c <= 0xDFFF) {
        U.push(String.fromCodePoint(0xFFFD));
      } else if (i === n - 1) {
        U.push(String.fromCodePoint(0xFFFD));
      } else {
        var d = S.charCodeAt(i + 1);

        if (0xDC00 <= d && d <= 0xDFFF) {
          var a = c & 0x3FF;
          var b = d & 0x3FF;
          U.push(String.fromCodePoint(65536 + 1024 * a + b));
          ++i;
        } else {
          U.push(String.fromCodePoint(0xFFFD));
        }
      }
    }

    return U.join("");
  };

  exports.object = function (V, opts) {
    if (type(V) !== "Object") {
      throw new TypeError(_("is not an object", opts));
    }

    return V;
  };

  function convertCallbackFunction(V, opts) {
    if (typeof V !== "function") {
      throw new TypeError(_("is not a function", opts));
    }

    return V;
  }

  var abByteLengthGetter = Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, "byteLength").get;

  function isArrayBuffer(V) {
    try {
      abByteLengthGetter.call(V);
      return true;
    } catch (e) {
      return false;
    }
  }

  exports.ArrayBuffer = function (V, opts) {
    if (!isArrayBuffer(V)) {
      throw new TypeError(_("is not a view on an ArrayBuffer object", opts));
    }

    return V;
  };

  var dvByteLengthGetter = Object.getOwnPropertyDescriptor(DataView.prototype, "byteLength").get;

  exports.DataView = function (V, opts) {
    try {
      dvByteLengthGetter.call(V);
      return V;
    } catch (e) {
      throw new TypeError(_("is not a view on an DataView object", opts));
    }
  };

  [Int8Array, Int16Array, Int32Array, Uint8Array, Uint16Array, Uint32Array, Uint8ClampedArray, Float32Array, Float64Array].forEach(function (func) {
    var name = func.name;
    var article = /^[AEIOU]/.test(name) ? "an" : "a";

    exports[name] = function (V, opts) {
      if (!ArrayBuffer.isView(V) || V.constructor.name !== name) {
        throw new TypeError(_("is not " + article + " " + name + " object", opts));
      }

      return V;
    };
  });

  exports.ArrayBufferView = function (V, opts) {
    if (!ArrayBuffer.isView(V)) {
      throw new TypeError(_("is not a view on an ArrayBuffer object", opts));
    }

    return V;
  };

  exports.BufferSource = function (V, opts) {
    if (!ArrayBuffer.isView(V) && !isArrayBuffer(V)) {
      throw new TypeError(_("is not an ArrayBuffer object or a view on one", opts));
    }

    return V;
  };

  exports.DOMTimeStamp = exports["unsigned long long"];
  exports.Function = convertCallbackFunction;
  exports.VoidFunction = convertCallbackFunction;
},751,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "URLSearchParams", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).URLSearchParams;
    }
  });
},752,[738]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "_args": [
    [
      "react-native-url-polyfill@1.3.0",
      "/Users/ipaddev/sdk/firebase-ios-upgrade"
    ]
  ],
  "_from": "react-native-url-polyfill@1.3.0",
  "_id": "react-native-url-polyfill@1.3.0",
  "_inBundle": false,
  "_integrity": "sha512-w9JfSkvpqqlix9UjDvJjm1EjSt652zVQ6iwCIj1cVVkwXf4jQhQgTNXY6EVTwuAmUjg6BC6k9RHCBynoLFo3IQ==",
  "_location": "/react-native-url-polyfill",
  "_phantomChildren": {},
  "_requested": {
    "type": "version",
    "registry": true,
    "raw": "react-native-url-polyfill@1.3.0",
    "name": "react-native-url-polyfill",
    "escapedName": "react-native-url-polyfill",
    "rawSpec": "1.3.0",
    "saveSpec": null,
    "fetchSpec": "1.3.0"
  },
  "_requiredBy": [
    "/rn-options-page"
  ],
  "_resolved": "https://registry.npmjs.org/react-native-url-polyfill/-/react-native-url-polyfill-1.3.0.tgz",
  "_spec": "1.3.0",
  "_where": "/Users/ipaddev/sdk/firebase-ios-upgrade",
  "author": {
    "name": "Nicolas Charpentier",
    "email": "nicolas.charpentier079@gmail.com"
  },
  "bugs": {
    "url": "https://github.com/charpeni/react-native-url-polyfill/issues"
  },
  "dependencies": {
    "whatwg-url-without-unicode": "8.0.0-3"
  },
  "description": "A lightweight and trustworthy URL polyfill for React Native",
  "devDependencies": {
    "@react-native-community/eslint-config": "^2.0.0",
    "chalk": "^4.0.0",
    "eslint": "^7.1.0",
    "eslint-plugin-prettier": "^3.1.3",
    "execa": "^5.0.0",
    "filesize": "^6.1.0",
    "husky": ">=1",
    "jest": "^26.0.1",
    "lint-staged": ">=8",
    "metro-react-native-babel-preset": "^0.65.0",
    "ora": "^5.3.0",
    "prepend-file": "^1.3.1",
    "prettier": "^2.0.5",
    "react": "16.13.1",
    "react-native": "0.63.4",
    "rmfr": "^2.0.0",
    "source-map-explorer": "^2.4.2",
    "tmp": "^0.2.1",
    "typescript": "^4.1.3",
    "uuid": "^8.1.0"
  },
  "homepage": "https://github.com/charpeni/react-native-url-polyfill",
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "jest": {
    "preset": "react-native",
    "testPathIgnorePatterns": [
      "/node_modules/",
      "./detox/"
    ]
  },
  "keywords": [
    "URL",
    "URLSearchParams",
    "polyfill",
    "react native",
    "whatwg-url"
  ],
  "license": "MIT",
  "lint-staged": {
    "*.js": [
      "eslint --fix",
      "git add"
    ]
  },
  "main": "index.js",
  "name": "react-native-url-polyfill",
  "peerDependencies": {
    "react-native": "*"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/charpeni/react-native-url-polyfill.git"
  },
  "scripts": {
    "bundle-size": "node scripts/bundle-size",
    "lint": "eslint .",
    "test": "jest"
  },
  "types": "index.d.ts",
  "version": "1.3.0"
}
;
},753,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;
  exports.getVersion = getVersion;
  exports.setFavoriteEdition = setFavoriteEdition;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _api = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _log = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _network = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _errorsView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _routesHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _editionsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _routeSeparator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _routeHeader = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _paperSetupConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _localeConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _userConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _Content = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _issue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[23]));

  var _excluded = ["pSetup", "server", "pSetupOverride", "WebViewComponent", "initialRoute", "getSavedIssues", "languagePackOverride", "onPSetupError", "onLocaleError", "onUserSettingsError", "onEditionsError", "onSpecialsError", "issueCallbacks", "logCallbacks", "urlParams", "favoriteEdition"];

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  var styles = _reactNative.StyleSheet.create({
    app: {
      height: "100%",
      flex: 1,
      justifyContent: "center",
      alignItems: "center",
      backgroundColor: _$$_REQUIRE(_dependencyMap[24]).colors.white
    },
    errors: {
      position: "absolute",
      bottom: 0,
      left: 0,
      right: 0
    }
  });

  function getVersion() {
    return _$$_REQUIRE(_dependencyMap[25]).VERSION;
  }

  function initAPI() {
    _api.default.setServer(_liveConfig.default.getServer());

    _api.default.setEntryPoint(_liveConfig.default.getEntryPoint());

    _api.default.setParams((0, _extends2.default)({}, _liveConfig.default.apiParams(), {
      pSetup: _liveConfig.default.getPSetupName(),
      version: getVersion()
    }));

    _api.default.init();
  }

  function getStateData(getSavedIssues) {
    var editionsRaw, editions, savedIssues, firstIssue, aspectRatio;
    return _regenerator.default.async(function getStateData$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            _context.next = 2;
            return _regenerator.default.awrap((0, _api.getEditions)({
              pSetup: _liveConfig.default.getMainPSetupName()
            }));

          case 2:
            editionsRaw = _context.sent;

            _liveConfig.default.getSettings().setEditions(editionsRaw);

            editions = _editionsHelper.default.parseEditions(_liveConfig.default.getSettings().editions);

            if (!(typeof getSavedIssues === "function")) {
              _context.next = 17;
              break;
            }

            _context.prev = 6;
            _context.next = 9;
            return _regenerator.default.awrap(getSavedIssues());

          case 9:
            savedIssues = _context.sent;

            _editionsHelper.default.updateDownloadIssues(editions, savedIssues);

            _log.default.log(savedIssues);

            _context.next = 17;
            break;

          case 14:
            _context.prev = 14;
            _context.t0 = _context["catch"](6);

            _log.default.warn(_context.t0.message);

          case 17:
            editions = _editionsHelper.default.filterEditions(editions, function (issue) {
              return _network.default.isOnline() || issue.isDownloaded();
            });
            firstIssue = _editionsHelper.default.getFirstValidIssue(editions);
            _context.next = 21;
            return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[26]).getIssueAspectRatio)(firstIssue));

          case 21:
            aspectRatio = _context.sent;
            return _context.abrupt("return", {
              editions: editions,
              aspectRatio: aspectRatio
            });

          case 23:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, [[6, 14]], Promise);
  }

  var setFavoriteEditionMethod;

  function setFavoriteEdition(edition) {
    if (typeof setFavoriteEditionMethod === "function") {
      setFavoriteEditionMethod(edition);
    }
  }

  function Container(props) {
    var pSetup = props.pSetup,
        server = props.server,
        pSetupOverride = props.pSetupOverride,
        WebViewComponent = props.WebViewComponent,
        initialRouteName = props.initialRoute,
        getSavedIssues = props.getSavedIssues,
        languagePackOverride = props.languagePackOverride,
        onPSetupError = props.onPSetupError,
        onLocaleError = props.onLocaleError,
        onUserSettingsError = props.onUserSettingsError,
        onEditionsError = props.onEditionsError,
        onSpecialsError = props.onSpecialsError,
        issueCallbacks = props.issueCallbacks,
        logCallbacks = props.logCallbacks,
        urlParams = props.urlParams,
        favoriteEdition = props.favoriteEdition,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);

    var _useState = (0, _react.useState)(true),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        loading = _useState2[0],
        setLoading = _useState2[1];

    var _useState3 = (0, _react.useState)(),
        _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
        data = _useState4[0],
        setData = _useState4[1];

    var _useState5 = (0, _react.useState)(favoriteEdition),
        _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
        favEdi = _useState6[0],
        setFavEdi = _useState6[1];

    setFavoriteEditionMethod = setFavEdi;

    var loadConfig = function _callee() {
      var startDate, mPSetup, mLocale, mUserSettings;
      return _regenerator.default.async(function _callee$(_context2) {
        while (1) {
          switch (_context2.prev = _context2.next) {
            case 0:
              startDate = new Date().getTime();

              _liveConfig.default.setInitialProps(props);

              _liveConfig.default.WebViewComponent = WebViewComponent;
              initAPI();
              _network.default.isHTTPS = _liveConfig.default.getProtocol() === "https:";
              _context2.prev = 5;
              mPSetup = new _paperSetupConfig.default(pSetup);
              _context2.next = 9;
              return _regenerator.default.awrap(mPSetup.download(pSetupOverride));

            case 9:
              _context2.next = 11;
              return _regenerator.default.awrap(mPSetup.init());

            case 11:
              _context2.next = 16;
              break;

            case 13:
              _context2.prev = 13;
              _context2.t0 = _context2["catch"](5);
              onPSetupError(_context2.t0);

            case 16:
              _context2.prev = 16;
              mLocale = new _localeConfig.default();
              _context2.next = 20;
              return _regenerator.default.awrap(mLocale.init(mPSetup, languagePackOverride));

            case 20:
              _context2.next = 25;
              break;

            case 22:
              _context2.prev = 22;
              _context2.t1 = _context2["catch"](16);
              onLocaleError(_context2.t1);

            case 25:
              _context2.prev = 25;
              mUserSettings = new _userConfig.default();
              _context2.next = 29;
              return _regenerator.default.awrap(mUserSettings.init(mPSetup));

            case 29:
              _context2.next = 34;
              break;

            case 31:
              _context2.prev = 31;
              _context2.t2 = _context2["catch"](25);
              onUserSettingsError(_context2.t2);

            case 34:
              _liveConfig.default.addProps({
                mPSetup: mPSetup,
                mLocale: mLocale,
                mUserSettings: mUserSettings
              });

              _log.default.debug("Load config in: " + (new Date().getTime() - startDate) / 1000 + "s");

            case 36:
            case "end":
              return _context2.stop();
          }
        }
      }, null, null, [[5, 13], [16, 22], [25, 31]], Promise);
    };

    var setRoutes = function setRoutes(editions) {
      var _LiveConfig$getPSetup = _liveConfig.default.getPSetup(),
          tabs = _LiveConfig$getPSetup.tabs;

      var _RoutesHelper$getRout = _routesHelper.default.getRoutes(tabs),
          routes = _RoutesHelper$getRout.drawerRoutes,
          tabsRoutes = _RoutesHelper$getRout.tabsRoutes;

      var mainRoute = _routesHelper.default.getMainRoute(editions, tabsRoutes);

      var drawerRoutes = [mainRoute].concat((0, _toConsumableArray2.default)(routes));

      var tabsLabel = _liveConfig.default.getLocale().strings("str_tabs");

      if (tabsLabel) {
        drawerRoutes.unshift(new _routeHeader.default(tabsLabel), new _routeSeparator.default());
      }

      var initialRoute;

      if (!initialRouteName || initialRouteName === _$$_REQUIRE(_dependencyMap[27]).TABS.HOME) {
        initialRoute = mainRoute;
      } else {
        initialRoute = _routesHelper.default.getInitialRoute(drawerRoutes, initialRouteName);
      }

      return {
        initialRoute: initialRoute,
        drawerRoutes: drawerRoutes
      };
    };

    var loadData = function _callee2() {
      var startDate, newData, _setRoutes, initialRoute, drawerRoutes;

      return _regenerator.default.async(function _callee2$(_context3) {
        while (1) {
          switch (_context3.prev = _context3.next) {
            case 0:
              startDate = new Date().getTime();
              _context3.next = 3;
              return _regenerator.default.awrap(getStateData(getSavedIssues));

            case 3:
              newData = _context3.sent;
              _setRoutes = setRoutes(newData.editions), initialRoute = _setRoutes.initialRoute, drawerRoutes = _setRoutes.drawerRoutes;
              setData((0, _extends2.default)({
                drawerRoutes: drawerRoutes
              }, newData, {
                initialRoute: initialRoute != null ? initialRoute : ""
              }));

              _log.default.debug("Load data in: " + (new Date().getTime() - startDate) / 1000 + "s");

            case 7:
            case "end":
              return _context3.stop();
          }
        }
      }, null, null, null, Promise);
    };

    var loadSpecials = function _callee3() {
      var editions, specials;
      return _regenerator.default.async(function _callee3$(_context4) {
        while (1) {
          switch (_context4.prev = _context4.next) {
            case 0:
              _context4.prev = 0;
              editions = data.editions;
              _context4.t0 = _editionsHelper.default;
              _context4.next = 5;
              return _regenerator.default.awrap((0, _api.getSpecials)());

            case 5:
              _context4.t1 = _context4.sent;
              specials = _context4.t0.parseSpecials.call(_context4.t0, _context4.t1);
              setData(function (prevState) {
                return (0, _extends2.default)({}, prevState, {
                  specials: [].concat((0, _toConsumableArray2.default)(_editionsHelper.default.getShortuctEditions(editions)), (0, _toConsumableArray2.default)(specials))
                });
              });
              _context4.next = 13;
              break;

            case 10:
              _context4.prev = 10;
              _context4.t2 = _context4["catch"](0);
              onSpecialsError(_context4.t2);

            case 13:
            case "end":
              return _context4.stop();
          }
        }
      }, null, null, [[0, 10]], Promise);
    };

    var load = function _callee4() {
      return _regenerator.default.async(function _callee4$(_context5) {
        while (1) {
          switch (_context5.prev = _context5.next) {
            case 0:
              _context5.next = 2;
              return _regenerator.default.awrap(loadConfig());

            case 2:
              _context5.prev = 2;
              _context5.next = 5;
              return _regenerator.default.awrap(loadData());

            case 5:
              _context5.next = 10;
              break;

            case 7:
              _context5.prev = 7;
              _context5.t0 = _context5["catch"](2);
              onEditionsError(_context5.t0);

            case 10:
              setLoading(false);

            case 11:
            case "end":
              return _context5.stop();
          }
        }
      }, null, null, [[2, 7]], Promise);
    };

    (0, _react.useEffect)(function () {
      var onLogger = _log.default.addListeners(logCallbacks);

      if (loading) {
        load();
      } else {
        loadSpecials();
      }

      _network.default.addConnectionChangeEventListener(function (state) {
        _log.default.debug(state);
      });

      return function () {
        if (onLogger) {
          onLogger.remove();
        }

        _network.default.removeConnectionChangeEventListener();
      };
    }, [loading]);
    (0, _react.useEffect)(function () {
      if (data) {
        var editions = data.editions;

        if (editions) {
          _liveConfig.default.setUrlParams(urlParams);

          var _setRoutes2 = setRoutes(editions),
              initialRoute = _setRoutes2.initialRoute,
              drawerRoutes = _setRoutes2.drawerRoutes;

          setData(function (prevState) {
            return (0, _extends2.default)({}, prevState, {
              drawerRoutes: drawerRoutes,
              initialRoute: initialRoute != null ? initialRoute : ""
            });
          });
        }
      }
    }, [urlParams]);
    (0, _react.useEffect)(function () {
      _liveConfig.default.getSettings().setFavoriteEdition(favEdi);

      loadData();
    }, [favEdi]);
    var remappedIssueCallbacks = (0, _extends2.default)({}, issueCallbacks, {
      onIssuePress: function onIssuePress(issue) {
        var _LiveConfig$getPSetup2 = _liveConfig.default.getPSetup(),
            xpaperUniversalLinks = _LiveConfig$getPSetup2.xpaperUniversalLinks,
            remapEdition = _LiveConfig$getPSetup2.remapEdition;

        var keys = Object.keys(xpaperUniversalLinks);
        var issuePSetup = issue.getPSetup();

        if (keys.length > 0 && keys.includes(issuePSetup)) {
          var link = xpaperUniversalLinks[issuePSetup];

          if (link) {
            link = link.replace(/##issue##/g, issue.getIssue());
            link = link.replace(/##edition##/g, issue.getEdition());
            link = link.replace(/##pSetup##/g, issuePSetup);

            _$$_REQUIRE(_dependencyMap[28]).EventRegister.emit(_events.default.ON_EXTERNAL_LINK_CLICK, {
              url: link
            });
          } else {
            issueCallbacks.onIssuePress(issue);
          }
        } else {
          Object.keys(remapEdition).forEach(function (edition) {
            if (remapEdition[edition] === issue.getEdition()) {
              issue.setEdition(edition);
            }
          });
          issueCallbacks.onIssuePress(issue);
        }
      }
    });
    return _react.default.createElement(_reactNative.View, {
      style: styles.app
    }, !loading && data ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[29]).AspectRatioContext.Provider, {
      value: data.aspectRatio
    }, _react.default.createElement(_Content.default, (0, _extends2.default)({
      data: data,
      issueCallbacks: remappedIssueCallbacks
    }, rest))) : _react.default.createElement(_$$_REQUIRE(_dependencyMap[30]).CircleSnail, null), _react.default.createElement(_errorsView.default, {
      style: styles.errors
    }));
  }

  Container.propTypes = {
    apiParams: _propTypes.default.object,
    urlParams: _propTypes.default.object,
    pSetup: _propTypes.default.string.isRequired,
    server: _propTypes.default.string.isRequired,
    entryPoint: _propTypes.default.string,
    initialRoute: _propTypes.default.string,
    hideCloseButton: _propTypes.default.bool,
    onLocaleError: _propTypes.default.func.isRequired,
    onPSetupError: _propTypes.default.func.isRequired,
    onUserSettingsError: _propTypes.default.func.isRequired,
    onEditionsError: _propTypes.default.func.isRequired,
    onSpecialsError: _propTypes.default.func.isRequired,
    onRouteChange: _propTypes.default.func.isRequired,
    getSavedIssues: _propTypes.default.func,
    WebViewComponent: _propTypes.default.any,
    customUserAgent: _propTypes.default.string,
    issueCallbacks: _propTypes.default.shape({
      onIssuePress: _propTypes.default.func
    }),
    logCallbacks: _propTypes.default.shape({
      onLog: _propTypes.default.func,
      onDebug: _propTypes.default.func,
      onWarning: _propTypes.default.func,
      onError: _propTypes.default.func
    }),
    pSetupOverride: _propTypes.default.object,
    languagePackOverride: _propTypes.default.object,
    favoriteEdition: _propTypes.default.string
  };
  Container.defaultProps = {
    apiParams: {},
    urlParams: {},
    pSetupOverride: {},
    languagePackOverride: {},
    entryPoint: "/default_native_optionspage.php",
    hideCloseButton: false
  };
  var _default = Container;
  exports.default = _default;
},754,[5,21,41,108,80,6,17,28,201,755,759,769,770,992,1123,1125,1126,993,998,994,1111,1127,758,771,982,1659,1660,1000,991,1256,1661]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;
  exports.getEditions = getEditions;
  exports.getEditionsPics = getEditionsPics;
  exports.getGraphUrl = getGraphUrl;
  exports.getLanguagePack = getLanguagePack;
  exports.getLowUrl = getLowUrl;
  exports.getPSetup = getPSetup;
  exports.getSpecials = getSpecials;
  exports.getTabRoutes = getTabRoutes;
  exports.getTextUrl = getTextUrl;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _classPrivateFieldLooseBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _classPrivateFieldLooseKey2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _axios = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _issue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _log = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  var _server = (0, _classPrivateFieldLooseKey2.default)("_server");

  var _entryPoint = (0, _classPrivateFieldLooseKey2.default)("_entryPoint");

  var _params = (0, _classPrivateFieldLooseKey2.default)("_params");

  var _instance = (0, _classPrivateFieldLooseKey2.default)("_instance");

  var API = function () {
    function API() {
      (0, _classCallCheck2.default)(this, API);
    }

    (0, _createClass2.default)(API, null, [{
      key: "setServer",
      value: function setServer(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _server)[_server] = value;
      }
    }, {
      key: "getServer",
      value: function getServer() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _server)[_server];
      }
    }, {
      key: "setEntryPoint",
      value: function setEntryPoint(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _entryPoint)[_entryPoint] = value;
      }
    }, {
      key: "getEntryPoint",
      value: function getEntryPoint() {
        var server = API.getServer();

        if (!server.endsWith("/")) {
          server += "/";
        }

        return "" + server + (0, _classPrivateFieldLooseBase2.default)(this, _entryPoint)[_entryPoint];
      }
    }, {
      key: "getPath",
      value: function getPath() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _entryPoint)[_entryPoint];
      }
    }, {
      key: "setParams",
      value: function setParams() {
        var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        (0, _classPrivateFieldLooseBase2.default)(this, _params)[_params] = params;
      }
    }, {
      key: "getParams",
      value: function getParams() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _params)[_params];
      }
    }, {
      key: "getDeviceParams",
      value: function getDeviceParams() {
        return {
          os: (0, _$$_REQUIRE(_dependencyMap[10]).os)(),
          isKindle: false
        };
      }
    }, {
      key: "init",
      value: function init() {
        (0, _classPrivateFieldLooseBase2.default)(this, _instance)[_instance] = _axios.default.create();
      }
    }, {
      key: "getInstance",
      value: function getInstance() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _instance)[_instance];
      }
    }, {
      key: "addProtocol",
      value: function addProtocol() {
        var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";

        if (!url.startsWith("http")) {
          return "https://" + url;
        }

        return url;
      }
    }]);
    return API;
  }();

  Object.defineProperty(API, _server, {
    writable: true,
    value: undefined
  });
  Object.defineProperty(API, _entryPoint, {
    writable: true,
    value: undefined
  });
  Object.defineProperty(API, _params, {
    writable: true,
    value: undefined
  });
  Object.defineProperty(API, _instance, {
    writable: true,
    value: undefined
  });

  function getTabRoutes() {
    return _regenerator.default.async(function getTabRoutes$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            return _context.abrupt("return", _$$_REQUIRE(_dependencyMap[11]));

          case 1:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function getResUrl(item, type) {
    var siteDomain = item.getSiteDomainCDN() || item.getSiteDomain();
    return (0, _$$_REQUIRE(_dependencyMap[12]).addParamsToURL)(API.addProtocol(siteDomain) + "/" + API.getPath(), (0, _extends2.default)({}, API.getDeviceParams(), API.getParams(), {
      action: "issueImage",
      type: type,
      pSetup: item.getPSetup(),
      issue: item.getIssue(),
      crc: item.getFilename(),
      edition: encodeURIComponent(item.getEdition()),
      mtime: item.getLastClosed()
    }));
  }

  function getGraphUrl(item) {
    return getResUrl(item, "graph");
  }

  function getTextUrl(item) {
    return getResUrl(item, "text");
  }

  function getLowUrl(item) {
    return getResUrl(item, "bblow");
  }

  function get(url, config, defaultValue) {
    var response;
    return _regenerator.default.async(function get$(_context2) {
      while (1) {
        switch (_context2.prev = _context2.next) {
          case 0:
            _context2.prev = 0;

            _log.default.debug("GET " + url, config);

            _context2.next = 4;
            return _regenerator.default.awrap(API.getInstance().get(url, config));

          case 4:
            response = _context2.sent;
            return _context2.abrupt("return", response.data || defaultValue);

          case 8:
            _context2.prev = 8;
            _context2.t0 = _context2["catch"](0);

            _log.default.warn("GET " + url + " fails with error " + _context2.t0.message);

          case 11:
            return _context2.abrupt("return", defaultValue);

          case 12:
          case "end":
            return _context2.stop();
        }
      }
    }, null, null, [[0, 8]], Promise);
  }

  function getEditions() {
    var params,
        _args3 = arguments;
    return _regenerator.default.async(function getEditions$(_context3) {
      while (1) {
        switch (_context3.prev = _context3.next) {
          case 0:
            params = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : {};
            return _context3.abrupt("return", get(API.addProtocol(API.getEntryPoint()), {
              params: (0, _extends2.default)({}, API.getDeviceParams(), API.getParams(), {
                action: "editionsList"
              }, params)
            }));

          case 2:
          case "end":
            return _context3.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function getEditionsPics() {
    var params,
        _args4 = arguments;
    return _regenerator.default.async(function getEditionsPics$(_context4) {
      while (1) {
        switch (_context4.prev = _context4.next) {
          case 0:
            params = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : {};
            return _context4.abrupt("return", get(API.addProtocol(API.getEntryPoint()), {
              params: (0, _extends2.default)({}, API.getDeviceParams(), API.getParams(), {
                action: "editionsPics"
              }, params)
            }));

          case 2:
          case "end":
            return _context4.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function getSpecials() {
    var params,
        _args5 = arguments;
    return _regenerator.default.async(function getSpecials$(_context5) {
      while (1) {
        switch (_context5.prev = _context5.next) {
          case 0:
            params = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : {};
            return _context5.abrupt("return", get(API.addProtocol(API.getEntryPoint()), {
              params: (0, _extends2.default)({}, API.getDeviceParams(), API.getParams(), {
                action: "editionsListMenu"
              }, params)
            }));

          case 2:
          case "end":
            return _context5.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function getPSetup() {
    var params,
        _args6 = arguments;
    return _regenerator.default.async(function getPSetup$(_context6) {
      while (1) {
        switch (_context6.prev = _context6.next) {
          case 0:
            params = _args6.length > 0 && _args6[0] !== undefined ? _args6[0] : {};
            return _context6.abrupt("return", get(API.addProtocol(API.getEntryPoint()), {
              params: (0, _extends2.default)({}, API.getDeviceParams(), API.getParams(), {
                action: "message",
                service: "optionspage",
                format: "json"
              }, params)
            }));

          case 2:
          case "end":
            return _context6.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function getLanguagePack() {
    var params,
        _args7 = arguments;
    return _regenerator.default.async(function getLanguagePack$(_context7) {
      while (1) {
        switch (_context7.prev = _context7.next) {
          case 0:
            params = _args7.length > 0 && _args7[0] !== undefined ? _args7[0] : {};
            return _context7.abrupt("return", get(API.addProtocol(API.getEntryPoint()), {
              params: (0, _extends2.default)({}, API.getDeviceParams(), API.getParams(), {
                action: "locale"
              }, params)
            }));

          case 2:
          case "end":
            return _context7.stop();
        }
      }
    }, null, null, null, Promise);
  }

  var _default = API;
  exports.default = _default;
},755,[5,80,6,7,8,756,757,432,758,759,760,761,762]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _classPrivateFieldBase(receiver, privateKey) {
    if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {
      throw new TypeError("attempted to use private field on non-instance");
    }

    return receiver;
  }

  module.exports = _classPrivateFieldBase, module.exports.__esModule = true, module.exports["default"] = module.exports;
},756,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var id = 0;

  function _classPrivateFieldKey(name) {
    return "__private_" + id++ + "_" + name;
  }

  module.exports = _classPrivateFieldKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
},757,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classPrivateFieldLooseBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classPrivateFieldLooseKey2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _edition = (0, _classPrivateFieldLooseKey2.default)("_edition");

  var _issue = (0, _classPrivateFieldLooseKey2.default)("_issue");

  var _filename = (0, _classPrivateFieldLooseKey2.default)("_filename");

  var _public = (0, _classPrivateFieldLooseKey2.default)("_public");

  var _lastClosed = (0, _classPrivateFieldLooseKey2.default)("_lastClosed");

  var _dayOfWeek = (0, _classPrivateFieldLooseKey2.default)("_dayOfWeek");

  var _dayOfWeekComplete = (0, _classPrivateFieldLooseKey2.default)("_dayOfWeekComplete");

  var _pSetup = (0, _classPrivateFieldLooseKey2.default)("_pSetup");

  var _dateLabelAccessibility = (0, _classPrivateFieldLooseKey2.default)("_dateLabelAccessibility");

  var _dateLabel = (0, _classPrivateFieldLooseKey2.default)("_dateLabel");

  var _editionLabel = (0, _classPrivateFieldLooseKey2.default)("_editionLabel");

  var _pathEdition = (0, _classPrivateFieldLooseKey2.default)("_pathEdition");

  var _siteDomain = (0, _classPrivateFieldLooseKey2.default)("_siteDomain");

  var _siteDomainCDN = (0, _classPrivateFieldLooseKey2.default)("_siteDomainCDN");

  var _machine = (0, _classPrivateFieldLooseKey2.default)("_machine");

  var _closed = (0, _classPrivateFieldLooseKey2.default)("_closed");

  var _downloaded = (0, _classPrivateFieldLooseKey2.default)("_downloaded");

  var Issue = function () {
    function Issue() {
      (0, _classCallCheck2.default)(this, Issue);
      Object.defineProperty(this, _edition, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _issue, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _filename, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _public, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _lastClosed, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _dayOfWeek, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _dayOfWeekComplete, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _pSetup, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _dateLabelAccessibility, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _dateLabel, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _editionLabel, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _pathEdition, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _siteDomain, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _siteDomainCDN, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _machine, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _closed, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _downloaded, {
        writable: true,
        value: undefined
      });
      (0, _classPrivateFieldLooseBase2.default)(this, _downloaded)[_downloaded] = false;
    }

    (0, _createClass2.default)(Issue, [{
      key: "setEdition",
      value: function setEdition(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _edition)[_edition] = value;
      }
    }, {
      key: "getEdition",
      value: function getEdition() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _edition)[_edition];
      }
    }, {
      key: "setIssue",
      value: function setIssue(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _issue)[_issue] = value;
      }
    }, {
      key: "getIssue",
      value: function getIssue() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _issue)[_issue];
      }
    }, {
      key: "setFilename",
      value: function setFilename(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _filename)[_filename] = value;
      }
    }, {
      key: "getFilename",
      value: function getFilename() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _filename)[_filename];
      }
    }, {
      key: "setPublic",
      value: function setPublic(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _public)[_public] = value;
      }
    }, {
      key: "getPublic",
      value: function getPublic() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _public)[_public];
      }
    }, {
      key: "setLastClosed",
      value: function setLastClosed(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _lastClosed)[_lastClosed] = value;
      }
    }, {
      key: "getLastClosed",
      value: function getLastClosed() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _lastClosed)[_lastClosed];
      }
    }, {
      key: "setDayOfWeek",
      value: function setDayOfWeek(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _dayOfWeek)[_dayOfWeek] = value;
      }
    }, {
      key: "getDayOfWeek",
      value: function getDayOfWeek() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _dayOfWeek)[_dayOfWeek];
      }
    }, {
      key: "setDayOfWeekComplete",
      value: function setDayOfWeekComplete(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _dayOfWeekComplete)[_dayOfWeekComplete] = value;
      }
    }, {
      key: "getDayOfWeekComplete",
      value: function getDayOfWeekComplete() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _dayOfWeekComplete)[_dayOfWeekComplete];
      }
    }, {
      key: "setPSetup",
      value: function setPSetup(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _pSetup)[_pSetup] = value;
      }
    }, {
      key: "getPSetup",
      value: function getPSetup() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _pSetup)[_pSetup];
      }
    }, {
      key: "setDateLabelAccessibility",
      value: function setDateLabelAccessibility(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _dateLabelAccessibility)[_dateLabelAccessibility] = value;
      }
    }, {
      key: "getDateLabelAccessibility",
      value: function getDateLabelAccessibility() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _dateLabelAccessibility)[_dateLabelAccessibility];
      }
    }, {
      key: "setDateLabel",
      value: function setDateLabel(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _dateLabel)[_dateLabel] = value;
      }
    }, {
      key: "getDateLabel",
      value: function getDateLabel() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _dateLabel)[_dateLabel];
      }
    }, {
      key: "setEditionLabel",
      value: function setEditionLabel(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _editionLabel)[_editionLabel] = value;
      }
    }, {
      key: "getEditionLabel",
      value: function getEditionLabel() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _editionLabel)[_editionLabel];
      }
    }, {
      key: "setPathEdition",
      value: function setPathEdition(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _pathEdition)[_pathEdition] = value;
      }
    }, {
      key: "getPathEdition",
      value: function getPathEdition() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _pathEdition)[_pathEdition];
      }
    }, {
      key: "setSiteDomain",
      value: function setSiteDomain(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _siteDomain)[_siteDomain] = value;
      }
    }, {
      key: "getSiteDomain",
      value: function getSiteDomain() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _siteDomain)[_siteDomain];
      }
    }, {
      key: "setSiteDomainCDN",
      value: function setSiteDomainCDN(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _siteDomainCDN)[_siteDomainCDN] = value;
      }
    }, {
      key: "getSiteDomainCDN",
      value: function getSiteDomainCDN() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _siteDomainCDN)[_siteDomainCDN];
      }
    }, {
      key: "setMachine",
      value: function setMachine(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _machine)[_machine] = value;
      }
    }, {
      key: "getMachine",
      value: function getMachine() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _machine)[_machine];
      }
    }, {
      key: "setClosed",
      value: function setClosed(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _closed)[_closed] = value;
      }
    }, {
      key: "getClosed",
      value: function getClosed() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _closed)[_closed];
      }
    }, {
      key: "setDownloaded",
      value: function setDownloaded(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _downloaded)[_downloaded] = value;
      }
    }, {
      key: "isDownloaded",
      value: function isDownloaded() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _downloaded)[_downloaded];
      }
    }, {
      key: "equals",
      value: function equals(issue) {
        if (issue) {
          return issue.getIssue() === this.getIssue() && issue.getEdition() === this.getEdition();
        }

        return false;
      }
    }, {
      key: "toJson",
      value: function toJson() {
        return {
          edition: (0, _classPrivateFieldLooseBase2.default)(this, _edition)[_edition],
          issue: (0, _classPrivateFieldLooseBase2.default)(this, _issue)[_issue],
          filename: (0, _classPrivateFieldLooseBase2.default)(this, _filename)[_filename],
          public: (0, _classPrivateFieldLooseBase2.default)(this, _public)[_public],
          lastClosed: (0, _classPrivateFieldLooseBase2.default)(this, _lastClosed)[_lastClosed],
          dayOfWeek: (0, _classPrivateFieldLooseBase2.default)(this, _dayOfWeek)[_dayOfWeek],
          dayOfWeekComplete: (0, _classPrivateFieldLooseBase2.default)(this, _dayOfWeekComplete)[_dayOfWeekComplete],
          pSetup: (0, _classPrivateFieldLooseBase2.default)(this, _pSetup)[_pSetup],
          dateLabelAccessibility: (0, _classPrivateFieldLooseBase2.default)(this, _dateLabelAccessibility)[_dateLabelAccessibility],
          dateLabel: (0, _classPrivateFieldLooseBase2.default)(this, _dateLabel)[_dateLabel],
          pathEdition: (0, _classPrivateFieldLooseBase2.default)(this, _pathEdition)[_pathEdition],
          siteDomain: (0, _classPrivateFieldLooseBase2.default)(this, _siteDomain)[_siteDomain],
          siteDomainCDN: (0, _classPrivateFieldLooseBase2.default)(this, _siteDomainCDN)[_siteDomainCDN],
          machine: (0, _classPrivateFieldLooseBase2.default)(this, _machine)[_machine],
          closed: (0, _classPrivateFieldLooseBase2.default)(this, _closed)[_closed],
          downloaded: (0, _classPrivateFieldLooseBase2.default)(this, _downloaded)[_downloaded]
        };
      }
    }]);
    return Issue;
  }();

  exports.default = Issue;
},758,[5,7,8,756,757]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classPrivateFieldLooseBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classPrivateFieldLooseKey2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _listeners = (0, _classPrivateFieldLooseKey2.default)("_listeners");

  var _remove = (0, _classPrivateFieldLooseKey2.default)("_remove");

  var _callListener = (0, _classPrivateFieldLooseKey2.default)("_callListener");

  var Logger = function () {
    function Logger() {
      (0, _classCallCheck2.default)(this, Logger);
    }

    (0, _createClass2.default)(Logger, null, [{
      key: "addListeners",
      value: function addListeners() {
        var callbacks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        (0, _classPrivateFieldLooseBase2.default)(Logger, _listeners)[_listeners] = callbacks;
        return {
          remove: (0, _classPrivateFieldLooseBase2.default)(Logger, _remove)[_remove]
        };
      }
    }, {
      key: "log",
      value: function log(message) {
        var _classPrivateFieldLoo;

        for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
          rest[_key - 1] = arguments[_key];
        }

        (_classPrivateFieldLoo = (0, _classPrivateFieldLooseBase2.default)(Logger, _callListener))[_callListener].apply(_classPrivateFieldLoo, ["onLog", message].concat(rest));
      }
    }, {
      key: "debug",
      value: function debug(message) {
        var _classPrivateFieldLoo2;

        for (var _len2 = arguments.length, rest = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
          rest[_key2 - 1] = arguments[_key2];
        }

        (_classPrivateFieldLoo2 = (0, _classPrivateFieldLooseBase2.default)(Logger, _callListener))[_callListener].apply(_classPrivateFieldLoo2, ["onDebug", message].concat(rest));
      }
    }, {
      key: "warn",
      value: function warn(message) {
        var _classPrivateFieldLoo3;

        for (var _len3 = arguments.length, rest = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
          rest[_key3 - 1] = arguments[_key3];
        }

        (_classPrivateFieldLoo3 = (0, _classPrivateFieldLooseBase2.default)(Logger, _callListener))[_callListener].apply(_classPrivateFieldLoo3, ["onWarning", message].concat(rest));
      }
    }, {
      key: "error",
      value: function error(message) {
        var _classPrivateFieldLoo4;

        for (var _len4 = arguments.length, rest = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
          rest[_key4 - 1] = arguments[_key4];
        }

        (_classPrivateFieldLoo4 = (0, _classPrivateFieldLooseBase2.default)(Logger, _callListener))[_callListener].apply(_classPrivateFieldLoo4, ["onError", message].concat(rest));
      }
    }]);
    return Logger;
  }();

  exports.default = Logger;

  function _remove2() {
    (0, _classPrivateFieldLooseBase2.default)(Logger, _listeners)[_listeners] = {};
  }

  function _callListener2(listenerKey, message) {
    if (typeof (0, _classPrivateFieldLooseBase2.default)(Logger, _listeners)[_listeners][listenerKey] === "function") {
      var _classPrivateFieldLoo5;

      for (var _len5 = arguments.length, rest = new Array(_len5 > 2 ? _len5 - 2 : 0), _key5 = 2; _key5 < _len5; _key5++) {
        rest[_key5 - 2] = arguments[_key5];
      }

      (_classPrivateFieldLoo5 = (0, _classPrivateFieldLooseBase2.default)(Logger, _listeners)[_listeners])[listenerKey].apply(_classPrivateFieldLoo5, [message].concat(rest));
    }
  }

  Object.defineProperty(Logger, _callListener, {
    value: _callListener2
  });
  Object.defineProperty(Logger, _remove, {
    value: _remove2
  });
  Object.defineProperty(Logger, _listeners, {
    writable: true,
    value: {}
  });
},759,[5,7,8,756,757]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.dpToPx = dpToPx;
  exports.fontScale = fontScale;
  exports.isAndroid = isAndroid;
  exports.isIOS = isIOS;
  exports.isWeb = isWeb;
  exports.isWindows = isWindows;
  exports.os = os;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  function fontScale() {
    return _reactNative.PixelRatio.getFontScale();
  }

  function os() {
    return _reactNative.Platform.OS;
  }

  function isAndroid() {
    return _reactNative.Platform.OS === "android";
  }

  function isWeb() {
    return _reactNative.Platform.OS === "web";
  }

  function isIOS() {
    return _reactNative.Platform.OS === "ios" || _reactNative.Platform.OS === "macos";
  }

  function isWindows() {
    return _reactNative.Platform.OS === "windows";
  }

  function dpToPx(size) {
    return _reactNative.PixelRatio.roundToNearestPixel(size) * _reactNative.PixelRatio.get();
  }
},760,[28]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = [
    {
        "key": "access",
        "label": "Profilo",
        "url": "https://corrieredelticino-che.newsmemory.com/eebrowser/optionspage/optionspage.develop.rcolombo.cdt/php/createaccount/createaccount.php?pSetup=corrieredelticino&MACHINEID=0b608790fe0ac00d10646643de7f1293&issue=20220720&edition=Corriere%20del%20Ticino&pSetup=corrieredelticino&TAUID=-1&issue=20220720&prefEdi=false&modal=1&limit=1&maxNumberOfOldIssuesToKeep=3&timeLimitForRestart=10&readEdi=Corriere%20del%20Ticino&edition=Corriere%20del%20Ticino&MACHINEID=0b608790fe0ac00d10646643de7f1293&fromOpt=1",
        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAABgklEQVRo3u3XTU4UQRiH8R8acCHEeAmMMMQrsCEegbCGBR5FE4hkCNzCuBbQxBsYMJEtH1uMfETBMbDo7oQQpnW6aqYmpp7kv5uqet7uN+90kclkMplMXGawhj2cl9nDW7RSy9XxCBv4g+su6WAdY6ll75P/WCN+NzvDVsRmD/JV2qmlK2bUt01dO02HHv4gQgFLDfd5iMUI5wfzVe9Pv8puank4CyjgNPTwGC10nWhttAIOA9YeDEMBWwFrP0Q4P5iWYiQ2GaNTqeUr1hsUsJZa+jZj2O5BfgujqaXvK6Ktvp06iic/dPK3mcaq4k/qrMwuVgxRz2cy/wsjEfaYwCxe4Dme4WmZx+VvLvAdJ9jHN3zBJ8WdeeBM4BU+47fmX6NX5R7L5Z4DEX+j+AxuKt0tP/Aa4/2Sf4njPojfzRHmYssvKF53v+WrXGI+lvwkfg5QvsovxVAI5n0C+Srv/ib3L2P01IAmRJezn4QWEHxvDaTWMcaVMim5gEwmk8lkUnIDbus4FL0rG1oAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDctMjFUMDY6NDc6MzArMDA6MDBuyZWqAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTA3LTIxVDA2OjQ3OjMwKzAwOjAwH5QtFgAAAABJRU5ErkJggg=="
    },
    {
        "key": "contact",
        "label": "Contatti",
        "url": "https://corrieredelticino-che.newsmemory.com/eebrowser/optionspage/optionspage.develop.rcolombo.cdt/php/createaccount/createaccount.php?pSetup=corrieredelticino&MACHINEID=0b608790fe0ac00d10646643de7f1293&issue=20220720&edition=Corriere%20del%20Ticino&pSetup=corrieredelticino&TAUID=-1&issue=20220720&prefEdi=false&modal=1&limit=1&maxNumberOfOldIssuesToKeep=3&timeLimitForRestart=10&readEdi=Corriere%20del%20Ticino&edition=Corriere%20del%20Ticino&MACHINEID=0b608790fe0ac00d10646643de7f1293&fromOpt=1",
        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAACVklEQVRo3u3YPWsUURTG8Z+74luMolgJUbCxDRZ+CpUgaOEHsBNL/QAWERvBKmp8b5RgwOBboWChYFD8CipopYIrFoImFjsDm8mdvTu7s5MNzAOnuXPP7P+Ze86d2UutWrVq1aq1WhOYQwvLaxwtPMSBIvDfRwA8G79wqBcDcyMAmxevsrAbAgZaGO91uSrWErbhTzrQCEzKwh/DpzWA/YqTmbGGHh5udtkkrqfx1/DL5B9mOkCz1/f0YyDVJN4OEf4DDkd4BjKQLuNp/CwR/DfOodkDT2EDC9gfmLcXd0qAX8C+nPs/KMNA7Akdxcc+wL/gRJcVznuJ9mWgW41SrMmzTdqpSfEeG8hAJ8COPgDKeAADG0jjM6YC+U2ctbIEWslYqASnknuFfuMbLiZzjuA8tpdlII157e+nrCaSa7Hrefd9id0x2DIMxJo8q1iTLuM5tvYD36+BWI2nmhRv0oHgBzWwrN2Il63cZcaTsViTPsOWDM9GXMIVbK7CQLbJp+Q3aS/w9zvmPA3MGZqBIpEHdiHHaNcSGwX4JsawC4uBnOlRMfAkB/4eXmu/LHfiTUfOEk6NgoFQzTet/EB8p/0uGMOLBP6MiKqAf2z1jtLE3cDcxaSUxnA8Bl+FgSLwabxX4H/6WjTs7UjeNeH/75UaCME3yoYfloHQbtPArUje9aLwwzBQKTzlnoc+wqYA/M1I3ozwoVtPmh8y/I1I3tVB4OEgfpRgIAQ/O2z4VBPaRxqDnP1kFYMvvNtUrW7ws6MO383AuoDPM7Bu4EMG1hV8rVqjqv87gpyy0KR0kAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wNy0yMVQwNjo1MTo1MyswMDowMFXeKTcAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDctMjFUMDY6NTE6NTMrMDA6MDAkg5GLAAAAAElFTkSuQmCC"
    },
    {
        "key": "connection",
        "label": "Settings",
        "url": "https://corrieredelticino-che.newsmemory.com/eebrowser/optionspage/optionspage.develop.rcolombo.cdt/php/createaccount/createaccount.php?pSetup=corrieredelticino&MACHINEID=0b608790fe0ac00d10646643de7f1293&issue=20220720&edition=Corriere%20del%20Ticino&pSetup=corrieredelticino&TAUID=-1&issue=20220720&prefEdi=false&modal=1&limit=1&maxNumberOfOldIssuesToKeep=3&timeLimitForRestart=10&readEdi=Corriere%20del%20Ticino&edition=Corriere%20del%20Ticino&MACHINEID=0b608790fe0ac00d10646643de7f1293&fromOpt=1",
        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAABgAAAAYADwa0LPAAACaUlEQVRo3u2ZzU4UQRSFvyEEFzIMC1QMS93rGH9YDjuNmpj4DjwBiYmoCQ/gCwBbhThxz4IFLngB3IjiYgIYBxMVNxDjiIuqTkyBU7duVTM9pk9yk06q+pxz++dW9W0oUaJESqwCR55Y7bXJf2FcYD6LC6lEBxImcDmnuaeWwKWc5pYJSNGTR0iCBrALLANTQMUZrwFPgH3kL/G+PafmcFWsxrLVbMSaHwI2HfH3wCPgHHAX+BRg3I028BAYBaaBt874FnAmJoGZLuI/I4yHcM1ozZ8Hvic0qY0fwEVNAosFMJ/FQqj5OtApgPEsOsCNkATeFMC0G+scr4An4k6kUBuYBa4CZ23UMWWzHcl9W5LAJHCoFHgFVLtwV4GmkvsQuCV9hG4CLYV5yS2uKJJoWU9BGANWhAJtz5V3MQLsCblXrBcVBoA5/BVpVsH91MPZsdpJ9ms7HrErCs66h3MnhfEMBx6xYQVn1cN5ICGR3p4jz7ioPgee8ztlAl8945oPFN8531IkMAg8ByY88+4pErjvGZ+w2oMKbsB0DtbIp4zWgC9C7jUUXYxJYFsokEUT+UL2OpB723oSm9duJZqYRarblQ81H7yViN3M7WEWqWuY8jpsj58hf2yiNnPQ59tpMKvkrwKY/ntbcV1qPsNCAYxnMR9qHor1UT+uSQC6t1W0lSqUS91WAdPYeucQbmIaW2OYqrAbYfwz8ABTXqeBDWf8A5GNLTDtvRawZI/dSjCC+R4IbS0+5vjqXbEaS1azEWs+BC8DEniRSjRld3orp7mnlsDHnOb+3wmkRE9+8qVGX/9mLVGiH/EH3S0EG4PwXOAAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjItMDctMjFUMDY6NTI6MjcrMDA6MDBAY78+AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIyLTA3LTIxVDA2OjUyOjI3KzAwOjAwMT4HggAAAABJRU5ErkJggg=="
    }
]
;
},761,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.addParamsToURL = addParamsToURL;
  exports.decodeHTML = decodeHTML;
  exports.segmentURL = segmentURL;
  exports.toMD5 = toMD5;

  var _md = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _uri = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _log = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  function decodeHTML(text) {
    try {
      return (0, _$$_REQUIRE(_dependencyMap[4]).decode)(text);
    } catch (e) {
      return text;
    }
  }

  function toMD5(text) {
    return (0, _md.default)(text);
  }

  function segmentURL(url) {
    var uri = new _uri.default();

    try {
      uri.parse(url);
    } catch (e) {
      _log.default.warn(e.message);
    }

    return uri;
  }

  function addParamsToURL(url) {
    var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
    var uri = new URL(url);
    Object.keys(params).forEach(function (key) {
      uri.searchParams.set(key, "" + params[key]);
    });
    return uri.toString();
  }
},762,[5,515,763,759,765]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classPrivateFieldLooseBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classPrivateFieldLooseKey2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _jsUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _mUrl = (0, _classPrivateFieldLooseKey2.default)("_mUrl");

  var _params = (0, _classPrivateFieldLooseKey2.default)("_params");

  var _port = (0, _classPrivateFieldLooseKey2.default)("_port");

  var _domain = (0, _classPrivateFieldLooseKey2.default)("_domain");

  var _protocol = (0, _classPrivateFieldLooseKey2.default)("_protocol");

  var URI = function () {
    function URI() {
      (0, _classCallCheck2.default)(this, URI);
      Object.defineProperty(this, _mUrl, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _params, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _port, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _domain, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _protocol, {
        writable: true,
        value: undefined
      });
    }

    (0, _createClass2.default)(URI, [{
      key: "parse",
      value: function parse(url) {
        var _this = this;

        (0, _classPrivateFieldLooseBase2.default)(this, _mUrl)[_mUrl] = new URL(url);
        (0, _classPrivateFieldLooseBase2.default)(this, _params)[_params] = {};

        var iterator = (0, _classPrivateFieldLooseBase2.default)(this, _mUrl)[_mUrl].searchParams.entries();

        _jsUtils.default.iterator(iterator, function (_ref) {
          var key = _ref.key,
              value = _ref.value;
          (0, _classPrivateFieldLooseBase2.default)(_this, _params)[_params][key] = value;
        });

        (0, _classPrivateFieldLooseBase2.default)(this, _port)[_port] = (0, _classPrivateFieldLooseBase2.default)(this, _mUrl)[_mUrl].port;
        (0, _classPrivateFieldLooseBase2.default)(this, _protocol)[_protocol] = (0, _classPrivateFieldLooseBase2.default)(this, _mUrl)[_mUrl].protocol;
        (0, _classPrivateFieldLooseBase2.default)(this, _domain)[_domain] = (0, _classPrivateFieldLooseBase2.default)(this, _mUrl)[_mUrl].hostname;
      }
    }, {
      key: "setParams",
      value: function setParams() {
        var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        (0, _classPrivateFieldLooseBase2.default)(this, _params)[_params] = value;
      }
    }, {
      key: "getParams",
      value: function getParams() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _params)[_params];
      }
    }, {
      key: "setPort",
      value: function setPort(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _port)[_port] = value;
      }
    }, {
      key: "getPort",
      value: function getPort() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _port)[_port];
      }
    }, {
      key: "setDomain",
      value: function setDomain(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _domain)[_domain] = value;
      }
    }, {
      key: "getDomain",
      value: function getDomain() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _domain)[_domain];
      }
    }, {
      key: "setProtocol",
      value: function setProtocol(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _protocol)[_protocol] = value;
      }
    }, {
      key: "getProtocol",
      value: function getProtocol() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _protocol)[_protocol];
      }
    }, {
      key: "getURL",
      value: function getURL() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _mUrl)[_mUrl];
      }
    }]);
    return URI;
  }();

  exports.default = URI;
},763,[5,7,8,756,757,764]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.PromiseTimeout = PromiseTimeout;
  exports.default = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  var _log = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function PromiseTimeout(promiseCall) {
    var promiseTimeout,
        _len,
        params,
        _key,
        _args = arguments;

    return _regenerator.default.async(function PromiseTimeout$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            promiseTimeout = _args.length > 1 && _args[1] !== undefined ? _args[1] : 2000;

            for (_len = _args.length, params = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
              params[_key - 2] = _args[_key];
            }

            return _context.abrupt("return", new Promise(function (resolve, reject) {
              var inTimeout = false;
              setTimeout(function () {
                inTimeout = true;
                reject(new Error("promise timeout"));
              }, promiseTimeout);
              promiseCall.apply(undefined, params).then(function (data) {
                if (!inTimeout && typeof resolve === "function") {
                  resolve(data);
                }
              }).catch(function (error) {
                if (!inTimeout && typeof reject === "function") {
                  reject(error);
                }
              });
            }));

          case 3:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  }

  var JSUtils = function () {
    function JSUtils() {
      (0, _classCallCheck2.default)(this, JSUtils);
    }

    (0, _createClass2.default)(JSUtils, null, [{
      key: "generateId",
      value: function generateId() {
        return "" + Math.random().toString(36).substr(2, 9);
      }
    }, {
      key: "equals",
      value: function equals(a, b) {
        var resultA;
        var resultB;

        try {
          resultA = JSON.stringify(a);
        } catch (e) {
          return false;
        }

        try {
          resultB = JSON.stringify(b);
        } catch (e) {
          return false;
        }

        return resultA === resultB;
      }
    }, {
      key: "isValidRect",
      value: function isValidRect(rect) {
        return rect && JSUtils.isNumber(rect.start) && JSUtils.isNumber(rect.top) && JSUtils.isNumber(rect.width) && JSUtils.isNumber(rect.height) && rect.width > 0 && rect.height > 0;
      }
    }, {
      key: "intersectRect",
      value: function intersectRect(r1, r2) {
        return !(r2.start > r1.start + r1.width || r2.start + r2.width < r1.start || r2.top > r1.top + r1.height || r2.top + r2.height < r1.top);
      }
    }, {
      key: "intersectAreaRect",
      value: function intersectAreaRect(r1, r2) {
        var intersectionX1 = Math.max(r1.start, r2.start);
        var intersectionX2 = Math.min(r1.start + r1.width, r2.start + r2.width);

        if (intersectionX2 < intersectionX1) {
          return {
            start: 0,
            top: 0,
            width: 0,
            height: 0
          };
        }

        var intersectionY1 = Math.max(r1.top, r2.top);
        var intersectionY2 = Math.min(r1.top + r1.height, r2.top + r2.height);

        if (intersectionY2 < intersectionY1) {
          return {
            x: 0,
            y: 0,
            width: 0,
            height: 0
          };
        }

        return {
          start: intersectionX1,
          top: intersectionY1,
          width: intersectionX2 - intersectionX1,
          height: intersectionY2 - intersectionY1
        };
      }
    }, {
      key: "intersectArea",
      value: function intersectArea(r1, r2) {
        var _JSUtils$intersectAre = JSUtils.intersectAreaRect(r1, r2),
            width = _JSUtils$intersectAre.width,
            height = _JSUtils$intersectAre.height;

        return width * height;
      }
    }, {
      key: "rectContainsPoint",
      value: function rectContainsPoint(r, p) {
        return r.start < p.x && r.start + r.width > p.x && r.top < p.y && r.top + r.height > p.y;
      }
    }, {
      key: "inInterval",
      value: function inInterval(n, lower, upper) {
        return n >= lower && n <= upper;
      }
    }, {
      key: "areEqualShallow",
      value: function areEqualShallow() {
        var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
        var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
        var _options$print = options.print,
            print = _options$print === undefined ? false : _options$print,
            _options$skipKeys = options.skipKeys,
            skipKeys = _options$skipKeys === undefined ? [] : _options$skipKeys;
        var aDifferentFromB = Object.keys(a).find(function (key) {
          if (typeof a[key] === "function" || typeof a[key] === "object" || skipKeys.includes(key)) {
            return false;
          }

          if (!JSUtils.hasProperty(b, key)) {
            return true;
          }

          if (a[key] !== b[key]) {
            return true;
          }

          return false;
        });
        var bDifferentFromA = Object.keys(b).find(function (key) {
          if (typeof b[key] === "function" || typeof b[key] === "object" || skipKeys.includes(key)) {
            return false;
          }

          if (!JSUtils.hasProperty(a, key)) {
            return true;
          }

          return false;
        });
        var areEqual = !aDifferentFromB && !bDifferentFromA;

        if (print && !areEqual) {
          if (aDifferentFromB !== undefined) {
            _log.default.debug("a different from b by " + aDifferentFromB);
          }

          if (bDifferentFromA !== undefined) {
            _log.default.debug("b different from a by " + bDifferentFromA);
          }
        }

        return areEqual;
      }
    }, {
      key: "shouldUpdatePureComponent",
      value: function shouldUpdatePureComponent(currentProps, nextProps, currentState, nextState) {
        var ret = false;
        var prevPropsKeys = Object.keys(currentProps);
        var nextPropsKeys = Object.keys(nextProps);

        if (prevPropsKeys.length !== nextPropsKeys.length) {
          ret = true;
        }

        var prevStateKeys = Object.keys(currentState || {});
        var nextStateKeys = Object.keys(nextState || {});

        if (prevStateKeys.length !== nextStateKeys.length) {
          ret = true;
        }

        for (var key in currentProps) {
          if (currentProps[key] !== nextProps[key]) {
            ret = true;
          }
        }

        for (var _key2 in currentState) {
          if (currentState[_key2] !== (nextState || {})[_key2]) {
            ret = true;
          }
        }

        return ret;
      }
    }, {
      key: "getViewByRef",
      value: function getViewByRef(ref) {
        if (!ref) {
          throw new Error("ref.current is null");
        }

        if (typeof ref === "object" && ref.current) {
          ref = ref.current;
        }

        if (typeof ref !== "number") {
          var node = (0, _reactNative.findNodeHandle)(ref);

          if (!node) {
            throw new Error("findNodeHandle failed to resolve view=" + String(ref));
          }

          ref = node;
        }

        return ref;
      }
    }, {
      key: "isNull",
      value: function isNull(a) {
        return a === undefined || a === null;
      }
    }, {
      key: "isEmpty",
      value: function isEmpty(a) {
        if (!JSUtils.isNull(a)) {
          if (typeof a === "string") {
            return a.length === 0;
          }

          if (Array.isArray(a)) {
            return a.length === 0;
          }

          if (typeof a === "object") {
            return Object.keys(a).length === 0;
          }
        }

        return true;
      }
    }, {
      key: "hasProperty",
      value: function hasProperty() {
        var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var property = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
        return Object.prototype.hasOwnProperty.call(obj, property);
      }
    }, {
      key: "isNumber",
      value: function isNumber(value) {
        try {
          return !(typeof value !== "number" || Number.isNaN(value));
        } catch (e) {
          return false;
        }
      }
    }, {
      key: "max",
      value: function max() {
        for (var _len2 = arguments.length, args = new Array(_len2), _key3 = 0; _key3 < _len2; _key3++) {
          args[_key3] = arguments[_key3];
        }

        return Math.max.apply(Math, (0, _toConsumableArray2.default)(args.filter(function (arg) {
          return JSUtils.isNumber(arg);
        })));
      }
    }, {
      key: "min",
      value: function min() {
        for (var _len3 = arguments.length, args = new Array(_len3), _key4 = 0; _key4 < _len3; _key4++) {
          args[_key4] = arguments[_key4];
        }

        return Math.min.apply(Math, (0, _toConsumableArray2.default)(args.filter(function (arg) {
          return JSUtils.isNumber(arg);
        })));
      }
    }, {
      key: "iterator",
      value: function iterator(_iterator, callback) {
        if (_iterator && typeof _iterator.next === "function") {
          var iterate;
          var index = 0;

          do {
            iterate = _iterator.next();

            if (typeof callback === "function" && iterate.value !== undefined) {
              var _iterate$value = (0, _slicedToArray2.default)(iterate.value, 2),
                  key = _iterate$value[0],
                  value = _iterate$value[1];

              callback({
                key: key,
                value: value
              }, index);
            }

            index += 1;
          } while (!iterate.done);
        }
      }
    }]);
    return JSUtils;
  }();

  exports.default = JSUtils;
},764,[5,41,21,7,8,80,28,759]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var __assign = this && this.__assign || function () {
    __assign = Object.assign || function (t) {
      for (var s, i = 1, n = arguments.length; i < n; i++) {
        s = arguments[i];

        for (var p in s) {
          if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
        }
      }

      return t;
    };

    return __assign.apply(this, arguments);
  };

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var allNamedReferences = __assign(__assign({}, _$$_REQUIRE(_dependencyMap[0]).namedReferences), {
    all: _$$_REQUIRE(_dependencyMap[0]).namedReferences.html5
  });

  var encodeRegExps = {
    specialChars: /[<>'"&]/g,
    nonAscii: /[<>'"&\u0080-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/g,
    nonAsciiPrintable: /[<>'"&\x01-\x08\x11-\x15\x17-\x1F\x7f-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/g,
    nonAsciiPrintableOnly: /[\x01-\x08\x11-\x15\x17-\x1F\x7f-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/g,
    extensive: /[\x01-\x0c\x0e-\x1f\x21-\x2c\x2e-\x2f\x3a-\x40\x5b-\x60\x7b-\x7d\x7f-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/g
  };
  var defaultEncodeOptions = {
    mode: 'specialChars',
    level: 'all',
    numeric: 'decimal'
  };

  function encode(text, _a) {
    var _b = _a === undefined ? defaultEncodeOptions : _a,
        _c = _b.mode,
        mode = _c === undefined ? 'specialChars' : _c,
        _d = _b.numeric,
        numeric = _d === undefined ? 'decimal' : _d,
        _e = _b.level,
        level = _e === undefined ? 'all' : _e;

    if (!text) {
      return '';
    }

    var encodeRegExp = encodeRegExps[mode];
    var references = allNamedReferences[level].characters;
    var isHex = numeric === 'hexadecimal';
    encodeRegExp.lastIndex = 0;

    var _b = encodeRegExp.exec(text);

    var _c;

    if (_b) {
      _c = '';
      var _d = 0;

      do {
        if (_d !== _b.index) {
          _c += text.substring(_d, _b.index);
        }

        var _e = _b[0];
        var result_1 = references[_e];

        if (!result_1) {
          var code_1 = _e.length > 1 ? _$$_REQUIRE(_dependencyMap[1]).getCodePoint(_e, 0) : _e.charCodeAt(0);
          result_1 = (isHex ? '&#x' + code_1.toString(16) : '&#' + code_1) + ';';
        }

        _c += result_1;
        _d = _b.index + _e.length;
      } while (_b = encodeRegExp.exec(text));

      if (_d !== text.length) {
        _c += text.substring(_d);
      }
    } else {
      _c = text;
    }

    return _c;
  }

  exports.encode = encode;
  var defaultDecodeOptions = {
    scope: 'body',
    level: 'all'
  };
  var strict = /&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);/g;
  var attribute = /&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+)[;=]?/g;
  var baseDecodeRegExps = {
    xml: {
      strict: strict,
      attribute: attribute,
      body: _$$_REQUIRE(_dependencyMap[0]).bodyRegExps.xml
    },
    html4: {
      strict: strict,
      attribute: attribute,
      body: _$$_REQUIRE(_dependencyMap[0]).bodyRegExps.html4
    },
    html5: {
      strict: strict,
      attribute: attribute,
      body: _$$_REQUIRE(_dependencyMap[0]).bodyRegExps.html5
    }
  };

  var decodeRegExps = __assign(__assign({}, baseDecodeRegExps), {
    all: baseDecodeRegExps.html5
  });

  var fromCharCode = String.fromCharCode;
  var outOfBoundsChar = fromCharCode(65533);
  var defaultDecodeEntityOptions = {
    level: 'all'
  };

  function decodeEntity(entity, _a) {
    var _b = (_a === undefined ? defaultDecodeEntityOptions : _a).level,
        level = _b === undefined ? 'all' : _b;

    if (!entity) {
      return '';
    }

    var _b = entity;
    var decodeEntityLastChar_1 = entity[entity.length - 1];
    {
      var decodeResultByReference_1 = allNamedReferences[level].entities[entity];

      if (decodeResultByReference_1) {
        _b = decodeResultByReference_1;
      } else if (entity[0] === '&' && entity[1] === '#') {
        var decodeSecondChar_1 = entity[2];
        var decodeCode_1 = decodeSecondChar_1 == 'x' || decodeSecondChar_1 == 'X' ? parseInt(entity.substr(3), 16) : parseInt(entity.substr(2));
        _b = decodeCode_1 >= 0x10ffff ? outOfBoundsChar : decodeCode_1 > 65535 ? _$$_REQUIRE(_dependencyMap[1]).fromCodePoint(decodeCode_1) : fromCharCode(_$$_REQUIRE(_dependencyMap[2]).numericUnicodeMap[decodeCode_1] || decodeCode_1);
      }
    }
    return _b;
  }

  exports.decodeEntity = decodeEntity;

  function decode(text, _a) {
    var decodeSecondChar_1 = _a === undefined ? defaultDecodeOptions : _a,
        decodeCode_1 = decodeSecondChar_1.level,
        level = decodeCode_1 === undefined ? 'all' : decodeCode_1,
        _b = decodeSecondChar_1.scope,
        scope = _b === undefined ? level === 'xml' ? 'strict' : 'body' : _b;

    if (!text) {
      return '';
    }

    var decodeRegExp = decodeRegExps[level][scope];
    var references = allNamedReferences[level].entities;
    var isAttribute = scope === 'attribute';
    var isStrict = scope === 'strict';
    decodeRegExp.lastIndex = 0;
    var replaceMatch_1 = decodeRegExp.exec(text);
    var replaceResult_1;

    if (replaceMatch_1) {
      replaceResult_1 = '';
      var replaceLastIndex_1 = 0;

      do {
        if (replaceLastIndex_1 !== replaceMatch_1.index) {
          replaceResult_1 += text.substring(replaceLastIndex_1, replaceMatch_1.index);
        }

        var replaceInput_1 = replaceMatch_1[0];
        var decodeResult_1 = replaceInput_1;
        var decodeEntityLastChar_2 = replaceInput_1[replaceInput_1.length - 1];

        if (isAttribute && decodeEntityLastChar_2 === '=') {
          decodeResult_1 = replaceInput_1;
        } else if (isStrict && decodeEntityLastChar_2 !== ';') {
          decodeResult_1 = replaceInput_1;
        } else {
          var decodeResultByReference_2 = references[replaceInput_1];

          if (decodeResultByReference_2) {
            decodeResult_1 = decodeResultByReference_2;
          } else if (replaceInput_1[0] === '&' && replaceInput_1[1] === '#') {
            var decodeSecondChar_2 = replaceInput_1[2];
            var decodeCode_2 = decodeSecondChar_2 == 'x' || decodeSecondChar_2 == 'X' ? parseInt(replaceInput_1.substr(3), 16) : parseInt(replaceInput_1.substr(2));
            decodeResult_1 = decodeCode_2 >= 0x10ffff ? outOfBoundsChar : decodeCode_2 > 65535 ? _$$_REQUIRE(_dependencyMap[1]).fromCodePoint(decodeCode_2) : fromCharCode(_$$_REQUIRE(_dependencyMap[2]).numericUnicodeMap[decodeCode_2] || decodeCode_2);
          }
        }

        replaceResult_1 += decodeResult_1;
        replaceLastIndex_1 = replaceMatch_1.index + replaceInput_1.length;
      } while (replaceMatch_1 = decodeRegExp.exec(text));

      if (replaceLastIndex_1 !== text.length) {
        replaceResult_1 += text.substring(replaceLastIndex_1);
      }
    } else {
      replaceResult_1 = text;
    }

    return replaceResult_1;
  }

  exports.decode = decode;
},765,[766,767,768]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.bodyRegExps = {
    xml: /&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,
    html4: /&notin;|&(?:nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|quot|amp|lt|gt|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,
    html5: /&centerdot;|&copysr;|&divideontimes;|&gtcc;|&gtcir;|&gtdot;|&gtlPar;|&gtquest;|&gtrapprox;|&gtrarr;|&gtrdot;|&gtreqless;|&gtreqqless;|&gtrless;|&gtrsim;|&ltcc;|&ltcir;|&ltdot;|&lthree;|&ltimes;|&ltlarr;|&ltquest;|&ltrPar;|&ltri;|&ltrie;|&ltrif;|&notin;|&notinE;|&notindot;|&notinva;|&notinvb;|&notinvc;|&notni;|&notniva;|&notnivb;|&notnivc;|&parallel;|&timesb;|&timesbar;|&timesd;|&(?:AElig|AMP|Aacute|Acirc|Agrave|Aring|Atilde|Auml|COPY|Ccedil|ETH|Eacute|Ecirc|Egrave|Euml|GT|Iacute|Icirc|Igrave|Iuml|LT|Ntilde|Oacute|Ocirc|Ograve|Oslash|Otilde|Ouml|QUOT|REG|THORN|Uacute|Ucirc|Ugrave|Uuml|Yacute|aacute|acirc|acute|aelig|agrave|amp|aring|atilde|auml|brvbar|ccedil|cedil|cent|copy|curren|deg|divide|eacute|ecirc|egrave|eth|euml|frac12|frac14|frac34|gt|iacute|icirc|iexcl|igrave|iquest|iuml|laquo|lt|macr|micro|middot|nbsp|not|ntilde|oacute|ocirc|ograve|ordf|ordm|oslash|otilde|ouml|para|plusmn|pound|quot|raquo|reg|sect|shy|sup1|sup2|sup3|szlig|thorn|times|uacute|ucirc|ugrave|uml|uuml|yacute|yen|yuml|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g
  };
  exports.namedReferences = {
    xml: {
      entities: {
        "&lt;": "<",
        "&gt;": ">",
        "&quot;": '"',
        "&apos;": "'",
        "&amp;": "&"
      },
      characters: {
        "<": "&lt;",
        ">": "&gt;",
        '"': "&quot;",
        "'": "&apos;",
        "&": "&amp;"
      }
    },
    html4: {
      entities: {
        "&apos;": "'",
        "&nbsp": " ",
        "&nbsp;": " ",
        "&iexcl": "¡",
        "&iexcl;": "¡",
        "&cent": "¢",
        "&cent;": "¢",
        "&pound": "£",
        "&pound;": "£",
        "&curren": "¤",
        "&curren;": "¤",
        "&yen": "¥",
        "&yen;": "¥",
        "&brvbar": "¦",
        "&brvbar;": "¦",
        "&sect": "§",
        "&sect;": "§",
        "&uml": "¨",
        "&uml;": "¨",
        "&copy": "©",
        "&copy;": "©",
        "&ordf": "ª",
        "&ordf;": "ª",
        "&laquo": "«",
        "&laquo;": "«",
        "&not": "¬",
        "&not;": "¬",
        "&shy": "­",
        "&shy;": "­",
        "&reg": "®",
        "&reg;": "®",
        "&macr": "¯",
        "&macr;": "¯",
        "&deg": "°",
        "&deg;": "°",
        "&plusmn": "±",
        "&plusmn;": "±",
        "&sup2": "²",
        "&sup2;": "²",
        "&sup3": "³",
        "&sup3;": "³",
        "&acute": "´",
        "&acute;": "´",
        "&micro": "µ",
        "&micro;": "µ",
        "&para": "¶",
        "&para;": "¶",
        "&middot": "·",
        "&middot;": "·",
        "&cedil": "¸",
        "&cedil;": "¸",
        "&sup1": "¹",
        "&sup1;": "¹",
        "&ordm": "º",
        "&ordm;": "º",
        "&raquo": "»",
        "&raquo;": "»",
        "&frac14": "¼",
        "&frac14;": "¼",
        "&frac12": "½",
        "&frac12;": "½",
        "&frac34": "¾",
        "&frac34;": "¾",
        "&iquest": "¿",
        "&iquest;": "¿",
        "&Agrave": "À",
        "&Agrave;": "À",
        "&Aacute": "Á",
        "&Aacute;": "Á",
        "&Acirc": "Â",
        "&Acirc;": "Â",
        "&Atilde": "Ã",
        "&Atilde;": "Ã",
        "&Auml": "Ä",
        "&Auml;": "Ä",
        "&Aring": "Å",
        "&Aring;": "Å",
        "&AElig": "Æ",
        "&AElig;": "Æ",
        "&Ccedil": "Ç",
        "&Ccedil;": "Ç",
        "&Egrave": "È",
        "&Egrave;": "È",
        "&Eacute": "É",
        "&Eacute;": "É",
        "&Ecirc": "Ê",
        "&Ecirc;": "Ê",
        "&Euml": "Ë",
        "&Euml;": "Ë",
        "&Igrave": "Ì",
        "&Igrave;": "Ì",
        "&Iacute": "Í",
        "&Iacute;": "Í",
        "&Icirc": "Î",
        "&Icirc;": "Î",
        "&Iuml": "Ï",
        "&Iuml;": "Ï",
        "&ETH": "Ð",
        "&ETH;": "Ð",
        "&Ntilde": "Ñ",
        "&Ntilde;": "Ñ",
        "&Ograve": "Ò",
        "&Ograve;": "Ò",
        "&Oacute": "Ó",
        "&Oacute;": "Ó",
        "&Ocirc": "Ô",
        "&Ocirc;": "Ô",
        "&Otilde": "Õ",
        "&Otilde;": "Õ",
        "&Ouml": "Ö",
        "&Ouml;": "Ö",
        "&times": "×",
        "&times;": "×",
        "&Oslash": "Ø",
        "&Oslash;": "Ø",
        "&Ugrave": "Ù",
        "&Ugrave;": "Ù",
        "&Uacute": "Ú",
        "&Uacute;": "Ú",
        "&Ucirc": "Û",
        "&Ucirc;": "Û",
        "&Uuml": "Ü",
        "&Uuml;": "Ü",
        "&Yacute": "Ý",
        "&Yacute;": "Ý",
        "&THORN": "Þ",
        "&THORN;": "Þ",
        "&szlig": "ß",
        "&szlig;": "ß",
        "&agrave": "à",
        "&agrave;": "à",
        "&aacute": "á",
        "&aacute;": "á",
        "&acirc": "â",
        "&acirc;": "â",
        "&atilde": "ã",
        "&atilde;": "ã",
        "&auml": "ä",
        "&auml;": "ä",
        "&aring": "å",
        "&aring;": "å",
        "&aelig": "æ",
        "&aelig;": "æ",
        "&ccedil": "ç",
        "&ccedil;": "ç",
        "&egrave": "è",
        "&egrave;": "è",
        "&eacute": "é",
        "&eacute;": "é",
        "&ecirc": "ê",
        "&ecirc;": "ê",
        "&euml": "ë",
        "&euml;": "ë",
        "&igrave": "ì",
        "&igrave;": "ì",
        "&iacute": "í",
        "&iacute;": "í",
        "&icirc": "î",
        "&icirc;": "î",
        "&iuml": "ï",
        "&iuml;": "ï",
        "&eth": "ð",
        "&eth;": "ð",
        "&ntilde": "ñ",
        "&ntilde;": "ñ",
        "&ograve": "ò",
        "&ograve;": "ò",
        "&oacute": "ó",
        "&oacute;": "ó",
        "&ocirc": "ô",
        "&ocirc;": "ô",
        "&otilde": "õ",
        "&otilde;": "õ",
        "&ouml": "ö",
        "&ouml;": "ö",
        "&divide": "÷",
        "&divide;": "÷",
        "&oslash": "ø",
        "&oslash;": "ø",
        "&ugrave": "ù",
        "&ugrave;": "ù",
        "&uacute": "ú",
        "&uacute;": "ú",
        "&ucirc": "û",
        "&ucirc;": "û",
        "&uuml": "ü",
        "&uuml;": "ü",
        "&yacute": "ý",
        "&yacute;": "ý",
        "&thorn": "þ",
        "&thorn;": "þ",
        "&yuml": "ÿ",
        "&yuml;": "ÿ",
        "&quot": '"',
        "&quot;": '"',
        "&amp": "&",
        "&amp;": "&",
        "&lt": "<",
        "&lt;": "<",
        "&gt": ">",
        "&gt;": ">",
        "&OElig;": "Œ",
        "&oelig;": "œ",
        "&Scaron;": "Š",
        "&scaron;": "š",
        "&Yuml;": "Ÿ",
        "&circ;": "ˆ",
        "&tilde;": "˜",
        "&ensp;": " ",
        "&emsp;": " ",
        "&thinsp;": " ",
        "&zwnj;": "‌",
        "&zwj;": "‍",
        "&lrm;": "‎",
        "&rlm;": "‏",
        "&ndash;": "–",
        "&mdash;": "—",
        "&lsquo;": "‘",
        "&rsquo;": "’",
        "&sbquo;": "‚",
        "&ldquo;": "“",
        "&rdquo;": "”",
        "&bdquo;": "„",
        "&dagger;": "†",
        "&Dagger;": "‡",
        "&permil;": "‰",
        "&lsaquo;": "‹",
        "&rsaquo;": "›",
        "&euro;": "€",
        "&fnof;": "ƒ",
        "&Alpha;": "Α",
        "&Beta;": "Β",
        "&Gamma;": "Γ",
        "&Delta;": "Δ",
        "&Epsilon;": "Ε",
        "&Zeta;": "Ζ",
        "&Eta;": "Η",
        "&Theta;": "Θ",
        "&Iota;": "Ι",
        "&Kappa;": "Κ",
        "&Lambda;": "Λ",
        "&Mu;": "Μ",
        "&Nu;": "Ν",
        "&Xi;": "Ξ",
        "&Omicron;": "Ο",
        "&Pi;": "Π",
        "&Rho;": "Ρ",
        "&Sigma;": "Σ",
        "&Tau;": "Τ",
        "&Upsilon;": "Υ",
        "&Phi;": "Φ",
        "&Chi;": "Χ",
        "&Psi;": "Ψ",
        "&Omega;": "Ω",
        "&alpha;": "α",
        "&beta;": "β",
        "&gamma;": "γ",
        "&delta;": "δ",
        "&epsilon;": "ε",
        "&zeta;": "ζ",
        "&eta;": "η",
        "&theta;": "θ",
        "&iota;": "ι",
        "&kappa;": "κ",
        "&lambda;": "λ",
        "&mu;": "μ",
        "&nu;": "ν",
        "&xi;": "ξ",
        "&omicron;": "ο",
        "&pi;": "π",
        "&rho;": "ρ",
        "&sigmaf;": "ς",
        "&sigma;": "σ",
        "&tau;": "τ",
        "&upsilon;": "υ",
        "&phi;": "φ",
        "&chi;": "χ",
        "&psi;": "ψ",
        "&omega;": "ω",
        "&thetasym;": "ϑ",
        "&upsih;": "ϒ",
        "&piv;": "ϖ",
        "&bull;": "•",
        "&hellip;": "…",
        "&prime;": "′",
        "&Prime;": "″",
        "&oline;": "‾",
        "&frasl;": "⁄",
        "&weierp;": "℘",
        "&image;": "ℑ",
        "&real;": "ℜ",
        "&trade;": "™",
        "&alefsym;": "ℵ",
        "&larr;": "←",
        "&uarr;": "↑",
        "&rarr;": "→",
        "&darr;": "↓",
        "&harr;": "↔",
        "&crarr;": "↵",
        "&lArr;": "⇐",
        "&uArr;": "⇑",
        "&rArr;": "⇒",
        "&dArr;": "⇓",
        "&hArr;": "⇔",
        "&forall;": "∀",
        "&part;": "∂",
        "&exist;": "∃",
        "&empty;": "∅",
        "&nabla;": "∇",
        "&isin;": "∈",
        "&notin;": "∉",
        "&ni;": "∋",
        "&prod;": "∏",
        "&sum;": "∑",
        "&minus;": "−",
        "&lowast;": "∗",
        "&radic;": "√",
        "&prop;": "∝",
        "&infin;": "∞",
        "&ang;": "∠",
        "&and;": "∧",
        "&or;": "∨",
        "&cap;": "∩",
        "&cup;": "∪",
        "&int;": "∫",
        "&there4;": "∴",
        "&sim;": "∼",
        "&cong;": "≅",
        "&asymp;": "≈",
        "&ne;": "≠",
        "&equiv;": "≡",
        "&le;": "≤",
        "&ge;": "≥",
        "&sub;": "⊂",
        "&sup;": "⊃",
        "&nsub;": "⊄",
        "&sube;": "⊆",
        "&supe;": "⊇",
        "&oplus;": "⊕",
        "&otimes;": "⊗",
        "&perp;": "⊥",
        "&sdot;": "⋅",
        "&lceil;": "⌈",
        "&rceil;": "⌉",
        "&lfloor;": "⌊",
        "&rfloor;": "⌋",
        "&lang;": "〈",
        "&rang;": "〉",
        "&loz;": "◊",
        "&spades;": "♠",
        "&clubs;": "♣",
        "&hearts;": "♥",
        "&diams;": "♦"
      },
      characters: {
        "'": "&apos;",
        " ": "&nbsp;",
        "¡": "&iexcl;",
        "¢": "&cent;",
        "£": "&pound;",
        "¤": "&curren;",
        "¥": "&yen;",
        "¦": "&brvbar;",
        "§": "&sect;",
        "¨": "&uml;",
        "©": "&copy;",
        "ª": "&ordf;",
        "«": "&laquo;",
        "¬": "&not;",
        "­": "&shy;",
        "®": "&reg;",
        "¯": "&macr;",
        "°": "&deg;",
        "±": "&plusmn;",
        "²": "&sup2;",
        "³": "&sup3;",
        "´": "&acute;",
        "µ": "&micro;",
        "¶": "&para;",
        "·": "&middot;",
        "¸": "&cedil;",
        "¹": "&sup1;",
        "º": "&ordm;",
        "»": "&raquo;",
        "¼": "&frac14;",
        "½": "&frac12;",
        "¾": "&frac34;",
        "¿": "&iquest;",
        "À": "&Agrave;",
        "Á": "&Aacute;",
        "Â": "&Acirc;",
        "Ã": "&Atilde;",
        "Ä": "&Auml;",
        "Å": "&Aring;",
        "Æ": "&AElig;",
        "Ç": "&Ccedil;",
        "È": "&Egrave;",
        "É": "&Eacute;",
        "Ê": "&Ecirc;",
        "Ë": "&Euml;",
        "Ì": "&Igrave;",
        "Í": "&Iacute;",
        "Î": "&Icirc;",
        "Ï": "&Iuml;",
        "Ð": "&ETH;",
        "Ñ": "&Ntilde;",
        "Ò": "&Ograve;",
        "Ó": "&Oacute;",
        "Ô": "&Ocirc;",
        "Õ": "&Otilde;",
        "Ö": "&Ouml;",
        "×": "&times;",
        "Ø": "&Oslash;",
        "Ù": "&Ugrave;",
        "Ú": "&Uacute;",
        "Û": "&Ucirc;",
        "Ü": "&Uuml;",
        "Ý": "&Yacute;",
        "Þ": "&THORN;",
        "ß": "&szlig;",
        "à": "&agrave;",
        "á": "&aacute;",
        "â": "&acirc;",
        "ã": "&atilde;",
        "ä": "&auml;",
        "å": "&aring;",
        "æ": "&aelig;",
        "ç": "&ccedil;",
        "è": "&egrave;",
        "é": "&eacute;",
        "ê": "&ecirc;",
        "ë": "&euml;",
        "ì": "&igrave;",
        "í": "&iacute;",
        "î": "&icirc;",
        "ï": "&iuml;",
        "ð": "&eth;",
        "ñ": "&ntilde;",
        "ò": "&ograve;",
        "ó": "&oacute;",
        "ô": "&ocirc;",
        "õ": "&otilde;",
        "ö": "&ouml;",
        "÷": "&divide;",
        "ø": "&oslash;",
        "ù": "&ugrave;",
        "ú": "&uacute;",
        "û": "&ucirc;",
        "ü": "&uuml;",
        "ý": "&yacute;",
        "þ": "&thorn;",
        "ÿ": "&yuml;",
        '"': "&quot;",
        "&": "&amp;",
        "<": "&lt;",
        ">": "&gt;",
        "Œ": "&OElig;",
        "œ": "&oelig;",
        "Š": "&Scaron;",
        "š": "&scaron;",
        "Ÿ": "&Yuml;",
        "ˆ": "&circ;",
        "˜": "&tilde;",
        " ": "&ensp;",
        " ": "&emsp;",
        " ": "&thinsp;",
        "‌": "&zwnj;",
        "‍": "&zwj;",
        "‎": "&lrm;",
        "‏": "&rlm;",
        "–": "&ndash;",
        "—": "&mdash;",
        "‘": "&lsquo;",
        "’": "&rsquo;",
        "‚": "&sbquo;",
        "“": "&ldquo;",
        "”": "&rdquo;",
        "„": "&bdquo;",
        "†": "&dagger;",
        "‡": "&Dagger;",
        "‰": "&permil;",
        "‹": "&lsaquo;",
        "›": "&rsaquo;",
        "€": "&euro;",
        "ƒ": "&fnof;",
        "Α": "&Alpha;",
        "Β": "&Beta;",
        "Γ": "&Gamma;",
        "Δ": "&Delta;",
        "Ε": "&Epsilon;",
        "Ζ": "&Zeta;",
        "Η": "&Eta;",
        "Θ": "&Theta;",
        "Ι": "&Iota;",
        "Κ": "&Kappa;",
        "Λ": "&Lambda;",
        "Μ": "&Mu;",
        "Ν": "&Nu;",
        "Ξ": "&Xi;",
        "Ο": "&Omicron;",
        "Π": "&Pi;",
        "Ρ": "&Rho;",
        "Σ": "&Sigma;",
        "Τ": "&Tau;",
        "Υ": "&Upsilon;",
        "Φ": "&Phi;",
        "Χ": "&Chi;",
        "Ψ": "&Psi;",
        "Ω": "&Omega;",
        "α": "&alpha;",
        "β": "&beta;",
        "γ": "&gamma;",
        "δ": "&delta;",
        "ε": "&epsilon;",
        "ζ": "&zeta;",
        "η": "&eta;",
        "θ": "&theta;",
        "ι": "&iota;",
        "κ": "&kappa;",
        "λ": "&lambda;",
        "μ": "&mu;",
        "ν": "&nu;",
        "ξ": "&xi;",
        "ο": "&omicron;",
        "π": "&pi;",
        "ρ": "&rho;",
        "ς": "&sigmaf;",
        "σ": "&sigma;",
        "τ": "&tau;",
        "υ": "&upsilon;",
        "φ": "&phi;",
        "χ": "&chi;",
        "ψ": "&psi;",
        "ω": "&omega;",
        "ϑ": "&thetasym;",
        "ϒ": "&upsih;",
        "ϖ": "&piv;",
        "•": "&bull;",
        "…": "&hellip;",
        "′": "&prime;",
        "″": "&Prime;",
        "‾": "&oline;",
        "⁄": "&frasl;",
        "℘": "&weierp;",
        "ℑ": "&image;",
        "ℜ": "&real;",
        "™": "&trade;",
        "ℵ": "&alefsym;",
        "←": "&larr;",
        "↑": "&uarr;",
        "→": "&rarr;",
        "↓": "&darr;",
        "↔": "&harr;",
        "↵": "&crarr;",
        "⇐": "&lArr;",
        "⇑": "&uArr;",
        "⇒": "&rArr;",
        "⇓": "&dArr;",
        "⇔": "&hArr;",
        "∀": "&forall;",
        "∂": "&part;",
        "∃": "&exist;",
        "∅": "&empty;",
        "∇": "&nabla;",
        "∈": "&isin;",
        "∉": "&notin;",
        "∋": "&ni;",
        "∏": "&prod;",
        "∑": "&sum;",
        "−": "&minus;",
        "∗": "&lowast;",
        "√": "&radic;",
        "∝": "&prop;",
        "∞": "&infin;",
        "∠": "&ang;",
        "∧": "&and;",
        "∨": "&or;",
        "∩": "&cap;",
        "∪": "&cup;",
        "∫": "&int;",
        "∴": "&there4;",
        "∼": "&sim;",
        "≅": "&cong;",
        "≈": "&asymp;",
        "≠": "&ne;",
        "≡": "&equiv;",
        "≤": "&le;",
        "≥": "&ge;",
        "⊂": "&sub;",
        "⊃": "&sup;",
        "⊄": "&nsub;",
        "⊆": "&sube;",
        "⊇": "&supe;",
        "⊕": "&oplus;",
        "⊗": "&otimes;",
        "⊥": "&perp;",
        "⋅": "&sdot;",
        "⌈": "&lceil;",
        "⌉": "&rceil;",
        "⌊": "&lfloor;",
        "⌋": "&rfloor;",
        "〈": "&lang;",
        "〉": "&rang;",
        "◊": "&loz;",
        "♠": "&spades;",
        "♣": "&clubs;",
        "♥": "&hearts;",
        "♦": "&diams;"
      }
    },
    html5: {
      entities: {
        "&AElig": "Æ",
        "&AElig;": "Æ",
        "&AMP": "&",
        "&AMP;": "&",
        "&Aacute": "Á",
        "&Aacute;": "Á",
        "&Abreve;": "Ă",
        "&Acirc": "Â",
        "&Acirc;": "Â",
        "&Acy;": "А",
        "&Afr;": "𝔄",
        "&Agrave": "À",
        "&Agrave;": "À",
        "&Alpha;": "Α",
        "&Amacr;": "Ā",
        "&And;": "⩓",
        "&Aogon;": "Ą",
        "&Aopf;": "𝔸",
        "&ApplyFunction;": "⁡",
        "&Aring": "Å",
        "&Aring;": "Å",
        "&Ascr;": "𝒜",
        "&Assign;": "≔",
        "&Atilde": "Ã",
        "&Atilde;": "Ã",
        "&Auml": "Ä",
        "&Auml;": "Ä",
        "&Backslash;": "∖",
        "&Barv;": "⫧",
        "&Barwed;": "⌆",
        "&Bcy;": "Б",
        "&Because;": "∵",
        "&Bernoullis;": "ℬ",
        "&Beta;": "Β",
        "&Bfr;": "𝔅",
        "&Bopf;": "𝔹",
        "&Breve;": "˘",
        "&Bscr;": "ℬ",
        "&Bumpeq;": "≎",
        "&CHcy;": "Ч",
        "&COPY": "©",
        "&COPY;": "©",
        "&Cacute;": "Ć",
        "&Cap;": "⋒",
        "&CapitalDifferentialD;": "ⅅ",
        "&Cayleys;": "ℭ",
        "&Ccaron;": "Č",
        "&Ccedil": "Ç",
        "&Ccedil;": "Ç",
        "&Ccirc;": "Ĉ",
        "&Cconint;": "∰",
        "&Cdot;": "Ċ",
        "&Cedilla;": "¸",
        "&CenterDot;": "·",
        "&Cfr;": "ℭ",
        "&Chi;": "Χ",
        "&CircleDot;": "⊙",
        "&CircleMinus;": "⊖",
        "&CirclePlus;": "⊕",
        "&CircleTimes;": "⊗",
        "&ClockwiseContourIntegral;": "∲",
        "&CloseCurlyDoubleQuote;": "”",
        "&CloseCurlyQuote;": "’",
        "&Colon;": "∷",
        "&Colone;": "⩴",
        "&Congruent;": "≡",
        "&Conint;": "∯",
        "&ContourIntegral;": "∮",
        "&Copf;": "ℂ",
        "&Coproduct;": "∐",
        "&CounterClockwiseContourIntegral;": "∳",
        "&Cross;": "⨯",
        "&Cscr;": "𝒞",
        "&Cup;": "⋓",
        "&CupCap;": "≍",
        "&DD;": "ⅅ",
        "&DDotrahd;": "⤑",
        "&DJcy;": "Ђ",
        "&DScy;": "Ѕ",
        "&DZcy;": "Џ",
        "&Dagger;": "‡",
        "&Darr;": "↡",
        "&Dashv;": "⫤",
        "&Dcaron;": "Ď",
        "&Dcy;": "Д",
        "&Del;": "∇",
        "&Delta;": "Δ",
        "&Dfr;": "𝔇",
        "&DiacriticalAcute;": "´",
        "&DiacriticalDot;": "˙",
        "&DiacriticalDoubleAcute;": "˝",
        "&DiacriticalGrave;": "`",
        "&DiacriticalTilde;": "˜",
        "&Diamond;": "⋄",
        "&DifferentialD;": "ⅆ",
        "&Dopf;": "𝔻",
        "&Dot;": "¨",
        "&DotDot;": "⃜",
        "&DotEqual;": "≐",
        "&DoubleContourIntegral;": "∯",
        "&DoubleDot;": "¨",
        "&DoubleDownArrow;": "⇓",
        "&DoubleLeftArrow;": "⇐",
        "&DoubleLeftRightArrow;": "⇔",
        "&DoubleLeftTee;": "⫤",
        "&DoubleLongLeftArrow;": "⟸",
        "&DoubleLongLeftRightArrow;": "⟺",
        "&DoubleLongRightArrow;": "⟹",
        "&DoubleRightArrow;": "⇒",
        "&DoubleRightTee;": "⊨",
        "&DoubleUpArrow;": "⇑",
        "&DoubleUpDownArrow;": "⇕",
        "&DoubleVerticalBar;": "∥",
        "&DownArrow;": "↓",
        "&DownArrowBar;": "⤓",
        "&DownArrowUpArrow;": "⇵",
        "&DownBreve;": "̑",
        "&DownLeftRightVector;": "⥐",
        "&DownLeftTeeVector;": "⥞",
        "&DownLeftVector;": "↽",
        "&DownLeftVectorBar;": "⥖",
        "&DownRightTeeVector;": "⥟",
        "&DownRightVector;": "⇁",
        "&DownRightVectorBar;": "⥗",
        "&DownTee;": "⊤",
        "&DownTeeArrow;": "↧",
        "&Downarrow;": "⇓",
        "&Dscr;": "𝒟",
        "&Dstrok;": "Đ",
        "&ENG;": "Ŋ",
        "&ETH": "Ð",
        "&ETH;": "Ð",
        "&Eacute": "É",
        "&Eacute;": "É",
        "&Ecaron;": "Ě",
        "&Ecirc": "Ê",
        "&Ecirc;": "Ê",
        "&Ecy;": "Э",
        "&Edot;": "Ė",
        "&Efr;": "𝔈",
        "&Egrave": "È",
        "&Egrave;": "È",
        "&Element;": "∈",
        "&Emacr;": "Ē",
        "&EmptySmallSquare;": "◻",
        "&EmptyVerySmallSquare;": "▫",
        "&Eogon;": "Ę",
        "&Eopf;": "𝔼",
        "&Epsilon;": "Ε",
        "&Equal;": "⩵",
        "&EqualTilde;": "≂",
        "&Equilibrium;": "⇌",
        "&Escr;": "ℰ",
        "&Esim;": "⩳",
        "&Eta;": "Η",
        "&Euml": "Ë",
        "&Euml;": "Ë",
        "&Exists;": "∃",
        "&ExponentialE;": "ⅇ",
        "&Fcy;": "Ф",
        "&Ffr;": "𝔉",
        "&FilledSmallSquare;": "◼",
        "&FilledVerySmallSquare;": "▪",
        "&Fopf;": "𝔽",
        "&ForAll;": "∀",
        "&Fouriertrf;": "ℱ",
        "&Fscr;": "ℱ",
        "&GJcy;": "Ѓ",
        "&GT": ">",
        "&GT;": ">",
        "&Gamma;": "Γ",
        "&Gammad;": "Ϝ",
        "&Gbreve;": "Ğ",
        "&Gcedil;": "Ģ",
        "&Gcirc;": "Ĝ",
        "&Gcy;": "Г",
        "&Gdot;": "Ġ",
        "&Gfr;": "𝔊",
        "&Gg;": "⋙",
        "&Gopf;": "𝔾",
        "&GreaterEqual;": "≥",
        "&GreaterEqualLess;": "⋛",
        "&GreaterFullEqual;": "≧",
        "&GreaterGreater;": "⪢",
        "&GreaterLess;": "≷",
        "&GreaterSlantEqual;": "⩾",
        "&GreaterTilde;": "≳",
        "&Gscr;": "𝒢",
        "&Gt;": "≫",
        "&HARDcy;": "Ъ",
        "&Hacek;": "ˇ",
        "&Hat;": "^",
        "&Hcirc;": "Ĥ",
        "&Hfr;": "ℌ",
        "&HilbertSpace;": "ℋ",
        "&Hopf;": "ℍ",
        "&HorizontalLine;": "─",
        "&Hscr;": "ℋ",
        "&Hstrok;": "Ħ",
        "&HumpDownHump;": "≎",
        "&HumpEqual;": "≏",
        "&IEcy;": "Е",
        "&IJlig;": "Ĳ",
        "&IOcy;": "Ё",
        "&Iacute": "Í",
        "&Iacute;": "Í",
        "&Icirc": "Î",
        "&Icirc;": "Î",
        "&Icy;": "И",
        "&Idot;": "İ",
        "&Ifr;": "ℑ",
        "&Igrave": "Ì",
        "&Igrave;": "Ì",
        "&Im;": "ℑ",
        "&Imacr;": "Ī",
        "&ImaginaryI;": "ⅈ",
        "&Implies;": "⇒",
        "&Int;": "∬",
        "&Integral;": "∫",
        "&Intersection;": "⋂",
        "&InvisibleComma;": "⁣",
        "&InvisibleTimes;": "⁢",
        "&Iogon;": "Į",
        "&Iopf;": "𝕀",
        "&Iota;": "Ι",
        "&Iscr;": "ℐ",
        "&Itilde;": "Ĩ",
        "&Iukcy;": "І",
        "&Iuml": "Ï",
        "&Iuml;": "Ï",
        "&Jcirc;": "Ĵ",
        "&Jcy;": "Й",
        "&Jfr;": "𝔍",
        "&Jopf;": "𝕁",
        "&Jscr;": "𝒥",
        "&Jsercy;": "Ј",
        "&Jukcy;": "Є",
        "&KHcy;": "Х",
        "&KJcy;": "Ќ",
        "&Kappa;": "Κ",
        "&Kcedil;": "Ķ",
        "&Kcy;": "К",
        "&Kfr;": "𝔎",
        "&Kopf;": "𝕂",
        "&Kscr;": "𝒦",
        "&LJcy;": "Љ",
        "&LT": "<",
        "&LT;": "<",
        "&Lacute;": "Ĺ",
        "&Lambda;": "Λ",
        "&Lang;": "⟪",
        "&Laplacetrf;": "ℒ",
        "&Larr;": "↞",
        "&Lcaron;": "Ľ",
        "&Lcedil;": "Ļ",
        "&Lcy;": "Л",
        "&LeftAngleBracket;": "⟨",
        "&LeftArrow;": "←",
        "&LeftArrowBar;": "⇤",
        "&LeftArrowRightArrow;": "⇆",
        "&LeftCeiling;": "⌈",
        "&LeftDoubleBracket;": "⟦",
        "&LeftDownTeeVector;": "⥡",
        "&LeftDownVector;": "⇃",
        "&LeftDownVectorBar;": "⥙",
        "&LeftFloor;": "⌊",
        "&LeftRightArrow;": "↔",
        "&LeftRightVector;": "⥎",
        "&LeftTee;": "⊣",
        "&LeftTeeArrow;": "↤",
        "&LeftTeeVector;": "⥚",
        "&LeftTriangle;": "⊲",
        "&LeftTriangleBar;": "⧏",
        "&LeftTriangleEqual;": "⊴",
        "&LeftUpDownVector;": "⥑",
        "&LeftUpTeeVector;": "⥠",
        "&LeftUpVector;": "↿",
        "&LeftUpVectorBar;": "⥘",
        "&LeftVector;": "↼",
        "&LeftVectorBar;": "⥒",
        "&Leftarrow;": "⇐",
        "&Leftrightarrow;": "⇔",
        "&LessEqualGreater;": "⋚",
        "&LessFullEqual;": "≦",
        "&LessGreater;": "≶",
        "&LessLess;": "⪡",
        "&LessSlantEqual;": "⩽",
        "&LessTilde;": "≲",
        "&Lfr;": "𝔏",
        "&Ll;": "⋘",
        "&Lleftarrow;": "⇚",
        "&Lmidot;": "Ŀ",
        "&LongLeftArrow;": "⟵",
        "&LongLeftRightArrow;": "⟷",
        "&LongRightArrow;": "⟶",
        "&Longleftarrow;": "⟸",
        "&Longleftrightarrow;": "⟺",
        "&Longrightarrow;": "⟹",
        "&Lopf;": "𝕃",
        "&LowerLeftArrow;": "↙",
        "&LowerRightArrow;": "↘",
        "&Lscr;": "ℒ",
        "&Lsh;": "↰",
        "&Lstrok;": "Ł",
        "&Lt;": "≪",
        "&Map;": "⤅",
        "&Mcy;": "М",
        "&MediumSpace;": " ",
        "&Mellintrf;": "ℳ",
        "&Mfr;": "𝔐",
        "&MinusPlus;": "∓",
        "&Mopf;": "𝕄",
        "&Mscr;": "ℳ",
        "&Mu;": "Μ",
        "&NJcy;": "Њ",
        "&Nacute;": "Ń",
        "&Ncaron;": "Ň",
        "&Ncedil;": "Ņ",
        "&Ncy;": "Н",
        "&NegativeMediumSpace;": "​",
        "&NegativeThickSpace;": "​",
        "&NegativeThinSpace;": "​",
        "&NegativeVeryThinSpace;": "​",
        "&NestedGreaterGreater;": "≫",
        "&NestedLessLess;": "≪",
        "&NewLine;": "\n",
        "&Nfr;": "𝔑",
        "&NoBreak;": "⁠",
        "&NonBreakingSpace;": " ",
        "&Nopf;": "ℕ",
        "&Not;": "⫬",
        "&NotCongruent;": "≢",
        "&NotCupCap;": "≭",
        "&NotDoubleVerticalBar;": "∦",
        "&NotElement;": "∉",
        "&NotEqual;": "≠",
        "&NotEqualTilde;": "≂̸",
        "&NotExists;": "∄",
        "&NotGreater;": "≯",
        "&NotGreaterEqual;": "≱",
        "&NotGreaterFullEqual;": "≧̸",
        "&NotGreaterGreater;": "≫̸",
        "&NotGreaterLess;": "≹",
        "&NotGreaterSlantEqual;": "⩾̸",
        "&NotGreaterTilde;": "≵",
        "&NotHumpDownHump;": "≎̸",
        "&NotHumpEqual;": "≏̸",
        "&NotLeftTriangle;": "⋪",
        "&NotLeftTriangleBar;": "⧏̸",
        "&NotLeftTriangleEqual;": "⋬",
        "&NotLess;": "≮",
        "&NotLessEqual;": "≰",
        "&NotLessGreater;": "≸",
        "&NotLessLess;": "≪̸",
        "&NotLessSlantEqual;": "⩽̸",
        "&NotLessTilde;": "≴",
        "&NotNestedGreaterGreater;": "⪢̸",
        "&NotNestedLessLess;": "⪡̸",
        "&NotPrecedes;": "⊀",
        "&NotPrecedesEqual;": "⪯̸",
        "&NotPrecedesSlantEqual;": "⋠",
        "&NotReverseElement;": "∌",
        "&NotRightTriangle;": "⋫",
        "&NotRightTriangleBar;": "⧐̸",
        "&NotRightTriangleEqual;": "⋭",
        "&NotSquareSubset;": "⊏̸",
        "&NotSquareSubsetEqual;": "⋢",
        "&NotSquareSuperset;": "⊐̸",
        "&NotSquareSupersetEqual;": "⋣",
        "&NotSubset;": "⊂⃒",
        "&NotSubsetEqual;": "⊈",
        "&NotSucceeds;": "⊁",
        "&NotSucceedsEqual;": "⪰̸",
        "&NotSucceedsSlantEqual;": "⋡",
        "&NotSucceedsTilde;": "≿̸",
        "&NotSuperset;": "⊃⃒",
        "&NotSupersetEqual;": "⊉",
        "&NotTilde;": "≁",
        "&NotTildeEqual;": "≄",
        "&NotTildeFullEqual;": "≇",
        "&NotTildeTilde;": "≉",
        "&NotVerticalBar;": "∤",
        "&Nscr;": "𝒩",
        "&Ntilde": "Ñ",
        "&Ntilde;": "Ñ",
        "&Nu;": "Ν",
        "&OElig;": "Œ",
        "&Oacute": "Ó",
        "&Oacute;": "Ó",
        "&Ocirc": "Ô",
        "&Ocirc;": "Ô",
        "&Ocy;": "О",
        "&Odblac;": "Ő",
        "&Ofr;": "𝔒",
        "&Ograve": "Ò",
        "&Ograve;": "Ò",
        "&Omacr;": "Ō",
        "&Omega;": "Ω",
        "&Omicron;": "Ο",
        "&Oopf;": "𝕆",
        "&OpenCurlyDoubleQuote;": "“",
        "&OpenCurlyQuote;": "‘",
        "&Or;": "⩔",
        "&Oscr;": "𝒪",
        "&Oslash": "Ø",
        "&Oslash;": "Ø",
        "&Otilde": "Õ",
        "&Otilde;": "Õ",
        "&Otimes;": "⨷",
        "&Ouml": "Ö",
        "&Ouml;": "Ö",
        "&OverBar;": "‾",
        "&OverBrace;": "⏞",
        "&OverBracket;": "⎴",
        "&OverParenthesis;": "⏜",
        "&PartialD;": "∂",
        "&Pcy;": "П",
        "&Pfr;": "𝔓",
        "&Phi;": "Φ",
        "&Pi;": "Π",
        "&PlusMinus;": "±",
        "&Poincareplane;": "ℌ",
        "&Popf;": "ℙ",
        "&Pr;": "⪻",
        "&Precedes;": "≺",
        "&PrecedesEqual;": "⪯",
        "&PrecedesSlantEqual;": "≼",
        "&PrecedesTilde;": "≾",
        "&Prime;": "″",
        "&Product;": "∏",
        "&Proportion;": "∷",
        "&Proportional;": "∝",
        "&Pscr;": "𝒫",
        "&Psi;": "Ψ",
        "&QUOT": '"',
        "&QUOT;": '"',
        "&Qfr;": "𝔔",
        "&Qopf;": "ℚ",
        "&Qscr;": "𝒬",
        "&RBarr;": "⤐",
        "&REG": "®",
        "&REG;": "®",
        "&Racute;": "Ŕ",
        "&Rang;": "⟫",
        "&Rarr;": "↠",
        "&Rarrtl;": "⤖",
        "&Rcaron;": "Ř",
        "&Rcedil;": "Ŗ",
        "&Rcy;": "Р",
        "&Re;": "ℜ",
        "&ReverseElement;": "∋",
        "&ReverseEquilibrium;": "⇋",
        "&ReverseUpEquilibrium;": "⥯",
        "&Rfr;": "ℜ",
        "&Rho;": "Ρ",
        "&RightAngleBracket;": "⟩",
        "&RightArrow;": "→",
        "&RightArrowBar;": "⇥",
        "&RightArrowLeftArrow;": "⇄",
        "&RightCeiling;": "⌉",
        "&RightDoubleBracket;": "⟧",
        "&RightDownTeeVector;": "⥝",
        "&RightDownVector;": "⇂",
        "&RightDownVectorBar;": "⥕",
        "&RightFloor;": "⌋",
        "&RightTee;": "⊢",
        "&RightTeeArrow;": "↦",
        "&RightTeeVector;": "⥛",
        "&RightTriangle;": "⊳",
        "&RightTriangleBar;": "⧐",
        "&RightTriangleEqual;": "⊵",
        "&RightUpDownVector;": "⥏",
        "&RightUpTeeVector;": "⥜",
        "&RightUpVector;": "↾",
        "&RightUpVectorBar;": "⥔",
        "&RightVector;": "⇀",
        "&RightVectorBar;": "⥓",
        "&Rightarrow;": "⇒",
        "&Ropf;": "ℝ",
        "&RoundImplies;": "⥰",
        "&Rrightarrow;": "⇛",
        "&Rscr;": "ℛ",
        "&Rsh;": "↱",
        "&RuleDelayed;": "⧴",
        "&SHCHcy;": "Щ",
        "&SHcy;": "Ш",
        "&SOFTcy;": "Ь",
        "&Sacute;": "Ś",
        "&Sc;": "⪼",
        "&Scaron;": "Š",
        "&Scedil;": "Ş",
        "&Scirc;": "Ŝ",
        "&Scy;": "С",
        "&Sfr;": "𝔖",
        "&ShortDownArrow;": "↓",
        "&ShortLeftArrow;": "←",
        "&ShortRightArrow;": "→",
        "&ShortUpArrow;": "↑",
        "&Sigma;": "Σ",
        "&SmallCircle;": "∘",
        "&Sopf;": "𝕊",
        "&Sqrt;": "√",
        "&Square;": "□",
        "&SquareIntersection;": "⊓",
        "&SquareSubset;": "⊏",
        "&SquareSubsetEqual;": "⊑",
        "&SquareSuperset;": "⊐",
        "&SquareSupersetEqual;": "⊒",
        "&SquareUnion;": "⊔",
        "&Sscr;": "𝒮",
        "&Star;": "⋆",
        "&Sub;": "⋐",
        "&Subset;": "⋐",
        "&SubsetEqual;": "⊆",
        "&Succeeds;": "≻",
        "&SucceedsEqual;": "⪰",
        "&SucceedsSlantEqual;": "≽",
        "&SucceedsTilde;": "≿",
        "&SuchThat;": "∋",
        "&Sum;": "∑",
        "&Sup;": "⋑",
        "&Superset;": "⊃",
        "&SupersetEqual;": "⊇",
        "&Supset;": "⋑",
        "&THORN": "Þ",
        "&THORN;": "Þ",
        "&TRADE;": "™",
        "&TSHcy;": "Ћ",
        "&TScy;": "Ц",
        "&Tab;": "\t",
        "&Tau;": "Τ",
        "&Tcaron;": "Ť",
        "&Tcedil;": "Ţ",
        "&Tcy;": "Т",
        "&Tfr;": "𝔗",
        "&Therefore;": "∴",
        "&Theta;": "Θ",
        "&ThickSpace;": "  ",
        "&ThinSpace;": " ",
        "&Tilde;": "∼",
        "&TildeEqual;": "≃",
        "&TildeFullEqual;": "≅",
        "&TildeTilde;": "≈",
        "&Topf;": "𝕋",
        "&TripleDot;": "⃛",
        "&Tscr;": "𝒯",
        "&Tstrok;": "Ŧ",
        "&Uacute": "Ú",
        "&Uacute;": "Ú",
        "&Uarr;": "↟",
        "&Uarrocir;": "⥉",
        "&Ubrcy;": "Ў",
        "&Ubreve;": "Ŭ",
        "&Ucirc": "Û",
        "&Ucirc;": "Û",
        "&Ucy;": "У",
        "&Udblac;": "Ű",
        "&Ufr;": "𝔘",
        "&Ugrave": "Ù",
        "&Ugrave;": "Ù",
        "&Umacr;": "Ū",
        "&UnderBar;": "_",
        "&UnderBrace;": "⏟",
        "&UnderBracket;": "⎵",
        "&UnderParenthesis;": "⏝",
        "&Union;": "⋃",
        "&UnionPlus;": "⊎",
        "&Uogon;": "Ų",
        "&Uopf;": "𝕌",
        "&UpArrow;": "↑",
        "&UpArrowBar;": "⤒",
        "&UpArrowDownArrow;": "⇅",
        "&UpDownArrow;": "↕",
        "&UpEquilibrium;": "⥮",
        "&UpTee;": "⊥",
        "&UpTeeArrow;": "↥",
        "&Uparrow;": "⇑",
        "&Updownarrow;": "⇕",
        "&UpperLeftArrow;": "↖",
        "&UpperRightArrow;": "↗",
        "&Upsi;": "ϒ",
        "&Upsilon;": "Υ",
        "&Uring;": "Ů",
        "&Uscr;": "𝒰",
        "&Utilde;": "Ũ",
        "&Uuml": "Ü",
        "&Uuml;": "Ü",
        "&VDash;": "⊫",
        "&Vbar;": "⫫",
        "&Vcy;": "В",
        "&Vdash;": "⊩",
        "&Vdashl;": "⫦",
        "&Vee;": "⋁",
        "&Verbar;": "‖",
        "&Vert;": "‖",
        "&VerticalBar;": "∣",
        "&VerticalLine;": "|",
        "&VerticalSeparator;": "❘",
        "&VerticalTilde;": "≀",
        "&VeryThinSpace;": " ",
        "&Vfr;": "𝔙",
        "&Vopf;": "𝕍",
        "&Vscr;": "𝒱",
        "&Vvdash;": "⊪",
        "&Wcirc;": "Ŵ",
        "&Wedge;": "⋀",
        "&Wfr;": "𝔚",
        "&Wopf;": "𝕎",
        "&Wscr;": "𝒲",
        "&Xfr;": "𝔛",
        "&Xi;": "Ξ",
        "&Xopf;": "𝕏",
        "&Xscr;": "𝒳",
        "&YAcy;": "Я",
        "&YIcy;": "Ї",
        "&YUcy;": "Ю",
        "&Yacute": "Ý",
        "&Yacute;": "Ý",
        "&Ycirc;": "Ŷ",
        "&Ycy;": "Ы",
        "&Yfr;": "𝔜",
        "&Yopf;": "𝕐",
        "&Yscr;": "𝒴",
        "&Yuml;": "Ÿ",
        "&ZHcy;": "Ж",
        "&Zacute;": "Ź",
        "&Zcaron;": "Ž",
        "&Zcy;": "З",
        "&Zdot;": "Ż",
        "&ZeroWidthSpace;": "​",
        "&Zeta;": "Ζ",
        "&Zfr;": "ℨ",
        "&Zopf;": "ℤ",
        "&Zscr;": "𝒵",
        "&aacute": "á",
        "&aacute;": "á",
        "&abreve;": "ă",
        "&ac;": "∾",
        "&acE;": "∾̳",
        "&acd;": "∿",
        "&acirc": "â",
        "&acirc;": "â",
        "&acute": "´",
        "&acute;": "´",
        "&acy;": "а",
        "&aelig": "æ",
        "&aelig;": "æ",
        "&af;": "⁡",
        "&afr;": "𝔞",
        "&agrave": "à",
        "&agrave;": "à",
        "&alefsym;": "ℵ",
        "&aleph;": "ℵ",
        "&alpha;": "α",
        "&amacr;": "ā",
        "&amalg;": "⨿",
        "&amp": "&",
        "&amp;": "&",
        "&and;": "∧",
        "&andand;": "⩕",
        "&andd;": "⩜",
        "&andslope;": "⩘",
        "&andv;": "⩚",
        "&ang;": "∠",
        "&ange;": "⦤",
        "&angle;": "∠",
        "&angmsd;": "∡",
        "&angmsdaa;": "⦨",
        "&angmsdab;": "⦩",
        "&angmsdac;": "⦪",
        "&angmsdad;": "⦫",
        "&angmsdae;": "⦬",
        "&angmsdaf;": "⦭",
        "&angmsdag;": "⦮",
        "&angmsdah;": "⦯",
        "&angrt;": "∟",
        "&angrtvb;": "⊾",
        "&angrtvbd;": "⦝",
        "&angsph;": "∢",
        "&angst;": "Å",
        "&angzarr;": "⍼",
        "&aogon;": "ą",
        "&aopf;": "𝕒",
        "&ap;": "≈",
        "&apE;": "⩰",
        "&apacir;": "⩯",
        "&ape;": "≊",
        "&apid;": "≋",
        "&apos;": "'",
        "&approx;": "≈",
        "&approxeq;": "≊",
        "&aring": "å",
        "&aring;": "å",
        "&ascr;": "𝒶",
        "&ast;": "*",
        "&asymp;": "≈",
        "&asympeq;": "≍",
        "&atilde": "ã",
        "&atilde;": "ã",
        "&auml": "ä",
        "&auml;": "ä",
        "&awconint;": "∳",
        "&awint;": "⨑",
        "&bNot;": "⫭",
        "&backcong;": "≌",
        "&backepsilon;": "϶",
        "&backprime;": "‵",
        "&backsim;": "∽",
        "&backsimeq;": "⋍",
        "&barvee;": "⊽",
        "&barwed;": "⌅",
        "&barwedge;": "⌅",
        "&bbrk;": "⎵",
        "&bbrktbrk;": "⎶",
        "&bcong;": "≌",
        "&bcy;": "б",
        "&bdquo;": "„",
        "&becaus;": "∵",
        "&because;": "∵",
        "&bemptyv;": "⦰",
        "&bepsi;": "϶",
        "&bernou;": "ℬ",
        "&beta;": "β",
        "&beth;": "ℶ",
        "&between;": "≬",
        "&bfr;": "𝔟",
        "&bigcap;": "⋂",
        "&bigcirc;": "◯",
        "&bigcup;": "⋃",
        "&bigodot;": "⨀",
        "&bigoplus;": "⨁",
        "&bigotimes;": "⨂",
        "&bigsqcup;": "⨆",
        "&bigstar;": "★",
        "&bigtriangledown;": "▽",
        "&bigtriangleup;": "△",
        "&biguplus;": "⨄",
        "&bigvee;": "⋁",
        "&bigwedge;": "⋀",
        "&bkarow;": "⤍",
        "&blacklozenge;": "⧫",
        "&blacksquare;": "▪",
        "&blacktriangle;": "▴",
        "&blacktriangledown;": "▾",
        "&blacktriangleleft;": "◂",
        "&blacktriangleright;": "▸",
        "&blank;": "␣",
        "&blk12;": "▒",
        "&blk14;": "░",
        "&blk34;": "▓",
        "&block;": "█",
        "&bne;": "=⃥",
        "&bnequiv;": "≡⃥",
        "&bnot;": "⌐",
        "&bopf;": "𝕓",
        "&bot;": "⊥",
        "&bottom;": "⊥",
        "&bowtie;": "⋈",
        "&boxDL;": "╗",
        "&boxDR;": "╔",
        "&boxDl;": "╖",
        "&boxDr;": "╓",
        "&boxH;": "═",
        "&boxHD;": "╦",
        "&boxHU;": "╩",
        "&boxHd;": "╤",
        "&boxHu;": "╧",
        "&boxUL;": "╝",
        "&boxUR;": "╚",
        "&boxUl;": "╜",
        "&boxUr;": "╙",
        "&boxV;": "║",
        "&boxVH;": "╬",
        "&boxVL;": "╣",
        "&boxVR;": "╠",
        "&boxVh;": "╫",
        "&boxVl;": "╢",
        "&boxVr;": "╟",
        "&boxbox;": "⧉",
        "&boxdL;": "╕",
        "&boxdR;": "╒",
        "&boxdl;": "┐",
        "&boxdr;": "┌",
        "&boxh;": "─",
        "&boxhD;": "╥",
        "&boxhU;": "╨",
        "&boxhd;": "┬",
        "&boxhu;": "┴",
        "&boxminus;": "⊟",
        "&boxplus;": "⊞",
        "&boxtimes;": "⊠",
        "&boxuL;": "╛",
        "&boxuR;": "╘",
        "&boxul;": "┘",
        "&boxur;": "└",
        "&boxv;": "│",
        "&boxvH;": "╪",
        "&boxvL;": "╡",
        "&boxvR;": "╞",
        "&boxvh;": "┼",
        "&boxvl;": "┤",
        "&boxvr;": "├",
        "&bprime;": "‵",
        "&breve;": "˘",
        "&brvbar": "¦",
        "&brvbar;": "¦",
        "&bscr;": "𝒷",
        "&bsemi;": "⁏",
        "&bsim;": "∽",
        "&bsime;": "⋍",
        "&bsol;": "\\",
        "&bsolb;": "⧅",
        "&bsolhsub;": "⟈",
        "&bull;": "•",
        "&bullet;": "•",
        "&bump;": "≎",
        "&bumpE;": "⪮",
        "&bumpe;": "≏",
        "&bumpeq;": "≏",
        "&cacute;": "ć",
        "&cap;": "∩",
        "&capand;": "⩄",
        "&capbrcup;": "⩉",
        "&capcap;": "⩋",
        "&capcup;": "⩇",
        "&capdot;": "⩀",
        "&caps;": "∩︀",
        "&caret;": "⁁",
        "&caron;": "ˇ",
        "&ccaps;": "⩍",
        "&ccaron;": "č",
        "&ccedil": "ç",
        "&ccedil;": "ç",
        "&ccirc;": "ĉ",
        "&ccups;": "⩌",
        "&ccupssm;": "⩐",
        "&cdot;": "ċ",
        "&cedil": "¸",
        "&cedil;": "¸",
        "&cemptyv;": "⦲",
        "&cent": "¢",
        "&cent;": "¢",
        "&centerdot;": "·",
        "&cfr;": "𝔠",
        "&chcy;": "ч",
        "&check;": "✓",
        "&checkmark;": "✓",
        "&chi;": "χ",
        "&cir;": "○",
        "&cirE;": "⧃",
        "&circ;": "ˆ",
        "&circeq;": "≗",
        "&circlearrowleft;": "↺",
        "&circlearrowright;": "↻",
        "&circledR;": "®",
        "&circledS;": "Ⓢ",
        "&circledast;": "⊛",
        "&circledcirc;": "⊚",
        "&circleddash;": "⊝",
        "&cire;": "≗",
        "&cirfnint;": "⨐",
        "&cirmid;": "⫯",
        "&cirscir;": "⧂",
        "&clubs;": "♣",
        "&clubsuit;": "♣",
        "&colon;": ":",
        "&colone;": "≔",
        "&coloneq;": "≔",
        "&comma;": ",",
        "&commat;": "@",
        "&comp;": "∁",
        "&compfn;": "∘",
        "&complement;": "∁",
        "&complexes;": "ℂ",
        "&cong;": "≅",
        "&congdot;": "⩭",
        "&conint;": "∮",
        "&copf;": "𝕔",
        "&coprod;": "∐",
        "&copy": "©",
        "&copy;": "©",
        "&copysr;": "℗",
        "&crarr;": "↵",
        "&cross;": "✗",
        "&cscr;": "𝒸",
        "&csub;": "⫏",
        "&csube;": "⫑",
        "&csup;": "⫐",
        "&csupe;": "⫒",
        "&ctdot;": "⋯",
        "&cudarrl;": "⤸",
        "&cudarrr;": "⤵",
        "&cuepr;": "⋞",
        "&cuesc;": "⋟",
        "&cularr;": "↶",
        "&cularrp;": "⤽",
        "&cup;": "∪",
        "&cupbrcap;": "⩈",
        "&cupcap;": "⩆",
        "&cupcup;": "⩊",
        "&cupdot;": "⊍",
        "&cupor;": "⩅",
        "&cups;": "∪︀",
        "&curarr;": "↷",
        "&curarrm;": "⤼",
        "&curlyeqprec;": "⋞",
        "&curlyeqsucc;": "⋟",
        "&curlyvee;": "⋎",
        "&curlywedge;": "⋏",
        "&curren": "¤",
        "&curren;": "¤",
        "&curvearrowleft;": "↶",
        "&curvearrowright;": "↷",
        "&cuvee;": "⋎",
        "&cuwed;": "⋏",
        "&cwconint;": "∲",
        "&cwint;": "∱",
        "&cylcty;": "⌭",
        "&dArr;": "⇓",
        "&dHar;": "⥥",
        "&dagger;": "†",
        "&daleth;": "ℸ",
        "&darr;": "↓",
        "&dash;": "‐",
        "&dashv;": "⊣",
        "&dbkarow;": "⤏",
        "&dblac;": "˝",
        "&dcaron;": "ď",
        "&dcy;": "д",
        "&dd;": "ⅆ",
        "&ddagger;": "‡",
        "&ddarr;": "⇊",
        "&ddotseq;": "⩷",
        "&deg": "°",
        "&deg;": "°",
        "&delta;": "δ",
        "&demptyv;": "⦱",
        "&dfisht;": "⥿",
        "&dfr;": "𝔡",
        "&dharl;": "⇃",
        "&dharr;": "⇂",
        "&diam;": "⋄",
        "&diamond;": "⋄",
        "&diamondsuit;": "♦",
        "&diams;": "♦",
        "&die;": "¨",
        "&digamma;": "ϝ",
        "&disin;": "⋲",
        "&div;": "÷",
        "&divide": "÷",
        "&divide;": "÷",
        "&divideontimes;": "⋇",
        "&divonx;": "⋇",
        "&djcy;": "ђ",
        "&dlcorn;": "⌞",
        "&dlcrop;": "⌍",
        "&dollar;": "$",
        "&dopf;": "𝕕",
        "&dot;": "˙",
        "&doteq;": "≐",
        "&doteqdot;": "≑",
        "&dotminus;": "∸",
        "&dotplus;": "∔",
        "&dotsquare;": "⊡",
        "&doublebarwedge;": "⌆",
        "&downarrow;": "↓",
        "&downdownarrows;": "⇊",
        "&downharpoonleft;": "⇃",
        "&downharpoonright;": "⇂",
        "&drbkarow;": "⤐",
        "&drcorn;": "⌟",
        "&drcrop;": "⌌",
        "&dscr;": "𝒹",
        "&dscy;": "ѕ",
        "&dsol;": "⧶",
        "&dstrok;": "đ",
        "&dtdot;": "⋱",
        "&dtri;": "▿",
        "&dtrif;": "▾",
        "&duarr;": "⇵",
        "&duhar;": "⥯",
        "&dwangle;": "⦦",
        "&dzcy;": "џ",
        "&dzigrarr;": "⟿",
        "&eDDot;": "⩷",
        "&eDot;": "≑",
        "&eacute": "é",
        "&eacute;": "é",
        "&easter;": "⩮",
        "&ecaron;": "ě",
        "&ecir;": "≖",
        "&ecirc": "ê",
        "&ecirc;": "ê",
        "&ecolon;": "≕",
        "&ecy;": "э",
        "&edot;": "ė",
        "&ee;": "ⅇ",
        "&efDot;": "≒",
        "&efr;": "𝔢",
        "&eg;": "⪚",
        "&egrave": "è",
        "&egrave;": "è",
        "&egs;": "⪖",
        "&egsdot;": "⪘",
        "&el;": "⪙",
        "&elinters;": "⏧",
        "&ell;": "ℓ",
        "&els;": "⪕",
        "&elsdot;": "⪗",
        "&emacr;": "ē",
        "&empty;": "∅",
        "&emptyset;": "∅",
        "&emptyv;": "∅",
        "&emsp13;": " ",
        "&emsp14;": " ",
        "&emsp;": " ",
        "&eng;": "ŋ",
        "&ensp;": " ",
        "&eogon;": "ę",
        "&eopf;": "𝕖",
        "&epar;": "⋕",
        "&eparsl;": "⧣",
        "&eplus;": "⩱",
        "&epsi;": "ε",
        "&epsilon;": "ε",
        "&epsiv;": "ϵ",
        "&eqcirc;": "≖",
        "&eqcolon;": "≕",
        "&eqsim;": "≂",
        "&eqslantgtr;": "⪖",
        "&eqslantless;": "⪕",
        "&equals;": "=",
        "&equest;": "≟",
        "&equiv;": "≡",
        "&equivDD;": "⩸",
        "&eqvparsl;": "⧥",
        "&erDot;": "≓",
        "&erarr;": "⥱",
        "&escr;": "ℯ",
        "&esdot;": "≐",
        "&esim;": "≂",
        "&eta;": "η",
        "&eth": "ð",
        "&eth;": "ð",
        "&euml": "ë",
        "&euml;": "ë",
        "&euro;": "€",
        "&excl;": "!",
        "&exist;": "∃",
        "&expectation;": "ℰ",
        "&exponentiale;": "ⅇ",
        "&fallingdotseq;": "≒",
        "&fcy;": "ф",
        "&female;": "♀",
        "&ffilig;": "ﬃ",
        "&fflig;": "ﬀ",
        "&ffllig;": "ﬄ",
        "&ffr;": "𝔣",
        "&filig;": "ﬁ",
        "&fjlig;": "fj",
        "&flat;": "♭",
        "&fllig;": "ﬂ",
        "&fltns;": "▱",
        "&fnof;": "ƒ",
        "&fopf;": "𝕗",
        "&forall;": "∀",
        "&fork;": "⋔",
        "&forkv;": "⫙",
        "&fpartint;": "⨍",
        "&frac12": "½",
        "&frac12;": "½",
        "&frac13;": "⅓",
        "&frac14": "¼",
        "&frac14;": "¼",
        "&frac15;": "⅕",
        "&frac16;": "⅙",
        "&frac18;": "⅛",
        "&frac23;": "⅔",
        "&frac25;": "⅖",
        "&frac34": "¾",
        "&frac34;": "¾",
        "&frac35;": "⅗",
        "&frac38;": "⅜",
        "&frac45;": "⅘",
        "&frac56;": "⅚",
        "&frac58;": "⅝",
        "&frac78;": "⅞",
        "&frasl;": "⁄",
        "&frown;": "⌢",
        "&fscr;": "𝒻",
        "&gE;": "≧",
        "&gEl;": "⪌",
        "&gacute;": "ǵ",
        "&gamma;": "γ",
        "&gammad;": "ϝ",
        "&gap;": "⪆",
        "&gbreve;": "ğ",
        "&gcirc;": "ĝ",
        "&gcy;": "г",
        "&gdot;": "ġ",
        "&ge;": "≥",
        "&gel;": "⋛",
        "&geq;": "≥",
        "&geqq;": "≧",
        "&geqslant;": "⩾",
        "&ges;": "⩾",
        "&gescc;": "⪩",
        "&gesdot;": "⪀",
        "&gesdoto;": "⪂",
        "&gesdotol;": "⪄",
        "&gesl;": "⋛︀",
        "&gesles;": "⪔",
        "&gfr;": "𝔤",
        "&gg;": "≫",
        "&ggg;": "⋙",
        "&gimel;": "ℷ",
        "&gjcy;": "ѓ",
        "&gl;": "≷",
        "&glE;": "⪒",
        "&gla;": "⪥",
        "&glj;": "⪤",
        "&gnE;": "≩",
        "&gnap;": "⪊",
        "&gnapprox;": "⪊",
        "&gne;": "⪈",
        "&gneq;": "⪈",
        "&gneqq;": "≩",
        "&gnsim;": "⋧",
        "&gopf;": "𝕘",
        "&grave;": "`",
        "&gscr;": "ℊ",
        "&gsim;": "≳",
        "&gsime;": "⪎",
        "&gsiml;": "⪐",
        "&gt": ">",
        "&gt;": ">",
        "&gtcc;": "⪧",
        "&gtcir;": "⩺",
        "&gtdot;": "⋗",
        "&gtlPar;": "⦕",
        "&gtquest;": "⩼",
        "&gtrapprox;": "⪆",
        "&gtrarr;": "⥸",
        "&gtrdot;": "⋗",
        "&gtreqless;": "⋛",
        "&gtreqqless;": "⪌",
        "&gtrless;": "≷",
        "&gtrsim;": "≳",
        "&gvertneqq;": "≩︀",
        "&gvnE;": "≩︀",
        "&hArr;": "⇔",
        "&hairsp;": " ",
        "&half;": "½",
        "&hamilt;": "ℋ",
        "&hardcy;": "ъ",
        "&harr;": "↔",
        "&harrcir;": "⥈",
        "&harrw;": "↭",
        "&hbar;": "ℏ",
        "&hcirc;": "ĥ",
        "&hearts;": "♥",
        "&heartsuit;": "♥",
        "&hellip;": "…",
        "&hercon;": "⊹",
        "&hfr;": "𝔥",
        "&hksearow;": "⤥",
        "&hkswarow;": "⤦",
        "&hoarr;": "⇿",
        "&homtht;": "∻",
        "&hookleftarrow;": "↩",
        "&hookrightarrow;": "↪",
        "&hopf;": "𝕙",
        "&horbar;": "―",
        "&hscr;": "𝒽",
        "&hslash;": "ℏ",
        "&hstrok;": "ħ",
        "&hybull;": "⁃",
        "&hyphen;": "‐",
        "&iacute": "í",
        "&iacute;": "í",
        "&ic;": "⁣",
        "&icirc": "î",
        "&icirc;": "î",
        "&icy;": "и",
        "&iecy;": "е",
        "&iexcl": "¡",
        "&iexcl;": "¡",
        "&iff;": "⇔",
        "&ifr;": "𝔦",
        "&igrave": "ì",
        "&igrave;": "ì",
        "&ii;": "ⅈ",
        "&iiiint;": "⨌",
        "&iiint;": "∭",
        "&iinfin;": "⧜",
        "&iiota;": "℩",
        "&ijlig;": "ĳ",
        "&imacr;": "ī",
        "&image;": "ℑ",
        "&imagline;": "ℐ",
        "&imagpart;": "ℑ",
        "&imath;": "ı",
        "&imof;": "⊷",
        "&imped;": "Ƶ",
        "&in;": "∈",
        "&incare;": "℅",
        "&infin;": "∞",
        "&infintie;": "⧝",
        "&inodot;": "ı",
        "&int;": "∫",
        "&intcal;": "⊺",
        "&integers;": "ℤ",
        "&intercal;": "⊺",
        "&intlarhk;": "⨗",
        "&intprod;": "⨼",
        "&iocy;": "ё",
        "&iogon;": "į",
        "&iopf;": "𝕚",
        "&iota;": "ι",
        "&iprod;": "⨼",
        "&iquest": "¿",
        "&iquest;": "¿",
        "&iscr;": "𝒾",
        "&isin;": "∈",
        "&isinE;": "⋹",
        "&isindot;": "⋵",
        "&isins;": "⋴",
        "&isinsv;": "⋳",
        "&isinv;": "∈",
        "&it;": "⁢",
        "&itilde;": "ĩ",
        "&iukcy;": "і",
        "&iuml": "ï",
        "&iuml;": "ï",
        "&jcirc;": "ĵ",
        "&jcy;": "й",
        "&jfr;": "𝔧",
        "&jmath;": "ȷ",
        "&jopf;": "𝕛",
        "&jscr;": "𝒿",
        "&jsercy;": "ј",
        "&jukcy;": "є",
        "&kappa;": "κ",
        "&kappav;": "ϰ",
        "&kcedil;": "ķ",
        "&kcy;": "к",
        "&kfr;": "𝔨",
        "&kgreen;": "ĸ",
        "&khcy;": "х",
        "&kjcy;": "ќ",
        "&kopf;": "𝕜",
        "&kscr;": "𝓀",
        "&lAarr;": "⇚",
        "&lArr;": "⇐",
        "&lAtail;": "⤛",
        "&lBarr;": "⤎",
        "&lE;": "≦",
        "&lEg;": "⪋",
        "&lHar;": "⥢",
        "&lacute;": "ĺ",
        "&laemptyv;": "⦴",
        "&lagran;": "ℒ",
        "&lambda;": "λ",
        "&lang;": "⟨",
        "&langd;": "⦑",
        "&langle;": "⟨",
        "&lap;": "⪅",
        "&laquo": "«",
        "&laquo;": "«",
        "&larr;": "←",
        "&larrb;": "⇤",
        "&larrbfs;": "⤟",
        "&larrfs;": "⤝",
        "&larrhk;": "↩",
        "&larrlp;": "↫",
        "&larrpl;": "⤹",
        "&larrsim;": "⥳",
        "&larrtl;": "↢",
        "&lat;": "⪫",
        "&latail;": "⤙",
        "&late;": "⪭",
        "&lates;": "⪭︀",
        "&lbarr;": "⤌",
        "&lbbrk;": "❲",
        "&lbrace;": "{",
        "&lbrack;": "[",
        "&lbrke;": "⦋",
        "&lbrksld;": "⦏",
        "&lbrkslu;": "⦍",
        "&lcaron;": "ľ",
        "&lcedil;": "ļ",
        "&lceil;": "⌈",
        "&lcub;": "{",
        "&lcy;": "л",
        "&ldca;": "⤶",
        "&ldquo;": "“",
        "&ldquor;": "„",
        "&ldrdhar;": "⥧",
        "&ldrushar;": "⥋",
        "&ldsh;": "↲",
        "&le;": "≤",
        "&leftarrow;": "←",
        "&leftarrowtail;": "↢",
        "&leftharpoondown;": "↽",
        "&leftharpoonup;": "↼",
        "&leftleftarrows;": "⇇",
        "&leftrightarrow;": "↔",
        "&leftrightarrows;": "⇆",
        "&leftrightharpoons;": "⇋",
        "&leftrightsquigarrow;": "↭",
        "&leftthreetimes;": "⋋",
        "&leg;": "⋚",
        "&leq;": "≤",
        "&leqq;": "≦",
        "&leqslant;": "⩽",
        "&les;": "⩽",
        "&lescc;": "⪨",
        "&lesdot;": "⩿",
        "&lesdoto;": "⪁",
        "&lesdotor;": "⪃",
        "&lesg;": "⋚︀",
        "&lesges;": "⪓",
        "&lessapprox;": "⪅",
        "&lessdot;": "⋖",
        "&lesseqgtr;": "⋚",
        "&lesseqqgtr;": "⪋",
        "&lessgtr;": "≶",
        "&lesssim;": "≲",
        "&lfisht;": "⥼",
        "&lfloor;": "⌊",
        "&lfr;": "𝔩",
        "&lg;": "≶",
        "&lgE;": "⪑",
        "&lhard;": "↽",
        "&lharu;": "↼",
        "&lharul;": "⥪",
        "&lhblk;": "▄",
        "&ljcy;": "љ",
        "&ll;": "≪",
        "&llarr;": "⇇",
        "&llcorner;": "⌞",
        "&llhard;": "⥫",
        "&lltri;": "◺",
        "&lmidot;": "ŀ",
        "&lmoust;": "⎰",
        "&lmoustache;": "⎰",
        "&lnE;": "≨",
        "&lnap;": "⪉",
        "&lnapprox;": "⪉",
        "&lne;": "⪇",
        "&lneq;": "⪇",
        "&lneqq;": "≨",
        "&lnsim;": "⋦",
        "&loang;": "⟬",
        "&loarr;": "⇽",
        "&lobrk;": "⟦",
        "&longleftarrow;": "⟵",
        "&longleftrightarrow;": "⟷",
        "&longmapsto;": "⟼",
        "&longrightarrow;": "⟶",
        "&looparrowleft;": "↫",
        "&looparrowright;": "↬",
        "&lopar;": "⦅",
        "&lopf;": "𝕝",
        "&loplus;": "⨭",
        "&lotimes;": "⨴",
        "&lowast;": "∗",
        "&lowbar;": "_",
        "&loz;": "◊",
        "&lozenge;": "◊",
        "&lozf;": "⧫",
        "&lpar;": "(",
        "&lparlt;": "⦓",
        "&lrarr;": "⇆",
        "&lrcorner;": "⌟",
        "&lrhar;": "⇋",
        "&lrhard;": "⥭",
        "&lrm;": "‎",
        "&lrtri;": "⊿",
        "&lsaquo;": "‹",
        "&lscr;": "𝓁",
        "&lsh;": "↰",
        "&lsim;": "≲",
        "&lsime;": "⪍",
        "&lsimg;": "⪏",
        "&lsqb;": "[",
        "&lsquo;": "‘",
        "&lsquor;": "‚",
        "&lstrok;": "ł",
        "&lt": "<",
        "&lt;": "<",
        "&ltcc;": "⪦",
        "&ltcir;": "⩹",
        "&ltdot;": "⋖",
        "&lthree;": "⋋",
        "&ltimes;": "⋉",
        "&ltlarr;": "⥶",
        "&ltquest;": "⩻",
        "&ltrPar;": "⦖",
        "&ltri;": "◃",
        "&ltrie;": "⊴",
        "&ltrif;": "◂",
        "&lurdshar;": "⥊",
        "&luruhar;": "⥦",
        "&lvertneqq;": "≨︀",
        "&lvnE;": "≨︀",
        "&mDDot;": "∺",
        "&macr": "¯",
        "&macr;": "¯",
        "&male;": "♂",
        "&malt;": "✠",
        "&maltese;": "✠",
        "&map;": "↦",
        "&mapsto;": "↦",
        "&mapstodown;": "↧",
        "&mapstoleft;": "↤",
        "&mapstoup;": "↥",
        "&marker;": "▮",
        "&mcomma;": "⨩",
        "&mcy;": "м",
        "&mdash;": "—",
        "&measuredangle;": "∡",
        "&mfr;": "𝔪",
        "&mho;": "℧",
        "&micro": "µ",
        "&micro;": "µ",
        "&mid;": "∣",
        "&midast;": "*",
        "&midcir;": "⫰",
        "&middot": "·",
        "&middot;": "·",
        "&minus;": "−",
        "&minusb;": "⊟",
        "&minusd;": "∸",
        "&minusdu;": "⨪",
        "&mlcp;": "⫛",
        "&mldr;": "…",
        "&mnplus;": "∓",
        "&models;": "⊧",
        "&mopf;": "𝕞",
        "&mp;": "∓",
        "&mscr;": "𝓂",
        "&mstpos;": "∾",
        "&mu;": "μ",
        "&multimap;": "⊸",
        "&mumap;": "⊸",
        "&nGg;": "⋙̸",
        "&nGt;": "≫⃒",
        "&nGtv;": "≫̸",
        "&nLeftarrow;": "⇍",
        "&nLeftrightarrow;": "⇎",
        "&nLl;": "⋘̸",
        "&nLt;": "≪⃒",
        "&nLtv;": "≪̸",
        "&nRightarrow;": "⇏",
        "&nVDash;": "⊯",
        "&nVdash;": "⊮",
        "&nabla;": "∇",
        "&nacute;": "ń",
        "&nang;": "∠⃒",
        "&nap;": "≉",
        "&napE;": "⩰̸",
        "&napid;": "≋̸",
        "&napos;": "ŉ",
        "&napprox;": "≉",
        "&natur;": "♮",
        "&natural;": "♮",
        "&naturals;": "ℕ",
        "&nbsp": " ",
        "&nbsp;": " ",
        "&nbump;": "≎̸",
        "&nbumpe;": "≏̸",
        "&ncap;": "⩃",
        "&ncaron;": "ň",
        "&ncedil;": "ņ",
        "&ncong;": "≇",
        "&ncongdot;": "⩭̸",
        "&ncup;": "⩂",
        "&ncy;": "н",
        "&ndash;": "–",
        "&ne;": "≠",
        "&neArr;": "⇗",
        "&nearhk;": "⤤",
        "&nearr;": "↗",
        "&nearrow;": "↗",
        "&nedot;": "≐̸",
        "&nequiv;": "≢",
        "&nesear;": "⤨",
        "&nesim;": "≂̸",
        "&nexist;": "∄",
        "&nexists;": "∄",
        "&nfr;": "𝔫",
        "&ngE;": "≧̸",
        "&nge;": "≱",
        "&ngeq;": "≱",
        "&ngeqq;": "≧̸",
        "&ngeqslant;": "⩾̸",
        "&nges;": "⩾̸",
        "&ngsim;": "≵",
        "&ngt;": "≯",
        "&ngtr;": "≯",
        "&nhArr;": "⇎",
        "&nharr;": "↮",
        "&nhpar;": "⫲",
        "&ni;": "∋",
        "&nis;": "⋼",
        "&nisd;": "⋺",
        "&niv;": "∋",
        "&njcy;": "њ",
        "&nlArr;": "⇍",
        "&nlE;": "≦̸",
        "&nlarr;": "↚",
        "&nldr;": "‥",
        "&nle;": "≰",
        "&nleftarrow;": "↚",
        "&nleftrightarrow;": "↮",
        "&nleq;": "≰",
        "&nleqq;": "≦̸",
        "&nleqslant;": "⩽̸",
        "&nles;": "⩽̸",
        "&nless;": "≮",
        "&nlsim;": "≴",
        "&nlt;": "≮",
        "&nltri;": "⋪",
        "&nltrie;": "⋬",
        "&nmid;": "∤",
        "&nopf;": "𝕟",
        "&not": "¬",
        "&not;": "¬",
        "&notin;": "∉",
        "&notinE;": "⋹̸",
        "&notindot;": "⋵̸",
        "&notinva;": "∉",
        "&notinvb;": "⋷",
        "&notinvc;": "⋶",
        "&notni;": "∌",
        "&notniva;": "∌",
        "&notnivb;": "⋾",
        "&notnivc;": "⋽",
        "&npar;": "∦",
        "&nparallel;": "∦",
        "&nparsl;": "⫽⃥",
        "&npart;": "∂̸",
        "&npolint;": "⨔",
        "&npr;": "⊀",
        "&nprcue;": "⋠",
        "&npre;": "⪯̸",
        "&nprec;": "⊀",
        "&npreceq;": "⪯̸",
        "&nrArr;": "⇏",
        "&nrarr;": "↛",
        "&nrarrc;": "⤳̸",
        "&nrarrw;": "↝̸",
        "&nrightarrow;": "↛",
        "&nrtri;": "⋫",
        "&nrtrie;": "⋭",
        "&nsc;": "⊁",
        "&nsccue;": "⋡",
        "&nsce;": "⪰̸",
        "&nscr;": "𝓃",
        "&nshortmid;": "∤",
        "&nshortparallel;": "∦",
        "&nsim;": "≁",
        "&nsime;": "≄",
        "&nsimeq;": "≄",
        "&nsmid;": "∤",
        "&nspar;": "∦",
        "&nsqsube;": "⋢",
        "&nsqsupe;": "⋣",
        "&nsub;": "⊄",
        "&nsubE;": "⫅̸",
        "&nsube;": "⊈",
        "&nsubset;": "⊂⃒",
        "&nsubseteq;": "⊈",
        "&nsubseteqq;": "⫅̸",
        "&nsucc;": "⊁",
        "&nsucceq;": "⪰̸",
        "&nsup;": "⊅",
        "&nsupE;": "⫆̸",
        "&nsupe;": "⊉",
        "&nsupset;": "⊃⃒",
        "&nsupseteq;": "⊉",
        "&nsupseteqq;": "⫆̸",
        "&ntgl;": "≹",
        "&ntilde": "ñ",
        "&ntilde;": "ñ",
        "&ntlg;": "≸",
        "&ntriangleleft;": "⋪",
        "&ntrianglelefteq;": "⋬",
        "&ntriangleright;": "⋫",
        "&ntrianglerighteq;": "⋭",
        "&nu;": "ν",
        "&num;": "#",
        "&numero;": "№",
        "&numsp;": " ",
        "&nvDash;": "⊭",
        "&nvHarr;": "⤄",
        "&nvap;": "≍⃒",
        "&nvdash;": "⊬",
        "&nvge;": "≥⃒",
        "&nvgt;": ">⃒",
        "&nvinfin;": "⧞",
        "&nvlArr;": "⤂",
        "&nvle;": "≤⃒",
        "&nvlt;": "<⃒",
        "&nvltrie;": "⊴⃒",
        "&nvrArr;": "⤃",
        "&nvrtrie;": "⊵⃒",
        "&nvsim;": "∼⃒",
        "&nwArr;": "⇖",
        "&nwarhk;": "⤣",
        "&nwarr;": "↖",
        "&nwarrow;": "↖",
        "&nwnear;": "⤧",
        "&oS;": "Ⓢ",
        "&oacute": "ó",
        "&oacute;": "ó",
        "&oast;": "⊛",
        "&ocir;": "⊚",
        "&ocirc": "ô",
        "&ocirc;": "ô",
        "&ocy;": "о",
        "&odash;": "⊝",
        "&odblac;": "ő",
        "&odiv;": "⨸",
        "&odot;": "⊙",
        "&odsold;": "⦼",
        "&oelig;": "œ",
        "&ofcir;": "⦿",
        "&ofr;": "𝔬",
        "&ogon;": "˛",
        "&ograve": "ò",
        "&ograve;": "ò",
        "&ogt;": "⧁",
        "&ohbar;": "⦵",
        "&ohm;": "Ω",
        "&oint;": "∮",
        "&olarr;": "↺",
        "&olcir;": "⦾",
        "&olcross;": "⦻",
        "&oline;": "‾",
        "&olt;": "⧀",
        "&omacr;": "ō",
        "&omega;": "ω",
        "&omicron;": "ο",
        "&omid;": "⦶",
        "&ominus;": "⊖",
        "&oopf;": "𝕠",
        "&opar;": "⦷",
        "&operp;": "⦹",
        "&oplus;": "⊕",
        "&or;": "∨",
        "&orarr;": "↻",
        "&ord;": "⩝",
        "&order;": "ℴ",
        "&orderof;": "ℴ",
        "&ordf": "ª",
        "&ordf;": "ª",
        "&ordm": "º",
        "&ordm;": "º",
        "&origof;": "⊶",
        "&oror;": "⩖",
        "&orslope;": "⩗",
        "&orv;": "⩛",
        "&oscr;": "ℴ",
        "&oslash": "ø",
        "&oslash;": "ø",
        "&osol;": "⊘",
        "&otilde": "õ",
        "&otilde;": "õ",
        "&otimes;": "⊗",
        "&otimesas;": "⨶",
        "&ouml": "ö",
        "&ouml;": "ö",
        "&ovbar;": "⌽",
        "&par;": "∥",
        "&para": "¶",
        "&para;": "¶",
        "&parallel;": "∥",
        "&parsim;": "⫳",
        "&parsl;": "⫽",
        "&part;": "∂",
        "&pcy;": "п",
        "&percnt;": "%",
        "&period;": ".",
        "&permil;": "‰",
        "&perp;": "⊥",
        "&pertenk;": "‱",
        "&pfr;": "𝔭",
        "&phi;": "φ",
        "&phiv;": "ϕ",
        "&phmmat;": "ℳ",
        "&phone;": "☎",
        "&pi;": "π",
        "&pitchfork;": "⋔",
        "&piv;": "ϖ",
        "&planck;": "ℏ",
        "&planckh;": "ℎ",
        "&plankv;": "ℏ",
        "&plus;": "+",
        "&plusacir;": "⨣",
        "&plusb;": "⊞",
        "&pluscir;": "⨢",
        "&plusdo;": "∔",
        "&plusdu;": "⨥",
        "&pluse;": "⩲",
        "&plusmn": "±",
        "&plusmn;": "±",
        "&plussim;": "⨦",
        "&plustwo;": "⨧",
        "&pm;": "±",
        "&pointint;": "⨕",
        "&popf;": "𝕡",
        "&pound": "£",
        "&pound;": "£",
        "&pr;": "≺",
        "&prE;": "⪳",
        "&prap;": "⪷",
        "&prcue;": "≼",
        "&pre;": "⪯",
        "&prec;": "≺",
        "&precapprox;": "⪷",
        "&preccurlyeq;": "≼",
        "&preceq;": "⪯",
        "&precnapprox;": "⪹",
        "&precneqq;": "⪵",
        "&precnsim;": "⋨",
        "&precsim;": "≾",
        "&prime;": "′",
        "&primes;": "ℙ",
        "&prnE;": "⪵",
        "&prnap;": "⪹",
        "&prnsim;": "⋨",
        "&prod;": "∏",
        "&profalar;": "⌮",
        "&profline;": "⌒",
        "&profsurf;": "⌓",
        "&prop;": "∝",
        "&propto;": "∝",
        "&prsim;": "≾",
        "&prurel;": "⊰",
        "&pscr;": "𝓅",
        "&psi;": "ψ",
        "&puncsp;": " ",
        "&qfr;": "𝔮",
        "&qint;": "⨌",
        "&qopf;": "𝕢",
        "&qprime;": "⁗",
        "&qscr;": "𝓆",
        "&quaternions;": "ℍ",
        "&quatint;": "⨖",
        "&quest;": "?",
        "&questeq;": "≟",
        "&quot": '"',
        "&quot;": '"',
        "&rAarr;": "⇛",
        "&rArr;": "⇒",
        "&rAtail;": "⤜",
        "&rBarr;": "⤏",
        "&rHar;": "⥤",
        "&race;": "∽̱",
        "&racute;": "ŕ",
        "&radic;": "√",
        "&raemptyv;": "⦳",
        "&rang;": "⟩",
        "&rangd;": "⦒",
        "&range;": "⦥",
        "&rangle;": "⟩",
        "&raquo": "»",
        "&raquo;": "»",
        "&rarr;": "→",
        "&rarrap;": "⥵",
        "&rarrb;": "⇥",
        "&rarrbfs;": "⤠",
        "&rarrc;": "⤳",
        "&rarrfs;": "⤞",
        "&rarrhk;": "↪",
        "&rarrlp;": "↬",
        "&rarrpl;": "⥅",
        "&rarrsim;": "⥴",
        "&rarrtl;": "↣",
        "&rarrw;": "↝",
        "&ratail;": "⤚",
        "&ratio;": "∶",
        "&rationals;": "ℚ",
        "&rbarr;": "⤍",
        "&rbbrk;": "❳",
        "&rbrace;": "}",
        "&rbrack;": "]",
        "&rbrke;": "⦌",
        "&rbrksld;": "⦎",
        "&rbrkslu;": "⦐",
        "&rcaron;": "ř",
        "&rcedil;": "ŗ",
        "&rceil;": "⌉",
        "&rcub;": "}",
        "&rcy;": "р",
        "&rdca;": "⤷",
        "&rdldhar;": "⥩",
        "&rdquo;": "”",
        "&rdquor;": "”",
        "&rdsh;": "↳",
        "&real;": "ℜ",
        "&realine;": "ℛ",
        "&realpart;": "ℜ",
        "&reals;": "ℝ",
        "&rect;": "▭",
        "&reg": "®",
        "&reg;": "®",
        "&rfisht;": "⥽",
        "&rfloor;": "⌋",
        "&rfr;": "𝔯",
        "&rhard;": "⇁",
        "&rharu;": "⇀",
        "&rharul;": "⥬",
        "&rho;": "ρ",
        "&rhov;": "ϱ",
        "&rightarrow;": "→",
        "&rightarrowtail;": "↣",
        "&rightharpoondown;": "⇁",
        "&rightharpoonup;": "⇀",
        "&rightleftarrows;": "⇄",
        "&rightleftharpoons;": "⇌",
        "&rightrightarrows;": "⇉",
        "&rightsquigarrow;": "↝",
        "&rightthreetimes;": "⋌",
        "&ring;": "˚",
        "&risingdotseq;": "≓",
        "&rlarr;": "⇄",
        "&rlhar;": "⇌",
        "&rlm;": "‏",
        "&rmoust;": "⎱",
        "&rmoustache;": "⎱",
        "&rnmid;": "⫮",
        "&roang;": "⟭",
        "&roarr;": "⇾",
        "&robrk;": "⟧",
        "&ropar;": "⦆",
        "&ropf;": "𝕣",
        "&roplus;": "⨮",
        "&rotimes;": "⨵",
        "&rpar;": ")",
        "&rpargt;": "⦔",
        "&rppolint;": "⨒",
        "&rrarr;": "⇉",
        "&rsaquo;": "›",
        "&rscr;": "𝓇",
        "&rsh;": "↱",
        "&rsqb;": "]",
        "&rsquo;": "’",
        "&rsquor;": "’",
        "&rthree;": "⋌",
        "&rtimes;": "⋊",
        "&rtri;": "▹",
        "&rtrie;": "⊵",
        "&rtrif;": "▸",
        "&rtriltri;": "⧎",
        "&ruluhar;": "⥨",
        "&rx;": "℞",
        "&sacute;": "ś",
        "&sbquo;": "‚",
        "&sc;": "≻",
        "&scE;": "⪴",
        "&scap;": "⪸",
        "&scaron;": "š",
        "&sccue;": "≽",
        "&sce;": "⪰",
        "&scedil;": "ş",
        "&scirc;": "ŝ",
        "&scnE;": "⪶",
        "&scnap;": "⪺",
        "&scnsim;": "⋩",
        "&scpolint;": "⨓",
        "&scsim;": "≿",
        "&scy;": "с",
        "&sdot;": "⋅",
        "&sdotb;": "⊡",
        "&sdote;": "⩦",
        "&seArr;": "⇘",
        "&searhk;": "⤥",
        "&searr;": "↘",
        "&searrow;": "↘",
        "&sect": "§",
        "&sect;": "§",
        "&semi;": ";",
        "&seswar;": "⤩",
        "&setminus;": "∖",
        "&setmn;": "∖",
        "&sext;": "✶",
        "&sfr;": "𝔰",
        "&sfrown;": "⌢",
        "&sharp;": "♯",
        "&shchcy;": "щ",
        "&shcy;": "ш",
        "&shortmid;": "∣",
        "&shortparallel;": "∥",
        "&shy": "­",
        "&shy;": "­",
        "&sigma;": "σ",
        "&sigmaf;": "ς",
        "&sigmav;": "ς",
        "&sim;": "∼",
        "&simdot;": "⩪",
        "&sime;": "≃",
        "&simeq;": "≃",
        "&simg;": "⪞",
        "&simgE;": "⪠",
        "&siml;": "⪝",
        "&simlE;": "⪟",
        "&simne;": "≆",
        "&simplus;": "⨤",
        "&simrarr;": "⥲",
        "&slarr;": "←",
        "&smallsetminus;": "∖",
        "&smashp;": "⨳",
        "&smeparsl;": "⧤",
        "&smid;": "∣",
        "&smile;": "⌣",
        "&smt;": "⪪",
        "&smte;": "⪬",
        "&smtes;": "⪬︀",
        "&softcy;": "ь",
        "&sol;": "/",
        "&solb;": "⧄",
        "&solbar;": "⌿",
        "&sopf;": "𝕤",
        "&spades;": "♠",
        "&spadesuit;": "♠",
        "&spar;": "∥",
        "&sqcap;": "⊓",
        "&sqcaps;": "⊓︀",
        "&sqcup;": "⊔",
        "&sqcups;": "⊔︀",
        "&sqsub;": "⊏",
        "&sqsube;": "⊑",
        "&sqsubset;": "⊏",
        "&sqsubseteq;": "⊑",
        "&sqsup;": "⊐",
        "&sqsupe;": "⊒",
        "&sqsupset;": "⊐",
        "&sqsupseteq;": "⊒",
        "&squ;": "□",
        "&square;": "□",
        "&squarf;": "▪",
        "&squf;": "▪",
        "&srarr;": "→",
        "&sscr;": "𝓈",
        "&ssetmn;": "∖",
        "&ssmile;": "⌣",
        "&sstarf;": "⋆",
        "&star;": "☆",
        "&starf;": "★",
        "&straightepsilon;": "ϵ",
        "&straightphi;": "ϕ",
        "&strns;": "¯",
        "&sub;": "⊂",
        "&subE;": "⫅",
        "&subdot;": "⪽",
        "&sube;": "⊆",
        "&subedot;": "⫃",
        "&submult;": "⫁",
        "&subnE;": "⫋",
        "&subne;": "⊊",
        "&subplus;": "⪿",
        "&subrarr;": "⥹",
        "&subset;": "⊂",
        "&subseteq;": "⊆",
        "&subseteqq;": "⫅",
        "&subsetneq;": "⊊",
        "&subsetneqq;": "⫋",
        "&subsim;": "⫇",
        "&subsub;": "⫕",
        "&subsup;": "⫓",
        "&succ;": "≻",
        "&succapprox;": "⪸",
        "&succcurlyeq;": "≽",
        "&succeq;": "⪰",
        "&succnapprox;": "⪺",
        "&succneqq;": "⪶",
        "&succnsim;": "⋩",
        "&succsim;": "≿",
        "&sum;": "∑",
        "&sung;": "♪",
        "&sup1": "¹",
        "&sup1;": "¹",
        "&sup2": "²",
        "&sup2;": "²",
        "&sup3": "³",
        "&sup3;": "³",
        "&sup;": "⊃",
        "&supE;": "⫆",
        "&supdot;": "⪾",
        "&supdsub;": "⫘",
        "&supe;": "⊇",
        "&supedot;": "⫄",
        "&suphsol;": "⟉",
        "&suphsub;": "⫗",
        "&suplarr;": "⥻",
        "&supmult;": "⫂",
        "&supnE;": "⫌",
        "&supne;": "⊋",
        "&supplus;": "⫀",
        "&supset;": "⊃",
        "&supseteq;": "⊇",
        "&supseteqq;": "⫆",
        "&supsetneq;": "⊋",
        "&supsetneqq;": "⫌",
        "&supsim;": "⫈",
        "&supsub;": "⫔",
        "&supsup;": "⫖",
        "&swArr;": "⇙",
        "&swarhk;": "⤦",
        "&swarr;": "↙",
        "&swarrow;": "↙",
        "&swnwar;": "⤪",
        "&szlig": "ß",
        "&szlig;": "ß",
        "&target;": "⌖",
        "&tau;": "τ",
        "&tbrk;": "⎴",
        "&tcaron;": "ť",
        "&tcedil;": "ţ",
        "&tcy;": "т",
        "&tdot;": "⃛",
        "&telrec;": "⌕",
        "&tfr;": "𝔱",
        "&there4;": "∴",
        "&therefore;": "∴",
        "&theta;": "θ",
        "&thetasym;": "ϑ",
        "&thetav;": "ϑ",
        "&thickapprox;": "≈",
        "&thicksim;": "∼",
        "&thinsp;": " ",
        "&thkap;": "≈",
        "&thksim;": "∼",
        "&thorn": "þ",
        "&thorn;": "þ",
        "&tilde;": "˜",
        "&times": "×",
        "&times;": "×",
        "&timesb;": "⊠",
        "&timesbar;": "⨱",
        "&timesd;": "⨰",
        "&tint;": "∭",
        "&toea;": "⤨",
        "&top;": "⊤",
        "&topbot;": "⌶",
        "&topcir;": "⫱",
        "&topf;": "𝕥",
        "&topfork;": "⫚",
        "&tosa;": "⤩",
        "&tprime;": "‴",
        "&trade;": "™",
        "&triangle;": "▵",
        "&triangledown;": "▿",
        "&triangleleft;": "◃",
        "&trianglelefteq;": "⊴",
        "&triangleq;": "≜",
        "&triangleright;": "▹",
        "&trianglerighteq;": "⊵",
        "&tridot;": "◬",
        "&trie;": "≜",
        "&triminus;": "⨺",
        "&triplus;": "⨹",
        "&trisb;": "⧍",
        "&tritime;": "⨻",
        "&trpezium;": "⏢",
        "&tscr;": "𝓉",
        "&tscy;": "ц",
        "&tshcy;": "ћ",
        "&tstrok;": "ŧ",
        "&twixt;": "≬",
        "&twoheadleftarrow;": "↞",
        "&twoheadrightarrow;": "↠",
        "&uArr;": "⇑",
        "&uHar;": "⥣",
        "&uacute": "ú",
        "&uacute;": "ú",
        "&uarr;": "↑",
        "&ubrcy;": "ў",
        "&ubreve;": "ŭ",
        "&ucirc": "û",
        "&ucirc;": "û",
        "&ucy;": "у",
        "&udarr;": "⇅",
        "&udblac;": "ű",
        "&udhar;": "⥮",
        "&ufisht;": "⥾",
        "&ufr;": "𝔲",
        "&ugrave": "ù",
        "&ugrave;": "ù",
        "&uharl;": "↿",
        "&uharr;": "↾",
        "&uhblk;": "▀",
        "&ulcorn;": "⌜",
        "&ulcorner;": "⌜",
        "&ulcrop;": "⌏",
        "&ultri;": "◸",
        "&umacr;": "ū",
        "&uml": "¨",
        "&uml;": "¨",
        "&uogon;": "ų",
        "&uopf;": "𝕦",
        "&uparrow;": "↑",
        "&updownarrow;": "↕",
        "&upharpoonleft;": "↿",
        "&upharpoonright;": "↾",
        "&uplus;": "⊎",
        "&upsi;": "υ",
        "&upsih;": "ϒ",
        "&upsilon;": "υ",
        "&upuparrows;": "⇈",
        "&urcorn;": "⌝",
        "&urcorner;": "⌝",
        "&urcrop;": "⌎",
        "&uring;": "ů",
        "&urtri;": "◹",
        "&uscr;": "𝓊",
        "&utdot;": "⋰",
        "&utilde;": "ũ",
        "&utri;": "▵",
        "&utrif;": "▴",
        "&uuarr;": "⇈",
        "&uuml": "ü",
        "&uuml;": "ü",
        "&uwangle;": "⦧",
        "&vArr;": "⇕",
        "&vBar;": "⫨",
        "&vBarv;": "⫩",
        "&vDash;": "⊨",
        "&vangrt;": "⦜",
        "&varepsilon;": "ϵ",
        "&varkappa;": "ϰ",
        "&varnothing;": "∅",
        "&varphi;": "ϕ",
        "&varpi;": "ϖ",
        "&varpropto;": "∝",
        "&varr;": "↕",
        "&varrho;": "ϱ",
        "&varsigma;": "ς",
        "&varsubsetneq;": "⊊︀",
        "&varsubsetneqq;": "⫋︀",
        "&varsupsetneq;": "⊋︀",
        "&varsupsetneqq;": "⫌︀",
        "&vartheta;": "ϑ",
        "&vartriangleleft;": "⊲",
        "&vartriangleright;": "⊳",
        "&vcy;": "в",
        "&vdash;": "⊢",
        "&vee;": "∨",
        "&veebar;": "⊻",
        "&veeeq;": "≚",
        "&vellip;": "⋮",
        "&verbar;": "|",
        "&vert;": "|",
        "&vfr;": "𝔳",
        "&vltri;": "⊲",
        "&vnsub;": "⊂⃒",
        "&vnsup;": "⊃⃒",
        "&vopf;": "𝕧",
        "&vprop;": "∝",
        "&vrtri;": "⊳",
        "&vscr;": "𝓋",
        "&vsubnE;": "⫋︀",
        "&vsubne;": "⊊︀",
        "&vsupnE;": "⫌︀",
        "&vsupne;": "⊋︀",
        "&vzigzag;": "⦚",
        "&wcirc;": "ŵ",
        "&wedbar;": "⩟",
        "&wedge;": "∧",
        "&wedgeq;": "≙",
        "&weierp;": "℘",
        "&wfr;": "𝔴",
        "&wopf;": "𝕨",
        "&wp;": "℘",
        "&wr;": "≀",
        "&wreath;": "≀",
        "&wscr;": "𝓌",
        "&xcap;": "⋂",
        "&xcirc;": "◯",
        "&xcup;": "⋃",
        "&xdtri;": "▽",
        "&xfr;": "𝔵",
        "&xhArr;": "⟺",
        "&xharr;": "⟷",
        "&xi;": "ξ",
        "&xlArr;": "⟸",
        "&xlarr;": "⟵",
        "&xmap;": "⟼",
        "&xnis;": "⋻",
        "&xodot;": "⨀",
        "&xopf;": "𝕩",
        "&xoplus;": "⨁",
        "&xotime;": "⨂",
        "&xrArr;": "⟹",
        "&xrarr;": "⟶",
        "&xscr;": "𝓍",
        "&xsqcup;": "⨆",
        "&xuplus;": "⨄",
        "&xutri;": "△",
        "&xvee;": "⋁",
        "&xwedge;": "⋀",
        "&yacute": "ý",
        "&yacute;": "ý",
        "&yacy;": "я",
        "&ycirc;": "ŷ",
        "&ycy;": "ы",
        "&yen": "¥",
        "&yen;": "¥",
        "&yfr;": "𝔶",
        "&yicy;": "ї",
        "&yopf;": "𝕪",
        "&yscr;": "𝓎",
        "&yucy;": "ю",
        "&yuml": "ÿ",
        "&yuml;": "ÿ",
        "&zacute;": "ź",
        "&zcaron;": "ž",
        "&zcy;": "з",
        "&zdot;": "ż",
        "&zeetrf;": "ℨ",
        "&zeta;": "ζ",
        "&zfr;": "𝔷",
        "&zhcy;": "ж",
        "&zigrarr;": "⇝",
        "&zopf;": "𝕫",
        "&zscr;": "𝓏",
        "&zwj;": "‍",
        "&zwnj;": "‌"
      },
      characters: {
        "Æ": "&AElig;",
        "&": "&amp;",
        "Á": "&Aacute;",
        "Ă": "&Abreve;",
        "Â": "&Acirc;",
        "А": "&Acy;",
        "𝔄": "&Afr;",
        "À": "&Agrave;",
        "Α": "&Alpha;",
        "Ā": "&Amacr;",
        "⩓": "&And;",
        "Ą": "&Aogon;",
        "𝔸": "&Aopf;",
        "⁡": "&af;",
        "Å": "&angst;",
        "𝒜": "&Ascr;",
        "≔": "&coloneq;",
        "Ã": "&Atilde;",
        "Ä": "&Auml;",
        "∖": "&ssetmn;",
        "⫧": "&Barv;",
        "⌆": "&doublebarwedge;",
        "Б": "&Bcy;",
        "∵": "&because;",
        "ℬ": "&bernou;",
        "Β": "&Beta;",
        "𝔅": "&Bfr;",
        "𝔹": "&Bopf;",
        "˘": "&breve;",
        "≎": "&bump;",
        "Ч": "&CHcy;",
        "©": "&copy;",
        "Ć": "&Cacute;",
        "⋒": "&Cap;",
        "ⅅ": "&DD;",
        "ℭ": "&Cfr;",
        "Č": "&Ccaron;",
        "Ç": "&Ccedil;",
        "Ĉ": "&Ccirc;",
        "∰": "&Cconint;",
        "Ċ": "&Cdot;",
        "¸": "&cedil;",
        "·": "&middot;",
        "Χ": "&Chi;",
        "⊙": "&odot;",
        "⊖": "&ominus;",
        "⊕": "&oplus;",
        "⊗": "&otimes;",
        "∲": "&cwconint;",
        "”": "&rdquor;",
        "’": "&rsquor;",
        "∷": "&Proportion;",
        "⩴": "&Colone;",
        "≡": "&equiv;",
        "∯": "&DoubleContourIntegral;",
        "∮": "&oint;",
        "ℂ": "&complexes;",
        "∐": "&coprod;",
        "∳": "&awconint;",
        "⨯": "&Cross;",
        "𝒞": "&Cscr;",
        "⋓": "&Cup;",
        "≍": "&asympeq;",
        "⤑": "&DDotrahd;",
        "Ђ": "&DJcy;",
        "Ѕ": "&DScy;",
        "Џ": "&DZcy;",
        "‡": "&ddagger;",
        "↡": "&Darr;",
        "⫤": "&DoubleLeftTee;",
        "Ď": "&Dcaron;",
        "Д": "&Dcy;",
        "∇": "&nabla;",
        "Δ": "&Delta;",
        "𝔇": "&Dfr;",
        "´": "&acute;",
        "˙": "&dot;",
        "˝": "&dblac;",
        "`": "&grave;",
        "˜": "&tilde;",
        "⋄": "&diamond;",
        "ⅆ": "&dd;",
        "𝔻": "&Dopf;",
        "¨": "&uml;",
        "⃜": "&DotDot;",
        "≐": "&esdot;",
        "⇓": "&dArr;",
        "⇐": "&lArr;",
        "⇔": "&iff;",
        "⟸": "&xlArr;",
        "⟺": "&xhArr;",
        "⟹": "&xrArr;",
        "⇒": "&rArr;",
        "⊨": "&vDash;",
        "⇑": "&uArr;",
        "⇕": "&vArr;",
        "∥": "&spar;",
        "↓": "&downarrow;",
        "⤓": "&DownArrowBar;",
        "⇵": "&duarr;",
        "̑": "&DownBreve;",
        "⥐": "&DownLeftRightVector;",
        "⥞": "&DownLeftTeeVector;",
        "↽": "&lhard;",
        "⥖": "&DownLeftVectorBar;",
        "⥟": "&DownRightTeeVector;",
        "⇁": "&rightharpoondown;",
        "⥗": "&DownRightVectorBar;",
        "⊤": "&top;",
        "↧": "&mapstodown;",
        "𝒟": "&Dscr;",
        "Đ": "&Dstrok;",
        "Ŋ": "&ENG;",
        "Ð": "&ETH;",
        "É": "&Eacute;",
        "Ě": "&Ecaron;",
        "Ê": "&Ecirc;",
        "Э": "&Ecy;",
        "Ė": "&Edot;",
        "𝔈": "&Efr;",
        "È": "&Egrave;",
        "∈": "&isinv;",
        "Ē": "&Emacr;",
        "◻": "&EmptySmallSquare;",
        "▫": "&EmptyVerySmallSquare;",
        "Ę": "&Eogon;",
        "𝔼": "&Eopf;",
        "Ε": "&Epsilon;",
        "⩵": "&Equal;",
        "≂": "&esim;",
        "⇌": "&rlhar;",
        "ℰ": "&expectation;",
        "⩳": "&Esim;",
        "Η": "&Eta;",
        "Ë": "&Euml;",
        "∃": "&exist;",
        "ⅇ": "&exponentiale;",
        "Ф": "&Fcy;",
        "𝔉": "&Ffr;",
        "◼": "&FilledSmallSquare;",
        "▪": "&squf;",
        "𝔽": "&Fopf;",
        "∀": "&forall;",
        "ℱ": "&Fscr;",
        "Ѓ": "&GJcy;",
        ">": "&gt;",
        "Γ": "&Gamma;",
        "Ϝ": "&Gammad;",
        "Ğ": "&Gbreve;",
        "Ģ": "&Gcedil;",
        "Ĝ": "&Gcirc;",
        "Г": "&Gcy;",
        "Ġ": "&Gdot;",
        "𝔊": "&Gfr;",
        "⋙": "&ggg;",
        "𝔾": "&Gopf;",
        "≥": "&geq;",
        "⋛": "&gtreqless;",
        "≧": "&geqq;",
        "⪢": "&GreaterGreater;",
        "≷": "&gtrless;",
        "⩾": "&ges;",
        "≳": "&gtrsim;",
        "𝒢": "&Gscr;",
        "≫": "&gg;",
        "Ъ": "&HARDcy;",
        "ˇ": "&caron;",
        "^": "&Hat;",
        "Ĥ": "&Hcirc;",
        "ℌ": "&Poincareplane;",
        "ℋ": "&hamilt;",
        "ℍ": "&quaternions;",
        "─": "&boxh;",
        "Ħ": "&Hstrok;",
        "≏": "&bumpeq;",
        "Е": "&IEcy;",
        "Ĳ": "&IJlig;",
        "Ё": "&IOcy;",
        "Í": "&Iacute;",
        "Î": "&Icirc;",
        "И": "&Icy;",
        "İ": "&Idot;",
        "ℑ": "&imagpart;",
        "Ì": "&Igrave;",
        "Ī": "&Imacr;",
        "ⅈ": "&ii;",
        "∬": "&Int;",
        "∫": "&int;",
        "⋂": "&xcap;",
        "⁣": "&ic;",
        "⁢": "&it;",
        "Į": "&Iogon;",
        "𝕀": "&Iopf;",
        "Ι": "&Iota;",
        "ℐ": "&imagline;",
        "Ĩ": "&Itilde;",
        "І": "&Iukcy;",
        "Ï": "&Iuml;",
        "Ĵ": "&Jcirc;",
        "Й": "&Jcy;",
        "𝔍": "&Jfr;",
        "𝕁": "&Jopf;",
        "𝒥": "&Jscr;",
        "Ј": "&Jsercy;",
        "Є": "&Jukcy;",
        "Х": "&KHcy;",
        "Ќ": "&KJcy;",
        "Κ": "&Kappa;",
        "Ķ": "&Kcedil;",
        "К": "&Kcy;",
        "𝔎": "&Kfr;",
        "𝕂": "&Kopf;",
        "𝒦": "&Kscr;",
        "Љ": "&LJcy;",
        "<": "&lt;",
        "Ĺ": "&Lacute;",
        "Λ": "&Lambda;",
        "⟪": "&Lang;",
        "ℒ": "&lagran;",
        "↞": "&twoheadleftarrow;",
        "Ľ": "&Lcaron;",
        "Ļ": "&Lcedil;",
        "Л": "&Lcy;",
        "⟨": "&langle;",
        "←": "&slarr;",
        "⇤": "&larrb;",
        "⇆": "&lrarr;",
        "⌈": "&lceil;",
        "⟦": "&lobrk;",
        "⥡": "&LeftDownTeeVector;",
        "⇃": "&downharpoonleft;",
        "⥙": "&LeftDownVectorBar;",
        "⌊": "&lfloor;",
        "↔": "&leftrightarrow;",
        "⥎": "&LeftRightVector;",
        "⊣": "&dashv;",
        "↤": "&mapstoleft;",
        "⥚": "&LeftTeeVector;",
        "⊲": "&vltri;",
        "⧏": "&LeftTriangleBar;",
        "⊴": "&trianglelefteq;",
        "⥑": "&LeftUpDownVector;",
        "⥠": "&LeftUpTeeVector;",
        "↿": "&upharpoonleft;",
        "⥘": "&LeftUpVectorBar;",
        "↼": "&lharu;",
        "⥒": "&LeftVectorBar;",
        "⋚": "&lesseqgtr;",
        "≦": "&leqq;",
        "≶": "&lg;",
        "⪡": "&LessLess;",
        "⩽": "&les;",
        "≲": "&lsim;",
        "𝔏": "&Lfr;",
        "⋘": "&Ll;",
        "⇚": "&lAarr;",
        "Ŀ": "&Lmidot;",
        "⟵": "&xlarr;",
        "⟷": "&xharr;",
        "⟶": "&xrarr;",
        "𝕃": "&Lopf;",
        "↙": "&swarrow;",
        "↘": "&searrow;",
        "↰": "&lsh;",
        "Ł": "&Lstrok;",
        "≪": "&ll;",
        "⤅": "&Map;",
        "М": "&Mcy;",
        " ": "&MediumSpace;",
        "ℳ": "&phmmat;",
        "𝔐": "&Mfr;",
        "∓": "&mp;",
        "𝕄": "&Mopf;",
        "Μ": "&Mu;",
        "Њ": "&NJcy;",
        "Ń": "&Nacute;",
        "Ň": "&Ncaron;",
        "Ņ": "&Ncedil;",
        "Н": "&Ncy;",
        "​": "&ZeroWidthSpace;",
        "\n": "&NewLine;",
        "𝔑": "&Nfr;",
        "⁠": "&NoBreak;",
        " ": "&nbsp;",
        "ℕ": "&naturals;",
        "⫬": "&Not;",
        "≢": "&nequiv;",
        "≭": "&NotCupCap;",
        "∦": "&nspar;",
        "∉": "&notinva;",
        "≠": "&ne;",
        "≂̸": "&nesim;",
        "∄": "&nexists;",
        "≯": "&ngtr;",
        "≱": "&ngeq;",
        "≧̸": "&ngeqq;",
        "≫̸": "&nGtv;",
        "≹": "&ntgl;",
        "⩾̸": "&nges;",
        "≵": "&ngsim;",
        "≎̸": "&nbump;",
        "≏̸": "&nbumpe;",
        "⋪": "&ntriangleleft;",
        "⧏̸": "&NotLeftTriangleBar;",
        "⋬": "&ntrianglelefteq;",
        "≮": "&nlt;",
        "≰": "&nleq;",
        "≸": "&ntlg;",
        "≪̸": "&nLtv;",
        "⩽̸": "&nles;",
        "≴": "&nlsim;",
        "⪢̸": "&NotNestedGreaterGreater;",
        "⪡̸": "&NotNestedLessLess;",
        "⊀": "&nprec;",
        "⪯̸": "&npreceq;",
        "⋠": "&nprcue;",
        "∌": "&notniva;",
        "⋫": "&ntriangleright;",
        "⧐̸": "&NotRightTriangleBar;",
        "⋭": "&ntrianglerighteq;",
        "⊏̸": "&NotSquareSubset;",
        "⋢": "&nsqsube;",
        "⊐̸": "&NotSquareSuperset;",
        "⋣": "&nsqsupe;",
        "⊂⃒": "&vnsub;",
        "⊈": "&nsubseteq;",
        "⊁": "&nsucc;",
        "⪰̸": "&nsucceq;",
        "⋡": "&nsccue;",
        "≿̸": "&NotSucceedsTilde;",
        "⊃⃒": "&vnsup;",
        "⊉": "&nsupseteq;",
        "≁": "&nsim;",
        "≄": "&nsimeq;",
        "≇": "&ncong;",
        "≉": "&napprox;",
        "∤": "&nsmid;",
        "𝒩": "&Nscr;",
        "Ñ": "&Ntilde;",
        "Ν": "&Nu;",
        "Œ": "&OElig;",
        "Ó": "&Oacute;",
        "Ô": "&Ocirc;",
        "О": "&Ocy;",
        "Ő": "&Odblac;",
        "𝔒": "&Ofr;",
        "Ò": "&Ograve;",
        "Ō": "&Omacr;",
        "Ω": "&ohm;",
        "Ο": "&Omicron;",
        "𝕆": "&Oopf;",
        "“": "&ldquo;",
        "‘": "&lsquo;",
        "⩔": "&Or;",
        "𝒪": "&Oscr;",
        "Ø": "&Oslash;",
        "Õ": "&Otilde;",
        "⨷": "&Otimes;",
        "Ö": "&Ouml;",
        "‾": "&oline;",
        "⏞": "&OverBrace;",
        "⎴": "&tbrk;",
        "⏜": "&OverParenthesis;",
        "∂": "&part;",
        "П": "&Pcy;",
        "𝔓": "&Pfr;",
        "Φ": "&Phi;",
        "Π": "&Pi;",
        "±": "&pm;",
        "ℙ": "&primes;",
        "⪻": "&Pr;",
        "≺": "&prec;",
        "⪯": "&preceq;",
        "≼": "&preccurlyeq;",
        "≾": "&prsim;",
        "″": "&Prime;",
        "∏": "&prod;",
        "∝": "&vprop;",
        "𝒫": "&Pscr;",
        "Ψ": "&Psi;",
        '"': "&quot;",
        "𝔔": "&Qfr;",
        "ℚ": "&rationals;",
        "𝒬": "&Qscr;",
        "⤐": "&drbkarow;",
        "®": "&reg;",
        "Ŕ": "&Racute;",
        "⟫": "&Rang;",
        "↠": "&twoheadrightarrow;",
        "⤖": "&Rarrtl;",
        "Ř": "&Rcaron;",
        "Ŗ": "&Rcedil;",
        "Р": "&Rcy;",
        "ℜ": "&realpart;",
        "∋": "&niv;",
        "⇋": "&lrhar;",
        "⥯": "&duhar;",
        "Ρ": "&Rho;",
        "⟩": "&rangle;",
        "→": "&srarr;",
        "⇥": "&rarrb;",
        "⇄": "&rlarr;",
        "⌉": "&rceil;",
        "⟧": "&robrk;",
        "⥝": "&RightDownTeeVector;",
        "⇂": "&downharpoonright;",
        "⥕": "&RightDownVectorBar;",
        "⌋": "&rfloor;",
        "⊢": "&vdash;",
        "↦": "&mapsto;",
        "⥛": "&RightTeeVector;",
        "⊳": "&vrtri;",
        "⧐": "&RightTriangleBar;",
        "⊵": "&trianglerighteq;",
        "⥏": "&RightUpDownVector;",
        "⥜": "&RightUpTeeVector;",
        "↾": "&upharpoonright;",
        "⥔": "&RightUpVectorBar;",
        "⇀": "&rightharpoonup;",
        "⥓": "&RightVectorBar;",
        "ℝ": "&reals;",
        "⥰": "&RoundImplies;",
        "⇛": "&rAarr;",
        "ℛ": "&realine;",
        "↱": "&rsh;",
        "⧴": "&RuleDelayed;",
        "Щ": "&SHCHcy;",
        "Ш": "&SHcy;",
        "Ь": "&SOFTcy;",
        "Ś": "&Sacute;",
        "⪼": "&Sc;",
        "Š": "&Scaron;",
        "Ş": "&Scedil;",
        "Ŝ": "&Scirc;",
        "С": "&Scy;",
        "𝔖": "&Sfr;",
        "↑": "&uparrow;",
        "Σ": "&Sigma;",
        "∘": "&compfn;",
        "𝕊": "&Sopf;",
        "√": "&radic;",
        "□": "&square;",
        "⊓": "&sqcap;",
        "⊏": "&sqsubset;",
        "⊑": "&sqsubseteq;",
        "⊐": "&sqsupset;",
        "⊒": "&sqsupseteq;",
        "⊔": "&sqcup;",
        "𝒮": "&Sscr;",
        "⋆": "&sstarf;",
        "⋐": "&Subset;",
        "⊆": "&subseteq;",
        "≻": "&succ;",
        "⪰": "&succeq;",
        "≽": "&succcurlyeq;",
        "≿": "&succsim;",
        "∑": "&sum;",
        "⋑": "&Supset;",
        "⊃": "&supset;",
        "⊇": "&supseteq;",
        "Þ": "&THORN;",
        "™": "&trade;",
        "Ћ": "&TSHcy;",
        "Ц": "&TScy;",
        "\t": "&Tab;",
        "Τ": "&Tau;",
        "Ť": "&Tcaron;",
        "Ţ": "&Tcedil;",
        "Т": "&Tcy;",
        "𝔗": "&Tfr;",
        "∴": "&therefore;",
        "Θ": "&Theta;",
        "  ": "&ThickSpace;",
        " ": "&thinsp;",
        "∼": "&thksim;",
        "≃": "&simeq;",
        "≅": "&cong;",
        "≈": "&thkap;",
        "𝕋": "&Topf;",
        "⃛": "&tdot;",
        "𝒯": "&Tscr;",
        "Ŧ": "&Tstrok;",
        "Ú": "&Uacute;",
        "↟": "&Uarr;",
        "⥉": "&Uarrocir;",
        "Ў": "&Ubrcy;",
        "Ŭ": "&Ubreve;",
        "Û": "&Ucirc;",
        "У": "&Ucy;",
        "Ű": "&Udblac;",
        "𝔘": "&Ufr;",
        "Ù": "&Ugrave;",
        "Ū": "&Umacr;",
        _: "&lowbar;",
        "⏟": "&UnderBrace;",
        "⎵": "&bbrk;",
        "⏝": "&UnderParenthesis;",
        "⋃": "&xcup;",
        "⊎": "&uplus;",
        "Ų": "&Uogon;",
        "𝕌": "&Uopf;",
        "⤒": "&UpArrowBar;",
        "⇅": "&udarr;",
        "↕": "&varr;",
        "⥮": "&udhar;",
        "⊥": "&perp;",
        "↥": "&mapstoup;",
        "↖": "&nwarrow;",
        "↗": "&nearrow;",
        "ϒ": "&upsih;",
        "Υ": "&Upsilon;",
        "Ů": "&Uring;",
        "𝒰": "&Uscr;",
        "Ũ": "&Utilde;",
        "Ü": "&Uuml;",
        "⊫": "&VDash;",
        "⫫": "&Vbar;",
        "В": "&Vcy;",
        "⊩": "&Vdash;",
        "⫦": "&Vdashl;",
        "⋁": "&xvee;",
        "‖": "&Vert;",
        "∣": "&smid;",
        "|": "&vert;",
        "❘": "&VerticalSeparator;",
        "≀": "&wreath;",
        " ": "&hairsp;",
        "𝔙": "&Vfr;",
        "𝕍": "&Vopf;",
        "𝒱": "&Vscr;",
        "⊪": "&Vvdash;",
        "Ŵ": "&Wcirc;",
        "⋀": "&xwedge;",
        "𝔚": "&Wfr;",
        "𝕎": "&Wopf;",
        "𝒲": "&Wscr;",
        "𝔛": "&Xfr;",
        "Ξ": "&Xi;",
        "𝕏": "&Xopf;",
        "𝒳": "&Xscr;",
        "Я": "&YAcy;",
        "Ї": "&YIcy;",
        "Ю": "&YUcy;",
        "Ý": "&Yacute;",
        "Ŷ": "&Ycirc;",
        "Ы": "&Ycy;",
        "𝔜": "&Yfr;",
        "𝕐": "&Yopf;",
        "𝒴": "&Yscr;",
        "Ÿ": "&Yuml;",
        "Ж": "&ZHcy;",
        "Ź": "&Zacute;",
        "Ž": "&Zcaron;",
        "З": "&Zcy;",
        "Ż": "&Zdot;",
        "Ζ": "&Zeta;",
        "ℨ": "&zeetrf;",
        "ℤ": "&integers;",
        "𝒵": "&Zscr;",
        "á": "&aacute;",
        "ă": "&abreve;",
        "∾": "&mstpos;",
        "∾̳": "&acE;",
        "∿": "&acd;",
        "â": "&acirc;",
        "а": "&acy;",
        "æ": "&aelig;",
        "𝔞": "&afr;",
        "à": "&agrave;",
        "ℵ": "&aleph;",
        "α": "&alpha;",
        "ā": "&amacr;",
        "⨿": "&amalg;",
        "∧": "&wedge;",
        "⩕": "&andand;",
        "⩜": "&andd;",
        "⩘": "&andslope;",
        "⩚": "&andv;",
        "∠": "&angle;",
        "⦤": "&ange;",
        "∡": "&measuredangle;",
        "⦨": "&angmsdaa;",
        "⦩": "&angmsdab;",
        "⦪": "&angmsdac;",
        "⦫": "&angmsdad;",
        "⦬": "&angmsdae;",
        "⦭": "&angmsdaf;",
        "⦮": "&angmsdag;",
        "⦯": "&angmsdah;",
        "∟": "&angrt;",
        "⊾": "&angrtvb;",
        "⦝": "&angrtvbd;",
        "∢": "&angsph;",
        "⍼": "&angzarr;",
        "ą": "&aogon;",
        "𝕒": "&aopf;",
        "⩰": "&apE;",
        "⩯": "&apacir;",
        "≊": "&approxeq;",
        "≋": "&apid;",
        "'": "&apos;",
        "å": "&aring;",
        "𝒶": "&ascr;",
        "*": "&midast;",
        "ã": "&atilde;",
        "ä": "&auml;",
        "⨑": "&awint;",
        "⫭": "&bNot;",
        "≌": "&bcong;",
        "϶": "&bepsi;",
        "‵": "&bprime;",
        "∽": "&bsim;",
        "⋍": "&bsime;",
        "⊽": "&barvee;",
        "⌅": "&barwedge;",
        "⎶": "&bbrktbrk;",
        "б": "&bcy;",
        "„": "&ldquor;",
        "⦰": "&bemptyv;",
        "β": "&beta;",
        "ℶ": "&beth;",
        "≬": "&twixt;",
        "𝔟": "&bfr;",
        "◯": "&xcirc;",
        "⨀": "&xodot;",
        "⨁": "&xoplus;",
        "⨂": "&xotime;",
        "⨆": "&xsqcup;",
        "★": "&starf;",
        "▽": "&xdtri;",
        "△": "&xutri;",
        "⨄": "&xuplus;",
        "⤍": "&rbarr;",
        "⧫": "&lozf;",
        "▴": "&utrif;",
        "▾": "&dtrif;",
        "◂": "&ltrif;",
        "▸": "&rtrif;",
        "␣": "&blank;",
        "▒": "&blk12;",
        "░": "&blk14;",
        "▓": "&blk34;",
        "█": "&block;",
        "=⃥": "&bne;",
        "≡⃥": "&bnequiv;",
        "⌐": "&bnot;",
        "𝕓": "&bopf;",
        "⋈": "&bowtie;",
        "╗": "&boxDL;",
        "╔": "&boxDR;",
        "╖": "&boxDl;",
        "╓": "&boxDr;",
        "═": "&boxH;",
        "╦": "&boxHD;",
        "╩": "&boxHU;",
        "╤": "&boxHd;",
        "╧": "&boxHu;",
        "╝": "&boxUL;",
        "╚": "&boxUR;",
        "╜": "&boxUl;",
        "╙": "&boxUr;",
        "║": "&boxV;",
        "╬": "&boxVH;",
        "╣": "&boxVL;",
        "╠": "&boxVR;",
        "╫": "&boxVh;",
        "╢": "&boxVl;",
        "╟": "&boxVr;",
        "⧉": "&boxbox;",
        "╕": "&boxdL;",
        "╒": "&boxdR;",
        "┐": "&boxdl;",
        "┌": "&boxdr;",
        "╥": "&boxhD;",
        "╨": "&boxhU;",
        "┬": "&boxhd;",
        "┴": "&boxhu;",
        "⊟": "&minusb;",
        "⊞": "&plusb;",
        "⊠": "&timesb;",
        "╛": "&boxuL;",
        "╘": "&boxuR;",
        "┘": "&boxul;",
        "└": "&boxur;",
        "│": "&boxv;",
        "╪": "&boxvH;",
        "╡": "&boxvL;",
        "╞": "&boxvR;",
        "┼": "&boxvh;",
        "┤": "&boxvl;",
        "├": "&boxvr;",
        "¦": "&brvbar;",
        "𝒷": "&bscr;",
        "⁏": "&bsemi;",
        "\\": "&bsol;",
        "⧅": "&bsolb;",
        "⟈": "&bsolhsub;",
        "•": "&bullet;",
        "⪮": "&bumpE;",
        "ć": "&cacute;",
        "∩": "&cap;",
        "⩄": "&capand;",
        "⩉": "&capbrcup;",
        "⩋": "&capcap;",
        "⩇": "&capcup;",
        "⩀": "&capdot;",
        "∩︀": "&caps;",
        "⁁": "&caret;",
        "⩍": "&ccaps;",
        "č": "&ccaron;",
        "ç": "&ccedil;",
        "ĉ": "&ccirc;",
        "⩌": "&ccups;",
        "⩐": "&ccupssm;",
        "ċ": "&cdot;",
        "⦲": "&cemptyv;",
        "¢": "&cent;",
        "𝔠": "&cfr;",
        "ч": "&chcy;",
        "✓": "&checkmark;",
        "χ": "&chi;",
        "○": "&cir;",
        "⧃": "&cirE;",
        "ˆ": "&circ;",
        "≗": "&cire;",
        "↺": "&olarr;",
        "↻": "&orarr;",
        "Ⓢ": "&oS;",
        "⊛": "&oast;",
        "⊚": "&ocir;",
        "⊝": "&odash;",
        "⨐": "&cirfnint;",
        "⫯": "&cirmid;",
        "⧂": "&cirscir;",
        "♣": "&clubsuit;",
        ":": "&colon;",
        ",": "&comma;",
        "@": "&commat;",
        "∁": "&complement;",
        "⩭": "&congdot;",
        "𝕔": "&copf;",
        "℗": "&copysr;",
        "↵": "&crarr;",
        "✗": "&cross;",
        "𝒸": "&cscr;",
        "⫏": "&csub;",
        "⫑": "&csube;",
        "⫐": "&csup;",
        "⫒": "&csupe;",
        "⋯": "&ctdot;",
        "⤸": "&cudarrl;",
        "⤵": "&cudarrr;",
        "⋞": "&curlyeqprec;",
        "⋟": "&curlyeqsucc;",
        "↶": "&curvearrowleft;",
        "⤽": "&cularrp;",
        "∪": "&cup;",
        "⩈": "&cupbrcap;",
        "⩆": "&cupcap;",
        "⩊": "&cupcup;",
        "⊍": "&cupdot;",
        "⩅": "&cupor;",
        "∪︀": "&cups;",
        "↷": "&curvearrowright;",
        "⤼": "&curarrm;",
        "⋎": "&cuvee;",
        "⋏": "&cuwed;",
        "¤": "&curren;",
        "∱": "&cwint;",
        "⌭": "&cylcty;",
        "⥥": "&dHar;",
        "†": "&dagger;",
        "ℸ": "&daleth;",
        "‐": "&hyphen;",
        "⤏": "&rBarr;",
        "ď": "&dcaron;",
        "д": "&dcy;",
        "⇊": "&downdownarrows;",
        "⩷": "&eDDot;",
        "°": "&deg;",
        "δ": "&delta;",
        "⦱": "&demptyv;",
        "⥿": "&dfisht;",
        "𝔡": "&dfr;",
        "♦": "&diams;",
        "ϝ": "&gammad;",
        "⋲": "&disin;",
        "÷": "&divide;",
        "⋇": "&divonx;",
        "ђ": "&djcy;",
        "⌞": "&llcorner;",
        "⌍": "&dlcrop;",
        $: "&dollar;",
        "𝕕": "&dopf;",
        "≑": "&eDot;",
        "∸": "&minusd;",
        "∔": "&plusdo;",
        "⊡": "&sdotb;",
        "⌟": "&lrcorner;",
        "⌌": "&drcrop;",
        "𝒹": "&dscr;",
        "ѕ": "&dscy;",
        "⧶": "&dsol;",
        "đ": "&dstrok;",
        "⋱": "&dtdot;",
        "▿": "&triangledown;",
        "⦦": "&dwangle;",
        "џ": "&dzcy;",
        "⟿": "&dzigrarr;",
        "é": "&eacute;",
        "⩮": "&easter;",
        "ě": "&ecaron;",
        "≖": "&eqcirc;",
        "ê": "&ecirc;",
        "≕": "&eqcolon;",
        "э": "&ecy;",
        "ė": "&edot;",
        "≒": "&fallingdotseq;",
        "𝔢": "&efr;",
        "⪚": "&eg;",
        "è": "&egrave;",
        "⪖": "&eqslantgtr;",
        "⪘": "&egsdot;",
        "⪙": "&el;",
        "⏧": "&elinters;",
        "ℓ": "&ell;",
        "⪕": "&eqslantless;",
        "⪗": "&elsdot;",
        "ē": "&emacr;",
        "∅": "&varnothing;",
        " ": "&emsp13;",
        " ": "&emsp14;",
        " ": "&emsp;",
        "ŋ": "&eng;",
        " ": "&ensp;",
        "ę": "&eogon;",
        "𝕖": "&eopf;",
        "⋕": "&epar;",
        "⧣": "&eparsl;",
        "⩱": "&eplus;",
        "ε": "&epsilon;",
        "ϵ": "&varepsilon;",
        "=": "&equals;",
        "≟": "&questeq;",
        "⩸": "&equivDD;",
        "⧥": "&eqvparsl;",
        "≓": "&risingdotseq;",
        "⥱": "&erarr;",
        "ℯ": "&escr;",
        "η": "&eta;",
        "ð": "&eth;",
        "ë": "&euml;",
        "€": "&euro;",
        "!": "&excl;",
        "ф": "&fcy;",
        "♀": "&female;",
        "ﬃ": "&ffilig;",
        "ﬀ": "&fflig;",
        "ﬄ": "&ffllig;",
        "𝔣": "&ffr;",
        "ﬁ": "&filig;",
        fj: "&fjlig;",
        "♭": "&flat;",
        "ﬂ": "&fllig;",
        "▱": "&fltns;",
        "ƒ": "&fnof;",
        "𝕗": "&fopf;",
        "⋔": "&pitchfork;",
        "⫙": "&forkv;",
        "⨍": "&fpartint;",
        "½": "&half;",
        "⅓": "&frac13;",
        "¼": "&frac14;",
        "⅕": "&frac15;",
        "⅙": "&frac16;",
        "⅛": "&frac18;",
        "⅔": "&frac23;",
        "⅖": "&frac25;",
        "¾": "&frac34;",
        "⅗": "&frac35;",
        "⅜": "&frac38;",
        "⅘": "&frac45;",
        "⅚": "&frac56;",
        "⅝": "&frac58;",
        "⅞": "&frac78;",
        "⁄": "&frasl;",
        "⌢": "&sfrown;",
        "𝒻": "&fscr;",
        "⪌": "&gtreqqless;",
        "ǵ": "&gacute;",
        "γ": "&gamma;",
        "⪆": "&gtrapprox;",
        "ğ": "&gbreve;",
        "ĝ": "&gcirc;",
        "г": "&gcy;",
        "ġ": "&gdot;",
        "⪩": "&gescc;",
        "⪀": "&gesdot;",
        "⪂": "&gesdoto;",
        "⪄": "&gesdotol;",
        "⋛︀": "&gesl;",
        "⪔": "&gesles;",
        "𝔤": "&gfr;",
        "ℷ": "&gimel;",
        "ѓ": "&gjcy;",
        "⪒": "&glE;",
        "⪥": "&gla;",
        "⪤": "&glj;",
        "≩": "&gneqq;",
        "⪊": "&gnapprox;",
        "⪈": "&gneq;",
        "⋧": "&gnsim;",
        "𝕘": "&gopf;",
        "ℊ": "&gscr;",
        "⪎": "&gsime;",
        "⪐": "&gsiml;",
        "⪧": "&gtcc;",
        "⩺": "&gtcir;",
        "⋗": "&gtrdot;",
        "⦕": "&gtlPar;",
        "⩼": "&gtquest;",
        "⥸": "&gtrarr;",
        "≩︀": "&gvnE;",
        "ъ": "&hardcy;",
        "⥈": "&harrcir;",
        "↭": "&leftrightsquigarrow;",
        "ℏ": "&plankv;",
        "ĥ": "&hcirc;",
        "♥": "&heartsuit;",
        "…": "&mldr;",
        "⊹": "&hercon;",
        "𝔥": "&hfr;",
        "⤥": "&searhk;",
        "⤦": "&swarhk;",
        "⇿": "&hoarr;",
        "∻": "&homtht;",
        "↩": "&larrhk;",
        "↪": "&rarrhk;",
        "𝕙": "&hopf;",
        "―": "&horbar;",
        "𝒽": "&hscr;",
        "ħ": "&hstrok;",
        "⁃": "&hybull;",
        "í": "&iacute;",
        "î": "&icirc;",
        "и": "&icy;",
        "е": "&iecy;",
        "¡": "&iexcl;",
        "𝔦": "&ifr;",
        "ì": "&igrave;",
        "⨌": "&qint;",
        "∭": "&tint;",
        "⧜": "&iinfin;",
        "℩": "&iiota;",
        "ĳ": "&ijlig;",
        "ī": "&imacr;",
        "ı": "&inodot;",
        "⊷": "&imof;",
        "Ƶ": "&imped;",
        "℅": "&incare;",
        "∞": "&infin;",
        "⧝": "&infintie;",
        "⊺": "&intercal;",
        "⨗": "&intlarhk;",
        "⨼": "&iprod;",
        "ё": "&iocy;",
        "į": "&iogon;",
        "𝕚": "&iopf;",
        "ι": "&iota;",
        "¿": "&iquest;",
        "𝒾": "&iscr;",
        "⋹": "&isinE;",
        "⋵": "&isindot;",
        "⋴": "&isins;",
        "⋳": "&isinsv;",
        "ĩ": "&itilde;",
        "і": "&iukcy;",
        "ï": "&iuml;",
        "ĵ": "&jcirc;",
        "й": "&jcy;",
        "𝔧": "&jfr;",
        "ȷ": "&jmath;",
        "𝕛": "&jopf;",
        "𝒿": "&jscr;",
        "ј": "&jsercy;",
        "є": "&jukcy;",
        "κ": "&kappa;",
        "ϰ": "&varkappa;",
        "ķ": "&kcedil;",
        "к": "&kcy;",
        "𝔨": "&kfr;",
        "ĸ": "&kgreen;",
        "х": "&khcy;",
        "ќ": "&kjcy;",
        "𝕜": "&kopf;",
        "𝓀": "&kscr;",
        "⤛": "&lAtail;",
        "⤎": "&lBarr;",
        "⪋": "&lesseqqgtr;",
        "⥢": "&lHar;",
        "ĺ": "&lacute;",
        "⦴": "&laemptyv;",
        "λ": "&lambda;",
        "⦑": "&langd;",
        "⪅": "&lessapprox;",
        "«": "&laquo;",
        "⤟": "&larrbfs;",
        "⤝": "&larrfs;",
        "↫": "&looparrowleft;",
        "⤹": "&larrpl;",
        "⥳": "&larrsim;",
        "↢": "&leftarrowtail;",
        "⪫": "&lat;",
        "⤙": "&latail;",
        "⪭": "&late;",
        "⪭︀": "&lates;",
        "⤌": "&lbarr;",
        "❲": "&lbbrk;",
        "{": "&lcub;",
        "[": "&lsqb;",
        "⦋": "&lbrke;",
        "⦏": "&lbrksld;",
        "⦍": "&lbrkslu;",
        "ľ": "&lcaron;",
        "ļ": "&lcedil;",
        "л": "&lcy;",
        "⤶": "&ldca;",
        "⥧": "&ldrdhar;",
        "⥋": "&ldrushar;",
        "↲": "&ldsh;",
        "≤": "&leq;",
        "⇇": "&llarr;",
        "⋋": "&lthree;",
        "⪨": "&lescc;",
        "⩿": "&lesdot;",
        "⪁": "&lesdoto;",
        "⪃": "&lesdotor;",
        "⋚︀": "&lesg;",
        "⪓": "&lesges;",
        "⋖": "&ltdot;",
        "⥼": "&lfisht;",
        "𝔩": "&lfr;",
        "⪑": "&lgE;",
        "⥪": "&lharul;",
        "▄": "&lhblk;",
        "љ": "&ljcy;",
        "⥫": "&llhard;",
        "◺": "&lltri;",
        "ŀ": "&lmidot;",
        "⎰": "&lmoustache;",
        "≨": "&lneqq;",
        "⪉": "&lnapprox;",
        "⪇": "&lneq;",
        "⋦": "&lnsim;",
        "⟬": "&loang;",
        "⇽": "&loarr;",
        "⟼": "&xmap;",
        "↬": "&rarrlp;",
        "⦅": "&lopar;",
        "𝕝": "&lopf;",
        "⨭": "&loplus;",
        "⨴": "&lotimes;",
        "∗": "&lowast;",
        "◊": "&lozenge;",
        "(": "&lpar;",
        "⦓": "&lparlt;",
        "⥭": "&lrhard;",
        "‎": "&lrm;",
        "⊿": "&lrtri;",
        "‹": "&lsaquo;",
        "𝓁": "&lscr;",
        "⪍": "&lsime;",
        "⪏": "&lsimg;",
        "‚": "&sbquo;",
        "ł": "&lstrok;",
        "⪦": "&ltcc;",
        "⩹": "&ltcir;",
        "⋉": "&ltimes;",
        "⥶": "&ltlarr;",
        "⩻": "&ltquest;",
        "⦖": "&ltrPar;",
        "◃": "&triangleleft;",
        "⥊": "&lurdshar;",
        "⥦": "&luruhar;",
        "≨︀": "&lvnE;",
        "∺": "&mDDot;",
        "¯": "&strns;",
        "♂": "&male;",
        "✠": "&maltese;",
        "▮": "&marker;",
        "⨩": "&mcomma;",
        "м": "&mcy;",
        "—": "&mdash;",
        "𝔪": "&mfr;",
        "℧": "&mho;",
        "µ": "&micro;",
        "⫰": "&midcir;",
        "−": "&minus;",
        "⨪": "&minusdu;",
        "⫛": "&mlcp;",
        "⊧": "&models;",
        "𝕞": "&mopf;",
        "𝓂": "&mscr;",
        "μ": "&mu;",
        "⊸": "&mumap;",
        "⋙̸": "&nGg;",
        "≫⃒": "&nGt;",
        "⇍": "&nlArr;",
        "⇎": "&nhArr;",
        "⋘̸": "&nLl;",
        "≪⃒": "&nLt;",
        "⇏": "&nrArr;",
        "⊯": "&nVDash;",
        "⊮": "&nVdash;",
        "ń": "&nacute;",
        "∠⃒": "&nang;",
        "⩰̸": "&napE;",
        "≋̸": "&napid;",
        "ŉ": "&napos;",
        "♮": "&natural;",
        "⩃": "&ncap;",
        "ň": "&ncaron;",
        "ņ": "&ncedil;",
        "⩭̸": "&ncongdot;",
        "⩂": "&ncup;",
        "н": "&ncy;",
        "–": "&ndash;",
        "⇗": "&neArr;",
        "⤤": "&nearhk;",
        "≐̸": "&nedot;",
        "⤨": "&toea;",
        "𝔫": "&nfr;",
        "↮": "&nleftrightarrow;",
        "⫲": "&nhpar;",
        "⋼": "&nis;",
        "⋺": "&nisd;",
        "њ": "&njcy;",
        "≦̸": "&nleqq;",
        "↚": "&nleftarrow;",
        "‥": "&nldr;",
        "𝕟": "&nopf;",
        "¬": "&not;",
        "⋹̸": "&notinE;",
        "⋵̸": "&notindot;",
        "⋷": "&notinvb;",
        "⋶": "&notinvc;",
        "⋾": "&notnivb;",
        "⋽": "&notnivc;",
        "⫽⃥": "&nparsl;",
        "∂̸": "&npart;",
        "⨔": "&npolint;",
        "↛": "&nrightarrow;",
        "⤳̸": "&nrarrc;",
        "↝̸": "&nrarrw;",
        "𝓃": "&nscr;",
        "⊄": "&nsub;",
        "⫅̸": "&nsubseteqq;",
        "⊅": "&nsup;",
        "⫆̸": "&nsupseteqq;",
        "ñ": "&ntilde;",
        "ν": "&nu;",
        "#": "&num;",
        "№": "&numero;",
        " ": "&numsp;",
        "⊭": "&nvDash;",
        "⤄": "&nvHarr;",
        "≍⃒": "&nvap;",
        "⊬": "&nvdash;",
        "≥⃒": "&nvge;",
        ">⃒": "&nvgt;",
        "⧞": "&nvinfin;",
        "⤂": "&nvlArr;",
        "≤⃒": "&nvle;",
        "<⃒": "&nvlt;",
        "⊴⃒": "&nvltrie;",
        "⤃": "&nvrArr;",
        "⊵⃒": "&nvrtrie;",
        "∼⃒": "&nvsim;",
        "⇖": "&nwArr;",
        "⤣": "&nwarhk;",
        "⤧": "&nwnear;",
        "ó": "&oacute;",
        "ô": "&ocirc;",
        "о": "&ocy;",
        "ő": "&odblac;",
        "⨸": "&odiv;",
        "⦼": "&odsold;",
        "œ": "&oelig;",
        "⦿": "&ofcir;",
        "𝔬": "&ofr;",
        "˛": "&ogon;",
        "ò": "&ograve;",
        "⧁": "&ogt;",
        "⦵": "&ohbar;",
        "⦾": "&olcir;",
        "⦻": "&olcross;",
        "⧀": "&olt;",
        "ō": "&omacr;",
        "ω": "&omega;",
        "ο": "&omicron;",
        "⦶": "&omid;",
        "𝕠": "&oopf;",
        "⦷": "&opar;",
        "⦹": "&operp;",
        "∨": "&vee;",
        "⩝": "&ord;",
        "ℴ": "&oscr;",
        "ª": "&ordf;",
        "º": "&ordm;",
        "⊶": "&origof;",
        "⩖": "&oror;",
        "⩗": "&orslope;",
        "⩛": "&orv;",
        "ø": "&oslash;",
        "⊘": "&osol;",
        "õ": "&otilde;",
        "⨶": "&otimesas;",
        "ö": "&ouml;",
        "⌽": "&ovbar;",
        "¶": "&para;",
        "⫳": "&parsim;",
        "⫽": "&parsl;",
        "п": "&pcy;",
        "%": "&percnt;",
        ".": "&period;",
        "‰": "&permil;",
        "‱": "&pertenk;",
        "𝔭": "&pfr;",
        "φ": "&phi;",
        "ϕ": "&varphi;",
        "☎": "&phone;",
        "π": "&pi;",
        "ϖ": "&varpi;",
        "ℎ": "&planckh;",
        "+": "&plus;",
        "⨣": "&plusacir;",
        "⨢": "&pluscir;",
        "⨥": "&plusdu;",
        "⩲": "&pluse;",
        "⨦": "&plussim;",
        "⨧": "&plustwo;",
        "⨕": "&pointint;",
        "𝕡": "&popf;",
        "£": "&pound;",
        "⪳": "&prE;",
        "⪷": "&precapprox;",
        "⪹": "&prnap;",
        "⪵": "&prnE;",
        "⋨": "&prnsim;",
        "′": "&prime;",
        "⌮": "&profalar;",
        "⌒": "&profline;",
        "⌓": "&profsurf;",
        "⊰": "&prurel;",
        "𝓅": "&pscr;",
        "ψ": "&psi;",
        " ": "&puncsp;",
        "𝔮": "&qfr;",
        "𝕢": "&qopf;",
        "⁗": "&qprime;",
        "𝓆": "&qscr;",
        "⨖": "&quatint;",
        "?": "&quest;",
        "⤜": "&rAtail;",
        "⥤": "&rHar;",
        "∽̱": "&race;",
        "ŕ": "&racute;",
        "⦳": "&raemptyv;",
        "⦒": "&rangd;",
        "⦥": "&range;",
        "»": "&raquo;",
        "⥵": "&rarrap;",
        "⤠": "&rarrbfs;",
        "⤳": "&rarrc;",
        "⤞": "&rarrfs;",
        "⥅": "&rarrpl;",
        "⥴": "&rarrsim;",
        "↣": "&rightarrowtail;",
        "↝": "&rightsquigarrow;",
        "⤚": "&ratail;",
        "∶": "&ratio;",
        "❳": "&rbbrk;",
        "}": "&rcub;",
        "]": "&rsqb;",
        "⦌": "&rbrke;",
        "⦎": "&rbrksld;",
        "⦐": "&rbrkslu;",
        "ř": "&rcaron;",
        "ŗ": "&rcedil;",
        "р": "&rcy;",
        "⤷": "&rdca;",
        "⥩": "&rdldhar;",
        "↳": "&rdsh;",
        "▭": "&rect;",
        "⥽": "&rfisht;",
        "𝔯": "&rfr;",
        "⥬": "&rharul;",
        "ρ": "&rho;",
        "ϱ": "&varrho;",
        "⇉": "&rrarr;",
        "⋌": "&rthree;",
        "˚": "&ring;",
        "‏": "&rlm;",
        "⎱": "&rmoustache;",
        "⫮": "&rnmid;",
        "⟭": "&roang;",
        "⇾": "&roarr;",
        "⦆": "&ropar;",
        "𝕣": "&ropf;",
        "⨮": "&roplus;",
        "⨵": "&rotimes;",
        ")": "&rpar;",
        "⦔": "&rpargt;",
        "⨒": "&rppolint;",
        "›": "&rsaquo;",
        "𝓇": "&rscr;",
        "⋊": "&rtimes;",
        "▹": "&triangleright;",
        "⧎": "&rtriltri;",
        "⥨": "&ruluhar;",
        "℞": "&rx;",
        "ś": "&sacute;",
        "⪴": "&scE;",
        "⪸": "&succapprox;",
        "š": "&scaron;",
        "ş": "&scedil;",
        "ŝ": "&scirc;",
        "⪶": "&succneqq;",
        "⪺": "&succnapprox;",
        "⋩": "&succnsim;",
        "⨓": "&scpolint;",
        "с": "&scy;",
        "⋅": "&sdot;",
        "⩦": "&sdote;",
        "⇘": "&seArr;",
        "§": "&sect;",
        ";": "&semi;",
        "⤩": "&tosa;",
        "✶": "&sext;",
        "𝔰": "&sfr;",
        "♯": "&sharp;",
        "щ": "&shchcy;",
        "ш": "&shcy;",
        "­": "&shy;",
        "σ": "&sigma;",
        "ς": "&varsigma;",
        "⩪": "&simdot;",
        "⪞": "&simg;",
        "⪠": "&simgE;",
        "⪝": "&siml;",
        "⪟": "&simlE;",
        "≆": "&simne;",
        "⨤": "&simplus;",
        "⥲": "&simrarr;",
        "⨳": "&smashp;",
        "⧤": "&smeparsl;",
        "⌣": "&ssmile;",
        "⪪": "&smt;",
        "⪬": "&smte;",
        "⪬︀": "&smtes;",
        "ь": "&softcy;",
        "/": "&sol;",
        "⧄": "&solb;",
        "⌿": "&solbar;",
        "𝕤": "&sopf;",
        "♠": "&spadesuit;",
        "⊓︀": "&sqcaps;",
        "⊔︀": "&sqcups;",
        "𝓈": "&sscr;",
        "☆": "&star;",
        "⊂": "&subset;",
        "⫅": "&subseteqq;",
        "⪽": "&subdot;",
        "⫃": "&subedot;",
        "⫁": "&submult;",
        "⫋": "&subsetneqq;",
        "⊊": "&subsetneq;",
        "⪿": "&subplus;",
        "⥹": "&subrarr;",
        "⫇": "&subsim;",
        "⫕": "&subsub;",
        "⫓": "&subsup;",
        "♪": "&sung;",
        "¹": "&sup1;",
        "²": "&sup2;",
        "³": "&sup3;",
        "⫆": "&supseteqq;",
        "⪾": "&supdot;",
        "⫘": "&supdsub;",
        "⫄": "&supedot;",
        "⟉": "&suphsol;",
        "⫗": "&suphsub;",
        "⥻": "&suplarr;",
        "⫂": "&supmult;",
        "⫌": "&supsetneqq;",
        "⊋": "&supsetneq;",
        "⫀": "&supplus;",
        "⫈": "&supsim;",
        "⫔": "&supsub;",
        "⫖": "&supsup;",
        "⇙": "&swArr;",
        "⤪": "&swnwar;",
        "ß": "&szlig;",
        "⌖": "&target;",
        "τ": "&tau;",
        "ť": "&tcaron;",
        "ţ": "&tcedil;",
        "т": "&tcy;",
        "⌕": "&telrec;",
        "𝔱": "&tfr;",
        "θ": "&theta;",
        "ϑ": "&vartheta;",
        "þ": "&thorn;",
        "×": "&times;",
        "⨱": "&timesbar;",
        "⨰": "&timesd;",
        "⌶": "&topbot;",
        "⫱": "&topcir;",
        "𝕥": "&topf;",
        "⫚": "&topfork;",
        "‴": "&tprime;",
        "▵": "&utri;",
        "≜": "&trie;",
        "◬": "&tridot;",
        "⨺": "&triminus;",
        "⨹": "&triplus;",
        "⧍": "&trisb;",
        "⨻": "&tritime;",
        "⏢": "&trpezium;",
        "𝓉": "&tscr;",
        "ц": "&tscy;",
        "ћ": "&tshcy;",
        "ŧ": "&tstrok;",
        "⥣": "&uHar;",
        "ú": "&uacute;",
        "ў": "&ubrcy;",
        "ŭ": "&ubreve;",
        "û": "&ucirc;",
        "у": "&ucy;",
        "ű": "&udblac;",
        "⥾": "&ufisht;",
        "𝔲": "&ufr;",
        "ù": "&ugrave;",
        "▀": "&uhblk;",
        "⌜": "&ulcorner;",
        "⌏": "&ulcrop;",
        "◸": "&ultri;",
        "ū": "&umacr;",
        "ų": "&uogon;",
        "𝕦": "&uopf;",
        "υ": "&upsilon;",
        "⇈": "&uuarr;",
        "⌝": "&urcorner;",
        "⌎": "&urcrop;",
        "ů": "&uring;",
        "◹": "&urtri;",
        "𝓊": "&uscr;",
        "⋰": "&utdot;",
        "ũ": "&utilde;",
        "ü": "&uuml;",
        "⦧": "&uwangle;",
        "⫨": "&vBar;",
        "⫩": "&vBarv;",
        "⦜": "&vangrt;",
        "⊊︀": "&vsubne;",
        "⫋︀": "&vsubnE;",
        "⊋︀": "&vsupne;",
        "⫌︀": "&vsupnE;",
        "в": "&vcy;",
        "⊻": "&veebar;",
        "≚": "&veeeq;",
        "⋮": "&vellip;",
        "𝔳": "&vfr;",
        "𝕧": "&vopf;",
        "𝓋": "&vscr;",
        "⦚": "&vzigzag;",
        "ŵ": "&wcirc;",
        "⩟": "&wedbar;",
        "≙": "&wedgeq;",
        "℘": "&wp;",
        "𝔴": "&wfr;",
        "𝕨": "&wopf;",
        "𝓌": "&wscr;",
        "𝔵": "&xfr;",
        "ξ": "&xi;",
        "⋻": "&xnis;",
        "𝕩": "&xopf;",
        "𝓍": "&xscr;",
        "ý": "&yacute;",
        "я": "&yacy;",
        "ŷ": "&ycirc;",
        "ы": "&ycy;",
        "¥": "&yen;",
        "𝔶": "&yfr;",
        "ї": "&yicy;",
        "𝕪": "&yopf;",
        "𝓎": "&yscr;",
        "ю": "&yucy;",
        "ÿ": "&yuml;",
        "ź": "&zacute;",
        "ž": "&zcaron;",
        "з": "&zcy;",
        "ż": "&zdot;",
        "ζ": "&zeta;",
        "𝔷": "&zfr;",
        "ж": "&zhcy;",
        "⇝": "&zigrarr;",
        "𝕫": "&zopf;",
        "𝓏": "&zscr;",
        "‍": "&zwj;",
        "‌": "&zwnj;"
      }
    }
  };
},766,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  exports.fromCodePoint = String.fromCodePoint || function (astralCodePoint) {
    return String.fromCharCode(Math.floor((astralCodePoint - 65536) / 1024) + 55296, (astralCodePoint - 65536) % 1024 + 56320);
  };

  exports.getCodePoint = String.prototype.codePointAt ? function (input, position) {
    return input.codePointAt(position);
  } : function (input, position) {
    return (input.charCodeAt(position) - 55296) * 1024 + input.charCodeAt(position + 1) - 56320 + 65536;
  };
  exports.highSurrogateFrom = 55296;
  exports.highSurrogateTo = 56319;
},767,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.numericUnicodeMap = {
    0: 65533,
    128: 8364,
    130: 8218,
    131: 402,
    132: 8222,
    133: 8230,
    134: 8224,
    135: 8225,
    136: 710,
    137: 8240,
    138: 352,
    139: 8249,
    140: 338,
    142: 381,
    145: 8216,
    146: 8217,
    147: 8220,
    148: 8221,
    149: 8226,
    150: 8211,
    151: 8212,
    152: 732,
    153: 8482,
    154: 353,
    155: 8250,
    156: 339,
    158: 382,
    159: 376
  };
},768,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.HTTP_DOMAIN_SEPARATOR = exports.HTTPS_DOMAIN_SEPARATOR = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _netinfo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var HTTP_DOMAIN_SEPARATOR = ".";
  exports.HTTP_DOMAIN_SEPARATOR = HTTP_DOMAIN_SEPARATOR;
  var HTTPS_DOMAIN_SEPARATOR = "-";
  exports.HTTPS_DOMAIN_SEPARATOR = HTTPS_DOMAIN_SEPARATOR;

  var Network = function () {
    function Network() {
      (0, _classCallCheck2.default)(this, Network);
    }

    (0, _createClass2.default)(Network, null, [{
      key: "addDefaultProtocol",
      value: function addDefaultProtocol(url) {
        var newUrl = url;
        var result = Network.DEFAULT_PROTOCOLS.find(function (protocol) {
          return url.startsWith(protocol);
        });

        if (!result) {
          var protocol = Network.isHTTPS ? "https" : "http";
          newUrl = protocol + ":";

          if (!url.startsWith("//")) {
            newUrl += "//";
          }

          newUrl += url;
        }

        return newUrl;
      }
    }, {
      key: "addConnectionChangeEventListener",
      value: function addConnectionChangeEventListener(callback) {
        if (callback) {
          Network.removeConnectionChangeEventListener();
          Network.eventListener = _netinfo.default.addEventListener(function (state) {
            Network.connectionInfo = Network.returnConnectionInfo(state);
            callback(Network.connectionInfo);
          });
        }
      }
    }, {
      key: "removeConnectionChangeEventListener",
      value: function removeConnectionChangeEventListener() {
        if (Network.eventListener) {
          Network.eventListener();
        }
      }
    }, {
      key: "returnConnectionInfo",
      value: function returnConnectionInfo(state) {
        var type = state.type,
            details = state.details,
            isInternetReachable = state.isInternetReachable;
        var effectiveType = "unknown";

        if (details && details.cellularGeneration) {
          effectiveType = details.cellularGeneration;
        }

        return {
          type: type,
          effectiveType: effectiveType,
          isInternetReachable: isInternetReachable
        };
      }
    }, {
      key: "getConnectionInfo",
      value: function getConnectionInfo() {
        var state;
        return _regenerator.default.async(function getConnectionInfo$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.prev = 0;
                _context.next = 3;
                return _regenerator.default.awrap(_netinfo.default.fetch());

              case 3:
                state = _context.sent;
                Network.connectionInfo = Network.returnConnectionInfo(state);
                return _context.abrupt("return", Network.connectionInfo);

              case 8:
                _context.prev = 8;
                _context.t0 = _context["catch"](0);

              case 10:
                return _context.abrupt("return", {
                  type: "unknown",
                  effectiveType: "unknown",
                  isInternetReachable: null
                });

              case 11:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[0, 8]], Promise);
      }
    }, {
      key: "isOnline",
      value: function isOnline() {
        if (Network.connectionInfo) {
          var _Network$connectionIn = Network.connectionInfo,
              type = _Network$connectionIn.type,
              isInternetReachable = _Network$connectionIn.isInternetReachable;
          return type !== "none" && type !== "unknown" && isInternetReachable !== false;
        }

        return false;
      }
    }, {
      key: "isInternetReachable",
      value: function isInternetReachable() {
        if (Network.connectionInfo) {
          return Network.connectionInfo.isInternetReachable !== false;
        }

        return false;
      }
    }, {
      key: "isWiFi",
      value: function isWiFi() {
        if (Network.connectionInfo) {
          return Network.connectionInfo.type === "wifi";
        }

        return false;
      }
    }, {
      key: "isCellular",
      value: function isCellular() {
        if (Network.connectionInfo) {
          return Network.connectionInfo.type === "cellular";
        }

        return false;
      }
    }, {
      key: "isHighSpeedNetwork",
      value: function isHighSpeedNetwork() {
        return Network.isWiFi() || Network.is4G();
      }
    }, {
      key: "is2G",
      value: function is2G() {
        return Network.isCellularOnBand("2g");
      }
    }, {
      key: "is3G",
      value: function is3G() {
        return Network.isCellularOnBand("3g");
      }
    }, {
      key: "is4G",
      value: function is4G() {
        return Network.isCellularOnBand("4g");
      }
    }, {
      key: "isCellularOnBand",
      value: function isCellularOnBand(band) {
        if (Network.connectionInfo) {
          return Network.connectionInfo.type === "cellular" && Network.connectionInfo.effectiveType === band;
        }

        return false;
      }
    }, {
      key: "getIP",
      value: function getIP() {
        return Network.IP;
      }
    }, {
      key: "setIP",
      value: function setIP(ip) {
        Network.IP = ip;
      }
    }, {
      key: "isTecnaviaIP",
      value: function isTecnaviaIP() {
        return Network.IP.startsWith("82.220.");
      }
    }]);
    return Network;
  }();

  Network.DEFAULT_PROTOCOLS = ["http", "https"];
  Network.isHTTPS = true;
  Network.connectionInfo = {
    type: "unknown",
    effectiveType: "unknown"
  };
  Network.IP = "n/a";
  var _default = Network;
  exports.default = _default;
},769,[5,80,7,8,552]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _errorView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _log = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  var styles = _reactNative.StyleSheet.create({
    container: {
      alignItems: "flex-end",
      padding: 10
    },
    content: {
      maxWidth: 500
    }
  });

  function Errors(props) {
    var style = props.style;

    var _useState = (0, _react.useState)([]),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        errors = _useState2[0],
        setErrors = _useState2[1];

    (0, _react.useEffect)(function () {
      var onError = _$$_REQUIRE(_dependencyMap[9]).EventRegister.on(_events.default.ON_ERROR, function (_ref) {
        var error = _ref.error;

        _log.default.debug("add " + error + " to errors view");

        setErrors([].concat((0, _toConsumableArray2.default)(errors), [error]));
      });

      return function () {
        if (onError) {
          _$$_REQUIRE(_dependencyMap[9]).EventRegister.rm(onError);
        }
      };
    }, [errors]);
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Css, {
      classes: ["opt-errors-container"]
    }, _react.default.createElement(_reactNative.View, {
      style: [styles.container, style]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Css, {
      classes: ["opt-errors-list"]
    }, _react.default.createElement(_reactNative.View, {
      style: [styles.content]
    }, errors.map(function (error, index) {
      return _react.default.createElement(_errorView.default, {
        key: "error_" + (0, _$$_REQUIRE(_dependencyMap[11]).toMD5)(error.text),
        error: error,
        onRemove: function onRemove() {
          setErrors(function (prevErrors) {
            var deletedErrors = prevErrors.splice(index, 1);

            _log.default.debug("remove " + deletedErrors + " from errros");

            return (0, _toConsumableArray2.default)(prevErrors);
          });
        }
      });
    })))));
  }

  Errors.propTypes = {
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array])
  };
  var _default = Errors;
  exports.default = _default;
},770,[5,21,41,17,201,28,771,772,759,991,987,762]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var Events = (0, _createClass2.default)(function Events() {
    (0, _classCallCheck2.default)(this, Events);
  });
  Events.JS_INJECTION = "js_injection";
  Events.ON_CLOSE = "on_close";
  Events.ON_ERROR = "on_error";
  Events.IFRAME_JS_INJECTION = "iframe_js_injection";
  Events.WEBVIEW_ON_MESSAGE = "webview_on_message";
  Events.WEBVIEW_ON_LOCAL = "webview_on_local";
  Events.ON_EXTERNAL_LINK_CLICK = "on_external_link_click";
  Events.ON_ACTION_CLICK = "on_action_click";
  var _default = Events;
  exports.default = _default;
},771,[5,8,7]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _taImageIcon = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[4]));

  var _errorIcon = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[5]));

  var _taText = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[6]));

  var _icCloseCircleOutline = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  var styles = _reactNative.StyleSheet.create({
    container: {
      width: "100%",
      flexDirection: "row",
      alignItems: "center",
      margin: 5,
      borderRadius: 5,
      padding: 10,
      backgroundColor: _$$_REQUIRE(_dependencyMap[8]).colors.grey900
    },
    separator: {
      height: 20,
      width: 1,
      margin: 5,
      backgroundColor: _$$_REQUIRE(_dependencyMap[8]).colors.grey300
    },
    text: {
      flex: 1,
      padding: 10,
      color: _$$_REQUIRE(_dependencyMap[8]).colors.white
    },
    touchable: {
      justifyContent: "center"
    }
  });

  function Error(props) {
    var error = props.error,
        onRemove = props.onRemove;
    var animated = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
    (0, _react.useEffect)(function () {
      _reactNative.Animated.timing(animated, {
        toValue: 1,
        duration: _$$_REQUIRE(_dependencyMap[9]).ANIMATION_DURATION,
        useNativeDriver: false
      }).start();
    }, []);

    var onPress = function onPress() {
      if (typeof onRemove === "function") {
        _reactNative.Animated.timing(animated, {
          toValue: 0,
          duration: _$$_REQUIRE(_dependencyMap[9]).ANIMATION_DURATION,
          useNativeDriver: false
        }).start(function (_ref) {
          var finished = _ref.finished;

          if (finished) {
            onRemove();
          }
        });
      }
    };

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Css, {
      classes: ["opt-error-container"]
    }, _react.default.createElement(_reactNative.Animated.View, {
      style: [styles.container, {
        opacity: animated,
        transform: [{
          scale: animated
        }]
      }, _$$_REQUIRE(_dependencyMap[9]).commonStyles.shadow]
    }, _react.default.createElement(_errorIcon.default, {
      type: error.type
    }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Css, {
      classes: ["opt-error-text"]
    }, _react.default.createElement(_taText.default, {
      style: styles.text
    }, error.text)), _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Css, {
      classes: ["opt-error-close-container"]
    }, _react.default.createElement(_reactNative.TouchableOpacity, {
      style: styles.touchable,
      onPress: onPress
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Css, {
      classes: ["opt-error-close"]
    }, _react.default.createElement(_taImageIcon.default, {
      style: styles.icon,
      DefaultComponent: _react.default.createElement(_icCloseCircleOutline.default, {
        fill: _$$_REQUIRE(_dependencyMap[8]).colors.grey400,
        width: 25,
        height: 25
      })
    }))))));
  }

  Error.propTypes = {
    error: _propTypes.default.shape({
      text: _propTypes.default.string,
      type: _propTypes.default.number
    }).isRequired,
    onRemove: _propTypes.default.func.isRequired
  };
  var _default = Error;
  exports.default = _default;
},772,[17,5,201,28,773,983,988,989,982,990,987]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.TaAnimatedImageIcon = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _fsImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _cssStyles = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _excluded = ["style", "imageStyle", "source", "tintColor"],
      _excluded2 = ["Component", "DefaultComponent"];

  function _createSuper(Derived) {
    var hasNativeReflectConstruct = _isNativeReflectConstruct();

    return function _createSuperInternal() {
      var Super = (0, _getPrototypeOf2.default)(Derived),
          result;

      if (hasNativeReflectConstruct) {
        var NewTarget = (0, _getPrototypeOf2.default)(this).constructor;
        result = Reflect.construct(Super, arguments, NewTarget);
      } else {
        result = Super.apply(this, arguments);
      }

      return (0, _possibleConstructorReturn2.default)(this, result);
    };
  }

  function _isNativeReflectConstruct() {
    if (typeof Reflect === "undefined" || !Reflect.construct) return false;
    if (Reflect.construct.sham) return false;
    if (typeof Proxy === "function") return true;

    try {
      Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
      return true;
    } catch (e) {
      return false;
    }
  }

  function mapPropsOnComponent(props) {
    var style = props.style,
        imageStyle = props.imageStyle,
        source = props.source,
        tintColor = props.tintColor,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);

    var paths = _cssStyles.default.getAttributeFromStyle("paths", style, []);

    var src = _cssStyles.default.getAttributeFromStyle("src", style, "");

    var newProps = (0, _extends2.default)({
      Component: null
    }, rest);
    var useSvg = paths && paths.length;
    var srcStyleIsValid = src && src.length;
    var srcPropIsValid = typeof source === "number" || source && source.uri || false;

    if (useSvg) {
      newProps.Component = _$$_REQUIRE(_dependencyMap[13]).Svg;
      newProps.style = style;
    } else if (srcPropIsValid || srcStyleIsValid) {
      newProps.Component = (0, _$$_REQUIRE(_dependencyMap[14]).isIOS)() ? _fsImage.default : _reactNative.Image;
      newProps.style = _cssStyles.default.deleteKeysFromStyle([imageStyle, style], ["color"]);
      newProps.source = source || src;
      newProps.tintColor = tintColor;
    }

    return newProps;
  }

  var TaImageIcon = function (_React$Component) {
    (0, _inherits2.default)(TaImageIcon, _React$Component);

    var _super = _createSuper(TaImageIcon);

    function TaImageIcon() {
      (0, _classCallCheck2.default)(this, TaImageIcon);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(TaImageIcon, [{
      key: "render",
      value: function render() {
        var _mapPropsOnComponent = mapPropsOnComponent(this.props),
            Component = _mapPropsOnComponent.Component,
            DefaultComponent = _mapPropsOnComponent.DefaultComponent,
            rest = (0, _objectWithoutProperties2.default)(_mapPropsOnComponent, _excluded2);

        if (Component) {
          return _react.default.createElement(Component, rest);
        }

        return DefaultComponent;
      }
    }]);
    return TaImageIcon;
  }(_react.default.Component);

  TaImageIcon.propTypes = (0, _extends2.default)({
    style: _propTypes.default.any,
    imageStyle: _propTypes.default.any,
    iconStyle: _propTypes.default.any,
    size: _propTypes.default.number,
    tintColor: _propTypes.default.string,
    DefaultComponent: _propTypes.default.node
  }, _reactNative.ImageProps);
  TaImageIcon.defaultProps = {
    DefaultComponent: null
  };

  var TaAnimatedImageIcon = _reactNative.Animated.createAnimatedComponent(TaImageIcon);

  exports.TaAnimatedImageIcon = TaAnimatedImageIcon;
  var _default = TaImageIcon;
  exports.default = _default;
},773,[5,7,8,12,14,16,6,108,17,28,201,774,775,776,760]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNativeFastImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _excluded = ["source", "error", "onError"];

  function FSImage(props) {
    var source = props.source,
        error = props.error,
        _onError = props.onError,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);

    if (error) {
      return null;
    }

    if (source && source.cache === "reload") {
      source.cache = "web";
    }

    return _react.default.createElement(_reactNativeFastImage.default, (0, _extends2.default)({
      onError: function onError(_ref) {
        var nativeEvent = _ref.nativeEvent;

        if (typeof _onError === "function") {
          _onError();
        }
      },
      source: source
    }, rest));
  }

  var _default = FSImage;
  exports.default = _default;
},774,[5,6,108,17,591]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var CssStyle = function () {
    function CssStyle() {
      (0, _classCallCheck2.default)(this, CssStyle);
    }

    (0, _createClass2.default)(CssStyle, null, [{
      key: "getAttributeFromStyle",
      value: function getAttributeFromStyle(key) {
        var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
        var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
        var remove = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;

        if (key) {
          if (Array.isArray(style)) {
            for (var i = 0; i < style.length; i++) {
              var attribute = CssStyle.getAttributeFromStyle(key, style[i], undefined, remove);

              if (attribute !== undefined) {
                return attribute;
              }
            }
          }

          if (typeof style === "object") {
            if (style[key] !== undefined) {
              var value = style[key];

              if (remove) {
                delete style[key];
              }

              return value;
            }
          }
        }

        return defaultValue;
      }
    }, {
      key: "getFilterAttributeStyle",
      value: function getFilterAttributeStyle() {
        var style = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
        return CssStyle.getAttributeFromStyle("filter", style, defaultValue);
      }
    }, {
      key: "getTintColorAttributeStyle",
      value: function getTintColorAttributeStyle() {
        var style = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
        return CssStyle.getAttributeFromStyle("tintColor", style, defaultValue);
      }
    }, {
      key: "deleteKeysFromStyle",
      value: function deleteKeysFromStyle(style) {
        var keys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];

        if (style === null || style === undefined) {
          return style;
        }

        if (Array.isArray(style)) {
          return style.map(function (item) {
            return CssStyle.deleteKeysFromStyle(item, keys);
          });
        }

        if (typeof style === "object") {
          var newStyle = {};
          Object.keys(style).forEach(function (attribute) {
            if (!keys.includes(attribute)) {
              newStyle[attribute] = style[attribute];
            }
          });
          return newStyle;
        }

        return style;
      }
    }, {
      key: "parseFilterValue",
      value: function parseFilterValue(filter, filterType) {
        var regex = new RegExp(filterType + "\\(([0-9]{1,3})%\\)");

        if (filter) {
          var result = regex.exec(filter);

          if (result && result[1]) {
            return parseInt(result[1], 10);
          }
        }

        return undefined;
      }
    }, {
      key: "getConstraintInsideStyle",
      value: function getConstraintInsideStyle(style, constraint, dpiDivider) {
        var constraints = {
          start: 0,
          end: 0,
          top: 0,
          bottom: 0
        };
        Object.keys(style).forEach(function (key) {
          if (key.startsWith(constraint)) {
            if (key.includes("Left") || key.includes("Start")) {
              constraints.start = style[key];
            } else if (key.includes("Right") || key.includes("End")) {
              constraints.end = style[key];
            } else if (key.includes("Top")) {
              constraints.top = style[key];
            } else if (key.includes("Bottom")) {
              constraints.bottom = style[key];
            } else if (key.includes("Horizontal")) {
              constraints.start = style[key] / 2;
              constraints.end = style[key] / 2;
            } else if (key.includes("Vertical")) {
              constraints.top = style[key] / 2;
              constraints.bottom = style[key] / 2;
            } else if (key === constraint || key === constraint + "Width") {
              constraints.start = style[key];
              constraints.end = style[key];
              constraints.top = style[key];
              constraints.bottom = style[key];
            }
          }
        });
        return {
          start: constraints.start / dpiDivider,
          end: constraints.end / dpiDivider,
          top: constraints.top / dpiDivider,
          bottom: constraints.bottom / dpiDivider
        };
      }
    }, {
      key: "updateSizeByApplingStyle",
      value: function updateSizeByApplingStyle(size, style) {
        if (!size || !style) {
          return size;
        }

        var margin = CssStyle.getConstraintInsideStyle(style, "margin", 1);
        var padding = CssStyle.getConstraintInsideStyle(style, "padding", 1);
        var border = CssStyle.getConstraintInsideStyle(style, "border", 1);
        var horizontalConstraint = margin.start + margin.end + padding.start + padding.end + border.start + border.end;
        var verticalConstraint = margin.top + margin.bottom + padding.top + padding.bottom + border.top + border.bottom;
        return {
          width: Math.max(0, size.width - horizontalConstraint),
          height: Math.max(0, size.height - verticalConstraint)
        };
      }
    }, {
      key: "grayscaleValue",
      value: function grayscaleValue(style) {
        var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;
        var value = CssStyle.parseFilterValue(CssStyle.getFilterAttributeStyle(style), "grayscale");

        if (value !== undefined) {
          return value;
        }

        return defaultValue;
      }
    }, {
      key: "styleToWebInnerStyle",
      value: function styleToWebInnerStyle() {
        var style = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        return Object.keys(style).reduce(function (result, key) {
          return result + " " + key + ":" + style[key] + ";";
        }, "");
      }
    }]);
    return CssStyle;
  }();

  var _default = CssStyle;
  exports.default = _default;
},775,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Path = TaPath;
  exports.Svg = TaSvg;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _reactNativeSvg = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _excluded = ["style", "children"],
      _excluded2 = ["paths", "width", "height", "size", "fill", "color"];

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  function TaSvg(props) {
    var _ref, _ref2;

    var style = props.style,
        children = props.children,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);

    var _StyleSheet$flatten = _reactNative.StyleSheet.flatten(style || {}),
        _StyleSheet$flatten$p = _StyleSheet$flatten.paths,
        paths = _StyleSheet$flatten$p === undefined ? [] : _StyleSheet$flatten$p,
        width = _StyleSheet$flatten.width,
        height = _StyleSheet$flatten.height,
        size = _StyleSheet$flatten.size,
        fill = _StyleSheet$flatten.fill,
        color = _StyleSheet$flatten.color,
        otherStyle = (0, _objectWithoutProperties2.default)(_StyleSheet$flatten, _excluded2);

    return _react.default.createElement(_reactNativeSvg.default, (0, _extends2.default)({
      xmlns: "http://www.w3.org/2000/svg",
      viewBox: "0 0 24 24",
      fill: fill || color || _$$_REQUIRE(_dependencyMap[6]).icCommonProps.svg.fill,
      width: (_ref = width != null ? width : size) != null ? _ref : _$$_REQUIRE(_dependencyMap[6]).icCommonProps.svg.width,
      height: (_ref2 = height != null ? height : size) != null ? _ref2 : _$$_REQUIRE(_dependencyMap[6]).icCommonProps.svg.height,
      style: otherStyle
    }, rest), paths.length ? paths.map(function (path, index) {
      return _react.default.createElement(_reactNativeSvg.Path, (0, _extends2.default)({
        key: "path_" + index
      }, path));
    }) : children);
  }

  function TaPath(props) {
    return _react.default.createElement(_reactNativeSvg.Path, props);
  }
},776,[5,6,108,17,28,777,981]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  var _exportNames = {};
  Object.defineProperty(exports, "default", {
    enumerable: true,
    get: function get() {
      return _ReactNativeSVG.default;
    }
  });

  var _ReactNativeSVG = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  Object.keys(_ReactNativeSVG).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
    if (key in exports && exports[key] === _ReactNativeSVG[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _ReactNativeSVG[key];
      }
    });
  });

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }
},777,[778]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "Shape", {
    enumerable: true,
    get: function get() {
      return _Shape.default;
    }
  });
  Object.defineProperty(exports, "Rect", {
    enumerable: true,
    get: function get() {
      return _Rect.default;
    }
  });
  Object.defineProperty(exports, "Circle", {
    enumerable: true,
    get: function get() {
      return _Circle.default;
    }
  });
  Object.defineProperty(exports, "Ellipse", {
    enumerable: true,
    get: function get() {
      return _Ellipse.default;
    }
  });
  Object.defineProperty(exports, "Polygon", {
    enumerable: true,
    get: function get() {
      return _Polygon.default;
    }
  });
  Object.defineProperty(exports, "Polyline", {
    enumerable: true,
    get: function get() {
      return _Polyline.default;
    }
  });
  Object.defineProperty(exports, "Line", {
    enumerable: true,
    get: function get() {
      return _Line.default;
    }
  });
  Object.defineProperty(exports, "Svg", {
    enumerable: true,
    get: function get() {
      return _Svg.default;
    }
  });
  Object.defineProperty(exports, "Path", {
    enumerable: true,
    get: function get() {
      return _Path.default;
    }
  });
  Object.defineProperty(exports, "G", {
    enumerable: true,
    get: function get() {
      return _G.default;
    }
  });
  Object.defineProperty(exports, "Text", {
    enumerable: true,
    get: function get() {
      return _Text.default;
    }
  });
  Object.defineProperty(exports, "TSpan", {
    enumerable: true,
    get: function get() {
      return _TSpan.default;
    }
  });
  Object.defineProperty(exports, "TextPath", {
    enumerable: true,
    get: function get() {
      return _TextPath.default;
    }
  });
  Object.defineProperty(exports, "Use", {
    enumerable: true,
    get: function get() {
      return _Use.default;
    }
  });
  Object.defineProperty(exports, "Image", {
    enumerable: true,
    get: function get() {
      return _Image.default;
    }
  });
  Object.defineProperty(exports, "Symbol", {
    enumerable: true,
    get: function get() {
      return _Symbol.default;
    }
  });
  Object.defineProperty(exports, "Defs", {
    enumerable: true,
    get: function get() {
      return _Defs.default;
    }
  });
  Object.defineProperty(exports, "LinearGradient", {
    enumerable: true,
    get: function get() {
      return _LinearGradient.default;
    }
  });
  Object.defineProperty(exports, "RadialGradient", {
    enumerable: true,
    get: function get() {
      return _RadialGradient.default;
    }
  });
  Object.defineProperty(exports, "Stop", {
    enumerable: true,
    get: function get() {
      return _Stop.default;
    }
  });
  Object.defineProperty(exports, "ClipPath", {
    enumerable: true,
    get: function get() {
      return _ClipPath.default;
    }
  });
  Object.defineProperty(exports, "Pattern", {
    enumerable: true,
    get: function get() {
      return _Pattern.default;
    }
  });
  Object.defineProperty(exports, "Mask", {
    enumerable: true,
    get: function get() {
      return _Mask.default;
    }
  });
  Object.defineProperty(exports, "Marker", {
    enumerable: true,
    get: function get() {
      return _Marker.default;
    }
  });
  Object.defineProperty(exports, "ForeignObject", {
    enumerable: true,
    get: function get() {
      return _ForeignObject.default;
    }
  });
  Object.defineProperty(exports, "parse", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).parse;
    }
  });
  Object.defineProperty(exports, "SvgAst", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).SvgAst;
    }
  });
  Object.defineProperty(exports, "SvgFromUri", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).SvgFromUri;
    }
  });
  Object.defineProperty(exports, "SvgFromXml", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).SvgFromXml;
    }
  });
  Object.defineProperty(exports, "SvgUri", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).SvgUri;
    }
  });
  Object.defineProperty(exports, "SvgXml", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).SvgXml;
    }
  });
  Object.defineProperty(exports, "SvgCss", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[1]).SvgCss;
    }
  });
  Object.defineProperty(exports, "SvgCssUri", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[1]).SvgCssUri;
    }
  });
  Object.defineProperty(exports, "SvgWithCss", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[1]).SvgWithCss;
    }
  });
  Object.defineProperty(exports, "SvgWithCssUri", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[1]).SvgWithCssUri;
    }
  });
  Object.defineProperty(exports, "inlineStyles", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[1]).inlineStyles;
    }
  });
  Object.defineProperty(exports, "LocalSvg", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[2]).LocalSvg;
    }
  });
  Object.defineProperty(exports, "WithLocalSvg", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[2]).WithLocalSvg;
    }
  });
  Object.defineProperty(exports, "loadLocalRawResource", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[2]).loadLocalRawResource;
    }
  });
  Object.defineProperty(exports, "RNSVGCircle", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).RNSVGCircle;
    }
  });
  Object.defineProperty(exports, "RNSVGClipPath", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).RNSVGClipPath;
    }
  });
  Object.defineProperty(exports, "RNSVGDefs", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).RNSVGDefs;
    }
  });
  Object.defineProperty(exports, "RNSVGEllipse", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).RNSVGEllipse;
    }
  });
  Object.defineProperty(exports, "RNSVGForeignObject", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).RNSVGForeignObject;
    }
  });
  Object.defineProperty(exports, "RNSVGGroup", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).RNSVGGroup;
    }
  });
  Object.defineProperty(exports, "RNSVGImage", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).RNSVGImage;
    }
  });
  Object.defineProperty(exports, "RNSVGLine", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).RNSVGLine;
    }
  });
  Object.defineProperty(exports, "RNSVGLinearGradient", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).RNSVGLinearGradient;
    }
  });
  Object.defineProperty(exports, "RNSVGMarker", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).RNSVGMarker;
    }
  });
  Object.defineProperty(exports, "RNSVGMask", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).RNSVGMask;
    }
  });
  Object.defineProperty(exports, "RNSVGPath", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).RNSVGPath;
    }
  });
  Object.defineProperty(exports, "RNSVGPattern", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).RNSVGPattern;
    }
  });
  Object.defineProperty(exports, "RNSVGRadialGradient", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).RNSVGRadialGradient;
    }
  });
  Object.defineProperty(exports, "RNSVGRect", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).RNSVGRect;
    }
  });
  Object.defineProperty(exports, "RNSVGSvg", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).RNSVGSvg;
    }
  });
  Object.defineProperty(exports, "RNSVGSymbol", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).RNSVGSymbol;
    }
  });
  Object.defineProperty(exports, "RNSVGText", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).RNSVGText;
    }
  });
  Object.defineProperty(exports, "RNSVGTextPath", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).RNSVGTextPath;
    }
  });
  Object.defineProperty(exports, "RNSVGTSpan", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).RNSVGTSpan;
    }
  });
  Object.defineProperty(exports, "RNSVGUse", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[3]).RNSVGUse;
    }
  });
  exports.default = undefined;

  var _Shape = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[5]));

  var _Rect = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[6]));

  var _Circle = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[7]));

  var _Ellipse = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[8]));

  var _Polygon = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[9]));

  var _Polyline = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[10]));

  var _Line = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[11]));

  var _Svg = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[12]));

  var _Path = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[13]));

  var _G = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[14]));

  var _Text = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[15]));

  var _TSpan = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[16]));

  var _TextPath = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[17]));

  var _Use = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[18]));

  var _Image = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[19]));

  var _Symbol = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[20]));

  var _Defs = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[21]));

  var _LinearGradient = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[22]));

  var _RadialGradient = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[23]));

  var _Stop = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[24]));

  var _ClipPath = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[25]));

  var _Pattern = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[26]));

  var _Mask = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[27]));

  var _Marker = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[28]));

  var _ForeignObject = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[29]));

  var _default = _Svg.default;
  exports.default = _default;
},778,[779,823,979,783,5,781,780,796,797,798,801,802,803,799,805,807,808,809,810,811,812,813,814,817,818,819,820,821,822,980]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.SvgAst = SvgAst;
  exports.SvgXml = SvgXml;
  exports.fetchText = fetchText;
  exports.SvgUri = SvgUri;
  exports.getStyle = getStyle;
  exports.astToReact = astToReact;
  exports.parse = _parse;
  exports.camelCase = exports.SvgFromUri = exports.SvgFromXml = exports.err = exports.tags = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _Rect = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _Circle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _Ellipse = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _Polygon = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _Polyline = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _Line = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _Svg = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _Path = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _G = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _Text = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _TSpan = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _TextPath = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _Use = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _Image = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[23]));

  var _Symbol = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[24]));

  var _Defs = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[25]));

  var _LinearGradient = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[26]));

  var _RadialGradient = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[27]));

  var _Stop = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[28]));

  var _ClipPath = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[29]));

  var _Pattern = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[30]));

  var _Mask = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[31]));

  var _Marker = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[32]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var tags = {
    svg: _Svg.default,
    circle: _Circle.default,
    ellipse: _Ellipse.default,
    g: _G.default,
    text: _Text.default,
    tspan: _TSpan.default,
    textPath: _TextPath.default,
    path: _Path.default,
    polygon: _Polygon.default,
    polyline: _Polyline.default,
    line: _Line.default,
    rect: _Rect.default,
    use: _Use.default,
    image: _Image.default,
    symbol: _Symbol.default,
    defs: _Defs.default,
    linearGradient: _LinearGradient.default,
    radialGradient: _RadialGradient.default,
    stop: _Stop.default,
    clipPath: _ClipPath.default,
    pattern: _Pattern.default,
    mask: _Mask.default,
    marker: _Marker.default
  };
  exports.tags = tags;

  function missingTag() {
    return null;
  }

  function SvgAst(_ref) {
    var ast = _ref.ast,
        override = _ref.override;

    if (!ast) {
      return null;
    }

    var props = ast.props,
        children = ast.children;
    return _react.default.createElement(_Svg.default, (0, _extends2.default)({}, props, override), children);
  }

  var err = console.error.bind(console);
  exports.err = err;

  function SvgXml(props) {
    var _props$onError = props.onError,
        onError = _props$onError === undefined ? err : _props$onError,
        xml = props.xml,
        override = props.override;
    var ast = (0, _react.useMemo)(function () {
      return xml !== null ? _parse(xml) : null;
    }, [xml]);

    try {
      return _react.default.createElement(SvgAst, {
        ast: ast,
        override: override || props
      });
    } catch (error) {
      onError(error);
      return null;
    }
  }

  function fetchText(uri) {
    var response;
    return _regenerator.default.async(function fetchText$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            _context.next = 2;
            return _regenerator.default.awrap(fetch(uri));

          case 2:
            response = _context.sent;
            _context.next = 5;
            return _regenerator.default.awrap(response.text());

          case 5:
            return _context.abrupt("return", _context.sent);

          case 6:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function SvgUri(props) {
    var _props$onError2 = props.onError,
        onError = _props$onError2 === undefined ? err : _props$onError2,
        uri = props.uri;

    var _useState = (0, _react.useState)(null),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        xml = _useState2[0],
        setXml = _useState2[1];

    (0, _react.useEffect)(function () {
      uri ? fetchText(uri).then(setXml).catch(onError) : setXml(null);
    }, [onError, uri]);
    return _react.default.createElement(SvgXml, {
      xml: xml,
      override: props
    });
  }

  var SvgFromXml = function (_Component) {
    (0, _inherits2.default)(SvgFromXml, _Component);

    var _super = _createSuper(SvgFromXml);

    function SvgFromXml() {
      var _this;

      (0, _classCallCheck2.default)(this, SvgFromXml);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.state = {
        ast: null
      };
      return _this;
    }

    (0, _createClass2.default)(SvgFromXml, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this.parse(this.props.xml);
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps) {
        var xml = this.props.xml;

        if (xml !== prevProps.xml) {
          this.parse(xml);
        }
      }
    }, {
      key: "parse",
      value: function parse(xml) {
        try {
          this.setState({
            ast: xml ? _parse(xml) : null
          });
        } catch (e) {
          console.error(e);
        }
      }
    }, {
      key: "render",
      value: function render() {
        var props = this.props,
            ast = this.state.ast;
        return _react.default.createElement(SvgAst, {
          ast: ast,
          override: props.override || props
        });
      }
    }]);
    return SvgFromXml;
  }(_react.Component);

  exports.SvgFromXml = SvgFromXml;

  var SvgFromUri = function (_Component2) {
    (0, _inherits2.default)(SvgFromUri, _Component2);

    var _super2 = _createSuper(SvgFromUri);

    function SvgFromUri() {
      var _this2;

      (0, _classCallCheck2.default)(this, SvgFromUri);

      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
        args[_key2] = arguments[_key2];
      }

      _this2 = _super2.call.apply(_super2, [this].concat(args));
      _this2.state = {
        xml: null
      };
      return _this2;
    }

    (0, _createClass2.default)(SvgFromUri, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this.fetch(this.props.uri);
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps) {
        var uri = this.props.uri;

        if (uri !== prevProps.uri) {
          this.fetch(uri);
        }
      }
    }, {
      key: "fetch",
      value: function fetch(uri) {
        return _regenerator.default.async(function fetch$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.prev = 0;
                _context2.t0 = this;

                if (!uri) {
                  _context2.next = 8;
                  break;
                }

                _context2.next = 5;
                return _regenerator.default.awrap(fetchText(uri));

              case 5:
                _context2.t1 = _context2.sent;
                _context2.next = 9;
                break;

              case 8:
                _context2.t1 = null;

              case 9:
                _context2.t2 = _context2.t1;
                _context2.t3 = {
                  xml: _context2.t2
                };

                _context2.t0.setState.call(_context2.t0, _context2.t3);

                _context2.next = 17;
                break;

              case 14:
                _context2.prev = 14;
                _context2.t4 = _context2["catch"](0);
                console.error(_context2.t4);

              case 17:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, [[0, 14]], Promise);
      }
    }, {
      key: "render",
      value: function render() {
        var props = this.props,
            xml = this.state.xml;
        return _react.default.createElement(SvgFromXml, {
          xml: xml,
          override: props
        });
      }
    }]);
    return SvgFromUri;
  }(_react.Component);

  exports.SvgFromUri = SvgFromUri;

  var upperCase = function upperCase(_match, letter) {
    return letter.toUpperCase();
  };

  var camelCase = function camelCase(phrase) {
    return phrase.replace(/[:-]([a-z])/g, upperCase);
  };

  exports.camelCase = camelCase;

  function getStyle(string) {
    var style = {};
    var declarations = string.split(';');
    var length = declarations.length;

    for (var i = 0; i < length; i++) {
      var declaration = declarations[i];

      if (declaration.length !== 0) {
        var split = declaration.split(':');
        var _property = split[0];
        var value = split[1];
        style[camelCase(_property.trim())] = value.trim();
      }
    }

    return style;
  }

  function astToReact(value, index) {
    if (typeof value === 'object') {
      var Tag = value.Tag,
          props = value.props,
          children = value.children;
      return _react.default.createElement(Tag, (0, _extends2.default)({
        key: index
      }, props), children.map(astToReact));
    }

    return value;
  }

  function repeat(str, i) {
    var result = '';

    while (i--) {
      result += str;
    }

    return result;
  }

  var toSpaces = function toSpaces(tabs) {
    return repeat('  ', tabs.length);
  };

  function locate(source, i) {
    var lines = source.split('\n');
    var nLines = lines.length;
    var column = i;
    var line = 0;

    for (; line < nLines; line++) {
      var length = lines[line].length;

      if (column >= length) {
        column -= length;
      } else {
        break;
      }
    }

    var before = source.slice(0, i).replace(/^\t+/, toSpaces);
    var beforeExec = /(^|\n).*$/.exec(before);
    var beforeLine = beforeExec && beforeExec[0] || '';
    var after = source.slice(i);
    var afterExec = /.*(\n|$)/.exec(after);
    var afterLine = afterExec && afterExec[0];
    var pad = repeat(' ', beforeLine.length);
    var snippet = "" + beforeLine + afterLine + "\n" + pad + "^";
    return {
      line: line,
      column: column,
      snippet: snippet
    };
  }

  var validNameCharacters = /[a-zA-Z0-9:_-]/;
  var whitespace = /[\s\t\r\n]/;
  var quotemarks = /['"]/;

  function _parse(source, middleware) {
    var length = source.length;
    var currentElement = null;
    var state = metadata;
    var children = null;
    var root;
    var stack = [];

    function error(message) {
      var _locate = locate(source, i),
          line = _locate.line,
          column = _locate.column,
          snippet = _locate.snippet;

      throw new Error(message + " (" + line + ":" + column + "). If this is valid SVG, it's probably a bug. Please raise an issue\n\n" + snippet);
    }

    function metadata() {
      while (i + 1 < length && (source[i] !== '<' || !validNameCharacters.test(source[i + 1]))) {
        i++;
      }

      return neutral();
    }

    function neutral() {
      var text = '';
      var char;

      while (i < length && (char = source[i]) !== '<') {
        text += char;
        i += 1;
      }

      if (/\S/.test(text)) {
        children.push(text);
      }

      if (source[i] === '<') {
        return openingTag;
      }

      return neutral;
    }

    function openingTag() {
      var char = source[i];

      if (char === '?') {
        return neutral;
      }

      if (char === '!') {
        var start = i + 1;

        if (source.slice(start, i + 3) === '--') {
          return comment;
        }

        var end = i + 8;

        if (source.slice(start, end) === '[CDATA[') {
          return cdata;
        }

        if (/doctype/i.test(source.slice(start, end))) {
          return neutral;
        }
      }

      if (char === '/') {
        return closingTag;
      }

      var tag = getName();
      var props = {};
      var element = {
        tag: tag,
        props: props,
        children: [],
        parent: currentElement,
        Tag: tags[tag] || missingTag
      };

      if (currentElement) {
        children.push(element);
      } else {
        root = element;
      }

      getAttributes(props);
      var style = props.style;

      if (typeof style === 'string') {
        element.styles = style;
        props.style = getStyle(style);
      }

      var selfClosing = false;

      if (source[i] === '/') {
        i += 1;
        selfClosing = true;
      }

      if (source[i] !== '>') {
        error('Expected >');
      }

      if (!selfClosing) {
        currentElement = element;
        children = element.children;
        stack.push(element);
      }

      return neutral;
    }

    function comment() {
      var index = source.indexOf('-->', i);

      if (!~index) {
        error('expected -->');
      }

      i = index + 2;
      return neutral;
    }

    function cdata() {
      var index = source.indexOf(']]>', i);

      if (!~index) {
        error('expected ]]>');
      }

      children.push(source.slice(i + 7, index));
      i = index + 2;
      return neutral;
    }

    function closingTag() {
      var tag = getName();

      if (!tag) {
        error('Expected tag name');
      }

      if (currentElement && tag !== currentElement.tag) {
        error("Expected closing tag </" + tag + "> to match opening tag <" + currentElement.tag + ">");
      }

      if (source[i] !== '>') {
        error('Expected >');
      }

      stack.pop();
      currentElement = stack[stack.length - 1];

      if (currentElement) {
        var _currentElement = currentElement;
        children = _currentElement.children;
      }

      return neutral;
    }

    function getName() {
      var name = '';
      var char;

      while (i < length && validNameCharacters.test(char = source[i])) {
        name += char;
        i += 1;
      }

      return name;
    }

    function getAttributes(props) {
      while (i < length) {
        if (!whitespace.test(source[i])) {
          return;
        }

        allowSpaces();
        var name = getName();

        if (!name) {
          return;
        }

        var value = true;
        allowSpaces();

        if (source[i] === '=') {
          i += 1;
          allowSpaces();
          value = getAttributeValue();

          if (!isNaN(+value) && value.trim() !== '') {
            value = +value;
          }
        }

        props[camelCase(name)] = value;
      }
    }

    function getAttributeValue() {
      return quotemarks.test(source[i]) ? getQuotedAttributeValue() : getUnquotedAttributeValue();
    }

    function getUnquotedAttributeValue() {
      var value = '';

      do {
        var char = source[i];

        if (char === ' ' || char === '>' || char === '/') {
          return value;
        }

        value += char;
        i += 1;
      } while (i < length);

      return value;
    }

    function getQuotedAttributeValue() {
      var quotemark = source[i++];
      var value = '';
      var escaped = false;

      while (i < length) {
        var char = source[i++];

        if (char === quotemark && !escaped) {
          return value;
        }

        if (char === '\\' && !escaped) {
          escaped = true;
        }

        value += escaped ? "\\" + char : char;
        escaped = false;
      }

      return value;
    }

    function allowSpaces() {
      while (i < length && whitespace.test(source[i])) {
        i += 1;
      }
    }

    var i = 0;

    while (i < length) {
      if (!state) {
        error('Unexpected character');
      }

      state = state();
      i += 1;
    }

    if (state !== neutral) {
      error('Unexpected end of input');
    }

    if (root) {
      var xml = (middleware ? middleware(root) : root) || root;

      var _ast = xml.children.map(astToReact);

      var jsx = xml;
      jsx.children = _ast;
      return jsx;
    }

    return null;
  }
},779,[5,80,7,8,12,14,16,41,6,17,780,796,797,798,801,802,803,799,805,807,808,809,810,811,812,813,814,817,818,819,820,821,822]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Shape2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Rect = function (_Shape) {
    (0, _inherits2.default)(Rect, _Shape);

    var _super = _createSuper(Rect);

    function Rect() {
      (0, _classCallCheck2.default)(this, Rect);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(Rect, [{
      key: "render",
      value: function render() {
        var props = this.props;
        var x = props.x,
            y = props.y,
            width = props.width,
            height = props.height,
            rx = props.rx,
            ry = props.ry;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).RNSVGRect, (0, _extends2.default)({
          ref: this.refMethod
        }, (0, _$$_REQUIRE(_dependencyMap[10]).withoutXY)(this, props), {
          x: x,
          y: y,
          width: width,
          height: height,
          rx: rx,
          ry: ry
        }));
      }
    }]);
    return Rect;
  }(_Shape2.default);

  exports.default = Rect;
  Rect.displayName = 'Rect';
  Rect.defaultProps = {
    x: 0,
    y: 0,
    width: 0,
    height: 0
  };
},780,[5,6,7,8,12,14,16,17,781,783,784]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.multiply_matrices = multiply_matrices;
  exports.invert = invert;
  exports.matrixTransform = _matrixTransform;
  exports.default = exports.ownerSVGElement = exports.SVGPoint = exports.SVGMatrix = undefined;

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[7]);

  var _SvgTouchableMixin = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var RNSVGRenderableManager = _reactNative.NativeModules.RNSVGRenderableManager;

  function multiply_matrices(l, r) {
    var al = l.a,
        bl = l.b,
        cl = l.c,
        dl = l.d,
        el = l.e,
        fl = l.f;
    var ar = r.a,
        br = r.b,
        cr = r.c,
        dr = r.d,
        er = r.e,
        fr = r.f;
    var a = al * ar + cl * br;
    var c = al * cr + cl * dr;
    var e = al * er + cl * fr + el;
    var b = bl * ar + dl * br;
    var d = bl * cr + dl * dr;
    var f = bl * er + dl * fr + fl;
    return {
      a: a,
      c: c,
      e: e,
      b: b,
      d: d,
      f: f
    };
  }

  function invert(_ref) {
    var a = _ref.a,
        b = _ref.b,
        c = _ref.c,
        d = _ref.d,
        e = _ref.e,
        f = _ref.f;
    var n = a * d - b * c;
    return {
      a: d / n,
      b: -b / n,
      c: -c / n,
      d: a / n,
      e: (c * f - d * e) / n,
      f: -(a * f - b * e) / n
    };
  }

  var deg2rad = Math.PI / 180;

  var SVGMatrix = function () {
    function SVGMatrix(matrix) {
      (0, _classCallCheck2.default)(this, SVGMatrix);

      if (matrix) {
        var a = matrix.a,
            b = matrix.b,
            c = matrix.c,
            d = matrix.d,
            e = matrix.e,
            f = matrix.f;
        this.a = a;
        this.b = b;
        this.c = c;
        this.d = d;
        this.e = e;
        this.f = f;
      } else {
        this.a = 1;
        this.b = 0;
        this.c = 0;
        this.d = 1;
        this.e = 0;
        this.f = 0;
      }
    }

    (0, _createClass2.default)(SVGMatrix, [{
      key: "multiply",
      value: function multiply(secondMatrix) {
        return new SVGMatrix(multiply_matrices(this, secondMatrix));
      }
    }, {
      key: "inverse",
      value: function inverse() {
        return new SVGMatrix(invert(this));
      }
    }, {
      key: "translate",
      value: function translate(x, y) {
        return new SVGMatrix(multiply_matrices(this, {
          a: 1,
          b: 0,
          c: 0,
          d: 1,
          e: x,
          f: y
        }));
      }
    }, {
      key: "scale",
      value: function scale(scaleFactor) {
        return new SVGMatrix(multiply_matrices(this, {
          a: scaleFactor,
          b: 0,
          c: 0,
          d: scaleFactor,
          e: 0,
          f: 0
        }));
      }
    }, {
      key: "scaleNonUniform",
      value: function scaleNonUniform(scaleFactorX, scaleFactorY) {
        return new SVGMatrix(multiply_matrices(this, {
          a: scaleFactorX,
          b: 0,
          c: 0,
          d: scaleFactorY,
          e: 0,
          f: 0
        }));
      }
    }, {
      key: "rotate",
      value: function rotate(angle) {
        var cos = Math.cos(deg2rad * angle);
        var sin = Math.sin(deg2rad * angle);
        return new SVGMatrix(multiply_matrices(this, {
          a: cos,
          b: sin,
          c: -sin,
          d: cos,
          e: 0,
          f: 0
        }));
      }
    }, {
      key: "rotateFromVector",
      value: function rotateFromVector(x, y) {
        var angle = Math.atan2(y, x);
        var cos = Math.cos(deg2rad * angle);
        var sin = Math.sin(deg2rad * angle);
        return new SVGMatrix(multiply_matrices(this, {
          a: cos,
          b: sin,
          c: -sin,
          d: cos,
          e: 0,
          f: 0
        }));
      }
    }, {
      key: "flipX",
      value: function flipX() {
        return new SVGMatrix(multiply_matrices(this, {
          a: -1,
          b: 0,
          c: 0,
          d: 1,
          e: 0,
          f: 0
        }));
      }
    }, {
      key: "flipY",
      value: function flipY() {
        return new SVGMatrix(multiply_matrices(this, {
          a: 1,
          b: 0,
          c: 0,
          d: -1,
          e: 0,
          f: 0
        }));
      }
    }, {
      key: "skewX",
      value: function skewX(angle) {
        return new SVGMatrix(multiply_matrices(this, {
          a: 1,
          b: 0,
          c: Math.tan(deg2rad * angle),
          d: 1,
          e: 0,
          f: 0
        }));
      }
    }, {
      key: "skewY",
      value: function skewY(angle) {
        return new SVGMatrix(multiply_matrices(this, {
          a: 1,
          b: Math.tan(deg2rad * angle),
          c: 0,
          d: 1,
          e: 0,
          f: 0
        }));
      }
    }]);
    return SVGMatrix;
  }();

  exports.SVGMatrix = SVGMatrix;

  function _matrixTransform(matrix, point) {
    var a = matrix.a,
        b = matrix.b,
        c = matrix.c,
        d = matrix.d,
        e = matrix.e,
        f = matrix.f;
    var x = point.x,
        y = point.y;
    return {
      x: a * x + c * y + e,
      y: b * x + d * y + f
    };
  }

  var SVGPoint = function () {
    function SVGPoint(point) {
      (0, _classCallCheck2.default)(this, SVGPoint);

      if (point) {
        var _x = point.x,
            _y = point.y;
        this.x = _x;
        this.y = _y;
      } else {
        this.x = 0;
        this.y = 0;
      }
    }

    (0, _createClass2.default)(SVGPoint, [{
      key: "matrixTransform",
      value: function matrixTransform(matrix) {
        return new SVGPoint(_matrixTransform(matrix, this));
      }
    }]);
    return SVGPoint;
  }();

  exports.SVGPoint = SVGPoint;
  var ownerSVGElement = {
    createSVGPoint: function createSVGPoint() {
      return new SVGPoint();
    },
    createSVGMatrix: function createSVGMatrix() {
      return new SVGMatrix();
    }
  };
  exports.ownerSVGElement = ownerSVGElement;

  var Shape = function (_Component) {
    (0, _inherits2.default)(Shape, _Component);

    var _super = _createSuper(Shape);

    function Shape(_props, context) {
      var _this;

      (0, _classCallCheck2.default)(this, Shape);
      _this = _super.call(this, _props, context);
      _this.root = null;

      _this.refMethod = function (instance) {
        _this.root = instance;
      };

      _this.setNativeProps = function (props) {
        _this.root && _this.root.setNativeProps(props);
      };

      _this.getBBox = function (options) {
        var _ref2 = options || {},
            _ref2$fill = _ref2.fill,
            fill = _ref2$fill === undefined ? true : _ref2$fill,
            _ref2$stroke = _ref2.stroke,
            stroke = _ref2$stroke === undefined ? true : _ref2$stroke,
            _ref2$markers = _ref2.markers,
            markers = _ref2$markers === undefined ? true : _ref2$markers,
            _ref2$clipped = _ref2.clipped,
            clipped = _ref2$clipped === undefined ? true : _ref2$clipped;

        var handle = (0, _reactNative.findNodeHandle)(_this.root);
        return RNSVGRenderableManager.getBBox(handle, {
          fill: fill,
          stroke: stroke,
          markers: markers,
          clipped: clipped
        });
      };

      _this.getCTM = function () {
        var handle = (0, _reactNative.findNodeHandle)(_this.root);
        return new SVGMatrix(RNSVGRenderableManager.getCTM(handle));
      };

      _this.getScreenCTM = function () {
        var handle = (0, _reactNative.findNodeHandle)(_this.root);
        return new SVGMatrix(RNSVGRenderableManager.getScreenCTM(handle));
      };

      _this.isPointInFill = function (options) {
        var handle = (0, _reactNative.findNodeHandle)(_this.root);
        return RNSVGRenderableManager.isPointInFill(handle, options);
      };

      _this.isPointInStroke = function (options) {
        var handle = (0, _reactNative.findNodeHandle)(_this.root);
        return RNSVGRenderableManager.isPointInStroke(handle, options);
      };

      _this.getTotalLength = function () {
        var handle = (0, _reactNative.findNodeHandle)(_this.root);
        return RNSVGRenderableManager.getTotalLength(handle);
      };

      _this.getPointAtLength = function (length) {
        var handle = (0, _reactNative.findNodeHandle)(_this.root);
        return new SVGPoint(RNSVGRenderableManager.getPointAtLength(handle, {
          length: length
        }));
      };

      (0, _SvgTouchableMixin.default)((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    return Shape;
  }(_react.Component);

  exports.default = Shape;
  Shape.prototype.ownerSVGElement = ownerSVGElement;
},781,[5,15,12,14,16,7,8,17,782,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var PRESS_RETENTION_OFFSET = {
    top: 20,
    left: 20,
    right: 20,
    bottom: 30
  };
  var Mixin = _reactNative.Touchable.Mixin;
  var _touchableHandleStartShouldSetResponder = Mixin.touchableHandleStartShouldSetResponder,
      _touchableHandleResponderTerminationRequest = Mixin.touchableHandleResponderTerminationRequest,
      _touchableHandleResponderGrant = Mixin.touchableHandleResponderGrant,
      _touchableHandleResponderMove = Mixin.touchableHandleResponderMove,
      _touchableHandleResponderRelease = Mixin.touchableHandleResponderRelease,
      _touchableHandleResponderTerminate = Mixin.touchableHandleResponderTerminate,
      touchableGetInitialState = Mixin.touchableGetInitialState;
  var SvgTouchableMixin = (0, _extends2.default)({}, Mixin, {
    touchableHandleStartShouldSetResponder: function touchableHandleStartShouldSetResponder(e) {
      var onStartShouldSetResponder = this.props.onStartShouldSetResponder;

      if (onStartShouldSetResponder) {
        return onStartShouldSetResponder(e);
      } else {
        return _touchableHandleStartShouldSetResponder.call(this, e);
      }
    },
    touchableHandleResponderTerminationRequest: function touchableHandleResponderTerminationRequest(e) {
      var onResponderTerminationRequest = this.props.onResponderTerminationRequest;

      if (onResponderTerminationRequest) {
        return onResponderTerminationRequest(e);
      } else {
        return _touchableHandleResponderTerminationRequest.call(this, e);
      }
    },
    touchableHandleResponderGrant: function touchableHandleResponderGrant(e) {
      var onResponderGrant = this.props.onResponderGrant;

      if (onResponderGrant) {
        return onResponderGrant(e);
      } else {
        return _touchableHandleResponderGrant.call(this, e);
      }
    },
    touchableHandleResponderMove: function touchableHandleResponderMove(e) {
      var onResponderMove = this.props.onResponderMove;

      if (onResponderMove) {
        return onResponderMove(e);
      } else {
        return _touchableHandleResponderMove.call(this, e);
      }
    },
    touchableHandleResponderRelease: function touchableHandleResponderRelease(e) {
      var onResponderRelease = this.props.onResponderRelease;

      if (onResponderRelease) {
        return onResponderRelease(e);
      } else {
        return _touchableHandleResponderRelease.call(this, e);
      }
    },
    touchableHandleResponderTerminate: function touchableHandleResponderTerminate(e) {
      var onResponderTerminate = this.props.onResponderTerminate;

      if (onResponderTerminate) {
        return onResponderTerminate(e);
      } else {
        return _touchableHandleResponderTerminate.call(this, e);
      }
    },
    touchableHandlePress: function touchableHandlePress(e) {
      var onPress = this.props.onPress;
      onPress && onPress(e);
    },
    touchableHandleActivePressIn: function touchableHandleActivePressIn(e) {
      var onPressIn = this.props.onPressIn;
      onPressIn && onPressIn(e);
    },
    touchableHandleActivePressOut: function touchableHandleActivePressOut(e) {
      var onPressOut = this.props.onPressOut;
      onPressOut && onPressOut(e);
    },
    touchableHandleLongPress: function touchableHandleLongPress(e) {
      var onLongPress = this.props.onLongPress;
      onLongPress && onLongPress(e);
    },
    touchableGetPressRectOffset: function touchableGetPressRectOffset() {
      var pressRetentionOffset = this.props.pressRetentionOffset;
      return pressRetentionOffset || PRESS_RETENTION_OFFSET;
    },
    touchableGetHitSlop: function touchableGetHitSlop() {
      var hitSlop = this.props.hitSlop;
      return hitSlop;
    },
    touchableGetHighlightDelayMS: function touchableGetHighlightDelayMS() {
      var delayPressIn = this.props.delayPressIn;
      return delayPressIn || 0;
    },
    touchableGetLongPressDelayMS: function touchableGetLongPressDelayMS() {
      var delayLongPress = this.props.delayLongPress;
      return delayLongPress === 0 ? 0 : delayLongPress || 500;
    },
    touchableGetPressOutDelayMS: function touchableGetPressOutDelayMS() {
      var delayPressOut = this.props.delayPressOut;
      return delayPressOut || 0;
    }
  });
  var touchKeys = Object.keys(SvgTouchableMixin);
  var touchVals = touchKeys.map(function (key) {
    return SvgTouchableMixin[key];
  });
  var numTouchKeys = touchKeys.length;

  var _default = function _default(target) {
    for (var i = 0; i < numTouchKeys; i++) {
      var key = touchKeys[i];
      var val = touchVals[i];

      if (typeof val === 'function') {
        target[key] = val.bind(target);
      } else {
        target[key] = val;
      }
    }

    target.state = touchableGetInitialState();
  };

  exports.default = _default;
},782,[5,6,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.RNSVGUse = exports.RNSVGTSpan = exports.RNSVGTextPath = exports.RNSVGText = exports.RNSVGSymbol = exports.RNSVGRect = exports.RNSVGRadialGradient = exports.RNSVGPattern = exports.RNSVGPath = exports.RNSVGMask = exports.RNSVGMarker = exports.RNSVGLinearGradient = exports.RNSVGLine = exports.RNSVGImage = exports.RNSVGGroup = exports.RNSVGForeignObject = exports.RNSVGEllipse = exports.RNSVGDefs = exports.RNSVGClipPath = exports.RNSVGCircle = exports.RNSVGSvg = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var RNSVGSvg = (0, _reactNative.requireNativeComponent)('RNSVGSvgView');
  exports.RNSVGSvg = RNSVGSvg;
  var RNSVGCircle = (0, _reactNative.requireNativeComponent)('RNSVGCircle');
  exports.RNSVGCircle = RNSVGCircle;
  var RNSVGClipPath = (0, _reactNative.requireNativeComponent)('RNSVGClipPath');
  exports.RNSVGClipPath = RNSVGClipPath;
  var RNSVGDefs = (0, _reactNative.requireNativeComponent)('RNSVGDefs');
  exports.RNSVGDefs = RNSVGDefs;
  var RNSVGEllipse = (0, _reactNative.requireNativeComponent)('RNSVGEllipse');
  exports.RNSVGEllipse = RNSVGEllipse;
  var RNSVGForeignObject = (0, _reactNative.requireNativeComponent)('RNSVGForeignObject');
  exports.RNSVGForeignObject = RNSVGForeignObject;
  var RNSVGGroup = (0, _reactNative.requireNativeComponent)('RNSVGGroup');
  exports.RNSVGGroup = RNSVGGroup;
  var RNSVGImage = (0, _reactNative.requireNativeComponent)('RNSVGImage');
  exports.RNSVGImage = RNSVGImage;
  var RNSVGLine = (0, _reactNative.requireNativeComponent)('RNSVGLine');
  exports.RNSVGLine = RNSVGLine;
  var RNSVGLinearGradient = (0, _reactNative.requireNativeComponent)('RNSVGLinearGradient');
  exports.RNSVGLinearGradient = RNSVGLinearGradient;
  var RNSVGMarker = (0, _reactNative.requireNativeComponent)('RNSVGMarker');
  exports.RNSVGMarker = RNSVGMarker;
  var RNSVGMask = (0, _reactNative.requireNativeComponent)('RNSVGMask');
  exports.RNSVGMask = RNSVGMask;
  var RNSVGPath = (0, _reactNative.requireNativeComponent)('RNSVGPath');
  exports.RNSVGPath = RNSVGPath;
  var RNSVGPattern = (0, _reactNative.requireNativeComponent)('RNSVGPattern');
  exports.RNSVGPattern = RNSVGPattern;
  var RNSVGRadialGradient = (0, _reactNative.requireNativeComponent)('RNSVGRadialGradient');
  exports.RNSVGRadialGradient = RNSVGRadialGradient;
  var RNSVGRect = (0, _reactNative.requireNativeComponent)('RNSVGRect');
  exports.RNSVGRect = RNSVGRect;
  var RNSVGSymbol = (0, _reactNative.requireNativeComponent)('RNSVGSymbol');
  exports.RNSVGSymbol = RNSVGSymbol;
  var RNSVGText = (0, _reactNative.requireNativeComponent)('RNSVGText');
  exports.RNSVGText = RNSVGText;
  var RNSVGTextPath = (0, _reactNative.requireNativeComponent)('RNSVGTextPath');
  exports.RNSVGTextPath = RNSVGTextPath;
  var RNSVGTSpan = (0, _reactNative.requireNativeComponent)('RNSVGTSpan');
  exports.RNSVGTSpan = RNSVGTSpan;
  var RNSVGUse = (0, _reactNative.requireNativeComponent)('RNSVGUse');
  exports.RNSVGUse = RNSVGUse;
},783,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.propsAndStyles = propsAndStyles;
  exports.default = extractProps;
  exports.extract = extract;
  exports.withoutXY = withoutXY;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extractFill = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _extractStroke = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _extractResponder = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _extractOpacity = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var clipRules = {
    evenodd: 0,
    nonzero: 1
  };

  function propsAndStyles(props) {
    var style = props.style;
    return !style ? props : (0, _extends2.default)({}, Array.isArray(style) ? Object.assign.apply(Object, [{}].concat((0, _toConsumableArray2.default)(style))) : style, props);
  }

  function getMarker(marker) {
    if (!marker) {
      return undefined;
    }

    var matched = marker.match(_$$_REQUIRE(_dependencyMap[7]).idPattern);
    return matched ? matched[1] : undefined;
  }

  function extractProps(props, ref) {
    var id = props.id,
        opacity = props.opacity,
        onLayout = props.onLayout,
        clipPath = props.clipPath,
        clipRule = props.clipRule,
        display = props.display,
        mask = props.mask,
        marker = props.marker,
        _props$markerStart = props.markerStart,
        markerStart = _props$markerStart === undefined ? marker : _props$markerStart,
        _props$markerMid = props.markerMid,
        markerMid = _props$markerMid === undefined ? marker : _props$markerMid,
        _props$markerEnd = props.markerEnd,
        markerEnd = _props$markerEnd === undefined ? marker : _props$markerEnd,
        transform = props.transform;
    var extracted = {};
    var inherited = [];
    (0, _extractResponder.default)(extracted, props, ref);
    (0, _extractFill.default)(extracted, props, inherited);
    (0, _extractStroke.default)(extracted, props, inherited);

    if (inherited.length) {
      extracted.propList = inherited;
    }

    var transformProps = (0, _$$_REQUIRE(_dependencyMap[8]).props2transform)(props);
    var matrix = (0, _$$_REQUIRE(_dependencyMap[8]).transformToMatrix)(transformProps, transform);

    if (matrix !== null) {
      extracted.matrix = matrix;
    }

    if (opacity != null) {
      extracted.opacity = (0, _extractOpacity.default)(opacity);
    }

    if (display != null) {
      extracted.display = display === 'none' ? 'none' : undefined;
    }

    if (onLayout) {
      extracted.onLayout = onLayout;
    }

    if (markerStart) {
      extracted.markerStart = getMarker(markerStart);
    }

    if (markerMid) {
      extracted.markerMid = getMarker(markerMid);
    }

    if (markerEnd) {
      extracted.markerEnd = getMarker(markerEnd);
    }

    if (id) {
      extracted.name = String(id);
    }

    if (clipRule) {
      extracted.clipRule = clipRules[clipRule] === 0 ? 0 : 1;
    }

    if (clipPath) {
      var matched = clipPath.match(_$$_REQUIRE(_dependencyMap[7]).idPattern);

      if (matched) {
        extracted.clipPath = matched[1];
      } else {
        console.warn('Invalid `clipPath` prop, expected a clipPath like "#id", but got: "' + clipPath + '"');
      }
    }

    if (mask) {
      var _matched = mask.match(_$$_REQUIRE(_dependencyMap[7]).idPattern);

      if (_matched) {
        extracted.mask = _matched[1];
      } else {
        console.warn('Invalid `mask` prop, expected a mask like "#id", but got: "' + mask + '"');
      }
    }

    return extracted;
  }

  function extract(instance, props) {
    return extractProps(propsAndStyles(props), instance);
  }

  function withoutXY(instance, props) {
    return extractProps((0, _extends2.default)({}, propsAndStyles(props), {
      x: null,
      y: null
    }), instance);
  }
},784,[5,21,6,785,789,791,788,792,793]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = extractFill;

  var _extractBrush = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extractOpacity = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var fillRules = {
    evenodd: 0,
    nonzero: 1
  };

  var defaultFill = _$$_REQUIRE(_dependencyMap[3]).colorNames.black;

  function extractFill(o, props, inherited) {
    var fill = props.fill,
        fillRule = props.fillRule,
        fillOpacity = props.fillOpacity;

    if (fill != null) {
      inherited.push('fill');
      o.fill = !fill && typeof fill !== 'number' ? defaultFill : (0, _extractBrush.default)(fill);
    }

    if (fillOpacity != null) {
      inherited.push('fillOpacity');
      o.fillOpacity = (0, _extractOpacity.default)(fillOpacity);
    }

    if (fillRule != null) {
      inherited.push('fillRule');
      o.fillRule = fillRule && fillRules[fillRule] === 0 ? 0 : 1;
    }
  }
},785,[5,786,788,787]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = extractBrush;

  var _extractColor = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var urlIdPattern = /^url\(#(.+)\)$/;
  var currentColorBrush = [2];
  var contextFillBrush = [3];
  var contextStrokeBrush = [4];

  function extractBrush(color) {
    if (typeof color === 'number') {
      if (color >>> 0 === color && color >= 0 && color <= 0xffffffff) {
        return (0, _extractColor.integerColor)(color);
      }
    }

    if (!color || color === 'none') {
      return null;
    }

    if (color === 'currentColor') {
      return currentColorBrush;
    }

    if (color === 'context-fill') {
      return contextFillBrush;
    }

    if (color === 'context-stroke') {
      return contextStrokeBrush;
    }

    var brush = typeof color === 'string' && color.match(urlIdPattern);

    if (brush) {
      return [1, brush[1]];
    }

    var int32ARGBColor = (0, _extractColor.default)(color);

    if (typeof int32ARGBColor === 'number') {
      return int32ARGBColor;
    }

    console.warn("\"" + color + "\" is not a valid color or brush");
    return null;
  }
},786,[787]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = extractColor;
  exports.integerColor = exports.colorNames = exports.colors = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var colors = {
    aliceblue: [240, 248, 255],
    antiquewhite: [250, 235, 215],
    aqua: [0, 255, 255],
    aquamarine: [127, 255, 212],
    azure: [240, 255, 255],
    beige: [245, 245, 220],
    bisque: [255, 228, 196],
    black: [0, 0, 0],
    blanchedalmond: [255, 235, 205],
    blue: [0, 0, 255],
    blueviolet: [138, 43, 226],
    brown: [165, 42, 42],
    burlywood: [222, 184, 135],
    cadetblue: [95, 158, 160],
    chartreuse: [127, 255, 0],
    chocolate: [210, 105, 30],
    coral: [255, 127, 80],
    cornflowerblue: [100, 149, 237],
    cornsilk: [255, 248, 220],
    crimson: [220, 20, 60],
    cyan: [0, 255, 255],
    darkblue: [0, 0, 139],
    darkcyan: [0, 139, 139],
    darkgoldenrod: [184, 134, 11],
    darkgray: [169, 169, 169],
    darkgreen: [0, 100, 0],
    darkgrey: [169, 169, 169],
    darkkhaki: [189, 183, 107],
    darkmagenta: [139, 0, 139],
    darkolivegreen: [85, 107, 47],
    darkorange: [255, 140, 0],
    darkorchid: [153, 50, 204],
    darkred: [139, 0, 0],
    darksalmon: [233, 150, 122],
    darkseagreen: [143, 188, 143],
    darkslateblue: [72, 61, 139],
    darkslategray: [47, 79, 79],
    darkslategrey: [47, 79, 79],
    darkturquoise: [0, 206, 209],
    darkviolet: [148, 0, 211],
    deeppink: [255, 20, 147],
    deepskyblue: [0, 191, 255],
    dimgray: [105, 105, 105],
    dimgrey: [105, 105, 105],
    dodgerblue: [30, 144, 255],
    firebrick: [178, 34, 34],
    floralwhite: [255, 250, 240],
    forestgreen: [34, 139, 34],
    fuchsia: [255, 0, 255],
    gainsboro: [220, 220, 220],
    ghostwhite: [248, 248, 255],
    gold: [255, 215, 0],
    goldenrod: [218, 165, 32],
    gray: [128, 128, 128],
    green: [0, 128, 0],
    greenyellow: [173, 255, 47],
    grey: [128, 128, 128],
    honeydew: [240, 255, 240],
    hotpink: [255, 105, 180],
    indianred: [205, 92, 92],
    indigo: [75, 0, 130],
    ivory: [255, 255, 240],
    khaki: [240, 230, 140],
    lavender: [230, 230, 250],
    lavenderblush: [255, 240, 245],
    lawngreen: [124, 252, 0],
    lemonchiffon: [255, 250, 205],
    lightblue: [173, 216, 230],
    lightcoral: [240, 128, 128],
    lightcyan: [224, 255, 255],
    lightgoldenrodyellow: [250, 250, 210],
    lightgray: [211, 211, 211],
    lightgreen: [144, 238, 144],
    lightgrey: [211, 211, 211],
    lightpink: [255, 182, 193],
    lightsalmon: [255, 160, 122],
    lightseagreen: [32, 178, 170],
    lightskyblue: [135, 206, 250],
    lightslategray: [119, 136, 153],
    lightslategrey: [119, 136, 153],
    lightsteelblue: [176, 196, 222],
    lightyellow: [255, 255, 224],
    lime: [0, 255, 0],
    limegreen: [50, 205, 50],
    linen: [250, 240, 230],
    magenta: [255, 0, 255],
    maroon: [128, 0, 0],
    mediumaquamarine: [102, 205, 170],
    mediumblue: [0, 0, 205],
    mediumorchid: [186, 85, 211],
    mediumpurple: [147, 112, 219],
    mediumseagreen: [60, 179, 113],
    mediumslateblue: [123, 104, 238],
    mediumspringgreen: [0, 250, 154],
    mediumturquoise: [72, 209, 204],
    mediumvioletred: [199, 21, 133],
    midnightblue: [25, 25, 112],
    mintcream: [245, 255, 250],
    mistyrose: [255, 228, 225],
    moccasin: [255, 228, 181],
    navajowhite: [255, 222, 173],
    navy: [0, 0, 128],
    oldlace: [253, 245, 230],
    olive: [128, 128, 0],
    olivedrab: [107, 142, 35],
    orange: [255, 165, 0],
    orangered: [255, 69, 0],
    orchid: [218, 112, 214],
    palegoldenrod: [238, 232, 170],
    palegreen: [152, 251, 152],
    paleturquoise: [175, 238, 238],
    palevioletred: [219, 112, 147],
    papayawhip: [255, 239, 213],
    peachpuff: [255, 218, 185],
    peru: [205, 133, 63],
    pink: [255, 192, 203],
    plum: [221, 160, 221],
    powderblue: [176, 224, 230],
    purple: [128, 0, 128],
    rebeccapurple: [102, 51, 153],
    red: [255, 0, 0],
    rosybrown: [188, 143, 143],
    royalblue: [65, 105, 225],
    saddlebrown: [139, 69, 19],
    salmon: [250, 128, 114],
    sandybrown: [244, 164, 96],
    seagreen: [46, 139, 87],
    seashell: [255, 245, 238],
    sienna: [160, 82, 45],
    silver: [192, 192, 192],
    skyblue: [135, 206, 235],
    slateblue: [106, 90, 205],
    slategray: [112, 128, 144],
    slategrey: [112, 128, 144],
    snow: [255, 250, 250],
    springgreen: [0, 255, 127],
    steelblue: [70, 130, 180],
    tan: [210, 180, 140],
    teal: [0, 128, 128],
    thistle: [216, 191, 216],
    tomato: [255, 99, 71],
    turquoise: [64, 224, 208],
    violet: [238, 130, 238],
    wheat: [245, 222, 179],
    white: [255, 255, 255],
    whitesmoke: [245, 245, 245],
    yellow: [255, 255, 0],
    yellowgreen: [154, 205, 50]
  };
  exports.colors = colors;
  var colorNames = {};
  exports.colorNames = colorNames;

  for (var name in colors) {
    if (colors.hasOwnProperty(name)) {
      var color = colors[name];
      var r = color[0];
      var g = color[1];
      var b = color[2];
      colorNames[name] = (0xff000000 | r << 16 | g << 8 | b) >>> 0;
    }
  }

  Object.freeze(colorNames);

  function hslToRgb(_h, _s, _l, a) {
    var h = _h / 360;
    var s = _s / 100;
    var l = _l / 100;
    var t1;
    var t2;
    var t3;
    var rgb;
    var val;

    if (s === 0) {
      val = l;
      return [val, val, val, a];
    }

    if (l < 0.5) {
      t2 = l * (1 + s);
    } else {
      t2 = l + s - l * s;
    }

    t1 = 2 * l - t2;
    rgb = [0, 0, 0, a];

    for (var i = 0; i < 3; i++) {
      t3 = h + 0.3333333333333333 * -(i - 1);

      if (t3 < 0) {
        t3++;
      }

      if (t3 > 1) {
        t3--;
      }

      if (6 * t3 < 1) {
        val = t1 + (t2 - t1) * 6 * t3;
      } else if (2 * t3 < 1) {
        val = t2;
      } else if (3 * t3 < 2) {
        val = t1 + (t2 - t1) * (0.6666666666666666 - t3) * 6;
      } else {
        val = t1;
      }

      rgb[i] = val;
    }

    return rgb;
  }

  function hwbToRgb(_h, _w, _b, a) {
    var h = _h / 360;
    var wh = _w / 100;
    var bl = _b / 100;
    var ratio = wh + bl;
    var i;
    var v;
    var f;
    var n;

    if (ratio > 1) {
      wh /= ratio;
      bl /= ratio;
    }

    i = Math.floor(6 * h);
    v = 1 - bl;
    f = 6 * h - i;

    if ((i & 0x01) !== 0) {
      f = 1 - f;
    }

    n = wh + f * (v - wh);
    var r;
    var g;
    var b;

    switch (i) {
      default:
      case 6:
      case 0:
        r = v;
        g = n;
        b = wh;
        break;

      case 1:
        r = n;
        g = v;
        b = wh;
        break;

      case 2:
        r = wh;
        g = v;
        b = n;
        break;

      case 3:
        r = wh;
        g = n;
        b = v;
        break;

      case 4:
        r = n;
        g = wh;
        b = v;
        break;

      case 5:
        r = v;
        g = wh;
        b = n;
        break;
    }

    return [r, g, b, a];
  }

  function clamp(num, min, max) {
    return Math.min(Math.max(min, num), max);
  }

  var abbr = /^#([a-f0-9]{3,4})$/i;
  var hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i;
  var rgba = /^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d.]+)\s*)?\)$/;
  var per = /^rgba?\(\s*([+-]?[\d.]+)%\s*,\s*([+-]?[\d.]+)%\s*,\s*([+-]?[\d.]+)%\s*(?:,\s*([+-]?[\d.]+)\s*)?\)$/;
  var keyword = /(\D+)/;

  function rgbFromString(string) {
    var rgb = [0, 0, 0, 1];
    var match;
    var i;
    var hexAlpha;

    if (match = string.match(hex)) {
      hexAlpha = match[2];
      match = match[1];

      for (i = 0; i < 3; i++) {
        var i2 = i * 2;
        rgb[i] = parseInt(match.slice(i2, i2 + 2), 16) / 255;
      }

      if (hexAlpha) {
        rgb[3] = Math.round(parseInt(hexAlpha, 16) / 255 * 100) / 100;
      }
    } else if (match = string.match(abbr)) {
      match = match[1];
      hexAlpha = match[3];

      for (i = 0; i < 3; i++) {
        rgb[i] = parseInt(match[i] + match[i], 16) / 255;
      }

      if (hexAlpha) {
        rgb[3] = Math.round(parseInt(hexAlpha + hexAlpha, 16) / 255 * 100) / 100;
      }
    } else if (match = string.match(rgba)) {
      for (i = 0; i < 3; i++) {
        rgb[i] = parseInt(match[i + 1], 0) / 255;
      }

      if (match[4]) {
        rgb[3] = parseFloat(match[4]);
      }
    } else if (match = string.match(per)) {
      for (i = 0; i < 3; i++) {
        rgb[i] = parseFloat(match[i + 1]) / 100;
      }

      if (match[4]) {
        rgb[3] = parseFloat(match[4]);
      }
    } else if (match = string.match(keyword)) {
      if (match[1] === 'transparent') {
        return [0, 0, 0, 0];
      }

      var _color = colorNames[match[1]];

      if (!(typeof _color === 'number')) {
        return null;
      }

      return integerColor(_color);
    } else {
      return null;
    }

    for (i = 0; i < 4; i++) {
      rgb[i] = clamp(rgb[i], 0, 1);
    }

    return rgb;
  }

  var hslRegEx = /^hsla?\(\s*([+-]?(?:\d*\.)?\d+)(?:deg)?\s*,\s*([+-]?[\d.]+)%\s*,\s*([+-]?[\d.]+)%\s*(?:,\s*([+-]?[\d.]+)\s*)?\)$/;

  function rgbFromHslString(string) {
    var match = string.match(hslRegEx);

    if (!match) {
      return null;
    }

    var alpha = parseFloat(match[4]);
    var h = (parseFloat(match[1]) + 360) % 360;
    var s = clamp(parseFloat(match[2]), 0, 100);
    var l = clamp(parseFloat(match[3]), 0, 100);
    var a = isNaN(alpha) ? 1 : clamp(alpha, 0, 1);
    return hslToRgb(h, s, l, a);
  }

  var hwbRegEx = /^hwb\(\s*([+-]?\d*[.]?\d+)(?:deg)?\s*,\s*([+-]?[\d.]+)%\s*,\s*([+-]?[\d.]+)%\s*(?:,\s*([+-]?[\d.]+)\s*)?\)$/;

  function rgbFromHwbString(string) {
    var match = string.match(hwbRegEx);

    if (!match) {
      return null;
    }

    var alpha = parseFloat(match[4]);
    var h = (parseFloat(match[1]) % 360 + 360) % 360;
    var w = clamp(parseFloat(match[2]), 0, 100);
    var b = clamp(parseFloat(match[3]), 0, 100);
    var a = isNaN(alpha) ? 1 : clamp(alpha, 0, 1);
    return hwbToRgb(h, w, b, a);
  }

  function colorFromString(string) {
    var prefix = string.substring(0, 3).toLowerCase();

    switch (prefix) {
      case 'hsl':
        return rgbFromHslString(string);

      case 'hwb':
        return rgbFromHwbString(string);

      default:
        return rgbFromString(string);
    }
  }

  var identity = function identity(x) {
    return x;
  };

  var toSignedInt32 = function toSignedInt32(x) {
    return x | 0x0;
  };

  var integerColor = _reactNative.Platform.OS === 'android' ? toSignedInt32 : identity;
  exports.integerColor = integerColor;

  function extractColor(color) {
    if (typeof color === 'number') {
      if (color >>> 0 === color && color >= 0 && color <= 0xffffffff) {
        return integerColor(color);
      }

      return null;
    }

    var parsedColor = typeof color === 'string' ? colorFromString(color) : color;

    if (!Array.isArray(parsedColor)) {
      return parsedColor;
    }

    var r = parsedColor[0];
    var g = parsedColor[1];
    var b = parsedColor[2];
    var a = parsedColor[3];
    var int32Color = ((a === undefined ? 0xff000000 : Math.round(a * 255) << 24) | Math.round(r * 255) << 16 | Math.round(g * 255) << 8 | Math.round(b * 255)) >>> 0;
    return integerColor(int32Color);
  }
},787,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = extractOpacity;

  function extractOpacity(opacity) {
    var value = +opacity;
    return isNaN(value) ? 1 : value;
  }
},788,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = extractStroke;

  var _extractBrush = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extractOpacity = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extractLengthList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var caps = {
    butt: 0,
    square: 2,
    round: 1
  };
  var joins = {
    miter: 0,
    bevel: 2,
    round: 1
  };
  var vectorEffects = {
    none: 0,
    default: 0,
    nonScalingStroke: 1,
    'non-scaling-stroke': 1,
    inherit: 2,
    uri: 3
  };

  function extractStroke(o, props, inherited) {
    var stroke = props.stroke,
        strokeOpacity = props.strokeOpacity,
        strokeLinecap = props.strokeLinecap,
        strokeLinejoin = props.strokeLinejoin,
        strokeDasharray = props.strokeDasharray,
        strokeWidth = props.strokeWidth,
        strokeDashoffset = props.strokeDashoffset,
        strokeMiterlimit = props.strokeMiterlimit,
        vectorEffect = props.vectorEffect;

    if (stroke != null) {
      inherited.push('stroke');
      o.stroke = (0, _extractBrush.default)(stroke);
    }

    if (strokeWidth != null) {
      inherited.push('strokeWidth');
      o.strokeWidth = strokeWidth;
    }

    if (strokeOpacity != null) {
      inherited.push('strokeOpacity');
      o.strokeOpacity = (0, _extractOpacity.default)(strokeOpacity);
    }

    if (strokeDasharray != null) {
      inherited.push('strokeDasharray');
      var strokeDash = !strokeDasharray || strokeDasharray === 'none' ? null : (0, _extractLengthList.default)(strokeDasharray);
      o.strokeDasharray = strokeDash && strokeDash.length % 2 === 1 ? strokeDash.concat(strokeDash) : strokeDash;
    }

    if (strokeDashoffset != null) {
      inherited.push('strokeDashoffset');
      o.strokeDashoffset = strokeDasharray && strokeDashoffset ? +strokeDashoffset || 0 : null;
    }

    if (strokeLinecap != null) {
      inherited.push('strokeLinecap');
      o.strokeLinecap = strokeLinecap && caps[strokeLinecap] || 0;
    }

    if (strokeLinejoin != null) {
      inherited.push('strokeLinejoin');
      o.strokeLinejoin = strokeLinejoin && joins[strokeLinejoin] || 0;
    }

    if (strokeMiterlimit != null) {
      inherited.push('strokeMiterlimit');
      o.strokeMiterlimit = (strokeMiterlimit && typeof strokeMiterlimit !== 'number' ? parseFloat(strokeMiterlimit) : strokeMiterlimit) || 4;
    }

    if (vectorEffect != null) {
      o.vectorEffect = vectorEffect && vectorEffects[vectorEffect] || 0;
    }
  }
},789,[5,786,788,790]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = extractLengthList;
  var spaceReg = /\s+/;
  var commaReg = /,/g;

  function extractLengthList(lengthList) {
    if (Array.isArray(lengthList)) {
      return lengthList;
    } else if (typeof lengthList === 'number') {
      return [lengthList];
    } else if (typeof lengthList === 'string') {
      return lengthList.trim().replace(commaReg, ' ').split(spaceReg);
    } else {
      return [];
    }
  }
},790,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = extractResponder;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var responderKeys = Object.keys(_reactNative.PanResponder.create({}).panHandlers);
  var numResponderKeys = responderKeys.length;

  function extractResponder(o, props, ref) {
    var onPress = props.onPress,
        disabled = props.disabled,
        onPressIn = props.onPressIn,
        onPressOut = props.onPressOut,
        onLongPress = props.onLongPress,
        delayPressIn = props.delayPressIn,
        delayPressOut = props.delayPressOut,
        delayLongPress = props.delayLongPress,
        pointerEvents = props.pointerEvents;
    var responsible = false;

    for (var i = 0; i < numResponderKeys; i++) {
      var key = responderKeys[i];
      var value = props[key];

      if (value) {
        responsible = true;
        o[key] = value;
      }
    }

    if (pointerEvents) {
      o.pointerEvents = pointerEvents;
    }

    var hasTouchableProperty = disabled != null || onPress || onPressIn || onPressOut || onLongPress || delayPressIn || delayPressOut || delayLongPress;

    if (hasTouchableProperty) {
      responsible = true;
      o.onResponderMove = ref.touchableHandleResponderMove;
      o.onResponderGrant = ref.touchableHandleResponderGrant;
      o.onResponderRelease = ref.touchableHandleResponderRelease;
      o.onResponderTerminate = ref.touchableHandleResponderTerminate;
      o.onStartShouldSetResponder = ref.touchableHandleStartShouldSetResponder;
      o.onResponderTerminationRequest = ref.touchableHandleResponderTerminationRequest;
    }

    if (responsible) {
      o.responsible = true;
    }
  }
},791,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.pickNotNil = pickNotNil;
  exports.idPattern = undefined;

  function pickNotNil(object) {
    var result = {};

    for (var key in object) {
      if (object.hasOwnProperty(key)) {
        var value = object[key];

        if (value !== undefined && value !== null) {
          result[key] = value;
        }
      }
    }

    return result;
  }

  var idPattern = /#([^)]+)\)?$/;
  exports.idPattern = idPattern;
},792,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.props2transform = props2transform;
  exports.transformToMatrix = transformToMatrix;
  exports.default = extractTransform;

  function appendTransformProps(props) {
    var x = props.x,
        y = props.y,
        originX = props.originX,
        originY = props.originY,
        scaleX = props.scaleX,
        scaleY = props.scaleY,
        rotation = props.rotation,
        skewX = props.skewX,
        skewY = props.skewY;
    (0, _$$_REQUIRE(_dependencyMap[0]).appendTransform)(x + originX, y + originY, scaleX, scaleY, rotation, skewX, skewY, originX, originY);
  }

  function universal2axis(universal, axisX, axisY, defaultValue) {
    var x;
    var y;

    if (typeof universal === 'number') {
      x = y = universal;
    } else if (typeof universal === 'string') {
      var coords = universal.split(/\s*,\s*/);

      if (coords.length === 2) {
        x = +coords[0];
        y = +coords[1];
      } else if (coords.length === 1) {
        x = y = +coords[0];
      }
    } else if (Array.isArray(universal)) {
      if (universal.length === 2) {
        x = +universal[0];
        y = +universal[1];
      } else if (universal.length === 1) {
        x = y = +universal[0];
      }
    }

    axisX = +axisX;

    if (!isNaN(axisX)) {
      x = axisX;
    }

    axisY = +axisY;

    if (!isNaN(axisY)) {
      y = axisY;
    }

    return [x || defaultValue || 0, y || defaultValue || 0];
  }

  function props2transform(props) {
    var rotation = props.rotation,
        translate = props.translate,
        translateX = props.translateX,
        translateY = props.translateY,
        origin = props.origin,
        originX = props.originX,
        originY = props.originY,
        scale = props.scale,
        scaleX = props.scaleX,
        scaleY = props.scaleY,
        skew = props.skew,
        skewX = props.skewX,
        skewY = props.skewY,
        x = props.x,
        y = props.y;

    if (rotation == null && translate == null && translateX == null && translateY == null && origin == null && originX == null && originY == null && scale == null && scaleX == null && scaleY == null && skew == null && skewX == null && skewY == null && x == null && y == null) {
      return null;
    }

    if (Array.isArray(x) || Array.isArray(y)) {
      console.warn('Passing SvgLengthList to x or y attribute where SvgLength expected');
    }

    var tr = universal2axis(translate, translateX || (Array.isArray(x) ? x[0] : x), translateY || (Array.isArray(y) ? y[0] : y));
    var or = universal2axis(origin, originX, originY);
    var sc = universal2axis(scale, scaleX, scaleY, 1);
    var sk = universal2axis(skew, skewX, skewY);
    return {
      rotation: rotation == null ? 0 : +rotation || 0,
      originX: or[0],
      originY: or[1],
      scaleX: sc[0],
      scaleY: sc[1],
      skewX: sk[0],
      skewY: sk[1],
      x: tr[0],
      y: tr[1]
    };
  }

  function transformToMatrix(props, transform) {
    if (!props && !transform) {
      return null;
    }

    (0, _$$_REQUIRE(_dependencyMap[0]).reset)();
    props && appendTransformProps(props);

    if (transform) {
      if (Array.isArray(transform)) {
        if (typeof transform[0] === 'number') {
          (0, _$$_REQUIRE(_dependencyMap[0]).append)(transform[0], transform[1], transform[2], transform[3], transform[4], transform[5]);
        }
      } else if (typeof transform === 'string') {
        try {
          var t = (0, _$$_REQUIRE(_dependencyMap[1]).parse)(transform);
          (0, _$$_REQUIRE(_dependencyMap[0]).append)(t[0], t[3], t[1], t[4], t[2], t[5]);
        } catch (e) {
          console.error(e);
        }
      } else {
        var transformProps = props2transform(transform);
        transformProps && appendTransformProps(transformProps);
      }
    }

    return (0, _$$_REQUIRE(_dependencyMap[0]).toArray)();
  }

  function extractTransform(props) {
    if (Array.isArray(props)) {
      return props;
    }

    if (typeof props === 'string') {
      try {
        var t = (0, _$$_REQUIRE(_dependencyMap[1]).parse)(props);
        return [t[0], t[3], t[1], t[4], t[2], t[5]];
      } catch (e) {
        console.error(e);
        return _$$_REQUIRE(_dependencyMap[0]).identity;
      }
    }

    return transformToMatrix(props2transform(props), props.transform);
  }
},793,[794,795]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.reset = reset;
  exports.toArray = toArray;
  exports.append = append;
  exports.appendTransform = appendTransform;
  exports.identity = undefined;
  var DEG_TO_RAD = Math.PI / 180;
  var identity = [1, 0, 0, 1, 0, 0];
  exports.identity = identity;
  var a = 1;
  var b = 0;
  var c = 0;
  var d = 1;
  var tx = 0;
  var ty = 0;
  var hasInitialState = true;

  function reset() {
    if (hasInitialState) {
      return;
    }

    a = d = 1;
    b = c = tx = ty = 0;
    hasInitialState = true;
  }

  function toArray() {
    if (hasInitialState) {
      return identity;
    }

    return [a, b, c, d, tx, ty];
  }

  function append(a2, b2, c2, d2, tx2, ty2) {
    var change = a2 !== 1 || b2 !== 0 || c2 !== 0 || d2 !== 1;
    var translate = tx2 !== 0 || ty2 !== 0;

    if (!change && !translate) {
      return;
    }

    if (hasInitialState) {
      hasInitialState = false;
      a = a2;
      b = b2;
      c = c2;
      d = d2;
      tx = tx2;
      ty = ty2;
      return;
    }

    var a1 = a;
    var b1 = b;
    var c1 = c;
    var d1 = d;

    if (change) {
      a = a1 * a2 + c1 * b2;
      b = b1 * a2 + d1 * b2;
      c = a1 * c2 + c1 * d2;
      d = b1 * c2 + d1 * d2;
    }

    if (translate) {
      tx = a1 * tx2 + c1 * ty2 + tx;
      ty = b1 * tx2 + d1 * ty2 + ty;
    }
  }

  function appendTransform(x, y, scaleX, scaleY, rotation, skewX, skewY, regX, regY) {
    if (x === 0 && y === 0 && scaleX === 1 && scaleY === 1 && rotation === 0 && skewX === 0 && skewY === 0 && regX === 0 && regY === 0) {
      return;
    }

    var cos, sin;

    if (rotation % 360) {
      var r = rotation * DEG_TO_RAD;
      cos = Math.cos(r);
      sin = Math.sin(r);
    } else {
      cos = 1;
      sin = 0;
    }

    var a2 = cos * scaleX;
    var b2 = sin * scaleX;
    var c2 = -sin * scaleY;
    var d2 = cos * scaleY;

    if (skewX || skewY) {
      var b1 = Math.tan(skewY * DEG_TO_RAD);
      var c1 = Math.tan(skewX * DEG_TO_RAD);
      append(a2 + c1 * b2, b1 * a2 + b2, c2 + c1 * d2, b1 * c2 + d2, x, y);
    } else {
      append(a2, b2, c2, d2, x, y);
    }

    if (regX || regY) {
      tx -= regX * a + regY * c;
      ty -= regX * b + regY * d;
      hasInitialState = false;
    }
  }
},794,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  function peg$subclass(child, parent) {
    function ctor() {
      this.constructor = child;
    }

    ctor.prototype = parent.prototype;
    child.prototype = new ctor();
  }

  function peg$SyntaxError(message, expected, found, location) {
    this.message = message;
    this.expected = expected;
    this.found = found;
    this.location = location;
    this.name = "SyntaxError";

    if (typeof Error.captureStackTrace === "function") {
      Error.captureStackTrace(this, peg$SyntaxError);
    }
  }

  peg$subclass(peg$SyntaxError, Error);

  peg$SyntaxError.buildMessage = function (expected, found) {
    var DESCRIBE_EXPECTATION_FNS = {
      literal: function literal(expectation) {
        return "\"" + literalEscape(expectation.text) + "\"";
      },
      "class": function _class(expectation) {
        var escapedParts = "",
            i;

        for (i = 0; i < expectation.parts.length; i++) {
          escapedParts += expectation.parts[i] instanceof Array ? classEscape(expectation.parts[i][0]) + "-" + classEscape(expectation.parts[i][1]) : classEscape(expectation.parts[i]);
        }

        return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]";
      },
      any: function any(expectation) {
        return "any character";
      },
      end: function end(expectation) {
        return "end of input";
      },
      other: function other(expectation) {
        return expectation.description;
      }
    };

    function hex(ch) {
      return ch.charCodeAt(0).toString(16).toUpperCase();
    }

    function literalEscape(s) {
      return s.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\0/g, '\\0').replace(/\t/g, '\\t').replace(/\n/g, '\\n').replace(/\r/g, '\\r').replace(/[\x00-\x0F]/g, function (ch) {
        return '\\x0' + hex(ch);
      }).replace(/[\x10-\x1F\x7F-\x9F]/g, function (ch) {
        return '\\x' + hex(ch);
      });
    }

    function classEscape(s) {
      return s.replace(/\\/g, '\\\\').replace(/\]/g, '\\]').replace(/\^/g, '\\^').replace(/-/g, '\\-').replace(/\0/g, '\\0').replace(/\t/g, '\\t').replace(/\n/g, '\\n').replace(/\r/g, '\\r').replace(/[\x00-\x0F]/g, function (ch) {
        return '\\x0' + hex(ch);
      }).replace(/[\x10-\x1F\x7F-\x9F]/g, function (ch) {
        return '\\x' + hex(ch);
      });
    }

    function describeExpectation(expectation) {
      return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);
    }

    function describeExpected(expected) {
      var descriptions = new Array(expected.length),
          i,
          j;

      for (i = 0; i < expected.length; i++) {
        descriptions[i] = describeExpectation(expected[i]);
      }

      descriptions.sort();

      if (descriptions.length > 0) {
        for (i = 1, j = 1; i < descriptions.length; i++) {
          if (descriptions[i - 1] !== descriptions[i]) {
            descriptions[j] = descriptions[i];
            j++;
          }
        }

        descriptions.length = j;
      }

      switch (descriptions.length) {
        case 1:
          return descriptions[0];

        case 2:
          return descriptions[0] + " or " + descriptions[1];

        default:
          return descriptions.slice(0, -1).join(", ") + ", or " + descriptions[descriptions.length - 1];
      }
    }

    function describeFound(found) {
      return found ? "\"" + literalEscape(found) + "\"" : "end of input";
    }

    return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";
  };

  function peg$parse(input, options) {
    options = options !== undefined ? options : {};

    var peg$FAILED = {},
        peg$startRuleFunctions = {
      transformList: peg$parsetransformList
    },
        peg$startRuleFunction = peg$parsetransformList,
        peg$c0 = function peg$c0(ts) {
      return ts;
    },
        peg$c1 = function peg$c1(t, ts) {
      return multiply_matrices(t, ts);
    },
        peg$c2 = "matrix",
        peg$c3 = peg$literalExpectation("matrix", false),
        peg$c4 = "(",
        peg$c5 = peg$literalExpectation("(", false),
        peg$c6 = ")",
        peg$c7 = peg$literalExpectation(")", false),
        peg$c8 = function peg$c8(a, b, c, d, e, f) {
      return [a, c, e, b, d, f];
    },
        peg$c9 = "translate",
        peg$c10 = peg$literalExpectation("translate", false),
        peg$c11 = function peg$c11(tx, ty) {
      return [1, 0, tx, 0, 1, ty || 0];
    },
        peg$c12 = "scale",
        peg$c13 = peg$literalExpectation("scale", false),
        peg$c14 = function peg$c14(sx, sy) {
      return [sx, 0, 0, 0, sy === null ? sx : sy, 0];
    },
        peg$c15 = "rotate",
        peg$c16 = peg$literalExpectation("rotate", false),
        peg$c17 = function peg$c17(angle, c) {
      var cos = Math.cos(deg2rad * angle);
      var sin = Math.sin(deg2rad * angle);

      if (c !== null) {
        var x = c[0];
        var y = c[1];
        return [cos, -sin, cos * -x + -sin * -y + x, sin, cos, sin * -x + cos * -y + y];
      }

      return [cos, -sin, 0, sin, cos, 0];
    },
        peg$c18 = "skewX",
        peg$c19 = peg$literalExpectation("skewX", false),
        peg$c20 = function peg$c20(angle) {
      return [1, Math.tan(deg2rad * angle), 0, 0, 1, 0];
    },
        peg$c21 = "skewY",
        peg$c22 = peg$literalExpectation("skewY", false),
        peg$c23 = function peg$c23(angle) {
      return [1, 0, 0, Math.tan(deg2rad * angle), 1, 0];
    },
        peg$c24 = function peg$c24(f) {
      return parseFloat(f.join(""));
    },
        peg$c25 = function peg$c25(i) {
      return parseInt(i.join(""));
    },
        peg$c26 = function peg$c26(n) {
      return n;
    },
        peg$c27 = function peg$c27(n1, n2) {
      return [n1, n2];
    },
        peg$c28 = ",",
        peg$c29 = peg$literalExpectation(",", false),
        peg$c30 = function peg$c30(ds) {
      return ds.join("");
    },
        peg$c31 = function peg$c31(f) {
      return f.join("");
    },
        peg$c32 = function peg$c32(d) {
      return d.join("");
    },
        peg$c33 = peg$otherExpectation("fractionalConstant"),
        peg$c34 = ".",
        peg$c35 = peg$literalExpectation(".", false),
        peg$c36 = function peg$c36(d1, d2) {
      return [d1 ? d1.join("") : null, ".", d2.join("")].join("");
    },
        peg$c37 = /^[eE]/,
        peg$c38 = peg$classExpectation(["e", "E"], false, false),
        peg$c39 = function peg$c39(e) {
      return [e[0], e[1], e[2].join("")].join("");
    },
        peg$c40 = /^[+\-]/,
        peg$c41 = peg$classExpectation(["+", "-"], false, false),
        peg$c42 = /^[0-9]/,
        peg$c43 = peg$classExpectation([["0", "9"]], false, false),
        peg$c44 = /^[ \t\r\n]/,
        peg$c45 = peg$classExpectation([" ", "\t", "\r", "\n"], false, false),
        peg$currPos = 0,
        peg$savedPos = 0,
        peg$posDetailsCache = [{
      line: 1,
      column: 1
    }],
        peg$maxFailPos = 0,
        peg$maxFailExpected = [],
        peg$silentFails = 0,
        peg$result;

    if ("startRule" in options) {
      if (!(options.startRule in peg$startRuleFunctions)) {
        throw new Error("Can't start parsing from rule \"" + options.startRule + "\".");
      }

      peg$startRuleFunction = peg$startRuleFunctions[options.startRule];
    }

    function peg$literalExpectation(text, ignoreCase) {
      return {
        type: "literal",
        text: text,
        ignoreCase: ignoreCase
      };
    }

    function peg$classExpectation(parts, inverted, ignoreCase) {
      return {
        type: "class",
        parts: parts,
        inverted: inverted,
        ignoreCase: ignoreCase
      };
    }

    function peg$endExpectation() {
      return {
        type: "end"
      };
    }

    function peg$otherExpectation(description) {
      return {
        type: "other",
        description: description
      };
    }

    function peg$computePosDetails(pos) {
      var details = peg$posDetailsCache[pos],
          p;

      if (details) {
        return details;
      } else {
        p = pos - 1;

        while (!peg$posDetailsCache[p]) {
          p--;
        }

        details = peg$posDetailsCache[p];
        details = {
          line: details.line,
          column: details.column
        };

        while (p < pos) {
          if (input.charCodeAt(p) === 10) {
            details.line++;
            details.column = 1;
          } else {
            details.column++;
          }

          p++;
        }

        peg$posDetailsCache[pos] = details;
        return details;
      }
    }

    function peg$computeLocation(startPos, endPos) {
      var startPosDetails = peg$computePosDetails(startPos),
          endPosDetails = peg$computePosDetails(endPos);
      return {
        start: {
          offset: startPos,
          line: startPosDetails.line,
          column: startPosDetails.column
        },
        end: {
          offset: endPos,
          line: endPosDetails.line,
          column: endPosDetails.column
        }
      };
    }

    function peg$fail(expected) {
      if (peg$currPos < peg$maxFailPos) {
        return;
      }

      if (peg$currPos > peg$maxFailPos) {
        peg$maxFailPos = peg$currPos;
        peg$maxFailExpected = [];
      }

      peg$maxFailExpected.push(expected);
    }

    function peg$buildStructuredError(expected, found, location) {
      return new peg$SyntaxError(peg$SyntaxError.buildMessage(expected, found), expected, found, location);
    }

    function peg$parsetransformList() {
      var s0, s1, s2, s3, s4;
      s0 = peg$currPos;
      s1 = [];
      s2 = peg$parsewsp();

      while (s2 !== peg$FAILED) {
        s1.push(s2);
        s2 = peg$parsewsp();
      }

      if (s1 !== peg$FAILED) {
        s2 = peg$parsetransforms();

        if (s2 === peg$FAILED) {
          s2 = null;
        }

        if (s2 !== peg$FAILED) {
          s3 = [];
          s4 = peg$parsewsp();

          while (s4 !== peg$FAILED) {
            s3.push(s4);
            s4 = peg$parsewsp();
          }

          if (s3 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c0(s2);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
      } else {
        peg$currPos = s0;
        s0 = peg$FAILED;
      }

      return s0;
    }

    function peg$parsetransforms() {
      var s0, s1, s2, s3;
      s0 = peg$currPos;
      s1 = peg$parsetransform();

      if (s1 !== peg$FAILED) {
        s2 = [];
        s3 = peg$parsecommaWsp();

        while (s3 !== peg$FAILED) {
          s2.push(s3);
          s3 = peg$parsecommaWsp();
        }

        if (s2 !== peg$FAILED) {
          s3 = peg$parsetransforms();

          if (s3 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c1(s1, s3);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
      } else {
        peg$currPos = s0;
        s0 = peg$FAILED;
      }

      if (s0 === peg$FAILED) {
        s0 = peg$parsetransform();
      }

      return s0;
    }

    function peg$parsetransform() {
      var s0;
      s0 = peg$parsematrix();

      if (s0 === peg$FAILED) {
        s0 = peg$parsetranslate();

        if (s0 === peg$FAILED) {
          s0 = peg$parsescale();

          if (s0 === peg$FAILED) {
            s0 = peg$parserotate();

            if (s0 === peg$FAILED) {
              s0 = peg$parseskewX();

              if (s0 === peg$FAILED) {
                s0 = peg$parseskewY();
              }
            }
          }
        }
      }

      return s0;
    }

    function peg$parsematrix() {
      var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17;
      s0 = peg$currPos;

      if (input.substr(peg$currPos, 6) === peg$c2) {
        s1 = peg$c2;
        peg$currPos += 6;
      } else {
        s1 = peg$FAILED;

        if (peg$silentFails === 0) {
          peg$fail(peg$c3);
        }
      }

      if (s1 !== peg$FAILED) {
        s2 = [];
        s3 = peg$parsewsp();

        while (s3 !== peg$FAILED) {
          s2.push(s3);
          s3 = peg$parsewsp();
        }

        if (s2 !== peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 40) {
            s3 = peg$c4;
            peg$currPos++;
          } else {
            s3 = peg$FAILED;

            if (peg$silentFails === 0) {
              peg$fail(peg$c5);
            }
          }

          if (s3 !== peg$FAILED) {
            s4 = [];
            s5 = peg$parsewsp();

            while (s5 !== peg$FAILED) {
              s4.push(s5);
              s5 = peg$parsewsp();
            }

            if (s4 !== peg$FAILED) {
              s5 = peg$parsenumber();

              if (s5 !== peg$FAILED) {
                s6 = peg$parsecommaWsp();

                if (s6 !== peg$FAILED) {
                  s7 = peg$parsenumber();

                  if (s7 !== peg$FAILED) {
                    s8 = peg$parsecommaWsp();

                    if (s8 !== peg$FAILED) {
                      s9 = peg$parsenumber();

                      if (s9 !== peg$FAILED) {
                        s10 = peg$parsecommaWsp();

                        if (s10 !== peg$FAILED) {
                          s11 = peg$parsenumber();

                          if (s11 !== peg$FAILED) {
                            s12 = peg$parsecommaWsp();

                            if (s12 !== peg$FAILED) {
                              s13 = peg$parsenumber();

                              if (s13 !== peg$FAILED) {
                                s14 = peg$parsecommaWsp();

                                if (s14 !== peg$FAILED) {
                                  s15 = peg$parsenumber();

                                  if (s15 !== peg$FAILED) {
                                    s16 = [];
                                    s17 = peg$parsewsp();

                                    while (s17 !== peg$FAILED) {
                                      s16.push(s17);
                                      s17 = peg$parsewsp();
                                    }

                                    if (s16 !== peg$FAILED) {
                                      if (input.charCodeAt(peg$currPos) === 41) {
                                        s17 = peg$c6;
                                        peg$currPos++;
                                      } else {
                                        s17 = peg$FAILED;

                                        if (peg$silentFails === 0) {
                                          peg$fail(peg$c7);
                                        }
                                      }

                                      if (s17 !== peg$FAILED) {
                                        peg$savedPos = s0;
                                        s1 = peg$c8(s5, s7, s9, s11, s13, s15);
                                        s0 = s1;
                                      } else {
                                        peg$currPos = s0;
                                        s0 = peg$FAILED;
                                      }
                                    } else {
                                      peg$currPos = s0;
                                      s0 = peg$FAILED;
                                    }
                                  } else {
                                    peg$currPos = s0;
                                    s0 = peg$FAILED;
                                  }
                                } else {
                                  peg$currPos = s0;
                                  s0 = peg$FAILED;
                                }
                              } else {
                                peg$currPos = s0;
                                s0 = peg$FAILED;
                              }
                            } else {
                              peg$currPos = s0;
                              s0 = peg$FAILED;
                            }
                          } else {
                            peg$currPos = s0;
                            s0 = peg$FAILED;
                          }
                        } else {
                          peg$currPos = s0;
                          s0 = peg$FAILED;
                        }
                      } else {
                        peg$currPos = s0;
                        s0 = peg$FAILED;
                      }
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
      } else {
        peg$currPos = s0;
        s0 = peg$FAILED;
      }

      return s0;
    }

    function peg$parsetranslate() {
      var s0, s1, s2, s3, s4, s5, s6, s7, s8;
      s0 = peg$currPos;

      if (input.substr(peg$currPos, 9) === peg$c9) {
        s1 = peg$c9;
        peg$currPos += 9;
      } else {
        s1 = peg$FAILED;

        if (peg$silentFails === 0) {
          peg$fail(peg$c10);
        }
      }

      if (s1 !== peg$FAILED) {
        s2 = [];
        s3 = peg$parsewsp();

        while (s3 !== peg$FAILED) {
          s2.push(s3);
          s3 = peg$parsewsp();
        }

        if (s2 !== peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 40) {
            s3 = peg$c4;
            peg$currPos++;
          } else {
            s3 = peg$FAILED;

            if (peg$silentFails === 0) {
              peg$fail(peg$c5);
            }
          }

          if (s3 !== peg$FAILED) {
            s4 = [];
            s5 = peg$parsewsp();

            while (s5 !== peg$FAILED) {
              s4.push(s5);
              s5 = peg$parsewsp();
            }

            if (s4 !== peg$FAILED) {
              s5 = peg$parsenumber();

              if (s5 !== peg$FAILED) {
                s6 = peg$parsecommaWspNumber();

                if (s6 === peg$FAILED) {
                  s6 = null;
                }

                if (s6 !== peg$FAILED) {
                  s7 = [];
                  s8 = peg$parsewsp();

                  while (s8 !== peg$FAILED) {
                    s7.push(s8);
                    s8 = peg$parsewsp();
                  }

                  if (s7 !== peg$FAILED) {
                    if (input.charCodeAt(peg$currPos) === 41) {
                      s8 = peg$c6;
                      peg$currPos++;
                    } else {
                      s8 = peg$FAILED;

                      if (peg$silentFails === 0) {
                        peg$fail(peg$c7);
                      }
                    }

                    if (s8 !== peg$FAILED) {
                      peg$savedPos = s0;
                      s1 = peg$c11(s5, s6);
                      s0 = s1;
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
      } else {
        peg$currPos = s0;
        s0 = peg$FAILED;
      }

      return s0;
    }

    function peg$parsescale() {
      var s0, s1, s2, s3, s4, s5, s6, s7, s8;
      s0 = peg$currPos;

      if (input.substr(peg$currPos, 5) === peg$c12) {
        s1 = peg$c12;
        peg$currPos += 5;
      } else {
        s1 = peg$FAILED;

        if (peg$silentFails === 0) {
          peg$fail(peg$c13);
        }
      }

      if (s1 !== peg$FAILED) {
        s2 = [];
        s3 = peg$parsewsp();

        while (s3 !== peg$FAILED) {
          s2.push(s3);
          s3 = peg$parsewsp();
        }

        if (s2 !== peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 40) {
            s3 = peg$c4;
            peg$currPos++;
          } else {
            s3 = peg$FAILED;

            if (peg$silentFails === 0) {
              peg$fail(peg$c5);
            }
          }

          if (s3 !== peg$FAILED) {
            s4 = [];
            s5 = peg$parsewsp();

            while (s5 !== peg$FAILED) {
              s4.push(s5);
              s5 = peg$parsewsp();
            }

            if (s4 !== peg$FAILED) {
              s5 = peg$parsenumber();

              if (s5 !== peg$FAILED) {
                s6 = peg$parsecommaWspNumber();

                if (s6 === peg$FAILED) {
                  s6 = null;
                }

                if (s6 !== peg$FAILED) {
                  s7 = [];
                  s8 = peg$parsewsp();

                  while (s8 !== peg$FAILED) {
                    s7.push(s8);
                    s8 = peg$parsewsp();
                  }

                  if (s7 !== peg$FAILED) {
                    if (input.charCodeAt(peg$currPos) === 41) {
                      s8 = peg$c6;
                      peg$currPos++;
                    } else {
                      s8 = peg$FAILED;

                      if (peg$silentFails === 0) {
                        peg$fail(peg$c7);
                      }
                    }

                    if (s8 !== peg$FAILED) {
                      peg$savedPos = s0;
                      s1 = peg$c14(s5, s6);
                      s0 = s1;
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
      } else {
        peg$currPos = s0;
        s0 = peg$FAILED;
      }

      return s0;
    }

    function peg$parserotate() {
      var s0, s1, s2, s3, s4, s5, s6, s7, s8;
      s0 = peg$currPos;

      if (input.substr(peg$currPos, 6) === peg$c15) {
        s1 = peg$c15;
        peg$currPos += 6;
      } else {
        s1 = peg$FAILED;

        if (peg$silentFails === 0) {
          peg$fail(peg$c16);
        }
      }

      if (s1 !== peg$FAILED) {
        s2 = [];
        s3 = peg$parsewsp();

        while (s3 !== peg$FAILED) {
          s2.push(s3);
          s3 = peg$parsewsp();
        }

        if (s2 !== peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 40) {
            s3 = peg$c4;
            peg$currPos++;
          } else {
            s3 = peg$FAILED;

            if (peg$silentFails === 0) {
              peg$fail(peg$c5);
            }
          }

          if (s3 !== peg$FAILED) {
            s4 = [];
            s5 = peg$parsewsp();

            while (s5 !== peg$FAILED) {
              s4.push(s5);
              s5 = peg$parsewsp();
            }

            if (s4 !== peg$FAILED) {
              s5 = peg$parsenumber();

              if (s5 !== peg$FAILED) {
                s6 = peg$parsecommaWspTwoNumbers();

                if (s6 === peg$FAILED) {
                  s6 = null;
                }

                if (s6 !== peg$FAILED) {
                  s7 = [];
                  s8 = peg$parsewsp();

                  while (s8 !== peg$FAILED) {
                    s7.push(s8);
                    s8 = peg$parsewsp();
                  }

                  if (s7 !== peg$FAILED) {
                    if (input.charCodeAt(peg$currPos) === 41) {
                      s8 = peg$c6;
                      peg$currPos++;
                    } else {
                      s8 = peg$FAILED;

                      if (peg$silentFails === 0) {
                        peg$fail(peg$c7);
                      }
                    }

                    if (s8 !== peg$FAILED) {
                      peg$savedPos = s0;
                      s1 = peg$c17(s5, s6);
                      s0 = s1;
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
      } else {
        peg$currPos = s0;
        s0 = peg$FAILED;
      }

      return s0;
    }

    function peg$parseskewX() {
      var s0, s1, s2, s3, s4, s5, s6, s7;
      s0 = peg$currPos;

      if (input.substr(peg$currPos, 5) === peg$c18) {
        s1 = peg$c18;
        peg$currPos += 5;
      } else {
        s1 = peg$FAILED;

        if (peg$silentFails === 0) {
          peg$fail(peg$c19);
        }
      }

      if (s1 !== peg$FAILED) {
        s2 = [];
        s3 = peg$parsewsp();

        while (s3 !== peg$FAILED) {
          s2.push(s3);
          s3 = peg$parsewsp();
        }

        if (s2 !== peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 40) {
            s3 = peg$c4;
            peg$currPos++;
          } else {
            s3 = peg$FAILED;

            if (peg$silentFails === 0) {
              peg$fail(peg$c5);
            }
          }

          if (s3 !== peg$FAILED) {
            s4 = [];
            s5 = peg$parsewsp();

            while (s5 !== peg$FAILED) {
              s4.push(s5);
              s5 = peg$parsewsp();
            }

            if (s4 !== peg$FAILED) {
              s5 = peg$parsenumber();

              if (s5 !== peg$FAILED) {
                s6 = [];
                s7 = peg$parsewsp();

                while (s7 !== peg$FAILED) {
                  s6.push(s7);
                  s7 = peg$parsewsp();
                }

                if (s6 !== peg$FAILED) {
                  if (input.charCodeAt(peg$currPos) === 41) {
                    s7 = peg$c6;
                    peg$currPos++;
                  } else {
                    s7 = peg$FAILED;

                    if (peg$silentFails === 0) {
                      peg$fail(peg$c7);
                    }
                  }

                  if (s7 !== peg$FAILED) {
                    peg$savedPos = s0;
                    s1 = peg$c20(s5);
                    s0 = s1;
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
      } else {
        peg$currPos = s0;
        s0 = peg$FAILED;
      }

      return s0;
    }

    function peg$parseskewY() {
      var s0, s1, s2, s3, s4, s5, s6, s7;
      s0 = peg$currPos;

      if (input.substr(peg$currPos, 5) === peg$c21) {
        s1 = peg$c21;
        peg$currPos += 5;
      } else {
        s1 = peg$FAILED;

        if (peg$silentFails === 0) {
          peg$fail(peg$c22);
        }
      }

      if (s1 !== peg$FAILED) {
        s2 = [];
        s3 = peg$parsewsp();

        while (s3 !== peg$FAILED) {
          s2.push(s3);
          s3 = peg$parsewsp();
        }

        if (s2 !== peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 40) {
            s3 = peg$c4;
            peg$currPos++;
          } else {
            s3 = peg$FAILED;

            if (peg$silentFails === 0) {
              peg$fail(peg$c5);
            }
          }

          if (s3 !== peg$FAILED) {
            s4 = [];
            s5 = peg$parsewsp();

            while (s5 !== peg$FAILED) {
              s4.push(s5);
              s5 = peg$parsewsp();
            }

            if (s4 !== peg$FAILED) {
              s5 = peg$parsenumber();

              if (s5 !== peg$FAILED) {
                s6 = [];
                s7 = peg$parsewsp();

                while (s7 !== peg$FAILED) {
                  s6.push(s7);
                  s7 = peg$parsewsp();
                }

                if (s6 !== peg$FAILED) {
                  if (input.charCodeAt(peg$currPos) === 41) {
                    s7 = peg$c6;
                    peg$currPos++;
                  } else {
                    s7 = peg$FAILED;

                    if (peg$silentFails === 0) {
                      peg$fail(peg$c7);
                    }
                  }

                  if (s7 !== peg$FAILED) {
                    peg$savedPos = s0;
                    s1 = peg$c23(s5);
                    s0 = s1;
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
      } else {
        peg$currPos = s0;
        s0 = peg$FAILED;
      }

      return s0;
    }

    function peg$parsenumber() {
      var s0, s1, s2, s3;
      s0 = peg$currPos;
      s1 = peg$currPos;
      s2 = peg$parsesign();

      if (s2 === peg$FAILED) {
        s2 = null;
      }

      if (s2 !== peg$FAILED) {
        s3 = peg$parsefloatingPointConstant();

        if (s3 !== peg$FAILED) {
          s2 = [s2, s3];
          s1 = s2;
        } else {
          peg$currPos = s1;
          s1 = peg$FAILED;
        }
      } else {
        peg$currPos = s1;
        s1 = peg$FAILED;
      }

      if (s1 !== peg$FAILED) {
        peg$savedPos = s0;
        s1 = peg$c24(s1);
      }

      s0 = s1;

      if (s0 === peg$FAILED) {
        s0 = peg$currPos;
        s1 = peg$currPos;
        s2 = peg$parsesign();

        if (s2 === peg$FAILED) {
          s2 = null;
        }

        if (s2 !== peg$FAILED) {
          s3 = peg$parseintegerConstant();

          if (s3 !== peg$FAILED) {
            s2 = [s2, s3];
            s1 = s2;
          } else {
            peg$currPos = s1;
            s1 = peg$FAILED;
          }
        } else {
          peg$currPos = s1;
          s1 = peg$FAILED;
        }

        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c25(s1);
        }

        s0 = s1;
      }

      return s0;
    }

    function peg$parsecommaWspNumber() {
      var s0, s1, s2;
      s0 = peg$currPos;
      s1 = peg$parsecommaWsp();

      if (s1 !== peg$FAILED) {
        s2 = peg$parsenumber();

        if (s2 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c26(s2);
          s0 = s1;
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
      } else {
        peg$currPos = s0;
        s0 = peg$FAILED;
      }

      return s0;
    }

    function peg$parsecommaWspTwoNumbers() {
      var s0, s1, s2, s3, s4;
      s0 = peg$currPos;
      s1 = peg$parsecommaWsp();

      if (s1 !== peg$FAILED) {
        s2 = peg$parsenumber();

        if (s2 !== peg$FAILED) {
          s3 = peg$parsecommaWsp();

          if (s3 !== peg$FAILED) {
            s4 = peg$parsenumber();

            if (s4 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c27(s2, s4);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
      } else {
        peg$currPos = s0;
        s0 = peg$FAILED;
      }

      return s0;
    }

    function peg$parsecommaWsp() {
      var s0, s1, s2, s3, s4;
      s0 = peg$currPos;
      s1 = [];
      s2 = peg$parsewsp();

      if (s2 !== peg$FAILED) {
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parsewsp();
        }
      } else {
        s1 = peg$FAILED;
      }

      if (s1 !== peg$FAILED) {
        s2 = peg$parsecomma();

        if (s2 === peg$FAILED) {
          s2 = null;
        }

        if (s2 !== peg$FAILED) {
          s3 = [];
          s4 = peg$parsewsp();

          while (s4 !== peg$FAILED) {
            s3.push(s4);
            s4 = peg$parsewsp();
          }

          if (s3 !== peg$FAILED) {
            s1 = [s1, s2, s3];
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
      } else {
        peg$currPos = s0;
        s0 = peg$FAILED;
      }

      if (s0 === peg$FAILED) {
        s0 = peg$currPos;
        s1 = peg$parsecomma();

        if (s1 !== peg$FAILED) {
          s2 = [];
          s3 = peg$parsewsp();

          while (s3 !== peg$FAILED) {
            s2.push(s3);
            s3 = peg$parsewsp();
          }

          if (s2 !== peg$FAILED) {
            s1 = [s1, s2];
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
      }

      return s0;
    }

    function peg$parsecomma() {
      var s0;

      if (input.charCodeAt(peg$currPos) === 44) {
        s0 = peg$c28;
        peg$currPos++;
      } else {
        s0 = peg$FAILED;

        if (peg$silentFails === 0) {
          peg$fail(peg$c29);
        }
      }

      return s0;
    }

    function peg$parseintegerConstant() {
      var s0, s1;
      s0 = peg$currPos;
      s1 = peg$parsedigitSequence();

      if (s1 !== peg$FAILED) {
        peg$savedPos = s0;
        s1 = peg$c30(s1);
      }

      s0 = s1;
      return s0;
    }

    function peg$parsefloatingPointConstant() {
      var s0, s1, s2, s3;
      s0 = peg$currPos;
      s1 = peg$currPos;
      s2 = peg$parsefractionalConstant();

      if (s2 !== peg$FAILED) {
        s3 = peg$parseexponent();

        if (s3 === peg$FAILED) {
          s3 = null;
        }

        if (s3 !== peg$FAILED) {
          s2 = [s2, s3];
          s1 = s2;
        } else {
          peg$currPos = s1;
          s1 = peg$FAILED;
        }
      } else {
        peg$currPos = s1;
        s1 = peg$FAILED;
      }

      if (s1 !== peg$FAILED) {
        peg$savedPos = s0;
        s1 = peg$c31(s1);
      }

      s0 = s1;

      if (s0 === peg$FAILED) {
        s0 = peg$currPos;
        s1 = peg$currPos;
        s2 = peg$parsedigitSequence();

        if (s2 !== peg$FAILED) {
          s3 = peg$parseexponent();

          if (s3 !== peg$FAILED) {
            s2 = [s2, s3];
            s1 = s2;
          } else {
            peg$currPos = s1;
            s1 = peg$FAILED;
          }
        } else {
          peg$currPos = s1;
          s1 = peg$FAILED;
        }

        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c32(s1);
        }

        s0 = s1;
      }

      return s0;
    }

    function peg$parsefractionalConstant() {
      var s0, s1, s2, s3;
      peg$silentFails++;
      s0 = peg$currPos;
      s1 = peg$parsedigitSequence();

      if (s1 === peg$FAILED) {
        s1 = null;
      }

      if (s1 !== peg$FAILED) {
        if (input.charCodeAt(peg$currPos) === 46) {
          s2 = peg$c34;
          peg$currPos++;
        } else {
          s2 = peg$FAILED;

          if (peg$silentFails === 0) {
            peg$fail(peg$c35);
          }
        }

        if (s2 !== peg$FAILED) {
          s3 = peg$parsedigitSequence();

          if (s3 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c36(s1, s3);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
      } else {
        peg$currPos = s0;
        s0 = peg$FAILED;
      }

      if (s0 === peg$FAILED) {
        s0 = peg$currPos;
        s1 = peg$parsedigitSequence();

        if (s1 !== peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 46) {
            s2 = peg$c34;
            peg$currPos++;
          } else {
            s2 = peg$FAILED;

            if (peg$silentFails === 0) {
              peg$fail(peg$c35);
            }
          }

          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c32(s1);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
      }

      peg$silentFails--;

      if (s0 === peg$FAILED) {
        s1 = peg$FAILED;

        if (peg$silentFails === 0) {
          peg$fail(peg$c33);
        }
      }

      return s0;
    }

    function peg$parseexponent() {
      var s0, s1, s2, s3, s4;
      s0 = peg$currPos;
      s1 = peg$currPos;

      if (peg$c37.test(input.charAt(peg$currPos))) {
        s2 = input.charAt(peg$currPos);
        peg$currPos++;
      } else {
        s2 = peg$FAILED;

        if (peg$silentFails === 0) {
          peg$fail(peg$c38);
        }
      }

      if (s2 !== peg$FAILED) {
        s3 = peg$parsesign();

        if (s3 === peg$FAILED) {
          s3 = null;
        }

        if (s3 !== peg$FAILED) {
          s4 = peg$parsedigitSequence();

          if (s4 !== peg$FAILED) {
            s2 = [s2, s3, s4];
            s1 = s2;
          } else {
            peg$currPos = s1;
            s1 = peg$FAILED;
          }
        } else {
          peg$currPos = s1;
          s1 = peg$FAILED;
        }
      } else {
        peg$currPos = s1;
        s1 = peg$FAILED;
      }

      if (s1 !== peg$FAILED) {
        peg$savedPos = s0;
        s1 = peg$c39(s1);
      }

      s0 = s1;
      return s0;
    }

    function peg$parsesign() {
      var s0;

      if (peg$c40.test(input.charAt(peg$currPos))) {
        s0 = input.charAt(peg$currPos);
        peg$currPos++;
      } else {
        s0 = peg$FAILED;

        if (peg$silentFails === 0) {
          peg$fail(peg$c41);
        }
      }

      return s0;
    }

    function peg$parsedigitSequence() {
      var s0, s1;
      s0 = [];
      s1 = peg$parsedigit();

      if (s1 !== peg$FAILED) {
        while (s1 !== peg$FAILED) {
          s0.push(s1);
          s1 = peg$parsedigit();
        }
      } else {
        s0 = peg$FAILED;
      }

      return s0;
    }

    function peg$parsedigit() {
      var s0;

      if (peg$c42.test(input.charAt(peg$currPos))) {
        s0 = input.charAt(peg$currPos);
        peg$currPos++;
      } else {
        s0 = peg$FAILED;

        if (peg$silentFails === 0) {
          peg$fail(peg$c43);
        }
      }

      return s0;
    }

    function peg$parsewsp() {
      var s0;

      if (peg$c44.test(input.charAt(peg$currPos))) {
        s0 = input.charAt(peg$currPos);
        peg$currPos++;
      } else {
        s0 = peg$FAILED;

        if (peg$silentFails === 0) {
          peg$fail(peg$c45);
        }
      }

      return s0;
    }

    var deg2rad = Math.PI / 180;

    function multiply_matrices(l, r) {
      var al = l[0];
      var cl = l[1];
      var el = l[2];
      var bl = l[3];
      var dl = l[4];
      var fl = l[5];
      var ar = r[0];
      var cr = r[1];
      var er = r[2];
      var br = r[3];
      var dr = r[4];
      var fr = r[5];
      var a = al * ar + cl * br;
      var c = al * cr + cl * dr;
      var e = al * er + cl * fr + el;
      var b = bl * ar + dl * br;
      var d = bl * cr + dl * dr;
      var f = bl * er + dl * fr + fl;
      return [a, c, e, b, d, f];
    }

    peg$result = peg$startRuleFunction();

    if (peg$result !== peg$FAILED && peg$currPos === input.length) {
      return peg$result;
    } else {
      if (peg$result !== peg$FAILED && peg$currPos < input.length) {
        peg$fail(peg$endExpectation());
      }

      throw peg$buildStructuredError(peg$maxFailExpected, peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, peg$maxFailPos < input.length ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) : peg$computeLocation(peg$maxFailPos, peg$maxFailPos));
    }
  }

  module.exports = {
    SyntaxError: peg$SyntaxError,
    parse: peg$parse
  };
},795,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Shape2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Circle = function (_Shape) {
    (0, _inherits2.default)(Circle, _Shape);

    var _super = _createSuper(Circle);

    function Circle() {
      (0, _classCallCheck2.default)(this, Circle);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(Circle, [{
      key: "render",
      value: function render() {
        var props = this.props;
        var cx = props.cx,
            cy = props.cy,
            r = props.r;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).RNSVGCircle, (0, _extends2.default)({
          ref: this.refMethod
        }, (0, _$$_REQUIRE(_dependencyMap[10]).extract)(this, props), {
          cx: cx,
          cy: cy,
          r: r
        }));
      }
    }]);
    return Circle;
  }(_Shape2.default);

  exports.default = Circle;
  Circle.displayName = 'Circle';
  Circle.defaultProps = {
    cx: 0,
    cy: 0,
    r: 0
  };
},796,[5,6,7,8,12,14,16,17,781,783,784]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Shape2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Ellipse = function (_Shape) {
    (0, _inherits2.default)(Ellipse, _Shape);

    var _super = _createSuper(Ellipse);

    function Ellipse() {
      (0, _classCallCheck2.default)(this, Ellipse);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(Ellipse, [{
      key: "render",
      value: function render() {
        var props = this.props;
        var cx = props.cx,
            cy = props.cy,
            rx = props.rx,
            ry = props.ry;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).RNSVGEllipse, (0, _extends2.default)({
          ref: this.refMethod
        }, (0, _$$_REQUIRE(_dependencyMap[10]).extract)(this, props), {
          cx: cx,
          cy: cy,
          rx: rx,
          ry: ry
        }));
      }
    }]);
    return Ellipse;
  }(_Shape2.default);

  exports.default = Ellipse;
  Ellipse.displayName = 'Ellipse';
  Ellipse.defaultProps = {
    cx: 0,
    cy: 0,
    rx: 0,
    ry: 0
  };
},797,[5,6,7,8,12,14,16,17,781,783,784]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Path = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _Shape2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _extractPolyPoints = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Polygon = function (_Shape) {
    (0, _inherits2.default)(Polygon, _Shape);

    var _super = _createSuper(Polygon);

    function Polygon() {
      var _this;

      (0, _classCallCheck2.default)(this, Polygon);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));

      _this.setNativeProps = function (props) {
        var points = props.points;

        if (points) {
          props.d = "M" + (0, _extractPolyPoints.default)(points) + "z";
        }

        _this.root && _this.root.setNativeProps(props);
      };

      return _this;
    }

    (0, _createClass2.default)(Polygon, [{
      key: "render",
      value: function render() {
        var props = this.props;
        var points = props.points;
        return _react.default.createElement(_Path.default, (0, _extends2.default)({
          ref: this.refMethod,
          d: points && "M" + (0, _extractPolyPoints.default)(points) + "z"
        }, props));
      }
    }]);
    return Polygon;
  }(_Shape2.default);

  exports.default = Polygon;
  Polygon.displayName = 'Polygon';
  Polygon.defaultProps = {
    points: ''
  };
},798,[5,6,7,8,12,14,16,17,799,781,800]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Shape2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Path = function (_Shape) {
    (0, _inherits2.default)(Path, _Shape);

    var _super = _createSuper(Path);

    function Path() {
      (0, _classCallCheck2.default)(this, Path);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(Path, [{
      key: "render",
      value: function render() {
        var props = this.props;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).RNSVGPath, (0, _extends2.default)({
          ref: this.refMethod
        }, (0, _$$_REQUIRE(_dependencyMap[10]).extract)(this, props), {
          d: props.d
        }));
      }
    }]);
    return Path;
  }(_Shape2.default);

  exports.default = Path;
  Path.displayName = 'Path';
},799,[5,6,7,8,12,14,16,17,781,783,784]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = extractPolyPoints;

  function extractPolyPoints(points) {
    var polyPoints = Array.isArray(points) ? points.join(',') : points;
    return polyPoints.replace(/[^e]-/, ' -').split(/(?:\s+|\s*,\s*)/g).join(' ');
  }
},800,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Path = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _Shape2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _extractPolyPoints = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Polyline = function (_Shape) {
    (0, _inherits2.default)(Polyline, _Shape);

    var _super = _createSuper(Polyline);

    function Polyline() {
      var _this;

      (0, _classCallCheck2.default)(this, Polyline);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));

      _this.setNativeProps = function (props) {
        var points = props.points;

        if (points) {
          props.d = "M" + (0, _extractPolyPoints.default)(points);
        }

        _this.root && _this.root.setNativeProps(props);
      };

      return _this;
    }

    (0, _createClass2.default)(Polyline, [{
      key: "render",
      value: function render() {
        var props = this.props;
        var points = props.points;
        return _react.default.createElement(_Path.default, (0, _extends2.default)({
          ref: this.refMethod,
          d: points && "M" + (0, _extractPolyPoints.default)(points)
        }, props));
      }
    }]);
    return Polyline;
  }(_Shape2.default);

  exports.default = Polyline;
  Polyline.displayName = 'Polyline';
  Polyline.defaultProps = {
    points: ''
  };
},801,[5,6,7,8,12,14,16,17,799,781,800]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Shape2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Line = function (_Shape) {
    (0, _inherits2.default)(Line, _Shape);

    var _super = _createSuper(Line);

    function Line() {
      (0, _classCallCheck2.default)(this, Line);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(Line, [{
      key: "render",
      value: function render() {
        var props = this.props;
        var x1 = props.x1,
            y1 = props.y1,
            x2 = props.x2,
            y2 = props.y2;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).RNSVGLine, (0, _extends2.default)({
          ref: this.refMethod
        }, (0, _$$_REQUIRE(_dependencyMap[10]).extract)(this, props), {
          x1: x1,
          y1: y1,
          x2: x2,
          y2: y2
        }));
      }
    }]);
    return Line;
  }(_Shape2.default);

  exports.default = Line;
  Line.displayName = 'Line';
  Line.defaultProps = {
    x1: 0,
    y1: 0,
    x2: 0,
    y2: 0
  };
},802,[5,6,7,8,12,14,16,17,781,783,784]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  var _extractResponder = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _extractViewBox = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _extractColor = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _Shape2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _G = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var RNSVGSvgViewManager = _reactNative.NativeModules.RNSVGSvgViewManager;

  var styles = _reactNative.StyleSheet.create({
    svg: {
      backgroundColor: 'transparent',
      borderWidth: 0
    }
  });

  var defaultStyle = styles.svg;

  var Svg = function (_Shape) {
    (0, _inherits2.default)(Svg, _Shape);

    var _super = _createSuper(Svg);

    function Svg() {
      var _this;

      (0, _classCallCheck2.default)(this, Svg);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));

      _this.measureInWindow = function (callback) {
        var _assertThisInitialize = (0, _assertThisInitialized2.default)(_this),
            root = _assertThisInitialize.root;

        root && root.measureInWindow(callback);
      };

      _this.measure = function (callback) {
        var _assertThisInitialize2 = (0, _assertThisInitialized2.default)(_this),
            root = _assertThisInitialize2.root;

        root && root.measure(callback);
      };

      _this.measureLayout = function (relativeToNativeNode, onSuccess, onFail) {
        var _assertThisInitialize3 = (0, _assertThisInitialized2.default)(_this),
            root = _assertThisInitialize3.root;

        root && root.measureLayout(relativeToNativeNode, onSuccess, onFail);
      };

      _this.setNativeProps = function (props) {
        var width = props.width,
            height = props.height;

        if (width) {
          props.bbWidth = width;
        }

        if (height) {
          props.bbHeight = height;
        }

        var _assertThisInitialize4 = (0, _assertThisInitialized2.default)(_this),
            root = _assertThisInitialize4.root;

        root && root.setNativeProps(props);
      };

      _this.toDataURL = function (callback, options) {
        if (!callback) {
          return;
        }

        var handle = (0, _reactNative.findNodeHandle)(_this.root);
        RNSVGSvgViewManager.toDataURL(handle, options, callback);
      };

      return _this;
    }

    (0, _createClass2.default)(Svg, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            style = _this$props.style,
            opacity = _this$props.opacity,
            viewBox = _this$props.viewBox,
            children = _this$props.children,
            onLayout = _this$props.onLayout,
            preserveAspectRatio = _this$props.preserveAspectRatio,
            extracted = (0, _objectWithoutProperties2.default)(_this$props, ["style", "opacity", "viewBox", "children", "onLayout", "preserveAspectRatio"]);
        var stylesAndProps = (0, _extends2.default)({}, Array.isArray(style) ? Object.assign.apply(Object, [{}].concat((0, _toConsumableArray2.default)(style))) : style, extracted);
        var color = stylesAndProps.color,
            width = stylesAndProps.width,
            height = stylesAndProps.height,
            focusable = stylesAndProps.focusable,
            font = stylesAndProps.font,
            transform = stylesAndProps.transform,
            fill = stylesAndProps.fill,
            fillOpacity = stylesAndProps.fillOpacity,
            fillRule = stylesAndProps.fillRule,
            stroke = stylesAndProps.stroke,
            strokeWidth = stylesAndProps.strokeWidth,
            strokeOpacity = stylesAndProps.strokeOpacity,
            strokeDasharray = stylesAndProps.strokeDasharray,
            strokeDashoffset = stylesAndProps.strokeDashoffset,
            strokeLinecap = stylesAndProps.strokeLinecap,
            strokeLinejoin = stylesAndProps.strokeLinejoin,
            strokeMiterlimit = stylesAndProps.strokeMiterlimit;

        if (width === undefined && height === undefined) {
          width = height = '100%';
        }

        var props = extracted;
        props.focusable = Boolean(focusable) && focusable !== 'false';
        var rootStyles = [defaultStyle];

        if (style) {
          rootStyles.push(style);
        }

        var override = false;
        var overrideStyles = {};
        var o = opacity != null ? +opacity : NaN;

        if (!isNaN(o)) {
          override = true;
          overrideStyles.opacity = o;
        }

        if (width && height) {
          override = true;
          var w = parseInt(width, 10);
          var h = parseInt(height, 10);
          var doNotParseWidth = isNaN(w) || width[width.length - 1] === '%';
          var doNotParseHeight = isNaN(h) || height[height.length - 1] === '%';
          overrideStyles.width = doNotParseWidth ? width : w;
          overrideStyles.height = doNotParseHeight ? height : h;
          overrideStyles.flex = 0;
        }

        if (override) {
          rootStyles.push(overrideStyles);
        }

        props.style = rootStyles.length > 1 ? rootStyles : defaultStyle;

        if (width != null) {
          props.bbWidth = width;
        }

        if (height != null) {
          props.bbHeight = height;
        }

        (0, _extractResponder.default)(props, props, this);
        var tint = (0, _extractColor.default)(color);

        if (tint != null) {
          props.color = tint;
          props.tintColor = tint;
        }

        if (onLayout != null) {
          props.onLayout = onLayout;
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).RNSVGSvg, (0, _extends2.default)({}, props, {
          ref: this.refMethod
        }, (0, _extractViewBox.default)({
          viewBox: viewBox,
          preserveAspectRatio: preserveAspectRatio
        })), _react.default.createElement(_G.default, {
          children: children,
          style: style,
          font: font,
          transform: transform,
          fill: fill,
          fillOpacity: fillOpacity,
          fillRule: fillRule,
          stroke: stroke,
          strokeWidth: strokeWidth,
          strokeOpacity: strokeOpacity,
          strokeDasharray: strokeDasharray,
          strokeDashoffset: strokeDashoffset,
          strokeLinecap: strokeLinecap,
          strokeLinejoin: strokeLinejoin,
          strokeMiterlimit: strokeMiterlimit
        }));
      }
    }]);
    return Svg;
  }(_Shape2.default);

  exports.default = Svg;
  Svg.displayName = 'Svg';
  Svg.defaultProps = {
    preserveAspectRatio: 'xMidYMid meet'
  };
},803,[5,21,6,108,7,8,15,12,14,16,17,28,791,804,787,781,805,783]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = extractViewBox;
  exports.alignEnum = exports.meetOrSliceTypes = undefined;
  var meetOrSliceTypes = {
    meet: 0,
    slice: 1,
    none: 2
  };
  exports.meetOrSliceTypes = meetOrSliceTypes;
  var alignEnum = ['xMinYMin', 'xMidYMin', 'xMaxYMin', 'xMinYMid', 'xMidYMid', 'xMaxYMid', 'xMinYMax', 'xMidYMax', 'xMaxYMax', 'none'].reduce(function (prev, name) {
    prev[name] = name;
    return prev;
  }, {});
  exports.alignEnum = alignEnum;
  var spacesRegExp = /\s+/;

  function extractViewBox(props) {
    var viewBox = props.viewBox,
        preserveAspectRatio = props.preserveAspectRatio;

    if (!viewBox) {
      return null;
    }

    var params = (Array.isArray(viewBox) ? viewBox : viewBox.trim().split(spacesRegExp)).map(Number);

    if (params.length !== 4 || params.some(isNaN)) {
      console.warn('Invalid `viewBox` prop:' + viewBox);
      return null;
    }

    var modes = preserveAspectRatio ? preserveAspectRatio.trim().split(spacesRegExp) : [];
    var align = modes[0];
    var meetOrSlice = modes[1];
    return {
      minX: params[0],
      minY: params[1],
      vbWidth: params[2],
      vbHeight: params[3],
      align: alignEnum[align] || 'xMidYMid',
      meetOrSlice: meetOrSliceTypes[meetOrSlice] || 0
    };
  }
},804,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _extractProps = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _extractTransform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _Shape2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var G = function (_Shape) {
    (0, _inherits2.default)(G, _Shape);

    var _super = _createSuper(G);

    function G() {
      var _this;

      (0, _classCallCheck2.default)(this, G);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));

      _this.setNativeProps = function (props) {
        var matrix = !props.matrix && (0, _extractTransform.default)(props);

        if (matrix) {
          props.matrix = matrix;
        }

        _this.root && _this.root.setNativeProps(props);
      };

      return _this;
    }

    (0, _createClass2.default)(G, [{
      key: "render",
      value: function render() {
        var props = this.props;
        var prop = (0, _extractProps.propsAndStyles)(props);
        var extractedProps = (0, _extractProps.default)(prop, this);
        var font = (0, _$$_REQUIRE(_dependencyMap[11]).extractFont)(prop);

        if (hasProps(font)) {
          extractedProps.font = font;
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).RNSVGGroup, (0, _extends2.default)({
          ref: this.refMethod
        }, extractedProps), props.children);
      }
    }]);
    return G;
  }(_Shape2.default);

  exports.default = G;
  G.displayName = 'G';

  var hasProps = function hasProps(obj) {
    for (var _ in obj) {
      return true;
    }

    return false;
  };
},805,[5,6,7,8,12,14,16,17,784,793,781,806,783]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.extractFont = extractFont;
  exports.setTSpan = setTSpan;
  exports.default = extractText;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _extractLengthList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var fontRegExp = /^\s*((?:(?:normal|bold|italic)\s+)*)(?:(\d+(?:\.\d+)?(?:%|px|em|pt|pc|mm|cm|in]))*(?:\s*\/.*?)?\s+)?\s*"?([^"]*)/i;
  var fontFamilyPrefix = /^[\s"']*/;
  var fontFamilySuffix = /[\s"']*$/;
  var commaReg = /\s*,\s*/g;
  var cachedFontObjectsFromString = {};

  function extractSingleFontFamily(fontFamilyString) {
    return fontFamilyString ? fontFamilyString.split(commaReg)[0].replace(fontFamilyPrefix, '').replace(fontFamilySuffix, '') : null;
  }

  function parseFontString(font) {
    if (cachedFontObjectsFromString.hasOwnProperty(font)) {
      return cachedFontObjectsFromString[font];
    }

    var match = fontRegExp.exec(font);

    if (!match) {
      cachedFontObjectsFromString[font] = null;
      return null;
    }

    var isBold = /bold/.exec(match[1]);
    var isItalic = /italic/.exec(match[1]);
    cachedFontObjectsFromString[font] = {
      fontSize: match[2] || 12,
      fontWeight: isBold ? 'bold' : 'normal',
      fontStyle: isItalic ? 'italic' : 'normal',
      fontFamily: extractSingleFontFamily(match[3])
    };
    return cachedFontObjectsFromString[font];
  }

  function extractFont(props) {
    var fontData = props.fontData,
        fontStyle = props.fontStyle,
        fontVariant = props.fontVariant,
        fontWeight = props.fontWeight,
        fontStretch = props.fontStretch,
        fontSize = props.fontSize,
        fontFamily = props.fontFamily,
        textAnchor = props.textAnchor,
        textDecoration = props.textDecoration,
        letterSpacing = props.letterSpacing,
        wordSpacing = props.wordSpacing,
        kerning = props.kerning,
        fontFeatureSettings = props.fontFeatureSettings,
        fontVariantLigatures = props.fontVariantLigatures,
        fontVariationSettings = props.fontVariationSettings,
        font = props.font;
    var ownedFont = (0, _$$_REQUIRE(_dependencyMap[4]).pickNotNil)({
      fontData: fontData,
      fontStyle: fontStyle,
      fontVariant: fontVariant,
      fontWeight: fontWeight,
      fontStretch: fontStretch,
      fontSize: fontSize,
      fontFamily: extractSingleFontFamily(fontFamily),
      textAnchor: textAnchor,
      textDecoration: textDecoration,
      letterSpacing: letterSpacing,
      wordSpacing: wordSpacing,
      kerning: kerning,
      fontFeatureSettings: fontFeatureSettings,
      fontVariantLigatures: fontVariantLigatures,
      fontVariationSettings: fontVariationSettings
    });
    var baseFont = typeof font === 'string' ? parseFontString(font) : font;
    return (0, _extends2.default)({}, baseFont, ownedFont);
  }

  var TSpan;

  function setTSpan(TSpanImplementation) {
    TSpan = TSpanImplementation;
  }

  function getChild(child) {
    if (typeof child === 'string' || typeof child === 'number') {
      return _react.default.createElement(TSpan, null, String(child));
    } else {
      return child;
    }
  }

  function extractText(props, container) {
    var x = props.x,
        y = props.y,
        dx = props.dx,
        dy = props.dy,
        rotate = props.rotate,
        children = props.children,
        inlineSize = props.inlineSize,
        baselineShift = props.baselineShift,
        verticalAlign = props.verticalAlign,
        alignmentBaseline = props.alignmentBaseline;
    var textChildren = typeof children === 'string' || typeof children === 'number' ? container ? _react.default.createElement(TSpan, null, String(children)) : null : _react.Children.count(children) > 1 || Array.isArray(children) ? _react.Children.map(children, getChild) : children;
    return {
      content: textChildren === null ? String(children) : null,
      children: textChildren,
      inlineSize: inlineSize,
      baselineShift: baselineShift,
      verticalAlign: verticalAlign,
      alignmentBaseline: alignmentBaseline,
      font: extractFont(props),
      x: (0, _extractLengthList.default)(x),
      y: (0, _extractLengthList.default)(y),
      dx: (0, _extractLengthList.default)(dx),
      dy: (0, _extractLengthList.default)(dy),
      rotate: (0, _extractLengthList.default)(rotate)
    };
  }
},806,[5,6,17,790,792]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _extractText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _extractProps = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _extractTransform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _Shape2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  _$$_REQUIRE(_dependencyMap[12]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Text = function (_Shape) {
    (0, _inherits2.default)(Text, _Shape);

    var _super = _createSuper(Text);

    function Text() {
      var _this;

      (0, _classCallCheck2.default)(this, Text);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));

      _this.setNativeProps = function (props) {
        var matrix = props && !props.matrix && (0, _extractTransform.default)(props);

        if (matrix) {
          props.matrix = matrix;
        }

        var prop = (0, _extractProps.propsAndStyles)(props);
        (0, _extends2.default)(prop, (0, _$$_REQUIRE(_dependencyMap[13]).pickNotNil)((0, _extractText.default)(prop, true)));
        _this.root && _this.root.setNativeProps(prop);
      };

      return _this;
    }

    (0, _createClass2.default)(Text, [{
      key: "render",
      value: function render() {
        var prop = (0, _extractProps.propsAndStyles)(this.props);
        var props = (0, _extractProps.default)((0, _extends2.default)({}, prop, {
          x: null,
          y: null
        }), this);
        (0, _extends2.default)(props, (0, _extractText.default)(prop, true));
        props.ref = this.refMethod;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).RNSVGText, props);
      }
    }]);
    return Text;
  }(_Shape2.default);

  exports.default = Text;
  Text.displayName = 'Text';
},807,[5,6,7,8,12,14,16,17,806,784,793,781,808,792,783]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _extractProps = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _extractTransform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _extractText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var _Shape2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TSpan = function (_Shape) {
    (0, _inherits2.default)(TSpan, _Shape);

    var _super = _createSuper(TSpan);

    function TSpan() {
      var _this;

      (0, _classCallCheck2.default)(this, TSpan);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));

      _this.setNativeProps = function (props) {
        var matrix = !props.matrix && (0, _extractTransform.default)(props);

        if (matrix) {
          props.matrix = matrix;
        }

        var prop = (0, _extractProps.propsAndStyles)(props);
        (0, _extends2.default)(prop, (0, _$$_REQUIRE(_dependencyMap[12]).pickNotNil)((0, _extractText.default)(prop, false)));
        _this.root && _this.root.setNativeProps(prop);
      };

      return _this;
    }

    (0, _createClass2.default)(TSpan, [{
      key: "render",
      value: function render() {
        var prop = (0, _extractProps.propsAndStyles)(this.props);
        var props = (0, _extractProps.default)((0, _extends2.default)({}, prop, {
          x: null,
          y: null
        }), this);
        (0, _extends2.default)(props, (0, _extractText.default)(prop, false));
        props.ref = this.refMethod;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).RNSVGTSpan, props);
      }
    }]);
    return TSpan;
  }(_Shape2.default);

  exports.default = TSpan;
  TSpan.displayName = 'TSpan';
  (0, _extractText.setTSpan)(TSpan);
},808,[5,6,7,8,12,14,16,17,784,793,806,781,792,783]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _extractTransform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _extractText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _Shape2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _TSpan = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TextPath = function (_Shape) {
    (0, _inherits2.default)(TextPath, _Shape);

    var _super = _createSuper(TextPath);

    function TextPath() {
      var _this;

      (0, _classCallCheck2.default)(this, TextPath);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));

      _this.setNativeProps = function (props) {
        var matrix = !props.matrix && (0, _extractTransform.default)(props);

        if (matrix) {
          props.matrix = matrix;
        }

        (0, _extends2.default)(props, (0, _$$_REQUIRE(_dependencyMap[13]).pickNotNil)((0, _extractText.default)(props, true)));
        _this.root && _this.root.setNativeProps(props);
      };

      return _this;
    }

    (0, _createClass2.default)(TextPath, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            children = _this$props.children,
            xlinkHref = _this$props.xlinkHref,
            _this$props$href = _this$props.href,
            href = _this$props$href === undefined ? xlinkHref : _this$props$href,
            _this$props$startOffs = _this$props.startOffset,
            startOffset = _this$props$startOffs === undefined ? 0 : _this$props$startOffs,
            method = _this$props.method,
            spacing = _this$props.spacing,
            side = _this$props.side,
            alignmentBaseline = _this$props.alignmentBaseline,
            midLine = _this$props.midLine,
            prop = (0, _objectWithoutProperties2.default)(_this$props, ["children", "xlinkHref", "href", "startOffset", "method", "spacing", "side", "alignmentBaseline", "midLine"]);
        var matched = href && href.match(_$$_REQUIRE(_dependencyMap[13]).idPattern);
        var match = matched && matched[1];

        if (match) {
          var props = (0, _$$_REQUIRE(_dependencyMap[14]).withoutXY)(this, prop);
          (0, _extends2.default)(props, (0, _extractText.default)({
            children: children
          }, true), {
            href: match,
            startOffset: startOffset,
            method: method,
            spacing: spacing,
            side: side,
            alignmentBaseline: alignmentBaseline,
            midLine: midLine
          });
          props.ref = this.refMethod;
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).RNSVGTextPath, props);
        }

        console.warn('Invalid `href` prop for `TextPath` element, expected a href like "#id", but got: "' + href + '"');
        return _react.default.createElement(_TSpan.default, {
          ref: this.refMethod
        }, children);
      }
    }]);
    return TextPath;
  }(_Shape2.default);

  exports.default = TextPath;
  TextPath.displayName = 'TextPath';
},809,[5,108,6,7,8,12,14,16,17,793,806,781,808,792,784,783]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Shape2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Use = function (_Shape) {
    (0, _inherits2.default)(Use, _Shape);

    var _super = _createSuper(Use);

    function Use() {
      (0, _classCallCheck2.default)(this, Use);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(Use, [{
      key: "render",
      value: function render() {
        var props = this.props;
        var children = props.children,
            x = props.x,
            y = props.y,
            width = props.width,
            height = props.height,
            xlinkHref = props.xlinkHref,
            _props$href = props.href,
            href = _props$href === undefined ? xlinkHref : _props$href;
        var matched = href && href.match(_$$_REQUIRE(_dependencyMap[9]).idPattern);
        var match = matched && matched[1];

        if (!match) {
          console.warn('Invalid `href` prop for `Use` element, expected a href like "#id", but got: "' + href + '"');
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).RNSVGUse, (0, _extends2.default)({
          ref: this.refMethod
        }, (0, _$$_REQUIRE(_dependencyMap[11]).withoutXY)(this, props), {
          href: match,
          x: x,
          y: y,
          width: width,
          height: height
        }), children);
      }
    }]);
    return Use;
  }(_Shape2.default);

  exports.default = Use;
  Use.displayName = 'Use';
  Use.defaultProps = {
    x: 0,
    y: 0,
    width: 0,
    height: 0
  };
},810,[5,6,7,8,12,14,16,17,781,792,783,784]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _Shape2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var spacesRegExp = /\s+/;

  var SvgImage = function (_Shape) {
    (0, _inherits2.default)(SvgImage, _Shape);

    var _super = _createSuper(SvgImage);

    function SvgImage() {
      (0, _classCallCheck2.default)(this, SvgImage);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(SvgImage, [{
      key: "render",
      value: function render() {
        var props = this.props;
        var preserveAspectRatio = props.preserveAspectRatio,
            x = props.x,
            y = props.y,
            width = props.width,
            height = props.height,
            xlinkHref = props.xlinkHref,
            _props$href = props.href,
            href = _props$href === undefined ? xlinkHref : _props$href;
        var modes = preserveAspectRatio ? preserveAspectRatio.trim().split(spacesRegExp) : [];
        var align = modes[0];
        var meetOrSlice = modes[1];
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).RNSVGImage, (0, _extends2.default)({
          ref: this.refMethod
        }, (0, _$$_REQUIRE(_dependencyMap[11]).withoutXY)(this, props), {
          x: x,
          y: y,
          width: width,
          height: height,
          meetOrSlice: _$$_REQUIRE(_dependencyMap[12]).meetOrSliceTypes[meetOrSlice] || 0,
          align: _$$_REQUIRE(_dependencyMap[12]).alignEnum[align] || 'xMidYMid',
          src: !href ? null : _reactNative.Image.resolveAssetSource(typeof href === 'string' ? {
            uri: href
          } : href)
        }));
      }
    }]);
    return SvgImage;
  }(_Shape2.default);

  exports.default = SvgImage;
  SvgImage.displayName = 'Image';
  SvgImage.defaultProps = {
    x: 0,
    y: 0,
    width: 0,
    height: 0,
    preserveAspectRatio: 'xMidYMid meet'
  };
},811,[5,6,7,8,12,14,16,17,28,781,783,784,804]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _extractViewBox = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _Shape2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Symbol = function (_Shape) {
    (0, _inherits2.default)(Symbol, _Shape);

    var _super = _createSuper(Symbol);

    function Symbol() {
      (0, _classCallCheck2.default)(this, Symbol);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(Symbol, [{
      key: "render",
      value: function render() {
        var props = this.props;
        var id = props.id,
            children = props.children;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).RNSVGSymbol, (0, _extends2.default)({
          ref: this.refMethod,
          name: id
        }, (0, _extractViewBox.default)(props)), children);
      }
    }]);
    return Symbol;
  }(_Shape2.default);

  exports.default = Symbol;
  Symbol.displayName = 'Symbol';
},812,[5,6,7,8,12,14,16,17,804,781,783]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Defs = function (_Component) {
    (0, _inherits2.default)(Defs, _Component);

    var _super = _createSuper(Defs);

    function Defs() {
      (0, _classCallCheck2.default)(this, Defs);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(Defs, [{
      key: "render",
      value: function render() {
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[7]).RNSVGDefs, null, this.props.children);
      }
    }]);
    return Defs;
  }(_react.Component);

  exports.default = Defs;
  Defs.displayName = 'Defs';
},813,[5,7,8,12,14,16,17,783]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _extractGradient = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _Shape2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var LinearGradient = function (_Shape) {
    (0, _inherits2.default)(LinearGradient, _Shape);

    var _super = _createSuper(LinearGradient);

    function LinearGradient() {
      (0, _classCallCheck2.default)(this, LinearGradient);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(LinearGradient, [{
      key: "render",
      value: function render() {
        var props = this.props;
        var x1 = props.x1,
            y1 = props.y1,
            x2 = props.x2,
            y2 = props.y2;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).RNSVGLinearGradient, (0, _extends2.default)({
          ref: this.refMethod,
          x1: x1,
          y1: y1,
          x2: x2,
          y2: y2
        }, (0, _extractGradient.default)(props, this)));
      }
    }]);
    return LinearGradient;
  }(_Shape2.default);

  exports.default = LinearGradient;
  LinearGradient.displayName = 'LinearGradient';
  LinearGradient.defaultProps = {
    x1: '0%',
    y1: '0%',
    x2: '100%',
    y2: '0%'
  };
},814,[5,6,7,8,12,14,16,17,815,781,783]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = extractGradient;

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _extractColor = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _extractOpacity = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[3]));

  var _extractTransform = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[4]));

  var _units = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var percentReg = /^([+-]?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)(%?)$/;

  function percentToFloat(percent) {
    if (typeof percent === 'number') {
      return percent;
    }

    if (typeof percent === 'object' && typeof percent.__getAnimatedValue === 'function') {
      return percent.__getAnimatedValue();
    }

    var matched = typeof percent === 'string' && percent.match(percentReg);

    if (!matched) {
      console.warn("\"" + percent + "\" is not a valid number or percentage string.");
      return 0;
    }

    return matched[2] ? +matched[1] / 100 : +matched[1];
  }

  var offsetComparator = function offsetComparator(object, other) {
    return object[0] - other[0];
  };

  function extractGradient(props, parent) {
    var id = props.id,
        children = props.children,
        gradientTransform = props.gradientTransform,
        transform = props.transform,
        gradientUnits = props.gradientUnits;

    if (!id) {
      return null;
    }

    var stops = [];
    var childArray = children ? _react.Children.map(children, function (child) {
      return _react.default.cloneElement(child, {
        parent: parent
      });
    }) : [];
    var l = childArray.length;

    for (var i = 0; i < l; i++) {
      var _childArray$i$props = childArray[i].props,
          style = _childArray$i$props.style,
          _childArray$i$props$o = _childArray$i$props.offset,
          offset = _childArray$i$props$o === undefined ? style && style.offset : _childArray$i$props$o,
          _childArray$i$props$s = _childArray$i$props.stopColor,
          stopColor = _childArray$i$props$s === undefined ? style && style.stopColor || '#000' : _childArray$i$props$s,
          _childArray$i$props$s2 = _childArray$i$props.stopOpacity,
          stopOpacity = _childArray$i$props$s2 === undefined ? style && style.stopOpacity : _childArray$i$props$s2;
      var offsetNumber = percentToFloat(offset || 0);
      var color = stopColor && (0, _extractColor.default)(stopColor);

      if (typeof color !== 'number' || isNaN(offsetNumber)) {
        console.warn("\"" + stopColor + "\" is not a valid color or \"" + offset + "\" is not a valid offset");
        continue;
      }

      var alpha = Math.round((0, _extractOpacity.default)(stopOpacity) * 255);
      stops.push([offsetNumber, color & 0x00ffffff | alpha << 24]);
    }

    stops.sort(offsetComparator);
    var gradient = [];
    var k = stops.length;

    for (var j = 0; j < k; j++) {
      var s = stops[j];
      gradient.push(s[0], s[1]);
    }

    return {
      name: id,
      gradient: gradient,
      children: childArray,
      gradientUnits: gradientUnits && _units.default[gradientUnits] || 0,
      gradientTransform: (0, _extractTransform.default)(gradientTransform || transform || props)
    };
  }
},815,[17,5,787,788,793,816]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.units = undefined;
  var units = {
    objectBoundingBox: 0,
    userSpaceOnUse: 1
  };
  exports.units = units;
  var _default = units;
  exports.default = _default;
},816,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _extractGradient = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _Shape2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var RadialGradient = function (_Shape) {
    (0, _inherits2.default)(RadialGradient, _Shape);

    var _super = _createSuper(RadialGradient);

    function RadialGradient() {
      (0, _classCallCheck2.default)(this, RadialGradient);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(RadialGradient, [{
      key: "render",
      value: function render() {
        var props = this.props;
        var rx = props.rx,
            ry = props.ry,
            r = props.r,
            cx = props.cx,
            cy = props.cy,
            _props$fx = props.fx,
            fx = _props$fx === undefined ? cx : _props$fx,
            _props$fy = props.fy,
            fy = _props$fy === undefined ? cy : _props$fy;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).RNSVGRadialGradient, (0, _extends2.default)({
          ref: this.refMethod,
          fx: fx,
          fy: fy,
          rx: rx || r,
          ry: ry || r,
          cx: cx,
          cy: cy
        }, (0, _extractGradient.default)(props, this)));
      }
    }]);
    return RadialGradient;
  }(_Shape2.default);

  exports.default = RadialGradient;
  RadialGradient.displayName = 'RadialGradient';
  RadialGradient.defaultProps = {
    cx: '50%',
    cy: '50%',
    r: '50%'
  };
},817,[5,6,7,8,12,14,16,17,815,781,783]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[6]);

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Stop = function (_Component) {
    (0, _inherits2.default)(Stop, _Component);

    var _super = _createSuper(Stop);

    function Stop() {
      var _this;

      (0, _classCallCheck2.default)(this, Stop);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));

      _this.setNativeProps = function () {
        var parent = _this.props.parent;

        if (parent) {
          parent.forceUpdate();
        }
      };

      return _this;
    }

    (0, _createClass2.default)(Stop, [{
      key: "render",
      value: function render() {
        return null;
      }
    }]);
    return Stop;
  }(_react.Component);

  exports.default = Stop;
  Stop.displayName = 'Stop';
},818,[5,7,8,12,14,16,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Shape2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ClipPath = function (_Shape) {
    (0, _inherits2.default)(ClipPath, _Shape);

    var _super = _createSuper(ClipPath);

    function ClipPath() {
      (0, _classCallCheck2.default)(this, ClipPath);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(ClipPath, [{
      key: "render",
      value: function render() {
        var props = this.props;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).RNSVGClipPath, (0, _extends2.default)({
          ref: this.refMethod
        }, (0, _$$_REQUIRE(_dependencyMap[10]).extract)(this, props)), props.children);
      }
    }]);
    return ClipPath;
  }(_Shape2.default);

  exports.default = ClipPath;
  ClipPath.displayName = 'ClipPath';
},819,[5,6,7,8,12,14,16,17,781,783,784]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _extractTransform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _extractViewBox = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _units = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _Shape2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Pattern = function (_Shape) {
    (0, _inherits2.default)(Pattern, _Shape);

    var _super = _createSuper(Pattern);

    function Pattern() {
      (0, _classCallCheck2.default)(this, Pattern);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(Pattern, [{
      key: "render",
      value: function render() {
        var props = this.props;
        var patternTransform = props.patternTransform,
            transform = props.transform,
            id = props.id,
            x = props.x,
            y = props.y,
            width = props.width,
            height = props.height,
            patternUnits = props.patternUnits,
            patternContentUnits = props.patternContentUnits,
            children = props.children,
            viewBox = props.viewBox,
            preserveAspectRatio = props.preserveAspectRatio;
        var matrix = (0, _extractTransform.default)(patternTransform || transform || props);
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).RNSVGPattern, (0, _extends2.default)({
          ref: this.refMethod,
          name: id,
          x: x,
          y: y,
          width: width,
          height: height,
          matrix: matrix,
          patternTransform: matrix,
          patternUnits: patternUnits && _units.default[patternUnits] || 0,
          patternContentUnits: patternContentUnits ? _units.default[patternContentUnits] : 1
        }, (0, _extractViewBox.default)({
          viewBox: viewBox,
          preserveAspectRatio: preserveAspectRatio
        })), children);
      }
    }]);
    return Pattern;
  }(_Shape2.default);

  exports.default = Pattern;
  Pattern.displayName = 'Pattern';
  Pattern.defaultProps = {
    x: '0%',
    y: '0%',
    width: '100%',
    height: '100%'
  };
},820,[5,6,7,8,12,14,16,17,793,804,816,781,783]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _extractTransform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _units = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _Shape2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Mask = function (_Shape) {
    (0, _inherits2.default)(Mask, _Shape);

    var _super = _createSuper(Mask);

    function Mask() {
      (0, _classCallCheck2.default)(this, Mask);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(Mask, [{
      key: "render",
      value: function render() {
        var props = this.props;
        var maskTransform = props.maskTransform,
            transform = props.transform,
            x = props.x,
            y = props.y,
            width = props.width,
            height = props.height,
            maskUnits = props.maskUnits,
            maskContentUnits = props.maskContentUnits,
            children = props.children;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).RNSVGMask, (0, _extends2.default)({
          ref: this.refMethod
        }, (0, _$$_REQUIRE(_dependencyMap[12]).withoutXY)(this, props), {
          x: x,
          y: y,
          width: width,
          height: height,
          maskTransform: (0, _extractTransform.default)(maskTransform || transform || props),
          maskUnits: maskUnits !== undefined ? _units.default[maskUnits] : 0,
          maskContentUnits: maskContentUnits !== undefined ? _units.default[maskContentUnits] : 1
        }), children);
      }
    }]);
    return Mask;
  }(_Shape2.default);

  exports.default = Mask;
  Mask.displayName = 'Mask';
  Mask.defaultProps = {
    x: '0%',
    y: '0%',
    width: '100%',
    height: '100%'
  };
},821,[5,6,7,8,12,14,16,17,793,816,781,783,784]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _extractViewBox = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _Shape2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Marker = function (_Shape) {
    (0, _inherits2.default)(Marker, _Shape);

    var _super = _createSuper(Marker);

    function Marker() {
      (0, _classCallCheck2.default)(this, Marker);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(Marker, [{
      key: "render",
      value: function render() {
        var props = this.props;
        var id = props.id,
            viewBox = props.viewBox,
            preserveAspectRatio = props.preserveAspectRatio,
            refX = props.refX,
            refY = props.refY,
            markerUnits = props.markerUnits,
            orient = props.orient,
            markerWidth = props.markerWidth,
            markerHeight = props.markerHeight,
            children = props.children;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).RNSVGMarker, (0, _extends2.default)({
          ref: this.refMethod,
          name: id,
          refX: refX,
          refY: refY,
          orient: String(orient),
          markerUnits: markerUnits,
          markerWidth: markerWidth,
          markerHeight: markerHeight
        }, (0, _extractViewBox.default)({
          viewBox: viewBox,
          preserveAspectRatio: preserveAspectRatio
        })), children);
      }
    }]);
    return Marker;
  }(_Shape2.default);

  exports.default = Marker;
  Marker.displayName = 'Marker';
  Marker.defaultProps = {
    refX: 0,
    refY: 0,
    orient: '0',
    markerWidth: 3,
    markerHeight: 3,
    markerUnits: 'strokeWidth'
  };
},822,[5,6,7,8,12,14,16,17,804,781,783]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.SvgCss = SvgCss;
  exports.SvgCssUri = SvgCssUri;
  exports.SvgWithCssUri = exports.SvgWithCss = exports.inlineStyles = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _cssTree = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _cssSelect = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

  function isTag(node) {
    return typeof node === 'object';
  }

  function getParent(node) {
    return typeof node === 'object' && node.parent || null;
  }

  function getChildren(node) {
    return typeof node === 'object' && node.children || [];
  }

  function getName(elem) {
    return elem.tag;
  }

  function getText(_node) {
    return '';
  }

  function getAttributeValue(elem, name) {
    return elem.props[name] || null;
  }

  function removeSubsets(nodes) {
    var idx = nodes.length,
        node,
        ancestor,
        replace;

    while (--idx > -1) {
      node = ancestor = nodes[idx];
      delete nodes[idx];
      replace = true;

      while (ancestor) {
        if (nodes.includes(ancestor)) {
          replace = false;
          nodes.splice(idx, 1);
          break;
        }

        ancestor = typeof ancestor === 'object' && ancestor.parent || null;
      }

      if (replace) {
        nodes[idx] = node;
      }
    }

    return nodes;
  }

  function existsOne(predicate, elems) {
    return elems.some(function (elem) {
      return typeof elem === 'object' && (predicate(elem) || existsOne(predicate, elem.children));
    });
  }

  function getSiblings(node) {
    var parent = typeof node === 'object' && node.parent;
    return parent && parent.children || [];
  }

  function hasAttrib(elem, name) {
    return elem.props.hasOwnProperty(name);
  }

  function findOne(predicate, elems) {
    var elem;

    for (var i = 0, l = elems.length; i < l && !elem; i++) {
      var node = elems[i];

      if (typeof node === 'string') {} else if (predicate(node)) {
        elem = node;
      } else {
        var children = node.children;

        if (children.length !== 0) {
          elem = findOne(predicate, children);
        }
      }
    }

    return elem;
  }

  function findAll(predicate, nodes) {
    var result = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];

    for (var i = 0, j = nodes.length; i < j; i++) {
      var node = nodes[i];

      if (typeof node !== 'object') {
        continue;
      }

      if (predicate(node)) {
        result.push(node);
      }

      var children = node.children;

      if (children.length !== 0) {
        findAll(predicate, children, result);
      }
    }

    return result;
  }

  var adapter = {
    removeSubsets: removeSubsets,
    existsOne: existsOne,
    getSiblings: getSiblings,
    hasAttrib: hasAttrib,
    findOne: findOne,
    findAll: findAll,
    isTag: isTag,
    getParent: getParent,
    getChildren: getChildren,
    getName: getName,
    getText: getText,
    getAttributeValue: getAttributeValue
  };
  var cssSelectOpts = {
    xmlMode: true,
    adapter: adapter
  };

  function querySelectorAll(query, elems) {
    return (0, _cssSelect.default)(query, elems, cssSelectOpts);
  }

  function flattenToSelectors(cssAst, selectors) {
    _cssTree.default.walk(cssAst, {
      visit: 'Rule',
      enter: function enter(rule) {
        var _ref = rule,
            type = _ref.type,
            prelude = _ref.prelude;

        if (type !== 'Rule') {
          return;
        }

        var atrule = this.atrule;
        prelude.children.each(function (node, item) {
          var _ref2 = node,
              children = _ref2.children;
          var pseudos = [];
          selectors.push({
            item: item,
            atrule: atrule,
            rule: rule,
            pseudos: pseudos
          });
          children.each(function (_ref3, pseudoItem, list) {
            var childType = _ref3.type;

            if (childType === 'PseudoClassSelector' || childType === 'PseudoElementSelector') {
              pseudos.push({
                item: pseudoItem,
                list: list
              });
            }
          });
        });
      }
    });
  }

  function filterByMqs(selectors) {
    return selectors.filter(function (_ref4) {
      var atrule = _ref4.atrule;

      if (atrule === null) {
        return true;
      }

      var name = atrule.name,
          prelude = atrule.prelude;
      var atPrelude = prelude;
      var first = atPrelude && atPrelude.children.first();
      var mq = first && first.type === 'MediaQueryList';
      var query = mq ? _cssTree.default.generate(atPrelude) : name;
      return useMqs.includes(query);
    });
  }

  var useMqs = ['', 'screen'];

  function filterByPseudos(selectors) {
    return selectors.filter(function (_ref5) {
      var pseudos = _ref5.pseudos;
      return usePseudos.includes(_cssTree.default.generate({
        type: 'Selector',
        children: new _cssTree.List().fromArray(pseudos.map(function (pseudo) {
          return pseudo.item.data;
        }))
      }));
    });
  }

  var usePseudos = [''];

  function cleanPseudos(selectors) {
    selectors.forEach(function (_ref6) {
      var pseudos = _ref6.pseudos;
      return pseudos.forEach(function (pseudo) {
        return pseudo.list.remove(pseudo.item);
      });
    });
  }

  function specificity(selector) {
    var A = 0;
    var B = 0;
    var C = 0;
    selector.children.each(function walk(node) {
      switch (node.type) {
        case 'SelectorList':
        case 'Selector':
          node.children.each(walk);
          break;

        case 'IdSelector':
          A++;
          break;

        case 'ClassSelector':
        case 'AttributeSelector':
          B++;
          break;

        case 'PseudoClassSelector':
          switch (node.name.toLowerCase()) {
            case 'not':
              var children = node.children;
              children && children.each(walk);
              break;

            case 'before':
            case 'after':
            case 'first-line':
            case 'first-letter':
              C++;
              break;

            default:
              B++;
          }

          break;

        case 'PseudoElementSelector':
          C++;
          break;

        case 'TypeSelector':
          var name = node.name;

          if (name.charAt(name.length - 1) !== '*') {
            C++;
          }

          break;
      }
    });
    return [A, B, C];
  }

  function compareSpecificity(aSpecificity, bSpecificity) {
    for (var i = 0; i < 4; i += 1) {
      if (aSpecificity[i] < bSpecificity[i]) {
        return -1;
      } else if (aSpecificity[i] > bSpecificity[i]) {
        return 1;
      }
    }

    return 0;
  }

  function selectorWithSpecificity(selector) {
    return {
      selector: selector,
      specificity: specificity(selector.item.data)
    };
  }

  function bySelectorSpecificity(a, b) {
    return compareSpecificity(a.specificity, b.specificity);
  }

  function pass(arr, len, chk, result) {
    var dbl = chk * 2;
    var l, r, e;
    var li, ri;
    var i = 0;

    for (l = 0; l < len; l += dbl) {
      r = l + chk;
      e = r + chk;

      if (r > len) {
        r = len;
      }

      if (e > len) {
        e = len;
      }

      li = l;
      ri = r;

      while (true) {
        if (li < r && ri < e) {
          if (bySelectorSpecificity(arr[li], arr[ri]) <= 0) {
            result[i++] = arr[li++];
          } else {
            result[i++] = arr[ri++];
          }
        } else if (li < r) {
          result[i++] = arr[li++];
        } else if (ri < e) {
          result[i++] = arr[ri++];
        } else {
          break;
        }
      }
    }
  }

  function exec(arr, len) {
    var buffer = new Array(len);

    for (var chk = 1; chk < len; chk *= 2) {
      pass(arr, len, chk, buffer);
      var tmp = arr;
      arr = buffer;
      buffer = tmp;
    }

    return arr;
  }

  function sortSelectors(selectors) {
    var len = selectors.length;

    if (len <= 1) {
      return selectors;
    }

    var specs = selectors.map(selectorWithSpecificity);
    return exec(specs, len).map(function (s) {
      return s.selector;
    });
  }

  var declarationParseProps = {
    context: 'declarationList',
    parseValue: false
  };

  function CSSStyleDeclaration(ast) {
    var props = ast.props,
        styles = ast.styles;

    if (!props.style) {
      props.style = {};
    }

    var style = props.style;
    var priority = new Map();
    ast.style = style;
    ast.priority = priority;

    if (!styles || styles.length === 0) {
      return;
    }

    try {
      var declarations = _cssTree.default.parse(styles, declarationParseProps);

      declarations.children.each(function (node) {
        try {
          var _ref7 = node,
              property = _ref7.property,
              value = _ref7.value,
              important = _ref7.important;
          var name = property.trim();
          priority.set(name, important);
          style[(0, _$$_REQUIRE(_dependencyMap[11]).camelCase)(name)] = _cssTree.default.generate(value).trim();
        } catch (styleError) {
          if (styleError.message !== 'Unknown node type: undefined') {
            console.warn("Warning: Parse error when parsing inline styles, style properties of this element cannot be used. The raw styles can still be get/set using .attr('style').value. Error details: " + styleError);
          }
        }
      });
    } catch (parseError) {
      console.warn("Warning: Parse error when parsing inline styles, style properties of this element cannot be used. The raw styles can still be get/set using .attr('style').value. Error details: " + parseError);
    }
  }

  function initStyle(selectedEl) {
    if (!selectedEl.style) {
      CSSStyleDeclaration(selectedEl);
    }

    return selectedEl;
  }

  function closestElem(node, elemName) {
    var elem = node;

    while ((elem = elem.parent) && elem.tag !== elemName) {}

    return elem;
  }

  var parseProps = {
    parseValue: false,
    parseCustomProperty: false
  };

  var inlineStyles = function inlineStyles(document) {
    var styleElements = querySelectorAll('style', document);

    if (styleElements.length === 0) {
      return document;
    }

    var selectors = [];

    for (var _iterator = _createForOfIteratorHelperLoose(styleElements), _step; !(_step = _iterator()).done;) {
      var element = _step.value;
      var children = element.children;

      if (!children.length || closestElem(element, 'foreignObject')) {
        continue;
      }

      try {
        var styleString = children.join('');
        flattenToSelectors(_cssTree.default.parse(styleString, parseProps), selectors);
      } catch (parseError) {
        console.warn('Warning: Parse error of styles of <style/> element, skipped. Error details: ' + parseError);
      }
    }

    var selectorsMq = filterByMqs(selectors);
    var selectorsPseudo = filterByPseudos(selectorsMq);
    cleanPseudos(selectorsPseudo);
    var sortedSelectors = sortSelectors(selectorsPseudo).reverse();

    for (var _iterator2 = _createForOfIteratorHelperLoose(sortedSelectors), _step2; !(_step2 = _iterator2()).done;) {
      var _ref8 = _step2.value;
      var rule = _ref8.rule;
      var item = _ref8.item;

      if (rule === null) {
        continue;
      }

      var selectorStr = _cssTree.default.generate(item.data);

      try {
        var _ret = function () {
          var matched = querySelectorAll(selectorStr, document).map(initStyle);

          if (matched.length === 0) {
            return "continue";
          }

          _cssTree.default.walk(rule, {
            visit: 'Declaration',
            enter: function enter(node) {
              var _ref9 = node,
                  property = _ref9.property,
                  value = _ref9.value,
                  important = _ref9.important;
              var name = property.trim();
              var camel = (0, _$$_REQUIRE(_dependencyMap[11]).camelCase)(name);

              var val = _cssTree.default.generate(value).trim();

              for (var _iterator3 = _createForOfIteratorHelperLoose(matched), _step3; !(_step3 = _iterator3()).done;) {
                var _element = _step3.value;
                var style = _element.style,
                    priority = _element.priority;
                var current = priority.get(name);

                if (current === undefined || current < important) {
                  priority.set(name, important);
                  style[camel] = val;
                }
              }
            }
          });
        }();

        if (_ret === "continue") continue;
      } catch (selectError) {
        if (selectError.constructor === SyntaxError) {
          console.warn('Warning: Syntax error when trying to select \n\n' + selectorStr + '\n\n, skipped. Error details: ' + selectError);
          continue;
        }

        throw selectError;
      }
    }

    return document;
  };

  exports.inlineStyles = inlineStyles;

  function SvgCss(props) {
    var xml = props.xml,
        override = props.override;
    var ast = (0, _react.useMemo)(function () {
      return xml !== null ? (0, _$$_REQUIRE(_dependencyMap[11]).parse)(xml, inlineStyles) : null;
    }, [xml]);
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).SvgAst, {
      ast: ast,
      override: override || props
    });
  }

  function SvgCssUri(props) {
    var uri = props.uri;

    var _useState = (0, _react.useState)(null),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        xml = _useState2[0],
        setXml = _useState2[1];

    (0, _react.useEffect)(function () {
      uri ? (0, _$$_REQUIRE(_dependencyMap[11]).fetchText)(uri).then(setXml).catch(_$$_REQUIRE(_dependencyMap[11]).err) : setXml(null);
    }, [uri]);
    return _react.default.createElement(SvgCss, {
      xml: xml,
      override: props
    });
  }

  var SvgWithCss = function (_Component) {
    (0, _inherits2.default)(SvgWithCss, _Component);

    var _super = _createSuper(SvgWithCss);

    function SvgWithCss() {
      var _this;

      (0, _classCallCheck2.default)(this, SvgWithCss);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.state = {
        ast: null
      };
      return _this;
    }

    (0, _createClass2.default)(SvgWithCss, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this.parse(this.props.xml);
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps) {
        var xml = this.props.xml;

        if (xml !== prevProps.xml) {
          this.parse(xml);
        }
      }
    }, {
      key: "parse",
      value: function parse(xml) {
        try {
          this.setState({
            ast: xml ? (0, _$$_REQUIRE(_dependencyMap[11]).parse)(xml, inlineStyles) : null
          });
        } catch (e) {
          console.error(e);
        }
      }
    }, {
      key: "render",
      value: function render() {
        var props = this.props,
            ast = this.state.ast;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).SvgAst, {
          ast: ast,
          override: props.override || props
        });
      }
    }]);
    return SvgWithCss;
  }(_react.Component);

  exports.SvgWithCss = SvgWithCss;

  var SvgWithCssUri = function (_Component2) {
    (0, _inherits2.default)(SvgWithCssUri, _Component2);

    var _super2 = _createSuper(SvgWithCssUri);

    function SvgWithCssUri() {
      var _this2;

      (0, _classCallCheck2.default)(this, SvgWithCssUri);

      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
        args[_key2] = arguments[_key2];
      }

      _this2 = _super2.call.apply(_super2, [this].concat(args));
      _this2.state = {
        xml: null
      };
      return _this2;
    }

    (0, _createClass2.default)(SvgWithCssUri, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this.fetch(this.props.uri);
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps) {
        var uri = this.props.uri;

        if (uri !== prevProps.uri) {
          this.fetch(uri);
        }
      }
    }, {
      key: "fetch",
      value: function fetch(uri) {
        return _regenerator.default.async(function fetch$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.prev = 0;
                _context.t0 = this;

                if (!uri) {
                  _context.next = 8;
                  break;
                }

                _context.next = 5;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[11]).fetchText)(uri));

              case 5:
                _context.t1 = _context.sent;
                _context.next = 9;
                break;

              case 8:
                _context.t1 = null;

              case 9:
                _context.t2 = _context.t1;
                _context.t3 = {
                  xml: _context.t2
                };

                _context.t0.setState.call(_context.t0, _context.t3);

                _context.next = 17;
                break;

              case 14:
                _context.prev = 14;
                _context.t4 = _context["catch"](0);
                console.error(_context.t4);

              case 17:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[0, 14]], Promise);
      }
    }, {
      key: "render",
      value: function render() {
        var props = this.props,
            xml = this.state.xml;
        return _react.default.createElement(SvgWithCss, {
          xml: xml,
          override: props
        });
      }
    }]);
    return SvgWithCssUri;
  }(_react.Component);

  exports.SvgWithCssUri = SvgWithCssUri;
},823,[5,80,7,8,12,14,16,41,17,824,946,779]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]);
},824,[825]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function merge() {
    var dest = {};

    for (var i = 0; i < arguments.length; i++) {
      var src = arguments[i];

      for (var key in src) {
        dest[key] = src[key];
      }
    }

    return dest;
  }

  module.exports = _$$_REQUIRE(_dependencyMap[0]).create(merge(_$$_REQUIRE(_dependencyMap[1]), _$$_REQUIRE(_dependencyMap[2]), _$$_REQUIRE(_dependencyMap[3])));
  module.exports.version = _$$_REQUIRE(_dependencyMap[4]).version;
},825,[826,869,916,944,945]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _createSyntax(config) {
    var parse = _$$_REQUIRE(_dependencyMap[0])(config);

    var walk = _$$_REQUIRE(_dependencyMap[1])(config);

    var generate = _$$_REQUIRE(_dependencyMap[2])(config);

    var convert = _$$_REQUIRE(_dependencyMap[3])(walk);

    var syntax = {
      List: _$$_REQUIRE(_dependencyMap[4]),
      SyntaxError: _$$_REQUIRE(_dependencyMap[5]),
      TokenStream: _$$_REQUIRE(_dependencyMap[6]),
      Lexer: _$$_REQUIRE(_dependencyMap[7]),
      vendorPrefix: _$$_REQUIRE(_dependencyMap[8]).vendorPrefix,
      keyword: _$$_REQUIRE(_dependencyMap[8]).keyword,
      property: _$$_REQUIRE(_dependencyMap[8]).property,
      isCustomProperty: _$$_REQUIRE(_dependencyMap[8]).isCustomProperty,
      definitionSyntax: _$$_REQUIRE(_dependencyMap[9]),
      lexer: null,
      createLexer: function createLexer(config) {
        return new (_$$_REQUIRE(_dependencyMap[7]))(config, syntax, syntax.lexer.structure);
      },
      tokenize: _$$_REQUIRE(_dependencyMap[10]),
      parse: parse,
      walk: walk,
      generate: generate,
      find: walk.find,
      findLast: walk.findLast,
      findAll: walk.findAll,
      clone: _$$_REQUIRE(_dependencyMap[11]),
      fromPlainObject: convert.fromPlainObject,
      toPlainObject: convert.toPlainObject,
      createSyntax: function createSyntax(config) {
        return _createSyntax(_$$_REQUIRE(_dependencyMap[12])({}, config));
      },
      fork: function fork(extension) {
        var base = _$$_REQUIRE(_dependencyMap[12])({}, config);

        return _createSyntax(typeof extension === 'function' ? extension(base, Object.assign) : _$$_REQUIRE(_dependencyMap[12])(base, extension));
      }
    };
    syntax.lexer = new (_$$_REQUIRE(_dependencyMap[7]))({
      generic: true,
      types: config.types,
      atrules: config.atrules,
      properties: config.properties,
      node: config.node
    }, syntax);
    return syntax;
  }

  ;

  exports.create = function (config) {
    return _createSyntax(_$$_REQUIRE(_dependencyMap[12])({}, config));
  };
},826,[827,839,840,848,836,837,829,849,863,866,834,867,868]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var noop = function noop() {};

  var WHITESPACE = _$$_REQUIRE(_dependencyMap[0]).TYPE.WhiteSpace;

  var COMMENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Comment;

  var IDENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Ident;

  var FUNCTION = _$$_REQUIRE(_dependencyMap[0]).TYPE.Function;

  var URL = _$$_REQUIRE(_dependencyMap[0]).TYPE.Url;

  var HASH = _$$_REQUIRE(_dependencyMap[0]).TYPE.Hash;

  var PERCENTAGE = _$$_REQUIRE(_dependencyMap[0]).TYPE.Percentage;

  var NUMBER = _$$_REQUIRE(_dependencyMap[0]).TYPE.Number;

  var NUMBERSIGN = 0x0023;
  var NULL = 0;

  function createParseContext(name) {
    return function () {
      return this[name]();
    };
  }

  function processConfig(config) {
    var parserConfig = {
      context: {},
      scope: {},
      atrule: {},
      pseudo: {}
    };

    if (config.parseContext) {
      for (var name in config.parseContext) {
        switch (typeof config.parseContext[name]) {
          case 'function':
            parserConfig.context[name] = config.parseContext[name];
            break;

          case 'string':
            parserConfig.context[name] = createParseContext(config.parseContext[name]);
            break;
        }
      }
    }

    if (config.scope) {
      for (var name in config.scope) {
        parserConfig.scope[name] = config.scope[name];
      }
    }

    if (config.atrule) {
      for (var name in config.atrule) {
        var atrule = config.atrule[name];

        if (atrule.parse) {
          parserConfig.atrule[name] = atrule.parse;
        }
      }
    }

    if (config.pseudo) {
      for (var name in config.pseudo) {
        var pseudo = config.pseudo[name];

        if (pseudo.parse) {
          parserConfig.pseudo[name] = pseudo.parse;
        }
      }
    }

    if (config.node) {
      for (var name in config.node) {
        parserConfig[name] = config.node[name].parse;
      }
    }

    return parserConfig;
  }

  module.exports = function createParser(config) {
    var parser = {
      scanner: new (_$$_REQUIRE(_dependencyMap[1]))(),
      locationMap: new (_$$_REQUIRE(_dependencyMap[2]))(),
      filename: '<unknown>',
      needPositions: false,
      onParseError: noop,
      onParseErrorThrow: false,
      parseAtrulePrelude: true,
      parseRulePrelude: true,
      parseValue: true,
      parseCustomProperty: false,
      readSequence: _$$_REQUIRE(_dependencyMap[3]),
      createList: function createList() {
        return new (_$$_REQUIRE(_dependencyMap[4]))();
      },
      createSingleNodeList: function createSingleNodeList(node) {
        return new (_$$_REQUIRE(_dependencyMap[4]))().appendData(node);
      },
      getFirstListNode: function getFirstListNode(list) {
        return list && list.first();
      },
      getLastListNode: function getLastListNode(list) {
        return list.last();
      },
      parseWithFallback: function parseWithFallback(consumer, fallback) {
        var startToken = this.scanner.tokenIndex;

        try {
          return consumer.call(this);
        } catch (e) {
          if (this.onParseErrorThrow) {
            throw e;
          }

          var fallbackNode = fallback.call(this, startToken);
          this.onParseErrorThrow = true;
          this.onParseError(e, fallbackNode);
          this.onParseErrorThrow = false;
          return fallbackNode;
        }
      },
      lookupNonWSType: function lookupNonWSType(offset) {
        do {
          var type = this.scanner.lookupType(offset++);

          if (type !== WHITESPACE) {
            return type;
          }
        } while (type !== NULL);

        return NULL;
      },
      eat: function eat(tokenType) {
        if (this.scanner.tokenType !== tokenType) {
          var offset = this.scanner.tokenStart;
          var message = _$$_REQUIRE(_dependencyMap[0]).NAME[tokenType] + ' is expected';

          switch (tokenType) {
            case IDENT:
              if (this.scanner.tokenType === FUNCTION || this.scanner.tokenType === URL) {
                offset = this.scanner.tokenEnd - 1;
                message = 'Identifier is expected but function found';
              } else {
                message = 'Identifier is expected';
              }

              break;

            case HASH:
              if (this.scanner.isDelim(NUMBERSIGN)) {
                this.scanner.next();
                offset++;
                message = 'Name is expected';
              }

              break;

            case PERCENTAGE:
              if (this.scanner.tokenType === NUMBER) {
                offset = this.scanner.tokenEnd;
                message = 'Percent sign is expected';
              }

              break;

            default:
              if (this.scanner.source.charCodeAt(this.scanner.tokenStart) === tokenType) {
                offset = offset + 1;
              }

          }

          this.error(message, offset);
        }

        this.scanner.next();
      },
      consume: function consume(tokenType) {
        var value = this.scanner.getTokenValue();
        this.eat(tokenType);
        return value;
      },
      consumeFunctionName: function consumeFunctionName() {
        var name = this.scanner.source.substring(this.scanner.tokenStart, this.scanner.tokenEnd - 1);
        this.eat(FUNCTION);
        return name;
      },
      getLocation: function getLocation(start, end) {
        if (this.needPositions) {
          return this.locationMap.getLocationRange(start, end, this.filename);
        }

        return null;
      },
      getLocationFromList: function getLocationFromList(list) {
        if (this.needPositions) {
          var head = this.getFirstListNode(list);
          var tail = this.getLastListNode(list);
          return this.locationMap.getLocationRange(head !== null ? head.loc.start.offset - this.locationMap.startOffset : this.scanner.tokenStart, tail !== null ? tail.loc.end.offset - this.locationMap.startOffset : this.scanner.tokenStart, this.filename);
        }

        return null;
      },
      error: function error(message, offset) {
        var location = typeof offset !== 'undefined' && offset < this.scanner.source.length ? this.locationMap.getLocation(offset) : this.scanner.eof ? this.locationMap.getLocation(_$$_REQUIRE(_dependencyMap[5]).findWhiteSpaceStart(this.scanner.source, this.scanner.source.length - 1)) : this.locationMap.getLocation(this.scanner.tokenStart);
        throw new (_$$_REQUIRE(_dependencyMap[6]))(message || 'Unexpected input', this.scanner.source, location.offset, location.line, location.column);
      }
    };
    config = processConfig(config || {});

    for (var key in config) {
      parser[key] = config[key];
    }

    return function (source, options) {
      options = options || {};
      var context = options.context || 'default';
      var onComment = options.onComment;
      var ast;

      _$$_REQUIRE(_dependencyMap[7])(source, parser.scanner);

      parser.locationMap.setSource(source, options.offset, options.line, options.column);
      parser.filename = options.filename || '<unknown>';
      parser.needPositions = Boolean(options.positions);
      parser.onParseError = typeof options.onParseError === 'function' ? options.onParseError : noop;
      parser.onParseErrorThrow = false;
      parser.parseAtrulePrelude = 'parseAtrulePrelude' in options ? Boolean(options.parseAtrulePrelude) : true;
      parser.parseRulePrelude = 'parseRulePrelude' in options ? Boolean(options.parseRulePrelude) : true;
      parser.parseValue = 'parseValue' in options ? Boolean(options.parseValue) : true;
      parser.parseCustomProperty = 'parseCustomProperty' in options ? Boolean(options.parseCustomProperty) : false;

      if (!parser.context.hasOwnProperty(context)) {
        throw new Error('Unknown context `' + context + '`');
      }

      if (typeof onComment === 'function') {
        parser.scanner.forEachToken(function (type, start, end) {
          if (type === COMMENT) {
            var loc = parser.getLocation(start, end);
            var value = _$$_REQUIRE(_dependencyMap[5]).cmpStr(source, end - 2, end, '*/') ? source.slice(start + 2, end - 2) : source.slice(start + 2, end);
            onComment(value, loc);
          }
        });
      }

      ast = parser.context[context].call(parser, options);

      if (!parser.scanner.eof) {
        parser.error();
      }

      return ast;
    };
  };
},827,[828,829,832,835,836,830,837,834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var TYPE = {
    EOF: 0,
    Ident: 1,
    Function: 2,
    AtKeyword: 3,
    Hash: 4,
    String: 5,
    BadString: 6,
    Url: 7,
    BadUrl: 8,
    Delim: 9,
    Number: 10,
    Percentage: 11,
    Dimension: 12,
    WhiteSpace: 13,
    CDO: 14,
    CDC: 15,
    Colon: 16,
    Semicolon: 17,
    Comma: 18,
    LeftSquareBracket: 19,
    RightSquareBracket: 20,
    LeftParenthesis: 21,
    RightParenthesis: 22,
    LeftCurlyBracket: 23,
    RightCurlyBracket: 24,
    Comment: 25
  };
  var NAME = Object.keys(TYPE).reduce(function (result, key) {
    result[TYPE[key]] = key;
    return result;
  }, {});
  module.exports = {
    TYPE: TYPE,
    NAME: NAME
  };
},828,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var EOF = _$$_REQUIRE(_dependencyMap[0]).TYPE.EOF;

  var WHITESPACE = _$$_REQUIRE(_dependencyMap[0]).TYPE.WhiteSpace;

  var COMMENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Comment;

  var OFFSET_MASK = 0x00FFFFFF;
  var TYPE_SHIFT = 24;

  var TokenStream = function TokenStream() {
    this.offsetAndType = null;
    this.balance = null;
    this.reset();
  };

  TokenStream.prototype = {
    reset: function reset() {
      this.eof = false;
      this.tokenIndex = -1;
      this.tokenType = 0;
      this.tokenStart = this.firstCharOffset;
      this.tokenEnd = this.firstCharOffset;
    },
    lookupType: function lookupType(offset) {
      offset += this.tokenIndex;

      if (offset < this.tokenCount) {
        return this.offsetAndType[offset] >> TYPE_SHIFT;
      }

      return EOF;
    },
    lookupOffset: function lookupOffset(offset) {
      offset += this.tokenIndex;

      if (offset < this.tokenCount) {
        return this.offsetAndType[offset - 1] & OFFSET_MASK;
      }

      return this.source.length;
    },
    lookupValue: function lookupValue(offset, referenceStr) {
      offset += this.tokenIndex;

      if (offset < this.tokenCount) {
        return _$$_REQUIRE(_dependencyMap[1]).cmpStr(this.source, this.offsetAndType[offset - 1] & OFFSET_MASK, this.offsetAndType[offset] & OFFSET_MASK, referenceStr);
      }

      return false;
    },
    getTokenStart: function getTokenStart(tokenIndex) {
      if (tokenIndex === this.tokenIndex) {
        return this.tokenStart;
      }

      if (tokenIndex > 0) {
        return tokenIndex < this.tokenCount ? this.offsetAndType[tokenIndex - 1] & OFFSET_MASK : this.offsetAndType[this.tokenCount] & OFFSET_MASK;
      }

      return this.firstCharOffset;
    },
    getRawLength: function getRawLength(startToken, mode) {
      var cursor = startToken;
      var balanceEnd;
      var offset = this.offsetAndType[Math.max(cursor - 1, 0)] & OFFSET_MASK;
      var type;

      loop: for (; cursor < this.tokenCount; cursor++) {
        balanceEnd = this.balance[cursor];

        if (balanceEnd < startToken) {
          break loop;
        }

        type = this.offsetAndType[cursor] >> TYPE_SHIFT;

        switch (mode(type, this.source, offset)) {
          case 1:
            break loop;

          case 2:
            cursor++;
            break loop;

          default:
            offset = this.offsetAndType[cursor] & OFFSET_MASK;

            if (this.balance[balanceEnd] === cursor) {
              cursor = balanceEnd;
            }

        }
      }

      return cursor - this.tokenIndex;
    },
    isBalanceEdge: function isBalanceEdge(pos) {
      return this.balance[this.tokenIndex] < pos;
    },
    isDelim: function isDelim(code, offset) {
      if (offset) {
        return this.lookupType(offset) === _$$_REQUIRE(_dependencyMap[0]).TYPE.Delim && this.source.charCodeAt(this.lookupOffset(offset)) === code;
      }

      return this.tokenType === _$$_REQUIRE(_dependencyMap[0]).TYPE.Delim && this.source.charCodeAt(this.tokenStart) === code;
    },
    getTokenValue: function getTokenValue() {
      return this.source.substring(this.tokenStart, this.tokenEnd);
    },
    getTokenLength: function getTokenLength() {
      return this.tokenEnd - this.tokenStart;
    },
    substrToCursor: function substrToCursor(start) {
      return this.source.substring(start, this.tokenStart);
    },
    skipWS: function skipWS() {
      for (var i = this.tokenIndex, skipTokenCount = 0; i < this.tokenCount; i++, skipTokenCount++) {
        if (this.offsetAndType[i] >> TYPE_SHIFT !== WHITESPACE) {
          break;
        }
      }

      if (skipTokenCount > 0) {
        this.skip(skipTokenCount);
      }
    },
    skipSC: function skipSC() {
      while (this.tokenType === WHITESPACE || this.tokenType === COMMENT) {
        this.next();
      }
    },
    skip: function skip(tokenCount) {
      var next = this.tokenIndex + tokenCount;

      if (next < this.tokenCount) {
        this.tokenIndex = next;
        this.tokenStart = this.offsetAndType[next - 1] & OFFSET_MASK;
        next = this.offsetAndType[next];
        this.tokenType = next >> TYPE_SHIFT;
        this.tokenEnd = next & OFFSET_MASK;
      } else {
        this.tokenIndex = this.tokenCount;
        this.next();
      }
    },
    next: function next() {
      var next = this.tokenIndex + 1;

      if (next < this.tokenCount) {
        this.tokenIndex = next;
        this.tokenStart = this.tokenEnd;
        next = this.offsetAndType[next];
        this.tokenType = next >> TYPE_SHIFT;
        this.tokenEnd = next & OFFSET_MASK;
      } else {
        this.tokenIndex = this.tokenCount;
        this.eof = true;
        this.tokenType = EOF;
        this.tokenStart = this.tokenEnd = this.source.length;
      }
    },
    forEachToken: function forEachToken(fn) {
      for (var i = 0, offset = this.firstCharOffset; i < this.tokenCount; i++) {
        var start = offset;
        var item = this.offsetAndType[i];
        var end = item & OFFSET_MASK;
        var type = item >> TYPE_SHIFT;
        offset = end;
        fn(type, start, end, i);
      }
    },
    dump: function dump() {
      var _this = this;

      var tokens = new Array(this.tokenCount);
      this.forEachToken(function (type, start, end, index) {
        tokens[index] = {
          idx: index,
          type: _$$_REQUIRE(_dependencyMap[0]).NAME[type],
          chunk: _this.source.substring(start, end),
          balance: _this.balance[index]
        };
      });
      return tokens;
    }
  };
  module.exports = TokenStream;
},829,[828,830]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function getCharCode(source, offset) {
    return offset < source.length ? source.charCodeAt(offset) : 0;
  }

  function getNewlineLength(source, offset, code) {
    if (code === 13 && getCharCode(source, offset + 1) === 10) {
      return 2;
    }

    return 1;
  }

  function cmpChar(testStr, offset, referenceCode) {
    var code = testStr.charCodeAt(offset);

    if (_$$_REQUIRE(_dependencyMap[0]).isUppercaseLetter(code)) {
      code = code | 32;
    }

    return code === referenceCode;
  }

  function cmpStr(testStr, start, end, referenceStr) {
    if (end - start !== referenceStr.length) {
      return false;
    }

    if (start < 0 || end > testStr.length) {
      return false;
    }

    for (var i = start; i < end; i++) {
      var testCode = testStr.charCodeAt(i);
      var referenceCode = referenceStr.charCodeAt(i - start);

      if (_$$_REQUIRE(_dependencyMap[0]).isUppercaseLetter(testCode)) {
        testCode = testCode | 32;
      }

      if (testCode !== referenceCode) {
        return false;
      }
    }

    return true;
  }

  function findWhiteSpaceStart(source, offset) {
    for (; offset >= 0; offset--) {
      if (!_$$_REQUIRE(_dependencyMap[0]).isWhiteSpace(source.charCodeAt(offset))) {
        break;
      }
    }

    return offset + 1;
  }

  function findWhiteSpaceEnd(source, offset) {
    for (; offset < source.length; offset++) {
      if (!_$$_REQUIRE(_dependencyMap[0]).isWhiteSpace(source.charCodeAt(offset))) {
        break;
      }
    }

    return offset;
  }

  function findDecimalNumberEnd(source, offset) {
    for (; offset < source.length; offset++) {
      if (!_$$_REQUIRE(_dependencyMap[0]).isDigit(source.charCodeAt(offset))) {
        break;
      }
    }

    return offset;
  }

  function consumeEscaped(source, offset) {
    offset += 2;

    if (_$$_REQUIRE(_dependencyMap[0]).isHexDigit(getCharCode(source, offset - 1))) {
      for (var maxOffset = Math.min(source.length, offset + 5); offset < maxOffset; offset++) {
        if (!_$$_REQUIRE(_dependencyMap[0]).isHexDigit(getCharCode(source, offset))) {
          break;
        }
      }

      var code = getCharCode(source, offset);

      if (_$$_REQUIRE(_dependencyMap[0]).isWhiteSpace(code)) {
        offset += getNewlineLength(source, offset, code);
      }
    }

    return offset;
  }

  function consumeName(source, offset) {
    for (; offset < source.length; offset++) {
      var code = source.charCodeAt(offset);

      if (_$$_REQUIRE(_dependencyMap[0]).isName(code)) {
        continue;
      }

      if (_$$_REQUIRE(_dependencyMap[0]).isValidEscape(code, getCharCode(source, offset + 1))) {
        offset = consumeEscaped(source, offset) - 1;
        continue;
      }

      break;
    }

    return offset;
  }

  function consumeNumber(source, offset) {
    var code = source.charCodeAt(offset);

    if (code === 0x002B || code === 0x002D) {
      code = source.charCodeAt(offset += 1);
    }

    if (_$$_REQUIRE(_dependencyMap[0]).isDigit(code)) {
      offset = findDecimalNumberEnd(source, offset + 1);
      code = source.charCodeAt(offset);
    }

    if (code === 0x002E && _$$_REQUIRE(_dependencyMap[0]).isDigit(source.charCodeAt(offset + 1))) {
      code = source.charCodeAt(offset += 2);
      offset = findDecimalNumberEnd(source, offset);
    }

    if (cmpChar(source, offset, 101)) {
      var sign = 0;
      code = source.charCodeAt(offset + 1);

      if (code === 0x002D || code === 0x002B) {
        sign = 1;
        code = source.charCodeAt(offset + 2);
      }

      if (_$$_REQUIRE(_dependencyMap[0]).isDigit(code)) {
        offset = findDecimalNumberEnd(source, offset + 1 + sign + 1);
      }
    }

    return offset;
  }

  function consumeBadUrlRemnants(source, offset) {
    for (; offset < source.length; offset++) {
      var code = source.charCodeAt(offset);

      if (code === 0x0029) {
        offset++;
        break;
      }

      if (_$$_REQUIRE(_dependencyMap[0]).isValidEscape(code, getCharCode(source, offset + 1))) {
        offset = consumeEscaped(source, offset);
      }
    }

    return offset;
  }

  module.exports = {
    consumeEscaped: consumeEscaped,
    consumeName: consumeName,
    consumeNumber: consumeNumber,
    consumeBadUrlRemnants: consumeBadUrlRemnants,
    cmpChar: cmpChar,
    cmpStr: cmpStr,
    getNewlineLength: getNewlineLength,
    findWhiteSpaceStart: findWhiteSpaceStart,
    findWhiteSpaceEnd: findWhiteSpaceEnd
  };
},830,[831]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var EOF = 0;

  function isDigit(code) {
    return code >= 0x0030 && code <= 0x0039;
  }

  function isHexDigit(code) {
    return isDigit(code) || code >= 0x0041 && code <= 0x0046 || code >= 0x0061 && code <= 0x0066;
  }

  function isUppercaseLetter(code) {
    return code >= 0x0041 && code <= 0x005A;
  }

  function isLowercaseLetter(code) {
    return code >= 0x0061 && code <= 0x007A;
  }

  function isLetter(code) {
    return isUppercaseLetter(code) || isLowercaseLetter(code);
  }

  function isNonAscii(code) {
    return code >= 0x0080;
  }

  function isNameStart(code) {
    return isLetter(code) || isNonAscii(code) || code === 0x005F;
  }

  function isName(code) {
    return isNameStart(code) || isDigit(code) || code === 0x002D;
  }

  function isNonPrintable(code) {
    return code >= 0x0000 && code <= 0x0008 || code === 0x000B || code >= 0x000E && code <= 0x001F || code === 0x007F;
  }

  function isNewline(code) {
    return code === 0x000A || code === 0x000D || code === 0x000C;
  }

  function isWhiteSpace(code) {
    return isNewline(code) || code === 0x0020 || code === 0x0009;
  }

  function isValidEscape(first, second) {
    if (first !== 0x005C) {
      return false;
    }

    if (isNewline(second) || second === EOF) {
      return false;
    }

    return true;
  }

  function isIdentifierStart(first, second, third) {
    if (first === 0x002D) {
      return isNameStart(second) || second === 0x002D || isValidEscape(second, third);
    }

    if (isNameStart(first)) {
      return true;
    }

    if (first === 0x005C) {
      return isValidEscape(first, second);
    }

    return false;
  }

  function isNumberStart(first, second, third) {
    if (first === 0x002B || first === 0x002D) {
      if (isDigit(second)) {
        return 2;
      }

      return second === 0x002E && isDigit(third) ? 3 : 0;
    }

    if (first === 0x002E) {
      return isDigit(second) ? 2 : 0;
    }

    if (isDigit(first)) {
      return 1;
    }

    return 0;
  }

  function isBOM(code) {
    if (code === 0xFEFF) {
      return 1;
    }

    if (code === 0xFFFE) {
      return 1;
    }

    return 0;
  }

  var CATEGORY = new Array(0x80);
  charCodeCategory.Eof = 0x80;
  charCodeCategory.WhiteSpace = 0x82;
  charCodeCategory.Digit = 0x83;
  charCodeCategory.NameStart = 0x84;
  charCodeCategory.NonPrintable = 0x85;

  for (var i = 0; i < CATEGORY.length; i++) {
    switch (true) {
      case isWhiteSpace(i):
        CATEGORY[i] = charCodeCategory.WhiteSpace;
        break;

      case isDigit(i):
        CATEGORY[i] = charCodeCategory.Digit;
        break;

      case isNameStart(i):
        CATEGORY[i] = charCodeCategory.NameStart;
        break;

      case isNonPrintable(i):
        CATEGORY[i] = charCodeCategory.NonPrintable;
        break;

      default:
        CATEGORY[i] = i || charCodeCategory.Eof;
    }
  }

  function charCodeCategory(code) {
    return code < 0x80 ? CATEGORY[code] : charCodeCategory.NameStart;
  }

  ;
  module.exports = {
    isDigit: isDigit,
    isHexDigit: isHexDigit,
    isUppercaseLetter: isUppercaseLetter,
    isLowercaseLetter: isLowercaseLetter,
    isLetter: isLetter,
    isNonAscii: isNonAscii,
    isNameStart: isNameStart,
    isName: isName,
    isNonPrintable: isNonPrintable,
    isNewline: isNewline,
    isWhiteSpace: isWhiteSpace,
    isValidEscape: isValidEscape,
    isIdentifierStart: isIdentifierStart,
    isNumberStart: isNumberStart,
    isBOM: isBOM,
    charCodeCategory: charCodeCategory
  };
},831,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var N = 10;
  var F = 12;
  var R = 13;

  function computeLinesAndColumns(host, source) {
    var sourceLength = source.length;

    var lines = _$$_REQUIRE(_dependencyMap[0])(host.lines, sourceLength);

    var line = host.startLine;

    var columns = _$$_REQUIRE(_dependencyMap[0])(host.columns, sourceLength);

    var column = host.startColumn;
    var startOffset = source.length > 0 ? _$$_REQUIRE(_dependencyMap[1]).isBOM(source.charCodeAt(0)) : 0;

    for (var i = startOffset; i < sourceLength; i++) {
      var code = source.charCodeAt(i);
      lines[i] = line;
      columns[i] = column++;

      if (code === N || code === R || code === F) {
        if (code === R && i + 1 < sourceLength && source.charCodeAt(i + 1) === N) {
          i++;
          lines[i] = line;
          columns[i] = column;
        }

        line++;
        column = 1;
      }
    }

    lines[i] = line;
    columns[i] = column;
    host.lines = lines;
    host.columns = columns;
  }

  var OffsetToLocation = function OffsetToLocation() {
    this.lines = null;
    this.columns = null;
    this.linesAndColumnsComputed = false;
  };

  OffsetToLocation.prototype = {
    setSource: function setSource(source, startOffset, startLine, startColumn) {
      this.source = source;
      this.startOffset = typeof startOffset === 'undefined' ? 0 : startOffset;
      this.startLine = typeof startLine === 'undefined' ? 1 : startLine;
      this.startColumn = typeof startColumn === 'undefined' ? 1 : startColumn;
      this.linesAndColumnsComputed = false;
    },
    ensureLinesAndColumnsComputed: function ensureLinesAndColumnsComputed() {
      if (!this.linesAndColumnsComputed) {
        computeLinesAndColumns(this, this.source);
        this.linesAndColumnsComputed = true;
      }
    },
    getLocation: function getLocation(offset, filename) {
      this.ensureLinesAndColumnsComputed();
      return {
        source: filename,
        offset: this.startOffset + offset,
        line: this.lines[offset],
        column: this.columns[offset]
      };
    },
    getLocationRange: function getLocationRange(start, end, filename) {
      this.ensureLinesAndColumnsComputed();
      return {
        source: filename,
        start: {
          offset: this.startOffset + start,
          line: this.lines[start],
          column: this.columns[start]
        },
        end: {
          offset: this.startOffset + end,
          line: this.lines[end],
          column: this.columns[end]
        }
      };
    }
  };
  module.exports = OffsetToLocation;
},832,[833,834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var MIN_SIZE = 16384;
  var SafeUint32Array = typeof Uint32Array !== 'undefined' ? Uint32Array : Array;

  module.exports = function adoptBuffer(buffer, size) {
    if (buffer === null || buffer.length < size) {
      return new SafeUint32Array(Math.max(size + 1024, MIN_SIZE));
    }

    return buffer;
  };
},833,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var OFFSET_MASK = 0x00FFFFFF;
  var TYPE_SHIFT = 24;

  function tokenize(source, stream) {
    function getCharCode(offset) {
      return offset < sourceLength ? source.charCodeAt(offset) : 0;
    }

    function consumeNumericToken() {
      offset = _$$_REQUIRE(_dependencyMap[0]).consumeNumber(source, offset);

      if (_$$_REQUIRE(_dependencyMap[1]).isIdentifierStart(getCharCode(offset), getCharCode(offset + 1), getCharCode(offset + 2))) {
        type = _$$_REQUIRE(_dependencyMap[2]).TYPE.Dimension;
        offset = _$$_REQUIRE(_dependencyMap[0]).consumeName(source, offset);
        return;
      }

      if (getCharCode(offset) === 0x0025) {
        type = _$$_REQUIRE(_dependencyMap[2]).TYPE.Percentage;
        offset++;
        return;
      }

      type = _$$_REQUIRE(_dependencyMap[2]).TYPE.Number;
    }

    function consumeIdentLikeToken() {
      var nameStartOffset = offset;
      offset = _$$_REQUIRE(_dependencyMap[0]).consumeName(source, offset);

      if (_$$_REQUIRE(_dependencyMap[0]).cmpStr(source, nameStartOffset, offset, 'url') && getCharCode(offset) === 0x0028) {
        offset = _$$_REQUIRE(_dependencyMap[0]).findWhiteSpaceEnd(source, offset + 1);

        if (getCharCode(offset) === 0x0022 || getCharCode(offset) === 0x0027) {
          type = _$$_REQUIRE(_dependencyMap[2]).TYPE.Function;
          offset = nameStartOffset + 4;
          return;
        }

        consumeUrlToken();
        return;
      }

      if (getCharCode(offset) === 0x0028) {
        type = _$$_REQUIRE(_dependencyMap[2]).TYPE.Function;
        offset++;
        return;
      }

      type = _$$_REQUIRE(_dependencyMap[2]).TYPE.Ident;
    }

    function consumeStringToken(endingCodePoint) {
      if (!endingCodePoint) {
        endingCodePoint = getCharCode(offset++);
      }

      type = _$$_REQUIRE(_dependencyMap[2]).TYPE.String;

      for (; offset < source.length; offset++) {
        var code = source.charCodeAt(offset);

        switch (_$$_REQUIRE(_dependencyMap[1]).charCodeCategory(code)) {
          case endingCodePoint:
            offset++;
            return;

          case _$$_REQUIRE(_dependencyMap[1]).charCodeCategory.Eof:
            return;

          case _$$_REQUIRE(_dependencyMap[1]).charCodeCategory.WhiteSpace:
            if (_$$_REQUIRE(_dependencyMap[1]).isNewline(code)) {
              offset += _$$_REQUIRE(_dependencyMap[0]).getNewlineLength(source, offset, code);
              type = _$$_REQUIRE(_dependencyMap[2]).TYPE.BadString;
              return;
            }

            break;

          case 0x005C:
            if (offset === source.length - 1) {
              break;
            }

            var nextCode = getCharCode(offset + 1);

            if (_$$_REQUIRE(_dependencyMap[1]).isNewline(nextCode)) {
              offset += _$$_REQUIRE(_dependencyMap[0]).getNewlineLength(source, offset + 1, nextCode);
            } else if (_$$_REQUIRE(_dependencyMap[1]).isValidEscape(code, nextCode)) {
              offset = _$$_REQUIRE(_dependencyMap[0]).consumeEscaped(source, offset) - 1;
            }

            break;
        }
      }
    }

    function consumeUrlToken() {
      type = _$$_REQUIRE(_dependencyMap[2]).TYPE.Url;
      offset = _$$_REQUIRE(_dependencyMap[0]).findWhiteSpaceEnd(source, offset);

      for (; offset < source.length; offset++) {
        var code = source.charCodeAt(offset);

        switch (_$$_REQUIRE(_dependencyMap[1]).charCodeCategory(code)) {
          case 0x0029:
            offset++;
            return;

          case _$$_REQUIRE(_dependencyMap[1]).charCodeCategory.Eof:
            return;

          case _$$_REQUIRE(_dependencyMap[1]).charCodeCategory.WhiteSpace:
            offset = _$$_REQUIRE(_dependencyMap[0]).findWhiteSpaceEnd(source, offset);

            if (getCharCode(offset) === 0x0029 || offset >= source.length) {
              if (offset < source.length) {
                offset++;
              }

              return;
            }

            offset = _$$_REQUIRE(_dependencyMap[0]).consumeBadUrlRemnants(source, offset);
            type = _$$_REQUIRE(_dependencyMap[2]).TYPE.BadUrl;
            return;

          case 0x0022:
          case 0x0027:
          case 0x0028:
          case _$$_REQUIRE(_dependencyMap[1]).charCodeCategory.NonPrintable:
            offset = _$$_REQUIRE(_dependencyMap[0]).consumeBadUrlRemnants(source, offset);
            type = _$$_REQUIRE(_dependencyMap[2]).TYPE.BadUrl;
            return;

          case 0x005C:
            if (_$$_REQUIRE(_dependencyMap[1]).isValidEscape(code, getCharCode(offset + 1))) {
              offset = _$$_REQUIRE(_dependencyMap[0]).consumeEscaped(source, offset) - 1;
              break;
            }

            offset = _$$_REQUIRE(_dependencyMap[0]).consumeBadUrlRemnants(source, offset);
            type = _$$_REQUIRE(_dependencyMap[2]).TYPE.BadUrl;
            return;
        }
      }
    }

    if (!stream) {
      stream = new (_$$_REQUIRE(_dependencyMap[3]))();
    }

    source = String(source || '');
    var sourceLength = source.length;

    var offsetAndType = _$$_REQUIRE(_dependencyMap[4])(stream.offsetAndType, sourceLength + 1);

    var balance = _$$_REQUIRE(_dependencyMap[4])(stream.balance, sourceLength + 1);

    var tokenCount = 0;

    var start = _$$_REQUIRE(_dependencyMap[1]).isBOM(getCharCode(0));

    var offset = start;
    var balanceCloseType = 0;
    var balanceStart = 0;
    var balancePrev = 0;

    while (offset < sourceLength) {
      var code = source.charCodeAt(offset);
      var type = 0;
      balance[tokenCount] = sourceLength;

      switch (_$$_REQUIRE(_dependencyMap[1]).charCodeCategory(code)) {
        case _$$_REQUIRE(_dependencyMap[1]).charCodeCategory.WhiteSpace:
          type = _$$_REQUIRE(_dependencyMap[2]).TYPE.WhiteSpace;
          offset = _$$_REQUIRE(_dependencyMap[0]).findWhiteSpaceEnd(source, offset + 1);
          break;

        case 0x0022:
          consumeStringToken();
          break;

        case 0x0023:
          if (_$$_REQUIRE(_dependencyMap[1]).isName(getCharCode(offset + 1)) || _$$_REQUIRE(_dependencyMap[1]).isValidEscape(getCharCode(offset + 1), getCharCode(offset + 2))) {
            type = _$$_REQUIRE(_dependencyMap[2]).TYPE.Hash;
            offset = _$$_REQUIRE(_dependencyMap[0]).consumeName(source, offset + 1);
          } else {
            type = _$$_REQUIRE(_dependencyMap[2]).TYPE.Delim;
            offset++;
          }

          break;

        case 0x0027:
          consumeStringToken();
          break;

        case 0x0028:
          type = _$$_REQUIRE(_dependencyMap[2]).TYPE.LeftParenthesis;
          offset++;
          break;

        case 0x0029:
          type = _$$_REQUIRE(_dependencyMap[2]).TYPE.RightParenthesis;
          offset++;
          break;

        case 0x002B:
          if (_$$_REQUIRE(_dependencyMap[1]).isNumberStart(code, getCharCode(offset + 1), getCharCode(offset + 2))) {
            consumeNumericToken();
          } else {
            type = _$$_REQUIRE(_dependencyMap[2]).TYPE.Delim;
            offset++;
          }

          break;

        case 0x002C:
          type = _$$_REQUIRE(_dependencyMap[2]).TYPE.Comma;
          offset++;
          break;

        case 0x002D:
          if (_$$_REQUIRE(_dependencyMap[1]).isNumberStart(code, getCharCode(offset + 1), getCharCode(offset + 2))) {
            consumeNumericToken();
          } else {
            if (getCharCode(offset + 1) === 0x002D && getCharCode(offset + 2) === 0x003E) {
              type = _$$_REQUIRE(_dependencyMap[2]).TYPE.CDC;
              offset = offset + 3;
            } else {
              if (_$$_REQUIRE(_dependencyMap[1]).isIdentifierStart(code, getCharCode(offset + 1), getCharCode(offset + 2))) {
                consumeIdentLikeToken();
              } else {
                type = _$$_REQUIRE(_dependencyMap[2]).TYPE.Delim;
                offset++;
              }
            }
          }

          break;

        case 0x002E:
          if (_$$_REQUIRE(_dependencyMap[1]).isNumberStart(code, getCharCode(offset + 1), getCharCode(offset + 2))) {
            consumeNumericToken();
          } else {
            type = _$$_REQUIRE(_dependencyMap[2]).TYPE.Delim;
            offset++;
          }

          break;

        case 0x002F:
          if (getCharCode(offset + 1) === 0x002A) {
            type = _$$_REQUIRE(_dependencyMap[2]).TYPE.Comment;
            offset = source.indexOf('*/', offset + 2) + 2;

            if (offset === 1) {
              offset = source.length;
            }
          } else {
            type = _$$_REQUIRE(_dependencyMap[2]).TYPE.Delim;
            offset++;
          }

          break;

        case 0x003A:
          type = _$$_REQUIRE(_dependencyMap[2]).TYPE.Colon;
          offset++;
          break;

        case 0x003B:
          type = _$$_REQUIRE(_dependencyMap[2]).TYPE.Semicolon;
          offset++;
          break;

        case 0x003C:
          if (getCharCode(offset + 1) === 0x0021 && getCharCode(offset + 2) === 0x002D && getCharCode(offset + 3) === 0x002D) {
            type = _$$_REQUIRE(_dependencyMap[2]).TYPE.CDO;
            offset = offset + 4;
          } else {
            type = _$$_REQUIRE(_dependencyMap[2]).TYPE.Delim;
            offset++;
          }

          break;

        case 0x0040:
          if (_$$_REQUIRE(_dependencyMap[1]).isIdentifierStart(getCharCode(offset + 1), getCharCode(offset + 2), getCharCode(offset + 3))) {
            type = _$$_REQUIRE(_dependencyMap[2]).TYPE.AtKeyword;
            offset = _$$_REQUIRE(_dependencyMap[0]).consumeName(source, offset + 1);
          } else {
            type = _$$_REQUIRE(_dependencyMap[2]).TYPE.Delim;
            offset++;
          }

          break;

        case 0x005B:
          type = _$$_REQUIRE(_dependencyMap[2]).TYPE.LeftSquareBracket;
          offset++;
          break;

        case 0x005C:
          if (_$$_REQUIRE(_dependencyMap[1]).isValidEscape(code, getCharCode(offset + 1))) {
            consumeIdentLikeToken();
          } else {
            type = _$$_REQUIRE(_dependencyMap[2]).TYPE.Delim;
            offset++;
          }

          break;

        case 0x005D:
          type = _$$_REQUIRE(_dependencyMap[2]).TYPE.RightSquareBracket;
          offset++;
          break;

        case 0x007B:
          type = _$$_REQUIRE(_dependencyMap[2]).TYPE.LeftCurlyBracket;
          offset++;
          break;

        case 0x007D:
          type = _$$_REQUIRE(_dependencyMap[2]).TYPE.RightCurlyBracket;
          offset++;
          break;

        case _$$_REQUIRE(_dependencyMap[1]).charCodeCategory.Digit:
          consumeNumericToken();
          break;

        case _$$_REQUIRE(_dependencyMap[1]).charCodeCategory.NameStart:
          consumeIdentLikeToken();
          break;

        case _$$_REQUIRE(_dependencyMap[1]).charCodeCategory.Eof:
          break;

        default:
          type = _$$_REQUIRE(_dependencyMap[2]).TYPE.Delim;
          offset++;
      }

      switch (type) {
        case balanceCloseType:
          balancePrev = balanceStart & OFFSET_MASK;
          balanceStart = balance[balancePrev];
          balanceCloseType = balanceStart >> TYPE_SHIFT;
          balance[tokenCount] = balancePrev;
          balance[balancePrev++] = tokenCount;

          for (; balancePrev < tokenCount; balancePrev++) {
            if (balance[balancePrev] === sourceLength) {
              balance[balancePrev] = tokenCount;
            }
          }

          break;

        case _$$_REQUIRE(_dependencyMap[2]).TYPE.LeftParenthesis:
        case _$$_REQUIRE(_dependencyMap[2]).TYPE.Function:
          balance[tokenCount] = balanceStart;
          balanceCloseType = _$$_REQUIRE(_dependencyMap[2]).TYPE.RightParenthesis;
          balanceStart = balanceCloseType << TYPE_SHIFT | tokenCount;
          break;

        case _$$_REQUIRE(_dependencyMap[2]).TYPE.LeftSquareBracket:
          balance[tokenCount] = balanceStart;
          balanceCloseType = _$$_REQUIRE(_dependencyMap[2]).TYPE.RightSquareBracket;
          balanceStart = balanceCloseType << TYPE_SHIFT | tokenCount;
          break;

        case _$$_REQUIRE(_dependencyMap[2]).TYPE.LeftCurlyBracket:
          balance[tokenCount] = balanceStart;
          balanceCloseType = _$$_REQUIRE(_dependencyMap[2]).TYPE.RightCurlyBracket;
          balanceStart = balanceCloseType << TYPE_SHIFT | tokenCount;
          break;
      }

      offsetAndType[tokenCount++] = type << TYPE_SHIFT | offset;
    }

    offsetAndType[tokenCount] = _$$_REQUIRE(_dependencyMap[2]).TYPE.EOF << TYPE_SHIFT | offset;
    balance[tokenCount] = sourceLength;
    balance[sourceLength] = sourceLength;

    while (balanceStart !== 0) {
      balancePrev = balanceStart & OFFSET_MASK;
      balanceStart = balance[balancePrev];
      balance[balancePrev] = sourceLength;
    }

    stream.source = source;
    stream.firstCharOffset = start;
    stream.offsetAndType = offsetAndType;
    stream.tokenCount = tokenCount;
    stream.balance = balance;
    stream.reset();
    stream.next();
    return stream;
  }

  Object.keys(_$$_REQUIRE(_dependencyMap[2])).forEach(function (key) {
    tokenize[key] = _$$_REQUIRE(_dependencyMap[2])[key];
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[1])).forEach(function (key) {
    tokenize[key] = _$$_REQUIRE(_dependencyMap[1])[key];
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    tokenize[key] = _$$_REQUIRE(_dependencyMap[0])[key];
  });
  module.exports = tokenize;
},834,[830,831,828,829,833]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var WHITESPACE = _$$_REQUIRE(_dependencyMap[0]).TYPE.WhiteSpace;

  var COMMENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Comment;

  module.exports = function readSequence(recognizer) {
    var children = this.createList();
    var child = null;
    var context = {
      recognizer: recognizer,
      space: null,
      ignoreWS: false,
      ignoreWSAfter: false
    };
    this.scanner.skipSC();

    while (!this.scanner.eof) {
      switch (this.scanner.tokenType) {
        case COMMENT:
          this.scanner.next();
          continue;

        case WHITESPACE:
          if (context.ignoreWS) {
            this.scanner.next();
          } else {
            context.space = this.WhiteSpace();
          }

          continue;
      }

      child = recognizer.getNode.call(this, context);

      if (child === undefined) {
        break;
      }

      if (context.space !== null) {
        children.push(context.space);
        context.space = null;
      }

      children.push(child);

      if (context.ignoreWSAfter) {
        context.ignoreWSAfter = false;
        context.ignoreWS = true;
      } else {
        context.ignoreWS = false;
      }
    }

    return children;
  };
},835,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function createItem(data) {
    return {
      prev: null,
      next: null,
      data: data
    };
  }

  function allocateCursor(node, prev, next) {
    var cursor;

    if (cursors !== null) {
      cursor = cursors;
      cursors = cursors.cursor;
      cursor.prev = prev;
      cursor.next = next;
      cursor.cursor = node.cursor;
    } else {
      cursor = {
        prev: prev,
        next: next,
        cursor: node.cursor
      };
    }

    node.cursor = cursor;
    return cursor;
  }

  function releaseCursor(node) {
    var cursor = node.cursor;
    node.cursor = cursor.cursor;
    cursor.prev = null;
    cursor.next = null;
    cursor.cursor = cursors;
    cursors = cursor;
  }

  var cursors = null;

  var List = function List() {
    this.cursor = null;
    this.head = null;
    this.tail = null;
  };

  List.createItem = createItem;
  List.prototype.createItem = createItem;

  List.prototype.updateCursors = function (prevOld, prevNew, nextOld, nextNew) {
    var cursor = this.cursor;

    while (cursor !== null) {
      if (cursor.prev === prevOld) {
        cursor.prev = prevNew;
      }

      if (cursor.next === nextOld) {
        cursor.next = nextNew;
      }

      cursor = cursor.cursor;
    }
  };

  List.prototype.getSize = function () {
    var size = 0;
    var cursor = this.head;

    while (cursor) {
      size++;
      cursor = cursor.next;
    }

    return size;
  };

  List.prototype.fromArray = function (array) {
    var cursor = null;
    this.head = null;

    for (var i = 0; i < array.length; i++) {
      var item = createItem(array[i]);

      if (cursor !== null) {
        cursor.next = item;
      } else {
        this.head = item;
      }

      item.prev = cursor;
      cursor = item;
    }

    this.tail = cursor;
    return this;
  };

  List.prototype.toArray = function () {
    var cursor = this.head;
    var result = [];

    while (cursor) {
      result.push(cursor.data);
      cursor = cursor.next;
    }

    return result;
  };

  List.prototype.toJSON = List.prototype.toArray;

  List.prototype.isEmpty = function () {
    return this.head === null;
  };

  List.prototype.first = function () {
    return this.head && this.head.data;
  };

  List.prototype.last = function () {
    return this.tail && this.tail.data;
  };

  List.prototype.each = function (fn, context) {
    var item;

    if (context === undefined) {
      context = this;
    }

    var cursor = allocateCursor(this, null, this.head);

    while (cursor.next !== null) {
      item = cursor.next;
      cursor.next = item.next;
      fn.call(context, item.data, item, this);
    }

    releaseCursor(this);
  };

  List.prototype.forEach = List.prototype.each;

  List.prototype.eachRight = function (fn, context) {
    var item;

    if (context === undefined) {
      context = this;
    }

    var cursor = allocateCursor(this, this.tail, null);

    while (cursor.prev !== null) {
      item = cursor.prev;
      cursor.prev = item.prev;
      fn.call(context, item.data, item, this);
    }

    releaseCursor(this);
  };

  List.prototype.forEachRight = List.prototype.eachRight;

  List.prototype.reduce = function (fn, initialValue, context) {
    var item;

    if (context === undefined) {
      context = this;
    }

    var cursor = allocateCursor(this, null, this.head);
    var acc = initialValue;

    while (cursor.next !== null) {
      item = cursor.next;
      cursor.next = item.next;
      acc = fn.call(context, acc, item.data, item, this);
    }

    releaseCursor(this);
    return acc;
  };

  List.prototype.reduceRight = function (fn, initialValue, context) {
    var item;

    if (context === undefined) {
      context = this;
    }

    var cursor = allocateCursor(this, this.tail, null);
    var acc = initialValue;

    while (cursor.prev !== null) {
      item = cursor.prev;
      cursor.prev = item.prev;
      acc = fn.call(context, acc, item.data, item, this);
    }

    releaseCursor(this);
    return acc;
  };

  List.prototype.nextUntil = function (start, fn, context) {
    if (start === null) {
      return;
    }

    var item;

    if (context === undefined) {
      context = this;
    }

    var cursor = allocateCursor(this, null, start);

    while (cursor.next !== null) {
      item = cursor.next;
      cursor.next = item.next;

      if (fn.call(context, item.data, item, this)) {
        break;
      }
    }

    releaseCursor(this);
  };

  List.prototype.prevUntil = function (start, fn, context) {
    if (start === null) {
      return;
    }

    var item;

    if (context === undefined) {
      context = this;
    }

    var cursor = allocateCursor(this, start, null);

    while (cursor.prev !== null) {
      item = cursor.prev;
      cursor.prev = item.prev;

      if (fn.call(context, item.data, item, this)) {
        break;
      }
    }

    releaseCursor(this);
  };

  List.prototype.some = function (fn, context) {
    var cursor = this.head;

    if (context === undefined) {
      context = this;
    }

    while (cursor !== null) {
      if (fn.call(context, cursor.data, cursor, this)) {
        return true;
      }

      cursor = cursor.next;
    }

    return false;
  };

  List.prototype.map = function (fn, context) {
    var result = new List();
    var cursor = this.head;

    if (context === undefined) {
      context = this;
    }

    while (cursor !== null) {
      result.appendData(fn.call(context, cursor.data, cursor, this));
      cursor = cursor.next;
    }

    return result;
  };

  List.prototype.filter = function (fn, context) {
    var result = new List();
    var cursor = this.head;

    if (context === undefined) {
      context = this;
    }

    while (cursor !== null) {
      if (fn.call(context, cursor.data, cursor, this)) {
        result.appendData(cursor.data);
      }

      cursor = cursor.next;
    }

    return result;
  };

  List.prototype.clear = function () {
    this.head = null;
    this.tail = null;
  };

  List.prototype.copy = function () {
    var result = new List();
    var cursor = this.head;

    while (cursor !== null) {
      result.insert(createItem(cursor.data));
      cursor = cursor.next;
    }

    return result;
  };

  List.prototype.prepend = function (item) {
    this.updateCursors(null, item, this.head, item);

    if (this.head !== null) {
      this.head.prev = item;
      item.next = this.head;
    } else {
      this.tail = item;
    }

    this.head = item;
    return this;
  };

  List.prototype.prependData = function (data) {
    return this.prepend(createItem(data));
  };

  List.prototype.append = function (item) {
    return this.insert(item);
  };

  List.prototype.appendData = function (data) {
    return this.insert(createItem(data));
  };

  List.prototype.insert = function (item, before) {
    if (before !== undefined && before !== null) {
      this.updateCursors(before.prev, item, before, item);

      if (before.prev === null) {
        if (this.head !== before) {
          throw new Error('before doesn\'t belong to list');
        }

        this.head = item;
        before.prev = item;
        item.next = before;
        this.updateCursors(null, item);
      } else {
        before.prev.next = item;
        item.prev = before.prev;
        before.prev = item;
        item.next = before;
      }
    } else {
      this.updateCursors(this.tail, item, null, item);

      if (this.tail !== null) {
        this.tail.next = item;
        item.prev = this.tail;
      } else {
        this.head = item;
      }

      this.tail = item;
    }

    return this;
  };

  List.prototype.insertData = function (data, before) {
    return this.insert(createItem(data), before);
  };

  List.prototype.remove = function (item) {
    this.updateCursors(item, item.prev, item, item.next);

    if (item.prev !== null) {
      item.prev.next = item.next;
    } else {
      if (this.head !== item) {
        throw new Error('item doesn\'t belong to list');
      }

      this.head = item.next;
    }

    if (item.next !== null) {
      item.next.prev = item.prev;
    } else {
      if (this.tail !== item) {
        throw new Error('item doesn\'t belong to list');
      }

      this.tail = item.prev;
    }

    item.prev = null;
    item.next = null;
    return item;
  };

  List.prototype.push = function (data) {
    this.insert(createItem(data));
  };

  List.prototype.pop = function () {
    if (this.tail !== null) {
      return this.remove(this.tail);
    }
  };

  List.prototype.unshift = function (data) {
    this.prepend(createItem(data));
  };

  List.prototype.shift = function () {
    if (this.head !== null) {
      return this.remove(this.head);
    }
  };

  List.prototype.prependList = function (list) {
    return this.insertList(list, this.head);
  };

  List.prototype.appendList = function (list) {
    return this.insertList(list);
  };

  List.prototype.insertList = function (list, before) {
    if (list.head === null) {
      return this;
    }

    if (before !== undefined && before !== null) {
      this.updateCursors(before.prev, list.tail, before, list.head);

      if (before.prev !== null) {
        before.prev.next = list.head;
        list.head.prev = before.prev;
      } else {
        this.head = list.head;
      }

      before.prev = list.tail;
      list.tail.next = before;
    } else {
      this.updateCursors(this.tail, list.tail, null, list.head);

      if (this.tail !== null) {
        this.tail.next = list.head;
        list.head.prev = this.tail;
      } else {
        this.head = list.head;
      }

      this.tail = list.tail;
    }

    list.head = null;
    list.tail = null;
    return this;
  };

  List.prototype.replace = function (oldItem, newItemOrList) {
    if ('head' in newItemOrList) {
      this.insertList(newItemOrList, oldItem);
    } else {
      this.insert(newItemOrList, oldItem);
    }

    this.remove(oldItem);
  };

  module.exports = List;
},836,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var MAX_LINE_LENGTH = 100;
  var OFFSET_CORRECTION = 60;
  var TAB_REPLACEMENT = '    ';

  function sourceFragment(error, extraLines) {
    function processLines(start, end) {
      return lines.slice(start, end).map(function (line, idx) {
        var num = String(start + idx + 1);

        while (num.length < maxNumLength) {
          num = ' ' + num;
        }

        return num + ' |' + line;
      }).join('\n');
    }

    var lines = error.source.split(/\r\n?|\n|\f/);
    var line = error.line;
    var column = error.column;
    var startLine = Math.max(1, line - extraLines) - 1;
    var endLine = Math.min(line + extraLines, lines.length + 1);
    var maxNumLength = Math.max(4, String(endLine).length) + 1;
    var cutLeft = 0;
    column += (TAB_REPLACEMENT.length - 1) * (lines[line - 1].substr(0, column - 1).match(/\t/g) || []).length;

    if (column > MAX_LINE_LENGTH) {
      cutLeft = column - OFFSET_CORRECTION + 3;
      column = 58;
    }

    for (var i = startLine; i <= endLine; i++) {
      if (i >= 0 && i < lines.length) {
        lines[i] = lines[i].replace(/\t/g, TAB_REPLACEMENT);
        lines[i] = (cutLeft > 0 && lines[i].length > cutLeft ? "\u2026" : '') + lines[i].substr(cutLeft, 98) + (lines[i].length > cutLeft + MAX_LINE_LENGTH - 1 ? "\u2026" : '');
      }
    }

    return [processLines(startLine, line), new Array(column + maxNumLength + 2).join('-') + '^', processLines(line, endLine)].filter(Boolean).join('\n');
  }

  var SyntaxError = function SyntaxError(message, source, offset, line, column) {
    var error = _$$_REQUIRE(_dependencyMap[0])('SyntaxError', message);

    error.source = source;
    error.offset = offset;
    error.line = line;
    error.column = column;

    error.sourceFragment = function (extraLines) {
      return sourceFragment(error, isNaN(extraLines) ? 0 : extraLines);
    };

    Object.defineProperty(error, 'formattedMessage', {
      get: function get() {
        return 'Parse error: ' + error.message + '\n' + sourceFragment(error, 2);
      }
    });
    error.parseError = {
      offset: offset,
      line: line,
      column: column
    };
    return error;
  };

  module.exports = SyntaxError;
},837,[838]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = function createCustomError(name, message) {
    var error = Object.create(SyntaxError.prototype);
    var errorStack = new Error();
    error.name = name;
    error.message = message;
    Object.defineProperty(error, 'stack', {
      get: function get() {
        return (errorStack.stack || '').replace(/^(.+\n){1,3}/, name + ': ' + message + '\n');
      }
    });
    return error;
  };
},838,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var hasOwnProperty = Object.prototype.hasOwnProperty;

  var noop = function noop() {};

  function ensureFunction(value) {
    return typeof value === 'function' ? value : noop;
  }

  function invokeForType(fn, type) {
    return function (node, item, list) {
      if (node.type === type) {
        fn.call(this, node, item, list);
      }
    };
  }

  function getWalkersFromStructure(name, nodeType) {
    var structure = nodeType.structure;
    var walkers = [];

    for (var key in structure) {
      if (hasOwnProperty.call(structure, key) === false) {
        continue;
      }

      var fieldTypes = structure[key];
      var walker = {
        name: key,
        type: false,
        nullable: false
      };

      if (!Array.isArray(structure[key])) {
        fieldTypes = [structure[key]];
      }

      for (var i = 0; i < fieldTypes.length; i++) {
        var fieldType = fieldTypes[i];

        if (fieldType === null) {
          walker.nullable = true;
        } else if (typeof fieldType === 'string') {
          walker.type = 'node';
        } else if (Array.isArray(fieldType)) {
          walker.type = 'list';
        }
      }

      if (walker.type) {
        walkers.push(walker);
      }
    }

    if (walkers.length) {
      return {
        context: nodeType.walkContext,
        fields: walkers
      };
    }

    return null;
  }

  function getTypesFromConfig(config) {
    var types = {};

    for (var name in config.node) {
      if (hasOwnProperty.call(config.node, name)) {
        var nodeType = config.node[name];

        if (!nodeType.structure) {
          throw new Error('Missed `structure` field in `' + name + '` node type definition');
        }

        types[name] = getWalkersFromStructure(name, nodeType);
      }
    }

    return types;
  }

  function createTypeIterator(config, reverse) {
    var fields = config.fields.slice();
    var contextName = config.context;
    var useContext = typeof contextName === 'string';

    if (reverse) {
      fields.reverse();
    }

    return function (node, context, walk, walkReducer) {
      var prevContextValue;

      if (useContext) {
        prevContextValue = context[contextName];
        context[contextName] = node;
      }

      for (var i = 0; i < fields.length; i++) {
        var field = fields[i];
        var ref = node[field.name];

        if (!field.nullable || ref) {
          if (field.type === 'list') {
            var breakWalk = reverse ? ref.reduceRight(walkReducer, false) : ref.reduce(walkReducer, false);

            if (breakWalk) {
              return true;
            }
          } else if (walk(ref)) {
            return true;
          }
        }
      }

      if (useContext) {
        context[contextName] = prevContextValue;
      }
    };
  }

  function createFastTraveralMap(iterators) {
    return {
      Atrule: {
        StyleSheet: iterators.StyleSheet,
        Atrule: iterators.Atrule,
        Rule: iterators.Rule,
        Block: iterators.Block
      },
      Rule: {
        StyleSheet: iterators.StyleSheet,
        Atrule: iterators.Atrule,
        Rule: iterators.Rule,
        Block: iterators.Block
      },
      Declaration: {
        StyleSheet: iterators.StyleSheet,
        Atrule: iterators.Atrule,
        Rule: iterators.Rule,
        Block: iterators.Block,
        DeclarationList: iterators.DeclarationList
      }
    };
  }

  module.exports = function createWalker(config) {
    var types = getTypesFromConfig(config);
    var iteratorsNatural = {};
    var iteratorsReverse = {};
    var breakWalk = Symbol('break-walk');
    var skipNode = Symbol('skip-node');

    for (var name in types) {
      if (hasOwnProperty.call(types, name) && types[name] !== null) {
        iteratorsNatural[name] = createTypeIterator(types[name], false);
        iteratorsReverse[name] = createTypeIterator(types[name], true);
      }
    }

    var fastTraversalIteratorsNatural = createFastTraveralMap(iteratorsNatural);
    var fastTraversalIteratorsReverse = createFastTraveralMap(iteratorsReverse);

    var walk = function walk(root, options) {
      function walkNode(node, item, list) {
        var enterRet = enter.call(context, node, item, list);

        if (enterRet === breakWalk) {
          debugger;
          return true;
        }

        if (enterRet === skipNode) {
          return false;
        }

        if (iterators.hasOwnProperty(node.type)) {
          if (iterators[node.type](node, context, walkNode, walkReducer)) {
            return true;
          }
        }

        if (leave.call(context, node, item, list) === breakWalk) {
          return true;
        }

        return false;
      }

      var walkReducer = function walkReducer(ret, data, item, list) {
        return ret || walkNode(data, item, list);
      };

      var enter = noop;
      var leave = noop;
      var iterators = iteratorsNatural;
      var context = {
        break: breakWalk,
        skip: skipNode,
        root: root,
        stylesheet: null,
        atrule: null,
        atrulePrelude: null,
        rule: null,
        selector: null,
        block: null,
        declaration: null,
        function: null
      };

      if (typeof options === 'function') {
        enter = options;
      } else if (options) {
        enter = ensureFunction(options.enter);
        leave = ensureFunction(options.leave);

        if (options.reverse) {
          iterators = iteratorsReverse;
        }

        if (options.visit) {
          if (fastTraversalIteratorsNatural.hasOwnProperty(options.visit)) {
            iterators = options.reverse ? fastTraversalIteratorsReverse[options.visit] : fastTraversalIteratorsNatural[options.visit];
          } else if (!types.hasOwnProperty(options.visit)) {
            throw new Error('Bad value `' + options.visit + '` for `visit` option (should be: ' + Object.keys(types).join(', ') + ')');
          }

          enter = invokeForType(enter, options.visit);
          leave = invokeForType(leave, options.visit);
        }
      }

      if (enter === noop && leave === noop) {
        throw new Error('Neither `enter` nor `leave` walker handler is set or both aren\'t a function');
      }

      walkNode(root);
    };

    walk.break = breakWalk;
    walk.skip = skipNode;

    walk.find = function (ast, fn) {
      var found = null;
      walk(ast, function (node, item, list) {
        if (fn.call(this, node, item, list)) {
          found = node;
          return breakWalk;
        }
      });
      return found;
    };

    walk.findLast = function (ast, fn) {
      var found = null;
      walk(ast, {
        reverse: true,
        enter: function enter(node, item, list) {
          if (fn.call(this, node, item, list)) {
            found = node;
            return breakWalk;
          }
        }
      });
      return found;
    };

    walk.findAll = function (ast, fn) {
      var found = [];
      walk(ast, function (node, item, list) {
        if (fn.call(this, node, item, list)) {
          found.push(node);
        }
      });
      return found;
    };

    return walk;
  };
},839,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var hasOwnProperty = Object.prototype.hasOwnProperty;

  function processChildren(node, delimeter) {
    var list = node.children;
    var prev = null;

    if (typeof delimeter !== 'function') {
      list.forEach(this.node, this);
    } else {
      list.forEach(function (node) {
        if (prev !== null) {
          delimeter.call(this, prev);
        }

        this.node(node);
        prev = node;
      }, this);
    }
  }

  module.exports = function createGenerator(config) {
    function processNode(node) {
      if (hasOwnProperty.call(types, node.type)) {
        types[node.type].call(this, node);
      } else {
        throw new Error('Unknown node type: ' + node.type);
      }
    }

    var types = {};

    if (config.node) {
      for (var name in config.node) {
        types[name] = config.node[name].generate;
      }
    }

    return function (node, options) {
      var buffer = '';
      var handlers = {
        children: processChildren,
        node: processNode,
        chunk: function chunk(_chunk) {
          buffer += _chunk;
        },
        result: function result() {
          return buffer;
        }
      };

      if (options) {
        if (typeof options.decorator === 'function') {
          handlers = options.decorator(handlers);
        }

        if (options.sourceMap) {
          handlers = _$$_REQUIRE(_dependencyMap[0])(handlers);
        }
      }

      handlers.node(node);
      return handlers.result();
    };
  };
},840,[841]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var trackNodes = {
    Atrule: true,
    Selector: true,
    Declaration: true
  };

  module.exports = function generateSourceMap(handlers) {
    var map = new (_$$_REQUIRE(_dependencyMap[0]).SourceMapGenerator)();
    var line = 1;
    var column = 0;
    var generated = {
      line: 1,
      column: 0
    };
    var original = {
      line: 0,
      column: 0
    };
    var sourceMappingActive = false;
    var activatedGenerated = {
      line: 1,
      column: 0
    };
    var activatedMapping = {
      generated: activatedGenerated
    };
    var handlersNode = handlers.node;

    handlers.node = function (node) {
      if (node.loc && node.loc.start && trackNodes.hasOwnProperty(node.type)) {
        var nodeLine = node.loc.start.line;
        var nodeColumn = node.loc.start.column - 1;

        if (original.line !== nodeLine || original.column !== nodeColumn) {
          original.line = nodeLine;
          original.column = nodeColumn;
          generated.line = line;
          generated.column = column;

          if (sourceMappingActive) {
            sourceMappingActive = false;

            if (generated.line !== activatedGenerated.line || generated.column !== activatedGenerated.column) {
              map.addMapping(activatedMapping);
            }
          }

          sourceMappingActive = true;
          map.addMapping({
            source: node.loc.source,
            original: original,
            generated: generated
          });
        }
      }

      handlersNode.call(this, node);

      if (sourceMappingActive && trackNodes.hasOwnProperty(node.type)) {
        activatedGenerated.line = line;
        activatedGenerated.column = column;
      }
    };

    var handlersChunk = handlers.chunk;

    handlers.chunk = function (chunk) {
      for (var i = 0; i < chunk.length; i++) {
        if (chunk.charCodeAt(i) === 10) {
          line++;
          column = 0;
        } else {
          column++;
        }
      }

      handlersChunk(chunk);
    };

    var handlersResult = handlers.result;

    handlers.result = function () {
      if (sourceMappingActive) {
        map.addMapping(activatedMapping);
      }

      return {
        css: handlersResult(),
        map: map
      };
    };

    return handlers;
  };
},841,[842]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function SourceMapGenerator(aArgs) {
    if (!aArgs) {
      aArgs = {};
    }

    this._file = _$$_REQUIRE(_dependencyMap[0]).getArg(aArgs, 'file', null);
    this._sourceRoot = _$$_REQUIRE(_dependencyMap[0]).getArg(aArgs, 'sourceRoot', null);
    this._skipValidation = _$$_REQUIRE(_dependencyMap[0]).getArg(aArgs, 'skipValidation', false);
    this._sources = new (_$$_REQUIRE(_dependencyMap[1]).ArraySet)();
    this._names = new (_$$_REQUIRE(_dependencyMap[1]).ArraySet)();
    this._mappings = new (_$$_REQUIRE(_dependencyMap[2]).MappingList)();
    this._sourcesContents = null;
  }

  SourceMapGenerator.prototype._version = 3;

  SourceMapGenerator.fromSourceMap = function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {
    var sourceRoot = aSourceMapConsumer.sourceRoot;
    var generator = new SourceMapGenerator({
      file: aSourceMapConsumer.file,
      sourceRoot: sourceRoot
    });
    aSourceMapConsumer.eachMapping(function (mapping) {
      var newMapping = {
        generated: {
          line: mapping.generatedLine,
          column: mapping.generatedColumn
        }
      };

      if (mapping.source != null) {
        newMapping.source = mapping.source;

        if (sourceRoot != null) {
          newMapping.source = _$$_REQUIRE(_dependencyMap[0]).relative(sourceRoot, newMapping.source);
        }

        newMapping.original = {
          line: mapping.originalLine,
          column: mapping.originalColumn
        };

        if (mapping.name != null) {
          newMapping.name = mapping.name;
        }
      }

      generator.addMapping(newMapping);
    });
    aSourceMapConsumer.sources.forEach(function (sourceFile) {
      var sourceRelative = sourceFile;

      if (sourceRoot !== null) {
        sourceRelative = _$$_REQUIRE(_dependencyMap[0]).relative(sourceRoot, sourceFile);
      }

      if (!generator._sources.has(sourceRelative)) {
        generator._sources.add(sourceRelative);
      }

      var content = aSourceMapConsumer.sourceContentFor(sourceFile);

      if (content != null) {
        generator.setSourceContent(sourceFile, content);
      }
    });
    return generator;
  };

  SourceMapGenerator.prototype.addMapping = function SourceMapGenerator_addMapping(aArgs) {
    var generated = _$$_REQUIRE(_dependencyMap[0]).getArg(aArgs, 'generated');

    var original = _$$_REQUIRE(_dependencyMap[0]).getArg(aArgs, 'original', null);

    var source = _$$_REQUIRE(_dependencyMap[0]).getArg(aArgs, 'source', null);

    var name = _$$_REQUIRE(_dependencyMap[0]).getArg(aArgs, 'name', null);

    if (!this._skipValidation) {
      this._validateMapping(generated, original, source, name);
    }

    if (source != null) {
      source = String(source);

      if (!this._sources.has(source)) {
        this._sources.add(source);
      }
    }

    if (name != null) {
      name = String(name);

      if (!this._names.has(name)) {
        this._names.add(name);
      }
    }

    this._mappings.add({
      generatedLine: generated.line,
      generatedColumn: generated.column,
      originalLine: original != null && original.line,
      originalColumn: original != null && original.column,
      source: source,
      name: name
    });
  };

  SourceMapGenerator.prototype.setSourceContent = function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {
    var source = aSourceFile;

    if (this._sourceRoot != null) {
      source = _$$_REQUIRE(_dependencyMap[0]).relative(this._sourceRoot, source);
    }

    if (aSourceContent != null) {
      if (!this._sourcesContents) {
        this._sourcesContents = Object.create(null);
      }

      this._sourcesContents[_$$_REQUIRE(_dependencyMap[0]).toSetString(source)] = aSourceContent;
    } else if (this._sourcesContents) {
      delete this._sourcesContents[_$$_REQUIRE(_dependencyMap[0]).toSetString(source)];

      if (Object.keys(this._sourcesContents).length === 0) {
        this._sourcesContents = null;
      }
    }
  };

  SourceMapGenerator.prototype.applySourceMap = function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {
    var sourceFile = aSourceFile;

    if (aSourceFile == null) {
      if (aSourceMapConsumer.file == null) {
        throw new Error("SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's \"file\" property. Both were omitted.");
      }

      sourceFile = aSourceMapConsumer.file;
    }

    var sourceRoot = this._sourceRoot;

    if (sourceRoot != null) {
      sourceFile = _$$_REQUIRE(_dependencyMap[0]).relative(sourceRoot, sourceFile);
    }

    var newSources = new (_$$_REQUIRE(_dependencyMap[1]).ArraySet)();
    var newNames = new (_$$_REQUIRE(_dependencyMap[1]).ArraySet)();

    this._mappings.unsortedForEach(function (mapping) {
      if (mapping.source === sourceFile && mapping.originalLine != null) {
        var original = aSourceMapConsumer.originalPositionFor({
          line: mapping.originalLine,
          column: mapping.originalColumn
        });

        if (original.source != null) {
          mapping.source = original.source;

          if (aSourceMapPath != null) {
            mapping.source = _$$_REQUIRE(_dependencyMap[0]).join(aSourceMapPath, mapping.source);
          }

          if (sourceRoot != null) {
            mapping.source = _$$_REQUIRE(_dependencyMap[0]).relative(sourceRoot, mapping.source);
          }

          mapping.originalLine = original.line;
          mapping.originalColumn = original.column;

          if (original.name != null) {
            mapping.name = original.name;
          }
        }
      }

      var source = mapping.source;

      if (source != null && !newSources.has(source)) {
        newSources.add(source);
      }

      var name = mapping.name;

      if (name != null && !newNames.has(name)) {
        newNames.add(name);
      }
    }, this);

    this._sources = newSources;
    this._names = newNames;
    aSourceMapConsumer.sources.forEach(function (sourceFile) {
      var content = aSourceMapConsumer.sourceContentFor(sourceFile);

      if (content != null) {
        if (aSourceMapPath != null) {
          sourceFile = _$$_REQUIRE(_dependencyMap[0]).join(aSourceMapPath, sourceFile);
        }

        if (sourceRoot != null) {
          sourceFile = _$$_REQUIRE(_dependencyMap[0]).relative(sourceRoot, sourceFile);
        }

        this.setSourceContent(sourceFile, content);
      }
    }, this);
  };

  SourceMapGenerator.prototype._validateMapping = function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, aName) {
    if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {
      throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");
    }

    if (aGenerated && 'line' in aGenerated && 'column' in aGenerated && aGenerated.line > 0 && aGenerated.column >= 0 && !aOriginal && !aSource && !aName) {
      return;
    } else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated && aOriginal && 'line' in aOriginal && 'column' in aOriginal && aGenerated.line > 0 && aGenerated.column >= 0 && aOriginal.line > 0 && aOriginal.column >= 0 && aSource) {
      return;
    } else {
      throw new Error('Invalid mapping: ' + JSON.stringify({
        generated: aGenerated,
        source: aSource,
        original: aOriginal,
        name: aName
      }));
    }
  };

  SourceMapGenerator.prototype._serializeMappings = function SourceMapGenerator_serializeMappings() {
    var previousGeneratedColumn = 0;
    var previousGeneratedLine = 1;
    var previousOriginalColumn = 0;
    var previousOriginalLine = 0;
    var previousName = 0;
    var previousSource = 0;
    var result = '';
    var next;
    var mapping;
    var nameIdx;
    var sourceIdx;

    var mappings = this._mappings.toArray();

    for (var i = 0, len = mappings.length; i < len; i++) {
      mapping = mappings[i];
      next = '';

      if (mapping.generatedLine !== previousGeneratedLine) {
        previousGeneratedColumn = 0;

        while (mapping.generatedLine !== previousGeneratedLine) {
          next += ';';
          previousGeneratedLine++;
        }
      } else {
        if (i > 0) {
          if (!_$$_REQUIRE(_dependencyMap[0]).compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {
            continue;
          }

          next += ',';
        }
      }

      next += _$$_REQUIRE(_dependencyMap[3]).encode(mapping.generatedColumn - previousGeneratedColumn);
      previousGeneratedColumn = mapping.generatedColumn;

      if (mapping.source != null) {
        sourceIdx = this._sources.indexOf(mapping.source);
        next += _$$_REQUIRE(_dependencyMap[3]).encode(sourceIdx - previousSource);
        previousSource = sourceIdx;
        next += _$$_REQUIRE(_dependencyMap[3]).encode(mapping.originalLine - 1 - previousOriginalLine);
        previousOriginalLine = mapping.originalLine - 1;
        next += _$$_REQUIRE(_dependencyMap[3]).encode(mapping.originalColumn - previousOriginalColumn);
        previousOriginalColumn = mapping.originalColumn;

        if (mapping.name != null) {
          nameIdx = this._names.indexOf(mapping.name);
          next += _$$_REQUIRE(_dependencyMap[3]).encode(nameIdx - previousName);
          previousName = nameIdx;
        }
      }

      result += next;
    }

    return result;
  };

  SourceMapGenerator.prototype._generateSourcesContent = function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {
    return aSources.map(function (source) {
      if (!this._sourcesContents) {
        return null;
      }

      if (aSourceRoot != null) {
        source = _$$_REQUIRE(_dependencyMap[0]).relative(aSourceRoot, source);
      }

      var key = _$$_REQUIRE(_dependencyMap[0]).toSetString(source);

      return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) ? this._sourcesContents[key] : null;
    }, this);
  };

  SourceMapGenerator.prototype.toJSON = function SourceMapGenerator_toJSON() {
    var map = {
      version: this._version,
      sources: this._sources.toArray(),
      names: this._names.toArray(),
      mappings: this._serializeMappings()
    };

    if (this._file != null) {
      map.file = this._file;
    }

    if (this._sourceRoot != null) {
      map.sourceRoot = this._sourceRoot;
    }

    if (this._sourcesContents) {
      map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);
    }

    return map;
  };

  SourceMapGenerator.prototype.toString = function SourceMapGenerator_toString() {
    return JSON.stringify(this.toJSON());
  };

  exports.SourceMapGenerator = SourceMapGenerator;
},842,[843,844,845,846]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function getArg(aArgs, aName, aDefaultValue) {
    if (aName in aArgs) {
      return aArgs[aName];
    } else if (arguments.length === 3) {
      return aDefaultValue;
    } else {
      throw new Error('"' + aName + '" is a required argument.');
    }
  }

  exports.getArg = getArg;
  var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/;
  var dataUrlRegexp = /^data:.+\,.+$/;

  function urlParse(aUrl) {
    var match = aUrl.match(urlRegexp);

    if (!match) {
      return null;
    }

    return {
      scheme: match[1],
      auth: match[2],
      host: match[3],
      port: match[4],
      path: match[5]
    };
  }

  exports.urlParse = urlParse;

  function urlGenerate(aParsedUrl) {
    var url = '';

    if (aParsedUrl.scheme) {
      url += aParsedUrl.scheme + ':';
    }

    url += '//';

    if (aParsedUrl.auth) {
      url += aParsedUrl.auth + '@';
    }

    if (aParsedUrl.host) {
      url += aParsedUrl.host;
    }

    if (aParsedUrl.port) {
      url += ":" + aParsedUrl.port;
    }

    if (aParsedUrl.path) {
      url += aParsedUrl.path;
    }

    return url;
  }

  exports.urlGenerate = urlGenerate;

  function normalize(aPath) {
    var path = aPath;
    var url = urlParse(aPath);

    if (url) {
      if (!url.path) {
        return aPath;
      }

      path = url.path;
    }

    var isAbsolute = exports.isAbsolute(path);
    var parts = path.split(/\/+/);

    for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {
      part = parts[i];

      if (part === '.') {
        parts.splice(i, 1);
      } else if (part === '..') {
        up++;
      } else if (up > 0) {
        if (part === '') {
          parts.splice(i + 1, up);
          up = 0;
        } else {
          parts.splice(i, 2);
          up--;
        }
      }
    }

    path = parts.join('/');

    if (path === '') {
      path = isAbsolute ? '/' : '.';
    }

    if (url) {
      url.path = path;
      return urlGenerate(url);
    }

    return path;
  }

  exports.normalize = normalize;

  function join(aRoot, aPath) {
    if (aRoot === "") {
      aRoot = ".";
    }

    if (aPath === "") {
      aPath = ".";
    }

    var aPathUrl = urlParse(aPath);
    var aRootUrl = urlParse(aRoot);

    if (aRootUrl) {
      aRoot = aRootUrl.path || '/';
    }

    if (aPathUrl && !aPathUrl.scheme) {
      if (aRootUrl) {
        aPathUrl.scheme = aRootUrl.scheme;
      }

      return urlGenerate(aPathUrl);
    }

    if (aPathUrl || aPath.match(dataUrlRegexp)) {
      return aPath;
    }

    if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {
      aRootUrl.host = aPath;
      return urlGenerate(aRootUrl);
    }

    var joined = aPath.charAt(0) === '/' ? aPath : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath);

    if (aRootUrl) {
      aRootUrl.path = joined;
      return urlGenerate(aRootUrl);
    }

    return joined;
  }

  exports.join = join;

  exports.isAbsolute = function (aPath) {
    return aPath.charAt(0) === '/' || urlRegexp.test(aPath);
  };

  function relative(aRoot, aPath) {
    if (aRoot === "") {
      aRoot = ".";
    }

    aRoot = aRoot.replace(/\/$/, '');
    var level = 0;

    while (aPath.indexOf(aRoot + '/') !== 0) {
      var index = aRoot.lastIndexOf("/");

      if (index < 0) {
        return aPath;
      }

      aRoot = aRoot.slice(0, index);

      if (aRoot.match(/^([^\/]+:\/)?\/*$/)) {
        return aPath;
      }

      ++level;
    }

    return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1);
  }

  exports.relative = relative;

  var supportsNullProto = function () {
    var obj = Object.create(null);
    return !('__proto__' in obj);
  }();

  function identity(s) {
    return s;
  }

  function toSetString(aStr) {
    if (isProtoString(aStr)) {
      return '$' + aStr;
    }

    return aStr;
  }

  exports.toSetString = supportsNullProto ? identity : toSetString;

  function fromSetString(aStr) {
    if (isProtoString(aStr)) {
      return aStr.slice(1);
    }

    return aStr;
  }

  exports.fromSetString = supportsNullProto ? identity : fromSetString;

  function isProtoString(s) {
    if (!s) {
      return false;
    }

    var length = s.length;

    if (length < 9) {
      return false;
    }

    if (s.charCodeAt(length - 1) !== 95 || s.charCodeAt(length - 2) !== 95 || s.charCodeAt(length - 3) !== 111 || s.charCodeAt(length - 4) !== 116 || s.charCodeAt(length - 5) !== 111 || s.charCodeAt(length - 6) !== 114 || s.charCodeAt(length - 7) !== 112 || s.charCodeAt(length - 8) !== 95 || s.charCodeAt(length - 9) !== 95) {
      return false;
    }

    for (var i = length - 10; i >= 0; i--) {
      if (s.charCodeAt(i) !== 36) {
        return false;
      }
    }

    return true;
  }

  function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {
    var cmp = strcmp(mappingA.source, mappingB.source);

    if (cmp !== 0) {
      return cmp;
    }

    cmp = mappingA.originalLine - mappingB.originalLine;

    if (cmp !== 0) {
      return cmp;
    }

    cmp = mappingA.originalColumn - mappingB.originalColumn;

    if (cmp !== 0 || onlyCompareOriginal) {
      return cmp;
    }

    cmp = mappingA.generatedColumn - mappingB.generatedColumn;

    if (cmp !== 0) {
      return cmp;
    }

    cmp = mappingA.generatedLine - mappingB.generatedLine;

    if (cmp !== 0) {
      return cmp;
    }

    return strcmp(mappingA.name, mappingB.name);
  }

  exports.compareByOriginalPositions = compareByOriginalPositions;

  function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {
    var cmp = mappingA.generatedLine - mappingB.generatedLine;

    if (cmp !== 0) {
      return cmp;
    }

    cmp = mappingA.generatedColumn - mappingB.generatedColumn;

    if (cmp !== 0 || onlyCompareGenerated) {
      return cmp;
    }

    cmp = strcmp(mappingA.source, mappingB.source);

    if (cmp !== 0) {
      return cmp;
    }

    cmp = mappingA.originalLine - mappingB.originalLine;

    if (cmp !== 0) {
      return cmp;
    }

    cmp = mappingA.originalColumn - mappingB.originalColumn;

    if (cmp !== 0) {
      return cmp;
    }

    return strcmp(mappingA.name, mappingB.name);
  }

  exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;

  function strcmp(aStr1, aStr2) {
    if (aStr1 === aStr2) {
      return 0;
    }

    if (aStr1 === null) {
      return 1;
    }

    if (aStr2 === null) {
      return -1;
    }

    if (aStr1 > aStr2) {
      return 1;
    }

    return -1;
  }

  function compareByGeneratedPositionsInflated(mappingA, mappingB) {
    var cmp = mappingA.generatedLine - mappingB.generatedLine;

    if (cmp !== 0) {
      return cmp;
    }

    cmp = mappingA.generatedColumn - mappingB.generatedColumn;

    if (cmp !== 0) {
      return cmp;
    }

    cmp = strcmp(mappingA.source, mappingB.source);

    if (cmp !== 0) {
      return cmp;
    }

    cmp = mappingA.originalLine - mappingB.originalLine;

    if (cmp !== 0) {
      return cmp;
    }

    cmp = mappingA.originalColumn - mappingB.originalColumn;

    if (cmp !== 0) {
      return cmp;
    }

    return strcmp(mappingA.name, mappingB.name);
  }

  exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;

  function parseSourceMapInput(str) {
    return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, ''));
  }

  exports.parseSourceMapInput = parseSourceMapInput;

  function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {
    sourceURL = sourceURL || '';

    if (sourceRoot) {
      if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') {
        sourceRoot += '/';
      }

      sourceURL = sourceRoot + sourceURL;
    }

    if (sourceMapURL) {
      var parsed = urlParse(sourceMapURL);

      if (!parsed) {
        throw new Error("sourceMapURL could not be parsed");
      }

      if (parsed.path) {
        var index = parsed.path.lastIndexOf('/');

        if (index >= 0) {
          parsed.path = parsed.path.substring(0, index + 1);
        }
      }

      sourceURL = join(urlGenerate(parsed), sourceURL);
    }

    return normalize(sourceURL);
  }

  exports.computeSourceURL = computeSourceURL;
},843,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var has = Object.prototype.hasOwnProperty;
  var hasNativeMap = typeof Map !== "undefined";

  function ArraySet() {
    this._array = [];
    this._set = hasNativeMap ? new Map() : Object.create(null);
  }

  ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {
    var set = new ArraySet();

    for (var i = 0, len = aArray.length; i < len; i++) {
      set.add(aArray[i], aAllowDuplicates);
    }

    return set;
  };

  ArraySet.prototype.size = function ArraySet_size() {
    return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;
  };

  ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {
    var sStr = hasNativeMap ? aStr : _$$_REQUIRE(_dependencyMap[0]).toSetString(aStr);
    var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);
    var idx = this._array.length;

    if (!isDuplicate || aAllowDuplicates) {
      this._array.push(aStr);
    }

    if (!isDuplicate) {
      if (hasNativeMap) {
        this._set.set(aStr, idx);
      } else {
        this._set[sStr] = idx;
      }
    }
  };

  ArraySet.prototype.has = function ArraySet_has(aStr) {
    if (hasNativeMap) {
      return this._set.has(aStr);
    } else {
      var sStr = _$$_REQUIRE(_dependencyMap[0]).toSetString(aStr);

      return has.call(this._set, sStr);
    }
  };

  ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {
    if (hasNativeMap) {
      var idx = this._set.get(aStr);

      if (idx >= 0) {
        return idx;
      }
    } else {
      var sStr = _$$_REQUIRE(_dependencyMap[0]).toSetString(aStr);

      if (has.call(this._set, sStr)) {
        return this._set[sStr];
      }
    }

    throw new Error('"' + aStr + '" is not in the set.');
  };

  ArraySet.prototype.at = function ArraySet_at(aIdx) {
    if (aIdx >= 0 && aIdx < this._array.length) {
      return this._array[aIdx];
    }

    throw new Error('No element indexed by ' + aIdx);
  };

  ArraySet.prototype.toArray = function ArraySet_toArray() {
    return this._array.slice();
  };

  exports.ArraySet = ArraySet;
},844,[843]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function generatedPositionAfter(mappingA, mappingB) {
    var lineA = mappingA.generatedLine;
    var lineB = mappingB.generatedLine;
    var columnA = mappingA.generatedColumn;
    var columnB = mappingB.generatedColumn;
    return lineB > lineA || lineB == lineA && columnB >= columnA || _$$_REQUIRE(_dependencyMap[0]).compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;
  }

  function MappingList() {
    this._array = [];
    this._sorted = true;
    this._last = {
      generatedLine: -1,
      generatedColumn: 0
    };
  }

  MappingList.prototype.unsortedForEach = function MappingList_forEach(aCallback, aThisArg) {
    this._array.forEach(aCallback, aThisArg);
  };

  MappingList.prototype.add = function MappingList_add(aMapping) {
    if (generatedPositionAfter(this._last, aMapping)) {
      this._last = aMapping;

      this._array.push(aMapping);
    } else {
      this._sorted = false;

      this._array.push(aMapping);
    }
  };

  MappingList.prototype.toArray = function MappingList_toArray() {
    if (!this._sorted) {
      this._array.sort(_$$_REQUIRE(_dependencyMap[0]).compareByGeneratedPositionsInflated);

      this._sorted = true;
    }

    return this._array;
  };

  exports.MappingList = MappingList;
},845,[843]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var VLQ_BASE_SHIFT = 5;
  var VLQ_BASE = 32;
  var VLQ_BASE_MASK = 31;
  var VLQ_CONTINUATION_BIT = VLQ_BASE;

  function toVLQSigned(aValue) {
    return aValue < 0 ? (-aValue << 1) + 1 : (aValue << 1) + 0;
  }

  function fromVLQSigned(aValue) {
    var isNegative = (aValue & 1) === 1;
    var shifted = aValue >> 1;
    return isNegative ? -shifted : shifted;
  }

  exports.encode = function base64VLQ_encode(aValue) {
    var encoded = "";
    var digit;
    var vlq = toVLQSigned(aValue);

    do {
      digit = vlq & VLQ_BASE_MASK;
      vlq >>>= VLQ_BASE_SHIFT;

      if (vlq > 0) {
        digit |= VLQ_CONTINUATION_BIT;
      }

      encoded += _$$_REQUIRE(_dependencyMap[0]).encode(digit);
    } while (vlq > 0);

    return encoded;
  };

  exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {
    var strLen = aStr.length;
    var result = 0;
    var shift = 0;
    var continuation, digit;

    do {
      if (aIndex >= strLen) {
        throw new Error("Expected more digits in base 64 VLQ value.");
      }

      digit = _$$_REQUIRE(_dependencyMap[0]).decode(aStr.charCodeAt(aIndex++));

      if (digit === -1) {
        throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1));
      }

      continuation = !!(digit & VLQ_CONTINUATION_BIT);
      digit &= VLQ_BASE_MASK;
      result = result + (digit << shift);
      shift += VLQ_BASE_SHIFT;
    } while (continuation);

    aOutParam.value = fromVLQSigned(result);
    aOutParam.rest = aIndex;
  };
},846,[847]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');

  exports.encode = function (number) {
    if (0 <= number && number < intToCharMap.length) {
      return intToCharMap[number];
    }

    throw new TypeError("Must be between 0 and 63: " + number);
  };

  exports.decode = function (charCode) {
    var bigA = 65;
    var bigZ = 90;
    var littleA = 97;
    var littleZ = 122;
    var zero = 48;
    var nine = 57;
    var plus = 43;
    var slash = 47;
    var littleOffset = 26;
    var numberOffset = 52;

    if (bigA <= charCode && charCode <= bigZ) {
      return charCode - bigA;
    }

    if (littleA <= charCode && charCode <= littleZ) {
      return charCode - littleA + littleOffset;
    }

    if (zero <= charCode && charCode <= nine) {
      return charCode - zero + numberOffset;
    }

    if (charCode == plus) {
      return 62;
    }

    if (charCode == slash) {
      return 63;
    }

    return -1;
  };
},847,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = function createConvertors(walk) {
    return {
      fromPlainObject: function fromPlainObject(ast) {
        walk(ast, {
          enter: function enter(node) {
            if (node.children && node.children instanceof _$$_REQUIRE(_dependencyMap[0]) === false) {
              node.children = new (_$$_REQUIRE(_dependencyMap[0]))().fromArray(node.children);
            }
          }
        });
        return ast;
      },
      toPlainObject: function toPlainObject(ast) {
        walk(ast, {
          leave: function leave(node) {
            if (node.children && node.children instanceof _$$_REQUIRE(_dependencyMap[0])) {
              node.children = node.children.toArray();
            }
          }
        });
        return ast;
      }
    };
  };
},848,[836]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var cssWideKeywords = _$$_REQUIRE(_dependencyMap[0]).buildMatchGraph('inherit | initial | unset');

  var cssWideKeywordsWithExpression = _$$_REQUIRE(_dependencyMap[0]).buildMatchGraph('inherit | initial | unset | <-ms-legacy-expression>');

  function dumpMapSyntax(map, compact, syntaxAsAst) {
    var result = {};

    for (var name in map) {
      if (map[name].syntax) {
        result[name] = syntaxAsAst ? map[name].syntax : _$$_REQUIRE(_dependencyMap[1])(map[name].syntax, {
          compact: compact
        });
      }
    }

    return result;
  }

  function dumpAtruleMapSyntax(map, compact, syntaxAsAst) {
    var result = {};

    for (var _i = 0, _Object$entries = Object.entries(map); _i < _Object$entries.length; _i++) {
      var _ref = _Object$entries[_i];

      var _ref2 = _$$_REQUIRE(_dependencyMap[2])(_ref, 2);

      var name = _ref2[0];
      var atrule = _ref2[1];
      result[name] = {
        prelude: atrule.prelude && (syntaxAsAst ? atrule.prelude.syntax : _$$_REQUIRE(_dependencyMap[1])(atrule.prelude.syntax, {
          compact: compact
        })),
        descriptors: atrule.descriptors && dumpMapSyntax(atrule.descriptors, compact, syntaxAsAst)
      };
    }

    return result;
  }

  function valueHasVar(tokens) {
    for (var i = 0; i < tokens.length; i++) {
      if (tokens[i].value.toLowerCase() === 'var(') {
        return true;
      }
    }

    return false;
  }

  function buildMatchResult(match, error, iterations) {
    return {
      matched: match,
      iterations: iterations,
      error: error,
      getTrace: _$$_REQUIRE(_dependencyMap[3]).getTrace,
      isType: _$$_REQUIRE(_dependencyMap[3]).isType,
      isProperty: _$$_REQUIRE(_dependencyMap[3]).isProperty,
      isKeyword: _$$_REQUIRE(_dependencyMap[3]).isKeyword
    };
  }

  function matchSyntax(lexer, syntax, value, useCommon) {
    var tokens = _$$_REQUIRE(_dependencyMap[4])(value, lexer.syntax);

    var result;

    if (valueHasVar(tokens)) {
      return buildMatchResult(null, new Error('Matching for a tree with var() is not supported'));
    }

    if (useCommon) {
      result = _$$_REQUIRE(_dependencyMap[5]).matchAsTree(tokens, lexer.valueCommonSyntax, lexer);
    }

    if (!useCommon || !result.match) {
      result = _$$_REQUIRE(_dependencyMap[5]).matchAsTree(tokens, syntax.match, lexer);

      if (!result.match) {
        return buildMatchResult(null, new (_$$_REQUIRE(_dependencyMap[6]).SyntaxMatchError)(result.reason, syntax.syntax, value, result), result.iterations);
      }
    }

    return buildMatchResult(result.match, null, result.iterations);
  }

  var Lexer = function Lexer(config, syntax, structure) {
    this.valueCommonSyntax = cssWideKeywords;
    this.syntax = syntax;
    this.generic = false;
    this.atrules = {};
    this.properties = {};
    this.types = {};
    this.structure = structure || _$$_REQUIRE(_dependencyMap[7]).getStructureFromConfig(config);

    if (config) {
      if (config.types) {
        for (var name in config.types) {
          this.addType_(name, config.types[name]);
        }
      }

      if (config.generic) {
        this.generic = true;

        for (var name in _$$_REQUIRE(_dependencyMap[8])) {
          this.addType_(name, _$$_REQUIRE(_dependencyMap[8])[name]);
        }
      }

      if (config.atrules) {
        for (var name in config.atrules) {
          this.addAtrule_(name, config.atrules[name]);
        }
      }

      if (config.properties) {
        for (var name in config.properties) {
          this.addProperty_(name, config.properties[name]);
        }
      }
    }
  };

  Lexer.prototype = {
    structure: {},
    checkStructure: function checkStructure(ast) {
      function collectWarning(node, message) {
        warns.push({
          node: node,
          message: message
        });
      }

      var structure = this.structure;
      var warns = [];
      this.syntax.walk(ast, function (node) {
        if (structure.hasOwnProperty(node.type)) {
          structure[node.type].check(node, collectWarning);
        } else {
          collectWarning(node, 'Unknown node type `' + node.type + '`');
        }
      });
      return warns.length ? warns : false;
    },
    createDescriptor: function createDescriptor(syntax, type, name) {
      var parent = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
      var ref = {
        type: type,
        name: name
      };
      var descriptor = {
        type: type,
        name: name,
        parent: parent,
        syntax: null,
        match: null
      };

      if (typeof syntax === 'function') {
        descriptor.match = _$$_REQUIRE(_dependencyMap[0]).buildMatchGraph(syntax, ref);
      } else {
        if (typeof syntax === 'string') {
          Object.defineProperty(descriptor, 'syntax', {
            get: function get() {
              Object.defineProperty(descriptor, 'syntax', {
                value: _$$_REQUIRE(_dependencyMap[9])(syntax)
              });
              return descriptor.syntax;
            }
          });
        } else {
          descriptor.syntax = syntax;
        }

        Object.defineProperty(descriptor, 'match', {
          get: function get() {
            Object.defineProperty(descriptor, 'match', {
              value: _$$_REQUIRE(_dependencyMap[0]).buildMatchGraph(descriptor.syntax, ref)
            });
            return descriptor.match;
          }
        });
      }

      return descriptor;
    },
    addAtrule_: function addAtrule_(name, syntax) {
      var _this = this;

      if (!syntax) {
        return;
      }

      this.atrules[name] = {
        type: 'Atrule',
        name: name,
        prelude: syntax.prelude ? this.createDescriptor(syntax.prelude, 'AtrulePrelude', name) : null,
        descriptors: syntax.descriptors ? Object.keys(syntax.descriptors).reduce(function (res, descName) {
          res[descName] = _this.createDescriptor(syntax.descriptors[descName], 'AtruleDescriptor', descName, name);
          return res;
        }, {}) : null
      };
    },
    addProperty_: function addProperty_(name, syntax) {
      if (!syntax) {
        return;
      }

      this.properties[name] = this.createDescriptor(syntax, 'Property', name);
    },
    addType_: function addType_(name, syntax) {
      if (!syntax) {
        return;
      }

      this.types[name] = this.createDescriptor(syntax, 'Type', name);

      if (syntax === _$$_REQUIRE(_dependencyMap[8])['-ms-legacy-expression']) {
        this.valueCommonSyntax = cssWideKeywordsWithExpression;
      }
    },
    checkAtruleName: function checkAtruleName(atruleName) {
      if (!this.getAtrule(atruleName)) {
        return new (_$$_REQUIRE(_dependencyMap[6]).SyntaxReferenceError)('Unknown at-rule', '@' + atruleName);
      }
    },
    checkAtrulePrelude: function checkAtrulePrelude(atruleName, prelude) {
      var error = this.checkAtruleName(atruleName);

      if (error) {
        return error;
      }

      var atrule = this.getAtrule(atruleName);

      if (!atrule.prelude && prelude) {
        return new SyntaxError('At-rule `@' + atruleName + '` should not contain a prelude');
      }

      if (atrule.prelude && !prelude) {
        return new SyntaxError('At-rule `@' + atruleName + '` should contain a prelude');
      }
    },
    checkAtruleDescriptorName: function checkAtruleDescriptorName(atruleName, descriptorName) {
      var error = this.checkAtruleName(atruleName);

      if (error) {
        return error;
      }

      var atrule = this.getAtrule(atruleName);

      var descriptor = _$$_REQUIRE(_dependencyMap[10]).keyword(descriptorName);

      if (!atrule.descriptors) {
        return new SyntaxError('At-rule `@' + atruleName + '` has no known descriptors');
      }

      if (!atrule.descriptors[descriptor.name] && !atrule.descriptors[descriptor.basename]) {
        return new (_$$_REQUIRE(_dependencyMap[6]).SyntaxReferenceError)('Unknown at-rule descriptor', descriptorName);
      }
    },
    checkPropertyName: function checkPropertyName(propertyName) {
      var property = _$$_REQUIRE(_dependencyMap[10]).property(propertyName);

      if (property.custom) {
        return new Error('Lexer matching doesn\'t applicable for custom properties');
      }

      if (!this.getProperty(propertyName)) {
        return new (_$$_REQUIRE(_dependencyMap[6]).SyntaxReferenceError)('Unknown property', propertyName);
      }
    },
    matchAtrulePrelude: function matchAtrulePrelude(atruleName, prelude) {
      var error = this.checkAtrulePrelude(atruleName, prelude);

      if (error) {
        return buildMatchResult(null, error);
      }

      if (!prelude) {
        return buildMatchResult(null, null);
      }

      return matchSyntax(this, this.getAtrule(atruleName).prelude, prelude, true);
    },
    matchAtruleDescriptor: function matchAtruleDescriptor(atruleName, descriptorName, value) {
      var error = this.checkAtruleDescriptorName(atruleName, descriptorName);

      if (error) {
        return buildMatchResult(null, error);
      }

      var atrule = this.getAtrule(atruleName);

      var descriptor = _$$_REQUIRE(_dependencyMap[10]).keyword(descriptorName);

      return matchSyntax(this, atrule.descriptors[descriptor.name] || atrule.descriptors[descriptor.basename], value, true);
    },
    matchDeclaration: function matchDeclaration(node) {
      if (node.type !== 'Declaration') {
        return buildMatchResult(null, new Error('Not a Declaration node'));
      }

      return this.matchProperty(node.property, node.value);
    },
    matchProperty: function matchProperty(propertyName, value) {
      var error = this.checkPropertyName(propertyName);

      if (error) {
        return buildMatchResult(null, error);
      }

      return matchSyntax(this, this.getProperty(propertyName), value, true);
    },
    matchType: function matchType(typeName, value) {
      var typeSyntax = this.getType(typeName);

      if (!typeSyntax) {
        return buildMatchResult(null, new (_$$_REQUIRE(_dependencyMap[6]).SyntaxReferenceError)('Unknown type', typeName));
      }

      return matchSyntax(this, typeSyntax, value, false);
    },
    match: function match(syntax, value) {
      if (typeof syntax !== 'string' && (!syntax || !syntax.type)) {
        return buildMatchResult(null, new (_$$_REQUIRE(_dependencyMap[6]).SyntaxReferenceError)('Bad syntax'));
      }

      if (typeof syntax === 'string' || !syntax.match) {
        syntax = this.createDescriptor(syntax, 'Type', 'anonymous');
      }

      return matchSyntax(this, syntax, value, false);
    },
    findValueFragments: function findValueFragments(propertyName, value, type, name) {
      return _$$_REQUIRE(_dependencyMap[11]).matchFragments(this, value, this.matchProperty(propertyName, value), type, name);
    },
    findDeclarationValueFragments: function findDeclarationValueFragments(declaration, type, name) {
      return _$$_REQUIRE(_dependencyMap[11]).matchFragments(this, declaration.value, this.matchDeclaration(declaration), type, name);
    },
    findAllFragments: function findAllFragments(ast, type, name) {
      var result = [];
      this.syntax.walk(ast, {
        visit: 'Declaration',
        enter: function (declaration) {
          result.push.apply(result, this.findDeclarationValueFragments(declaration, type, name));
        }.bind(this)
      });
      return result;
    },
    getAtrule: function getAtrule(atruleName) {
      var fallbackBasename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;

      var atrule = _$$_REQUIRE(_dependencyMap[10]).keyword(atruleName);

      var atruleEntry = atrule.vendor && fallbackBasename ? this.atrules[atrule.name] || this.atrules[atrule.basename] : this.atrules[atrule.name];
      return atruleEntry || null;
    },
    getAtrulePrelude: function getAtrulePrelude(atruleName) {
      var fallbackBasename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
      var atrule = this.getAtrule(atruleName, fallbackBasename);
      return atrule && atrule.prelude || null;
    },
    getAtruleDescriptor: function getAtruleDescriptor(atruleName, name) {
      return this.atrules.hasOwnProperty(atruleName) && this.atrules.declarators ? this.atrules[atruleName].declarators[name] || null : null;
    },
    getProperty: function getProperty(propertyName) {
      var fallbackBasename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;

      var property = _$$_REQUIRE(_dependencyMap[10]).property(propertyName);

      var propertyEntry = property.vendor && fallbackBasename ? this.properties[property.name] || this.properties[property.basename] : this.properties[property.name];
      return propertyEntry || null;
    },
    getType: function getType(name) {
      return this.types.hasOwnProperty(name) ? this.types[name] : null;
    },
    validate: function validate() {
      function validate(syntax, name, broken, descriptor) {
        if (broken.hasOwnProperty(name)) {
          return broken[name];
        }

        broken[name] = false;

        if (descriptor.syntax !== null) {
          _$$_REQUIRE(_dependencyMap[12])(descriptor.syntax, function (node) {
            if (node.type !== 'Type' && node.type !== 'Property') {
              return;
            }

            var map = node.type === 'Type' ? syntax.types : syntax.properties;
            var brokenMap = node.type === 'Type' ? brokenTypes : brokenProperties;

            if (!map.hasOwnProperty(node.name) || validate(syntax, node.name, brokenMap, map[node.name])) {
              broken[name] = true;
            }
          }, this);
        }
      }

      var brokenTypes = {};
      var brokenProperties = {};

      for (var key in this.types) {
        validate(this, key, brokenTypes, this.types[key]);
      }

      for (var key in this.properties) {
        validate(this, key, brokenProperties, this.properties[key]);
      }

      brokenTypes = Object.keys(brokenTypes).filter(function (name) {
        return brokenTypes[name];
      });
      brokenProperties = Object.keys(brokenProperties).filter(function (name) {
        return brokenProperties[name];
      });

      if (brokenTypes.length || brokenProperties.length) {
        return {
          types: brokenTypes,
          properties: brokenProperties
        };
      }

      return null;
    },
    dump: function dump(syntaxAsAst, pretty) {
      return {
        generic: this.generic,
        types: dumpMapSyntax(this.types, !pretty, syntaxAsAst),
        properties: dumpMapSyntax(this.properties, !pretty, syntaxAsAst),
        atrules: dumpAtruleMapSyntax(this.atrules, !pretty, syntaxAsAst)
      };
    },
    toString: function toString() {
      return JSON.stringify(this.dump());
    }
  };
  module.exports = Lexer;
},849,[850,854,41,855,856,857,858,859,860,851,863,864,865]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var MATCH = {
    type: 'Match'
  };
  var MISMATCH = {
    type: 'Mismatch'
  };
  var DISALLOW_EMPTY = {
    type: 'DisallowEmpty'
  };
  var LEFTPARENTHESIS = 40;
  var RIGHTPARENTHESIS = 41;

  function createCondition(match, thenBranch, elseBranch) {
    if (thenBranch === MATCH && elseBranch === MISMATCH) {
      return match;
    }

    if (match === MATCH && thenBranch === MATCH && elseBranch === MATCH) {
      return match;
    }

    if (match.type === 'If' && match.else === MISMATCH && thenBranch === MATCH) {
      thenBranch = match.then;
      match = match.match;
    }

    return {
      type: 'If',
      match: match,
      then: thenBranch,
      else: elseBranch
    };
  }

  function isFunctionType(name) {
    return name.length > 2 && name.charCodeAt(name.length - 2) === LEFTPARENTHESIS && name.charCodeAt(name.length - 1) === RIGHTPARENTHESIS;
  }

  function isEnumCapatible(term) {
    return term.type === 'Keyword' || term.type === 'AtKeyword' || term.type === 'Function' || term.type === 'Type' && isFunctionType(term.name);
  }

  function buildGroupMatchGraph(combinator, terms, atLeastOneTermMatched) {
    switch (combinator) {
      case ' ':
        var result = MATCH;

        for (var i = terms.length - 1; i >= 0; i--) {
          var term = terms[i];
          result = createCondition(term, result, MISMATCH);
        }

        ;
        return result;

      case '|':
        var result = MISMATCH;
        var map = null;

        for (var i = terms.length - 1; i >= 0; i--) {
          var term = terms[i];

          if (isEnumCapatible(term)) {
            if (map === null && i > 0 && isEnumCapatible(terms[i - 1])) {
              map = Object.create(null);
              result = createCondition({
                type: 'Enum',
                map: map
              }, MATCH, result);
            }

            if (map !== null) {
              var key = (isFunctionType(term.name) ? term.name.slice(0, -1) : term.name).toLowerCase();

              if (key in map === false) {
                map[key] = term;
                continue;
              }
            }
          }

          map = null;
          result = createCondition(term, MATCH, result);
        }

        ;
        return result;

      case '&&':
        if (terms.length > 5) {
          return {
            type: 'MatchOnce',
            terms: terms,
            all: true
          };
        }

        var result = MISMATCH;

        for (var i = terms.length - 1; i >= 0; i--) {
          var term = terms[i];
          var thenClause;

          if (terms.length > 1) {
            thenClause = buildGroupMatchGraph(combinator, terms.filter(function (newGroupTerm) {
              return newGroupTerm !== term;
            }), false);
          } else {
            thenClause = MATCH;
          }

          result = createCondition(term, thenClause, result);
        }

        ;
        return result;

      case '||':
        if (terms.length > 5) {
          return {
            type: 'MatchOnce',
            terms: terms,
            all: false
          };
        }

        var result = atLeastOneTermMatched ? MATCH : MISMATCH;

        for (var i = terms.length - 1; i >= 0; i--) {
          var term = terms[i];
          var thenClause;

          if (terms.length > 1) {
            thenClause = buildGroupMatchGraph(combinator, terms.filter(function (newGroupTerm) {
              return newGroupTerm !== term;
            }), true);
          } else {
            thenClause = MATCH;
          }

          result = createCondition(term, thenClause, result);
        }

        ;
        return result;
    }
  }

  function buildMultiplierMatchGraph(node) {
    var result = MATCH;

    var matchTerm = _buildMatchGraph(node.term);

    if (node.max === 0) {
      matchTerm = createCondition(matchTerm, DISALLOW_EMPTY, MISMATCH);
      result = createCondition(matchTerm, null, MISMATCH);
      result.then = createCondition(MATCH, MATCH, result);

      if (node.comma) {
        result.then.else = createCondition({
          type: 'Comma',
          syntax: node
        }, result, MISMATCH);
      }
    } else {
      for (var i = node.min || 1; i <= node.max; i++) {
        if (node.comma && result !== MATCH) {
          result = createCondition({
            type: 'Comma',
            syntax: node
          }, result, MISMATCH);
        }

        result = createCondition(matchTerm, createCondition(MATCH, MATCH, result), MISMATCH);
      }
    }

    if (node.min === 0) {
      result = createCondition(MATCH, MATCH, result);
    } else {
      for (var i = 0; i < node.min - 1; i++) {
        if (node.comma && result !== MATCH) {
          result = createCondition({
            type: 'Comma',
            syntax: node
          }, result, MISMATCH);
        }

        result = createCondition(matchTerm, result, MISMATCH);
      }
    }

    return result;
  }

  function _buildMatchGraph(node) {
    if (typeof node === 'function') {
      return {
        type: 'Generic',
        fn: node
      };
    }

    switch (node.type) {
      case 'Group':
        var result = buildGroupMatchGraph(node.combinator, node.terms.map(_buildMatchGraph), false);

        if (node.disallowEmpty) {
          result = createCondition(result, DISALLOW_EMPTY, MISMATCH);
        }

        return result;

      case 'Multiplier':
        return buildMultiplierMatchGraph(node);

      case 'Type':
      case 'Property':
        return {
          type: node.type,
          name: node.name,
          syntax: node
        };

      case 'Keyword':
        return {
          type: node.type,
          name: node.name.toLowerCase(),
          syntax: node
        };

      case 'AtKeyword':
        return {
          type: node.type,
          name: '@' + node.name.toLowerCase(),
          syntax: node
        };

      case 'Function':
        return {
          type: node.type,
          name: node.name.toLowerCase() + '(',
          syntax: node
        };

      case 'String':
        if (node.value.length === 3) {
          return {
            type: 'Token',
            value: node.value.charAt(1),
            syntax: node
          };
        }

        return {
          type: node.type,
          value: node.value.substr(1, node.value.length - 2).replace(/\\'/g, '\''),
          syntax: node
        };

      case 'Token':
        return {
          type: node.type,
          value: node.value,
          syntax: node
        };

      case 'Comma':
        return {
          type: node.type,
          syntax: node
        };

      default:
        throw new Error('Unknown node type:', node.type);
    }
  }

  module.exports = {
    MATCH: MATCH,
    MISMATCH: MISMATCH,
    DISALLOW_EMPTY: DISALLOW_EMPTY,
    buildMatchGraph: function buildMatchGraph(syntaxTree, ref) {
      if (typeof syntaxTree === 'string') {
        syntaxTree = _$$_REQUIRE(_dependencyMap[0])(syntaxTree);
      }

      return {
        type: 'MatchGraph',
        match: _buildMatchGraph(syntaxTree),
        syntax: ref || null,
        source: syntaxTree
      };
    }
  };
},850,[851]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var TAB = 9;
  var N = 10;
  var F = 12;
  var R = 13;
  var SPACE = 32;
  var EXCLAMATIONMARK = 33;
  var NUMBERSIGN = 35;
  var AMPERSAND = 38;
  var APOSTROPHE = 39;
  var LEFTPARENTHESIS = 40;
  var RIGHTPARENTHESIS = 41;
  var ASTERISK = 42;
  var PLUSSIGN = 43;
  var COMMA = 44;
  var HYPERMINUS = 45;
  var LESSTHANSIGN = 60;
  var GREATERTHANSIGN = 62;
  var QUESTIONMARK = 63;
  var COMMERCIALAT = 64;
  var LEFTSQUAREBRACKET = 91;
  var RIGHTSQUAREBRACKET = 93;
  var LEFTCURLYBRACKET = 123;
  var VERTICALLINE = 124;
  var RIGHTCURLYBRACKET = 125;
  var INFINITY = 8734;
  var NAME_CHAR = createCharMap(function (ch) {
    return /[a-zA-Z0-9\-]/.test(ch);
  });
  var COMBINATOR_PRECEDENCE = {
    ' ': 1,
    '&&': 2,
    '||': 3,
    '|': 4
  };

  function createCharMap(fn) {
    var array = typeof Uint32Array === 'function' ? new Uint32Array(128) : new Array(128);

    for (var i = 0; i < 128; i++) {
      array[i] = fn(String.fromCharCode(i)) ? 1 : 0;
    }

    return array;
  }

  function scanSpaces(tokenizer) {
    return tokenizer.substringToPos(tokenizer.findWsEnd(tokenizer.pos));
  }

  function scanWord(tokenizer) {
    var end = tokenizer.pos;

    for (; end < tokenizer.str.length; end++) {
      var code = tokenizer.str.charCodeAt(end);

      if (code >= 128 || NAME_CHAR[code] === 0) {
        break;
      }
    }

    if (tokenizer.pos === end) {
      tokenizer.error('Expect a keyword');
    }

    return tokenizer.substringToPos(end);
  }

  function scanNumber(tokenizer) {
    var end = tokenizer.pos;

    for (; end < tokenizer.str.length; end++) {
      var code = tokenizer.str.charCodeAt(end);

      if (code < 48 || code > 57) {
        break;
      }
    }

    if (tokenizer.pos === end) {
      tokenizer.error('Expect a number');
    }

    return tokenizer.substringToPos(end);
  }

  function scanString(tokenizer) {
    var end = tokenizer.str.indexOf('\'', tokenizer.pos + 1);

    if (end === -1) {
      tokenizer.pos = tokenizer.str.length;
      tokenizer.error('Expect an apostrophe');
    }

    return tokenizer.substringToPos(end + 1);
  }

  function readMultiplierRange(tokenizer) {
    var min = null;
    var max = null;
    tokenizer.eat(LEFTCURLYBRACKET);
    min = scanNumber(tokenizer);

    if (tokenizer.charCode() === COMMA) {
      tokenizer.pos++;

      if (tokenizer.charCode() !== RIGHTCURLYBRACKET) {
        max = scanNumber(tokenizer);
      }
    } else {
      max = min;
    }

    tokenizer.eat(RIGHTCURLYBRACKET);
    return {
      min: Number(min),
      max: max ? Number(max) : 0
    };
  }

  function readMultiplier(tokenizer) {
    var range = null;
    var comma = false;

    switch (tokenizer.charCode()) {
      case ASTERISK:
        tokenizer.pos++;
        range = {
          min: 0,
          max: 0
        };
        break;

      case PLUSSIGN:
        tokenizer.pos++;
        range = {
          min: 1,
          max: 0
        };
        break;

      case QUESTIONMARK:
        tokenizer.pos++;
        range = {
          min: 0,
          max: 1
        };
        break;

      case NUMBERSIGN:
        tokenizer.pos++;
        comma = true;

        if (tokenizer.charCode() === LEFTCURLYBRACKET) {
          range = readMultiplierRange(tokenizer);
        } else {
          range = {
            min: 1,
            max: 0
          };
        }

        break;

      case LEFTCURLYBRACKET:
        range = readMultiplierRange(tokenizer);
        break;

      default:
        return null;
    }

    return {
      type: 'Multiplier',
      comma: comma,
      min: range.min,
      max: range.max,
      term: null
    };
  }

  function maybeMultiplied(tokenizer, node) {
    var multiplier = readMultiplier(tokenizer);

    if (multiplier !== null) {
      multiplier.term = node;
      return multiplier;
    }

    return node;
  }

  function maybeToken(tokenizer) {
    var ch = tokenizer.peek();

    if (ch === '') {
      return null;
    }

    return {
      type: 'Token',
      value: ch
    };
  }

  function readProperty(tokenizer) {
    var name;
    tokenizer.eat(LESSTHANSIGN);
    tokenizer.eat(APOSTROPHE);
    name = scanWord(tokenizer);
    tokenizer.eat(APOSTROPHE);
    tokenizer.eat(GREATERTHANSIGN);
    return maybeMultiplied(tokenizer, {
      type: 'Property',
      name: name
    });
  }

  function readTypeRange(tokenizer) {
    var min = null;
    var max = null;
    var sign = 1;
    tokenizer.eat(LEFTSQUAREBRACKET);

    if (tokenizer.charCode() === HYPERMINUS) {
      tokenizer.peek();
      sign = -1;
    }

    if (sign == -1 && tokenizer.charCode() === INFINITY) {
      tokenizer.peek();
    } else {
      min = sign * Number(scanNumber(tokenizer));
    }

    scanSpaces(tokenizer);
    tokenizer.eat(COMMA);
    scanSpaces(tokenizer);

    if (tokenizer.charCode() === INFINITY) {
      tokenizer.peek();
    } else {
      sign = 1;

      if (tokenizer.charCode() === HYPERMINUS) {
        tokenizer.peek();
        sign = -1;
      }

      max = sign * Number(scanNumber(tokenizer));
    }

    tokenizer.eat(RIGHTSQUAREBRACKET);

    if (min === null && max === null) {
      return null;
    }

    return {
      type: 'Range',
      min: min,
      max: max
    };
  }

  function readType(tokenizer) {
    var name;
    var opts = null;
    tokenizer.eat(LESSTHANSIGN);
    name = scanWord(tokenizer);

    if (tokenizer.charCode() === LEFTPARENTHESIS && tokenizer.nextCharCode() === RIGHTPARENTHESIS) {
      tokenizer.pos += 2;
      name += '()';
    }

    if (tokenizer.charCodeAt(tokenizer.findWsEnd(tokenizer.pos)) === LEFTSQUAREBRACKET) {
      scanSpaces(tokenizer);
      opts = readTypeRange(tokenizer);
    }

    tokenizer.eat(GREATERTHANSIGN);
    return maybeMultiplied(tokenizer, {
      type: 'Type',
      name: name,
      opts: opts
    });
  }

  function readKeywordOrFunction(tokenizer) {
    var name;
    name = scanWord(tokenizer);

    if (tokenizer.charCode() === LEFTPARENTHESIS) {
      tokenizer.pos++;
      return {
        type: 'Function',
        name: name
      };
    }

    return maybeMultiplied(tokenizer, {
      type: 'Keyword',
      name: name
    });
  }

  function regroupTerms(terms, combinators) {
    function createGroup(terms, combinator) {
      return {
        type: 'Group',
        terms: terms,
        combinator: combinator,
        disallowEmpty: false,
        explicit: false
      };
    }

    combinators = Object.keys(combinators).sort(function (a, b) {
      return COMBINATOR_PRECEDENCE[a] - COMBINATOR_PRECEDENCE[b];
    });

    while (combinators.length > 0) {
      var combinator = combinators.shift();

      for (var i = 0, subgroupStart = 0; i < terms.length; i++) {
        var term = terms[i];

        if (term.type === 'Combinator') {
          if (term.value === combinator) {
            if (subgroupStart === -1) {
              subgroupStart = i - 1;
            }

            terms.splice(i, 1);
            i--;
          } else {
            if (subgroupStart !== -1 && i - subgroupStart > 1) {
              terms.splice(subgroupStart, i - subgroupStart, createGroup(terms.slice(subgroupStart, i), combinator));
              i = subgroupStart + 1;
            }

            subgroupStart = -1;
          }
        }
      }

      if (subgroupStart !== -1 && combinators.length) {
        terms.splice(subgroupStart, i - subgroupStart, createGroup(terms.slice(subgroupStart, i), combinator));
      }
    }

    return combinator;
  }

  function readImplicitGroup(tokenizer) {
    var terms = [];
    var combinators = {};
    var token;
    var prevToken = null;
    var prevTokenPos = tokenizer.pos;

    while (token = peek(tokenizer)) {
      if (token.type !== 'Spaces') {
        if (token.type === 'Combinator') {
          if (prevToken === null || prevToken.type === 'Combinator') {
            tokenizer.pos = prevTokenPos;
            tokenizer.error('Unexpected combinator');
          }

          combinators[token.value] = true;
        } else if (prevToken !== null && prevToken.type !== 'Combinator') {
          combinators[' '] = true;
          terms.push({
            type: 'Combinator',
            value: ' '
          });
        }

        terms.push(token);
        prevToken = token;
        prevTokenPos = tokenizer.pos;
      }
    }

    if (prevToken !== null && prevToken.type === 'Combinator') {
      tokenizer.pos -= prevTokenPos;
      tokenizer.error('Unexpected combinator');
    }

    return {
      type: 'Group',
      terms: terms,
      combinator: regroupTerms(terms, combinators) || ' ',
      disallowEmpty: false,
      explicit: false
    };
  }

  function readGroup(tokenizer) {
    var result;
    tokenizer.eat(LEFTSQUAREBRACKET);
    result = readImplicitGroup(tokenizer);
    tokenizer.eat(RIGHTSQUAREBRACKET);
    result.explicit = true;

    if (tokenizer.charCode() === EXCLAMATIONMARK) {
      tokenizer.pos++;
      result.disallowEmpty = true;
    }

    return result;
  }

  function peek(tokenizer) {
    var code = tokenizer.charCode();

    if (code < 128 && NAME_CHAR[code] === 1) {
      return readKeywordOrFunction(tokenizer);
    }

    switch (code) {
      case RIGHTSQUAREBRACKET:
        break;

      case LEFTSQUAREBRACKET:
        return maybeMultiplied(tokenizer, readGroup(tokenizer));

      case LESSTHANSIGN:
        return tokenizer.nextCharCode() === APOSTROPHE ? readProperty(tokenizer) : readType(tokenizer);

      case VERTICALLINE:
        return {
          type: 'Combinator',
          value: tokenizer.substringToPos(tokenizer.nextCharCode() === VERTICALLINE ? tokenizer.pos + 2 : tokenizer.pos + 1)
        };

      case AMPERSAND:
        tokenizer.pos++;
        tokenizer.eat(AMPERSAND);
        return {
          type: 'Combinator',
          value: '&&'
        };

      case COMMA:
        tokenizer.pos++;
        return {
          type: 'Comma'
        };

      case APOSTROPHE:
        return maybeMultiplied(tokenizer, {
          type: 'String',
          value: scanString(tokenizer)
        });

      case SPACE:
      case TAB:
      case N:
      case R:
      case F:
        return {
          type: 'Spaces',
          value: scanSpaces(tokenizer)
        };

      case COMMERCIALAT:
        code = tokenizer.nextCharCode();

        if (code < 128 && NAME_CHAR[code] === 1) {
          tokenizer.pos++;
          return {
            type: 'AtKeyword',
            name: scanWord(tokenizer)
          };
        }

        return maybeToken(tokenizer);

      case ASTERISK:
      case PLUSSIGN:
      case QUESTIONMARK:
      case NUMBERSIGN:
      case EXCLAMATIONMARK:
        break;

      case LEFTCURLYBRACKET:
        code = tokenizer.nextCharCode();

        if (code < 48 || code > 57) {
          return maybeToken(tokenizer);
        }

        break;

      default:
        return maybeToken(tokenizer);
    }
  }

  function parse(source) {
    var tokenizer = new (_$$_REQUIRE(_dependencyMap[0]))(source);
    var result = readImplicitGroup(tokenizer);

    if (tokenizer.pos !== source.length) {
      tokenizer.error('Unexpected input');
    }

    if (result.terms.length === 1 && result.terms[0].type === 'Group') {
      result = result.terms[0];
    }

    return result;
  }

  parse('[a&&<b>#|<\'c\'>*||e() f{2} /,(% g#{1,2} h{2,})]!');
  module.exports = parse;
},851,[852]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var TAB = 9;
  var N = 10;
  var F = 12;
  var R = 13;
  var SPACE = 32;

  var Tokenizer = function Tokenizer(str) {
    this.str = str;
    this.pos = 0;
  };

  Tokenizer.prototype = {
    charCodeAt: function charCodeAt(pos) {
      return pos < this.str.length ? this.str.charCodeAt(pos) : 0;
    },
    charCode: function charCode() {
      return this.charCodeAt(this.pos);
    },
    nextCharCode: function nextCharCode() {
      return this.charCodeAt(this.pos + 1);
    },
    nextNonWsCode: function nextNonWsCode(pos) {
      return this.charCodeAt(this.findWsEnd(pos));
    },
    findWsEnd: function findWsEnd(pos) {
      for (; pos < this.str.length; pos++) {
        var code = this.str.charCodeAt(pos);

        if (code !== R && code !== N && code !== F && code !== SPACE && code !== TAB) {
          break;
        }
      }

      return pos;
    },
    substringToPos: function substringToPos(end) {
      return this.str.substring(this.pos, this.pos = end);
    },
    eat: function eat(code) {
      if (this.charCode() !== code) {
        this.error('Expect `' + String.fromCharCode(code) + '`');
      }

      this.pos++;
    },
    peek: function peek() {
      return this.pos < this.str.length ? this.str.charAt(this.pos++) : '';
    },
    error: function error(message) {
      throw new (_$$_REQUIRE(_dependencyMap[0]))(message, this.str, this.pos);
    }
  };
  module.exports = Tokenizer;
},852,[853]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = function SyntaxError(message, input, offset) {
    var error = _$$_REQUIRE(_dependencyMap[0])('SyntaxError', message);

    error.input = input;
    error.offset = offset;
    error.rawMessage = message;
    error.message = error.rawMessage + '\n' + '  ' + error.input + '\n' + '--' + new Array((error.offset || error.input.length) + 1).join('-') + '^';
    return error;
  };
},853,[838]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function noop(value) {
    return value;
  }

  function generateMultiplier(multiplier) {
    if (multiplier.min === 0 && multiplier.max === 0) {
      return '*';
    }

    if (multiplier.min === 0 && multiplier.max === 1) {
      return '?';
    }

    if (multiplier.min === 1 && multiplier.max === 0) {
      return multiplier.comma ? '#' : '+';
    }

    if (multiplier.min === 1 && multiplier.max === 1) {
      return '';
    }

    return (multiplier.comma ? '#' : '') + (multiplier.min === multiplier.max ? '{' + multiplier.min + '}' : '{' + multiplier.min + ',' + (multiplier.max !== 0 ? multiplier.max : '') + '}');
  }

  function generateTypeOpts(node) {
    switch (node.type) {
      case 'Range':
        return ' [' + (node.min === null ? '-∞' : node.min) + ',' + (node.max === null ? '∞' : node.max) + ']';

      default:
        throw new Error('Unknown node type `' + node.type + '`');
    }
  }

  function generateSequence(node, decorate, forceBraces, compact) {
    var combinator = node.combinator === ' ' || compact ? node.combinator : ' ' + node.combinator + ' ';
    var result = node.terms.map(function (term) {
      return generate(term, decorate, forceBraces, compact);
    }).join(combinator);

    if (node.explicit || forceBraces) {
      result = (compact || result[0] === ',' ? '[' : '[ ') + result + (compact ? ']' : ' ]');
    }

    return result;
  }

  function generate(node, decorate, forceBraces, compact) {
    var result;

    switch (node.type) {
      case 'Group':
        result = generateSequence(node, decorate, forceBraces, compact) + (node.disallowEmpty ? '!' : '');
        break;

      case 'Multiplier':
        return generate(node.term, decorate, forceBraces, compact) + decorate(generateMultiplier(node), node);

      case 'Type':
        result = '<' + node.name + (node.opts ? decorate(generateTypeOpts(node.opts), node.opts) : '') + '>';
        break;

      case 'Property':
        result = '<\'' + node.name + '\'>';
        break;

      case 'Keyword':
        result = node.name;
        break;

      case 'AtKeyword':
        result = '@' + node.name;
        break;

      case 'Function':
        result = node.name + '(';
        break;

      case 'String':
      case 'Token':
        result = node.value;
        break;

      case 'Comma':
        result = ',';
        break;

      default:
        throw new Error('Unknown node type `' + node.type + '`');
    }

    return decorate(result, node);
  }

  module.exports = function (node, options) {
    var decorate = noop;
    var forceBraces = false;
    var compact = false;

    if (typeof options === 'function') {
      decorate = options;
    } else if (options) {
      forceBraces = Boolean(options.forceBraces);
      compact = Boolean(options.compact);

      if (typeof options.decorate === 'function') {
        decorate = options.decorate;
      }
    }

    return generate(node, decorate, forceBraces, compact);
  };
},854,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function getTrace(node) {
    function shouldPutToTrace(syntax) {
      if (syntax === null) {
        return false;
      }

      return syntax.type === 'Type' || syntax.type === 'Property' || syntax.type === 'Keyword';
    }

    function hasMatch(matchNode) {
      if (Array.isArray(matchNode.match)) {
        for (var i = 0; i < matchNode.match.length; i++) {
          if (hasMatch(matchNode.match[i])) {
            if (shouldPutToTrace(matchNode.syntax)) {
              result.unshift(matchNode.syntax);
            }

            return true;
          }
        }
      } else if (matchNode.node === node) {
        result = shouldPutToTrace(matchNode.syntax) ? [matchNode.syntax] : [];
        return true;
      }

      return false;
    }

    var result = null;

    if (this.matched !== null) {
      hasMatch(this.matched);
    }

    return result;
  }

  function testNode(match, node, fn) {
    var trace = getTrace.call(match, node);

    if (trace === null) {
      return false;
    }

    return trace.some(fn);
  }

  function isType(node, type) {
    return testNode(this, node, function (matchNode) {
      return matchNode.type === 'Type' && matchNode.name === type;
    });
  }

  function isProperty(node, property) {
    return testNode(this, node, function (matchNode) {
      return matchNode.type === 'Property' && matchNode.name === property;
    });
  }

  function isKeyword(node) {
    return testNode(this, node, function (matchNode) {
      return matchNode.type === 'Keyword';
    });
  }

  module.exports = {
    getTrace: getTrace,
    isType: isType,
    isProperty: isProperty,
    isKeyword: isKeyword
  };
},855,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var tokenStream = new (_$$_REQUIRE(_dependencyMap[0]))();
  var astToTokens = {
    decorator: function decorator(handlers) {
      var curNode = null;
      var prev = {
        len: 0,
        node: null
      };
      var nodes = [prev];
      var buffer = '';
      return {
        children: handlers.children,
        node: function node(_node) {
          var tmp = curNode;
          curNode = _node;
          handlers.node.call(this, _node);
          curNode = tmp;
        },
        chunk: function chunk(_chunk) {
          buffer += _chunk;

          if (prev.node !== curNode) {
            nodes.push({
              len: _chunk.length,
              node: curNode
            });
          } else {
            prev.len += _chunk.length;
          }
        },
        result: function result() {
          return prepareTokens(buffer, nodes);
        }
      };
    }
  };

  function prepareTokens(str, nodes) {
    var tokens = [];
    var nodesOffset = 0;
    var nodesIndex = 0;
    var currentNode = nodes ? nodes[nodesIndex].node : null;

    _$$_REQUIRE(_dependencyMap[1])(str, tokenStream);

    while (!tokenStream.eof) {
      if (nodes) {
        while (nodesIndex < nodes.length && nodesOffset + nodes[nodesIndex].len <= tokenStream.tokenStart) {
          nodesOffset += nodes[nodesIndex++].len;
          currentNode = nodes[nodesIndex].node;
        }
      }

      tokens.push({
        type: tokenStream.tokenType,
        value: tokenStream.getTokenValue(),
        index: tokenStream.tokenIndex,
        balance: tokenStream.balance[tokenStream.tokenIndex],
        node: currentNode
      });
      tokenStream.next();
    }

    return tokens;
  }

  module.exports = function (value, syntax) {
    if (typeof value === 'string') {
      return prepareTokens(value, null);
    }

    return syntax.generate(value, astToTokens);
  };
},856,[829,834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var hasOwnProperty = Object.prototype.hasOwnProperty;
  var STUB = 0;
  var TOKEN = 1;
  var OPEN_SYNTAX = 2;
  var CLOSE_SYNTAX = 3;
  var EXIT_REASON_MATCH = 'Match';
  var EXIT_REASON_MISMATCH = 'Mismatch';
  var EXIT_REASON_ITERATION_LIMIT = 'Maximum iteration number exceeded (please fill an issue on https://github.com/csstree/csstree/issues)';
  var ITERATION_LIMIT = 15000;
  var totalIterationCount = 0;

  function reverseList(list) {
    var prev = null;
    var next = null;
    var item = list;

    while (item !== null) {
      next = item.prev;
      item.prev = prev;
      prev = item;
      item = next;
    }

    return prev;
  }

  function areStringsEqualCaseInsensitive(testStr, referenceStr) {
    if (testStr.length !== referenceStr.length) {
      return false;
    }

    for (var i = 0; i < testStr.length; i++) {
      var testCode = testStr.charCodeAt(i);
      var referenceCode = referenceStr.charCodeAt(i);

      if (testCode >= 0x0041 && testCode <= 0x005A) {
        testCode = testCode | 32;
      }

      if (testCode !== referenceCode) {
        return false;
      }
    }

    return true;
  }

  function isContextEdgeDelim(token) {
    if (token.type !== _$$_REQUIRE(_dependencyMap[0]).TYPE.Delim) {
      return false;
    }

    return token.value !== '?';
  }

  function isCommaContextStart(token) {
    if (token === null) {
      return true;
    }

    return token.type === _$$_REQUIRE(_dependencyMap[0]).TYPE.Comma || token.type === _$$_REQUIRE(_dependencyMap[0]).TYPE.Function || token.type === _$$_REQUIRE(_dependencyMap[0]).TYPE.LeftParenthesis || token.type === _$$_REQUIRE(_dependencyMap[0]).TYPE.LeftSquareBracket || token.type === _$$_REQUIRE(_dependencyMap[0]).TYPE.LeftCurlyBracket || isContextEdgeDelim(token);
  }

  function isCommaContextEnd(token) {
    if (token === null) {
      return true;
    }

    return token.type === _$$_REQUIRE(_dependencyMap[0]).TYPE.RightParenthesis || token.type === _$$_REQUIRE(_dependencyMap[0]).TYPE.RightSquareBracket || token.type === _$$_REQUIRE(_dependencyMap[0]).TYPE.RightCurlyBracket || token.type === _$$_REQUIRE(_dependencyMap[0]).TYPE.Delim;
  }

  function internalMatch(tokens, state, syntaxes) {
    function moveToNextToken() {
      do {
        tokenIndex++;
        token = tokenIndex < tokens.length ? tokens[tokenIndex] : null;
      } while (token !== null && (token.type === _$$_REQUIRE(_dependencyMap[0]).TYPE.WhiteSpace || token.type === _$$_REQUIRE(_dependencyMap[0]).TYPE.Comment));
    }

    function getNextToken(offset) {
      var nextIndex = tokenIndex + offset;
      return nextIndex < tokens.length ? tokens[nextIndex] : null;
    }

    function stateSnapshotFromSyntax(nextState, prev) {
      return {
        nextState: nextState,
        matchStack: matchStack,
        syntaxStack: syntaxStack,
        thenStack: thenStack,
        tokenIndex: tokenIndex,
        prev: prev
      };
    }

    function pushThenStack(nextState) {
      thenStack = {
        nextState: nextState,
        matchStack: matchStack,
        syntaxStack: syntaxStack,
        prev: thenStack
      };
    }

    function pushElseStack(nextState) {
      elseStack = stateSnapshotFromSyntax(nextState, elseStack);
    }

    function addTokenToMatch() {
      matchStack = {
        type: TOKEN,
        syntax: state.syntax,
        token: token,
        prev: matchStack
      };
      moveToNextToken();
      syntaxStash = null;

      if (tokenIndex > longestMatch) {
        longestMatch = tokenIndex;
      }
    }

    function openSyntax() {
      syntaxStack = {
        syntax: state.syntax,
        opts: state.syntax.opts || syntaxStack !== null && syntaxStack.opts || null,
        prev: syntaxStack
      };
      matchStack = {
        type: OPEN_SYNTAX,
        syntax: state.syntax,
        token: matchStack.token,
        prev: matchStack
      };
    }

    function closeSyntax() {
      if (matchStack.type === OPEN_SYNTAX) {
        matchStack = matchStack.prev;
      } else {
        matchStack = {
          type: CLOSE_SYNTAX,
          syntax: syntaxStack.syntax,
          token: matchStack.token,
          prev: matchStack
        };
      }

      syntaxStack = syntaxStack.prev;
    }

    var syntaxStack = null;
    var thenStack = null;
    var elseStack = null;
    var syntaxStash = null;
    var iterationCount = 0;
    var exitReason = null;
    var token = null;
    var tokenIndex = -1;
    var longestMatch = 0;
    var matchStack = {
      type: STUB,
      syntax: null,
      token: null,
      prev: null
    };
    moveToNextToken();

    while (exitReason === null && ++iterationCount < ITERATION_LIMIT) {
      switch (state.type) {
        case 'Match':
          if (thenStack === null) {
            if (token !== null) {
              if (tokenIndex !== tokens.length - 1 || token.value !== '\\0' && token.value !== '\\9') {
                state = _$$_REQUIRE(_dependencyMap[1]).MISMATCH;
                break;
              }
            }

            exitReason = EXIT_REASON_MATCH;
            break;
          }

          state = thenStack.nextState;

          if (state === _$$_REQUIRE(_dependencyMap[1]).DISALLOW_EMPTY) {
            if (thenStack.matchStack === matchStack) {
              state = _$$_REQUIRE(_dependencyMap[1]).MISMATCH;
              break;
            } else {
              state = _$$_REQUIRE(_dependencyMap[1]).MATCH;
            }
          }

          while (thenStack.syntaxStack !== syntaxStack) {
            closeSyntax();
          }

          thenStack = thenStack.prev;
          break;

        case 'Mismatch':
          if (syntaxStash !== null && syntaxStash !== false) {
            if (elseStack === null || tokenIndex > elseStack.tokenIndex) {
              elseStack = syntaxStash;
              syntaxStash = false;
            }
          } else if (elseStack === null) {
            exitReason = EXIT_REASON_MISMATCH;
            break;
          }

          state = elseStack.nextState;
          thenStack = elseStack.thenStack;
          syntaxStack = elseStack.syntaxStack;
          matchStack = elseStack.matchStack;
          tokenIndex = elseStack.tokenIndex;
          token = tokenIndex < tokens.length ? tokens[tokenIndex] : null;
          elseStack = elseStack.prev;
          break;

        case 'MatchGraph':
          state = state.match;
          break;

        case 'If':
          if (state.else !== _$$_REQUIRE(_dependencyMap[1]).MISMATCH) {
            pushElseStack(state.else);
          }

          if (state.then !== _$$_REQUIRE(_dependencyMap[1]).MATCH) {
            pushThenStack(state.then);
          }

          state = state.match;
          break;

        case 'MatchOnce':
          state = {
            type: 'MatchOnceBuffer',
            syntax: state,
            index: 0,
            mask: 0
          };
          break;

        case 'MatchOnceBuffer':
          var terms = state.syntax.terms;

          if (state.index === terms.length) {
            if (state.mask === 0 || state.syntax.all) {
              state = _$$_REQUIRE(_dependencyMap[1]).MISMATCH;
              break;
            }

            state = _$$_REQUIRE(_dependencyMap[1]).MATCH;
            break;
          }

          if (state.mask === (1 << terms.length) - 1) {
            state = _$$_REQUIRE(_dependencyMap[1]).MATCH;
            break;
          }

          for (; state.index < terms.length; state.index++) {
            var matchFlag = 1 << state.index;

            if ((state.mask & matchFlag) === 0) {
              pushElseStack(state);
              pushThenStack({
                type: 'AddMatchOnce',
                syntax: state.syntax,
                mask: state.mask | matchFlag
              });
              state = terms[state.index++];
              break;
            }
          }

          break;

        case 'AddMatchOnce':
          state = {
            type: 'MatchOnceBuffer',
            syntax: state.syntax,
            index: 0,
            mask: state.mask
          };
          break;

        case 'Enum':
          if (token !== null) {
            var name = token.value.toLowerCase();

            if (name.indexOf('\\') !== -1) {
              name = name.replace(/\\[09].*$/, '');
            }

            if (hasOwnProperty.call(state.map, name)) {
              state = state.map[name];
              break;
            }
          }

          state = _$$_REQUIRE(_dependencyMap[1]).MISMATCH;
          break;

        case 'Generic':
          var opts = syntaxStack !== null ? syntaxStack.opts : null;
          var lastTokenIndex = tokenIndex + Math.floor(state.fn(token, getNextToken, opts));

          if (!isNaN(lastTokenIndex) && lastTokenIndex > tokenIndex) {
            while (tokenIndex < lastTokenIndex) {
              addTokenToMatch();
            }

            state = _$$_REQUIRE(_dependencyMap[1]).MATCH;
          } else {
            state = _$$_REQUIRE(_dependencyMap[1]).MISMATCH;
          }

          break;

        case 'Type':
        case 'Property':
          var syntaxDict = state.type === 'Type' ? 'types' : 'properties';
          var dictSyntax = hasOwnProperty.call(syntaxes, syntaxDict) ? syntaxes[syntaxDict][state.name] : null;

          if (!dictSyntax || !dictSyntax.match) {
            throw new Error('Bad syntax reference: ' + (state.type === 'Type' ? '<' + state.name + '>' : '<\'' + state.name + '\'>'));
          }

          if (syntaxStash !== false && token !== null && state.type === 'Type') {
            var lowPriorityMatching = state.name === 'custom-ident' && token.type === _$$_REQUIRE(_dependencyMap[0]).TYPE.Ident || state.name === 'length' && token.value === '0';

            if (lowPriorityMatching) {
              if (syntaxStash === null) {
                syntaxStash = stateSnapshotFromSyntax(state, elseStack);
              }

              state = _$$_REQUIRE(_dependencyMap[1]).MISMATCH;
              break;
            }
          }

          openSyntax();
          state = dictSyntax.match;
          break;

        case 'Keyword':
          var name = state.name;

          if (token !== null) {
            var keywordName = token.value;

            if (keywordName.indexOf('\\') !== -1) {
              keywordName = keywordName.replace(/\\[09].*$/, '');
            }

            if (areStringsEqualCaseInsensitive(keywordName, name)) {
              addTokenToMatch();
              state = _$$_REQUIRE(_dependencyMap[1]).MATCH;
              break;
            }
          }

          state = _$$_REQUIRE(_dependencyMap[1]).MISMATCH;
          break;

        case 'AtKeyword':
        case 'Function':
          if (token !== null && areStringsEqualCaseInsensitive(token.value, state.name)) {
            addTokenToMatch();
            state = _$$_REQUIRE(_dependencyMap[1]).MATCH;
            break;
          }

          state = _$$_REQUIRE(_dependencyMap[1]).MISMATCH;
          break;

        case 'Token':
          if (token !== null && token.value === state.value) {
            addTokenToMatch();
            state = _$$_REQUIRE(_dependencyMap[1]).MATCH;
            break;
          }

          state = _$$_REQUIRE(_dependencyMap[1]).MISMATCH;
          break;

        case 'Comma':
          if (token !== null && token.type === _$$_REQUIRE(_dependencyMap[0]).TYPE.Comma) {
            if (isCommaContextStart(matchStack.token)) {
              state = _$$_REQUIRE(_dependencyMap[1]).MISMATCH;
            } else {
              addTokenToMatch();
              state = isCommaContextEnd(token) ? _$$_REQUIRE(_dependencyMap[1]).MISMATCH : _$$_REQUIRE(_dependencyMap[1]).MATCH;
            }
          } else {
            state = isCommaContextStart(matchStack.token) || isCommaContextEnd(token) ? _$$_REQUIRE(_dependencyMap[1]).MATCH : _$$_REQUIRE(_dependencyMap[1]).MISMATCH;
          }

          break;

        case 'String':
          var string = '';

          for (var lastTokenIndex = tokenIndex; lastTokenIndex < tokens.length && string.length < state.value.length; lastTokenIndex++) {
            string += tokens[lastTokenIndex].value;
          }

          if (areStringsEqualCaseInsensitive(string, state.value)) {
            while (tokenIndex < lastTokenIndex) {
              addTokenToMatch();
            }

            state = _$$_REQUIRE(_dependencyMap[1]).MATCH;
          } else {
            state = _$$_REQUIRE(_dependencyMap[1]).MISMATCH;
          }

          break;

        default:
          throw new Error('Unknown node type: ' + state.type);
      }
    }

    totalIterationCount += iterationCount;

    switch (exitReason) {
      case null:
        console.warn("[csstree-match] BREAK after 15000 iterations");
        exitReason = EXIT_REASON_ITERATION_LIMIT;
        matchStack = null;
        break;

      case EXIT_REASON_MATCH:
        while (syntaxStack !== null) {
          closeSyntax();
        }

        break;

      default:
        matchStack = null;
    }

    return {
      tokens: tokens,
      reason: exitReason,
      iterations: iterationCount,
      match: matchStack,
      longestMatch: longestMatch
    };
  }

  function matchAsList(tokens, matchGraph, syntaxes) {
    var matchResult = internalMatch(tokens, matchGraph, syntaxes || {});

    if (matchResult.match !== null) {
      var item = reverseList(matchResult.match).prev;
      matchResult.match = [];

      while (item !== null) {
        switch (item.type) {
          case STUB:
            break;

          case OPEN_SYNTAX:
          case CLOSE_SYNTAX:
            matchResult.match.push({
              type: item.type,
              syntax: item.syntax
            });
            break;

          default:
            matchResult.match.push({
              token: item.token.value,
              node: item.token.node
            });
            break;
        }

        item = item.prev;
      }
    }

    return matchResult;
  }

  function matchAsTree(tokens, matchGraph, syntaxes) {
    var matchResult = internalMatch(tokens, matchGraph, syntaxes || {});

    if (matchResult.match === null) {
      return matchResult;
    }

    var item = matchResult.match;
    var host = matchResult.match = {
      syntax: matchGraph.syntax || null,
      match: []
    };
    var hostStack = [host];
    item = reverseList(item).prev;

    while (item !== null) {
      switch (item.type) {
        case OPEN_SYNTAX:
          host.match.push(host = {
            syntax: item.syntax,
            match: []
          });
          hostStack.push(host);
          break;

        case CLOSE_SYNTAX:
          hostStack.pop();
          host = hostStack[hostStack.length - 1];
          break;

        default:
          host.match.push({
            syntax: item.syntax || null,
            token: item.token.value,
            node: item.token.node
          });
      }

      item = item.prev;
    }

    return matchResult;
  }

  module.exports = {
    matchAsList: matchAsList,
    matchAsTree: matchAsTree,
    getTotalIterationCount: function getTotalIterationCount() {
      return totalIterationCount;
    }
  };
},857,[828,850]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var defaultLoc = {
    offset: 0,
    line: 1,
    column: 1
  };

  function locateMismatch(matchResult, node) {
    var tokens = matchResult.tokens;
    var longestMatch = matchResult.longestMatch;
    var mismatchNode = longestMatch < tokens.length ? tokens[longestMatch].node || null : null;
    var badNode = mismatchNode !== node ? mismatchNode : null;
    var mismatchOffset = 0;
    var mismatchLength = 0;
    var entries = 0;
    var css = '';
    var start;
    var end;

    for (var i = 0; i < tokens.length; i++) {
      var token = tokens[i].value;

      if (i === longestMatch) {
        mismatchLength = token.length;
        mismatchOffset = css.length;
      }

      if (badNode !== null && tokens[i].node === badNode) {
        if (i <= longestMatch) {
          entries++;
        } else {
          entries = 0;
        }
      }

      css += token;
    }

    if (longestMatch === tokens.length || entries > 1) {
      start = fromLoc(badNode || node, 'end') || buildLoc(defaultLoc, css);
      end = buildLoc(start);
    } else {
      start = fromLoc(badNode, 'start') || buildLoc(fromLoc(node, 'start') || defaultLoc, css.slice(0, mismatchOffset));
      end = fromLoc(badNode, 'end') || buildLoc(start, css.substr(mismatchOffset, mismatchLength));
    }

    return {
      css: css,
      mismatchOffset: mismatchOffset,
      mismatchLength: mismatchLength,
      start: start,
      end: end
    };
  }

  function fromLoc(node, point) {
    var value = node && node.loc && node.loc[point];

    if (value) {
      return 'line' in value ? buildLoc(value) : value;
    }

    return null;
  }

  function buildLoc(_ref, extra) {
    var offset = _ref.offset,
        line = _ref.line,
        column = _ref.column;
    var loc = {
      offset: offset,
      line: line,
      column: column
    };

    if (extra) {
      var lines = extra.split(/\n|\r\n?|\f/);
      loc.offset += extra.length;
      loc.line += lines.length - 1;
      loc.column = lines.length === 1 ? loc.column + extra.length : lines.pop().length + 1;
    }

    return loc;
  }

  var SyntaxReferenceError = function SyntaxReferenceError(type, referenceName) {
    var error = _$$_REQUIRE(_dependencyMap[0])('SyntaxReferenceError', type + (referenceName ? ' `' + referenceName + '`' : ''));

    error.reference = referenceName;
    return error;
  };

  var SyntaxMatchError = function SyntaxMatchError(message, syntax, node, matchResult) {
    var error = _$$_REQUIRE(_dependencyMap[0])('SyntaxMatchError', message);

    var _locateMismatch = locateMismatch(matchResult, node),
        css = _locateMismatch.css,
        mismatchOffset = _locateMismatch.mismatchOffset,
        mismatchLength = _locateMismatch.mismatchLength,
        start = _locateMismatch.start,
        end = _locateMismatch.end;

    error.rawMessage = message;
    error.syntax = syntax ? _$$_REQUIRE(_dependencyMap[1])(syntax) : '<generic>';
    error.css = css;
    error.mismatchOffset = mismatchOffset;
    error.mismatchLength = mismatchLength;
    error.message = message + '\n' + '  syntax: ' + error.syntax + '\n' + '   value: ' + (css || '<empty string>') + '\n' + '  --------' + new Array(error.mismatchOffset + 1).join('-') + '^';

    _$$_REQUIRE(_dependencyMap[2])(error, start);

    error.loc = {
      source: node && node.loc && node.loc.source || '<unknown>',
      start: start,
      end: end
    };
    return error;
  };

  module.exports = {
    SyntaxReferenceError: SyntaxReferenceError,
    SyntaxMatchError: SyntaxMatchError
  };
},858,[838,854,6]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var hasOwnProperty = Object.prototype.hasOwnProperty;

  function isValidNumber(value) {
    return typeof value === 'number' && isFinite(value) && Math.floor(value) === value && value >= 0;
  }

  function isValidLocation(loc) {
    return Boolean(loc) && isValidNumber(loc.offset) && isValidNumber(loc.line) && isValidNumber(loc.column);
  }

  function createNodeStructureChecker(type, fields) {
    return function checkNode(node, warn) {
      if (!node || node.constructor !== Object) {
        return warn(node, 'Type of node should be an Object');
      }

      for (var key in node) {
        var valid = true;

        if (hasOwnProperty.call(node, key) === false) {
          continue;
        }

        if (key === 'type') {
          if (node.type !== type) {
            warn(node, 'Wrong node type `' + node.type + '`, expected `' + type + '`');
          }
        } else if (key === 'loc') {
          if (node.loc === null) {
            continue;
          } else if (node.loc && node.loc.constructor === Object) {
            if (typeof node.loc.source !== 'string') {
              key += '.source';
            } else if (!isValidLocation(node.loc.start)) {
              key += '.start';
            } else if (!isValidLocation(node.loc.end)) {
              key += '.end';
            } else {
              continue;
            }
          }

          valid = false;
        } else if (fields.hasOwnProperty(key)) {
          for (var i = 0, valid = false; !valid && i < fields[key].length; i++) {
            var fieldType = fields[key][i];

            switch (fieldType) {
              case String:
                valid = typeof node[key] === 'string';
                break;

              case Boolean:
                valid = typeof node[key] === 'boolean';
                break;

              case null:
                valid = node[key] === null;
                break;

              default:
                if (typeof fieldType === 'string') {
                  valid = node[key] && node[key].type === fieldType;
                } else if (Array.isArray(fieldType)) {
                  valid = node[key] instanceof _$$_REQUIRE(_dependencyMap[0]);
                }

            }
          }
        } else {
          warn(node, 'Unknown field `' + key + '` for ' + type + ' node type');
        }

        if (!valid) {
          warn(node, 'Bad value for `' + type + '.' + key + '`');
        }
      }

      for (var key in fields) {
        if (hasOwnProperty.call(fields, key) && hasOwnProperty.call(node, key) === false) {
          warn(node, 'Field `' + type + '.' + key + '` is missed');
        }
      }
    };
  }

  function processStructure(name, nodeType) {
    var structure = nodeType.structure;
    var fields = {
      type: String,
      loc: true
    };
    var docs = {
      type: '"' + name + '"'
    };

    for (var key in structure) {
      if (hasOwnProperty.call(structure, key) === false) {
        continue;
      }

      var docsTypes = [];
      var fieldTypes = fields[key] = Array.isArray(structure[key]) ? structure[key].slice() : [structure[key]];

      for (var i = 0; i < fieldTypes.length; i++) {
        var fieldType = fieldTypes[i];

        if (fieldType === String || fieldType === Boolean) {
          docsTypes.push(fieldType.name);
        } else if (fieldType === null) {
          docsTypes.push('null');
        } else if (typeof fieldType === 'string') {
          docsTypes.push('<' + fieldType + '>');
        } else if (Array.isArray(fieldType)) {
          docsTypes.push('List');
        } else {
          throw new Error('Wrong value `' + fieldType + '` in `' + name + '.' + key + '` structure definition');
        }
      }

      docs[key] = docsTypes.join(' | ');
    }

    return {
      docs: docs,
      check: createNodeStructureChecker(name, fields)
    };
  }

  module.exports = {
    getStructureFromConfig: function getStructureFromConfig(config) {
      var structure = {};

      if (config.node) {
        for (var name in config.node) {
          if (hasOwnProperty.call(config.node, name)) {
            var nodeType = config.node[name];

            if (nodeType.structure) {
              structure[name] = processStructure(name, nodeType);
            } else {
              throw new Error('Missed `structure` field in `' + name + '` node type definition');
            }
          }
        }
      }

      return structure;
    }
  };
},859,[836]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var cssWideKeywords = ['unset', 'initial', 'inherit'];
  var calcFunctionNames = ['calc(', '-moz-calc(', '-webkit-calc('];
  var LENGTH = {
    'px': true,
    'mm': true,
    'cm': true,
    'in': true,
    'pt': true,
    'pc': true,
    'q': true,
    'em': true,
    'ex': true,
    'ch': true,
    'rem': true,
    'vh': true,
    'vw': true,
    'vmin': true,
    'vmax': true,
    'vm': true
  };
  var ANGLE = {
    'deg': true,
    'grad': true,
    'rad': true,
    'turn': true
  };
  var TIME = {
    's': true,
    'ms': true
  };
  var FREQUENCY = {
    'hz': true,
    'khz': true
  };
  var RESOLUTION = {
    'dpi': true,
    'dpcm': true,
    'dppx': true,
    'x': true
  };
  var FLEX = {
    'fr': true
  };
  var DECIBEL = {
    'db': true
  };
  var SEMITONES = {
    'st': true
  };

  function charCode(str, index) {
    return index < str.length ? str.charCodeAt(index) : 0;
  }

  function eqStr(actual, expected) {
    return _$$_REQUIRE(_dependencyMap[0]).cmpStr(actual, 0, actual.length, expected);
  }

  function eqStrAny(actual, expected) {
    for (var i = 0; i < expected.length; i++) {
      if (eqStr(actual, expected[i])) {
        return true;
      }
    }

    return false;
  }

  function isPostfixIeHack(str, offset) {
    if (offset !== str.length - 2) {
      return false;
    }

    return str.charCodeAt(offset) === 0x005C && _$$_REQUIRE(_dependencyMap[0]).isDigit(str.charCodeAt(offset + 1));
  }

  function outOfRange(opts, value, numEnd) {
    if (opts && opts.type === 'Range') {
      var num = Number(numEnd !== undefined && numEnd !== value.length ? value.substr(0, numEnd) : value);

      if (isNaN(num)) {
        return true;
      }

      if (opts.min !== null && num < opts.min) {
        return true;
      }

      if (opts.max !== null && num > opts.max) {
        return true;
      }
    }

    return false;
  }

  function consumeFunction(token, getNextToken) {
    var startIdx = token.index;
    var length = 0;

    do {
      length++;

      if (token.balance <= startIdx) {
        break;
      }
    } while (token = getNextToken(length));

    return length;
  }

  function calc(next) {
    return function (token, getNextToken, opts) {
      if (token === null) {
        return 0;
      }

      if (token.type === _$$_REQUIRE(_dependencyMap[0]).TYPE.Function && eqStrAny(token.value, calcFunctionNames)) {
        return consumeFunction(token, getNextToken);
      }

      return next(token, getNextToken, opts);
    };
  }

  function tokenType(expectedTokenType) {
    return function (token) {
      if (token === null || token.type !== expectedTokenType) {
        return 0;
      }

      return 1;
    };
  }

  function func(name) {
    name = name + '(';
    return function (token, getNextToken) {
      if (token !== null && eqStr(token.value, name)) {
        return consumeFunction(token, getNextToken);
      }

      return 0;
    };
  }

  function customIdent(token) {
    if (token === null || token.type !== _$$_REQUIRE(_dependencyMap[0]).TYPE.Ident) {
      return 0;
    }

    var name = token.value.toLowerCase();

    if (eqStrAny(name, cssWideKeywords)) {
      return 0;
    }

    if (eqStr(name, 'default')) {
      return 0;
    }

    return 1;
  }

  function customPropertyName(token) {
    if (token === null || token.type !== _$$_REQUIRE(_dependencyMap[0]).TYPE.Ident) {
      return 0;
    }

    if (charCode(token.value, 0) !== 0x002D || charCode(token.value, 1) !== 0x002D) {
      return 0;
    }

    return 1;
  }

  function hexColor(token) {
    if (token === null || token.type !== _$$_REQUIRE(_dependencyMap[0]).TYPE.Hash) {
      return 0;
    }

    var length = token.value.length;

    if (length !== 4 && length !== 5 && length !== 7 && length !== 9) {
      return 0;
    }

    for (var i = 1; i < length; i++) {
      if (!_$$_REQUIRE(_dependencyMap[0]).isHexDigit(token.value.charCodeAt(i))) {
        return 0;
      }
    }

    return 1;
  }

  function idSelector(token) {
    if (token === null || token.type !== _$$_REQUIRE(_dependencyMap[0]).TYPE.Hash) {
      return 0;
    }

    if (!_$$_REQUIRE(_dependencyMap[0]).isIdentifierStart(charCode(token.value, 1), charCode(token.value, 2), charCode(token.value, 3))) {
      return 0;
    }

    return 1;
  }

  function declarationValue(token, getNextToken) {
    if (!token) {
      return 0;
    }

    var length = 0;
    var level = 0;
    var startIdx = token.index;

    scan: do {
      switch (token.type) {
        case _$$_REQUIRE(_dependencyMap[0]).TYPE.BadString:
        case _$$_REQUIRE(_dependencyMap[0]).TYPE.BadUrl:
          break scan;

        case _$$_REQUIRE(_dependencyMap[0]).TYPE.RightCurlyBracket:
        case _$$_REQUIRE(_dependencyMap[0]).TYPE.RightParenthesis:
        case _$$_REQUIRE(_dependencyMap[0]).TYPE.RightSquareBracket:
          if (token.balance > token.index || token.balance < startIdx) {
            break scan;
          }

          level--;
          break;

        case _$$_REQUIRE(_dependencyMap[0]).TYPE.Semicolon:
          if (level === 0) {
            break scan;
          }

          break;

        case _$$_REQUIRE(_dependencyMap[0]).TYPE.Delim:
          if (token.value === '!' && level === 0) {
            break scan;
          }

          break;

        case _$$_REQUIRE(_dependencyMap[0]).TYPE.Function:
        case _$$_REQUIRE(_dependencyMap[0]).TYPE.LeftParenthesis:
        case _$$_REQUIRE(_dependencyMap[0]).TYPE.LeftSquareBracket:
        case _$$_REQUIRE(_dependencyMap[0]).TYPE.LeftCurlyBracket:
          level++;
          break;
      }

      length++;

      if (token.balance <= startIdx) {
        break;
      }
    } while (token = getNextToken(length));

    return length;
  }

  function anyValue(token, getNextToken) {
    if (!token) {
      return 0;
    }

    var startIdx = token.index;
    var length = 0;

    scan: do {
      switch (token.type) {
        case _$$_REQUIRE(_dependencyMap[0]).TYPE.BadString:
        case _$$_REQUIRE(_dependencyMap[0]).TYPE.BadUrl:
          break scan;

        case _$$_REQUIRE(_dependencyMap[0]).TYPE.RightCurlyBracket:
        case _$$_REQUIRE(_dependencyMap[0]).TYPE.RightParenthesis:
        case _$$_REQUIRE(_dependencyMap[0]).TYPE.RightSquareBracket:
          if (token.balance > token.index || token.balance < startIdx) {
            break scan;
          }

          break;
      }

      length++;

      if (token.balance <= startIdx) {
        break;
      }
    } while (token = getNextToken(length));

    return length;
  }

  function dimension(type) {
    return function (token, getNextToken, opts) {
      if (token === null || token.type !== _$$_REQUIRE(_dependencyMap[0]).TYPE.Dimension) {
        return 0;
      }

      var numberEnd = _$$_REQUIRE(_dependencyMap[0]).consumeNumber(token.value, 0);

      if (type !== null) {
        var reverseSolidusOffset = token.value.indexOf('\\', numberEnd);
        var unit = reverseSolidusOffset === -1 || !isPostfixIeHack(token.value, reverseSolidusOffset) ? token.value.substr(numberEnd) : token.value.substring(numberEnd, reverseSolidusOffset);

        if (type.hasOwnProperty(unit.toLowerCase()) === false) {
          return 0;
        }
      }

      if (outOfRange(opts, token.value, numberEnd)) {
        return 0;
      }

      return 1;
    };
  }

  function percentage(token, getNextToken, opts) {
    if (token === null || token.type !== _$$_REQUIRE(_dependencyMap[0]).TYPE.Percentage) {
      return 0;
    }

    if (outOfRange(opts, token.value, token.value.length - 1)) {
      return 0;
    }

    return 1;
  }

  function zero(next) {
    if (typeof next !== 'function') {
      next = function next() {
        return 0;
      };
    }

    return function (token, getNextToken, opts) {
      if (token !== null && token.type === _$$_REQUIRE(_dependencyMap[0]).TYPE.Number) {
        if (Number(token.value) === 0) {
          return 1;
        }
      }

      return next(token, getNextToken, opts);
    };
  }

  function number(token, getNextToken, opts) {
    if (token === null) {
      return 0;
    }

    var numberEnd = _$$_REQUIRE(_dependencyMap[0]).consumeNumber(token.value, 0);

    var isNumber = numberEnd === token.value.length;

    if (!isNumber && !isPostfixIeHack(token.value, numberEnd)) {
      return 0;
    }

    if (outOfRange(opts, token.value, numberEnd)) {
      return 0;
    }

    return 1;
  }

  function integer(token, getNextToken, opts) {
    if (token === null || token.type !== _$$_REQUIRE(_dependencyMap[0]).TYPE.Number) {
      return 0;
    }

    var i = token.value.charCodeAt(0) === 0x002B || token.value.charCodeAt(0) === 0x002D ? 1 : 0;

    for (; i < token.value.length; i++) {
      if (!_$$_REQUIRE(_dependencyMap[0]).isDigit(token.value.charCodeAt(i))) {
        return 0;
      }
    }

    if (outOfRange(opts, token.value, i)) {
      return 0;
    }

    return 1;
  }

  module.exports = {
    'ident-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.Ident),
    'function-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.Function),
    'at-keyword-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.AtKeyword),
    'hash-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.Hash),
    'string-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.String),
    'bad-string-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.BadString),
    'url-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.Url),
    'bad-url-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.BadUrl),
    'delim-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.Delim),
    'number-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.Number),
    'percentage-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.Percentage),
    'dimension-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.Dimension),
    'whitespace-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.WhiteSpace),
    'CDO-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.CDO),
    'CDC-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.CDC),
    'colon-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.Colon),
    'semicolon-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.Semicolon),
    'comma-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.Comma),
    '[-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.LeftSquareBracket),
    ']-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.RightSquareBracket),
    '(-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.LeftParenthesis),
    ')-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.RightParenthesis),
    '{-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.LeftCurlyBracket),
    '}-token': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.RightCurlyBracket),
    'string': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.String),
    'ident': tokenType(_$$_REQUIRE(_dependencyMap[0]).TYPE.Ident),
    'custom-ident': customIdent,
    'custom-property-name': customPropertyName,
    'hex-color': hexColor,
    'id-selector': idSelector,
    'an-plus-b': _$$_REQUIRE(_dependencyMap[1]),
    'urange': _$$_REQUIRE(_dependencyMap[2]),
    'declaration-value': declarationValue,
    'any-value': anyValue,
    'dimension': calc(dimension(null)),
    'angle': calc(dimension(ANGLE)),
    'decibel': calc(dimension(DECIBEL)),
    'frequency': calc(dimension(FREQUENCY)),
    'flex': calc(dimension(FLEX)),
    'length': calc(zero(dimension(LENGTH))),
    'resolution': calc(dimension(RESOLUTION)),
    'semitones': calc(dimension(SEMITONES)),
    'time': calc(dimension(TIME)),
    'percentage': calc(percentage),
    'zero': zero(),
    'number': calc(number),
    'integer': calc(integer),
    '-ms-legacy-expression': func('expression')
  };
},860,[834,861,862]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var DELIM = _$$_REQUIRE(_dependencyMap[0]).TYPE.Delim;

  var WHITESPACE = _$$_REQUIRE(_dependencyMap[0]).TYPE.WhiteSpace;

  var COMMENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Comment;

  var IDENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Ident;

  var NUMBER = _$$_REQUIRE(_dependencyMap[0]).TYPE.Number;

  var DIMENSION = _$$_REQUIRE(_dependencyMap[0]).TYPE.Dimension;

  var PLUSSIGN = 0x002B;
  var HYPHENMINUS = 0x002D;
  var N = 0x006E;
  var DISALLOW_SIGN = true;
  var ALLOW_SIGN = false;

  function isDelim(token, code) {
    return token !== null && token.type === DELIM && token.value.charCodeAt(0) === code;
  }

  function skipSC(token, offset, getNextToken) {
    while (token !== null && (token.type === WHITESPACE || token.type === COMMENT)) {
      token = getNextToken(++offset);
    }

    return offset;
  }

  function checkInteger(token, valueOffset, disallowSign, offset) {
    if (!token) {
      return 0;
    }

    var code = token.value.charCodeAt(valueOffset);

    if (code === PLUSSIGN || code === HYPHENMINUS) {
      if (disallowSign) {
        return 0;
      }

      valueOffset++;
    }

    for (; valueOffset < token.value.length; valueOffset++) {
      if (!_$$_REQUIRE(_dependencyMap[0]).isDigit(token.value.charCodeAt(valueOffset))) {
        return 0;
      }
    }

    return offset + 1;
  }

  function consumeB(token, offset_, getNextToken) {
    var sign = false;
    var offset = skipSC(token, offset_, getNextToken);
    token = getNextToken(offset);

    if (token === null) {
      return offset_;
    }

    if (token.type !== NUMBER) {
      if (isDelim(token, PLUSSIGN) || isDelim(token, HYPHENMINUS)) {
        sign = true;
        offset = skipSC(getNextToken(++offset), offset, getNextToken);
        token = getNextToken(offset);

        if (token === null && token.type !== NUMBER) {
          return 0;
        }
      } else {
        return offset_;
      }
    }

    if (!sign) {
      var code = token.value.charCodeAt(0);

      if (code !== PLUSSIGN && code !== HYPHENMINUS) {
        return 0;
      }
    }

    return checkInteger(token, sign ? 0 : 1, sign, offset);
  }

  module.exports = function anPlusB(token, getNextToken) {
    var offset = 0;

    if (!token) {
      return 0;
    }

    if (token.type === NUMBER) {
      return checkInteger(token, 0, ALLOW_SIGN, offset);
    } else if (token.type === IDENT && token.value.charCodeAt(0) === HYPHENMINUS) {
      if (!_$$_REQUIRE(_dependencyMap[0]).cmpChar(token.value, 1, N)) {
        return 0;
      }

      switch (token.value.length) {
        case 2:
          return consumeB(getNextToken(++offset), offset, getNextToken);

        case 3:
          if (token.value.charCodeAt(2) !== HYPHENMINUS) {
            return 0;
          }

          offset = skipSC(getNextToken(++offset), offset, getNextToken);
          token = getNextToken(offset);
          return checkInteger(token, 0, DISALLOW_SIGN, offset);

        default:
          if (token.value.charCodeAt(2) !== HYPHENMINUS) {
            return 0;
          }

          return checkInteger(token, 3, DISALLOW_SIGN, offset);
      }
    } else if (token.type === IDENT || isDelim(token, PLUSSIGN) && getNextToken(offset + 1).type === IDENT) {
      if (token.type !== IDENT) {
        token = getNextToken(++offset);
      }

      if (token === null || !_$$_REQUIRE(_dependencyMap[0]).cmpChar(token.value, 0, N)) {
        return 0;
      }

      switch (token.value.length) {
        case 1:
          return consumeB(getNextToken(++offset), offset, getNextToken);

        case 2:
          if (token.value.charCodeAt(1) !== HYPHENMINUS) {
            return 0;
          }

          offset = skipSC(getNextToken(++offset), offset, getNextToken);
          token = getNextToken(offset);
          return checkInteger(token, 0, DISALLOW_SIGN, offset);

        default:
          if (token.value.charCodeAt(1) !== HYPHENMINUS) {
            return 0;
          }

          return checkInteger(token, 2, DISALLOW_SIGN, offset);
      }
    } else if (token.type === DIMENSION) {
      var code = token.value.charCodeAt(0);
      var sign = code === PLUSSIGN || code === HYPHENMINUS ? 1 : 0;

      for (var i = sign; i < token.value.length; i++) {
        if (!_$$_REQUIRE(_dependencyMap[0]).isDigit(token.value.charCodeAt(i))) {
          break;
        }
      }

      if (i === sign) {
        return 0;
      }

      if (!_$$_REQUIRE(_dependencyMap[0]).cmpChar(token.value, i, N)) {
        return 0;
      }

      if (i + 1 === token.value.length) {
        return consumeB(getNextToken(++offset), offset, getNextToken);
      } else {
        if (token.value.charCodeAt(i + 1) !== HYPHENMINUS) {
          return 0;
        }

        if (i + 2 === token.value.length) {
          offset = skipSC(getNextToken(++offset), offset, getNextToken);
          token = getNextToken(offset);
          return checkInteger(token, 0, DISALLOW_SIGN, offset);
        } else {
          return checkInteger(token, i + 2, DISALLOW_SIGN, offset);
        }
      }
    }

    return 0;
  };
},861,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var IDENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Ident;

  var DELIM = _$$_REQUIRE(_dependencyMap[0]).TYPE.Delim;

  var NUMBER = _$$_REQUIRE(_dependencyMap[0]).TYPE.Number;

  var DIMENSION = _$$_REQUIRE(_dependencyMap[0]).TYPE.Dimension;

  var PLUSSIGN = 0x002B;
  var HYPHENMINUS = 0x002D;
  var QUESTIONMARK = 0x003F;
  var U = 0x0075;

  function isDelim(token, code) {
    return token !== null && token.type === DELIM && token.value.charCodeAt(0) === code;
  }

  function startsWith(token, code) {
    return token.value.charCodeAt(0) === code;
  }

  function hexSequence(token, offset, allowDash) {
    for (var pos = offset, hexlen = 0; pos < token.value.length; pos++) {
      var code = token.value.charCodeAt(pos);

      if (code === HYPHENMINUS && allowDash && hexlen !== 0) {
        if (hexSequence(token, offset + hexlen + 1, false) > 0) {
          return 6;
        }

        return 0;
      }

      if (!_$$_REQUIRE(_dependencyMap[0]).isHexDigit(code)) {
        return 0;
      }

      if (++hexlen > 6) {
        return 0;
      }

      ;
    }

    return hexlen;
  }

  function withQuestionMarkSequence(consumed, length, getNextToken) {
    if (!consumed) {
      return 0;
    }

    while (isDelim(getNextToken(length), QUESTIONMARK)) {
      if (++consumed > 6) {
        return 0;
      }

      length++;
    }

    return length;
  }

  module.exports = function urange(token, getNextToken) {
    var length = 0;

    if (token === null || token.type !== IDENT || !_$$_REQUIRE(_dependencyMap[0]).cmpChar(token.value, 0, U)) {
      return 0;
    }

    token = getNextToken(++length);

    if (token === null) {
      return 0;
    }

    if (isDelim(token, PLUSSIGN)) {
      token = getNextToken(++length);

      if (token === null) {
        return 0;
      }

      if (token.type === IDENT) {
        return withQuestionMarkSequence(hexSequence(token, 0, true), ++length, getNextToken);
      }

      if (isDelim(token, QUESTIONMARK)) {
        return withQuestionMarkSequence(1, ++length, getNextToken);
      }

      return 0;
    }

    if (token.type === NUMBER) {
      if (!startsWith(token, PLUSSIGN)) {
        return 0;
      }

      var consumedHexLength = hexSequence(token, 1, true);

      if (consumedHexLength === 0) {
        return 0;
      }

      token = getNextToken(++length);

      if (token === null) {
        return length;
      }

      if (token.type === DIMENSION || token.type === NUMBER) {
        if (!startsWith(token, HYPHENMINUS) || !hexSequence(token, 1, false)) {
          return 0;
        }

        return length + 1;
      }

      return withQuestionMarkSequence(consumedHexLength, length, getNextToken);
    }

    if (token.type === DIMENSION) {
      if (!startsWith(token, PLUSSIGN)) {
        return 0;
      }

      return withQuestionMarkSequence(hexSequence(token, 1, true), ++length, getNextToken);
    }

    return 0;
  };
},862,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var hasOwnProperty = Object.prototype.hasOwnProperty;
  var keywords = Object.create(null);
  var properties = Object.create(null);
  var HYPHENMINUS = 45;

  function isCustomProperty(str, offset) {
    offset = offset || 0;
    return str.length - offset >= 2 && str.charCodeAt(offset) === HYPHENMINUS && str.charCodeAt(offset + 1) === HYPHENMINUS;
  }

  function getVendorPrefix(str, offset) {
    offset = offset || 0;

    if (str.length - offset >= 3) {
      if (str.charCodeAt(offset) === HYPHENMINUS && str.charCodeAt(offset + 1) !== HYPHENMINUS) {
        var secondDashIndex = str.indexOf('-', offset + 2);

        if (secondDashIndex !== -1) {
          return str.substring(offset, secondDashIndex + 1);
        }
      }
    }

    return '';
  }

  function getKeywordDescriptor(keyword) {
    if (hasOwnProperty.call(keywords, keyword)) {
      return keywords[keyword];
    }

    var name = keyword.toLowerCase();

    if (hasOwnProperty.call(keywords, name)) {
      return keywords[keyword] = keywords[name];
    }

    var custom = isCustomProperty(name, 0);
    var vendor = !custom ? getVendorPrefix(name, 0) : '';
    return keywords[keyword] = Object.freeze({
      basename: name.substr(vendor.length),
      name: name,
      vendor: vendor,
      prefix: vendor,
      custom: custom
    });
  }

  function getPropertyDescriptor(property) {
    if (hasOwnProperty.call(properties, property)) {
      return properties[property];
    }

    var name = property;
    var hack = property[0];

    if (hack === '/') {
      hack = property[1] === '/' ? '//' : '/';
    } else if (hack !== '_' && hack !== '*' && hack !== '$' && hack !== '#' && hack !== '+' && hack !== '&') {
      hack = '';
    }

    var custom = isCustomProperty(name, hack.length);

    if (!custom) {
      name = name.toLowerCase();

      if (hasOwnProperty.call(properties, name)) {
        return properties[property] = properties[name];
      }
    }

    var vendor = !custom ? getVendorPrefix(name, hack.length) : '';
    var prefix = name.substr(0, hack.length + vendor.length);
    return properties[property] = Object.freeze({
      basename: name.substr(prefix.length),
      name: name.substr(hack.length),
      hack: hack,
      vendor: vendor,
      prefix: prefix,
      custom: custom
    });
  }

  module.exports = {
    keyword: getKeywordDescriptor,
    property: getPropertyDescriptor,
    isCustomProperty: isCustomProperty,
    vendorPrefix: getVendorPrefix
  };
},863,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function getFirstMatchNode(matchNode) {
    if ('node' in matchNode) {
      return matchNode.node;
    }

    return getFirstMatchNode(matchNode.match[0]);
  }

  function getLastMatchNode(matchNode) {
    if ('node' in matchNode) {
      return matchNode.node;
    }

    return getLastMatchNode(matchNode.match[matchNode.match.length - 1]);
  }

  function matchFragments(lexer, ast, match, type, name) {
    function findFragments(matchNode) {
      if (matchNode.syntax !== null && matchNode.syntax.type === type && matchNode.syntax.name === name) {
        var start = getFirstMatchNode(matchNode);
        var end = getLastMatchNode(matchNode);
        lexer.syntax.walk(ast, function (node, item, list) {
          if (node === start) {
            var nodes = new (_$$_REQUIRE(_dependencyMap[0]))();

            do {
              nodes.appendData(item.data);

              if (item.data === end) {
                break;
              }

              item = item.next;
            } while (item !== null);

            fragments.push({
              parent: list,
              nodes: nodes
            });
          }
        });
      }

      if (Array.isArray(matchNode.match)) {
        matchNode.match.forEach(findFragments);
      }
    }

    var fragments = [];

    if (match.matched !== null) {
      findFragments(match.matched);
    }

    return fragments;
  }

  module.exports = {
    matchFragments: matchFragments
  };
},864,[836]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var noop = function noop() {};

  function ensureFunction(value) {
    return typeof value === 'function' ? value : noop;
  }

  module.exports = function (node, options, context) {
    function walk(node) {
      enter.call(context, node);

      switch (node.type) {
        case 'Group':
          node.terms.forEach(walk);
          break;

        case 'Multiplier':
          walk(node.term);
          break;

        case 'Type':
        case 'Property':
        case 'Keyword':
        case 'AtKeyword':
        case 'Function':
        case 'String':
        case 'Token':
        case 'Comma':
          break;

        default:
          throw new Error('Unknown type: ' + node.type);
      }

      leave.call(context, node);
    }

    var enter = noop;
    var leave = noop;

    if (typeof options === 'function') {
      enter = options;
    } else if (options) {
      enter = ensureFunction(options.enter);
      leave = ensureFunction(options.leave);
    }

    if (enter === noop && leave === noop) {
      throw new Error('Neither `enter` nor `leave` walker handler is set or both aren\'t a function');
    }

    walk(node, context);
  };
},865,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    SyntaxError: _$$_REQUIRE(_dependencyMap[0]),
    parse: _$$_REQUIRE(_dependencyMap[1]),
    generate: _$$_REQUIRE(_dependencyMap[2]),
    walk: _$$_REQUIRE(_dependencyMap[3])
  };
},866,[853,851,854,865]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = function clone(node) {
    var result = {};

    for (var key in node) {
      var value = node[key];

      if (value) {
        if (Array.isArray(value) || value instanceof _$$_REQUIRE(_dependencyMap[0])) {
          value = value.map(clone);
        } else if (value.constructor === Object) {
          value = clone(value);
        }
      }

      result[key] = value;
    }

    return result;
  };
},867,[836]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var hasOwnProperty = Object.prototype.hasOwnProperty;
  var shape = {
    generic: true,
    types: appendOrAssign,
    atrules: {
      prelude: appendOrAssignOrNull,
      descriptors: appendOrAssignOrNull
    },
    properties: appendOrAssign,
    parseContext: assign,
    scope: deepAssign,
    atrule: ['parse'],
    pseudo: ['parse'],
    node: ['name', 'structure', 'parse', 'generate', 'walkContext']
  };

  function isObject(value) {
    return value && value.constructor === Object;
  }

  function copy(value) {
    return isObject(value) ? _$$_REQUIRE(_dependencyMap[0])({}, value) : value;
  }

  function assign(dest, src) {
    return _$$_REQUIRE(_dependencyMap[0])(dest, src);
  }

  function deepAssign(dest, src) {
    for (var key in src) {
      if (hasOwnProperty.call(src, key)) {
        if (isObject(dest[key])) {
          deepAssign(dest[key], copy(src[key]));
        } else {
          dest[key] = copy(src[key]);
        }
      }
    }

    return dest;
  }

  function append(a, b) {
    if (typeof b === 'string' && /^\s*\|/.test(b)) {
      return typeof a === 'string' ? a + b : b.replace(/^\s*\|\s*/, '');
    }

    return b || null;
  }

  function appendOrAssign(a, b) {
    if (typeof b === 'string') {
      return append(a, b);
    }

    var result = _$$_REQUIRE(_dependencyMap[0])({}, a);

    for (var key in b) {
      if (hasOwnProperty.call(b, key)) {
        result[key] = append(hasOwnProperty.call(a, key) ? a[key] : undefined, b[key]);
      }
    }

    return result;
  }

  function appendOrAssignOrNull(a, b) {
    var result = appendOrAssign(a, b);
    return !isObject(result) || Object.keys(result).length ? result : null;
  }

  function mix(dest, src, shape) {
    for (var key in shape) {
      if (hasOwnProperty.call(shape, key) === false) {
        continue;
      }

      if (shape[key] === true) {
        if (key in src) {
          if (hasOwnProperty.call(src, key)) {
            dest[key] = copy(src[key]);
          }
        }
      } else if (shape[key]) {
        if (typeof shape[key] === 'function') {
          var fn = shape[key];
          dest[key] = fn({}, dest[key]);
          dest[key] = fn(dest[key] || {}, src[key]);
        } else if (isObject(shape[key])) {
          var result = {};

          for (var name in dest[key]) {
            result[name] = mix({}, dest[key][name], shape[key]);
          }

          for (var _name in src[key]) {
            result[_name] = mix(result[_name] || {}, src[key][_name], shape[key]);
          }

          dest[key] = result;
        } else if (Array.isArray(shape[key])) {
          var res = {};
          var innerShape = shape[key].reduce(function (s, k) {
            s[k] = true;
            return s;
          }, {});

          for (var _i = 0, _Object$entries = Object.entries(dest[key] || {}); _i < _Object$entries.length; _i++) {
            var _ref = _Object$entries[_i];

            var _ref2 = _$$_REQUIRE(_dependencyMap[1])(_ref, 2);

            var _name2 = _ref2[0];
            var value = _ref2[1];
            res[_name2] = {};

            if (value) {
              mix(res[_name2], value, innerShape);
            }
          }

          for (var _name3 in src[key]) {
            if (hasOwnProperty.call(src[key], _name3)) {
              if (!res[_name3]) {
                res[_name3] = {};
              }

              if (src[key] && src[key][_name3]) {
                mix(res[_name3], src[key][_name3], innerShape);
              }
            }
          }

          dest[key] = res;
        }
      }
    }

    return dest;
  }

  module.exports = function (dest, src) {
    return mix(dest, src, shape);
  };
},868,[6,41]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    generic: true,
    types: _$$_REQUIRE(_dependencyMap[0]).types,
    atrules: _$$_REQUIRE(_dependencyMap[0]).atrules,
    properties: _$$_REQUIRE(_dependencyMap[0]).properties,
    node: _$$_REQUIRE(_dependencyMap[1])
  };
},869,[870,875]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var extendSyntax = /^\s*\|\s*/;

  function preprocessAtrules(dict) {
    var result = Object.create(null);

    for (var atruleName in dict) {
      var atrule = dict[atruleName];
      var descriptors = null;

      if (atrule.descriptors) {
        descriptors = Object.create(null);

        for (var descriptor in atrule.descriptors) {
          descriptors[descriptor] = atrule.descriptors[descriptor].syntax;
        }
      }

      result[atruleName.substr(1)] = {
        prelude: atrule.syntax.trim().match(/^@\S+\s+([^;\{]*)/)[1].trim() || null,
        descriptors: descriptors
      };
    }

    return result;
  }

  function patchDictionary(dict, patchDict) {
    var result = {};

    for (var key in dict) {
      result[key] = dict[key].syntax || dict[key];
    }

    for (var _key in patchDict) {
      if (_key in dict) {
        if (patchDict[_key].syntax) {
          result[_key] = extendSyntax.test(patchDict[_key].syntax) ? result[_key] + ' ' + patchDict[_key].syntax.trim() : patchDict[_key].syntax;
        } else {
          delete result[_key];
        }
      } else {
        if (patchDict[_key].syntax) {
          result[_key] = patchDict[_key].syntax.replace(extendSyntax, '');
        }
      }
    }

    return result;
  }

  function unpackSyntaxes(dict) {
    var result = {};

    for (var key in dict) {
      result[key] = dict[key].syntax;
    }

    return result;
  }

  function patchAtrules(dict, patchDict) {
    var result = {};

    for (var key in dict) {
      var patchDescriptors = patchDict[key] && patchDict[key].descriptors || null;
      result[key] = {
        prelude: key in patchDict && 'prelude' in patchDict[key] ? patchDict[key].prelude : dict[key].prelude || null,
        descriptors: dict[key].descriptors ? patchDictionary(dict[key].descriptors, patchDescriptors || {}) : patchDescriptors && unpackSyntaxes(patchDescriptors)
      };
    }

    for (var _key2 in patchDict) {
      if (!hasOwnProperty.call(dict, _key2)) {
        result[_key2] = {
          prelude: patchDict[_key2].prelude || null,
          descriptors: patchDict[_key2].descriptors && unpackSyntaxes(patchDict[_key2].descriptors)
        };
      }
    }

    return result;
  }

  module.exports = {
    types: patchDictionary(_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]).syntaxes),
    atrules: patchAtrules(preprocessAtrules(_$$_REQUIRE(_dependencyMap[2])), _$$_REQUIRE(_dependencyMap[1]).atrules),
    properties: patchDictionary(_$$_REQUIRE(_dependencyMap[3]), _$$_REQUIRE(_dependencyMap[1]).properties)
  };
},870,[871,872,873,874]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "absolute-size": {
    "syntax": "xx-small | x-small | small | medium | large | x-large | xx-large | xxx-large"
  },
  "alpha-value": {
    "syntax": "<number> | <percentage>"
  },
  "angle-percentage": {
    "syntax": "<angle> | <percentage>"
  },
  "angular-color-hint": {
    "syntax": "<angle-percentage>"
  },
  "angular-color-stop": {
    "syntax": "<color> && <color-stop-angle>?"
  },
  "angular-color-stop-list": {
    "syntax": "[ <angular-color-stop> [, <angular-color-hint>]? ]# , <angular-color-stop>"
  },
  "animateable-feature": {
    "syntax": "scroll-position | contents | <custom-ident>"
  },
  "attachment": {
    "syntax": "scroll | fixed | local"
  },
  "attr()": {
    "syntax": "attr( <attr-name> <type-or-unit>? [, <attr-fallback> ]? )"
  },
  "attr-matcher": {
    "syntax": "[ '~' | '|' | '^' | '$' | '*' ]? '='"
  },
  "attr-modifier": {
    "syntax": "i | s"
  },
  "attribute-selector": {
    "syntax": "'[' <wq-name> ']' | '[' <wq-name> <attr-matcher> [ <string-token> | <ident-token> ] <attr-modifier>? ']'"
  },
  "auto-repeat": {
    "syntax": "repeat( [ auto-fill | auto-fit ] , [ <line-names>? <fixed-size> ]+ <line-names>? )"
  },
  "auto-track-list": {
    "syntax": "[ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>? <auto-repeat>\n[ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>?"
  },
  "baseline-position": {
    "syntax": "[ first | last ]? baseline"
  },
  "basic-shape": {
    "syntax": "<inset()> | <circle()> | <ellipse()> | <polygon()> | <path()>"
  },
  "bg-image": {
    "syntax": "none | <image>"
  },
  "bg-layer": {
    "syntax": "<bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box>"
  },
  "bg-position": {
    "syntax": "[ [ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] | [ center | [ left | right ] <length-percentage>? ] && [ center | [ top | bottom ] <length-percentage>? ] ]"
  },
  "bg-size": {
    "syntax": "[ <length-percentage> | auto ]{1,2} | cover | contain"
  },
  "blur()": {
    "syntax": "blur( <length> )"
  },
  "blend-mode": {
    "syntax": "normal | multiply | screen | overlay | darken | lighten | color-dodge | color-burn | hard-light | soft-light | difference | exclusion | hue | saturation | color | luminosity"
  },
  "box": {
    "syntax": "border-box | padding-box | content-box"
  },
  "brightness()": {
    "syntax": "brightness( <number-percentage> )"
  },
  "calc()": {
    "syntax": "calc( <calc-sum> )"
  },
  "calc-sum": {
    "syntax": "<calc-product> [ [ '+' | '-' ] <calc-product> ]*"
  },
  "calc-product": {
    "syntax": "<calc-value> [ '*' <calc-value> | '/' <number> ]*"
  },
  "calc-value": {
    "syntax": "<number> | <dimension> | <percentage> | ( <calc-sum> )"
  },
  "cf-final-image": {
    "syntax": "<image> | <color>"
  },
  "cf-mixing-image": {
    "syntax": "<percentage>? && <image>"
  },
  "circle()": {
    "syntax": "circle( [ <shape-radius> ]? [ at <position> ]? )"
  },
  "clamp()": {
    "syntax": "clamp( <calc-sum>#{3} )"
  },
  "class-selector": {
    "syntax": "'.' <ident-token>"
  },
  "clip-source": {
    "syntax": "<url>"
  },
  "color": {
    "syntax": "<rgb()> | <rgba()> | <hsl()> | <hsla()> | <hex-color> | <named-color> | currentcolor | <deprecated-system-color>"
  },
  "color-stop": {
    "syntax": "<color-stop-length> | <color-stop-angle>"
  },
  "color-stop-angle": {
    "syntax": "<angle-percentage>{1,2}"
  },
  "color-stop-length": {
    "syntax": "<length-percentage>{1,2}"
  },
  "color-stop-list": {
    "syntax": "[ <linear-color-stop> [, <linear-color-hint>]? ]# , <linear-color-stop>"
  },
  "combinator": {
    "syntax": "'>' | '+' | '~' | [ '||' ]"
  },
  "common-lig-values": {
    "syntax": "[ common-ligatures | no-common-ligatures ]"
  },
  "compat-auto": {
    "syntax": "searchfield | textarea | push-button | slider-horizontal | checkbox | radio | square-button | menulist | listbox | meter | progress-bar | button"
  },
  "composite-style": {
    "syntax": "clear | copy | source-over | source-in | source-out | source-atop | destination-over | destination-in | destination-out | destination-atop | xor"
  },
  "compositing-operator": {
    "syntax": "add | subtract | intersect | exclude"
  },
  "compound-selector": {
    "syntax": "[ <type-selector>? <subclass-selector>* [ <pseudo-element-selector> <pseudo-class-selector>* ]* ]!"
  },
  "compound-selector-list": {
    "syntax": "<compound-selector>#"
  },
  "complex-selector": {
    "syntax": "<compound-selector> [ <combinator>? <compound-selector> ]*"
  },
  "complex-selector-list": {
    "syntax": "<complex-selector>#"
  },
  "conic-gradient()": {
    "syntax": "conic-gradient( [ from <angle> ]? [ at <position> ]?, <angular-color-stop-list> )"
  },
  "contextual-alt-values": {
    "syntax": "[ contextual | no-contextual ]"
  },
  "content-distribution": {
    "syntax": "space-between | space-around | space-evenly | stretch"
  },
  "content-list": {
    "syntax": "[ <string> | contents | <image> | <quote> | <target> | <leader()> ]+"
  },
  "content-position": {
    "syntax": "center | start | end | flex-start | flex-end"
  },
  "content-replacement": {
    "syntax": "<image>"
  },
  "contrast()": {
    "syntax": "contrast( [ <number-percentage> ] )"
  },
  "counter()": {
    "syntax": "counter( <custom-ident>, <counter-style>? )"
  },
  "counter-style": {
    "syntax": "<counter-style-name> | symbols()"
  },
  "counter-style-name": {
    "syntax": "<custom-ident>"
  },
  "counters()": {
    "syntax": "counters( <custom-ident>, <string>, <counter-style>? )"
  },
  "cross-fade()": {
    "syntax": "cross-fade( <cf-mixing-image> , <cf-final-image>? )"
  },
  "cubic-bezier-timing-function": {
    "syntax": "ease | ease-in | ease-out | ease-in-out | cubic-bezier(<number [0,1]>, <number>, <number [0,1]>, <number>)"
  },
  "deprecated-system-color": {
    "syntax": "ActiveBorder | ActiveCaption | AppWorkspace | Background | ButtonFace | ButtonHighlight | ButtonShadow | ButtonText | CaptionText | GrayText | Highlight | HighlightText | InactiveBorder | InactiveCaption | InactiveCaptionText | InfoBackground | InfoText | Menu | MenuText | Scrollbar | ThreeDDarkShadow | ThreeDFace | ThreeDHighlight | ThreeDLightShadow | ThreeDShadow | Window | WindowFrame | WindowText"
  },
  "discretionary-lig-values": {
    "syntax": "[ discretionary-ligatures | no-discretionary-ligatures ]"
  },
  "display-box": {
    "syntax": "contents | none"
  },
  "display-inside": {
    "syntax": "flow | flow-root | table | flex | grid | ruby"
  },
  "display-internal": {
    "syntax": "table-row-group | table-header-group | table-footer-group | table-row | table-cell | table-column-group | table-column | table-caption | ruby-base | ruby-text | ruby-base-container | ruby-text-container"
  },
  "display-legacy": {
    "syntax": "inline-block | inline-list-item | inline-table | inline-flex | inline-grid"
  },
  "display-listitem": {
    "syntax": "<display-outside>? && [ flow | flow-root ]? && list-item"
  },
  "display-outside": {
    "syntax": "block | inline | run-in"
  },
  "drop-shadow()": {
    "syntax": "drop-shadow( <length>{2,3} <color>? )"
  },
  "east-asian-variant-values": {
    "syntax": "[ jis78 | jis83 | jis90 | jis04 | simplified | traditional ]"
  },
  "east-asian-width-values": {
    "syntax": "[ full-width | proportional-width ]"
  },
  "element()": {
    "syntax": "element( <id-selector> )"
  },
  "ellipse()": {
    "syntax": "ellipse( [ <shape-radius>{2} ]? [ at <position> ]? )"
  },
  "ending-shape": {
    "syntax": "circle | ellipse"
  },
  "env()": {
    "syntax": "env( <custom-ident> , <declaration-value>? )"
  },
  "explicit-track-list": {
    "syntax": "[ <line-names>? <track-size> ]+ <line-names>?"
  },
  "family-name": {
    "syntax": "<string> | <custom-ident>+"
  },
  "feature-tag-value": {
    "syntax": "<string> [ <integer> | on | off ]?"
  },
  "feature-type": {
    "syntax": "@stylistic | @historical-forms | @styleset | @character-variant | @swash | @ornaments | @annotation"
  },
  "feature-value-block": {
    "syntax": "<feature-type> '{' <feature-value-declaration-list> '}'"
  },
  "feature-value-block-list": {
    "syntax": "<feature-value-block>+"
  },
  "feature-value-declaration": {
    "syntax": "<custom-ident>: <integer>+;"
  },
  "feature-value-declaration-list": {
    "syntax": "<feature-value-declaration>"
  },
  "feature-value-name": {
    "syntax": "<custom-ident>"
  },
  "fill-rule": {
    "syntax": "nonzero | evenodd"
  },
  "filter-function": {
    "syntax": "<blur()> | <brightness()> | <contrast()> | <drop-shadow()> | <grayscale()> | <hue-rotate()> | <invert()> | <opacity()> | <saturate()> | <sepia()>"
  },
  "filter-function-list": {
    "syntax": "[ <filter-function> | <url> ]+"
  },
  "final-bg-layer": {
    "syntax": "<'background-color'> || <bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box>"
  },
  "fit-content()": {
    "syntax": "fit-content( [ <length> | <percentage> ] )"
  },
  "fixed-breadth": {
    "syntax": "<length-percentage>"
  },
  "fixed-repeat": {
    "syntax": "repeat( [ <positive-integer> ] , [ <line-names>? <fixed-size> ]+ <line-names>? )"
  },
  "fixed-size": {
    "syntax": "<fixed-breadth> | minmax( <fixed-breadth> , <track-breadth> ) | minmax( <inflexible-breadth> , <fixed-breadth> )"
  },
  "font-stretch-absolute": {
    "syntax": "normal | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | <percentage>"
  },
  "font-variant-css21": {
    "syntax": "[ normal | small-caps ]"
  },
  "font-weight-absolute": {
    "syntax": "normal | bold | <number [1,1000]>"
  },
  "frequency-percentage": {
    "syntax": "<frequency> | <percentage>"
  },
  "general-enclosed": {
    "syntax": "[ <function-token> <any-value> ) ] | ( <ident> <any-value> )"
  },
  "generic-family": {
    "syntax": "serif | sans-serif | cursive | fantasy | monospace"
  },
  "generic-name": {
    "syntax": "serif | sans-serif | cursive | fantasy | monospace"
  },
  "geometry-box": {
    "syntax": "<shape-box> | fill-box | stroke-box | view-box"
  },
  "gradient": {
    "syntax": "<linear-gradient()> | <repeating-linear-gradient()> | <radial-gradient()> | <repeating-radial-gradient()> | <conic-gradient()>"
  },
  "grayscale()": {
    "syntax": "grayscale( <number-percentage> )"
  },
  "grid-line": {
    "syntax": "auto | <custom-ident> | [ <integer> && <custom-ident>? ] | [ span && [ <integer> || <custom-ident> ] ]"
  },
  "historical-lig-values": {
    "syntax": "[ historical-ligatures | no-historical-ligatures ]"
  },
  "hsl()": {
    "syntax": "hsl( <hue> <percentage> <percentage> [ / <alpha-value> ]? ) | hsl( <hue>, <percentage>, <percentage>, <alpha-value>? )"
  },
  "hsla()": {
    "syntax": "hsla( <hue> <percentage> <percentage> [ / <alpha-value> ]? ) | hsla( <hue>, <percentage>, <percentage>, <alpha-value>? )"
  },
  "hue": {
    "syntax": "<number> | <angle>"
  },
  "hue-rotate()": {
    "syntax": "hue-rotate( <angle> )"
  },
  "id-selector": {
    "syntax": "<hash-token>"
  },
  "image": {
    "syntax": "<url> | <image()> | <image-set()> | <element()> | <paint()> | <cross-fade()> | <gradient>"
  },
  "image()": {
    "syntax": "image( <image-tags>? [ <image-src>? , <color>? ]! )"
  },
  "image-set()": {
    "syntax": "image-set( <image-set-option># )"
  },
  "image-set-option": {
    "syntax": "[ <image> | <string> ] <resolution>"
  },
  "image-src": {
    "syntax": "<url> | <string>"
  },
  "image-tags": {
    "syntax": "ltr | rtl"
  },
  "inflexible-breadth": {
    "syntax": "<length> | <percentage> | min-content | max-content | auto"
  },
  "inset()": {
    "syntax": "inset( <length-percentage>{1,4} [ round <'border-radius'> ]? )"
  },
  "invert()": {
    "syntax": "invert( <number-percentage> )"
  },
  "keyframes-name": {
    "syntax": "<custom-ident> | <string>"
  },
  "keyframe-block": {
    "syntax": "<keyframe-selector># {\n  <declaration-list>\n}"
  },
  "keyframe-block-list": {
    "syntax": "<keyframe-block>+"
  },
  "keyframe-selector": {
    "syntax": "from | to | <percentage>"
  },
  "leader()": {
    "syntax": "leader( <leader-type> )"
  },
  "leader-type": {
    "syntax": "dotted | solid | space | <string>"
  },
  "length-percentage": {
    "syntax": "<length> | <percentage>"
  },
  "line-names": {
    "syntax": "'[' <custom-ident>* ']'"
  },
  "line-name-list": {
    "syntax": "[ <line-names> | <name-repeat> ]+"
  },
  "line-style": {
    "syntax": "none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset"
  },
  "line-width": {
    "syntax": "<length> | thin | medium | thick"
  },
  "linear-color-hint": {
    "syntax": "<length-percentage>"
  },
  "linear-color-stop": {
    "syntax": "<color> <color-stop-length>?"
  },
  "linear-gradient()": {
    "syntax": "linear-gradient( [ <angle> | to <side-or-corner> ]? , <color-stop-list> )"
  },
  "mask-layer": {
    "syntax": "<mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || <geometry-box> || [ <geometry-box> | no-clip ] || <compositing-operator> || <masking-mode>"
  },
  "mask-position": {
    "syntax": "[ <length-percentage> | left | center | right ] [ <length-percentage> | top | center | bottom ]?"
  },
  "mask-reference": {
    "syntax": "none | <image> | <mask-source>"
  },
  "mask-source": {
    "syntax": "<url>"
  },
  "masking-mode": {
    "syntax": "alpha | luminance | match-source"
  },
  "matrix()": {
    "syntax": "matrix( <number>#{6} )"
  },
  "matrix3d()": {
    "syntax": "matrix3d( <number>#{16} )"
  },
  "max()": {
    "syntax": "max( <calc-sum># )"
  },
  "media-and": {
    "syntax": "<media-in-parens> [ and <media-in-parens> ]+"
  },
  "media-condition": {
    "syntax": "<media-not> | <media-and> | <media-or> | <media-in-parens>"
  },
  "media-condition-without-or": {
    "syntax": "<media-not> | <media-and> | <media-in-parens>"
  },
  "media-feature": {
    "syntax": "( [ <mf-plain> | <mf-boolean> | <mf-range> ] )"
  },
  "media-in-parens": {
    "syntax": "( <media-condition> ) | <media-feature> | <general-enclosed>"
  },
  "media-not": {
    "syntax": "not <media-in-parens>"
  },
  "media-or": {
    "syntax": "<media-in-parens> [ or <media-in-parens> ]+"
  },
  "media-query": {
    "syntax": "<media-condition> | [ not | only ]? <media-type> [ and <media-condition-without-or> ]?"
  },
  "media-query-list": {
    "syntax": "<media-query>#"
  },
  "media-type": {
    "syntax": "<ident>"
  },
  "mf-boolean": {
    "syntax": "<mf-name>"
  },
  "mf-name": {
    "syntax": "<ident>"
  },
  "mf-plain": {
    "syntax": "<mf-name> : <mf-value>"
  },
  "mf-range": {
    "syntax": "<mf-name> [ '<' | '>' ]? '='? <mf-value>\n| <mf-value> [ '<' | '>' ]? '='? <mf-name>\n| <mf-value> '<' '='? <mf-name> '<' '='? <mf-value>\n| <mf-value> '>' '='? <mf-name> '>' '='? <mf-value>"
  },
  "mf-value": {
    "syntax": "<number> | <dimension> | <ident> | <ratio>"
  },
  "min()": {
    "syntax": "min( <calc-sum># )"
  },
  "minmax()": {
    "syntax": "minmax( [ <length> | <percentage> | min-content | max-content | auto ] , [ <length> | <percentage> | <flex> | min-content | max-content | auto ] )"
  },
  "named-color": {
    "syntax": "transparent | aliceblue | antiquewhite | aqua | aquamarine | azure | beige | bisque | black | blanchedalmond | blue | blueviolet | brown | burlywood | cadetblue | chartreuse | chocolate | coral | cornflowerblue | cornsilk | crimson | cyan | darkblue | darkcyan | darkgoldenrod | darkgray | darkgreen | darkgrey | darkkhaki | darkmagenta | darkolivegreen | darkorange | darkorchid | darkred | darksalmon | darkseagreen | darkslateblue | darkslategray | darkslategrey | darkturquoise | darkviolet | deeppink | deepskyblue | dimgray | dimgrey | dodgerblue | firebrick | floralwhite | forestgreen | fuchsia | gainsboro | ghostwhite | gold | goldenrod | gray | green | greenyellow | grey | honeydew | hotpink | indianred | indigo | ivory | khaki | lavender | lavenderblush | lawngreen | lemonchiffon | lightblue | lightcoral | lightcyan | lightgoldenrodyellow | lightgray | lightgreen | lightgrey | lightpink | lightsalmon | lightseagreen | lightskyblue | lightslategray | lightslategrey | lightsteelblue | lightyellow | lime | limegreen | linen | magenta | maroon | mediumaquamarine | mediumblue | mediumorchid | mediumpurple | mediumseagreen | mediumslateblue | mediumspringgreen | mediumturquoise | mediumvioletred | midnightblue | mintcream | mistyrose | moccasin | navajowhite | navy | oldlace | olive | olivedrab | orange | orangered | orchid | palegoldenrod | palegreen | paleturquoise | palevioletred | papayawhip | peachpuff | peru | pink | plum | powderblue | purple | rebeccapurple | red | rosybrown | royalblue | saddlebrown | salmon | sandybrown | seagreen | seashell | sienna | silver | skyblue | slateblue | slategray | slategrey | snow | springgreen | steelblue | tan | teal | thistle | tomato | turquoise | violet | wheat | white | whitesmoke | yellow | yellowgreen"
  },
  "namespace-prefix": {
    "syntax": "<ident>"
  },
  "ns-prefix": {
    "syntax": "[ <ident-token> | '*' ]? '|'"
  },
  "number-percentage": {
    "syntax": "<number> | <percentage>"
  },
  "numeric-figure-values": {
    "syntax": "[ lining-nums | oldstyle-nums ]"
  },
  "numeric-fraction-values": {
    "syntax": "[ diagonal-fractions | stacked-fractions ]"
  },
  "numeric-spacing-values": {
    "syntax": "[ proportional-nums | tabular-nums ]"
  },
  "nth": {
    "syntax": "<an-plus-b> | even | odd"
  },
  "opacity()": {
    "syntax": "opacity( [ <number-percentage> ] )"
  },
  "overflow-position": {
    "syntax": "unsafe | safe"
  },
  "outline-radius": {
    "syntax": "<length> | <percentage>"
  },
  "page-body": {
    "syntax": "<declaration>? [ ; <page-body> ]? | <page-margin-box> <page-body>"
  },
  "page-margin-box": {
    "syntax": "<page-margin-box-type> '{' <declaration-list> '}'"
  },
  "page-margin-box-type": {
    "syntax": "@top-left-corner | @top-left | @top-center | @top-right | @top-right-corner | @bottom-left-corner | @bottom-left | @bottom-center | @bottom-right | @bottom-right-corner | @left-top | @left-middle | @left-bottom | @right-top | @right-middle | @right-bottom"
  },
  "page-selector-list": {
    "syntax": "[ <page-selector># ]?"
  },
  "page-selector": {
    "syntax": "<pseudo-page>+ | <ident> <pseudo-page>*"
  },
  "path()": {
    "syntax": "path( [ <fill-rule>, ]? <string> )"
  },
  "paint()": {
    "syntax": "paint( <ident>, <declaration-value>? )"
  },
  "perspective()": {
    "syntax": "perspective( <length> )"
  },
  "polygon()": {
    "syntax": "polygon( <fill-rule>? , [ <length-percentage> <length-percentage> ]# )"
  },
  "position": {
    "syntax": "[ [ left | center | right ] || [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]? | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ] ]"
  },
  "pseudo-class-selector": {
    "syntax": "':' <ident-token> | ':' <function-token> <any-value> ')'"
  },
  "pseudo-element-selector": {
    "syntax": "':' <pseudo-class-selector>"
  },
  "pseudo-page": {
    "syntax": ": [ left | right | first | blank ]"
  },
  "quote": {
    "syntax": "open-quote | close-quote | no-open-quote | no-close-quote"
  },
  "radial-gradient()": {
    "syntax": "radial-gradient( [ <ending-shape> || <size> ]? [ at <position> ]? , <color-stop-list> )"
  },
  "relative-selector": {
    "syntax": "<combinator>? <complex-selector>"
  },
  "relative-selector-list": {
    "syntax": "<relative-selector>#"
  },
  "relative-size": {
    "syntax": "larger | smaller"
  },
  "repeat-style": {
    "syntax": "repeat-x | repeat-y | [ repeat | space | round | no-repeat ]{1,2}"
  },
  "repeating-linear-gradient()": {
    "syntax": "repeating-linear-gradient( [ <angle> | to <side-or-corner> ]? , <color-stop-list> )"
  },
  "repeating-radial-gradient()": {
    "syntax": "repeating-radial-gradient( [ <ending-shape> || <size> ]? [ at <position> ]? , <color-stop-list> )"
  },
  "rgb()": {
    "syntax": "rgb( <percentage>{3} [ / <alpha-value> ]? ) | rgb( <number>{3} [ / <alpha-value> ]? ) | rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? )"
  },
  "rgba()": {
    "syntax": "rgba( <percentage>{3} [ / <alpha-value> ]? ) | rgba( <number>{3} [ / <alpha-value> ]? ) | rgba( <percentage>#{3} , <alpha-value>? ) | rgba( <number>#{3} , <alpha-value>? )"
  },
  "rotate()": {
    "syntax": "rotate( [ <angle> | <zero> ] )"
  },
  "rotate3d()": {
    "syntax": "rotate3d( <number> , <number> , <number> , [ <angle> | <zero> ] )"
  },
  "rotateX()": {
    "syntax": "rotateX( [ <angle> | <zero> ] )"
  },
  "rotateY()": {
    "syntax": "rotateY( [ <angle> | <zero> ] )"
  },
  "rotateZ()": {
    "syntax": "rotateZ( [ <angle> | <zero> ] )"
  },
  "saturate()": {
    "syntax": "saturate( <number-percentage> )"
  },
  "scale()": {
    "syntax": "scale( <number> , <number>? )"
  },
  "scale3d()": {
    "syntax": "scale3d( <number> , <number> , <number> )"
  },
  "scaleX()": {
    "syntax": "scaleX( <number> )"
  },
  "scaleY()": {
    "syntax": "scaleY( <number> )"
  },
  "scaleZ()": {
    "syntax": "scaleZ( <number> )"
  },
  "self-position": {
    "syntax": "center | start | end | self-start | self-end | flex-start | flex-end"
  },
  "shape-radius": {
    "syntax": "<length-percentage> | closest-side | farthest-side"
  },
  "skew()": {
    "syntax": "skew( [ <angle> | <zero> ] , [ <angle> | <zero> ]? )"
  },
  "skewX()": {
    "syntax": "skewX( [ <angle> | <zero> ] )"
  },
  "skewY()": {
    "syntax": "skewY( [ <angle> | <zero> ] )"
  },
  "sepia()": {
    "syntax": "sepia( <number-percentage> )"
  },
  "shadow": {
    "syntax": "inset? && <length>{2,4} && <color>?"
  },
  "shadow-t": {
    "syntax": "[ <length>{2,3} && <color>? ]"
  },
  "shape": {
    "syntax": "rect(<top>, <right>, <bottom>, <left>)"
  },
  "shape-box": {
    "syntax": "<box> | margin-box"
  },
  "side-or-corner": {
    "syntax": "[ left | right ] || [ top | bottom ]"
  },
  "single-animation": {
    "syntax": "<time> || <timing-function> || <time> || <single-animation-iteration-count> || <single-animation-direction> || <single-animation-fill-mode> || <single-animation-play-state> || [ none | <keyframes-name> ]"
  },
  "single-animation-direction": {
    "syntax": "normal | reverse | alternate | alternate-reverse"
  },
  "single-animation-fill-mode": {
    "syntax": "none | forwards | backwards | both"
  },
  "single-animation-iteration-count": {
    "syntax": "infinite | <number>"
  },
  "single-animation-play-state": {
    "syntax": "running | paused"
  },
  "single-transition": {
    "syntax": "[ none | <single-transition-property> ] || <time> || <timing-function> || <time>"
  },
  "single-transition-property": {
    "syntax": "all | <custom-ident>"
  },
  "size": {
    "syntax": "closest-side | farthest-side | closest-corner | farthest-corner | <length> | <length-percentage>{2}"
  },
  "step-position": {
    "syntax": "jump-start | jump-end | jump-none | jump-both | start | end"
  },
  "step-timing-function": {
    "syntax": "step-start | step-end | steps(<integer>[, <step-position>]?)"
  },
  "subclass-selector": {
    "syntax": "<id-selector> | <class-selector> | <attribute-selector> | <pseudo-class-selector>"
  },
  "supports-condition": {
    "syntax": "not <supports-in-parens> | <supports-in-parens> [ and <supports-in-parens> ]* | <supports-in-parens> [ or <supports-in-parens> ]*"
  },
  "supports-in-parens": {
    "syntax": "( <supports-condition> ) | <supports-feature> | <general-enclosed>"
  },
  "supports-feature": {
    "syntax": "<supports-decl> | <supports-selector-fn>"
  },
  "supports-decl": {
    "syntax": "( <declaration> )"
  },
  "supports-selector-fn": {
    "syntax": "selector( <complex-selector> )"
  },
  "symbol": {
    "syntax": "<string> | <image> | <custom-ident>"
  },
  "target": {
    "syntax": "<target-counter()> | <target-counters()> | <target-text()>"
  },
  "target-counter()": {
    "syntax": "target-counter( [ <string> | <url> ] , <custom-ident> , <counter-style>? )"
  },
  "target-counters()": {
    "syntax": "target-counters( [ <string> | <url> ] , <custom-ident> , <string> , <counter-style>? )"
  },
  "target-text()": {
    "syntax": "target-text( [ <string> | <url> ] , [ content | before | after | first-letter ]? )"
  },
  "time-percentage": {
    "syntax": "<time> | <percentage>"
  },
  "timing-function": {
    "syntax": "linear | <cubic-bezier-timing-function> | <step-timing-function>"
  },
  "track-breadth": {
    "syntax": "<length-percentage> | <flex> | min-content | max-content | auto"
  },
  "track-list": {
    "syntax": "[ <line-names>? [ <track-size> | <track-repeat> ] ]+ <line-names>?"
  },
  "track-repeat": {
    "syntax": "repeat( [ <positive-integer> ] , [ <line-names>? <track-size> ]+ <line-names>? )"
  },
  "track-size": {
    "syntax": "<track-breadth> | minmax( <inflexible-breadth> , <track-breadth> ) | fit-content( [ <length> | <percentage> ] )"
  },
  "transform-function": {
    "syntax": "<matrix()> | <translate()> | <translateX()> | <translateY()> | <scale()> | <scaleX()> | <scaleY()> | <rotate()> | <skew()> | <skewX()> | <skewY()> | <matrix3d()> | <translate3d()> | <translateZ()> | <scale3d()> | <scaleZ()> | <rotate3d()> | <rotateX()> | <rotateY()> | <rotateZ()> | <perspective()>"
  },
  "transform-list": {
    "syntax": "<transform-function>+"
  },
  "translate()": {
    "syntax": "translate( <length-percentage> , <length-percentage>? )"
  },
  "translate3d()": {
    "syntax": "translate3d( <length-percentage> , <length-percentage> , <length> )"
  },
  "translateX()": {
    "syntax": "translateX( <length-percentage> )"
  },
  "translateY()": {
    "syntax": "translateY( <length-percentage> )"
  },
  "translateZ()": {
    "syntax": "translateZ( <length> )"
  },
  "type-or-unit": {
    "syntax": "string | color | url | integer | number | length | angle | time | frequency | cap | ch | em | ex | ic | lh | rlh | rem | vb | vi | vw | vh | vmin | vmax | mm | Q | cm | in | pt | pc | px | deg | grad | rad | turn | ms | s | Hz | kHz | %"
  },
  "type-selector": {
    "syntax": "<wq-name> | <ns-prefix>? '*'"
  },
  "var()": {
    "syntax": "var( <custom-property-name> , <declaration-value>? )"
  },
  "viewport-length": {
    "syntax": "auto | <length-percentage>"
  },
  "wq-name": {
    "syntax": "<ns-prefix>? <ident-token>"
  }
}
;
},871,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
    "atrules": {
        "charset": {
            "prelude": "<string>"
        },
        "font-face": {
            "descriptors": {
                "unicode-range": {
                    "comment": "replaces <unicode-range>, an old production name",
                    "syntax": "<urange>#"
                }
            }
        }
    },
    "properties": {
        "-moz-background-clip": {
            "comment": "deprecated syntax in old Firefox, https://developer.mozilla.org/en/docs/Web/CSS/background-clip",
            "syntax": "padding | border"
        },
        "-moz-border-radius-bottomleft": {
            "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-left-radius",
            "syntax": "<'border-bottom-left-radius'>"
        },
        "-moz-border-radius-bottomright": {
            "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius",
            "syntax": "<'border-bottom-right-radius'>"
        },
        "-moz-border-radius-topleft": {
            "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-left-radius",
            "syntax": "<'border-top-left-radius'>"
        },
        "-moz-border-radius-topright": {
            "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius",
            "syntax": "<'border-bottom-right-radius'>"
        },
        "-moz-control-character-visibility": {
            "comment": "firefox specific keywords, https://bugzilla.mozilla.org/show_bug.cgi?id=947588",
            "syntax": "visible | hidden"
        },
        "-moz-osx-font-smoothing": {
            "comment": "misssed old syntax https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth",
            "syntax": "auto | grayscale"
        },
        "-moz-user-select": {
            "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/user-select",
            "syntax": "none | text | all | -moz-none"
        },
        "-ms-flex-align": {
            "comment": "misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-align",
            "syntax": "start | end | center | baseline | stretch"
        },
        "-ms-flex-item-align": {
            "comment": "misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-align",
            "syntax": "auto | start | end | center | baseline | stretch"
        },
        "-ms-flex-line-pack": {
            "comment": "misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-line-pack",
            "syntax": "start | end | center | justify | distribute | stretch"
        },
        "-ms-flex-negative": {
            "comment": "misssed old syntax implemented in IE; TODO: find references for comfirmation",
            "syntax": "<'flex-shrink'>"
        },
        "-ms-flex-pack": {
            "comment": "misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-pack",
            "syntax": "start | end | center | justify | distribute"
        },
        "-ms-flex-order": {
            "comment": "misssed old syntax implemented in IE; https://msdn.microsoft.com/en-us/library/jj127303(v=vs.85).aspx",
            "syntax": "<integer>"
        },
        "-ms-flex-positive": {
            "comment": "misssed old syntax implemented in IE; TODO: find references for comfirmation",
            "syntax": "<'flex-grow'>"
        },
        "-ms-flex-preferred-size": {
            "comment": "misssed old syntax implemented in IE; TODO: find references for comfirmation",
            "syntax": "<'flex-basis'>"
        },
        "-ms-interpolation-mode": {
            "comment": "https://msdn.microsoft.com/en-us/library/ff521095(v=vs.85).aspx",
            "syntax": "nearest-neighbor | bicubic"
        },
        "-ms-grid-column-align": {
            "comment": "add this property first since it uses as fallback for flexbox, https://msdn.microsoft.com/en-us/library/windows/apps/hh466338.aspx",
            "syntax": "start | end | center | stretch"
        },
        "-ms-grid-row-align": {
            "comment": "add this property first since it uses as fallback for flexbox, https://msdn.microsoft.com/en-us/library/windows/apps/hh466348.aspx",
            "syntax": "start | end | center | stretch"
        },
        "-ms-hyphenate-limit-last": {
            "comment": "misssed old syntax implemented in IE; https://www.w3.org/TR/css-text-4/#hyphenate-line-limits",
            "syntax": "none | always | column | page | spread"
        },
        "-webkit-appearance": {
            "comment": "webkit specific keywords",
            "references": [
                "http://css-infos.net/property/-webkit-appearance"
            ],
            "syntax": "none | button | button-bevel | caps-lock-indicator | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbargripper-horizontal | scrollbargripper-vertical | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | -apple-pay-button"
        },
        "-webkit-background-clip": {
            "comment": "https://developer.mozilla.org/en/docs/Web/CSS/background-clip",
            "syntax": "[ <box> | border | padding | content | text ]#"
        },
        "-webkit-column-break-after": {
            "comment": "added, http://help.dottoro.com/lcrthhhv.php",
            "syntax": "always | auto | avoid"
        },
        "-webkit-column-break-before": {
            "comment": "added, http://help.dottoro.com/lcxquvkf.php",
            "syntax": "always | auto | avoid"
        },
        "-webkit-column-break-inside": {
            "comment": "added, http://help.dottoro.com/lclhnthl.php",
            "syntax": "always | auto | avoid"
        },
        "-webkit-font-smoothing": {
            "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth",
            "syntax": "auto | none | antialiased | subpixel-antialiased"
        },
        "-webkit-mask-box-image": {
            "comment": "missed; https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-mask-box-image",
            "syntax": "[ <url> | <gradient> | none ] [ <length-percentage>{4} <-webkit-mask-box-repeat>{2} ]?"
        },
        "-webkit-print-color-adjust": {
            "comment": "missed",
            "references": [
                "https://developer.mozilla.org/en/docs/Web/CSS/-webkit-print-color-adjust"
            ],
            "syntax": "economy | exact"
        },
        "-webkit-text-security": {
            "comment": "missed; http://help.dottoro.com/lcbkewgt.php",
            "syntax": "none | circle | disc | square"
        },
        "-webkit-user-drag": {
            "comment": "missed; http://help.dottoro.com/lcbixvwm.php",
            "syntax": "none | element | auto"
        },
        "-webkit-user-select": {
            "comment": "auto is supported by old webkit, https://developer.mozilla.org/en-US/docs/Web/CSS/user-select",
            "syntax": "auto | none | text | all"
        },
        "alignment-baseline": {
            "comment": "added SVG property",
            "references": [
                "https://www.w3.org/TR/SVG/text.html#AlignmentBaselineProperty"
            ],
            "syntax": "auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical"
        },
        "baseline-shift": {
            "comment": "added SVG property",
            "references": [
                "https://www.w3.org/TR/SVG/text.html#BaselineShiftProperty"
            ],
            "syntax": "baseline | sub | super | <svg-length>"
        },
        "behavior": {
            "comment": "added old IE property https://msdn.microsoft.com/en-us/library/ms530723(v=vs.85).aspx",
            "syntax": "<url>+"
        },
        "clip-rule": {
            "comment": "added SVG property",
            "references": [
                "https://www.w3.org/TR/SVG/masking.html#ClipRuleProperty"
            ],
            "syntax": "nonzero | evenodd"
        },
        "cue": {
            "comment": "https://www.w3.org/TR/css3-speech/#property-index",
            "syntax": "<'cue-before'> <'cue-after'>?"
        },
        "cue-after": {
            "comment": "https://www.w3.org/TR/css3-speech/#property-index",
            "syntax": "<url> <decibel>? | none"
        },
        "cue-before": {
            "comment": "https://www.w3.org/TR/css3-speech/#property-index",
            "syntax": "<url> <decibel>? | none"
        },
        "cursor": {
            "comment": "added legacy keywords: hand, -webkit-grab. -webkit-grabbing, -webkit-zoom-in, -webkit-zoom-out, -moz-grab, -moz-grabbing, -moz-zoom-in, -moz-zoom-out",
            "references": [
                "https://www.sitepoint.com/css3-cursor-styles/"
            ],
            "syntax": "[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing | hand | -webkit-grab | -webkit-grabbing | -webkit-zoom-in | -webkit-zoom-out | -moz-grab | -moz-grabbing | -moz-zoom-in | -moz-zoom-out ] ]"
        },
        "display": {
            "comment": "extended with -ms-flexbox",
            "syntax": "| <-non-standard-display>"
        },
        "position": {
            "comment": "extended with -webkit-sticky",
            "syntax": "| -webkit-sticky"
        },
        "dominant-baseline": {
            "comment": "added SVG property",
            "references": [
                "https://www.w3.org/TR/SVG/text.html#DominantBaselineProperty"
            ],
            "syntax": "auto | use-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical | central | middle | text-after-edge | text-before-edge"
        },
        "image-rendering": {
            "comment": "extended with <-non-standard-image-rendering>, added SVG keywords optimizeSpeed and optimizeQuality",
            "references": [
                "https://developer.mozilla.org/en/docs/Web/CSS/image-rendering",
                "https://www.w3.org/TR/SVG/painting.html#ImageRenderingProperty"
            ],
            "syntax": "| optimizeSpeed | optimizeQuality | <-non-standard-image-rendering>"
        },
        "fill": {
            "comment": "added SVG property",
            "references": [
                "https://www.w3.org/TR/SVG/painting.html#FillProperty"
            ],
            "syntax": "<paint>"
        },
        "fill-opacity": {
            "comment": "added SVG property",
            "references": [
                "https://www.w3.org/TR/SVG/painting.html#FillProperty"
            ],
            "syntax": "<number-zero-one>"
        },
        "fill-rule": {
            "comment": "added SVG property",
            "references": [
                "https://www.w3.org/TR/SVG/painting.html#FillProperty"
            ],
            "syntax": "nonzero | evenodd"
        },
        "filter": {
            "comment": "extend with IE legacy syntaxes",
            "syntax": "| <-ms-filter-function-list>"
        },
        "glyph-orientation-horizontal": {
            "comment": "added SVG property",
            "references": [
                "https://www.w3.org/TR/SVG/text.html#GlyphOrientationHorizontalProperty"
            ],
            "syntax": "<angle>"
        },
        "glyph-orientation-vertical": {
            "comment": "added SVG property",
            "references": [
                "https://www.w3.org/TR/SVG/text.html#GlyphOrientationVerticalProperty"
            ],
            "syntax": "<angle>"
        },
        "kerning": {
            "comment": "added SVG property",
            "references": [
                "https://www.w3.org/TR/SVG/text.html#KerningProperty"
            ],
            "syntax": "auto | <svg-length>"
        },
        "letter-spacing": {
            "comment": "fix syntax <length> -> <length-percentage>",
            "references": [
                "https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/letter-spacing"
            ],
            "syntax": "normal | <length-percentage>"
        },
        "marker": {
            "comment": "added SVG property",
            "references": [
                "https://www.w3.org/TR/SVG/painting.html#MarkerProperties"
            ],
            "syntax": "none | <url>"
        },
        "marker-end": {
            "comment": "added SVG property",
            "references": [
                "https://www.w3.org/TR/SVG/painting.html#MarkerProperties"
            ],
            "syntax": "none | <url>"
        },
        "marker-mid": {
            "comment": "added SVG property",
            "references": [
                "https://www.w3.org/TR/SVG/painting.html#MarkerProperties"
            ],
            "syntax": "none | <url>"
        },
        "marker-start": {
            "comment": "added SVG property",
            "references": [
                "https://www.w3.org/TR/SVG/painting.html#MarkerProperties"
            ],
            "syntax": "none | <url>"
        },
        "max-width": {
            "comment": "fix auto -> none (https://github.com/mdn/data/pull/431); extend by non-standard width keywords https://developer.mozilla.org/en-US/docs/Web/CSS/max-width",
            "syntax": "none | <length-percentage> | min-content | max-content | fit-content(<length-percentage>) | <-non-standard-width>"
        },
        "min-width": {
            "comment": "extend by non-standard width keywords https://developer.mozilla.org/en-US/docs/Web/CSS/width",
            "syntax": "auto | <length-percentage> | min-content | max-content | fit-content(<length-percentage>) | <-non-standard-width>"
        },
        "overflow": {
            "comment": "extend by vendor keywords https://developer.mozilla.org/en-US/docs/Web/CSS/overflow",
            "syntax": "| <-non-standard-overflow>"
        },
        "pause": {
            "comment": "https://www.w3.org/TR/css3-speech/#property-index",
            "syntax": "<'pause-before'> <'pause-after'>?"
        },
        "pause-after": {
            "comment": "https://www.w3.org/TR/css3-speech/#property-index",
            "syntax": "<time> | none | x-weak | weak | medium | strong | x-strong"
        },
        "pause-before": {
            "comment": "https://www.w3.org/TR/css3-speech/#property-index",
            "syntax": "<time> | none | x-weak | weak | medium | strong | x-strong"
        },
        "rest": {
            "comment": "https://www.w3.org/TR/css3-speech/#property-index",
            "syntax": "<'rest-before'> <'rest-after'>?"
        },
        "rest-after": {
            "comment": "https://www.w3.org/TR/css3-speech/#property-index",
            "syntax": "<time> | none | x-weak | weak | medium | strong | x-strong"
        },
        "rest-before": {
            "comment": "https://www.w3.org/TR/css3-speech/#property-index",
            "syntax": "<time> | none | x-weak | weak | medium | strong | x-strong"
        },
        "shape-rendering": {
            "comment": "added SVG property",
            "references": [
                "https://www.w3.org/TR/SVG/painting.html#ShapeRenderingPropert"
            ],
            "syntax": "auto | optimizeSpeed | crispEdges | geometricPrecision"
        },
        "src": {
            "comment": "added @font-face's src property https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/src",
            "syntax": "[ <url> [ format( <string># ) ]? | local( <family-name> ) ]#"
        },
        "speak": {
            "comment": "https://www.w3.org/TR/css3-speech/#property-index",
            "syntax": "auto | none | normal"
        },
        "speak-as": {
            "comment": "https://www.w3.org/TR/css3-speech/#property-index",
            "syntax": "normal | spell-out || digits || [ literal-punctuation | no-punctuation ]"
        },
        "stroke": {
            "comment": "added SVG property",
            "references": [
                "https://www.w3.org/TR/SVG/painting.html#StrokeProperties"
            ],
            "syntax": "<paint>"
        },
        "stroke-dasharray": {
            "comment": "added SVG property; a list of comma and/or white space separated <length>s and <percentage>s",
            "references": [
                "https://www.w3.org/TR/SVG/painting.html#StrokeProperties"
            ],
            "syntax": "none | [ <svg-length>+ ]#"
        },
        "stroke-dashoffset": {
            "comment": "added SVG property",
            "references": [
                "https://www.w3.org/TR/SVG/painting.html#StrokeProperties"
            ],
            "syntax": "<svg-length>"
        },
        "stroke-linecap": {
            "comment": "added SVG property",
            "references": [
                "https://www.w3.org/TR/SVG/painting.html#StrokeProperties"
            ],
            "syntax": "butt | round | square"
        },
        "stroke-linejoin": {
            "comment": "added SVG property",
            "references": [
                "https://www.w3.org/TR/SVG/painting.html#StrokeProperties"
            ],
            "syntax": "miter | round | bevel"
        },
        "stroke-miterlimit": {
            "comment": "added SVG property (<miterlimit> = <number-one-or-greater>) ",
            "references": [
                "https://www.w3.org/TR/SVG/painting.html#StrokeProperties"
            ],
            "syntax": "<number-one-or-greater>"
        },
        "stroke-opacity": {
            "comment": "added SVG property",
            "references": [
                "https://www.w3.org/TR/SVG/painting.html#StrokeProperties"
            ],
            "syntax": "<number-zero-one>"
        },
        "stroke-width": {
            "comment": "added SVG property",
            "references": [
                "https://www.w3.org/TR/SVG/painting.html#StrokeProperties"
            ],
            "syntax": "<svg-length>"
        },
        "text-anchor": {
            "comment": "added SVG property",
            "references": [
                "https://www.w3.org/TR/SVG/text.html#TextAlignmentProperties"
            ],
            "syntax": "start | middle | end"
        },
        "unicode-bidi": {
            "comment": "added prefixed keywords https://developer.mozilla.org/en-US/docs/Web/CSS/unicode-bidi",
            "syntax": "| -moz-isolate | -moz-isolate-override | -moz-plaintext | -webkit-isolate | -webkit-isolate-override | -webkit-plaintext"
        },
        "unicode-range": {
            "comment": "added missed property https://developer.mozilla.org/en-US/docs/Web/CSS/%40font-face/unicode-range",
            "syntax": "<urange>#"
        },
        "voice-balance": {
            "comment": "https://www.w3.org/TR/css3-speech/#property-index",
            "syntax": "<number> | left | center | right | leftwards | rightwards"
        },
        "voice-duration": {
            "comment": "https://www.w3.org/TR/css3-speech/#property-index",
            "syntax": "auto | <time>"
        },
        "voice-family": {
            "comment": "<name> -> <family-name>, https://www.w3.org/TR/css3-speech/#property-index",
            "syntax": "[ [ <family-name> | <generic-voice> ] , ]* [ <family-name> | <generic-voice> ] | preserve"
        },
        "voice-pitch": {
            "comment": "https://www.w3.org/TR/css3-speech/#property-index",
            "syntax": "<frequency> && absolute | [ [ x-low | low | medium | high | x-high ] || [ <frequency> | <semitones> | <percentage> ] ]"
        },
        "voice-range": {
            "comment": "https://www.w3.org/TR/css3-speech/#property-index",
            "syntax": "<frequency> && absolute | [ [ x-low | low | medium | high | x-high ] || [ <frequency> | <semitones> | <percentage> ] ]"
        },
        "voice-rate": {
            "comment": "https://www.w3.org/TR/css3-speech/#property-index",
            "syntax": "[ normal | x-slow | slow | medium | fast | x-fast ] || <percentage>"
        },
        "voice-stress": {
            "comment": "https://www.w3.org/TR/css3-speech/#property-index",
            "syntax": "normal | strong | moderate | none | reduced"
        },
        "voice-volume": {
            "comment": "https://www.w3.org/TR/css3-speech/#property-index",
            "syntax": "silent | [ [ x-soft | soft | medium | loud | x-loud ] || <decibel> ]"
        },
        "writing-mode": {
            "comment": "extend with SVG keywords",
            "syntax": "| <svg-writing-mode>"
        }
    },
    "syntaxes": {
        "-legacy-gradient": {
            "comment": "added collection of legacy gradient syntaxes",
            "syntax": "<-webkit-gradient()> | <-legacy-linear-gradient> | <-legacy-repeating-linear-gradient> | <-legacy-radial-gradient> | <-legacy-repeating-radial-gradient>"
        },
        "-legacy-linear-gradient": {
            "comment": "like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient",
            "syntax": "-moz-linear-gradient( <-legacy-linear-gradient-arguments> ) | -webkit-linear-gradient( <-legacy-linear-gradient-arguments> ) | -o-linear-gradient( <-legacy-linear-gradient-arguments> )"
        },
        "-legacy-repeating-linear-gradient": {
            "comment": "like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient",
            "syntax": "-moz-repeating-linear-gradient( <-legacy-linear-gradient-arguments> ) | -webkit-repeating-linear-gradient( <-legacy-linear-gradient-arguments> ) | -o-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )"
        },
        "-legacy-linear-gradient-arguments": {
            "comment": "like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient",
            "syntax": "[ <angle> | <side-or-corner> ]? , <color-stop-list>"
        },
        "-legacy-radial-gradient": {
            "comment": "deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients",
            "syntax": "-moz-radial-gradient( <-legacy-radial-gradient-arguments> ) | -webkit-radial-gradient( <-legacy-radial-gradient-arguments> ) | -o-radial-gradient( <-legacy-radial-gradient-arguments> )"
        },
        "-legacy-repeating-radial-gradient": {
            "comment": "deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients",
            "syntax": "-moz-repeating-radial-gradient( <-legacy-radial-gradient-arguments> ) | -webkit-repeating-radial-gradient( <-legacy-radial-gradient-arguments> ) | -o-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )"
        },
        "-legacy-radial-gradient-arguments": {
            "comment": "deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients",
            "syntax": "[ <position> , ]? [ [ [ <-legacy-radial-gradient-shape> || <-legacy-radial-gradient-size> ] | [ <length> | <percentage> ]{2} ] , ]? <color-stop-list>"
        },
        "-legacy-radial-gradient-size": {
            "comment": "before a standard it contains 2 extra keywords (`contain` and `cover`) https://www.w3.org/TR/2011/WD-css3-images-20110908/#ltsize",
            "syntax": "closest-side | closest-corner | farthest-side | farthest-corner | contain | cover"
        },
        "-legacy-radial-gradient-shape": {
            "comment": "define to double sure it doesn't extends in future https://www.w3.org/TR/2011/WD-css3-images-20110908/#ltshape",
            "syntax": "circle | ellipse"
        },
        "-non-standard-font": {
            "comment": "non standard fonts",
            "references": [
                "https://webkit.org/blog/3709/using-the-system-font-in-web-content/"
            ],
            "syntax": "-apple-system-body | -apple-system-headline | -apple-system-subheadline | -apple-system-caption1 | -apple-system-caption2 | -apple-system-footnote | -apple-system-short-body | -apple-system-short-headline | -apple-system-short-subheadline | -apple-system-short-caption1 | -apple-system-short-footnote | -apple-system-tall-body"
        },
        "-non-standard-color": {
            "comment": "non standard colors",
            "references": [
                "http://cssdot.ru/%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA_CSS/color-i305.html",
                "https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Mozilla_Color_Preference_Extensions"
            ],
            "syntax": "-moz-ButtonDefault | -moz-ButtonHoverFace | -moz-ButtonHoverText | -moz-CellHighlight | -moz-CellHighlightText | -moz-Combobox | -moz-ComboboxText | -moz-Dialog | -moz-DialogText | -moz-dragtargetzone | -moz-EvenTreeRow | -moz-Field | -moz-FieldText | -moz-html-CellHighlight | -moz-html-CellHighlightText | -moz-mac-accentdarkestshadow | -moz-mac-accentdarkshadow | -moz-mac-accentface | -moz-mac-accentlightesthighlight | -moz-mac-accentlightshadow | -moz-mac-accentregularhighlight | -moz-mac-accentregularshadow | -moz-mac-chrome-active | -moz-mac-chrome-inactive | -moz-mac-focusring | -moz-mac-menuselect | -moz-mac-menushadow | -moz-mac-menutextselect | -moz-MenuHover | -moz-MenuHoverText | -moz-MenuBarText | -moz-MenuBarHoverText | -moz-nativehyperlinktext | -moz-OddTreeRow | -moz-win-communicationstext | -moz-win-mediatext | -moz-activehyperlinktext | -moz-default-background-color | -moz-default-color | -moz-hyperlinktext | -moz-visitedhyperlinktext | -webkit-activelink | -webkit-focus-ring-color | -webkit-link | -webkit-text"
        },
        "-non-standard-image-rendering": {
            "comment": "non-standard keywords http://phrogz.net/tmp/canvas_image_zoom.html",
            "syntax": "optimize-contrast | -moz-crisp-edges | -o-crisp-edges | -webkit-optimize-contrast"
        },
        "-non-standard-overflow": {
            "comment": "non-standard keywords https://developer.mozilla.org/en-US/docs/Web/CSS/overflow",
            "syntax": "-moz-scrollbars-none | -moz-scrollbars-horizontal | -moz-scrollbars-vertical | -moz-hidden-unscrollable"
        },
        "-non-standard-width": {
            "comment": "non-standard keywords https://developer.mozilla.org/en-US/docs/Web/CSS/width",
            "syntax": "fill-available | min-intrinsic | intrinsic | -moz-available | -moz-fit-content | -moz-min-content | -moz-max-content | -webkit-min-content | -webkit-max-content"
        },
        "-webkit-gradient()": {
            "comment": "first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/ - TODO: simplify when after match algorithm improvement ( [, point, radius | , point] -> [, radius]? , point )",
            "syntax": "-webkit-gradient( <-webkit-gradient-type>, <-webkit-gradient-point> [, <-webkit-gradient-point> | , <-webkit-gradient-radius>, <-webkit-gradient-point> ] [, <-webkit-gradient-radius>]? [, <-webkit-gradient-color-stop>]* )"
        },
        "-webkit-gradient-color-stop": {
            "comment": "first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/",
            "syntax": "from( <color> ) | color-stop( [ <number-zero-one> | <percentage> ] , <color> ) | to( <color> )"
        },
        "-webkit-gradient-point": {
            "comment": "first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/",
            "syntax": "[ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]"
        },
        "-webkit-gradient-radius": {
            "comment": "first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/",
            "syntax": "<length> | <percentage>"
        },
        "-webkit-gradient-type": {
            "comment": "first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/",
            "syntax": "linear | radial"
        },
        "-webkit-mask-box-repeat": {
            "comment": "missed; https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-mask-box-image",
            "syntax": "repeat | stretch | round"
        },
        "-webkit-mask-clip-style": {
            "comment": "missed; there is no enough information about `-webkit-mask-clip` property, but looks like all those keywords are working",
            "syntax": "border | border-box | padding | padding-box | content | content-box | text"
        },
        "-ms-filter-function-list": {
            "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter",
            "syntax": "<-ms-filter-function>+"
        },
        "-ms-filter-function": {
            "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter",
            "syntax": "<-ms-filter-function-progid> | <-ms-filter-function-legacy>"
        },
        "-ms-filter-function-progid": {
            "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter",
            "syntax": "'progid:' [ <ident-token> '.' ]* [ <ident-token> | <function-token> <any-value>? ) ]"
        },
        "-ms-filter-function-legacy": {
            "comment": "https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter",
            "syntax": "<ident-token> | <function-token> <any-value>? )"
        },
        "-ms-filter": {
            "syntax": "<string>"
        },
        "age": {
            "comment": "https://www.w3.org/TR/css3-speech/#voice-family",
            "syntax": "child | young | old"
        },
        "attr-name": {
            "syntax": "<wq-name>"
        },
        "attr-fallback": {
            "syntax": "<any-value>"
        },
        "border-radius": {
            "comment": "missed, https://drafts.csswg.org/css-backgrounds-3/#the-border-radius",
            "syntax": "<length-percentage>{1,2}"
        },
        "bottom": {
            "comment": "missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect",
            "syntax": "<length> | auto"
        },
        "content-list": {
            "comment": "missed -> https://drafts.csswg.org/css-content/#typedef-content-list (document-url, <target> and leader() is omitted util stabilization)",
            "syntax": "[ <string> | contents | <image> | <quote> | <target> | <leader()> | <attr()> | counter( <ident>, <'list-style-type'>? ) ]+"
        },
        "element()": {
            "comment": "https://drafts.csswg.org/css-gcpm/#element-syntax & https://drafts.csswg.org/css-images-4/#element-notation",
            "syntax": "element( <custom-ident> , [ first | start | last | first-except ]? ) | element( <id-selector> )"
        },
        "generic-voice": {
            "comment": "https://www.w3.org/TR/css3-speech/#voice-family",
            "syntax": "[ <age>? <gender> <integer>? ]"
        },
        "gender": {
            "comment": "https://www.w3.org/TR/css3-speech/#voice-family",
            "syntax": "male | female | neutral"
        },
        "generic-family": {
            "comment": "added -apple-system",
            "references": [
                "https://webkit.org/blog/3709/using-the-system-font-in-web-content/"
            ],
            "syntax": "| -apple-system"
        },
        "gradient": {
            "comment": "added legacy syntaxes support",
            "syntax": "| <-legacy-gradient>"
        },
        "left": {
            "comment": "missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect",
            "syntax": "<length> | auto"
        },
        "mask-image": {
            "comment": "missed; https://drafts.fxtf.org/css-masking-1/#the-mask-image",
            "syntax": "<mask-reference>#"
        },
        "name-repeat": {
            "comment": "missed, and looks like obsolete, keep it as is since other property syntaxes should be changed too; https://www.w3.org/TR/2015/WD-css-grid-1-20150917/#typedef-name-repeat",
            "syntax": "repeat( [ <positive-integer> | auto-fill ], <line-names>+)"
        },
        "named-color": {
            "comment": "added non standard color names",
            "syntax": "| <-non-standard-color>"
        },
        "paint": {
            "comment": "used by SVG https://www.w3.org/TR/SVG/painting.html#SpecifyingPaint",
            "syntax": "none | <color> | <url> [ none | <color> ]? | context-fill | context-stroke"
        },
        "page-size": {
            "comment": "https://www.w3.org/TR/css-page-3/#typedef-page-size-page-size",
            "syntax": "A5 | A4 | A3 | B5 | B4 | JIS-B5 | JIS-B4 | letter | legal | ledger"
        },
        "ratio": {
            "comment": "missed, https://drafts.csswg.org/mediaqueries-4/#typedef-ratio",
            "syntax": "<integer> / <integer>"
        },
        "right": {
            "comment": "missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect",
            "syntax": "<length> | auto"
        },
        "shape": {
            "comment": "missed spaces in function body and add backwards compatible syntax",
            "syntax": "rect( <top>, <right>, <bottom>, <left> ) | rect( <top> <right> <bottom> <left> )"
        },
        "svg-length": {
            "comment": "All coordinates and lengths in SVG can be specified with or without a unit identifier",
            "references": [
                "https://www.w3.org/TR/SVG11/coords.html#Units"
            ],
            "syntax": "<percentage> | <length> | <number>"
        },
        "svg-writing-mode": {
            "comment": "SVG specific keywords (deprecated for CSS)",
            "references": [
                "https://developer.mozilla.org/en/docs/Web/CSS/writing-mode",
                "https://www.w3.org/TR/SVG/text.html#WritingModeProperty"
            ],
            "syntax": "lr-tb | rl-tb | tb-rl | lr | rl | tb"
        },
        "top": {
            "comment": "missed; not sure we should add it, but no others except `shape` is using it so it's ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect",
            "syntax": "<length> | auto"
        },
        "track-group": {
            "comment": "used by old grid-columns and grid-rows syntax v0",
            "syntax": "'(' [ <string>* <track-minmax> <string>* ]+ ')' [ '[' <positive-integer> ']' ]? | <track-minmax>"
        },
        "track-list-v0": {
            "comment": "used by old grid-columns and grid-rows syntax v0",
            "syntax": "[ <string>* <track-group> <string>* ]+ | none"
        },
        "track-minmax": {
            "comment": "used by old grid-columns and grid-rows syntax v0",
            "syntax": "minmax( <track-breadth> , <track-breadth> ) | auto | <track-breadth> | fit-content"
        },
        "x": {
            "comment": "missed; not sure we should add it, but no others except `cursor` is using it so it's ok for now; https://drafts.csswg.org/css-ui-3/#cursor",
            "syntax": "<number>"
        },
        "y": {
            "comment": "missed; not sure we should add it, but no others except `cursor` is using so it's ok for now; https://drafts.csswg.org/css-ui-3/#cursor",
            "syntax": "<number>"
        },
        "declaration": {
            "comment": "missed, restored by https://drafts.csswg.org/css-syntax",
            "syntax": "<ident-token> : <declaration-value>? [ '!' important ]?"
        },
        "declaration-list": {
            "comment": "missed, restored by https://drafts.csswg.org/css-syntax",
            "syntax": "[ <declaration>? ';' ]* <declaration>?"
        },
        "url": {
            "comment": "https://drafts.csswg.org/css-values-4/#urls",
            "syntax": "url( <string> <url-modifier>* ) | <url-token>"
        },
        "url-modifier": {
            "comment": "https://drafts.csswg.org/css-values-4/#typedef-url-modifier",
            "syntax": "<ident> | <function-token> <any-value> )"
        },
        "number-zero-one": {
            "syntax": "<number [0,1]>"
        },
        "number-one-or-greater": {
            "syntax": "<number [1,∞]>"
        },
        "positive-integer": {
            "syntax": "<integer [0,∞]>"
        },
        "-non-standard-display": {
            "syntax": "-ms-inline-flexbox | -ms-grid | -ms-inline-grid | -webkit-flex | -webkit-inline-flex | -webkit-box | -webkit-inline-box | -moz-inline-stack | -moz-box | -moz-inline-box"
        }
    }
}
;
},872,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "@charset": {
    "syntax": "@charset \"<charset>\";",
    "groups": [
      "CSS Charsets"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@charset"
  },
  "@counter-style": {
    "syntax": "@counter-style <counter-style-name> {\n  [ system: <counter-system>; ] ||\n  [ symbols: <counter-symbols>; ] ||\n  [ additive-symbols: <additive-symbols>; ] ||\n  [ negative: <negative-symbol>; ] ||\n  [ prefix: <prefix>; ] ||\n  [ suffix: <suffix>; ] ||\n  [ range: <range>; ] ||\n  [ pad: <padding>; ] ||\n  [ speak-as: <speak-as>; ] ||\n  [ fallback: <counter-style-name>; ]\n}",
    "interfaces": [
      "CSSCounterStyleRule"
    ],
    "groups": [
      "CSS Counter Styles"
    ],
    "descriptors": {
      "additive-symbols": {
        "syntax": "[ <integer> && <symbol> ]#",
        "media": "all",
        "initial": "n/a (required)",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "orderOfAppearance",
        "status": "standard"
      },
      "fallback": {
        "syntax": "<counter-style-name>",
        "media": "all",
        "initial": "decimal",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "uniqueOrder",
        "status": "standard"
      },
      "negative": {
        "syntax": "<symbol> <symbol>?",
        "media": "all",
        "initial": "\"-\" hyphen-minus",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "orderOfAppearance",
        "status": "standard"
      },
      "pad": {
        "syntax": "<integer> && <symbol>",
        "media": "all",
        "initial": "0 \"\"",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "uniqueOrder",
        "status": "standard"
      },
      "prefix": {
        "syntax": "<symbol>",
        "media": "all",
        "initial": "\"\"",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "uniqueOrder",
        "status": "standard"
      },
      "range": {
        "syntax": "[ [ <integer> | infinite ]{2} ]# | auto",
        "media": "all",
        "initial": "auto",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "orderOfAppearance",
        "status": "standard"
      },
      "speak-as": {
        "syntax": "auto | bullets | numbers | words | spell-out | <counter-style-name>",
        "media": "all",
        "initial": "auto",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "uniqueOrder",
        "status": "standard"
      },
      "suffix": {
        "syntax": "<symbol>",
        "media": "all",
        "initial": "\". \"",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "uniqueOrder",
        "status": "standard"
      },
      "symbols": {
        "syntax": "<symbol>+",
        "media": "all",
        "initial": "n/a (required)",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "orderOfAppearance",
        "status": "standard"
      },
      "system": {
        "syntax": "cyclic | numeric | alphabetic | symbolic | additive | [ fixed <integer>? ] | [ extends <counter-style-name> ]",
        "media": "all",
        "initial": "symbolic",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "uniqueOrder",
        "status": "standard"
      }
    },
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@counter-style"
  },
  "@document": {
    "syntax": "@document [ <url> | url-prefix(<string>) | domain(<string>) | media-document(<string>) | regexp(<string>) ]# {\n  <group-rule-body>\n}",
    "interfaces": [
      "CSSGroupingRule",
      "CSSConditionRule"
    ],
    "groups": [
      "CSS Conditional Rules"
    ],
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@document"
  },
  "@font-face": {
    "syntax": "@font-face {\n  [ font-family: <family-name>; ] ||\n  [ src: <src>; ] ||\n  [ unicode-range: <unicode-range>; ] ||\n  [ font-variant: <font-variant>; ] ||\n  [ font-feature-settings: <font-feature-settings>; ] ||\n  [ font-variation-settings: <font-variation-settings>; ] ||\n  [ font-stretch: <font-stretch>; ] ||\n  [ font-weight: <font-weight>; ] ||\n  [ font-style: <font-style>; ]\n}",
    "interfaces": [
      "CSSFontFaceRule"
    ],
    "groups": [
      "CSS Fonts"
    ],
    "descriptors": {
      "font-display": {
        "syntax": "[ auto | block | swap | fallback | optional ]",
        "media": "visual",
        "percentages": "no",
        "initial": "auto",
        "computed": "asSpecified",
        "order": "uniqueOrder",
        "status": "experimental"
      },
      "font-family": {
        "syntax": "<family-name>",
        "media": "all",
        "initial": "n/a (required)",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "uniqueOrder",
        "status": "standard"
      },
      "font-feature-settings": {
        "syntax": "normal | <feature-tag-value>#",
        "media": "all",
        "initial": "normal",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "orderOfAppearance",
        "status": "standard"
      },
      "font-variation-settings": {
        "syntax": "normal | [ <string> <number> ]#",
        "media": "all",
        "initial": "normal",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "orderOfAppearance",
        "status": "standard"
      },
      "font-stretch": {
        "syntax": "<font-stretch-absolute>{1,2}",
        "media": "all",
        "initial": "normal",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "uniqueOrder",
        "status": "standard"
      },
      "font-style": {
        "syntax": "normal | italic | oblique <angle>{0,2}",
        "media": "all",
        "initial": "normal",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "uniqueOrder",
        "status": "standard"
      },
      "font-weight": {
        "syntax": "<font-weight-absolute>{1,2}",
        "media": "all",
        "initial": "normal",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "uniqueOrder",
        "status": "standard"
      },
      "font-variant": {
        "syntax": "normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic(<feature-value-name>) || historical-forms || styleset(<feature-value-name>#) || character-variant(<feature-value-name>#) || swash(<feature-value-name>) || ornaments(<feature-value-name>) || annotation(<feature-value-name>) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]",
        "media": "all",
        "initial": "normal",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "orderOfAppearance",
        "status": "standard"
      },
      "src": {
        "syntax": "[ <url> [ format( <string># ) ]? | local( <family-name> ) ]#",
        "media": "all",
        "initial": "n/a (required)",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "orderOfAppearance",
        "status": "standard"
      },
      "unicode-range": {
        "syntax": "<unicode-range>#",
        "media": "all",
        "initial": "U+0-10FFFF",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "orderOfAppearance",
        "status": "standard"
      }
    },
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@font-face"
  },
  "@font-feature-values": {
    "syntax": "@font-feature-values <family-name># {\n  <feature-value-block-list>\n}",
    "interfaces": [
      "CSSFontFeatureValuesRule"
    ],
    "groups": [
      "CSS Fonts"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@font-feature-values"
  },
  "@import": {
    "syntax": "@import [ <string> | <url> ] [ <media-query-list> ]?;",
    "groups": [
      "Media Queries"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@import"
  },
  "@keyframes": {
    "syntax": "@keyframes <keyframes-name> {\n  <keyframe-block-list>\n}",
    "interfaces": [
      "CSSKeyframeRule",
      "CSSKeyframesRule"
    ],
    "groups": [
      "CSS Animations"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@keyframes"
  },
  "@media": {
    "syntax": "@media <media-query-list> {\n  <group-rule-body>\n}",
    "interfaces": [
      "CSSGroupingRule",
      "CSSConditionRule",
      "CSSMediaRule",
      "CSSCustomMediaRule"
    ],
    "groups": [
      "CSS Conditional Rules",
      "Media Queries"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@media"
  },
  "@namespace": {
    "syntax": "@namespace <namespace-prefix>? [ <string> | <url> ];",
    "groups": [
      "CSS Namespaces"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@namespace"
  },
  "@page": {
    "syntax": "@page <page-selector-list> {\n  <page-body>\n}",
    "interfaces": [
      "CSSPageRule"
    ],
    "groups": [
      "CSS Pages"
    ],
    "descriptors": {
      "bleed": {
        "syntax": "auto | <length>",
        "media": [
          "visual",
          "paged"
        ],
        "initial": "auto",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "uniqueOrder",
        "status": "standard"
      },
      "marks": {
        "syntax": "none | [ crop || cross ]",
        "media": [
          "visual",
          "paged"
        ],
        "initial": "none",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "orderOfAppearance",
        "status": "standard"
      },
      "size": {
        "syntax": "<length>{1,2} | auto | [ <page-size> || [ portrait | landscape ] ]",
        "media": [
          "visual",
          "paged"
        ],
        "initial": "auto",
        "percentages": "no",
        "computed": "asSpecifiedRelativeToAbsoluteLengths",
        "order": "orderOfAppearance",
        "status": "standard"
      }
    },
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@page"
  },
  "@property": {
    "syntax": "@property <custom-property-name> {\n  <declaration-list>\n}",
    "interfaces": [
      "CSS",
      "CSSPropertyRule"
    ],
    "groups": [
      "CSS Houdini"
    ],
    "descriptors": {
      "syntax": {
        "syntax": "<string>",
        "media": "all",
        "percentages": "no",
        "initial": "n/a (required)",
        "computed": "asSpecified",
        "order": "uniqueOrder",
        "status": "experimental"
      },
      "inherits": {
        "syntax": "true | false",
        "media": "all",
        "percentages": "no",
        "initial": "auto",
        "computed": "asSpecified",
        "order": "uniqueOrder",
        "status": "experimental"
      },
      "initial-value": {
        "syntax": "<string>",
        "media": "all",
        "initial": "n/a (required)",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "uniqueOrder",
        "status": "experimental"
      }
    },
    "status": "experimental",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@property"
  },
  "@supports": {
    "syntax": "@supports <supports-condition> {\n  <group-rule-body>\n}",
    "interfaces": [
      "CSSGroupingRule",
      "CSSConditionRule",
      "CSSSupportsRule"
    ],
    "groups": [
      "CSS Conditional Rules"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@supports"
  },
  "@viewport": {
    "syntax": "@viewport {\n  <group-rule-body>\n}",
    "interfaces": [
      "CSSViewportRule"
    ],
    "groups": [
      "CSS Device Adaptation"
    ],
    "descriptors": {
      "height": {
        "syntax": "<viewport-length>{1,2}",
        "media": [
          "visual",
          "continuous"
        ],
        "initial": [
          "min-height",
          "max-height"
        ],
        "percentages": [
          "min-height",
          "max-height"
        ],
        "computed": [
          "min-height",
          "max-height"
        ],
        "order": "orderOfAppearance",
        "status": "standard"
      },
      "max-height": {
        "syntax": "<viewport-length>",
        "media": [
          "visual",
          "continuous"
        ],
        "initial": "auto",
        "percentages": "referToHeightOfInitialViewport",
        "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
        "order": "uniqueOrder",
        "status": "standard"
      },
      "max-width": {
        "syntax": "<viewport-length>",
        "media": [
          "visual",
          "continuous"
        ],
        "initial": "auto",
        "percentages": "referToWidthOfInitialViewport",
        "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
        "order": "uniqueOrder",
        "status": "standard"
      },
      "max-zoom": {
        "syntax": "auto | <number> | <percentage>",
        "media": [
          "visual",
          "continuous"
        ],
        "initial": "auto",
        "percentages": "the zoom factor itself",
        "computed": "autoNonNegativeOrPercentage",
        "order": "uniqueOrder",
        "status": "standard"
      },
      "min-height": {
        "syntax": "<viewport-length>",
        "media": [
          "visual",
          "continuous"
        ],
        "initial": "auto",
        "percentages": "referToHeightOfInitialViewport",
        "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
        "order": "uniqueOrder",
        "status": "standard"
      },
      "min-width": {
        "syntax": "<viewport-length>",
        "media": [
          "visual",
          "continuous"
        ],
        "initial": "auto",
        "percentages": "referToWidthOfInitialViewport",
        "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
        "order": "uniqueOrder",
        "status": "standard"
      },
      "min-zoom": {
        "syntax": "auto | <number> | <percentage>",
        "media": [
          "visual",
          "continuous"
        ],
        "initial": "auto",
        "percentages": "the zoom factor itself",
        "computed": "autoNonNegativeOrPercentage",
        "order": "uniqueOrder",
        "status": "standard"
      },
      "orientation": {
        "syntax": "auto | portrait | landscape",
        "media": [
          "visual",
          "continuous"
        ],
        "initial": "auto",
        "percentages": "referToSizeOfBoundingBox",
        "computed": "asSpecified",
        "order": "uniqueOrder",
        "status": "standard"
      },
      "user-zoom": {
        "syntax": "zoom | fixed",
        "media": [
          "visual",
          "continuous"
        ],
        "initial": "zoom",
        "percentages": "referToSizeOfBoundingBox",
        "computed": "asSpecified",
        "order": "uniqueOrder",
        "status": "standard"
      },
      "viewport-fit": {
        "syntax": "auto | contain | cover",
        "media": [
          "visual",
          "continuous"
        ],
        "initial": "auto",
        "percentages": "no",
        "computed": "asSpecified",
        "order": "uniqueOrder",
        "status": "standard"
      },
      "width": {
        "syntax": "<viewport-length>{1,2}",
        "media": [
          "visual",
          "continuous"
        ],
        "initial": [
          "min-width",
          "max-width"
        ],
        "percentages": [
          "min-width",
          "max-width"
        ],
        "computed": [
          "min-width",
          "max-width"
        ],
        "order": "orderOfAppearance",
        "status": "standard"
      },
      "zoom": {
        "syntax": "auto | <number> | <percentage>",
        "media": [
          "visual",
          "continuous"
        ],
        "initial": "auto",
        "percentages": "the zoom factor itself",
        "computed": "autoNonNegativeOrPercentage",
        "order": "uniqueOrder",
        "status": "standard"
      }
    },
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/@viewport"
  }
}
;
},873,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "--*": {
    "syntax": "<declaration-value>",
    "media": "all",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Variables"
    ],
    "initial": "seeProse",
    "appliesto": "allElements",
    "computed": "asSpecifiedWithVarsSubstituted",
    "order": "perGrammar",
    "status": "experimental",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/--*"
  },
  "-ms-accelerator": {
    "syntax": "false | true",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "false",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-accelerator"
  },
  "-ms-block-progression": {
    "syntax": "tb | rl | bt | lr",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "tb",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-block-progression"
  },
  "-ms-content-zoom-chaining": {
    "syntax": "none | chained",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "none",
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-chaining"
  },
  "-ms-content-zooming": {
    "syntax": "none | zoom",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "zoomForTheTopLevelNoneForTheRest",
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zooming"
  },
  "-ms-content-zoom-limit": {
    "syntax": "<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": [
      "-ms-content-zoom-limit-max",
      "-ms-content-zoom-limit-min"
    ],
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": [
      "-ms-content-zoom-limit-max",
      "-ms-content-zoom-limit-min"
    ],
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": [
      "-ms-content-zoom-limit-max",
      "-ms-content-zoom-limit-min"
    ],
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit"
  },
  "-ms-content-zoom-limit-max": {
    "syntax": "<percentage>",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "maxZoomFactor",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "400%",
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit-max"
  },
  "-ms-content-zoom-limit-min": {
    "syntax": "<percentage>",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "minZoomFactor",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "100%",
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit-min"
  },
  "-ms-content-zoom-snap": {
    "syntax": "<'-ms-content-zoom-snap-type'> || <'-ms-content-zoom-snap-points'>",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": [
      "-ms-content-zoom-snap-type",
      "-ms-content-zoom-snap-points"
    ],
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": [
      "-ms-content-zoom-snap-type",
      "-ms-content-zoom-snap-points"
    ],
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap"
  },
  "-ms-content-zoom-snap-points": {
    "syntax": "snapInterval( <percentage>, <percentage> ) | snapList( <percentage># )",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "snapInterval(0%, 100%)",
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap-points"
  },
  "-ms-content-zoom-snap-type": {
    "syntax": "none | proximity | mandatory",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "none",
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap-type"
  },
  "-ms-filter": {
    "syntax": "<string>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "\"\"",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-filter"
  },
  "-ms-flow-from": {
    "syntax": "[ none | <custom-ident> ]#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "none",
    "appliesto": "nonReplacedElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-flow-from"
  },
  "-ms-flow-into": {
    "syntax": "[ none | <custom-ident> ]#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "none",
    "appliesto": "iframeElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-flow-into"
  },
  "-ms-grid-columns": {
    "syntax": "none | <track-list> | <auto-track-list>",
    "media": "visual",
    "inherited": false,
    "animationType": "simpleListOfLpcDifferenceLpc",
    "percentages": "referToDimensionOfContentArea",
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": "none",
    "appliesto": "gridContainers",
    "computed": "asSpecifiedRelativeToAbsoluteLengths",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-grid-columns"
  },
  "-ms-grid-rows": {
    "syntax": "none | <track-list> | <auto-track-list>",
    "media": "visual",
    "inherited": false,
    "animationType": "simpleListOfLpcDifferenceLpc",
    "percentages": "referToDimensionOfContentArea",
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": "none",
    "appliesto": "gridContainers",
    "computed": "asSpecifiedRelativeToAbsoluteLengths",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-grid-rows"
  },
  "-ms-high-contrast-adjust": {
    "syntax": "auto | none",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "auto",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-high-contrast-adjust"
  },
  "-ms-hyphenate-limit-chars": {
    "syntax": "auto | <integer>{1,3}",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "auto",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-chars"
  },
  "-ms-hyphenate-limit-lines": {
    "syntax": "no-limit | <integer>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "no-limit",
    "appliesto": "blockContainerElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-lines"
  },
  "-ms-hyphenate-limit-zone": {
    "syntax": "<percentage> | <length>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "referToLineBoxWidth",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "0",
    "appliesto": "blockContainerElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-zone"
  },
  "-ms-ime-align": {
    "syntax": "auto | after",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "auto",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-ime-align"
  },
  "-ms-overflow-style": {
    "syntax": "auto | none | scrollbar | -ms-autohiding-scrollbar",
    "media": "interactive",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "auto",
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-overflow-style"
  },
  "-ms-scrollbar-3dlight-color": {
    "syntax": "<color>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "dependsOnUserAgent",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-3dlight-color"
  },
  "-ms-scrollbar-arrow-color": {
    "syntax": "<color>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "ButtonText",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-arrow-color"
  },
  "-ms-scrollbar-base-color": {
    "syntax": "<color>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "dependsOnUserAgent",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-base-color"
  },
  "-ms-scrollbar-darkshadow-color": {
    "syntax": "<color>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "ThreeDDarkShadow",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-darkshadow-color"
  },
  "-ms-scrollbar-face-color": {
    "syntax": "<color>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "ThreeDFace",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-face-color"
  },
  "-ms-scrollbar-highlight-color": {
    "syntax": "<color>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "ThreeDHighlight",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-highlight-color"
  },
  "-ms-scrollbar-shadow-color": {
    "syntax": "<color>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "ThreeDDarkShadow",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-shadow-color"
  },
  "-ms-scrollbar-track-color": {
    "syntax": "<color>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "Scrollbar",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-track-color"
  },
  "-ms-scroll-chaining": {
    "syntax": "chained | none",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "chained",
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-chaining"
  },
  "-ms-scroll-limit": {
    "syntax": "<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": [
      "-ms-scroll-limit-x-min",
      "-ms-scroll-limit-y-min",
      "-ms-scroll-limit-x-max",
      "-ms-scroll-limit-y-max"
    ],
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": [
      "-ms-scroll-limit-x-min",
      "-ms-scroll-limit-y-min",
      "-ms-scroll-limit-x-max",
      "-ms-scroll-limit-y-max"
    ],
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit"
  },
  "-ms-scroll-limit-x-max": {
    "syntax": "auto | <length>",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "auto",
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-x-max"
  },
  "-ms-scroll-limit-x-min": {
    "syntax": "<length>",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "0",
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-x-min"
  },
  "-ms-scroll-limit-y-max": {
    "syntax": "auto | <length>",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "auto",
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-y-max"
  },
  "-ms-scroll-limit-y-min": {
    "syntax": "<length>",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "0",
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-y-min"
  },
  "-ms-scroll-rails": {
    "syntax": "none | railed",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "railed",
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-rails"
  },
  "-ms-scroll-snap-points-x": {
    "syntax": "snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "snapInterval(0px, 100%)",
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-points-x"
  },
  "-ms-scroll-snap-points-y": {
    "syntax": "snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "snapInterval(0px, 100%)",
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-points-y"
  },
  "-ms-scroll-snap-type": {
    "syntax": "none | proximity | mandatory",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "none",
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-type"
  },
  "-ms-scroll-snap-x": {
    "syntax": "<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": [
      "-ms-scroll-snap-type",
      "-ms-scroll-snap-points-x"
    ],
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": [
      "-ms-scroll-snap-type",
      "-ms-scroll-snap-points-x"
    ],
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-x"
  },
  "-ms-scroll-snap-y": {
    "syntax": "<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": [
      "-ms-scroll-snap-type",
      "-ms-scroll-snap-points-y"
    ],
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": [
      "-ms-scroll-snap-type",
      "-ms-scroll-snap-points-y"
    ],
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-y"
  },
  "-ms-scroll-translation": {
    "syntax": "none | vertical-to-horizontal",
    "media": "interactive",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-translation"
  },
  "-ms-text-autospace": {
    "syntax": "none | ideograph-alpha | ideograph-numeric | ideograph-parenthesis | ideograph-space",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-text-autospace"
  },
  "-ms-touch-select": {
    "syntax": "grippers | none",
    "media": "interactive",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "grippers",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-touch-select"
  },
  "-ms-user-select": {
    "syntax": "none | element | text",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "text",
    "appliesto": "nonReplacedElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-user-select"
  },
  "-ms-wrap-flow": {
    "syntax": "auto | both | start | end | maximum | clear",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "auto",
    "appliesto": "blockLevelElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-flow"
  },
  "-ms-wrap-margin": {
    "syntax": "<length>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "0",
    "appliesto": "exclusionElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-margin"
  },
  "-ms-wrap-through": {
    "syntax": "wrap | none",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "wrap",
    "appliesto": "blockLevelElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-through"
  },
  "-moz-appearance": {
    "syntax": "none | button | button-arrow-down | button-arrow-next | button-arrow-previous | button-arrow-up | button-bevel | button-focus | caret | checkbox | checkbox-container | checkbox-label | checkmenuitem | dualbutton | groupbox | listbox | listitem | menuarrow | menubar | menucheckbox | menuimage | menuitem | menuitemtext | menulist | menulist-button | menulist-text | menulist-textfield | menupopup | menuradio | menuseparator | meterbar | meterchunk | progressbar | progressbar-vertical | progresschunk | progresschunk-vertical | radio | radio-container | radio-label | radiomenuitem | range | range-thumb | resizer | resizerpanel | scale-horizontal | scalethumbend | scalethumb-horizontal | scalethumbstart | scalethumbtick | scalethumb-vertical | scale-vertical | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | separator | sheet | spinner | spinner-downbutton | spinner-textfield | spinner-upbutton | splitter | statusbar | statusbarpanel | tab | tabpanel | tabpanels | tab-scroll-arrow-back | tab-scroll-arrow-forward | textfield | textfield-multiline | toolbar | toolbarbutton | toolbarbutton-dropdown | toolbargripper | toolbox | tooltip | treeheader | treeheadercell | treeheadersortarrow | treeitem | treeline | treetwisty | treetwistyopen | treeview | -moz-mac-unified-toolbar | -moz-win-borderless-glass | -moz-win-browsertabbar-toolbox | -moz-win-communicationstext | -moz-win-communications-toolbox | -moz-win-exclude-glass | -moz-win-glass | -moz-win-mediatext | -moz-win-media-toolbox | -moz-window-button-box | -moz-window-button-box-maximized | -moz-window-button-close | -moz-window-button-maximize | -moz-window-button-minimize | -moz-window-button-restore | -moz-window-frame-bottom | -moz-window-frame-left | -moz-window-frame-right | -moz-window-titlebar | -moz-window-titlebar-maximized",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions",
      "WebKit Extensions"
    ],
    "initial": "noneButOverriddenInUserAgentCSS",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/appearance"
  },
  "-moz-binding": {
    "syntax": "<url> | none",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": "none",
    "appliesto": "allElementsExceptGeneratedContentOrPseudoElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-binding"
  },
  "-moz-border-bottom-colors": {
    "syntax": "<color>+ | none",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-border-bottom-colors"
  },
  "-moz-border-left-colors": {
    "syntax": "<color>+ | none",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-border-left-colors"
  },
  "-moz-border-right-colors": {
    "syntax": "<color>+ | none",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-border-right-colors"
  },
  "-moz-border-top-colors": {
    "syntax": "<color>+ | none",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-border-top-colors"
  },
  "-moz-context-properties": {
    "syntax": "none | [ fill | fill-opacity | stroke | stroke-opacity ]#",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": "none",
    "appliesto": "allElementsThatCanReferenceImages",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-context-properties"
  },
  "-moz-float-edge": {
    "syntax": "border-box | content-box | margin-box | padding-box",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": "content-box",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-float-edge"
  },
  "-moz-force-broken-image-icon": {
    "syntax": "<integer [0,1]>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": "0",
    "appliesto": "images",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-force-broken-image-icon"
  },
  "-moz-image-region": {
    "syntax": "<shape> | auto",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": "auto",
    "appliesto": "xulImageElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-image-region"
  },
  "-moz-orient": {
    "syntax": "inline | block | horizontal | vertical",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": "inline",
    "appliesto": "anyElementEffectOnProgressAndMeter",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-orient"
  },
  "-moz-outline-radius": {
    "syntax": "<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "-moz-outline-radius-topleft",
      "-moz-outline-radius-topright",
      "-moz-outline-radius-bottomright",
      "-moz-outline-radius-bottomleft"
    ],
    "percentages": [
      "-moz-outline-radius-topleft",
      "-moz-outline-radius-topright",
      "-moz-outline-radius-bottomright",
      "-moz-outline-radius-bottomleft"
    ],
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": [
      "-moz-outline-radius-topleft",
      "-moz-outline-radius-topright",
      "-moz-outline-radius-bottomright",
      "-moz-outline-radius-bottomleft"
    ],
    "appliesto": "allElements",
    "computed": [
      "-moz-outline-radius-topleft",
      "-moz-outline-radius-topright",
      "-moz-outline-radius-bottomright",
      "-moz-outline-radius-bottomleft"
    ],
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius"
  },
  "-moz-outline-radius-bottomleft": {
    "syntax": "<outline-radius>",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToDimensionOfBorderBox",
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomleft"
  },
  "-moz-outline-radius-bottomright": {
    "syntax": "<outline-radius>",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToDimensionOfBorderBox",
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomright"
  },
  "-moz-outline-radius-topleft": {
    "syntax": "<outline-radius>",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToDimensionOfBorderBox",
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topleft"
  },
  "-moz-outline-radius-topright": {
    "syntax": "<outline-radius>",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToDimensionOfBorderBox",
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topright"
  },
  "-moz-stack-sizing": {
    "syntax": "ignore | stretch-to-fit",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": "stretch-to-fit",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-stack-sizing"
  },
  "-moz-text-blink": {
    "syntax": "none | blink",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-text-blink"
  },
  "-moz-user-focus": {
    "syntax": "ignore | normal | select-after | select-before | select-menu | select-same | select-all | none",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-user-focus"
  },
  "-moz-user-input": {
    "syntax": "auto | none | enabled | disabled",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": "auto",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-user-input"
  },
  "-moz-user-modify": {
    "syntax": "read-only | read-write | write-only",
    "media": "interactive",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": "read-only",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-user-modify"
  },
  "-moz-window-dragging": {
    "syntax": "drag | no-drag",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": "drag",
    "appliesto": "allElementsCreatingNativeWindows",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-window-dragging"
  },
  "-moz-window-shadow": {
    "syntax": "default | menu | tooltip | sheet | none",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": "default",
    "appliesto": "allElementsCreatingNativeWindows",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-moz-window-shadow"
  },
  "-webkit-appearance": {
    "syntax": "none | button | button-bevel | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | -apple-pay-button",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "noneButOverriddenInUserAgentCSS",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/appearance"
  },
  "-webkit-border-before": {
    "syntax": "<'border-width'> || <'border-style'> || <'color'>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": [
      "-webkit-border-before-width"
    ],
    "groups": [
      "WebKit Extensions"
    ],
    "initial": [
      "border-width",
      "border-style",
      "color"
    ],
    "appliesto": "allElements",
    "computed": [
      "border-width",
      "border-style",
      "color"
    ],
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-border-before"
  },
  "-webkit-border-before-color": {
    "syntax": "<'color'>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "currentcolor",
    "appliesto": "allElements",
    "computed": "computedColor",
    "order": "uniqueOrder",
    "status": "nonstandard"
  },
  "-webkit-border-before-style": {
    "syntax": "<'border-style'>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard"
  },
  "-webkit-border-before-width": {
    "syntax": "<'border-width'>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "logicalWidthOfContainingBlock",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "medium",
    "appliesto": "allElements",
    "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden",
    "order": "uniqueOrder",
    "status": "nonstandard"
  },
  "-webkit-box-reflect": {
    "syntax": "[ above | below | right | left ]? <length>? <image>?",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-box-reflect"
  },
  "-webkit-line-clamp": {
    "syntax": "none | <integer>",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "no",
    "groups": [
      "WebKit Extensions",
      "CSS Overflow"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-line-clamp"
  },
  "-webkit-mask": {
    "syntax": "[ <mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || [ <box> | border | padding | content | text ] || [ <box> | border | padding | content ] ]#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": [
      "-webkit-mask-image",
      "-webkit-mask-repeat",
      "-webkit-mask-attachment",
      "-webkit-mask-position",
      "-webkit-mask-origin",
      "-webkit-mask-clip"
    ],
    "appliesto": "allElements",
    "computed": [
      "-webkit-mask-image",
      "-webkit-mask-repeat",
      "-webkit-mask-attachment",
      "-webkit-mask-position",
      "-webkit-mask-origin",
      "-webkit-mask-clip"
    ],
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask"
  },
  "-webkit-mask-attachment": {
    "syntax": "<attachment>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "scroll",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "orderOfAppearance",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-attachment"
  },
  "-webkit-mask-clip": {
    "syntax": "[ <box> | border | padding | content | text ]#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "border",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "orderOfAppearance",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-clip"
  },
  "-webkit-mask-composite": {
    "syntax": "<composite-style>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "source-over",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "orderOfAppearance",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-composite"
  },
  "-webkit-mask-image": {
    "syntax": "<mask-reference>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "absoluteURIOrNone",
    "order": "orderOfAppearance",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-image"
  },
  "-webkit-mask-origin": {
    "syntax": "[ <box> | border | padding | content ]#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "padding",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "orderOfAppearance",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-origin"
  },
  "-webkit-mask-position": {
    "syntax": "<position>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "referToSizeOfElement",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "0% 0%",
    "appliesto": "allElements",
    "computed": "absoluteLengthOrPercentage",
    "order": "orderOfAppearance",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-position"
  },
  "-webkit-mask-position-x": {
    "syntax": "[ <length-percentage> | left | center | right ]#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "referToSizeOfElement",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "0%",
    "appliesto": "allElements",
    "computed": "absoluteLengthOrPercentage",
    "order": "orderOfAppearance",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-x"
  },
  "-webkit-mask-position-y": {
    "syntax": "[ <length-percentage> | top | center | bottom ]#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "referToSizeOfElement",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "0%",
    "appliesto": "allElements",
    "computed": "absoluteLengthOrPercentage",
    "order": "orderOfAppearance",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-y"
  },
  "-webkit-mask-repeat": {
    "syntax": "<repeat-style>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "repeat",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "orderOfAppearance",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-repeat"
  },
  "-webkit-mask-repeat-x": {
    "syntax": "repeat | no-repeat | space | round",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "repeat",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "orderOfAppearance",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-x"
  },
  "-webkit-mask-repeat-y": {
    "syntax": "repeat | no-repeat | space | round",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "repeat",
    "appliesto": "allElements",
    "computed": "absoluteLengthOrPercentage",
    "order": "orderOfAppearance",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-y"
  },
  "-webkit-mask-size": {
    "syntax": "<bg-size>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "relativeToBackgroundPositioningArea",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "auto auto",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "orderOfAppearance",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-size"
  },
  "-webkit-overflow-scrolling": {
    "syntax": "auto | touch",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "auto",
    "appliesto": "scrollingBoxes",
    "computed": "asSpecified",
    "order": "orderOfAppearance",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-overflow-scrolling"
  },
  "-webkit-tap-highlight-color": {
    "syntax": "<color>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "black",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-tap-highlight-color"
  },
  "-webkit-text-fill-color": {
    "syntax": "<color>",
    "media": "visual",
    "inherited": true,
    "animationType": "color",
    "percentages": "no",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "currentcolor",
    "appliesto": "allElements",
    "computed": "computedColor",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-text-fill-color"
  },
  "-webkit-text-stroke": {
    "syntax": "<length> || <color>",
    "media": "visual",
    "inherited": true,
    "animationType": [
      "-webkit-text-stroke-width",
      "-webkit-text-stroke-color"
    ],
    "percentages": "no",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": [
      "-webkit-text-stroke-width",
      "-webkit-text-stroke-color"
    ],
    "appliesto": "allElements",
    "computed": [
      "-webkit-text-stroke-width",
      "-webkit-text-stroke-color"
    ],
    "order": "canonicalOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke"
  },
  "-webkit-text-stroke-color": {
    "syntax": "<color>",
    "media": "visual",
    "inherited": true,
    "animationType": "color",
    "percentages": "no",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "currentcolor",
    "appliesto": "allElements",
    "computed": "computedColor",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-color"
  },
  "-webkit-text-stroke-width": {
    "syntax": "<length>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "absoluteLength",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-width"
  },
  "-webkit-touch-callout": {
    "syntax": "default | none",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "default",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/-webkit-touch-callout"
  },
  "-webkit-user-modify": {
    "syntax": "read-only | read-write | read-write-plaintext-only",
    "media": "interactive",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "WebKit Extensions"
    ],
    "initial": "read-only",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard"
  },
  "align-content": {
    "syntax": "normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Box Alignment"
    ],
    "initial": "normal",
    "appliesto": "multilineFlexContainers",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/align-content"
  },
  "align-items": {
    "syntax": "normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Box Alignment"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/align-items"
  },
  "align-self": {
    "syntax": "auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Box Alignment"
    ],
    "initial": "auto",
    "appliesto": "flexItemsGridItemsAndAbsolutelyPositionedBoxes",
    "computed": "autoOnAbsolutelyPositionedElementsValueOfAlignItemsOnParent",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/align-self"
  },
  "align-tracks": {
    "syntax": "[ normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position> ]#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": "normal",
    "appliesto": "gridContainersWithMasonryLayoutInTheirBlockAxis",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "experimental",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/align-tracks"
  },
  "all": {
    "syntax": "initial | inherit | unset | revert",
    "media": "noPracticalMedia",
    "inherited": false,
    "animationType": "eachOfShorthandPropertiesExceptUnicodeBiDiAndDirection",
    "percentages": "no",
    "groups": [
      "CSS Miscellaneous"
    ],
    "initial": "noPracticalInitialValue",
    "appliesto": "allElements",
    "computed": "asSpecifiedAppliesToEachProperty",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/all"
  },
  "animation": {
    "syntax": "<single-animation>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Animations"
    ],
    "initial": [
      "animation-name",
      "animation-duration",
      "animation-timing-function",
      "animation-delay",
      "animation-iteration-count",
      "animation-direction",
      "animation-fill-mode",
      "animation-play-state"
    ],
    "appliesto": "allElementsAndPseudos",
    "computed": [
      "animation-name",
      "animation-duration",
      "animation-timing-function",
      "animation-delay",
      "animation-direction",
      "animation-iteration-count",
      "animation-fill-mode",
      "animation-play-state"
    ],
    "order": "orderOfAppearance",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation"
  },
  "animation-delay": {
    "syntax": "<time>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Animations"
    ],
    "initial": "0s",
    "appliesto": "allElementsAndPseudos",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-delay"
  },
  "animation-direction": {
    "syntax": "<single-animation-direction>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Animations"
    ],
    "initial": "normal",
    "appliesto": "allElementsAndPseudos",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-direction"
  },
  "animation-duration": {
    "syntax": "<time>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Animations"
    ],
    "initial": "0s",
    "appliesto": "allElementsAndPseudos",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-duration"
  },
  "animation-fill-mode": {
    "syntax": "<single-animation-fill-mode>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Animations"
    ],
    "initial": "none",
    "appliesto": "allElementsAndPseudos",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode"
  },
  "animation-iteration-count": {
    "syntax": "<single-animation-iteration-count>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Animations"
    ],
    "initial": "1",
    "appliesto": "allElementsAndPseudos",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count"
  },
  "animation-name": {
    "syntax": "[ none | <keyframes-name> ]#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Animations"
    ],
    "initial": "none",
    "appliesto": "allElementsAndPseudos",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-name"
  },
  "animation-play-state": {
    "syntax": "<single-animation-play-state>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Animations"
    ],
    "initial": "running",
    "appliesto": "allElementsAndPseudos",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-play-state"
  },
  "animation-timing-function": {
    "syntax": "<timing-function>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Animations"
    ],
    "initial": "ease",
    "appliesto": "allElementsAndPseudos",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-timing-function"
  },
  "appearance": {
    "syntax": "none | auto | textfield | menulist-button | <compat-auto>",
    "media": "all",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Basic User Interface"
    ],
    "initial": "auto",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "experimental",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/appearance"
  },
  "aspect-ratio": {
    "syntax": "auto | <ratio>",
    "media": "all",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Basic User Interface"
    ],
    "initial": "auto",
    "appliesto": "allElementsExceptInlineBoxesAndInternalRubyOrTableBoxes",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "experimental",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/aspect-ratio"
  },
  "azimuth": {
    "syntax": "<angle> | [ [ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side ] || behind ] | leftwards | rightwards",
    "media": "aural",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Speech"
    ],
    "initial": "center",
    "appliesto": "allElements",
    "computed": "normalizedAngle",
    "order": "orderOfAppearance",
    "status": "obsolete",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/azimuth"
  },
  "backdrop-filter": {
    "syntax": "none | <filter-function-list>",
    "media": "visual",
    "inherited": false,
    "animationType": "filterList",
    "percentages": "no",
    "groups": [
      "Filter Effects"
    ],
    "initial": "none",
    "appliesto": "allElementsSVGContainerElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/backdrop-filter"
  },
  "backface-visibility": {
    "syntax": "visible | hidden",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Transforms"
    ],
    "initial": "visible",
    "appliesto": "transformableElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/backface-visibility"
  },
  "background": {
    "syntax": "[ <bg-layer> , ]* <final-bg-layer>",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "background-color",
      "background-image",
      "background-clip",
      "background-position",
      "background-size",
      "background-repeat",
      "background-attachment"
    ],
    "percentages": [
      "background-position",
      "background-size"
    ],
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": [
      "background-image",
      "background-position",
      "background-size",
      "background-repeat",
      "background-origin",
      "background-clip",
      "background-attachment",
      "background-color"
    ],
    "appliesto": "allElements",
    "computed": [
      "background-image",
      "background-position",
      "background-size",
      "background-repeat",
      "background-origin",
      "background-clip",
      "background-attachment",
      "background-color"
    ],
    "order": "orderOfAppearance",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background"
  },
  "background-attachment": {
    "syntax": "<attachment>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "scroll",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-attachment"
  },
  "background-blend-mode": {
    "syntax": "<blend-mode>#",
    "media": "none",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Compositing and Blending"
    ],
    "initial": "normal",
    "appliesto": "allElementsSVGContainerGraphicsAndGraphicsReferencingElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-blend-mode"
  },
  "background-clip": {
    "syntax": "<box>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "border-box",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-clip"
  },
  "background-color": {
    "syntax": "<color>",
    "media": "visual",
    "inherited": false,
    "animationType": "color",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "transparent",
    "appliesto": "allElements",
    "computed": "computedColor",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-color"
  },
  "background-image": {
    "syntax": "<bg-image>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecifiedURLsAbsolute",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-image"
  },
  "background-origin": {
    "syntax": "<box>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "padding-box",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-origin"
  },
  "background-position": {
    "syntax": "<bg-position>#",
    "media": "visual",
    "inherited": false,
    "animationType": "repeatableListOfSimpleListOfLpc",
    "percentages": "referToSizeOfBackgroundPositioningAreaMinusBackgroundImageSize",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "0% 0%",
    "appliesto": "allElements",
    "computed": "listEachItemTwoKeywordsOriginOffsets",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-position"
  },
  "background-position-x": {
    "syntax": "[ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "referToWidthOfBackgroundPositioningAreaMinusBackgroundImageHeight",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "left",
    "appliesto": "allElements",
    "computed": "listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin",
    "order": "uniqueOrder",
    "status": "experimental",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-position-x"
  },
  "background-position-y": {
    "syntax": "[ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "referToHeightOfBackgroundPositioningAreaMinusBackgroundImageHeight",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "top",
    "appliesto": "allElements",
    "computed": "listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin",
    "order": "uniqueOrder",
    "status": "experimental",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-position-y"
  },
  "background-repeat": {
    "syntax": "<repeat-style>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "repeat",
    "appliesto": "allElements",
    "computed": "listEachItemHasTwoKeywordsOnePerDimension",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-repeat"
  },
  "background-size": {
    "syntax": "<bg-size>#",
    "media": "visual",
    "inherited": false,
    "animationType": "repeatableListOfSimpleListOfLpc",
    "percentages": "relativeToBackgroundPositioningArea",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "auto auto",
    "appliesto": "allElements",
    "computed": "asSpecifiedRelativeToAbsoluteLengths",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/background-size"
  },
  "block-overflow": {
    "syntax": "clip | ellipsis | <string>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Overflow"
    ],
    "initial": "clip",
    "appliesto": "blockContainers",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "experimental"
  },
  "block-size": {
    "syntax": "<'width'>",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "blockSizeOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "auto",
    "appliesto": "sameAsWidthAndHeight",
    "computed": "sameAsWidthAndHeight",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/block-size"
  },
  "border": {
    "syntax": "<line-width> || <line-style> || <color>",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "border-color",
      "border-style",
      "border-width"
    ],
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": [
      "border-width",
      "border-style",
      "border-color"
    ],
    "appliesto": "allElements",
    "computed": [
      "border-width",
      "border-style",
      "border-color"
    ],
    "order": "orderOfAppearance",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border"
  },
  "border-block": {
    "syntax": "<'border-top-width'> || <'border-top-style'> || <'color'>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": [
      "border-top-width",
      "border-top-style",
      "border-top-color"
    ],
    "appliesto": "allElements",
    "computed": [
      "border-top-width",
      "border-top-style",
      "border-top-color"
    ],
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block"
  },
  "border-block-color": {
    "syntax": "<'border-top-color'>{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "currentcolor",
    "appliesto": "allElements",
    "computed": "computedColor",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-color"
  },
  "border-block-style": {
    "syntax": "<'border-top-style'>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-style"
  },
  "border-block-width": {
    "syntax": "<'border-top-width'>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "logicalWidthOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "medium",
    "appliesto": "allElements",
    "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-width"
  },
  "border-block-end": {
    "syntax": "<'border-top-width'> || <'border-top-style'> || <'color'>",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "border-block-end-color",
      "border-block-end-style",
      "border-block-end-width"
    ],
    "percentages": "no",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": [
      "border-top-width",
      "border-top-style",
      "border-top-color"
    ],
    "appliesto": "allElements",
    "computed": [
      "border-top-width",
      "border-top-style",
      "border-top-color"
    ],
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-end"
  },
  "border-block-end-color": {
    "syntax": "<'border-top-color'>",
    "media": "visual",
    "inherited": false,
    "animationType": "color",
    "percentages": "no",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "currentcolor",
    "appliesto": "allElements",
    "computed": "computedColor",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-end-color"
  },
  "border-block-end-style": {
    "syntax": "<'border-top-style'>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-end-style"
  },
  "border-block-end-width": {
    "syntax": "<'border-top-width'>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "logicalWidthOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "medium",
    "appliesto": "allElements",
    "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-end-width"
  },
  "border-block-start": {
    "syntax": "<'border-top-width'> || <'border-top-style'> || <'color'>",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "border-block-start-color",
      "border-block-start-style",
      "border-block-start-width"
    ],
    "percentages": "no",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": [
      "border-width",
      "border-style",
      "color"
    ],
    "appliesto": "allElements",
    "computed": [
      "border-width",
      "border-style",
      "border-block-start-color"
    ],
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-start"
  },
  "border-block-start-color": {
    "syntax": "<'border-top-color'>",
    "media": "visual",
    "inherited": false,
    "animationType": "color",
    "percentages": "no",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "currentcolor",
    "appliesto": "allElements",
    "computed": "computedColor",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-start-color"
  },
  "border-block-start-style": {
    "syntax": "<'border-top-style'>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-start-style"
  },
  "border-block-start-width": {
    "syntax": "<'border-top-width'>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "logicalWidthOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "medium",
    "appliesto": "allElements",
    "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-block-start-width"
  },
  "border-bottom": {
    "syntax": "<line-width> || <line-style> || <color>",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "border-bottom-color",
      "border-bottom-style",
      "border-bottom-width"
    ],
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": [
      "border-bottom-width",
      "border-bottom-style",
      "border-bottom-color"
    ],
    "appliesto": "allElements",
    "computed": [
      "border-bottom-width",
      "border-bottom-style",
      "border-bottom-color"
    ],
    "order": "orderOfAppearance",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-bottom"
  },
  "border-bottom-color": {
    "syntax": "<'border-top-color'>",
    "media": "visual",
    "inherited": false,
    "animationType": "color",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "currentcolor",
    "appliesto": "allElements",
    "computed": "computedColor",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-bottom-color"
  },
  "border-bottom-left-radius": {
    "syntax": "<length-percentage>{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToDimensionOfBorderBox",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "0",
    "appliesto": "allElementsUAsNotRequiredWhenCollapse",
    "computed": "twoAbsoluteLengthOrPercentages",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius"
  },
  "border-bottom-right-radius": {
    "syntax": "<length-percentage>{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToDimensionOfBorderBox",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "0",
    "appliesto": "allElementsUAsNotRequiredWhenCollapse",
    "computed": "twoAbsoluteLengthOrPercentages",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius"
  },
  "border-bottom-style": {
    "syntax": "<line-style>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-bottom-style"
  },
  "border-bottom-width": {
    "syntax": "<line-width>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "medium",
    "appliesto": "allElements",
    "computed": "absoluteLengthOr0IfBorderBottomStyleNoneOrHidden",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-bottom-width"
  },
  "border-collapse": {
    "syntax": "collapse | separate",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Table"
    ],
    "initial": "separate",
    "appliesto": "tableElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-collapse"
  },
  "border-color": {
    "syntax": "<color>{1,4}",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "border-bottom-color",
      "border-left-color",
      "border-right-color",
      "border-top-color"
    ],
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": [
      "border-top-color",
      "border-right-color",
      "border-bottom-color",
      "border-left-color"
    ],
    "appliesto": "allElements",
    "computed": [
      "border-bottom-color",
      "border-left-color",
      "border-right-color",
      "border-top-color"
    ],
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-color"
  },
  "border-end-end-radius": {
    "syntax": "<length-percentage>{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToDimensionOfBorderBox",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "0",
    "appliesto": "allElementsUAsNotRequiredWhenCollapse",
    "computed": "twoAbsoluteLengthOrPercentages",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius"
  },
  "border-end-start-radius": {
    "syntax": "<length-percentage>{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToDimensionOfBorderBox",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "0",
    "appliesto": "allElementsUAsNotRequiredWhenCollapse",
    "computed": "twoAbsoluteLengthOrPercentages",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius"
  },
  "border-image": {
    "syntax": "<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": [
      "border-image-slice",
      "border-image-width"
    ],
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": [
      "border-image-source",
      "border-image-slice",
      "border-image-width",
      "border-image-outset",
      "border-image-repeat"
    ],
    "appliesto": "allElementsExceptTableElementsWhenCollapse",
    "computed": [
      "border-image-outset",
      "border-image-repeat",
      "border-image-slice",
      "border-image-source",
      "border-image-width"
    ],
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-image"
  },
  "border-image-outset": {
    "syntax": "[ <length> | <number> ]{1,4}",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "0",
    "appliesto": "allElementsExceptTableElementsWhenCollapse",
    "computed": "asSpecifiedRelativeToAbsoluteLengths",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-image-outset"
  },
  "border-image-repeat": {
    "syntax": "[ stretch | repeat | round | space ]{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "stretch",
    "appliesto": "allElementsExceptTableElementsWhenCollapse",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-image-repeat"
  },
  "border-image-slice": {
    "syntax": "<number-percentage>{1,4} && fill?",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "referToSizeOfBorderImage",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "100%",
    "appliesto": "allElementsExceptTableElementsWhenCollapse",
    "computed": "oneToFourPercentagesOrAbsoluteLengthsPlusFill",
    "order": "percentagesOrLengthsFollowedByFill",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-image-slice"
  },
  "border-image-source": {
    "syntax": "none | <image>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "none",
    "appliesto": "allElementsExceptTableElementsWhenCollapse",
    "computed": "noneOrImageWithAbsoluteURI",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-image-source"
  },
  "border-image-width": {
    "syntax": "[ <length-percentage> | <number> | auto ]{1,4}",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "referToWidthOrHeightOfBorderImageArea",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "1",
    "appliesto": "allElementsExceptTableElementsWhenCollapse",
    "computed": "asSpecifiedRelativeToAbsoluteLengths",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-image-width"
  },
  "border-inline": {
    "syntax": "<'border-top-width'> || <'border-top-style'> || <'color'>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": [
      "border-top-width",
      "border-top-style",
      "border-top-color"
    ],
    "appliesto": "allElements",
    "computed": [
      "border-top-width",
      "border-top-style",
      "border-top-color"
    ],
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline"
  },
  "border-inline-end": {
    "syntax": "<'border-top-width'> || <'border-top-style'> || <'color'>",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "border-inline-end-color",
      "border-inline-end-style",
      "border-inline-end-width"
    ],
    "percentages": "no",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": [
      "border-width",
      "border-style",
      "color"
    ],
    "appliesto": "allElements",
    "computed": [
      "border-width",
      "border-style",
      "border-inline-end-color"
    ],
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-end"
  },
  "border-inline-color": {
    "syntax": "<'border-top-color'>{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "currentcolor",
    "appliesto": "allElements",
    "computed": "computedColor",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-color"
  },
  "border-inline-style": {
    "syntax": "<'border-top-style'>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-style"
  },
  "border-inline-width": {
    "syntax": "<'border-top-width'>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "logicalWidthOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "medium",
    "appliesto": "allElements",
    "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-width"
  },
  "border-inline-end-color": {
    "syntax": "<'border-top-color'>",
    "media": "visual",
    "inherited": false,
    "animationType": "color",
    "percentages": "no",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "currentcolor",
    "appliesto": "allElements",
    "computed": "computedColor",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color"
  },
  "border-inline-end-style": {
    "syntax": "<'border-top-style'>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style"
  },
  "border-inline-end-width": {
    "syntax": "<'border-top-width'>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "logicalWidthOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "medium",
    "appliesto": "allElements",
    "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width"
  },
  "border-inline-start": {
    "syntax": "<'border-top-width'> || <'border-top-style'> || <'color'>",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "border-inline-start-color",
      "border-inline-start-style",
      "border-inline-start-width"
    ],
    "percentages": "no",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": [
      "border-width",
      "border-style",
      "color"
    ],
    "appliesto": "allElements",
    "computed": [
      "border-width",
      "border-style",
      "border-inline-start-color"
    ],
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-start"
  },
  "border-inline-start-color": {
    "syntax": "<'border-top-color'>",
    "media": "visual",
    "inherited": false,
    "animationType": "color",
    "percentages": "no",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "currentcolor",
    "appliesto": "allElements",
    "computed": "computedColor",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color"
  },
  "border-inline-start-style": {
    "syntax": "<'border-top-style'>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style"
  },
  "border-inline-start-width": {
    "syntax": "<'border-top-width'>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "logicalWidthOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "medium",
    "appliesto": "allElements",
    "computed": "absoluteLengthZeroIfBorderStyleNoneOrHidden",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width"
  },
  "border-left": {
    "syntax": "<line-width> || <line-style> || <color>",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "border-left-color",
      "border-left-style",
      "border-left-width"
    ],
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": [
      "border-left-width",
      "border-left-style",
      "border-left-color"
    ],
    "appliesto": "allElements",
    "computed": [
      "border-left-width",
      "border-left-style",
      "border-left-color"
    ],
    "order": "orderOfAppearance",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-left"
  },
  "border-left-color": {
    "syntax": "<color>",
    "media": "visual",
    "inherited": false,
    "animationType": "color",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "currentcolor",
    "appliesto": "allElements",
    "computed": "computedColor",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-left-color"
  },
  "border-left-style": {
    "syntax": "<line-style>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-left-style"
  },
  "border-left-width": {
    "syntax": "<line-width>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "medium",
    "appliesto": "allElements",
    "computed": "absoluteLengthOr0IfBorderLeftStyleNoneOrHidden",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-left-width"
  },
  "border-radius": {
    "syntax": "<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "border-top-left-radius",
      "border-top-right-radius",
      "border-bottom-right-radius",
      "border-bottom-left-radius"
    ],
    "percentages": "referToDimensionOfBorderBox",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": [
      "border-top-left-radius",
      "border-top-right-radius",
      "border-bottom-right-radius",
      "border-bottom-left-radius"
    ],
    "appliesto": "allElementsUAsNotRequiredWhenCollapse",
    "computed": [
      "border-bottom-left-radius",
      "border-bottom-right-radius",
      "border-top-left-radius",
      "border-top-right-radius"
    ],
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-radius"
  },
  "border-right": {
    "syntax": "<line-width> || <line-style> || <color>",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "border-right-color",
      "border-right-style",
      "border-right-width"
    ],
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": [
      "border-right-width",
      "border-right-style",
      "border-right-color"
    ],
    "appliesto": "allElements",
    "computed": [
      "border-right-width",
      "border-right-style",
      "border-right-color"
    ],
    "order": "orderOfAppearance",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-right"
  },
  "border-right-color": {
    "syntax": "<color>",
    "media": "visual",
    "inherited": false,
    "animationType": "color",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "currentcolor",
    "appliesto": "allElements",
    "computed": "computedColor",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-right-color"
  },
  "border-right-style": {
    "syntax": "<line-style>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-right-style"
  },
  "border-right-width": {
    "syntax": "<line-width>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "medium",
    "appliesto": "allElements",
    "computed": "absoluteLengthOr0IfBorderRightStyleNoneOrHidden",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-right-width"
  },
  "border-spacing": {
    "syntax": "<length> <length>?",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Table"
    ],
    "initial": "0",
    "appliesto": "tableElements",
    "computed": "twoAbsoluteLengths",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-spacing"
  },
  "border-start-end-radius": {
    "syntax": "<length-percentage>{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToDimensionOfBorderBox",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "0",
    "appliesto": "allElementsUAsNotRequiredWhenCollapse",
    "computed": "twoAbsoluteLengthOrPercentages",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius"
  },
  "border-start-start-radius": {
    "syntax": "<length-percentage>{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToDimensionOfBorderBox",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "0",
    "appliesto": "allElementsUAsNotRequiredWhenCollapse",
    "computed": "twoAbsoluteLengthOrPercentages",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius"
  },
  "border-style": {
    "syntax": "<line-style>{1,4}",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": [
      "border-top-style",
      "border-right-style",
      "border-bottom-style",
      "border-left-style"
    ],
    "appliesto": "allElements",
    "computed": [
      "border-bottom-style",
      "border-left-style",
      "border-right-style",
      "border-top-style"
    ],
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-style"
  },
  "border-top": {
    "syntax": "<line-width> || <line-style> || <color>",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "border-top-color",
      "border-top-style",
      "border-top-width"
    ],
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": [
      "border-top-width",
      "border-top-style",
      "border-top-color"
    ],
    "appliesto": "allElements",
    "computed": [
      "border-top-width",
      "border-top-style",
      "border-top-color"
    ],
    "order": "orderOfAppearance",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-top"
  },
  "border-top-color": {
    "syntax": "<color>",
    "media": "visual",
    "inherited": false,
    "animationType": "color",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "currentcolor",
    "appliesto": "allElements",
    "computed": "computedColor",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-top-color"
  },
  "border-top-left-radius": {
    "syntax": "<length-percentage>{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToDimensionOfBorderBox",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "0",
    "appliesto": "allElementsUAsNotRequiredWhenCollapse",
    "computed": "twoAbsoluteLengthOrPercentages",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius"
  },
  "border-top-right-radius": {
    "syntax": "<length-percentage>{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToDimensionOfBorderBox",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "0",
    "appliesto": "allElementsUAsNotRequiredWhenCollapse",
    "computed": "twoAbsoluteLengthOrPercentages",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius"
  },
  "border-top-style": {
    "syntax": "<line-style>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-top-style"
  },
  "border-top-width": {
    "syntax": "<line-width>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "medium",
    "appliesto": "allElements",
    "computed": "absoluteLengthOr0IfBorderTopStyleNoneOrHidden",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-top-width"
  },
  "border-width": {
    "syntax": "<line-width>{1,4}",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "border-bottom-width",
      "border-left-width",
      "border-right-width",
      "border-top-width"
    ],
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": [
      "border-top-width",
      "border-right-width",
      "border-bottom-width",
      "border-left-width"
    ],
    "appliesto": "allElements",
    "computed": [
      "border-bottom-width",
      "border-left-width",
      "border-right-width",
      "border-top-width"
    ],
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/border-width"
  },
  "bottom": {
    "syntax": "<length> | <percentage> | auto",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToContainingBlockHeight",
    "groups": [
      "CSS Positioning"
    ],
    "initial": "auto",
    "appliesto": "positionedElements",
    "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/bottom"
  },
  "box-align": {
    "syntax": "start | center | end | baseline | stretch",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions",
      "WebKit Extensions"
    ],
    "initial": "stretch",
    "appliesto": "elementsWithDisplayBoxOrInlineBox",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-align"
  },
  "box-decoration-break": {
    "syntax": "slice | clone",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Fragmentation"
    ],
    "initial": "slice",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-decoration-break"
  },
  "box-direction": {
    "syntax": "normal | reverse | inherit",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions",
      "WebKit Extensions"
    ],
    "initial": "normal",
    "appliesto": "elementsWithDisplayBoxOrInlineBox",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-direction"
  },
  "box-flex": {
    "syntax": "<number>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions",
      "WebKit Extensions"
    ],
    "initial": "0",
    "appliesto": "directChildrenOfElementsWithDisplayMozBoxMozInlineBox",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-flex"
  },
  "box-flex-group": {
    "syntax": "<integer>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions",
      "WebKit Extensions"
    ],
    "initial": "1",
    "appliesto": "inFlowChildrenOfBoxElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-flex-group"
  },
  "box-lines": {
    "syntax": "single | multiple",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions",
      "WebKit Extensions"
    ],
    "initial": "single",
    "appliesto": "boxElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-lines"
  },
  "box-ordinal-group": {
    "syntax": "<integer>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions",
      "WebKit Extensions"
    ],
    "initial": "1",
    "appliesto": "childrenOfBoxElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-ordinal-group"
  },
  "box-orient": {
    "syntax": "horizontal | vertical | inline-axis | block-axis | inherit",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions",
      "WebKit Extensions"
    ],
    "initial": "inlineAxisHorizontalInXUL",
    "appliesto": "elementsWithDisplayBoxOrInlineBox",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-orient"
  },
  "box-pack": {
    "syntax": "start | center | end | justify",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions",
      "WebKit Extensions"
    ],
    "initial": "start",
    "appliesto": "elementsWithDisplayMozBoxMozInlineBox",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-pack"
  },
  "box-shadow": {
    "syntax": "none | <shadow>#",
    "media": "visual",
    "inherited": false,
    "animationType": "shadowList",
    "percentages": "no",
    "groups": [
      "CSS Backgrounds and Borders"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "absoluteLengthsSpecifiedColorAsSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-shadow"
  },
  "box-sizing": {
    "syntax": "content-box | border-box",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Basic User Interface"
    ],
    "initial": "content-box",
    "appliesto": "allElementsAcceptingWidthOrHeight",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/box-sizing"
  },
  "break-after": {
    "syntax": "auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Fragmentation"
    ],
    "initial": "auto",
    "appliesto": "blockLevelElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/break-after"
  },
  "break-before": {
    "syntax": "auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Fragmentation"
    ],
    "initial": "auto",
    "appliesto": "blockLevelElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/break-before"
  },
  "break-inside": {
    "syntax": "auto | avoid | avoid-page | avoid-column | avoid-region",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Fragmentation"
    ],
    "initial": "auto",
    "appliesto": "blockLevelElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/break-inside"
  },
  "caption-side": {
    "syntax": "top | bottom | block-start | block-end | inline-start | inline-end",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Table"
    ],
    "initial": "top",
    "appliesto": "tableCaptionElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/caption-side"
  },
  "caret-color": {
    "syntax": "auto | <color>",
    "media": "interactive",
    "inherited": true,
    "animationType": "color",
    "percentages": "no",
    "groups": [
      "CSS Basic User Interface"
    ],
    "initial": "auto",
    "appliesto": "allElements",
    "computed": "asAutoOrColor",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/caret-color"
  },
  "clear": {
    "syntax": "none | left | right | both | inline-start | inline-end",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Positioning"
    ],
    "initial": "none",
    "appliesto": "blockLevelElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/clear"
  },
  "clip": {
    "syntax": "<shape> | auto",
    "media": "visual",
    "inherited": false,
    "animationType": "rectangle",
    "percentages": "no",
    "groups": [
      "CSS Masking"
    ],
    "initial": "auto",
    "appliesto": "absolutelyPositionedElements",
    "computed": "autoOrRectangle",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/clip"
  },
  "clip-path": {
    "syntax": "<clip-source> | [ <basic-shape> || <geometry-box> ] | none",
    "media": "visual",
    "inherited": false,
    "animationType": "basicShapeOtherwiseNo",
    "percentages": "referToReferenceBoxWhenSpecifiedOtherwiseBorderBox",
    "groups": [
      "CSS Masking"
    ],
    "initial": "none",
    "appliesto": "allElementsSVGContainerElements",
    "computed": "asSpecifiedURLsAbsolute",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/clip-path"
  },
  "color": {
    "syntax": "<color>",
    "media": "visual",
    "inherited": true,
    "animationType": "color",
    "percentages": "no",
    "groups": [
      "CSS Color"
    ],
    "initial": "variesFromBrowserToBrowser",
    "appliesto": "allElements",
    "computed": "translucentValuesRGBAOtherwiseRGB",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/color"
  },
  "color-adjust": {
    "syntax": "economy | exact",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Color"
    ],
    "initial": "economy",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/color-adjust"
  },
  "column-count": {
    "syntax": "<integer> | auto",
    "media": "visual",
    "inherited": false,
    "animationType": "integer",
    "percentages": "no",
    "groups": [
      "CSS Columns"
    ],
    "initial": "auto",
    "appliesto": "blockContainersExceptTableWrappers",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-count"
  },
  "column-fill": {
    "syntax": "auto | balance | balance-all",
    "media": "visualInContinuousMediaNoEffectInOverflowColumns",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Columns"
    ],
    "initial": "balance",
    "appliesto": "multicolElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-fill"
  },
  "column-gap": {
    "syntax": "normal | <length-percentage>",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToDimensionOfContentArea",
    "groups": [
      "CSS Box Alignment"
    ],
    "initial": "normal",
    "appliesto": "multiColumnElementsFlexContainersGridContainers",
    "computed": "asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-gap"
  },
  "column-rule": {
    "syntax": "<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "column-rule-color",
      "column-rule-style",
      "column-rule-width"
    ],
    "percentages": "no",
    "groups": [
      "CSS Columns"
    ],
    "initial": [
      "column-rule-width",
      "column-rule-style",
      "column-rule-color"
    ],
    "appliesto": "multicolElements",
    "computed": [
      "column-rule-color",
      "column-rule-style",
      "column-rule-width"
    ],
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-rule"
  },
  "column-rule-color": {
    "syntax": "<color>",
    "media": "visual",
    "inherited": false,
    "animationType": "color",
    "percentages": "no",
    "groups": [
      "CSS Columns"
    ],
    "initial": "currentcolor",
    "appliesto": "multicolElements",
    "computed": "computedColor",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-rule-color"
  },
  "column-rule-style": {
    "syntax": "<'border-style'>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Columns"
    ],
    "initial": "none",
    "appliesto": "multicolElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-rule-style"
  },
  "column-rule-width": {
    "syntax": "<'border-width'>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "no",
    "groups": [
      "CSS Columns"
    ],
    "initial": "medium",
    "appliesto": "multicolElements",
    "computed": "absoluteLength0IfColumnRuleStyleNoneOrHidden",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-rule-width"
  },
  "column-span": {
    "syntax": "none | all",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Columns"
    ],
    "initial": "none",
    "appliesto": "inFlowBlockLevelElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-span"
  },
  "column-width": {
    "syntax": "<length> | auto",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "no",
    "groups": [
      "CSS Columns"
    ],
    "initial": "auto",
    "appliesto": "blockContainersExceptTableWrappers",
    "computed": "absoluteLengthZeroOrLarger",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-width"
  },
  "columns": {
    "syntax": "<'column-width'> || <'column-count'>",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "column-width",
      "column-count"
    ],
    "percentages": "no",
    "groups": [
      "CSS Columns"
    ],
    "initial": [
      "column-width",
      "column-count"
    ],
    "appliesto": "blockContainersExceptTableWrappers",
    "computed": [
      "column-width",
      "column-count"
    ],
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/columns"
  },
  "contain": {
    "syntax": "none | strict | content | [ size || layout || style || paint ]",
    "media": "all",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Containment"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/contain"
  },
  "content": {
    "syntax": "normal | none | [ <content-replacement> | <content-list> ] [/ <string> ]?",
    "media": "all",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Generated Content"
    ],
    "initial": "normal",
    "appliesto": "beforeAndAfterPseudos",
    "computed": "normalOnElementsForPseudosNoneAbsoluteURIStringOrAsSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/content"
  },
  "counter-increment": {
    "syntax": "[ <custom-ident> <integer>? ]+ | none",
    "media": "all",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Counter Styles"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/counter-increment"
  },
  "counter-reset": {
    "syntax": "[ <custom-ident> <integer>? ]+ | none",
    "media": "all",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Counter Styles"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/counter-reset"
  },
  "counter-set": {
    "syntax": "[ <custom-ident> <integer>? ]+ | none",
    "media": "all",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Counter Styles"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/counter-set"
  },
  "cursor": {
    "syntax": "[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing ] ]",
    "media": [
      "visual",
      "interactive"
    ],
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Basic User Interface"
    ],
    "initial": "auto",
    "appliesto": "allElements",
    "computed": "asSpecifiedURLsAbsolute",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/cursor"
  },
  "direction": {
    "syntax": "ltr | rtl",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Writing Modes"
    ],
    "initial": "ltr",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/direction"
  },
  "display": {
    "syntax": "[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy>",
    "media": "all",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Display"
    ],
    "initial": "inline",
    "appliesto": "allElements",
    "computed": "asSpecifiedExceptPositionedFloatingAndRootElementsKeywordMaybeDifferent",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/display"
  },
  "empty-cells": {
    "syntax": "show | hide",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Table"
    ],
    "initial": "show",
    "appliesto": "tableCellElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/empty-cells"
  },
  "filter": {
    "syntax": "none | <filter-function-list>",
    "media": "visual",
    "inherited": false,
    "animationType": "filterList",
    "percentages": "no",
    "groups": [
      "Filter Effects"
    ],
    "initial": "none",
    "appliesto": "allElementsSVGContainerElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/filter"
  },
  "flex": {
    "syntax": "none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "flex-grow",
      "flex-shrink",
      "flex-basis"
    ],
    "percentages": "no",
    "groups": [
      "CSS Flexible Box Layout"
    ],
    "initial": [
      "flex-grow",
      "flex-shrink",
      "flex-basis"
    ],
    "appliesto": "flexItemsAndInFlowPseudos",
    "computed": [
      "flex-grow",
      "flex-shrink",
      "flex-basis"
    ],
    "order": "orderOfAppearance",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/flex"
  },
  "flex-basis": {
    "syntax": "content | <'width'>",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToFlexContainersInnerMainSize",
    "groups": [
      "CSS Flexible Box Layout"
    ],
    "initial": "auto",
    "appliesto": "flexItemsAndInFlowPseudos",
    "computed": "asSpecifiedRelativeToAbsoluteLengths",
    "order": "lengthOrPercentageBeforeKeywordIfBothPresent",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/flex-basis"
  },
  "flex-direction": {
    "syntax": "row | row-reverse | column | column-reverse",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Flexible Box Layout"
    ],
    "initial": "row",
    "appliesto": "flexContainers",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/flex-direction"
  },
  "flex-flow": {
    "syntax": "<'flex-direction'> || <'flex-wrap'>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Flexible Box Layout"
    ],
    "initial": [
      "flex-direction",
      "flex-wrap"
    ],
    "appliesto": "flexContainers",
    "computed": [
      "flex-direction",
      "flex-wrap"
    ],
    "order": "orderOfAppearance",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/flex-flow"
  },
  "flex-grow": {
    "syntax": "<number>",
    "media": "visual",
    "inherited": false,
    "animationType": "number",
    "percentages": "no",
    "groups": [
      "CSS Flexible Box Layout"
    ],
    "initial": "0",
    "appliesto": "flexItemsAndInFlowPseudos",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/flex-grow"
  },
  "flex-shrink": {
    "syntax": "<number>",
    "media": "visual",
    "inherited": false,
    "animationType": "number",
    "percentages": "no",
    "groups": [
      "CSS Flexible Box Layout"
    ],
    "initial": "1",
    "appliesto": "flexItemsAndInFlowPseudos",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/flex-shrink"
  },
  "flex-wrap": {
    "syntax": "nowrap | wrap | wrap-reverse",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Flexible Box Layout"
    ],
    "initial": "nowrap",
    "appliesto": "flexContainers",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/flex-wrap"
  },
  "float": {
    "syntax": "left | right | none | inline-start | inline-end",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Positioning"
    ],
    "initial": "none",
    "appliesto": "allElementsNoEffectIfDisplayNone",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/float"
  },
  "font": {
    "syntax": "[ [ <'font-style'> || <font-variant-css21> || <'font-weight'> || <'font-stretch'> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'> ] | caption | icon | menu | message-box | small-caption | status-bar",
    "media": "visual",
    "inherited": true,
    "animationType": [
      "font-style",
      "font-variant",
      "font-weight",
      "font-stretch",
      "font-size",
      "line-height",
      "font-family"
    ],
    "percentages": [
      "font-size",
      "line-height"
    ],
    "groups": [
      "CSS Fonts"
    ],
    "initial": [
      "font-style",
      "font-variant",
      "font-weight",
      "font-stretch",
      "font-size",
      "line-height",
      "font-family"
    ],
    "appliesto": "allElements",
    "computed": [
      "font-style",
      "font-variant",
      "font-weight",
      "font-stretch",
      "font-size",
      "line-height",
      "font-family"
    ],
    "order": "orderOfAppearance",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font"
  },
  "font-family": {
    "syntax": "[ <family-name> | <generic-family> ]#",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Fonts"
    ],
    "initial": "dependsOnUserAgent",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-family"
  },
  "font-feature-settings": {
    "syntax": "normal | <feature-tag-value>#",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Fonts"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-feature-settings"
  },
  "font-kerning": {
    "syntax": "auto | normal | none",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Fonts"
    ],
    "initial": "auto",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-kerning"
  },
  "font-language-override": {
    "syntax": "normal | <string>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Fonts"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-language-override"
  },
  "font-optical-sizing": {
    "syntax": "auto | none",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Fonts"
    ],
    "initial": "auto",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-optical-sizing"
  },
  "font-variation-settings": {
    "syntax": "normal | [ <string> <number> ]#",
    "media": "visual",
    "inherited": true,
    "animationType": "transform",
    "percentages": "no",
    "groups": [
      "CSS Fonts"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variation-settings"
  },
  "font-size": {
    "syntax": "<absolute-size> | <relative-size> | <length-percentage>",
    "media": "visual",
    "inherited": true,
    "animationType": "length",
    "percentages": "referToParentElementsFontSize",
    "groups": [
      "CSS Fonts"
    ],
    "initial": "medium",
    "appliesto": "allElements",
    "computed": "asSpecifiedRelativeToAbsoluteLengths",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-size"
  },
  "font-size-adjust": {
    "syntax": "none | <number>",
    "media": "visual",
    "inherited": true,
    "animationType": "number",
    "percentages": "no",
    "groups": [
      "CSS Fonts"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-size-adjust"
  },
  "font-smooth": {
    "syntax": "auto | never | always | <absolute-size> | <length>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Fonts"
    ],
    "initial": "auto",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-smooth"
  },
  "font-stretch": {
    "syntax": "<font-stretch-absolute>",
    "media": "visual",
    "inherited": true,
    "animationType": "fontStretch",
    "percentages": "no",
    "groups": [
      "CSS Fonts"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-stretch"
  },
  "font-style": {
    "syntax": "normal | italic | oblique <angle>?",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Fonts"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-style"
  },
  "font-synthesis": {
    "syntax": "none | [ weight || style ]",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Fonts"
    ],
    "initial": "weight style",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "orderOfAppearance",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-synthesis"
  },
  "font-variant": {
    "syntax": "normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Fonts"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variant"
  },
  "font-variant-alternates": {
    "syntax": "normal | [ stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) ]",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Fonts"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "orderOfAppearance",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variant-alternates"
  },
  "font-variant-caps": {
    "syntax": "normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Fonts"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variant-caps"
  },
  "font-variant-east-asian": {
    "syntax": "normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ]",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Fonts"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "orderOfAppearance",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian"
  },
  "font-variant-ligatures": {
    "syntax": "normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Fonts"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "orderOfAppearance",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures"
  },
  "font-variant-numeric": {
    "syntax": "normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Fonts"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "orderOfAppearance",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric"
  },
  "font-variant-position": {
    "syntax": "normal | sub | super",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Fonts"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-variant-position"
  },
  "font-weight": {
    "syntax": "<font-weight-absolute> | bolder | lighter",
    "media": "visual",
    "inherited": true,
    "animationType": "fontWeight",
    "percentages": "no",
    "groups": [
      "CSS Fonts"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "keywordOrNumericalValueBolderLighterTransformedToRealValue",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/font-weight"
  },
  "gap": {
    "syntax": "<'row-gap'> <'column-gap'>?",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "row-gap",
      "column-gap"
    ],
    "percentages": "no",
    "groups": [
      "CSS Box Alignment"
    ],
    "initial": [
      "row-gap",
      "column-gap"
    ],
    "appliesto": "multiColumnElementsFlexContainersGridContainers",
    "computed": [
      "row-gap",
      "column-gap"
    ],
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/gap"
  },
  "grid": {
    "syntax": "<'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": [
      "grid-template-rows",
      "grid-template-columns",
      "grid-auto-rows",
      "grid-auto-columns"
    ],
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": [
      "grid-template-rows",
      "grid-template-columns",
      "grid-template-areas",
      "grid-auto-rows",
      "grid-auto-columns",
      "grid-auto-flow",
      "grid-column-gap",
      "grid-row-gap",
      "column-gap",
      "row-gap"
    ],
    "appliesto": "gridContainers",
    "computed": [
      "grid-template-rows",
      "grid-template-columns",
      "grid-template-areas",
      "grid-auto-rows",
      "grid-auto-columns",
      "grid-auto-flow",
      "grid-column-gap",
      "grid-row-gap",
      "column-gap",
      "row-gap"
    ],
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid"
  },
  "grid-area": {
    "syntax": "<grid-line> [ / <grid-line> ]{0,3}",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": [
      "grid-row-start",
      "grid-column-start",
      "grid-row-end",
      "grid-column-end"
    ],
    "appliesto": "gridItemsAndBoxesWithinGridContainer",
    "computed": [
      "grid-row-start",
      "grid-column-start",
      "grid-row-end",
      "grid-column-end"
    ],
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-area"
  },
  "grid-auto-columns": {
    "syntax": "<track-size>+",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "referToDimensionOfContentArea",
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": "auto",
    "appliesto": "gridContainers",
    "computed": "percentageAsSpecifiedOrAbsoluteLength",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns"
  },
  "grid-auto-flow": {
    "syntax": "[ row | column ] || dense",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": "row",
    "appliesto": "gridContainers",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow"
  },
  "grid-auto-rows": {
    "syntax": "<track-size>+",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "referToDimensionOfContentArea",
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": "auto",
    "appliesto": "gridContainers",
    "computed": "percentageAsSpecifiedOrAbsoluteLength",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows"
  },
  "grid-column": {
    "syntax": "<grid-line> [ / <grid-line> ]?",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": [
      "grid-column-start",
      "grid-column-end"
    ],
    "appliesto": "gridItemsAndBoxesWithinGridContainer",
    "computed": [
      "grid-column-start",
      "grid-column-end"
    ],
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-column"
  },
  "grid-column-end": {
    "syntax": "<grid-line>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": "auto",
    "appliesto": "gridItemsAndBoxesWithinGridContainer",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-column-end"
  },
  "grid-column-gap": {
    "syntax": "<length-percentage>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "referToDimensionOfContentArea",
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": "0",
    "appliesto": "gridContainers",
    "computed": "percentageAsSpecifiedOrAbsoluteLength",
    "order": "uniqueOrder",
    "status": "obsolete",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/column-gap"
  },
  "grid-column-start": {
    "syntax": "<grid-line>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": "auto",
    "appliesto": "gridItemsAndBoxesWithinGridContainer",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-column-start"
  },
  "grid-gap": {
    "syntax": "<'grid-row-gap'> <'grid-column-gap'>?",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "grid-row-gap",
      "grid-column-gap"
    ],
    "percentages": "no",
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": [
      "grid-row-gap",
      "grid-column-gap"
    ],
    "appliesto": "gridContainers",
    "computed": [
      "grid-row-gap",
      "grid-column-gap"
    ],
    "order": "uniqueOrder",
    "status": "obsolete",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/gap"
  },
  "grid-row": {
    "syntax": "<grid-line> [ / <grid-line> ]?",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": [
      "grid-row-start",
      "grid-row-end"
    ],
    "appliesto": "gridItemsAndBoxesWithinGridContainer",
    "computed": [
      "grid-row-start",
      "grid-row-end"
    ],
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-row"
  },
  "grid-row-end": {
    "syntax": "<grid-line>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": "auto",
    "appliesto": "gridItemsAndBoxesWithinGridContainer",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-row-end"
  },
  "grid-row-gap": {
    "syntax": "<length-percentage>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "referToDimensionOfContentArea",
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": "0",
    "appliesto": "gridContainers",
    "computed": "percentageAsSpecifiedOrAbsoluteLength",
    "order": "uniqueOrder",
    "status": "obsolete",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/row-gap"
  },
  "grid-row-start": {
    "syntax": "<grid-line>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": "auto",
    "appliesto": "gridItemsAndBoxesWithinGridContainer",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-row-start"
  },
  "grid-template": {
    "syntax": "none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": [
      "grid-template-columns",
      "grid-template-rows"
    ],
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": [
      "grid-template-columns",
      "grid-template-rows",
      "grid-template-areas"
    ],
    "appliesto": "gridContainers",
    "computed": [
      "grid-template-columns",
      "grid-template-rows",
      "grid-template-areas"
    ],
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-template"
  },
  "grid-template-areas": {
    "syntax": "none | <string>+",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": "none",
    "appliesto": "gridContainers",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-template-areas"
  },
  "grid-template-columns": {
    "syntax": "none | <track-list> | <auto-track-list> | subgrid <line-name-list>?",
    "media": "visual",
    "inherited": false,
    "animationType": "simpleListOfLpcDifferenceLpc",
    "percentages": "referToDimensionOfContentArea",
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": "none",
    "appliesto": "gridContainers",
    "computed": "asSpecifiedRelativeToAbsoluteLengths",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-template-columns"
  },
  "grid-template-rows": {
    "syntax": "none | <track-list> | <auto-track-list> | subgrid <line-name-list>?",
    "media": "visual",
    "inherited": false,
    "animationType": "simpleListOfLpcDifferenceLpc",
    "percentages": "referToDimensionOfContentArea",
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": "none",
    "appliesto": "gridContainers",
    "computed": "asSpecifiedRelativeToAbsoluteLengths",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/grid-template-rows"
  },
  "hanging-punctuation": {
    "syntax": "none | [ first || [ force-end | allow-end ] || last ]",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Text"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/hanging-punctuation"
  },
  "height": {
    "syntax": "auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "regardingHeightOfGeneratedBoxContainingBlockPercentagesRelativeToContainingBlock",
    "groups": [
      "CSS Box Model"
    ],
    "initial": "auto",
    "appliesto": "allElementsButNonReplacedAndTableColumns",
    "computed": "percentageAutoOrAbsoluteLength",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/height"
  },
  "hyphens": {
    "syntax": "none | manual | auto",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Text"
    ],
    "initial": "manual",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/hyphens"
  },
  "image-orientation": {
    "syntax": "from-image | <angle> | [ <angle>? flip ]",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Images"
    ],
    "initial": "from-image",
    "appliesto": "allElements",
    "computed": "angleRoundedToNextQuarter",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/image-orientation"
  },
  "image-rendering": {
    "syntax": "auto | crisp-edges | pixelated",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Images"
    ],
    "initial": "auto",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/image-rendering"
  },
  "image-resolution": {
    "syntax": "[ from-image || <resolution> ] && snap?",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Images"
    ],
    "initial": "1dppx",
    "appliesto": "allElements",
    "computed": "asSpecifiedWithExceptionOfResolution",
    "order": "uniqueOrder",
    "status": "experimental"
  },
  "ime-mode": {
    "syntax": "auto | normal | active | inactive | disabled",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Basic User Interface"
    ],
    "initial": "auto",
    "appliesto": "textFields",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "obsolete",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/ime-mode"
  },
  "initial-letter": {
    "syntax": "normal | [ <number> <integer>? ]",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Inline"
    ],
    "initial": "normal",
    "appliesto": "firstLetterPseudoElementsAndInlineLevelFirstChildren",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "experimental",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/initial-letter"
  },
  "initial-letter-align": {
    "syntax": "[ auto | alphabetic | hanging | ideographic ]",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Inline"
    ],
    "initial": "auto",
    "appliesto": "firstLetterPseudoElementsAndInlineLevelFirstChildren",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "experimental",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/initial-letter-align"
  },
  "inline-size": {
    "syntax": "<'width'>",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "inlineSizeOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "auto",
    "appliesto": "sameAsWidthAndHeight",
    "computed": "sameAsWidthAndHeight",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inline-size"
  },
  "inset": {
    "syntax": "<'top'>{1,4}",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "logicalHeightOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "auto",
    "appliesto": "positionedElements",
    "computed": "sameAsBoxOffsets",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inset"
  },
  "inset-block": {
    "syntax": "<'top'>{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "logicalHeightOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "auto",
    "appliesto": "positionedElements",
    "computed": "sameAsBoxOffsets",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inset-block"
  },
  "inset-block-end": {
    "syntax": "<'top'>",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "logicalHeightOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "auto",
    "appliesto": "positionedElements",
    "computed": "sameAsBoxOffsets",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inset-block-end"
  },
  "inset-block-start": {
    "syntax": "<'top'>",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "logicalHeightOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "auto",
    "appliesto": "positionedElements",
    "computed": "sameAsBoxOffsets",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inset-block-start"
  },
  "inset-inline": {
    "syntax": "<'top'>{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "logicalWidthOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "auto",
    "appliesto": "positionedElements",
    "computed": "sameAsBoxOffsets",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inset-inline"
  },
  "inset-inline-end": {
    "syntax": "<'top'>",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "logicalWidthOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "auto",
    "appliesto": "positionedElements",
    "computed": "sameAsBoxOffsets",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inset-inline-end"
  },
  "inset-inline-start": {
    "syntax": "<'top'>",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "logicalWidthOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "auto",
    "appliesto": "positionedElements",
    "computed": "sameAsBoxOffsets",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/inset-inline-start"
  },
  "isolation": {
    "syntax": "auto | isolate",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Compositing and Blending"
    ],
    "initial": "auto",
    "appliesto": "allElementsSVGContainerGraphicsAndGraphicsReferencingElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/isolation"
  },
  "justify-content": {
    "syntax": "normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Box Alignment"
    ],
    "initial": "normal",
    "appliesto": "flexContainers",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/justify-content"
  },
  "justify-items": {
    "syntax": "normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Box Alignment"
    ],
    "initial": "legacy",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/justify-items"
  },
  "justify-self": {
    "syntax": "auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Box Alignment"
    ],
    "initial": "auto",
    "appliesto": "blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/justify-self"
  },
  "justify-tracks": {
    "syntax": "[ normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ] ]#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": "normal",
    "appliesto": "gridContainersWithMasonryLayoutInTheirInlineAxis",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "experimental",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/justify-tracks"
  },
  "left": {
    "syntax": "<length> | <percentage> | auto",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToWidthOfContainingBlock",
    "groups": [
      "CSS Positioning"
    ],
    "initial": "auto",
    "appliesto": "positionedElements",
    "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/left"
  },
  "letter-spacing": {
    "syntax": "normal | <length>",
    "media": "visual",
    "inherited": true,
    "animationType": "length",
    "percentages": "no",
    "groups": [
      "CSS Text"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "optimumValueOfAbsoluteLengthOrNormal",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/letter-spacing"
  },
  "line-break": {
    "syntax": "auto | loose | normal | strict | anywhere",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Text"
    ],
    "initial": "auto",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/line-break"
  },
  "line-clamp": {
    "syntax": "none | <integer>",
    "media": "visual",
    "inherited": false,
    "animationType": "integer",
    "percentages": "no",
    "groups": [
      "CSS Overflow"
    ],
    "initial": "none",
    "appliesto": "blockContainersExceptMultiColumnContainers",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "experimental"
  },
  "line-height": {
    "syntax": "normal | <number> | <length> | <percentage>",
    "media": "visual",
    "inherited": true,
    "animationType": "numberOrLength",
    "percentages": "referToElementFontSize",
    "groups": [
      "CSS Fonts"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "absoluteLengthOrAsSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/line-height"
  },
  "line-height-step": {
    "syntax": "<length>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Fonts"
    ],
    "initial": "0",
    "appliesto": "blockContainers",
    "computed": "absoluteLength",
    "order": "perGrammar",
    "status": "experimental",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/line-height-step"
  },
  "list-style": {
    "syntax": "<'list-style-type'> || <'list-style-position'> || <'list-style-image'>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Lists and Counters"
    ],
    "initial": [
      "list-style-type",
      "list-style-position",
      "list-style-image"
    ],
    "appliesto": "listItems",
    "computed": [
      "list-style-image",
      "list-style-position",
      "list-style-type"
    ],
    "order": "orderOfAppearance",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/list-style"
  },
  "list-style-image": {
    "syntax": "<url> | none",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Lists and Counters"
    ],
    "initial": "none",
    "appliesto": "listItems",
    "computed": "noneOrImageWithAbsoluteURI",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/list-style-image"
  },
  "list-style-position": {
    "syntax": "inside | outside",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Lists and Counters"
    ],
    "initial": "outside",
    "appliesto": "listItems",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/list-style-position"
  },
  "list-style-type": {
    "syntax": "<counter-style> | <string> | none",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Lists and Counters"
    ],
    "initial": "disc",
    "appliesto": "listItems",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/list-style-type"
  },
  "margin": {
    "syntax": "[ <length> | <percentage> | auto ]{1,4}",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "referToWidthOfContainingBlock",
    "groups": [
      "CSS Box Model"
    ],
    "initial": [
      "margin-bottom",
      "margin-left",
      "margin-right",
      "margin-top"
    ],
    "appliesto": "allElementsExceptTableDisplayTypes",
    "computed": [
      "margin-bottom",
      "margin-left",
      "margin-right",
      "margin-top"
    ],
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin"
  },
  "margin-block": {
    "syntax": "<'margin-left'>{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "dependsOnLayoutModel",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "0",
    "appliesto": "sameAsMargin",
    "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-block"
  },
  "margin-block-end": {
    "syntax": "<'margin-left'>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "dependsOnLayoutModel",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "0",
    "appliesto": "sameAsMargin",
    "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-block-end"
  },
  "margin-block-start": {
    "syntax": "<'margin-left'>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "dependsOnLayoutModel",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "0",
    "appliesto": "sameAsMargin",
    "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-block-start"
  },
  "margin-bottom": {
    "syntax": "<length> | <percentage> | auto",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "referToWidthOfContainingBlock",
    "groups": [
      "CSS Box Model"
    ],
    "initial": "0",
    "appliesto": "allElementsExceptTableDisplayTypes",
    "computed": "percentageAsSpecifiedOrAbsoluteLength",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-bottom"
  },
  "margin-inline": {
    "syntax": "<'margin-left'>{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "dependsOnLayoutModel",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "0",
    "appliesto": "sameAsMargin",
    "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-inline"
  },
  "margin-inline-end": {
    "syntax": "<'margin-left'>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "dependsOnLayoutModel",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "0",
    "appliesto": "sameAsMargin",
    "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-inline-end"
  },
  "margin-inline-start": {
    "syntax": "<'margin-left'>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "dependsOnLayoutModel",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "0",
    "appliesto": "sameAsMargin",
    "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-inline-start"
  },
  "margin-left": {
    "syntax": "<length> | <percentage> | auto",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "referToWidthOfContainingBlock",
    "groups": [
      "CSS Box Model"
    ],
    "initial": "0",
    "appliesto": "allElementsExceptTableDisplayTypes",
    "computed": "percentageAsSpecifiedOrAbsoluteLength",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-left"
  },
  "margin-right": {
    "syntax": "<length> | <percentage> | auto",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "referToWidthOfContainingBlock",
    "groups": [
      "CSS Box Model"
    ],
    "initial": "0",
    "appliesto": "allElementsExceptTableDisplayTypes",
    "computed": "percentageAsSpecifiedOrAbsoluteLength",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-right"
  },
  "margin-top": {
    "syntax": "<length> | <percentage> | auto",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "referToWidthOfContainingBlock",
    "groups": [
      "CSS Box Model"
    ],
    "initial": "0",
    "appliesto": "allElementsExceptTableDisplayTypes",
    "computed": "percentageAsSpecifiedOrAbsoluteLength",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-top"
  },
  "margin-trim": {
    "syntax": "none | in-flow | all",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Box Model"
    ],
    "initial": "none",
    "appliesto": "blockContainersAndMultiColumnContainers",
    "computed": "asSpecified",
    "order": "perGrammar",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line"
    ],
    "status": "experimental",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/margin-trim"
  },
  "mask": {
    "syntax": "<mask-layer>#",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "mask-image",
      "mask-mode",
      "mask-repeat",
      "mask-position",
      "mask-clip",
      "mask-origin",
      "mask-size",
      "mask-composite"
    ],
    "percentages": [
      "mask-position"
    ],
    "groups": [
      "CSS Masking"
    ],
    "initial": [
      "mask-image",
      "mask-mode",
      "mask-repeat",
      "mask-position",
      "mask-clip",
      "mask-origin",
      "mask-size",
      "mask-composite"
    ],
    "appliesto": "allElementsSVGContainerElements",
    "computed": [
      "mask-image",
      "mask-mode",
      "mask-repeat",
      "mask-position",
      "mask-clip",
      "mask-origin",
      "mask-size",
      "mask-composite"
    ],
    "order": "perGrammar",
    "stacking": true,
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask"
  },
  "mask-border": {
    "syntax": "<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "mask-border-mode",
      "mask-border-outset",
      "mask-border-repeat",
      "mask-border-slice",
      "mask-border-source",
      "mask-border-width"
    ],
    "percentages": [
      "mask-border-slice",
      "mask-border-width"
    ],
    "groups": [
      "CSS Masking"
    ],
    "initial": [
      "mask-border-mode",
      "mask-border-outset",
      "mask-border-repeat",
      "mask-border-slice",
      "mask-border-source",
      "mask-border-width"
    ],
    "appliesto": "allElementsSVGContainerElements",
    "computed": [
      "mask-border-mode",
      "mask-border-outset",
      "mask-border-repeat",
      "mask-border-slice",
      "mask-border-source",
      "mask-border-width"
    ],
    "order": "perGrammar",
    "stacking": true,
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-border"
  },
  "mask-border-mode": {
    "syntax": "luminance | alpha",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Masking"
    ],
    "initial": "alpha",
    "appliesto": "allElementsSVGContainerElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-border-mode"
  },
  "mask-border-outset": {
    "syntax": "[ <length> | <number> ]{1,4}",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Masking"
    ],
    "initial": "0",
    "appliesto": "allElementsSVGContainerElements",
    "computed": "asSpecifiedRelativeToAbsoluteLengths",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-border-outset"
  },
  "mask-border-repeat": {
    "syntax": "[ stretch | repeat | round | space ]{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Masking"
    ],
    "initial": "stretch",
    "appliesto": "allElementsSVGContainerElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-border-repeat"
  },
  "mask-border-slice": {
    "syntax": "<number-percentage>{1,4} fill?",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "referToSizeOfMaskBorderImage",
    "groups": [
      "CSS Masking"
    ],
    "initial": "0",
    "appliesto": "allElementsSVGContainerElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-border-slice"
  },
  "mask-border-source": {
    "syntax": "none | <image>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Masking"
    ],
    "initial": "none",
    "appliesto": "allElementsSVGContainerElements",
    "computed": "asSpecifiedURLsAbsolute",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-border-source"
  },
  "mask-border-width": {
    "syntax": "[ <length-percentage> | <number> | auto ]{1,4}",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "relativeToMaskBorderImageArea",
    "groups": [
      "CSS Masking"
    ],
    "initial": "auto",
    "appliesto": "allElementsSVGContainerElements",
    "computed": "asSpecifiedRelativeToAbsoluteLengths",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-border-width"
  },
  "mask-clip": {
    "syntax": "[ <geometry-box> | no-clip ]#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Masking"
    ],
    "initial": "border-box",
    "appliesto": "allElementsSVGContainerElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-clip"
  },
  "mask-composite": {
    "syntax": "<compositing-operator>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Masking"
    ],
    "initial": "add",
    "appliesto": "allElementsSVGContainerElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-composite"
  },
  "mask-image": {
    "syntax": "<mask-reference>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Masking"
    ],
    "initial": "none",
    "appliesto": "allElementsSVGContainerElements",
    "computed": "asSpecifiedURLsAbsolute",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-image"
  },
  "mask-mode": {
    "syntax": "<masking-mode>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Masking"
    ],
    "initial": "match-source",
    "appliesto": "allElementsSVGContainerElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-mode"
  },
  "mask-origin": {
    "syntax": "<geometry-box>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Masking"
    ],
    "initial": "border-box",
    "appliesto": "allElementsSVGContainerElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-origin"
  },
  "mask-position": {
    "syntax": "<position>#",
    "media": "visual",
    "inherited": false,
    "animationType": "repeatableListOfSimpleListOfLpc",
    "percentages": "referToSizeOfMaskPaintingArea",
    "groups": [
      "CSS Masking"
    ],
    "initial": "center",
    "appliesto": "allElementsSVGContainerElements",
    "computed": "consistsOfTwoKeywordsForOriginAndOffsets",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-position"
  },
  "mask-repeat": {
    "syntax": "<repeat-style>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Masking"
    ],
    "initial": "no-repeat",
    "appliesto": "allElementsSVGContainerElements",
    "computed": "consistsOfTwoDimensionKeywords",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-repeat"
  },
  "mask-size": {
    "syntax": "<bg-size>#",
    "media": "visual",
    "inherited": false,
    "animationType": "repeatableListOfSimpleListOfLpc",
    "percentages": "no",
    "groups": [
      "CSS Masking"
    ],
    "initial": "auto",
    "appliesto": "allElementsSVGContainerElements",
    "computed": "asSpecifiedRelativeToAbsoluteLengths",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-size"
  },
  "mask-type": {
    "syntax": "luminance | alpha",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Masking"
    ],
    "initial": "luminance",
    "appliesto": "maskElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mask-type"
  },
  "masonry-auto-flow": {
    "syntax": "[ pack | next ] || [ definite-first | ordered ]",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Grid Layout"
    ],
    "initial": "pack",
    "appliesto": "gridContainersWithMasonryLayout",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "experimental",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/masonry-auto-flow"
  },
  "math-style": {
    "syntax": "normal | compact",
    "media": "visual",
    "inherited": true,
    "animationType": "notAnimatable",
    "percentages": "no",
    "groups": [
      "MathML"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/math-style"
  },
  "max-block-size": {
    "syntax": "<'max-width'>",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "blockSizeOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "0",
    "appliesto": "sameAsWidthAndHeight",
    "computed": "sameAsMaxWidthAndMaxHeight",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/max-block-size"
  },
  "max-height": {
    "syntax": "none | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "regardingHeightOfGeneratedBoxContainingBlockPercentagesNone",
    "groups": [
      "CSS Box Model"
    ],
    "initial": "none",
    "appliesto": "allElementsButNonReplacedAndTableColumns",
    "computed": "percentageAsSpecifiedAbsoluteLengthOrNone",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/max-height"
  },
  "max-inline-size": {
    "syntax": "<'max-width'>",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "inlineSizeOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "0",
    "appliesto": "sameAsWidthAndHeight",
    "computed": "sameAsMaxWidthAndMaxHeight",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/max-inline-size"
  },
  "max-lines": {
    "syntax": "none | <integer>",
    "media": "visual",
    "inherited": false,
    "animationType": "integer",
    "percentages": "no",
    "groups": [
      "CSS Overflow"
    ],
    "initial": "none",
    "appliesto": "blockContainersExceptMultiColumnContainers",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "experimental"
  },
  "max-width": {
    "syntax": "none | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToWidthOfContainingBlock",
    "groups": [
      "CSS Box Model"
    ],
    "initial": "none",
    "appliesto": "allElementsButNonReplacedAndTableRows",
    "computed": "percentageAsSpecifiedAbsoluteLengthOrNone",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/max-width"
  },
  "min-block-size": {
    "syntax": "<'min-width'>",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "blockSizeOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "0",
    "appliesto": "sameAsWidthAndHeight",
    "computed": "sameAsMinWidthAndMinHeight",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/min-block-size"
  },
  "min-height": {
    "syntax": "auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "regardingHeightOfGeneratedBoxContainingBlockPercentages0",
    "groups": [
      "CSS Box Model"
    ],
    "initial": "auto",
    "appliesto": "allElementsButNonReplacedAndTableColumns",
    "computed": "percentageAsSpecifiedOrAbsoluteLength",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/min-height"
  },
  "min-inline-size": {
    "syntax": "<'min-width'>",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "inlineSizeOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "0",
    "appliesto": "sameAsWidthAndHeight",
    "computed": "sameAsMinWidthAndMinHeight",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/min-inline-size"
  },
  "min-width": {
    "syntax": "auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToWidthOfContainingBlock",
    "groups": [
      "CSS Box Model"
    ],
    "initial": "auto",
    "appliesto": "allElementsButNonReplacedAndTableRows",
    "computed": "percentageAsSpecifiedOrAbsoluteLength",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/min-width"
  },
  "mix-blend-mode": {
    "syntax": "<blend-mode>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Compositing and Blending"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "stacking": true,
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode"
  },
  "object-fit": {
    "syntax": "fill | contain | cover | none | scale-down",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Images"
    ],
    "initial": "fill",
    "appliesto": "replacedElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/object-fit"
  },
  "object-position": {
    "syntax": "<position>",
    "media": "visual",
    "inherited": true,
    "animationType": "repeatableListOfSimpleListOfLpc",
    "percentages": "referToWidthAndHeightOfElement",
    "groups": [
      "CSS Images"
    ],
    "initial": "50% 50%",
    "appliesto": "replacedElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/object-position"
  },
  "offset": {
    "syntax": "[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "offset-position",
      "offset-path",
      "offset-distance",
      "offset-anchor",
      "offset-rotate"
    ],
    "percentages": [
      "offset-position",
      "offset-distance",
      "offset-anchor"
    ],
    "groups": [
      "CSS Motion Path"
    ],
    "initial": [
      "offset-position",
      "offset-path",
      "offset-distance",
      "offset-anchor",
      "offset-rotate"
    ],
    "appliesto": "transformableElements",
    "computed": [
      "offset-position",
      "offset-path",
      "offset-distance",
      "offset-anchor",
      "offset-rotate"
    ],
    "order": "perGrammar",
    "stacking": true,
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/offset"
  },
  "offset-anchor": {
    "syntax": "auto | <position>",
    "media": "visual",
    "inherited": false,
    "animationType": "position",
    "percentages": "relativeToWidthAndHeight",
    "groups": [
      "CSS Motion Path"
    ],
    "initial": "auto",
    "appliesto": "transformableElements",
    "computed": "forLengthAbsoluteValueOtherwisePercentage",
    "order": "perGrammar",
    "status": "standard"
  },
  "offset-distance": {
    "syntax": "<length-percentage>",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToTotalPathLength",
    "groups": [
      "CSS Motion Path"
    ],
    "initial": "0",
    "appliesto": "transformableElements",
    "computed": "forLengthAbsoluteValueOtherwisePercentage",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/offset-distance"
  },
  "offset-path": {
    "syntax": "none | ray( [ <angle> && <size> && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]",
    "media": "visual",
    "inherited": false,
    "animationType": "angleOrBasicShapeOrPath",
    "percentages": "no",
    "groups": [
      "CSS Motion Path"
    ],
    "initial": "none",
    "appliesto": "transformableElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "stacking": true,
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/offset-path"
  },
  "offset-position": {
    "syntax": "auto | <position>",
    "media": "visual",
    "inherited": false,
    "animationType": "position",
    "percentages": "referToSizeOfContainingBlock",
    "groups": [
      "CSS Motion Path"
    ],
    "initial": "auto",
    "appliesto": "transformableElements",
    "computed": "forLengthAbsoluteValueOtherwisePercentage",
    "order": "perGrammar",
    "status": "experimental"
  },
  "offset-rotate": {
    "syntax": "[ auto | reverse ] || <angle>",
    "media": "visual",
    "inherited": false,
    "animationType": "angleOrBasicShapeOrPath",
    "percentages": "no",
    "groups": [
      "CSS Motion Path"
    ],
    "initial": "auto",
    "appliesto": "transformableElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/offset-rotate"
  },
  "opacity": {
    "syntax": "<alpha-value>",
    "media": "visual",
    "inherited": false,
    "animationType": "number",
    "percentages": "no",
    "groups": [
      "CSS Color"
    ],
    "initial": "1.0",
    "appliesto": "allElements",
    "computed": "specifiedValueClipped0To1",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/opacity"
  },
  "order": {
    "syntax": "<integer>",
    "media": "visual",
    "inherited": false,
    "animationType": "integer",
    "percentages": "no",
    "groups": [
      "CSS Flexible Box Layout"
    ],
    "initial": "0",
    "appliesto": "flexItemsGridItemsAbsolutelyPositionedContainerChildren",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/order"
  },
  "orphans": {
    "syntax": "<integer>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Fragmentation"
    ],
    "initial": "2",
    "appliesto": "blockContainerElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/orphans"
  },
  "outline": {
    "syntax": "[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]",
    "media": [
      "visual",
      "interactive"
    ],
    "inherited": false,
    "animationType": [
      "outline-color",
      "outline-width",
      "outline-style"
    ],
    "percentages": "no",
    "groups": [
      "CSS Basic User Interface"
    ],
    "initial": [
      "outline-color",
      "outline-style",
      "outline-width"
    ],
    "appliesto": "allElements",
    "computed": [
      "outline-color",
      "outline-width",
      "outline-style"
    ],
    "order": "orderOfAppearance",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/outline"
  },
  "outline-color": {
    "syntax": "<color> | invert",
    "media": [
      "visual",
      "interactive"
    ],
    "inherited": false,
    "animationType": "color",
    "percentages": "no",
    "groups": [
      "CSS Basic User Interface"
    ],
    "initial": "invertOrCurrentColor",
    "appliesto": "allElements",
    "computed": "invertForTranslucentColorRGBAOtherwiseRGB",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/outline-color"
  },
  "outline-offset": {
    "syntax": "<length>",
    "media": [
      "visual",
      "interactive"
    ],
    "inherited": false,
    "animationType": "length",
    "percentages": "no",
    "groups": [
      "CSS Basic User Interface"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "asSpecifiedRelativeToAbsoluteLengths",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/outline-offset"
  },
  "outline-style": {
    "syntax": "auto | <'border-style'>",
    "media": [
      "visual",
      "interactive"
    ],
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Basic User Interface"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/outline-style"
  },
  "outline-width": {
    "syntax": "<line-width>",
    "media": [
      "visual",
      "interactive"
    ],
    "inherited": false,
    "animationType": "length",
    "percentages": "no",
    "groups": [
      "CSS Basic User Interface"
    ],
    "initial": "medium",
    "appliesto": "allElements",
    "computed": "absoluteLength0ForNone",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/outline-width"
  },
  "overflow": {
    "syntax": "[ visible | hidden | clip | scroll | auto ]{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Overflow"
    ],
    "initial": "visible",
    "appliesto": "blockContainersFlexContainersGridContainers",
    "computed": [
      "overflow-x",
      "overflow-y"
    ],
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overflow"
  },
  "overflow-anchor": {
    "syntax": "auto | none",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Scroll Anchoring"
    ],
    "initial": "auto",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard"
  },
  "overflow-block": {
    "syntax": "visible | hidden | clip | scroll | auto",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Overflow"
    ],
    "initial": "auto",
    "appliesto": "blockContainersFlexContainersGridContainers",
    "computed": "asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent",
    "order": "perGrammar",
    "status": "standard"
  },
  "overflow-clip-box": {
    "syntax": "padding-box | content-box",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Mozilla Extensions"
    ],
    "initial": "padding-box",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Mozilla/CSS/overflow-clip-box"
  },
  "overflow-inline": {
    "syntax": "visible | hidden | clip | scroll | auto",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Overflow"
    ],
    "initial": "auto",
    "appliesto": "blockContainersFlexContainersGridContainers",
    "computed": "asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent",
    "order": "perGrammar",
    "status": "standard"
  },
  "overflow-wrap": {
    "syntax": "normal | break-word | anywhere",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Text"
    ],
    "initial": "normal",
    "appliesto": "nonReplacedInlineElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overflow-wrap"
  },
  "overflow-x": {
    "syntax": "visible | hidden | clip | scroll | auto",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Overflow"
    ],
    "initial": "visible",
    "appliesto": "blockContainersFlexContainersGridContainers",
    "computed": "asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overflow-x"
  },
  "overflow-y": {
    "syntax": "visible | hidden | clip | scroll | auto",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Overflow"
    ],
    "initial": "visible",
    "appliesto": "blockContainersFlexContainersGridContainers",
    "computed": "asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overflow-y"
  },
  "overscroll-behavior": {
    "syntax": "[ contain | none | auto ]{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Box Model"
    ],
    "initial": "auto",
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior"
  },
  "overscroll-behavior-block": {
    "syntax": "contain | none | auto",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Box Model"
    ],
    "initial": "auto",
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-block"
  },
  "overscroll-behavior-inline": {
    "syntax": "contain | none | auto",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Box Model"
    ],
    "initial": "auto",
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-inline"
  },
  "overscroll-behavior-x": {
    "syntax": "contain | none | auto",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Box Model"
    ],
    "initial": "auto",
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-x"
  },
  "overscroll-behavior-y": {
    "syntax": "contain | none | auto",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Box Model"
    ],
    "initial": "auto",
    "appliesto": "nonReplacedBlockAndInlineBlockElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-y"
  },
  "padding": {
    "syntax": "[ <length> | <percentage> ]{1,4}",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "referToWidthOfContainingBlock",
    "groups": [
      "CSS Box Model"
    ],
    "initial": [
      "padding-bottom",
      "padding-left",
      "padding-right",
      "padding-top"
    ],
    "appliesto": "allElementsExceptInternalTableDisplayTypes",
    "computed": [
      "padding-bottom",
      "padding-left",
      "padding-right",
      "padding-top"
    ],
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding"
  },
  "padding-block": {
    "syntax": "<'padding-left'>{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "logicalWidthOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "asLength",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-block"
  },
  "padding-block-end": {
    "syntax": "<'padding-left'>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "logicalWidthOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "asLength",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-block-end"
  },
  "padding-block-start": {
    "syntax": "<'padding-left'>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "logicalWidthOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "asLength",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-block-start"
  },
  "padding-bottom": {
    "syntax": "<length> | <percentage>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "referToWidthOfContainingBlock",
    "groups": [
      "CSS Box Model"
    ],
    "initial": "0",
    "appliesto": "allElementsExceptInternalTableDisplayTypes",
    "computed": "percentageAsSpecifiedOrAbsoluteLength",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-bottom"
  },
  "padding-inline": {
    "syntax": "<'padding-left'>{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "logicalWidthOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "asLength",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-inline"
  },
  "padding-inline-end": {
    "syntax": "<'padding-left'>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "logicalWidthOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "asLength",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-inline-end"
  },
  "padding-inline-start": {
    "syntax": "<'padding-left'>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "logicalWidthOfContainingBlock",
    "groups": [
      "CSS Logical Properties"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "asLength",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-inline-start"
  },
  "padding-left": {
    "syntax": "<length> | <percentage>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "referToWidthOfContainingBlock",
    "groups": [
      "CSS Box Model"
    ],
    "initial": "0",
    "appliesto": "allElementsExceptInternalTableDisplayTypes",
    "computed": "percentageAsSpecifiedOrAbsoluteLength",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-left"
  },
  "padding-right": {
    "syntax": "<length> | <percentage>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "referToWidthOfContainingBlock",
    "groups": [
      "CSS Box Model"
    ],
    "initial": "0",
    "appliesto": "allElementsExceptInternalTableDisplayTypes",
    "computed": "percentageAsSpecifiedOrAbsoluteLength",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-right"
  },
  "padding-top": {
    "syntax": "<length> | <percentage>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "referToWidthOfContainingBlock",
    "groups": [
      "CSS Box Model"
    ],
    "initial": "0",
    "appliesto": "allElementsExceptInternalTableDisplayTypes",
    "computed": "percentageAsSpecifiedOrAbsoluteLength",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/padding-top"
  },
  "page-break-after": {
    "syntax": "auto | always | avoid | left | right | recto | verso",
    "media": [
      "visual",
      "paged"
    ],
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Pages"
    ],
    "initial": "auto",
    "appliesto": "blockElementsInNormalFlow",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/page-break-after"
  },
  "page-break-before": {
    "syntax": "auto | always | avoid | left | right | recto | verso",
    "media": [
      "visual",
      "paged"
    ],
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Pages"
    ],
    "initial": "auto",
    "appliesto": "blockElementsInNormalFlow",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/page-break-before"
  },
  "page-break-inside": {
    "syntax": "auto | avoid",
    "media": [
      "visual",
      "paged"
    ],
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Pages"
    ],
    "initial": "auto",
    "appliesto": "blockElementsInNormalFlow",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/page-break-inside"
  },
  "paint-order": {
    "syntax": "normal | [ fill || stroke || markers ]",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Text"
    ],
    "initial": "normal",
    "appliesto": "textElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/paint-order"
  },
  "perspective": {
    "syntax": "none | <length>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "no",
    "groups": [
      "CSS Transforms"
    ],
    "initial": "none",
    "appliesto": "transformableElements",
    "computed": "absoluteLengthOrNone",
    "order": "uniqueOrder",
    "stacking": true,
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/perspective"
  },
  "perspective-origin": {
    "syntax": "<position>",
    "media": "visual",
    "inherited": false,
    "animationType": "simpleListOfLpc",
    "percentages": "referToSizeOfBoundingBox",
    "groups": [
      "CSS Transforms"
    ],
    "initial": "50% 50%",
    "appliesto": "transformableElements",
    "computed": "forLengthAbsoluteValueOtherwisePercentage",
    "order": "oneOrTwoValuesLengthAbsoluteKeywordsPercentages",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/perspective-origin"
  },
  "place-content": {
    "syntax": "<'align-content'> <'justify-content'>?",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Box Alignment"
    ],
    "initial": "normal",
    "appliesto": "multilineFlexContainers",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/place-content"
  },
  "place-items": {
    "syntax": "<'align-items'> <'justify-items'>?",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Box Alignment"
    ],
    "initial": [
      "align-items",
      "justify-items"
    ],
    "appliesto": "allElements",
    "computed": [
      "align-items",
      "justify-items"
    ],
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/place-items"
  },
  "place-self": {
    "syntax": "<'align-self'> <'justify-self'>?",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Box Alignment"
    ],
    "initial": [
      "align-self",
      "justify-self"
    ],
    "appliesto": "blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems",
    "computed": [
      "align-self",
      "justify-self"
    ],
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/place-self"
  },
  "pointer-events": {
    "syntax": "auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Pointer Events"
    ],
    "initial": "auto",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/pointer-events"
  },
  "position": {
    "syntax": "static | relative | absolute | sticky | fixed",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Positioning"
    ],
    "initial": "static",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "stacking": true,
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/position"
  },
  "quotes": {
    "syntax": "none | auto | [ <string> <string> ]+",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Generated Content"
    ],
    "initial": "dependsOnUserAgent",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/quotes"
  },
  "resize": {
    "syntax": "none | both | horizontal | vertical | block | inline",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Basic User Interface"
    ],
    "initial": "none",
    "appliesto": "elementsWithOverflowNotVisibleAndReplacedElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/resize"
  },
  "right": {
    "syntax": "<length> | <percentage> | auto",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToWidthOfContainingBlock",
    "groups": [
      "CSS Positioning"
    ],
    "initial": "auto",
    "appliesto": "positionedElements",
    "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/right"
  },
  "rotate": {
    "syntax": "none | <angle> | [ x | y | z | <number>{3} ] && <angle>",
    "media": "visual",
    "inherited": false,
    "animationType": "transform",
    "percentages": "no",
    "groups": [
      "CSS Transforms"
    ],
    "initial": "none",
    "appliesto": "transformableElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "stacking": true,
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/rotate"
  },
  "row-gap": {
    "syntax": "normal | <length-percentage>",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToDimensionOfContentArea",
    "groups": [
      "CSS Box Alignment"
    ],
    "initial": "normal",
    "appliesto": "multiColumnElementsFlexContainersGridContainers",
    "computed": "asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/row-gap"
  },
  "ruby-align": {
    "syntax": "start | center | space-between | space-around",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Ruby"
    ],
    "initial": "space-around",
    "appliesto": "rubyBasesAnnotationsBaseAnnotationContainers",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "experimental",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/ruby-align"
  },
  "ruby-merge": {
    "syntax": "separate | collapse | auto",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Ruby"
    ],
    "initial": "separate",
    "appliesto": "rubyAnnotationsContainers",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "experimental"
  },
  "ruby-position": {
    "syntax": "over | under | inter-character",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Ruby"
    ],
    "initial": "over",
    "appliesto": "rubyAnnotationsContainers",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "experimental",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/ruby-position"
  },
  "scale": {
    "syntax": "none | <number>{1,3}",
    "media": "visual",
    "inherited": false,
    "animationType": "transform",
    "percentages": "no",
    "groups": [
      "CSS Transforms"
    ],
    "initial": "none",
    "appliesto": "transformableElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "stacking": true,
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scale"
  },
  "scrollbar-color": {
    "syntax": "auto | dark | light | <color>{2}",
    "media": "visual",
    "inherited": true,
    "animationType": "color",
    "percentages": "no",
    "groups": [
      "CSS Scrollbars"
    ],
    "initial": "auto",
    "appliesto": "scrollingBoxes",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scrollbar-color"
  },
  "scrollbar-gutter": {
    "syntax": "auto | [ stable | always ] && both? && force?",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Overflow"
    ],
    "initial": "auto",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scrollbar-gutter"
  },
  "scrollbar-width": {
    "syntax": "auto | thin | none",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Scrollbars"
    ],
    "initial": "auto",
    "appliesto": "scrollingBoxes",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scrollbar-width"
  },
  "scroll-behavior": {
    "syntax": "auto | smooth",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSSOM View"
    ],
    "initial": "auto",
    "appliesto": "scrollingBoxes",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-behavior"
  },
  "scroll-margin": {
    "syntax": "<length>{1,4}",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "no",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin"
  },
  "scroll-margin-block": {
    "syntax": "<length>{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "no",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block"
  },
  "scroll-margin-block-start": {
    "syntax": "<length>",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "no",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-start"
  },
  "scroll-margin-block-end": {
    "syntax": "<length>",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "no",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-end"
  },
  "scroll-margin-bottom": {
    "syntax": "<length>",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "no",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom"
  },
  "scroll-margin-inline": {
    "syntax": "<length>{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "no",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline"
  },
  "scroll-margin-inline-start": {
    "syntax": "<length>",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "no",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-start"
  },
  "scroll-margin-inline-end": {
    "syntax": "<length>",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "no",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-end"
  },
  "scroll-margin-left": {
    "syntax": "<length>",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "no",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left"
  },
  "scroll-margin-right": {
    "syntax": "<length>",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "no",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right"
  },
  "scroll-margin-top": {
    "syntax": "<length>",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "no",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "0",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top"
  },
  "scroll-padding": {
    "syntax": "[ auto | <length-percentage> ]{1,4}",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "relativeToTheScrollContainersScrollport",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "auto",
    "appliesto": "scrollContainers",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding"
  },
  "scroll-padding-block": {
    "syntax": "[ auto | <length-percentage> ]{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "relativeToTheScrollContainersScrollport",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "auto",
    "appliesto": "scrollContainers",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block"
  },
  "scroll-padding-block-start": {
    "syntax": "auto | <length-percentage>",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "relativeToTheScrollContainersScrollport",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "auto",
    "appliesto": "scrollContainers",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-start"
  },
  "scroll-padding-block-end": {
    "syntax": "auto | <length-percentage>",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "relativeToTheScrollContainersScrollport",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "auto",
    "appliesto": "scrollContainers",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-end"
  },
  "scroll-padding-bottom": {
    "syntax": "auto | <length-percentage>",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "relativeToTheScrollContainersScrollport",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "auto",
    "appliesto": "scrollContainers",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-bottom"
  },
  "scroll-padding-inline": {
    "syntax": "[ auto | <length-percentage> ]{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "relativeToTheScrollContainersScrollport",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "auto",
    "appliesto": "scrollContainers",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline"
  },
  "scroll-padding-inline-start": {
    "syntax": "auto | <length-percentage>",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "relativeToTheScrollContainersScrollport",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "auto",
    "appliesto": "scrollContainers",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-start"
  },
  "scroll-padding-inline-end": {
    "syntax": "auto | <length-percentage>",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "relativeToTheScrollContainersScrollport",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "auto",
    "appliesto": "scrollContainers",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-end"
  },
  "scroll-padding-left": {
    "syntax": "auto | <length-percentage>",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "relativeToTheScrollContainersScrollport",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "auto",
    "appliesto": "scrollContainers",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-left"
  },
  "scroll-padding-right": {
    "syntax": "auto | <length-percentage>",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "relativeToTheScrollContainersScrollport",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "auto",
    "appliesto": "scrollContainers",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-right"
  },
  "scroll-padding-top": {
    "syntax": "auto | <length-percentage>",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "relativeToTheScrollContainersScrollport",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "auto",
    "appliesto": "scrollContainers",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-padding-top"
  },
  "scroll-snap-align": {
    "syntax": "[ none | start | end | center ]{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-align"
  },
  "scroll-snap-coordinate": {
    "syntax": "none | <position>#",
    "media": "interactive",
    "inherited": false,
    "animationType": "position",
    "percentages": "referToBorderBox",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecifiedRelativeToAbsoluteLengths",
    "order": "uniqueOrder",
    "status": "obsolete",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-coordinate"
  },
  "scroll-snap-destination": {
    "syntax": "<position>",
    "media": "interactive",
    "inherited": false,
    "animationType": "position",
    "percentages": "relativeToScrollContainerPaddingBoxAxis",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "0px 0px",
    "appliesto": "scrollContainers",
    "computed": "asSpecifiedRelativeToAbsoluteLengths",
    "order": "uniqueOrder",
    "status": "obsolete",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-destination"
  },
  "scroll-snap-points-x": {
    "syntax": "none | repeat( <length-percentage> )",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "relativeToScrollContainerPaddingBoxAxis",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "none",
    "appliesto": "scrollContainers",
    "computed": "asSpecifiedRelativeToAbsoluteLengths",
    "order": "uniqueOrder",
    "status": "obsolete",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-points-x"
  },
  "scroll-snap-points-y": {
    "syntax": "none | repeat( <length-percentage> )",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "relativeToScrollContainerPaddingBoxAxis",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "none",
    "appliesto": "scrollContainers",
    "computed": "asSpecifiedRelativeToAbsoluteLengths",
    "order": "uniqueOrder",
    "status": "obsolete",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-points-y"
  },
  "scroll-snap-stop": {
    "syntax": "normal | always",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-stop"
  },
  "scroll-snap-type": {
    "syntax": "none | [ x | y | block | inline | both ] [ mandatory | proximity ]?",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type"
  },
  "scroll-snap-type-x": {
    "syntax": "none | mandatory | proximity",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "none",
    "appliesto": "scrollContainers",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "obsolete",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type-x"
  },
  "scroll-snap-type-y": {
    "syntax": "none | mandatory | proximity",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Scroll Snap"
    ],
    "initial": "none",
    "appliesto": "scrollContainers",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "obsolete",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type-y"
  },
  "shape-image-threshold": {
    "syntax": "<alpha-value>",
    "media": "visual",
    "inherited": false,
    "animationType": "number",
    "percentages": "no",
    "groups": [
      "CSS Shapes"
    ],
    "initial": "0.0",
    "appliesto": "floats",
    "computed": "specifiedValueNumberClipped0To1",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/shape-image-threshold"
  },
  "shape-margin": {
    "syntax": "<length-percentage>",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToWidthOfContainingBlock",
    "groups": [
      "CSS Shapes"
    ],
    "initial": "0",
    "appliesto": "floats",
    "computed": "asSpecifiedRelativeToAbsoluteLengths",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/shape-margin"
  },
  "shape-outside": {
    "syntax": "none | <shape-box> || <basic-shape> | <image>",
    "media": "visual",
    "inherited": false,
    "animationType": "basicShapeOtherwiseNo",
    "percentages": "no",
    "groups": [
      "CSS Shapes"
    ],
    "initial": "none",
    "appliesto": "floats",
    "computed": "asDefinedForBasicShapeWithAbsoluteURIOtherwiseAsSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/shape-outside"
  },
  "tab-size": {
    "syntax": "<integer> | <length>",
    "media": "visual",
    "inherited": true,
    "animationType": "length",
    "percentages": "no",
    "groups": [
      "CSS Text"
    ],
    "initial": "8",
    "appliesto": "blockContainers",
    "computed": "specifiedIntegerOrAbsoluteLength",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/tab-size"
  },
  "table-layout": {
    "syntax": "auto | fixed",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Table"
    ],
    "initial": "auto",
    "appliesto": "tableElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/table-layout"
  },
  "text-align": {
    "syntax": "start | end | left | right | center | justify | match-parent",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Text"
    ],
    "initial": "startOrNamelessValueIfLTRRightIfRTL",
    "appliesto": "blockContainers",
    "computed": "asSpecifiedExceptMatchParent",
    "order": "orderOfAppearance",
    "alsoAppliesTo": [
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-align"
  },
  "text-align-last": {
    "syntax": "auto | start | end | left | right | center | justify",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Text"
    ],
    "initial": "auto",
    "appliesto": "blockContainers",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-align-last"
  },
  "text-combine-upright": {
    "syntax": "none | all | [ digits <integer>? ]",
    "media": "visual",
    "inherited": true,
    "animationType": "notAnimatable",
    "percentages": "no",
    "groups": [
      "CSS Writing Modes"
    ],
    "initial": "none",
    "appliesto": "nonReplacedInlineElements",
    "computed": "keywordPlusIntegerIfDigits",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-combine-upright"
  },
  "text-decoration": {
    "syntax": "<'text-decoration-line'> || <'text-decoration-style'> || <'text-decoration-color'> || <'text-decoration-thickness'>",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "text-decoration-color",
      "text-decoration-style",
      "text-decoration-line",
      "text-decoration-thickness"
    ],
    "percentages": "no",
    "groups": [
      "CSS Text Decoration"
    ],
    "initial": [
      "text-decoration-color",
      "text-decoration-style",
      "text-decoration-line"
    ],
    "appliesto": "allElements",
    "computed": [
      "text-decoration-line",
      "text-decoration-style",
      "text-decoration-color",
      "text-decoration-thickness"
    ],
    "order": "orderOfAppearance",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-decoration"
  },
  "text-decoration-color": {
    "syntax": "<color>",
    "media": "visual",
    "inherited": false,
    "animationType": "color",
    "percentages": "no",
    "groups": [
      "CSS Text Decoration"
    ],
    "initial": "currentcolor",
    "appliesto": "allElements",
    "computed": "computedColor",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-decoration-color"
  },
  "text-decoration-line": {
    "syntax": "none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Text Decoration"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "orderOfAppearance",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-decoration-line"
  },
  "text-decoration-skip": {
    "syntax": "none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Text Decoration"
    ],
    "initial": "objects",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "orderOfAppearance",
    "status": "experimental",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip"
  },
  "text-decoration-skip-ink": {
    "syntax": "auto | all | none",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Text Decoration"
    ],
    "initial": "auto",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "orderOfAppearance",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink"
  },
  "text-decoration-style": {
    "syntax": "solid | double | dotted | dashed | wavy",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Text Decoration"
    ],
    "initial": "solid",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-decoration-style"
  },
  "text-decoration-thickness": {
    "syntax": "auto | from-font | <length> | <percentage> ",
    "media": "visual",
    "inherited": false,
    "animationType": "byComputedValueType",
    "percentages": "referToElementFontSize",
    "groups": [
      "CSS Text Decoration"
    ],
    "initial": "auto",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness"
  },
  "text-emphasis": {
    "syntax": "<'text-emphasis-style'> || <'text-emphasis-color'>",
    "media": "visual",
    "inherited": false,
    "animationType": [
      "text-emphasis-color",
      "text-emphasis-style"
    ],
    "percentages": "no",
    "groups": [
      "CSS Text Decoration"
    ],
    "initial": [
      "text-emphasis-style",
      "text-emphasis-color"
    ],
    "appliesto": "allElements",
    "computed": [
      "text-emphasis-style",
      "text-emphasis-color"
    ],
    "order": "orderOfAppearance",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-emphasis"
  },
  "text-emphasis-color": {
    "syntax": "<color>",
    "media": "visual",
    "inherited": false,
    "animationType": "color",
    "percentages": "no",
    "groups": [
      "CSS Text Decoration"
    ],
    "initial": "currentcolor",
    "appliesto": "allElements",
    "computed": "computedColor",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color"
  },
  "text-emphasis-position": {
    "syntax": "[ over | under ] && [ right | left ]",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Text Decoration"
    ],
    "initial": "over right",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position"
  },
  "text-emphasis-style": {
    "syntax": "none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Text Decoration"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style"
  },
  "text-indent": {
    "syntax": "<length-percentage> && hanging? && each-line?",
    "media": "visual",
    "inherited": true,
    "animationType": "lpc",
    "percentages": "referToWidthOfContainingBlock",
    "groups": [
      "CSS Text"
    ],
    "initial": "0",
    "appliesto": "blockContainers",
    "computed": "percentageOrAbsoluteLengthPlusKeywords",
    "order": "lengthOrPercentageBeforeKeywords",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-indent"
  },
  "text-justify": {
    "syntax": "auto | inter-character | inter-word | none",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Text"
    ],
    "initial": "auto",
    "appliesto": "inlineLevelAndTableCellElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-justify"
  },
  "text-orientation": {
    "syntax": "mixed | upright | sideways",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Writing Modes"
    ],
    "initial": "mixed",
    "appliesto": "allElementsExceptTableRowGroupsRowsColumnGroupsAndColumns",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-orientation"
  },
  "text-overflow": {
    "syntax": "[ clip | ellipsis | <string> ]{1,2}",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Basic User Interface"
    ],
    "initial": "clip",
    "appliesto": "blockContainerElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-overflow"
  },
  "text-rendering": {
    "syntax": "auto | optimizeSpeed | optimizeLegibility | geometricPrecision",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Miscellaneous"
    ],
    "initial": "auto",
    "appliesto": "textElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-rendering"
  },
  "text-shadow": {
    "syntax": "none | <shadow-t>#",
    "media": "visual",
    "inherited": true,
    "animationType": "shadowList",
    "percentages": "no",
    "groups": [
      "CSS Text Decoration"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "colorPlusThreeAbsoluteLengths",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-shadow"
  },
  "text-size-adjust": {
    "syntax": "none | auto | <percentage>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "referToSizeOfFont",
    "groups": [
      "CSS Text"
    ],
    "initial": "autoForSmartphoneBrowsersSupportingInflation",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "experimental",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-size-adjust"
  },
  "text-transform": {
    "syntax": "none | capitalize | uppercase | lowercase | full-width | full-size-kana",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Text"
    ],
    "initial": "none",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-transform"
  },
  "text-underline-offset": {
    "syntax": "auto | <length> | <percentage> ",
    "media": "visual",
    "inherited": true,
    "animationType": "byComputedValueType",
    "percentages": "referToElementFontSize",
    "groups": [
      "CSS Text Decoration"
    ],
    "initial": "auto",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-underline-offset"
  },
  "text-underline-position": {
    "syntax": "auto | from-font | [ under || [ left | right ] ]",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Text Decoration"
    ],
    "initial": "auto",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "orderOfAppearance",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/text-underline-position"
  },
  "top": {
    "syntax": "<length> | <percentage> | auto",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToContainingBlockHeight",
    "groups": [
      "CSS Positioning"
    ],
    "initial": "auto",
    "appliesto": "positionedElements",
    "computed": "lengthAbsolutePercentageAsSpecifiedOtherwiseAuto",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/top"
  },
  "touch-action": {
    "syntax": "auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "Pointer Events"
    ],
    "initial": "auto",
    "appliesto": "allElementsExceptNonReplacedInlineElementsTableRowsColumnsRowColumnGroups",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/touch-action"
  },
  "transform": {
    "syntax": "none | <transform-list>",
    "media": "visual",
    "inherited": false,
    "animationType": "transform",
    "percentages": "referToSizeOfBoundingBox",
    "groups": [
      "CSS Transforms"
    ],
    "initial": "none",
    "appliesto": "transformableElements",
    "computed": "asSpecifiedRelativeToAbsoluteLengths",
    "order": "uniqueOrder",
    "stacking": true,
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transform"
  },
  "transform-box": {
    "syntax": "content-box | border-box | fill-box | stroke-box | view-box",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Transforms"
    ],
    "initial": "view-box",
    "appliesto": "transformableElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transform-box"
  },
  "transform-origin": {
    "syntax": "[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?",
    "media": "visual",
    "inherited": false,
    "animationType": "simpleListOfLpc",
    "percentages": "referToSizeOfBoundingBox",
    "groups": [
      "CSS Transforms"
    ],
    "initial": "50% 50% 0",
    "appliesto": "transformableElements",
    "computed": "forLengthAbsoluteValueOtherwisePercentage",
    "order": "oneOrTwoValuesLengthAbsoluteKeywordsPercentages",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transform-origin"
  },
  "transform-style": {
    "syntax": "flat | preserve-3d",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Transforms"
    ],
    "initial": "flat",
    "appliesto": "transformableElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "stacking": true,
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transform-style"
  },
  "transition": {
    "syntax": "<single-transition>#",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Transitions"
    ],
    "initial": [
      "transition-delay",
      "transition-duration",
      "transition-property",
      "transition-timing-function"
    ],
    "appliesto": "allElementsAndPseudos",
    "computed": [
      "transition-delay",
      "transition-duration",
      "transition-property",
      "transition-timing-function"
    ],
    "order": "orderOfAppearance",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transition"
  },
  "transition-delay": {
    "syntax": "<time>#",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Transitions"
    ],
    "initial": "0s",
    "appliesto": "allElementsAndPseudos",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transition-delay"
  },
  "transition-duration": {
    "syntax": "<time>#",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Transitions"
    ],
    "initial": "0s",
    "appliesto": "allElementsAndPseudos",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transition-duration"
  },
  "transition-property": {
    "syntax": "none | <single-transition-property>#",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Transitions"
    ],
    "initial": "all",
    "appliesto": "allElementsAndPseudos",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transition-property"
  },
  "transition-timing-function": {
    "syntax": "<timing-function>#",
    "media": "interactive",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Transitions"
    ],
    "initial": "ease",
    "appliesto": "allElementsAndPseudos",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/transition-timing-function"
  },
  "translate": {
    "syntax": "none | <length-percentage> [ <length-percentage> <length>? ]?",
    "media": "visual",
    "inherited": false,
    "animationType": "transform",
    "percentages": "referToSizeOfBoundingBox",
    "groups": [
      "CSS Transforms"
    ],
    "initial": "none",
    "appliesto": "transformableElements",
    "computed": "asSpecifiedRelativeToAbsoluteLengths",
    "order": "perGrammar",
    "stacking": true,
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/translate"
  },
  "unicode-bidi": {
    "syntax": "normal | embed | isolate | bidi-override | isolate-override | plaintext",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Writing Modes"
    ],
    "initial": "normal",
    "appliesto": "allElementsSomeValuesNoEffectOnNonInlineElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/unicode-bidi"
  },
  "user-select": {
    "syntax": "auto | text | none | contain | all",
    "media": "visual",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Basic User Interface"
    ],
    "initial": "auto",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/user-select"
  },
  "vertical-align": {
    "syntax": "baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>",
    "media": "visual",
    "inherited": false,
    "animationType": "length",
    "percentages": "referToLineHeight",
    "groups": [
      "CSS Table"
    ],
    "initial": "baseline",
    "appliesto": "inlineLevelAndTableCellElements",
    "computed": "absoluteLengthOrKeyword",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/vertical-align"
  },
  "visibility": {
    "syntax": "visible | hidden | collapse",
    "media": "visual",
    "inherited": true,
    "animationType": "visibility",
    "percentages": "no",
    "groups": [
      "CSS Box Model"
    ],
    "initial": "visible",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/visibility"
  },
  "white-space": {
    "syntax": "normal | pre | nowrap | pre-wrap | pre-line | break-spaces",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Text"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/white-space"
  },
  "widows": {
    "syntax": "<integer>",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Fragmentation"
    ],
    "initial": "2",
    "appliesto": "blockContainerElements",
    "computed": "asSpecified",
    "order": "perGrammar",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/widows"
  },
  "width": {
    "syntax": "auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)",
    "media": "visual",
    "inherited": false,
    "animationType": "lpc",
    "percentages": "referToWidthOfContainingBlock",
    "groups": [
      "CSS Box Model"
    ],
    "initial": "auto",
    "appliesto": "allElementsButNonReplacedAndTableRows",
    "computed": "percentageAutoOrAbsoluteLength",
    "order": "lengthOrPercentageBeforeKeywordIfBothPresent",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/width"
  },
  "will-change": {
    "syntax": "auto | <animateable-feature>#",
    "media": "all",
    "inherited": false,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Will Change"
    ],
    "initial": "auto",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/will-change"
  },
  "word-break": {
    "syntax": "normal | break-all | keep-all | break-word",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Text"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/word-break"
  },
  "word-spacing": {
    "syntax": "normal | <length-percentage>",
    "media": "visual",
    "inherited": true,
    "animationType": "length",
    "percentages": "referToWidthOfAffectedGlyph",
    "groups": [
      "CSS Text"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "optimumMinAndMaxValueOfAbsoluteLengthPercentageOrNormal",
    "order": "uniqueOrder",
    "alsoAppliesTo": [
      "::first-letter",
      "::first-line",
      "::placeholder"
    ],
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/word-spacing"
  },
  "word-wrap": {
    "syntax": "normal | break-word",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Text"
    ],
    "initial": "normal",
    "appliesto": "nonReplacedInlineElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/overflow-wrap"
  },
  "writing-mode": {
    "syntax": "horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr",
    "media": "visual",
    "inherited": true,
    "animationType": "discrete",
    "percentages": "no",
    "groups": [
      "CSS Writing Modes"
    ],
    "initial": "horizontal-tb",
    "appliesto": "allElementsExceptTableRowColumnGroupsTableRowsColumns",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/writing-mode"
  },
  "z-index": {
    "syntax": "auto | <integer>",
    "media": "visual",
    "inherited": false,
    "animationType": "integer",
    "percentages": "no",
    "groups": [
      "CSS Positioning"
    ],
    "initial": "auto",
    "appliesto": "positionedElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "stacking": true,
    "status": "standard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/z-index"
  },
  "zoom": {
    "syntax": "normal | reset | <number> | <percentage>",
    "media": "visual",
    "inherited": false,
    "animationType": "integer",
    "percentages": "no",
    "groups": [
      "Microsoft Extensions"
    ],
    "initial": "normal",
    "appliesto": "allElements",
    "computed": "asSpecified",
    "order": "uniqueOrder",
    "status": "nonstandard",
    "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/zoom"
  }
}
;
},874,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    AnPlusB: _$$_REQUIRE(_dependencyMap[0]),
    Atrule: _$$_REQUIRE(_dependencyMap[1]),
    AtrulePrelude: _$$_REQUIRE(_dependencyMap[2]),
    AttributeSelector: _$$_REQUIRE(_dependencyMap[3]),
    Block: _$$_REQUIRE(_dependencyMap[4]),
    Brackets: _$$_REQUIRE(_dependencyMap[5]),
    CDC: _$$_REQUIRE(_dependencyMap[6]),
    CDO: _$$_REQUIRE(_dependencyMap[7]),
    ClassSelector: _$$_REQUIRE(_dependencyMap[8]),
    Combinator: _$$_REQUIRE(_dependencyMap[9]),
    Comment: _$$_REQUIRE(_dependencyMap[10]),
    Declaration: _$$_REQUIRE(_dependencyMap[11]),
    DeclarationList: _$$_REQUIRE(_dependencyMap[12]),
    Dimension: _$$_REQUIRE(_dependencyMap[13]),
    Function: _$$_REQUIRE(_dependencyMap[14]),
    Hash: _$$_REQUIRE(_dependencyMap[15]),
    Identifier: _$$_REQUIRE(_dependencyMap[16]),
    IdSelector: _$$_REQUIRE(_dependencyMap[17]),
    MediaFeature: _$$_REQUIRE(_dependencyMap[18]),
    MediaQuery: _$$_REQUIRE(_dependencyMap[19]),
    MediaQueryList: _$$_REQUIRE(_dependencyMap[20]),
    Nth: _$$_REQUIRE(_dependencyMap[21]),
    Number: _$$_REQUIRE(_dependencyMap[22]),
    Operator: _$$_REQUIRE(_dependencyMap[23]),
    Parentheses: _$$_REQUIRE(_dependencyMap[24]),
    Percentage: _$$_REQUIRE(_dependencyMap[25]),
    PseudoClassSelector: _$$_REQUIRE(_dependencyMap[26]),
    PseudoElementSelector: _$$_REQUIRE(_dependencyMap[27]),
    Ratio: _$$_REQUIRE(_dependencyMap[28]),
    Raw: _$$_REQUIRE(_dependencyMap[29]),
    Rule: _$$_REQUIRE(_dependencyMap[30]),
    Selector: _$$_REQUIRE(_dependencyMap[31]),
    SelectorList: _$$_REQUIRE(_dependencyMap[32]),
    String: _$$_REQUIRE(_dependencyMap[33]),
    StyleSheet: _$$_REQUIRE(_dependencyMap[34]),
    TypeSelector: _$$_REQUIRE(_dependencyMap[35]),
    UnicodeRange: _$$_REQUIRE(_dependencyMap[36]),
    Url: _$$_REQUIRE(_dependencyMap[37]),
    Value: _$$_REQUIRE(_dependencyMap[38]),
    WhiteSpace: _$$_REQUIRE(_dependencyMap[39])
  };
},875,[876,877,879,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,878,906,907,908,909,910,911,912,913,914,915]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var WHITESPACE = _$$_REQUIRE(_dependencyMap[0]).TYPE.WhiteSpace;

  var COMMENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Comment;

  var IDENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Ident;

  var NUMBER = _$$_REQUIRE(_dependencyMap[0]).TYPE.Number;

  var DIMENSION = _$$_REQUIRE(_dependencyMap[0]).TYPE.Dimension;

  var PLUSSIGN = 0x002B;
  var HYPHENMINUS = 0x002D;
  var N = 0x006E;
  var DISALLOW_SIGN = true;
  var ALLOW_SIGN = false;

  function checkInteger(offset, disallowSign) {
    var pos = this.scanner.tokenStart + offset;
    var code = this.scanner.source.charCodeAt(pos);

    if (code === PLUSSIGN || code === HYPHENMINUS) {
      if (disallowSign) {
        this.error('Number sign is not allowed');
      }

      pos++;
    }

    for (; pos < this.scanner.tokenEnd; pos++) {
      if (!_$$_REQUIRE(_dependencyMap[0]).isDigit(this.scanner.source.charCodeAt(pos))) {
        this.error('Integer is expected', pos);
      }
    }
  }

  function checkTokenIsInteger(disallowSign) {
    return checkInteger.call(this, 0, disallowSign);
  }

  function expectCharCode(offset, code) {
    if (!_$$_REQUIRE(_dependencyMap[0]).cmpChar(this.scanner.source, this.scanner.tokenStart + offset, code)) {
      var msg = '';

      switch (code) {
        case N:
          msg = 'N is expected';
          break;

        case HYPHENMINUS:
          msg = 'HyphenMinus is expected';
          break;
      }

      this.error(msg, this.scanner.tokenStart + offset);
    }
  }

  function consumeB() {
    var offset = 0;
    var sign = 0;
    var type = this.scanner.tokenType;

    while (type === WHITESPACE || type === COMMENT) {
      type = this.scanner.lookupType(++offset);
    }

    if (type !== NUMBER) {
      if (this.scanner.isDelim(PLUSSIGN, offset) || this.scanner.isDelim(HYPHENMINUS, offset)) {
        sign = this.scanner.isDelim(PLUSSIGN, offset) ? PLUSSIGN : HYPHENMINUS;

        do {
          type = this.scanner.lookupType(++offset);
        } while (type === WHITESPACE || type === COMMENT);

        if (type !== NUMBER) {
          this.scanner.skip(offset);
          checkTokenIsInteger.call(this, DISALLOW_SIGN);
        }
      } else {
        return null;
      }
    }

    if (offset > 0) {
      this.scanner.skip(offset);
    }

    if (sign === 0) {
      type = this.scanner.source.charCodeAt(this.scanner.tokenStart);

      if (type !== PLUSSIGN && type !== HYPHENMINUS) {
        this.error('Number sign is expected');
      }
    }

    checkTokenIsInteger.call(this, sign !== 0);
    return sign === HYPHENMINUS ? '-' + this.consume(NUMBER) : this.consume(NUMBER);
  }

  module.exports = {
    name: 'AnPlusB',
    structure: {
      a: [String, null],
      b: [String, null]
    },
    parse: function parse() {
      var start = this.scanner.tokenStart;
      var a = null;
      var b = null;

      if (this.scanner.tokenType === NUMBER) {
        checkTokenIsInteger.call(this, ALLOW_SIGN);
        b = this.consume(NUMBER);
      } else if (this.scanner.tokenType === IDENT && _$$_REQUIRE(_dependencyMap[0]).cmpChar(this.scanner.source, this.scanner.tokenStart, HYPHENMINUS)) {
        a = '-1';
        expectCharCode.call(this, 1, N);

        switch (this.scanner.getTokenLength()) {
          case 2:
            this.scanner.next();
            b = consumeB.call(this);
            break;

          case 3:
            expectCharCode.call(this, 2, HYPHENMINUS);
            this.scanner.next();
            this.scanner.skipSC();
            checkTokenIsInteger.call(this, DISALLOW_SIGN);
            b = '-' + this.consume(NUMBER);
            break;

          default:
            expectCharCode.call(this, 2, HYPHENMINUS);
            checkInteger.call(this, 3, DISALLOW_SIGN);
            this.scanner.next();
            b = this.scanner.substrToCursor(start + 2);
        }
      } else if (this.scanner.tokenType === IDENT || this.scanner.isDelim(PLUSSIGN) && this.scanner.lookupType(1) === IDENT) {
        var sign = 0;
        a = '1';

        if (this.scanner.isDelim(PLUSSIGN)) {
          sign = 1;
          this.scanner.next();
        }

        expectCharCode.call(this, 0, N);

        switch (this.scanner.getTokenLength()) {
          case 1:
            this.scanner.next();
            b = consumeB.call(this);
            break;

          case 2:
            expectCharCode.call(this, 1, HYPHENMINUS);
            this.scanner.next();
            this.scanner.skipSC();
            checkTokenIsInteger.call(this, DISALLOW_SIGN);
            b = '-' + this.consume(NUMBER);
            break;

          default:
            expectCharCode.call(this, 1, HYPHENMINUS);
            checkInteger.call(this, 2, DISALLOW_SIGN);
            this.scanner.next();
            b = this.scanner.substrToCursor(start + sign + 1);
        }
      } else if (this.scanner.tokenType === DIMENSION) {
        var code = this.scanner.source.charCodeAt(this.scanner.tokenStart);
        var sign = code === PLUSSIGN || code === HYPHENMINUS;

        for (var i = this.scanner.tokenStart + sign; i < this.scanner.tokenEnd; i++) {
          if (!_$$_REQUIRE(_dependencyMap[0]).isDigit(this.scanner.source.charCodeAt(i))) {
            break;
          }
        }

        if (i === this.scanner.tokenStart + sign) {
          this.error('Integer is expected', this.scanner.tokenStart + sign);
        }

        expectCharCode.call(this, i - this.scanner.tokenStart, N);
        a = this.scanner.source.substring(start, i);

        if (i + 1 === this.scanner.tokenEnd) {
          this.scanner.next();
          b = consumeB.call(this);
        } else {
          expectCharCode.call(this, i - this.scanner.tokenStart + 1, HYPHENMINUS);

          if (i + 2 === this.scanner.tokenEnd) {
            this.scanner.next();
            this.scanner.skipSC();
            checkTokenIsInteger.call(this, DISALLOW_SIGN);
            b = '-' + this.consume(NUMBER);
          } else {
            checkInteger.call(this, i - this.scanner.tokenStart + 2, DISALLOW_SIGN);
            this.scanner.next();
            b = this.scanner.substrToCursor(i + 1);
          }
        }
      } else {
        this.error();
      }

      if (a !== null && a.charCodeAt(0) === PLUSSIGN) {
        a = a.substr(1);
      }

      if (b !== null && b.charCodeAt(0) === PLUSSIGN) {
        b = b.substr(1);
      }

      return {
        type: 'AnPlusB',
        loc: this.getLocation(start, this.scanner.tokenStart),
        a: a,
        b: b
      };
    },
    generate: function generate(node) {
      var a = node.a !== null && node.a !== undefined;
      var b = node.b !== null && node.b !== undefined;

      if (a) {
        this.chunk(node.a === '+1' ? '+n' : node.a === '1' ? 'n' : node.a === '-1' ? '-n' : node.a + 'n');

        if (b) {
          b = String(node.b);

          if (b.charAt(0) === '-' || b.charAt(0) === '+') {
            this.chunk(b.charAt(0));
            this.chunk(b.substr(1));
          } else {
            this.chunk('+');
            this.chunk(b);
          }
        }
      } else {
        this.chunk(String(node.b));
      }
    }
  };
},876,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var ATKEYWORD = _$$_REQUIRE(_dependencyMap[0]).TYPE.AtKeyword;

  var SEMICOLON = _$$_REQUIRE(_dependencyMap[0]).TYPE.Semicolon;

  var LEFTCURLYBRACKET = _$$_REQUIRE(_dependencyMap[0]).TYPE.LeftCurlyBracket;

  var RIGHTCURLYBRACKET = _$$_REQUIRE(_dependencyMap[0]).TYPE.RightCurlyBracket;

  function consumeRaw(startToken) {
    return this.Raw(startToken, _$$_REQUIRE(_dependencyMap[1]).mode.leftCurlyBracketOrSemicolon, true);
  }

  function isDeclarationBlockAtrule() {
    for (var offset = 1, type; type = this.scanner.lookupType(offset); offset++) {
      if (type === RIGHTCURLYBRACKET) {
        return true;
      }

      if (type === LEFTCURLYBRACKET || type === ATKEYWORD) {
        return false;
      }
    }

    return false;
  }

  module.exports = {
    name: 'Atrule',
    structure: {
      name: String,
      prelude: ['AtrulePrelude', 'Raw', null],
      block: ['Block', null]
    },
    parse: function parse() {
      var start = this.scanner.tokenStart;
      var name;
      var nameLowerCase;
      var prelude = null;
      var block = null;
      this.eat(ATKEYWORD);
      name = this.scanner.substrToCursor(start + 1);
      nameLowerCase = name.toLowerCase();
      this.scanner.skipSC();

      if (this.scanner.eof === false && this.scanner.tokenType !== LEFTCURLYBRACKET && this.scanner.tokenType !== SEMICOLON) {
        if (this.parseAtrulePrelude) {
          prelude = this.parseWithFallback(this.AtrulePrelude.bind(this, name), consumeRaw);

          if (prelude.type === 'AtrulePrelude' && prelude.children.head === null) {
            prelude = null;
          }
        } else {
          prelude = consumeRaw.call(this, this.scanner.tokenIndex);
        }

        this.scanner.skipSC();
      }

      switch (this.scanner.tokenType) {
        case SEMICOLON:
          this.scanner.next();
          break;

        case LEFTCURLYBRACKET:
          if (this.atrule.hasOwnProperty(nameLowerCase) && typeof this.atrule[nameLowerCase].block === 'function') {
            block = this.atrule[nameLowerCase].block.call(this);
          } else {
            block = this.Block(isDeclarationBlockAtrule.call(this));
          }

          break;
      }

      return {
        type: 'Atrule',
        loc: this.getLocation(start, this.scanner.tokenStart),
        name: name,
        prelude: prelude,
        block: block
      };
    },
    generate: function generate(node) {
      this.chunk('@');
      this.chunk(node.name);

      if (node.prelude !== null) {
        this.chunk(' ');
        this.node(node.prelude);
      }

      if (node.block) {
        this.node(node.block);
      } else {
        this.chunk(';');
      }
    },
    walkContext: 'atrule'
  };
},877,[834,878]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var WhiteSpace = _$$_REQUIRE(_dependencyMap[0]).TYPE.WhiteSpace;

  var Semicolon = _$$_REQUIRE(_dependencyMap[0]).TYPE.Semicolon;

  var LeftCurlyBracket = _$$_REQUIRE(_dependencyMap[0]).TYPE.LeftCurlyBracket;

  var Delim = _$$_REQUIRE(_dependencyMap[0]).TYPE.Delim;

  var EXCLAMATIONMARK = 0x0021;

  function getOffsetExcludeWS() {
    if (this.scanner.tokenIndex > 0) {
      if (this.scanner.lookupType(-1) === WhiteSpace) {
        return this.scanner.tokenIndex > 1 ? this.scanner.getTokenStart(this.scanner.tokenIndex - 1) : this.scanner.firstCharOffset;
      }
    }

    return this.scanner.tokenStart;
  }

  function balanceEnd() {
    return 0;
  }

  function leftCurlyBracket(tokenType) {
    return tokenType === LeftCurlyBracket ? 1 : 0;
  }

  function leftCurlyBracketOrSemicolon(tokenType) {
    return tokenType === LeftCurlyBracket || tokenType === Semicolon ? 1 : 0;
  }

  function exclamationMarkOrSemicolon(tokenType, source, offset) {
    if (tokenType === Delim && source.charCodeAt(offset) === EXCLAMATIONMARK) {
      return 1;
    }

    return tokenType === Semicolon ? 1 : 0;
  }

  function semicolonIncluded(tokenType) {
    return tokenType === Semicolon ? 2 : 0;
  }

  module.exports = {
    name: 'Raw',
    structure: {
      value: String
    },
    parse: function parse(startToken, mode, excludeWhiteSpace) {
      var startOffset = this.scanner.getTokenStart(startToken);
      var endOffset;
      this.scanner.skip(this.scanner.getRawLength(startToken, mode || balanceEnd));

      if (excludeWhiteSpace && this.scanner.tokenStart > startOffset) {
        endOffset = getOffsetExcludeWS.call(this);
      } else {
        endOffset = this.scanner.tokenStart;
      }

      return {
        type: 'Raw',
        loc: this.getLocation(startOffset, endOffset),
        value: this.scanner.source.substring(startOffset, endOffset)
      };
    },
    generate: function generate(node) {
      this.chunk(node.value);
    },
    mode: {
      default: balanceEnd,
      leftCurlyBracket: leftCurlyBracket,
      leftCurlyBracketOrSemicolon: leftCurlyBracketOrSemicolon,
      exclamationMarkOrSemicolon: exclamationMarkOrSemicolon,
      semicolonIncluded: semicolonIncluded
    }
  };
},878,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var SEMICOLON = _$$_REQUIRE(_dependencyMap[0]).TYPE.Semicolon;

  var LEFTCURLYBRACKET = _$$_REQUIRE(_dependencyMap[0]).TYPE.LeftCurlyBracket;

  module.exports = {
    name: 'AtrulePrelude',
    structure: {
      children: [[]]
    },
    parse: function parse(name) {
      var children = null;

      if (name !== null) {
        name = name.toLowerCase();
      }

      this.scanner.skipSC();

      if (this.atrule.hasOwnProperty(name) && typeof this.atrule[name].prelude === 'function') {
        children = this.atrule[name].prelude.call(this);
      } else {
        children = this.readSequence(this.scope.AtrulePrelude);
      }

      this.scanner.skipSC();

      if (this.scanner.eof !== true && this.scanner.tokenType !== LEFTCURLYBRACKET && this.scanner.tokenType !== SEMICOLON) {
        this.error('Semicolon or block is expected');
      }

      if (children === null) {
        children = this.createList();
      }

      return {
        type: 'AtrulePrelude',
        loc: this.getLocationFromList(children),
        children: children
      };
    },
    generate: function generate(node) {
      this.children(node);
    },
    walkContext: 'atrulePrelude'
  };
},879,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var IDENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Ident;

  var STRING = _$$_REQUIRE(_dependencyMap[0]).TYPE.String;

  var COLON = _$$_REQUIRE(_dependencyMap[0]).TYPE.Colon;

  var LEFTSQUAREBRACKET = _$$_REQUIRE(_dependencyMap[0]).TYPE.LeftSquareBracket;

  var RIGHTSQUAREBRACKET = _$$_REQUIRE(_dependencyMap[0]).TYPE.RightSquareBracket;

  var DOLLARSIGN = 0x0024;
  var ASTERISK = 0x002A;
  var EQUALSSIGN = 0x003D;
  var CIRCUMFLEXACCENT = 0x005E;
  var VERTICALLINE = 0x007C;
  var TILDE = 0x007E;

  function getAttributeName() {
    if (this.scanner.eof) {
      this.error('Unexpected end of input');
    }

    var start = this.scanner.tokenStart;
    var expectIdent = false;
    var checkColon = true;

    if (this.scanner.isDelim(ASTERISK)) {
      expectIdent = true;
      checkColon = false;
      this.scanner.next();
    } else if (!this.scanner.isDelim(VERTICALLINE)) {
      this.eat(IDENT);
    }

    if (this.scanner.isDelim(VERTICALLINE)) {
      if (this.scanner.source.charCodeAt(this.scanner.tokenStart + 1) !== EQUALSSIGN) {
        this.scanner.next();
        this.eat(IDENT);
      } else if (expectIdent) {
        this.error('Identifier is expected', this.scanner.tokenEnd);
      }
    } else if (expectIdent) {
      this.error('Vertical line is expected');
    }

    if (checkColon && this.scanner.tokenType === COLON) {
      this.scanner.next();
      this.eat(IDENT);
    }

    return {
      type: 'Identifier',
      loc: this.getLocation(start, this.scanner.tokenStart),
      name: this.scanner.substrToCursor(start)
    };
  }

  function getOperator() {
    var start = this.scanner.tokenStart;
    var code = this.scanner.source.charCodeAt(start);

    if (code !== EQUALSSIGN && code !== TILDE && code !== CIRCUMFLEXACCENT && code !== DOLLARSIGN && code !== ASTERISK && code !== VERTICALLINE) {
      this.error('Attribute selector (=, ~=, ^=, $=, *=, |=) is expected');
    }

    this.scanner.next();

    if (code !== EQUALSSIGN) {
      if (!this.scanner.isDelim(EQUALSSIGN)) {
        this.error('Equal sign is expected');
      }

      this.scanner.next();
    }

    return this.scanner.substrToCursor(start);
  }

  module.exports = {
    name: 'AttributeSelector',
    structure: {
      name: 'Identifier',
      matcher: [String, null],
      value: ['String', 'Identifier', null],
      flags: [String, null]
    },
    parse: function parse() {
      var start = this.scanner.tokenStart;
      var name;
      var matcher = null;
      var value = null;
      var flags = null;
      this.eat(LEFTSQUAREBRACKET);
      this.scanner.skipSC();
      name = getAttributeName.call(this);
      this.scanner.skipSC();

      if (this.scanner.tokenType !== RIGHTSQUAREBRACKET) {
        if (this.scanner.tokenType !== IDENT) {
          matcher = getOperator.call(this);
          this.scanner.skipSC();
          value = this.scanner.tokenType === STRING ? this.String() : this.Identifier();
          this.scanner.skipSC();
        }

        if (this.scanner.tokenType === IDENT) {
          flags = this.scanner.getTokenValue();
          this.scanner.next();
          this.scanner.skipSC();
        }
      }

      this.eat(RIGHTSQUAREBRACKET);
      return {
        type: 'AttributeSelector',
        loc: this.getLocation(start, this.scanner.tokenStart),
        name: name,
        matcher: matcher,
        value: value,
        flags: flags
      };
    },
    generate: function generate(node) {
      var flagsPrefix = ' ';
      this.chunk('[');
      this.node(node.name);

      if (node.matcher !== null) {
        this.chunk(node.matcher);

        if (node.value !== null) {
          this.node(node.value);

          if (node.value.type === 'String') {
            flagsPrefix = '';
          }
        }
      }

      if (node.flags !== null) {
        this.chunk(flagsPrefix);
        this.chunk(node.flags);
      }

      this.chunk(']');
    }
  };
},880,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var WHITESPACE = _$$_REQUIRE(_dependencyMap[0]).TYPE.WhiteSpace;

  var COMMENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Comment;

  var SEMICOLON = _$$_REQUIRE(_dependencyMap[0]).TYPE.Semicolon;

  var ATKEYWORD = _$$_REQUIRE(_dependencyMap[0]).TYPE.AtKeyword;

  var LEFTCURLYBRACKET = _$$_REQUIRE(_dependencyMap[0]).TYPE.LeftCurlyBracket;

  var RIGHTCURLYBRACKET = _$$_REQUIRE(_dependencyMap[0]).TYPE.RightCurlyBracket;

  function consumeRaw(startToken) {
    return this.Raw(startToken, null, true);
  }

  function consumeRule() {
    return this.parseWithFallback(this.Rule, consumeRaw);
  }

  function consumeRawDeclaration(startToken) {
    return this.Raw(startToken, _$$_REQUIRE(_dependencyMap[1]).mode.semicolonIncluded, true);
  }

  function consumeDeclaration() {
    if (this.scanner.tokenType === SEMICOLON) {
      return consumeRawDeclaration.call(this, this.scanner.tokenIndex);
    }

    var node = this.parseWithFallback(this.Declaration, consumeRawDeclaration);

    if (this.scanner.tokenType === SEMICOLON) {
      this.scanner.next();
    }

    return node;
  }

  module.exports = {
    name: 'Block',
    structure: {
      children: [['Atrule', 'Rule', 'Declaration']]
    },
    parse: function parse(isDeclaration) {
      var consumer = isDeclaration ? consumeDeclaration : consumeRule;
      var start = this.scanner.tokenStart;
      var children = this.createList();
      this.eat(LEFTCURLYBRACKET);

      scan: while (!this.scanner.eof) {
        switch (this.scanner.tokenType) {
          case RIGHTCURLYBRACKET:
            break scan;

          case WHITESPACE:
          case COMMENT:
            this.scanner.next();
            break;

          case ATKEYWORD:
            children.push(this.parseWithFallback(this.Atrule, consumeRaw));
            break;

          default:
            children.push(consumer.call(this));
        }
      }

      if (!this.scanner.eof) {
        this.eat(RIGHTCURLYBRACKET);
      }

      return {
        type: 'Block',
        loc: this.getLocation(start, this.scanner.tokenStart),
        children: children
      };
    },
    generate: function generate(node) {
      this.chunk('{');
      this.children(node, function (prev) {
        if (prev.type === 'Declaration') {
          this.chunk(';');
        }
      });
      this.chunk('}');
    },
    walkContext: 'block'
  };
},881,[834,878]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var LEFTSQUAREBRACKET = _$$_REQUIRE(_dependencyMap[0]).TYPE.LeftSquareBracket;

  var RIGHTSQUAREBRACKET = _$$_REQUIRE(_dependencyMap[0]).TYPE.RightSquareBracket;

  module.exports = {
    name: 'Brackets',
    structure: {
      children: [[]]
    },
    parse: function parse(readSequence, recognizer) {
      var start = this.scanner.tokenStart;
      var children = null;
      this.eat(LEFTSQUAREBRACKET);
      children = readSequence.call(this, recognizer);

      if (!this.scanner.eof) {
        this.eat(RIGHTSQUAREBRACKET);
      }

      return {
        type: 'Brackets',
        loc: this.getLocation(start, this.scanner.tokenStart),
        children: children
      };
    },
    generate: function generate(node) {
      this.chunk('[');
      this.children(node);
      this.chunk(']');
    }
  };
},882,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var CDC = _$$_REQUIRE(_dependencyMap[0]).TYPE.CDC;

  module.exports = {
    name: 'CDC',
    structure: [],
    parse: function parse() {
      var start = this.scanner.tokenStart;
      this.eat(CDC);
      return {
        type: 'CDC',
        loc: this.getLocation(start, this.scanner.tokenStart)
      };
    },
    generate: function generate() {
      this.chunk('-->');
    }
  };
},883,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var CDO = _$$_REQUIRE(_dependencyMap[0]).TYPE.CDO;

  module.exports = {
    name: 'CDO',
    structure: [],
    parse: function parse() {
      var start = this.scanner.tokenStart;
      this.eat(CDO);
      return {
        type: 'CDO',
        loc: this.getLocation(start, this.scanner.tokenStart)
      };
    },
    generate: function generate() {
      this.chunk('<!--');
    }
  };
},884,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var IDENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Ident;

  var FULLSTOP = 0x002E;
  module.exports = {
    name: 'ClassSelector',
    structure: {
      name: String
    },
    parse: function parse() {
      if (!this.scanner.isDelim(FULLSTOP)) {
        this.error('Full stop is expected');
      }

      this.scanner.next();
      return {
        type: 'ClassSelector',
        loc: this.getLocation(this.scanner.tokenStart - 1, this.scanner.tokenEnd),
        name: this.consume(IDENT)
      };
    },
    generate: function generate(node) {
      this.chunk('.');
      this.chunk(node.name);
    }
  };
},885,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var IDENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Ident;

  var PLUSSIGN = 0x002B;
  var SOLIDUS = 0x002F;
  var GREATERTHANSIGN = 0x003E;
  var TILDE = 0x007E;
  module.exports = {
    name: 'Combinator',
    structure: {
      name: String
    },
    parse: function parse() {
      var start = this.scanner.tokenStart;
      var code = this.scanner.source.charCodeAt(this.scanner.tokenStart);

      switch (code) {
        case GREATERTHANSIGN:
        case PLUSSIGN:
        case TILDE:
          this.scanner.next();
          break;

        case SOLIDUS:
          this.scanner.next();

          if (this.scanner.tokenType !== IDENT || this.scanner.lookupValue(0, 'deep') === false) {
            this.error('Identifier `deep` is expected');
          }

          this.scanner.next();

          if (!this.scanner.isDelim(SOLIDUS)) {
            this.error('Solidus is expected');
          }

          this.scanner.next();
          break;

        default:
          this.error('Combinator is expected');
      }

      return {
        type: 'Combinator',
        loc: this.getLocation(start, this.scanner.tokenStart),
        name: this.scanner.substrToCursor(start)
      };
    },
    generate: function generate(node) {
      this.chunk(node.name);
    }
  };
},886,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var COMMENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Comment;

  var ASTERISK = 0x002A;
  var SOLIDUS = 0x002F;
  module.exports = {
    name: 'Comment',
    structure: {
      value: String
    },
    parse: function parse() {
      var start = this.scanner.tokenStart;
      var end = this.scanner.tokenEnd;
      this.eat(COMMENT);

      if (end - start + 2 >= 2 && this.scanner.source.charCodeAt(end - 2) === ASTERISK && this.scanner.source.charCodeAt(end - 1) === SOLIDUS) {
        end -= 2;
      }

      return {
        type: 'Comment',
        loc: this.getLocation(start, this.scanner.tokenStart),
        value: this.scanner.source.substring(start + 2, end)
      };
    },
    generate: function generate(node) {
      this.chunk('/*');
      this.chunk(node.value);
      this.chunk('*/');
    }
  };
},887,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var IDENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Ident;

  var HASH = _$$_REQUIRE(_dependencyMap[0]).TYPE.Hash;

  var COLON = _$$_REQUIRE(_dependencyMap[0]).TYPE.Colon;

  var SEMICOLON = _$$_REQUIRE(_dependencyMap[0]).TYPE.Semicolon;

  var DELIM = _$$_REQUIRE(_dependencyMap[0]).TYPE.Delim;

  var WHITESPACE = _$$_REQUIRE(_dependencyMap[0]).TYPE.WhiteSpace;

  var EXCLAMATIONMARK = 0x0021;
  var NUMBERSIGN = 0x0023;
  var DOLLARSIGN = 0x0024;
  var AMPERSAND = 0x0026;
  var ASTERISK = 0x002A;
  var PLUSSIGN = 0x002B;
  var SOLIDUS = 0x002F;

  function consumeValueRaw(startToken) {
    return this.Raw(startToken, _$$_REQUIRE(_dependencyMap[1]).mode.exclamationMarkOrSemicolon, true);
  }

  function consumeCustomPropertyRaw(startToken) {
    return this.Raw(startToken, _$$_REQUIRE(_dependencyMap[1]).mode.exclamationMarkOrSemicolon, false);
  }

  function consumeValue() {
    var startValueToken = this.scanner.tokenIndex;
    var value = this.Value();

    if (value.type !== 'Raw' && this.scanner.eof === false && this.scanner.tokenType !== SEMICOLON && this.scanner.isDelim(EXCLAMATIONMARK) === false && this.scanner.isBalanceEdge(startValueToken) === false) {
      this.error();
    }

    return value;
  }

  module.exports = {
    name: 'Declaration',
    structure: {
      important: [Boolean, String],
      property: String,
      value: ['Value', 'Raw']
    },
    parse: function parse() {
      var start = this.scanner.tokenStart;
      var startToken = this.scanner.tokenIndex;
      var property = readProperty.call(this);

      var customProperty = _$$_REQUIRE(_dependencyMap[2]).isCustomProperty(property);

      var parseValue = customProperty ? this.parseCustomProperty : this.parseValue;
      var consumeRaw = customProperty ? consumeCustomPropertyRaw : consumeValueRaw;
      var important = false;
      var value;
      this.scanner.skipSC();
      this.eat(COLON);
      var valueStart = this.scanner.tokenIndex;

      if (!customProperty) {
        this.scanner.skipSC();
      }

      if (parseValue) {
        value = this.parseWithFallback(consumeValue, consumeRaw);
      } else {
        value = consumeRaw.call(this, this.scanner.tokenIndex);
      }

      if (customProperty && value.type === 'Value' && value.children.isEmpty()) {
        for (var offset = valueStart - this.scanner.tokenIndex; offset <= 0; offset++) {
          if (this.scanner.lookupType(offset) === WHITESPACE) {
            value.children.appendData({
              type: 'WhiteSpace',
              loc: null,
              value: ' '
            });
            break;
          }
        }
      }

      if (this.scanner.isDelim(EXCLAMATIONMARK)) {
        important = getImportant.call(this);
        this.scanner.skipSC();
      }

      if (this.scanner.eof === false && this.scanner.tokenType !== SEMICOLON && this.scanner.isBalanceEdge(startToken) === false) {
        this.error();
      }

      return {
        type: 'Declaration',
        loc: this.getLocation(start, this.scanner.tokenStart),
        important: important,
        property: property,
        value: value
      };
    },
    generate: function generate(node) {
      this.chunk(node.property);
      this.chunk(':');
      this.node(node.value);

      if (node.important) {
        this.chunk(node.important === true ? '!important' : '!' + node.important);
      }
    },
    walkContext: 'declaration'
  };

  function readProperty() {
    var start = this.scanner.tokenStart;
    var prefix = 0;

    if (this.scanner.tokenType === DELIM) {
      switch (this.scanner.source.charCodeAt(this.scanner.tokenStart)) {
        case ASTERISK:
        case DOLLARSIGN:
        case PLUSSIGN:
        case NUMBERSIGN:
        case AMPERSAND:
          this.scanner.next();
          break;

        case SOLIDUS:
          this.scanner.next();

          if (this.scanner.isDelim(SOLIDUS)) {
            this.scanner.next();
          }

          break;
      }
    }

    if (this.scanner.tokenType === HASH) {
      this.eat(HASH);
    } else {
      this.eat(IDENT);
    }

    return this.scanner.substrToCursor(start);
  }

  function getImportant() {
    this.eat(DELIM);
    this.scanner.skipSC();
    var important = this.consume(IDENT);
    return important === 'important' ? true : important;
  }
},888,[834,878,863]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var WHITESPACE = _$$_REQUIRE(_dependencyMap[0]).TYPE.WhiteSpace;

  var COMMENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Comment;

  var SEMICOLON = _$$_REQUIRE(_dependencyMap[0]).TYPE.Semicolon;

  function consumeRaw(startToken) {
    return this.Raw(startToken, _$$_REQUIRE(_dependencyMap[1]).mode.semicolonIncluded, true);
  }

  module.exports = {
    name: 'DeclarationList',
    structure: {
      children: [['Declaration']]
    },
    parse: function parse() {
      var children = this.createList();

      scan: while (!this.scanner.eof) {
        switch (this.scanner.tokenType) {
          case WHITESPACE:
          case COMMENT:
          case SEMICOLON:
            this.scanner.next();
            break;

          default:
            children.push(this.parseWithFallback(this.Declaration, consumeRaw));
        }
      }

      return {
        type: 'DeclarationList',
        loc: this.getLocationFromList(children),
        children: children
      };
    },
    generate: function generate(node) {
      this.children(node, function (prev) {
        if (prev.type === 'Declaration') {
          this.chunk(';');
        }
      });
    }
  };
},889,[834,878]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var DIMENSION = _$$_REQUIRE(_dependencyMap[0]).TYPE.Dimension;

  module.exports = {
    name: 'Dimension',
    structure: {
      value: String,
      unit: String
    },
    parse: function parse() {
      var start = this.scanner.tokenStart;

      var numberEnd = _$$_REQUIRE(_dependencyMap[1]).consumeNumber(this.scanner.source, start);

      this.eat(DIMENSION);
      return {
        type: 'Dimension',
        loc: this.getLocation(start, this.scanner.tokenStart),
        value: this.scanner.source.substring(start, numberEnd),
        unit: this.scanner.source.substring(numberEnd, this.scanner.tokenStart)
      };
    },
    generate: function generate(node) {
      this.chunk(node.value);
      this.chunk(node.unit);
    }
  };
},890,[834,830]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var RIGHTPARENTHESIS = _$$_REQUIRE(_dependencyMap[0]).TYPE.RightParenthesis;

  module.exports = {
    name: 'Function',
    structure: {
      name: String,
      children: [[]]
    },
    parse: function parse(readSequence, recognizer) {
      var start = this.scanner.tokenStart;
      var name = this.consumeFunctionName();
      var nameLowerCase = name.toLowerCase();
      var children;
      children = recognizer.hasOwnProperty(nameLowerCase) ? recognizer[nameLowerCase].call(this, recognizer) : readSequence.call(this, recognizer);

      if (!this.scanner.eof) {
        this.eat(RIGHTPARENTHESIS);
      }

      return {
        type: 'Function',
        loc: this.getLocation(start, this.scanner.tokenStart),
        name: name,
        children: children
      };
    },
    generate: function generate(node) {
      this.chunk(node.name);
      this.chunk('(');
      this.children(node);
      this.chunk(')');
    },
    walkContext: 'function'
  };
},891,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var HASH = _$$_REQUIRE(_dependencyMap[0]).TYPE.Hash;

  module.exports = {
    name: 'Hash',
    structure: {
      value: String
    },
    parse: function parse() {
      var start = this.scanner.tokenStart;
      this.eat(HASH);
      return {
        type: 'Hash',
        loc: this.getLocation(start, this.scanner.tokenStart),
        value: this.scanner.substrToCursor(start + 1)
      };
    },
    generate: function generate(node) {
      this.chunk('#');
      this.chunk(node.value);
    }
  };
},892,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var IDENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Ident;

  module.exports = {
    name: 'Identifier',
    structure: {
      name: String
    },
    parse: function parse() {
      return {
        type: 'Identifier',
        loc: this.getLocation(this.scanner.tokenStart, this.scanner.tokenEnd),
        name: this.consume(IDENT)
      };
    },
    generate: function generate(node) {
      this.chunk(node.name);
    }
  };
},893,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var HASH = _$$_REQUIRE(_dependencyMap[0]).TYPE.Hash;

  module.exports = {
    name: 'IdSelector',
    structure: {
      name: String
    },
    parse: function parse() {
      var start = this.scanner.tokenStart;
      this.eat(HASH);
      return {
        type: 'IdSelector',
        loc: this.getLocation(start, this.scanner.tokenStart),
        name: this.scanner.substrToCursor(start + 1)
      };
    },
    generate: function generate(node) {
      this.chunk('#');
      this.chunk(node.name);
    }
  };
},894,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var IDENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Ident;

  var NUMBER = _$$_REQUIRE(_dependencyMap[0]).TYPE.Number;

  var DIMENSION = _$$_REQUIRE(_dependencyMap[0]).TYPE.Dimension;

  var LEFTPARENTHESIS = _$$_REQUIRE(_dependencyMap[0]).TYPE.LeftParenthesis;

  var RIGHTPARENTHESIS = _$$_REQUIRE(_dependencyMap[0]).TYPE.RightParenthesis;

  var COLON = _$$_REQUIRE(_dependencyMap[0]).TYPE.Colon;

  var DELIM = _$$_REQUIRE(_dependencyMap[0]).TYPE.Delim;

  module.exports = {
    name: 'MediaFeature',
    structure: {
      name: String,
      value: ['Identifier', 'Number', 'Dimension', 'Ratio', null]
    },
    parse: function parse() {
      var start = this.scanner.tokenStart;
      var name;
      var value = null;
      this.eat(LEFTPARENTHESIS);
      this.scanner.skipSC();
      name = this.consume(IDENT);
      this.scanner.skipSC();

      if (this.scanner.tokenType !== RIGHTPARENTHESIS) {
        this.eat(COLON);
        this.scanner.skipSC();

        switch (this.scanner.tokenType) {
          case NUMBER:
            if (this.lookupNonWSType(1) === DELIM) {
              value = this.Ratio();
            } else {
              value = this.Number();
            }

            break;

          case DIMENSION:
            value = this.Dimension();
            break;

          case IDENT:
            value = this.Identifier();
            break;

          default:
            this.error('Number, dimension, ratio or identifier is expected');
        }

        this.scanner.skipSC();
      }

      this.eat(RIGHTPARENTHESIS);
      return {
        type: 'MediaFeature',
        loc: this.getLocation(start, this.scanner.tokenStart),
        name: name,
        value: value
      };
    },
    generate: function generate(node) {
      this.chunk('(');
      this.chunk(node.name);

      if (node.value !== null) {
        this.chunk(':');
        this.node(node.value);
      }

      this.chunk(')');
    }
  };
},895,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var WHITESPACE = _$$_REQUIRE(_dependencyMap[0]).TYPE.WhiteSpace;

  var COMMENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Comment;

  var IDENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Ident;

  var LEFTPARENTHESIS = _$$_REQUIRE(_dependencyMap[0]).TYPE.LeftParenthesis;

  module.exports = {
    name: 'MediaQuery',
    structure: {
      children: [['Identifier', 'MediaFeature', 'WhiteSpace']]
    },
    parse: function parse() {
      this.scanner.skipSC();
      var children = this.createList();
      var child = null;
      var space = null;

      scan: while (!this.scanner.eof) {
        switch (this.scanner.tokenType) {
          case COMMENT:
            this.scanner.next();
            continue;

          case WHITESPACE:
            space = this.WhiteSpace();
            continue;

          case IDENT:
            child = this.Identifier();
            break;

          case LEFTPARENTHESIS:
            child = this.MediaFeature();
            break;

          default:
            break scan;
        }

        if (space !== null) {
          children.push(space);
          space = null;
        }

        children.push(child);
      }

      if (child === null) {
        this.error('Identifier or parenthesis is expected');
      }

      return {
        type: 'MediaQuery',
        loc: this.getLocationFromList(children),
        children: children
      };
    },
    generate: function generate(node) {
      this.children(node);
    }
  };
},896,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var COMMA = _$$_REQUIRE(_dependencyMap[0]).TYPE.Comma;

  module.exports = {
    name: 'MediaQueryList',
    structure: {
      children: [['MediaQuery']]
    },
    parse: function parse(relative) {
      var children = this.createList();
      this.scanner.skipSC();

      while (!this.scanner.eof) {
        children.push(this.MediaQuery(relative));

        if (this.scanner.tokenType !== COMMA) {
          break;
        }

        this.scanner.next();
      }

      return {
        type: 'MediaQueryList',
        loc: this.getLocationFromList(children),
        children: children
      };
    },
    generate: function generate(node) {
      this.children(node, function () {
        this.chunk(',');
      });
    }
  };
},897,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    name: 'Nth',
    structure: {
      nth: ['AnPlusB', 'Identifier'],
      selector: ['SelectorList', null]
    },
    parse: function parse(allowOfClause) {
      this.scanner.skipSC();
      var start = this.scanner.tokenStart;
      var end = start;
      var selector = null;
      var query;

      if (this.scanner.lookupValue(0, 'odd') || this.scanner.lookupValue(0, 'even')) {
        query = this.Identifier();
      } else {
        query = this.AnPlusB();
      }

      this.scanner.skipSC();

      if (allowOfClause && this.scanner.lookupValue(0, 'of')) {
        this.scanner.next();
        selector = this.SelectorList();

        if (this.needPositions) {
          end = this.getLastListNode(selector.children).loc.end.offset;
        }
      } else {
        if (this.needPositions) {
          end = query.loc.end.offset;
        }
      }

      return {
        type: 'Nth',
        loc: this.getLocation(start, end),
        nth: query,
        selector: selector
      };
    },
    generate: function generate(node) {
      this.node(node.nth);

      if (node.selector !== null) {
        this.chunk(' of ');
        this.node(node.selector);
      }
    }
  };
},898,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var NUMBER = _$$_REQUIRE(_dependencyMap[0]).TYPE.Number;

  module.exports = {
    name: 'Number',
    structure: {
      value: String
    },
    parse: function parse() {
      return {
        type: 'Number',
        loc: this.getLocation(this.scanner.tokenStart, this.scanner.tokenEnd),
        value: this.consume(NUMBER)
      };
    },
    generate: function generate(node) {
      this.chunk(node.value);
    }
  };
},899,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    name: 'Operator',
    structure: {
      value: String
    },
    parse: function parse() {
      var start = this.scanner.tokenStart;
      this.scanner.next();
      return {
        type: 'Operator',
        loc: this.getLocation(start, this.scanner.tokenStart),
        value: this.scanner.substrToCursor(start)
      };
    },
    generate: function generate(node) {
      this.chunk(node.value);
    }
  };
},900,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var LEFTPARENTHESIS = _$$_REQUIRE(_dependencyMap[0]).TYPE.LeftParenthesis;

  var RIGHTPARENTHESIS = _$$_REQUIRE(_dependencyMap[0]).TYPE.RightParenthesis;

  module.exports = {
    name: 'Parentheses',
    structure: {
      children: [[]]
    },
    parse: function parse(readSequence, recognizer) {
      var start = this.scanner.tokenStart;
      var children = null;
      this.eat(LEFTPARENTHESIS);
      children = readSequence.call(this, recognizer);

      if (!this.scanner.eof) {
        this.eat(RIGHTPARENTHESIS);
      }

      return {
        type: 'Parentheses',
        loc: this.getLocation(start, this.scanner.tokenStart),
        children: children
      };
    },
    generate: function generate(node) {
      this.chunk('(');
      this.children(node);
      this.chunk(')');
    }
  };
},901,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var PERCENTAGE = _$$_REQUIRE(_dependencyMap[0]).TYPE.Percentage;

  module.exports = {
    name: 'Percentage',
    structure: {
      value: String
    },
    parse: function parse() {
      var start = this.scanner.tokenStart;

      var numberEnd = _$$_REQUIRE(_dependencyMap[1]).consumeNumber(this.scanner.source, start);

      this.eat(PERCENTAGE);
      return {
        type: 'Percentage',
        loc: this.getLocation(start, this.scanner.tokenStart),
        value: this.scanner.source.substring(start, numberEnd)
      };
    },
    generate: function generate(node) {
      this.chunk(node.value);
      this.chunk('%');
    }
  };
},902,[834,830]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var IDENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Ident;

  var FUNCTION = _$$_REQUIRE(_dependencyMap[0]).TYPE.Function;

  var COLON = _$$_REQUIRE(_dependencyMap[0]).TYPE.Colon;

  var RIGHTPARENTHESIS = _$$_REQUIRE(_dependencyMap[0]).TYPE.RightParenthesis;

  module.exports = {
    name: 'PseudoClassSelector',
    structure: {
      name: String,
      children: [['Raw'], null]
    },
    parse: function parse() {
      var start = this.scanner.tokenStart;
      var children = null;
      var name;
      var nameLowerCase;
      this.eat(COLON);

      if (this.scanner.tokenType === FUNCTION) {
        name = this.consumeFunctionName();
        nameLowerCase = name.toLowerCase();

        if (this.pseudo.hasOwnProperty(nameLowerCase)) {
          this.scanner.skipSC();
          children = this.pseudo[nameLowerCase].call(this);
          this.scanner.skipSC();
        } else {
          children = this.createList();
          children.push(this.Raw(this.scanner.tokenIndex, null, false));
        }

        this.eat(RIGHTPARENTHESIS);
      } else {
        name = this.consume(IDENT);
      }

      return {
        type: 'PseudoClassSelector',
        loc: this.getLocation(start, this.scanner.tokenStart),
        name: name,
        children: children
      };
    },
    generate: function generate(node) {
      this.chunk(':');
      this.chunk(node.name);

      if (node.children !== null) {
        this.chunk('(');
        this.children(node);
        this.chunk(')');
      }
    },
    walkContext: 'function'
  };
},903,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var IDENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Ident;

  var FUNCTION = _$$_REQUIRE(_dependencyMap[0]).TYPE.Function;

  var COLON = _$$_REQUIRE(_dependencyMap[0]).TYPE.Colon;

  var RIGHTPARENTHESIS = _$$_REQUIRE(_dependencyMap[0]).TYPE.RightParenthesis;

  module.exports = {
    name: 'PseudoElementSelector',
    structure: {
      name: String,
      children: [['Raw'], null]
    },
    parse: function parse() {
      var start = this.scanner.tokenStart;
      var children = null;
      var name;
      var nameLowerCase;
      this.eat(COLON);
      this.eat(COLON);

      if (this.scanner.tokenType === FUNCTION) {
        name = this.consumeFunctionName();
        nameLowerCase = name.toLowerCase();

        if (this.pseudo.hasOwnProperty(nameLowerCase)) {
          this.scanner.skipSC();
          children = this.pseudo[nameLowerCase].call(this);
          this.scanner.skipSC();
        } else {
          children = this.createList();
          children.push(this.Raw(this.scanner.tokenIndex, null, false));
        }

        this.eat(RIGHTPARENTHESIS);
      } else {
        name = this.consume(IDENT);
      }

      return {
        type: 'PseudoElementSelector',
        loc: this.getLocation(start, this.scanner.tokenStart),
        name: name,
        children: children
      };
    },
    generate: function generate(node) {
      this.chunk('::');
      this.chunk(node.name);

      if (node.children !== null) {
        this.chunk('(');
        this.children(node);
        this.chunk(')');
      }
    },
    walkContext: 'function'
  };
},904,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var NUMBER = _$$_REQUIRE(_dependencyMap[0]).TYPE.Number;

  var DELIM = _$$_REQUIRE(_dependencyMap[0]).TYPE.Delim;

  var SOLIDUS = 0x002F;
  var FULLSTOP = 0x002E;

  function consumeNumber() {
    this.scanner.skipWS();
    var value = this.consume(NUMBER);

    for (var i = 0; i < value.length; i++) {
      var code = value.charCodeAt(i);

      if (!_$$_REQUIRE(_dependencyMap[0]).isDigit(code) && code !== FULLSTOP) {
        this.error('Unsigned number is expected', this.scanner.tokenStart - value.length + i);
      }
    }

    if (Number(value) === 0) {
      this.error('Zero number is not allowed', this.scanner.tokenStart - value.length);
    }

    return value;
  }

  module.exports = {
    name: 'Ratio',
    structure: {
      left: String,
      right: String
    },
    parse: function parse() {
      var start = this.scanner.tokenStart;
      var left = consumeNumber.call(this);
      var right;
      this.scanner.skipWS();

      if (!this.scanner.isDelim(SOLIDUS)) {
        this.error('Solidus is expected');
      }

      this.eat(DELIM);
      right = consumeNumber.call(this);
      return {
        type: 'Ratio',
        loc: this.getLocation(start, this.scanner.tokenStart),
        left: left,
        right: right
      };
    },
    generate: function generate(node) {
      this.chunk(node.left);
      this.chunk('/');
      this.chunk(node.right);
    }
  };
},905,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var LEFTCURLYBRACKET = _$$_REQUIRE(_dependencyMap[0]).TYPE.LeftCurlyBracket;

  function consumeRaw(startToken) {
    return this.Raw(startToken, _$$_REQUIRE(_dependencyMap[1]).mode.leftCurlyBracket, true);
  }

  function consumePrelude() {
    var prelude = this.SelectorList();

    if (prelude.type !== 'Raw' && this.scanner.eof === false && this.scanner.tokenType !== LEFTCURLYBRACKET) {
      this.error();
    }

    return prelude;
  }

  module.exports = {
    name: 'Rule',
    structure: {
      prelude: ['SelectorList', 'Raw'],
      block: ['Block']
    },
    parse: function parse() {
      var startToken = this.scanner.tokenIndex;
      var startOffset = this.scanner.tokenStart;
      var prelude;
      var block;

      if (this.parseRulePrelude) {
        prelude = this.parseWithFallback(consumePrelude, consumeRaw);
      } else {
        prelude = consumeRaw.call(this, startToken);
      }

      block = this.Block(true);
      return {
        type: 'Rule',
        loc: this.getLocation(startOffset, this.scanner.tokenStart),
        prelude: prelude,
        block: block
      };
    },
    generate: function generate(node) {
      this.node(node.prelude);
      this.node(node.block);
    },
    walkContext: 'rule'
  };
},906,[834,878]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    name: 'Selector',
    structure: {
      children: [['TypeSelector', 'IdSelector', 'ClassSelector', 'AttributeSelector', 'PseudoClassSelector', 'PseudoElementSelector', 'Combinator', 'WhiteSpace']]
    },
    parse: function parse() {
      var children = this.readSequence(this.scope.Selector);

      if (this.getFirstListNode(children) === null) {
        this.error('Selector is expected');
      }

      return {
        type: 'Selector',
        loc: this.getLocationFromList(children),
        children: children
      };
    },
    generate: function generate(node) {
      this.children(node);
    }
  };
},907,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var COMMA = _$$_REQUIRE(_dependencyMap[0]).TYPE.Comma;

  module.exports = {
    name: 'SelectorList',
    structure: {
      children: [['Selector', 'Raw']]
    },
    parse: function parse() {
      var children = this.createList();

      while (!this.scanner.eof) {
        children.push(this.Selector());

        if (this.scanner.tokenType === COMMA) {
          this.scanner.next();
          continue;
        }

        break;
      }

      return {
        type: 'SelectorList',
        loc: this.getLocationFromList(children),
        children: children
      };
    },
    generate: function generate(node) {
      this.children(node, function () {
        this.chunk(',');
      });
    },
    walkContext: 'selector'
  };
},908,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var STRING = _$$_REQUIRE(_dependencyMap[0]).TYPE.String;

  module.exports = {
    name: 'String',
    structure: {
      value: String
    },
    parse: function parse() {
      return {
        type: 'String',
        loc: this.getLocation(this.scanner.tokenStart, this.scanner.tokenEnd),
        value: this.consume(STRING)
      };
    },
    generate: function generate(node) {
      this.chunk(node.value);
    }
  };
},909,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var WHITESPACE = _$$_REQUIRE(_dependencyMap[0]).TYPE.WhiteSpace;

  var COMMENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Comment;

  var ATKEYWORD = _$$_REQUIRE(_dependencyMap[0]).TYPE.AtKeyword;

  var CDO = _$$_REQUIRE(_dependencyMap[0]).TYPE.CDO;

  var CDC = _$$_REQUIRE(_dependencyMap[0]).TYPE.CDC;

  var EXCLAMATIONMARK = 0x0021;

  function consumeRaw(startToken) {
    return this.Raw(startToken, null, false);
  }

  module.exports = {
    name: 'StyleSheet',
    structure: {
      children: [['Comment', 'CDO', 'CDC', 'Atrule', 'Rule', 'Raw']]
    },
    parse: function parse() {
      var start = this.scanner.tokenStart;
      var children = this.createList();
      var child;

      scan: while (!this.scanner.eof) {
        switch (this.scanner.tokenType) {
          case WHITESPACE:
            this.scanner.next();
            continue;

          case COMMENT:
            if (this.scanner.source.charCodeAt(this.scanner.tokenStart + 2) !== EXCLAMATIONMARK) {
              this.scanner.next();
              continue;
            }

            child = this.Comment();
            break;

          case CDO:
            child = this.CDO();
            break;

          case CDC:
            child = this.CDC();
            break;

          case ATKEYWORD:
            child = this.parseWithFallback(this.Atrule, consumeRaw);
            break;

          default:
            child = this.parseWithFallback(this.Rule, consumeRaw);
        }

        children.push(child);
      }

      return {
        type: 'StyleSheet',
        loc: this.getLocation(start, this.scanner.tokenStart),
        children: children
      };
    },
    generate: function generate(node) {
      this.children(node);
    },
    walkContext: 'stylesheet'
  };
},910,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var IDENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Ident;

  var ASTERISK = 0x002A;
  var VERTICALLINE = 0x007C;

  function eatIdentifierOrAsterisk() {
    if (this.scanner.tokenType !== IDENT && this.scanner.isDelim(ASTERISK) === false) {
      this.error('Identifier or asterisk is expected');
    }

    this.scanner.next();
  }

  module.exports = {
    name: 'TypeSelector',
    structure: {
      name: String
    },
    parse: function parse() {
      var start = this.scanner.tokenStart;

      if (this.scanner.isDelim(VERTICALLINE)) {
        this.scanner.next();
        eatIdentifierOrAsterisk.call(this);
      } else {
        eatIdentifierOrAsterisk.call(this);

        if (this.scanner.isDelim(VERTICALLINE)) {
          this.scanner.next();
          eatIdentifierOrAsterisk.call(this);
        }
      }

      return {
        type: 'TypeSelector',
        loc: this.getLocation(start, this.scanner.tokenStart),
        name: this.scanner.substrToCursor(start)
      };
    },
    generate: function generate(node) {
      this.chunk(node.name);
    }
  };
},911,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var IDENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Ident;

  var NUMBER = _$$_REQUIRE(_dependencyMap[0]).TYPE.Number;

  var DIMENSION = _$$_REQUIRE(_dependencyMap[0]).TYPE.Dimension;

  var PLUSSIGN = 0x002B;
  var HYPHENMINUS = 0x002D;
  var QUESTIONMARK = 0x003F;
  var U = 0x0075;

  function eatHexSequence(offset, allowDash) {
    for (var pos = this.scanner.tokenStart + offset, len = 0; pos < this.scanner.tokenEnd; pos++) {
      var code = this.scanner.source.charCodeAt(pos);

      if (code === HYPHENMINUS && allowDash && len !== 0) {
        if (eatHexSequence.call(this, offset + len + 1, false) === 0) {
          this.error();
        }

        return -1;
      }

      if (!_$$_REQUIRE(_dependencyMap[0]).isHexDigit(code)) {
        this.error(allowDash && len !== 0 ? 'HyphenMinus' + (len < 6 ? ' or hex digit' : '') + ' is expected' : len < 6 ? 'Hex digit is expected' : 'Unexpected input', pos);
      }

      if (++len > 6) {
        this.error('Too many hex digits', pos);
      }

      ;
    }

    this.scanner.next();
    return len;
  }

  function eatQuestionMarkSequence(max) {
    var count = 0;

    while (this.scanner.isDelim(QUESTIONMARK)) {
      if (++count > max) {
        this.error('Too many question marks');
      }

      this.scanner.next();
    }
  }

  function startsWith(code) {
    if (this.scanner.source.charCodeAt(this.scanner.tokenStart) !== code) {
      this.error(_$$_REQUIRE(_dependencyMap[0]).NAME[code] + ' is expected');
    }
  }

  function scanUnicodeRange() {
    var hexLength = 0;

    if (this.scanner.isDelim(PLUSSIGN)) {
      this.scanner.next();

      if (this.scanner.tokenType === IDENT) {
        hexLength = eatHexSequence.call(this, 0, true);

        if (hexLength > 0) {
          eatQuestionMarkSequence.call(this, 6 - hexLength);
        }

        return;
      }

      if (this.scanner.isDelim(QUESTIONMARK)) {
        this.scanner.next();
        eatQuestionMarkSequence.call(this, 5);
        return;
      }

      this.error('Hex digit or question mark is expected');
      return;
    }

    if (this.scanner.tokenType === NUMBER) {
      startsWith.call(this, PLUSSIGN);
      hexLength = eatHexSequence.call(this, 1, true);

      if (this.scanner.isDelim(QUESTIONMARK)) {
        eatQuestionMarkSequence.call(this, 6 - hexLength);
        return;
      }

      if (this.scanner.tokenType === DIMENSION || this.scanner.tokenType === NUMBER) {
        startsWith.call(this, HYPHENMINUS);
        eatHexSequence.call(this, 1, false);
        return;
      }

      return;
    }

    if (this.scanner.tokenType === DIMENSION) {
      startsWith.call(this, PLUSSIGN);
      hexLength = eatHexSequence.call(this, 1, true);

      if (hexLength > 0) {
        eatQuestionMarkSequence.call(this, 6 - hexLength);
      }

      return;
    }

    this.error();
  }

  module.exports = {
    name: 'UnicodeRange',
    structure: {
      value: String
    },
    parse: function parse() {
      var start = this.scanner.tokenStart;

      if (!_$$_REQUIRE(_dependencyMap[0]).cmpChar(this.scanner.source, start, U)) {
        this.error('U is expected');
      }

      if (!_$$_REQUIRE(_dependencyMap[0]).cmpChar(this.scanner.source, start + 1, PLUSSIGN)) {
        this.error('Plus sign is expected');
      }

      this.scanner.next();
      scanUnicodeRange.call(this);
      return {
        type: 'UnicodeRange',
        loc: this.getLocation(start, this.scanner.tokenStart),
        value: this.scanner.substrToCursor(start)
      };
    },
    generate: function generate(node) {
      this.chunk(node.value);
    }
  };
},912,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var FUNCTION = _$$_REQUIRE(_dependencyMap[0]).TYPE.Function;

  var URL = _$$_REQUIRE(_dependencyMap[0]).TYPE.Url;

  var RIGHTPARENTHESIS = _$$_REQUIRE(_dependencyMap[0]).TYPE.RightParenthesis;

  module.exports = {
    name: 'Url',
    structure: {
      value: ['String', 'Raw']
    },
    parse: function parse() {
      var start = this.scanner.tokenStart;
      var value;

      switch (this.scanner.tokenType) {
        case URL:
          var rawStart = start + 4;
          var rawEnd = this.scanner.tokenEnd - 1;

          while (rawStart < rawEnd && _$$_REQUIRE(_dependencyMap[0]).isWhiteSpace(this.scanner.source.charCodeAt(rawStart))) {
            rawStart++;
          }

          while (rawStart < rawEnd && _$$_REQUIRE(_dependencyMap[0]).isWhiteSpace(this.scanner.source.charCodeAt(rawEnd - 1))) {
            rawEnd--;
          }

          value = {
            type: 'Raw',
            loc: this.getLocation(rawStart, rawEnd),
            value: this.scanner.source.substring(rawStart, rawEnd)
          };
          this.eat(URL);
          break;

        case FUNCTION:
          if (!_$$_REQUIRE(_dependencyMap[0]).cmpStr(this.scanner.source, this.scanner.tokenStart, this.scanner.tokenEnd, 'url(')) {
            this.error('Function name must be `url`');
          }

          this.eat(FUNCTION);
          this.scanner.skipSC();
          value = this.String();
          this.scanner.skipSC();
          this.eat(RIGHTPARENTHESIS);
          break;

        default:
          this.error('Url or Function is expected');
      }

      return {
        type: 'Url',
        loc: this.getLocation(start, this.scanner.tokenStart),
        value: value
      };
    },
    generate: function generate(node) {
      this.chunk('url');
      this.chunk('(');
      this.node(node.value);
      this.chunk(')');
    }
  };
},913,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    name: 'Value',
    structure: {
      children: [[]]
    },
    parse: function parse() {
      var start = this.scanner.tokenStart;
      var children = this.readSequence(this.scope.Value);
      return {
        type: 'Value',
        loc: this.getLocation(start, this.scanner.tokenStart),
        children: children
      };
    },
    generate: function generate(node) {
      this.children(node);
    }
  };
},914,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var WHITESPACE = _$$_REQUIRE(_dependencyMap[0]).TYPE.WhiteSpace;

  var SPACE = Object.freeze({
    type: 'WhiteSpace',
    loc: null,
    value: ' '
  });
  module.exports = {
    name: 'WhiteSpace',
    structure: {
      value: String
    },
    parse: function parse() {
      this.eat(WHITESPACE);
      return SPACE;
    },
    generate: function generate(node) {
      this.chunk(node.value);
    }
  };
},915,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    parseContext: {
      default: 'StyleSheet',
      stylesheet: 'StyleSheet',
      atrule: 'Atrule',
      atrulePrelude: function atrulePrelude(options) {
        return this.AtrulePrelude(options.atrule ? String(options.atrule) : null);
      },
      mediaQueryList: 'MediaQueryList',
      mediaQuery: 'MediaQuery',
      rule: 'Rule',
      selectorList: 'SelectorList',
      selector: 'Selector',
      block: function block() {
        return this.Block(true);
      },
      declarationList: 'DeclarationList',
      declaration: 'Declaration',
      value: 'Value'
    },
    scope: _$$_REQUIRE(_dependencyMap[0]),
    atrule: _$$_REQUIRE(_dependencyMap[1]),
    pseudo: _$$_REQUIRE(_dependencyMap[2]),
    node: _$$_REQUIRE(_dependencyMap[3])
  };
},916,[917,924,930,875]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    AtrulePrelude: _$$_REQUIRE(_dependencyMap[0]),
    Selector: _$$_REQUIRE(_dependencyMap[1]),
    Value: _$$_REQUIRE(_dependencyMap[2])
  };
},917,[918,920,921]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    getNode: _$$_REQUIRE(_dependencyMap[0])
  };
},918,[919]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var IDENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Ident;

  var STRING = _$$_REQUIRE(_dependencyMap[0]).TYPE.String;

  var NUMBER = _$$_REQUIRE(_dependencyMap[0]).TYPE.Number;

  var FUNCTION = _$$_REQUIRE(_dependencyMap[0]).TYPE.Function;

  var URL = _$$_REQUIRE(_dependencyMap[0]).TYPE.Url;

  var HASH = _$$_REQUIRE(_dependencyMap[0]).TYPE.Hash;

  var DIMENSION = _$$_REQUIRE(_dependencyMap[0]).TYPE.Dimension;

  var PERCENTAGE = _$$_REQUIRE(_dependencyMap[0]).TYPE.Percentage;

  var LEFTPARENTHESIS = _$$_REQUIRE(_dependencyMap[0]).TYPE.LeftParenthesis;

  var LEFTSQUAREBRACKET = _$$_REQUIRE(_dependencyMap[0]).TYPE.LeftSquareBracket;

  var COMMA = _$$_REQUIRE(_dependencyMap[0]).TYPE.Comma;

  var DELIM = _$$_REQUIRE(_dependencyMap[0]).TYPE.Delim;

  var NUMBERSIGN = 0x0023;
  var ASTERISK = 0x002A;
  var PLUSSIGN = 0x002B;
  var HYPHENMINUS = 0x002D;
  var SOLIDUS = 0x002F;
  var U = 0x0075;

  module.exports = function defaultRecognizer(context) {
    switch (this.scanner.tokenType) {
      case HASH:
        return this.Hash();

      case COMMA:
        context.space = null;
        context.ignoreWSAfter = true;
        return this.Operator();

      case LEFTPARENTHESIS:
        return this.Parentheses(this.readSequence, context.recognizer);

      case LEFTSQUAREBRACKET:
        return this.Brackets(this.readSequence, context.recognizer);

      case STRING:
        return this.String();

      case DIMENSION:
        return this.Dimension();

      case PERCENTAGE:
        return this.Percentage();

      case NUMBER:
        return this.Number();

      case FUNCTION:
        return _$$_REQUIRE(_dependencyMap[0]).cmpStr(this.scanner.source, this.scanner.tokenStart, this.scanner.tokenEnd, 'url(') ? this.Url() : this.Function(this.readSequence, context.recognizer);

      case URL:
        return this.Url();

      case IDENT:
        if (_$$_REQUIRE(_dependencyMap[0]).cmpChar(this.scanner.source, this.scanner.tokenStart, U) && _$$_REQUIRE(_dependencyMap[0]).cmpChar(this.scanner.source, this.scanner.tokenStart + 1, PLUSSIGN)) {
          return this.UnicodeRange();
        } else {
          return this.Identifier();
        }

      case DELIM:
        var code = this.scanner.source.charCodeAt(this.scanner.tokenStart);

        if (code === SOLIDUS || code === ASTERISK || code === PLUSSIGN || code === HYPHENMINUS) {
          return this.Operator();
        }

        if (code === NUMBERSIGN) {
          this.error('Hex or identifier is expected', this.scanner.tokenStart + 1);
        }

        break;
    }
  };
},919,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var DELIM = _$$_REQUIRE(_dependencyMap[0]).TYPE.Delim;

  var IDENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Ident;

  var DIMENSION = _$$_REQUIRE(_dependencyMap[0]).TYPE.Dimension;

  var PERCENTAGE = _$$_REQUIRE(_dependencyMap[0]).TYPE.Percentage;

  var NUMBER = _$$_REQUIRE(_dependencyMap[0]).TYPE.Number;

  var HASH = _$$_REQUIRE(_dependencyMap[0]).TYPE.Hash;

  var COLON = _$$_REQUIRE(_dependencyMap[0]).TYPE.Colon;

  var LEFTSQUAREBRACKET = _$$_REQUIRE(_dependencyMap[0]).TYPE.LeftSquareBracket;

  var NUMBERSIGN = 0x0023;
  var ASTERISK = 0x002A;
  var PLUSSIGN = 0x002B;
  var SOLIDUS = 0x002F;
  var FULLSTOP = 0x002E;
  var GREATERTHANSIGN = 0x003E;
  var VERTICALLINE = 0x007C;
  var TILDE = 0x007E;

  function getNode(context) {
    switch (this.scanner.tokenType) {
      case LEFTSQUAREBRACKET:
        return this.AttributeSelector();

      case HASH:
        return this.IdSelector();

      case COLON:
        if (this.scanner.lookupType(1) === COLON) {
          return this.PseudoElementSelector();
        } else {
          return this.PseudoClassSelector();
        }

      case IDENT:
        return this.TypeSelector();

      case NUMBER:
      case PERCENTAGE:
        return this.Percentage();

      case DIMENSION:
        if (this.scanner.source.charCodeAt(this.scanner.tokenStart) === FULLSTOP) {
          this.error('Identifier is expected', this.scanner.tokenStart + 1);
        }

        break;

      case DELIM:
        var code = this.scanner.source.charCodeAt(this.scanner.tokenStart);

        switch (code) {
          case PLUSSIGN:
          case GREATERTHANSIGN:
          case TILDE:
            context.space = null;
            context.ignoreWSAfter = true;
            return this.Combinator();

          case SOLIDUS:
            return this.Combinator();

          case FULLSTOP:
            return this.ClassSelector();

          case ASTERISK:
          case VERTICALLINE:
            return this.TypeSelector();

          case NUMBERSIGN:
            return this.IdSelector();
        }

        break;
    }
  }

  ;
  module.exports = {
    getNode: getNode
  };
},920,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    getNode: _$$_REQUIRE(_dependencyMap[0]),
    'expression': _$$_REQUIRE(_dependencyMap[1]),
    'var': _$$_REQUIRE(_dependencyMap[2])
  };
},921,[919,922,923]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = function () {
    return this.createSingleNodeList(this.Raw(this.scanner.tokenIndex, null, false));
  };
},922,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var COMMA = _$$_REQUIRE(_dependencyMap[0]).TYPE.Comma;

  var WHITESPACE = _$$_REQUIRE(_dependencyMap[0]).TYPE.WhiteSpace;

  module.exports = function () {
    var children = this.createList();
    this.scanner.skipSC();
    children.push(this.Identifier());
    this.scanner.skipSC();

    if (this.scanner.tokenType === COMMA) {
      children.push(this.Operator());
      var startIndex = this.scanner.tokenIndex;
      var value = this.parseCustomProperty ? this.Value(null) : this.Raw(this.scanner.tokenIndex, _$$_REQUIRE(_dependencyMap[1]).mode.exclamationMarkOrSemicolon, false);

      if (value.type === 'Value' && value.children.isEmpty()) {
        for (var offset = startIndex - this.scanner.tokenIndex; offset <= 0; offset++) {
          if (this.scanner.lookupType(offset) === WHITESPACE) {
            value.children.appendData({
              type: 'WhiteSpace',
              loc: null,
              value: ' '
            });
            break;
          }
        }
      }

      children.push(value);
    }

    return children;
  };
},923,[834,878]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    'font-face': _$$_REQUIRE(_dependencyMap[0]),
    'import': _$$_REQUIRE(_dependencyMap[1]),
    'media': _$$_REQUIRE(_dependencyMap[2]),
    'page': _$$_REQUIRE(_dependencyMap[3]),
    'supports': _$$_REQUIRE(_dependencyMap[4])
  };
},924,[925,926,927,928,929]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    parse: {
      prelude: null,
      block: function block() {
        return this.Block(true);
      }
    }
  };
},925,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var STRING = _$$_REQUIRE(_dependencyMap[0]).TYPE.String;

  var IDENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Ident;

  var URL = _$$_REQUIRE(_dependencyMap[0]).TYPE.Url;

  var FUNCTION = _$$_REQUIRE(_dependencyMap[0]).TYPE.Function;

  var LEFTPARENTHESIS = _$$_REQUIRE(_dependencyMap[0]).TYPE.LeftParenthesis;

  module.exports = {
    parse: {
      prelude: function prelude() {
        var children = this.createList();
        this.scanner.skipSC();

        switch (this.scanner.tokenType) {
          case STRING:
            children.push(this.String());
            break;

          case URL:
          case FUNCTION:
            children.push(this.Url());
            break;

          default:
            this.error('String or url() is expected');
        }

        if (this.lookupNonWSType(0) === IDENT || this.lookupNonWSType(0) === LEFTPARENTHESIS) {
          children.push(this.WhiteSpace());
          children.push(this.MediaQueryList());
        }

        return children;
      },
      block: null
    }
  };
},926,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    parse: {
      prelude: function prelude() {
        return this.createSingleNodeList(this.MediaQueryList());
      },
      block: function block() {
        return this.Block(false);
      }
    }
  };
},927,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    parse: {
      prelude: function prelude() {
        return this.createSingleNodeList(this.SelectorList());
      },
      block: function block() {
        return this.Block(true);
      }
    }
  };
},928,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var WHITESPACE = _$$_REQUIRE(_dependencyMap[0]).TYPE.WhiteSpace;

  var COMMENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Comment;

  var IDENT = _$$_REQUIRE(_dependencyMap[0]).TYPE.Ident;

  var FUNCTION = _$$_REQUIRE(_dependencyMap[0]).TYPE.Function;

  var COLON = _$$_REQUIRE(_dependencyMap[0]).TYPE.Colon;

  var LEFTPARENTHESIS = _$$_REQUIRE(_dependencyMap[0]).TYPE.LeftParenthesis;

  function consumeRaw() {
    return this.createSingleNodeList(this.Raw(this.scanner.tokenIndex, null, false));
  }

  function parentheses() {
    this.scanner.skipSC();

    if (this.scanner.tokenType === IDENT && this.lookupNonWSType(1) === COLON) {
      return this.createSingleNodeList(this.Declaration());
    }

    return readSequence.call(this);
  }

  function readSequence() {
    var children = this.createList();
    var space = null;
    var child;
    this.scanner.skipSC();

    scan: while (!this.scanner.eof) {
      switch (this.scanner.tokenType) {
        case WHITESPACE:
          space = this.WhiteSpace();
          continue;

        case COMMENT:
          this.scanner.next();
          continue;

        case FUNCTION:
          child = this.Function(consumeRaw, this.scope.AtrulePrelude);
          break;

        case IDENT:
          child = this.Identifier();
          break;

        case LEFTPARENTHESIS:
          child = this.Parentheses(parentheses, this.scope.AtrulePrelude);
          break;

        default:
          break scan;
      }

      if (space !== null) {
        children.push(space);
        space = null;
      }

      children.push(child);
    }

    return children;
  }

  module.exports = {
    parse: {
      prelude: function prelude() {
        var children = readSequence.call(this);

        if (this.getFirstListNode(children) === null) {
          this.error('Condition is expected');
        }

        return children;
      },
      block: function block() {
        return this.Block(false);
      }
    }
  };
},929,[834]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    'dir': _$$_REQUIRE(_dependencyMap[0]),
    'has': _$$_REQUIRE(_dependencyMap[1]),
    'lang': _$$_REQUIRE(_dependencyMap[2]),
    'matches': _$$_REQUIRE(_dependencyMap[3]),
    'not': _$$_REQUIRE(_dependencyMap[4]),
    'nth-child': _$$_REQUIRE(_dependencyMap[5]),
    'nth-last-child': _$$_REQUIRE(_dependencyMap[6]),
    'nth-last-of-type': _$$_REQUIRE(_dependencyMap[7]),
    'nth-of-type': _$$_REQUIRE(_dependencyMap[8]),
    'slotted': _$$_REQUIRE(_dependencyMap[9])
  };
},930,[931,932,933,934,936,937,939,940,942,943]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    parse: function parse() {
      return this.createSingleNodeList(this.Identifier());
    }
  };
},931,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    parse: function parse() {
      return this.createSingleNodeList(this.SelectorList());
    }
  };
},932,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    parse: function parse() {
      return this.createSingleNodeList(this.Identifier());
    }
  };
},933,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]);
},934,[935]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    parse: function selectorList() {
      return this.createSingleNodeList(this.SelectorList());
    }
  };
},935,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]);
},936,[935]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]);
},937,[938]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var ALLOW_OF_CLAUSE = true;
  module.exports = {
    parse: function nthWithOfClause() {
      return this.createSingleNodeList(this.Nth(ALLOW_OF_CLAUSE));
    }
  };
},938,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]);
},939,[938]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]);
},940,[941]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var DISALLOW_OF_CLAUSE = false;
  module.exports = {
    parse: function nth() {
      return this.createSingleNodeList(this.Nth(DISALLOW_OF_CLAUSE));
    }
  };
},941,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]);
},942,[941]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    parse: function compoundSelector() {
      return this.createSingleNodeList(this.Selector());
    }
  };
},943,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    node: _$$_REQUIRE(_dependencyMap[0])
  };
},944,[875]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "_args": [
    [
      "css-tree@1.1.2",
      "/Users/ipaddev/sdk/firebase-ios-upgrade"
    ]
  ],
  "_from": "css-tree@1.1.2",
  "_id": "css-tree@1.1.2",
  "_inBundle": false,
  "_integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==",
  "_location": "/css-tree",
  "_phantomChildren": {},
  "_requested": {
    "type": "version",
    "registry": true,
    "raw": "css-tree@1.1.2",
    "name": "css-tree",
    "escapedName": "css-tree",
    "rawSpec": "1.1.2",
    "saveSpec": null,
    "fetchSpec": "1.1.2"
  },
  "_requiredBy": [
    "/react-native-svg"
  ],
  "_resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz",
  "_spec": "1.1.2",
  "_where": "/Users/ipaddev/sdk/firebase-ios-upgrade",
  "author": {
    "name": "Roman Dvornov",
    "email": "rdvornov@gmail.com",
    "url": "https://github.com/lahmatiy"
  },
  "bugs": {
    "url": "https://github.com/csstree/csstree/issues"
  },
  "dependencies": {
    "mdn-data": "2.0.14",
    "source-map": "^0.6.1"
  },
  "description": "A tool set for CSS: fast detailed parser (CSS → AST), walker (AST traversal), generator (AST → CSS) and lexer (validation and matching) based on specs and browser implementations",
  "devDependencies": {
    "@rollup/plugin-commonjs": "^11.0.2",
    "@rollup/plugin-json": "^4.0.2",
    "@rollup/plugin-node-resolve": "^7.1.1",
    "coveralls": "^3.0.9",
    "eslint": "^6.8.0",
    "json-to-ast": "^2.1.0",
    "mocha": "^6.2.3",
    "nyc": "^14.1.1",
    "rollup": "^1.32.1",
    "rollup-plugin-terser": "^5.3.0"
  },
  "engines": {
    "node": ">=8.0.0"
  },
  "files": [
    "data",
    "dist",
    "lib"
  ],
  "homepage": "https://github.com/csstree/csstree#readme",
  "jsdelivr": "dist/csstree.min.js",
  "keywords": [
    "css",
    "ast",
    "tokenizer",
    "parser",
    "walker",
    "lexer",
    "generator",
    "utils",
    "syntax",
    "validation"
  ],
  "license": "MIT",
  "main": "lib/index.js",
  "name": "css-tree",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/csstree/csstree.git"
  },
  "scripts": {
    "build": "rollup --config",
    "coverage": "nyc npm test",
    "coveralls": "nyc report --reporter=text-lcov | coveralls",
    "hydrogen": "node --trace-hydrogen --trace-phase=Z --trace-deopt --code-comments --hydrogen-track-positions --redirect-code-traces --redirect-code-traces-to=code.asm --trace_hydrogen_file=code.cfg --print-opt-code bin/parse --stat -o /dev/null",
    "lint": "eslint data lib scripts test && node scripts/review-syntax-patch --lint && node scripts/update-docs --lint",
    "lint-and-test": "npm run lint && npm test",
    "prepublishOnly": "npm run build",
    "review:syntax-patch": "node scripts/review-syntax-patch",
    "test": "mocha --reporter progress",
    "travis": "nyc npm run lint-and-test && npm run coveralls",
    "update:docs": "node scripts/update-docs"
  },
  "unpkg": "dist/csstree.min.js",
  "version": "1.1.2"
}
;
},945,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  module.exports = CSSselect;

  function wrapCompile(func) {
    return function addAdapter(selector, options, context) {
      options = options || {};
      options.adapter = options.adapter || _$$_REQUIRE(_dependencyMap[0]);
      return func(selector, options, context);
    };
  }

  var compile = wrapCompile(_$$_REQUIRE(_dependencyMap[1]));
  var compileUnsafe = wrapCompile(_$$_REQUIRE(_dependencyMap[1]).compileUnsafe);

  function getSelectorFunc(searchFunc) {
    return function select(query, elems, options) {
      options = options || {};
      options.adapter = options.adapter || _$$_REQUIRE(_dependencyMap[0]);

      if (typeof query !== "function") {
        query = compileUnsafe(query, options, elems);
      }

      if (query.shouldTestNextSiblings) {
        elems = appendNextSiblings(options && options.context || elems, options.adapter);
      }

      if (!Array.isArray(elems)) elems = options.adapter.getChildren(elems);else elems = options.adapter.removeSubsets(elems);
      return searchFunc(query, elems, options);
    };
  }

  function getNextSiblings(elem, adapter) {
    var siblings = adapter.getSiblings(elem);
    if (!Array.isArray(siblings)) return [];
    siblings = siblings.slice(0);

    while (siblings.shift() !== elem) {
      ;
    }

    return siblings;
  }

  function appendNextSiblings(elems, adapter) {
    if (!Array.isArray(elems)) elems = [elems];
    var newElems = elems.slice(0);

    for (var i = 0, len = elems.length; i < len; i++) {
      var nextSiblings = getNextSiblings(newElems[i], adapter);
      newElems.push.apply(newElems, nextSiblings);
    }

    return newElems;
  }

  var selectAll = getSelectorFunc(function selectAll(query, elems, options) {
    return query === _$$_REQUIRE(_dependencyMap[2]).falseFunc || !elems || elems.length === 0 ? [] : options.adapter.findAll(query, elems);
  });
  var selectOne = getSelectorFunc(function selectOne(query, elems, options) {
    return query === _$$_REQUIRE(_dependencyMap[2]).falseFunc || !elems || elems.length === 0 ? null : options.adapter.findOne(query, elems);
  });

  function is(elem, query, options) {
    options = options || {};
    options.adapter = options.adapter || _$$_REQUIRE(_dependencyMap[0]);
    return (typeof query === "function" ? query : compile(query, options))(elem);
  }

  function CSSselect(query, elems, options) {
    return selectAll(query, elems, options);
  }

  CSSselect.compile = compile;
  CSSselect.filters = _$$_REQUIRE(_dependencyMap[1]).Pseudos.filters;
  CSSselect.pseudos = _$$_REQUIRE(_dependencyMap[1]).Pseudos.pseudos;
  CSSselect.selectAll = selectAll;
  CSSselect.selectOne = selectOne;
  CSSselect.is = is;
  CSSselect.parse = compile;
  CSSselect.iterate = selectAll;
  CSSselect._compileUnsafe = compileUnsafe;
  CSSselect._compileToken = _$$_REQUIRE(_dependencyMap[1]).compileToken;
},946,[947,966,972]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var DomUtils = module.exports;
  [_$$_REQUIRE(_dependencyMap[0]), _$$_REQUIRE(_dependencyMap[1]), _$$_REQUIRE(_dependencyMap[2]), _$$_REQUIRE(_dependencyMap[3]), _$$_REQUIRE(_dependencyMap[4]), _$$_REQUIRE(_dependencyMap[5])].forEach(function (ext) {
    Object.keys(ext).forEach(function (key) {
      DomUtils[key] = ext[key].bind(DomUtils);
    });
  });
},947,[948,961,962,963,964,965]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    getInnerHTML: getInnerHTML,
    getOuterHTML: _$$_REQUIRE(_dependencyMap[0]),
    getText: getText
  };

  function getInnerHTML(elem, opts) {
    return elem.children ? elem.children.map(function (elem) {
      return _$$_REQUIRE(_dependencyMap[0])(elem, opts);
    }).join("") : "";
  }

  function getText(elem) {
    if (Array.isArray(elem)) return elem.map(getText).join("");
    if (_$$_REQUIRE(_dependencyMap[1]).isTag(elem)) return elem.name === "br" ? "\n" : getText(elem.children);
    if (elem.type === _$$_REQUIRE(_dependencyMap[1]).CDATA) return getText(elem.children);
    if (elem.type === _$$_REQUIRE(_dependencyMap[1]).Text) return elem.data;
    return "";
  }
},948,[949,960]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  _$$_REQUIRE(_dependencyMap[0]).elementNames.__proto__ = null;
  _$$_REQUIRE(_dependencyMap[0]).attributeNames.__proto__ = null;
  var unencodedElements = {
    __proto__: null,
    style: true,
    script: true,
    xmp: true,
    iframe: true,
    noembed: true,
    noframes: true,
    plaintext: true,
    noscript: true
  };

  function formatAttrs(attributes, opts) {
    if (!attributes) return;
    var output = '';
    var value;

    for (var key in attributes) {
      value = attributes[key];

      if (output) {
        output += ' ';
      }

      if (opts.xmlMode === 'foreign') {
        key = _$$_REQUIRE(_dependencyMap[0]).attributeNames[key] || key;
      }

      output += key;

      if (value !== null && value !== '' || opts.xmlMode) {
        output += '="' + (opts.decodeEntities ? _$$_REQUIRE(_dependencyMap[1]).encodeXML(value) : value.replace(/\"/g, '&quot;')) + '"';
      }
    }

    return output;
  }

  var singleTag = {
    __proto__: null,
    area: true,
    base: true,
    basefont: true,
    br: true,
    col: true,
    command: true,
    embed: true,
    frame: true,
    hr: true,
    img: true,
    input: true,
    isindex: true,
    keygen: true,
    link: true,
    meta: true,
    param: true,
    source: true,
    track: true,
    wbr: true
  };

  var render = module.exports = function (dom, opts) {
    if (!Array.isArray(dom) && !dom.cheerio) dom = [dom];
    opts = opts || {};
    var output = '';

    for (var i = 0; i < dom.length; i++) {
      var elem = dom[i];
      if (elem.type === 'root') output += render(elem.children, opts);else if (_$$_REQUIRE(_dependencyMap[2]).isTag(elem)) output += renderTag(elem, opts);else if (elem.type === _$$_REQUIRE(_dependencyMap[2]).Directive) output += renderDirective(elem);else if (elem.type === _$$_REQUIRE(_dependencyMap[2]).Comment) output += renderComment(elem);else if (elem.type === _$$_REQUIRE(_dependencyMap[2]).CDATA) output += renderCdata(elem);else output += renderText(elem, opts);
    }

    return output;
  };

  var foreignModeIntegrationPoints = ['mi', 'mo', 'mn', 'ms', 'mtext', 'annotation-xml', 'foreignObject', 'desc', 'title'];

  function renderTag(elem, opts) {
    if (opts.xmlMode === 'foreign') {
      elem.name = _$$_REQUIRE(_dependencyMap[0]).elementNames[elem.name] || elem.name;
      if (elem.parent && foreignModeIntegrationPoints.indexOf(elem.parent.name) >= 0) opts = _$$_REQUIRE(_dependencyMap[3])({}, opts, {
        xmlMode: false
      });
    }

    if (!opts.xmlMode && ['svg', 'math'].indexOf(elem.name) >= 0) {
      opts = _$$_REQUIRE(_dependencyMap[3])({}, opts, {
        xmlMode: 'foreign'
      });
    }

    var tag = '<' + elem.name;
    var attribs = formatAttrs(elem.attribs, opts);

    if (attribs) {
      tag += ' ' + attribs;
    }

    if (opts.xmlMode && (!elem.children || elem.children.length === 0)) {
      tag += '/>';
    } else {
      tag += '>';

      if (elem.children) {
        tag += render(elem.children, opts);
      }

      if (!singleTag[elem.name] || opts.xmlMode) {
        tag += '</' + elem.name + '>';
      }
    }

    return tag;
  }

  function renderDirective(elem) {
    return '<' + elem.data + '>';
  }

  function renderText(elem, opts) {
    var data = elem.data || '';

    if (opts.decodeEntities && !(elem.parent && elem.parent.name in unencodedElements)) {
      data = _$$_REQUIRE(_dependencyMap[1]).encodeXML(data);
    }

    return data;
  }

  function renderCdata(elem) {
    return '<![CDATA[' + elem.children[0].data + ']]>';
  }

  function renderComment(elem) {
    return '<!--' + elem.data + '-->';
  }
},949,[950,951,959,6]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "elementNames" : {
"altglyph" : "altGlyph",
"altglyphdef" : "altGlyphDef",
"altglyphitem" : "altGlyphItem",
"animatecolor" : "animateColor",
"animatemotion" : "animateMotion",
"animatetransform" : "animateTransform",
"clippath" : "clipPath",
"feblend" : "feBlend",
"fecolormatrix" : "feColorMatrix",
"fecomponenttransfer" : "feComponentTransfer",
"fecomposite" : "feComposite",
"feconvolvematrix" : "feConvolveMatrix",
"fediffuselighting" : "feDiffuseLighting",
"fedisplacementmap" : "feDisplacementMap",
"fedistantlight" : "feDistantLight",
"fedropshadow" : "feDropShadow",
"feflood" : "feFlood",
"fefunca" : "feFuncA",
"fefuncb" : "feFuncB",
"fefuncg" : "feFuncG",
"fefuncr" : "feFuncR",
"fegaussianblur" : "feGaussianBlur",
"feimage" : "feImage",
"femerge" : "feMerge",
"femergenode" : "feMergeNode",
"femorphology" : "feMorphology",
"feoffset" : "feOffset",
"fepointlight" : "fePointLight",
"fespecularlighting" : "feSpecularLighting",
"fespotlight" : "feSpotLight",
"fetile" : "feTile",
"feturbulence" : "feTurbulence",
"foreignobject" : "foreignObject",
"glyphref" : "glyphRef",
"lineargradient" : "linearGradient",
"radialgradient" : "radialGradient",
"textpath" : "textPath"
  },
  "attributeNames" : {
"definitionurl" : "definitionURL",
"attributename" : "attributeName",
"attributetype" : "attributeType",
"basefrequency" : "baseFrequency",
"baseprofile" : "baseProfile",
"calcmode" : "calcMode",
"clippathunits" : "clipPathUnits",
"diffuseconstant" : "diffuseConstant",
"edgemode" : "edgeMode",
"filterunits" : "filterUnits",
"glyphref" : "glyphRef",
"gradienttransform" : "gradientTransform",
"gradientunits" : "gradientUnits",
"kernelmatrix" : "kernelMatrix",
"kernelunitlength" : "kernelUnitLength",
"keypoints" : "keyPoints",
"keysplines" : "keySplines",
"keytimes" : "keyTimes",
"lengthadjust" : "lengthAdjust",
"limitingconeangle" : "limitingConeAngle",
"markerheight" : "markerHeight",
"markerunits" : "markerUnits",
"markerwidth" : "markerWidth",
"maskcontentunits" : "maskContentUnits",
"maskunits" : "maskUnits",
"numoctaves" : "numOctaves",
"pathlength" : "pathLength",
"patterncontentunits" : "patternContentUnits",
"patterntransform" : "patternTransform",
"patternunits" : "patternUnits",
"pointsatx" : "pointsAtX",
"pointsaty" : "pointsAtY",
"pointsatz" : "pointsAtZ",
"preservealpha" : "preserveAlpha",
"preserveaspectratio" : "preserveAspectRatio",
"primitiveunits" : "primitiveUnits",
"refx" : "refX",
"refy" : "refY",
"repeatcount" : "repeatCount",
"repeatdur" : "repeatDur",
"requiredextensions" : "requiredExtensions",
"requiredfeatures" : "requiredFeatures",
"specularconstant" : "specularConstant",
"specularexponent" : "specularExponent",
"spreadmethod" : "spreadMethod",
"startoffset" : "startOffset",
"stddeviation" : "stdDeviation",
"stitchtiles" : "stitchTiles",
"surfacescale" : "surfaceScale",
"systemlanguage" : "systemLanguage",
"tablevalues" : "tableValues",
"targetx" : "targetX",
"targety" : "targetY",
"textlength" : "textLength",
"viewbox" : "viewBox",
"viewtarget" : "viewTarget",
"xchannelselector" : "xChannelSelector",
"ychannelselector" : "yChannelSelector",
"zoomandpan" : "zoomAndPan"
  }
}
;
},950,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.decodeXMLStrict = exports.decodeHTML5Strict = exports.decodeHTML4Strict = exports.decodeHTML5 = exports.decodeHTML4 = exports.decodeHTMLStrict = exports.decodeHTML = exports.decodeXML = exports.encodeHTML5 = exports.encodeHTML4 = exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = exports.encode = exports.decodeStrict = exports.decode = undefined;

  function decode(data, level) {
    return (!level || level <= 0 ? _$$_REQUIRE(_dependencyMap[0]).decodeXML : _$$_REQUIRE(_dependencyMap[0]).decodeHTML)(data);
  }

  exports.decode = decode;

  function decodeStrict(data, level) {
    return (!level || level <= 0 ? _$$_REQUIRE(_dependencyMap[0]).decodeXML : _$$_REQUIRE(_dependencyMap[0]).decodeHTMLStrict)(data);
  }

  exports.decodeStrict = decodeStrict;

  function encode(data, level) {
    return (!level || level <= 0 ? _$$_REQUIRE(_dependencyMap[1]).encodeXML : _$$_REQUIRE(_dependencyMap[1]).encodeHTML)(data);
  }

  exports.encode = encode;
  Object.defineProperty(exports, "encodeXML", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[1]).encodeXML;
    }
  });
  Object.defineProperty(exports, "encodeHTML", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[1]).encodeHTML;
    }
  });
  Object.defineProperty(exports, "encodeNonAsciiHTML", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[1]).encodeNonAsciiHTML;
    }
  });
  Object.defineProperty(exports, "escape", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[1]).escape;
    }
  });
  Object.defineProperty(exports, "escapeUTF8", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[1]).escapeUTF8;
    }
  });
  Object.defineProperty(exports, "encodeHTML4", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[1]).encodeHTML;
    }
  });
  Object.defineProperty(exports, "encodeHTML5", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[1]).encodeHTML;
    }
  });
  Object.defineProperty(exports, "decodeXML", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).decodeXML;
    }
  });
  Object.defineProperty(exports, "decodeHTML", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).decodeHTML;
    }
  });
  Object.defineProperty(exports, "decodeHTMLStrict", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).decodeHTMLStrict;
    }
  });
  Object.defineProperty(exports, "decodeHTML4", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).decodeHTML;
    }
  });
  Object.defineProperty(exports, "decodeHTML5", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).decodeHTML;
    }
  });
  Object.defineProperty(exports, "decodeHTML4Strict", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).decodeHTMLStrict;
    }
  });
  Object.defineProperty(exports, "decodeHTML5Strict", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).decodeHTMLStrict;
    }
  });
  Object.defineProperty(exports, "decodeXMLStrict", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).decodeXML;
    }
  });
},951,[952,958]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var __importDefault = this && this.__importDefault || function (mod) {
    return mod && mod.__esModule ? mod : {
      "default": mod
    };
  };

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.decodeHTML = exports.decodeHTMLStrict = exports.decodeXML = undefined;

  var entities_json_1 = __importDefault(_$$_REQUIRE(_dependencyMap[0]));

  var legacy_json_1 = __importDefault(_$$_REQUIRE(_dependencyMap[1]));

  var xml_json_1 = __importDefault(_$$_REQUIRE(_dependencyMap[2]));

  var decode_codepoint_1 = __importDefault(_$$_REQUIRE(_dependencyMap[3]));

  var strictEntityRe = /&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;
  exports.decodeXML = getStrictDecoder(xml_json_1.default);
  exports.decodeHTMLStrict = getStrictDecoder(entities_json_1.default);

  function getStrictDecoder(map) {
    var replace = getReplacer(map);
    return function (str) {
      return String(str).replace(strictEntityRe, replace);
    };
  }

  var sorter = function sorter(a, b) {
    return a < b ? 1 : -1;
  };

  exports.decodeHTML = function () {
    var legacy = Object.keys(legacy_json_1.default).sort(sorter);
    var keys = Object.keys(entities_json_1.default).sort(sorter);

    for (var i = 0, j = 0; i < keys.length; i++) {
      if (legacy[j] === keys[i]) {
        keys[i] += ";?";
        j++;
      } else {
        keys[i] += ";";
      }
    }

    var re = new RegExp("&(?:" + keys.join("|") + "|#[xX][\\da-fA-F]+;?|#\\d+;?)", "g");
    var replace = getReplacer(entities_json_1.default);

    function replacer(str) {
      if (str.substr(-1) !== ";") str += ";";
      return replace(str);
    }

    return function (str) {
      return String(str).replace(re, replacer);
    };
  }();

  function getReplacer(map) {
    return function replace(str) {
      if (str.charAt(1) === "#") {
        var secondChar = str.charAt(2);

        if (secondChar === "X" || secondChar === "x") {
          return decode_codepoint_1.default(parseInt(str.substr(3), 16));
        }

        return decode_codepoint_1.default(parseInt(str.substr(2), 10));
      }

      return map[str.slice(1, -1)] || str;
    };
  }
},952,[953,954,955,956]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {"Aacute":"Á","aacute":"á","Abreve":"Ă","abreve":"ă","ac":"∾","acd":"∿","acE":"∾̳","Acirc":"Â","acirc":"â","acute":"´","Acy":"А","acy":"а","AElig":"Æ","aelig":"æ","af":"⁡","Afr":"𝔄","afr":"𝔞","Agrave":"À","agrave":"à","alefsym":"ℵ","aleph":"ℵ","Alpha":"Α","alpha":"α","Amacr":"Ā","amacr":"ā","amalg":"⨿","amp":"&","AMP":"&","andand":"⩕","And":"⩓","and":"∧","andd":"⩜","andslope":"⩘","andv":"⩚","ang":"∠","ange":"⦤","angle":"∠","angmsdaa":"⦨","angmsdab":"⦩","angmsdac":"⦪","angmsdad":"⦫","angmsdae":"⦬","angmsdaf":"⦭","angmsdag":"⦮","angmsdah":"⦯","angmsd":"∡","angrt":"∟","angrtvb":"⊾","angrtvbd":"⦝","angsph":"∢","angst":"Å","angzarr":"⍼","Aogon":"Ą","aogon":"ą","Aopf":"𝔸","aopf":"𝕒","apacir":"⩯","ap":"≈","apE":"⩰","ape":"≊","apid":"≋","apos":"'","ApplyFunction":"⁡","approx":"≈","approxeq":"≊","Aring":"Å","aring":"å","Ascr":"𝒜","ascr":"𝒶","Assign":"≔","ast":"*","asymp":"≈","asympeq":"≍","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","awconint":"∳","awint":"⨑","backcong":"≌","backepsilon":"϶","backprime":"‵","backsim":"∽","backsimeq":"⋍","Backslash":"∖","Barv":"⫧","barvee":"⊽","barwed":"⌅","Barwed":"⌆","barwedge":"⌅","bbrk":"⎵","bbrktbrk":"⎶","bcong":"≌","Bcy":"Б","bcy":"б","bdquo":"„","becaus":"∵","because":"∵","Because":"∵","bemptyv":"⦰","bepsi":"϶","bernou":"ℬ","Bernoullis":"ℬ","Beta":"Β","beta":"β","beth":"ℶ","between":"≬","Bfr":"𝔅","bfr":"𝔟","bigcap":"⋂","bigcirc":"◯","bigcup":"⋃","bigodot":"⨀","bigoplus":"⨁","bigotimes":"⨂","bigsqcup":"⨆","bigstar":"★","bigtriangledown":"▽","bigtriangleup":"△","biguplus":"⨄","bigvee":"⋁","bigwedge":"⋀","bkarow":"⤍","blacklozenge":"⧫","blacksquare":"▪","blacktriangle":"▴","blacktriangledown":"▾","blacktriangleleft":"◂","blacktriangleright":"▸","blank":"␣","blk12":"▒","blk14":"░","blk34":"▓","block":"█","bne":"=⃥","bnequiv":"≡⃥","bNot":"⫭","bnot":"⌐","Bopf":"𝔹","bopf":"𝕓","bot":"⊥","bottom":"⊥","bowtie":"⋈","boxbox":"⧉","boxdl":"┐","boxdL":"╕","boxDl":"╖","boxDL":"╗","boxdr":"┌","boxdR":"╒","boxDr":"╓","boxDR":"╔","boxh":"─","boxH":"═","boxhd":"┬","boxHd":"╤","boxhD":"╥","boxHD":"╦","boxhu":"┴","boxHu":"╧","boxhU":"╨","boxHU":"╩","boxminus":"⊟","boxplus":"⊞","boxtimes":"⊠","boxul":"┘","boxuL":"╛","boxUl":"╜","boxUL":"╝","boxur":"└","boxuR":"╘","boxUr":"╙","boxUR":"╚","boxv":"│","boxV":"║","boxvh":"┼","boxvH":"╪","boxVh":"╫","boxVH":"╬","boxvl":"┤","boxvL":"╡","boxVl":"╢","boxVL":"╣","boxvr":"├","boxvR":"╞","boxVr":"╟","boxVR":"╠","bprime":"‵","breve":"˘","Breve":"˘","brvbar":"¦","bscr":"𝒷","Bscr":"ℬ","bsemi":"⁏","bsim":"∽","bsime":"⋍","bsolb":"⧅","bsol":"\\","bsolhsub":"⟈","bull":"•","bullet":"•","bump":"≎","bumpE":"⪮","bumpe":"≏","Bumpeq":"≎","bumpeq":"≏","Cacute":"Ć","cacute":"ć","capand":"⩄","capbrcup":"⩉","capcap":"⩋","cap":"∩","Cap":"⋒","capcup":"⩇","capdot":"⩀","CapitalDifferentialD":"ⅅ","caps":"∩︀","caret":"⁁","caron":"ˇ","Cayleys":"ℭ","ccaps":"⩍","Ccaron":"Č","ccaron":"č","Ccedil":"Ç","ccedil":"ç","Ccirc":"Ĉ","ccirc":"ĉ","Cconint":"∰","ccups":"⩌","ccupssm":"⩐","Cdot":"Ċ","cdot":"ċ","cedil":"¸","Cedilla":"¸","cemptyv":"⦲","cent":"¢","centerdot":"·","CenterDot":"·","cfr":"𝔠","Cfr":"ℭ","CHcy":"Ч","chcy":"ч","check":"✓","checkmark":"✓","Chi":"Χ","chi":"χ","circ":"ˆ","circeq":"≗","circlearrowleft":"↺","circlearrowright":"↻","circledast":"⊛","circledcirc":"⊚","circleddash":"⊝","CircleDot":"⊙","circledR":"®","circledS":"Ⓢ","CircleMinus":"⊖","CirclePlus":"⊕","CircleTimes":"⊗","cir":"○","cirE":"⧃","cire":"≗","cirfnint":"⨐","cirmid":"⫯","cirscir":"⧂","ClockwiseContourIntegral":"∲","CloseCurlyDoubleQuote":"”","CloseCurlyQuote":"’","clubs":"♣","clubsuit":"♣","colon":":","Colon":"∷","Colone":"⩴","colone":"≔","coloneq":"≔","comma":",","commat":"@","comp":"∁","compfn":"∘","complement":"∁","complexes":"ℂ","cong":"≅","congdot":"⩭","Congruent":"≡","conint":"∮","Conint":"∯","ContourIntegral":"∮","copf":"𝕔","Copf":"ℂ","coprod":"∐","Coproduct":"∐","copy":"©","COPY":"©","copysr":"℗","CounterClockwiseContourIntegral":"∳","crarr":"↵","cross":"✗","Cross":"⨯","Cscr":"𝒞","cscr":"𝒸","csub":"⫏","csube":"⫑","csup":"⫐","csupe":"⫒","ctdot":"⋯","cudarrl":"⤸","cudarrr":"⤵","cuepr":"⋞","cuesc":"⋟","cularr":"↶","cularrp":"⤽","cupbrcap":"⩈","cupcap":"⩆","CupCap":"≍","cup":"∪","Cup":"⋓","cupcup":"⩊","cupdot":"⊍","cupor":"⩅","cups":"∪︀","curarr":"↷","curarrm":"⤼","curlyeqprec":"⋞","curlyeqsucc":"⋟","curlyvee":"⋎","curlywedge":"⋏","curren":"¤","curvearrowleft":"↶","curvearrowright":"↷","cuvee":"⋎","cuwed":"⋏","cwconint":"∲","cwint":"∱","cylcty":"⌭","dagger":"†","Dagger":"‡","daleth":"ℸ","darr":"↓","Darr":"↡","dArr":"⇓","dash":"‐","Dashv":"⫤","dashv":"⊣","dbkarow":"⤏","dblac":"˝","Dcaron":"Ď","dcaron":"ď","Dcy":"Д","dcy":"д","ddagger":"‡","ddarr":"⇊","DD":"ⅅ","dd":"ⅆ","DDotrahd":"⤑","ddotseq":"⩷","deg":"°","Del":"∇","Delta":"Δ","delta":"δ","demptyv":"⦱","dfisht":"⥿","Dfr":"𝔇","dfr":"𝔡","dHar":"⥥","dharl":"⇃","dharr":"⇂","DiacriticalAcute":"´","DiacriticalDot":"˙","DiacriticalDoubleAcute":"˝","DiacriticalGrave":"`","DiacriticalTilde":"˜","diam":"⋄","diamond":"⋄","Diamond":"⋄","diamondsuit":"♦","diams":"♦","die":"¨","DifferentialD":"ⅆ","digamma":"ϝ","disin":"⋲","div":"÷","divide":"÷","divideontimes":"⋇","divonx":"⋇","DJcy":"Ђ","djcy":"ђ","dlcorn":"⌞","dlcrop":"⌍","dollar":"$","Dopf":"𝔻","dopf":"𝕕","Dot":"¨","dot":"˙","DotDot":"⃜","doteq":"≐","doteqdot":"≑","DotEqual":"≐","dotminus":"∸","dotplus":"∔","dotsquare":"⊡","doublebarwedge":"⌆","DoubleContourIntegral":"∯","DoubleDot":"¨","DoubleDownArrow":"⇓","DoubleLeftArrow":"⇐","DoubleLeftRightArrow":"⇔","DoubleLeftTee":"⫤","DoubleLongLeftArrow":"⟸","DoubleLongLeftRightArrow":"⟺","DoubleLongRightArrow":"⟹","DoubleRightArrow":"⇒","DoubleRightTee":"⊨","DoubleUpArrow":"⇑","DoubleUpDownArrow":"⇕","DoubleVerticalBar":"∥","DownArrowBar":"⤓","downarrow":"↓","DownArrow":"↓","Downarrow":"⇓","DownArrowUpArrow":"⇵","DownBreve":"̑","downdownarrows":"⇊","downharpoonleft":"⇃","downharpoonright":"⇂","DownLeftRightVector":"⥐","DownLeftTeeVector":"⥞","DownLeftVectorBar":"⥖","DownLeftVector":"↽","DownRightTeeVector":"⥟","DownRightVectorBar":"⥗","DownRightVector":"⇁","DownTeeArrow":"↧","DownTee":"⊤","drbkarow":"⤐","drcorn":"⌟","drcrop":"⌌","Dscr":"𝒟","dscr":"𝒹","DScy":"Ѕ","dscy":"ѕ","dsol":"⧶","Dstrok":"Đ","dstrok":"đ","dtdot":"⋱","dtri":"▿","dtrif":"▾","duarr":"⇵","duhar":"⥯","dwangle":"⦦","DZcy":"Џ","dzcy":"џ","dzigrarr":"⟿","Eacute":"É","eacute":"é","easter":"⩮","Ecaron":"Ě","ecaron":"ě","Ecirc":"Ê","ecirc":"ê","ecir":"≖","ecolon":"≕","Ecy":"Э","ecy":"э","eDDot":"⩷","Edot":"Ė","edot":"ė","eDot":"≑","ee":"ⅇ","efDot":"≒","Efr":"𝔈","efr":"𝔢","eg":"⪚","Egrave":"È","egrave":"è","egs":"⪖","egsdot":"⪘","el":"⪙","Element":"∈","elinters":"⏧","ell":"ℓ","els":"⪕","elsdot":"⪗","Emacr":"Ē","emacr":"ē","empty":"∅","emptyset":"∅","EmptySmallSquare":"◻","emptyv":"∅","EmptyVerySmallSquare":"▫","emsp13":" ","emsp14":" ","emsp":" ","ENG":"Ŋ","eng":"ŋ","ensp":" ","Eogon":"Ę","eogon":"ę","Eopf":"𝔼","eopf":"𝕖","epar":"⋕","eparsl":"⧣","eplus":"⩱","epsi":"ε","Epsilon":"Ε","epsilon":"ε","epsiv":"ϵ","eqcirc":"≖","eqcolon":"≕","eqsim":"≂","eqslantgtr":"⪖","eqslantless":"⪕","Equal":"⩵","equals":"=","EqualTilde":"≂","equest":"≟","Equilibrium":"⇌","equiv":"≡","equivDD":"⩸","eqvparsl":"⧥","erarr":"⥱","erDot":"≓","escr":"ℯ","Escr":"ℰ","esdot":"≐","Esim":"⩳","esim":"≂","Eta":"Η","eta":"η","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","euro":"€","excl":"!","exist":"∃","Exists":"∃","expectation":"ℰ","exponentiale":"ⅇ","ExponentialE":"ⅇ","fallingdotseq":"≒","Fcy":"Ф","fcy":"ф","female":"♀","ffilig":"ﬃ","fflig":"ﬀ","ffllig":"ﬄ","Ffr":"𝔉","ffr":"𝔣","filig":"ﬁ","FilledSmallSquare":"◼","FilledVerySmallSquare":"▪","fjlig":"fj","flat":"♭","fllig":"ﬂ","fltns":"▱","fnof":"ƒ","Fopf":"𝔽","fopf":"𝕗","forall":"∀","ForAll":"∀","fork":"⋔","forkv":"⫙","Fouriertrf":"ℱ","fpartint":"⨍","frac12":"½","frac13":"⅓","frac14":"¼","frac15":"⅕","frac16":"⅙","frac18":"⅛","frac23":"⅔","frac25":"⅖","frac34":"¾","frac35":"⅗","frac38":"⅜","frac45":"⅘","frac56":"⅚","frac58":"⅝","frac78":"⅞","frasl":"⁄","frown":"⌢","fscr":"𝒻","Fscr":"ℱ","gacute":"ǵ","Gamma":"Γ","gamma":"γ","Gammad":"Ϝ","gammad":"ϝ","gap":"⪆","Gbreve":"Ğ","gbreve":"ğ","Gcedil":"Ģ","Gcirc":"Ĝ","gcirc":"ĝ","Gcy":"Г","gcy":"г","Gdot":"Ġ","gdot":"ġ","ge":"≥","gE":"≧","gEl":"⪌","gel":"⋛","geq":"≥","geqq":"≧","geqslant":"⩾","gescc":"⪩","ges":"⩾","gesdot":"⪀","gesdoto":"⪂","gesdotol":"⪄","gesl":"⋛︀","gesles":"⪔","Gfr":"𝔊","gfr":"𝔤","gg":"≫","Gg":"⋙","ggg":"⋙","gimel":"ℷ","GJcy":"Ѓ","gjcy":"ѓ","gla":"⪥","gl":"≷","glE":"⪒","glj":"⪤","gnap":"⪊","gnapprox":"⪊","gne":"⪈","gnE":"≩","gneq":"⪈","gneqq":"≩","gnsim":"⋧","Gopf":"𝔾","gopf":"𝕘","grave":"`","GreaterEqual":"≥","GreaterEqualLess":"⋛","GreaterFullEqual":"≧","GreaterGreater":"⪢","GreaterLess":"≷","GreaterSlantEqual":"⩾","GreaterTilde":"≳","Gscr":"𝒢","gscr":"ℊ","gsim":"≳","gsime":"⪎","gsiml":"⪐","gtcc":"⪧","gtcir":"⩺","gt":">","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"ℏ","Hcirc":"Ĥ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","Hfr":"ℌ","HilbertSpace":"ℋ","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","Hopf":"ℍ","horbar":"―","HorizontalLine":"─","hscr":"𝒽","Hscr":"ℋ","hslash":"ℏ","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"≏","hybull":"⁃","hyphen":"‐","Iacute":"Í","iacute":"í","ic":"⁣","Icirc":"Î","icirc":"î","Icy":"И","icy":"и","Idot":"İ","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"𝔦","Ifr":"ℑ","Igrave":"Ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","IJlig":"Ĳ","ijlig":"ĳ","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"⋂","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"⁣","InvisibleTimes":"⁢","IOcy":"Ё","iocy":"ё","Iogon":"Į","iogon":"į","Iopf":"𝕀","iopf":"𝕚","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"𝒾","Iscr":"ℐ","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"⁢","Itilde":"Ĩ","itilde":"ĩ","Iukcy":"І","iukcy":"і","Iuml":"Ï","iuml":"ï","Jcirc":"Ĵ","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"𝔍","jfr":"𝔧","jmath":"ȷ","Jopf":"𝕁","jopf":"𝕛","Jscr":"𝒥","jscr":"𝒿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"є","Kappa":"Κ","kappa":"κ","kappav":"ϰ","Kcedil":"Ķ","kcedil":"ķ","Kcy":"К","kcy":"к","Kfr":"𝔎","kfr":"𝔨","kgreen":"ĸ","KHcy":"Х","khcy":"х","KJcy":"Ќ","kjcy":"ќ","Kopf":"𝕂","kopf":"𝕜","Kscr":"𝒦","kscr":"𝓀","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"ℒ","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ļ","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"𝔏","lfr":"𝔩","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","LJcy":"Љ","ljcy":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"𝕃","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"‎","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","Lscr":"ℒ","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Ł","lstrok":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltri":"◃","ltrie":"⊴","ltrif":"◂","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","Mcy":"М","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","mfr":"𝔪","mho":"℧","micro":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"𝕄","mopf":"𝕞","mp":"∓","mscr":"𝓂","Mscr":"ℳ","mstpos":"∾","Mu":"Μ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ŉ","napprox":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"≐̸","NegativeMediumSpace":"​","NegativeThickSpace":"​","NegativeThinSpace":"​","NegativeVeryThinSpace":"​","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\n","nexist":"∄","nexists":"∄","Nfr":"𝔑","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"њ","nlarr":"↚","nlArr":"⇍","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"⇍","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"⁠","NonBreakingSpace":" ","nopf":"𝕟","Nopf":"ℕ","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","nrarrw":"↝̸","nrightarrow":"↛","nRightarrow":"⇏","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","Nscr":"𝒩","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","Nu":"Ν","nu":"ν","num":"#","numero":"№","numsp":" ","nvap":"≍⃒","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"⊝","Odblac":"Ő","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Œ","oelig":"œ","ofcir":"⦿","Ofr":"𝔒","ofr":"𝔬","ogon":"˛","Ograve":"Ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"Ō","omacr":"ō","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"𝕆","oopf":"𝕠","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"𝔓","pfr":"𝔭","Phi":"Φ","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","propto":"∝","prsim":"≾","prurel":"⊰","Pscr":"𝒫","pscr":"𝓅","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"𝔔","qfr":"𝔮","qint":"⨌","qopf":"𝕢","Qopf":"ℚ","qprime":"⁗","Qscr":"𝒬","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quot":"\"","QUOT":"\"","rAarr":"⇛","race":"∽̱","Racute":"Ŕ","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"↝","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rBarr":"⤏","RBarr":"⤐","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","Rcaron":"Ř","rcaron":"ř","Rcedil":"Ŗ","rcedil":"ŗ","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"‏","rmoustache":"⎱","rmoust":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","Ropf":"ℝ","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"𝓇","Rscr":"ℛ","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"℞","Sacute":"Ś","sacute":"ś","sbquo":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"𝔖","sfr":"𝔰","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"←","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"­","Sigma":"Σ","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","squf":"▪","srarr":"→","Sscr":"𝒮","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","Sub":"⋐","subdot":"⪽","subE":"⫅","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"⋐","subseteq":"⊆","subseteqq":"⫅","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"⫄","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","Supset":"⋑","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\t","target":"⌖","Tau":"Τ","tau":"τ","tbrk":"⎴","Tcaron":"Ť","tcaron":"ť","Tcedil":"Ţ","tcedil":"ţ","Tcy":"Т","tcy":"т","tdot":"⃛","telrec":"⌕","Tfr":"𝔗","tfr":"𝔱","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","ThickSpace":"  ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"𝕋","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","TRADE":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","Tscr":"𝒯","tscr":"𝓉","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"ћ","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"Ў","ubrcy":"ў","Ubreve":"Ŭ","ubreve":"ŭ","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Ű","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"𝔘","ufr":"𝔲","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","Umacr":"Ū","umacr":"ū","uml":"¨","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"𝕌","uopf":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","Uring":"Ů","uring":"ů","urtri":"◹","Uscr":"𝒰","uscr":"𝓊","utdot":"⋰","Utilde":"Ũ","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","Uuml":"Ü","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"⫫","vBarv":"⫩","Vcy":"В","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","veeeq":"≚","vellip":"⋮","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"𝕍","vopf":"𝕧","vprop":"∝","vrtri":"⊳","Vscr":"𝒱","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Ŵ","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","Wedge":"⋀","wedgeq":"≙","weierp":"℘","Wfr":"𝔚","wfr":"𝔴","Wopf":"𝕎","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"𝒲","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","Xfr":"𝔛","xfr":"𝔵","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"⋻","xodot":"⨀","Xopf":"𝕏","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"𝒳","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","Yacute":"Ý","yacute":"ý","YAcy":"Я","yacy":"я","Ycirc":"Ŷ","ycirc":"ŷ","Ycy":"Ы","ycy":"ы","yen":"¥","Yfr":"𝔜","yfr":"𝔶","YIcy":"Ї","yicy":"ї","Yopf":"𝕐","yopf":"𝕪","Yscr":"𝒴","yscr":"𝓎","YUcy":"Ю","yucy":"ю","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Ż","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"​","Zeta":"Ζ","zeta":"ζ","zfr":"𝔷","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","Zopf":"ℤ","Zscr":"𝒵","zscr":"𝓏","zwj":"‍","zwnj":"‌"}
;
},953,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Í","iacute":"í","Icirc":"Î","icirc":"î","iexcl":"¡","Igrave":"Ì","igrave":"ì","iquest":"¿","Iuml":"Ï","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ò","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\"","QUOT":"\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ü","uuml":"ü","Yacute":"Ý","yacute":"ý","yen":"¥","yuml":"ÿ"}
;
},954,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {"amp":"&","apos":"'","gt":">","lt":"<","quot":"\""}
;
},955,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var __importDefault = this && this.__importDefault || function (mod) {
    return mod && mod.__esModule ? mod : {
      "default": mod
    };
  };

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var decode_json_1 = __importDefault(_$$_REQUIRE(_dependencyMap[0]));

  var fromCodePoint = String.fromCodePoint || function (codePoint) {
    var output = "";

    if (codePoint > 0xffff) {
      codePoint -= 0x10000;
      output += String.fromCharCode(codePoint >>> 10 & 0x3ff | 0xd800);
      codePoint = 0xdc00 | codePoint & 0x3ff;
    }

    output += String.fromCharCode(codePoint);
    return output;
  };

  function decodeCodePoint(codePoint) {
    if (codePoint >= 0xd800 && codePoint <= 0xdfff || codePoint > 0x10ffff) {
      return "\uFFFD";
    }

    if (codePoint in decode_json_1.default) {
      codePoint = decode_json_1.default[codePoint];
    }

    return fromCodePoint(codePoint);
  }

  exports.default = decodeCodePoint;
},956,[957]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}
;
},957,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var __importDefault = this && this.__importDefault || function (mod) {
    return mod && mod.__esModule ? mod : {
      "default": mod
    };
  };

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = undefined;

  var xml_json_1 = __importDefault(_$$_REQUIRE(_dependencyMap[0]));

  var inverseXML = getInverseObj(xml_json_1.default);
  var xmlReplacer = getInverseReplacer(inverseXML);
  exports.encodeXML = getASCIIEncoder(inverseXML);

  var entities_json_1 = __importDefault(_$$_REQUIRE(_dependencyMap[1]));

  var inverseHTML = getInverseObj(entities_json_1.default);
  var htmlReplacer = getInverseReplacer(inverseHTML);
  exports.encodeHTML = getInverse(inverseHTML, htmlReplacer);
  exports.encodeNonAsciiHTML = getASCIIEncoder(inverseHTML);

  function getInverseObj(obj) {
    return Object.keys(obj).sort().reduce(function (inverse, name) {
      inverse[obj[name]] = "&" + name + ";";
      return inverse;
    }, {});
  }

  function getInverseReplacer(inverse) {
    var single = [];
    var multiple = [];

    for (var _i = 0, _a = Object.keys(inverse); _i < _a.length; _i++) {
      var k = _a[_i];

      if (k.length === 1) {
        single.push("\\" + k);
      } else {
        multiple.push(k);
      }
    }

    single.sort();

    for (var start = 0; start < single.length - 1; start++) {
      var end = start;

      while (end < single.length - 1 && single[end].charCodeAt(1) + 1 === single[end + 1].charCodeAt(1)) {
        end += 1;
      }

      var count = 1 + end - start;
      if (count < 3) continue;
      single.splice(start, count, single[start] + "-" + single[end]);
    }

    multiple.unshift("[" + single.join("") + "]");
    return new RegExp(multiple.join("|"), "g");
  }

  var reNonASCII = /(?:[\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g;
  var getCodePoint = String.prototype.codePointAt != null ? function (str) {
    return str.codePointAt(0);
  } : function (c) {
    return (c.charCodeAt(0) - 0xd800) * 0x400 + c.charCodeAt(1) - 0xdc00 + 0x10000;
  };

  function singleCharReplacer(c) {
    return "&#x" + (c.length > 1 ? getCodePoint(c) : c.charCodeAt(0)).toString(16).toUpperCase() + ";";
  }

  function getInverse(inverse, re) {
    return function (data) {
      return data.replace(re, function (name) {
        return inverse[name];
      }).replace(reNonASCII, singleCharReplacer);
    };
  }

  var reEscapeChars = new RegExp(xmlReplacer.source + "|" + reNonASCII.source, "g");

  function escape(data) {
    return data.replace(reEscapeChars, singleCharReplacer);
  }

  exports.escape = escape;

  function escapeUTF8(data) {
    return data.replace(xmlReplacer, singleCharReplacer);
  }

  exports.escapeUTF8 = escapeUTF8;

  function getASCIIEncoder(obj) {
    return function (data) {
      return data.replace(reEscapeChars, function (c) {
        return obj[c] || singleCharReplacer(c);
      });
    };
  }
},958,[955,953]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = undefined;

  function isTag(elem) {
    return elem.type === "tag" || elem.type === "script" || elem.type === "style";
  }

  exports.isTag = isTag;
  exports.Root = "root";
  exports.Text = "text";
  exports.Directive = "directive";
  exports.Comment = "comment";
  exports.Script = "script";
  exports.Style = "style";
  exports.Tag = "tag";
  exports.CDATA = "cdata";
  exports.Doctype = "doctype";
},959,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    Text: "text",
    Directive: "directive",
    Comment: "comment",
    Script: "script",
    Style: "style",
    Tag: "tag",
    CDATA: "cdata",
    Doctype: "doctype",
    isTag: function isTag(elem) {
      return elem.type === "tag" || elem.type === "script" || elem.type === "style";
    }
  };
},960,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var getChildren = exports.getChildren = function (elem) {
    return elem.children;
  };

  var getParent = exports.getParent = function (elem) {
    return elem.parent;
  };

  exports.getSiblings = function (elem) {
    var parent = getParent(elem);
    return parent ? getChildren(parent) : [elem];
  };

  exports.getAttributeValue = function (elem, name) {
    return elem.attribs && elem.attribs[name];
  };

  exports.hasAttrib = function (elem, name) {
    return !!elem.attribs && hasOwnProperty.call(elem.attribs, name);
  };

  exports.getName = function (elem) {
    return elem.name;
  };
},961,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  exports.removeElement = function (elem) {
    if (elem.prev) elem.prev.next = elem.next;
    if (elem.next) elem.next.prev = elem.prev;

    if (elem.parent) {
      var childs = elem.parent.children;
      childs.splice(childs.lastIndexOf(elem), 1);
    }
  };

  exports.replaceElement = function (elem, replacement) {
    var prev = replacement.prev = elem.prev;

    if (prev) {
      prev.next = replacement;
    }

    var next = replacement.next = elem.next;

    if (next) {
      next.prev = replacement;
    }

    var parent = replacement.parent = elem.parent;

    if (parent) {
      var childs = parent.children;
      childs[childs.lastIndexOf(elem)] = replacement;
    }
  };

  exports.appendChild = function (elem, child) {
    child.parent = elem;

    if (elem.children.push(child) !== 1) {
      var sibling = elem.children[elem.children.length - 2];
      sibling.next = child;
      child.prev = sibling;
      child.next = null;
    }
  };

  exports.append = function (elem, next) {
    var parent = elem.parent,
        currNext = elem.next;
    next.next = currNext;
    next.prev = elem;
    elem.next = next;
    next.parent = parent;

    if (currNext) {
      currNext.prev = next;

      if (parent) {
        var childs = parent.children;
        childs.splice(childs.lastIndexOf(currNext), 0, next);
      }
    } else if (parent) {
      parent.children.push(next);
    }
  };

  exports.prepend = function (elem, prev) {
    var parent = elem.parent;

    if (parent) {
      var childs = parent.children;
      childs.splice(childs.lastIndexOf(elem), 0, prev);
    }

    if (elem.prev) {
      elem.prev.next = prev;
    }

    prev.parent = parent;
    prev.prev = elem.prev;
    prev.next = elem;
    elem.prev = prev;
  };
},962,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    filter: filter,
    find: find,
    findOneChild: findOneChild,
    findOne: findOne,
    existsOne: existsOne,
    findAll: findAll
  };

  function filter(test, element, recurse, limit) {
    if (!Array.isArray(element)) element = [element];

    if (typeof limit !== "number" || !isFinite(limit)) {
      limit = Infinity;
    }

    return find(test, element, recurse !== false, limit);
  }

  function find(test, elems, recurse, limit) {
    var result = [],
        childs;

    for (var i = 0, j = elems.length; i < j; i++) {
      if (test(elems[i])) {
        result.push(elems[i]);
        if (--limit <= 0) break;
      }

      childs = elems[i].children;

      if (recurse && childs && childs.length > 0) {
        childs = find(test, childs, recurse, limit);
        result = result.concat(childs);
        limit -= childs.length;
        if (limit <= 0) break;
      }
    }

    return result;
  }

  function findOneChild(test, elems) {
    for (var i = 0, l = elems.length; i < l; i++) {
      if (test(elems[i])) return elems[i];
    }

    return null;
  }

  function findOne(test, elems) {
    var elem = null;

    for (var i = 0, l = elems.length; i < l && !elem; i++) {
      if (!_$$_REQUIRE(_dependencyMap[0]).isTag(elems[i])) {
        continue;
      } else if (test(elems[i])) {
        elem = elems[i];
      } else if (elems[i].children.length > 0) {
        elem = findOne(test, elems[i].children);
      }
    }

    return elem;
  }

  function existsOne(test, elems) {
    for (var i = 0, l = elems.length; i < l; i++) {
      if (_$$_REQUIRE(_dependencyMap[0]).isTag(elems[i]) && (test(elems[i]) || elems[i].children.length > 0 && existsOne(test, elems[i].children))) {
        return true;
      }
    }

    return false;
  }

  function findAll(test, rootElems) {
    var result = [];
    var stack = rootElems.slice();

    while (stack.length) {
      var elem = stack.shift();
      if (!_$$_REQUIRE(_dependencyMap[0]).isTag(elem)) continue;

      if (elem.children && elem.children.length > 0) {
        stack.unshift.apply(stack, elem.children);
      }

      if (test(elem)) result.push(elem);
    }

    return result;
  }
},963,[960]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var isTag = exports.isTag = _$$_REQUIRE(_dependencyMap[0]).isTag;

  exports.testElement = function (options, element) {
    for (var key in options) {
      if (!options.hasOwnProperty(key)) ;else if (key === "tag_name") {
        if (!isTag(element) || !options.tag_name(element.name)) {
          return false;
        }
      } else if (key === "tag_type") {
        if (!options.tag_type(element.type)) return false;
      } else if (key === "tag_contains") {
        if (isTag(element) || !options.tag_contains(element.data)) {
          return false;
        }
      } else if (!element.attribs || !options[key](element.attribs[key])) {
        return false;
      }
    }

    return true;
  };

  var Checks = {
    tag_name: function tag_name(name) {
      if (typeof name === "function") {
        return function (elem) {
          return isTag(elem) && name(elem.name);
        };
      } else if (name === "*") {
        return isTag;
      } else {
        return function (elem) {
          return isTag(elem) && elem.name === name;
        };
      }
    },
    tag_type: function tag_type(type) {
      if (typeof type === "function") {
        return function (elem) {
          return type(elem.type);
        };
      } else {
        return function (elem) {
          return elem.type === type;
        };
      }
    },
    tag_contains: function tag_contains(data) {
      if (typeof data === "function") {
        return function (elem) {
          return !isTag(elem) && data(elem.data);
        };
      } else {
        return function (elem) {
          return !isTag(elem) && elem.data === data;
        };
      }
    }
  };

  function getAttribCheck(attrib, value) {
    if (typeof value === "function") {
      return function (elem) {
        return elem.attribs && value(elem.attribs[attrib]);
      };
    } else {
      return function (elem) {
        return elem.attribs && elem.attribs[attrib] === value;
      };
    }
  }

  function combineFuncs(a, b) {
    return function (elem) {
      return a(elem) || b(elem);
    };
  }

  exports.getElements = function (options, element, recurse, limit) {
    var funcs = Object.keys(options).map(function (key) {
      var value = options[key];
      return key in Checks ? Checks[key](value) : getAttribCheck(key, value);
    });
    return funcs.length === 0 ? [] : this.filter(funcs.reduce(combineFuncs), element, recurse, limit);
  };

  exports.getElementById = function (id, element, recurse) {
    if (!Array.isArray(element)) element = [element];
    return this.findOne(getAttribCheck("id", id), element, recurse !== false);
  };

  exports.getElementsByTagName = function (name, element, recurse, limit) {
    return this.filter(Checks.tag_name(name), element, recurse, limit);
  };

  exports.getElementsByTagType = function (type, element, recurse, limit) {
    return this.filter(Checks.tag_type(type), element, recurse, limit);
  };
},964,[960]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  exports.removeSubsets = function (nodes) {
    var idx = nodes.length,
        node,
        ancestor,
        replace;

    while (--idx > -1) {
      node = ancestor = nodes[idx];
      nodes[idx] = null;
      replace = true;

      while (ancestor) {
        if (nodes.indexOf(ancestor) > -1) {
          replace = false;
          nodes.splice(idx, 1);
          break;
        }

        ancestor = ancestor.parent;
      }

      if (replace) {
        nodes[idx] = node;
      }
    }

    return nodes;
  };

  var POSITION = {
    DISCONNECTED: 1,
    PRECEDING: 2,
    FOLLOWING: 4,
    CONTAINS: 8,
    CONTAINED_BY: 16
  };

  var comparePos = exports.compareDocumentPosition = function (nodeA, nodeB) {
    var aParents = [];
    var bParents = [];
    var current, sharedParent, siblings, aSibling, bSibling, idx;

    if (nodeA === nodeB) {
      return 0;
    }

    current = nodeA;

    while (current) {
      aParents.unshift(current);
      current = current.parent;
    }

    current = nodeB;

    while (current) {
      bParents.unshift(current);
      current = current.parent;
    }

    idx = 0;

    while (aParents[idx] === bParents[idx]) {
      idx++;
    }

    if (idx === 0) {
      return POSITION.DISCONNECTED;
    }

    sharedParent = aParents[idx - 1];
    siblings = sharedParent.children;
    aSibling = aParents[idx];
    bSibling = bParents[idx];

    if (siblings.indexOf(aSibling) > siblings.indexOf(bSibling)) {
      if (sharedParent === nodeB) {
        return POSITION.FOLLOWING | POSITION.CONTAINED_BY;
      }

      return POSITION.FOLLOWING;
    } else {
      if (sharedParent === nodeA) {
        return POSITION.PRECEDING | POSITION.CONTAINS;
      }

      return POSITION.PRECEDING;
    }
  };

  exports.uniqueSort = function (nodes) {
    var idx = nodes.length,
        node,
        position;
    nodes = nodes.slice();

    while (--idx > -1) {
      node = nodes[idx];
      position = nodes.indexOf(node);

      if (position > -1 && position < idx) {
        nodes.splice(idx, 1);
      }
    }

    nodes.sort(function (a, b) {
      var relative = comparePos(a, b);

      if (relative & POSITION.PRECEDING) {
        return -1;
      } else if (relative & POSITION.FOLLOWING) {
        return 1;
      }

      return 0;
    });
    return nodes;
  };
},965,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = compile;

  function compile(selector, options, context) {
    var next = compileUnsafe(selector, options, context);
    return wrap(next, options);
  }

  function wrap(next, options) {
    var adapter = options.adapter;
    return function base(elem) {
      return adapter.isTag(elem) && next(elem);
    };
  }

  function compileUnsafe(selector, options, context) {
    var token = _$$_REQUIRE(_dependencyMap[0]).parse(selector, options);

    return compileToken(token, options, context);
  }

  function includesScopePseudo(t) {
    return t.type === "pseudo" && (t.name === "scope" || Array.isArray(t.data) && t.data.some(function (data) {
      return data.some(includesScopePseudo);
    }));
  }

  var DESCENDANT_TOKEN = {
    type: "descendant"
  };
  var FLEXIBLE_DESCENDANT_TOKEN = {
    type: "_flexibleDescendant"
  };
  var SCOPE_TOKEN = {
    type: "pseudo",
    name: "scope"
  };
  var PLACEHOLDER_ELEMENT = {};

  function absolutize(token, options, context) {
    var adapter = options.adapter;
    var hasContext = !!context && !!context.length && context.every(function (e) {
      return e === PLACEHOLDER_ELEMENT || !!adapter.getParent(e);
    });
    token.forEach(function (t) {
      if (t.length > 0 && isTraversal(t[0]) && t[0].type !== "descendant") {} else if (hasContext && !(Array.isArray(t) ? t.some(includesScopePseudo) : includesScopePseudo(t))) {
        t.unshift(DESCENDANT_TOKEN);
      } else {
        return;
      }

      t.unshift(SCOPE_TOKEN);
    });
  }

  function compileToken(token, options, context) {
    token = token.filter(function (t) {
      return t.length > 0;
    });
    token.forEach(_$$_REQUIRE(_dependencyMap[1]));
    var isArrayContext = Array.isArray(context);
    context = options && options.context || context;
    if (context && !isArrayContext) context = [context];
    absolutize(token, options, context);
    var shouldTestNextSiblings = false;
    var query = token.map(function (rules) {
      if (rules[0] && rules[1] && rules[0].name === "scope") {
        var ruleType = rules[1].type;

        if (isArrayContext && ruleType === "descendant") {
          rules[1] = FLEXIBLE_DESCENDANT_TOKEN;
        } else if (ruleType === "adjacent" || ruleType === "sibling") {
          shouldTestNextSiblings = true;
        }
      }

      return compileRules(rules, options, context);
    }).reduce(reduceRules, _$$_REQUIRE(_dependencyMap[2]).falseFunc);
    query.shouldTestNextSiblings = shouldTestNextSiblings;
    return query;
  }

  function isTraversal(t) {
    return _$$_REQUIRE(_dependencyMap[3])[t.type] < 0;
  }

  function compileRules(rules, options, context) {
    return rules.reduce(function (func, rule) {
      if (func === _$$_REQUIRE(_dependencyMap[2]).falseFunc) return func;

      if (!(rule.type in _$$_REQUIRE(_dependencyMap[4]))) {
        throw new Error("Rule type " + rule.type + " is not supported by css-select");
      }

      return _$$_REQUIRE(_dependencyMap[4])[rule.type](func, rule, options, context);
    }, options && options.rootFunc || _$$_REQUIRE(_dependencyMap[2]).trueFunc);
  }

  function reduceRules(a, b) {
    if (b === _$$_REQUIRE(_dependencyMap[2]).falseFunc || a === _$$_REQUIRE(_dependencyMap[2]).trueFunc) {
      return a;
    }

    if (a === _$$_REQUIRE(_dependencyMap[2]).falseFunc || b === _$$_REQUIRE(_dependencyMap[2]).trueFunc) {
      return b;
    }

    return function combine(elem) {
      return a(elem) || b(elem);
    };
  }

  function containsTraversal(t) {
    return t.some(isTraversal);
  }

  _$$_REQUIRE(_dependencyMap[5]).filters.not = function (next, token, options, context) {
    var opts = {
      xmlMode: !!(options && options.xmlMode),
      strict: !!(options && options.strict),
      adapter: options.adapter
    };

    if (opts.strict) {
      if (token.length > 1 || token.some(containsTraversal)) {
        throw new Error("complex selectors in :not aren't allowed in strict mode");
      }
    }

    var func = compileToken(token, opts, context);
    if (func === _$$_REQUIRE(_dependencyMap[2]).falseFunc) return next;
    if (func === _$$_REQUIRE(_dependencyMap[2]).trueFunc) return _$$_REQUIRE(_dependencyMap[2]).falseFunc;
    return function not(elem) {
      return !func(elem) && next(elem);
    };
  };

  _$$_REQUIRE(_dependencyMap[5]).filters.has = function (next, token, options) {
    var adapter = options.adapter;
    var opts = {
      xmlMode: !!(options && options.xmlMode),
      strict: !!(options && options.strict),
      adapter: adapter
    };
    var context = token.some(containsTraversal) ? [PLACEHOLDER_ELEMENT] : null;
    var func = compileToken(token, opts, context);
    if (func === _$$_REQUIRE(_dependencyMap[2]).falseFunc) return _$$_REQUIRE(_dependencyMap[2]).falseFunc;

    if (func === _$$_REQUIRE(_dependencyMap[2]).trueFunc) {
      return function hasChild(elem) {
        return adapter.getChildren(elem).some(adapter.isTag) && next(elem);
      };
    }

    func = wrap(func, options);

    if (context) {
      return function has(elem) {
        return next(elem) && (context[0] = elem, adapter.existsOne(func, adapter.getChildren(elem)));
      };
    }

    return function has(elem) {
      return next(elem) && adapter.existsOne(func, adapter.getChildren(elem));
    };
  };

  _$$_REQUIRE(_dependencyMap[5]).filters.matches = function (next, token, options, context) {
    var opts = {
      xmlMode: !!(options && options.xmlMode),
      strict: !!(options && options.strict),
      rootFunc: next,
      adapter: options.adapter
    };
    return compileToken(token, opts, context);
  };

  compile.compileToken = compileToken;
  compile.compileUnsafe = compileUnsafe;
  compile.Pseudos = _$$_REQUIRE(_dependencyMap[5]);
},966,[967,970,972,971,973,975]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, {
      enumerable: true,
      get: function get() {
        return m[k];
      }
    });
  } : function (o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
  });

  var __exportStar = this && this.__exportStar || function (m, exports) {
    for (var p in m) {
      if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
    }
  };

  var __importDefault = this && this.__importDefault || function (mod) {
    return mod && mod.__esModule ? mod : {
      "default": mod
    };
  };

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.stringify = exports.parse = undefined;

  __exportStar(_$$_REQUIRE(_dependencyMap[0]), exports);

  Object.defineProperty(exports, "parse", {
    enumerable: true,
    get: function get() {
      return __importDefault(_$$_REQUIRE(_dependencyMap[0])).default;
    }
  });
  Object.defineProperty(exports, "stringify", {
    enumerable: true,
    get: function get() {
      return __importDefault(_$$_REQUIRE(_dependencyMap[1])).default;
    }
  });
},967,[968,969]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = parse;
  var reName = /^[^\\]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/;
  var reEscape = /\\([\da-f]{1,6}\s?|(\s)|.)/gi;
  var reAttr = /^\s*((?:\\.|[\w\u00b0-\uFFFF-])+)\s*(?:(\S?)=\s*(?:(['"])((?:[^\\]|\\[^])*?)\3|(#?(?:\\.|[\w\u00b0-\uFFFF-])*)|)|)\s*(i)?\]/;
  var actionTypes = {
    undefined: "exists",
    "": "equals",
    "~": "element",
    "^": "start",
    $: "end",
    "*": "any",
    "!": "not",
    "|": "hyphen"
  };
  var Traversals = {
    ">": "child",
    "<": "parent",
    "~": "sibling",
    "+": "adjacent"
  };
  var attribSelectors = {
    "#": ["id", "equals"],
    ".": ["class", "element"]
  };
  var unpackPseudos = new Set(["has", "not", "matches", "is", "host", "host-context"]);
  var stripQuotesFromPseudos = new Set(["contains", "icontains"]);
  var quotes = new Set(['"', "'"]);

  function funescape(_, escaped, escapedWhitespace) {
    var high = parseInt(escaped, 16) - 0x10000;
    return high !== high || escapedWhitespace ? escaped : high < 0 ? String.fromCharCode(high + 0x10000) : String.fromCharCode(high >> 10 | 0xd800, high & 0x3ff | 0xdc00);
  }

  function unescapeCSS(str) {
    return str.replace(reEscape, funescape);
  }

  function isWhitespace(c) {
    return c === " " || c === "\n" || c === "\t" || c === "\f" || c === "\r";
  }

  function parse(selector, options) {
    var subselects = [];
    selector = parseSelector(subselects, "" + selector, options);

    if (selector !== "") {
      throw new Error("Unmatched selector: " + selector);
    }

    return subselects;
  }

  function parseSelector(subselects, selector, options) {
    var _a, _b;

    if (options === undefined) {
      options = {};
    }

    var tokens = [];
    var sawWS = false;

    function getName() {
      var match = selector.match(reName);

      if (!match) {
        throw new Error("Expected name, found " + selector);
      }

      var sub = match[0];
      selector = selector.substr(sub.length);
      return unescapeCSS(sub);
    }

    function stripWhitespace(start) {
      while (isWhitespace(selector.charAt(start))) {
        start++;
      }

      selector = selector.substr(start);
    }

    function isEscaped(pos) {
      var slashCount = 0;

      while (selector.charAt(--pos) === "\\") {
        slashCount++;
      }

      return (slashCount & 1) === 1;
    }

    stripWhitespace(0);

    while (selector !== "") {
      var firstChar = selector.charAt(0);

      if (isWhitespace(firstChar)) {
        sawWS = true;
        stripWhitespace(1);
      } else if (firstChar in Traversals) {
        tokens.push({
          type: Traversals[firstChar]
        });
        sawWS = false;
        stripWhitespace(1);
      } else if (firstChar === ",") {
        if (tokens.length === 0) {
          throw new Error("Empty sub-selector");
        }

        subselects.push(tokens);
        tokens = [];
        sawWS = false;
        stripWhitespace(1);
      } else {
        if (sawWS) {
          if (tokens.length > 0) {
            tokens.push({
              type: "descendant"
            });
          }

          sawWS = false;
        }

        if (firstChar === "*") {
          selector = selector.substr(1);
          tokens.push({
            type: "universal"
          });
        } else if (firstChar in attribSelectors) {
          var _c = attribSelectors[firstChar],
              name_1 = _c[0],
              action = _c[1];
          selector = selector.substr(1);
          tokens.push({
            type: "attribute",
            name: name_1,
            action: action,
            value: getName(),
            ignoreCase: false
          });
        } else if (firstChar === "[") {
          selector = selector.substr(1);
          var attributeMatch = selector.match(reAttr);

          if (!attributeMatch) {
            throw new Error("Malformed attribute selector: " + selector);
          }

          var completeSelector = attributeMatch[0],
              baseName = attributeMatch[1],
              actionType = attributeMatch[2],
              _d = attributeMatch[4],
              quotedValue = _d === undefined ? "" : _d,
              _e = attributeMatch[5],
              value = _e === undefined ? quotedValue : _e,
              ignoreCase = attributeMatch[6];
          selector = selector.substr(completeSelector.length);
          var name_2 = unescapeCSS(baseName);

          if ((_a = options.lowerCaseAttributeNames) !== null && _a !== undefined ? _a : !options.xmlMode) {
            name_2 = name_2.toLowerCase();
          }

          tokens.push({
            type: "attribute",
            name: name_2,
            action: actionTypes[actionType],
            value: unescapeCSS(value),
            ignoreCase: !!ignoreCase
          });
        } else if (firstChar === ":") {
          if (selector.charAt(1) === ":") {
            selector = selector.substr(2);
            tokens.push({
              type: "pseudo-element",
              name: getName().toLowerCase()
            });
            continue;
          }

          selector = selector.substr(1);
          var name_3 = getName().toLowerCase();
          var data = null;

          if (selector.startsWith("(")) {
            if (unpackPseudos.has(name_3)) {
              var quot = selector.charAt(1);
              var quoted = quotes.has(quot);
              selector = selector.substr(quoted ? 2 : 1);
              data = [];
              selector = parseSelector(data, selector, options);

              if (quoted) {
                if (!selector.startsWith(quot)) {
                  throw new Error("Unmatched quotes in :" + name_3);
                } else {
                  selector = selector.substr(1);
                }
              }

              if (!selector.startsWith(")")) {
                throw new Error("Missing closing parenthesis in :" + name_3 + " (" + selector + ")");
              }

              selector = selector.substr(1);
            } else {
              var pos = 1;
              var counter = 1;

              for (; counter > 0 && pos < selector.length; pos++) {
                if (selector.charAt(pos) === "(" && !isEscaped(pos)) {
                  counter++;
                } else if (selector.charAt(pos) === ")" && !isEscaped(pos)) {
                  counter--;
                }
              }

              if (counter) {
                throw new Error("Parenthesis not matched");
              }

              data = selector.substr(1, pos - 2);
              selector = selector.substr(pos);

              if (stripQuotesFromPseudos.has(name_3)) {
                var quot = data.charAt(0);

                if (quot === data.slice(-1) && quotes.has(quot)) {
                  data = data.slice(1, -1);
                }

                data = unescapeCSS(data);
              }
            }
          }

          tokens.push({
            type: "pseudo",
            name: name_3,
            data: data
          });
        } else if (reName.test(selector)) {
          var name_4 = getName();

          if ((_b = options.lowerCaseTags) !== null && _b !== undefined ? _b : !options.xmlMode) {
            name_4 = name_4.toLowerCase();
          }

          tokens.push({
            type: "tag",
            name: name_4
          });
        } else {
          if (tokens.length && tokens[tokens.length - 1].type === "descendant") {
            tokens.pop();
          }

          addToken(subselects, tokens);
          return selector;
        }
      }
    }

    addToken(subselects, tokens);
    return selector;
  }

  function addToken(subselects, tokens) {
    if (subselects.length > 0 && tokens.length === 0) {
      throw new Error("Empty sub-selector");
    }

    subselects.push(tokens);
  }
},968,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var __spreadArrays = this && this.__spreadArrays || function () {
    for (var s = 0, i = 0, il = arguments.length; i < il; i++) {
      s += arguments[i].length;
    }

    for (var r = Array(s), k = 0, i = 0; i < il; i++) {
      for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {
        r[k] = a[j];
      }
    }

    return r;
  };

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  var actionTypes = {
    equals: "",
    element: "~",
    start: "^",
    end: "$",
    any: "*",
    not: "!",
    hyphen: "|"
  };
  var charsToEscape = new Set(__spreadArrays(Object.keys(actionTypes).map(function (typeKey) {
    return actionTypes[typeKey];
  }).filter(Boolean), [":", "[", "]", " ", "\\"]));

  function stringify(token) {
    return token.map(stringifySubselector).join(", ");
  }

  exports.default = stringify;

  function stringifySubselector(token) {
    return token.map(stringifyToken).join("");
  }

  function stringifyToken(token) {
    switch (token.type) {
      case "child":
        return " > ";

      case "parent":
        return " < ";

      case "sibling":
        return " ~ ";

      case "adjacent":
        return " + ";

      case "descendant":
        return " ";

      case "universal":
        return "*";

      case "tag":
        return escapeName(token.name);

      case "pseudo-element":
        return "::" + escapeName(token.name);

      case "pseudo":
        if (token.data === null) return ":" + escapeName(token.name);

        if (typeof token.data === "string") {
          return ":" + escapeName(token.name) + "(" + token.data + ")";
        }

        return ":" + escapeName(token.name) + "(" + stringify(token.data) + ")";

      case "attribute":
        if (token.action === "exists") {
          return "[" + escapeName(token.name) + "]";
        }

        if (token.name === "id" && token.action === "equals" && !token.ignoreCase) {
          return "#" + escapeName(token.value);
        }

        if (token.name === "class" && token.action === "element" && !token.ignoreCase) {
          return "." + escapeName(token.value);
        }

        return "[" + escapeName(token.name) + actionTypes[token.action] + "='" + escapeName(token.value) + "'" + (token.ignoreCase ? "i" : "") + "]";
    }
  }

  function escapeName(str) {
    return str.split("").map(function (c) {
      return charsToEscape.has(c) ? "\\" + c : c;
    }).join("");
  }
},969,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = sortByProcedure;
  var attributes = {
    __proto__: null,
    exists: 10,
    equals: 8,
    not: 7,
    start: 6,
    end: 6,
    any: 5,
    hyphen: 4,
    element: 4
  };

  function sortByProcedure(arr) {
    var procs = arr.map(getProcedure);

    for (var i = 1; i < arr.length; i++) {
      var procNew = procs[i];
      if (procNew < 0) continue;

      for (var j = i - 1; j >= 0 && procNew < procs[j]; j--) {
        var token = arr[j + 1];
        arr[j + 1] = arr[j];
        arr[j] = token;
        procs[j + 1] = procs[j];
        procs[j] = procNew;
      }
    }
  }

  function getProcedure(token) {
    var proc = _$$_REQUIRE(_dependencyMap[0])[token.type];

    if (proc === _$$_REQUIRE(_dependencyMap[0]).attribute) {
      proc = attributes[token.action];

      if (proc === attributes.equals && token.name === "id") {
        proc = 9;
      }

      if (token.ignoreCase) {
        proc >>= 1;
      }
    } else if (proc === _$$_REQUIRE(_dependencyMap[0]).pseudo) {
      if (!token.data) {
        proc = 3;
      } else if (token.name === "has" || token.name === "contains") {
        proc = 0;
      } else if (token.name === "matches" || token.name === "not") {
        proc = 0;

        for (var i = 0; i < token.data.length; i++) {
          if (token.data[i].length !== 1) continue;
          var cur = getProcedure(token.data[i][0]);

          if (cur === 0) {
            proc = 0;
            break;
          }

          if (cur > proc) proc = cur;
        }

        if (token.data.length > 1 && proc > 0) proc -= 1;
      } else {
        proc = 1;
      }
    }

    return proc;
  }
},970,[971]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
	"universal": 50,
	"tag": 30,
	"attribute": 1,
	"pseudo": 0,
	"descendant": -1,
	"child": -1,
	"parent": -1,
	"sibling": -1,
	"adjacent": -1
}
;
},971,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    trueFunc: function trueFunc() {
      return true;
    },
    falseFunc: function falseFunc() {
      return false;
    }
  };
},972,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = {
    __proto__: null,
    attribute: _$$_REQUIRE(_dependencyMap[0]).compile,
    pseudo: _$$_REQUIRE(_dependencyMap[1]).compile,
    tag: function tag(next, data, options) {
      var name = data.name;
      var adapter = options.adapter;
      return function tag(elem) {
        return adapter.getName(elem) === name && next(elem);
      };
    },
    descendant: function descendant(next, data, options) {
      var isFalseCache = typeof WeakSet !== "undefined" ? new WeakSet() : null;
      var adapter = options.adapter;
      return function descendant(elem) {
        var found = false;

        while (!found && (elem = adapter.getParent(elem))) {
          if (!isFalseCache || !isFalseCache.has(elem)) {
            found = next(elem);

            if (!found && isFalseCache) {
              isFalseCache.add(elem);
            }
          }
        }

        return found;
      };
    },
    _flexibleDescendant: function _flexibleDescendant(next, data, options) {
      var adapter = options.adapter;
      return function descendant(elem) {
        var found = next(elem);

        while (!found && (elem = adapter.getParent(elem))) {
          found = next(elem);
        }

        return found;
      };
    },
    parent: function parent(next, data, options) {
      if (options && options.strict) {
        throw new Error("Parent selector isn't part of CSS3");
      }

      var adapter = options.adapter;
      return function parent(elem) {
        return adapter.getChildren(elem).some(test);
      };

      function test(elem) {
        return adapter.isTag(elem) && next(elem);
      }
    },
    child: function child(next, data, options) {
      var adapter = options.adapter;
      return function child(elem) {
        var parent = adapter.getParent(elem);
        return !!parent && next(parent);
      };
    },
    sibling: function sibling(next, data, options) {
      var adapter = options.adapter;
      return function sibling(elem) {
        var siblings = adapter.getSiblings(elem);

        for (var i = 0; i < siblings.length; i++) {
          if (adapter.isTag(siblings[i])) {
            if (siblings[i] === elem) break;
            if (next(siblings[i])) return true;
          }
        }

        return false;
      };
    },
    adjacent: function adjacent(next, data, options) {
      var adapter = options.adapter;
      return function adjacent(elem) {
        var siblings = adapter.getSiblings(elem),
            lastElement;

        for (var i = 0; i < siblings.length; i++) {
          if (adapter.isTag(siblings[i])) {
            if (siblings[i] === elem) break;
            lastElement = siblings[i];
          }
        }

        return !!lastElement && next(lastElement);
      };
    },
    universal: function universal(next) {
      return next;
    }
  };
},973,[974,975]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var reChars = /[-[\]{}()*+?.,\\^$|#\s]/g;
  var attributeRules = {
    __proto__: null,
    equals: function equals(next, data, options) {
      var name = data.name;
      var value = data.value;
      var adapter = options.adapter;

      if (data.ignoreCase) {
        value = value.toLowerCase();
        return function equalsIC(elem) {
          var attr = adapter.getAttributeValue(elem, name);
          return attr != null && attr.toLowerCase() === value && next(elem);
        };
      }

      return function equals(elem) {
        return adapter.getAttributeValue(elem, name) === value && next(elem);
      };
    },
    hyphen: function hyphen(next, data, options) {
      var name = data.name;
      var value = data.value;
      var len = value.length;
      var adapter = options.adapter;

      if (data.ignoreCase) {
        value = value.toLowerCase();
        return function hyphenIC(elem) {
          var attr = adapter.getAttributeValue(elem, name);
          return attr != null && (attr.length === len || attr.charAt(len) === "-") && attr.substr(0, len).toLowerCase() === value && next(elem);
        };
      }

      return function hyphen(elem) {
        var attr = adapter.getAttributeValue(elem, name);
        return attr != null && attr.substr(0, len) === value && (attr.length === len || attr.charAt(len) === "-") && next(elem);
      };
    },
    element: function element(next, data, options) {
      var name = data.name;
      var value = data.value;
      var adapter = options.adapter;

      if (/\s/.test(value)) {
        return _$$_REQUIRE(_dependencyMap[0]).falseFunc;
      }

      value = value.replace(reChars, "\\$&");
      var pattern = "(?:^|\\s)" + value + "(?:$|\\s)",
          flags = data.ignoreCase ? "i" : "",
          regex = new RegExp(pattern, flags);
      return function element(elem) {
        var attr = adapter.getAttributeValue(elem, name);
        return attr != null && regex.test(attr) && next(elem);
      };
    },
    exists: function exists(next, data, options) {
      var name = data.name;
      var adapter = options.adapter;
      return function exists(elem) {
        return adapter.hasAttrib(elem, name) && next(elem);
      };
    },
    start: function start(next, data, options) {
      var name = data.name;
      var value = data.value;
      var len = value.length;
      var adapter = options.adapter;

      if (len === 0) {
        return _$$_REQUIRE(_dependencyMap[0]).falseFunc;
      }

      if (data.ignoreCase) {
        value = value.toLowerCase();
        return function startIC(elem) {
          var attr = adapter.getAttributeValue(elem, name);
          return attr != null && attr.substr(0, len).toLowerCase() === value && next(elem);
        };
      }

      return function start(elem) {
        var attr = adapter.getAttributeValue(elem, name);
        return attr != null && attr.substr(0, len) === value && next(elem);
      };
    },
    end: function end(next, data, options) {
      var name = data.name;
      var value = data.value;
      var len = -value.length;
      var adapter = options.adapter;

      if (len === 0) {
        return _$$_REQUIRE(_dependencyMap[0]).falseFunc;
      }

      if (data.ignoreCase) {
        value = value.toLowerCase();
        return function endIC(elem) {
          var attr = adapter.getAttributeValue(elem, name);
          return attr != null && attr.substr(len).toLowerCase() === value && next(elem);
        };
      }

      return function end(elem) {
        var attr = adapter.getAttributeValue(elem, name);
        return attr != null && attr.substr(len) === value && next(elem);
      };
    },
    any: function any(next, data, options) {
      var name = data.name;
      var value = data.value;
      var adapter = options.adapter;

      if (value === "") {
        return _$$_REQUIRE(_dependencyMap[0]).falseFunc;
      }

      if (data.ignoreCase) {
        var regex = new RegExp(value.replace(reChars, "\\$&"), "i");
        return function anyIC(elem) {
          var attr = adapter.getAttributeValue(elem, name);
          return attr != null && regex.test(attr) && next(elem);
        };
      }

      return function any(elem) {
        var attr = adapter.getAttributeValue(elem, name);
        return attr != null && attr.indexOf(value) >= 0 && next(elem);
      };
    },
    not: function not(next, data, options) {
      var name = data.name;
      var value = data.value;
      var adapter = options.adapter;

      if (value === "") {
        return function notEmpty(elem) {
          return !!adapter.getAttributeValue(elem, name) && next(elem);
        };
      } else if (data.ignoreCase) {
        value = value.toLowerCase();
        return function notIC(elem) {
          var attr = adapter.getAttributeValue(elem, name);
          return attr != null && attr.toLowerCase() !== value && next(elem);
        };
      }

      return function not(elem) {
        return adapter.getAttributeValue(elem, name) !== value && next(elem);
      };
    }
  };
  module.exports = {
    compile: function compile(next, data, options) {
      if (options && options.strict && (data.ignoreCase || data.action === "not")) {
        throw new Error("Unsupported attribute selector");
      }

      return attributeRules[data.action](next, data, options);
    },
    rules: attributeRules
  };
},974,[972]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var checkAttrib = _$$_REQUIRE(_dependencyMap[0]).rules.equals;

  function getAttribFunc(name, value) {
    var data = {
      name: name,
      value: value
    };
    return function attribFunc(next, rule, options) {
      return checkAttrib(next, data, options);
    };
  }

  function getChildFunc(next, adapter) {
    return function (elem) {
      return !!adapter.getParent(elem) && next(elem);
    };
  }

  var filters = {
    contains: function contains(next, text, options) {
      var adapter = options.adapter;
      return function contains(elem) {
        return next(elem) && adapter.getText(elem).indexOf(text) >= 0;
      };
    },
    icontains: function icontains(next, text, options) {
      var itext = text.toLowerCase();
      var adapter = options.adapter;
      return function icontains(elem) {
        return next(elem) && adapter.getText(elem).toLowerCase().indexOf(itext) >= 0;
      };
    },
    "nth-child": function nthChild(next, rule, options) {
      var func = _$$_REQUIRE(_dependencyMap[1])(rule);

      var adapter = options.adapter;
      if (func === _$$_REQUIRE(_dependencyMap[2]).falseFunc) return func;
      if (func === _$$_REQUIRE(_dependencyMap[2]).trueFunc) return getChildFunc(next, adapter);
      return function nthChild(elem) {
        var siblings = adapter.getSiblings(elem);

        for (var i = 0, pos = 0; i < siblings.length; i++) {
          if (adapter.isTag(siblings[i])) {
            if (siblings[i] === elem) break;else pos++;
          }
        }

        return func(pos) && next(elem);
      };
    },
    "nth-last-child": function nthLastChild(next, rule, options) {
      var func = _$$_REQUIRE(_dependencyMap[1])(rule);

      var adapter = options.adapter;
      if (func === _$$_REQUIRE(_dependencyMap[2]).falseFunc) return func;
      if (func === _$$_REQUIRE(_dependencyMap[2]).trueFunc) return getChildFunc(next, adapter);
      return function nthLastChild(elem) {
        var siblings = adapter.getSiblings(elem);

        for (var pos = 0, i = siblings.length - 1; i >= 0; i--) {
          if (adapter.isTag(siblings[i])) {
            if (siblings[i] === elem) break;else pos++;
          }
        }

        return func(pos) && next(elem);
      };
    },
    "nth-of-type": function nthOfType(next, rule, options) {
      var func = _$$_REQUIRE(_dependencyMap[1])(rule);

      var adapter = options.adapter;
      if (func === _$$_REQUIRE(_dependencyMap[2]).falseFunc) return func;
      if (func === _$$_REQUIRE(_dependencyMap[2]).trueFunc) return getChildFunc(next, adapter);
      return function nthOfType(elem) {
        var siblings = adapter.getSiblings(elem);

        for (var pos = 0, i = 0; i < siblings.length; i++) {
          if (adapter.isTag(siblings[i])) {
            if (siblings[i] === elem) break;
            if (adapter.getName(siblings[i]) === adapter.getName(elem)) pos++;
          }
        }

        return func(pos) && next(elem);
      };
    },
    "nth-last-of-type": function nthLastOfType(next, rule, options) {
      var func = _$$_REQUIRE(_dependencyMap[1])(rule);

      var adapter = options.adapter;
      if (func === _$$_REQUIRE(_dependencyMap[2]).falseFunc) return func;
      if (func === _$$_REQUIRE(_dependencyMap[2]).trueFunc) return getChildFunc(next, adapter);
      return function nthLastOfType(elem) {
        var siblings = adapter.getSiblings(elem);

        for (var pos = 0, i = siblings.length - 1; i >= 0; i--) {
          if (adapter.isTag(siblings[i])) {
            if (siblings[i] === elem) break;
            if (adapter.getName(siblings[i]) === adapter.getName(elem)) pos++;
          }
        }

        return func(pos) && next(elem);
      };
    },
    root: function root(next, rule, options) {
      var adapter = options.adapter;
      return function (elem) {
        return !adapter.getParent(elem) && next(elem);
      };
    },
    scope: function scope(next, rule, options, context) {
      var adapter = options.adapter;

      if (!context || context.length === 0) {
        return filters.root(next, rule, options);
      }

      function equals(a, b) {
        if (typeof adapter.equals === "function") return adapter.equals(a, b);
        return a === b;
      }

      if (context.length === 1) {
        return function (elem) {
          return equals(context[0], elem) && next(elem);
        };
      }

      return function (elem) {
        return context.indexOf(elem) >= 0 && next(elem);
      };
    },
    checkbox: getAttribFunc("type", "checkbox"),
    file: getAttribFunc("type", "file"),
    password: getAttribFunc("type", "password"),
    radio: getAttribFunc("type", "radio"),
    reset: getAttribFunc("type", "reset"),
    image: getAttribFunc("type", "image"),
    submit: getAttribFunc("type", "submit"),
    hover: function hover(next, rule, options) {
      var adapter = options.adapter;

      if (typeof adapter.isHovered === 'function') {
        return function hover(elem) {
          return next(elem) && adapter.isHovered(elem);
        };
      }

      return _$$_REQUIRE(_dependencyMap[2]).falseFunc;
    },
    visited: function visited(next, rule, options) {
      var adapter = options.adapter;

      if (typeof adapter.isVisited === 'function') {
        return function visited(elem) {
          return next(elem) && adapter.isVisited(elem);
        };
      }

      return _$$_REQUIRE(_dependencyMap[2]).falseFunc;
    },
    active: function active(next, rule, options) {
      var adapter = options.adapter;

      if (typeof adapter.isActive === 'function') {
        return function active(elem) {
          return next(elem) && adapter.isActive(elem);
        };
      }

      return _$$_REQUIRE(_dependencyMap[2]).falseFunc;
    }
  };

  function getFirstElement(elems, adapter) {
    for (var i = 0; elems && i < elems.length; i++) {
      if (adapter.isTag(elems[i])) return elems[i];
    }
  }

  var pseudos = {
    empty: function empty(elem, adapter) {
      return !adapter.getChildren(elem).some(function (elem) {
        return adapter.isTag(elem) || elem.type === "text";
      });
    },
    "first-child": function firstChild(elem, adapter) {
      return getFirstElement(adapter.getSiblings(elem), adapter) === elem;
    },
    "last-child": function lastChild(elem, adapter) {
      var siblings = adapter.getSiblings(elem);

      for (var i = siblings.length - 1; i >= 0; i--) {
        if (siblings[i] === elem) return true;
        if (adapter.isTag(siblings[i])) break;
      }

      return false;
    },
    "first-of-type": function firstOfType(elem, adapter) {
      var siblings = adapter.getSiblings(elem);

      for (var i = 0; i < siblings.length; i++) {
        if (adapter.isTag(siblings[i])) {
          if (siblings[i] === elem) return true;
          if (adapter.getName(siblings[i]) === adapter.getName(elem)) break;
        }
      }

      return false;
    },
    "last-of-type": function lastOfType(elem, adapter) {
      var siblings = adapter.getSiblings(elem);

      for (var i = siblings.length - 1; i >= 0; i--) {
        if (adapter.isTag(siblings[i])) {
          if (siblings[i] === elem) return true;
          if (adapter.getName(siblings[i]) === adapter.getName(elem)) break;
        }
      }

      return false;
    },
    "only-of-type": function onlyOfType(elem, adapter) {
      var siblings = adapter.getSiblings(elem);

      for (var i = 0, j = siblings.length; i < j; i++) {
        if (adapter.isTag(siblings[i])) {
          if (siblings[i] === elem) continue;

          if (adapter.getName(siblings[i]) === adapter.getName(elem)) {
            return false;
          }
        }
      }

      return true;
    },
    "only-child": function onlyChild(elem, adapter) {
      var siblings = adapter.getSiblings(elem);

      for (var i = 0; i < siblings.length; i++) {
        if (adapter.isTag(siblings[i]) && siblings[i] !== elem) return false;
      }

      return true;
    },
    link: function link(elem, adapter) {
      return adapter.hasAttrib(elem, "href");
    },
    selected: function selected(elem, adapter) {
      if (adapter.hasAttrib(elem, "selected")) return true;else if (adapter.getName(elem) !== "option") return false;
      var parent = adapter.getParent(elem);

      if (!parent || adapter.getName(parent) !== "select" || adapter.hasAttrib(parent, "multiple")) {
        return false;
      }

      var siblings = adapter.getChildren(parent);
      var sawElem = false;

      for (var i = 0; i < siblings.length; i++) {
        if (adapter.isTag(siblings[i])) {
          if (siblings[i] === elem) {
            sawElem = true;
          } else if (!sawElem) {
            return false;
          } else if (adapter.hasAttrib(siblings[i], "selected")) {
            return false;
          }
        }
      }

      return sawElem;
    },
    disabled: function disabled(elem, adapter) {
      return adapter.hasAttrib(elem, "disabled");
    },
    enabled: function enabled(elem, adapter) {
      return !adapter.hasAttrib(elem, "disabled");
    },
    checked: function checked(elem, adapter) {
      return adapter.hasAttrib(elem, "checked") || pseudos.selected(elem, adapter);
    },
    required: function required(elem, adapter) {
      return adapter.hasAttrib(elem, "required");
    },
    optional: function optional(elem, adapter) {
      return !adapter.hasAttrib(elem, "required");
    },
    parent: function parent(elem, adapter) {
      return !pseudos.empty(elem, adapter);
    },
    header: namePseudo(["h1", "h2", "h3", "h4", "h5", "h6"]),
    button: function button(elem, adapter) {
      var name = adapter.getName(elem);
      return name === "button" || name === "input" && adapter.getAttributeValue(elem, "type") === "button";
    },
    input: namePseudo(["input", "textarea", "select", "button"]),
    text: function text(elem, adapter) {
      var attr;
      return adapter.getName(elem) === "input" && (!(attr = adapter.getAttributeValue(elem, "type")) || attr.toLowerCase() === "text");
    }
  };

  function namePseudo(names) {
    if (typeof Set !== "undefined") {
      var nameSet = new Set(names);
      return function (elem, adapter) {
        return nameSet.has(adapter.getName(elem));
      };
    }

    return function (elem, adapter) {
      return names.indexOf(adapter.getName(elem)) >= 0;
    };
  }

  function verifyArgs(func, name, subselect) {
    if (subselect === null) {
      if (func.length > 2 && name !== "scope") {
        throw new Error("pseudo-selector :" + name + " requires an argument");
      }
    } else {
      if (func.length === 2) {
        throw new Error("pseudo-selector :" + name + " doesn't have any arguments");
      }
    }
  }

  var re_CSS3 = /^(?:(?:nth|last|first|only)-(?:child|of-type)|root|empty|(?:en|dis)abled|checked|not)$/;
  module.exports = {
    compile: function compile(next, data, options, context) {
      var name = data.name;
      var subselect = data.data;
      var adapter = options.adapter;

      if (options && options.strict && !re_CSS3.test(name)) {
        throw new Error(":" + name + " isn't part of CSS3");
      }

      if (typeof filters[name] === "function") {
        return filters[name](next, subselect, options, context);
      } else if (typeof pseudos[name] === "function") {
        var func = pseudos[name];
        verifyArgs(func, name, subselect);

        if (func === _$$_REQUIRE(_dependencyMap[2]).falseFunc) {
          return func;
        }

        if (next === _$$_REQUIRE(_dependencyMap[2]).trueFunc) {
          return function pseudoRoot(elem) {
            return func(elem, adapter, subselect);
          };
        }

        return function pseudoArgs(elem) {
          return func(elem, adapter, subselect) && next(elem);
        };
      } else {
        throw new Error("unmatched pseudo-class :" + name);
      }
    },
    filters: filters,
    pseudos: pseudos
  };
},975,[974,976,972]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = function nthCheck(formula) {
    return _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1])(formula));
  };

  module.exports.parse = _$$_REQUIRE(_dependencyMap[1]);
  module.exports.compile = _$$_REQUIRE(_dependencyMap[0]);
},976,[977,978]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = compile;

  function compile(parsed) {
    var a = parsed[0],
        b = parsed[1] - 1;
    if (b < 0 && a <= 0) return _$$_REQUIRE(_dependencyMap[0]).falseFunc;
    if (a === -1) return function (pos) {
      return pos <= b;
    };
    if (a === 0) return function (pos) {
      return pos === b;
    };
    if (a === 1) return b < 0 ? _$$_REQUIRE(_dependencyMap[0]).trueFunc : function (pos) {
      return pos >= b;
    };
    var bMod = b % a;
    if (bMod < 0) bMod += a;

    if (a > 1) {
      return function (pos) {
        return pos >= b && pos % a === bMod;
      };
    }

    a *= -1;
    return function (pos) {
      return pos <= b && pos % a === bMod;
    };
  }
},977,[972]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = parse;
  var re_nthElement = /^([+\-]?\d*n)?\s*(?:([+\-]?)\s*(\d+))?$/;

  function parse(formula) {
    formula = formula.trim().toLowerCase();

    if (formula === "even") {
      return [2, 0];
    } else if (formula === "odd") {
      return [2, 1];
    } else {
      var parsed = formula.match(re_nthElement);

      if (!parsed) {
        throw new SyntaxError("n-th rule couldn't be parsed ('" + formula + "')");
      }

      var a;

      if (parsed[1]) {
        a = parseInt(parsed[1], 10);

        if (isNaN(a)) {
          if (parsed[1].charAt(0) === "-") a = -1;else a = 1;
        }
      } else a = 0;

      return [a, parsed[3] ? parseInt((parsed[2] || "") + parsed[3], 10) : 0];
    }
  }
},978,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getUriFromSource = getUriFromSource;
  exports.loadLocalRawResourceDefault = loadLocalRawResourceDefault;
  exports.isUriAnAndroidResourceIdentifier = isUriAnAndroidResourceIdentifier;
  exports.loadAndroidRawResource = loadAndroidRawResource;
  exports.loadLocalRawResourceAndroid = loadLocalRawResourceAndroid;
  exports.LocalSvg = LocalSvg;
  exports.default = exports.WithLocalSvg = exports.loadLocalRawResource = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  var _resolveAssetSource = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var _ref = _reactNative.NativeModules.RNSVGRenderableManager || {},
      getRawResource = _ref.getRawResource;

  function getUriFromSource(source) {
    var resolvedAssetSource = (0, _resolveAssetSource.default)(source);
    return resolvedAssetSource.uri;
  }

  function loadLocalRawResourceDefault(source) {
    var uri = getUriFromSource(source);
    return (0, _$$_REQUIRE(_dependencyMap[13]).fetchText)(uri);
  }

  function isUriAnAndroidResourceIdentifier(uri) {
    return typeof uri === 'string' && uri.indexOf('/') <= -1;
  }

  function loadAndroidRawResource(uri) {
    return _regenerator.default.async(function loadAndroidRawResource$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            _context.prev = 0;
            _context.next = 3;
            return _regenerator.default.awrap(getRawResource(uri));

          case 3:
            return _context.abrupt("return", _context.sent);

          case 6:
            _context.prev = 6;
            _context.t0 = _context["catch"](0);
            console.error('Error in RawResourceUtils while trying to natively load an Android raw resource: ', _context.t0);
            return _context.abrupt("return", null);

          case 10:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, [[0, 6]], Promise);
  }

  function loadLocalRawResourceAndroid(source) {
    var uri = getUriFromSource(source);

    if (isUriAnAndroidResourceIdentifier(uri)) {
      return loadAndroidRawResource(uri);
    } else {
      return (0, _$$_REQUIRE(_dependencyMap[13]).fetchText)(uri);
    }
  }

  var loadLocalRawResource = _reactNative.Platform.OS !== 'android' ? loadLocalRawResourceDefault : loadLocalRawResourceAndroid;
  exports.loadLocalRawResource = loadLocalRawResource;

  function LocalSvg(props) {
    var asset = props.asset,
        rest = (0, _objectWithoutProperties2.default)(props, ["asset"]);

    var _useState = (0, _react.useState)(null),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        xml = _useState2[0],
        setXml = _useState2[1];

    (0, _react.useEffect)(function () {
      loadLocalRawResource(asset).then(setXml);
    }, [asset]);
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).SvgCss, (0, _extends2.default)({
      xml: xml
    }, rest));
  }

  var WithLocalSvg = function (_Component) {
    (0, _inherits2.default)(WithLocalSvg, _Component);

    var _super = _createSuper(WithLocalSvg);

    function WithLocalSvg() {
      var _this;

      (0, _classCallCheck2.default)(this, WithLocalSvg);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.state = {
        xml: null
      };
      return _this;
    }

    (0, _createClass2.default)(WithLocalSvg, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this.load(this.props.asset);
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps) {
        var asset = this.props.asset;

        if (asset !== prevProps.asset) {
          this.load(asset);
        }
      }
    }, {
      key: "load",
      value: function load(asset) {
        return _regenerator.default.async(function load$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.prev = 0;
                _context2.t0 = this;

                if (!asset) {
                  _context2.next = 8;
                  break;
                }

                _context2.next = 5;
                return _regenerator.default.awrap(loadLocalRawResource(asset));

              case 5:
                _context2.t1 = _context2.sent;
                _context2.next = 9;
                break;

              case 8:
                _context2.t1 = null;

              case 9:
                _context2.t2 = _context2.t1;
                _context2.t3 = {
                  xml: _context2.t2
                };

                _context2.t0.setState.call(_context2.t0, _context2.t3);

                _context2.next = 17;
                break;

              case 14:
                _context2.prev = 14;
                _context2.t4 = _context2["catch"](0);
                console.error(_context2.t4);

              case 17:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, [[0, 14]], Promise);
      }
    }, {
      key: "render",
      value: function render() {
        var props = this.props,
            xml = this.state.xml;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).SvgWithCss, {
          xml: xml,
          override: props
        });
      }
    }]);
    return WithLocalSvg;
  }(_react.Component);

  exports.WithLocalSvg = WithLocalSvg;
  var _default = LocalSvg;
  exports.default = _default;
},979,[5,7,8,12,14,16,6,41,108,80,17,28,165,779,823]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _G2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ForeignObject = function (_G) {
    (0, _inherits2.default)(ForeignObject, _G);

    var _super = _createSuper(ForeignObject);

    function ForeignObject() {
      (0, _classCallCheck2.default)(this, ForeignObject);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(ForeignObject, [{
      key: "render",
      value: function render() {
        var props = this.props;
        var x = props.x,
            y = props.y,
            width = props.width,
            height = props.height,
            children = props.children;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).RNSVGForeignObject, (0, _extends2.default)({
          ref: this.refMethod
        }, (0, _$$_REQUIRE(_dependencyMap[10]).withoutXY)(this, props), {
          x: x,
          y: y,
          width: width,
          height: height
        }), children);
      }
    }]);
    return ForeignObject;
  }(_G2.default);

  exports.default = ForeignObject;
  ForeignObject.displayName = 'ForeignObject';
  ForeignObject.defaultProps = {
    x: '0%',
    y: '0%',
    width: '100%',
    height: '100%'
  };
},980,[5,6,7,8,12,14,16,17,805,783,784]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.icCommonProps = undefined;
  var icCommonProps = {
    svg: {
      fill: _$$_REQUIRE(_dependencyMap[0]).colors.black,
      height: 24,
      width: 24
    }
  };
  exports.icCommonProps = icCommonProps;
},981,[982]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.colors = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var colors = {
    articleHighlight: "rgba(255,0,0,0.25)",
    keyboardHighlight: "rgba(170,170,170,0.5)",
    textShadow: "rgba(0, 0, 0, 0.75)",
    articleHeader: "rgba(255, 255, 255, 0.4)",
    modalBackgroundLight: "rgba(0, 0, 0, 0.4)",
    modalBackground: "rgba(0, 0, 0, 0.7)",
    barColor: "rgba(0, 122, 255, 1)",
    articleContainerBorderColor: "#3c3c4349",
    hintBackgroundColor: "#FFECB3",
    transparent: "transparent",
    transparentA100: "#00000011",
    transparent1200: "#00000033",
    transparent600: "#0000009f",
    transparent200: "#000000cc",
    transparent100: "#000000ee",
    black: "#000000",
    white: "#FFFFFF",
    white_transparent_0: "rgba(255, 255, 255, 0)",
    white_transparent_40: "rgba(255, 255, 255, 0.4)",
    grey: "#dcdcdc",
    red: "#ff0000",
    grey50: "#FAFAFA",
    grey100: "#F5F5F5",
    grey200: "#eeeeee",
    grey250: "#e1e1e1",
    grey300: "#bcbcbc",
    grey400: "#737373",
    grey900: "#212121",
    grey1000: "#262626",
    grey1200: "#121212",
    background: "rgb(242, 242, 242)",
    title: "rgb(51, 51, 51)",
    summary: "rgb(77, 77, 77)",
    details: "rgb(89, 89, 89)",
    ios_system_blue: "#007AFF",
    ios_system_blue_dark: "#0A84FF",
    ios_secondary_system_background: "#F2F2F7",
    ios_secondary_system_background_dark: "#2C2C2E",
    md_red_50: "#FFEBEE",
    md_red_100: "#FFCDD2",
    md_red_200: "#EF9A9A",
    md_red_300: "#E57373",
    md_red_400: "#EF5350",
    md_red_500: "#F44336",
    md_red_600: "#E53935",
    md_red_700: "#D32F2F",
    md_red_800: "#C62828",
    md_red_900: "#B71C1C",
    md_red_A100: "#FF8A80",
    md_red_A200: "#FF5252",
    md_red_A400: "#FF1744",
    md_red_A700: "#D50000",
    md_pink_50: "#FCE4EC",
    md_pink_100: "#F8BBD0",
    md_pink_200: "#F48FB1",
    md_pink_300: "#F06292",
    md_pink_400: "#EC407A",
    md_pink_500: "#E91E63",
    md_pink_600: "#D81B60",
    md_pink_700: "#C2185B",
    md_pink_800: "#AD1457",
    md_pink_900: "#880E4F",
    md_pink_A100: "#FF80AB",
    md_pink_A200: "#FF4081",
    md_pink_A400: "#F50057",
    md_pink_A700: "#C51162",
    md_purple_50: "#F3E5F5",
    md_purple_100: "#E1BEE7",
    md_purple_200: "#CE93D8",
    md_purple_300: "#BA68C8",
    md_purple_400: "#AB47BC",
    md_purple_500: "#9C27B0",
    md_purple_600: "#8E24AA",
    md_purple_700: "#7B1FA2",
    md_purple_800: "#6A1B9A",
    md_purple_900: "#4A148C",
    md_purple_A100: "#EA80FC",
    md_purple_A200: "#E040FB",
    md_purple_A400: "#D500F9",
    md_purple_A700: "#AA00FF",
    md_deep_purple_50: "#EDE7F6",
    md_deep_purple_100: "#D1C4E9",
    md_deep_purple_200: "#B39DDB",
    md_deep_purple_300: "#9575CD",
    md_deep_purple_400: "#7E57C2",
    md_deep_purple_500: "#673AB7",
    md_deep_purple_600: "#5E35B1",
    md_deep_purple_700: "#512DA8",
    md_deep_purple_800: "#4527A0",
    md_deep_purple_900: "#311B92",
    md_deep_purple_A100: "#B388FF",
    md_deep_purple_A200: "#7C4DFF",
    md_deep_purple_A400: "#651FFF",
    md_deep_purple_A700: "#6200EA",
    md_indigo_50: "#E8EAF6",
    md_indigo_100: "#C5CAE9",
    md_indigo_200: "#9FA8DA",
    md_indigo_300: "#7986CB",
    md_indigo_400: "#5C6BC0",
    md_indigo_500: "#3F51B5",
    md_indigo_600: "#3949AB",
    md_indigo_700: "#303F9F",
    md_indigo_800: "#283593",
    md_indigo_900: "#1A237E",
    md_indigo_A100: "#8C9EFF",
    md_indigo_A200: "#536DFE",
    md_indigo_A400: "#3D5AFE",
    md_indigo_A700: "#304FFE",
    md_blue_50: "#E3F2FD",
    md_blue_100: "#BBDEFB",
    md_blue_200: "#90CAF9",
    md_blue_300: "#64B5F6",
    md_blue_400: "#42A5F5",
    md_blue_500: "#2196F3",
    md_blue_600: "#1E88E5",
    md_blue_700: "#1976D2",
    md_blue_800: "#1565C0",
    md_blue_900: "#0D47A1",
    md_blue_A100: "#82B1FF",
    md_blue_A200: "#448AFF",
    md_blue_A400: "#2979FF",
    md_blue_A700: "#2962FF",
    md_light_blue_50: "#E1F5FE",
    md_light_blue_100: "#B3E5FC",
    md_light_blue_200: "#81D4fA",
    md_light_blue_300: "#4fC3F7",
    md_light_blue_400: "#29B6FC",
    md_light_blue_500: "#03A9F4",
    md_light_blue_600: "#039BE5",
    md_light_blue_700: "#0288D1",
    md_light_blue_800: "#0277BD",
    md_light_blue_900: "#01579B",
    md_light_blue_A100: "#80D8FF",
    md_light_blue_A200: "#40C4FF",
    md_light_blue_A400: "#00B0FF",
    md_light_blue_A700: "#0091EA",
    md_cyan_50: "#E0F7FA",
    md_cyan_100: "#B2EBF2",
    md_cyan_200: "#80DEEA",
    md_cyan_300: "#4DD0E1",
    md_cyan_400: "#26C6DA",
    md_cyan_500: "#00BCD4",
    md_cyan_600: "#00ACC1",
    md_cyan_700: "#0097A7",
    md_cyan_800: "#00838F",
    md_cyan_900: "#006064",
    md_cyan_A100: "#84FFFF",
    md_cyan_A200: "#18FFFF",
    md_cyan_A400: "#00E5FF",
    md_cyan_A700: "#00B8D4",
    md_teal_50: "#E0F2F1",
    md_teal_100: "#B2DFDB",
    md_teal_200: "#80CBC4",
    md_teal_300: "#4DB6AC",
    md_teal_400: "#26A69A",
    md_teal_500: "#009688",
    md_teal_600: "#00897B",
    md_teal_700: "#00796B",
    md_teal_800: "#00695C",
    md_teal_900: "#004D40",
    md_teal_A100: "#A7FFEB",
    md_teal_A200: "#64FFDA",
    md_teal_A400: "#1DE9B6",
    md_teal_A700: "#00BFA5",
    md_green_50: "#E8F5E9",
    md_green_100: "#C8E6C9",
    md_green_200: "#A5D6A7",
    md_green_300: "#81C784",
    md_green_400: "#66BB6A",
    md_green_500: "#4CAF50",
    md_green_600: "#43A047",
    md_green_700: "#388E3C",
    md_green_800: "#2E7D32",
    md_green_900: "#1B5E20",
    md_green_A100: "#B9F6CA",
    md_green_A200: "#69F0AE",
    md_green_A400: "#00E676",
    md_green_A700: "#00C853",
    md_light_green_50: "#F1F8E9",
    md_light_green_100: "#DCEDC8",
    md_light_green_200: "#C5E1A5",
    md_light_green_300: "#AED581",
    md_light_green_400: "#9CCC65",
    md_light_green_500: "#8BC34A",
    md_light_green_600: "#7CB342",
    md_light_green_700: "#689F38",
    md_light_green_800: "#558B2F",
    md_light_green_900: "#33691E",
    md_light_green_A100: "#CCFF90",
    md_light_green_A200: "#B2FF59",
    md_light_green_A400: "#76FF03",
    md_light_green_A700: "#64DD17",
    md_lime_50: "#F9FBE7",
    md_lime_100: "#F0F4C3",
    md_lime_200: "#E6EE9C",
    md_lime_300: "#DCE775",
    md_lime_400: "#D4E157",
    md_lime_500: "#CDDC39",
    md_lime_600: "#C0CA33",
    md_lime_700: "#A4B42B",
    md_lime_800: "#9E9D24",
    md_lime_900: "#827717",
    md_lime_A100: "#F4FF81",
    md_lime_A200: "#EEFF41",
    md_lime_A400: "#C6FF00",
    md_lime_A700: "#AEEA00",
    md_yellow_50: "#FFFDE7",
    md_yellow_100: "#FFF9C4",
    md_yellow_200: "#FFF590",
    md_yellow_300: "#FFF176",
    md_yellow_400: "#FFEE58",
    md_yellow_500: "#FFEB3B",
    md_yellow_600: "#FDD835",
    md_yellow_700: "#FBC02D",
    md_yellow_800: "#F9A825",
    md_yellow_900: "#F57F17",
    md_yellow_A100: "#FFFF82",
    md_yellow_A200: "#FFFF00",
    md_yellow_A400: "#FFEA00",
    md_yellow_A700: "#FFD600",
    md_amber_50: "#FFF8E1",
    md_amber_100: "#FFECB3",
    md_amber_200: "#FFE082",
    md_amber_300: "#FFD54F",
    md_amber_400: "#FFCA28",
    md_amber_500: "#FFC107",
    md_amber_600: "#FFB300",
    md_amber_700: "#FFA000",
    md_amber_800: "#FF8F00",
    md_amber_900: "#FF6F00",
    md_amber_A100: "#FFE57F",
    md_amber_A200: "#FFD740",
    md_amber_A400: "#FFC400",
    md_amber_A700: "#FFAB00",
    md_orange_50: "#FFF3E0",
    md_orange_100: "#FFE0B2",
    md_orange_200: "#FFCC80",
    md_orange_300: "#FFB74D",
    md_orange_400: "#FFA726",
    md_orange_500: "#FF9800",
    md_orange_600: "#FB8C00",
    md_orange_700: "#F57C00",
    md_orange_800: "#EF6C00",
    md_orange_900: "#E65100",
    md_orange_A100: "#FFD180",
    md_orange_A200: "#FFAB40",
    md_orange_A400: "#FF9100",
    md_orange_A700: "#FF6D00",
    md_deep_orange_50: "#FBE9A7",
    md_deep_orange_100: "#FFCCBC",
    md_deep_orange_200: "#FFAB91",
    md_deep_orange_300: "#FF8A65",
    md_deep_orange_400: "#FF7043",
    md_deep_orange_500: "#FF5722",
    md_deep_orange_600: "#F4511E",
    md_deep_orange_700: "#E64A19",
    md_deep_orange_800: "#D84315",
    md_deep_orange_900: "#BF360C",
    md_deep_orange_A100: "#FF9E80",
    md_deep_orange_A200: "#FF6E40",
    md_deep_orange_A400: "#FF3D00",
    md_deep_orange_A700: "#DD2600",
    md_brown_50: "#EFEBE9",
    md_brown_100: "#D7CCC8",
    md_brown_200: "#BCAAA4",
    md_brown_300: "#A1887F",
    md_brown_400: "#8D6E63",
    md_brown_500: "#795548",
    md_brown_600: "#6D4C41",
    md_brown_700: "#5D4037",
    md_brown_800: "#4E342E",
    md_brown_900: "#3E2723",
    md_grey_50: "#FAFAFA",
    md_grey_100: "#F5F5F5",
    md_grey_200: "#EEEEEE",
    md_grey_300: "#E0E0E0",
    md_grey_400: "#BDBDBD",
    md_grey_500: "#9E9E9E",
    md_grey_600: "#757575",
    md_grey_700: "#616161",
    md_grey_800: "#424242",
    md_grey_900: "#212121",
    md_black_1000: "#000000",
    md_white_1000: "#ffffff",
    md_blue_grey_50: "#ECEFF1",
    md_blue_grey_100: "#CFD8DC",
    md_blue_grey_200: "#B0BBC5",
    md_blue_grey_300: "#90A4AE",
    md_blue_grey_400: "#78909C",
    md_blue_grey_500: "#607D8B",
    md_blue_grey_600: "#546E7A",
    md_blue_grey_700: "#455A64",
    md_blue_grey_800: "#37474F",
    md_blue_grey_900: "#263238"
  };
  exports.colors = colors;

  var ColorUtils = function () {
    function ColorUtils() {
      (0, _classCallCheck2.default)(this, ColorUtils);
    }

    (0, _createClass2.default)(ColorUtils, null, [{
      key: "convertHexFromShorthand",
      value: function convertHexFromShorthand(hex) {
        var result;

        if (hex.length <= 4) {
          var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
          result = hex.replace(shorthandRegex, function (_, r, g, b) {
            return r + r + g + g + b + b;
          });
        } else {
          result = hex;
        }

        return result;
      }
    }, {
      key: "componentToHex",
      value: function componentToHex(component) {
        var hex = component.toString(16);
        return hex.length === 1 ? "0".concat(hex) : hex;
      }
    }, {
      key: "rgbTOrrggbb",
      value: function rgbTOrrggbb(rgb) {
        if (rgb) {
          if (rgb.match(/^#[a-f\d]{6}$/i) !== null) {
            return rgb;
          }

          if (rgb.match(/^#[a-f\d]{3}$/i) !== null) {
            return "#" + rgb[1] + rgb[1] + rgb[2] + rgb[2] + rgb[3] + rgb[3];
          }
        }

        return undefined;
      }
    }, {
      key: "hexToChannels",
      value: function hexToChannels(hex) {
        return /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(hex);
      }
    }, {
      key: "getRedChannelFromHex",
      value: function getRedChannelFromHex(hex) {
        var result = ColorUtils.hexToChannels(hex);
        return result ? parseInt(result[1], 16) : null;
      }
    }, {
      key: "getGreenChannelFromHex",
      value: function getGreenChannelFromHex(hex) {
        var result = ColorUtils.hexToChannels(hex);
        return result ? parseInt(result[2], 16) : null;
      }
    }, {
      key: "getBlueChannelFromHex",
      value: function getBlueChannelFromHex(hex) {
        var result = ColorUtils.hexToChannels(hex);
        return result ? parseInt(result[3], 16) : null;
      }
    }, {
      key: "getAlphaChannelFromHex",
      value: function getAlphaChannelFromHex(hex) {
        var result = ColorUtils.hexToChannels(hex);
        return result && result.length === 5 ? parseInt(result[4], 16) : null;
      }
    }, {
      key: "applyDarknessToColor",
      value: function applyDarknessToColor(color, darkPercentageDecrease) {
        return Math.min(255, Math.round(Math.max(0, color + color * (darkPercentageDecrease / 100))));
      }
    }, {
      key: "applyDarknessToHex",
      value: function applyDarknessToHex(hex) {
        var darkPercentageDecrease = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
        var alpha = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 255;
        var red = ColorUtils.applyDarknessToColor(ColorUtils.getRedChannelFromHex(hex), darkPercentageDecrease);
        var green = ColorUtils.applyDarknessToColor(ColorUtils.getGreenChannelFromHex(hex), darkPercentageDecrease);
        var blue = ColorUtils.applyDarknessToColor(ColorUtils.getBlueChannelFromHex(hex), darkPercentageDecrease);
        return "#".concat(ColorUtils.componentToHex(red)).concat(ColorUtils.componentToHex(green)).concat(ColorUtils.componentToHex(blue)).concat(ColorUtils.componentToHex(alpha));
      }
    }, {
      key: "hexToRGBA",
      value: function hexToRGBA(hex) {
        var red = parseInt(hex.slice(1, 3), 16);
        var green = parseInt(hex.slice(3, 5), 16);
        var blue = parseInt(hex.slice(5, 7), 16);
        var alpha = parseInt(hex.slice(7, 9), 16);
        return "rgba(\"" + red + "\",\"" + green + "\",\"" + blue + "\",\"" + alpha + "\")";
      }
    }, {
      key: "hexToRGBAComponents",
      value: function hexToRGBAComponents(hex) {
        var red = parseInt(hex.slice(1, 3), 16);
        var green = parseInt(hex.slice(3, 5), 16);
        var blue = parseInt(hex.slice(5, 7), 16);
        var alpha = parseInt(hex.slice(7, 9), 16);
        return {
          red: red,
          green: green,
          blue: blue,
          alpha: alpha
        };
      }
    }, {
      key: "RGBAToHex",
      value: function RGBAToHex(red, green, blue, alpha) {
        return "#".concat(ColorUtils.componentToHex(red)).concat(ColorUtils.componentToHex(green)).concat(ColorUtils.componentToHex(blue)).concat(ColorUtils.componentToHex(alpha));
      }
    }, {
      key: "RGBToHex",
      value: function RGBToHex(red, green, blue) {
        return "#".concat(ColorUtils.componentToHex(red)).concat(ColorUtils.componentToHex(green)).concat(ColorUtils.componentToHex(blue));
      }
    }, {
      key: "getDarknessScore",
      value: function getDarknessScore(color) {
        var redChannel = this.getRedChannelFromHex(color);
        var greenChannel = this.getGreenChannelFromHex(color);
        var blueChannel = this.getBlueChannelFromHex(color);
        return 1 - (0.299 * redChannel + 0.587 * greenChannel + 0.114 * blueChannel) / 255;
      }
    }, {
      key: "isClearColor",
      value: function isClearColor(color) {
        return ColorUtils.getDarknessScore(color) < 0.4;
      }
    }, {
      key: "determineTextColor",
      value: function determineTextColor(color) {
        return ColorUtils.isClearColor(color) ? colors.grey1000 : colors.white;
      }
    }]);
    return ColorUtils;
  }();

  exports.default = ColorUtils;
},982,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.ErrorType = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _taImageIcon = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _icInfo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _icWarning = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _icError = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var styles = _reactNative.StyleSheet.create({});

  var ErrorType = {
    INFO: 0,
    WARNING: 1,
    ERROR: 2
  };
  exports.ErrorType = ErrorType;

  function ErrorIcon(props) {
    var type = props.type;

    if (type === ErrorType.INFO) {
      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
        classes: ["opt-error-icon", "opt-error-icon-type-info"]
      }, _react.default.createElement(_taImageIcon.default, {
        style: [styles.icon, styles.info],
        DefaultComponent: _react.default.createElement(_icInfo.default, {
          fill: _$$_REQUIRE(_dependencyMap[9]).colors.md_blue_700
        })
      }));
    }

    if (type === ErrorType.WARNING) {
      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
        classes: ["opt-error-icon", "opt-error-icon-type-warning"]
      }, _react.default.createElement(_taImageIcon.default, {
        style: [styles.icon, styles.warning],
        DefaultComponent: _react.default.createElement(_icWarning.default, {
          fill: _$$_REQUIRE(_dependencyMap[9]).colors.md_yellow_700
        })
      }));
    }

    if (type === ErrorType.ERROR) {
      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
        classes: ["opt-error-icon", "opt-error-icon-type-error"]
      }, _react.default.createElement(_taImageIcon.default, {
        style: [styles.icon, styles.error],
        DefaultComponent: _react.default.createElement(_icError.default, {
          fill: _$$_REQUIRE(_dependencyMap[9]).colors.md_red_700
        })
      }));
    }

    return null;
  }

  ErrorIcon.propTypes = {
    type: _propTypes.default.number
  };
  var _default = ErrorIcon;
  exports.default = _default;
},983,[5,17,201,28,773,984,985,986,987,982]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var IcInfo = function IcInfo(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Svg, props, _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M0 0h24v24H0z",
      fill: "none"
    }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"
    }));
  };

  var _default = IcInfo;
  exports.default = _default;
},984,[5,17,776]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var IcWarning = function IcWarning(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Svg, props, _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M0 0h24v24H0z",
      fill: "none"
    }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"
    }));
  };

  var _default = IcWarning;
  exports.default = _default;
},985,[5,17,776]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var IcError = function IcError(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Svg, props, _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M0 0h24v24H0z",
      fill: "none"
    }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"
    }));
  };

  var _default = IcError;
  exports.default = _default;
},986,[5,17,776]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Css = Css;
  exports.Provider = exports.CssHelper = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var RnCss = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  var _RnCss$default = RnCss.default,
      Consumer = _RnCss$default.Consumer,
      Provider = _RnCss$default.Provider;
  exports.Provider = Provider;

  function Css(props) {
    return _react.default.createElement(Consumer, props);
  }

  var CssHelper = {
    flatten: RnCss.CssHelper.flatten,
    getStyleObjByCssClasses: RnCss.CssHelper.getStyleObj,
    setWindowSize: function setWindowSize(window) {
      return RnCss.default.set({
        window: window
      });
    },
    get: function get() {
      return RnCss.default.get().state;
    },
    set: function set(state) {
      return RnCss.default.set(state);
    }
  };
  exports.CssHelper = CssHelper;
},987,[5,17,700]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  function TaText(props) {
    return _react.default.createElement(_reactNative.Text, props);
  }

  TaText.propTypes = (0, _extends2.default)({}, _reactNative.TextProps);
  var _default = TaText;
  exports.default = _default;
},988,[5,6,17,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var IcCloseCircleOutline = function IcCloseCircleOutline(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Svg, props, _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M12 20c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-18C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m2.59 6L12 10.59 9.41 8 8 9.41 10.59 12 8 14.59 9.41 16 12 13.41 14.59 16 16 14.59 13.41 12 16 9.41 14.59 8Z"
    }));
  };

  var _default = IcCloseCircleOutline;
  exports.default = _default;
},989,[5,17,776]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.commonStyles = exports.NEW_LINE = exports.MAX_SCREEN_WIDTH = exports.MAIN_VIEW_PADDING = exports.MAIN_ISSUE_MAX_WIDTH = exports.ISSUE_MIN_WIDTH = exports.HEADER_HEIGHT = exports.DRAWER_WIDTH = exports.DRAWER_PERMANENT = exports.CARD_RADIUS = exports.CARD_PADDING = exports.CARD_MARGIN = exports.ANIMATION_DURATION = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var DRAWER_PERMANENT = 800;
  exports.DRAWER_PERMANENT = DRAWER_PERMANENT;
  var DRAWER_WIDTH = 250;
  exports.DRAWER_WIDTH = DRAWER_WIDTH;
  var SHADOW_HEIGHT = 1;
  var CARD_PADDING = 10;
  exports.CARD_PADDING = CARD_PADDING;
  var CARD_MARGIN = 10;
  exports.CARD_MARGIN = CARD_MARGIN;
  var CARD_RADIUS = 10;
  exports.CARD_RADIUS = CARD_RADIUS;
  var HEADER_HEIGHT = 50;
  exports.HEADER_HEIGHT = HEADER_HEIGHT;
  var ANIMATION_DURATION = 300;
  exports.ANIMATION_DURATION = ANIMATION_DURATION;
  var MAIN_VIEW_PADDING = 30;
  exports.MAIN_VIEW_PADDING = MAIN_VIEW_PADDING;
  var MAIN_ISSUE_MAX_WIDTH = 600;
  exports.MAIN_ISSUE_MAX_WIDTH = MAIN_ISSUE_MAX_WIDTH;
  var ISSUE_MIN_WIDTH = 150;
  exports.ISSUE_MIN_WIDTH = ISSUE_MIN_WIDTH;
  var MAX_SCREEN_WIDTH = 800;
  exports.MAX_SCREEN_WIDTH = MAX_SCREEN_WIDTH;
  var NEW_LINE = "<br>";
  exports.NEW_LINE = NEW_LINE;

  var commonStyles = _reactNative.StyleSheet.create({
    container: {
      flex: 1
    },
    background: {
      backgroundColor: "rgb(242,242,242)"
    },
    full: {
      position: "absolute",
      top: 0,
      bottom: 0,
      left: 0,
      right: 0,
      overflow: "visible"
    },
    noShadow: {
      elevation: 0,
      shadowOffset: {
        width: 0,
        height: 0
      }
    },
    noMargin: {
      margin: 0
    },
    noPadding: {
      padding: 0
    },
    shadow: (0, _extends2.default)({}, _reactNative.Platform.select({
      android: {
        elevation: 2
      },
      default: {
        shadowColor: _$$_REQUIRE(_dependencyMap[3]).colors.black,
        shadowOffset: {
          width: 1,
          height: SHADOW_HEIGHT
        },
        shadowOpacity: 0.1,
        shadowRadius: 1
      }
    })),
    fullShadow: (0, _extends2.default)({}, _reactNative.Platform.select({
      android: {
        elevation: 2
      },
      default: {
        shadowColor: _$$_REQUIRE(_dependencyMap[3]).colors.black,
        shadowOffset: {
          width: 0,
          height: 1
        },
        shadowOpacity: 0.5,
        shadowRadius: 3
      }
    }), {
      backgroundColor: _reactNative.Platform.select({
        ios: _$$_REQUIRE(_dependencyMap[3]).colors.transparent,
        default: _$$_REQUIRE(_dependencyMap[3]).colors.white
      })
    }),
    darkShadow: (0, _extends2.default)({}, _reactNative.Platform.select({
      android: {
        elevation: 1
      },
      default: {
        zIndex: 1,
        shadowColor: _$$_REQUIRE(_dependencyMap[3]).colors.black,
        shadowOffset: {
          width: 0,
          height: 2
        },
        shadowOpacity: 0.5,
        shadowRadius: 5
      }
    })),
    darkThickShadow: (0, _extends2.default)({}, _reactNative.Platform.select({
      android: {
        elevation: 1
      },
      default: {
        shadowColor: _$$_REQUIRE(_dependencyMap[3]).colors.black,
        shadowOffset: {
          width: 0,
          height: 5
        },
        shadowOpacity: 0.5,
        shadowRadius: 1
      }
    })),
    shadowReset: (0, _extends2.default)({}, _reactNative.Platform.select({
      android: {},
      default: {
        shadowColor: _$$_REQUIRE(_dependencyMap[3]).colors.transparent,
        shadowOffset: {
          width: 0,
          height: 0
        },
        shadowOpacity: 0,
        shadowRadius: 0
      }
    })),
    selfCenter: {
      alignSelf: "center"
    },
    center: {
      textAlign: "center"
    },
    card: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[3]).colors.white,
      borderRadius: CARD_RADIUS,
      padding: CARD_PADDING,
      margin: CARD_MARGIN
    },
    modalContent: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[3]).colors.white,
      borderRadius: CARD_RADIUS,
      padding: CARD_PADDING,
      margin: CARD_MARGIN,
      overflow: "hidden"
    },
    margin: {
      margin: 5
    },
    radius: {
      borderRadius: CARD_RADIUS
    }
  });

  exports.commonStyles = commonStyles;
},990,[5,6,28,982]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.EventRegister = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classPrivateFieldLooseBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classPrivateFieldLooseKey2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _log3 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _Listeners = (0, _classPrivateFieldLooseKey2.default)("_Listeners");

  var _addEventListener = (0, _classPrivateFieldLooseKey2.default)("_addEventListener");

  var _removeEventListener = (0, _classPrivateFieldLooseKey2.default)("_removeEventListener");

  var _removeAllListeners = (0, _classPrivateFieldLooseKey2.default)("_removeAllListeners");

  var _emitEvent = (0, _classPrivateFieldLooseKey2.default)("_emitEvent");

  var _log = (0, _classPrivateFieldLooseKey2.default)("_log");

  var EventRegister = function () {
    function EventRegister() {
      (0, _classCallCheck2.default)(this, EventRegister);
    }

    (0, _createClass2.default)(EventRegister, null, [{
      key: "on",
      value: function on(eventName, callback) {
        return (0, _classPrivateFieldLooseBase2.default)(EventRegister, _addEventListener)[_addEventListener](eventName, callback);
      }
    }, {
      key: "rm",
      value: function rm(id) {
        return (0, _classPrivateFieldLooseBase2.default)(EventRegister, _removeEventListener)[_removeEventListener](id);
      }
    }, {
      key: "rmAll",
      value: function rmAll() {
        return (0, _classPrivateFieldLooseBase2.default)(EventRegister, _removeAllListeners)[_removeAllListeners]();
      }
    }, {
      key: "emit",
      value: function emit(eventName, data) {
        (0, _classPrivateFieldLooseBase2.default)(EventRegister, _emitEvent)[_emitEvent](eventName, data);
      }
    }]);
    return EventRegister;
  }();

  exports.EventRegister = EventRegister;

  function _addEventListener2(eventName, callback) {
    if (typeof eventName === "string" && typeof callback === "function") {
      (0, _classPrivateFieldLooseBase2.default)(EventRegister, _Listeners)[_Listeners].count += 1;

      var eventId = "l" + (0, _classPrivateFieldLooseBase2.default)(EventRegister, _Listeners)[_Listeners].count;

      (0, _classPrivateFieldLooseBase2.default)(EventRegister, _Listeners)[_Listeners].refs[eventId] = {
        name: eventName,
        callback: callback
      };
      return eventId;
    }

    return false;
  }

  function _removeEventListener2(id) {
    if (typeof id === "string") {
      (0, _classPrivateFieldLooseBase2.default)(EventRegister, _log)[_log]("EventsManager removing listener with id: " + id);

      return delete (0, _classPrivateFieldLooseBase2.default)(EventRegister, _Listeners)[_Listeners].refs[id];
    }

    return false;
  }

  function _removeAllListeners2() {
    var removeError = false;

    (0, _classPrivateFieldLooseBase2.default)(EventRegister, _log)[_log]("EventsManager remove all listener");

    Object.keys((0, _classPrivateFieldLooseBase2.default)(EventRegister, _Listeners)[_Listeners].refs).forEach(function (_id) {
      var removed = delete (0, _classPrivateFieldLooseBase2.default)(EventRegister, _Listeners)[_Listeners].refs[_id];
      removeError = !removeError ? !removed : removeError;
    });
    return !removeError;
  }

  function _emitEvent2(eventName, data) {
    (0, _classPrivateFieldLooseBase2.default)(EventRegister, _log)[_log]("EventsManager trying to emit event: " + eventName);

    Object.keys((0, _classPrivateFieldLooseBase2.default)(EventRegister, _Listeners)[_Listeners].refs).forEach(function (_id) {
      if ((0, _classPrivateFieldLooseBase2.default)(EventRegister, _Listeners)[_Listeners].refs[_id] && eventName === (0, _classPrivateFieldLooseBase2.default)(EventRegister, _Listeners)[_Listeners].refs[_id].name) {
        (0, _classPrivateFieldLooseBase2.default)(EventRegister, _log)[_log]("EventsManager emit event: " + eventName + ", listener: " + _id + ", callback: " + ((0, _classPrivateFieldLooseBase2.default)(EventRegister, _Listeners)[_Listeners].refs[_id].callback.name || "anonymous"));

        (0, _classPrivateFieldLooseBase2.default)(EventRegister, _Listeners)[_Listeners].refs[_id].callback(data);
      }
    });
  }

  function _log2(message) {
    if (EventRegister.debug) {
      _log3.default.debug(message);
    }
  }

  Object.defineProperty(EventRegister, _log, {
    value: _log2
  });
  Object.defineProperty(EventRegister, _emitEvent, {
    value: _emitEvent2
  });
  Object.defineProperty(EventRegister, _removeAllListeners, {
    value: _removeAllListeners2
  });
  Object.defineProperty(EventRegister, _removeEventListener, {
    value: _removeEventListener2
  });
  Object.defineProperty(EventRegister, _addEventListener, {
    value: _addEventListener2
  });
  Object.defineProperty(EventRegister, _Listeners, {
    writable: true,
    value: {
      count: 0,
      refs: {}
    }
  });
},991,[5,7,8,756,757,759]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _route2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _routeAction = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _routeEdition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _routeEditionsDate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _routeTabs = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _routeUrl = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _network = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _editionsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var RoutesHelper = function () {
    function RoutesHelper() {
      (0, _classCallCheck2.default)(this, RoutesHelper);
    }

    (0, _createClass2.default)(RoutesHelper, null, [{
      key: "getInitialRoute",
      value: function getInitialRoute() {
        var routes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        var routeName = arguments.length > 1 ? arguments[1] : undefined;

        if (routes.length) {
          for (var i = 0; i < routes.length; i++) {
            if (routes[i] instanceof _routeEdition.default) {
              var route = routes[i];

              if (route.getEdition().getName() === routeName) {
                return route;
              }
            } else if (routes[i] instanceof _routeUrl.default) {
              var _route = routes[i];

              if (_route.getRoute() === routeName) {
                return _route;
              }
            }

            var found = RoutesHelper.getInitialRoute(routes[i].getRoutes(), routeName);

            if (found) {
              routes[i].setCollapsed(false);
              return found;
            }
          }
        }

        return undefined;
      }
    }, {
      key: "getUrl",
      value: function getUrl(php, customUrl, customUrlTarget) {
        var newUrl = customUrl ? customUrl : "";
        var newTarget = customUrlTarget ? "_blank" : "";
        var params = (0, _extends2.default)({}, _liveConfig.default.urlParams(), {
          pSetup: _liveConfig.default.getPSetupName(),
          native: 1
        });

        if (php === "ipad_login.php") {
          params.fromOpt = 1;
        }

        if (newUrl) {
          if (newUrl[0] === "/") {
            newUrl = "" + _liveConfig.default.getServer() + newUrl;
          }

          newUrl = _network.default.addDefaultProtocol(newUrl);
          return {
            url: newUrl,
            target: newTarget
          };
        }

        var url = (0, _$$_REQUIRE(_dependencyMap[15]).addParamsToURL)("" + _liveConfig.default.getServer() + _liveConfig.default.getPSetup().optionsPageTabPath + php, params);

        if (_network.default.isHTTPS && url.indexOf("http:") > -1 && !newTarget) {
          newTarget = "_blank";
        }

        return {
          url: url,
          target: newTarget
        };
      }
    }, {
      key: "getMainRoute",
      value: function getMainRoute(editions) {
        var otherRoutes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];

        var _LiveConfig$getPSetup = _liveConfig.default.getPSetup(),
            orderNewsstandTabs = _LiveConfig$getPSetup.orderNewsstandTabs;

        var route = new _routeTabs.default(_liveConfig.default.getLocale().strings("str_newsstand"));
        route.setRoute(_$$_REQUIRE(_dependencyMap[16]).TABS.NEWSSTAND);
        var newsstandRoutes = [].concat((0, _toConsumableArray2.default)(RoutesHelper.getEditionRoutes(editions)), (0, _toConsumableArray2.default)(otherRoutes));

        if (orderNewsstandTabs.length > 0) {
          newsstandRoutes.sort(function (itemA, itemB) {
            var indexA = orderNewsstandTabs.indexOf(itemA.getRoute());

            if (indexA === -1) {
              indexA = orderNewsstandTabs.indexOf(itemA.getText());
            }

            var indexB = orderNewsstandTabs.indexOf(itemB.getRoute());

            if (indexB === -1) {
              indexB = orderNewsstandTabs.indexOf(itemB.getText());
            }

            return indexA - indexB;
          });
        }

        route.setRoutes(newsstandRoutes);

        var _LiveConfig$getSettin = _liveConfig.default.getSettings(),
            favoriteEdition = _LiveConfig$getSettin.favoriteEdition;

        if (favoriteEdition) {
          var isFavoriteEditionMain = editions.find(function (edition) {
            return edition.isMain() && edition.getName() === favoriteEdition;
          }) !== undefined;

          if (!isFavoriteEditionMain) {
            newsstandRoutes.forEach(function (newsstandRoute) {
              if (newsstandRoute instanceof _routeEdition.default && newsstandRoute.getEdition() && newsstandRoute.getEdition().getName() === favoriteEdition) {
                route.setInitialRouteName(favoriteEdition);
              }
            });
          }
        }

        return route;
      }
    }, {
      key: "getRoutes",
      value: function getRoutes(tabs) {
        var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
        var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "";
        var drawerRoutes = [];
        var tabsRoutes = [];
        Object.keys(tabs).forEach(function (key) {
          var _tabs$key = tabs[key],
              action = _tabs$key.action,
              php = _tabs$key.php,
              label = _tabs$key.label,
              customUrl = _tabs$key.customUrl,
              customUrlTarget = _tabs$key.customUrlTarget,
              showIfIsLoggedIn = _tabs$key.showIfIsLoggedIn,
              icon = _tabs$key.icon,
              isTabElement = _tabs$key.isTabElement;
          var mRoute;

          if (action) {
            mRoute = new _routeAction.default();
            mRoute.setAction(action);
          } else if (php || customUrl) {
            mRoute = new _routeUrl.default();

            var _RoutesHelper$getUrl = RoutesHelper.getUrl(php, customUrl, customUrlTarget),
                url = _RoutesHelper$getUrl.url,
                target = _RoutesHelper$getUrl.target;

            mRoute.setUrl(url);
            mRoute.setTarget(target);
          }

          if (mRoute) {
            mRoute.setRoute(key);
            mRoute.setLabel(label || key);
            mRoute.setIcon(icon);
            mRoute.setLevel(level);
            mRoute.setParent(parent);
            mRoute.setVisibleIfLoggedIn(showIfIsLoggedIn);
            mRoute.setCollapsed(true);

            if (isTabElement) {
              tabsRoutes.push(mRoute);
            } else {
              drawerRoutes.push(mRoute);
            }
          }
        });
        return {
          drawerRoutes: drawerRoutes,
          tabsRoutes: tabsRoutes
        };
      }
    }, {
      key: "makeEditionModel",
      value: function makeEditionModel(group, name) {
        var _LiveConfig$getSettin2 = _liveConfig.default.getSettings(),
            favoriteEdition = _LiveConfig$getSettin2.favoriteEdition;

        var mEdition = new _edition.default();
        mEdition.setGroup(group.sort(function (e1, e2) {
          if (favoriteEdition && e1.getName() === favoriteEdition) {
            return -1;
          }

          if (e1.isMain() && e2.isMain()) {
            return 0;
          }

          return e1.isMain() ? -1 : 1;
        }));
        mEdition.setName(name);
        return mEdition;
      }
    }, {
      key: "getEditionRoute",
      value: function getEditionRoute() {
        var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var mEdition = config.mEdition,
            routeName = config.routeName,
            label = config.label,
            _config$fixed = config.fixed,
            fixed = _config$fixed === undefined ? true : _config$fixed,
            _config$index = config.index,
            index = _config$index === undefined ? 0 : _config$index;
        var mRoute = new _routeEditionsDate.default();
        mRoute.setRoute(routeName);
        mRoute.setEdition(mEdition);
        mRoute.setLabel(label);
        mRoute.setIssueDayIndex(index);
        mRoute.setFixed(fixed);
        return mRoute;
      }
    }, {
      key: "getEditionRoutes",
      value: function getEditionRoutes(editions) {
        var _LiveConfig$getPSetup2 = _liveConfig.default.getPSetup(),
            newsstandTabs = _LiveConfig$getPSetup2.newsstandTabs,
            maxEditionsNotGrouped = _LiveConfig$getPSetup2.maxEditionsNotGrouped;

        var _LiveConfig$getSettin3 = _liveConfig.default.getSettings(),
            favoriteEdition = _LiveConfig$getSettin3.favoriteEdition;

        var routes = [];
        var mainEditions = editions.filter(function (edition) {
          return edition.isMain();
        });
        var mainEdition = favoriteEdition && editions.find(function (edition) {
          return edition.getName() === favoriteEdition;
        }) || mainEditions[0];
        newsstandTabs.forEach(function (tab) {
          if (tab === _$$_REQUIRE(_dependencyMap[16]).TABS.LATEST_EDITIONS) {
            routes.push(RoutesHelper.getEditionRoute({
              mEdition: RoutesHelper.makeEditionModel(editions, "latest_editions_group"),
              routeName: _$$_REQUIRE(_dependencyMap[16]).TABS.LATEST_EDITIONS,
              label: _liveConfig.default.getLocale().strings("str_latest")
            }));
          } else if (tab === _$$_REQUIRE(_dependencyMap[16]).TABS.CUSTOM_EDITIONS) {
            if (mainEdition) {
              routes.push(RoutesHelper.getEditionRoute({
                mEdition: RoutesHelper.makeEditionModel(editions, "custom_editions_group"),
                routeName: _$$_REQUIRE(_dependencyMap[16]).TABS.CUSTOM_EDITIONS,
                label: _liveConfig.default.getLocale().strings("str_today"),
                index: 0,
                fixed: false
              }));
            }
          } else if (tab === _$$_REQUIRE(_dependencyMap[16]).TABS.PENULTIMATE_EDITIONS) {
            if (mainEdition) {
              var dayIndex = 1;
              var dayIssue = mainEdition.getIssues()[dayIndex];

              if (dayIssue) {
                routes.push(RoutesHelper.getEditionRoute({
                  mEdition: RoutesHelper.makeEditionModel(editions, "custom_editions_group"),
                  routeName: _$$_REQUIRE(_dependencyMap[16]).TABS.PENULTIMATE_EDITIONS,
                  label: _editionsHelper.default.getIssueLabel(dayIssue),
                  index: dayIndex
                }));
              }
            }
          } else if (tab === _$$_REQUIRE(_dependencyMap[16]).TABS.OTHER_EDITIONS) {
            if (maxEditionsNotGrouped > -1 && maxEditionsNotGrouped < editions.length) {
              var mRoute = new _routeEdition.default();
              mRoute.setRoute(_$$_REQUIRE(_dependencyMap[16]).TABS.OTHER_EDITIONS);
              mRoute.setEdition(RoutesHelper.makeEditionModel(editions.filter(function (item) {
                return !item.isMain();
              }), "max_editions_grouped"));
              mRoute.setLabel(_liveConfig.default.getLocale().strings("grouped_editions"));
              routes.push(mRoute);
            } else {
              editions.forEach(function (edition) {
                if (!edition.isMain()) {
                  var _mRoute = new _routeEdition.default();

                  _mRoute.setRoute(_editionsHelper.default.getRouteName(edition.getName()));

                  _mRoute.setEdition(edition);

                  _mRoute.setLabel(edition.getLabel());

                  routes.push(_mRoute);
                }
              });
            }
          } else if (tab === _$$_REQUIRE(_dependencyMap[16]).TABS.ARCHIVE_EDITIONS) {
            var archiveEditions = [];

            if (mainEdition) {
              var issues = _editionsHelper.default.getAllIssuesForMainEditions(editions);

              for (var i = 0; i < issues.length; i++) {
                var editionIssues = [];
                editionIssues.push.apply(editionIssues, [issues[i]].concat((0, _toConsumableArray2.default)(_editionsHelper.default.getAllOtherIssuesForDate(editions.filter(function (edition) {
                  return !edition.isMain() && !edition.isSecondary() && edition.getName() !== mainEdition.getName();
                }), issues[i].getIssue()))));
                var edition = new _edition.default();
                edition.setIssues(editionIssues);
                edition.setLabel(issues[i].getDateLabel());
                edition.setName(issues[i].getEdition());
                archiveEditions.push(edition);
              }

              var mEdition = new _edition.default();
              mEdition.setIsMain(true);
              mEdition.setGroup(archiveEditions);
              mEdition.setName("archive_editions_group");
              var archive = new _routeEdition.default();
              archive.setEdition(mEdition);
              archive.setRoute(_$$_REQUIRE(_dependencyMap[16]).TABS.ARCHIVE_EDITIONS);
              archive.setLabel(_liveConfig.default.getLocale().strings("str_archive_editions"));
              routes.push(archive);
            }
          } else if (tab === _$$_REQUIRE(_dependencyMap[16]).TABS.DOWNLOADED_EDITIONS) {
            var downloadedIssues = _editionsHelper.default.getDownloadedIssues(editions);

            if (downloadedIssues.length) {
              var _mEdition = new _edition.default();

              _mEdition.setIssues(downloadedIssues);

              _mEdition.setName("downloaded_editions_group");

              var downloaded = new _routeEdition.default();
              downloaded.setEdition(_mEdition);
              downloaded.setRoute(_$$_REQUIRE(_dependencyMap[16]).TABS.DOWNLOADED_EDITIONS);
              downloaded.setLabel(_liveConfig.default.getLocale().strings("str_downloaded_editions"));
              routes.push(downloaded);
            }
          }
        });
        return routes;
      }
    }]);
    return RoutesHelper;
  }();

  var _default = RoutesHelper;
  exports.default = _default;
},992,[5,21,6,7,8,993,1114,1116,1117,1119,1120,1121,1122,769,1123,762,1000]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classPrivateFieldLooseBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _classPrivateFieldLooseKey2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  var _colors = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _localeConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _paperSetupConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _userConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _jsUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  var _initialProps = (0, _classPrivateFieldLooseKey2.default)("_initialProps");

  var _windowSize = (0, _classPrivateFieldLooseKey2.default)("_windowSize");

  var _get = (0, _classPrivateFieldLooseKey2.default)("_get");

  var _set = (0, _classPrivateFieldLooseKey2.default)("_set");

  var LiveConfig = function () {
    function LiveConfig() {
      (0, _classCallCheck2.default)(this, LiveConfig);
    }

    (0, _createClass2.default)(LiveConfig, null, [{
      key: "setInitialProps",
      value: function setInitialProps() {
        var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _initialProps)[_initialProps] = props;
        (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _windowSize)[_windowSize] = _reactNative.Dimensions.get("window");

        _reactNative.Dimensions.addEventListener("change", function (_ref) {
          var wSize = _ref.window;
          (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _windowSize)[_windowSize] = wSize;

          _$$_REQUIRE(_dependencyMap[12]).CssHelper.setWindowSize((0, _classPrivateFieldLooseBase2.default)(LiveConfig, _windowSize)[_windowSize]);
        });
      }
    }, {
      key: "addProps",
      value: function addProps() {
        var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _initialProps)[_initialProps] = (0, _extends2.default)({}, (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _initialProps)[_initialProps], props);

        var currentStyleState = _$$_REQUIRE(_dependencyMap[12]).CssHelper.get();

        if (_jsUtils.default.isEmpty(currentStyleState) || _jsUtils.default.isEmpty(currentStyleState.rnStyles)) {
          _$$_REQUIRE(_dependencyMap[12]).CssHelper.set({
            rnStyles: !LiveConfig.getPSetup().disableRnStyles ? LiveConfig.getPSetup().rnStyles : {},
            activeTheme: LiveConfig.getActiveTheme(),
            window: LiveConfig.getWindow(),
            isTablet: LiveConfig.isTablet(),
            isDark: LiveConfig.isDark(),
            isPortrait: LiveConfig.isPortrait()
          });
        } else {
          _$$_REQUIRE(_dependencyMap[12]).CssHelper.setWindowSize(LiveConfig.getWindow());
        }

        (0, _$$_REQUIRE(_dependencyMap[13]).init)({
          supportColor: LiveConfig.getSupportColor(),
          textColor: LiveConfig.getForegroundColor()
        });
      }
    }, {
      key: "getPSetupName",
      value: function getPSetupName() {
        var _classPrivateFieldLoo;

        return (_classPrivateFieldLoo = (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _get)[_get]("pSetup")) != null ? _classPrivateFieldLoo : "";
      }
    }, {
      key: "getMainPSetupName",
      value: function getMainPSetupName() {
        var pSetupName = LiveConfig.getPSetupName();

        if (pSetupName.indexOf("-xp-") !== -1) {
          var pSetupArray = pSetupName.split("-xp-");

          if (pSetupArray.length > 1) {
            return pSetupArray[0];
          }
        }

        return pSetupName;
      }
    }, {
      key: "getServer",
      value: function getServer() {
        var _classPrivateFieldLoo2;

        return (_classPrivateFieldLoo2 = (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _get)[_get]("server")) != null ? _classPrivateFieldLoo2 : "";
      }
    }, {
      key: "apiParams",
      value: function apiParams() {
        var _classPrivateFieldLoo3;

        return (_classPrivateFieldLoo3 = (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _get)[_get]("apiParams")) != null ? _classPrivateFieldLoo3 : "";
      }
    }, {
      key: "urlParams",
      value: function urlParams() {
        var _classPrivateFieldLoo4;

        return (_classPrivateFieldLoo4 = (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _get)[_get]("urlParams")) != null ? _classPrivateFieldLoo4 : "";
      }
    }, {
      key: "setUrlParams",
      value: function setUrlParams(urlParams) {
        (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _set)[_set]("urlParams", urlParams);
      }
    }, {
      key: "getEntryPoint",
      value: function getEntryPoint() {
        return (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _get)[_get]("entryPoint");
      }
    }, {
      key: "getProtocol",
      value: function getProtocol() {
        return (0, _$$_REQUIRE(_dependencyMap[14]).segmentURL)(LiveConfig.getServer()).getProtocol();
      }
    }, {
      key: "isTablet",
      value: function isTablet() {
        var _classPrivateFieldLoo5;

        return (_classPrivateFieldLoo5 = (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _get)[_get]("isTablet")) != null ? _classPrivateFieldLoo5 : false;
      }
    }, {
      key: "isDark",
      value: function isDark() {
        var _classPrivateFieldLoo6;

        return (_classPrivateFieldLoo6 = (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _get)[_get]("isDark")) != null ? _classPrivateFieldLoo6 : false;
      }
    }, {
      key: "getActiveTheme",
      value: function getActiveTheme() {
        var _classPrivateFieldLoo7;

        return (_classPrivateFieldLoo7 = (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _get)[_get]("cssActiveTheme")) != null ? _classPrivateFieldLoo7 : "";
      }
    }, {
      key: "setActiveTheme",
      value: function setActiveTheme(theme) {
        (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _set)[_set]("cssActiveTheme", theme);
      }
    }, {
      key: "isPortrait",
      value: function isPortrait() {
        return (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _windowSize)[_windowSize].width < (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _windowSize)[_windowSize].height;
      }
    }, {
      key: "getWindow",
      value: function getWindow() {
        return (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _windowSize)[_windowSize] || _reactNative.Dimensions.get("window");
      }
    }, {
      key: "isWideScreen",
      value: function isWideScreen() {
        return LiveConfig.getWindow().width > LiveConfig.getWindow().height * 1.3;
      }
    }, {
      key: "getAvailableHeight",
      value: function getAvailableHeight(defaultValue) {
        var value;

        try {
          var _ref2;

          value = (_ref2 = LiveConfig.getWindow().height - _$$_REQUIRE(_dependencyMap[15]).HEADER_HEIGHT) != null ? _ref2 : defaultValue;
        } catch (e) {
          value = defaultValue;
        }

        return value;
      }
    }, {
      key: "getPSetup",
      value: function getPSetup() {
        return (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _get)[_get]("mPSetup") || new _paperSetupConfig.default();
      }
    }, {
      key: "getLocale",
      value: function getLocale() {
        return (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _get)[_get]("mLocale") || new _localeConfig.default();
      }
    }, {
      key: "getSettings",
      value: function getSettings() {
        return (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _get)[_get]("mUserSettings") || new _userConfig.default();
      }
    }, {
      key: "getSupportColor",
      value: function getSupportColor() {
        var style = _$$_REQUIRE(_dependencyMap[12]).CssHelper.getStyleObjByCssClasses(["opt-main-header"]);

        return style.backgroundColor || (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _get)[_get]("supportColor") || _colors.colors.black;
      }
    }, {
      key: "getForegroundColor",
      value: function getForegroundColor() {
        var style = _$$_REQUIRE(_dependencyMap[12]).CssHelper.getStyleObjByCssClasses(["opt-main-header"]);

        return style.color || (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _get)[_get]("foregroundColor") || _colors.default.determineTextColor(LiveConfig.getSupportColor());
      }
    }, {
      key: "setThumbnailSize",
      value: function setThumbnailSize(size) {}
    }, {
      key: "getCustomUserAgent",
      value: function getCustomUserAgent() {
        return (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _get)[_get]("customUserAgent");
      }
    }]);
    return LiveConfig;
  }();

  exports.default = LiveConfig;

  function _get2(prop) {
    return (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _initialProps)[_initialProps] ? (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _initialProps)[_initialProps][prop] : undefined;
  }

  function _set2(prop, value) {
    if ((0, _classPrivateFieldLooseBase2.default)(LiveConfig, _initialProps)[_initialProps]) {
      (0, _classPrivateFieldLooseBase2.default)(LiveConfig, _initialProps)[_initialProps][prop] = value;
    }
  }

  Object.defineProperty(LiveConfig, _set, {
    value: _set2
  });
  Object.defineProperty(LiveConfig, _get, {
    value: _get2
  });
  LiveConfig.WebViewComponent = undefined;
  Object.defineProperty(LiveConfig, _initialProps, {
    writable: true,
    value: {}
  });
  Object.defineProperty(LiveConfig, _windowSize, {
    writable: true,
    value: {}
  });
},993,[5,6,7,8,756,757,28,982,994,998,1111,764,987,1113,762,990]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _classPrivateFieldLooseBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _classPrivateFieldLooseKey2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _date = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _network = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _localeHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _log = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _paperSetupConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _language = (0, _classPrivateFieldLooseKey2.default)("_language");

  var _locale = (0, _classPrivateFieldLooseKey2.default)("_locale");

  var _getLanguage = (0, _classPrivateFieldLooseKey2.default)("_getLanguage");

  var _getCurrentLocale = (0, _classPrivateFieldLooseKey2.default)("_getCurrentLocale");

  var _initLocale = (0, _classPrivateFieldLooseKey2.default)("_initLocale");

  var LocaleConfig = function () {
    function LocaleConfig() {
      (0, _classCallCheck2.default)(this, LocaleConfig);
      Object.defineProperty(this, _initLocale, {
        value: _initLocale2
      });
      Object.defineProperty(this, _getCurrentLocale, {
        value: _getCurrentLocale2
      });
      Object.defineProperty(this, _getLanguage, {
        value: _getLanguage2
      });
      Object.defineProperty(this, _language, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _locale, {
        writable: true,
        value: undefined
      });
      (0, _classPrivateFieldLooseBase2.default)(this, _locale)[_locale] = {};
    }

    (0, _createClass2.default)(LocaleConfig, [{
      key: "init",
      value: function init(pSetup) {
        var languagePackOverride,
            language,
            paper,
            customLanguagePackFileTime,
            languagePack,
            lastCustomLanguagePackFileTime,
            _args = arguments;
        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                languagePackOverride = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
                language = pSetup.language, paper = pSetup.paper, customLanguagePackFileTime = pSetup.customLanguagePackFileTime;

                _log.default.debug("Initializing locale: " + language + ", fileTime: " + customLanguagePackFileTime);

                (0, _classPrivateFieldLooseBase2.default)(this, _language)[_language] = language;

                (0, _classPrivateFieldLooseBase2.default)(this, _initLocale)[_initLocale]();

                _localeHelper.default.setStorageName(paper);

                _context.next = 8;
                return _regenerator.default.awrap(_localeHelper.default.getLanguagePack());

              case 8:
                languagePack = _context.sent;
                _context.next = 11;
                return _regenerator.default.awrap(_localeHelper.default.getFiletime());

              case 11:
                lastCustomLanguagePackFileTime = _context.sent;

                if (!(_network.default.isOnline() && customLanguagePackFileTime > -1 && customLanguagePackFileTime > lastCustomLanguagePackFileTime)) {
                  _context.next = 25;
                  break;
                }

                _context.prev = 13;

                _log.default.debug("Downloading new language pack");

                _context.next = 17;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[12]).getLanguagePack)());

              case 17:
                languagePack = _context.sent;
                _context.next = 23;
                break;

              case 20:
                _context.prev = 20;
                _context.t0 = _context["catch"](13);

                _log.default.warn(_context.t0.message);

              case 23:
                _context.next = 26;
                break;

              case 25:
                if (customLanguagePackFileTime === -1) {
                  languagePack = {};
                }

              case 26:
                (0, _classPrivateFieldLooseBase2.default)(this, _locale)[_locale] = (0, _extends2.default)({}, languagePack, languagePackOverride);

                _localeHelper.default.setFiletime(customLanguagePackFileTime);

                _localeHelper.default.setLanguagePack((0, _classPrivateFieldLooseBase2.default)(this, _locale)[_locale]);

              case 29:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[13, 20]], Promise);
      }
    }, {
      key: "date",
      value: function date(time) {
        return _date.default.fromNow(time);
      }
    }, {
      key: "formattedDate",
      value: function formattedDate(str, format) {
        return _date.default.fromNow(str, format);
      }
    }, {
      key: "strings",
      value: function strings(name) {
        var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

        var string = (0, _classPrivateFieldLooseBase2.default)(this, _locale)[_locale][name];

        if (string) {
          string = Object.keys(params).reduce(function (result, key) {
            return result.replace("{{" + key + "}}", params[key]);
          }, string);
        }

        var fallback = (0, _$$_REQUIRE(_dependencyMap[13]).i18nTxt)(name, params);
        return string || fallback;
      }
    }]);
    return LocaleConfig;
  }();

  function _getLanguage2() {
    return (0, _classPrivateFieldLooseBase2.default)(this, _language)[_language];
  }

  function _getCurrentLocale2() {
    if ((0, _classPrivateFieldLooseBase2.default)(this, _language)[_language]) {
      if ((0, _classPrivateFieldLooseBase2.default)(this, _language)[_language] >= 0 && (0, _classPrivateFieldLooseBase2.default)(this, _language)[_language] < _$$_REQUIRE(_dependencyMap[13]).SUPPORTED_LANGUAGES.length) {
        _log.default.debug("Using locale: " + _$$_REQUIRE(_dependencyMap[13]).SUPPORTED_LANGUAGES[(0, _classPrivateFieldLooseBase2.default)(this, _language)[_language]]);

        return _$$_REQUIRE(_dependencyMap[13]).SUPPORTED_LANGUAGES[(0, _classPrivateFieldLooseBase2.default)(this, _language)[_language]];
      }
    }

    _log.default.debug("Using default locale: " + _$$_REQUIRE(_dependencyMap[13]).SUPPORTED_LANGUAGES[0]);

    return _$$_REQUIRE(_dependencyMap[13]).SUPPORTED_LANGUAGES[0];
  }

  function _initLocale2() {
    (0, _$$_REQUIRE(_dependencyMap[13]).i18nInit)((0, _classPrivateFieldLooseBase2.default)(this, _getCurrentLocale)[_getCurrentLocale]());

    _date.default.initMomentLocale((0, _$$_REQUIRE(_dependencyMap[13]).i18nLocale)());
  }

  var _default = LocaleConfig;
  exports.default = _default;
},994,[5,80,6,7,8,756,757,995,769,996,759,998,755,1093]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _moment = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var DateUtils = function () {
    function DateUtils() {
      (0, _classCallCheck2.default)(this, DateUtils);
    }

    (0, _createClass2.default)(DateUtils, null, [{
      key: "strToDate",
      value: function strToDate(issue) {
        var pattern = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "YYYYMMDD";
        return (0, _moment.default)(issue, pattern).toDate();
      }
    }, {
      key: "formatDate",
      value: function formatDate(date) {
        var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "YYYYMMDD";
        return (0, _moment.default)(date).format(format);
      }
    }, {
      key: "fromNow",
      value: function fromNow(value, format) {
        if (format && typeof value === "string") {
          return (0, _moment.default)(value, format).fromNow();
        }

        return _moment.default.unix(value).fromNow();
      }
    }, {
      key: "getYesterdayString",
      value: function getYesterdayString(pattern) {
        return (0, _moment.default)().subtract(1, "day").format(pattern);
      }
    }, {
      key: "initMomentLocale",
      value: function initMomentLocale(locale) {
        if (locale.indexOf("ar") === 0) {
          _$$_REQUIRE(_dependencyMap[4]);

          _moment.default.locale("ar");
        } else if (locale.indexOf("it") === 0) {
          _$$_REQUIRE(_dependencyMap[5]);

          _moment.default.locale("it");
        } else if (locale.indexOf("da") === 0) {
          _$$_REQUIRE(_dependencyMap[6]);

          _moment.default.locale("da");
        } else if (locale.indexOf("de") === 0) {
          _$$_REQUIRE(_dependencyMap[7]);

          _moment.default.locale("de");
        } else if (locale.indexOf("fr-FR") === 0) {
          _$$_REQUIRE(_dependencyMap[8]);

          _moment.default.locale("fr");
        } else if (locale.indexOf("nl-NL") === 0) {
          _$$_REQUIRE(_dependencyMap[9]);

          _moment.default.locale("nl");
        } else if (locale.indexOf("es-ES") === 0) {
          _$$_REQUIRE(_dependencyMap[10]);

          _moment.default.locale("es");
        } else if (locale.indexOf("ro-RO") === 0) {
          _$$_REQUIRE(_dependencyMap[11]);

          _moment.default.locale("ro");
        } else if (locale.indexOf("sv") === 0) {
          _$$_REQUIRE(_dependencyMap[12]);

          _moment.default.locale("sv");
        } else if (locale.indexOf("pt-PT") === 0) {
          _$$_REQUIRE(_dependencyMap[13]);

          _moment.default.locale("pt");
        } else if (locale.indexOf("pt-BR") === 0) {
          _$$_REQUIRE(_dependencyMap[14]);

          _moment.default.locale("pt-br");
        } else if (locale.indexOf("nl-BE") === 0) {
          _$$_REQUIRE(_dependencyMap[15]);

          _moment.default.locale("nl-be");
        } else if (locale.indexOf("nn-NO") === 0) {
          _$$_REQUIRE(_dependencyMap[16]);

          _moment.default.locale("nn");
        } else if (locale.indexOf("nb-NO") === 0) {
          _$$_REQUIRE(_dependencyMap[17]);

          _moment.default.locale("nb");
        } else if (locale.indexOf("sl") === 0) {
          _$$_REQUIRE(_dependencyMap[18]);

          _moment.default.locale("sl");
        } else {
          _moment.default.locale("en");
        }
      }
    }]);
    return DateUtils;
  }();

  exports.default = DateUtils;
},995,[5,7,8,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _storage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var LANGUAGE_PACK_BASE_STORAGE_NAME = "languagePack";

  var LocaleHelper = function () {
    function LocaleHelper() {
      (0, _classCallCheck2.default)(this, LocaleHelper);
    }

    (0, _createClass2.default)(LocaleHelper, null, [{
      key: "setStorageName",
      value: function setStorageName(prefix) {
        var storageName = LANGUAGE_PACK_BASE_STORAGE_NAME;

        if (prefix) {
          storageName = prefix + "_" + storageName;
        }

        LocaleHelper.SP.name = storageName;
      }
    }, {
      key: "getItem",
      value: function getItem(key) {
        return _regenerator.default.async(function getItem$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", _storage.default.getItem(LocaleHelper.SP.name, key));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setItem",
      value: function setItem(key, value) {
        return _regenerator.default.async(function setItem$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.next = 2;
                return _regenerator.default.awrap(_storage.default.setItem(LocaleHelper.SP.name, key, value));

              case 2:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getFiletime",
      value: function getFiletime() {
        var filetime;
        return _regenerator.default.async(function getFiletime$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _context3.t0 = parseInt;
                _context3.next = 3;
                return _regenerator.default.awrap(LocaleHelper.getItem(LocaleHelper.SP.keys.filetime));

              case 3:
                _context3.t1 = _context3.sent;

                if (_context3.t1) {
                  _context3.next = 6;
                  break;
                }

                _context3.t1 = -1;

              case 6:
                _context3.t2 = _context3.t1;
                filetime = (0, _context3.t0)(_context3.t2, 10);
                return _context3.abrupt("return", filetime);

              case 9:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setFiletime",
      value: function setFiletime(filetime) {
        return _regenerator.default.async(function setFiletime$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                return _context4.abrupt("return", LocaleHelper.setItem(LocaleHelper.SP.keys.filetime, "" + filetime));

              case 1:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getLanguagePack",
      value: function getLanguagePack() {
        var strings;
        return _regenerator.default.async(function getLanguagePack$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                _context5.next = 2;
                return _regenerator.default.awrap(LocaleHelper.getItem(LocaleHelper.SP.keys.strings));

              case 2:
                strings = _context5.sent;

                if (!strings) {
                  _context5.next = 10;
                  break;
                }

                _context5.prev = 4;
                return _context5.abrupt("return", JSON.parse(strings));

              case 8:
                _context5.prev = 8;
                _context5.t0 = _context5["catch"](4);

              case 10:
                return _context5.abrupt("return", {});

              case 11:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, [[4, 8]], Promise);
      }
    }, {
      key: "setLanguagePack",
      value: function setLanguagePack(strings) {
        return _regenerator.default.async(function setLanguagePack$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                return _context6.abrupt("return", LocaleHelper.setItem(LocaleHelper.SP.keys.strings, JSON.stringify(strings)));

              case 1:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return LocaleHelper;
  }();

  exports.default = LocaleHelper;
  LocaleHelper.SP = {
    name: LANGUAGE_PACK_BASE_STORAGE_NAME,
    keys: {
      strings: "strings",
      filetime: "filetime"
    }
  };
},996,[5,80,7,8,997]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classPrivateFieldLooseBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _classPrivateFieldLooseKey2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _asyncStorage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _promiseQueue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _log = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _queue = (0, _classPrivateFieldLooseKey2.default)("_queue");

  var _appendNameToKey = (0, _classPrivateFieldLooseKey2.default)("_appendNameToKey");

  var Storage = function () {
    function Storage() {
      (0, _classCallCheck2.default)(this, Storage);
    }

    (0, _createClass2.default)(Storage, null, [{
      key: "setItem",
      value: function setItem(name, key, value) {
        var namedKey;
        return _regenerator.default.async(function setItem$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.prev = 0;
                namedKey = (0, _classPrivateFieldLooseBase2.default)(Storage, _appendNameToKey)[_appendNameToKey](name, key);
                _context.next = 4;
                return _regenerator.default.awrap(_asyncStorage.default.setItem(namedKey, value));

              case 4:
                _context.next = 9;
                break;

              case 6:
                _context.prev = 6;
                _context.t0 = _context["catch"](0);

                _log.default.warn("Failed to setItem " + key + " => " + value + " due to error " + _context.t0.message);

              case 9:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[0, 6]], Promise);
      }
    }, {
      key: "multiSet",
      value: function multiSet(name, data) {
        var toSet;
        return _regenerator.default.async(function multiSet$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.prev = 0;
                toSet = Object.keys(data).map(function (key) {
                  var namedKey = (0, _classPrivateFieldLooseBase2.default)(Storage, _appendNameToKey)[_appendNameToKey](name, key);

                  return [namedKey, Array.isArray(data[key]) ? JSON.stringify(data[key]) : "" + data[key]];
                });
                _context2.next = 4;
                return _regenerator.default.awrap(_asyncStorage.default.multiSet(toSet));

              case 4:
                _context2.next = 9;
                break;

              case 6:
                _context2.prev = 6;
                _context2.t0 = _context2["catch"](0);

                _log.default.warn("Failed to arrays " + _context2.t0.message);

              case 9:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, [[0, 6]], Promise);
      }
    }, {
      key: "multiGet",
      value: function multiGet(name, editCallback) {
        var result, keys;
        return _regenerator.default.async(function multiGet$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                result = {};
                _context3.prev = 1;
                _context3.next = 4;
                return _regenerator.default.awrap(_asyncStorage.default.getAllKeys());

              case 4:
                keys = _context3.sent.filter(function (key) {
                  return key.includes("@" + name + ":");
                });
                _context3.next = 7;
                return _regenerator.default.awrap(_asyncStorage.default.multiGet(keys));

              case 7:
                result = _context3.sent.reduce(function (multiGet, item) {
                  multiGet[item[0].replace("@" + name + ":", "")] = editCallback ? editCallback(item[1]) : item[1];
                  return multiGet;
                }, {});
                _context3.next = 13;
                break;

              case 10:
                _context3.prev = 10;
                _context3.t0 = _context3["catch"](1);

                _log.default.warn("Failed to get all " + _context3.t0.message);

              case 13:
                return _context3.abrupt("return", result);

              case 14:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, [[1, 10]], Promise);
      }
    }, {
      key: "getItem",
      value: function getItem(name, key) {
        var result, namedKey;
        return _regenerator.default.async(function getItem$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                result = "";
                _context4.prev = 1;

                if (!key) {
                  _context4.next = 7;
                  break;
                }

                namedKey = (0, _classPrivateFieldLooseBase2.default)(Storage, _appendNameToKey)[_appendNameToKey](name, key);
                _context4.next = 6;
                return _regenerator.default.awrap(_asyncStorage.default.getItem(namedKey));

              case 6:
                result = _context4.sent;

              case 7:
                _context4.next = 12;
                break;

              case 9:
                _context4.prev = 9;
                _context4.t0 = _context4["catch"](1);

                _log.default.warn("Failed to getItem " + key + " due to error " + _context4.t0.message);

              case 12:
                return _context4.abrupt("return", result);

              case 13:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, [[1, 9]], Promise);
      }
    }, {
      key: "clear",
      value: function clear(name, key) {
        return _regenerator.default.async(function clear$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                _context5.prev = 0;
                _context5.next = 3;
                return _regenerator.default.awrap(_asyncStorage.default.removeItem((0, _classPrivateFieldLooseBase2.default)(Storage, _appendNameToKey)[_appendNameToKey](name, key)));

              case 3:
                _context5.next = 8;
                break;

              case 5:
                _context5.prev = 5;
                _context5.t0 = _context5["catch"](0);

                _log.default.warn("Failed to delete " + key + " > " + _context5.t0.message);

              case 8:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, [[0, 5]], Promise);
      }
    }, {
      key: "clearAll",
      value: function clearAll(name) {
        var keys;
        return _regenerator.default.async(function clearAll$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                _context6.prev = 0;
                _context6.next = 3;
                return _regenerator.default.awrap(_asyncStorage.default.getAllKeys());

              case 3:
                keys = _context6.sent.filter(function (key) {
                  return key.includes("@" + name + ":");
                });
                _context6.next = 6;
                return _regenerator.default.awrap(_asyncStorage.default.multiRemove(keys));

              case 6:
                _context6.next = 11;
                break;

              case 8:
                _context6.prev = 8;
                _context6.t0 = _context6["catch"](0);

                _log.default.warn("Failed to delete all from " + name + " > " + _context6.t0.message);

              case 11:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, [[0, 8]], Promise);
      }
    }, {
      key: "clearAllByKeys",
      value: function clearAllByKeys(name, keys) {
        var namedkeys;
        return _regenerator.default.async(function clearAllByKeys$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                _context7.prev = 0;
                namedkeys = keys.map(function (key) {
                  return "@" + name + ":" + key;
                });
                _context7.next = 4;
                return _regenerator.default.awrap(_asyncStorage.default.multiRemove(namedkeys));

              case 4:
                _context7.next = 9;
                break;

              case 6:
                _context7.prev = 6;
                _context7.t0 = _context7["catch"](0);

                _log.default.warn("Failed to delete all from " + name + " > " + _context7.t0.message);

              case 9:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, [[0, 6]], Promise);
      }
    }, {
      key: "clearAllByRegExp",
      value: function clearAllByRegExp(name) {
        var keys;
        return _regenerator.default.async(function clearAllByRegExp$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                _context8.prev = 0;
                _context8.next = 3;
                return _regenerator.default.awrap(_asyncStorage.default.getAllKeys());

              case 3:
                keys = _context8.sent.filter(function (key) {
                  return !!key.match("@" + name + ":");
                });
                _context8.next = 6;
                return _regenerator.default.awrap(_asyncStorage.default.multiRemove(keys));

              case 6:
                _context8.next = 11;
                break;

              case 8:
                _context8.prev = 8;
                _context8.t0 = _context8["catch"](0);

                _log.default.warn("Failed to delete all from " + name + " > " + _context8.t0.message);

              case 11:
              case "end":
                return _context8.stop();
            }
          }
        }, null, null, [[0, 8]], Promise);
      }
    }]);
    return Storage;
  }();

  exports.default = Storage;

  function _appendNameToKey2(name, key) {
    return "@" + name + ":" + key;
  }

  Object.defineProperty(Storage, _appendNameToKey, {
    value: _appendNameToKey2
  });
  Object.defineProperty(Storage, _queue, {
    writable: true,
    value: new _promiseQueue.default(1, Infinity)
  });
},997,[5,80,7,8,756,757,561,567,759]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _classPrivateFieldLooseBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _classPrivateFieldLooseKey2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _paperSetupHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _jsUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _log = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _storage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var keys = _paperSetupHelper.default.SP.keys;

  var _json = (0, _classPrivateFieldLooseKey2.default)("_json");

  var _storageKey = (0, _classPrivateFieldLooseKey2.default)("_storageKey");

  var _pSetup = (0, _classPrivateFieldLooseKey2.default)("_pSetup");

  var _setValue = (0, _classPrivateFieldLooseKey2.default)("_setValue");

  var _getValue = (0, _classPrivateFieldLooseKey2.default)("_getValue");

  var PaperSetupConfig = function () {
    function PaperSetupConfig(pSetup) {
      (0, _classCallCheck2.default)(this, PaperSetupConfig);
      Object.defineProperty(this, _getValue, {
        value: _getValue2
      });
      Object.defineProperty(this, _setValue, {
        value: _setValue2
      });
      Object.defineProperty(this, _json, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _storageKey, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _pSetup, {
        writable: true,
        value: undefined
      });
      this.paper = undefined;
      this.machine = undefined;
      this.defaultSelectedEditions = undefined;
      this.language = undefined;
      this.pSetupFileTime = -1;
      this.maxEditionsNotGrouped = 1;
      this.customLanguagePackFileTime = -1;
      this.showThemesCustomization = false;
      this.disableRnStyles = true;
      this.showEntireMainIssue = false;
      this.rnStyles = {};
      this.optionsPageTabPath = "";
      this.tabs = [];
      this.orderEditions = [];
      this.loggedInTabs = [];
      this.sortingTabs = [];
      this.newsstandTabs = [];
      this.orderNewsstandTabs = [];
      this.xpaperUniversalLinks = {};
      this.remapEdition = {};
      (0, _classPrivateFieldLooseBase2.default)(this, _pSetup)[_pSetup] = pSetup;
      (0, _classPrivateFieldLooseBase2.default)(this, _storageKey)[_storageKey] = "opt-" + pSetup;
    }

    (0, _createClass2.default)(PaperSetupConfig, [{
      key: "download",
      value: function download() {
        var _this = this;

        var pSetupOverride,
            json,
            _args = arguments;
        return _regenerator.default.async(function download$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                pSetupOverride = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};

                _log.default.debug("Loading pSetup " + (0, _classPrivateFieldLooseBase2.default)(this, _pSetup)[_pSetup]);

                _context.prev = 2;
                _context.next = 5;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[11]).getPSetup)({
                  pSetup: (0, _classPrivateFieldLooseBase2.default)(this, _pSetup)[_pSetup]
                }));

              case 5:
                json = _context.sent;
                _context.next = 11;
                break;

              case 8:
                _context.prev = 8;
                _context.t0 = _context["catch"](2);

                _log.default.warn(_context.t0.message);

              case 11:
                if (!json) {
                  _context.next = 17;
                  break;
                }

                _log.default.debug("Clear previous stored pSetup values");

                (0, _classPrivateFieldLooseBase2.default)(this, _json)[_json] = (0, _extends2.default)({}, json, pSetupOverride);

                _storage.default.clearAll((0, _classPrivateFieldLooseBase2.default)(this, _storageKey)[_storageKey]).then(function () {
                  return _storage.default.multiSet((0, _classPrivateFieldLooseBase2.default)(_this, _storageKey)[_storageKey], (0, _classPrivateFieldLooseBase2.default)(_this, _json)[_json]);
                });

                _context.next = 20;
                break;

              case 17:
                _context.next = 19;
                return _regenerator.default.awrap(_storage.default.multiGet((0, _classPrivateFieldLooseBase2.default)(this, _storageKey)[_storageKey]));

              case 19:
                (0, _classPrivateFieldLooseBase2.default)(this, _json)[_json] = _context.sent;

              case 20:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[2, 8]], Promise);
      }
    }, {
      key: "init",
      value: function init() {
        var tempValue, _tempValue, rnStyleRaw, xpaperUniversalLinksRaw, remapEditionRaw;

        return _regenerator.default.async(function init$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _log.default.debug("Initializing pSetup " + (0, _classPrivateFieldLooseBase2.default)(this, _pSetup)[_pSetup]);

                _context2.prev = 1;
                _context2.next = 4;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](keys.paper));

              case 4:
                this.paper = _context2.sent;
                _context2.next = 7;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](keys.machine));

              case 7:
                this.machine = _context2.sent;
                _context2.next = 10;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](keys.default_selected_editions));

              case 10:
                this.defaultSelectedEditions = _context2.sent;
                _context2.t0 = parseInt;
                _context2.next = 14;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](keys.custom_language_pack_file_time));

              case 14:
                _context2.t1 = _context2.sent;

                if (_context2.t1) {
                  _context2.next = 17;
                  break;
                }

                _context2.t1 = -1;

              case 17:
                _context2.t2 = _context2.t1;
                this.customLanguagePackFileTime = (0, _context2.t0)(_context2.t2, 10);
                _context2.t3 = parseInt;
                _context2.next = 22;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](keys.file_time));

              case 22:
                _context2.t4 = _context2.sent;

                if (_context2.t4) {
                  _context2.next = 25;
                  break;
                }

                _context2.t4 = -1;

              case 25:
                _context2.t5 = _context2.t4;
                this.pSetupFileTime = (0, _context2.t3)(_context2.t5, 10);
                _context2.next = 29;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](keys.language));

              case 29:
                this.language = _context2.sent;
                _context2.next = 32;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](keys.disable_rn_styles));

              case 32:
                _context2.t6 = _context2.sent;
                this.disableRnStyles = _context2.t6 === "1";
                _context2.next = 36;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](keys.show_entire_main_issue));

              case 36:
                _context2.t7 = _context2.sent;
                this.showEntireMainIssue = _context2.t7 === "1";
                _context2.next = 40;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](keys.show_themes_customization));

              case 40:
                _context2.t8 = _context2.sent;
                this.showThemesCustomization = _context2.t8 === "1";
                _context2.next = 44;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](keys.logo_url));

              case 44:
                this.logoUrl = _context2.sent;
                _context2.next = 47;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](keys.options_page_tab_path));

              case 47:
                this.optionsPageTabPath = _context2.sent;
                _context2.t9 = parseInt;
                _context2.next = 51;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](keys.max_editions_not_grouped));

              case 51:
                _context2.t10 = _context2.sent;

                if (_context2.t10) {
                  _context2.next = 54;
                  break;
                }

                _context2.t10 = "1";

              case 54:
                _context2.t11 = _context2.t10;
                this.maxEditionsNotGrouped = (0, _context2.t9)(_context2.t11, 10);
                _context2.prev = 56;
                _context2.t12 = JSON;
                _context2.next = 60;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](keys.tabs));

              case 60:
                _context2.t13 = _context2.sent;
                this.tabs = _context2.t12.parse.call(_context2.t12, _context2.t13);
                _context2.next = 68;
                break;

              case 64:
                _context2.prev = 64;
                _context2.t14 = _context2["catch"](56);

                _log.default.warn(_context2.t14.message);

                this.tabs = [];

              case 68:
                _context2.prev = 68;
                _context2.next = 71;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](keys.order_editions));

              case 71:
                tempValue = _context2.sent;

                if (tempValue) {
                  this.orderEditions = tempValue.split(",");
                }

                _context2.next = 78;
                break;

              case 75:
                _context2.prev = 75;
                _context2.t15 = _context2["catch"](68);
                this.orderEditions = [];

              case 78:
                _context2.prev = 78;
                _context2.t16 = JSON;
                _context2.next = 82;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](keys.logged_in_tabs));

              case 82:
                _context2.t17 = _context2.sent;
                this.loggedInTabs = _context2.t16.parse.call(_context2.t16, _context2.t17);
                _context2.next = 89;
                break;

              case 86:
                _context2.prev = 86;
                _context2.t18 = _context2["catch"](78);

                _log.default.debug(_context2.t18.message);

              case 89:
                _context2.prev = 89;
                _context2.t19 = JSON;
                _context2.next = 93;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](keys.sorting_tabs));

              case 93:
                _context2.t20 = _context2.sent;
                this.sortingTabs = _context2.t19.parse.call(_context2.t19, _context2.t20);
                _context2.next = 100;
                break;

              case 97:
                _context2.prev = 97;
                _context2.t21 = _context2["catch"](89);

                _log.default.debug(_context2.t21.message);

              case 100:
                _context2.prev = 100;
                _context2.t22 = JSON;
                _context2.next = 104;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](keys.newsstand_tabs));

              case 104:
                _context2.t23 = _context2.sent;
                this.newsstandTabs = _context2.t22.parse.call(_context2.t22, _context2.t23);
                _context2.next = 112;
                break;

              case 108:
                _context2.prev = 108;
                _context2.t24 = _context2["catch"](100);

                _log.default.debug(_context2.t24.message);

                this.newsstandTabs = [_$$_REQUIRE(_dependencyMap[12]).TABS.CUSTOM_EDITIONS, _$$_REQUIRE(_dependencyMap[12]).TABS.OTHER_EDITIONS, _$$_REQUIRE(_dependencyMap[12]).TABS.ARCHIVE_EDITIONS, _$$_REQUIRE(_dependencyMap[12]).TABS.DOWNLOADED_EDITIONS];

              case 112:
                _context2.prev = 112;
                _context2.next = 115;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](keys.order_newsstand_tabs));

              case 115:
                _tempValue = _context2.sent;

                if (_tempValue) {
                  this.orderNewsstandTabs = _tempValue.split(",");
                }

                _context2.next = 122;
                break;

              case 119:
                _context2.prev = 119;
                _context2.t25 = _context2["catch"](112);
                this.orderNewsstandTabs = [];

              case 122:
                _context2.next = 124;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](keys.rn_styles));

              case 124:
                rnStyleRaw = _context2.sent;

                if (rnStyleRaw) {
                  try {
                    this.rnStyles = JSON.parse(rnStyleRaw);
                  } catch (e) {
                    _log.default.warn("failed to parse rn styles from action message");
                  }
                } else {
                  _log.default.debug("No custom rn styles provided with action message");
                }

                _context2.next = 128;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](keys.xpaper_universal_links));

              case 128:
                xpaperUniversalLinksRaw = _context2.sent;

                if (xpaperUniversalLinksRaw) {
                  try {
                    this.xpaperUniversalLinks = JSON.parse(xpaperUniversalLinksRaw);
                  } catch (e) {
                    _log.default.warn("failed to parse xpaper univwersal links from action message");
                  }
                }

                _context2.next = 132;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](keys.remap_edition));

              case 132:
                remapEditionRaw = _context2.sent;

                if (remapEditionRaw) {
                  try {
                    this.remapEdition = JSON.parse(remapEditionRaw);
                  } catch (e) {
                    _log.default.warn("failed to parse remap editions from action message");
                  }
                }

                return _context2.abrupt("return", true);

              case 137:
                _context2.prev = 137;
                _context2.t26 = _context2["catch"](1);

                _log.default.warn(_context2.t26.message);

              case 140:
                return _context2.abrupt("return", false);

              case 141:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, [[1, 137], [56, 64], [68, 75], [78, 86], [89, 97], [100, 108], [112, 119]], Promise);
      }
    }]);
    return PaperSetupConfig;
  }();

  exports.default = PaperSetupConfig;

  function _setValue2(key, value) {
    return _regenerator.default.async(function _setValue2$(_context3) {
      while (1) {
        switch (_context3.prev = _context3.next) {
          case 0:
            (0, _classPrivateFieldLooseBase2.default)(this, _json)[_json][key] = value;
            return _context3.abrupt("return", _paperSetupHelper.default.setItem((0, _classPrivateFieldLooseBase2.default)(this, _storageKey)[_storageKey], key, value));

          case 2:
          case "end":
            return _context3.stop();
        }
      }
    }, null, this, null, Promise);
  }

  function _getValue2(key) {
    var value;
    return _regenerator.default.async(function _getValue2$(_context4) {
      while (1) {
        switch (_context4.prev = _context4.next) {
          case 0:
            if (!_jsUtils.default.hasProperty((0, _classPrivateFieldLooseBase2.default)(this, _json)[_json], key)) {
              _context4.next = 8;
              break;
            }

            value = (0, _classPrivateFieldLooseBase2.default)(this, _json)[_json][key];

            if (!(value === null || value === undefined)) {
              _context4.next = 7;
              break;
            }

            _log.default.debug(key + ": " + value);

            _context4.next = 6;
            return _regenerator.default.awrap(_paperSetupHelper.default.getItem((0, _classPrivateFieldLooseBase2.default)(this, _storageKey)[_storageKey], key));

          case 6:
            value = _context4.sent;

          case 7:
            return _context4.abrupt("return", value);

          case 8:
            return _context4.abrupt("return", "");

          case 9:
          case "end":
            return _context4.stop();
        }
      }
    }, null, this, null, Promise);
  }
},998,[5,80,6,7,8,756,757,999,764,759,997,755,1000]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _storage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var PaperSetupHelper = function () {
    function PaperSetupHelper() {
      (0, _classCallCheck2.default)(this, PaperSetupHelper);
    }

    (0, _createClass2.default)(PaperSetupHelper, null, [{
      key: "setItem",
      value: function setItem(pSetup, key, value) {
        return _regenerator.default.async(function setItem$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", _storage.default.setItem(pSetup, key, value));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getItem",
      value: function getItem(pSetup, key) {
        return _regenerator.default.async(function getItem$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", _storage.default.getItem(pSetup, key));

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return PaperSetupHelper;
  }();

  PaperSetupHelper.SP = {
    keys: {
      paper: "paper",
      machine: "machine",
      default_selected_editions: "defaultSelectedEditions",
      language: "language",
      file_time: "pSetupTime",
      custom_language_pack_file_time: "customLanguagePackFileTimestamp",
      show_themes_customization: "showThemesCustomization",
      options_page_tab_path: "optionsPageTabPath",
      max_editions_not_grouped: "maxEditionsNotGrouped",
      tabs: "tabs",
      order_editions: "orderEditions",
      logged_in_tabs: "loggedInTabs",
      logo_url: "logoUrl",
      sorting_tabs: "sortingTabs",
      newsstand_tabs: "newsstandTabs",
      order_newsstand_tabs: "orderNewsstandTabs",
      disable_rn_styles: "disableRnStyles",
      show_entire_main_issue: "showEntireMainIssue",
      rn_styles: "rnStyles",
      xpaper_universal_links: "xpaperUniversalLinks",
      remap_edition: "remapEdition"
    }
  };
  var _default = PaperSetupHelper;
  exports.default = _default;
},999,[5,80,7,8,997]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.TABS = undefined;
  exports.navigate = navigate;
  exports.navigateToAccess = navigateToAccess;
  exports.navigateToAccessibility = navigateToAccessibility;
  exports.navigateToAccount = navigateToAccount;
  exports.navigateToArchive = navigateToArchive;
  exports.navigateToCarousel = navigateToCarousel;
  exports.navigateToConnection = navigateToConnection;
  exports.navigateToContact = navigateToContact;
  exports.navigateToCustomHTML1 = navigateToCustomHTML1;
  exports.navigateToCustomHTML2 = navigateToCustomHTML2;
  exports.navigateToHelp = navigateToHelp;
  exports.navigateToHome = navigateToHome;
  exports.navigateToLogin = navigateToLogin;
  exports.navigateToRegistration = navigateToRegistration;
  exports.navigateToRss = navigateToRss;
  exports.navigateToSpecialSections = navigateToSpecialSections;
  exports.navigateToSubscribe = navigateToSubscribe;
  exports.navigateToValidation = navigateToValidation;

  var _navigationConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function navigate(route, params) {
    _navigationConfig.default.navigate(route, params);
  }

  var TABS = {
    ACCESS: "access",
    ACCESSIBILITY: "accessibility",
    ACCOUNT: "account",
    ARCHIVE: "archive",
    CAROUSEL: "carousel",
    CONNECTION: "connection",
    CONTACT: "contact",
    CUSTOMHTML1: "customhtml1",
    CUSTOMHTML2: "customhtml2",
    HELP: "help",
    HOME: "home",
    LOGIN: "login",
    REGISTRATION: "registration",
    RSS: "rss",
    SPECIALSECTION: "specialsection",
    SUBSCRIBE: "subscribe",
    VALIDATION: "validation",
    LATEST_EDITIONS: "latest_editions",
    PENULTIMATE_EDITIONS: "penultimate_editions",
    CUSTOM_EDITIONS: "custom_editions",
    OTHER_EDITIONS: "other_editions",
    DOWNLOADED_EDITIONS: "downloaded_editions",
    ARCHIVE_EDITIONS: "archive_editions",
    NEWSSTAND: "newsstand"
  };
  exports.TABS = TABS;

  function navigateToAccess() {
    navigate(TABS.ACCESS);
  }

  function navigateToAccessibility() {
    navigate(TABS.ACCESSIBILITY);
  }

  function navigateToAccount() {
    navigate(TABS.ACCOUNT);
  }

  function navigateToArchive() {
    navigate(TABS.ARCHIVE);
  }

  function navigateToCarousel() {
    navigate(TABS.CAROUSEL);
  }

  function navigateToConnection() {
    navigate(TABS.CONNECTION);
  }

  function navigateToContact() {
    navigate(TABS.CONTACT);
  }

  function navigateToCustomHTML1() {
    navigate(TABS.CUSTOMHTML1);
  }

  function navigateToCustomHTML2() {
    navigate(TABS.CUSTOMHTML2);
  }

  function navigateToHelp() {
    navigate(TABS.HELP);
  }

  function navigateToHome() {
    navigate(TABS.NEWSSTAND);
  }

  function navigateToLogin() {
    navigate(TABS.LOGIN);
  }

  function navigateToRegistration() {
    navigate(TABS.REGISTRATION);
  }

  function navigateToRss() {
    navigate(TABS.RSS);
  }

  function navigateToSpecialSections() {
    navigate(TABS.SPECIALSECTION);
  }

  function navigateToSubscribe() {
    navigate(TABS.SUBSCRIBE);
  }

  function navigateToValidation() {
    navigate(TABS.VALIDATION);
  }
},1000,[5,1001]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;
  exports.getActiveRouteFromState = getActiveRouteFromState;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  function getActiveRouteFromState() {
    var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var index = state.index,
        _state$routes = state.routes,
        routes = _state$routes === undefined ? [] : _state$routes;
    var route = routes[index];

    if (route) {
      return route.name;
    }

    return undefined;
  }

  var NavigationConfig = function () {
    function NavigationConfig() {
      (0, _classCallCheck2.default)(this, NavigationConfig);
    }

    (0, _createClass2.default)(NavigationConfig, null, [{
      key: "setState",
      value: function setState(state) {
        NavigationConfig.state = state;
      }
    }, {
      key: "getState",
      value: function getState() {
        return NavigationConfig.state;
      }
    }, {
      key: "isDrawerOpened",
      value: function isDrawerOpened() {
        return NavigationConfig.drawerOpened;
      }
    }, {
      key: "setDrawerState",
      value: function setDrawerState(open) {
        NavigationConfig.drawerOpened = open;
      }
    }, {
      key: "getNavigation",
      value: function getNavigation() {
        return NavigationConfig.navigation;
      }
    }, {
      key: "setNavigation",
      value: function setNavigation(navigation) {
        NavigationConfig.navigation = navigation;
      }
    }, {
      key: "closeDrawer",
      value: function closeDrawer() {
        if (NavigationConfig.navigation) {
          NavigationConfig.navigation.dispatch(_$$_REQUIRE(_dependencyMap[3]).DrawerActions.closeDrawer());
        }
      }
    }, {
      key: "openDrawer",
      value: function openDrawer() {
        if (NavigationConfig.navigation) {
          NavigationConfig.navigation.dispatch(_$$_REQUIRE(_dependencyMap[3]).DrawerActions.openDrawer());
        }
      }
    }, {
      key: "navigate",
      value: function navigate() {
        var route = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
        var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

        if (NavigationConfig.navigation) {
          return NavigationConfig.navigation.navigate(route, params);
        }

        throw new Error("impossible to navigation to " + route + ", navigation is invalid");
      }
    }]);
    return NavigationConfig;
  }();

  NavigationConfig.drawerOpened = undefined;
  NavigationConfig.navigation = undefined;
  NavigationConfig.state = undefined;
  var _default = NavigationConfig;
  exports.default = _default;
},1001,[5,7,8,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  var _exportNames = {
    Link: true,
    NavigationContainer: true,
    ServerContainer: true,
    DarkTheme: true,
    DefaultTheme: true,
    ThemeProvider: true,
    useTheme: true,
    useLinkBuilder: true,
    useLinkProps: true,
    useLinkTo: true,
    useScrollToTop: true
  };
  Object.defineProperty(exports, "Link", {
    enumerable: true,
    get: function get() {
      return _Link.default;
    }
  });
  Object.defineProperty(exports, "NavigationContainer", {
    enumerable: true,
    get: function get() {
      return _NavigationContainer.default;
    }
  });
  Object.defineProperty(exports, "ServerContainer", {
    enumerable: true,
    get: function get() {
      return _ServerContainer.default;
    }
  });
  Object.defineProperty(exports, "DarkTheme", {
    enumerable: true,
    get: function get() {
      return _DarkTheme.default;
    }
  });
  Object.defineProperty(exports, "DefaultTheme", {
    enumerable: true,
    get: function get() {
      return _DefaultTheme.default;
    }
  });
  Object.defineProperty(exports, "ThemeProvider", {
    enumerable: true,
    get: function get() {
      return _ThemeProvider.default;
    }
  });
  Object.defineProperty(exports, "useTheme", {
    enumerable: true,
    get: function get() {
      return _useTheme.default;
    }
  });
  Object.defineProperty(exports, "useLinkBuilder", {
    enumerable: true,
    get: function get() {
      return _useLinkBuilder.default;
    }
  });
  Object.defineProperty(exports, "useLinkProps", {
    enumerable: true,
    get: function get() {
      return _useLinkProps.default;
    }
  });
  Object.defineProperty(exports, "useLinkTo", {
    enumerable: true,
    get: function get() {
      return _useLinkTo.default;
    }
  });
  Object.defineProperty(exports, "useScrollToTop", {
    enumerable: true,
    get: function get() {
      return _useScrollToTop.default;
    }
  });

  var _Link = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _NavigationContainer = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _ServerContainer = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _DarkTheme = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _DefaultTheme = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _ThemeProvider = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _useTheme = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  Object.keys(_$$_REQUIRE(_dependencyMap[8])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[8])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[8])[key];
      }
    });
  });

  var _useLinkBuilder = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _useLinkProps = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _useLinkTo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _useScrollToTop = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  Object.keys(_$$_REQUIRE(_dependencyMap[13])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[13])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[13])[key];
      }
    });
  });
},1002,[5,1003,1076,1086,1088,1077,1078,1089,1090,1091,1004,1006,1092,1007]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = Link;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _useLinkProps = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function Link(_ref) {
    var to = _ref.to,
        action = _ref.action,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["to", "action"]);
    var props = (0, _useLinkProps.default)({
      to: to,
      action: action
    });

    var onPress = function onPress(e) {
      if ('onPress' in rest) {
        rest.onPress == null ? undefined : rest.onPress(e);
      }

      props.onPress(e);
    };

    return React.createElement(_reactNative.Text, (0, _extends2.default)({}, props, rest, _reactNative.Platform.select({
      web: {
        onClick: onPress
      },
      default: {
        onPress: onPress
      }
    })));
  }
},1003,[5,6,108,17,28,1004]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useLinkProps;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[1]);

  var _LinkingContext = _$$_REQUIRE(_dependencyMap[2])(_$$_REQUIRE(_dependencyMap[3]));

  var _useLinkTo = _$$_REQUIRE(_dependencyMap[2])(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var getStateFromParams = function getStateFromParams(params) {
    if (params != null && params.state) {
      return params.state;
    }

    if (params != null && params.screen) {
      return {
        routes: [{
          name: params.screen,
          params: params.params,
          state: params.screen ? getStateFromParams(params.params) : undefined
        }]
      };
    }

    return undefined;
  };

  function useLinkProps(_ref) {
    var _options$getPathFromS;

    var to = _ref.to,
        action = _ref.action;
    var root = React.useContext(_$$_REQUIRE(_dependencyMap[5]).NavigationContainerRefContext);
    var navigation = React.useContext(_$$_REQUIRE(_dependencyMap[5]).NavigationHelpersContext);

    var _React$useContext = React.useContext(_LinkingContext.default),
        options = _React$useContext.options;

    var linkTo = (0, _useLinkTo.default)();

    var onPress = function onPress(e) {
      var _e$currentTarget;

      var shouldHandle = false;

      if (_reactNative.Platform.OS !== 'web' || !e) {
        shouldHandle = e ? !e.defaultPrevented : true;
      } else if (!e.defaultPrevented && !(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) && (e.button == null || e.button === 0) && [undefined, null, '', 'self'].includes((_e$currentTarget = e.currentTarget) == null ? undefined : _e$currentTarget.target)) {
        e.preventDefault();
        shouldHandle = true;
      }

      if (shouldHandle) {
        if (action) {
          if (navigation) {
            navigation.dispatch(action);
          } else if (root) {
            root.dispatch(action);
          } else {
            throw new Error("Couldn't find a navigation object. Is your component inside NavigationContainer?");
          }
        } else {
          linkTo(to);
        }
      }
    };

    var getPathFromStateHelper = (_options$getPathFromS = options == null ? undefined : options.getPathFromState) != null ? _options$getPathFromS : _$$_REQUIRE(_dependencyMap[5]).getPathFromState;
    var href = typeof to === 'string' ? to : getPathFromStateHelper({
      routes: [{
        name: to.screen,
        params: to.params,
        state: getStateFromParams(to.params)
      }]
    }, options == null ? undefined : options.config);
    return {
      href: href,
      accessibilityRole: 'link',
      onPress: onPress
    };
  }
},1004,[17,28,5,1005,1006,1007]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var LinkingContext = React.createContext({
    options: undefined
  });
  LinkingContext.displayName = 'LinkingContext';
  var _default = LinkingContext;
  exports.default = _default;
},1005,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useLinkTo;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _LinkingContext = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useLinkTo() {
    var navigation = React.useContext(_$$_REQUIRE(_dependencyMap[3]).NavigationContainerRefContext);
    var linking = React.useContext(_LinkingContext.default);
    var linkTo = React.useCallback(function (to) {
      if (navigation === undefined) {
        throw new Error("Couldn't find a navigation object. Is your component inside NavigationContainer?");
      }

      if (typeof to !== 'string') {
        navigation.navigate(to.screen, to.params);
        return;
      }

      if (!to.startsWith('/')) {
        throw new Error("The path must start with '/' (" + to + ").");
      }

      var options = linking.options;
      var state = options != null && options.getStateFromPath ? options.getStateFromPath(to, options.config) : (0, _$$_REQUIRE(_dependencyMap[3]).getStateFromPath)(to, options == null ? undefined : options.config);

      if (state) {
        var action = (0, _$$_REQUIRE(_dependencyMap[3]).getActionFromState)(state, options == null ? undefined : options.config);

        if (action !== undefined) {
          navigation.dispatch(action);
        } else {
          navigation.reset(state);
        }
      } else {
        throw new Error('Failed to parse the path to a navigation state.');
      }
    }, [linking, navigation]);
    return linkTo;
  }
},1006,[17,5,1005,1007]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  var _exportNames = {
    BaseNavigationContainer: true,
    createNavigationContainerRef: true,
    createNavigatorFactory: true,
    CurrentRenderContext: true,
    findFocusedRoute: true,
    getActionFromState: true,
    getFocusedRouteNameFromRoute: true,
    getPathFromState: true,
    getStateFromPath: true,
    NavigationContainerRefContext: true,
    NavigationContext: true,
    NavigationHelpersContext: true,
    NavigationRouteContext: true,
    useFocusEffect: true,
    useIsFocused: true,
    useNavigation: true,
    useNavigationBuilder: true,
    useNavigationContainerRef: true,
    useNavigationState: true,
    useRoute: true,
    validatePathConfig: true
  };
  Object.defineProperty(exports, "BaseNavigationContainer", {
    enumerable: true,
    get: function get() {
      return _BaseNavigationContainer.default;
    }
  });
  Object.defineProperty(exports, "createNavigationContainerRef", {
    enumerable: true,
    get: function get() {
      return _createNavigationContainerRef.default;
    }
  });
  Object.defineProperty(exports, "createNavigatorFactory", {
    enumerable: true,
    get: function get() {
      return _createNavigatorFactory.default;
    }
  });
  Object.defineProperty(exports, "CurrentRenderContext", {
    enumerable: true,
    get: function get() {
      return _CurrentRenderContext.default;
    }
  });
  Object.defineProperty(exports, "findFocusedRoute", {
    enumerable: true,
    get: function get() {
      return _findFocusedRoute.default;
    }
  });
  Object.defineProperty(exports, "getActionFromState", {
    enumerable: true,
    get: function get() {
      return _getActionFromState.default;
    }
  });
  Object.defineProperty(exports, "getFocusedRouteNameFromRoute", {
    enumerable: true,
    get: function get() {
      return _getFocusedRouteNameFromRoute.default;
    }
  });
  Object.defineProperty(exports, "getPathFromState", {
    enumerable: true,
    get: function get() {
      return _getPathFromState.default;
    }
  });
  Object.defineProperty(exports, "getStateFromPath", {
    enumerable: true,
    get: function get() {
      return _getStateFromPath.default;
    }
  });
  Object.defineProperty(exports, "NavigationContainerRefContext", {
    enumerable: true,
    get: function get() {
      return _NavigationContainerRefContext.default;
    }
  });
  Object.defineProperty(exports, "NavigationContext", {
    enumerable: true,
    get: function get() {
      return _NavigationContext.default;
    }
  });
  Object.defineProperty(exports, "NavigationHelpersContext", {
    enumerable: true,
    get: function get() {
      return _NavigationHelpersContext.default;
    }
  });
  Object.defineProperty(exports, "NavigationRouteContext", {
    enumerable: true,
    get: function get() {
      return _NavigationRouteContext.default;
    }
  });
  Object.defineProperty(exports, "useFocusEffect", {
    enumerable: true,
    get: function get() {
      return _useFocusEffect.default;
    }
  });
  Object.defineProperty(exports, "useIsFocused", {
    enumerable: true,
    get: function get() {
      return _useIsFocused.default;
    }
  });
  Object.defineProperty(exports, "useNavigation", {
    enumerable: true,
    get: function get() {
      return _useNavigation.default;
    }
  });
  Object.defineProperty(exports, "useNavigationBuilder", {
    enumerable: true,
    get: function get() {
      return _useNavigationBuilder.default;
    }
  });
  Object.defineProperty(exports, "useNavigationContainerRef", {
    enumerable: true,
    get: function get() {
      return _useNavigationContainerRef.default;
    }
  });
  Object.defineProperty(exports, "useNavigationState", {
    enumerable: true,
    get: function get() {
      return _useNavigationState.default;
    }
  });
  Object.defineProperty(exports, "useRoute", {
    enumerable: true,
    get: function get() {
      return _useRoute.default;
    }
  });
  Object.defineProperty(exports, "validatePathConfig", {
    enumerable: true,
    get: function get() {
      return _validatePathConfig.default;
    }
  });

  var _BaseNavigationContainer = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createNavigationContainerRef = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createNavigatorFactory = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _CurrentRenderContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _findFocusedRoute = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getActionFromState = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getFocusedRouteNameFromRoute = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPathFromState = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getStateFromPath = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _NavigationContainerRefContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _NavigationContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _NavigationHelpersContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _NavigationRouteContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  Object.keys(_$$_REQUIRE(_dependencyMap[14])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[14])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[14])[key];
      }
    });
  });

  var _useFocusEffect = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _useIsFocused = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _useNavigation = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _useNavigationBuilder = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _useNavigationContainerRef = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _useNavigationState = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _useRoute = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _validatePathConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  Object.keys(_$$_REQUIRE(_dependencyMap[23])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[23])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[23])[key];
      }
    });
  });
},1007,[5,1008,1024,1034,1037,1012,1038,1039,1041,1049,1014,1015,1051,1016,1052,1053,1055,1054,1056,1073,1074,1075,1048,1025]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _checkDuplicateRouteNames = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _checkSerializable = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _EnsureSingleNavigator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _findFocusedRoute = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _NavigationBuilderContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _NavigationContainerRefContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _NavigationContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _NavigationRouteContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _NavigationStateContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _UnhandledActionContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _useChildListeners2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _useEventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _useKeyedChildListeners = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _useOptionsGetters2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _useSyncState3 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var serializableWarnings = [];
  var duplicateNameWarnings = [];

  var getPartialState = function getPartialState(state) {
    if (state === undefined) {
      return;
    }

    var key = state.key,
        routeNames = state.routeNames,
        partialState = (0, _objectWithoutProperties2.default)(state, ["key", "routeNames"]);
    return (0, _extends2.default)({}, partialState, {
      stale: true,
      routes: state.routes.map(function (route) {
        if (route.state === undefined) {
          return route;
        }

        return (0, _extends2.default)({}, route, {
          state: getPartialState(route.state)
        });
      })
    });
  };

  var BaseNavigationContainer = React.forwardRef(function BaseNavigationContainer(_ref, ref) {
    var initialState = _ref.initialState,
        onStateChange = _ref.onStateChange,
        onUnhandledAction = _ref.onUnhandledAction,
        independent = _ref.independent,
        children = _ref.children;
    var parent = React.useContext(_NavigationStateContext.default);

    if (!parent.isDefault && !independent) {
      throw new Error("Looks like you have nested a 'NavigationContainer' inside another. Normally you need only one container at the root of the app, so this was probably an error. If this was intentional, pass 'independent={true}' explicitly. Note that this will make the child navigators disconnected from the parent and you won't be able to navigate between them.");
    }

    var _useSyncState = (0, _useSyncState3.default)(function () {
      return getPartialState(initialState == null ? undefined : initialState);
    }),
        _useSyncState2 = (0, _slicedToArray2.default)(_useSyncState, 5),
        state = _useSyncState2[0],
        getState = _useSyncState2[1],
        setState = _useSyncState2[2],
        scheduleUpdate = _useSyncState2[3],
        flushUpdates = _useSyncState2[4];

    var isFirstMountRef = React.useRef(true);
    var navigatorKeyRef = React.useRef();
    var getKey = React.useCallback(function () {
      return navigatorKeyRef.current;
    }, []);
    var setKey = React.useCallback(function (key) {
      navigatorKeyRef.current = key;
    }, []);

    var _useChildListeners = (0, _useChildListeners2.default)(),
        listeners = _useChildListeners.listeners,
        addListener = _useChildListeners.addListener;

    var _useKeyedChildListene = (0, _useKeyedChildListeners.default)(),
        keyedListeners = _useKeyedChildListene.keyedListeners,
        addKeyedListener = _useKeyedChildListene.addKeyedListener;

    var dispatch = React.useCallback(function (action) {
      if (listeners.focus[0] == null) {
        console.error(_$$_REQUIRE(_dependencyMap[20]).NOT_INITIALIZED_ERROR);
      } else {
        listeners.focus[0](function (navigation) {
          return navigation.dispatch(action);
        });
      }
    }, [listeners.focus]);
    var canGoBack = React.useCallback(function () {
      if (listeners.focus[0] == null) {
        return false;
      }

      var _listeners$focus$ = listeners.focus[0](function (navigation) {
        return navigation.canGoBack();
      }),
          result = _listeners$focus$.result,
          handled = _listeners$focus$.handled;

      if (handled) {
        return result;
      } else {
        return false;
      }
    }, [listeners.focus]);
    var resetRoot = React.useCallback(function (state) {
      var _state$key;

      var target = (_state$key = state == null ? undefined : state.key) != null ? _state$key : keyedListeners.getState.root == null ? undefined : keyedListeners.getState.root().key;

      if (target == null) {
        console.error(_$$_REQUIRE(_dependencyMap[20]).NOT_INITIALIZED_ERROR);
      } else {
        listeners.focus[0](function (navigation) {
          return navigation.dispatch((0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[21]).CommonActions.reset(state), {
            target: target
          }));
        });
      }
    }, [keyedListeners.getState, listeners.focus]);
    var getRootState = React.useCallback(function () {
      return keyedListeners.getState.root == null ? undefined : keyedListeners.getState.root();
    }, [keyedListeners.getState]);
    var getCurrentRoute = React.useCallback(function () {
      var state = getRootState();

      if (state == null) {
        return undefined;
      }

      var route = (0, _findFocusedRoute.default)(state);
      return route;
    }, [getRootState]);
    var emitter = (0, _useEventEmitter.default)();

    var _useOptionsGetters = (0, _useOptionsGetters2.default)({}),
        addOptionsGetter = _useOptionsGetters.addOptionsGetter,
        getCurrentOptions = _useOptionsGetters.getCurrentOptions;

    var navigation = React.useMemo(function () {
      return (0, _extends2.default)({}, Object.keys(_$$_REQUIRE(_dependencyMap[21]).CommonActions).reduce(function (acc, name) {
        acc[name] = function () {
          return dispatch(_$$_REQUIRE(_dependencyMap[21]).CommonActions[name].apply(_$$_REQUIRE(_dependencyMap[21]).CommonActions, arguments));
        };

        return acc;
      }, {}), emitter.create('root'), {
        dispatch: dispatch,
        resetRoot: resetRoot,
        isFocused: function isFocused() {
          return true;
        },
        canGoBack: canGoBack,
        getParent: function getParent() {
          return undefined;
        },
        getState: function getState() {
          return stateRef.current;
        },
        getRootState: getRootState,
        getCurrentRoute: getCurrentRoute,
        getCurrentOptions: getCurrentOptions,
        isReady: function isReady() {
          return listeners.focus[0] != null;
        }
      });
    }, [canGoBack, dispatch, emitter, getCurrentOptions, getCurrentRoute, getRootState, listeners.focus, resetRoot]);
    React.useImperativeHandle(ref, function () {
      return navigation;
    }, [navigation]);
    var onDispatchAction = React.useCallback(function (action, noop) {
      emitter.emit({
        type: '__unsafe_action__',
        data: {
          action: action,
          noop: noop,
          stack: stackRef.current
        }
      });
    }, [emitter]);
    var lastEmittedOptionsRef = React.useRef();
    var onOptionsChange = React.useCallback(function (options) {
      if (lastEmittedOptionsRef.current === options) {
        return;
      }

      lastEmittedOptionsRef.current = options;
      emitter.emit({
        type: 'options',
        data: {
          options: options
        }
      });
    }, [emitter]);
    var stackRef = React.useRef();
    var builderContext = React.useMemo(function () {
      return {
        addListener: addListener,
        addKeyedListener: addKeyedListener,
        onDispatchAction: onDispatchAction,
        onOptionsChange: onOptionsChange,
        stackRef: stackRef
      };
    }, [addListener, addKeyedListener, onDispatchAction, onOptionsChange]);
    var scheduleContext = React.useMemo(function () {
      return {
        scheduleUpdate: scheduleUpdate,
        flushUpdates: flushUpdates
      };
    }, [scheduleUpdate, flushUpdates]);
    var isInitialRef = React.useRef(true);
    var getIsInitial = React.useCallback(function () {
      return isInitialRef.current;
    }, []);
    var context = React.useMemo(function () {
      return {
        state: state,
        getState: getState,
        setState: setState,
        getKey: getKey,
        setKey: setKey,
        getIsInitial: getIsInitial,
        addOptionsGetter: addOptionsGetter
      };
    }, [state, getState, setState, getKey, setKey, getIsInitial, addOptionsGetter]);
    var onStateChangeRef = React.useRef(onStateChange);
    var stateRef = React.useRef(state);
    React.useEffect(function () {
      isInitialRef.current = false;
      onStateChangeRef.current = onStateChange;
      stateRef.current = state;
    });
    React.useEffect(function () {
      var hydratedState = getRootState();
      emitter.emit({
        type: 'state',
        data: {
          state: state
        }
      });

      if (!isFirstMountRef.current && onStateChangeRef.current) {
        onStateChangeRef.current(hydratedState);
      }

      isFirstMountRef.current = false;
    }, [getRootState, emitter, state]);
    var defaultOnUnhandledAction = React.useCallback(function (action) {
      {
        return;
      }
      var payload = action.payload;
      var message = "The action '" + action.type + "'" + (payload ? " with payload " + JSON.stringify(action.payload) : '') + " was not handled by any navigator.";

      switch (action.type) {
        case 'NAVIGATE':
        case 'PUSH':
        case 'REPLACE':
        case 'JUMP_TO':
          if (payload != null && payload.name) {
            message += "\n\nDo you have a screen named '" + payload.name + "'?\n\nIf you're trying to navigate to a screen in a nested navigator, see https://reactnavigation.org/docs/nesting-navigators#navigating-to-a-screen-in-a-nested-navigator.";
          } else {
            message += "\n\nYou need to pass the name of the screen to navigate to.\n\nSee https://reactnavigation.org/docs/navigation-actions for usage.";
          }

          break;

        case 'GO_BACK':
        case 'POP':
        case 'POP_TO_TOP':
          message += "\n\nIs there any screen to go back to?";
          break;

        case 'OPEN_DRAWER':
        case 'CLOSE_DRAWER':
        case 'TOGGLE_DRAWER':
          message += "\n\nIs your screen inside a Drawer navigator?";
          break;
      }

      message += "\n\nThis is a development-only warning and won't be shown in production.";
      console.error(message);
    }, []);
    var element = React.createElement(_NavigationContainerRefContext.default.Provider, {
      value: navigation
    }, React.createElement(_$$_REQUIRE(_dependencyMap[22]).ScheduleUpdateContext.Provider, {
      value: scheduleContext
    }, React.createElement(_NavigationBuilderContext.default.Provider, {
      value: builderContext
    }, React.createElement(_NavigationStateContext.default.Provider, {
      value: context
    }, React.createElement(_UnhandledActionContext.default.Provider, {
      value: onUnhandledAction != null ? onUnhandledAction : defaultOnUnhandledAction
    }, React.createElement(_EnsureSingleNavigator.default, null, children))))));

    if (independent) {
      element = React.createElement(_NavigationRouteContext.default.Provider, {
        value: undefined
      }, React.createElement(_NavigationContext.default.Provider, {
        value: undefined
      }, element));
    }

    return element;
  });
  var _default = BaseNavigationContainer;
  exports.default = _default;
},1008,[5,41,6,108,17,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1033]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = checkDuplicateRouteNames;

  function checkDuplicateRouteNames(state) {
    var duplicates = [];

    var getRouteNames = function getRouteNames(location, state) {
      state.routes.forEach(function (route) {
        var _route$state, _route$state$routeNam;

        var currentLocation = location ? location + " > " + route.name : route.name;
        (_route$state = route.state) == null ? undefined : (_route$state$routeNam = _route$state.routeNames) == null ? undefined : _route$state$routeNam.forEach(function (routeName) {
          if (routeName === route.name) {
            duplicates.push([currentLocation, currentLocation + " > " + route.name]);
          }
        });

        if (route.state) {
          getRouteNames(currentLocation, route.state);
        }
      });
    };

    getRouteNames('', state);
    return duplicates;
  }
},1009,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = checkSerializable;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var checkSerializableWithoutCircularReference = function checkSerializableWithoutCircularReference(o, seen, location) {
    if (o === undefined || o === null || typeof o === 'boolean' || typeof o === 'number' || typeof o === 'string') {
      return {
        serializable: true
      };
    }

    if (Object.prototype.toString.call(o) !== '[object Object]' && !Array.isArray(o)) {
      return {
        serializable: false,
        location: location,
        reason: typeof o === 'function' ? 'Function' : String(o)
      };
    }

    if (seen.has(o)) {
      return {
        serializable: false,
        reason: 'Circular reference',
        location: location
      };
    }

    seen.add(o);

    if (Array.isArray(o)) {
      for (var i = 0; i < o.length; i++) {
        var childResult = checkSerializableWithoutCircularReference(o[i], new Set(seen), [].concat((0, _toConsumableArray2.default)(location), [i]));

        if (!childResult.serializable) {
          return childResult;
        }
      }
    } else {
      for (var _key in o) {
        var _childResult = checkSerializableWithoutCircularReference(o[_key], new Set(seen), [].concat((0, _toConsumableArray2.default)(location), [_key]));

        if (!_childResult.serializable) {
          return _childResult;
        }
      }
    }

    return {
      serializable: true
    };
  };

  function checkSerializable(o) {
    return checkSerializableWithoutCircularReference(o, new Set(), []);
  }
},1010,[5,21]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = EnsureSingleNavigator;
  exports.SingleNavigatorContext = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var MULTIPLE_NAVIGATOR_ERROR = "Another navigator is already registered for this container. You likely have multiple navigators under a single \"NavigationContainer\" or \"Screen\". Make sure each navigator is under a separate \"Screen\" container. See https://reactnavigation.org/docs/nesting-navigators for a guide on nesting.";
  var SingleNavigatorContext = React.createContext(undefined);
  exports.SingleNavigatorContext = SingleNavigatorContext;

  function EnsureSingleNavigator(_ref) {
    var children = _ref.children;
    var navigatorKeyRef = React.useRef();
    var value = React.useMemo(function () {
      return {
        register: function register(key) {
          var currentKey = navigatorKeyRef.current;

          if (currentKey !== undefined && key !== currentKey) {
            throw new Error(MULTIPLE_NAVIGATOR_ERROR);
          }

          navigatorKeyRef.current = key;
        },
        unregister: function unregister(key) {
          var currentKey = navigatorKeyRef.current;

          if (key !== currentKey) {
            return;
          }

          navigatorKeyRef.current = undefined;
        }
      };
    }, []);
    return React.createElement(SingleNavigatorContext.Provider, {
      value: value
    }, children);
  }
},1011,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = findFocusedRoute;

  function findFocusedRoute(state) {
    var _current2, _current$index3, _current3;

    var current = state;

    while (((_current = current) == null ? undefined : _current.routes[(_current$index = current.index) != null ? _current$index : 0].state) != null) {
      var _current, _current$index, _current$index2;

      current = current.routes[(_current$index2 = current.index) != null ? _current$index2 : 0].state;
    }

    var route = (_current2 = current) == null ? undefined : _current2.routes[(_current$index3 = (_current3 = current) == null ? undefined : _current3.index) != null ? _current$index3 : 0];
    return route;
  }
},1012,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var NavigationBuilderContext = React.createContext({
    onDispatchAction: function onDispatchAction() {
      return undefined;
    },
    onOptionsChange: function onOptionsChange() {
      return undefined;
    }
  });
  var _default = NavigationBuilderContext;
  exports.default = _default;
},1013,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var NavigationContainerRefContext = React.createContext(undefined);
  var _default = NavigationContainerRefContext;
  exports.default = _default;
},1014,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var NavigationContext = React.createContext(undefined);
  var _default = NavigationContext;
  exports.default = _default;
},1015,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var NavigationRouteContext = React.createContext(undefined);
  var _default = NavigationRouteContext;
  exports.default = _default;
},1016,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var MISSING_CONTEXT_ERROR = "Couldn't find a navigation context. Have you wrapped your app with 'NavigationContainer'? See https://reactnavigation.org/docs/getting-started for setup instructions.";

  var _default = React.createContext({
    isDefault: true,

    get getKey() {
      throw new Error(MISSING_CONTEXT_ERROR);
    },

    get setKey() {
      throw new Error(MISSING_CONTEXT_ERROR);
    },

    get getState() {
      throw new Error(MISSING_CONTEXT_ERROR);
    },

    get setState() {
      throw new Error(MISSING_CONTEXT_ERROR);
    },

    get getIsInitial() {
      throw new Error(MISSING_CONTEXT_ERROR);
    }

  });

  exports.default = _default;
},1017,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var UnhandledActionContext = React.createContext(undefined);
  var _default = UnhandledActionContext;
  exports.default = _default;
},1018,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useChildListeners;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useChildListeners() {
    var _React$useRef = React.useRef({
      action: [],
      focus: []
    }),
        listeners = _React$useRef.current;

    var addListener = React.useCallback(function (type, listener) {
      listeners[type].push(listener);
      return function () {
        var index = listeners[type].indexOf(listener);
        listeners[type].splice(index, 1);
      };
    }, [listeners]);
    return {
      listeners: listeners,
      addListener: addListener
    };
  }
},1019,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useEventEmitter;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useEventEmitter(listen) {
    var listenRef = React.useRef(listen);
    React.useEffect(function () {
      listenRef.current = listen;
    });
    var listeners = React.useRef({});
    var create = React.useCallback(function (target) {
      var removeListener = function removeListener(type, callback) {
        var callbacks = listeners.current[type] ? listeners.current[type][target] : undefined;

        if (!callbacks) {
          return;
        }

        var index = callbacks.indexOf(callback);
        callbacks.splice(index, 1);
      };

      var addListener = function addListener(type, callback) {
        listeners.current[type] = listeners.current[type] || {};
        listeners.current[type][target] = listeners.current[type][target] || [];
        listeners.current[type][target].push(callback);
        return function () {
          return removeListener(type, callback);
        };
      };

      return {
        addListener: addListener,
        removeListener: removeListener
      };
    }, []);
    var emit = React.useCallback(function (_ref) {
      var _items$target, _ref2;

      var type = _ref.type,
          data = _ref.data,
          target = _ref.target,
          canPreventDefault = _ref.canPreventDefault;
      var items = listeners.current[type] || {};
      var callbacks = target !== undefined ? (_items$target = items[target]) == null ? undefined : _items$target.slice() : (_ref2 = []).concat.apply(_ref2, (0, _toConsumableArray2.default)(Object.keys(items).map(function (t) {
        return items[t];
      }))).filter(function (cb, i, self) {
        return self.lastIndexOf(cb) === i;
      });
      var event = {
        get type() {
          return type;
        }

      };

      if (target !== undefined) {
        Object.defineProperty(event, 'target', {
          enumerable: true,
          get: function get() {
            return target;
          }
        });
      }

      if (data !== undefined) {
        Object.defineProperty(event, 'data', {
          enumerable: true,
          get: function get() {
            return data;
          }
        });
      }

      if (canPreventDefault) {
        var defaultPrevented = false;
        Object.defineProperties(event, {
          defaultPrevented: {
            enumerable: true,
            get: function get() {
              return defaultPrevented;
            }
          },
          preventDefault: {
            enumerable: true,
            value: function value() {
              defaultPrevented = true;
            }
          }
        });
      }

      listenRef.current == null ? undefined : listenRef.current(event);
      callbacks == null ? undefined : callbacks.forEach(function (cb) {
        return cb(event);
      });
      return event;
    }, []);
    return React.useMemo(function () {
      return {
        create: create,
        emit: emit
      };
    }, [create, emit]);
  }
},1020,[5,21,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useKeyedChildListeners;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useKeyedChildListeners() {
    var _React$useRef = React.useRef({
      getState: {},
      beforeRemove: {}
    }),
        keyedListeners = _React$useRef.current;

    var addKeyedListener = React.useCallback(function (type, key, listener) {
      keyedListeners[type][key] = listener;
      return function () {
        keyedListeners[type][key] = undefined;
      };
    }, [keyedListeners]);
    return {
      keyedListeners: keyedListeners,
      addKeyedListener: addKeyedListener
    };
  }
},1021,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useOptionsGetters;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _NavigationBuilderContext = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _NavigationStateContext = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useOptionsGetters(_ref) {
    var key = _ref.key,
        options = _ref.options,
        navigation = _ref.navigation;
    var optionsRef = React.useRef(options);
    var optionsGettersFromChildRef = React.useRef({});

    var _React$useContext = React.useContext(_NavigationBuilderContext.default),
        onOptionsChange = _React$useContext.onOptionsChange;

    var _React$useContext2 = React.useContext(_NavigationStateContext.default),
        parentAddOptionsGetter = _React$useContext2.addOptionsGetter;

    var optionsChangeListener = React.useCallback(function () {
      var _navigation$isFocused;

      var isFocused = (_navigation$isFocused = navigation == null ? undefined : navigation.isFocused()) != null ? _navigation$isFocused : true;
      var hasChildren = Object.keys(optionsGettersFromChildRef.current).length;

      if (isFocused && !hasChildren) {
        var _optionsRef$current;

        onOptionsChange((_optionsRef$current = optionsRef.current) != null ? _optionsRef$current : {});
      }
    }, [navigation, onOptionsChange]);
    React.useEffect(function () {
      optionsRef.current = options;
      optionsChangeListener();
      return navigation == null ? undefined : navigation.addListener('focus', optionsChangeListener);
    }, [navigation, options, optionsChangeListener]);
    var getOptionsFromListener = React.useCallback(function () {
      for (var _key in optionsGettersFromChildRef.current) {
        if (optionsGettersFromChildRef.current.hasOwnProperty(_key)) {
          var _optionsGettersFromCh, _optionsGettersFromCh2;

          var result = (_optionsGettersFromCh = (_optionsGettersFromCh2 = optionsGettersFromChildRef.current)[_key]) == null ? undefined : _optionsGettersFromCh.call(_optionsGettersFromCh2);

          if (result !== null) {
            return result;
          }
        }
      }

      return null;
    }, []);
    var getCurrentOptions = React.useCallback(function () {
      var _navigation$isFocused2;

      var isFocused = (_navigation$isFocused2 = navigation == null ? undefined : navigation.isFocused()) != null ? _navigation$isFocused2 : true;

      if (!isFocused) {
        return null;
      }

      var optionsFromListener = getOptionsFromListener();

      if (optionsFromListener !== null) {
        return optionsFromListener;
      }

      return optionsRef.current;
    }, [navigation, getOptionsFromListener]);
    React.useEffect(function () {
      return parentAddOptionsGetter == null ? undefined : parentAddOptionsGetter(key, getCurrentOptions);
    }, [getCurrentOptions, parentAddOptionsGetter, key]);
    var addOptionsGetter = React.useCallback(function (key, getter) {
      optionsGettersFromChildRef.current[key] = getter;
      optionsChangeListener();
      return function () {
        delete optionsGettersFromChildRef.current[key];
        optionsChangeListener();
      };
    }, [optionsChangeListener]);
    return {
      addOptionsGetter: addOptionsGetter,
      getCurrentOptions: getCurrentOptions
    };
  }
},1022,[17,5,1013,1017]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useSyncState;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var UNINTIALIZED_STATE = {};

  function useSyncState(initialState) {
    var stateRef = React.useRef(UNINTIALIZED_STATE);
    var isSchedulingRef = React.useRef(false);
    var isMountedRef = React.useRef(true);
    React.useEffect(function () {
      isMountedRef.current = true;
      return function () {
        isMountedRef.current = false;
      };
    }, []);

    if (stateRef.current === UNINTIALIZED_STATE) {
      stateRef.current = typeof initialState === 'function' ? initialState() : initialState;
    }

    var _React$useState = React.useState(stateRef.current),
        _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
        trackingState = _React$useState2[0],
        setTrackingState = _React$useState2[1];

    var getState = React.useCallback(function () {
      return stateRef.current;
    }, []);
    var setState = React.useCallback(function (state) {
      if (state === stateRef.current || !isMountedRef.current) {
        return;
      }

      stateRef.current = state;

      if (!isSchedulingRef.current) {
        setTrackingState(state);
      }
    }, []);
    var scheduleUpdate = React.useCallback(function (callback) {
      isSchedulingRef.current = true;

      try {
        callback();
      } finally {
        isSchedulingRef.current = false;
      }
    }, []);
    var flushUpdates = React.useCallback(function () {
      if (!isMountedRef.current) {
        return;
      }

      setTrackingState(stateRef.current);
    }, []);

    if (trackingState !== stateRef.current) {
      setTrackingState(stateRef.current);
    }

    var state = stateRef.current;
    React.useDebugValue(state);
    return [state, getState, setState, scheduleUpdate, flushUpdates];
  }
},1023,[5,41,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = createNavigationContainerRef;
  exports.NOT_INITIALIZED_ERROR = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var NOT_INITIALIZED_ERROR = "The 'navigation' object hasn't been initialized yet. This might happen if you don't have a navigator mounted, or if the navigator hasn't finished mounting. See https://reactnavigation.org/docs/navigating-without-navigation-prop#handling-initialization for more details.";
  exports.NOT_INITIALIZED_ERROR = NOT_INITIALIZED_ERROR;

  function createNavigationContainerRef() {
    var methods = [].concat((0, _toConsumableArray2.default)(Object.keys(_$$_REQUIRE(_dependencyMap[4]).CommonActions)), ['addListener', 'removeListener', 'resetRoot', 'dispatch', 'isFocused', 'canGoBack', 'getRootState', 'getState', 'getParent', 'getCurrentRoute', 'getCurrentOptions']);
    var listeners = {};

    var removeListener = function removeListener(event, callback) {
      if (listeners[event]) {
        listeners[event] = listeners[event].filter(function (cb) {
          return cb !== callback;
        });
      }
    };

    var current = null;
    var ref = (0, _extends2.default)({
      get current() {
        return current;
      },

      set current(value) {
        current = value;

        if (value != null) {
          Object.entries(listeners).forEach(function (_ref) {
            var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
                event = _ref2[0],
                callbacks = _ref2[1];

            callbacks.forEach(function (callback) {
              value.addListener(event, callback);
            });
          });
        }
      },

      isReady: function isReady() {
        if (current == null) {
          return false;
        }

        return current.isReady();
      }
    }, methods.reduce(function (acc, name) {
      acc[name] = function () {
        for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
          args[_key] = arguments[_key];
        }

        if (current == null) {
          switch (name) {
            case 'addListener':
              {
                var event = args[0],
                    callback = args[1];
                listeners[event] = listeners[event] || [];
                listeners[event].push(callback);
                return function () {
                  return removeListener(event, callback);
                };
              }

            case 'removeListener':
              {
                var _event = args[0],
                    _callback = args[1];
                removeListener(_event, _callback);
                break;
              }

            default:
              console.error(NOT_INITIALIZED_ERROR);
          }
        } else {
          var _current;

          return (_current = current)[name].apply(_current, args);
        }
      };

      return acc;
    }, {}));
    return ref;
  }
},1024,[5,41,6,21,1025]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  var _exportNames = {
    CommonActions: true,
    BaseRouter: true,
    DrawerActions: true,
    DrawerRouter: true,
    StackActions: true,
    StackRouter: true,
    TabActions: true,
    TabRouter: true
  };
  Object.defineProperty(exports, "BaseRouter", {
    enumerable: true,
    get: function get() {
      return _BaseRouter.default;
    }
  });
  Object.defineProperty(exports, "DrawerActions", {
    enumerable: true,
    get: function get() {
      return _DrawerRouter.DrawerActions;
    }
  });
  Object.defineProperty(exports, "DrawerRouter", {
    enumerable: true,
    get: function get() {
      return _DrawerRouter.default;
    }
  });
  Object.defineProperty(exports, "StackActions", {
    enumerable: true,
    get: function get() {
      return _StackRouter.StackActions;
    }
  });
  Object.defineProperty(exports, "StackRouter", {
    enumerable: true,
    get: function get() {
      return _StackRouter.default;
    }
  });
  Object.defineProperty(exports, "TabActions", {
    enumerable: true,
    get: function get() {
      return _TabRouter.TabActions;
    }
  });
  Object.defineProperty(exports, "TabRouter", {
    enumerable: true,
    get: function get() {
      return _TabRouter.default;
    }
  });
  exports.CommonActions = undefined;

  var CommonActions = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  exports.CommonActions = CommonActions;

  var _BaseRouter = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _DrawerRouter = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _StackRouter = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _TabRouter = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  Object.keys(_$$_REQUIRE(_dependencyMap[6])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[6])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[6])[key];
      }
    });
  });

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }
},1025,[1026,5,1027,1029,1031,1030,1032]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.goBack = goBack;
  exports.navigate = navigate;
  exports.reset = reset;
  exports.setParams = setParams;

  function goBack() {
    return {
      type: 'GO_BACK'
    };
  }

  function navigate() {
    if (typeof (arguments.length <= 0 ? undefined : arguments[0]) === 'string') {
      return {
        type: 'NAVIGATE',
        payload: {
          name: arguments.length <= 0 ? undefined : arguments[0],
          params: arguments.length <= 1 ? undefined : arguments[1]
        }
      };
    } else {
      var payload = (arguments.length <= 0 ? undefined : arguments[0]) || {};

      if (!payload.hasOwnProperty('key') && !payload.hasOwnProperty('name')) {
        throw new Error('You need to specify name or key when calling navigate with an object as the argument. See https://reactnavigation.org/docs/navigation-actions#navigate for usage.');
      }

      return {
        type: 'NAVIGATE',
        payload: payload
      };
    }
  }

  function reset(state) {
    return {
      type: 'RESET',
      payload: state
    };
  }

  function setParams(params) {
    return {
      type: 'SET_PARAMS',
      payload: {
        params: params
      }
    };
  }
},1026,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var BaseRouter = {
    getStateForAction: function getStateForAction(state, action) {
      switch (action.type) {
        case 'SET_PARAMS':
          {
            var index = action.source ? state.routes.findIndex(function (r) {
              return r.key === action.source;
            }) : state.index;

            if (index === -1) {
              return null;
            }

            return (0, _extends2.default)({}, state, {
              routes: state.routes.map(function (r, i) {
                return i === index ? (0, _extends2.default)({}, r, {
                  params: (0, _extends2.default)({}, r.params, action.payload.params)
                }) : r;
              })
            });
          }

        case 'RESET':
          {
            var nextState = action.payload;

            if (nextState.routes.length === 0 || nextState.routes.some(function (route) {
              return !state.routeNames.includes(route.name);
            })) {
              return null;
            }

            if (nextState.stale === false) {
              if (state.routeNames.length !== nextState.routeNames.length || nextState.routeNames.some(function (name) {
                return !state.routeNames.includes(name);
              })) {
                return null;
              }

              return (0, _extends2.default)({}, nextState, {
                routes: nextState.routes.map(function (route) {
                  return route.key ? route : (0, _extends2.default)({}, route, {
                    key: route.name + "-" + (0, _$$_REQUIRE(_dependencyMap[2]).nanoid)()
                  });
                })
              });
            }

            return nextState;
          }

        default:
          return null;
      }
    },
    shouldActionChangeFocus: function shouldActionChangeFocus(action) {
      return action.type === 'NAVIGATE';
    }
  };
  var _default = BaseRouter;
  exports.default = _default;
},1027,[5,6,1028]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.customAlphabet = exports.nanoid = undefined;
  var urlAlphabet = 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict';

  var customAlphabet = function customAlphabet(alphabet) {
    var defaultSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 21;
    return function () {
      var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultSize;
      var id = '';
      var i = size;

      while (i--) {
        id += alphabet[Math.random() * alphabet.length | 0];
      }

      return id;
    };
  };

  exports.customAlphabet = customAlphabet;

  var nanoid = function nanoid() {
    var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 21;
    var id = '';
    var i = size;

    while (i--) {
      id += urlAlphabet[Math.random() * 64 | 0];
    }

    return id;
  };

  exports.nanoid = nanoid;
},1028,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = DrawerRouter;
  exports.DrawerActions = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _TabRouter = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var DrawerActions = (0, _extends2.default)({}, _TabRouter.TabActions, {
    openDrawer: function openDrawer() {
      return {
        type: 'OPEN_DRAWER'
      };
    },
    closeDrawer: function closeDrawer() {
      return {
        type: 'CLOSE_DRAWER'
      };
    },
    toggleDrawer: function toggleDrawer() {
      return {
        type: 'TOGGLE_DRAWER'
      };
    }
  });
  exports.DrawerActions = DrawerActions;

  function DrawerRouter(_ref) {
    var _ref$defaultStatus = _ref.defaultStatus,
        defaultStatus = _ref$defaultStatus === undefined ? 'closed' : _ref$defaultStatus,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["defaultStatus"]);
    var router = (0, _TabRouter.default)(rest);

    var isDrawerInHistory = function isDrawerInHistory(state) {
      var _state$history;

      return Boolean((_state$history = state.history) == null ? undefined : _state$history.some(function (it) {
        return it.type === 'drawer';
      }));
    };

    var addDrawerToHistory = function addDrawerToHistory(state) {
      if (isDrawerInHistory(state)) {
        return state;
      }

      return (0, _extends2.default)({}, state, {
        history: [].concat((0, _toConsumableArray2.default)(state.history), [{
          type: 'drawer',
          status: defaultStatus === 'open' ? 'closed' : 'open'
        }])
      });
    };

    var removeDrawerFromHistory = function removeDrawerFromHistory(state) {
      if (!isDrawerInHistory(state)) {
        return state;
      }

      return (0, _extends2.default)({}, state, {
        history: state.history.filter(function (it) {
          return it.type !== 'drawer';
        })
      });
    };

    var openDrawer = function openDrawer(state) {
      if (defaultStatus === 'open') {
        return removeDrawerFromHistory(state);
      }

      return addDrawerToHistory(state);
    };

    var closeDrawer = function closeDrawer(state) {
      if (defaultStatus === 'open') {
        return addDrawerToHistory(state);
      }

      return removeDrawerFromHistory(state);
    };

    return (0, _extends2.default)({}, router, {
      type: 'drawer',
      getInitialState: function getInitialState(_ref2) {
        var routeNames = _ref2.routeNames,
            routeParamList = _ref2.routeParamList,
            routeGetIdList = _ref2.routeGetIdList;
        var state = router.getInitialState({
          routeNames: routeNames,
          routeParamList: routeParamList,
          routeGetIdList: routeGetIdList
        });
        return (0, _extends2.default)({}, state, {
          default: defaultStatus,
          stale: false,
          type: 'drawer',
          key: "drawer-" + (0, _$$_REQUIRE(_dependencyMap[5]).nanoid)()
        });
      },
      getRehydratedState: function getRehydratedState(partialState, _ref3) {
        var routeNames = _ref3.routeNames,
            routeParamList = _ref3.routeParamList,
            routeGetIdList = _ref3.routeGetIdList;

        if (partialState.stale === false) {
          return partialState;
        }

        var state = router.getRehydratedState(partialState, {
          routeNames: routeNames,
          routeParamList: routeParamList,
          routeGetIdList: routeGetIdList
        });

        if (isDrawerInHistory(partialState)) {
          state = removeDrawerFromHistory(state);
          state = addDrawerToHistory(state);
        }

        return (0, _extends2.default)({}, state, {
          default: defaultStatus,
          type: 'drawer',
          key: "drawer-" + (0, _$$_REQUIRE(_dependencyMap[5]).nanoid)()
        });
      },
      getStateForRouteFocus: function getStateForRouteFocus(state, key) {
        var result = router.getStateForRouteFocus(state, key);
        return closeDrawer(result);
      },
      getStateForAction: function getStateForAction(state, action, options) {
        switch (action.type) {
          case 'OPEN_DRAWER':
            return openDrawer(state);

          case 'CLOSE_DRAWER':
            return closeDrawer(state);

          case 'TOGGLE_DRAWER':
            if (isDrawerInHistory(state)) {
              return removeDrawerFromHistory(state);
            }

            return addDrawerToHistory(state);

          case 'JUMP_TO':
          case 'NAVIGATE':
            {
              var result = router.getStateForAction(state, action, options);

              if (result != null && result.index !== state.index) {
                return closeDrawer(result);
              }

              return result;
            }

          case 'GO_BACK':
            if (isDrawerInHistory(state)) {
              return removeDrawerFromHistory(state);
            }

            return router.getStateForAction(state, action, options);

          default:
            return router.getStateForAction(state, action, options);
        }
      },
      actionCreators: DrawerActions
    });
  }
},1029,[5,21,108,6,1030,1028]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = TabRouter;
  exports.TabActions = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _BaseRouter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var TYPE_ROUTE = 'route';
  var TabActions = {
    jumpTo: function jumpTo(name, params) {
      return {
        type: 'JUMP_TO',
        payload: {
          name: name,
          params: params
        }
      };
    }
  };
  exports.TabActions = TabActions;

  var getRouteHistory = function getRouteHistory(routes, index, backBehavior, initialRouteName) {
    var history = [{
      type: TYPE_ROUTE,
      key: routes[index].key
    }];
    var initialRouteIndex;

    switch (backBehavior) {
      case 'order':
        for (var i = index; i > 0; i--) {
          history.unshift({
            type: TYPE_ROUTE,
            key: routes[i - 1].key
          });
        }

        break;

      case 'firstRoute':
        if (index !== 0) {
          history.unshift({
            type: TYPE_ROUTE,
            key: routes[0].key
          });
        }

        break;

      case 'initialRoute':
        initialRouteIndex = routes.findIndex(function (route) {
          return route.name === initialRouteName;
        });
        initialRouteIndex = initialRouteIndex === -1 ? 0 : initialRouteIndex;

        if (index !== initialRouteIndex) {
          history.unshift({
            type: TYPE_ROUTE,
            key: routes[initialRouteIndex].key
          });
        }

        break;

      case 'history':
        break;
    }

    return history;
  };

  var changeIndex = function changeIndex(state, index, backBehavior, initialRouteName) {
    var history;

    if (backBehavior === 'history') {
      var currentKey = state.routes[index].key;
      history = state.history.filter(function (it) {
        return it.type === 'route' ? it.key !== currentKey : false;
      }).concat({
        type: TYPE_ROUTE,
        key: currentKey
      });
    } else {
      history = getRouteHistory(state.routes, index, backBehavior, initialRouteName);
    }

    return (0, _extends2.default)({}, state, {
      index: index,
      history: history
    });
  };

  function TabRouter(_ref) {
    var initialRouteName = _ref.initialRouteName,
        _ref$backBehavior = _ref.backBehavior,
        backBehavior = _ref$backBehavior === undefined ? 'firstRoute' : _ref$backBehavior;
    var router = (0, _extends2.default)({}, _BaseRouter.default, {
      type: 'tab',
      getInitialState: function getInitialState(_ref2) {
        var routeNames = _ref2.routeNames,
            routeParamList = _ref2.routeParamList;
        var index = initialRouteName !== undefined && routeNames.includes(initialRouteName) ? routeNames.indexOf(initialRouteName) : 0;
        var routes = routeNames.map(function (name) {
          return {
            name: name,
            key: name + "-" + (0, _$$_REQUIRE(_dependencyMap[3]).nanoid)(),
            params: routeParamList[name]
          };
        });
        var history = getRouteHistory(routes, index, backBehavior, initialRouteName);
        return {
          stale: false,
          type: 'tab',
          key: "tab-" + (0, _$$_REQUIRE(_dependencyMap[3]).nanoid)(),
          index: index,
          routeNames: routeNames,
          history: history,
          routes: routes
        };
      },
      getRehydratedState: function getRehydratedState(partialState, _ref3) {
        var _state$routes, _state$index, _state$history$filter, _state$history;

        var routeNames = _ref3.routeNames,
            routeParamList = _ref3.routeParamList;
        var state = partialState;

        if (state.stale === false) {
          return state;
        }

        var routes = routeNames.map(function (name) {
          var route = state.routes.find(function (r) {
            return r.name === name;
          });
          return (0, _extends2.default)({}, route, {
            name: name,
            key: route && route.name === name && route.key ? route.key : name + "-" + (0, _$$_REQUIRE(_dependencyMap[3]).nanoid)(),
            params: routeParamList[name] !== undefined ? (0, _extends2.default)({}, routeParamList[name], route ? route.params : undefined) : route ? route.params : undefined
          });
        });
        var index = Math.min(Math.max(routeNames.indexOf((_state$routes = state.routes[(_state$index = state == null ? undefined : state.index) != null ? _state$index : 0]) == null ? undefined : _state$routes.name), 0), routes.length - 1);
        var history = (_state$history$filter = (_state$history = state.history) == null ? undefined : _state$history.filter(function (it) {
          return routes.find(function (r) {
            return r.key === it.key;
          });
        })) != null ? _state$history$filter : [];
        return changeIndex({
          stale: false,
          type: 'tab',
          key: "tab-" + (0, _$$_REQUIRE(_dependencyMap[3]).nanoid)(),
          index: index,
          routeNames: routeNames,
          history: history,
          routes: routes
        }, index, backBehavior, initialRouteName);
      },
      getStateForRouteNamesChange: function getStateForRouteNamesChange(state, _ref4) {
        var routeNames = _ref4.routeNames,
            routeParamList = _ref4.routeParamList,
            routeKeyChanges = _ref4.routeKeyChanges;
        var routes = routeNames.map(function (name) {
          return state.routes.find(function (r) {
            return r.name === name && !routeKeyChanges.includes(r.name);
          }) || {
            name: name,
            key: name + "-" + (0, _$$_REQUIRE(_dependencyMap[3]).nanoid)(),
            params: routeParamList[name]
          };
        });
        var index = Math.max(0, routeNames.indexOf(state.routes[state.index].name));
        var history = state.history.filter(function (it) {
          return it.type !== 'route' || routes.find(function (r) {
            return r.key === it.key;
          });
        });

        if (!history.length) {
          history = getRouteHistory(routes, index, backBehavior, initialRouteName);
        }

        return (0, _extends2.default)({}, state, {
          history: history,
          routeNames: routeNames,
          routes: routes,
          index: index
        });
      },
      getStateForRouteFocus: function getStateForRouteFocus(state, key) {
        var index = state.routes.findIndex(function (r) {
          return r.key === key;
        });

        if (index === -1 || index === state.index) {
          return state;
        }

        return changeIndex(state, index, backBehavior, initialRouteName);
      },
      getStateForAction: function getStateForAction(state, action, _ref5) {
        var routeParamList = _ref5.routeParamList;

        switch (action.type) {
          case 'JUMP_TO':
          case 'NAVIGATE':
            {
              var index = -1;

              if (action.type === 'NAVIGATE' && action.payload.key) {
                index = state.routes.findIndex(function (route) {
                  return route.key === action.payload.key;
                });
              } else {
                index = state.routes.findIndex(function (route) {
                  return route.name === action.payload.name;
                });
              }

              if (index === -1) {
                return null;
              }

              return changeIndex((0, _extends2.default)({}, state, {
                routes: state.routes.map(function (route, i) {
                  if (i !== index) {
                    return route;
                  }

                  var params;

                  if (action.type === 'NAVIGATE' && action.payload.merge) {
                    params = action.payload.params !== undefined || routeParamList[route.name] !== undefined ? (0, _extends2.default)({}, routeParamList[route.name], route.params, action.payload.params) : route.params;
                  } else {
                    params = routeParamList[route.name] !== undefined ? (0, _extends2.default)({}, routeParamList[route.name], action.payload.params) : action.payload.params;
                  }

                  var path = action.type === 'NAVIGATE' && action.payload.path != null ? action.payload.path : route.path;
                  return params !== route.params || path !== route.path ? (0, _extends2.default)({}, route, {
                    path: path,
                    params: params
                  }) : route;
                })
              }), index, backBehavior, initialRouteName);
            }

          case 'GO_BACK':
            {
              if (state.history.length === 1) {
                return null;
              }

              var previousKey = state.history[state.history.length - 2].key;

              var _index = state.routes.findIndex(function (route) {
                return route.key === previousKey;
              });

              if (_index === -1) {
                return null;
              }

              return (0, _extends2.default)({}, state, {
                history: state.history.slice(0, -1),
                index: _index
              });
            }

          default:
            return _BaseRouter.default.getStateForAction(state, action);
        }
      },
      shouldActionChangeFocus: function shouldActionChangeFocus(action) {
        return action.type === 'NAVIGATE';
      },
      actionCreators: TabActions
    });
    return router;
  }
},1030,[5,6,1027,1028]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = StackRouter;
  exports.StackActions = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _BaseRouter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var StackActions = {
    replace: function replace(name, params) {
      return {
        type: 'REPLACE',
        payload: {
          name: name,
          params: params
        }
      };
    },
    push: function push(name, params) {
      return {
        type: 'PUSH',
        payload: {
          name: name,
          params: params
        }
      };
    },
    pop: function pop() {
      var count = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
      return {
        type: 'POP',
        payload: {
          count: count
        }
      };
    },
    popToTop: function popToTop() {
      return {
        type: 'POP_TO_TOP'
      };
    }
  };
  exports.StackActions = StackActions;

  function StackRouter(options) {
    var router = (0, _extends2.default)({}, _BaseRouter.default, {
      type: 'stack',
      getInitialState: function getInitialState(_ref) {
        var routeNames = _ref.routeNames,
            routeParamList = _ref.routeParamList;
        var initialRouteName = options.initialRouteName !== undefined && routeNames.includes(options.initialRouteName) ? options.initialRouteName : routeNames[0];
        return {
          stale: false,
          type: 'stack',
          key: "stack-" + (0, _$$_REQUIRE(_dependencyMap[4]).nanoid)(),
          index: 0,
          routeNames: routeNames,
          routes: [{
            key: initialRouteName + "-" + (0, _$$_REQUIRE(_dependencyMap[4]).nanoid)(),
            name: initialRouteName,
            params: routeParamList[initialRouteName]
          }]
        };
      },
      getRehydratedState: function getRehydratedState(partialState, _ref2) {
        var routeNames = _ref2.routeNames,
            routeParamList = _ref2.routeParamList;
        var state = partialState;

        if (state.stale === false) {
          return state;
        }

        var routes = state.routes.filter(function (route) {
          return routeNames.includes(route.name);
        }).map(function (route) {
          return (0, _extends2.default)({}, route, {
            key: route.key || route.name + "-" + (0, _$$_REQUIRE(_dependencyMap[4]).nanoid)(),
            params: routeParamList[route.name] !== undefined ? (0, _extends2.default)({}, routeParamList[route.name], route.params) : route.params
          });
        });

        if (routes.length === 0) {
          var initialRouteName = options.initialRouteName !== undefined ? options.initialRouteName : routeNames[0];
          routes.push({
            key: initialRouteName + "-" + (0, _$$_REQUIRE(_dependencyMap[4]).nanoid)(),
            name: initialRouteName,
            params: routeParamList[initialRouteName]
          });
        }

        return {
          stale: false,
          type: 'stack',
          key: "stack-" + (0, _$$_REQUIRE(_dependencyMap[4]).nanoid)(),
          index: routes.length - 1,
          routeNames: routeNames,
          routes: routes
        };
      },
      getStateForRouteNamesChange: function getStateForRouteNamesChange(state, _ref3) {
        var routeNames = _ref3.routeNames,
            routeParamList = _ref3.routeParamList,
            routeKeyChanges = _ref3.routeKeyChanges;
        var routes = state.routes.filter(function (route) {
          return routeNames.includes(route.name) && !routeKeyChanges.includes(route.name);
        });

        if (routes.length === 0) {
          var initialRouteName = options.initialRouteName !== undefined && routeNames.includes(options.initialRouteName) ? options.initialRouteName : routeNames[0];
          routes.push({
            key: initialRouteName + "-" + (0, _$$_REQUIRE(_dependencyMap[4]).nanoid)(),
            name: initialRouteName,
            params: routeParamList[initialRouteName]
          });
        }

        return (0, _extends2.default)({}, state, {
          routeNames: routeNames,
          routes: routes,
          index: Math.min(state.index, routes.length - 1)
        });
      },
      getStateForRouteFocus: function getStateForRouteFocus(state, key) {
        var index = state.routes.findIndex(function (r) {
          return r.key === key;
        });

        if (index === -1 || index === state.index) {
          return state;
        }

        return (0, _extends2.default)({}, state, {
          index: index,
          routes: state.routes.slice(0, index + 1)
        });
      },
      getStateForAction: function getStateForAction(state, action, options) {
        var routeParamList = options.routeParamList;

        switch (action.type) {
          case 'REPLACE':
            {
              var index = action.target === state.key && action.source ? state.routes.findIndex(function (r) {
                return r.key === action.source;
              }) : state.index;

              if (index === -1) {
                return null;
              }

              var _action$payload = action.payload,
                  name = _action$payload.name,
                  key = _action$payload.key,
                  _params = _action$payload.params;

              if (!state.routeNames.includes(name)) {
                return null;
              }

              return (0, _extends2.default)({}, state, {
                routes: state.routes.map(function (route, i) {
                  return i === index ? {
                    key: key !== undefined ? key : name + "-" + (0, _$$_REQUIRE(_dependencyMap[4]).nanoid)(),
                    name: name,
                    params: routeParamList[name] !== undefined ? (0, _extends2.default)({}, routeParamList[name], _params) : _params
                  } : route;
                })
              });
            }

          case 'PUSH':
            if (state.routeNames.includes(action.payload.name)) {
              var getId = options.routeGetIdList[action.payload.name];
              var id = getId == null ? undefined : getId({
                params: action.payload.params
              });
              var route = id ? state.routes.find(function (route) {
                return route.name === action.payload.name && id === (getId == null ? undefined : getId({
                  params: route.params
                }));
              }) : undefined;
              var routes;

              if (route) {
                routes = state.routes.filter(function (r) {
                  return r.key !== route.key;
                });
                routes.push((0, _extends2.default)({}, route, {
                  params: routeParamList[action.payload.name] !== undefined ? (0, _extends2.default)({}, routeParamList[action.payload.name], action.payload.params) : action.payload.params
                }));
              } else {
                routes = [].concat((0, _toConsumableArray2.default)(state.routes), [{
                  key: action.payload.name + "-" + (0, _$$_REQUIRE(_dependencyMap[4]).nanoid)(),
                  name: action.payload.name,
                  params: routeParamList[action.payload.name] !== undefined ? (0, _extends2.default)({}, routeParamList[action.payload.name], action.payload.params) : action.payload.params
                }]);
              }

              return (0, _extends2.default)({}, state, {
                index: routes.length - 1,
                routes: routes
              });
            }

            return null;

          case 'POP':
            {
              var _index = action.target === state.key && action.source ? state.routes.findIndex(function (r) {
                return r.key === action.source;
              }) : state.index;

              if (_index > 0) {
                var _count = Math.max(_index - action.payload.count + 1, 1);

                var _routes = state.routes.slice(0, _count).concat(state.routes.slice(_index + 1));

                return (0, _extends2.default)({}, state, {
                  index: _routes.length - 1,
                  routes: _routes
                });
              }

              return null;
            }

          case 'POP_TO_TOP':
            return router.getStateForAction(state, {
              type: 'POP',
              payload: {
                count: state.routes.length - 1
              }
            }, options);

          case 'NAVIGATE':
            if (action.payload.name !== undefined && !state.routeNames.includes(action.payload.name)) {
              return null;
            }

            if (action.payload.key || action.payload.name) {
              var _action$payload$path;

              var _index2 = -1;

              var _getId = action.payload.key === undefined && action.payload.name !== undefined ? options.routeGetIdList[action.payload.name] : undefined;

              var _id = _getId == null ? undefined : _getId({
                params: action.payload.params
              });

              if (_id) {
                _index2 = state.routes.findIndex(function (route) {
                  return route.name === action.payload.name && _id === (_getId == null ? undefined : _getId({
                    params: route.params
                  }));
                });
              } else if (state.routes[state.index].name === action.payload.name && action.payload.key === undefined || state.routes[state.index].key === action.payload.key) {
                _index2 = state.index;
              } else {
                for (var i = state.routes.length - 1; i >= 0; i--) {
                  if (state.routes[i].name === action.payload.name && action.payload.key === undefined || state.routes[i].key === action.payload.key) {
                    _index2 = i;
                    break;
                  }
                }
              }

              if (_index2 === -1 && action.payload.key && action.payload.name === undefined) {
                return null;
              }

              if (_index2 === -1 && action.payload.name !== undefined) {
                var _action$payload$key;

                var _routes2 = [].concat((0, _toConsumableArray2.default)(state.routes), [{
                  key: (_action$payload$key = action.payload.key) != null ? _action$payload$key : action.payload.name + "-" + (0, _$$_REQUIRE(_dependencyMap[4]).nanoid)(),
                  name: action.payload.name,
                  path: action.payload.path,
                  params: routeParamList[action.payload.name] !== undefined ? (0, _extends2.default)({}, routeParamList[action.payload.name], action.payload.params) : action.payload.params
                }]);

                return (0, _extends2.default)({}, state, {
                  routes: _routes2,
                  index: _routes2.length - 1
                });
              }

              var _route = state.routes[_index2];

              var _params2;

              if (action.payload.merge) {
                _params2 = action.payload.params !== undefined || routeParamList[_route.name] !== undefined ? (0, _extends2.default)({}, routeParamList[_route.name], _route.params, action.payload.params) : _route.params;
              } else {
                _params2 = routeParamList[_route.name] !== undefined ? (0, _extends2.default)({}, routeParamList[_route.name], action.payload.params) : action.payload.params;
              }

              return (0, _extends2.default)({}, state, {
                index: _index2,
                routes: [].concat((0, _toConsumableArray2.default)(state.routes.slice(0, _index2)), [_params2 !== _route.params || action.payload.path && action.payload.path !== _route.path ? (0, _extends2.default)({}, _route, {
                  path: (_action$payload$path = action.payload.path) != null ? _action$payload$path : _route.path,
                  params: _params2
                }) : state.routes[_index2]])
              });
            }

            return null;

          case 'GO_BACK':
            if (state.index > 0) {
              return router.getStateForAction(state, {
                type: 'POP',
                payload: {
                  count: 1
                },
                target: action.target,
                source: action.source
              }, options);
            }

            return null;

          default:
            return _BaseRouter.default.getStateForAction(state, action);
        }
      },
      actionCreators: StackActions
    });
    return router;
  }
},1031,[5,21,6,1027,1028]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {},1032,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useScheduleUpdate;
  exports.ScheduleUpdateContext = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var MISSING_CONTEXT_ERROR = "Couldn't find a schedule context.";
  var ScheduleUpdateContext = React.createContext({
    scheduleUpdate: function scheduleUpdate() {
      throw new Error(MISSING_CONTEXT_ERROR);
    },
    flushUpdates: function flushUpdates() {
      throw new Error(MISSING_CONTEXT_ERROR);
    }
  });
  exports.ScheduleUpdateContext = ScheduleUpdateContext;

  function useScheduleUpdate(callback) {
    var _React$useContext = React.useContext(ScheduleUpdateContext),
        scheduleUpdate = _React$useContext.scheduleUpdate,
        flushUpdates = _React$useContext.flushUpdates;

    scheduleUpdate(callback);
    React.useEffect(flushUpdates);
  }
},1033,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = createNavigatorFactory;

  var _Group = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _Screen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  function createNavigatorFactory(Navigator) {
    return function () {
      if (arguments[0] !== undefined) {
        throw new Error("Creating a navigator doesn't take an argument. Maybe you are trying to use React Navigation 4 API? See https://reactnavigation.org/docs/hello-react-navigation for the latest API and guides.");
      }

      return {
        Navigator: Navigator,
        Group: _Group.default,
        Screen: _Screen.default
      };
    };
  }
},1034,[5,1035,1036]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = Group;

  function Group(_) {
    return null;
  }
},1035,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = Screen;

  function Screen(_) {
    return null;
  }
},1036,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var CurrentRenderContext = React.createContext(undefined);
  var _default = CurrentRenderContext;
  exports.default = _default;
},1037,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = getActionFromState;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  function getActionFromState(state, options) {
    var _state$index, _normalizedConfig$scr;

    var normalizedConfig = options ? createNormalizedConfigItem(options) : {};
    var routes = state.index != null ? state.routes.slice(0, state.index + 1) : state.routes;

    if (routes.length === 0) {
      return undefined;
    }

    if (!(routes.length === 1 && routes[0].key === undefined || routes.length === 2 && routes[0].key === undefined && routes[0].name === (normalizedConfig == null ? undefined : normalizedConfig.initialRouteName) && routes[1].key === undefined)) {
      return {
        type: 'RESET',
        payload: state
      };
    }

    var route = state.routes[(_state$index = state.index) != null ? _state$index : state.routes.length - 1];
    var current = route == null ? undefined : route.state;
    var config = normalizedConfig == null ? undefined : (_normalizedConfig$scr = normalizedConfig.screens) == null ? undefined : _normalizedConfig$scr[route == null ? undefined : route.name];
    var params = (0, _extends2.default)({}, route.params);
    var payload = route ? {
      name: route.name,
      path: route.path,
      params: params
    } : undefined;

    while (current) {
      var _config, _config2, _config2$screens;

      if (current.routes.length === 0) {
        return undefined;
      }

      var _routes = current.index != null ? current.routes.slice(0, current.index + 1) : current.routes;

      var _route = _routes[_routes.length - 1];
      (0, _extends2.default)(params, {
        initial: undefined,
        screen: undefined,
        params: undefined,
        state: undefined
      });

      if (_routes.length === 1 && _routes[0].key === undefined) {
        params.initial = true;
        params.screen = _route.name;
      } else if (_routes.length === 2 && _routes[0].key === undefined && _routes[0].name === ((_config = config) == null ? undefined : _config.initialRouteName) && _routes[1].key === undefined) {
        params.initial = false;
        params.screen = _route.name;
      } else {
        params.state = current;
        break;
      }

      if (_route.state) {
        params.params = (0, _extends2.default)({}, _route.params);
        params = params.params;
      } else {
        params.path = _route.path;
        params.params = _route.params;
      }

      current = _route.state;
      config = (_config2 = config) == null ? undefined : (_config2$screens = _config2.screens) == null ? undefined : _config2$screens[_route.name];
    }

    if (!payload) {
      return;
    }

    return {
      type: 'NAVIGATE',
      payload: payload
    };
  }

  var createNormalizedConfigItem = function createNormalizedConfigItem(config) {
    return typeof config === 'object' && config != null ? {
      initialRouteName: config.initialRouteName,
      screens: config.screens != null ? createNormalizedConfigs(config.screens) : undefined
    } : {};
  };

  var createNormalizedConfigs = function createNormalizedConfigs(options) {
    return Object.entries(options).reduce(function (acc, _ref) {
      var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
          k = _ref2[0],
          v = _ref2[1];

      acc[k] = createNormalizedConfigItem(v);
      return acc;
    }, {});
  };
},1038,[5,41,6]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = getFocusedRouteNameFromRoute;

  function getFocusedRouteNameFromRoute(route) {
    var _route$CHILD_STATE, _state$index;

    var state = (_route$CHILD_STATE = route[_$$_REQUIRE(_dependencyMap[0]).CHILD_STATE]) != null ? _route$CHILD_STATE : route.state;
    var params = route.params;
    var routeName = state ? state.routes[(_state$index = state.index) != null ? _state$index : typeof state.type === 'string' && state.type !== 'stack' ? 0 : state.routes.length - 1].name : typeof (params == null ? undefined : params.screen) === 'string' ? params.screen : undefined;
    return routeName;
  }
},1039,[1040]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useRouteCache;
  exports.CHILD_STATE = undefined;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var CHILD_STATE = Symbol('CHILD_STATE');
  exports.CHILD_STATE = CHILD_STATE;

  function useRouteCache(routes) {
    var cache = React.useMemo(function () {
      return {
        current: new Map()
      };
    }, []);
    {
      return routes;
    }
    cache.current = routes.reduce(function (acc, route) {
      var previous = cache.current.get(route);

      if (previous) {
        acc.set(route, previous);
      } else {
        var state = route.state,
            proxy = (0, _objectWithoutProperties2.default)(route, ["state"]);
        Object.defineProperty(proxy, CHILD_STATE, {
          enumerable: false,
          value: state
        });
        acc.set(route, proxy);
      }

      return acc;
    }, new Map());
    return Array.from(cache.current.values());
  }
},1040,[5,108,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = getPathFromState;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var queryString = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _fromEntries = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _validatePathConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var getActiveRoute = function getActiveRoute(state) {
    var route = typeof state.index === 'number' ? state.routes[state.index] : state.routes[state.routes.length - 1];

    if (route.state) {
      return getActiveRoute(route.state);
    }

    return route;
  };

  function getPathFromState(state, options) {
    if (state == null) {
      throw Error("Got 'undefined' for the navigation state. You must pass a valid state object.");
    }

    if (options) {
      (0, _validatePathConfig.default)(options);
    }

    var configs = options != null && options.screens ? createNormalizedConfigs(options == null ? undefined : options.screens) : {};
    var path = '/';
    var current = state;
    var allParams = {};

    var _loop = function _loop() {
      var index = typeof current.index === 'number' ? current.index : 0;
      var route = current.routes[index];
      var pattern = undefined;
      var focusedParams = undefined;
      var focusedRoute = getActiveRoute(state);
      var currentOptions = configs;
      var nestedRouteNames = [];
      var hasNext = true;

      while (route.name in currentOptions && hasNext) {
        pattern = currentOptions[route.name].pattern;
        nestedRouteNames.push(route.name);

        if (route.params) {
          (function (_currentOptions$route) {
            var stringify = (_currentOptions$route = currentOptions[route.name]) == null ? undefined : _currentOptions$route.stringify;
            var currentParams = (0, _fromEntries.default)(Object.entries(route.params).map(function (_ref) {
              var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
                  key = _ref2[0],
                  value = _ref2[1];

              return [key, stringify != null && stringify[key] ? stringify[key](value) : String(value)];
            }));

            if (pattern) {
              (0, _extends2.default)(allParams, currentParams);
            }

            if (focusedRoute === route) {
              var _pattern;

              focusedParams = (0, _extends2.default)({}, currentParams);
              (_pattern = pattern) == null ? undefined : _pattern.split('/').filter(function (p) {
                return p.startsWith(':');
              }).forEach(function (p) {
                var name = getParamName(p);

                if (focusedParams) {
                  delete focusedParams[name];
                }
              });
            }
          })();
        }

        if (!currentOptions[route.name].screens || route.state === undefined) {
          hasNext = false;
        } else {
          index = typeof route.state.index === 'number' ? route.state.index : route.state.routes.length - 1;
          var nextRoute = route.state.routes[index];
          var nestedConfig = currentOptions[route.name].screens;

          if (nestedConfig && nextRoute.name in nestedConfig) {
            route = nextRoute;
            currentOptions = nestedConfig;
          } else {
            hasNext = false;
          }
        }
      }

      if (pattern === undefined) {
        pattern = nestedRouteNames.join('/');
      }

      if (currentOptions[route.name] !== undefined) {
        path += pattern.split('/').map(function (p) {
          var name = getParamName(p);

          if (p === '*') {
            return route.name;
          }

          if (p.startsWith(':')) {
            var _value = allParams[name];

            if (_value === undefined && p.endsWith('?')) {
              return '';
            }

            return encodeURIComponent(_value);
          }

          return encodeURIComponent(p);
        }).join('/');
      } else {
        path += encodeURIComponent(route.name);
      }

      if (!focusedParams) {
        focusedParams = focusedRoute.params;
      }

      if (route.state) {
        path += '/';
      } else if (focusedParams) {
        for (var param in focusedParams) {
          if (focusedParams[param] === 'undefined') {
            delete focusedParams[param];
          }
        }

        var query = queryString.stringify(focusedParams, {
          sort: false
        });

        if (query) {
          path += "?" + query;
        }
      }

      current = route.state;
    };

    while (current) {
      _loop();
    }

    path = path.replace(/\/+/g, '/');
    path = path.length > 1 ? path.replace(/\/$/, '') : path;
    return path;
  }

  var getParamName = function getParamName(pattern) {
    return pattern.replace(/^:/, '').replace(/\?$/, '');
  };

  var joinPaths = function joinPaths() {
    var _ref3;

    for (var _len = arguments.length, paths = new Array(_len), _key = 0; _key < _len; _key++) {
      paths[_key] = arguments[_key];
    }

    return (_ref3 = []).concat.apply(_ref3, (0, _toConsumableArray2.default)(paths.map(function (p) {
      return p.split('/');
    }))).filter(Boolean).join('/');
  };

  var createConfigItem = function createConfigItem(config, parentPattern) {
    var _pattern3;

    if (typeof config === 'string') {
      var _pattern2 = parentPattern ? joinPaths(parentPattern, config) : config;

      return {
        pattern: _pattern2
      };
    }

    var pattern;

    if (config.exact && config.path === undefined) {
      throw new Error("A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`.");
    }

    pattern = config.exact !== true ? joinPaths(parentPattern || '', config.path || '') : config.path || '';
    var screens = config.screens ? createNormalizedConfigs(config.screens, pattern) : undefined;
    return {
      pattern: (_pattern3 = pattern) == null ? undefined : _pattern3.split('/').filter(Boolean).join('/'),
      stringify: config.stringify,
      screens: screens
    };
  };

  var createNormalizedConfigs = function createNormalizedConfigs(options, pattern) {
    return (0, _fromEntries.default)(Object.entries(options).map(function (_ref4) {
      var _ref5 = (0, _slicedToArray2.default)(_ref4, 2),
          name = _ref5[0],
          c = _ref5[1];

      var result = createConfigItem(c, pattern);
      return [name, result];
    }));
  };
},1041,[5,21,6,41,1042,1047,1048]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

  var isNullOrUndefined = function isNullOrUndefined(value) {
    return value === null || value === undefined;
  };

  var encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');

  function encoderForArrayFormat(options) {
    switch (options.arrayFormat) {
      case 'index':
        return function (key) {
          return function (result, value) {
            var index = result.length;

            if (value === undefined || options.skipNull && value === null || options.skipEmptyString && value === '') {
              return result;
            }

            if (value === null) {
              return [].concat(_$$_REQUIRE(_dependencyMap[0])(result), [[encode(key, options), '[', index, ']'].join('')]);
            }

            return [].concat(_$$_REQUIRE(_dependencyMap[0])(result), [[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')]);
          };
        };

      case 'bracket':
        return function (key) {
          return function (result, value) {
            if (value === undefined || options.skipNull && value === null || options.skipEmptyString && value === '') {
              return result;
            }

            if (value === null) {
              return [].concat(_$$_REQUIRE(_dependencyMap[0])(result), [[encode(key, options), '[]'].join('')]);
            }

            return [].concat(_$$_REQUIRE(_dependencyMap[0])(result), [[encode(key, options), '[]=', encode(value, options)].join('')]);
          };
        };

      case 'colon-list-separator':
        return function (key) {
          return function (result, value) {
            if (value === undefined || options.skipNull && value === null || options.skipEmptyString && value === '') {
              return result;
            }

            if (value === null) {
              return [].concat(_$$_REQUIRE(_dependencyMap[0])(result), [[encode(key, options), ':list='].join('')]);
            }

            return [].concat(_$$_REQUIRE(_dependencyMap[0])(result), [[encode(key, options), ':list=', encode(value, options)].join('')]);
          };
        };

      case 'comma':
      case 'separator':
      case 'bracket-separator':
        {
          var keyValueSep = options.arrayFormat === 'bracket-separator' ? '[]=' : '=';
          return function (key) {
            return function (result, value) {
              if (value === undefined || options.skipNull && value === null || options.skipEmptyString && value === '') {
                return result;
              }

              value = value === null ? '' : value;

              if (result.length === 0) {
                return [[encode(key, options), keyValueSep, encode(value, options)].join('')];
              }

              return [[result, encode(value, options)].join(options.arrayFormatSeparator)];
            };
          };
        }

      default:
        return function (key) {
          return function (result, value) {
            if (value === undefined || options.skipNull && value === null || options.skipEmptyString && value === '') {
              return result;
            }

            if (value === null) {
              return [].concat(_$$_REQUIRE(_dependencyMap[0])(result), [encode(key, options)]);
            }

            return [].concat(_$$_REQUIRE(_dependencyMap[0])(result), [[encode(key, options), '=', encode(value, options)].join('')]);
          };
        };
    }
  }

  function parserForArrayFormat(options) {
    var result;

    switch (options.arrayFormat) {
      case 'index':
        return function (key, value, accumulator) {
          result = /\[(\d*)\]$/.exec(key);
          key = key.replace(/\[\d*\]$/, '');

          if (!result) {
            accumulator[key] = value;
            return;
          }

          if (accumulator[key] === undefined) {
            accumulator[key] = {};
          }

          accumulator[key][result[1]] = value;
        };

      case 'bracket':
        return function (key, value, accumulator) {
          result = /(\[\])$/.exec(key);
          key = key.replace(/\[\]$/, '');

          if (!result) {
            accumulator[key] = value;
            return;
          }

          if (accumulator[key] === undefined) {
            accumulator[key] = [value];
            return;
          }

          accumulator[key] = [].concat(accumulator[key], value);
        };

      case 'colon-list-separator':
        return function (key, value, accumulator) {
          result = /(:list)$/.exec(key);
          key = key.replace(/:list$/, '');

          if (!result) {
            accumulator[key] = value;
            return;
          }

          if (accumulator[key] === undefined) {
            accumulator[key] = [value];
            return;
          }

          accumulator[key] = [].concat(accumulator[key], value);
        };

      case 'comma':
      case 'separator':
        return function (key, value, accumulator) {
          var isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);
          var isEncodedArray = typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator);
          value = isEncodedArray ? decode(value, options) : value;
          var newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(function (item) {
            return decode(item, options);
          }) : value === null ? value : decode(value, options);
          accumulator[key] = newValue;
        };

      case 'bracket-separator':
        return function (key, value, accumulator) {
          var isArray = /(\[\])$/.test(key);
          key = key.replace(/\[\]$/, '');

          if (!isArray) {
            accumulator[key] = value ? decode(value, options) : value;
            return;
          }

          var arrayValue = value === null ? [] : value.split(options.arrayFormatSeparator).map(function (item) {
            return decode(item, options);
          });

          if (accumulator[key] === undefined) {
            accumulator[key] = arrayValue;
            return;
          }

          accumulator[key] = [].concat(accumulator[key], arrayValue);
        };

      default:
        return function (key, value, accumulator) {
          if (accumulator[key] === undefined) {
            accumulator[key] = value;
            return;
          }

          accumulator[key] = [].concat(accumulator[key], value);
        };
    }
  }

  function validateArrayFormatSeparator(value) {
    if (typeof value !== 'string' || value.length !== 1) {
      throw new TypeError('arrayFormatSeparator must be single character string');
    }
  }

  function encode(value, options) {
    if (options.encode) {
      return options.strict ? _$$_REQUIRE(_dependencyMap[1])(value) : encodeURIComponent(value);
    }

    return value;
  }

  function decode(value, options) {
    if (options.decode) {
      return _$$_REQUIRE(_dependencyMap[2])(value);
    }

    return value;
  }

  function keysSorter(input) {
    if (Array.isArray(input)) {
      return input.sort();
    }

    if (typeof input === 'object') {
      return keysSorter(Object.keys(input)).sort(function (a, b) {
        return Number(a) - Number(b);
      }).map(function (key) {
        return input[key];
      });
    }

    return input;
  }

  function removeHash(input) {
    var hashStart = input.indexOf('#');

    if (hashStart !== -1) {
      input = input.slice(0, hashStart);
    }

    return input;
  }

  function getHash(url) {
    var hash = '';
    var hashStart = url.indexOf('#');

    if (hashStart !== -1) {
      hash = url.slice(hashStart);
    }

    return hash;
  }

  function extract(input) {
    input = removeHash(input);
    var queryStart = input.indexOf('?');

    if (queryStart === -1) {
      return '';
    }

    return input.slice(queryStart + 1);
  }

  function parseValue(value, options) {
    if (options.parseNumbers && !Number.isNaN(Number(value)) && typeof value === 'string' && value.trim() !== '') {
      value = Number(value);
    } else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {
      value = value.toLowerCase() === 'true';
    }

    return value;
  }

  function parse(query, options) {
    options = _$$_REQUIRE(_dependencyMap[3])({
      decode: true,
      sort: true,
      arrayFormat: 'none',
      arrayFormatSeparator: ',',
      parseNumbers: false,
      parseBooleans: false
    }, options);
    validateArrayFormatSeparator(options.arrayFormatSeparator);
    var formatter = parserForArrayFormat(options);
    var ret = Object.create(null);

    if (typeof query !== 'string') {
      return ret;
    }

    query = query.trim().replace(/^[?#&]/, '');

    if (!query) {
      return ret;
    }

    for (var _iterator = _createForOfIteratorHelperLoose(query.split('&')), _step; !(_step = _iterator()).done;) {
      var param = _step.value;

      if (param === '') {
        continue;
      }

      var _splitOnFirst = _$$_REQUIRE(_dependencyMap[4])(options.decode ? param.replace(/\+/g, ' ') : param, '='),
          _splitOnFirst2 = _$$_REQUIRE(_dependencyMap[5])(_splitOnFirst, 2),
          key = _splitOnFirst2[0],
          value = _splitOnFirst2[1];

      value = value === undefined ? null : ['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options);
      formatter(decode(key, options), value, ret);
    }

    for (var _i = 0, _Object$keys = Object.keys(ret); _i < _Object$keys.length; _i++) {
      var _key = _Object$keys[_i];
      var _value = ret[_key];

      if (typeof _value === 'object' && _value !== null) {
        for (var _i2 = 0, _Object$keys2 = Object.keys(_value); _i2 < _Object$keys2.length; _i2++) {
          var k = _Object$keys2[_i2];
          _value[k] = parseValue(_value[k], options);
        }
      } else {
        ret[_key] = parseValue(_value, options);
      }
    }

    if (options.sort === false) {
      return ret;
    }

    return (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce(function (result, key) {
      var value = ret[key];

      if (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {
        result[key] = keysSorter(value);
      } else {
        result[key] = value;
      }

      return result;
    }, Object.create(null));
  }

  exports.extract = extract;
  exports.parse = parse;

  exports.stringify = function (object, options) {
    if (!object) {
      return '';
    }

    options = _$$_REQUIRE(_dependencyMap[3])({
      encode: true,
      strict: true,
      arrayFormat: 'none',
      arrayFormatSeparator: ','
    }, options);
    validateArrayFormatSeparator(options.arrayFormatSeparator);

    var shouldFilter = function shouldFilter(key) {
      return options.skipNull && isNullOrUndefined(object[key]) || options.skipEmptyString && object[key] === '';
    };

    var formatter = encoderForArrayFormat(options);
    var objectCopy = {};

    for (var _i3 = 0, _Object$keys3 = Object.keys(object); _i3 < _Object$keys3.length; _i3++) {
      var key = _Object$keys3[_i3];

      if (!shouldFilter(key)) {
        objectCopy[key] = object[key];
      }
    }

    var keys = Object.keys(objectCopy);

    if (options.sort !== false) {
      keys.sort(options.sort);
    }

    return keys.map(function (key) {
      var value = object[key];

      if (value === undefined) {
        return '';
      }

      if (value === null) {
        return encode(key, options);
      }

      if (Array.isArray(value)) {
        if (value.length === 0 && options.arrayFormat === 'bracket-separator') {
          return encode(key, options) + '[]';
        }

        return value.reduce(formatter(key), []).join('&');
      }

      return encode(key, options) + '=' + encode(value, options);
    }).filter(function (x) {
      return x.length > 0;
    }).join('&');
  };

  exports.parseUrl = function (url, options) {
    options = _$$_REQUIRE(_dependencyMap[3])({
      decode: true
    }, options);

    var _splitOnFirst3 = _$$_REQUIRE(_dependencyMap[4])(url, '#'),
        _splitOnFirst4 = _$$_REQUIRE(_dependencyMap[5])(_splitOnFirst3, 2),
        url_ = _splitOnFirst4[0],
        hash = _splitOnFirst4[1];

    return _$$_REQUIRE(_dependencyMap[3])({
      url: url_.split('?')[0] || '',
      query: parse(extract(url), options)
    }, options && options.parseFragmentIdentifier && hash ? {
      fragmentIdentifier: decode(hash, options)
    } : {});
  };

  exports.stringifyUrl = function (object, options) {
    options = _$$_REQUIRE(_dependencyMap[3])(_$$_REQUIRE(_dependencyMap[6])({
      encode: true,
      strict: true
    }, encodeFragmentIdentifier, true), options);
    var url = removeHash(object.url).split('?')[0] || '';
    var queryFromUrl = exports.extract(object.url);
    var parsedQueryFromUrl = exports.parse(queryFromUrl, {
      sort: false
    });

    var query = _$$_REQUIRE(_dependencyMap[3])(parsedQueryFromUrl, object.query);

    var queryString = exports.stringify(query, options);

    if (queryString) {
      queryString = "?" + queryString;
    }

    var hash = getHash(object.url);

    if (object.fragmentIdentifier) {
      hash = "#" + (options[encodeFragmentIdentifier] ? encode(object.fragmentIdentifier, options) : object.fragmentIdentifier);
    }

    return "" + url + queryString + hash;
  };

  exports.pick = function (input, filter, options) {
    options = _$$_REQUIRE(_dependencyMap[3])(_$$_REQUIRE(_dependencyMap[6])({
      parseFragmentIdentifier: true
    }, encodeFragmentIdentifier, false), options);

    var _exports$parseUrl = exports.parseUrl(input, options),
        url = _exports$parseUrl.url,
        query = _exports$parseUrl.query,
        fragmentIdentifier = _exports$parseUrl.fragmentIdentifier;

    return exports.stringifyUrl({
      url: url,
      query: _$$_REQUIRE(_dependencyMap[7])(query, filter),
      fragmentIdentifier: fragmentIdentifier
    }, options);
  };

  exports.exclude = function (input, filter, options) {
    var exclusionFilter = Array.isArray(filter) ? function (key) {
      return !filter.includes(key);
    } : function (key, value) {
      return !filter(key, value);
    };
    return exports.pick(input, exclusionFilter, options);
  };
},1042,[21,1043,1044,6,1045,41,27,1046]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = function (str) {
    return encodeURIComponent(str).replace(/[!'()*]/g, function (x) {
      return "%" + x.charCodeAt(0).toString(16).toUpperCase();
    });
  };
},1043,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var token = '%[a-f0-9]{2}';
  var singleMatcher = new RegExp(token, 'gi');
  var multiMatcher = new RegExp("(%[a-f0-9]{2})+", 'gi');

  function decodeComponents(components, split) {
    try {
      return decodeURIComponent(components.join(''));
    } catch (err) {}

    if (components.length === 1) {
      return components;
    }

    split = split || 1;
    var left = components.slice(0, split);
    var right = components.slice(split);
    return Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));
  }

  function decode(input) {
    try {
      return decodeURIComponent(input);
    } catch (err) {
      var tokens = input.match(singleMatcher);

      for (var i = 1; i < tokens.length; i++) {
        input = decodeComponents(tokens, i).join('');
        tokens = input.match(singleMatcher);
      }

      return input;
    }
  }

  function customDecodeURIComponent(input) {
    var replaceMap = {
      '%FE%FF': "\uFFFD\uFFFD",
      '%FF%FE': "\uFFFD\uFFFD"
    };
    var match = multiMatcher.exec(input);

    while (match) {
      try {
        replaceMap[match[0]] = decodeURIComponent(match[0]);
      } catch (err) {
        var result = decode(match[0]);

        if (result !== match[0]) {
          replaceMap[match[0]] = result;
        }
      }

      match = multiMatcher.exec(input);
    }

    replaceMap['%C2'] = "\uFFFD";
    var entries = Object.keys(replaceMap);

    for (var i = 0; i < entries.length; i++) {
      var key = entries[i];
      input = input.replace(new RegExp(key, 'g'), replaceMap[key]);
    }

    return input;
  }

  module.exports = function (encodedURI) {
    if (typeof encodedURI !== 'string') {
      throw new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');
    }

    try {
      encodedURI = encodedURI.replace(/\+/g, ' ');
      return decodeURIComponent(encodedURI);
    } catch (err) {
      return customDecodeURIComponent(encodedURI);
    }
  };
},1044,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = function (string, separator) {
    if (!(typeof string === 'string' && typeof separator === 'string')) {
      throw new TypeError('Expected the arguments to be of type `string`');
    }

    if (separator === '') {
      return [string];
    }

    var separatorIndex = string.indexOf(separator);

    if (separatorIndex === -1) {
      return [string];
    }

    return [string.slice(0, separatorIndex), string.slice(separatorIndex + separator.length)];
  };
},1045,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = function (obj, predicate) {
    var ret = {};
    var keys = Object.keys(obj);
    var isArr = Array.isArray(predicate);

    for (var i = 0; i < keys.length; i++) {
      var key = keys[i];
      var val = obj[key];

      if (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {
        ret[key] = val;
      }
    }

    return ret;
  };
},1046,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = fromEntries;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function fromEntries(entries) {
    return entries.reduce(function (acc, _ref) {
      var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
          k = _ref2[0],
          v = _ref2[1];

      if (acc.hasOwnProperty(k)) {
        throw new Error("A value for key '" + k + "' already exists in the object.");
      }

      acc[k] = v;
      return acc;
    }, {});
  }
},1047,[5,41]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = validatePathConfig;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var formatToList = function formatToList(items) {
    return items.map(function (key) {
      return "- " + key;
    }).join('\n');
  };

  function validatePathConfig(config) {
    var root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
    var validKeys = ['initialRouteName', 'screens'];

    if (!root) {
      validKeys.push('path', 'exact', 'stringify', 'parse');
    }

    var invalidKeys = Object.keys(config).filter(function (key) {
      return !validKeys.includes(key);
    });

    if (invalidKeys.length) {
      throw new Error("Found invalid properties in the configuration:\n" + formatToList(invalidKeys) + "\n\nDid you forget to specify them under a 'screens' property?\n\nYou can only specify the following properties:\n" + formatToList(validKeys) + "\n\nSee https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.");
    }

    if (config.screens) {
      Object.entries(config.screens).forEach(function (_ref) {
        var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
            _ = _ref2[0],
            value = _ref2[1];

        if (typeof value !== 'string') {
          validatePathConfig(value, false);
        }
      });
    }
  }
},1048,[5,41]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = getStateFromPath;

  var _defineProperty2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends4 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _escapeStringRegexp = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var queryString = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _findFocusedRoute = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _validatePathConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

  function getStateFromPath(path, options) {
    var _ref;

    if (options) {
      (0, _validatePathConfig.default)(options);
    }

    var initialRoutes = [];

    if (options != null && options.initialRouteName) {
      initialRoutes.push({
        initialRouteName: options.initialRouteName,
        parentScreens: []
      });
    }

    var screens = options == null ? undefined : options.screens;
    var remaining = path.replace(/\/+/g, '/').replace(/^\//, '').replace(/\?.*$/, '');
    remaining = remaining.endsWith('/') ? remaining : remaining + "/";

    if (screens === undefined) {
      var _routes = remaining.split('/').filter(Boolean).map(function (segment) {
        var name = decodeURIComponent(segment);
        return {
          name: name
        };
      });

      if (_routes.length) {
        return createNestedStateObject(path, _routes, initialRoutes);
      }

      return undefined;
    }

    var configs = (_ref = []).concat.apply(_ref, (0, _toConsumableArray2.default)(Object.keys(screens).map(function (key) {
      return createNormalizedConfigs(key, screens, [], initialRoutes, []);
    }))).sort(function (a, b) {
      if (a.pattern === b.pattern) {
        return b.routeNames.join('>').localeCompare(a.routeNames.join('>'));
      }

      if (a.pattern.startsWith(b.pattern)) {
        return -1;
      }

      if (b.pattern.startsWith(a.pattern)) {
        return 1;
      }

      var aParts = a.pattern.split('/');
      var bParts = b.pattern.split('/');

      for (var i = 0; i < Math.max(aParts.length, bParts.length); i++) {
        if (aParts[i] == null) {
          return 1;
        }

        if (bParts[i] == null) {
          return -1;
        }

        var aWildCard = aParts[i] === '*' || aParts[i].startsWith(':');
        var bWildCard = bParts[i] === '*' || bParts[i].startsWith(':');

        if (aWildCard && bWildCard) {
          continue;
        }

        if (aWildCard) {
          return 1;
        }

        if (bWildCard) {
          return -1;
        }
      }

      return bParts.length - aParts.length;
    });

    configs.reduce(function (acc, config) {
      if (acc[config.pattern]) {
        var a = acc[config.pattern].routeNames;
        var b = config.routeNames;
        var intersects = a.length > b.length ? b.every(function (it, i) {
          return a[i] === it;
        }) : a.every(function (it, i) {
          return b[i] === it;
        });

        if (!intersects) {
          throw new Error("Found conflicting screens with the same pattern. The pattern '" + config.pattern + "' resolves to both '" + a.join(' > ') + "' and '" + b.join(' > ') + "'. Patterns must be unique and cannot resolve to more than one screen.");
        }
      }

      return (0, _extends4.default)(acc, (0, _defineProperty2.default)({}, config.pattern, config));
    }, {});

    if (remaining === '/') {
      var match = configs.find(function (config) {
        return config.path === '' && config.routeNames.every(function (name) {
          var _configs$find;

          return !((_configs$find = configs.find(function (c) {
            return c.screen === name;
          })) != null && _configs$find.path);
        });
      });

      if (match) {
        return createNestedStateObject(path, match.routeNames.map(function (name) {
          return {
            name: name
          };
        }), initialRoutes, configs);
      }

      return undefined;
    }

    var result;
    var current;

    var _matchAgainstConfigs = matchAgainstConfigs(remaining, configs.map(function (c) {
      return (0, _extends4.default)({}, c, {
        regex: c.regex ? new RegExp(c.regex.source + '$') : undefined
      });
    })),
        routes = _matchAgainstConfigs.routes,
        remainingPath = _matchAgainstConfigs.remainingPath;

    if (routes !== undefined) {
      current = createNestedStateObject(path, routes, initialRoutes, configs);
      remaining = remainingPath;
      result = current;
    }

    if (current == null || result == null) {
      return undefined;
    }

    return result;
  }

  var joinPaths = function joinPaths() {
    var _ref2;

    for (var _len = arguments.length, paths = new Array(_len), _key = 0; _key < _len; _key++) {
      paths[_key] = arguments[_key];
    }

    return (_ref2 = []).concat.apply(_ref2, (0, _toConsumableArray2.default)(paths.map(function (p) {
      return p.split('/');
    }))).filter(Boolean).join('/');
  };

  var matchAgainstConfigs = function matchAgainstConfigs(remaining, configs) {
    var routes;
    var remainingPath = remaining;

    var _loop = function _loop(config) {
      if (!config.regex) {
        return "continue";
      }

      var match = remainingPath.match(config.regex);

      if (match) {
        var _config$pattern;

        var matchedParams = (_config$pattern = config.pattern) == null ? undefined : _config$pattern.split('/').filter(function (p) {
          return p.startsWith(':');
        }).reduce(function (acc, p, i) {
          return (0, _extends4.default)(acc, (0, _defineProperty2.default)({}, p, match[(i + 1) * 2].replace(/\//, '')));
        }, {});
        routes = config.routeNames.map(function (name) {
          var _config$path;

          var config = configs.find(function (c) {
            return c.screen === name;
          });
          var params = config == null ? undefined : (_config$path = config.path) == null ? undefined : _config$path.split('/').filter(function (p) {
            return p.startsWith(':');
          }).reduce(function (acc, p) {
            var value = matchedParams[p];

            if (value) {
              var _config$parse;

              var key = p.replace(/^:/, '').replace(/\?$/, '');
              acc[key] = (_config$parse = config.parse) != null && _config$parse[key] ? config.parse[key](value) : value;
            }

            return acc;
          }, {});

          if (params && Object.keys(params).length) {
            return {
              name: name,
              params: params
            };
          }

          return {
            name: name
          };
        });
        remainingPath = remainingPath.replace(match[1], '');
        return "break";
      }
    };

    for (var _iterator = _createForOfIteratorHelperLoose(configs), _step; !(_step = _iterator()).done;) {
      var config = _step.value;

      var _ret = _loop(config);

      if (_ret === "continue") continue;
      if (_ret === "break") break;
    }

    return {
      routes: routes,
      remainingPath: remainingPath
    };
  };

  var createNormalizedConfigs = function createNormalizedConfigs(screen, routeConfig) {
    var routeNames = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
    var initials = arguments.length > 3 ? arguments[3] : undefined;
    var parentScreens = arguments.length > 4 ? arguments[4] : undefined;
    var parentPattern = arguments.length > 5 ? arguments[5] : undefined;
    var configs = [];
    routeNames.push(screen);
    parentScreens.push(screen);
    var config = routeConfig[screen];

    if (typeof config === 'string') {
      var pattern = parentPattern ? joinPaths(parentPattern, config) : config;
      configs.push(createConfigItem(screen, routeNames, pattern, config));
    } else if (typeof config === 'object') {
      var _pattern;

      if (typeof config.path === 'string') {
        if (config.exact && config.path === undefined) {
          throw new Error("A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`.");
        }

        _pattern = config.exact !== true ? joinPaths(parentPattern || '', config.path || '') : config.path || '';
        configs.push(createConfigItem(screen, routeNames, _pattern, config.path, config.parse));
      }

      if (config.screens) {
        if (config.initialRouteName) {
          initials.push({
            initialRouteName: config.initialRouteName,
            parentScreens: parentScreens
          });
        }

        Object.keys(config.screens).forEach(function (nestedConfig) {
          var _pattern2;

          var result = createNormalizedConfigs(nestedConfig, config.screens, routeNames, initials, (0, _toConsumableArray2.default)(parentScreens), (_pattern2 = _pattern) != null ? _pattern2 : parentPattern);
          configs.push.apply(configs, (0, _toConsumableArray2.default)(result));
        });
      }
    }

    routeNames.pop();
    return configs;
  };

  var createConfigItem = function createConfigItem(screen, routeNames, pattern, path, parse) {
    pattern = pattern.split('/').filter(Boolean).join('/');
    var regex = pattern ? new RegExp("^(" + pattern.split('/').map(function (it) {
      if (it.startsWith(':')) {
        return "(([^/]+\\/)" + (it.endsWith('?') ? '?' : '') + ")";
      }

      return (it === '*' ? '.*' : (0, _escapeStringRegexp.default)(it)) + "\\/";
    }).join('') + ")") : undefined;
    return {
      screen: screen,
      regex: regex,
      pattern: pattern,
      path: path,
      routeNames: (0, _toConsumableArray2.default)(routeNames),
      parse: parse
    };
  };

  var findParseConfigForRoute = function findParseConfigForRoute(routeName, flatConfig) {
    for (var _iterator2 = _createForOfIteratorHelperLoose(flatConfig), _step2; !(_step2 = _iterator2()).done;) {
      var config = _step2.value;

      if (routeName === config.routeNames[config.routeNames.length - 1]) {
        return config.parse;
      }
    }

    return undefined;
  };

  var findInitialRoute = function findInitialRoute(routeName, parentScreens, initialRoutes) {
    for (var _iterator3 = _createForOfIteratorHelperLoose(initialRoutes), _step3; !(_step3 = _iterator3()).done;) {
      var config = _step3.value;

      if (parentScreens.length === config.parentScreens.length) {
        var sameParents = true;

        for (var i = 0; i < parentScreens.length; i++) {
          if (parentScreens[i].localeCompare(config.parentScreens[i]) !== 0) {
            sameParents = false;
            break;
          }
        }

        if (sameParents) {
          return routeName !== config.initialRouteName ? config.initialRouteName : undefined;
        }
      }
    }

    return undefined;
  };

  var createStateObject = function createStateObject(initialRoute, route, isEmpty) {
    if (isEmpty) {
      if (initialRoute) {
        return {
          index: 1,
          routes: [{
            name: initialRoute
          }, route]
        };
      } else {
        return {
          routes: [route]
        };
      }
    } else {
      if (initialRoute) {
        return {
          index: 1,
          routes: [{
            name: initialRoute
          }, (0, _extends4.default)({}, route, {
            state: {
              routes: []
            }
          })]
        };
      } else {
        return {
          routes: [(0, _extends4.default)({}, route, {
            state: {
              routes: []
            }
          })]
        };
      }
    }
  };

  var createNestedStateObject = function createNestedStateObject(path, routes, initialRoutes, flatConfig) {
    var state;
    var route = routes.shift();
    var parentScreens = [];
    var initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);
    parentScreens.push(route.name);
    state = createStateObject(initialRoute, route, routes.length === 0);

    if (routes.length > 0) {
      var nestedState = state;

      while (route = routes.shift()) {
        initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);
        var nestedStateIndex = nestedState.index || nestedState.routes.length - 1;
        nestedState.routes[nestedStateIndex].state = createStateObject(initialRoute, route, routes.length === 0);

        if (routes.length > 0) {
          nestedState = nestedState.routes[nestedStateIndex].state;
        }

        parentScreens.push(route.name);
      }
    }

    route = (0, _findFocusedRoute.default)(state);
    route.path = path;
    var params = parseQueryParams(path, flatConfig ? findParseConfigForRoute(route.name, flatConfig) : undefined);

    if (params) {
      route.params = (0, _extends4.default)({}, route.params, params);
    }

    return state;
  };

  var parseQueryParams = function parseQueryParams(path, parseConfig) {
    var query = path.split('?')[1];
    var params = queryString.parse(query);

    if (parseConfig) {
      Object.keys(params).forEach(function (name) {
        if (parseConfig[name] && typeof params[name] === 'string') {
          params[name] = parseConfig[name](params[name]);
        }
      });
    }

    return Object.keys(params).length ? params : undefined;
  };
},1049,[5,27,6,21,1050,1042,1012,1048]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = function (string) {
    if (typeof string !== 'string') {
      throw new TypeError('Expected a string');
    }

    return string.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&').replace(/-/g, '\\x2d');
  };
},1050,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var NavigationHelpersContext = React.createContext(undefined);
  var _default = NavigationHelpersContext;
  exports.default = _default;
},1051,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.PrivateValueStore = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var PrivateValueStore = function PrivateValueStore() {
    (0, _classCallCheck2.default)(this, PrivateValueStore);
  };

  exports.PrivateValueStore = PrivateValueStore;
},1052,[5,7]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useFocusEffect;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _useNavigation = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useFocusEffect(effect) {
    var navigation = (0, _useNavigation.default)();

    if (arguments[1] !== undefined) {
      var message = "You passed a second argument to 'useFocusEffect', but it only accepts one argument. If you want to pass a dependency array, you can use 'React.useCallback':\n\nuseFocusEffect(\n  React.useCallback(() => {\n    // Your code here\n  }, [depA, depB])\n);\n\nSee usage guide: https://reactnavigation.org/docs/use-focus-effect";
      console.error(message);
    }

    React.useEffect(function () {
      var isFocused = false;
      var cleanup;

      var callback = function callback() {
        var destroy = effect();

        if (destroy === undefined || typeof destroy === 'function') {
          return destroy;
        }
      };

      if (navigation.isFocused()) {
        cleanup = callback();
        isFocused = true;
      }

      var unsubscribeFocus = navigation.addListener('focus', function () {
        if (isFocused) {
          return;
        }

        if (cleanup !== undefined) {
          cleanup();
        }

        cleanup = callback();
        isFocused = true;
      });
      var unsubscribeBlur = navigation.addListener('blur', function () {
        if (cleanup !== undefined) {
          cleanup();
        }

        cleanup = undefined;
        isFocused = false;
      });
      return function () {
        if (cleanup !== undefined) {
          cleanup();
        }

        unsubscribeFocus();
        unsubscribeBlur();
      };
    }, [effect, navigation]);
  }
},1053,[17,5,1054]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useNavigation;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _NavigationContainerRefContext = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _NavigationContext = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useNavigation() {
    var root = React.useContext(_NavigationContainerRefContext.default);
    var navigation = React.useContext(_NavigationContext.default);

    if (navigation === undefined && root === undefined) {
      throw new Error("Couldn't find a navigation object. Is your component inside NavigationContainer?");
    }

    return navigation != null ? navigation : root;
  }
},1054,[17,5,1014,1015]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useIsFocused;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _useNavigation = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useIsFocused() {
    var navigation = (0, _useNavigation.default)();

    var _useState = (0, React.useState)(navigation.isFocused),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        isFocused = _useState2[0],
        setIsFocused = _useState2[1];

    var valueToReturn = navigation.isFocused();

    if (isFocused !== valueToReturn) {
      setIsFocused(valueToReturn);
    }

    React.useEffect(function () {
      var unsubscribeFocus = navigation.addListener('focus', function () {
        return setIsFocused(true);
      });
      var unsubscribeBlur = navigation.addListener('blur', function () {
        return setIsFocused(false);
      });
      return function () {
        unsubscribeFocus();
        unsubscribeBlur();
      };
    }, [navigation]);
    React.useDebugValue(valueToReturn);
    return valueToReturn;
  }
},1055,[5,41,17,1054]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useNavigationBuilder;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _defineProperty2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extends3 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _Group = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _isArrayEqual = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _isRecordEqual = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _NavigationHelpersContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _NavigationRouteContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _NavigationStateContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _Screen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _useChildListeners2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _useComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _useCurrentRender = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _useDescriptors = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _useEventEmitter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _useFocusedListenersChildrenAdapter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _useFocusEvents = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _useKeyedChildListeners = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _useNavigationHelpers = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _useOnAction = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[23]));

  var _useOnGetState = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[24]));

  var _useOnRouteFocus = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[25]));

  var _useRegisterNavigator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[26]));

  var _useScheduleUpdate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[27]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  _$$_REQUIRE(_dependencyMap[28]).PrivateValueStore;

  var isValidKey = function isValidKey(key) {
    return key === undefined || typeof key === 'string' && key !== '';
  };

  var getRouteConfigsFromChildren = function getRouteConfigsFromChildren(children, groupKey, groupOptions) {
    var configs = React.Children.toArray(children).reduce(function (acc, child) {
      var _child$type, _child$props;

      if (React.isValidElement(child)) {
        if (child.type === _Screen.default) {
          if (!isValidKey(child.props.navigationKey)) {
            throw new Error("Got an invalid 'navigationKey' prop (" + JSON.stringify(child.props.navigationKey) + ") for the screen '" + child.props.name + "'. It must be a non-empty string or 'undefined'.");
          }

          acc.push({
            keys: [groupKey, child.props.navigationKey],
            options: groupOptions,
            props: child.props
          });
          return acc;
        }

        if (child.type === React.Fragment || child.type === _Group.default) {
          if (!isValidKey(child.props.navigationKey)) {
            throw new Error("Got an invalid 'navigationKey' prop (" + JSON.stringify(child.props.navigationKey) + ") for the group. It must be a non-empty string or 'undefined'.");
          }

          acc.push.apply(acc, (0, _toConsumableArray2.default)(getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== _Group.default ? groupOptions : groupOptions != null ? [].concat((0, _toConsumableArray2.default)(groupOptions), [child.props.screenOptions]) : [child.props.screenOptions])));
          return acc;
        }
      }

      throw new Error("A navigator can only contain 'Screen', 'Group' or 'React.Fragment' as its direct children (found " + (React.isValidElement(child) ? "'" + (typeof child.type === 'string' ? child.type : (_child$type = child.type) == null ? undefined : _child$type.name) + "'" + ((_child$props = child.props) != null && _child$props.name ? " for the screen '" + child.props.name + "'" : '') : typeof child === 'object' ? JSON.stringify(child) : "'" + String(child) + "'") + "). To render this component in the navigator, pass it in the 'component' prop to 'Screen'.");
    }, []);
    return configs;
  };

  function useNavigationBuilder(createRouter, options) {
    var navigatorKey = (0, _useRegisterNavigator.default)();
    var route = React.useContext(_NavigationRouteContext.default);
    var children = options.children,
        screenListeners = options.screenListeners,
        rest = (0, _objectWithoutProperties2.default)(options, ["children", "screenListeners"]);

    var _React$useRef = React.useRef(createRouter((0, _extends3.default)({}, rest, route != null && route.params && route.params.state == null && route.params.initial !== false && typeof route.params.screen === 'string' ? {
      initialRouteName: route.params.screen
    } : null))),
        router = _React$useRef.current;

    var routeConfigs = getRouteConfigsFromChildren(children);
    var screens = routeConfigs.reduce(function (acc, config) {
      if (config.props.name in acc) {
        throw new Error("A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '" + config.props.name + "')");
      }

      acc[config.props.name] = config;
      return acc;
    }, {});
    var routeNames = routeConfigs.map(function (config) {
      return config.props.name;
    });
    var routeKeyList = routeNames.reduce(function (acc, curr) {
      acc[curr] = screens[curr].keys.map(function (key) {
        return key != null ? key : '';
      }).join(':');
      return acc;
    }, {});
    var routeParamList = routeNames.reduce(function (acc, curr) {
      var initialParams = screens[curr].props.initialParams;
      acc[curr] = initialParams;
      return acc;
    }, {});
    var routeGetIdList = routeNames.reduce(function (acc, curr) {
      return (0, _extends3.default)(acc, (0, _defineProperty2.default)({}, curr, screens[curr].props.getId));
    }, {});

    if (!routeNames.length) {
      throw new Error("Couldn't find any screens for the navigator. Have you defined any screens as its children?");
    }

    var isStateValid = React.useCallback(function (state) {
      return state.type === undefined || state.type === router.type;
    }, [router.type]);
    var isStateInitialized = React.useCallback(function (state) {
      return state !== undefined && state.stale === false && isStateValid(state);
    }, [isStateValid]);

    var _React$useContext = React.useContext(_NavigationStateContext.default),
        currentState = _React$useContext.state,
        getCurrentState = _React$useContext.getState,
        setCurrentState = _React$useContext.setState,
        setKey = _React$useContext.setKey,
        getKey = _React$useContext.getKey,
        getIsInitial = _React$useContext.getIsInitial;

    var stateCleanedUp = React.useRef(false);
    var cleanUpState = React.useCallback(function () {
      setCurrentState(undefined);
      stateCleanedUp.current = true;
    }, [setCurrentState]);
    var setState = React.useCallback(function (state) {
      if (stateCleanedUp.current) {
        return;
      }

      setCurrentState(state);
    }, [setCurrentState]);

    var _React$useMemo = React.useMemo(function () {
      var _route$params4;

      var initialRouteParamList = routeNames.reduce(function (acc, curr) {
        var _route$params, _route$params2, _route$params3;

        var initialParams = screens[curr].props.initialParams;
        var initialParamsFromParams = (route == null ? undefined : (_route$params = route.params) == null ? undefined : _route$params.state) == null && (route == null ? undefined : (_route$params2 = route.params) == null ? undefined : _route$params2.initial) !== false && (route == null ? undefined : (_route$params3 = route.params) == null ? undefined : _route$params3.screen) === curr ? route.params.params : undefined;
        acc[curr] = initialParams !== undefined || initialParamsFromParams !== undefined ? (0, _extends3.default)({}, initialParams, initialParamsFromParams) : undefined;
        return acc;
      }, {});

      if ((currentState === undefined || !isStateValid(currentState)) && (route == null ? undefined : (_route$params4 = route.params) == null ? undefined : _route$params4.state) == null) {
        return [router.getInitialState({
          routeNames: routeNames,
          routeParamList: initialRouteParamList,
          routeGetIdList: routeGetIdList
        }), true];
      } else {
        var _route$params$state, _route$params5;

        return [router.getRehydratedState((_route$params$state = route == null ? undefined : (_route$params5 = route.params) == null ? undefined : _route$params5.state) != null ? _route$params$state : currentState, {
          routeNames: routeNames,
          routeParamList: initialRouteParamList,
          routeGetIdList: routeGetIdList
        }), false];
      }
    }, [currentState, router, isStateValid]),
        _React$useMemo2 = (0, _slicedToArray2.default)(_React$useMemo, 2),
        initializedState = _React$useMemo2[0],
        isFirstStateInitialization = _React$useMemo2[1];

    var previousRouteKeyListRef = React.useRef(routeKeyList);
    React.useEffect(function () {
      previousRouteKeyListRef.current = routeKeyList;
    });
    var previousRouteKeyList = previousRouteKeyListRef.current;
    var state = isStateInitialized(currentState) ? currentState : initializedState;
    var nextState = state;

    if (!(0, _isArrayEqual.default)(state.routeNames, routeNames) || !(0, _isRecordEqual.default)(routeKeyList, previousRouteKeyList)) {
      nextState = router.getStateForRouteNamesChange(state, {
        routeNames: routeNames,
        routeParamList: routeParamList,
        routeGetIdList: routeGetIdList,
        routeKeyChanges: Object.keys(routeKeyList).filter(function (name) {
          return previousRouteKeyList.hasOwnProperty(name) && routeKeyList[name] !== previousRouteKeyList[name];
        })
      });
    }

    var previousNestedParamsRef = React.useRef(route == null ? undefined : route.params);
    React.useEffect(function () {
      previousNestedParamsRef.current = route == null ? undefined : route.params;
    }, [route == null ? undefined : route.params]);

    if (route != null && route.params) {
      var previousParams = previousNestedParamsRef.current;
      var action;

      if (typeof route.params.state === 'object' && route.params.state != null && route.params !== previousParams) {
        action = _$$_REQUIRE(_dependencyMap[29]).CommonActions.reset(route.params.state);
      } else if (typeof route.params.screen === 'string' && (route.params.initial === false && isFirstStateInitialization || route.params !== previousParams)) {
        action = _$$_REQUIRE(_dependencyMap[29]).CommonActions.navigate({
          name: route.params.screen,
          params: route.params.params,
          path: route.params.path
        });
      }

      var updatedState = action ? router.getStateForAction(nextState, action, {
        routeNames: routeNames,
        routeParamList: routeParamList,
        routeGetIdList: routeGetIdList
      }) : null;
      nextState = updatedState !== null ? router.getRehydratedState(updatedState, {
        routeNames: routeNames,
        routeParamList: routeParamList,
        routeGetIdList: routeGetIdList
      }) : nextState;
    }

    var shouldUpdate = state !== nextState;
    (0, _useScheduleUpdate.default)(function () {
      if (shouldUpdate) {
        setState(nextState);
      }
    });
    state = nextState;
    React.useEffect(function () {
      setKey(navigatorKey);

      if (!getIsInitial()) {
        setState(nextState);
      }

      return function () {
        setTimeout(function () {
          if (getCurrentState() !== undefined && getKey() === navigatorKey) {
            cleanUpState();
          }
        }, 0);
      };
    }, []);
    var initializedStateRef = React.useRef();
    initializedStateRef.current = initializedState;
    var getState = React.useCallback(function () {
      var currentState = getCurrentState();
      return isStateInitialized(currentState) ? currentState : initializedStateRef.current;
    }, [getCurrentState, isStateInitialized]);
    var emitter = (0, _useEventEmitter.default)(function (e) {
      var _ref;

      var routeNames = [];
      var route;

      if (e.target) {
        var _route;

        route = state.routes.find(function (route) {
          return route.key === e.target;
        });

        if ((_route = route) != null && _route.name) {
          routeNames.push(route.name);
        }
      } else {
        route = state.routes[state.index];
        routeNames.push.apply(routeNames, (0, _toConsumableArray2.default)(Object.keys(screens).filter(function (name) {
          var _route2;

          return ((_route2 = route) == null ? undefined : _route2.name) === name;
        })));
      }

      if (route == null) {
        return;
      }

      var navigation = descriptors[route.key].navigation;

      var listeners = (_ref = []).concat.apply(_ref, (0, _toConsumableArray2.default)([screenListeners].concat((0, _toConsumableArray2.default)(routeNames.map(function (name) {
        var listeners = screens[name].props.listeners;
        return listeners;
      }))).map(function (listeners) {
        var map = typeof listeners === 'function' ? listeners({
          route: route,
          navigation: navigation
        }) : listeners;
        return map ? Object.keys(map).filter(function (type) {
          return type === e.type;
        }).map(function (type) {
          return map == null ? undefined : map[type];
        }) : undefined;
      }))).filter(function (cb, i, self) {
        return cb && self.lastIndexOf(cb) === i;
      });

      listeners.forEach(function (listener) {
        return listener == null ? undefined : listener(e);
      });
    });
    (0, _useFocusEvents.default)({
      state: state,
      emitter: emitter
    });
    React.useEffect(function () {
      emitter.emit({
        type: 'state',
        data: {
          state: state
        }
      });
    }, [emitter, state]);

    var _useChildListeners = (0, _useChildListeners2.default)(),
        childListeners = _useChildListeners.listeners,
        addListener = _useChildListeners.addListener;

    var _useKeyedChildListene = (0, _useKeyedChildListeners.default)(),
        keyedListeners = _useKeyedChildListene.keyedListeners,
        addKeyedListener = _useKeyedChildListene.addKeyedListener;

    var onAction = (0, _useOnAction.default)({
      router: router,
      getState: getState,
      setState: setState,
      key: route == null ? undefined : route.key,
      actionListeners: childListeners.action,
      beforeRemoveListeners: keyedListeners.beforeRemove,
      routerConfigOptions: {
        routeNames: routeNames,
        routeParamList: routeParamList,
        routeGetIdList: routeGetIdList
      },
      emitter: emitter
    });
    var onRouteFocus = (0, _useOnRouteFocus.default)({
      router: router,
      key: route == null ? undefined : route.key,
      getState: getState,
      setState: setState
    });
    var navigation = (0, _useNavigationHelpers.default)({
      onAction: onAction,
      getState: getState,
      emitter: emitter,
      router: router
    });
    (0, _useFocusedListenersChildrenAdapter.default)({
      navigation: navigation,
      focusedListeners: childListeners.focus
    });
    (0, _useOnGetState.default)({
      getState: getState,
      getStateListeners: keyedListeners.getState
    });
    var descriptors = (0, _useDescriptors.default)({
      state: state,
      screens: screens,
      navigation: navigation,
      screenOptions: options.screenOptions,
      defaultScreenOptions: options.defaultScreenOptions,
      onAction: onAction,
      getState: getState,
      setState: setState,
      onRouteFocus: onRouteFocus,
      addListener: addListener,
      addKeyedListener: addKeyedListener,
      router: router,
      emitter: emitter
    });
    (0, _useCurrentRender.default)({
      state: state,
      navigation: navigation,
      descriptors: descriptors
    });
    var NavigationContent = (0, _useComponent.default)(_NavigationHelpersContext.default.Provider, {
      value: navigation
    });
    return {
      state: state,
      navigation: navigation,
      descriptors: descriptors,
      NavigationContent: NavigationContent
    };
  }
},1056,[5,41,27,6,108,21,17,1035,1057,1058,1051,1016,1017,1036,1019,1059,1060,1061,1020,1065,1066,1021,1067,1068,1070,1071,1072,1033,1052,1025]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = isArrayEqual;

  function isArrayEqual(a, b) {
    if (a === b) {
      return true;
    }

    if (a.length !== b.length) {
      return false;
    }

    return a.every(function (it, index) {
      return it === b[index];
    });
  }
},1057,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = isRecordEqual;

  function isRecordEqual(a, b) {
    if (a === b) {
      return true;
    }

    var aKeys = Object.keys(a);
    var bKeys = Object.keys(b);

    if (aKeys.length !== bKeys.length) {
      return false;
    }

    return aKeys.every(function (key) {
      return a[key] === b[key];
    });
  }
},1058,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useComponent;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useComponent(Component, props) {
    var propsRef = React.useRef(props);
    propsRef.current = props;
    React.useEffect(function () {
      propsRef.current = null;
    });
    return React.useRef(function (rest) {
      var props = propsRef.current;

      if (props === null) {
        throw new Error('The returned component must be rendered in the same render phase as the hook.');
      }

      return React.createElement(Component, (0, _extends2.default)({}, props, rest));
    }).current;
  }
},1059,[5,6,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useCurrentRender;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _CurrentRenderContext = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useCurrentRender(_ref) {
    var state = _ref.state,
        navigation = _ref.navigation,
        descriptors = _ref.descriptors;
    var current = React.useContext(_CurrentRenderContext.default);

    if (current && navigation.isFocused()) {
      current.options = descriptors[state.routes[state.index].key].options;
    }
  }
},1060,[17,5,1037]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useDescriptors;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _NavigationBuilderContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _NavigationContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _NavigationRouteContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _SceneView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _useNavigationCache = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _useRouteCache = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }

  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (undefined !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }

  function useDescriptors(_ref) {
    var state = _ref.state,
        screens = _ref.screens,
        navigation = _ref.navigation,
        screenOptions = _ref.screenOptions,
        defaultScreenOptions = _ref.defaultScreenOptions,
        onAction = _ref.onAction,
        getState = _ref.getState,
        setState = _ref.setState,
        addListener = _ref.addListener,
        addKeyedListener = _ref.addKeyedListener,
        onRouteFocus = _ref.onRouteFocus,
        router = _ref.router,
        emitter = _ref.emitter;

    var _React$useState = React.useState({}),
        _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
        options = _React$useState2[0],
        setOptions = _React$useState2[1];

    var _React$useContext = React.useContext(_NavigationBuilderContext.default),
        onDispatchAction = _React$useContext.onDispatchAction,
        onOptionsChange = _React$useContext.onOptionsChange,
        stackRef = _React$useContext.stackRef;

    var context = React.useMemo(function () {
      return {
        navigation: navigation,
        onAction: onAction,
        addListener: addListener,
        addKeyedListener: addKeyedListener,
        onRouteFocus: onRouteFocus,
        onDispatchAction: onDispatchAction,
        onOptionsChange: onOptionsChange,
        stackRef: stackRef
      };
    }, [navigation, onAction, addListener, addKeyedListener, onRouteFocus, onDispatchAction, onOptionsChange, stackRef]);
    var navigations = (0, _useNavigationCache.default)({
      state: state,
      getState: getState,
      navigation: navigation,
      setOptions: setOptions,
      router: router,
      emitter: emitter
    });
    var routes = (0, _useRouteCache.default)(state.routes);
    return routes.reduce(function (acc, route, i) {
      var config = screens[route.name];
      var screen = config.props;
      var navigation = navigations[route.key];
      var optionsList = [screenOptions].concat((0, _toConsumableArray2.default)(config.options ? config.options.filter(Boolean) : []), [screen.options, options[route.key]]);
      var customOptions = optionsList.reduce(function (acc, curr) {
        return (0, _extends2.default)(acc, typeof curr !== 'function' ? curr : curr({
          route: route,
          navigation: navigation
        }));
      }, {});
      var mergedOptions = (0, _extends2.default)({}, typeof defaultScreenOptions === 'function' ? defaultScreenOptions({
        route: route,
        navigation: navigation,
        options: customOptions
      }) : defaultScreenOptions, customOptions);

      var clearOptions = function clearOptions() {
        return setOptions(function (o) {
          if (route.key in o) {
            var _route$key = route.key,
                _ = o[_route$key],
                rest = (0, _objectWithoutProperties2.default)(o, [_route$key].map(_toPropertyKey));
            return rest;
          }

          return o;
        });
      };

      acc[route.key] = {
        route: route,
        navigation: navigation,
        render: function render() {
          return React.createElement(_NavigationBuilderContext.default.Provider, {
            key: route.key,
            value: context
          }, React.createElement(_NavigationContext.default.Provider, {
            value: navigation
          }, React.createElement(_NavigationRouteContext.default.Provider, {
            value: route
          }, React.createElement(_SceneView.default, {
            navigation: navigation,
            route: route,
            screen: screen,
            routeState: state.routes[i].state,
            getState: getState,
            setState: setState,
            options: mergedOptions,
            clearOptions: clearOptions
          }))));
        },
        options: mergedOptions
      };
      return acc;
    }, {});
  }
},1061,[5,108,6,21,41,17,1013,1015,1016,1062,1064,1040]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = SceneView;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _EnsureSingleNavigator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _NavigationStateContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _StaticContainer = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _useOptionsGetters2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function SceneView(_ref) {
    var screen = _ref.screen,
        route = _ref.route,
        navigation = _ref.navigation,
        routeState = _ref.routeState,
        getState = _ref.getState,
        setState = _ref.setState,
        options = _ref.options,
        clearOptions = _ref.clearOptions;
    var navigatorKeyRef = React.useRef();
    var getKey = React.useCallback(function () {
      return navigatorKeyRef.current;
    }, []);

    var _useOptionsGetters = (0, _useOptionsGetters2.default)({
      key: route.key,
      options: options,
      navigation: navigation
    }),
        addOptionsGetter = _useOptionsGetters.addOptionsGetter;

    var setKey = React.useCallback(function (key) {
      navigatorKeyRef.current = key;
    }, []);
    var getCurrentState = React.useCallback(function () {
      var state = getState();
      var currentRoute = state.routes.find(function (r) {
        return r.key === route.key;
      });
      return currentRoute ? currentRoute.state : undefined;
    }, [getState, route.key]);
    var setCurrentState = React.useCallback(function (child) {
      var state = getState();
      setState((0, _extends2.default)({}, state, {
        routes: state.routes.map(function (r) {
          return r.key === route.key ? (0, _extends2.default)({}, r, {
            state: child
          }) : r;
        })
      }));
    }, [getState, route.key, setState]);
    var isInitialRef = React.useRef(true);
    React.useEffect(function () {
      isInitialRef.current = false;
    });
    React.useEffect(function () {
      return clearOptions;
    }, []);
    var getIsInitial = React.useCallback(function () {
      return isInitialRef.current;
    }, []);
    var context = React.useMemo(function () {
      return {
        state: routeState,
        getState: getCurrentState,
        setState: setCurrentState,
        getKey: getKey,
        setKey: setKey,
        getIsInitial: getIsInitial,
        addOptionsGetter: addOptionsGetter
      };
    }, [routeState, getCurrentState, setCurrentState, getKey, setKey, getIsInitial, addOptionsGetter]);
    var ScreenComponent = screen.getComponent ? screen.getComponent() : screen.component;
    return React.createElement(_NavigationStateContext.default.Provider, {
      value: context
    }, React.createElement(_EnsureSingleNavigator.default, null, React.createElement(_StaticContainer.default, {
      name: screen.name,
      render: ScreenComponent || screen.children,
      navigation: navigation,
      route: route
    }, ScreenComponent !== undefined ? React.createElement(ScreenComponent, {
      navigation: navigation,
      route: route
    }) : screen.children !== undefined ? screen.children({
      navigation: navigation,
      route: route
    }) : null)));
  }
},1062,[5,6,17,1011,1017,1063,1022]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function StaticContainer(props) {
    return props.children;
  }

  var _default = React.memo(StaticContainer, function (prevProps, nextProps) {
    var prevPropKeys = Object.keys(prevProps);
    var nextPropKeys = Object.keys(nextProps);

    if (prevPropKeys.length !== nextPropKeys.length) {
      return false;
    }

    for (var _i = 0, _prevPropKeys = prevPropKeys; _i < _prevPropKeys.length; _i++) {
      var key = _prevPropKeys[_i];

      if (key === 'children') {
        continue;
      }

      if (prevProps[key] !== nextProps[key]) {
        return false;
      }
    }

    return true;
  });

  exports.default = _default;
},1063,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useNavigationCache;

  var _defineProperty2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extends3 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _NavigationBuilderContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useNavigationCache(_ref) {
    var state = _ref.state,
        getState = _ref.getState,
        navigation = _ref.navigation,
        _setOptions = _ref.setOptions,
        router = _ref.router,
        emitter = _ref.emitter;

    var _React$useContext = React.useContext(_NavigationBuilderContext.default),
        stackRef = _React$useContext.stackRef;

    var cache = React.useMemo(function () {
      return {
        current: {}
      };
    }, [getState, navigation, _setOptions, router, emitter]);
    var actions = (0, _extends3.default)({}, router.actionCreators, _$$_REQUIRE(_dependencyMap[6]).CommonActions);
    cache.current = state.routes.reduce(function (acc, route) {
      var previous = cache.current[route.key];

      if (previous) {
        acc[route.key] = previous;
      } else {
        var emit = navigation.emit,
            rest = (0, _objectWithoutProperties2.default)(navigation, ["emit"]);

        var _dispatch = function dispatch(thunk) {
          var action = typeof thunk === 'function' ? thunk(getState()) : thunk;

          if (action != null) {
            navigation.dispatch((0, _extends3.default)({
              source: route.key
            }, action));
          }
        };

        var withStack = function withStack(callback) {
          var isStackSet = false;

          try {
            callback();
          } finally {}
        };

        var helpers = Object.keys(actions).reduce(function (acc, name) {
          acc[name] = function () {
            for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
              args[_key] = arguments[_key];
            }

            return withStack(function () {
              return _dispatch(actions[name].apply(actions, args));
            });
          };

          return acc;
        }, {});
        acc[route.key] = (0, _extends3.default)({}, rest, helpers, emitter.create(route.key), {
          dispatch: function dispatch(thunk) {
            return withStack(function () {
              return _dispatch(thunk);
            });
          },
          setOptions: function setOptions(options) {
            return _setOptions(function (o) {
              return (0, _extends3.default)({}, o, (0, _defineProperty2.default)({}, route.key, (0, _extends3.default)({}, o[route.key], options)));
            });
          },
          isFocused: function isFocused() {
            var state = getState();

            if (state.routes[state.index].key !== route.key) {
              return false;
            }

            return navigation ? navigation.isFocused() : true;
          }
        });
      }

      return acc;
    }, {});
    return cache.current;
  }
},1064,[5,27,108,6,17,1013,1025]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useFocusedListenersChildrenAdapter;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _NavigationBuilderContext = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

  function useFocusedListenersChildrenAdapter(_ref) {
    var navigation = _ref.navigation,
        focusedListeners = _ref.focusedListeners;

    var _React$useContext = React.useContext(_NavigationBuilderContext.default),
        addListener = _React$useContext.addListener;

    var listener = React.useCallback(function (callback) {
      if (navigation.isFocused()) {
        for (var _iterator = _createForOfIteratorHelperLoose(focusedListeners), _step; !(_step = _iterator()).done;) {
          var _listener = _step.value;

          var _listener2 = _listener(callback),
              handled = _listener2.handled,
              result = _listener2.result;

          if (handled) {
            return {
              handled: handled,
              result: result
            };
          }
        }

        return {
          handled: true,
          result: callback(navigation)
        };
      } else {
        return {
          handled: false,
          result: null
        };
      }
    }, [focusedListeners, navigation]);
    React.useEffect(function () {
      return addListener == null ? undefined : addListener('focus', listener);
    }, [addListener, listener]);
  }
},1065,[17,5,1013]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useFocusEvents;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _NavigationContext = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useFocusEvents(_ref) {
    var state = _ref.state,
        emitter = _ref.emitter;
    var navigation = React.useContext(_NavigationContext.default);
    var lastFocusedKeyRef = React.useRef();
    var currentFocusedKey = state.routes[state.index].key;
    React.useEffect(function () {
      return navigation == null ? undefined : navigation.addListener('focus', function () {
        lastFocusedKeyRef.current = currentFocusedKey;
        emitter.emit({
          type: 'focus',
          target: currentFocusedKey
        });
      });
    }, [currentFocusedKey, emitter, navigation]);
    React.useEffect(function () {
      return navigation == null ? undefined : navigation.addListener('blur', function () {
        lastFocusedKeyRef.current = undefined;
        emitter.emit({
          type: 'blur',
          target: currentFocusedKey
        });
      });
    }, [currentFocusedKey, emitter, navigation]);
    React.useEffect(function () {
      var lastFocusedKey = lastFocusedKeyRef.current;
      lastFocusedKeyRef.current = currentFocusedKey;

      if (lastFocusedKey === undefined && !navigation) {
        emitter.emit({
          type: 'focus',
          target: currentFocusedKey
        });
      }

      if (lastFocusedKey === currentFocusedKey || !(navigation ? navigation.isFocused() : true)) {
        return;
      }

      if (lastFocusedKey === undefined) {
        return;
      }

      emitter.emit({
        type: 'blur',
        target: lastFocusedKey
      });
      emitter.emit({
        type: 'focus',
        target: currentFocusedKey
      });
    }, [currentFocusedKey, emitter, navigation]);
  }
},1066,[17,5,1015]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useNavigationHelpers;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _NavigationContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _UnhandledActionContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  _$$_REQUIRE(_dependencyMap[5]).PrivateValueStore;

  function useNavigationHelpers(_ref) {
    var onAction = _ref.onAction,
        getState = _ref.getState,
        emitter = _ref.emitter,
        router = _ref.router;
    var onUnhandledAction = React.useContext(_UnhandledActionContext.default);
    var parentNavigationHelpers = React.useContext(_NavigationContext.default);
    return React.useMemo(function () {
      var dispatch = function dispatch(op) {
        var action = typeof op === 'function' ? op(getState()) : op;
        var handled = onAction(action);

        if (!handled) {
          onUnhandledAction == null ? undefined : onUnhandledAction(action);
        }
      };

      var actions = (0, _extends2.default)({}, router.actionCreators, _$$_REQUIRE(_dependencyMap[6]).CommonActions);
      var helpers = Object.keys(actions).reduce(function (acc, name) {
        acc[name] = function () {
          return dispatch(actions[name].apply(actions, arguments));
        };

        return acc;
      }, {});
      return (0, _extends2.default)({}, parentNavigationHelpers, helpers, {
        dispatch: dispatch,
        emit: emitter.emit,
        isFocused: parentNavigationHelpers ? parentNavigationHelpers.isFocused : function () {
          return true;
        },
        canGoBack: function canGoBack() {
          var state = getState();
          return router.getStateForAction(state, _$$_REQUIRE(_dependencyMap[6]).CommonActions.goBack(), {
            routeNames: state.routeNames,
            routeParamList: {},
            routeGetIdList: {}
          }) !== null || (parentNavigationHelpers == null ? undefined : parentNavigationHelpers.canGoBack()) || false;
        },
        getParent: function getParent() {
          return parentNavigationHelpers;
        },
        getState: getState
      });
    }, [emitter.emit, getState, onAction, onUnhandledAction, parentNavigationHelpers, router]);
  }
},1067,[5,6,17,1015,1018,1052,1025]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useOnAction;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _NavigationBuilderContext = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _useOnPreventRemove = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useOnAction(_ref) {
    var router = _ref.router,
        getState = _ref.getState,
        setState = _ref.setState,
        key = _ref.key,
        actionListeners = _ref.actionListeners,
        beforeRemoveListeners = _ref.beforeRemoveListeners,
        routerConfigOptions = _ref.routerConfigOptions,
        emitter = _ref.emitter;

    var _React$useContext = React.useContext(_NavigationBuilderContext.default),
        onActionParent = _React$useContext.onAction,
        onRouteFocusParent = _React$useContext.onRouteFocus,
        addListenerParent = _React$useContext.addListener,
        onDispatchAction = _React$useContext.onDispatchAction;

    var routerConfigOptionsRef = React.useRef(routerConfigOptions);
    React.useEffect(function () {
      routerConfigOptionsRef.current = routerConfigOptions;
    });
    var onAction = React.useCallback(function (action) {
      var visitedNavigators = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Set();
      var state = getState();

      if (visitedNavigators.has(state.key)) {
        return false;
      }

      visitedNavigators.add(state.key);

      if (typeof action.target !== 'string' || action.target === state.key) {
        var result = router.getStateForAction(state, action, routerConfigOptionsRef.current);
        result = result === null && action.target === state.key ? state : result;

        if (result !== null) {
          onDispatchAction(action, state === result);

          if (state !== result) {
            var isPrevented = (0, _useOnPreventRemove.shouldPreventRemove)(emitter, beforeRemoveListeners, state.routes, result.routes, action);

            if (isPrevented) {
              return true;
            }

            setState(result);
          }

          if (onRouteFocusParent !== undefined) {
            var shouldFocus = router.shouldActionChangeFocus(action);

            if (shouldFocus && key !== undefined) {
              onRouteFocusParent(key);
            }
          }

          return true;
        }
      }

      if (onActionParent !== undefined) {
        if (onActionParent(action, visitedNavigators)) {
          return true;
        }
      }

      for (var i = actionListeners.length - 1; i >= 0; i--) {
        var listener = actionListeners[i];

        if (listener(action, visitedNavigators)) {
          return true;
        }
      }

      return false;
    }, [actionListeners, beforeRemoveListeners, emitter, getState, key, onActionParent, onDispatchAction, onRouteFocusParent, router, setState]);
    (0, _useOnPreventRemove.default)({
      getState: getState,
      emitter: emitter,
      beforeRemoveListeners: beforeRemoveListeners
    });
    React.useEffect(function () {
      return addListenerParent == null ? undefined : addListenerParent('action', onAction);
    }, [addListenerParent, onAction]);
    return onAction;
  }
},1068,[17,5,1013,1069]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useOnPreventRemove;
  exports.shouldPreventRemove = undefined;

  var _defineProperty2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends3 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _NavigationBuilderContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _NavigationRouteContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

  var VISITED_ROUTE_KEYS = Symbol('VISITED_ROUTE_KEYS');

  var shouldPreventRemove = function shouldPreventRemove(emitter, beforeRemoveListeners, currentRoutes, nextRoutes, action) {
    var _action$VISITED_ROUTE;

    var nextRouteKeys = nextRoutes.map(function (route) {
      return route.key;
    });
    var removedRoutes = currentRoutes.filter(function (route) {
      return !nextRouteKeys.includes(route.key);
    }).reverse();
    var visitedRouteKeys = (_action$VISITED_ROUTE = action[VISITED_ROUTE_KEYS]) != null ? _action$VISITED_ROUTE : new Set();
    var beforeRemoveAction = (0, _extends3.default)({}, action, (0, _defineProperty2.default)({}, VISITED_ROUTE_KEYS, visitedRouteKeys));

    for (var _iterator = _createForOfIteratorHelperLoose(removedRoutes), _step; !(_step = _iterator()).done;) {
      var _beforeRemoveListener;

      var route = _step.value;

      if (visitedRouteKeys.has(route.key)) {
        continue;
      }

      var isPrevented = (_beforeRemoveListener = beforeRemoveListeners[route.key]) == null ? undefined : _beforeRemoveListener.call(beforeRemoveListeners, beforeRemoveAction);

      if (isPrevented) {
        return true;
      }

      visitedRouteKeys.add(route.key);
      var event = emitter.emit({
        type: 'beforeRemove',
        target: route.key,
        data: {
          action: beforeRemoveAction
        },
        canPreventDefault: true
      });

      if (event.defaultPrevented) {
        return true;
      }
    }

    return false;
  };

  exports.shouldPreventRemove = shouldPreventRemove;

  function useOnPreventRemove(_ref) {
    var getState = _ref.getState,
        emitter = _ref.emitter,
        beforeRemoveListeners = _ref.beforeRemoveListeners;

    var _React$useContext = React.useContext(_NavigationBuilderContext.default),
        addKeyedListener = _React$useContext.addKeyedListener;

    var route = React.useContext(_NavigationRouteContext.default);
    var routeKey = route == null ? undefined : route.key;
    React.useEffect(function () {
      if (routeKey) {
        return addKeyedListener == null ? undefined : addKeyedListener('beforeRemove', routeKey, function (action) {
          var state = getState();
          return shouldPreventRemove(emitter, beforeRemoveListeners, state.routes, [], action);
        });
      }
    }, [addKeyedListener, beforeRemoveListeners, emitter, getState, routeKey]);
  }
},1069,[5,27,6,17,1013,1016]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useOnGetState;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _isArrayEqual = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _NavigationBuilderContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _NavigationRouteContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useOnGetState(_ref) {
    var getState = _ref.getState,
        getStateListeners = _ref.getStateListeners;

    var _React$useContext = React.useContext(_NavigationBuilderContext.default),
        addKeyedListener = _React$useContext.addKeyedListener;

    var route = React.useContext(_NavigationRouteContext.default);
    var key = route ? route.key : 'root';
    var getRehydratedState = React.useCallback(function () {
      var state = getState();
      var routes = state.routes.map(function (route) {
        var _getStateListeners$ro;

        var childState = (_getStateListeners$ro = getStateListeners[route.key]) == null ? undefined : _getStateListeners$ro.call(getStateListeners);

        if (route.state === childState) {
          return route;
        }

        return (0, _extends2.default)({}, route, {
          state: childState
        });
      });

      if ((0, _isArrayEqual.default)(state.routes, routes)) {
        return state;
      }

      return (0, _extends2.default)({}, state, {
        routes: routes
      });
    }, [getState, getStateListeners]);
    React.useEffect(function () {
      return addKeyedListener == null ? undefined : addKeyedListener('getState', key, getRehydratedState);
    }, [addKeyedListener, getRehydratedState, key]);
  }
},1070,[5,6,17,1057,1013,1016]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useOnRouteFocus;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _NavigationBuilderContext = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useOnRouteFocus(_ref) {
    var router = _ref.router,
        getState = _ref.getState,
        sourceRouteKey = _ref.key,
        setState = _ref.setState;

    var _React$useContext = React.useContext(_NavigationBuilderContext.default),
        onRouteFocusParent = _React$useContext.onRouteFocus;

    return React.useCallback(function (key) {
      var state = getState();
      var result = router.getStateForRouteFocus(state, key);

      if (result !== state) {
        setState(result);
      }

      if (onRouteFocusParent !== undefined && sourceRouteKey !== undefined) {
        onRouteFocusParent(sourceRouteKey);
      }
    }, [getState, onRouteFocusParent, router, setState, sourceRouteKey]);
  }
},1071,[17,5,1013]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useRegisterNavigator;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useRegisterNavigator() {
    var _React$useState = React.useState(function () {
      return (0, _$$_REQUIRE(_dependencyMap[3]).nanoid)();
    }),
        _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 1),
        key = _React$useState2[0];

    var container = React.useContext(_$$_REQUIRE(_dependencyMap[4]).SingleNavigatorContext);

    if (container === undefined) {
      throw new Error("Couldn't register the navigator. Have you wrapped your app with 'NavigationContainer'?\n\nThis can also happen if there are multiple copies of '@react-navigation' packages installed.");
    }

    React.useEffect(function () {
      var register = container.register,
          unregister = container.unregister;
      register(key);
      return function () {
        return unregister(key);
      };
    }, [container, key]);
    return key;
  }
},1072,[5,41,17,1028,1011]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useNavigationContainerRef;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _createNavigationContainerRef = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useNavigationContainerRef() {
    var navigation = React.useRef(null);

    if (navigation.current == null) {
      navigation.current = (0, _createNavigationContainerRef.default)();
    }

    return navigation.current;
  }
},1073,[17,5,1024]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useNavigationState;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _useNavigation = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useNavigationState(selector) {
    var navigation = (0, _useNavigation.default)();

    var _React$useState = React.useState(function () {
      return selector(navigation.getState());
    }),
        _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
        setResult = _React$useState2[1];

    var selectorRef = React.useRef(selector);
    React.useEffect(function () {
      selectorRef.current = selector;
    });
    React.useEffect(function () {
      var unsubscribe = navigation.addListener('state', function (e) {
        setResult(selectorRef.current(e.data.state));
      });
      return unsubscribe;
    }, [navigation]);
    return selector(navigation.getState());
  }
},1074,[5,41,17,1054]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useRoute;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _NavigationRouteContext = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useRoute() {
    var route = React.useContext(_NavigationRouteContext.default);

    if (route === undefined) {
      throw new Error("Couldn't find a route object. Is your component inside a screen in a navigator?");
    }

    return route;
  }
},1075,[17,5,1016]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _LinkingContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _DefaultTheme = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _ThemeProvider = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _useBackButton = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _useDocumentTitle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _useLinking2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _useThenable3 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  global.REACT_NAVIGATION_DEVTOOLS = new WeakMap();

  function NavigationContainerInner(_ref, ref) {
    var _ref$theme = _ref.theme,
        theme = _ref$theme === undefined ? _DefaultTheme.default : _ref$theme,
        linking = _ref.linking,
        _ref$fallback = _ref.fallback,
        fallback = _ref$fallback === undefined ? null : _ref$fallback,
        documentTitle = _ref.documentTitle,
        onReady = _ref.onReady,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["theme", "linking", "fallback", "documentTitle", "onReady"]);
    var isLinkingEnabled = linking ? linking.enabled !== false : false;

    if (linking != null && linking.config) {
      (0, _$$_REQUIRE(_dependencyMap[12]).validatePathConfig)(linking.config);
    }

    var refContainer = React.useRef(null);
    (0, _useBackButton.default)(refContainer);
    (0, _useDocumentTitle.default)(refContainer, documentTitle);

    var _useLinking = (0, _useLinking2.default)(refContainer, (0, _extends2.default)({
      independent: rest.independent,
      enabled: isLinkingEnabled,
      prefixes: []
    }, linking)),
        getInitialState = _useLinking.getInitialState;

    React.useEffect(function () {
      if (refContainer.current) {
        REACT_NAVIGATION_DEVTOOLS.set(refContainer.current, {
          get linking() {
            var _linking$prefixes, _linking$getStateFrom, _linking$getPathFromS, _linking$getActionFro;

            return (0, _extends2.default)({}, linking, {
              enabled: isLinkingEnabled,
              prefixes: (_linking$prefixes = linking == null ? undefined : linking.prefixes) != null ? _linking$prefixes : [],
              getStateFromPath: (_linking$getStateFrom = linking == null ? undefined : linking.getStateFromPath) != null ? _linking$getStateFrom : _$$_REQUIRE(_dependencyMap[12]).getStateFromPath,
              getPathFromState: (_linking$getPathFromS = linking == null ? undefined : linking.getPathFromState) != null ? _linking$getPathFromS : _$$_REQUIRE(_dependencyMap[12]).getPathFromState,
              getActionFromState: (_linking$getActionFro = linking == null ? undefined : linking.getActionFromState) != null ? _linking$getActionFro : _$$_REQUIRE(_dependencyMap[12]).getActionFromState
            });
          }

        });
      }
    });

    var _useThenable = (0, _useThenable3.default)(getInitialState),
        _useThenable2 = (0, _slicedToArray2.default)(_useThenable, 2),
        isResolved = _useThenable2[0],
        initialState = _useThenable2[1];

    React.useImperativeHandle(ref, function () {
      return refContainer.current;
    });
    var linkingContext = React.useMemo(function () {
      return {
        options: linking
      };
    }, [linking]);
    var isReady = rest.initialState != null || !isLinkingEnabled || isResolved;
    var onReadyRef = React.useRef(onReady);
    React.useEffect(function () {
      onReadyRef.current = onReady;
    });
    React.useEffect(function () {
      if (isReady) {
        onReadyRef.current == null ? undefined : onReadyRef.current();
      }
    }, [isReady]);

    if (!isReady) {
      return fallback;
    }

    return React.createElement(_LinkingContext.default.Provider, {
      value: linkingContext
    }, React.createElement(_ThemeProvider.default, {
      value: theme
    }, React.createElement(_$$_REQUIRE(_dependencyMap[12]).BaseNavigationContainer, (0, _extends2.default)({}, rest, {
      initialState: rest.initialState == null ? initialState : rest.initialState,
      ref: refContainer
    }))));
  }

  var NavigationContainer = React.forwardRef(NavigationContainerInner);
  var _default = NavigationContainer;
  exports.default = _default;
},1076,[5,41,6,108,17,1005,1077,1078,1080,1081,1082,1085,1007]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;
  var DefaultTheme = {
    dark: false,
    colors: {
      primary: 'rgb(0, 122, 255)',
      background: 'rgb(242, 242, 242)',
      card: 'rgb(255, 255, 255)',
      text: 'rgb(28, 28, 30)',
      border: 'rgb(216, 216, 216)',
      notification: 'rgb(255, 59, 48)'
    }
  };
  var _default = DefaultTheme;
  exports.default = _default;
},1077,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = ThemeProvider;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _ThemeContext = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function ThemeProvider(_ref) {
    var value = _ref.value,
        children = _ref.children;
    return React.createElement(_ThemeContext.default.Provider, {
      value: value
    }, children);
  }
},1078,[17,5,1079]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _DefaultTheme = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var ThemeContext = React.createContext(_DefaultTheme.default);
  ThemeContext.displayName = 'ThemeContext';
  var _default = ThemeContext;
  exports.default = _default;
},1079,[17,5,1077]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useBackButton;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[1]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useBackButton(ref) {
    React.useEffect(function () {
      var subscription = _reactNative.BackHandler.addEventListener('hardwareBackPress', function () {
        var navigation = ref.current;

        if (navigation == null) {
          return false;
        }

        if (navigation.canGoBack()) {
          navigation.goBack();
          return true;
        }

        return false;
      });

      return function () {
        return subscription.remove();
      };
    }, [ref]);
  }
},1080,[17,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useDocumentTitle;

  function useDocumentTitle() {}
},1081,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useLinking;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[1]);

  var _extractPathFromURL = _$$_REQUIRE(_dependencyMap[2])(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var linkingHandlers = [];

  function useLinking(ref, _ref) {
    var independent = _ref.independent,
        _ref$enabled = _ref.enabled,
        enabled = _ref$enabled === undefined ? true : _ref$enabled,
        prefixes = _ref.prefixes,
        filter = _ref.filter,
        config = _ref.config,
        _ref$getInitialURL = _ref.getInitialURL,
        getInitialURL = _ref$getInitialURL === undefined ? function () {
      return Promise.race([_reactNative.Linking.getInitialURL(), new Promise(function (resolve) {
        return setTimeout(resolve, 150);
      })]);
    } : _ref$getInitialURL,
        _ref$subscribe = _ref.subscribe,
        subscribe = _ref$subscribe === undefined ? function (listener) {
      var callback = function callback(_ref2) {
        var url = _ref2.url;
        return listener(url);
      };

      var subscription = _reactNative.Linking.addEventListener('url', callback);

      return function () {
        if (subscription != null && subscription.remove) {
          subscription.remove();
        } else {
          _reactNative.Linking.removeEventListener('url', callback);
        }
      };
    } : _ref$subscribe,
        _ref$getStateFromPath = _ref.getStateFromPath,
        getStateFromPath = _ref$getStateFromPath === undefined ? _$$_REQUIRE(_dependencyMap[4]).getStateFromPath : _ref$getStateFromPath,
        _ref$getActionFromSta = _ref.getActionFromState,
        getActionFromState = _ref$getActionFromSta === undefined ? _$$_REQUIRE(_dependencyMap[4]).getActionFromState : _ref$getActionFromSta;
    React.useEffect(function () {
      {
        return undefined;
      }

      if (independent) {
        return undefined;
      }

      if (enabled !== false && linkingHandlers.length) {
        console.error(['Looks like you have configured linking in multiple places. This is likely an error since deep links should only be handled in one place to avoid conflicts. Make sure that:', "- You don't have multiple NavigationContainers in the app each with 'linking' enabled", '- Only a single instance of the root component is rendered', _reactNative.Platform.OS === 'android' ? "- You have set 'android:launchMode=singleTask' in the '<activity />' section of the 'AndroidManifest.xml' file to avoid launching multiple instances" : ''].join('\n').trim());
      }

      var handler = Symbol();

      if (enabled !== false) {
        linkingHandlers.push(handler);
      }

      return function () {
        var index = linkingHandlers.indexOf(handler);

        if (index > -1) {
          linkingHandlers.splice(index, 1);
        }
      };
    }, [enabled, independent]);
    var enabledRef = React.useRef(enabled);
    var prefixesRef = React.useRef(prefixes);
    var filterRef = React.useRef(filter);
    var configRef = React.useRef(config);
    var getInitialURLRef = React.useRef(getInitialURL);
    var getStateFromPathRef = React.useRef(getStateFromPath);
    var getActionFromStateRef = React.useRef(getActionFromState);
    React.useEffect(function () {
      enabledRef.current = enabled;
      prefixesRef.current = prefixes;
      filterRef.current = filter;
      configRef.current = config;
      getInitialURLRef.current = getInitialURL;
      getStateFromPathRef.current = getStateFromPath;
      getActionFromStateRef.current = getActionFromState;
    });
    var getStateFromURL = React.useCallback(function (url) {
      if (!url || filterRef.current && !filterRef.current(url)) {
        return undefined;
      }

      var path = (0, _extractPathFromURL.default)(prefixesRef.current, url);
      return path ? getStateFromPathRef.current(path, configRef.current) : undefined;
    }, []);
    var getInitialState = React.useCallback(function () {
      var state;

      if (enabledRef.current) {
        var url = getInitialURLRef.current();

        if (url != null && typeof url !== 'string') {
          return url.then(function (url) {
            var state = getStateFromURL(url);
            return state;
          });
        }

        state = getStateFromURL(url);
      }

      var thenable = {
        then: function then(onfulfilled) {
          return Promise.resolve(onfulfilled ? onfulfilled(state) : state);
        },
        catch: function _catch() {
          return thenable;
        }
      };
      return thenable;
    }, [getStateFromURL]);
    React.useEffect(function () {
      var listener = function listener(url) {
        if (!enabled) {
          return;
        }

        var navigation = ref.current;
        var state = navigation ? getStateFromURL(url) : undefined;

        if (navigation && state) {
          var rootState = navigation.getRootState();

          if (state.routes.some(function (r) {
            return !(rootState != null && rootState.routeNames.includes(r.name));
          })) {
            console.warn("The navigation state parsed from the URL contains routes not present in the root navigator. This usually means that the linking configuration doesn't match the navigation structure. See https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.");
            return;
          }

          var action = getActionFromStateRef.current(state, configRef.current);

          if (action !== undefined) {
            try {
              navigation.dispatch(action);
            } catch (e) {
              console.warn("An error occurred when trying to handle the link '" + url + "': " + (typeof e === 'object' && e != null && 'message' in e ? e.message : e));
            }
          } else {
            navigation.resetRoot(state);
          }
        }
      };

      return subscribe(listener);
    }, [enabled, getStateFromURL, ref, subscribe]);
    return {
      getInitialState: getInitialState
    };
  }
},1082,[17,28,5,1083,1007]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = extractPathFromURL;

  var _escapeStringRegexp = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

  function extractPathFromURL(prefixes, url) {
    for (var _iterator = _createForOfIteratorHelperLoose(prefixes), _step; !(_step = _iterator()).done;) {
      var _prefix$match$, _prefix$match;

      var prefix = _step.value;
      var protocol = (_prefix$match$ = (_prefix$match = prefix.match(/^[^:]+:/)) == null ? undefined : _prefix$match[0]) != null ? _prefix$match$ : '';
      var host = prefix.replace(new RegExp("^" + (0, _escapeStringRegexp.default)(protocol)), '').replace(/\/+/g, '/').replace(/^\//, '');
      var prefixRegex = new RegExp("^" + (0, _escapeStringRegexp.default)(protocol) + "(/)*" + host.split('.').map(function (it) {
        return it === '*' ? '[^/]+' : (0, _escapeStringRegexp.default)(it);
      }).join('\\.'));
      var normalizedURL = url.replace(/\/+/g, '/');

      if (prefixRegex.test(normalizedURL)) {
        return normalizedURL.replace(prefixRegex, '');
      }
    }

    return undefined;
  }
},1083,[5,1084]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = function (string) {
    if (typeof string !== 'string') {
      throw new TypeError('Expected a string');
    }

    return string.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&').replace(/-/g, '\\x2d');
  };
},1084,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useThenable;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useThenable(create) {
    var _React$useState = React.useState(create),
        _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 1),
        promise = _React$useState2[0];

    var initialState = [false, undefined];
    promise.then(function (result) {
      initialState = [true, result];
    });

    var _React$useState3 = React.useState(initialState),
        _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
        state = _React$useState4[0],
        setState = _React$useState4[1];

    var _state = (0, _slicedToArray2.default)(state, 1),
        resolved = _state[0];

    React.useEffect(function () {
      var cancelled = false;

      var resolve = function _callee() {
        var result;
        return _regenerator.default.async(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.prev = 0;
                _context.next = 3;
                return _regenerator.default.awrap(promise);

              case 3:
                result = _context.sent;

              case 4:
                _context.prev = 4;

                if (!cancelled) {
                  setState([true, result]);
                }

                return _context.finish(4);

              case 7:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[0,, 4, 7]], Promise);
      };

      if (!resolved) {
        resolve();
      }

      return function () {
        cancelled = true;
      };
    }, [promise, resolved]);
    return state;
  }
},1085,[5,80,41,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _ServerContext = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = React.forwardRef(function ServerContainer(_ref, ref) {
    var children = _ref.children,
        location = _ref.location;
    React.useEffect(function () {
      console.error("'ServerContainer' should only be used on the server with 'react-dom/server' for SSR.");
    }, []);
    var current = {};

    if (ref) {
      var value = {
        getCurrentOptions: function getCurrentOptions() {
          return current.options;
        }
      };

      if (typeof ref === 'function') {
        ref(value);
      } else {
        ref.current = value;
      }
    }

    return React.createElement(_ServerContext.default.Provider, {
      value: {
        location: location
      }
    }, React.createElement(_$$_REQUIRE(_dependencyMap[3]).CurrentRenderContext.Provider, {
      value: current
    }, children));
  });

  exports.default = _default;
},1086,[17,5,1087,1007]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var ServerContext = React.createContext(undefined);
  var _default = ServerContext;
  exports.default = _default;
},1087,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;
  var DarkTheme = {
    dark: true,
    colors: {
      primary: 'rgb(10, 132, 255)',
      background: 'rgb(1, 1, 1)',
      card: 'rgb(18, 18, 18)',
      text: 'rgb(229, 229, 231)',
      border: 'rgb(39, 39, 41)',
      notification: 'rgb(255, 69, 58)'
    }
  };
  var _default = DarkTheme;
  exports.default = _default;
},1088,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useTheme;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _ThemeContext = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useTheme() {
    var theme = React.useContext(_ThemeContext.default);
    return theme;
  }
},1089,[17,5,1079]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {},1090,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useLinkBuilder;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _LinkingContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var getRootStateForNavigate = function getRootStateForNavigate(navigation, state) {
    var parent = navigation.getParent();

    if (parent) {
      var parentState = parent.getState();
      return getRootStateForNavigate(parent, {
        index: 0,
        routes: [(0, _extends2.default)({}, parentState.routes[parentState.index], {
          state: state
        })]
      });
    }

    return state;
  };

  function useLinkBuilder() {
    var navigation = React.useContext(_$$_REQUIRE(_dependencyMap[4]).NavigationHelpersContext);
    var linking = React.useContext(_LinkingContext.default);
    var buildLink = React.useCallback(function (name, params) {
      var options = linking.options;

      if ((options == null ? undefined : options.enabled) === false) {
        return undefined;
      }

      var state = navigation ? getRootStateForNavigate(navigation, {
        index: 0,
        routes: [{
          name: name,
          params: params
        }]
      }) : {
        index: 0,
        routes: [{
          name: name,
          params: params
        }]
      };
      var path = options != null && options.getPathFromState ? options.getPathFromState(state, options == null ? undefined : options.config) : (0, _$$_REQUIRE(_dependencyMap[4]).getPathFromState)(state, options == null ? undefined : options.config);
      return path;
    }, [linking, navigation]);
    return buildLink;
  }
},1091,[5,6,17,1005,1007]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useScrollToTop;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function getScrollableNode(ref) {
    if (ref.current == null) {
      return null;
    }

    if ('scrollToTop' in ref.current || 'scrollTo' in ref.current || 'scrollToOffset' in ref.current || 'scrollResponderScrollTo' in ref.current) {
      return ref.current;
    } else if ('getScrollResponder' in ref.current) {
      return ref.current.getScrollResponder();
    } else if ('getNode' in ref.current) {
      return ref.current.getNode();
    } else {
      return ref.current;
    }
  }

  function useScrollToTop(ref) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[1]).useNavigation)();
    var route = (0, _$$_REQUIRE(_dependencyMap[1]).useRoute)();
    React.useEffect(function () {
      var current = navigation;

      while (current && current.getState().type !== 'tab') {
        current = current.getParent();
      }

      if (!current) {
        return;
      }

      var unsubscribe = current.addListener('tabPress', function (e) {
        var isFocused = navigation.isFocused();
        var isFirst = navigation === current || navigation.getState().routes[0].key === route.key;
        requestAnimationFrame(function () {
          var scrollable = getScrollableNode(ref);

          if (isFocused && isFirst && scrollable && !e.defaultPrevented) {
            if ('scrollToTop' in scrollable) {
              scrollable.scrollToTop();
            } else if ('scrollTo' in scrollable) {
              scrollable.scrollTo({
                x: 0,
                y: 0,
                animated: true
              });
            } else if ('scrollToOffset' in scrollable) {
              scrollable.scrollToOffset({
                offset: 0,
                animated: true
              });
            } else if ('scrollResponderScrollTo' in scrollable) {
              scrollable.scrollResponderScrollTo({
                y: 0,
                animated: true
              });
            }
          }
        });
      });
      return unsubscribe;
    }, [navigation, ref, route.key]);
  }
},1092,[17,1007]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.SUPPORTED_LANGUAGES = undefined;
  exports.i18nInit = i18nInit;
  exports.i18nLocale = i18nLocale;
  exports.i18nTxt = i18nTxt;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _i18nJs = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _en = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _it = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _ar = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _da = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _de = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _frFR = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _nlNL = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _esES = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _roRO = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _sv = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _ptPT = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _ptBR = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _nlBE = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _nnNO = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _nbNO = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _sl = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var SUPPORTED_LANGUAGES = ["en", "it", "de", "fr-FR", "nl-NL", "es-ES", "ro-RO", "sv", "da", "pt-PT", "pt-BR", "nl-BE", "nn-NO", "nb-NO", "ar", "sl"];
  exports.SUPPORTED_LANGUAGES = SUPPORTED_LANGUAGES;

  function i18nInit(locale) {
    _i18nJs.default.locale = locale;
    _i18nJs.default.fallbacks = true;
    var translationsBackup = (0, _extends2.default)({}, _i18nJs.default.translations || {});
    var translationsLibrary = {
      en: _en.default,
      it: _it.default,
      ar: _ar.default,
      da: _da.default,
      de: _de.default,
      "fr-FR": _frFR.default,
      "nl-NL": _nlNL.default,
      "es-ES": _esES.default,
      "ro-RO": _roRO.default,
      sv: _sv.default,
      "pt-PT": _ptPT.default,
      "pt-BR": _ptBR.default,
      "nl-BE": _nlBE.default,
      "nn-NO": _nnNO.default,
      "nb-NO": _nbNO.default,
      sl: _sl.default
    };
    _i18nJs.default.translations = Object.keys(translationsLibrary).reduce(function (translations, libraryKey) {
      translations[libraryKey] = (0, _extends2.default)({}, translationsBackup[libraryKey] || {}, translationsLibrary[libraryKey] || {});
      return translations;
    }, {});
    Object.keys(translationsBackup).forEach(function (backupKey) {
      if (!_i18nJs.default.translations[backupKey]) {
        _i18nJs.default.translations[backupKey] = (0, _extends2.default)({}, translationsBackup[backupKey]);
      }
    });
  }

  function i18nLocale() {
    return _i18nJs.default.locale;
  }

  function i18nTxt(name, params) {
    return _i18nJs.default.t(name, params);
  }
},1093,[5,6,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  ;

  (function (root, factory) {
    if (typeof define === 'function' && define.amd) {
      define("i18n", function () {
        return factory(root);
      });
    } else if (typeof module === 'object' && module.exports) {
      module.exports = factory(root);
    } else {
      root.I18n = factory(root);
    }
  })(this, function (global) {
    "use strict";

    var I18n = global && global.I18n || {};
    var slice = Array.prototype.slice;

    var padding = function padding(number) {
      return ("0" + number.toString()).substr(-2);
    };

    var toFixed = function toFixed(number, precision) {
      return decimalAdjust('round', number, -precision).toFixed(precision);
    };

    var isObject = function isObject(obj) {
      var type = typeof obj;
      return type === 'function' || type === 'object';
    };

    var isFunction = function isFunction(func) {
      var type = typeof func;
      return type === 'function';
    };

    var isSet = function isSet(value) {
      return typeof value !== 'undefined' && value !== null;
    };

    var isArray = function isArray(val) {
      if (Array.isArray) {
        return Array.isArray(val);
      }

      return Object.prototype.toString.call(val) === '[object Array]';
    };

    var isString = function isString(val) {
      return typeof val === 'string' || Object.prototype.toString.call(val) === '[object String]';
    };

    var isNumber = function isNumber(val) {
      return typeof val === 'number' || Object.prototype.toString.call(val) === '[object Number]';
    };

    var isBoolean = function isBoolean(val) {
      return val === true || val === false;
    };

    var isNull = function isNull(val) {
      return val === null;
    };

    var decimalAdjust = function decimalAdjust(type, value, exp) {
      if (typeof exp === 'undefined' || +exp === 0) {
        return Math[type](value);
      }

      value = +value;
      exp = +exp;

      if (isNaN(value) || !(typeof exp === 'number' && exp % 1 === 0)) {
        return NaN;
      }

      value = value.toString().split('e');
      value = Math[type](+(value[0] + 'e' + (value[1] ? +value[1] - exp : -exp)));
      value = value.toString().split('e');
      return +(value[0] + 'e' + (value[1] ? +value[1] + exp : exp));
    };

    var lazyEvaluate = function lazyEvaluate(message, scope) {
      if (isFunction(message)) {
        return message(scope);
      } else {
        return message;
      }
    };

    var merge = function merge(dest, obj) {
      var key, value;

      for (key in obj) {
        if (obj.hasOwnProperty(key)) {
          value = obj[key];

          if (isString(value) || isNumber(value) || isBoolean(value) || isArray(value) || isNull(value)) {
            dest[key] = value;
          } else {
            if (dest[key] == null) dest[key] = {};
            merge(dest[key], value);
          }
        }
      }

      return dest;
    };

    var DATE = {
      day_names: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
      abbr_day_names: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
      month_names: [null, "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
      abbr_month_names: [null, "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
      meridian: ["AM", "PM"]
    };
    var NUMBER_FORMAT = {
      precision: 3,
      separator: ".",
      delimiter: ",",
      strip_insignificant_zeros: false
    };
    var CURRENCY_FORMAT = {
      unit: "$",
      precision: 2,
      format: "%u%n",
      sign_first: true,
      delimiter: ",",
      separator: "."
    };
    var PERCENTAGE_FORMAT = {
      unit: "%",
      precision: 3,
      format: "%n%u",
      separator: ".",
      delimiter: ""
    };
    var SIZE_UNITS = [null, "kb", "mb", "gb", "tb"];
    var DEFAULT_OPTIONS = {
      defaultLocale: "en",
      locale: "en",
      defaultSeparator: ".",
      placeholder: /(?:\{\{|%\{)(.*?)(?:\}\}?)/gm,
      fallbacks: false,
      translations: {},
      missingBehaviour: 'message',
      missingTranslationPrefix: ''
    };

    I18n.reset = function () {
      var key;

      for (key in DEFAULT_OPTIONS) {
        this[key] = DEFAULT_OPTIONS[key];
      }
    };

    I18n.initializeOptions = function () {
      var key;

      for (key in DEFAULT_OPTIONS) {
        if (!isSet(this[key])) {
          this[key] = DEFAULT_OPTIONS[key];
        }
      }
    };

    I18n.initializeOptions();
    I18n.locales = {};

    I18n.locales.get = function (locale) {
      var result = this[locale] || this[I18n.locale] || this["default"];

      if (isFunction(result)) {
        result = result(locale);
      }

      if (isArray(result) === false) {
        result = [result];
      }

      return result;
    };

    I18n.locales["default"] = function (locale) {
      var locales = [],
          list = [];

      if (locale) {
        locales.push(locale);
      }

      if (!locale && I18n.locale) {
        locales.push(I18n.locale);
      }

      if (I18n.fallbacks && I18n.defaultLocale) {
        locales.push(I18n.defaultLocale);
      }

      locales.forEach(function (locale) {
        var localeParts = locale.split("-");
        var firstFallback = null;
        var secondFallback = null;

        if (localeParts.length === 3) {
          firstFallback = [localeParts[0], localeParts[1]].join("-");
          secondFallback = localeParts[0];
        } else if (localeParts.length === 2) {
          firstFallback = localeParts[0];
        }

        if (list.indexOf(locale) === -1) {
          list.push(locale);
        }

        if (!I18n.fallbacks) {
          return;
        }

        [firstFallback, secondFallback].forEach(function (nullableFallbackLocale) {
          if (typeof nullableFallbackLocale === "undefined") {
            return;
          }

          if (nullableFallbackLocale === null) {
            return;
          }

          if (nullableFallbackLocale === locale) {
            return;
          }

          if (list.indexOf(nullableFallbackLocale) !== -1) {
            return;
          }

          list.push(nullableFallbackLocale);
        });
      });

      if (!locales.length) {
        locales.push("en");
      }

      return list;
    };

    I18n.pluralization = {};

    I18n.pluralization.get = function (locale) {
      return this[locale] || this[I18n.locale] || this["default"];
    };

    I18n.pluralization["default"] = function (count) {
      switch (count) {
        case 0:
          return ["zero", "other"];

        case 1:
          return ["one"];

        default:
          return ["other"];
      }
    };

    I18n.currentLocale = function () {
      return this.locale || this.defaultLocale;
    };

    I18n.isSet = isSet;

    I18n.lookup = function (scope, options) {
      options = options || {};
      var locales = this.locales.get(options.locale).slice(),
          locale,
          scopes,
          fullScope,
          translations;
      fullScope = this.getFullScope(scope, options);

      while (locales.length) {
        locale = locales.shift();
        scopes = fullScope.split(options.separator || this.defaultSeparator);
        translations = this.translations[locale];

        if (!translations) {
          continue;
        }

        while (scopes.length) {
          translations = translations[scopes.shift()];

          if (translations === undefined || translations === null) {
            break;
          }
        }

        if (translations !== undefined && translations !== null) {
          return translations;
        }
      }

      if (isSet(options.defaultValue)) {
        return lazyEvaluate(options.defaultValue, scope);
      }
    };

    I18n.pluralizationLookupWithoutFallback = function (count, locale, translations) {
      var pluralizer = this.pluralization.get(locale),
          pluralizerKeys = pluralizer(count),
          pluralizerKey,
          message;

      if (isObject(translations)) {
        while (pluralizerKeys.length) {
          pluralizerKey = pluralizerKeys.shift();

          if (isSet(translations[pluralizerKey])) {
            message = translations[pluralizerKey];
            break;
          }
        }
      }

      return message;
    };

    I18n.pluralizationLookup = function (count, scope, options) {
      options = options || {};
      var locales = this.locales.get(options.locale).slice(),
          locale,
          scopes,
          translations,
          message;
      scope = this.getFullScope(scope, options);

      while (locales.length) {
        locale = locales.shift();
        scopes = scope.split(options.separator || this.defaultSeparator);
        translations = this.translations[locale];

        if (!translations) {
          continue;
        }

        while (scopes.length) {
          translations = translations[scopes.shift()];

          if (!isObject(translations)) {
            break;
          }

          if (scopes.length === 0) {
            message = this.pluralizationLookupWithoutFallback(count, locale, translations);
          }
        }

        if (typeof message !== "undefined" && message !== null) {
          break;
        }
      }

      if (typeof message === "undefined" || message === null) {
        if (isSet(options.defaultValue)) {
          if (isObject(options.defaultValue)) {
            message = this.pluralizationLookupWithoutFallback(count, options.locale, options.defaultValue);
          } else {
            message = options.defaultValue;
          }

          translations = options.defaultValue;
        }
      }

      return {
        message: message,
        translations: translations
      };
    };

    I18n.meridian = function () {
      var time = this.lookup("time");
      var date = this.lookup("date");

      if (time && time.am && time.pm) {
        return [time.am, time.pm];
      } else if (date && date.meridian) {
        return date.meridian;
      } else {
        return DATE.meridian;
      }
    };

    I18n.prepareOptions = function () {
      var args = slice.call(arguments),
          options = {},
          subject;

      while (args.length) {
        subject = args.shift();

        if (typeof subject != "object") {
          continue;
        }

        for (var attr in subject) {
          if (!subject.hasOwnProperty(attr)) {
            continue;
          }

          if (isSet(options[attr])) {
            continue;
          }

          options[attr] = subject[attr];
        }
      }

      return options;
    };

    I18n.createTranslationOptions = function (scope, options) {
      var translationOptions = [{
        scope: scope
      }];

      if (isSet(options.defaults)) {
        translationOptions = translationOptions.concat(options.defaults);
      }

      if (isSet(options.defaultValue)) {
        translationOptions.push({
          message: options.defaultValue
        });
      }

      return translationOptions;
    };

    I18n.translate = function (scope, options) {
      options = options || {};
      var translationOptions = this.createTranslationOptions(scope, options);
      var translation;
      var usedScope = scope;
      var optionsWithoutDefault = this.prepareOptions(options);
      delete optionsWithoutDefault.defaultValue;
      var translationFound = translationOptions.some(function (translationOption) {
        if (isSet(translationOption.scope)) {
          usedScope = translationOption.scope;
          translation = this.lookup(usedScope, optionsWithoutDefault);
        } else if (isSet(translationOption.message)) {
          translation = lazyEvaluate(translationOption.message, scope);
        }

        if (translation !== undefined && translation !== null) {
          return true;
        }
      }, this);

      if (!translationFound) {
        return this.missingTranslation(scope, options);
      }

      if (typeof translation === "string") {
        translation = this.interpolate(translation, options);
      } else if (isArray(translation)) {
        translation = translation.map(function (t) {
          return typeof t === "string" ? this.interpolate(t, options) : t;
        }, this);
      } else if (isObject(translation) && isSet(options.count)) {
        translation = this.pluralize(options.count, usedScope, options);
      }

      return translation;
    };

    I18n.interpolate = function (message, options) {
      if (message == null) {
        return message;
      }

      options = options || {};
      var matches = message.match(this.placeholder),
          placeholder,
          value,
          name,
          regex;

      if (!matches) {
        return message;
      }

      while (matches.length) {
        placeholder = matches.shift();
        name = placeholder.replace(this.placeholder, "$1");

        if (isSet(options[name])) {
          value = options[name].toString().replace(/\$/gm, "_#$#_");
        } else if (name in options) {
          value = this.nullPlaceholder(placeholder, message, options);
        } else {
          value = this.missingPlaceholder(placeholder, message, options);
        }

        regex = new RegExp(placeholder.replace(/{/gm, "\\{").replace(/}/gm, "\\}"));
        message = message.replace(regex, value);
      }

      return message.replace(/_#\$#_/g, "$");
    };

    I18n.pluralize = function (count, scope, options) {
      options = this.prepareOptions({
        count: String(count)
      }, options);
      var pluralizer, result;
      result = this.pluralizationLookup(count, scope, options);

      if (typeof result.translations === "undefined" || result.translations == null) {
        return this.missingTranslation(scope, options);
      }

      if (typeof result.message !== "undefined" && result.message != null) {
        return this.interpolate(result.message, options);
      } else {
        pluralizer = this.pluralization.get(options.locale);
        return this.missingTranslation(scope + '.' + pluralizer(count)[0], options);
      }
    };

    I18n.missingTranslation = function (scope, options) {
      if (this.missingBehaviour === 'guess') {
        var s = scope.split('.').slice(-1)[0];
        return (this.missingTranslationPrefix.length > 0 ? this.missingTranslationPrefix : '') + s.replace(/_/g, ' ').replace(/([a-z])([A-Z])/g, function (match, p1, p2) {
          return p1 + ' ' + p2.toLowerCase();
        });
      }

      var localeForTranslation = options != null && options.locale != null ? options.locale : this.currentLocale();
      var fullScope = this.getFullScope(scope, options);
      var fullScopeWithLocale = [localeForTranslation, fullScope].join(options.separator || this.defaultSeparator);
      return '[missing "' + fullScopeWithLocale + '" translation]';
    };

    I18n.missingPlaceholder = function (placeholder, message, options) {
      return "[missing " + placeholder + " value]";
    };

    I18n.nullPlaceholder = function () {
      return I18n.missingPlaceholder.apply(I18n, arguments);
    };

    I18n.toNumber = function (number, options) {
      options = this.prepareOptions(options, this.lookup("number.format"), NUMBER_FORMAT);
      var negative = number < 0,
          string = toFixed(Math.abs(number), options.precision).toString(),
          parts = string.split("."),
          precision,
          buffer = [],
          formattedNumber,
          format = options.format || "%n",
          sign = negative ? "-" : "";
      number = parts[0];
      precision = parts[1];

      while (number.length > 0) {
        buffer.unshift(number.substr(Math.max(0, number.length - 3), 3));
        number = number.substr(0, number.length - 3);
      }

      formattedNumber = buffer.join(options.delimiter);

      if (options.strip_insignificant_zeros && precision) {
        precision = precision.replace(/0+$/, "");
      }

      if (options.precision > 0 && precision) {
        formattedNumber += options.separator + precision;
      }

      if (options.sign_first) {
        format = "%s" + format;
      } else {
        format = format.replace("%n", "%s%n");
      }

      formattedNumber = format.replace("%u", options.unit).replace("%n", formattedNumber).replace("%s", sign);
      return formattedNumber;
    };

    I18n.toCurrency = function (number, options) {
      options = this.prepareOptions(options, this.lookup("number.currency.format", options), this.lookup("number.format", options), CURRENCY_FORMAT);
      return this.toNumber(number, options);
    };

    I18n.localize = function (scope, value, options) {
      options || (options = {});

      switch (scope) {
        case "currency":
          return this.toCurrency(value, options);

        case "number":
          scope = this.lookup("number.format", options);
          return this.toNumber(value, scope);

        case "percentage":
          return this.toPercentage(value, options);

        default:
          var localizedValue;

          if (scope.match(/^(date|time)/)) {
            localizedValue = this.toTime(scope, value, options);
          } else {
            localizedValue = value.toString();
          }

          return this.interpolate(localizedValue, options);
      }
    };

    I18n.parseDate = function (date) {
      var matches, convertedDate, fraction;

      if (date == null) {
        return date;
      }

      if (typeof date === "object") {
        return date;
      }

      matches = date.toString().match(/(\d{4})-(\d{2})-(\d{2})(?:[ T](\d{2}):(\d{2}):(\d{2})([\.,]\d{1,3})?)?(Z|\+00:?00)?/);

      if (matches) {
        for (var i = 1; i <= 6; i++) {
          matches[i] = parseInt(matches[i], 10) || 0;
        }

        matches[2] -= 1;
        fraction = matches[7] ? 1000 * ("0" + matches[7]) : null;

        if (matches[8]) {
          convertedDate = new Date(Date.UTC(matches[1], matches[2], matches[3], matches[4], matches[5], matches[6], fraction));
        } else {
          convertedDate = new Date(matches[1], matches[2], matches[3], matches[4], matches[5], matches[6], fraction);
        }
      } else if (typeof date == "number") {
        convertedDate = new Date();
        convertedDate.setTime(date);
      } else if (date.match(/([A-Z][a-z]{2}) ([A-Z][a-z]{2}) (\d+) (\d+:\d+:\d+) ([+-]\d+) (\d+)/)) {
        convertedDate = new Date();
        convertedDate.setTime(Date.parse([RegExp.$1, RegExp.$2, RegExp.$3, RegExp.$6, RegExp.$4, RegExp.$5].join(" ")));
      } else if (date.match(/\d+ \d+:\d+:\d+ [+-]\d+ \d+/)) {
        convertedDate = new Date();
        convertedDate.setTime(Date.parse(date));
      } else {
        convertedDate = new Date();
        convertedDate.setTime(Date.parse(date));
      }

      return convertedDate;
    };

    I18n.strftime = function (date, format, options) {
      var options = this.lookup("date", options),
          meridianOptions = I18n.meridian();

      if (!options) {
        options = {};
      }

      options = this.prepareOptions(options, DATE);

      if (isNaN(date.getTime())) {
        throw new Error('I18n.strftime() requires a valid date object, but received an invalid date.');
      }

      var weekDay = date.getDay(),
          day = date.getDate(),
          year = date.getFullYear(),
          month = date.getMonth() + 1,
          hour = date.getHours(),
          hour12 = hour,
          meridian = hour > 11 ? 1 : 0,
          secs = date.getSeconds(),
          mins = date.getMinutes(),
          offset = date.getTimezoneOffset(),
          absOffsetHours = Math.floor(Math.abs(offset / 60)),
          absOffsetMinutes = Math.abs(offset) - absOffsetHours * 60,
          timezoneoffset = (offset > 0 ? "-" : "+") + (absOffsetHours.toString().length < 2 ? "0" + absOffsetHours : absOffsetHours) + (absOffsetMinutes.toString().length < 2 ? "0" + absOffsetMinutes : absOffsetMinutes);

      if (hour12 > 12) {
        hour12 = hour12 - 12;
      } else if (hour12 === 0) {
        hour12 = 12;
      }

      format = format.replace("%a", options.abbr_day_names[weekDay]);
      format = format.replace("%A", options.day_names[weekDay]);
      format = format.replace("%b", options.abbr_month_names[month]);
      format = format.replace("%B", options.month_names[month]);
      format = format.replace("%d", padding(day));
      format = format.replace("%e", day);
      format = format.replace("%-d", day);
      format = format.replace("%H", padding(hour));
      format = format.replace("%-H", hour);
      format = format.replace("%k", hour);
      format = format.replace("%I", padding(hour12));
      format = format.replace("%-I", hour12);
      format = format.replace("%l", hour12);
      format = format.replace("%m", padding(month));
      format = format.replace("%-m", month);
      format = format.replace("%M", padding(mins));
      format = format.replace("%-M", mins);
      format = format.replace("%p", meridianOptions[meridian]);
      format = format.replace("%P", meridianOptions[meridian].toLowerCase());
      format = format.replace("%S", padding(secs));
      format = format.replace("%-S", secs);
      format = format.replace("%w", weekDay);
      format = format.replace("%y", padding(year));
      format = format.replace("%-y", padding(year).replace(/^0+/, ""));
      format = format.replace("%Y", year);
      format = format.replace("%z", timezoneoffset);
      format = format.replace("%Z", timezoneoffset);
      return format;
    };

    I18n.toTime = function (scope, dateString, options) {
      var date = this.parseDate(dateString),
          format = this.lookup(scope, options);

      if (date == null) {
        return date;
      }

      var date_string = date.toString();

      if (date_string.match(/invalid/i)) {
        return date_string;
      }

      if (!format) {
        return date_string;
      }

      return this.strftime(date, format, options);
    };

    I18n.toPercentage = function (number, options) {
      options = this.prepareOptions(options, this.lookup("number.percentage.format", options), this.lookup("number.format", options), PERCENTAGE_FORMAT);
      return this.toNumber(number, options);
    };

    I18n.toHumanSize = function (number, options) {
      var kb = 1024,
          size = number,
          iterations = 0,
          unit,
          precision,
          fullScope;

      while (size >= kb && iterations < 4) {
        size = size / kb;
        iterations += 1;
      }

      if (iterations === 0) {
        fullScope = this.getFullScope("number.human.storage_units.units.byte", options);
        unit = this.t(fullScope, {
          count: size
        });
        precision = 0;
      } else {
        fullScope = this.getFullScope("number.human.storage_units.units." + SIZE_UNITS[iterations], options);
        unit = this.t(fullScope);
        precision = size - Math.floor(size) === 0 ? 0 : 1;
      }

      options = this.prepareOptions(options, {
        unit: unit,
        precision: precision,
        format: "%n%u",
        delimiter: ""
      });
      return this.toNumber(size, options);
    };

    I18n.getFullScope = function (scope, options) {
      options = options || {};

      if (isArray(scope)) {
        scope = scope.join(options.separator || this.defaultSeparator);
      }

      if (options.scope) {
        scope = [options.scope, scope].join(options.separator || this.defaultSeparator);
      }

      return scope;
    };

    I18n.extend = function (obj1, obj2) {
      if (typeof obj1 === "undefined" && typeof obj2 === "undefined") {
        return {};
      }

      return merge(obj1, obj2);
    };

    I18n.t = I18n.translate.bind(I18n);
    I18n.l = I18n.localize.bind(I18n);
    I18n.p = I18n.pluralize.bind(I18n);
    return I18n;
  });
},1094,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "str_tabs": "",
  "str_cancel": "Cancel",
  "str_done": "Done",
  "str_editions": "Editions",
  "str_special_sections": "Special sections",
  "str_modal_header_preferred_edition": "Favorites",
  "str_search": "Search",
  "str_latest": "Latest",
  "str_yesterday": "Yesterday",
  "str_archive_editions": "Archive",
  "str_newsstand": "Newsstand",
  "str_custom": "Calendar",
  "grouped_editions": "Others",
  "str_today": "Today",
  "str_month_names": "January,February,March,April,May,June,July,August,September,October,November,December",
  "str_month_names_short": "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec",
  "str_day_names": "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday",
  "str_day_names_short": "Sun,Mon,Tue,Wed,Thu,Fri,Sat",
  "str_not_available_offline": "The page is not available offline",
  "str_downloaded_editions": "Downloaded"
}
;
},1095,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "str_tabs": "",
  "str_cancel": "Annulla",
  "str_done": "Fatto",
  "str_editions": "Edizioni",
  "str_special_sections": "Sezioni Speciali",
  "str_modal_header_preferred_edition": "Preferiti",
  "str_search": "Ricerca",
  "str_latest": "Ultima",
  "str_yesterday": "Ieri",
  "str_archive_editions": "Arretrati",
  "str_newsstand": "Edicola",
  "str_custom": "Calendario",
  "str_today": "Oggi",
  "str_month_names": "Gennaio,Febbraio,Marzo,Aprile,Maggio,Giugno,Luglio,Agosto,Settembre,Ottobre,Novembre,Dicembre",
  "str_month_names_short": "Gen,Feb,Mar,Apr,Mag,Giu,Lug,Ago,Set,Ott,Nov,Dic",
  "str_day_names": "Domenica,Lunedì,Martedì,Mercoledì,Giovedì,Venerdì,Sabato",
  "str_day_names_short": "Dom,Lun,Mar,Mer,Gio,Ven,Sab",
  "str_not_available_offline": "La pagina non è disponibile offline",
  "grouped_editions": "Altri",
  "str_downloaded_editions": "Scaricati"
}
;
},1096,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "str_special_sections": "أقسام خاصة",
  "str_search": "البحث",
  "grouped_editions": "آحرون",
  "str_archive_editions": "أرشيف",
  "str_cancel": "يلغي",
  "str_custom": "تقويم",
  "str_day_names": "الاحد الاثنين الثلاثاء الاربعاء الخميس الجمعة السبت",
  "str_day_names_short": "الاحد ,الاثنين ,الثلاثاء ,الاربعاء ,الخميس ,الجمعة ,السبت",
  "str_done": "منتهي",
  "str_tabs": "",
  "str_today": "اليوم",
  "str_yesterday": "أمس",
  "str_not_available_offline": "الصفحة غير متوفرة حاليا",
  "str_newsstand": "الصحف والمجلات",
  "str_month_names_short": "يناير ، فبراير ، مارس ، أبريل ، مايو ، يونيو ، يوليو ، أغسطس ، سبتمبر ، أكتوبر ، نوفمبر ، ديسمبر",
  "str_modal_header_preferred_edition": "المفضلة",
  "str_editions": "طبعات",
  "str_latest": "أحدث",
  "str_month_names": "يناير ، فبراير ، مارس ، أبريل ، مايو ، يونيو ، يوليو ، أغسطس ، سبتمبر ، أكتوبر ، نوفمبر ، ديسمبر",
  "str_downloaded_editions": "تم التنزيل"
}
;
},1097,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "str_special_sections": "Særlige sektioner",
  "str_search": "Søg",
  "grouped_editions": "Andre",
  "str_month_names": "januar, februar, marts, april, maj, juni, juli, august, september, oktober, november, december",
  "str_archive_editions": "Arkiv",
  "str_cancel": "Afbestille",
  "str_custom": "Kalender",
  "str_done": "Færdig",
  "str_editions": "Udgaver",
  "str_latest": "Seneste",
  "str_modal_header_preferred_edition": "Favoritter",
  "str_newsstand": "Bladkiosk",
  "str_not_available_offline": "Siden er ikke tilgængelig offline",
  "str_today": "I dag",
  "str_yesterday": "I går",
  "str_tabs": "",
  "str_day_names": "Søndag Mandag Tirsdag Onsdag Torsdag Fredag ​​Lørdag",
  "str_day_names_short": "Søn, Man, Tir, Ons, Tor, Fre, Lør",
  "str_month_names_short": "Jan,feb,mar,apr,maj,jun,jul,aug,sep,okt,nov,dec",
  "str_downloaded_editions": "Downloadet"
}
;
},1098,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "str_special_sections": "Prospekte",
  "str_search": "Suche",
  "grouped_editions": "Andere",
  "str_month_names": "Januar, Februar, März, April, Mai, Juni, Juli, August, September, Oktober, November, Dezember",
  "str_archive_editions": "Archiv",
  "str_cancel": "Stornieren",
  "str_custom": "Kalender",
  "str_done": "Erledigt",
  "str_editions": "Ausgaben",
  "str_latest": "Neueste",
  "str_modal_header_preferred_edition": "Favoriten",
  "str_newsstand": "Zeitungsstand",
  "str_not_available_offline": "Die Seite ist offline nicht verfügbar",
  "str_today": "Heute",
  "str_yesterday": "Gestern",
  "str_tabs": "",
  "str_day_names": "Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag",
  "str_day_names_short": "Sonne mon tue wed thu fri saß",
  "str_month_names_short": "Jan Feb Mär Apr Mai Jun Jul Aug Sep Okt Nov Dez",
  "str_downloaded_editions": "Heruntergeladen"
}
;
},1099,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "str_special_sections": "Section Spéciale",
  "str_search": "Recherche",
  "str_today": "Aujourd'hui",
  "str_month_names": "Janvier,Février,Mars,Avril,Mai,Juin,Juillet,Août,Septembre,Octobre,Novembre,Décembre",
  "str_month_names_short": "Janv,Févr,Mars,Avril,Mai,Juin,Juil,Août,Sept,Oct,Nov,Déc",
  "str_day_names": "Dimanche,Lundi,Mardi,Mercredi,Jeudi,Vendredi,Samedi",
  "str_day_names_short": "Dim,Lun,Mar,Mer,Jeu,Ven,Sam",
  "grouped_editions": "Autres",
  "str_archive_editions": "Archive",
  "str_cancel": "Annuler",
  "str_custom": "Calendrier",
  "str_done": "Fait",
  "str_editions": "Éditions",
  "str_latest": "Dernier",
  "str_modal_header_preferred_edition": "Favoris",
  "str_newsstand": "Kiosque à journaux",
  "str_not_available_offline": "La page n'est pas disponible hors ligne",
  "str_yesterday": "Hier",
  "str_tabs": "",
  "str_downloaded_editions": "Téléchargé"
}
;
},1100,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "str_special_sections": "Speciale secties",
  "str_search": "Zoeken",
  "grouped_editions": "Anderen",
  "str_month_names": "januari,februari,maart,april,mei,juni,juli,augustus,september,oktober,november,december",
  "str_archive_editions": "Archief",
  "str_cancel": "Annuleren",
  "str_custom": "Kalender",
  "str_done": "Klaar",
  "str_editions": "edities",
  "str_latest": "Laatste",
  "str_modal_header_preferred_edition": "Favorieten",
  "str_newsstand": "Kiosk",
  "str_not_available_offline": "De pagina is niet offline beschikbaar",
  "str_today": "Vandaag",
  "str_yesterday": "Gisteren",
  "str_tabs": "",
  "str_day_names": "Zondag maandag dinsdag woensdag donderdag vrijdag zaterdag",
  "str_day_names_short": "Zo, ma, di, wo, do, vr, za",
  "str_month_names_short": "jan, feb, mrt, apr, mei, juni, juli, aug, sept, okt, nov, dec",
  "str_downloaded_editions": "gedownload"
}
;
},1101,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "str_tabs": "",
  "str_cancel": "Eliminar",
  "str_done": "Hecho",
  "str_editions": "Ediciones",
  "str_special_sections": "Ediciones Especiales",
  "str_modal_header_preferred_edition": "Preferidos",
  "str_search": "Busqueda",
  "str_latest": "El Último",
  "str_yesterday": "Ayer",
  "str_archive_editions": "Archivo",
  "str_newsstand": "Quiosco",
  "str_custom": "Personalizado",
  "grouped_editions": "Otros",
  "str_today": "Hoy",
  "str_month_names": "Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre",
  "str_month_names_short": "Ene,Feb,Mar,Abr,May,Jun,Jul,Ago,Sep,Oct,Nov,Dec",
  "str_day_names": "Domingo, Lunes, Martes, Miércoles, Jueves, Viernes, Sábado",
  "str_day_names_short": "Dom,Lun,Mar,Mie,Jue,Vie,Sab",
  "str_not_available_offline": "La página no está disponible sin conexión",
  "str_downloaded_editions": "descargado"
}
;
},1102,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "str_special_sections": "Secțiuni speciale",
  "str_search": "Căutare",
  "grouped_editions": "Alții",
  "str_month_names": "ianuarie,februarie,martie,aprilie,mai,iunie,iulie,august,septembrie,octombrie,noiembrie,decembrie",
  "str_archive_editions": "Arhiva",
  "str_cancel": "Anulare",
  "str_custom": "Calendar",
  "str_done": "Terminat",
  "str_editions": "Ediții",
  "str_latest": "Cele mai recente",
  "str_modal_header_preferred_edition": "Favorite",
  "str_newsstand": "Chioşc de ziare",
  "str_not_available_offline": "Pagina nu este disponibilă offline",
  "str_today": "Astăzi",
  "str_yesterday": "Ieri",
  "str_tabs": "",
  "str_day_names": "Duminica luni marti miercuri joi vineri sambata",
  "str_day_names_short": "Duminica, Luni, Marți, Miercuri, Joi, Vineri, Sâmbătă",
  "str_month_names_short": "ian, feb, martie, apr, mai, iunie, iulie, august, sept, oct, nov, dec",
  "str_downloaded_editions": "Descărcat"
}
;
},1103,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "str_special_sections": "Särskilda avsnitt",
  "str_search": "Sök",
  "grouped_editions": "Andra",
  "str_month_names": "Januari,februari,mars,april,maj,juni,juli,augusti,september,oktober,november,december",
  "str_archive_editions": "Arkiv",
  "str_cancel": "Annullera",
  "str_custom": "Kalender",
  "str_done": "Gjort",
  "str_editions": "Upplagor",
  "str_latest": "Senast",
  "str_modal_header_preferred_edition": "Favoriter",
  "str_newsstand": "Tidningskiosk",
  "str_not_available_offline": "Sidan är inte tillgänglig offline",
  "str_today": "I dag",
  "str_yesterday": "I går",
  "str_tabs": "",
  "str_day_names": "Söndag måndag tisdag onsdag torsdag fredag ​​lördag",
  "str_day_names_short": "Sön, Mån, Tis, Ons, Tors, Fre, Lör",
  "str_month_names_short": "Jan,feb,mars,apr,maj,jun,jul,aug,sep,okt,nov,dec",
  "str_downloaded_editions": "Nedladdat"
}
;
},1104,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "str_tabs": "",
  "str_cancel": "Cancelar",
  "str_done": "Feito",
  "str_editions": "Edições",
  "str_special_sections": "Secções Especiais",
  "str_modal_header_preferred_edition": "Favoritos",
  "str_search": "Pesquisa",
  "str_latest": "Mais recente",
  "str_yesterday": "Ontem",
  "str_archive_editions": "Arquivo",
  "str_newsstand": "Quiosque Notícias",
  "str_custom": "Calendário",
  "grouped_editions": "Outros",
  "str_today": "Hoje",
  "str_month_names": "Janeiro,Fevereiro,Março,Abril,Maio,Junho,Julho,Agosto,Setembro,Outubro,Novembro,Dezembro",
  "str_month_names_short": "Jan,Fev,Mar,Abr,Maio,Jun,Jul,Ago,Set,Out,Nov,Dez",
  "str_day_names": "Domingo,Segunda-feira,Terça-feira,Quarta-feira,Quinta-feira,Sexta-feira,Sábado",
  "str_day_names_short": "Dom,Seg,Ter,Qua,Qui,Sex,Sab",
  "str_not_available_offline": "A página não está disponível offline",
  "str_downloaded_editions": "baixado"
}
;
},1105,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "str_tabs": "",
  "str_cancel": "Cancelar",
  "str_done": "Feito",
  "str_editions": "Edições",
  "str_special_sections": "Secções Especiais",
  "str_modal_header_preferred_edition": "Favoritos",
  "str_search": "Pesquisa",
  "str_latest": "Mais recente",
  "str_yesterday": "Ontem",
  "str_archive_editions": "Arquivo",
  "str_newsstand": "Quiosque Notícias",
  "str_custom": "Calendário",
  "grouped_editions": "Outros",
  "str_today": "Hoje",
  "str_month_names": "Janeiro,Fevereiro,Março,Abril,Maio,Junho,Julho,Agosto,Setembro,Outubro,Novembro,Dezembro",
  "str_month_names_short": "Jan,Fev,Mar,Abr,Maio,Jun,Jul,Ago,Set,Out,Nov,Dez",
  "str_day_names": "Domingo,Segunda-feira,Terça-feira,Quarta-feira,Quinta-feira,Sexta-feira,Sábado",
  "str_day_names_short": "Dom,Seg,Ter,Qua,Qui,Sex,Sab",
  "str_not_available_offline": "A página não está disponível offline",
  "str_downloaded_editions": "baixado"
}
;
},1106,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "str_special_sections": "Speciale secties",
  "str_search": "Zoeken",
  "grouped_editions": "Anderen",
  "str_month_names": "januari,februari,maart,april,mei,juni,juli,augustus,september,oktober,november,december",
  "str_archive_editions": "Archief",
  "str_cancel": "Annuleren",
  "str_custom": "Kalender",
  "str_done": "Klaar",
  "str_editions": "edities",
  "str_latest": "Laatste",
  "str_modal_header_preferred_edition": "Favorieten",
  "str_newsstand": "Kiosk",
  "str_not_available_offline": "De pagina is niet offline beschikbaar",
  "str_today": "Vandaag",
  "str_yesterday": "Gisteren",
  "str_tabs": "",
  "str_day_names": "Zondag maandag dinsdag woensdag donderdag vrijdag zaterdag",
  "str_day_names_short": "Zo, ma, di, wo, do, vr, za",
  "str_month_names_short": "jan, feb, mrt, apr, mei, juni, juli, aug, sept, okt, nov, dec",
  "str_downloaded_editions": "gedownload"
}
;
},1107,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "str_special_sections": "Spesielle seksjoner",
  "str_search": "Søk",
  "str_month_names": "januar,februar,mars,april,mai,juni,juli,august,september,oktober,november,desember",
  "grouped_editions": "Andre",
  "str_archive_editions": "Arkiv",
  "str_cancel": "Avbryt",
  "str_custom": "Kalender",
  "str_done": "Ferdig",
  "str_editions": "Utgaver",
  "str_latest": "Siste",
  "str_modal_header_preferred_edition": "Favoritter",
  "str_newsstand": "Aviskiosk",
  "str_not_available_offline": "Siden er ikke tilgjengelig offline",
  "str_today": "I dag",
  "str_yesterday": "I går",
  "str_tabs": "",
  "str_day_names_short": "Søn, Man, Tir, Ons, Tors, Fre, Lør",
  "str_day_names": "Søndag Mandag Tirsdag Onsdag Torsdag Fredag ​​Lørdag",
  "str_month_names_short": "Jan,feb,mars,apr,mai,jun,jul,aug,sep,okt,nov,des"
}
;
},1108,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "str_special_sections": "Spesielle seksjoner",
  "str_search": "Søk",
  "grouped_editions": "Andre",
  "str_month_names": "januar,februar,mars,april,mai,juni,juli,august,september,oktober,november,desember",
  "str_archive_editions": "Arkiv",
  "str_cancel": "Avbryt",
  "str_custom": "Kalender",
  "str_done": "Ferdig",
  "str_editions": "Utgaver",
  "str_latest": "Siste",
  "str_modal_header_preferred_edition": "Favoritter",
  "str_newsstand": "Aviskiosk",
  "str_not_available_offline": "Siden er ikke tilgjengelig offline",
  "str_today": "I dag",
  "str_yesterday": "I går",
  "str_tabs": "",
  "str_day_names": "Søndag Mandag Tirsdag Onsdag Torsdag Fredag ​​Lørdag",
  "str_day_names_short": "Søn, Man, Tir, Ons, Tors, Fre, Lør",
  "str_month_names_short": "Jan,feb,mars,apr,mai,jun,jul,aug,sep,okt,nov,des",
  "str_downloaded_editions": "Lastet ned"
}
;
},1109,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
    "str_tabs": "",
    "str_cancel": "Prekliči",
    "str_done": "Opravljeno",
    "str_editions": "Izdaje",
    "str_special_sections": "Posebni razdelki",
    "str_modal_header_preferred_edition": "Priljubljene",
    "str_search": "Iskanje",
    "str_latest": "Najnovejše",
    "str_yesterday": "Včeraj",
    "str_archive_editions": "Arhiv",
    "str_newsstand": "Novičarska stojnica",
    "str_custom": "Koledar",
    "grouped_editions": "Drugi",
    "str_today": "Danes",
    "str_month_names": "Januar,Februar,Marec,April,Maj,Junij,Julij,Avgust,September,Oktober,November,December",
    "str_month_names_short": "Jan,Feb,Mar,Apr,Maj,Jun,Jul,Avg,Sep,Okt,Nov,Dec",
    "str_day_names": "Nedelja,Ponedeljek,Torek,Sreda,Četrtek,Petek,Sobota",
    "str_day_names_short": "Ned,Pon,Tor,Sre,Čet,Pet,Sob",
    "str_not_available_offline": "Stran ni na voljo brez povezave",
    "str_downloaded_editions": "Preneseno"
  }
  ;
},1110,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.SelectedEditionsContext = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classPrivateFieldLooseBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _classPrivateFieldLooseKey2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _log = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _userHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var SelectedEditionsContext = _react.default.createContext({
    editions: [],
    setEdition: function setEdition(edition) {}
  });

  exports.SelectedEditionsContext = SelectedEditionsContext;

  var _setValue = (0, _classPrivateFieldLooseKey2.default)("_setValue");

  var _getValue = (0, _classPrivateFieldLooseKey2.default)("_getValue");

  var UserConfig = function () {
    function UserConfig() {
      (0, _classCallCheck2.default)(this, UserConfig);
      Object.defineProperty(this, _getValue, {
        value: _getValue2
      });
      Object.defineProperty(this, _setValue, {
        value: _setValue2
      });
      this.editions = undefined;
      this.aspectRatio = undefined;
      this.selectedEditions = undefined;
      this.favoriteEdition = undefined;
    }

    (0, _createClass2.default)(UserConfig, [{
      key: "init",
      value: function init(pSetup) {
        var defaultSelectedEditions, selectedEditions;
        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _log.default.debug("Initializing user settings");

                defaultSelectedEditions = pSetup.defaultSelectedEditions;
                _context.prev = 2;
                _context.next = 5;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](_userHelper.default.SP.keys.selected_editions));

              case 5:
                _context.t0 = _context.sent;

                if (_context.t0) {
                  _context.next = 8;
                  break;
                }

                _context.t0 = defaultSelectedEditions;

              case 8:
                selectedEditions = _context.t0;
                this.selectedEditions = selectedEditions ? selectedEditions.split(",") : [];
                _context.next = 15;
                break;

              case 12:
                _context.prev = 12;
                _context.t1 = _context["catch"](2);
                this.selectedEditions = [];

              case 15:
                _context.prev = 15;
                _context.t2 = JSON;
                _context.next = 19;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](_userHelper.default.SP.keys.editions));

              case 19:
                _context.t3 = _context.sent;
                this.editions = _context.t2.parse.call(_context.t2, _context.t3);
                _context.next = 26;
                break;

              case 23:
                _context.prev = 23;
                _context.t4 = _context["catch"](15);

                _log.default.warn("failed to parse editions from action message");

              case 26:
                _context.prev = 26;
                _context.t5 = parseFloat;
                _context.next = 30;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](_userHelper.default.SP.keys.aspect_ratio));

              case 30:
                _context.t6 = _context.sent;

                if (_context.t6) {
                  _context.next = 33;
                  break;
                }

                _context.t6 = 1;

              case 33:
                _context.t7 = _context.t6;
                this.aspectRatio = (0, _context.t5)(_context.t7);
                _context.next = 40;
                break;

              case 37:
                _context.prev = 37;
                _context.t8 = _context["catch"](26);

                _log.default.warn("failed to parse aspect ratio");

              case 40:
                _context.next = 42;
                return _regenerator.default.awrap((0, _classPrivateFieldLooseBase2.default)(this, _getValue)[_getValue](_userHelper.default.SP.keys.favorite_edition));

              case 42:
                this.favoriteEdition = _context.sent;

                _log.default.debug("initialized without errors");

              case 44:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[2, 12], [15, 23], [26, 37]], Promise);
      }
    }, {
      key: "addEditionToSelected",
      value: function addEditionToSelected(editionName) {
        var index = this.selectedEditions.indexOf(editionName);

        if (index > -1) {
          this.selectedEditions.splice(index, 1);
        } else {
          this.selectedEditions.push(editionName);
        }

        _userHelper.default.setItem(_userHelper.default.SP.name, _userHelper.default.SP.keys.selected_editions, this.selectedEditions.join(","));

        return this.selectedEditions;
      }
    }, {
      key: "setEditions",
      value: function setEditions(editions) {
        if (editions) {
          this.editions = editions;

          (0, _classPrivateFieldLooseBase2.default)(this, _setValue)[_setValue](_userHelper.default.SP.keys.editions, JSON.stringify(editions));
        }
      }
    }, {
      key: "setAspectRatio",
      value: function setAspectRatio(aspectRatio) {
        this.aspectRatio = aspectRatio;

        (0, _classPrivateFieldLooseBase2.default)(this, _setValue)[_setValue](_userHelper.default.SP.keys.aspect_ratio, aspectRatio);
      }
    }, {
      key: "setFavoriteEdition",
      value: function setFavoriteEdition(favoriteEdition) {
        this.favoriteEdition = favoriteEdition;

        (0, _classPrivateFieldLooseBase2.default)(this, _setValue)[_setValue](_userHelper.default.SP.keys.favorite_edition, favoriteEdition);
      }
    }]);
    return UserConfig;
  }();

  function _setValue2(key, value) {
    return _regenerator.default.async(function _setValue2$(_context2) {
      while (1) {
        switch (_context2.prev = _context2.next) {
          case 0:
            return _context2.abrupt("return", _userHelper.default.setItem(_userHelper.default.SP.name, key, "" + value));

          case 1:
          case "end":
            return _context2.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function _getValue2(key) {
    var _value;

    var value;
    return _regenerator.default.async(function _getValue2$(_context3) {
      while (1) {
        switch (_context3.prev = _context3.next) {
          case 0:
            value = this[key];

            if (!(value === null || value === undefined)) {
              _context3.next = 6;
              break;
            }

            _log.default.debug(key + ": " + value);

            _context3.next = 5;
            return _regenerator.default.awrap(_userHelper.default.getItem(_userHelper.default.SP.name, key));

          case 5:
            value = _context3.sent;

          case 6:
            return _context3.abrupt("return", (_value = value) != null ? _value : "");

          case 7:
          case "end":
            return _context3.stop();
        }
      }
    }, null, this, null, Promise);
  }

  var _default = UserConfig;
  exports.default = _default;
},1111,[5,80,7,8,756,757,17,759,1112]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _storage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var UserHelper = function () {
    function UserHelper() {
      (0, _classCallCheck2.default)(this, UserHelper);
    }

    (0, _createClass2.default)(UserHelper, null, [{
      key: "setItem",
      value: function setItem(pSetup, key, value) {
        return _regenerator.default.async(function setItem$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", _storage.default.setItem(pSetup, key, value));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getItem",
      value: function getItem(pSetup, key) {
        return _regenerator.default.async(function getItem$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", _storage.default.getItem(pSetup, key));

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return UserHelper;
  }();

  UserHelper.SP = {
    name: "userSettings",
    keys: {
      aspect_ratio: "aspectRatio",
      editions: "editions",
      selected_editions: "selectedEditions",
      favorite_edition: "favoriteEdition"
    }
  };
  var _default = UserHelper;
  exports.default = _default;
},1112,[5,80,7,8,997]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.init = init;

  var _log = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function init() {
    _log.default.log("Do nothing on native code");
  }
},1113,[5,759]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _classPrivateFieldLooseBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _classPrivateFieldLooseKey2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _publication = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) {
    var hasNativeReflectConstruct = _isNativeReflectConstruct();

    return function _createSuperInternal() {
      var Super = (0, _getPrototypeOf2.default)(Derived),
          result;

      if (hasNativeReflectConstruct) {
        var NewTarget = (0, _getPrototypeOf2.default)(this).constructor;
        result = Reflect.construct(Super, arguments, NewTarget);
      } else {
        result = Super.apply(this, arguments);
      }

      return (0, _possibleConstructorReturn2.default)(this, result);
    };
  }

  function _isNativeReflectConstruct() {
    if (typeof Reflect === "undefined" || !Reflect.construct) return false;
    if (Reflect.construct.sham) return false;
    if (typeof Proxy === "function") return true;

    try {
      Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
      return true;
    } catch (e) {
      return false;
    }
  }

  var _label = (0, _classPrivateFieldLooseKey2.default)("_label");

  var _subLabel = (0, _classPrivateFieldLooseKey2.default)("_subLabel");

  var _group = (0, _classPrivateFieldLooseKey2.default)("_group");

  var _icon = (0, _classPrivateFieldLooseKey2.default)("_icon");

  var Edition = function (_Publication) {
    (0, _inherits2.default)(Edition, _Publication);

    var _super = _createSuper(Edition);

    function Edition() {
      var _this;

      (0, _classCallCheck2.default)(this, Edition);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      Object.defineProperty((0, _assertThisInitialized2.default)(_this), _label, {
        writable: true,
        value: undefined
      });
      Object.defineProperty((0, _assertThisInitialized2.default)(_this), _subLabel, {
        writable: true,
        value: undefined
      });
      Object.defineProperty((0, _assertThisInitialized2.default)(_this), _group, {
        writable: true,
        value: undefined
      });
      Object.defineProperty((0, _assertThisInitialized2.default)(_this), _icon, {
        writable: true,
        value: undefined
      });
      return _this;
    }

    (0, _createClass2.default)(Edition, [{
      key: "setLabel",
      value: function setLabel(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _label)[_label] = value;
      }
    }, {
      key: "getLabel",
      value: function getLabel() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _label)[_label];
      }
    }, {
      key: "setSubLabel",
      value: function setSubLabel(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _subLabel)[_subLabel] = value;
      }
    }, {
      key: "getSubLabel",
      value: function getSubLabel() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _subLabel)[_subLabel];
      }
    }, {
      key: "setGroup",
      value: function setGroup(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _group)[_group] = value;
      }
    }, {
      key: "getGroup",
      value: function getGroup() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _group)[_group] || [];
      }
    }, {
      key: "getMainSubEdition",
      value: function getMainSubEdition() {
        return this.getGroup().find(function (item) {
          return item.isMain();
        }) || this.getGroup()[0];
      }
    }, {
      key: "hasChild",
      value: function hasChild(child) {
        return this.getGroup().find(function (item) {
          return item.getName() === child.getName();
        }) !== undefined;
      }
    }, {
      key: "setIcon",
      value: function setIcon(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _icon)[_icon] = value;
      }
    }, {
      key: "getIcon",
      value: function getIcon() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _icon)[_icon];
      }
    }]);
    return Edition;
  }(_publication.default);

  exports.default = Edition;
},1114,[5,7,8,15,12,14,16,756,757,1115]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classPrivateFieldLooseBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classPrivateFieldLooseKey2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _issue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _name = (0, _classPrivateFieldLooseKey2.default)("_name");

  var _issues = (0, _classPrivateFieldLooseKey2.default)("_issues");

  var _bought = (0, _classPrivateFieldLooseKey2.default)("_bought");

  var _isSecondary = (0, _classPrivateFieldLooseKey2.default)("_isSecondary");

  var _isShortcut = (0, _classPrivateFieldLooseKey2.default)("_isShortcut");

  var _isPlaceholder = (0, _classPrivateFieldLooseKey2.default)("_isPlaceholder");

  var _isMain = (0, _classPrivateFieldLooseKey2.default)("_isMain");

  var _pSetup = (0, _classPrivateFieldLooseKey2.default)("_pSetup");

  var _parent = (0, _classPrivateFieldLooseKey2.default)("_parent");

  var _lazy = (0, _classPrivateFieldLooseKey2.default)("_lazy");

  var _forcePosition = (0, _classPrivateFieldLooseKey2.default)("_forcePosition");

  var Publication = function () {
    function Publication() {
      (0, _classCallCheck2.default)(this, Publication);
      Object.defineProperty(this, _name, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _issues, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _bought, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _isSecondary, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _isShortcut, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _isPlaceholder, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _isMain, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _pSetup, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _parent, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _lazy, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _forcePosition, {
        writable: true,
        value: undefined
      });
      (0, _classPrivateFieldLooseBase2.default)(this, _bought)[_bought] = false;
      (0, _classPrivateFieldLooseBase2.default)(this, _isSecondary)[_isSecondary] = false;
      (0, _classPrivateFieldLooseBase2.default)(this, _isShortcut)[_isShortcut] = false;
      (0, _classPrivateFieldLooseBase2.default)(this, _isPlaceholder)[_isPlaceholder] = false;
      (0, _classPrivateFieldLooseBase2.default)(this, _isMain)[_isMain] = false;
      (0, _classPrivateFieldLooseBase2.default)(this, _lazy)[_lazy] = false;
      (0, _classPrivateFieldLooseBase2.default)(this, _forcePosition)[_forcePosition] = false;
    }

    (0, _createClass2.default)(Publication, [{
      key: "setName",
      value: function setName(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _name)[_name] = value;
      }
    }, {
      key: "getName",
      value: function getName() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _name)[_name];
      }
    }, {
      key: "setIssues",
      value: function setIssues(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _issues)[_issues] = value;
      }
    }, {
      key: "getIssues",
      value: function getIssues() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _issues)[_issues] || [];
      }
    }, {
      key: "setBought",
      value: function setBought(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _bought)[_bought] = value;
      }
    }, {
      key: "isBought",
      value: function isBought() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _bought)[_bought];
      }
    }, {
      key: "setIsShortcut",
      value: function setIsShortcut(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _isShortcut)[_isShortcut] = value;
      }
    }, {
      key: "isShortcut",
      value: function isShortcut() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _isShortcut)[_isShortcut];
      }
    }, {
      key: "setIsSecondary",
      value: function setIsSecondary(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _isSecondary)[_isSecondary] = value;
      }
    }, {
      key: "isSecondary",
      value: function isSecondary() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _isSecondary)[_isSecondary];
      }
    }, {
      key: "setIsPlaceholder",
      value: function setIsPlaceholder(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _isPlaceholder)[_isPlaceholder] = value;
      }
    }, {
      key: "isPlaceholder",
      value: function isPlaceholder() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _isPlaceholder)[_isPlaceholder];
      }
    }, {
      key: "setIsMain",
      value: function setIsMain(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _isMain)[_isMain] = value;
      }
    }, {
      key: "isMain",
      value: function isMain() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _isMain)[_isMain];
      }
    }, {
      key: "setPSetup",
      value: function setPSetup(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _pSetup)[_pSetup] = value;
      }
    }, {
      key: "getPSetup",
      value: function getPSetup() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _pSetup)[_pSetup];
      }
    }, {
      key: "setParent",
      value: function setParent(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _parent)[_parent] = value;
      }
    }, {
      key: "getParent",
      value: function getParent() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _parent)[_parent];
      }
    }, {
      key: "setLazy",
      value: function setLazy(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _lazy)[_lazy] = value;
      }
    }, {
      key: "isLazy",
      value: function isLazy() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _lazy)[_lazy];
      }
    }, {
      key: "setForcePosition",
      value: function setForcePosition(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _forcePosition)[_forcePosition] = value;
      }
    }, {
      key: "isForcePosition",
      value: function isForcePosition() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _forcePosition)[_forcePosition];
      }
    }]);
    return Publication;
  }();

  exports.default = Publication;
},1115,[5,7,8,756,757,758]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classPrivateFieldLooseBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classPrivateFieldLooseKey2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _route = (0, _classPrivateFieldLooseKey2.default)("_route");

  var _level = (0, _classPrivateFieldLooseKey2.default)("_level");

  var _parent = (0, _classPrivateFieldLooseKey2.default)("_parent");

  var _routes = (0, _classPrivateFieldLooseKey2.default)("_routes");

  var _collapsed = (0, _classPrivateFieldLooseKey2.default)("_collapsed");

  var _icon = (0, _classPrivateFieldLooseKey2.default)("_icon");

  var _visibleIfLoggedIn = (0, _classPrivateFieldLooseKey2.default)("_visibleIfLoggedIn");

  var Route = function () {
    function Route() {
      (0, _classCallCheck2.default)(this, Route);
      Object.defineProperty(this, _route, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _level, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _parent, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _routes, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _collapsed, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _icon, {
        writable: true,
        value: undefined
      });
      Object.defineProperty(this, _visibleIfLoggedIn, {
        writable: true,
        value: undefined
      });
      (0, _classPrivateFieldLooseBase2.default)(this, _level)[_level] = 0;
      (0, _classPrivateFieldLooseBase2.default)(this, _parent)[_parent] = "";
      (0, _classPrivateFieldLooseBase2.default)(this, _collapsed)[_collapsed] = true;
      (0, _classPrivateFieldLooseBase2.default)(this, _routes)[_routes] = [];
    }

    (0, _createClass2.default)(Route, [{
      key: "getText",
      value: function getText() {
        return this.getRoute();
      }
    }, {
      key: "hasChildren",
      value: function hasChildren() {
        return this.getRoutes().length > 0;
      }
    }, {
      key: "setRoute",
      value: function setRoute(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _route)[_route] = value;
      }
    }, {
      key: "getRoute",
      value: function getRoute() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _route)[_route];
      }
    }, {
      key: "setLevel",
      value: function setLevel(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _level)[_level] = value;
      }
    }, {
      key: "getLevel",
      value: function getLevel() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _level)[_level];
      }
    }, {
      key: "setParent",
      value: function setParent(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _parent)[_parent] = value;
      }
    }, {
      key: "getParent",
      value: function getParent() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _parent)[_parent];
      }
    }, {
      key: "setCollapsed",
      value: function setCollapsed(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _collapsed)[_collapsed] = value;
      }
    }, {
      key: "isCollapsed",
      value: function isCollapsed() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _collapsed)[_collapsed];
      }
    }, {
      key: "setRoutes",
      value: function setRoutes(values) {
        (0, _classPrivateFieldLooseBase2.default)(this, _routes)[_routes] = values;
      }
    }, {
      key: "getRoutes",
      value: function getRoutes() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _routes)[_routes] || [];
      }
    }, {
      key: "setIcon",
      value: function setIcon(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _icon)[_icon] = value;
      }
    }, {
      key: "getIcon",
      value: function getIcon() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _icon)[_icon];
      }
    }, {
      key: "setVisibleIfLoggedIn",
      value: function setVisibleIfLoggedIn(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _visibleIfLoggedIn)[_visibleIfLoggedIn] = value;
      }
    }, {
      key: "isVisibleIfLoggedIn",
      value: function isVisibleIfLoggedIn() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _visibleIfLoggedIn)[_visibleIfLoggedIn];
      }
    }, {
      key: "toJson",
      value: function toJson() {
        return {
          route: (0, _classPrivateFieldLooseBase2.default)(this, _route)[_route],
          level: (0, _classPrivateFieldLooseBase2.default)(this, _level)[_level],
          parent: (0, _classPrivateFieldLooseBase2.default)(this, _parent)[_parent],
          collapsed: (0, _classPrivateFieldLooseBase2.default)(this, _collapsed)[_collapsed],
          icon: (0, _classPrivateFieldLooseBase2.default)(this, _icon)[_icon],
          visibleIfLoggedId: (0, _classPrivateFieldLooseBase2.default)(this, _visibleIfLoggedIn)[_visibleIfLoggedIn]
        };
      }
    }]);
    return Route;
  }();

  exports.default = Route;
},1116,[5,7,8,756,757]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _classPrivateFieldLooseBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _classPrivateFieldLooseKey2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _routeLabeled = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) {
    var hasNativeReflectConstruct = _isNativeReflectConstruct();

    return function _createSuperInternal() {
      var Super = (0, _getPrototypeOf2.default)(Derived),
          result;

      if (hasNativeReflectConstruct) {
        var NewTarget = (0, _getPrototypeOf2.default)(this).constructor;
        result = Reflect.construct(Super, arguments, NewTarget);
      } else {
        result = Super.apply(this, arguments);
      }

      return (0, _possibleConstructorReturn2.default)(this, result);
    };
  }

  function _isNativeReflectConstruct() {
    if (typeof Reflect === "undefined" || !Reflect.construct) return false;
    if (Reflect.construct.sham) return false;
    if (typeof Proxy === "function") return true;

    try {
      Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
      return true;
    } catch (e) {
      return false;
    }
  }

  var _action = (0, _classPrivateFieldLooseKey2.default)("_action");

  var RouteAction = function (_RouteLabeled) {
    (0, _inherits2.default)(RouteAction, _RouteLabeled);

    var _super = _createSuper(RouteAction);

    function RouteAction() {
      var _this;

      (0, _classCallCheck2.default)(this, RouteAction);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      Object.defineProperty((0, _assertThisInitialized2.default)(_this), _action, {
        writable: true,
        value: undefined
      });
      return _this;
    }

    (0, _createClass2.default)(RouteAction, [{
      key: "setAction",
      value: function setAction(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _action)[_action] = value;
      }
    }, {
      key: "getAction",
      value: function getAction() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _action)[_action];
      }
    }, {
      key: "toJson",
      value: function toJson() {
        return (0, _extends2.default)({}, (0, _get2.default)((0, _getPrototypeOf2.default)(RouteAction.prototype), "toJson", this).call(this), {
          action: (0, _classPrivateFieldLooseBase2.default)(this, _action)[_action]
        });
      }
    }]);
    return RouteAction;
  }(_routeLabeled.default);

  exports.default = RouteAction;
},1117,[5,6,7,8,15,90,12,14,16,756,757,1118]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _classPrivateFieldLooseBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _classPrivateFieldLooseKey2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _route = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) {
    var hasNativeReflectConstruct = _isNativeReflectConstruct();

    return function _createSuperInternal() {
      var Super = (0, _getPrototypeOf2.default)(Derived),
          result;

      if (hasNativeReflectConstruct) {
        var NewTarget = (0, _getPrototypeOf2.default)(this).constructor;
        result = Reflect.construct(Super, arguments, NewTarget);
      } else {
        result = Super.apply(this, arguments);
      }

      return (0, _possibleConstructorReturn2.default)(this, result);
    };
  }

  function _isNativeReflectConstruct() {
    if (typeof Reflect === "undefined" || !Reflect.construct) return false;
    if (Reflect.construct.sham) return false;
    if (typeof Proxy === "function") return true;

    try {
      Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
      return true;
    } catch (e) {
      return false;
    }
  }

  var _label = (0, _classPrivateFieldLooseKey2.default)("_label");

  var RouteLabeled = function (_Route) {
    (0, _inherits2.default)(RouteLabeled, _Route);

    var _super = _createSuper(RouteLabeled);

    function RouteLabeled() {
      var _this;

      (0, _classCallCheck2.default)(this, RouteLabeled);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      Object.defineProperty((0, _assertThisInitialized2.default)(_this), _label, {
        writable: true,
        value: undefined
      });
      return _this;
    }

    (0, _createClass2.default)(RouteLabeled, [{
      key: "setLabel",
      value: function setLabel(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _label)[_label] = value;
      }
    }, {
      key: "getLabel",
      value: function getLabel() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _label)[_label];
      }
    }, {
      key: "getText",
      value: function getText() {
        return this.getLabel();
      }
    }, {
      key: "toJson",
      value: function toJson() {
        return (0, _extends2.default)({}, (0, _get2.default)((0, _getPrototypeOf2.default)(RouteLabeled.prototype), "toJson", this).call(this), {
          label: (0, _classPrivateFieldLooseBase2.default)(this, _label)[_label]
        });
      }
    }]);
    return RouteLabeled;
  }(_route.default);

  exports.default = RouteLabeled;
},1118,[5,6,7,8,15,90,12,14,16,756,757,1116]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _classPrivateFieldLooseBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _classPrivateFieldLooseKey2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _edition2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _route = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _createSuper(Derived) {
    var hasNativeReflectConstruct = _isNativeReflectConstruct();

    return function _createSuperInternal() {
      var Super = (0, _getPrototypeOf2.default)(Derived),
          result;

      if (hasNativeReflectConstruct) {
        var NewTarget = (0, _getPrototypeOf2.default)(this).constructor;
        result = Reflect.construct(Super, arguments, NewTarget);
      } else {
        result = Super.apply(this, arguments);
      }

      return (0, _possibleConstructorReturn2.default)(this, result);
    };
  }

  function _isNativeReflectConstruct() {
    if (typeof Reflect === "undefined" || !Reflect.construct) return false;
    if (Reflect.construct.sham) return false;
    if (typeof Proxy === "function") return true;

    try {
      Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
      return true;
    } catch (e) {
      return false;
    }
  }

  var _edition = (0, _classPrivateFieldLooseKey2.default)("_edition");

  var _label = (0, _classPrivateFieldLooseKey2.default)("_label");

  var RouteEdition = function (_Route) {
    (0, _inherits2.default)(RouteEdition, _Route);

    var _super = _createSuper(RouteEdition);

    function RouteEdition() {
      var _this;

      (0, _classCallCheck2.default)(this, RouteEdition);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      Object.defineProperty((0, _assertThisInitialized2.default)(_this), _edition, {
        writable: true,
        value: undefined
      });
      Object.defineProperty((0, _assertThisInitialized2.default)(_this), _label, {
        writable: true,
        value: undefined
      });
      return _this;
    }

    (0, _createClass2.default)(RouteEdition, [{
      key: "setEdition",
      value: function setEdition(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _edition)[_edition] = value;
      }
    }, {
      key: "getEdition",
      value: function getEdition() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _edition)[_edition];
      }
    }, {
      key: "setLabel",
      value: function setLabel(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _label)[_label] = value;
      }
    }, {
      key: "getLabel",
      value: function getLabel() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _label)[_label];
      }
    }, {
      key: "getText",
      value: function getText() {
        return this.getLabel();
      }
    }, {
      key: "toJson",
      value: function toJson() {
        return (0, _extends2.default)({}, (0, _get2.default)((0, _getPrototypeOf2.default)(RouteEdition.prototype), "toJson", this).call(this), {
          edition: (0, _classPrivateFieldLooseBase2.default)(this, _edition)[_edition],
          label: (0, _classPrivateFieldLooseBase2.default)(this, _label)[_label]
        });
      }
    }]);
    return RouteEdition;
  }(_route.default);

  exports.default = RouteEdition;
},1119,[5,6,7,8,15,90,12,14,16,756,757,1114,1116]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _classPrivateFieldLooseBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _classPrivateFieldLooseKey2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _routeEdition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) {
    var hasNativeReflectConstruct = _isNativeReflectConstruct();

    return function _createSuperInternal() {
      var Super = (0, _getPrototypeOf2.default)(Derived),
          result;

      if (hasNativeReflectConstruct) {
        var NewTarget = (0, _getPrototypeOf2.default)(this).constructor;
        result = Reflect.construct(Super, arguments, NewTarget);
      } else {
        result = Super.apply(this, arguments);
      }

      return (0, _possibleConstructorReturn2.default)(this, result);
    };
  }

  function _isNativeReflectConstruct() {
    if (typeof Reflect === "undefined" || !Reflect.construct) return false;
    if (Reflect.construct.sham) return false;
    if (typeof Proxy === "function") return true;

    try {
      Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
      return true;
    } catch (e) {
      return false;
    }
  }

  var _issueDayIndex = (0, _classPrivateFieldLooseKey2.default)("_issueDayIndex");

  var _fixed = (0, _classPrivateFieldLooseKey2.default)("_fixed");

  var RouteEditionsDate = function (_RouteEdition) {
    (0, _inherits2.default)(RouteEditionsDate, _RouteEdition);

    var _super = _createSuper(RouteEditionsDate);

    function RouteEditionsDate() {
      var _this;

      (0, _classCallCheck2.default)(this, RouteEditionsDate);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      Object.defineProperty((0, _assertThisInitialized2.default)(_this), _issueDayIndex, {
        writable: true,
        value: 0
      });
      Object.defineProperty((0, _assertThisInitialized2.default)(_this), _fixed, {
        writable: true,
        value: true
      });
      return _this;
    }

    (0, _createClass2.default)(RouteEditionsDate, [{
      key: "setIssueDayIndex",
      value: function setIssueDayIndex(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _issueDayIndex)[_issueDayIndex] = value;
      }
    }, {
      key: "getIssueDayIndex",
      value: function getIssueDayIndex() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _issueDayIndex)[_issueDayIndex];
      }
    }, {
      key: "setFixed",
      value: function setFixed(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _fixed)[_fixed] = value;
      }
    }, {
      key: "isFixed",
      value: function isFixed() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _fixed)[_fixed];
      }
    }, {
      key: "toJson",
      value: function toJson() {
        return (0, _extends2.default)({}, (0, _get2.default)((0, _getPrototypeOf2.default)(RouteEditionsDate.prototype), "toJson", this).call(this), {
          issueDayIndex: (0, _classPrivateFieldLooseBase2.default)(this, _issueDayIndex)[_issueDayIndex],
          fixed: (0, _classPrivateFieldLooseBase2.default)(this, _fixed)[_fixed]
        });
      }
    }]);
    return RouteEditionsDate;
  }(_routeEdition.default);

  exports.default = RouteEditionsDate;
},1120,[5,6,7,8,15,90,12,14,16,756,757,1119]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _classPrivateFieldLooseBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _classPrivateFieldLooseKey2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _route = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) {
    var hasNativeReflectConstruct = _isNativeReflectConstruct();

    return function _createSuperInternal() {
      var Super = (0, _getPrototypeOf2.default)(Derived),
          result;

      if (hasNativeReflectConstruct) {
        var NewTarget = (0, _getPrototypeOf2.default)(this).constructor;
        result = Reflect.construct(Super, arguments, NewTarget);
      } else {
        result = Super.apply(this, arguments);
      }

      return (0, _possibleConstructorReturn2.default)(this, result);
    };
  }

  function _isNativeReflectConstruct() {
    if (typeof Reflect === "undefined" || !Reflect.construct) return false;
    if (Reflect.construct.sham) return false;
    if (typeof Proxy === "function") return true;

    try {
      Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
      return true;
    } catch (e) {
      return false;
    }
  }

  var _label = (0, _classPrivateFieldLooseKey2.default)("_label");

  var _initialRouteName = (0, _classPrivateFieldLooseKey2.default)("_initialRouteName");

  var RouteTabs = function (_Route) {
    (0, _inherits2.default)(RouteTabs, _Route);

    var _super = _createSuper(RouteTabs);

    function RouteTabs(label) {
      var _this;

      (0, _classCallCheck2.default)(this, RouteTabs);
      _this = _super.call(this);
      Object.defineProperty((0, _assertThisInitialized2.default)(_this), _label, {
        writable: true,
        value: undefined
      });
      Object.defineProperty((0, _assertThisInitialized2.default)(_this), _initialRouteName, {
        writable: true,
        value: undefined
      });
      (0, _classPrivateFieldLooseBase2.default)((0, _assertThisInitialized2.default)(_this), _label)[_label] = label;
      return _this;
    }

    (0, _createClass2.default)(RouteTabs, [{
      key: "getLabel",
      value: function getLabel() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _label)[_label];
      }
    }, {
      key: "setLabel",
      value: function setLabel(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _label)[_label] = value;
      }
    }, {
      key: "getText",
      value: function getText() {
        return this.getLabel();
      }
    }, {
      key: "getInitialRouteName",
      value: function getInitialRouteName() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _initialRouteName)[_initialRouteName];
      }
    }, {
      key: "setInitialRouteName",
      value: function setInitialRouteName(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _initialRouteName)[_initialRouteName] = value;
      }
    }, {
      key: "toJson",
      value: function toJson() {
        return (0, _extends2.default)({}, (0, _get2.default)((0, _getPrototypeOf2.default)(RouteTabs.prototype), "toJson", this).call(this), {
          label: (0, _classPrivateFieldLooseBase2.default)(this, _label)[_label]
        });
      }
    }]);
    return RouteTabs;
  }(_route.default);

  var _default = RouteTabs;
  exports.default = _default;
},1121,[5,6,7,8,15,90,12,14,16,756,757,1116]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _classPrivateFieldLooseBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _classPrivateFieldLooseKey2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _routeLabeled = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) {
    var hasNativeReflectConstruct = _isNativeReflectConstruct();

    return function _createSuperInternal() {
      var Super = (0, _getPrototypeOf2.default)(Derived),
          result;

      if (hasNativeReflectConstruct) {
        var NewTarget = (0, _getPrototypeOf2.default)(this).constructor;
        result = Reflect.construct(Super, arguments, NewTarget);
      } else {
        result = Super.apply(this, arguments);
      }

      return (0, _possibleConstructorReturn2.default)(this, result);
    };
  }

  function _isNativeReflectConstruct() {
    if (typeof Reflect === "undefined" || !Reflect.construct) return false;
    if (Reflect.construct.sham) return false;
    if (typeof Proxy === "function") return true;

    try {
      Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
      return true;
    } catch (e) {
      return false;
    }
  }

  var _url = (0, _classPrivateFieldLooseKey2.default)("_url");

  var _target = (0, _classPrivateFieldLooseKey2.default)("_target");

  var RouteUrl = function (_RouteLabeled) {
    (0, _inherits2.default)(RouteUrl, _RouteLabeled);

    var _super = _createSuper(RouteUrl);

    function RouteUrl() {
      var _this;

      (0, _classCallCheck2.default)(this, RouteUrl);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      Object.defineProperty((0, _assertThisInitialized2.default)(_this), _url, {
        writable: true,
        value: undefined
      });
      Object.defineProperty((0, _assertThisInitialized2.default)(_this), _target, {
        writable: true,
        value: undefined
      });
      return _this;
    }

    (0, _createClass2.default)(RouteUrl, [{
      key: "setUrl",
      value: function setUrl(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _url)[_url] = value;
      }
    }, {
      key: "getUrl",
      value: function getUrl() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _url)[_url];
      }
    }, {
      key: "setTarget",
      value: function setTarget(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _target)[_target] = value;
      }
    }, {
      key: "getTarget",
      value: function getTarget() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _target)[_target];
      }
    }, {
      key: "toJson",
      value: function toJson() {
        return (0, _extends2.default)({}, (0, _get2.default)((0, _getPrototypeOf2.default)(RouteUrl.prototype), "toJson", this).call(this), {
          url: (0, _classPrivateFieldLooseBase2.default)(this, _url)[_url],
          target: (0, _classPrivateFieldLooseBase2.default)(this, _target)[_target]
        });
      }
    }]);
    return RouteUrl;
  }(_routeLabeled.default);

  exports.default = RouteUrl;
},1122,[5,6,7,8,15,90,12,14,16,756,757,1118]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _toArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _classPrivateFieldLooseBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _classPrivateFieldLooseKey2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _issue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _publication = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _special = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _date = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _getEditionInfoFromName = (0, _classPrivateFieldLooseKey2.default)("_getEditionInfoFromName");

  var _getIssue = (0, _classPrivateFieldLooseKey2.default)("_getIssue");

  var _getIssues = (0, _classPrivateFieldLooseKey2.default)("_getIssues");

  var _getEditions = (0, _classPrivateFieldLooseKey2.default)("_getEditions");

  var EditionsHelper = function () {
    function EditionsHelper() {
      (0, _classCallCheck2.default)(this, EditionsHelper);
    }

    (0, _createClass2.default)(EditionsHelper, null, [{
      key: "getRouteName",
      value: function getRouteName(text) {
        return text;
      }
    }, {
      key: "getClosestIssue",
      value: function getClosestIssue() {
        var issues = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        var closestIssue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
        return issues.find(function (issue) {
          return issue.getIssue() === closestIssue || issue.getIssue() < closestIssue;
        }) || issues[0];
      }
    }, {
      key: "getIssuesFromPublications",
      value: function getIssuesFromPublications() {
        var publications = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        var mainEdition = arguments.length > 1 ? arguments[1] : undefined;

        var _ref = arguments.length > 2 ? arguments[2] : undefined,
            _ref$forceShortcut = _ref.forceShortcut,
            forceShortcut = _ref$forceShortcut === undefined ? false : _ref$forceShortcut,
            _ref$closestIssue = _ref.closestIssue,
            closestIssue = _ref$closestIssue === undefined ? "" : _ref$closestIssue;

        var issues = [];
        publications.forEach(function (publication) {
          if (publication.getName() !== mainEdition) {
            var issuesToAdd = [];

            if (publication.isShortcut() || forceShortcut) {
              if (publication instanceof _publication.default) {
                var subEditions = publication.getGroup();

                if (subEditions && subEditions.length > 0) {
                  var _issuesToAdd;

                  (_issuesToAdd = issuesToAdd).push.apply(_issuesToAdd, (0, _toConsumableArray2.default)(EditionsHelper.getIssuesFromPublications(subEditions, mainEdition, {
                    forceShortcut: true,
                    closestIssue: closestIssue
                  })));
                } else {
                  issuesToAdd.push(EditionsHelper.getClosestIssue(publication.getIssues(), closestIssue));
                }
              } else {
                issuesToAdd.push(EditionsHelper.getClosestIssue(publication.getIssues(), closestIssue));
              }
            } else {
              issuesToAdd = publication.getIssues();
            }

            issuesToAdd.forEach(function (issueToAdd) {
              if (!issues.find(function (issue) {
                return issue.getEdition() === issueToAdd.getEdition() && issue.getIssue() === issueToAdd.getIssue();
              })) {
                issues.push(issueToAdd);
              }
            });
          }
        });
        return issues;
      }
    }, {
      key: "parseEditions",
      value: function parseEditions() {
        var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
            edition = _ref2.edition,
            pics = _ref2.pics;

        return (0, _classPrivateFieldLooseBase2.default)(EditionsHelper, _getEditions)[_getEditions](edition, pics);
      }
    }, {
      key: "getDownloadedIssues",
      value: function getDownloadedIssues(editions) {
        var downloadedIssues = [];
        editions.forEach(function (edition) {
          downloadedIssues.push.apply(downloadedIssues, (0, _toConsumableArray2.default)(edition.getIssues().filter(function (issue) {
            return issue.isDownloaded();
          })));
          downloadedIssues.push.apply(downloadedIssues, (0, _toConsumableArray2.default)(EditionsHelper.getDownloadedIssues(edition.getGroup())));
        });
        return downloadedIssues;
      }
    }, {
      key: "filterEditions",
      value: function filterEditions(editions, filter) {
        if (typeof filter === "function") {
          var filtered = [];

          for (var i = 0; i < editions.length; i++) {
            var availableIssues = editions[i].getIssues().filter(function (issue) {
              return filter(issue);
            });
            var addEdition = false;

            if (availableIssues.length) {
              editions[i].setIssues(availableIssues);
              addEdition = true;
            }

            editions[i].setGroup(EditionsHelper.filterEditions(editions[i].getGroup(), filter));

            if (editions[i].getGroup().length) {
              addEdition = true;
            }

            if (addEdition) {
              filtered.push(editions[i]);
            }
          }

          return filtered;
        }

        return editions;
      }
    }, {
      key: "parseSpecials",
      value: function parseSpecials() {
        var specials = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var mSpecials = [];
        Object.keys(specials).forEach(function (name) {
          var mSpecial = new _special.default();
          mSpecial.setName(name);
          mSpecial.setLazy(name.match(/.+---[0-9]+/) !== null);
          mSpecial.setIssues((0, _classPrivateFieldLooseBase2.default)(EditionsHelper, _getIssues)[_getIssues](name, specials));
          mSpecials.push(mSpecial);
        });
        return mSpecials;
      }
    }, {
      key: "getShortuctEditions",
      value: function getShortuctEditions(editions) {
        return editions.filter(function (edition) {
          return edition.isShortcut();
        });
      }
    }, {
      key: "getSecondaryEditions",
      value: function getSecondaryEditions(editions) {
        return editions.reduce(function (result, edition) {
          if (!edition.isSecondary()) {
            result.push.apply(result, (0, _toConsumableArray2.default)(EditionsHelper.getSecondaryEditions(edition.getGroup())));
          } else {
            result.push(edition);
          }

          return result;
        }, []);
      }
    }, {
      key: "getPublicationFromIssue",
      value: function getPublicationFromIssue() {
        var editions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        var issue = arguments.length > 1 ? arguments[1] : undefined;
        var publication;

        if (issue) {
          publication = editions.find(function (edition) {
            return edition.getName() === issue.getEdition();
          });

          if (!publication) {
            editions.forEach(function (edition) {
              var group = edition.getGroup();

              if (group && group.length > 0) {
                publication = EditionsHelper.getPublicationFromIssue(group, issue);

                if (publication) {
                  publication.setIsShortcut(edition.isShortcut());
                }
              }
            });
          }
        }

        return publication;
      }
    }, {
      key: "getEditionByName",
      value: function getEditionByName() {
        var editions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        var name = arguments.length > 1 ? arguments[1] : undefined;

        for (var i = 0; i < editions.length && name; i++) {
          if (editions[i].getName() === name) {
            return editions[i];
          }

          var found = EditionsHelper.getEditionByName(editions[i].getGroup(), name);

          if (found) {
            return found;
          }
        }

        return undefined;
      }
    }, {
      key: "getValidIssue",
      value: function getValidIssue(issues) {
        for (var j = 0; j < issues.length; j++) {
          var issue = issues[j];

          if (issue) {
            return issue;
          }
        }

        return undefined;
      }
    }, {
      key: "populateIssueOnEditions",
      value: function populateIssueOnEditions() {
        var editions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        var pics = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

        for (var i = 0; i < editions.length; i++) {
          var issues = (0, _classPrivateFieldLooseBase2.default)(EditionsHelper, _getIssues)[_getIssues](editions[i], pics).reverse();

          if (issues.length) {
            editions[i].setIssues(issues);
            editions[i].setLazy(false);
          }

          if (editions[i].getGroup().length) {
            EditionsHelper.populateIssueOnEditions(editions[i].getGroup(), pics);
          }
        }
      }
    }, {
      key: "updateDownloadIssues",
      value: function updateDownloadIssues() {
        var editions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        var downloadedIssues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];

        if (!downloadedIssues.length || !editions.length) {
          return;
        }

        for (var i = 0; i < editions.length; i++) {
          EditionsHelper.updateDownloadIssues(editions[i].getGroup(), downloadedIssues);
          editions[i].getIssues().forEach(function (issue) {
            for (var j = 0; j < downloadedIssues.length; j++) {
              if (downloadedIssues[j].edition === issue.getEdition() && downloadedIssues[j].issue === issue.getIssue()) {
                issue.setDownloaded(true);
                break;
              }
            }
          });
        }
      }
    }, {
      key: "getFirstValidIssue",
      value: function getFirstValidIssue() {
        var editions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        var issue;

        for (var i = 0; i < editions.length && !issue; i++) {
          var edition = editions[i];

          if (edition) {
            if (edition.getIssues()) {
              issue = EditionsHelper.getValidIssue(edition.getIssues());
            }

            if (!issue && edition.getGroup()) {
              issue = EditionsHelper.getFirstValidIssue(edition.getGroup());
            }
          }
        }

        return issue;
      }
    }, {
      key: "getPreviousLevel",
      value: function getPreviousLevel(edition, child) {
        var level = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;

        if (edition.hasChild(child)) {
          return {
            parent: level ? edition : undefined,
            items: edition.getGroup()
          };
        }

        var children = edition.getGroup();

        for (var i = 0; i < children.length; i++) {
          var found = this.getPreviousLevel(children[i], child, level + 1);

          if (found) {
            return found;
          }
        }

        return undefined;
      }
    }, {
      key: "getIssueLabel",
      value: function getIssueLabel(issue) {
        var label = "";

        if (issue) {
          label = issue.getDayOfWeekComplete();

          if (issue.getIssue() === _date.default.getYesterdayString("YYYYMMDD")) {
            label = _liveConfig.default.getLocale().strings("str_yesterday");
          }
        }

        return label;
      }
    }, {
      key: "getMainEdition",
      value: function getMainEdition(edition) {
        try {
          if (edition) {
            return edition.split(" _ ")[0];
          }
        } catch (e) {}

        return "";
      }
    }, {
      key: "getAllOtherIssuesForDate",
      value: function getAllOtherIssuesForDate(editions, issueDate) {
        var editionIssues = [];
        editions.forEach(function (edition) {
          if (edition.getGroup().length > 0) {
            editionIssues.push.apply(editionIssues, (0, _toConsumableArray2.default)(EditionsHelper.getAllOtherIssuesForDate(edition.getGroup(), issueDate)));
          } else {
            editionIssues.push.apply(editionIssues, (0, _toConsumableArray2.default)(edition.getIssues().filter(function (issue) {
              return issue.getIssue() === issueDate;
            })));
          }
        });
        return editionIssues;
      }
    }, {
      key: "getAllIssuesForMainEditions",
      value: function getAllIssuesForMainEditions(editions) {
        var _editions = (0, _toArray2.default)(editions),
            mainEdition = _editions[0],
            others = _editions.slice(1);

        var issues = mainEdition.getIssues();
        var otherMainEditions = others.filter(function (insert) {
          return insert.isMain();
        });
        otherMainEditions.forEach(function (otherMainEdition) {
          var otherIssues = otherMainEdition.getIssues();
          otherIssues.forEach(function (otherIssue) {
            var found = issues.findIndex(function (issue) {
              return issue.getIssue() === otherIssue.getIssue();
            }) !== -1;

            if (!found) {
              issues.push(otherIssue);
            }
          });
        });
        issues.sort(function (issueA, issueB) {
          return issueB.getIssue() - issueA.getIssue();
        });
        return issues;
      }
    }]);
    return EditionsHelper;
  }();

  function _getEditionInfoFromName2() {
    var editionName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
    var splitted = editionName.split("---");
    return {
      name: splitted[0],
      lazy: splitted[1] !== undefined
    };
  }

  function _getIssue2(publication, key, data) {
    var filename = data.filename,
        closed = data.closed,
        isPublic = data.public,
        lastClosed = data.lastClosed,
        dayOfWeek = data.dayOfWeek,
        dayOfWeekComplete = data.dayOfWeekComplete,
        pSetup = data.pSetup,
        dateLabelAccessibility = data.dateLabelAccessibility,
        dateLabel = data.dateLabel,
        pathEdi = data.pathEdi,
        siteDomain = data.siteDomain,
        siteDomainCDN = data.siteDomainCDN,
        machine = data.machine;

    var info = (0, _classPrivateFieldLooseBase2.default)(EditionsHelper, _getEditionInfoFromName)[_getEditionInfoFromName](publication.getName());

    var mIssue = new _issue.default();
    mIssue.setIssue(key);
    mIssue.setEdition(info.name);
    mIssue.setFilename(filename);
    mIssue.setLastClosed(lastClosed);
    mIssue.setDayOfWeek(dayOfWeek);
    mIssue.setDayOfWeekComplete((0, _$$_REQUIRE(_dependencyMap[13]).decodeHTML)(dayOfWeekComplete));
    mIssue.setPSetup(pSetup);
    mIssue.setDateLabelAccessibility((0, _$$_REQUIRE(_dependencyMap[13]).decodeHTML)(dateLabelAccessibility));
    mIssue.setDateLabel((0, _$$_REQUIRE(_dependencyMap[13]).decodeHTML)(dateLabel));
    mIssue.setEditionLabel(publication instanceof _edition.default ? publication.getLabel() : info.name);
    mIssue.setPathEdition(pathEdi);
    mIssue.setSiteDomain(siteDomain);
    mIssue.setSiteDomainCDN(siteDomainCDN);
    mIssue.setMachine(machine);
    mIssue.setPublic(isPublic);
    mIssue.setClosed(closed);
    return mIssue;
  }

  function _getIssues2(publication) {
    var pics = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
    var mIssues = [];
    var editionIssues = pics[publication.getName()];

    if (editionIssues) {
      Object.keys(editionIssues).forEach(function (issue) {
        mIssues.push((0, _classPrivateFieldLooseBase2.default)(EditionsHelper, _getIssue)[_getIssue](publication, issue, editionIssues[issue]));
      });
    }

    return mIssues;
  }

  function _getEditions2() {
    var edition = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var pics = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
    var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "";
    var isParentSecondaryEdition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
    var mEditions = [];
    Object.keys(edition).forEach(function (name) {
      var _edition$name = edition[name],
          _edition$name$label_e = _edition$name.label_edition,
          label_edition = _edition$name$label_e === undefined ? name : _edition$name$label_e,
          subtitle_edition = _edition$name.subtitle_edition,
          group = _edition$name.group,
          _edition$name$force_p = _edition$name.force_position,
          force_position = _edition$name$force_p === undefined ? false : _edition$name$force_p,
          _edition$name$is_seco = _edition$name.is_secondary_edition,
          is_secondary_edition = _edition$name$is_seco === undefined ? isParentSecondaryEdition : _edition$name$is_seco,
          _edition$name$is_shor = _edition$name.is_shortcut_edition,
          is_shortcut_edition = _edition$name$is_shor === undefined ? false : _edition$name$is_shor,
          _edition$name$is_plac = _edition$name.is_placeholder_edition,
          is_placeholder_edition = _edition$name$is_plac === undefined ? false : _edition$name$is_plac,
          pSetup = _edition$name.pSetup,
          icon = _edition$name.icon;

      var info = (0, _classPrivateFieldLooseBase2.default)(EditionsHelper, _getEditionInfoFromName)[_getEditionInfoFromName](name);

      var mEdition = new _edition.default();
      mEdition.setName(name);
      mEdition.setPSetup(pSetup);
      mEdition.setIsMain(pSetup === _liveConfig.default.getMainPSetupName());
      mEdition.setLabel((0, _$$_REQUIRE(_dependencyMap[13]).decodeHTML)(label_edition));
      mEdition.setSubLabel(subtitle_edition);
      mEdition.setIsSecondary(is_secondary_edition);
      mEdition.setIsPlaceholder(is_placeholder_edition);
      mEdition.setIsShortcut(is_shortcut_edition);
      mEdition.setForcePosition(force_position);
      mEdition.setGroup((0, _classPrivateFieldLooseBase2.default)(EditionsHelper, _getEditions)[_getEditions](group, pics, name, is_secondary_edition));
      mEdition.setParent(parent);
      mEdition.setIcon(icon);
      mEdition.setLazy(info.lazy);
      mEdition.setIssues((0, _classPrivateFieldLooseBase2.default)(EditionsHelper, _getIssues)[_getIssues](mEdition, pics).reverse());
      mEditions.push(mEdition);
    });
    return mEditions.sort(function (e1, e2) {
      if (e1.isForcePosition() || e2.isForcePosition()) {
        return 0;
      }

      if (e1.getName() < e2.getName()) {
        return -1;
      }

      if (e1.getName() > e2.getName()) {
        return 1;
      }

      return 0;
    });
  }

  Object.defineProperty(EditionsHelper, _getEditions, {
    value: _getEditions2
  });
  Object.defineProperty(EditionsHelper, _getIssues, {
    value: _getIssues2
  });
  Object.defineProperty(EditionsHelper, _getIssue, {
    value: _getIssue2
  });
  Object.defineProperty(EditionsHelper, _getEditionInfoFromName, {
    value: _getEditionInfoFromName2
  });
  var _default = EditionsHelper;
  exports.default = _default;
},1123,[5,464,21,7,8,756,757,993,1114,758,1115,1124,995,762]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _publication = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _createSuper(Derived) {
    var hasNativeReflectConstruct = _isNativeReflectConstruct();

    return function _createSuperInternal() {
      var Super = (0, _getPrototypeOf2.default)(Derived),
          result;

      if (hasNativeReflectConstruct) {
        var NewTarget = (0, _getPrototypeOf2.default)(this).constructor;
        result = Reflect.construct(Super, arguments, NewTarget);
      } else {
        result = Super.apply(this, arguments);
      }

      return (0, _possibleConstructorReturn2.default)(this, result);
    };
  }

  function _isNativeReflectConstruct() {
    if (typeof Reflect === "undefined" || !Reflect.construct) return false;
    if (Reflect.construct.sham) return false;
    if (typeof Proxy === "function") return true;

    try {
      Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
      return true;
    } catch (e) {
      return false;
    }
  }

  var Special = function (_Publication) {
    (0, _inherits2.default)(Special, _Publication);

    var _super = _createSuper(Special);

    function Special() {
      (0, _classCallCheck2.default)(this, Special);
      return _super.apply(this, arguments);
    }

    return (0, _createClass2.default)(Special);
  }(_publication.default);

  exports.default = Special;
},1124,[5,8,7,12,14,16,1115]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _route = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _createSuper(Derived) {
    var hasNativeReflectConstruct = _isNativeReflectConstruct();

    return function _createSuperInternal() {
      var Super = (0, _getPrototypeOf2.default)(Derived),
          result;

      if (hasNativeReflectConstruct) {
        var NewTarget = (0, _getPrototypeOf2.default)(this).constructor;
        result = Reflect.construct(Super, arguments, NewTarget);
      } else {
        result = Super.apply(this, arguments);
      }

      return (0, _possibleConstructorReturn2.default)(this, result);
    };
  }

  function _isNativeReflectConstruct() {
    if (typeof Reflect === "undefined" || !Reflect.construct) return false;
    if (Reflect.construct.sham) return false;
    if (typeof Proxy === "function") return true;

    try {
      Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
      return true;
    } catch (e) {
      return false;
    }
  }

  var RouteSeparator = function (_Route) {
    (0, _inherits2.default)(RouteSeparator, _Route);

    var _super = _createSuper(RouteSeparator);

    function RouteSeparator() {
      (0, _classCallCheck2.default)(this, RouteSeparator);
      return _super.apply(this, arguments);
    }

    return (0, _createClass2.default)(RouteSeparator);
  }(_route.default);

  var _default = RouteSeparator;
  exports.default = _default;
},1125,[5,8,7,12,14,16,1116]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _classPrivateFieldLooseBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _classPrivateFieldLooseKey2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _route = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) {
    var hasNativeReflectConstruct = _isNativeReflectConstruct();

    return function _createSuperInternal() {
      var Super = (0, _getPrototypeOf2.default)(Derived),
          result;

      if (hasNativeReflectConstruct) {
        var NewTarget = (0, _getPrototypeOf2.default)(this).constructor;
        result = Reflect.construct(Super, arguments, NewTarget);
      } else {
        result = Super.apply(this, arguments);
      }

      return (0, _possibleConstructorReturn2.default)(this, result);
    };
  }

  function _isNativeReflectConstruct() {
    if (typeof Reflect === "undefined" || !Reflect.construct) return false;
    if (Reflect.construct.sham) return false;
    if (typeof Proxy === "function") return true;

    try {
      Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
      return true;
    } catch (e) {
      return false;
    }
  }

  var _header = (0, _classPrivateFieldLooseKey2.default)("_header");

  var RouteHeader = function (_Route) {
    (0, _inherits2.default)(RouteHeader, _Route);

    var _super = _createSuper(RouteHeader);

    function RouteHeader(header) {
      var _this;

      (0, _classCallCheck2.default)(this, RouteHeader);
      _this = _super.call(this);
      Object.defineProperty((0, _assertThisInitialized2.default)(_this), _header, {
        writable: true,
        value: undefined
      });
      (0, _classPrivateFieldLooseBase2.default)((0, _assertThisInitialized2.default)(_this), _header)[_header] = header;
      return _this;
    }

    (0, _createClass2.default)(RouteHeader, [{
      key: "setHeader",
      value: function setHeader(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _header)[_header] = value;
      }
    }, {
      key: "getHeader",
      value: function getHeader() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _header)[_header];
      }
    }, {
      key: "getText",
      value: function getText() {
        return this.getHeader();
      }
    }]);
    return RouteHeader;
  }(_route.default);

  var _default = RouteHeader;
  exports.default = _default;
},1126,[5,7,8,15,12,14,16,756,757,1116]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _route = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _drawerNavigator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _excluded = ["data"];

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  var styles = _reactNative.StyleSheet.create({
    container: {
      height: "100%",
      width: "100%"
    }
  });

  function Content(props) {
    var data = props.data,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);

    var _useState = (0, _react.useState)(_liveConfig.default.getSettings().selectedEditions),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        selectedEditions = _useState2[0],
        setSelectedEditions = _useState2[1];

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
      classes: ["opt-container"]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).SelectedEditionsContext.Provider, {
      value: {
        editions: selectedEditions,
        setEdition: function setEdition(edition) {
          setSelectedEditions((0, _toConsumableArray2.default)(_liveConfig.default.getSettings().addEditionToSelected(edition.getName())));
        }
      }
    }, _react.default.createElement(_reactNative.View, {
      style: styles.container
    }, _react.default.createElement(_drawerNavigator.default, (0, _extends2.default)({
      routes: data.drawerRoutes,
      initialRoute: data.initialRoute,
      specials: data.specials
    }, rest)))));
  }

  Content.propTypes = {
    data: _propTypes.default.shape({
      drawerRoutes: _propTypes.default.arrayOf(_propTypes.default.instanceOf(_route.default)),
      initialRoute: _propTypes.default.oneOfType([_propTypes.default.instanceOf(_route.default), _propTypes.default.string]),
      specials: _propTypes.default.array
    })
  };
  var _default = Content;
  exports.default = _default;
},1127,[5,6,21,41,108,17,28,201,1116,1128,993,1114,987,1111]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _route = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _drawer2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _navigationConfig = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _header = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _routeUrl = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _urlPage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _publication = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _routeTabs = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _tabNavigator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _issueItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  var Drawer = (0, _$$_REQUIRE(_dependencyMap[18]).createDrawerNavigator)();

  function renderDrawerScreens(_ref) {
    var routes = _ref.routes,
        specials = _ref.specials,
        _ref$props = _ref.props,
        props = _ref$props === undefined ? {} : _ref$props,
        viewSize = _ref.viewSize;
    var screens = [];
    routes.forEach(function (route) {
      var Component = null;

      if (route instanceof _routeUrl.default) {
        Component = _react.default.createElement(Drawer.Screen, {
          name: route.getRoute(),
          key: route.getRoute()
        }, function (navProps) {
          return _react.default.createElement(_urlPage.default, (0, _extends2.default)({
            url: route.getUrl()
          }, props, navProps));
        });
      } else if (route instanceof _routeTabs.default) {
        Component = _react.default.createElement(Drawer.Screen, {
          name: route.getRoute(),
          key: route.getRoute()
        }, function (navProps) {
          return _react.default.createElement(_tabNavigator.default, (0, _extends2.default)({
            routes: route.getRoutes(),
            initialRouteName: route.getInitialRouteName(),
            viewSize: viewSize
          }, props, navProps));
        });
      }

      if (Component) {
        screens.push.apply(screens, [Component].concat((0, _toConsumableArray2.default)(renderDrawerScreens({
          routes: route.getRoutes(),
          specials: specials,
          props: props
        }))));
      }
    });
    return screens;
  }

  function getRouteByName() {
    var routes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
    var name = arguments.length > 1 ? arguments[1] : undefined;
    var found;

    for (var i = 0; i < routes.length && !found; i++) {
      if (routes[i].getRoute() === name) {
        found = routes[i];
      } else {
        found = getRouteByName(routes[i].getRoutes(), name);
      }
    }

    return found;
  }

  function DrawerNavigator(props) {
    var routes = props.routes,
        initialRoute = props.initialRoute,
        specials = props.specials,
        onRouteChange = props.onRouteChange,
        issueCallbacks = props.issueCallbacks,
        LogoComponent = props.LogoComponent,
        onLogoPress = props.onLogoPress,
        hideCloseButton = props.hideCloseButton;

    if (!routes.length) {
      return null;
    }

    var _useState = (0, _react.useState)(_reactNative.Dimensions.get("window")),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        windowDimensions = _useState2[0],
        setWindowDimensions = _useState2[1];

    var navigatorStateChange = (0, _react.useCallback)(function (_ref2) {
      var data = _ref2.data;
      var open = (0, _$$_REQUIRE(_dependencyMap[18]).getDrawerStatusFromState)(data.state);

      _navigationConfig.default.setState(data.state);

      _navigationConfig.default.setDrawerState(open === "open");

      if (typeof onRouteChange === "function") {
        onRouteChange(getRouteByName(routes, (0, _navigationConfig.getActiveRouteFromState)(data.state)));
      }
    }, [onRouteChange]);
    (0, _react.useEffect)(function () {
      var onDimensionsChange = _reactNative.Dimensions.addEventListener("change", function (_ref3) {
        var wDimensions = _ref3.window;
        setWindowDimensions(wDimensions);
      });

      return function () {
        if (onDimensionsChange) {
          onDimensionsChange.remove();
        }
      };
    }, []);
    var initialRouteName = initialRoute ? initialRoute.getRoute() : "";
    return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_header.default, {
      LogoComponent: LogoComponent,
      onLogoPress: onLogoPress,
      hideCloseButton: hideCloseButton
    }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).NavigationContainer, {
      independent: true
    }, _react.default.createElement(Drawer.Navigator, {
      initialRouteName: initialRouteName,
      useLegacyImplementation: true,
      screenOptions: {
        unmountOnBlur: true,
        headerShown: false,
        drawerType: "slide",
        drawerStyle: {
          width: _$$_REQUIRE(_dependencyMap[20]).DRAWER_WIDTH
        }
      },
      screenListeners: {
        state: navigatorStateChange
      },
      drawerContent: function drawerContent(navProps) {
        _navigationConfig.default.setNavigation(navProps.navigation);

        return _react.default.createElement(_drawer2.default, (0, _extends2.default)({}, navProps, {
          routes: routes
        }));
      }
    }, renderDrawerScreens({
      routes: routes,
      specials: specials,
      props: {
        issueCallbacks: issueCallbacks
      },
      viewSize: windowDimensions
    }))));
  }

  DrawerNavigator.propTypes = {
    routes: _drawer2.default.propTypes.routes,
    initialRoute: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.instanceOf(_route.default)]),
    specials: _propTypes.default.arrayOf(_propTypes.default.instanceOf(_publication.default)),
    onRouteChange: _propTypes.default.func.isRequired,
    issueCallbacks: _issueItem.default.propTypes.issueCallbacks,
    onLogoPress: _propTypes.default.func,
    LogoComponent: _header.default.propTypes.LogoComponent,
    hideCloseButton: _propTypes.default.bool
  };
  DrawerNavigator.defaultProps = {
    specials: [],
    hideCloseButton: false
  };
  var _default = DrawerNavigator;
  exports.default = _default;
},1128,[5,41,21,6,17,28,201,1116,1129,1001,1216,1122,1224,1115,1121,1233,993,1236,1139,1002,990]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _route = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[4]));

  var _drawerItem = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[5]));

  var _log = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[6]));

  var _routeSeparator = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[7]));

  var _drawerSeparator = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[8]));

  var _routeEdition = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[9]));

  var _routeUrl = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[10]));

  var _routeHeader = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[11]));

  var _drawerHeader = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[12]));

  var _routeTabs = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[13]));

  var _events = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[14]));

  var _routeAction = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[15]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  var styles = _reactNative.StyleSheet.create({
    scroll: {
      flex: 1
    },
    scrollContent: {
      paddingTop: 0
    }
  });

  function DrawerContent(props) {
    var navigation = props.navigation,
        routes = props.routes;
    var onPress = (0, _react.useCallback)(function (route) {
      try {
        if (route instanceof _routeUrl.default && route.getTarget() === "_blank") {
          _$$_REQUIRE(_dependencyMap[16]).EventRegister.emit(_events.default.ON_EXTERNAL_LINK_CLICK, {
            url: route.getUrl()
          });
        } else if (route instanceof _routeAction.default) {
          _$$_REQUIRE(_dependencyMap[16]).EventRegister.emit(_events.default.ON_ACTION_CLICK, {
            action: route.getAction()
          });
        } else {
          navigation.navigate(route.getRoute());
        }
      } catch (e) {
        _log.default.warn(e.message);
      }
    }, []);
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).Css, {
      classes: ["opt-drawer-container"]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[18]).DrawerContentScrollView, {
      style: styles.scroll,
      contentContainerStyle: styles.scrollContent
    }, routes.map(function (route, index) {
      if (route instanceof _routeSeparator.default) {
        return _react.default.createElement(_drawerSeparator.default, {
          key: "drawer_separator_" + index,
          route: route
        });
      }

      if (route instanceof _routeHeader.default) {
        return _react.default.createElement(_drawerHeader.default, {
          key: "drawer_header_" + index + "_" + route.getHeader(),
          route: route
        });
      }

      if (route instanceof _routeEdition.default || route instanceof _routeUrl.default || route instanceof _routeAction.default) {
        return _react.default.createElement(_drawerItem.default, {
          key: "drawer_item_" + route.getRoute(),
          onPress: onPress,
          route: route,
          navigation: navigation
        });
      }

      if (route instanceof _routeTabs.default) {
        return _react.default.createElement(_drawerItem.default, {
          key: "drawer_item_" + route.getRoute(),
          onPress: onPress,
          route: route,
          navigation: navigation,
          collapsable: false
        });
      }

      return null;
    })));
  }

  DrawerContent.propTypes = {
    routes: _propTypes.default.arrayOf(_propTypes.default.instanceOf(_route.default)).isRequired,
    navigation: _propTypes.default.object.isRequired
  };
  var _default = DrawerContent;
  exports.default = _default;
},1129,[17,5,201,28,1116,1130,759,1125,1137,1119,1122,1126,1138,1121,771,1117,991,987,1139]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _route = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _collapseLine = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _drawerItemText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  function DrawerItem(props) {
    var onPress = props.onPress,
        route = props.route,
        active = props.active,
        navigation = props.navigation,
        collapsable = props.collapsable;
    var startHeight = (0, _collapseLine.collapseItemHeight)();
    var onItemPress = (0, _react.useCallback)(function () {
      if (typeof onPress === "function") {
        onPress(route);
      }
    }, []);
    var onToggle = (0, _react.useCallback)(function (item, collapsed) {
      if (collapsed) {
        (0, _$$_REQUIRE(_dependencyMap[8]).collapseRoute)(route);
      } else {
        route.setCollapsed(false);
      }
    }, []);
    return _react.default.createElement(_collapseLine.default, {
      lineCollapsed: route.isCollapsed(),
      line: route,
      lineActive: active,
      lineLevel: route.getLevel() + 1,
      lineHeight: startHeight,
      lineChildren: collapsable ? route.getRoutes() : [],
      renderLineLeft: function renderLineLeft(item, collapsed, isActive) {
        return _react.default.createElement(_drawerItemText.default, {
          route: item,
          onPress: onItemPress,
          active: isActive
        });
      },
      renderLineChild: function renderLineChild(item, collapsed) {
        return _react.default.createElement(DrawerItemWithState, {
          key: "drawer_item_" + item.getRoute() + "_collapsed_" + collapsed,
          onPress: onPress,
          route: item,
          navigation: navigation
        });
      },
      onToggle: onToggle,
      css: {
        key: route.getRoute(),
        classesContainer: ["opt-drawer-item-container"],
        classesIconContainer: ["opt-drawer-item-icon-container"],
        classesIcon: ["opt-drawer-item-icon"],
        classesChildrenContainer: ["opt-drawer-item-children"]
      }
    });
  }

  DrawerItem.propTypes = {
    onPress: _propTypes.default.func.isRequired,
    route: _propTypes.default.instanceOf(_route.default).isRequired,
    active: _propTypes.default.bool,
    collapsable: _propTypes.default.bool
  };
  DrawerItem.defaultProps = {
    collapsable: true
  };

  function DrawerItemWithState(props) {
    var route = props.route,
        navigation = props.navigation;

    var _useState = (0, _react.useState)((0, _$$_REQUIRE(_dependencyMap[9]).getActiveRouteFromState)(navigation.getState()) === route.getRoute()),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        active = _useState2[0],
        setActive = _useState2[1];

    (0, _$$_REQUIRE(_dependencyMap[10]).useNavigationState)(function (state) {
      if (state) {
        var activeRoute = (0, _$$_REQUIRE(_dependencyMap[9]).getActiveRouteFromState)(state);
        var newActive = activeRoute === route.getRoute();

        if (newActive !== active) {
          setActive(newActive);
        }
      }
    });
    return _react.default.createElement(DrawerItem, (0, _extends2.default)({}, props, {
      active: active
    }));
  }

  DrawerItemWithState.propTypes = (0, _extends2.default)({}, DrawerItem.propTypes);
  var _default = DrawerItemWithState;
  exports.default = _default;
},1130,[5,6,41,17,201,1116,1131,1135,1136,1001,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.collapseItemHeight = collapseItemHeight;
  exports.default = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _collapseAccordion = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  var HEIGHT = 50;

  function collapseItemHeight() {
    return HEIGHT;
  }

  var styles = _reactNative.StyleSheet.create({
    line: {
      height: HEIGHT,
      marginEnd: 10,
      paddingLeft: 5,
      alignItems: "center",
      flexDirection: "row"
    },
    lineActive: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[8]).colors.grey
    },
    lineLeft: {
      flex: 1,
      justifyContent: "center"
    },
    lineRight: {
      justifyContent: "center"
    },
    accordionContainer: {
      padding: 5
    }
  });

  function CollapseLine(props) {
    var line = props.line,
        lineActive = props.lineActive,
        lineHeight = props.lineHeight,
        lineChildren = props.lineChildren,
        lineCollapsed = props.lineCollapsed,
        lineLevel = props.lineLevel,
        lineToggle = props.lineToggle,
        onToggle = props.onToggle,
        css = props.css,
        renderLineLeft = props.renderLineLeft,
        renderLineAccordion = props.renderLineAccordion,
        renderLineChild = props.renderLineChild;
    var key = css.key,
        _css$classesContainer = css.classesContainer,
        classesContainer = _css$classesContainer === undefined ? [] : _css$classesContainer,
        _css$classesIconConta = css.classesIconContainer,
        classesIconContainer = _css$classesIconConta === undefined ? [] : _css$classesIconConta,
        _css$classesIcon = css.classesIcon,
        classesIcon = _css$classesIcon === undefined ? [] : _css$classesIcon,
        _css$classesChildrenC = css.classesChildrenContainer,
        classesChildrenContainer = _css$classesChildrenC === undefined ? [] : _css$classesChildrenC;
    var animatedHeight = (0, _react.useRef)(new _reactNative.Animated.Value(lineHeight)).current;
    var currentHeight = (0, _react.useRef)(lineHeight);

    var _useState = (0, _react.useState)(lineCollapsed),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        collapsed = _useState2[0],
        setCollapsed = _useState2[1];

    (0, _react.useEffect)(function () {
      setCollapsed(lineCollapsed);
    }, [lineCollapsed]);
    var hasChildren = lineChildren.length > 0;
    var animation;

    var animate = function animate(toValue, callback) {
      if (currentHeight.current !== toValue) {
        currentHeight.current = toValue;

        if (animation) {
          animation.stop();
        }

        animation = _reactNative.Animated.timing(animatedHeight, {
          duration: 300,
          toValue: toValue,
          useNativeDriver: false
        }).start(function (_ref) {
          var finished = _ref.finished;

          if (finished) {
            animation = undefined;

            if (typeof callback === "function") {
              callback();
            }
          }
        });
      }
    };

    var onChildrenLayout = function onChildrenLayout(_ref2) {
      var nativeEvent = _ref2.nativeEvent;
      var startChildrenLayout = lineChildren.length * lineHeight;
      var toValue = collapsed ? lineHeight : lineHeight + startChildrenLayout + nativeEvent.layout.height - startChildrenLayout;
      animate(toValue);
    };

    var onAccordionPress = function onAccordionPress() {
      var newCollapsed = !collapsed;

      if (typeof onToggle === "function") {
        onToggle(line, newCollapsed);
      }

      var toValue = newCollapsed ? lineHeight : lineHeight + lineChildren.length * lineHeight;
      animate(toValue);
      setCollapsed(newCollapsed);
    };

    var LeftParentComponent = lineToggle ? _reactNative.TouchableOpacity : _reactNative.View;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: ["opt-collapse-item-container"].concat((0, _toConsumableArray2.default)(classesContainer)),
      cssKey: key,
      active: lineActive
    }, _react.default.createElement(_reactNative.Animated.View, {
      style: {
        height: animatedHeight,
        overflow: "hidden"
      }
    }, _react.default.createElement(_reactNative.View, {
      style: [styles.line, lineActive && {
        borderTopEndRadius: _$$_REQUIRE(_dependencyMap[10]).CARD_RADIUS,
        borderBottomEndRadius: _$$_REQUIRE(_dependencyMap[10]).CARD_RADIUS,
        backgroundColor: _liveConfig.default.getSupportColor()
      }]
    }, _react.default.createElement(LeftParentComponent, {
      onPress: onAccordionPress,
      style: styles.lineLeft
    }, renderLineLeft && renderLineLeft(line, collapsed, lineActive)), _react.default.createElement(_reactNative.View, {
      style: styles.lineRight
    }, hasChildren ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: ["opt-collapse-icon-container"].concat((0, _toConsumableArray2.default)(classesIconContainer)),
      cssKey: key,
      active: !collapsed,
      toggle: true
    }, _react.default.createElement(_reactNative.TouchableOpacity, {
      onPress: onAccordionPress,
      style: styles.accordionContainer
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: ["opt-collapse-icon"].concat((0, _toConsumableArray2.default)(classesIcon)),
      cssKey: key,
      active: !collapsed,
      toggle: true
    }, renderLineAccordion ? renderLineAccordion(line, collapsed) : _react.default.createElement(_collapseAccordion.default, {
      collapsed: collapsed
    })))) : null)), hasChildren ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: ["opt-collapse-children"].concat((0, _toConsumableArray2.default)(classesChildrenContainer)),
      cssKey: key,
      active: lineActive
    }, _react.default.createElement(_reactNative.View, {
      onLayout: onChildrenLayout,
      style: {
        marginLeft: lineLevel * 10
      }
    }, lineChildren.map(function (lineChild) {
      if (typeof renderLineChild === "function") {
        return renderLineChild(lineChild, collapsed, lineLevel + 1);
      }

      return null;
    }))) : null));
  }

  CollapseLine.propTypes = {
    lineCollapsed: _propTypes.default.bool,
    line: _propTypes.default.object,
    lineActive: _propTypes.default.bool,
    lineLevel: _propTypes.default.number,
    lineToggle: _propTypes.default.bool,
    lineHeight: _propTypes.default.number,
    lineChildren: _propTypes.default.array,
    renderLineLeft: _propTypes.default.func,
    renderLineAccordion: _propTypes.default.func,
    renderLineChild: _propTypes.default.func,
    onToggle: _propTypes.default.func,
    css: _propTypes.default.shape({
      key: _propTypes.default.string,
      classesContainer: _propTypes.default.arrayOf(_propTypes.default.string),
      classesIconContainer: _propTypes.default.arrayOf(_propTypes.default.string),
      classesIcon: _propTypes.default.arrayOf(_propTypes.default.string),
      classesChildrenContainer: _propTypes.default.arrayOf(_propTypes.default.string)
    })
  };
  CollapseLine.defaultProps = {
    lineCollapsed: true,
    lineActive: false,
    lineToggle: false,
    lineHeight: collapseItemHeight(),
    lineLevel: 0,
    lineChildren: [],
    css: {}
  };
  var _default = CollapseLine;
  exports.default = _default;
},1131,[5,21,41,17,201,28,1132,993,982,987,990]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _taImageIcon = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _icChevronDown = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _icChevronUp = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var styles = _reactNative.StyleSheet.create({
    line: {
      flex: 1,
      flexDirection: "row"
    },
    lineLeft: {
      flex: 1,
      justifyContent: "center"
    },
    lineRight: {
      justifyContent: "center"
    },
    accordionContainer: {
      padding: 5
    },
    accordion: {
      height: 30,
      width: 30
    }
  });

  function CollapseAccordion(props) {
    var collapsed = props.collapsed,
        style = props.style;
    return _react.default.createElement(_taImageIcon.default, {
      DefaultComponent: collapsed ? _react.default.createElement(_icChevronDown.default, {
        width: 25,
        height: 25
      }) : _react.default.createElement(_icChevronUp.default, {
        width: 25,
        height: 25
      }),
      style: _$$_REQUIRE(_dependencyMap[7]).CssHelper.flatten([styles.accordion, style])
    });
  }

  CollapseAccordion.propTypes = {
    collapsed: _propTypes.default.bool,
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array])
  };
  CollapseAccordion.defaultProps = {
    collapsed: true
  };
  var _default = CollapseAccordion;
  exports.default = _default;
},1132,[5,17,201,28,773,1133,1134,987]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var IcChevronDown = function IcChevronDown(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Svg, props, _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M7.41 8.58 12 13.17l4.59-4.59L18 10l-6 6-6-6 1.41-1.42Z"
    }));
  };

  var _default = IcChevronDown;
  exports.default = _default;
},1133,[5,17,776]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var IcChevronUp = function IcChevronUp(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Svg, props, _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M7.41 15.41 12 10.83l4.59 4.58L18 14l-6-6-6 6 1.41 1.41Z"
    }));
  };

  var _default = IcChevronUp;
  exports.default = _default;
},1134,[5,17,776]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _colors = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _taImageIcon = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _taText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _route = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  var styles = _reactNative.StyleSheet.create({
    container: {
      flex: 1,
      alignItems: "center",
      flexDirection: "row"
    },
    text: {
      color: _colors.colors.black,
      fontSize: 20,
      flex: 1,
      paddingHorizontal: 5
    },
    icon: {
      height: 25,
      width: 25,
      marginHorizontal: 5
    }
  });

  function DrawerItemLeft(props) {
    var route = props.route,
        onPress = props.onPress,
        active = props.active;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: ["opt-drawer-item-touchable"],
      cssKey: route.getRoute()
    }, _react.default.createElement(_reactNative.TouchableOpacity, {
      style: styles.container,
      onPress: onPress
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: ["opt-drawer-icon"],
      cssKey: route.getRoute()
    }, _react.default.createElement(_taImageIcon.default, {
      source: {
        uri: route.getIcon()
      },
      style: route.getIcon() && styles.icon,
      resizeMode: "contain"
    })), _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: ["opt-drawer-item-text"],
      cssKey: route.getRoute()
    }, _react.default.createElement(_taText.default, {
      style: [styles.text, active && {
        color: _liveConfig.default.getForegroundColor()
      }],
      numberOfLines: 1
    }, route.getText()))));
  }

  DrawerItemLeft.propTypes = {
    route: _propTypes.default.instanceOf(_route.default),
    onPress: _propTypes.default.func,
    active: _propTypes.default.bool
  };
  var _default = DrawerItemLeft;
  exports.default = _default;
},1135,[5,17,201,28,982,773,988,1116,993,987]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.collapseRoute = collapseRoute;

  var _route = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function collapseRoute(route, state) {
    if (route) {
      route.setCollapsed(true);
      route.getRoutes().forEach(function (childRoute) {
        collapseRoute(childRoute);
      });
    }
  }
},1136,[5,1116]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _routeSeparator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var styles = _reactNative.StyleSheet.create({
    separator: {
      left: 0,
      right: 0,
      height: 1,
      marginHorizontal: 10,
      marginVertical: 5,
      backgroundColor: _$$_REQUIRE(_dependencyMap[5]).colors.black,
      opacity: 0.1
    }
  });

  function DrawerSeparator(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).Css, {
      classes: ["opt-drawer-separator"]
    }, _react.default.createElement(_reactNative.View, {
      style: styles.separator
    }));
  }

  DrawerSeparator.propTypes = {
    route: _propTypes.default.instanceOf(_routeSeparator.default)
  };
  var _default = DrawerSeparator;
  exports.default = _default;
},1137,[5,17,201,28,1125,982,987]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _routeHeader = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _taText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var styles = _reactNative.StyleSheet.create({
    container: {
      height: 30,
      marginTop: 10,
      marginHorizontal: 5,
      alignItems: "center",
      flexDirection: "row",
      borderRadius: 5
    },
    header: {
      color: _$$_REQUIRE(_dependencyMap[6]).colors.black,
      fontSize: 18,
      flex: 1,
      paddingHorizontal: 5,
      fontWeight: "bold",
      textTransform: "uppercase"
    }
  });

  function DrawerHeader(props) {
    var route = props.route;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[7]).Css, {
      classes: ["opt-drawer-header-container"]
    }, _react.default.createElement(_reactNative.View, {
      style: styles.container
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[7]).Css, {
      classes: ["opt-drawer-header"]
    }, _react.default.createElement(_taText.default, {
      style: styles.header
    }, route.getHeader()))));
  }

  DrawerHeader.propTypes = {
    route: _propTypes.default.instanceOf(_routeHeader.default)
  };
  var _default = DrawerHeader;
  exports.default = _default;
},1138,[5,17,201,28,1126,988,982,987]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "createDrawerNavigator", {
    enumerable: true,
    get: function get() {
      return _createDrawerNavigator.default;
    }
  });
  Object.defineProperty(exports, "DrawerContent", {
    enumerable: true,
    get: function get() {
      return _DrawerContent.default;
    }
  });
  Object.defineProperty(exports, "DrawerContentScrollView", {
    enumerable: true,
    get: function get() {
      return _DrawerContentScrollView.default;
    }
  });
  Object.defineProperty(exports, "DrawerItem", {
    enumerable: true,
    get: function get() {
      return _DrawerItem.default;
    }
  });
  Object.defineProperty(exports, "DrawerItemList", {
    enumerable: true,
    get: function get() {
      return _DrawerItemList.default;
    }
  });
  Object.defineProperty(exports, "DrawerToggleButton", {
    enumerable: true,
    get: function get() {
      return _DrawerToggleButton.default;
    }
  });
  Object.defineProperty(exports, "DrawerView", {
    enumerable: true,
    get: function get() {
      return _DrawerView.default;
    }
  });
  Object.defineProperty(exports, "DrawerGestureContext", {
    enumerable: true,
    get: function get() {
      return _DrawerGestureContext.default;
    }
  });
  Object.defineProperty(exports, "DrawerProgressContext", {
    enumerable: true,
    get: function get() {
      return _DrawerProgressContext.default;
    }
  });
  Object.defineProperty(exports, "getDrawerStatusFromState", {
    enumerable: true,
    get: function get() {
      return _getDrawerStatusFromState.default;
    }
  });
  Object.defineProperty(exports, "useDrawerProgress", {
    enumerable: true,
    get: function get() {
      return _useDrawerProgress.default;
    }
  });
  Object.defineProperty(exports, "useDrawerStatus", {
    enumerable: true,
    get: function get() {
      return _useDrawerStatus.default;
    }
  });

  var _createDrawerNavigator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _DrawerContent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _DrawerContentScrollView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _DrawerItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _DrawerItemList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _DrawerToggleButton = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _DrawerView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _DrawerGestureContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _DrawerProgressContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _getDrawerStatusFromState = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _useDrawerProgress = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _useDrawerStatus = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));
},1139,[5,1140,1146,1147,1155,1154,1189,1142,1193,1195,1145,1214,1215]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _warnOnce = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _DrawerView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function DrawerNavigator(_ref) {
    var initialRouteName = _ref.initialRouteName,
        customDefaultStatus = _ref.defaultStatus,
        backBehavior = _ref.backBehavior,
        children = _ref.children,
        screenListeners = _ref.screenListeners,
        screenOptions = _ref.screenOptions,
        restWithDeprecated = (0, _objectWithoutProperties2.default)(_ref, ["initialRouteName", "defaultStatus", "backBehavior", "children", "screenListeners", "screenOptions"]);
    var openByDefault = restWithDeprecated.openByDefault,
        lazy = restWithDeprecated.lazy,
        drawerContentOptions = restWithDeprecated.drawerContentOptions,
        rest = (0, _objectWithoutProperties2.default)(restWithDeprecated, ["openByDefault", "lazy", "drawerContentOptions"]);
    var defaultScreenOptions = {};

    if (drawerContentOptions) {
      (0, _extends2.default)(defaultScreenOptions, {
        drawerPosition: drawerContentOptions.drawerPosition,
        drawerType: drawerContentOptions.drawerType,
        swipeEdgeWidth: drawerContentOptions.edgeWidth,
        drawerHideStatusBarOnOpen: drawerContentOptions.hideStatusBar,
        keyboardDismissMode: drawerContentOptions.keyboardDismissMode,
        swipeMinDistance: drawerContentOptions.minSwipeDistance,
        overlayColor: drawerContentOptions.overlayColor,
        drawerStatusBarAnimation: drawerContentOptions.statusBarAnimation,
        gestureHandlerProps: drawerContentOptions.gestureHandlerProps
      });
      Object.keys(defaultScreenOptions).forEach(function (key) {
        if (defaultScreenOptions[key] === undefined) {
          delete defaultScreenOptions[key];
        }
      });
      (0, _warnOnce.default)(drawerContentOptions, "Drawer Navigator: 'drawerContentOptions' is deprecated. Migrate the options to 'screenOptions' instead.\n\nPlace the following in 'screenOptions' in your code to keep current behavior:\n\n" + JSON.stringify(defaultScreenOptions, null, 2) + "\n\nSee https://reactnavigation.org/docs/drawer-navigator#options for more details.");
    }

    if (typeof lazy === 'boolean') {
      defaultScreenOptions.lazy = lazy;
      (0, _warnOnce.default)(true, "Drawer Navigator: 'lazy' in props is deprecated. Move it to 'screenOptions' instead.\n\nSee https://reactnavigation.org/docs/drawer-navigator/#lazy for more details.");
    }

    if (typeof openByDefault === 'boolean') {
      (0, _warnOnce.default)(true, "Drawer Navigator: 'openByDefault' is deprecated. Use 'defaultStatus' and set it to 'open' or 'closed' instead.\n\nSee https://reactnavigation.org/docs/drawer-navigator/#defaultstatus for more details.");
    }

    var defaultStatus = customDefaultStatus !== undefined ? customDefaultStatus : openByDefault ? 'open' : 'closed';

    var _useNavigationBuilder = (0, _$$_REQUIRE(_dependencyMap[6]).useNavigationBuilder)(_$$_REQUIRE(_dependencyMap[6]).DrawerRouter, {
      initialRouteName: initialRouteName,
      defaultStatus: defaultStatus,
      backBehavior: backBehavior,
      children: children,
      screenListeners: screenListeners,
      screenOptions: screenOptions,
      defaultScreenOptions: defaultScreenOptions
    }),
        state = _useNavigationBuilder.state,
        descriptors = _useNavigationBuilder.descriptors,
        navigation = _useNavigationBuilder.navigation,
        NavigationContent = _useNavigationBuilder.NavigationContent;

    return React.createElement(NavigationContent, null, React.createElement(_DrawerView.default, (0, _extends2.default)({}, rest, {
      defaultStatus: defaultStatus,
      state: state,
      descriptors: descriptors,
      navigation: navigation
    })));
  }

  var _default = (0, _$$_REQUIRE(_dependencyMap[6]).createNavigatorFactory)(DrawerNavigator);

  exports.default = _default;
},1140,[5,6,108,17,1141,1142,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var DEV = false;
  var warnings = new Set();

  function warnOnce(condition) {}

  module.exports = warnOnce;
},1141,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = DrawerView;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  var Reanimated = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _DrawerPositionContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _DrawerStatusContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _getDrawerStatusFromState = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _DrawerContent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _DrawerToggleButton = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var getDefaultDrawerWidth = function getDefaultDrawerWidth(_ref) {
    var height = _ref.height,
        width = _ref.width;
    var smallerAxisSize = Math.min(height, width);
    var isLandscape = width > height;
    var isTablet = smallerAxisSize >= 600;
    var appBarHeight = _reactNative.Platform.OS === 'ios' ? isLandscape ? 32 : 44 : 56;
    var maxWidth = isTablet ? 320 : 280;
    return Math.min(smallerAxisSize - appBarHeight, maxWidth);
  };

  var GestureHandlerWrapper = _$$_REQUIRE(_dependencyMap[13]).GestureHandlerRootView != null ? _$$_REQUIRE(_dependencyMap[13]).GestureHandlerRootView : _reactNative.View;

  function DrawerViewBase(_ref2) {
    var state = _ref2.state,
        navigation = _ref2.navigation,
        descriptors = _ref2.descriptors,
        defaultStatus = _ref2.defaultStatus,
        _ref2$drawerContent = _ref2.drawerContent,
        drawerContent = _ref2$drawerContent === undefined ? function (props) {
      return React.createElement(_DrawerContent.default, props);
    } : _ref2$drawerContent,
        _ref2$detachInactiveS = _ref2.detachInactiveScreens,
        detachInactiveScreens = _ref2$detachInactiveS === undefined ? _reactNative.Platform.OS === 'web' || _reactNative.Platform.OS === 'android' || _reactNative.Platform.OS === 'ios' : _ref2$detachInactiveS,
        _ref2$useLegacyImplem = _ref2.useLegacyImplementation,
        useLegacyImplementation = _ref2$useLegacyImplem === undefined ? !(Reanimated.isConfigured != null && Reanimated.isConfigured()) : _ref2$useLegacyImplem;
    var Drawer = useLegacyImplementation ? _$$_REQUIRE(_dependencyMap[14]).default : _$$_REQUIRE(_dependencyMap[15]).default;
    var focusedRouteKey = state.routes[state.index].key;
    var _descriptors$focusedR = descriptors[focusedRouteKey].options,
        _descriptors$focusedR2 = _descriptors$focusedR.drawerHideStatusBarOnOpen,
        drawerHideStatusBarOnOpen = _descriptors$focusedR2 === undefined ? false : _descriptors$focusedR2,
        _descriptors$focusedR3 = _descriptors$focusedR.drawerPosition,
        drawerPosition = _descriptors$focusedR3 === undefined ? _reactNative.I18nManager.isRTL ? 'right' : 'left' : _descriptors$focusedR3,
        _descriptors$focusedR4 = _descriptors$focusedR.drawerStatusBarAnimation,
        drawerStatusBarAnimation = _descriptors$focusedR4 === undefined ? 'slide' : _descriptors$focusedR4,
        drawerStyle = _descriptors$focusedR.drawerStyle,
        _descriptors$focusedR5 = _descriptors$focusedR.drawerType,
        drawerType = _descriptors$focusedR5 === undefined ? _reactNative.Platform.select({
      ios: 'slide',
      default: 'front'
    }) : _descriptors$focusedR5,
        gestureHandlerProps = _descriptors$focusedR.gestureHandlerProps,
        _descriptors$focusedR6 = _descriptors$focusedR.keyboardDismissMode,
        keyboardDismissMode = _descriptors$focusedR6 === undefined ? 'on-drag' : _descriptors$focusedR6,
        _descriptors$focusedR7 = _descriptors$focusedR.overlayColor,
        overlayColor = _descriptors$focusedR7 === undefined ? 'rgba(0, 0, 0, 0.5)' : _descriptors$focusedR7,
        _descriptors$focusedR8 = _descriptors$focusedR.swipeEdgeWidth,
        swipeEdgeWidth = _descriptors$focusedR8 === undefined ? 32 : _descriptors$focusedR8,
        _descriptors$focusedR9 = _descriptors$focusedR.swipeEnabled,
        swipeEnabled = _descriptors$focusedR9 === undefined ? _reactNative.Platform.OS !== 'web' && _reactNative.Platform.OS !== 'windows' && _reactNative.Platform.OS !== 'macos' : _descriptors$focusedR9,
        _descriptors$focusedR10 = _descriptors$focusedR.swipeMinDistance,
        swipeMinDistance = _descriptors$focusedR10 === undefined ? 60 : _descriptors$focusedR10;

    var _React$useState = React.useState([focusedRouteKey]),
        _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
        loaded = _React$useState2[0],
        setLoaded = _React$useState2[1];

    if (!loaded.includes(focusedRouteKey)) {
      setLoaded([].concat((0, _toConsumableArray2.default)(loaded), [focusedRouteKey]));
    }

    var dimensions = (0, _$$_REQUIRE(_dependencyMap[16]).useSafeAreaFrame)();

    var _useTheme = (0, _$$_REQUIRE(_dependencyMap[17]).useTheme)(),
        colors = _useTheme.colors;

    var drawerStatus = (0, _getDrawerStatusFromState.default)(state);
    var handleDrawerOpen = React.useCallback(function () {
      navigation.dispatch((0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[17]).DrawerActions.openDrawer(), {
        target: state.key
      }));
    }, [navigation, state.key]);
    var handleDrawerClose = React.useCallback(function () {
      navigation.dispatch((0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[17]).DrawerActions.closeDrawer(), {
        target: state.key
      }));
    }, [navigation, state.key]);
    React.useEffect(function () {
      if (drawerStatus === defaultStatus || drawerType === 'permanent') {
        return;
      }

      var handleHardwareBack = function handleHardwareBack() {
        if (!navigation.isFocused()) {
          return false;
        }

        if (defaultStatus === 'open') {
          handleDrawerOpen();
        } else {
          handleDrawerClose();
        }

        return true;
      };

      var handleEscape = function handleEscape(e) {
        if (e.key === 'Escape') {
          handleHardwareBack();
        }
      };

      var subscription = _reactNative.BackHandler.addEventListener('hardwareBackPress', handleHardwareBack);

      if (_reactNative.Platform.OS === 'web') {
        var _document, _document$body;

        (_document = document) == null ? undefined : (_document$body = _document.body) == null ? undefined : _document$body.addEventListener == null ? undefined : _document$body.addEventListener('keyup', handleEscape);
      }

      return function () {
        subscription.remove();

        if (_reactNative.Platform.OS === 'web') {
          var _document2, _document2$body;

          (_document2 = document) == null ? undefined : (_document2$body = _document2.body) == null ? undefined : _document2$body.removeEventListener == null ? undefined : _document2$body.removeEventListener('keyup', handleEscape);
        }
      };
    }, [defaultStatus, drawerStatus, drawerType, handleDrawerClose, handleDrawerOpen, navigation]);

    var renderDrawerContent = function renderDrawerContent() {
      return React.createElement(_DrawerPositionContext.default.Provider, {
        value: drawerPosition
      }, drawerContent({
        state: state,
        navigation: navigation,
        descriptors: descriptors
      }));
    };

    var renderSceneContent = function renderSceneContent() {
      return React.createElement(_$$_REQUIRE(_dependencyMap[18]).MaybeScreenContainer, {
        enabled: detachInactiveScreens,
        hasTwoStates: true,
        style: styles.content
      }, state.routes.map(function (route, index) {
        var descriptor = descriptors[route.key];
        var _descriptor$options = descriptor.options,
            _descriptor$options$l = _descriptor$options.lazy,
            lazy = _descriptor$options$l === undefined ? true : _descriptor$options$l,
            unmountOnBlur = _descriptor$options.unmountOnBlur;
        var isFocused = state.index === index;

        if (unmountOnBlur && !isFocused) {
          return null;
        }

        if (lazy && !loaded.includes(route.key) && !isFocused) {
          return null;
        }

        var _descriptor$options2 = descriptor.options,
            _descriptor$options2$ = _descriptor$options2.header,
            header = _descriptor$options2$ === undefined ? function (_ref3) {
          var _options$headerLeft;

          var layout = _ref3.layout,
              options = _ref3.options;
          return React.createElement(_$$_REQUIRE(_dependencyMap[19]).Header, (0, _extends2.default)({}, options, {
            layout: layout,
            title: (0, _$$_REQUIRE(_dependencyMap[19]).getHeaderTitle)(options, route.name),
            headerLeft: (_options$headerLeft = options.headerLeft) != null ? _options$headerLeft : function (props) {
              return React.createElement(_DrawerToggleButton.default, props);
            }
          }));
        } : _descriptor$options2$,
            sceneContainerStyle = _descriptor$options2.sceneContainerStyle;
        return React.createElement(_$$_REQUIRE(_dependencyMap[18]).MaybeScreen, {
          key: route.key,
          style: [_reactNative.StyleSheet.absoluteFill, {
            zIndex: isFocused ? 0 : -1
          }],
          visible: isFocused,
          enabled: detachInactiveScreens
        }, React.createElement(_$$_REQUIRE(_dependencyMap[19]).Screen, {
          focused: isFocused,
          route: descriptor.route,
          navigation: descriptor.navigation,
          headerShown: descriptor.options.headerShown,
          headerTransparent: descriptor.options.headerTransparent,
          headerStatusBarHeight: descriptor.options.headerStatusBarHeight,
          header: header({
            layout: dimensions,
            route: descriptor.route,
            navigation: descriptor.navigation,
            options: descriptor.options
          }),
          style: sceneContainerStyle
        }, descriptor.render()));
      }));
    };

    return React.createElement(_DrawerStatusContext.default.Provider, {
      value: drawerStatus
    }, React.createElement(Drawer, {
      open: drawerStatus !== 'closed',
      onOpen: handleDrawerOpen,
      onClose: handleDrawerClose,
      gestureHandlerProps: gestureHandlerProps,
      swipeEnabled: swipeEnabled,
      swipeEdgeWidth: swipeEdgeWidth,
      swipeVelocityThreshold: 500,
      swipeDistanceThreshold: swipeMinDistance,
      hideStatusBarOnOpen: drawerHideStatusBarOnOpen,
      statusBarAnimation: drawerStatusBarAnimation,
      keyboardDismissMode: keyboardDismissMode,
      drawerType: drawerType,
      drawerPosition: drawerPosition,
      drawerStyle: [{
        width: getDefaultDrawerWidth(dimensions),
        backgroundColor: colors.card
      }, drawerType === 'permanent' && (drawerPosition === 'left' ? {
        borderRightColor: colors.border,
        borderRightWidth: _reactNative.StyleSheet.hairlineWidth
      } : {
        borderLeftColor: colors.border,
        borderLeftWidth: _reactNative.StyleSheet.hairlineWidth
      }), drawerStyle],
      overlayStyle: {
        backgroundColor: overlayColor
      },
      renderDrawerContent: renderDrawerContent,
      renderSceneContent: renderSceneContent,
      dimensions: dimensions
    }));
  }

  function DrawerView(_ref4) {
    var navigation = _ref4.navigation,
        rest = (0, _objectWithoutProperties2.default)(_ref4, ["navigation"]);
    return React.createElement(_$$_REQUIRE(_dependencyMap[19]).SafeAreaProviderCompat, null, React.createElement(GestureHandlerWrapper, {
      style: styles.content
    }, React.createElement(DrawerViewBase, (0, _extends2.default)({
      navigation: navigation
    }, rest))));
  }

  var styles = _reactNative.StyleSheet.create({
    content: {
      flex: 1
    }
  });
},1142,[5,108,6,21,41,17,28,646,1143,1144,1145,1146,1189,1191,1194,1197,1148,1002,1199,1165]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = React.createContext(undefined);

  exports.default = _default;
},1143,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var DrawerStatusContext = React.createContext(undefined);
  var _default = DrawerStatusContext;
  exports.default = _default;
},1144,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = getDrawerStatusFromState;

  function getDrawerStatusFromState(state) {
    var _ref, _entry$status;

    if (state.history == null) {
      throw new Error("Couldn't find the drawer status in the state object. Is it a valid state object of drawer navigator?");
    }

    var entry = state.history.find(function (it) {
      return it.type === 'drawer';
    });
    return (_ref = (_entry$status = entry == null ? undefined : entry.status) != null ? _entry$status : state.default) != null ? _ref : 'closed';
  }
},1145,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = DrawerContent;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _DrawerContentScrollView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _DrawerItemList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function DrawerContent(_ref) {
    var descriptors = _ref.descriptors,
        state = _ref.state,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["descriptors", "state"]);
    var focusedRoute = state.routes[state.index];
    var focusedDescriptor = descriptors[focusedRoute.key];
    var focusedOptions = focusedDescriptor.options;
    var drawerContentStyle = focusedOptions.drawerContentStyle,
        drawerContentContainerStyle = focusedOptions.drawerContentContainerStyle;
    return React.createElement(_DrawerContentScrollView.default, (0, _extends2.default)({}, rest, {
      contentContainerStyle: drawerContentContainerStyle,
      style: drawerContentStyle
    }), React.createElement(_DrawerItemList.default, (0, _extends2.default)({
      descriptors: descriptors,
      state: state
    }, rest)));
  }
},1146,[5,6,108,17,1147,1154]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _DrawerPositionContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function DrawerContentScrollView(_ref, ref) {
    var contentContainerStyle = _ref.contentContainerStyle,
        style = _ref.style,
        children = _ref.children,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["contentContainerStyle", "style", "children"]);
    var drawerPosition = React.useContext(_DrawerPositionContext.default);
    var insets = (0, _$$_REQUIRE(_dependencyMap[6]).useSafeAreaInsets)();
    var isRight = _reactNative.I18nManager.isRTL ? drawerPosition === 'left' : drawerPosition === 'right';
    return React.createElement(_reactNative.ScrollView, (0, _extends2.default)({}, rest, {
      ref: ref,
      contentContainerStyle: [{
        paddingTop: insets.top + 4,
        paddingStart: !isRight ? insets.left : 0,
        paddingEnd: isRight ? insets.right : 0
      }, contentContainerStyle],
      style: [styles.container, style]
    }), children);
  }

  var _default = React.forwardRef(DrawerContentScrollView);

  exports.default = _default;

  var styles = _reactNative.StyleSheet.create({
    container: {
      flex: 1
    }
  });
},1147,[5,6,108,17,28,1143,1148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[1])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[1])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[1])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[2])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[2])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[2])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[3])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[3])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[3])[key];
      }
    });
  });
},1148,[1149,1151,1152,1153]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.SafeAreaProvider = SafeAreaProvider;
  exports.useSafeAreaInsets = useSafeAreaInsets;
  exports.useSafeAreaFrame = useSafeAreaFrame;
  exports.withSafeAreaInsets = withSafeAreaInsets;
  exports.useSafeArea = useSafeArea;
  exports.SafeAreaContext = exports.SafeAreaConsumer = exports.SafeAreaFrameContext = exports.SafeAreaInsetsContext = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _NativeSafeAreaProvider = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var SafeAreaInsetsContext = React.createContext(null);
  exports.SafeAreaInsetsContext = SafeAreaInsetsContext;
  SafeAreaInsetsContext.displayName = 'SafeAreaInsetsContext';
  var SafeAreaFrameContext = React.createContext(null);
  exports.SafeAreaFrameContext = SafeAreaFrameContext;
  SafeAreaFrameContext.displayName = 'SafeAreaFrameContext';

  function SafeAreaProvider(_ref) {
    var _ref2, _ref3, _initialMetrics$inset, _ref4, _initialMetrics$frame;

    var children = _ref.children,
        initialMetrics = _ref.initialMetrics,
        initialSafeAreaInsets = _ref.initialSafeAreaInsets,
        style = _ref.style;
    var parentInsets = useParentSafeAreaInsets();
    var parentFrame = useParentSafeAreaFrame();

    var _React$useState = React.useState((_ref2 = (_ref3 = (_initialMetrics$inset = initialMetrics == null ? undefined : initialMetrics.insets) != null ? _initialMetrics$inset : initialSafeAreaInsets) != null ? _ref3 : parentInsets) != null ? _ref2 : null),
        _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
        insets = _React$useState2[0],
        setInsets = _React$useState2[1];

    var _React$useState3 = React.useState((_ref4 = (_initialMetrics$frame = initialMetrics == null ? undefined : initialMetrics.frame) != null ? _initialMetrics$frame : parentFrame) != null ? _ref4 : {
      x: 0,
      y: 0,
      width: _reactNative.Dimensions.get('window').width,
      height: _reactNative.Dimensions.get('window').height
    }),
        _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
        frame = _React$useState4[0],
        setFrame = _React$useState4[1];

    var onInsetsChange = React.useCallback(function (event) {
      var _event$nativeEvent = event.nativeEvent,
          nextFrame = _event$nativeEvent.frame,
          nextInsets = _event$nativeEvent.insets;

      if (nextFrame && (nextFrame.height !== frame.height || nextFrame.width !== frame.width || nextFrame.x !== frame.x || nextFrame.y !== frame.y)) {
        setFrame(nextFrame);
      }

      if (!insets || nextInsets.bottom !== insets.bottom || nextInsets.left !== insets.left || nextInsets.right !== insets.right || nextInsets.top !== insets.top) {
        setInsets(nextInsets);
      }
    }, [frame, insets]);
    return React.createElement(_NativeSafeAreaProvider.default, {
      style: [styles.fill, style],
      onInsetsChange: onInsetsChange
    }, insets != null ? React.createElement(SafeAreaFrameContext.Provider, {
      value: frame
    }, React.createElement(SafeAreaInsetsContext.Provider, {
      value: insets
    }, children)) : null);
  }

  var styles = _reactNative.StyleSheet.create({
    fill: {
      flex: 1
    }
  });

  function useParentSafeAreaInsets() {
    return React.useContext(SafeAreaInsetsContext);
  }

  function useParentSafeAreaFrame() {
    return React.useContext(SafeAreaFrameContext);
  }

  function useSafeAreaInsets() {
    var safeArea = React.useContext(SafeAreaInsetsContext);

    if (safeArea == null) {
      throw new Error('No safe area insets value available. Make sure you are rendering `<SafeAreaProvider>` at the top of your app.');
    }

    return safeArea;
  }

  function useSafeAreaFrame() {
    var frame = React.useContext(SafeAreaFrameContext);

    if (frame == null) {
      throw new Error('No safe area frame value available. Make sure you are rendering `<SafeAreaProvider>` at the top of your app.');
    }

    return frame;
  }

  function withSafeAreaInsets(WrappedComponent) {
    return React.forwardRef(function (props, ref) {
      return React.createElement(SafeAreaConsumer, null, function (insets) {
        return React.createElement(WrappedComponent, (0, _extends2.default)({}, props, {
          insets: insets,
          ref: ref
        }));
      });
    });
  }

  function useSafeArea() {
    return useSafeAreaInsets();
  }

  var SafeAreaConsumer = SafeAreaInsetsContext.Consumer;
  exports.SafeAreaConsumer = SafeAreaConsumer;
  var SafeAreaContext = SafeAreaInsetsContext;
  exports.SafeAreaContext = SafeAreaContext;
},1149,[5,6,41,17,28,1150]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = (0, _reactNative.requireNativeComponent)('RNCSafeAreaProvider');

  exports.default = _default;
},1150,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.SafeAreaView = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var SafeAreaView = (0, _reactNative.requireNativeComponent)('RNCSafeAreaView');
  exports.SafeAreaView = SafeAreaView;
},1151,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.initialWindowSafeAreaInsets = exports.initialWindowMetrics = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var RNCSafeAreaProviderConfig = _reactNative.UIManager.getViewManagerConfig('RNCSafeAreaProvider');

  var initialWindowMetrics = RNCSafeAreaProviderConfig != null && RNCSafeAreaProviderConfig.Constants != null ? RNCSafeAreaProviderConfig.Constants.initialWindowMetrics : null;
  exports.initialWindowMetrics = initialWindowMetrics;
  var initialWindowSafeAreaInsets = initialWindowMetrics == null ? undefined : initialWindowMetrics.insets;
  exports.initialWindowSafeAreaInsets = initialWindowSafeAreaInsets;
},1152,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {},1153,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = DrawerItemList;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _DrawerItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function DrawerItemList(_ref) {
    var state = _ref.state,
        navigation = _ref.navigation,
        descriptors = _ref.descriptors;
    var buildLink = (0, _$$_REQUIRE(_dependencyMap[4]).useLinkBuilder)();
    var focusedRoute = state.routes[state.index];
    var focusedDescriptor = descriptors[focusedRoute.key];
    var focusedOptions = focusedDescriptor.options;
    var drawerActiveTintColor = focusedOptions.drawerActiveTintColor,
        drawerInactiveTintColor = focusedOptions.drawerInactiveTintColor,
        drawerActiveBackgroundColor = focusedOptions.drawerActiveBackgroundColor,
        drawerInactiveBackgroundColor = focusedOptions.drawerInactiveBackgroundColor;
    return state.routes.map(function (route, i) {
      var focused = i === state.index;

      var onPress = function onPress() {
        var event = navigation.emit({
          type: 'drawerItemPress',
          target: route.key,
          canPreventDefault: true
        });

        if (!event.defaultPrevented) {
          navigation.dispatch((0, _extends2.default)({}, focused ? _$$_REQUIRE(_dependencyMap[4]).DrawerActions.closeDrawer() : _$$_REQUIRE(_dependencyMap[4]).CommonActions.navigate({
            name: route.name,
            merge: true
          }), {
            target: state.key
          }));
        }
      };

      var _descriptors$route$ke = descriptors[route.key].options,
          title = _descriptors$route$ke.title,
          drawerLabel = _descriptors$route$ke.drawerLabel,
          drawerIcon = _descriptors$route$ke.drawerIcon,
          drawerLabelStyle = _descriptors$route$ke.drawerLabelStyle,
          drawerItemStyle = _descriptors$route$ke.drawerItemStyle,
          drawerAllowFontScaling = _descriptors$route$ke.drawerAllowFontScaling;
      return React.createElement(_DrawerItem.default, {
        key: route.key,
        label: drawerLabel !== undefined ? drawerLabel : title !== undefined ? title : route.name,
        icon: drawerIcon,
        focused: focused,
        activeTintColor: drawerActiveTintColor,
        inactiveTintColor: drawerInactiveTintColor,
        activeBackgroundColor: drawerActiveBackgroundColor,
        inactiveBackgroundColor: drawerInactiveBackgroundColor,
        allowFontScaling: drawerAllowFontScaling,
        labelStyle: drawerLabelStyle,
        style: drawerItemStyle,
        to: buildLink(route.name, route.params),
        onPress: onPress
      });
    });
  }
},1154,[5,6,17,1155,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = DrawerItem;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _color = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var LinkPressable = function LinkPressable(_ref) {
    var children = _ref.children,
        style = _ref.style,
        _onPress = _ref.onPress,
        onLongPress = _ref.onLongPress,
        to = _ref.to,
        accessibilityRole = _ref.accessibilityRole,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["children", "style", "onPress", "onLongPress", "to", "accessibilityRole"]);

    if (_reactNative.Platform.OS === 'web' && to) {
      return React.createElement(_$$_REQUIRE(_dependencyMap[6]).Link, (0, _extends2.default)({}, rest, {
        to: to,
        style: [styles.button, style],
        onPress: function onPress(e) {
          if (!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) && (e.button == null || e.button === 0)) {
            e.preventDefault();
            _onPress == null ? undefined : _onPress(e);
          }
        },
        onLongPress: onLongPress != null ? onLongPress : undefined
      }), children);
    } else {
      return React.createElement(_$$_REQUIRE(_dependencyMap[7]).PlatformPressable, (0, _extends2.default)({}, rest, {
        accessibilityRole: accessibilityRole,
        onPress: _onPress
      }), React.createElement(_reactNative.View, {
        style: style
      }, children));
    }
  };

  function DrawerItem(props) {
    var _useTheme = (0, _$$_REQUIRE(_dependencyMap[6]).useTheme)(),
        colors = _useTheme.colors;

    var icon = props.icon,
        label = props.label,
        labelStyle = props.labelStyle,
        to = props.to,
        _props$focused = props.focused,
        focused = _props$focused === undefined ? false : _props$focused,
        allowFontScaling = props.allowFontScaling,
        _props$activeTintColo = props.activeTintColor,
        activeTintColor = _props$activeTintColo === undefined ? colors.primary : _props$activeTintColo,
        _props$inactiveTintCo = props.inactiveTintColor,
        inactiveTintColor = _props$inactiveTintCo === undefined ? (0, _color.default)(colors.text).alpha(0.68).rgb().string() : _props$inactiveTintCo,
        _props$activeBackgrou = props.activeBackgroundColor,
        activeBackgroundColor = _props$activeBackgrou === undefined ? (0, _color.default)(activeTintColor).alpha(0.12).rgb().string() : _props$activeBackgrou,
        _props$inactiveBackgr = props.inactiveBackgroundColor,
        inactiveBackgroundColor = _props$inactiveBackgr === undefined ? 'transparent' : _props$inactiveBackgr,
        style = props.style,
        onPress = props.onPress,
        pressColor = props.pressColor,
        pressOpacity = props.pressOpacity,
        rest = (0, _objectWithoutProperties2.default)(props, ["icon", "label", "labelStyle", "to", "focused", "allowFontScaling", "activeTintColor", "inactiveTintColor", "activeBackgroundColor", "inactiveBackgroundColor", "style", "onPress", "pressColor", "pressOpacity"]);

    var _StyleSheet$flatten = _reactNative.StyleSheet.flatten(style || {}),
        _StyleSheet$flatten$b = _StyleSheet$flatten.borderRadius,
        borderRadius = _StyleSheet$flatten$b === undefined ? 4 : _StyleSheet$flatten$b;

    var color = focused ? activeTintColor : inactiveTintColor;
    var backgroundColor = focused ? activeBackgroundColor : inactiveBackgroundColor;
    var iconNode = icon ? icon({
      size: 24,
      focused: focused,
      color: color
    }) : null;
    return React.createElement(_reactNative.View, (0, _extends2.default)({
      collapsable: false
    }, rest, {
      style: [styles.container, {
        borderRadius: borderRadius,
        backgroundColor: backgroundColor
      }, style]
    }), React.createElement(LinkPressable, {
      onPress: onPress,
      style: [styles.wrapper, {
        borderRadius: borderRadius
      }],
      accessibilityRole: "button",
      accessibilityState: {
        selected: focused
      },
      pressColor: pressColor,
      pressOpacity: pressOpacity,
      to: to
    }, React.createElement(React.Fragment, null, iconNode, React.createElement(_reactNative.View, {
      style: [styles.label, {
        marginLeft: iconNode ? 32 : 0,
        marginVertical: 5
      }]
    }, typeof label === 'string' ? React.createElement(_reactNative.Text, {
      numberOfLines: 1,
      allowFontScaling: allowFontScaling,
      style: [{
        color: color,
        fontWeight: '500'
      }, labelStyle]
    }, label) : label({
      color: color,
      focused: focused
    })))));
  }

  var styles = _reactNative.StyleSheet.create({
    container: {
      marginHorizontal: 10,
      marginVertical: 4,
      overflow: 'hidden'
    },
    wrapper: {
      flexDirection: 'row',
      alignItems: 'center',
      padding: 8
    },
    label: {
      marginRight: 32,
      flex: 1
    },
    button: {
      display: 'flex'
    }
  });
},1155,[5,6,108,1156,17,28,1002,1165]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var _slice = [].slice;
  var skippedModels = ['keyword', 'gray', 'hex'];
  var hashedModelKeys = {};
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (model) {
    hashedModelKeys[_slice.call(_$$_REQUIRE(_dependencyMap[0])[model].labels).sort().join('')] = model;
  });
  var limiters = {};

  function Color(obj, model) {
    if (!(this instanceof Color)) {
      return new Color(obj, model);
    }

    if (model && model in skippedModels) {
      model = null;
    }

    if (model && !(model in _$$_REQUIRE(_dependencyMap[0]))) {
      throw new Error('Unknown model: ' + model);
    }

    var i;
    var channels;

    if (obj == null) {
      this.model = 'rgb';
      this.color = [0, 0, 0];
      this.valpha = 1;
    } else if (obj instanceof Color) {
      this.model = obj.model;
      this.color = obj.color.slice();
      this.valpha = obj.valpha;
    } else if (typeof obj === 'string') {
      var result = _$$_REQUIRE(_dependencyMap[1]).get(obj);

      if (result === null) {
        throw new Error('Unable to parse color from string: ' + obj);
      }

      this.model = result.model;
      channels = _$$_REQUIRE(_dependencyMap[0])[this.model].channels;
      this.color = result.value.slice(0, channels);
      this.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;
    } else if (obj.length) {
      this.model = model || 'rgb';
      channels = _$$_REQUIRE(_dependencyMap[0])[this.model].channels;

      var newArr = _slice.call(obj, 0, channels);

      this.color = zeroArray(newArr, channels);
      this.valpha = typeof obj[channels] === 'number' ? obj[channels] : 1;
    } else if (typeof obj === 'number') {
      obj &= 0xFFFFFF;
      this.model = 'rgb';
      this.color = [obj >> 16 & 0xFF, obj >> 8 & 0xFF, obj & 0xFF];
      this.valpha = 1;
    } else {
      this.valpha = 1;
      var keys = Object.keys(obj);

      if ('alpha' in obj) {
        keys.splice(keys.indexOf('alpha'), 1);
        this.valpha = typeof obj.alpha === 'number' ? obj.alpha : 0;
      }

      var hashedKeys = keys.sort().join('');

      if (!(hashedKeys in hashedModelKeys)) {
        throw new Error('Unable to parse color from object: ' + JSON.stringify(obj));
      }

      this.model = hashedModelKeys[hashedKeys];

      var labels = _$$_REQUIRE(_dependencyMap[0])[this.model].labels;

      var color = [];

      for (i = 0; i < labels.length; i++) {
        color.push(obj[labels[i]]);
      }

      this.color = zeroArray(color);
    }

    if (limiters[this.model]) {
      channels = _$$_REQUIRE(_dependencyMap[0])[this.model].channels;

      for (i = 0; i < channels; i++) {
        var limit = limiters[this.model][i];

        if (limit) {
          this.color[i] = limit(this.color[i]);
        }
      }
    }

    this.valpha = Math.max(0, Math.min(1, this.valpha));

    if (Object.freeze) {
      Object.freeze(this);
    }
  }

  Color.prototype = {
    toString: function toString() {
      return this.string();
    },
    toJSON: function toJSON() {
      return this[this.model]();
    },
    string: function string(places) {
      var self = this.model in _$$_REQUIRE(_dependencyMap[1]).to ? this : this.rgb();
      self = self.round(typeof places === 'number' ? places : 1);
      var args = self.valpha === 1 ? self.color : self.color.concat(this.valpha);
      return _$$_REQUIRE(_dependencyMap[1]).to[self.model](args);
    },
    percentString: function percentString(places) {
      var self = this.rgb().round(typeof places === 'number' ? places : 1);
      var args = self.valpha === 1 ? self.color : self.color.concat(this.valpha);
      return _$$_REQUIRE(_dependencyMap[1]).to.rgb.percent(args);
    },
    array: function array() {
      return this.valpha === 1 ? this.color.slice() : this.color.concat(this.valpha);
    },
    object: function object() {
      var result = {};

      var channels = _$$_REQUIRE(_dependencyMap[0])[this.model].channels;

      var labels = _$$_REQUIRE(_dependencyMap[0])[this.model].labels;

      for (var i = 0; i < channels; i++) {
        result[labels[i]] = this.color[i];
      }

      if (this.valpha !== 1) {
        result.alpha = this.valpha;
      }

      return result;
    },
    unitArray: function unitArray() {
      var rgb = this.rgb().color;
      rgb[0] /= 255;
      rgb[1] /= 255;
      rgb[2] /= 255;

      if (this.valpha !== 1) {
        rgb.push(this.valpha);
      }

      return rgb;
    },
    unitObject: function unitObject() {
      var rgb = this.rgb().object();
      rgb.r /= 255;
      rgb.g /= 255;
      rgb.b /= 255;

      if (this.valpha !== 1) {
        rgb.alpha = this.valpha;
      }

      return rgb;
    },
    round: function round(places) {
      places = Math.max(places || 0, 0);
      return new Color(this.color.map(roundToPlace(places)).concat(this.valpha), this.model);
    },
    alpha: function alpha(val) {
      if (arguments.length) {
        return new Color(this.color.concat(Math.max(0, Math.min(1, val))), this.model);
      }

      return this.valpha;
    },
    red: getset('rgb', 0, maxfn(255)),
    green: getset('rgb', 1, maxfn(255)),
    blue: getset('rgb', 2, maxfn(255)),
    hue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, function (val) {
      return (val % 360 + 360) % 360;
    }),
    saturationl: getset('hsl', 1, maxfn(100)),
    lightness: getset('hsl', 2, maxfn(100)),
    saturationv: getset('hsv', 1, maxfn(100)),
    value: getset('hsv', 2, maxfn(100)),
    chroma: getset('hcg', 1, maxfn(100)),
    gray: getset('hcg', 2, maxfn(100)),
    white: getset('hwb', 1, maxfn(100)),
    wblack: getset('hwb', 2, maxfn(100)),
    cyan: getset('cmyk', 0, maxfn(100)),
    magenta: getset('cmyk', 1, maxfn(100)),
    yellow: getset('cmyk', 2, maxfn(100)),
    black: getset('cmyk', 3, maxfn(100)),
    x: getset('xyz', 0, maxfn(100)),
    y: getset('xyz', 1, maxfn(100)),
    z: getset('xyz', 2, maxfn(100)),
    l: getset('lab', 0, maxfn(100)),
    a: getset('lab', 1),
    b: getset('lab', 2),
    keyword: function keyword(val) {
      if (arguments.length) {
        return new Color(val);
      }

      return _$$_REQUIRE(_dependencyMap[0])[this.model].keyword(this.color);
    },
    hex: function hex(val) {
      if (arguments.length) {
        return new Color(val);
      }

      return _$$_REQUIRE(_dependencyMap[1]).to.hex(this.rgb().round().color);
    },
    rgbNumber: function rgbNumber() {
      var rgb = this.rgb().color;
      return (rgb[0] & 0xFF) << 16 | (rgb[1] & 0xFF) << 8 | rgb[2] & 0xFF;
    },
    luminosity: function luminosity() {
      var rgb = this.rgb().color;
      var lum = [];

      for (var i = 0; i < rgb.length; i++) {
        var chan = rgb[i] / 255;
        lum[i] = chan <= 0.03928 ? chan / 12.92 : Math.pow((chan + 0.055) / 1.055, 2.4);
      }

      return 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];
    },
    contrast: function contrast(color2) {
      var lum1 = this.luminosity();
      var lum2 = color2.luminosity();

      if (lum1 > lum2) {
        return (lum1 + 0.05) / (lum2 + 0.05);
      }

      return (lum2 + 0.05) / (lum1 + 0.05);
    },
    level: function level(color2) {
      var contrastRatio = this.contrast(color2);

      if (contrastRatio >= 7.1) {
        return 'AAA';
      }

      return contrastRatio >= 4.5 ? 'AA' : '';
    },
    isDark: function isDark() {
      var rgb = this.rgb().color;
      var yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;
      return yiq < 128;
    },
    isLight: function isLight() {
      return !this.isDark();
    },
    negate: function negate() {
      var rgb = this.rgb();

      for (var i = 0; i < 3; i++) {
        rgb.color[i] = 255 - rgb.color[i];
      }

      return rgb;
    },
    lighten: function lighten(ratio) {
      var hsl = this.hsl();
      hsl.color[2] += hsl.color[2] * ratio;
      return hsl;
    },
    darken: function darken(ratio) {
      var hsl = this.hsl();
      hsl.color[2] -= hsl.color[2] * ratio;
      return hsl;
    },
    saturate: function saturate(ratio) {
      var hsl = this.hsl();
      hsl.color[1] += hsl.color[1] * ratio;
      return hsl;
    },
    desaturate: function desaturate(ratio) {
      var hsl = this.hsl();
      hsl.color[1] -= hsl.color[1] * ratio;
      return hsl;
    },
    whiten: function whiten(ratio) {
      var hwb = this.hwb();
      hwb.color[1] += hwb.color[1] * ratio;
      return hwb;
    },
    blacken: function blacken(ratio) {
      var hwb = this.hwb();
      hwb.color[2] += hwb.color[2] * ratio;
      return hwb;
    },
    grayscale: function grayscale() {
      var rgb = this.rgb().color;
      var val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;
      return Color.rgb(val, val, val);
    },
    fade: function fade(ratio) {
      return this.alpha(this.valpha - this.valpha * ratio);
    },
    opaquer: function opaquer(ratio) {
      return this.alpha(this.valpha + this.valpha * ratio);
    },
    rotate: function rotate(degrees) {
      var hsl = this.hsl();
      var hue = hsl.color[0];
      hue = (hue + degrees) % 360;
      hue = hue < 0 ? 360 + hue : hue;
      hsl.color[0] = hue;
      return hsl;
    },
    mix: function mix(mixinColor, weight) {
      if (!mixinColor || !mixinColor.rgb) {
        throw new Error('Argument to "mix" was not a Color instance, but rather an instance of ' + typeof mixinColor);
      }

      var color1 = mixinColor.rgb();
      var color2 = this.rgb();
      var p = weight === undefined ? 0.5 : weight;
      var w = 2 * p - 1;
      var a = color1.alpha() - color2.alpha();
      var w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;
      var w2 = 1 - w1;
      return Color.rgb(w1 * color1.red() + w2 * color2.red(), w1 * color1.green() + w2 * color2.green(), w1 * color1.blue() + w2 * color2.blue(), color1.alpha() * p + color2.alpha() * (1 - p));
    }
  };
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (model) {
    if (skippedModels.indexOf(model) !== -1) {
      return;
    }

    var channels = _$$_REQUIRE(_dependencyMap[0])[model].channels;

    Color.prototype[model] = function () {
      if (this.model === model) {
        return new Color(this);
      }

      if (arguments.length) {
        return new Color(arguments, model);
      }

      var newAlpha = typeof arguments[channels] === 'number' ? channels : this.valpha;
      return new Color(assertArray(_$$_REQUIRE(_dependencyMap[0])[this.model][model].raw(this.color)).concat(newAlpha), model);
    };

    Color[model] = function (color) {
      if (typeof color === 'number') {
        color = zeroArray(_slice.call(arguments), channels);
      }

      return new Color(color, model);
    };
  });

  function roundTo(num, places) {
    return Number(num.toFixed(places));
  }

  function roundToPlace(places) {
    return function (num) {
      return roundTo(num, places);
    };
  }

  function getset(model, channel, modifier) {
    model = Array.isArray(model) ? model : [model];
    model.forEach(function (m) {
      (limiters[m] || (limiters[m] = []))[channel] = modifier;
    });
    model = model[0];
    return function (val) {
      var result;

      if (arguments.length) {
        if (modifier) {
          val = modifier(val);
        }

        result = this[model]();
        result.color[channel] = val;
        return result;
      }

      result = this[model]().color[channel];

      if (modifier) {
        result = modifier(result);
      }

      return result;
    };
  }

  function maxfn(max) {
    return function (v) {
      return Math.max(0, Math.min(max, v));
    };
  }

  function assertArray(val) {
    return Array.isArray(val) ? val : [val];
  }

  function zeroArray(arr, length) {
    for (var i = 0; i < length; i++) {
      if (typeof arr[i] !== 'number') {
        arr[i] = 0;
      }
    }

    return arr;
  }

  module.exports = Color;
},1156,[1157,1161]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var convert = {};
  var models = Object.keys(_$$_REQUIRE(_dependencyMap[0]));

  function wrapRaw(fn) {
    var wrappedFn = function wrappedFn(args) {
      if (args === undefined || args === null) {
        return args;
      }

      if (arguments.length > 1) {
        args = Array.prototype.slice.call(arguments);
      }

      return fn(args);
    };

    if ('conversion' in fn) {
      wrappedFn.conversion = fn.conversion;
    }

    return wrappedFn;
  }

  function wrapRounded(fn) {
    var wrappedFn = function wrappedFn(args) {
      if (args === undefined || args === null) {
        return args;
      }

      if (arguments.length > 1) {
        args = Array.prototype.slice.call(arguments);
      }

      var result = fn(args);

      if (typeof result === 'object') {
        for (var len = result.length, i = 0; i < len; i++) {
          result[i] = Math.round(result[i]);
        }
      }

      return result;
    };

    if ('conversion' in fn) {
      wrappedFn.conversion = fn.conversion;
    }

    return wrappedFn;
  }

  models.forEach(function (fromModel) {
    convert[fromModel] = {};
    Object.defineProperty(convert[fromModel], 'channels', {
      value: _$$_REQUIRE(_dependencyMap[0])[fromModel].channels
    });
    Object.defineProperty(convert[fromModel], 'labels', {
      value: _$$_REQUIRE(_dependencyMap[0])[fromModel].labels
    });

    var routes = _$$_REQUIRE(_dependencyMap[1])(fromModel);

    var routeModels = Object.keys(routes);
    routeModels.forEach(function (toModel) {
      var fn = routes[toModel];
      convert[fromModel][toModel] = wrapRounded(fn);
      convert[fromModel][toModel].raw = wrapRaw(fn);
    });
  });
  module.exports = convert;
},1157,[1158,1160]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var reverseKeywords = {};

  for (var key in _$$_REQUIRE(_dependencyMap[0])) {
    if (_$$_REQUIRE(_dependencyMap[0]).hasOwnProperty(key)) {
      reverseKeywords[_$$_REQUIRE(_dependencyMap[0])[key]] = key;
    }
  }

  var convert = module.exports = {
    rgb: {
      channels: 3,
      labels: 'rgb'
    },
    hsl: {
      channels: 3,
      labels: 'hsl'
    },
    hsv: {
      channels: 3,
      labels: 'hsv'
    },
    hwb: {
      channels: 3,
      labels: 'hwb'
    },
    cmyk: {
      channels: 4,
      labels: 'cmyk'
    },
    xyz: {
      channels: 3,
      labels: 'xyz'
    },
    lab: {
      channels: 3,
      labels: 'lab'
    },
    lch: {
      channels: 3,
      labels: 'lch'
    },
    hex: {
      channels: 1,
      labels: ['hex']
    },
    keyword: {
      channels: 1,
      labels: ['keyword']
    },
    ansi16: {
      channels: 1,
      labels: ['ansi16']
    },
    ansi256: {
      channels: 1,
      labels: ['ansi256']
    },
    hcg: {
      channels: 3,
      labels: ['h', 'c', 'g']
    },
    apple: {
      channels: 3,
      labels: ['r16', 'g16', 'b16']
    },
    gray: {
      channels: 1,
      labels: ['gray']
    }
  };

  for (var model in convert) {
    if (convert.hasOwnProperty(model)) {
      if (!('channels' in convert[model])) {
        throw new Error('missing channels property: ' + model);
      }

      if (!('labels' in convert[model])) {
        throw new Error('missing channel labels property: ' + model);
      }

      if (convert[model].labels.length !== convert[model].channels) {
        throw new Error('channel and label counts mismatch: ' + model);
      }

      var channels = convert[model].channels;
      var labels = convert[model].labels;
      delete convert[model].channels;
      delete convert[model].labels;
      Object.defineProperty(convert[model], 'channels', {
        value: channels
      });
      Object.defineProperty(convert[model], 'labels', {
        value: labels
      });
    }
  }

  convert.rgb.hsl = function (rgb) {
    var r = rgb[0] / 255;
    var g = rgb[1] / 255;
    var b = rgb[2] / 255;
    var min = Math.min(r, g, b);
    var max = Math.max(r, g, b);
    var delta = max - min;
    var h;
    var s;
    var l;

    if (max === min) {
      h = 0;
    } else if (r === max) {
      h = (g - b) / delta;
    } else if (g === max) {
      h = 2 + (b - r) / delta;
    } else if (b === max) {
      h = 4 + (r - g) / delta;
    }

    h = Math.min(h * 60, 360);

    if (h < 0) {
      h += 360;
    }

    l = (min + max) / 2;

    if (max === min) {
      s = 0;
    } else if (l <= 0.5) {
      s = delta / (max + min);
    } else {
      s = delta / (2 - max - min);
    }

    return [h, s * 100, l * 100];
  };

  convert.rgb.hsv = function (rgb) {
    var rdif;
    var gdif;
    var bdif;
    var h;
    var s;
    var r = rgb[0] / 255;
    var g = rgb[1] / 255;
    var b = rgb[2] / 255;
    var v = Math.max(r, g, b);
    var diff = v - Math.min(r, g, b);

    var diffc = function diffc(c) {
      return (v - c) / 6 / diff + 0.5;
    };

    if (diff === 0) {
      h = s = 0;
    } else {
      s = diff / v;
      rdif = diffc(r);
      gdif = diffc(g);
      bdif = diffc(b);

      if (r === v) {
        h = bdif - gdif;
      } else if (g === v) {
        h = 0.3333333333333333 + rdif - bdif;
      } else if (b === v) {
        h = 0.6666666666666666 + gdif - rdif;
      }

      if (h < 0) {
        h += 1;
      } else if (h > 1) {
        h -= 1;
      }
    }

    return [h * 360, s * 100, v * 100];
  };

  convert.rgb.hwb = function (rgb) {
    var r = rgb[0];
    var g = rgb[1];
    var b = rgb[2];
    var h = convert.rgb.hsl(rgb)[0];
    var w = 0.00392156862745098 * Math.min(r, Math.min(g, b));
    b = 1 - 0.00392156862745098 * Math.max(r, Math.max(g, b));
    return [h, w * 100, b * 100];
  };

  convert.rgb.cmyk = function (rgb) {
    var r = rgb[0] / 255;
    var g = rgb[1] / 255;
    var b = rgb[2] / 255;
    var c;
    var m;
    var y;
    var k;
    k = Math.min(1 - r, 1 - g, 1 - b);
    c = (1 - r - k) / (1 - k) || 0;
    m = (1 - g - k) / (1 - k) || 0;
    y = (1 - b - k) / (1 - k) || 0;
    return [c * 100, m * 100, y * 100, k * 100];
  };

  function comparativeDistance(x, y) {
    return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2);
  }

  convert.rgb.keyword = function (rgb) {
    var reversed = reverseKeywords[rgb];

    if (reversed) {
      return reversed;
    }

    var currentClosestDistance = Infinity;
    var currentClosestKeyword;

    for (var keyword in _$$_REQUIRE(_dependencyMap[0])) {
      if (_$$_REQUIRE(_dependencyMap[0]).hasOwnProperty(keyword)) {
        var value = _$$_REQUIRE(_dependencyMap[0])[keyword];

        var distance = comparativeDistance(rgb, value);

        if (distance < currentClosestDistance) {
          currentClosestDistance = distance;
          currentClosestKeyword = keyword;
        }
      }
    }

    return currentClosestKeyword;
  };

  convert.keyword.rgb = function (keyword) {
    return _$$_REQUIRE(_dependencyMap[0])[keyword];
  };

  convert.rgb.xyz = function (rgb) {
    var r = rgb[0] / 255;
    var g = rgb[1] / 255;
    var b = rgb[2] / 255;
    r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;
    g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;
    b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92;
    var x = r * 0.4124 + g * 0.3576 + b * 0.1805;
    var y = r * 0.2126 + g * 0.7152 + b * 0.0722;
    var z = r * 0.0193 + g * 0.1192 + b * 0.9505;
    return [x * 100, y * 100, z * 100];
  };

  convert.rgb.lab = function (rgb) {
    var xyz = convert.rgb.xyz(rgb);
    var x = xyz[0];
    var y = xyz[1];
    var z = xyz[2];
    var l;
    var a;
    var b;
    x /= 95.047;
    y /= 100;
    z /= 108.883;
    x = x > 0.008856 ? Math.pow(x, 0.3333333333333333) : 7.787 * x + 0.13793103448275862;
    y = y > 0.008856 ? Math.pow(y, 0.3333333333333333) : 7.787 * y + 0.13793103448275862;
    z = z > 0.008856 ? Math.pow(z, 0.3333333333333333) : 7.787 * z + 0.13793103448275862;
    l = 116 * y - 16;
    a = 500 * (x - y);
    b = 200 * (y - z);
    return [l, a, b];
  };

  convert.hsl.rgb = function (hsl) {
    var h = hsl[0] / 360;
    var s = hsl[1] / 100;
    var l = hsl[2] / 100;
    var t1;
    var t2;
    var t3;
    var rgb;
    var val;

    if (s === 0) {
      val = l * 255;
      return [val, val, val];
    }

    if (l < 0.5) {
      t2 = l * (1 + s);
    } else {
      t2 = l + s - l * s;
    }

    t1 = 2 * l - t2;
    rgb = [0, 0, 0];

    for (var i = 0; i < 3; i++) {
      t3 = h + 0.3333333333333333 * -(i - 1);

      if (t3 < 0) {
        t3++;
      }

      if (t3 > 1) {
        t3--;
      }

      if (6 * t3 < 1) {
        val = t1 + (t2 - t1) * 6 * t3;
      } else if (2 * t3 < 1) {
        val = t2;
      } else if (3 * t3 < 2) {
        val = t1 + (t2 - t1) * (0.6666666666666666 - t3) * 6;
      } else {
        val = t1;
      }

      rgb[i] = val * 255;
    }

    return rgb;
  };

  convert.hsl.hsv = function (hsl) {
    var h = hsl[0];
    var s = hsl[1] / 100;
    var l = hsl[2] / 100;
    var smin = s;
    var lmin = Math.max(l, 0.01);
    var sv;
    var v;
    l *= 2;
    s *= l <= 1 ? l : 2 - l;
    smin *= lmin <= 1 ? lmin : 2 - lmin;
    v = (l + s) / 2;
    sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);
    return [h, sv * 100, v * 100];
  };

  convert.hsv.rgb = function (hsv) {
    var h = hsv[0] / 60;
    var s = hsv[1] / 100;
    var v = hsv[2] / 100;
    var hi = Math.floor(h) % 6;
    var f = h - Math.floor(h);
    var p = 255 * v * (1 - s);
    var q = 255 * v * (1 - s * f);
    var t = 255 * v * (1 - s * (1 - f));
    v *= 255;

    switch (hi) {
      case 0:
        return [v, t, p];

      case 1:
        return [q, v, p];

      case 2:
        return [p, v, t];

      case 3:
        return [p, q, v];

      case 4:
        return [t, p, v];

      case 5:
        return [v, p, q];
    }
  };

  convert.hsv.hsl = function (hsv) {
    var h = hsv[0];
    var s = hsv[1] / 100;
    var v = hsv[2] / 100;
    var vmin = Math.max(v, 0.01);
    var lmin;
    var sl;
    var l;
    l = (2 - s) * v;
    lmin = (2 - s) * vmin;
    sl = s * vmin;
    sl /= lmin <= 1 ? lmin : 2 - lmin;
    sl = sl || 0;
    l /= 2;
    return [h, sl * 100, l * 100];
  };

  convert.hwb.rgb = function (hwb) {
    var h = hwb[0] / 360;
    var wh = hwb[1] / 100;
    var bl = hwb[2] / 100;
    var ratio = wh + bl;
    var i;
    var v;
    var f;
    var n;

    if (ratio > 1) {
      wh /= ratio;
      bl /= ratio;
    }

    i = Math.floor(6 * h);
    v = 1 - bl;
    f = 6 * h - i;

    if ((i & 0x01) !== 0) {
      f = 1 - f;
    }

    n = wh + f * (v - wh);
    var r;
    var g;
    var b;

    switch (i) {
      default:
      case 6:
      case 0:
        r = v;
        g = n;
        b = wh;
        break;

      case 1:
        r = n;
        g = v;
        b = wh;
        break;

      case 2:
        r = wh;
        g = v;
        b = n;
        break;

      case 3:
        r = wh;
        g = n;
        b = v;
        break;

      case 4:
        r = n;
        g = wh;
        b = v;
        break;

      case 5:
        r = v;
        g = wh;
        b = n;
        break;
    }

    return [r * 255, g * 255, b * 255];
  };

  convert.cmyk.rgb = function (cmyk) {
    var c = cmyk[0] / 100;
    var m = cmyk[1] / 100;
    var y = cmyk[2] / 100;
    var k = cmyk[3] / 100;
    var r;
    var g;
    var b;
    r = 1 - Math.min(1, c * (1 - k) + k);
    g = 1 - Math.min(1, m * (1 - k) + k);
    b = 1 - Math.min(1, y * (1 - k) + k);
    return [r * 255, g * 255, b * 255];
  };

  convert.xyz.rgb = function (xyz) {
    var x = xyz[0] / 100;
    var y = xyz[1] / 100;
    var z = xyz[2] / 100;
    var r;
    var g;
    var b;
    r = x * 3.2406 + y * -1.5372 + z * -0.4986;
    g = x * -0.9689 + y * 1.8758 + z * 0.0415;
    b = x * 0.0557 + y * -0.204 + z * 1.0570;
    r = r > 0.0031308 ? 1.055 * Math.pow(r, 0.4166666666666667) - 0.055 : r * 12.92;
    g = g > 0.0031308 ? 1.055 * Math.pow(g, 0.4166666666666667) - 0.055 : g * 12.92;
    b = b > 0.0031308 ? 1.055 * Math.pow(b, 0.4166666666666667) - 0.055 : b * 12.92;
    r = Math.min(Math.max(0, r), 1);
    g = Math.min(Math.max(0, g), 1);
    b = Math.min(Math.max(0, b), 1);
    return [r * 255, g * 255, b * 255];
  };

  convert.xyz.lab = function (xyz) {
    var x = xyz[0];
    var y = xyz[1];
    var z = xyz[2];
    var l;
    var a;
    var b;
    x /= 95.047;
    y /= 100;
    z /= 108.883;
    x = x > 0.008856 ? Math.pow(x, 0.3333333333333333) : 7.787 * x + 0.13793103448275862;
    y = y > 0.008856 ? Math.pow(y, 0.3333333333333333) : 7.787 * y + 0.13793103448275862;
    z = z > 0.008856 ? Math.pow(z, 0.3333333333333333) : 7.787 * z + 0.13793103448275862;
    l = 116 * y - 16;
    a = 500 * (x - y);
    b = 200 * (y - z);
    return [l, a, b];
  };

  convert.lab.xyz = function (lab) {
    var l = lab[0];
    var a = lab[1];
    var b = lab[2];
    var x;
    var y;
    var z;
    y = (l + 16) / 116;
    x = a / 500 + y;
    z = y - b / 200;
    var y2 = Math.pow(y, 3);
    var x2 = Math.pow(x, 3);
    var z2 = Math.pow(z, 3);
    y = y2 > 0.008856 ? y2 : (y - 0.13793103448275862) / 7.787;
    x = x2 > 0.008856 ? x2 : (x - 0.13793103448275862) / 7.787;
    z = z2 > 0.008856 ? z2 : (z - 0.13793103448275862) / 7.787;
    x *= 95.047;
    y *= 100;
    z *= 108.883;
    return [x, y, z];
  };

  convert.lab.lch = function (lab) {
    var l = lab[0];
    var a = lab[1];
    var b = lab[2];
    var hr;
    var h;
    var c;
    hr = Math.atan2(b, a);
    h = hr * 360 / 2 / Math.PI;

    if (h < 0) {
      h += 360;
    }

    c = Math.sqrt(a * a + b * b);
    return [l, c, h];
  };

  convert.lch.lab = function (lch) {
    var l = lch[0];
    var c = lch[1];
    var h = lch[2];
    var a;
    var b;
    var hr;
    hr = h / 360 * 2 * Math.PI;
    a = c * Math.cos(hr);
    b = c * Math.sin(hr);
    return [l, a, b];
  };

  convert.rgb.ansi16 = function (args) {
    var r = args[0];
    var g = args[1];
    var b = args[2];
    var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2];
    value = Math.round(value / 50);

    if (value === 0) {
      return 30;
    }

    var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));

    if (value === 2) {
      ansi += 60;
    }

    return ansi;
  };

  convert.hsv.ansi16 = function (args) {
    return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
  };

  convert.rgb.ansi256 = function (args) {
    var r = args[0];
    var g = args[1];
    var b = args[2];

    if (r === g && g === b) {
      if (r < 8) {
        return 16;
      }

      if (r > 248) {
        return 231;
      }

      return Math.round((r - 8) / 247 * 24) + 232;
    }

    var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);
    return ansi;
  };

  convert.ansi16.rgb = function (args) {
    var color = args % 10;

    if (color === 0 || color === 7) {
      if (args > 50) {
        color += 3.5;
      }

      color = color / 10.5 * 255;
      return [color, color, color];
    }

    var mult = (~~(args > 50) + 1) * 0.5;
    var r = (color & 1) * mult * 255;
    var g = (color >> 1 & 1) * mult * 255;
    var b = (color >> 2 & 1) * mult * 255;
    return [r, g, b];
  };

  convert.ansi256.rgb = function (args) {
    if (args >= 232) {
      var c = (args - 232) * 10 + 8;
      return [c, c, c];
    }

    args -= 16;
    var rem;
    var r = Math.floor(args / 36) / 5 * 255;
    var g = Math.floor((rem = args % 36) / 6) / 5 * 255;
    var b = rem % 6 / 5 * 255;
    return [r, g, b];
  };

  convert.rgb.hex = function (args) {
    var integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF);
    var string = integer.toString(16).toUpperCase();
    return '000000'.substring(string.length) + string;
  };

  convert.hex.rgb = function (args) {
    var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);

    if (!match) {
      return [0, 0, 0];
    }

    var colorString = match[0];

    if (match[0].length === 3) {
      colorString = colorString.split('').map(function (char) {
        return char + char;
      }).join('');
    }

    var integer = parseInt(colorString, 16);
    var r = integer >> 16 & 0xFF;
    var g = integer >> 8 & 0xFF;
    var b = integer & 0xFF;
    return [r, g, b];
  };

  convert.rgb.hcg = function (rgb) {
    var r = rgb[0] / 255;
    var g = rgb[1] / 255;
    var b = rgb[2] / 255;
    var max = Math.max(Math.max(r, g), b);
    var min = Math.min(Math.min(r, g), b);
    var chroma = max - min;
    var grayscale;
    var hue;

    if (chroma < 1) {
      grayscale = min / (1 - chroma);
    } else {
      grayscale = 0;
    }

    if (chroma <= 0) {
      hue = 0;
    } else if (max === r) {
      hue = (g - b) / chroma % 6;
    } else if (max === g) {
      hue = 2 + (b - r) / chroma;
    } else {
      hue = 4 + (r - g) / chroma + 4;
    }

    hue /= 6;
    hue %= 1;
    return [hue * 360, chroma * 100, grayscale * 100];
  };

  convert.hsl.hcg = function (hsl) {
    var s = hsl[1] / 100;
    var l = hsl[2] / 100;
    var c = 1;
    var f = 0;

    if (l < 0.5) {
      c = 2.0 * s * l;
    } else {
      c = 2.0 * s * (1.0 - l);
    }

    if (c < 1.0) {
      f = (l - 0.5 * c) / (1.0 - c);
    }

    return [hsl[0], c * 100, f * 100];
  };

  convert.hsv.hcg = function (hsv) {
    var s = hsv[1] / 100;
    var v = hsv[2] / 100;
    var c = s * v;
    var f = 0;

    if (c < 1.0) {
      f = (v - c) / (1 - c);
    }

    return [hsv[0], c * 100, f * 100];
  };

  convert.hcg.rgb = function (hcg) {
    var h = hcg[0] / 360;
    var c = hcg[1] / 100;
    var g = hcg[2] / 100;

    if (c === 0.0) {
      return [g * 255, g * 255, g * 255];
    }

    var pure = [0, 0, 0];
    var hi = h % 1 * 6;
    var v = hi % 1;
    var w = 1 - v;
    var mg = 0;

    switch (Math.floor(hi)) {
      case 0:
        pure[0] = 1;
        pure[1] = v;
        pure[2] = 0;
        break;

      case 1:
        pure[0] = w;
        pure[1] = 1;
        pure[2] = 0;
        break;

      case 2:
        pure[0] = 0;
        pure[1] = 1;
        pure[2] = v;
        break;

      case 3:
        pure[0] = 0;
        pure[1] = w;
        pure[2] = 1;
        break;

      case 4:
        pure[0] = v;
        pure[1] = 0;
        pure[2] = 1;
        break;

      default:
        pure[0] = 1;
        pure[1] = 0;
        pure[2] = w;
    }

    mg = (1.0 - c) * g;
    return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255];
  };

  convert.hcg.hsv = function (hcg) {
    var c = hcg[1] / 100;
    var g = hcg[2] / 100;
    var v = c + g * (1.0 - c);
    var f = 0;

    if (v > 0.0) {
      f = c / v;
    }

    return [hcg[0], f * 100, v * 100];
  };

  convert.hcg.hsl = function (hcg) {
    var c = hcg[1] / 100;
    var g = hcg[2] / 100;
    var l = g * (1.0 - c) + 0.5 * c;
    var s = 0;

    if (l > 0.0 && l < 0.5) {
      s = c / (2 * l);
    } else if (l >= 0.5 && l < 1.0) {
      s = c / (2 * (1 - l));
    }

    return [hcg[0], s * 100, l * 100];
  };

  convert.hcg.hwb = function (hcg) {
    var c = hcg[1] / 100;
    var g = hcg[2] / 100;
    var v = c + g * (1.0 - c);
    return [hcg[0], (v - c) * 100, (1 - v) * 100];
  };

  convert.hwb.hcg = function (hwb) {
    var w = hwb[1] / 100;
    var b = hwb[2] / 100;
    var v = 1 - b;
    var c = v - w;
    var g = 0;

    if (c < 1) {
      g = (v - c) / (1 - c);
    }

    return [hwb[0], c * 100, g * 100];
  };

  convert.apple.rgb = function (apple) {
    return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];
  };

  convert.rgb.apple = function (rgb) {
    return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];
  };

  convert.gray.rgb = function (args) {
    return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
  };

  convert.gray.hsl = convert.gray.hsv = function (args) {
    return [0, 0, args[0]];
  };

  convert.gray.hwb = function (gray) {
    return [0, 100, gray[0]];
  };

  convert.gray.cmyk = function (gray) {
    return [0, 0, 0, gray[0]];
  };

  convert.gray.lab = function (gray) {
    return [gray[0], 0, 0];
  };

  convert.gray.hex = function (gray) {
    var val = Math.round(gray[0] / 100 * 255) & 0xFF;
    var integer = (val << 16) + (val << 8) + val;
    var string = integer.toString(16).toUpperCase();
    return '000000'.substring(string.length) + string;
  };

  convert.rgb.gray = function (rgb) {
    var val = (rgb[0] + rgb[1] + rgb[2]) / 3;
    return [val / 255 * 100];
  };
},1158,[1159]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = {
    "aliceblue": [240, 248, 255],
    "antiquewhite": [250, 235, 215],
    "aqua": [0, 255, 255],
    "aquamarine": [127, 255, 212],
    "azure": [240, 255, 255],
    "beige": [245, 245, 220],
    "bisque": [255, 228, 196],
    "black": [0, 0, 0],
    "blanchedalmond": [255, 235, 205],
    "blue": [0, 0, 255],
    "blueviolet": [138, 43, 226],
    "brown": [165, 42, 42],
    "burlywood": [222, 184, 135],
    "cadetblue": [95, 158, 160],
    "chartreuse": [127, 255, 0],
    "chocolate": [210, 105, 30],
    "coral": [255, 127, 80],
    "cornflowerblue": [100, 149, 237],
    "cornsilk": [255, 248, 220],
    "crimson": [220, 20, 60],
    "cyan": [0, 255, 255],
    "darkblue": [0, 0, 139],
    "darkcyan": [0, 139, 139],
    "darkgoldenrod": [184, 134, 11],
    "darkgray": [169, 169, 169],
    "darkgreen": [0, 100, 0],
    "darkgrey": [169, 169, 169],
    "darkkhaki": [189, 183, 107],
    "darkmagenta": [139, 0, 139],
    "darkolivegreen": [85, 107, 47],
    "darkorange": [255, 140, 0],
    "darkorchid": [153, 50, 204],
    "darkred": [139, 0, 0],
    "darksalmon": [233, 150, 122],
    "darkseagreen": [143, 188, 143],
    "darkslateblue": [72, 61, 139],
    "darkslategray": [47, 79, 79],
    "darkslategrey": [47, 79, 79],
    "darkturquoise": [0, 206, 209],
    "darkviolet": [148, 0, 211],
    "deeppink": [255, 20, 147],
    "deepskyblue": [0, 191, 255],
    "dimgray": [105, 105, 105],
    "dimgrey": [105, 105, 105],
    "dodgerblue": [30, 144, 255],
    "firebrick": [178, 34, 34],
    "floralwhite": [255, 250, 240],
    "forestgreen": [34, 139, 34],
    "fuchsia": [255, 0, 255],
    "gainsboro": [220, 220, 220],
    "ghostwhite": [248, 248, 255],
    "gold": [255, 215, 0],
    "goldenrod": [218, 165, 32],
    "gray": [128, 128, 128],
    "green": [0, 128, 0],
    "greenyellow": [173, 255, 47],
    "grey": [128, 128, 128],
    "honeydew": [240, 255, 240],
    "hotpink": [255, 105, 180],
    "indianred": [205, 92, 92],
    "indigo": [75, 0, 130],
    "ivory": [255, 255, 240],
    "khaki": [240, 230, 140],
    "lavender": [230, 230, 250],
    "lavenderblush": [255, 240, 245],
    "lawngreen": [124, 252, 0],
    "lemonchiffon": [255, 250, 205],
    "lightblue": [173, 216, 230],
    "lightcoral": [240, 128, 128],
    "lightcyan": [224, 255, 255],
    "lightgoldenrodyellow": [250, 250, 210],
    "lightgray": [211, 211, 211],
    "lightgreen": [144, 238, 144],
    "lightgrey": [211, 211, 211],
    "lightpink": [255, 182, 193],
    "lightsalmon": [255, 160, 122],
    "lightseagreen": [32, 178, 170],
    "lightskyblue": [135, 206, 250],
    "lightslategray": [119, 136, 153],
    "lightslategrey": [119, 136, 153],
    "lightsteelblue": [176, 196, 222],
    "lightyellow": [255, 255, 224],
    "lime": [0, 255, 0],
    "limegreen": [50, 205, 50],
    "linen": [250, 240, 230],
    "magenta": [255, 0, 255],
    "maroon": [128, 0, 0],
    "mediumaquamarine": [102, 205, 170],
    "mediumblue": [0, 0, 205],
    "mediumorchid": [186, 85, 211],
    "mediumpurple": [147, 112, 219],
    "mediumseagreen": [60, 179, 113],
    "mediumslateblue": [123, 104, 238],
    "mediumspringgreen": [0, 250, 154],
    "mediumturquoise": [72, 209, 204],
    "mediumvioletred": [199, 21, 133],
    "midnightblue": [25, 25, 112],
    "mintcream": [245, 255, 250],
    "mistyrose": [255, 228, 225],
    "moccasin": [255, 228, 181],
    "navajowhite": [255, 222, 173],
    "navy": [0, 0, 128],
    "oldlace": [253, 245, 230],
    "olive": [128, 128, 0],
    "olivedrab": [107, 142, 35],
    "orange": [255, 165, 0],
    "orangered": [255, 69, 0],
    "orchid": [218, 112, 214],
    "palegoldenrod": [238, 232, 170],
    "palegreen": [152, 251, 152],
    "paleturquoise": [175, 238, 238],
    "palevioletred": [219, 112, 147],
    "papayawhip": [255, 239, 213],
    "peachpuff": [255, 218, 185],
    "peru": [205, 133, 63],
    "pink": [255, 192, 203],
    "plum": [221, 160, 221],
    "powderblue": [176, 224, 230],
    "purple": [128, 0, 128],
    "rebeccapurple": [102, 51, 153],
    "red": [255, 0, 0],
    "rosybrown": [188, 143, 143],
    "royalblue": [65, 105, 225],
    "saddlebrown": [139, 69, 19],
    "salmon": [250, 128, 114],
    "sandybrown": [244, 164, 96],
    "seagreen": [46, 139, 87],
    "seashell": [255, 245, 238],
    "sienna": [160, 82, 45],
    "silver": [192, 192, 192],
    "skyblue": [135, 206, 235],
    "slateblue": [106, 90, 205],
    "slategray": [112, 128, 144],
    "slategrey": [112, 128, 144],
    "snow": [255, 250, 250],
    "springgreen": [0, 255, 127],
    "steelblue": [70, 130, 180],
    "tan": [210, 180, 140],
    "teal": [0, 128, 128],
    "thistle": [216, 191, 216],
    "tomato": [255, 99, 71],
    "turquoise": [64, 224, 208],
    "violet": [238, 130, 238],
    "wheat": [245, 222, 179],
    "white": [255, 255, 255],
    "whitesmoke": [245, 245, 245],
    "yellow": [255, 255, 0],
    "yellowgreen": [154, 205, 50]
  };
},1159,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function buildGraph() {
    var graph = {};
    var models = Object.keys(_$$_REQUIRE(_dependencyMap[0]));

    for (var len = models.length, i = 0; i < len; i++) {
      graph[models[i]] = {
        distance: -1,
        parent: null
      };
    }

    return graph;
  }

  function deriveBFS(fromModel) {
    var graph = buildGraph();
    var queue = [fromModel];
    graph[fromModel].distance = 0;

    while (queue.length) {
      var current = queue.pop();
      var adjacents = Object.keys(_$$_REQUIRE(_dependencyMap[0])[current]);

      for (var len = adjacents.length, i = 0; i < len; i++) {
        var adjacent = adjacents[i];
        var node = graph[adjacent];

        if (node.distance === -1) {
          node.distance = graph[current].distance + 1;
          node.parent = current;
          queue.unshift(adjacent);
        }
      }
    }

    return graph;
  }

  function link(from, to) {
    return function (args) {
      return to(from(args));
    };
  }

  function wrapConversion(toModel, graph) {
    var path = [graph[toModel].parent, toModel];

    var fn = _$$_REQUIRE(_dependencyMap[0])[graph[toModel].parent][toModel];

    var cur = graph[toModel].parent;

    while (graph[cur].parent) {
      path.unshift(graph[cur].parent);
      fn = link(_$$_REQUIRE(_dependencyMap[0])[graph[cur].parent][cur], fn);
      cur = graph[cur].parent;
    }

    fn.conversion = path;
    return fn;
  }

  module.exports = function (fromModel) {
    var graph = deriveBFS(fromModel);
    var conversion = {};
    var models = Object.keys(graph);

    for (var len = models.length, i = 0; i < len; i++) {
      var toModel = models[i];
      var node = graph[toModel];

      if (node.parent === null) {
        continue;
      }

      conversion[toModel] = wrapConversion(toModel, graph);
    }

    return conversion;
  };
},1160,[1158]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var hasOwnProperty = Object.hasOwnProperty;
  var reverseNames = {};

  for (var name in _$$_REQUIRE(_dependencyMap[0])) {
    if (hasOwnProperty.call(_$$_REQUIRE(_dependencyMap[0]), name)) {
      reverseNames[_$$_REQUIRE(_dependencyMap[0])[name]] = name;
    }
  }

  var cs = module.exports = {
    to: {},
    get: {}
  };

  cs.get = function (string) {
    var prefix = string.substring(0, 3).toLowerCase();
    var val;
    var model;

    switch (prefix) {
      case 'hsl':
        val = cs.get.hsl(string);
        model = 'hsl';
        break;

      case 'hwb':
        val = cs.get.hwb(string);
        model = 'hwb';
        break;

      default:
        val = cs.get.rgb(string);
        model = 'rgb';
        break;
    }

    if (!val) {
      return null;
    }

    return {
      model: model,
      value: val
    };
  };

  cs.get.rgb = function (string) {
    if (!string) {
      return null;
    }

    var abbr = /^#([a-f0-9]{3,4})$/i;
    var hex = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i;
    var rgba = /^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/;
    var per = /^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/;
    var keyword = /^(\w+)$/;
    var rgb = [0, 0, 0, 1];
    var match;
    var i;
    var hexAlpha;

    if (match = string.match(hex)) {
      hexAlpha = match[2];
      match = match[1];

      for (i = 0; i < 3; i++) {
        var i2 = i * 2;
        rgb[i] = parseInt(match.slice(i2, i2 + 2), 16);
      }

      if (hexAlpha) {
        rgb[3] = parseInt(hexAlpha, 16) / 255;
      }
    } else if (match = string.match(abbr)) {
      match = match[1];
      hexAlpha = match[3];

      for (i = 0; i < 3; i++) {
        rgb[i] = parseInt(match[i] + match[i], 16);
      }

      if (hexAlpha) {
        rgb[3] = parseInt(hexAlpha + hexAlpha, 16) / 255;
      }
    } else if (match = string.match(rgba)) {
      for (i = 0; i < 3; i++) {
        rgb[i] = parseInt(match[i + 1], 0);
      }

      if (match[4]) {
        if (match[5]) {
          rgb[3] = parseFloat(match[4]) * 0.01;
        } else {
          rgb[3] = parseFloat(match[4]);
        }
      }
    } else if (match = string.match(per)) {
      for (i = 0; i < 3; i++) {
        rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);
      }

      if (match[4]) {
        if (match[5]) {
          rgb[3] = parseFloat(match[4]) * 0.01;
        } else {
          rgb[3] = parseFloat(match[4]);
        }
      }
    } else if (match = string.match(keyword)) {
      if (match[1] === 'transparent') {
        return [0, 0, 0, 0];
      }

      if (!hasOwnProperty.call(_$$_REQUIRE(_dependencyMap[0]), match[1])) {
        return null;
      }

      rgb = _$$_REQUIRE(_dependencyMap[0])[match[1]];
      rgb[3] = 1;
      return rgb;
    } else {
      return null;
    }

    for (i = 0; i < 3; i++) {
      rgb[i] = clamp(rgb[i], 0, 255);
    }

    rgb[3] = clamp(rgb[3], 0, 1);
    return rgb;
  };

  cs.get.hsl = function (string) {
    if (!string) {
      return null;
    }

    var hsl = /^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/;
    var match = string.match(hsl);

    if (match) {
      var alpha = parseFloat(match[4]);
      var h = (parseFloat(match[1]) % 360 + 360) % 360;
      var s = clamp(parseFloat(match[2]), 0, 100);
      var l = clamp(parseFloat(match[3]), 0, 100);
      var a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);
      return [h, s, l, a];
    }

    return null;
  };

  cs.get.hwb = function (string) {
    if (!string) {
      return null;
    }

    var hwb = /^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/;
    var match = string.match(hwb);

    if (match) {
      var alpha = parseFloat(match[4]);
      var h = (parseFloat(match[1]) % 360 + 360) % 360;
      var w = clamp(parseFloat(match[2]), 0, 100);
      var b = clamp(parseFloat(match[3]), 0, 100);
      var a = clamp(isNaN(alpha) ? 1 : alpha, 0, 1);
      return [h, w, b, a];
    }

    return null;
  };

  cs.to.hex = function () {
    var rgba = _$$_REQUIRE(_dependencyMap[1])(arguments);

    return '#' + hexDouble(rgba[0]) + hexDouble(rgba[1]) + hexDouble(rgba[2]) + (rgba[3] < 1 ? hexDouble(Math.round(rgba[3] * 255)) : '');
  };

  cs.to.rgb = function () {
    var rgba = _$$_REQUIRE(_dependencyMap[1])(arguments);

    return rgba.length < 4 || rgba[3] === 1 ? 'rgb(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ')' : 'rgba(' + Math.round(rgba[0]) + ', ' + Math.round(rgba[1]) + ', ' + Math.round(rgba[2]) + ', ' + rgba[3] + ')';
  };

  cs.to.rgb.percent = function () {
    var rgba = _$$_REQUIRE(_dependencyMap[1])(arguments);

    var r = Math.round(rgba[0] / 255 * 100);
    var g = Math.round(rgba[1] / 255 * 100);
    var b = Math.round(rgba[2] / 255 * 100);
    return rgba.length < 4 || rgba[3] === 1 ? 'rgb(' + r + '%, ' + g + '%, ' + b + '%)' : 'rgba(' + r + '%, ' + g + '%, ' + b + '%, ' + rgba[3] + ')';
  };

  cs.to.hsl = function () {
    var hsla = _$$_REQUIRE(_dependencyMap[1])(arguments);

    return hsla.length < 4 || hsla[3] === 1 ? 'hsl(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%)' : 'hsla(' + hsla[0] + ', ' + hsla[1] + '%, ' + hsla[2] + '%, ' + hsla[3] + ')';
  };

  cs.to.hwb = function () {
    var hwba = _$$_REQUIRE(_dependencyMap[1])(arguments);

    var a = '';

    if (hwba.length >= 4 && hwba[3] !== 1) {
      a = ', ' + hwba[3];
    }

    return 'hwb(' + hwba[0] + ', ' + hwba[1] + '%, ' + hwba[2] + '%' + a + ')';
  };

  cs.to.keyword = function (rgb) {
    return reverseNames[rgb.slice(0, 3)];
  };

  function clamp(num, min, max) {
    return Math.min(Math.max(min, num), max);
  }

  function hexDouble(num) {
    var str = Math.round(num).toString(16).toUpperCase();
    return str.length < 2 ? '0' + str : str;
  }
},1161,[1162,1163]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = {
    "aliceblue": [240, 248, 255],
    "antiquewhite": [250, 235, 215],
    "aqua": [0, 255, 255],
    "aquamarine": [127, 255, 212],
    "azure": [240, 255, 255],
    "beige": [245, 245, 220],
    "bisque": [255, 228, 196],
    "black": [0, 0, 0],
    "blanchedalmond": [255, 235, 205],
    "blue": [0, 0, 255],
    "blueviolet": [138, 43, 226],
    "brown": [165, 42, 42],
    "burlywood": [222, 184, 135],
    "cadetblue": [95, 158, 160],
    "chartreuse": [127, 255, 0],
    "chocolate": [210, 105, 30],
    "coral": [255, 127, 80],
    "cornflowerblue": [100, 149, 237],
    "cornsilk": [255, 248, 220],
    "crimson": [220, 20, 60],
    "cyan": [0, 255, 255],
    "darkblue": [0, 0, 139],
    "darkcyan": [0, 139, 139],
    "darkgoldenrod": [184, 134, 11],
    "darkgray": [169, 169, 169],
    "darkgreen": [0, 100, 0],
    "darkgrey": [169, 169, 169],
    "darkkhaki": [189, 183, 107],
    "darkmagenta": [139, 0, 139],
    "darkolivegreen": [85, 107, 47],
    "darkorange": [255, 140, 0],
    "darkorchid": [153, 50, 204],
    "darkred": [139, 0, 0],
    "darksalmon": [233, 150, 122],
    "darkseagreen": [143, 188, 143],
    "darkslateblue": [72, 61, 139],
    "darkslategray": [47, 79, 79],
    "darkslategrey": [47, 79, 79],
    "darkturquoise": [0, 206, 209],
    "darkviolet": [148, 0, 211],
    "deeppink": [255, 20, 147],
    "deepskyblue": [0, 191, 255],
    "dimgray": [105, 105, 105],
    "dimgrey": [105, 105, 105],
    "dodgerblue": [30, 144, 255],
    "firebrick": [178, 34, 34],
    "floralwhite": [255, 250, 240],
    "forestgreen": [34, 139, 34],
    "fuchsia": [255, 0, 255],
    "gainsboro": [220, 220, 220],
    "ghostwhite": [248, 248, 255],
    "gold": [255, 215, 0],
    "goldenrod": [218, 165, 32],
    "gray": [128, 128, 128],
    "green": [0, 128, 0],
    "greenyellow": [173, 255, 47],
    "grey": [128, 128, 128],
    "honeydew": [240, 255, 240],
    "hotpink": [255, 105, 180],
    "indianred": [205, 92, 92],
    "indigo": [75, 0, 130],
    "ivory": [255, 255, 240],
    "khaki": [240, 230, 140],
    "lavender": [230, 230, 250],
    "lavenderblush": [255, 240, 245],
    "lawngreen": [124, 252, 0],
    "lemonchiffon": [255, 250, 205],
    "lightblue": [173, 216, 230],
    "lightcoral": [240, 128, 128],
    "lightcyan": [224, 255, 255],
    "lightgoldenrodyellow": [250, 250, 210],
    "lightgray": [211, 211, 211],
    "lightgreen": [144, 238, 144],
    "lightgrey": [211, 211, 211],
    "lightpink": [255, 182, 193],
    "lightsalmon": [255, 160, 122],
    "lightseagreen": [32, 178, 170],
    "lightskyblue": [135, 206, 250],
    "lightslategray": [119, 136, 153],
    "lightslategrey": [119, 136, 153],
    "lightsteelblue": [176, 196, 222],
    "lightyellow": [255, 255, 224],
    "lime": [0, 255, 0],
    "limegreen": [50, 205, 50],
    "linen": [250, 240, 230],
    "magenta": [255, 0, 255],
    "maroon": [128, 0, 0],
    "mediumaquamarine": [102, 205, 170],
    "mediumblue": [0, 0, 205],
    "mediumorchid": [186, 85, 211],
    "mediumpurple": [147, 112, 219],
    "mediumseagreen": [60, 179, 113],
    "mediumslateblue": [123, 104, 238],
    "mediumspringgreen": [0, 250, 154],
    "mediumturquoise": [72, 209, 204],
    "mediumvioletred": [199, 21, 133],
    "midnightblue": [25, 25, 112],
    "mintcream": [245, 255, 250],
    "mistyrose": [255, 228, 225],
    "moccasin": [255, 228, 181],
    "navajowhite": [255, 222, 173],
    "navy": [0, 0, 128],
    "oldlace": [253, 245, 230],
    "olive": [128, 128, 0],
    "olivedrab": [107, 142, 35],
    "orange": [255, 165, 0],
    "orangered": [255, 69, 0],
    "orchid": [218, 112, 214],
    "palegoldenrod": [238, 232, 170],
    "palegreen": [152, 251, 152],
    "paleturquoise": [175, 238, 238],
    "palevioletred": [219, 112, 147],
    "papayawhip": [255, 239, 213],
    "peachpuff": [255, 218, 185],
    "peru": [205, 133, 63],
    "pink": [255, 192, 203],
    "plum": [221, 160, 221],
    "powderblue": [176, 224, 230],
    "purple": [128, 0, 128],
    "rebeccapurple": [102, 51, 153],
    "red": [255, 0, 0],
    "rosybrown": [188, 143, 143],
    "royalblue": [65, 105, 225],
    "saddlebrown": [139, 69, 19],
    "salmon": [250, 128, 114],
    "sandybrown": [244, 164, 96],
    "seagreen": [46, 139, 87],
    "seashell": [255, 245, 238],
    "sienna": [160, 82, 45],
    "silver": [192, 192, 192],
    "skyblue": [135, 206, 235],
    "slateblue": [106, 90, 205],
    "slategray": [112, 128, 144],
    "slategrey": [112, 128, 144],
    "snow": [255, 250, 250],
    "springgreen": [0, 255, 127],
    "steelblue": [70, 130, 180],
    "tan": [210, 180, 140],
    "teal": [0, 128, 128],
    "thistle": [216, 191, 216],
    "tomato": [255, 99, 71],
    "turquoise": [64, 224, 208],
    "violet": [238, 130, 238],
    "wheat": [245, 222, 179],
    "white": [255, 255, 255],
    "whitesmoke": [245, 245, 245],
    "yellow": [255, 255, 0],
    "yellowgreen": [154, 205, 50]
  };
},1162,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var concat = Array.prototype.concat;
  var slice = Array.prototype.slice;

  var swizzle = module.exports = function swizzle(args) {
    var results = [];

    for (var i = 0, len = args.length; i < len; i++) {
      var arg = args[i];

      if (_$$_REQUIRE(_dependencyMap[0])(arg)) {
        results = concat.call(results, slice.call(arg));
      } else {
        results.push(arg);
      }
    }

    return results;
  };

  swizzle.wrap = function (fn) {
    return function () {
      return fn(swizzle(arguments));
    };
  };
},1163,[1164]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = function isArrayish(obj) {
    if (!obj || typeof obj === 'string') {
      return false;
    }

    return obj instanceof Array || Array.isArray(obj) || obj.length >= 0 && (obj.splice instanceof Function || Object.getOwnPropertyDescriptor(obj, obj.length - 1) && obj.constructor.name !== 'String');
  };
},1164,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  var _exportNames = {
    Assets: true,
    Background: true,
    getDefaultHeaderHeight: true,
    getHeaderTitle: true,
    Header: true,
    HeaderBackButton: true,
    HeaderBackContext: true,
    HeaderBackground: true,
    HeaderHeightContext: true,
    HeaderShownContext: true,
    HeaderTitle: true,
    useHeaderHeight: true,
    MissingIcon: true,
    PlatformPressable: true,
    ResourceSavingView: true,
    SafeAreaProviderCompat: true,
    Screen: true
  };
  Object.defineProperty(exports, "Background", {
    enumerable: true,
    get: function get() {
      return _Background.default;
    }
  });
  Object.defineProperty(exports, "getDefaultHeaderHeight", {
    enumerable: true,
    get: function get() {
      return _getDefaultHeaderHeight.default;
    }
  });
  Object.defineProperty(exports, "getHeaderTitle", {
    enumerable: true,
    get: function get() {
      return _getHeaderTitle.default;
    }
  });
  Object.defineProperty(exports, "Header", {
    enumerable: true,
    get: function get() {
      return _Header.default;
    }
  });
  Object.defineProperty(exports, "HeaderBackButton", {
    enumerable: true,
    get: function get() {
      return _HeaderBackButton.default;
    }
  });
  Object.defineProperty(exports, "HeaderBackContext", {
    enumerable: true,
    get: function get() {
      return _HeaderBackContext.default;
    }
  });
  Object.defineProperty(exports, "HeaderBackground", {
    enumerable: true,
    get: function get() {
      return _HeaderBackground.default;
    }
  });
  Object.defineProperty(exports, "HeaderHeightContext", {
    enumerable: true,
    get: function get() {
      return _HeaderHeightContext.default;
    }
  });
  Object.defineProperty(exports, "HeaderShownContext", {
    enumerable: true,
    get: function get() {
      return _HeaderShownContext.default;
    }
  });
  Object.defineProperty(exports, "HeaderTitle", {
    enumerable: true,
    get: function get() {
      return _HeaderTitle.default;
    }
  });
  Object.defineProperty(exports, "useHeaderHeight", {
    enumerable: true,
    get: function get() {
      return _useHeaderHeight.default;
    }
  });
  Object.defineProperty(exports, "MissingIcon", {
    enumerable: true,
    get: function get() {
      return _MissingIcon.default;
    }
  });
  Object.defineProperty(exports, "PlatformPressable", {
    enumerable: true,
    get: function get() {
      return _PlatformPressable.default;
    }
  });
  Object.defineProperty(exports, "ResourceSavingView", {
    enumerable: true,
    get: function get() {
      return _ResourceSavingView.default;
    }
  });
  Object.defineProperty(exports, "SafeAreaProviderCompat", {
    enumerable: true,
    get: function get() {
      return _SafeAreaProviderCompat.default;
    }
  });
  Object.defineProperty(exports, "Screen", {
    enumerable: true,
    get: function get() {
      return _Screen.default;
    }
  });
  exports.Assets = undefined;

  var _Background = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _getDefaultHeaderHeight = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _getHeaderTitle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _Header = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _HeaderBackButton = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _HeaderBackContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _HeaderBackground = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _HeaderHeightContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _HeaderShownContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _HeaderTitle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _useHeaderHeight = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _MissingIcon = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _PlatformPressable = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _ResourceSavingView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _SafeAreaProviderCompat = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _Screen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  Object.keys(_$$_REQUIRE(_dependencyMap[17])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[17])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[17])[key];
      }
    });
  });
  var Assets = [_$$_REQUIRE(_dependencyMap[18]), _$$_REQUIRE(_dependencyMap[19])];
  exports.Assets = Assets;
},1165,[5,1166,1167,1168,1169,1174,1181,1170,1182,1171,1173,1183,1184,1177,1185,1186,1187,1188,1178,1180]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = Background;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function Background(_ref) {
    var style = _ref.style,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["style"]);

    var _useTheme = (0, _$$_REQUIRE(_dependencyMap[5]).useTheme)(),
        colors = _useTheme.colors;

    return React.createElement(_reactNative.View, (0, _extends2.default)({}, rest, {
      style: [{
        flex: 1,
        backgroundColor: colors.background
      }, style]
    }));
  }
},1166,[5,6,108,17,28,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = getDefaultHeaderHeight;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  function getDefaultHeaderHeight(layout, modalPresentation, statusBarHeight) {
    var headerHeight;
    var isLandscape = layout.width > layout.height;

    if (_reactNative.Platform.OS === 'ios') {
      if (_reactNative.Platform.isPad || _reactNative.Platform.isTVOS) {
        if (modalPresentation) {
          headerHeight = 56;
        } else {
          headerHeight = 50;
        }
      } else {
        if (isLandscape) {
          headerHeight = 32;
        } else {
          if (modalPresentation) {
            headerHeight = 56;
          } else {
            headerHeight = 44;
          }
        }
      }
    } else if (_reactNative.Platform.OS === 'android') {
      headerHeight = 56;
    } else {
      headerHeight = 64;
    }

    return headerHeight + statusBarHeight;
  }
},1167,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = getHeaderTitle;

  function getHeaderTitle(options, fallback) {
    return typeof options.headerTitle === 'string' ? options.headerTitle : options.title !== undefined ? options.title : fallback;
  }
},1168,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = Header;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _getDefaultHeaderHeight = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _HeaderBackground = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _HeaderShownContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _HeaderTitle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function Header(props) {
    var insets = (0, _$$_REQUIRE(_dependencyMap[8]).useSafeAreaInsets)();
    var frame = (0, _$$_REQUIRE(_dependencyMap[8]).useSafeAreaFrame)();
    var isParentHeaderShown = React.useContext(_HeaderShownContext.default);
    var _props$layout = props.layout,
        layout = _props$layout === undefined ? frame : _props$layout,
        _props$modal = props.modal,
        modal = _props$modal === undefined ? false : _props$modal,
        title = props.title,
        customTitle = props.headerTitle,
        _props$headerTitleAli = props.headerTitleAlign,
        headerTitleAlign = _props$headerTitleAli === undefined ? _reactNative.Platform.select({
      ios: 'center',
      default: 'left'
    }) : _props$headerTitleAli,
        headerLeft = props.headerLeft,
        headerLeftLabelVisible = props.headerLeftLabelVisible,
        headerTransparent = props.headerTransparent,
        headerTintColor = props.headerTintColor,
        headerBackground = props.headerBackground,
        headerRight = props.headerRight,
        titleAllowFontScaling = props.headerTitleAllowFontScaling,
        titleStyle = props.headerTitleStyle,
        leftContainerStyle = props.headerLeftContainerStyle,
        rightContainerStyle = props.headerRightContainerStyle,
        titleContainerStyle = props.headerTitleContainerStyle,
        backgroundContainerStyle = props.headerBackgroundContainerStyle,
        customHeaderStyle = props.headerStyle,
        headerShadowVisible = props.headerShadowVisible,
        headerPressColor = props.headerPressColor,
        headerPressOpacity = props.headerPressOpacity,
        _props$headerStatusBa = props.headerStatusBarHeight,
        headerStatusBarHeight = _props$headerStatusBa === undefined ? isParentHeaderShown ? 0 : insets.top : _props$headerStatusBa;
    var defaultHeight = (0, _getDefaultHeaderHeight.default)(layout, modal, headerStatusBarHeight);

    var _ref = _reactNative.StyleSheet.flatten(customHeaderStyle || {}),
        _ref$height = _ref.height,
        height = _ref$height === undefined ? defaultHeight : _ref$height,
        minHeight = _ref.minHeight,
        maxHeight = _ref.maxHeight,
        backgroundColor = _ref.backgroundColor,
        borderBottomColor = _ref.borderBottomColor,
        borderBottomEndRadius = _ref.borderBottomEndRadius,
        borderBottomLeftRadius = _ref.borderBottomLeftRadius,
        borderBottomRightRadius = _ref.borderBottomRightRadius,
        borderBottomStartRadius = _ref.borderBottomStartRadius,
        borderBottomWidth = _ref.borderBottomWidth,
        borderColor = _ref.borderColor,
        borderEndColor = _ref.borderEndColor,
        borderEndWidth = _ref.borderEndWidth,
        borderLeftColor = _ref.borderLeftColor,
        borderLeftWidth = _ref.borderLeftWidth,
        borderRadius = _ref.borderRadius,
        borderRightColor = _ref.borderRightColor,
        borderRightWidth = _ref.borderRightWidth,
        borderStartColor = _ref.borderStartColor,
        borderStartWidth = _ref.borderStartWidth,
        borderStyle = _ref.borderStyle,
        borderTopColor = _ref.borderTopColor,
        borderTopEndRadius = _ref.borderTopEndRadius,
        borderTopLeftRadius = _ref.borderTopLeftRadius,
        borderTopRightRadius = _ref.borderTopRightRadius,
        borderTopStartRadius = _ref.borderTopStartRadius,
        borderTopWidth = _ref.borderTopWidth,
        borderWidth = _ref.borderWidth,
        boxShadow = _ref.boxShadow,
        elevation = _ref.elevation,
        shadowColor = _ref.shadowColor,
        shadowOffset = _ref.shadowOffset,
        shadowOpacity = _ref.shadowOpacity,
        shadowRadius = _ref.shadowRadius,
        opacity = _ref.opacity,
        transform = _ref.transform,
        unsafeStyles = (0, _objectWithoutProperties2.default)(_ref, ["height", "minHeight", "maxHeight", "backgroundColor", "borderBottomColor", "borderBottomEndRadius", "borderBottomLeftRadius", "borderBottomRightRadius", "borderBottomStartRadius", "borderBottomWidth", "borderColor", "borderEndColor", "borderEndWidth", "borderLeftColor", "borderLeftWidth", "borderRadius", "borderRightColor", "borderRightWidth", "borderStartColor", "borderStartWidth", "borderStyle", "borderTopColor", "borderTopEndRadius", "borderTopLeftRadius", "borderTopRightRadius", "borderTopStartRadius", "borderTopWidth", "borderWidth", "boxShadow", "elevation", "shadowColor", "shadowOffset", "shadowOpacity", "shadowRadius", "opacity", "transform"]);

    var safeStyles = {
      backgroundColor: backgroundColor,
      borderBottomColor: borderBottomColor,
      borderBottomEndRadius: borderBottomEndRadius,
      borderBottomLeftRadius: borderBottomLeftRadius,
      borderBottomRightRadius: borderBottomRightRadius,
      borderBottomStartRadius: borderBottomStartRadius,
      borderBottomWidth: borderBottomWidth,
      borderColor: borderColor,
      borderEndColor: borderEndColor,
      borderEndWidth: borderEndWidth,
      borderLeftColor: borderLeftColor,
      borderLeftWidth: borderLeftWidth,
      borderRadius: borderRadius,
      borderRightColor: borderRightColor,
      borderRightWidth: borderRightWidth,
      borderStartColor: borderStartColor,
      borderStartWidth: borderStartWidth,
      borderStyle: borderStyle,
      borderTopColor: borderTopColor,
      borderTopEndRadius: borderTopEndRadius,
      borderTopLeftRadius: borderTopLeftRadius,
      borderTopRightRadius: borderTopRightRadius,
      borderTopStartRadius: borderTopStartRadius,
      borderTopWidth: borderTopWidth,
      borderWidth: borderWidth,
      boxShadow: boxShadow,
      elevation: elevation,
      shadowColor: shadowColor,
      shadowOffset: shadowOffset,
      shadowOpacity: shadowOpacity,
      shadowRadius: shadowRadius,
      opacity: opacity,
      transform: transform
    };

    for (var styleProp in safeStyles) {
      if (safeStyles[styleProp] === undefined) {
        delete safeStyles[styleProp];
      }
    }

    var backgroundStyle = [safeStyles, headerShadowVisible === false && {
      elevation: 0,
      shadowOpacity: 0,
      borderBottomWidth: 0
    }];
    var leftButton = headerLeft ? headerLeft({
      tintColor: headerTintColor,
      pressColor: headerPressColor,
      pressOpacity: headerPressOpacity,
      labelVisible: headerLeftLabelVisible
    }) : null;
    var rightButton = headerRight ? headerRight({
      tintColor: headerTintColor,
      pressColor: headerPressColor,
      pressOpacity: headerPressOpacity
    }) : null;
    var headerTitle = typeof customTitle !== 'function' ? function (props) {
      return React.createElement(_HeaderTitle.default, props);
    } : customTitle;
    return React.createElement(React.Fragment, null, React.createElement(_reactNative.Animated.View, {
      pointerEvents: "box-none",
      style: [_reactNative.StyleSheet.absoluteFill, {
        zIndex: 0
      }, backgroundContainerStyle]
    }, headerBackground ? headerBackground({
      style: backgroundStyle
    }) : headerTransparent ? null : React.createElement(_HeaderBackground.default, {
      style: backgroundStyle
    })), React.createElement(_reactNative.Animated.View, {
      pointerEvents: "box-none",
      style: [{
        height: height,
        minHeight: minHeight,
        maxHeight: maxHeight,
        opacity: opacity,
        transform: transform
      }]
    }, React.createElement(_reactNative.View, {
      pointerEvents: "none",
      style: {
        height: headerStatusBarHeight
      }
    }), React.createElement(_reactNative.View, {
      pointerEvents: "box-none",
      style: styles.content
    }, React.createElement(_reactNative.Animated.View, {
      pointerEvents: "box-none",
      style: [styles.left, headerTitleAlign === 'center' && styles.expand, {
        marginStart: insets.left
      }, leftContainerStyle]
    }, leftButton), React.createElement(_reactNative.Animated.View, {
      pointerEvents: "box-none",
      style: [styles.title, {
        maxWidth: headerTitleAlign === 'center' ? layout.width - ((leftButton ? headerLeftLabelVisible !== false ? 80 : 32 : 16) + Math.max(insets.left, insets.right)) * 2 : layout.width - ((leftButton ? 72 : 16) + (rightButton ? 72 : 16) + insets.left - insets.right)
      }, titleContainerStyle]
    }, headerTitle({
      children: title,
      allowFontScaling: titleAllowFontScaling,
      tintColor: headerTintColor,
      style: titleStyle
    })), React.createElement(_reactNative.Animated.View, {
      pointerEvents: "box-none",
      style: [styles.right, styles.expand, {
        marginEnd: insets.right
      }, rightContainerStyle]
    }, rightButton))));
  }

  var styles = _reactNative.StyleSheet.create({
    content: {
      flex: 1,
      flexDirection: 'row',
      alignItems: 'stretch'
    },
    title: {
      marginHorizontal: 16,
      justifyContent: 'center'
    },
    left: {
      justifyContent: 'center',
      alignItems: 'flex-start'
    },
    right: {
      justifyContent: 'center',
      alignItems: 'flex-end'
    },
    expand: {
      flexGrow: 1,
      flexBasis: 0
    }
  });
},1169,[5,108,17,28,1167,1170,1171,1173,1148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = HeaderBackground;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function HeaderBackground(_ref) {
    var style = _ref.style,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["style"]);

    var _useTheme = (0, _$$_REQUIRE(_dependencyMap[5]).useTheme)(),
        colors = _useTheme.colors;

    return React.createElement(_reactNative.Animated.View, (0, _extends2.default)({
      style: [styles.container, {
        backgroundColor: colors.card,
        borderBottomColor: colors.border,
        shadowColor: colors.border
      }, style]
    }, rest));
  }

  var styles = _reactNative.StyleSheet.create({
    container: (0, _extends2.default)({
      flex: 1
    }, _reactNative.Platform.select({
      android: {
        elevation: 4
      },
      ios: {
        shadowOpacity: 0.85,
        shadowRadius: 0,
        shadowOffset: {
          width: 0,
          height: _reactNative.StyleSheet.hairlineWidth
        }
      },
      default: {
        borderBottomWidth: _reactNative.StyleSheet.hairlineWidth
      }
    }))
  });
},1170,[5,6,108,17,28,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _getNamedContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var HeaderShownContext = (0, _getNamedContext.default)('HeaderShownContext', false);
  var _default = HeaderShownContext;
  exports.default = _default;
},1171,[5,1172]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = getNamedContext;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _global$contexts;

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var contexts = '__react_navigation__elements_contexts';
  global[contexts] = (_global$contexts = global[contexts]) != null ? _global$contexts : new Map();

  function getNamedContext(name, initialValue) {
    var context = global[contexts].get(name);

    if (context) {
      return context;
    }

    context = React.createContext(initialValue);
    context.displayName = name;
    global[contexts].set(name, context);
    return context;
  }
},1172,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = HeaderTitle;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function HeaderTitle(_ref) {
    var tintColor = _ref.tintColor,
        style = _ref.style,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["tintColor", "style"]);

    var _useTheme = (0, _$$_REQUIRE(_dependencyMap[5]).useTheme)(),
        colors = _useTheme.colors;

    return React.createElement(_reactNative.Animated.Text, (0, _extends2.default)({
      accessibilityRole: "header",
      "aria-level": "1",
      numberOfLines: 1
    }, rest, {
      style: [styles.title, {
        color: tintColor === undefined ? colors.text : tintColor
      }, style]
    }));
  }

  var styles = _reactNative.StyleSheet.create({
    title: _reactNative.Platform.select({
      ios: {
        fontSize: 17,
        fontWeight: '600'
      },
      android: {
        fontSize: 20,
        fontFamily: 'sans-serif-medium',
        fontWeight: 'normal'
      },
      default: {
        fontSize: 18,
        fontWeight: '500'
      }
    })
  });
},1173,[5,6,108,17,28,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = HeaderBackButton;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _MaskedView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _PlatformPressable = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function HeaderBackButton(_ref) {
    var disabled = _ref.disabled,
        allowFontScaling = _ref.allowFontScaling,
        backImage = _ref.backImage,
        label = _ref.label,
        labelStyle = _ref.labelStyle,
        labelVisible = _ref.labelVisible,
        onLabelLayout = _ref.onLabelLayout,
        onPress = _ref.onPress,
        pressColor = _ref.pressColor,
        pressOpacity = _ref.pressOpacity,
        screenLayout = _ref.screenLayout,
        customTintColor = _ref.tintColor,
        titleLayout = _ref.titleLayout,
        _ref$truncatedLabel = _ref.truncatedLabel,
        truncatedLabel = _ref$truncatedLabel === undefined ? 'Back' : _ref$truncatedLabel,
        _ref$accessibilityLab = _ref.accessibilityLabel,
        accessibilityLabel = _ref$accessibilityLab === undefined ? label && label !== 'Back' ? label + ", back" : 'Go back' : _ref$accessibilityLab,
        testID = _ref.testID,
        style = _ref.style;

    var _useTheme = (0, _$$_REQUIRE(_dependencyMap[7]).useTheme)(),
        colors = _useTheme.colors;

    var _React$useState = React.useState(undefined),
        _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
        initialLabelWidth = _React$useState2[0],
        setInitialLabelWidth = _React$useState2[1];

    var tintColor = customTintColor !== undefined ? customTintColor : _reactNative.Platform.select({
      ios: colors.primary,
      default: colors.text
    });

    var handleLabelLayout = function handleLabelLayout(e) {
      onLabelLayout == null ? undefined : onLabelLayout(e);
      setInitialLabelWidth(e.nativeEvent.layout.x + e.nativeEvent.layout.width);
    };

    var shouldTruncateLabel = function shouldTruncateLabel() {
      return !label || initialLabelWidth && titleLayout && screenLayout && (screenLayout.width - titleLayout.width) / 2 < initialLabelWidth + 26;
    };

    var renderBackImage = function renderBackImage() {
      if (backImage) {
        return backImage({
          tintColor: tintColor
        });
      } else {
        return React.createElement(_reactNative.Image, {
          style: [styles.icon, Boolean(labelVisible) && styles.iconWithLabel, Boolean(tintColor) && {
            tintColor: tintColor
          }],
          source: _$$_REQUIRE(_dependencyMap[8]),
          fadeDuration: 0
        });
      }
    };

    var renderLabel = function renderLabel() {
      var leftLabelText = shouldTruncateLabel() ? truncatedLabel : label;

      if (!labelVisible || leftLabelText === undefined) {
        return null;
      }

      var labelElement = React.createElement(_reactNative.View, {
        style: screenLayout ? [styles.labelWrapper, {
          minWidth: screenLayout.width / 2 - 27
        }] : null
      }, React.createElement(_reactNative.Animated.Text, {
        accessible: false,
        onLayout: leftLabelText === label ? handleLabelLayout : undefined,
        style: [styles.label, tintColor ? {
          color: tintColor
        } : null, labelStyle],
        numberOfLines: 1,
        allowFontScaling: !!allowFontScaling
      }, leftLabelText));

      if (backImage || _reactNative.Platform.OS !== 'ios') {
        return labelElement;
      }

      return React.createElement(_MaskedView.default, {
        maskElement: React.createElement(_reactNative.View, {
          style: styles.iconMaskContainer
        }, React.createElement(_reactNative.Image, {
          source: _$$_REQUIRE(_dependencyMap[9]),
          style: styles.iconMask
        }), React.createElement(_reactNative.View, {
          style: styles.iconMaskFillerRect
        }))
      }, labelElement);
    };

    var handlePress = function handlePress() {
      return onPress && requestAnimationFrame(onPress);
    };

    return React.createElement(_PlatformPressable.default, {
      disabled: disabled,
      accessible: true,
      accessibilityRole: "button",
      accessibilityLabel: accessibilityLabel,
      testID: testID,
      onPress: disabled ? undefined : handlePress,
      pressColor: pressColor,
      pressOpacity: pressOpacity,
      android_ripple: {
        borderless: true
      },
      style: [styles.container, disabled && styles.disabled, style],
      hitSlop: _reactNative.Platform.select({
        ios: undefined,
        default: {
          top: 16,
          right: 16,
          bottom: 16,
          left: 16
        }
      })
    }, React.createElement(React.Fragment, null, renderBackImage(), renderLabel()));
  }

  var styles = _reactNative.StyleSheet.create({
    container: (0, _extends2.default)({
      alignItems: 'center',
      flexDirection: 'row',
      minWidth: _reactNative.StyleSheet.hairlineWidth
    }, _reactNative.Platform.select({
      ios: null,
      default: {
        marginVertical: 3,
        marginHorizontal: 11
      }
    })),
    disabled: {
      opacity: 0.5
    },
    label: {
      fontSize: 17,
      letterSpacing: 0.35
    },
    labelWrapper: {
      flexDirection: 'row',
      alignItems: 'flex-start'
    },
    icon: _reactNative.Platform.select({
      ios: {
        height: 21,
        width: 13,
        marginLeft: 8,
        marginRight: 22,
        marginVertical: 12,
        resizeMode: 'contain',
        transform: [{
          scaleX: _reactNative.I18nManager.isRTL ? -1 : 1
        }]
      },
      default: {
        height: 24,
        width: 24,
        margin: 3,
        resizeMode: 'contain',
        transform: [{
          scaleX: _reactNative.I18nManager.isRTL ? -1 : 1
        }]
      }
    }),
    iconWithLabel: _reactNative.Platform.OS === 'ios' ? {
      marginRight: 6
    } : {},
    iconMaskContainer: {
      flex: 1,
      flexDirection: 'row',
      justifyContent: 'center'
    },
    iconMaskFillerRect: {
      flex: 1,
      backgroundColor: '#000'
    },
    iconMask: {
      height: 21,
      width: 13,
      marginLeft: -14.5,
      marginVertical: 12,
      alignSelf: 'center',
      resizeMode: 'contain',
      transform: [{
        scaleX: _reactNative.I18nManager.isRTL ? -1 : 1
      }]
    }
  });
},1174,[5,6,41,17,28,1175,1177,1002,1178,1180]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "default", {
    enumerable: true,
    get: function get() {
      return _MaskedViewNative.default;
    }
  });

  var _MaskedViewNative = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));
},1175,[5,1176]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = MaskedView;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var RNCMaskedView;

  try {
    RNCMaskedView = _$$_REQUIRE(_dependencyMap[4]).default;
  } catch (e) {}

  var isMaskedViewAvailable = _reactNative.UIManager.getViewManagerConfig('RNCMaskedView') != null;

  function MaskedView(_ref) {
    var children = _ref.children,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["children"]);

    if (isMaskedViewAvailable && RNCMaskedView) {
      return React.createElement(RNCMaskedView, rest, children);
    }

    return children;
  }
},1176,[5,108,17,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = PlatformPressable;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var AnimatedPressable = _reactNative.Animated.createAnimatedComponent(_reactNative.Pressable);

  var ANDROID_VERSION_LOLLIPOP = 21;
  var ANDROID_SUPPORTS_RIPPLE = _reactNative.Platform.OS === 'android' && _reactNative.Platform.Version >= ANDROID_VERSION_LOLLIPOP;

  function PlatformPressable(_ref) {
    var onPressIn = _ref.onPressIn,
        onPressOut = _ref.onPressOut,
        android_ripple = _ref.android_ripple,
        pressColor = _ref.pressColor,
        _ref$pressOpacity = _ref.pressOpacity,
        pressOpacity = _ref$pressOpacity === undefined ? 0.3 : _ref$pressOpacity,
        style = _ref.style,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["onPressIn", "onPressOut", "android_ripple", "pressColor", "pressOpacity", "style"]);

    var _useTheme = (0, _$$_REQUIRE(_dependencyMap[6]).useTheme)(),
        dark = _useTheme.dark;

    var _React$useState = React.useState(function () {
      return new _reactNative.Animated.Value(1);
    }),
        _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 1),
        opacity = _React$useState2[0];

    var animateTo = function animateTo(toValue, duration) {
      if (ANDROID_SUPPORTS_RIPPLE) {
        return;
      }

      _reactNative.Animated.timing(opacity, {
        toValue: toValue,
        duration: duration,
        easing: _reactNative.Easing.inOut(_reactNative.Easing.quad),
        useNativeDriver: true
      }).start();
    };

    var handlePressIn = function handlePressIn(e) {
      animateTo(pressOpacity, 0);
      onPressIn == null ? undefined : onPressIn(e);
    };

    var handlePressOut = function handlePressOut(e) {
      animateTo(1, 200);
      onPressOut == null ? undefined : onPressOut(e);
    };

    return React.createElement(AnimatedPressable, (0, _extends2.default)({
      onPressIn: handlePressIn,
      onPressOut: handlePressOut,
      android_ripple: ANDROID_SUPPORTS_RIPPLE ? (0, _extends2.default)({
        color: pressColor !== undefined ? pressColor : dark ? 'rgba(255, 255, 255, .32)' : 'rgba(0, 0, 0, .32)'
      }, android_ripple) : undefined,
      style: [{
        opacity: !ANDROID_SUPPORTS_RIPPLE ? opacity : 1
      }, style]
    }, rest));
  }
},1177,[5,6,41,108,17,28,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/node_modules/@react-navigation/elements/src/assets",
    "width": 12,
    "height": 21,
    "scales": [1, 1.5, 2, 3, 4],
    "hash": "c90fb4585dd852a3d67af39baf923f67",
    "name": "back-icon",
    "type": "png"
  });
},1178,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = _$$_REQUIRE(_dependencyMap[0]);
},1179,[167]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/node_modules/@react-navigation/elements/src/assets",
    "width": 50,
    "height": 85,
    "scales": [1],
    "hash": "5223c8d9b0d08b82a5670fb5f71faf78",
    "name": "back-icon-mask",
    "type": "png"
  });
},1180,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _getNamedContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var HeaderBackContext = (0, _getNamedContext.default)('HeaderBackContext', undefined);
  var _default = HeaderBackContext;
  exports.default = _default;
},1181,[5,1172]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _getNamedContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var HeaderHeightContext = (0, _getNamedContext.default)('HeaderHeightContext', undefined);
  var _default = HeaderHeightContext;
  exports.default = _default;
},1182,[5,1172]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useHeaderHeight;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _HeaderHeightContext = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useHeaderHeight() {
    var height = React.useContext(_HeaderHeightContext.default);

    if (height === undefined) {
      throw new Error("Couldn't find the header height. Are you inside a screen in a navigator with a header?");
    }

    return height;
  }
},1183,[17,5,1182]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = MissingIcon;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[1]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function MissingIcon(_ref) {
    var color = _ref.color,
        size = _ref.size,
        style = _ref.style;
    return React.createElement(_reactNative.Text, {
      style: [styles.icon, {
        color: color,
        fontSize: size
      }, style]
    }, "\u23F7");
  }

  var styles = _reactNative.StyleSheet.create({
    icon: {
      backgroundColor: 'transparent'
    }
  });
},1184,[17,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = ResourceSavingScene;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var FAR_FAR_AWAY = 30000;

  function ResourceSavingScene(_ref) {
    var visible = _ref.visible,
        children = _ref.children,
        style = _ref.style,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["visible", "children", "style"]);

    if (_reactNative.Platform.OS === 'web') {
      return React.createElement(_reactNative.View, (0, _extends2.default)({
        hidden: !visible,
        style: [{
          display: visible ? 'flex' : 'none'
        }, styles.container, style],
        pointerEvents: visible ? 'auto' : 'none'
      }, rest), children);
    }

    return React.createElement(_reactNative.View, {
      style: [styles.container, style],
      pointerEvents: visible ? 'auto' : 'none'
    }, React.createElement(_reactNative.View, {
      collapsable: false,
      removeClippedSubviews: _reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'macos' ? !visible : true,
      pointerEvents: visible ? 'auto' : 'none',
      style: visible ? styles.attached : styles.detached
    }, children));
  }

  var styles = _reactNative.StyleSheet.create({
    container: {
      flex: 1,
      overflow: 'hidden'
    },
    attached: {
      flex: 1
    },
    detached: {
      flex: 1,
      top: FAR_FAR_AWAY
    }
  });
},1185,[5,6,108,17,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = SafeAreaProviderCompat;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[1]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _Dimensions$get = _reactNative.Dimensions.get('window'),
      _Dimensions$get$width = _Dimensions$get.width,
      width = _Dimensions$get$width === undefined ? 0 : _Dimensions$get$width,
      _Dimensions$get$heigh = _Dimensions$get.height,
      height = _Dimensions$get$heigh === undefined ? 0 : _Dimensions$get$heigh;

  var initialMetrics = _reactNative.Platform.OS === 'web' || _$$_REQUIRE(_dependencyMap[2]).initialWindowMetrics == null ? {
    frame: {
      x: 0,
      y: 0,
      width: width,
      height: height
    },
    insets: {
      top: 0,
      left: 0,
      right: 0,
      bottom: 0
    }
  } : _$$_REQUIRE(_dependencyMap[2]).initialWindowMetrics;

  function SafeAreaProviderCompat(_ref) {
    var children = _ref.children,
        style = _ref.style;
    return React.createElement(_$$_REQUIRE(_dependencyMap[2]).SafeAreaInsetsContext.Consumer, null, function (insets) {
      if (insets) {
        return React.createElement(_reactNative.View, {
          style: [styles.container, style]
        }, children);
      }

      return React.createElement(_$$_REQUIRE(_dependencyMap[2]).SafeAreaProvider, {
        initialMetrics: initialMetrics,
        style: style
      }, children);
    });
  }

  SafeAreaProviderCompat.initialMetrics = initialMetrics;

  var styles = _reactNative.StyleSheet.create({
    container: {
      flex: 1
    }
  });
},1186,[17,28,1148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = Screen;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _Background = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getDefaultHeaderHeight = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _HeaderHeightContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _HeaderShownContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function Screen(props) {
    var dimensions = (0, _$$_REQUIRE(_dependencyMap[8]).useSafeAreaFrame)();
    var insets = (0, _$$_REQUIRE(_dependencyMap[8]).useSafeAreaInsets)();
    var isParentHeaderShown = React.useContext(_HeaderShownContext.default);
    var parentHeaderHeight = React.useContext(_HeaderHeightContext.default);
    var focused = props.focused,
        _props$modal = props.modal,
        modal = _props$modal === undefined ? false : _props$modal,
        header = props.header,
        _props$headerShown = props.headerShown,
        headerShown = _props$headerShown === undefined ? true : _props$headerShown,
        headerTransparent = props.headerTransparent,
        _props$headerStatusBa = props.headerStatusBarHeight,
        headerStatusBarHeight = _props$headerStatusBa === undefined ? isParentHeaderShown ? 0 : insets.top : _props$headerStatusBa,
        navigation = props.navigation,
        route = props.route,
        children = props.children,
        style = props.style;

    var _React$useState = React.useState(function () {
      return (0, _getDefaultHeaderHeight.default)(dimensions, modal, headerStatusBarHeight);
    }),
        _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
        headerHeight = _React$useState2[0],
        setHeaderHeight = _React$useState2[1];

    return React.createElement(_Background.default, {
      accessibilityElementsHidden: !focused,
      importantForAccessibility: focused ? 'auto' : 'no-hide-descendants',
      style: [styles.container, style]
    }, React.createElement(_reactNative.View, {
      style: styles.content
    }, React.createElement(_HeaderShownContext.default.Provider, {
      value: isParentHeaderShown || headerShown !== false
    }, React.createElement(_HeaderHeightContext.default.Provider, {
      value: headerShown ? headerHeight : parentHeaderHeight != null ? parentHeaderHeight : 0
    }, children))), headerShown ? React.createElement(_$$_REQUIRE(_dependencyMap[9]).NavigationContext.Provider, {
      value: navigation
    }, React.createElement(_$$_REQUIRE(_dependencyMap[9]).NavigationRouteContext.Provider, {
      value: route
    }, React.createElement(_reactNative.View, {
      onLayout: function onLayout(e) {
        var height = e.nativeEvent.layout.height;
        setHeaderHeight(height);
      },
      style: headerTransparent ? styles.absolute : null
    }, header))) : null);
  }

  var styles = _reactNative.StyleSheet.create({
    container: {
      flex: 1,
      flexDirection: 'column-reverse'
    },
    content: {
      flex: 1
    },
    absolute: {
      position: 'absolute',
      top: 0,
      left: 0,
      right: 0
    }
  });
},1187,[5,41,17,28,1166,1167,1182,1171,1148,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {},1188,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = DrawerToggleButton;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function DrawerToggleButton(_ref) {
    var tintColor = _ref.tintColor,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["tintColor"]);
    var navigation = (0, _$$_REQUIRE(_dependencyMap[5]).useNavigation)();
    return React.createElement(_$$_REQUIRE(_dependencyMap[6]).PlatformPressable, (0, _extends2.default)({}, rest, {
      accessible: true,
      accessibilityRole: "button",
      android_ripple: {
        borderless: true
      },
      onPress: function onPress() {
        return navigation.dispatch(_$$_REQUIRE(_dependencyMap[5]).DrawerActions.toggleDrawer());
      },
      style: styles.touchable,
      hitSlop: _reactNative.Platform.select({
        ios: undefined,
        default: {
          top: 16,
          right: 16,
          bottom: 16,
          left: 16
        }
      })
    }), React.createElement(_reactNative.Image, {
      style: [styles.icon, tintColor ? {
        tintColor: tintColor
      } : null],
      source: _$$_REQUIRE(_dependencyMap[7]),
      fadeDuration: 0
    }));
  }

  var styles = _reactNative.StyleSheet.create({
    icon: {
      height: 24,
      width: 24,
      margin: 3,
      resizeMode: 'contain'
    },
    touchable: {
      marginHorizontal: 11
    }
  });
},1189,[5,6,108,17,28,1002,1165,1190]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/node_modules/@react-navigation/drawer/src/views/assets",
    "width": 24,
    "height": 24,
    "scales": [1, 1.5, 2, 3, 4],
    "hash": "2a8b5fff19012916a50a2032b5b1cf07",
    "name": "toggle-drawer-icon",
    "type": "png"
  });
},1190,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},1191,[1192]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.PanGestureHandler = PanGestureHandler;
  Object.defineProperty(exports, "GestureHandlerRootView", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).GestureHandlerRootView;
    }
  });
  Object.defineProperty(exports, "GestureState", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).State;
    }
  });
  Object.defineProperty(exports, "PanGestureHandlerGestureEvent", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).PanGestureHandlerGestureEvent;
    }
  });
  Object.defineProperty(exports, "TapGestureHandler", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).TapGestureHandler;
    }
  });

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[1]));

  var _DrawerGestureContext = _$$_REQUIRE(_dependencyMap[2])(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function PanGestureHandler(props) {
    var gestureRef = React.useRef(null);
    return React.createElement(_DrawerGestureContext.default.Provider, {
      value: gestureRef
    }, React.createElement(_$$_REQUIRE(_dependencyMap[0]).PanGestureHandler, props));
  }
},1192,[1,17,5,1193]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = React.createContext(null);

  exports.default = _default;
},1193,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _reactNativeReanimated = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _DrawerProgressContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _Overlay = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Clock = _reactNativeReanimated.default.Clock,
      Value = _reactNativeReanimated.default.Value,
      onChange = _reactNativeReanimated.default.onChange,
      clockRunning = _reactNativeReanimated.default.clockRunning,
      startClock = _reactNativeReanimated.default.startClock,
      stopClock = _reactNativeReanimated.default.stopClock,
      spring = _reactNativeReanimated.default.spring,
      abs = _reactNativeReanimated.default.abs,
      add = _reactNativeReanimated.default.add,
      and = _reactNativeReanimated.default.and,
      block = _reactNativeReanimated.default.block,
      call = _reactNativeReanimated.default.call,
      cond = _reactNativeReanimated.default.cond,
      divide = _reactNativeReanimated.default.divide,
      eq = _reactNativeReanimated.default.eq,
      event = _reactNativeReanimated.default.event,
      greaterThan = _reactNativeReanimated.default.greaterThan,
      lessThan = _reactNativeReanimated.default.lessThan,
      max = _reactNativeReanimated.default.max,
      min = _reactNativeReanimated.default.min,
      multiply = _reactNativeReanimated.default.multiply,
      neq = _reactNativeReanimated.default.neq,
      or = _reactNativeReanimated.default.or,
      set = _reactNativeReanimated.default.set,
      sub = _reactNativeReanimated.default.sub;
  var TRUE = 1;
  var FALSE = 0;
  var NOOP = 0;
  var UNSET = -1;
  var DIRECTION_LEFT = 1;
  var DIRECTION_RIGHT = -1;
  var SWIPE_DISTANCE_MINIMUM = 5;
  var DEFAULT_DRAWER_WIDTH = '80%';
  var SPRING_CONFIG = {
    stiffness: 1000,
    damping: 500,
    mass: 3,
    overshootClamping: true,
    restDisplacementThreshold: 0.01,
    restSpeedThreshold: 0.01
  };
  var ANIMATED_ZERO = new _reactNativeReanimated.default.Value(0);
  var ANIMATED_ONE = new _reactNativeReanimated.default.Value(1);

  var DrawerView = function (_React$Component) {
    (0, _inherits2.default)(DrawerView, _React$Component);

    var _super = _createSuper(DrawerView);

    function DrawerView() {
      var _this;

      (0, _classCallCheck2.default)(this, DrawerView);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));

      _this.handleEndInteraction = function () {
        if (_this.interactionHandle !== undefined) {
          _reactNative.InteractionManager.clearInteractionHandle(_this.interactionHandle);

          _this.interactionHandle = undefined;
        }
      };

      _this.handleStartInteraction = function () {
        if (_this.interactionHandle === undefined) {
          _this.interactionHandle = _reactNative.InteractionManager.createInteractionHandle();
        }
      };

      _this.getDrawerWidth = function () {
        var _this$props = _this.props,
            drawerStyle = _this$props.drawerStyle,
            dimensions = _this$props.dimensions;

        var _ref = _reactNative.StyleSheet.flatten(drawerStyle) || {},
            _ref$width = _ref.width,
            width = _ref$width === undefined ? DEFAULT_DRAWER_WIDTH : _ref$width;

        if (typeof width === 'string' && width.endsWith('%')) {
          var percentage = Number(width.replace(/%$/, ''));

          if (Number.isFinite(percentage)) {
            return dimensions.width * (percentage / 100);
          }
        }

        return typeof width === 'number' ? width : 0;
      };

      _this.clock = new Clock();
      _this.isDrawerTypeFront = new Value(_this.props.drawerType === 'front' ? TRUE : FALSE);
      _this.isOpen = new Value(_this.props.open ? TRUE : FALSE);
      _this.nextIsOpen = new Value(UNSET);
      _this.isSwiping = new Value(FALSE);
      _this.initialDrawerWidth = _this.getDrawerWidth();
      _this.gestureState = new Value(_$$_REQUIRE(_dependencyMap[13]).GestureState.UNDETERMINED);
      _this.touchX = new Value(0);
      _this.velocityX = new Value(0);
      _this.gestureX = new Value(0);
      _this.offsetX = new Value(0);
      _this.position = new Value(_this.props.open ? _this.initialDrawerWidth * (_this.props.drawerPosition === 'right' ? DIRECTION_RIGHT : DIRECTION_LEFT) : 0);
      _this.containerWidth = new Value(_this.props.dimensions.width);
      _this.drawerWidth = new Value(_this.initialDrawerWidth);
      _this.drawerOpacity = new Value(_this.props.drawerType === 'permanent' ? 1 : 0);
      _this.drawerPosition = new Value(_this.props.drawerPosition === 'right' ? DIRECTION_RIGHT : DIRECTION_LEFT);
      _this.touchDistanceFromDrawer = cond(_this.isDrawerTypeFront, cond(eq(_this.drawerPosition, DIRECTION_LEFT), max(sub(sub(_this.touchX, _this.gestureX), _this.drawerWidth), 0), min(multiply(sub(sub(_this.containerWidth, _this.drawerWidth), sub(_this.touchX, _this.gestureX)), DIRECTION_RIGHT), 0)), 0);
      _this.swipeDistanceThreshold = new Value(_this.props.swipeDistanceThreshold);
      _this.swipeVelocityThreshold = new Value(_this.props.swipeVelocityThreshold);
      _this.currentOpenValue = _this.props.open;
      _this.isStatusBarHidden = false;
      _this.manuallyTriggerSpring = new Value(FALSE);

      _this.transitionTo = function (isOpen) {
        var toValue = new Value(0);
        var frameTime = new Value(0);
        var state = {
          position: _this.position,
          time: new Value(0),
          finished: new Value(FALSE),
          velocity: new Value(0)
        };
        return block([cond(clockRunning(_this.clock), NOOP, [set(toValue, multiply(isOpen, _this.drawerWidth, _this.drawerPosition)), set(frameTime, 0), set(state.time, 0), set(state.finished, FALSE), set(state.velocity, _this.velocityX), set(_this.isOpen, isOpen), startClock(_this.clock), call([], _this.handleStartInteraction), set(_this.manuallyTriggerSpring, FALSE)]), spring(_this.clock, state, (0, _extends2.default)({}, SPRING_CONFIG, {
          toValue: toValue
        })), cond(state.finished, [set(_this.touchX, 0), set(_this.gestureX, 0), set(_this.velocityX, 0), set(_this.offsetX, 0), stopClock(_this.clock), call([_this.isOpen], function (_ref2) {
          var _ref3 = (0, _slicedToArray2.default)(_ref2, 1),
              value = _ref3[0];

          var open = Boolean(value);

          _this.handleEndInteraction();

          if (open !== _this.props.open) {
            _this.toggleDrawer(_this.props.open);
          }
        })])]);
      };

      _this.dragX = block([onChange(_this.isOpen, call([_this.isOpen], function (_ref4) {
        var _ref5 = (0, _slicedToArray2.default)(_ref4, 1),
            value = _ref5[0];

        var open = Boolean(value);
        _this.currentOpenValue = open;

        if (open !== _this.props.open) {
          if (open) {
            _this.props.onOpen();
          } else {
            _this.props.onClose();
          }

          _this.pendingOpenValue = open;

          _this.forceUpdate();
        }
      })), onChange(_this.nextIsOpen, cond(neq(_this.nextIsOpen, UNSET), [cond(clockRunning(_this.clock), stopClock(_this.clock)), set(_this.isOpen, _this.nextIsOpen), set(_this.gestureX, 0), set(_this.nextIsOpen, UNSET)])), onChange(_this.isSwiping, call([_this.isSwiping], function (_ref6) {
        var _ref7 = (0, _slicedToArray2.default)(_ref6, 1),
            value = _ref7[0];

        var keyboardDismissMode = _this.props.keyboardDismissMode;

        if (value === TRUE) {
          if (keyboardDismissMode === 'on-drag') {
            _reactNative.Keyboard.dismiss();
          }

          _this.toggleStatusBar(true);
        } else {
          _this.toggleStatusBar(_this.currentOpenValue);
        }
      })), onChange(_this.gestureState, cond(eq(_this.gestureState, _$$_REQUIRE(_dependencyMap[13]).GestureState.ACTIVE), call([], _this.handleStartInteraction))), cond(eq(_this.gestureState, _$$_REQUIRE(_dependencyMap[13]).GestureState.ACTIVE), [cond(_this.isSwiping, NOOP, [set(_this.isSwiping, TRUE), set(_this.offsetX, _this.position)]), set(_this.position, add(_this.offsetX, _this.gestureX, _this.touchDistanceFromDrawer)), stopClock(_this.clock)], [set(_this.isSwiping, FALSE), set(_this.touchX, 0), _this.transitionTo(cond(_this.manuallyTriggerSpring, _this.isOpen, cond(or(and(greaterThan(abs(_this.gestureX), SWIPE_DISTANCE_MINIMUM), greaterThan(abs(_this.velocityX), _this.swipeVelocityThreshold)), greaterThan(abs(_this.gestureX), _this.swipeDistanceThreshold)), cond(eq(_this.drawerPosition, DIRECTION_LEFT), greaterThan(cond(eq(_this.velocityX, 0), _this.gestureX, _this.velocityX), 0), lessThan(cond(eq(_this.velocityX, 0), _this.gestureX, _this.velocityX), 0)), _this.isOpen)))]), _this.position]);
      _this.translateX = cond(eq(_this.drawerPosition, DIRECTION_RIGHT), min(max(multiply(_this.drawerWidth, -1), _this.dragX), 0), max(min(_this.drawerWidth, _this.dragX), 0));
      _this.progress = cond(eq(_this.drawerWidth, 0), 0, abs(divide(_this.translateX, _this.drawerWidth)));
      _this.handleGestureEvent = event([{
        nativeEvent: {
          x: _this.touchX,
          translationX: _this.gestureX,
          velocityX: _this.velocityX
        }
      }]);
      _this.handleGestureStateChange = event([{
        nativeEvent: {
          state: function state(s) {
            return set(_this.gestureState, s);
          }
        }
      }]);

      _this.handleContainerLayout = function (e) {
        return _this.containerWidth.setValue(e.nativeEvent.layout.width);
      };

      _this.handleDrawerLayout = function (e) {
        _this.drawerWidth.setValue(e.nativeEvent.layout.width);

        _this.toggleDrawer(_this.props.open);

        requestAnimationFrame(function () {
          return requestAnimationFrame(function () {
            return _this.drawerOpacity.setValue(1);
          });
        });
      };

      _this.toggleDrawer = function (open) {
        if (_this.currentOpenValue !== open) {
          _this.nextIsOpen.setValue(open ? TRUE : FALSE);

          _this.currentOpenValue = open;
        }
      };

      _this.toggleStatusBar = function (hidden) {
        var _this$props2 = _this.props,
            hideStatusBar = _this$props2.hideStatusBarOnOpen,
            statusBarAnimation = _this$props2.statusBarAnimation;

        if (hideStatusBar && _this.isStatusBarHidden !== hidden) {
          _this.isStatusBarHidden = hidden;

          _reactNative.StatusBar.setHidden(hidden, statusBarAnimation);
        }
      };

      return _this;
    }

    (0, _createClass2.default)(DrawerView, [{
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps) {
        var _this$props3 = this.props,
            open = _this$props3.open,
            drawerPosition = _this$props3.drawerPosition,
            drawerType = _this$props3.drawerType,
            swipeDistanceThreshold = _this$props3.swipeDistanceThreshold,
            swipeVelocityThreshold = _this$props3.swipeVelocityThreshold,
            hideStatusBar = _this$props3.hideStatusBarOnOpen;

        if (typeof this.pendingOpenValue !== 'boolean' || open !== this.pendingOpenValue) {
          this.toggleDrawer(open);
        }

        this.pendingOpenValue = undefined;

        if (open !== prevProps.open && hideStatusBar) {
          this.toggleStatusBar(open);
        }

        if (prevProps.drawerPosition !== drawerPosition) {
          this.drawerPosition.setValue(drawerPosition === 'right' ? DIRECTION_RIGHT : DIRECTION_LEFT);
        }

        if (prevProps.drawerType !== drawerType) {
          this.isDrawerTypeFront.setValue(drawerType === 'front' ? TRUE : FALSE);
        }

        if (prevProps.swipeDistanceThreshold !== swipeDistanceThreshold) {
          this.swipeDistanceThreshold.setValue(swipeDistanceThreshold);
        }

        if (prevProps.swipeVelocityThreshold !== swipeVelocityThreshold) {
          this.swipeVelocityThreshold.setValue(swipeVelocityThreshold);
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this.toggleStatusBar(false);
        this.handleEndInteraction();
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props4 = this.props,
            open = _this$props4.open,
            swipeEnabled = _this$props4.swipeEnabled,
            drawerPosition = _this$props4.drawerPosition,
            drawerType = _this$props4.drawerType,
            swipeEdgeWidth = _this$props4.swipeEdgeWidth,
            drawerStyle = _this$props4.drawerStyle,
            overlayStyle = _this$props4.overlayStyle,
            renderDrawerContent = _this$props4.renderDrawerContent,
            renderSceneContent = _this$props4.renderSceneContent,
            gestureHandlerProps = _this$props4.gestureHandlerProps;
        var isOpen = drawerType === 'permanent' ? true : open;
        var isRight = drawerPosition === 'right';
        var contentTranslateX = drawerType === 'front' ? ANIMATED_ZERO : this.translateX;
        var drawerTranslateX = drawerType === 'back' ? _reactNative.I18nManager.isRTL ? multiply(sub(this.containerWidth, this.drawerWidth), isRight ? 1 : -1) : ANIMATED_ZERO : this.translateX;
        var offset = drawerType === 'back' ? 0 : _reactNative.I18nManager.isRTL ? '100%' : multiply(this.drawerWidth, -1);
        var hitSlop = isRight ? {
          right: 0,
          width: isOpen ? undefined : swipeEdgeWidth
        } : {
          left: 0,
          width: isOpen ? undefined : swipeEdgeWidth
        };
        var progress = drawerType === 'permanent' ? ANIMATED_ONE : this.progress;
        return React.createElement(_DrawerProgressContext.default.Provider, {
          value: progress
        }, React.createElement(_$$_REQUIRE(_dependencyMap[13]).PanGestureHandler, (0, _extends2.default)({
          activeOffsetX: [-5, SWIPE_DISTANCE_MINIMUM],
          failOffsetY: [-5, SWIPE_DISTANCE_MINIMUM],
          onGestureEvent: this.handleGestureEvent,
          onHandlerStateChange: this.handleGestureStateChange,
          hitSlop: hitSlop,
          enabled: drawerType !== 'permanent' && swipeEnabled
        }, gestureHandlerProps), React.createElement(_reactNativeReanimated.default.View, {
          onLayout: this.handleContainerLayout,
          style: [styles.main, {
            flexDirection: drawerType === 'permanent' && !isRight ? 'row-reverse' : 'row'
          }]
        }, React.createElement(_reactNativeReanimated.default.View, {
          style: [styles.content, {
            transform: drawerType === 'permanent' ? [] : [{
              translateX: contentTranslateX
            }]
          }]
        }, React.createElement(_reactNative.View, {
          accessibilityElementsHidden: isOpen && drawerType !== 'permanent',
          importantForAccessibility: isOpen && drawerType !== 'permanent' ? 'no-hide-descendants' : 'auto',
          style: styles.content
        }, renderSceneContent()), drawerType === 'permanent' ? null : React.createElement(_Overlay.default, {
          progress: progress,
          onPress: function onPress() {
            return _this2.toggleDrawer(false);
          },
          style: overlayStyle,
          accessibilityElementsHidden: !isOpen,
          importantForAccessibility: isOpen ? 'auto' : 'no-hide-descendants'
        })), React.createElement(_reactNativeReanimated.default.Code, {
          exec: this.containerWidth
        }), drawerType === 'permanent' ? null : React.createElement(_reactNativeReanimated.default.Code, {
          exec: block([onChange(this.manuallyTriggerSpring, [cond(eq(this.manuallyTriggerSpring, TRUE), [set(this.nextIsOpen, FALSE), call([], function () {
            return _this2.currentOpenValue = false;
          })])])])
        }), React.createElement(_reactNativeReanimated.default.View, {
          accessibilityViewIsModal: isOpen && drawerType !== 'permanent',
          removeClippedSubviews: _reactNative.Platform.OS !== 'ios',
          onLayout: this.handleDrawerLayout,
          style: [styles.container, {
            transform: drawerType === 'permanent' ? [] : [{
              translateX: drawerTranslateX
            }],
            opacity: this.drawerOpacity
          }, drawerType === 'permanent' ? isRight ? {
            right: 0
          } : {
            left: 0
          } : [styles.nonPermanent, isRight ? {
            right: offset
          } : {
            left: offset
          }, {
            zIndex: drawerType === 'back' ? -1 : 0
          }], drawerStyle]
        }, renderDrawerContent()))));
      }
    }]);
    return DrawerView;
  }(React.Component);

  exports.default = DrawerView;

  var styles = _reactNative.StyleSheet.create({
    container: {
      backgroundColor: 'white',
      maxWidth: '100%'
    },
    nonPermanent: {
      position: 'absolute',
      top: 0,
      bottom: 0,
      width: DEFAULT_DRAWER_WIDTH
    },
    content: {
      flex: 1
    },
    main: (0, _extends2.default)({
      flex: 1
    }, _reactNative.Platform.select({
      web: null,
      default: {
        overflow: 'hidden'
      }
    }))
  });
},1194,[5,41,6,7,8,12,14,16,17,28,646,1195,1196,1191]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = React.createContext(undefined);

  exports.default = _default;
},1195,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _reactNativeReanimated = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var interpolateDeprecated = _reactNativeReanimated.default.interpolate,
      interpolateNode = _reactNativeReanimated.default.interpolateNode,
      cond = _reactNativeReanimated.default.cond,
      greaterThan = _reactNativeReanimated.default.greaterThan;
  var interpolate = interpolateNode != null ? interpolateNode : interpolateDeprecated;
  var PROGRESS_EPSILON = 0.05;
  var Overlay = React.forwardRef(function Overlay(_ref, ref) {
    var progress = _ref.progress,
        onPress = _ref.onPress,
        style = _ref.style,
        props = (0, _objectWithoutProperties2.default)(_ref, ["progress", "onPress", "style"]);
    var animatedStyle = {
      opacity: interpolate(progress, {
        inputRange: _reactNative.Platform.OS === 'windows' || _reactNative.Platform.OS === 'macos' ? [0, 1] : [PROGRESS_EPSILON, 1],
        outputRange: [0, 1]
      }),
      zIndex: cond(greaterThan(progress, PROGRESS_EPSILON), 0, -1)
    };
    return React.createElement(_reactNativeReanimated.default.View, (0, _extends2.default)({}, props, {
      ref: ref,
      style: [styles.overlay, overlayStyle, animatedStyle, style]
    }), React.createElement(_reactNative.Pressable, {
      onPress: onPress,
      style: styles.pressable
    }));
  });

  var overlayStyle = _reactNative.Platform.select({
    web: {
      WebkitTapHighlightColor: 'transparent'
    },
    default: {}
  });

  var styles = _reactNative.StyleSheet.create({
    overlay: (0, _extends2.default)({}, _reactNative.StyleSheet.absoluteFillObject, {
      backgroundColor: 'rgba(0, 0, 0, 0.5)'
    }),
    pressable: {
      flex: 1
    }
  });

  var _default = Overlay;
  exports.default = _default;
},1196,[5,6,108,17,28,646]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = Drawer;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _reactNativeReanimated = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _DrawerProgressContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _Overlay = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var SWIPE_DISTANCE_MINIMUM = 5;
  var DEFAULT_DRAWER_WIDTH = '80%';

  var minmax = function minmax(value, start, end) {
    'worklet';

    return Math.min(Math.max(value, start), end);
  };

  function Drawer(_ref) {
    var dimensions = _ref.dimensions,
        drawerPosition = _ref.drawerPosition,
        drawerStyle = _ref.drawerStyle,
        drawerType = _ref.drawerType,
        gestureHandlerProps = _ref.gestureHandlerProps,
        hideStatusBarOnOpen = _ref.hideStatusBarOnOpen,
        keyboardDismissMode = _ref.keyboardDismissMode,
        onClose = _ref.onClose,
        onOpen = _ref.onOpen,
        open = _ref.open,
        overlayStyle = _ref.overlayStyle,
        renderDrawerContent = _ref.renderDrawerContent,
        renderSceneContent = _ref.renderSceneContent,
        statusBarAnimation = _ref.statusBarAnimation,
        swipeDistanceThreshold = _ref.swipeDistanceThreshold,
        swipeEdgeWidth = _ref.swipeEdgeWidth,
        swipeEnabled = _ref.swipeEnabled,
        swipeVelocityThreshold = _ref.swipeVelocityThreshold;

    var getDrawerWidth = function getDrawerWidth() {
      var _ref2 = _reactNative.StyleSheet.flatten(drawerStyle) || {},
          _ref2$width = _ref2.width,
          width = _ref2$width === undefined ? DEFAULT_DRAWER_WIDTH : _ref2$width;

      if (typeof width === 'string' && width.endsWith('%')) {
        var percentage = Number(width.replace(/%$/, ''));

        if (Number.isFinite(percentage)) {
          return dimensions.width * (percentage / 100);
        }
      }

      return typeof width === 'number' ? width : 0;
    };

    var drawerWidth = getDrawerWidth();
    var isOpen = drawerType === 'permanent' ? true : open;
    var isRight = drawerPosition === 'right';
    var getDrawerTranslationX = React.useCallback(function (open) {
      'worklet';

      if (drawerPosition === 'left') {
        return open ? 0 : -drawerWidth;
      }

      return open ? 0 : drawerWidth;
    }, [drawerPosition, drawerWidth]);
    var hideStatusBar = React.useCallback(function (hide) {
      if (hideStatusBarOnOpen) {
        _reactNative.StatusBar.setHidden(hide, statusBarAnimation);
      }
    }, [hideStatusBarOnOpen, statusBarAnimation]);
    React.useEffect(function () {
      hideStatusBar(isOpen);
      return function () {
        return hideStatusBar(false);
      };
    }, [isOpen, hideStatusBarOnOpen, statusBarAnimation, hideStatusBar]);
    var interactionHandleRef = React.useRef(null);

    var startInteraction = function startInteraction() {
      interactionHandleRef.current = _reactNative.InteractionManager.createInteractionHandle();
    };

    var endInteraction = function endInteraction() {
      if (interactionHandleRef.current != null) {
        _reactNative.InteractionManager.clearInteractionHandle(interactionHandleRef.current);

        interactionHandleRef.current = null;
      }
    };

    var hideKeyboard = function hideKeyboard() {
      if (keyboardDismissMode === 'on-drag') {
        _reactNative.Keyboard.dismiss();
      }
    };

    var onGestureStart = function onGestureStart() {
      startInteraction();
      hideKeyboard();
      hideStatusBar(true);
    };

    var onGestureFinish = function onGestureFinish() {
      endInteraction();
    };

    var hitSlop = isRight ? {
      right: 0,
      width: isOpen ? undefined : swipeEdgeWidth
    } : {
      left: 0,
      width: isOpen ? undefined : swipeEdgeWidth
    };
    var touchStartX = (0, _reactNativeReanimated.useSharedValue)(0);
    var touchX = (0, _reactNativeReanimated.useSharedValue)(0);
    var translationX = (0, _reactNativeReanimated.useSharedValue)(getDrawerTranslationX(open));
    var gestureState = (0, _reactNativeReanimated.useSharedValue)(_$$_REQUIRE(_dependencyMap[7]).State.UNDETERMINED);
    var toggleDrawer = React.useCallback(function (open, velocity) {
      'worklet';

      var translateX = getDrawerTranslationX(open);
      touchStartX.value = 0;
      touchX.value = 0;
      translationX.value = (0, _reactNativeReanimated.withSpring)(translateX, {
        velocity: velocity,
        stiffness: 1000,
        damping: 500,
        mass: 3,
        overshootClamping: true,
        restDisplacementThreshold: 0.01,
        restSpeedThreshold: 0.01
      }, function () {
        if (translationX.value === getDrawerTranslationX(true)) {
          (0, _reactNativeReanimated.runOnJS)(onOpen)();
        } else if (translationX.value === getDrawerTranslationX(false)) {
          (0, _reactNativeReanimated.runOnJS)(onClose)();
        }
      });
    }, [getDrawerTranslationX, onClose, onOpen, touchStartX, touchX, translationX]);
    React.useEffect(function () {
      return toggleDrawer(open);
    }, [open, toggleDrawer]);
    var onGestureEvent = (0, _reactNativeReanimated.useAnimatedGestureHandler)({
      onStart: function onStart(event, ctx) {
        ctx.startX = translationX.value;
        gestureState.value = event.state;
        touchStartX.value = event.x;
        (0, _reactNativeReanimated.runOnJS)(onGestureStart)();
      },
      onActive: function onActive(event, ctx) {
        touchX.value = event.x;
        translationX.value = ctx.startX + event.translationX;
        gestureState.value = event.state;
      },
      onEnd: function onEnd(event) {
        gestureState.value = event.state;
        var nextOpen = Math.abs(event.translationX) > SWIPE_DISTANCE_MINIMUM && Math.abs(event.translationX) > swipeVelocityThreshold || Math.abs(event.translationX) > swipeDistanceThreshold ? drawerPosition === 'left' ? (event.velocityX === 0 ? event.translationX : event.velocityX) > 0 : (event.velocityX === 0 ? event.translationX : event.velocityX) < 0 : open;
        toggleDrawer(nextOpen, event.velocityX);
      },
      onFinish: function onFinish() {
        (0, _reactNativeReanimated.runOnJS)(onGestureFinish)();
      }
    });
    var translateX = (0, _reactNativeReanimated.useDerivedValue)(function () {
      var touchDistance = drawerType === 'front' && gestureState.value === _$$_REQUIRE(_dependencyMap[7]).State.ACTIVE ? minmax(drawerPosition === 'left' ? touchStartX.value - drawerWidth : dimensions.width - drawerWidth - touchStartX.value, 0, dimensions.width) : 0;
      var translateX = drawerPosition === 'left' ? minmax(translationX.value + touchDistance, -drawerWidth, 0) : minmax(translationX.value - touchDistance, 0, drawerWidth);
      return translateX;
    });
    var drawerAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(function () {
      var distanceFromEdge = dimensions.width - drawerWidth;
      return {
        transform: drawerType === 'permanent' ? [] : [{
          translateX: (drawerType === 'back' ? 0 : translateX.value) + (drawerPosition === 'left' ? _reactNative.I18nManager.isRTL ? -distanceFromEdge : 0 : _reactNative.I18nManager.isRTL ? 0 : distanceFromEdge)
        }]
      };
    });
    var contentAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(function () {
      return {
        transform: drawerType === 'permanent' ? [] : [{
          translateX: drawerType === 'front' ? 0 : translateX.value + drawerWidth * (drawerPosition === 'left' ? 1 : -1)
        }]
      };
    });
    var progress = (0, _reactNativeReanimated.useDerivedValue)(function () {
      return drawerType === 'permanent' ? 1 : (0, _reactNativeReanimated.interpolate)(translateX.value, [getDrawerTranslationX(false), getDrawerTranslationX(true)], [0, 1]);
    });
    return React.createElement(_DrawerProgressContext.default.Provider, {
      value: progress
    }, React.createElement(_$$_REQUIRE(_dependencyMap[7]).PanGestureHandler, (0, _extends2.default)({
      activeOffsetX: [-5, SWIPE_DISTANCE_MINIMUM],
      failOffsetY: [-5, SWIPE_DISTANCE_MINIMUM],
      hitSlop: hitSlop,
      enabled: drawerType !== 'permanent' && swipeEnabled,
      onGestureEvent: onGestureEvent
    }, gestureHandlerProps), React.createElement(_reactNativeReanimated.default.View, {
      style: [styles.main, {
        flexDirection: drawerType === 'permanent' && !isRight ? 'row-reverse' : 'row'
      }]
    }, React.createElement(_reactNativeReanimated.default.View, {
      style: [styles.content, contentAnimatedStyle]
    }, React.createElement(_reactNative.View, {
      accessibilityElementsHidden: isOpen && drawerType !== 'permanent',
      importantForAccessibility: isOpen && drawerType !== 'permanent' ? 'no-hide-descendants' : 'auto',
      style: styles.content
    }, renderSceneContent()), drawerType !== 'permanent' ? React.createElement(_Overlay.default, {
      progress: progress,
      onPress: function onPress() {
        return toggleDrawer(false);
      },
      style: overlayStyle
    }) : null), React.createElement(_reactNativeReanimated.default.View, {
      accessibilityViewIsModal: isOpen && drawerType !== 'permanent',
      removeClippedSubviews: _reactNative.Platform.OS !== 'ios',
      style: [styles.container, {
        position: drawerType === 'permanent' ? 'relative' : 'absolute',
        zIndex: drawerType === 'back' ? -1 : 0
      }, drawerAnimatedStyle, drawerStyle]
    }, renderDrawerContent()))));
  }

  var styles = _reactNative.StyleSheet.create({
    container: {
      top: 0,
      bottom: 0,
      maxWidth: '100%',
      width: DEFAULT_DRAWER_WIDTH
    },
    content: {
      flex: 1
    },
    main: (0, _extends2.default)({
      flex: 1
    }, _reactNative.Platform.select({
      web: null,
      default: {
        overflow: 'hidden'
      }
    }))
  });
},1197,[5,6,17,28,646,1195,1198,1]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _reactNativeReanimated = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var PROGRESS_EPSILON = 0.05;
  var Overlay = React.forwardRef(function Overlay(_ref, ref) {
    var progress = _ref.progress,
        onPress = _ref.onPress,
        style = _ref.style,
        props = (0, _objectWithoutProperties2.default)(_ref, ["progress", "onPress", "style"]);
    var animatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(function () {
      return {
        opacity: progress.value,
        zIndex: progress.value > PROGRESS_EPSILON ? 0 : -1
      };
    });
    var animatedProps = (0, _reactNativeReanimated.useAnimatedProps)(function () {
      var active = progress.value > PROGRESS_EPSILON;
      return {
        pointerEvents: active ? 'auto' : 'none',
        accessibilityElementsHidden: !active,
        importantForAccessibility: active ? 'auto' : 'no-hide-descendants'
      };
    });
    return React.createElement(_reactNativeReanimated.default.View, (0, _extends2.default)({}, props, {
      ref: ref,
      style: [styles.overlay, overlayStyle, animatedStyle, style],
      animatedProps: animatedProps
    }), React.createElement(_reactNative.Pressable, {
      onPress: onPress,
      style: styles.pressable
    }));
  });

  var overlayStyle = _reactNative.Platform.select({
    web: {
      WebkitTapHighlightColor: 'transparent'
    },
    default: {}
  });

  var styles = _reactNative.StyleSheet.create({
    overlay: (0, _extends2.default)({}, _reactNative.StyleSheet.absoluteFillObject, {
      backgroundColor: 'rgba(0, 0, 0, 0.5)'
    }),
    pressable: {
      flex: 1
    }
  });

  var _default = Overlay;
  exports.default = _default;
},1198,[5,6,108,17,28,646]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.MaybeScreen = MaybeScreen;
  exports.MaybeScreenContainer = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Screens;

  try {
    Screens = _$$_REQUIRE(_dependencyMap[5]);
  } catch (e) {}

  var MaybeScreenContainer = function MaybeScreenContainer(_ref) {
    var _Screens;

    var enabled = _ref.enabled,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["enabled"]);

    if ((_Screens = Screens) != null && _Screens.screensEnabled != null && _Screens.screensEnabled()) {
      return React.createElement(Screens.ScreenContainer, (0, _extends2.default)({
        enabled: enabled
      }, rest));
    }

    return React.createElement(_reactNative.View, rest);
  };

  exports.MaybeScreenContainer = MaybeScreenContainer;

  function MaybeScreen(_ref2) {
    var _Screens2;

    var visible = _ref2.visible,
        children = _ref2.children,
        rest = (0, _objectWithoutProperties2.default)(_ref2, ["visible", "children"]);

    if ((_Screens2 = Screens) != null && _Screens2.screensEnabled != null && _Screens2.screensEnabled()) {
      return React.createElement(Screens.Screen, (0, _extends2.default)({
        activityState: visible ? 2 : 0
      }, rest), children);
    }

    return React.createElement(_$$_REQUIRE(_dependencyMap[6]).ResourceSavingView, (0, _extends2.default)({
      visible: visible
    }, rest), children);
  }
},1199,[5,6,108,17,28,1200,1165]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _processColor = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _TransitionProgressContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _useTransitionProgress = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _global;

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var isPlatformSupported = _reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'android' || _reactNative.Platform.OS === 'windows';
  var ENABLE_SCREENS = isPlatformSupported;
  var ENABLE_FABRIC = !!((_global = global) != null && _global.nativeFabricUIManager);
  var FabricComponents = ENABLE_FABRIC ? _$$_REQUIRE(_dependencyMap[14]) : {};

  function enableScreens() {
    var shouldEnableScreens = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
    ENABLE_SCREENS = isPlatformSupported && shouldEnableScreens;

    if (ENABLE_SCREENS && !_reactNative.UIManager.getViewManagerConfig('RNSScreen')) {
      console.error("Screen native module hasn't been linked. Please check the react-native-screens README for more details");
    }
  }

  var ENABLE_FREEZE = false;

  function enableFreeze() {
    var shouldEnableReactFreeze = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
    var minor = parseInt(_$$_REQUIRE(_dependencyMap[15]).version.split('.')[1]);

    if (!(minor === 0 || minor >= 64) && shouldEnableReactFreeze) {
      console.warn('react-freeze library requires at least react-native 0.64. Please upgrade your react-native version in order to use this feature.');
    }

    ENABLE_FREEZE = shouldEnableReactFreeze;
  }

  var shouldUseActivityState = true;

  function screensEnabled() {
    return ENABLE_SCREENS;
  }

  var NativeScreenValue;
  var NativeScreenContainerValue;
  var NativeScreenNavigationContainerValue;
  var NativeScreenStack;
  var NativeScreenStackHeaderConfig;
  var NativeScreenStackHeaderSubview;
  var AnimatedNativeScreen;
  var NativeSearchBar;
  var NativeFullWindowOverlay;
  var ScreensNativeModules = {
    get NativeScreen() {
      NativeScreenValue = NativeScreenValue || FabricComponents.Screen || (0, _reactNative.requireNativeComponent)('RNSScreen');
      return NativeScreenValue;
    },

    get NativeScreenContainer() {
      NativeScreenContainerValue = NativeScreenContainerValue || (0, _reactNative.requireNativeComponent)('RNSScreenContainer');
      return NativeScreenContainerValue;
    },

    get NativeScreenNavigationContainer() {
      NativeScreenNavigationContainerValue = NativeScreenNavigationContainerValue || (_reactNative.Platform.OS === 'ios' ? (0, _reactNative.requireNativeComponent)('RNSScreenNavigationContainer') : this.NativeScreenContainer);
      return NativeScreenNavigationContainerValue;
    },

    get NativeScreenStack() {
      NativeScreenStack = NativeScreenStack || FabricComponents.ScreenStack || (0, _reactNative.requireNativeComponent)('RNSScreenStack');
      return NativeScreenStack;
    },

    get NativeScreenStackHeaderConfig() {
      NativeScreenStackHeaderConfig = NativeScreenStackHeaderConfig || FabricComponents.ScreenStackHeaderConfig || (0, _reactNative.requireNativeComponent)('RNSScreenStackHeaderConfig');
      return NativeScreenStackHeaderConfig;
    },

    get NativeScreenStackHeaderSubview() {
      NativeScreenStackHeaderSubview = NativeScreenStackHeaderSubview || FabricComponents.ScreenStackHeaderSubview || (0, _reactNative.requireNativeComponent)('RNSScreenStackHeaderSubview');
      return NativeScreenStackHeaderSubview;
    },

    get NativeSearchBar() {
      NativeSearchBar = NativeSearchBar || (0, _reactNative.requireNativeComponent)('RNSSearchBar');
      return NativeSearchBar;
    },

    get NativeFullWindowOverlay() {
      NativeFullWindowOverlay = NativeFullWindowOverlay || (0, _reactNative.requireNativeComponent)('RNSFullWindowOverlay');
      return NativeFullWindowOverlay;
    }

  };

  function DelayedFreeze(_ref) {
    var freeze = _ref.freeze,
        children = _ref.children;

    var _React$useState = _react.default.useState(false),
        _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
        freezeState = _React$useState2[0],
        setFreezeState = _React$useState2[1];

    if (freeze !== freezeState) {
      setImmediate(function () {
        setFreezeState(freeze);
      });
    }

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).Freeze, {
      freeze: freeze ? freezeState : false
    }, children);
  }

  function MaybeFreeze(_ref2) {
    var freeze = _ref2.freeze,
        children = _ref2.children;

    if (ENABLE_FREEZE) {
      return _react.default.createElement(DelayedFreeze, {
        freeze: freeze
      }, children);
    } else {
      return _react.default.createElement(_react.default.Fragment, null, children);
    }
  }

  function ScreenStack(props) {
    if (ENABLE_FREEZE) {
      var children = props.children,
          rest = (0, _objectWithoutProperties2.default)(props, ["children"]);

      var size = _react.default.Children.count(children);

      var childrenWithFreeze = _react.default.Children.map(children, function (child, index) {
        return _react.default.createElement(DelayedFreeze, {
          freeze: size - index > 1
        }, child);
      });

      return _react.default.createElement(ScreensNativeModules.NativeScreenStack, rest, childrenWithFreeze);
    }

    return _react.default.createElement(ScreensNativeModules.NativeScreenStack, props);
  }

  var Screen = function (_React$Component) {
    (0, _inherits2.default)(Screen, _React$Component);

    var _super = _createSuper(Screen);

    function Screen() {
      var _this;

      (0, _classCallCheck2.default)(this, Screen);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.ref = null;
      _this.closing = new _reactNative.Animated.Value(0);
      _this.progress = new _reactNative.Animated.Value(0);
      _this.goingForward = new _reactNative.Animated.Value(0);

      _this.setRef = function (ref) {
        _this.ref = ref;
        _this.props.onComponentRef == null ? undefined : _this.props.onComponentRef(ref);
      };

      return _this;
    }

    (0, _createClass2.default)(Screen, [{
      key: "setNativeProps",
      value: function setNativeProps(props) {
        var _this$ref;

        (_this$ref = this.ref) == null ? undefined : _this$ref.setNativeProps(props);
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props = this.props,
            _this$props$enabled = _this$props.enabled,
            enabled = _this$props$enabled === undefined ? ENABLE_SCREENS : _this$props$enabled,
            rest = (0, _objectWithoutProperties2.default)(_this$props, ["enabled"]);

        if (enabled && isPlatformSupported) {
          if (!AnimatedNativeScreen) {
            if (ENABLE_FABRIC) {
              AnimatedNativeScreen = ScreensNativeModules.NativeScreen;
            } else {
              AnimatedNativeScreen = _reactNative.Animated.createAnimatedComponent(ScreensNativeModules.NativeScreen);
            }
          }

          var active = rest.active,
              activityState = rest.activityState,
              children = rest.children,
              isNativeStack = rest.isNativeStack,
              statusBarColor = rest.statusBarColor,
              props = (0, _objectWithoutProperties2.default)(rest, ["active", "activityState", "children", "isNativeStack", "statusBarColor"]);

          if (active !== undefined && activityState === undefined) {
            console.warn('It appears that you are using old version of react-navigation library. Please update @react-navigation/bottom-tabs, @react-navigation/stack and @react-navigation/drawer to version 5.10.0 or above to take full advantage of new functionality added to react-native-screens');
            activityState = active !== 0 ? 2 : 0;
          }

          var processedColor = (0, _processColor.default)(statusBarColor);

          var handleRef = function handleRef(ref) {
            if (!ENABLE_FABRIC) {
              var _ref$viewConfig, _ref$viewConfig$valid;

              if (ref != null && (_ref$viewConfig = ref.viewConfig) != null && (_ref$viewConfig$valid = _ref$viewConfig.validAttributes) != null && _ref$viewConfig$valid.style) {
                ref.viewConfig.validAttributes.style = (0, _extends2.default)({}, ref.viewConfig.validAttributes.style, {
                  display: false
                });
              }

              _this2.setRef(ref);
            }
          };

          return _react.default.createElement(MaybeFreeze, {
            freeze: activityState === 0
          }, _react.default.createElement(AnimatedNativeScreen, (0, _extends2.default)({}, props, {
            statusBarColor: processedColor,
            activityState: activityState,
            ref: handleRef,
            onTransitionProgress: !isNativeStack ? undefined : _reactNative.Animated.event([{
              nativeEvent: {
                progress: this.progress,
                closing: this.closing,
                goingForward: this.goingForward
              }
            }], {
              useNativeDriver: true
            })
          }), !isNativeStack ? children : _react.default.createElement(_TransitionProgressContext.default.Provider, {
            value: {
              progress: this.progress,
              closing: this.closing,
              goingForward: this.goingForward
            }
          }, children)));
        } else {
          var _active = rest.active,
              _activityState = rest.activityState,
              style = rest.style,
              onComponentRef = rest.onComponentRef,
              _props = (0, _objectWithoutProperties2.default)(rest, ["active", "activityState", "style", "onComponentRef"]);

          if (_active !== undefined && _activityState === undefined) {
            _activityState = _active !== 0 ? 2 : 0;
          }

          return _react.default.createElement(_reactNative.Animated.View, (0, _extends2.default)({
            style: [style, {
              display: _activityState !== 0 ? 'flex' : 'none'
            }],
            ref: this.setRef
          }, _props));
        }
      }
    }]);
    return Screen;
  }(_react.default.Component);

  function ScreenContainer(props) {
    var _props$enabled = props.enabled,
        enabled = _props$enabled === undefined ? ENABLE_SCREENS : _props$enabled,
        hasTwoStates = props.hasTwoStates,
        rest = (0, _objectWithoutProperties2.default)(props, ["enabled", "hasTwoStates"]);

    if (enabled && isPlatformSupported) {
      if (hasTwoStates) {
        return _react.default.createElement(ScreensNativeModules.NativeScreenNavigationContainer, rest);
      }

      return _react.default.createElement(ScreensNativeModules.NativeScreenContainer, rest);
    }

    return _react.default.createElement(_reactNative.View, rest);
  }

  var styles = _reactNative.StyleSheet.create({
    headerSubview: {
      position: 'absolute',
      top: 0,
      right: 0,
      flexDirection: 'row',
      alignItems: 'center',
      justifyContent: 'center'
    }
  });

  var ScreenStackHeaderBackButtonImage = function ScreenStackHeaderBackButtonImage(props) {
    return _react.default.createElement(ScreensNativeModules.NativeScreenStackHeaderSubview, {
      type: "back",
      style: styles.headerSubview
    }, _react.default.createElement(_reactNative.Image, (0, _extends2.default)({
      resizeMode: "center",
      fadeDuration: 0
    }, props)));
  };

  var ScreenStackHeaderRightView = function ScreenStackHeaderRightView(props) {
    return _react.default.createElement(ScreensNativeModules.NativeScreenStackHeaderSubview, (0, _extends2.default)({}, props, {
      type: "right",
      style: styles.headerSubview
    }));
  };

  var ScreenStackHeaderLeftView = function ScreenStackHeaderLeftView(props) {
    return _react.default.createElement(ScreensNativeModules.NativeScreenStackHeaderSubview, (0, _extends2.default)({}, props, {
      type: "left",
      style: styles.headerSubview
    }));
  };

  var ScreenStackHeaderCenterView = function ScreenStackHeaderCenterView(props) {
    return _react.default.createElement(ScreensNativeModules.NativeScreenStackHeaderSubview, (0, _extends2.default)({}, props, {
      type: "center",
      style: styles.headerSubview
    }));
  };

  var ScreenStackHeaderSearchBarView = function ScreenStackHeaderSearchBarView(props) {
    return _react.default.createElement(ScreensNativeModules.NativeScreenStackHeaderSubview, (0, _extends2.default)({}, props, {
      type: "searchBar",
      style: styles.headerSubview
    }));
  };

  var ScreenContext = _react.default.createContext(Screen);

  module.exports = {
    Screen: Screen,
    ScreenContainer: ScreenContainer,
    ScreenContext: ScreenContext,
    ScreenStack: ScreenStack,

    get NativeScreen() {
      return ScreensNativeModules.NativeScreen;
    },

    get NativeScreenContainer() {
      return ScreensNativeModules.NativeScreenContainer;
    },

    get NativeScreenNavigationContainer() {
      return ScreensNativeModules.NativeScreenNavigationContainer;
    },

    get ScreenStackHeaderConfig() {
      return ScreensNativeModules.NativeScreenStackHeaderConfig;
    },

    get ScreenStackHeaderSubview() {
      return ScreensNativeModules.NativeScreenStackHeaderSubview;
    },

    get SearchBar() {
      if (!_$$_REQUIRE(_dependencyMap[17]).isSearchBarAvailableForCurrentPlatform) {
        console.warn('Importing SearchBar is only valid on iOS and Android devices.');
        return _reactNative.View;
      }

      return ScreensNativeModules.NativeSearchBar;
    },

    get FullWindowOverlay() {
      if (_reactNative.Platform.OS !== 'ios') {
        console.warn('Importing FullWindowOverlay is only valid on iOS devices.');
        return _reactNative.View;
      }

      return ScreensNativeModules.NativeFullWindowOverlay;
    },

    ScreenStackHeaderBackButtonImage: ScreenStackHeaderBackButtonImage,
    ScreenStackHeaderRightView: ScreenStackHeaderRightView,
    ScreenStackHeaderLeftView: ScreenStackHeaderLeftView,
    ScreenStackHeaderCenterView: ScreenStackHeaderCenterView,
    ScreenStackHeaderSearchBarView: ScreenStackHeaderSearchBarView,
    enableScreens: enableScreens,
    enableFreeze: enableFreeze,
    screensEnabled: screensEnabled,
    shouldUseActivityState: shouldUseActivityState,
    useTransitionProgress: _useTransitionProgress.default,
    isSearchBarAvailableForCurrentPlatform: _$$_REQUIRE(_dependencyMap[17]).isSearchBarAvailableForCurrentPlatform,
    executeNativeBackPress: _$$_REQUIRE(_dependencyMap[17]).executeNativeBackPress
  };
},1200,[5,6,7,8,12,14,16,108,41,17,28,145,1201,1202,1203,1211,1212,1213]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = React.createContext(undefined);

  exports.default = _default;
},1201,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useTransitionProgress;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _TransitionProgressContext = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useTransitionProgress() {
    var progress = React.useContext(_TransitionProgressContext.default);

    if (progress === undefined) {
      throw new Error("Couldn't find values for transition progress. Are you inside a screen in Native Stack?");
    }

    return progress;
  }
},1202,[17,5,1201]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "Screen", {
    enumerable: true,
    get: function get() {
      return _Screen.default;
    }
  });
  Object.defineProperty(exports, "ScreenStackHeaderSubview", {
    enumerable: true,
    get: function get() {
      return _ScreenStackHeaderSubview.default;
    }
  });
  Object.defineProperty(exports, "ScreenStackHeaderConfig", {
    enumerable: true,
    get: function get() {
      return _ScreenStackHeaderConfigNativeComponent.default;
    }
  });
  Object.defineProperty(exports, "ScreenStack", {
    enumerable: true,
    get: function get() {
      return _ScreenStack.default;
    }
  });

  var _Screen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _ScreenStackHeaderSubview = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _ScreenStackHeaderConfigNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _ScreenStack = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));
},1203,[5,1204,1206,1208,1209]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _ScreenNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  function Screen(props, ref) {
    return _react.default.createElement(_ScreenNativeComponent.default, (0, _extends2.default)({
      ref: ref
    }, props, {
      style: [props.style, _reactNative.StyleSheet.absoluteFill]
    }));
  }

  var _default = _react.default.forwardRef(Screen);

  exports.default = _default;
},1204,[5,6,17,1205,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _codegenNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _default = (0, _codegenNativeComponent.default)('RNSScreen', {
    interfaceOnly: true
  });

  exports.default = _default;
},1205,[5,190]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _ScreenStackHeaderSubviewNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var styles = _reactNative.StyleSheet.create({
    headerSubview: {
      position: 'absolute',
      top: 0,
      right: 0,
      flexDirection: 'row',
      alignItems: 'center',
      justifyContent: 'center'
    }
  });

  function ScreenStackHeaderSubview(props) {
    return _react.default.createElement(_ScreenStackHeaderSubviewNativeComponent.default, (0, _extends2.default)({}, props, {
      style: styles.headerSubview
    }));
  }

  var _default = ScreenStackHeaderSubview;
  exports.default = _default;
},1206,[5,6,17,1207,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _codegenNativeComponent = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = (0, _codegenNativeComponent.default)('RNSScreenStackHeaderSubview', {});

  exports.default = _default;
},1207,[17,5,190]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _codegenNativeComponent = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = (0, _codegenNativeComponent.default)('RNSScreenStackHeaderConfig', {});

  exports.default = _default;
},1208,[17,5,190]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _ScreenStackNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  function ScreenStack(props) {
    return _react.default.createElement(_ScreenStackNativeComponent.default, (0, _extends2.default)({}, props, {
      style: [{
        flex: 1
      }, props.style]
    }));
  }

  var _default = ScreenStack;
  exports.default = _default;
},1209,[5,6,17,1210]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _codegenNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _default = (0, _codegenNativeComponent.default)('RNSScreenStack', {});

  exports.default = _default;
},1210,[5,190]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "_args": [
    [
      "react-native@0.67.5",
      "/Users/ipaddev/sdk/firebase-ios-upgrade"
    ]
  ],
  "_from": "react-native@0.67.5",
  "_id": "react-native@0.67.5",
  "_inBundle": false,
  "_integrity": "sha512-/xEksthqImZGDfcqzEmbOw0KRkp9/x+cC8T8uTHhSKLLa8pOFLGdF190UOjnLammGmAmFy0+ZcJf0Ujm53IGeA==",
  "_location": "/react-native",
  "_phantomChildren": {
    "@react-native-community/cli-debugger-ui": "6.0.0",
    "@react-native-community/cli-hermes": "6.3.1",
    "@react-native-community/cli-plugin-metro": "6.4.0",
    "@react-native-community/cli-server-api": "6.4.3",
    "@react-native-community/cli-tools": "6.2.1",
    "@react-native-community/cli-types": "6.0.0",
    "ansi-styles": "4.3.0",
    "appdirsjs": "1.2.7",
    "command-exists": "1.2.9",
    "commander": "2.20.3",
    "cosmiconfig": "5.2.1",
    "deepmerge": "3.3.0",
    "envinfo": "7.8.1",
    "execa": "1.0.0",
    "find-up": "4.1.0",
    "glob": "7.1.6",
    "graceful-fs": "4.2.6",
    "joi": "17.7.0",
    "jsonfile": "4.0.0",
    "leven": "3.1.0",
    "lodash": "4.17.21",
    "minimist": "1.2.5",
    "node-stream-zip": "1.15.0",
    "ora": "3.4.0",
    "pretty-format": "26.6.2",
    "prompts": "2.4.2",
    "semver": "6.3.0",
    "serve-static": "1.15.0",
    "strip-ansi": "5.2.0",
    "sudo-prompt": "9.2.1",
    "supports-color": "7.2.0",
    "universalify": "0.1.2",
    "wcwidth": "1.0.1"
  },
  "_requested": {
    "type": "version",
    "registry": true,
    "raw": "react-native@0.67.5",
    "name": "react-native",
    "escapedName": "react-native",
    "rawSpec": "0.67.5",
    "saveSpec": null,
    "fetchSpec": "0.67.5"
  },
  "_requiredBy": [
    "/"
  ],
  "_resolved": "https://registry.npmjs.org/react-native/-/react-native-0.67.5.tgz",
  "_spec": "0.67.5",
  "_where": "/Users/ipaddev/sdk/firebase-ios-upgrade",
  "bin": {
    "react-native": "cli.js"
  },
  "bugs": {
    "url": "https://github.com/facebook/react-native/issues"
  },
  "dependencies": {
    "@jest/create-cache-key-function": "^27.0.1",
    "@react-native-community/cli": "^6.0.0",
    "@react-native-community/cli-platform-android": "^6.0.0",
    "@react-native-community/cli-platform-ios": "^6.0.0",
    "@react-native/assets": "1.0.0",
    "@react-native/normalize-color": "2.0.0",
    "@react-native/polyfills": "2.0.0",
    "abort-controller": "^3.0.0",
    "anser": "^1.4.9",
    "base64-js": "^1.1.2",
    "event-target-shim": "^5.0.1",
    "hermes-engine": "~0.9.0",
    "invariant": "^2.2.4",
    "jsc-android": "^250230.2.1",
    "metro-react-native-babel-transformer": "0.66.2",
    "metro-runtime": "0.66.2",
    "metro-source-map": "0.66.2",
    "nullthrows": "^1.1.1",
    "pretty-format": "^26.5.2",
    "promise": "^8.0.3",
    "prop-types": "^15.7.2",
    "react-devtools-core": "4.19.1",
    "react-native-codegen": "^0.0.8",
    "react-refresh": "^0.4.0",
    "regenerator-runtime": "^0.13.2",
    "scheduler": "^0.20.2",
    "stacktrace-parser": "^0.1.3",
    "use-subscription": "^1.0.0",
    "whatwg-fetch": "^3.0.0",
    "ws": "^6.1.4"
  },
  "description": "A framework for building native apps using React",
  "detox": {
    "test-runner": "jest",
    "runner-config": "packages/rn-tester/e2e/config.json",
    "specs": "",
    "configurations": {
      "android.emu.release": {
        "binaryPath": "packages/rn-tester/android/app/build/outputs/apk/hermes/release/app-hermes-x86-release.apk",
        "testBinaryPath": "packages/rn-tester/android/app/build/outputs/apk/androidTest/hermes/release/app-hermes-release-androidTest.apk",
        "build": "./gradlew :packages:rn-tester:android:app:assembleRelease :packages:rn-tester:android:app:assembleAndroidTest -DtestBuildType=release",
        "type": "android.emulator",
        "device": {
          "avdName": "Nexus_6_API_29"
        }
      },
      "android.emu.debug": {
        "binaryPath": "packages/rn-tester/android/app/build/outputs/apk/hermes/debug/app-hermes-x86-debug.apk",
        "testBinaryPath": "packages/rn-tester/android/app/build/outputs/apk/androidTest/hermes/debug/app-hermes-debug-androidTest.apk",
        "build": "./gradlew :packages:rn-tester:android:app:assembleDebug :packages:rn-tester:android:app:assembleAndroidTest -DtestBuildType=debug",
        "type": "android.emulator",
        "device": {
          "avdName": "Nexus_6_API_29"
        }
      },
      "ios.sim.release": {
        "binaryPath": "packages/rn-tester/build/Build/Products/Release-iphonesimulator/RNTester.app/",
        "build": "xcodebuild -workspace packages/rn-tester/RNTesterPods.xcworkspace -scheme RNTester -configuration Release -sdk iphonesimulator -derivedDataPath packages/rn-tester/build -UseModernBuildSystem=NO -quiet",
        "type": "ios.simulator",
        "name": "iPhone 8"
      },
      "ios.sim.debug": {
        "binaryPath": "packages/rn-tester/build/Build/Products/Debug-iphonesimulator/RNTester.app/",
        "build": "xcodebuild -workspace packages/rn-tester/RNTesterPods.xcworkspace -scheme RNTester -configuration Debug -sdk iphonesimulator -derivedDataPath packages/rn-tester/build -UseModernBuildSystem=NO -quiet",
        "type": "ios.simulator",
        "name": "iPhone 8"
      }
    }
  },
  "devDependencies": {
    "@babel/core": "^7.14.0",
    "@babel/generator": "^7.14.0",
    "@babel/template": "^7.0.0",
    "@babel/types": "^7.0.0",
    "@react-native-community/eslint-plugin": "*",
    "@reactions/component": "^2.0.2",
    "async": "^2.4.0",
    "babel-eslint": "^10.1.0",
    "babel-preset-fbjs": "^3.4.0",
    "clang-format": "^1.2.4",
    "connect": "^3.6.5",
    "coveralls": "^3.0.2",
    "detox": "16.7.2",
    "eslint": "7.12.0",
    "eslint-config-fb-strict": "^24.9.0",
    "eslint-config-fbjs": "2.1.0",
    "eslint-config-prettier": "^6.0.0",
    "eslint-plugin-babel": "^5.3.0",
    "eslint-plugin-eslint-comments": "^3.1.1",
    "eslint-plugin-flowtype": "2.50.3",
    "eslint-plugin-jest": "22.4.1",
    "eslint-plugin-jsx-a11y": "6.2.1",
    "eslint-plugin-prettier": "2.6.2",
    "eslint-plugin-react": "7.21.5",
    "eslint-plugin-react-hooks": "^4.2.0",
    "eslint-plugin-react-native": "3.10.0",
    "eslint-plugin-relay": "1.8.1",
    "flow-bin": "^0.162.0",
    "inquirer": "^7.1.0",
    "jest": "^26.6.3",
    "jest-junit": "^10.0.0",
    "jscodeshift": "^0.11.0",
    "metro-babel-register": "0.66.2",
    "metro-transform-plugins": "^0.66.2",
    "mkdirp": "^0.5.1",
    "prettier": "1.19.1",
    "react": "17.0.2",
    "react-shallow-renderer": "16.14.1",
    "react-test-renderer": "17.0.2",
    "shelljs": "^0.7.8",
    "signedsource": "^1.0.0",
    "ws": "^6.1.4",
    "yargs": "^15.3.1"
  },
  "engines": {
    "node": ">=12"
  },
  "files": [
    "!template/node_modules",
    "!template/package-lock.json",
    "!template/yarn.lock",
    "android",
    "cli.js",
    "flow",
    "flow-typed",
    "index.js",
    "interface.js",
    "jest-preset.js",
    "jest",
    "Libraries",
    "LICENSE",
    "local-cli",
    "React-Core.podspec",
    "react-native.config.js",
    "react.gradle",
    "React.podspec",
    "React",
    "ReactAndroid",
    "ReactCommon",
    "README.md",
    "rn-get-polyfills.js",
    "scripts/compose-source-maps.js",
    "scripts/find-node.sh",
    "scripts/generate-specs-cli.js",
    "scripts/ios-configure-glog.sh",
    "scripts/launchPackager.bat",
    "scripts/launchPackager.command",
    "scripts/node-binary.sh",
    "scripts/packager.sh",
    "scripts/react_native_pods.rb",
    "scripts/react-native-xcode.sh",
    "template.config.js",
    "template",
    "third-party-podspecs"
  ],
  "homepage": "https://github.com/facebook/react-native#readme",
  "jest-junit": {
    "outputDirectory": "reports/junit",
    "outputName": "js-test-results.xml"
  },
  "license": "MIT",
  "name": "react-native",
  "peerDependencies": {
    "react": "17.0.2"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/facebook/react-native.git"
  },
  "scripts": {
    "build-ios-e2e": "detox build -c ios.sim.release",
    "clang-format": "clang-format -i --glob=*/**/*.{h,cpp,m,mm}",
    "docker-build-android": "docker build -t reactnativeci/android -f .circleci/Dockerfiles/Dockerfile.android .",
    "docker-setup-android": "docker pull reactnativecommunity/react-native-android:4.0",
    "flow": "flow",
    "flow-check-android": "flow check --flowconfig-name .flowconfig.android",
    "flow-check-ios": "flow check",
    "format": "npm run prettier && npm run clang-format",
    "format-check": "prettier --list-different \"./**/*.{js,md,yml}\"",
    "lint": "eslint .",
    "lint-ci": "./scripts/circleci/analyze_code.sh && yarn shellcheck",
    "lint-java": "node ./scripts/lint-java.js",
    "prettier": "prettier --write \"./**/*.{js,md,yml}\"",
    "shellcheck": "./scripts/circleci/analyze_scripts.sh",
    "start": "react-native start",
    "test": "jest",
    "test-android-all": "yarn run docker-build-android && yarn run test-android-run-unit && yarn run test-android-run-instrumentation && yarn run test-android-run-e2e",
    "test-android-e2e": "yarn run docker-build-android && yarn run test-android-run-e2e",
    "test-android-instrumentation": "yarn run docker-build-android && yarn run test-android-run-instrumentation",
    "test-android-run-e2e": "docker run --privileged -it reactnativeci/android bash .circleci/Dockerfiles/scripts/run-ci-e2e-tests.sh --android --js",
    "test-android-run-instrumentation": "docker run --cap-add=SYS_ADMIN -it reactnativeci/android bash .circleci/Dockerfiles/scripts/run-android-docker-instrumentation-tests.sh",
    "test-android-run-unit": "docker run --cap-add=SYS_ADMIN -it reactnativeci/android bash .circleci/Dockerfiles/scripts/run-android-docker-unit-tests.sh",
    "test-android-unit": "yarn run docker-build-android && yarn run test-android-run-unit",
    "test-ci": "jest --maxWorkers=2 --ci --reporters=\"default\" --reporters=\"jest-junit\"",
    "test-ios": "./scripts/objc-test.sh test",
    "test-ios-e2e": "detox test -c ios.sim.release packages/rn-tester/e2e",
    "update-lock": "npx yarn-deduplicate"
  },
  "version": "0.67.5"
}
;
},1211,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Freeze = Freeze;

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function Suspender(_ref) {
    var freeze = _ref.freeze,
        children = _ref.children;
    var promiseCache = (0, _react.useRef)({}).current;

    if (freeze && !promiseCache.promise) {
      promiseCache.promise = new Promise(function (res) {
        promiseCache.resolve = res;
      });
      throw promiseCache.promise;
    } else if (freeze) {
      throw promiseCache.promise;
    } else if (promiseCache.promise) {
      promiseCache.resolve();
      promiseCache.promise = undefined;
    }

    return _react.default.createElement(_react.Fragment, null, children);
  }

  function Freeze(_ref2) {
    var freeze = _ref2.freeze,
        children = _ref2.children,
        _ref2$placeholder = _ref2.placeholder,
        placeholder = _ref2$placeholder === undefined ? null : _ref2$placeholder;
    return _react.default.createElement(_react.Suspense, {
      fallback: placeholder
    }, _react.default.createElement(Suspender, {
      freeze: freeze
    }, children));
  }
},1212,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.executeNativeBackPress = executeNativeBackPress;
  exports.isSearchBarAvailableForCurrentPlatform = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var isSearchBarAvailableForCurrentPlatform = ['ios', 'android'].includes(_reactNative.Platform.OS);
  exports.isSearchBarAvailableForCurrentPlatform = isSearchBarAvailableForCurrentPlatform;

  function executeNativeBackPress() {
    _reactNative.BackHandler.exitApp();

    return true;
  }
},1213,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useDrawerProgress;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _DrawerProgressContext = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useDrawerProgress() {
    var progress = React.useContext(_DrawerProgressContext.default);

    if (progress === undefined) {
      throw new Error("Couldn't find a drawer. Is your component inside a drawer navigator?");
    }

    return progress;
  }
},1214,[17,5,1195]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useDrawerStatus;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _DrawerStatusContext = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useDrawerStatus() {
    var drawerStatus = React.useContext(_DrawerStatusContext.default);

    if (drawerStatus === undefined) {
      throw new Error("Couldn't find a drawer. Is your component inside a drawer navigator?");
    }

    return drawerStatus;
  }
},1215,[17,5,1144]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _hamburgerButton = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _logo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _closeButton = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _placeholderButton = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var styles = _reactNative.StyleSheet.create({
    header: {
      width: "100%",
      flexDirection: "row",
      alignItems: "center",
      justifyContent: "space-between",
      paddingVertical: 10,
      height: _$$_REQUIRE(_dependencyMap[8]).HEADER_HEIGHT,
      backgroundColor: _$$_REQUIRE(_dependencyMap[9]).colors.white
    }
  });

  function MainHeader(props) {
    var backgroundColor = props.backgroundColor,
        foregroundColor = props.foregroundColor,
        style = props.style,
        hideHamburger = props.hideHamburger,
        onClose = props.onClose,
        LogoComponent = props.LogoComponent,
        onLogoPress = props.onLogoPress,
        hideCloseButton = props.hideCloseButton;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Css, {
      classes: ["opt-header"]
    }, _react.default.createElement(_reactNative.View, {
      style: [styles.header, _$$_REQUIRE(_dependencyMap[8]).commonStyles.shadow, {
        backgroundColor: backgroundColor
      }, style]
    }, hideHamburger ? _react.default.createElement(_placeholderButton.default, {
      backgroundColor: backgroundColor
    }) : _react.default.createElement(_hamburgerButton.default, {
      backgroundColor: backgroundColor,
      iconColor: foregroundColor
    }), _react.default.createElement(_logo.default, {
      Component: LogoComponent,
      onLogoPress: onLogoPress,
      backgroundColor: backgroundColor
    }), hideCloseButton ? _react.default.createElement(_placeholderButton.default, {
      backgroundColor: backgroundColor
    }) : _react.default.createElement(_closeButton.default, {
      onClose: onClose,
      backgroundColor: backgroundColor,
      iconColor: foregroundColor
    })));
  }

  MainHeader.propTypes = {
    backgroundColor: _propTypes.default.string,
    foregroundColor: _propTypes.default.string,
    onClose: _propTypes.default.func,
    hideHamburger: _propTypes.default.bool,
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    LogoComponent: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.node, _propTypes.default.string]),
    onLogoPress: _propTypes.default.func,
    hideCloseButton: _propTypes.default.bool
  };
  MainHeader.defaultProps = {
    backgroundColor: _$$_REQUIRE(_dependencyMap[9]).colors.white,
    foregroundColor: _$$_REQUIRE(_dependencyMap[9]).colors.black,
    hideHamburger: false,
    hideCloseButton: false
  };
  var _default = MainHeader;
  exports.default = _default;
},1216,[5,17,201,28,1217,1220,1221,1223,990,982,987]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _navigationConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _buttons = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _taImageIcon = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _icMenu = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function HamburgerButton(props) {
    var backgroundColor = props.backgroundColor,
        iconColor = props.iconColor;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["opt-hamburger-parent"]
    }, _react.default.createElement(_reactNative.TouchableOpacity, {
      style: [_buttons.default.button, {
        backgroundColor: backgroundColor
      }],
      onPress: function onPress() {
        if (_navigationConfig.default.isDrawerOpened()) {
          _navigationConfig.default.closeDrawer();
        } else {
          _navigationConfig.default.openDrawer();
        }
      }
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["opt-hamburger"]
    }, _react.default.createElement(_taImageIcon.default, {
      style: _buttons.default.icon,
      DefaultComponent: _react.default.createElement(_icMenu.default, {
        width: 30,
        height: 30,
        fill: iconColor
      })
    }))));
  }

  HamburgerButton.propTypes = {
    backgroundColor: _propTypes.default.string,
    iconColor: _propTypes.default.string
  };
  HamburgerButton.defaultProps = {
    backgroundColor: _$$_REQUIRE(_dependencyMap[9]).colors.white,
    iconColor: _$$_REQUIRE(_dependencyMap[9]).colors.black
  };
  var _default = HamburgerButton;
  exports.default = _default;
},1217,[5,17,201,28,1001,1218,773,1219,987,982]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var BUTTON_MARGIN = 5;

  var _default = _reactNative.StyleSheet.create({
    button: {
      alignItems: "center",
      justifyContent: "center",
      width: 50,
      height: 50,
      borderRadius: 100
    },
    icon: {
      margin: BUTTON_MARGIN
    }
  });

  exports.default = _default;
},1218,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var IcMenu = function IcMenu(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Svg, props, _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"
    }));
  };

  var _default = IcMenu;
  exports.default = _default;
},1219,[5,17,776]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _taImageIcon = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var styles = _reactNative.StyleSheet.create({
    parent: {
      flex: 1,
      height: _$$_REQUIRE(_dependencyMap[6]).HEADER_HEIGHT,
      justifyContent: "center",
      alignItems: "flex-start",
      padding: 10
    },
    logo: {
      width: "100%",
      height: "100%",
      resizeMode: "contain"
    }
  });

  function Logo(props) {
    var backgroundColor = props.backgroundColor,
        Component = props.Component,
        onLogoPress = props.onLogoPress;
    var ToRender = null;

    if (typeof Component === "string") {
      ToRender = _react.default.createElement(_taImageIcon.default, {
        style: styles.logo,
        source: {
          uri: Component
        }
      });
    } else if (typeof Component === "function") {
      ToRender = Component({
        style: styles.logo
      });
    } else if (Component != null) {
      ToRender = Component;
    } else {
      ToRender = _react.default.createElement(_taImageIcon.default, {
        style: styles.logo,
        source: {
          uri: _liveConfig.default.getPSetup().logoUrl
        }
      });
    }

    var Container = typeof onLogoPress === "function" ? _reactNative.TouchableOpacity : _reactNative.View;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[7]).Css, {
      classes: ["opt-logo-parent"]
    }, _react.default.createElement(Container, {
      style: [styles.parent, {
        backgroundColor: backgroundColor
      }],
      onPress: onLogoPress
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[7]).Css, {
      classes: ["opt-logo"]
    }, ToRender)));
  }

  Logo.propTypes = {
    backgroundColor: _propTypes.default.string,
    Component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.node]),
    onLogoPress: _propTypes.default.func
  };
  Logo.defaultProps = {
    backgroundColor: _$$_REQUIRE(_dependencyMap[8]).colors.white,
    Component: null
  };
  var _default = Logo;
  exports.default = _default;
},1220,[5,17,201,28,773,993,990,987,982]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _buttons = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[4]));

  var _taImageIcon = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[5]));

  var _icClose = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[6]));

  var _events = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  function CloseButton(props) {
    var backgroundColor = props.backgroundColor,
        iconColor = props.iconColor;
    var onPress = (0, _react.useCallback)(function () {
      _$$_REQUIRE(_dependencyMap[8]).EventRegister.emit(_events.default.ON_CLOSE);
    }, []);
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: ["opt-close-parent"]
    }, _react.default.createElement(_reactNative.TouchableOpacity, {
      style: [_buttons.default.button, {
        backgroundColor: backgroundColor
      }],
      onPress: onPress
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: ["opt-close"]
    }, _react.default.createElement(_taImageIcon.default, {
      style: _buttons.default.icon,
      DefaultComponent: _react.default.createElement(_icClose.default, {
        width: 30,
        height: 30,
        fill: iconColor
      })
    }))));
  }

  CloseButton.propTypes = {
    backgroundColor: _propTypes.default.string,
    iconColor: _propTypes.default.string
  };
  CloseButton.defaultProps = {
    backgroundColor: _$$_REQUIRE(_dependencyMap[10]).colors.white,
    iconColor: _$$_REQUIRE(_dependencyMap[10]).colors.black
  };
  var _default = CloseButton;
  exports.default = _default;
},1221,[17,5,201,28,1218,773,1222,771,991,987,982]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var IcClose = function IcClose(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Svg, props, _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"
    }));
  };

  var _default = IcClose;
  exports.default = _default;
},1222,[5,17,776]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _buttons = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function PlaceHolderButton(props) {
    var backgroundColor = props.backgroundColor;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[5]).Css, {
      classes: ["opt-placeholder"]
    }, _react.default.createElement(_reactNative.View, {
      style: [_buttons.default.button, {
        backgroundColor: backgroundColor
      }]
    }));
  }

  PlaceHolderButton.propTypes = {
    backgroundColor: _propTypes.default.string
  };
  PlaceHolderButton.defaultProps = {
    backgroundColor: _$$_REQUIRE(_dependencyMap[6]).colors.white
  };
  var _default = PlaceHolderButton;
  exports.default = _default;
},1223,[5,17,201,28,1218,987,982]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _webview = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _network = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _taText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _icWebOff = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var styles = _reactNative.StyleSheet.create({
    webview: {
      height: "100%",
      padding: 0
    }
  });

  function UrlPage(props) {
    var url = props.url,
        canUseCustomComponent = props.canUseCustomComponent;
    var isFocused = (0, _$$_REQUIRE(_dependencyMap[9]).useIsFocused)();

    if (!isFocused) {
      return null;
    }

    if (url) {
      if (_network.default.isOnline()) {
        return _react.default.createElement(_webview.default, {
          source: {
            uri: url
          },
          style: styles.webview,
          active: true,
          canUseCustomComponent: canUseCustomComponent
        });
      }

      return _react.default.createElement(_reactNative.View, {
        style: {
          flex: 1,
          justifyContent: "center",
          alignItems: "center"
        }
      }, _react.default.createElement(_icWebOff.default, {
        width: 50,
        height: 50
      }), _react.default.createElement(_taText.default, {
        style: {
          marginTop: 15
        }
      }, _liveConfig.default.getLocale().strings("str_not_available_offline")));
    }

    return null;
  }

  UrlPage.propTypes = {
    url: _propTypes.default.string.isRequired,
    canUseCustomComponent: _propTypes.default.bool
  };
  UrlPage.defaultProps = {
    canUseCustomComponent: false
  };
  var _default = UrlPage;
  exports.default = _default;
},1224,[5,17,201,28,1225,769,988,993,1232,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNativeWebview = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _log = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _message = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  function TaWebView(props) {
    var canUseCustomComponent = props.canUseCustomComponent;
    var ref = (0, _react.useRef)(null);

    var jsInjection = function jsInjection() {
      var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
          js = _ref.js;

      if (ref && ref.current && js) {
        ref.current.injectJavaScript("\n                try{\n                    " + js + "\n                } catch(e){\n                    console.log(e.message);\n                }");
      }
    };

    var shouldStartLoad = (0, _react.useCallback)(function (_ref2) {
      var url = _ref2.url,
          navigationType = _ref2.navigationType;

      if (url.startsWith("local://")) {
        var uri = (0, _$$_REQUIRE(_dependencyMap[10]).segmentURL)(url);

        _log.default.debug("domain: " + uri.getDomain());

        _$$_REQUIRE(_dependencyMap[11]).EventRegister.emit(_events.default.WEBVIEW_ON_LOCAL, {
          uri: uri,
          jsInjection: jsInjection
        });

        return false;
      }

      if (url.startsWith("xhttp")) {
        _$$_REQUIRE(_dependencyMap[11]).EventRegister.emit(_events.default.ON_EXTERNAL_LINK_CLICK, {
          url: url.substr(1)
        });

        return false;
      }

      if (url.includes("xhttp")) {
        _$$_REQUIRE(_dependencyMap[11]).EventRegister.emit(_events.default.ON_EXTERNAL_LINK_CLICK, {
          url: url
        });

        return false;
      }

      return true;
    }, []);
    var onMessage = (0, _react.useCallback)(function (_ref3) {
      var nativeEvent = _ref3.nativeEvent;

      _$$_REQUIRE(_dependencyMap[11]).EventRegister.emit(_events.default.WEBVIEW_ON_MESSAGE, {
        message: new _message.default(nativeEvent),
        jsInjection: jsInjection
      });
    }, []);
    var onFileDownload = (0, _react.useCallback)(function (_ref4) {
      var downloadUrl = _ref4.nativeEvent.downloadUrl;

      _$$_REQUIRE(_dependencyMap[11]).EventRegister.emit(_events.default.ON_EXTERNAL_LINK_CLICK, {
        url: downloadUrl
      });
    }, []);
    (0, _react.useEffect)(function () {
      var jsInjectId = _$$_REQUIRE(_dependencyMap[11]).EventRegister.on(_events.default.JS_INJECTION, jsInjection);

      return function () {
        _$$_REQUIRE(_dependencyMap[11]).EventRegister.rm(jsInjectId);
      };
    }, []);
    var otherProps = (0, _extends2.default)({
      ref: ref,
      onShouldStartLoadWithRequest: shouldStartLoad,
      originWhitelist: ["http://", "https://", "xhttp://", "xhttps://", "local://", "file://"],
      onMessage: onMessage,
      onFileDownload: onFileDownload,
      mixedContentMode: "always",
      allowFileAccess: true,
      allowUniversalAccessFromFileURLs: true,
      thirdPartyCookiesEnabled: true,
      domStorageEnabled: true,
      javaScriptEnabled: true,
      bounces: false,
      cacheEnabled: true,
      startInLoadingState: true,
      androidForceHasOverlappingRendering: false,
      messagingEnabled: true,
      userAgent: _liveConfig.default.getCustomUserAgent()
    }, props);

    if (_liveConfig.default.WebViewComponent && canUseCustomComponent) {
      return _react.default.createElement(_liveConfig.default.WebViewComponent, otherProps);
    }

    return _react.default.createElement(_reactNative.KeyboardAvoidingView, {
      style: {
        flex: 1
      },
      behavior: "padding"
    }, _react.default.createElement(_reactNativeWebview.default, otherProps));
  }

  TaWebView.propTypes = (0, _extends2.default)({
    canUseCustomComponent: _propTypes.default.bool
  }, _reactNativeWebview.WebViewProps);
  TaWebView.defaultProps = {
    canUseCustomComponent: false
  };
  var _default = TaWebView;
  exports.default = _default;
},1225,[5,6,17,201,1226,28,759,771,1231,993,762,991]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "WebView", {
    enumerable: true,
    get: function get() {
      return _WebView.default;
    }
  });
  exports.default = undefined;

  var _WebView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _default = _WebView.default;
  exports.default = _default;
},1226,[5,1227]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _WebView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var __extends = this && this.__extends || function () {
    var _extendStatics = function extendStatics(d, b) {
      _extendStatics = Object.setPrototypeOf || {
        __proto__: []
      } instanceof Array && function (d, b) {
        d.__proto__ = b;
      } || function (d, b) {
        for (var p in b) {
          if (b.hasOwnProperty(p)) d[p] = b[p];
        }
      };

      return _extendStatics(d, b);
    };

    return function (d, b) {
      _extendStatics(d, b);

      function __() {
        this.constructor = d;
      }

      d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
  }();

  var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
    function adopt(value) {
      return value instanceof P ? value : new P(function (resolve) {
        resolve(value);
      });
    }

    return new (P || (P = Promise))(function (resolve, reject) {
      function fulfilled(value) {
        try {
          step(generator.next(value));
        } catch (e) {
          reject(e);
        }
      }

      function rejected(value) {
        try {
          step(generator["throw"](value));
        } catch (e) {
          reject(e);
        }
      }

      function step(result) {
        result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
      }

      step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
  };

  var __generator = this && this.__generator || function (thisArg, body) {
    var _ = {
      label: 0,
      sent: function sent() {
        if (t[0] & 1) throw t[1];
        return t[1];
      },
      trys: [],
      ops: []
    },
        f,
        y,
        t,
        g;
    return g = {
      next: verb(0),
      "throw": verb(1),
      "return": verb(2)
    }, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
      return this;
    }), g;

    function verb(n) {
      return function (v) {
        return step([n, v]);
      };
    }

    function step(op) {
      if (f) throw new TypeError("Generator is already executing.");

      while (_) {
        try {
          if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
          if (y = 0, t) op = [op[0] & 2, t.value];

          switch (op[0]) {
            case 0:
            case 1:
              t = op;
              break;

            case 4:
              _.label++;
              return {
                value: op[1],
                done: false
              };

            case 5:
              _.label++;
              y = op[1];
              op = [0];
              continue;

            case 7:
              op = _.ops.pop();

              _.trys.pop();

              continue;

            default:
              if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
                _ = 0;
                continue;
              }

              if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
                _.label = op[1];
                break;
              }

              if (op[0] === 6 && _.label < t[1]) {
                _.label = t[1];
                t = op;
                break;
              }

              if (t && _.label < t[2]) {
                _.label = t[2];

                _.ops.push(op);

                break;
              }

              if (t[2]) _.ops.pop();

              _.trys.pop();

              continue;
          }

          op = body.call(thisArg, _);
        } catch (e) {
          op = [6, e];
          y = 0;
        } finally {
          f = t = 0;
        }
      }

      if (op[0] & 5) throw op[1];
      return {
        value: op[0] ? op[1] : undefined,
        done: true
      };
    }
  };

  var __rest = this && this.__rest || function (s, e) {
    var t = {};

    for (var p in s) {
      if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
    }

    if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
      if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
    }
    return t;
  };

  var UIManager = _reactNative.UIManager;
  var resolveAssetSource = _reactNative.Image.resolveAssetSource;

  var processDecelerationRate = function processDecelerationRate(decelerationRate) {
    var newDecelerationRate = decelerationRate;

    if (newDecelerationRate === 'normal') {
      newDecelerationRate = 0.998;
    } else if (newDecelerationRate === 'fast') {
      newDecelerationRate = 0.99;
    }

    return newDecelerationRate;
  };

  var RNCWebViewManager = _reactNative.NativeModules.RNCWebViewManager;
  var RNCWebView = (0, _reactNative.requireNativeComponent)('RNCWebView');

  var WebView = function (_super) {
    __extends(WebView, _super);

    function WebView() {
      var _this = _super !== null && _super.apply(this, arguments) || this;

      _this.state = {
        viewState: _this.props.startInLoadingState ? 'LOADING' : 'IDLE',
        lastErrorEvent: null
      };
      _this.webViewRef = _react.default.createRef();

      _this.getCommands = function () {
        return UIManager.getViewManagerConfig('RNCWebView').Commands;
      };

      _this.goForward = function () {
        UIManager.dispatchViewManagerCommand(_this.getWebViewHandle(), _this.getCommands().goForward, undefined);
      };

      _this.goBack = function () {
        UIManager.dispatchViewManagerCommand(_this.getWebViewHandle(), _this.getCommands().goBack, undefined);
      };

      _this.reload = function () {
        _this.setState({
          viewState: 'LOADING'
        });

        UIManager.dispatchViewManagerCommand(_this.getWebViewHandle(), _this.getCommands().reload, undefined);
      };

      _this.stopLoading = function () {
        UIManager.dispatchViewManagerCommand(_this.getWebViewHandle(), _this.getCommands().stopLoading, undefined);
      };

      _this.requestFocus = function () {
        UIManager.dispatchViewManagerCommand(_this.getWebViewHandle(), _this.getCommands().requestFocus, undefined);
      };

      _this.postMessage = function (data) {
        UIManager.dispatchViewManagerCommand(_this.getWebViewHandle(), _this.getCommands().postMessage, [String(data)]);
      };

      _this.injectJavaScript = function (data) {
        UIManager.dispatchViewManagerCommand(_this.getWebViewHandle(), _this.getCommands().injectJavaScript, [data]);
      };

      _this.updateNavigationState = function (event) {
        if (_this.props.onNavigationStateChange) {
          _this.props.onNavigationStateChange(event.nativeEvent);
        }
      };

      _this.getWebViewHandle = function () {
        var nodeHandle = (0, _reactNative.findNodeHandle)(_this.webViewRef.current);
        (0, _invariant.default)(nodeHandle != null, 'nodeHandle expected to be non-null');
        return nodeHandle;
      };

      _this.onLoadingStart = function (event) {
        var onLoadStart = _this.props.onLoadStart;

        if (onLoadStart) {
          onLoadStart(event);
        }

        _this.updateNavigationState(event);
      };

      _this.onLoadingError = function (event) {
        event.persist();
        var _a = _this.props,
            onError = _a.onError,
            onLoadEnd = _a.onLoadEnd;

        if (onError) {
          onError(event);
        } else {
          console.warn('Encountered an error loading page', event.nativeEvent);
        }

        if (onLoadEnd) {
          onLoadEnd(event);
        }

        if (event.isDefaultPrevented()) return;

        _this.setState({
          lastErrorEvent: event.nativeEvent,
          viewState: 'ERROR'
        });
      };

      _this.onHttpError = function (event) {
        var onHttpError = _this.props.onHttpError;

        if (onHttpError) {
          onHttpError(event);
        }
      };

      _this.onLoadingFinish = function (event) {
        var _a = _this.props,
            onLoad = _a.onLoad,
            onLoadEnd = _a.onLoadEnd;

        if (onLoad) {
          onLoad(event);
        }

        if (onLoadEnd) {
          onLoadEnd(event);
        }

        _this.setState({
          viewState: 'IDLE'
        });

        _this.updateNavigationState(event);
      };

      _this.onMessage = function (event) {
        var onMessage = _this.props.onMessage;

        if (onMessage) {
          onMessage(event);
        }
      };

      _this.onLoadingProgress = function (event) {
        var onLoadProgress = _this.props.onLoadProgress;

        if (onLoadProgress) {
          onLoadProgress(event);
        }
      };

      _this.onShouldStartLoadWithRequestCallback = function (shouldStart, _url, lockIdentifier) {
        var viewManager = _this.props.nativeConfig && _this.props.nativeConfig.viewManager || RNCWebViewManager;
        viewManager.startLoadWithResult(!!shouldStart, lockIdentifier);
      };

      _this.onContentProcessDidTerminate = function (event) {
        var onContentProcessDidTerminate = _this.props.onContentProcessDidTerminate;

        if (onContentProcessDidTerminate) {
          onContentProcessDidTerminate(event);
        }
      };

      return _this;
    }

    WebView.prototype.componentDidUpdate = function (prevProps) {
      this.showRedboxOnPropChanges(prevProps, 'allowsInlineMediaPlayback');
      this.showRedboxOnPropChanges(prevProps, 'incognito');
      this.showRedboxOnPropChanges(prevProps, 'mediaPlaybackRequiresUserAction');
      this.showRedboxOnPropChanges(prevProps, 'dataDetectorTypes');
    };

    WebView.prototype.showRedboxOnPropChanges = function (prevProps, propName) {
      if (this.props[propName] !== prevProps[propName]) {
        console.error("Changes to property " + propName + " do nothing after the initial render.");
      }
    };

    WebView.prototype.render = function () {
      var _a = this.props,
          decelerationRateProp = _a.decelerationRate,
          _b = _a.nativeConfig,
          nativeConfig = _b === undefined ? {} : _b,
          onMessage = _a.onMessage,
          onShouldStartLoadWithRequestProp = _a.onShouldStartLoadWithRequest,
          originWhitelist = _a.originWhitelist,
          renderError = _a.renderError,
          renderLoading = _a.renderLoading,
          _c = _a.injectedJavaScriptForMainFrameOnly,
          injectedJavaScriptForMainFrameOnly = _c === undefined ? true : _c,
          _d = _a.injectedJavaScriptBeforeContentLoadedForMainFrameOnly,
          injectedJavaScriptBeforeContentLoadedForMainFrameOnly = _d === undefined ? true : _d,
          style = _a.style,
          containerStyle = _a.containerStyle,
          otherProps = __rest(_a, ["decelerationRate", "nativeConfig", "onMessage", "onShouldStartLoadWithRequest", "originWhitelist", "renderError", "renderLoading", "injectedJavaScriptForMainFrameOnly", "injectedJavaScriptBeforeContentLoadedForMainFrameOnly", "style", "containerStyle"]);

      var otherView = null;

      if (this.state.viewState === 'LOADING') {
        otherView = (renderLoading || _$$_REQUIRE(_dependencyMap[6]).defaultRenderLoading)();
      } else if (this.state.viewState === 'ERROR') {
        var errorEvent = this.state.lastErrorEvent;
        (0, _invariant.default)(errorEvent != null, 'lastErrorEvent expected to be non-null');
        otherView = (renderError || _$$_REQUIRE(_dependencyMap[6]).defaultRenderError)(errorEvent.domain, errorEvent.code, errorEvent.description);
      } else if (this.state.viewState !== 'IDLE') {
        console.error("RNCWebView invalid state encountered: " + this.state.viewState);
      }

      var webViewStyles = [_WebView.default.container, _WebView.default.webView, style];
      var webViewContainerStyle = [_WebView.default.container, containerStyle];
      var onShouldStartLoadWithRequest = (0, _$$_REQUIRE(_dependencyMap[6]).createOnShouldStartLoadWithRequest)(this.onShouldStartLoadWithRequestCallback, originWhitelist, onShouldStartLoadWithRequestProp);
      var decelerationRate = processDecelerationRate(decelerationRateProp);
      var NativeWebView = nativeConfig.component || RNCWebView;

      var webView = _react.default.createElement(NativeWebView, (0, _extends2.default)({
        key: "webViewKey"
      }, otherProps, {
        decelerationRate: decelerationRate,
        messagingEnabled: typeof onMessage === 'function',
        onLoadingError: this.onLoadingError,
        onLoadingFinish: this.onLoadingFinish,
        onLoadingProgress: this.onLoadingProgress,
        onFileDownload: this.props.onFileDownload,
        onLoadingStart: this.onLoadingStart,
        onHttpError: this.onHttpError,
        onMessage: this.onMessage,
        onScroll: this.props.onScroll,
        onShouldStartLoadWithRequest: onShouldStartLoadWithRequest,
        onContentProcessDidTerminate: this.onContentProcessDidTerminate,
        injectedJavaScript: this.props.injectedJavaScript,
        injectedJavaScriptBeforeContentLoaded: this.props.injectedJavaScriptBeforeContentLoaded,
        injectedJavaScriptForMainFrameOnly: injectedJavaScriptForMainFrameOnly,
        injectedJavaScriptBeforeContentLoadedForMainFrameOnly: injectedJavaScriptBeforeContentLoadedForMainFrameOnly,
        ref: this.webViewRef,
        source: resolveAssetSource(this.props.source),
        style: webViewStyles
      }, nativeConfig.props));

      return _react.default.createElement(_reactNative.View, {
        style: webViewContainerStyle
      }, webView, otherView);
    };

    WebView.defaultProps = {
      javaScriptEnabled: true,
      cacheEnabled: true,
      originWhitelist: _$$_REQUIRE(_dependencyMap[6]).defaultOriginWhitelist,
      useSharedProcessPool: true,
      textInteractionEnabled: true
    };

    WebView.isFileUploadSupported = function () {
      return __awaiter(undefined, undefined, undefined, function () {
        return __generator(this, function (_a) {
          return [2, true];
        });
      });
    };

    return WebView;
  }(_react.default.Component);

  var _default = WebView;
  exports.default = _default;
},1227,[5,6,17,28,36,1228,1229]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    container: {
      flex: 1,
      overflow: 'hidden'
    },
    loadingOrErrorView: {
      position: 'absolute',
      flex: 1,
      justifyContent: 'center',
      alignItems: 'center',
      height: '100%',
      width: '100%',
      backgroundColor: 'white'
    },
    loadingProgressBar: {
      height: 20
    },
    errorText: {
      fontSize: 14,
      textAlign: 'center',
      marginBottom: 2
    },
    errorTextTitle: {
      fontSize: 15,
      fontWeight: '500',
      marginBottom: 10
    },
    webView: {
      backgroundColor: '#ffffff'
    }
  });

  var _default = styles;
  exports.default = _default;
},1228,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.defaultRenderError = exports.defaultRenderLoading = exports.createOnShouldStartLoadWithRequest = exports.defaultOriginWhitelist = undefined;

  var _escapeStringRegexp = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _WebView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var __spreadArrays = this && this.__spreadArrays || function () {
    for (var s = 0, i = 0, il = arguments.length; i < il; i++) {
      s += arguments[i].length;
    }

    for (var r = Array(s), k = 0, i = 0; i < il; i++) {
      for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {
        r[k] = a[j];
      }
    }

    return r;
  };

  var defaultOriginWhitelist = ['http://*', 'https://*'];
  exports.defaultOriginWhitelist = defaultOriginWhitelist;

  var extractOrigin = function extractOrigin(url) {
    var result = /^[A-Za-z][A-Za-z0-9+\-.]+:(\/\/)?[^/]*/.exec(url);
    return result === null ? '' : result[0];
  };

  var originWhitelistToRegex = function originWhitelistToRegex(originWhitelist) {
    return "^" + (0, _escapeStringRegexp.default)(originWhitelist).replace(/\\\*/g, '.*');
  };

  var passesWhitelist = function passesWhitelist(compiledWhitelist, url) {
    var origin = extractOrigin(url);
    return compiledWhitelist.some(function (x) {
      return new RegExp(x).test(origin);
    });
  };

  var compileWhitelist = function compileWhitelist(originWhitelist) {
    return __spreadArrays(['about:blank'], originWhitelist || []).map(originWhitelistToRegex);
  };

  var createOnShouldStartLoadWithRequest = function createOnShouldStartLoadWithRequest(loadRequest, originWhitelist, onShouldStartLoadWithRequest) {
    return function (_a) {
      var nativeEvent = _a.nativeEvent;
      var shouldStart = true;
      var url = nativeEvent.url,
          lockIdentifier = nativeEvent.lockIdentifier;

      if (!passesWhitelist(compileWhitelist(originWhitelist), url)) {
        _reactNative.Linking.canOpenURL(url).then(function (supported) {
          if (supported) {
            return _reactNative.Linking.openURL(url);
          }

          console.warn("Can't open url: " + url);
          return undefined;
        })["catch"](function (e) {
          console.warn('Error opening URL: ', e);
        });

        shouldStart = false;
      } else if (onShouldStartLoadWithRequest) {
        shouldStart = onShouldStartLoadWithRequest(nativeEvent);
      }

      loadRequest(shouldStart, url, lockIdentifier);
    };
  };

  exports.createOnShouldStartLoadWithRequest = createOnShouldStartLoadWithRequest;

  var defaultRenderLoading = function defaultRenderLoading() {
    return _react.default.createElement(_reactNative.View, {
      style: _WebView.default.loadingOrErrorView
    }, _react.default.createElement(_reactNative.ActivityIndicator, null));
  };

  exports.defaultRenderLoading = defaultRenderLoading;

  var defaultRenderError = function defaultRenderError(errorDomain, errorCode, errorDesc) {
    return _react.default.createElement(_reactNative.View, {
      style: _WebView.default.loadingOrErrorView
    }, _react.default.createElement(_reactNative.Text, {
      style: _WebView.default.errorTextTitle
    }, "Error loading page"), _react.default.createElement(_reactNative.Text, {
      style: _WebView.default.errorText
    }, "Domain: " + errorDomain), _react.default.createElement(_reactNative.Text, {
      style: _WebView.default.errorText
    }, "Error Code: " + errorCode), _react.default.createElement(_reactNative.Text, {
      style: _WebView.default.errorText
    }, "Description: " + errorDesc));
  };

  exports.defaultRenderError = defaultRenderError;
},1229,[5,1230,17,28,1228]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var matchOperatorsRegex = /[|\\{}()[\]^$+*?.-]/g;

  module.exports = function (string) {
    if (typeof string !== 'string') {
      throw new TypeError('Expected a string');
    }

    return string.replace(matchOperatorsRegex, '\\$&');
  };
},1230,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classPrivateFieldLooseBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classPrivateFieldLooseKey2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _data = (0, _classPrivateFieldLooseKey2.default)("_data");

  var Message = function () {
    function Message() {
      var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      (0, _classCallCheck2.default)(this, Message);
      Object.defineProperty(this, _data, {
        writable: true,
        value: undefined
      });
      var data = e.data;
      (0, _classPrivateFieldLooseBase2.default)(this, _data)[_data] = data;
    }

    (0, _createClass2.default)(Message, [{
      key: "getData",
      value: function getData() {
        return (0, _classPrivateFieldLooseBase2.default)(this, _data)[_data];
      }
    }, {
      key: "setData",
      value: function setData(value) {
        (0, _classPrivateFieldLooseBase2.default)(this, _data)[_data] = value;
      }
    }]);
    return Message;
  }();

  exports.default = Message;
},1231,[5,7,8,756,757]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var IcWebOff = function IcWebOff(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Svg, props, _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M9.4 4.44c-.21.39-.4.79-.56 1.2l1.53 1.53c.41-1.12.96-2.17 1.63-3.14.83 1.2 1.5 2.54 1.91 3.97H11.2l2 2h1.14c.06.41.1.84.13 1.27l1.97 1.97c.03-.41.06-.82.06-1.24 0-.68-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2H17.2l3.3 3.28c.94-1.53 1.5-3.34 1.5-5.28 0-5.5-4.5-10-10-10-1.94 0-3.75.56-5.28 1.5L8.18 5c.39-.23.82-.42 1.22-.56M18.92 8h-2.95a15.65 15.65 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M2.39 1.73 1.11 3l2.95 2.95A9.91 9.91 0 0 0 2 12c0 5.5 4.5 10 10 10 2.28 0 4.37-.77 6.06-2.05l2.78 2.78 1.27-1.27L2.39 1.73M5.5 7.37l.61.63H5.08c.12-.22.26-.42.42-.63M4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2H4.26m.82 2H8c.35 1.25.8 2.45 1.4 3.56A8.008 8.008 0 0 1 5.08 16m4.42-4c0-.2 0-.39.03-.58L12.11 14H9.66c-.1-.66-.16-1.32-.16-2m2.5 7.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96m2.59-.4c.37-.68.67-1.41.91-2.15l1.12 1.09c-.62.45-1.3.81-2.03 1.06Z"
    }));
  };

  var _default = IcWebOff;
  exports.default = _default;
},1232,[5,17,776]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _routeEditionsDate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _routeEdition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _editionsNested = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _issueItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _editionDayContainer = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _routeUrl = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _urlPage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _tabBar = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var Tab = (0, _$$_REQUIRE(_dependencyMap[13]).createMaterialTopTabNavigator)();

  function renderTabScreens(_ref) {
    var routes = _ref.routes,
        _ref$props = _ref.props,
        props = _ref$props === undefined ? {} : _ref$props;
    var screens = [];
    routes.forEach(function (route) {
      var ScreenProps = {
        name: route.getText(),
        key: route.getRoute(),
        options: {
          tabBarLabel: route.getText().toUpperCase()
        }
      };
      var Component = null;

      if (route instanceof _routeEditionsDate.default) {
        Component = _react.default.createElement(Tab.Screen, ScreenProps, function (navProps) {
          return _react.default.createElement(_editionDayContainer.default, (0, _extends2.default)({
            main: route
          }, props, navProps, {
            horizontal: _liveConfig.default.isWideScreen()
          }));
        });
      } else if (route instanceof _routeEdition.default) {
        Component = _react.default.createElement(Tab.Screen, ScreenProps, function (navProps) {
          return _react.default.createElement(_editionsNested.default, (0, _extends2.default)({
            main: route.getEdition()
          }, props, navProps));
        });
      } else if (route instanceof _routeUrl.default) {
        Component = _react.default.createElement(Tab.Screen, ScreenProps, function (navProps) {
          return _react.default.createElement(_urlPage.default, (0, _extends2.default)({
            url: route.getUrl()
          }, props, navProps, {
            canUseCustomComponent: true
          }));
        });
      }

      if (Component) {
        screens.push(Component);
      }
    });
    return screens;
  }

  function TabNavigator(props) {
    var routes = props.routes,
        initialRouteName = props.initialRouteName,
        specials = props.specials,
        issueCallbacks = props.issueCallbacks,
        viewSize = props.viewSize;
    return _react.default.createElement(Tab.Navigator, {
      initialRouteName: initialRouteName,
      tabBar: function tabBar(tabProps) {
        return _react.default.createElement(_tabBar.default, (0, _extends2.default)({
          backgroundColor: _liveConfig.default.getSupportColor(),
          textColor: _liveConfig.default.getForegroundColor(),
          screenWidth: viewSize.width
        }, tabProps));
      },
      screenOptions: {
        lazy: true,
        lazyPreloadDistance: 1
      },
      backBehavior: "initialRoute"
    }, renderTabScreens({
      routes: routes,
      props: {
        specials: specials,
        issueCallbacks: issueCallbacks
      }
    }));
  }

  TabNavigator.propTypes = {
    routes: _propTypes.default.array,
    initialRouteName: _propTypes.default.string,
    specials: _propTypes.default.array,
    viewSize: _propTypes.default.shape({
      width: _propTypes.default.number,
      height: _propTypes.default.number
    }),
    issueCallbacks: _issueItem.default.propTypes.issueCallbacks
  };
  var _default = TabNavigator;
  exports.default = _default;
},1233,[5,6,17,201,1120,1119,1234,993,1236,1268,1122,1224,1635,1636]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _issueList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _editionList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function EditionsNested(props) {
    var main = props.main,
        issueCallbacks = props.issueCallbacks;
    var ComponentList = null;
    var editions = main.getGroup();

    if (editions.length > 1) {
      ComponentList = _react.default.createElement(_editionList.default, {
        horizontal: false,
        edition: main,
        issueCallbacks: issueCallbacks
      });
    } else if (editions.length) {
      ComponentList = _react.default.createElement(_issueList.default, {
        horizontal: false,
        issues: editions[0].getIssues(),
        issueCallbacks: issueCallbacks
      });
    } else {
      ComponentList = _react.default.createElement(_issueList.default, {
        horizontal: false,
        issues: main.getIssues(),
        issueCallbacks: issueCallbacks
      });
    }

    return ComponentList;
  }

  EditionsNested.propTypes = {
    main: _propTypes.default.instanceOf(_edition.default)
  };
  EditionsNested.defaultProps = {};
  var _default = EditionsNested;
  exports.default = _default;
},1234,[5,17,201,1114,1235,1257]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _issue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _issueItem = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _list = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _issueCardItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _issueFlatItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _layoutList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _excluded = ["horizontal", "issues", "issueCallbacks", "useLayoutList", "itemStyle", "showHighRes"],
      _excluded2 = ["size"],
      _excluded3 = ["size"];

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  function IssueList(props) {
    var horizontal = props.horizontal,
        issues = props.issues,
        issueCallbacks = props.issueCallbacks,
        useLayoutList = props.useLayoutList,
        itemStyle = props.itemStyle,
        showHighRes = props.showHighRes,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);
    var commonItemProps = {
      style: itemStyle,
      issueCallbacks: issueCallbacks
    };
    var commonProps = (0, _extends2.default)({
      horizontal: horizontal,
      data: issues,
      keyExtractor: _issueItem.issueItemKey,
      renderVerticalItem: function renderVerticalItem(_ref) {
        var size = _ref.size,
            itemProps = (0, _objectWithoutProperties2.default)(_ref, _excluded2);
        return _react.default.createElement(_issueCardItem.default, (0, _extends2.default)({}, itemProps, commonItemProps, {
          showHighRes: showHighRes || size.height > _$$_REQUIRE(_dependencyMap[11]).THUMBNAIL_HR_THRESHOLD
        }));
      },
      renderHorizontalItem: function renderHorizontalItem(_ref2) {
        var size = _ref2.size,
            itemProps = (0, _objectWithoutProperties2.default)(_ref2, _excluded3);
        return _react.default.createElement(_issueFlatItem.default, (0, _extends2.default)({}, itemProps, commonItemProps, {
          showHighRes: showHighRes || size.height > _$$_REQUIRE(_dependencyMap[11]).THUMBNAIL_HR_THRESHOLD
        }));
      }
    }, rest);

    if (useLayoutList) {
      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).AspectRatioContext.Consumer, null, function (value) {
        return _react.default.createElement(_layoutList.default, (0, _extends2.default)({}, commonProps, {
          aspectRatio: value
        }));
      });
    }

    return _react.default.createElement(_list.default, commonProps);
  }

  IssueList.propTypes = {
    horizontal: _propTypes.default.bool,
    removeClippedSubviews: _propTypes.default.bool,
    initialNumToRender: _propTypes.default.number,
    issues: _propTypes.default.arrayOf(_propTypes.default.instanceOf(_issue.default)),
    issueCallbacks: _issueItem.default.propTypes.issueCallbacks,
    useLayoutList: _propTypes.default.bool,
    itemStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    showHighRes: _propTypes.default.bool
  };
  IssueList.defaultProps = {
    horizontal: true,
    initialNumToRender: 5,
    removeClippedSubviews: true,
    useLayoutList: true,
    showHighRes: false
  };
  var _default = IssueList;
  exports.default = _default;
},1235,[5,6,108,17,201,758,1236,1248,1252,1253,1254,1255,1256]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;
  exports.issueItemKey = issueItemKey;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _issue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _baseItemWithImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _excluded = ["issueCallbacks", "textFormat", "item"];

  function issueItemKey(item, index) {
    return item.getIssue() + "_" + index;
  }

  function IssueItem(props) {
    var issueCallbacks = props.issueCallbacks,
        textFormat = props.textFormat,
        item = props.item,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);
    var onIssuePress = issueCallbacks.onIssuePress;

    if (!item) {
      return null;
    }

    return _react.default.createElement(_baseItemWithImage.default, (0, _extends2.default)({}, rest, {
      item: item,
      onPress: onIssuePress,
      badgeText: textFormat.replace("edition", item.getEditionLabel()).replace("issue", item.getDateLabel())
    }));
  }

  IssueItem.propTypes = (0, _extends2.default)({
    item: _propTypes.default.instanceOf(_issue.default).isRequired,
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    imageParentStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    imageStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    imageGraphStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    imageTextStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    issueCallbacks: _propTypes.default.shape({
      onIssuePress: _propTypes.default.func
    }),
    textFormat: _propTypes.default.string,
    hideTitle: _propTypes.default.bool,
    showHighRes: _propTypes.default.bool,
    cssPrefix: _propTypes.default.string
  }, _baseItemWithImage.default.propTypes);
  IssueItem.defaultProps = {
    style: _$$_REQUIRE(_dependencyMap[7]).commonStyles.container,
    issueCallbacks: {},
    cssPrefix: "",
    textFormat: "issue",
    showHighRes: false,
    hideTitle: false
  };
  var _default = IssueItem;
  exports.default = _default;
},1236,[5,6,108,17,201,758,1237,990]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _reactNativeLinearGradient = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _issue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _issueImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _baseItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _excluded = ["item", "cssPrefix", "imageParentStyle", "imageStyle", "imageGraphStyle", "imageTextStyle", "showHighRes", "children", "showGradient"],
      _excluded2 = ["backgroundColor"];

  var styles = _reactNative.StyleSheet.create({
    imageParent: {
      flex: 1
    },
    gradient: {
      position: "absolute",
      top: 0,
      left: 0,
      right: 0,
      bottom: 0
    }
  });

  function BaseItemWithImage(props) {
    var item = props.item,
        cssPrefix = props.cssPrefix,
        imageParentStyle = props.imageParentStyle,
        imageStyle = props.imageStyle,
        imageGraphStyle = props.imageGraphStyle,
        imageTextStyle = props.imageTextStyle,
        showHighRes = props.showHighRes,
        children = props.children,
        showGradient = props.showGradient,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);

    var _CssHelper$getStyleOb = _$$_REQUIRE(_dependencyMap[10]).CssHelper.getStyleObjByCssClasses(["opt-issue-item-image-gradient"], {
      cssKey: cssPrefix
    }),
        _CssHelper$getStyleOb2 = _CssHelper$getStyleOb.backgroundColor,
        gradientColors = _CssHelper$getStyleOb2 === undefined ? [_$$_REQUIRE(_dependencyMap[11]).colors.white_transparent_0, _$$_REQUIRE(_dependencyMap[11]).colors.white_transparent_40, _$$_REQUIRE(_dependencyMap[11]).colors.white] : _CssHelper$getStyleOb2,
        otherGradientStyles = (0, _objectWithoutProperties2.default)(_CssHelper$getStyleOb, _excluded2);

    return _react.default.createElement(_baseItem.default, (0, _extends2.default)({}, rest, {
      item: item,
      cssPrefix: cssPrefix
    }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Css, {
      classes: ["opt-issue-item-image-container"],
      cssKey: cssPrefix
    }, _react.default.createElement(_reactNative.View, {
      style: [styles.imageParent, imageParentStyle]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Css, {
      classes: ["opt-issue-item-image"],
      cssKey: cssPrefix
    }, _react.default.createElement(_issueImage.default, {
      showHighRes: showHighRes,
      item: item,
      style: imageStyle,
      graphStyle: _$$_REQUIRE(_dependencyMap[10]).CssHelper.flatten([imageGraphStyle], ["opt-issue-item-image-graph"], {
        cssKey: cssPrefix
      }),
      textStyle: _$$_REQUIRE(_dependencyMap[10]).CssHelper.flatten([imageTextStyle], ["opt-issue-item-image-text"], {
        cssKey: cssPrefix
      })
    })), showGradient ? _react.default.createElement(_reactNativeLinearGradient.default, {
      style: [styles.gradient, otherGradientStyles],
      colors: gradientColors
    }) : null)), children);
  }

  BaseItemWithImage.propTypes = (0, _extends2.default)({
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    imageParentStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    imageStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    imageGraphStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    imageTextStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    showHighRes: _propTypes.default.bool,
    showGradient: _propTypes.default.bool
  }, _baseItem.default.propTypes);
  BaseItemWithImage.defaultProps = {
    style: _$$_REQUIRE(_dependencyMap[12]).commonStyles.container,
    showHighRes: false
  };
  var _default = BaseItemWithImage;
  exports.default = _default;
},1237,[5,6,108,17,201,28,1238,758,1243,1244,987,982,990]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.LinearGradient = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _indexIos = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _indexAndroid = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[3]));

  var _indexWindows = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[4]));

  var LinearGradient = _reactNative.Platform.OS === "ios" ? _indexIos.default : _reactNative.Platform.OS === "android" ? _indexAndroid.default : _indexWindows.default;
  exports.LinearGradient = LinearGradient;
  var _default = LinearGradient;
  exports.default = _default;
},1238,[28,5,1239,1241,1242]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _common = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var convertPoint = function convertPoint(name, point) {
    if (Array.isArray(point)) {
      console.warn("LinearGradient '" + name + "' property should be an object with fields 'x' and 'y', " + 'Array type is deprecated.');
      return {
        x: point[0],
        y: point[1]
      };
    }

    return point;
  };

  var LinearGradient = function (_Component) {
    (0, _inherits2.default)(LinearGradient, _Component);

    var _super = _createSuper(LinearGradient);

    function LinearGradient() {
      var _this;

      (0, _classCallCheck2.default)(this, LinearGradient);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.gradientRef = (0, _react.createRef)();
      return _this;
    }

    (0, _createClass2.default)(LinearGradient, [{
      key: "setNativeProps",
      value: function setNativeProps(props) {
        this.gradientRef.current.setNativeProps(props);
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            start = _this$props.start,
            end = _this$props.end,
            colors = _this$props.colors,
            locations = _this$props.locations,
            useAngle = _this$props.useAngle,
            angleCenter = _this$props.angleCenter,
            angle = _this$props.angle,
            otherProps = (0, _objectWithoutProperties2.default)(_this$props, ["start", "end", "colors", "locations", "useAngle", "angleCenter", "angle"]);

        if (colors && locations && colors.length !== locations.length) {
          console.warn('LinearGradient colors and locations props should be arrays of the same length');
        }

        return _react.default.createElement(_common.default, (0, _extends2.default)({
          ref: this.gradientRef
        }, otherProps, {
          startPoint: convertPoint('start', start),
          endPoint: convertPoint('end', end),
          colors: colors.map(_reactNative.processColor),
          locations: locations ? locations.slice(0, colors.length) : null,
          useAngle: useAngle,
          angleCenter: convertPoint('angleCenter', angleCenter),
          angle: angle
        }));
      }
    }]);
    return LinearGradient;
  }(_react.Component);

  exports.default = LinearGradient;
  LinearGradient.defaultProps = {
    start: {
      x: 0.5,
      y: 0.0
    },
    end: {
      x: 0.5,
      y: 1.0
    }
  };
},1239,[5,6,108,7,8,12,14,16,17,28,1240]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = (0, _reactNative.requireNativeComponent)('BVLinearGradient');

  exports.default = _default;
},1240,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _common = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var convertPoint = function convertPoint(name, point) {
    if (Array.isArray(point)) {
      console.warn("LinearGradient '" + name + "' property should be an object with fields 'x' and 'y', " + 'Array type is deprecated.');
    }

    if (point !== null && typeof point === 'object') {
      return [point.x, point.y];
    }

    return point;
  };

  var validNumber = function validNumber(defaultValue) {
    return function (value) {
      return typeof value === 'number' ? value : defaultValue;
    };
  };

  var LinearGradient = function (_Component) {
    (0, _inherits2.default)(LinearGradient, _Component);

    var _super = _createSuper(LinearGradient);

    function LinearGradient() {
      var _this;

      (0, _classCallCheck2.default)(this, LinearGradient);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.gradientRef = (0, _react.createRef)();
      return _this;
    }

    (0, _createClass2.default)(LinearGradient, [{
      key: "setNativeProps",
      value: function setNativeProps(props) {
        this.gradientRef.current.setNativeProps(props);
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            children = _this$props.children,
            colors = _this$props.colors,
            end = _this$props.end,
            locations = _this$props.locations,
            useAngle = _this$props.useAngle,
            angleCenter = _this$props.angleCenter,
            angle = _this$props.angle,
            start = _this$props.start,
            style = _this$props.style,
            otherProps = (0, _objectWithoutProperties2.default)(_this$props, ["children", "colors", "end", "locations", "useAngle", "angleCenter", "angle", "start", "style"]);

        if (colors && locations && colors.length !== locations.length) {
          console.warn('LinearGradient colors and locations props should be arrays of the same length');
        }

        var flatStyle = _reactNative.StyleSheet.flatten(style) || {};
        var borderRadius = flatStyle.borderRadius || 0;
        var validRadius = validNumber(borderRadius);
        var borderRadiiPerCorner = [validRadius(flatStyle.borderTopLeftRadius), validRadius(flatStyle.borderTopLeftRadius), validRadius(flatStyle.borderTopRightRadius), validRadius(flatStyle.borderTopRightRadius), validRadius(flatStyle.borderBottomRightRadius), validRadius(flatStyle.borderBottomRightRadius), validRadius(flatStyle.borderBottomLeftRadius), validRadius(flatStyle.borderBottomLeftRadius)];
        return _react.default.createElement(_reactNative.View, (0, _extends2.default)({
          ref: this.gradientRef
        }, otherProps, {
          style: style
        }), _react.default.createElement(_common.default, {
          style: {
            position: 'absolute',
            top: 0,
            left: 0,
            bottom: 0,
            right: 0
          },
          colors: colors.map(_reactNative.processColor),
          startPoint: convertPoint('start', start),
          endPoint: convertPoint('end', end),
          locations: locations ? locations.slice(0, colors.length) : null,
          useAngle: useAngle,
          angleCenter: convertPoint('angleCenter', angleCenter),
          angle: angle,
          borderRadii: borderRadiiPerCorner
        }), children);
      }
    }]);
    return LinearGradient;
  }(_react.Component);

  exports.default = LinearGradient;
  LinearGradient.defaultProps = {
    start: {
      x: 0.5,
      y: 0.0
    },
    end: {
      x: 0.5,
      y: 1.0
    }
  };
},1241,[5,6,108,7,8,12,14,16,17,28,1240]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _common = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var convertPoint = function convertPoint(name, point) {
    if (Array.isArray(point)) {
      console.warn("LinearGradient '" + name + "' property should be an object with fields 'x' and 'y', " + 'Array type is deprecated.');
      return {
        x: point[0],
        y: point[1]
      };
    }

    return point;
  };

  var LinearGradient = function (_Component) {
    (0, _inherits2.default)(LinearGradient, _Component);

    var _super = _createSuper(LinearGradient);

    function LinearGradient() {
      (0, _classCallCheck2.default)(this, LinearGradient);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(LinearGradient, [{
      key: "setNativeProps",
      value: function setNativeProps(props) {
        this.gradientRef.setNativeProps(props);
      }
    }, {
      key: "render",
      value: function render() {
        var _this = this;

        var _this$props = this.props,
            children = _this$props.children,
            start = _this$props.start,
            end = _this$props.end,
            colors = _this$props.colors,
            locations = _this$props.locations,
            useAngle = _this$props.useAngle,
            angleCenter = _this$props.angleCenter,
            angle = _this$props.angle,
            style = _this$props.style,
            otherProps = (0, _objectWithoutProperties2.default)(_this$props, ["children", "start", "end", "colors", "locations", "useAngle", "angleCenter", "angle", "style"]);

        if (colors && locations && colors.length !== locations.length) {
          console.warn('LinearGradient colors and locations props should be arrays of the same length');
        }

        return _react.default.createElement(_reactNative.View, (0, _extends2.default)({
          ref: function ref(component) {
            _this.gradientRef = component;
          }
        }, otherProps, {
          style: style
        }), _react.default.createElement(_common.default, {
          style: {
            position: 'absolute',
            top: 0,
            left: 0,
            bottom: 0,
            right: 0
          },
          colors: colors.map(_reactNative.processColor),
          startPoint: convertPoint('start', start),
          endPoint: convertPoint('end', end),
          locations: locations ? locations.slice(0, colors.length) : null,
          useAngle: useAngle,
          angleCenter: convertPoint('angleCenter', angleCenter),
          angle: angle
        }), children);
      }
    }]);
    return LinearGradient;
  }(_react.Component);

  exports.default = LinearGradient;
  LinearGradient.defaultProps = {
    start: {
      x: 0.5,
      y: 0.0
    },
    end: {
      x: 0.5,
      y: 1.0
    }
  };
},1242,[5,6,108,7,8,12,14,16,17,28,1240]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _issue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _taImageIcon = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var styles = _reactNative.StyleSheet.create({
    imageText: {}
  });

  function IssueImage(props) {
    var item = props.item,
        style = props.style,
        graphStyle = props.graphStyle,
        textStyle = props.textStyle,
        showHighRes = props.showHighRes;

    if (!item) {
      return null;
    }

    var imageProps = {
      resizeMode: "contain"
    };
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[7]).Css, {
      classes: ["opt-issue-image-container"]
    }, _react.default.createElement(_reactNative.View, {
      style: _$$_REQUIRE(_dependencyMap[8]).commonStyles.container
    }, !showHighRes ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[7]).Css, {
      classes: ["opt-issue-image", "opt-issue-image-low"]
    }, _react.default.createElement(_taImageIcon.default, (0, _extends2.default)({
      style: [_$$_REQUIRE(_dependencyMap[8]).commonStyles.full, style],
      source: {
        uri: (0, _$$_REQUIRE(_dependencyMap[9]).getLowUrl)(item)
      }
    }, imageProps))) : _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[7]).Css, {
      classes: ["opt-issue-image", "opt-issue-image-graph"]
    }, _react.default.createElement(_taImageIcon.default, (0, _extends2.default)({
      style: [_$$_REQUIRE(_dependencyMap[8]).commonStyles.full, style, graphStyle],
      source: {
        uri: (0, _$$_REQUIRE(_dependencyMap[9]).getGraphUrl)(item)
      }
    }, imageProps))), _react.default.createElement(_$$_REQUIRE(_dependencyMap[7]).Css, {
      classes: ["opt-issue-image", "opt-issue-image-text"]
    }, _react.default.createElement(_taImageIcon.default, (0, _extends2.default)({
      style: [_$$_REQUIRE(_dependencyMap[8]).commonStyles.full, styles.imageText, style, textStyle],
      source: {
        uri: (0, _$$_REQUIRE(_dependencyMap[9]).getTextUrl)(item)
      }
    }, imageProps))))));
  }

  IssueImage.propTypes = {
    item: _propTypes.default.instanceOf(_issue.default).isRequired,
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    graphStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    textStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    showHighRes: _propTypes.default.bool
  };
  IssueImage.defaultProps = {};
  var _default = IssueImage;
  exports.default = _default;
},1243,[5,6,17,201,28,758,773,987,990,755]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _issue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _badge = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  function BaseItem(props) {
    var item = props.item,
        cssPrefix = props.cssPrefix,
        style = props.style,
        footerParentStyle = props.footerParentStyle,
        onPress = props.onPress,
        badgeText = props.badgeText,
        hideTitle = props.hideTitle,
        children = props.children,
        isTouchable = props.isTouchable;
    var onItemPress = (0, _react.useCallback)(function () {
      if (typeof onPress === "function") {
        onPress(item);
      }
    }, [item]);

    if (!item) {
      return null;
    }

    var Component = isTouchable ? _reactNative.Pressable : _reactNative.View;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[7]).Css, {
      classes: ["opt-issue-item-container"],
      cssKey: cssPrefix
    }, _react.default.createElement(Component, {
      style: style,
      onPress: onItemPress
    }, children, !hideTitle ? _react.default.createElement(_badge.default, {
      text: badgeText,
      footerParentStyle: footerParentStyle,
      cssPrefix: cssPrefix,
      showDownloadCheck: item.isDownloaded()
    }) : null));
  }

  BaseItem.propTypes = (0, _extends2.default)({
    item: _propTypes.default.instanceOf(_issue.default).isRequired,
    onPress: _propTypes.default.func,
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    hideTitle: _propTypes.default.bool,
    cssPrefix: _propTypes.default.string,
    badgeText: _propTypes.default.string,
    isTouchable: _propTypes.default.bool
  }, _badge.default.propTypes);
  BaseItem.defaultProps = {
    style: _$$_REQUIRE(_dependencyMap[8]).commonStyles.container,
    cssPrefix: "",
    hideTitle: false,
    isTouchable: true,
    badgeText: ""
  };
  var _default = BaseItem;
  exports.default = _default;
},1244,[5,6,17,201,28,758,1245,987,990]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.BADGE_SIZE = exports.BADGE_BOTTOM_CONSTRAINT = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _taText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _downloadedCheck = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  var BADGE_SIZE = 40;
  exports.BADGE_SIZE = BADGE_SIZE;

  var BADGE_BOTTOM_CONSTRAINT = 20 + _$$_REQUIRE(_dependencyMap[8]).CARD_MARGIN;

  exports.BADGE_BOTTOM_CONSTRAINT = BADGE_BOTTOM_CONSTRAINT;

  var styles = _reactNative.StyleSheet.create({
    container: {
      position: "absolute",
      flexDirection: "row",
      alignItems: "center",
      start: _$$_REQUIRE(_dependencyMap[8]).CARD_PADDING,
      end: _$$_REQUIRE(_dependencyMap[8]).CARD_PADDING,
      padding: _$$_REQUIRE(_dependencyMap[8]).CARD_PADDING,
      bottom: -20,
      borderWidth: 0.5,
      borderColor: _$$_REQUIRE(_dependencyMap[9]).colors.grey300,
      borderRadius: _$$_REQUIRE(_dependencyMap[8]).CARD_RADIUS,
      backgroundColor: _$$_REQUIRE(_dependencyMap[9]).colors.white,
      minHeight: BADGE_SIZE
    },
    footer: {
      flex: 1,
      alignItems: "center",
      flexDirection: "column",
      justifyContent: "space-between"
    },
    footerText: (0, _extends2.default)({
      color: _$$_REQUIRE(_dependencyMap[9]).colors.black,
      fontWeight: "600",
      textTransform: "uppercase"
    }, _reactNative.Platform.select({
      web: {
        whiteSpace: "normal",
        overflowWrap: "normal"
      }
    })),
    footerCenter: {
      textAlign: "center"
    },
    footerLeft: {
      textAlign: "left"
    }
  });

  function Badge(props) {
    var minFontSize = props.minFontSize,
        cssPrefix = props.cssPrefix,
        _props$text = props.text,
        text = _props$text === undefined ? "" : _props$text,
        showDownloadCheck = props.showDownloadCheck,
        adaptFontSize = props.adaptFontSize,
        adaptWidth = props.adaptWidth,
        style = props.style;

    var _useState = (0, _react.useState)(false),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        evaluated = _useState2[0],
        setEvaluated = _useState2[1];

    var _useState3 = (0, _react.useState)(_reactNative.Platform.select({
      native: 12,
      default: 13
    })),
        _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
        fontSize = _useState4[0],
        setFontSize = _useState4[1];

    var _useState5 = (0, _react.useState)(_$$_REQUIRE(_dependencyMap[8]).CARD_PADDING * 2),
        _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
        paddingHorizontal = _useState6[0],
        setPaddingHorizontal = _useState6[1];

    var _useState7 = (0, _react.useState)(_$$_REQUIRE(_dependencyMap[8]).CARD_PADDING),
        _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
        paddingInternal = _useState8[0],
        setPaddingInternal = _useState8[1];

    var _useState9 = (0, _react.useState)(false),
        _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
        enableSplitOnFirstWhiteSpace = _useState10[0],
        setEnableSplitOnFirstWhiteSpace = _useState10[1];

    var textLayout = (0, _react.useRef)(undefined);
    var parentLayout = (0, _react.useRef)(undefined);

    var evaluateFontSize = function evaluateFontSize() {
      if (textLayout.current && parentLayout.current && !evaluated) {
        var paddingAttemptCompleted = adaptWidth && paddingHorizontal === 0 && paddingInternal < 5;

        if (textLayout.current.width <= parentLayout.current.width - paddingInternal * 2) {
          setEvaluated(true);
        } else if (adaptFontSize || paddingAttemptCompleted) {
          if (text.trim().indexOf(" ") >= 0 && !enableSplitOnFirstWhiteSpace) {
            setEnableSplitOnFirstWhiteSpace(true);
          } else {
            var newFontSize = fontSize - 1;

            if (newFontSize === minFontSize) {
              setEvaluated(true);
            }

            setFontSize(newFontSize);
          }
        } else if (adaptWidth && paddingHorizontal === 0) {
          setPaddingInternal(paddingInternal - 1);
        } else if (adaptWidth) {
          setPaddingHorizontal(paddingHorizontal < 1 ? 0 : paddingHorizontal / 2);
        }
      }
    };

    var textLines = text.trim().split(_$$_REQUIRE(_dependencyMap[8]).NEW_LINE);

    if (enableSplitOnFirstWhiteSpace) {
      textLines = textLines.reduce(function (current, line) {
        var lastIndex = line.indexOf(" ");
        var before = line.slice(0, lastIndex);
        var after = line.slice(lastIndex + 1);
        current.push(before, after);
        return current;
      }, []);
    }

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Css, {
      classes: ["opt-issue-item-footer-container"],
      cssKey: cssPrefix
    }, _react.default.createElement(_reactNative.View, {
      style: [styles.container, style, {
        start: paddingHorizontal / 2,
        end: paddingHorizontal / 2,
        padding: paddingInternal
      }]
    }, _react.default.createElement(_reactNative.View, {
      style: styles.footer,
      onLayout: function onLayout(_ref) {
        var nativeEvent = _ref.nativeEvent;
        parentLayout.current = nativeEvent.layout;
        evaluateFontSize();
      }
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Css, {
      classes: ["opt-issue-item-footer-text"],
      cssKey: cssPrefix
    }, _react.default.createElement(_reactNative.View, null, textLines.map(function (item, index) {
      return _react.default.createElement(_taText.default, {
        key: "footer_text_" + index + "_" + index,
        numberOfLines: 3,
        style: [styles.footerText, styles.footerCenter, {
          fontSize: fontSize
        }],
        onLayout: function onLayout(_ref2) {
          var nativeEvent = _ref2.nativeEvent;
          textLayout.current = nativeEvent.layout;
          evaluateFontSize();
        }
      }, item);
    })))), showDownloadCheck ? _react.default.createElement(_downloadedCheck.default, {
      size: 16,
      cssKey: "badge"
    }) : null));
  }

  Badge.defaultProps = {
    minFontSize: 9,
    showDownloadCheck: false,
    adaptFontSize: false,
    adaptWidth: true
  };
  Badge.propTypes = {
    showDownloadCheck: _propTypes.default.bool,
    minFontSize: _propTypes.default.number,
    cssPrefix: _propTypes.default.string,
    text: _propTypes.default.string,
    adaptFontSize: _propTypes.default.bool,
    adaptWidth: _propTypes.default.bool,
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array])
  };
  var _default = Badge;
  exports.default = _default;
},1245,[5,41,6,17,201,28,988,1246,990,982,987]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _icCheckCircle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _excluded = ["size", "cssKey"];

  function DownloadedCheck(props) {
    var size = props.size,
        cssKey = props.cssKey,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);
    var others = {};

    if (size !== undefined) {
      others.width = size;
      others.height = size;
    }

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).Css, {
      classes: ["opt-downloaded-check", "opt-downloaded-check-" + cssKey]
    }, _react.default.createElement(_icCheckCircle.default, (0, _extends2.default)({}, others, rest)));
  }

  DownloadedCheck.propTypes = {
    size: _propTypes.default.number,
    cssKey: _propTypes.default.string
  };
  DownloadedCheck.defaultProps = {};
  var _default = DownloadedCheck;
  exports.default = _default;
},1246,[5,6,108,17,201,1247,987]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var IcCheckCircle = function IcCheckCircle(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Svg, props, _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M10 17L5 12L6.41 10.59L10 14.17L17.59 6.58L19 8L10 17Z"
    }));
  };

  var _default = IcCheckCircle;
  exports.default = _default;
},1247,[5,17,776]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.BaseList = BaseList;
  exports.default = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _horizontalList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _verticalList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _excluded = ["horizontal", "renderItem", "renderVerticalItem", "renderHorizontalItem"],
      _excluded2 = ["cssListClasses", "listContainerStyle"];

  var styles = _reactNative.StyleSheet.create({
    container: {
      flex: 1
    }
  });

  function BaseList(props) {
    var horizontal = props.horizontal,
        _renderItem = props.renderItem,
        renderVerticalItem = props.renderVerticalItem,
        renderHorizontalItem = props.renderHorizontalItem,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);
    var ListComponent = horizontal ? _horizontalList.default : _verticalList.default;
    var listConstraintRender = horizontal ? renderHorizontalItem : renderVerticalItem;
    return _react.default.createElement(ListComponent, (0, _extends2.default)({}, rest, {
      renderItem: function renderItem(itemProps) {
        var style = itemProps.style;

        if (typeof listConstraintRender === "function") {
          return _react.default.createElement(_reactNative.View, {
            style: style
          }, listConstraintRender(itemProps));
        }

        if (typeof _renderItem === "function") {
          return _react.default.createElement(_reactNative.View, {
            style: style
          }, _renderItem(itemProps));
        }

        return null;
      }
    }));
  }

  function List(props) {
    var cssListClasses = props.cssListClasses,
        listContainerStyle = props.listContainerStyle,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded2);

    var cssListContainer = _$$_REQUIRE(_dependencyMap[9]).CssHelper.flatten([styles.container, _$$_REQUIRE(_dependencyMap[10]).commonStyles.margin, listContainerStyle], ["opt-list-container"].concat((0, _toConsumableArray2.default)(cssListClasses)));

    return _react.default.createElement(_reactNative.View, {
      style: cssListContainer
    }, _react.default.createElement(BaseList, rest));
  }

  List.propTypes = {
    renderItem: _propTypes.default.func,
    renderVerticalItem: _propTypes.default.func,
    renderHorizontalItem: _propTypes.default.func,
    keyExtractor: _propTypes.default.func.isRequired,
    data: _propTypes.default.array.isRequired,
    cssListClasses: _propTypes.default.array,
    listContainerStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    horizontal: _propTypes.default.bool,
    removeClippedSubviews: _propTypes.default.bool,
    initialNumToRender: _propTypes.default.number,
    itemSize: _propTypes.default.object
  };
  List.defaultProps = {
    horizontal: true,
    initialNumToRender: 5,
    removeClippedSubviews: true,
    cssListClasses: []
  };
  var _default = List;
  exports.default = _default;
},1248,[5,21,6,108,17,28,201,1249,1251,987,990]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _headerList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _excluded = ["title", "HeaderComponent", "horizontalContainerStyle", "renderItem", "itemSize"];

  var styles = _reactNative.StyleSheet.create({
    list: (0, _extends2.default)({}, _reactNative.Platform.select({
      web: {
        overflow: "auto"
      }
    }))
  });

  function HorizontalList(props) {
    var title = props.title,
        HeaderComponent = props.HeaderComponent,
        horizontalContainerStyle = props.horizontalContainerStyle,
        _renderItem = props.renderItem,
        itemSize = props.itemSize,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[7]).Css, {
      classes: ["opt-issues-container", "opt-issues-container-horizontal"]
    }, _react.default.createElement(_reactNative.View, {
      style: [_$$_REQUIRE(_dependencyMap[8]).commonStyles.container, _$$_REQUIRE(_dependencyMap[8]).commonStyles.card, _$$_REQUIRE(_dependencyMap[8]).commonStyles.shadow, horizontalContainerStyle],
      collapsable: false
    }, HeaderComponent ? HeaderComponent : _react.default.createElement(_headerList.default, {
      title: title
    }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[7]).Css, {
      classes: ["opt-issues-list", "opt-issues-list-horizontal"]
    }, _react.default.createElement(_reactNative.FlatList, (0, _extends2.default)({
      key: "edition_list_cols",
      horizontal: true,
      contentContainerStyle: _$$_REQUIRE(_dependencyMap[7]).CssHelper.flatten([styles.list], ["opt-issues-list-container", "opt-issues-list-container-horizontal"]),
      renderItem: function renderItem(_ref) {
        var item = _ref.item,
            index = _ref.index;
        return _renderItem({
          item: item,
          index: index,
          style: [itemSize],
          size: itemSize
        });
      }
    }, rest)))));
  }

  HorizontalList.propTypes = {
    horizontalContainerStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    itemSize: _propTypes.default.shape({
      width: _propTypes.default.number,
      height: _propTypes.default.number
    }),
    data: _propTypes.default.array.isRequired,
    title: _propTypes.default.string,
    HeaderComponent: _propTypes.default.node,
    renderItem: _propTypes.default.func.isRequired,
    keyExtractor: _propTypes.default.func.isRequired
  };
  var _default = HorizontalList;
  exports.default = _default;
},1249,[5,108,6,17,201,28,1250,987,990]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _taText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _taImageIcon = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var styles = _reactNative.StyleSheet.create({
    header: {
      height: _$$_REQUIRE(_dependencyMap[6]).HEADER_HEIGHT,
      backgroundColor: _$$_REQUIRE(_dependencyMap[7]).colors.white,
      alignItems: "center",
      flexDirection: "row"
    },
    text: {
      color: _$$_REQUIRE(_dependencyMap[7]).colors.black,
      fontSize: 20,
      fontWeight: "bold"
    },
    left: {
      flex: 1,
      paddingHorizontal: 15,
      flexDirection: "row",
      alignItems: "center"
    },
    right: {}
  });

  function HeaderList(props) {
    var title = props.title,
        Icon = props.Icon,
        TextComponent = props.TextComponent,
        RightComponent = props.RightComponent;

    if (!title && !TextComponent) {
      return null;
    }

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["opt-header-container"]
    }, _react.default.createElement(_reactNative.View, {
      style: styles.header
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["opt-header-left"]
    }, _react.default.createElement(_reactNative.View, {
      style: styles.left
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["opt-header-icon"]
    }, _react.default.createElement(_taImageIcon.default, {
      DefaultComponent: Icon
    })), _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["opt-header-text"]
    }, TextComponent || _react.default.createElement(_taText.default, {
      style: styles.text
    }, title)))), _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["opt-header-right"]
    }, _react.default.createElement(_reactNative.View, {
      style: styles.right
    }, RightComponent || null))));
  }

  HeaderList.propTypes = {
    title: _propTypes.default.string,
    Icon: _propTypes.default.node,
    TextComponent: _propTypes.default.node,
    RightComponent: _propTypes.default.node
  };
  var _default = HeaderList;
  exports.default = _default;
},1250,[5,17,201,28,988,773,990,982,987]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  var _excluded = ["data", "itemSize", "containerStyle", "contentContainerStyle", "renderItem", "gridMode", "numColumns"];

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  var styles = _reactNative.StyleSheet.create({
    container: {
      overflow: "hidden"
    },
    list: (0, _extends2.default)({}, _reactNative.Platform.select({
      web: {
        overflow: "auto",
        height: "100%"
      }
    }))
  });

  function VerticalList(props) {
    var data = props.data,
        defaultItemSize = props.itemSize,
        containerStyle = props.containerStyle,
        contentContainerStyle = props.contentContainerStyle,
        _renderItem = props.renderItem,
        gridMode = props.gridMode,
        defaultNumColumns = props.numColumns,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);

    var _useState = (0, _react.useState)({}),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        state = _useState2[0],
        setState = _useState2[1];

    var onLayout = function onLayout(_ref) {
      var nativeEvent = _ref.nativeEvent;
      var layout = nativeEvent.layout;
      var itemSize = (0, _extends2.default)({}, defaultItemSize);

      if (!itemSize.width) {
        itemSize.width = Math.floor(layout.width / defaultNumColumns || 1);
      }

      var nCols = defaultNumColumns || Math.floor(layout.width / itemSize.width) || 1;
      var availableRightSpace = layout.width - itemSize.width * nCols;
      var aspectRatio = itemSize.width / itemSize.height;

      if (availableRightSpace < itemSize.width * 0.5) {
        itemSize.width += Math.floor(availableRightSpace / nCols);
        itemSize.height = itemSize.width / aspectRatio;
      } else if (availableRightSpace > itemSize.width * 0.75) {
        nCols += 1;
        itemSize.width = Math.floor(layout.width / nCols);
        itemSize.height = itemSize.width / aspectRatio;
      }

      setState({
        layout: layout,
        numColumns: nCols,
        itemSize: itemSize
      });
    };

    var layout = state.layout,
        numColumns = state.numColumns,
        itemSize = state.itemSize;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[7]).Css, {
      classes: ["opt-issues-container", "opt-issues-container-vertical"]
    }, _react.default.createElement(_reactNative.View, {
      style: [_$$_REQUIRE(_dependencyMap[8]).commonStyles.container, styles.container, containerStyle],
      onLayout: onLayout,
      collapsable: false
    }, layout ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[7]).Css, {
      classes: ["opt-issues-list", "opt-issues-list-vertical"]
    }, _react.default.createElement(_reactNative.FlatList, (0, _extends2.default)({
      key: "edition_list_cols_" + numColumns,
      data: data,
      contentContainerStyle: _$$_REQUIRE(_dependencyMap[7]).CssHelper.flatten([styles.list, contentContainerStyle], ["opt-issues-list-container", "opt-issues-list-container-vertical"]),
      style: {
        overflow: "visible"
      },
      renderItem: function renderItem(_ref2) {
        var item = _ref2.item,
            index = _ref2.index;
        var style = [itemSize];

        if (gridMode && numColumns > 1) {
          var margin = (layout.width - itemSize.width * numColumns) / (numColumns - 1) / 2;

          if (index % numColumns === 0) {
            style.push({
              marginRight: margin
            });
          } else if ((index + 1) % numColumns === 0) {
            style.push({
              marginLeft: margin
            });
          } else {
            style.push({
              marginHorizontal: margin
            });
          }
        }

        var itemProps = {
          item: item,
          index: index,
          style: style,
          size: itemSize
        };
        return _renderItem(itemProps);
      }
    }, rest, {
      numColumns: numColumns
    }))) : null));
  }

  VerticalList.propTypes = {
    data: _propTypes.default.array,
    itemSize: _propTypes.default.shape({
      width: _propTypes.default.number,
      height: _propTypes.default.number
    }),
    numColumns: _propTypes.default.number,
    renderItem: _propTypes.default.func,
    keyExtractor: _propTypes.default.func,
    containerStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    contentContainerStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    gridMode: _propTypes.default.bool
  };
  var _default = VerticalList;
  exports.default = _default;
},1251,[5,41,108,6,17,201,28,987,990]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _issueItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _excluded = ["style", "imageParentStyle", "footerParentStyle"];

  var styles = _reactNative.StyleSheet.create({
    container: {
      padding: 0,
      marginBottom: _$$_REQUIRE(_dependencyMap[6]).BADGE_BOTTOM_CONSTRAINT,
      backgroundColor: _$$_REQUIRE(_dependencyMap[7]).colors.white,
      shadowOffset: {
        height: 1,
        width: 1
      },
      shadowColor: _$$_REQUIRE(_dependencyMap[7]).colors.transparent600,
      shadowOpacity: 0.3,
      shadowRadius: 0,
      elevation: 1
    },
    imageParentStyle: {
      overflow: "hidden",
      borderRadius: _$$_REQUIRE(_dependencyMap[8]).CARD_RADIUS
    }
  });

  function IssueCardItem(props) {
    var _props$style = props.style,
        style = _props$style === undefined ? {} : _props$style,
        imageParentStyle = props.imageParentStyle,
        footerParentStyle = props.footerParentStyle,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);
    return _react.default.createElement(_issueItem.default, (0, _extends2.default)({}, rest, {
      cssPrefix: "card",
      imageParentStyle: [styles.imageParentStyle, imageParentStyle],
      style: [_$$_REQUIRE(_dependencyMap[8]).commonStyles.card, _$$_REQUIRE(_dependencyMap[8]).commonStyles.full, styles.container, style]
    }));
  }

  var _default = IssueCardItem;
  exports.default = _default;
},1252,[5,6,108,17,28,1236,1245,982,990]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _issueItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _excluded = ["style"];

  function IssueFlatItem(props) {
    var _props$style = props.style,
        style = _props$style === undefined ? {} : _props$style,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);
    return _react.default.createElement(_issueItem.default, (0, _extends2.default)({}, rest, {
      cssPrefix: "flat",
      style: [_$$_REQUIRE(_dependencyMap[5]).commonStyles.container, _$$_REQUIRE(_dependencyMap[5]).commonStyles.margin, style]
    }));
  }

  IssueFlatItem.propTypes = _issueItem.default.propTypes;
  var _default = IssueFlatItem;
  exports.default = _default;
},1253,[5,6,108,17,1236,990]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _horizontalList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _verticalList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _cssStyles = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _excluded = ["horizontal", "aspectRatio", "itemHeight", "containerStyle", "renderItem", "renderVerticalItem", "renderHorizontalItem", "cssListClasses", "itemStyle"];

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  var styles = _reactNative.StyleSheet.create({
    container: {
      flex: 1
    }
  });

  function LayoutList(props) {
    var horizontal = props.horizontal,
        aspectRatio = props.aspectRatio,
        itemHeight = props.itemHeight,
        containerStyle = props.containerStyle,
        _renderItem = props.renderItem,
        renderVerticalItem = props.renderVerticalItem,
        renderHorizontalItem = props.renderHorizontalItem,
        cssListClasses = props.cssListClasses,
        itemStyle = props.itemStyle,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);

    var _useState = (0, _react.useState)(),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        layout = _useState2[0],
        setLayout = _useState2[1];

    var onLayout = (0, _react.useCallback)(function (_ref) {
      var nativeEvent = _ref.nativeEvent;
      setLayout(nativeEvent.layout);
    });

    if (!aspectRatio) {
      return null;
    }

    var ToRender = null;

    if (layout) {
      var cssListContainer = _$$_REQUIRE(_dependencyMap[11]).CssHelper.flatten([styles.container, _$$_REQUIRE(_dependencyMap[12]).commonStyles.margin], ["opt-list-container"].concat((0, _toConsumableArray2.default)(cssListClasses)));

      var constraints = _cssStyles.default.updateSizeByApplingStyle(layout, cssListContainer);

      var itemFullStyle = _$$_REQUIRE(_dependencyMap[11]).CssHelper.flatten([{
        height: itemHeight
      }, itemStyle]);

      var itemSize = (0, _$$_REQUIRE(_dependencyMap[13]).updateSize)({
        height: itemFullStyle.height,
        aspectRatio: aspectRatio,
        constraints: constraints
      });
      var ListComponent = horizontal ? _horizontalList.default : _verticalList.default;
      var listConstraintRender = horizontal ? renderHorizontalItem : renderVerticalItem;
      ToRender = _react.default.createElement(ListComponent, (0, _extends2.default)({
        itemSize: itemSize
      }, rest, {
        renderItem: function renderItem(_ref2) {
          var item = _ref2.item,
              index = _ref2.index,
              style = _ref2.style,
              size = _ref2.size;
          var itemProps = {
            item: item,
            index: index,
            style: style,
            size: size
          };
          var Rendered = null;

          if (typeof listConstraintRender === "function") {
            Rendered = listConstraintRender(itemProps);
          }

          if (typeof _renderItem === "function") {
            Rendered = _renderItem(itemProps);
          }

          if (Rendered) {
            return _react.default.createElement(_reactNative.View, {
              style: style
            }, Rendered);
          }

          return null;
        }
      }));
    }

    return _react.default.createElement(_reactNative.View, {
      style: containerStyle || styles.container,
      onLayout: onLayout
    }, ToRender);
  }

  LayoutList.propTypes = {
    renderItem: _propTypes.default.func,
    renderVerticalItem: _propTypes.default.func,
    renderHorizontalItem: _propTypes.default.func,
    aspectRatio: _propTypes.default.number,
    itemHeight: _propTypes.default.number,
    keyExtractor: _propTypes.default.func.isRequired,
    data: _propTypes.default.array.isRequired,
    cssListClasses: _propTypes.default.array,
    horizontal: _propTypes.default.bool,
    removeClippedSubviews: _propTypes.default.bool,
    initialNumToRender: _propTypes.default.number,
    containerStyle: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.number]),
    itemStyle: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.number])
  };
  LayoutList.defaultProps = {
    horizontal: true,
    initialNumToRender: 5,
    removeClippedSubviews: true,
    cssListClasses: [],
    itemHeight: _$$_REQUIRE(_dependencyMap[13]).THUMBNAIL_HEIGHT
  };
  var _default = LayoutList;
  exports.default = _default;
},1254,[5,6,21,41,108,17,28,201,1249,1251,775,987,990,1255]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.THUMBNAIL_MAIN_HEIGHT = exports.THUMBNAIL_HR_THRESHOLD = exports.THUMBNAIL_HEIGHT = exports.EDITION_HEIGHT = undefined;
  exports.updateSize = updateSize;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var EDITION_HEIGHT = _reactNative.Platform.select({
    native: 150,
    web: 200
  });

  exports.EDITION_HEIGHT = EDITION_HEIGHT;

  var THUMBNAIL_HEIGHT = _reactNative.Platform.select({
    native: 260,
    web: 300
  });

  exports.THUMBNAIL_HEIGHT = THUMBNAIL_HEIGHT;
  var THUMBNAIL_HR_THRESHOLD = 200;
  exports.THUMBNAIL_HR_THRESHOLD = THUMBNAIL_HR_THRESHOLD;
  var THUMBNAIL_MAIN_HEIGHT = 600;
  exports.THUMBNAIL_MAIN_HEIGHT = THUMBNAIL_MAIN_HEIGHT;

  function updateSize(_ref) {
    var height = _ref.height,
        aspectRatio = _ref.aspectRatio,
        constraints = _ref.constraints;
    var defaultHeight = height;
    var size = {
      width: defaultHeight * aspectRatio,
      height: defaultHeight
    };
    var scaleX = constraints.width / size.width;

    if (scaleX < 1) {
      size.width *= scaleX;
      size.height *= scaleX;
    }

    return size;
  }
},1255,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.AspectRatioContext = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var AspectRatioContext = _react.default.createContext(1);

  exports.AspectRatioContext = AspectRatioContext;
},1256,[5,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _layoutList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _editionsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _issueItem = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  var _issue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _editionBackItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _issueCardItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _excluded = ["horizontal", "edition", "issueCallbacks", "showHighRes", "onFavoritePress", "isSelected", "onlyGroup"];

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  function keyExtractor(item, index) {
    if (item instanceof _edition.default) {
      return (0, _$$_REQUIRE(_dependencyMap[16]).editionItemKey)(item, index);
    }

    if (item instanceof _issue.default) {
      return (0, _issueItem.issueItemKey)(item, index);
    }

    return "edition_list_item_" + index;
  }

  function EditionListItem(props) {
    var item = props.item,
        index = props.index,
        size = props.size,
        onlyGroup = props.onlyGroup,
        parent = props.parent,
        issueCallbacks = props.issueCallbacks,
        onItemPress = props.onItemPress,
        onBackPress = props.onBackPress,
        showHighRes = props.showHighRes,
        onFavoritePress = props.onFavoritePress,
        isSelected = props.isSelected;
    var _props$singleIssueLab = props.singleIssueLabelFormat,
        textFormat = _props$singleIssueLab === undefined ? "issue" : _props$singleIssueLab;
    var issueProps = {};

    if (item instanceof _edition.default) {
      var isBackItem = parent && parent.getName() === item.getName();

      if (isBackItem) {
        return _react.default.createElement(_editionBackItem.default, {
          key: "back_item_" + index,
          item: parent,
          onItemPress: onBackPress
        });
      }

      var issues = item.getIssues();

      if (issues.length > 1 || item.isLazy() || !issues.length || onlyGroup || item.isSecondary()) {
        var enableFavorite = typeof onFavoritePress === "function";
        var EditionComponent = item.getGroup().length || !enableFavorite ? _$$_REQUIRE(_dependencyMap[17]).EditionFolderItem : _$$_REQUIRE(_dependencyMap[18]).EditionFavoriteItem;
        return _react.default.createElement(EditionComponent, {
          key: "edition_item_" + index,
          item: item,
          onFavoriteIconPress: function onFavoriteIconPress() {
            return onFavoritePress(item);
          },
          onFolderIconPress: function onFolderIconPress() {
            return onItemPress(item);
          },
          showHighRes: showHighRes || size.height > _$$_REQUIRE(_dependencyMap[19]).THUMBNAIL_HR_THRESHOLD,
          enableFavorite: enableFavorite,
          selected: typeof isSelected === "function" ? isSelected(item) : false
        });
      }

      issueProps.item = issues[0];
    }

    if (parent) {
      if (parent.getLabel() === item.getDateLabel()) {
        textFormat = "edition";
      } else if (parent.getLabel() === item.getEditionLabel()) {
        textFormat = "issue";
      } else {
        textFormat = "edition" + _$$_REQUIRE(_dependencyMap[20]).NEW_LINE + "-" + _$$_REQUIRE(_dependencyMap[20]).NEW_LINE + "issue";
      }
    }

    return _react.default.createElement(_issueCardItem.default, (0, _extends2.default)({
      key: "issue_item_" + index,
      item: item,
      issueCallbacks: issueCallbacks,
      showHighRes: showHighRes || size.height > _$$_REQUIRE(_dependencyMap[19]).THUMBNAIL_HR_THRESHOLD,
      textFormat: textFormat
    }, issueProps));
  }

  function EditionList(props) {
    var horizontal = props.horizontal,
        edition = props.edition,
        issueCallbacks = props.issueCallbacks,
        showHighRes = props.showHighRes,
        onFavoritePress = props.onFavoritePress,
        isSelected = props.isSelected,
        onlyGroup = props.onlyGroup,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);

    var _useState = (0, _react.useState)({
      items: edition.getGroup(),
      parent: undefined
    }),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        data = _useState2[0],
        setData = _useState2[1];

    var parentEditionName = (0, _react.useRef)("");

    var updateData = function updateData(newData) {
      setData(newData);
      parentEditionName.current = newData.parent ? newData.parent.getName() : "";
    };

    var lazyLoad = function _callee(item) {
      var issue, pSetup, pics;
      return _regenerator.default.async(function _callee$(_context) {
        while (1) {
          switch (_context.prev = _context.next) {
            case 0:
              if (!item.isLazy()) {
                _context.next = 9;
                break;
              }

              issue = _editionsHelper.default.getFirstValidIssue([item]);
              pSetup = item.getPSetup() || issue.getPSetup();

              if (!item.isMain()) {
                pSetup = _liveConfig.default.getMainPSetupName() + "-xp-" + pSetup;
              }

              _context.next = 6;
              return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[21]).getEditionsPics)({
                pSetup: pSetup
              }));

            case 6:
              pics = _context.sent;

              _editionsHelper.default.populateIssueOnEditions([edition], pics);

              if (item.getName() === parentEditionName.current) {
                updateData({
                  items: item.getIssues(),
                  parent: item
                });
              }

            case 9:
            case "end":
              return _context.stop();
          }
        }
      }, null, null, null, Promise);
    };

    var onItemPress = function onItemPress(item) {
      if (item.getGroup().length) {
        setData({
          items: item.getGroup(),
          parent: item
        });
      } else if (!onlyGroup) {
        lazyLoad(item);
        updateData({
          items: item.getIssues(),
          parent: item
        });
      }
    };

    var onBackPress = function onBackPress(item) {
      var _EditionsHelper$getPr = _editionsHelper.default.getPreviousLevel(edition, data.parent),
          items = _EditionsHelper$getPr.items,
          parent = _EditionsHelper$getPr.parent;

      updateData({
        items: items,
        parent: parent
      });
    };

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[22]).AspectRatioContext.Consumer, null, function (value) {
      return _react.default.createElement(_layoutList.default, (0, _extends2.default)({
        aspectRatio: value,
        horizontal: horizontal,
        data: data.parent ? [data.parent].concat((0, _toConsumableArray2.default)(data.items)) : data.items,
        keyExtractor: keyExtractor,
        renderItem: function renderItem(itemProps) {
          var item = itemProps.item;
          var singleIssueLabelFormat = "issue";

          var _edition$getGroup = edition.getGroup(),
              _edition$getGroup2 = (0, _slicedToArray2.default)(_edition$getGroup, 1),
              mainEdition = _edition$getGroup2[0];

          if (!data.parent && !edition.isMain() || edition.isMain() && mainEdition && item instanceof _edition.default && item.getName() !== mainEdition.getName()) {
            singleIssueLabelFormat = "edition" + _$$_REQUIRE(_dependencyMap[20]).NEW_LINE + "-" + _$$_REQUIRE(_dependencyMap[20]).NEW_LINE + "issue";
          }

          return _react.default.createElement(EditionListItem, (0, _extends2.default)({}, itemProps, {
            issueCallbacks: issueCallbacks,
            parent: data.parent,
            showHighRes: showHighRes,
            isSelected: isSelected,
            onItemPress: onItemPress,
            onBackPress: onBackPress,
            onFavoritePress: onFavoritePress,
            onlyGroup: onlyGroup,
            singleIssueLabelFormat: singleIssueLabelFormat
          }));
        }
      }, rest));
    });
  }

  EditionList.propTypes = {
    horizontal: _propTypes.default.bool,
    removeClippedSubviews: _propTypes.default.bool,
    initialNumToRender: _propTypes.default.number,
    onlyGroup: _propTypes.default.bool,
    edition: _propTypes.default.instanceOf(_edition.default),
    issueCallbacks: _issueItem.default.propTypes.issueCallbacks,
    showHighRes: _propTypes.default.bool,
    isSelected: _propTypes.default.func,
    onFavoritePress: _propTypes.default.func
  };
  EditionList.defaultProps = {
    horizontal: true,
    initialNumToRender: 5,
    removeClippedSubviews: true,
    onlyGroup: false,
    showHighRes: false
  };
  var _default = EditionList;
  exports.default = _default;
},1257,[5,80,21,41,108,6,17,201,1254,1114,1123,1236,758,1258,1252,993,1262,1263,1265,1255,990,755,1256]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _icBackCircle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _editionCardItemWithIcons = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var styles = _reactNative.StyleSheet.create({
    container: {
      borderColor: _$$_REQUIRE(_dependencyMap[6]).colors.black,
      borderWidth: 2,
      borderStyle: "dashed",
      backgroundColor: _$$_REQUIRE(_dependencyMap[6]).colors.transparent
    },
    iconContainer: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[6]).colors.transparent
    }
  });

  function EditionBackItem(props) {
    return _react.default.createElement(_editionCardItemWithIcons.default, (0, _extends2.default)({
      Icons: [_react.default.createElement(_icBackCircle.default, null)]
    }, props, {
      showThumbnail: false,
      style: [styles.container, _$$_REQUIRE(_dependencyMap[7]).commonStyles.noShadow],
      iconContainerStyle: [styles.iconContainer, _$$_REQUIRE(_dependencyMap[7]).commonStyles.noShadow]
    }));
  }

  EditionBackItem.propTypes = {};
  EditionBackItem.defaultProps = {};
  var _default = EditionBackItem;
  exports.default = _default;
},1258,[5,6,17,28,1259,1260,982,990]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var IcBackCircle = function IcBackCircle(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Svg, props, _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12M18,11H10L13.5,7.5L12.08,6.08L6.16,12L12.08,17.92L13.5,16.5L10,13H18V11Z"
    }));
  };

  var _default = IcBackCircle;
  exports.default = _default;
},1259,[5,17,776]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _editionCardItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _excluded = ["style", "iconsContainerStyle", "iconContainerStyle", "Icons"];

  var styles = _reactNative.StyleSheet.create({
    container: {
      flex: 1
    },
    iconsRow: {
      flexDirection: "row",
      justifyContent: "center"
    },
    iconsContainer: {
      justifyContent: "center",
      alignItems: "center"
    },
    iconContainer: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[7]).colors.white,
      borderRadius: 10,
      width: 50,
      height: 50,
      margin: 2,
      justifyContent: "center",
      alignItems: "center"
    }
  });

  function EditionCardItemWithIcons(props) {
    var style = props.style,
        iconsContainerStyle = props.iconsContainerStyle,
        iconContainerStyle = props.iconContainerStyle,
        Icons = props.Icons,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["opt-edition-item-back-container"]
    }, _react.default.createElement(_editionCardItem.default, (0, _extends2.default)({
      style: [styles.container, style],
      showGradient: Icons.length > 0
    }, rest), Icons.length ? _react.default.createElement(_reactNative.View, {
      style: [_$$_REQUIRE(_dependencyMap[9]).commonStyles.full, styles.iconsContainer, iconsContainerStyle]
    }, _react.default.createElement(_reactNative.View, {
      style: styles.iconsRow
    }, _react.default.createElement(_reactNative.FlatList, {
      listKey: "list_icon_" + rest.item.getName(),
      numColumns: 2,
      data: Icons,
      renderItem: function renderItem(_ref) {
        var item = _ref.item,
            index = _ref.index;
        return _react.default.createElement(_reactNative.View, {
          key: "edition_card_icon_" + index,
          style: [_$$_REQUIRE(_dependencyMap[9]).commonStyles.shadow, styles.iconContainer, iconContainerStyle]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
          classes: ["opt-edition-item-icon"]
        }, item));
      }
    }))) : null));
  }

  EditionCardItemWithIcons.propTypes = (0, _extends2.default)({}, _editionCardItem.default.propTypes, {
    Icons: _propTypes.default.array,
    style: _propTypes.default.any,
    iconsContainerStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    iconContainerStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array])
  });
  EditionCardItemWithIcons.defaultProps = (0, _extends2.default)({}, _editionCardItem.default.defaultProps, {
    Icons: []
  });
  var _default = EditionCardItemWithIcons;
  exports.default = _default;
},1260,[5,6,108,17,201,28,1261,982,987,990]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _editionItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _excluded = ["style"];

  var styles = _reactNative.StyleSheet.create({
    container: {
      padding: 0,
      marginBottom: _$$_REQUIRE(_dependencyMap[7]).BADGE_BOTTOM_CONSTRAINT,
      backgroundColor: _$$_REQUIRE(_dependencyMap[8]).colors.white,
      shadowOffset: {
        height: 1,
        width: 1
      },
      shadowColor: _$$_REQUIRE(_dependencyMap[8]).colors.transparent600,
      shadowOpacity: 0.3,
      shadowRadius: 0,
      elevation: 1
    },
    imageParentStyle: {
      overflow: "hidden",
      borderRadius: _$$_REQUIRE(_dependencyMap[9]).CARD_RADIUS
    }
  });

  function EditionCardItem(props) {
    var _props$style = props.style,
        style = _props$style === undefined ? {} : _props$style,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);
    return _react.default.createElement(_editionItem.default, (0, _extends2.default)({}, rest, {
      cssPrefix: "edition-card",
      imageParentStyle: styles.imageParentStyle,
      style: [_$$_REQUIRE(_dependencyMap[9]).commonStyles.card, _$$_REQUIRE(_dependencyMap[9]).commonStyles.full, styles.container, style]
    }));
  }

  EditionCardItem.propTypes = (0, _extends2.default)({}, _editionItem.default.propTypes, {
    style: _propTypes.default.any
  });
  EditionCardItem.defaultProps = (0, _extends2.default)({}, _editionItem.default.defaultProps);
  var _default = EditionCardItem;
  exports.default = _default;
},1261,[5,6,108,17,28,201,1262,1245,982,990]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;
  exports.editionItemKey = editionItemKey;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _baseItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _editionsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _baseItemWithImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _excluded = ["item", "showThumbnail", "onItemPress"];

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  function editionItemKey(item, index) {
    return item.getName() + "_" + index;
  }

  function EditionItem(props) {
    var item = props.item,
        showThumbnail = props.showThumbnail,
        onItemPress = props.onItemPress,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);
    var onPress = (0, _react.useCallback)(function () {
      if (typeof onItemPress === "function") {
        onItemPress(item);
      }
    }, []);

    if (!item) {
      return null;
    }

    var Component = showThumbnail ? _baseItemWithImage.default : _baseItem.default;
    return _react.default.createElement(Component, (0, _extends2.default)({}, rest, {
      item: _editionsHelper.default.getFirstValidIssue([item]),
      onPress: onPress,
      badgeText: item.getLabel()
    }));
  }

  EditionItem.propTypes = (0, _extends2.default)({}, _baseItem.default.propTypes, _baseItemWithImage.default.propTypes, {
    item: _propTypes.default.instanceOf(_edition.default).isRequired,
    showThumbnail: _propTypes.default.bool,
    textStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    onItemPress: _propTypes.default.func,
    children: _propTypes.default.any
  });
  EditionItem.defaultProps = (0, _extends2.default)({}, _baseItem.default.defaultProps, _baseItemWithImage.default.defaultProps, {
    style: _$$_REQUIRE(_dependencyMap[9]).commonStyles.container,
    showThumbnail: true
  });
  var _default = EditionItem;
  exports.default = _default;
},1262,[5,6,108,17,201,1114,1244,1123,1237,990]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.EditionFolderItem = EditionFolderItem;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  var _icNewspaperMultiple = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _editionCardItemWithIcons = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _excluded = ["enableFavorite", "onFolderIconPress", "Icons"];

  var styles = _reactNative.StyleSheet.create({
    icon: {
      width: 30,
      height: 30
    }
  });

  function EditionFolderItem(props) {
    var enableFavorite = props.enableFavorite,
        onFolderIconPress = props.onFolderIconPress,
        Icons = props.Icons,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);
    var Img = null;

    if (rest.item && rest.item.getIcon()) {
      Img = _react.default.createElement(_reactNative.Image, {
        source: {
          uri: rest.item.getIcon()
        },
        style: [styles.icon, {
          tintColor: _$$_REQUIRE(_dependencyMap[9]).colors.black
        }]
      });
    } else {
      Img = _react.default.createElement(_icNewspaperMultiple.default, null);
    }

    Img = _react.default.createElement(_reactNative.TouchableOpacity, {
      onPress: onFolderIconPress
    }, Img);

    if (enableFavorite) {
      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).EditionFavoriteItem, (0, _extends2.default)({
        Icons: [].concat((0, _toConsumableArray2.default)(Icons), [Img]),
        onItemPress: onFolderIconPress
      }, rest));
    }

    return _react.default.createElement(_editionCardItemWithIcons.default, (0, _extends2.default)({
      Icons: [].concat((0, _toConsumableArray2.default)(Icons), [Img]),
      onItemPress: onFolderIconPress
    }, rest));
  }

  EditionFolderItem.propTypes = (0, _extends2.default)({}, _editionCardItemWithIcons.default.propTypes, {
    enableFavorite: _propTypes.default.bool,
    onFolderIconPress: _propTypes.default.func.isRequired
  });
  EditionFolderItem.defaultProps = (0, _extends2.default)({}, _editionCardItemWithIcons.default.defaultProps, {
    enableFavorite: true
  });
},1263,[5,6,21,108,17,201,28,1264,1260,982,1265]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var IcNewspaperMultiple = function IcNewspaperMultiple(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Svg, props, _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M4 7V19H19V21H4C2 21 2 19 2 19V7H4M21.3 3H7.7C6.76 3 6 3.7 6 4.55V15.45C6 16.31 6.76 17 7.7 17H21.3C22.24 17 23 16.31 23 15.45V4.55C23 3.7 22.24 3 21.3 3M8 5H13V11H8V5M21 15H8V13H21V15M21 11H15V9H21V11M21 7H15V5H21V7Z"
    }));
  };

  var _default = IcNewspaperMultiple;
  exports.default = _default;
},1264,[5,17,776]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.EditionFavoriteItem = EditionFavoriteItem;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  var _editionCardItemWithIcons = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _icHeartMinus = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _icHeartPlusOutline = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _excluded = ["Icons", "selected", "onFavoriteIconPress"];

  function EditionFavoriteItem(props) {
    var Icons = props.Icons,
        selected = props.selected,
        onFavoriteIconPress = props.onFavoriteIconPress,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);
    return _react.default.createElement(_editionCardItemWithIcons.default, (0, _extends2.default)({
      Icons: [].concat((0, _toConsumableArray2.default)(Icons), [_react.default.createElement(_reactNative.TouchableOpacity, {
        onPress: onFavoriteIconPress
      }, selected ? _react.default.createElement(_icHeartMinus.default, null) : _react.default.createElement(_icHeartPlusOutline.default, null))]),
      onItemPress: onFavoriteIconPress
    }, rest));
  }

  EditionFavoriteItem.propTypes = (0, _extends2.default)({}, _editionCardItemWithIcons.default.propTypes, {
    selected: _propTypes.default.bool,
    onFavoriteIconPress: _propTypes.default.func.isRequired
  });
  EditionFavoriteItem.defaultProps = (0, _extends2.default)({}, _editionCardItemWithIcons.default.defaultProps, {
    selected: false
  });
},1265,[5,6,21,108,17,201,28,1260,1266,1267]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var IcHeartMinus = function IcHeartMinus(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Svg, props, _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M12 18C12 19 12.25 19.92 12.67 20.74L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.93 21.5 11.26 20.62 12.61C19.83 12.23 18.94 12 18 12C14.69 12 12 14.69 12 18M14 17V19H22V17H14Z"
    }));
  };

  var _default = IcHeartMinus;
  exports.default = _default;
},1266,[5,17,776]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var IcHeartPlusOutline = function IcHeartPlusOutline(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Svg, props, _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M12.67 20.74L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.93 21.5 11.26 20.62 12.61C20 12.31 19.31 12.11 18.59 12.04C19.5 10.8 20 9.65 20 8.5C20 6.5 18.5 5 16.5 5C14.96 5 13.46 6 12.93 7.36H11.07C10.54 6 9.04 5 7.5 5C5.5 5 4 6.5 4 8.5C4 11.39 7.14 14.24 11.89 18.55L12 18.65L12.04 18.61C12.12 19.37 12.34 20.09 12.67 20.74M17 14V17H14V19H17V22H19V19H22V17H19V14H17Z"
    }));
  };

  var _default = IcHeartPlusOutline;
  exports.default = _default;
},1267,[5,17,776]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _editionDayPage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _routeEditionsDate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _editionDaySelector = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _editionsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  function EditionDayContainer(props) {
    var main = props.main,
        navigation = props.navigation;

    var _useState = (0, _react.useState)(main.getIssueDayIndex()),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        issueDayIndex = _useState2[0],
        setIssueDayIndex = _useState2[1];

    var edition = main.getEdition();
    (0, _react.useEffect)(function () {
      setIssueDayIndex(main.getIssueDayIndex());
    }, [main]);
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).AspectRatioContext.Consumer, null, function (value) {
      return _react.default.createElement(_editionDayPage.default, (0, _extends2.default)({
        Header: _react.default.createElement(_editionDaySelector.default, {
          selector: !main.isFixed(),
          issues: _editionsHelper.default.getAllIssuesForMainEditions(edition.getGroup()),
          issueIndex: issueDayIndex,
          navigation: navigation,
          onIndexChange: function onIndexChange(index) {
            return setIssueDayIndex(index);
          }
        }),
        enableCalendarConstraint: !main.isFixed(),
        edition: edition,
        issueDayIndex: issueDayIndex
      }, props, {
        aspectRatio: value
      }));
    });
  }

  EditionDayContainer.propTypes = (0, _extends2.default)({}, _editionDayPage.default.propTypes, {
    main: _propTypes.default.instanceOf(_routeEditionsDate.default)
  });
  var _default = EditionDayContainer;
  exports.default = _default;
},1268,[5,6,41,17,201,1269,1120,1285,1123,1256]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _issue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _editionsSecondary = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _issueShadowItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _styles = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[12]));

  var _editionDayBg = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _issueItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _editionsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _issuesGrid = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _editionDayHeader = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _badge = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[19]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  function getIssuesFromEditions(editions, refIssue) {
    var issues = [];
    editions.forEach(function (edition) {
      var subEditions = edition.getGroup();

      if (subEditions.length > 0) {
        issues.push.apply(issues, (0, _toConsumableArray2.default)(getIssuesFromEditions(subEditions, refIssue)));
      } else {
        issues.push.apply(issues, (0, _toConsumableArray2.default)(edition.getIssues().filter(function (issue) {
          return issue.getIssue() === refIssue.getIssue() && issue.getEdition() !== refIssue.getEdition();
        })));
      }
    });
    return issues;
  }

  function getLastIssuesFromEditions(editions) {
    var issues = [];
    editions.forEach(function (edition) {
      var subEditions = edition.getGroup();

      if (subEditions.length > 0) {
        issues.push.apply(issues, (0, _toConsumableArray2.default)(getLastIssuesFromEditions(subEditions)));
      } else {
        var editionIssues = edition.getIssues();

        if (editionIssues.length > 0) {
          issues.push(editionIssues[0]);
        }
      }
    });
    return issues;
  }

  function EditionDayPage(props) {
    var edition = props.edition,
        issueDayIndex = props.issueDayIndex,
        issueCallbacks = props.issueCallbacks,
        aspectRatio = props.aspectRatio,
        Header = props.Header,
        horizontal = props.horizontal,
        enableCalendarConstraint = props.enableCalendarConstraint;

    var _useState = (0, _react.useState)(),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        layout = _useState2[0],
        setLayout = _useState2[1];

    var _useState3 = (0, _react.useState)(),
        _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
        height = _useState4[0],
        setHeight = _useState4[1];

    var onLayout = (0, _react.useCallback)(function (_ref) {
      var nativeEvent = _ref.nativeEvent;
      setLayout(nativeEvent.layout);
    });
    var onListLayout = (0, _react.useCallback)(function (_ref2) {
      var nativeEvent = _ref2.nativeEvent;
      setHeight(nativeEvent.layout.height);
    });

    var issues = _editionsHelper.default.getAllIssuesForMainEditions(edition.getGroup());

    var mainIssue = issues[issueDayIndex];
    var Component = null;

    if (layout) {
      var headerPadding = horizontal ? _$$_REQUIRE(_dependencyMap[20]).MAIN_VIEW_PADDING : 0;
      var availableWidth = horizontal ? layout.width / 2 : layout.width;
      var referenceWidth = Math.min(availableWidth, _$$_REQUIRE(_dependencyMap[20]).MAIN_ISSUE_MAX_WIDTH);
      var availableHeight = layout.height - _editionDayHeader.default.HEIGHT;
      var mainThumbnailWidth = referenceWidth - _$$_REQUIRE(_dependencyMap[20]).MAIN_VIEW_PADDING * 2;
      var mainThumbnailHeight = mainThumbnailWidth / aspectRatio;
      var availableRightWidth = horizontal ? Math.max(0, layout.width - referenceWidth - _$$_REQUIRE(_dependencyMap[20]).MAIN_VIEW_PADDING) : mainThumbnailWidth;
      var otherThumbnailHeight = Math.min(mainThumbnailHeight * 3 / 5, availableHeight / 2);
      var otherThumbnailWidth = otherThumbnailHeight * aspectRatio;

      if (otherThumbnailWidth < _$$_REQUIRE(_dependencyMap[20]).ISSUE_MIN_WIDTH) {
        otherThumbnailWidth = _$$_REQUIRE(_dependencyMap[20]).ISSUE_MIN_WIDTH;
        otherThumbnailHeight = otherThumbnailWidth / aspectRatio;
      }

      var mainIssueHeight = 0;

      if (_liveConfig.default.getPSetup().showEntireMainIssue) {
        mainIssueHeight = mainThumbnailHeight + _styles.MAIN_ISSUE_MARGIN;
      } else {
        mainIssueHeight = Math.max(mainThumbnailHeight / 2, Math.min(mainThumbnailHeight, availableHeight - (horizontal ? 0 : otherThumbnailHeight)));
      }

      var coloredAreaHeight = layout.height / 3;

      var _edition$getGroup = edition.getGroup(),
          _edition$getGroup2 = (0, _toArray2.default)(_edition$getGroup),
          mainEdition = _edition$getGroup2[0],
          others = _edition$getGroup2.slice(1);

      var otherMainEditions = others.filter(function (insert) {
        return insert.isMain();
      });
      var otherEditions = others.filter(function (insert) {
        return !insert.isMain();
      });

      var secondaryEditions = _editionsHelper.default.getSecondaryEditions(otherEditions);

      var dayOtherIssues = [];

      if (mainIssue) {
        var insertsEditions = otherEditions.filter(function (insert) {
          return insert.isShortcut();
        });
        dayOtherIssues = getIssuesFromEditions(insertsEditions, mainIssue);

        if (dayOtherIssues.length === 0) {
          var placeholderEditions = otherEditions.filter(function (insert) {
            return insert.isPlaceholder();
          });
          dayOtherIssues = getLastIssuesFromEditions(placeholderEditions);
        }

        if (otherMainEditions.length > 0) {
          dayOtherIssues = [].concat((0, _toConsumableArray2.default)(getIssuesFromEditions(otherMainEditions, mainIssue)), (0, _toConsumableArray2.default)(dayOtherIssues));
        }
      }

      var heightStyle = {};

      if (height !== undefined) {
        heightStyle.height = _reactNative.Platform.select({
          web: Math.max(0, height - coloredAreaHeight),
          default: height
        });
      }

      Component = _react.default.createElement(_$$_REQUIRE(_dependencyMap[21]).Css, {
        classes: ["opt-editions-scroll"]
      }, _react.default.createElement(_reactNative.ScrollView, {
        nestedScrollEnabled: true,
        bounces: false,
        contentContainerStyle: [_styles.default.container, heightStyle]
      }, _react.default.createElement(_editionDayBg.default, {
        height: coloredAreaHeight
      }), _react.default.createElement(_reactNative.View, {
        style: [_styles.default.list, horizontal && _styles.default.listHorizontal, {
          top: -coloredAreaHeight
        }],
        onLayout: onListLayout
      }, _react.default.createElement(_reactNative.View, {
        style: {
          width: referenceWidth
        }
      }, _react.default.createElement(_reactNative.View, {
        style: {
          maxWidth: referenceWidth,
          width: availableRightWidth,
          paddingHorizontal: headerPadding,
          alignSelf: "center"
        }
      }, Header), mainIssue ? _react.default.createElement(_reactNative.View, {
        style: [_styles.default.other, _styles.default.mainIssueContainer, {
          height: mainIssueHeight,
          maxWidth: _$$_REQUIRE(_dependencyMap[20]).MAIN_ISSUE_MAX_WIDTH,
          marginBottom: otherMainEditions.length > 0 ? _styles.MAIN_ISSUE_MARGIN * 2 : _styles.MAIN_ISSUE_MARGIN
        }]
      }, _react.default.createElement(_issueShadowItem.default, {
        item: mainIssue,
        style: [_styles.default.mainIssue, {
          height: mainIssueHeight
        }],
        imageStyle: [_styles.default.mainIssueImage, {
          height: mainThumbnailHeight
        }],
        imageParentStyle: [_styles.default.mainIssueImageContainer, {
          width: mainThumbnailWidth,
          height: mainIssueHeight
        }],
        shadowStyle: [_$$_REQUIRE(_dependencyMap[20]).commonStyles.fullShadow, _styles.default.mainIssueShadow, {
          height: mainIssueHeight
        }],
        showHighRes: true,
        showDownloadCheck: otherMainEditions.length === 0,
        hideTitle: true,
        issueCallbacks: issueCallbacks
      }), otherMainEditions.length > 0 ? _react.default.createElement(_badge.default, {
        text: mainIssue.getEdition(),
        style: (0, _extends2.default)({
          marginHorizontal: Math.max((mainThumbnailWidth - mainIssueHeight * aspectRatio) / 2, 0) + 25
        }, _reactNative.Platform.select({
          web: {
            bottom: -_badge.BADGE_SIZE / 4
          },
          default: {
            bottom: -_badge.BADGE_SIZE * 3 / 4
          }
        })),
        showDownloadCheck: mainIssue.isDownloaded()
      }) : null) : null), _react.default.createElement(_reactNative.View, {
        style: {
          width: availableRightWidth
        }
      }, _react.default.createElement(_editionDayHeader.default.Container, {
        hide: !horizontal || !dayOtherIssues.length
      }, _react.default.createElement(_editionDayHeader.default.Body, {
        text: "\xA0",
        style: {
          height: 24
        }
      })), _react.default.createElement(_$$_REQUIRE(_dependencyMap[21]).Css, {
        classes: ["opt-editions-daily"]
      }, _react.default.createElement(_reactNative.View, {
        style: [_styles.default.other, horizontal && _styles.default.otherHorizontal]
      }, _react.default.createElement(_issuesGrid.default, {
        data: dayOtherIssues.map(function (issue) {
          return {
            issue: issue,
            label: mainIssue && issue.getIssue() === mainIssue.getIssue() ? "edition" : "edition" + _$$_REQUIRE(_dependencyMap[20]).NEW_LINE + "-" + _$$_REQUIRE(_dependencyMap[20]).NEW_LINE + "issue"
          };
        }),
        issueSize: {
          width: otherThumbnailWidth,
          height: otherThumbnailHeight
        },
        issueCallbacks: issueCallbacks
      }))), _react.default.createElement(_$$_REQUIRE(_dependencyMap[21]).Css, {
        classes: ["opt-editions-others"]
      }, _react.default.createElement(_reactNative.View, {
        style: [_styles.default.other, horizontal && _styles.default.otherHorizontal]
      }, _react.default.createElement(_editionsSecondary.default, {
        mainEditionName: edition.getName(),
        editions: secondaryEditions,
        skipIssues: dayOtherIssues,
        issueCallbacks: issueCallbacks,
        closestIssue: enableCalendarConstraint && mainIssue ? mainIssue.getIssue() : "",
        issueSize: {
          width: otherThumbnailWidth,
          height: otherThumbnailHeight
        },
        headerColor: !horizontal || dayOtherIssues.length ? _$$_REQUIRE(_dependencyMap[22]).colors.black : _liveConfig.default.getForegroundColor()
      })))))));
    }

    return _react.default.createElement(_reactNative.View, {
      style: _$$_REQUIRE(_dependencyMap[20]).commonStyles.container,
      onLayout: onLayout
    }, Component);
  }

  EditionDayPage.propTypes = {
    Header: _propTypes.default.any,
    enableCalendarConstraint: _propTypes.default.bool,
    edition: _propTypes.default.instanceOf(_edition.default),
    issueDayIndex: _propTypes.default.number,
    issueCallbacks: _issueItem.default.propTypes.issueCallbacks,
    aspectRatio: _propTypes.default.number,
    horizontal: _propTypes.default.bool
  };
  EditionDayPage.defaultProps = {
    issueDayIndex: 0,
    Header: null,
    horizontal: false,
    enableCalendarConstraint: false
  };
  var _default = EditionDayPage;
  exports.default = _default;
},1269,[5,6,464,41,21,17,201,28,1114,758,1270,1282,1283,1284,1236,1123,1279,993,1281,1245,990,987,982]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  var _issueList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _editionsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _editionsSecondaryEmpty = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _editionsSecondaryModal = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _issue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _issuesGrid = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _editionDayHeader = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _icPlus = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  function EditionsSecondary(props) {
    var editions = props.editions,
        skipIssues = props.skipIssues,
        mainEditionName = props.mainEditionName,
        closestIssue = props.closestIssue,
        issueSize = props.issueSize,
        issueCallbacks = props.issueCallbacks,
        headerColor = props.headerColor;

    var _useState = (0, _react.useState)(false),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        showModal = _useState2[0],
        setShowModal = _useState2[1];

    if (!editions || editions.length === 0) {
      return null;
    }

    var _LiveConfig$getSettin = _liveConfig.default.getSettings(),
        selectedEditions = _LiveConfig$getSettin.selectedEditions;

    var _LiveConfig$getPSetup = _liveConfig.default.getPSetup(),
        orderEditions = _LiveConfig$getPSetup.orderEditions;

    var show = (0, _react.useCallback)(function () {
      setShowModal(true);
    });
    var hide = (0, _react.useCallback)(function () {
      setShowModal(false);
    });
    var data = [];

    if (selectedEditions) {
      var secondaryEditions = selectedEditions.reduce(function (current, editionName) {
        if (editionName === mainEditionName) {
          return null;
        }

        var edition = _editionsHelper.default.getEditionByName(editions, editionName);

        if (edition) {
          current.push(edition);
        }

        return current;
      }, []);
      data.push.apply(data, (0, _toConsumableArray2.default)(_editionsHelper.default.getIssuesFromPublications(secondaryEditions, mainEditionName, {
        forceShortcut: true,
        closestIssue: closestIssue
      }).map(function (issue) {
        var edition = _editionsHelper.default.getEditionByName(secondaryEditions, issue.getEdition());

        return {
          issue: issue,
          label: "" + (edition ? edition.getLabel() : "") + _$$_REQUIRE(_dependencyMap[17]).NEW_LINE + "-" + _$$_REQUIRE(_dependencyMap[17]).NEW_LINE + "issue"
        };
      }).filter(function (_ref) {
        var issue = _ref.issue;
        return !skipIssues.length || skipIssues.find(function (toSkip) {
          return !issue.equals(toSkip);
        });
      }).sort(function (itemA, itemB) {
        var indexA = orderEditions.indexOf(_editionsHelper.default.getMainEdition(itemA.issue.getEdition()));
        var indexB = orderEditions.indexOf(_editionsHelper.default.getMainEdition(itemB.issue.getEdition()));
        return indexA - indexB;
      })));
    }

    return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_editionDayHeader.default.Container, null, _react.default.createElement(_editionDayHeader.default.Body, {
      style: {
        justifyContent: "space-between"
      },
      text: _liveConfig.default.getLocale().strings("str_modal_header_preferred_edition"),
      textColor: headerColor
    })), _react.default.createElement(_reactNative.View, {
      style: {
        width: "100%",
        maxWidth: _$$_REQUIRE(_dependencyMap[17]).MAX_SCREEN_WIDTH
      }
    }, _react.default.createElement(_issuesGrid.default, {
      data: data,
      issueCallbacks: issueCallbacks,
      issueSize: issueSize,
      EmptyComponent: _react.default.createElement(_editionsSecondaryEmpty.default, {
        onPress: show,
        color: headerColor
      })
    })), _react.default.createElement(_editionsSecondaryModal.default, {
      editions: editions,
      onClose: hide,
      visible: showModal
    }));
  }

  EditionsSecondary.defaultProps = {
    issueSize: {
      width: 150,
      height: 200
    },
    closestIssue: "",
    skipIssues: [],
    headerColor: _$$_REQUIRE(_dependencyMap[18]).colors.black
  };
  EditionsSecondary.propTypes = (0, _extends2.default)({
    headerColor: _propTypes.default.string,
    mainEditionName: _propTypes.default.string,
    closestIssue: _propTypes.default.string,
    editions: _propTypes.default.arrayOf(_propTypes.default.instanceOf(_edition.default)),
    skipIssues: _propTypes.default.arrayOf(_propTypes.default.instanceOf(_issue.default)),
    issueSize: _propTypes.default.object
  }, _issueList.default.propTypes);
  var _default = EditionsSecondary;
  exports.default = _default;
},1270,[5,6,21,41,17,201,28,1235,1114,1123,1271,1273,993,758,1279,1281,1272,990,982]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _taImageIcon = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _icPlus = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var styles = _reactNative.StyleSheet.create({
    container: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[6]).colors.transparent,
      borderStyle: "dashed",
      borderRadius: 10,
      borderColor: _$$_REQUIRE(_dependencyMap[6]).colors.black,
      borderWidth: 2,
      minHeight: 50,
      justifyContent: "center",
      alignItems: "center"
    },
    plus: {
      height: _$$_REQUIRE(_dependencyMap[7]).HEADER_HEIGHT,
      width: 100,
      justifyContent: "center",
      alignItems: "center"
    }
  });

  function EditionsSecondaryEmpty(props) {
    var color = props.color,
        style = props.style,
        onPress = props.onPress;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["opt-editions-secondary-empty-container"]
    }, _react.default.createElement(_reactNative.TouchableOpacity, {
      style: [_$$_REQUIRE(_dependencyMap[7]).commonStyles.container, _$$_REQUIRE(_dependencyMap[7]).commonStyles.card, styles.container, style],
      onPress: onPress
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["opt-editions-secondary-empty-icon-container"]
    }, _react.default.createElement(_reactNative.View, {
      style: styles.plus
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["opt-editions-secondary-empty-icon"]
    }, _react.default.createElement(_taImageIcon.default, {
      style: styles.noSelectedIcon,
      DefaultComponent: _react.default.createElement(_icPlus.default, {
        width: 40,
        height: 40
      })
    }))))));
  }

  EditionsSecondaryEmpty.propTypes = {
    color: _propTypes.default.string,
    onPress: _propTypes.default.func.isRequired,
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array])
  };
  EditionsSecondaryEmpty.defaultProps = {
    color: _$$_REQUIRE(_dependencyMap[6]).colors.black
  };
  var _default = EditionsSecondaryEmpty;
  exports.default = _default;
},1271,[5,17,201,28,773,1272,982,990,987]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var IcPlus = function IcPlus(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Svg, props, _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"
    }));
  };

  var _default = IcPlus;
  exports.default = _default;
},1272,[5,17,776]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _editionsSecondaryModalHeader = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _editionsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _editionList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _editionsTags = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  var MARGIN = 10;

  var styles = _reactNative.StyleSheet.create({
    modal: {
      margin: 0
    },
    container: {
      flex: 1,
      backgroundColor: _$$_REQUIRE(_dependencyMap[12]).colors.transparent600,
      alignItems: "center",
      padding: 50
    },
    content: {
      padding: 0,
      backgroundColor: "white",
      flex: 1,
      margin: MARGIN
    },
    touchable: {
      height: 100,
      width: 100,
      justifyContent: "center",
      alignItems: "center"
    },
    search: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[12]).colors.white,
      borderWidth: 0,
      borderBottomWidth: 1
    }
  });

  function filterEditions() {
    var editions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
    var filter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";

    if (filter && filter.length > 2) {
      var result = [];

      for (var i = 0; i < editions.length; i++) {
        var splitted = editions[i].getName().split("_");
        var lastName = undefined;

        if (splitted) {
          lastName = splitted[splitted.length - 1];
        }

        if (!lastName) {
          lastName = editions[i].getName();
        }

        if (lastName.trim().toLowerCase().search(filter.toLowerCase()) >= 0) {
          result.push(editions[i]);
        }

        var group = editions[i].getGroup();

        if (group && group.length > 0) {
          var filteredEditions = filterEditions(group, filter);

          if (filteredEditions && filteredEditions.length > 0) {
            result.push.apply(result, (0, _toConsumableArray2.default)(filteredEditions));
          }
        }
      }

      return result;
    }

    if (editions.length === 1 && editions[0].getGroup().length) {
      return editions[0].getGroup();
    }

    return editions;
  }

  function EditionsSecondaryModal(props) {
    var onClose = props.onClose,
        visible = props.visible,
        editions = props.editions;

    var _useState = (0, _react.useState)(""),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        searchText = _useState2[0],
        setSearchText = _useState2[1];

    var onHide = function onHide() {
      setSearchText("");

      if (typeof onClose === "function") {
        onClose();
      }
    };

    var filteredEditions = filterEditions(editions, searchText);
    var mergeEdition = new _edition.default();
    mergeEdition.setName("merged");
    mergeEdition.setGroup(filteredEditions);
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
      classes: ["opt-editions-secondary-modal"]
    }, _react.default.createElement(_reactNative.Modal, {
      animationType: "fade",
      onRequestClose: onHide,
      onDismiss: onHide,
      visible: visible,
      transparent: true,
      style: styles.modal
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
      classes: ["opt-editions-secondary-container"]
    }, _react.default.createElement(_reactNative.View, {
      style: styles.container
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
      classes: ["opt-editions-secondary-content"]
    }, _react.default.createElement(_reactNative.View, {
      style: [_$$_REQUIRE(_dependencyMap[14]).commonStyles.modalContent, styles.content, {
        width: Math.min(_$$_REQUIRE(_dependencyMap[14]).DRAWER_PERMANENT, _liveConfig.default.getWindow().width) - 20
      }]
    }, _react.default.createElement(_editionsSecondaryModalHeader.default, {
      title: _liveConfig.default.getLocale().strings("str_modal_header_preferred_edition"),
      onClose: onHide,
      useDoneButton: false
    }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).SearchInput, {
      style: [_$$_REQUIRE(_dependencyMap[14]).commonStyles.shadow, styles.search],
      placeholder: _liveConfig.default.getLocale().strings("str_search"),
      onChangeText: setSearchText
    }), _react.default.createElement(_reactNative.View, {
      style: [_$$_REQUIRE(_dependencyMap[14]).commonStyles.container, _$$_REQUIRE(_dependencyMap[14]).commonStyles.background]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).SelectedEditionsContext.Consumer, null, function (_ref) {
      var selectedEditions = _ref.editions,
          setEdition = _ref.setEdition;
      return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_editionsTags.default, {
        tags: selectedEditions.map(function (editionName) {
          return _editionsHelper.default.getEditionByName(editions, editionName);
        }).filter(function (edition) {
          return edition !== undefined;
        }),
        onTagPress: setEdition
      }), _react.default.createElement(_editionList.default, {
        key: "" + searchText,
        horizontal: false,
        edition: mergeEdition,
        onFavoritePress: function onFavoritePress(item) {
          setEdition(item);
          onHide();
        },
        isSelected: function isSelected(item) {
          return selectedEditions.includes(item.getName());
        },
        onlyGroup: true
      }));
    }))))))));
  }

  EditionsSecondaryModal.propTypes = {
    onClose: _propTypes.default.func.isRequired,
    visible: _propTypes.default.bool,
    editions: _propTypes.default.arrayOf(_propTypes.default.instanceOf(_edition.default))
  };
  EditionsSecondaryModal.defaultProps = {
    visible: false
  };
  var _default = EditionsSecondaryModal;
  exports.default = _default;
},1273,[5,41,21,17,201,28,993,1114,1274,1123,1257,1276,982,987,990,1277,1111]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _taText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _taImageIcon = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _icClose = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _icContentSaveOutline = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var styles = _reactNative.StyleSheet.create({
    container: {
      height: _$$_REQUIRE(_dependencyMap[9]).HEADER_HEIGHT,
      flexDirection: "row",
      borderBottomColor: _$$_REQUIRE(_dependencyMap[10]).colors.black,
      borderBottomWidth: 1
    },
    textContainer: {
      flex: 1,
      justifyContent: "center",
      paddingHorizontal: 10
    },
    title: {
      color: _$$_REQUIRE(_dependencyMap[10]).colors.black,
      fontSize: 18,
      fontWeight: "bold"
    },
    closeContainer: {
      padding: 10,
      height: "100%",
      justifyContent: "center",
      alignItems: "center"
    }
  });

  function EditionsSecondaryModalHeader(props) {
    var title = props.title,
        useCancelButton = props.useCancelButton,
        useDoneButton = props.useDoneButton,
        onClose = props.onClose,
        onSave = props.onSave;
    var CancelComponent;
    var CloseComponent;

    if (useDoneButton) {
      if (useCancelButton) {
        CancelComponent = _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
          classes: ["opt-secondary-modal-header-icon-container", "opt-secondary-modal-header-cancel-container"]
        }, _react.default.createElement(_reactNative.TouchableOpacity, {
          onPress: onClose,
          style: styles.closeContainer
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
          classes: ["opt-secondary-modal-header-cancel"]
        }, _react.default.createElement(_taText.default, null, _liveConfig.default.getLocale().strings("str_cancel")))));
      }

      CloseComponent = _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
        classes: ["opt-secondary-modal-header-icon-container", "opt-secondary-modal-header-close-container"]
      }, _react.default.createElement(_reactNative.TouchableOpacity, {
        onPress: function onPress() {
          if (typeof onSave === "function") {
            onSave();
          }

          onClose();
        },
        style: styles.closeContainer
      }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
        classes: ["opt-secondary-modal-header-done"]
      }, _react.default.createElement(_taText.default, {
        style: {
          fontWeight: "bold"
        }
      }, _liveConfig.default.getLocale().strings("str_done")))));
    } else {
      CloseComponent = _react.default.createElement(_react.default.Fragment, null, typeof onSave === "function" ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
        classes: ["opt-secondary-modal-header-icon-container", "opt-secondary-modal-header-save-container"]
      }, _react.default.createElement(_reactNative.TouchableOpacity, {
        onPress: onSave,
        style: [styles.closeContainer, {
          width: _$$_REQUIRE(_dependencyMap[9]).HEADER_HEIGHT
        }]
      }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
        classes: ["opt-secondary-modal-header-icon", "opt-secondary-modal-header-save"]
      }, _react.default.createElement(_taImageIcon.default, {
        DefaultComponent: _react.default.createElement(_icContentSaveOutline.default, null)
      })))) : null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
        classes: ["opt-secondary-modal-header-icon-container", "opt-secondary-modal-header-close-container"]
      }, _react.default.createElement(_reactNative.TouchableOpacity, {
        onPress: onClose,
        style: [styles.closeContainer, {
          width: _$$_REQUIRE(_dependencyMap[9]).HEADER_HEIGHT
        }]
      }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
        classes: ["opt-secondary-modal-header-icon", "opt-secondary-modal-header-close"]
      }, _react.default.createElement(_taImageIcon.default, {
        DefaultComponent: _react.default.createElement(_icClose.default, null)
      })))));
    }

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
      classes: ["opt-secondary-modal-header-container"]
    }, _react.default.createElement(_reactNative.View, {
      style: [styles.container]
    }, CancelComponent, _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
      classes: ["opt-secondary-modal-header-text-container"]
    }, _react.default.createElement(_reactNative.View, {
      style: styles.textContainer
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
      classes: ["opt-secondary-modal-header-text"]
    }, _react.default.createElement(_taText.default, {
      style: styles.title
    }, title)))), CloseComponent));
  }

  EditionsSecondaryModalHeader.propTypes = {
    title: _propTypes.default.string.isRequired,
    onClose: _propTypes.default.func.isRequired,
    onSave: _propTypes.default.func,
    useDoneButton: _propTypes.default.bool,
    useCancelButton: _propTypes.default.bool
  };
  var _default = EditionsSecondaryModalHeader;
  exports.default = _default;
},1274,[5,17,201,28,988,773,1222,1275,993,990,982,987]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var IcContentSaveOutline = function IcContentSaveOutline(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Svg, props, _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M17 3H5C3.89 3 3 3.9 3 5V19C3 20.1 3.89 21 5 21H19C20.1 21 21 20.1 21 19V7L17 3M19 19H5V5H16.17L19 7.83V19M12 12C10.34 12 9 13.34 9 15S10.34 18 12 18 15 16.66 15 15 13.66 12 12 12M6 6H15V10H6V6Z"
    }));
  };

  var _default = IcContentSaveOutline;
  exports.default = _default;
},1275,[5,17,776]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _icClose = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _taText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var styles = _reactNative.StyleSheet.create({
    container: {
      flexDirection: "row",
      flexWrap: "wrap",
      padding: 5
    },
    buttonContainer: {
      flexDirection: "row",
      alignItems: "center",
      paddingHorizontal: 10,
      paddingVertical: 5,
      margin: 5,
      borderRadius: 50
    },
    touchable: {},
    text: {
      fontSize: 15,
      color: _$$_REQUIRE(_dependencyMap[8]).colors.black
    }
  });

  function EditionsTags(props) {
    var tags = props.tags,
        onTagPress = props.onTagPress;
    return _react.default.createElement(_reactNative.View, {
      style: styles.container
    }, tags.map(function (tag, index) {
      return _react.default.createElement(_reactNative.View, {
        key: "tag_" + tag.getName() + "_" + index,
        style: [_$$_REQUIRE(_dependencyMap[9]).commonStyles.shadow, styles.buttonContainer, {
          backgroundColor: _liveConfig.default.getSupportColor()
        }]
      }, _react.default.createElement(_reactNative.TouchableOpacity, {
        style: [styles.touchable],
        onPress: function onPress() {
          if (typeof onTagPress === "function") {
            onTagPress(tag);
          }
        }
      }, _react.default.createElement(_icClose.default, {
        fill: _liveConfig.default.getForegroundColor(),
        width: 16,
        height: 16
      })), _react.default.createElement(_taText.default, {
        style: [styles.text, {
          color: _liveConfig.default.getForegroundColor()
        }]
      }, tag.getLabel()));
    }));
  }

  EditionsTags.propTypes = {
    tags: _propTypes.default.arrayOf(_propTypes.default.instanceOf(_edition.default)),
    onTagPress: _propTypes.default.func.isRequired
  };
  EditionsTags.defaultProps = {
    tags: []
  };
  var _default = EditionsTags;
  exports.default = _default;
},1276,[5,17,201,28,1222,988,993,1114,982,990]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.SearchInput = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _cssStyles = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _icCloseCircle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  function _createSuper(Derived) {
    var hasNativeReflectConstruct = _isNativeReflectConstruct();

    return function _createSuperInternal() {
      var Super = (0, _getPrototypeOf2.default)(Derived),
          result;

      if (hasNativeReflectConstruct) {
        var NewTarget = (0, _getPrototypeOf2.default)(this).constructor;
        result = Reflect.construct(Super, arguments, NewTarget);
      } else {
        result = Super.apply(this, arguments);
      }

      return (0, _possibleConstructorReturn2.default)(this, result);
    };
  }

  function _isNativeReflectConstruct() {
    if (typeof Reflect === "undefined" || !Reflect.construct) return false;
    if (Reflect.construct.sham) return false;
    if (typeof Proxy === "function") return true;

    try {
      Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
      return true;
    } catch (e) {
      return false;
    }
  }

  var styles = _reactNative.StyleSheet.create({
    container: {
      height: 40,
      flexDirection: "row",
      justifyContent: "flex-start",
      alignItems: "center"
    },
    input: {
      flex: 1,
      paddingTop: 5,
      paddingBottom: 5,
      paddingRight: 10,
      paddingLeft: 10,
      fontSize: 13
    },
    searchClose: {
      margin: 5,
      justifyContent: "center"
    }
  });

  var SearchInput = function (_Component) {
    (0, _inherits2.default)(SearchInput, _Component);

    var _super = _createSuper(SearchInput);

    function SearchInput(props) {
      var _this;

      (0, _classCallCheck2.default)(this, SearchInput);
      _this = _super.call(this, props);
      var placeholder = _this.props.placeholder;
      _this.placeholder = placeholder || "Search";
      _this.onRef = _this._onRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onFocus = _this._onFocus.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSearch = _this._onSearch.bind((0, _assertThisInitialized2.default)(_this));
      _this.onChangeText = _this._onChangeText.bind((0, _assertThisInitialized2.default)(_this));
      _this.onClearSearch = _this._onClearSearch.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        keyword: ""
      };
      return _this;
    }

    (0, _createClass2.default)(SearchInput, [{
      key: "_onSearch",
      value: function _onSearch() {
        var _this$props, beforeSearch, keyboardShouldPersist, onSearch, afterSearch, keyword;

        return _regenerator.default.async(function _onSearch$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _this$props = this.props, beforeSearch = _this$props.beforeSearch, keyboardShouldPersist = _this$props.keyboardShouldPersist, onSearch = _this$props.onSearch, afterSearch = _this$props.afterSearch;
                keyword = this.state.keyword;

                if (!beforeSearch) {
                  _context.next = 5;
                  break;
                }

                _context.next = 5;
                return _regenerator.default.awrap(beforeSearch(keyword));

              case 5:
                if (!(keyboardShouldPersist === false)) {
                  _context.next = 8;
                  break;
                }

                _context.next = 8;
                return _regenerator.default.awrap(_reactNative.Keyboard.dismiss());

              case 8:
                if (!onSearch) {
                  _context.next = 11;
                  break;
                }

                _context.next = 11;
                return _regenerator.default.awrap(onSearch(keyword));

              case 11:
                if (!afterSearch) {
                  _context.next = 14;
                  break;
                }

                _context.next = 14;
                return _regenerator.default.awrap(afterSearch(keyword));

              case 14:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_onChangeText",
      value: function _onChangeText(text) {
        var onChangeText;
        return _regenerator.default.async(function _onChangeText$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                onChangeText = this.props.onChangeText;

                if (!onChangeText) {
                  _context2.next = 4;
                  break;
                }

                _context2.next = 4;
                return _regenerator.default.awrap(onChangeText(text));

              case 4:
                _context2.next = 6;
                return _regenerator.default.awrap(this.setState({
                  keyword: text
                }));

              case 6:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_onClearSearch",
      value: function _onClearSearch() {
        this._onChangeText("");
      }
    }, {
      key: "_onRef",
      value: function _onRef(inputKeyword) {
        this.inputKeyword = inputKeyword;
      }
    }, {
      key: "_onFocus",
      value: function _onFocus() {
        var _this$props2, beforeFocus, onFocus, afterFocus, keyword;

        return _regenerator.default.async(function _onFocus$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _this$props2 = this.props, beforeFocus = _this$props2.beforeFocus, onFocus = _this$props2.onFocus, afterFocus = _this$props2.afterFocus;
                keyword = this.state.keyword;

                if (!beforeFocus) {
                  _context3.next = 5;
                  break;
                }

                _context3.next = 5;
                return _regenerator.default.awrap(beforeFocus());

              case 5:
                if (!(this.inputKeyword && !this.inputKeyword.isFocused())) {
                  _context3.next = 8;
                  break;
                }

                _context3.next = 8;
                return _regenerator.default.awrap(this.inputKeyword.focus());

              case 8:
                if (!onFocus) {
                  _context3.next = 11;
                  break;
                }

                _context3.next = 11;
                return _regenerator.default.awrap(onFocus(keyword));

              case 11:
                if (!afterFocus) {
                  _context3.next = 14;
                  break;
                }

                _context3.next = 14;
                return _regenerator.default.awrap(afterFocus());

              case 14:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props3 = this.props,
            editable = _this$props3.editable,
            onBlur = _this$props3.onBlur,
            blurOnSubmit = _this$props3.blurOnSubmit,
            keyboardType = _this$props3.keyboardType,
            autoCapitalize = _this$props3.autoCapitalize,
            autoFocus = _this$props3.autoFocus,
            textColor = _this$props3.textColor,
            style = _this$props3.style;
        var keyword = this.state.keyword;

        var searchTextStyle = _$$_REQUIRE(_dependencyMap[13]).CssHelper.getStyleObjByCssClasses(["opt-search-input"]);

        var color = _cssStyles.default.getAttributeFromStyle("color", searchTextStyle, textColor);

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["opt-search-container"]
        }, _react.default.createElement(_reactNative.View, {
          style: [styles.container, style]
        }, _react.default.createElement(_reactNative.TextInput, {
          ref: this.onRef,
          style: [styles.input, searchTextStyle],
          editable: editable,
          value: keyword,
          onChangeText: this.onChangeText,
          placeholder: this.placeholder,
          placeholderTextColor: color,
          onSubmitEditing: this.onSearch,
          autoCorrect: false,
          blurOnSubmit: blurOnSubmit,
          returnKeyType: "search",
          keyboardType: keyboardType || "default",
          autoCapitalize: autoCapitalize,
          onBlur: onBlur,
          onFocus: this.onFocus,
          underlineColorAndroid: "transparent",
          autoFocus: autoFocus
        }), keyword ? _react.default.createElement(_reactNative.TouchableOpacity, {
          style: styles.searchClose,
          onPress: this.onClearSearch
        }, _react.default.createElement(_icCloseCircle.default, null)) : null));
      }
    }]);
    return SearchInput;
  }(_react.Component);

  exports.SearchInput = SearchInput;
  SearchInput.propTypes = {
    afterFocus: _propTypes.default.func,
    afterSearch: _propTypes.default.func,
    autoCapitalize: _propTypes.default.string,
    autoFocus: _propTypes.default.bool,
    beforeFocus: _propTypes.default.func,
    beforeSearch: _propTypes.default.func,
    blurOnSubmit: _propTypes.default.bool,
    editable: _propTypes.default.bool,
    keyboardShouldPersist: _propTypes.default.bool,
    keyboardType: _propTypes.default.string,
    onBlur: _propTypes.default.func,
    onChangeText: _propTypes.default.func,
    onFocus: _propTypes.default.func,
    onSearch: _propTypes.default.func,
    placeholder: _propTypes.default.string,
    textColor: _propTypes.default.string,
    style: _propTypes.default.any
  };
  SearchInput.defaultProps = {
    editable: true,
    blurOnSubmit: false,
    keyboardShouldPersist: false,
    textColor: _$$_REQUIRE(_dependencyMap[14]).colors.black,
    autoFocus: false
  };
},1277,[5,80,7,8,15,12,14,16,17,201,28,775,1278,987,982]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var IcCloseCircle = function IcCloseCircle(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Svg, props, _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z"
    }));
  };

  var _default = IcCloseCircle;
  exports.default = _default;
},1278,[5,17,776]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  var _issueList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _issue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _issueCardItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _grid = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  function IssuesGrid(props) {
    var data = props.data,
        issueCallbacks = props.issueCallbacks,
        issueSize = props.issueSize,
        EmptyComponent = props.EmptyComponent;

    var _useState = (0, _react.useState)(),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        layout = _useState2[0],
        setLayout = _useState2[1];

    var onLayout = function onLayout(_ref) {
      var nativeEvent = _ref.nativeEvent;
      setLayout(nativeEvent.layout);
    };

    var ListComponent = null;
    var newDataSet = (0, _toConsumableArray2.default)(data);

    if (layout) {
      var showPlusAtBottom = false;

      if (EmptyComponent) {
        if (layout.width >= 450 || data.length) {
          var plusIssue = new _issue.default();
          plusIssue.setIssue("plus");
          plusIssue.setEdition("plus");
          newDataSet.push({
            issue: plusIssue,
            label: "plus"
          });
        } else {
          showPlusAtBottom = true;
        }
      }

      ListComponent = _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_grid.default, {
        data: newDataSet,
        baseItemSize: issueSize,
        renderItem: function renderItem(_ref2) {
          var issue = _ref2.issue,
              label = _ref2.label;

          if (issue.getIssue() === "plus" && issue.getEdition() === "plus") {
            return EmptyComponent;
          }

          return _react.default.createElement(_issueCardItem.default, {
            style: _reactNative.Platform.select({
              native: {
                marginHorizontal: 0
              }
            }),
            item: issue,
            showHighRes: true,
            issueCallbacks: issueCallbacks,
            textFormat: label
          });
        }
      }), showPlusAtBottom ? _react.default.createElement(_reactNative.View, {
        style: {
          flex: 0,
          height: 50,
          marginBottom: 30
        }
      }, EmptyComponent) : null);
    }

    return _react.default.createElement(_reactNative.View, {
      onLayout: onLayout,
      style: {
        width: "100%",
        maxWidth: _$$_REQUIRE(_dependencyMap[11]).MAX_SCREEN_WIDTH
      }
    }, ListComponent);
  }

  IssuesGrid.defaultProps = {
    EmptyComponent: null,
    issueSize: {
      width: 150,
      height: 200
    }
  };
  IssuesGrid.propTypes = (0, _extends2.default)({
    data: _propTypes.default.arrayOf(_propTypes.default.shape({
      issue: _propTypes.default.instanceOf(_issue.default),
      label: _propTypes.default.string
    })),
    issueSize: _propTypes.default.object,
    EmptyComponent: _propTypes.default.any
  }, _issueList.default.propTypes);
  var _default = IssuesGrid;
  exports.default = _default;
},1279,[5,6,21,41,17,201,28,1235,758,1252,1280,990]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  var styles = _reactNative.StyleSheet.create({
    container: {
      flexDirection: "row",
      flexWrap: "wrap"
    }
  });

  function Grid(props) {
    var data = props.data,
        style = props.style,
        renderItem = props.renderItem,
        baseItemSize = props.baseItemSize,
        numberOfColumns = props.numberOfColumns,
        columnMargin = props.columnMargin;

    var _useState = (0, _react.useState)(),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        layout = _useState2[0],
        setLayout = _useState2[1];

    var onLayout = (0, _react.useCallback)(function (_ref) {
      var nativeEvent = _ref.nativeEvent;
      setLayout(nativeEvent.layout);
    });
    var GridElements = null;

    if (layout) {
      var width = layout.width;
      var numColumns = 1;
      var itemWidth;
      var itemHeight;

      if (baseItemSize) {
        itemWidth = baseItemSize.width;
        itemHeight = baseItemSize.height;
        var aspectRatio = itemWidth / itemHeight;
        numColumns = Math.floor(width / itemWidth);
        var availableRightSpace = width - (itemWidth * numColumns + columnMargin * (numColumns - 1));

        if (availableRightSpace < itemWidth * 0.6) {
          itemWidth += Math.floor(availableRightSpace / numColumns);
          itemHeight = itemWidth / aspectRatio;
        } else if (availableRightSpace > itemWidth * 0.6) {
          numColumns += 1;
          itemWidth = Math.floor((width - columnMargin * (numColumns - 1)) / numColumns);
          itemHeight = itemWidth / aspectRatio;
        }
      } else if (numberOfColumns) {
        numColumns = numberOfColumns;
        itemWidth = (width - columnMargin * (numColumns - 1)) / numColumns;
      }

      GridElements = data.map(function (item, index) {
        var parentStyle = [];

        if (numColumns > 1) {
          if (index % numColumns === 0) {
            parentStyle.push({
              marginRight: columnMargin / 2
            });
          } else if ((index + 1) % numColumns === 0) {
            parentStyle.push({
              marginLeft: columnMargin / 2
            });
          } else {
            parentStyle.push({
              marginHorizontal: columnMargin / 2
            });
          }
        }

        return _react.default.createElement(_reactNative.View, {
          key: "grid_item" + index,
          style: [{
            width: itemWidth,
            height: itemHeight
          }, parentStyle]
        }, renderItem(item));
      });
    }

    return _react.default.createElement(_reactNative.View, {
      style: [styles.container, style],
      onLayout: onLayout
    }, GridElements);
  }

  Grid.propTypes = {
    data: _propTypes.default.array.isRequired,
    renderItem: _propTypes.default.func.isRequired,
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    baseItemSize: _propTypes.default.object,
    numberOfColumns: _propTypes.default.number,
    columnMargin: _propTypes.default.number
  };
  Grid.defaultProps = {
    columnMargin: 10
  };
  var _default = Grid;
  exports.default = _default;
},1280,[5,41,17,28,201]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _taText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _excluded = ["text", "textColor", "children", "style"],
      _excluded2 = ["hide", "style"];
  var HEIGHT = 50;

  var styles = _reactNative.StyleSheet.create({
    container: {
      marginTop: 20,
      marginBottom: 10,
      marginHorizontal: 10,
      justifyContent: "center"
    },
    textContainer: {
      flexDirection: "row"
    },
    text: {
      flex: 1,
      fontSize: 18,
      textTransform: "uppercase",
      width: "100%"
    }
  });

  function Body(props) {
    var text = props.text,
        textColor = props.textColor,
        children = props.children,
        style = props.style,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);
    return _react.default.createElement(_reactNative.View, (0, _extends2.default)({
      style: [styles.textContainer, style]
    }, rest), _react.default.createElement(_taText.default, {
      style: [styles.text, {
        color: textColor || _liveConfig.default.getForegroundColor()
      }]
    }, text), children);
  }

  Body.propTypes = {
    text: _propTypes.default.string,
    textColor: _propTypes.default.string,
    style: _propTypes.default.any,
    children: _propTypes.default.any
  };
  Body.defaultProps = {};

  function Container(props) {
    var hide = props.hide,
        style = props.style,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded2);
    return hide ? null : _react.default.createElement(_reactNative.View, (0, _extends2.default)({
      style: [styles.container, style]
    }, rest));
  }

  Container.propTypes = {
    hide: _propTypes.default.bool,
    style: _propTypes.default.any
  };
  Container.defaultProps = {
    hide: false
  };
  var EditionDayHeader = {
    HEIGHT: HEIGHT,
    Body: Body,
    Container: Container
  };
  var _default = EditionDayHeader;
  exports.default = _default;
},1281,[5,6,108,17,201,28,988,993]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _issueItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _downloadedCheck = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _excluded = ["imageStyle", "shadowStyle", "showDownloadCheck"];

  function IssueShadowItem(props) {
    var imageStyle = props.imageStyle,
        shadowStyle = props.shadowStyle,
        showDownloadCheck = props.showDownloadCheck,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);
    var containerShadowStyle = [_$$_REQUIRE(_dependencyMap[8]).commonStyles.container, _$$_REQUIRE(_dependencyMap[8]).commonStyles.shadow, shadowStyle];
    return _react.default.createElement(_reactNative.View, {
      style: containerShadowStyle
    }, _react.default.createElement(_issueItem.default, (0, _extends2.default)({
      imageStyle: imageStyle,
      imageTextStyle: _$$_REQUIRE(_dependencyMap[8]).commonStyles.shadowReset
    }, rest)), showDownloadCheck && rest.item.isDownloaded() ? _react.default.createElement(_downloadedCheck.default, {
      style: {
        position: "absolute",
        top: 10,
        end: 10
      },
      cssKey: "main-issue"
    }) : null);
  }

  IssueShadowItem.defaultProps = {
    showDownloadCheck: true
  };
  IssueShadowItem.propTypes = (0, _extends2.default)({
    imageParentStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    imageStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    showDownloadCheck: _propTypes.default.bool
  }, _issueItem.default.propTypes);
  var _default = IssueShadowItem;
  exports.default = _default;
},1282,[5,6,108,17,201,28,1236,1246,990]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.MAIN_ISSUE_MARGIN = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var MAIN_ISSUE_MARGIN = 20;
  exports.MAIN_ISSUE_MARGIN = MAIN_ISSUE_MARGIN;

  var _default = _reactNative.StyleSheet.create({
    container: {
      alignItems: "center",
      backgroundColor: _$$_REQUIRE(_dependencyMap[3]).colors.background,
      justifyContent: "flex-start"
    },
    list: {
      alignItems: "center"
    },
    listHorizontal: {
      alignItems: "flex-start",
      flexDirection: "row",
      width: "100%"
    },
    other: {
      width: "100%",
      alignItems: "stretch"
    },
    otherHorizontal: {
      alignItems: "stretch"
    },
    dayText: {
      fontSize: 18,
      textTransform: "uppercase"
    },
    issuesContainer: {
      width: "100%",
      marginBottom: MAIN_ISSUE_MARGIN
    },
    mainIssueContainer: {
      alignItems: "center",
      paddingHorizontal: 10,
      marginBottom: MAIN_ISSUE_MARGIN
    },
    mainIssue: {},
    mainIssueImage: {},
    mainIssueImageContainer: (0, _extends2.default)({}, _reactNative.Platform.select({
      ios: {
        borderRadius: _$$_REQUIRE(_dependencyMap[4]).CARD_RADIUS,
        overflow: "hidden"
      },
      default: {}
    })),
    mainIssueShadow: (0, _extends2.default)({
      margin: 10
    }, _reactNative.Platform.select({
      ios: {},
      default: {
        borderRadius: _$$_REQUIRE(_dependencyMap[4]).CARD_RADIUS,
        overflow: "hidden"
      }
    })),
    insertsContainer: {},
    otherIssue: {
      flex: 1
    },
    otherIssueImageContainer: {},
    otherIssueImage: {},
    otherIssueFooter: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[3]).colors.grey50
    }
  });

  exports.default = _default;
},1283,[5,6,28,982,990]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var styles = _reactNative.StyleSheet.create({
    container: {
      width: "100%"
    }
  });

  function EditionDayBg(props) {
    var height = props.height;
    return _react.default.createElement(_reactNative.View, {
      style: [styles.container, {
        backgroundColor: _liveConfig.default.getSupportColor(),
        height: height
      }]
    }, _react.default.createElement(_reactNative.View, {
      style: {
        backgroundColor: _$$_REQUIRE(_dependencyMap[5]).colors.transparent1200,
        flex: 1
      }
    }));
  }

  EditionDayBg.propTypes = {
    height: _propTypes.default.number
  };
  EditionDayBg.defaultProps = {
    height: 0
  };
  var _default = EditionDayBg;
  exports.default = _default;
},1284,[5,17,201,28,993,982]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _issue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _editionsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _icCalendarMonth = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _calendarModal = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _date = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _editionDayHeader = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  var styles = _reactNative.StyleSheet.create({
    icon: {
      alignItems: "flex-end",
      width: 50
    }
  });

  function EditionDaySelector(props) {
    var selector = props.selector,
        issueIndex = props.issueIndex,
        issues = props.issues,
        onIndexChange = props.onIndexChange,
        navigation = props.navigation;

    var _useState = (0, _react.useState)(false),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        showCalender = _useState2[0],
        setShowCalendar = _useState2[1];

    var currentIssue = issues[issueIndex];
    (0, _react.useEffect)(function () {
      if (!selector) {
        var title = _editionsHelper.default.getIssueLabel(issues[issueIndex]);

        if (title) {
          navigation.setOptions({
            title: title
          });
        }
      }
    });

    var show = function show() {
      setShowCalendar(true);
    };

    var hide = function hide() {
      setShowCalendar(false);
    };

    var onDateChange = function onDateChange(date) {
      var strDate = _date.default.formatDate(date, "YYYYMMDD");

      var index = issues.findIndex(function (issue) {
        return issue.getIssue() === strDate;
      });

      if (typeof onIndexChange === "function") {
        onIndexChange(index);
      }

      hide();
    };

    var Icon = null;

    if (selector) {
      Icon = _react.default.createElement(_reactNative.TouchableOpacity, {
        style: styles.icon,
        onPress: show
      }, _react.default.createElement(_icCalendarMonth.default, {
        fill: _liveConfig.default.getForegroundColor()
      }));
    }

    return _react.default.createElement(_editionDayHeader.default.Container, null, _react.default.createElement(_editionDayHeader.default.Body, {
      text: currentIssue ? currentIssue.getDateLabel().replace(currentIssue.getDayOfWeek(), currentIssue.getDayOfWeekComplete()) : "No issue in this date"
    }, Icon, issues && issues.length >= 2 ? _react.default.createElement(_calendarModal.default, {
      onClose: hide,
      visible: showCalender,
      onDateChange: onDateChange,
      date: currentIssue ? _date.default.strToDate(currentIssue.getIssue()) : undefined,
      minDate: _date.default.strToDate(issues[issues.length - 1].getIssue()),
      maxDate: _date.default.strToDate(issues[0].getIssue()),
      markedDates: issues.map(function (issue) {
        return {
          date: _date.default.strToDate(issue.getIssue()),
          marked: true,
          selected: currentIssue && currentIssue.getIssue() === issue.getIssue()
        };
      })
    }) : null));
  }

  EditionDaySelector.propTypes = {
    selector: _propTypes.default.bool,
    navigation: _propTypes.default.shape({
      setOptions: _propTypes.default.func
    }),
    issueIndex: _propTypes.default.number,
    onIndexChange: _propTypes.default.func.isRequired,
    issues: _propTypes.default.arrayOf(_propTypes.default.instanceOf(_issue.default))
  };
  EditionDaySelector.defaultProps = {
    selector: false,
    issueIndex: 0
  };
  var _default = EditionDaySelector;
  exports.default = _default;
},1285,[5,41,17,201,28,993,758,1123,1286,1287,995,1281]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var IcCalendarMonth = function IcCalendarMonth(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Svg, props, _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M9,10V12H7V10H9M13,10V12H11V10H13M17,10V12H15V10H17M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5A2,2 0 0,1 5,3H6V1H8V3H16V1H18V3H19M19,19V8H5V19H19M9,14V16H7V14H9M13,14V16H11V14H13M17,14V16H15V14H17Z"
    }));
  };

  var _default = IcCalendarMonth;
  exports.default = _default;
},1286,[5,17,776]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _reactNativeModal = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _calendar = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _calendarCommon = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _excluded = ["onClose", "visible"];

  var styles = _reactNative.StyleSheet.create({
    modal: {
      alignItems: "center"
    },
    container: (0, _extends2.default)({
      justifyContent: "center"
    }, _reactNative.Platform.select({
      web: {
        width: "fit-content"
      }
    }))
  });

  function TaCalendarModal(props) {
    var onClose = props.onClose,
        visible = props.visible,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);
    return _react.default.createElement(_reactNativeModal.default, {
      hasBackdrop: true,
      animationType: "fade",
      onBackdropPress: onClose,
      onBackButtonPressonBackButtonPress: onClose,
      isVisible: visible,
      style: styles.modal
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: ["opt-modal-calendar-container"]
    }, _react.default.createElement(_reactNative.View, {
      style: styles.container
    }, _react.default.createElement(_calendar.default, rest))));
  }

  TaCalendarModal.propTypes = (0, _extends2.default)({
    onClose: _propTypes.default.func.isRequired,
    visible: _propTypes.default.bool
  }, _calendarCommon.default.propTypes);
  TaCalendarModal.defaultProps = {
    visible: false
  };
  var _default = TaCalendarModal;
  exports.default = _default;
},1287,[5,108,6,17,201,28,1288,1313,1316,987]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "ReactNativeModal", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).ReactNativeModal;
    }
  });
  exports.default = undefined;
  exports.default = _$$_REQUIRE(_dependencyMap[0]).ReactNativeModal;
},1288,[1289]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.ReactNativeModal = undefined;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var PropTypes = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var animatable = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  var _modal = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  (0, _$$_REQUIRE(_dependencyMap[13]).initializeAnimations)();
  var defaultProps = {
    animationIn: 'slideInUp',
    animationInTiming: 300,
    animationOut: 'slideOutDown',
    animationOutTiming: 300,
    avoidKeyboard: false,
    coverScreen: true,
    hasBackdrop: true,
    backdropColor: 'black',
    backdropOpacity: 0.7,
    backdropTransitionInTiming: 300,
    backdropTransitionOutTiming: 300,
    customBackdrop: null,
    useNativeDriver: false,
    deviceHeight: null,
    deviceWidth: null,
    hideModalContentWhileAnimating: false,
    propagateSwipe: false,
    isVisible: false,
    panResponderThreshold: 4,
    swipeThreshold: 100,
    onModalShow: function onModalShow() {
      return null;
    },
    onModalWillShow: function onModalWillShow() {
      return null;
    },
    onModalHide: function onModalHide() {
      return null;
    },
    onModalWillHide: function onModalWillHide() {
      return null;
    },
    onBackdropPress: function onBackdropPress() {
      return null;
    },
    onBackButtonPress: function onBackButtonPress() {
      return null;
    },
    scrollTo: null,
    scrollOffset: 0,
    scrollOffsetMax: 0,
    scrollHorizontal: false,
    statusBarTranslucent: false,
    supportedOrientations: ['portrait', 'landscape']
  };

  var extractAnimationFromProps = function extractAnimationFromProps(props) {
    return {
      animationIn: props.animationIn,
      animationOut: props.animationOut
    };
  };

  var ReactNativeModal = function (_React$Component) {
    (0, _inherits2.default)(ReactNativeModal, _React$Component);

    var _super = _createSuper(ReactNativeModal);

    function ReactNativeModal(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ReactNativeModal);
      _this = _super.call(this, props);
      _this.state = {
        showContent: true,
        isVisible: false,
        deviceWidth: _reactNative.Dimensions.get('window').width,
        deviceHeight: _reactNative.Dimensions.get('window').height,
        isSwipeable: !!_this.props.swipeDirection,
        pan: null
      };
      _this.isTransitioning = false;
      _this.inSwipeClosingState = false;
      _this.currentSwipingDirection = null;
      _this.panResponder = null;
      _this.didUpdateDimensionsEmitter = null;
      _this.interactionHandle = null;

      _this.getDeviceHeight = function () {
        return _this.props.deviceHeight || _this.state.deviceHeight;
      };

      _this.getDeviceWidth = function () {
        return _this.props.deviceWidth || _this.state.deviceWidth;
      };

      _this.onBackButtonPress = function () {
        if (_this.props.onBackButtonPress && _this.props.isVisible) {
          _this.props.onBackButtonPress();

          return true;
        }

        return false;
      };

      _this.shouldPropagateSwipe = function (evt, gestureState) {
        return typeof _this.props.propagateSwipe === 'function' ? _this.props.propagateSwipe(evt, gestureState) : _this.props.propagateSwipe;
      };

      _this.buildPanResponder = function () {
        var animEvt = null;
        _this.panResponder = _reactNative.PanResponder.create({
          onMoveShouldSetPanResponder: function onMoveShouldSetPanResponder(evt, gestureState) {
            if (!_this.shouldPropagateSwipe(evt, gestureState)) {
              var shouldSetPanResponder = Math.abs(gestureState.dx) >= _this.props.panResponderThreshold || Math.abs(gestureState.dy) >= _this.props.panResponderThreshold;

              if (shouldSetPanResponder && _this.props.onSwipeStart) {
                _this.props.onSwipeStart(gestureState);
              }

              _this.currentSwipingDirection = _this.getSwipingDirection(gestureState);
              animEvt = _this.createAnimationEventForSwipe();
              return shouldSetPanResponder;
            }

            return false;
          },
          onStartShouldSetPanResponder: function onStartShouldSetPanResponder(e, gestureState) {
            var hasScrollableView = e._dispatchInstances && e._dispatchInstances.some(function (instance) {
              return /scrollview|flatlist/i.test(instance.type);
            });

            if (hasScrollableView && _this.shouldPropagateSwipe(e, gestureState) && _this.props.scrollTo && _this.props.scrollOffset > 0) {
              return false;
            }

            if (_this.props.onSwipeStart) {
              _this.props.onSwipeStart(gestureState);
            }

            _this.currentSwipingDirection = null;
            return true;
          },
          onPanResponderMove: function onPanResponderMove(evt, gestureState) {
            if (!_this.currentSwipingDirection) {
              if (gestureState.dx === 0 && gestureState.dy === 0) {
                return;
              }

              _this.currentSwipingDirection = _this.getSwipingDirection(gestureState);
              animEvt = _this.createAnimationEventForSwipe();
            }

            if (_this.isSwipeDirectionAllowed(gestureState)) {
              var newOpacityFactor = 1 - _this.calcDistancePercentage(gestureState);

              _this.backdropRef && _this.backdropRef.transitionTo({
                opacity: _this.props.backdropOpacity * newOpacityFactor
              });
              animEvt(evt, gestureState);

              if (_this.props.onSwipeMove) {
                _this.props.onSwipeMove(newOpacityFactor, gestureState);
              }
            } else {
              if (_this.props.scrollTo) {
                if (_this.props.scrollHorizontal) {
                  var offsetX = -gestureState.dx;

                  if (offsetX > _this.props.scrollOffsetMax) {
                    offsetX -= (offsetX - _this.props.scrollOffsetMax) / 2;
                  }

                  _this.props.scrollTo({
                    x: offsetX,
                    animated: false
                  });
                } else {
                  var offsetY = -gestureState.dy;

                  if (offsetY > _this.props.scrollOffsetMax) {
                    offsetY -= (offsetY - _this.props.scrollOffsetMax) / 2;
                  }

                  _this.props.scrollTo({
                    y: offsetY,
                    animated: false
                  });
                }
              }
            }
          },
          onPanResponderRelease: function onPanResponderRelease(evt, gestureState) {
            var accDistance = _this.getAccDistancePerDirection(gestureState);

            if (accDistance > _this.props.swipeThreshold && _this.isSwipeDirectionAllowed(gestureState)) {
              if (_this.props.onSwipeComplete) {
                _this.inSwipeClosingState = true;

                _this.props.onSwipeComplete({
                  swipingDirection: _this.getSwipingDirection(gestureState)
                }, gestureState);

                return;
              }

              if (_this.props.onSwipe) {
                _this.inSwipeClosingState = true;

                _this.props.onSwipe();

                return;
              }
            }

            if (_this.props.onSwipeCancel) {
              _this.props.onSwipeCancel(gestureState);
            }

            if (_this.backdropRef) {
              _this.backdropRef.transitionTo({
                opacity: _this.props.backdropOpacity
              });
            }

            _reactNative.Animated.spring(_this.state.pan, {
              toValue: {
                x: 0,
                y: 0
              },
              bounciness: 0,
              useNativeDriver: false
            }).start();

            if (_this.props.scrollTo) {
              if (_this.props.scrollOffset > _this.props.scrollOffsetMax) {
                _this.props.scrollTo({
                  y: _this.props.scrollOffsetMax,
                  animated: true
                });
              }
            }
          }
        });
      };

      _this.getAccDistancePerDirection = function (gestureState) {
        switch (_this.currentSwipingDirection) {
          case 'up':
            return -gestureState.dy;

          case 'down':
            return gestureState.dy;

          case 'right':
            return gestureState.dx;

          case 'left':
            return -gestureState.dx;

          default:
            return 0;
        }
      };

      _this.getSwipingDirection = function (gestureState) {
        if (Math.abs(gestureState.dx) > Math.abs(gestureState.dy)) {
          return gestureState.dx > 0 ? 'right' : 'left';
        }

        return gestureState.dy > 0 ? 'down' : 'up';
      };

      _this.calcDistancePercentage = function (gestureState) {
        switch (_this.currentSwipingDirection) {
          case 'down':
            return (gestureState.moveY - gestureState.y0) / ((_this.props.deviceHeight || _this.state.deviceHeight) - gestureState.y0);

          case 'up':
            return (0, _$$_REQUIRE(_dependencyMap[13]).reversePercentage)(gestureState.moveY / gestureState.y0);

          case 'left':
            return (0, _$$_REQUIRE(_dependencyMap[13]).reversePercentage)(gestureState.moveX / gestureState.x0);

          case 'right':
            return (gestureState.moveX - gestureState.x0) / ((_this.props.deviceWidth || _this.state.deviceWidth) - gestureState.x0);

          default:
            return 0;
        }
      };

      _this.createAnimationEventForSwipe = function () {
        if (_this.currentSwipingDirection === 'right' || _this.currentSwipingDirection === 'left') {
          return _reactNative.Animated.event([null, {
            dx: _this.state.pan.x
          }], {
            useNativeDriver: false
          });
        } else {
          return _reactNative.Animated.event([null, {
            dy: _this.state.pan.y
          }], {
            useNativeDriver: false
          });
        }
      };

      _this.isDirectionIncluded = function (direction) {
        return Array.isArray(_this.props.swipeDirection) ? _this.props.swipeDirection.includes(direction) : _this.props.swipeDirection === direction;
      };

      _this.isSwipeDirectionAllowed = function (_ref) {
        var dy = _ref.dy,
            dx = _ref.dx;
        var draggedDown = dy > 0;
        var draggedUp = dy < 0;
        var draggedLeft = dx < 0;
        var draggedRight = dx > 0;

        if (_this.currentSwipingDirection === 'up' && _this.isDirectionIncluded('up') && draggedUp) {
          return true;
        } else if (_this.currentSwipingDirection === 'down' && _this.isDirectionIncluded('down') && draggedDown) {
          return true;
        } else if (_this.currentSwipingDirection === 'right' && _this.isDirectionIncluded('right') && draggedRight) {
          return true;
        } else if (_this.currentSwipingDirection === 'left' && _this.isDirectionIncluded('left') && draggedLeft) {
          return true;
        }

        return false;
      };

      _this.handleDimensionsUpdate = function () {
        if (!_this.props.deviceHeight && !_this.props.deviceWidth) {
          var deviceWidth = _reactNative.Dimensions.get('window').width;

          var deviceHeight = _reactNative.Dimensions.get('window').height;

          if (deviceWidth !== _this.state.deviceWidth || deviceHeight !== _this.state.deviceHeight) {
            _this.setState({
              deviceWidth: deviceWidth,
              deviceHeight: deviceHeight
            });
          }
        }
      };

      _this.open = function () {
        if (_this.isTransitioning) {
          return;
        }

        _this.isTransitioning = true;

        if (_this.backdropRef) {
          _this.backdropRef.transitionTo({
            opacity: _this.props.backdropOpacity
          }, _this.props.backdropTransitionInTiming);
        }

        if (_this.state.isSwipeable) {
          _this.state.pan.setValue({
            x: 0,
            y: 0
          });
        }

        if (_this.contentRef) {
          _this.props.onModalWillShow && _this.props.onModalWillShow();

          if (_this.interactionHandle == null) {
            _this.interactionHandle = _reactNative.InteractionManager.createInteractionHandle();
          }

          _this.contentRef.animate(_this.animationIn, _this.props.animationInTiming).then(function () {
            _this.isTransitioning = false;

            if (_this.interactionHandle) {
              _reactNative.InteractionManager.clearInteractionHandle(_this.interactionHandle);

              _this.interactionHandle = null;
            }

            if (!_this.props.isVisible) {
              _this.close();
            } else {
              _this.props.onModalShow();
            }
          });
        }
      };

      _this.close = function () {
        if (_this.isTransitioning) {
          return;
        }

        _this.isTransitioning = true;

        if (_this.backdropRef) {
          _this.backdropRef.transitionTo({
            opacity: 0
          }, _this.props.backdropTransitionOutTiming);
        }

        var animationOut = _this.animationOut;

        if (_this.inSwipeClosingState) {
          _this.inSwipeClosingState = false;

          if (_this.currentSwipingDirection === 'up') {
            animationOut = 'slideOutUp';
          } else if (_this.currentSwipingDirection === 'down') {
            animationOut = 'slideOutDown';
          } else if (_this.currentSwipingDirection === 'right') {
            animationOut = 'slideOutRight';
          } else if (_this.currentSwipingDirection === 'left') {
            animationOut = 'slideOutLeft';
          }
        }

        if (_this.contentRef) {
          _this.props.onModalWillHide && _this.props.onModalWillHide();

          if (_this.interactionHandle == null) {
            _this.interactionHandle = _reactNative.InteractionManager.createInteractionHandle();
          }

          _this.contentRef.animate(animationOut, _this.props.animationOutTiming).then(function () {
            _this.isTransitioning = false;

            if (_this.interactionHandle) {
              _reactNative.InteractionManager.clearInteractionHandle(_this.interactionHandle);

              _this.interactionHandle = null;
            }

            if (_this.props.isVisible) {
              _this.open();
            } else {
              _this.setState({
                showContent: false
              }, function () {
                _this.setState({
                  isVisible: false
                }, function () {
                  _this.props.onModalHide();
                });
              });
            }
          });
        }
      };

      _this.makeBackdrop = function () {
        if (!_this.props.hasBackdrop) {
          return null;
        }

        if (_this.props.customBackdrop && !React.isValidElement(_this.props.customBackdrop)) {
          console.warn('Invalid customBackdrop element passed to Modal. You must provide a valid React element.');
        }

        var _this$props = _this.props,
            customBackdrop = _this$props.customBackdrop,
            backdropColor = _this$props.backdropColor,
            useNativeDriver = _this$props.useNativeDriver,
            useNativeDriverForBackdrop = _this$props.useNativeDriverForBackdrop,
            onBackdropPress = _this$props.onBackdropPress;
        var hasCustomBackdrop = !!_this.props.customBackdrop;
        var backdropComputedStyle = [{
          width: _this.getDeviceWidth(),
          height: _this.getDeviceHeight(),
          backgroundColor: _this.state.showContent && !hasCustomBackdrop ? backdropColor : 'transparent'
        }];
        var backdropWrapper = React.createElement(animatable.View, {
          ref: function ref(_ref2) {
            return _this.backdropRef = _ref2;
          },
          useNativeDriver: useNativeDriverForBackdrop !== undefined ? useNativeDriverForBackdrop : useNativeDriver,
          style: [_modal.default.backdrop, backdropComputedStyle]
        }, hasCustomBackdrop && customBackdrop);

        if (hasCustomBackdrop) {
          return backdropWrapper;
        }

        return React.createElement(_reactNative.TouchableWithoutFeedback, {
          onPress: onBackdropPress
        }, backdropWrapper);
      };

      var _buildAnimations = (0, _$$_REQUIRE(_dependencyMap[13]).buildAnimations)(extractAnimationFromProps(props)),
          animationIn = _buildAnimations.animationIn,
          animationOut = _buildAnimations.animationOut;

      _this.animationIn = animationIn;
      _this.animationOut = animationOut;

      if (_this.state.isSwipeable) {
        _this.state = (0, _extends2.default)({}, _this.state, {
          pan: new _reactNative.Animated.ValueXY()
        });

        _this.buildPanResponder();
      }

      if (props.isVisible) {
        _this.state = (0, _extends2.default)({}, _this.state, {
          isVisible: true,
          showContent: true
        });
      }

      return _this;
    }

    (0, _createClass2.default)(ReactNativeModal, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        if (this.props.onSwipe) {
          console.warn('`<Modal onSwipe="..." />` is deprecated and will be removed starting from 13.0.0. Use `<Modal onSwipeComplete="..." />` instead.');
        }

        this.didUpdateDimensionsEmitter = _reactNative.DeviceEventEmitter.addListener('didUpdateDimensions', this.handleDimensionsUpdate);

        if (this.state.isVisible) {
          this.open();
        }

        _reactNative.BackHandler.addEventListener('hardwareBackPress', this.onBackButtonPress);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _reactNative.BackHandler.removeEventListener('hardwareBackPress', this.onBackButtonPress);

        if (this.didUpdateDimensionsEmitter) {
          this.didUpdateDimensionsEmitter.remove();
        }

        if (this.interactionHandle) {
          _reactNative.InteractionManager.clearInteractionHandle(this.interactionHandle);

          this.interactionHandle = null;
        }
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps) {
        if (this.props.animationIn !== prevProps.animationIn || this.props.animationOut !== prevProps.animationOut) {
          var _buildAnimations2 = (0, _$$_REQUIRE(_dependencyMap[13]).buildAnimations)(extractAnimationFromProps(this.props)),
              animationIn = _buildAnimations2.animationIn,
              animationOut = _buildAnimations2.animationOut;

          this.animationIn = animationIn;
          this.animationOut = animationOut;
        }

        if (this.props.backdropOpacity !== prevProps.backdropOpacity && this.backdropRef) {
          this.backdropRef.transitionTo({
            opacity: this.props.backdropOpacity
          }, this.props.backdropTransitionInTiming);
        }

        if (this.props.isVisible && !prevProps.isVisible) {
          this.open();
        } else if (!this.props.isVisible && prevProps.isVisible) {
          this.close();
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props2 = this.props,
            animationIn = _this$props2.animationIn,
            animationInTiming = _this$props2.animationInTiming,
            animationOut = _this$props2.animationOut,
            animationOutTiming = _this$props2.animationOutTiming,
            avoidKeyboard = _this$props2.avoidKeyboard,
            coverScreen = _this$props2.coverScreen,
            hasBackdrop = _this$props2.hasBackdrop,
            backdropColor = _this$props2.backdropColor,
            backdropOpacity = _this$props2.backdropOpacity,
            backdropTransitionInTiming = _this$props2.backdropTransitionInTiming,
            backdropTransitionOutTiming = _this$props2.backdropTransitionOutTiming,
            customBackdrop = _this$props2.customBackdrop,
            children = _this$props2.children,
            isVisible = _this$props2.isVisible,
            onModalShow = _this$props2.onModalShow,
            onBackButtonPress = _this$props2.onBackButtonPress,
            useNativeDriver = _this$props2.useNativeDriver,
            propagateSwipe = _this$props2.propagateSwipe,
            style = _this$props2.style,
            otherProps = (0, _objectWithoutProperties2.default)(_this$props2, ["animationIn", "animationInTiming", "animationOut", "animationOutTiming", "avoidKeyboard", "coverScreen", "hasBackdrop", "backdropColor", "backdropOpacity", "backdropTransitionInTiming", "backdropTransitionOutTiming", "customBackdrop", "children", "isVisible", "onModalShow", "onBackButtonPress", "useNativeDriver", "propagateSwipe", "style"]);
        var testID = otherProps.testID,
            containerProps = (0, _objectWithoutProperties2.default)(otherProps, ["testID"]);
        var computedStyle = [{
          margin: this.getDeviceWidth() * 0.05,
          transform: [{
            translateY: 0
          }]
        }, _modal.default.content, style];
        var panHandlers = {};
        var panPosition = {};

        if (this.state.isSwipeable) {
          panHandlers = (0, _extends2.default)({}, this.panResponder.panHandlers);

          if (useNativeDriver) {
            panPosition = {
              transform: this.state.pan.getTranslateTransform()
            };
          } else {
            panPosition = this.state.pan.getLayout();
          }
        }

        var _children = this.props.hideModalContentWhileAnimating && this.props.useNativeDriver && !this.state.showContent ? React.createElement(animatable.View, null) : children;

        var containerView = React.createElement(animatable.View, (0, _extends2.default)({}, panHandlers, {
          ref: function ref(_ref3) {
            return _this2.contentRef = _ref3;
          },
          style: [panPosition, computedStyle],
          pointerEvents: "box-none",
          useNativeDriver: useNativeDriver
        }, containerProps), _children);

        if (!coverScreen && this.state.isVisible) {
          return React.createElement(_reactNative.View, {
            pointerEvents: "box-none",
            style: [_modal.default.backdrop, _modal.default.containerBox]
          }, this.makeBackdrop(), containerView);
        }

        return React.createElement(_reactNative.Modal, (0, _extends2.default)({
          transparent: true,
          animationType: 'none',
          visible: this.state.isVisible,
          onRequestClose: onBackButtonPress
        }, otherProps), this.makeBackdrop(), avoidKeyboard ? React.createElement(_reactNative.KeyboardAvoidingView, {
          behavior: _reactNative.Platform.OS === 'ios' ? 'padding' : undefined,
          pointerEvents: "box-none",
          style: computedStyle.concat([{
            margin: 0
          }])
        }, containerView) : containerView);
      }
    }], [{
      key: "getDerivedStateFromProps",
      value: function getDerivedStateFromProps(nextProps, state) {
        if (!state.isVisible && nextProps.isVisible) {
          return {
            isVisible: true,
            showContent: true
          };
        }

        return null;
      }
    }]);
    return ReactNativeModal;
  }(React.Component);

  exports.ReactNativeModal = ReactNativeModal;
  ReactNativeModal.propTypes = {
    animationIn: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
    animationInTiming: PropTypes.number,
    animationOut: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
    animationOutTiming: PropTypes.number,
    avoidKeyboard: PropTypes.bool,
    coverScreen: PropTypes.bool,
    hasBackdrop: PropTypes.bool,
    backdropColor: PropTypes.string,
    backdropOpacity: PropTypes.number,
    backdropTransitionInTiming: PropTypes.number,
    backdropTransitionOutTiming: PropTypes.number,
    customBackdrop: PropTypes.node,
    children: PropTypes.node.isRequired,
    deviceHeight: PropTypes.number,
    deviceWidth: PropTypes.number,
    isVisible: PropTypes.bool.isRequired,
    hideModalContentWhileAnimating: PropTypes.bool,
    propagateSwipe: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),
    onModalShow: PropTypes.func,
    onModalWillShow: PropTypes.func,
    onModalHide: PropTypes.func,
    onModalWillHide: PropTypes.func,
    onBackButtonPress: PropTypes.func,
    onBackdropPress: PropTypes.func,
    panResponderThreshold: PropTypes.number,
    onSwipeStart: PropTypes.func,
    onSwipeMove: PropTypes.func,
    onSwipeComplete: PropTypes.func,
    onSwipeCancel: PropTypes.func,
    swipeThreshold: PropTypes.number,
    swipeDirection: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOf(['up', 'down', 'left', 'right'])), PropTypes.oneOf(['up', 'down', 'left', 'right'])]),
    useNativeDriver: PropTypes.bool,
    useNativeDriverForBackdrop: PropTypes.bool,
    style: PropTypes.any,
    scrollTo: PropTypes.func,
    scrollOffset: PropTypes.number,
    scrollOffsetMax: PropTypes.number,
    scrollHorizontal: PropTypes.bool,
    supportedOrientations: PropTypes.arrayOf(PropTypes.oneOf(['portrait', 'portrait-upside-down', 'landscape', 'landscape-left', 'landscape-right']))
  };
  ReactNativeModal.defaultProps = defaultProps;
  var _default = ReactNativeModal;
  exports.default = _default;
},1289,[5,108,6,7,8,12,14,16,17,28,201,1290,1311,1312]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "registerAnimation", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).registerAnimation;
    }
  });
  Object.defineProperty(exports, "initializeRegistryWithDefinitions", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).initializeRegistryWithDefinitions;
    }
  });
  Object.defineProperty(exports, "createAnimation", {
    enumerable: true,
    get: function get() {
      return _createAnimation.default;
    }
  });
  exports.Image = exports.Text = exports.View = exports.createAnimatableComponent = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[1]);

  var _createAnimatableComponent = _$$_REQUIRE(_dependencyMap[2])(_$$_REQUIRE(_dependencyMap[3]));

  var ANIMATION_DEFINITIONS = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _createAnimation = _$$_REQUIRE(_dependencyMap[2])(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  (0, _$$_REQUIRE(_dependencyMap[0]).initializeRegistryWithDefinitions)(ANIMATION_DEFINITIONS);
  var createAnimatableComponent = _createAnimatableComponent.default;
  exports.createAnimatableComponent = createAnimatableComponent;
  var View = (0, _createAnimatableComponent.default)(_reactNative.View);
  exports.View = View;
  var Text = (0, _createAnimatableComponent.default)(_reactNative.Text);
  exports.Text = Text;
  var Image = (0, _createAnimatableComponent.default)(_reactNative.Image);
  exports.Image = Image;
},1290,[1291,28,5,1294,1299,1292]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.registerAnimation = registerAnimation;
  exports.getAnimationByName = getAnimationByName;
  exports.getAnimationNames = getAnimationNames;
  exports.initializeRegistryWithDefinitions = initializeRegistryWithDefinitions;

  var _createAnimation = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var animationRegistry = {};

  function registerAnimation(animationName, animation) {
    animationRegistry[animationName] = animation;
  }

  function getAnimationByName(animationName) {
    return animationRegistry[animationName];
  }

  function getAnimationNames() {
    return Object.keys(animationRegistry);
  }

  function initializeRegistryWithDefinitions(definitions) {
    Object.keys(definitions).forEach(function (animationName) {
      registerAnimation(animationName, (0, _createAnimation.default)(definitions[animationName]));
    });
  }
},1291,[5,1292]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = createAnimation;

  var _flattenStyle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function compareNumbers(a, b) {
    return a - b;
  }

  function notNull(value) {
    return value !== null;
  }

  function parsePosition(value) {
    if (value === 'from') {
      return 0;
    }

    if (value === 'to') {
      return 1;
    }

    var parsed = parseFloat(value, 10);

    if (Number.isNaN(parsed) || parsed < 0 || parsed > 1) {
      return null;
    }

    return parsed;
  }

  var cache = {};

  function createAnimation(definition) {
    var cacheKey = JSON.stringify(definition);

    if (cache[cacheKey]) {
      return cache[cacheKey];
    }

    var positions = Object.keys(definition).map(parsePosition).filter(notNull);
    positions.sort(compareNumbers);

    if (positions.length < 2) {
      throw new Error('Animation definitions must have at least two values.');
    }

    var compiled = {};

    if (definition.easing) {
      compiled.easing = definition.easing;
    }

    if (definition.style) {
      compiled.style = definition.style;
    }

    var _loop = function _loop(i) {
      var position = positions[i];
      var keyframe = definition[position];

      if (!keyframe) {
        if (position === 0) {
          keyframe = definition.from;
        } else if (position === 1) {
          keyframe = definition.to;
        }
      }

      if (!keyframe) {
        throw new Error('Missing animation keyframe, this should not happen');
      }

      keyframe = (0, _flattenStyle.default)(keyframe);
      Object.keys(keyframe).forEach(function (key) {
        if (!(key in compiled)) {
          compiled[key] = {
            inputRange: [],
            outputRange: []
          };
        }

        compiled[key].inputRange.push(position);
        compiled[key].outputRange.push(keyframe[key]);
      });
    };

    for (var i = 0; i < positions.length; i += 1) {
      _loop(i);
    }

    cache[cacheKey] = compiled;
    return compiled;
  }
},1292,[5,1293]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = flattenStyle;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  function flattenStyle(style) {
    var flatStyle = (0, _extends2.default)({}, _reactNative.StyleSheet.flatten(style));

    if (flatStyle.transform) {
      flatStyle.transform.forEach(function (transform) {
        var key = Object.keys(transform)[0];
        flatStyle[key] = transform[key];
      });
      delete flatStyle.transform;
    }

    return flatStyle;
  }
},1293,[5,6,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = createAnimatableComponent;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _wrapStyleTransforms = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _getStyleValues = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _flattenStyle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _createAnimation = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _easing = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var INTERPOLATION_STYLE_PROPERTIES = ['rotate', 'rotateX', 'rotateY', 'rotateZ', 'skewX', 'skewY', 'transformMatrix', 'backgroundColor', 'borderColor', 'borderTopColor', 'borderRightColor', 'borderBottomColor', 'borderLeftColor', 'shadowColor', 'color', 'textDecorationColor', 'tintColor'];
  var ZERO_CLAMPED_STYLE_PROPERTIES = ['width', 'height'];

  function omit(keys, source) {
    var filtered = {};
    Object.keys(source).forEach(function (key) {
      if (keys.indexOf(key) === -1) {
        filtered[key] = source[key];
      }
    });
    return filtered;
  }

  function deepEquals(a, b) {
    return a === b || JSON.stringify(a) === JSON.stringify(b);
  }

  function getAnimationTarget(iteration, direction) {
    switch (direction) {
      case 'reverse':
        return 0;

      case 'alternate':
        return iteration % 2 ? 0 : 1;

      case 'alternate-reverse':
        return iteration % 2 ? 1 : 0;

      case 'normal':
      default:
        return 1;
    }
  }

  function getAnimationOrigin(iteration, direction) {
    return getAnimationTarget(iteration, direction) ? 0 : 1;
  }

  function getCompiledAnimation(animation) {
    if (typeof animation === 'string') {
      var compiledAnimation = (0, _$$_REQUIRE(_dependencyMap[16]).getAnimationByName)(animation);

      if (!compiledAnimation) {
        throw new Error("No animation registred by the name of " + animation);
      }

      return compiledAnimation;
    }

    return (0, _createAnimation.default)(animation);
  }

  function makeInterpolatedStyle(compiledAnimation, animationValue) {
    var style = {};
    Object.keys(compiledAnimation).forEach(function (key) {
      if (key === 'style') {
        (0, _extends2.default)(style, compiledAnimation.style);
      } else if (key !== 'easing') {
        style[key] = animationValue.interpolate(compiledAnimation[key]);
      }
    });
    return (0, _wrapStyleTransforms.default)(style);
  }

  function transitionToValue(property, transitionValue, toValue, duration, easing) {
    var useNativeDriver = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
    var delay = arguments.length > 6 ? arguments[6] : undefined;
    var onTransitionBegin = arguments.length > 7 ? arguments[7] : undefined;
    var onTransitionEnd = arguments.length > 8 ? arguments[8] : undefined;
    var animation = duration || easing || delay ? _reactNative.Animated.timing(transitionValue, {
      toValue: toValue,
      delay: delay,
      duration: duration || 1000,
      easing: typeof easing === 'function' ? easing : _easing.default[easing || 'ease'],
      useNativeDriver: useNativeDriver
    }) : _reactNative.Animated.spring(transitionValue, {
      toValue: toValue,
      useNativeDriver: useNativeDriver
    });
    setTimeout(function () {
      return onTransitionBegin(property);
    }, delay);
    animation.start(function () {
      return onTransitionEnd(property);
    });
  }

  function createAnimatableComponent(WrappedComponent) {
    var _class;

    var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';

    var Animatable = _reactNative.Animated.createAnimatedComponent(WrappedComponent);

    return _class = function (_Component) {
      (0, _inherits2.default)(AnimatableComponent, _Component);

      var _super = _createSuper(AnimatableComponent);

      function AnimatableComponent(props) {
        var _this;

        (0, _classCallCheck2.default)(this, AnimatableComponent);
        _this = _super.call(this, props);
        _this.ref = null;

        _this.handleRef = function (ref) {
          _this.ref = ref;
        };

        var animationValue = new _reactNative.Animated.Value(getAnimationOrigin(0, _this.props.direction));
        var animationStyle = {};
        var compiledAnimation = {};

        if (props.animation) {
          compiledAnimation = getCompiledAnimation(props.animation);
          animationStyle = makeInterpolatedStyle(compiledAnimation, animationValue);
        }

        _this.state = {
          animationValue: animationValue,
          animationStyle: animationStyle,
          compiledAnimation: compiledAnimation,
          transitionStyle: {},
          transitionValues: {},
          currentTransitionValues: {}
        };

        if (props.transition) {
          _this.state = (0, _extends2.default)({}, _this.state, _this.initializeTransitionState(props.transition));
        }

        _this.delayTimer = null;
        (0, _$$_REQUIRE(_dependencyMap[16]).getAnimationNames)().forEach(function (animationName) {
          if (!(animationName in (0, _assertThisInitialized2.default)(_this))) {
            _this[animationName] = _this.animate.bind((0, _assertThisInitialized2.default)(_this), animationName);
          }
        });
        return _this;
      }

      (0, _createClass2.default)(AnimatableComponent, [{
        key: "initializeTransitionState",
        value: function initializeTransitionState(transitionKeys) {
          var transitionValues = {};
          var styleValues = {};
          var currentTransitionValues = (0, _getStyleValues.default)(transitionKeys, this.props.style);
          Object.keys(currentTransitionValues).forEach(function (key) {
            var value = currentTransitionValues[key];

            if (INTERPOLATION_STYLE_PROPERTIES.indexOf(key) !== -1 || typeof value !== 'number') {
              transitionValues[key] = new _reactNative.Animated.Value(0);
              styleValues[key] = value;
            } else {
              var animationValue = new _reactNative.Animated.Value(value);
              transitionValues[key] = animationValue;
              styleValues[key] = animationValue;
            }
          });
          return {
            currentTransitionValues: currentTransitionValues,
            transitionStyle: styleValues,
            transitionValues: transitionValues
          };
        }
      }, {
        key: "getTransitionState",
        value: function getTransitionState(keys) {
          var _this2 = this;

          var transitionKeys = typeof keys === 'string' ? [keys] : keys;
          var _this$state = this.state,
              transitionValues = _this$state.transitionValues,
              currentTransitionValues = _this$state.currentTransitionValues,
              transitionStyle = _this$state.transitionStyle;
          var missingKeys = transitionKeys.filter(function (key) {
            return !_this2.state.transitionValues[key];
          });

          if (missingKeys.length) {
            var transitionState = this.initializeTransitionState(missingKeys);
            transitionValues = (0, _extends2.default)({}, transitionValues, transitionState.transitionValues);
            currentTransitionValues = (0, _extends2.default)({}, currentTransitionValues, transitionState.currentTransitionValues);
            transitionStyle = (0, _extends2.default)({}, transitionStyle, transitionState.transitionStyle);
          }

          return {
            transitionValues: transitionValues,
            currentTransitionValues: currentTransitionValues,
            transitionStyle: transitionStyle
          };
        }
      }, {
        key: "setNativeProps",
        value: function setNativeProps(nativeProps) {
          if (this.ref) {
            this.ref.setNativeProps(nativeProps);
          }
        }
      }, {
        key: "componentDidMount",
        value: function componentDidMount() {
          var _this3 = this;

          var _this$props = this.props,
              animation = _this$props.animation,
              duration = _this$props.duration,
              delay = _this$props.delay,
              onAnimationBegin = _this$props.onAnimationBegin,
              iterationDelay = _this$props.iterationDelay;

          if (animation) {
            var startAnimation = function startAnimation() {
              onAnimationBegin();

              _this3.startAnimation(duration, 0, iterationDelay, function (endState) {
                return _this3.props.onAnimationEnd(endState);
              });

              _this3.delayTimer = null;
            };

            if (delay) {
              this.delayTimer = setTimeout(startAnimation, delay);
            } else {
              startAnimation();
            }
          }
        }
      }, {
        key: "UNSAFE_componentWillReceiveProps",
        value: function UNSAFE_componentWillReceiveProps(props) {
          var _this4 = this;

          var animation = props.animation,
              delay = props.delay,
              duration = props.duration,
              easing = props.easing,
              iterationDelay = props.iterationDelay,
              transition = props.transition,
              onAnimationBegin = props.onAnimationBegin;

          if (transition) {
            var values = (0, _getStyleValues.default)(transition, props.style);
            this.transitionTo(values, duration, easing, delay);
          } else if (!deepEquals(animation, this.props.animation)) {
            if (animation) {
              if (this.delayTimer) {
                this.setAnimation(animation);
              } else {
                onAnimationBegin();
                this.animate(animation, duration, iterationDelay).then(function (endState) {
                  return _this4.props.onAnimationEnd(endState);
                });
              }
            } else {
              this.stopAnimation();
            }
          }
        }
      }, {
        key: "componentWillUnmount",
        value: function componentWillUnmount() {
          if (this.delayTimer) {
            clearTimeout(this.delayTimer);
          }
        }
      }, {
        key: "setAnimation",
        value: function setAnimation(animation, callback) {
          var compiledAnimation = getCompiledAnimation(animation);
          this.setState(function (state) {
            return {
              animationStyle: makeInterpolatedStyle(compiledAnimation, state.animationValue),
              compiledAnimation: compiledAnimation
            };
          }, callback);
        }
      }, {
        key: "animate",
        value: function animate(animation, duration, iterationDelay) {
          var _this5 = this;

          return new Promise(function (resolve) {
            _this5.setAnimation(animation, function () {
              _this5.startAnimation(duration, 0, iterationDelay, resolve);
            });
          });
        }
      }, {
        key: "stopAnimation",
        value: function stopAnimation() {
          this.setState({
            scheduledAnimation: false,
            animationStyle: {}
          });
          this.state.animationValue.stopAnimation();

          if (this.delayTimer) {
            clearTimeout(this.delayTimer);
            this.delayTimer = null;
          }
        }
      }, {
        key: "startAnimation",
        value: function startAnimation(duration, iteration, iterationDelay, callback) {
          var _this6 = this;

          var _this$state2 = this.state,
              animationValue = _this$state2.animationValue,
              compiledAnimation = _this$state2.compiledAnimation;
          var _this$props2 = this.props,
              direction = _this$props2.direction,
              iterationCount = _this$props2.iterationCount,
              useNativeDriver = _this$props2.useNativeDriver;
          var easing = this.props.easing || compiledAnimation.easing || 'ease';
          var currentIteration = iteration || 0;
          var fromValue = getAnimationOrigin(currentIteration, direction);
          var toValue = getAnimationTarget(currentIteration, direction);
          animationValue.setValue(fromValue);

          if (typeof easing === 'string') {
            easing = _easing.default[easing];
          }

          var reversed = direction === 'reverse' || direction === 'alternate' && !toValue || direction === 'alternate-reverse' && !toValue;

          if (reversed) {
            easing = _reactNative.Easing.out(easing);
          }

          var config = {
            toValue: toValue,
            easing: easing,
            isInteraction: iterationCount <= 1,
            duration: duration || this.props.duration || 1000,
            useNativeDriver: useNativeDriver,
            delay: iterationDelay || 0
          };

          _reactNative.Animated.timing(animationValue, config).start(function (endState) {
            currentIteration += 1;

            if (endState.finished && _this6.props.animation && (iterationCount === 'infinite' || currentIteration < iterationCount)) {
              _this6.startAnimation(duration, currentIteration, iterationDelay, callback);
            } else if (callback) {
              callback(endState);
            }
          });
        }
      }, {
        key: "transition",
        value: function transition(fromValues, toValues, duration, easing) {
          var _this7 = this;

          var fromValuesFlat = (0, _flattenStyle.default)(fromValues);
          var toValuesFlat = (0, _flattenStyle.default)(toValues);
          var transitionKeys = Object.keys(toValuesFlat);

          var _this$getTransitionSt = this.getTransitionState(transitionKeys),
              transitionValues = _this$getTransitionSt.transitionValues,
              currentTransitionValues = _this$getTransitionSt.currentTransitionValues,
              transitionStyle = _this$getTransitionSt.transitionStyle;

          transitionKeys.forEach(function (property) {
            var fromValue = fromValuesFlat[property];
            var toValue = toValuesFlat[property];
            var transitionValue = transitionValues[property];

            if (!transitionValue) {
              transitionValue = new _reactNative.Animated.Value(0);
            }

            var needsInterpolation = INTERPOLATION_STYLE_PROPERTIES.indexOf(property) !== -1 || typeof value !== 'number';
            var needsZeroClamping = ZERO_CLAMPED_STYLE_PROPERTIES.indexOf(property) !== -1;

            if (needsInterpolation) {
              transitionValue.setValue(0);
              transitionStyle[property] = transitionValue.interpolate({
                inputRange: [0, 1],
                outputRange: [fromValue, toValue]
              });
              currentTransitionValues[property] = toValue;
              toValuesFlat[property] = 1;
            } else {
              if (needsZeroClamping) {
                transitionStyle[property] = transitionValue.interpolate({
                  inputRange: [0, 1],
                  outputRange: [0, 1],
                  extrapolateLeft: 'clamp'
                });
                currentTransitionValues[property] = toValue;
              } else {
                transitionStyle[property] = transitionValue;
              }

              transitionValue.setValue(fromValue);
            }
          });
          this.setState({
            transitionValues: transitionValues,
            transitionStyle: transitionStyle,
            currentTransitionValues: currentTransitionValues
          }, function () {
            _this7.transitionToValues(toValuesFlat, duration || _this7.props.duration, easing, _this7.props.delay);
          });
        }
      }, {
        key: "transitionTo",
        value: function transitionTo(toValues, duration, easing, delay) {
          var _this8 = this;

          var currentTransitionValues = this.state.currentTransitionValues;
          var toValuesFlat = (0, _flattenStyle.default)(toValues);
          var transitions = {
            from: {},
            to: {}
          };
          Object.keys(toValuesFlat).forEach(function (property) {
            var toValue = toValuesFlat[property];
            var needsInterpolation = INTERPOLATION_STYLE_PROPERTIES.indexOf(property) !== -1 || typeof value !== 'number';
            var needsZeroClamping = ZERO_CLAMPED_STYLE_PROPERTIES.indexOf(property) !== -1;
            var transitionStyle = _this8.state.transitionStyle[property];
            var transitionValue = _this8.state.transitionValues[property];

            if (!needsInterpolation && !needsZeroClamping && transitionStyle && transitionStyle === transitionValue) {
              transitionToValue(property, transitionValue, toValue, duration, easing, _this8.props.useNativeDriver, delay, function (prop) {
                return _this8.props.onTransitionBegin(prop);
              }, function (prop) {
                return _this8.props.onTransitionEnd(prop);
              });
            } else {
              var currentTransitionValue = currentTransitionValues[property];

              if (typeof currentTransitionValue === 'undefined' && _this8.props.style) {
                var style = (0, _getStyleValues.default)(property, _this8.props.style);
                currentTransitionValue = style[property];
              }

              transitions.from[property] = currentTransitionValue;
              transitions.to[property] = toValue;
            }
          });

          if (Object.keys(transitions.from).length) {
            this.transition(transitions.from, transitions.to, duration, easing);
          }
        }
      }, {
        key: "transitionToValues",
        value: function transitionToValues(toValues, duration, easing, delay) {
          var _this9 = this;

          Object.keys(toValues).forEach(function (property) {
            var transitionValue = _this9.state.transitionValues[property];
            var toValue = toValues[property];
            transitionToValue(property, transitionValue, toValue, duration, easing, _this9.props.useNativeDriver, delay, function (prop) {
              return _this9.props.onTransitionBegin(prop);
            }, function (prop) {
              return _this9.props.onTransitionEnd(prop);
            });
          });
        }
      }, {
        key: "render",
        value: function render() {
          var _this$props3 = this.props,
              style = _this$props3.style,
              animation = _this$props3.animation,
              transition = _this$props3.transition;

          if (animation && transition) {
            throw new Error('You cannot combine animation and transition props');
          }

          var restProps = omit(['animation', 'duration', 'direction', 'delay', 'easing', 'iterationCount', 'iterationDelay', 'onAnimationBegin', 'onAnimationEnd', 'onTransitionBegin', 'onTransitionEnd', 'style', 'transition', 'useNativeDriver'], this.props);
          return _react.default.createElement(Animatable, (0, _extends2.default)({
            ref: this.handleRef,
            style: [style, this.state.animationStyle, (0, _wrapStyleTransforms.default)(this.state.transitionStyle)]
          }, restProps));
        }
      }]);
      return AnimatableComponent;
    }(_react.Component), _class.displayName = "withAnimatable(" + wrappedComponentName + ")", _class.propTypes = {
      animation: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]),
      duration: _propTypes.default.number,
      direction: _propTypes.default.oneOf(['normal', 'reverse', 'alternate', 'alternate-reverse']),
      delay: _propTypes.default.number,
      easing: _propTypes.default.oneOfType([_propTypes.default.oneOf(Object.keys(_easing.default)), _propTypes.default.func]),
      iterationCount: function iterationCount(props, propName) {
        var val = props[propName];

        if (val !== 'infinite' && !(typeof val === 'number' && val >= 1)) {
          return new Error('iterationCount must be a positive number or "infinite"');
        }

        return null;
      },
      iterationDelay: _propTypes.default.number,
      onAnimationBegin: _propTypes.default.func,
      onAnimationEnd: _propTypes.default.func,
      onTransitionBegin: _propTypes.default.func,
      onTransitionEnd: _propTypes.default.func,
      style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.array, _propTypes.default.object]),
      transition: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.string)]),
      useNativeDriver: _propTypes.default.bool
    }, _class.defaultProps = {
      animation: undefined,
      delay: 0,
      direction: 'normal',
      duration: undefined,
      easing: undefined,
      iterationCount: 1,
      iterationDelay: 0,
      onAnimationBegin: function onAnimationBegin() {},
      onAnimationEnd: function onAnimationEnd() {},
      onTransitionBegin: function onTransitionBegin() {},
      onTransitionEnd: function onTransitionEnd() {},
      style: undefined,
      transition: undefined,
      useNativeDriver: false
    }, _class;
  }
},1294,[5,7,8,15,12,14,16,6,17,201,28,1295,1296,1293,1292,1298,1291]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = wrapStyleTransforms;

  var _defineProperty2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var TRANSFORM_STYLE_PROPERTIES = ['perspective', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scaleX', 'scaleY', 'skewX', 'skewY', 'translateX', 'translateY'];

  function wrapStyleTransforms(style) {
    var wrapped = {};
    Object.keys(style).forEach(function (key) {
      if (TRANSFORM_STYLE_PROPERTIES.indexOf(key) !== -1) {
        if (!wrapped.transform) {
          wrapped.transform = [];
        }

        wrapped.transform.push((0, _defineProperty2.default)({}, key, style[key]));
      } else {
        wrapped[key] = style[key];
      }
    });
    return wrapped;
  }
},1295,[5,27]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = getStyleValues;

  var _flattenStyle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _getDefaultStyleValue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  function getStyleValues(keys, style) {
    var values = {};
    var flatStyle = (0, _flattenStyle.default)(style);
    (typeof keys === 'string' ? [keys] : keys).forEach(function (key) {
      values[key] = key in flatStyle ? flatStyle[key] : (0, _getDefaultStyleValue.default)(key, flatStyle);
    });
    return values;
  }
},1296,[5,1293,1297]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = getDefaultStyleValue;
  var DIRECTIONAL_FALLBACKS = {
    Top: ['Vertical', ''],
    Bottom: ['Vertical', ''],
    Vertical: [''],
    Left: ['Horizontal', ''],
    Right: ['Horizontal', ''],
    Horizontal: ['']
  };
  var DIRECTIONAL_SUFFICES = Object.keys(DIRECTIONAL_FALLBACKS);

  function getDefaultStyleValue(key, flatStyle) {
    if (key === 'backgroundColor') {
      return 'rgba(0,0,0,0)';
    }

    if (key === 'color' || key.indexOf('Color') !== -1) {
      return 'rgba(0,0,0,1)';
    }

    if (key.indexOf('rotate') === 0 || key.indexOf('skew') === 0) {
      return '0deg';
    }

    if (key === 'opacity' || key.indexOf('scale') === 0) {
      return 1;
    }

    if (key === 'fontSize') {
      return 14;
    }

    if (key.indexOf('margin') === 0 || key.indexOf('padding') === 0) {
      for (var suffix, i = 0; i < DIRECTIONAL_SUFFICES.length; i++) {
        suffix = DIRECTIONAL_SUFFICES[i];

        if (key.substr(-suffix.length) === suffix) {
          var prefix = key.substr(0, key.length - suffix.length);
          var fallbacks = DIRECTIONAL_FALLBACKS[suffix];

          for (var fallback, j = 0; j < fallbacks.length; j++) {
            fallback = prefix + fallbacks[j];

            if (fallback in flatStyle) {
              return flatStyle[fallback];
            }
          }

          break;
        }
      }
    }

    return 0;
  }
},1297,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var EASING_FUNCTIONS = {
    linear: _reactNative.Easing.linear,
    ease: _reactNative.Easing.bezier(0.25, 0.1, 0.25, 1),
    'ease-in': _reactNative.Easing.bezier(0.42, 0, 1, 1),
    'ease-out': _reactNative.Easing.bezier(0, 0, 0.58, 1),
    'ease-in-out': _reactNative.Easing.bezier(0.42, 0, 0.58, 1),
    'ease-in-cubic': _reactNative.Easing.bezier(0.55, 0.055, 0.675, 0.19),
    'ease-out-cubic': _reactNative.Easing.bezier(0.215, 0.61, 0.355, 1.0),
    'ease-in-out-cubic': _reactNative.Easing.bezier(0.645, 0.045, 0.355, 1.0),
    'ease-in-circ': _reactNative.Easing.bezier(0.6, 0.04, 0.98, 0.335),
    'ease-out-circ': _reactNative.Easing.bezier(0.075, 0.82, 0.165, 1.0),
    'ease-in-out-circ': _reactNative.Easing.bezier(0.785, 0.135, 0.15, 0.86),
    'ease-in-expo': _reactNative.Easing.bezier(0.95, 0.05, 0.795, 0.035),
    'ease-out-expo': _reactNative.Easing.bezier(0.19, 1.0, 0.22, 1.0),
    'ease-in-out-expo': _reactNative.Easing.bezier(1.0, 0.0, 0.0, 1.0),
    'ease-in-quad': _reactNative.Easing.bezier(0.55, 0.085, 0.68, 0.53),
    'ease-out-quad': _reactNative.Easing.bezier(0.25, 0.46, 0.45, 0.94),
    'ease-in-out-quad': _reactNative.Easing.bezier(0.455, 0.03, 0.515, 0.955),
    'ease-in-quart': _reactNative.Easing.bezier(0.895, 0.03, 0.685, 0.22),
    'ease-out-quart': _reactNative.Easing.bezier(0.165, 0.84, 0.44, 1.0),
    'ease-in-out-quart': _reactNative.Easing.bezier(0.77, 0.0, 0.175, 1.0),
    'ease-in-quint': _reactNative.Easing.bezier(0.755, 0.05, 0.855, 0.06),
    'ease-out-quint': _reactNative.Easing.bezier(0.23, 1.0, 0.32, 1.0),
    'ease-in-out-quint': _reactNative.Easing.bezier(0.86, 0.0, 0.07, 1.0),
    'ease-in-sine': _reactNative.Easing.bezier(0.47, 0.0, 0.745, 0.715),
    'ease-out-sine': _reactNative.Easing.bezier(0.39, 0.575, 0.565, 1.0),
    'ease-in-out-sine': _reactNative.Easing.bezier(0.445, 0.05, 0.55, 0.95),
    'ease-in-back': _reactNative.Easing.bezier(0.6, -0.28, 0.735, 0.045),
    'ease-out-back': _reactNative.Easing.bezier(0.175, 0.885, 0.32, 1.275),
    'ease-in-out-back': _reactNative.Easing.bezier(0.68, -0.55, 0.265, 1.55)
  };
  var _default = EASING_FUNCTIONS;
  exports.default = _default;
},1298,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[1])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[1])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[1])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[2])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[2])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[2])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[3])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[3])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[3])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[4])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[4])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[4])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[5])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[5])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[5])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[6])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[6])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[6])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[7])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[7])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[7])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[8])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[8])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[8])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[9])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[9])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[9])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[10])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[10])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[10])[key];
      }
    });
  });
},1299,[1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.wobble = exports.tada = exports.rubberBand = exports.swing = exports.shake = exports.rotate = exports.pulse = exports.jello = exports.flash = exports.bounce = undefined;
  var bounce = {
    0: {
      translateY: 0
    },
    0.2: {
      translateY: 0
    },
    0.4: {
      translateY: -30
    },
    0.43: {
      translateY: -30
    },
    0.53: {
      translateY: 0
    },
    0.7: {
      translateY: -15
    },
    0.8: {
      translateY: 0
    },
    0.9: {
      translateY: -4
    },
    1: {
      translateY: 0
    }
  };
  exports.bounce = bounce;
  var flash = {
    0: {
      opacity: 1
    },
    0.25: {
      opacity: 0
    },
    0.5: {
      opacity: 1
    },
    0.75: {
      opacity: 0
    },
    1: {
      opacity: 1
    }
  };
  exports.flash = flash;
  var jello = {
    0: {
      skewX: '0deg',
      skewY: '0deg'
    },
    0.111: {
      skewX: '0deg',
      skewY: '0deg'
    },
    0.222: {
      skewX: '-12.5deg',
      skewY: '-12.5deg'
    },
    0.333: {
      skewX: '6.25deg',
      skewY: '6.25deg'
    },
    0.444: {
      skewX: '-3.125deg',
      skewY: '-3.125deg'
    },
    0.555: {
      skewX: '1.5625deg',
      skewY: '1.5625deg'
    },
    0.666: {
      skewX: '-0.78125deg',
      skewY: '-0.78125deg'
    },
    0.777: {
      skewX: '0.390625deg',
      skewY: '0.390625deg'
    },
    0.888: {
      skewX: '-0.1953125deg',
      skewY: '-0.1953125deg'
    },
    1: {
      skewX: '0deg',
      skewY: '0deg'
    }
  };
  exports.jello = jello;
  var pulse = {
    0: {
      scale: 1
    },
    0.5: {
      scale: 1.05
    },
    1: {
      scale: 1
    }
  };
  exports.pulse = pulse;
  var rotate = {
    0: {
      rotate: '0deg'
    },
    0.25: {
      rotate: '90deg'
    },
    0.5: {
      rotate: '180deg'
    },
    0.75: {
      rotate: '270deg'
    },
    1: {
      rotate: '360deg'
    }
  };
  exports.rotate = rotate;
  var shake = {
    0: {
      translateX: 0
    },
    0.1: {
      translateX: -10
    },
    0.2: {
      translateX: 10
    },
    0.3: {
      translateX: -10
    },
    0.4: {
      translateX: 10
    },
    0.5: {
      translateX: -10
    },
    0.6: {
      translateX: 10
    },
    0.7: {
      translateX: -10
    },
    0.8: {
      translateX: 10
    },
    0.9: {
      translateX: -10
    },
    1: {
      translateX: 0
    }
  };
  exports.shake = shake;
  var swing = {
    0: {
      rotate: '0deg'
    },
    0.2: {
      rotate: '15deg'
    },
    0.4: {
      rotate: '-10deg'
    },
    0.6: {
      rotate: '5deg'
    },
    0.8: {
      rotate: '-5deg'
    },
    1: {
      rotate: '0deg'
    }
  };
  exports.swing = swing;
  var rubberBand = {
    0: {
      scaleX: 1,
      scaleY: 1
    },
    0.3: {
      scaleX: 1.25,
      scaleY: 0.75
    },
    0.4: {
      scaleX: 0.75,
      scaleY: 1.25
    },
    0.5: {
      scaleX: 1.15,
      scaleY: 0.85
    },
    0.65: {
      scaleX: 0.95,
      scaleY: 1.05
    },
    0.75: {
      scaleX: 1.05,
      scaleY: 0.95
    },
    1: {
      scaleX: 1,
      scaleY: 1
    }
  };
  exports.rubberBand = rubberBand;
  var tada = {
    0: {
      scale: 1,
      rotate: '0deg'
    },
    0.1: {
      scale: 0.9,
      rotate: '-3deg'
    },
    0.2: {
      scale: 0.9,
      rotate: '-3deg'
    },
    0.3: {
      scale: 1.1,
      rotate: '-3deg'
    },
    0.4: {
      rotate: '3deg'
    },
    0.5: {
      rotate: '-3deg'
    },
    0.6: {
      rotate: '3deg'
    },
    0.7: {
      rotate: '-3deg'
    },
    0.8: {
      rotate: '3deg'
    },
    0.9: {
      scale: 1.1,
      rotate: '3deg'
    },
    1: {
      scale: 1,
      rotate: '0deg'
    }
  };
  exports.tada = tada;
  var wobble = {
    0: {
      translateX: 0,
      rotate: '0deg'
    },
    0.15: {
      translateX: -25,
      rotate: '-5deg'
    },
    0.3: {
      translateX: 20,
      rotate: '3deg'
    },
    0.45: {
      translateX: -15,
      rotate: '-3deg'
    },
    0.6: {
      translateX: 10,
      rotate: '2deg'
    },
    0.75: {
      translateX: -5,
      rotate: '-1deg'
    },
    1: {
      translateX: 0,
      rotate: '0deg'
    }
  };
  exports.wobble = wobble;
},1300,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.bounceInLeft = exports.bounceInRight = exports.bounceInDown = exports.bounceInUp = exports.bounceIn = undefined;
  var bounceIn = {
    0: {
      opacity: 0,
      scale: 0.3
    },
    0.2: {
      scale: 1.1
    },
    0.4: {
      scale: 0.9
    },
    0.6: {
      opacity: 1,
      scale: 1.03
    },
    0.8: {
      scale: 0.97
    },
    1: {
      opacity: 1,
      scale: 1
    }
  };
  exports.bounceIn = bounceIn;
  var bounceInUp = {
    0: {
      opacity: 0,
      translateY: 800
    },
    0.6: {
      opacity: 1,
      translateY: -25
    },
    0.75: {
      translateY: 10
    },
    0.9: {
      translateY: -5
    },
    1: {
      translateY: 0
    }
  };
  exports.bounceInUp = bounceInUp;
  var bounceInDown = {
    0: {
      opacity: 0,
      translateY: -800
    },
    0.6: {
      opacity: 1,
      translateY: 25
    },
    0.75: {
      translateY: -10
    },
    0.9: {
      translateY: 5
    },
    1: {
      translateY: 0
    }
  };
  exports.bounceInDown = bounceInDown;
  var bounceInRight = {
    0: {
      opacity: 0,
      translateX: 600
    },
    0.6: {
      opacity: 1,
      translateX: -20
    },
    0.75: {
      translateX: 8
    },
    0.9: {
      translateX: -4
    },
    1: {
      translateX: 0
    }
  };
  exports.bounceInRight = bounceInRight;
  var bounceInLeft = {
    0: {
      opacity: 0,
      translateX: -600
    },
    0.6: {
      opacity: 1,
      translateX: 20
    },
    0.75: {
      translateX: -8
    },
    0.9: {
      translateX: 4
    },
    1: {
      translateX: 0
    }
  };
  exports.bounceInLeft = bounceInLeft;
},1301,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.bounceOutLeft = exports.bounceOutRight = exports.bounceOutDown = exports.bounceOutUp = exports.bounceOut = undefined;
  var bounceOut = {
    0: {
      opacity: 1,
      scale: 1
    },
    0.2: {
      scale: 0.9
    },
    0.5: {
      opacity: 1,
      scale: 1.11
    },
    0.55: {
      scale: 1.11
    },
    1: {
      opacity: 0,
      scale: 0.3
    }
  };
  exports.bounceOut = bounceOut;
  var bounceOutUp = {
    0: {
      opacity: 1,
      translateY: 0
    },
    0.2: {
      opacity: 1,
      translateY: -10
    },
    0.4: {
      translateY: 20
    },
    0.45: {
      translateY: 20
    },
    0.55: {
      opacity: 1
    },
    1: {
      opacity: 0,
      translateY: -800
    }
  };
  exports.bounceOutUp = bounceOutUp;
  var bounceOutDown = {
    0: {
      opacity: 1,
      translateY: 0
    },
    0.2: {
      opacity: 1,
      translateY: 10
    },
    0.4: {
      translateY: -20
    },
    0.45: {
      translateY: -20
    },
    0.55: {
      opacity: 1
    },
    1: {
      opacity: 0,
      translateY: 800
    }
  };
  exports.bounceOutDown = bounceOutDown;
  var bounceOutRight = {
    0: {
      opacity: 1,
      translateX: 0
    },
    0.2: {
      opacity: 1,
      translateX: 10
    },
    0.4: {
      translateX: -20
    },
    0.45: {
      translateX: -20
    },
    0.55: {
      opacity: 1
    },
    1: {
      opacity: 0,
      translateX: 600
    }
  };
  exports.bounceOutRight = bounceOutRight;
  var bounceOutLeft = {
    0: {
      opacity: 1,
      translateX: 0
    },
    0.2: {
      opacity: 1,
      translateX: -10
    },
    0.4: {
      translateX: 20
    },
    0.45: {
      translateX: 20
    },
    0.55: {
      opacity: 1
    },
    1: {
      opacity: 0,
      translateX: -600
    }
  };
  exports.bounceOutLeft = bounceOutLeft;
},1302,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.fadeInRightBig = exports.fadeInLeftBig = exports.fadeInUpBig = exports.fadeInDownBig = exports.fadeInRight = exports.fadeInLeft = exports.fadeInUp = exports.fadeInDown = exports.fadeIn = undefined;

  var _defineProperty2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function makeFadeInTranslation(translationType, fromValue) {
    return {
      from: (0, _defineProperty2.default)({
        opacity: 0
      }, translationType, fromValue),
      to: (0, _defineProperty2.default)({
        opacity: 1
      }, translationType, 0)
    };
  }

  var fadeIn = {
    from: {
      opacity: 0
    },
    to: {
      opacity: 1
    }
  };
  exports.fadeIn = fadeIn;
  var fadeInDown = makeFadeInTranslation('translateY', -100);
  exports.fadeInDown = fadeInDown;
  var fadeInUp = makeFadeInTranslation('translateY', 100);
  exports.fadeInUp = fadeInUp;
  var fadeInLeft = makeFadeInTranslation('translateX', -100);
  exports.fadeInLeft = fadeInLeft;
  var fadeInRight = makeFadeInTranslation('translateX', 100);
  exports.fadeInRight = fadeInRight;
  var fadeInDownBig = makeFadeInTranslation('translateY', -500);
  exports.fadeInDownBig = fadeInDownBig;
  var fadeInUpBig = makeFadeInTranslation('translateY', 500);
  exports.fadeInUpBig = fadeInUpBig;
  var fadeInLeftBig = makeFadeInTranslation('translateX', -500);
  exports.fadeInLeftBig = fadeInLeftBig;
  var fadeInRightBig = makeFadeInTranslation('translateX', 500);
  exports.fadeInRightBig = fadeInRightBig;
},1303,[5,27]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.fadeOutRightBig = exports.fadeOutLeftBig = exports.fadeOutUpBig = exports.fadeOutDownBig = exports.fadeOutRight = exports.fadeOutLeft = exports.fadeOutUp = exports.fadeOutDown = exports.fadeOut = undefined;

  var _defineProperty2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function makeFadeOutTranslation(translationType, toValue) {
    return {
      from: (0, _defineProperty2.default)({
        opacity: 1
      }, translationType, 0),
      to: (0, _defineProperty2.default)({
        opacity: 0
      }, translationType, toValue)
    };
  }

  var fadeOut = {
    from: {
      opacity: 1
    },
    to: {
      opacity: 0
    }
  };
  exports.fadeOut = fadeOut;
  var fadeOutDown = makeFadeOutTranslation('translateY', 100);
  exports.fadeOutDown = fadeOutDown;
  var fadeOutUp = makeFadeOutTranslation('translateY', -100);
  exports.fadeOutUp = fadeOutUp;
  var fadeOutLeft = makeFadeOutTranslation('translateX', -100);
  exports.fadeOutLeft = fadeOutLeft;
  var fadeOutRight = makeFadeOutTranslation('translateX', 100);
  exports.fadeOutRight = fadeOutRight;
  var fadeOutDownBig = makeFadeOutTranslation('translateY', 500);
  exports.fadeOutDownBig = fadeOutDownBig;
  var fadeOutUpBig = makeFadeOutTranslation('translateY', -500);
  exports.fadeOutUpBig = fadeOutUpBig;
  var fadeOutLeftBig = makeFadeOutTranslation('translateX', -500);
  exports.fadeOutLeftBig = fadeOutLeftBig;
  var fadeOutRightBig = makeFadeOutTranslation('translateX', 500);
  exports.fadeOutRightBig = fadeOutRightBig;
},1304,[5,27]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.flipOutY = exports.flipOutX = exports.flipInY = exports.flipInX = undefined;
  var flipInX = {
    easing: 'ease-in',
    style: {
      backfaceVisibility: 'visible',
      perspective: 400
    },
    0: {
      opacity: 0,
      rotateX: '90deg'
    },
    0.4: {
      rotateX: '-20deg'
    },
    0.6: {
      opacity: 1,
      rotateX: '10deg'
    },
    0.8: {
      rotateX: '-5deg'
    },
    1: {
      opacity: 1,
      rotateX: '0deg'
    }
  };
  exports.flipInX = flipInX;
  var flipInY = {
    easing: 'ease-in',
    style: {
      backfaceVisibility: 'visible',
      perspective: 400
    },
    0: {
      opacity: 0,
      rotateY: '90deg'
    },
    0.4: {
      rotateY: '-20deg'
    },
    0.6: {
      opacity: 1,
      rotateY: '10deg'
    },
    0.8: {
      rotateY: '-5deg'
    },
    1: {
      opacity: 1,
      rotateY: '0deg'
    }
  };
  exports.flipInY = flipInY;
  var flipOutX = {
    style: {
      backfaceVisibility: 'visible',
      perspective: 400
    },
    0: {
      opacity: 1,
      rotateX: '0deg'
    },
    0.3: {
      opacity: 1,
      rotateX: '-20deg'
    },
    1: {
      opacity: 0,
      rotateX: '90deg'
    }
  };
  exports.flipOutX = flipOutX;
  var flipOutY = {
    style: {
      backfaceVisibility: 'visible',
      perspective: 400
    },
    0: {
      opacity: 1,
      rotateY: '0deg'
    },
    0.3: {
      opacity: 1,
      rotateY: '-20deg'
    },
    1: {
      opacity: 0,
      rotateY: '90deg'
    }
  };
  exports.flipOutY = flipOutY;
},1305,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.lightSpeedOut = exports.lightSpeedIn = undefined;
  var lightSpeedIn = {
    easing: 'ease-out',
    0: {
      opacity: 0,
      translateX: 200,
      skewX: '-30deg'
    },
    0.6: {
      opacity: 1,
      translateX: 0,
      skewX: '20deg'
    },
    0.8: {
      skewX: '-5deg'
    },
    1: {
      opacity: 1,
      translateX: 0,
      skewX: '0deg'
    }
  };
  exports.lightSpeedIn = lightSpeedIn;
  var lightSpeedOut = {
    easing: 'ease-in',
    0: {
      opacity: 1,
      translateX: 0,
      skewX: '0deg'
    },
    1: {
      opacity: 0,
      translateX: 200,
      skewX: '30deg'
    }
  };
  exports.lightSpeedOut = lightSpeedOut;
},1306,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.slideInRight = exports.slideInLeft = exports.slideInUp = exports.slideInDown = undefined;

  var _defineProperty2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function makeSlideInTranslation(translationType, fromValue) {
    return {
      from: (0, _defineProperty2.default)({}, translationType, fromValue),
      to: (0, _defineProperty2.default)({}, translationType, 0)
    };
  }

  var slideInDown = makeSlideInTranslation('translateY', -100);
  exports.slideInDown = slideInDown;
  var slideInUp = makeSlideInTranslation('translateY', 100);
  exports.slideInUp = slideInUp;
  var slideInLeft = makeSlideInTranslation('translateX', -100);
  exports.slideInLeft = slideInLeft;
  var slideInRight = makeSlideInTranslation('translateX', 100);
  exports.slideInRight = slideInRight;
},1307,[5,27]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.slideOutRight = exports.slideOutLeft = exports.slideOutUp = exports.slideOutDown = undefined;

  var _defineProperty2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function makeSlideOutTranslation(translationType, fromValue) {
    return {
      from: (0, _defineProperty2.default)({}, translationType, 0),
      to: (0, _defineProperty2.default)({}, translationType, fromValue)
    };
  }

  var slideOutDown = makeSlideOutTranslation('translateY', 100);
  exports.slideOutDown = slideOutDown;
  var slideOutUp = makeSlideOutTranslation('translateY', -100);
  exports.slideOutUp = slideOutUp;
  var slideOutLeft = makeSlideOutTranslation('translateX', -100);
  exports.slideOutLeft = slideOutLeft;
  var slideOutRight = makeSlideOutTranslation('translateX', 100);
  exports.slideOutRight = slideOutRight;
},1308,[5,27]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.zoomInRight = exports.zoomInLeft = exports.zoomInUp = exports.zoomInDown = exports.zoomIn = undefined;

  var _defineProperty2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  function makeZoomInTranslation(translationType, pivotPoint) {
    var modifier = Math.min(1, Math.max(-1, pivotPoint));
    return {
      easing: _reactNative.Easing.bezier(0.175, 0.885, 0.32, 1),
      0: (0, _defineProperty2.default)({
        opacity: 0,
        scale: 0.1
      }, translationType, modifier * -1000),
      0.6: (0, _defineProperty2.default)({
        opacity: 1,
        scale: 0.457
      }, translationType, pivotPoint),
      1: (0, _defineProperty2.default)({
        scale: 1
      }, translationType, 0)
    };
  }

  var zoomIn = {
    from: {
      opacity: 0,
      scale: 0.3
    },
    0.5: {
      opacity: 1
    },
    to: {
      opacity: 1,
      scale: 1
    }
  };
  exports.zoomIn = zoomIn;
  var zoomInDown = makeZoomInTranslation('translateY', 60);
  exports.zoomInDown = zoomInDown;
  var zoomInUp = makeZoomInTranslation('translateY', -60);
  exports.zoomInUp = zoomInUp;
  var zoomInLeft = makeZoomInTranslation('translateX', 10);
  exports.zoomInLeft = zoomInLeft;
  var zoomInRight = makeZoomInTranslation('translateX', -10);
  exports.zoomInRight = zoomInRight;
},1309,[5,27,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.zoomOutRight = exports.zoomOutLeft = exports.zoomOutUp = exports.zoomOutDown = exports.zoomOut = undefined;

  var _defineProperty2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  function makeZoomOutTranslation(translationType, pivotPoint) {
    var modifier = Math.min(1, Math.max(-1, pivotPoint));
    return {
      easing: _reactNative.Easing.bezier(0.175, 0.885, 0.32, 1),
      0: (0, _defineProperty2.default)({
        opacity: 1,
        scale: 1
      }, translationType, 0),
      0.4: (0, _defineProperty2.default)({
        opacity: 1,
        scale: 0.457
      }, translationType, pivotPoint),
      1: (0, _defineProperty2.default)({
        opacity: 0,
        scale: 0.1
      }, translationType, modifier * -1000)
    };
  }

  var zoomOut = {
    from: {
      opacity: 1,
      scale: 1
    },
    0.5: {
      opacity: 1,
      scale: 0.3
    },
    to: {
      opacity: 0,
      scale: 0
    }
  };
  exports.zoomOut = zoomOut;
  var zoomOutDown = makeZoomOutTranslation('translateY', 60);
  exports.zoomOutDown = zoomOutDown;
  var zoomOutUp = makeZoomOutTranslation('translateY', -60);
  exports.zoomOutUp = zoomOutUp;
  var zoomOutLeft = makeZoomOutTranslation('translateX', 10);
  exports.zoomOutLeft = zoomOutLeft;
  var zoomOutRight = makeZoomOutTranslation('translateX', -10);
  exports.zoomOutRight = zoomOutRight;
},1310,[5,27,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    backdrop: {
      position: 'absolute',
      top: 0,
      bottom: 0,
      left: 0,
      right: 0,
      opacity: 0,
      backgroundColor: 'black'
    },
    content: {
      flex: 1,
      justifyContent: 'center'
    },
    containerBox: {
      zIndex: 2,
      opacity: 1,
      backgroundColor: 'transparent'
    }
  });

  exports.default = _default;
},1311,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.reversePercentage = exports.buildAnimations = exports.makeSlideTranslation = exports.initializeAnimations = undefined;

  var _defineProperty2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var animatable = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _Dimensions$get = _reactNative.Dimensions.get('window'),
      height = _Dimensions$get.height,
      width = _Dimensions$get.width;

  var initializeAnimations = function initializeAnimations() {
    var animationDefinitions = {
      slideInDown: makeSlideTranslation('translateY', -height, 0),
      slideInUp: makeSlideTranslation('translateY', height, 0),
      slideInLeft: makeSlideTranslation('translateX', -width, 0),
      slideInRight: makeSlideTranslation('translateX', width, 0),
      slideOutDown: makeSlideTranslation('translateY', 0, height),
      slideOutUp: makeSlideTranslation('translateY', 0, -height),
      slideOutLeft: makeSlideTranslation('translateX', 0, -width),
      slideOutRight: makeSlideTranslation('translateX', 0, width)
    };
    animatable.initializeRegistryWithDefinitions(animationDefinitions);
  };

  exports.initializeAnimations = initializeAnimations;

  var makeSlideTranslation = function makeSlideTranslation(translationType, fromValue, toValue) {
    return {
      from: (0, _defineProperty2.default)({}, translationType, fromValue),
      to: (0, _defineProperty2.default)({}, translationType, toValue)
    };
  };

  exports.makeSlideTranslation = makeSlideTranslation;

  var buildAnimations = function buildAnimations(_ref) {
    var animationIn = _ref.animationIn,
        animationOut = _ref.animationOut;
    var updatedAnimationIn;
    var updatedAnimationOut;

    if (isObject(animationIn)) {
      var animationName = JSON.stringify(animationIn);
      makeAnimation(animationName, animationIn);
      updatedAnimationIn = animationName;
    } else {
      updatedAnimationIn = animationIn;
    }

    if (isObject(animationOut)) {
      var _animationName = JSON.stringify(animationOut);

      makeAnimation(_animationName, animationOut);
      updatedAnimationOut = _animationName;
    } else {
      updatedAnimationOut = animationOut;
    }

    return {
      animationIn: updatedAnimationIn,
      animationOut: updatedAnimationOut
    };
  };

  exports.buildAnimations = buildAnimations;

  var reversePercentage = function reversePercentage(x) {
    return -(x - 1);
  };

  exports.reversePercentage = reversePercentage;

  var makeAnimation = function makeAnimation(name, obj) {
    animatable.registerAnimation(name, animatable.createAnimation(obj));
  };

  var isObject = function isObject(obj) {
    return obj !== null && typeof obj === 'object';
  };
},1312,[5,27,28,1290]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _date = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _icArrowLeft = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _icArrowRight = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _calendarCommon = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _excluded = ["date"];

  function TaCalendar(props) {
    var date = props.date,
        minDate = props.minDate,
        maxDate = props.maxDate,
        onDateChange = props.onDateChange,
        markedDates = props.markedDates,
        theme = props.theme;

    var onChange = function onChange(_ref) {
      var timestamp = _ref.timestamp;

      if (typeof onDateChange === "function") {
        onDateChange(new Date(timestamp));
      }
    };

    var others = {};

    if (minDate) {
      others.minDate = _date.default.formatDate(minDate, "YYYY-MM-DD");
    }

    if (maxDate) {
      others.maxDate = _date.default.formatDate(maxDate, "YYYY-MM-DD");
    }

    if (date) {
      others.current = _date.default.formatDate(date, "YYYY-MM-DD");
    }

    if (markedDates) {
      others.markedDates = markedDates.reduce(function (result, _ref2) {
        var markedDate = _ref2.date,
            rest = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
        result[_date.default.formatDate(markedDate, "YYYY-MM-DD")] = rest;
        return result;
      }, {});
      var currentDate = minDate;

      while (currentDate.getTime() < maxDate.getTime()) {
        var currentDateString = _date.default.formatDate(currentDate, "YYYY-MM-DD");

        if (others.markedDates[currentDateString] === undefined) {
          others.markedDates[currentDateString] = {
            disabled: true
          };
        }

        currentDate.setDate(currentDate.getDate() + 1);
      }
    }

    var _LiveConfig$getPSetup = _liveConfig.default.getPSetup(),
        language = _LiveConfig$getPSetup.language;

    var locale = _liveConfig.default.getLocale();

    _$$_REQUIRE(_dependencyMap[9]).LocaleConfig.locales[language] = {
      monthNames: locale.strings("str_month_names").split(","),
      monthNamesShort: locale.strings("str_month_names_short").split(","),
      dayNames: locale.strings("str_day_names").split(","),
      dayNamesShort: locale.strings("str_day_names_short").split(","),
      today: locale.strings("str_today")
    };
    _$$_REQUIRE(_dependencyMap[9]).LocaleConfig.defaultLocale = language;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Calendar, (0, _extends2.default)({}, others, {
      theme: {
        dotColor: theme.dotColor || _liveConfig.default.getSupportColor(),
        selectedDotColor: theme.selectedDotColor || _liveConfig.default.getForegroundColor(),
        selectedDayTextColor: theme.selectedDayTextColor || _liveConfig.default.getForegroundColor(),
        selectedDayBackgroundColor: theme.selectedDayBackgroundColor || _liveConfig.default.getSupportColor()
      },
      style: {
        borderRadius: _$$_REQUIRE(_dependencyMap[10]).CARD_RADIUS,
        overflow: "hidden"
      },
      hideExtraDays: true,
      renderArrow: function renderArrow(direction) {
        if (direction === "left") {
          return _react.default.createElement(_icArrowLeft.default, {
            width: 16
          });
        }

        return _react.default.createElement(_icArrowRight.default, {
          width: 16
        });
      },
      hideArrows: false,
      disableAllTouchEventsForDisabledDays: true,
      onDayPress: onChange
    }));
  }

  TaCalendar.propTypes = (0, _extends2.default)({}, _calendarCommon.default.propTypes);
  TaCalendar.defaultProps = (0, _extends2.default)({}, _calendarCommon.default.defaultProps);
  var _default = TaCalendar;
  exports.default = _default;
},1313,[5,6,108,17,993,995,1314,1315,1316,1317,990]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var IcArrowLeft = function IcArrowLeft(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Svg, props, _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z"
    }));
  };

  var _default = IcArrowLeft;
  exports.default = _default;
},1314,[5,17,776]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var IcArrowRight = function IcArrowRight(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Svg, props, _react.default.createElement(_$$_REQUIRE(_dependencyMap[2]).Path, {
      d: "M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z"
    }));
  };

  var _default = IcArrowRight;
  exports.default = _default;
},1315,[5,17,776]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var CalendarCommons = {
    propTypes: {
      date: _propTypes.default.instanceOf(Date),
      minDate: _propTypes.default.instanceOf(Date),
      maxDate: _propTypes.default.instanceOf(Date),
      onDateChange: _propTypes.default.func,
      markedDates: _propTypes.default.arrayOf(_propTypes.default.shape({
        date: _propTypes.default.instanceOf(Date),
        marked: _propTypes.default.bool,
        selected: _propTypes.default.bool
      })),
      theme: _propTypes.default.shape({
        selectedDayBackgroundColor: _propTypes.default.string,
        selectedDayTextColor: _propTypes.default.string,
        selectedDotColor: _propTypes.default.string,
        dotColor: _propTypes.default.string
      })
    },
    defaultProps: {
      date: new Date(),
      theme: {}
    }
  };
  var _default = CalendarCommons;
  exports.default = _default;
},1316,[5,201]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "Calendar", {
    enumerable: true,
    get: function get() {
      return _calendar.default;
    }
  });
  Object.defineProperty(exports, "CalendarList", {
    enumerable: true,
    get: function get() {
      return _calendarList.default;
    }
  });
  Object.defineProperty(exports, "NewCalendarList", {
    enumerable: true,
    get: function get() {
      return _new.default;
    }
  });
  Object.defineProperty(exports, "Agenda", {
    enumerable: true,
    get: function get() {
      return _agenda.default;
    }
  });
  Object.defineProperty(exports, "ExpandableCalendar", {
    enumerable: true,
    get: function get() {
      return _expandableCalendar.default;
    }
  });
  Object.defineProperty(exports, "WeekCalendar", {
    enumerable: true,
    get: function get() {
      return _new2.default;
    }
  });
  Object.defineProperty(exports, "AgendaList", {
    enumerable: true,
    get: function get() {
      return _agendaList.default;
    }
  });
  Object.defineProperty(exports, "CalendarContext", {
    enumerable: true,
    get: function get() {
      return _Context.default;
    }
  });
  Object.defineProperty(exports, "CalendarProvider", {
    enumerable: true,
    get: function get() {
      return _Provider.default;
    }
  });
  Object.defineProperty(exports, "asCalendarConsumer", {
    enumerable: true,
    get: function get() {
      return _asCalendarConsumer.default;
    }
  });
  Object.defineProperty(exports, "Timeline", {
    enumerable: true,
    get: function get() {
      return _Timeline.default;
    }
  });
  Object.defineProperty(exports, "TimelineList", {
    enumerable: true,
    get: function get() {
      return _timelineList.default;
    }
  });
  Object.defineProperty(exports, "CalendarUtils", {
    enumerable: true,
    get: function get() {
      return _services.default;
    }
  });
  Object.defineProperty(exports, "LocaleConfig", {
    enumerable: true,
    get: function get() {
      return _xdate.default;
    }
  });
  Object.defineProperty(exports, "Profiler", {
    enumerable: true,
    get: function get() {
      return _Profiler.default;
    }
  });

  var _calendar = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _calendarList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _new = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _agenda = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _expandableCalendar = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _new2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _agendaList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Context = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _Provider = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _asCalendarConsumer = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _Timeline = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _timelineList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _services = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _xdate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _Profiler = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));
},1317,[5,1318,1537,1541,1581,1591,1600,1601,1598,1606,1610,1611,1631,1530,1319,1634]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _xdate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _isEmpty = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _reactNativeSwipeGestures = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _constants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _style = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _header = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _index = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _basic = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _this = this;

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Calendar = function Calendar(props) {
    var initialDate = props.initialDate,
        current = props.current,
        theme = props.theme,
        markedDates = props.markedDates,
        minDate = props.minDate,
        maxDate = props.maxDate,
        allowSelectionOutOfRange = props.allowSelectionOutOfRange,
        onDayPress = props.onDayPress,
        onDayLongPress = props.onDayLongPress,
        onMonthChange = props.onMonthChange,
        onVisibleMonthsChange = props.onVisibleMonthsChange,
        disableMonthChange = props.disableMonthChange,
        enableSwipeMonths = props.enableSwipeMonths,
        hideExtraDays = props.hideExtraDays,
        firstDay = props.firstDay,
        showSixWeeks = props.showSixWeeks,
        displayLoadingIndicator = props.displayLoadingIndicator,
        customHeader = props.customHeader,
        headerStyle = props.headerStyle,
        accessibilityElementsHidden = props.accessibilityElementsHidden,
        importantForAccessibility = props.importantForAccessibility,
        testID = props.testID,
        propsStyle = props.style;

    var _useState = (0, _react.useState)(current || initialDate ? (0, _$$_REQUIRE(_dependencyMap[14]).parseDate)(current || initialDate) : new _xdate.default()),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        currentMonth = _useState2[0],
        setCurrentMonth = _useState2[1];

    var style = (0, _react.useRef)((0, _style.default)(theme));
    var header = (0, _react.useRef)();
    var weekNumberMarking = (0, _react.useRef)({
      disabled: true,
      disableTouchEvent: true
    });
    (0, _react.useEffect)(function () {
      if (initialDate) {
        setCurrentMonth((0, _$$_REQUIRE(_dependencyMap[14]).parseDate)(initialDate));
      }
    }, [initialDate]);
    (0, _$$_REQUIRE(_dependencyMap[15]).useDidUpdate)(function () {
      var _currentMonth = currentMonth.clone();

      onMonthChange == null ? undefined : onMonthChange((0, _$$_REQUIRE(_dependencyMap[14]).xdateToData)(_currentMonth));
      onVisibleMonthsChange == null ? undefined : onVisibleMonthsChange([(0, _$$_REQUIRE(_dependencyMap[14]).xdateToData)(_currentMonth)]);
    }, [currentMonth]);
    var updateMonth = (0, _react.useCallback)(function (newMonth) {
      if ((0, _$$_REQUIRE(_dependencyMap[16]).sameMonth)(newMonth, currentMonth)) {
        return;
      }

      setCurrentMonth(newMonth);
    }, [currentMonth]);
    var addMonth = (0, _react.useCallback)(function (count) {
      var newMonth = currentMonth.clone().addMonths(count, true);
      updateMonth(newMonth);
    }, [currentMonth, updateMonth]);
    var handleDayInteraction = (0, _react.useCallback)(function (date, interaction) {
      var day = new _xdate.default(date.dateString);

      if (allowSelectionOutOfRange || !(minDate && !(0, _$$_REQUIRE(_dependencyMap[16]).isGTE)(day, new _xdate.default(minDate))) && !(maxDate && !(0, _$$_REQUIRE(_dependencyMap[16]).isLTE)(day, new _xdate.default(maxDate)))) {
        if (!disableMonthChange) {
          updateMonth(day);
        }

        if (interaction) {
          interaction(date);
        }
      }
    }, [minDate, maxDate, allowSelectionOutOfRange, disableMonthChange, updateMonth]);

    var _onDayPress = (0, _react.useCallback)(function (date) {
      if (date) handleDayInteraction(date, onDayPress);
    }, [handleDayInteraction, onDayPress]);

    var onLongPressDay = (0, _react.useCallback)(function (date) {
      if (date) handleDayInteraction(date, onDayLongPress);
    }, [handleDayInteraction, onDayLongPress]);
    var onSwipeLeft = (0, _react.useCallback)(function () {
      var _header$current;

      (_header$current = header.current) == null ? undefined : _header$current.onPressRight();
    }, [header]);
    var onSwipeRight = (0, _react.useCallback)(function () {
      var _header$current2;

      (_header$current2 = header.current) == null ? undefined : _header$current2.onPressLeft();
    }, [header]);

    var _onSwipe = (0, _react.useCallback)(function (gestureName) {
      var SWIPE_UP = _reactNativeSwipeGestures.swipeDirections.SWIPE_UP,
          SWIPE_DOWN = _reactNativeSwipeGestures.swipeDirections.SWIPE_DOWN,
          SWIPE_LEFT = _reactNativeSwipeGestures.swipeDirections.SWIPE_LEFT,
          SWIPE_RIGHT = _reactNativeSwipeGestures.swipeDirections.SWIPE_RIGHT;

      switch (gestureName) {
        case SWIPE_UP:
        case SWIPE_DOWN:
          break;

        case SWIPE_LEFT:
          _constants.default.isRTL ? onSwipeRight() : onSwipeLeft();
          break;

        case SWIPE_RIGHT:
          _constants.default.isRTL ? onSwipeLeft() : onSwipeRight();
          break;
      }
    }, [onSwipeLeft, onSwipeRight]);

    var renderWeekNumber = function renderWeekNumber(weekNumber) {
      return _react.default.createElement(_reactNative.View, {
        style: style.current.dayContainer,
        key: "week-container-" + weekNumber
      }, _react.default.createElement(_basic.default, {
        key: "week-" + weekNumber,
        marking: weekNumberMarking.current,
        theme: theme,
        testID: testID + ".weekNumber_" + weekNumber
      }, weekNumber));
    };

    var renderDay = function renderDay(day, id) {
      var dayProps = (0, _$$_REQUIRE(_dependencyMap[17]).extractDayProps)(props);

      if (!(0, _$$_REQUIRE(_dependencyMap[16]).sameMonth)(day, currentMonth) && hideExtraDays) {
        return _react.default.createElement(_reactNative.View, {
          key: id,
          style: style.current.emptyDayContainer
        });
      }

      var dateString = (0, _$$_REQUIRE(_dependencyMap[14]).toMarkingFormat)(day);
      var isControlled = (0, _isEmpty.default)(props.context);
      return _react.default.createElement(_reactNative.View, {
        style: style.current.dayContainer,
        key: id
      }, _react.default.createElement(_index.default, (0, _extends2.default)({}, dayProps, {
        testID: testID + ".day_" + dateString,
        date: dateString,
        state: (0, _$$_REQUIRE(_dependencyMap[18]).getState)(day, currentMonth, props, isControlled),
        marking: markedDates == null ? undefined : markedDates[dateString],
        onPress: _onDayPress,
        onLongPress: onLongPressDay
      })));
    };

    var renderWeek = function renderWeek(days, id) {
      var week = [];
      days.forEach(function (day, id2) {
        week.push(renderDay(day, id2));
      }, _this);

      if (props.showWeekNumbers) {
        week.unshift(renderWeekNumber(days[days.length - 1].getWeek()));
      }

      return _react.default.createElement(_reactNative.View, {
        style: style.current.week,
        key: id
      }, week);
    };

    var renderMonth = function renderMonth() {
      var shouldShowSixWeeks = showSixWeeks && !hideExtraDays;
      var days = (0, _$$_REQUIRE(_dependencyMap[16]).page)(currentMonth, firstDay, shouldShowSixWeeks);
      var weeks = [];

      while (days.length) {
        weeks.push(renderWeek(days.splice(0, 7), weeks.length));
      }

      return _react.default.createElement(_reactNative.View, {
        style: style.current.monthView
      }, weeks);
    };

    var shouldDisplayIndicator = (0, _react.useMemo)(function () {
      if (currentMonth) {
        var lastMonthOfDay = (0, _$$_REQUIRE(_dependencyMap[14]).toMarkingFormat)(currentMonth.clone().addMonths(1, true).setDate(1).addDays(-1));

        if (displayLoadingIndicator && !(markedDates != null && markedDates[lastMonthOfDay])) {
          return true;
        }
      }

      return false;
    }, [currentMonth, displayLoadingIndicator, markedDates]);

    var renderHeader = function renderHeader() {
      var headerProps = (0, _$$_REQUIRE(_dependencyMap[17]).extractHeaderProps)(props);
      var ref = customHeader ? undefined : header;
      var CustomHeader = customHeader;
      var HeaderComponent = customHeader ? CustomHeader : _header.default;
      return _react.default.createElement(HeaderComponent, (0, _extends2.default)({}, headerProps, {
        testID: testID + ".header",
        style: headerStyle,
        ref: ref,
        month: currentMonth,
        addMonth: addMonth,
        displayLoadingIndicator: shouldDisplayIndicator
      }));
    };

    var GestureComponent = enableSwipeMonths ? _reactNativeSwipeGestures.default : _reactNative.View;
    var swipeProps = {
      onSwipe: function onSwipe(direction) {
        return _onSwipe(direction);
      }
    };
    var gestureProps = enableSwipeMonths ? swipeProps : undefined;
    return _react.default.createElement(GestureComponent, gestureProps, _react.default.createElement(_reactNative.View, {
      style: [style.current.container, propsStyle],
      testID: testID,
      accessibilityElementsHidden: accessibilityElementsHidden,
      importantForAccessibility: importantForAccessibility
    }, renderHeader(), renderMonth()));
  };

  var _default = Calendar;
  exports.default = _default;
  Calendar.displayName = 'Calendar';
  Calendar.propTypes = (0, _extends2.default)({}, _header.default.propTypes, _index.default.propTypes, {
    theme: _propTypes.default.object,
    firstDay: _propTypes.default.number,
    displayLoadingIndicator: _propTypes.default.bool,
    showWeekNumbers: _propTypes.default.bool,
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array, _propTypes.default.number]),
    current: _propTypes.default.string,
    initialDate: _propTypes.default.string,
    minDate: _propTypes.default.string,
    maxDate: _propTypes.default.string,
    markedDates: _propTypes.default.object,
    hideExtraDays: _propTypes.default.bool,
    showSixWeeks: _propTypes.default.bool,
    onDayPress: _propTypes.default.func,
    onDayLongPress: _propTypes.default.func,
    onMonthChange: _propTypes.default.func,
    onVisibleMonthsChange: _propTypes.default.func,
    disableMonthChange: _propTypes.default.bool,
    enableSwipeMonths: _propTypes.default.bool,
    disabledByDefault: _propTypes.default.bool,
    headerStyle: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array]),
    customHeader: _propTypes.default.any,
    allowSelectionOutOfRange: _propTypes.default.bool
  });
},1318,[5,6,41,201,1319,1320,17,28,1357,1358,1359,1361,1386,1516,1383,1535,1382,1524,1536]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  /**
   * @preserve XDate v@VERSION
   * Docs & Licensing: http://arshaw.com/xdate/
   */
  var XDate = function (Date, Math, Array, undefined) {
    var FULLYEAR = 0;
    var MONTH = 1;
    var DATE = 2;
    var HOURS = 3;
    var MINUTES = 4;
    var SECONDS = 5;
    var MILLISECONDS = 6;
    var DAY = 7;
    var YEAR = 8;
    var WEEK = 9;
    var DAY_MS = 86400000;
    var ISO_FORMAT_STRING = "yyyy-MM-dd'T'HH:mm:ss(.fff)";
    var ISO_FORMAT_STRING_TZ = "yyyy-MM-dd'T'HH:mm:ss(.fff)zzz";
    var methodSubjects = ['FullYear', 'Month', 'Date', 'Hours', 'Minutes', 'Seconds', 'Milliseconds', 'Day', 'Year'];
    var subjectPlurals = ['Years', 'Months', 'Days'];
    var unitsWithin = [12, 31, 24, 60, 60, 1000, 1];
    var formatStringRE = new RegExp("(([a-zA-Z])\\2*)|(\\((('.*?'|\\(.*?\\)|.)*?)\\))|('(.*?)')");
    var UTC = Date.UTC;
    var toUTCString = Date.prototype.toUTCString;
    var proto = XDate.prototype;
    proto.length = 1;
    proto.splice = Array.prototype.splice;

    function XDate() {
      return init(this instanceof XDate ? this : new XDate(), arguments);
    }

    function init(xdate, args) {
      var len = args.length;
      var utcMode;

      if (isBoolean(args[len - 1])) {
        utcMode = args[--len];
        args = slice(args, 0, len);
      }

      if (!len) {
        xdate[0] = new Date();
      } else if (len == 1) {
        var arg = args[0];

        if (arg instanceof Date) {
          xdate[0] = new Date(arg.getTime());
        } else if (isNumber(arg)) {
          xdate[0] = new Date(arg);
        } else if (arg instanceof XDate) {
          xdate[0] = _clone(arg);
        } else if (isString(arg)) {
          xdate[0] = new Date(0);
          xdate = parse(arg, utcMode || false, xdate);
        }
      } else {
        xdate[0] = new Date(UTC.apply(Date, args));

        if (!utcMode) {
          xdate[0] = coerceToLocal(xdate[0]);
        }
      }

      if (isBoolean(utcMode)) {
        setUTCMode(xdate, utcMode);
      }

      return xdate;
    }

    proto.getUTCMode = methodize(getUTCMode);

    function getUTCMode(xdate) {
      return xdate[0].toString === toUTCString;
    }

    ;
    proto.setUTCMode = methodize(setUTCMode);

    function setUTCMode(xdate, utcMode, doCoercion) {
      if (utcMode) {
        if (!getUTCMode(xdate)) {
          if (doCoercion) {
            xdate[0] = coerceToUTC(xdate[0]);
          }

          xdate[0].toString = toUTCString;
        }
      } else {
        if (getUTCMode(xdate)) {
          if (doCoercion) {
            xdate[0] = coerceToLocal(xdate[0]);
          } else {
            xdate[0] = new Date(xdate[0].getTime());
          }
        }
      }

      return xdate;
    }

    proto.getTimezoneOffset = function () {
      if (getUTCMode(this)) {
        return 0;
      } else {
        return this[0].getTimezoneOffset();
      }
    };

    each(methodSubjects, function (subject, fieldIndex) {
      proto['get' + subject] = function () {
        return _getField(this[0], getUTCMode(this), fieldIndex);
      };

      if (fieldIndex != YEAR) {
        proto['getUTC' + subject] = function () {
          return _getField(this[0], true, fieldIndex);
        };
      }

      if (fieldIndex != DAY) {
        proto['set' + subject] = function (value) {
          _set(this, fieldIndex, value, arguments, getUTCMode(this));

          return this;
        };

        if (fieldIndex != YEAR) {
          proto['setUTC' + subject] = function (value) {
            _set(this, fieldIndex, value, arguments, true);

            return this;
          };

          proto['add' + (subjectPlurals[fieldIndex] || subject)] = function (delta, preventOverflow) {
            _add(this, fieldIndex, delta, preventOverflow);

            return this;
          };

          proto['diff' + (subjectPlurals[fieldIndex] || subject)] = function (otherDate) {
            return _diff(this, otherDate, fieldIndex);
          };
        }
      }
    });

    function _set(xdate, fieldIndex, value, args, useUTC) {
      var getField = curry(_getField, xdate[0], useUTC);
      var setField = curry(_setField, xdate[0], useUTC);
      var expectedMonth;
      var preventOverflow = false;

      if (args.length == 2 && isBoolean(args[1])) {
        preventOverflow = args[1];
        args = [value];
      }

      if (fieldIndex == MONTH) {
        expectedMonth = (value % 12 + 12) % 12;
      } else {
        expectedMonth = getField(MONTH);
      }

      setField(fieldIndex, args);

      if (preventOverflow && getField(MONTH) != expectedMonth) {
        setField(MONTH, [getField(MONTH) - 1]);
        setField(DATE, [getDaysInMonth(getField(FULLYEAR), getField(MONTH))]);
      }
    }

    function _add(xdate, fieldIndex, delta, preventOverflow) {
      delta = Number(delta);
      var intDelta = Math.floor(delta);
      xdate['set' + methodSubjects[fieldIndex]](xdate['get' + methodSubjects[fieldIndex]]() + intDelta, preventOverflow || false);

      if (intDelta != delta && fieldIndex < MILLISECONDS) {
        _add(xdate, fieldIndex + 1, (delta - intDelta) * unitsWithin[fieldIndex], preventOverflow);
      }
    }

    function _diff(xdate1, xdate2, fieldIndex) {
      xdate1 = xdate1.clone().setUTCMode(true, true);
      xdate2 = XDate(xdate2).setUTCMode(true, true);
      var v = 0;

      if (fieldIndex == FULLYEAR || fieldIndex == MONTH) {
        for (var i = MILLISECONDS, methodName; i >= fieldIndex; i--) {
          v /= unitsWithin[i];
          v += _getField(xdate2, false, i) - _getField(xdate1, false, i);
        }

        if (fieldIndex == MONTH) {
          v += (xdate2.getFullYear() - xdate1.getFullYear()) * 12;
        }
      } else if (fieldIndex == DATE) {
        var clear1 = xdate1.toDate().setUTCHours(0, 0, 0, 0);
        var clear2 = xdate2.toDate().setUTCHours(0, 0, 0, 0);
        v = Math.round((clear2 - clear1) / DAY_MS) + (xdate2 - clear2 - (xdate1 - clear1)) / DAY_MS;
      } else {
        v = (xdate2 - xdate1) / [3600000, 60000, 1000, 1][fieldIndex - 3];
      }

      return v;
    }

    proto.getWeek = function () {
      return _getWeek(curry(_getField, this, false));
    };

    proto.getUTCWeek = function () {
      return _getWeek(curry(_getField, this, true));
    };

    proto.setWeek = function (n, year) {
      _setWeek(this, n, year, false);

      return this;
    };

    proto.setUTCWeek = function (n, year) {
      _setWeek(this, n, year, true);

      return this;
    };

    proto.addWeeks = function (delta) {
      return this.addDays(Number(delta) * 7);
    };

    proto.diffWeeks = function (otherDate) {
      return _diff(this, otherDate, DATE) / 7;
    };

    function _getWeek(getField) {
      return getWeek(getField(FULLYEAR), getField(MONTH), getField(DATE));
    }

    function getWeek(year, month, date) {
      var d = new Date(UTC(year, month, date));
      var week1 = getWeek1(getWeekYear(year, month, date));
      return Math.floor(Math.round((d - week1) / DAY_MS) / 7) + 1;
    }

    function getWeekYear(year, month, date) {
      var d = new Date(UTC(year, month, date));

      if (d < getWeek1(year)) {
        return year - 1;
      } else if (d >= getWeek1(year + 1)) {
        return year + 1;
      }

      return year;
    }

    function getWeek1(year) {
      var d = new Date(UTC(year, 0, 4));
      d.setUTCDate(d.getUTCDate() - (d.getUTCDay() + 6) % 7);
      return d;
    }

    function _setWeek(xdate, n, year, useUTC) {
      var getField = curry(_getField, xdate, useUTC);
      var setField = curry(_setField, xdate, useUTC);

      if (year === undefined) {
        year = getWeekYear(getField(FULLYEAR), getField(MONTH), getField(DATE));
      }

      var week1 = getWeek1(year);

      if (!useUTC) {
        week1 = coerceToLocal(week1);
      }

      xdate.setTime(week1.getTime());
      setField(DATE, [getField(DATE) + (n - 1) * 7]);
    }

    XDate.parsers = [parseISO];

    XDate.parse = function (str) {
      return +XDate('' + str);
    };

    function parse(str, utcMode, xdate) {
      var parsers = XDate.parsers;
      var i = 0;
      var res;

      for (; i < parsers.length; i++) {
        res = parsers[i](str, utcMode, xdate);

        if (res) {
          return res;
        }
      }

      xdate[0] = new Date(str);
      return xdate;
    }

    function parseISO(str, utcMode, xdate) {
      var m = str.match(/^(\d{4})(-(\d{2})(-(\d{2})([T ](\d{2}):(\d{2})(:(\d{2})(\.(\d+))?)?(Z|(([-+])(\d{2})(:?(\d{2}))?))?)?)?)?$/);

      if (m) {
        var d = new Date(UTC(m[1], m[3] ? m[3] - 1 : 0, m[5] || 1, m[7] || 0, m[8] || 0, m[10] || 0, m[12] ? Number('0.' + m[12]) * 1000 : 0));

        if (m[13]) {
          if (m[14]) {
            d.setUTCMinutes(d.getUTCMinutes() + (m[15] == '-' ? 1 : -1) * (Number(m[16]) * 60 + (m[18] ? Number(m[18]) : 0)));
          }
        } else {
          if (!utcMode) {
            d = coerceToLocal(d);
          }
        }

        return xdate.setTime(d.getTime());
      }
    }

    proto.toString = function (formatString, settings, uniqueness) {
      if (formatString === undefined || !valid(this)) {
        return this[0].toString();
      } else {
        return format(this, formatString, settings, uniqueness, getUTCMode(this));
      }
    };

    proto.toUTCString = proto.toGMTString = function (formatString, settings, uniqueness) {
      if (formatString === undefined || !valid(this)) {
        return this[0].toUTCString();
      } else {
        return format(this, formatString, settings, uniqueness, true);
      }
    };

    proto.toISOString = function () {
      return this.toUTCString(ISO_FORMAT_STRING_TZ);
    };

    XDate.defaultLocale = '';
    XDate.locales = {
      '': {
        monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
        monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
        dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
        dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
        amDesignator: 'AM',
        pmDesignator: 'PM'
      }
    };
    XDate.formatters = {
      i: ISO_FORMAT_STRING,
      u: ISO_FORMAT_STRING_TZ
    };

    function format(xdate, formatString, settings, uniqueness, useUTC) {
      var locales = XDate.locales;
      var defaultLocaleSettings = locales[XDate.defaultLocale] || {};
      var getField = curry(_getField, xdate, useUTC);
      settings = (isString(settings) ? locales[settings] : settings) || {};

      function getSetting(name) {
        return settings[name] || defaultLocaleSettings[name];
      }

      function getFieldAndTrace(fieldIndex) {
        if (uniqueness) {
          var i = (fieldIndex == DAY ? DATE : fieldIndex) - 1;

          for (; i >= 0; i--) {
            uniqueness.push(getField(i));
          }
        }

        return getField(fieldIndex);
      }

      return _format(xdate, formatString, getFieldAndTrace, getSetting, useUTC);
    }

    function _format(xdate, formatString, getField, getSetting, useUTC) {
      var m;
      var subout;
      var out = '';

      while (m = formatString.match(formatStringRE)) {
        out += formatString.substr(0, m.index);

        if (m[1]) {
          out += processTokenString(xdate, m[1], getField, getSetting, useUTC);
        } else if (m[3]) {
          subout = _format(xdate, m[4], getField, getSetting, useUTC);

          if (parseInt(subout.replace(/\D/g, ''), 10)) {
            out += subout;
          }
        } else {
          out += m[7] || "'";
        }

        formatString = formatString.substr(m.index + m[0].length);
      }

      return out + formatString;
    }

    function processTokenString(xdate, tokenString, getField, getSetting, useUTC) {
      var end = tokenString.length;
      var replacement;
      var out = '';

      while (end > 0) {
        replacement = getTokenReplacement(xdate, tokenString.substr(0, end), getField, getSetting, useUTC);

        if (replacement !== undefined) {
          out += replacement;
          tokenString = tokenString.substr(end);
          end = tokenString.length;
        } else {
          end--;
        }
      }

      return out + tokenString;
    }

    function getTokenReplacement(xdate, token, getField, getSetting, useUTC) {
      var formatter = XDate.formatters[token];

      if (isString(formatter)) {
        return _format(xdate, formatter, getField, getSetting, useUTC);
      } else if (isFunction(formatter)) {
        return formatter(xdate, useUTC || false, getSetting);
      }

      switch (token) {
        case 'fff':
          return zeroPad(getField(MILLISECONDS), 3);

        case 's':
          return getField(SECONDS);

        case 'ss':
          return zeroPad(getField(SECONDS));

        case 'm':
          return getField(MINUTES);

        case 'mm':
          return zeroPad(getField(MINUTES));

        case 'h':
          return getField(HOURS) % 12 || 12;

        case 'hh':
          return zeroPad(getField(HOURS) % 12 || 12);

        case 'H':
          return getField(HOURS);

        case 'HH':
          return zeroPad(getField(HOURS));

        case 'd':
          return getField(DATE);

        case 'dd':
          return zeroPad(getField(DATE));

        case 'ddd':
          return getSetting('dayNamesShort')[getField(DAY)] || '';

        case 'dddd':
          return getSetting('dayNames')[getField(DAY)] || '';

        case 'M':
          return getField(MONTH) + 1;

        case 'MM':
          return zeroPad(getField(MONTH) + 1);

        case 'MMM':
          return getSetting('monthNamesShort')[getField(MONTH)] || '';

        case 'MMMM':
          return getSetting('monthNames')[getField(MONTH)] || '';

        case 'yy':
          return (getField(FULLYEAR) + '').substring(2);

        case 'yyyy':
          return getField(FULLYEAR);

        case 't':
          return _getDesignator(getField, getSetting).substr(0, 1).toLowerCase();

        case 'tt':
          return _getDesignator(getField, getSetting).toLowerCase();

        case 'T':
          return _getDesignator(getField, getSetting).substr(0, 1);

        case 'TT':
          return _getDesignator(getField, getSetting);

        case 'z':
        case 'zz':
        case 'zzz':
          return useUTC ? 'Z' : _getTZString(xdate, token);

        case 'w':
          return _getWeek(getField);

        case 'ww':
          return zeroPad(_getWeek(getField));

        case 'S':
          var d = getField(DATE);
          if (d > 10 && d < 20) return 'th';
          return ['st', 'nd', 'rd'][d % 10 - 1] || 'th';
      }
    }

    function _getTZString(xdate, token) {
      var tzo = xdate.getTimezoneOffset();
      var sign = tzo < 0 ? '+' : '-';
      var hours = Math.floor(Math.abs(tzo) / 60);
      var minutes = Math.abs(tzo) % 60;
      var out = hours;

      if (token == 'zz') {
        out = zeroPad(hours);
      } else if (token == 'zzz') {
        out = zeroPad(hours) + ':' + zeroPad(minutes);
      }

      return sign + out;
    }

    function _getDesignator(getField, getSetting) {
      return getField(HOURS) < 12 ? getSetting('amDesignator') : getSetting('pmDesignator');
    }

    each(['getTime', 'valueOf', 'toDateString', 'toTimeString', 'toLocaleString', 'toLocaleDateString', 'toLocaleTimeString', 'toJSON'], function (methodName) {
      proto[methodName] = function () {
        return this[0][methodName]();
      };
    });

    proto.setTime = function (t) {
      this[0].setTime(t);
      return this;
    };

    proto.valid = methodize(valid);

    function valid(xdate) {
      return !isNaN(xdate[0].getTime());
    }

    proto.clone = function () {
      return new XDate(this);
    };

    proto.clearTime = function () {
      return this.setHours(0, 0, 0, 0);
    };

    proto.toDate = function () {
      return new Date(this[0].getTime());
    };

    XDate.now = function () {
      return new Date().getTime();
    };

    XDate.today = function () {
      return new XDate().clearTime();
    };

    XDate.UTC = UTC;
    XDate.getDaysInMonth = getDaysInMonth;

    function _clone(xdate) {
      var d = new Date(xdate[0].getTime());

      if (getUTCMode(xdate)) {
        d.toString = toUTCString;
      }

      return d;
    }

    function _getField(d, useUTC, fieldIndex) {
      return d['get' + (useUTC ? 'UTC' : '') + methodSubjects[fieldIndex]]();
    }

    function _setField(d, useUTC, fieldIndex, args) {
      d['set' + (useUTC ? 'UTC' : '') + methodSubjects[fieldIndex]].apply(d, args);
    }

    function coerceToUTC(date) {
      return new Date(UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));
    }

    function coerceToLocal(date) {
      return new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());
    }

    function getDaysInMonth(year, month) {
      return 32 - new Date(UTC(year, month, 32)).getUTCDate();
    }

    function methodize(f) {
      return function () {
        return f.apply(undefined, [this].concat(slice(arguments)));
      };
    }

    function curry(f) {
      var firstArgs = slice(arguments, 1);
      return function () {
        return f.apply(undefined, firstArgs.concat(slice(arguments)));
      };
    }

    function slice(a, start, end) {
      return Array.prototype.slice.call(a, start || 0, end === undefined ? a.length : end);
    }

    function each(a, f) {
      for (var i = 0; i < a.length; i++) {
        f(a[i], i);
      }

      ;
    }

    function isString(arg) {
      return typeof arg == 'string';
    }

    function isNumber(arg) {
      return typeof arg == 'number';
    }

    function isBoolean(arg) {
      return typeof arg == 'boolean';
    }

    function isFunction(arg) {
      return typeof arg == 'function';
    }

    function zeroPad(n, len) {
      len = len || 2;
      n += '';

      while (n.length < len) {
        n = '0' + n;
      }

      return n;
    }

    if (typeof module !== 'undefined' && module.exports) {
      module.exports = XDate;
    }

    if (typeof define === 'function' && define.amd) {
      define([], function () {
        return XDate;
      });
    }

    return XDate;
  }(Date, Math, Array);
},1319,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var mapTag = '[object Map]',
      setTag = '[object Set]';
  var objectProto = Object.prototype;
  var hasOwnProperty = objectProto.hasOwnProperty;

  function isEmpty(value) {
    if (value == null) {
      return true;
    }

    if (_$$_REQUIRE(_dependencyMap[0])(value) && (_$$_REQUIRE(_dependencyMap[1])(value) || typeof value == 'string' || typeof value.splice == 'function' || _$$_REQUIRE(_dependencyMap[2])(value) || _$$_REQUIRE(_dependencyMap[3])(value) || _$$_REQUIRE(_dependencyMap[4])(value))) {
      return !value.length;
    }

    var tag = _$$_REQUIRE(_dependencyMap[5])(value);

    if (tag == mapTag || tag == setTag) {
      return !value.size;
    }

    if (_$$_REQUIRE(_dependencyMap[6])(value)) {
      return !_$$_REQUIRE(_dependencyMap[7])(value).length;
    }

    for (var key in value) {
      if (hasOwnProperty.call(value, key)) {
        return false;
      }
    }

    return true;
  }

  module.exports = isEmpty;
},1320,[1321,1331,1332,1334,1339,1341,1353,1354]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function isArrayLike(value) {
    return value != null && _$$_REQUIRE(_dependencyMap[0])(value.length) && !_$$_REQUIRE(_dependencyMap[1])(value);
  }

  module.exports = isArrayLike;
},1321,[1322,1323]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var MAX_SAFE_INTEGER = 9007199254740991;

  function isLength(value) {
    return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
  }

  module.exports = isLength;
},1322,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var asyncTag = '[object AsyncFunction]',
      funcTag = '[object Function]',
      genTag = '[object GeneratorFunction]',
      proxyTag = '[object Proxy]';

  function isFunction(value) {
    if (!_$$_REQUIRE(_dependencyMap[0])(value)) {
      return false;
    }

    var tag = _$$_REQUIRE(_dependencyMap[1])(value);

    return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
  }

  module.exports = isFunction;
},1323,[1324,1325]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function isObject(value) {
    var type = typeof value;
    return value != null && (type == 'object' || type == 'function');
  }

  module.exports = isObject;
},1324,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var nullTag = '[object Null]',
      undefinedTag = '[object Undefined]';
  var symToStringTag = _$$_REQUIRE(_dependencyMap[0]) ? _$$_REQUIRE(_dependencyMap[0]).toStringTag : undefined;

  function baseGetTag(value) {
    if (value == null) {
      return value === undefined ? undefinedTag : nullTag;
    }

    return symToStringTag && symToStringTag in Object(value) ? _$$_REQUIRE(_dependencyMap[1])(value) : _$$_REQUIRE(_dependencyMap[2])(value);
  }

  module.exports = baseGetTag;
},1325,[1326,1329,1330]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).Symbol;
},1326,[1327]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
  var root = _$$_REQUIRE(_dependencyMap[0]) || freeSelf || Function('return this')();
  module.exports = root;
},1327,[1328]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
  module.exports = freeGlobal;
},1328,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var objectProto = Object.prototype;
  var hasOwnProperty = objectProto.hasOwnProperty;
  var nativeObjectToString = objectProto.toString;
  var symToStringTag = _$$_REQUIRE(_dependencyMap[0]) ? _$$_REQUIRE(_dependencyMap[0]).toStringTag : undefined;

  function getRawTag(value) {
    var isOwn = hasOwnProperty.call(value, symToStringTag),
        tag = value[symToStringTag];

    try {
      value[symToStringTag] = undefined;
      var unmasked = true;
    } catch (e) {}

    var result = nativeObjectToString.call(value);
    {
      if (isOwn) {
        value[symToStringTag] = tag;
      } else {
        delete value[symToStringTag];
      }
    }
    return result;
  }

  module.exports = getRawTag;
},1329,[1326]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var objectProto = Object.prototype;
  var nativeObjectToString = objectProto.toString;

  function objectToString(value) {
    return nativeObjectToString.call(value);
  }

  module.exports = objectToString;
},1330,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var isArray = Array.isArray;
  module.exports = isArray;
},1331,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
  var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
  var moduleExports = freeModule && freeModule.exports === freeExports;
  var Buffer = moduleExports ? _$$_REQUIRE(_dependencyMap[0]).Buffer : undefined;
  var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;

  var isBuffer = nativeIsBuffer || _$$_REQUIRE(_dependencyMap[1]);

  module.exports = isBuffer;
},1332,[1327,1333]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function stubFalse() {
    return false;
  }

  module.exports = stubFalse;
},1333,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var nodeIsTypedArray = _$$_REQUIRE(_dependencyMap[0]) && _$$_REQUIRE(_dependencyMap[0]).isTypedArray;

  var isTypedArray = nodeIsTypedArray ? _$$_REQUIRE(_dependencyMap[1])(nodeIsTypedArray) : _$$_REQUIRE(_dependencyMap[2]);
  module.exports = isTypedArray;
},1334,[1335,1336,1337]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
  var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
  var moduleExports = freeModule && freeModule.exports === freeExports;

  var freeProcess = moduleExports && _$$_REQUIRE(_dependencyMap[0]).process;

  var nodeUtil = function () {
    try {
      var types = freeModule && freeModule.require && freeModule.require('util').types;

      if (types) {
        return types;
      }

      return freeProcess && freeProcess.binding && freeProcess.binding('util');
    } catch (e) {}
  }();

  module.exports = nodeUtil;
},1335,[1328]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseUnary(func) {
    return function (value) {
      return func(value);
    };
  }

  module.exports = baseUnary;
},1336,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var argsTag = '[object Arguments]',
      arrayTag = '[object Array]',
      boolTag = '[object Boolean]',
      dateTag = '[object Date]',
      errorTag = '[object Error]',
      funcTag = '[object Function]',
      mapTag = '[object Map]',
      numberTag = '[object Number]',
      objectTag = '[object Object]',
      regexpTag = '[object RegExp]',
      setTag = '[object Set]',
      stringTag = '[object String]',
      weakMapTag = '[object WeakMap]';
  var arrayBufferTag = '[object ArrayBuffer]',
      dataViewTag = '[object DataView]',
      float32Tag = '[object Float32Array]',
      float64Tag = '[object Float64Array]',
      int8Tag = '[object Int8Array]',
      int16Tag = '[object Int16Array]',
      int32Tag = '[object Int32Array]',
      uint8Tag = '[object Uint8Array]',
      uint8ClampedTag = '[object Uint8ClampedArray]',
      uint16Tag = '[object Uint16Array]',
      uint32Tag = '[object Uint32Array]';
  var typedArrayTags = {};
  typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
  typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;

  function baseIsTypedArray(value) {
    return _$$_REQUIRE(_dependencyMap[0])(value) && _$$_REQUIRE(_dependencyMap[1])(value.length) && !!typedArrayTags[_$$_REQUIRE(_dependencyMap[2])(value)];
  }

  module.exports = baseIsTypedArray;
},1337,[1338,1322,1325]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function isObjectLike(value) {
    return value != null && typeof value == 'object';
  }

  module.exports = isObjectLike;
},1338,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var objectProto = Object.prototype;
  var hasOwnProperty = objectProto.hasOwnProperty;
  var propertyIsEnumerable = objectProto.propertyIsEnumerable;
  var isArguments = _$$_REQUIRE(_dependencyMap[0])(function () {
    return arguments;
  }()) ? _$$_REQUIRE(_dependencyMap[0]) : function (value) {
    return _$$_REQUIRE(_dependencyMap[1])(value) && hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');
  };
  module.exports = isArguments;
},1339,[1340,1338]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var argsTag = '[object Arguments]';

  function baseIsArguments(value) {
    return _$$_REQUIRE(_dependencyMap[0])(value) && _$$_REQUIRE(_dependencyMap[1])(value) == argsTag;
  }

  module.exports = baseIsArguments;
},1340,[1338,1325]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var mapTag = '[object Map]',
      objectTag = '[object Object]',
      promiseTag = '[object Promise]',
      setTag = '[object Set]',
      weakMapTag = '[object WeakMap]';
  var dataViewTag = '[object DataView]';

  var dataViewCtorString = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1])),
      mapCtorString = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2])),
      promiseCtorString = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3])),
      setCtorString = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4])),
      weakMapCtorString = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var getTag = _$$_REQUIRE(_dependencyMap[6]);

  if (_$$_REQUIRE(_dependencyMap[1]) && getTag(new (_$$_REQUIRE(_dependencyMap[1]))(new ArrayBuffer(1))) != dataViewTag || _$$_REQUIRE(_dependencyMap[2]) && getTag(new (_$$_REQUIRE(_dependencyMap[2]))()) != mapTag || _$$_REQUIRE(_dependencyMap[3]) && getTag(_$$_REQUIRE(_dependencyMap[3]).resolve()) != promiseTag || _$$_REQUIRE(_dependencyMap[4]) && getTag(new (_$$_REQUIRE(_dependencyMap[4]))()) != setTag || _$$_REQUIRE(_dependencyMap[5]) && getTag(new (_$$_REQUIRE(_dependencyMap[5]))()) != weakMapTag) {
    getTag = function getTag(value) {
      var result = _$$_REQUIRE(_dependencyMap[6])(value),
          Ctor = result == objectTag ? value.constructor : undefined,
          ctorString = Ctor ? _$$_REQUIRE(_dependencyMap[0])(Ctor) : '';

      if (ctorString) {
        switch (ctorString) {
          case dataViewCtorString:
            return dataViewTag;

          case mapCtorString:
            return mapTag;

          case promiseCtorString:
            return promiseTag;

          case setCtorString:
            return setTag;

          case weakMapCtorString:
            return weakMapTag;
        }
      }

      return result;
    };
  }

  module.exports = getTag;
},1341,[1342,1343,1349,1350,1351,1352,1325]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var funcProto = Function.prototype;
  var funcToString = funcProto.toString;

  function toSource(func) {
    if (func != null) {
      try {
        return funcToString.call(func);
      } catch (e) {}

      try {
        return func + '';
      } catch (e) {}
    }

    return '';
  }

  module.exports = toSource;
},1342,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var DataView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]), 'DataView');

  module.exports = DataView;
},1343,[1344,1327]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function getNative(object, key) {
    var value = _$$_REQUIRE(_dependencyMap[0])(object, key);

    return _$$_REQUIRE(_dependencyMap[1])(value) ? value : undefined;
  }

  module.exports = getNative;
},1344,[1345,1346]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function getValue(object, key) {
    return object == null ? undefined : object[key];
  }

  module.exports = getValue;
},1345,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
  var reIsHostCtor = /^\[object .+?Constructor\]$/;
  var funcProto = Function.prototype,
      objectProto = Object.prototype;
  var funcToString = funcProto.toString;
  var hasOwnProperty = objectProto.hasOwnProperty;
  var reIsNative = RegExp('^' + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&').replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$');

  function baseIsNative(value) {
    if (!_$$_REQUIRE(_dependencyMap[0])(value) || _$$_REQUIRE(_dependencyMap[1])(value)) {
      return false;
    }

    var pattern = _$$_REQUIRE(_dependencyMap[2])(value) ? reIsNative : reIsHostCtor;
    return pattern.test(_$$_REQUIRE(_dependencyMap[3])(value));
  }

  module.exports = baseIsNative;
},1346,[1324,1347,1323,1342]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var maskSrcKey = function () {
    var uid = /[^.]+$/.exec(_$$_REQUIRE(_dependencyMap[0]) && _$$_REQUIRE(_dependencyMap[0]).keys && _$$_REQUIRE(_dependencyMap[0]).keys.IE_PROTO || '');
    return uid ? 'Symbol(src)_1.' + uid : '';
  }();

  function isMasked(func) {
    return !!maskSrcKey && maskSrcKey in func;
  }

  module.exports = isMasked;
},1347,[1348]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0])['__core-js_shared__'];
},1348,[1327]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var Map = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]), 'Map');

  module.exports = Map;
},1349,[1344,1327]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var Promise = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]), 'Promise');

  module.exports = Promise;
},1350,[1344,1327]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var Set = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]), 'Set');

  module.exports = Set;
},1351,[1344,1327]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var WeakMap = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]), 'WeakMap');

  module.exports = WeakMap;
},1352,[1344,1327]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var objectProto = Object.prototype;

  function isPrototype(value) {
    var Ctor = value && value.constructor,
        proto = typeof Ctor == 'function' && Ctor.prototype || objectProto;
    return value === proto;
  }

  module.exports = isPrototype;
},1353,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var objectProto = Object.prototype;
  var hasOwnProperty = objectProto.hasOwnProperty;

  function baseKeys(object) {
    if (!_$$_REQUIRE(_dependencyMap[0])(object)) {
      return _$$_REQUIRE(_dependencyMap[1])(object);
    }

    var result = [];

    for (var key in Object(object)) {
      if (hasOwnProperty.call(object, key) && key != 'constructor') {
        result.push(key);
      }
    }

    return result;
  }

  module.exports = baseKeys;
},1354,[1353,1355]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var nativeKeys = _$$_REQUIRE(_dependencyMap[0])(Object.keys, Object);

  module.exports = nativeKeys;
},1355,[1356]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function overArg(func, transform) {
    return function (arg) {
      return func(transform(arg));
    };
  }

  module.exports = overArg;
},1356,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.swipeDirections = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var swipeDirections = {
    SWIPE_UP: "SWIPE_UP",
    SWIPE_DOWN: "SWIPE_DOWN",
    SWIPE_LEFT: "SWIPE_LEFT",
    SWIPE_RIGHT: "SWIPE_RIGHT"
  };
  exports.swipeDirections = swipeDirections;
  var swipeConfig = {
    velocityThreshold: 0.3,
    directionalOffsetThreshold: 80,
    gestureIsClickThreshold: 5
  };

  function isValidSwipe(velocity, velocityThreshold, directionalOffset, directionalOffsetThreshold) {
    return Math.abs(velocity) > velocityThreshold && Math.abs(directionalOffset) < directionalOffsetThreshold;
  }

  var GestureRecognizer = function (_Component) {
    (0, _inherits2.default)(GestureRecognizer, _Component);

    var _super = _createSuper(GestureRecognizer);

    function GestureRecognizer(props, context) {
      var _this;

      (0, _classCallCheck2.default)(this, GestureRecognizer);
      _this = _super.call(this, props, context);
      _this.swipeConfig = (0, _extends2.default)(swipeConfig, props.config);

      var responderEnd = _this._handlePanResponderEnd.bind((0, _assertThisInitialized2.default)(_this));

      var shouldSetResponder = _this._handleShouldSetPanResponder.bind((0, _assertThisInitialized2.default)(_this));

      _this._panResponder = _reactNative.PanResponder.create({
        onStartShouldSetPanResponder: shouldSetResponder,
        onMoveShouldSetPanResponder: shouldSetResponder,
        onPanResponderRelease: responderEnd,
        onPanResponderTerminate: responderEnd
      });
      return _this;
    }

    (0, _createClass2.default)(GestureRecognizer, [{
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps) {
        if (this.props.config !== prevProps.config) {
          this.swipeConfig = (0, _extends2.default)(swipeConfig, this.props.config);
        }
      }
    }, {
      key: "_handleShouldSetPanResponder",
      value: function _handleShouldSetPanResponder(evt, gestureState) {
        return evt.nativeEvent.touches.length === 1 && !this._gestureIsClick(gestureState);
      }
    }, {
      key: "_gestureIsClick",
      value: function _gestureIsClick(gestureState) {
        return Math.abs(gestureState.dx) < swipeConfig.gestureIsClickThreshold && Math.abs(gestureState.dy) < swipeConfig.gestureIsClickThreshold;
      }
    }, {
      key: "_handlePanResponderEnd",
      value: function _handlePanResponderEnd(evt, gestureState) {
        var swipeDirection = this._getSwipeDirection(gestureState);

        this._triggerSwipeHandlers(swipeDirection, gestureState);
      }
    }, {
      key: "_triggerSwipeHandlers",
      value: function _triggerSwipeHandlers(swipeDirection, gestureState) {
        var _this$props = this.props,
            onSwipe = _this$props.onSwipe,
            onSwipeUp = _this$props.onSwipeUp,
            onSwipeDown = _this$props.onSwipeDown,
            onSwipeLeft = _this$props.onSwipeLeft,
            onSwipeRight = _this$props.onSwipeRight;
        var SWIPE_LEFT = swipeDirections.SWIPE_LEFT,
            SWIPE_RIGHT = swipeDirections.SWIPE_RIGHT,
            SWIPE_UP = swipeDirections.SWIPE_UP,
            SWIPE_DOWN = swipeDirections.SWIPE_DOWN;
        onSwipe && onSwipe(swipeDirection, gestureState);

        switch (swipeDirection) {
          case SWIPE_LEFT:
            onSwipeLeft && onSwipeLeft(gestureState);
            break;

          case SWIPE_RIGHT:
            onSwipeRight && onSwipeRight(gestureState);
            break;

          case SWIPE_UP:
            onSwipeUp && onSwipeUp(gestureState);
            break;

          case SWIPE_DOWN:
            onSwipeDown && onSwipeDown(gestureState);
            break;
        }
      }
    }, {
      key: "_getSwipeDirection",
      value: function _getSwipeDirection(gestureState) {
        var SWIPE_LEFT = swipeDirections.SWIPE_LEFT,
            SWIPE_RIGHT = swipeDirections.SWIPE_RIGHT,
            SWIPE_UP = swipeDirections.SWIPE_UP,
            SWIPE_DOWN = swipeDirections.SWIPE_DOWN;
        var dx = gestureState.dx,
            dy = gestureState.dy;

        if (this._isValidHorizontalSwipe(gestureState)) {
          return dx > 0 ? SWIPE_RIGHT : SWIPE_LEFT;
        } else if (this._isValidVerticalSwipe(gestureState)) {
          return dy > 0 ? SWIPE_DOWN : SWIPE_UP;
        }

        return null;
      }
    }, {
      key: "_isValidHorizontalSwipe",
      value: function _isValidHorizontalSwipe(gestureState) {
        var vx = gestureState.vx,
            dy = gestureState.dy;
        var _this$swipeConfig = this.swipeConfig,
            velocityThreshold = _this$swipeConfig.velocityThreshold,
            directionalOffsetThreshold = _this$swipeConfig.directionalOffsetThreshold;
        return isValidSwipe(vx, velocityThreshold, dy, directionalOffsetThreshold);
      }
    }, {
      key: "_isValidVerticalSwipe",
      value: function _isValidVerticalSwipe(gestureState) {
        var vy = gestureState.vy,
            dx = gestureState.dx;
        var _this$swipeConfig2 = this.swipeConfig,
            velocityThreshold = _this$swipeConfig2.velocityThreshold,
            directionalOffsetThreshold = _this$swipeConfig2.directionalOffsetThreshold;
        return isValidSwipe(vy, velocityThreshold, dx, directionalOffsetThreshold);
      }
    }, {
      key: "render",
      value: function render() {
        return _react.default.createElement(_reactNative.View, (0, _extends2.default)({}, this.props, this._panResponder.panHandlers));
      }
    }]);
    return GestureRecognizer;
  }(_react.Component);

  var _default = GestureRecognizer;
  exports.default = _default;
},1357,[5,6,7,8,15,12,14,16,17,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _Dimensions$get = _reactNative.Dimensions.get('window'),
      screenWidth = _Dimensions$get.width,
      screenHeight = _Dimensions$get.height;

  var isRTL = _reactNative.I18nManager.isRTL;
  var isAndroid = _reactNative.Platform.OS === 'android';
  var isIOS = _reactNative.Platform.OS === 'ios';
  var screenAspectRatio = screenWidth < screenHeight ? screenHeight / screenWidth : screenWidth / screenHeight;
  var isTablet = _reactNative.Platform.isPad || screenAspectRatio < 1.6 && Math.max(screenWidth, screenHeight) >= 900;
  var _default = {
    screenWidth: screenWidth,
    screenHeight: screenHeight,
    isRTL: isRTL,
    isAndroid: isAndroid,
    isIOS: isIOS,
    isTablet: isTablet
  };
  exports.default = _default;
},1358,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = getStyle;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var defaultStyle = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function getStyle() {
    var theme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var appStyle = (0, _extends2.default)({}, defaultStyle, theme);
    return _reactNative.StyleSheet.create((0, _extends2.default)({
      container: {
        paddingLeft: 5,
        paddingRight: 5,
        backgroundColor: appStyle.calendarBackground
      },
      dayContainer: {
        flex: 1,
        alignItems: 'center'
      },
      emptyDayContainer: {
        flex: 1
      },
      monthView: {
        backgroundColor: appStyle.calendarBackground
      },
      week: {
        marginVertical: appStyle.weekVerticalMargin,
        flexDirection: 'row',
        justifyContent: 'space-around'
      }
    }, theme['stylesheet.calendar.main'] || {}));
  }
},1359,[5,6,28,1360]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.weekVerticalMargin = exports.todayButtonPosition = exports.todayButtonTextColor = exports.reservationsBackgroundColor = exports.backgroundColor = exports.expandableKnobColor = exports.agendaKnobColor = exports.agendaTodayColor = exports.agendaDayNumColor = exports.agendaDayTextColor = exports.indicatorColor = exports.monthTextColor = exports.disabledArrowColor = exports.arrowColor = exports.todayDotColor = exports.inactiveDotColor = exports.disabledDotColor = exports.selectedDotColor = exports.dotColor = exports.textInactiveColor = exports.textDisabledColor = exports.dayTextColor = exports.todayTextColor = exports.todayBackgroundColor = exports.selectedDayTextColor = exports.selectedDayBackgroundColor = exports.textSectionTitleDisabledColor = exports.textSectionTitleColor = exports.calendarBackground = exports.arrowStyle = exports.dotStyle = exports.textDayStyle = exports.todayButtonFontSize = exports.textDayHeaderFontSize = exports.textMonthFontSize = exports.textDayFontSize = exports.todayButtonFontWeight = exports.textDayHeaderFontWeight = exports.textMonthFontWeight = exports.textDayFontWeight = exports.todayButtonFontFamily = exports.textDayHeaderFontFamily = exports.textMonthFontFamily = exports.textDayFontFamily = undefined;
  var FOREGROUND_COLOR = 'white';
  var DEFAULT_TEXT_COLOR = '#2d4150';
  var SECONDARY_TEXT_COLOR = '#00BBF2';
  var AGENDA_TEXT_COLOR = '#7a92a5';
  var AGENDA_BG_COLOR = '#f2F4f5';
  var DISABLED_COLOR = '#d9e1e8';
  var textDayFontFamily = 'System';
  exports.textDayFontFamily = textDayFontFamily;
  var textMonthFontFamily = 'System';
  exports.textMonthFontFamily = textMonthFontFamily;
  var textDayHeaderFontFamily = 'System';
  exports.textDayHeaderFontFamily = textDayHeaderFontFamily;
  var todayButtonFontFamily = 'System';
  exports.todayButtonFontFamily = todayButtonFontFamily;
  var textDayFontWeight = '300';
  exports.textDayFontWeight = textDayFontWeight;
  var textMonthFontWeight = '300';
  exports.textMonthFontWeight = textMonthFontWeight;
  var textDayHeaderFontWeight = undefined;
  exports.textDayHeaderFontWeight = textDayHeaderFontWeight;
  var todayButtonFontWeight = '600';
  exports.todayButtonFontWeight = todayButtonFontWeight;
  var textDayFontSize = 16;
  exports.textDayFontSize = textDayFontSize;
  var textMonthFontSize = 16;
  exports.textMonthFontSize = textMonthFontSize;
  var textDayHeaderFontSize = 13;
  exports.textDayHeaderFontSize = textDayHeaderFontSize;
  var todayButtonFontSize = 14;
  exports.todayButtonFontSize = todayButtonFontSize;
  var textDayStyle = undefined;
  exports.textDayStyle = textDayStyle;
  var dotStyle = undefined;
  exports.dotStyle = dotStyle;
  var arrowStyle = undefined;
  exports.arrowStyle = arrowStyle;
  var calendarBackground = FOREGROUND_COLOR;
  exports.calendarBackground = calendarBackground;
  var textSectionTitleColor = '#b6c1cd';
  exports.textSectionTitleColor = textSectionTitleColor;
  var textSectionTitleDisabledColor = DISABLED_COLOR;
  exports.textSectionTitleDisabledColor = textSectionTitleDisabledColor;
  var selectedDayBackgroundColor = SECONDARY_TEXT_COLOR;
  exports.selectedDayBackgroundColor = selectedDayBackgroundColor;
  var selectedDayTextColor = FOREGROUND_COLOR;
  exports.selectedDayTextColor = selectedDayTextColor;
  var todayBackgroundColor = undefined;
  exports.todayBackgroundColor = todayBackgroundColor;
  var todayTextColor = SECONDARY_TEXT_COLOR;
  exports.todayTextColor = todayTextColor;
  var dayTextColor = DEFAULT_TEXT_COLOR;
  exports.dayTextColor = dayTextColor;
  var textDisabledColor = DISABLED_COLOR;
  exports.textDisabledColor = textDisabledColor;
  var textInactiveColor = DISABLED_COLOR;
  exports.textInactiveColor = textInactiveColor;
  var dotColor = SECONDARY_TEXT_COLOR;
  exports.dotColor = dotColor;
  var selectedDotColor = FOREGROUND_COLOR;
  exports.selectedDotColor = selectedDotColor;
  var disabledDotColor = undefined;
  exports.disabledDotColor = disabledDotColor;
  var inactiveDotColor = undefined;
  exports.inactiveDotColor = inactiveDotColor;
  var todayDotColor = undefined;
  exports.todayDotColor = todayDotColor;
  var arrowColor = SECONDARY_TEXT_COLOR;
  exports.arrowColor = arrowColor;
  var disabledArrowColor = DISABLED_COLOR;
  exports.disabledArrowColor = disabledArrowColor;
  var monthTextColor = DEFAULT_TEXT_COLOR;
  exports.monthTextColor = monthTextColor;
  var indicatorColor = undefined;
  exports.indicatorColor = indicatorColor;
  var agendaDayTextColor = AGENDA_TEXT_COLOR;
  exports.agendaDayTextColor = agendaDayTextColor;
  var agendaDayNumColor = AGENDA_TEXT_COLOR;
  exports.agendaDayNumColor = agendaDayNumColor;
  var agendaTodayColor = SECONDARY_TEXT_COLOR;
  exports.agendaTodayColor = agendaTodayColor;
  var agendaKnobColor = AGENDA_BG_COLOR;
  exports.agendaKnobColor = agendaKnobColor;
  var expandableKnobColor = '#e8ecf0';
  exports.expandableKnobColor = expandableKnobColor;
  var backgroundColor = AGENDA_BG_COLOR;
  exports.backgroundColor = backgroundColor;
  var reservationsBackgroundColor = AGENDA_BG_COLOR;
  exports.reservationsBackgroundColor = reservationsBackgroundColor;
  var todayButtonTextColor = SECONDARY_TEXT_COLOR;
  exports.todayButtonTextColor = todayButtonTextColor;
  var todayButtonPosition = undefined;
  exports.todayButtonPosition = todayButtonPosition;
  var weekVerticalMargin = 7;
  exports.weekVerticalMargin = weekVerticalMargin;
},1360,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _includes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _xdate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _style = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var accessibilityActions = [{
    name: 'increment',
    label: 'increment'
  }, {
    name: 'decrement',
    label: 'decrement'
  }];
  var CalendarHeader = (0, _react.forwardRef)(function (props, ref) {
    var theme = props.theme,
        propsStyle = props.style,
        propsAddMonth = props.addMonth,
        month = props.month,
        monthFormat = props.monthFormat,
        firstDay = props.firstDay,
        hideDayNames = props.hideDayNames,
        showWeekNumbers = props.showWeekNumbers,
        hideArrows = props.hideArrows,
        renderArrow = props.renderArrow,
        onPressArrowLeft = props.onPressArrowLeft,
        onPressArrowRight = props.onPressArrowRight,
        _props$arrowsHitSlop = props.arrowsHitSlop,
        arrowsHitSlop = _props$arrowsHitSlop === undefined ? 20 : _props$arrowsHitSlop,
        disableArrowLeft = props.disableArrowLeft,
        disableArrowRight = props.disableArrowRight,
        disabledDaysIndexes = props.disabledDaysIndexes,
        displayLoadingIndicator = props.displayLoadingIndicator,
        customHeaderTitle = props.customHeaderTitle,
        renderHeader = props.renderHeader,
        webAriaLevel = props.webAriaLevel,
        testID = props.testID,
        accessibilityElementsHidden = props.accessibilityElementsHidden,
        importantForAccessibility = props.importantForAccessibility,
        numberOfDays = props.numberOfDays,
        _props$current = props.current,
        current = _props$current === undefined ? '' : _props$current,
        timelineLeftInset = props.timelineLeftInset;
    var numberOfDaysCondition = (0, _react.useMemo)(function () {
      return numberOfDays && numberOfDays > 1;
    }, [numberOfDays]);
    var style = (0, _react.useRef)((0, _style.default)(theme));
    var headerStyle = (0, _react.useMemo)(function () {
      return [style.current.header, numberOfDaysCondition ? style.current.partialHeader : undefined];
    }, [numberOfDaysCondition]);
    var partialWeekStyle = (0, _react.useMemo)(function () {
      return [style.current.partialWeek, {
        paddingLeft: timelineLeftInset
      }];
    }, [timelineLeftInset]);
    var dayNamesStyle = (0, _react.useMemo)(function () {
      return [style.current.week, numberOfDaysCondition ? partialWeekStyle : undefined];
    }, [numberOfDaysCondition, partialWeekStyle]);
    var hitSlop = (0, _react.useMemo)(function () {
      return typeof arrowsHitSlop === 'number' ? {
        top: arrowsHitSlop,
        left: arrowsHitSlop,
        bottom: arrowsHitSlop,
        right: arrowsHitSlop
      } : arrowsHitSlop;
    }, [arrowsHitSlop]);
    (0, _react.useImperativeHandle)(ref, function () {
      return {
        onPressLeft: onPressLeft,
        onPressRight: onPressRight
      };
    });
    var addMonth = (0, _react.useCallback)(function () {
      propsAddMonth == null ? undefined : propsAddMonth(1);
    }, [propsAddMonth]);
    var subtractMonth = (0, _react.useCallback)(function () {
      propsAddMonth == null ? undefined : propsAddMonth(-1);
    }, [propsAddMonth]);
    var onPressLeft = (0, _react.useCallback)(function () {
      if (typeof onPressArrowLeft === 'function') {
        return onPressArrowLeft(subtractMonth, month);
      }

      return subtractMonth();
    }, [onPressArrowLeft, subtractMonth, month]);
    var onPressRight = (0, _react.useCallback)(function () {
      if (typeof onPressArrowRight === 'function') {
        return onPressArrowRight(addMonth, month);
      }

      return addMonth();
    }, [onPressArrowRight, addMonth, month]);
    var onAccessibilityAction = (0, _react.useCallback)(function (event) {
      switch (event.nativeEvent.actionName) {
        case 'decrement':
          onPressLeft();
          break;

        case 'increment':
          onPressRight();
          break;

        default:
          break;
      }
    }, [onPressLeft, onPressRight]);
    var renderWeekDays = (0, _react.useMemo)(function () {
      var dayOfTheWeek = new _xdate.default(current).getDay();
      var weekDaysNames = numberOfDaysCondition ? (0, _$$_REQUIRE(_dependencyMap[7]).weekDayNames)(dayOfTheWeek) : (0, _$$_REQUIRE(_dependencyMap[7]).weekDayNames)(firstDay);
      var dayNames = numberOfDaysCondition ? weekDaysNames.slice(0, numberOfDays) : weekDaysNames;
      return dayNames.map(function (day, index) {
        var dayStyle = [style.current.dayHeader];

        if ((0, _includes.default)(disabledDaysIndexes, index)) {
          dayStyle.push(style.current.disabledDayHeader);
        }

        var dayTextAtIndex = "dayTextAtIndex" + index;

        if (style.current[dayTextAtIndex]) {
          dayStyle.push(style.current[dayTextAtIndex]);
        }

        return _react.default.createElement(_reactNative.Text, {
          allowFontScaling: false,
          key: index,
          style: dayStyle,
          numberOfLines: 1,
          accessibilityLabel: ''
        }, day);
      });
    }, [firstDay, current, numberOfDaysCondition, numberOfDays, disabledDaysIndexes]);

    var _renderHeader = function _renderHeader() {
      var webProps = _reactNative.Platform.OS === 'web' ? {
        'aria-level': webAriaLevel
      } : {};

      if (renderHeader) {
        return renderHeader(month);
      }

      if (customHeaderTitle) {
        return customHeaderTitle;
      }

      return _react.default.createElement(_react.Fragment, null, _react.default.createElement(_reactNative.Text, (0, _extends2.default)({
        allowFontScaling: false,
        style: style.current.monthText,
        testID: testID + ".title"
      }, webProps), (0, _$$_REQUIRE(_dependencyMap[7]).formatNumbers)(month == null ? undefined : month.toString(monthFormat))));
    };

    var _renderArrow = function _renderArrow(direction) {
      if (hideArrows) {
        return _react.default.createElement(_reactNative.View, null);
      }

      var isLeft = direction === 'left';
      var arrowId = isLeft ? 'leftArrow' : 'rightArrow';
      var shouldDisable = isLeft ? disableArrowLeft : disableArrowRight;
      var onPress = !shouldDisable ? isLeft ? onPressLeft : onPressRight : undefined;
      var imageSource = isLeft ? _$$_REQUIRE(_dependencyMap[8]) : _$$_REQUIRE(_dependencyMap[9]);
      var renderArrowDirection = isLeft ? 'left' : 'right';
      return _react.default.createElement(_reactNative.TouchableOpacity, {
        onPress: onPress,
        disabled: shouldDisable,
        style: style.current.arrow,
        hitSlop: hitSlop,
        testID: testID + "." + arrowId
      }, renderArrow ? renderArrow(renderArrowDirection) : _react.default.createElement(_reactNative.Image, {
        source: imageSource,
        style: shouldDisable ? style.current.disabledArrowImage : style.current.arrowImage
      }));
    };

    var renderIndicator = function renderIndicator() {
      if (displayLoadingIndicator) {
        return _react.default.createElement(_reactNative.ActivityIndicator, {
          color: theme == null ? undefined : theme.indicatorColor,
          testID: testID + ".loader"
        });
      }
    };

    var renderWeekNumbersSpace = function renderWeekNumbersSpace() {
      return showWeekNumbers && _react.default.createElement(_reactNative.View, {
        style: style.current.dayHeader
      });
    };

    var renderDayNames = function renderDayNames() {
      if (!hideDayNames) {
        return _react.default.createElement(_reactNative.View, {
          style: dayNamesStyle,
          testID: testID + ".dayNames"
        }, renderWeekNumbersSpace(), renderWeekDays);
      }
    };

    return _react.default.createElement(_reactNative.View, {
      testID: testID,
      style: propsStyle,
      accessible: true,
      accessibilityRole: 'adjustable',
      accessibilityActions: accessibilityActions,
      onAccessibilityAction: onAccessibilityAction,
      accessibilityElementsHidden: accessibilityElementsHidden,
      importantForAccessibility: importantForAccessibility
    }, _react.default.createElement(_reactNative.View, {
      style: headerStyle
    }, _renderArrow('left'), _react.default.createElement(_reactNative.View, {
      style: style.current.headerContainer
    }, _renderHeader(), renderIndicator()), _renderArrow('right')), renderDayNames());
  });
  var _default = CalendarHeader;
  exports.default = _default;
  CalendarHeader.displayName = 'CalendarHeader';
  CalendarHeader.defaultProps = {
    monthFormat: 'MMMM yyyy',
    webAriaLevel: 1,
    arrowsHitSlop: 20
  };
},1361,[5,6,1362,1319,17,28,1381,1382,1384,1385]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var nativeMax = Math.max;

  function includes(collection, value, fromIndex, guard) {
    collection = _$$_REQUIRE(_dependencyMap[0])(collection) ? collection : _$$_REQUIRE(_dependencyMap[1])(collection);
    fromIndex = fromIndex && !guard ? _$$_REQUIRE(_dependencyMap[2])(fromIndex) : 0;
    var length = collection.length;

    if (fromIndex < 0) {
      fromIndex = nativeMax(length + fromIndex, 0);
    }

    return _$$_REQUIRE(_dependencyMap[3])(collection) ? fromIndex <= length && collection.indexOf(value, fromIndex) > -1 : !!length && _$$_REQUIRE(_dependencyMap[4])(collection, value, fromIndex) > -1;
  }

  module.exports = includes;
},1362,[1321,1363,1370,1376,1377]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function values(object) {
    return object == null ? [] : _$$_REQUIRE(_dependencyMap[0])(object, _$$_REQUIRE(_dependencyMap[1])(object));
  }

  module.exports = values;
},1363,[1364,1366]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseValues(object, props) {
    return _$$_REQUIRE(_dependencyMap[0])(props, function (key) {
      return object[key];
    });
  }

  module.exports = baseValues;
},1364,[1365]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function arrayMap(array, iteratee) {
    var index = -1,
        length = array == null ? 0 : array.length,
        result = Array(length);

    while (++index < length) {
      result[index] = iteratee(array[index], index, array);
    }

    return result;
  }

  module.exports = arrayMap;
},1365,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function keys(object) {
    return _$$_REQUIRE(_dependencyMap[0])(object) ? _$$_REQUIRE(_dependencyMap[1])(object) : _$$_REQUIRE(_dependencyMap[2])(object);
  }

  module.exports = keys;
},1366,[1321,1367,1354]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var objectProto = Object.prototype;
  var hasOwnProperty = objectProto.hasOwnProperty;

  function arrayLikeKeys(value, inherited) {
    var isArr = _$$_REQUIRE(_dependencyMap[0])(value),
        isArg = !isArr && _$$_REQUIRE(_dependencyMap[1])(value),
        isBuff = !isArr && !isArg && _$$_REQUIRE(_dependencyMap[2])(value),
        isType = !isArr && !isArg && !isBuff && _$$_REQUIRE(_dependencyMap[3])(value),
        skipIndexes = isArr || isArg || isBuff || isType,
        result = skipIndexes ? _$$_REQUIRE(_dependencyMap[4])(value.length, String) : [],
        length = result.length;

    for (var key in value) {
      if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && (key == 'length' || isBuff && (key == 'offset' || key == 'parent') || isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset') || _$$_REQUIRE(_dependencyMap[5])(key, length)))) {
        result.push(key);
      }
    }

    return result;
  }

  module.exports = arrayLikeKeys;
},1367,[1331,1339,1332,1334,1368,1369]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseTimes(n, iteratee) {
    var index = -1,
        result = Array(n);

    while (++index < n) {
      result[index] = iteratee(index);
    }

    return result;
  }

  module.exports = baseTimes;
},1368,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var MAX_SAFE_INTEGER = 9007199254740991;
  var reIsUint = /^(?:0|[1-9]\d*)$/;

  function isIndex(value, length) {
    var type = typeof value;
    length = length == null ? MAX_SAFE_INTEGER : length;
    return !!length && (type == 'number' || type != 'symbol' && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;
  }

  module.exports = isIndex;
},1369,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function toInteger(value) {
    var result = _$$_REQUIRE(_dependencyMap[0])(value),
        remainder = result % 1;

    return result === result ? remainder ? result - remainder : result : 0;
  }

  module.exports = toInteger;
},1370,[1371]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var INFINITY = 1 / 0,
      MAX_INTEGER = 1.7976931348623157e+308;

  function toFinite(value) {
    if (!value) {
      return value === 0 ? value : 0;
    }

    value = _$$_REQUIRE(_dependencyMap[0])(value);

    if (value === INFINITY || value === -(1 / 0)) {
      var sign = value < 0 ? -1 : 1;
      return sign * MAX_INTEGER;
    }

    return value === value ? value : 0;
  }

  module.exports = toFinite;
},1371,[1372]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var NAN = 0 / 0;
  var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
  var reIsBinary = /^0b[01]+$/i;
  var reIsOctal = /^0o[0-7]+$/i;
  var freeParseInt = parseInt;

  function toNumber(value) {
    if (typeof value == 'number') {
      return value;
    }

    if (_$$_REQUIRE(_dependencyMap[0])(value)) {
      return NAN;
    }

    if (_$$_REQUIRE(_dependencyMap[1])(value)) {
      var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
      value = _$$_REQUIRE(_dependencyMap[1])(other) ? other + '' : other;
    }

    if (typeof value != 'string') {
      return value === 0 ? value : +value;
    }

    value = _$$_REQUIRE(_dependencyMap[2])(value);
    var isBinary = reIsBinary.test(value);
    return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
  }

  module.exports = toNumber;
},1372,[1373,1324,1374]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var symbolTag = '[object Symbol]';

  function isSymbol(value) {
    return typeof value == 'symbol' || _$$_REQUIRE(_dependencyMap[0])(value) && _$$_REQUIRE(_dependencyMap[1])(value) == symbolTag;
  }

  module.exports = isSymbol;
},1373,[1338,1325]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var reTrimStart = /^\s+/;

  function baseTrim(string) {
    return string ? string.slice(0, _$$_REQUIRE(_dependencyMap[0])(string) + 1).replace(reTrimStart, '') : string;
  }

  module.exports = baseTrim;
},1374,[1375]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var reWhitespace = /\s/;

  function trimmedEndIndex(string) {
    var index = string.length;

    while (index-- && reWhitespace.test(string.charAt(index))) {}

    return index;
  }

  module.exports = trimmedEndIndex;
},1375,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var stringTag = '[object String]';

  function isString(value) {
    return typeof value == 'string' || !_$$_REQUIRE(_dependencyMap[0])(value) && _$$_REQUIRE(_dependencyMap[1])(value) && _$$_REQUIRE(_dependencyMap[2])(value) == stringTag;
  }

  module.exports = isString;
},1376,[1331,1338,1325]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseIndexOf(array, value, fromIndex) {
    return value === value ? _$$_REQUIRE(_dependencyMap[0])(array, value, fromIndex) : _$$_REQUIRE(_dependencyMap[1])(array, _$$_REQUIRE(_dependencyMap[2]), fromIndex);
  }

  module.exports = baseIndexOf;
},1377,[1378,1379,1380]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function strictIndexOf(array, value, fromIndex) {
    var index = fromIndex - 1,
        length = array.length;

    while (++index < length) {
      if (array[index] === value) {
        return index;
      }
    }

    return -1;
  }

  module.exports = strictIndexOf;
},1378,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseFindIndex(array, predicate, fromIndex, fromRight) {
    var length = array.length,
        index = fromIndex + (fromRight ? 1 : -1);

    while (fromRight ? index-- : ++index < length) {
      if (predicate(array[index], index, array)) {
        return index;
      }
    }

    return -1;
  }

  module.exports = baseFindIndex;
},1379,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseIsNaN(value) {
    return value !== value;
  }

  module.exports = baseIsNaN;
},1380,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = _default;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var defaultStyle = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _constants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _default() {
    var theme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var appStyle = (0, _extends2.default)({}, defaultStyle, theme);
    var rtlStyle = _constants.default.isRTL ? {
      transform: [{
        scaleX: -1
      }]
    } : undefined;
    return _reactNative.StyleSheet.create((0, _extends2.default)({
      header: {
        flexDirection: 'row',
        justifyContent: 'space-between',
        paddingLeft: 10,
        paddingRight: 10,
        marginTop: 6,
        alignItems: 'center'
      },
      partialHeader: {
        paddingHorizontal: 15
      },
      headerContainer: {
        flexDirection: 'row'
      },
      monthText: {
        fontSize: appStyle.textMonthFontSize,
        fontFamily: appStyle.textMonthFontFamily,
        fontWeight: appStyle.textMonthFontWeight,
        color: appStyle.monthTextColor,
        margin: 10
      },
      arrow: (0, _extends2.default)({
        padding: 10
      }, appStyle.arrowStyle),
      arrowImage: (0, _extends2.default)({}, rtlStyle, {
        tintColor: appStyle.arrowColor
      }, _reactNative.Platform.select({
        web: {
          width: appStyle.arrowWidth,
          height: appStyle.arrowHeight
        }
      })),
      disabledArrowImage: (0, _extends2.default)({}, rtlStyle, {
        tintColor: appStyle.disabledArrowColor
      }),
      week: {
        marginTop: 7,
        flexDirection: 'row',
        justifyContent: 'space-around'
      },
      partialWeek: {
        paddingRight: 0
      },
      dayHeader: {
        marginTop: 2,
        marginBottom: 7,
        width: 32,
        textAlign: 'center',
        fontSize: appStyle.textDayHeaderFontSize,
        fontFamily: appStyle.textDayHeaderFontFamily,
        fontWeight: appStyle.textDayHeaderFontWeight,
        color: appStyle.textSectionTitleColor
      },
      disabledDayHeader: {
        color: appStyle.textSectionTitleDisabledColor
      }
    }, theme['stylesheet.calendar.header'] || {}));
  }
},1381,[5,6,28,1360,1358]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.sameMonth = sameMonth;
  exports.sameDate = sameDate;
  exports.onSameDateRange = onSameDateRange;
  exports.sameWeek = sameWeek;
  exports.isPastDate = isPastDate;
  exports.isToday = isToday;
  exports.isGTE = isGTE;
  exports.isLTE = isLTE;
  exports.formatNumbers = formatNumbers;
  exports.month = month;
  exports.weekDayNames = weekDayNames;
  exports.page = page;
  exports.isDateNotInRange = isDateNotInRange;
  exports.getWeekDates = getWeekDates;
  exports.getPartialWeekDates = getPartialWeekDates;
  exports.generateDay = generateDay;
  exports.getLocale = getLocale;
  var latinNumbersPattern = /[0-9]/g;

  function isValidXDate(date) {
    return date && date instanceof _$$_REQUIRE(_dependencyMap[0]);
  }

  function sameMonth(a, b) {
    if (!isValidXDate(a) || !isValidXDate(b)) {
      return false;
    } else {
      return (a == null ? undefined : a.getFullYear()) === (b == null ? undefined : b.getFullYear()) && (a == null ? undefined : a.getMonth()) === (b == null ? undefined : b.getMonth());
    }
  }

  function sameDate(a, b) {
    if (!isValidXDate(a) || !isValidXDate(b)) {
      return false;
    } else {
      return (a == null ? undefined : a.getFullYear()) === (b == null ? undefined : b.getFullYear()) && (a == null ? undefined : a.getMonth()) === (b == null ? undefined : b.getMonth()) && (a == null ? undefined : a.getDate()) === (b == null ? undefined : b.getDate());
    }
  }

  function onSameDateRange(_ref) {
    var firstDay = _ref.firstDay,
        secondDay = _ref.secondDay,
        numberOfDays = _ref.numberOfDays,
        firstDateInRange = _ref.firstDateInRange;
    var aDate = new (_$$_REQUIRE(_dependencyMap[0]))(firstDay);
    var bDate = new (_$$_REQUIRE(_dependencyMap[0]))(secondDay);
    var firstDayDate = new (_$$_REQUIRE(_dependencyMap[0]))(firstDateInRange);
    var aDiff = aDate.getTime() - firstDayDate.getTime();
    var bDiff = bDate.getTime() - firstDayDate.getTime();
    var aTotalDays = Math.ceil(aDiff / 86400000);
    var bTotalDays = Math.ceil(bDiff / 86400000);
    var aWeek = Math.floor(aTotalDays / numberOfDays);
    var bWeek = Math.floor(bTotalDays / numberOfDays);
    return aWeek === bWeek;
  }

  function sameWeek(a, b, firstDayOfWeek) {
    var weekDates = getWeekDates(a, firstDayOfWeek, 'yyyy-MM-dd');
    var element = weekDates instanceof _$$_REQUIRE(_dependencyMap[0]) ? new (_$$_REQUIRE(_dependencyMap[0]))(b) : b;
    return weekDates == null ? undefined : weekDates.includes(element);
  }

  function isPastDate(date) {
    var today = new (_$$_REQUIRE(_dependencyMap[0]))();
    var d = new (_$$_REQUIRE(_dependencyMap[0]))(date);

    if (today.getFullYear() > d.getFullYear()) {
      return true;
    }

    if (today.getFullYear() === d.getFullYear()) {
      if (today.getMonth() > d.getMonth()) {
        return true;
      }

      if (today.getMonth() === d.getMonth()) {
        if (today.getDate() > d.getDate()) {
          return true;
        }
      }
    }

    return false;
  }

  function isToday(date) {
    var d = date instanceof _$$_REQUIRE(_dependencyMap[0]) ? date : new (_$$_REQUIRE(_dependencyMap[0]))(date);
    return sameDate(d, _$$_REQUIRE(_dependencyMap[0]).today());
  }

  function isGTE(a, b) {
    return b.diffDays(a) > -1;
  }

  function isLTE(a, b) {
    return a.diffDays(b) > -1;
  }

  function formatNumbers(date) {
    var numbers = getLocale().numbers;
    return numbers ? date.toString().replace(latinNumbersPattern, function (char) {
      return numbers[+char];
    }) : date;
  }

  function fromTo(a, b) {
    var days = [];
    var from = +a;
    var to = +b;

    for (; from <= to; from = new (_$$_REQUIRE(_dependencyMap[0]))(from, true).addDays(1).getTime()) {
      days.push(new (_$$_REQUIRE(_dependencyMap[0]))(from, true));
    }

    return days;
  }

  function month(date) {
    var year = date.getFullYear(),
        month = date.getMonth();
    var days = new (_$$_REQUIRE(_dependencyMap[0]))(year, month + 1, 0).getDate();
    var firstDay = new (_$$_REQUIRE(_dependencyMap[0]))(year, month, 1, 0, 0, 0, true);
    var lastDay = new (_$$_REQUIRE(_dependencyMap[0]))(year, month, days, 0, 0, 0, true);
    return fromTo(firstDay, lastDay);
  }

  function weekDayNames() {
    var firstDayOfWeek = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
    var weekDaysNames = getLocale().dayNamesShort;
    var dayShift = firstDayOfWeek % 7;

    if (dayShift) {
      weekDaysNames = weekDaysNames.slice(dayShift).concat(weekDaysNames.slice(0, dayShift));
    }

    return weekDaysNames;
  }

  function page(date) {
    var firstDayOfWeek = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
    var showSixWeeks = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
    var days = month(date);
    var before = [];
    var after = [];
    var fdow = (7 + firstDayOfWeek) % 7 || 7;
    var ldow = (fdow + 6) % 7;
    firstDayOfWeek = firstDayOfWeek || 0;
    var from = days[0].clone();
    var daysBefore = from.getDay();

    if (from.getDay() !== fdow) {
      from.addDays(-(from.getDay() + 7 - fdow) % 7);
    }

    var to = days[days.length - 1].clone();
    var day = to.getDay();

    if (day !== ldow) {
      to.addDays((ldow + 7 - day) % 7);
    }

    var daysForSixWeeks = (daysBefore + days.length) / 6 >= 6;

    if (showSixWeeks && !daysForSixWeeks) {
      to.addDays(7);
    }

    if (isLTE(from, days[0])) {
      before = fromTo(from, days[0]);
    }

    if (isGTE(to, days[days.length - 1])) {
      after = fromTo(days[days.length - 1], to);
    }

    return before.concat(days.slice(1, days.length - 1), after);
  }

  function isDateNotInRange(date, minDate, maxDate) {
    return minDate && !isGTE(date, new (_$$_REQUIRE(_dependencyMap[0]))(minDate)) || maxDate && !isLTE(date, new (_$$_REQUIRE(_dependencyMap[0]))(maxDate));
  }

  function getWeekDates(date) {
    var firstDay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
    var format = arguments.length > 2 ? arguments[2] : undefined;
    var d = new (_$$_REQUIRE(_dependencyMap[0]))(date);

    if (date && d.valid()) {
      var daysArray = [d];
      var dayOfTheWeek = d.getDay() - firstDay;

      if (dayOfTheWeek < 0) {
        dayOfTheWeek = 7 + dayOfTheWeek;
      }

      var newDate = d;
      var index = dayOfTheWeek - 1;

      while (index >= 0) {
        newDate = newDate.clone().addDays(-1);
        daysArray.unshift(newDate);
        index -= 1;
      }

      newDate = d;
      index = dayOfTheWeek + 1;

      while (index < 7) {
        newDate = newDate.clone().addDays(1);
        daysArray.push(newDate);
        index += 1;
      }

      if (format) {
        return daysArray.map(function (d) {
          return d.toString(format);
        });
      }

      return daysArray;
    }
  }

  function getPartialWeekDates(date) {
    var numberOfDays = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 7;
    var index = 0;
    var partialWeek = [];

    while (index < numberOfDays) {
      partialWeek.push(generateDay(date || new (_$$_REQUIRE(_dependencyMap[0]))(), index));
      index++;
    }

    return partialWeek;
  }

  function generateDay(originDate) {
    var daysOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
    var baseDate = originDate instanceof _$$_REQUIRE(_dependencyMap[0]) ? originDate : new (_$$_REQUIRE(_dependencyMap[0]))(originDate);
    return _$$_REQUIRE(_dependencyMap[1]).toMarkingFormat(baseDate.clone().addDays(daysOffset));
  }

  function getLocale() {
    return _$$_REQUIRE(_dependencyMap[0]).locales[_$$_REQUIRE(_dependencyMap[0]).defaultLocale];
  }
},1382,[1319,1383]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.padNumber = padNumber;
  exports.xdateToData = xdateToData;
  exports.parseDate = parseDate;
  exports.toMarkingFormat = toMarkingFormat;

  function padNumber(n) {
    if (n < 10) {
      return '0' + n;
    }

    return n;
  }

  function xdateToData(date) {
    var d = date instanceof _$$_REQUIRE(_dependencyMap[0]) ? date : new (_$$_REQUIRE(_dependencyMap[0]))(date);
    var dateString = toMarkingFormat(d);
    return {
      year: d.getFullYear(),
      month: d.getMonth() + 1,
      day: d.getDate(),
      timestamp: new (_$$_REQUIRE(_dependencyMap[0]))(dateString, true).getTime(),
      dateString: dateString
    };
  }

  function parseDate(d) {
    if (!d) {
      return;
    } else if (d.timestamp) {
      return new (_$$_REQUIRE(_dependencyMap[0]))(d.timestamp, true);
    } else if (d instanceof _$$_REQUIRE(_dependencyMap[0])) {
      return new (_$$_REQUIRE(_dependencyMap[0]))(toMarkingFormat(d), true);
    } else if (d.getTime) {
      var dateString = d.getFullYear() + '-' + padNumber(d.getMonth() + 1) + '-' + padNumber(d.getDate());
      return new (_$$_REQUIRE(_dependencyMap[0]))(dateString, true);
    } else if (d.year) {
      var _dateString = d.year + '-' + padNumber(d.month) + '-' + padNumber(d.day);

      return new (_$$_REQUIRE(_dependencyMap[0]))(_dateString, true);
    } else if (d) {
      return new (_$$_REQUIRE(_dependencyMap[0]))(d, true);
    }
  }

  function toMarkingFormat(d) {
    if (!isNaN(d.getTime())) {
      var year = "" + d.getFullYear();
      var month = d.getMonth() + 1;
      var doubleDigitMonth = month < 10 ? "0" + month : "" + month;
      var day = d.getDate();
      var doubleDigitDay = day < 10 ? "0" + day : "" + day;
      return year + '-' + doubleDigitMonth + '-' + doubleDigitDay;
    }

    return 'Invalid Date';
  }
},1383,[1319]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/node_modules/react-native-calendars/src/calendar/img",
    "width": 8,
    "height": 13.5,
    "scales": [2],
    "hash": "a8b98e516b7e5a7770f0bfec609f2d8e",
    "name": "previous",
    "type": "png"
  });
},1384,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/node_modules/react-native-calendars/src/calendar/img",
    "width": 8,
    "height": 13.5,
    "scales": [2],
    "hash": "3fc49f4d75a5a92eea5f3b1f9a8b12e4",
    "name": "next",
    "type": "png"
  });
},1385,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _omit = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _isEqual = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _some = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _xdate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _basic = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _period = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function areEqual(prevProps, nextProps) {
    var prevPropsWithoutMarkDates = (0, _omit.default)(prevProps, 'marking');
    var nextPropsWithoutMarkDates = (0, _omit.default)(nextProps, 'marking');
    var didPropsChange = (0, _some.default)(prevPropsWithoutMarkDates, function (value, key) {
      return value !== nextPropsWithoutMarkDates[key];
    });
    var isMarkingEqual = (0, _isEqual.default)(prevProps.marking, nextProps.marking);
    return !didPropsChange && isMarkingEqual;
  }

  var Day = _react.default.memo(function (props) {
    var date = props.date,
        marking = props.marking,
        dayComponent = props.dayComponent,
        markingType = props.markingType;

    var _date = date ? new _xdate.default(date) : undefined;

    var _isToday = (0, _$$_REQUIRE(_dependencyMap[9]).isToday)(_date);

    var markingAccessibilityLabel = (0, _react.useMemo)(function () {
      var label = '';

      if (marking) {
        if (marking.accessibilityLabel) {
          return marking.accessibilityLabel;
        }

        if (marking.selected) {
          label += 'selected ';

          if (!marking.marked) {
            label += 'You have no entries for this day ';
          }
        }

        if (marking.marked) {
          label += 'You have entries for this day ';
        }

        if (marking.startingDay) {
          label += 'period start ';
        }

        if (marking.endingDay) {
          label += 'period end ';
        }

        if (marking.disabled || marking.disableTouchEvent) {
          label += 'disabled ';
        }
      }

      return label;
    }, [marking]);
    var getAccessibilityLabel = (0, _react.useMemo)(function () {
      var today = (0, _$$_REQUIRE(_dependencyMap[10]).getDefaultLocale)().today || 'today';
      var formatAccessibilityLabel = (0, _$$_REQUIRE(_dependencyMap[10]).getDefaultLocale)().formatAccessibilityLabel || 'dddd d MMMM yyyy';
      return (_isToday ? today : '') + " " + (_date == null ? undefined : _date.toString(formatAccessibilityLabel)) + " " + markingAccessibilityLabel;
    }, [_date, marking, _isToday]);
    var Component = dayComponent || (markingType === 'period' ? _period.default : _basic.default);
    var dayComponentProps = dayComponent ? {
      date: (0, _$$_REQUIRE(_dependencyMap[11]).xdateToData)(date || new _xdate.default())
    } : undefined;
    return _react.default.createElement(Component, (0, _extends2.default)({}, props, {
      accessibilityLabel: getAccessibilityLabel
    }, dayComponentProps), (0, _$$_REQUIRE(_dependencyMap[9]).formatNumbers)(_date == null ? undefined : _date.getDate()));
  }, areEqual);

  var _default = Day;
  exports.default = _default;
  Day.displayName = 'Day';
},1386,[5,6,1387,1481,1494,1319,17,1516,1528,1382,1530,1383]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var CLONE_DEEP_FLAG = 1,
      CLONE_FLAT_FLAG = 2,
      CLONE_SYMBOLS_FLAG = 4;

  var omit = _$$_REQUIRE(_dependencyMap[0])(function (object, paths) {
    var result = {};

    if (object == null) {
      return result;
    }

    var isDeep = false;
    paths = _$$_REQUIRE(_dependencyMap[1])(paths, function (path) {
      path = _$$_REQUIRE(_dependencyMap[2])(path, object);
      isDeep || (isDeep = path.length > 1);
      return path;
    });

    _$$_REQUIRE(_dependencyMap[3])(object, _$$_REQUIRE(_dependencyMap[4])(object), result);

    if (isDeep) {
      result = _$$_REQUIRE(_dependencyMap[5])(result, 7, _$$_REQUIRE(_dependencyMap[6]));
    }

    var length = paths.length;

    while (length--) {
      _$$_REQUIRE(_dependencyMap[7])(result, paths[length]);
    }

    return result;
  });

  module.exports = omit;
},1387,[1388,1365,1401,1431,1434,1444,1473,1475]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function flatRest(func) {
    return _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1])(func, undefined, _$$_REQUIRE(_dependencyMap[2])), func + '');
  }

  module.exports = flatRest;
},1388,[1389,1395,1397]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var setToString = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  module.exports = setToString;
},1389,[1390,1391]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var HOT_COUNT = 800,
      HOT_SPAN = 16;
  var nativeNow = Date.now;

  function shortOut(func) {
    var count = 0,
        lastCalled = 0;
    return function () {
      var stamp = nativeNow(),
          remaining = HOT_SPAN - (stamp - lastCalled);
      lastCalled = stamp;

      if (remaining > 0) {
        if (++count >= HOT_COUNT) {
          return arguments[0];
        }
      } else {
        count = 0;
      }

      return func.apply(undefined, arguments);
    };
  }

  module.exports = shortOut;
},1390,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var baseSetToString = !_$$_REQUIRE(_dependencyMap[0]) ? _$$_REQUIRE(_dependencyMap[1]) : function (func, string) {
    return _$$_REQUIRE(_dependencyMap[0])(func, 'toString', {
      'configurable': true,
      'enumerable': false,
      'value': _$$_REQUIRE(_dependencyMap[2])(string),
      'writable': true
    });
  };
  module.exports = baseSetToString;
},1391,[1392,1393,1394]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var defineProperty = function () {
    try {
      var func = _$$_REQUIRE(_dependencyMap[0])(Object, 'defineProperty');

      func({}, '', {});
      return func;
    } catch (e) {}
  }();

  module.exports = defineProperty;
},1392,[1344]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function identity(value) {
    return value;
  }

  module.exports = identity;
},1393,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function constant(value) {
    return function () {
      return value;
    };
  }

  module.exports = constant;
},1394,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var nativeMax = Math.max;

  function overRest(func, start, transform) {
    start = nativeMax(start === undefined ? func.length - 1 : start, 0);
    return function () {
      var args = arguments,
          index = -1,
          length = nativeMax(args.length - start, 0),
          array = Array(length);

      while (++index < length) {
        array[index] = args[start + index];
      }

      index = -1;
      var otherArgs = Array(start + 1);

      while (++index < start) {
        otherArgs[index] = args[index];
      }

      otherArgs[start] = transform(array);
      return _$$_REQUIRE(_dependencyMap[0])(func, this, otherArgs);
    };
  }

  module.exports = overRest;
},1395,[1396]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function apply(func, thisArg, args) {
    switch (args.length) {
      case 0:
        return func.call(thisArg);

      case 1:
        return func.call(thisArg, args[0]);

      case 2:
        return func.call(thisArg, args[0], args[1]);

      case 3:
        return func.call(thisArg, args[0], args[1], args[2]);
    }

    return func.apply(thisArg, args);
  }

  module.exports = apply;
},1396,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function flatten(array) {
    var length = array == null ? 0 : array.length;
    return length ? _$$_REQUIRE(_dependencyMap[0])(array, 1) : [];
  }

  module.exports = flatten;
},1397,[1398]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseFlatten(array, depth, predicate, isStrict, result) {
    var index = -1,
        length = array.length;
    predicate || (predicate = _$$_REQUIRE(_dependencyMap[0]));
    result || (result = []);

    while (++index < length) {
      var value = array[index];

      if (depth > 0 && predicate(value)) {
        if (depth > 1) {
          baseFlatten(value, depth - 1, predicate, isStrict, result);
        } else {
          _$$_REQUIRE(_dependencyMap[1])(result, value);
        }
      } else if (!isStrict) {
        result[result.length] = value;
      }
    }

    return result;
  }

  module.exports = baseFlatten;
},1398,[1399,1400]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var spreadableSymbol = _$$_REQUIRE(_dependencyMap[0]) ? _$$_REQUIRE(_dependencyMap[0]).isConcatSpreadable : undefined;

  function isFlattenable(value) {
    return _$$_REQUIRE(_dependencyMap[1])(value) || _$$_REQUIRE(_dependencyMap[2])(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
  }

  module.exports = isFlattenable;
},1399,[1326,1331,1339]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function arrayPush(array, values) {
    var index = -1,
        length = values.length,
        offset = array.length;

    while (++index < length) {
      array[offset + index] = values[index];
    }

    return array;
  }

  module.exports = arrayPush;
},1400,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function castPath(value, object) {
    if (_$$_REQUIRE(_dependencyMap[0])(value)) {
      return value;
    }

    return _$$_REQUIRE(_dependencyMap[1])(value, object) ? [value] : _$$_REQUIRE(_dependencyMap[2])(_$$_REQUIRE(_dependencyMap[3])(value));
  }

  module.exports = castPath;
},1401,[1331,1402,1403,1429]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
      reIsPlainProp = /^\w*$/;

  function isKey(value, object) {
    if (_$$_REQUIRE(_dependencyMap[0])(value)) {
      return false;
    }

    var type = typeof value;

    if (type == 'number' || type == 'symbol' || type == 'boolean' || value == null || _$$_REQUIRE(_dependencyMap[1])(value)) {
      return true;
    }

    return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
  }

  module.exports = isKey;
},1402,[1331,1373]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
  var reEscapeChar = /\\(\\)?/g;

  var stringToPath = _$$_REQUIRE(_dependencyMap[0])(function (string) {
    var result = [];

    if (string.charCodeAt(0) === 46) {
      result.push('');
    }

    string.replace(rePropName, function (match, number, quote, subString) {
      result.push(quote ? subString.replace(reEscapeChar, '$1') : number || match);
    });
    return result;
  });

  module.exports = stringToPath;
},1403,[1404]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var MAX_MEMOIZE_SIZE = 500;

  function memoizeCapped(func) {
    var result = _$$_REQUIRE(_dependencyMap[0])(func, function (key) {
      if (cache.size === MAX_MEMOIZE_SIZE) {
        cache.clear();
      }

      return key;
    });

    var cache = result.cache;
    return result;
  }

  module.exports = memoizeCapped;
},1404,[1405]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var FUNC_ERROR_TEXT = 'Expected a function';

  function memoize(func, resolver) {
    if (typeof func != 'function' || resolver != null && typeof resolver != 'function') {
      throw new TypeError(FUNC_ERROR_TEXT);
    }

    var memoized = function memoized() {
      var args = arguments,
          key = resolver ? resolver.apply(this, args) : args[0],
          cache = memoized.cache;

      if (cache.has(key)) {
        return cache.get(key);
      }

      var result = func.apply(this, args);
      memoized.cache = cache.set(key, result) || cache;
      return result;
    };

    memoized.cache = new (memoize.Cache || _$$_REQUIRE(_dependencyMap[0]))();
    return memoized;
  }

  memoize.Cache = _$$_REQUIRE(_dependencyMap[0]);
  module.exports = memoize;
},1405,[1406]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function MapCache(entries) {
    var index = -1,
        length = entries == null ? 0 : entries.length;
    this.clear();

    while (++index < length) {
      var entry = entries[index];
      this.set(entry[0], entry[1]);
    }
  }

  MapCache.prototype.clear = _$$_REQUIRE(_dependencyMap[0]);
  MapCache.prototype['delete'] = _$$_REQUIRE(_dependencyMap[1]);
  MapCache.prototype.get = _$$_REQUIRE(_dependencyMap[2]);
  MapCache.prototype.has = _$$_REQUIRE(_dependencyMap[3]);
  MapCache.prototype.set = _$$_REQUIRE(_dependencyMap[4]);
  module.exports = MapCache;
},1406,[1407,1423,1426,1427,1428]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function mapCacheClear() {
    this.size = 0;
    this.__data__ = {
      'hash': new (_$$_REQUIRE(_dependencyMap[0]))(),
      'map': new (_$$_REQUIRE(_dependencyMap[1]) || _$$_REQUIRE(_dependencyMap[2]))(),
      'string': new (_$$_REQUIRE(_dependencyMap[0]))()
    };
  }

  module.exports = mapCacheClear;
},1407,[1408,1349,1415]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function Hash(entries) {
    var index = -1,
        length = entries == null ? 0 : entries.length;
    this.clear();

    while (++index < length) {
      var entry = entries[index];
      this.set(entry[0], entry[1]);
    }
  }

  Hash.prototype.clear = _$$_REQUIRE(_dependencyMap[0]);
  Hash.prototype['delete'] = _$$_REQUIRE(_dependencyMap[1]);
  Hash.prototype.get = _$$_REQUIRE(_dependencyMap[2]);
  Hash.prototype.has = _$$_REQUIRE(_dependencyMap[3]);
  Hash.prototype.set = _$$_REQUIRE(_dependencyMap[4]);
  module.exports = Hash;
},1408,[1409,1411,1412,1413,1414]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function hashClear() {
    this.__data__ = _$$_REQUIRE(_dependencyMap[0]) ? _$$_REQUIRE(_dependencyMap[0])(null) : {};
    this.size = 0;
  }

  module.exports = hashClear;
},1409,[1410]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var nativeCreate = _$$_REQUIRE(_dependencyMap[0])(Object, 'create');

  module.exports = nativeCreate;
},1410,[1344]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function hashDelete(key) {
    var result = this.has(key) && delete this.__data__[key];
    this.size -= result ? 1 : 0;
    return result;
  }

  module.exports = hashDelete;
},1411,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var HASH_UNDEFINED = '__lodash_hash_undefined__';
  var objectProto = Object.prototype;
  var hasOwnProperty = objectProto.hasOwnProperty;

  function hashGet(key) {
    var data = this.__data__;

    if (_$$_REQUIRE(_dependencyMap[0])) {
      var result = data[key];
      return result === HASH_UNDEFINED ? undefined : result;
    }

    return hasOwnProperty.call(data, key) ? data[key] : undefined;
  }

  module.exports = hashGet;
},1412,[1410]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var objectProto = Object.prototype;
  var hasOwnProperty = objectProto.hasOwnProperty;

  function hashHas(key) {
    var data = this.__data__;
    return _$$_REQUIRE(_dependencyMap[0]) ? data[key] !== undefined : hasOwnProperty.call(data, key);
  }

  module.exports = hashHas;
},1413,[1410]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var HASH_UNDEFINED = '__lodash_hash_undefined__';

  function hashSet(key, value) {
    var data = this.__data__;
    this.size += this.has(key) ? 0 : 1;
    data[key] = _$$_REQUIRE(_dependencyMap[0]) && value === undefined ? HASH_UNDEFINED : value;
    return this;
  }

  module.exports = hashSet;
},1414,[1410]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function ListCache(entries) {
    var index = -1,
        length = entries == null ? 0 : entries.length;
    this.clear();

    while (++index < length) {
      var entry = entries[index];
      this.set(entry[0], entry[1]);
    }
  }

  ListCache.prototype.clear = _$$_REQUIRE(_dependencyMap[0]);
  ListCache.prototype['delete'] = _$$_REQUIRE(_dependencyMap[1]);
  ListCache.prototype.get = _$$_REQUIRE(_dependencyMap[2]);
  ListCache.prototype.has = _$$_REQUIRE(_dependencyMap[3]);
  ListCache.prototype.set = _$$_REQUIRE(_dependencyMap[4]);
  module.exports = ListCache;
},1415,[1416,1417,1420,1421,1422]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function listCacheClear() {
    this.__data__ = [];
    this.size = 0;
  }

  module.exports = listCacheClear;
},1416,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var arrayProto = Array.prototype;
  var splice = arrayProto.splice;

  function listCacheDelete(key) {
    var data = this.__data__,
        index = _$$_REQUIRE(_dependencyMap[0])(data, key);

    if (index < 0) {
      return false;
    }

    var lastIndex = data.length - 1;

    if (index == lastIndex) {
      data.pop();
    } else {
      splice.call(data, index, 1);
    }

    --this.size;
    return true;
  }

  module.exports = listCacheDelete;
},1417,[1418]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function assocIndexOf(array, key) {
    var length = array.length;

    while (length--) {
      if (_$$_REQUIRE(_dependencyMap[0])(array[length][0], key)) {
        return length;
      }
    }

    return -1;
  }

  module.exports = assocIndexOf;
},1418,[1419]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function eq(value, other) {
    return value === other || value !== value && other !== other;
  }

  module.exports = eq;
},1419,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function listCacheGet(key) {
    var data = this.__data__,
        index = _$$_REQUIRE(_dependencyMap[0])(data, key);

    return index < 0 ? undefined : data[index][1];
  }

  module.exports = listCacheGet;
},1420,[1418]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function listCacheHas(key) {
    return _$$_REQUIRE(_dependencyMap[0])(this.__data__, key) > -1;
  }

  module.exports = listCacheHas;
},1421,[1418]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function listCacheSet(key, value) {
    var data = this.__data__,
        index = _$$_REQUIRE(_dependencyMap[0])(data, key);

    if (index < 0) {
      ++this.size;
      data.push([key, value]);
    } else {
      data[index][1] = value;
    }

    return this;
  }

  module.exports = listCacheSet;
},1422,[1418]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function mapCacheDelete(key) {
    var result = _$$_REQUIRE(_dependencyMap[0])(this, key)['delete'](key);

    this.size -= result ? 1 : 0;
    return result;
  }

  module.exports = mapCacheDelete;
},1423,[1424]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function getMapData(map, key) {
    var data = map.__data__;
    return _$$_REQUIRE(_dependencyMap[0])(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map;
  }

  module.exports = getMapData;
},1424,[1425]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function isKeyable(value) {
    var type = typeof value;
    return type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean' ? value !== '__proto__' : value === null;
  }

  module.exports = isKeyable;
},1425,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function mapCacheGet(key) {
    return _$$_REQUIRE(_dependencyMap[0])(this, key).get(key);
  }

  module.exports = mapCacheGet;
},1426,[1424]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function mapCacheHas(key) {
    return _$$_REQUIRE(_dependencyMap[0])(this, key).has(key);
  }

  module.exports = mapCacheHas;
},1427,[1424]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function mapCacheSet(key, value) {
    var data = _$$_REQUIRE(_dependencyMap[0])(this, key),
        size = data.size;

    data.set(key, value);
    this.size += data.size == size ? 0 : 1;
    return this;
  }

  module.exports = mapCacheSet;
},1428,[1424]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function toString(value) {
    return value == null ? '' : _$$_REQUIRE(_dependencyMap[0])(value);
  }

  module.exports = toString;
},1429,[1430]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var INFINITY = 1 / 0;
  var symbolProto = _$$_REQUIRE(_dependencyMap[0]) ? _$$_REQUIRE(_dependencyMap[0]).prototype : undefined,
      symbolToString = symbolProto ? symbolProto.toString : undefined;

  function baseToString(value) {
    if (typeof value == 'string') {
      return value;
    }

    if (_$$_REQUIRE(_dependencyMap[1])(value)) {
      return _$$_REQUIRE(_dependencyMap[2])(value, baseToString) + '';
    }

    if (_$$_REQUIRE(_dependencyMap[3])(value)) {
      return symbolToString ? symbolToString.call(value) : '';
    }

    var result = value + '';
    return result == '0' && 1 / value == -(1 / 0) ? '-0' : result;
  }

  module.exports = baseToString;
},1430,[1326,1331,1365,1373]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function copyObject(source, props, object, customizer) {
    var isNew = !object;
    object || (object = {});
    var index = -1,
        length = props.length;

    while (++index < length) {
      var key = props[index];
      var newValue = customizer ? customizer(object[key], source[key], key, object, source) : undefined;

      if (newValue === undefined) {
        newValue = source[key];
      }

      if (isNew) {
        _$$_REQUIRE(_dependencyMap[0])(object, key, newValue);
      } else {
        _$$_REQUIRE(_dependencyMap[1])(object, key, newValue);
      }
    }

    return object;
  }

  module.exports = copyObject;
},1431,[1432,1433]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseAssignValue(object, key, value) {
    if (key == '__proto__' && _$$_REQUIRE(_dependencyMap[0])) {
      _$$_REQUIRE(_dependencyMap[0])(object, key, {
        'configurable': true,
        'enumerable': true,
        'value': value,
        'writable': true
      });
    } else {
      object[key] = value;
    }
  }

  module.exports = baseAssignValue;
},1432,[1392]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var objectProto = Object.prototype;
  var hasOwnProperty = objectProto.hasOwnProperty;

  function assignValue(object, key, value) {
    var objValue = object[key];

    if (!(hasOwnProperty.call(object, key) && _$$_REQUIRE(_dependencyMap[0])(objValue, value)) || value === undefined && !(key in object)) {
      _$$_REQUIRE(_dependencyMap[1])(object, key, value);
    }
  }

  module.exports = assignValue;
},1433,[1419,1432]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function getAllKeysIn(object) {
    return _$$_REQUIRE(_dependencyMap[0])(object, _$$_REQUIRE(_dependencyMap[1]), _$$_REQUIRE(_dependencyMap[2]));
  }

  module.exports = getAllKeysIn;
},1434,[1435,1436,1439]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseGetAllKeys(object, keysFunc, symbolsFunc) {
    var result = keysFunc(object);
    return _$$_REQUIRE(_dependencyMap[0])(object) ? result : _$$_REQUIRE(_dependencyMap[1])(result, symbolsFunc(object));
  }

  module.exports = baseGetAllKeys;
},1435,[1331,1400]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function keysIn(object) {
    return _$$_REQUIRE(_dependencyMap[0])(object) ? _$$_REQUIRE(_dependencyMap[1])(object, true) : _$$_REQUIRE(_dependencyMap[2])(object);
  }

  module.exports = keysIn;
},1436,[1321,1367,1437]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var objectProto = Object.prototype;
  var hasOwnProperty = objectProto.hasOwnProperty;

  function baseKeysIn(object) {
    if (!_$$_REQUIRE(_dependencyMap[0])(object)) {
      return _$$_REQUIRE(_dependencyMap[1])(object);
    }

    var isProto = _$$_REQUIRE(_dependencyMap[2])(object),
        result = [];

    for (var key in object) {
      if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {
        result.push(key);
      }
    }

    return result;
  }

  module.exports = baseKeysIn;
},1437,[1324,1438,1353]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function nativeKeysIn(object) {
    var result = [];

    if (object != null) {
      for (var key in Object(object)) {
        result.push(key);
      }
    }

    return result;
  }

  module.exports = nativeKeysIn;
},1438,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var nativeGetSymbols = Object.getOwnPropertySymbols;
  var getSymbolsIn = !nativeGetSymbols ? _$$_REQUIRE(_dependencyMap[0]) : function (object) {
    var result = [];

    while (object) {
      _$$_REQUIRE(_dependencyMap[1])(result, _$$_REQUIRE(_dependencyMap[2])(object));

      object = _$$_REQUIRE(_dependencyMap[3])(object);
    }

    return result;
  };
  module.exports = getSymbolsIn;
},1439,[1440,1400,1441,1443]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function stubArray() {
    return [];
  }

  module.exports = stubArray;
},1440,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var objectProto = Object.prototype;
  var propertyIsEnumerable = objectProto.propertyIsEnumerable;
  var nativeGetSymbols = Object.getOwnPropertySymbols;
  var getSymbols = !nativeGetSymbols ? _$$_REQUIRE(_dependencyMap[0]) : function (object) {
    if (object == null) {
      return [];
    }

    object = Object(object);
    return _$$_REQUIRE(_dependencyMap[1])(nativeGetSymbols(object), function (symbol) {
      return propertyIsEnumerable.call(object, symbol);
    });
  };
  module.exports = getSymbols;
},1441,[1440,1442]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function arrayFilter(array, predicate) {
    var index = -1,
        length = array == null ? 0 : array.length,
        resIndex = 0,
        result = [];

    while (++index < length) {
      var value = array[index];

      if (predicate(value, index, array)) {
        result[resIndex++] = value;
      }
    }

    return result;
  }

  module.exports = arrayFilter;
},1442,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var getPrototype = _$$_REQUIRE(_dependencyMap[0])(Object.getPrototypeOf, Object);

  module.exports = getPrototype;
},1443,[1356]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var CLONE_DEEP_FLAG = 1,
      CLONE_FLAT_FLAG = 2,
      CLONE_SYMBOLS_FLAG = 4;
  var argsTag = '[object Arguments]',
      arrayTag = '[object Array]',
      boolTag = '[object Boolean]',
      dateTag = '[object Date]',
      errorTag = '[object Error]',
      funcTag = '[object Function]',
      genTag = '[object GeneratorFunction]',
      mapTag = '[object Map]',
      numberTag = '[object Number]',
      objectTag = '[object Object]',
      regexpTag = '[object RegExp]',
      setTag = '[object Set]',
      stringTag = '[object String]',
      symbolTag = '[object Symbol]',
      weakMapTag = '[object WeakMap]';
  var arrayBufferTag = '[object ArrayBuffer]',
      dataViewTag = '[object DataView]',
      float32Tag = '[object Float32Array]',
      float64Tag = '[object Float64Array]',
      int8Tag = '[object Int8Array]',
      int16Tag = '[object Int16Array]',
      int32Tag = '[object Int32Array]',
      uint8Tag = '[object Uint8Array]',
      uint8ClampedTag = '[object Uint8ClampedArray]',
      uint16Tag = '[object Uint16Array]',
      uint32Tag = '[object Uint32Array]';
  var cloneableTags = {};
  cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = cloneableTags[boolTag] = cloneableTags[dateTag] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag] = cloneableTags[numberTag] = cloneableTags[objectTag] = cloneableTags[regexpTag] = cloneableTags[setTag] = cloneableTags[stringTag] = cloneableTags[symbolTag] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
  cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false;

  function baseClone(value, bitmask, customizer, key, object, stack) {
    var result,
        isDeep = bitmask & CLONE_DEEP_FLAG,
        isFlat = bitmask & CLONE_FLAT_FLAG,
        isFull = bitmask & CLONE_SYMBOLS_FLAG;

    if (customizer) {
      result = object ? customizer(value, key, object, stack) : customizer(value);
    }

    if (result !== undefined) {
      return result;
    }

    if (!_$$_REQUIRE(_dependencyMap[0])(value)) {
      return value;
    }

    var isArr = _$$_REQUIRE(_dependencyMap[1])(value);

    if (isArr) {
      result = _$$_REQUIRE(_dependencyMap[2])(value);

      if (!isDeep) {
        return _$$_REQUIRE(_dependencyMap[3])(value, result);
      }
    } else {
      var tag = _$$_REQUIRE(_dependencyMap[4])(value),
          isFunc = tag == funcTag || tag == genTag;

      if (_$$_REQUIRE(_dependencyMap[5])(value)) {
        return _$$_REQUIRE(_dependencyMap[6])(value, isDeep);
      }

      if (tag == objectTag || tag == argsTag || isFunc && !object) {
        result = isFlat || isFunc ? {} : _$$_REQUIRE(_dependencyMap[7])(value);

        if (!isDeep) {
          return isFlat ? _$$_REQUIRE(_dependencyMap[8])(value, _$$_REQUIRE(_dependencyMap[9])(result, value)) : _$$_REQUIRE(_dependencyMap[10])(value, _$$_REQUIRE(_dependencyMap[11])(result, value));
        }
      } else {
        if (!cloneableTags[tag]) {
          return object ? value : {};
        }

        result = _$$_REQUIRE(_dependencyMap[12])(value, tag, isDeep);
      }
    }

    stack || (stack = new (_$$_REQUIRE(_dependencyMap[13]))());
    var stacked = stack.get(value);

    if (stacked) {
      return stacked;
    }

    stack.set(value, result);

    if (_$$_REQUIRE(_dependencyMap[14])(value)) {
      value.forEach(function (subValue) {
        result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));
      });
    } else if (_$$_REQUIRE(_dependencyMap[15])(value)) {
      value.forEach(function (subValue, key) {
        result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));
      });
    }

    var keysFunc = isFull ? isFlat ? _$$_REQUIRE(_dependencyMap[16]) : _$$_REQUIRE(_dependencyMap[17]) : isFlat ? _$$_REQUIRE(_dependencyMap[18]) : _$$_REQUIRE(_dependencyMap[19]);
    var props = isArr ? undefined : keysFunc(value);

    _$$_REQUIRE(_dependencyMap[20])(props || value, function (subValue, key) {
      if (props) {
        key = subValue;
        subValue = value[key];
      }

      _$$_REQUIRE(_dependencyMap[21])(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));
    });

    return result;
  }

  module.exports = baseClone;
},1444,[1324,1331,1445,1446,1341,1332,1447,1448,1450,1451,1452,1453,1454,1461,1467,1469,1434,1471,1436,1366,1472,1433]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var objectProto = Object.prototype;
  var hasOwnProperty = objectProto.hasOwnProperty;

  function initCloneArray(array) {
    var length = array.length,
        result = new array.constructor(length);

    if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {
      result.index = array.index;
      result.input = array.input;
    }

    return result;
  }

  module.exports = initCloneArray;
},1445,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function copyArray(source, array) {
    var index = -1,
        length = source.length;
    array || (array = Array(length));

    while (++index < length) {
      array[index] = source[index];
    }

    return array;
  }

  module.exports = copyArray;
},1446,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;
  var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;
  var moduleExports = freeModule && freeModule.exports === freeExports;
  var Buffer = moduleExports ? _$$_REQUIRE(_dependencyMap[0]).Buffer : undefined,
      allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;

  function cloneBuffer(buffer, isDeep) {
    if (isDeep) {
      return buffer.slice();
    }

    var length = buffer.length,
        result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
    buffer.copy(result);
    return result;
  }

  module.exports = cloneBuffer;
},1447,[1327]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function initCloneObject(object) {
    return typeof object.constructor == 'function' && !_$$_REQUIRE(_dependencyMap[0])(object) ? _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2])(object)) : {};
  }

  module.exports = initCloneObject;
},1448,[1353,1449,1443]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var objectCreate = Object.create;

  var baseCreate = function () {
    function object() {}

    return function (proto) {
      if (!_$$_REQUIRE(_dependencyMap[0])(proto)) {
        return {};
      }

      if (objectCreate) {
        return objectCreate(proto);
      }

      object.prototype = proto;
      var result = new object();
      object.prototype = undefined;
      return result;
    };
  }();

  module.exports = baseCreate;
},1449,[1324]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function copySymbolsIn(source, object) {
    return _$$_REQUIRE(_dependencyMap[0])(source, _$$_REQUIRE(_dependencyMap[1])(source), object);
  }

  module.exports = copySymbolsIn;
},1450,[1431,1439]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseAssignIn(object, source) {
    return object && _$$_REQUIRE(_dependencyMap[0])(source, _$$_REQUIRE(_dependencyMap[1])(source), object);
  }

  module.exports = baseAssignIn;
},1451,[1431,1436]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function copySymbols(source, object) {
    return _$$_REQUIRE(_dependencyMap[0])(source, _$$_REQUIRE(_dependencyMap[1])(source), object);
  }

  module.exports = copySymbols;
},1452,[1431,1441]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseAssign(object, source) {
    return object && _$$_REQUIRE(_dependencyMap[0])(source, _$$_REQUIRE(_dependencyMap[1])(source), object);
  }

  module.exports = baseAssign;
},1453,[1431,1366]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var boolTag = '[object Boolean]',
      dateTag = '[object Date]',
      mapTag = '[object Map]',
      numberTag = '[object Number]',
      regexpTag = '[object RegExp]',
      setTag = '[object Set]',
      stringTag = '[object String]',
      symbolTag = '[object Symbol]';
  var arrayBufferTag = '[object ArrayBuffer]',
      dataViewTag = '[object DataView]',
      float32Tag = '[object Float32Array]',
      float64Tag = '[object Float64Array]',
      int8Tag = '[object Int8Array]',
      int16Tag = '[object Int16Array]',
      int32Tag = '[object Int32Array]',
      uint8Tag = '[object Uint8Array]',
      uint8ClampedTag = '[object Uint8ClampedArray]',
      uint16Tag = '[object Uint16Array]',
      uint32Tag = '[object Uint32Array]';

  function initCloneByTag(object, tag, isDeep) {
    var Ctor = object.constructor;

    switch (tag) {
      case arrayBufferTag:
        return _$$_REQUIRE(_dependencyMap[0])(object);

      case boolTag:
      case dateTag:
        return new Ctor(+object);

      case dataViewTag:
        return _$$_REQUIRE(_dependencyMap[1])(object, isDeep);

      case float32Tag:
      case float64Tag:
      case int8Tag:
      case int16Tag:
      case int32Tag:
      case uint8Tag:
      case uint8ClampedTag:
      case uint16Tag:
      case uint32Tag:
        return _$$_REQUIRE(_dependencyMap[2])(object, isDeep);

      case mapTag:
        return new Ctor();

      case numberTag:
      case stringTag:
        return new Ctor(object);

      case regexpTag:
        return _$$_REQUIRE(_dependencyMap[3])(object);

      case setTag:
        return new Ctor();

      case symbolTag:
        return _$$_REQUIRE(_dependencyMap[4])(object);
    }
  }

  module.exports = initCloneByTag;
},1454,[1455,1457,1458,1459,1460]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function cloneArrayBuffer(arrayBuffer) {
    var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
    new (_$$_REQUIRE(_dependencyMap[0]))(result).set(new (_$$_REQUIRE(_dependencyMap[0]))(arrayBuffer));
    return result;
  }

  module.exports = cloneArrayBuffer;
},1455,[1456]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).Uint8Array;
},1456,[1327]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function cloneDataView(dataView, isDeep) {
    var buffer = isDeep ? _$$_REQUIRE(_dependencyMap[0])(dataView.buffer) : dataView.buffer;
    return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
  }

  module.exports = cloneDataView;
},1457,[1455]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function cloneTypedArray(typedArray, isDeep) {
    var buffer = isDeep ? _$$_REQUIRE(_dependencyMap[0])(typedArray.buffer) : typedArray.buffer;
    return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
  }

  module.exports = cloneTypedArray;
},1458,[1455]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var reFlags = /\w*$/;

  function cloneRegExp(regexp) {
    var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
    result.lastIndex = regexp.lastIndex;
    return result;
  }

  module.exports = cloneRegExp;
},1459,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var symbolProto = _$$_REQUIRE(_dependencyMap[0]) ? _$$_REQUIRE(_dependencyMap[0]).prototype : undefined,
      symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;

  function cloneSymbol(symbol) {
    return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};
  }

  module.exports = cloneSymbol;
},1460,[1326]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function Stack(entries) {
    var data = this.__data__ = new (_$$_REQUIRE(_dependencyMap[0]))(entries);
    this.size = data.size;
  }

  Stack.prototype.clear = _$$_REQUIRE(_dependencyMap[1]);
  Stack.prototype['delete'] = _$$_REQUIRE(_dependencyMap[2]);
  Stack.prototype.get = _$$_REQUIRE(_dependencyMap[3]);
  Stack.prototype.has = _$$_REQUIRE(_dependencyMap[4]);
  Stack.prototype.set = _$$_REQUIRE(_dependencyMap[5]);
  module.exports = Stack;
},1461,[1415,1462,1463,1464,1465,1466]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function stackClear() {
    this.__data__ = new (_$$_REQUIRE(_dependencyMap[0]))();
    this.size = 0;
  }

  module.exports = stackClear;
},1462,[1415]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function stackDelete(key) {
    var data = this.__data__,
        result = data['delete'](key);
    this.size = data.size;
    return result;
  }

  module.exports = stackDelete;
},1463,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function stackGet(key) {
    return this.__data__.get(key);
  }

  module.exports = stackGet;
},1464,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function stackHas(key) {
    return this.__data__.has(key);
  }

  module.exports = stackHas;
},1465,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var LARGE_ARRAY_SIZE = 200;

  function stackSet(key, value) {
    var data = this.__data__;

    if (data instanceof _$$_REQUIRE(_dependencyMap[0])) {
      var pairs = data.__data__;

      if (!_$$_REQUIRE(_dependencyMap[1]) || pairs.length < 199) {
        pairs.push([key, value]);
        this.size = ++data.size;
        return this;
      }

      data = this.__data__ = new (_$$_REQUIRE(_dependencyMap[2]))(pairs);
    }

    data.set(key, value);
    this.size = data.size;
    return this;
  }

  module.exports = stackSet;
},1466,[1415,1349,1406]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var nodeIsSet = _$$_REQUIRE(_dependencyMap[0]) && _$$_REQUIRE(_dependencyMap[0]).isSet;

  var isSet = nodeIsSet ? _$$_REQUIRE(_dependencyMap[1])(nodeIsSet) : _$$_REQUIRE(_dependencyMap[2]);
  module.exports = isSet;
},1467,[1335,1336,1468]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var setTag = '[object Set]';

  function baseIsSet(value) {
    return _$$_REQUIRE(_dependencyMap[0])(value) && _$$_REQUIRE(_dependencyMap[1])(value) == setTag;
  }

  module.exports = baseIsSet;
},1468,[1338,1341]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var nodeIsMap = _$$_REQUIRE(_dependencyMap[0]) && _$$_REQUIRE(_dependencyMap[0]).isMap;

  var isMap = nodeIsMap ? _$$_REQUIRE(_dependencyMap[1])(nodeIsMap) : _$$_REQUIRE(_dependencyMap[2]);
  module.exports = isMap;
},1469,[1335,1336,1470]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var mapTag = '[object Map]';

  function baseIsMap(value) {
    return _$$_REQUIRE(_dependencyMap[0])(value) && _$$_REQUIRE(_dependencyMap[1])(value) == mapTag;
  }

  module.exports = baseIsMap;
},1470,[1338,1341]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function getAllKeys(object) {
    return _$$_REQUIRE(_dependencyMap[0])(object, _$$_REQUIRE(_dependencyMap[1]), _$$_REQUIRE(_dependencyMap[2]));
  }

  module.exports = getAllKeys;
},1471,[1435,1366,1441]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function arrayEach(array, iteratee) {
    var index = -1,
        length = array == null ? 0 : array.length;

    while (++index < length) {
      if (iteratee(array[index], index, array) === false) {
        break;
      }
    }

    return array;
  }

  module.exports = arrayEach;
},1472,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function customOmitClone(value) {
    return _$$_REQUIRE(_dependencyMap[0])(value) ? undefined : value;
  }

  module.exports = customOmitClone;
},1473,[1474]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var objectTag = '[object Object]';
  var funcProto = Function.prototype,
      objectProto = Object.prototype;
  var funcToString = funcProto.toString;
  var hasOwnProperty = objectProto.hasOwnProperty;
  var objectCtorString = funcToString.call(Object);

  function isPlainObject(value) {
    if (!_$$_REQUIRE(_dependencyMap[0])(value) || _$$_REQUIRE(_dependencyMap[1])(value) != objectTag) {
      return false;
    }

    var proto = _$$_REQUIRE(_dependencyMap[2])(value);

    if (proto === null) {
      return true;
    }

    var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;
    return typeof Ctor == 'function' && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
  }

  module.exports = isPlainObject;
},1474,[1338,1325,1443]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseUnset(object, path) {
    path = _$$_REQUIRE(_dependencyMap[0])(path, object);
    object = _$$_REQUIRE(_dependencyMap[1])(object, path);
    return object == null || delete object[_$$_REQUIRE(_dependencyMap[2])(_$$_REQUIRE(_dependencyMap[3])(path))];
  }

  module.exports = baseUnset;
},1475,[1401,1476,1478,1480]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function parent(object, path) {
    return path.length < 2 ? object : _$$_REQUIRE(_dependencyMap[0])(object, _$$_REQUIRE(_dependencyMap[1])(path, 0, -1));
  }

  module.exports = parent;
},1476,[1477,1479]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseGet(object, path) {
    path = _$$_REQUIRE(_dependencyMap[0])(path, object);
    var index = 0,
        length = path.length;

    while (object != null && index < length) {
      object = object[_$$_REQUIRE(_dependencyMap[1])(path[index++])];
    }

    return index && index == length ? object : undefined;
  }

  module.exports = baseGet;
},1477,[1401,1478]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var INFINITY = 1 / 0;

  function toKey(value) {
    if (typeof value == 'string' || _$$_REQUIRE(_dependencyMap[0])(value)) {
      return value;
    }

    var result = value + '';
    return result == '0' && 1 / value == -(1 / 0) ? '-0' : result;
  }

  module.exports = toKey;
},1478,[1373]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseSlice(array, start, end) {
    var index = -1,
        length = array.length;

    if (start < 0) {
      start = -start > length ? 0 : length + start;
    }

    end = end > length ? length : end;

    if (end < 0) {
      end += length;
    }

    length = start > end ? 0 : end - start >>> 0;
    start >>>= 0;
    var result = Array(length);

    while (++index < length) {
      result[index] = array[index + start];
    }

    return result;
  }

  module.exports = baseSlice;
},1479,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function last(array) {
    var length = array == null ? 0 : array.length;
    return length ? array[length - 1] : undefined;
  }

  module.exports = last;
},1480,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function isEqual(value, other) {
    return _$$_REQUIRE(_dependencyMap[0])(value, other);
  }

  module.exports = isEqual;
},1481,[1482]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseIsEqual(value, other, bitmask, customizer, stack) {
    if (value === other) {
      return true;
    }

    if (value == null || other == null || !_$$_REQUIRE(_dependencyMap[0])(value) && !_$$_REQUIRE(_dependencyMap[0])(other)) {
      return value !== value && other !== other;
    }

    return _$$_REQUIRE(_dependencyMap[1])(value, other, bitmask, customizer, baseIsEqual, stack);
  }

  module.exports = baseIsEqual;
},1482,[1338,1483]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var COMPARE_PARTIAL_FLAG = 1;
  var argsTag = '[object Arguments]',
      arrayTag = '[object Array]',
      objectTag = '[object Object]';
  var objectProto = Object.prototype;
  var hasOwnProperty = objectProto.hasOwnProperty;

  function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
    var objIsArr = _$$_REQUIRE(_dependencyMap[0])(object),
        othIsArr = _$$_REQUIRE(_dependencyMap[0])(other),
        objTag = objIsArr ? arrayTag : _$$_REQUIRE(_dependencyMap[1])(object),
        othTag = othIsArr ? arrayTag : _$$_REQUIRE(_dependencyMap[1])(other);

    objTag = objTag == argsTag ? objectTag : objTag;
    othTag = othTag == argsTag ? objectTag : othTag;
    var objIsObj = objTag == objectTag,
        othIsObj = othTag == objectTag,
        isSameTag = objTag == othTag;

    if (isSameTag && _$$_REQUIRE(_dependencyMap[2])(object)) {
      if (!_$$_REQUIRE(_dependencyMap[2])(other)) {
        return false;
      }

      objIsArr = true;
      objIsObj = false;
    }

    if (isSameTag && !objIsObj) {
      stack || (stack = new (_$$_REQUIRE(_dependencyMap[3]))());
      return objIsArr || _$$_REQUIRE(_dependencyMap[4])(object) ? _$$_REQUIRE(_dependencyMap[5])(object, other, bitmask, customizer, equalFunc, stack) : _$$_REQUIRE(_dependencyMap[6])(object, other, objTag, bitmask, customizer, equalFunc, stack);
    }

    if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
      var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
          othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');

      if (objIsWrapped || othIsWrapped) {
        var objUnwrapped = objIsWrapped ? object.value() : object,
            othUnwrapped = othIsWrapped ? other.value() : other;
        stack || (stack = new (_$$_REQUIRE(_dependencyMap[3]))());
        return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
      }
    }

    if (!isSameTag) {
      return false;
    }

    stack || (stack = new (_$$_REQUIRE(_dependencyMap[3]))());
    return _$$_REQUIRE(_dependencyMap[7])(object, other, bitmask, customizer, equalFunc, stack);
  }

  module.exports = baseIsEqualDeep;
},1483,[1331,1341,1332,1461,1334,1484,1490,1493]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var COMPARE_PARTIAL_FLAG = 1,
      COMPARE_UNORDERED_FLAG = 2;

  function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
    var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
        arrLength = array.length,
        othLength = other.length;

    if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
      return false;
    }

    var arrStacked = stack.get(array);
    var othStacked = stack.get(other);

    if (arrStacked && othStacked) {
      return arrStacked == other && othStacked == array;
    }

    var index = -1,
        result = true,
        seen = bitmask & COMPARE_UNORDERED_FLAG ? new (_$$_REQUIRE(_dependencyMap[0]))() : undefined;
    stack.set(array, other);
    stack.set(other, array);

    while (++index < arrLength) {
      var arrValue = array[index],
          othValue = other[index];

      if (customizer) {
        var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);
      }

      if (compared !== undefined) {
        if (compared) {
          continue;
        }

        result = false;
        break;
      }

      if (seen) {
        if (!_$$_REQUIRE(_dependencyMap[1])(other, function (othValue, othIndex) {
          if (!_$$_REQUIRE(_dependencyMap[2])(seen, othIndex) && (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
            return seen.push(othIndex);
          }
        })) {
          result = false;
          break;
        }
      } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
        result = false;
        break;
      }
    }

    stack['delete'](array);
    stack['delete'](other);
    return result;
  }

  module.exports = equalArrays;
},1484,[1485,1488,1489]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function SetCache(values) {
    var index = -1,
        length = values == null ? 0 : values.length;
    this.__data__ = new (_$$_REQUIRE(_dependencyMap[0]))();

    while (++index < length) {
      this.add(values[index]);
    }
  }

  SetCache.prototype.add = SetCache.prototype.push = _$$_REQUIRE(_dependencyMap[1]);
  SetCache.prototype.has = _$$_REQUIRE(_dependencyMap[2]);
  module.exports = SetCache;
},1485,[1406,1486,1487]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var HASH_UNDEFINED = '__lodash_hash_undefined__';

  function setCacheAdd(value) {
    this.__data__.set(value, HASH_UNDEFINED);

    return this;
  }

  module.exports = setCacheAdd;
},1486,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function setCacheHas(value) {
    return this.__data__.has(value);
  }

  module.exports = setCacheHas;
},1487,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function arraySome(array, predicate) {
    var index = -1,
        length = array == null ? 0 : array.length;

    while (++index < length) {
      if (predicate(array[index], index, array)) {
        return true;
      }
    }

    return false;
  }

  module.exports = arraySome;
},1488,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function cacheHas(cache, key) {
    return cache.has(key);
  }

  module.exports = cacheHas;
},1489,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var COMPARE_PARTIAL_FLAG = 1,
      COMPARE_UNORDERED_FLAG = 2;
  var boolTag = '[object Boolean]',
      dateTag = '[object Date]',
      errorTag = '[object Error]',
      mapTag = '[object Map]',
      numberTag = '[object Number]',
      regexpTag = '[object RegExp]',
      setTag = '[object Set]',
      stringTag = '[object String]',
      symbolTag = '[object Symbol]';
  var arrayBufferTag = '[object ArrayBuffer]',
      dataViewTag = '[object DataView]';
  var symbolProto = _$$_REQUIRE(_dependencyMap[0]) ? _$$_REQUIRE(_dependencyMap[0]).prototype : undefined,
      symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;

  function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
    switch (tag) {
      case dataViewTag:
        if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {
          return false;
        }

        object = object.buffer;
        other = other.buffer;

      case arrayBufferTag:
        if (object.byteLength != other.byteLength || !equalFunc(new (_$$_REQUIRE(_dependencyMap[1]))(object), new (_$$_REQUIRE(_dependencyMap[1]))(other))) {
          return false;
        }

        return true;

      case boolTag:
      case dateTag:
      case numberTag:
        return _$$_REQUIRE(_dependencyMap[2])(+object, +other);

      case errorTag:
        return object.name == other.name && object.message == other.message;

      case regexpTag:
      case stringTag:
        return object == other + '';

      case mapTag:
        var convert = _$$_REQUIRE(_dependencyMap[3]);

      case setTag:
        var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
        convert || (convert = _$$_REQUIRE(_dependencyMap[4]));

        if (object.size != other.size && !isPartial) {
          return false;
        }

        var stacked = stack.get(object);

        if (stacked) {
          return stacked == other;
        }

        bitmask |= COMPARE_UNORDERED_FLAG;
        stack.set(object, other);

        var result = _$$_REQUIRE(_dependencyMap[5])(convert(object), convert(other), bitmask, customizer, equalFunc, stack);

        stack['delete'](object);
        return result;

      case symbolTag:
        if (symbolValueOf) {
          return symbolValueOf.call(object) == symbolValueOf.call(other);
        }

    }

    return false;
  }

  module.exports = equalByTag;
},1490,[1326,1456,1419,1491,1492,1484]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function mapToArray(map) {
    var index = -1,
        result = Array(map.size);
    map.forEach(function (value, key) {
      result[++index] = [key, value];
    });
    return result;
  }

  module.exports = mapToArray;
},1491,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function setToArray(set) {
    var index = -1,
        result = Array(set.size);
    set.forEach(function (value) {
      result[++index] = value;
    });
    return result;
  }

  module.exports = setToArray;
},1492,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var COMPARE_PARTIAL_FLAG = 1;
  var objectProto = Object.prototype;
  var hasOwnProperty = objectProto.hasOwnProperty;

  function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
    var isPartial = bitmask & COMPARE_PARTIAL_FLAG,
        objProps = _$$_REQUIRE(_dependencyMap[0])(object),
        objLength = objProps.length,
        othProps = _$$_REQUIRE(_dependencyMap[0])(other),
        othLength = othProps.length;

    if (objLength != othLength && !isPartial) {
      return false;
    }

    var index = objLength;

    while (index--) {
      var key = objProps[index];

      if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
        return false;
      }
    }

    var objStacked = stack.get(object);
    var othStacked = stack.get(other);

    if (objStacked && othStacked) {
      return objStacked == other && othStacked == object;
    }

    var result = true;
    stack.set(object, other);
    stack.set(other, object);
    var skipCtor = isPartial;

    while (++index < objLength) {
      key = objProps[index];
      var objValue = object[key],
          othValue = other[key];

      if (customizer) {
        var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack);
      }

      if (!(compared === undefined ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) {
        result = false;
        break;
      }

      skipCtor || (skipCtor = key == 'constructor');
    }

    if (result && !skipCtor) {
      var objCtor = object.constructor,
          othCtor = other.constructor;

      if (objCtor != othCtor && 'constructor' in object && 'constructor' in other && !(typeof objCtor == 'function' && objCtor instanceof objCtor && typeof othCtor == 'function' && othCtor instanceof othCtor)) {
        result = false;
      }
    }

    stack['delete'](object);
    stack['delete'](other);
    return result;
  }

  module.exports = equalObjects;
},1493,[1471]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function some(collection, predicate, guard) {
    var func = _$$_REQUIRE(_dependencyMap[0])(collection) ? _$$_REQUIRE(_dependencyMap[1]) : _$$_REQUIRE(_dependencyMap[2]);

    if (guard && _$$_REQUIRE(_dependencyMap[3])(collection, predicate, guard)) {
      predicate = undefined;
    }

    return func(collection, _$$_REQUIRE(_dependencyMap[4])(predicate, 3));
  }

  module.exports = some;
},1494,[1331,1488,1495,1501,1502]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseSome(collection, predicate) {
    var result;

    _$$_REQUIRE(_dependencyMap[0])(collection, function (value, index, collection) {
      result = predicate(value, index, collection);
      return !result;
    });

    return !!result;
  }

  module.exports = baseSome;
},1495,[1496]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var baseEach = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  module.exports = baseEach;
},1496,[1497,1498]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function createBaseEach(eachFunc, fromRight) {
    return function (collection, iteratee) {
      if (collection == null) {
        return collection;
      }

      if (!_$$_REQUIRE(_dependencyMap[0])(collection)) {
        return eachFunc(collection, iteratee);
      }

      var length = collection.length,
          index = fromRight ? length : -1,
          iterable = Object(collection);

      while (fromRight ? index-- : ++index < length) {
        if (iteratee(iterable[index], index, iterable) === false) {
          break;
        }
      }

      return collection;
    };
  }

  module.exports = createBaseEach;
},1497,[1321]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseForOwn(object, iteratee) {
    return object && _$$_REQUIRE(_dependencyMap[0])(object, iteratee, _$$_REQUIRE(_dependencyMap[1]));
  }

  module.exports = baseForOwn;
},1498,[1499,1366]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var baseFor = _$$_REQUIRE(_dependencyMap[0])();

  module.exports = baseFor;
},1499,[1500]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function createBaseFor(fromRight) {
    return function (object, iteratee, keysFunc) {
      var index = -1,
          iterable = Object(object),
          props = keysFunc(object),
          length = props.length;

      while (length--) {
        var key = props[fromRight ? length : ++index];

        if (iteratee(iterable[key], key, iterable) === false) {
          break;
        }
      }

      return object;
    };
  }

  module.exports = createBaseFor;
},1500,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function isIterateeCall(value, index, object) {
    if (!_$$_REQUIRE(_dependencyMap[0])(object)) {
      return false;
    }

    var type = typeof index;

    if (type == 'number' ? _$$_REQUIRE(_dependencyMap[1])(object) && _$$_REQUIRE(_dependencyMap[2])(index, object.length) : type == 'string' && index in object) {
      return _$$_REQUIRE(_dependencyMap[3])(object[index], value);
    }

    return false;
  }

  module.exports = isIterateeCall;
},1501,[1324,1321,1369,1419]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseIteratee(value) {
    if (typeof value == 'function') {
      return value;
    }

    if (value == null) {
      return _$$_REQUIRE(_dependencyMap[0]);
    }

    if (typeof value == 'object') {
      return _$$_REQUIRE(_dependencyMap[1])(value) ? _$$_REQUIRE(_dependencyMap[2])(value[0], value[1]) : _$$_REQUIRE(_dependencyMap[3])(value);
    }

    return _$$_REQUIRE(_dependencyMap[4])(value);
  }

  module.exports = baseIteratee;
},1502,[1393,1331,1503,1510,1513]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var COMPARE_PARTIAL_FLAG = 1,
      COMPARE_UNORDERED_FLAG = 2;

  function baseMatchesProperty(path, srcValue) {
    if (_$$_REQUIRE(_dependencyMap[0])(path) && _$$_REQUIRE(_dependencyMap[1])(srcValue)) {
      return _$$_REQUIRE(_dependencyMap[2])(_$$_REQUIRE(_dependencyMap[3])(path), srcValue);
    }

    return function (object) {
      var objValue = _$$_REQUIRE(_dependencyMap[4])(object, path);

      return objValue === undefined && objValue === srcValue ? _$$_REQUIRE(_dependencyMap[5])(object, path) : _$$_REQUIRE(_dependencyMap[6])(srcValue, objValue, 3);
    };
  }

  module.exports = baseMatchesProperty;
},1503,[1402,1504,1505,1478,1506,1507,1482]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function isStrictComparable(value) {
    return value === value && !_$$_REQUIRE(_dependencyMap[0])(value);
  }

  module.exports = isStrictComparable;
},1504,[1324]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function matchesStrictComparable(key, srcValue) {
    return function (object) {
      if (object == null) {
        return false;
      }

      return object[key] === srcValue && (srcValue !== undefined || key in Object(object));
    };
  }

  module.exports = matchesStrictComparable;
},1505,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function get(object, path, defaultValue) {
    var result = object == null ? undefined : _$$_REQUIRE(_dependencyMap[0])(object, path);
    return result === undefined ? defaultValue : result;
  }

  module.exports = get;
},1506,[1477]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function hasIn(object, path) {
    return object != null && _$$_REQUIRE(_dependencyMap[0])(object, path, _$$_REQUIRE(_dependencyMap[1]));
  }

  module.exports = hasIn;
},1507,[1508,1509]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function hasPath(object, path, hasFunc) {
    path = _$$_REQUIRE(_dependencyMap[0])(path, object);
    var index = -1,
        length = path.length,
        result = false;

    while (++index < length) {
      var key = _$$_REQUIRE(_dependencyMap[1])(path[index]);

      if (!(result = object != null && hasFunc(object, key))) {
        break;
      }

      object = object[key];
    }

    if (result || ++index != length) {
      return result;
    }

    length = object == null ? 0 : object.length;
    return !!length && _$$_REQUIRE(_dependencyMap[2])(length) && _$$_REQUIRE(_dependencyMap[3])(key, length) && (_$$_REQUIRE(_dependencyMap[4])(object) || _$$_REQUIRE(_dependencyMap[5])(object));
  }

  module.exports = hasPath;
},1508,[1401,1478,1322,1369,1331,1339]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseHasIn(object, key) {
    return object != null && key in Object(object);
  }

  module.exports = baseHasIn;
},1509,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseMatches(source) {
    var matchData = _$$_REQUIRE(_dependencyMap[0])(source);

    if (matchData.length == 1 && matchData[0][2]) {
      return _$$_REQUIRE(_dependencyMap[1])(matchData[0][0], matchData[0][1]);
    }

    return function (object) {
      return object === source || _$$_REQUIRE(_dependencyMap[2])(object, source, matchData);
    };
  }

  module.exports = baseMatches;
},1510,[1511,1505,1512]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function getMatchData(object) {
    var result = _$$_REQUIRE(_dependencyMap[0])(object),
        length = result.length;

    while (length--) {
      var key = result[length],
          value = object[key];
      result[length] = [key, value, _$$_REQUIRE(_dependencyMap[1])(value)];
    }

    return result;
  }

  module.exports = getMatchData;
},1511,[1366,1504]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var COMPARE_PARTIAL_FLAG = 1,
      COMPARE_UNORDERED_FLAG = 2;

  function baseIsMatch(object, source, matchData, customizer) {
    var index = matchData.length,
        length = index,
        noCustomizer = !customizer;

    if (object == null) {
      return !length;
    }

    object = Object(object);

    while (index--) {
      var data = matchData[index];

      if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) {
        return false;
      }
    }

    while (++index < length) {
      data = matchData[index];
      var key = data[0],
          objValue = object[key],
          srcValue = data[1];

      if (noCustomizer && data[2]) {
        if (objValue === undefined && !(key in object)) {
          return false;
        }
      } else {
        var stack = new (_$$_REQUIRE(_dependencyMap[0]))();

        if (customizer) {
          var result = customizer(objValue, srcValue, key, object, source, stack);
        }

        if (!(result === undefined ? _$$_REQUIRE(_dependencyMap[1])(srcValue, objValue, 3, customizer, stack) : result)) {
          return false;
        }
      }
    }

    return true;
  }

  module.exports = baseIsMatch;
},1512,[1461,1482]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function property(path) {
    return _$$_REQUIRE(_dependencyMap[0])(path) ? _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2])(path)) : _$$_REQUIRE(_dependencyMap[3])(path);
  }

  module.exports = property;
},1513,[1402,1514,1478,1515]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseProperty(key) {
    return function (object) {
      return object == null ? undefined : object[key];
    };
  }

  module.exports = baseProperty;
},1514,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function basePropertyDeep(path) {
    return function (object) {
      return _$$_REQUIRE(_dependencyMap[0])(object, path);
    };
  }

  module.exports = basePropertyDeep;
},1515,[1477]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[1]);

  var _style = _$$_REQUIRE(_dependencyMap[2])(_$$_REQUIRE(_dependencyMap[3]));

  var _marking2 = _$$_REQUIRE(_dependencyMap[2])(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var BasicDay = function BasicDay(props) {
    var theme = props.theme,
        date = props.date,
        onPress = props.onPress,
        onLongPress = props.onLongPress,
        markingType = props.markingType,
        marking = props.marking,
        state = props.state,
        disableAllTouchEventsForDisabledDays = props.disableAllTouchEventsForDisabledDays,
        disableAllTouchEventsForInactiveDays = props.disableAllTouchEventsForInactiveDays,
        accessibilityLabel = props.accessibilityLabel,
        children = props.children,
        testID = props.testID;
    var style = (0, _react.useRef)((0, _style.default)(theme));

    var _marking = marking || {};

    var isSelected = _marking.selected || state === 'selected';
    var isDisabled = typeof _marking.disabled !== 'undefined' ? _marking.disabled : state === 'disabled';
    var isInactive = _marking == null ? undefined : _marking.inactive;
    var isToday = state === 'today';
    var isMultiDot = markingType === _marking2.default.markings.MULTI_DOT;
    var isMultiPeriod = markingType === _marking2.default.markings.MULTI_PERIOD;
    var isCustom = markingType === _marking2.default.markings.CUSTOM;
    var dateData = date ? (0, _$$_REQUIRE(_dependencyMap[5]).xdateToData)(date) : undefined;

    var shouldDisableTouchEvent = function shouldDisableTouchEvent() {
      var disableTouchEvent = _marking.disableTouchEvent;
      var disableTouch = false;

      if (typeof disableTouchEvent === 'boolean') {
        disableTouch = disableTouchEvent;
      } else if (typeof disableAllTouchEventsForDisabledDays === 'boolean' && isDisabled) {
        disableTouch = disableAllTouchEventsForDisabledDays;
      } else if (typeof disableAllTouchEventsForInactiveDays === 'boolean' && isInactive) {
        disableTouch = disableAllTouchEventsForInactiveDays;
      }

      return disableTouch;
    };

    var getContainerStyle = function getContainerStyle() {
      var customStyles = _marking.customStyles,
          selectedColor = _marking.selectedColor;
      var styles = [style.current.base];

      if (isSelected) {
        styles.push(style.current.selected);

        if (selectedColor) {
          styles.push({
            backgroundColor: selectedColor
          });
        }
      } else if (isToday) {
        styles.push(style.current.today);
      }

      if (isCustom && customStyles && customStyles.container) {
        if (customStyles.container.borderRadius === undefined) {
          customStyles.container.borderRadius = 16;
        }

        styles.push(customStyles.container);
      }

      return styles;
    };

    var getTextStyle = function getTextStyle() {
      var customStyles = _marking.customStyles,
          selectedTextColor = _marking.selectedTextColor;
      var styles = [style.current.text];

      if (isSelected) {
        styles.push(style.current.selectedText);

        if (selectedTextColor) {
          styles.push({
            color: selectedTextColor
          });
        }
      } else if (isDisabled) {
        styles.push(style.current.disabledText);
      } else if (isToday) {
        styles.push(style.current.todayText);
      } else if (isInactive) {
        styles.push(style.current.inactiveText);
      }

      if (isCustom && customStyles && customStyles.text) {
        styles.push(customStyles.text);
      }

      return styles;
    };

    var _onPress = (0, _react.useCallback)(function () {
      onPress == null ? undefined : onPress(dateData);
    }, [onPress, date]);

    var _onLongPress = (0, _react.useCallback)(function () {
      onLongPress == null ? undefined : onLongPress(dateData);
    }, [onLongPress, date]);

    var renderMarking = function renderMarking() {
      var marked = _marking.marked,
          dotColor = _marking.dotColor,
          dots = _marking.dots,
          periods = _marking.periods;
      return _react.default.createElement(_marking2.default, {
        type: markingType,
        theme: theme,
        marked: isMultiDot ? true : marked,
        selected: isSelected,
        disabled: isDisabled,
        inactive: isInactive,
        today: isToday,
        dotColor: dotColor,
        dots: dots,
        periods: periods
      });
    };

    var renderText = function renderText() {
      return _react.default.createElement(_reactNative.Text, {
        allowFontScaling: false,
        style: getTextStyle()
      }, String(children));
    };

    var renderContent = function renderContent() {
      return _react.default.createElement(_react.Fragment, null, renderText(), renderMarking());
    };

    var renderContainer = function renderContainer() {
      var activeOpacity = _marking.activeOpacity;
      return _react.default.createElement(_reactNative.TouchableOpacity, {
        testID: testID,
        style: getContainerStyle(),
        disabled: shouldDisableTouchEvent(),
        activeOpacity: activeOpacity,
        onPress: !shouldDisableTouchEvent() ? _onPress : undefined,
        onLongPress: !shouldDisableTouchEvent() ? _onLongPress : undefined,
        accessible: true,
        accessibilityRole: isDisabled ? undefined : 'button',
        accessibilityLabel: accessibilityLabel
      }, isMultiPeriod ? renderText() : renderContent());
    };

    var renderPeriodsContainer = function renderPeriodsContainer() {
      return _react.default.createElement(_reactNative.View, {
        style: style.current.container
      }, renderContainer(), renderMarking());
    };

    return isMultiPeriod ? renderPeriodsContainer() : renderContainer();
  };

  var _default = BasicDay;
  exports.default = _default;
  BasicDay.displayName = 'BasicDay';
},1516,[17,28,5,1517,1518,1383]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = styleConstructor;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var defaultStyle = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _constants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function styleConstructor() {
    var theme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var appStyle = (0, _extends2.default)({}, defaultStyle, theme);
    return _reactNative.StyleSheet.create((0, _extends2.default)({
      container: {
        alignSelf: 'stretch',
        alignItems: 'center'
      },
      base: {
        width: 32,
        height: 32,
        alignItems: 'center'
      },
      text: (0, _extends2.default)({
        marginTop: _constants.default.isAndroid ? 4 : 6,
        fontSize: appStyle.textDayFontSize,
        fontFamily: appStyle.textDayFontFamily,
        fontWeight: appStyle.textDayFontWeight,
        color: appStyle.dayTextColor,
        backgroundColor: 'rgba(255, 255, 255, 0)'
      }, appStyle.textDayStyle),
      alignedText: {
        marginTop: _constants.default.isAndroid ? 4 : 6
      },
      selected: {
        backgroundColor: appStyle.selectedDayBackgroundColor,
        borderRadius: 16
      },
      today: {
        backgroundColor: appStyle.todayBackgroundColor,
        borderRadius: 16
      },
      todayText: {
        color: appStyle.todayTextColor
      },
      selectedText: {
        color: appStyle.selectedDayTextColor
      },
      disabledText: {
        color: appStyle.textDisabledColor
      },
      inactiveText: {
        color: appStyle.textInactiveColor
      },
      dot: (0, _extends2.default)({
        width: 4,
        height: 4,
        marginTop: 1,
        borderRadius: 2,
        opacity: 0
      }, appStyle.dotStyle),
      visibleDot: {
        opacity: 1,
        backgroundColor: appStyle.dotColor
      },
      selectedDot: {
        backgroundColor: appStyle.selectedDotColor
      },
      disabledDot: {
        backgroundColor: appStyle.disabledDotColor || appStyle.dotColor
      },
      todayDot: {
        backgroundColor: appStyle.todayDotColor || appStyle.dotColor
      }
    }, theme['stylesheet.day.basic'] || {}));
  }
},1517,[5,6,28,1360,1358]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.Markings = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _filter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _style = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _dot = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Markings;
  exports.Markings = Markings;

  (function (Markings) {
    Markings["DOT"] = "dot";
    Markings["MULTI_DOT"] = "multi-dot";
    Markings["PERIOD"] = "period";
    Markings["MULTI_PERIOD"] = "multi-period";
    Markings["CUSTOM"] = "custom";
  })(Markings || (exports.Markings = Markings = {}));

  var Marking = function Marking(props) {
    var theme = props.theme,
        type = props.type,
        dots = props.dots,
        periods = props.periods,
        selected = props.selected,
        dotColor = props.dotColor;
    var style = (0, _react.useRef)((0, _style.default)(theme));

    var getItems = function getItems(items) {
      if (items && Array.isArray(items) && items.length > 0) {
        var validItems = (0, _filter.default)(items, function (o) {
          return o.color;
        });
        return validItems.map(function (item, index) {
          return type === Markings.MULTI_DOT ? renderDot(index, item) : renderPeriod(index, item);
        });
      }
    };

    var renderMarkingByType = function renderMarkingByType() {
      switch (type) {
        case Markings.MULTI_DOT:
          return renderMultiMarkings(style.current.dots, dots);

        case Markings.MULTI_PERIOD:
          return renderMultiMarkings(style.current.periods, periods);

        default:
          return renderDot();
      }
    };

    var renderMultiMarkings = function renderMultiMarkings(containerStyle, items) {
      return _react.default.createElement(_reactNative.View, {
        style: containerStyle
      }, getItems(items));
    };

    var renderPeriod = function renderPeriod(index, item) {
      var color = item.color,
          startingDay = item.startingDay,
          endingDay = item.endingDay;
      var styles = [style.current.period, {
        backgroundColor: color
      }];

      if (startingDay) {
        styles.push(style.current.startingDay);
      }

      if (endingDay) {
        styles.push(style.current.endingDay);
      }

      return _react.default.createElement(_reactNative.View, {
        key: index,
        style: styles
      });
    };

    var renderDot = function renderDot(index, item) {
      var dotProps = (0, _$$_REQUIRE(_dependencyMap[7]).extractDotProps)(props);
      var key = index;
      var color = dotColor;

      if (item) {
        if (item.key) {
          key = item.key;
        }

        color = selected && item.selectedDotColor ? item.selectedDotColor : item.color;
      }

      return _react.default.createElement(_dot.default, (0, _extends2.default)({}, dotProps, {
        key: key,
        color: color
      }));
    };

    return renderMarkingByType();
  };

  var _default = Marking;
  exports.default = _default;
  Marking.displayName = 'Marking';
  Marking.markings = Markings;
},1518,[5,6,1519,17,28,1521,1522,1524]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function filter(collection, predicate) {
    var func = _$$_REQUIRE(_dependencyMap[0])(collection) ? _$$_REQUIRE(_dependencyMap[1]) : _$$_REQUIRE(_dependencyMap[2]);
    return func(collection, _$$_REQUIRE(_dependencyMap[3])(predicate, 3));
  }

  module.exports = filter;
},1519,[1331,1442,1520,1502]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseFilter(collection, predicate) {
    var result = [];

    _$$_REQUIRE(_dependencyMap[0])(collection, function (value, index, collection) {
      if (predicate(value, index, collection)) {
        result.push(value);
      }
    });

    return result;
  }

  module.exports = baseFilter;
},1520,[1496]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = styleConstructor;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var defaultStyle = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function styleConstructor() {
    var theme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var appStyle = (0, _extends2.default)({}, defaultStyle, theme);
    return _reactNative.StyleSheet.create((0, _extends2.default)({
      dots: {
        flexDirection: 'row'
      },
      periods: {
        alignSelf: 'stretch'
      },
      period: {
        height: 4,
        marginVertical: 1,
        backgroundColor: appStyle.dotColor
      },
      startingDay: {
        borderTopLeftRadius: 2,
        borderBottomLeftRadius: 2,
        marginLeft: 4
      },
      endingDay: {
        borderTopRightRadius: 2,
        borderBottomRightRadius: 2,
        marginRight: 4
      }
    }, theme['stylesheet.marking'] || {}));
  }
},1521,[5,6,28,1359]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[1]);

  var _style = _$$_REQUIRE(_dependencyMap[2])(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Dot = function Dot(_ref) {
    var theme = _ref.theme,
        marked = _ref.marked,
        disabled = _ref.disabled,
        inactive = _ref.inactive,
        color = _ref.color,
        today = _ref.today,
        selected = _ref.selected;
    var style = (0, _react.useRef)((0, _style.default)(theme));
    var dotStyle = [style.current.dot];

    if (marked) {
      dotStyle.push(style.current.visibleDot);

      if (today) {
        dotStyle.push(style.current.todayDot);
      }

      if (disabled) {
        dotStyle.push(style.current.disabledDot);
      }

      if (inactive) {
        dotStyle.push(style.current.inactiveDot);
      }

      if (selected) {
        dotStyle.push(style.current.selectedDot);
      }

      if (color) {
        dotStyle.push({
          backgroundColor: color
        });
      }
    }

    return _react.default.createElement(_reactNative.View, {
      style: dotStyle
    });
  };

  var _default = Dot;
  exports.default = _default;
},1522,[17,28,5,1523]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = styleConstructor;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var defaultStyle = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function styleConstructor() {
    var theme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var appStyle = (0, _extends2.default)({}, defaultStyle, theme);
    return _reactNative.StyleSheet.create((0, _extends2.default)({
      dot: (0, _extends2.default)({
        width: 4,
        height: 4,
        marginTop: 1,
        marginHorizontal: 1,
        borderRadius: 2,
        opacity: 0
      }, appStyle.dotStyle),
      visibleDot: {
        opacity: 1,
        backgroundColor: appStyle.dotColor
      },
      selectedDot: {
        backgroundColor: appStyle.selectedDotColor
      },
      disabledDot: {
        backgroundColor: appStyle.disabledDotColor || appStyle.dotColor
      },
      inactiveDot: {
        backgroundColor: appStyle.inactiveDotColor || appStyle.dotColor
      },
      todayDot: {
        backgroundColor: appStyle.todayDotColor || appStyle.dotColor
      }
    }, theme['stylesheet.dot'] || {}));
  }
},1523,[5,6,28,1360]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.shouldUpdate = shouldUpdate;
  exports.extractComponentProps = extractComponentProps;
  exports.extractDotProps = extractDotProps;
  exports.extractDayProps = extractDayProps;
  exports.extractHeaderProps = extractHeaderProps;
  exports.extractCalendarProps = extractCalendarProps;
  exports.extractCalendarListProps = extractCalendarListProps;
  exports.extractReservationListProps = extractReservationListProps;
  exports.extractReservationProps = extractReservationProps;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function shouldUpdate(props, newProps, paths) {
    for (var i = 0; i < paths.length; i++) {
      var equals = _$$_REQUIRE(_dependencyMap[2])(_$$_REQUIRE(_dependencyMap[3])(props, paths[i]), _$$_REQUIRE(_dependencyMap[3])(newProps, paths[i]));

      if (!equals) {
        return true;
      }
    }

    return false;
  }

  function extractComponentProps(component, props, ignoreProps) {
    var componentPropTypes = component.propTypes;

    if (componentPropTypes) {
      var keys = Object.keys(componentPropTypes);

      var componentProps = _$$_REQUIRE(_dependencyMap[4])(_$$_REQUIRE(_dependencyMap[5])(props, function (_value, key) {
        return _$$_REQUIRE(_dependencyMap[6])(keys, key);
      }), ignoreProps);

      return componentProps;
    }

    return {};
  }

  function extractDotProps(props) {
    var theme = props.theme,
        color = props.color,
        marked = props.marked,
        selected = props.selected,
        disabled = props.disabled,
        inactive = props.inactive,
        today = props.today;
    var dotProps = {
      theme: theme,
      color: color,
      marked: marked,
      selected: selected,
      disabled: disabled,
      inactive: inactive,
      today: today
    };
    return dotProps;
  }

  function extractDayProps(props) {
    var state = props.state,
        marking = props.marking,
        markingType = props.markingType,
        theme = props.theme,
        onPress = props.onPress,
        onLongPress = props.onLongPress,
        date = props.date,
        disableAllTouchEventsForDisabledDays = props.disableAllTouchEventsForDisabledDays,
        disableAllTouchEventsForInactiveDays = props.disableAllTouchEventsForInactiveDays,
        dayComponent = props.dayComponent,
        testID = props.testID;
    var dayProps = {
      state: state,
      marking: marking,
      markingType: markingType,
      theme: theme,
      onPress: onPress,
      onLongPress: onLongPress,
      date: date,
      disableAllTouchEventsForDisabledDays: disableAllTouchEventsForDisabledDays,
      disableAllTouchEventsForInactiveDays: disableAllTouchEventsForInactiveDays,
      dayComponent: dayComponent,
      testID: testID
    };
    return dayProps;
  }

  function extractHeaderProps(props) {
    var month = props.month,
        addMonth = props.addMonth,
        theme = props.theme,
        firstDay = props.firstDay,
        displayLoadingIndicator = props.displayLoadingIndicator,
        showWeekNumbers = props.showWeekNumbers,
        monthFormat = props.monthFormat,
        hideDayNames = props.hideDayNames,
        hideArrows = props.hideArrows,
        renderArrow = props.renderArrow,
        onPressArrowLeft = props.onPressArrowLeft,
        onPressArrowRight = props.onPressArrowRight,
        disableArrowLeft = props.disableArrowLeft,
        disableArrowRight = props.disableArrowRight,
        disabledDaysIndexes = props.disabledDaysIndexes,
        renderHeader = props.renderHeader,
        customHeaderTitle = props.customHeaderTitle,
        webAriaLevel = props.webAriaLevel,
        numberOfDays = props.numberOfDays,
        current = props.current,
        timelineLeftInset = props.timelineLeftInset,
        testID = props.testID;
    var headerProps = {
      month: month,
      addMonth: addMonth,
      theme: theme,
      firstDay: firstDay,
      displayLoadingIndicator: displayLoadingIndicator,
      showWeekNumbers: showWeekNumbers,
      monthFormat: monthFormat,
      hideDayNames: hideDayNames,
      hideArrows: hideArrows,
      renderArrow: renderArrow,
      onPressArrowLeft: onPressArrowLeft,
      onPressArrowRight: onPressArrowRight,
      disableArrowLeft: disableArrowLeft,
      disableArrowRight: disableArrowRight,
      disabledDaysIndexes: disabledDaysIndexes,
      renderHeader: renderHeader,
      customHeaderTitle: customHeaderTitle,
      webAriaLevel: webAriaLevel,
      numberOfDays: numberOfDays,
      current: current,
      timelineLeftInset: timelineLeftInset,
      testID: testID
    };
    return headerProps;
  }

  function extractCalendarProps(props) {
    var pastScrollRange = props.pastScrollRange,
        futureScrollRange = props.futureScrollRange,
        calendarWidth = props.calendarWidth,
        calendarHeight = props.calendarHeight,
        calendarStyle = props.calendarStyle,
        staticHeader = props.staticHeader,
        showScrollIndicator = props.showScrollIndicator,
        animateScroll = props.animateScroll,
        scrollEnabled = props.scrollEnabled,
        scrollsToTop = props.scrollsToTop,
        pagingEnabled = props.pagingEnabled,
        horizontal = props.horizontal,
        keyboardShouldPersistTaps = props.keyboardShouldPersistTaps,
        keyExtractor = props.keyExtractor,
        onEndReachedThreshold = props.onEndReachedThreshold,
        onEndReached = props.onEndReached,
        nestedScrollEnabled = props.nestedScrollEnabled,
        others = (0, _objectWithoutProperties2.default)(props, ["pastScrollRange", "futureScrollRange", "calendarWidth", "calendarHeight", "calendarStyle", "staticHeader", "showScrollIndicator", "animateScroll", "scrollEnabled", "scrollsToTop", "pagingEnabled", "horizontal", "keyboardShouldPersistTaps", "keyExtractor", "onEndReachedThreshold", "onEndReached", "nestedScrollEnabled"]);
    return others;
  }

  function extractCalendarListProps(props) {
    var loadItemsForMonth = props.loadItemsForMonth,
        onCalendarToggled = props.onCalendarToggled,
        renderKnob = props.renderKnob,
        selected = props.selected,
        hideKnob = props.hideKnob,
        showClosingKnob = props.showClosingKnob,
        items = props.items,
        selectedDay = props.selectedDay,
        topDay = props.topDay,
        onDayChange = props.onDayChange,
        showOnlySelectedDayItems = props.showOnlySelectedDayItems,
        renderEmptyData = props.renderEmptyData,
        reservationsKeyExtractor = props.reservationsKeyExtractor,
        date = props.date,
        item = props.item,
        rowHasChanged = props.rowHasChanged,
        renderItem = props.renderItem,
        renderEmptyDate = props.renderEmptyDate,
        others = (0, _objectWithoutProperties2.default)(props, ["loadItemsForMonth", "onCalendarToggled", "renderKnob", "selected", "hideKnob", "showClosingKnob", "items", "selectedDay", "topDay", "onDayChange", "showOnlySelectedDayItems", "renderEmptyData", "reservationsKeyExtractor", "date", "item", "rowHasChanged", "renderItem", "renderEmptyDate"]);
    return others;
  }

  function extractReservationListProps(props) {
    var items = props.items,
        selectedDay = props.selectedDay,
        topDay = props.topDay,
        onDayChange = props.onDayChange,
        showOnlySelectedDayItems = props.showOnlySelectedDayItems,
        renderEmptyData = props.renderEmptyData,
        onScroll = props.onScroll,
        onScrollBeginDrag = props.onScrollBeginDrag,
        onScrollEndDrag = props.onScrollEndDrag,
        onMomentumScrollBegin = props.onMomentumScrollBegin,
        onMomentumScrollEnd = props.onMomentumScrollEnd,
        refreshControl = props.refreshControl,
        refreshing = props.refreshing,
        onRefresh = props.onRefresh,
        reservationsKeyExtractor = props.reservationsKeyExtractor,
        date = props.date,
        item = props.item,
        theme = props.theme,
        rowHasChanged = props.rowHasChanged,
        renderDay = props.renderDay,
        renderItem = props.renderItem,
        renderEmptyDate = props.renderEmptyDate;
    var ReservationListProps = {
      items: items,
      selectedDay: selectedDay,
      topDay: topDay,
      onDayChange: onDayChange,
      showOnlySelectedDayItems: showOnlySelectedDayItems,
      renderEmptyData: renderEmptyData,
      onScroll: onScroll,
      onScrollBeginDrag: onScrollBeginDrag,
      onScrollEndDrag: onScrollEndDrag,
      onMomentumScrollBegin: onMomentumScrollBegin,
      onMomentumScrollEnd: onMomentumScrollEnd,
      refreshControl: refreshControl,
      refreshing: refreshing,
      onRefresh: onRefresh,
      reservationsKeyExtractor: reservationsKeyExtractor,
      date: date,
      item: item,
      theme: theme,
      rowHasChanged: rowHasChanged,
      renderDay: renderDay,
      renderItem: renderItem,
      renderEmptyDate: renderEmptyDate
    };
    return ReservationListProps;
  }

  function extractReservationProps(props) {
    var date = props.date,
        item = props.item,
        theme = props.theme,
        rowHasChanged = props.rowHasChanged,
        renderDay = props.renderDay,
        renderItem = props.renderItem,
        renderEmptyDate = props.renderEmptyDate;
    var reservationProps = {
      date: date,
      item: item,
      theme: theme,
      rowHasChanged: rowHasChanged,
      renderDay: renderDay,
      renderItem: renderItem,
      renderEmptyDate: renderEmptyDate
    };
    return reservationProps;
  }
},1524,[5,108,1481,1506,1387,1525,1362]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function pickBy(object, predicate) {
    if (object == null) {
      return {};
    }

    var props = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1])(object), function (prop) {
      return [prop];
    });

    predicate = _$$_REQUIRE(_dependencyMap[2])(predicate);
    return _$$_REQUIRE(_dependencyMap[3])(object, props, function (value, path) {
      return predicate(value, path[0]);
    });
  }

  module.exports = pickBy;
},1525,[1365,1434,1502,1526]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function basePickBy(object, paths, predicate) {
    var index = -1,
        length = paths.length,
        result = {};

    while (++index < length) {
      var path = paths[index],
          value = _$$_REQUIRE(_dependencyMap[0])(object, path);

      if (predicate(value, path)) {
        _$$_REQUIRE(_dependencyMap[1])(result, _$$_REQUIRE(_dependencyMap[2])(path, object), value);
      }
    }

    return result;
  }

  module.exports = basePickBy;
},1526,[1477,1527,1401]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseSet(object, path, value, customizer) {
    if (!_$$_REQUIRE(_dependencyMap[0])(object)) {
      return object;
    }

    path = _$$_REQUIRE(_dependencyMap[1])(path, object);
    var index = -1,
        length = path.length,
        lastIndex = length - 1,
        nested = object;

    while (nested != null && ++index < length) {
      var key = _$$_REQUIRE(_dependencyMap[2])(path[index]),
          newValue = value;

      if (key === '__proto__' || key === 'constructor' || key === 'prototype') {
        return object;
      }

      if (index != lastIndex) {
        var objValue = nested[key];
        newValue = customizer ? customizer(objValue, key, nested) : undefined;

        if (newValue === undefined) {
          newValue = _$$_REQUIRE(_dependencyMap[0])(objValue) ? objValue : _$$_REQUIRE(_dependencyMap[3])(path[index + 1]) ? [] : {};
        }
      }

      _$$_REQUIRE(_dependencyMap[4])(nested, key, newValue);

      nested = nested[key];
    }

    return object;
  }

  module.exports = baseSet;
},1527,[1324,1401,1478,1369,1433]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _style = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _dot = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var PeriodDay = function PeriodDay(props) {
    var theme = props.theme,
        marking = props.marking,
        date = props.date,
        onPress = props.onPress,
        onLongPress = props.onLongPress,
        state = props.state,
        accessibilityLabel = props.accessibilityLabel,
        testID = props.testID,
        children = props.children;
    var dateData = date ? (0, _$$_REQUIRE(_dependencyMap[6]).xdateToData)(date) : undefined;
    var style = (0, _react.useRef)((0, _style.default)(theme));
    var markingStyle = (0, _react.useMemo)(function () {
      var defaultStyle = {
        textStyle: {},
        containerStyle: {}
      };

      if (!marking) {
        return defaultStyle;
      } else {
        if (marking.disabled) {
          defaultStyle.textStyle = {
            color: style.current.disabledText.color
          };
        } else if (marking.inactive) {
          defaultStyle.textStyle = {
            color: style.current.inactiveText.color
          };
        } else if (marking.selected) {
          defaultStyle.textStyle = {
            color: style.current.selectedText.color
          };
        }

        if (marking.startingDay) {
          defaultStyle.startingDay = {
            backgroundColor: marking.color
          };
        }

        if (marking.endingDay) {
          defaultStyle.endingDay = {
            backgroundColor: marking.color
          };
        }

        if (!marking.startingDay && !marking.endingDay) {
          defaultStyle.day = {
            backgroundColor: marking.color
          };
        }

        if (marking.textColor) {
          defaultStyle.textStyle = {
            color: marking.textColor
          };
        }

        if (marking.customTextStyle) {
          defaultStyle.textStyle = marking.customTextStyle;
        }

        if (marking.customContainerStyle) {
          defaultStyle.containerStyle = marking.customContainerStyle;
        }

        return defaultStyle;
      }
    }, [marking]);
    var containerStyle = (0, _react.useMemo)(function () {
      var containerStyle = [style.current.base];

      if (state === 'today') {
        containerStyle.push(style.current.today);
      }

      if (marking) {
        containerStyle.push({
          borderRadius: 17,
          overflow: 'hidden'
        });

        if (markingStyle.containerStyle) {
          containerStyle.push(markingStyle.containerStyle);
        }

        var start = markingStyle.startingDay;
        var end = markingStyle.endingDay;

        if (start && !end) {
          var _markingStyle$startin;

          containerStyle.push({
            backgroundColor: (_markingStyle$startin = markingStyle.startingDay) == null ? undefined : _markingStyle$startin.backgroundColor
          });
        } else if (end && !start || end && start) {
          var _markingStyle$endingD;

          containerStyle.push({
            backgroundColor: (_markingStyle$endingD = markingStyle.endingDay) == null ? undefined : _markingStyle$endingD.backgroundColor
          });
        }
      }

      return containerStyle;
    }, [marking, state]);
    var textStyle = (0, _react.useMemo)(function () {
      var textStyle = [style.current.text];

      if (state === 'disabled') {
        textStyle.push(style.current.disabledText);
      } else if (state === 'inactive') {
        textStyle.push(style.current.inactiveText);
      } else if (state === 'today') {
        textStyle.push(style.current.todayText);
      }

      if (marking) {
        if (markingStyle.textStyle) {
          textStyle.push(markingStyle.textStyle);
        }
      }

      return textStyle;
    }, [marking, state]);
    var fillerStyles = (0, _react.useMemo)(function () {
      var leftFillerStyle = {
        backgroundColor: undefined
      };
      var rightFillerStyle = {
        backgroundColor: undefined
      };
      var fillerStyle = {};
      var start = markingStyle.startingDay;
      var end = markingStyle.endingDay;

      if (start && !end) {
        var _markingStyle$startin2;

        rightFillerStyle.backgroundColor = (_markingStyle$startin2 = markingStyle.startingDay) == null ? undefined : _markingStyle$startin2.backgroundColor;
      } else if (end && !start) {
        var _markingStyle$endingD2;

        leftFillerStyle.backgroundColor = (_markingStyle$endingD2 = markingStyle.endingDay) == null ? undefined : _markingStyle$endingD2.backgroundColor;
      } else if (markingStyle.day) {
        var _markingStyle$day, _markingStyle$day2, _markingStyle$day3;

        leftFillerStyle.backgroundColor = (_markingStyle$day = markingStyle.day) == null ? undefined : _markingStyle$day.backgroundColor;
        rightFillerStyle.backgroundColor = (_markingStyle$day2 = markingStyle.day) == null ? undefined : _markingStyle$day2.backgroundColor;
        fillerStyle = {
          backgroundColor: (_markingStyle$day3 = markingStyle.day) == null ? undefined : _markingStyle$day3.backgroundColor
        };
      }

      return {
        leftFillerStyle: leftFillerStyle,
        rightFillerStyle: rightFillerStyle,
        fillerStyle: fillerStyle
      };
    }, [marking]);

    var renderFillers = function renderFillers() {
      if (marking) {
        return _react.default.createElement(_reactNative.View, {
          style: [style.current.fillers, fillerStyles.fillerStyle]
        }, _react.default.createElement(_reactNative.View, {
          style: [style.current.leftFiller, fillerStyles.leftFillerStyle]
        }), _react.default.createElement(_reactNative.View, {
          style: [style.current.rightFiller, fillerStyles.rightFillerStyle]
        }));
      }
    };

    var _onPress = (0, _react.useCallback)(function () {
      onPress == null ? undefined : onPress(dateData);
    }, [onPress]);

    var _onLongPress = (0, _react.useCallback)(function () {
      onLongPress == null ? undefined : onLongPress(dateData);
    }, [onLongPress]);

    var Component = marking ? _reactNative.TouchableWithoutFeedback : _reactNative.TouchableOpacity;
    return _react.default.createElement(Component, {
      testID: testID,
      onPress: _onPress,
      onLongPress: _onLongPress,
      disabled: marking == null ? undefined : marking.disableTouchEvent,
      accessible: true,
      accessibilityRole: marking != null && marking.disableTouchEvent ? undefined : 'button',
      accessibilityLabel: accessibilityLabel
    }, _react.default.createElement(_reactNative.View, {
      style: style.current.wrapper
    }, renderFillers(), _react.default.createElement(_reactNative.View, {
      style: containerStyle
    }, _react.default.createElement(_reactNative.Text, {
      allowFontScaling: false,
      style: textStyle
    }, String(children)), _react.default.createElement(_reactNative.View, {
      style: style.current.dotContainer
    }, _react.default.createElement(_dot.default, {
      theme: theme,
      color: marking == null ? undefined : marking.dotColor,
      marked: marking == null ? undefined : marking.marked
    })))));
  };

  var _default = PeriodDay;
  exports.default = _default;
  PeriodDay.displayName = 'PeriodDay';
  PeriodDay.propTypes = {
    state: _propTypes.default.oneOf(['selected', 'disabled', 'inactive', 'today', '']),
    marking: _propTypes.default.any,
    theme: _propTypes.default.object,
    onPress: _propTypes.default.func,
    onLongPress: _propTypes.default.func,
    date: _propTypes.default.string
  };
},1528,[5,201,17,28,1529,1522,1383]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = styleConstructor;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var defaultStyle = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var FILLER_HEIGHT = 34;

  function styleConstructor() {
    var theme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var appStyle = (0, _extends2.default)({}, defaultStyle, theme);
    return _reactNative.StyleSheet.create((0, _extends2.default)({
      wrapper: {
        alignItems: 'center',
        alignSelf: 'stretch',
        marginLeft: -1
      },
      base: {
        width: 38,
        height: FILLER_HEIGHT,
        alignItems: 'center',
        justifyContent: 'center'
      },
      fillers: {
        position: 'absolute',
        height: FILLER_HEIGHT,
        flexDirection: 'row',
        left: 0,
        right: 0
      },
      leftFiller: {
        backgroundColor: appStyle.calendarBackground,
        height: FILLER_HEIGHT,
        flex: 1
      },
      rightFiller: {
        backgroundColor: appStyle.calendarBackground,
        height: FILLER_HEIGHT,
        flex: 1
      },
      text: {
        fontSize: appStyle.textDayFontSize,
        fontFamily: appStyle.textDayFontFamily,
        fontWeight: appStyle.textDayFontWeight,
        color: appStyle.dayTextColor,
        backgroundColor: 'rgba(255, 255, 255, 0)'
      },
      dotContainer: {
        position: 'absolute',
        bottom: 3
      },
      today: {
        backgroundColor: appStyle.todayBackgroundColor
      },
      todayText: {
        fontWeight: '500',
        color: theme.todayTextColor || appStyle.dayTextColor
      },
      selectedText: {
        color: appStyle.selectedDayTextColor
      },
      disabledText: {
        color: appStyle.textDisabledColor
      },
      inactiveText: {
        color: appStyle.textInactiveColor
      }
    }, theme['stylesheet.day.period'] || {}));
  }
},1529,[5,6,28,1360]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getCalendarDateString = getCalendarDateString;
  exports.getDefaultLocale = getDefaultLocale;
  exports.default = undefined;

  var _isUndefined = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _isDate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _isString = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _isNumber = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _xdate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function getCalendarDateString(date) {
    if (!(0, _isUndefined.default)(date)) {
      if ((0, _isDate.default)(date) && !isNaN(date.getFullYear())) {
        return date.getFullYear() + '-' + _$$_REQUIRE(_dependencyMap[6]).padNumber(date.getMonth() + 1) + '-' + _$$_REQUIRE(_dependencyMap[6]).padNumber(date.getDate());
      } else if ((0, _isString.default)(date)) {
        return _$$_REQUIRE(_dependencyMap[6]).toMarkingFormat(new _xdate.default(date, false));
      } else if ((0, _isNumber.default)(date)) {
        return _$$_REQUIRE(_dependencyMap[6]).toMarkingFormat(new _xdate.default(date, true));
      }

      throw 'Invalid Date';
    }
  }

  function getDefaultLocale() {
    return _$$_REQUIRE(_dependencyMap[7]).getLocale();
  }

  var _default = {
    getCalendarDateString: getCalendarDateString,
    getDefaultLocale: getDefaultLocale
  };
  exports.default = _default;
},1530,[5,1531,1532,1376,1534,1319,1383,1382]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function isUndefined(value) {
    return value === undefined;
  }

  module.exports = isUndefined;
},1531,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var nodeIsDate = _$$_REQUIRE(_dependencyMap[0]) && _$$_REQUIRE(_dependencyMap[0]).isDate;

  var isDate = nodeIsDate ? _$$_REQUIRE(_dependencyMap[1])(nodeIsDate) : _$$_REQUIRE(_dependencyMap[2]);
  module.exports = isDate;
},1532,[1335,1336,1533]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var dateTag = '[object Date]';

  function baseIsDate(value) {
    return _$$_REQUIRE(_dependencyMap[0])(value) && _$$_REQUIRE(_dependencyMap[1])(value) == dateTag;
  }

  module.exports = baseIsDate;
},1533,[1338,1325]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var numberTag = '[object Number]';

  function isNumber(value) {
    return typeof value == 'number' || _$$_REQUIRE(_dependencyMap[0])(value) && _$$_REQUIRE(_dependencyMap[1])(value) == numberTag;
  }

  module.exports = isNumber;
},1534,[1338,1325]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.useCombinedRefs = exports.useDidUpdate = undefined;

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var useDidUpdate = function useDidUpdate(callback, dep) {
    var isMounted = (0, _react.useRef)(false);
    (0, _react.useEffect)(function () {
      if (isMounted.current) {
        callback();
      } else {
        isMounted.current = true;
      }
    }, dep);
  };

  exports.useDidUpdate = useDidUpdate;

  var useCombinedRefs = function useCombinedRefs() {
    for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
      refs[_key] = arguments[_key];
    }

    var targetRef = _react.default.useRef();

    _react.default.useEffect(function () {
      refs.forEach(function (ref) {
        if (!ref) {
          return;
        }

        if (typeof ref === 'function') {
          ref(targetRef.current);
        } else {
          ref.current = targetRef.current;
        }
      });
    }, [refs]);

    return targetRef;
  };

  exports.useCombinedRefs = useCombinedRefs;
},1535,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getState = getState;

  function getState(day, current, props, disableDaySelection) {
    var _context$date;

    var minDate = props.minDate,
        maxDate = props.maxDate,
        disabledByDefault = props.disabledByDefault,
        context = props.context;
    var state = '';

    if (!disableDaySelection && ((_context$date = context == null ? undefined : context.date) != null ? _context$date : _$$_REQUIRE(_dependencyMap[0]).toMarkingFormat(current)) === _$$_REQUIRE(_dependencyMap[0]).toMarkingFormat(day)) {
      state = 'selected';
    } else if (_$$_REQUIRE(_dependencyMap[1]).isToday(day)) {
      state = 'today';
    } else if (disabledByDefault) {
      state = 'disabled';
    } else if (_$$_REQUIRE(_dependencyMap[1]).isDateNotInRange(day, minDate, maxDate)) {
      state = 'disabled';
    } else if (!_$$_REQUIRE(_dependencyMap[1]).sameMonth(day, current)) {
      state = 'disabled';
    }

    return state;
  }
},1536,[1383,1382]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _findIndex = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _xdate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _constants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _style = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _calendar = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _item = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _index = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var CALENDAR_WIDTH = _constants.default.screenWidth;
  var CALENDAR_HEIGHT = 360;
  var PAST_SCROLL_RANGE = 50;
  var FUTURE_SCROLL_RANGE = 50;

  var CalendarList = function CalendarList(props, ref) {
    (0, _react.useImperativeHandle)(ref, function () {
      return {
        scrollToDay: function scrollToDay(date, offset, animated) {
          _scrollToDay(date, offset, animated);
        },
        scrollToMonth: function scrollToMonth(date) {
          _scrollToMonth(date);
        }
      };
    });
    var theme = props.theme,
        current = props.current,
        firstDay = props.firstDay,
        markedDates = props.markedDates,
        headerStyle = props.headerStyle,
        onMonthChange = props.onMonthChange,
        onVisibleMonthsChange = props.onVisibleMonthsChange,
        _props$pastScrollRang = props.pastScrollRange,
        pastScrollRange = _props$pastScrollRang === undefined ? PAST_SCROLL_RANGE : _props$pastScrollRang,
        _props$futureScrollRa = props.futureScrollRange,
        futureScrollRange = _props$futureScrollRa === undefined ? FUTURE_SCROLL_RANGE : _props$futureScrollRa,
        _props$calendarHeight = props.calendarHeight,
        calendarHeight = _props$calendarHeight === undefined ? CALENDAR_HEIGHT : _props$calendarHeight,
        _props$calendarWidth = props.calendarWidth,
        calendarWidth = _props$calendarWidth === undefined ? CALENDAR_WIDTH : _props$calendarWidth,
        calendarStyle = props.calendarStyle,
        _props$animateScroll = props.animateScroll,
        animateScroll = _props$animateScroll === undefined ? false : _props$animateScroll,
        _props$showScrollIndi = props.showScrollIndicator,
        showScrollIndicator = _props$showScrollIndi === undefined ? false : _props$showScrollIndi,
        staticHeader = props.staticHeader,
        testID = props.testID,
        propsStyle = props.style,
        onLayout = props.onLayout,
        removeClippedSubviews = props.removeClippedSubviews,
        _props$horizontal = props.horizontal,
        horizontal = _props$horizontal === undefined ? false : _props$horizontal,
        pagingEnabled = props.pagingEnabled,
        _props$scrollEnabled = props.scrollEnabled,
        scrollEnabled = _props$scrollEnabled === undefined ? true : _props$scrollEnabled,
        _props$nestedScrollEn = props.nestedScrollEnabled,
        nestedScrollEnabled = _props$nestedScrollEn === undefined ? true : _props$nestedScrollEn,
        _props$scrollsToTop = props.scrollsToTop,
        scrollsToTop = _props$scrollsToTop === undefined ? false : _props$scrollsToTop,
        _props$keyExtractor = props.keyExtractor,
        keyExtractor = _props$keyExtractor === undefined ? function (_, index) {
      return String(index);
    } : _props$keyExtractor,
        keyboardShouldPersistTaps = props.keyboardShouldPersistTaps,
        onScrollBeginDrag = props.onScrollBeginDrag,
        onScrollEndDrag = props.onScrollEndDrag,
        onMomentumScrollBegin = props.onMomentumScrollBegin,
        onMomentumScrollEnd = props.onMomentumScrollEnd,
        onEndReachedThreshold = props.onEndReachedThreshold,
        onEndReached = props.onEndReached;
    var calendarProps = (0, _$$_REQUIRE(_dependencyMap[13]).extractCalendarProps)(props);
    var headerProps = (0, _$$_REQUIRE(_dependencyMap[13]).extractHeaderProps)(props);
    var calendarSize = horizontal ? calendarWidth : calendarHeight;

    var _useState = (0, _react.useState)((0, _$$_REQUIRE(_dependencyMap[14]).parseDate)(current)),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        currentMonth = _useState2[0],
        setCurrentMonth = _useState2[1];

    var style = (0, _react.useRef)((0, _style.default)(theme));
    var list = (0, _react.useRef)();
    var range = (0, _react.useRef)(horizontal ? 1 : 3);
    var initialDate = (0, _react.useRef)((0, _$$_REQUIRE(_dependencyMap[14]).parseDate)(current) || new _xdate.default());
    var visibleMonth = (0, _react.useRef)(currentMonth);
    var items = (0, _react.useMemo)(function () {
      var months = [];

      for (var i = 0; i <= pastScrollRange + futureScrollRange; i++) {
        var _initialDate$current;

        var rangeDate = (_initialDate$current = initialDate.current) == null ? undefined : _initialDate$current.clone().addMonths(i - pastScrollRange, true);
        months.push(rangeDate);
      }

      return months;
    }, [pastScrollRange, futureScrollRange]);
    var staticHeaderStyle = (0, _react.useMemo)(function () {
      return [style.current.staticHeader, headerStyle];
    }, [headerStyle]);
    var listStyle = (0, _react.useMemo)(function () {
      return [style.current.container, propsStyle];
    }, [propsStyle]);
    var initialDateIndex = (0, _react.useMemo)(function () {
      return (0, _findIndex.default)(items, function (item) {
        var _initialDate$current2;

        return item.toString() === ((_initialDate$current2 = initialDate.current) == null ? undefined : _initialDate$current2.toString());
      });
    }, [items]);
    var getDateIndex = (0, _react.useCallback)(function (date) {
      return (0, _findIndex.default)(items, function (item) {
        return item.toString() === date.toString();
      });
    }, [items]);
    (0, _react.useEffect)(function () {
      if (current) {
        _scrollToMonth(new _xdate.default(current));
      }
    }, [current]);
    (0, _$$_REQUIRE(_dependencyMap[15]).useDidUpdate)(function () {
      var currMont = currentMonth == null ? undefined : currentMonth.clone();

      if (currMont) {
        var data = (0, _$$_REQUIRE(_dependencyMap[14]).xdateToData)(currMont);
        onMonthChange == null ? undefined : onMonthChange(data);
        onVisibleMonthsChange == null ? undefined : onVisibleMonthsChange([data]);
      }
    }, [currentMonth]);

    var _scrollToDay = function _scrollToDay(date, offset, animated) {
      var _initialDate$current3;

      var scrollTo = (0, _$$_REQUIRE(_dependencyMap[14]).parseDate)(date);
      var diffMonths = Math.round(initialDate == null ? undefined : (_initialDate$current3 = initialDate.current) == null ? undefined : _initialDate$current3.clone().setDate(1).diffMonths(scrollTo == null ? undefined : scrollTo.clone().setDate(1)));
      var scrollAmount = calendarSize * pastScrollRange + diffMonths * calendarSize + (offset || 0);

      if (!horizontal) {
        var week = 0;
        var days = (0, _$$_REQUIRE(_dependencyMap[16]).page)(scrollTo, firstDay);

        for (var i = 0; i < days.length; i++) {
          week = Math.floor(i / 7);

          if ((0, _$$_REQUIRE(_dependencyMap[16]).sameDate)(days[i], scrollTo)) {
            scrollAmount += 46 * week;
            break;
          }
        }
      }

      if (scrollAmount !== 0) {
        var _list$current;

        list == null ? undefined : (_list$current = list.current) == null ? undefined : _list$current.scrollToOffset({
          offset: scrollAmount,
          animated: animated
        });
      }
    };

    var _scrollToMonth = (0, _react.useCallback)(function (date) {
      var _initialDate$current4;

      var scrollTo = (0, _$$_REQUIRE(_dependencyMap[14]).parseDate)(date);
      var diffMonths = Math.round(initialDate == null ? undefined : (_initialDate$current4 = initialDate.current) == null ? undefined : _initialDate$current4.clone().setDate(1).diffMonths(scrollTo == null ? undefined : scrollTo.clone().setDate(1)));
      var scrollAmount = calendarSize * pastScrollRange + diffMonths * calendarSize;

      if (scrollAmount !== 0) {
        var _list$current2;

        list == null ? undefined : (_list$current2 = list.current) == null ? undefined : _list$current2.scrollToOffset({
          offset: scrollAmount,
          animated: animateScroll
        });
      }
    }, [calendarSize]);

    var addMonth = (0, _react.useCallback)(function (count) {
      var day = currentMonth == null ? undefined : currentMonth.clone().addMonths(count, true);

      if ((0, _$$_REQUIRE(_dependencyMap[16]).sameMonth)(day, currentMonth) || getDateIndex(day) === -1) {
        return;
      }

      _scrollToMonth(day);

      setCurrentMonth(day);
    }, [currentMonth, _scrollToMonth]);
    var getMarkedDatesForItem = (0, _react.useCallback)(function (item) {
      if (markedDates && item) {
        for (var _i = 0, _Object$entries = Object.entries(markedDates); _i < _Object$entries.length; _i++) {
          var _ref = _Object$entries[_i];

          var _ref2 = (0, _slicedToArray2.default)(_ref, 2);

          var key = _ref2[0];
          var _ = _ref2[1];

          if ((0, _$$_REQUIRE(_dependencyMap[16]).sameMonth)(new _xdate.default(key), new _xdate.default(item))) {
            return markedDates;
          }
        }
      }
    }, [markedDates]);
    var getItemLayout = (0, _react.useCallback)(function (_, index) {
      return {
        length: calendarSize,
        offset: calendarSize * index,
        index: index
      };
    }, []);
    var isDateInRange = (0, _react.useCallback)(function (date) {
      for (var i = -range.current; i <= range.current; i++) {
        var newMonth = currentMonth == null ? undefined : currentMonth.clone().addMonths(i, true);

        if ((0, _$$_REQUIRE(_dependencyMap[16]).sameMonth)(date, newMonth)) {
          return true;
        }
      }

      return false;
    }, [currentMonth]);
    var renderItem = (0, _react.useCallback)(function (_ref3) {
      var item = _ref3.item;
      var dateString = (0, _$$_REQUIRE(_dependencyMap[14]).toMarkingFormat)(item);

      var _dateString$split = dateString.split('-'),
          _dateString$split2 = (0, _slicedToArray2.default)(_dateString$split, 2),
          year = _dateString$split2[0],
          month = _dateString$split2[1];

      var testId = testID + ".item_" + year + "-" + month;
      return _react.default.createElement(_item.default, (0, _extends2.default)({}, calendarProps, {
        testID: testId,
        markedDates: getMarkedDatesForItem(item),
        item: item,
        style: calendarStyle,
        horizontal: horizontal,
        calendarWidth: calendarWidth,
        calendarHeight: calendarHeight,
        scrollToMonth: _scrollToMonth,
        visible: isDateInRange(item)
      }));
    }, [horizontal, calendarStyle, calendarWidth, testID, getMarkedDatesForItem, isDateInRange, calendarProps]);

    var renderStaticHeader = function renderStaticHeader() {
      if (staticHeader && horizontal) {
        return _react.default.createElement(_index.default, (0, _extends2.default)({}, headerProps, {
          testID: testID + ".staticHeader",
          style: staticHeaderStyle,
          month: currentMonth,
          addMonth: addMonth,
          accessibilityElementsHidden: true,
          importantForAccessibility: 'no-hide-descendants'
        }));
      }
    };

    var viewabilityConfig = (0, _react.useRef)({
      viewAreaCoveragePercentThreshold: 20
    });
    var onViewableItemsChanged = (0, _react.useCallback)(function (_ref4) {
      var _viewableItems$;

      var viewableItems = _ref4.viewableItems;
      var newVisibleMonth = (0, _$$_REQUIRE(_dependencyMap[14]).parseDate)((_viewableItems$ = viewableItems[0]) == null ? undefined : _viewableItems$.item);

      if (!(0, _$$_REQUIRE(_dependencyMap[16]).sameDate)(visibleMonth == null ? undefined : visibleMonth.current, newVisibleMonth)) {
        visibleMonth.current = newVisibleMonth;
        setCurrentMonth(visibleMonth.current);
      }
    }, []);
    var viewabilityConfigCallbackPairs = (0, _react.useRef)([{
      viewabilityConfig: viewabilityConfig.current,
      onViewableItemsChanged: onViewableItemsChanged
    }]);
    return _react.default.createElement(_reactNative.View, {
      style: style.current.flatListContainer,
      testID: testID
    }, _react.default.createElement(_reactNative.FlatList, {
      ref: list,
      style: listStyle,
      showsVerticalScrollIndicator: showScrollIndicator,
      showsHorizontalScrollIndicator: showScrollIndicator,
      data: items,
      renderItem: renderItem,
      getItemLayout: getItemLayout,
      initialNumToRender: range.current,
      initialScrollIndex: initialDateIndex,
      viewabilityConfigCallbackPairs: viewabilityConfigCallbackPairs.current,
      testID: testID + ".list",
      onLayout: onLayout,
      removeClippedSubviews: removeClippedSubviews,
      pagingEnabled: pagingEnabled,
      scrollEnabled: scrollEnabled,
      scrollsToTop: scrollsToTop,
      horizontal: horizontal,
      keyboardShouldPersistTaps: keyboardShouldPersistTaps,
      keyExtractor: keyExtractor,
      onEndReachedThreshold: onEndReachedThreshold,
      onEndReached: onEndReached,
      nestedScrollEnabled: nestedScrollEnabled,
      onMomentumScrollBegin: onMomentumScrollBegin,
      onMomentumScrollEnd: onMomentumScrollEnd,
      onScrollBeginDrag: onScrollBeginDrag,
      onScrollEndDrag: onScrollEndDrag
    }), renderStaticHeader());
  };

  var _default = (0, _react.forwardRef)(CalendarList);

  exports.default = _default;
  CalendarList.displayName = 'CalendarList';
  CalendarList.propTypes = (0, _extends2.default)({}, _calendar.default.propTypes, {
    pastScrollRange: _propTypes.default.number,
    futureScrollRange: _propTypes.default.number,
    calendarWidth: _propTypes.default.number,
    calendarHeight: _propTypes.default.number,
    calendarStyle: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array]),
    staticHeader: _propTypes.default.bool,
    showScrollIndicator: _propTypes.default.bool,
    animateScroll: _propTypes.default.bool,
    scrollEnabled: _propTypes.default.bool,
    scrollsToTop: _propTypes.default.bool,
    pagingEnabled: _propTypes.default.bool,
    horizontal: _propTypes.default.bool,
    keyboardShouldPersistTaps: _propTypes.default.oneOf(['never', 'always', 'handled']),
    keyExtractor: _propTypes.default.func,
    onEndReachedThreshold: _propTypes.default.number,
    onEndReached: _propTypes.default.func,
    nestedScrollEnabled: _propTypes.default.bool
  });
},1537,[5,6,41,1538,201,1319,17,28,1358,1539,1318,1540,1361,1524,1383,1535,1382]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var nativeMax = Math.max;

  function findIndex(array, predicate, fromIndex) {
    var length = array == null ? 0 : array.length;

    if (!length) {
      return -1;
    }

    var index = fromIndex == null ? 0 : _$$_REQUIRE(_dependencyMap[0])(fromIndex);

    if (index < 0) {
      index = nativeMax(length + index, 0);
    }

    return _$$_REQUIRE(_dependencyMap[1])(array, _$$_REQUIRE(_dependencyMap[2])(predicate, 3), index);
  }

  module.exports = findIndex;
},1538,[1370,1379,1502]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = getStyle;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var defaultStyle = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function getStyle() {
    var theme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var appStyle = (0, _extends2.default)({}, defaultStyle, theme);
    return _reactNative.StyleSheet.create((0, _extends2.default)({
      flatListContainer: {
        flex: _reactNative.Platform.OS === 'web' ? 1 : undefined
      },
      container: {
        backgroundColor: appStyle.calendarBackground
      },
      placeholder: {
        backgroundColor: appStyle.calendarBackground,
        alignItems: 'center',
        justifyContent: 'center'
      },
      placeholderText: {
        fontSize: 20,
        fontWeight: '200',
        color: appStyle.dayTextColor
      },
      calendar: {
        paddingLeft: 15,
        paddingRight: 15
      },
      staticHeader: {
        position: 'absolute',
        left: 0,
        right: 0,
        top: 0,
        backgroundColor: appStyle.calendarBackground,
        paddingHorizontal: 15
      }
    }, theme['stylesheet.calendar-list.main'] || {}));
  }
},1539,[5,6,28,1360]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _style = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _calendar = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var CalendarListItem = _react.default.memo(function (props) {
    var item = props.item,
        theme = props.theme,
        scrollToMonth = props.scrollToMonth,
        horizontal = props.horizontal,
        calendarHeight = props.calendarHeight,
        calendarWidth = props.calendarWidth,
        propsStyle = props.style,
        headerStyle = props.headerStyle,
        onPressArrowLeft = props.onPressArrowLeft,
        onPressArrowRight = props.onPressArrowRight,
        visible = props.visible;
    var style = (0, _react.useRef)((0, _style.default)(theme));
    var calendarProps = (0, _$$_REQUIRE(_dependencyMap[6]).extractCalendarProps)(props);
    var dateString = (0, _$$_REQUIRE(_dependencyMap[7]).toMarkingFormat)(item);
    var calendarStyle = (0, _react.useMemo)(function () {
      return [{
        width: calendarWidth,
        minHeight: calendarHeight
      }, style.current.calendar, propsStyle];
    }, [calendarWidth, calendarHeight, propsStyle]);
    var textStyle = (0, _react.useMemo)(function () {
      return [calendarStyle, style.current.placeholderText];
    }, [calendarStyle]);

    var _onPressArrowLeft = (0, _react.useCallback)(function (method, month) {
      var monthClone = month == null ? undefined : month.clone();

      if (monthClone) {
        if (onPressArrowLeft) {
          onPressArrowLeft(method, monthClone);
        } else if (scrollToMonth) {
          var currentMonth = monthClone.getMonth();
          monthClone.addMonths(-1);

          while (monthClone.getMonth() === currentMonth) {
            monthClone.setDate(monthClone.getDate() - 1);
          }

          scrollToMonth(monthClone);
        }
      }
    }, [onPressArrowLeft, scrollToMonth]);

    var _onPressArrowRight = (0, _react.useCallback)(function (method, month) {
      var monthClone = month == null ? undefined : month.clone();

      if (monthClone) {
        if (onPressArrowRight) {
          onPressArrowRight(method, monthClone);
        } else if (scrollToMonth) {
          monthClone.addMonths(1);
          scrollToMonth(monthClone);
        }
      }
    }, [onPressArrowRight, scrollToMonth]);

    if (!visible) {
      return _react.default.createElement(_reactNative.Text, {
        style: textStyle
      }, dateString);
    }

    return _react.default.createElement(_calendar.default, (0, _extends2.default)({
      hideArrows: true,
      hideExtraDays: true
    }, calendarProps, {
      current: dateString,
      style: calendarStyle,
      headerStyle: horizontal ? headerStyle : undefined,
      disableMonthChange: true,
      onPressArrowLeft: horizontal ? _onPressArrowLeft : onPressArrowLeft,
      onPressArrowRight: horizontal ? _onPressArrowRight : onPressArrowRight
    }));
  });

  var _default = CalendarListItem;
  exports.default = _default;
  CalendarListItem.displayName = 'CalendarListItem';
},1540,[5,6,17,28,1539,1318,1524,1383]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _xdate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  var _constants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _calendar = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _header = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _infiniteList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _style = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var NUMBER_OF_PAGES = 50;
  var CALENDAR_HEIGHT = 360;

  var CalendarList = function CalendarList(props) {
    var initialDate = props.initialDate,
        horizontal = props.horizontal,
        _props$scrollRange = props.scrollRange,
        scrollRange = _props$scrollRange === undefined ? NUMBER_OF_PAGES : _props$scrollRange,
        staticHeader = props.staticHeader,
        scrollViewProps = props.scrollViewProps,
        calendarProps = props.calendarProps,
        testID = props.testID;
    var style = (0, _react.useRef)((0, _style.default)(calendarProps == null ? undefined : calendarProps.theme));
    var list = (0, _react.useRef)();

    var _useState = (0, _react.useState)(getDatesArray(initialDate, scrollRange)),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        items = _useState2[0],
        setItems = _useState2[1];

    var _useState3 = (0, _react.useState)(scrollRange),
        _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
        positionIndex = _useState4[0],
        setPositionIndex = _useState4[1];

    var _useState5 = (0, _react.useState)(initialDate || items[scrollRange]),
        _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
        currentMonth = _useState6[0],
        setCurrentMonth = _useState6[1];

    var shouldRenderStaticHeader = staticHeader && horizontal;
    var headerProps = (0, _$$_REQUIRE(_dependencyMap[12]).extractHeaderProps)(props);
    var staticHeaderStyle = (0, _react.useMemo)(function () {
      return [style.current.staticHeader, calendarProps == null ? undefined : calendarProps.headerStyle];
    }, [calendarProps == null ? undefined : calendarProps.headerStyle]);
    (0, _react.useEffect)(function () {
      scrollToMonth(currentMonth);
    }, [currentMonth]);
    var getMonthIndex = (0, _react.useCallback)(function (month) {
      if (!month) {
        return -1;
      }

      return items.findIndex(function (item) {
        return item.includes(month.toString('yyyy-MM'));
      });
    }, [items]);
    var scrollToMonth = (0, _react.useCallback)(function (month) {
      if (month) {
        var index = getMonthIndex(new _xdate.default(month));

        if (index !== -1) {
          var _list$current;

          var shouldAnimate = _constants.default.isAndroid && !horizontal ? false : true;
          (_list$current = list.current) == null ? undefined : _list$current.scrollToOffset == null ? undefined : _list$current.scrollToOffset(index * _constants.default.screenWidth, 0, shouldAnimate);
        }
      }
    }, [getMonthIndex]);
    var updateMonth = (0, _react.useCallback)(function (count, month) {
      if (month) {
        var next = new _xdate.default(month).addMonths(count, true);
        var nextNext = new _xdate.default(month).addMonths(count * 2, true);
        var nextNextIndex = getMonthIndex(nextNext);

        if (nextNextIndex !== -1) {
          setCurrentMonth((0, _$$_REQUIRE(_dependencyMap[13]).toMarkingFormat)(next));
        }
      }
    }, [getMonthIndex]);
    var scrollToNextMonth = (0, _react.useCallback)(function (method, month) {
      if (calendarProps != null && calendarProps.onPressArrowLeft) {
        calendarProps == null ? undefined : calendarProps.onPressArrowLeft == null ? undefined : calendarProps.onPressArrowLeft(method, month);
      } else {
        updateMonth(1, month);
      }
    }, [updateMonth]);
    var scrollToPreviousMonth = (0, _react.useCallback)(function (method, month) {
      if (calendarProps != null && calendarProps.onPressArrowRight) {
        calendarProps == null ? undefined : calendarProps.onPressArrowRight == null ? undefined : calendarProps.onPressArrowRight(method, month);
      } else {
        updateMonth(-1, month);
      }
    }, [updateMonth]);
    var onPageChange = (0, _react.useCallback)(function (pageIndex, _, info) {
      if (shouldRenderStaticHeader && info.scrolledByUser) {
        setCurrentMonth(items[pageIndex]);
      }
    }, [items]);

    var renderStaticHeader = function renderStaticHeader() {
      if (shouldRenderStaticHeader) {
        return _react.default.createElement(_header.default, (0, _extends2.default)({}, headerProps, {
          month: new _xdate.default(currentMonth),
          onPressArrowRight: scrollToNextMonth,
          onPressArrowLeft: scrollToPreviousMonth,
          style: staticHeaderStyle,
          accessibilityElementsHidden: true,
          importantForAccessibility: 'no-hide-descendants',
          testID: 'static-header'
        }));
      }
    };

    var reloadPages = (0, _react.useCallback)(function (pageIndex) {
      horizontal ? replaceItems(pageIndex) : addItems(pageIndex);
    }, [items]);

    var replaceItems = function replaceItems(index) {
      var newItems = getDatesArray(items[index], scrollRange);
      setItems(newItems);
    };

    var addItems = function addItems(index) {
      var array = (0, _toConsumableArray2.default)(items);
      var startingDate = items[index];
      var shouldAppend = index > scrollRange;

      if (startingDate) {
        if (shouldAppend) {
          for (var i = 2; i <= scrollRange; i++) {
            var newDate = getDate(startingDate, i);
            array.push(newDate);
          }
        } else {
          for (var _i = -1; _i > -scrollRange; _i--) {
            var _newDate = getDate(startingDate, _i);

            array.unshift(_newDate);
          }
        }

        setPositionIndex(shouldAppend ? index : scrollRange - 1);
        setItems(array);
      }
    };

    var listContainerStyle = (0, _react.useMemo)(function () {
      return [style.current.flatListContainer, {
        flex: horizontal ? undefined : 1
      }];
    }, [style, horizontal]);
    var scrollProps = (0, _react.useMemo)(function () {
      return (0, _extends2.default)({}, scrollViewProps, {
        showsHorizontalScrollIndicator: false,
        showsVerticalScrollIndicator: false
      });
    }, [scrollViewProps]);
    var renderItem = (0, _react.useCallback)(function (_type, item) {
      return _react.default.createElement(_calendar.default, (0, _extends2.default)({}, calendarProps, headerProps, {
        initialDate: item,
        disableMonthChange: true,
        hideArrows: !horizontal,
        onPressArrowRight: scrollToNextMonth,
        onPressArrowLeft: scrollToPreviousMonth,
        hideExtraDays: (calendarProps == null ? undefined : calendarProps.hideExtraDays) || true,
        style: [style.current.calendar, calendarProps == null ? undefined : calendarProps.style],
        headerStyle: horizontal ? calendarProps == null ? undefined : calendarProps.headerStyle : undefined,
        testID: testID + "_" + item
      }));
    }, [calendarProps, scrollToNextMonth, scrollToPreviousMonth]);
    return _react.default.createElement(_reactNative.View, {
      style: listContainerStyle
    }, _react.default.createElement(_infiniteList.default, {
      key: "calendar-list",
      ref: list,
      data: items,
      renderItem: renderItem,
      reloadPages: reloadPages,
      onReachNearEdgeThreshold: Math.round(20),
      extendedState: calendarProps == null ? undefined : calendarProps.markedDates,
      isHorizontal: horizontal,
      style: style.current.container,
      initialPageIndex: scrollRange,
      positionIndex: positionIndex,
      pageHeight: CALENDAR_HEIGHT,
      pageWidth: _constants.default.screenWidth,
      onPageChange: onPageChange,
      scrollViewProps: scrollProps
    }), renderStaticHeader());
  };

  var _default = CalendarList;
  exports.default = _default;

  function getDate(date, index) {
    var d = new _xdate.default(date);
    d.addMonths(index, true);
    d.setDate(1);
    return (0, _$$_REQUIRE(_dependencyMap[13]).toMarkingFormat)(d);
  }

  function getDatesArray(date) {
    var numberOfPages = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : NUMBER_OF_PAGES;
    var d = date || new _xdate.default().toString();
    var array = [];

    for (var index = -numberOfPages; index <= numberOfPages; index++) {
      var newDate = getDate(d, index);
      array.push(newDate);
    }

    return array;
  }
},1541,[5,21,6,41,1319,17,28,1358,1318,1361,1542,1539,1524,1383]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _inRange = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _debounce = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _noop = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _constants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var dataProviderMaker = function dataProviderMaker(items) {
    return new (_$$_REQUIRE(_dependencyMap[7]).DataProvider)(function (item1, item2) {
      return item1 !== item2;
    }).cloneWithRows(items);
  };

  var InfiniteList = function InfiniteList(props, ref) {
    var isHorizontal = props.isHorizontal,
        renderItem = props.renderItem,
        data = props.data,
        _props$reloadPages = props.reloadPages,
        reloadPages = _props$reloadPages === undefined ? _noop.default : _props$reloadPages,
        _props$pageWidth = props.pageWidth,
        pageWidth = _props$pageWidth === undefined ? _constants.default.screenWidth : _props$pageWidth,
        _props$pageHeight = props.pageHeight,
        pageHeight = _props$pageHeight === undefined ? _constants.default.screenHeight : _props$pageHeight,
        onPageChange = props.onPageChange,
        onReachEdge = props.onReachEdge,
        onReachNearEdge = props.onReachNearEdge,
        onReachNearEdgeThreshold = props.onReachNearEdgeThreshold,
        _props$initialPageInd = props.initialPageIndex,
        initialPageIndex = _props$initialPageInd === undefined ? 0 : _props$initialPageInd,
        extendedState = props.extendedState,
        scrollViewProps = props.scrollViewProps,
        _props$positionIndex = props.positionIndex,
        positionIndex = _props$positionIndex === undefined ? 0 : _props$positionIndex,
        disableScrollOnDataChange = props.disableScrollOnDataChange,
        onEndReachedThreshold = props.onEndReachedThreshold,
        onVisibleIndicesChanged = props.onVisibleIndicesChanged,
        layoutProvider = props.layoutProvider,
        onScroll = props.onScroll,
        onEndReached = props.onEndReached,
        renderFooter = props.renderFooter,
        style = props.style;
    var dataProvider = (0, _react.useMemo)(function () {
      return dataProviderMaker(data);
    }, [data]);

    var _layoutProvider = (0, _react.useRef)(new (_$$_REQUIRE(_dependencyMap[7]).LayoutProvider)(function () {
      return 'page';
    }, function (_type, dim) {
      dim.width = pageWidth;
      dim.height = pageHeight;
    }));

    var listRef = (0, _$$_REQUIRE(_dependencyMap[8]).useCombinedRefs)(ref);
    var pageIndex = (0, _react.useRef)();
    var isOnEdge = (0, _react.useRef)(false);
    var isNearEdge = (0, _react.useRef)(false);
    var scrolledByUser = (0, _react.useRef)(false);
    var reloadPagesDebounce = (0, _react.useCallback)((0, _debounce.default)(reloadPages, 500, {
      leading: false,
      trailing: true
    }), [reloadPages]);
    (0, _react.useEffect)(function () {
      if (disableScrollOnDataChange) {
        return;
      }

      setTimeout(function () {
        var _listRef$current;

        var x = isHorizontal ? Math.floor(data.length / 2) * pageWidth : 0;
        var y = isHorizontal ? 0 : positionIndex * pageHeight;
        (_listRef$current = listRef.current) == null ? undefined : _listRef$current.scrollToOffset == null ? undefined : _listRef$current.scrollToOffset(x, y, false);
      }, 0);
    }, [data, disableScrollOnDataChange]);

    var _onScroll = (0, _react.useCallback)(function (event, offsetX, offsetY) {
      reloadPagesDebounce == null ? undefined : reloadPagesDebounce.cancel();
      var _event$nativeEvent$co = event.nativeEvent.contentOffset,
          x = _event$nativeEvent$co.x,
          y = _event$nativeEvent$co.y;
      var newPageIndex = Math.round(isHorizontal ? x / pageWidth : y / pageHeight);

      if (pageIndex.current !== newPageIndex) {
        if (pageIndex.current !== undefined) {
          onPageChange == null ? undefined : onPageChange(newPageIndex, pageIndex.current, {
            scrolledByUser: scrolledByUser.current
          });
          scrolledByUser.current = false;
          isOnEdge.current = false;
          isNearEdge.current = false;

          if (newPageIndex === 0 || newPageIndex === data.length - 1) {
            isOnEdge.current = true;
          } else if (onReachNearEdgeThreshold && !(0, _inRange.default)(newPageIndex, onReachNearEdgeThreshold, data.length - onReachNearEdgeThreshold)) {
            isNearEdge.current = true;
          }
        }

        if (isHorizontal && _constants.default.isAndroid) {
          setTimeout(function () {
            onMomentumScrollEnd(event);
          }, 100);
        }

        pageIndex.current = newPageIndex;
      }

      onScroll == null ? undefined : onScroll(event, offsetX, offsetY);
    }, [onScroll, onPageChange, data.length, reloadPagesDebounce]);

    var onMomentumScrollEnd = (0, _react.useCallback)(function (event) {
      if (pageIndex.current) {
        if (isOnEdge.current) {
          onReachEdge == null ? undefined : onReachEdge(pageIndex.current);
          reloadPagesDebounce == null ? undefined : reloadPagesDebounce(pageIndex.current);
        } else if (isNearEdge.current) {
          reloadPagesDebounce == null ? undefined : reloadPagesDebounce(pageIndex.current);
          onReachNearEdge == null ? undefined : onReachNearEdge(pageIndex.current);
        }

        scrollViewProps == null ? undefined : scrollViewProps.onMomentumScrollEnd == null ? undefined : scrollViewProps.onMomentumScrollEnd(event);
      }
    }, [scrollViewProps == null ? undefined : scrollViewProps.onMomentumScrollEnd, onReachEdge, onReachNearEdge, reloadPagesDebounce]);
    var onScrollBeginDrag = (0, _react.useCallback)(function () {
      scrolledByUser.current = true;
    }, []);
    var scrollViewPropsMemo = (0, _react.useMemo)(function () {
      return (0, _extends2.default)({
        pagingEnabled: isHorizontal,
        bounces: false
      }, scrollViewProps, {
        onScrollBeginDrag: onScrollBeginDrag,
        onMomentumScrollEnd: onMomentumScrollEnd
      });
    }, [onScrollBeginDrag, onMomentumScrollEnd, scrollViewProps, isHorizontal]);

    var _style = (0, _react.useMemo)(function () {
      return [{
        height: pageHeight
      }, style];
    }, [pageHeight, style]);

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[7]).RecyclerListView, {
      ref: listRef,
      isHorizontal: isHorizontal,
      rowRenderer: renderItem,
      dataProvider: dataProvider,
      layoutProvider: layoutProvider != null ? layoutProvider : _layoutProvider.current,
      extendedState: extendedState,
      initialRenderIndex: initialPageIndex,
      renderAheadOffset: 5 * pageWidth,
      onScroll: _onScroll,
      style: _style,
      scrollViewProps: scrollViewPropsMemo,
      onEndReached: onEndReached,
      onEndReachedThreshold: onEndReachedThreshold,
      onVisibleIndicesChanged: onVisibleIndicesChanged,
      renderFooter: renderFooter
    });
  };

  var _default = (0, _react.forwardRef)(InfiniteList);

  exports.default = _default;
},1542,[5,6,1543,1545,1547,17,1358,1548,1535]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function inRange(number, start, end) {
    start = _$$_REQUIRE(_dependencyMap[0])(start);

    if (end === undefined) {
      end = start;
      start = 0;
    } else {
      end = _$$_REQUIRE(_dependencyMap[0])(end);
    }

    number = _$$_REQUIRE(_dependencyMap[1])(number);
    return _$$_REQUIRE(_dependencyMap[2])(number, start, end);
  }

  module.exports = inRange;
},1543,[1371,1372,1544]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var nativeMax = Math.max,
      nativeMin = Math.min;

  function baseInRange(number, start, end) {
    return number >= nativeMin(start, end) && number < nativeMax(start, end);
  }

  module.exports = baseInRange;
},1544,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var FUNC_ERROR_TEXT = 'Expected a function';
  var nativeMax = Math.max,
      nativeMin = Math.min;

  function debounce(func, wait, options) {
    var lastArgs,
        lastThis,
        maxWait,
        result,
        timerId,
        lastCallTime,
        lastInvokeTime = 0,
        leading = false,
        maxing = false,
        trailing = true;

    if (typeof func != 'function') {
      throw new TypeError(FUNC_ERROR_TEXT);
    }

    wait = _$$_REQUIRE(_dependencyMap[0])(wait) || 0;

    if (_$$_REQUIRE(_dependencyMap[1])(options)) {
      leading = !!options.leading;
      maxing = 'maxWait' in options;
      maxWait = maxing ? nativeMax(_$$_REQUIRE(_dependencyMap[0])(options.maxWait) || 0, wait) : maxWait;
      trailing = 'trailing' in options ? !!options.trailing : trailing;
    }

    function invokeFunc(time) {
      var args = lastArgs,
          thisArg = lastThis;
      lastArgs = lastThis = undefined;
      lastInvokeTime = time;
      result = func.apply(thisArg, args);
      return result;
    }

    function leadingEdge(time) {
      lastInvokeTime = time;
      timerId = setTimeout(timerExpired, wait);
      return leading ? invokeFunc(time) : result;
    }

    function remainingWait(time) {
      var timeSinceLastCall = time - lastCallTime,
          timeSinceLastInvoke = time - lastInvokeTime,
          timeWaiting = wait - timeSinceLastCall;
      return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;
    }

    function shouldInvoke(time) {
      var timeSinceLastCall = time - lastCallTime,
          timeSinceLastInvoke = time - lastInvokeTime;
      return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
    }

    function timerExpired() {
      var time = _$$_REQUIRE(_dependencyMap[2])();

      if (shouldInvoke(time)) {
        return trailingEdge(time);
      }

      timerId = setTimeout(timerExpired, remainingWait(time));
    }

    function trailingEdge(time) {
      timerId = undefined;

      if (trailing && lastArgs) {
        return invokeFunc(time);
      }

      lastArgs = lastThis = undefined;
      return result;
    }

    function cancel() {
      if (timerId !== undefined) {
        clearTimeout(timerId);
      }

      lastInvokeTime = 0;
      lastArgs = lastCallTime = lastThis = timerId = undefined;
    }

    function flush() {
      return timerId === undefined ? result : trailingEdge(_$$_REQUIRE(_dependencyMap[2])());
    }

    function debounced() {
      var time = _$$_REQUIRE(_dependencyMap[2])(),
          isInvoking = shouldInvoke(time);

      lastArgs = arguments;
      lastThis = this;
      lastCallTime = time;

      if (isInvoking) {
        if (timerId === undefined) {
          return leadingEdge(lastCallTime);
        }

        if (maxing) {
          clearTimeout(timerId);
          timerId = setTimeout(timerExpired, wait);
          return invokeFunc(lastCallTime);
        }
      }

      if (timerId === undefined) {
        timerId = setTimeout(timerExpired, wait);
      }

      return result;
    }

    debounced.cancel = cancel;
    debounced.flush = flush;
    return debounced;
  }

  module.exports = debounce;
},1545,[1372,1324,1546]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var now = function now() {
    return _$$_REQUIRE(_dependencyMap[0]).Date.now();
  };

  module.exports = now;
},1546,[1327]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function noop() {}

  module.exports = noop;
},1547,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.ContextProvider = _$$_REQUIRE(_dependencyMap[0]).default;
  exports.DataProvider = _$$_REQUIRE(_dependencyMap[1]).default;
  exports.BaseDataProvider = _$$_REQUIRE(_dependencyMap[1]).BaseDataProvider;
  exports.BaseLayoutProvider = _$$_REQUIRE(_dependencyMap[2]).BaseLayoutProvider;
  exports.LayoutProvider = _$$_REQUIRE(_dependencyMap[2]).LayoutProvider;
  exports.GridLayoutProvider = _$$_REQUIRE(_dependencyMap[3]).GridLayoutProvider;
  exports.RecyclerListView = _$$_REQUIRE(_dependencyMap[4]).default;
  exports.BaseScrollView = _$$_REQUIRE(_dependencyMap[5]).default;
  exports.BaseItemAnimator = _$$_REQUIRE(_dependencyMap[6]).BaseItemAnimator;
  exports.AutoScroll = _$$_REQUIRE(_dependencyMap[7]).AutoScroll;
  exports.LayoutManager = _$$_REQUIRE(_dependencyMap[8]).LayoutManager;
  exports.WrapGridLayoutManager = _$$_REQUIRE(_dependencyMap[8]).WrapGridLayoutManager;
  exports.GridLayoutManager = _$$_REQUIRE(_dependencyMap[9]).GridLayoutManager;
  exports.ProgressiveListView = _$$_REQUIRE(_dependencyMap[10]).default;
  exports.ComponentCompat = _$$_REQUIRE(_dependencyMap[11]).ComponentCompat;
},1548,[1549,1550,1554,1557,1559,1578,1561,1579,1555,1558,1580,1574]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var ContextProvider = function () {
    function ContextProvider() {}

    return ContextProvider;
  }();

  exports.default = ContextProvider;
},1549,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var __extends = this && this.__extends || function () {
    var _extendStatics = function extendStatics(d, b) {
      _extendStatics = Object.setPrototypeOf || {
        __proto__: []
      } instanceof Array && function (d, b) {
        d.__proto__ = b;
      } || function (d, b) {
        for (var p in b) {
          if (b.hasOwnProperty(p)) d[p] = b[p];
        }
      };

      return _extendStatics(d, b);
    };

    return function (d, b) {
      _extendStatics(d, b);

      function __() {
        this.constructor = d;
      }

      d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
  }();

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var BaseDataProvider = function () {
    function BaseDataProvider(rowHasChanged, getStableId) {
      this._firstIndexToProcess = 0;
      this._size = 0;
      this._data = [];
      this._hasStableIds = false;
      this._requiresDataChangeHandling = false;
      this.rowHasChanged = rowHasChanged;

      if (getStableId) {
        this.getStableId = getStableId;
        this._hasStableIds = true;
      } else {
        this.getStableId = function (index) {
          return index.toString();
        };
      }
    }

    BaseDataProvider.prototype.getDataForIndex = function (index) {
      return this._data[index];
    };

    BaseDataProvider.prototype.getAllData = function () {
      return this._data;
    };

    BaseDataProvider.prototype.getSize = function () {
      return this._size;
    };

    BaseDataProvider.prototype.hasStableIds = function () {
      return this._hasStableIds;
    };

    BaseDataProvider.prototype.requiresDataChangeHandling = function () {
      return this._requiresDataChangeHandling;
    };

    BaseDataProvider.prototype.getFirstIndexToProcessInternal = function () {
      return this._firstIndexToProcess;
    };

    BaseDataProvider.prototype.cloneWithRows = function (newData, firstModifiedIndex) {
      var dp = this.newInstance(this.rowHasChanged, this._hasStableIds ? this.getStableId : undefined);
      var newSize = newData.length;
      var iterCount = Math.min(this._size, newSize);

      if (_$$_REQUIRE(_dependencyMap[0]).ObjectUtil.isNullOrUndefined(firstModifiedIndex)) {
        var i = 0;

        for (i = 0; i < iterCount; i++) {
          if (this.rowHasChanged(this._data[i], newData[i])) {
            break;
          }
        }

        dp._firstIndexToProcess = i;
      } else {
        dp._firstIndexToProcess = Math.max(Math.min(firstModifiedIndex, this._data.length), 0);
      }

      if (dp._firstIndexToProcess !== this._data.length) {
        dp._requiresDataChangeHandling = true;
      }

      dp._data = newData;
      dp._size = newSize;
      return dp;
    };

    return BaseDataProvider;
  }();

  exports.BaseDataProvider = BaseDataProvider;

  var DataProvider = function (_super) {
    __extends(DataProvider, _super);

    function DataProvider() {
      return _super !== null && _super.apply(this, arguments) || this;
    }

    DataProvider.prototype.newInstance = function (rowHasChanged, getStableId) {
      return new DataProvider(rowHasChanged, getStableId);
    };

    return DataProvider;
  }(BaseDataProvider);

  exports.default = DataProvider;
},1550,[1551]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.ObjectUtil = _$$_REQUIRE(_dependencyMap[0]).ObjectUtil;
  exports.Default = _$$_REQUIRE(_dependencyMap[1]).Default;
},1551,[1552,1553]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var ObjectUtil = function () {
    function ObjectUtil() {}

    ObjectUtil.isNullOrUndefined = function (obj) {
      var ref = obj;
      return !(ref || ref === 0 || ref === false);
    };

    ObjectUtil.isNull = function (obj) {
      return obj === null;
    };

    ObjectUtil.isUndefined = function (obj) {
      return obj === undefined;
    };

    ObjectUtil.isNumber = function (obj) {
      return typeof obj === "number";
    };

    ObjectUtil.isString = function (obj) {
      return typeof obj === "string";
    };

    ObjectUtil.isObject = function (obj) {
      return typeof obj === "object";
    };

    return ObjectUtil;
  }();

  exports.ObjectUtil = ObjectUtil;
},1552,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var Default = function () {
    function Default() {}

    Default.value = function (obj, defaultValue) {
      return _$$_REQUIRE(_dependencyMap[0]).ObjectUtil.isNullOrUndefined(obj) ? defaultValue : obj;
    };

    return Default;
  }();

  exports.Default = Default;
},1553,[1552]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var __extends = this && this.__extends || function () {
    var _extendStatics = function extendStatics(d, b) {
      _extendStatics = Object.setPrototypeOf || {
        __proto__: []
      } instanceof Array && function (d, b) {
        d.__proto__ = b;
      } || function (d, b) {
        for (var p in b) {
          if (b.hasOwnProperty(p)) d[p] = b[p];
        }
      };

      return _extendStatics(d, b);
    };

    return function (d, b) {
      _extendStatics(d, b);

      function __() {
        this.constructor = d;
      }

      d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
  }();

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var BaseLayoutProvider = function () {
    function BaseLayoutProvider() {
      this.shouldRefreshWithAnchoring = true;
    }

    BaseLayoutProvider.prototype.createLayoutManager = function (renderWindowSize, isHorizontal, cachedLayouts) {
      this._lastLayoutManager = this.newLayoutManager(renderWindowSize, isHorizontal, cachedLayouts);
      return this._lastLayoutManager;
    };

    BaseLayoutProvider.prototype.getLayoutManager = function () {
      return this._lastLayoutManager;
    };

    return BaseLayoutProvider;
  }();

  exports.BaseLayoutProvider = BaseLayoutProvider;

  var LayoutProvider = function (_super) {
    __extends(LayoutProvider, _super);

    function LayoutProvider(getLayoutTypeForIndex, setLayoutForType) {
      var _this = _super.call(this) || this;

      _this._getLayoutTypeForIndex = getLayoutTypeForIndex;
      _this._setLayoutForType = setLayoutForType;
      _this._tempDim = {
        height: 0,
        width: 0
      };
      return _this;
    }

    LayoutProvider.prototype.newLayoutManager = function (renderWindowSize, isHorizontal, cachedLayouts) {
      return new (_$$_REQUIRE(_dependencyMap[0]).WrapGridLayoutManager)(this, renderWindowSize, isHorizontal, cachedLayouts);
    };

    LayoutProvider.prototype.getLayoutTypeForIndex = function (index) {
      return this._getLayoutTypeForIndex(index);
    };

    LayoutProvider.prototype.setComputedLayout = function (type, dimension, index) {
      return this._setLayoutForType(type, dimension, index);
    };

    LayoutProvider.prototype.checkDimensionDiscrepancy = function (dimension, type, index) {
      var dimension1 = dimension;
      this.setComputedLayout(type, this._tempDim, index);
      var dimension2 = this._tempDim;
      var layoutManager = this.getLayoutManager();

      if (layoutManager) {
        layoutManager.setMaxBounds(dimension2);
      }

      return dimension1.height !== dimension2.height || dimension1.width !== dimension2.width;
    };

    return LayoutProvider;
  }(BaseLayoutProvider);

  exports.LayoutProvider = LayoutProvider;
},1554,[1555]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var __extends = this && this.__extends || function () {
    var _extendStatics = function extendStatics(d, b) {
      _extendStatics = Object.setPrototypeOf || {
        __proto__: []
      } instanceof Array && function (d, b) {
        d.__proto__ = b;
      } || function (d, b) {
        for (var p in b) {
          if (b.hasOwnProperty(p)) d[p] = b[p];
        }
      };

      return _extendStatics(d, b);
    };

    return function (d, b) {
      _extendStatics(d, b);

      function __() {
        this.constructor = d;
      }

      d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
  }();

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var LayoutManager = function () {
    function LayoutManager() {}

    LayoutManager.prototype.getOffsetForIndex = function (index) {
      var layouts = this.getLayouts();

      if (layouts.length > index) {
        return {
          x: layouts[index].x,
          y: layouts[index].y
        };
      } else {
        throw new (_$$_REQUIRE(_dependencyMap[0]).default)({
          message: "No layout available for index: " + index,
          type: "LayoutUnavailableException"
        });
      }
    };

    LayoutManager.prototype.getStyleOverridesForIndex = function (index) {
      return undefined;
    };

    LayoutManager.prototype.removeLayout = function (index) {
      var layouts = this.getLayouts();

      if (index < layouts.length) {
        layouts.splice(index, 1);
      }

      if (index === 0 && layouts.length > 0) {
        var firstLayout = layouts[0];
        firstLayout.x = 0;
        firstLayout.y = 0;
      }
    };

    return LayoutManager;
  }();

  exports.LayoutManager = LayoutManager;

  var WrapGridLayoutManager = function (_super) {
    __extends(WrapGridLayoutManager, _super);

    function WrapGridLayoutManager(layoutProvider, renderWindowSize, isHorizontal, cachedLayouts) {
      if (isHorizontal === undefined) {
        isHorizontal = false;
      }

      var _this = _super.call(this) || this;

      _this._layoutProvider = layoutProvider;
      _this._window = renderWindowSize;
      _this._totalHeight = 0;
      _this._totalWidth = 0;
      _this._isHorizontal = !!isHorizontal;
      _this._layouts = cachedLayouts ? cachedLayouts : [];
      return _this;
    }

    WrapGridLayoutManager.prototype.getContentDimension = function () {
      return {
        height: this._totalHeight,
        width: this._totalWidth
      };
    };

    WrapGridLayoutManager.prototype.getLayouts = function () {
      return this._layouts;
    };

    WrapGridLayoutManager.prototype.getOffsetForIndex = function (index) {
      if (this._layouts.length > index) {
        return {
          x: this._layouts[index].x,
          y: this._layouts[index].y
        };
      } else {
        throw new (_$$_REQUIRE(_dependencyMap[0]).default)({
          message: "No layout available for index: " + index,
          type: "LayoutUnavailableException"
        });
      }
    };

    WrapGridLayoutManager.prototype.overrideLayout = function (index, dim) {
      var layout = this._layouts[index];

      if (layout) {
        layout.isOverridden = true;
        layout.width = dim.width;
        layout.height = dim.height;
      }

      return true;
    };

    WrapGridLayoutManager.prototype.setMaxBounds = function (itemDim) {
      if (this._isHorizontal) {
        itemDim.height = Math.min(this._window.height, itemDim.height);
      } else {
        itemDim.width = Math.min(this._window.width, itemDim.width);
      }
    };

    WrapGridLayoutManager.prototype.relayoutFromIndex = function (startIndex, itemCount) {
      startIndex = this._locateFirstNeighbourIndex(startIndex);
      var startX = 0;
      var startY = 0;
      var maxBound = 0;
      var startVal = this._layouts[startIndex];

      if (startVal) {
        startX = startVal.x;
        startY = startVal.y;

        this._pointDimensionsToRect(startVal);
      }

      var oldItemCount = this._layouts.length;
      var itemDim = {
        height: 0,
        width: 0
      };
      var itemRect = null;
      var oldLayout = null;

      for (var i = startIndex; i < itemCount; i++) {
        oldLayout = this._layouts[i];

        var layoutType = this._layoutProvider.getLayoutTypeForIndex(i);

        if (oldLayout && oldLayout.isOverridden && oldLayout.type === layoutType) {
          itemDim.height = oldLayout.height;
          itemDim.width = oldLayout.width;
        } else {
          this._layoutProvider.setComputedLayout(layoutType, itemDim, i);
        }

        this.setMaxBounds(itemDim);

        while (!this._checkBounds(startX, startY, itemDim, this._isHorizontal)) {
          if (this._isHorizontal) {
            startX += maxBound;
            startY = 0;
            this._totalWidth += maxBound;
          } else {
            startX = 0;
            startY += maxBound;
            this._totalHeight += maxBound;
          }

          maxBound = 0;
        }

        maxBound = this._isHorizontal ? Math.max(maxBound, itemDim.width) : Math.max(maxBound, itemDim.height);

        if (i > oldItemCount - 1) {
          this._layouts.push({
            x: startX,
            y: startY,
            height: itemDim.height,
            width: itemDim.width,
            type: layoutType
          });
        } else {
          itemRect = this._layouts[i];
          itemRect.x = startX;
          itemRect.y = startY;
          itemRect.type = layoutType;
          itemRect.width = itemDim.width;
          itemRect.height = itemDim.height;
        }

        if (this._isHorizontal) {
          startY += itemDim.height;
        } else {
          startX += itemDim.width;
        }
      }

      if (oldItemCount > itemCount) {
        this._layouts.splice(itemCount, oldItemCount - itemCount);
      }

      this._setFinalDimensions(maxBound);
    };

    WrapGridLayoutManager.prototype._pointDimensionsToRect = function (itemRect) {
      if (this._isHorizontal) {
        this._totalWidth = itemRect.x;
      } else {
        this._totalHeight = itemRect.y;
      }
    };

    WrapGridLayoutManager.prototype._setFinalDimensions = function (maxBound) {
      if (this._isHorizontal) {
        this._totalHeight = this._window.height;
        this._totalWidth += maxBound;
      } else {
        this._totalWidth = this._window.width;
        this._totalHeight += maxBound;
      }
    };

    WrapGridLayoutManager.prototype._locateFirstNeighbourIndex = function (startIndex) {
      if (startIndex === 0) {
        return 0;
      }

      var i = startIndex - 1;

      for (; i >= 0; i--) {
        if (this._isHorizontal) {
          if (this._layouts[i].y === 0) {
            break;
          }
        } else if (this._layouts[i].x === 0) {
          break;
        }
      }

      return i;
    };

    WrapGridLayoutManager.prototype._checkBounds = function (itemX, itemY, itemDim, isHorizontal) {
      return isHorizontal ? itemY + itemDim.height <= this._window.height + 0.9 : itemX + itemDim.width <= this._window.width + 0.9;
    };

    return WrapGridLayoutManager;
  }(LayoutManager);

  exports.WrapGridLayoutManager = WrapGridLayoutManager;
},1555,[1556]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var __extends = this && this.__extends || function () {
    var _extendStatics = function extendStatics(d, b) {
      _extendStatics = Object.setPrototypeOf || {
        __proto__: []
      } instanceof Array && function (d, b) {
        d.__proto__ = b;
      } || function (d, b) {
        for (var p in b) {
          if (b.hasOwnProperty(p)) d[p] = b[p];
        }
      };

      return _extendStatics(d, b);
    };

    return function (d, b) {
      _extendStatics(d, b);

      function __() {
        this.constructor = d;
      }

      d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
  }();

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var CustomError = function (_super) {
    __extends(CustomError, _super);

    function CustomError(exception) {
      var _this = _super.call(this, exception.message) || this;

      _this.name = exception.type;
      return _this;
    }

    return CustomError;
  }(Error);

  exports.default = CustomError;
},1556,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var __extends = this && this.__extends || function () {
    var _extendStatics = function extendStatics(d, b) {
      _extendStatics = Object.setPrototypeOf || {
        __proto__: []
      } instanceof Array && function (d, b) {
        d.__proto__ = b;
      } || function (d, b) {
        for (var p in b) {
          if (b.hasOwnProperty(p)) d[p] = b[p];
        }
      };

      return _extendStatics(d, b);
    };

    return function (d, b) {
      _extendStatics(d, b);

      function __() {
        this.constructor = d;
      }

      d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
  }();

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var GridLayoutProvider = function (_super) {
    __extends(GridLayoutProvider, _super);

    function GridLayoutProvider(maxSpan, getLayoutType, getSpan, getHeightOrWidth, acceptableRelayoutDelta) {
      var _this = _super.call(this, getLayoutType, function (type, dimension, index) {
        _this.setLayout(dimension, index);
      }) || this;

      _this._getHeightOrWidth = getHeightOrWidth;
      _this._getSpan = getSpan;
      _this._maxSpan = maxSpan;
      _this._acceptableRelayoutDelta = acceptableRelayoutDelta === undefined || acceptableRelayoutDelta === null ? 1 : acceptableRelayoutDelta;
      return _this;
    }

    GridLayoutProvider.prototype.newLayoutManager = function (renderWindowSize, isHorizontal, cachedLayouts) {
      this._isHorizontal = isHorizontal;
      this._renderWindowSize = renderWindowSize;
      return new (_$$_REQUIRE(_dependencyMap[0]).GridLayoutManager)(this, renderWindowSize, this._getSpan, this._maxSpan, this._acceptableRelayoutDelta, this._isHorizontal, cachedLayouts);
    };

    GridLayoutProvider.prototype.setLayout = function (dimension, index) {
      var maxSpan = this._maxSpan;

      var itemSpan = this._getSpan(index);

      if (itemSpan > maxSpan) {
        throw new Error("Item span for index " + index + " is more than the max span");
      }

      if (this._renderWindowSize) {
        if (this._isHorizontal) {
          dimension.width = this._getHeightOrWidth(index);
          dimension.height = this._renderWindowSize.height / maxSpan * itemSpan;
        } else {
          dimension.height = this._getHeightOrWidth(index);
          dimension.width = this._renderWindowSize.width / maxSpan * itemSpan;
        }
      } else {
        throw new Error("setLayout called before layoutmanager was created, cannot be handled");
      }
    };

    return GridLayoutProvider;
  }(_$$_REQUIRE(_dependencyMap[1]).LayoutProvider);

  exports.GridLayoutProvider = GridLayoutProvider;
},1557,[1558,1554]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var __extends = this && this.__extends || function () {
    var _extendStatics = function extendStatics(d, b) {
      _extendStatics = Object.setPrototypeOf || {
        __proto__: []
      } instanceof Array && function (d, b) {
        d.__proto__ = b;
      } || function (d, b) {
        for (var p in b) {
          if (b.hasOwnProperty(p)) d[p] = b[p];
        }
      };

      return _extendStatics(d, b);
    };

    return function (d, b) {
      _extendStatics(d, b);

      function __() {
        this.constructor = d;
      }

      d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
  }();

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var GridLayoutManager = function (_super) {
    __extends(GridLayoutManager, _super);

    function GridLayoutManager(layoutProvider, renderWindowSize, getSpan, maxSpan, acceptableRelayoutDelta, isHorizontal, cachedLayouts) {
      var _this = _super.call(this, layoutProvider, renderWindowSize, isHorizontal, cachedLayouts) || this;

      _this._getSpan = getSpan;
      _this._isGridHorizontal = isHorizontal;
      _this._renderWindowSize = renderWindowSize;

      if (acceptableRelayoutDelta < 0) {
        throw new Error("acceptableRelayoutDelta cannot be less than 0");
      } else {
        _this._acceptableRelayoutDelta = acceptableRelayoutDelta;
      }

      if (maxSpan <= 0) {
        throw new Error("Max Column Span cannot be less than or equal to 0");
      } else {
        _this._maxSpan = maxSpan;
      }

      return _this;
    }

    GridLayoutManager.prototype.overrideLayout = function (index, dim) {
      var layout = this.getLayouts()[index];
      var heightDiff = Math.abs(dim.height - layout.height);
      var widthDiff = Math.abs(dim.width - layout.width);

      if (layout) {
        if (this._isGridHorizontal) {
          if (heightDiff < this._acceptableRelayoutDelta) {
            if (widthDiff === 0) {
              return false;
            }

            dim.height = layout.height;
          }
        } else {
          if (widthDiff < this._acceptableRelayoutDelta) {
            if (heightDiff === 0) {
              return false;
            }

            dim.width = layout.width;
          }
        }
      }

      return _super.prototype.overrideLayout.call(this, index, dim);
    };

    GridLayoutManager.prototype.getStyleOverridesForIndex = function (index) {
      var columnSpanForIndex = this._getSpan(index);

      return this._isGridHorizontal ? {
        height: this._renderWindowSize.height / this._maxSpan * columnSpanForIndex
      } : {
        width: this._renderWindowSize.width / this._maxSpan * columnSpanForIndex
      };
    };

    return GridLayoutManager;
  }(_$$_REQUIRE(_dependencyMap[0]).WrapGridLayoutManager);

  exports.GridLayoutManager = GridLayoutManager;
},1558,[1555]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var __extends = this && this.__extends || function () {
    var _extendStatics = function extendStatics(d, b) {
      _extendStatics = Object.setPrototypeOf || {
        __proto__: []
      } instanceof Array && function (d, b) {
        d.__proto__ = b;
      } || function (d, b) {
        for (var p in b) {
          if (b.hasOwnProperty(p)) d[p] = b[p];
        }
      };

      return _extendStatics(d, b);
    };

    return function (d, b) {
      _extendStatics(d, b);

      function __() {
        this.constructor = d;
      }

      d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
  }();

  var __assign = this && this.__assign || function () {
    __assign = Object.assign || function (t) {
      for (var s, i = 1, n = arguments.length; i < n; i++) {
        s = arguments[i];

        for (var p in s) {
          if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
        }
      }

      return t;
    };

    return __assign.apply(this, arguments);
  };

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var React = _$$_REQUIRE(_dependencyMap[0]);

  var react_native_1 = _$$_REQUIRE(_dependencyMap[1]);

  var IS_WEB = !react_native_1.Platform || react_native_1.Platform.OS === "web";

  var RecyclerListView = function (_super) {
    __extends(RecyclerListView, _super);

    function RecyclerListView(props, context) {
      var _this = _super.call(this, props, context) || this;

      _this.refreshRequestDebouncer = _$$_REQUIRE(_dependencyMap[2])(function (executable) {
        executable();
      });
      _this._onEndReachedCalled = false;
      _this._initComplete = false;
      _this._isMounted = true;
      _this._relayoutReqIndex = -1;
      _this._params = {
        initialOffset: 0,
        initialRenderIndex: 0,
        isHorizontal: false,
        itemCount: 0,
        renderAheadOffset: 250
      };
      _this._layout = {
        height: 0,
        width: 0
      };
      _this._pendingScrollToOffset = null;
      _this._tempDim = {
        height: 0,
        width: 0
      };
      _this._initialOffset = 0;
      _this._scrollComponent = null;
      _this._defaultItemAnimator = new (_$$_REQUIRE(_dependencyMap[3]).BaseItemAnimator)();

      _this.scrollToOffset = function (x, y, animate, useWindowCorrection) {
        if (animate === undefined) {
          animate = false;
        }

        if (useWindowCorrection === undefined) {
          useWindowCorrection = false;
        }

        if (_this._scrollComponent) {
          if (_this.props.isHorizontal) {
            y = 0;
            x = useWindowCorrection ? x - _this._windowCorrectionConfig.value.windowShift : x;
          } else {
            x = 0;
            y = useWindowCorrection ? y - _this._windowCorrectionConfig.value.windowShift : y;
          }

          _this._scrollComponent.scrollTo(x, y, animate);
        }
      };

      _this._onItemLayout = function (index) {
        _this.onItemLayout(index);
      };

      _this._onSizeChanged = function (layout) {
        if (layout.height === 0 || layout.width === 0) {
          if (!_this.props.suppressBoundedSizeException) {
            throw new (_$$_REQUIRE(_dependencyMap[4]).default)(_$$_REQUIRE(_dependencyMap[5]).default.layoutException);
          } else {
            return;
          }
        }

        if (!_this.props.canChangeSize && _this.props.layoutSize) {
          return;
        }

        var hasHeightChanged = _this._layout.height !== layout.height;
        var hasWidthChanged = _this._layout.width !== layout.width;
        _this._layout.height = layout.height;
        _this._layout.width = layout.width;

        if (!_this._initComplete) {
          _this._initComplete = true;

          _this._initTrackers(_this.props);

          _this._processOnEndReached();
        } else {
          if (hasHeightChanged && hasWidthChanged || hasHeightChanged && _this.props.isHorizontal || hasWidthChanged && !_this.props.isHorizontal) {
            _this._checkAndChangeLayouts(_this.props, true);
          } else {
            _this._refreshViewability();
          }
        }
      };

      _this._renderStackWhenReady = function (stack) {
        if (_this._pendingScrollToOffset) {
          _this._pendingRenderStack = stack;
          return;
        }

        if (!_this._initStateIfRequired(stack)) {
          _this.setState(function () {
            return {
              renderStack: stack
            };
          });
        }
      };

      _this._dataHasChanged = function (row1, row2) {
        return _this.props.dataProvider.rowHasChanged(row1, row2);
      };

      _this._onViewContainerSizeChange = function (dim, index) {
        var layoutManager = _this._virtualRenderer.getLayoutManager();

        if (_this.props.debugHandlers && _this.props.debugHandlers.resizeDebugHandler) {
          var itemRect = layoutManager.getLayouts()[index];

          _this.props.debugHandlers.resizeDebugHandler.resizeDebug({
            width: itemRect.width,
            height: itemRect.height
          }, dim, index);
        }

        if (_this.props.forceNonDeterministicRendering && layoutManager.overrideLayout(index, dim)) {
          if (_this._relayoutReqIndex === -1) {
            _this._relayoutReqIndex = index;
          } else {
            _this._relayoutReqIndex = Math.min(_this._relayoutReqIndex, index);
          }

          _this._queueStateRefresh();
        }
      };

      _this._onScroll = function (offsetX, offsetY, rawEvent) {
        _this._virtualRenderer.updateOffset(offsetX, offsetY, true, _this._getWindowCorrection(offsetX, offsetY, _this.props));

        if (_this.props.onScroll) {
          _this.props.onScroll(rawEvent, offsetX, offsetY);
        }

        _this._processOnEndReached();
      };

      _this._virtualRenderer = new (_$$_REQUIRE(_dependencyMap[6]).default)(_this._renderStackWhenReady, function (offset) {
        _this._pendingScrollToOffset = offset;
      }, function (index) {
        return _this.props.dataProvider.getStableId(index);
      }, !props.disableRecycling);

      if (_this.props.windowCorrectionConfig) {
        var windowCorrection = undefined;

        if (_this.props.windowCorrectionConfig.value) {
          windowCorrection = _this.props.windowCorrectionConfig.value;
        } else {
          windowCorrection = {
            startCorrection: 0,
            endCorrection: 0,
            windowShift: 0
          };
        }

        _this._windowCorrectionConfig = {
          applyToItemScroll: !!_this.props.windowCorrectionConfig.applyToItemScroll,
          applyToInitialOffset: !!_this.props.windowCorrectionConfig.applyToInitialOffset,
          value: windowCorrection
        };
      } else {
        _this._windowCorrectionConfig = {
          applyToItemScroll: false,
          applyToInitialOffset: false,
          value: {
            startCorrection: 0,
            endCorrection: 0,
            windowShift: 0
          }
        };
      }

      _this._getContextFromContextProvider(props);

      if (props.layoutSize) {
        _this._layout.height = props.layoutSize.height;
        _this._layout.width = props.layoutSize.width;
        _this._initComplete = true;

        _this._initTrackers(props);
      } else {
        _this.state = {
          internalSnapshot: {},
          renderStack: {}
        };
      }

      return _this;
    }

    RecyclerListView.prototype.componentWillReceivePropsCompat = function (newProps) {
      this._assertDependencyPresence(newProps);

      this._checkAndChangeLayouts(newProps);

      if (!newProps.onVisibleIndicesChanged) {
        this._virtualRenderer.removeVisibleItemsListener();
      }

      if (newProps.onVisibleIndexesChanged) {
        throw new (_$$_REQUIRE(_dependencyMap[4]).default)(_$$_REQUIRE(_dependencyMap[5]).default.usingOldVisibleIndexesChangedParam);
      }

      if (newProps.onVisibleIndicesChanged) {
        this._virtualRenderer.attachVisibleItemsListener(newProps.onVisibleIndicesChanged);
      }
    };

    RecyclerListView.prototype.componentDidUpdate = function () {
      this._processInitialOffset();

      this._processOnEndReached();

      this._checkAndChangeLayouts(this.props);

      this._virtualRenderer.setOptimizeForAnimations(false);
    };

    RecyclerListView.prototype.componentDidMount = function () {
      if (this._initComplete) {
        this._processInitialOffset();

        this._processOnEndReached();
      }
    };

    RecyclerListView.prototype.componentWillUnmount = function () {
      this._isMounted = false;

      if (this.props.contextProvider) {
        var uniqueKey = this.props.contextProvider.getUniqueKey();

        if (uniqueKey) {
          this.props.contextProvider.save(uniqueKey + _$$_REQUIRE(_dependencyMap[7]).Constants.CONTEXT_PROVIDER_OFFSET_KEY_SUFFIX, this.getCurrentScrollOffset());

          if (this.props.forceNonDeterministicRendering) {
            if (this._virtualRenderer) {
              var layoutManager = this._virtualRenderer.getLayoutManager();

              if (layoutManager) {
                var layoutsToCache = layoutManager.getLayouts();
                this.props.contextProvider.save(uniqueKey + _$$_REQUIRE(_dependencyMap[7]).Constants.CONTEXT_PROVIDER_LAYOUT_KEY_SUFFIX, JSON.stringify({
                  layoutArray: layoutsToCache
                }));
              }
            }
          }
        }
      }
    };

    RecyclerListView.prototype.scrollToIndex = function (index, animate) {
      var layoutManager = this._virtualRenderer.getLayoutManager();

      if (layoutManager) {
        var offsets = layoutManager.getOffsetForIndex(index);
        this.scrollToOffset(offsets.x, offsets.y, animate, this._windowCorrectionConfig.applyToItemScroll);
      } else {
        console.warn(_$$_REQUIRE(_dependencyMap[8]).Messages.WARN_SCROLL_TO_INDEX);
      }
    };

    RecyclerListView.prototype.bringToFocus = function (index, animate) {
      var listSize = this.getRenderedSize();
      var itemLayout = this.getLayout(index);

      var currentScrollOffset = this.getCurrentScrollOffset() + this._windowCorrectionConfig.value.windowShift;

      var isHorizontal = this.props.isHorizontal;

      if (itemLayout) {
        var mainAxisLayoutDimen = isHorizontal ? itemLayout.width : itemLayout.height;
        var mainAxisLayoutPos = isHorizontal ? itemLayout.x : itemLayout.y;
        var mainAxisListDimen = isHorizontal ? listSize.width : listSize.height;
        var screenEndPos = mainAxisListDimen + currentScrollOffset;

        if (mainAxisLayoutDimen > mainAxisListDimen || mainAxisLayoutPos < currentScrollOffset || mainAxisLayoutPos > screenEndPos) {
          this.scrollToIndex(index);
        } else {
          var viewEndPos = mainAxisLayoutPos + mainAxisLayoutDimen;

          if (viewEndPos > screenEndPos) {
            var offset = viewEndPos - screenEndPos;
            this.scrollToOffset(offset + currentScrollOffset, offset + currentScrollOffset, animate, true);
          }
        }
      }
    };

    RecyclerListView.prototype.scrollToItem = function (data, animate) {
      var count = this.props.dataProvider.getSize();

      for (var i = 0; i < count; i++) {
        if (this.props.dataProvider.getDataForIndex(i) === data) {
          this.scrollToIndex(i, animate);
          break;
        }
      }
    };

    RecyclerListView.prototype.getLayout = function (index) {
      var layoutManager = this._virtualRenderer.getLayoutManager();

      return layoutManager ? layoutManager.getLayouts()[index] : undefined;
    };

    RecyclerListView.prototype.scrollToTop = function (animate) {
      this.scrollToOffset(0, 0, animate);
    };

    RecyclerListView.prototype.scrollToEnd = function (animate) {
      var lastIndex = this.props.dataProvider.getSize() - 1;
      this.scrollToIndex(lastIndex, animate);
    };

    RecyclerListView.prototype.updateRenderAheadOffset = function (renderAheadOffset) {
      var viewabilityTracker = this._virtualRenderer.getViewabilityTracker();

      if (viewabilityTracker) {
        viewabilityTracker.updateRenderAheadOffset(renderAheadOffset);
        return true;
      }

      return false;
    };

    RecyclerListView.prototype.getCurrentRenderAheadOffset = function () {
      var viewabilityTracker = this._virtualRenderer.getViewabilityTracker();

      if (viewabilityTracker) {
        return viewabilityTracker.getCurrentRenderAheadOffset();
      }

      return this.props.renderAheadOffset;
    };

    RecyclerListView.prototype.getCurrentScrollOffset = function () {
      var viewabilityTracker = this._virtualRenderer.getViewabilityTracker();

      return viewabilityTracker ? viewabilityTracker.getLastActualOffset() : 0;
    };

    RecyclerListView.prototype.findApproxFirstVisibleIndex = function () {
      var viewabilityTracker = this._virtualRenderer.getViewabilityTracker();

      return viewabilityTracker ? viewabilityTracker.findFirstLogicallyVisibleIndex() : 0;
    };

    RecyclerListView.prototype.getRenderedSize = function () {
      return this._layout;
    };

    RecyclerListView.prototype.getContentDimension = function () {
      return this._virtualRenderer.getLayoutDimension();
    };

    RecyclerListView.prototype.forceRerender = function () {
      this.setState({
        internalSnapshot: {}
      });
    };

    RecyclerListView.prototype.getScrollableNode = function () {
      if (this._scrollComponent && this._scrollComponent.getScrollableNode) {
        return this._scrollComponent.getScrollableNode();
      }

      return null;
    };

    RecyclerListView.prototype.renderCompat = function () {
      var _this = this;

      return React.createElement(_$$_REQUIRE(_dependencyMap[9]).default, __assign({
        ref: function ref(scrollComponent) {
          return _this._scrollComponent = scrollComponent;
        }
      }, this.props, this.props.scrollViewProps, {
        onScroll: this._onScroll,
        onSizeChanged: this._onSizeChanged,
        contentHeight: this._initComplete ? this._virtualRenderer.getLayoutDimension().height : 0,
        contentWidth: this._initComplete ? this._virtualRenderer.getLayoutDimension().width : 0,
        renderAheadOffset: this.getCurrentRenderAheadOffset()
      }), this._generateRenderStack());
    };

    RecyclerListView.prototype.prepareForLayoutAnimationRender = function () {
      this._virtualRenderer.setOptimizeForAnimations(true);
    };

    RecyclerListView.prototype.getVirtualRenderer = function () {
      return this._virtualRenderer;
    };

    RecyclerListView.prototype.onItemLayout = function (index) {
      if (this.props.onItemLayout) {
        this.props.onItemLayout(index);
      }
    };

    RecyclerListView.prototype._processInitialOffset = function () {
      var _this = this;

      if (this._pendingScrollToOffset) {
        setTimeout(function () {
          if (_this._pendingScrollToOffset) {
            var offset = _this._pendingScrollToOffset;
            _this._pendingScrollToOffset = null;

            if (_this.props.isHorizontal) {
              offset.y = 0;
            } else {
              offset.x = 0;
            }

            _this.scrollToOffset(offset.x, offset.y, false, _this._windowCorrectionConfig.applyToInitialOffset);

            if (_this._pendingRenderStack) {
              _this._renderStackWhenReady(_this._pendingRenderStack);

              _this._pendingRenderStack = undefined;
            }
          }
        }, 0);
      }
    };

    RecyclerListView.prototype._getContextFromContextProvider = function (props) {
      if (props.contextProvider) {
        var uniqueKey = props.contextProvider.getUniqueKey();

        if (uniqueKey) {
          var offset = props.contextProvider.get(uniqueKey + _$$_REQUIRE(_dependencyMap[7]).Constants.CONTEXT_PROVIDER_OFFSET_KEY_SUFFIX);

          if (typeof offset === "number" && offset > 0) {
            this._initialOffset = offset;

            if (props.onRecreate) {
              props.onRecreate({
                lastOffset: this._initialOffset
              });
            }

            props.contextProvider.remove(uniqueKey + _$$_REQUIRE(_dependencyMap[7]).Constants.CONTEXT_PROVIDER_OFFSET_KEY_SUFFIX);
          }

          if (props.forceNonDeterministicRendering) {
            var cachedLayouts = props.contextProvider.get(uniqueKey + _$$_REQUIRE(_dependencyMap[7]).Constants.CONTEXT_PROVIDER_LAYOUT_KEY_SUFFIX);

            if (cachedLayouts && typeof cachedLayouts === "string") {
              this._cachedLayouts = JSON.parse(cachedLayouts).layoutArray;
              props.contextProvider.remove(uniqueKey + _$$_REQUIRE(_dependencyMap[7]).Constants.CONTEXT_PROVIDER_LAYOUT_KEY_SUFFIX);
            }
          }
        }
      }
    };

    RecyclerListView.prototype._checkAndChangeLayouts = function (newProps, forceFullRender) {
      this._params.isHorizontal = newProps.isHorizontal;
      this._params.itemCount = newProps.dataProvider.getSize();

      this._virtualRenderer.setParamsAndDimensions(this._params, this._layout);

      this._virtualRenderer.setLayoutProvider(newProps.layoutProvider);

      if (newProps.dataProvider.hasStableIds() && this.props.dataProvider !== newProps.dataProvider) {
        if (newProps.dataProvider.requiresDataChangeHandling()) {
          this._virtualRenderer.handleDataSetChange(newProps.dataProvider);
        } else if (this._virtualRenderer.hasPendingAnimationOptimization()) {
          console.warn(_$$_REQUIRE(_dependencyMap[8]).Messages.ANIMATION_ON_PAGINATION);
        }
      }

      if (this.props.layoutProvider !== newProps.layoutProvider || this.props.isHorizontal !== newProps.isHorizontal) {
        this._virtualRenderer.setLayoutManager(newProps.layoutProvider.createLayoutManager(this._layout, newProps.isHorizontal));

        if (newProps.layoutProvider.shouldRefreshWithAnchoring) {
          this._virtualRenderer.refreshWithAnchor();
        } else {
          this._virtualRenderer.refresh();
        }

        this._refreshViewability();
      } else if (this.props.dataProvider !== newProps.dataProvider) {
        if (newProps.dataProvider.getSize() > this.props.dataProvider.getSize()) {
          this._onEndReachedCalled = false;
        }

        var layoutManager = this._virtualRenderer.getLayoutManager();

        if (layoutManager) {
          layoutManager.relayoutFromIndex(newProps.dataProvider.getFirstIndexToProcessInternal(), newProps.dataProvider.getSize());

          this._virtualRenderer.refresh();
        }
      } else if (forceFullRender) {
        var layoutManager = this._virtualRenderer.getLayoutManager();

        if (layoutManager) {
          var cachedLayouts = layoutManager.getLayouts();

          this._virtualRenderer.setLayoutManager(newProps.layoutProvider.createLayoutManager(this._layout, newProps.isHorizontal, cachedLayouts));

          this._refreshViewability();
        }
      } else if (this._relayoutReqIndex >= 0) {
        var layoutManager = this._virtualRenderer.getLayoutManager();

        if (layoutManager) {
          var dataProviderSize = newProps.dataProvider.getSize();
          layoutManager.relayoutFromIndex(Math.min(Math.max(dataProviderSize - 1, 0), this._relayoutReqIndex), dataProviderSize);
          this._relayoutReqIndex = -1;

          this._refreshViewability();
        }
      }
    };

    RecyclerListView.prototype._refreshViewability = function () {
      this._virtualRenderer.refresh();

      this._queueStateRefresh();
    };

    RecyclerListView.prototype._queueStateRefresh = function () {
      var _this = this;

      this.refreshRequestDebouncer(function () {
        if (_this._isMounted) {
          _this.setState(function (prevState) {
            return prevState;
          });
        }
      });
    };

    RecyclerListView.prototype._initStateIfRequired = function (stack) {
      if (!this.state) {
        this.state = {
          internalSnapshot: {},
          renderStack: stack
        };
        return true;
      }

      return false;
    };

    RecyclerListView.prototype._initTrackers = function (props) {
      this._assertDependencyPresence(props);

      if (props.onVisibleIndexesChanged) {
        throw new (_$$_REQUIRE(_dependencyMap[4]).default)(_$$_REQUIRE(_dependencyMap[5]).default.usingOldVisibleIndexesChangedParam);
      }

      if (props.onVisibleIndicesChanged) {
        this._virtualRenderer.attachVisibleItemsListener(props.onVisibleIndicesChanged);
      }

      this._params = {
        initialOffset: this._initialOffset ? this._initialOffset : props.initialOffset,
        initialRenderIndex: props.initialRenderIndex,
        isHorizontal: props.isHorizontal,
        itemCount: props.dataProvider.getSize(),
        renderAheadOffset: props.renderAheadOffset
      };

      this._virtualRenderer.setParamsAndDimensions(this._params, this._layout);

      var layoutManager = props.layoutProvider.createLayoutManager(this._layout, props.isHorizontal, this._cachedLayouts);

      this._virtualRenderer.setLayoutManager(layoutManager);

      this._virtualRenderer.setLayoutProvider(props.layoutProvider);

      this._virtualRenderer.init();

      var offset = this._virtualRenderer.getInitialOffset();

      var contentDimension = layoutManager.getContentDimension();

      if (offset.y > 0 && contentDimension.height > this._layout.height || offset.x > 0 && contentDimension.width > this._layout.width) {
        this._pendingScrollToOffset = offset;

        if (!this._initStateIfRequired()) {
          this.setState({});
        }
      } else {
        this._virtualRenderer.startViewabilityTracker(this._getWindowCorrection(offset.x, offset.y, props));
      }
    };

    RecyclerListView.prototype._getWindowCorrection = function (offsetX, offsetY, props) {
      return props.applyWindowCorrection && props.applyWindowCorrection(offsetX, offsetY, this._windowCorrectionConfig.value) || this._windowCorrectionConfig.value;
    };

    RecyclerListView.prototype._assertDependencyPresence = function (props) {
      if (!props.dataProvider || !props.layoutProvider) {
        throw new (_$$_REQUIRE(_dependencyMap[4]).default)(_$$_REQUIRE(_dependencyMap[5]).default.unresolvedDependenciesException);
      }
    };

    RecyclerListView.prototype._assertType = function (type) {
      if (!type && type !== 0) {
        throw new (_$$_REQUIRE(_dependencyMap[4]).default)(_$$_REQUIRE(_dependencyMap[5]).default.itemTypeNullException);
      }
    };

    RecyclerListView.prototype._renderRowUsingMeta = function (itemMeta) {
      var dataSize = this.props.dataProvider.getSize();
      var dataIndex = itemMeta.dataIndex;

      if (!_$$_REQUIRE(_dependencyMap[10]).ObjectUtil.isNullOrUndefined(dataIndex) && dataIndex < dataSize) {
        var itemRect = this._virtualRenderer.getLayoutManager().getLayouts()[dataIndex];

        var data = this.props.dataProvider.getDataForIndex(dataIndex);
        var type = this.props.layoutProvider.getLayoutTypeForIndex(dataIndex);

        var key = this._virtualRenderer.syncAndGetKey(dataIndex);

        var styleOverrides = this._virtualRenderer.getLayoutManager().getStyleOverridesForIndex(dataIndex);

        this._assertType(type);

        if (!this.props.forceNonDeterministicRendering) {
          this._checkExpectedDimensionDiscrepancy(itemRect, type, dataIndex);
        }

        return React.createElement(_$$_REQUIRE(_dependencyMap[11]).default, {
          key: key,
          data: data,
          dataHasChanged: this._dataHasChanged,
          x: itemRect.x,
          y: itemRect.y,
          layoutType: type,
          index: dataIndex,
          styleOverrides: styleOverrides,
          layoutProvider: this.props.layoutProvider,
          forceNonDeterministicRendering: this.props.forceNonDeterministicRendering,
          isHorizontal: this.props.isHorizontal,
          onSizeChanged: this._onViewContainerSizeChange,
          childRenderer: this.props.rowRenderer,
          height: itemRect.height,
          width: itemRect.width,
          itemAnimator: _$$_REQUIRE(_dependencyMap[10]).Default.value(this.props.itemAnimator, this._defaultItemAnimator),
          extendedState: this.props.extendedState,
          internalSnapshot: this.state.internalSnapshot,
          renderItemContainer: this.props.renderItemContainer,
          onItemLayout: this._onItemLayout
        });
      }

      return null;
    };

    RecyclerListView.prototype._checkExpectedDimensionDiscrepancy = function (itemRect, type, index) {
      if (this.props.layoutProvider.checkDimensionDiscrepancy(itemRect, type, index)) {
        if (this._relayoutReqIndex === -1) {
          this._relayoutReqIndex = index;
        } else {
          this._relayoutReqIndex = Math.min(this._relayoutReqIndex, index);
        }
      }
    };

    RecyclerListView.prototype._generateRenderStack = function () {
      var renderedItems = [];

      if (this.state) {
        for (var key in this.state.renderStack) {
          if (this.state.renderStack.hasOwnProperty(key)) {
            renderedItems.push(this._renderRowUsingMeta(this.state.renderStack[key]));
          }
        }
      }

      return renderedItems;
    };

    RecyclerListView.prototype._processOnEndReached = function () {
      if (this.props.onEndReached && this._virtualRenderer) {
        var layout = this._virtualRenderer.getLayoutDimension();

        var viewabilityTracker = this._virtualRenderer.getViewabilityTracker();

        if (viewabilityTracker) {
          var windowBound = this.props.isHorizontal ? layout.width - this._layout.width : layout.height - this._layout.height;
          var lastOffset = viewabilityTracker ? viewabilityTracker.getLastOffset() : 0;
          var threshold = windowBound - lastOffset;
          var listLength = this.props.isHorizontal ? this._layout.width : this._layout.height;

          var triggerOnEndThresholdRelative = listLength * _$$_REQUIRE(_dependencyMap[10]).Default.value(this.props.onEndReachedThresholdRelative, 0);

          var triggerOnEndThreshold = _$$_REQUIRE(_dependencyMap[10]).Default.value(this.props.onEndReachedThreshold, 0);

          if (threshold <= triggerOnEndThresholdRelative || threshold <= triggerOnEndThreshold) {
            if (this.props.onEndReached && !this._onEndReachedCalled) {
              this._onEndReachedCalled = true;
              this.props.onEndReached();
            }
          } else {
            this._onEndReachedCalled = false;
          }
        }
      }
    };

    RecyclerListView.defaultProps = {
      canChangeSize: false,
      disableRecycling: false,
      initialOffset: 0,
      initialRenderIndex: 0,
      isHorizontal: false,
      onEndReachedThreshold: 0,
      onEndReachedThresholdRelative: 0,
      renderAheadOffset: IS_WEB ? 1000 : 250
    };
    RecyclerListView.propTypes = {};
    return RecyclerListView;
  }(_$$_REQUIRE(_dependencyMap[12]).ComponentCompat);

  exports.default = RecyclerListView;
  RecyclerListView.propTypes = {
    layoutProvider: _$$_REQUIRE(_dependencyMap[13]).instanceOf(_$$_REQUIRE(_dependencyMap[14]).BaseLayoutProvider).isRequired,
    dataProvider: _$$_REQUIRE(_dependencyMap[13]).instanceOf(_$$_REQUIRE(_dependencyMap[15]).BaseDataProvider).isRequired,
    contextProvider: _$$_REQUIRE(_dependencyMap[13]).instanceOf(_$$_REQUIRE(_dependencyMap[16]).default),
    rowRenderer: _$$_REQUIRE(_dependencyMap[13]).func.isRequired,
    initialOffset: _$$_REQUIRE(_dependencyMap[13]).number,
    renderAheadOffset: _$$_REQUIRE(_dependencyMap[13]).number,
    isHorizontal: _$$_REQUIRE(_dependencyMap[13]).bool,
    onScroll: _$$_REQUIRE(_dependencyMap[13]).func,
    onRecreate: _$$_REQUIRE(_dependencyMap[13]).func,
    externalScrollView: _$$_REQUIRE(_dependencyMap[13]).oneOfType([_$$_REQUIRE(_dependencyMap[13]).func, _$$_REQUIRE(_dependencyMap[13]).object]),
    onEndReached: _$$_REQUIRE(_dependencyMap[13]).func,
    onEndReachedThreshold: _$$_REQUIRE(_dependencyMap[13]).number,
    onEndReachedThresholdRelative: _$$_REQUIRE(_dependencyMap[13]).number,
    onVisibleIndexesChanged: _$$_REQUIRE(_dependencyMap[13]).func,
    onVisibleIndicesChanged: _$$_REQUIRE(_dependencyMap[13]).func,
    renderFooter: _$$_REQUIRE(_dependencyMap[13]).func,
    initialRenderIndex: _$$_REQUIRE(_dependencyMap[13]).number,
    layoutSize: _$$_REQUIRE(_dependencyMap[13]).object,
    scrollThrottle: _$$_REQUIRE(_dependencyMap[13]).number,
    canChangeSize: _$$_REQUIRE(_dependencyMap[13]).bool,
    useWindowScroll: _$$_REQUIRE(_dependencyMap[13]).bool,
    disableRecycling: _$$_REQUIRE(_dependencyMap[13]).bool,
    forceNonDeterministicRendering: _$$_REQUIRE(_dependencyMap[13]).bool,
    extendedState: _$$_REQUIRE(_dependencyMap[13]).object,
    itemAnimator: _$$_REQUIRE(_dependencyMap[13]).instanceOf(_$$_REQUIRE(_dependencyMap[3]).BaseItemAnimator),
    renderContentContainer: _$$_REQUIRE(_dependencyMap[13]).func,
    renderItemContainer: _$$_REQUIRE(_dependencyMap[13]).func,
    optimizeForInsertDeleteAnimations: _$$_REQUIRE(_dependencyMap[13]).bool,
    style: _$$_REQUIRE(_dependencyMap[13]).oneOfType([_$$_REQUIRE(_dependencyMap[13]).object, _$$_REQUIRE(_dependencyMap[13]).number]),
    scrollViewProps: _$$_REQUIRE(_dependencyMap[13]).object,
    applyWindowCorrection: _$$_REQUIRE(_dependencyMap[13]).func,
    onItemLayout: _$$_REQUIRE(_dependencyMap[13]).func,
    windowCorrectionConfig: _$$_REQUIRE(_dependencyMap[13]).object
  };
},1559,[17,28,1560,1561,1556,1562,1563,1568,1569,1570,1551,1572,1574,1575,1554,1550,1549]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var FUNC_ERROR_TEXT = 'Expected a function';
  var NAN = 0 / 0;
  var symbolTag = '[object Symbol]';
  var reTrim = /^\s+|\s+$/g;
  var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
  var reIsBinary = /^0b[01]+$/i;
  var reIsOctal = /^0o[0-7]+$/i;
  var freeParseInt = parseInt;
  var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
  var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
  var root = freeGlobal || freeSelf || Function('return this')();
  var objectProto = Object.prototype;
  var objectToString = objectProto.toString;
  var nativeMax = Math.max,
      nativeMin = Math.min;

  var now = function now() {
    return root.Date.now();
  };

  function debounce(func, wait, options) {
    var lastArgs,
        lastThis,
        maxWait,
        result,
        timerId,
        lastCallTime,
        lastInvokeTime = 0,
        leading = false,
        maxing = false,
        trailing = true;

    if (typeof func != 'function') {
      throw new TypeError(FUNC_ERROR_TEXT);
    }

    wait = toNumber(wait) || 0;

    if (isObject(options)) {
      leading = !!options.leading;
      maxing = 'maxWait' in options;
      maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
      trailing = 'trailing' in options ? !!options.trailing : trailing;
    }

    function invokeFunc(time) {
      var args = lastArgs,
          thisArg = lastThis;
      lastArgs = lastThis = undefined;
      lastInvokeTime = time;
      result = func.apply(thisArg, args);
      return result;
    }

    function leadingEdge(time) {
      lastInvokeTime = time;
      timerId = setTimeout(timerExpired, wait);
      return leading ? invokeFunc(time) : result;
    }

    function remainingWait(time) {
      var timeSinceLastCall = time - lastCallTime,
          timeSinceLastInvoke = time - lastInvokeTime,
          result = wait - timeSinceLastCall;
      return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;
    }

    function shouldInvoke(time) {
      var timeSinceLastCall = time - lastCallTime,
          timeSinceLastInvoke = time - lastInvokeTime;
      return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
    }

    function timerExpired() {
      var time = now();

      if (shouldInvoke(time)) {
        return trailingEdge(time);
      }

      timerId = setTimeout(timerExpired, remainingWait(time));
    }

    function trailingEdge(time) {
      timerId = undefined;

      if (trailing && lastArgs) {
        return invokeFunc(time);
      }

      lastArgs = lastThis = undefined;
      return result;
    }

    function cancel() {
      if (timerId !== undefined) {
        clearTimeout(timerId);
      }

      lastInvokeTime = 0;
      lastArgs = lastCallTime = lastThis = timerId = undefined;
    }

    function flush() {
      return timerId === undefined ? result : trailingEdge(now());
    }

    function debounced() {
      var time = now(),
          isInvoking = shouldInvoke(time);
      lastArgs = arguments;
      lastThis = this;
      lastCallTime = time;

      if (isInvoking) {
        if (timerId === undefined) {
          return leadingEdge(lastCallTime);
        }

        if (maxing) {
          timerId = setTimeout(timerExpired, wait);
          return invokeFunc(lastCallTime);
        }
      }

      if (timerId === undefined) {
        timerId = setTimeout(timerExpired, wait);
      }

      return result;
    }

    debounced.cancel = cancel;
    debounced.flush = flush;
    return debounced;
  }

  function isObject(value) {
    var type = typeof value;
    return !!value && (type == 'object' || type == 'function');
  }

  function isObjectLike(value) {
    return !!value && typeof value == 'object';
  }

  function isSymbol(value) {
    return typeof value == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag;
  }

  function toNumber(value) {
    if (typeof value == 'number') {
      return value;
    }

    if (isSymbol(value)) {
      return NAN;
    }

    if (isObject(value)) {
      var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
      value = isObject(other) ? other + '' : other;
    }

    if (typeof value != 'string') {
      return value === 0 ? value : +value;
    }

    value = value.replace(reTrim, '');
    var isBinary = reIsBinary.test(value);
    return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
  }

  module.exports = debounce;
},1560,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var BaseItemAnimator = function () {
    function BaseItemAnimator() {}

    BaseItemAnimator.prototype.animateWillMount = function (atX, atY, itemIndex) {
      return undefined;
    };

    BaseItemAnimator.prototype.animateDidMount = function (atX, atY, itemRef, itemIndex) {};

    BaseItemAnimator.prototype.animateWillUpdate = function (fromX, fromY, toX, toY, itemRef, itemIndex) {};

    BaseItemAnimator.prototype.animateShift = function (fromX, fromY, toX, toY, itemRef, itemIndex) {
      return false;
    };

    BaseItemAnimator.prototype.animateWillUnmount = function (atX, atY, itemRef, itemIndex) {};

    BaseItemAnimator.USE_NATIVE_DRIVER = false;
    return BaseItemAnimator;
  }();

  exports.BaseItemAnimator = BaseItemAnimator;
},1561,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  var RecyclerListViewExceptions = {
    initializationException: {
      message: "Parameters required for initializing the module are missing",
      type: "Initialization essentials missing"
    },
    itemBoundsException: {
      message: "Dimensions cannot be undefined or null, check if LayoutProvider returns irregular values",
      type: "ItemBoundsException"
    },
    itemTypeNullException: {
      message: "RecyclerListView items always require a type, check if LayoutProvider returns irregular values",
      type: "ItemTypeNullException"
    },
    layoutException: {
      message: "RecyclerListView needs to have a bounded size. Currently height or, width is 0.Consider adding style={{flex:1}} or, fixed dimensions",
      type: "LayoutException"
    },
    platformNotDetectedException: {
      message: "Unable to detect the running platform, if you're trying to run recyclerlistview in browser make sure process.env.RLV_ENV is set to browser in webpack config",
      type: "PlatformNotDetectedException"
    },
    unresolvedDependenciesException: {
      message: "missing datasource or layout provider, cannot proceed without it",
      type: "UnresolvedDependenciesException"
    },
    refNotAsFunctionException: {
      message: "When using StickyContainer, RecyclerListView needs to use ref as a function and not as a string.",
      type: "RefNotAsFunctionException"
    },
    wrongStickyChildTypeException: {
      message: "StickyContainer can only have a single child of type RecyclerListView.",
      type: "WrongStickyChildTypeException"
    },
    usingOldVisibleIndexesChangedParam: {
      message: "onVisibleIndexesChanged has been deprecated. Please use onVisibleIndicesChanged instead.",
      type: "usingOldVisibleIndexesChangedParam"
    },
    stickyIndicesArraySortError: {
      message: "The sticky indices array passed to StickyContainer isn't sorted in ascending order.",
      type: "stickyIndicesArraySortError"
    }
  };
  exports.default = RecyclerListViewExceptions;
},1562,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var VirtualRenderer = function () {
    function VirtualRenderer(renderStackChanged, scrollOnNextUpdate, fetchStableId, isRecyclingEnabled) {
      var _this = this;

      this._layoutProvider = _$$_REQUIRE(_dependencyMap[0]).default.cast(null);
      this._recyclePool = _$$_REQUIRE(_dependencyMap[0]).default.cast(null);
      this._layoutManager = null;
      this._viewabilityTracker = null;
      this._optimizeForAnimations = false;

      this._onVisibleItemsChanged = function (all, now, notNow) {
        if (_this.onVisibleItemsChanged) {
          _this.onVisibleItemsChanged(all, now, notNow);
        }
      };

      this._onEngagedItemsChanged = function (all, now, notNow) {
        var count = notNow.length;
        var resolvedKey;
        var disengagedIndex = 0;

        if (_this._isRecyclingEnabled) {
          for (var i = 0; i < count; i++) {
            disengagedIndex = notNow[i];
            delete _this._engagedIndexes[disengagedIndex];

            if (_this._params && disengagedIndex < _this._params.itemCount) {
              resolvedKey = _this._stableIdToRenderKeyMap[_this._fetchStableId(disengagedIndex)];

              if (!_$$_REQUIRE(_dependencyMap[1]).ObjectUtil.isNullOrUndefined(resolvedKey)) {
                _this._recyclePool.putRecycledObject(_this._layoutProvider.getLayoutTypeForIndex(disengagedIndex), resolvedKey.key);
              }
            }
          }
        }

        if (_this._updateRenderStack(now)) {
          _this._renderStackChanged(_this._renderStack);
        }
      };

      this._renderStack = {};
      this._fetchStableId = fetchStableId;
      this._stableIdToRenderKeyMap = {};
      this._engagedIndexes = {};
      this._renderStackChanged = renderStackChanged;
      this._scrollOnNextUpdate = scrollOnNextUpdate;
      this._dimensions = null;
      this._params = null;
      this._isRecyclingEnabled = isRecyclingEnabled;
      this._isViewTrackerRunning = false;
      this._markDirty = false;
      this._startKey = 0;
      this.onVisibleItemsChanged = null;
    }

    VirtualRenderer.prototype.getLayoutDimension = function () {
      if (this._layoutManager) {
        return this._layoutManager.getContentDimension();
      }

      return {
        height: 0,
        width: 0
      };
    };

    VirtualRenderer.prototype.setOptimizeForAnimations = function (shouldOptimize) {
      this._optimizeForAnimations = shouldOptimize;
    };

    VirtualRenderer.prototype.hasPendingAnimationOptimization = function () {
      return this._optimizeForAnimations;
    };

    VirtualRenderer.prototype.updateOffset = function (offsetX, offsetY, isActual, correction) {
      if (this._viewabilityTracker) {
        var offset = this._params && this._params.isHorizontal ? offsetX : offsetY;

        if (!this._isViewTrackerRunning) {
          if (isActual) {
            this._viewabilityTracker.setActualOffset(offset);
          }

          this.startViewabilityTracker(correction);
        }

        this._viewabilityTracker.updateOffset(offset, isActual, correction);
      }
    };

    VirtualRenderer.prototype.attachVisibleItemsListener = function (callback) {
      this.onVisibleItemsChanged = callback;
    };

    VirtualRenderer.prototype.removeVisibleItemsListener = function () {
      this.onVisibleItemsChanged = null;

      if (this._viewabilityTracker) {
        this._viewabilityTracker.onVisibleRowsChanged = null;
      }
    };

    VirtualRenderer.prototype.getLayoutManager = function () {
      return this._layoutManager;
    };

    VirtualRenderer.prototype.setParamsAndDimensions = function (params, dim) {
      this._params = params;
      this._dimensions = dim;
    };

    VirtualRenderer.prototype.setLayoutManager = function (layoutManager) {
      this._layoutManager = layoutManager;

      if (this._params) {
        this._layoutManager.relayoutFromIndex(0, this._params.itemCount);
      }
    };

    VirtualRenderer.prototype.setLayoutProvider = function (layoutProvider) {
      this._layoutProvider = layoutProvider;
    };

    VirtualRenderer.prototype.getViewabilityTracker = function () {
      return this._viewabilityTracker;
    };

    VirtualRenderer.prototype.refreshWithAnchor = function () {
      if (this._viewabilityTracker) {
        var firstVisibleIndex = this._viewabilityTracker.findFirstLogicallyVisibleIndex();

        this._prepareViewabilityTracker();

        var offset = 0;

        if (this._layoutManager && this._params) {
          firstVisibleIndex = Math.min(this._params.itemCount - 1, firstVisibleIndex);

          var point = this._layoutManager.getOffsetForIndex(firstVisibleIndex);

          this._scrollOnNextUpdate(point);

          offset = this._params.isHorizontal ? point.x : point.y;
        }

        this._viewabilityTracker.forceRefreshWithOffset(offset);
      }
    };

    VirtualRenderer.prototype.refresh = function () {
      if (this._viewabilityTracker) {
        this._prepareViewabilityTracker();

        this._viewabilityTracker.forceRefresh();
      }
    };

    VirtualRenderer.prototype.getInitialOffset = function () {
      var offset = {
        x: 0,
        y: 0
      };

      if (this._params) {
        var initialRenderIndex = _$$_REQUIRE(_dependencyMap[1]).Default.value(this._params.initialRenderIndex, 0);

        if (initialRenderIndex > 0 && this._layoutManager) {
          offset = this._layoutManager.getOffsetForIndex(initialRenderIndex);
          this._params.initialOffset = this._params.isHorizontal ? offset.x : offset.y;
        } else {
          if (this._params.isHorizontal) {
            offset.x = _$$_REQUIRE(_dependencyMap[1]).Default.value(this._params.initialOffset, 0);
            offset.y = 0;
          } else {
            offset.y = _$$_REQUIRE(_dependencyMap[1]).Default.value(this._params.initialOffset, 0);
            offset.x = 0;
          }
        }
      }

      return offset;
    };

    VirtualRenderer.prototype.init = function () {
      this.getInitialOffset();
      this._recyclePool = new (_$$_REQUIRE(_dependencyMap[2]).default)();

      if (this._params) {
        this._viewabilityTracker = new (_$$_REQUIRE(_dependencyMap[3]).default)(_$$_REQUIRE(_dependencyMap[1]).Default.value(this._params.renderAheadOffset, 0), _$$_REQUIRE(_dependencyMap[1]).Default.value(this._params.initialOffset, 0));
      } else {
        this._viewabilityTracker = new (_$$_REQUIRE(_dependencyMap[3]).default)(0, 0);
      }

      this._prepareViewabilityTracker();
    };

    VirtualRenderer.prototype.startViewabilityTracker = function (windowCorrection) {
      if (this._viewabilityTracker) {
        this._isViewTrackerRunning = true;

        this._viewabilityTracker.init(windowCorrection);
      }
    };

    VirtualRenderer.prototype.syncAndGetKey = function (index, overrideStableIdProvider, newRenderStack, keyToStableIdMap) {
      var getStableId = overrideStableIdProvider ? overrideStableIdProvider : this._fetchStableId;
      var renderStack = newRenderStack ? newRenderStack : this._renderStack;

      var stableIdItem = this._stableIdToRenderKeyMap[getStableId(index)];

      var key = stableIdItem ? stableIdItem.key : undefined;

      if (_$$_REQUIRE(_dependencyMap[1]).ObjectUtil.isNullOrUndefined(key)) {
        var type = this._layoutProvider.getLayoutTypeForIndex(index);

        key = this._recyclePool.getRecycledObject(type);

        if (!_$$_REQUIRE(_dependencyMap[1]).ObjectUtil.isNullOrUndefined(key)) {
          var itemMeta = renderStack[key];

          if (itemMeta) {
            var oldIndex = itemMeta.dataIndex;
            itemMeta.dataIndex = index;

            if (!_$$_REQUIRE(_dependencyMap[1]).ObjectUtil.isNullOrUndefined(oldIndex) && oldIndex !== index) {
              delete this._stableIdToRenderKeyMap[getStableId(oldIndex)];
            }
          } else {
            renderStack[key] = {
              dataIndex: index
            };

            if (keyToStableIdMap && keyToStableIdMap[key]) {
              delete this._stableIdToRenderKeyMap[keyToStableIdMap[key]];
            }
          }
        } else {
          key = getStableId(index);

          if (renderStack[key]) {
            key = this._getCollisionAvoidingKey();
          }

          renderStack[key] = {
            dataIndex: index
          };
        }

        this._markDirty = true;
        this._stableIdToRenderKeyMap[getStableId(index)] = {
          key: key,
          type: type
        };
      }

      if (!_$$_REQUIRE(_dependencyMap[1]).ObjectUtil.isNullOrUndefined(this._engagedIndexes[index])) {
        this._recyclePool.removeFromPool(key);
      }

      var stackItem = renderStack[key];

      if (stackItem && stackItem.dataIndex !== index) {
        console.warn("Possible stableId collision @", index);
      }

      return key;
    };

    VirtualRenderer.prototype.handleDataSetChange = function (newDataProvider) {
      var _this = this;

      var getStableId = newDataProvider.getStableId;
      var maxIndex = newDataProvider.getSize() - 1;
      var activeStableIds = {};
      var newRenderStack = {};
      var keyToStableIdMap = {};

      if (this._optimizeForAnimations && this._recyclePool) {
        this._recyclePool.clearAll();
      }

      for (var key in this._renderStack) {
        if (this._renderStack.hasOwnProperty(key)) {
          var index = this._renderStack[key].dataIndex;

          if (!_$$_REQUIRE(_dependencyMap[1]).ObjectUtil.isNullOrUndefined(index)) {
            if (index <= maxIndex) {
              var stableId = getStableId(index);
              activeStableIds[stableId] = 1;
            }
          }
        }
      }

      var oldActiveStableIds = Object.keys(this._stableIdToRenderKeyMap);
      var oldActiveStableIdsCount = oldActiveStableIds.length;

      for (var i = 0; i < oldActiveStableIdsCount; i++) {
        var key = oldActiveStableIds[i];
        var stableIdItem = this._stableIdToRenderKeyMap[key];

        if (stableIdItem) {
          if (!activeStableIds[key]) {
            if (!this._optimizeForAnimations && this._isRecyclingEnabled) {
              this._recyclePool.putRecycledObject(stableIdItem.type, stableIdItem.key);
            }

            delete this._stableIdToRenderKeyMap[key];
            var stackItem = this._renderStack[stableIdItem.key];
            var dataIndex = stackItem ? stackItem.dataIndex : undefined;

            if (!_$$_REQUIRE(_dependencyMap[1]).ObjectUtil.isNullOrUndefined(dataIndex) && dataIndex <= maxIndex && this._layoutManager) {
              this._layoutManager.removeLayout(dataIndex);
            }
          } else {
            keyToStableIdMap[stableIdItem.key] = key;
          }
        }
      }

      var renderStackKeys = Object.keys(this._renderStack).sort(function (a, b) {
        var firstItem = _this._renderStack[a];
        var secondItem = _this._renderStack[b];

        if (firstItem && firstItem.dataIndex && secondItem && secondItem.dataIndex) {
          return firstItem.dataIndex - secondItem.dataIndex;
        }

        return 1;
      });
      var renderStackLength = renderStackKeys.length;

      for (var i = 0; i < renderStackLength; i++) {
        var key = renderStackKeys[i];
        var index = this._renderStack[key].dataIndex;

        if (!_$$_REQUIRE(_dependencyMap[1]).ObjectUtil.isNullOrUndefined(index)) {
          if (index <= maxIndex) {
            var newKey = this.syncAndGetKey(index, getStableId, newRenderStack, keyToStableIdMap);
            var newStackItem = newRenderStack[newKey];

            if (!newStackItem) {
              newRenderStack[newKey] = {
                dataIndex: index
              };
            } else if (newStackItem.dataIndex !== index) {
              var cllKey = this._getCollisionAvoidingKey();

              newRenderStack[cllKey] = {
                dataIndex: index
              };
              this._stableIdToRenderKeyMap[getStableId(index)] = {
                key: cllKey,
                type: this._layoutProvider.getLayoutTypeForIndex(index)
              };
            }
          }
        }

        delete this._renderStack[key];
      }

      _$$_REQUIRE(_dependencyMap[4])(this._renderStack, newRenderStack);

      for (var key in this._renderStack) {
        if (this._renderStack.hasOwnProperty(key)) {
          var index = this._renderStack[key].dataIndex;

          if (!_$$_REQUIRE(_dependencyMap[1]).ObjectUtil.isNullOrUndefined(index) && _$$_REQUIRE(_dependencyMap[1]).ObjectUtil.isNullOrUndefined(this._engagedIndexes[index])) {
            var type = this._layoutProvider.getLayoutTypeForIndex(index);

            this._recyclePool.putRecycledObject(type, key);
          }
        }
      }
    };

    VirtualRenderer.prototype._getCollisionAvoidingKey = function () {
      return "#" + this._startKey++ + "_rlv_c";
    };

    VirtualRenderer.prototype._prepareViewabilityTracker = function () {
      if (this._viewabilityTracker && this._layoutManager && this._dimensions && this._params) {
        this._viewabilityTracker.onEngagedRowsChanged = this._onEngagedItemsChanged;

        if (this.onVisibleItemsChanged) {
          this._viewabilityTracker.onVisibleRowsChanged = this._onVisibleItemsChanged;
        }

        this._viewabilityTracker.setLayouts(this._layoutManager.getLayouts(), this._params.isHorizontal ? this._layoutManager.getContentDimension().width : this._layoutManager.getContentDimension().height);

        this._viewabilityTracker.setDimensions({
          height: this._dimensions.height,
          width: this._dimensions.width
        }, _$$_REQUIRE(_dependencyMap[1]).Default.value(this._params.isHorizontal, false));
      } else {
        throw new (_$$_REQUIRE(_dependencyMap[5]).default)(_$$_REQUIRE(_dependencyMap[6]).default.initializationException);
      }
    };

    VirtualRenderer.prototype._updateRenderStack = function (itemIndexes) {
      this._markDirty = false;
      var count = itemIndexes.length;
      var index = 0;
      var hasRenderStackChanged = false;

      for (var i = 0; i < count; i++) {
        index = itemIndexes[i];
        this._engagedIndexes[index] = 1;
        this.syncAndGetKey(index);
        hasRenderStackChanged = this._markDirty;
      }

      this._markDirty = false;
      return hasRenderStackChanged;
    };

    return VirtualRenderer;
  }();

  exports.default = VirtualRenderer;
},1563,[1564,1551,1565,1566,6,1556,1562]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var TSCast = function () {
    function TSCast() {}

    TSCast.cast = function (object) {
      return object;
    };

    return TSCast;
  }();

  exports.default = TSCast;
},1564,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var RecycleItemPool = function () {
    function RecycleItemPool() {
      this._recyclableObjectMap = {};
      this._availabilitySet = {};
    }

    RecycleItemPool.prototype.putRecycledObject = function (objectType, object) {
      objectType = this._stringify(objectType);

      var objectSet = this._getRelevantSet(objectType);

      if (!this._availabilitySet[object]) {
        objectSet[object] = null;
        this._availabilitySet[object] = objectType;
      }
    };

    RecycleItemPool.prototype.getRecycledObject = function (objectType) {
      objectType = this._stringify(objectType);

      var objectSet = this._getRelevantSet(objectType);

      var recycledObject;

      for (var property in objectSet) {
        if (objectSet.hasOwnProperty(property)) {
          recycledObject = property;
          break;
        }
      }

      if (recycledObject) {
        delete objectSet[recycledObject];
        delete this._availabilitySet[recycledObject];
      }

      return recycledObject;
    };

    RecycleItemPool.prototype.removeFromPool = function (object) {
      if (this._availabilitySet[object]) {
        delete this._getRelevantSet(this._availabilitySet[object])[object];
        delete this._availabilitySet[object];
        return true;
      }

      return false;
    };

    RecycleItemPool.prototype.clearAll = function () {
      this._recyclableObjectMap = {};
      this._availabilitySet = {};
    };

    RecycleItemPool.prototype._getRelevantSet = function (objectType) {
      var objectSet = this._recyclableObjectMap[objectType];

      if (!objectSet) {
        objectSet = {};
        this._recyclableObjectMap[objectType] = objectSet;
      }

      return objectSet;
    };

    RecycleItemPool.prototype._stringify = function (objectType) {
      if (typeof objectType === "number") {
        objectType = objectType.toString();
      }

      return objectType;
    };

    return RecycleItemPool;
  }();

  exports.default = RecycleItemPool;
},1565,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var ViewabilityTracker = function () {
    function ViewabilityTracker(renderAheadOffset, initialOffset) {
      var _this = this;

      this._layouts = [];

      this._valueExtractorForBinarySearch = function (index) {
        var itemRect = _this._layouts[index];

        _this._setRelevantBounds(itemRect, _this._relevantDim);

        return _this._relevantDim.end;
      };

      this._currentOffset = Math.max(0, initialOffset);
      this._maxOffset = 0;
      this._actualOffset = 0;
      this._renderAheadOffset = renderAheadOffset;
      this._visibleWindow = {
        start: 0,
        end: 0
      };
      this._engagedWindow = {
        start: 0,
        end: 0
      };
      this._isHorizontal = false;
      this._windowBound = 0;
      this._visibleIndexes = [];
      this._engagedIndexes = [];
      this.onVisibleRowsChanged = null;
      this.onEngagedRowsChanged = null;
      this._relevantDim = {
        start: 0,
        end: 0
      };
      this._defaultCorrection = {
        startCorrection: 0,
        endCorrection: 0,
        windowShift: 0
      };
    }

    ViewabilityTracker.prototype.init = function (windowCorrection) {
      this._doInitialFit(this._currentOffset, windowCorrection);
    };

    ViewabilityTracker.prototype.setLayouts = function (layouts, maxOffset) {
      this._layouts = layouts;
      this._maxOffset = maxOffset;
    };

    ViewabilityTracker.prototype.setDimensions = function (dimension, isHorizontal) {
      this._isHorizontal = isHorizontal;
      this._windowBound = isHorizontal ? dimension.width : dimension.height;
    };

    ViewabilityTracker.prototype.forceRefresh = function () {
      var shouldForceScroll = this._actualOffset >= 0 && this._currentOffset >= this._maxOffset - this._windowBound;
      this.forceRefreshWithOffset(this._currentOffset);
      return shouldForceScroll;
    };

    ViewabilityTracker.prototype.forceRefreshWithOffset = function (offset) {
      this._currentOffset = -1;
      this.updateOffset(offset, false, this._defaultCorrection);
    };

    ViewabilityTracker.prototype.updateOffset = function (offset, isActual, windowCorrection) {
      var correctedOffset = offset;

      if (isActual) {
        this._actualOffset = offset;
        correctedOffset = Math.min(this._maxOffset, Math.max(0, offset + (windowCorrection.windowShift + windowCorrection.startCorrection)));
      }

      if (this._currentOffset !== correctedOffset) {
        this._currentOffset = correctedOffset;

        this._updateTrackingWindows(offset, windowCorrection);

        var startIndex = 0;

        if (this._visibleIndexes.length > 0) {
          startIndex = this._visibleIndexes[0];
        }

        this._fitAndUpdate(startIndex);
      }
    };

    ViewabilityTracker.prototype.getLastOffset = function () {
      return this._currentOffset;
    };

    ViewabilityTracker.prototype.getLastActualOffset = function () {
      return this._actualOffset;
    };

    ViewabilityTracker.prototype.getEngagedIndexes = function () {
      return this._engagedIndexes;
    };

    ViewabilityTracker.prototype.findFirstLogicallyVisibleIndex = function () {
      var relevantIndex = this._findFirstVisibleIndexUsingBS(0.001);

      var result = relevantIndex;

      for (var i = relevantIndex - 1; i >= 0; i--) {
        if (this._isHorizontal) {
          if (this._layouts[relevantIndex].x !== this._layouts[i].x) {
            break;
          } else {
            result = i;
          }
        } else {
          if (this._layouts[relevantIndex].y !== this._layouts[i].y) {
            break;
          } else {
            result = i;
          }
        }
      }

      return result;
    };

    ViewabilityTracker.prototype.updateRenderAheadOffset = function (renderAheadOffset) {
      this._renderAheadOffset = Math.max(0, renderAheadOffset);
      this.forceRefreshWithOffset(this._currentOffset);
    };

    ViewabilityTracker.prototype.getCurrentRenderAheadOffset = function () {
      return this._renderAheadOffset;
    };

    ViewabilityTracker.prototype.setActualOffset = function (actualOffset) {
      this._actualOffset = actualOffset;
    };

    ViewabilityTracker.prototype._findFirstVisibleIndexOptimally = function () {
      var firstVisibleIndex = 0;

      if (this._currentOffset > 5000) {
        firstVisibleIndex = this._findFirstVisibleIndexUsingBS();
      } else if (this._currentOffset > 0) {
        firstVisibleIndex = this._findFirstVisibleIndexLinearly();
      }

      return firstVisibleIndex;
    };

    ViewabilityTracker.prototype._fitAndUpdate = function (startIndex) {
      var newVisibleItems = [];
      var newEngagedItems = [];

      this._fitIndexes(newVisibleItems, newEngagedItems, startIndex, true);

      this._fitIndexes(newVisibleItems, newEngagedItems, startIndex + 1, false);

      this._diffUpdateOriginalIndexesAndRaiseEvents(newVisibleItems, newEngagedItems);
    };

    ViewabilityTracker.prototype._doInitialFit = function (offset, windowCorrection) {
      offset = Math.min(this._maxOffset, Math.max(0, offset));

      this._updateTrackingWindows(offset, windowCorrection);

      var firstVisibleIndex = this._findFirstVisibleIndexOptimally();

      this._fitAndUpdate(firstVisibleIndex);
    };

    ViewabilityTracker.prototype._findFirstVisibleIndexLinearly = function () {
      var count = this._layouts.length;
      var itemRect = null;
      var relevantDim = {
        start: 0,
        end: 0
      };

      for (var i = 0; i < count; i++) {
        itemRect = this._layouts[i];

        this._setRelevantBounds(itemRect, relevantDim);

        if (this._itemIntersectsVisibleWindow(relevantDim.start, relevantDim.end)) {
          return i;
        }
      }

      return 0;
    };

    ViewabilityTracker.prototype._findFirstVisibleIndexUsingBS = function (bias) {
      if (bias === undefined) {
        bias = 0;
      }

      var count = this._layouts.length;
      return _$$_REQUIRE(_dependencyMap[0]).default.findClosestHigherValueIndex(count, this._visibleWindow.start + bias, this._valueExtractorForBinarySearch);
    };

    ViewabilityTracker.prototype._fitIndexes = function (newVisibleIndexes, newEngagedIndexes, startIndex, isReverse) {
      var count = this._layouts.length;
      var relevantDim = {
        start: 0,
        end: 0
      };
      var i = 0;
      var atLeastOneLocated = false;

      if (startIndex < count) {
        if (!isReverse) {
          for (i = startIndex; i < count; i++) {
            if (this._checkIntersectionAndReport(i, false, relevantDim, newVisibleIndexes, newEngagedIndexes)) {
              atLeastOneLocated = true;
            } else {
              if (atLeastOneLocated) {
                break;
              }
            }
          }
        } else {
          for (i = startIndex; i >= 0; i--) {
            if (this._checkIntersectionAndReport(i, true, relevantDim, newVisibleIndexes, newEngagedIndexes)) {
              atLeastOneLocated = true;
            } else {
              if (atLeastOneLocated) {
                break;
              }
            }
          }
        }
      }
    };

    ViewabilityTracker.prototype._checkIntersectionAndReport = function (index, insertOnTop, relevantDim, newVisibleIndexes, newEngagedIndexes) {
      var itemRect = this._layouts[index];
      var isFound = false;

      this._setRelevantBounds(itemRect, relevantDim);

      if (this._itemIntersectsVisibleWindow(relevantDim.start, relevantDim.end)) {
        if (insertOnTop) {
          newVisibleIndexes.splice(0, 0, index);
          newEngagedIndexes.splice(0, 0, index);
        } else {
          newVisibleIndexes.push(index);
          newEngagedIndexes.push(index);
        }

        isFound = true;
      } else if (this._itemIntersectsEngagedWindow(relevantDim.start, relevantDim.end)) {
        if (insertOnTop) {
          newEngagedIndexes.splice(0, 0, index);
        } else {
          newEngagedIndexes.push(index);
        }

        isFound = true;
      }

      return isFound;
    };

    ViewabilityTracker.prototype._setRelevantBounds = function (itemRect, relevantDim) {
      if (this._isHorizontal) {
        relevantDim.end = itemRect.x + itemRect.width;
        relevantDim.start = itemRect.x;
      } else {
        relevantDim.end = itemRect.y + itemRect.height;
        relevantDim.start = itemRect.y;
      }
    };

    ViewabilityTracker.prototype._isItemInBounds = function (window, itemBound) {
      return window.start < itemBound && window.end > itemBound;
    };

    ViewabilityTracker.prototype._isItemBoundsBeyondWindow = function (window, startBound, endBound) {
      return window.start >= startBound && window.end <= endBound;
    };

    ViewabilityTracker.prototype._isZeroHeightEdgeElement = function (window, startBound, endBound) {
      return startBound - endBound === 0 && (window.start === startBound || window.end === endBound);
    };

    ViewabilityTracker.prototype._itemIntersectsWindow = function (window, startBound, endBound) {
      return this._isItemInBounds(window, startBound) || this._isItemInBounds(window, endBound) || this._isItemBoundsBeyondWindow(window, startBound, endBound) || this._isZeroHeightEdgeElement(window, startBound, endBound);
    };

    ViewabilityTracker.prototype._itemIntersectsEngagedWindow = function (startBound, endBound) {
      return this._itemIntersectsWindow(this._engagedWindow, startBound, endBound);
    };

    ViewabilityTracker.prototype._itemIntersectsVisibleWindow = function (startBound, endBound) {
      return this._itemIntersectsWindow(this._visibleWindow, startBound, endBound);
    };

    ViewabilityTracker.prototype._updateTrackingWindows = function (offset, correction) {
      var startCorrection = correction.windowShift + correction.startCorrection;
      var bottomCorrection = correction.windowShift + correction.endCorrection;
      var startOffset = offset + startCorrection;
      var endOffset = offset + this._windowBound + bottomCorrection;
      this._engagedWindow.start = Math.max(0, startOffset - this._renderAheadOffset);
      this._engagedWindow.end = endOffset + this._renderAheadOffset;
      this._visibleWindow.start = startOffset;
      this._visibleWindow.end = endOffset;
    };

    ViewabilityTracker.prototype._diffUpdateOriginalIndexesAndRaiseEvents = function (newVisibleItems, newEngagedItems) {
      this._diffArraysAndCallFunc(newVisibleItems, this._visibleIndexes, this.onVisibleRowsChanged);

      this._diffArraysAndCallFunc(newEngagedItems, this._engagedIndexes, this.onEngagedRowsChanged);

      this._visibleIndexes = newVisibleItems;
      this._engagedIndexes = newEngagedItems;
    };

    ViewabilityTracker.prototype._diffArraysAndCallFunc = function (newItems, oldItems, func) {
      if (func) {
        var now = this._calculateArrayDiff(newItems, oldItems);

        var notNow = this._calculateArrayDiff(oldItems, newItems);

        if (now.length > 0 || notNow.length > 0) {
          func(newItems.slice(), now, notNow);
        }
      }
    };

    ViewabilityTracker.prototype._calculateArrayDiff = function (arr1, arr2) {
      var len = arr1.length;
      var diffArr = [];

      for (var i = 0; i < len; i++) {
        if (_$$_REQUIRE(_dependencyMap[0]).default.findIndexOf(arr2, arr1[i]) === -1) {
          diffArr.push(arr1[i]);
        }
      }

      return diffArr;
    };

    return ViewabilityTracker;
  }();

  exports.default = ViewabilityTracker;
},1566,[1567]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var BinarySearch = function () {
    function BinarySearch() {}

    BinarySearch.findClosestHigherValueIndex = function (size, targetValue, valueExtractor) {
      var low = 0;
      var high = size - 1;
      var mid = Math.floor((low + high) / 2);
      var lastValue = 0;
      var absoluteLastDiff = Math.abs(valueExtractor(mid) - targetValue);
      var result = mid;
      var diff = 0;
      var absoluteDiff = 0;

      if (absoluteLastDiff === 0) {
        return result;
      }

      if (high < 0) {
        throw new (_$$_REQUIRE(_dependencyMap[0]).default)({
          message: "The collection cannot be empty",
          type: "InvalidStateException"
        });
      }

      while (low <= high) {
        mid = Math.floor((low + high) / 2);
        lastValue = valueExtractor(mid);
        diff = lastValue - targetValue;
        absoluteDiff = Math.abs(diff);

        if (diff >= 0 && absoluteDiff < absoluteLastDiff) {
          absoluteLastDiff = absoluteDiff;
          result = mid;
        }

        if (targetValue < lastValue) {
          high = mid - 1;
        } else if (targetValue > lastValue) {
          low = mid + 1;
        } else {
          return mid;
        }
      }

      return result;
    };

    BinarySearch.findClosestValueToTarget = function (values, target) {
      var low = 0;
      var high = values.length - 1;
      var mid = Math.floor((low + high) / 2);
      var midValue = values[mid];
      var lastMidValue = midValue + 1;

      while (low <= high && midValue !== lastMidValue) {
        if (midValue === target) {
          break;
        } else if (midValue < target) {
          low = mid;
        } else if (midValue > target) {
          high = mid;
        }

        mid = Math.floor((low + high) / 2);
        lastMidValue = midValue;
        midValue = values[mid];
      }

      return {
        value: midValue,
        index: mid
      };
    };

    BinarySearch.findValueSmallerThanTarget = function (values, target) {
      var low = 0;
      var high = values.length - 1;

      if (target >= values[high]) {
        return {
          value: values[high],
          index: high
        };
      } else if (target < values[low]) {
        return undefined;
      }

      var midValueAndIndex = this.findClosestValueToTarget(values, target);
      var midValue = midValueAndIndex.value;
      var mid = midValueAndIndex.index;

      if (midValue <= target) {
        return {
          value: midValue,
          index: mid
        };
      } else {
        return {
          value: values[mid - 1],
          index: mid - 1
        };
      }
    };

    BinarySearch.findValueLargerThanTarget = function (values, target) {
      var low = 0;
      var high = values.length - 1;

      if (target < values[low]) {
        return {
          value: values[low],
          index: low
        };
      } else if (target > values[high]) {
        return undefined;
      }

      var midValueAndIndex = this.findClosestValueToTarget(values, target);
      var midValue = midValueAndIndex.value;
      var mid = midValueAndIndex.index;

      if (midValue >= target) {
        return {
          value: midValue,
          index: mid
        };
      } else {
        return {
          value: values[mid + 1],
          index: mid + 1
        };
      }
    };

    BinarySearch.findIndexOf = function (array, value) {
      var j = 0;
      var length = array.length;
      var i = 0;

      while (j < length) {
        i = length + j - 1 >> 1;

        if (value > array[i]) {
          j = i + 1;
        } else if (value < array[i]) {
          length = i;
        } else {
          return i;
        }
      }

      return -1;
    };

    return BinarySearch;
  }();

  exports.default = BinarySearch;
},1567,[1556]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Constants = {
    CONTEXT_PROVIDER_OFFSET_KEY_SUFFIX: "_offset",
    CONTEXT_PROVIDER_LAYOUT_KEY_SUFFIX: "_layouts"
  };
},1568,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Messages = {
    ERROR_LISTVIEW_VALIDATION: "missing datasource or layout provider, cannot proceed without it",
    WARN_SCROLL_TO_INDEX: "scrollTo was called before RecyclerListView was measured, please wait for the mount to finish",
    VISIBLE_INDEXES_CHANGED_DEPRECATED: "onVisibleIndexesChanged deprecated. Please use onVisibleIndicesChanged instead.",
    ANIMATION_ON_PAGINATION: "Looks like you're trying to use RecyclerListView's layout animation render while doing pagination. This operation will be ignored to avoid creation of too many items due to developer error."
  };
},1569,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var __extends = this && this.__extends || function () {
    var _extendStatics = function extendStatics(d, b) {
      _extendStatics = Object.setPrototypeOf || {
        __proto__: []
      } instanceof Array && function (d, b) {
        d.__proto__ = b;
      } || function (d, b) {
        for (var p in b) {
          if (b.hasOwnProperty(p)) d[p] = b[p];
        }
      };

      return _extendStatics(d, b);
    };

    return function (d, b) {
      _extendStatics(d, b);

      function __() {
        this.constructor = d;
      }

      d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
  }();

  var __assign = this && this.__assign || function () {
    __assign = Object.assign || function (t) {
      for (var s, i = 1, n = arguments.length; i < n; i++) {
        s = arguments[i];

        for (var p in s) {
          if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
        }
      }

      return t;
    };

    return __assign.apply(this, arguments);
  };

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var React = _$$_REQUIRE(_dependencyMap[0]);

  var react_native_1 = _$$_REQUIRE(_dependencyMap[1]);

  var ScrollComponent = function (_super) {
    __extends(ScrollComponent, _super);

    function ScrollComponent(args) {
      var _this = _super.call(this, args) || this;

      _this._scrollViewRef = null;

      _this._getScrollViewRef = function (scrollView) {
        _this._scrollViewRef = scrollView;
      };

      _this._onScroll = function (event) {
        if (event) {
          var contentOffset = event.nativeEvent.contentOffset;
          _this._offset = _this.props.isHorizontal ? contentOffset.x : contentOffset.y;

          _this.props.onScroll(contentOffset.x, contentOffset.y, event);
        }
      };

      _this._onLayout = function (event) {
        if (_this._height !== event.nativeEvent.layout.height || _this._width !== event.nativeEvent.layout.width) {
          _this._height = event.nativeEvent.layout.height;
          _this._width = event.nativeEvent.layout.width;

          if (_this.props.onSizeChanged) {
            _this._isSizeChangedCalledOnce = true;

            _this.props.onSizeChanged(event.nativeEvent.layout);
          }
        }

        if (_this.props.onLayout) {
          _this.props.onLayout(event);
        }
      };

      _this._height = args.layoutSize && args.layoutSize.height || 0;
      _this._width = args.layoutSize && args.layoutSize.width || 0;
      _this._offset = 0;
      _this._isSizeChangedCalledOnce = false;
      return _this;
    }

    ScrollComponent.prototype.scrollTo = function (x, y, isAnimated) {
      if (this._scrollViewRef) {
        this._scrollViewRef.scrollTo({
          x: x,
          y: y,
          animated: isAnimated
        });
      }
    };

    ScrollComponent.prototype.getScrollableNode = function () {
      if (this._scrollViewRef && this._scrollViewRef.getScrollableNode) {
        return this._scrollViewRef.getScrollableNode();
      }

      return null;
    };

    ScrollComponent.prototype.render = function () {
      var Scroller = _$$_REQUIRE(_dependencyMap[2]).default.cast(this.props.externalScrollView);

      var renderContentContainer = this.props.renderContentContainer ? this.props.renderContentContainer : this._defaultContainer;
      var contentContainerProps = {
        style: {
          height: this.props.contentHeight,
          width: this.props.contentWidth
        },
        horizontal: this.props.isHorizontal,
        scrollOffset: this._offset,
        renderAheadOffset: this.props.renderAheadOffset,
        windowSize: (this.props.isHorizontal ? this._width : this._height) + this.props.renderAheadOffset
      };
      return React.createElement(Scroller, __assign({
        ref: this._getScrollViewRef,
        removeClippedSubviews: false,
        scrollEventThrottle: this.props.scrollThrottle
      }, this.props, {
        horizontal: this.props.isHorizontal,
        onScroll: this._onScroll,
        onLayout: !this._isSizeChangedCalledOnce || this.props.canChangeSize ? this._onLayout : this.props.onLayout
      }), React.createElement(react_native_1.View, {
        style: {
          flexDirection: this.props.isHorizontal ? "row" : "column"
        }
      }, renderContentContainer(contentContainerProps, this.props.children), this.props.renderFooter ? this.props.renderFooter() : null));
    };

    ScrollComponent.prototype._defaultContainer = function (props, children) {
      return React.createElement(react_native_1.View, __assign({}, props), children);
    };

    ScrollComponent.defaultProps = {
      contentHeight: 0,
      contentWidth: 0,
      externalScrollView: _$$_REQUIRE(_dependencyMap[2]).default.cast(react_native_1.ScrollView),
      isHorizontal: false,
      scrollThrottle: 16
    };
    return ScrollComponent;
  }(_$$_REQUIRE(_dependencyMap[3]).default);

  exports.default = ScrollComponent;
},1570,[17,28,1564,1571]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var __extends = this && this.__extends || function () {
    var _extendStatics = function extendStatics(d, b) {
      _extendStatics = Object.setPrototypeOf || {
        __proto__: []
      } instanceof Array && function (d, b) {
        d.__proto__ = b;
      } || function (d, b) {
        for (var p in b) {
          if (b.hasOwnProperty(p)) d[p] = b[p];
        }
      };

      return _extendStatics(d, b);
    };

    return function (d, b) {
      _extendStatics(d, b);

      function __() {
        this.constructor = d;
      }

      d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
  }();

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var React = _$$_REQUIRE(_dependencyMap[0]);

  var BaseScrollComponent = function (_super) {
    __extends(BaseScrollComponent, _super);

    function BaseScrollComponent() {
      return _super !== null && _super.apply(this, arguments) || this;
    }

    BaseScrollComponent.prototype.getScrollableNode = function () {
      return null;
    };

    return BaseScrollComponent;
  }(React.Component);

  exports.default = BaseScrollComponent;
},1571,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var __extends = this && this.__extends || function () {
    var _extendStatics = function extendStatics(d, b) {
      _extendStatics = Object.setPrototypeOf || {
        __proto__: []
      } instanceof Array && function (d, b) {
        d.__proto__ = b;
      } || function (d, b) {
        for (var p in b) {
          if (b.hasOwnProperty(p)) d[p] = b[p];
        }
      };

      return _extendStatics(d, b);
    };

    return function (d, b) {
      _extendStatics(d, b);

      function __() {
        this.constructor = d;
      }

      d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
  }();

  var __assign = this && this.__assign || function () {
    __assign = Object.assign || function (t) {
      for (var s, i = 1, n = arguments.length; i < n; i++) {
        s = arguments[i];

        for (var p in s) {
          if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
        }
      }

      return t;
    };

    return __assign.apply(this, arguments);
  };

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var React = _$$_REQUIRE(_dependencyMap[0]);

  var react_native_1 = _$$_REQUIRE(_dependencyMap[1]);

  var ViewRenderer = function (_super) {
    __extends(ViewRenderer, _super);

    function ViewRenderer() {
      var _this = _super !== null && _super.apply(this, arguments) || this;

      _this._dim = {
        width: 0,
        height: 0
      };
      _this._viewRef = null;

      _this._setRef = function (view) {
        _this._viewRef = view;
      };

      _this._onLayout = function (event) {
        var xDiff = Math.abs(_this.props.x - event.nativeEvent.layout.x);
        var yDiff = Math.abs(_this.props.y - event.nativeEvent.layout.y);

        if (xDiff < 1 && yDiff < 1 && (_this.props.height !== event.nativeEvent.layout.height || _this.props.width !== event.nativeEvent.layout.width)) {
          _this._dim.height = event.nativeEvent.layout.height;
          _this._dim.width = event.nativeEvent.layout.width;

          if (_this.props.onSizeChanged) {
            _this.props.onSizeChanged(_this._dim, _this.props.index);
          }
        }

        if (_this.props.onItemLayout) {
          _this.props.onItemLayout(_this.props.index);
        }
      };

      _this._scheduleForceSizeUpdateTimer = function () {
        if (!_this.props.forceNonDeterministicRendering) {
          return;
        }

        var oldDim = __assign({}, _this._dim);

        setTimeout(function () {
          _this._forceSizeUpdate(oldDim);
        }, 32);
      };

      _this._forceSizeUpdate = function (dim) {
        if (dim.width === _this._dim.width && dim.height === _this._dim.height) {
          if (_this.isRendererMounted && _this.props.onSizeChanged) {
            _this.props.onSizeChanged(_this._dim, _this.props.index);
          }
        }
      };

      return _this;
    }

    ViewRenderer.prototype.renderCompat = function () {
      var props = this.props.forceNonDeterministicRendering ? {
        ref: this._setRef,
        onLayout: this._onLayout,
        style: __assign({
          flexDirection: this.props.isHorizontal ? "column" : "row",
          left: this.props.x,
          position: "absolute",
          top: this.props.y
        }, this.props.styleOverrides, this.animatorStyleOverrides)
      } : {
        ref: this._setRef,
        style: __assign({
          left: this.props.x,
          position: "absolute",
          top: this.props.y,
          height: this.props.height,
          width: this.props.width
        }, this.props.styleOverrides, this.animatorStyleOverrides)
      };
      return this._renderItemContainer(props, this.props, this.renderChild());
    };

    ViewRenderer.prototype.componentDidUpdate = function () {
      _super.prototype.componentDidUpdate.call(this);

      if (this.props.layoutProvider && this._layoutManagerRef) {
        if (this.props.layoutProvider.getLayoutManager() !== this._layoutManagerRef) {
          this._layoutManagerRef = this.props.layoutProvider.getLayoutManager();

          this._scheduleForceSizeUpdateTimer();
        }
      }
    };

    ViewRenderer.prototype.componentDidMount = function () {
      _super.prototype.componentDidMount.call(this);

      if (this.props.layoutProvider) {
        this._layoutManagerRef = this.props.layoutProvider.getLayoutManager();
      }
    };

    ViewRenderer.prototype.getRef = function () {
      return this._viewRef;
    };

    ViewRenderer.prototype._renderItemContainer = function (props, parentProps, children) {
      return this.props.renderItemContainer && this.props.renderItemContainer(props, parentProps, children) || React.createElement(react_native_1.View, __assign({}, props), children);
    };

    return ViewRenderer;
  }(_$$_REQUIRE(_dependencyMap[2]).default);

  exports.default = ViewRenderer;
},1572,[17,28,1573]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var __extends = this && this.__extends || function () {
    var _extendStatics = function extendStatics(d, b) {
      _extendStatics = Object.setPrototypeOf || {
        __proto__: []
      } instanceof Array && function (d, b) {
        d.__proto__ = b;
      } || function (d, b) {
        for (var p in b) {
          if (b.hasOwnProperty(p)) d[p] = b[p];
        }
      };

      return _extendStatics(d, b);
    };

    return function (d, b) {
      _extendStatics(d, b);

      function __() {
        this.constructor = d;
      }

      d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
  }();

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var BaseViewRenderer = function (_super) {
    __extends(BaseViewRenderer, _super);

    function BaseViewRenderer() {
      var _this = _super !== null && _super.apply(this, arguments) || this;

      _this.isRendererMounted = true;
      return _this;
    }

    BaseViewRenderer.prototype.shouldComponentUpdate = function (newProps) {
      var hasMoved = this.props.x !== newProps.x || this.props.y !== newProps.y;
      var hasSizeChanged = !newProps.forceNonDeterministicRendering && (this.props.width !== newProps.width || this.props.height !== newProps.height) || this.props.layoutProvider !== newProps.layoutProvider;
      var hasExtendedStateChanged = this.props.extendedState !== newProps.extendedState;
      var hasInternalSnapshotChanged = this.props.internalSnapshot !== newProps.internalSnapshot;
      var hasDataChanged = this.props.dataHasChanged && this.props.dataHasChanged(this.props.data, newProps.data);
      var shouldUpdate = hasSizeChanged || hasDataChanged || hasExtendedStateChanged || hasInternalSnapshotChanged;

      if (shouldUpdate) {
        newProps.itemAnimator.animateWillUpdate(this.props.x, this.props.y, newProps.x, newProps.y, this.getRef(), newProps.index);
      } else if (hasMoved) {
        shouldUpdate = !newProps.itemAnimator.animateShift(this.props.x, this.props.y, newProps.x, newProps.y, this.getRef(), newProps.index);
      }

      return shouldUpdate;
    };

    BaseViewRenderer.prototype.componentDidMount = function () {
      this.animatorStyleOverrides = undefined;
      this.props.itemAnimator.animateDidMount(this.props.x, this.props.y, this.getRef(), this.props.index);
    };

    BaseViewRenderer.prototype.componentWillMountCompat = function () {
      this.animatorStyleOverrides = this.props.itemAnimator.animateWillMount(this.props.x, this.props.y, this.props.index);
    };

    BaseViewRenderer.prototype.componentWillUnmount = function () {
      this.isRendererMounted = false;
      this.props.itemAnimator.animateWillUnmount(this.props.x, this.props.y, this.getRef(), this.props.index);
    };

    BaseViewRenderer.prototype.componentDidUpdate = function () {};

    BaseViewRenderer.prototype.renderChild = function () {
      return this.props.childRenderer(this.props.layoutType, this.props.data, this.props.index, this.props.extendedState);
    };

    return BaseViewRenderer;
  }(_$$_REQUIRE(_dependencyMap[0]).ComponentCompat);

  exports.default = BaseViewRenderer;
},1573,[1574]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var __extends = this && this.__extends || function () {
    var _extendStatics = function extendStatics(d, b) {
      _extendStatics = Object.setPrototypeOf || {
        __proto__: []
      } instanceof Array && function (d, b) {
        d.__proto__ = b;
      } || function (d, b) {
        for (var p in b) {
          if (b.hasOwnProperty(p)) d[p] = b[p];
        }
      };

      return _extendStatics(d, b);
    };

    return function (d, b) {
      _extendStatics(d, b);

      function __() {
        this.constructor = d;
      }

      d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
  }();

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var React = _$$_REQUIRE(_dependencyMap[0]);

  var ComponentCompat = function (_super) {
    __extends(ComponentCompat, _super);

    function ComponentCompat(props, context) {
      var _this = _super.call(this, props, context) || this;

      _this._hasRenderedOnce = false;
      _this._didPropsChange = false;
      return _this;
    }

    ComponentCompat.prototype.shouldComponentUpdate = function (newProps, newState) {
      if (this.props !== newProps) {
        this.componentWillReceivePropsCompat(newProps);
      }

      return true;
    };

    ComponentCompat.prototype.componentWillReceivePropsCompat = function (newProps) {};

    ComponentCompat.prototype.componentWillMountCompat = function () {};

    ComponentCompat.prototype.componentWillUpdateCompat = function () {};

    ComponentCompat.prototype.render = function () {
      if (!this._hasRenderedOnce) {
        this._hasRenderedOnce = true;
        this.componentWillMountCompat();
      } else {
        this.componentWillUpdateCompat();
      }

      return this.renderCompat();
    };

    return ComponentCompat;
  }(React.Component);

  exports.ComponentCompat = ComponentCompat;
},1574,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  {
    module.exports = _$$_REQUIRE(_dependencyMap[0])();
  }
},1575,[1576]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function emptyFunction() {}

  function emptyFunctionWithReset() {}

  emptyFunctionWithReset.resetWarningCache = emptyFunction;

  module.exports = function () {
    function shim(props, propName, componentName, location, propFullName, secret) {
      if (secret === _$$_REQUIRE(_dependencyMap[0])) {
        return;
      }

      var err = new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");
      err.name = 'Invariant Violation';
      throw err;
    }

    ;
    shim.isRequired = shim;

    function getShim() {
      return shim;
    }

    ;
    var ReactPropTypes = {
      array: shim,
      bigint: shim,
      bool: shim,
      func: shim,
      number: shim,
      object: shim,
      string: shim,
      symbol: shim,
      any: shim,
      arrayOf: getShim,
      element: shim,
      elementType: shim,
      instanceOf: getShim,
      node: shim,
      objectOf: getShim,
      oneOf: getShim,
      oneOfType: getShim,
      shape: getShim,
      exact: getShim,
      checkPropTypes: emptyFunctionWithReset,
      resetWarningCache: emptyFunction
    };
    ReactPropTypes.PropTypes = ReactPropTypes;
    return ReactPropTypes;
  };
},1576,[1577]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
  module.exports = ReactPropTypesSecret;
},1577,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var __extends = this && this.__extends || function () {
    var _extendStatics = function extendStatics(d, b) {
      _extendStatics = Object.setPrototypeOf || {
        __proto__: []
      } instanceof Array && function (d, b) {
        d.__proto__ = b;
      } || function (d, b) {
        for (var p in b) {
          if (b.hasOwnProperty(p)) d[p] = b[p];
        }
      };

      return _extendStatics(d, b);
    };

    return function (d, b) {
      _extendStatics(d, b);

      function __() {
        this.constructor = d;
      }

      d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
  }();

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var React = _$$_REQUIRE(_dependencyMap[0]);

  var BaseScrollView = function (_super) {
    __extends(BaseScrollView, _super);

    function BaseScrollView(props) {
      return _super.call(this, props) || this;
    }

    return BaseScrollView;
  }(React.Component);

  exports.default = BaseScrollView;
},1578,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var AutoScroll = function () {
    function AutoScroll() {}

    AutoScroll.scrollNow = function (scrollable, fromX, fromY, toX, toY, speedMultiplier) {
      if (speedMultiplier === undefined) {
        speedMultiplier = 1;
      }

      return new Promise(function (resolve) {
        scrollable.scrollToOffset(fromX, fromY, false);
        var incrementPerMs = 0.1 * speedMultiplier;
        var startTime = Date.now();
        var startX = fromX;
        var startY = fromY;

        var animationLoop = function animationLoop() {
          requestAnimationFrame(function () {
            var currentTime = Date.now();
            var timeElapsed = currentTime - startTime;
            var distanceToCover = incrementPerMs * timeElapsed;
            startX += distanceToCover;
            startY += distanceToCover;
            scrollable.scrollToOffset(Math.min(toX, startX), Math.min(toY, startY), false);
            startTime = currentTime;

            if (Math.min(toX, startX) !== toX || Math.min(toY, startY) !== toY) {
              animationLoop();
              return;
            }

            resolve();
          });
        };

        animationLoop();
      });
    };

    return AutoScroll;
  }();

  exports.AutoScroll = AutoScroll;
},1579,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var __extends = this && this.__extends || function () {
    var _extendStatics = function extendStatics(d, b) {
      _extendStatics = Object.setPrototypeOf || {
        __proto__: []
      } instanceof Array && function (d, b) {
        d.__proto__ = b;
      } || function (d, b) {
        for (var p in b) {
          if (b.hasOwnProperty(p)) d[p] = b[p];
        }
      };

      return _extendStatics(d, b);
    };

    return function (d, b) {
      _extendStatics(d, b);

      function __() {
        this.constructor = d;
      }

      d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
  }();

  var __assign = this && this.__assign || function () {
    __assign = Object.assign || function (t) {
      for (var s, i = 1, n = arguments.length; i < n; i++) {
        s = arguments[i];

        for (var p in s) {
          if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
        }
      }

      return t;
    };

    return __assign.apply(this, arguments);
  };

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var ProgressiveListView = function (_super) {
    __extends(ProgressiveListView, _super);

    function ProgressiveListView() {
      var _this = _super !== null && _super.apply(this, arguments) || this;

      _this.isFirstLayoutComplete = false;
      return _this;
    }

    ProgressiveListView.prototype.componentDidMount = function () {
      _super.prototype.componentDidMount.call(this);

      if (!this.props.forceNonDeterministicRendering) {
        this.updateRenderAheadProgressively(this.getCurrentRenderAheadOffset());
      }
    };

    ProgressiveListView.prototype.componentWillUnmount = function () {
      this.cancelRenderAheadUpdate();

      _super.prototype.componentWillUnmount.call(this);
    };

    ProgressiveListView.prototype.onItemLayout = function (index) {
      if (!this.isFirstLayoutComplete) {
        this.isFirstLayoutComplete = true;

        if (this.props.forceNonDeterministicRendering) {
          this.updateRenderAheadProgressively(this.getCurrentRenderAheadOffset());
        }
      }

      _super.prototype.onItemLayout.call(this, index);
    };

    ProgressiveListView.prototype.updateRenderAheadProgressively = function (newVal) {
      var _this = this;

      this.cancelRenderAheadUpdate();
      this.renderAheadUpdateCallbackId = requestAnimationFrame(function () {
        if (!_this.updateRenderAheadOffset(newVal)) {
          _this.updateRenderAheadProgressively(newVal);
        } else {
          _this.incrementRenderAhead();
        }
      });
    };

    ProgressiveListView.prototype.incrementRenderAhead = function () {
      if (this.props.maxRenderAhead && this.props.renderAheadStep) {
        var layoutManager = this.getVirtualRenderer().getLayoutManager();
        var currentRenderAheadOffset = this.getCurrentRenderAheadOffset();

        if (layoutManager) {
          var contentDimension = layoutManager.getContentDimension();
          var maxContentSize = this.props.isHorizontal ? contentDimension.width : contentDimension.height;

          if (currentRenderAheadOffset < maxContentSize && currentRenderAheadOffset < this.props.maxRenderAhead) {
            var newRenderAheadOffset = currentRenderAheadOffset + this.props.renderAheadStep;
            this.updateRenderAheadProgressively(newRenderAheadOffset);
          } else {
            this.performFinalUpdate();
          }
        }
      }
    };

    ProgressiveListView.prototype.performFinalUpdate = function () {
      var _this = this;

      this.cancelRenderAheadUpdate();
      this.renderAheadUpdateCallbackId = requestAnimationFrame(function () {
        if (_this.props.finalRenderAheadOffset !== undefined) {
          _this.updateRenderAheadOffset(_this.props.finalRenderAheadOffset);
        }
      });
    };

    ProgressiveListView.prototype.cancelRenderAheadUpdate = function () {
      if (this.renderAheadUpdateCallbackId !== undefined) {
        cancelAnimationFrame(this.renderAheadUpdateCallbackId);
      }
    };

    ProgressiveListView.defaultProps = __assign({}, _$$_REQUIRE(_dependencyMap[0]).default.defaultProps, {
      maxRenderAhead: Number.MAX_VALUE,
      renderAheadStep: 300,
      renderAheadOffset: 0
    });
    return ProgressiveListView;
  }(_$$_REQUIRE(_dependencyMap[0]).default);

  exports.default = ProgressiveListView;
},1580,[1559]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _defineProperty2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends3 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _isFunction = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _xdate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _memoizeOne = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[12]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[13]);

  var _style = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _WeekDaysNames = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _calendarList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _reservationList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var HEADER_HEIGHT = 104;
  var KNOB_HEIGHT = 24;

  var Agenda = function (_Component) {
    (0, _inherits2.default)(Agenda, _Component);

    var _super = _createSuper(Agenda);

    function Agenda(props) {
      var _this;

      (0, _classCallCheck2.default)(this, Agenda);
      _this = _super.call(this, props);
      _this.scrollPad = _react.default.createRef();
      _this.calendar = _react.default.createRef();
      _this.knob = _react.default.createRef();
      _this.list = _react.default.createRef();

      _this.initialScrollPadPosition = function () {
        return Math.max(0, _this.viewHeight - HEADER_HEIGHT);
      };

      _this.setScrollPadPosition = function (y, animated) {
        var _this$scrollPad, _this$scrollPad$curre;

        if ((_this$scrollPad = _this.scrollPad) != null && (_this$scrollPad$curre = _this$scrollPad.current) != null && _this$scrollPad$curre.scrollTo) {
          _this.scrollPad.current.scrollTo({
            x: 0,
            y: y,
            animated: animated
          });
        } else {
          var _this$scrollPad2, _this$scrollPad2$curr;

          (_this$scrollPad2 = _this.scrollPad) == null ? undefined : (_this$scrollPad2$curr = _this$scrollPad2.current) == null ? undefined : _this$scrollPad2$curr.getNode().scrollTo({
            x: 0,
            y: y,
            animated: animated
          });
        }
      };

      _this.toggleCalendarPosition = function (open) {
        var maxY = _this.initialScrollPadPosition();

        _this.setScrollPadPosition(open ? 0 : maxY, true);

        _this.enableCalendarScrolling(open);
      };

      _this.onDayPress = function (d) {
        _this.chooseDay(d, !_this.state.calendarScrollable);
      };

      _this.generateMarkings = (0, _memoizeOne.default)(function (selectedDay, markedDates, items) {
        if (!markedDates) {
          markedDates = {};

          if (items) {
            Object.keys(items).forEach(function (key) {
              if (items[key] && items[key].length) {
                markedDates[key] = {
                  marked: true
                };
              }
            });
          }
        }

        var key = (0, _$$_REQUIRE(_dependencyMap[18]).toMarkingFormat)(selectedDay);
        return (0, _extends3.default)({}, markedDates, (0, _defineProperty2.default)({}, key, (0, _extends3.default)({}, markedDates[key] || {}, {
          selected: true
        })));
      });

      _this.onScrollPadLayout = function () {
        _this.setScrollPadPosition(_this.initialScrollPadPosition(), false);

        setTimeout(function () {
          return _this.setState({
            calendarIsReady: true
          });
        }, 0);
      };

      _this.onCalendarListLayout = function () {
        var _this$calendar, _this$calendar$curren;

        (_this$calendar = _this.calendar) == null ? undefined : (_this$calendar$curren = _this$calendar.current) == null ? undefined : _this$calendar$curren.scrollToDay(_this.state.selectedDay, _this.calendarOffset(), false);
      };

      _this.onLayout = function (event) {
        _this.viewHeight = event.nativeEvent.layout.height;
        _this.viewWidth = event.nativeEvent.layout.width;

        _this.forceUpdate();
      };

      _this.onTouchStart = function () {
        var _this$knob, _this$knob$current;

        _this.headerState = 'touched';
        (_this$knob = _this.knob) == null ? undefined : (_this$knob$current = _this$knob.current) == null ? undefined : _this$knob$current.setNativeProps({
          style: {
            opacity: 0.5
          }
        });
      };

      _this.onTouchEnd = function () {
        var _this$knob2, _this$knob2$current;

        (_this$knob2 = _this.knob) == null ? undefined : (_this$knob2$current = _this$knob2.current) == null ? undefined : _this$knob2$current.setNativeProps({
          style: {
            opacity: 1
          }
        });

        if (_this.headerState === 'touched') {
          var isOpen = _this.state.calendarScrollable;

          _this.toggleCalendarPosition(!isOpen);
        }

        _this.headerState = 'idle';
      };

      _this.onStartDrag = function () {
        _this.headerState = 'dragged';

        _this.knobTracker.reset();
      };

      _this.onSnapAfterDrag = function (e) {
        _this.onTouchEnd();

        var currentY = e.nativeEvent.contentOffset.y;

        _this.knobTracker.add(currentY);

        var projectedY = currentY + _this.knobTracker.estimateSpeed() * 250;

        var maxY = _this.initialScrollPadPosition();

        var snapY = projectedY > maxY / 2 ? maxY : 0;

        _this.setScrollPadPosition(snapY, true);

        _this.enableCalendarScrolling(snapY === 0);
      };

      _this.onVisibleMonthsChange = function (months) {
        _this.props.onVisibleMonthsChange == null ? undefined : _this.props.onVisibleMonthsChange(months);

        if (_this.props.items && !_this.state.firstReservationLoad) {
          if (_this.scrollTimeout) {
            clearTimeout(_this.scrollTimeout);
          }

          _this.scrollTimeout = setTimeout(function () {
            if (_this._isMounted) {
              _this.props.loadItemsForMonth == null ? undefined : _this.props.loadItemsForMonth(months[0]);
            }
          }, 200);
        }
      };

      _this.onDayChange = function (day) {
        var _this$calendar2, _this$calendar2$curre;

        var withAnimation = (0, _$$_REQUIRE(_dependencyMap[19]).sameMonth)(day, _this.state.selectedDay);
        (_this$calendar2 = _this.calendar) == null ? undefined : (_this$calendar2$curre = _this$calendar2.current) == null ? undefined : _this$calendar2$curre.scrollToDay(day, _this.calendarOffset(), withAnimation);

        _this.setState({
          selectedDay: day
        });

        _this.props.onDayChange == null ? undefined : _this.props.onDayChange((0, _$$_REQUIRE(_dependencyMap[18]).xdateToData)(day));
      };

      _this.renderWeekDaysNames = function () {
        return _react.default.createElement(_WeekDaysNames.default, {
          firstDay: _this.props.firstDay,
          style: _this.style.dayHeader
        });
      };

      _this.renderWeekNumbersSpace = function () {
        return _this.props.showWeekNumbers && _react.default.createElement(_reactNative.View, {
          style: _this.style.dayHeader
        });
      };

      _this.style = (0, _style.default)(props.theme);

      var windowSize = _reactNative.Dimensions.get('window');

      _this.viewHeight = windowSize.height;
      _this.viewWidth = windowSize.width;
      _this.scrollTimeout = undefined;
      _this.headerState = 'idle';
      _this.state = {
        scrollY: new _reactNative.Animated.Value(0),
        calendarIsReady: false,
        calendarScrollable: false,
        firstReservationLoad: false,
        selectedDay: _this.getSelectedDate(props.selected),
        topDay: _this.getSelectedDate(props.selected)
      };
      _this.currentMonth = _this.state.selectedDay.clone();
      _this.knobTracker = new (_$$_REQUIRE(_dependencyMap[20]).VelocityTracker)();

      _this.state.scrollY.addListener(function (_ref) {
        var value = _ref.value;
        return _this.knobTracker.add(value);
      });

      return _this;
    }

    (0, _createClass2.default)(Agenda, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this._isMounted = true;
        this.loadReservations(this.props);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this._isMounted = false;
        this.state.scrollY.removeAllListeners();
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps, prevState) {
        var newSelectedDate = this.getSelectedDate(this.props.selected);

        if (!(0, _$$_REQUIRE(_dependencyMap[19]).sameDate)(newSelectedDate, prevState.selectedDay)) {
          var prevSelectedDate = this.getSelectedDate(prevProps.selected);

          if (!(0, _$$_REQUIRE(_dependencyMap[19]).sameDate)(newSelectedDate, prevSelectedDate)) {
            var _this$calendar3, _this$calendar3$curre;

            this.setState({
              selectedDay: newSelectedDate
            });
            (_this$calendar3 = this.calendar) == null ? undefined : (_this$calendar3$curre = _this$calendar3.current) == null ? undefined : _this$calendar3$curre.scrollToDay(newSelectedDate, this.calendarOffset(), true);
          }
        } else if (!prevProps.items) {
          this.loadReservations(this.props);
        }
      }
    }, {
      key: "getSelectedDate",
      value: function getSelectedDate(date) {
        return date ? new _xdate.default(date) : new _xdate.default(true);
      }
    }, {
      key: "calendarOffset",
      value: function calendarOffset() {
        return 96 - this.viewHeight / 2;
      }
    }, {
      key: "enableCalendarScrolling",
      value: function enableCalendarScrolling() {
        var _this$props$onCalenda, _this$props, _this$calendar4, _this$calendar4$curre;

        var enable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
        this.setState({
          calendarScrollable: enable
        });
        (_this$props$onCalenda = (_this$props = this.props).onCalendarToggled) == null ? undefined : _this$props$onCalenda.call(_this$props, enable);
        (_this$calendar4 = this.calendar) == null ? undefined : (_this$calendar4$curre = _this$calendar4.current) == null ? undefined : _this$calendar4$curre.scrollToDay(this.state.selectedDay, this.calendarOffset() + 1, true);
      }
    }, {
      key: "loadReservations",
      value: function loadReservations(props) {
        var _this2 = this;

        if ((!props.items || !Object.keys(props.items).length) && !this.state.firstReservationLoad) {
          this.setState({
            firstReservationLoad: true
          }, function () {
            _this2.props.loadItemsForMonth == null ? undefined : _this2.props.loadItemsForMonth((0, _$$_REQUIRE(_dependencyMap[18]).xdateToData)(_this2.state.selectedDay));
          });
        }
      }
    }, {
      key: "chooseDay",
      value: function chooseDay(d, optimisticScroll) {
        var _this$props$onCalenda2, _this$props2, _this$calendar5, _this$calendar5$curre, _this$props$loadItems, _this$props3, _this$props$onDayPres, _this$props4;

        var day = new _xdate.default(d.dateString);
        this.setState({
          calendarScrollable: false,
          selectedDay: day.clone()
        });
        (_this$props$onCalenda2 = (_this$props2 = this.props).onCalendarToggled) == null ? undefined : _this$props$onCalenda2.call(_this$props2, false);

        if (!optimisticScroll) {
          this.setState({
            topDay: day.clone()
          });
        }

        this.setScrollPadPosition(this.initialScrollPadPosition(), true);
        (_this$calendar5 = this.calendar) == null ? undefined : (_this$calendar5$curre = _this$calendar5.current) == null ? undefined : _this$calendar5$curre.scrollToDay(day, this.calendarOffset(), true);
        (_this$props$loadItems = (_this$props3 = this.props).loadItemsForMonth) == null ? undefined : _this$props$loadItems.call(_this$props3, (0, _$$_REQUIRE(_dependencyMap[18]).xdateToData)(day));
        (_this$props$onDayPres = (_this$props4 = this.props).onDayPress) == null ? undefined : _this$props$onDayPres.call(_this$props4, (0, _$$_REQUIRE(_dependencyMap[18]).xdateToData)(day));
      }
    }, {
      key: "renderReservations",
      value: function renderReservations() {
        var reservationListProps = (0, _$$_REQUIRE(_dependencyMap[21]).extractReservationListProps)(this.props);

        if ((0, _isFunction.default)(this.props.renderList)) {
          return this.props.renderList((0, _extends3.default)({}, reservationListProps, {
            selectedDay: this.state.selectedDay,
            topDay: this.state.topDay,
            onDayChange: this.onDayChange
          }));
        }

        return _react.default.createElement(_reservationList.default, (0, _extends3.default)({}, reservationListProps, {
          ref: this.list,
          selectedDay: this.state.selectedDay,
          topDay: this.state.topDay,
          onDayChange: this.onDayChange
        }));
      }
    }, {
      key: "renderCalendarList",
      value: function renderCalendarList() {
        var _this$props5 = this.props,
            markedDates = _this$props5.markedDates,
            items = _this$props5.items;
        var shouldHideExtraDays = this.state.calendarScrollable ? this.props.hideExtraDays : false;
        var calendarListProps = (0, _$$_REQUIRE(_dependencyMap[21]).extractCalendarListProps)(this.props);
        return _react.default.createElement(_calendarList.default, (0, _extends3.default)({}, calendarListProps, {
          ref: this.calendar,
          current: (0, _$$_REQUIRE(_dependencyMap[22]).getCalendarDateString)(this.currentMonth.toString()),
          markedDates: this.generateMarkings(this.state.selectedDay, markedDates, items),
          calendarWidth: this.viewWidth,
          scrollEnabled: this.state.calendarScrollable,
          hideExtraDays: shouldHideExtraDays,
          onLayout: this.onCalendarListLayout,
          onDayPress: this.onDayPress,
          onVisibleMonthsChange: this.onVisibleMonthsChange
        }));
      }
    }, {
      key: "renderKnob",
      value: function renderKnob() {
        var _this$props6 = this.props,
            showClosingKnob = _this$props6.showClosingKnob,
            hideKnob = _this$props6.hideKnob,
            renderKnob = _this$props6.renderKnob;

        var knob = _react.default.createElement(_reactNative.View, {
          style: this.style.knobContainer
        });

        if (!hideKnob) {
          var knobView = renderKnob ? renderKnob() : _react.default.createElement(_reactNative.View, {
            style: this.style.knob
          });
          knob = !this.state.calendarScrollable || showClosingKnob ? _react.default.createElement(_reactNative.View, {
            style: this.style.knobContainer
          }, _react.default.createElement(_reactNative.View, {
            ref: this.knob
          }, knobView)) : null;
        }

        return knob;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props7 = this.props,
            hideKnob = _this$props7.hideKnob,
            style = _this$props7.style,
            testID = _this$props7.testID;
        var agendaHeight = this.initialScrollPadPosition();
        var weekdaysStyle = [this.style.weekdays, {
          opacity: this.state.scrollY.interpolate({
            inputRange: [agendaHeight - HEADER_HEIGHT, agendaHeight],
            outputRange: [0, 1],
            extrapolate: 'clamp'
          }),
          transform: [{
            translateY: this.state.scrollY.interpolate({
              inputRange: [Math.max(0, agendaHeight - HEADER_HEIGHT), agendaHeight],
              outputRange: [-104, 0],
              extrapolate: 'clamp'
            })
          }]
        }];
        var headerTranslate = this.state.scrollY.interpolate({
          inputRange: [0, agendaHeight],
          outputRange: [agendaHeight, 0],
          extrapolate: 'clamp'
        });
        var contentTranslate = this.state.scrollY.interpolate({
          inputRange: [0, agendaHeight],
          outputRange: [0, agendaHeight / 2],
          extrapolate: 'clamp'
        });
        var headerStyle = [this.style.header, {
          bottom: agendaHeight,
          transform: [{
            translateY: headerTranslate
          }]
        }];

        if (!this.state.calendarIsReady) {
          headerStyle.push({
            height: 0
          });
          weekdaysStyle.push({
            height: HEADER_HEIGHT
          });
        }

        var openCalendarScrollPadPosition = !hideKnob && this.state.calendarScrollable && this.props.showClosingKnob ? agendaHeight + HEADER_HEIGHT : 0;
        var shouldAllowDragging = !hideKnob && !this.state.calendarScrollable;
        var scrollPadPosition = (shouldAllowDragging ? HEADER_HEIGHT : openCalendarScrollPadPosition) - KNOB_HEIGHT;
        var scrollPadStyle = {
          height: KNOB_HEIGHT,
          top: scrollPadPosition
        };
        return _react.default.createElement(_reactNative.View, {
          testID: testID,
          onLayout: this.onLayout,
          style: [style, this.style.container]
        }, _react.default.createElement(_reactNative.View, {
          style: this.style.reservations
        }, this.renderReservations()), _react.default.createElement(_reactNative.Animated.View, {
          style: headerStyle
        }, _react.default.createElement(_reactNative.Animated.View, {
          style: [this.style.animatedContainer, {
            transform: [{
              translateY: contentTranslate
            }]
          }]
        }, this.renderCalendarList()), this.renderKnob()), _react.default.createElement(_reactNative.Animated.View, {
          style: weekdaysStyle
        }, this.renderWeekNumbersSpace(), this.renderWeekDaysNames()), _react.default.createElement(_reactNative.Animated.ScrollView, {
          ref: this.scrollPad,
          style: [this.style.scrollPadStyle, scrollPadStyle],
          overScrollMode: "never",
          showsHorizontalScrollIndicator: false,
          showsVerticalScrollIndicator: false,
          scrollEventThrottle: 8,
          scrollsToTop: false,
          onTouchStart: this.onTouchStart,
          onTouchEnd: this.onTouchEnd,
          onScrollBeginDrag: this.onStartDrag,
          onScrollEndDrag: this.onSnapAfterDrag,
          onScroll: _reactNative.Animated.event([{
            nativeEvent: {
              contentOffset: {
                y: this.state.scrollY
              }
            }
          }], {
            useNativeDriver: true
          })
        }, _react.default.createElement(_reactNative.View, {
          testID: _$$_REQUIRE(_dependencyMap[23]).AGENDA_CALENDAR_KNOB,
          style: {
            height: agendaHeight + KNOB_HEIGHT
          },
          onLayout: this.onScrollPadLayout
        })));
      }
    }], [{
      key: "getDerivedStateFromProps",
      value: function getDerivedStateFromProps(nextProps) {
        if (nextProps.items) {
          return {
            firstReservationLoad: false
          };
        }

        return null;
      }
    }]);
    return Agenda;
  }(_react.Component);

  exports.default = Agenda;
  Agenda.displayName = 'Agenda';
  Agenda.propTypes = (0, _extends3.default)({}, _calendarList.default.propTypes, _reservationList.default.propTypes, {
    items: _propTypes.default.object,
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array, _propTypes.default.number]),
    loadItemsForMonth: _propTypes.default.func,
    onCalendarToggled: _propTypes.default.func,
    onDayChange: _propTypes.default.func,
    renderKnob: _propTypes.default.func,
    renderList: _propTypes.default.func,
    selected: _propTypes.default.any,
    hideKnob: _propTypes.default.bool,
    showClosingKnob: _propTypes.default.bool
  });
},1581,[5,27,6,7,8,12,14,16,1323,201,1319,1582,17,28,1583,1585,1537,1586,1383,1382,1590,1524,1530,1589]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var safeIsNaN = Number.isNaN || function ponyfill(value) {
    return typeof value === 'number' && value !== value;
  };

  function isEqual(first, second) {
    if (first === second) {
      return true;
    }

    if (safeIsNaN(first) && safeIsNaN(second)) {
      return true;
    }

    return false;
  }

  function areInputsEqual(newInputs, lastInputs) {
    if (newInputs.length !== lastInputs.length) {
      return false;
    }

    for (var i = 0; i < newInputs.length; i++) {
      if (!isEqual(newInputs[i], lastInputs[i])) {
        return false;
      }
    }

    return true;
  }

  function memoizeOne(resultFn, isEqual) {
    if (isEqual === undefined) {
      isEqual = areInputsEqual;
    }

    var lastThis;
    var lastArgs = [];
    var lastResult;
    var calledOnce = false;

    function memoized() {
      var newArgs = [];

      for (var _i = 0; _i < arguments.length; _i++) {
        newArgs[_i] = arguments[_i];
      }

      if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {
        return lastResult;
      }

      lastResult = resultFn.apply(this, newArgs);
      calledOnce = true;
      lastThis = this;
      lastArgs = newArgs;
      return lastResult;
    }

    return memoized;
  }

  module.exports = memoizeOne;
},1582,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = styleConstructor;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var defaultStyle = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _platformStyle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function styleConstructor() {
    var theme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var appStyle = (0, _extends2.default)({}, defaultStyle, theme);

    var _platformStyles = (0, _platformStyle.default)(appStyle),
        knob = _platformStyles.knob,
        weekdays = _platformStyles.weekdays;

    return _reactNative.StyleSheet.create((0, _extends2.default)({
      container: {
        flex: 1,
        overflow: 'hidden'
      },
      animatedContainer: {
        flex: 1
      },
      knob: knob,
      weekdays: weekdays,
      header: {
        overflow: 'hidden',
        justifyContent: 'flex-end',
        position: 'absolute',
        height: '100%',
        width: '100%'
      },
      knobContainer: {
        flex: 1,
        position: 'absolute',
        left: 0,
        right: 0,
        height: 24,
        bottom: 0,
        alignItems: 'center',
        backgroundColor: appStyle.calendarBackground
      },
      dayHeader: {
        width: 32,
        textAlign: 'center',
        fontSize: appStyle.textDayHeaderFontSize,
        fontFamily: appStyle.textDayHeaderFontFamily,
        fontWeight: appStyle.textDayHeaderFontWeight,
        color: appStyle.textSectionTitleColor
      },
      reservations: {
        flex: 1,
        marginTop: 104,
        backgroundColor: appStyle.reservationsBackgroundColor || appStyle.backgroundColor
      },
      scrollPadStyle: {
        position: 'absolute',
        width: '100%',
        alignSelf: 'center'
      }
    }, theme['stylesheet.agenda.main'] || {}));
  }
},1583,[5,6,28,1360,1584]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = platformStyles;

  function platformStyles(appStyle) {
    return {
      knob: {
        width: 38,
        height: 7,
        marginTop: 10,
        borderRadius: 3,
        backgroundColor: appStyle.agendaKnobColor
      },
      weekdays: {
        position: 'absolute',
        left: 0,
        right: 0,
        top: 0,
        flexDirection: 'row',
        justifyContent: 'space-around',
        marginLeft: 15,
        marginRight: 15,
        paddingTop: 15,
        paddingBottom: 7,
        backgroundColor: appStyle.calendarBackground
      }
    };
  }
},1584,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var WeekDaysNames = _react.default.memo(function (_ref) {
    var firstDay = _ref.firstDay,
        style = _ref.style;
    var dayNames = (0, _$$_REQUIRE(_dependencyMap[3]).weekDayNames)(firstDay);
    return dayNames.map(function (day, index) {
      return _react.default.createElement(_reactNative.Text, {
        allowFontScaling: false,
        key: index,
        style: style,
        numberOfLines: 1,
        accessibilityLabel: ''
      }, day);
    });
  });

  var _default = WeekDaysNames;
  exports.default = _default;
},1585,[5,17,28,1382]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _isFunction = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _xdate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[12]);

  var _style = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _reservation = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ReservationList = function (_Component) {
    (0, _inherits2.default)(ReservationList, _Component);

    var _super = _createSuper(ReservationList);

    function ReservationList(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ReservationList);
      _this = _super.call(this, props);
      _this.list = _react.default.createRef();

      _this.onScroll = function (event) {
        var yOffset = event.nativeEvent.contentOffset.y;
        _this.props.onScroll == null ? undefined : _this.props.onScroll(yOffset);
        var topRowOffset = 0;
        var topRow;

        for (topRow = 0; topRow < _this.heights.length; topRow++) {
          if (topRowOffset + _this.heights[topRow] / 2 >= yOffset) {
            break;
          }

          topRowOffset += _this.heights[topRow];
        }

        var row = _this.state.reservations[topRow];
        if (!row) return;
        var day = row.date;

        if (day) {
          if (!(0, _$$_REQUIRE(_dependencyMap[15]).sameDate)(day, _this.selectedDay) && _this.scrollOver) {
            _this.selectedDay = day.clone();
            _this.props.onDayChange == null ? undefined : _this.props.onDayChange(day.clone());
          }
        }
      };

      _this.onMoveShouldSetResponderCapture = function () {
        _this.onListTouch();

        return false;
      };

      _this.renderRow = function (_ref) {
        var item = _ref.item,
            index = _ref.index;
        var reservationProps = (0, _$$_REQUIRE(_dependencyMap[16]).extractReservationProps)(_this.props);
        return _react.default.createElement(_reactNative.View, {
          onLayout: _this.onRowLayoutChange.bind((0, _assertThisInitialized2.default)(_this), index)
        }, _react.default.createElement(_reservation.default, (0, _extends2.default)({}, reservationProps, {
          item: item.reservation,
          date: item.date
        })));
      };

      _this.keyExtractor = function (item, index) {
        var _item$reservation;

        return (_this.props.reservationsKeyExtractor == null ? undefined : _this.props.reservationsKeyExtractor(item, index)) || "" + (item == null ? undefined : (_item$reservation = item.reservation) == null ? undefined : _item$reservation.day) + index;
      };

      _this.style = (0, _style.default)(props.theme);
      _this.state = {
        reservations: []
      };
      _this.heights = [];
      _this.selectedDay = props.selectedDay;
      _this.scrollOver = true;
      return _this;
    }

    (0, _createClass2.default)(ReservationList, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this.updateDataSource(this.getReservations(this.props).reservations);
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps) {
        var _this2 = this;

        if (this.props.topDay && prevProps.topDay && prevProps !== this.props) {
          if (!(0, _$$_REQUIRE(_dependencyMap[15]).sameDate)(prevProps.topDay, this.props.topDay)) {
            this.setState({
              reservations: []
            }, function () {
              return _this2.updateReservations(_this2.props);
            });
          } else {
            this.updateReservations(this.props);
          }
        }
      }
    }, {
      key: "updateDataSource",
      value: function updateDataSource(reservations) {
        this.setState({
          reservations: reservations
        });
      }
    }, {
      key: "updateReservations",
      value: function updateReservations(props) {
        var selectedDay = props.selectedDay,
            showOnlySelectedDayItems = props.showOnlySelectedDayItems;
        var reservations = this.getReservations(props);

        if (!showOnlySelectedDayItems && this.list && !(0, _$$_REQUIRE(_dependencyMap[15]).sameDate)(selectedDay, this.selectedDay)) {
          var _this$list, _this$list$current;

          var scrollPosition = 0;

          for (var i = 0; i < reservations.scrollPosition; i++) {
            scrollPosition += this.heights[i] || 0;
          }

          this.scrollOver = false;
          (_this$list = this.list) == null ? undefined : (_this$list$current = _this$list.current) == null ? undefined : _this$list$current.scrollToOffset({
            offset: scrollPosition,
            animated: true
          });
        }

        this.selectedDay = selectedDay;
        this.updateDataSource(reservations.reservations);
      }
    }, {
      key: "getReservationsForDay",
      value: function getReservationsForDay(iterator, props) {
        var _props$items;

        var day = iterator.clone();
        var res = (_props$items = props.items) == null ? undefined : _props$items[(0, _$$_REQUIRE(_dependencyMap[17]).toMarkingFormat)(day)];

        if (res && res.length) {
          return res.map(function (reservation, i) {
            return {
              reservation: reservation,
              date: i ? undefined : day
            };
          });
        } else if (res) {
          return [{
            date: iterator.clone()
          }];
        } else {
          return false;
        }
      }
    }, {
      key: "getReservations",
      value: function getReservations(props) {
        var selectedDay = props.selectedDay,
            showOnlySelectedDayItems = props.showOnlySelectedDayItems;

        if (!props.items || !selectedDay) {
          return {
            reservations: [],
            scrollPosition: 0
          };
        }

        var reservations = [];

        if (this.state.reservations && this.state.reservations.length) {
          var _this$state$reservati;

          var _iterator = (_this$state$reservati = this.state.reservations[0].date) == null ? undefined : _this$state$reservati.clone();

          if (_iterator) {
            while (_iterator.getTime() < selectedDay.getTime()) {
              var res = this.getReservationsForDay(_iterator, props);

              if (!res) {
                reservations = [];
                break;
              } else {
                reservations = reservations.concat(res);
              }

              _iterator.addDays(1);
            }
          }
        }

        var scrollPosition = reservations.length;
        var iterator = selectedDay.clone();

        if (showOnlySelectedDayItems) {
          var _res = this.getReservationsForDay(iterator, props);

          if (_res) {
            reservations = _res;
          }

          iterator.addDays(1);
        } else {
          for (var i = 0; i < 31; i++) {
            var _res2 = this.getReservationsForDay(iterator, props);

            if (_res2) {
              reservations = reservations.concat(_res2);
            }

            iterator.addDays(1);
          }
        }

        return {
          reservations: reservations,
          scrollPosition: scrollPosition
        };
      }
    }, {
      key: "onListTouch",
      value: function onListTouch() {
        this.scrollOver = true;
      }
    }, {
      key: "onRowLayoutChange",
      value: function onRowLayoutChange(index, event) {
        this.heights[index] = event.nativeEvent.layout.height;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            items = _this$props.items,
            selectedDay = _this$props.selectedDay,
            theme = _this$props.theme,
            style = _this$props.style;

        if (!items || selectedDay && !items[(0, _$$_REQUIRE(_dependencyMap[17]).toMarkingFormat)(selectedDay)]) {
          if ((0, _isFunction.default)(this.props.renderEmptyData)) {
            var _this$props$renderEmp, _this$props2;

            return (_this$props$renderEmp = (_this$props2 = this.props).renderEmptyData) == null ? undefined : _this$props$renderEmp.call(_this$props2);
          }

          return _react.default.createElement(_reactNative.ActivityIndicator, {
            style: this.style.indicator,
            color: theme == null ? undefined : theme.indicatorColor
          });
        }

        return _react.default.createElement(_reactNative.FlatList, {
          ref: this.list,
          style: style,
          contentContainerStyle: this.style.content,
          data: this.state.reservations,
          renderItem: this.renderRow,
          keyExtractor: this.keyExtractor,
          showsVerticalScrollIndicator: false,
          scrollEventThrottle: 200,
          onMoveShouldSetResponderCapture: this.onMoveShouldSetResponderCapture,
          onScroll: this.onScroll,
          refreshControl: this.props.refreshControl,
          refreshing: this.props.refreshing,
          onRefresh: this.props.onRefresh,
          onScrollBeginDrag: this.props.onScrollBeginDrag,
          onScrollEndDrag: this.props.onScrollEndDrag,
          onMomentumScrollBegin: this.props.onMomentumScrollBegin,
          onMomentumScrollEnd: this.props.onMomentumScrollEnd
        });
      }
    }]);
    return ReservationList;
  }(_react.Component);

  ReservationList.displayName = 'ReservationList';
  ReservationList.propTypes = (0, _extends2.default)({}, _reservation.default.propTypes, {
    items: _propTypes.default.object,
    selectedDay: _propTypes.default.instanceOf(_xdate.default),
    topDay: _propTypes.default.instanceOf(_xdate.default),
    onDayChange: _propTypes.default.func,
    showOnlySelectedDayItems: _propTypes.default.bool,
    renderEmptyData: _propTypes.default.func,
    onScroll: _propTypes.default.func,
    onScrollBeginDrag: _propTypes.default.func,
    onScrollEndDrag: _propTypes.default.func,
    onMomentumScrollBegin: _propTypes.default.func,
    onMomentumScrollEnd: _propTypes.default.func,
    refreshControl: _propTypes.default.element,
    refreshing: _propTypes.default.bool,
    onRefresh: _propTypes.default.func,
    reservationsKeyExtractor: _propTypes.default.func
  });
  ReservationList.defaultProps = {
    refreshing: false,
    selectedDay: new _xdate.default(true)
  };
  var _default = ReservationList;
  exports.default = _default;
},1586,[5,6,7,8,15,12,14,16,1323,201,1319,17,28,1587,1588,1382,1524,1383]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = styleConstructor;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var defaultStyle = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function styleConstructor() {
    var theme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var appStyle = (0, _extends2.default)({}, defaultStyle, theme);
    return _reactNative.StyleSheet.create((0, _extends2.default)({
      container: {
        flexDirection: 'row'
      },
      innerContainer: {
        flex: 1
      },
      dayNum: {
        fontSize: 28,
        fontWeight: '200',
        fontFamily: appStyle.textDayFontFamily,
        color: appStyle.agendaDayNumColor
      },
      dayText: {
        fontSize: 14,
        fontWeight: appStyle.textDayFontWeight,
        fontFamily: appStyle.textDayFontFamily,
        color: appStyle.agendaDayTextColor,
        backgroundColor: 'rgba(0,0,0,0)',
        marginTop: -5
      },
      day: {
        width: 63,
        alignItems: 'center',
        justifyContent: 'flex-start',
        marginTop: 32
      },
      today: {
        color: appStyle.agendaTodayColor
      },
      indicator: {
        marginTop: 80
      }
    }, theme['stylesheet.agenda.list'] || {}));
  }
},1587,[5,6,28,1360]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _isFunction = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _style = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Reservation = function (_Component) {
    (0, _inherits2.default)(Reservation, _Component);

    var _super = _createSuper(Reservation);

    function Reservation(props) {
      var _this;

      (0, _classCallCheck2.default)(this, Reservation);
      _this = _super.call(this, props);
      _this.style = (0, _style.default)(props.theme);
      return _this;
    }

    (0, _createClass2.default)(Reservation, [{
      key: "shouldComponentUpdate",
      value: function shouldComponentUpdate(nextProps) {
        var d1 = this.props.date;
        var d2 = nextProps.date;
        var r1 = this.props.item;
        var r2 = nextProps.item;
        var changed = true;

        if (!d1 && !d2) {
          changed = false;
        } else if (d1 && d2) {
          if (d1.getTime() !== d2.getTime()) {
            changed = true;
          } else if (!r1 && !r2) {
            changed = false;
          } else if (r1 && r2) {
            if (!d1 && !d2 || d1 && d2) {
              if ((0, _isFunction.default)(this.props.rowHasChanged)) {
                changed = this.props.rowHasChanged(r1, r2);
              }
            }
          }
        }

        return changed;
      }
    }, {
      key: "renderDate",
      value: function renderDate() {
        var _this$props = this.props,
            item = _this$props.item,
            date = _this$props.date,
            renderDay = _this$props.renderDay;

        if ((0, _isFunction.default)(renderDay)) {
          return renderDay(date, item);
        }

        var today = date && (0, _$$_REQUIRE(_dependencyMap[11]).isToday)(date) ? this.style.today : undefined;
        var dayNames = (0, _$$_REQUIRE(_dependencyMap[12]).getDefaultLocale)().dayNamesShort;

        if (date) {
          return _react.default.createElement(_reactNative.View, {
            style: this.style.day,
            testID: _$$_REQUIRE(_dependencyMap[13]).RESERVATION_DATE
          }, _react.default.createElement(_reactNative.Text, {
            allowFontScaling: false,
            style: [this.style.dayNum, today]
          }, date.getDate()), _react.default.createElement(_reactNative.Text, {
            allowFontScaling: false,
            style: [this.style.dayText, today]
          }, dayNames ? dayNames[date.getDay()] : undefined));
        }

        return _react.default.createElement(_reactNative.View, {
          style: this.style.day
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props2 = this.props,
            item = _this$props2.item,
            date = _this$props2.date,
            renderItem = _this$props2.renderItem,
            renderEmptyDate = _this$props2.renderEmptyDate;
        var content;

        if (item) {
          var firstItem = date ? true : false;

          if ((0, _isFunction.default)(renderItem)) {
            content = renderItem(item, firstItem);
          }
        } else if ((0, _isFunction.default)(renderEmptyDate)) {
          content = renderEmptyDate(date);
        }

        return _react.default.createElement(_reactNative.View, {
          style: this.style.container
        }, this.renderDate(), _react.default.createElement(_reactNative.View, {
          style: this.style.innerContainer
        }, content));
      }
    }]);
    return Reservation;
  }(_react.Component);

  Reservation.displayName = 'Reservation';
  Reservation.propTypes = {
    date: _propTypes.default.any,
    item: _propTypes.default.any,
    theme: _propTypes.default.object,
    rowHasChanged: _propTypes.default.func,
    renderDay: _propTypes.default.func,
    renderItem: _propTypes.default.func,
    renderEmptyDate: _propTypes.default.func
  };
  var _default = Reservation;
  exports.default = _default;
},1588,[5,7,8,12,14,16,1323,201,17,28,1587,1382,1530,1589]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var PREFIX = 'native.calendar';
  module.exports = {
    CHANGE_MONTH_LEFT_ARROW: "native.calendar.CHANGE_MONTH_LEFT_ARROW",
    CHANGE_MONTH_RIGHT_ARROW: "native.calendar.CHANGE_MONTH_RIGHT_ARROW",
    SELECT_DATE_SLOT: "native.calendar.SELECT_DATE_SLOT",
    CALENDAR_KNOB: "native.calendar.CALENDAR_KNOB",
    STATIC_HEADER: 'STATIC_HEADER',
    AGENDA_CALENDAR_KNOB: "native.calendar.AGENDA_CALENDAR_KNOB",
    HEADER_MONTH_NAME: 'HEADER_MONTH_NAME',
    RESERVATION_DATE: "native.calendar.RESERVATION_DATE",
    HEADER_DAY_NAMES: "native.calendar.DAY_NAMES",
    WEEK_NUMBER: "native.calendar.WEEK_NUMBER",
    HEADER_LOADING_INDICATOR: "native.calendar.HEADER_LOADING_INDICATOR"
  };
},1589,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.VelocityTracker = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var VelocityTracker = function () {
    function VelocityTracker() {
      (0, _classCallCheck2.default)(this, VelocityTracker);
      this.history = [];
      this.lastPosition = undefined;
      this.lastTimestamp = undefined;
    }

    (0, _createClass2.default)(VelocityTracker, [{
      key: "add",
      value: function add(position) {
        var timestamp = new Date().valueOf();

        if (this.lastPosition && this.lastTimestamp && timestamp > this.lastTimestamp) {
          var diff = position - this.lastPosition;

          if (diff > 0.001 || diff < -0.001) {
            this.history.push(diff / (timestamp - this.lastTimestamp));
          }
        }

        this.lastPosition = position;
        this.lastTimestamp = timestamp;
      }
    }, {
      key: "estimateSpeed",
      value: function estimateSpeed() {
        var finalTrend = this.history.slice(-3);
        var sum = finalTrend.reduce(function (r, v) {
          return r + v;
        }, 0);
        return sum / finalTrend.length;
      }
    }, {
      key: "reset",
      value: function reset() {
        this.history = [];
        this.lastPosition = undefined;
        this.lastTimestamp = undefined;
      }
    }]);
    return VelocityTracker;
  }();

  exports.VelocityTracker = VelocityTracker;
},1590,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.Positions = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _first = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _isFunction = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _isNumber = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _throttle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _xdate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _style = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  var _WeekDaysNames = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _calendar = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _calendarList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _week = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _WeekCalendar = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _Context = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _constants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Positions;
  exports.Positions = Positions;

  (function (Positions) {
    Positions["CLOSED"] = "closed";
    Positions["OPEN"] = "open";
  })(Positions || (exports.Positions = Positions = {}));

  var SPEED = 20;
  var BOUNCINESS = 6;
  var CLOSED_HEIGHT = 120;
  var WEEK_HEIGHT = 46;
  var DAY_NAMES_PADDING = 24;
  var PAN_GESTURE_THRESHOLD = 30;
  var knobHitSlop = {
    left: 10,
    right: 10,
    top: 10,
    bottom: 10
  };
  var headerStyleOverride = {
    stylesheet: {
      calendar: {
        header: {
          week: {
            marginTop: 7,
            marginBottom: -4,
            flexDirection: 'row',
            justifyContent: 'space-around'
          }
        }
      }
    }
  };

  var ExpandableCalendar = function ExpandableCalendar(props) {
    var _useContext = (0, _react.useContext)(_Context.default),
        date = _useContext.date,
        setDate = _useContext.setDate,
        numberOfDays = _useContext.numberOfDays,
        timelineLeftInset = _useContext.timelineLeftInset;

    var _props$initialPositio = props.initialPosition,
        initialPosition = _props$initialPositio === undefined ? Positions.CLOSED : _props$initialPositio,
        onCalendarToggled = props.onCalendarToggled,
        disablePan = props.disablePan,
        _props$hideKnob = props.hideKnob,
        hideKnob = _props$hideKnob === undefined ? numberOfDays && numberOfDays > 1 : _props$hideKnob,
        _props$leftArrowImage = props.leftArrowImageSource,
        leftArrowImageSource = _props$leftArrowImage === undefined ? _$$_REQUIRE(_dependencyMap[19]) : _props$leftArrowImage,
        _props$rightArrowImag = props.rightArrowImageSource,
        rightArrowImageSource = _props$rightArrowImag === undefined ? _$$_REQUIRE(_dependencyMap[20]) : _props$rightArrowImag,
        _props$allowShadow = props.allowShadow,
        allowShadow = _props$allowShadow === undefined ? true : _props$allowShadow,
        disableWeekScroll = props.disableWeekScroll,
        _props$openThreshold = props.openThreshold,
        openThreshold = _props$openThreshold === undefined ? PAN_GESTURE_THRESHOLD : _props$openThreshold,
        _props$closeThreshold = props.closeThreshold,
        closeThreshold = _props$closeThreshold === undefined ? PAN_GESTURE_THRESHOLD : _props$closeThreshold,
        _props$closeOnDayPres = props.closeOnDayPress,
        closeOnDayPress = _props$closeOnDayPres === undefined ? true : _props$closeOnDayPres,
        _props$horizontal = props.horizontal,
        horizontal = _props$horizontal === undefined ? true : _props$horizontal,
        calendarStyle = props.calendarStyle,
        theme = props.theme,
        propsStyle = props.style,
        _props$firstDay = props.firstDay,
        firstDay = _props$firstDay === undefined ? 0 : _props$firstDay,
        onDayPress = props.onDayPress,
        hideArrows = props.hideArrows,
        onPressArrowLeft = props.onPressArrowLeft,
        onPressArrowRight = props.onPressArrowRight,
        renderArrow = props.renderArrow,
        testID = props.testID,
        others = (0, _objectWithoutProperties2.default)(props, ["initialPosition", "onCalendarToggled", "disablePan", "hideKnob", "leftArrowImageSource", "rightArrowImageSource", "allowShadow", "disableWeekScroll", "openThreshold", "closeThreshold", "closeOnDayPress", "horizontal", "calendarStyle", "theme", "style", "firstDay", "onDayPress", "hideArrows", "onPressArrowLeft", "onPressArrowRight", "renderArrow", "testID"]);

    var _useState = (0, _react.useState)(false),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        screenReaderEnabled = _useState2[0],
        setScreenReaderEnabled = _useState2[1];

    var getYear = function getYear(date) {
      var d = new _xdate.default(date);
      return d.getFullYear();
    };

    var getMonth = function getMonth(date) {
      var d = new _xdate.default(date);
      return d.getMonth() + 1;
    };

    var visibleMonth = (0, _react.useRef)(getMonth(date));
    var visibleYear = (0, _react.useRef)(getYear(date));

    var isLaterDate = function isLaterDate(date1, date2) {
      if (date1 && date2) {
        if (date1.year > getYear(date2)) {
          return true;
        }

        if (date1.year === getYear(date2)) {
          if (date1.month > getMonth(date2)) {
            return true;
          }
        }
      }

      return false;
    };

    (0, _react.useEffect)(function () {
      scrollToDate(date);
    }, [date]);

    var getNumberOfWeeksInMonth = function getNumberOfWeeksInMonth(month) {
      var days = (0, _$$_REQUIRE(_dependencyMap[21]).page)(new _xdate.default(month), firstDay);
      return days.length / 7;
    };

    var numberOfWeeks = (0, _react.useRef)(getNumberOfWeeksInMonth(date));

    var _useState3 = (0, _react.useState)(numberOfDays ? Positions.CLOSED : initialPosition),
        _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
        position = _useState4[0],
        setPosition = _useState4[1];

    var isOpen = position === Positions.OPEN;

    var getOpenHeight = function getOpenHeight() {
      if (!horizontal) {
        return Math.max(_constants.default.screenHeight, _constants.default.screenWidth);
      }

      return CLOSED_HEIGHT + WEEK_HEIGHT * (numberOfWeeks.current - 1) + (hideKnob ? 12 : _style.KNOB_CONTAINER_HEIGHT) + (_constants.default.isAndroid ? 3 : 0);
    };

    var openHeight = (0, _react.useRef)(getOpenHeight());
    var closedHeight = (0, _react.useMemo)(function () {
      return CLOSED_HEIGHT + (hideKnob || Number(numberOfDays) > 1 ? 0 : _style.KNOB_CONTAINER_HEIGHT);
    }, [numberOfDays, hideKnob]);
    var startHeight = (0, _react.useMemo)(function () {
      return isOpen ? openHeight.current : closedHeight;
    }, [closedHeight, isOpen]);

    var _height = (0, _react.useRef)(startHeight);

    var deltaY = (0, _react.useMemo)(function () {
      return new _reactNative.Animated.Value(startHeight);
    }, [startHeight]);
    var headerDeltaY = (0, _react.useRef)(new _reactNative.Animated.Value(isOpen ? -_style.HEADER_HEIGHT : 0));
    (0, _react.useEffect)(function () {
      _height.current = startHeight;
      deltaY.setValue(startHeight);
    }, [startHeight]);
    (0, _react.useEffect)(function () {
      if (numberOfDays) {
        setPosition(Positions.CLOSED);
      }
    }, [numberOfDays]);
    var wrapper = (0, _react.useRef)();
    var calendarList = (0, _react.useRef)();
    var header = (0, _react.useRef)();
    var weekCalendarWrapper = (0, _react.useRef)();
    var style = (0, _react.useRef)((0, _style.default)(theme));
    var themeObject = (0, _extends2.default)(headerStyleOverride, theme);

    var _wrapperStyles = (0, _react.useRef)({
      style: {
        height: startHeight
      }
    });

    var _headerStyles = {
      style: {
        top: isOpen ? -_style.HEADER_HEIGHT : 0
      }
    };
    var _weekCalendarStyles = {
      style: {
        opacity: isOpen ? 0 : 1
      }
    };
    var shouldHideArrows = !horizontal ? true : hideArrows || false;

    var updateNativeStyles = function updateNativeStyles() {
      var _wrapper$current;

      wrapper == null ? undefined : (_wrapper$current = wrapper.current) == null ? undefined : _wrapper$current.setNativeProps(_wrapperStyles.current);

      if (!horizontal) {
        var _header$current;

        header == null ? undefined : (_header$current = header.current) == null ? undefined : _header$current.setNativeProps(_headerStyles);
      } else {
        var _weekCalendarWrapper$;

        weekCalendarWrapper == null ? undefined : (_weekCalendarWrapper$ = weekCalendarWrapper.current) == null ? undefined : _weekCalendarWrapper$.setNativeProps(_weekCalendarStyles);
      }
    };

    var weekDaysStyle = (0, _react.useMemo)(function () {
      var leftPaddings = calendarStyle == null ? undefined : calendarStyle.paddingLeft;
      var rightPaddings = calendarStyle == null ? undefined : calendarStyle.paddingRight;
      return [style.current.weekDayNames, {
        paddingLeft: (0, _isNumber.default)(leftPaddings) ? leftPaddings + 6 : DAY_NAMES_PADDING,
        paddingRight: (0, _isNumber.default)(rightPaddings) ? rightPaddings + 6 : DAY_NAMES_PADDING
      }];
    }, [calendarStyle]);
    var animatedHeaderStyle = (0, _react.useMemo)(function () {
      return [style.current.header, {
        height: _style.HEADER_HEIGHT + 10,
        top: headerDeltaY.current
      }];
    }, [headerDeltaY.current]);
    var weekCalendarStyle = (0, _react.useMemo)(function () {
      return [style.current.weekContainer, isOpen ? style.current.hidden : style.current.visible];
    }, [isOpen]);
    var containerStyle = (0, _react.useMemo)(function () {
      return [allowShadow && style.current.containerShadow, propsStyle];
    }, [allowShadow, propsStyle]);
    var wrapperStyle = (0, _react.useMemo)(function () {
      return {
        height: deltaY
      };
    }, [deltaY]);
    var numberOfDaysHeaderStyle = (0, _react.useMemo)(function () {
      if (numberOfDays && numberOfDays > 1) {
        return {
          paddingHorizontal: 0
        };
      }
    }, [numberOfDays]);

    var _headerStyle = (0, _react.useMemo)(function () {
      return [numberOfDaysHeaderStyle, props.headerStyle];
    }, [props.headerStyle, numberOfDaysHeaderStyle]);

    (0, _react.useEffect)(function () {
      if (_reactNative.AccessibilityInfo) {
        if (_reactNative.AccessibilityInfo.isScreenReaderEnabled) {
          _reactNative.AccessibilityInfo.isScreenReaderEnabled().then(handleScreenReaderStatus);
        } else if (_reactNative.AccessibilityInfo.fetch) {
          _reactNative.AccessibilityInfo.fetch().then(handleScreenReaderStatus);
        }
      }
    }, []);

    var handleScreenReaderStatus = function handleScreenReaderStatus(screenReaderEnabled) {
      setScreenReaderEnabled(screenReaderEnabled);
    };

    var scrollToDate = function scrollToDate(date) {
      if (!horizontal) {
        var _calendarList$current;

        calendarList == null ? undefined : (_calendarList$current = calendarList.current) == null ? undefined : _calendarList$current.scrollToDay(date, 0, true);
      } else if (getYear(date) !== visibleYear.current || getMonth(date) !== visibleMonth.current) {
        var _calendarList$current2;

        calendarList == null ? undefined : (_calendarList$current2 = calendarList.current) == null ? undefined : _calendarList$current2.scrollToMonth(date);
      }
    };

    var scrollPage = (0, _react.useCallback)(function (next) {
      if (horizontal) {
        var d = (0, _$$_REQUIRE(_dependencyMap[22]).parseDate)(date);

        if (isOpen) {
          d.setDate(1);
          d.addMonths(next ? 1 : -1);
        } else {
          var dayOfTheWeek = d.getDay();

          if (dayOfTheWeek < firstDay && firstDay > 0) {
            dayOfTheWeek = 7 + dayOfTheWeek;
          }

          if (numberOfDays) {
            var daysToAdd = numberOfDays <= 1 ? 7 : numberOfDays;
            d.addDays(next ? daysToAdd : -daysToAdd);
          } else {
            var firstDayOfWeek = (next ? 7 : -7) - dayOfTheWeek + firstDay;
            d.addDays(firstDayOfWeek);
          }
        }

        setDate == null ? undefined : setDate((0, _$$_REQUIRE(_dependencyMap[22]).toMarkingFormat)(d), _$$_REQUIRE(_dependencyMap[23]).UpdateSources.PAGE_SCROLL);
      }
    }, [horizontal, isOpen, firstDay, numberOfDays, setDate, date]);

    var handleMoveShouldSetPanResponder = function handleMoveShouldSetPanResponder(_, gestureState) {
      if (disablePan) {
        return false;
      }

      if (!horizontal && isOpen) {
        return false;
      }

      if (!isOpen && gestureState.dy < 0) {
        return false;
      }

      return gestureState.dy > 5 || gestureState.dy < -5;
    };

    var handlePanResponderMove = function handlePanResponderMove(_, gestureState) {
      _wrapperStyles.current.style.height = Math.min(Math.max(closedHeight, _height.current + gestureState.dy), openHeight.current);

      if (!horizontal) {
        _headerStyles.style.top = Math.min(Math.max(-gestureState.dy, -_style.HEADER_HEIGHT), 0);
      } else {
        if (!isOpen) {
          _weekCalendarStyles.style.opacity = Math.min(1, Math.max(1 - gestureState.dy / 100, 0));
        } else if (gestureState.dy < 0) {
          _weekCalendarStyles.style.opacity = Math.max(0, Math.min(Math.abs(gestureState.dy / 200), 1));
        }
      }

      updateNativeStyles();
    };

    var handlePanResponderEnd = function handlePanResponderEnd() {
      _height.current = Number(_wrapperStyles.current.style.height);
      bounceToPosition();
    };

    var numberOfDaysCondition = (0, _react.useMemo)(function () {
      return !numberOfDays || numberOfDays && numberOfDays <= 1;
    }, [numberOfDays]);
    var panResponder = (0, _react.useMemo)(function () {
      return numberOfDaysCondition ? _reactNative.PanResponder.create({
        onMoveShouldSetPanResponder: handleMoveShouldSetPanResponder,
        onPanResponderMove: handlePanResponderMove,
        onPanResponderRelease: handlePanResponderEnd,
        onPanResponderTerminate: handlePanResponderEnd
      }) : _reactNative.PanResponder.create({});
    }, [numberOfDays, position]);

    var bounceToPosition = function bounceToPosition() {
      var toValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;

      if (!disablePan) {
        var threshold = isOpen ? openHeight.current - closeThreshold : closedHeight + openThreshold;

        var _isOpen = _height.current >= threshold;

        var newValue = _isOpen ? openHeight.current : closedHeight;
        deltaY.setValue(_height.current);
        _height.current = toValue || newValue;
        _isOpen = _height.current >= threshold;

        _reactNative.Animated.spring(deltaY, {
          toValue: _height.current,
          speed: SPEED,
          bounciness: BOUNCINESS,
          useNativeDriver: false
        }).start();

        onCalendarToggled == null ? undefined : onCalendarToggled(_isOpen);
        setPosition(function () {
          return _height.current === closedHeight ? Positions.CLOSED : Positions.OPEN;
        });
        closeHeader(_isOpen);
        resetWeekCalendarOpacity(_isOpen);
      }
    };

    var resetWeekCalendarOpacity = function resetWeekCalendarOpacity(isOpen) {
      _weekCalendarStyles.style.opacity = isOpen ? 0 : 1;
      updateNativeStyles();
    };

    var closeHeader = function closeHeader(isOpen) {
      headerDeltaY.current.setValue(Number(_headerStyles.style.top));

      if (!horizontal && !isOpen) {
        _reactNative.Animated.spring(headerDeltaY.current, {
          toValue: 0,
          speed: 2,
          bounciness: 1,
          useNativeDriver: false
        }).start();
      }
    };

    var closeCalendar = (0, _react.useCallback)(function () {
      setTimeout(function () {
        if (isOpen) {
          bounceToPosition(closedHeight);
        }
      }, 0);
    }, [isOpen, closedHeight]);
    var toggleCalendarPosition = (0, _react.useCallback)(function () {
      bounceToPosition(isOpen ? closedHeight : openHeight.current);
    }, [isOpen, bounceToPosition, closedHeight]);

    var _onPressArrowLeft = (0, _react.useCallback)(function (method, month) {
      onPressArrowLeft == null ? undefined : onPressArrowLeft(method, month);
      scrollPage(false);
    }, [onPressArrowLeft, scrollPage]);

    var _onPressArrowRight = (0, _react.useCallback)(function (method, month) {
      onPressArrowRight == null ? undefined : onPressArrowRight(method, month);
      scrollPage(true);
    }, [onPressArrowRight, scrollPage]);

    var _onDayPress = (0, _react.useCallback)(function (value) {
      if (numberOfDaysCondition) {
        setDate == null ? undefined : setDate(value.dateString, _$$_REQUIRE(_dependencyMap[23]).UpdateSources.DAY_PRESS);
      }

      if (closeOnDayPress) {
        closeCalendar();
      }

      onDayPress == null ? undefined : onDayPress(value);
    }, [onDayPress, closeOnDayPress, closeCalendar, numberOfDaysCondition]);

    var onVisibleMonthsChange = (0, _react.useCallback)((0, _throttle.default)(function (value) {
      var newDate = (0, _first.default)(value);

      if (newDate) {
        var month = newDate.month;

        if (month && visibleMonth.current !== month) {
          visibleMonth.current = month;
          var year = newDate.year;

          if (year) {
            visibleYear.current = year;
          }

          if (visibleMonth.current !== getMonth(date)) {
            var next = isLaterDate(newDate, date);
            scrollPage(next);
          }

          setTimeout(function () {
            var _numberOfWeeks = getNumberOfWeeksInMonth(newDate.dateString);

            if (_numberOfWeeks !== numberOfWeeks.current) {
              numberOfWeeks.current = _numberOfWeeks;
              openHeight.current = getOpenHeight();

              if (isOpen) {
                bounceToPosition(openHeight.current);
              }
            }
          }, 0);
        }
      }
    }, 100, {
      trailing: true,
      leading: false
    }), [date, scrollPage]);

    var _renderArrow = (0, _react.useCallback)(function (direction) {
      if ((0, _isFunction.default)(renderArrow)) {
        return renderArrow(direction);
      }

      return _react.default.createElement(_reactNative.Image, {
        source: direction === 'right' ? rightArrowImageSource : leftArrowImageSource,
        style: style.current.arrowImage,
        testID: testID + "." + direction + "Arrow"
      });
    }, [renderArrow, rightArrowImageSource, leftArrowImageSource, testID]);

    var renderWeekDaysNames = function renderWeekDaysNames() {
      return _react.default.createElement(_reactNative.View, {
        style: weekDaysStyle
      }, _react.default.createElement(_WeekDaysNames.default, {
        firstDay: firstDay,
        style: style.current.dayHeader
      }));
    };

    var renderAnimatedHeader = function renderAnimatedHeader() {
      var _XDate;

      var monthYear = (_XDate = new _xdate.default(date)) == null ? undefined : _XDate.toString('MMMM yyyy');
      return _react.default.createElement(_reactNative.Animated.View, {
        ref: header,
        style: animatedHeaderStyle,
        pointerEvents: 'none'
      }, _react.default.createElement(_reactNative.Text, {
        allowFontScaling: false,
        style: style.current.headerTitle
      }, monthYear), renderWeekDaysNames());
    };

    var renderKnob = function renderKnob() {
      return _react.default.createElement(_reactNative.View, {
        style: style.current.knobContainer,
        pointerEvents: 'box-none'
      }, _react.default.createElement(_reactNative.TouchableOpacity, {
        style: style.current.knob,
        testID: testID + ".knob",
        onPress: toggleCalendarPosition,
        hitSlop: knobHitSlop
      }));
    };

    var renderWeekCalendar = function renderWeekCalendar() {
      var WeekComponent = disableWeekScroll ? _week.default : _WeekCalendar.default;
      return _react.default.createElement(_reactNative.Animated.View, {
        ref: weekCalendarWrapper,
        style: weekCalendarStyle,
        pointerEvents: isOpen ? 'none' : 'auto'
      }, _react.default.createElement(WeekComponent, (0, _extends2.default)({
        testID: testID + ".weekCalendar",
        firstDay: firstDay
      }, others, {
        allowShadow: disableWeekScroll ? undefined : false,
        current: disableWeekScroll ? date : undefined,
        theme: themeObject,
        style: calendarStyle,
        hideDayNames: true,
        onDayPress: _onDayPress,
        accessibilityElementsHidden: true,
        importantForAccessibility: 'no-hide-descendants'
      })));
    };

    var renderCalendarList = function renderCalendarList() {
      return _react.default.createElement(_calendarList.default, (0, _extends2.default)({
        testID: testID + ".calendarList",
        horizontal: horizontal,
        firstDay: firstDay,
        calendarStyle: calendarStyle
      }, others, {
        current: date,
        theme: themeObject,
        ref: calendarList,
        onDayPress: _onDayPress,
        onVisibleMonthsChange: onVisibleMonthsChange,
        pagingEnabled: true,
        scrollEnabled: isOpen,
        hideArrows: shouldHideArrows,
        onPressArrowLeft: _onPressArrowLeft,
        onPressArrowRight: _onPressArrowRight,
        hideExtraDays: !horizontal && isOpen,
        renderArrow: _renderArrow,
        staticHeader: true,
        numberOfDays: numberOfDays,
        headerStyle: _headerStyle,
        timelineLeftInset: timelineLeftInset,
        context: (0, _react.useContext)(_Context.default)
      }));
    };

    return _react.default.createElement(_reactNative.View, {
      testID: testID,
      style: containerStyle
    }, screenReaderEnabled ? _react.default.createElement(_calendar.default, (0, _extends2.default)({
      testID: testID + ".calendarAccessible"
    }, others, {
      theme: themeObject,
      onDayPress: _onDayPress,
      hideExtraDays: true,
      renderArrow: _renderArrow
    })) : _react.default.createElement(_reactNative.Animated.View, (0, _extends2.default)({
      testID: testID + ".expandableContainer",
      ref: wrapper,
      style: wrapperStyle
    }, panResponder.panHandlers), renderCalendarList(), renderWeekCalendar(), !hideKnob && renderKnob(), !horizontal && renderAnimatedHeader()));
  };

  var _default = ExpandableCalendar;
  exports.default = _default;
  ExpandableCalendar.displayName = 'ExpandableCalendar';
  ExpandableCalendar.defaultProps = {
    horizontal: true,
    initialPosition: Positions.CLOSED,
    firstDay: 0,
    leftArrowImageSource: _$$_REQUIRE(_dependencyMap[19]),
    rightArrowImageSource: _$$_REQUIRE(_dependencyMap[20]),
    allowShadow: true,
    openThreshold: PAN_GESTURE_THRESHOLD,
    closeThreshold: PAN_GESTURE_THRESHOLD,
    closeOnDayPress: true
  };
  ExpandableCalendar.positions = Positions;
},1591,[5,6,41,108,1592,1323,1534,1594,1319,17,28,1595,1585,1318,1537,1596,1597,1598,1358,1384,1385,1382,1383,1599]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]);
},1592,[1593]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function head(array) {
    return array && array.length ? array[0] : undefined;
  }

  module.exports = head;
},1593,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var FUNC_ERROR_TEXT = 'Expected a function';

  function throttle(func, wait, options) {
    var leading = true,
        trailing = true;

    if (typeof func != 'function') {
      throw new TypeError(FUNC_ERROR_TEXT);
    }

    if (_$$_REQUIRE(_dependencyMap[0])(options)) {
      leading = 'leading' in options ? !!options.leading : leading;
      trailing = 'trailing' in options ? !!options.trailing : trailing;
    }

    return _$$_REQUIRE(_dependencyMap[1])(func, wait, {
      'leading': leading,
      'maxWait': wait,
      'trailing': trailing
    });
  }

  module.exports = throttle;
},1594,[1324,1545]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = styleConstructor;
  exports.KNOB_CONTAINER_HEIGHT = exports.HEADER_HEIGHT = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var defaultStyle = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _constants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var HEADER_HEIGHT = 68;
  exports.HEADER_HEIGHT = HEADER_HEIGHT;
  var KNOB_CONTAINER_HEIGHT = 24;
  exports.KNOB_CONTAINER_HEIGHT = KNOB_CONTAINER_HEIGHT;

  function styleConstructor() {
    var _theme$stylesheet, _theme$stylesheet$exp;

    var theme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var appStyle = (0, _extends2.default)({}, defaultStyle, theme);
    return _reactNative.StyleSheet.create((0, _extends2.default)({
      containerShadow: (0, _extends2.default)({
        backgroundColor: appStyle.calendarBackground
      }, _reactNative.Platform.select({
        ios: {
          shadowColor: '#858F96',
          shadowOpacity: 0.25,
          shadowRadius: 10,
          shadowOffset: {
            height: 2,
            width: 0
          },
          zIndex: 99
        },
        android: {
          elevation: 3
        }
      })),
      containerWrapper: {
        paddingBottom: 6
      },
      container: {
        backgroundColor: appStyle.calendarBackground
      },
      knobContainer: {
        position: 'absolute',
        left: 0,
        right: 0,
        height: KNOB_CONTAINER_HEIGHT,
        bottom: 0,
        alignItems: 'center',
        justifyContent: 'center',
        backgroundColor: appStyle.calendarBackground
      },
      knob: {
        width: 40,
        height: 4,
        borderRadius: 3,
        backgroundColor: appStyle.expandableKnobColor
      },
      sectionText: {
        fontWeight: 'bold',
        fontSize: 12,
        lineHeight: 16,
        color: '#7a92a5',
        paddingTop: 24,
        paddingBottom: 8,
        paddingLeft: 20,
        paddingRight: 20,
        backgroundColor: appStyle.calendarBackground,
        textAlign: 'left',
        textTransform: 'uppercase'
      },
      header: {
        position: 'absolute',
        left: 0,
        right: 0,
        backgroundColor: appStyle.calendarBackground
      },
      headerTitle: {
        alignSelf: 'center',
        paddingTop: 13,
        paddingBottom: 18,
        fontSize: appStyle.textMonthFontSize,
        fontFamily: appStyle.textMonthFontFamily,
        fontWeight: appStyle.textMonthFontWeight,
        color: appStyle.monthTextColor
      },
      weekDayNames: {
        flexDirection: 'row',
        justifyContent: 'space-between'
      },
      dayHeader: {
        width: 32,
        textAlign: 'center',
        fontSize: appStyle.textDayHeaderFontSize,
        fontFamily: appStyle.textDayHeaderFontFamily,
        fontWeight: appStyle.textDayHeaderFontWeight,
        color: appStyle.textSectionTitleColor
      },
      monthView: {
        backgroundColor: appStyle.calendarBackground
      },
      weekContainer: {
        position: 'absolute',
        left: 0,
        right: 0,
        top: HEADER_HEIGHT + (_constants.default.isAndroid ? 8 : 9)
      },
      hidden: {
        opacity: 0
      },
      visible: {
        opacity: 1
      },
      weekCalendar: {
        marginTop: 12,
        marginBottom: -2
      },
      week: {
        marginTop: 7,
        marginBottom: 7,
        paddingRight: 15,
        paddingLeft: 15,
        flexDirection: 'row',
        justifyContent: 'space-around'
      },
      partialWeek: {
        paddingRight: 0
      },
      dayContainer: {
        flex: 1,
        alignItems: 'center'
      },
      emptyDayContainer: {
        flex: 1
      },
      arrowImage: {
        tintColor: appStyle.arrowColor,
        transform: _constants.default.isRTL ? [{
          scaleX: -1
        }] : undefined
      },
      contextWrapper: {
        flex: 1
      },
      todayButtonContainer: {
        alignItems: appStyle.todayButtonPosition === 'right' ? 'flex-end' : 'flex-start',
        position: 'absolute',
        left: 20,
        right: 20,
        bottom: 0
      },
      todayButton: (0, _extends2.default)({
        height: _constants.default.isTablet ? 40 : 28,
        paddingHorizontal: _constants.default.isTablet ? 20 : 12,
        borderRadius: _constants.default.isTablet ? 20 : 14,
        flexDirection: appStyle.todayButtonPosition === 'right' ? 'row-reverse' : 'row',
        justifyContent: 'center',
        alignItems: 'center',
        backgroundColor: 'white'
      }, _reactNative.Platform.select({
        ios: {
          shadowColor: '#79838A',
          shadowOpacity: 0.3,
          shadowRadius: 14,
          shadowOffset: {
            height: 6,
            width: 0
          }
        },
        android: {
          elevation: 6
        }
      })),
      todayButtonText: {
        color: appStyle.todayButtonTextColor,
        fontSize: _constants.default.isTablet ? appStyle.todayButtonFontSize + 2 : appStyle.todayButtonFontSize,
        fontWeight: appStyle.todayButtonFontWeight,
        fontFamily: appStyle.todayButtonFontFamily
      },
      todayButtonImage: {
        tintColor: appStyle.todayButtonTextColor,
        marginLeft: appStyle.todayButtonPosition === 'right' ? 7 : undefined,
        marginRight: appStyle.todayButtonPosition === 'right' ? undefined : 7
      }
    }, (theme == null ? undefined : (_theme$stylesheet = theme.stylesheet) == null ? undefined : (_theme$stylesheet$exp = _theme$stylesheet.expandable) == null ? undefined : _theme$stylesheet$exp.main) || {}));
  }
},1595,[5,6,28,1360,1358]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _xdate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _isEqual = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _style = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _index = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _this = this;

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function arePropsEqual(prevProps, nextProps) {
    var prevContext = prevProps.context,
        prevMarkings = prevProps.markedDates,
        prevOthers = (0, _objectWithoutProperties2.default)(prevProps, ["context", "markedDates"]);
    var nextContext = nextProps.context,
        nextMarkings = nextProps.markedDates,
        nextOthers = (0, _objectWithoutProperties2.default)(nextProps, ["context", "markedDates"]);
    return (0, _isEqual.default)(prevContext, nextContext) && (0, _isEqual.default)(prevMarkings, nextMarkings) && (0, _isEqual.default)(prevOthers, nextOthers);
  }

  var Week = _react.default.memo(function (props) {
    var theme = props.theme,
        current = props.current,
        firstDay = props.firstDay,
        hideExtraDays = props.hideExtraDays,
        markedDates = props.markedDates,
        onDayPress = props.onDayPress,
        onDayLongPress = props.onDayLongPress,
        propsStyle = props.style,
        _props$numberOfDays = props.numberOfDays,
        numberOfDays = _props$numberOfDays === undefined ? 1 : _props$numberOfDays,
        timelineLeftInset = props.timelineLeftInset,
        testID = props.testID;
    var style = (0, _react.useRef)((0, _style.default)(theme));
    var disableDaySelection = (0, _react.useMemo)(function () {
      return !!numberOfDays && numberOfDays > 1;
    }, [numberOfDays]);
    var getWeek = (0, _react.useCallback)(function (date) {
      if (date) {
        return (0, _$$_REQUIRE(_dependencyMap[9]).getWeekDates)(date, firstDay);
      }
    }, [firstDay]);
    var partialWeekStyle = (0, _react.useMemo)(function () {
      return [style.current.partialWeek, {
        paddingLeft: timelineLeftInset
      }];
    }, [timelineLeftInset]);
    var dayProps = (0, _$$_REQUIRE(_dependencyMap[10]).extractDayProps)(props);
    var currXdate = (0, _react.useMemo)(function () {
      return (0, _$$_REQUIRE(_dependencyMap[11]).parseDate)(current);
    }, [current]);

    var renderDay = function renderDay(day, id) {
      if (current && hideExtraDays) {
        if (!(0, _$$_REQUIRE(_dependencyMap[9]).sameMonth)(day, currXdate)) {
          return _react.default.createElement(_reactNative.View, {
            key: id,
            style: style.current.emptyDayContainer
          });
        }
      }

      var dayString = (0, _$$_REQUIRE(_dependencyMap[11]).toMarkingFormat)(day);
      return _react.default.createElement(_reactNative.View, {
        style: style.current.dayContainer,
        key: id
      }, _react.default.createElement(_index.default, (0, _extends2.default)({}, dayProps, {
        testID: testID + ".day_" + dayString,
        date: dayString,
        state: (0, _$$_REQUIRE(_dependencyMap[12]).getState)(day, currXdate, props, disableDaySelection),
        marking: disableDaySelection ? (0, _extends2.default)({}, markedDates == null ? undefined : markedDates[dayString], {
          disableTouchEvent: true
        }) : markedDates == null ? undefined : markedDates[dayString],
        onPress: onDayPress,
        onLongPress: onDayLongPress
      })));
    };

    var renderWeek = function renderWeek() {
      var dates = numberOfDays > 1 ? (0, _$$_REQUIRE(_dependencyMap[9]).getPartialWeekDates)(current, numberOfDays) : getWeek(current);
      var week = [];

      if (dates) {
        var todayIndex = (dates == null ? undefined : dates.indexOf((0, _$$_REQUIRE(_dependencyMap[11]).parseDate)(new Date()))) || -1;
        var sliced = dates.slice(todayIndex, numberOfDays);
        var datesToRender = numberOfDays > 1 && todayIndex > -1 ? sliced : dates;
        datesToRender.forEach(function (day, id) {
          var d = day instanceof _xdate.default ? day : new _xdate.default(day);
          week.push(renderDay(d, id));
        }, _this);
      }

      return week;
    };

    return _react.default.createElement(_reactNative.View, {
      style: style.current.container,
      testID: testID + ".week_" + current
    }, _react.default.createElement(_reactNative.View, {
      style: [style.current.week, numberOfDays > 1 ? partialWeekStyle : undefined, propsStyle]
    }, renderWeek()));
  }, arePropsEqual);

  var _default = Week;
  exports.default = _default;
  Week.displayName = 'Week';
},1596,[5,6,108,1319,17,28,1481,1595,1386,1382,1524,1383,1536]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.NUMBER_OF_PAGES = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _defineProperty2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _xdate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _style = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _WeekDaysNames = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _week = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _constants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _Context = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var NUMBER_OF_PAGES = 6;
  exports.NUMBER_OF_PAGES = NUMBER_OF_PAGES;
  var NUM_OF_ITEMS = 13;
  var APPLY_ANDROID_FIX = _constants.default.isAndroid && _constants.default.isRTL;

  var WeekCalendar = function WeekCalendar(props) {
    var calendarWidth = props.calendarWidth,
        hideDayNames = props.hideDayNames,
        current = props.current,
        theme = props.theme,
        testID = props.testID,
        markedDates = props.markedDates;
    var context = (0, _react.useContext)(_Context.default);
    var _props$allowShadow = props.allowShadow,
        allowShadow = _props$allowShadow === undefined ? true : _props$allowShadow,
        calendarListProps = (0, _objectWithoutProperties2.default)(props, ["allowShadow"]);

    var _extractCalendarProps = (0, _$$_REQUIRE(_dependencyMap[14]).extractCalendarProps)(calendarListProps),
        propsStyle = _extractCalendarProps.style,
        onDayPress = _extractCalendarProps.onDayPress,
        _extractCalendarProps2 = _extractCalendarProps.firstDay,
        firstDay = _extractCalendarProps2 === undefined ? 0 : _extractCalendarProps2,
        others = (0, _objectWithoutProperties2.default)(_extractCalendarProps, ["style", "onDayPress", "firstDay"]);

    var date = context.date,
        numberOfDays = context.numberOfDays,
        updateSource = context.updateSource,
        setDate = context.setDate,
        timelineLeftInset = context.timelineLeftInset;
    var visibleWeek = (0, _react.useRef)(date);
    var style = (0, _react.useRef)((0, _style.default)(theme));
    var items = (0, _react.useRef)(getDatesArray(current != null ? current : date, firstDay, numberOfDays));

    var _useState = (0, _react.useState)(items.current),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        listData = _useState2[0],
        setListData = _useState2[1];

    var changedItems = (0, _react.useRef)(_constants.default.isRTL);
    var list = (0, _react.useRef)(null);
    var currentIndex = (0, _react.useRef)(NUMBER_OF_PAGES);
    (0, _$$_REQUIRE(_dependencyMap[15]).useDidUpdate)(function () {
      var _list$current;

      items.current = getDatesArray(date, firstDay, numberOfDays);
      setListData(items.current);
      visibleWeek.current = date;
      list == null ? undefined : (_list$current = list.current) == null ? undefined : _list$current.scrollToIndex({
        index: NUMBER_OF_PAGES,
        animated: false
      });
    }, [numberOfDays]);
    (0, _$$_REQUIRE(_dependencyMap[15]).useDidUpdate)(function () {
      if (updateSource !== _$$_REQUIRE(_dependencyMap[16]).UpdateSources.WEEK_SCROLL) {
        var pageIndex = items.current.findIndex(function (item) {
          return isCustomNumberOfDays(numberOfDays) ? (0, _$$_REQUIRE(_dependencyMap[17]).onSameDateRange)({
            firstDay: item,
            secondDay: date,
            numberOfDays: numberOfDays,
            firstDateInRange: item
          }) : (0, _$$_REQUIRE(_dependencyMap[17]).sameWeek)(item, date, firstDay);
        });

        if (pageIndex !== currentIndex.current) {
          var _list$current2;

          if (pageIndex >= 0) {
            visibleWeek.current = items.current[pageIndex];
            currentIndex.current = pageIndex;
          } else {
            visibleWeek.current = date;
            currentIndex.current = NUMBER_OF_PAGES;
          }

          pageIndex <= 0 ? onEndReached() : list == null ? undefined : (_list$current2 = list.current) == null ? undefined : _list$current2.scrollToIndex({
            index: pageIndex,
            animated: false
          });
        }
      }
    }, [date, updateSource]);
    var containerWidth = (0, _react.useMemo)(function () {
      return calendarWidth != null ? calendarWidth : _constants.default.screenWidth;
    }, [calendarWidth]);

    var _onDayPress = (0, _react.useCallback)(function (value) {
      if (onDayPress) {
        onDayPress(value);
      } else {
        setDate == null ? undefined : setDate(value.dateString, _$$_REQUIRE(_dependencyMap[16]).UpdateSources.DAY_PRESS);
      }
    }, [onDayPress]);

    var getCurrentWeekMarkings = (0, _react.useCallback)(function (date, markings) {
      if (!markings) {
        return;
      }

      var dates = (0, _$$_REQUIRE(_dependencyMap[17]).getWeekDates)(date, firstDay);
      return dates == null ? undefined : dates.reduce(function (acc, date) {
        var dateString = (0, _$$_REQUIRE(_dependencyMap[18]).toMarkingFormat)(date);
        return (0, _extends2.default)({}, acc, markings[dateString] && (0, _defineProperty2.default)({}, dateString, markings[dateString]));
      }, {});
    }, []);
    var weekStyle = (0, _react.useMemo)(function () {
      return [{
        width: containerWidth
      }, propsStyle];
    }, [containerWidth, propsStyle]);
    var renderItem = (0, _react.useCallback)(function (_ref2) {
      var item = _ref2.item;
      var currentContext = (0, _$$_REQUIRE(_dependencyMap[17]).sameWeek)(date, item, firstDay) ? context : undefined;
      var markings = getCurrentWeekMarkings(item, markedDates);
      return _react.default.createElement(_week.default, (0, _extends2.default)({}, others, {
        markedDates: markings,
        current: item,
        firstDay: firstDay,
        style: weekStyle,
        context: currentContext,
        onDayPress: _onDayPress,
        numberOfDays: numberOfDays,
        timelineLeftInset: timelineLeftInset
      }));
    }, [firstDay, _onDayPress, context, date, markedDates]);
    var keyExtractor = (0, _react.useCallback)(function (item) {
      return item;
    }, []);
    var renderWeekDaysNames = (0, _react.useMemo)(function () {
      return _react.default.createElement(_WeekDaysNames.default, {
        firstDay: firstDay,
        style: style.current.dayHeader
      });
    }, [firstDay]);
    var weekCalendarStyle = (0, _react.useMemo)(function () {
      return [allowShadow && style.current.containerShadow, !hideDayNames && style.current.containerWrapper];
    }, [allowShadow, hideDayNames]);
    var containerStyle = (0, _react.useMemo)(function () {
      return [style.current.week, style.current.weekCalendar];
    }, []);
    var getItemLayout = (0, _react.useCallback)(function (_, index) {
      return {
        length: containerWidth,
        offset: containerWidth * index,
        index: index
      };
    }, [containerWidth]);
    var onEndReached = (0, _react.useCallback)(function () {
      var _list$current3;

      changedItems.current = true;
      items.current = getDatesArray(visibleWeek.current, firstDay, numberOfDays);
      setListData(items.current);
      currentIndex.current = NUMBER_OF_PAGES;
      list == null ? undefined : (_list$current3 = list.current) == null ? undefined : _list$current3.scrollToIndex({
        index: NUMBER_OF_PAGES,
        animated: false
      });
    }, [firstDay, numberOfDays]);
    var onViewableItemsChanged = (0, _react.useCallback)(function (_ref3) {
      var _viewableItems$;

      var viewableItems = _ref3.viewableItems;

      if (changedItems.current || viewableItems.length === 0) {
        changedItems.current = false;
        return;
      }

      var currItems = items.current;
      var newDate = (_viewableItems$ = viewableItems[0]) == null ? undefined : _viewableItems$.item;

      if (newDate !== visibleWeek.current) {
        if (APPLY_ANDROID_FIX) {
          var newDateOffset = -1 * (NUMBER_OF_PAGES - currItems.indexOf(newDate));
          var adjustedNewDate = currItems[NUMBER_OF_PAGES - newDateOffset];
          visibleWeek.current = adjustedNewDate;
          currentIndex.current = currItems.indexOf(adjustedNewDate);
          setDate(adjustedNewDate, _$$_REQUIRE(_dependencyMap[16]).UpdateSources.WEEK_SCROLL);

          if (visibleWeek.current === currItems[currItems.length - 1]) {
            onEndReached();
          }
        } else {
          currentIndex.current = currItems.indexOf(newDate);
          visibleWeek.current = newDate;
          setDate(newDate, _$$_REQUIRE(_dependencyMap[16]).UpdateSources.WEEK_SCROLL);

          if (visibleWeek.current === currItems[0]) {
            onEndReached();
          }
        }
      }
    }, [onEndReached]);
    var viewabilityConfigCallbackPairs = (0, _react.useRef)([{
      viewabilityConfig: {
        itemVisiblePercentThreshold: 20
      },
      onViewableItemsChanged: onViewableItemsChanged
    }]);
    return _react.default.createElement(_reactNative.View, {
      testID: testID,
      style: weekCalendarStyle
    }, !hideDayNames && _react.default.createElement(_reactNative.View, {
      style: containerStyle
    }, renderWeekDaysNames), _react.default.createElement(_reactNative.View, {
      style: style.current.container
    }, _react.default.createElement(_reactNative.FlatList, {
      testID: testID + ".list",
      ref: list,
      style: style.current.container,
      data: listData,
      horizontal: true,
      showsHorizontalScrollIndicator: false,
      pagingEnabled: true,
      scrollEnabled: true,
      renderItem: renderItem,
      keyExtractor: keyExtractor,
      initialScrollIndex: NUMBER_OF_PAGES,
      getItemLayout: getItemLayout,
      viewabilityConfigCallbackPairs: viewabilityConfigCallbackPairs.current,
      onEndReached: onEndReached,
      onEndReachedThreshold: 0.07692307692307693
    })));
  };

  function getDateForDayRange(date, weekIndex, numberOfDays) {
    var d = new _xdate.default(date);

    if (weekIndex !== 0) {
      d.addDays(numberOfDays * weekIndex);
    }

    return (0, _$$_REQUIRE(_dependencyMap[18]).toMarkingFormat)(d);
  }

  function getDate(date, firstDay, weekIndex, numberOfDays) {
    var d = new _xdate.default(date);
    var dayOfTheWeek = d.getDay();

    if (dayOfTheWeek < firstDay && firstDay > 0) {
      dayOfTheWeek = 7 + dayOfTheWeek;
    }

    if (weekIndex !== 0) {
      d.addDays(firstDay - dayOfTheWeek);
    }

    var newDate = numberOfDays && numberOfDays > 1 ? d.addDays(weekIndex * numberOfDays) : d.addWeeks(weekIndex);
    var today = new _xdate.default();
    var offsetFromNow = newDate.diffDays(today);
    var isSameWeek = offsetFromNow > 0 && offsetFromNow < (numberOfDays != null ? numberOfDays : 7);
    return (0, _$$_REQUIRE(_dependencyMap[18]).toMarkingFormat)(isSameWeek ? today : newDate);
  }

  function getDatesArray(date, firstDay, numberOfDays) {
    return (0, _toConsumableArray2.default)(Array(NUM_OF_ITEMS).keys()).map(function (index) {
      if (isCustomNumberOfDays(numberOfDays)) {
        return getDateForDayRange(date, index - NUMBER_OF_PAGES, numberOfDays);
      }

      return getDate(date, firstDay, index - NUMBER_OF_PAGES);
    });
  }

  function isCustomNumberOfDays(numberOfDays) {
    return numberOfDays && numberOfDays > 1;
  }

  WeekCalendar.displayName = 'WeekCalendar';
  var _default = WeekCalendar;
  exports.default = _default;
},1597,[5,21,27,6,41,108,1319,17,28,1595,1585,1596,1358,1598,1524,1535,1599,1382,1383]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var CalendarContext = _react.default.createContext({});

  var _default = CalendarContext;
  exports.default = _default;
},1598,[5,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.UpdateSources = exports.todayString = undefined;
  var todayString = 'today';
  exports.todayString = todayString;
  var UpdateSources;
  exports.UpdateSources = UpdateSources;

  (function (UpdateSources) {
    UpdateSources["CALENDAR_INIT"] = "calendarInit";
    UpdateSources["TODAY_PRESS"] = "todayPress";
    UpdateSources["LIST_DRAG"] = "listDrag";
    UpdateSources["DAY_PRESS"] = "dayPress";
    UpdateSources["PAGE_SCROLL"] = "pageScroll";
    UpdateSources["WEEK_SCROLL"] = "weekScroll";
    UpdateSources["PROP_UPDATE"] = "propUpdate";
  })(UpdateSources || (exports.UpdateSources = UpdateSources = {}));
},1599,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _xdate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _infiniteList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _week = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _WeekDaysNames = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _Context = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _style = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _constants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var NUMBER_OF_PAGES = 50;
  var DEFAULT_PAGE_HEIGHT = 48;

  var WeekCalendar = function WeekCalendar(props) {
    var current = props.current,
        _props$firstDay = props.firstDay,
        firstDay = _props$firstDay === undefined ? 0 : _props$firstDay,
        markedDates = props.markedDates,
        _props$allowShadow = props.allowShadow,
        allowShadow = _props$allowShadow === undefined ? true : _props$allowShadow,
        hideDayNames = props.hideDayNames,
        theme = props.theme,
        calendarWidth = props.calendarWidth,
        _props$calendarHeight = props.calendarHeight,
        calendarHeight = _props$calendarHeight === undefined ? DEFAULT_PAGE_HEIGHT : _props$calendarHeight,
        testID = props.testID;
    var context = (0, _react.useContext)(_Context.default);
    var date = context.date,
        updateSource = context.updateSource;
    var style = (0, _react.useRef)((0, _style.default)(theme));
    var list = (0, _react.useRef)();

    var _useState = (0, _react.useState)(getDatesArray(current || date, firstDay, NUMBER_OF_PAGES)),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        items = _useState2[0],
        setItems = _useState2[1];

    var extraData = {
      current: current,
      date: context.date,
      firstDay: firstDay
    };
    var containerWidth = calendarWidth || _constants.default.screenWidth;
    var weekStyle = (0, _react.useMemo)(function () {
      return [{
        width: containerWidth
      }, props.style];
    }, [containerWidth, props.style]);
    (0, _react.useEffect)(function () {
      if (updateSource !== _$$_REQUIRE(_dependencyMap[13]).UpdateSources.WEEK_SCROLL) {
        var _list$current;

        var pageIndex = items.findIndex(function (item) {
          return (0, _$$_REQUIRE(_dependencyMap[14]).sameWeek)(item, date, firstDay);
        });
        (_list$current = list.current) == null ? undefined : _list$current.scrollToOffset == null ? undefined : _list$current.scrollToOffset(pageIndex * containerWidth, 0, false);
      }
    }, [date]);
    var onDayPress = (0, _react.useCallback)(function (dateData) {
      context.setDate == null ? undefined : context.setDate(dateData.dateString, _$$_REQUIRE(_dependencyMap[13]).UpdateSources.DAY_PRESS);
      props.onDayPress == null ? undefined : props.onDayPress(dateData);
    }, [props.onDayPress]);
    var onPageChange = (0, _react.useCallback)(function (pageIndex, _prevPage, _ref) {
      var scrolledByUser = _ref.scrolledByUser;

      if (scrolledByUser) {
        context == null ? undefined : context.setDate(items[pageIndex], _$$_REQUIRE(_dependencyMap[13]).UpdateSources.WEEK_SCROLL);
      }
    }, [items]);
    var reloadPages = (0, _react.useCallback)(function (pageIndex) {
      var date = items[pageIndex];
      setItems(getDatesArray(date, firstDay, NUMBER_OF_PAGES));
    }, [items]);
    var renderItem = (0, _react.useCallback)(function (_type, item) {
      var allowShadow = props.allowShadow,
          calendarListProps = (0, _objectWithoutProperties2.default)(props, ["allowShadow"]);

      var _extractCalendarProps = (0, _$$_REQUIRE(_dependencyMap[15]).extractCalendarProps)(calendarListProps),
          others = (0, _extends2.default)({}, _extractCalendarProps);

      var isSameWeek = (0, _$$_REQUIRE(_dependencyMap[14]).sameWeek)(item, date, firstDay);
      return _react.default.createElement(_week.default, (0, _extends2.default)({}, others, {
        key: item,
        current: isSameWeek ? date : item,
        firstDay: firstDay,
        style: weekStyle,
        markedDates: markedDates,
        onDayPress: onDayPress,
        context: context
      }));
    }, [date, markedDates]);
    return _react.default.createElement(_reactNative.View, {
      testID: testID,
      style: [allowShadow && style.current.containerShadow, !hideDayNames && style.current.containerWrapper]
    }, !hideDayNames && _react.default.createElement(_reactNative.View, {
      style: [style.current.week, style.current.weekCalendar]
    }, _react.default.createElement(_WeekDaysNames.default, {
      firstDay: firstDay,
      style: style.current.dayHeader
    })), _react.default.createElement(_reactNative.View, null, _react.default.createElement(_infiniteList.default, {
      key: "week-list",
      isHorizontal: true,
      ref: list,
      data: items,
      renderItem: renderItem,
      reloadPages: reloadPages,
      onReachNearEdgeThreshold: Math.round(20),
      extendedState: extraData,
      style: style.current.container,
      initialPageIndex: NUMBER_OF_PAGES,
      pageHeight: calendarHeight,
      pageWidth: containerWidth,
      onPageChange: onPageChange,
      scrollViewProps: {
        showsHorizontalScrollIndicator: false
      }
    })));
  };

  var _default = WeekCalendar;
  exports.default = _default;

  function getDate(date, firstDay, weekIndex) {
    var d = new _xdate.default(date);
    var dayOfTheWeek = d.getDay();

    if (dayOfTheWeek < firstDay && firstDay > 0) {
      dayOfTheWeek = 7 + dayOfTheWeek;
    }

    var dd = weekIndex === 0 ? d : d.addDays(firstDay - dayOfTheWeek);
    var newDate = dd.addWeeks(weekIndex);
    return (0, _$$_REQUIRE(_dependencyMap[16]).toMarkingFormat)(newDate);
  }

  function getDatesArray(date, firstDay) {
    var numberOfPages = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : NUMBER_OF_PAGES;
    var array = [];

    for (var index = -numberOfPages; index <= numberOfPages; index++) {
      var d = getDate(date, firstDay, index);
      array.push(d);
    }

    return array;
  }
},1600,[5,6,108,41,17,28,1319,1542,1596,1585,1598,1595,1358,1599,1382,1524,1383]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.AgendaSectionHeader = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _get = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _map = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _isFunction = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _isUndefined = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _debounce = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _isEqual = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _xdate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  var _constants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _style = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _Context = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _infiniteAgendaList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var viewabilityConfig = {
    itemVisiblePercentThreshold: 20
  };

  var AgendaList = function AgendaList(props) {
    var _sections$;

    if (props.infiniteListProps) {
      return _react.default.createElement(_infiniteAgendaList.default, props);
    }

    var theme = props.theme,
        sections = props.sections,
        scrollToNextEvent = props.scrollToNextEvent,
        _props$viewOffset = props.viewOffset,
        viewOffset = _props$viewOffset === undefined ? 0 : _props$viewOffset,
        avoidDateUpdates = props.avoidDateUpdates,
        onScroll = props.onScroll,
        onMomentumScrollBegin = props.onMomentumScrollBegin,
        onMomentumScrollEnd = props.onMomentumScrollEnd,
        onScrollToIndexFailed = props.onScrollToIndexFailed,
        renderSectionHeader = props.renderSectionHeader,
        sectionStyle = props.sectionStyle,
        keyExtractor = props.keyExtractor,
        dayFormatter = props.dayFormatter,
        _props$dayFormat = props.dayFormat,
        dayFormat = _props$dayFormat === undefined ? 'dddd, MMM d' : _props$dayFormat,
        useMoment = props.useMoment,
        _props$markToday = props.markToday,
        markToday = _props$markToday === undefined ? true : _props$markToday,
        onViewableItemsChanged = props.onViewableItemsChanged;

    var _useContext = (0, _react.useContext)(_Context.default),
        date = _useContext.date,
        updateSource = _useContext.updateSource,
        setDate = _useContext.setDate,
        setDisabled = _useContext.setDisabled;

    var style = (0, _react.useRef)((0, _style.default)(theme));
    var list = (0, _react.useRef)();

    var _topSection = (0, _react.useRef)((_sections$ = sections[0]) == null ? undefined : _sections$.title);

    var didScroll = (0, _react.useRef)(false);
    var sectionScroll = (0, _react.useRef)(false);
    var sectionHeight = (0, _react.useRef)(0);
    (0, _react.useEffect)(function () {
      if (date !== _topSection.current) {
        setTimeout(function () {
          scrollToSection(date);
        }, 500);
      }
    }, []);
    (0, _$$_REQUIRE(_dependencyMap[16]).useDidUpdate)(function () {
      if (updateSource !== _$$_REQUIRE(_dependencyMap[17]).UpdateSources.LIST_DRAG && updateSource !== _$$_REQUIRE(_dependencyMap[17]).UpdateSources.CALENDAR_INIT) {
        scrollToSection(date);
      }
    }, [date]);

    var getSectionIndex = function getSectionIndex(date) {
      var i;
      (0, _map.default)(sections, function (section, index) {
        if (section.title === date) {
          i = index;
        }
      });
      return i;
    };

    var getNextSectionIndex = function getNextSectionIndex(date) {
      var i = 0;

      for (var j = 1; j < sections.length; j++) {
        var _sections, _sections$j;

        var prev = (0, _$$_REQUIRE(_dependencyMap[18]).parseDate)((_sections = sections[j - 1]) == null ? undefined : _sections.title);
        var next = (0, _$$_REQUIRE(_dependencyMap[18]).parseDate)((_sections$j = sections[j]) == null ? undefined : _sections$j.title);
        var cur = new _xdate.default(date);

        if ((0, _$$_REQUIRE(_dependencyMap[19]).isGTE)(cur, prev) && (0, _$$_REQUIRE(_dependencyMap[19]).isGTE)(next, cur)) {
          i = (0, _$$_REQUIRE(_dependencyMap[19]).sameDate)(prev, cur) ? j - 1 : j;
          break;
        } else if ((0, _$$_REQUIRE(_dependencyMap[19]).isGTE)(cur, next)) {
          i = j;
        }
      }

      return i;
    };

    var getSectionTitle = (0, _react.useCallback)(function (title) {
      if (!title) return;
      var sectionTitle = title;

      if (dayFormatter) {
        sectionTitle = dayFormatter(title);
      } else if (dayFormat) {
        if (useMoment) {
          var moment = (0, _$$_REQUIRE(_dependencyMap[20]).getMoment)();
          sectionTitle = moment(title).format(dayFormat);
        } else {
          sectionTitle = new _xdate.default(title).toString(dayFormat);
        }
      }

      if (markToday) {
        var string = (0, _$$_REQUIRE(_dependencyMap[21]).getDefaultLocale)().today || _$$_REQUIRE(_dependencyMap[17]).todayString;

        var today = (0, _$$_REQUIRE(_dependencyMap[19]).isToday)(title);
        sectionTitle = today ? string + ", " + sectionTitle : sectionTitle;
      }

      return sectionTitle;
    }, []);
    var scrollToSection = (0, _react.useCallback)((0, _debounce.default)(function (d) {
      var sectionIndex = scrollToNextEvent ? getNextSectionIndex(d) : getSectionIndex(d);

      if ((0, _isUndefined.default)(sectionIndex)) {
        return;
      }

      if (list != null && list.current && sectionIndex !== undefined) {
        var _sections$sectionInde;

        sectionScroll.current = true;
        _topSection.current = (_sections$sectionInde = sections[sectionIndex]) == null ? undefined : _sections$sectionInde.title;
        list == null ? undefined : list.current.scrollToLocation({
          animated: true,
          sectionIndex: sectionIndex,
          itemIndex: 1,
          viewPosition: 0,
          viewOffset: (_constants.default.isAndroid ? sectionHeight.current : 0) + viewOffset
        });
      }
    }, 1000, {
      leading: false,
      trailing: true
    }), [viewOffset, sections]);

    var _onViewableItemsChanged = (0, _react.useCallback)(function (info) {
      if (info != null && info.viewableItems && !sectionScroll.current) {
        var topSection = (0, _get.default)(info == null ? undefined : info.viewableItems[0], 'section.title');

        if (topSection && topSection !== _topSection.current) {
          _topSection.current = topSection;

          if (didScroll.current && !avoidDateUpdates) {
            setDate == null ? undefined : setDate(_topSection.current, _$$_REQUIRE(_dependencyMap[17]).UpdateSources.LIST_DRAG);
          }
        }
      }

      onViewableItemsChanged == null ? undefined : onViewableItemsChanged(info);
    }, [avoidDateUpdates, setDate, onViewableItemsChanged]);

    var _onScroll = (0, _react.useCallback)(function (event) {
      if (!didScroll.current) {
        didScroll.current = true;
        scrollToSection.cancel();
      }

      onScroll == null ? undefined : onScroll(event);
    }, [onScroll]);

    var _onMomentumScrollBegin = (0, _react.useCallback)(function (event) {
      setDisabled == null ? undefined : setDisabled(true);
      onMomentumScrollBegin == null ? undefined : onMomentumScrollBegin(event);
    }, [onMomentumScrollBegin, setDisabled]);

    var _onMomentumScrollEnd = (0, _react.useCallback)(function (event) {
      sectionScroll.current = false;
      setDisabled == null ? undefined : setDisabled(false);
      onMomentumScrollEnd == null ? undefined : onMomentumScrollEnd(event);
    }, [onMomentumScrollEnd, setDisabled]);

    var headerTextStyle = (0, _react.useMemo)(function () {
      return [style.current.sectionText, sectionStyle];
    }, [sectionStyle]);

    var _onScrollToIndexFailed = (0, _react.useCallback)(function (info) {
      if (onScrollToIndexFailed) {
        onScrollToIndexFailed(info);
      } else {}
    }, [onScrollToIndexFailed]);

    var onHeaderLayout = (0, _react.useCallback)(function (event) {
      sectionHeight.current = event.nativeEvent.layout.height;
    }, []);

    var _renderSectionHeader = (0, _react.useCallback)(function (info) {
      var _info$section;

      var title = info == null ? undefined : (_info$section = info.section) == null ? undefined : _info$section.title;

      if (renderSectionHeader) {
        return renderSectionHeader(title);
      }

      var headerTitle = getSectionTitle(title);
      return _react.default.createElement(AgendaSectionHeader, {
        title: headerTitle,
        style: headerTextStyle,
        onLayout: onHeaderLayout
      });
    }, [headerTextStyle]);

    var _keyExtractor = (0, _react.useCallback)(function (item, index) {
      return (0, _isFunction.default)(keyExtractor) ? keyExtractor(item, index) : String(index);
    }, [keyExtractor]);

    return _react.default.createElement(_reactNative.SectionList, (0, _extends2.default)({
      stickySectionHeadersEnabled: true
    }, props, {
      ref: list,
      keyExtractor: _keyExtractor,
      showsVerticalScrollIndicator: false,
      onViewableItemsChanged: _onViewableItemsChanged,
      viewabilityConfig: viewabilityConfig,
      renderSectionHeader: _renderSectionHeader,
      onScroll: _onScroll,
      onMomentumScrollBegin: _onMomentumScrollBegin,
      onMomentumScrollEnd: _onMomentumScrollEnd,
      onScrollToIndexFailed: _onScrollToIndexFailed
    }));
  };

  function areTextPropsEqual(prev, next) {
    return (0, _isEqual.default)(prev.style, next.style) && prev.title === next.title;
  }

  var AgendaSectionHeader = _react.default.memo(function (props) {
    return _react.default.createElement(_reactNative.Text, {
      allowFontScaling: false,
      style: props.style,
      onLayout: props.onLayout
    }, props.title);
  }, areTextPropsEqual);

  exports.AgendaSectionHeader = AgendaSectionHeader;
  var _default = AgendaList;
  exports.default = _default;
  AgendaList.displayName = 'AgendaList';
  AgendaList.propTypes = {
    dayFormat: _propTypes.default.string,
    dayFormatter: _propTypes.default.func,
    useMoment: _propTypes.default.bool,
    markToday: _propTypes.default.bool,
    sectionStyle: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array]),
    avoidDateUpdates: _propTypes.default.bool
  };
},1601,[5,6,201,1506,1602,1323,1531,1545,1481,1319,17,28,1358,1595,1598,1604,1535,1599,1383,1382,1605,1530]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function map(collection, iteratee) {
    var func = _$$_REQUIRE(_dependencyMap[0])(collection) ? _$$_REQUIRE(_dependencyMap[1]) : _$$_REQUIRE(_dependencyMap[2]);
    return func(collection, _$$_REQUIRE(_dependencyMap[3])(iteratee, 3));
  }

  module.exports = map;
},1602,[1331,1365,1603,1502]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseMap(collection, iteratee) {
    var index = -1,
        result = _$$_REQUIRE(_dependencyMap[0])(collection) ? Array(collection.length) : [];

    _$$_REQUIRE(_dependencyMap[1])(collection, function (value, key, collection) {
      result[++index] = iteratee(value, key, collection);
    });

    return result;
  }

  module.exports = baseMap;
},1603,[1321,1496]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _isUndefined = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _debounce = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _infiniteList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _xdate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _style = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _Context = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _constants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var InfiniteAgendaList = function InfiniteAgendaList(props) {
    var _sections$, _infiniteListProps$vi;

    var theme = props.theme,
        sections = props.sections,
        scrollToNextEvent = props.scrollToNextEvent,
        avoidDateUpdates = props.avoidDateUpdates,
        onScroll = props.onScroll,
        renderSectionHeader = props.renderSectionHeader,
        sectionStyle = props.sectionStyle,
        dayFormatter = props.dayFormatter,
        _props$dayFormat = props.dayFormat,
        dayFormat = _props$dayFormat === undefined ? 'dddd, MMM d' : _props$dayFormat,
        useMoment = props.useMoment,
        _props$markToday = props.markToday,
        markToday = _props$markToday === undefined ? true : _props$markToday,
        infiniteListProps = props.infiniteListProps,
        renderItem = props.renderItem,
        onEndReached = props.onEndReached,
        onEndReachedThreshold = props.onEndReachedThreshold,
        refreshControl = props.refreshControl;

    var _useContext = (0, _react.useContext)(_Context.default),
        date = _useContext.date,
        updateSource = _useContext.updateSource,
        setDate = _useContext.setDate;

    var style = (0, _react.useRef)((0, _style.default)(theme));
    var list = (0, _react.useRef)();

    var _topSection = (0, _react.useRef)((_sections$ = sections[0]) == null ? undefined : _sections$.title);

    var didScroll = (0, _react.useRef)(false);
    var sectionScroll = (0, _react.useRef)(false);

    var _useState = (0, _react.useState)([]),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        data = _useState2[0],
        setData = _useState2[1];

    (0, _react.useEffect)(function () {
      var items = sections.reduce(function (acc, cur) {
        return [].concat((0, _toConsumableArray2.default)(acc), [{
          title: cur.title,
          isTitle: true
        }], (0, _toConsumableArray2.default)(cur.data));
      }, []);
      setData(items);

      if (date !== _topSection.current) {
        setTimeout(function () {
          scrollToSection(date);
        }, 500);
      }
    }, [sections]);
    (0, _$$_REQUIRE(_dependencyMap[12]).useDidUpdate)(function () {
      if (updateSource !== _$$_REQUIRE(_dependencyMap[13]).UpdateSources.LIST_DRAG && updateSource !== _$$_REQUIRE(_dependencyMap[13]).UpdateSources.CALENDAR_INIT) {
        scrollToSection(date);
      }
    }, [date]);

    var getSectionIndex = function getSectionIndex(date) {
      var dataIndex = 0;

      for (var i = 0; i < sections.length; i++) {
        if (sections[i].title === date) {
          return dataIndex;
        }

        dataIndex += sections[i].data.length + 1;
      }
    };

    var getNextSectionIndex = function getNextSectionIndex(date) {
      var cur = new _xdate.default(date);
      var dataIndex = 0;

      for (var i = 0; i < sections.length; i++) {
        var titleDate = (0, _$$_REQUIRE(_dependencyMap[14]).parseDate)(sections[i].title);

        if ((0, _$$_REQUIRE(_dependencyMap[15]).isGTE)(titleDate, cur)) {
          return dataIndex;
        }

        dataIndex += sections[i].data.length + 1;
      }
    };

    var getSectionTitle = (0, _react.useCallback)(function (title) {
      if (!title) return;
      var sectionTitle = title;

      if (dayFormatter) {
        sectionTitle = dayFormatter(title);
      } else if (dayFormat) {
        if (useMoment) {
          var moment = (0, _$$_REQUIRE(_dependencyMap[16]).getMoment)();
          sectionTitle = moment(title).format(dayFormat);
        } else {
          sectionTitle = new _xdate.default(title).toString(dayFormat);
        }
      }

      if (markToday) {
        var string = (0, _$$_REQUIRE(_dependencyMap[17]).getDefaultLocale)().today || _$$_REQUIRE(_dependencyMap[13]).todayString;

        var today = (0, _$$_REQUIRE(_dependencyMap[15]).isToday)(title);
        sectionTitle = today ? string + ", " + sectionTitle : sectionTitle;
      }

      return sectionTitle;
    }, []);
    var scrollToSection = (0, _react.useCallback)((0, _debounce.default)(function (d) {
      var sectionIndex = scrollToNextEvent ? getNextSectionIndex(d) : getSectionIndex(d);

      if ((0, _isUndefined.default)(sectionIndex)) {
        return;
      }

      if (list != null && list.current && sectionIndex !== undefined) {
        var _sections$findItemTit, _list$current;

        sectionScroll.current = true;
        _topSection.current = (_sections$findItemTit = sections[findItemTitleIndex(sectionIndex)]) == null ? undefined : _sections$findItemTit.title;
        (_list$current = list.current) == null ? undefined : _list$current.scrollToIndex(sectionIndex, true);
      }
    }, 1000, {
      leading: false,
      trailing: true
    }), [sections]);
    var layoutProvider = (0, _react.useMemo)(function () {
      return new (_$$_REQUIRE(_dependencyMap[18]).LayoutProvider)(function (index) {
        var _data$index;

        return (_data$index = data[index]) != null && _data$index.isTitle ? 'title' : 'page';
      }, function (type, dim) {
        var _infiniteListProps$ti, _infiniteListProps$it;

        dim.width = _constants.default.screenWidth;
        dim.height = type === 'title' ? (_infiniteListProps$ti = infiniteListProps == null ? undefined : infiniteListProps.titleHeight) != null ? _infiniteListProps$ti : 60 : (_infiniteListProps$it = infiniteListProps == null ? undefined : infiniteListProps.itemHeight) != null ? _infiniteListProps$it : 80;
      });
    }, [data]);

    var _onScroll = (0, _react.useCallback)(function (rawEvent) {
      if (!didScroll.current) {
        didScroll.current = true;
        scrollToSection.cancel();
      }

      var event = {
        nativeEvent: {
          contentOffset: rawEvent.nativeEvent.contentOffset,
          layoutMeasurement: rawEvent.nativeEvent.layoutMeasurement,
          contentSize: rawEvent.nativeEvent.contentSize
        }
      };
      onScroll == null ? undefined : onScroll(event);
    }, [onScroll]);

    var _onVisibleIndicesChanged = (0, _react.useCallback)((0, _debounce.default)(function (all) {
      if (all && all.length && !sectionScroll.current) {
        var topItemIndex = all[0];
        var topSection = data[findItemTitleIndex(topItemIndex)];

        if (topSection && topSection !== _topSection.current) {
          _topSection.current = topSection.title;

          if (didScroll.current && !avoidDateUpdates) {
            setDate == null ? undefined : setDate(topSection.title, _$$_REQUIRE(_dependencyMap[13]).UpdateSources.LIST_DRAG);
          }
        }
      }
    }, (_infiniteListProps$vi = infiniteListProps == null ? undefined : infiniteListProps.visibleIndicesChangedDebounce) != null ? _infiniteListProps$vi : 1000, {
      leading: false,
      trailing: true
    }), [avoidDateUpdates, setDate, data]);

    var findItemTitleIndex = (0, _react.useCallback)(function (itemIndex) {
      var titleIndex = itemIndex;

      while (titleIndex > 0 && !((_data$titleIndex = data[titleIndex]) != null && _data$titleIndex.isTitle)) {
        var _data$titleIndex;

        titleIndex--;
      }

      return titleIndex;
    }, [data]);

    var _onMomentumScrollEnd = (0, _react.useCallback)(function () {
      sectionScroll.current = false;
    }, []);

    var headerTextStyle = (0, _react.useMemo)(function () {
      return [style.current.sectionText, sectionStyle];
    }, [sectionStyle]);

    var _renderSectionHeader = (0, _react.useCallback)(function (info) {
      var _info$section;

      var title = info == null ? undefined : (_info$section = info.section) == null ? undefined : _info$section.title;

      if (renderSectionHeader) {
        return renderSectionHeader(title);
      }

      var headerTitle = getSectionTitle(title);
      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).AgendaSectionHeader, {
        title: headerTitle,
        style: headerTextStyle
      });
    }, [headerTextStyle]);

    var _renderItem = (0, _react.useCallback)(function (_type, item) {
      if (item != null && item.isTitle) {
        return _renderSectionHeader({
          section: item
        });
      }

      if (renderItem) {
        return renderItem({
          item: item
        });
      }

      return _react.default.createElement(_react.default.Fragment, null);
    }, [renderItem]);

    var _onEndReached = (0, _react.useCallback)(function () {
      if (onEndReached) {
        onEndReached({
          distanceFromEnd: 0
        });
      }
    }, [onEndReached]);

    return _react.default.createElement(_infiniteList.default, {
      ref: list,
      renderItem: _renderItem,
      data: data,
      style: infiniteListProps == null ? undefined : infiniteListProps.style,
      layoutProvider: layoutProvider,
      onScroll: _onScroll,
      onVisibleIndicesChanged: _onVisibleIndicesChanged,
      scrollViewProps: {
        onMomentumScrollEnd: _onMomentumScrollEnd,
        nestedScrollEnabled: true,
        refreshControl: refreshControl
      },
      onEndReached: _onEndReached,
      onEndReachedThreshold: onEndReachedThreshold,
      disableScrollOnDataChange: true,
      renderFooter: infiniteListProps == null ? undefined : infiniteListProps.renderFooter
    });
  };

  var _default = InfiniteAgendaList;
  exports.default = _default;
  InfiniteAgendaList.displayName = 'InfiniteAgendaList';
  InfiniteAgendaList.propTypes = {
    dayFormat: _propTypes.default.string,
    dayFormatter: _propTypes.default.func,
    useMoment: _propTypes.default.bool,
    markToday: _propTypes.default.bool,
    sectionStyle: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array]),
    avoidDateUpdates: _propTypes.default.bool
  };
},1604,[5,21,41,201,1531,1545,1542,1319,17,1595,1598,1358,1535,1599,1383,1382,1605,1530,1554,1601]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getMoment = undefined;
  var moment;

  var getMoment = function getMoment() {
    if (!moment) {
      try {
        moment = _$$_REQUIRE(_dependencyMap[0]);
      } catch (_unused) {}
    }

    return moment;
  };

  exports.getMoment = getMoment;
},1605,[467]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _xdate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _style = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _index = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _todayButton = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var CalendarProvider = function CalendarProvider(props) {
    var theme = props.theme,
        date = props.date,
        onDateChanged = props.onDateChanged,
        onMonthChange = props.onMonthChange,
        _props$showTodayButto = props.showTodayButton,
        showTodayButton = _props$showTodayButto === undefined ? false : _props$showTodayButto,
        disabledOpacity = props.disabledOpacity,
        todayBottomMargin = props.todayBottomMargin,
        todayButtonStyle = props.todayButtonStyle,
        propsStyle = props.style,
        numberOfDays = props.numberOfDays,
        _props$timelineLeftIn = props.timelineLeftInset,
        timelineLeftInset = _props$timelineLeftIn === undefined ? 72 : _props$timelineLeftIn,
        children = props.children;
    var style = (0, _react.useRef)((0, _style.default)(theme));
    var todayButton = (0, _react.useRef)();
    var prevDate = (0, _react.useRef)(date);
    var currDate = (0, _react.useRef)(date);

    var _useState = (0, _react.useState)(date),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        currentDate = _useState2[0],
        setCurrentDate = _useState2[1];

    var _useState3 = (0, _react.useState)(_$$_REQUIRE(_dependencyMap[8]).UpdateSources.CALENDAR_INIT),
        _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
        updateSource = _useState4[0],
        setUpdateSource = _useState4[1];

    var wrapperStyle = (0, _react.useMemo)(function () {
      return [style.current.contextWrapper, propsStyle];
    }, [style, propsStyle]);
    (0, _$$_REQUIRE(_dependencyMap[9]).useDidUpdate)(function () {
      if (date && date !== currentDate) {
        _setDate(date, _$$_REQUIRE(_dependencyMap[8]).UpdateSources.PROP_UPDATE);
      }
    }, [date]);

    var _setDate = (0, _react.useCallback)(function (date, updateSource) {
      prevDate.current = currDate.current;
      currDate.current = date;
      setCurrentDate(date);
      setUpdateSource(updateSource);
      onDateChanged == null ? undefined : onDateChanged(date, updateSource);

      if (!(0, _$$_REQUIRE(_dependencyMap[10]).sameMonth)(new _xdate.default(date), new _xdate.default(prevDate.current))) {
        onMonthChange == null ? undefined : onMonthChange((0, _$$_REQUIRE(_dependencyMap[11]).xdateToData)(new _xdate.default(date)), updateSource);
      }
    }, [onDateChanged, onMonthChange]);

    var _setDisabled = (0, _react.useCallback)(function (disabled) {
      if (showTodayButton) {
        var _todayButton$current;

        (_todayButton$current = todayButton.current) == null ? undefined : _todayButton$current.disable(disabled);
      }
    }, [showTodayButton]);

    var contextValue = (0, _react.useMemo)(function () {
      return {
        date: currentDate,
        prevDate: prevDate.current,
        updateSource: updateSource,
        setDate: _setDate,
        setDisabled: _setDisabled,
        numberOfDays: numberOfDays,
        timelineLeftInset: timelineLeftInset
      };
    }, [currentDate, updateSource, numberOfDays, _setDisabled]);

    var renderTodayButton = function renderTodayButton() {
      return _react.default.createElement(_todayButton.default, {
        ref: todayButton,
        disabledOpacity: disabledOpacity,
        margin: todayBottomMargin,
        style: todayButtonStyle,
        theme: theme
      });
    };

    return _react.default.createElement(_index.default.Provider, {
      value: contextValue
    }, _react.default.createElement(_reactNative.View, {
      style: wrapperStyle,
      key: numberOfDays
    }, children), showTodayButton && renderTodayButton());
  };

  var _default = CalendarProvider;
  exports.default = _default;
  CalendarProvider.displayName = 'CalendarProvider';
},1606,[5,41,1319,17,28,1595,1598,1607,1599,1535,1382,1383]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _xdate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _style = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _index = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var TOP_POSITION = 65;

  var TodayButton = function TodayButton(props, ref) {
    (0, _react.useImperativeHandle)(ref, function () {
      return {
        disable: function disable(shouldDisable) {
          _disable(shouldDisable);
        }
      };
    });
    var _props$margin = props.margin,
        margin = _props$margin === undefined ? 0 : _props$margin,
        _props$disabledOpacit = props.disabledOpacity,
        disabledOpacity = _props$disabledOpacit === undefined ? 0.3 : _props$disabledOpacit,
        theme = props.theme,
        propsStyle = props.style;

    var _useContext = (0, _react.useContext)(_index.default),
        date = _useContext.date,
        setDate = _useContext.setDate;

    var _useState = (0, _react.useState)(false),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        disabled = _useState2[0],
        setDisabled = _useState2[1];

    var style = (0, _react.useRef)((0, _style.default)(theme));
    var state = (0, _$$_REQUIRE(_dependencyMap[8]).isToday)(date) ? 0 : (0, _$$_REQUIRE(_dependencyMap[8]).isPastDate)(date) ? -1 : 1;
    var shouldShow = state !== 0;
    (0, _react.useEffect)(function () {
      if (shouldShow) {
        setButtonIcon(getButtonIcon());
      }

      animatePosition();
    }, [state]);
    (0, _react.useEffect)(function () {
      if (!shouldShow) {
        return;
      }

      animateOpacity();
    }, [disabled]);

    var _disable = function _disable(shouldDisable) {
      if (shouldDisable !== disabled) {
        setDisabled(shouldDisable);
      }
    };

    var getFormattedLabel = function getFormattedLabel() {
      var todayStr = (0, _$$_REQUIRE(_dependencyMap[9]).getDefaultLocale)().today || _$$_REQUIRE(_dependencyMap[10]).todayString;

      var today = todayStr.charAt(0).toUpperCase() + todayStr.slice(1);
      return today;
    };

    var today = (0, _react.useRef)(getFormattedLabel());

    var getButtonIcon = function getButtonIcon() {
      if (shouldShow) {
        return state === 1 ? _$$_REQUIRE(_dependencyMap[11]) : _$$_REQUIRE(_dependencyMap[12]);
      }
    };

    var _useState3 = (0, _react.useState)(getButtonIcon()),
        _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
        buttonIcon = _useState4[0],
        setButtonIcon = _useState4[1];

    var buttonY = (0, _react.useRef)(new _reactNative.Animated.Value(margin ? -margin : -65));
    var opacity = (0, _react.useRef)(new _reactNative.Animated.Value(1));

    var getPositionAnimation = function getPositionAnimation() {
      var toValue = state === 0 ? TOP_POSITION : -margin || -65;
      return {
        toValue: toValue,
        tension: 30,
        friction: 8,
        useNativeDriver: true
      };
    };

    var getOpacityAnimation = function getOpacityAnimation() {
      return {
        toValue: disabled ? disabledOpacity : 1,
        duration: 500,
        useNativeDriver: true
      };
    };

    var animatePosition = function animatePosition() {
      var animationData = getPositionAnimation();

      _reactNative.Animated.spring(buttonY.current, (0, _extends2.default)({}, animationData)).start();
    };

    var animateOpacity = function animateOpacity() {
      var animationData = getOpacityAnimation();

      _reactNative.Animated.timing(opacity.current, (0, _extends2.default)({}, animationData)).start();
    };

    var getTodayDate = function getTodayDate() {
      return (0, _$$_REQUIRE(_dependencyMap[13]).toMarkingFormat)(new _xdate.default());
    };

    var onPress = (0, _react.useCallback)(function () {
      setDate(getTodayDate(), _$$_REQUIRE(_dependencyMap[10]).UpdateSources.TODAY_PRESS);
    }, [setDate]);
    return _react.default.createElement(_reactNative.Animated.View, {
      style: [style.current.todayButtonContainer, {
        transform: [{
          translateY: buttonY.current
        }]
      }]
    }, _react.default.createElement(_reactNative.TouchableOpacity, {
      style: [style.current.todayButton, propsStyle],
      onPress: onPress,
      disabled: disabled
    }, _react.default.createElement(_reactNative.Animated.Image, {
      style: [style.current.todayButtonImage, {
        opacity: opacity.current
      }],
      source: buttonIcon
    }), _react.default.createElement(_reactNative.Animated.Text, {
      allowFontScaling: false,
      style: [style.current.todayButtonText, {
        opacity: opacity.current
      }]
    }, today.current)));
  };

  var _default = (0, _react.forwardRef)(TodayButton);

  exports.default = _default;
},1607,[5,6,41,1319,17,28,1595,1598,1382,1530,1599,1608,1609,1383]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/node_modules/react-native-calendars/src/img",
    "width": 10,
    "height": 12,
    "scales": [1, 1.5, 2, 3, 4],
    "hash": "a86ab4cf0cd379ee14223620a48a7847",
    "name": "up",
    "type": "png"
  });
},1608,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/node_modules/react-native-calendars/src/img",
    "width": 10,
    "height": 12,
    "scales": [1, 1.5, 2, 3, 4],
    "hash": "c572f03c3d70e1df4b5292c4a4420b79",
    "name": "down",
    "type": "png"
  });
},1609,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _hoistNonReactStatics = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _Context = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  function asCalendarConsumer(WrappedComponent) {
    var CalendarConsumer = function (_Component) {
      (0, _inherits2.default)(CalendarConsumer, _Component);

      var _super = _createSuper(CalendarConsumer);

      function CalendarConsumer() {
        var _this;

        (0, _classCallCheck2.default)(this, CalendarConsumer);

        for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
          args[_key] = arguments[_key];
        }

        _this = _super.call.apply(_super, [this].concat(args));

        _this.saveRef = function (r) {
          _this.contentRef = r;
        };

        return _this;
      }

      (0, _createClass2.default)(CalendarConsumer, [{
        key: "render",
        value: function render() {
          var _this2 = this;

          return _react.default.createElement(_Context.default.Consumer, null, function (context) {
            return _react.default.createElement(WrappedComponent, (0, _extends2.default)({
              ref: _this2.saveRef,
              context: context
            }, _this2.props));
          });
        }
      }]);
      return CalendarConsumer;
    }(_react.Component);

    (0, _hoistNonReactStatics.default)(CalendarConsumer, WrappedComponent);
    return CalendarConsumer;
  }

  var _default = asCalendarConsumer;
  exports.default = _default;
},1610,[5,6,7,8,12,14,16,17,422,1598]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _min2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _map = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _times = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _groupBy = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _constants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _style = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _TimelineHours = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _EventBlock = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _NowIndicator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _useTimelineOffset2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Timeline = function Timeline(props) {
    var _props$format24h = props.format24h,
        format24h = _props$format24h === undefined ? true : _props$format24h,
        _props$start = props.start,
        start = _props$start === undefined ? 0 : _props$start,
        _props$end = props.end,
        end = _props$end === undefined ? 24 : _props$end,
        _props$date = props.date,
        date = _props$date === undefined ? '' : _props$date,
        events = props.events,
        onEventPress = props.onEventPress,
        onBackgroundLongPress = props.onBackgroundLongPress,
        onBackgroundLongPressOut = props.onBackgroundLongPressOut,
        renderEvent = props.renderEvent,
        theme = props.theme,
        scrollToFirst = props.scrollToFirst,
        scrollToNow = props.scrollToNow,
        initialTime = props.initialTime,
        showNowIndicator = props.showNowIndicator,
        scrollOffset = props.scrollOffset,
        onChangeOffset = props.onChangeOffset,
        _props$overlapEventsS = props.overlapEventsSpacing,
        overlapEventsSpacing = _props$overlapEventsS === undefined ? 0 : _props$overlapEventsS,
        _props$rightEdgeSpaci = props.rightEdgeSpacing,
        rightEdgeSpacing = _props$rightEdgeSpaci === undefined ? 0 : _props$rightEdgeSpaci,
        unavailableHours = props.unavailableHours,
        unavailableHoursColor = props.unavailableHoursColor,
        eventTapped = props.eventTapped,
        _props$numberOfDays = props.numberOfDays,
        numberOfDays = _props$numberOfDays === undefined ? 1 : _props$numberOfDays,
        _props$timelineLeftIn = props.timelineLeftInset,
        timelineLeftInset = _props$timelineLeftIn === undefined ? 0 : _props$timelineLeftIn;
    var pageDates = (0, _react.useMemo)(function () {
      return typeof date === 'string' ? [date] : date;
    }, [date]);
    var groupedEvents = (0, _react.useMemo)(function () {
      return (0, _groupBy.default)(events, function (e) {
        return (0, _$$_REQUIRE(_dependencyMap[14]).getCalendarDateString)(e.start);
      });
    }, [events]);
    var pageEvents = (0, _react.useMemo)(function () {
      return (0, _map.default)(pageDates, function (d) {
        return groupedEvents[d] || [];
      });
    }, [pageDates, groupedEvents]);
    var scrollView = (0, _react.useRef)();
    var calendarHeight = (0, _react.useRef)((end - start) * _$$_REQUIRE(_dependencyMap[15]).HOUR_BLOCK_HEIGHT);
    var styles = (0, _react.useRef)((0, _style.default)(theme || props.styles, calendarHeight.current));

    var _useTimelineOffset = (0, _useTimelineOffset2.default)({
      onChangeOffset: onChangeOffset,
      scrollOffset: scrollOffset,
      scrollViewRef: scrollView
    }),
        scrollEvents = _useTimelineOffset.scrollEvents;

    var width = (0, _react.useMemo)(function () {
      return _constants.default.screenWidth - timelineLeftInset;
    }, [timelineLeftInset]);
    var packedEvents = (0, _react.useMemo)(function () {
      return (0, _map.default)(pageEvents, function (_e, i) {
        return (0, _$$_REQUIRE(_dependencyMap[15]).populateEvents)(pageEvents[i], {
          screenWidth: width / numberOfDays,
          dayStart: start,
          overlapEventsSpacing: overlapEventsSpacing / numberOfDays,
          rightEdgeSpacing: rightEdgeSpacing / numberOfDays
        });
      });
    }, [pageEvents, start, numberOfDays]);
    (0, _react.useEffect)(function () {
      var initialPosition = 0;

      if (scrollToNow) {
        initialPosition = (0, _$$_REQUIRE(_dependencyMap[16]).calcTimeOffset)(_$$_REQUIRE(_dependencyMap[15]).HOUR_BLOCK_HEIGHT);
      } else if (scrollToFirst && packedEvents[0].length > 0) {
        var _min;

        initialPosition = (_min = (0, _min2.default)((0, _map.default)(packedEvents[0], 'top'))) != null ? _min : 0;
      } else if (initialTime) {
        initialPosition = (0, _$$_REQUIRE(_dependencyMap[16]).calcTimeOffset)(_$$_REQUIRE(_dependencyMap[15]).HOUR_BLOCK_HEIGHT, initialTime.hour, initialTime.minutes);
      }

      if (initialPosition) {
        setTimeout(function () {
          var _scrollView$current;

          scrollView == null ? undefined : (_scrollView$current = scrollView.current) == null ? undefined : _scrollView$current.scrollTo({
            y: Math.max(0, initialPosition - _$$_REQUIRE(_dependencyMap[15]).HOUR_BLOCK_HEIGHT),
            animated: true
          });
        }, 0);
      }
    }, []);

    var _onEventPress = (0, _react.useCallback)(function (dateIndex, eventIndex) {
      var event = packedEvents[dateIndex][eventIndex];

      if (eventTapped) {
        eventTapped(event);
      } else {
        onEventPress == null ? undefined : onEventPress(event);
      }
    }, [onEventPress, eventTapped]);

    var renderEvents = function renderEvents(dayIndex) {
      var events = packedEvents[dayIndex].map(function (event, eventIndex) {
        var onEventPress = function onEventPress() {
          return _onEventPress(dayIndex, eventIndex);
        };

        return _react.default.createElement(_EventBlock.default, {
          key: eventIndex,
          index: eventIndex,
          event: event,
          styles: styles.current,
          format24h: format24h,
          onPress: onEventPress,
          renderEvent: renderEvent
        });
      });
      return _react.default.createElement(_reactNative.View, {
        pointerEvents: 'box-none',
        style: [{
          marginLeft: dayIndex === 0 ? timelineLeftInset : undefined
        }, styles.current.eventsContainer]
      }, events);
    };

    var renderTimelineDay = function renderTimelineDay(dayIndex) {
      var indexOfToday = pageDates.indexOf((0, _$$_REQUIRE(_dependencyMap[17]).generateDay)(new Date().toString()));
      var left = timelineLeftInset + indexOfToday * width / numberOfDays;
      return _react.default.createElement(_react.default.Fragment, {
        key: dayIndex
      }, renderEvents(dayIndex), indexOfToday !== -1 && showNowIndicator && _react.default.createElement(_NowIndicator.default, {
        width: width / numberOfDays,
        left: left,
        styles: styles.current
      }));
    };

    return _react.default.createElement(_reactNative.ScrollView, (0, _extends2.default)({
      ref: scrollView,
      style: styles.current.container,
      contentContainerStyle: [styles.current.contentStyle, {
        width: _constants.default.screenWidth
      }],
      showsVerticalScrollIndicator: false
    }, scrollEvents), _react.default.createElement(_TimelineHours.default, {
      start: start,
      end: end,
      date: pageDates[0],
      format24h: format24h,
      styles: styles.current,
      unavailableHours: unavailableHours,
      unavailableHoursColor: unavailableHoursColor,
      onBackgroundLongPress: onBackgroundLongPress,
      onBackgroundLongPressOut: onBackgroundLongPressOut,
      width: width,
      numberOfDays: numberOfDays,
      timelineLeftInset: timelineLeftInset
    }), (0, _times.default)(numberOfDays, renderTimelineDay));
  };

  var _default = _react.default.memo(Timeline);

  exports.default = _default;
},1611,[5,6,1612,1602,1615,1617,17,28,1358,1621,1622,1628,1629,1630,1530,1626,1627,1382]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function min(array) {
    return array && array.length ? _$$_REQUIRE(_dependencyMap[0])(array, _$$_REQUIRE(_dependencyMap[1]), _$$_REQUIRE(_dependencyMap[2])) : undefined;
  }

  module.exports = min;
},1612,[1613,1393,1614]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseExtremum(array, iteratee, comparator) {
    var index = -1,
        length = array.length;

    while (++index < length) {
      var value = array[index],
          current = iteratee(value);

      if (current != null && (computed === undefined ? current === current && !_$$_REQUIRE(_dependencyMap[0])(current) : comparator(current, computed))) {
        var computed = current,
            result = value;
      }
    }

    return result;
  }

  module.exports = baseExtremum;
},1613,[1373]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseLt(value, other) {
    return value < other;
  }

  module.exports = baseLt;
},1614,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var MAX_SAFE_INTEGER = 9007199254740991;
  var MAX_ARRAY_LENGTH = 4294967295;
  var nativeMin = Math.min;

  function times(n, iteratee) {
    n = _$$_REQUIRE(_dependencyMap[0])(n);

    if (n < 1 || n > MAX_SAFE_INTEGER) {
      return [];
    }

    var index = MAX_ARRAY_LENGTH,
        length = nativeMin(n, MAX_ARRAY_LENGTH);
    iteratee = _$$_REQUIRE(_dependencyMap[1])(iteratee);
    n -= MAX_ARRAY_LENGTH;

    var result = _$$_REQUIRE(_dependencyMap[2])(length, iteratee);

    while (++index < n) {
      iteratee(index);
    }

    return result;
  }

  module.exports = times;
},1615,[1370,1616,1368]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function castFunction(value) {
    return typeof value == 'function' ? value : _$$_REQUIRE(_dependencyMap[0]);
  }

  module.exports = castFunction;
},1616,[1393]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var objectProto = Object.prototype;
  var hasOwnProperty = objectProto.hasOwnProperty;

  var groupBy = _$$_REQUIRE(_dependencyMap[0])(function (result, value, key) {
    if (hasOwnProperty.call(result, key)) {
      result[key].push(value);
    } else {
      _$$_REQUIRE(_dependencyMap[1])(result, key, [value]);
    }
  });

  module.exports = groupBy;
},1617,[1618,1432]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function createAggregator(setter, initializer) {
    return function (collection, iteratee) {
      var func = _$$_REQUIRE(_dependencyMap[0])(collection) ? _$$_REQUIRE(_dependencyMap[1]) : _$$_REQUIRE(_dependencyMap[2]),
          accumulator = initializer ? initializer() : {};
      return func(collection, setter, _$$_REQUIRE(_dependencyMap[3])(iteratee, 2), accumulator);
    };
  }

  module.exports = createAggregator;
},1618,[1331,1619,1620,1502]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function arrayAggregator(array, setter, iteratee, accumulator) {
    var index = -1,
        length = array == null ? 0 : array.length;

    while (++index < length) {
      var value = array[index];
      setter(accumulator, value, iteratee(value), array);
    }

    return accumulator;
  }

  module.exports = arrayAggregator;
},1619,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function baseAggregator(collection, setter, iteratee, accumulator) {
    _$$_REQUIRE(_dependencyMap[0])(collection, function (value, key, collection) {
      setter(accumulator, value, iteratee(value), collection);
    });

    return accumulator;
  }

  module.exports = baseAggregator;
},1620,[1496]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = styleConstructor;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var defaultStyle = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _constants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var LINE_COLOR = '#D8D8D8';
  var TIME_LABEL_COLOR = '#AAAAAA';
  var EVENT_TEXT_COLOR = '#615B73';
  var NOW_INDICATOR_COLOR = 'red';
  var UNAVAILABLE_HOURS_BLOCK_COLOR = '#F8F9FA';

  function styleConstructor() {
    var theme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var calendarHeight = arguments.length > 1 ? arguments[1] : undefined;
    var appStyle = (0, _extends2.default)({}, defaultStyle, theme);
    return _reactNative.StyleSheet.create({
      container: (0, _extends2.default)({
        backgroundColor: appStyle.calendarBackground
      }, appStyle.timelineContainer),
      contentStyle: (0, _extends2.default)({
        backgroundColor: appStyle.calendarBackground
      }, appStyle.contentStyle, {
        flexDirection: 'row',
        height: calendarHeight + 10
      }),
      line: (0, _extends2.default)({
        height: 1,
        backgroundColor: LINE_COLOR
      }, theme.line, {
        position: 'absolute'
      }),
      verticalLine: (0, _extends2.default)({
        width: 1,
        backgroundColor: LINE_COLOR
      }, appStyle.verticalLine, {
        position: 'absolute',
        height: '105%'
      }),
      nowIndicator: {
        position: 'absolute',
        right: 0
      },
      nowIndicatorLine: (0, _extends2.default)({
        height: 1,
        backgroundColor: NOW_INDICATOR_COLOR
      }, appStyle.nowIndicatorLine, {
        position: 'absolute',
        left: 0,
        right: 0
      }),
      nowIndicatorKnob: (0, _extends2.default)({
        width: 7,
        height: 7,
        borderRadius: 4,
        backgroundColor: NOW_INDICATOR_COLOR
      }, appStyle.nowIndicatorKnob, {
        position: 'absolute',
        left: -3,
        top: -3
      }),
      timeLabel: (0, _extends2.default)({
        color: TIME_LABEL_COLOR,
        fontSize: 10,
        fontWeight: '500',
        fontFamily: _constants.default.isIOS ? 'Helvetica Neue' : 'Roboto',
        paddingLeft: 12,
        textAlign: 'center'
      }, appStyle.timeLabel, {
        position: 'absolute'
      }),
      unavailableHoursBlock: {
        position: 'absolute',
        right: 0,
        backgroundColor: UNAVAILABLE_HOURS_BLOCK_COLOR
      },
      event: (0, _extends2.default)({
        opacity: 1,
        paddingLeft: 4,
        paddingTop: 5,
        paddingBottom: 0,
        backgroundColor: '#F0F4FF',
        borderColor: '#DDE5FD',
        borderWidth: 1
      }, appStyle.event, {
        position: 'absolute',
        flex: 1,
        flexDirection: 'column',
        alignItems: 'flex-start',
        overflow: 'hidden',
        minHeight: 25
      }),
      eventTitle: (0, _extends2.default)({
        color: EVENT_TEXT_COLOR,
        fontWeight: '600'
      }, appStyle.eventTitle, {
        minHeight: 15
      }),
      eventSummary: (0, _extends2.default)({
        color: EVENT_TEXT_COLOR,
        fontSize: 12
      }, appStyle.eventSummary, {
        flexWrap: 'wrap'
      }),
      eventTimes: (0, _extends2.default)({
        marginTop: 3,
        color: EVENT_TEXT_COLOR,
        fontSize: 10,
        fontWeight: 'bold'
      }, appStyle.eventTimes, {
        flexWrap: 'wrap'
      }),
      eventsContainer: {
        flex: 1
      }
    });
  }
},1621,[5,6,28,1360,1358]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _range = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _times = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _constants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var dimensionWidth = _constants.default.screenWidth;
  var EVENT_DIFF = 20;

  var TimelineHours = function TimelineHours(props) {
    var format24h = props.format24h,
        _props$start = props.start,
        start = _props$start === undefined ? 0 : _props$start,
        _props$end = props.end,
        end = _props$end === undefined ? 24 : _props$end,
        date = props.date,
        unavailableHours = props.unavailableHours,
        unavailableHoursColor = props.unavailableHoursColor,
        styles = props.styles,
        onBackgroundLongPress = props.onBackgroundLongPress,
        onBackgroundLongPressOut = props.onBackgroundLongPressOut,
        width = props.width,
        _props$numberOfDays = props.numberOfDays,
        numberOfDays = _props$numberOfDays === undefined ? 1 : _props$numberOfDays,
        _props$timelineLeftIn = props.timelineLeftInset,
        timelineLeftInset = _props$timelineLeftIn === undefined ? 0 : _props$timelineLeftIn;
    var lastLongPressEventTime = (0, _react.useRef)();

    var offset = _$$_REQUIRE(_dependencyMap[6]).HOUR_BLOCK_HEIGHT;

    var unavailableHoursBlocks = (0, _$$_REQUIRE(_dependencyMap[6]).buildUnavailableHoursBlocks)(unavailableHours, {
      dayStart: start,
      dayEnd: end
    });
    var hours = (0, _react.useMemo)(function () {
      return (0, _range.default)(start, end + 1).map(function (i) {
        var timeText;

        if (i === start) {
          timeText = '';
        } else if (i < 12) {
          timeText = !format24h ? i + " AM" : i + ":00";
        } else if (i === 12) {
          timeText = !format24h ? i + " PM" : i + ":00";
        } else if (i === 24) {
          timeText = !format24h ? '12 AM' : '23:59';
        } else {
          timeText = !format24h ? i - 12 + " PM" : i + ":00";
        }

        return {
          timeText: timeText,
          time: i
        };
      });
    }, [start, end, format24h]);
    var handleBackgroundPress = (0, _react.useCallback)(function (event) {
      var yPosition = event.nativeEvent.locationY;
      var xPosition = event.nativeEvent.locationX;

      var _calcTimeByPosition = (0, _$$_REQUIRE(_dependencyMap[7]).calcTimeByPosition)(yPosition, _$$_REQUIRE(_dependencyMap[6]).HOUR_BLOCK_HEIGHT),
          hour = _calcTimeByPosition.hour,
          minutes = _calcTimeByPosition.minutes;

      var dateByPosition = (0, _$$_REQUIRE(_dependencyMap[7]).calcDateByPosition)(xPosition, timelineLeftInset, numberOfDays, date);
      lastLongPressEventTime.current = {
        hour: hour,
        minutes: minutes,
        date: dateByPosition
      };
      var timeString = (0, _$$_REQUIRE(_dependencyMap[7]).buildTimeString)(hour, minutes, dateByPosition);
      onBackgroundLongPress == null ? undefined : onBackgroundLongPress(timeString, lastLongPressEventTime.current);
    }, [onBackgroundLongPress, date]);
    var handlePressOut = (0, _react.useCallback)(function () {
      if (lastLongPressEventTime.current) {
        var _lastLongPressEventTi = lastLongPressEventTime.current,
            hour = _lastLongPressEventTi.hour,
            minutes = _lastLongPressEventTi.minutes,
            _date = _lastLongPressEventTi.date;
        var timeString = (0, _$$_REQUIRE(_dependencyMap[7]).buildTimeString)(hour, minutes, _date);
        onBackgroundLongPressOut == null ? undefined : onBackgroundLongPressOut(timeString, lastLongPressEventTime.current);
        lastLongPressEventTime.current = undefined;
      }
    }, [onBackgroundLongPressOut, date]);
    return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_reactNative.TouchableWithoutFeedback, {
      onLongPress: handleBackgroundPress,
      onPressOut: handlePressOut
    }, _react.default.createElement(_reactNative.View, {
      style: _reactNative.StyleSheet.absoluteFillObject
    })), unavailableHoursBlocks.map(function (block, index) {
      return _react.default.createElement(_reactNative.View, {
        key: index,
        style: [styles.unavailableHoursBlock, block, unavailableHoursColor ? {
          backgroundColor: unavailableHoursColor
        } : undefined, {
          left: timelineLeftInset
        }]
      });
    }), hours.map(function (_ref, index) {
      var timeText = _ref.timeText,
          time = _ref.time;
      return _react.default.createElement(_react.default.Fragment, {
        key: time
      }, _react.default.createElement(_reactNative.Text, {
        key: "timeLabel" + time,
        style: [styles.timeLabel, {
          top: offset * index - 6,
          width: timelineLeftInset - 16
        }]
      }, timeText), time === start ? null : _react.default.createElement(_reactNative.View, {
        key: "line" + time,
        style: [styles.line, {
          top: offset * index,
          width: dimensionWidth - EVENT_DIFF,
          left: timelineLeftInset - 16
        }]
      }), _react.default.createElement(_reactNative.View, {
        key: "lineHalf" + time,
        style: [styles.line, {
          top: offset * (index + 0.5),
          width: dimensionWidth - EVENT_DIFF,
          left: timelineLeftInset - 16
        }]
      }));
    }), (0, _times.default)(numberOfDays, function (index) {
      return _react.default.createElement(_reactNative.View, {
        key: index,
        style: [styles.verticalLine, {
          right: (index + 1) * width / numberOfDays
        }]
      });
    }));
  };

  var _default = _react.default.memo(TimelineHours);

  exports.default = _default;
},1622,[5,1623,1615,17,28,1358,1626,1627]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var range = _$$_REQUIRE(_dependencyMap[0])();

  module.exports = range;
},1623,[1624]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function createRange(fromRight) {
    return function (start, end, step) {
      if (step && typeof step != 'number' && _$$_REQUIRE(_dependencyMap[0])(start, end, step)) {
        end = step = undefined;
      }

      start = _$$_REQUIRE(_dependencyMap[1])(start);

      if (end === undefined) {
        end = start;
        start = 0;
      } else {
        end = _$$_REQUIRE(_dependencyMap[1])(end);
      }

      step = step === undefined ? start < end ? 1 : -1 : _$$_REQUIRE(_dependencyMap[1])(step);
      return _$$_REQUIRE(_dependencyMap[2])(start, end, step, fromRight);
    };
  }

  module.exports = createRange;
},1624,[1501,1371,1625]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var nativeCeil = Math.ceil,
      nativeMax = Math.max;

  function baseRange(start, end, step, fromRight) {
    var index = -1,
        length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),
        result = Array(length);

    while (length--) {
      result[fromRight ? length : ++index] = start;
      start += step;
    }

    return result;
  }

  module.exports = baseRange;
},1625,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.populateEvents = populateEvents;
  exports.buildUnavailableHoursBlocks = buildUnavailableHoursBlocks;
  exports.HOUR_BLOCK_HEIGHT = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _inRange = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _xdate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _constants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var HOUR_BLOCK_HEIGHT = 100;
  exports.HOUR_BLOCK_HEIGHT = HOUR_BLOCK_HEIGHT;
  var OVERLAP_EVENTS_SPACINGS = 10;
  var RIGHT_EDGE_SPACING = 10;

  function buildEvent(event, left, width, _ref) {
    var _ref$dayStart = _ref.dayStart,
        dayStart = _ref$dayStart === undefined ? 0 : _ref$dayStart,
        _ref$hourBlockHeight = _ref.hourBlockHeight,
        hourBlockHeight = _ref$hourBlockHeight === undefined ? HOUR_BLOCK_HEIGHT : _ref$hourBlockHeight;
    var startTime = new _xdate.default(event.start);
    var endTime = event.end ? new _xdate.default(event.end) : new _xdate.default(startTime).addHours(1);
    var dayStartTime = new _xdate.default(startTime).clearTime();
    return (0, _extends2.default)({}, event, {
      top: (dayStartTime.diffHours(startTime) - dayStart) * hourBlockHeight,
      height: startTime.diffHours(endTime) * hourBlockHeight,
      width: width,
      left: left
    });
  }

  function hasCollision(a, b) {
    return a.end > b.start && a.start < b.end;
  }

  function calcColumnSpan(event, columnIndex, columns) {
    var colSpan = 1;

    for (var i = columnIndex + 1; i < columns.length; i++) {
      var column = columns[i];
      var foundCollision = column.find(function (ev) {
        return hasCollision(event, ev);
      });

      if (foundCollision) {
        return colSpan;
      }

      colSpan++;
    }

    return colSpan;
  }

  function packOverlappingEventGroup(columns, calculatedEvents, populateOptions) {
    var _populateOptions$scre = populateOptions.screenWidth,
        screenWidth = _populateOptions$scre === undefined ? _constants.default.screenWidth : _populateOptions$scre,
        _populateOptions$righ = populateOptions.rightEdgeSpacing,
        rightEdgeSpacing = _populateOptions$righ === undefined ? RIGHT_EDGE_SPACING : _populateOptions$righ,
        _populateOptions$over = populateOptions.overlapEventsSpacing,
        overlapEventsSpacing = _populateOptions$over === undefined ? OVERLAP_EVENTS_SPACINGS : _populateOptions$over;
    columns.forEach(function (column, columnIndex) {
      column.forEach(function (event) {
        var totalWidth = screenWidth - rightEdgeSpacing;
        var columnSpan = calcColumnSpan(event, columnIndex, columns);
        var eventLeft = columnIndex / columns.length * totalWidth;
        var eventWidth = totalWidth * (columnSpan / columns.length);

        if (columnIndex + columnSpan <= columns.length - 1) {
          eventWidth -= overlapEventsSpacing;
        }

        calculatedEvents.push(buildEvent(event, eventLeft, eventWidth, populateOptions));
      });
    });
  }

  function populateEvents(_events, populateOptions) {
    var lastEnd = null;
    var columns = [];
    var calculatedEvents = [];

    var events = _events.map(function (ev, index) {
      return (0, _extends2.default)({}, ev, {
        index: index
      });
    }).sort(function (a, b) {
      if (a.start < b.start) return -1;
      if (a.start > b.start) return 1;
      if (a.end < b.end) return -1;
      if (a.end > b.end) return 1;
      return 0;
    });

    events.forEach(function (ev) {
      if (lastEnd !== null && ev.start >= lastEnd) {
        packOverlappingEventGroup(columns, calculatedEvents, populateOptions);
        columns = [];
        lastEnd = null;
      }

      var placed = false;

      for (var i = 0; i < columns.length; i++) {
        var col = columns[i];

        if (!hasCollision(col[col.length - 1], ev)) {
          col.push(ev);
          placed = true;
          break;
        }
      }

      if (!placed) {
        columns.push([ev]);
      }

      if (lastEnd === null || ev.end > lastEnd) {
        lastEnd = ev.end;
      }
    });

    if (columns.length > 0) {
      packOverlappingEventGroup(columns, calculatedEvents, populateOptions);
    }

    return calculatedEvents;
  }

  function buildUnavailableHoursBlocks() {
    var unavailableHours = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
    var options = arguments.length > 1 ? arguments[1] : undefined;

    var _ref2 = options || {},
        _ref2$hourBlockHeight = _ref2.hourBlockHeight,
        hourBlockHeight = _ref2$hourBlockHeight === undefined ? HOUR_BLOCK_HEIGHT : _ref2$hourBlockHeight,
        _ref2$dayStart = _ref2.dayStart,
        dayStart = _ref2$dayStart === undefined ? 0 : _ref2$dayStart,
        _ref2$dayEnd = _ref2.dayEnd,
        dayEnd = _ref2$dayEnd === undefined ? 24 : _ref2$dayEnd;

    var totalDayHours = dayEnd - dayStart;
    var totalDayHeight = (dayEnd - dayStart) * hourBlockHeight;
    return unavailableHours.map(function (hours) {
      if (!(0, _inRange.default)(hours.start, 0, 25) || !(0, _inRange.default)(hours.end, 0, 25)) {
        console.error('Calendar Timeline unavailableHours is invalid. Hours should be between 0 and 24');
        return undefined;
      }

      if (hours.start >= hours.end) {
        console.error('Calendar Timeline availableHours is invalid. start hour should be earlier than end hour');
        return undefined;
      }

      var startFixed = Math.max(hours.start, dayStart);
      var endFixed = Math.min(hours.end, dayEnd);
      return {
        top: (startFixed - dayStart) / totalDayHours * totalDayHeight,
        height: (endFixed - startFixed) * hourBlockHeight
      };
    }).filter(Boolean);
  }
},1626,[5,6,1543,1319,1358]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.calcTimeByPosition = calcTimeByPosition;
  exports.calcDateByPosition = calcDateByPosition;
  exports.buildTimeString = buildTimeString;
  exports.calcTimeOffset = calcTimeOffset;

  var _xdate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _constants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  function calcTimeByPosition(yPosition, hourBlockHeight) {
    var time = yPosition / hourBlockHeight;
    time = Math.floor(time * 2) / 2;
    var hour = Math.floor(time);
    var minutes = (time - Math.floor(time)) * 60;
    return {
      hour: hour,
      minutes: minutes
    };
  }

  function calcDateByPosition(xPosition, timelineLeftInset) {
    var numberOfDays = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
    var firstDate = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : new _xdate.default();
    var timelineWidth = _constants.default.screenWidth - timelineLeftInset;
    var dayWidth = timelineWidth / numberOfDays;
    var positionIndex = Math.floor((xPosition - timelineLeftInset) / dayWidth);
    return (0, _$$_REQUIRE(_dependencyMap[3]).generateDay)(firstDate, positionIndex);
  }

  function buildTimeString() {
    var hour = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
    var minutes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
    var date = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
    return (date + " " + hour.toString().padStart(2, '0') + ":" + minutes.toString().padStart(2, '0') + ":00").trimStart();
  }

  function calcTimeOffset(hourBlockHeight, hour, minutes) {
    var now = new Date();
    var h = hour != null ? hour : now.getHours();
    var m = minutes != null ? minutes : now.getMinutes();
    return (h + m / 60) * hourBlockHeight;
  }
},1627,[5,1319,1358,1382]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _xdate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var TEXT_LINE_HEIGHT = 17;
  var EVENT_DEFAULT_COLOR = '#add8e6';

  var EventBlock = function EventBlock(props) {
    var index = props.index,
        event = props.event,
        renderEvent = props.renderEvent,
        onPress = props.onPress,
        format24h = props.format24h,
        styles = props.styles;
    var numberOfLines = Math.floor(event.height / TEXT_LINE_HEIGHT);
    var formatTime = format24h ? 'HH:mm' : 'hh:mm A';
    var eventStyle = (0, _react.useMemo)(function () {
      return {
        left: event.left,
        height: event.height,
        width: event.width,
        top: event.top,
        backgroundColor: event.color ? event.color : EVENT_DEFAULT_COLOR
      };
    }, [event]);

    var _onPress = (0, _react.useCallback)(function () {
      onPress(index);
    }, [index, onPress]);

    return _react.default.createElement(_reactNative.TouchableOpacity, {
      activeOpacity: 0.9,
      onPress: _onPress,
      style: [styles.event, eventStyle]
    }, renderEvent ? renderEvent(event) : _react.default.createElement(_reactNative.View, null, _react.default.createElement(_reactNative.Text, {
      numberOfLines: 1,
      style: styles.eventTitle
    }, event.title || 'Event'), numberOfLines > 1 ? _react.default.createElement(_reactNative.Text, {
      numberOfLines: numberOfLines - 1,
      style: [styles.eventSummary]
    }, event.summary || ' ') : null, numberOfLines > 2 ? _react.default.createElement(_reactNative.Text, {
      style: styles.eventTimes,
      numberOfLines: 1
    }, new _xdate.default(event.start).toString(formatTime), " - ", new _xdate.default(event.end).toString(formatTime)) : null));
  };

  var _default = EventBlock;
  exports.default = _default;
},1628,[5,1319,17,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[1]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var NowIndicator = function NowIndicator(props) {
    var styles = props.styles,
        width = props.width,
        left = props.left;
    var indicatorPosition = (0, _$$_REQUIRE(_dependencyMap[2]).calcTimeOffset)(_$$_REQUIRE(_dependencyMap[3]).HOUR_BLOCK_HEIGHT);
    var nowIndicatorStyle = (0, _react.useMemo)(function () {
      return [styles.nowIndicator, {
        top: indicatorPosition,
        left: left
      }];
    }, [indicatorPosition, left]);
    return _react.default.createElement(_reactNative.View, {
      style: nowIndicatorStyle
    }, _react.default.createElement(_reactNative.View, {
      style: [styles.nowIndicatorLine, {
        width: width
      }]
    }), _react.default.createElement(_reactNative.View, {
      style: styles.nowIndicatorKnob
    }));
  };

  var _default = NowIndicator;
  exports.default = _default;
},1629,[17,28,1627,1626]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0]);

  var _default = function _default(props) {
    var onChangeOffset = props.onChangeOffset,
        scrollOffset = props.scrollOffset,
        scrollViewRef = props.scrollViewRef;
    (0, _react.useEffect)(function () {
      if (scrollOffset !== undefined) {
        var _scrollViewRef$curren;

        scrollViewRef == null ? undefined : (_scrollViewRef$curren = scrollViewRef.current) == null ? undefined : _scrollViewRef$curren.scrollTo({
          y: scrollOffset,
          animated: false
        });
      }
    }, [scrollOffset]);
    var onScrollEndDrag = (0, _react.useCallback)(function (event) {
      var _event$nativeEvent$ve;

      var offset = event.nativeEvent.contentOffset.y;
      var velocity = (_event$nativeEvent$ve = event.nativeEvent.velocity) == null ? undefined : _event$nativeEvent$ve.y;

      if (velocity === 0) {
        onChangeOffset == null ? undefined : onChangeOffset(offset);
      }
    }, []);
    var onMomentumScrollEnd = (0, _react.useCallback)(function (event) {
      onChangeOffset == null ? undefined : onChangeOffset(event.nativeEvent.contentOffset.y);
    }, []);
    return {
      scrollEvents: {
        onScrollEndDrag: onScrollEndDrag,
        onMomentumScrollEnd: onMomentumScrollEnd
      }
    };
  };

  exports.default = _default;
},1630,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _throttle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _flatten = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _dropRight = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _infiniteList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Context = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _Timeline = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _useTimelinePages2 = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var TimelineList = function TimelineList(props) {
    var timelineProps = props.timelineProps,
        events = props.events,
        renderItem = props.renderItem,
        showNowIndicator = props.showNowIndicator,
        scrollToFirst = props.scrollToFirst,
        scrollToNow = props.scrollToNow,
        initialTime = props.initialTime;

    var _useContext = (0, _react.useContext)(_Context.default),
        date = _useContext.date,
        updateSource = _useContext.updateSource,
        setDate = _useContext.setDate,
        _useContext$numberOfD = _useContext.numberOfDays,
        numberOfDays = _useContext$numberOfD === undefined ? 1 : _useContext$numberOfD,
        timelineLeftInset = _useContext.timelineLeftInset;

    var listRef = (0, _react.useRef)();
    var prevDate = (0, _react.useRef)(date);

    var _useState = (0, _react.useState)(),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        timelineOffset = _useState2[0],
        setTimelineOffset = _useState2[1];

    var _useTimelinePages = (0, _useTimelinePages2.default)({
      date: date,
      listRef: listRef,
      numberOfDays: numberOfDays
    }),
        pages = _useTimelinePages.pages,
        pagesRef = _useTimelinePages.pagesRef,
        resetPages = _useTimelinePages.resetPages,
        resetPagesDebounce = _useTimelinePages.resetPagesDebounce,
        scrollToPageDebounce = _useTimelinePages.scrollToPageDebounce,
        shouldResetPages = _useTimelinePages.shouldResetPages,
        isOutOfRange = _useTimelinePages.isOutOfRange;

    var scrollToCurrentDate = (0, _react.useCallback)(function (date) {
      var datePageIndex = pagesRef.current.indexOf(date);

      if (updateSource !== _$$_REQUIRE(_dependencyMap[11]).UpdateSources.LIST_DRAG) {
        if (isOutOfRange(datePageIndex)) {
          updateSource === _$$_REQUIRE(_dependencyMap[11]).UpdateSources.DAY_PRESS ? resetPages(date) : resetPagesDebounce(date);
        } else {
          scrollToPageDebounce(datePageIndex);
        }
      }

      prevDate.current = date;
    }, [updateSource]);
    (0, _react.useEffect)(function () {
      if (date !== prevDate.current) {
        scrollToCurrentDate(date);
      }
    }, [date]);
    var onScroll = (0, _react.useCallback)(function () {
      if (shouldResetPages.current) {
        resetPagesDebounce.cancel();
      }
    }, []);
    var onMomentumScrollEnd = (0, _react.useCallback)(function () {
      if (shouldResetPages.current) {
        resetPagesDebounce(prevDate.current);
      }
    }, []);
    var onPageChange = (0, _react.useCallback)((0, _throttle.default)(function (pageIndex) {
      var newDate = pages[pageIndex];

      if (newDate !== prevDate.current) {
        setDate(newDate, _$$_REQUIRE(_dependencyMap[11]).UpdateSources.LIST_DRAG);
      }
    }, 0), [pages]);
    var onReachNearEdge = (0, _react.useCallback)(function () {
      shouldResetPages.current = true;
    }, []);
    var onTimelineOffsetChange = (0, _react.useCallback)(function (offset) {
      setTimelineOffset(offset);
    }, []);
    var renderPage = (0, _react.useCallback)(function (_type, item, index) {
      var isCurrent = prevDate.current === item;
      var isInitialPage = index === _useTimelinePages2.INITIAL_PAGE;

      var _isToday = (0, _$$_REQUIRE(_dependencyMap[12]).isToday)(item);

      var weekEvents = [events[item] || [], events[(0, _$$_REQUIRE(_dependencyMap[12]).generateDay)(item, 1)] || [], events[(0, _$$_REQUIRE(_dependencyMap[12]).generateDay)(item, 2)] || [], events[(0, _$$_REQUIRE(_dependencyMap[12]).generateDay)(item, 3)] || [], events[(0, _$$_REQUIRE(_dependencyMap[12]).generateDay)(item, 4)] || [], events[(0, _$$_REQUIRE(_dependencyMap[12]).generateDay)(item, 5)] || [], events[(0, _$$_REQUIRE(_dependencyMap[12]).generateDay)(item, 6)] || []];
      var weekDates = [item, (0, _$$_REQUIRE(_dependencyMap[12]).generateDay)(item, 1), (0, _$$_REQUIRE(_dependencyMap[12]).generateDay)(item, 2), (0, _$$_REQUIRE(_dependencyMap[12]).generateDay)(item, 3), (0, _$$_REQUIRE(_dependencyMap[12]).generateDay)(item, 4), (0, _$$_REQUIRE(_dependencyMap[12]).generateDay)(item, 5), (0, _$$_REQUIRE(_dependencyMap[12]).generateDay)(item, 6)];
      var numberOfDaysToDrop = 7 - numberOfDays;

      var _timelineProps = (0, _extends2.default)({}, timelineProps, {
        key: item,
        date: (0, _dropRight.default)(weekDates, numberOfDaysToDrop),
        events: (0, _flatten.default)((0, _dropRight.default)(weekEvents, numberOfDaysToDrop)),
        scrollToNow: _isToday && isInitialPage && scrollToNow,
        initialTime: !_isToday && isInitialPage ? initialTime : undefined,
        scrollToFirst: !_isToday && isInitialPage && scrollToFirst,
        scrollOffset: timelineOffset,
        onChangeOffset: onTimelineOffsetChange,
        showNowIndicator: _isToday && showNowIndicator,
        numberOfDays: numberOfDays,
        timelineLeftInset: timelineLeftInset
      });

      if (renderItem) {
        return renderItem(_timelineProps, {
          item: item,
          index: index,
          isCurrent: isCurrent,
          isInitialPage: isInitialPage,
          isToday: _isToday
        });
      }

      return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_Timeline.default, _timelineProps));
    }, [events, timelineOffset, showNowIndicator, numberOfDays]);
    return _react.default.createElement(_infiniteList.default, {
      isHorizontal: true,
      ref: listRef,
      data: pages,
      renderItem: renderPage,
      onPageChange: onPageChange,
      onReachNearEdge: onReachNearEdge,
      onReachNearEdgeThreshold: _useTimelinePages2.NEAR_EDGE_THRESHOLD,
      onScroll: onScroll,
      extendedState: {
        todayEvents: events[date],
        pages: pages
      },
      initialPageIndex: _useTimelinePages2.INITIAL_PAGE,
      scrollViewProps: {
        onMomentumScrollEnd: onMomentumScrollEnd
      }
    });
  };

  var _default = TimelineList;
  exports.default = _default;
},1631,[5,6,41,1594,1397,1632,17,1542,1598,1611,1633,1599,1382]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function dropRight(array, n, guard) {
    var length = array == null ? 0 : array.length;

    if (!length) {
      return [];
    }

    n = guard || n === undefined ? 1 : _$$_REQUIRE(_dependencyMap[0])(n);
    n = length - n;
    return _$$_REQUIRE(_dependencyMap[1])(array, 0, n < 0 ? 0 : n);
  }

  module.exports = dropRight;
},1632,[1370,1479]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.INITIAL_PAGE = exports.NEAR_EDGE_THRESHOLD = exports.PAGES_COUNT = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[2]);

  var _inRange = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _times = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _debounce = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _constants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var PAGES_COUNT = 100;
  exports.PAGES_COUNT = PAGES_COUNT;
  var NEAR_EDGE_THRESHOLD = 10;
  exports.NEAR_EDGE_THRESHOLD = NEAR_EDGE_THRESHOLD;
  var INITIAL_PAGE = Math.floor(50);
  exports.INITIAL_PAGE = INITIAL_PAGE;

  var UseTimelinePages = function UseTimelinePages(_ref) {
    var date = _ref.date,
        listRef = _ref.listRef,
        numberOfDays = _ref.numberOfDays;
    var pagesRef = (0, _react.useRef)((0, _times.default)(PAGES_COUNT, function (i) {
      return (0, _$$_REQUIRE(_dependencyMap[7]).generateDay)(date, numberOfDays * (i - Math.floor(50)));
    }));

    var _useState = (0, _react.useState)(pagesRef.current),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        pages = _useState2[0],
        setPages = _useState2[1];

    var shouldResetPages = (0, _react.useRef)(false);
    (0, _react.useEffect)(function () {
      var updatedDays = (0, _times.default)(PAGES_COUNT, function (i) {
        return (0, _$$_REQUIRE(_dependencyMap[7]).generateDay)(date, numberOfDays * (i - Math.floor(50)));
      });
      pagesRef.current = updatedDays;
      setPages(updatedDays);
    }, [numberOfDays]);
    var isOutOfRange = (0, _react.useCallback)(function (index) {
      return !(0, _inRange.default)(index, 0, PAGES_COUNT);
    }, []);
    var isNearEdges = (0, _react.useCallback)(function (index) {
      return !(0, _inRange.default)(index, NEAR_EDGE_THRESHOLD, 90);
    }, []);
    var isOnEdgePages = (0, _react.useCallback)(function (index) {
      return !(0, _inRange.default)(index, 1, 99);
    }, []);

    var scrollToPage = function scrollToPage(pageIndex) {
      var _listRef$current;

      (_listRef$current = listRef.current) == null ? undefined : _listRef$current.scrollToOffset(pageIndex * _constants.default.screenWidth, 0, false);
    };

    var resetPages = function resetPages(date) {
      pagesRef.current = (0, _times.default)(PAGES_COUNT, function (i) {
        return (0, _$$_REQUIRE(_dependencyMap[7]).generateDay)(date, numberOfDays * (i - Math.floor(50)));
      });
      setPages(pagesRef.current);
      setTimeout(function () {
        scrollToPage(INITIAL_PAGE);
        shouldResetPages.current = false;
      }, 0);
    };

    return {
      resetPages: (0, _react.useCallback)(resetPages, []),
      resetPagesDebounce: (0, _react.useCallback)((0, _debounce.default)(resetPages, 500, {
        leading: false,
        trailing: true
      }), []),
      scrollToPage: (0, _react.useCallback)(scrollToPage, []),
      scrollToPageDebounce: (0, _react.useCallback)((0, _debounce.default)(scrollToPage, 250, {
        leading: false,
        trailing: true
      }), []),
      pagesRef: pagesRef,
      pages: pages,
      shouldResetPages: shouldResetPages,
      isOutOfRange: isOutOfRange,
      isNearEdges: isNearEdges,
      isOnEdgePages: isOnEdgePages
    };
  };

  var _default = UseTimelinePages;
  exports.default = _default;
},1633,[5,41,17,1543,1615,1545,1358,1382]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.logProfileData = exports.getProfileData = exports.default = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var cumulativeDuration = {};

  var Profiler = function (_React$Component) {
    (0, _inherits2.default)(Profiler, _React$Component);

    var _super = _createSuper(Profiler);

    function Profiler() {
      var _this;

      (0, _classCallCheck2.default)(this, Profiler);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));

      _this.onRender = function () {
        for (var _len2 = arguments.length, profileData = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
          profileData[_key2] = arguments[_key2];
        }

        logProfileData(getProfileData(profileData));
      };

      return _this;
    }

    (0, _createClass2.default)(Profiler, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            children = _this$props.children,
            id = _this$props.id;
        return _react.default.createElement(_react.Profiler, {
          id: id,
          onRender: this.onRender
        }, children);
      }
    }]);
    return Profiler;
  }(_react.default.Component);

  exports.default = Profiler;

  var getProfileData = function getProfileData(_ref) {
    var _cumulativeDuration$i;

    var _ref2 = (0, _slicedToArray2.default)(_ref, 7),
        id = _ref2[0],
        phase = _ref2[1],
        actualDuration = _ref2[2],
        baseDuration = _ref2[3],
        startTime = _ref2[4],
        commitTime = _ref2[5],
        interactions = _ref2[6];

    cumulativeDuration[id] = Number((((_cumulativeDuration$i = cumulativeDuration[id]) != null ? _cumulativeDuration$i : 0) + actualDuration).toFixed(2));
    return {
      id: id,
      interactions: interactions,
      phase: phase,
      actualDuration: Number(actualDuration.toFixed(2)),
      baseDuration: Number(baseDuration.toFixed(2)),
      commitTime: Number(commitTime.toFixed(2)),
      cumulativeDuration: cumulativeDuration[id],
      startTime: Number(startTime.toFixed(2))
    };
  };

  exports.getProfileData = getProfileData;

  var logProfileData = function logProfileData(_ref3) {
    var id = _ref3.id,
        actualDuration = _ref3.actualDuration,
        cumulativeDuration = _ref3.cumulativeDuration,
        phase = _ref3.phase;
  };

  exports.logProfileData = logProfileData;
},1634,[5,41,7,8,12,14,16,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  var SCREEN_WIDTH = _reactNative.Dimensions.get("window").width;

  var DISTANCE_BETWEEN_TABS = 40;
  var MIN_TAB_WIDTH = 100;

  var styles = _reactNative.StyleSheet.create({
    container: {
      backgroundColor: "black",
      height: 50
    },
    scrollview: {
      flexDirection: "row",
      flex: 1
    },
    button: {
      alignItems: "center",
      justifyContent: "center"
    },
    buttonContainer: {
      minWidth: MIN_TAB_WIDTH,
      paddingHorizontal: 20
    },
    indicator: {
      backgroundColor: "white",
      bottom: 0,
      height: 2,
      left: 0,
      position: "absolute",
      right: 0,
      width: 1
    },
    text: {
      color: "white",
      fontSize: 14,
      textAlign: "center"
    }
  });

  function TabBar(props) {
    var state = props.state,
        descriptors = props.descriptors,
        navigation = props.navigation,
        position = props.position,
        textColor = props.textColor,
        backgroundColor = props.backgroundColor,
        screenWidth = props.screenWidth;

    var _useState = (0, _react.useState)([]),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        widths = _useState2[0],
        setWidths = _useState2[1];

    var scrollViewRef = (0, _react.useRef)(null);
    var tempWidths = (0, _react.useRef)([]);
    var transform = [];
    var inputRange = state.routes.map(function (route, index) {
      return index;
    });
    var outputRangeRef = (0, _react.useRef)([]);

    var getTranslateX = function getTranslateX(xPosition, xRoutes, xWidths) {
      var outputRange = xRoutes.reduce(function (result, item, index) {
        if (index === 0) {
          return [xWidths[0] / 2];
        }

        return [].concat((0, _toConsumableArray2.default)(result), [result[index - 1] + xWidths[index - 1] / 2 + xWidths[index] / 2]);
      }, []);
      outputRangeRef.current = outputRange;
      var translateX = xPosition.interpolate({
        inputRange: inputRange,
        outputRange: outputRange,
        extrapolate: "clamp"
      });
      return _reactNative.Animated.multiply(translateX, _reactNative.I18nManager.isRTL ? -1 : 1);
    };

    if (state.routes.length > 1 && widths.length === state.routes.length && !widths.includes(undefined)) {
      var translateX = getTranslateX(position, state.routes, widths);
      transform.push({
        translateX: translateX
      });
      var outputRange = inputRange.map(function (_, i) {
        return widths[i];
      });
      transform.push({
        scaleX: state.routes.length > 1 ? position.interpolate({
          inputRange: inputRange,
          outputRange: outputRange,
          extrapolate: "clamp"
        }) : outputRange[0]
      });
    }

    (0, _react.useEffect)(function () {
      if (state.routes.length > 1 && widths.length === state.routes.length && !widths.includes(undefined)) {
        if (state.index === 0) {
          var _scrollViewRef$curren;

          (_scrollViewRef$curren = scrollViewRef.current) == null ? undefined : _scrollViewRef$curren.scrollTo({
            x: 0
          });
        } else {
          var _scrollViewRef$curren2;

          (_scrollViewRef$curren2 = scrollViewRef.current) == null ? undefined : _scrollViewRef$curren2.scrollTo({
            x: outputRangeRef.current[state.index] - screenWidth / 2
          });
        }
      }
    }, [state.index, state.routes.length, widths]);

    var _onLayout = function onLayout(event, index) {
      var width = event.nativeEvent.layout.width;
      tempWidths.current[index] = width;
      setWidths((0, _toConsumableArray2.default)(tempWidths.current));
    };

    var labels = state.routes.map(function (route, index) {
      var options = descriptors[route.key].options;
      var tabBarLabel = options.tabBarLabel;
      var label = tabBarLabel;
      var isFocused = state.index === index;

      var onPress = function onPress() {
        var event = navigation.emit({
          type: "tabPress",
          target: route.key,
          canPreventDefault: true
        });

        if (!isFocused && !event.defaultPrevented) {
          navigation.navigate({
            name: route.name,
            merge: true
          });
        }
      };

      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).Css, {
        classes: ["opt-tab-item"],
        key: route.key
      }, _react.default.createElement(_reactNative.TouchableOpacity, {
        accessibilityRole: "button",
        accessibilityState: isFocused ? {
          selected: true
        } : {},
        accessibilityLabel: options.tabBarAccessibilityLabel,
        onPress: onPress,
        style: styles.button
      }, _react.default.createElement(_reactNative.View, {
        onLayout: function onLayout(event) {
          return _onLayout(event, index);
        },
        style: styles.buttonContainer
      }, _react.default.createElement(_reactNative.Animated.Text, {
        style: [styles.text, {
          color: textColor
        }]
      }, label))));
    });
    return _react.default.createElement(_reactNative.View, {
      style: [styles.container, _$$_REQUIRE(_dependencyMap[7]).commonStyles.darkShadow, {
        backgroundColor: backgroundColor
      }]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).Css, {
      classes: ["opt-tab"]
    }, _react.default.createElement(_reactNative.Animated.ScrollView, {
      horizontal: true,
      ref: scrollViewRef,
      showsHorizontalScrollIndicator: false,
      style: [styles.scrollview]
    }, labels, _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).Css, {
      classes: ["opt-tab-indicator"]
    }, _react.default.createElement(_reactNative.Animated.View, {
      style: [styles.indicator, {
        transform: transform,
        backgroundColor: textColor
      }]
    })))));
  }

  TabBar.propTypes = {
    state: _propTypes.default.object,
    descriptors: _propTypes.default.object,
    navigation: _propTypes.default.object,
    position: _propTypes.default.object,
    textColor: _propTypes.default.string,
    backgroundColor: _propTypes.default.string,
    screenWidth: _propTypes.default.number
  };
  TabBar.defaultProps = {
    screenWidth: SCREEN_WIDTH
  };
  var _default = TabBar;
  exports.default = _default;
},1635,[5,21,41,17,28,201,987,990]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "createMaterialTopTabNavigator", {
    enumerable: true,
    get: function get() {
      return _createMaterialTopTabNavigator.default;
    }
  });
  Object.defineProperty(exports, "MaterialTopTabBar", {
    enumerable: true,
    get: function get() {
      return _MaterialTopTabBar.default;
    }
  });
  Object.defineProperty(exports, "MaterialTopTabView", {
    enumerable: true,
    get: function get() {
      return _MaterialTopTabView.default;
    }
  });

  var _createMaterialTopTabNavigator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _MaterialTopTabBar = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _MaterialTopTabView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));
},1636,[5,1637,1639,1638]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _warnOnce = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _MaterialTopTabView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function MaterialTopTabNavigator(_ref) {
    var id = _ref.id,
        initialRouteName = _ref.initialRouteName,
        backBehavior = _ref.backBehavior,
        children = _ref.children,
        screenListeners = _ref.screenListeners,
        screenOptions = _ref.screenOptions,
        restWithDeprecated = (0, _objectWithoutProperties2.default)(_ref, ["id", "initialRouteName", "backBehavior", "children", "screenListeners", "screenOptions"]);
    var swipeEnabled = restWithDeprecated.swipeEnabled,
        lazy = restWithDeprecated.lazy,
        lazyPlaceholder = restWithDeprecated.lazyPlaceholder,
        lazyPreloadDistance = restWithDeprecated.lazyPreloadDistance,
        tabBarOptions = restWithDeprecated.tabBarOptions,
        rest = (0, _objectWithoutProperties2.default)(restWithDeprecated, ["swipeEnabled", "lazy", "lazyPlaceholder", "lazyPreloadDistance", "tabBarOptions"]);
    var defaultScreenOptions = {};

    if (tabBarOptions) {
      (0, _extends2.default)(defaultScreenOptions, {
        tabBarActiveTintColor: tabBarOptions.activeTintColor,
        tabBarInactiveTintColor: tabBarOptions.inactiveTintColor,
        tabBarPressColor: tabBarOptions.pressColor,
        tabBarPressOpacity: tabBarOptions.pressOpacity,
        tabBarShowLabel: tabBarOptions.showLabel,
        tabBarShowIcon: tabBarOptions.showIcon,
        tabBarAllowFontScaling: tabBarOptions.allowFontScaling,
        tabBarBounces: tabBarOptions.bounces,
        tabBarScrollEnabled: tabBarOptions.scrollEnabled,
        tabBarIconStyle: tabBarOptions.iconStyle,
        tabBarLabelStyle: tabBarOptions.labelStyle,
        tabBarItemStyle: tabBarOptions.tabStyle,
        tabBarBadge: tabBarOptions.renderBadge,
        tabBarIndicator: tabBarOptions.renderIndicator,
        tabBarIndicatorStyle: tabBarOptions.indicatorStyle,
        tabBarIndicatorContainerStyle: tabBarOptions.indicatorContainerStyle,
        tabBarContentContainerStyle: tabBarOptions.contentContainerStyle,
        tabBarStyle: tabBarOptions.style
      });
      Object.keys(defaultScreenOptions).forEach(function (key) {
        if (defaultScreenOptions[key] === undefined) {
          delete defaultScreenOptions[key];
        }
      });
      (0, _warnOnce.default)(tabBarOptions, "Material Top Tab Navigator: 'tabBarOptions' is deprecated. Migrate the options to 'screenOptions' instead.\n\nPlace the following in 'screenOptions' in your code to keep current behavior:\n\n" + JSON.stringify(defaultScreenOptions, null, 2) + "\n\nSee https://reactnavigation.org/docs/material-top-tab-navigator#options for more details.");
    }

    var deprecatedProps = {
      swipeEnabled: swipeEnabled,
      lazy: lazy,
      lazyPlaceholder: lazyPlaceholder,
      lazyPreloadDistance: lazyPreloadDistance
    };
    Object.entries(deprecatedProps).forEach(function (_ref2) {
      var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
          propName = _ref3[0],
          propValue = _ref3[1];

      if (propValue !== undefined) {
        defaultScreenOptions[propName] = propValue;
        (0, _warnOnce.default)(true, "Material Top Tab Navigator: '" + propName + "' in props is deprecated. Move it to 'screenOptions' instead.\n\nSee https://reactnavigation.org/docs/material-top-tab-navigator#" + propName.toLowerCase() + " for more details.");
      }
    });

    var _useNavigationBuilder = (0, _$$_REQUIRE(_dependencyMap[7]).useNavigationBuilder)(_$$_REQUIRE(_dependencyMap[7]).TabRouter, {
      id: id,
      initialRouteName: initialRouteName,
      backBehavior: backBehavior,
      children: children,
      screenListeners: screenListeners,
      screenOptions: screenOptions,
      defaultScreenOptions: defaultScreenOptions
    }),
        state = _useNavigationBuilder.state,
        descriptors = _useNavigationBuilder.descriptors,
        navigation = _useNavigationBuilder.navigation,
        NavigationContent = _useNavigationBuilder.NavigationContent;

    return React.createElement(NavigationContent, null, React.createElement(_MaterialTopTabView.default, (0, _extends2.default)({}, rest, {
      state: state,
      navigation: navigation,
      descriptors: descriptors
    })));
  }

  var _default = (0, _$$_REQUIRE(_dependencyMap[7]).createNavigatorFactory)(MaterialTopTabNavigator);

  exports.default = _default;
},1637,[5,41,6,108,17,1141,1638,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = MaterialTopTabView;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _MaterialTopTabBar = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function MaterialTopTabView(_ref) {
    var _ref$tabBar = _ref.tabBar,
        tabBar = _ref$tabBar === undefined ? function (props) {
      return React.createElement(_MaterialTopTabBar.default, props);
    } : _ref$tabBar,
        state = _ref.state,
        navigation = _ref.navigation,
        descriptors = _ref.descriptors,
        sceneContainerStyle = _ref.sceneContainerStyle,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["tabBar", "state", "navigation", "descriptors", "sceneContainerStyle"]);

    var _useTheme = (0, _$$_REQUIRE(_dependencyMap[5]).useTheme)(),
        colors = _useTheme.colors;

    var renderTabBar = function renderTabBar(props) {
      return tabBar((0, _extends2.default)({}, props, {
        state: state,
        navigation: navigation,
        descriptors: descriptors
      }));
    };

    var focusedOptions = descriptors[state.routes[state.index].key].options;
    return React.createElement(_$$_REQUIRE(_dependencyMap[6]).TabView, (0, _extends2.default)({}, rest, {
      onIndexChange: function onIndexChange(index) {
        return navigation.dispatch((0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[5]).CommonActions.navigate({
          name: state.routes[index].name,
          merge: true
        }), {
          target: state.key
        }));
      },
      renderScene: function renderScene(_ref2) {
        var route = _ref2.route;
        return descriptors[route.key].render();
      },
      navigationState: state,
      renderTabBar: renderTabBar,
      renderLazyPlaceholder: function renderLazyPlaceholder(_ref3) {
        var _descriptors$route$ke, _descriptors$route$ke2, _descriptors$route$ke3;

        var route = _ref3.route;
        return (_descriptors$route$ke = (_descriptors$route$ke2 = (_descriptors$route$ke3 = descriptors[route.key].options).lazyPlaceholder) == null ? undefined : _descriptors$route$ke2.call(_descriptors$route$ke3)) != null ? _descriptors$route$ke : null;
      },
      lazy: function lazy(_ref4) {
        var route = _ref4.route;
        return descriptors[route.key].options.lazy === true;
      },
      lazyPreloadDistance: focusedOptions.lazyPreloadDistance,
      swipeEnabled: focusedOptions.swipeEnabled,
      animationEnabled: focusedOptions.animationEnabled,
      onSwipeStart: function onSwipeStart() {
        return navigation.emit({
          type: 'swipeStart'
        });
      },
      onSwipeEnd: function onSwipeEnd() {
        return navigation.emit({
          type: 'swipeEnd'
        });
      },
      sceneContainerStyle: [{
        backgroundColor: colors.background
      }, sceneContainerStyle]
    }));
  }
},1638,[5,6,108,17,1639,1002,1644]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = TabBarTop;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _color = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function TabBarTop(_ref) {
    var _focusedOptions$tabBa, _focusedOptions$tabBa2;

    var state = _ref.state,
        navigation = _ref.navigation,
        descriptors = _ref.descriptors,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["state", "navigation", "descriptors"]);

    var _useTheme = (0, _$$_REQUIRE(_dependencyMap[6]).useTheme)(),
        colors = _useTheme.colors;

    var focusedOptions = descriptors[state.routes[state.index].key].options;
    var activeColor = (_focusedOptions$tabBa = focusedOptions.tabBarActiveTintColor) != null ? _focusedOptions$tabBa : colors.text;
    var inactiveColor = (_focusedOptions$tabBa2 = focusedOptions.tabBarInactiveTintColor) != null ? _focusedOptions$tabBa2 : (0, _color.default)(activeColor).alpha(0.5).rgb().string();
    return React.createElement(_$$_REQUIRE(_dependencyMap[7]).TabBar, (0, _extends2.default)({}, rest, {
      navigationState: state,
      scrollEnabled: focusedOptions.tabBarScrollEnabled,
      bounces: focusedOptions.tabBarBounces,
      activeColor: activeColor,
      inactiveColor: inactiveColor,
      pressColor: focusedOptions.tabBarPressColor,
      pressOpacity: focusedOptions.tabBarPressOpacity,
      tabStyle: focusedOptions.tabBarItemStyle,
      indicatorStyle: [{
        backgroundColor: colors.primary
      }, focusedOptions.tabBarIndicatorStyle],
      gap: focusedOptions.tabBarGap,
      android_ripple: focusedOptions.tabBarAndroidRipple,
      indicatorContainerStyle: focusedOptions.tabBarIndicatorContainerStyle,
      contentContainerStyle: focusedOptions.tabBarContentContainerStyle,
      style: [{
        backgroundColor: colors.card
      }, focusedOptions.tabBarStyle],
      getAccessibilityLabel: function getAccessibilityLabel(_ref2) {
        var route = _ref2.route;
        return descriptors[route.key].options.tabBarAccessibilityLabel;
      },
      getTestID: function getTestID(_ref3) {
        var route = _ref3.route;
        return descriptors[route.key].options.tabBarTestID;
      },
      onTabPress: function onTabPress(_ref4) {
        var route = _ref4.route,
            preventDefault = _ref4.preventDefault;
        var event = navigation.emit({
          type: 'tabPress',
          target: route.key,
          canPreventDefault: true
        });

        if (event.defaultPrevented) {
          preventDefault();
        }
      },
      onTabLongPress: function onTabLongPress(_ref5) {
        var route = _ref5.route;
        return navigation.emit({
          type: 'tabLongPress',
          target: route.key
        });
      },
      renderIcon: function renderIcon(_ref6) {
        var route = _ref6.route,
            focused = _ref6.focused,
            color = _ref6.color;
        var options = descriptors[route.key].options;

        if (options.tabBarShowIcon === false) {
          return null;
        }

        if (options.tabBarIcon !== undefined) {
          var icon = options.tabBarIcon({
            focused: focused,
            color: color
          });
          return React.createElement(_reactNative.View, {
            style: [styles.icon, options.tabBarIconStyle]
          }, icon);
        }

        return null;
      },
      renderLabel: function renderLabel(_ref7) {
        var route = _ref7.route,
            focused = _ref7.focused,
            color = _ref7.color;
        var options = descriptors[route.key].options;

        if (options.tabBarShowLabel === false) {
          return null;
        }

        var label = options.tabBarLabel !== undefined ? options.tabBarLabel : options.title !== undefined ? options.title : route.name;

        if (typeof label === 'string') {
          return React.createElement(_reactNative.Text, {
            style: [styles.label, {
              color: color
            }, options.tabBarLabelStyle],
            allowFontScaling: options.tabBarAllowFontScaling
          }, label);
        }

        var children = typeof options.tabBarLabel === 'string' ? options.tabBarLabel : options.title !== undefined ? options.title : route.name;
        return label({
          focused: focused,
          color: color,
          children: children
        });
      },
      renderBadge: function renderBadge(_ref8) {
        var _tabBarBadge;

        var route = _ref8.route;
        var tabBarBadge = descriptors[route.key].options.tabBarBadge;
        return (_tabBarBadge = tabBarBadge == null ? undefined : tabBarBadge()) != null ? _tabBarBadge : null;
      },
      renderIndicator: function renderIndicator(_ref9) {
        var state = _ref9.navigationState,
            rest = (0, _objectWithoutProperties2.default)(_ref9, ["navigationState"]);
        return focusedOptions.tabBarIndicator ? focusedOptions.tabBarIndicator((0, _extends2.default)({
          state: state
        }, rest)) : React.createElement(_$$_REQUIRE(_dependencyMap[7]).TabBarIndicator, (0, _extends2.default)({
          navigationState: state
        }, rest));
      }
    }));
  }

  var styles = _reactNative.StyleSheet.create({
    icon: {
      height: 24,
      width: 24
    },
    label: {
      textAlign: 'center',
      textTransform: 'uppercase',
      fontSize: 13,
      margin: 4,
      backgroundColor: 'transparent'
    }
  });
},1639,[5,6,108,1640,17,28,1002,1644]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

  var skippedModels = ['keyword', 'gray', 'hex'];
  var hashedModelKeys = {};

  for (var _i = 0, _Object$keys = Object.keys(_$$_REQUIRE(_dependencyMap[0])); _i < _Object$keys.length; _i++) {
    var model = _Object$keys[_i];
    hashedModelKeys[_$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[0])[model].labels).sort().join('')] = model;
  }

  var limiters = {};

  function Color(object, model) {
    if (!(this instanceof Color)) {
      return new Color(object, model);
    }

    if (model && model in skippedModels) {
      model = null;
    }

    if (model && !(model in _$$_REQUIRE(_dependencyMap[0]))) {
      throw new Error('Unknown model: ' + model);
    }

    var i;
    var channels;

    if (object == null) {
      this.model = 'rgb';
      this.color = [0, 0, 0];
      this.valpha = 1;
    } else if (object instanceof Color) {
      this.model = object.model;
      this.color = _$$_REQUIRE(_dependencyMap[1])(object.color);
      this.valpha = object.valpha;
    } else if (typeof object === 'string') {
      var result = _$$_REQUIRE(_dependencyMap[2]).get(object);

      if (result === null) {
        throw new Error('Unable to parse color from string: ' + object);
      }

      this.model = result.model;
      channels = _$$_REQUIRE(_dependencyMap[0])[this.model].channels;
      this.color = result.value.slice(0, channels);
      this.valpha = typeof result.value[channels] === 'number' ? result.value[channels] : 1;
    } else if (object.length > 0) {
      this.model = model || 'rgb';
      channels = _$$_REQUIRE(_dependencyMap[0])[this.model].channels;
      var newArray = Array.prototype.slice.call(object, 0, channels);
      this.color = zeroArray(newArray, channels);
      this.valpha = typeof object[channels] === 'number' ? object[channels] : 1;
    } else if (typeof object === 'number') {
      this.model = 'rgb';
      this.color = [object >> 16 & 0xFF, object >> 8 & 0xFF, object & 0xFF];
      this.valpha = 1;
    } else {
      this.valpha = 1;
      var keys = Object.keys(object);

      if ('alpha' in object) {
        keys.splice(keys.indexOf('alpha'), 1);
        this.valpha = typeof object.alpha === 'number' ? object.alpha : 0;
      }

      var hashedKeys = keys.sort().join('');

      if (!(hashedKeys in hashedModelKeys)) {
        throw new Error('Unable to parse color from object: ' + JSON.stringify(object));
      }

      this.model = hashedModelKeys[hashedKeys];

      var labels = _$$_REQUIRE(_dependencyMap[0])[this.model].labels;

      var color = [];

      for (i = 0; i < labels.length; i++) {
        color.push(object[labels[i]]);
      }

      this.color = zeroArray(color);
    }

    if (limiters[this.model]) {
      channels = _$$_REQUIRE(_dependencyMap[0])[this.model].channels;

      for (i = 0; i < channels; i++) {
        var limit = limiters[this.model][i];

        if (limit) {
          this.color[i] = limit(this.color[i]);
        }
      }
    }

    this.valpha = Math.max(0, Math.min(1, this.valpha));

    if (Object.freeze) {
      Object.freeze(this);
    }
  }

  Color.prototype = {
    toString: function toString() {
      return this.string();
    },
    toJSON: function toJSON() {
      return this[this.model]();
    },
    string: function string(places) {
      var self = this.model in _$$_REQUIRE(_dependencyMap[2]).to ? this : this.rgb();
      self = self.round(typeof places === 'number' ? places : 1);
      var args = self.valpha === 1 ? self.color : [].concat(_$$_REQUIRE(_dependencyMap[1])(self.color), [this.valpha]);
      return _$$_REQUIRE(_dependencyMap[2]).to[self.model](args);
    },
    percentString: function percentString(places) {
      var self = this.rgb().round(typeof places === 'number' ? places : 1);
      var args = self.valpha === 1 ? self.color : [].concat(_$$_REQUIRE(_dependencyMap[1])(self.color), [this.valpha]);
      return _$$_REQUIRE(_dependencyMap[2]).to.rgb.percent(args);
    },
    array: function array() {
      return this.valpha === 1 ? _$$_REQUIRE(_dependencyMap[1])(this.color) : [].concat(_$$_REQUIRE(_dependencyMap[1])(this.color), [this.valpha]);
    },
    object: function object() {
      var result = {};

      var channels = _$$_REQUIRE(_dependencyMap[0])[this.model].channels;

      var labels = _$$_REQUIRE(_dependencyMap[0])[this.model].labels;

      for (var i = 0; i < channels; i++) {
        result[labels[i]] = this.color[i];
      }

      if (this.valpha !== 1) {
        result.alpha = this.valpha;
      }

      return result;
    },
    unitArray: function unitArray() {
      var rgb = this.rgb().color;
      rgb[0] /= 255;
      rgb[1] /= 255;
      rgb[2] /= 255;

      if (this.valpha !== 1) {
        rgb.push(this.valpha);
      }

      return rgb;
    },
    unitObject: function unitObject() {
      var rgb = this.rgb().object();
      rgb.r /= 255;
      rgb.g /= 255;
      rgb.b /= 255;

      if (this.valpha !== 1) {
        rgb.alpha = this.valpha;
      }

      return rgb;
    },
    round: function round(places) {
      places = Math.max(places || 0, 0);
      return new Color([].concat(_$$_REQUIRE(_dependencyMap[1])(this.color.map(roundToPlace(places))), [this.valpha]), this.model);
    },
    alpha: function alpha(value) {
      if (value !== undefined) {
        return new Color([].concat(_$$_REQUIRE(_dependencyMap[1])(this.color), [Math.max(0, Math.min(1, value))]), this.model);
      }

      return this.valpha;
    },
    red: getset('rgb', 0, maxfn(255)),
    green: getset('rgb', 1, maxfn(255)),
    blue: getset('rgb', 2, maxfn(255)),
    hue: getset(['hsl', 'hsv', 'hsl', 'hwb', 'hcg'], 0, function (value) {
      return (value % 360 + 360) % 360;
    }),
    saturationl: getset('hsl', 1, maxfn(100)),
    lightness: getset('hsl', 2, maxfn(100)),
    saturationv: getset('hsv', 1, maxfn(100)),
    value: getset('hsv', 2, maxfn(100)),
    chroma: getset('hcg', 1, maxfn(100)),
    gray: getset('hcg', 2, maxfn(100)),
    white: getset('hwb', 1, maxfn(100)),
    wblack: getset('hwb', 2, maxfn(100)),
    cyan: getset('cmyk', 0, maxfn(100)),
    magenta: getset('cmyk', 1, maxfn(100)),
    yellow: getset('cmyk', 2, maxfn(100)),
    black: getset('cmyk', 3, maxfn(100)),
    x: getset('xyz', 0, maxfn(95.047)),
    y: getset('xyz', 1, maxfn(100)),
    z: getset('xyz', 2, maxfn(108.833)),
    l: getset('lab', 0, maxfn(100)),
    a: getset('lab', 1),
    b: getset('lab', 2),
    keyword: function keyword(value) {
      if (value !== undefined) {
        return new Color(value);
      }

      return _$$_REQUIRE(_dependencyMap[0])[this.model].keyword(this.color);
    },
    hex: function hex(value) {
      if (value !== undefined) {
        return new Color(value);
      }

      return _$$_REQUIRE(_dependencyMap[2]).to.hex(this.rgb().round().color);
    },
    hexa: function hexa(value) {
      if (value !== undefined) {
        return new Color(value);
      }

      var rgbArray = this.rgb().round().color;
      var alphaHex = Math.round(this.valpha * 255).toString(16).toUpperCase();

      if (alphaHex.length === 1) {
        alphaHex = '0' + alphaHex;
      }

      return _$$_REQUIRE(_dependencyMap[2]).to.hex(rgbArray) + alphaHex;
    },
    rgbNumber: function rgbNumber() {
      var rgb = this.rgb().color;
      return (rgb[0] & 0xFF) << 16 | (rgb[1] & 0xFF) << 8 | rgb[2] & 0xFF;
    },
    luminosity: function luminosity() {
      var rgb = this.rgb().color;
      var lum = [];

      for (var _iterator = _createForOfIteratorHelperLoose(rgb.entries()), _step; !(_step = _iterator()).done;) {
        var _ref = _step.value;

        var _ref2 = _$$_REQUIRE(_dependencyMap[3])(_ref, 2);

        var i = _ref2[0];
        var element = _ref2[1];
        var chan = element / 255;
        lum[i] = chan <= 0.04045 ? chan / 12.92 : Math.pow((chan + 0.055) / 1.055, 2.4);
      }

      return 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];
    },
    contrast: function contrast(color2) {
      var lum1 = this.luminosity();
      var lum2 = color2.luminosity();

      if (lum1 > lum2) {
        return (lum1 + 0.05) / (lum2 + 0.05);
      }

      return (lum2 + 0.05) / (lum1 + 0.05);
    },
    level: function level(color2) {
      var contrastRatio = this.contrast(color2);

      if (contrastRatio >= 7) {
        return 'AAA';
      }

      return contrastRatio >= 4.5 ? 'AA' : '';
    },
    isDark: function isDark() {
      var rgb = this.rgb().color;
      var yiq = (rgb[0] * 2126 + rgb[1] * 7152 + rgb[2] * 722) / 10000;
      return yiq < 128;
    },
    isLight: function isLight() {
      return !this.isDark();
    },
    negate: function negate() {
      var rgb = this.rgb();

      for (var i = 0; i < 3; i++) {
        rgb.color[i] = 255 - rgb.color[i];
      }

      return rgb;
    },
    lighten: function lighten(ratio) {
      var hsl = this.hsl();
      hsl.color[2] += hsl.color[2] * ratio;
      return hsl;
    },
    darken: function darken(ratio) {
      var hsl = this.hsl();
      hsl.color[2] -= hsl.color[2] * ratio;
      return hsl;
    },
    saturate: function saturate(ratio) {
      var hsl = this.hsl();
      hsl.color[1] += hsl.color[1] * ratio;
      return hsl;
    },
    desaturate: function desaturate(ratio) {
      var hsl = this.hsl();
      hsl.color[1] -= hsl.color[1] * ratio;
      return hsl;
    },
    whiten: function whiten(ratio) {
      var hwb = this.hwb();
      hwb.color[1] += hwb.color[1] * ratio;
      return hwb;
    },
    blacken: function blacken(ratio) {
      var hwb = this.hwb();
      hwb.color[2] += hwb.color[2] * ratio;
      return hwb;
    },
    grayscale: function grayscale() {
      var rgb = this.rgb().color;
      var value = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;
      return Color.rgb(value, value, value);
    },
    fade: function fade(ratio) {
      return this.alpha(this.valpha - this.valpha * ratio);
    },
    opaquer: function opaquer(ratio) {
      return this.alpha(this.valpha + this.valpha * ratio);
    },
    rotate: function rotate(degrees) {
      var hsl = this.hsl();
      var hue = hsl.color[0];
      hue = (hue + degrees) % 360;
      hue = hue < 0 ? 360 + hue : hue;
      hsl.color[0] = hue;
      return hsl;
    },
    mix: function mix(mixinColor, weight) {
      if (!mixinColor || !mixinColor.rgb) {
        throw new Error('Argument to "mix" was not a Color instance, but rather an instance of ' + typeof mixinColor);
      }

      var color1 = mixinColor.rgb();
      var color2 = this.rgb();
      var p = weight === undefined ? 0.5 : weight;
      var w = 2 * p - 1;
      var a = color1.alpha() - color2.alpha();
      var w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2;
      var w2 = 1 - w1;
      return Color.rgb(w1 * color1.red() + w2 * color2.red(), w1 * color1.green() + w2 * color2.green(), w1 * color1.blue() + w2 * color2.blue(), color1.alpha() * p + color2.alpha() * (1 - p));
    }
  };

  var _loop = function _loop(_model) {
    if (skippedModels.includes(_model)) {
      return "continue";
    }

    var channels = _$$_REQUIRE(_dependencyMap[0])[_model].channels;

    Color.prototype[_model] = function () {
      if (this.model === _model) {
        return new Color(this);
      }

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      if (args.length > 0) {
        return new Color(args, _model);
      }

      return new Color([].concat(_$$_REQUIRE(_dependencyMap[1])(assertArray(_$$_REQUIRE(_dependencyMap[0])[this.model][_model].raw(this.color))), [this.valpha]), _model);
    };

    Color[_model] = function () {
      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
        args[_key2] = arguments[_key2];
      }

      var color = args[0];

      if (typeof color === 'number') {
        color = zeroArray(args, channels);
      }

      return new Color(color, _model);
    };
  };

  for (var _i2 = 0, _Object$keys2 = Object.keys(_$$_REQUIRE(_dependencyMap[0])); _i2 < _Object$keys2.length; _i2++) {
    var _model = _Object$keys2[_i2];

    var _ret = _loop(_model);

    if (_ret === "continue") continue;
  }

  function roundTo(number, places) {
    return Number(number.toFixed(places));
  }

  function roundToPlace(places) {
    return function (number) {
      return roundTo(number, places);
    };
  }

  function getset(model, channel, modifier) {
    model = Array.isArray(model) ? model : [model];

    for (var _iterator2 = _createForOfIteratorHelperLoose(model), _step2; !(_step2 = _iterator2()).done;) {
      var m = _step2.value;
      (limiters[m] || (limiters[m] = []))[channel] = modifier;
    }

    model = model[0];
    return function (value) {
      var result;

      if (value !== undefined) {
        if (modifier) {
          value = modifier(value);
        }

        result = this[model]();
        result.color[channel] = value;
        return result;
      }

      result = this[model]().color[channel];

      if (modifier) {
        result = modifier(result);
      }

      return result;
    };
  }

  function maxfn(max) {
    return function (v) {
      return Math.max(0, Math.min(max, v));
    };
  }

  function assertArray(value) {
    return Array.isArray(value) ? value : [value];
  }

  function zeroArray(array, length) {
    for (var i = 0; i < length; i++) {
      if (typeof array[i] !== 'number') {
        array[i] = 0;
      }
    }

    return array;
  }

  module.exports = Color;
},1640,[1641,21,1161,41]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var convert = {};
  var models = Object.keys(_$$_REQUIRE(_dependencyMap[0]));

  function wrapRaw(fn) {
    var wrappedFn = function wrappedFn() {
      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      var arg0 = args[0];

      if (arg0 === undefined || arg0 === null) {
        return arg0;
      }

      if (arg0.length > 1) {
        args = arg0;
      }

      return fn(args);
    };

    if ('conversion' in fn) {
      wrappedFn.conversion = fn.conversion;
    }

    return wrappedFn;
  }

  function wrapRounded(fn) {
    var wrappedFn = function wrappedFn() {
      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
        args[_key2] = arguments[_key2];
      }

      var arg0 = args[0];

      if (arg0 === undefined || arg0 === null) {
        return arg0;
      }

      if (arg0.length > 1) {
        args = arg0;
      }

      var result = fn(args);

      if (typeof result === 'object') {
        for (var len = result.length, i = 0; i < len; i++) {
          result[i] = Math.round(result[i]);
        }
      }

      return result;
    };

    if ('conversion' in fn) {
      wrappedFn.conversion = fn.conversion;
    }

    return wrappedFn;
  }

  models.forEach(function (fromModel) {
    convert[fromModel] = {};
    Object.defineProperty(convert[fromModel], 'channels', {
      value: _$$_REQUIRE(_dependencyMap[0])[fromModel].channels
    });
    Object.defineProperty(convert[fromModel], 'labels', {
      value: _$$_REQUIRE(_dependencyMap[0])[fromModel].labels
    });

    var routes = _$$_REQUIRE(_dependencyMap[1])(fromModel);

    var routeModels = Object.keys(routes);
    routeModels.forEach(function (toModel) {
      var fn = routes[toModel];
      convert[fromModel][toModel] = wrapRounded(fn);
      convert[fromModel][toModel].raw = wrapRaw(fn);
    });
  });
  module.exports = convert;
},1641,[1642,1643]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var reverseKeywords = {};

  for (var _i = 0, _Object$keys = Object.keys(_$$_REQUIRE(_dependencyMap[0])); _i < _Object$keys.length; _i++) {
    var key = _Object$keys[_i];
    reverseKeywords[_$$_REQUIRE(_dependencyMap[0])[key]] = key;
  }

  var convert = {
    rgb: {
      channels: 3,
      labels: 'rgb'
    },
    hsl: {
      channels: 3,
      labels: 'hsl'
    },
    hsv: {
      channels: 3,
      labels: 'hsv'
    },
    hwb: {
      channels: 3,
      labels: 'hwb'
    },
    cmyk: {
      channels: 4,
      labels: 'cmyk'
    },
    xyz: {
      channels: 3,
      labels: 'xyz'
    },
    lab: {
      channels: 3,
      labels: 'lab'
    },
    lch: {
      channels: 3,
      labels: 'lch'
    },
    hex: {
      channels: 1,
      labels: ['hex']
    },
    keyword: {
      channels: 1,
      labels: ['keyword']
    },
    ansi16: {
      channels: 1,
      labels: ['ansi16']
    },
    ansi256: {
      channels: 1,
      labels: ['ansi256']
    },
    hcg: {
      channels: 3,
      labels: ['h', 'c', 'g']
    },
    apple: {
      channels: 3,
      labels: ['r16', 'g16', 'b16']
    },
    gray: {
      channels: 1,
      labels: ['gray']
    }
  };
  module.exports = convert;

  for (var _i2 = 0, _Object$keys2 = Object.keys(convert); _i2 < _Object$keys2.length; _i2++) {
    var model = _Object$keys2[_i2];

    if (!('channels' in convert[model])) {
      throw new Error('missing channels property: ' + model);
    }

    if (!('labels' in convert[model])) {
      throw new Error('missing channel labels property: ' + model);
    }

    if (convert[model].labels.length !== convert[model].channels) {
      throw new Error('channel and label counts mismatch: ' + model);
    }

    var _convert$model = convert[model],
        channels = _convert$model.channels,
        labels = _convert$model.labels;
    delete convert[model].channels;
    delete convert[model].labels;
    Object.defineProperty(convert[model], 'channels', {
      value: channels
    });
    Object.defineProperty(convert[model], 'labels', {
      value: labels
    });
  }

  convert.rgb.hsl = function (rgb) {
    var r = rgb[0] / 255;
    var g = rgb[1] / 255;
    var b = rgb[2] / 255;
    var min = Math.min(r, g, b);
    var max = Math.max(r, g, b);
    var delta = max - min;
    var h;
    var s;

    if (max === min) {
      h = 0;
    } else if (r === max) {
      h = (g - b) / delta;
    } else if (g === max) {
      h = 2 + (b - r) / delta;
    } else if (b === max) {
      h = 4 + (r - g) / delta;
    }

    h = Math.min(h * 60, 360);

    if (h < 0) {
      h += 360;
    }

    var l = (min + max) / 2;

    if (max === min) {
      s = 0;
    } else if (l <= 0.5) {
      s = delta / (max + min);
    } else {
      s = delta / (2 - max - min);
    }

    return [h, s * 100, l * 100];
  };

  convert.rgb.hsv = function (rgb) {
    var rdif;
    var gdif;
    var bdif;
    var h;
    var s;
    var r = rgb[0] / 255;
    var g = rgb[1] / 255;
    var b = rgb[2] / 255;
    var v = Math.max(r, g, b);
    var diff = v - Math.min(r, g, b);

    var diffc = function diffc(c) {
      return (v - c) / 6 / diff + 0.5;
    };

    if (diff === 0) {
      h = 0;
      s = 0;
    } else {
      s = diff / v;
      rdif = diffc(r);
      gdif = diffc(g);
      bdif = diffc(b);

      if (r === v) {
        h = bdif - gdif;
      } else if (g === v) {
        h = 0.3333333333333333 + rdif - bdif;
      } else if (b === v) {
        h = 0.6666666666666666 + gdif - rdif;
      }

      if (h < 0) {
        h += 1;
      } else if (h > 1) {
        h -= 1;
      }
    }

    return [h * 360, s * 100, v * 100];
  };

  convert.rgb.hwb = function (rgb) {
    var r = rgb[0];
    var g = rgb[1];
    var b = rgb[2];
    var h = convert.rgb.hsl(rgb)[0];
    var w = 0.00392156862745098 * Math.min(r, Math.min(g, b));
    b = 1 - 0.00392156862745098 * Math.max(r, Math.max(g, b));
    return [h, w * 100, b * 100];
  };

  convert.rgb.cmyk = function (rgb) {
    var r = rgb[0] / 255;
    var g = rgb[1] / 255;
    var b = rgb[2] / 255;
    var k = Math.min(1 - r, 1 - g, 1 - b);
    var c = (1 - r - k) / (1 - k) || 0;
    var m = (1 - g - k) / (1 - k) || 0;
    var y = (1 - b - k) / (1 - k) || 0;
    return [c * 100, m * 100, y * 100, k * 100];
  };

  function comparativeDistance(x, y) {
    return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2);
  }

  convert.rgb.keyword = function (rgb) {
    var reversed = reverseKeywords[rgb];

    if (reversed) {
      return reversed;
    }

    var currentClosestDistance = Infinity;
    var currentClosestKeyword;

    for (var _i3 = 0, _Object$keys3 = Object.keys(_$$_REQUIRE(_dependencyMap[0])); _i3 < _Object$keys3.length; _i3++) {
      var keyword = _Object$keys3[_i3];

      var value = _$$_REQUIRE(_dependencyMap[0])[keyword];

      var distance = comparativeDistance(rgb, value);

      if (distance < currentClosestDistance) {
        currentClosestDistance = distance;
        currentClosestKeyword = keyword;
      }
    }

    return currentClosestKeyword;
  };

  convert.keyword.rgb = function (keyword) {
    return _$$_REQUIRE(_dependencyMap[0])[keyword];
  };

  convert.rgb.xyz = function (rgb) {
    var r = rgb[0] / 255;
    var g = rgb[1] / 255;
    var b = rgb[2] / 255;
    r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;
    g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;
    b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92;
    var x = r * 0.4124 + g * 0.3576 + b * 0.1805;
    var y = r * 0.2126 + g * 0.7152 + b * 0.0722;
    var z = r * 0.0193 + g * 0.1192 + b * 0.9505;
    return [x * 100, y * 100, z * 100];
  };

  convert.rgb.lab = function (rgb) {
    var xyz = convert.rgb.xyz(rgb);
    var x = xyz[0];
    var y = xyz[1];
    var z = xyz[2];
    x /= 95.047;
    y /= 100;
    z /= 108.883;
    x = x > 0.008856 ? Math.pow(x, 0.3333333333333333) : 7.787 * x + 0.13793103448275862;
    y = y > 0.008856 ? Math.pow(y, 0.3333333333333333) : 7.787 * y + 0.13793103448275862;
    z = z > 0.008856 ? Math.pow(z, 0.3333333333333333) : 7.787 * z + 0.13793103448275862;
    var l = 116 * y - 16;
    var a = 500 * (x - y);
    var b = 200 * (y - z);
    return [l, a, b];
  };

  convert.hsl.rgb = function (hsl) {
    var h = hsl[0] / 360;
    var s = hsl[1] / 100;
    var l = hsl[2] / 100;
    var t2;
    var t3;
    var val;

    if (s === 0) {
      val = l * 255;
      return [val, val, val];
    }

    if (l < 0.5) {
      t2 = l * (1 + s);
    } else {
      t2 = l + s - l * s;
    }

    var t1 = 2 * l - t2;
    var rgb = [0, 0, 0];

    for (var i = 0; i < 3; i++) {
      t3 = h + 0.3333333333333333 * -(i - 1);

      if (t3 < 0) {
        t3++;
      }

      if (t3 > 1) {
        t3--;
      }

      if (6 * t3 < 1) {
        val = t1 + (t2 - t1) * 6 * t3;
      } else if (2 * t3 < 1) {
        val = t2;
      } else if (3 * t3 < 2) {
        val = t1 + (t2 - t1) * (0.6666666666666666 - t3) * 6;
      } else {
        val = t1;
      }

      rgb[i] = val * 255;
    }

    return rgb;
  };

  convert.hsl.hsv = function (hsl) {
    var h = hsl[0];
    var s = hsl[1] / 100;
    var l = hsl[2] / 100;
    var smin = s;
    var lmin = Math.max(l, 0.01);
    l *= 2;
    s *= l <= 1 ? l : 2 - l;
    smin *= lmin <= 1 ? lmin : 2 - lmin;
    var v = (l + s) / 2;
    var sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);
    return [h, sv * 100, v * 100];
  };

  convert.hsv.rgb = function (hsv) {
    var h = hsv[0] / 60;
    var s = hsv[1] / 100;
    var v = hsv[2] / 100;
    var hi = Math.floor(h) % 6;
    var f = h - Math.floor(h);
    var p = 255 * v * (1 - s);
    var q = 255 * v * (1 - s * f);
    var t = 255 * v * (1 - s * (1 - f));
    v *= 255;

    switch (hi) {
      case 0:
        return [v, t, p];

      case 1:
        return [q, v, p];

      case 2:
        return [p, v, t];

      case 3:
        return [p, q, v];

      case 4:
        return [t, p, v];

      case 5:
        return [v, p, q];
    }
  };

  convert.hsv.hsl = function (hsv) {
    var h = hsv[0];
    var s = hsv[1] / 100;
    var v = hsv[2] / 100;
    var vmin = Math.max(v, 0.01);
    var sl;
    var l;
    l = (2 - s) * v;
    var lmin = (2 - s) * vmin;
    sl = s * vmin;
    sl /= lmin <= 1 ? lmin : 2 - lmin;
    sl = sl || 0;
    l /= 2;
    return [h, sl * 100, l * 100];
  };

  convert.hwb.rgb = function (hwb) {
    var h = hwb[0] / 360;
    var wh = hwb[1] / 100;
    var bl = hwb[2] / 100;
    var ratio = wh + bl;
    var f;

    if (ratio > 1) {
      wh /= ratio;
      bl /= ratio;
    }

    var i = Math.floor(6 * h);
    var v = 1 - bl;
    f = 6 * h - i;

    if ((i & 0x01) !== 0) {
      f = 1 - f;
    }

    var n = wh + f * (v - wh);
    var r;
    var g;
    var b;

    switch (i) {
      default:
      case 6:
      case 0:
        r = v;
        g = n;
        b = wh;
        break;

      case 1:
        r = n;
        g = v;
        b = wh;
        break;

      case 2:
        r = wh;
        g = v;
        b = n;
        break;

      case 3:
        r = wh;
        g = n;
        b = v;
        break;

      case 4:
        r = n;
        g = wh;
        b = v;
        break;

      case 5:
        r = v;
        g = wh;
        b = n;
        break;
    }

    return [r * 255, g * 255, b * 255];
  };

  convert.cmyk.rgb = function (cmyk) {
    var c = cmyk[0] / 100;
    var m = cmyk[1] / 100;
    var y = cmyk[2] / 100;
    var k = cmyk[3] / 100;
    var r = 1 - Math.min(1, c * (1 - k) + k);
    var g = 1 - Math.min(1, m * (1 - k) + k);
    var b = 1 - Math.min(1, y * (1 - k) + k);
    return [r * 255, g * 255, b * 255];
  };

  convert.xyz.rgb = function (xyz) {
    var x = xyz[0] / 100;
    var y = xyz[1] / 100;
    var z = xyz[2] / 100;
    var r;
    var g;
    var b;
    r = x * 3.2406 + y * -1.5372 + z * -0.4986;
    g = x * -0.9689 + y * 1.8758 + z * 0.0415;
    b = x * 0.0557 + y * -0.204 + z * 1.0570;
    r = r > 0.0031308 ? 1.055 * Math.pow(r, 0.4166666666666667) - 0.055 : r * 12.92;
    g = g > 0.0031308 ? 1.055 * Math.pow(g, 0.4166666666666667) - 0.055 : g * 12.92;
    b = b > 0.0031308 ? 1.055 * Math.pow(b, 0.4166666666666667) - 0.055 : b * 12.92;
    r = Math.min(Math.max(0, r), 1);
    g = Math.min(Math.max(0, g), 1);
    b = Math.min(Math.max(0, b), 1);
    return [r * 255, g * 255, b * 255];
  };

  convert.xyz.lab = function (xyz) {
    var x = xyz[0];
    var y = xyz[1];
    var z = xyz[2];
    x /= 95.047;
    y /= 100;
    z /= 108.883;
    x = x > 0.008856 ? Math.pow(x, 0.3333333333333333) : 7.787 * x + 0.13793103448275862;
    y = y > 0.008856 ? Math.pow(y, 0.3333333333333333) : 7.787 * y + 0.13793103448275862;
    z = z > 0.008856 ? Math.pow(z, 0.3333333333333333) : 7.787 * z + 0.13793103448275862;
    var l = 116 * y - 16;
    var a = 500 * (x - y);
    var b = 200 * (y - z);
    return [l, a, b];
  };

  convert.lab.xyz = function (lab) {
    var l = lab[0];
    var a = lab[1];
    var b = lab[2];
    var x;
    var y;
    var z;
    y = (l + 16) / 116;
    x = a / 500 + y;
    z = y - b / 200;
    var y2 = Math.pow(y, 3);
    var x2 = Math.pow(x, 3);
    var z2 = Math.pow(z, 3);
    y = y2 > 0.008856 ? y2 : (y - 0.13793103448275862) / 7.787;
    x = x2 > 0.008856 ? x2 : (x - 0.13793103448275862) / 7.787;
    z = z2 > 0.008856 ? z2 : (z - 0.13793103448275862) / 7.787;
    x *= 95.047;
    y *= 100;
    z *= 108.883;
    return [x, y, z];
  };

  convert.lab.lch = function (lab) {
    var l = lab[0];
    var a = lab[1];
    var b = lab[2];
    var h;
    var hr = Math.atan2(b, a);
    h = hr * 360 / 2 / Math.PI;

    if (h < 0) {
      h += 360;
    }

    var c = Math.sqrt(a * a + b * b);
    return [l, c, h];
  };

  convert.lch.lab = function (lch) {
    var l = lch[0];
    var c = lch[1];
    var h = lch[2];
    var hr = h / 360 * 2 * Math.PI;
    var a = c * Math.cos(hr);
    var b = c * Math.sin(hr);
    return [l, a, b];
  };

  convert.rgb.ansi16 = function (args) {
    var saturation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;

    var _args = _$$_REQUIRE(_dependencyMap[1])(args, 3),
        r = _args[0],
        g = _args[1],
        b = _args[2];

    var value = saturation === null ? convert.rgb.hsv(args)[2] : saturation;
    value = Math.round(value / 50);

    if (value === 0) {
      return 30;
    }

    var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));

    if (value === 2) {
      ansi += 60;
    }

    return ansi;
  };

  convert.hsv.ansi16 = function (args) {
    return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
  };

  convert.rgb.ansi256 = function (args) {
    var r = args[0];
    var g = args[1];
    var b = args[2];

    if (r === g && g === b) {
      if (r < 8) {
        return 16;
      }

      if (r > 248) {
        return 231;
      }

      return Math.round((r - 8) / 247 * 24) + 232;
    }

    var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);
    return ansi;
  };

  convert.ansi16.rgb = function (args) {
    var color = args % 10;

    if (color === 0 || color === 7) {
      if (args > 50) {
        color += 3.5;
      }

      color = color / 10.5 * 255;
      return [color, color, color];
    }

    var mult = (~~(args > 50) + 1) * 0.5;
    var r = (color & 1) * mult * 255;
    var g = (color >> 1 & 1) * mult * 255;
    var b = (color >> 2 & 1) * mult * 255;
    return [r, g, b];
  };

  convert.ansi256.rgb = function (args) {
    if (args >= 232) {
      var c = (args - 232) * 10 + 8;
      return [c, c, c];
    }

    args -= 16;
    var rem;
    var r = Math.floor(args / 36) / 5 * 255;
    var g = Math.floor((rem = args % 36) / 6) / 5 * 255;
    var b = rem % 6 / 5 * 255;
    return [r, g, b];
  };

  convert.rgb.hex = function (args) {
    var integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF);
    var string = integer.toString(16).toUpperCase();
    return '000000'.substring(string.length) + string;
  };

  convert.hex.rgb = function (args) {
    var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);

    if (!match) {
      return [0, 0, 0];
    }

    var colorString = match[0];

    if (match[0].length === 3) {
      colorString = colorString.split('').map(function (char) {
        return char + char;
      }).join('');
    }

    var integer = parseInt(colorString, 16);
    var r = integer >> 16 & 0xFF;
    var g = integer >> 8 & 0xFF;
    var b = integer & 0xFF;
    return [r, g, b];
  };

  convert.rgb.hcg = function (rgb) {
    var r = rgb[0] / 255;
    var g = rgb[1] / 255;
    var b = rgb[2] / 255;
    var max = Math.max(Math.max(r, g), b);
    var min = Math.min(Math.min(r, g), b);
    var chroma = max - min;
    var grayscale;
    var hue;

    if (chroma < 1) {
      grayscale = min / (1 - chroma);
    } else {
      grayscale = 0;
    }

    if (chroma <= 0) {
      hue = 0;
    } else if (max === r) {
      hue = (g - b) / chroma % 6;
    } else if (max === g) {
      hue = 2 + (b - r) / chroma;
    } else {
      hue = 4 + (r - g) / chroma;
    }

    hue /= 6;
    hue %= 1;
    return [hue * 360, chroma * 100, grayscale * 100];
  };

  convert.hsl.hcg = function (hsl) {
    var s = hsl[1] / 100;
    var l = hsl[2] / 100;
    var c = l < 0.5 ? 2.0 * s * l : 2.0 * s * (1.0 - l);
    var f = 0;

    if (c < 1.0) {
      f = (l - 0.5 * c) / (1.0 - c);
    }

    return [hsl[0], c * 100, f * 100];
  };

  convert.hsv.hcg = function (hsv) {
    var s = hsv[1] / 100;
    var v = hsv[2] / 100;
    var c = s * v;
    var f = 0;

    if (c < 1.0) {
      f = (v - c) / (1 - c);
    }

    return [hsv[0], c * 100, f * 100];
  };

  convert.hcg.rgb = function (hcg) {
    var h = hcg[0] / 360;
    var c = hcg[1] / 100;
    var g = hcg[2] / 100;

    if (c === 0.0) {
      return [g * 255, g * 255, g * 255];
    }

    var pure = [0, 0, 0];
    var hi = h % 1 * 6;
    var v = hi % 1;
    var w = 1 - v;
    var mg = 0;

    switch (Math.floor(hi)) {
      case 0:
        pure[0] = 1;
        pure[1] = v;
        pure[2] = 0;
        break;

      case 1:
        pure[0] = w;
        pure[1] = 1;
        pure[2] = 0;
        break;

      case 2:
        pure[0] = 0;
        pure[1] = 1;
        pure[2] = v;
        break;

      case 3:
        pure[0] = 0;
        pure[1] = w;
        pure[2] = 1;
        break;

      case 4:
        pure[0] = v;
        pure[1] = 0;
        pure[2] = 1;
        break;

      default:
        pure[0] = 1;
        pure[1] = 0;
        pure[2] = w;
    }

    mg = (1.0 - c) * g;
    return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255];
  };

  convert.hcg.hsv = function (hcg) {
    var c = hcg[1] / 100;
    var g = hcg[2] / 100;
    var v = c + g * (1.0 - c);
    var f = 0;

    if (v > 0.0) {
      f = c / v;
    }

    return [hcg[0], f * 100, v * 100];
  };

  convert.hcg.hsl = function (hcg) {
    var c = hcg[1] / 100;
    var g = hcg[2] / 100;
    var l = g * (1.0 - c) + 0.5 * c;
    var s = 0;

    if (l > 0.0 && l < 0.5) {
      s = c / (2 * l);
    } else if (l >= 0.5 && l < 1.0) {
      s = c / (2 * (1 - l));
    }

    return [hcg[0], s * 100, l * 100];
  };

  convert.hcg.hwb = function (hcg) {
    var c = hcg[1] / 100;
    var g = hcg[2] / 100;
    var v = c + g * (1.0 - c);
    return [hcg[0], (v - c) * 100, (1 - v) * 100];
  };

  convert.hwb.hcg = function (hwb) {
    var w = hwb[1] / 100;
    var b = hwb[2] / 100;
    var v = 1 - b;
    var c = v - w;
    var g = 0;

    if (c < 1) {
      g = (v - c) / (1 - c);
    }

    return [hwb[0], c * 100, g * 100];
  };

  convert.apple.rgb = function (apple) {
    return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];
  };

  convert.rgb.apple = function (rgb) {
    return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];
  };

  convert.gray.rgb = function (args) {
    return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
  };

  convert.gray.hsl = function (args) {
    return [0, 0, args[0]];
  };

  convert.gray.hsv = convert.gray.hsl;

  convert.gray.hwb = function (gray) {
    return [0, 100, gray[0]];
  };

  convert.gray.cmyk = function (gray) {
    return [0, 0, 0, gray[0]];
  };

  convert.gray.lab = function (gray) {
    return [gray[0], 0, 0];
  };

  convert.gray.hex = function (gray) {
    var val = Math.round(gray[0] / 100 * 255) & 0xFF;
    var integer = (val << 16) + (val << 8) + val;
    var string = integer.toString(16).toUpperCase();
    return '000000'.substring(string.length) + string;
  };

  convert.rgb.gray = function (rgb) {
    var val = (rgb[0] + rgb[1] + rgb[2]) / 3;
    return [val / 255 * 100];
  };
},1642,[1162,41]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function buildGraph() {
    var graph = {};
    var models = Object.keys(_$$_REQUIRE(_dependencyMap[0]));

    for (var len = models.length, i = 0; i < len; i++) {
      graph[models[i]] = {
        distance: -1,
        parent: null
      };
    }

    return graph;
  }

  function deriveBFS(fromModel) {
    var graph = buildGraph();
    var queue = [fromModel];
    graph[fromModel].distance = 0;

    while (queue.length) {
      var current = queue.pop();
      var adjacents = Object.keys(_$$_REQUIRE(_dependencyMap[0])[current]);

      for (var len = adjacents.length, i = 0; i < len; i++) {
        var adjacent = adjacents[i];
        var node = graph[adjacent];

        if (node.distance === -1) {
          node.distance = graph[current].distance + 1;
          node.parent = current;
          queue.unshift(adjacent);
        }
      }
    }

    return graph;
  }

  function link(from, to) {
    return function (args) {
      return to(from(args));
    };
  }

  function wrapConversion(toModel, graph) {
    var path = [graph[toModel].parent, toModel];

    var fn = _$$_REQUIRE(_dependencyMap[0])[graph[toModel].parent][toModel];

    var cur = graph[toModel].parent;

    while (graph[cur].parent) {
      path.unshift(graph[cur].parent);
      fn = link(_$$_REQUIRE(_dependencyMap[0])[graph[cur].parent][cur], fn);
      cur = graph[cur].parent;
    }

    fn.conversion = path;
    return fn;
  }

  module.exports = function (fromModel) {
    var graph = deriveBFS(fromModel);
    var conversion = {};
    var models = Object.keys(graph);

    for (var len = models.length, i = 0; i < len; i++) {
      var toModel = models[i];
      var node = graph[toModel];

      if (node.parent === null) {
        continue;
      }

      conversion[toModel] = wrapConversion(toModel, graph);
    }

    return conversion;
  };
},1643,[1642]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "TabBar", {
    enumerable: true,
    get: function get() {
      return _TabBar.default;
    }
  });
  Object.defineProperty(exports, "TabView", {
    enumerable: true,
    get: function get() {
      return _TabView.default;
    }
  });
  Object.defineProperty(exports, "TabBarIndicator", {
    enumerable: true,
    get: function get() {
      return _TabBarIndicator.default;
    }
  });
  Object.defineProperty(exports, "TabBarItem", {
    enumerable: true,
    get: function get() {
      return _TabBarItem.default;
    }
  });
  Object.defineProperty(exports, "SceneMap", {
    enumerable: true,
    get: function get() {
      return _SceneMap.default;
    }
  });

  var _TabBar = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _TabView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _TabBarIndicator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _TabBarItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _SceneMap = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));
},1644,[5,1645,1649,1648,1646,1658]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _TabBarItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _TabBarIndicator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TabBar = function (_React$Component) {
    (0, _inherits2.default)(TabBar, _React$Component);

    var _super = _createSuper(TabBar);

    function TabBar() {
      var _this;

      (0, _classCallCheck2.default)(this, TabBar);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.state = {
        layout: {
          width: 0,
          height: 0
        },
        tabWidths: {}
      };
      _this.measuredTabWidths = {};
      _this.scrollAmount = new _reactNative.Animated.Value(0);
      _this.scrollViewRef = React.createRef();

      _this.getFlattenedTabWidth = function (style) {
        var tabStyle = _reactNative.StyleSheet.flatten(style);

        return tabStyle ? tabStyle.width : undefined;
      };

      _this.getComputedTabWidth = function (index, layout, routes, scrollEnabled, tabWidths, flattenedWidth) {
        if (flattenedWidth === 'auto') {
          return tabWidths[routes[index].key] || 0;
        }

        switch (typeof flattenedWidth) {
          case 'number':
            return flattenedWidth;

          case 'string':
            if (flattenedWidth.endsWith('%')) {
              var width = parseFloat(flattenedWidth);

              if (Number.isFinite(width)) {
                return layout.width * (width / 100);
              }
            }

        }

        if (scrollEnabled) {
          return layout.width / 5 * 2;
        }

        return layout.width / routes.length;
      };

      _this.getMaxScrollDistance = function (tabBarWidth, layoutWidth) {
        return tabBarWidth - layoutWidth;
      };

      _this.getTabBarWidth = function (props, state) {
        var layout = state.layout,
            tabWidths = state.tabWidths;
        var scrollEnabled = props.scrollEnabled,
            tabStyle = props.tabStyle;
        var routes = props.navigationState.routes;
        return routes.reduce(function (acc, _, i) {
          return acc + _this.getComputedTabWidth(i, layout, routes, scrollEnabled, tabWidths, _this.getFlattenedTabWidth(tabStyle));
        }, 0);
      };

      _this.normalizeScrollValue = function (props, state, value) {
        var layout = state.layout;

        var tabBarWidth = _this.getTabBarWidth(props, state);

        var maxDistance = _this.getMaxScrollDistance(tabBarWidth, layout.width);

        var scrollValue = Math.max(Math.min(value, maxDistance), 0);

        if (_reactNative.Platform.OS === 'android' && _reactNative.I18nManager.isRTL) {
          return maxDistance - scrollValue;
        }

        return scrollValue;
      };

      _this.getScrollAmount = function (props, state, index) {
        var layout = state.layout,
            tabWidths = state.tabWidths;
        var scrollEnabled = props.scrollEnabled,
            tabStyle = props.tabStyle;
        var routes = props.navigationState.routes;
        var centerDistance = Array.from({
          length: index + 1
        }).reduce(function (total, _, i) {
          var tabWidth = _this.getComputedTabWidth(i, layout, routes, scrollEnabled, tabWidths, _this.getFlattenedTabWidth(tabStyle));

          return total + (index === i ? tabWidth / 2 : tabWidth);
        }, 0);
        var scrollAmount = centerDistance - layout.width / 2;
        return _this.normalizeScrollValue(props, state, scrollAmount);
      };

      _this.resetScroll = function (index) {
        if (_this.props.scrollEnabled) {
          var _this$scrollViewRef$c;

          (_this$scrollViewRef$c = _this.scrollViewRef.current) == null ? undefined : _this$scrollViewRef$c.scrollTo({
            x: _this.getScrollAmount(_this.props, _this.state, index),
            animated: true
          });
        }
      };

      _this.handleLayout = function (e) {
        var _e$nativeEvent$layout = e.nativeEvent.layout,
            height = _e$nativeEvent$layout.height,
            width = _e$nativeEvent$layout.width;

        if (_this.state.layout.width === width && _this.state.layout.height === height) {
          return;
        }

        _this.setState({
          layout: {
            height: height,
            width: width
          }
        });
      };

      _this.getTranslateX = function (scrollAmount, maxScrollDistance) {
        return _reactNative.Animated.multiply(_reactNative.Platform.OS === 'android' && _reactNative.I18nManager.isRTL ? _reactNative.Animated.add(maxScrollDistance, _reactNative.Animated.multiply(scrollAmount, -1)) : scrollAmount, _reactNative.I18nManager.isRTL ? 1 : -1);
      };

      return _this;
    }

    (0, _createClass2.default)(TabBar, [{
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps, prevState) {
        var navigationState = this.props.navigationState;
        var _this$state = this.state,
            layout = _this$state.layout,
            tabWidths = _this$state.tabWidths;

        if (prevProps.navigationState.routes.length !== navigationState.routes.length || prevProps.navigationState.index !== navigationState.index || prevState.layout.width !== layout.width || prevState.tabWidths !== tabWidths) {
          if (this.getFlattenedTabWidth(this.props.tabStyle) === 'auto' && !(layout.width && navigationState.routes.every(function (r) {
            return typeof tabWidths[r.key] === 'number';
          }))) {
            return;
          }

          this.resetScroll(navigationState.index);
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props = this.props,
            position = _this$props.position,
            navigationState = _this$props.navigationState,
            jumpTo = _this$props.jumpTo,
            scrollEnabled = _this$props.scrollEnabled,
            bounces = _this$props.bounces,
            getAccessibilityLabel = _this$props.getAccessibilityLabel,
            getAccessible = _this$props.getAccessible,
            getLabelText = _this$props.getLabelText,
            getTestID = _this$props.getTestID,
            renderBadge = _this$props.renderBadge,
            renderIcon = _this$props.renderIcon,
            renderLabel = _this$props.renderLabel,
            renderTabBarItem = _this$props.renderTabBarItem,
            activeColor = _this$props.activeColor,
            inactiveColor = _this$props.inactiveColor,
            pressColor = _this$props.pressColor,
            pressOpacity = _this$props.pressOpacity,
            onTabPress = _this$props.onTabPress,
            onTabLongPress = _this$props.onTabLongPress,
            tabStyle = _this$props.tabStyle,
            labelStyle = _this$props.labelStyle,
            indicatorStyle = _this$props.indicatorStyle,
            contentContainerStyle = _this$props.contentContainerStyle,
            style = _this$props.style,
            indicatorContainerStyle = _this$props.indicatorContainerStyle;
        var _this$state2 = this.state,
            layout = _this$state2.layout,
            tabWidths = _this$state2.tabWidths;
        var routes = navigationState.routes;
        var isWidthDynamic = this.getFlattenedTabWidth(tabStyle) === 'auto';
        var tabBarWidth = this.getTabBarWidth(this.props, this.state);
        var tabBarWidthPercent = routes.length * 40 + "%";
        var translateX = this.getTranslateX(this.scrollAmount, this.getMaxScrollDistance(tabBarWidth, layout.width));
        return React.createElement(_reactNative.Animated.View, {
          onLayout: this.handleLayout,
          style: [styles.tabBar, style]
        }, React.createElement(_reactNative.Animated.View, {
          pointerEvents: "none",
          style: [styles.indicatorContainer, scrollEnabled ? {
            transform: [{
              translateX: translateX
            }]
          } : null, tabBarWidth ? {
            width: tabBarWidth
          } : scrollEnabled ? {
            width: tabBarWidthPercent
          } : null, indicatorContainerStyle]
        }, this.props.renderIndicator({
          position: position,
          layout: layout,
          navigationState: navigationState,
          jumpTo: jumpTo,
          width: isWidthDynamic ? 'auto' : 100 / routes.length + "%",
          style: indicatorStyle,
          getTabWidth: function getTabWidth(i) {
            return _this2.getComputedTabWidth(i, layout, routes, scrollEnabled, tabWidths, _this2.getFlattenedTabWidth(tabStyle));
          }
        })), React.createElement(_reactNative.View, {
          style: styles.scroll
        }, React.createElement(_reactNative.Animated.ScrollView, {
          horizontal: true,
          accessibilityRole: "tablist",
          keyboardShouldPersistTaps: "handled",
          scrollEnabled: scrollEnabled,
          bounces: bounces,
          alwaysBounceHorizontal: false,
          scrollsToTop: false,
          showsHorizontalScrollIndicator: false,
          automaticallyAdjustContentInsets: false,
          overScrollMode: "never",
          contentContainerStyle: [styles.tabContent, scrollEnabled ? {
            width: tabBarWidth || tabBarWidthPercent
          } : styles.container, contentContainerStyle],
          scrollEventThrottle: 16,
          onScroll: _reactNative.Animated.event([{
            nativeEvent: {
              contentOffset: {
                x: this.scrollAmount
              }
            }
          }], {
            useNativeDriver: true
          }),
          ref: this.scrollViewRef
        }, routes.map(function (route) {
          var props = {
            key: route.key,
            position: position,
            route: route,
            navigationState: navigationState,
            getAccessibilityLabel: getAccessibilityLabel,
            getAccessible: getAccessible,
            getLabelText: getLabelText,
            getTestID: getTestID,
            renderBadge: renderBadge,
            renderIcon: renderIcon,
            renderLabel: renderLabel,
            activeColor: activeColor,
            inactiveColor: inactiveColor,
            pressColor: pressColor,
            pressOpacity: pressOpacity,
            onLayout: isWidthDynamic ? function (e) {
              _this2.measuredTabWidths[route.key] = e.nativeEvent.layout.width;

              if (routes.every(function (r) {
                return typeof _this2.measuredTabWidths[r.key] === 'number';
              })) {
                _this2.setState({
                  tabWidths: (0, _extends2.default)({}, _this2.measuredTabWidths)
                });
              }
            } : undefined,
            onPress: function onPress() {
              var event = {
                route: route,
                defaultPrevented: false,
                preventDefault: function preventDefault() {
                  event.defaultPrevented = true;
                }
              };
              onTabPress == null ? undefined : onTabPress(event);

              if (event.defaultPrevented) {
                return;
              }

              _this2.props.jumpTo(route.key);
            },
            onLongPress: function onLongPress() {
              return onTabLongPress == null ? undefined : onTabLongPress({
                route: route
              });
            },
            labelStyle: labelStyle,
            style: tabStyle
          };
          return renderTabBarItem ? renderTabBarItem(props) : React.createElement(_TabBarItem.default, props);
        }))));
      }
    }]);
    return TabBar;
  }(React.Component);

  exports.default = TabBar;
  TabBar.defaultProps = {
    getLabelText: function getLabelText(_ref) {
      var route = _ref.route;
      return route.title;
    },
    getAccessible: function getAccessible(_ref2) {
      var route = _ref2.route;
      return typeof route.accessible !== 'undefined' ? route.accessible : true;
    },
    getAccessibilityLabel: function getAccessibilityLabel(_ref3) {
      var route = _ref3.route;
      return typeof route.accessibilityLabel === 'string' ? route.accessibilityLabel : typeof route.title === 'string' ? route.title : undefined;
    },
    getTestID: function getTestID(_ref4) {
      var route = _ref4.route;
      return route.testID;
    },
    renderIndicator: function renderIndicator(props) {
      return React.createElement(_TabBarIndicator.default, props);
    }
  };

  var styles = _reactNative.StyleSheet.create({
    container: {
      flex: 1
    },
    scroll: {
      overflow: _reactNative.Platform.select({
        default: 'scroll',
        web: undefined
      })
    },
    tabBar: {
      backgroundColor: '#2196f3',
      elevation: 4,
      shadowColor: 'black',
      shadowOpacity: 0.1,
      shadowRadius: _reactNative.StyleSheet.hairlineWidth,
      shadowOffset: {
        height: _reactNative.StyleSheet.hairlineWidth,
        width: 0
      },
      zIndex: 1
    },
    tabContent: {
      flexDirection: 'row',
      flexWrap: 'nowrap'
    },
    indicatorContainer: {
      position: 'absolute',
      top: 0,
      left: 0,
      right: 0,
      bottom: 0
    }
  });
},1645,[5,6,7,8,12,14,16,17,28,1646,1648]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _PlatformPressable = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var DEFAULT_ACTIVE_COLOR = 'rgba(255, 255, 255, 1)';
  var DEFAULT_INACTIVE_COLOR = 'rgba(255, 255, 255, 0.7)';

  var TabBarItem = function (_React$Component) {
    (0, _inherits2.default)(TabBarItem, _React$Component);

    var _super = _createSuper(TabBarItem);

    function TabBarItem() {
      var _this;

      (0, _classCallCheck2.default)(this, TabBarItem);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));

      _this.getActiveOpacity = function (position, routes, tabIndex) {
        if (routes.length > 1) {
          var inputRange = routes.map(function (_, i) {
            return i;
          });
          return position.interpolate({
            inputRange: inputRange,
            outputRange: inputRange.map(function (i) {
              return i === tabIndex ? 1 : 0;
            })
          });
        } else {
          return 1;
        }
      };

      _this.getInactiveOpacity = function (position, routes, tabIndex) {
        if (routes.length > 1) {
          var inputRange = routes.map(function (_, i) {
            return i;
          });
          return position.interpolate({
            inputRange: inputRange,
            outputRange: inputRange.map(function (i) {
              return i === tabIndex ? 0 : 1;
            })
          });
        } else {
          return 0;
        }
      };

      return _this;
    }

    (0, _createClass2.default)(TabBarItem, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            route = _this$props.route,
            position = _this$props.position,
            navigationState = _this$props.navigationState,
            renderLabelCustom = _this$props.renderLabel,
            renderIcon = _this$props.renderIcon,
            renderBadge = _this$props.renderBadge,
            getLabelText = _this$props.getLabelText,
            getTestID = _this$props.getTestID,
            getAccessibilityLabel = _this$props.getAccessibilityLabel,
            getAccessible = _this$props.getAccessible,
            activeColorCustom = _this$props.activeColor,
            inactiveColorCustom = _this$props.inactiveColor,
            pressColor = _this$props.pressColor,
            pressOpacity = _this$props.pressOpacity,
            labelStyle = _this$props.labelStyle,
            style = _this$props.style,
            onLayout = _this$props.onLayout,
            onPress = _this$props.onPress,
            onLongPress = _this$props.onLongPress;
        var tabIndex = navigationState.routes.indexOf(route);
        var isFocused = navigationState.index === tabIndex;

        var labelColorFromStyle = _reactNative.StyleSheet.flatten(labelStyle || {}).color;

        var activeColor = activeColorCustom !== undefined ? activeColorCustom : typeof labelColorFromStyle === 'string' ? labelColorFromStyle : DEFAULT_ACTIVE_COLOR;
        var inactiveColor = inactiveColorCustom !== undefined ? inactiveColorCustom : typeof labelColorFromStyle === 'string' ? labelColorFromStyle : DEFAULT_INACTIVE_COLOR;
        var activeOpacity = this.getActiveOpacity(position, navigationState.routes, tabIndex);
        var inactiveOpacity = this.getInactiveOpacity(position, navigationState.routes, tabIndex);
        var icon = null;
        var label = null;

        if (renderIcon) {
          var activeIcon = renderIcon({
            route: route,
            focused: true,
            color: activeColor
          });
          var inactiveIcon = renderIcon({
            route: route,
            focused: false,
            color: inactiveColor
          });

          if (inactiveIcon != null && activeIcon != null) {
            icon = React.createElement(_reactNative.View, {
              style: styles.icon
            }, React.createElement(_reactNative.Animated.View, {
              style: {
                opacity: inactiveOpacity
              }
            }, inactiveIcon), React.createElement(_reactNative.Animated.View, {
              style: [_reactNative.StyleSheet.absoluteFill, {
                opacity: activeOpacity
              }]
            }, activeIcon));
          }
        }

        var renderLabel = renderLabelCustom !== undefined ? renderLabelCustom : function (_ref) {
          var route = _ref.route,
              color = _ref.color;
          var labelText = getLabelText({
            route: route
          });

          if (typeof labelText === 'string') {
            return React.createElement(_reactNative.Animated.Text, {
              style: [styles.label, icon ? {
                marginTop: 0
              } : null, labelStyle, {
                color: color
              }]
            }, labelText);
          }

          return labelText;
        };

        if (renderLabel) {
          var activeLabel = renderLabel({
            route: route,
            focused: true,
            color: activeColor
          });
          var inactiveLabel = renderLabel({
            route: route,
            focused: false,
            color: inactiveColor
          });
          label = React.createElement(_reactNative.View, null, React.createElement(_reactNative.Animated.View, {
            style: {
              opacity: inactiveOpacity
            }
          }, inactiveLabel), React.createElement(_reactNative.Animated.View, {
            style: [_reactNative.StyleSheet.absoluteFill, {
              opacity: activeOpacity
            }]
          }, activeLabel));
        }

        var tabStyle = _reactNative.StyleSheet.flatten(style);

        var isWidthSet = (tabStyle == null ? undefined : tabStyle.width) !== undefined;
        var tabContainerStyle = isWidthSet ? null : {
          flex: 1
        };
        var scene = {
          route: route
        };
        var accessibilityLabel = getAccessibilityLabel(scene);
        accessibilityLabel = typeof accessibilityLabel !== 'undefined' ? accessibilityLabel : getLabelText(scene);
        var badge = renderBadge ? renderBadge(scene) : null;
        return React.createElement(_PlatformPressable.default, {
          android_ripple: {
            borderless: true
          },
          testID: getTestID(scene),
          accessible: getAccessible(scene),
          accessibilityLabel: accessibilityLabel,
          accessibilityRole: "tab",
          accessibilityState: {
            selected: isFocused
          },
          accessibilityStates: isFocused ? ['selected'] : [],
          pressColor: pressColor,
          pressOpacity: pressOpacity,
          delayPressIn: 0,
          onLayout: onLayout,
          onPress: onPress,
          onLongPress: onLongPress,
          style: [styles.pressable, tabContainerStyle]
        }, React.createElement(_reactNative.View, {
          pointerEvents: "none",
          style: [styles.item, tabStyle]
        }, icon, label, badge != null ? React.createElement(_reactNative.View, {
          style: styles.badge
        }, badge) : null));
      }
    }]);
    return TabBarItem;
  }(React.Component);

  exports.default = TabBarItem;

  var styles = _reactNative.StyleSheet.create({
    label: {
      margin: 4,
      backgroundColor: 'transparent',
      textTransform: 'uppercase'
    },
    icon: {
      margin: 2
    },
    item: {
      flex: 1,
      alignItems: 'center',
      justifyContent: 'center',
      padding: 10,
      minHeight: 48
    },
    badge: {
      position: 'absolute',
      top: 0,
      right: 0
    },
    pressable: {
      backgroundColor: 'transparent'
    }
  });
},1646,[5,7,8,12,14,16,17,28,1647]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = PlatformPressable;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var ANDROID_VERSION_LOLLIPOP = 21;
  var ANDROID_SUPPORTS_RIPPLE = _reactNative.Platform.OS === 'android' && _reactNative.Platform.Version >= ANDROID_VERSION_LOLLIPOP;

  function PlatformPressable(_ref) {
    var android_ripple = _ref.android_ripple,
        _ref$pressColor = _ref.pressColor,
        pressColor = _ref$pressColor === undefined ? 'rgba(0, 0, 0, .32)' : _ref$pressColor,
        pressOpacity = _ref.pressOpacity,
        _style = _ref.style,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["android_ripple", "pressColor", "pressOpacity", "style"]);
    return React.createElement(_reactNative.Pressable, (0, _extends2.default)({
      android_ripple: ANDROID_SUPPORTS_RIPPLE ? (0, _extends2.default)({
        color: pressColor
      }, android_ripple) : undefined,
      style: function style(_ref2) {
        var pressed = _ref2.pressed;
        return [{
          opacity: pressed && !ANDROID_SUPPORTS_RIPPLE ? pressOpacity : 1
        }, typeof _style === 'function' ? _style({
          pressed: pressed
        }) : _style];
      }
    }, rest));
  }
},1647,[5,6,108,17,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TabBarIndicator = function (_React$Component) {
    (0, _inherits2.default)(TabBarIndicator, _React$Component);

    var _super = _createSuper(TabBarIndicator);

    function TabBarIndicator() {
      var _this;

      (0, _classCallCheck2.default)(this, TabBarIndicator);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));

      _this.fadeInIndicator = function () {
        var _this$props = _this.props,
            navigationState = _this$props.navigationState,
            layout = _this$props.layout,
            width = _this$props.width,
            getTabWidth = _this$props.getTabWidth;

        if (!_this.isIndicatorShown && width === 'auto' && layout.width && navigationState.routes.every(function (_, i) {
          return getTabWidth(i);
        })) {
          _this.isIndicatorShown = true;

          _reactNative.Animated.timing(_this.opacity, {
            toValue: 1,
            duration: 150,
            easing: _reactNative.Easing.in(_reactNative.Easing.linear),
            useNativeDriver: true
          }).start();
        }
      };

      _this.isIndicatorShown = false;
      _this.opacity = new _reactNative.Animated.Value(_this.props.width === 'auto' ? 0 : 1);

      _this.getTranslateX = function (position, routes, getTabWidth) {
        var inputRange = routes.map(function (_, i) {
          return i;
        });
        var outputRange = routes.reduce(function (acc, _, i) {
          if (i === 0) return [0];
          return [].concat((0, _toConsumableArray2.default)(acc), [acc[i - 1] + getTabWidth(i - 1)]);
        }, []);
        var translateX = position.interpolate({
          inputRange: inputRange,
          outputRange: outputRange,
          extrapolate: 'clamp'
        });
        return _reactNative.Animated.multiply(translateX, _reactNative.I18nManager.isRTL ? -1 : 1);
      };

      return _this;
    }

    (0, _createClass2.default)(TabBarIndicator, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this.fadeInIndicator();
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate() {
        this.fadeInIndicator();
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props2 = this.props,
            position = _this$props2.position,
            navigationState = _this$props2.navigationState,
            getTabWidth = _this$props2.getTabWidth,
            width = _this$props2.width,
            style = _this$props2.style,
            layout = _this$props2.layout;
        var routes = navigationState.routes;
        var transform = [];

        if (layout.width) {
          var translateX = routes.length > 1 ? this.getTranslateX(position, routes, getTabWidth) : 0;
          transform.push({
            translateX: translateX
          });
        }

        if (width === 'auto') {
          var inputRange = routes.map(function (_, i) {
            return i;
          });
          var outputRange = inputRange.map(getTabWidth);
          transform.push({
            scaleX: routes.length > 1 ? position.interpolate({
              inputRange: inputRange,
              outputRange: outputRange,
              extrapolate: 'clamp'
            }) : outputRange[0]
          }, {
            translateX: 0.5
          });
        }

        return React.createElement(_reactNative.Animated.View, {
          style: [styles.indicator, {
            width: width === 'auto' ? 1 : width
          }, layout.width && _reactNative.Platform.OS !== 'macos' ? {
            left: 0
          } : {
            left: 100 / routes.length * navigationState.index + "%"
          }, {
            transform: transform
          }, width === 'auto' ? {
            opacity: this.opacity
          } : null, style]
        });
      }
    }]);
    return TabBarIndicator;
  }(React.Component);

  exports.default = TabBarIndicator;

  var styles = _reactNative.StyleSheet.create({
    indicator: {
      backgroundColor: '#ffeb3b',
      position: 'absolute',
      left: 0,
      bottom: 0,
      right: 0,
      height: 2
    }
  });
},1648,[5,21,7,8,12,14,16,17,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = TabView;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _TabBar = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _SceneView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _Pager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function TabView(_ref) {
    var onIndexChange = _ref.onIndexChange,
        navigationState = _ref.navigationState,
        renderScene = _ref.renderScene,
        initialLayout = _ref.initialLayout,
        _ref$keyboardDismissM = _ref.keyboardDismissMode,
        keyboardDismissMode = _ref$keyboardDismissM === undefined ? 'auto' : _ref$keyboardDismissM,
        _ref$lazy = _ref.lazy,
        lazy = _ref$lazy === undefined ? false : _ref$lazy,
        _ref$lazyPreloadDista = _ref.lazyPreloadDistance,
        lazyPreloadDistance = _ref$lazyPreloadDista === undefined ? 0 : _ref$lazyPreloadDista,
        onSwipeStart = _ref.onSwipeStart,
        onSwipeEnd = _ref.onSwipeEnd,
        _ref$renderLazyPlaceh = _ref.renderLazyPlaceholder,
        renderLazyPlaceholder = _ref$renderLazyPlaceh === undefined ? function () {
      return null;
    } : _ref$renderLazyPlaceh,
        _ref$renderTabBar = _ref.renderTabBar,
        renderTabBar = _ref$renderTabBar === undefined ? function (props) {
      return React.createElement(_TabBar.default, props);
    } : _ref$renderTabBar,
        sceneContainerStyle = _ref.sceneContainerStyle,
        style = _ref.style,
        _ref$swipeEnabled = _ref.swipeEnabled,
        swipeEnabled = _ref$swipeEnabled === undefined ? true : _ref$swipeEnabled,
        _ref$tabBarPosition = _ref.tabBarPosition,
        tabBarPosition = _ref$tabBarPosition === undefined ? 'top' : _ref$tabBarPosition;

    var _React$useState = React.useState((0, _extends2.default)({
      width: 0,
      height: 0
    }, initialLayout)),
        _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
        layout = _React$useState2[0],
        setLayout = _React$useState2[1];

    var jumpToIndex = function jumpToIndex(index) {
      if (index !== navigationState.index) {
        onIndexChange(index);
      }
    };

    var handleLayout = function handleLayout(e) {
      var _e$nativeEvent$layout = e.nativeEvent.layout,
          height = _e$nativeEvent$layout.height,
          width = _e$nativeEvent$layout.width;
      setLayout(function (prevLayout) {
        if (prevLayout.width === width && prevLayout.height === height) {
          return prevLayout;
        }

        return {
          height: height,
          width: width
        };
      });
    };

    return React.createElement(_reactNative.View, {
      onLayout: handleLayout,
      style: [styles.pager, style]
    }, React.createElement(_Pager.default, {
      layout: layout,
      navigationState: navigationState,
      keyboardDismissMode: keyboardDismissMode,
      swipeEnabled: swipeEnabled,
      onSwipeStart: onSwipeStart,
      onSwipeEnd: onSwipeEnd,
      onIndexChange: jumpToIndex
    }, function (_ref2) {
      var position = _ref2.position,
          render = _ref2.render,
          addEnterListener = _ref2.addEnterListener,
          jumpTo = _ref2.jumpTo;
      var sceneRendererProps = {
        position: position,
        layout: layout,
        jumpTo: jumpTo
      };
      return React.createElement(React.Fragment, null, tabBarPosition === 'top' && renderTabBar((0, _extends2.default)({}, sceneRendererProps, {
        navigationState: navigationState
      })), render(navigationState.routes.map(function (route, i) {
        return React.createElement(_SceneView.default, (0, _extends2.default)({}, sceneRendererProps, {
          addEnterListener: addEnterListener,
          key: route.key,
          index: i,
          lazy: typeof lazy === 'function' ? lazy({
            route: route
          }) : lazy,
          lazyPreloadDistance: lazyPreloadDistance,
          navigationState: navigationState,
          style: sceneContainerStyle
        }), function (_ref3) {
          var loading = _ref3.loading;
          return loading ? renderLazyPlaceholder({
            route: route
          }) : renderScene((0, _extends2.default)({}, sceneRendererProps, {
            route: route
          }));
        });
      })), tabBarPosition === 'bottom' && renderTabBar((0, _extends2.default)({}, sceneRendererProps, {
        navigationState: navigationState
      })));
    }));
  }

  var styles = _reactNative.StyleSheet.create({
    pager: {
      flex: 1,
      overflow: 'hidden'
    }
  });
},1649,[5,6,41,17,28,1645,1650,1651]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SceneView = function (_React$Component) {
    (0, _inherits2.default)(SceneView, _React$Component);

    var _super = _createSuper(SceneView);

    function SceneView() {
      var _this;

      (0, _classCallCheck2.default)(this, SceneView);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.state = {
        loading: Math.abs(_this.props.navigationState.index - _this.props.index) > _this.props.lazyPreloadDistance
      };
      _this.unsubscribe = null;

      _this.handleEnter = function (value) {
        var index = _this.props.index;

        if (value === index) {
          _this.setState(function (prevState) {
            if (prevState.loading) {
              return {
                loading: false
              };
            }

            return null;
          });
        }
      };

      return _this;
    }

    (0, _createClass2.default)(SceneView, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        if (this.props.lazy) {
          this.unsubscribe = this.props.addEnterListener(this.handleEnter);
        } else if (this.state.loading) {
          this.timerHandler = setTimeout(function () {
            return _this2.setState({
              loading: false
            });
          }, 0);
        }
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps, prevState) {
        if (this.props.lazy !== prevProps.lazy || this.state.loading !== prevState.loading) {
          if (this.props.lazy && this.state.loading) {
            var _this$unsubscribe;

            (_this$unsubscribe = this.unsubscribe) == null ? undefined : _this$unsubscribe.call(this);
            this.unsubscribe = this.props.addEnterListener(this.handleEnter);
          } else {
            var _this$unsubscribe2;

            (_this$unsubscribe2 = this.unsubscribe) == null ? undefined : _this$unsubscribe2.call(this);
          }
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        var _this$unsubscribe3;

        (_this$unsubscribe3 = this.unsubscribe) == null ? undefined : _this$unsubscribe3.call(this);

        if (this.timerHandler) {
          clearTimeout(this.timerHandler);
          this.timerHandler = undefined;
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            navigationState = _this$props.navigationState,
            index = _this$props.index,
            layout = _this$props.layout,
            style = _this$props.style;
        var loading = this.state.loading;
        var focused = navigationState.index === index;
        return React.createElement(_reactNative.View, {
          accessibilityElementsHidden: !focused,
          importantForAccessibility: focused ? 'auto' : 'no-hide-descendants',
          style: [styles.route, layout.width ? {
            width: layout.width
          } : focused ? _reactNative.StyleSheet.absoluteFill : null, style]
        }, focused || layout.width ? this.props.children({
          loading: loading
        }) : null);
      }
    }], [{
      key: "getDerivedStateFromProps",
      value: function getDerivedStateFromProps(props, state) {
        if (state.loading && Math.abs(props.navigationState.index - props.index) <= props.lazyPreloadDistance) {
          return {
            loading: false
          };
        }

        return null;
      }
    }]);
    return SceneView;
  }(React.Component);

  exports.default = SceneView;

  var styles = _reactNative.StyleSheet.create({
    route: {
      flex: 1,
      overflow: 'hidden'
    }
  });
},1650,[5,7,8,12,14,16,17,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "default", {
    enumerable: true,
    get: function get() {
      return _PagerViewAdapter.default;
    }
  });

  var _PagerViewAdapter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));
},1651,[5,1652]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = PagerViewAdapter;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _reactNativePagerView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _useAnimatedValue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var AnimatedViewPager = _reactNative.Animated.createAnimatedComponent(_reactNativePagerView.default);

  function PagerViewAdapter(_ref) {
    var _ref$keyboardDismissM = _ref.keyboardDismissMode,
        keyboardDismissMode = _ref$keyboardDismissM === undefined ? 'auto' : _ref$keyboardDismissM,
        _ref$swipeEnabled = _ref.swipeEnabled,
        swipeEnabled = _ref$swipeEnabled === undefined ? true : _ref$swipeEnabled,
        navigationState = _ref.navigationState,
        onIndexChange = _ref.onIndexChange,
        onSwipeStart = _ref.onSwipeStart,
        onSwipeEnd = _ref.onSwipeEnd,
        children = _ref.children,
        style = _ref.style,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["keyboardDismissMode", "swipeEnabled", "navigationState", "onIndexChange", "onSwipeStart", "onSwipeEnd", "children", "style"]);
    var index = navigationState.index;
    var listenersRef = React.useRef([]);
    var pagerRef = React.useRef();
    var indexRef = React.useRef(index);
    var navigationStateRef = React.useRef(navigationState);
    var position = (0, _useAnimatedValue.default)(index);
    var offset = (0, _useAnimatedValue.default)(0);
    React.useEffect(function () {
      navigationStateRef.current = navigationState;
    });
    var jumpTo = React.useCallback(function (key) {
      var _pagerRef$current;

      var index = navigationStateRef.current.routes.findIndex(function (route) {
        return route.key === key;
      });
      (_pagerRef$current = pagerRef.current) == null ? undefined : _pagerRef$current.setPage(index);
    }, []);
    React.useEffect(function () {
      if (keyboardDismissMode === 'auto') {
        _reactNative.Keyboard.dismiss();
      }

      if (indexRef.current !== index) {
        var _pagerRef$current2;

        (_pagerRef$current2 = pagerRef.current) == null ? undefined : _pagerRef$current2.setPage(index);
      }
    }, [keyboardDismissMode, index]);

    var onPageScrollStateChanged = function onPageScrollStateChanged(state) {
      var pageScrollState = state.nativeEvent.pageScrollState;

      switch (pageScrollState) {
        case 'idle':
          onSwipeEnd == null ? undefined : onSwipeEnd();
          return;

        case 'dragging':
          {
            var subscription = offset.addListener(function (_ref2) {
              var value = _ref2.value;
              var next = index + (value > 0 ? Math.ceil(value) : Math.floor(value));

              if (next !== index) {
                listenersRef.current.forEach(function (listener) {
                  return listener(next);
                });
              }

              offset.removeListener(subscription);
            });
            onSwipeStart == null ? undefined : onSwipeStart();
            return;
          }
      }
    };

    var addEnterListener = React.useCallback(function (listener) {
      listenersRef.current.push(listener);
      return function () {
        var index = listenersRef.current.indexOf(listener);

        if (index > -1) {
          listenersRef.current.splice(index, 1);
        }
      };
    }, []);
    return children({
      position: _reactNative.Animated.add(position, offset),
      addEnterListener: addEnterListener,
      jumpTo: jumpTo,
      render: function render(children) {
        return React.createElement(AnimatedViewPager, (0, _extends2.default)({}, rest, {
          ref: pagerRef,
          style: [styles.container, style],
          initialPage: index,
          keyboardDismissMode: keyboardDismissMode === 'auto' ? 'on-drag' : keyboardDismissMode,
          onPageScroll: _reactNative.Animated.event([{
            nativeEvent: {
              position: position,
              offset: offset
            }
          }], {
            useNativeDriver: true
          }),
          onPageSelected: function onPageSelected(e) {
            var index = e.nativeEvent.position;
            indexRef.current = index;
            onIndexChange(index);
          },
          onPageScrollStateChanged: onPageScrollStateChanged,
          scrollEnabled: swipeEnabled
        }), children);
      }
    });
  }

  var styles = _reactNative.StyleSheet.create({
    container: {
      flex: 1
    }
  });
},1652,[5,6,108,17,28,1653,1657]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;
  exports.default = _$$_REQUIRE(_dependencyMap[0]).PagerView;
},1653,[1654]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.PagerView = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _PagerViewNativeComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PagerView = function (_React$Component) {
    (0, _inherits2.default)(PagerView, _React$Component);

    var _super = _createSuper(PagerView);

    function PagerView() {
      var _this;

      (0, _classCallCheck2.default)(this, PagerView);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.isScrolling = false;
      _this.pagerView = null;

      _this._onPageScroll = function (e) {
        if (_this.props.onPageScroll) {
          _this.props.onPageScroll(e);
        }

        if (_reactNative.Platform.OS === 'android') {
          if (_this.props.keyboardDismissMode === 'on-drag') {
            _reactNative.Keyboard.dismiss();
          }
        }
      };

      _this._onPageScrollStateChanged = function (e) {
        if (_this.props.onPageScrollStateChanged) {
          _this.props.onPageScrollStateChanged(e);
        }

        _this.isScrolling = e.nativeEvent.pageScrollState === 'dragging';
      };

      _this._onPageSelected = function (e) {
        if (_this.props.onPageSelected) {
          _this.props.onPageSelected(e);
        }
      };

      _this.setPage = function (selectedPage) {
        if (_this.pagerView) {
          _PagerViewNativeComponent.Commands.setPage(_this.pagerView, selectedPage);
        }
      };

      _this.setPageWithoutAnimation = function (selectedPage) {
        if (_this.pagerView) {
          _PagerViewNativeComponent.Commands.setPageWithoutAnimation(_this.pagerView, selectedPage);
        }
      };

      _this.setScrollEnabled = function (scrollEnabled) {
        if (_this.pagerView) {
          _PagerViewNativeComponent.Commands.setScrollEnabledImperatively(_this.pagerView, scrollEnabled);
        }
      };

      _this._onMoveShouldSetResponderCapture = function () {
        return _this.isScrolling;
      };

      return _this;
    }

    (0, _createClass2.default)(PagerView, [{
      key: "deducedLayoutDirection",
      get: function get() {
        if (!this.props.layoutDirection || this.props.layoutDirection === 'locale') {
          return _reactNative.I18nManager.isRTL ? 'rtl' : 'ltr';
        } else {
          return this.props.layoutDirection;
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        return _react.default.createElement(_PagerViewNativeComponent.default, (0, _extends2.default)({}, this.props, {
          ref: function ref(_ref) {
            _this2.pagerView = _ref;
          },
          style: this.props.style,
          layoutDirection: this.deducedLayoutDirection,
          onPageScroll: this._onPageScroll,
          onPageScrollStateChanged: this._onPageScrollStateChanged,
          onPageSelected: this._onPageSelected,
          onMoveShouldSetResponderCapture: this._onMoveShouldSetResponderCapture,
          children: (0, _$$_REQUIRE(_dependencyMap[10]).childrenWithOverriddenStyle)(this.props.children)
        }));
      }
    }]);
    return PagerView;
  }(_react.default.Component);

  exports.PagerView = PagerView;
},1654,[5,6,7,8,12,14,16,17,28,1655,1656]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.Commands = undefined;

  var _codegenNativeCommands = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _codegenNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var Commands = (0, _codegenNativeCommands.default)({
    supportedCommands: ['setPage', 'setPageWithoutAnimation', 'setScrollEnabledImperatively']
  });
  exports.Commands = Commands;

  var _default = (0, _codegenNativeComponent.default)('RNCViewPager');

  exports.default = _default;
},1655,[5,141,190]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.childrenWithOverriddenStyle = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var childrenWithOverriddenStyle = function childrenWithOverriddenStyle(children) {
    return _react.Children.map(children, function (child) {
      var element = child;
      return _react.default.createElement(_reactNative.View, {
        style: _reactNative.StyleSheet.absoluteFill,
        collapsable: false
      }, _react.default.cloneElement(element, (0, _extends2.default)({}, element.props, {
        style: [element.props.style, _reactNative.StyleSheet.absoluteFill]
      })));
    });
  };

  exports.childrenWithOverriddenStyle = childrenWithOverriddenStyle;
},1656,[5,6,17,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useAnimatedValue;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[1]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useAnimatedValue(initialValue) {
    var lazyRef = React.useRef();

    if (lazyRef.current === undefined) {
      lazyRef.current = new _reactNative.Animated.Value(initialValue);
    }

    return lazyRef.current;
  }
},1657,[17,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = SceneMap;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SceneComponent = function (_React$PureComponent) {
    (0, _inherits2.default)(SceneComponent, _React$PureComponent);

    var _super = _createSuper(SceneComponent);

    function SceneComponent() {
      (0, _classCallCheck2.default)(this, SceneComponent);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(SceneComponent, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            component = _this$props.component,
            rest = (0, _objectWithoutProperties2.default)(_this$props, ["component"]);
        return React.createElement(component, rest);
      }
    }]);
    return SceneComponent;
  }(React.PureComponent);

  function SceneMap(scenes) {
    return function (_ref) {
      var route = _ref.route,
          jumpTo = _ref.jumpTo,
          position = _ref.position;
      return React.createElement(SceneComponent, {
        key: route.key,
        component: scenes[route.key],
        route: route,
        jumpTo: jumpTo,
        position: position
      });
    };
  }
},1658,[5,108,7,8,12,14,16,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.VERSION = undefined;
  var VERSION = "1.2.6";
  exports.VERSION = VERSION;
},1659,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getImageSize = getImageSize;
  exports.getIssueAspectRatio = getIssueAspectRatio;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _log = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function getImageSize(url) {
    return _regenerator.default.async(function getImageSize$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            if (!url) {
              _context.next = 2;
              break;
            }

            return _context.abrupt("return", new Promise(function (resolve, reject) {
              _reactNative.Image.getSize(url, function (width, height) {
                resolve({
                  width: width,
                  height: height
                });
              }, function (error) {
                reject(error);
              });
            }));

          case 2:
            return _context.abrupt("return", Promise.reject(new Error("url is required")));

          case 3:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function getIssueAspectRatio(issue) {
    var _LiveConfig$getSettin, aspectRatio, size, _LiveConfig$getSettin2;

    return _regenerator.default.async(function getIssueAspectRatio$(_context2) {
      while (1) {
        switch (_context2.prev = _context2.next) {
          case 0:
            _LiveConfig$getSettin = _liveConfig.default.getSettings(), aspectRatio = _LiveConfig$getSettin.aspectRatio;
            _context2.prev = 1;

            if (!issue) {
              _context2.next = 8;
              break;
            }

            _context2.next = 5;
            return _regenerator.default.awrap(getImageSize((0, _$$_REQUIRE(_dependencyMap[5]).getLowUrl)(issue)));

          case 5:
            size = _context2.sent;
            aspectRatio = size.width / size.height;

            _liveConfig.default.getSettings().setAspectRatio(aspectRatio);

          case 8:
            _context2.next = 15;
            break;

          case 10:
            _context2.prev = 10;
            _context2.t0 = _context2["catch"](1);
            _LiveConfig$getSettin2 = _liveConfig.default.getSettings();
            aspectRatio = _LiveConfig$getSettin2.aspectRatio;

            _log.default.warn(_context2.t0);

          case 15:
            return _context2.abrupt("return", aspectRatio);

          case 16:
          case "end":
            return _context2.stop();
        }
      }
    }, null, null, [[1, 10]], Promise);
  }
},1660,[5,80,28,993,759,755]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.CircleSnail = CircleSnail;
  exports.ProgressBar = ProgressBar;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var Progress = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _liveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _excluded = ["style", "color"];

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  function CircleSnail(props) {
    return _react.default.createElement(Progress.CircleSnail, (0, _extends2.default)({
      size: 100,
      color: [_$$_REQUIRE(_dependencyMap[6]).colors.grey300]
    }, props));
  }

  function ProgressBar(props) {
    var style = props.style,
        color = props.color,
        rest = (0, _objectWithoutProperties2.default)(props, _excluded);
    return _react.default.createElement(Progress.Bar, (0, _extends2.default)({
      color: color || _liveConfig.default.getSupportColor(),
      style: [{
        borderRadius: 0,
        backgroundColor: _liveConfig.default.getForegroundColor()
      }, style],
      indeterminate: true,
      width: null
    }, rest));
  }
},1661,[5,108,6,17,1662,993,982]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "Bar", {
    enumerable: true,
    get: function get() {
      return _Bar.default;
    }
  });
  Object.defineProperty(exports, "Circle", {
    enumerable: true,
    get: function get() {
      return _Circle.default;
    }
  });
  Object.defineProperty(exports, "CircleSnail", {
    enumerable: true,
    get: function get() {
      return _CircleSnail.default;
    }
  });
  Object.defineProperty(exports, "Pie", {
    enumerable: true,
    get: function get() {
      return _Pie.default;
    }
  });

  var _Bar = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _Circle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _CircleSnail = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _Pie = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));
},1662,[5,1663,1664,1683,1684]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var INDETERMINATE_WIDTH_FACTOR = 0.3;
  var BAR_WIDTH_ZERO_POSITION = 0.23076923076923075;

  var ProgressBar = function (_Component) {
    (0, _inherits2.default)(ProgressBar, _Component);

    var _super = _createSuper(ProgressBar);

    function ProgressBar(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ProgressBar);
      _this = _super.call(this, props);

      _this.handleLayout = function (event) {
        if (!_this.props.width) {
          _this.setState({
            width: event.nativeEvent.layout.width
          });
        }

        if (_this.props.onLayout) {
          _this.props.onLayout(event);
        }
      };

      var progress = Math.min(Math.max(props.progress, 0), 1);
      _this.state = {
        width: 0,
        progress: new _reactNative.Animated.Value(props.indeterminate ? INDETERMINATE_WIDTH_FACTOR : progress),
        animationValue: new _reactNative.Animated.Value(BAR_WIDTH_ZERO_POSITION)
      };
      return _this;
    }

    (0, _createClass2.default)(ProgressBar, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        if (this.props.indeterminate) {
          this.animate();
        }
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps) {
        if (prevProps.indeterminate !== this.props.indeterminate) {
          if (this.props.indeterminate) {
            this.animate();
          } else {
            _reactNative.Animated.spring(this.state.animationValue, {
              toValue: BAR_WIDTH_ZERO_POSITION,
              useNativeDriver: this.props.useNativeDriver
            }).start();
          }
        }

        if (prevProps.indeterminate !== this.props.indeterminate || prevProps.progress !== this.props.progress) {
          var progress = this.props.indeterminate ? INDETERMINATE_WIDTH_FACTOR : Math.min(Math.max(this.props.progress, 0), 1);

          if (this.props.animated) {
            var _this$props = this.props,
                animationType = _this$props.animationType,
                animationConfig = _this$props.animationConfig;

            _reactNative.Animated[animationType](this.state.progress, (0, _extends2.default)({}, animationConfig, {
              toValue: progress,
              useNativeDriver: this.props.useNativeDriver
            })).start();
          } else {
            this.state.progress.setValue(progress);
          }
        }
      }
    }, {
      key: "animate",
      value: function animate() {
        var _this2 = this;

        this.state.animationValue.setValue(0);

        _reactNative.Animated.timing(this.state.animationValue, {
          toValue: 1,
          duration: this.props.indeterminateAnimationDuration,
          easing: _reactNative.Easing.linear,
          isInteraction: false,
          useNativeDriver: this.props.useNativeDriver
        }).start(function (endState) {
          if (endState.finished) {
            _this2.animate();
          }
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props2 = this.props,
            borderColor = _this$props2.borderColor,
            borderRadius = _this$props2.borderRadius,
            borderWidth = _this$props2.borderWidth,
            children = _this$props2.children,
            color = _this$props2.color,
            height = _this$props2.height,
            style = _this$props2.style,
            unfilledColor = _this$props2.unfilledColor,
            width = _this$props2.width,
            restProps = (0, _objectWithoutProperties2.default)(_this$props2, ["borderColor", "borderRadius", "borderWidth", "children", "color", "height", "style", "unfilledColor", "width"]);
        var innerWidth = Math.max(0, width || this.state.width) - borderWidth * 2;
        var containerStyle = {
          width: width,
          borderWidth: borderWidth,
          borderColor: borderColor || color,
          borderRadius: borderRadius,
          overflow: 'hidden',
          backgroundColor: unfilledColor
        };
        var progressStyle = {
          backgroundColor: color,
          height: height,
          transform: [{
            translateX: this.state.animationValue.interpolate({
              inputRange: [0, 1],
              outputRange: [innerWidth * -0.3, innerWidth]
            })
          }, {
            translateX: this.state.progress.interpolate({
              inputRange: [0, 1],
              outputRange: [innerWidth / (_reactNative.I18nManager.isRTL ? 2 : -2), 0]
            })
          }, {
            scaleX: this.state.progress.interpolate({
              inputRange: [0, 1],
              outputRange: [0.0001, 1]
            })
          }]
        };
        return _react.default.createElement(_reactNative.View, (0, _extends2.default)({
          style: [containerStyle, style],
          onLayout: this.handleLayout
        }, restProps), _react.default.createElement(_reactNative.Animated.View, {
          style: progressStyle
        }), children);
      }
    }]);
    return ProgressBar;
  }(_react.Component);

  exports.default = ProgressBar;
  ProgressBar.propTypes = {
    animated: _propTypes.default.bool,
    borderColor: _propTypes.default.string,
    borderRadius: _propTypes.default.number,
    borderWidth: _propTypes.default.number,
    children: _propTypes.default.node,
    color: _propTypes.default.string,
    height: _propTypes.default.number,
    indeterminate: _propTypes.default.bool,
    indeterminateAnimationDuration: _propTypes.default.number,
    onLayout: _propTypes.default.func,
    progress: _propTypes.default.number,
    style: _propTypes.default.any,
    unfilledColor: _propTypes.default.string,
    width: _propTypes.default.number,
    useNativeDriver: _propTypes.default.bool,
    animationConfig: _propTypes.default.object,
    animationType: _propTypes.default.oneOf(['decay', 'timing', 'spring'])
  };
  ProgressBar.defaultProps = {
    animated: true,
    borderRadius: 4,
    borderWidth: 1,
    color: 'rgba(0, 122, 255, 1)',
    height: 6,
    indeterminate: false,
    indeterminateAnimationDuration: 1000,
    progress: 0,
    width: 150,
    useNativeDriver: false,
    animationConfig: {
      bounciness: 0
    },
    animationType: 'spring'
  };
},1663,[5,108,6,7,8,12,14,16,17,201,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.ProgressCircle = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _Arc = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _withAnimation = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var CIRCLE = Math.PI * 2;

  var AnimatedSurface = _reactNative.Animated.createAnimatedComponent(_$$_REQUIRE(_dependencyMap[13]).Surface);

  var AnimatedArc = _reactNative.Animated.createAnimatedComponent(_Arc.default);

  var styles = _reactNative.StyleSheet.create({
    container: {
      backgroundColor: 'transparent',
      overflow: 'hidden'
    }
  });

  var ProgressCircle = function (_Component) {
    (0, _inherits2.default)(ProgressCircle, _Component);

    var _super = _createSuper(ProgressCircle);

    function ProgressCircle(props, context) {
      var _this;

      (0, _classCallCheck2.default)(this, ProgressCircle);
      _this = _super.call(this, props, context);
      _this.progressValue = 0;
      return _this;
    }

    (0, _createClass2.default)(ProgressCircle, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        if (this.props.animated) {
          this.props.progress.addListener(function (event) {
            _this2.progressValue = event.value;

            if (_this2.props.showsText || _this2.progressValue === 1) {
              _this2.forceUpdate();
            }
          });
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            animated = _this$props.animated,
            borderColor = _this$props.borderColor,
            borderWidth = _this$props.borderWidth,
            color = _this$props.color,
            children = _this$props.children,
            direction = _this$props.direction,
            fill = _this$props.fill,
            formatText = _this$props.formatText,
            indeterminate = _this$props.indeterminate,
            progress = _this$props.progress,
            rotation = _this$props.rotation,
            showsText = _this$props.showsText,
            size = _this$props.size,
            style = _this$props.style,
            strokeCap = _this$props.strokeCap,
            textStyle = _this$props.textStyle,
            thickness = _this$props.thickness,
            unfilledColor = _this$props.unfilledColor,
            endAngle = _this$props.endAngle,
            allowFontScaling = _this$props.allowFontScaling,
            restProps = (0, _objectWithoutProperties2.default)(_this$props, ["animated", "borderColor", "borderWidth", "color", "children", "direction", "fill", "formatText", "indeterminate", "progress", "rotation", "showsText", "size", "style", "strokeCap", "textStyle", "thickness", "unfilledColor", "endAngle", "allowFontScaling"]);
        var border = borderWidth || (indeterminate ? 1 : 0);
        var radius = size / 2 - border;
        var offset = {
          top: border,
          left: border
        };
        var textOffset = border + thickness;
        var textSize = size - textOffset * 2;
        var Surface = rotation ? AnimatedSurface : _$$_REQUIRE(_dependencyMap[13]).Surface;
        var Shape = animated ? AnimatedArc : _Arc.default;
        var progressValue = animated ? this.progressValue : progress;
        var angle = animated ? _reactNative.Animated.multiply(progress, CIRCLE) : progress * CIRCLE;
        return _react.default.createElement(_reactNative.View, (0, _extends2.default)({
          style: [styles.container, style]
        }, restProps), _react.default.createElement(Surface, {
          width: size,
          height: size,
          style: {
            transform: [{
              rotate: indeterminate && rotation ? rotation.interpolate({
                inputRange: [0, 1],
                outputRange: ['0deg', '360deg']
              }) : '0deg'
            }]
          }
        }, unfilledColor && progressValue !== 1 ? _react.default.createElement(Shape, {
          fill: fill,
          radius: radius,
          offset: offset,
          startAngle: angle,
          endAngle: CIRCLE,
          direction: direction,
          stroke: unfilledColor,
          strokeWidth: thickness
        }) : false, !indeterminate ? _react.default.createElement(Shape, {
          fill: fill,
          radius: radius,
          offset: offset,
          startAngle: 0,
          endAngle: angle,
          direction: direction,
          stroke: color,
          strokeCap: strokeCap,
          strokeWidth: thickness
        }) : false, border ? _react.default.createElement(_Arc.default, {
          radius: size / 2,
          startAngle: 0,
          endAngle: (indeterminate ? endAngle * 2 : 2) * Math.PI,
          stroke: borderColor || color,
          strokeCap: strokeCap,
          strokeWidth: border
        }) : false), !indeterminate && showsText ? _react.default.createElement(_reactNative.View, {
          style: {
            position: 'absolute',
            left: textOffset,
            top: textOffset,
            width: textSize,
            height: textSize,
            borderRadius: textSize / 2,
            alignItems: 'center',
            justifyContent: 'center'
          }
        }, _react.default.createElement(_reactNative.Text, {
          style: [{
            color: color,
            fontSize: textSize / 4.5,
            fontWeight: '300'
          }, textStyle],
          allowFontScaling: allowFontScaling
        }, formatText(progressValue))) : false, children);
      }
    }]);
    return ProgressCircle;
  }(_react.Component);

  exports.ProgressCircle = ProgressCircle;
  ProgressCircle.propTypes = {
    animated: _propTypes.default.bool,
    borderColor: _propTypes.default.string,
    borderWidth: _propTypes.default.number,
    color: _propTypes.default.string,
    children: _propTypes.default.node,
    direction: _propTypes.default.oneOf(['clockwise', 'counter-clockwise']),
    fill: _propTypes.default.string,
    formatText: _propTypes.default.func,
    indeterminate: _propTypes.default.bool,
    progress: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.instanceOf(_reactNative.Animated.Value)]),
    rotation: _propTypes.default.instanceOf(_reactNative.Animated.Value),
    showsText: _propTypes.default.bool,
    size: _propTypes.default.number,
    style: _propTypes.default.any,
    strokeCap: _propTypes.default.oneOf(['butt', 'square', 'round']),
    textStyle: _propTypes.default.any,
    thickness: _propTypes.default.number,
    unfilledColor: _propTypes.default.string,
    endAngle: _propTypes.default.number,
    allowFontScaling: _propTypes.default.bool
  };
  ProgressCircle.defaultProps = {
    borderWidth: 1,
    color: 'rgba(0, 122, 255, 1)',
    direction: 'clockwise',
    formatText: function formatText(progress) {
      return Math.round(progress * 100) + "%";
    },
    progress: 0,
    showsText: false,
    size: 40,
    thickness: 3,
    endAngle: 0.9,
    allowFontScaling: true
  };

  var _default = (0, _withAnimation.default)(ProgressCircle);

  exports.default = _default;
},1664,[5,6,108,7,8,12,14,16,17,201,28,1665,1682,1666]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var CIRCLE = Math.PI * 2;

  function makeArcPath(x, y, startAngleArg, endAngleArg, radius, direction) {
    var startAngle = startAngleArg;
    var endAngle = endAngleArg;

    if (endAngle - startAngle >= CIRCLE) {
      endAngle = CIRCLE + endAngle % CIRCLE;
    } else {
      endAngle = endAngle % CIRCLE;
    }

    startAngle = startAngle % CIRCLE;
    var angle = startAngle > endAngle ? CIRCLE - startAngle + endAngle : endAngle - startAngle;

    if (angle >= CIRCLE) {
      return new (_$$_REQUIRE(_dependencyMap[10]).Path)().moveTo(x + radius, y).arc(0, radius * 2, radius, radius).arc(0, radius * -2, radius, radius).close();
    }

    var directionFactor = direction === 'counter-clockwise' ? -1 : 1;
    endAngle *= directionFactor;
    startAngle *= directionFactor;
    var startSine = Math.sin(startAngle);
    var startCosine = Math.cos(startAngle);
    var endSine = Math.sin(endAngle);
    var endCosine = Math.cos(endAngle);
    var arcFlag = angle > Math.PI ? 1 : 0;
    var reverseFlag = direction === 'counter-clockwise' ? 0 : 1;
    return "M" + (x + radius * (1 + startSine)) + " " + (y + radius - radius * startCosine) + "\n          A" + radius + " " + radius + " 0 " + arcFlag + " " + reverseFlag + " " + (x + radius * (1 + endSine)) + " " + (y + radius - radius * endCosine);
  }

  var Arc = function (_Component) {
    (0, _inherits2.default)(Arc, _Component);

    var _super = _createSuper(Arc);

    function Arc() {
      (0, _classCallCheck2.default)(this, Arc);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(Arc, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            startAngle = _this$props.startAngle,
            endAngle = _this$props.endAngle,
            radius = _this$props.radius,
            offset = _this$props.offset,
            direction = _this$props.direction,
            strokeCap = _this$props.strokeCap,
            strokeWidth = _this$props.strokeWidth,
            restProps = (0, _objectWithoutProperties2.default)(_this$props, ["startAngle", "endAngle", "radius", "offset", "direction", "strokeCap", "strokeWidth"]);
        var path = makeArcPath((offset.left || 0) + strokeWidth / 2, (offset.top || 0) + strokeWidth / 2, startAngle, endAngle, radius - strokeWidth / 2, direction);
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Shape, (0, _extends2.default)({
          d: path,
          strokeCap: strokeCap,
          strokeWidth: strokeWidth
        }, restProps));
      }
    }]);
    return Arc;
  }(_react.Component);

  exports.default = Arc;
  Arc.propTypes = {
    startAngle: _propTypes.default.number.isRequired,
    endAngle: _propTypes.default.number.isRequired,
    radius: _propTypes.default.number.isRequired,
    offset: _propTypes.default.shape({
      top: _propTypes.default.number,
      left: _propTypes.default.number
    }),
    strokeCap: _propTypes.default.string,
    strokeWidth: _propTypes.default.number,
    direction: _propTypes.default.oneOf(['clockwise', 'counter-clockwise'])
  };
  Arc.defaultProps = {
    startAngle: 0,
    offset: {
      top: 0,
      left: 0
    },
    strokeCap: 'butt',
    strokeWidth: 0,
    direction: 'clockwise'
  };
},1665,[5,6,108,7,8,12,14,16,17,201,1666]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "Transform", {
    enumerable: true,
    get: function get() {
      return _transform.default;
    }
  });
  Object.defineProperty(exports, "Path", {
    enumerable: true,
    get: function get() {
      return _ARTSerializablePath.default;
    }
  });
  Object.defineProperty(exports, "Surface", {
    enumerable: true,
    get: function get() {
      return _Surface.default;
    }
  });
  Object.defineProperty(exports, "Group", {
    enumerable: true,
    get: function get() {
      return _Group.default;
    }
  });
  Object.defineProperty(exports, "Shape", {
    enumerable: true,
    get: function get() {
      return _Shape.default;
    }
  });
  Object.defineProperty(exports, "Text", {
    enumerable: true,
    get: function get() {
      return _Text.default;
    }
  });
  Object.defineProperty(exports, "ClippingRectangle", {
    enumerable: true,
    get: function get() {
      return _ClippingRectangle.default;
    }
  });
  Object.defineProperty(exports, "LinearGradient", {
    enumerable: true,
    get: function get() {
      return _LinearGradient.default;
    }
  });
  Object.defineProperty(exports, "RadialGradient", {
    enumerable: true,
    get: function get() {
      return _RadialGradient.default;
    }
  });
  Object.defineProperty(exports, "Pattern", {
    enumerable: true,
    get: function get() {
      return _Pattern.default;
    }
  });

  var _transform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _ARTSerializablePath = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _Surface = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _Group = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _Shape = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _Text = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _ClippingRectangle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _LinearGradient = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _RadialGradient = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _Pattern = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));
},1666,[5,1667,1669,1671,1673,1676,1677,1678,1679,1680,1681]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function Transform(xx, yx, xy, yy, x, y) {
    if (xx && typeof xx == 'object') {
      yx = xx.yx;
      yy = xx.yy;
      y = xx.y;
      xy = xx.xy;
      x = xx.x;
      xx = xx.xx;
    }

    this.xx = xx == null ? 1 : xx;
    this.yx = yx || 0;
    this.xy = xy || 0;
    this.yy = yy == null ? 1 : yy;
    this.x = (x == null ? this.x : x) || 0;
    this.y = (y == null ? this.y : y) || 0;

    this._transform();

    return this;
  }

  ;
  module.exports = _$$_REQUIRE(_dependencyMap[0])({
    initialize: Transform,
    _transform: function _transform() {},
    xx: 1,
    yx: 0,
    x: 0,
    xy: 0,
    yy: 1,
    y: 0,
    transform: function transform(xx, yx, xy, yy, x, y) {
      var m = this;

      if (xx && typeof xx == 'object') {
        yx = xx.yx;
        yy = xx.yy;
        y = xx.y;
        xy = xx.xy;
        x = xx.x;
        xx = xx.xx;
      }

      if (!x) x = 0;
      if (!y) y = 0;
      return this.transformTo(m.xx * xx + m.xy * yx, m.yx * xx + m.yy * yx, m.xx * xy + m.xy * yy, m.yx * xy + m.yy * yy, m.xx * x + m.xy * y + m.x, m.yx * x + m.yy * y + m.y);
    },
    transformTo: Transform,
    translate: function translate(x, y) {
      return this.transform(1, 0, 0, 1, x, y);
    },
    move: function move(x, y) {
      this.x += x || 0;
      this.y += y || 0;

      this._transform();

      return this;
    },
    scale: function scale(x, y) {
      if (y == null) y = x;
      return this.transform(x, 0, 0, y, 0, 0);
    },
    rotate: function rotate(deg, x, y) {
      if (x == null || y == null) {
        x = (this.left || 0) + (this.width || 0) / 2;
        y = (this.top || 0) + (this.height || 0) / 2;
      }

      var rad = deg * Math.PI / 180,
          sin = Math.sin(rad),
          cos = Math.cos(rad);
      this.transform(1, 0, 0, 1, x, y);
      var m = this;
      return this.transformTo(cos * m.xx - sin * m.yx, sin * m.xx + cos * m.yx, cos * m.xy - sin * m.yy, sin * m.xy + cos * m.yy, m.x, m.y).transform(1, 0, 0, 1, -x, -y);
    },
    moveTo: function moveTo(x, y) {
      var m = this;
      return this.transformTo(m.xx, m.yx, m.xy, m.yy, x, y);
    },
    rotateTo: function rotateTo(deg, x, y) {
      var m = this;
      var flip = m.yx / m.xx > m.yy / m.xy ? -1 : 1;
      if (m.xx < 0 ? m.xy >= 0 : m.xy < 0) flip = -flip;
      return this.rotate(deg - Math.atan2(flip * m.yx, flip * m.xx) * 180 / Math.PI, x, y);
    },
    scaleTo: function scaleTo(x, y) {
      var m = this;
      var h = Math.sqrt(m.xx * m.xx + m.yx * m.yx);
      m.xx /= h;
      m.yx /= h;
      h = Math.sqrt(m.yy * m.yy + m.xy * m.xy);
      m.yy /= h;
      m.xy /= h;
      return this.scale(x, y);
    },
    resizeTo: function resizeTo(width, height) {
      var w = this.width,
          h = this.height;
      if (!w || !h) return this;
      return this.scaleTo(width / w, height / h);
    },
    inversePoint: function inversePoint(x, y) {
      var a = this.xx,
          b = this.yx,
          c = this.xy,
          d = this.yy,
          e = this.x,
          f = this.y;
      var det = b * c - a * d;
      if (det == 0) return null;
      return {
        x: (d * (e - x) + c * (y - f)) / det,
        y: (a * (f - y) + b * (x - e)) / det
      };
    },
    point: function point(x, y) {
      var m = this;
      return {
        x: m.xx * x + m.xy * y + m.x,
        y: m.yx * x + m.yy * y + m.y
      };
    }
  });
},1667,[1668]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = function (mixins) {
    var proto = {};

    for (var i = 0, l = arguments.length; i < l; i++) {
      var mixin = arguments[i];
      if (typeof mixin == 'function') mixin = mixin.prototype;

      for (var key in mixin) {
        proto[key] = mixin[key];
      }
    }

    if (!proto.initialize) proto.initialize = function () {};

    proto.constructor = function (a, b, c, d, e, f, g, h) {
      return new proto.initialize(a, b, c, d, e, f, g, h);
    };

    proto.constructor.prototype = proto.initialize.prototype = proto;
    return proto.constructor;
  };
},1668,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _class = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _path = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var MOVE_TO = 0;
  var CLOSE = 1;
  var LINE_TO = 2;
  var CURVE_TO = 3;
  var ARC = 4;
  var SerializablePath = (0, _class.default)(_path.default, {
    initialize: function initialize(path) {
      this.reset();

      if (path instanceof SerializablePath) {
        this.path = path.path.slice(0);
      } else if (path) {
        this.push(path);
      }
    },
    onReset: function onReset() {
      this.path = [];
    },
    onMove: function onMove(sx, sy, x, y) {
      this.path.push(MOVE_TO, x, y);
    },
    onLine: function onLine(sx, sy, x, y) {
      this.path.push(LINE_TO, x, y);
    },
    onBezierCurve: function onBezierCurve(sx, sy, p1x, p1y, p2x, p2y, x, y) {
      this.path.push(CURVE_TO, p1x, p1y, p2x, p2y, x, y);
    },
    _arcToBezier: _path.default.prototype.onArc,
    onArc: function onArc(sx, sy, ex, ey, cx, cy, rx, ry, sa, ea, ccw, rotation) {
      if (rx !== ry || rotation) {
        return this._arcToBezier(sx, sy, ex, ey, cx, cy, rx, ry, sa, ea, ccw, rotation);
      }

      this.path.push(ARC, cx, cy, rx, sa, ea, ccw ? 0 : 1);
    },
    onClose: function onClose() {
      this.path.push(CLOSE);
    },
    toJSON: function toJSON() {
      return this.path;
    }
  });
  var _default = SerializablePath;
  exports.default = _default;
},1669,[5,1668,1670]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0])({
    initialize: function initialize(path) {
      this.reset().push(path);
    },
    push: function push() {
      var p = Array.prototype.join.call(arguments, ' ').match(/[a-df-z]|[\-+]?(?:[\d\.]e[\-+]?|[^\s\-+,a-z])+/ig);
      if (!p) return this;
      var last,
          cmd = p[0],
          i = 1;

      while (cmd) {
        switch (cmd) {
          case 'm':
            this.move(p[i++], p[i++]);
            break;

          case 'l':
            this.line(p[i++], p[i++]);
            break;

          case 'c':
            this.curve(p[i++], p[i++], p[i++], p[i++], p[i++], p[i++]);
            break;

          case 's':
            this.curve(p[i++], p[i++], null, null, p[i++], p[i++]);
            break;

          case 'q':
            this.curve(p[i++], p[i++], p[i++], p[i++]);
            break;

          case 't':
            this.curve(p[i++], p[i++]);
            break;

          case 'a':
            this.arc(p[i + 5], p[i + 6], p[i], p[i + 1], p[i + 3], !+p[i + 4], p[i + 2]);
            i += 7;
            break;

          case 'h':
            this.line(p[i++], 0);
            break;

          case 'v':
            this.line(0, p[i++]);
            break;

          case 'M':
            this.moveTo(p[i++], p[i++]);
            break;

          case 'L':
            this.lineTo(p[i++], p[i++]);
            break;

          case 'C':
            this.curveTo(p[i++], p[i++], p[i++], p[i++], p[i++], p[i++]);
            break;

          case 'S':
            this.curveTo(p[i++], p[i++], null, null, p[i++], p[i++]);
            break;

          case 'Q':
            this.curveTo(p[i++], p[i++], p[i++], p[i++]);
            break;

          case 'T':
            this.curveTo(p[i++], p[i++]);
            break;

          case 'A':
            this.arcTo(p[i + 5], p[i + 6], p[i], p[i + 1], p[i + 3], !+p[i + 4], p[i + 2]);
            i += 7;
            break;

          case 'H':
            this.lineTo(p[i++], this.penY);
            break;

          case 'V':
            this.lineTo(this.penX, p[i++]);
            break;

          case 'Z':
          case 'z':
            this.close();
            break;

          default:
            cmd = last;
            i--;
            continue;
        }

        last = cmd;
        if (last == 'm') last = 'l';else if (last == 'M') last = 'L';
        cmd = p[i++];
      }

      return this;
    },
    reset: function reset() {
      this.penX = this.penY = 0;
      this.penDownX = this.penDownY = null;
      this._pivotX = this._pivotY = 0;
      this.onReset();
      return this;
    },
    move: function move(x, y) {
      this.onMove(this.penX, this.penY, this._pivotX = this.penX += +x, this._pivotY = this.penY += +y);
      return this;
    },
    moveTo: function moveTo(x, y) {
      this.onMove(this.penX, this.penY, this._pivotX = this.penX = +x, this._pivotY = this.penY = +y);
      return this;
    },
    line: function line(x, y) {
      return this.lineTo(this.penX + +x, this.penY + +y);
    },
    lineTo: function lineTo(x, y) {
      if (this.penDownX == null) {
        this.penDownX = this.penX;
        this.penDownY = this.penY;
      }

      this.onLine(this.penX, this.penY, this._pivotX = this.penX = +x, this._pivotY = this.penY = +y);
      return this;
    },
    curve: function curve(c1x, c1y, c2x, c2y, ex, ey) {
      var x = this.penX,
          y = this.penY;
      return this.curveTo(x + +c1x, y + +c1y, c2x == null ? null : x + +c2x, c2y == null ? null : y + +c2y, ex == null ? null : x + +ex, ey == null ? null : y + +ey);
    },
    curveTo: function curveTo(c1x, c1y, c2x, c2y, ex, ey) {
      var x = this.penX,
          y = this.penY;

      if (c2x == null) {
        c2x = +c1x;
        c2y = +c1y;
        c1x = x * 2 - (this._pivotX || 0);
        c1y = y * 2 - (this._pivotY || 0);
      }

      if (ex == null) {
        this._pivotX = +c1x;
        this._pivotY = +c1y;
        ex = +c2x;
        ey = +c2y;
        c2x = (ex + +c1x * 2) / 3;
        c2y = (ey + +c1y * 2) / 3;
        c1x = (x + +c1x * 2) / 3;
        c1y = (y + +c1y * 2) / 3;
      } else {
        this._pivotX = +c2x;
        this._pivotY = +c2y;
      }

      if (this.penDownX == null) {
        this.penDownX = x;
        this.penDownY = y;
      }

      this.onBezierCurve(x, y, +c1x, +c1y, +c2x, +c2y, this.penX = +ex, this.penY = +ey);
      return this;
    },
    arc: function arc(x, y, rx, ry, outer, counterClockwise, rotation) {
      return this.arcTo(this.penX + +x, this.penY + +y, rx, ry, outer, counterClockwise, rotation);
    },
    arcTo: function arcTo(x, y, rx, ry, outer, counterClockwise, rotation) {
      ry = Math.abs(+ry || +rx || +y - this.penY);
      rx = Math.abs(+rx || +x - this.penX);
      if (!rx || !ry || x == this.penX && y == this.penY) return this.lineTo(x, y);
      var tX = this.penX,
          tY = this.penY,
          clockwise = !+counterClockwise,
          large = !!+outer;
      var rad = rotation ? rotation * Math.PI / 180 : 0,
          cos = Math.cos(rad),
          sin = Math.sin(rad);
      x -= tX;
      y -= tY;
      var cx = cos * x / 2 + sin * y / 2,
          cy = -sin * x / 2 + cos * y / 2,
          rxry = rx * rx * ry * ry,
          rycx = ry * ry * cx * cx,
          rxcy = rx * rx * cy * cy,
          a = rxry - rxcy - rycx;

      if (a < 0) {
        a = Math.sqrt(1 - a / rxry);
        rx *= a;
        ry *= a;
        cx = x / 2;
        cy = y / 2;
      } else {
        a = Math.sqrt(a / (rxcy + rycx));
        if (large == clockwise) a = -a;
        var cxd = -a * cy * rx / ry,
            cyd = a * cx * ry / rx;
        cx = cos * cxd - sin * cyd + x / 2;
        cy = sin * cxd + cos * cyd + y / 2;
      }

      var xx = cos / rx,
          yx = sin / rx,
          xy = -sin / ry,
          yy = cos / ry;
      var sa = Math.atan2(xy * -cx + yy * -cy, xx * -cx + yx * -cy),
          ea = Math.atan2(xy * (x - cx) + yy * (y - cy), xx * (x - cx) + yx * (y - cy));
      cx += tX;
      cy += tY;
      x += tX;
      y += tY;

      if (this.penDownX == null) {
        this.penDownX = this.penX;
        this.penDownY = this.penY;
      }

      this.onArc(tX, tY, this._pivotX = this.penX = x, this._pivotY = this.penY = y, cx, cy, rx, ry, sa, ea, !clockwise, rotation);
      return this;
    },
    counterArc: function counterArc(x, y, rx, ry, outer) {
      return this.arc(x, y, rx, ry, outer, true);
    },
    counterArcTo: function counterArcTo(x, y, rx, ry, outer) {
      return this.arcTo(x, y, rx, ry, outer, true);
    },
    close: function close() {
      if (this.penDownX != null) {
        this.onClose(this.penX, this.penY, this.penX = this.penDownX, this.penY = this.penDownY);
        this.penDownX = null;
      }

      return this;
    },
    onReset: function onReset() {},
    onMove: function onMove(sx, sy, ex, ey) {},
    onLine: function onLine(sx, sy, ex, ey) {
      this.onBezierCurve(sx, sy, sx, sy, ex, ey, ex, ey);
    },
    onBezierCurve: function onBezierCurve(sx, sy, c1x, c1y, c2x, c2y, ex, ey) {
      var gx = ex - sx,
          gy = ey - sy,
          g = gx * gx + gy * gy,
          v1,
          v2,
          cx,
          cy,
          u;
      cx = c1x - sx;
      cy = c1y - sy;
      u = cx * gx + cy * gy;

      if (u > g) {
        cx -= gx;
        cy -= gy;
      } else if (u > 0 && g != 0) {
        cx -= u / g * gx;
        cy -= u / g * gy;
      }

      v1 = cx * cx + cy * cy;
      cx = c2x - sx;
      cy = c2y - sy;
      u = cx * gx + cy * gy;

      if (u > g) {
        cx -= gx;
        cy -= gy;
      } else if (u > 0 && g != 0) {
        cx -= u / g * gx;
        cy -= u / g * gy;
      }

      v2 = cx * cx + cy * cy;

      if (v1 < 0.01 && v2 < 0.01) {
        this.onLine(sx, sy, ex, ey);
        return;
      }

      if (isNaN(v1) || isNaN(v2)) {
        throw new Error('Bad input');
      }

      var s1x = (c1x + c2x) * 0.5,
          s1y = (c1y + c2y) * 0.5,
          l1x = (c1x + sx) * 0.5,
          l1y = (c1y + sy) * 0.5,
          l2x = (l1x + s1x) * 0.5,
          l2y = (l1y + s1y) * 0.5,
          r2x = (ex + c2x) * 0.5,
          r2y = (ey + c2y) * 0.5,
          r1x = (r2x + s1x) * 0.5,
          r1y = (r2y + s1y) * 0.5,
          l2r1x = (l2x + r1x) * 0.5,
          l2r1y = (l2y + r1y) * 0.5;
      this.onBezierCurve(sx, sy, l1x, l1y, l2x, l2y, l2r1x, l2r1y);
      this.onBezierCurve(l2r1x, l2r1y, r1x, r1y, r2x, r2y, ex, ey);
    },
    onArc: function onArc(sx, sy, ex, ey, cx, cy, rx, ry, sa, ea, ccw, rotation) {
      var rad = rotation ? rotation * Math.PI / 180 : 0,
          cos = Math.cos(rad),
          sin = Math.sin(rad),
          xx = cos * rx,
          yx = -sin * ry,
          xy = sin * rx,
          yy = cos * ry;
      var arc = ea - sa;
      if (arc < 0 && !ccw) arc += Math.PI * 2;else if (arc > 0 && ccw) arc -= Math.PI * 2;
      var n = Math.ceil(Math.abs(arc / (Math.PI / 2))),
          step = arc / n,
          k = 1.3333333333333333 * Math.tan(step / 4);
      var x = Math.cos(sa),
          y = Math.sin(sa);

      for (var i = 0; i < n; i++) {
        var cp1x = x - k * y,
            cp1y = y + k * x;
        sa += step;
        x = Math.cos(sa);
        y = Math.sin(sa);
        var cp2x = x + k * y,
            cp2y = y - k * x;
        this.onBezierCurve(sx, sy, cx + xx * cp1x + yx * cp1y, cy + xy * cp1x + yy * cp1y, cx + xx * cp2x + yx * cp2y, cy + xy * cp2x + yy * cp2y, sx = cx + xx * x + yx * y, sy = cy + xy * x + yy * y);
      }
    },
    onClose: function onClose(sx, sy, ex, ey) {
      this.onLine(sx, sy, ex, ey);
    }
  });
},1670,[1668]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Surface = function (_React$Component) {
    (0, _inherits2.default)(Surface, _React$Component);

    var _super = _createSuper(Surface);

    function Surface() {
      (0, _classCallCheck2.default)(this, Surface);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(Surface, [{
      key: "getChildContext",
      value: function getChildContext() {
        return {
          isInSurface: true
        };
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            height = _this$props.height,
            width = _this$props.width;
        return React.createElement(_$$_REQUIRE(_dependencyMap[8]).NativeSurfaceView, {
          style: [this.props.style, {
            height: height,
            width: width
          }]
        }, this.props.children);
      }
    }]);
    return Surface;
  }(React.Component);

  exports.default = Surface;
  Surface.childContextTypes = {
    isInSurface: _propTypes.default.bool
  };
  Surface.defaultProps = {
    height: 0,
    width: 0
  };
},1671,[5,7,8,12,14,16,17,201,1672]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.NativeText = exports.NativeShape = exports.NativeGroup = exports.NativeSurfaceView = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var NativeSurfaceView = (0, _reactNative.requireNativeComponent)('ARTSurfaceView');
  exports.NativeSurfaceView = NativeSurfaceView;
  var NativeGroup = (0, _reactNative.requireNativeComponent)('ARTGroup');
  exports.NativeGroup = NativeGroup;
  var NativeShape = (0, _reactNative.requireNativeComponent)('ARTShape');
  exports.NativeShape = NativeShape;
  var NativeText = (0, _reactNative.requireNativeComponent)('ARTText');
  exports.NativeText = NativeText;
},1672,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Group = function (_React$Component) {
    (0, _inherits2.default)(Group, _React$Component);

    var _super = _createSuper(Group);

    function Group() {
      (0, _classCallCheck2.default)(this, Group);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(Group, [{
      key: "render",
      value: function render() {
        (0, _invariant.default)(this.context.isInSurface, 'ART: <Group /> must be a child of a <Surface />');
        return React.createElement(_$$_REQUIRE(_dependencyMap[9]).NativeGroup, {
          opacity: (0, _$$_REQUIRE(_dependencyMap[10]).extractOpacity)(this.props),
          transform: (0, _$$_REQUIRE(_dependencyMap[10]).extractTransform)(this.props),
          shadow: (0, _$$_REQUIRE(_dependencyMap[10]).extractShadow)(this.props)
        }, this.props.children);
      }
    }]);
    return Group;
  }(React.Component);

  exports.default = Group;
  Group.contextTypes = {
    isInSurface: _propTypes.default.bool.isRequired
  };
},1673,[5,7,8,12,14,16,17,201,36,1672,1674]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.childrenAsString = childrenAsString;
  exports.extractOpacity = extractOpacity;
  exports.extractTransform = extractTransform;
  exports.extractShadow = extractShadow;
  exports.extractColor = extractColor;
  exports.extractStrokeJoin = extractStrokeJoin;
  exports.extractStrokeCap = extractStrokeCap;
  exports.extractBrush = extractBrush;
  exports.extractAlignment = extractAlignment;
  exports.extractFontAndLines = extractFontAndLines;
  exports.insertColorStopsIntoArray = insertColorStopsIntoArray;
  exports.insertDoubleColorStopsIntoArray = insertDoubleColorStopsIntoArray;

  var _processColor = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _color = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _transform = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  function childrenAsString(children) {
    if (!children) {
      return '';
    }

    if (typeof children === 'string') {
      return children;
    }

    if (children.length) {
      return children.join('\n');
    }

    return '';
  }

  function extractOpacity(_ref) {
    var visible = _ref.visible,
        opacity = _ref.opacity;

    if (visible === false) {
      return 0;
    }

    if (opacity == null) {
      return 1;
    }

    return +opacity;
  }

  var pooledTransform = new _transform.default();

  function extractTransform(props) {
    var scaleX = props.scaleX != null ? props.scaleX : props.scale != null ? props.scale : 1;
    var scaleY = props.scaleY != null ? props.scaleY : props.scale != null ? props.scale : 1;
    pooledTransform.transformTo(1, 0, 0, 1, 0, 0).move(props.x || 0, props.y || 0).rotate(props.rotation || 0, props.originX, props.originY).scale(scaleX, scaleY);

    if (props.transform != null) {
      pooledTransform.transform(props.transform);
    }

    return [pooledTransform.xx, pooledTransform.yx, pooledTransform.xy, pooledTransform.yy, pooledTransform.x, pooledTransform.y];
  }

  function toHex(color) {
    var intValues = [color.red, color.green, color.blue];

    if (color.alpha < 1) {
      var position = _reactNative.Platform.OS === 'android' ? 0 : 3;
      intValues.splice(position, 0, Math.round(color.alpha * 255));
    }

    var hexValues = intValues.map(function (iv) {
      var sv = iv.toString(16);
      return sv.length === 1 ? '0' + sv : sv;
    });
    return '#' + hexValues.join('');
  }

  function extractShadow(props) {
    var _props$shadowOffset, _props$shadowOffset2;

    if (!props.shadowColor && !props.shadowOpacity && !props.shadowRadius && !props.shadowOffset) {
      return;
    }

    var opacity = props.shadowOpacity;

    if (opacity === null || opacity === undefined) {
      opacity = 1;
    }

    return [(0, _processColor.default)(props.shadowColor || 'black'), opacity, props.shadowRadius || 4, ((_props$shadowOffset = props.shadowOffset) == null ? undefined : _props$shadowOffset.x) || 0, ((_props$shadowOffset2 = props.shadowOffset) == null ? undefined : _props$shadowOffset2.y) || 0];
  }

  function extractColor(color) {
    if (color == null) {
      return null;
    }

    return toHex(new _color.default(color));
  }

  function extractStrokeJoin(strokeJoin) {
    switch (strokeJoin) {
      case 'miter':
        return 0;

      case 'bevel':
        return 2;

      default:
        return 1;
    }
  }

  function extractStrokeCap(strokeCap) {
    switch (strokeCap) {
      case 'butt':
        return 0;

      case 'square':
        return 2;

      default:
        return 1;
    }
  }

  var SOLID_COLOR = 0;
  var LINEAR_GRADIENT = 1;
  var RADIAL_GRADIENT = 2;
  var PATTERN = 3;

  function applyBoundingBoxToBrushData(brushData, props) {
    var type = brushData[0];
    var width = +props.width;
    var height = +props.height;

    if (type === LINEAR_GRADIENT) {
      brushData[1] *= width;
      brushData[2] *= height;
      brushData[3] *= width;
      brushData[4] *= height;
    } else if (type === RADIAL_GRADIENT) {
      brushData[1] *= width;
      brushData[2] *= height;
      brushData[3] *= width;
      brushData[4] *= height;
      brushData[5] *= width;
      brushData[6] *= height;
    } else if (type === PATTERN) {}
  }

  function extractBrush(colorOrBrush, props) {
    if (colorOrBrush == null) {
      return null;
    }

    if (colorOrBrush._brush) {
      if (colorOrBrush._bb) {
        applyBoundingBoxToBrushData(colorOrBrush._brush, props);
        colorOrBrush._bb = false;
      }

      return colorOrBrush._brush;
    }

    var c = new _color.default(colorOrBrush);
    return [SOLID_COLOR, c.red / 255, c.green / 255, c.blue / 255, c.alpha];
  }

  function extractAlignment(alignment) {
    switch (alignment) {
      case 'right':
        return 1;

      case 'center':
        return 2;

      default:
        return 0;
    }
  }

  var cachedFontObjectsFromString = {};
  var fontFamilyPrefix = /^[\s"']*/;
  var fontFamilySuffix = /[\s"']*$/;

  function extractSingleFontFamily(fontFamilyString) {
    return fontFamilyString.split(',')[0].replace(fontFamilyPrefix, '').replace(fontFamilySuffix, '');
  }

  function parseFontString(font) {
    if (cachedFontObjectsFromString.hasOwnProperty(font)) {
      return cachedFontObjectsFromString[font];
    }

    var regexp = /^\s*((?:(?:normal|bold|italic)\s+)*)(?:(\d+(?:\.\d+)?)[ptexm\%]*(?:\s*\/.*?)?\s+)?\s*\"?([^\"]*)/i;
    var match = regexp.exec(font);

    if (!match) {
      return null;
    }

    var fontFamily = extractSingleFontFamily(match[3]);
    var fontSize = +match[2] || 12;
    var isBold = /bold/.exec(match[1]);
    var isItalic = /italic/.exec(match[1]);
    cachedFontObjectsFromString[font] = {
      fontFamily: fontFamily,
      fontSize: fontSize,
      fontWeight: isBold ? 'bold' : 'normal',
      fontStyle: isItalic ? 'italic' : 'normal'
    };
    return cachedFontObjectsFromString[font];
  }

  function extractFont(font) {
    if (font == null) {
      return null;
    }

    if (typeof font === 'string') {
      return parseFontString(font);
    }

    var fontFamily = extractSingleFontFamily(font.fontFamily);
    var fontSize = +font.fontSize || 12;
    var fontWeight = font.fontWeight != null ? font.fontWeight.toString() : '400';
    return {
      fontFamily: fontFamily,
      fontSize: fontSize,
      fontWeight: fontWeight,
      fontStyle: font.fontStyle
    };
  }

  var newLine = /\n/g;

  function extractFontAndLines(font, text) {
    return {
      font: extractFont(font),
      lines: text.split(newLine)
    };
  }

  function insertColorIntoArray(color, targetArray, atIndex) {
    var c = new _color.default(color);
    targetArray[atIndex + 0] = c.red / 255;
    targetArray[atIndex + 1] = c.green / 255;
    targetArray[atIndex + 2] = c.blue / 255;
    targetArray[atIndex + 3] = c.alpha;
  }

  function insertColorsIntoArray(stops, targetArray, atIndex) {
    var i = 0;

    if ('length' in stops) {
      while (i < stops.length) {
        insertColorIntoArray(stops[i], targetArray, atIndex + i * 4);
        i++;
      }
    } else {
      for (var offset in stops) {
        insertColorIntoArray(stops[offset], targetArray, atIndex + i * 4);
        i++;
      }
    }

    return atIndex + i * 4;
  }

  function insertOffsetsIntoArray(stops, targetArray, atIndex, multi, reverse) {
    var offsetNumber;
    var i = 0;

    if ('length' in stops) {
      while (i < stops.length) {
        offsetNumber = i / (stops.length - 1) * multi;
        targetArray[atIndex + i] = reverse ? 1 - offsetNumber : offsetNumber;
        i++;
      }
    } else {
      for (var offsetString in stops) {
        offsetNumber = +offsetString * multi;
        targetArray[atIndex + i] = reverse ? 1 - offsetNumber : offsetNumber;
        i++;
      }
    }

    return atIndex + i;
  }

  function insertColorStopsIntoArray(stops, targetArray, atIndex) {
    var lastIndex = insertColorsIntoArray(stops, targetArray, atIndex);
    insertOffsetsIntoArray(stops, targetArray, lastIndex, 1, false);
  }

  function insertDoubleColorStopsIntoArray(stops, targetArray, atIndex) {
    var lastIndex = insertColorsIntoArray(stops, targetArray, atIndex);
    lastIndex = insertColorsIntoArray(stops, targetArray, lastIndex);
    lastIndex = insertOffsetsIntoArray(stops, targetArray, lastIndex, 0.5, false);
    insertOffsetsIntoArray(stops, targetArray, lastIndex, 0.5, true);
  }
},1674,[5,145,1675,1667,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var colors = {
    maroon: '#800000',
    red: '#ff0000',
    orange: '#ffA500',
    yellow: '#ffff00',
    olive: '#808000',
    purple: '#800080',
    fuchsia: "#ff00ff",
    white: '#ffffff',
    lime: '#00ff00',
    green: '#008000',
    navy: '#000080',
    blue: '#0000ff',
    aqua: '#00ffff',
    teal: '#008080',
    black: '#000000',
    silver: '#c0c0c0',
    gray: '#808080'
  };

  var map = function map(array, fn) {
    var results = [];

    for (var i = 0, l = array.length; i < l; i++) {
      results[i] = fn(array[i], i);
    }

    return results;
  };

  var Color = function Color(color, type) {
    if (color.isColor) {
      this.red = color.red;
      this.green = color.green;
      this.blue = color.blue;
      this.alpha = color.alpha;
    } else {
      var namedColor = colors[color];

      if (namedColor) {
        color = namedColor;
        type = 'hex';
      }

      switch (typeof color) {
        case 'string':
          if (!type) type = (type = color.match(/^rgb|^hsb|^hsl/)) ? type[0] : 'hex';
          break;

        case 'object':
          type = type || 'rgb';
          color = color.toString();
          break;

        case 'number':
          type = 'hex';
          color = color.toString(16);
          break;
      }

      color = Color['parse' + type.toUpperCase()](color);
      this.red = color[0];
      this.green = color[1];
      this.blue = color[2];
      this.alpha = color[3];
    }

    this.isColor = true;
  };

  var limit = function limit(number, min, max) {
    return Math.min(max, Math.max(min, number));
  };

  var listMatch = /([-.\d]+\%?)\s*,\s*([-.\d]+\%?)\s*,\s*([-.\d]+\%?)\s*,?\s*([-.\d]*\%?)/;
  var hexMatch = /^#?([a-f0-9]{1,2})([a-f0-9]{1,2})([a-f0-9]{1,2})([a-f0-9]{0,2})$/i;

  Color.parseRGB = function (color) {
    return map(color.match(listMatch).slice(1), function (bit, i) {
      if (bit) bit = parseFloat(bit) * (bit[bit.length - 1] == '%' ? 2.55 : 1);
      return i < 3 ? Math.round((bit %= 256) < 0 ? bit + 256 : bit) : limit(bit === '' ? 1 : Number(bit), 0, 1);
    });
  };

  Color.parseHEX = function (color) {
    if (color.length == 1) color = color + color + color;
    return map(color.match(hexMatch).slice(1), function (bit, i) {
      if (i == 3) return bit ? parseInt(bit, 16) / 255 : 1;
      return parseInt(bit.length == 1 ? bit + bit : bit, 16);
    });
  };

  Color.parseHSB = function (color) {
    var hsb = map(color.match(listMatch).slice(1), function (bit, i) {
      if (bit) bit = parseFloat(bit);
      if (i === 0) return Math.round((bit %= 360) < 0 ? bit + 360 : bit);else if (i < 3) return limit(Math.round(bit), 0, 100);else return limit(bit === '' ? 1 : Number(bit), 0, 1);
    });
    var a = hsb[3];
    var br = Math.round(hsb[2] / 100 * 255);
    if (hsb[1] == 0) return [br, br, br, a];
    var hue = hsb[0];
    var f = hue % 60;
    var p = Math.round(hsb[2] * (100 - hsb[1]) / 10000 * 255);
    var q = Math.round(hsb[2] * (6000 - hsb[1] * f) / 600000 * 255);
    var t = Math.round(hsb[2] * (6000 - hsb[1] * (60 - f)) / 600000 * 255);

    switch (Math.floor(hue / 60)) {
      case 0:
        return [br, t, p, a];

      case 1:
        return [q, br, p, a];

      case 2:
        return [p, br, t, a];

      case 3:
        return [p, q, br, a];

      case 4:
        return [t, p, br, a];

      default:
        return [br, p, q, a];
    }
  };

  Color.parseHSL = function (color) {
    var hsb = map(color.match(listMatch).slice(1), function (bit, i) {
      if (bit) bit = parseFloat(bit);
      if (i === 0) return Math.round((bit %= 360) < 0 ? bit + 360 : bit);else if (i < 3) return limit(Math.round(bit), 0, 100);else return limit(bit === '' ? 1 : Number(bit), 0, 1);
    });
    var h = hsb[0] / 60;
    var s = hsb[1] / 100;
    var l = hsb[2] / 100;
    var a = hsb[3];
    var c = (1 - Math.abs(2 * l - 1)) * s;
    var x = c * (1 - Math.abs(h % 2 - 1));
    var m = l - c / 2;
    var p = Math.round((c + m) * 255);
    var q = Math.round((x + m) * 255);
    var t = Math.round(m * 255);

    switch (Math.floor(h)) {
      case 0:
        return [p, q, t, a];

      case 1:
        return [q, p, t, a];

      case 2:
        return [t, p, q, a];

      case 3:
        return [t, q, p, a];

      case 4:
        return [q, t, p, a];

      default:
        return [p, t, q, a];
    }
  };

  var toString = function toString(type, array) {
    if (array[3] != 1) type += 'a';else array.pop();
    return type + '(' + array.join(', ') + ')';
  };

  Color.prototype = {
    toHSB: function toHSB(array) {
      var red = this.red,
          green = this.green,
          blue = this.blue,
          alpha = this.alpha;
      var max = Math.max(red, green, blue),
          min = Math.min(red, green, blue),
          delta = max - min;
      var hue = 0,
          saturation = delta != 0 ? delta / max : 0,
          brightness = max / 255;

      if (saturation) {
        var rr = (max - red) / delta,
            gr = (max - green) / delta,
            br = (max - blue) / delta;
        hue = red == max ? br - gr : green == max ? 2 + rr - br : 4 + gr - rr;
        if ((hue /= 6) < 0) hue++;
      }

      var hsb = [Math.round(hue * 360), Math.round(saturation * 100), Math.round(brightness * 100), alpha];
      return array ? hsb : toString('hsb', hsb);
    },
    toHSL: function toHSL(array) {
      var red = this.red,
          green = this.green,
          blue = this.blue,
          alpha = this.alpha;
      var max = Math.max(red, green, blue),
          min = Math.min(red, green, blue),
          delta = max - min;
      var hue = 0,
          saturation = delta != 0 ? delta / (255 - Math.abs(max + min - 255)) : 0,
          lightness = (max + min) / 512;

      if (saturation) {
        var rr = (max - red) / delta,
            gr = (max - green) / delta,
            br = (max - blue) / delta;
        hue = red == max ? br - gr : green == max ? 2 + rr - br : 4 + gr - rr;
        if ((hue /= 6) < 0) hue++;
      }

      var hsl = [Math.round(hue * 360), Math.round(saturation * 100), Math.round(lightness * 100), alpha];
      return array ? hsl : toString('hsl', hsl);
    },
    toHEX: function toHEX(array) {
      var a = this.alpha;
      var alpha = (a = Math.round(a * 255).toString(16)).length == 1 ? a + a : a;
      var hex = map([this.red, this.green, this.blue], function (bit) {
        bit = bit.toString(16);
        return bit.length == 1 ? '0' + bit : bit;
      });
      return array ? hex.concat(alpha) : '#' + hex.join('') + (alpha == 'ff' ? '' : alpha);
    },
    toRGB: function toRGB(array) {
      var rgb = [this.red, this.green, this.blue, this.alpha];
      return array ? rgb : toString('rgb', rgb);
    }
  };
  Color.prototype.toString = Color.prototype.toRGB;

  Color.hex = function (hex) {
    return new Color(hex, 'hex');
  };

  if (this.hex == null) this.hex = Color.hex;

  Color.hsb = function (h, s, b, a) {
    return new Color([h || 0, s || 0, b || 0, a == null ? 1 : a], 'hsb');
  };

  if (this.hsb == null) this.hsb = Color.hsb;

  Color.hsl = function (h, s, l, a) {
    return new Color([h || 0, s || 0, l || 0, a == null ? 1 : a], 'hsl');
  };

  if (this.hsl == null) this.hsl = Color.hsl;

  Color.rgb = function (r, g, b, a) {
    return new Color([r || 0, g || 0, b || 0, a == null ? 1 : a], 'rgb');
  };

  if (this.rgb == null) this.rgb = Color.rgb;

  Color.detach = function (color) {
    color = new Color(color);
    return [Color.rgb(color.red, color.green, color.blue).toString(), color.alpha];
  };

  module.exports = Color;
},1675,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _ARTSerializablePath = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Shape = function (_React$Component) {
    (0, _inherits2.default)(Shape, _React$Component);

    var _super = _createSuper(Shape);

    function Shape() {
      (0, _classCallCheck2.default)(this, Shape);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(Shape, [{
      key: "render",
      value: function render() {
        var props = this.props;
        var path = props.d || (0, _$$_REQUIRE(_dependencyMap[8]).childrenAsString)(props.children);
        var d = (path instanceof _ARTSerializablePath.default ? path : new _ARTSerializablePath.default(path)).toJSON();
        return React.createElement(_$$_REQUIRE(_dependencyMap[9]).NativeShape, {
          fill: (0, _$$_REQUIRE(_dependencyMap[8]).extractBrush)(props.fill, props),
          opacity: (0, _$$_REQUIRE(_dependencyMap[8]).extractOpacity)(props),
          stroke: (0, _$$_REQUIRE(_dependencyMap[8]).extractColor)(props.stroke),
          strokeCap: (0, _$$_REQUIRE(_dependencyMap[8]).extractStrokeCap)(props.strokeCap),
          strokeDash: props.strokeDash || null,
          strokeJoin: (0, _$$_REQUIRE(_dependencyMap[8]).extractStrokeJoin)(props.strokeJoin),
          strokeWidth: props.strokeWidth,
          transform: (0, _$$_REQUIRE(_dependencyMap[8]).extractTransform)(props),
          shadow: (0, _$$_REQUIRE(_dependencyMap[8]).extractShadow)(this.props),
          d: d
        });
      }
    }]);
    return Shape;
  }(React.Component);

  exports.default = Shape;
  Shape.defaultProps = {
    strokeWidth: 1,
    width: 0,
    height: 0
  };
},1676,[5,7,8,12,14,16,17,1669,1674,1672]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _ARTSerializablePath = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Text = function (_React$Component) {
    (0, _inherits2.default)(Text, _React$Component);

    var _super = _createSuper(Text);

    function Text() {
      (0, _classCallCheck2.default)(this, Text);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(Text, [{
      key: "render",
      value: function render() {
        var props = this.props;
        var path = props.path;
        var textPath = path ? (path instanceof _ARTSerializablePath.default ? path : new _ARTSerializablePath.default(path)).toJSON() : null;
        var textFrame = (0, _$$_REQUIRE(_dependencyMap[8]).extractFontAndLines)(props.font, (0, _$$_REQUIRE(_dependencyMap[8]).childrenAsString)(props.children));
        return React.createElement(_$$_REQUIRE(_dependencyMap[9]).NativeText, {
          fill: (0, _$$_REQUIRE(_dependencyMap[8]).extractBrush)(props.fill, props),
          opacity: (0, _$$_REQUIRE(_dependencyMap[8]).extractOpacity)(props),
          stroke: (0, _$$_REQUIRE(_dependencyMap[8]).extractColor)(props.stroke),
          strokeCap: (0, _$$_REQUIRE(_dependencyMap[8]).extractStrokeCap)(props.strokeCap),
          strokeDash: props.strokeDash || null,
          strokeJoin: (0, _$$_REQUIRE(_dependencyMap[8]).extractStrokeJoin)(props.strokeJoin),
          strokeWidth: props.strokeWidth,
          transform: (0, _$$_REQUIRE(_dependencyMap[8]).extractTransform)(props),
          alignment: (0, _$$_REQUIRE(_dependencyMap[8]).extractAlignment)(props.alignment),
          shadow: (0, _$$_REQUIRE(_dependencyMap[8]).extractShadow)(this.props),
          frame: textFrame,
          path: textPath
        });
      }
    }]);
    return Text;
  }(React.Component);

  exports.default = Text;
  Text.defaultProps = {
    strokeWidth: 1,
    width: 0,
    height: 0
  };
},1677,[5,7,8,12,14,16,17,1669,1674,1672]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ClippingRectangle = function (_React$Component) {
    (0, _inherits2.default)(ClippingRectangle, _React$Component);

    var _super = _createSuper(ClippingRectangle);

    function ClippingRectangle() {
      (0, _classCallCheck2.default)(this, ClippingRectangle);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(ClippingRectangle, [{
      key: "render",
      value: function render() {
        var clipping = [this.props.x, this.props.y, this.props.width, this.props.height];
        var _this$props = this.props,
            x = _this$props.x,
            y = _this$props.y,
            propsExcludingXAndY = (0, _objectWithoutProperties2.default)(_this$props, ["x", "y"]);
        return React.createElement(_$$_REQUIRE(_dependencyMap[8]).NativeGroup, {
          clipping: clipping,
          opacity: (0, _$$_REQUIRE(_dependencyMap[9]).extractOpacity)(this.props),
          transform: (0, _$$_REQUIRE(_dependencyMap[9]).extractTransform)(propsExcludingXAndY),
          shadow: (0, _$$_REQUIRE(_dependencyMap[9]).extractShadow)(this.props)
        }, this.props.children);
      }
    }]);
    return ClippingRectangle;
  }(React.Component);

  exports.default = ClippingRectangle;
  ClippingRectangle.defaultProps = {
    x: 0,
    y: 0,
    width: 0,
    height: 0
  };
},1678,[5,108,7,8,12,14,16,17,1672,1674]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = LinearGradient;
  var LINEAR_GRADIENT = 1;

  function LinearGradient(stops, x1, y1, x2, y2) {
    var type = LINEAR_GRADIENT;

    if (arguments.length < 5) {
      var angle = (x1 == null ? 270 : x1) * Math.PI / 180;
      var x = Math.cos(angle);
      var y = -Math.sin(angle);
      var l = (Math.abs(x) + Math.abs(y)) / 2;
      x *= l;
      y *= l;
      x1 = 0.5 - x;
      x2 = 0.5 + x;
      y1 = 0.5 - y;
      y2 = 0.5 + y;
      this._bb = true;
    } else {
      this._bb = false;
    }

    var brushData = [type, +x1, +y1, +x2, +y2];
    (0, _$$_REQUIRE(_dependencyMap[0]).insertColorStopsIntoArray)(stops, brushData, 5);
    this._brush = brushData;
    return this;
  }
},1679,[1674]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = RadialGradient;
  var RADIAL_GRADIENT = 2;

  function RadialGradient(stops, fx, fy, rx, ry, cx, cy) {
    if (ry == null) {
      ry = rx;
    }

    if (cx == null) {
      cx = fx;
    }

    if (cy == null) {
      cy = fy;
    }

    if (fx == null) {
      fx = fy = rx = ry = cx = cy = 0.5;
      this._bb = true;
    } else {
      this._bb = false;
    }

    var brushData = [RADIAL_GRADIENT, +fx, +fy, +rx * 2, +ry * 2, +cx, +cy];
    (0, _$$_REQUIRE(_dependencyMap[0]).insertDoubleColorStopsIntoArray)(stops, brushData, 7);
    this._brush = brushData;
    return this;
  }
},1680,[1674]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = Pattern;
  var PATTERN = 3;

  function Pattern(url, width, height, left, top) {
    return {
      _brush: [PATTERN, url, +left || 0, +top || 0, +width, +height]
    };
  }
},1681,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = withAnimation;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  function withAnimation(WrappedComponent, indeterminateProgress) {
    var _class;

    var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';
    return _class = function (_Component) {
      (0, _inherits2.default)(AnimatedComponent, _Component);

      var _super = _createSuper(AnimatedComponent);

      function AnimatedComponent(props) {
        var _this;

        (0, _classCallCheck2.default)(this, AnimatedComponent);
        _this = _super.call(this, props);
        _this.progressValue = Math.min(Math.max(props.progress, 0), 1);
        _this.rotationValue = 0;
        _this.state = {
          progress: new _reactNative.Animated.Value(_this.progressValue),
          rotation: new _reactNative.Animated.Value(_this.rotationValue)
        };
        return _this;
      }

      (0, _createClass2.default)(AnimatedComponent, [{
        key: "componentDidMount",
        value: function componentDidMount() {
          var _this2 = this;

          this.state.progress.addListener(function (event) {
            _this2.progressValue = event.value;
          });
          this.state.rotation.addListener(function (event) {
            _this2.rotationValue = event.value;
          });

          if (this.props.indeterminate) {
            this.spin();

            if (indeterminateProgress) {
              _reactNative.Animated.spring(this.state.progress, {
                toValue: indeterminateProgress,
                useNativeDriver: false
              }).start();
            }
          }
        }
      }, {
        key: "componentDidUpdate",
        value: function componentDidUpdate(prevProps) {
          var _this3 = this;

          if (prevProps.indeterminate !== this.props.indeterminate) {
            if (this.props.indeterminate) {
              this.spin();
            } else {
              _reactNative.Animated.spring(this.state.rotation, {
                toValue: this.rotationValue > 0.5 ? 1 : 0,
                useNativeDriver: false
              }).start(function (endState) {
                if (endState.finished) {
                  _this3.state.rotation.setValue(0);
                }
              });
            }
          }

          var progress = this.props.indeterminate ? indeterminateProgress || 0 : Math.min(Math.max(this.props.progress, 0), 1);

          if (progress !== this.progressValue) {
            if (this.props.animated) {
              _reactNative.Animated.spring(this.state.progress, {
                toValue: progress,
                bounciness: 0,
                useNativeDriver: false
              }).start();
            } else {
              this.state.progress.setValue(progress);
            }
          }
        }
      }, {
        key: "componentWillUnmount",
        value: function componentWillUnmount() {
          this.state.progress.removeAllListeners();
          this.state.rotation.removeAllListeners();
        }
      }, {
        key: "spin",
        value: function spin() {
          var _this4 = this;

          this.state.rotation.setValue(0);

          _reactNative.Animated.timing(this.state.rotation, {
            toValue: this.props.direction === 'counter-clockwise' ? -1 : 1,
            duration: this.props.indeterminateAnimationDuration,
            easing: _reactNative.Easing.linear,
            isInteraction: false,
            useNativeDriver: false
          }).start(function (endState) {
            if (endState.finished) {
              _this4.spin();
            }
          });
        }
      }, {
        key: "render",
        value: function render() {
          return _react.default.createElement(WrappedComponent, (0, _extends2.default)({}, this.props, {
            progress: this.props.animated ? this.state.progress : this.props.progress,
            rotation: this.state.rotation
          }));
        }
      }]);
      return AnimatedComponent;
    }(_react.Component), _class.displayName = "withAnimation(" + wrappedComponentName + ")", _class.propTypes = {
      animated: _propTypes.default.bool,
      direction: _propTypes.default.oneOf(['clockwise', 'counter-clockwise']),
      indeterminate: _propTypes.default.bool,
      indeterminateAnimationDuration: _propTypes.default.number,
      progress: _propTypes.default.number
    }, _class.defaultProps = {
      animated: true,
      indeterminateAnimationDuration: 1000,
      indeterminate: false,
      progress: 0
    }, _class;
  }
},1682,[5,6,7,8,12,14,16,17,201,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _Arc = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedArc = _reactNative.Animated.createAnimatedComponent(_Arc.default);

  var MIN_ARC_ANGLE = 0.1;
  var MAX_ARC_ANGLE = 1.5 * Math.PI;

  var CircleSnail = function (_Component) {
    (0, _inherits2.default)(CircleSnail, _Component);

    var _super = _createSuper(CircleSnail);

    function CircleSnail(props) {
      var _this;

      (0, _classCallCheck2.default)(this, CircleSnail);
      _this = _super.call(this, props);
      _this.state = {
        startAngle: new _reactNative.Animated.Value(-0.1),
        endAngle: new _reactNative.Animated.Value(0),
        rotation: new _reactNative.Animated.Value(0),
        colorIndex: 0
      };
      return _this;
    }

    (0, _createClass2.default)(CircleSnail, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        if (this.props.animating) {
          this.animate();
          this.spin();
        }
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps) {
        if (prevProps.animating !== this.props.animating) {
          if (this.props.animating) {
            this.animate();
            this.spin();
          } else {
            this.stopAnimations();
          }
        }
      }
    }, {
      key: "animate",
      value: function animate() {
        var _this2 = this;

        var iteration = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;

        _reactNative.Animated.sequence([_reactNative.Animated.timing(this.state.startAngle, {
          toValue: -MAX_ARC_ANGLE * iteration - MIN_ARC_ANGLE,
          duration: this.props.duration || 1000,
          isInteraction: false,
          easing: _reactNative.Easing.inOut(_reactNative.Easing.quad),
          useNativeDriver: this.props.useNativeDriver
        }), _reactNative.Animated.timing(this.state.endAngle, {
          toValue: -MAX_ARC_ANGLE * iteration,
          duration: this.props.duration || 1000,
          isInteraction: false,
          easing: _reactNative.Easing.inOut(_reactNative.Easing.quad),
          useNativeDriver: this.props.useNativeDriver
        })]).start(function (endState) {
          if (endState.finished) {
            if (Array.isArray(_this2.props.color)) {
              _this2.setState({
                colorIndex: iteration % _this2.props.color.length
              });
            }

            _this2.animate(iteration + 1);
          }
        });
      }
    }, {
      key: "spin",
      value: function spin() {
        var _this3 = this;

        _reactNative.Animated.timing(this.state.rotation, {
          toValue: 1,
          duration: this.props.spinDuration || 5000,
          easing: _reactNative.Easing.linear,
          isInteraction: false,
          useNativeDriver: this.props.useNativeDriver
        }).start(function (endState) {
          if (endState.finished) {
            _this3.state.rotation.setValue(0);

            _this3.spin();
          }
        });
      }
    }, {
      key: "stopAnimations",
      value: function stopAnimations() {
        this.state.startAngle.stopAnimation();
        this.state.endAngle.stopAnimation();
        this.state.rotation.stopAnimation();
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            animating = _this$props.animating,
            children = _this$props.children,
            color = _this$props.color,
            direction = _this$props.direction,
            hidesWhenStopped = _this$props.hidesWhenStopped,
            size = _this$props.size,
            style = _this$props.style,
            thickness = _this$props.thickness,
            strokeCap = _this$props.strokeCap,
            restProps = (0, _objectWithoutProperties2.default)(_this$props, ["animating", "children", "color", "direction", "hidesWhenStopped", "size", "style", "thickness", "strokeCap"]);

        if (!animating && hidesWhenStopped) {
          return null;
        }

        var radius = size / 2 - thickness;
        var offset = {
          top: thickness,
          left: thickness
        };
        var directionFactor = direction === 'counter-clockwise' ? -1 : 1;
        return _react.default.createElement(_reactNative.Animated.View, (0, _extends2.default)({}, restProps, {
          style: [style, {
            backgroundColor: 'transparent',
            overflow: 'hidden',
            transform: [{
              rotate: this.state.rotation.interpolate({
                inputRange: [0, 1],
                outputRange: ['0deg', directionFactor * 360 + "deg"]
              })
            }]
          }]
        }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Surface, {
          width: size,
          height: size
        }, _react.default.createElement(AnimatedArc, {
          direction: direction === 'counter-clockwise' ? 'clockwise' : 'counter-clockwise',
          radius: radius,
          stroke: Array.isArray(color) ? color[this.state.colorIndex] : color,
          offset: offset,
          startAngle: this.state.startAngle,
          endAngle: this.state.endAngle,
          strokeCap: strokeCap,
          strokeWidth: thickness
        })), children);
      }
    }]);
    return CircleSnail;
  }(_react.Component);

  exports.default = CircleSnail;
  CircleSnail.propTypes = {
    animating: _propTypes.default.bool,
    color: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.string)]),
    children: _propTypes.default.node,
    direction: _propTypes.default.oneOf(['clockwise', 'counter-clockwise']),
    duration: _propTypes.default.number,
    hidesWhenStopped: _propTypes.default.bool,
    size: _propTypes.default.number,
    spinDuration: _propTypes.default.number,
    style: _propTypes.default.any,
    thickness: _propTypes.default.number,
    strokeCap: _propTypes.default.string,
    useNativeDriver: _propTypes.default.bool
  };
  CircleSnail.defaultProps = {
    animating: true,
    color: 'rgba(0, 122, 255, 1)',
    direction: 'counter-clockwise',
    hidesWhenStopped: false,
    size: 40,
    thickness: 3,
    strokeCap: 'round',
    useNativeDriver: false
  };
},1683,[5,6,108,7,8,12,14,16,17,201,28,1665,1666]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.ProgressPie = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _Circle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _Sector = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _withAnimation = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var CIRCLE = Math.PI * 2;

  var AnimatedSurface = _reactNative.Animated.createAnimatedComponent(_$$_REQUIRE(_dependencyMap[14]).Surface);

  var AnimatedSector = _reactNative.Animated.createAnimatedComponent(_Sector.default);

  var styles = _reactNative.StyleSheet.create({
    container: {
      backgroundColor: 'transparent',
      overflow: 'hidden'
    }
  });

  var ProgressPie = function (_Component) {
    (0, _inherits2.default)(ProgressPie, _Component);

    var _super = _createSuper(ProgressPie);

    function ProgressPie() {
      (0, _classCallCheck2.default)(this, ProgressPie);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(ProgressPie, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            animated = _this$props.animated,
            borderColor = _this$props.borderColor,
            borderWidth = _this$props.borderWidth,
            children = _this$props.children,
            color = _this$props.color,
            progress = _this$props.progress,
            rotation = _this$props.rotation,
            size = _this$props.size,
            style = _this$props.style,
            unfilledColor = _this$props.unfilledColor,
            restProps = (0, _objectWithoutProperties2.default)(_this$props, ["animated", "borderColor", "borderWidth", "children", "color", "progress", "rotation", "size", "style", "unfilledColor"]);
        var Surface = rotation ? AnimatedSurface : _$$_REQUIRE(_dependencyMap[14]).Surface;
        var Shape = animated ? AnimatedSector : _Sector.default;
        var angle = animated ? _reactNative.Animated.multiply(progress, CIRCLE) : progress * CIRCLE;
        var radius = size / 2 - borderWidth;
        var offset = {
          top: borderWidth,
          left: borderWidth
        };
        return _react.default.createElement(_reactNative.View, (0, _extends2.default)({
          style: [styles.container, style]
        }, restProps), _react.default.createElement(Surface, {
          width: size,
          height: size,
          style: rotation ? {
            transform: [{
              rotate: rotation.interpolate({
                inputRange: [0, 1],
                outputRange: ['0deg', '360deg']
              })
            }]
          } : undefined
        }, unfilledColor ? _react.default.createElement(_Circle.default, {
          radius: radius,
          offset: offset,
          fill: unfilledColor
        }) : false, _react.default.createElement(Shape, {
          radius: radius,
          angle: angle,
          offset: offset,
          fill: color
        }), borderWidth ? _react.default.createElement(_Circle.default, {
          radius: size / 2,
          stroke: borderColor || color,
          strokeWidth: borderWidth
        }) : false), children);
      }
    }]);
    return ProgressPie;
  }(_react.Component);

  exports.ProgressPie = ProgressPie;
  ProgressPie.propTypes = {
    animated: _propTypes.default.bool,
    borderColor: _propTypes.default.string,
    borderWidth: _propTypes.default.number,
    color: _propTypes.default.string,
    children: _propTypes.default.node,
    progress: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.instanceOf(_reactNative.Animated.Value)]),
    rotation: _propTypes.default.instanceOf(_reactNative.Animated.Value),
    size: _propTypes.default.number,
    style: _propTypes.default.any,
    unfilledColor: _propTypes.default.string
  };
  ProgressPie.defaultProps = {
    borderWidth: 1,
    color: 'rgba(0, 122, 255, 1)',
    progress: 0,
    size: 40
  };

  var _default = (0, _withAnimation.default)(ProgressPie, 0.2);

  exports.default = _default;
},1684,[5,6,108,7,8,12,14,16,17,201,28,1685,1686,1682,1666]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  function makeCirclePath(x, y, radius, direction) {
    var arcMethod = direction === 'counter-clockwise' ? 'counterArc' : 'arc';
    return new (_$$_REQUIRE(_dependencyMap[10]).Path)().moveTo(x, y).move(radius, 0)[arcMethod](0, radius * 2, radius, radius)[arcMethod](0, radius * -2, radius, radius).close();
  }

  var Circle = function (_Component) {
    (0, _inherits2.default)(Circle, _Component);

    var _super = _createSuper(Circle);

    function Circle() {
      (0, _classCallCheck2.default)(this, Circle);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(Circle, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            radius = _this$props.radius,
            offset = _this$props.offset,
            strokeWidth = _this$props.strokeWidth,
            direction = _this$props.direction,
            restProps = (0, _objectWithoutProperties2.default)(_this$props, ["radius", "offset", "strokeWidth", "direction"]);
        var path = makeCirclePath((offset.left || 0) + strokeWidth / 2, (offset.top || 0) + strokeWidth / 2, radius - strokeWidth / 2, direction);
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Shape, (0, _extends2.default)({
          d: path,
          strokeCap: "butt",
          strokeWidth: strokeWidth
        }, restProps));
      }
    }]);
    return Circle;
  }(_react.Component);

  exports.default = Circle;
  Circle.propTypes = {
    radius: _propTypes.default.number.isRequired,
    offset: _propTypes.default.shape({
      top: _propTypes.default.number,
      left: _propTypes.default.number
    }),
    strokeWidth: _propTypes.default.number,
    direction: _propTypes.default.oneOf(['clockwise', 'counter-clockwise'])
  };
  Circle.defaultProps = {
    offset: {
      top: 0,
      left: 0
    },
    strokeWidth: 0,
    direction: 'clockwise'
  };
},1685,[5,6,108,7,8,12,14,16,17,201,1666]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var CIRCLE = Math.PI * 2;

  function makeSectorPath(x, y, angle, radius) {
    if (angle >= CIRCLE) {
      return new (_$$_REQUIRE(_dependencyMap[10]).Path)().moveTo(x, y).move(radius, 0).arc(0, radius * 2, radius, radius).arc(0, radius * -2, radius, radius).close();
    }

    var startAngle = Math.PI / 2 - angle;
    var endAngle = Math.PI / 2;
    var arcFlag = angle > Math.PI ? 1 : 0;
    var centerX = x + radius;
    var centerY = y + radius;
    return "M" + centerX + " " + centerY + "\n          L" + (centerX + Math.cos(startAngle) * radius) + " " + (centerY - Math.sin(startAngle) * radius) + "\n          A" + radius + " " + radius + " 0 " + arcFlag + " 0 " + (centerX + Math.cos(endAngle) * radius) + " " + (centerY - Math.sin(endAngle) * radius) + "\n          L" + centerX + " " + centerY;
  }

  var Sector = function (_Component) {
    (0, _inherits2.default)(Sector, _Component);

    var _super = _createSuper(Sector);

    function Sector() {
      (0, _classCallCheck2.default)(this, Sector);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(Sector, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            angle = _this$props.angle,
            radius = _this$props.radius,
            offset = _this$props.offset,
            restProps = (0, _objectWithoutProperties2.default)(_this$props, ["angle", "radius", "offset"]);
        var path = makeSectorPath(offset.left || 0, offset.top || 0, angle, radius);
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Shape, (0, _extends2.default)({
          d: path
        }, restProps));
      }
    }]);
    return Sector;
  }(_react.Component);

  exports.default = Sector;
  Sector.propTypes = {
    angle: _propTypes.default.number.isRequired,
    radius: _propTypes.default.number.isRequired,
    offset: _propTypes.default.shape({
      top: _propTypes.default.number,
      left: _propTypes.default.number
    })
  };
  Sector.defaultProps = {
    offset: {
      top: 0,
      left: 0
    }
  };
},1686,[5,6,108,7,8,12,14,16,17,201,1666]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Navigation = undefined;
  Object.defineProperty(exports, "getVersion", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).getVersion;
    }
  });
  exports.jsInjectionOnActiveWebViews = jsInjectionOnActiveWebViews;
  Object.defineProperty(exports, "setFavoriteEdition", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).setFavoriteEdition;
    }
  });

  var _events = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var Navigation = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  exports.Navigation = Navigation;

  function _getRequireWildcardCache(nodeInterop) {
    if (typeof WeakMap !== "function") return null;
    var cacheBabelInterop = new WeakMap();
    var cacheNodeInterop = new WeakMap();
    return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
      return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
    })(nodeInterop);
  }

  function _interopRequireWildcard(obj, nodeInterop) {
    if (!nodeInterop && obj && obj.__esModule) {
      return obj;
    }

    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
      return {
        default: obj
      };
    }

    var cache = _getRequireWildcardCache(nodeInterop);

    if (cache && cache.has(obj)) {
      return cache.get(obj);
    }

    var newObj = {};
    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;

    for (var key in obj) {
      if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;

        if (desc && (desc.get || desc.set)) {
          Object.defineProperty(newObj, key, desc);
        } else {
          newObj[key] = obj[key];
        }
      }
    }

    newObj.default = obj;

    if (cache) {
      cache.set(obj, newObj);
    }

    return newObj;
  }

  function jsInjectionOnActiveWebViews(payload) {
    _$$_REQUIRE(_dependencyMap[4]).EventRegister.emit(_events.default.JS_INJECTION, payload);
  }
},1687,[754,5,771,1000,991]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "Edition", {
    enumerable: true,
    get: function get() {
      return _edition.default;
    }
  });
  Object.defineProperty(exports, "Issue", {
    enumerable: true,
    get: function get() {
      return _issue.default;
    }
  });
  Object.defineProperty(exports, "Message", {
    enumerable: true,
    get: function get() {
      return _message.default;
    }
  });
  Object.defineProperty(exports, "Publication", {
    enumerable: true,
    get: function get() {
      return _publication.default;
    }
  });
  Object.defineProperty(exports, "Route", {
    enumerable: true,
    get: function get() {
      return _route.default;
    }
  });
  Object.defineProperty(exports, "RouteAction", {
    enumerable: true,
    get: function get() {
      return _routeAction.default;
    }
  });
  Object.defineProperty(exports, "RouteEdition", {
    enumerable: true,
    get: function get() {
      return _routeEdition.default;
    }
  });
  Object.defineProperty(exports, "RouteEditionsDate", {
    enumerable: true,
    get: function get() {
      return _routeEditionsDate.default;
    }
  });
  Object.defineProperty(exports, "RouteUrl", {
    enumerable: true,
    get: function get() {
      return _routeUrl.default;
    }
  });
  Object.defineProperty(exports, "Special", {
    enumerable: true,
    get: function get() {
      return _special.default;
    }
  });
  Object.defineProperty(exports, "URI", {
    enumerable: true,
    get: function get() {
      return _uri.default;
    }
  });

  var _edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _issue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _message = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _publication = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _route = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _routeEdition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _routeEditionsDate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _routeUrl = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _routeAction = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _special = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _uri = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));
},1688,[5,1114,758,1231,1115,1116,1119,1120,1122,1117,1124,763]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var NewsmemorySDKBridge = _reactNative.NativeModules.NewsmemorySDKBridge;

  var NewsmemorySDK = function () {
    function NewsmemorySDK() {
      (0, _classCallCheck2.default)(this, NewsmemorySDK);
    }

    (0, _createClass2.default)(NewsmemorySDK, null, [{
      key: "isIOS",
      value: function isIOS() {
        return _reactNative.Platform.OS === "ios";
      }
    }, {
      key: "close",
      value: function close() {
        return _regenerator.default.async(function close$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!NewsmemorySDK.isIOS()) {
                  _context.next = 9;
                  break;
                }

                _context.prev = 1;
                _context.next = 4;
                return _regenerator.default.awrap(NewsmemorySDKBridge.close());

              case 4:
                _context.next = 9;
                break;

              case 6:
                _context.prev = 6;
                _context.t0 = _context["catch"](1);
                console.warn(_context.t0.message);

              case 9:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[1, 6]], Promise);
      }
    }, {
      key: "willOpenURL",
      value: function willOpenURL(url) {
        var result;
        return _regenerator.default.async(function willOpenURL$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!NewsmemorySDK.isIOS()) {
                  _context2.next = 10;
                  break;
                }

                _context2.prev = 1;
                _context2.next = 4;
                return _regenerator.default.awrap(NewsmemorySDKBridge.willOpenURL(url));

              case 4:
                result = _context2.sent;
                return _context2.abrupt("return", result);

              case 8:
                _context2.prev = 8;
                _context2.t0 = _context2["catch"](1);

              case 10:
                return _context2.abrupt("return", false);

              case 11:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, [[1, 8]], Promise);
      }
    }, {
      key: "onTrackAction",
      value: function onTrackAction(data) {
        return _regenerator.default.async(function onTrackAction$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                if (!NewsmemorySDK.isIOS()) {
                  _context3.next = 9;
                  break;
                }

                _context3.prev = 1;
                _context3.next = 4;
                return _regenerator.default.awrap(NewsmemorySDKBridge.onTrackAction(data));

              case 4:
                return _context3.abrupt("return", true);

              case 7:
                _context3.prev = 7;
                _context3.t0 = _context3["catch"](1);

              case 9:
                return _context3.abrupt("return", false);

              case 10:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, [[1, 7]], Promise);
      }
    }, {
      key: "onReload",
      value: function onReload() {
        return _regenerator.default.async(function onReload$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!NewsmemorySDK.isIOS()) {
                  _context4.next = 9;
                  break;
                }

                _context4.prev = 1;
                _context4.next = 4;
                return _regenerator.default.awrap(NewsmemorySDKBridge.onReload());

              case 4:
                return _context4.abrupt("return", true);

              case 7:
                _context4.prev = 7;
                _context4.t0 = _context4["catch"](1);

              case 9:
                return _context4.abrupt("return", false);

              case 10:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, [[1, 7]], Promise);
      }
    }]);
    return NewsmemorySDK;
  }();

  exports.default = NewsmemorySDK;
},1689,[5,80,7,8,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _RNDFPBanner = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _RNDFPInterstitial = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  module.exports = {
    Banner: _RNDFPBanner.default,
    Interstitial: _RNDFPInterstitial.default
  };
},1690,[5,1691,1692]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var DFPBanner = function (_React$Component) {
    (0, _inherits2.default)(DFPBanner, _React$Component);

    var _super = _createSuper(DFPBanner);

    function DFPBanner() {
      var _this;

      (0, _classCallCheck2.default)(this, DFPBanner);
      _this = _super.call(this);
      _this.onSizeChange = _this.onSizeChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onDidFailToReceiveAdWithError = _this.onDidFailToReceiveAdWithError.bind((0, _assertThisInitialized2.default)(_this));
      _this.onAdmobDispatchAppEvent = _this.onAdmobDispatchAppEvent.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        style: {}
      };
      return _this;
    }

    (0, _createClass2.default)(DFPBanner, [{
      key: "onSizeChange",
      value: function onSizeChange(_ref) {
        var nativeEvent = _ref.nativeEvent;
        var height = nativeEvent.height,
            width = nativeEvent.width;
        this.setState({
          style: {
            width: width,
            height: height
          }
        });
      }
    }, {
      key: "onDidFailToReceiveAdWithError",
      value: function onDidFailToReceiveAdWithError(_ref2) {
        var nativeEvent = _ref2.nativeEvent;
        var onDidFailToReceiveAdWithError = this.props.onDidFailToReceiveAdWithError;

        if (typeof onDidFailToReceiveAdWithError === "function") {
          onDidFailToReceiveAdWithError(nativeEvent.error);
        }
      }
    }, {
      key: "onAdmobDispatchAppEvent",
      value: function onAdmobDispatchAppEvent(event) {
        var onAdmobDispatchAppEvent = this.props.onAdmobDispatchAppEvent;

        if (typeof onAdmobDispatchAppEvent === "function") {
          onAdmobDispatchAppEvent(event);
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            adUnitID = _this$props.adUnitID,
            testDeviceID = _this$props.testDeviceID,
            dimensions = _this$props.dimensions,
            onAdViewDidReceiveAd = _this$props.onAdViewDidReceiveAd,
            onAdViewWillPresentScreen = _this$props.onAdViewWillPresentScreen,
            onAdViewWillDismissScreen = _this$props.onAdViewWillDismissScreen,
            onAdViewDidDismissScreen = _this$props.onAdViewDidDismissScreen,
            targeting = _this$props.targeting;
        var _this$props2 = this.props,
            bannerSize = _this$props2.bannerSize,
            adSizes = _this$props2.adSizes;
        var style = this.state.style;

        if (dimensions && dimensions.width && dimensions.height) {
          bannerSize = undefined;
          adSizes = undefined;
        }

        if (adSizes && adSizes.length > 0) {
          bannerSize = undefined;
        }

        if (!bannerSize && (!dimensions || !dimensions.width || !dimensions.height) && (!adSizes || !adSizes.length > 0)) {
          bannerSize = "smartBannerPortrait";
        }

        return _react.default.createElement(RNBanner, {
          style: style,
          onSizeChange: this.onSizeChange,
          onAdViewDidReceiveAd: onAdViewDidReceiveAd,
          onDidFailToReceiveAdWithError: this.onDidFailToReceiveAdWithError,
          onAdViewWillPresentScreen: onAdViewWillPresentScreen,
          onAdViewWillDismissScreen: onAdViewWillDismissScreen,
          onAdViewDidDismissScreen: onAdViewDidDismissScreen,
          onAdmobDispatchAppEvent: this.onAdmobDispatchAppEvent,
          testDeviceID: testDeviceID,
          adUnitID: adUnitID,
          adSizes: adSizes,
          dimensions: dimensions,
          bannerSize: bannerSize,
          targeting: targeting
        });
      }
    }]);
    return DFPBanner;
  }(_react.default.Component);

  exports.default = DFPBanner;
  DFPBanner.propTypes = {
    onDidFailToReceiveAdWithError: _propTypes.default.func,
    onAdmobDispatchAppEvent: _propTypes.default.func,
    onAdViewDidReceiveAd: _propTypes.default.func,
    onAdViewWillPresentScreen: _propTypes.default.func,
    onAdViewWillDismissScreen: _propTypes.default.func,
    onAdViewDidDismissScreen: _propTypes.default.func,
    bannerSize: _propTypes.default.string,
    dimensions: _propTypes.default.shape({
      height: _propTypes.default.number,
      width: _propTypes.default.number
    }),
    adSizes: _propTypes.default.array,
    adUnitID: _propTypes.default.string,
    testDeviceID: _propTypes.default.string,
    targeting: _propTypes.default.object
  };
  var RNBanner = (0, _reactNative.requireNativeComponent)("RNDFPBanner", DFPBanner);
},1691,[5,7,8,15,12,14,16,17,201,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.NativeModules.RNDFPInterstitial;
  exports.default = _default;
},1692,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[1])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[1])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[1])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[2])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[2])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[2])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[3])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[3])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[3])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[4])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[4])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[4])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[5])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[5])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[5])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[6])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[6])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[6])[key];
      }
    });
  });
},1693,[1694,1702,1707,1708,1709,1699,1710]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "isIosStorekit2", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).isIosStorekit2;
    }
  });
  exports.IapIosSk2 = exports.IapIos = exports.IapAndroid = exports.IapAmazon = exports.finishTransaction = exports.requestSubscription = exports.requestPurchase = exports.getAvailablePurchases = exports.getPurchaseHistory = exports.getSubscriptions = exports.getProducts = exports.flushFailedPurchasesCachedAsPendingAndroid = exports.endConnection = exports.initConnection = exports.setup = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _regenerator = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var IapAmazon = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  exports.IapAmazon = IapAmazon;

  var IapAndroid = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  exports.IapAndroid = IapAndroid;

  var IapIos = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  exports.IapIos = IapIos;

  var IapIosSk2 = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  exports.IapIosSk2 = IapIosSk2;

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var RNIapIos = _reactNative.NativeModules.RNIapIos,
      RNIapIosSk2 = _reactNative.NativeModules.RNIapIosSk2,
      RNIapModule = _reactNative.NativeModules.RNIapModule,
      RNIapAmazonModule = _reactNative.NativeModules.RNIapAmazonModule;

  var ANDROID_ITEM_TYPE_SUBSCRIPTION = _$$_REQUIRE(_dependencyMap[9]).ProductType.subs;

  var ANDROID_ITEM_TYPE_IAP = _$$_REQUIRE(_dependencyMap[9]).ProductType.inapp;

  var setup = function setup() {
    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
        _ref$storekitMode = _ref.storekitMode,
        storekitMode = _ref$storekitMode === undefined ? 'STOREKIT1_MODE' : _ref$storekitMode;

    switch (storekitMode) {
      case 'STOREKIT1_MODE':
        (0, _$$_REQUIRE(_dependencyMap[0]).storekit1Mode)();
        break;

      case 'STOREKIT2_MODE':
        (0, _$$_REQUIRE(_dependencyMap[0]).storekit2Mode)();
        break;

      case 'STOREKIT_HYBRID_MODE':
        (0, _$$_REQUIRE(_dependencyMap[0]).storekitHybridMode)();
        break;

      default:
        break;
    }
  };

  exports.setup = setup;

  var initConnection = function initConnection() {
    return (0, _$$_REQUIRE(_dependencyMap[0]).getNativeModule)().initConnection();
  };

  exports.initConnection = initConnection;

  var endConnection = function endConnection() {
    return (0, _$$_REQUIRE(_dependencyMap[0]).getNativeModule)().endConnection();
  };

  exports.endConnection = endConnection;

  var flushFailedPurchasesCachedAsPendingAndroid = function flushFailedPurchasesCachedAsPendingAndroid() {
    return (0, _$$_REQUIRE(_dependencyMap[0]).getAndroidModule)().flushFailedPurchasesCachedAsPending();
  };

  exports.flushFailedPurchasesCachedAsPendingAndroid = flushFailedPurchasesCachedAsPendingAndroid;

  var getProducts = function getProducts(_ref2) {
    var skus = _ref2.skus;
    return (_reactNative.Platform.select({
      ios: function ios() {
        var items;
        return _regenerator.default.async(function ios$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!(0, _$$_REQUIRE(_dependencyMap[0]).isIosStorekit2)()) {
                  _context.next = 6;
                  break;
                }

                _context.next = 3;
                return _regenerator.default.awrap(RNIapIosSk2.getItems(skus));

              case 3:
                items = _context.sent.map(_$$_REQUIRE(_dependencyMap[10]).productSk2Map);
                _context.next = 9;
                break;

              case 6:
                _context.next = 8;
                return _regenerator.default.awrap(RNIapIos.getItems(skus));

              case 8:
                items = _context.sent;

              case 9:
                return _context.abrupt("return", items.filter(function (item) {
                  return skus.includes(item.productId) && item.type === 'iap';
                }));

              case 10:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      },
      android: function android() {
        var products;
        return _regenerator.default.async(function android$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.next = 2;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[0]).getAndroidModule)().getItemsByType(ANDROID_ITEM_TYPE_IAP, skus));

              case 2:
                products = _context2.sent;
                return _context2.abrupt("return", (0, _$$_REQUIRE(_dependencyMap[0]).fillProductsWithAdditionalData)(products));

              case 4:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }) || function () {
      return Promise.reject(new Error('Unsupported Platform'));
    })();
  };

  exports.getProducts = getProducts;

  var getSubscriptions = function getSubscriptions(_ref3) {
    var skus = _ref3.skus;
    return (_reactNative.Platform.select({
      ios: function ios() {
        var items;
        return _regenerator.default.async(function ios$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                if (!(0, _$$_REQUIRE(_dependencyMap[0]).isIosStorekit2)()) {
                  _context3.next = 6;
                  break;
                }

                _context3.next = 3;
                return _regenerator.default.awrap(RNIapIosSk2.getItems(skus));

              case 3:
                items = _context3.sent.map(_$$_REQUIRE(_dependencyMap[10]).subscriptionSk2Map);
                _context3.next = 9;
                break;

              case 6:
                _context3.next = 8;
                return _regenerator.default.awrap(RNIapIos.getItems(skus));

              case 8:
                items = _context3.sent;

              case 9:
                items = items.filter(function (item) {
                  return skus.includes(item.productId) && item.type === 'subs';
                });
                return _context3.abrupt("return", addSubscriptionPlatform(items, _$$_REQUIRE(_dependencyMap[9]).SubscriptionPlatform.ios));

              case 11:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      },
      android: function android() {
        var androidPlatform, subscriptions, _castSubscriptions, castSubscriptions;

        return _regenerator.default.async(function android$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                androidPlatform = (0, _$$_REQUIRE(_dependencyMap[0]).getAndroidModuleType)();
                _context4.next = 3;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[0]).getAndroidModule)().getItemsByType(ANDROID_ITEM_TYPE_SUBSCRIPTION, skus));

              case 3:
                subscriptions = _context4.sent;
                _context4.t0 = androidPlatform;
                _context4.next = _context4.t0 === 'android' ? 7 : _context4.t0 === 'amazon' ? 9 : _context4.t0 === null ? 14 : 14;
                break;

              case 7:
                _castSubscriptions = subscriptions;
                return _context4.abrupt("return", addSubscriptionPlatform(_castSubscriptions, _$$_REQUIRE(_dependencyMap[9]).SubscriptionPlatform.android));

              case 9:
                castSubscriptions = subscriptions;
                _context4.next = 12;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[0]).fillProductsWithAdditionalData)(castSubscriptions));

              case 12:
                castSubscriptions = _context4.sent;
                return _context4.abrupt("return", addSubscriptionPlatform(castSubscriptions, _$$_REQUIRE(_dependencyMap[9]).SubscriptionPlatform.amazon));

              case 14:
                throw new Error("getSubscriptions received unknown platform " + androidPlatform + ". Verify the logic in getAndroidModuleType");

              case 15:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }) || function () {
      return Promise.reject(new Error('Unsupported Platform'));
    })();
  };

  exports.getSubscriptions = getSubscriptions;

  var addSubscriptionPlatform = function addSubscriptionPlatform(subscriptions, platform) {
    return subscriptions.map(function (subscription) {
      return (0, _extends2.default)({}, subscription, {
        platform: platform
      });
    });
  };

  var getPurchaseHistory = function getPurchaseHistory() {
    var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
        _ref4$alsoPublishToEv = _ref4.alsoPublishToEventListener,
        alsoPublishToEventListener = _ref4$alsoPublishToEv === undefined ? false : _ref4$alsoPublishToEv,
        _ref4$automaticallyFi = _ref4.automaticallyFinishRestoredTransactions,
        automaticallyFinishRestoredTransactions = _ref4$automaticallyFi === undefined ? true : _ref4$automaticallyFi,
        _ref4$onlyIncludeActi = _ref4.onlyIncludeActiveItems,
        onlyIncludeActiveItems = _ref4$onlyIncludeActi === undefined ? false : _ref4$onlyIncludeActi;

    return (_reactNative.Platform.select({
      ios: function ios() {
        return _regenerator.default.async(function ios$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                if (!(0, _$$_REQUIRE(_dependencyMap[0]).isIosStorekit2)()) {
                  _context5.next = 8;
                  break;
                }

                _context5.t0 = Promise;
                _context5.next = 4;
                return _regenerator.default.awrap(RNIapIosSk2.getAvailableItems(alsoPublishToEventListener, onlyIncludeActiveItems));

              case 4:
                _context5.t1 = _context5.sent.map(_$$_REQUIRE(_dependencyMap[10]).transactionSk2Map);
                return _context5.abrupt("return", _context5.t0.resolve.call(_context5.t0, _context5.t1));

              case 8:
                return _context5.abrupt("return", RNIapIos.getAvailableItems(automaticallyFinishRestoredTransactions));

              case 9:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      },
      android: function android() {
        var products, subscriptions;
        return _regenerator.default.async(function android$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                if (!RNIapAmazonModule) {
                  _context6.next = 4;
                  break;
                }

                _context6.next = 3;
                return _regenerator.default.awrap(RNIapAmazonModule.getAvailableItems());

              case 3:
                return _context6.abrupt("return", _context6.sent);

              case 4:
                _context6.next = 6;
                return _regenerator.default.awrap(RNIapModule.getPurchaseHistoryByType(ANDROID_ITEM_TYPE_IAP));

              case 6:
                products = _context6.sent;
                _context6.next = 9;
                return _regenerator.default.awrap(RNIapModule.getPurchaseHistoryByType(ANDROID_ITEM_TYPE_SUBSCRIPTION));

              case 9:
                subscriptions = _context6.sent;
                return _context6.abrupt("return", products.concat(subscriptions));

              case 11:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }) || function () {
      return Promise.resolve([]);
    })();
  };

  exports.getPurchaseHistory = getPurchaseHistory;

  var getAvailablePurchases = function getAvailablePurchases() {
    var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
        _ref5$alsoPublishToEv = _ref5.alsoPublishToEventListener,
        alsoPublishToEventListener = _ref5$alsoPublishToEv === undefined ? false : _ref5$alsoPublishToEv,
        _ref5$automaticallyFi = _ref5.automaticallyFinishRestoredTransactions,
        automaticallyFinishRestoredTransactions = _ref5$automaticallyFi === undefined ? false : _ref5$automaticallyFi,
        _ref5$onlyIncludeActi = _ref5.onlyIncludeActiveItems,
        onlyIncludeActiveItems = _ref5$onlyIncludeActi === undefined ? true : _ref5$onlyIncludeActi;

    return (_reactNative.Platform.select({
      ios: function ios() {
        return _regenerator.default.async(function ios$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                if (!(0, _$$_REQUIRE(_dependencyMap[0]).isIosStorekit2)()) {
                  _context7.next = 8;
                  break;
                }

                _context7.t0 = Promise;
                _context7.next = 4;
                return _regenerator.default.awrap(RNIapIosSk2.getAvailableItems(alsoPublishToEventListener, onlyIncludeActiveItems));

              case 4:
                _context7.t1 = _context7.sent.map(_$$_REQUIRE(_dependencyMap[10]).transactionSk2Map);
                return _context7.abrupt("return", _context7.t0.resolve.call(_context7.t0, _context7.t1));

              case 8:
                return _context7.abrupt("return", RNIapIos.getAvailableItems(automaticallyFinishRestoredTransactions));

              case 9:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, null, Promise);
      },
      android: function android() {
        var products, subscriptions;
        return _regenerator.default.async(function android$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                if (!RNIapAmazonModule) {
                  _context8.next = 4;
                  break;
                }

                _context8.next = 3;
                return _regenerator.default.awrap(RNIapAmazonModule.getAvailableItems());

              case 3:
                return _context8.abrupt("return", _context8.sent);

              case 4:
                _context8.next = 6;
                return _regenerator.default.awrap(RNIapModule.getAvailableItemsByType(ANDROID_ITEM_TYPE_IAP));

              case 6:
                products = _context8.sent;
                _context8.next = 9;
                return _regenerator.default.awrap(RNIapModule.getAvailableItemsByType(ANDROID_ITEM_TYPE_SUBSCRIPTION));

              case 9:
                subscriptions = _context8.sent;
                return _context8.abrupt("return", products.concat(subscriptions));

              case 11:
              case "end":
                return _context8.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }) || function () {
      return Promise.resolve([]);
    })();
  };

  exports.getAvailablePurchases = getAvailablePurchases;

  var requestPurchase = function requestPurchase(request) {
    return (_reactNative.Platform.select({
      ios: function ios() {
        var sku, _request$andDangerous, andDangerouslyFinishTransactionAutomaticallyIOS, appAccountToken, quantity, withOffer, offer;

        return _regenerator.default.async(function ios$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                if ('sku' in request) {
                  _context9.next = 2;
                  break;
                }

                throw new Error('sku is required for iOS purchase');

              case 2:
                sku = request.sku, _request$andDangerous = request.andDangerouslyFinishTransactionAutomaticallyIOS, andDangerouslyFinishTransactionAutomaticallyIOS = _request$andDangerous === undefined ? false : _request$andDangerous, appAccountToken = request.appAccountToken, quantity = request.quantity, withOffer = request.withOffer;

                if (andDangerouslyFinishTransactionAutomaticallyIOS) {
                  console.warn('You are dangerously allowing react-native-iap to finish your transaction automatically. You should set andDangerouslyFinishTransactionAutomatically to false when calling requestPurchase and call finishTransaction manually when you have delivered the purchased goods to the user. It defaults to true to provide backwards compatibility. Will default to false in version 4.0.0.');
                }

                if (!(0, _$$_REQUIRE(_dependencyMap[0]).isIosStorekit2)()) {
                  _context9.next = 9;
                  break;
                }

                offer = (0, _$$_REQUIRE(_dependencyMap[10]).offerSk2Map)(withOffer);
                return _context9.abrupt("return", RNIapIosSk2.buyProduct(sku, andDangerouslyFinishTransactionAutomaticallyIOS, appAccountToken, quantity != null ? quantity : -1, offer));

              case 9:
                return _context9.abrupt("return", RNIapIos.buyProduct(sku, andDangerouslyFinishTransactionAutomaticallyIOS, appAccountToken, quantity != null ? quantity : -1, (0, _$$_REQUIRE(_dependencyMap[11]).offerToRecord)(withOffer)));

              case 10:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, null, Promise);
      },
      android: function android() {
        var sku, skus, obfuscatedAccountIdAndroid, obfuscatedProfileIdAndroid, isOfferPersonalized;
        return _regenerator.default.async(function android$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                if (!_$$_REQUIRE(_dependencyMap[0]).isAmazon) {
                  _context10.next = 7;
                  break;
                }

                if ('sku' in request) {
                  _context10.next = 3;
                  break;
                }

                throw new Error('sku is required for Amazon purchase');

              case 3:
                sku = request.sku;
                return _context10.abrupt("return", RNIapAmazonModule.buyItemByType(sku));

              case 7:
                if (!(!('skus' in request) || !request.skus.length)) {
                  _context10.next = 9;
                  break;
                }

                throw new Error('skus is required for Android purchase');

              case 9:
                skus = request.skus, obfuscatedAccountIdAndroid = request.obfuscatedAccountIdAndroid, obfuscatedProfileIdAndroid = request.obfuscatedProfileIdAndroid, isOfferPersonalized = request.isOfferPersonalized;
                return _context10.abrupt("return", (0, _$$_REQUIRE(_dependencyMap[0]).getAndroidModule)().buyItemByType(ANDROID_ITEM_TYPE_IAP, skus, undefined, -1, obfuscatedAccountIdAndroid, obfuscatedProfileIdAndroid, [], isOfferPersonalized != null ? isOfferPersonalized : false));

              case 11:
              case "end":
                return _context10.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }) || Promise.resolve)();
  };

  exports.requestPurchase = requestPurchase;

  var requestSubscription = function requestSubscription(request) {
    return (_reactNative.Platform.select({
      ios: function ios() {
        var sku, _request$andDangerous2, andDangerouslyFinishTransactionAutomaticallyIOS, appAccountToken, quantity, withOffer, offer;

        return _regenerator.default.async(function ios$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                if ('sku' in request) {
                  _context11.next = 2;
                  break;
                }

                throw new Error('sku is required for iOS subscriptions');

              case 2:
                sku = request.sku, _request$andDangerous2 = request.andDangerouslyFinishTransactionAutomaticallyIOS, andDangerouslyFinishTransactionAutomaticallyIOS = _request$andDangerous2 === undefined ? false : _request$andDangerous2, appAccountToken = request.appAccountToken, quantity = request.quantity, withOffer = request.withOffer;

                if (andDangerouslyFinishTransactionAutomaticallyIOS) {
                  console.warn('You are dangerously allowing react-native-iap to finish your transaction automatically. You should set andDangerouslyFinishTransactionAutomatically to false when calling requestPurchase and call finishTransaction manually when you have delivered the purchased goods to the user. It defaults to true to provide backwards compatibility. Will default to false in version 4.0.0.');
                }

                if (!(0, _$$_REQUIRE(_dependencyMap[0]).isIosStorekit2)()) {
                  _context11.next = 9;
                  break;
                }

                offer = (0, _$$_REQUIRE(_dependencyMap[10]).offerSk2Map)(withOffer);
                return _context11.abrupt("return", RNIapIosSk2.buyProduct(sku, andDangerouslyFinishTransactionAutomaticallyIOS, appAccountToken, quantity != null ? quantity : -1, offer));

              case 9:
                return _context11.abrupt("return", RNIapIos.buyProduct(sku, andDangerouslyFinishTransactionAutomaticallyIOS, appAccountToken, quantity != null ? quantity : -1, (0, _$$_REQUIRE(_dependencyMap[11]).offerToRecord)(withOffer)));

              case 10:
              case "end":
                return _context11.stop();
            }
          }
        }, null, null, null, Promise);
      },
      android: function android() {
        var sku, subscriptionOffers, purchaseTokenAndroid, _request$prorationMod, prorationModeAndroid, obfuscatedAccountIdAndroid, obfuscatedProfileIdAndroid, isOfferPersonalized;

        return _regenerator.default.async(function android$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                if (!_$$_REQUIRE(_dependencyMap[0]).isAmazon) {
                  _context12.next = 7;
                  break;
                }

                if ('sku' in request) {
                  _context12.next = 3;
                  break;
                }

                throw new Error('sku is required for Amazon subscriptions');

              case 3:
                sku = request.sku;
                return _context12.abrupt("return", RNIapAmazonModule.buyItemByType(sku));

              case 7:
                if (!(!('subscriptionOffers' in request) || request.subscriptionOffers.length === 0)) {
                  _context12.next = 9;
                  break;
                }

                throw new Error('subscriptionOffers are required for Google Play subscriptions');

              case 9:
                subscriptionOffers = request.subscriptionOffers, purchaseTokenAndroid = request.purchaseTokenAndroid, _request$prorationMod = request.prorationModeAndroid, prorationModeAndroid = _request$prorationMod === undefined ? -1 : _request$prorationMod, obfuscatedAccountIdAndroid = request.obfuscatedAccountIdAndroid, obfuscatedProfileIdAndroid = request.obfuscatedProfileIdAndroid, isOfferPersonalized = request.isOfferPersonalized;
                return _context12.abrupt("return", RNIapModule.buyItemByType(ANDROID_ITEM_TYPE_SUBSCRIPTION, subscriptionOffers == null ? undefined : subscriptionOffers.map(function (so) {
                  return so.sku;
                }), purchaseTokenAndroid, prorationModeAndroid, obfuscatedAccountIdAndroid, obfuscatedProfileIdAndroid, subscriptionOffers == null ? undefined : subscriptionOffers.map(function (so) {
                  return so.offerToken;
                }), isOfferPersonalized != null ? isOfferPersonalized : false));

              case 11:
              case "end":
                return _context12.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }) || function () {
      return Promise.resolve(null);
    })();
  };

  exports.requestSubscription = requestSubscription;

  var finishTransaction = function finishTransaction(_ref6) {
    var purchase = _ref6.purchase,
        isConsumable = _ref6.isConsumable,
        developerPayloadAndroid = _ref6.developerPayloadAndroid;
    return (_reactNative.Platform.select({
      ios: function ios() {
        var transactionId;
        return _regenerator.default.async(function ios$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                transactionId = purchase.transactionId;

                if (transactionId) {
                  _context13.next = 3;
                  break;
                }

                return _context13.abrupt("return", Promise.reject(new Error('transactionId required to finish iOS transaction')));

              case 3:
                return _context13.abrupt("return", (0, _$$_REQUIRE(_dependencyMap[0]).getIosModule)().finishTransaction(transactionId));

              case 4:
              case "end":
                return _context13.stop();
            }
          }
        }, null, null, null, Promise);
      },
      android: function android() {
        return _regenerator.default.async(function android$(_context14) {
          while (1) {
            switch (_context14.prev = _context14.next) {
              case 0:
                if (!(purchase != null && purchase.purchaseToken)) {
                  _context14.next = 10;
                  break;
                }

                if (!isConsumable) {
                  _context14.next = 5;
                  break;
                }

                return _context14.abrupt("return", (0, _$$_REQUIRE(_dependencyMap[0]).getAndroidModule)().consumeProduct(purchase.purchaseToken, developerPayloadAndroid));

              case 5:
                if (!(purchase.userIdAmazon || !purchase.isAcknowledgedAndroid && purchase.purchaseStateAndroid === _$$_REQUIRE(_dependencyMap[9]).PurchaseStateAndroid.PURCHASED)) {
                  _context14.next = 9;
                  break;
                }

                return _context14.abrupt("return", (0, _$$_REQUIRE(_dependencyMap[0]).getAndroidModule)().acknowledgePurchase(purchase.purchaseToken, developerPayloadAndroid));

              case 9:
                return _context14.abrupt("return", Promise.reject(new Error('purchase is not suitable to be purchased')));

              case 10:
                return _context14.abrupt("return", Promise.reject(new Error('purchase is not suitable to be purchased')));

              case 11:
              case "end":
                return _context14.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }) || function () {
      return Promise.reject(new Error('Unsupported Platform'));
    })();
  };

  exports.finishTransaction = finishTransaction;
},1694,[1695,5,6,80,28,1700,1701,1703,1704,1702,1705,1706]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[1])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[1])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[1])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[2])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[2])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[2])[key];
      }
    });
  });
},1695,[1696,1697,1698]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.enhancedFetch = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var enhancedFetch = function _callee(url, init) {
    var _init$method;

    var response;
    return _regenerator.default.async(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            _context.next = 2;
            return _regenerator.default.awrap(fetch(url, (0, _extends2.default)({
              method: (_init$method = init == null ? undefined : init.method) != null ? _init$method : 'GET',
              headers: {
                Accept: 'application/json',
                'Content-Type': 'application/json'
              }
            }, init != null && init.body ? {
              body: JSON.stringify(init.body)
            } : {})));

          case 2:
            response = _context.sent;

            if (response.ok) {
              _context.next = 5;
              break;
            }

            throw (0, _extends2.default)(new Error(response.statusText), {
              statusCode: response.status
            });

          case 5:
            return _context.abrupt("return", response.json());

          case 6:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.enhancedFetch = enhancedFetch;
},1696,[5,80,6]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.fillProductsWithAdditionalData = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var RNIapAmazonModule = _reactNative.NativeModules.RNIapAmazonModule;

  var fillProductsWithAdditionalData = function _callee(items) {
    var user, currencies, currency;
    return _regenerator.default.async(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            if (!RNIapAmazonModule) {
              _context.next = 7;
              break;
            }

            _context.next = 3;
            return _regenerator.default.awrap(RNIapAmazonModule.getUser());

          case 3:
            user = _context.sent;
            currencies = {
              CA: 'CAD',
              ES: 'EUR',
              AU: 'AUD',
              DE: 'EUR',
              IN: 'INR',
              US: 'USD',
              JP: 'JPY',
              GB: 'GBP',
              IT: 'EUR',
              BR: 'BRL',
              FR: 'EUR'
            };
            currency = currencies[user.userMarketplaceAmazon];
            items.forEach(function (item) {
              if (currency) {
                item.currency = currency;
              }
            });

          case 7:
            return _context.abrupt("return", items);

          case 8:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.fillProductsWithAdditionalData = fillProductsWithAdditionalData;
},1697,[5,80,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getIosModule = exports.storekitHybridMode = exports.storekit1Mode = exports.storekit2Mode = exports.setIosNativeModule = exports.isIosStorekit2 = exports.isStorekit2Avaiable = exports.getNativeModule = exports.getAndroidModuleType = exports.getAndroidModule = exports.checkNativeAndroidAvailable = exports.setAndroidNativeModule = exports.isPlay = exports.isAmazon = exports.isAndroid = exports.isIos = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var RNIapIos = _reactNative.NativeModules.RNIapIos,
      RNIapIosSk2 = _reactNative.NativeModules.RNIapIosSk2,
      RNIapModule = _reactNative.NativeModules.RNIapModule,
      RNIapAmazonModule = _reactNative.NativeModules.RNIapAmazonModule;
  var isIos = _reactNative.Platform.OS === 'ios';
  exports.isIos = isIos;
  var isAndroid = _reactNative.Platform.OS === 'android';
  exports.isAndroid = isAndroid;
  var isAmazon = isAndroid && !!RNIapAmazonModule;
  exports.isAmazon = isAmazon;
  var isPlay = isAndroid && !!RNIapModule;
  exports.isPlay = isPlay;
  var androidNativeModule = RNIapModule;

  var setAndroidNativeModule = function setAndroidNativeModule(nativeModule) {
    androidNativeModule = nativeModule;
  };

  exports.setAndroidNativeModule = setAndroidNativeModule;

  var checkNativeAndroidAvailable = function checkNativeAndroidAvailable() {
    if (!RNIapModule && !RNIapAmazonModule) {
      throw new Error(_$$_REQUIRE(_dependencyMap[1]).ErrorCode.E_IAP_NOT_AVAILABLE);
    }
  };

  exports.checkNativeAndroidAvailable = checkNativeAndroidAvailable;

  var getAndroidModule = function getAndroidModule() {
    checkNativeAndroidAvailable();
    return androidNativeModule ? androidNativeModule : RNIapModule ? RNIapModule : RNIapAmazonModule;
  };

  exports.getAndroidModule = getAndroidModule;

  var getAndroidModuleType = function getAndroidModuleType() {
    var module = getAndroidModule();

    switch (module) {
      case RNIapModule:
        return 'android';

      case RNIapAmazonModule:
        return 'amazon';

      default:
        return null;
    }
  };

  exports.getAndroidModuleType = getAndroidModuleType;

  var getNativeModule = function getNativeModule() {
    return isAndroid ? getAndroidModule() : getIosModule();
  };

  exports.getNativeModule = getNativeModule;
  var iosNativeModule = RNIapIos;

  var isStorekit2Avaiable = function isStorekit2Avaiable() {
    return isIos && (RNIapIosSk2 == null ? undefined : RNIapIosSk2.isAvailable()) === 1;
  };

  exports.isStorekit2Avaiable = isStorekit2Avaiable;

  var isIosStorekit2 = function isIosStorekit2() {
    return isIos && !!iosNativeModule && iosNativeModule === RNIapIosSk2 && isStorekit2Avaiable();
  };

  exports.isIosStorekit2 = isIosStorekit2;

  var setIosNativeModule = function setIosNativeModule(nativeModule) {
    iosNativeModule = nativeModule;
  };

  exports.setIosNativeModule = setIosNativeModule;

  var storekit2Mode = function storekit2Mode() {
    iosNativeModule = RNIapIosSk2;

    if (isStorekit2Avaiable()) {
      RNIapIos.disable();
      return true;
    }

    if (isIos) {
      console.warn('Storekit 2 is not available on this device');
      return false;
    }

    return true;
  };

  exports.storekit2Mode = storekit2Mode;

  var storekit1Mode = function storekit1Mode() {
    iosNativeModule = RNIapIos;

    if (isStorekit2Avaiable()) {
      RNIapIosSk2.disable();
      return true;
    }

    return false;
  };

  exports.storekit1Mode = storekit1Mode;

  var storekitHybridMode = function storekitHybridMode() {
    if (isStorekit2Avaiable()) {
      iosNativeModule = RNIapIosSk2;
      return true;
    } else {
      iosNativeModule = RNIapIos;
      return true;
    }
  };

  exports.storekitHybridMode = storekitHybridMode;

  var checkNativeIOSAvailable = function checkNativeIOSAvailable() {
    if (!RNIapIos && !isStorekit2Avaiable()) {
      throw new Error(_$$_REQUIRE(_dependencyMap[1]).ErrorCode.E_IAP_NOT_AVAILABLE);
    }
  };

  var getIosModule = function getIosModule() {
    checkNativeIOSAvailable();
    return iosNativeModule ? iosNativeModule : RNIapIosSk2 ? RNIapIosSk2 : RNIapIos;
  };

  exports.getIosModule = getIosModule;
},1698,[28,1699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.PurchaseError = exports.ErrorCode = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var ErrorCode;
  exports.ErrorCode = ErrorCode;

  (function (ErrorCode) {
    ErrorCode["E_UNKNOWN"] = "E_UNKNOWN";
    ErrorCode["E_USER_CANCELLED"] = "E_USER_CANCELLED";
    ErrorCode["E_USER_ERROR"] = "E_USER_ERROR";
    ErrorCode["E_ITEM_UNAVAILABLE"] = "E_ITEM_UNAVAILABLE";
    ErrorCode["E_REMOTE_ERROR"] = "E_REMOTE_ERROR";
    ErrorCode["E_NETWORK_ERROR"] = "E_NETWORK_ERROR";
    ErrorCode["E_SERVICE_ERROR"] = "E_SERVICE_ERROR";
    ErrorCode["E_RECEIPT_FAILED"] = "E_RECEIPT_FAILED";
    ErrorCode["E_RECEIPT_FINISHED_FAILED"] = "E_RECEIPT_FINISHED_FAILED";
    ErrorCode["E_NOT_PREPARED"] = "E_NOT_PREPARED";
    ErrorCode["E_NOT_ENDED"] = "E_NOT_ENDED";
    ErrorCode["E_ALREADY_OWNED"] = "E_ALREADY_OWNED";
    ErrorCode["E_DEVELOPER_ERROR"] = "E_DEVELOPER_ERROR";
    ErrorCode["E_BILLING_RESPONSE_JSON_PARSE_ERROR"] = "E_BILLING_RESPONSE_JSON_PARSE_ERROR";
    ErrorCode["E_DEFERRED_PAYMENT"] = "E_DEFERRED_PAYMENT";
    ErrorCode["E_INTERRUPTED"] = "E_INTERRUPTED";
    ErrorCode["E_IAP_NOT_AVAILABLE"] = "E_IAP_NOT_AVAILABLE";
  })(ErrorCode || (exports.ErrorCode = ErrorCode = {}));

  var PurchaseError = function PurchaseError(name, message, responseCode, debugMessage, code, productId) {
    (0, _classCallCheck2.default)(this, PurchaseError);
    this.name = name;
    this.message = message;
    this.responseCode = responseCode;
    this.debugMessage = debugMessage;
    this.code = code;
    this.productId = productId;
    this.name = '[react-native-iap]: PurchaseError';
    this.message = message;
    this.responseCode = responseCode;
    this.debugMessage = debugMessage;
    this.code = code;
    this.productId = productId;
  };

  exports.PurchaseError = PurchaseError;
},1699,[5,7]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.verifyLicense = exports.validateReceiptAmazon = exports.AmazonModule = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var AmazonModule = _reactNative.NativeModules.RNIapAmazonModule;
  exports.AmazonModule = AmazonModule;

  var validateReceiptAmazon = function _callee(_ref) {
    var developerSecret, userId, receiptId, _ref$useSandbox, useSandbox, sandBoxUrl, url;

    return _regenerator.default.async(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            developerSecret = _ref.developerSecret, userId = _ref.userId, receiptId = _ref.receiptId, _ref$useSandbox = _ref.useSandbox, useSandbox = _ref$useSandbox === undefined ? true : _ref$useSandbox;
            sandBoxUrl = useSandbox ? 'sandbox/' : '';
            url = "https://appstore-sdk.amazon.com/" + sandBoxUrl + "version/1.0/verifyReceiptId/developer/" + developerSecret + "/user/" + userId + "/receiptId/" + receiptId;
            _context.next = 5;
            return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[3]).enhancedFetch)(url));

          case 5:
            return _context.abrupt("return", _context.sent);

          case 6:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.validateReceiptAmazon = validateReceiptAmazon;

  var verifyLicense = function _callee2() {
    return _regenerator.default.async(function _callee2$(_context2) {
      while (1) {
        switch (_context2.prev = _context2.next) {
          case 0:
            return _context2.abrupt("return", AmazonModule.verifyLicense());

          case 1:
          case "end":
            return _context2.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.verifyLicense = verifyLicense;
},1700,[5,80,28,1695]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.acknowledgePurchaseAndroid = exports.validateReceiptAndroid = exports.deepLinkToSubscriptionsAndroid = exports.getInstallSourceAndroid = exports.AndroidModule = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var RNIapModule = _reactNative.NativeModules.RNIapModule;
  var AndroidModule = _reactNative.NativeModules.RNIapModule;
  exports.AndroidModule = AndroidModule;

  var getInstallSourceAndroid = function getInstallSourceAndroid() {
    return RNIapModule ? _$$_REQUIRE(_dependencyMap[4]).InstallSourceAndroid.GOOGLE_PLAY : _$$_REQUIRE(_dependencyMap[4]).InstallSourceAndroid.AMAZON;
  };

  exports.getInstallSourceAndroid = getInstallSourceAndroid;

  var deepLinkToSubscriptionsAndroid = function _callee(_ref) {
    var sku;
    return _regenerator.default.async(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            sku = _ref.sku;
            (0, _$$_REQUIRE(_dependencyMap[5]).checkNativeAndroidAvailable)();
            _context.t0 = _reactNative.Linking;
            _context.next = 5;
            return _regenerator.default.awrap(RNIapModule.getPackageName());

          case 5:
            _context.t1 = _context.sent;
            _context.t2 = "https://play.google.com/store/account/subscriptions?package=" + _context.t1;
            _context.t3 = _context.t2 + "&sku=";
            _context.t4 = sku;
            _context.t5 = _context.t3 + _context.t4;
            return _context.abrupt("return", _context.t0.openURL.call(_context.t0, _context.t5));

          case 11:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.deepLinkToSubscriptionsAndroid = deepLinkToSubscriptionsAndroid;

  var validateReceiptAndroid = function _callee2(_ref2) {
    var packageName, productId, productToken, accessToken, isSub, type, url, response;
    return _regenerator.default.async(function _callee2$(_context2) {
      while (1) {
        switch (_context2.prev = _context2.next) {
          case 0:
            packageName = _ref2.packageName, productId = _ref2.productId, productToken = _ref2.productToken, accessToken = _ref2.accessToken, isSub = _ref2.isSub;
            type = isSub ? 'subscriptions' : 'products';
            url = 'https://androidpublisher.googleapis.com/androidpublisher/v3/applications' + ("/" + packageName + "/purchases/" + type + "/" + productId) + ("/tokens/" + productToken + "?access_token=" + accessToken);
            _context2.next = 5;
            return _regenerator.default.awrap(fetch(url, {
              method: 'GET',
              headers: {
                'Content-Type': 'application/json'
              }
            }));

          case 5:
            response = _context2.sent;

            if (response.ok) {
              _context2.next = 8;
              break;
            }

            throw (0, _extends2.default)(new Error(response.statusText), {
              statusCode: response.status
            });

          case 8:
            return _context2.abrupt("return", response.json());

          case 9:
          case "end":
            return _context2.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.validateReceiptAndroid = validateReceiptAndroid;

  var acknowledgePurchaseAndroid = function acknowledgePurchaseAndroid(_ref3) {
    var token = _ref3.token,
        developerPayload = _ref3.developerPayload;
    return (0, _$$_REQUIRE(_dependencyMap[5]).getAndroidModule)().acknowledgePurchase(token, developerPayload);
  };

  exports.acknowledgePurchaseAndroid = acknowledgePurchaseAndroid;
},1701,[5,6,80,28,1702,1695]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.SubscriptionPlatform = exports.ProductType = exports.InstallSourceAndroid = exports.PROMOTED_PRODUCT = exports.PurchaseStateAndroid = exports.ProrationModesAndroid = undefined;
  var ProrationModesAndroid;
  exports.ProrationModesAndroid = ProrationModesAndroid;

  (function (ProrationModesAndroid) {
    ProrationModesAndroid[ProrationModesAndroid["IMMEDIATE_WITH_TIME_PRORATION"] = 1] = "IMMEDIATE_WITH_TIME_PRORATION";
    ProrationModesAndroid[ProrationModesAndroid["IMMEDIATE_AND_CHARGE_PRORATED_PRICE"] = 2] = "IMMEDIATE_AND_CHARGE_PRORATED_PRICE";
    ProrationModesAndroid[ProrationModesAndroid["IMMEDIATE_WITHOUT_PRORATION"] = 3] = "IMMEDIATE_WITHOUT_PRORATION";
    ProrationModesAndroid[ProrationModesAndroid["DEFERRED"] = 4] = "DEFERRED";
    ProrationModesAndroid[ProrationModesAndroid["IMMEDIATE_AND_CHARGE_FULL_PRICE"] = 5] = "IMMEDIATE_AND_CHARGE_FULL_PRICE";
    ProrationModesAndroid[ProrationModesAndroid["UNKNOWN_SUBSCRIPTION_UPGRADE_DOWNGRADE_POLICY"] = 0] = "UNKNOWN_SUBSCRIPTION_UPGRADE_DOWNGRADE_POLICY";
  })(ProrationModesAndroid || (exports.ProrationModesAndroid = ProrationModesAndroid = {}));

  var PurchaseStateAndroid;
  exports.PurchaseStateAndroid = PurchaseStateAndroid;

  (function (PurchaseStateAndroid) {
    PurchaseStateAndroid[PurchaseStateAndroid["UNSPECIFIED_STATE"] = 0] = "UNSPECIFIED_STATE";
    PurchaseStateAndroid[PurchaseStateAndroid["PURCHASED"] = 1] = "PURCHASED";
    PurchaseStateAndroid[PurchaseStateAndroid["PENDING"] = 2] = "PENDING";
  })(PurchaseStateAndroid || (exports.PurchaseStateAndroid = PurchaseStateAndroid = {}));

  var PROMOTED_PRODUCT = 'iap-promoted-product';
  exports.PROMOTED_PRODUCT = PROMOTED_PRODUCT;
  var InstallSourceAndroid;
  exports.InstallSourceAndroid = InstallSourceAndroid;

  (function (InstallSourceAndroid) {
    InstallSourceAndroid[InstallSourceAndroid["NOT_SET"] = 0] = "NOT_SET";
    InstallSourceAndroid[InstallSourceAndroid["GOOGLE_PLAY"] = 1] = "GOOGLE_PLAY";
    InstallSourceAndroid[InstallSourceAndroid["AMAZON"] = 2] = "AMAZON";
  })(InstallSourceAndroid || (exports.InstallSourceAndroid = InstallSourceAndroid = {}));

  var ProductType;
  exports.ProductType = ProductType;

  (function (ProductType) {
    ProductType["subs"] = "subs";
    ProductType["sub"] = "sub";
    ProductType["inapp"] = "inapp";
    ProductType["iap"] = "iap";
  })(ProductType || (exports.ProductType = ProductType = {}));

  var SubscriptionPlatform;
  exports.SubscriptionPlatform = SubscriptionPlatform;

  (function (SubscriptionPlatform) {
    SubscriptionPlatform["android"] = "android";
    SubscriptionPlatform["amazon"] = "amazon";
    SubscriptionPlatform["ios"] = "ios";
  })(SubscriptionPlatform || (exports.SubscriptionPlatform = SubscriptionPlatform = {}));
},1702,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.clearProductsIOS = exports.clearTransactionIOS = exports.validateReceiptIos = exports.buyPromotedProductIOS = exports.getPromotedProductIOS = exports.presentCodeRedemptionSheetIOS = exports.getReceiptIOS = exports.getPendingPurchasesIOS = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var RNIapIos = _reactNative.NativeModules.RNIapIos;

  var getPendingPurchasesIOS = function _callee() {
    return _regenerator.default.async(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            return _context.abrupt("return", (0, _$$_REQUIRE(_dependencyMap[4]).getIosModule)().getPendingTransactions());

          case 1:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.getPendingPurchasesIOS = getPendingPurchasesIOS;

  var getReceiptIOS = function _callee2(_ref) {
    var forceRefresh;
    return _regenerator.default.async(function _callee2$(_context2) {
      while (1) {
        switch (_context2.prev = _context2.next) {
          case 0:
            forceRefresh = _ref.forceRefresh;

            if ((0, _$$_REQUIRE(_dependencyMap[4]).isIosStorekit2)()) {
              _context2.next = 5;
              break;
            }

            return _context2.abrupt("return", RNIapIos.requestReceipt(forceRefresh != null ? forceRefresh : false));

          case 5:
            return _context2.abrupt("return", Promise.reject('Only available on Sk1'));

          case 6:
          case "end":
            return _context2.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.getReceiptIOS = getReceiptIOS;

  var presentCodeRedemptionSheetIOS = function _callee3() {
    return _regenerator.default.async(function _callee3$(_context3) {
      while (1) {
        switch (_context3.prev = _context3.next) {
          case 0:
            return _context3.abrupt("return", (0, _$$_REQUIRE(_dependencyMap[4]).getIosModule)().presentCodeRedemptionSheet());

          case 1:
          case "end":
            return _context3.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.presentCodeRedemptionSheetIOS = presentCodeRedemptionSheetIOS;

  var getPromotedProductIOS = function getPromotedProductIOS() {
    if (!(0, _$$_REQUIRE(_dependencyMap[4]).isIosStorekit2)()) {
      return RNIapIos.promotedProduct();
    } else {
      return Promise.reject('Only available on Sk1');
    }
  };

  exports.getPromotedProductIOS = getPromotedProductIOS;

  var buyPromotedProductIOS = function buyPromotedProductIOS() {
    return (0, _$$_REQUIRE(_dependencyMap[4]).getIosModule)().buyPromotedProduct();
  };

  exports.buyPromotedProductIOS = buyPromotedProductIOS;

  var fetchJsonOrThrow = function _callee4(url, receiptBody) {
    var response;
    return _regenerator.default.async(function _callee4$(_context4) {
      while (1) {
        switch (_context4.prev = _context4.next) {
          case 0:
            _context4.next = 2;
            return _regenerator.default.awrap(fetch(url, {
              method: 'POST',
              headers: {
                Accept: 'application/json',
                'Content-Type': 'application/json'
              },
              body: JSON.stringify(receiptBody)
            }));

          case 2:
            response = _context4.sent;

            if (response.ok) {
              _context4.next = 5;
              break;
            }

            throw (0, _extends2.default)(new Error(response.statusText), {
              statusCode: response.status
            });

          case 5:
            return _context4.abrupt("return", response.json());

          case 6:
          case "end":
            return _context4.stop();
        }
      }
    }, null, null, null, Promise);
  };

  var TEST_RECEIPT = 21007;

  var requestAgnosticReceiptValidationIos = function _callee5(receiptBody) {
    var response, testResponse;
    return _regenerator.default.async(function _callee5$(_context5) {
      while (1) {
        switch (_context5.prev = _context5.next) {
          case 0:
            _context5.next = 2;
            return _regenerator.default.awrap(fetchJsonOrThrow('https://buy.itunes.apple.com/verifyReceipt', receiptBody));

          case 2:
            response = _context5.sent;

            if (!(response && response.status === TEST_RECEIPT)) {
              _context5.next = 8;
              break;
            }

            _context5.next = 6;
            return _regenerator.default.awrap(fetchJsonOrThrow('https://sandbox.itunes.apple.com/verifyReceipt', receiptBody));

          case 6:
            testResponse = _context5.sent;
            return _context5.abrupt("return", testResponse);

          case 8:
            return _context5.abrupt("return", response);

          case 9:
          case "end":
            return _context5.stop();
        }
      }
    }, null, null, null, Promise);
  };

  var validateReceiptIos = function _callee6(_ref2) {
    var receiptBody, isTest, url, response;
    return _regenerator.default.async(function _callee6$(_context6) {
      while (1) {
        switch (_context6.prev = _context6.next) {
          case 0:
            receiptBody = _ref2.receiptBody, isTest = _ref2.isTest;

            if (!(isTest == null)) {
              _context6.next = 5;
              break;
            }

            _context6.next = 4;
            return _regenerator.default.awrap(requestAgnosticReceiptValidationIos(receiptBody));

          case 4:
            return _context6.abrupt("return", _context6.sent);

          case 5:
            url = isTest ? 'https://sandbox.itunes.apple.com/verifyReceipt' : 'https://buy.itunes.apple.com/verifyReceipt';
            _context6.next = 8;
            return _regenerator.default.awrap(fetchJsonOrThrow(url, receiptBody));

          case 8:
            response = _context6.sent;
            return _context6.abrupt("return", response);

          case 10:
          case "end":
            return _context6.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.validateReceiptIos = validateReceiptIos;

  var clearTransactionIOS = function clearTransactionIOS() {
    return (0, _$$_REQUIRE(_dependencyMap[4]).getIosModule)().clearTransaction();
  };

  exports.clearTransactionIOS = clearTransactionIOS;

  var clearProductsIOS = function clearProductsIOS() {
    return (0, _$$_REQUIRE(_dependencyMap[4]).getIosModule)().clearProducts();
  };

  exports.clearProductsIOS = clearProductsIOS;
},1703,[5,6,80,28,1695]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.beginRefundRequest = exports.latestTransaction = exports.currentEntitlement = exports.subscriptionStatus = exports.isEligibleForIntroOffer = exports.sync = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var RNIapIosSk2 = _reactNative.NativeModules.RNIapIosSk2;

  var sync = function sync() {
    return RNIapIosSk2.sync();
  };

  exports.sync = sync;

  var isEligibleForIntroOffer = function isEligibleForIntroOffer(groupID) {
    return RNIapIosSk2.isEligibleForIntroOffer(groupID);
  };

  exports.isEligibleForIntroOffer = isEligibleForIntroOffer;

  var subscriptionStatus = function subscriptionStatus(sku) {
    return RNIapIosSk2.subscriptionStatus(sku);
  };

  exports.subscriptionStatus = subscriptionStatus;

  var currentEntitlement = function currentEntitlement(sku) {
    return RNIapIosSk2.currentEntitlement(sku);
  };

  exports.currentEntitlement = currentEntitlement;

  var latestTransaction = function latestTransaction(sku) {
    return RNIapIosSk2.latestTransaction(sku);
  };

  exports.latestTransaction = latestTransaction;

  var beginRefundRequest = function beginRefundRequest(sku) {
    return RNIapIosSk2.beginRefundRequest(sku);
  };

  exports.beginRefundRequest = beginRefundRequest;
},1704,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.offerSk2Map = exports.transactionSk2Map = exports.subscriptionSk2Map = exports.productSk2Map = undefined;

  var productSk2Map = function productSk2Map(_ref) {
    var id = _ref.id,
        description = _ref.description,
        displayName = _ref.displayName,
        price = _ref.price,
        displayPrice = _ref.displayPrice;
    var prod = {
      title: displayName,
      productId: String(id),
      description: description,
      type: 'iap',
      price: String(price),
      localizedPrice: displayPrice,
      currency: ''
    };
    return prod;
  };

  exports.productSk2Map = productSk2Map;

  var subscriptionSk2Map = function subscriptionSk2Map(_ref2) {
    var _subscription$subscri, _subscription$subscri2;

    var id = _ref2.id,
        description = _ref2.description,
        displayName = _ref2.displayName,
        price = _ref2.price,
        displayPrice = _ref2.displayPrice,
        subscription = _ref2.subscription;
    var prod = {
      platform: _$$_REQUIRE(_dependencyMap[0]).SubscriptionPlatform.ios,
      title: displayName,
      productId: String(id),
      description: description,
      type: 'subs',
      price: String(price),
      localizedPrice: displayPrice,
      currency: '',
      subscriptionPeriodNumberIOS: "" + (subscription == null ? undefined : (_subscription$subscri = subscription.subscriptionPeriod) == null ? undefined : _subscription$subscri.value),
      subscriptionPeriodUnitIOS: subscription == null ? undefined : (_subscription$subscri2 = subscription.subscriptionPeriod) == null ? undefined : _subscription$subscri2.unit.toUpperCase()
    };
    return prod;
  };

  exports.subscriptionSk2Map = subscriptionSk2Map;

  var transactionSk2Map = function transactionSk2Map(_ref3) {
    var id = _ref3.id,
        originalPurchaseDate = _ref3.originalPurchaseDate,
        productID = _ref3.productID,
        purchaseDate = _ref3.purchaseDate,
        purchasedQuantity = _ref3.purchasedQuantity,
        originalID = _ref3.originalID;
    var purchase = {
      productId: productID,
      transactionId: String(id),
      transactionDate: purchaseDate,
      transactionReceipt: '',
      purchaseToken: '',
      quantityIOS: purchasedQuantity,
      originalTransactionDateIOS: String(originalPurchaseDate),
      originalTransactionIdentifierIOS: originalID
    };
    return purchase;
  };

  exports.transactionSk2Map = transactionSk2Map;

  var offerSk2Map = function offerSk2Map(offer) {
    if (!offer) {
      return undefined;
    }

    return {
      offerID: offer.identifier,
      keyID: offer.keyIdentifier,
      nonce: offer.nonce,
      signature: offer.signature,
      timestamp: offer.timestamp.toString()
    };
  };

  exports.offerSk2Map = offerSk2Map;
},1705,[1702]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.offerToRecord = undefined;

  var offerToRecord = function offerToRecord(offer) {
    if (!offer) {
      return undefined;
    }

    return {
      identifier: offer.identifier,
      keyIdentifier: offer.keyIdentifier,
      nonce: offer.nonce,
      signature: offer.signature,
      timestamp: offer.timestamp.toString()
    };
  };

  exports.offerToRecord = offerToRecord;
},1706,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.transactionListener = exports.promotedProductListener = exports.purchaseErrorListener = exports.purchaseUpdatedListener = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var purchaseUpdatedListener = function purchaseUpdatedListener(listener) {
    var eventEmitter = new _reactNative.NativeEventEmitter((0, _$$_REQUIRE(_dependencyMap[1]).getNativeModule)());
    var proxyListener = (0, _$$_REQUIRE(_dependencyMap[2]).isIosStorekit2)() ? function (event) {
      listener((0, _$$_REQUIRE(_dependencyMap[3]).transactionSk2Map)(event));
    } : listener;
    var emitterSubscription = eventEmitter.addListener('purchase-updated', proxyListener);

    if (_$$_REQUIRE(_dependencyMap[1]).isAndroid) {
      (0, _$$_REQUIRE(_dependencyMap[1]).getAndroidModule)().startListening();
    }

    return emitterSubscription;
  };

  exports.purchaseUpdatedListener = purchaseUpdatedListener;

  var purchaseErrorListener = function purchaseErrorListener(listener) {
    var eventEmitter = new _reactNative.NativeEventEmitter((0, _$$_REQUIRE(_dependencyMap[1]).getNativeModule)());
    return eventEmitter.addListener('purchase-error', listener);
  };

  exports.purchaseErrorListener = purchaseErrorListener;

  var promotedProductListener = function promotedProductListener(listener) {
    if (_$$_REQUIRE(_dependencyMap[1]).isIos && !(0, _$$_REQUIRE(_dependencyMap[2]).isIosStorekit2)()) {
      var eventEmitter = new _reactNative.NativeEventEmitter((0, _$$_REQUIRE(_dependencyMap[1]).getIosModule)());
      return eventEmitter.addListener('iap-promoted-product', listener);
    }

    return null;
  };

  exports.promotedProductListener = promotedProductListener;

  var transactionListener = function transactionListener(listener) {
    if (_$$_REQUIRE(_dependencyMap[1]).isIos && (0, _$$_REQUIRE(_dependencyMap[2]).isIosStorekit2)()) {
      var eventEmitter = new _reactNative.NativeEventEmitter((0, _$$_REQUIRE(_dependencyMap[1]).getIosModule)());
      return eventEmitter.addListener('iap-transaction-updated', listener);
    }

    return null;
  };

  exports.transactionListener = transactionListener;
},1707,[28,1695,1694,1705]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.useIAP = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[2]);

  var useIAP = function useIAP() {
    var _useIAPContext = (0, _$$_REQUIRE(_dependencyMap[3]).useIAPContext)(),
        connected = _useIAPContext.connected,
        products = _useIAPContext.products,
        promotedProductsIOS = _useIAPContext.promotedProductsIOS,
        subscriptions = _useIAPContext.subscriptions,
        purchaseHistory = _useIAPContext.purchaseHistory,
        availablePurchases = _useIAPContext.availablePurchases,
        currentPurchase = _useIAPContext.currentPurchase,
        currentPurchaseError = _useIAPContext.currentPurchaseError,
        initConnectionError = _useIAPContext.initConnectionError,
        setProducts = _useIAPContext.setProducts,
        setSubscriptions = _useIAPContext.setSubscriptions,
        setAvailablePurchases = _useIAPContext.setAvailablePurchases,
        setPurchaseHistory = _useIAPContext.setPurchaseHistory,
        setCurrentPurchase = _useIAPContext.setCurrentPurchase,
        setCurrentPurchaseError = _useIAPContext.setCurrentPurchaseError;

    var getProducts = (0, _react.useCallback)(function _callee(_ref) {
      var skus;
      return _regenerator.default.async(function _callee$(_context) {
        while (1) {
          switch (_context.prev = _context.next) {
            case 0:
              skus = _ref.skus;
              _context.t0 = setProducts;
              _context.next = 4;
              return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[4]).getProducts)({
                skus: skus
              }));

            case 4:
              _context.t1 = _context.sent;
              (0, _context.t0)(_context.t1);

            case 6:
            case "end":
              return _context.stop();
          }
        }
      }, null, null, null, Promise);
    }, [setProducts]);
    var getSubscriptions = (0, _react.useCallback)(function _callee2(_ref2) {
      var skus;
      return _regenerator.default.async(function _callee2$(_context2) {
        while (1) {
          switch (_context2.prev = _context2.next) {
            case 0:
              skus = _ref2.skus;
              _context2.t0 = setSubscriptions;
              _context2.next = 4;
              return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[4]).getSubscriptions)({
                skus: skus
              }));

            case 4:
              _context2.t1 = _context2.sent;
              (0, _context2.t0)(_context2.t1);

            case 6:
            case "end":
              return _context2.stop();
          }
        }
      }, null, null, null, Promise);
    }, [setSubscriptions]);
    var getAvailablePurchases = (0, _react.useCallback)(function _callee3() {
      return _regenerator.default.async(function _callee3$(_context3) {
        while (1) {
          switch (_context3.prev = _context3.next) {
            case 0:
              _context3.t0 = setAvailablePurchases;
              _context3.next = 3;
              return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[4]).getAvailablePurchases)());

            case 3:
              _context3.t1 = _context3.sent;
              (0, _context3.t0)(_context3.t1);

            case 5:
            case "end":
              return _context3.stop();
          }
        }
      }, null, null, null, Promise);
    }, [setAvailablePurchases]);
    var getPurchaseHistory = (0, _react.useCallback)(function _callee4() {
      return _regenerator.default.async(function _callee4$(_context4) {
        while (1) {
          switch (_context4.prev = _context4.next) {
            case 0:
              _context4.t0 = setPurchaseHistory;
              _context4.next = 3;
              return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[4]).getPurchaseHistory)());

            case 3:
              _context4.t1 = _context4.sent;
              (0, _context4.t0)(_context4.t1);

            case 5:
            case "end":
              return _context4.stop();
          }
        }
      }, null, null, null, Promise);
    }, [setPurchaseHistory]);
    var finishTransaction = (0, _react.useCallback)(function _callee5(_ref3) {
      var purchase, isConsumable, developerPayloadAndroid;
      return _regenerator.default.async(function _callee5$(_context5) {
        while (1) {
          switch (_context5.prev = _context5.next) {
            case 0:
              purchase = _ref3.purchase, isConsumable = _ref3.isConsumable, developerPayloadAndroid = _ref3.developerPayloadAndroid;
              _context5.prev = 1;
              _context5.next = 4;
              return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[4]).finishTransaction)({
                purchase: purchase,
                isConsumable: isConsumable,
                developerPayloadAndroid: developerPayloadAndroid
              }));

            case 4:
              return _context5.abrupt("return", _context5.sent);

            case 7:
              _context5.prev = 7;
              _context5.t0 = _context5["catch"](1);
              throw _context5.t0;

            case 10:
              _context5.prev = 10;

              if (purchase.productId === (currentPurchase == null ? undefined : currentPurchase.productId)) {
                setCurrentPurchase(undefined);
              }

              if (purchase.productId === (currentPurchaseError == null ? undefined : currentPurchaseError.productId)) {
                setCurrentPurchaseError(undefined);
              }

              return _context5.finish(10);

            case 14:
            case "end":
              return _context5.stop();
          }
        }
      }, null, null, [[1, 7, 10, 14]], Promise);
    }, [currentPurchase == null ? undefined : currentPurchase.productId, currentPurchaseError == null ? undefined : currentPurchaseError.productId, setCurrentPurchase, setCurrentPurchaseError]);
    return {
      connected: connected,
      products: products,
      promotedProductsIOS: promotedProductsIOS,
      subscriptions: subscriptions,
      purchaseHistory: purchaseHistory,
      availablePurchases: availablePurchases,
      currentPurchase: currentPurchase,
      currentPurchaseError: currentPurchaseError,
      initConnectionError: initConnectionError,
      finishTransaction: finishTransaction,
      getProducts: getProducts,
      getSubscriptions: getSubscriptions,
      getAvailablePurchases: getAvailablePurchases,
      getPurchaseHistory: getPurchaseHistory,
      requestPurchase: _$$_REQUIRE(_dependencyMap[4]).requestPurchase,
      requestSubscription: _$$_REQUIRE(_dependencyMap[4]).requestSubscription
    };
  };

  exports.useIAP = useIAP;
},1708,[5,80,17,1709,1694]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.useIAPContext = useIAPContext;
  exports.withIAPContext = withIAPContext;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var IAPContext = _react.default.createContext(null);

  function useIAPContext() {
    var ctx = (0, _react.useContext)(IAPContext);

    if (!ctx) {
      throw new Error('You need wrap your app with withIAPContext HOC');
    }

    return ctx;
  }

  function withIAPContext(Component) {
    return function WrapperComponent(props) {
      var _useState = (0, _react.useState)(false),
          _useState2 = (0, _slicedToArray2.default)(_useState, 2),
          connected = _useState2[0],
          setConnected = _useState2[1];

      var _useState3 = (0, _react.useState)([]),
          _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
          products = _useState4[0],
          setProducts = _useState4[1];

      var _useState5 = (0, _react.useState)([]),
          _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
          promotedProductsIOS = _useState6[0],
          setPromotedProductsIOS = _useState6[1];

      var _useState7 = (0, _react.useState)([]),
          _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
          subscriptions = _useState8[0],
          setSubscriptions = _useState8[1];

      var _useState9 = (0, _react.useState)([]),
          _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
          purchaseHistory = _useState10[0],
          setPurchaseHistory = _useState10[1];

      var _useState11 = (0, _react.useState)([]),
          _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
          availablePurchases = _useState12[0],
          setAvailablePurchases = _useState12[1];

      var _useState13 = (0, _react.useState)(),
          _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
          currentPurchase = _useState14[0],
          setCurrentPurchase = _useState14[1];

      var _useState15 = (0, _react.useState)(),
          _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
          currentTransaction = _useState16[0],
          setCurrentTransaction = _useState16[1];

      var _useState17 = (0, _react.useState)(),
          _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
          currentPurchaseError = _useState18[0],
          setCurrentPurchaseError = _useState18[1];

      var _useState19 = (0, _react.useState)(),
          _useState20 = (0, _slicedToArray2.default)(_useState19, 2),
          initConnectionError = _useState20[0],
          setInitConnectionError = _useState20[1];

      var context = (0, _react.useMemo)(function () {
        return {
          connected: connected,
          products: products,
          subscriptions: subscriptions,
          promotedProductsIOS: promotedProductsIOS,
          purchaseHistory: purchaseHistory,
          availablePurchases: availablePurchases,
          currentPurchase: currentPurchase,
          currentTransaction: currentTransaction,
          currentPurchaseError: currentPurchaseError,
          initConnectionError: initConnectionError,
          setProducts: setProducts,
          setSubscriptions: setSubscriptions,
          setPurchaseHistory: setPurchaseHistory,
          setAvailablePurchases: setAvailablePurchases,
          setCurrentPurchase: setCurrentPurchase,
          setCurrentPurchaseError: setCurrentPurchaseError
        };
      }, [connected, products, subscriptions, promotedProductsIOS, purchaseHistory, availablePurchases, currentPurchase, currentTransaction, currentPurchaseError, initConnectionError, setProducts, setSubscriptions, setPurchaseHistory, setAvailablePurchases, setCurrentPurchase, setCurrentPurchaseError]);
      (0, _react.useEffect)(function () {
        (0, _$$_REQUIRE(_dependencyMap[5]).initConnection)().then(function (value) {
          setInitConnectionError(undefined);
          setConnected(value);
        }).catch(setInitConnectionError);
      }, []);
      (0, _react.useEffect)(function () {
        if (!connected) {
          return;
        }

        var purchaseUpdateSubscription = (0, _$$_REQUIRE(_dependencyMap[6]).purchaseUpdatedListener)(function _callee(purchase) {
          return _regenerator.default.async(function _callee$(_context) {
            while (1) {
              switch (_context.prev = _context.next) {
                case 0:
                  setCurrentPurchaseError(undefined);
                  setCurrentPurchase(purchase);

                case 2:
                case "end":
                  return _context.stop();
              }
            }
          }, null, null, null, Promise);
        });
        var transactionUpdateSubscription = (0, _$$_REQUIRE(_dependencyMap[6]).transactionListener)(function _callee2(transactionOrError) {
          return _regenerator.default.async(function _callee2$(_context2) {
            while (1) {
              switch (_context2.prev = _context2.next) {
                case 0:
                  setCurrentPurchaseError(transactionOrError == null ? undefined : transactionOrError.error);
                  setCurrentTransaction(transactionOrError == null ? undefined : transactionOrError.transaction);

                case 2:
                case "end":
                  return _context2.stop();
              }
            }
          }, null, null, null, Promise);
        });
        var purchaseErrorSubscription = (0, _$$_REQUIRE(_dependencyMap[6]).purchaseErrorListener)(function (error) {
          setCurrentPurchase(undefined);
          setCurrentPurchaseError(error);
        });
        var promotedProductSubscription = (0, _$$_REQUIRE(_dependencyMap[6]).promotedProductListener)(function _callee3() {
          var product;
          return _regenerator.default.async(function _callee3$(_context3) {
            while (1) {
              switch (_context3.prev = _context3.next) {
                case 0:
                  _context3.next = 2;
                  return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[5]).IapIos.getPromotedProductIOS());

                case 2:
                  product = _context3.sent;
                  setPromotedProductsIOS(function (prevProducts) {
                    return [].concat((0, _toConsumableArray2.default)(prevProducts), (0, _toConsumableArray2.default)(product ? [product] : []));
                  });

                case 4:
                case "end":
                  return _context3.stop();
              }
            }
          }, null, null, null, Promise);
        });
        return function () {
          purchaseUpdateSubscription.remove();
          purchaseErrorSubscription.remove();
          promotedProductSubscription == null ? undefined : promotedProductSubscription.remove();
          transactionUpdateSubscription == null ? undefined : transactionUpdateSubscription.remove();
        };
      }, [connected]);
      return _react.default.createElement(IAPContext.Provider, {
        value: context
      }, _react.default.createElement(Component, props));
    };
  }
},1709,[5,80,21,41,17,1694,1707]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[1])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[1])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[1])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[2])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[2])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[2])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[3])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[3])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[3])[key];
      }
    });
  });
},1710,[1700,1701,1703,1711]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {},1711,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.NativeModules.RNHTMLtoPDF;
  exports.default = _default;
},1712,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "Container", {
    enumerable: true,
    get: function get() {
      return _iubendaContainer.default;
    }
  });
  exports.default = undefined;

  var _iubenda = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _iubendaContainer = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _default = _iubenda.default;
  exports.default = _default;
},1713,[5,1714,1719]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _iubendaStorage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var Iubenda = function () {
    function Iubenda() {
      (0, _classCallCheck2.default)(this, Iubenda);
    }

    (0, _createClass2.default)(Iubenda, null, [{
      key: "init",
      value: function init(config) {
        var resetConsentDate, _await$IubendaStorage, timestamp, consentDate;

        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                Iubenda.config = config;
                resetConsentDate = config.resetConsentDate;
                _context.next = 4;
                return _regenerator.default.awrap(_iubendaStorage.default.init());

              case 4:
                _await$IubendaStorage = _context.sent;
                timestamp = _await$IubendaStorage.timestamp;

                if (!(resetConsentDate && timestamp)) {
                  _context.next = 11;
                  break;
                }

                consentDate = _$$_REQUIRE(_dependencyMap[8]).DateUtils.getDateString(timestamp, "YYYYMMDD");

                if (!(consentDate <= resetConsentDate)) {
                  _context.next = 11;
                  break;
                }

                _context.next = 11;
                return _regenerator.default.awrap(Iubenda.clearData());

              case 11:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "clearData",
      value: function clearData() {
        return _regenerator.default.async(function clearData$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", _iubendaStorage.default.clearAll());

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "onConsentChange",
      value: function onConsentChange(consent) {
        if (Iubenda.listeners.onConsentChange) {
          Iubenda.listeners.onConsentChange(consent);
        }
      }
    }, {
      key: "getConsentPromise",
      value: function getConsentPromise() {
        var consentChangePromise = new Promise(Iubenda.addConsentChangeListener);
        var dismissPromise = new Promise(Iubenda.addDismissListener);
        return Promise.race([consentChangePromise, dismissPromise]);
      }
    }, {
      key: "getConsent",
      value: function getConsent() {
        var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
            _ref$consentNotNeeded = _ref.consentNotNeeded,
            consentNotNeeded = _ref$consentNotNeeded === undefined ? false : _ref$consentNotNeeded,
            purposes = _ref.purposes,
            usprConsents = _ref.usprConsents,
            tcData = _ref.tcData,
            uspData = _ref.uspData;

        var perTCFPurposeConsents = {};
        var tcString;
        var uspString;

        if (tcData) {
          if (tcData.purpose) {
            perTCFPurposeConsents = tcData.purpose.consents;
          }

          tcString = tcData.tcString;
        }

        if (uspData) {
          uspString = uspData.uspString;
        }

        return {
          consentNotNeeded: consentNotNeeded,
          perPurposeConsents: purposes || {},
          perTCFPurposeConsents: perTCFPurposeConsents,
          usprConsents: usprConsents || {},
          consentStrings: {
            tc: tcString || "",
            usp: uspString || ""
          }
        };
      }
    }, {
      key: "askConsent",
      value: function askConsent() {
        var consent, preference, tcData, uspData;
        return _regenerator.default.async(function askConsent$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                consent = {};
                _context3.next = 3;
                return _regenerator.default.awrap(_iubendaStorage.default.getPreference());

              case 3:
                preference = _context3.sent;

                if (!(_$$_REQUIRE(_dependencyMap[8]).JSUtils.isEmpty(preference) || preference.consentNotNeeded === true)) {
                  _context3.next = 11;
                  break;
                }

                (0, _$$_REQUIRE(_dependencyMap[9]).setShowConsentUI)("ask");
                _context3.next = 8;
                return _regenerator.default.awrap(Iubenda.getConsentPromise());

              case 8:
                consent = _context3.sent;
                _context3.next = 18;
                break;

              case 11:
                _context3.next = 13;
                return _regenerator.default.awrap(_iubendaStorage.default.getTCData());

              case 13:
                tcData = _context3.sent;
                _context3.next = 16;
                return _regenerator.default.awrap(_iubendaStorage.default.getUSPData());

              case 16:
                uspData = _context3.sent;
                consent = (0, _extends2.default)({}, preference, {
                  tcData: tcData,
                  uspData: uspData
                });

              case 18:
                return _context3.abrupt("return", Iubenda.getConsent(consent));

              case 19:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "editPreferences",
      value: function editPreferences() {
        var preference, type, consent;
        return _regenerator.default.async(function editPreferences$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                _context4.next = 2;
                return _regenerator.default.awrap(_iubendaStorage.default.getPreference());

              case 2:
                preference = _context4.sent;
                type = _$$_REQUIRE(_dependencyMap[8]).JSUtils.isEmpty(preference) ? "ask" : "edit";
                (0, _$$_REQUIRE(_dependencyMap[9]).setShowConsentUI)(type);
                _context4.next = 7;
                return _regenerator.default.awrap(Iubenda.getConsentPromise());

              case 7:
                consent = _context4.sent;
                return _context4.abrupt("return", Iubenda.getConsent(consent));

              case 9:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "onDismiss",
      value: function onDismiss() {
        if (Iubenda.listeners.onDismiss) {
          Iubenda.listeners.onDismiss();
        }

        (0, _$$_REQUIRE(_dependencyMap[9]).setShowConsentUI)(undefined);
      }
    }, {
      key: "onPreferenceExpressed",
      value: function onPreferenceExpressed(preference, tcData, uspData) {
        return _regenerator.default.async(function onPreferenceExpressed$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                (0, _$$_REQUIRE(_dependencyMap[9]).setShowConsentUI)(undefined);
                _context5.prev = 1;
                _context5.next = 4;
                return _regenerator.default.awrap(_iubendaStorage.default.setPreference(preference));

              case 4:
                if (!(tcData && !_$$_REQUIRE(_dependencyMap[8]).JSUtils.isEmpty(tcData))) {
                  _context5.next = 9;
                  break;
                }

                _context5.next = 7;
                return _regenerator.default.awrap(_iubendaStorage.default.setTCData(tcData));

              case 7:
                _context5.next = 11;
                break;

              case 9:
                _context5.next = 11;
                return _regenerator.default.awrap(_iubendaStorage.default.clearTCData());

              case 11:
                if (!(uspData && !_$$_REQUIRE(_dependencyMap[8]).JSUtils.isEmpty(uspData))) {
                  _context5.next = 16;
                  break;
                }

                _context5.next = 14;
                return _regenerator.default.awrap(_iubendaStorage.default.setUSPData(uspData));

              case 14:
                _context5.next = 18;
                break;

              case 16:
                _context5.next = 18;
                return _regenerator.default.awrap(_iubendaStorage.default.clearUSData());

              case 18:
                Iubenda.onConsentChange((0, _extends2.default)({}, preference, {
                  tcData: tcData,
                  uspData: uspData
                }));
                _context5.next = 24;
                break;

              case 21:
                _context5.prev = 21;
                _context5.t0 = _context5["catch"](1);
                console.error(_context5.t0.message);

              case 24:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, [[1, 21]], Promise);
      }
    }, {
      key: "onPreferenceNotNeeded",
      value: function onPreferenceNotNeeded() {
        return _regenerator.default.async(function onPreferenceNotNeeded$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                return _context6.abrupt("return", Iubenda.onPreferenceExpressed({
                  consentNotNeeded: true,
                  timestamp: new Date().toISOString()
                }));

              case 1:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "onOptOut",
      value: function onOptOut() {
        return _regenerator.default.async(function onOptOut$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                _context7.next = 2;
                return _regenerator.default.awrap(_iubendaStorage.default.setCCPAOptOut(true));

              case 2:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "addSafeAreaToWebView",
      value: function addSafeAreaToWebView(insets) {
        var top = insets.top,
            bottom = insets.bottom;

        if (top || bottom) {
          return "(function() { \n            var sheet = document.createElement('style');\n            sheet.innerHTML = \"#iubenda-cs-banner {top: " + top + "px !important; height: auto !important;}\";\n            document.body.appendChild(sheet);\n        })();";
        }

        return "";
      }
    }, {
      key: "getConsentUI",
      value: function getConsentUI(type) {
        var insets = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
          top: 0,
          bottom: 0,
          left: 0,
          right: 0
        };
        var _Iubenda$config = Iubenda.config,
            baseUrl = _Iubenda$config.baseUrl,
            googleAds = _Iubenda$config.googleAds,
            enableTcf = _Iubenda$config.enableTcf,
            perPurposeConsent = _Iubenda$config.perPurposeConsent,
            rest = (0, _objectWithoutProperties2.default)(_Iubenda$config, ["baseUrl", "googleAds", "enableTcf", "perPurposeConsent"]);

        var uri = _$$_REQUIRE(_dependencyMap[8]).StringUtils.appendParams(baseUrl, (0, _extends2.default)({}, rest, {
          perPurposeConsent: perPurposeConsent ? 1 : 0,
          googleAds: googleAds ? 1 : 0,
          enableTcf: enableTcf ? 1 : 0,
          editPreferences: type && type === "edit" ? 1 : undefined
        }));

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).IubendaWebView, {
          source: {
            uri: uri
          },
          onClose: Iubenda.onDismiss,
          onOptOut: Iubenda.onOptOut,
          onPreferenceExpressed: Iubenda.onPreferenceExpressed,
          onPreferenceNotNeeded: Iubenda.onPreferenceNotNeeded,
          injectedJavaScript: Iubenda.addSafeAreaToWebView(insets)
        });
      }
    }, {
      key: "addListener",
      value: function addListener(event, callback) {
        var callbackFunction = function callbackFunction(params) {
          if (callback) {
            callback(params);
          }
        };

        Iubenda.listeners[event] = callbackFunction;
        return Iubenda.listeners[event];
      }
    }, {
      key: "addConsentChangeListener",
      value: function addConsentChangeListener(callback) {
        return Iubenda.addListener("onConsentChange", callback);
      }
    }, {
      key: "addDismissListener",
      value: function addDismissListener(callback) {
        return Iubenda.addListener("onDismiss", callback);
      }
    }]);
    return Iubenda;
  }();

  exports.default = Iubenda;
  Iubenda.listeners = {
    onConsentChange: undefined,
    onDismiss: undefined
  };
},1714,[5,80,108,6,8,7,17,1715,462,1717,1718]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _iubendaHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var keys = _iubendaHelper.default.IABTCF.keys;

  var IubendaStorage = function () {
    function IubendaStorage() {
      (0, _classCallCheck2.default)(this, IubendaStorage);
    }

    (0, _createClass2.default)(IubendaStorage, null, [{
      key: "setPreference",
      value: function setPreference(preference) {
        return _regenerator.default.async(function setPreference$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                IubendaStorage.preference = preference;
                _context.next = 3;
                return _regenerator.default.awrap(_iubendaHelper.default.setItem(_iubendaHelper.default.SP.keys.preference, preference));

              case 3:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getPreference",
      value: function getPreference() {
        var preference;
        return _regenerator.default.async(function getPreference$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!IubendaStorage.preference) {
                  _context2.next = 2;
                  break;
                }

                return _context2.abrupt("return", IubendaStorage.preference);

              case 2:
                _context2.prev = 2;
                _context2.t1 = JSON;
                _context2.next = 6;
                return _regenerator.default.awrap(_iubendaHelper.default.getItem(_iubendaHelper.default.SP.keys.preference));

              case 6:
                _context2.t2 = _context2.sent;
                _context2.t0 = _context2.t1.parse.call(_context2.t1, _context2.t2);

                if (_context2.t0) {
                  _context2.next = 10;
                  break;
                }

                _context2.t0 = {};

              case 10:
                preference = _context2.t0;
                _context2.next = 16;
                break;

              case 13:
                _context2.prev = 13;
                _context2.t3 = _context2["catch"](2);
                preference = {};

              case 16:
                IubendaStorage.preference = preference;
                return _context2.abrupt("return", preference);

              case 18:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, [[2, 13]], Promise);
      }
    }, {
      key: "setCCPAOptOut",
      value: function setCCPAOptOut(ccpaOptOut) {
        return _regenerator.default.async(function setCCPAOptOut$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                IubendaStorage.ccpaOptOut = ccpaOptOut;
                _context3.next = 3;
                return _regenerator.default.awrap(_iubendaHelper.default.setItem(_iubendaHelper.default.SP.keys.ccpaOptOut, ccpaOptOut ? "1" : "0"));

              case 3:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getCCPAOptOut",
      value: function getCCPAOptOut() {
        var _await$IubendaHelper$;

        var ccpaOptOut;
        return _regenerator.default.async(function getCCPAOptOut$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!(IubendaStorage.ccpaOptOut !== undefined)) {
                  _context4.next = 2;
                  break;
                }

                return _context4.abrupt("return", IubendaStorage.ccpaOptOut);

              case 2:
                _context4.next = 4;
                return _regenerator.default.awrap(_iubendaHelper.default.getItem(_iubendaHelper.default.SP.keys.ccpaOptOut));

              case 4:
                _context4.t0 = _await$IubendaHelper$ = _context4.sent;

                if (!(_context4.t0 != null)) {
                  _context4.next = 9;
                  break;
                }

                _context4.t1 = _await$IubendaHelper$;
                _context4.next = 10;
                break;

              case 9:
                _context4.t1 = "0";

              case 10:
                _context4.t2 = _context4.t1;
                ccpaOptOut = _context4.t2 === "1";
                IubendaStorage.ccpaOptOut = ccpaOptOut;
                return _context4.abrupt("return", ccpaOptOut);

              case 14:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "computeBinaryString",
      value: function computeBinaryString(obj, lastId) {
        var binaryString = "";

        for (var i = 1; i < lastId; i++) {
          binaryString += obj["" + i] ? 1 : 0;
        }

        return binaryString;
      }
    }, {
      key: "computeTypeString",
      value: function computeTypeString(obj, lastId) {
        var binaryString = "";

        for (var i = 1; i < lastId; i++) {
          var _obj;

          binaryString += (_obj = obj["" + i]) != null ? _obj : 0;
        }

        return binaryString;
      }
    }, {
      key: "setVendorData",
      value: function setVendorData(vendor, maxVendorId) {
        var consents, legitimateInterests, binaryString, _binaryString;

        return _regenerator.default.async(function setVendorData$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                consents = vendor.consents, legitimateInterests = vendor.legitimateInterests;

                if (!_$$_REQUIRE(_dependencyMap[5]).JSUtils.isEmpty(consents)) {
                  _context5.next = 6;
                  break;
                }

                _context5.next = 4;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.VendorConsents));

              case 4:
                _context5.next = 9;
                break;

              case 6:
                binaryString = IubendaStorage.computeBinaryString(consents, maxVendorId);
                _context5.next = 9;
                return _regenerator.default.awrap(_iubendaHelper.default.setStandardUserDefaultsValue(keys.VendorConsents, binaryString));

              case 9:
                if (!_$$_REQUIRE(_dependencyMap[5]).JSUtils.isEmpty(legitimateInterests)) {
                  _context5.next = 14;
                  break;
                }

                _context5.next = 12;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.VendorLegitimateInterests));

              case 12:
                _context5.next = 17;
                break;

              case 14:
                _binaryString = IubendaStorage.computeBinaryString(legitimateInterests, maxVendorId);
                _context5.next = 17;
                return _regenerator.default.awrap(_iubendaHelper.default.setStandardUserDefaultsValue(keys.VendorLegitimateInterests, _binaryString));

              case 17:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setPurposeData",
      value: function setPurposeData(purpose, maxPurposeId) {
        var consents, legitimateInterests, binaryString, _binaryString2;

        return _regenerator.default.async(function setPurposeData$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                consents = purpose.consents, legitimateInterests = purpose.legitimateInterests;

                if (!_$$_REQUIRE(_dependencyMap[5]).JSUtils.isEmpty(consents)) {
                  _context6.next = 6;
                  break;
                }

                _context6.next = 4;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.PurposeConsents));

              case 4:
                _context6.next = 9;
                break;

              case 6:
                binaryString = IubendaStorage.computeBinaryString(consents, maxPurposeId);
                _context6.next = 9;
                return _regenerator.default.awrap(_iubendaHelper.default.setStandardUserDefaultsValue(keys.PurposeConsents, binaryString));

              case 9:
                if (!_$$_REQUIRE(_dependencyMap[5]).JSUtils.isEmpty(legitimateInterests)) {
                  _context6.next = 14;
                  break;
                }

                _context6.next = 12;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.PurposeLegitimateInterests));

              case 12:
                _context6.next = 17;
                break;

              case 14:
                _binaryString2 = IubendaStorage.computeBinaryString(legitimateInterests, maxPurposeId);
                _context6.next = 17;
                return _regenerator.default.awrap(_iubendaHelper.default.setStandardUserDefaultsValue(keys.PurposeLegitimateInterests, _binaryString2));

              case 17:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getMaxId",
      value: function getMaxId(obj) {
        if (!_$$_REQUIRE(_dependencyMap[5]).JSUtils.isEmpty(obj)) {
          return Object.keys(obj).sort(function (a, b) {
            return parseInt(a, 10) - parseInt(b, 10);
          }).pop();
        }

        return undefined;
      }
    }, {
      key: "setPublisherCustomPurposeData",
      value: function setPublisherCustomPurposeData(customPurpose) {
        var consents, legitimateInterests, maxCustomPurposeId, binaryString, _maxCustomPurposeId, _binaryString3;

        return _regenerator.default.async(function setPublisherCustomPurposeData$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                consents = customPurpose.consents, legitimateInterests = customPurpose.legitimateInterests;

                if (!_$$_REQUIRE(_dependencyMap[5]).JSUtils.isEmpty(consents)) {
                  _context7.next = 6;
                  break;
                }

                _context7.next = 4;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.PublisherCustomPurposesConsents));

              case 4:
                _context7.next = 10;
                break;

              case 6:
                maxCustomPurposeId = parseInt(IubendaStorage.getMaxId(consents), 10);
                binaryString = IubendaStorage.computeBinaryString(consents, maxCustomPurposeId);
                _context7.next = 10;
                return _regenerator.default.awrap(_iubendaHelper.default.setStandardUserDefaultsValue(keys.PublisherCustomPurposesConsents, binaryString));

              case 10:
                if (!_$$_REQUIRE(_dependencyMap[5]).JSUtils.isEmpty(legitimateInterests)) {
                  _context7.next = 15;
                  break;
                }

                _context7.next = 13;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.PublisherCustomPurposesLegitimateInterests));

              case 13:
                _context7.next = 19;
                break;

              case 15:
                _maxCustomPurposeId = parseInt(IubendaStorage.getMaxId(legitimateInterests), 10);
                _binaryString3 = IubendaStorage.computeBinaryString(legitimateInterests, _maxCustomPurposeId);
                _context7.next = 19;
                return _regenerator.default.awrap(_iubendaHelper.default.setStandardUserDefaultsValue(keys.PublisherCustomPurposesLegitimateInterests, _binaryString3));

              case 19:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setPublisherData",
      value: function setPublisherData(publisher, maxPurposeId) {
        var consents, legitimateInterests, customPurpose, binaryString, _binaryString4;

        return _regenerator.default.async(function setPublisherData$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                consents = publisher.consents, legitimateInterests = publisher.legitimateInterests, customPurpose = publisher.customPurpose;

                if (!_$$_REQUIRE(_dependencyMap[5]).JSUtils.isEmpty(consents)) {
                  _context8.next = 6;
                  break;
                }

                _context8.next = 4;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.PublisherConsent));

              case 4:
                _context8.next = 9;
                break;

              case 6:
                binaryString = IubendaStorage.computeBinaryString(consents, maxPurposeId);
                _context8.next = 9;
                return _regenerator.default.awrap(_iubendaHelper.default.setStandardUserDefaultsValue(keys.PublisherConsent, binaryString));

              case 9:
                if (!_$$_REQUIRE(_dependencyMap[5]).JSUtils.isEmpty(legitimateInterests)) {
                  _context8.next = 14;
                  break;
                }

                _context8.next = 12;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.PublisherLegitimateInterests));

              case 12:
                _context8.next = 17;
                break;

              case 14:
                _binaryString4 = IubendaStorage.computeBinaryString(legitimateInterests, maxPurposeId);
                _context8.next = 17;
                return _regenerator.default.awrap(_iubendaHelper.default.setStandardUserDefaultsValue(keys.PublisherLegitimateInterests, _binaryString4));

              case 17:
                _context8.next = 19;
                return _regenerator.default.awrap(IubendaStorage.setPublisherCustomPurposeData(customPurpose));

              case 19:
              case "end":
                return _context8.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setRestrictionsData",
      value: function setRestrictionsData(restrictions, maxVendorId) {
        var promises;
        return _regenerator.default.async(function setRestrictionsData$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                if (!restrictions) {
                  _context9.next = 4;
                  break;
                }

                promises = Object.keys(restrictions).map(function (purposeId) {
                  var binaryString = IubendaStorage.computeTypeString(restrictions[purposeId], maxVendorId);
                  return _iubendaHelper.default.setStandardUserDefaultsValue(keys.PublisherRestrictions + purposeId, binaryString);
                });
                _context9.next = 4;
                return _regenerator.default.awrap(Promise.all(promises));

              case 4:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setTCData",
      value: function setTCData(tcData) {
        var cmpId, cmpVersion, gdprApplies, tcfPolicyVersion, publisherCC, purposeOneTreatment, useNonStandardStacks, tcString, vendor, maxVendorId, purpose, maxPurposeId, specialFeatureOptins, maxSpecialFeatureId, publisher, restrictions, addtlConsent;
        return _regenerator.default.async(function setTCData$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                IubendaStorage.tcData = tcData;
                _context10.next = 3;
                return _regenerator.default.awrap(_iubendaHelper.default.setItem(_iubendaHelper.default.SP.keys.tcData, tcData));

              case 3:
                cmpId = tcData.cmpId, cmpVersion = tcData.cmpVersion, gdprApplies = tcData.gdprApplies, tcfPolicyVersion = tcData.tcfPolicyVersion, publisherCC = tcData.publisherCC, purposeOneTreatment = tcData.purposeOneTreatment, useNonStandardStacks = tcData.useNonStandardStacks, tcString = tcData.tcString, vendor = tcData.vendor, maxVendorId = tcData.maxVendorId, purpose = tcData.purpose, maxPurposeId = tcData.maxPurposeId, specialFeatureOptins = tcData.specialFeatureOptins, maxSpecialFeatureId = tcData.maxSpecialFeatureId, publisher = tcData.publisher, restrictions = tcData.restrictions, addtlConsent = tcData.addtlConsent;
                _context10.next = 6;
                return _regenerator.default.awrap(_iubendaHelper.default.setStandardUserDefaultsValue(keys.CmpSdkID, cmpId));

              case 6:
                _context10.next = 8;
                return _regenerator.default.awrap(_iubendaHelper.default.setStandardUserDefaultsValue(keys.CmpSdkVersion, cmpVersion));

              case 8:
                _context10.next = 10;
                return _regenerator.default.awrap(_iubendaHelper.default.setStandardUserDefaultsValue(keys.gdprApplies, gdprApplies ? 1 : 0));

              case 10:
                _context10.next = 12;
                return _regenerator.default.awrap(_iubendaHelper.default.setStandardUserDefaultsValue(keys.PolicyVersion, tcfPolicyVersion));

              case 12:
                _context10.next = 14;
                return _regenerator.default.awrap(_iubendaHelper.default.setStandardUserDefaultsValue(keys.PublisherCC, publisherCC));

              case 14:
                _context10.next = 16;
                return _regenerator.default.awrap(_iubendaHelper.default.setStandardUserDefaultsValue(keys.PurposeOneTreatment, purposeOneTreatment ? 1 : 0));

              case 16:
                _context10.next = 18;
                return _regenerator.default.awrap(_iubendaHelper.default.setStandardUserDefaultsValue(keys.UseNonStandardStacks, useNonStandardStacks ? 1 : 0));

              case 18:
                _context10.next = 20;
                return _regenerator.default.awrap(_iubendaHelper.default.setStandardUserDefaultsValue(keys.TCString, tcString));

              case 20:
                _context10.next = 22;
                return _regenerator.default.awrap(IubendaStorage.setVendorData(vendor, maxVendorId));

              case 22:
                _context10.next = 24;
                return _regenerator.default.awrap(IubendaStorage.setPurposeData(purpose, maxPurposeId));

              case 24:
                _context10.next = 26;
                return _regenerator.default.awrap(_iubendaHelper.default.setStandardUserDefaultsValue(keys.SpecialFeaturesOptIns, IubendaStorage.computeBinaryString(specialFeatureOptins, maxSpecialFeatureId)));

              case 26:
                _context10.next = 28;
                return _regenerator.default.awrap(IubendaStorage.setPublisherData(publisher, maxPurposeId));

              case 28:
                _context10.next = 30;
                return _regenerator.default.awrap(IubendaStorage.setRestrictionsData(restrictions, maxVendorId));

              case 30:
                _context10.next = 32;
                return _regenerator.default.awrap(_iubendaHelper.default.setStandardUserDefaultsValue(keys.AddtlConsent, addtlConsent));

              case 32:
              case "end":
                return _context10.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getTCData",
      value: function getTCData() {
        var tcData;
        return _regenerator.default.async(function getTCData$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                if (!IubendaStorage.tcData) {
                  _context11.next = 2;
                  break;
                }

                return _context11.abrupt("return", IubendaStorage.tcData);

              case 2:
                _context11.prev = 2;
                _context11.t1 = JSON;
                _context11.next = 6;
                return _regenerator.default.awrap(_iubendaHelper.default.getItem(_iubendaHelper.default.SP.keys.tcData));

              case 6:
                _context11.t2 = _context11.sent;
                _context11.t0 = _context11.t1.parse.call(_context11.t1, _context11.t2);

                if (_context11.t0) {
                  _context11.next = 10;
                  break;
                }

                _context11.t0 = {};

              case 10:
                tcData = _context11.t0;
                _context11.next = 16;
                break;

              case 13:
                _context11.prev = 13;
                _context11.t3 = _context11["catch"](2);
                tcData = {};

              case 16:
                IubendaStorage.tcData = tcData;
                return _context11.abrupt("return", tcData);

              case 18:
              case "end":
                return _context11.stop();
            }
          }
        }, null, null, [[2, 13]], Promise);
      }
    }, {
      key: "clearTCData",
      value: function clearTCData() {
        var restrictions, tcData, promises;
        return _regenerator.default.async(function clearTCData$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                if (IubendaStorage.tcData) {
                  restrictions = IubendaStorage.tcData.restrictions;
                }

                IubendaStorage.tcData = undefined;
                tcData = _iubendaHelper.default.SP.keys.tcData;
                _context12.next = 5;
                return _regenerator.default.awrap(_iubendaHelper.default.clearItem(tcData));

              case 5:
                _context12.next = 7;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.AddtlConsent));

              case 7:
                _context12.next = 9;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.CmpSdkID));

              case 9:
                _context12.next = 11;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.CmpSdkVersion));

              case 11:
                _context12.next = 13;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.gdprApplies));

              case 13:
                _context12.next = 15;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.PolicyVersion));

              case 15:
                _context12.next = 17;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.PublisherCC));

              case 17:
                _context12.next = 19;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.PurposeOneTreatment));

              case 19:
                _context12.next = 21;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.UseNonStandardStacks));

              case 21:
                _context12.next = 23;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.TCString));

              case 23:
                _context12.next = 25;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.VendorConsents));

              case 25:
                _context12.next = 27;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.VendorLegitimateInterests));

              case 27:
                _context12.next = 29;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.PurposeConsents));

              case 29:
                _context12.next = 31;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.PurposeLegitimateInterests));

              case 31:
                _context12.next = 33;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.SpecialFeaturesOptIns));

              case 33:
                _context12.next = 35;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.PublisherConsent));

              case 35:
                _context12.next = 37;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.PublisherLegitimateInterests));

              case 37:
                _context12.next = 39;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.PublisherCustomPurposesConsents));

              case 39:
                _context12.next = 41;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(keys.PublisherCustomPurposesLegitimateInterests));

              case 41:
                if (!restrictions) {
                  _context12.next = 45;
                  break;
                }

                promises = Object.keys(restrictions).map(function (purposeId) {
                  return _iubendaHelper.default.clearStandardUserDefaultsItem(keys.PublisherRestrictions + purposeId);
                });
                _context12.next = 45;
                return _regenerator.default.awrap(Promise.all(promises));

              case 45:
              case "end":
                return _context12.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setUSPData",
      value: function setUSPData(uspData) {
        var uspString;
        return _regenerator.default.async(function setUSPData$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                IubendaStorage.uspData = uspData;
                _context13.next = 3;
                return _regenerator.default.awrap(_iubendaHelper.default.setItem(_iubendaHelper.default.SP.keys.uspData, uspData));

              case 3:
                uspString = uspData.uspString;
                _context13.next = 6;
                return _regenerator.default.awrap(_iubendaHelper.default.setStandardUserDefaultsValue(_iubendaHelper.default.US.keys.USPrivacy, uspString));

              case 6:
              case "end":
                return _context13.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getUSPData",
      value: function getUSPData() {
        var uspData;
        return _regenerator.default.async(function getUSPData$(_context14) {
          while (1) {
            switch (_context14.prev = _context14.next) {
              case 0:
                if (!IubendaStorage.uspData) {
                  _context14.next = 2;
                  break;
                }

                return _context14.abrupt("return", IubendaStorage.uspData);

              case 2:
                _context14.prev = 2;
                _context14.t1 = JSON;
                _context14.next = 6;
                return _regenerator.default.awrap(_iubendaHelper.default.getItem(_iubendaHelper.default.SP.keys.uspData));

              case 6:
                _context14.t2 = _context14.sent;
                _context14.t0 = _context14.t1.parse.call(_context14.t1, _context14.t2);

                if (_context14.t0) {
                  _context14.next = 10;
                  break;
                }

                _context14.t0 = {};

              case 10:
                uspData = _context14.t0;
                _context14.next = 16;
                break;

              case 13:
                _context14.prev = 13;
                _context14.t3 = _context14["catch"](2);
                uspData = {};

              case 16:
                IubendaStorage.uspData = uspData;
                return _context14.abrupt("return", uspData);

              case 18:
              case "end":
                return _context14.stop();
            }
          }
        }, null, null, [[2, 13]], Promise);
      }
    }, {
      key: "clearUSData",
      value: function clearUSData() {
        var _IubendaHelper$SP$key, uspData, ccpaOptOut, USPrivacy;

        return _regenerator.default.async(function clearUSData$(_context15) {
          while (1) {
            switch (_context15.prev = _context15.next) {
              case 0:
                IubendaStorage.uspData = undefined;
                IubendaStorage.ccpaOptOut = undefined;
                _IubendaHelper$SP$key = _iubendaHelper.default.SP.keys, uspData = _IubendaHelper$SP$key.uspData, ccpaOptOut = _IubendaHelper$SP$key.ccpaOptOut;
                _context15.next = 5;
                return _regenerator.default.awrap(_iubendaHelper.default.clearItem(uspData));

              case 5:
                _context15.next = 7;
                return _regenerator.default.awrap(_iubendaHelper.default.clearItem(ccpaOptOut));

              case 7:
                USPrivacy = _iubendaHelper.default.US.keys.USPrivacy;
                _context15.next = 10;
                return _regenerator.default.awrap(_iubendaHelper.default.clearStandardUserDefaultsItem(USPrivacy));

              case 10:
              case "end":
                return _context15.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "reset",
      value: function reset() {
        IubendaStorage.preference = undefined;
        IubendaStorage.tcData = undefined;
        IubendaStorage.uspData = undefined;
        IubendaStorage.ccpaOptOut = undefined;
      }
    }, {
      key: "init",
      value: function init() {
        var preference;
        return _regenerator.default.async(function init$(_context16) {
          while (1) {
            switch (_context16.prev = _context16.next) {
              case 0:
                IubendaStorage.reset();
                _context16.next = 3;
                return _regenerator.default.awrap(IubendaStorage.getPreference());

              case 3:
                preference = _context16.sent;
                _context16.next = 6;
                return _regenerator.default.awrap(IubendaStorage.getTCData());

              case 6:
                _context16.next = 8;
                return _regenerator.default.awrap(IubendaStorage.getUSPData());

              case 8:
                _context16.next = 10;
                return _regenerator.default.awrap(IubendaStorage.getCCPAOptOut());

              case 10:
                return _context16.abrupt("return", preference);

              case 11:
              case "end":
                return _context16.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "clearAll",
      value: function clearAll() {
        var preference;
        return _regenerator.default.async(function clearAll$(_context17) {
          while (1) {
            switch (_context17.prev = _context17.next) {
              case 0:
                IubendaStorage.reset();
                preference = _iubendaHelper.default.SP.keys.preference;
                _context17.next = 4;
                return _regenerator.default.awrap(_iubendaHelper.default.clearItem(preference));

              case 4:
                _context17.next = 6;
                return _regenerator.default.awrap(IubendaStorage.clearTCData());

              case 6:
                _context17.next = 8;
                return _regenerator.default.awrap(IubendaStorage.clearUSData());

              case 8:
              case "end":
                return _context17.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return IubendaStorage;
  }();

  exports.default = IubendaStorage;
},1715,[5,80,7,8,1716,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var IubendaHelper = function () {
    function IubendaHelper() {
      (0, _classCallCheck2.default)(this, IubendaHelper);
    }

    (0, _createClass2.default)(IubendaHelper, null, [{
      key: "getDefaultPreferencesName",
      value: function getDefaultPreferencesName() {
        return undefined;
      }
    }, {
      key: "getStandardUserDefaultsValue",
      value: function getStandardUserDefaultsValue(key) {
        return _$$_REQUIRE(_dependencyMap[4]).StorageUtils.getItemInDefaultPreferences(IubendaHelper.getDefaultPreferencesName(), key);
      }
    }, {
      key: "setStandardUserDefaultsValue",
      value: function setStandardUserDefaultsValue(key, value) {
        return _$$_REQUIRE(_dependencyMap[4]).StorageUtils.setItemInDefaultPreferences(IubendaHelper.getDefaultPreferencesName(), key, value);
      }
    }, {
      key: "clearStandardUserDefaultsItem",
      value: function clearStandardUserDefaultsItem(key) {
        return _$$_REQUIRE(_dependencyMap[4]).StorageUtils.clearItemFromDefaultPreferences(IubendaHelper.getDefaultPreferencesName(), key);
      }
    }, {
      key: "clearStandardUserDefaults",
      value: function clearStandardUserDefaults() {
        return _$$_REQUIRE(_dependencyMap[4]).StorageUtils.clearAllFromDefaultPreferences(IubendaHelper.getDefaultPreferencesName());
      }
    }, {
      key: "setStorageName",
      value: function setStorageName(name) {
        IubendaHelper.SP.name = name;
      }
    }, {
      key: "getItem",
      value: function getItem(key) {
        return _regenerator.default.async(function getItem$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.getItem(IubendaHelper.SP.name, key));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setItem",
      value: function setItem(key, value) {
        return _regenerator.default.async(function setItem$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.setItem(IubendaHelper.SP.name, key, value));

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "clearItem",
      value: function clearItem(key) {
        return _regenerator.default.async(function clearItem$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                return _context3.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.clear(IubendaHelper.SP.name, key));

              case 1:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return IubendaHelper;
  }();

  exports.default = IubendaHelper;
  IubendaHelper.SP = {
    name: "iubenda",
    keys: {
      preference: "preference",
      tcData: "tcData",
      uspData: "uspData",
      ccpaOptOut: "ccpaOptOut"
    }
  };
  IubendaHelper.IABTCF = {
    keys: {
      CmpSdkID: "IABTCF_CmpSdkID",
      CmpSdkVersion: "IABTCF_CmpSdkVersion",
      PolicyVersion: "IABTCF_PolicyVersion",
      gdprApplies: "IABTCF_gdprApplies",
      PublisherCC: "IABTCF_PublisherCC",
      PurposeOneTreatment: "IABTCF_PurposeOneTreatment",
      UseNonStandardStacks: "IABTCF_UseNonStandardStacks",
      TCString: "IABTCF_TCString",
      VendorConsents: "IABTCF_VendorConsents",
      VendorLegitimateInterests: "IABTCF_VendorLegitimateInterests",
      PurposeConsents: "IABTCF_PurposeConsents",
      PurposeLegitimateInterests: "IABTCF_PurposeLegitimateInterests",
      SpecialFeaturesOptIns: "IABTCF_SpecialFeaturesOptIns",
      PublisherRestrictions: "IABTCF_PublisherRestrictions",
      PublisherConsent: "IABTCF_PublisherConsent",
      PublisherLegitimateInterests: "IABTCF_PublisherLegitimateInterests",
      PublisherCustomPurposesConsents: "IABTCF_PublisherCustomPurposesConsents",
      PublisherCustomPurposesLegitimateInterests: "IABTCF_PublisherCustomPurposesLegitimateInterests",
      AddtlConsent: "IABTCF_AddtlConsent"
    }
  };
  IubendaHelper.US = {
    keys: {
      USPrivacy: "IABUSPrivacy_String"
    }
  };
},1716,[5,80,7,8,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.useConsentUI = useConsentUI;
  exports.setShowConsentUI = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[2]);

  var onShowConsentUI;

  function useConsentUI() {
    var _useState = (0, _react.useState)(undefined),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        showConsent = _useState2[0],
        setShowConsent = _useState2[1];

    (0, _react.useEffect)(function () {
      onShowConsentUI = setShowConsent;
    }, []);
    return showConsent;
  }

  var setShowConsentUI = function setShowConsentUI(value) {
    if (typeof onShowConsentUI === "function") {
      onShowConsentUI(value);
    }
  };

  exports.setShowConsentUI = setShowConsentUI;
},1717,[5,41,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.IubendaWebView = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[12]);

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var defaultStyle = _reactNative.StyleSheet.create({
    absolute: {
      position: "absolute",
      top: 0,
      left: 0,
      right: 0,
      bottom: 0
    }
  });

  var IubendaWebView = function (_React$Component) {
    (0, _inherits2.default)(IubendaWebView, _React$Component);

    var _super = _createSuper(IubendaWebView);

    function IubendaWebView(props) {
      var _this;

      (0, _classCallCheck2.default)(this, IubendaWebView);
      _this = _super.call(this, props);
      _this.onMessage = _this._onMessage.bind((0, _assertThisInitialized2.default)(_this));
      _this.close = _this._close.bind((0, _assertThisInitialized2.default)(_this));
      _this.onError = _this._onError.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        hidden: false,
        visible: false
      };
      return _this;
    }

    (0, _createClass2.default)(IubendaWebView, [{
      key: "_logDebug",
      value: function _logDebug(message) {}
    }, {
      key: "_logWarn",
      value: function _logWarn(message) {}
    }, {
      key: "_logError",
      value: function _logError(message) {}
    }, {
      key: "_close",
      value: function _close() {
        var onClose = this.props.onClose;
        var callback;

        if (typeof onClose === "function") {
          callback = onClose;
        }

        this.setState({
          hidden: true
        }, callback);
      }
    }, {
      key: "_onMessage",
      value: function _onMessage(_ref) {
        var nativeEvent = _ref.nativeEvent;
        var _this$props = this.props,
            onPreferenceExpressed = _this$props.onPreferenceExpressed,
            onPreferenceNotNeeded = _this$props.onPreferenceNotNeeded,
            onConsent = _this$props.onConsent,
            onOptOut = _this$props.onOptOut;

        try {
          var _JSON$parse = JSON.parse(nativeEvent.data),
              type = _JSON$parse.type,
              content = _JSON$parse.content;

          this._logDebug(type);

          switch (type) {
            case "preference-expressed":
              var preference = content.preference,
                  tcData = content.tcData,
                  uspData = content.uspData;

              if (typeof onPreferenceExpressed === "function") {
                onPreferenceExpressed(preference, tcData, uspData);
              }

              break;

            case "preference-not-needed":
              if (typeof onPreferenceNotNeeded === "function") {
                onPreferenceNotNeeded();
              }

              break;

            case "user-consent":
              var consent = content.consent;

              if (typeof onConsent === "function") {
                onConsent(consent);
              }

              break;

            case "ccpa-opt-out":
              if (typeof onOptOut === "function") {
                onOptOut();
              }

              break;

            case "banner-shown":
              this.setState({
                visible: true
              });
              break;

            case "banner-closed":
              break;

            case "error":
              var message = content.message;

              this._logError(message);

              break;

            case "close":
              this._close();

              break;
          }
        } catch (e) {
          this._logError(e.message);
        }
      }
    }, {
      key: "_onError",
      value: function _onError(_ref2) {
        var nativeEvent = _ref2.nativeEvent;

        try {
          this._logError(JSON.stringify(nativeEvent));
        } catch (e) {}

        this.close();
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props2 = this.props,
            source = _this$props2.source,
            style = _this$props2.style,
            rest = (0, _objectWithoutProperties2.default)(_this$props2, ["source", "style"]);
        var _this$state = this.state,
            hidden = _this$state.hidden,
            visible = _this$state.visible;
        var html = source.html,
            uri = source.uri;

        if (!uri && !html || hidden) {
          return null;
        }

        var webviewStyle = [];

        if (style) {
          if (Array.isArray(style)) {
            webviewStyle = (0, _toConsumableArray2.default)(style);
          } else {
            webviewStyle.push(style);
          }
        }

        webviewStyle.push({
          backgroundColor: _$$_REQUIRE(_dependencyMap[13]).colors.transparent
        });
        var height;
        var loadingComponent = null;

        if (visible) {
          loadingComponent = _react.default.createElement(_reactNative.ActivityIndicator, {
            size: "large",
            style: defaultStyle.absolute,
            color: "#FFF"
          });
        } else {
          height = 0;
        }

        return _react.default.createElement(_reactNative.View, {
          style: [defaultStyle.absolute, {
            backgroundColor: "rgba(0, 0, 0, 0.8)",
            height: height
          }]
        }, loadingComponent, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).WebView, (0, _extends2.default)({
          style: webviewStyle,
          originWhitelist: ["http://", "https://", "xhttp://", "xhttps://", "local://", "file://"],
          mixedContentMode: "always",
          allowFileAccess: true,
          allowUniversalAccessFromFileURLs: true,
          thirdPartyCookiesEnabled: true,
          domStorageEnabled: true,
          javaScriptEnabled: true,
          bounces: false,
          cacheEnabled: true
        }, rest, {
          startInLoadingState: false,
          androidForceHasOverlappingRendering: false,
          source: source,
          messagingEnabled: true,
          onMessage: this.onMessage,
          onError: this.onError,
          onHttpError: this.onError
        })));
      }
    }]);
    return IubendaWebView;
  }(_react.default.Component);

  exports.IubendaWebView = IubendaWebView;
  IubendaWebView.propTypes = {
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array, _propTypes.default.number]),
    source: _propTypes.default.shape({
      uri: _propTypes.default.string,
      baseUrl: _propTypes.default.string,
      html: _propTypes.default.string
    }),
    onPreferenceExpressed: _propTypes.default.func,
    onPreferenceNotNeeded: _propTypes.default.func,
    onConsent: _propTypes.default.func,
    onOptOut: _propTypes.default.func,
    onClose: _propTypes.default.func
  };
},1718,[5,6,21,108,7,8,15,12,14,16,17,201,28,462,1226]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _iubenda = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  function IubendaContainer(props) {
    var children = props.children,
        considerSafeArea = props.considerSafeArea;
    var showConsent = (0, _$$_REQUIRE(_dependencyMap[4]).useConsentUI)();
    var insets = considerSafeArea ? (0, _$$_REQUIRE(_dependencyMap[5]).useSafeAreaInsets)() : {
      top: 0,
      right: 0,
      bottom: 0,
      left: 0
    };
    return _react.default.createElement(_react.default.Fragment, null, children, showConsent ? _iubenda.default.getConsentUI(showConsent, insets) : null);
  }

  IubendaContainer.propTypes = {
    children: _propTypes.default.node,
    considerSafeArea: _propTypes.default.bool
  };
  IubendaContainer.defaultProps = {
    considerSafeArea: true
  };
  var _default = IubendaContainer;
  exports.default = _default;
},1719,[5,17,201,1714,1717,1148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.ATTConfig = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _PaperSetupHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ATTConfig = function (_PaperSetupBaseConfig) {
    (0, _inherits2.default)(ATTConfig, _PaperSetupBaseConfig);

    var _super = _createSuper(ATTConfig);

    function ATTConfig() {
      (0, _classCallCheck2.default)(this, ATTConfig);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(ATTConfig, [{
      key: "getStorageKeys",
      value: function getStorageKeys() {
        return _PaperSetupHelper.default.SP.keys.app_tracking_transparency;
      }
    }, {
      key: "init",
      value: function init() {
        var json,
            _this$getStorageKeys,
            force_message,
            disable_message,
            show_pre_message,
            force_pre_message_on_app_update,
            _args = arguments;

        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                json = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
                _context.next = 3;
                return _regenerator.default.awrap((0, _get2.default)((0, _getPrototypeOf2.default)(ATTConfig.prototype), "init", this).call(this, json));

              case 3:
                _this$getStorageKeys = this.getStorageKeys(), force_message = _this$getStorageKeys.force_message, disable_message = _this$getStorageKeys.disable_message, show_pre_message = _this$getStorageKeys.show_pre_message, force_pre_message_on_app_update = _this$getStorageKeys.force_pre_message_on_app_update;

                if (!_$$_REQUIRE(_dependencyMap[9]).PlatformUtils.isIOS()) {
                  _context.next = 35;
                  break;
                }

                _context.next = 7;
                return _regenerator.default.awrap(this.getValue(force_message));

              case 7:
                _context.t0 = _context.sent;

                if (_context.t0) {
                  _context.next = 10;
                  break;
                }

                _context.t0 = "1";

              case 10:
                _context.t1 = _context.t0;
                this.forceAppTrackingTransparencyMessage = _context.t1 === "1";
                _context.next = 14;
                return _regenerator.default.awrap(this.getValue(disable_message));

              case 14:
                _context.t2 = _context.sent;

                if (_context.t2) {
                  _context.next = 17;
                  break;
                }

                _context.t2 = "0";

              case 17:
                _context.t3 = _context.t2;
                this.disableAppTrackingTransparencyMessage = _context.t3 === "1";
                _context.next = 21;
                return _regenerator.default.awrap(this.getValue(show_pre_message));

              case 21:
                _context.t4 = _context.sent;

                if (_context.t4) {
                  _context.next = 24;
                  break;
                }

                _context.t4 = "0";

              case 24:
                _context.t5 = _context.t4;
                this.showPreAppTrackingTransparencyMessage = _context.t5 === "1";
                _context.next = 28;
                return _regenerator.default.awrap(this.getValue(force_pre_message_on_app_update));

              case 28:
                _context.t6 = _context.sent;

                if (_context.t6) {
                  _context.next = 31;
                  break;
                }

                _context.t6 = "0";

              case 31:
                _context.t7 = _context.t6;
                this.forcePreAppTrackingTransparencyMessageOnAppUpdate = _context.t7 === "1";
                _context.next = 39;
                break;

              case 35:
                this.forceAppTrackingTransparencyMessage = false;
                this.disableAppTrackingTransparencyMessage = false;
                this.showPreAppTrackingTransparencyMessage = false;
                this.forcePreAppTrackingTransparencyMessageOnAppUpdate = false;

              case 39:
                return _context.abrupt("return", true);

              case 40:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }]);
    return ATTConfig;
  }(_$$_REQUIRE(_dependencyMap[10]).PaperSetupBaseConfig);

  exports.ATTConfig = ATTConfig;
},1720,[5,80,7,8,90,12,14,16,718,462,725]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.IubendaConfig = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _PaperSetupHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PRIVACY_LAWS = {
    NONE: "none",
    GDPR: "gdpr",
    CCPA: "ccpa",
    CPRA: "cpra",
    VCDPA: "vcdpa",
    LGPD: "lgpd",
    US: "us"
  };

  var IubendaConfig = function (_PaperSetupBaseConfig) {
    (0, _inherits2.default)(IubendaConfig, _PaperSetupBaseConfig);

    var _super = _createSuper(IubendaConfig);

    function IubendaConfig() {
      var _this;

      (0, _classCallCheck2.default)(this, IubendaConfig);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.referencePrivacyLaws = [];
      return _this;
    }

    (0, _createClass2.default)(IubendaConfig, [{
      key: "getStorageKeys",
      value: function getStorageKeys() {
        return _PaperSetupHelper.default.SP.keys.iubenda;
      }
    }, {
      key: "init",
      value: function init() {
        var json,
            _this$getStorageKeys,
            site_id,
            cookie_policy_id,
            lang,
            reset_consent_date,
            force_consent_popup,
            ads_require_consent,
            google_ads_present,
            ref_privacy_laws,
            _args = arguments;

        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                json = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
                _context.next = 3;
                return _regenerator.default.awrap((0, _get2.default)((0, _getPrototypeOf2.default)(IubendaConfig.prototype), "init", this).call(this, json));

              case 3:
                _this$getStorageKeys = this.getStorageKeys(), site_id = _this$getStorageKeys.site_id, cookie_policy_id = _this$getStorageKeys.cookie_policy_id, lang = _this$getStorageKeys.lang, reset_consent_date = _this$getStorageKeys.reset_consent_date, force_consent_popup = _this$getStorageKeys.force_consent_popup, ads_require_consent = _this$getStorageKeys.ads_require_consent, google_ads_present = _this$getStorageKeys.google_ads_present, ref_privacy_laws = _this$getStorageKeys.ref_privacy_laws;
                _context.next = 6;
                return _regenerator.default.awrap(this.getValue(site_id));

              case 6:
                _context.t0 = _context.sent;

                if (_context.t0) {
                  _context.next = 9;
                  break;
                }

                _context.t0 = "";

              case 9:
                this.siteId = _context.t0;
                _context.next = 12;
                return _regenerator.default.awrap(this.getValue(cookie_policy_id));

              case 12:
                _context.t1 = _context.sent;

                if (_context.t1) {
                  _context.next = 15;
                  break;
                }

                _context.t1 = "";

              case 15:
                this.cookiePolicyId = _context.t1;

                if (global.isDebug && !this.siteId) {
                  this.siteId = "3052127";
                  this.cookiePolicyId = "32304506";
                }

                _context.next = 19;
                return _regenerator.default.awrap(this.getValue(lang));

              case 19:
                _context.t2 = _context.sent;

                if (_context.t2) {
                  _context.next = 22;
                  break;
                }

                _context.t2 = global.getLocaleConfig().getCurrentLocale();

              case 22:
                this.language = _context.t2;
                _context.next = 25;
                return _regenerator.default.awrap(this.getValue(reset_consent_date));

              case 25:
                this.resetConsentDate = _context.sent;
                _context.next = 28;
                return _regenerator.default.awrap(this.getValue(force_consent_popup));

              case 28:
                _context.t3 = _context.sent;

                if (_context.t3) {
                  _context.next = 31;
                  break;
                }

                _context.t3 = "0";

              case 31:
                _context.t4 = _context.t3;
                this.forceConsentPopup = _context.t4 === "1";
                _context.next = 35;
                return _regenerator.default.awrap(this.getValue(google_ads_present));

              case 35:
                _context.t6 = _context.sent;

                if (_context.t6) {
                  _context.next = 38;
                  break;
                }

                _context.t6 = "0";

              case 38:
                _context.t7 = _context.t6;
                _context.t5 = _context.t7 === "1";

                if (_context.t5) {
                  _context.next = 42;
                  break;
                }

                _context.t5 = global.getAdsConfig().hasGoogleAds();

              case 42:
                this.googleAdsPresent = _context.t5;

                if (!this.googleAdsPresent) {
                  _context.next = 47;
                  break;
                }

                this.adsRequireConsent = true;
                _context.next = 60;
                break;

              case 47:
                _context.next = 49;
                return _regenerator.default.awrap(this.getValue(ads_require_consent));

              case 49:
                _context.t10 = _context.sent;

                if (_context.t10) {
                  _context.next = 52;
                  break;
                }

                _context.t10 = "0";

              case 52:
                _context.t11 = _context.t10;
                _context.t9 = _context.t11 === "1";

                if (_context.t9) {
                  _context.next = 56;
                  break;
                }

                _context.t9 = global.getAdsConfig().hasAdsRequiringIDFAPermissions();

              case 56:
                _context.t8 = _context.t9;

                if (_context.t8) {
                  _context.next = 59;
                  break;
                }

                _context.t8 = _optionalPackageUtils.default.isDailymotionVideoPlayerAvailable();

              case 59:
                this.adsRequireConsent = _context.t8;

              case 60:
                _context.next = 62;
                return _regenerator.default.awrap(this.getValue(ref_privacy_laws));

              case 62:
                _context.t12 = _context.sent;

                if (_context.t12) {
                  _context.next = 65;
                  break;
                }

                _context.t12 = PRIVACY_LAWS.NONE;

              case 65:
                this.referencePrivacyLaws = _context.t12.split(",");
                return _context.abrupt("return", true);

              case 67:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "isGDPR",
      value: function isGDPR() {
        return this.referencePrivacyLaws.includes(PRIVACY_LAWS.GDPR);
      }
    }, {
      key: "isCCPA",
      value: function isCCPA() {
        return this.referencePrivacyLaws.includes(PRIVACY_LAWS.CCPA);
      }
    }, {
      key: "isCPRA",
      value: function isCPRA() {
        return this.referencePrivacyLaws.includes(PRIVACY_LAWS.CPRA);
      }
    }, {
      key: "isVCDPA",
      value: function isVCDPA() {
        return this.referencePrivacyLaws.includes(PRIVACY_LAWS.VCDPA);
      }
    }, {
      key: "isUS",
      value: function isUS() {
        return this.referencePrivacyLaws.includes(PRIVACY_LAWS.US);
      }
    }, {
      key: "isLGPD",
      value: function isLGPD() {
        return this.referencePrivacyLaws.includes(PRIVACY_LAWS.LGPD);
      }
    }]);
    return IubendaConfig;
  }(_$$_REQUIRE(_dependencyMap[10]).PaperSetupBaseConfig);

  exports.IubendaConfig = IubendaConfig;
},1721,[5,80,7,8,90,12,14,16,718,731,725]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _Publication = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _PublicationsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var PublicationsManager = function () {
    function PublicationsManager() {
      (0, _classCallCheck2.default)(this, PublicationsManager);
      this.publications = [];
    }

    (0, _createClass2.default)(PublicationsManager, [{
      key: "load",
      value: function load() {
        var allItems, currentPublication, rawPublications;
        return _regenerator.default.async(function load$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return _regenerator.default.awrap(_PublicationsHelper.default.getAllItems());

              case 2:
                allItems = _context.sent;

                if (allItems) {
                  currentPublication = allItems.currentPublication, rawPublications = (0, _objectWithoutProperties2.default)(allItems, ["currentPublication"]);
                  this.publications = Object.values(rawPublications).map(function (rawPublication) {
                    return PublicationsManager.parsePublication(rawPublication);
                  });
                  this.currentPublication = this.getPublication(currentPublication);
                }

              case 4:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getPublications",
      value: function getPublications() {
        return this.publications;
      }
    }, {
      key: "getPublication",
      value: function getPublication(pSetup) {
        return this.publications.find(function (publication) {
          return publication.getPSetup() === pSetup;
        });
      }
    }, {
      key: "getXPaperPublication",
      value: function getXPaperPublication(pSetup) {
        return this.publications.find(function (publication) {
          return publication.getPSetup().startsWith(pSetup + "-xp-");
        });
      }
    }, {
      key: "getCurrentPublication",
      value: function getCurrentPublication() {
        return this.currentPublication;
      }
    }, {
      key: "addPublication",
      value: function addPublication(params) {
        var publication;
        return _regenerator.default.async(function addPublication$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!(params && params.pSetup)) {
                  _context2.next = 7;
                  break;
                }

                publication = this.getPublication(params.pSetup);

                if (!(!publication && params.machine)) {
                  _context2.next = 7;
                  break;
                }

                publication = new _Publication.default(params);
                this.publications.push(publication);
                _context2.next = 7;
                return _regenerator.default.awrap(this.storePublication(publication));

              case 7:
                return _context2.abrupt("return", publication);

              case 8:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "deletePublication",
      value: function deletePublication(_ref) {
        var pSetup, index;
        return _regenerator.default.async(function deletePublication$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                pSetup = _ref.pSetup;

                if (!pSetup) {
                  _context3.next = 16;
                  break;
                }

                _context3.prev = 2;
                index = this.publications.findIndex(function (publication) {
                  return publication.getPSetup() === pSetup;
                });

                if (index >= 0) {
                  this.publications.splice(index, 1);
                }

                _context3.next = 7;
                return _regenerator.default.awrap(_PublicationsHelper.default.removeItem(pSetup));

              case 7:
                if (!(this.currentPublication && this.currentPublication.getPSetup() === pSetup)) {
                  _context3.next = 11;
                  break;
                }

                this.currentPublication = undefined;
                _context3.next = 11;
                return _regenerator.default.awrap(_PublicationsHelper.default.removeItem(_PublicationsHelper.default.SP.keys.current));

              case 11:
                return _context3.abrupt("return", true);

              case 14:
                _context3.prev = 14;
                _context3.t0 = _context3["catch"](2);

              case 16:
                return _context3.abrupt("return", false);

              case 17:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, [[2, 14]], Promise);
      }
    }, {
      key: "storePublication",
      value: function storePublication(publication) {
        return _regenerator.default.async(function storePublication$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                return _context4.abrupt("return", _PublicationsHelper.default.setItem(publication.getPSetup(), publication.toString()));

              case 1:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setCurrentPublication",
      value: function setCurrentPublication(params) {
        var pSetup, machine, publication, pSetupArray;
        return _regenerator.default.async(function setCurrentPublication$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                if (!(params && params.pSetup)) {
                  _context5.next = 19;
                  break;
                }

                pSetup = params.pSetup, machine = params.machine;
                publication = this.getPublication(pSetup);

                if (!(!publication && machine)) {
                  _context5.next = 13;
                  break;
                }

                if (pSetup.indexOf("-xp-") !== -1) {
                  pSetupArray = pSetup.split("-xp-");

                  if (pSetupArray.length > 1) {
                    publication = this.getPublication(pSetupArray[0]);
                  }
                } else {
                  publication = this.getXPaperPublication(pSetup);
                }

                if (!publication) {
                  _context5.next = 8;
                  break;
                }

                _context5.next = 8;
                return _regenerator.default.awrap(this.deletePublication({
                  pSetup: publication.getPSetup()
                }));

              case 8:
                _context5.next = 10;
                return _regenerator.default.awrap(this.addPublication(params));

              case 10:
                publication = _context5.sent;
                _context5.next = 17;
                break;

              case 13:
                if (!(publication && (params.external || publication.isExternal()))) {
                  _context5.next = 17;
                  break;
                }

                publication.external = true;
                _context5.next = 17;
                return _regenerator.default.awrap(this.storePublication(publication));

              case 17:
                this.currentPublication = publication;
                return _context5.abrupt("return", _PublicationsHelper.default.setItem(_PublicationsHelper.default.SP.keys.current, pSetup));

              case 19:
                return _context5.abrupt("return", false);

              case 20:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }], [{
      key: "parsePublication",
      value: function parsePublication(rawPublication) {
        var parts = rawPublication.split(",");
        return new _Publication.default({
          pSetup: _$$_REQUIRE(_dependencyMap[7]).StringUtils.decodeURIComponent(parts[0]),
          machine: _$$_REQUIRE(_dependencyMap[7]).StringUtils.decodeURIComponent(parts[1]),
          name: _$$_REQUIRE(_dependencyMap[7]).StringUtils.decodeURIComponent(parts[2]),
          st: _$$_REQUIRE(_dependencyMap[7]).StringUtils.decodeURIComponent(parts[3]),
          icon: _$$_REQUIRE(_dependencyMap[7]).StringUtils.decodeURIComponent(parts[4]),
          paper: parts[5] ? _$$_REQUIRE(_dependencyMap[7]).StringUtils.decodeURIComponent(parts[5]) : "",
          xpaper: parts[6] ? _$$_REQUIRE(_dependencyMap[7]).StringUtils.decodeURIComponent(parts[6]) : "",
          external: parts[7] === "true"
        });
      }
    }]);
    return PublicationsManager;
  }();

  exports.default = PublicationsManager;
},1722,[5,80,108,7,8,1723,1724,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var Publication = function () {
    function Publication(params) {
      (0, _classCallCheck2.default)(this, Publication);
      var pSetup = params.pSetup,
          machine = params.machine,
          name = params.name,
          country = params.st,
          iconURL = params.icon,
          psetup = params.psetup,
          paper = params.paper,
          xpaper = params.xpaper,
          external = params.external;
      this.psetup = pSetup || psetup;
      this.machine = machine;
      this.name = name || "";
      this.country = country || "";
      this.iconURL = iconURL || "";
      this.paper = paper || "";
      this.xpaper = xpaper || "";
      this.external = external || false;
    }

    (0, _createClass2.default)(Publication, [{
      key: "getPSetup",
      value: function getPSetup() {
        return this.psetup;
      }
    }, {
      key: "getMachine",
      value: function getMachine() {
        return this.machine;
      }
    }, {
      key: "getName",
      value: function getName() {
        return this.name;
      }
    }, {
      key: "getCountry",
      value: function getCountry() {
        return this.country;
      }
    }, {
      key: "getIconURL",
      value: function getIconURL() {
        return this.iconURL;
      }
    }, {
      key: "getPaper",
      value: function getPaper() {
        return this.paper;
      }
    }, {
      key: "getXPaper",
      value: function getXPaper() {
        return this.xpaper;
      }
    }, {
      key: "isExternal",
      value: function isExternal() {
        return this.external;
      }
    }, {
      key: "toString",
      value: function toString() {
        return encodeURIComponent(this.psetup) + "," + encodeURIComponent(this.machine) + "," + encodeURIComponent(this.name) + "," + encodeURIComponent(this.country) + "," + encodeURIComponent(this.iconURL) + "," + encodeURIComponent(this.paper) + "," + encodeURIComponent(this.xpaper) + "," + this.external;
      }
    }]);
    return Publication;
  }();

  exports.default = Publication;
},1723,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var PublicationsHelper = function () {
    function PublicationsHelper() {
      (0, _classCallCheck2.default)(this, PublicationsHelper);
    }

    (0, _createClass2.default)(PublicationsHelper, null, [{
      key: "getAllItems",
      value: function getAllItems() {
        return _regenerator.default.async(function getAllItems$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.multiGet(PublicationsHelper.SP.name));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getItem",
      value: function getItem(key) {
        return _regenerator.default.async(function getItem$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.getItem(PublicationsHelper.SP.name, key));

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setItem",
      value: function setItem(key, value) {
        return _regenerator.default.async(function setItem$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                return _context3.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.setItem(PublicationsHelper.SP.name, key, value));

              case 1:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "removeItem",
      value: function removeItem(key) {
        return _regenerator.default.async(function removeItem$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                return _context4.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.clear(PublicationsHelper.SP.name, key));

              case 1:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return PublicationsHelper;
  }();

  exports.default = PublicationsHelper;
  PublicationsHelper.SP = {
    name: "publications",
    keys: {
      current: "currentPublication"
    }
  };
},1724,[5,80,7,8,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getAccessibilityItemsArticle = exports.getAccessibilityItemsIndexSecondLevel = exports.getAccessibilityItemsIndexFirstLevel = exports.ACTIONS = exports.ACTIONS_TYPE = undefined;

  var _AccessibilityListItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var ACTIONS_TYPE = {
    layout: "layout",
    link: "link",
    toggle: "toggle"
  };
  exports.ACTIONS_TYPE = ACTIONS_TYPE;
  var ACTIONS = {
    goBack: {
      key: "goBack",
      icon: _$$_REQUIRE(_dependencyMap[2]),
      defaultLabelKey: "btn_go_back"
    },
    goBackArticle: {
      key: "goBack",
      icon: _$$_REQUIRE(_dependencyMap[2]),
      defaultLabelKey: "btn_go_back_article"
    },
    goBackSection: {
      key: "goBack",
      icon: _$$_REQUIRE(_dependencyMap[2]),
      defaultLabelKey: "btn_go_back_section"
    },
    goNext: {
      key: "goNext",
      icon: _$$_REQUIRE(_dependencyMap[3]),
      defaultLabelKey: "btn_go_next"
    },
    goNextArticle: {
      key: "goNext",
      icon: _$$_REQUIRE(_dependencyMap[3]),
      defaultLabelKey: "btn_go_next_article"
    },
    goNextSection: {
      key: "goNext",
      icon: _$$_REQUIRE(_dependencyMap[3]),
      defaultLabelKey: "btn_go_next_section"
    },
    goUp: {
      key: "goUp",
      icon: _$$_REQUIRE(_dependencyMap[4]),
      defaultLabelKey: "btn_go_up"
    },
    goUpChooseIssue: {
      key: "goUp",
      icon: _$$_REQUIRE(_dependencyMap[4]),
      defaultLabelKey: "btn_go_up_choose_issue"
    },
    goUpGeneralIndex: {
      key: "goUp",
      icon: _$$_REQUIRE(_dependencyMap[4]),
      defaultLabelKey: "btn_go_up_general_index"
    },
    goUpSection: {
      key: "goUp",
      icon: _$$_REQUIRE(_dependencyMap[4]),
      defaultLabelKey: "btn_go_up_section"
    },
    openStore: {
      type: ACTIONS_TYPE.link,
      key: "openStore",
      icon: _$$_REQUIRE(_dependencyMap[5]),
      defaultLabelKey: "btn_store"
    },
    openLink: {
      type: ACTIONS_TYPE.link,
      key: "openLink",
      icon: _$$_REQUIRE(_dependencyMap[6]),
      defaultLabelKey: "btn_link"
    },
    openAktuell: {
      type: ACTIONS_TYPE.link,
      key: "openAktuell",
      icon: _$$_REQUIRE(_dependencyMap[6]),
      defaultLabelKey: "btn_link"
    },
    openMore: {
      type: ACTIONS_TYPE.link,
      key: "openMore",
      icon: _$$_REQUIRE(_dependencyMap[7]),
      defaultLabelKey: "btn_more"
    },
    openLiveNews: {
      type: ACTIONS_TYPE.link,
      key: "openLiveNews",
      icon: _$$_REQUIRE(_dependencyMap[8]),
      pSetupRelabel: "feedButton",
      defaultLabelKey: "btn_feed"
    },
    openThumbnail: {
      type: ACTIONS_TYPE.layout,
      key: "openThumbnail",
      icon: _$$_REQUIRE(_dependencyMap[9]),
      pSetupRelabel: "thumbnailButton",
      defaultLabelKey: "btn_thumbnail"
    },
    openBrowse: {
      type: ACTIONS_TYPE.layout,
      key: "openBrowse",
      icon: _$$_REQUIRE(_dependencyMap[10]),
      pSetupRelabel: "gBookButton",
      defaultLabelKey: "btn_g_book"
    },
    openRead: {
      type: ACTIONS_TYPE.layout,
      key: "openRead",
      icon: _$$_REQUIRE(_dependencyMap[11]),
      pSetupRelabel: "readButton",
      defaultLabelKey: "btn_read"
    },
    openSwipe: {
      type: ACTIONS_TYPE.layout,
      key: "openSwipe",
      icon: _$$_REQUIRE(_dependencyMap[10]),
      pSetupRelabel: "swipeButton",
      defaultLabelKey: "btn_swipe"
    },
    openIndex: {
      type: ACTIONS_TYPE.layout,
      key: "openIndex",
      icon: _$$_REQUIRE(_dependencyMap[12]),
      pSetupRelabel: "indexButton",
      defaultLabelKey: "btn_index"
    },
    openArticle: {
      type: ACTIONS_TYPE.layout,
      key: "openArticle",
      icon: _$$_REQUIRE(_dependencyMap[12])
    },
    openAccessibility: {
      type: ACTIONS_TYPE.layout,
      key: "openAccessibility",
      icon: _$$_REQUIRE(_dependencyMap[13]),
      pSetupRelabel: "accessibilityButton",
      defaultLabelKey: "btn_accessibility"
    },
    openSearch: {
      type: ACTIONS_TYPE.layout,
      key: "openSearch",
      icon: _$$_REQUIRE(_dependencyMap[14]),
      pSetupRelabel: "searchButton",
      defaultLabelKey: "btn_search"
    },
    openSpecialSections: {
      type: ACTIONS_TYPE.link,
      key: "openSpecialSections",
      icon: _$$_REQUIRE(_dependencyMap[15]),
      pSetupRelabel: "specialSectionButton",
      defaultLabelKey: "btn_special_section"
    },
    openOptionPageEditions: {
      type: ACTIONS_TYPE.link,
      key: "openOptionPageEditions",
      icon: _$$_REQUIRE(_dependencyMap[16]),
      pSetupRelabel: "editionsButton",
      defaultLabelKey: "btn_editions"
    },
    openOptionPageContact: {
      type: ACTIONS_TYPE.link,
      key: "openOptionPageContact",
      icon: _$$_REQUIRE(_dependencyMap[17]),
      defaultLabelKey: "btn_contact"
    },
    openOptionPageLogin: {
      type: ACTIONS_TYPE.link,
      key: "openOptionPageLogin",
      icon: _$$_REQUIRE(_dependencyMap[18]),
      defaultLabelKey: "btn_account"
    },
    openOptionPageSettings: {
      type: ACTIONS_TYPE.link,
      key: "openOptionPageSettings",
      icon: _$$_REQUIRE(_dependencyMap[19]),
      pSetupRelabel: "settingsButton",
      defaultLabelKey: "btn_settings"
    },
    openOptionPageHelp: {
      type: ACTIONS_TYPE.link,
      key: "openOptionPageHelp",
      icon: _$$_REQUIRE(_dependencyMap[20]),
      pSetupRelabel: "helpButton",
      defaultLabelKey: "btn_help"
    },
    openOptionPagePublications: {
      type: ACTIONS_TYPE.link,
      key: "openOptionPagePublications",
      icon: _$$_REQUIRE(_dependencyMap[5]),
      pSetupRelabel: "storeButton",
      defaultLabelKey: "btn_publications"
    },
    openOptionPageAccessibility: {
      type: ACTIONS_TYPE.link,
      key: "openOptionPageAccessibility",
      icon: _$$_REQUIRE(_dependencyMap[13]),
      pSetupRelabel: "accessibilityButton",
      defaultLabelKey: "btn_accessibility"
    },
    openOptionPageArchive: {
      type: ACTIONS_TYPE.link,
      key: "openOptionPageArchive",
      icon: _$$_REQUIRE(_dependencyMap[21]),
      pSetupRelabel: "archiveButton",
      defaultLabelKey: "btn_archive"
    },
    openCarMode: {
      type: ACTIONS_TYPE.layout,
      key: "openCarMode",
      icon: _$$_REQUIRE(_dependencyMap[22]),
      pSetupRelabel: "carModeButton",
      defaultLabelKey: "btn_car_mode"
    },
    downloadEdition: {
      type: ACTIONS_TYPE.toggle,
      key: "downloadEdition",
      icon: _$$_REQUIRE(_dependencyMap[23]),
      pSetupRelabel: "downloadButton",
      defaultLabelKey: "btn_download"
    },
    fitPageToggle: {
      type: ACTIONS_TYPE.toggle,
      key: "fitPageToggle",
      icon: _$$_REQUIRE(_dependencyMap[24]),
      activeIcon: _$$_REQUIRE(_dependencyMap[25]),
      pSetupRelabel: "fitPageButton",
      defaultLabelKey: "btn_fit_page"
    },
    openIndexAlt: {
      type: ACTIONS_TYPE.link,
      key: "openIndexAlt",
      icon: _$$_REQUIRE(_dependencyMap[26])
    },
    previousArticle: {
      type: ACTIONS_TYPE.link,
      key: "previousArticle",
      icon: _$$_REQUIRE(_dependencyMap[27])
    },
    nextArticle: {
      type: ACTIONS_TYPE.link,
      key: "nextArticle",
      icon: _$$_REQUIRE(_dependencyMap[28])
    },
    shareAlt: {
      type: ACTIONS_TYPE.link,
      key: "shareAlt",
      icon: _$$_REQUIRE(_dependencyMap[29])
    },
    closeCarMode: {
      key: "closeCarMode",
      icon: _$$_REQUIRE(_dependencyMap[30]),
      defaultLabelKey: "btn_close_car_mode"
    },
    closeAccessibility: {
      key: "closeAccessibility",
      icon: _$$_REQUIRE(_dependencyMap[31]),
      defaultLabelKey: "btn_close_accessibility"
    },
    closeEditions: {
      key: "closeAccessibility",
      icon: _$$_REQUIRE(_dependencyMap[32]),
      defaultLabelKey: "btn_close_editions"
    },
    closeArticle: {
      key: "closeArticle",
      icon: _$$_REQUIRE(_dependencyMap[32])
    },
    search: {
      key: "search",
      icon: _$$_REQUIRE(_dependencyMap[33])
    },
    clearSearch: {
      key: "clearSearch",
      icon: _$$_REQUIRE(_dependencyMap[34])
    },
    share: {
      key: "share",
      icon: _$$_REQUIRE(_dependencyMap[35])
    },
    shareFacebook: {
      key: "shareFacebook",
      icon: _$$_REQUIRE(_dependencyMap[36])
    },
    shareTwitter: {
      key: "shareTwitter",
      icon: _$$_REQUIRE(_dependencyMap[37])
    },
    shareReddit: {
      key: "shareReddit",
      icon: _$$_REQUIRE(_dependencyMap[38])
    },
    shareEmail: {
      key: "shareEmail",
      icon: _$$_REQUIRE(_dependencyMap[39])
    },
    toggleFullScreen: {
      key: "toggleFullScreen",
      icon: _$$_REQUIRE(_dependencyMap[40]),
      activeIcon: _$$_REQUIRE(_dependencyMap[41])
    },
    toggleTextToSpeech: {
      key: "toggleTextToSpeech",
      icon: _$$_REQUIRE(_dependencyMap[42]),
      activeIcon: _$$_REQUIRE(_dependencyMap[43]),
      defaultLabelKey: "btn_tts"
    },
    toggleGraphic: {
      key: "toggleGraphic",
      icon: _$$_REQUIRE(_dependencyMap[44]),
      activeIcon: _$$_REQUIRE(_dependencyMap[45])
    },
    toggleFont: {
      key: "toggleFont",
      icon: _$$_REQUIRE(_dependencyMap[46])
    },
    fontDecrease: {
      key: "fontDecrease",
      icon: _$$_REQUIRE(_dependencyMap[47])
    },
    fontIncrease: {
      key: "fontIncrease",
      icon: _$$_REQUIRE(_dependencyMap[46])
    },
    toggleGraphZoom: {
      key: "toggleGraphZoom",
      icon: _$$_REQUIRE(_dependencyMap[48])
    },
    graphDecrease: {
      key: "graphDecrease",
      icon: _$$_REQUIRE(_dependencyMap[49])
    },
    graphIncrease: {
      key: "graphIncrease",
      icon: _$$_REQUIRE(_dependencyMap[48])
    },
    graphZoomUnfit: {
      key: "graphZoomUnfit",
      icon: _$$_REQUIRE(_dependencyMap[50])
    },
    print: {
      key: "print",
      icon: _$$_REQUIRE(_dependencyMap[51])
    },
    showWith: {
      key: "showWith"
    },
    translate: {
      key: "translate",
      icon: _$$_REQUIRE(_dependencyMap[52]),
      arIcon: _$$_REQUIRE(_dependencyMap[53]),
      cnIcon: _$$_REQUIRE(_dependencyMap[54]),
      bsIcon: _$$_REQUIRE(_dependencyMap[55]),
      daIcon: _$$_REQUIRE(_dependencyMap[56]),
      deIcon: _$$_REQUIRE(_dependencyMap[57]),
      elIcon: _$$_REQUIRE(_dependencyMap[58]),
      enIcon: _$$_REQUIRE(_dependencyMap[59]),
      esIcon: _$$_REQUIRE(_dependencyMap[60]),
      frIcon: _$$_REQUIRE(_dependencyMap[61]),
      hrIcon: _$$_REQUIRE(_dependencyMap[62]),
      itIcon: _$$_REQUIRE(_dependencyMap[63]),
      jaIcon: _$$_REQUIRE(_dependencyMap[64]),
      koIcon: _$$_REQUIRE(_dependencyMap[65]),
      msIcon: _$$_REQUIRE(_dependencyMap[66]),
      noIcon: _$$_REQUIRE(_dependencyMap[67]),
      nlIcon: _$$_REQUIRE(_dependencyMap[68]),
      ptIcon: _$$_REQUIRE(_dependencyMap[69]),
      ruIcon: _$$_REQUIRE(_dependencyMap[70]),
      slIcon: _$$_REQUIRE(_dependencyMap[71]),
      sqIcon: _$$_REQUIRE(_dependencyMap[72]),
      srIcon: _$$_REQUIRE(_dependencyMap[73]),
      svIcon: _$$_REQUIRE(_dependencyMap[74]),
      usIcon: _$$_REQUIRE(_dependencyMap[75]),
      noneIcon: "none"
    },
    warning: {
      key: "warning",
      icon: _$$_REQUIRE(_dependencyMap[76])
    },
    toggleArticleExtra: {
      key: "toggleArticleExtra",
      icon: _$$_REQUIRE(_dependencyMap[77]),
      activeIcon: _$$_REQUIRE(_dependencyMap[78])
    }
  };
  exports.ACTIONS = ACTIONS;

  var getAccessibilityItemsIndexFirstLevel = function getAccessibilityItemsIndexFirstLevel() {
    var addRss = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
    var items = [];

    if (!_$$_REQUIRE(_dependencyMap[79]).PlatformUtils.isSystemAccessibilityEnabled()) {
      items.push(new _AccessibilityListItem.default(ACTIONS.closeAccessibility));
    }

    if (addRss) {
      items.push(new _AccessibilityListItem.default(ACTIONS.openLiveNews));
    }

    items.push(new _AccessibilityListItem.default(ACTIONS.goUpChooseIssue));
    return items;
  };

  exports.getAccessibilityItemsIndexFirstLevel = getAccessibilityItemsIndexFirstLevel;

  var getAccessibilityItemsIndexSecondLevel = function getAccessibilityItemsIndexSecondLevel(index, length) {
    var sectionsName = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
    var items = [];
    items.push(new _AccessibilityListItem.default(ACTIONS.goUpGeneralIndex));

    if (length > 1) {
      if (index === 0) {
        items.push(new _AccessibilityListItem.default(ACTIONS.goNextSection, {
          section: sectionsName[index + 1]
        }));
      } else if (index === length - 1) {
        items.push(new _AccessibilityListItem.default(ACTIONS.goBackSection, {
          section: sectionsName[index - 1]
        }));
      } else {
        items.push(new _AccessibilityListItem.default(ACTIONS.goBackSection, {
          section: sectionsName[index - 1]
        }));
        items.push(new _AccessibilityListItem.default(ACTIONS.goNextSection, {
          section: sectionsName[index + 1]
        }));
      }
    }

    return items;
  };

  exports.getAccessibilityItemsIndexSecondLevel = getAccessibilityItemsIndexSecondLevel;

  var getAccessibilityItemsArticle = function getAccessibilityItemsArticle(index, length) {
    var section = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "";
    var items = [];
    items.push(new _AccessibilityListItem.default(ACTIONS.goUpSection, {
      section: section
    }));

    if (length > 1) {
      if (index === 0) {
        items.push(new _AccessibilityListItem.default(ACTIONS.goNextArticle, {
          index: index + 1
        }));
      } else if (index === length - 1) {
        items.push(new _AccessibilityListItem.default(ACTIONS.goBackArticle, {
          index: index - 1
        }));
      } else {
        items.push(new _AccessibilityListItem.default(ACTIONS.goBackArticle, {
          index: index - 1
        }));
        items.push(new _AccessibilityListItem.default(ACTIONS.goNextArticle, {
          index: index + 1
        }));
      }
    }

    return items;
  };

  exports.getAccessibilityItemsArticle = getAccessibilityItemsArticle;
},1725,[5,1726,1727,1728,1729,1730,1731,1732,1733,1734,1735,1736,1737,1738,1739,1740,1741,1742,1743,1744,1745,1746,1747,1748,1749,1750,1751,1752,1753,1754,1755,1756,1757,1758,1759,1760,1761,1762,1763,1764,1765,1766,1767,1768,1769,1770,1771,1772,1773,1774,1775,1776,1777,1778,1779,1780,1781,1782,1783,1784,1785,1786,1787,1788,1789,1790,1791,1792,1793,1794,1795,1796,1797,1798,1799,1800,1801,1802,1803,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var AccessibilityListItem = function () {
    function AccessibilityListItem() {
      var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
      (0, _classCallCheck2.default)(this, AccessibilityListItem);
      this.key = action.key;
      this.text = global.strings(action.defaultLabelKey, params);
    }

    (0, _createClass2.default)(AccessibilityListItem, [{
      key: "getKey",
      value: function getKey() {
        return this.key;
      }
    }, {
      key: "getText",
      value: function getText() {
        return this.text;
      }
    }]);
    return AccessibilityListItem;
  }();

  exports.default = AccessibilityListItem;
},1726,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "45c8580e1792fcb822cf7dda10017ccf",
    "name": "ic-circle-back",
    "type": "png"
  });
},1727,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "613863d0df368e626999ad9f4158e87f",
    "name": "ic-circle-next",
    "type": "png"
  });
},1728,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "6978b0be11e512eda129ef180bb63c88",
    "name": "ic-circle-up",
    "type": "png"
  });
},1729,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "f9b30b50eae30abdd4c6909a78efb652",
    "name": "ic-store",
    "type": "png"
  });
},1730,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "e4168ddb673c3e55284ff279c28cc4db",
    "name": "ic-language",
    "type": "png"
  });
},1731,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "034bfe8a3f4123c6f8b4b8da12530d78",
    "name": "ic-more",
    "type": "png"
  });
},1732,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "29caf3d3e097907a14f487485874419d",
    "name": "ic-rss",
    "type": "png"
  });
},1733,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "aeae99506fadbc9056401970e0f237ba",
    "name": "ic-thumbnail",
    "type": "png"
  });
},1734,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "8cad01104cc5eae200588591d3cae11d",
    "name": "ic-browse",
    "type": "png"
  });
},1735,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "acf90d30dd27987ed2620ef33d15a6e5",
    "name": "ic-read",
    "type": "png"
  });
},1736,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "7643029cd05f6a836321b3981632b035",
    "name": "ic-index",
    "type": "png"
  });
},1737,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 502,
    "height": 512,
    "scales": [1],
    "hash": "1e83b03c9895293c9ff55f4073dcc7ff",
    "name": "ic-accessibility",
    "type": "png"
  });
},1738,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "bced865f6219398b7191d2daa3468779",
    "name": "ic-search",
    "type": "png"
  });
},1739,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "681d0a13bf8456b5476ead4d9263cffe",
    "name": "ic-supplements",
    "type": "png"
  });
},1740,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "ab055d81bbc8c4018146610f46725762",
    "name": "ic-calendar",
    "type": "png"
  });
},1741,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "02d26871539edb78786b3e6da157ea44",
    "name": "ic-contact",
    "type": "png"
  });
},1742,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "ac631eb39a10015e40c478e24e036846",
    "name": "ic-login",
    "type": "png"
  });
},1743,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "9dc95ce92cd1c6f49a3a3f226fc6f7eb",
    "name": "ic-settings",
    "type": "png"
  });
},1744,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "e0481a118606dead3a295fef981d7edc",
    "name": "ic-help",
    "type": "png"
  });
},1745,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 34,
    "height": 30,
    "scales": [1],
    "hash": "2a96f9c30f6e03150a95ddd31081cd6f",
    "name": "ic-archive",
    "type": "png"
  });
},1746,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 512,
    "height": 512,
    "scales": [1],
    "hash": "848b0b22c1b52300f93704a7742a4013",
    "name": "ic-car-mode",
    "type": "png"
  });
},1747,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "14b736755a49a5950221b3e9096dd851",
    "name": "ic-download",
    "type": "png"
  });
},1748,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "16efbb191e582c375ffe1769776fa961",
    "name": "ic-fit",
    "type": "png"
  });
},1749,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "a8f8040cf758c03728c1ebbd16b07bb9",
    "name": "ic-unfit",
    "type": "png"
  });
},1750,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "47f5b6375873018bc17335a0c076ec8c",
    "name": "ic-up",
    "type": "png"
  });
},1751,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "2e5760e962fac769536c2c6c65ee9395",
    "name": "ic-prev",
    "type": "png"
  });
},1752,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "6bf86efa5c3303d8cdf086b8ed847e33",
    "name": "ic-next",
    "type": "png"
  });
},1753,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "47966434c6e29673f6fc5d3535cae4cb",
    "name": "ic-share",
    "type": "png"
  });
},1754,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "4e71926e0879cfb848b561bd7b5b4213",
    "name": "ic-circle-car-mode",
    "type": "png"
  });
},1755,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "88fad4ca39a216c47441048e9d5e62df",
    "name": "ic-circle-accessibility",
    "type": "png"
  });
},1756,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "bf9fb2944d5f0bd3874ee6bd1a9eceb3",
    "name": "ic-circle-close",
    "type": "png"
  });
},1757,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "5e45a9c50db3d62397ad8551cf95e3a9",
    "name": "ic-circle-search",
    "type": "png"
  });
},1758,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "15e2b1fe93a891795c780a58815f9c82",
    "name": "ic-circle-clear-search",
    "type": "png"
  });
},1759,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "6ba5a41885a677cd43e072b06055463d",
    "name": "ic-circle-share",
    "type": "png"
  });
},1760,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "8ce2f5e609fe1fb5e24943a8860dc6f7",
    "name": "ic-share-facebook",
    "type": "png"
  });
},1761,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "e78c910aa27719184422141df8d41d61",
    "name": "ic-share-twitter",
    "type": "png"
  });
},1762,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "fad59489972a85f52ebafd4dfbd49b49",
    "name": "ic-share-reddit",
    "type": "png"
  });
},1763,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "76f3b241bb2759700b4ea1cc33ab3ca8",
    "name": "ic-share-email",
    "type": "png"
  });
},1764,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "db503f8d7a4f0d48e1c64f117cb81458",
    "name": "ic-circle-expand",
    "type": "png"
  });
},1765,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "f2a8eb6e4f68a7669d4b9c6a756f078b",
    "name": "ic-circle-collapse",
    "type": "png"
  });
},1766,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "a1acc1f8030e4476c081efb2bb5ea04c",
    "name": "ic-circle-tts-on",
    "type": "png"
  });
},1767,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "1a6baa693214e6694432380827bb4065",
    "name": "ic-circle-tts-off",
    "type": "png"
  });
},1768,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "add8a361710899a68d8ab63d1a09fffb",
    "name": "ic-circle-toggle-graphic",
    "type": "png"
  });
},1769,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "306ed6f673ae6592625c635761f1d3f6",
    "name": "ic-circle-toggle-text",
    "type": "png"
  });
},1770,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "01b7cd24c6e74f8481d564ca1f5afd05",
    "name": "ic-circle-font-increase",
    "type": "png"
  });
},1771,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "581aca734d03b65f68a70b60eaefc7c7",
    "name": "ic-circle-font-decrease",
    "type": "png"
  });
},1772,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "5e5863653a1d1427c5143285b3f82259",
    "name": "ic-circle-graph-increase",
    "type": "png"
  });
},1773,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "80f60866aae6b2df4bb622316e44cd2c",
    "name": "ic-circle-graph-decrease",
    "type": "png"
  });
},1774,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "45c1055f3a678eb6a967dd850707314c",
    "name": "ic-circle-zoom-fit-out",
    "type": "png"
  });
},1775,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "9b2380c5c569ec06999a8643f295853d",
    "name": "ic-circle-print",
    "type": "png"
  });
},1776,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "7b48fb4c836276960783eda6bf78c0f3",
    "name": "ic-circle-translate",
    "type": "png"
  });
},1777,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "d5d0830e9a062de4ccdf2f1393852cab",
    "name": "ar",
    "type": "png"
  });
},1778,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "1253e52865d2aa74c5b21a5e57bc1e66",
    "name": "cn",
    "type": "png"
  });
},1779,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "b92186dfe15c358f93dc14c629854187",
    "name": "bs",
    "type": "png"
  });
},1780,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "7c3229b3383ad9f95813dbdadff3ac0d",
    "name": "da",
    "type": "png"
  });
},1781,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "ada9a0ecd8ea2500afb9ec99296673a5",
    "name": "de",
    "type": "png"
  });
},1782,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "f93c7d09e4b862378133a326cea5c908",
    "name": "el",
    "type": "png"
  });
},1783,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "0faaa9e600183cc49e653b809e6f806e",
    "name": "en",
    "type": "png"
  });
},1784,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "61954655d226abf50a2a71ad61651588",
    "name": "es",
    "type": "png"
  });
},1785,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "3113565b0bca4098b5677ca9395a10f6",
    "name": "fr",
    "type": "png"
  });
},1786,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "ea6b5a67335b99aa29d5a0b4ae6dbcb4",
    "name": "hr",
    "type": "png"
  });
},1787,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "f9f1de0d53ccd181caa26ecc0130ba54",
    "name": "it",
    "type": "png"
  });
},1788,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "db5efce5019a6f53a6769984d759b52a",
    "name": "ja",
    "type": "png"
  });
},1789,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "8db6a19b2f2b31aef1e74d4f73bc69ac",
    "name": "ko",
    "type": "png"
  });
},1790,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "8426ee7c20c8b5aba746377cd1fa863a",
    "name": "ms",
    "type": "png"
  });
},1791,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "4865405f3786a8c63a913b4d8a3af170",
    "name": "no",
    "type": "png"
  });
},1792,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "6bd61a4a0d90eb99aa87104c22165cae",
    "name": "nl",
    "type": "png"
  });
},1793,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "5595f3682257331a45359bb6c76fe680",
    "name": "pt",
    "type": "png"
  });
},1794,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "ce61769dbcf9ef7c9bbff78a93a26c88",
    "name": "ru",
    "type": "png"
  });
},1795,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "c9968af1620d6c269b4d542a0396f139",
    "name": "sl",
    "type": "png"
  });
},1796,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "460a4767e02ba17a08280763e56c3836",
    "name": "sq",
    "type": "png"
  });
},1797,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "4964db473e6c02c2e53d7afefdf2972c",
    "name": "sr",
    "type": "png"
  });
},1798,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "eb24ee9da62bbafc134a3932a6bbb6b3",
    "name": "sv",
    "type": "png"
  });
},1799,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 32,
    "height": 32,
    "scales": [1],
    "hash": "2ecd1f589181ca5b19b88932049c540b",
    "name": "us",
    "type": "png"
  });
},1800,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "8365dae40f9b069c1b8cdac98fb53569",
    "name": "ic-warning",
    "type": "png"
  });
},1801,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "42b514a8bdd098a614d2a7507a94cf1c",
    "name": "ic-circle-eye-off",
    "type": "png"
  });
},1802,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "b4d434e56b55aea85c3192022f46b285",
    "name": "ic-circle-eye",
    "type": "png"
  });
},1803,[1179]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
    "main": {
        "enableHighlighting": "true",
        "backgroundColor": "#000000",
        "textColor": "#FFFFFF",
        "buttonHighlightColor": "#4DB9E3",
        "defaultButtonHighlightColor": "#FFFFFF",
        "buttons": [
            {
                "text": "Read",
                "iconUrlOn": "",
                "iconUrlOff": "",
                "iconLibrary": "",
                "height": "45",
                "padding": "0,0,0,0",
                "forceText": "0",
                "function": "openRead"
            },
            {
                "text": "Swipe",
                "iconUrlOn": "",
                "iconUrlOff": "",
                "iconLibrary": "",
                "height": "45",
                "padding": "0,0,0,0",
                "forceText": "0",
                "function": "openSwipe"
            },
            {
                "text": "Browse",
                "iconUrlOn": "",
                "iconUrlOff": "",
                "iconLibrary": "",
                "height": "45",
                "padding": "0,0,0,0",
                "forceText": "0",
                "function": "openBrowse"
            },
            {
                "text": "Thumbs",
                "iconUrlOn": "",
                "iconUrlOff": "",
                "iconLibrary": "",
                "height": "45",
                "padding": "0,0,0,0",
                "forceText": "0",
                "function": "openThumbnail"
            },
            {
                "text": "Index",
                "iconUrlOn": "",
                "iconUrlOff": "",
                "iconLibrary": "",
                "height": "45",
                "padding": "0,0,0,0",
                "forceText": "0",
                "function": "openIndex"
            },
            {
                "text": "Editions",
                "iconUrlOn": "",
                "iconUrlOff": "",
                "height": "45",
                "padding": "0,0,0,0",
                "forceText": "0",
                "function": "openOptionPageEditions"
            },
            {
                "text": "News",
                "iconUrlOn": "",
                "iconUrlOff": "",
                "height": "45",
                "padding": "0,0,0,0",
                "forceText": "0",
                "function": "openLiveNews"
            },
            {
                "text": "",
                "iconUrlOn": "",
                "iconUrlOff": "",
                "iconLibrary": "",
                "height": "45",
                "padding": "0,0,0,0",
                "forceText": "0",
                "function": "downloadEdition"
            },
            {
                "text": "Specials",
                "iconUrlOn": "",
                "iconUrlOff": "",
                "height": "45",
                "padding": "0,0,0,0",
                "forceText": "0",
                "function": "openSpecialSections"
            },
            {
                "text": "More",
                "iconUrlOn": "",
                "iconUrlOff": "",
                "iconLibrary": "",
                "height": "45",
                "padding": "0,0,0,0",
                "forceText": "0",
                "function": "openMore"
            },
            {
                "text": "Fit",
                "iconUrlOn": "",
                "iconUrlOff": "",
                "iconLibrary": "",
                "height": "45",
                "padding": "0,0,0,0",
                "forceText": "0",
                "function": "fitPageToggle"
            }
        ],
        "more": [
            {
                "id": "1",
                "text": "Search",
                "forceText": "0",
                "iconUrlOff": "",
                "iconLibrary": "",
                "function": "openSearch"
            },
            {
                "id": "2",
                "text": "Publications",
                "forceText": "0",
                "function": "openOptionPagePublications"
            },
            {
                "id": "3",
                "text": "Login",
                "iconUrlOff": "",
                "iconLibrary": "",
                "forceText": "0",
                "function": "openOptionPageLogin"
            },
            {
                "id": "4",
                "text": "Help",
                "iconUrlOff": "",
                "iconLibrary": "",
                "forceText": "0",
                "function": "openOptionPageHelp"
            },
            {
                "id": "5",
                "text": "Contact",
                "iconUrlOff": "",
                "iconLibrary": "",
                "forceText": "0",
                "function": "openOptionPageContact"
            },
            {
                "id": "6",
                "text": "Settings",
                "iconUrlOff": "",
                "iconLibrary": "",
                "forceText": "0",
                "function": "openOptionPageSettings"
            }
        ]
    },
    "navigation": {
        "backgroundColor": "transparent",
        "textColor": "#000000",
        "back": { 
            "buttons": [
                {
                    "text": "BackPage",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "iconLibrary": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "backPage"
                },
                {
                    "text": "BackSection",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "iconLibrary": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "backSection"
                }
            ]
        },
        "forward": { 
            "buttons": [
                {
                    "text": "ForwardPage",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "iconLibrary": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "forwardPage"
                },
                {
                    "text": "ForwardSection",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "iconLibrary": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "forwardSection"
                }
                ]
            }
    },
    "index": {
        "firstLevel": {
            "header": {
                "url": "",
                "function": "openIndex",
                "padding": "0,0,0,0",
                "alignment": "left"
            },
            "hr": {
                "top": {
                    "color": "#000000",
                    "height": "1"
                },
                "bottom": {
                    "color": "",
                    "height": ""
                }
            },
            "left": {
                "color": "#000000",
                "buttons": []
            },
            "right": {
                "buttons": [
                    {
                        "text": "GoUp",
                        "iconUrlOn": "",
                        "iconUrlOff": "",
                        "iconLibrary": "",
                        "height": "35",
                        "padding": "0,0,0,0",
                        "function": "goUp"
                    },
                    {
                        "text": "FullScreenToggle",
                        "iconUrlOn": "",
                        "iconUrlOff": "",
                        "iconLibrary": "",
                        "height": "35",
                        "padding": "0,0,0,0",
                        "function": "toggleFullScreen"
                    },
                    {
                        "text": "Close",
                        "iconUrlOn": "",
                        "iconUrlOff": "",
                        "iconLibrary": "",
                        "height": "35",
                        "padding": "0,0,0,0",
                        "function": "closeArticle"
                    }
                ]
            }
        },
        "secondLevel": {
            "header": {
                "url": "",
                "function": "openIndex",
                "padding": "0,0,0,0",
                "alignment": "left"
            },
            "hr": {
                "top": {
                    "color": "#000000",
                    "height": "1"
                },
                "bottom": {
                    "color": "",
                    "height": ""
                }
            },
            "left": {
                "color": "#000000",
                "buttons": []
            },
            "right": {
                "buttons": [
                    {
                        "text": "GoBack",
                        "iconUrlOn": "",
                        "iconUrlOff": "",
                        "iconLibrary": "",
                        "height": "35",
                        "padding": "0,0,0,0",
                        "function": "goBack"
                    },
                    {
                        "text": "GoUp",
                        "iconUrlOn": "",
                        "iconUrlOff": "",
                        "iconLibrary": "",
                        "height": "35",
                        "padding": "0,0,0,0",
                        "function": "goUp"
                    },
                    {
                        "text": "GoNext",
                        "iconUrlOn": "",
                        "iconUrlOff": "",
                        "iconLibrary": "",
                        "height": "35",
                        "padding": "0,0,0,0",
                        "function": "goNext"
                    },
                    {
                        "text": "FullScreenToggle",
                        "iconUrlOn": "",
                        "iconUrlOff": "",
                        "iconLibrary": "",
                        "height": "35",
                        "padding": "0,0,0,0",
                        "function": "toggleFullScreen"
                    },
                    {
                        "text": "Close",
                        "iconUrlOn": "",
                        "iconUrlOff": "",
                        "iconLibrary": "",
                        "height": "35",
                        "padding": "0,0,0,0",
                        "function": "closeArticle"
                    }
                ]
            }
        }
    },
    "article": {
        "header": {
            "url": "",
            "function": "openIndex",
            "padding": "0,0,0,0",
            "alignment": "left"
        },
        "hr": {
            "top": {
                "color": "#000000",
                "height": "1"
            },
            "bottom": {
                "color": "",
                "height": ""
            }
        },
        "left": {
            "color": "#000000",
            "hoverText": "Example hover text",
            "size": "20",
            "padding": "20,0,0,0",
            "alignment": "left",
            "buttons": [
                {
                    "text": "Print",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "iconLibrary": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "print"
                },
                {
                    "text": "Share",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "iconLibrary": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "share"
                }
            ]
        },
        "right": {
            "buttons": [
                {
                    "text": "Search",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "iconLibrary": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "search"
                },
                {
                    "text": "Clear search",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "clearSearch"
                },
                {
                    "text": "FontDecrease",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "iconLibrary": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "fontDecrease"
                },
                {
                    "text": "FontIncrease",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "iconLibrary": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "fontIncrease"
                },
                {
                    "text": "ToggleArticleExtra",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "iconLibrary": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "toggleArticleExtra"
                },
                {
                    "text": "GraphDecrease",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "iconLibrary": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "graphDecrease"
                },
                {
                    "text": "GraphIncrease",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "iconLibrary": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "graphIncrease"
                },
                {
                    "text": "GraphZoomUnfit",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "iconLibrary": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "graphZoomUnfit"
                },
                {
                    "text": "TextToSpeech",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "iconLibrary": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "toggleTextToSpeech"
                },
                {
                    "text": "FullScreenToggle",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "iconLibrary": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "toggleFullScreen"
                },
                {
                    "text": "Graphic",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "iconLibrary": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "toggleGraphic"
                },
                {
                    "text": "Close",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "iconLibrary": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "closeArticle"
                }
            ]
        },
        "footer": {
            "buttons": null,
            "more": [
                {
                    "id": "1",
                    "text": "Search",
                    "forceText": "0",
                    "function": "openSearch"
                },
                {
                    "id": "2",
                    "text": "Login",
                    "forceText": "0",
                    "function": "openOptionPageLogin"
                },
                {
                    "id": "3",
                    "text": "Help",
                    "forceText": "0",
                    "function": "openOptionPageHelp"
                },
                {
                    "id": "4",
                    "text": "Contact",
                    "forceText": "0",
                    "function": "openOptionPageContact"
                },
                {
                    "id": "5",
                    "text": "Settings",
                    "forceText": "0",
                    "function": "openOptionPageSettings"
                }
            ]
        }
    }
}
;
},1804,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Icon = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Icon = function (_BaseModel) {
    (0, _inherits2.default)(Icon, _BaseModel);

    var _super = _createSuper(Icon);

    function Icon(json, key) {
      var _this;

      (0, _classCallCheck2.default)(this, Icon);
      _this = _super.call(this, json);
      _this.key = key;
      _this.forceText = _this.getValueByKey("forceText", "0") === "1";

      var splitted = _this.getValueByKey("function", "").split(":");

      _this.action = splitted[0];
      _this.actionValue = _$$_REQUIRE(_dependencyMap[6]).StringUtils.decodeURIComponent(splitted[1]);
      _this.id = parseInt(_this.getValueByKey("id", "-1"), 10);
      _this.library = _this.getValueByKey("iconLibrary", "");
      _this.icon = _this.setIcon(_this.getValueByKey("iconUrlOff"));
      _this.activeIcon = _this.setIcon(_this.getValueByKey("iconUrlOn"), true);
      _this.text = _$$_REQUIRE(_dependencyMap[6]).StringUtils.decodeHTML(_this.getValueByKey("text", ""));
      _this.loggedInText = _$$_REQUIRE(_dependencyMap[6]).StringUtils.decodeHTML(_this.getValueByKey("loggedInText", ""));
      _this.innerTextSupported = _this.getValueByKey("innerTextSupported", _this.customIcon ? "0" : "1") === "1";
      return _this;
    }

    (0, _createClass2.default)(Icon, [{
      key: "setIcon",
      value: function setIcon(jsonValue) {
        var activeIcon = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;

        var css = _$$_REQUIRE(_dependencyMap[7]).Css.getStyleObjByCssClasses(["newsmemory-" + this.key + "-icon", "newsmemory-" + this.key + "-icon-" + this.action]);

        if (css) {
          if (css.src === "default") {
            jsonValue = "";
            this.library = "";
          } else {
            this.library = css.library || this.library;

            if (css.src !== "inherit") {
              jsonValue = css.src && css.src.length ? css.src : jsonValue;
            }
          }
        }

        if (this.isLibraryIcon()) {
          this.customIcon = true;
          return jsonValue || "";
        }

        if (jsonValue && jsonValue.length) {
          this.customIcon = true;
          return {
            uri: _$$_REQUIRE(_dependencyMap[6]).StringUtils.decodeURIComponent(jsonValue)
          };
        }

        var iconDefaultObj = _$$_REQUIRE(_dependencyMap[8]).ACTIONS[this.action];

        if (iconDefaultObj) {
          if (activeIcon && iconDefaultObj.activeIcon) {
            return iconDefaultObj.activeIcon;
          }

          return iconDefaultObj.icon;
        }

        return undefined;
      }
    }, {
      key: "getText",
      value: function getText() {
        return this.text;
      }
    }, {
      key: "getLoggedInText",
      value: function getLoggedInText() {
        return this.loggedInText;
      }
    }, {
      key: "getActiveIcon",
      value: function getActiveIcon() {
        return this.activeIcon;
      }
    }, {
      key: "getIcon",
      value: function getIcon() {
        return this.icon;
      }
    }, {
      key: "getAction",
      value: function getAction() {
        return this.action;
      }
    }, {
      key: "getActionValue",
      value: function getActionValue() {
        return this.actionValue;
      }
    }, {
      key: "getId",
      value: function getId() {
        return this.id;
      }
    }, {
      key: "isForceText",
      value: function isForceText() {
        return this.forceText;
      }
    }, {
      key: "isCustomIcon",
      value: function isCustomIcon() {
        return this.customIcon;
      }
    }, {
      key: "getLibrary",
      value: function getLibrary() {
        return this.library;
      }
    }, {
      key: "isLibraryIcon",
      value: function isLibraryIcon() {
        return this.library && Object.values(_$$_REQUIRE(_dependencyMap[9]).TecnaviaIconType).includes(this.library);
      }
    }, {
      key: "supportInnerText",
      value: function supportInnerText() {
        return this.innerTextSupported;
      }
    }]);
    return Icon;
  }(_$$_REQUIRE(_dependencyMap[10]).BaseModel);

  exports.Icon = Icon;
},1805,[5,7,8,12,14,16,462,699,1725,1806,1844]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.TecnaviaIconType = exports.iconBase64 = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _AntDesign = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _Entypo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _EvilIcons = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _Feather = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _FontAwesome = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _FontAwesome2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _Fontisto = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _Foundation = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _Ionicons = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _MaterialIcons = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _MaterialCommunityIcons = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _Octicons = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _Zocial = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[23]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[24]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TecnaviaIconType = {
    ANT_DESIGN: "AntDesign",
    ENTYPO: "Entypo",
    EVIL_ICONS: "EvilIcons",
    FEATHER: "Feather",
    FONT_AWESOME: "FontAwesome",
    FONT_AWESOME_5: "FontAwesome5",
    FONTISTO: "Fontisto",
    FOUNDATION: "Foundation",
    IONICONS: "Ionicons",
    MATERIAL_ICONS: "MaterialIcons",
    MATERIAL_COMMUNITY_ICONS: "MaterialCommunityIcons",
    OCTICONS: "Octicons",
    ZOCIAL: "Zocial"
  };
  exports.TecnaviaIconType = TecnaviaIconType;

  var getConfigFromProps = function getConfigFromProps(props) {
    var type = props.type,
        style = props.style,
        name = props.name,
        rest = (0, _objectWithoutProperties2.default)(props, ["type", "style", "name"]);

    var iconType = _$$_REQUIRE(_dependencyMap[25]).CssUtils.getAttributeFromStyle("library", style, type, true);

    var iconName = _$$_REQUIRE(_dependencyMap[25]).CssUtils.getAttributeFromStyle("src", style, name, true);

    var Component = null;

    switch (iconType) {
      case TecnaviaIconType.ANT_DESIGN:
        Component = _AntDesign.default;
        break;

      case TecnaviaIconType.ENTYPO:
        Component = _Entypo.default;
        break;

      case TecnaviaIconType.EVIL_ICONS:
        Component = _EvilIcons.default;
        break;

      case TecnaviaIconType.FEATHER:
        Component = _Feather.default;
        break;

      case TecnaviaIconType.FONT_AWESOME:
        Component = _FontAwesome.default;
        break;

      case TecnaviaIconType.FONT_AWESOME_5:
        Component = _FontAwesome2.default;
        break;

      case TecnaviaIconType.FONTISTO:
        Component = _Fontisto.default;
        break;

      case TecnaviaIconType.FOUNDATION:
        Component = _Foundation.default;
        break;

      case TecnaviaIconType.IONICONS:
        Component = _Ionicons.default;
        break;

      case TecnaviaIconType.MATERIAL_ICONS:
        Component = _MaterialIcons.default;
        break;

      case TecnaviaIconType.MATERIAL_COMMUNITY_ICONS:
        Component = _MaterialCommunityIcons.default;
        break;

      case TecnaviaIconType.OCTICONS:
        Component = _Octicons.default;
        break;

      case TecnaviaIconType.ZOCIAL:
        Component = _Zocial.default;
        break;
    }

    return (0, _extends2.default)({}, rest, {
      name: iconName,
      style: style,
      Component: Component
    });
  };

  var iconBase64 = function _callee(props) {
    var _getConfigFromProps, Component, name, size, source, base64;

    return _regenerator.default.async(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            _context.prev = 0;
            _getConfigFromProps = getConfigFromProps(props), Component = _getConfigFromProps.Component, name = _getConfigFromProps.name, size = _getConfigFromProps.size;

            if (!Component) {
              _context.next = 10;
              break;
            }

            _context.next = 5;
            return _regenerator.default.awrap(Component.getImageSource(name, size));

          case 5:
            source = _context.sent;
            _context.next = 8;
            return _regenerator.default.awrap(_tecnaviaFileUtils.default.readFileBase64(source.uri));

          case 8:
            base64 = _context.sent;
            return _context.abrupt("return", "data:image/jpeg;base64," + base64);

          case 10:
            _context.next = 14;
            break;

          case 12:
            _context.prev = 12;
            _context.t0 = _context["catch"](0);

          case 14:
            return _context.abrupt("return", undefined);

          case 15:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, [[0, 12]], Promise);
  };

  exports.iconBase64 = iconBase64;

  var TecnaviaIcon = function (_React$Component) {
    (0, _inherits2.default)(TecnaviaIcon, _React$Component);

    var _super = _createSuper(TecnaviaIcon);

    function TecnaviaIcon() {
      (0, _classCallCheck2.default)(this, TecnaviaIcon);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(TecnaviaIcon, [{
      key: "render",
      value: function render() {
        var _getConfigFromProps2 = getConfigFromProps(this.props),
            Component = _getConfigFromProps2.Component,
            rest = (0, _objectWithoutProperties2.default)(_getConfigFromProps2, ["Component"]);

        if (Component) {
          return _react.default.createElement(Component, rest);
        }

        return Component;
      }
    }]);
    return TecnaviaIcon;
  }(_react.default.Component);

  TecnaviaIcon.propTypes = {
    type: _propTypes.default.string,
    style: _propTypes.default.any,
    name: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])
  };
  var _default = TecnaviaIcon;
  exports.default = _default;
},1806,[5,80,7,8,12,14,16,6,108,17,201,1807,1817,1819,1821,1823,1825,1830,1832,1834,1836,1838,1840,1842,574,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getImageSourceSync = exports.getImageSource = exports.Button = exports.default = undefined;

  var _createIconSet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _AntDesign = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var iconSet = (0, _createIconSet.default)(_AntDesign.default, 'anticon', 'AntDesign.ttf');
  var _default = iconSet;
  exports.default = _default;
  var Button = iconSet.Button,
      getImageSource = iconSet.getImageSource,
      getImageSourceSync = iconSet.getImageSourceSync;
  exports.getImageSourceSync = getImageSourceSync;
  exports.getImageSource = getImageSource;
  exports.Button = Button;
},1807,[5,1808,1816]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = createIconSet;
  exports.DEFAULT_ICON_COLOR = exports.DEFAULT_ICON_SIZE = exports.NativeIconAPI = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _ensureNativeModuleAvailable = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _createIconSourceCache = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _iconButton = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NativeIconAPI = _$$_REQUIRE(_dependencyMap[14]).NativeModules.RNVectorIconsManager || _$$_REQUIRE(_dependencyMap[14]).NativeModules.RNVectorIconsModule;

  exports.NativeIconAPI = NativeIconAPI;
  var DEFAULT_ICON_SIZE = 12;
  exports.DEFAULT_ICON_SIZE = DEFAULT_ICON_SIZE;
  var DEFAULT_ICON_COLOR = 'black';
  exports.DEFAULT_ICON_COLOR = DEFAULT_ICON_COLOR;

  function createIconSet(glyphMap, fontFamily, fontFile, fontStyle) {
    var fontBasename = fontFile ? fontFile.replace(/\.(otf|ttf)$/, '') : fontFamily;

    var fontReference = _$$_REQUIRE(_dependencyMap[14]).Platform.select({
      windows: "/Assets/" + fontFile + "#" + fontFamily,
      android: fontBasename,
      web: fontBasename,
      default: fontFamily
    });

    var IconNamePropType = _propTypes.default.oneOf(Object.keys(glyphMap));

    var Icon = function (_PureComponent) {
      (0, _inherits2.default)(Icon, _PureComponent);

      var _super = _createSuper(Icon);

      function Icon() {
        var _this;

        (0, _classCallCheck2.default)(this, Icon);

        for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
          args[_key] = arguments[_key];
        }

        _this = _super.call.apply(_super, [this].concat(args));
        _this.root = null;

        _this.handleRef = function (ref) {
          _this.root = ref;
        };

        return _this;
      }

      (0, _createClass2.default)(Icon, [{
        key: "setNativeProps",
        value: function setNativeProps(nativeProps) {
          if (this.root) {
            this.root.setNativeProps(nativeProps);
          }
        }
      }, {
        key: "render",
        value: function render() {
          var _this$props = this.props,
              name = _this$props.name,
              size = _this$props.size,
              color = _this$props.color,
              style = _this$props.style,
              children = _this$props.children,
              props = (0, _objectWithoutProperties2.default)(_this$props, ["name", "size", "color", "style", "children"]);
          var glyph = name ? glyphMap[name] || '?' : '';

          if (typeof glyph === 'number') {
            glyph = String.fromCodePoint(glyph);
          }

          var styleDefaults = {
            fontSize: size,
            color: color
          };
          var styleOverrides = {
            fontFamily: fontReference,
            fontWeight: 'normal',
            fontStyle: 'normal'
          };
          props.style = [styleDefaults, style, styleOverrides, fontStyle || {}];
          props.ref = this.handleRef;
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Text, props, glyph, children);
        }
      }]);
      return Icon;
    }(_react.PureComponent);

    Icon.propTypes = {
      allowFontScaling: _propTypes.default.bool,
      name: IconNamePropType,
      size: _propTypes.default.number,
      color: _propTypes.default.any,
      children: _propTypes.default.node,
      style: _propTypes.default.any
    };
    Icon.defaultProps = {
      size: DEFAULT_ICON_SIZE,
      allowFontScaling: false
    };
    var imageSourceCache = (0, _createIconSourceCache.default)();

    function resolveGlyph(name) {
      var glyph = glyphMap[name] || '?';

      if (typeof glyph === 'number') {
        return String.fromCodePoint(glyph);
      }

      return glyph;
    }

    function getImageSourceSync(name) {
      var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_ICON_SIZE;
      var color = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_ICON_COLOR;
      (0, _ensureNativeModuleAvailable.default)();
      var glyph = resolveGlyph(name);
      var processedColor = (0, _$$_REQUIRE(_dependencyMap[14]).processColor)(color);
      var cacheKey = glyph + ":" + size + ":" + processedColor;

      if (imageSourceCache.has(cacheKey)) {
        return imageSourceCache.get(cacheKey);
      }

      try {
        var imagePath = NativeIconAPI.getImageForFontSync(fontReference, glyph, size, processedColor);
        var value = {
          uri: imagePath,
          scale: _$$_REQUIRE(_dependencyMap[14]).PixelRatio.get()
        };
        imageSourceCache.setValue(cacheKey, value);
        return value;
      } catch (error) {
        imageSourceCache.setError(cacheKey, error);
        throw error;
      }
    }

    function getImageSource(name) {
      var size,
          color,
          glyph,
          processedColor,
          cacheKey,
          imagePath,
          value,
          _args = arguments;
      return _regenerator.default.async(function getImageSource$(_context) {
        while (1) {
          switch (_context.prev = _context.next) {
            case 0:
              size = _args.length > 1 && _args[1] !== undefined ? _args[1] : DEFAULT_ICON_SIZE;
              color = _args.length > 2 && _args[2] !== undefined ? _args[2] : DEFAULT_ICON_COLOR;
              (0, _ensureNativeModuleAvailable.default)();
              glyph = resolveGlyph(name);
              processedColor = (0, _$$_REQUIRE(_dependencyMap[14]).processColor)(color);
              cacheKey = glyph + ":" + size + ":" + processedColor;

              if (!imageSourceCache.has(cacheKey)) {
                _context.next = 8;
                break;
              }

              return _context.abrupt("return", imageSourceCache.get(cacheKey));

            case 8:
              _context.prev = 8;
              _context.next = 11;
              return _regenerator.default.awrap(NativeIconAPI.getImageForFont(fontReference, glyph, size, processedColor));

            case 11:
              imagePath = _context.sent;
              value = {
                uri: imagePath,
                scale: _$$_REQUIRE(_dependencyMap[14]).PixelRatio.get()
              };
              imageSourceCache.setValue(cacheKey, value);
              return _context.abrupt("return", value);

            case 17:
              _context.prev = 17;
              _context.t0 = _context["catch"](8);
              imageSourceCache.setError(cacheKey, _context.t0);
              throw _context.t0;

            case 21:
            case "end":
              return _context.stop();
          }
        }
      }, null, null, [[8, 17]], Promise);
    }

    function loadFont() {
      var file,
          _args2 = arguments;
      return _regenerator.default.async(function loadFont$(_context2) {
        while (1) {
          switch (_context2.prev = _context2.next) {
            case 0:
              file = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : fontFile;

              if (!(_$$_REQUIRE(_dependencyMap[14]).Platform.OS === 'ios')) {
                _context2.next = 7;
                break;
              }

              (0, _ensureNativeModuleAvailable.default)();

              if (file) {
                _context2.next = 5;
                break;
              }

              throw new Error('Unable to load font, because no file was specified. ');

            case 5:
              _context2.next = 7;
              return _regenerator.default.awrap(NativeIconAPI.loadFontWithFileName.apply(NativeIconAPI, (0, _toConsumableArray2.default)(file.split('.'))));

            case 7:
            case "end":
              return _context2.stop();
          }
        }
      }, null, null, null, Promise);
    }

    function hasIcon(name) {
      return Object.prototype.hasOwnProperty.call(glyphMap, name);
    }

    function getRawGlyphMap() {
      return glyphMap;
    }

    function getFontFamily() {
      return fontReference;
    }

    Icon.Button = (0, _iconButton.default)(Icon);
    Icon.getImageSource = getImageSource;
    Icon.getImageSourceSync = getImageSourceSync;
    Icon.loadFont = loadFont;
    Icon.hasIcon = hasIcon;
    Icon.getRawGlyphMap = getRawGlyphMap;
    Icon.getFontFamily = getFontFamily;
    return Icon;
  }
},1808,[5,80,21,108,7,8,12,14,16,17,201,1809,1811,1812,1810]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = ensureNativeModuleAvailable;

  var NativeIconAPI = _$$_REQUIRE(_dependencyMap[0]).NativeModules.RNVectorIconsManager || _$$_REQUIRE(_dependencyMap[0]).NativeModules.RNVectorIconsModule;

  function ensureNativeModuleAvailable() {
    if (!NativeIconAPI) {
      if (_$$_REQUIRE(_dependencyMap[0]).Platform.OS === 'android') {
        throw new Error('RNVectorIconsModule not available, did you properly integrate the module? Try running `react-native link react-native-vector-icons` and recompiling.');
      }

      throw new Error('RNVectorIconsManager not available, did you add the library to your project and link with libRNVectorIcons.a? Try running `react-native link react-native-vector-icons` and recompiling.');
    }
  }
},1809,[1810]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  Object.keys(_reactNative).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _reactNative[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _reactNative[key];
      }
    });
  });
},1810,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = createIconSourceCache;
  var TYPE_VALUE = 'value';
  var TYPE_ERROR = 'error';

  function createIconSourceCache() {
    var cache = new Map();

    var setValue = function setValue(key, value) {
      return cache.set(key, {
        type: TYPE_VALUE,
        data: value
      });
    };

    var setError = function setError(key, error) {
      return cache.set(key, {
        type: TYPE_ERROR,
        data: error
      });
    };

    var has = function has(key) {
      return cache.has(key);
    };

    var get = function get(key) {
      if (!cache.has(key)) {
        return undefined;
      }

      var _cache$get = cache.get(key),
          type = _cache$get.type,
          data = _cache$get.data;

      if (type === TYPE_ERROR) {
        throw data;
      }

      return data;
    };

    return {
      setValue: setValue,
      setError: setError,
      has: has,
      get: get
    };
  }
},1811,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = createIconButtonComponent;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _lodash = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _lodash2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _lodash3 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var styles = _$$_REQUIRE(_dependencyMap[13]).StyleSheet.create({
    container: {
      flexDirection: 'row',
      justifyContent: 'flex-start',
      alignItems: 'center',
      padding: 8
    },
    touchable: {
      overflow: 'hidden'
    },
    icon: {
      marginRight: 10
    },
    text: {
      fontWeight: '600',
      backgroundColor: 'transparent'
    }
  });

  var IOS7_BLUE = '#007AFF';
  var TEXT_PROP_NAMES = ['ellipsizeMode', 'numberOfLines', 'textBreakStrategy', 'selectable', 'suppressHighlighting', 'allowFontScaling', 'adjustsFontSizeToFit', 'minimumFontScale'];
  var TOUCHABLE_PROP_NAMES = ['accessible', 'accessibilityLabel', 'accessibilityHint', 'accessibilityComponentType', 'accessibilityRole', 'accessibilityStates', 'accessibilityTraits', 'onFocus', 'onBlur', 'disabled', 'onPress', 'onPressIn', 'onPressOut', 'onLayout', 'onLongPress', 'nativeID', 'testID', 'delayPressIn', 'delayPressOut', 'delayLongPress', 'activeOpacity', 'underlayColor', 'selectionColor', 'onShowUnderlay', 'onHideUnderlay', 'hasTVPreferredFocus', 'tvParallaxProperties'];

  function createIconButtonComponent(Icon) {
    var _class;

    return _class = function (_PureComponent) {
      (0, _inherits2.default)(IconButton, _PureComponent);

      var _super = _createSuper(IconButton);

      function IconButton() {
        (0, _classCallCheck2.default)(this, IconButton);
        return _super.apply(this, arguments);
      }

      (0, _createClass2.default)(IconButton, [{
        key: "render",
        value: function render() {
          var _this$props = this.props,
              style = _this$props.style,
              iconStyle = _this$props.iconStyle,
              children = _this$props.children,
              restProps = (0, _objectWithoutProperties2.default)(_this$props, ["style", "iconStyle", "children"]);
          var iconProps = (0, _lodash3.default)(restProps, TEXT_PROP_NAMES, 'style', 'name', 'size', 'color');
          var touchableProps = (0, _lodash3.default)(restProps, TOUCHABLE_PROP_NAMES);
          var props = (0, _lodash2.default)(restProps, Object.keys(iconProps), Object.keys(touchableProps), 'iconStyle', 'borderRadius', 'backgroundColor');
          iconProps.style = iconStyle ? [styles.icon, iconStyle] : styles.icon;
          var colorStyle = (0, _lodash3.default)(this.props, 'color');
          var blockStyle = (0, _lodash3.default)(this.props, 'backgroundColor', 'borderRadius');
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).TouchableHighlight, (0, _extends2.default)({
            style: [styles.touchable, blockStyle]
          }, touchableProps), _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).View, (0, _extends2.default)({
            style: [styles.container, blockStyle, style]
          }, props), _react.default.createElement(Icon, iconProps), (0, _lodash.default)(children) ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Text, {
            style: [styles.text, colorStyle]
          }, children) : children));
        }
      }]);
      return IconButton;
    }(_react.PureComponent), _class.propTypes = {
      backgroundColor: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
      borderRadius: _propTypes.default.number,
      color: _propTypes.default.any,
      size: _propTypes.default.number,
      iconStyle: _propTypes.default.any,
      style: _propTypes.default.any,
      children: _propTypes.default.node
    }, _class.defaultProps = {
      backgroundColor: IOS7_BLUE,
      borderRadius: 5,
      color: 'white',
      size: 20
    }, _class;
  }
},1812,[5,6,108,7,8,12,14,16,1813,1814,1815,17,201,1810]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var stringTag = '[object String]';
  var objectProto = Object.prototype;
  var objectToString = objectProto.toString;
  var isArray = Array.isArray;

  function isObjectLike(value) {
    return !!value && typeof value == 'object';
  }

  function isString(value) {
    return typeof value == 'string' || !isArray(value) && isObjectLike(value) && objectToString.call(value) == stringTag;
  }

  module.exports = isString;
},1813,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var LARGE_ARRAY_SIZE = 200;
  var HASH_UNDEFINED = '__lodash_hash_undefined__';
  var INFINITY = 1 / 0,
      MAX_SAFE_INTEGER = 9007199254740991;
  var argsTag = '[object Arguments]',
      funcTag = '[object Function]',
      genTag = '[object GeneratorFunction]',
      symbolTag = '[object Symbol]';
  var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
  var reIsHostCtor = /^\[object .+?Constructor\]$/;
  var reIsUint = /^(?:0|[1-9]\d*)$/;
  var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
  var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
  var root = freeGlobal || freeSelf || Function('return this')();

  function apply(func, thisArg, args) {
    switch (args.length) {
      case 0:
        return func.call(thisArg);

      case 1:
        return func.call(thisArg, args[0]);

      case 2:
        return func.call(thisArg, args[0], args[1]);

      case 3:
        return func.call(thisArg, args[0], args[1], args[2]);
    }

    return func.apply(thisArg, args);
  }

  function arrayIncludes(array, value) {
    var length = array ? array.length : 0;
    return !!length && baseIndexOf(array, value, 0) > -1;
  }

  function arrayIncludesWith(array, value, comparator) {
    var index = -1,
        length = array ? array.length : 0;

    while (++index < length) {
      if (comparator(value, array[index])) {
        return true;
      }
    }

    return false;
  }

  function arrayMap(array, iteratee) {
    var index = -1,
        length = array ? array.length : 0,
        result = Array(length);

    while (++index < length) {
      result[index] = iteratee(array[index], index, array);
    }

    return result;
  }

  function arrayPush(array, values) {
    var index = -1,
        length = values.length,
        offset = array.length;

    while (++index < length) {
      array[offset + index] = values[index];
    }

    return array;
  }

  function baseFindIndex(array, predicate, fromIndex, fromRight) {
    var length = array.length,
        index = fromIndex + (fromRight ? 1 : -1);

    while (fromRight ? index-- : ++index < length) {
      if (predicate(array[index], index, array)) {
        return index;
      }
    }

    return -1;
  }

  function baseIndexOf(array, value, fromIndex) {
    if (value !== value) {
      return baseFindIndex(array, baseIsNaN, fromIndex);
    }

    var index = fromIndex - 1,
        length = array.length;

    while (++index < length) {
      if (array[index] === value) {
        return index;
      }
    }

    return -1;
  }

  function baseIsNaN(value) {
    return value !== value;
  }

  function baseTimes(n, iteratee) {
    var index = -1,
        result = Array(n);

    while (++index < n) {
      result[index] = iteratee(index);
    }

    return result;
  }

  function baseUnary(func) {
    return function (value) {
      return func(value);
    };
  }

  function cacheHas(cache, key) {
    return cache.has(key);
  }

  function getValue(object, key) {
    return object == null ? undefined : object[key];
  }

  function isHostObject(value) {
    var result = false;

    if (value != null && typeof value.toString != 'function') {
      try {
        result = !!(value + '');
      } catch (e) {}
    }

    return result;
  }

  function overArg(func, transform) {
    return function (arg) {
      return func(transform(arg));
    };
  }

  var arrayProto = Array.prototype,
      funcProto = Function.prototype,
      objectProto = Object.prototype;
  var coreJsData = root['__core-js_shared__'];

  var maskSrcKey = function () {
    var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');
    return uid ? 'Symbol(src)_1.' + uid : '';
  }();

  var funcToString = funcProto.toString;
  var hasOwnProperty = objectProto.hasOwnProperty;
  var objectToString = objectProto.toString;
  var reIsNative = RegExp('^' + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&').replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$');
  var Symbol = root.Symbol,
      getPrototype = overArg(Object.getPrototypeOf, Object),
      propertyIsEnumerable = objectProto.propertyIsEnumerable,
      splice = arrayProto.splice,
      spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;
  var nativeGetSymbols = Object.getOwnPropertySymbols,
      nativeMax = Math.max;
  var Map = getNative(root, 'Map'),
      nativeCreate = getNative(Object, 'create');

  function Hash(entries) {
    var index = -1,
        length = entries ? entries.length : 0;
    this.clear();

    while (++index < length) {
      var entry = entries[index];
      this.set(entry[0], entry[1]);
    }
  }

  function hashClear() {
    this.__data__ = nativeCreate ? nativeCreate(null) : {};
  }

  function hashDelete(key) {
    return this.has(key) && delete this.__data__[key];
  }

  function hashGet(key) {
    var data = this.__data__;

    if (nativeCreate) {
      var result = data[key];
      return result === HASH_UNDEFINED ? undefined : result;
    }

    return hasOwnProperty.call(data, key) ? data[key] : undefined;
  }

  function hashHas(key) {
    var data = this.__data__;
    return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);
  }

  function hashSet(key, value) {
    var data = this.__data__;
    data[key] = nativeCreate && value === undefined ? HASH_UNDEFINED : value;
    return this;
  }

  Hash.prototype.clear = hashClear;
  Hash.prototype['delete'] = hashDelete;
  Hash.prototype.get = hashGet;
  Hash.prototype.has = hashHas;
  Hash.prototype.set = hashSet;

  function ListCache(entries) {
    var index = -1,
        length = entries ? entries.length : 0;
    this.clear();

    while (++index < length) {
      var entry = entries[index];
      this.set(entry[0], entry[1]);
    }
  }

  function listCacheClear() {
    this.__data__ = [];
  }

  function listCacheDelete(key) {
    var data = this.__data__,
        index = assocIndexOf(data, key);

    if (index < 0) {
      return false;
    }

    var lastIndex = data.length - 1;

    if (index == lastIndex) {
      data.pop();
    } else {
      splice.call(data, index, 1);
    }

    return true;
  }

  function listCacheGet(key) {
    var data = this.__data__,
        index = assocIndexOf(data, key);
    return index < 0 ? undefined : data[index][1];
  }

  function listCacheHas(key) {
    return assocIndexOf(this.__data__, key) > -1;
  }

  function listCacheSet(key, value) {
    var data = this.__data__,
        index = assocIndexOf(data, key);

    if (index < 0) {
      data.push([key, value]);
    } else {
      data[index][1] = value;
    }

    return this;
  }

  ListCache.prototype.clear = listCacheClear;
  ListCache.prototype['delete'] = listCacheDelete;
  ListCache.prototype.get = listCacheGet;
  ListCache.prototype.has = listCacheHas;
  ListCache.prototype.set = listCacheSet;

  function MapCache(entries) {
    var index = -1,
        length = entries ? entries.length : 0;
    this.clear();

    while (++index < length) {
      var entry = entries[index];
      this.set(entry[0], entry[1]);
    }
  }

  function mapCacheClear() {
    this.__data__ = {
      'hash': new Hash(),
      'map': new (Map || ListCache)(),
      'string': new Hash()
    };
  }

  function mapCacheDelete(key) {
    return getMapData(this, key)['delete'](key);
  }

  function mapCacheGet(key) {
    return getMapData(this, key).get(key);
  }

  function mapCacheHas(key) {
    return getMapData(this, key).has(key);
  }

  function mapCacheSet(key, value) {
    getMapData(this, key).set(key, value);
    return this;
  }

  MapCache.prototype.clear = mapCacheClear;
  MapCache.prototype['delete'] = mapCacheDelete;
  MapCache.prototype.get = mapCacheGet;
  MapCache.prototype.has = mapCacheHas;
  MapCache.prototype.set = mapCacheSet;

  function SetCache(values) {
    var index = -1,
        length = values ? values.length : 0;
    this.__data__ = new MapCache();

    while (++index < length) {
      this.add(values[index]);
    }
  }

  function setCacheAdd(value) {
    this.__data__.set(value, HASH_UNDEFINED);

    return this;
  }

  function setCacheHas(value) {
    return this.__data__.has(value);
  }

  SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
  SetCache.prototype.has = setCacheHas;

  function arrayLikeKeys(value, inherited) {
    var result = isArray(value) || isArguments(value) ? baseTimes(value.length, String) : [];
    var length = result.length,
        skipIndexes = !!length;

    for (var key in value) {
      if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && (key == 'length' || isIndex(key, length)))) {
        result.push(key);
      }
    }

    return result;
  }

  function assocIndexOf(array, key) {
    var length = array.length;

    while (length--) {
      if (eq(array[length][0], key)) {
        return length;
      }
    }

    return -1;
  }

  function baseDifference(array, values, iteratee, comparator) {
    var index = -1,
        includes = arrayIncludes,
        isCommon = true,
        length = array.length,
        result = [],
        valuesLength = values.length;

    if (!length) {
      return result;
    }

    if (iteratee) {
      values = arrayMap(values, baseUnary(iteratee));
    }

    if (comparator) {
      includes = arrayIncludesWith;
      isCommon = false;
    } else if (values.length >= LARGE_ARRAY_SIZE) {
      includes = cacheHas;
      isCommon = false;
      values = new SetCache(values);
    }

    outer: while (++index < length) {
      var value = array[index],
          computed = iteratee ? iteratee(value) : value;
      value = comparator || value !== 0 ? value : 0;

      if (isCommon && computed === computed) {
        var valuesIndex = valuesLength;

        while (valuesIndex--) {
          if (values[valuesIndex] === computed) {
            continue outer;
          }
        }

        result.push(value);
      } else if (!includes(values, computed, comparator)) {
        result.push(value);
      }
    }

    return result;
  }

  function baseFlatten(array, depth, predicate, isStrict, result) {
    var index = -1,
        length = array.length;
    predicate || (predicate = isFlattenable);
    result || (result = []);

    while (++index < length) {
      var value = array[index];

      if (depth > 0 && predicate(value)) {
        if (depth > 1) {
          baseFlatten(value, depth - 1, predicate, isStrict, result);
        } else {
          arrayPush(result, value);
        }
      } else if (!isStrict) {
        result[result.length] = value;
      }
    }

    return result;
  }

  function baseGetAllKeys(object, keysFunc, symbolsFunc) {
    var result = keysFunc(object);
    return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
  }

  function baseIsNative(value) {
    if (!isObject(value) || isMasked(value)) {
      return false;
    }

    var pattern = isFunction(value) || isHostObject(value) ? reIsNative : reIsHostCtor;
    return pattern.test(toSource(value));
  }

  function baseKeysIn(object) {
    if (!isObject(object)) {
      return nativeKeysIn(object);
    }

    var isProto = isPrototype(object),
        result = [];

    for (var key in object) {
      if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {
        result.push(key);
      }
    }

    return result;
  }

  function basePick(object, props) {
    object = Object(object);
    return basePickBy(object, props, function (value, key) {
      return key in object;
    });
  }

  function basePickBy(object, props, predicate) {
    var index = -1,
        length = props.length,
        result = {};

    while (++index < length) {
      var key = props[index],
          value = object[key];

      if (predicate(value, key)) {
        result[key] = value;
      }
    }

    return result;
  }

  function baseRest(func, start) {
    start = nativeMax(start === undefined ? func.length - 1 : start, 0);
    return function () {
      var args = arguments,
          index = -1,
          length = nativeMax(args.length - start, 0),
          array = Array(length);

      while (++index < length) {
        array[index] = args[start + index];
      }

      index = -1;
      var otherArgs = Array(start + 1);

      while (++index < start) {
        otherArgs[index] = args[index];
      }

      otherArgs[start] = array;
      return apply(func, this, otherArgs);
    };
  }

  function getAllKeysIn(object) {
    return baseGetAllKeys(object, keysIn, getSymbolsIn);
  }

  function getMapData(map, key) {
    var data = map.__data__;
    return isKeyable(key) ? data[typeof key == 'string' ? 'string' : 'hash'] : data.map;
  }

  function getNative(object, key) {
    var value = getValue(object, key);
    return baseIsNative(value) ? value : undefined;
  }

  var getSymbols = nativeGetSymbols ? overArg(nativeGetSymbols, Object) : stubArray;
  var getSymbolsIn = !nativeGetSymbols ? stubArray : function (object) {
    var result = [];

    while (object) {
      arrayPush(result, getSymbols(object));
      object = getPrototype(object);
    }

    return result;
  };

  function isFlattenable(value) {
    return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
  }

  function isIndex(value, length) {
    length = length == null ? MAX_SAFE_INTEGER : length;
    return !!length && (typeof value == 'number' || reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;
  }

  function isKeyable(value) {
    var type = typeof value;
    return type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean' ? value !== '__proto__' : value === null;
  }

  function isMasked(func) {
    return !!maskSrcKey && maskSrcKey in func;
  }

  function isPrototype(value) {
    var Ctor = value && value.constructor,
        proto = typeof Ctor == 'function' && Ctor.prototype || objectProto;
    return value === proto;
  }

  function nativeKeysIn(object) {
    var result = [];

    if (object != null) {
      for (var key in Object(object)) {
        result.push(key);
      }
    }

    return result;
  }

  function toKey(value) {
    if (typeof value == 'string' || isSymbol(value)) {
      return value;
    }

    var result = value + '';
    return result == '0' && 1 / value == -(1 / 0) ? '-0' : result;
  }

  function toSource(func) {
    if (func != null) {
      try {
        return funcToString.call(func);
      } catch (e) {}

      try {
        return func + '';
      } catch (e) {}
    }

    return '';
  }

  function eq(value, other) {
    return value === other || value !== value && other !== other;
  }

  function isArguments(value) {
    return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);
  }

  var isArray = Array.isArray;

  function isArrayLike(value) {
    return value != null && isLength(value.length) && !isFunction(value);
  }

  function isArrayLikeObject(value) {
    return isObjectLike(value) && isArrayLike(value);
  }

  function isFunction(value) {
    var tag = isObject(value) ? objectToString.call(value) : '';
    return tag == funcTag || tag == genTag;
  }

  function isLength(value) {
    return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
  }

  function isObject(value) {
    var type = typeof value;
    return !!value && (type == 'object' || type == 'function');
  }

  function isObjectLike(value) {
    return !!value && typeof value == 'object';
  }

  function isSymbol(value) {
    return typeof value == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag;
  }

  function keysIn(object) {
    return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
  }

  var omit = baseRest(function (object, props) {
    if (object == null) {
      return {};
    }

    props = arrayMap(baseFlatten(props, 1), toKey);
    return basePick(object, baseDifference(getAllKeysIn(object), props));
  });

  function stubArray() {
    return [];
  }

  module.exports = omit;
},1814,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var INFINITY = 1 / 0,
      MAX_SAFE_INTEGER = 9007199254740991;
  var argsTag = '[object Arguments]',
      funcTag = '[object Function]',
      genTag = '[object GeneratorFunction]',
      symbolTag = '[object Symbol]';
  var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
  var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
  var root = freeGlobal || freeSelf || Function('return this')();

  function apply(func, thisArg, args) {
    switch (args.length) {
      case 0:
        return func.call(thisArg);

      case 1:
        return func.call(thisArg, args[0]);

      case 2:
        return func.call(thisArg, args[0], args[1]);

      case 3:
        return func.call(thisArg, args[0], args[1], args[2]);
    }

    return func.apply(thisArg, args);
  }

  function arrayMap(array, iteratee) {
    var index = -1,
        length = array ? array.length : 0,
        result = Array(length);

    while (++index < length) {
      result[index] = iteratee(array[index], index, array);
    }

    return result;
  }

  function arrayPush(array, values) {
    var index = -1,
        length = values.length,
        offset = array.length;

    while (++index < length) {
      array[offset + index] = values[index];
    }

    return array;
  }

  var objectProto = Object.prototype;
  var hasOwnProperty = objectProto.hasOwnProperty;
  var objectToString = objectProto.toString;
  var Symbol = root.Symbol,
      propertyIsEnumerable = objectProto.propertyIsEnumerable,
      spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;
  var nativeMax = Math.max;

  function baseFlatten(array, depth, predicate, isStrict, result) {
    var index = -1,
        length = array.length;
    predicate || (predicate = isFlattenable);
    result || (result = []);

    while (++index < length) {
      var value = array[index];

      if (depth > 0 && predicate(value)) {
        if (depth > 1) {
          baseFlatten(value, depth - 1, predicate, isStrict, result);
        } else {
          arrayPush(result, value);
        }
      } else if (!isStrict) {
        result[result.length] = value;
      }
    }

    return result;
  }

  function basePick(object, props) {
    object = Object(object);
    return basePickBy(object, props, function (value, key) {
      return key in object;
    });
  }

  function basePickBy(object, props, predicate) {
    var index = -1,
        length = props.length,
        result = {};

    while (++index < length) {
      var key = props[index],
          value = object[key];

      if (predicate(value, key)) {
        result[key] = value;
      }
    }

    return result;
  }

  function baseRest(func, start) {
    start = nativeMax(start === undefined ? func.length - 1 : start, 0);
    return function () {
      var args = arguments,
          index = -1,
          length = nativeMax(args.length - start, 0),
          array = Array(length);

      while (++index < length) {
        array[index] = args[start + index];
      }

      index = -1;
      var otherArgs = Array(start + 1);

      while (++index < start) {
        otherArgs[index] = args[index];
      }

      otherArgs[start] = array;
      return apply(func, this, otherArgs);
    };
  }

  function isFlattenable(value) {
    return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
  }

  function toKey(value) {
    if (typeof value == 'string' || isSymbol(value)) {
      return value;
    }

    var result = value + '';
    return result == '0' && 1 / value == -(1 / 0) ? '-0' : result;
  }

  function isArguments(value) {
    return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);
  }

  var isArray = Array.isArray;

  function isArrayLike(value) {
    return value != null && isLength(value.length) && !isFunction(value);
  }

  function isArrayLikeObject(value) {
    return isObjectLike(value) && isArrayLike(value);
  }

  function isFunction(value) {
    var tag = isObject(value) ? objectToString.call(value) : '';
    return tag == funcTag || tag == genTag;
  }

  function isLength(value) {
    return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
  }

  function isObject(value) {
    var type = typeof value;
    return !!value && (type == 'object' || type == 'function');
  }

  function isObjectLike(value) {
    return !!value && typeof value == 'object';
  }

  function isSymbol(value) {
    return typeof value == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag;
  }

  var pick = baseRest(function (object, props) {
    return object == null ? {} : basePick(object, arrayMap(baseFlatten(props, 1), toKey));
  });
  module.exports = pick;
},1815,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "stepforward": 58880,
  "stepbackward": 58881,
  "forward": 58882,
  "banckward": 58883,
  "caretright": 58884,
  "caretleft": 58885,
  "caretdown": 58886,
  "caretup": 58887,
  "rightcircle": 58888,
  "leftcircle": 58889,
  "upcircle": 58890,
  "downcircle": 58891,
  "rightcircleo": 58892,
  "leftcircleo": 58893,
  "upcircleo": 58894,
  "downcircleo": 58895,
  "verticleleft": 58896,
  "verticleright": 58897,
  "back": 58898,
  "retweet": 58899,
  "shrink": 58900,
  "arrowsalt": 58901,
  "doubleright": 58903,
  "doubleleft": 58904,
  "arrowdown": 58905,
  "arrowup": 58906,
  "arrowright": 58907,
  "arrowleft": 58908,
  "down": 58909,
  "up": 58910,
  "right": 58911,
  "left": 58912,
  "minussquareo": 58913,
  "minuscircle": 58914,
  "minuscircleo": 58915,
  "minus": 58916,
  "pluscircleo": 58917,
  "pluscircle": 58918,
  "plus": 58919,
  "infocirlce": 58920,
  "infocirlceo": 58921,
  "info": 58922,
  "exclamation": 58923,
  "exclamationcircle": 58924,
  "exclamationcircleo": 58925,
  "closecircle": 58926,
  "closecircleo": 58927,
  "checkcircle": 58928,
  "checkcircleo": 58929,
  "check": 58930,
  "close": 58931,
  "customerservice": 58932,
  "creditcard": 58933,
  "codesquareo": 58934,
  "book": 58935,
  "barschart": 58936,
  "bars": 58937,
  "question": 58938,
  "questioncircle": 58939,
  "questioncircleo": 58940,
  "pause": 58941,
  "pausecircle": 58942,
  "pausecircleo": 58943,
  "clockcircle": 58944,
  "clockcircleo": 58945,
  "swap": 58946,
  "swapleft": 58947,
  "swapright": 58948,
  "plussquareo": 58949,
  "frown": 58950,
  "menufold": 58968,
  "mail": 58969,
  "link": 58971,
  "areachart": 58972,
  "linechart": 58973,
  "home": 58974,
  "laptop": 58975,
  "star": 58976,
  "staro": 58977,
  "filter": 58979,
  "meho": 58982,
  "meh": 58983,
  "shoppingcart": 58984,
  "save": 58985,
  "user": 58986,
  "videocamera": 58987,
  "totop": 58988,
  "team": 58989,
  "sharealt": 58993,
  "setting": 58994,
  "picture": 58996,
  "phone": 58997,
  "paperclip": 58998,
  "notification": 58999,
  "menuunfold": 59001,
  "inbox": 59002,
  "lock": 59003,
  "qrcode": 59004,
  "tags": 59005,
  "tagso": 59006,
  "cloudo": 59007,
  "cloud": 59008,
  "cloudupload": 59009,
  "clouddownload": 59010,
  "clouddownloado": 59011,
  "clouduploado": 59012,
  "enviroment": 59013,
  "enviromento": 59014,
  "eye": 59015,
  "eyeo": 59016,
  "camera": 59017,
  "camerao": 59018,
  "windows": 59019,
  "export2": 59024,
  "export": 59025,
  "circledowno": 59027,
  "circledown": 59028,
  "hdd": 59034,
  "ie": 59035,
  "delete": 59039,
  "enter": 59040,
  "pushpino": 59041,
  "pushpin": 59042,
  "heart": 59043,
  "hearto": 59044,
  "smile-circle": 59047,
  "smileo": 59048,
  "frowno": 59049,
  "calculator": 59050,
  "chrome": 59052,
  "github": 59053,
  "iconfontdesktop": 59060,
  "caretcircleoup": 59061,
  "upload": 59062,
  "download": 59063,
  "piechart": 59064,
  "lock1": 59065,
  "unlock": 59066,
  "windowso": 59068,
  "dotchart": 59069,
  "barchart": 59070,
  "codesquare": 59071,
  "plussquare": 59072,
  "minussquare": 59073,
  "closesquare": 59074,
  "closesquareo": 59075,
  "checksquare": 59076,
  "checksquareo": 59077,
  "fastbackward": 59078,
  "fastforward": 59079,
  "upsquare": 59080,
  "downsquare": 59081,
  "leftsquare": 59082,
  "rightsquare": 59083,
  "rightsquareo": 59084,
  "leftsquareo": 59085,
  "down-square-o": 59086,
  "up-square-o": 59087,
  "play": 59088,
  "playcircleo": 59089,
  "tag": 59090,
  "tago": 59091,
  "addfile": 59664,
  "folder1": 58978,
  "file1": 58980,
  "switcher": 59667,
  "addfolder": 59668,
  "folderopen": 59033,
  "search1": 58992,
  "ellipsis1": 58951,
  "calendar": 59067,
  "filetext1": 59032,
  "copy1": 58952,
  "jpgfile1": 59036,
  "pdffile1": 59059,
  "exclefile1": 59056,
  "pptfile1": 59057,
  "unknowfile1": 59055,
  "wordfile1": 59058,
  "dingding": 59683,
  "dingding-o": 59685,
  "mobile1": 59000,
  "tablet1": 58990,
  "bells": 58958,
  "disconnect": 58959,
  "database": 58960,
  "barcode": 58962,
  "hourglass": 58963,
  "key": 58964,
  "flag": 58965,
  "layout": 58966,
  "printer": 58995,
  "USB": 59095,
  "skin": 59096,
  "tool": 59097,
  "car": 59100,
  "addusergroup": 59101,
  "carryout": 59103,
  "deleteuser": 59104,
  "deleteusergroup": 59105,
  "man": 59106,
  "isv": 59107,
  "gift": 59108,
  "idcard": 59109,
  "medicinebox": 59110,
  "redenvelopes": 59111,
  "rest": 59112,
  "Safety": 59114,
  "wallet": 59115,
  "woman": 59116,
  "adduser": 59117,
  "bank": 59118,
  "Trophy": 59119,
  "loading1": 59054,
  "loading2": 58957,
  "like2": 59037,
  "dislike2": 59038,
  "like1": 58956,
  "dislike1": 58955,
  "bulb1": 58953,
  "rocket1": 59663,
  "select1": 58954,
  "apple1": 59020,
  "apple-o": 59092,
  "android1": 59704,
  "android": 59021,
  "aliwangwang-o1": 59023,
  "aliwangwang": 59022,
  "pay-circle1": 59045,
  "pay-circle-o1": 59046,
  "poweroff": 59093,
  "trademark": 58961,
  "find": 59099,
  "copyright": 59102,
  "sound": 59113,
  "earth": 59121,
  "wifi": 59094,
  "sync": 59098,
  "login": 58967,
  "logout": 58970,
  "reload1": 58902,
  "message1": 59051,
  "shake": 59727,
  "API": 59729,
  "appstore-o": 59029,
  "appstore1": 59030,
  "scan1": 59031,
  "exception1": 58981,
  "contacts": 59120,
  "solution1": 58991,
  "fork": 59122,
  "edit": 59026,
  "form": 59798,
  "warning": 59799,
  "table": 59800,
  "profile": 59801,
  "dashboard": 59802,
  "indent-left": 59814,
  "indent-right": 59815,
  "menu-unfold": 59820,
  "menu-fold": 59821,
  "antdesign": 59826,
  "alipay-square": 59827,
  "codepen-circle": 59828,
  "google": 59829,
  "amazon": 59830,
  "codepen": 59831,
  "facebook-square": 59832,
  "dropbox": 59833,
  "googleplus": 59834,
  "linkedin-square": 59835,
  "medium-monogram": 59836,
  "gitlab": 59837,
  "medium-wordmark": 59838,
  "QQ": 59839,
  "skype": 59840,
  "taobao-square": 59841,
  "alipay-circle": 59842,
  "youtube": 59843,
  "wechat": 59844,
  "twitter": 59845,
  "weibo": 59846,
  "HTML": 59847,
  "taobao-circle": 59123,
  "weibo-circle": 59124,
  "weibo-square": 59125,
  "CodeSandbox": 59860,
  "aliyun": 59892,
  "zhihu": 59139,
  "behance": 59143,
  "dribbble": 59145,
  "dribbble-square": 59146,
  "behance-square": 59144,
  "file-markdown": 59140,
  "instagram": 59147,
  "yuque": 59148,
  "slack": 59141,
  "slack-square": 59142
};
},1816,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getImageSourceSync = exports.getImageSource = exports.Button = exports.default = undefined;

  var _createIconSet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _Entypo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var iconSet = (0, _createIconSet.default)(_Entypo.default, 'Entypo', 'Entypo.ttf');
  var _default = iconSet;
  exports.default = _default;
  var Button = iconSet.Button,
      getImageSource = iconSet.getImageSource,
      getImageSourceSync = iconSet.getImageSourceSync;
  exports.getImageSourceSync = getImageSourceSync;
  exports.getImageSource = getImageSource;
  exports.Button = Button;
},1817,[5,1808,1818]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "500px": 61696,
  "500px-with-circle": 61697,
  "add-to-list": 61698,
  "add-user": 61699,
  "address": 61700,
  "adjust": 61701,
  "air": 61702,
  "aircraft": 61703,
  "aircraft-landing": 61704,
  "aircraft-take-off": 61705,
  "align-bottom": 61706,
  "align-horizontal-middle": 61707,
  "align-left": 61708,
  "align-right": 61709,
  "align-top": 61710,
  "align-vertical-middle": 61711,
  "app-store": 61712,
  "archive": 61713,
  "area-graph": 61714,
  "arrow-bold-down": 61715,
  "arrow-bold-left": 61716,
  "arrow-bold-right": 61717,
  "arrow-bold-up": 61718,
  "arrow-down": 61719,
  "arrow-left": 61720,
  "arrow-long-down": 61721,
  "arrow-long-left": 61722,
  "arrow-long-right": 61723,
  "arrow-long-up": 61724,
  "arrow-right": 61725,
  "arrow-up": 61726,
  "arrow-with-circle-down": 61727,
  "arrow-with-circle-left": 61728,
  "arrow-with-circle-right": 61729,
  "arrow-with-circle-up": 61730,
  "attachment": 61731,
  "awareness-ribbon": 61732,
  "back": 61733,
  "back-in-time": 61734,
  "baidu": 61735,
  "bar-graph": 61736,
  "basecamp": 61737,
  "battery": 61738,
  "beamed-note": 61739,
  "behance": 61740,
  "bell": 61741,
  "blackboard": 61742,
  "block": 61743,
  "book": 61744,
  "bookmark": 61745,
  "bookmarks": 61746,
  "bowl": 61747,
  "box": 61748,
  "briefcase": 61749,
  "browser": 61750,
  "brush": 61751,
  "bucket": 61752,
  "bug": 61753,
  "cake": 61754,
  "calculator": 61755,
  "calendar": 61756,
  "camera": 61757,
  "ccw": 61758,
  "chat": 61759,
  "check": 61760,
  "chevron-down": 61761,
  "chevron-left": 61762,
  "chevron-right": 61763,
  "chevron-small-down": 61764,
  "chevron-small-left": 61765,
  "chevron-small-right": 61766,
  "chevron-small-up": 61767,
  "chevron-thin-down": 61768,
  "chevron-thin-left": 61769,
  "chevron-thin-right": 61770,
  "chevron-thin-up": 61771,
  "chevron-up": 61772,
  "chevron-with-circle-down": 61773,
  "chevron-with-circle-left": 61774,
  "chevron-with-circle-right": 61775,
  "chevron-with-circle-up": 61776,
  "circle": 61777,
  "circle-with-cross": 61778,
  "circle-with-minus": 61779,
  "circle-with-plus": 61780,
  "circular-graph": 61781,
  "clapperboard": 61782,
  "classic-computer": 61783,
  "clipboard": 61784,
  "clock": 61785,
  "cloud": 61786,
  "code": 61787,
  "cog": 61788,
  "colours": 61789,
  "compass": 61790,
  "controller-fast-backward": 61791,
  "controller-fast-forward": 61792,
  "controller-jump-to-start": 61793,
  "controller-next": 61794,
  "controller-paus": 61795,
  "controller-play": 61796,
  "controller-record": 61797,
  "controller-stop": 61798,
  "controller-volume": 61799,
  "copy": 61800,
  "creative-cloud": 61801,
  "creative-commons": 61802,
  "creative-commons-attribution": 61803,
  "creative-commons-noderivs": 61804,
  "creative-commons-noncommercial-eu": 61805,
  "creative-commons-noncommercial-us": 61806,
  "creative-commons-public-domain": 61807,
  "creative-commons-remix": 61808,
  "creative-commons-share": 61809,
  "creative-commons-sharealike": 61810,
  "credit": 61811,
  "credit-card": 61812,
  "crop": 61813,
  "cross": 61814,
  "cup": 61815,
  "cw": 61816,
  "cycle": 61817,
  "database": 61818,
  "dial-pad": 61819,
  "direction": 61820,
  "document": 61821,
  "document-landscape": 61822,
  "documents": 61823,
  "dot-single": 61824,
  "dots-three-horizontal": 61825,
  "dots-three-vertical": 61826,
  "dots-two-horizontal": 61827,
  "dots-two-vertical": 61828,
  "download": 61829,
  "dribbble": 61830,
  "dribbble-with-circle": 61831,
  "drink": 61832,
  "drive": 61833,
  "drop": 61834,
  "dropbox": 61835,
  "edit": 61836,
  "email": 61837,
  "emoji-flirt": 61838,
  "emoji-happy": 61839,
  "emoji-neutral": 61840,
  "emoji-sad": 61841,
  "erase": 61842,
  "eraser": 61843,
  "evernote": 61844,
  "export": 61845,
  "eye": 61846,
  "eye-with-line": 61847,
  "facebook": 61848,
  "facebook-with-circle": 61849,
  "feather": 61850,
  "fingerprint": 61851,
  "flag": 61852,
  "flash": 61853,
  "flashlight": 61854,
  "flat-brush": 61855,
  "flattr": 61856,
  "flickr": 61857,
  "flickr-with-circle": 61858,
  "flow-branch": 61859,
  "flow-cascade": 61860,
  "flow-line": 61861,
  "flow-parallel": 61862,
  "flow-tree": 61863,
  "flower": 61864,
  "folder": 61865,
  "folder-images": 61866,
  "folder-music": 61867,
  "folder-video": 61868,
  "forward": 61869,
  "foursquare": 61870,
  "funnel": 61871,
  "game-controller": 61872,
  "gauge": 61873,
  "github": 61874,
  "github-with-circle": 61875,
  "globe": 61876,
  "google-": 61877,
  "google--with-circle": 61878,
  "google-drive": 61879,
  "google-hangouts": 61880,
  "google-play": 61881,
  "graduation-cap": 61882,
  "grid": 61883,
  "grooveshark": 61884,
  "hair-cross": 61885,
  "hand": 61886,
  "heart": 61887,
  "heart-outlined": 61888,
  "help": 61889,
  "help-with-circle": 61890,
  "home": 61891,
  "hour-glass": 61892,
  "houzz": 61893,
  "icloud": 61894,
  "image": 61895,
  "image-inverted": 61896,
  "images": 61897,
  "inbox": 61898,
  "infinity": 61899,
  "info": 61900,
  "info-with-circle": 61901,
  "instagram": 61902,
  "instagram-with-circle": 61903,
  "install": 61904,
  "key": 61905,
  "keyboard": 61906,
  "lab-flask": 61907,
  "landline": 61908,
  "language": 61909,
  "laptop": 61910,
  "lastfm": 61911,
  "lastfm-with-circle": 61912,
  "layers": 61913,
  "leaf": 61914,
  "level-down": 61915,
  "level-up": 61916,
  "lifebuoy": 61917,
  "light-bulb": 61918,
  "light-down": 61919,
  "light-up": 61920,
  "line-graph": 61921,
  "link": 61922,
  "linkedin": 61923,
  "linkedin-with-circle": 61924,
  "list": 61925,
  "location": 61926,
  "location-pin": 61927,
  "lock": 61928,
  "lock-open": 61929,
  "log-out": 61930,
  "login": 61931,
  "loop": 61932,
  "magnet": 61933,
  "magnifying-glass": 61934,
  "mail": 61935,
  "mail-with-circle": 61936,
  "man": 61937,
  "map": 61938,
  "mask": 61939,
  "medal": 61940,
  "medium": 61941,
  "medium-with-circle": 61942,
  "megaphone": 61943,
  "menu": 61944,
  "merge": 61945,
  "message": 61946,
  "mic": 61947,
  "minus": 61948,
  "mixi": 61949,
  "mobile": 61950,
  "modern-mic": 61951,
  "moon": 61952,
  "mouse": 61953,
  "mouse-pointer": 61954,
  "music": 61955,
  "network": 61956,
  "new": 61957,
  "new-message": 61958,
  "news": 61959,
  "newsletter": 61960,
  "note": 61961,
  "notification": 61962,
  "notifications-off": 61963,
  "old-mobile": 61964,
  "old-phone": 61965,
  "onedrive": 61966,
  "open-book": 61967,
  "palette": 61968,
  "paper-plane": 61969,
  "paypal": 61970,
  "pencil": 61971,
  "phone": 61972,
  "picasa": 61973,
  "pie-chart": 61974,
  "pin": 61975,
  "pinterest": 61976,
  "pinterest-with-circle": 61977,
  "plus": 61978,
  "popup": 61979,
  "power-plug": 61980,
  "price-ribbon": 61981,
  "price-tag": 61982,
  "print": 61983,
  "progress-empty": 61984,
  "progress-full": 61985,
  "progress-one": 61986,
  "progress-two": 61987,
  "publish": 61988,
  "qq": 61989,
  "qq-with-circle": 61990,
  "quote": 61991,
  "radio": 61992,
  "raft": 61993,
  "raft-with-circle": 61994,
  "rainbow": 61995,
  "rdio": 61996,
  "rdio-with-circle": 61997,
  "remove-user": 61998,
  "renren": 61999,
  "reply": 62000,
  "reply-all": 62001,
  "resize-100-": 62002,
  "resize-full-screen": 62003,
  "retweet": 62004,
  "rocket": 62005,
  "round-brush": 62006,
  "rss": 62007,
  "ruler": 62008,
  "save": 62009,
  "scissors": 62010,
  "scribd": 62011,
  "select-arrows": 62012,
  "share": 62013,
  "share-alternative": 62014,
  "shareable": 62015,
  "shield": 62016,
  "shop": 62017,
  "shopping-bag": 62018,
  "shopping-basket": 62019,
  "shopping-cart": 62020,
  "shuffle": 62021,
  "signal": 62022,
  "sina-weibo": 62023,
  "skype": 62024,
  "skype-with-circle": 62025,
  "slideshare": 62026,
  "smashing": 62027,
  "sound": 62028,
  "sound-mix": 62029,
  "sound-mute": 62030,
  "soundcloud": 62031,
  "sports-club": 62032,
  "spotify": 62033,
  "spotify-with-circle": 62034,
  "spreadsheet": 62035,
  "squared-cross": 62036,
  "squared-minus": 62037,
  "squared-plus": 62038,
  "star": 62039,
  "star-outlined": 62040,
  "stopwatch": 62041,
  "stumbleupon": 62042,
  "stumbleupon-with-circle": 62043,
  "suitcase": 62044,
  "swap": 62045,
  "swarm": 62046,
  "sweden": 62047,
  "switch": 62048,
  "tablet": 62049,
  "tablet-mobile-combo": 62050,
  "tag": 62051,
  "text": 62052,
  "text-document": 62053,
  "text-document-inverted": 62054,
  "thermometer": 62055,
  "thumbs-down": 62056,
  "thumbs-up": 62057,
  "thunder-cloud": 62058,
  "ticket": 62059,
  "time-slot": 62060,
  "tools": 62061,
  "traffic-cone": 62062,
  "trash": 62063,
  "tree": 62064,
  "triangle-down": 62065,
  "triangle-left": 62066,
  "triangle-right": 62067,
  "triangle-up": 62068,
  "tripadvisor": 62069,
  "trophy": 62070,
  "tumblr": 62071,
  "tumblr-with-circle": 62072,
  "tv": 62073,
  "twitter": 62074,
  "twitter-with-circle": 62075,
  "typing": 62076,
  "uninstall": 62077,
  "unread": 62078,
  "untag": 62079,
  "upload": 62080,
  "upload-to-cloud": 62081,
  "user": 62082,
  "users": 62083,
  "v-card": 62084,
  "video": 62085,
  "video-camera": 62086,
  "vimeo": 62087,
  "vimeo-with-circle": 62088,
  "vine": 62089,
  "vine-with-circle": 62090,
  "vinyl": 62091,
  "vk": 62092,
  "vk-alternitive": 62093,
  "vk-with-circle": 62094,
  "voicemail": 62095,
  "wallet": 62096,
  "warning": 62097,
  "water": 62098,
  "windows-store": 62099,
  "xing": 62100,
  "xing-with-circle": 62101,
  "yelp": 62102,
  "youko": 62103,
  "youko-with-circle": 62104,
  "youtube": 62105,
  "youtube-with-circle": 62106
};
},1818,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getImageSourceSync = exports.getImageSource = exports.Button = exports.default = undefined;

  var _createIconSet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _EvilIcons = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var iconSet = (0, _createIconSet.default)(_EvilIcons.default, 'EvilIcons', 'EvilIcons.ttf');
  var _default = iconSet;
  exports.default = _default;
  var Button = iconSet.Button,
      getImageSource = iconSet.getImageSource,
      getImageSourceSync = iconSet.getImageSourceSync;
  exports.getImageSourceSync = getImageSourceSync;
  exports.getImageSource = getImageSource;
  exports.Button = Button;
},1819,[5,1808,1820]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "archive": 61696,
  "arrow-down": 61697,
  "arrow-left": 61698,
  "arrow-right": 61699,
  "arrow-up": 61700,
  "bell": 61701,
  "calendar": 61702,
  "camera": 61703,
  "cart": 61704,
  "chart": 61705,
  "check": 61706,
  "chevron-down": 61707,
  "chevron-left": 61708,
  "chevron-right": 61709,
  "chevron-up": 61710,
  "clock": 61711,
  "close": 61712,
  "close-o": 61713,
  "comment": 61714,
  "credit-card": 61715,
  "envelope": 61716,
  "exclamation": 61717,
  "external-link": 61718,
  "eye": 61719,
  "gear": 61720,
  "heart": 61721,
  "image": 61722,
  "like": 61723,
  "link": 61724,
  "location": 61725,
  "lock": 61726,
  "minus": 61727,
  "navicon": 61728,
  "paperclip": 61729,
  "pencil": 61730,
  "play": 61731,
  "plus": 61732,
  "pointer": 61733,
  "question": 61734,
  "redo": 61735,
  "refresh": 61736,
  "retweet": 61737,
  "sc-facebook": 61738,
  "sc-github": 61739,
  "sc-google-plus": 61740,
  "sc-instagram": 61741,
  "sc-linkedin": 61742,
  "sc-odnoklassniki": 61743,
  "sc-pinterest": 61744,
  "sc-skype": 61745,
  "sc-soundcloud": 61746,
  "sc-telegram": 61747,
  "sc-tumblr": 61748,
  "sc-twitter": 61749,
  "sc-vimeo": 61750,
  "sc-vk": 61751,
  "sc-youtube": 61752,
  "search": 61753,
  "share-apple": 61754,
  "share-google": 61755,
  "spinner": 61756,
  "spinner-2": 61757,
  "spinner-3": 61758,
  "star": 61759,
  "tag": 61760,
  "trash": 61761,
  "trophy": 61762,
  "undo": 61763,
  "unlock": 61764,
  "user": 61765
};
},1820,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getImageSourceSync = exports.getImageSource = exports.Button = exports.default = undefined;

  var _createIconSet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _Feather = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var iconSet = (0, _createIconSet.default)(_Feather.default, 'Feather', 'Feather.ttf');
  var _default = iconSet;
  exports.default = _default;
  var Button = iconSet.Button,
      getImageSource = iconSet.getImageSource,
      getImageSourceSync = iconSet.getImageSourceSync;
  exports.getImageSourceSync = getImageSourceSync;
  exports.getImageSource = getImageSource;
  exports.Button = Button;
},1821,[5,1808,1822]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "activity": 61696,
  "airplay": 61697,
  "alert-circle": 61698,
  "alert-octagon": 61699,
  "alert-triangle": 61700,
  "align-center": 61701,
  "align-justify": 61702,
  "align-left": 61703,
  "align-right": 61704,
  "anchor": 61705,
  "aperture": 61706,
  "archive": 61707,
  "arrow-down": 61708,
  "arrow-down-circle": 61709,
  "arrow-down-left": 61710,
  "arrow-down-right": 61711,
  "arrow-left": 61712,
  "arrow-left-circle": 61713,
  "arrow-right": 61714,
  "arrow-right-circle": 61715,
  "arrow-up": 61716,
  "arrow-up-circle": 61717,
  "arrow-up-left": 61718,
  "arrow-up-right": 61719,
  "at-sign": 61720,
  "award": 61721,
  "bar-chart": 61722,
  "bar-chart-2": 61723,
  "battery": 61724,
  "battery-charging": 61725,
  "bell": 61726,
  "bell-off": 61727,
  "bluetooth": 61728,
  "bold": 61729,
  "book": 61730,
  "book-open": 61731,
  "bookmark": 61732,
  "box": 61733,
  "briefcase": 61734,
  "calendar": 61735,
  "camera": 61736,
  "camera-off": 61737,
  "cast": 61738,
  "check": 61739,
  "check-circle": 61740,
  "check-square": 61741,
  "chevron-down": 61742,
  "chevron-left": 61743,
  "chevron-right": 61744,
  "chevron-up": 61745,
  "chevrons-down": 61746,
  "chevrons-left": 61747,
  "chevrons-right": 61748,
  "chevrons-up": 61749,
  "chrome": 61750,
  "circle": 61751,
  "clipboard": 61752,
  "clock": 61753,
  "cloud": 61754,
  "cloud-drizzle": 61755,
  "cloud-lightning": 61756,
  "cloud-off": 61757,
  "cloud-rain": 61758,
  "cloud-snow": 61759,
  "code": 61760,
  "codepen": 61761,
  "codesandbox": 61762,
  "coffee": 61763,
  "columns": 61764,
  "command": 61765,
  "compass": 61766,
  "copy": 61767,
  "corner-down-left": 61768,
  "corner-down-right": 61769,
  "corner-left-down": 61770,
  "corner-left-up": 61771,
  "corner-right-down": 61772,
  "corner-right-up": 61773,
  "corner-up-left": 61774,
  "corner-up-right": 61775,
  "cpu": 61776,
  "credit-card": 61777,
  "crop": 61778,
  "crosshair": 61779,
  "database": 61780,
  "delete": 61781,
  "disc": 61782,
  "divide": 61783,
  "divide-circle": 61784,
  "divide-square": 61785,
  "dollar-sign": 61786,
  "download": 61787,
  "download-cloud": 61788,
  "dribbble": 61789,
  "droplet": 61790,
  "edit": 61791,
  "edit-2": 61792,
  "edit-3": 61793,
  "external-link": 61794,
  "eye": 61795,
  "eye-off": 61796,
  "facebook": 61797,
  "fast-forward": 61798,
  "feather": 61799,
  "figma": 61800,
  "file": 61801,
  "file-minus": 61802,
  "file-plus": 61803,
  "file-text": 61804,
  "film": 61805,
  "filter": 61806,
  "flag": 61807,
  "folder": 61808,
  "folder-minus": 61809,
  "folder-plus": 61810,
  "framer": 61811,
  "frown": 61812,
  "gift": 61813,
  "git-branch": 61814,
  "git-commit": 61815,
  "git-merge": 61816,
  "git-pull-request": 61817,
  "github": 61818,
  "gitlab": 61819,
  "globe": 61820,
  "grid": 61821,
  "hard-drive": 61822,
  "hash": 61823,
  "headphones": 61824,
  "heart": 61825,
  "help-circle": 61826,
  "hexagon": 61827,
  "home": 61828,
  "image": 61829,
  "inbox": 61830,
  "info": 61831,
  "instagram": 61832,
  "italic": 61833,
  "key": 61834,
  "layers": 61835,
  "layout": 61836,
  "life-buoy": 61837,
  "link": 61838,
  "link-2": 61839,
  "linkedin": 61840,
  "list": 61841,
  "loader": 61842,
  "lock": 61843,
  "log-in": 61844,
  "log-out": 61845,
  "mail": 61846,
  "map": 61847,
  "map-pin": 61848,
  "maximize": 61849,
  "maximize-2": 61850,
  "meh": 61851,
  "menu": 61852,
  "message-circle": 61853,
  "message-square": 61854,
  "mic": 61855,
  "mic-off": 61856,
  "minimize": 61857,
  "minimize-2": 61858,
  "minus": 61859,
  "minus-circle": 61860,
  "minus-square": 61861,
  "monitor": 61862,
  "moon": 61863,
  "more-horizontal": 61864,
  "more-vertical": 61865,
  "mouse-pointer": 61866,
  "move": 61867,
  "music": 61868,
  "navigation": 61869,
  "navigation-2": 61870,
  "octagon": 61871,
  "package": 61872,
  "paperclip": 61873,
  "pause": 61874,
  "pause-circle": 61875,
  "pen-tool": 61876,
  "percent": 61877,
  "phone": 61878,
  "phone-call": 61879,
  "phone-forwarded": 61880,
  "phone-incoming": 61881,
  "phone-missed": 61882,
  "phone-off": 61883,
  "phone-outgoing": 61884,
  "pie-chart": 61885,
  "play": 61886,
  "play-circle": 61887,
  "plus": 61888,
  "plus-circle": 61889,
  "plus-square": 61890,
  "pocket": 61891,
  "power": 61892,
  "printer": 61893,
  "radio": 61894,
  "refresh-ccw": 61895,
  "refresh-cw": 61896,
  "repeat": 61897,
  "rewind": 61898,
  "rotate-ccw": 61899,
  "rotate-cw": 61900,
  "rss": 61901,
  "save": 61902,
  "scissors": 61903,
  "search": 61904,
  "send": 61905,
  "server": 61906,
  "settings": 61907,
  "share": 61908,
  "share-2": 61909,
  "shield": 61910,
  "shield-off": 61911,
  "shopping-bag": 61912,
  "shopping-cart": 61913,
  "shuffle": 61914,
  "sidebar": 61915,
  "skip-back": 61916,
  "skip-forward": 61917,
  "slack": 61918,
  "slash": 61919,
  "sliders": 61920,
  "smartphone": 61921,
  "smile": 61922,
  "speaker": 61923,
  "square": 61924,
  "star": 61925,
  "stop-circle": 61926,
  "sun": 61927,
  "sunrise": 61928,
  "sunset": 61929,
  "tablet": 61930,
  "tag": 61931,
  "target": 61932,
  "terminal": 61933,
  "thermometer": 61934,
  "thumbs-down": 61935,
  "thumbs-up": 61936,
  "toggle-left": 61937,
  "toggle-right": 61938,
  "tool": 61939,
  "trash": 61940,
  "trash-2": 61941,
  "trello": 61942,
  "trending-down": 61943,
  "trending-up": 61944,
  "triangle": 61945,
  "truck": 61946,
  "tv": 61947,
  "twitch": 61948,
  "twitter": 61949,
  "type": 61950,
  "umbrella": 61951,
  "underline": 61952,
  "unlock": 61953,
  "upload": 61954,
  "upload-cloud": 61955,
  "user": 61956,
  "user-check": 61957,
  "user-minus": 61958,
  "user-plus": 61959,
  "user-x": 61960,
  "users": 61961,
  "video": 61962,
  "video-off": 61963,
  "voicemail": 61964,
  "volume": 61965,
  "volume-1": 61966,
  "volume-2": 61967,
  "volume-x": 61968,
  "watch": 61969,
  "wifi": 61970,
  "wifi-off": 61971,
  "wind": 61972,
  "x": 61973,
  "x-circle": 61974,
  "x-octagon": 61975,
  "x-square": 61976,
  "youtube": 61977,
  "zap": 61978,
  "zap-off": 61979,
  "zoom-in": 61980,
  "zoom-out": 61981
};
},1822,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getImageSourceSync = exports.getImageSource = exports.Button = exports.default = undefined;

  var _createIconSet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _FontAwesome = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var iconSet = (0, _createIconSet.default)(_FontAwesome.default, 'FontAwesome', 'FontAwesome.ttf');
  var _default = iconSet;
  exports.default = _default;
  var Button = iconSet.Button,
      getImageSource = iconSet.getImageSource,
      getImageSourceSync = iconSet.getImageSourceSync;
  exports.getImageSourceSync = getImageSourceSync;
  exports.getImageSource = getImageSource;
  exports.Button = Button;
},1823,[5,1808,1824]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "glass": 61440,
  "music": 61441,
  "search": 61442,
  "envelope-o": 61443,
  "heart": 61444,
  "star": 61445,
  "star-o": 61446,
  "user": 61447,
  "film": 61448,
  "th-large": 61449,
  "th": 61450,
  "th-list": 61451,
  "check": 61452,
  "remove": 61453,
  "close": 61453,
  "times": 61453,
  "search-plus": 61454,
  "search-minus": 61456,
  "power-off": 61457,
  "signal": 61458,
  "gear": 61459,
  "cog": 61459,
  "trash-o": 61460,
  "home": 61461,
  "file-o": 61462,
  "clock-o": 61463,
  "road": 61464,
  "download": 61465,
  "arrow-circle-o-down": 61466,
  "arrow-circle-o-up": 61467,
  "inbox": 61468,
  "play-circle-o": 61469,
  "rotate-right": 61470,
  "repeat": 61470,
  "refresh": 61473,
  "list-alt": 61474,
  "lock": 61475,
  "flag": 61476,
  "headphones": 61477,
  "volume-off": 61478,
  "volume-down": 61479,
  "volume-up": 61480,
  "qrcode": 61481,
  "barcode": 61482,
  "tag": 61483,
  "tags": 61484,
  "book": 61485,
  "bookmark": 61486,
  "print": 61487,
  "camera": 61488,
  "font": 61489,
  "bold": 61490,
  "italic": 61491,
  "text-height": 61492,
  "text-width": 61493,
  "align-left": 61494,
  "align-center": 61495,
  "align-right": 61496,
  "align-justify": 61497,
  "list": 61498,
  "dedent": 61499,
  "outdent": 61499,
  "indent": 61500,
  "video-camera": 61501,
  "photo": 61502,
  "image": 61502,
  "picture-o": 61502,
  "pencil": 61504,
  "map-marker": 61505,
  "adjust": 61506,
  "tint": 61507,
  "edit": 61508,
  "pencil-square-o": 61508,
  "share-square-o": 61509,
  "check-square-o": 61510,
  "arrows": 61511,
  "step-backward": 61512,
  "fast-backward": 61513,
  "backward": 61514,
  "play": 61515,
  "pause": 61516,
  "stop": 61517,
  "forward": 61518,
  "fast-forward": 61520,
  "step-forward": 61521,
  "eject": 61522,
  "chevron-left": 61523,
  "chevron-right": 61524,
  "plus-circle": 61525,
  "minus-circle": 61526,
  "times-circle": 61527,
  "check-circle": 61528,
  "question-circle": 61529,
  "info-circle": 61530,
  "crosshairs": 61531,
  "times-circle-o": 61532,
  "check-circle-o": 61533,
  "ban": 61534,
  "arrow-left": 61536,
  "arrow-right": 61537,
  "arrow-up": 61538,
  "arrow-down": 61539,
  "mail-forward": 61540,
  "share": 61540,
  "expand": 61541,
  "compress": 61542,
  "plus": 61543,
  "minus": 61544,
  "asterisk": 61545,
  "exclamation-circle": 61546,
  "gift": 61547,
  "leaf": 61548,
  "fire": 61549,
  "eye": 61550,
  "eye-slash": 61552,
  "warning": 61553,
  "exclamation-triangle": 61553,
  "plane": 61554,
  "calendar": 61555,
  "random": 61556,
  "comment": 61557,
  "magnet": 61558,
  "chevron-up": 61559,
  "chevron-down": 61560,
  "retweet": 61561,
  "shopping-cart": 61562,
  "folder": 61563,
  "folder-open": 61564,
  "arrows-v": 61565,
  "arrows-h": 61566,
  "bar-chart-o": 61568,
  "bar-chart": 61568,
  "twitter-square": 61569,
  "facebook-square": 61570,
  "camera-retro": 61571,
  "key": 61572,
  "gears": 61573,
  "cogs": 61573,
  "comments": 61574,
  "thumbs-o-up": 61575,
  "thumbs-o-down": 61576,
  "star-half": 61577,
  "heart-o": 61578,
  "sign-out": 61579,
  "linkedin-square": 61580,
  "thumb-tack": 61581,
  "external-link": 61582,
  "sign-in": 61584,
  "trophy": 61585,
  "github-square": 61586,
  "upload": 61587,
  "lemon-o": 61588,
  "phone": 61589,
  "square-o": 61590,
  "bookmark-o": 61591,
  "phone-square": 61592,
  "twitter": 61593,
  "facebook-f": 61594,
  "facebook": 61594,
  "github": 61595,
  "unlock": 61596,
  "credit-card": 61597,
  "feed": 61598,
  "rss": 61598,
  "hdd-o": 61600,
  "bullhorn": 61601,
  "bell": 61683,
  "certificate": 61603,
  "hand-o-right": 61604,
  "hand-o-left": 61605,
  "hand-o-up": 61606,
  "hand-o-down": 61607,
  "arrow-circle-left": 61608,
  "arrow-circle-right": 61609,
  "arrow-circle-up": 61610,
  "arrow-circle-down": 61611,
  "globe": 61612,
  "wrench": 61613,
  "tasks": 61614,
  "filter": 61616,
  "briefcase": 61617,
  "arrows-alt": 61618,
  "group": 61632,
  "users": 61632,
  "chain": 61633,
  "link": 61633,
  "cloud": 61634,
  "flask": 61635,
  "cut": 61636,
  "scissors": 61636,
  "copy": 61637,
  "files-o": 61637,
  "paperclip": 61638,
  "save": 61639,
  "floppy-o": 61639,
  "square": 61640,
  "navicon": 61641,
  "reorder": 61641,
  "bars": 61641,
  "list-ul": 61642,
  "list-ol": 61643,
  "strikethrough": 61644,
  "underline": 61645,
  "table": 61646,
  "magic": 61648,
  "truck": 61649,
  "pinterest": 61650,
  "pinterest-square": 61651,
  "google-plus-square": 61652,
  "google-plus": 61653,
  "money": 61654,
  "caret-down": 61655,
  "caret-up": 61656,
  "caret-left": 61657,
  "caret-right": 61658,
  "columns": 61659,
  "unsorted": 61660,
  "sort": 61660,
  "sort-down": 61661,
  "sort-desc": 61661,
  "sort-up": 61662,
  "sort-asc": 61662,
  "envelope": 61664,
  "linkedin": 61665,
  "rotate-left": 61666,
  "undo": 61666,
  "legal": 61667,
  "gavel": 61667,
  "dashboard": 61668,
  "tachometer": 61668,
  "comment-o": 61669,
  "comments-o": 61670,
  "flash": 61671,
  "bolt": 61671,
  "sitemap": 61672,
  "umbrella": 61673,
  "paste": 61674,
  "clipboard": 61674,
  "lightbulb-o": 61675,
  "exchange": 61676,
  "cloud-download": 61677,
  "cloud-upload": 61678,
  "user-md": 61680,
  "stethoscope": 61681,
  "suitcase": 61682,
  "bell-o": 61602,
  "coffee": 61684,
  "cutlery": 61685,
  "file-text-o": 61686,
  "building-o": 61687,
  "hospital-o": 61688,
  "ambulance": 61689,
  "medkit": 61690,
  "fighter-jet": 61691,
  "beer": 61692,
  "h-square": 61693,
  "plus-square": 61694,
  "angle-double-left": 61696,
  "angle-double-right": 61697,
  "angle-double-up": 61698,
  "angle-double-down": 61699,
  "angle-left": 61700,
  "angle-right": 61701,
  "angle-up": 61702,
  "angle-down": 61703,
  "desktop": 61704,
  "laptop": 61705,
  "tablet": 61706,
  "mobile-phone": 61707,
  "mobile": 61707,
  "circle-o": 61708,
  "quote-left": 61709,
  "quote-right": 61710,
  "spinner": 61712,
  "circle": 61713,
  "mail-reply": 61714,
  "reply": 61714,
  "github-alt": 61715,
  "folder-o": 61716,
  "folder-open-o": 61717,
  "smile-o": 61720,
  "frown-o": 61721,
  "meh-o": 61722,
  "gamepad": 61723,
  "keyboard-o": 61724,
  "flag-o": 61725,
  "flag-checkered": 61726,
  "terminal": 61728,
  "code": 61729,
  "mail-reply-all": 61730,
  "reply-all": 61730,
  "star-half-empty": 61731,
  "star-half-full": 61731,
  "star-half-o": 61731,
  "location-arrow": 61732,
  "crop": 61733,
  "code-fork": 61734,
  "unlink": 61735,
  "chain-broken": 61735,
  "question": 61736,
  "info": 61737,
  "exclamation": 61738,
  "superscript": 61739,
  "subscript": 61740,
  "eraser": 61741,
  "puzzle-piece": 61742,
  "microphone": 61744,
  "microphone-slash": 61745,
  "shield": 61746,
  "calendar-o": 61747,
  "fire-extinguisher": 61748,
  "rocket": 61749,
  "maxcdn": 61750,
  "chevron-circle-left": 61751,
  "chevron-circle-right": 61752,
  "chevron-circle-up": 61753,
  "chevron-circle-down": 61754,
  "html5": 61755,
  "css3": 61756,
  "anchor": 61757,
  "unlock-alt": 61758,
  "bullseye": 61760,
  "ellipsis-h": 61761,
  "ellipsis-v": 61762,
  "rss-square": 61763,
  "play-circle": 61764,
  "ticket": 61765,
  "minus-square": 61766,
  "minus-square-o": 61767,
  "level-up": 61768,
  "level-down": 61769,
  "check-square": 61770,
  "pencil-square": 61771,
  "external-link-square": 61772,
  "share-square": 61773,
  "compass": 61774,
  "toggle-down": 61776,
  "caret-square-o-down": 61776,
  "toggle-up": 61777,
  "caret-square-o-up": 61777,
  "toggle-right": 61778,
  "caret-square-o-right": 61778,
  "euro": 61779,
  "eur": 61779,
  "gbp": 61780,
  "dollar": 61781,
  "usd": 61781,
  "rupee": 61782,
  "inr": 61782,
  "cny": 61783,
  "rmb": 61783,
  "yen": 61783,
  "jpy": 61783,
  "ruble": 61784,
  "rouble": 61784,
  "rub": 61784,
  "won": 61785,
  "krw": 61785,
  "bitcoin": 61786,
  "btc": 61786,
  "file": 61787,
  "file-text": 61788,
  "sort-alpha-asc": 61789,
  "sort-alpha-desc": 61790,
  "sort-amount-asc": 61792,
  "sort-amount-desc": 61793,
  "sort-numeric-asc": 61794,
  "sort-numeric-desc": 61795,
  "thumbs-up": 61796,
  "thumbs-down": 61797,
  "youtube-square": 61798,
  "youtube": 61799,
  "xing": 61800,
  "xing-square": 61801,
  "youtube-play": 61802,
  "dropbox": 61803,
  "stack-overflow": 61804,
  "instagram": 61805,
  "flickr": 61806,
  "adn": 61808,
  "bitbucket": 61809,
  "bitbucket-square": 61810,
  "tumblr": 61811,
  "tumblr-square": 61812,
  "long-arrow-down": 61813,
  "long-arrow-up": 61814,
  "long-arrow-left": 61815,
  "long-arrow-right": 61816,
  "apple": 61817,
  "windows": 61818,
  "android": 61819,
  "linux": 61820,
  "dribbble": 61821,
  "skype": 61822,
  "foursquare": 61824,
  "trello": 61825,
  "female": 61826,
  "male": 61827,
  "gittip": 61828,
  "gratipay": 61828,
  "sun-o": 61829,
  "moon-o": 61830,
  "archive": 61831,
  "bug": 61832,
  "vk": 61833,
  "weibo": 61834,
  "renren": 61835,
  "pagelines": 61836,
  "stack-exchange": 61837,
  "arrow-circle-o-right": 61838,
  "arrow-circle-o-left": 61840,
  "toggle-left": 61841,
  "caret-square-o-left": 61841,
  "dot-circle-o": 61842,
  "wheelchair": 61843,
  "vimeo-square": 61844,
  "turkish-lira": 61845,
  "try": 61845,
  "plus-square-o": 61846,
  "space-shuttle": 61847,
  "slack": 61848,
  "envelope-square": 61849,
  "wordpress": 61850,
  "openid": 61851,
  "institution": 61852,
  "bank": 61852,
  "university": 61852,
  "mortar-board": 61853,
  "graduation-cap": 61853,
  "yahoo": 61854,
  "google": 61856,
  "reddit": 61857,
  "reddit-square": 61858,
  "stumbleupon-circle": 61859,
  "stumbleupon": 61860,
  "delicious": 61861,
  "digg": 61862,
  "pied-piper-pp": 61863,
  "pied-piper-alt": 61864,
  "drupal": 61865,
  "joomla": 61866,
  "language": 61867,
  "fax": 61868,
  "building": 61869,
  "child": 61870,
  "paw": 61872,
  "spoon": 61873,
  "cube": 61874,
  "cubes": 61875,
  "behance": 61876,
  "behance-square": 61877,
  "steam": 61878,
  "steam-square": 61879,
  "recycle": 61880,
  "automobile": 61881,
  "car": 61881,
  "cab": 61882,
  "taxi": 61882,
  "tree": 61883,
  "spotify": 61884,
  "deviantart": 61885,
  "soundcloud": 61886,
  "database": 61888,
  "file-pdf-o": 61889,
  "file-word-o": 61890,
  "file-excel-o": 61891,
  "file-powerpoint-o": 61892,
  "file-photo-o": 61893,
  "file-picture-o": 61893,
  "file-image-o": 61893,
  "file-zip-o": 61894,
  "file-archive-o": 61894,
  "file-sound-o": 61895,
  "file-audio-o": 61895,
  "file-movie-o": 61896,
  "file-video-o": 61896,
  "file-code-o": 61897,
  "vine": 61898,
  "codepen": 61899,
  "jsfiddle": 61900,
  "life-bouy": 61901,
  "life-buoy": 61901,
  "life-saver": 61901,
  "support": 61901,
  "life-ring": 61901,
  "circle-o-notch": 61902,
  "ra": 61904,
  "resistance": 61904,
  "rebel": 61904,
  "ge": 61905,
  "empire": 61905,
  "git-square": 61906,
  "git": 61907,
  "y-combinator-square": 61908,
  "yc-square": 61908,
  "hacker-news": 61908,
  "tencent-weibo": 61909,
  "qq": 61910,
  "wechat": 61911,
  "weixin": 61911,
  "send": 61912,
  "paper-plane": 61912,
  "send-o": 61913,
  "paper-plane-o": 61913,
  "history": 61914,
  "circle-thin": 61915,
  "header": 61916,
  "paragraph": 61917,
  "sliders": 61918,
  "share-alt": 61920,
  "share-alt-square": 61921,
  "bomb": 61922,
  "soccer-ball-o": 61923,
  "futbol-o": 61923,
  "tty": 61924,
  "binoculars": 61925,
  "plug": 61926,
  "slideshare": 61927,
  "twitch": 61928,
  "yelp": 61929,
  "newspaper-o": 61930,
  "wifi": 61931,
  "calculator": 61932,
  "paypal": 61933,
  "google-wallet": 61934,
  "cc-visa": 61936,
  "cc-mastercard": 61937,
  "cc-discover": 61938,
  "cc-amex": 61939,
  "cc-paypal": 61940,
  "cc-stripe": 61941,
  "bell-slash": 61942,
  "bell-slash-o": 61943,
  "trash": 61944,
  "copyright": 61945,
  "at": 61946,
  "eyedropper": 61947,
  "paint-brush": 61948,
  "birthday-cake": 61949,
  "area-chart": 61950,
  "pie-chart": 61952,
  "line-chart": 61953,
  "lastfm": 61954,
  "lastfm-square": 61955,
  "toggle-off": 61956,
  "toggle-on": 61957,
  "bicycle": 61958,
  "bus": 61959,
  "ioxhost": 61960,
  "angellist": 61961,
  "cc": 61962,
  "shekel": 61963,
  "sheqel": 61963,
  "ils": 61963,
  "meanpath": 61964,
  "buysellads": 61965,
  "connectdevelop": 61966,
  "dashcube": 61968,
  "forumbee": 61969,
  "leanpub": 61970,
  "sellsy": 61971,
  "shirtsinbulk": 61972,
  "simplybuilt": 61973,
  "skyatlas": 61974,
  "cart-plus": 61975,
  "cart-arrow-down": 61976,
  "diamond": 61977,
  "ship": 61978,
  "user-secret": 61979,
  "motorcycle": 61980,
  "street-view": 61981,
  "heartbeat": 61982,
  "venus": 61985,
  "mars": 61986,
  "mercury": 61987,
  "intersex": 61988,
  "transgender": 61988,
  "transgender-alt": 61989,
  "venus-double": 61990,
  "mars-double": 61991,
  "venus-mars": 61992,
  "mars-stroke": 61993,
  "mars-stroke-v": 61994,
  "mars-stroke-h": 61995,
  "neuter": 61996,
  "genderless": 61997,
  "facebook-official": 62000,
  "pinterest-p": 62001,
  "whatsapp": 62002,
  "server": 62003,
  "user-plus": 62004,
  "user-times": 62005,
  "hotel": 62006,
  "bed": 62006,
  "viacoin": 62007,
  "train": 62008,
  "subway": 62009,
  "medium": 62010,
  "yc": 62011,
  "y-combinator": 62011,
  "optin-monster": 62012,
  "opencart": 62013,
  "expeditedssl": 62014,
  "battery-4": 62016,
  "battery": 62016,
  "battery-full": 62016,
  "battery-3": 62017,
  "battery-three-quarters": 62017,
  "battery-2": 62018,
  "battery-half": 62018,
  "battery-1": 62019,
  "battery-quarter": 62019,
  "battery-0": 62020,
  "battery-empty": 62020,
  "mouse-pointer": 62021,
  "i-cursor": 62022,
  "object-group": 62023,
  "object-ungroup": 62024,
  "sticky-note": 62025,
  "sticky-note-o": 62026,
  "cc-jcb": 62027,
  "cc-diners-club": 62028,
  "clone": 62029,
  "balance-scale": 62030,
  "hourglass-o": 62032,
  "hourglass-1": 62033,
  "hourglass-start": 62033,
  "hourglass-2": 62034,
  "hourglass-half": 62034,
  "hourglass-3": 62035,
  "hourglass-end": 62035,
  "hourglass": 62036,
  "hand-grab-o": 62037,
  "hand-rock-o": 62037,
  "hand-stop-o": 62038,
  "hand-paper-o": 62038,
  "hand-scissors-o": 62039,
  "hand-lizard-o": 62040,
  "hand-spock-o": 62041,
  "hand-pointer-o": 62042,
  "hand-peace-o": 62043,
  "trademark": 62044,
  "registered": 62045,
  "creative-commons": 62046,
  "gg": 62048,
  "gg-circle": 62049,
  "tripadvisor": 62050,
  "odnoklassniki": 62051,
  "odnoklassniki-square": 62052,
  "get-pocket": 62053,
  "wikipedia-w": 62054,
  "safari": 62055,
  "chrome": 62056,
  "firefox": 62057,
  "opera": 62058,
  "internet-explorer": 62059,
  "tv": 62060,
  "television": 62060,
  "contao": 62061,
  "500px": 62062,
  "amazon": 62064,
  "calendar-plus-o": 62065,
  "calendar-minus-o": 62066,
  "calendar-times-o": 62067,
  "calendar-check-o": 62068,
  "industry": 62069,
  "map-pin": 62070,
  "map-signs": 62071,
  "map-o": 62072,
  "map": 62073,
  "commenting": 62074,
  "commenting-o": 62075,
  "houzz": 62076,
  "vimeo": 62077,
  "black-tie": 62078,
  "fonticons": 62080,
  "reddit-alien": 62081,
  "edge": 62082,
  "credit-card-alt": 62083,
  "codiepie": 62084,
  "modx": 62085,
  "fort-awesome": 62086,
  "usb": 62087,
  "product-hunt": 62088,
  "mixcloud": 62089,
  "scribd": 62090,
  "pause-circle": 62091,
  "pause-circle-o": 62092,
  "stop-circle": 62093,
  "stop-circle-o": 62094,
  "shopping-bag": 62096,
  "shopping-basket": 62097,
  "hashtag": 62098,
  "bluetooth": 62099,
  "bluetooth-b": 62100,
  "percent": 62101,
  "gitlab": 62102,
  "wpbeginner": 62103,
  "wpforms": 62104,
  "envira": 62105,
  "universal-access": 62106,
  "wheelchair-alt": 62107,
  "question-circle-o": 62108,
  "blind": 62109,
  "audio-description": 62110,
  "volume-control-phone": 62112,
  "braille": 62113,
  "assistive-listening-systems": 62114,
  "asl-interpreting": 62115,
  "american-sign-language-interpreting": 62115,
  "deafness": 62116,
  "hard-of-hearing": 62116,
  "deaf": 62116,
  "glide": 62117,
  "glide-g": 62118,
  "signing": 62119,
  "sign-language": 62119,
  "low-vision": 62120,
  "viadeo": 62121,
  "viadeo-square": 62122,
  "snapchat": 62123,
  "snapchat-ghost": 62124,
  "snapchat-square": 62125,
  "pied-piper": 62126,
  "first-order": 62128,
  "yoast": 62129,
  "themeisle": 62130,
  "google-plus-circle": 62131,
  "google-plus-official": 62131,
  "fa": 62132,
  "font-awesome": 62132,
  "handshake-o": 62133,
  "envelope-open": 62134,
  "envelope-open-o": 62135,
  "linode": 62136,
  "address-book": 62137,
  "address-book-o": 62138,
  "vcard": 62139,
  "address-card": 62139,
  "vcard-o": 62140,
  "address-card-o": 62140,
  "user-circle": 62141,
  "user-circle-o": 62142,
  "user-o": 62144,
  "id-badge": 62145,
  "drivers-license": 62146,
  "id-card": 62146,
  "drivers-license-o": 62147,
  "id-card-o": 62147,
  "quora": 62148,
  "free-code-camp": 62149,
  "telegram": 62150,
  "thermometer-4": 62151,
  "thermometer": 62151,
  "thermometer-full": 62151,
  "thermometer-3": 62152,
  "thermometer-three-quarters": 62152,
  "thermometer-2": 62153,
  "thermometer-half": 62153,
  "thermometer-1": 62154,
  "thermometer-quarter": 62154,
  "thermometer-0": 62155,
  "thermometer-empty": 62155,
  "shower": 62156,
  "bathtub": 62157,
  "s15": 62157,
  "bath": 62157,
  "podcast": 62158,
  "window-maximize": 62160,
  "window-minimize": 62161,
  "window-restore": 62162,
  "times-rectangle": 62163,
  "window-close": 62163,
  "times-rectangle-o": 62164,
  "window-close-o": 62164,
  "bandcamp": 62165,
  "grav": 62166,
  "etsy": 62167,
  "imdb": 62168,
  "ravelry": 62169,
  "eercast": 62170,
  "microchip": 62171,
  "snowflake-o": 62172,
  "superpowers": 62173,
  "wpexplorer": 62174,
  "meetup": 62176
};
},1824,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "FA5Style", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).FA5Style;
    }
  });
  exports.getImageSourceSync = exports.getImageSource = exports.Button = exports.default = undefined;

  var _FontAwesome5Free = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _FontAwesome5Free_meta = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[3]));

  var iconSet = (0, _$$_REQUIRE(_dependencyMap[0]).createFA5iconSet)(_FontAwesome5Free.default, _FontAwesome5Free_meta.default, false);
  var _default = iconSet;
  exports.default = _default;
  var Button = iconSet.Button,
      getImageSource = iconSet.getImageSource,
      getImageSourceSync = iconSet.getImageSourceSync;
  exports.getImageSourceSync = getImageSourceSync;
  exports.getImageSource = getImageSource;
  exports.Button = Button;
},1825,[1826,5,1828,1829]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createFA5iconSet = createFA5iconSet;
  exports.FA5Style = undefined;

  var _createMultiStyleIconSet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var FA5Style = {
    regular: 'regular',
    light: 'light',
    solid: 'solid',
    brand: 'brand'
  };
  exports.FA5Style = FA5Style;

  function createFA5iconSet(glyphMap) {
    var metadata = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
    var pro = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
    var metadataKeys = Object.keys(metadata);
    var fontFamily = "FontAwesome5" + (pro ? 'Pro' : 'Free');

    function fallbackFamily(glyph) {
      for (var i = 0; i < metadataKeys.length; i += 1) {
        var family = metadataKeys[i];

        if (metadata[family].indexOf(glyph) !== -1) {
          return family === 'brands' ? 'brand' : family;
        }
      }

      return 'regular';
    }

    function glyphValidator(glyph, style) {
      var family = style === 'brand' ? 'brands' : style;
      if (metadataKeys.indexOf(family) === -1) return false;
      return metadata[family].indexOf(glyph) !== -1;
    }

    function createFontAwesomeStyle(style, fontWeight) {
      var family = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : fontFamily;
      var styleName = style;
      var fontFile = "FontAwesome5_" + (pro ? "Pro_" + styleName : styleName) + ".ttf";

      if (styleName === 'Brands') {
        styleName = 'Regular';
        fontFile = 'FontAwesome5_Brands.ttf';
      }

      return {
        fontFamily: family + "-" + styleName,
        fontFile: fontFile,
        fontStyle: _$$_REQUIRE(_dependencyMap[2]).Platform.select({
          ios: {
            fontWeight: fontWeight
          },
          default: {}
        }),
        glyphMap: glyphMap
      };
    }

    var brandIcons = createFontAwesomeStyle('Brands', '400', 'FontAwesome5Brands');
    var lightIcons = createFontAwesomeStyle('Light', '300');
    var regularIcons = createFontAwesomeStyle('Regular', '400');
    var solidIcons = createFontAwesomeStyle('Solid', '900');
    var Icon = (0, _createMultiStyleIconSet.default)({
      brand: brandIcons,
      light: lightIcons,
      regular: regularIcons,
      solid: solidIcons
    }, {
      defaultStyle: 'regular',
      fallbackFamily: fallbackFamily,
      glyphValidator: glyphValidator
    });
    return Icon;
  }
},1826,[5,1827,1810]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = createMultiStyleIconSet;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _defineProperty2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _createIconSet = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  function createMultiStyleIconSet(styles) {
    var optionsInput = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
    var styleNames = Object.keys(styles);

    if (styleNames.length === 0) {
      throw new Error('You need to add at least one style');
    }

    var options = (0, _extends2.default)({
      defaultStyle: styleNames[0],
      fallbackFamily: function fallbackFamily() {
        return styleNames[0];
      },
      glyphValidator: function glyphValidator() {
        return true;
      }
    }, optionsInput);
    var iconSets = styleNames.reduce(function (acc, name) {
      var style = styles[name];
      acc[name] = (0, _createIconSet.default)(style.glyphMap || {}, style.fontFamily || '', style.fontFile || '', style.fontStyle || {});
      return acc;
    }, {});

    function styleFromProps(props) {
      return Object.keys(props).reduce(function (result, propName) {
        return styleNames.indexOf(propName) !== -1 && props[propName] === true ? propName : result;
      }, options.defaultStyle);
    }

    function getIconSetForProps(props) {
      var name = props.name;
      var style = styleFromProps(props);
      if (options.glyphValidator(name, style)) return iconSets[style];
      var family = options.fallbackFamily(name);

      if (styleNames.indexOf(family) === -1) {
        return options.defaultStyle;
      }

      return iconSets[family];
    }

    function selectIconClass(iconSet, iconClass) {
      return iconClass.length > 0 ? iconSet[iconClass] : iconSet;
    }

    function reduceProps(props) {
      return Object.keys(props).reduce(function (acc, prop) {
        if (styleNames.indexOf(prop) === -1) {
          acc[prop] = props[prop];
        }

        return acc;
      }, {});
    }

    function getStyledIconSet(style) {
      var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';

      if (styleNames.indexOf(style) === -1) {
        return iconSets[options.defaultStyle];
      }

      return !name ? iconSets[styleFromProps((0, _defineProperty2.default)({}, style, true))] : getIconSetForProps((0, _defineProperty2.default)({
        name: name
      }, style, true));
    }

    function getImageSource(name) {
      var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _createIconSet.DEFAULT_ICON_SIZE;
      var color = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _createIconSet.DEFAULT_ICON_COLOR;
      var style = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : options.defaultStyle;
      return getStyledIconSet(style, name).getImageSource(name, size, color);
    }

    function getFontFamily() {
      var style = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : options.defaultStyle;
      return getStyledIconSet(style).getFontFamily();
    }

    function getRawGlyphMap() {
      var style = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : options.defaultStyle;
      return getStyledIconSet(style).getRawGlyphMap();
    }

    function hasIcon(name) {
      var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : options.defaultStyle;
      return options.glyphValidator(name, style);
    }

    function createStyledIconClass() {
      var selectClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';

      var IconClass = function (_PureComponent) {
        (0, _inherits2.default)(IconClass, _PureComponent);

        var _super = _createSuper(IconClass);

        function IconClass() {
          (0, _classCallCheck2.default)(this, IconClass);
          return _super.apply(this, arguments);
        }

        (0, _createClass2.default)(IconClass, [{
          key: "render",
          value: function render() {
            var selectedIconSet = getIconSetForProps(this.props);
            var SelectedIconClass = selectIconClass(selectedIconSet, selectClass);
            var props = reduceProps(this.props);
            return _react.default.createElement(SelectedIconClass, props);
          }
        }]);
        return IconClass;
      }(_react.PureComponent);

      IconClass.propTypes = styleNames.reduce(function (acc, name) {
        acc[name] = _propTypes.default.bool;
        return acc;
      }, {});
      IconClass.defaultProps = styleNames.reduce(function (acc, name) {
        acc[name] = false;
        return acc;
      }, {});
      return IconClass;
    }

    var Icon = createStyledIconClass();
    Icon.Button = createStyledIconClass('Button');
    Icon.getStyledIconSet = getStyledIconSet;
    Icon.getImageSource = getImageSource;
    Icon.getFontFamily = getFontFamily;
    Icon.getRawGlyphMap = getRawGlyphMap;
    Icon.hasIcon = hasIcon;
    return Icon;
  }
},1827,[5,7,8,12,14,16,27,6,17,201,1808]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "500px": 62062,
  "accessible-icon": 62312,
  "accusoft": 62313,
  "acquisitions-incorporated": 63151,
  "ad": 63041,
  "address-book": 62137,
  "address-card": 62139,
  "adjust": 61506,
  "adn": 61808,
  "adobe": 63352,
  "adversal": 62314,
  "affiliatetheme": 62315,
  "air-freshener": 62928,
  "airbnb": 63540,
  "algolia": 62316,
  "align-center": 61495,
  "align-justify": 61497,
  "align-left": 61494,
  "align-right": 61496,
  "alipay": 63042,
  "allergies": 62561,
  "amazon": 62064,
  "amazon-pay": 62508,
  "ambulance": 61689,
  "american-sign-language-interpreting": 62115,
  "amilia": 62317,
  "anchor": 61757,
  "android": 61819,
  "angellist": 61961,
  "angle-double-down": 61699,
  "angle-double-left": 61696,
  "angle-double-right": 61697,
  "angle-double-up": 61698,
  "angle-down": 61703,
  "angle-left": 61700,
  "angle-right": 61701,
  "angle-up": 61702,
  "angry": 62806,
  "angrycreative": 62318,
  "angular": 62496,
  "ankh": 63044,
  "app-store": 62319,
  "app-store-ios": 62320,
  "apper": 62321,
  "apple": 61817,
  "apple-alt": 62929,
  "apple-pay": 62485,
  "archive": 61831,
  "archway": 62807,
  "arrow-alt-circle-down": 62296,
  "arrow-alt-circle-left": 62297,
  "arrow-alt-circle-right": 62298,
  "arrow-alt-circle-up": 62299,
  "arrow-circle-down": 61611,
  "arrow-circle-left": 61608,
  "arrow-circle-right": 61609,
  "arrow-circle-up": 61610,
  "arrow-down": 61539,
  "arrow-left": 61536,
  "arrow-right": 61537,
  "arrow-up": 61538,
  "arrows-alt": 61618,
  "arrows-alt-h": 62263,
  "arrows-alt-v": 62264,
  "artstation": 63354,
  "assistive-listening-systems": 62114,
  "asterisk": 61545,
  "asymmetrik": 62322,
  "at": 61946,
  "atlas": 62808,
  "atlassian": 63355,
  "atom": 62930,
  "audible": 62323,
  "audio-description": 62110,
  "autoprefixer": 62492,
  "avianex": 62324,
  "aviato": 62497,
  "award": 62809,
  "aws": 62325,
  "baby": 63356,
  "baby-carriage": 63357,
  "backspace": 62810,
  "backward": 61514,
  "bacon": 63461,
  "bahai": 63078,
  "balance-scale": 62030,
  "balance-scale-left": 62741,
  "balance-scale-right": 62742,
  "ban": 61534,
  "band-aid": 62562,
  "bandcamp": 62165,
  "barcode": 61482,
  "bars": 61641,
  "baseball-ball": 62515,
  "basketball-ball": 62516,
  "bath": 62157,
  "battery-empty": 62020,
  "battery-full": 62016,
  "battery-half": 62018,
  "battery-quarter": 62019,
  "battery-three-quarters": 62017,
  "battle-net": 63541,
  "bed": 62006,
  "beer": 61692,
  "behance": 61876,
  "behance-square": 61877,
  "bell": 61683,
  "bell-slash": 61942,
  "bezier-curve": 62811,
  "bible": 63047,
  "bicycle": 61958,
  "biking": 63562,
  "bimobject": 62328,
  "binoculars": 61925,
  "biohazard": 63360,
  "birthday-cake": 61949,
  "bitbucket": 61809,
  "bitcoin": 62329,
  "bity": 62330,
  "black-tie": 62078,
  "blackberry": 62331,
  "blender": 62743,
  "blender-phone": 63158,
  "blind": 62109,
  "blog": 63361,
  "blogger": 62332,
  "blogger-b": 62333,
  "bluetooth": 62099,
  "bluetooth-b": 62100,
  "bold": 61490,
  "bolt": 61671,
  "bomb": 61922,
  "bone": 62935,
  "bong": 62812,
  "book": 61485,
  "book-dead": 63159,
  "book-medical": 63462,
  "book-open": 62744,
  "book-reader": 62938,
  "bookmark": 61486,
  "bootstrap": 63542,
  "border-all": 63564,
  "border-none": 63568,
  "border-style": 63571,
  "bowling-ball": 62518,
  "box": 62566,
  "box-open": 62622,
  "box-tissue": 63835,
  "boxes": 62568,
  "braille": 62113,
  "brain": 62940,
  "bread-slice": 63468,
  "briefcase": 61617,
  "briefcase-medical": 62569,
  "broadcast-tower": 62745,
  "broom": 62746,
  "brush": 62813,
  "btc": 61786,
  "buffer": 63543,
  "bug": 61832,
  "building": 61869,
  "bullhorn": 61601,
  "bullseye": 61760,
  "burn": 62570,
  "buromobelexperte": 62335,
  "bus": 61959,
  "bus-alt": 62814,
  "business-time": 63050,
  "buy-n-large": 63654,
  "buysellads": 61965,
  "calculator": 61932,
  "calendar": 61747,
  "calendar-alt": 61555,
  "calendar-check": 62068,
  "calendar-day": 63363,
  "calendar-minus": 62066,
  "calendar-plus": 62065,
  "calendar-times": 62067,
  "calendar-week": 63364,
  "camera": 61488,
  "camera-retro": 61571,
  "campground": 63163,
  "canadian-maple-leaf": 63365,
  "candy-cane": 63366,
  "cannabis": 62815,
  "capsules": 62571,
  "car": 61881,
  "car-alt": 62942,
  "car-battery": 62943,
  "car-crash": 62945,
  "car-side": 62948,
  "caravan": 63743,
  "caret-down": 61655,
  "caret-left": 61657,
  "caret-right": 61658,
  "caret-square-down": 61776,
  "caret-square-left": 61841,
  "caret-square-right": 61778,
  "caret-square-up": 61777,
  "caret-up": 61656,
  "carrot": 63367,
  "cart-arrow-down": 61976,
  "cart-plus": 61975,
  "cash-register": 63368,
  "cat": 63166,
  "cc-amazon-pay": 62509,
  "cc-amex": 61939,
  "cc-apple-pay": 62486,
  "cc-diners-club": 62028,
  "cc-discover": 61938,
  "cc-jcb": 62027,
  "cc-mastercard": 61937,
  "cc-paypal": 61940,
  "cc-stripe": 61941,
  "cc-visa": 61936,
  "centercode": 62336,
  "centos": 63369,
  "certificate": 61603,
  "chair": 63168,
  "chalkboard": 62747,
  "chalkboard-teacher": 62748,
  "charging-station": 62951,
  "chart-area": 61950,
  "chart-bar": 61568,
  "chart-line": 61953,
  "chart-pie": 61952,
  "check": 61452,
  "check-circle": 61528,
  "check-double": 62816,
  "check-square": 61770,
  "cheese": 63471,
  "chess": 62521,
  "chess-bishop": 62522,
  "chess-board": 62524,
  "chess-king": 62527,
  "chess-knight": 62529,
  "chess-pawn": 62531,
  "chess-queen": 62533,
  "chess-rook": 62535,
  "chevron-circle-down": 61754,
  "chevron-circle-left": 61751,
  "chevron-circle-right": 61752,
  "chevron-circle-up": 61753,
  "chevron-down": 61560,
  "chevron-left": 61523,
  "chevron-right": 61524,
  "chevron-up": 61559,
  "child": 61870,
  "chrome": 62056,
  "chromecast": 63544,
  "church": 62749,
  "circle": 61713,
  "circle-notch": 61902,
  "city": 63055,
  "clinic-medical": 63474,
  "clipboard": 62248,
  "clipboard-check": 62572,
  "clipboard-list": 62573,
  "clock": 61463,
  "clone": 62029,
  "closed-captioning": 61962,
  "cloud": 61634,
  "cloud-download-alt": 62337,
  "cloud-meatball": 63291,
  "cloud-moon": 63171,
  "cloud-moon-rain": 63292,
  "cloud-rain": 63293,
  "cloud-showers-heavy": 63296,
  "cloud-sun": 63172,
  "cloud-sun-rain": 63299,
  "cloud-upload-alt": 62338,
  "cloudscale": 62339,
  "cloudsmith": 62340,
  "cloudversify": 62341,
  "cocktail": 62817,
  "code": 61729,
  "code-branch": 61734,
  "codepen": 61899,
  "codiepie": 62084,
  "coffee": 61684,
  "cog": 61459,
  "cogs": 61573,
  "coins": 62750,
  "columns": 61659,
  "comment": 61557,
  "comment-alt": 62074,
  "comment-dollar": 63057,
  "comment-dots": 62637,
  "comment-medical": 63477,
  "comment-slash": 62643,
  "comments": 61574,
  "comments-dollar": 63059,
  "compact-disc": 62751,
  "compass": 61774,
  "compress": 61542,
  "compress-alt": 62498,
  "compress-arrows-alt": 63372,
  "concierge-bell": 62818,
  "confluence": 63373,
  "connectdevelop": 61966,
  "contao": 62061,
  "cookie": 62819,
  "cookie-bite": 62820,
  "copy": 61637,
  "copyright": 61945,
  "cotton-bureau": 63646,
  "couch": 62648,
  "cpanel": 62344,
  "creative-commons": 62046,
  "creative-commons-by": 62695,
  "creative-commons-nc": 62696,
  "creative-commons-nc-eu": 62697,
  "creative-commons-nc-jp": 62698,
  "creative-commons-nd": 62699,
  "creative-commons-pd": 62700,
  "creative-commons-pd-alt": 62701,
  "creative-commons-remix": 62702,
  "creative-commons-sa": 62703,
  "creative-commons-sampling": 62704,
  "creative-commons-sampling-plus": 62705,
  "creative-commons-share": 62706,
  "creative-commons-zero": 62707,
  "credit-card": 61597,
  "critical-role": 63177,
  "crop": 61733,
  "crop-alt": 62821,
  "cross": 63060,
  "crosshairs": 61531,
  "crow": 62752,
  "crown": 62753,
  "crutch": 63479,
  "css3": 61756,
  "css3-alt": 62347,
  "cube": 61874,
  "cubes": 61875,
  "cut": 61636,
  "cuttlefish": 62348,
  "d-and-d": 62349,
  "d-and-d-beyond": 63178,
  "dailymotion": 63826,
  "dashcube": 61968,
  "database": 61888,
  "deaf": 62116,
  "delicious": 61861,
  "democrat": 63303,
  "deploydog": 62350,
  "deskpro": 62351,
  "desktop": 61704,
  "dev": 63180,
  "deviantart": 61885,
  "dharmachakra": 63061,
  "dhl": 63376,
  "diagnoses": 62576,
  "diaspora": 63377,
  "dice": 62754,
  "dice-d20": 63183,
  "dice-d6": 63185,
  "dice-five": 62755,
  "dice-four": 62756,
  "dice-one": 62757,
  "dice-six": 62758,
  "dice-three": 62759,
  "dice-two": 62760,
  "digg": 61862,
  "digital-ocean": 62353,
  "digital-tachograph": 62822,
  "directions": 62955,
  "discord": 62354,
  "discourse": 62355,
  "disease": 63482,
  "divide": 62761,
  "dizzy": 62823,
  "dna": 62577,
  "dochub": 62356,
  "docker": 62357,
  "dog": 63187,
  "dollar-sign": 61781,
  "dolly": 62578,
  "dolly-flatbed": 62580,
  "donate": 62649,
  "door-closed": 62762,
  "door-open": 62763,
  "dot-circle": 61842,
  "dove": 62650,
  "download": 61465,
  "draft2digital": 62358,
  "drafting-compass": 62824,
  "dragon": 63189,
  "draw-polygon": 62958,
  "dribbble": 61821,
  "dribbble-square": 62359,
  "dropbox": 61803,
  "drum": 62825,
  "drum-steelpan": 62826,
  "drumstick-bite": 63191,
  "drupal": 61865,
  "dumbbell": 62539,
  "dumpster": 63379,
  "dumpster-fire": 63380,
  "dungeon": 63193,
  "dyalog": 62361,
  "earlybirds": 62362,
  "ebay": 62708,
  "edge": 62082,
  "edit": 61508,
  "egg": 63483,
  "eject": 61522,
  "elementor": 62512,
  "ellipsis-h": 61761,
  "ellipsis-v": 61762,
  "ello": 62961,
  "ember": 62499,
  "empire": 61905,
  "envelope": 61664,
  "envelope-open": 62134,
  "envelope-open-text": 63064,
  "envelope-square": 61849,
  "envira": 62105,
  "equals": 62764,
  "eraser": 61741,
  "erlang": 62365,
  "ethereum": 62510,
  "ethernet": 63382,
  "etsy": 62167,
  "euro-sign": 61779,
  "evernote": 63545,
  "exchange-alt": 62306,
  "exclamation": 61738,
  "exclamation-circle": 61546,
  "exclamation-triangle": 61553,
  "expand": 61541,
  "expand-alt": 62500,
  "expand-arrows-alt": 62238,
  "expeditedssl": 62014,
  "external-link-alt": 62301,
  "external-link-square-alt": 62304,
  "eye": 61550,
  "eye-dropper": 61947,
  "eye-slash": 61552,
  "facebook": 61594,
  "facebook-f": 62366,
  "facebook-messenger": 62367,
  "facebook-square": 61570,
  "fan": 63587,
  "fantasy-flight-games": 63196,
  "fast-backward": 61513,
  "fast-forward": 61520,
  "faucet": 63749,
  "fax": 61868,
  "feather": 62765,
  "feather-alt": 62827,
  "fedex": 63383,
  "fedora": 63384,
  "female": 61826,
  "fighter-jet": 61691,
  "figma": 63385,
  "file": 61787,
  "file-alt": 61788,
  "file-archive": 61894,
  "file-audio": 61895,
  "file-code": 61897,
  "file-contract": 62828,
  "file-csv": 63197,
  "file-download": 62829,
  "file-excel": 61891,
  "file-export": 62830,
  "file-image": 61893,
  "file-import": 62831,
  "file-invoice": 62832,
  "file-invoice-dollar": 62833,
  "file-medical": 62583,
  "file-medical-alt": 62584,
  "file-pdf": 61889,
  "file-powerpoint": 61892,
  "file-prescription": 62834,
  "file-signature": 62835,
  "file-upload": 62836,
  "file-video": 61896,
  "file-word": 61890,
  "fill": 62837,
  "fill-drip": 62838,
  "film": 61448,
  "filter": 61616,
  "fingerprint": 62839,
  "fire": 61549,
  "fire-alt": 63460,
  "fire-extinguisher": 61748,
  "firefox": 62057,
  "firefox-browser": 63751,
  "first-aid": 62585,
  "first-order": 62128,
  "first-order-alt": 62730,
  "firstdraft": 62369,
  "fish": 62840,
  "fist-raised": 63198,
  "flag": 61476,
  "flag-checkered": 61726,
  "flag-usa": 63309,
  "flask": 61635,
  "flickr": 61806,
  "flipboard": 62541,
  "flushed": 62841,
  "fly": 62487,
  "folder": 61563,
  "folder-minus": 63069,
  "folder-open": 61564,
  "folder-plus": 63070,
  "font": 61489,
  "font-awesome": 62132,
  "font-awesome-alt": 62300,
  "font-awesome-flag": 62501,
  "font-awesome-logo-full": 62694,
  "fonticons": 62080,
  "fonticons-fi": 62370,
  "football-ball": 62542,
  "fort-awesome": 62086,
  "fort-awesome-alt": 62371,
  "forumbee": 61969,
  "forward": 61518,
  "foursquare": 61824,
  "free-code-camp": 62149,
  "freebsd": 62372,
  "frog": 62766,
  "frown": 61721,
  "frown-open": 62842,
  "fulcrum": 62731,
  "funnel-dollar": 63074,
  "futbol": 61923,
  "galactic-republic": 62732,
  "galactic-senate": 62733,
  "gamepad": 61723,
  "gas-pump": 62767,
  "gavel": 61667,
  "gem": 62373,
  "genderless": 61997,
  "get-pocket": 62053,
  "gg": 62048,
  "gg-circle": 62049,
  "ghost": 63202,
  "gift": 61547,
  "gifts": 63388,
  "git": 61907,
  "git-alt": 63553,
  "git-square": 61906,
  "github": 61595,
  "github-alt": 61715,
  "github-square": 61586,
  "gitkraken": 62374,
  "gitlab": 62102,
  "gitter": 62502,
  "glass-cheers": 63391,
  "glass-martini": 61440,
  "glass-martini-alt": 62843,
  "glass-whiskey": 63392,
  "glasses": 62768,
  "glide": 62117,
  "glide-g": 62118,
  "globe": 61612,
  "globe-africa": 62844,
  "globe-americas": 62845,
  "globe-asia": 62846,
  "globe-europe": 63394,
  "gofore": 62375,
  "golf-ball": 62544,
  "goodreads": 62376,
  "goodreads-g": 62377,
  "google": 61856,
  "google-drive": 62378,
  "google-play": 62379,
  "google-plus": 62131,
  "google-plus-g": 61653,
  "google-plus-square": 61652,
  "google-wallet": 61934,
  "gopuram": 63076,
  "graduation-cap": 61853,
  "gratipay": 61828,
  "grav": 62166,
  "greater-than": 62769,
  "greater-than-equal": 62770,
  "grimace": 62847,
  "grin": 62848,
  "grin-alt": 62849,
  "grin-beam": 62850,
  "grin-beam-sweat": 62851,
  "grin-hearts": 62852,
  "grin-squint": 62853,
  "grin-squint-tears": 62854,
  "grin-stars": 62855,
  "grin-tears": 62856,
  "grin-tongue": 62857,
  "grin-tongue-squint": 62858,
  "grin-tongue-wink": 62859,
  "grin-wink": 62860,
  "grip-horizontal": 62861,
  "grip-lines": 63396,
  "grip-lines-vertical": 63397,
  "grip-vertical": 62862,
  "gripfire": 62380,
  "grunt": 62381,
  "guitar": 63398,
  "gulp": 62382,
  "h-square": 61693,
  "hacker-news": 61908,
  "hacker-news-square": 62383,
  "hackerrank": 62967,
  "hamburger": 63493,
  "hammer": 63203,
  "hamsa": 63077,
  "hand-holding": 62653,
  "hand-holding-heart": 62654,
  "hand-holding-medical": 63836,
  "hand-holding-usd": 62656,
  "hand-holding-water": 62657,
  "hand-lizard": 62040,
  "hand-middle-finger": 63494,
  "hand-paper": 62038,
  "hand-peace": 62043,
  "hand-point-down": 61607,
  "hand-point-left": 61605,
  "hand-point-right": 61604,
  "hand-point-up": 61606,
  "hand-pointer": 62042,
  "hand-rock": 62037,
  "hand-scissors": 62039,
  "hand-sparkles": 63837,
  "hand-spock": 62041,
  "hands": 62658,
  "hands-helping": 62660,
  "hands-wash": 63838,
  "handshake": 62133,
  "handshake-alt-slash": 63839,
  "handshake-slash": 63840,
  "hanukiah": 63206,
  "hard-hat": 63495,
  "hashtag": 62098,
  "hat-cowboy": 63680,
  "hat-cowboy-side": 63681,
  "hat-wizard": 63208,
  "hdd": 61600,
  "head-side-cough": 63841,
  "head-side-cough-slash": 63842,
  "head-side-mask": 63843,
  "head-side-virus": 63844,
  "heading": 61916,
  "headphones": 61477,
  "headphones-alt": 62863,
  "headset": 62864,
  "heart": 61444,
  "heart-broken": 63401,
  "heartbeat": 61982,
  "helicopter": 62771,
  "highlighter": 62865,
  "hiking": 63212,
  "hippo": 63213,
  "hips": 62546,
  "hire-a-helper": 62384,
  "history": 61914,
  "hockey-puck": 62547,
  "holly-berry": 63402,
  "home": 61461,
  "hooli": 62503,
  "hornbill": 62866,
  "horse": 63216,
  "horse-head": 63403,
  "hospital": 61688,
  "hospital-alt": 62589,
  "hospital-symbol": 62590,
  "hospital-user": 63501,
  "hot-tub": 62867,
  "hotdog": 63503,
  "hotel": 62868,
  "hotjar": 62385,
  "hourglass": 62036,
  "hourglass-end": 62035,
  "hourglass-half": 62034,
  "hourglass-start": 62033,
  "house-damage": 63217,
  "house-user": 63845,
  "houzz": 62076,
  "hryvnia": 63218,
  "html5": 61755,
  "hubspot": 62386,
  "i-cursor": 62022,
  "ice-cream": 63504,
  "icicles": 63405,
  "icons": 63597,
  "id-badge": 62145,
  "id-card": 62146,
  "id-card-alt": 62591,
  "ideal": 63763,
  "igloo": 63406,
  "image": 61502,
  "images": 62210,
  "imdb": 62168,
  "inbox": 61468,
  "indent": 61500,
  "industry": 62069,
  "infinity": 62772,
  "info": 61737,
  "info-circle": 61530,
  "instagram": 61805,
  "instagram-square": 63829,
  "intercom": 63407,
  "internet-explorer": 62059,
  "invision": 63408,
  "ioxhost": 61960,
  "italic": 61491,
  "itch-io": 63546,
  "itunes": 62388,
  "itunes-note": 62389,
  "java": 62692,
  "jedi": 63081,
  "jedi-order": 62734,
  "jenkins": 62390,
  "jira": 63409,
  "joget": 62391,
  "joint": 62869,
  "joomla": 61866,
  "journal-whills": 63082,
  "js": 62392,
  "js-square": 62393,
  "jsfiddle": 61900,
  "kaaba": 63083,
  "kaggle": 62970,
  "key": 61572,
  "keybase": 62709,
  "keyboard": 61724,
  "keycdn": 62394,
  "khanda": 63085,
  "kickstarter": 62395,
  "kickstarter-k": 62396,
  "kiss": 62870,
  "kiss-beam": 62871,
  "kiss-wink-heart": 62872,
  "kiwi-bird": 62773,
  "korvue": 62511,
  "landmark": 63087,
  "language": 61867,
  "laptop": 61705,
  "laptop-code": 62972,
  "laptop-house": 63846,
  "laptop-medical": 63506,
  "laravel": 62397,
  "lastfm": 61954,
  "lastfm-square": 61955,
  "laugh": 62873,
  "laugh-beam": 62874,
  "laugh-squint": 62875,
  "laugh-wink": 62876,
  "layer-group": 62973,
  "leaf": 61548,
  "leanpub": 61970,
  "lemon": 61588,
  "less": 62493,
  "less-than": 62774,
  "less-than-equal": 62775,
  "level-down-alt": 62398,
  "level-up-alt": 62399,
  "life-ring": 61901,
  "lightbulb": 61675,
  "line": 62400,
  "link": 61633,
  "linkedin": 61580,
  "linkedin-in": 61665,
  "linode": 62136,
  "linux": 61820,
  "lira-sign": 61845,
  "list": 61498,
  "list-alt": 61474,
  "list-ol": 61643,
  "list-ul": 61642,
  "location-arrow": 61732,
  "lock": 61475,
  "lock-open": 62401,
  "long-arrow-alt-down": 62217,
  "long-arrow-alt-left": 62218,
  "long-arrow-alt-right": 62219,
  "long-arrow-alt-up": 62220,
  "low-vision": 62120,
  "luggage-cart": 62877,
  "lungs": 62980,
  "lungs-virus": 63847,
  "lyft": 62403,
  "magento": 62404,
  "magic": 61648,
  "magnet": 61558,
  "mail-bulk": 63092,
  "mailchimp": 62878,
  "male": 61827,
  "mandalorian": 62735,
  "map": 62073,
  "map-marked": 62879,
  "map-marked-alt": 62880,
  "map-marker": 61505,
  "map-marker-alt": 62405,
  "map-pin": 62070,
  "map-signs": 62071,
  "markdown": 62991,
  "marker": 62881,
  "mars": 61986,
  "mars-double": 61991,
  "mars-stroke": 61993,
  "mars-stroke-h": 61995,
  "mars-stroke-v": 61994,
  "mask": 63226,
  "mastodon": 62710,
  "maxcdn": 61750,
  "mdb": 63690,
  "medal": 62882,
  "medapps": 62406,
  "medium": 62010,
  "medium-m": 62407,
  "medkit": 61690,
  "medrt": 62408,
  "meetup": 62176,
  "megaport": 62883,
  "meh": 61722,
  "meh-blank": 62884,
  "meh-rolling-eyes": 62885,
  "memory": 62776,
  "mendeley": 63411,
  "menorah": 63094,
  "mercury": 61987,
  "meteor": 63315,
  "microblog": 63770,
  "microchip": 62171,
  "microphone": 61744,
  "microphone-alt": 62409,
  "microphone-alt-slash": 62777,
  "microphone-slash": 61745,
  "microscope": 62992,
  "microsoft": 62410,
  "minus": 61544,
  "minus-circle": 61526,
  "minus-square": 61766,
  "mitten": 63413,
  "mix": 62411,
  "mixcloud": 62089,
  "mixer": 63830,
  "mizuni": 62412,
  "mobile": 61707,
  "mobile-alt": 62413,
  "modx": 62085,
  "monero": 62416,
  "money-bill": 61654,
  "money-bill-alt": 62417,
  "money-bill-wave": 62778,
  "money-bill-wave-alt": 62779,
  "money-check": 62780,
  "money-check-alt": 62781,
  "monument": 62886,
  "moon": 61830,
  "mortar-pestle": 62887,
  "mosque": 63096,
  "motorcycle": 61980,
  "mountain": 63228,
  "mouse": 63692,
  "mouse-pointer": 62021,
  "mug-hot": 63414,
  "music": 61441,
  "napster": 62418,
  "neos": 62994,
  "network-wired": 63231,
  "neuter": 61996,
  "newspaper": 61930,
  "nimblr": 62888,
  "node": 62489,
  "node-js": 62419,
  "not-equal": 62782,
  "notes-medical": 62593,
  "npm": 62420,
  "ns8": 62421,
  "nutritionix": 62422,
  "object-group": 62023,
  "object-ungroup": 62024,
  "odnoklassniki": 62051,
  "odnoklassniki-square": 62052,
  "oil-can": 62995,
  "old-republic": 62736,
  "om": 63097,
  "opencart": 62013,
  "openid": 61851,
  "opera": 62058,
  "optin-monster": 62012,
  "orcid": 63698,
  "osi": 62490,
  "otter": 63232,
  "outdent": 61499,
  "page4": 62423,
  "pagelines": 61836,
  "pager": 63509,
  "paint-brush": 61948,
  "paint-roller": 62890,
  "palette": 62783,
  "palfed": 62424,
  "pallet": 62594,
  "paper-plane": 61912,
  "paperclip": 61638,
  "parachute-box": 62669,
  "paragraph": 61917,
  "parking": 62784,
  "passport": 62891,
  "pastafarianism": 63099,
  "paste": 61674,
  "patreon": 62425,
  "pause": 61516,
  "pause-circle": 62091,
  "paw": 61872,
  "paypal": 61933,
  "peace": 63100,
  "pen": 62212,
  "pen-alt": 62213,
  "pen-fancy": 62892,
  "pen-nib": 62893,
  "pen-square": 61771,
  "pencil-alt": 62211,
  "pencil-ruler": 62894,
  "penny-arcade": 63236,
  "people-arrows": 63848,
  "people-carry": 62670,
  "pepper-hot": 63510,
  "percent": 62101,
  "percentage": 62785,
  "periscope": 62426,
  "person-booth": 63318,
  "phabricator": 62427,
  "phoenix-framework": 62428,
  "phoenix-squadron": 62737,
  "phone": 61589,
  "phone-alt": 63609,
  "phone-slash": 62429,
  "phone-square": 61592,
  "phone-square-alt": 63611,
  "phone-volume": 62112,
  "photo-video": 63612,
  "php": 62551,
  "pied-piper": 62126,
  "pied-piper-alt": 61864,
  "pied-piper-hat": 62693,
  "pied-piper-pp": 61863,
  "pied-piper-square": 63774,
  "piggy-bank": 62675,
  "pills": 62596,
  "pinterest": 61650,
  "pinterest-p": 62001,
  "pinterest-square": 61651,
  "pizza-slice": 63512,
  "place-of-worship": 63103,
  "plane": 61554,
  "plane-arrival": 62895,
  "plane-departure": 62896,
  "plane-slash": 63849,
  "play": 61515,
  "play-circle": 61764,
  "playstation": 62431,
  "plug": 61926,
  "plus": 61543,
  "plus-circle": 61525,
  "plus-square": 61694,
  "podcast": 62158,
  "poll": 63105,
  "poll-h": 63106,
  "poo": 62206,
  "poo-storm": 63322,
  "poop": 63001,
  "portrait": 62432,
  "pound-sign": 61780,
  "power-off": 61457,
  "pray": 63107,
  "praying-hands": 63108,
  "prescription": 62897,
  "prescription-bottle": 62597,
  "prescription-bottle-alt": 62598,
  "print": 61487,
  "procedures": 62599,
  "product-hunt": 62088,
  "project-diagram": 62786,
  "pump-medical": 63850,
  "pump-soap": 63851,
  "pushed": 62433,
  "puzzle-piece": 61742,
  "python": 62434,
  "qq": 61910,
  "qrcode": 61481,
  "question": 61736,
  "question-circle": 61529,
  "quidditch": 62552,
  "quinscape": 62553,
  "quora": 62148,
  "quote-left": 61709,
  "quote-right": 61710,
  "quran": 63111,
  "r-project": 62711,
  "radiation": 63417,
  "radiation-alt": 63418,
  "rainbow": 63323,
  "random": 61556,
  "raspberry-pi": 63419,
  "ravelry": 62169,
  "react": 62491,
  "reacteurope": 63325,
  "readme": 62677,
  "rebel": 61904,
  "receipt": 62787,
  "record-vinyl": 63705,
  "recycle": 61880,
  "red-river": 62435,
  "reddit": 61857,
  "reddit-alien": 62081,
  "reddit-square": 61858,
  "redhat": 63420,
  "redo": 61470,
  "redo-alt": 62201,
  "registered": 62045,
  "remove-format": 63613,
  "renren": 61835,
  "reply": 62437,
  "reply-all": 61730,
  "replyd": 62438,
  "republican": 63326,
  "researchgate": 62712,
  "resolving": 62439,
  "restroom": 63421,
  "retweet": 61561,
  "rev": 62898,
  "ribbon": 62678,
  "ring": 63243,
  "road": 61464,
  "robot": 62788,
  "rocket": 61749,
  "rocketchat": 62440,
  "rockrms": 62441,
  "route": 62679,
  "rss": 61598,
  "rss-square": 61763,
  "ruble-sign": 61784,
  "ruler": 62789,
  "ruler-combined": 62790,
  "ruler-horizontal": 62791,
  "ruler-vertical": 62792,
  "running": 63244,
  "rupee-sign": 61782,
  "sad-cry": 62899,
  "sad-tear": 62900,
  "safari": 62055,
  "salesforce": 63547,
  "sass": 62494,
  "satellite": 63423,
  "satellite-dish": 63424,
  "save": 61639,
  "schlix": 62442,
  "school": 62793,
  "screwdriver": 62794,
  "scribd": 62090,
  "scroll": 63246,
  "sd-card": 63426,
  "search": 61442,
  "search-dollar": 63112,
  "search-location": 63113,
  "search-minus": 61456,
  "search-plus": 61454,
  "searchengin": 62443,
  "seedling": 62680,
  "sellcast": 62170,
  "sellsy": 61971,
  "server": 62003,
  "servicestack": 62444,
  "shapes": 63007,
  "share": 61540,
  "share-alt": 61920,
  "share-alt-square": 61921,
  "share-square": 61773,
  "shekel-sign": 61963,
  "shield-alt": 62445,
  "shield-virus": 63852,
  "ship": 61978,
  "shipping-fast": 62603,
  "shirtsinbulk": 61972,
  "shoe-prints": 62795,
  "shopify": 63831,
  "shopping-bag": 62096,
  "shopping-basket": 62097,
  "shopping-cart": 61562,
  "shopware": 62901,
  "shower": 62156,
  "shuttle-van": 62902,
  "sign": 62681,
  "sign-in-alt": 62198,
  "sign-language": 62119,
  "sign-out-alt": 62197,
  "signal": 61458,
  "signature": 62903,
  "sim-card": 63428,
  "simplybuilt": 61973,
  "sistrix": 62446,
  "sitemap": 61672,
  "sith": 62738,
  "skating": 63429,
  "sketch": 63430,
  "skiing": 63433,
  "skiing-nordic": 63434,
  "skull": 62796,
  "skull-crossbones": 63252,
  "skyatlas": 61974,
  "skype": 61822,
  "slack": 61848,
  "slack-hash": 62447,
  "slash": 63253,
  "sleigh": 63436,
  "sliders-h": 61918,
  "slideshare": 61927,
  "smile": 61720,
  "smile-beam": 62904,
  "smile-wink": 62682,
  "smog": 63327,
  "smoking": 62605,
  "smoking-ban": 62797,
  "sms": 63437,
  "snapchat": 62123,
  "snapchat-ghost": 62124,
  "snapchat-square": 62125,
  "snowboarding": 63438,
  "snowflake": 62172,
  "snowman": 63440,
  "snowplow": 63442,
  "soap": 63854,
  "socks": 63126,
  "solar-panel": 62906,
  "sort": 61660,
  "sort-alpha-down": 61789,
  "sort-alpha-down-alt": 63617,
  "sort-alpha-up": 61790,
  "sort-alpha-up-alt": 63618,
  "sort-amount-down": 61792,
  "sort-amount-down-alt": 63620,
  "sort-amount-up": 61793,
  "sort-amount-up-alt": 63621,
  "sort-down": 61661,
  "sort-numeric-down": 61794,
  "sort-numeric-down-alt": 63622,
  "sort-numeric-up": 61795,
  "sort-numeric-up-alt": 63623,
  "sort-up": 61662,
  "soundcloud": 61886,
  "sourcetree": 63443,
  "spa": 62907,
  "space-shuttle": 61847,
  "speakap": 62451,
  "speaker-deck": 63548,
  "spell-check": 63633,
  "spider": 63255,
  "spinner": 61712,
  "splotch": 62908,
  "spotify": 61884,
  "spray-can": 62909,
  "square": 61640,
  "square-full": 62556,
  "square-root-alt": 63128,
  "squarespace": 62910,
  "stack-exchange": 61837,
  "stack-overflow": 61804,
  "stackpath": 63554,
  "stamp": 62911,
  "star": 61445,
  "star-and-crescent": 63129,
  "star-half": 61577,
  "star-half-alt": 62912,
  "star-of-david": 63130,
  "star-of-life": 63009,
  "staylinked": 62453,
  "steam": 61878,
  "steam-square": 61879,
  "steam-symbol": 62454,
  "step-backward": 61512,
  "step-forward": 61521,
  "stethoscope": 61681,
  "sticker-mule": 62455,
  "sticky-note": 62025,
  "stop": 61517,
  "stop-circle": 62093,
  "stopwatch": 62194,
  "stopwatch-20": 63855,
  "store": 62798,
  "store-alt": 62799,
  "store-alt-slash": 63856,
  "store-slash": 63857,
  "strava": 62504,
  "stream": 62800,
  "street-view": 61981,
  "strikethrough": 61644,
  "stripe": 62505,
  "stripe-s": 62506,
  "stroopwafel": 62801,
  "studiovinari": 62456,
  "stumbleupon": 61860,
  "stumbleupon-circle": 61859,
  "subscript": 61740,
  "subway": 62009,
  "suitcase": 61682,
  "suitcase-rolling": 62913,
  "sun": 61829,
  "superpowers": 62173,
  "superscript": 61739,
  "supple": 62457,
  "surprise": 62914,
  "suse": 63446,
  "swatchbook": 62915,
  "swift": 63713,
  "swimmer": 62916,
  "swimming-pool": 62917,
  "symfony": 63549,
  "synagogue": 63131,
  "sync": 61473,
  "sync-alt": 62193,
  "syringe": 62606,
  "table": 61646,
  "table-tennis": 62557,
  "tablet": 61706,
  "tablet-alt": 62458,
  "tablets": 62608,
  "tachometer-alt": 62461,
  "tag": 61483,
  "tags": 61484,
  "tape": 62683,
  "tasks": 61614,
  "taxi": 61882,
  "teamspeak": 62713,
  "teeth": 63022,
  "teeth-open": 63023,
  "telegram": 62150,
  "telegram-plane": 62462,
  "temperature-high": 63337,
  "temperature-low": 63339,
  "tencent-weibo": 61909,
  "tenge": 63447,
  "terminal": 61728,
  "text-height": 61492,
  "text-width": 61493,
  "th": 61450,
  "th-large": 61449,
  "th-list": 61451,
  "the-red-yeti": 63133,
  "theater-masks": 63024,
  "themeco": 62918,
  "themeisle": 62130,
  "thermometer": 62609,
  "thermometer-empty": 62155,
  "thermometer-full": 62151,
  "thermometer-half": 62153,
  "thermometer-quarter": 62154,
  "thermometer-three-quarters": 62152,
  "think-peaks": 63281,
  "thumbs-down": 61797,
  "thumbs-up": 61796,
  "thumbtack": 61581,
  "ticket-alt": 62463,
  "times": 61453,
  "times-circle": 61527,
  "tint": 61507,
  "tint-slash": 62919,
  "tired": 62920,
  "toggle-off": 61956,
  "toggle-on": 61957,
  "toilet": 63448,
  "toilet-paper": 63262,
  "toilet-paper-slash": 63858,
  "toolbox": 62802,
  "tools": 63449,
  "tooth": 62921,
  "torah": 63136,
  "torii-gate": 63137,
  "tractor": 63266,
  "trade-federation": 62739,
  "trademark": 62044,
  "traffic-light": 63031,
  "trailer": 63809,
  "train": 62008,
  "tram": 63450,
  "transgender": 61988,
  "transgender-alt": 61989,
  "trash": 61944,
  "trash-alt": 62189,
  "trash-restore": 63529,
  "trash-restore-alt": 63530,
  "tree": 61883,
  "trello": 61825,
  "tripadvisor": 62050,
  "trophy": 61585,
  "truck": 61649,
  "truck-loading": 62686,
  "truck-monster": 63035,
  "truck-moving": 62687,
  "truck-pickup": 63036,
  "tshirt": 62803,
  "tty": 61924,
  "tumblr": 61811,
  "tumblr-square": 61812,
  "tv": 62060,
  "twitch": 61928,
  "twitter": 61593,
  "twitter-square": 61569,
  "typo3": 62507,
  "uber": 62466,
  "ubuntu": 63455,
  "uikit": 62467,
  "umbraco": 63720,
  "umbrella": 61673,
  "umbrella-beach": 62922,
  "underline": 61645,
  "undo": 61666,
  "undo-alt": 62186,
  "uniregistry": 62468,
  "unity": 63817,
  "universal-access": 62106,
  "university": 61852,
  "unlink": 61735,
  "unlock": 61596,
  "unlock-alt": 61758,
  "untappd": 62469,
  "upload": 61587,
  "ups": 63456,
  "usb": 62087,
  "user": 61447,
  "user-alt": 62470,
  "user-alt-slash": 62714,
  "user-astronaut": 62715,
  "user-check": 62716,
  "user-circle": 62141,
  "user-clock": 62717,
  "user-cog": 62718,
  "user-edit": 62719,
  "user-friends": 62720,
  "user-graduate": 62721,
  "user-injured": 63272,
  "user-lock": 62722,
  "user-md": 61680,
  "user-minus": 62723,
  "user-ninja": 62724,
  "user-nurse": 63535,
  "user-plus": 62004,
  "user-secret": 61979,
  "user-shield": 62725,
  "user-slash": 62726,
  "user-tag": 62727,
  "user-tie": 62728,
  "user-times": 62005,
  "users": 61632,
  "users-cog": 62729,
  "usps": 63457,
  "ussunnah": 62471,
  "utensil-spoon": 62181,
  "utensils": 62183,
  "vaadin": 62472,
  "vector-square": 62923,
  "venus": 61985,
  "venus-double": 61990,
  "venus-mars": 61992,
  "viacoin": 62007,
  "viadeo": 62121,
  "viadeo-square": 62122,
  "vial": 62610,
  "vials": 62611,
  "viber": 62473,
  "video": 61501,
  "video-slash": 62690,
  "vihara": 63143,
  "vimeo": 62474,
  "vimeo-square": 61844,
  "vimeo-v": 62077,
  "vine": 61898,
  "virus": 63860,
  "virus-slash": 63861,
  "viruses": 63862,
  "vk": 61833,
  "vnv": 62475,
  "voicemail": 63639,
  "volleyball-ball": 62559,
  "volume-down": 61479,
  "volume-mute": 63145,
  "volume-off": 61478,
  "volume-up": 61480,
  "vote-yea": 63346,
  "vr-cardboard": 63273,
  "vuejs": 62495,
  "walking": 62804,
  "wallet": 62805,
  "warehouse": 62612,
  "water": 63347,
  "wave-square": 63550,
  "waze": 63551,
  "weebly": 62924,
  "weibo": 61834,
  "weight": 62614,
  "weight-hanging": 62925,
  "weixin": 61911,
  "whatsapp": 62002,
  "whatsapp-square": 62476,
  "wheelchair": 61843,
  "whmcs": 62477,
  "wifi": 61931,
  "wikipedia-w": 62054,
  "wind": 63278,
  "window-close": 62480,
  "window-maximize": 62160,
  "window-minimize": 62161,
  "window-restore": 62162,
  "windows": 61818,
  "wine-bottle": 63279,
  "wine-glass": 62691,
  "wine-glass-alt": 62926,
  "wix": 62927,
  "wizards-of-the-coast": 63280,
  "wolf-pack-battalion": 62740,
  "won-sign": 61785,
  "wordpress": 61850,
  "wordpress-simple": 62481,
  "wpbeginner": 62103,
  "wpexplorer": 62174,
  "wpforms": 62104,
  "wpressr": 62436,
  "wrench": 61613,
  "x-ray": 62615,
  "xbox": 62482,
  "xing": 61800,
  "xing-square": 61801,
  "y-combinator": 62011,
  "yahoo": 61854,
  "yammer": 63552,
  "yandex": 62483,
  "yandex-international": 62484,
  "yarn": 63459,
  "yelp": 61929,
  "yen-sign": 61783,
  "yin-yang": 63149,
  "yoast": 62129,
  "youtube": 61799,
  "youtube-square": 62513,
  "zhihu": 63039
};
},1828,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "brands": [
    "500px",
    "accessible-icon",
    "accusoft",
    "acquisitions-incorporated",
    "adn",
    "adobe",
    "adversal",
    "affiliatetheme",
    "airbnb",
    "algolia",
    "alipay",
    "amazon-pay",
    "amazon",
    "amilia",
    "android",
    "angellist",
    "angrycreative",
    "angular",
    "app-store-ios",
    "app-store",
    "apper",
    "apple-pay",
    "apple",
    "artstation",
    "asymmetrik",
    "atlassian",
    "audible",
    "autoprefixer",
    "avianex",
    "aviato",
    "aws",
    "bandcamp",
    "battle-net",
    "behance-square",
    "behance",
    "bimobject",
    "bitbucket",
    "bitcoin",
    "bity",
    "black-tie",
    "blackberry",
    "blogger-b",
    "blogger",
    "bluetooth-b",
    "bluetooth",
    "bootstrap",
    "btc",
    "buffer",
    "buromobelexperte",
    "buy-n-large",
    "buysellads",
    "canadian-maple-leaf",
    "cc-amazon-pay",
    "cc-amex",
    "cc-apple-pay",
    "cc-diners-club",
    "cc-discover",
    "cc-jcb",
    "cc-mastercard",
    "cc-paypal",
    "cc-stripe",
    "cc-visa",
    "centercode",
    "centos",
    "chrome",
    "chromecast",
    "cloudscale",
    "cloudsmith",
    "cloudversify",
    "codepen",
    "codiepie",
    "confluence",
    "connectdevelop",
    "contao",
    "cotton-bureau",
    "cpanel",
    "creative-commons-by",
    "creative-commons-nc-eu",
    "creative-commons-nc-jp",
    "creative-commons-nc",
    "creative-commons-nd",
    "creative-commons-pd-alt",
    "creative-commons-pd",
    "creative-commons-remix",
    "creative-commons-sa",
    "creative-commons-sampling-plus",
    "creative-commons-sampling",
    "creative-commons-share",
    "creative-commons-zero",
    "creative-commons",
    "critical-role",
    "css3-alt",
    "css3",
    "cuttlefish",
    "d-and-d-beyond",
    "d-and-d",
    "dailymotion",
    "dashcube",
    "delicious",
    "deploydog",
    "deskpro",
    "dev",
    "deviantart",
    "dhl",
    "diaspora",
    "digg",
    "digital-ocean",
    "discord",
    "discourse",
    "dochub",
    "docker",
    "draft2digital",
    "dribbble-square",
    "dribbble",
    "dropbox",
    "drupal",
    "dyalog",
    "earlybirds",
    "ebay",
    "edge",
    "elementor",
    "ello",
    "ember",
    "empire",
    "envira",
    "erlang",
    "ethereum",
    "etsy",
    "evernote",
    "expeditedssl",
    "facebook-f",
    "facebook-messenger",
    "facebook-square",
    "facebook",
    "fantasy-flight-games",
    "fedex",
    "fedora",
    "figma",
    "firefox-browser",
    "firefox",
    "first-order-alt",
    "first-order",
    "firstdraft",
    "flickr",
    "flipboard",
    "fly",
    "font-awesome-alt",
    "font-awesome-flag",
    "font-awesome-logo-full",
    "font-awesome",
    "fonticons-fi",
    "fonticons",
    "fort-awesome-alt",
    "fort-awesome",
    "forumbee",
    "foursquare",
    "free-code-camp",
    "freebsd",
    "fulcrum",
    "galactic-republic",
    "galactic-senate",
    "get-pocket",
    "gg-circle",
    "gg",
    "git-alt",
    "git-square",
    "git",
    "github-alt",
    "github-square",
    "github",
    "gitkraken",
    "gitlab",
    "gitter",
    "glide-g",
    "glide",
    "gofore",
    "goodreads-g",
    "goodreads",
    "google-drive",
    "google-play",
    "google-plus-g",
    "google-plus-square",
    "google-plus",
    "google-wallet",
    "google",
    "gratipay",
    "grav",
    "gripfire",
    "grunt",
    "gulp",
    "hacker-news-square",
    "hacker-news",
    "hackerrank",
    "hips",
    "hire-a-helper",
    "hooli",
    "hornbill",
    "hotjar",
    "houzz",
    "html5",
    "hubspot",
    "ideal",
    "imdb",
    "instagram-square",
    "instagram",
    "intercom",
    "internet-explorer",
    "invision",
    "ioxhost",
    "itch-io",
    "itunes-note",
    "itunes",
    "java",
    "jedi-order",
    "jenkins",
    "jira",
    "joget",
    "joomla",
    "js-square",
    "js",
    "jsfiddle",
    "kaggle",
    "keybase",
    "keycdn",
    "kickstarter-k",
    "kickstarter",
    "korvue",
    "laravel",
    "lastfm-square",
    "lastfm",
    "leanpub",
    "less",
    "line",
    "linkedin-in",
    "linkedin",
    "linode",
    "linux",
    "lyft",
    "magento",
    "mailchimp",
    "mandalorian",
    "markdown",
    "mastodon",
    "maxcdn",
    "mdb",
    "medapps",
    "medium-m",
    "medium",
    "medrt",
    "meetup",
    "megaport",
    "mendeley",
    "microblog",
    "microsoft",
    "mix",
    "mixcloud",
    "mixer",
    "mizuni",
    "modx",
    "monero",
    "napster",
    "neos",
    "nimblr",
    "node-js",
    "node",
    "npm",
    "ns8",
    "nutritionix",
    "odnoklassniki-square",
    "odnoklassniki",
    "old-republic",
    "opencart",
    "openid",
    "opera",
    "optin-monster",
    "orcid",
    "osi",
    "page4",
    "pagelines",
    "palfed",
    "patreon",
    "paypal",
    "penny-arcade",
    "periscope",
    "phabricator",
    "phoenix-framework",
    "phoenix-squadron",
    "php",
    "pied-piper-alt",
    "pied-piper-hat",
    "pied-piper-pp",
    "pied-piper-square",
    "pied-piper",
    "pinterest-p",
    "pinterest-square",
    "pinterest",
    "playstation",
    "product-hunt",
    "pushed",
    "python",
    "qq",
    "quinscape",
    "quora",
    "r-project",
    "raspberry-pi",
    "ravelry",
    "react",
    "reacteurope",
    "readme",
    "rebel",
    "red-river",
    "reddit-alien",
    "reddit-square",
    "reddit",
    "redhat",
    "renren",
    "replyd",
    "researchgate",
    "resolving",
    "rev",
    "rocketchat",
    "rockrms",
    "safari",
    "salesforce",
    "sass",
    "schlix",
    "scribd",
    "searchengin",
    "sellcast",
    "sellsy",
    "servicestack",
    "shirtsinbulk",
    "shopify",
    "shopware",
    "simplybuilt",
    "sistrix",
    "sith",
    "sketch",
    "skyatlas",
    "skype",
    "slack-hash",
    "slack",
    "slideshare",
    "snapchat-ghost",
    "snapchat-square",
    "snapchat",
    "soundcloud",
    "sourcetree",
    "speakap",
    "speaker-deck",
    "spotify",
    "squarespace",
    "stack-exchange",
    "stack-overflow",
    "stackpath",
    "staylinked",
    "steam-square",
    "steam-symbol",
    "steam",
    "sticker-mule",
    "strava",
    "stripe-s",
    "stripe",
    "studiovinari",
    "stumbleupon-circle",
    "stumbleupon",
    "superpowers",
    "supple",
    "suse",
    "swift",
    "symfony",
    "teamspeak",
    "telegram-plane",
    "telegram",
    "tencent-weibo",
    "the-red-yeti",
    "themeco",
    "themeisle",
    "think-peaks",
    "trade-federation",
    "trello",
    "tripadvisor",
    "tumblr-square",
    "tumblr",
    "twitch",
    "twitter-square",
    "twitter",
    "typo3",
    "uber",
    "ubuntu",
    "uikit",
    "umbraco",
    "uniregistry",
    "unity",
    "untappd",
    "ups",
    "usb",
    "usps",
    "ussunnah",
    "vaadin",
    "viacoin",
    "viadeo-square",
    "viadeo",
    "viber",
    "vimeo-square",
    "vimeo-v",
    "vimeo",
    "vine",
    "vk",
    "vnv",
    "vuejs",
    "waze",
    "weebly",
    "weibo",
    "weixin",
    "whatsapp-square",
    "whatsapp",
    "whmcs",
    "wikipedia-w",
    "windows",
    "wix",
    "wizards-of-the-coast",
    "wolf-pack-battalion",
    "wordpress-simple",
    "wordpress",
    "wpbeginner",
    "wpexplorer",
    "wpforms",
    "wpressr",
    "xbox",
    "xing-square",
    "xing",
    "y-combinator",
    "yahoo",
    "yammer",
    "yandex-international",
    "yandex",
    "yarn",
    "yelp",
    "yoast",
    "youtube-square",
    "youtube",
    "zhihu"
  ],
  "regular": [
    "address-book",
    "address-card",
    "angry",
    "arrow-alt-circle-down",
    "arrow-alt-circle-left",
    "arrow-alt-circle-right",
    "arrow-alt-circle-up",
    "bell-slash",
    "bell",
    "bookmark",
    "building",
    "calendar-alt",
    "calendar-check",
    "calendar-minus",
    "calendar-plus",
    "calendar-times",
    "calendar",
    "caret-square-down",
    "caret-square-left",
    "caret-square-right",
    "caret-square-up",
    "chart-bar",
    "check-circle",
    "check-square",
    "circle",
    "clipboard",
    "clock",
    "clone",
    "closed-captioning",
    "comment-alt",
    "comment-dots",
    "comment",
    "comments",
    "compass",
    "copy",
    "copyright",
    "credit-card",
    "dizzy",
    "dot-circle",
    "edit",
    "envelope-open",
    "envelope",
    "eye-slash",
    "eye",
    "file-alt",
    "file-archive",
    "file-audio",
    "file-code",
    "file-excel",
    "file-image",
    "file-pdf",
    "file-powerpoint",
    "file-video",
    "file-word",
    "file",
    "flag",
    "flushed",
    "folder-open",
    "folder",
    "font-awesome-logo-full",
    "frown-open",
    "frown",
    "futbol",
    "gem",
    "grimace",
    "grin-alt",
    "grin-beam-sweat",
    "grin-beam",
    "grin-hearts",
    "grin-squint-tears",
    "grin-squint",
    "grin-stars",
    "grin-tears",
    "grin-tongue-squint",
    "grin-tongue-wink",
    "grin-tongue",
    "grin-wink",
    "grin",
    "hand-lizard",
    "hand-paper",
    "hand-peace",
    "hand-point-down",
    "hand-point-left",
    "hand-point-right",
    "hand-point-up",
    "hand-pointer",
    "hand-rock",
    "hand-scissors",
    "hand-spock",
    "handshake",
    "hdd",
    "heart",
    "hospital",
    "hourglass",
    "id-badge",
    "id-card",
    "image",
    "images",
    "keyboard",
    "kiss-beam",
    "kiss-wink-heart",
    "kiss",
    "laugh-beam",
    "laugh-squint",
    "laugh-wink",
    "laugh",
    "lemon",
    "life-ring",
    "lightbulb",
    "list-alt",
    "map",
    "meh-blank",
    "meh-rolling-eyes",
    "meh",
    "minus-square",
    "money-bill-alt",
    "moon",
    "newspaper",
    "object-group",
    "object-ungroup",
    "paper-plane",
    "pause-circle",
    "play-circle",
    "plus-square",
    "question-circle",
    "registered",
    "sad-cry",
    "sad-tear",
    "save",
    "share-square",
    "smile-beam",
    "smile-wink",
    "smile",
    "snowflake",
    "square",
    "star-half",
    "star",
    "sticky-note",
    "stop-circle",
    "sun",
    "surprise",
    "thumbs-down",
    "thumbs-up",
    "times-circle",
    "tired",
    "trash-alt",
    "user-circle",
    "user",
    "window-close",
    "window-maximize",
    "window-minimize",
    "window-restore"
  ],
  "solid": [
    "ad",
    "address-book",
    "address-card",
    "adjust",
    "air-freshener",
    "align-center",
    "align-justify",
    "align-left",
    "align-right",
    "allergies",
    "ambulance",
    "american-sign-language-interpreting",
    "anchor",
    "angle-double-down",
    "angle-double-left",
    "angle-double-right",
    "angle-double-up",
    "angle-down",
    "angle-left",
    "angle-right",
    "angle-up",
    "angry",
    "ankh",
    "apple-alt",
    "archive",
    "archway",
    "arrow-alt-circle-down",
    "arrow-alt-circle-left",
    "arrow-alt-circle-right",
    "arrow-alt-circle-up",
    "arrow-circle-down",
    "arrow-circle-left",
    "arrow-circle-right",
    "arrow-circle-up",
    "arrow-down",
    "arrow-left",
    "arrow-right",
    "arrow-up",
    "arrows-alt-h",
    "arrows-alt-v",
    "arrows-alt",
    "assistive-listening-systems",
    "asterisk",
    "at",
    "atlas",
    "atom",
    "audio-description",
    "award",
    "baby-carriage",
    "baby",
    "backspace",
    "backward",
    "bacon",
    "bahai",
    "balance-scale-left",
    "balance-scale-right",
    "balance-scale",
    "ban",
    "band-aid",
    "barcode",
    "bars",
    "baseball-ball",
    "basketball-ball",
    "bath",
    "battery-empty",
    "battery-full",
    "battery-half",
    "battery-quarter",
    "battery-three-quarters",
    "bed",
    "beer",
    "bell-slash",
    "bell",
    "bezier-curve",
    "bible",
    "bicycle",
    "biking",
    "binoculars",
    "biohazard",
    "birthday-cake",
    "blender-phone",
    "blender",
    "blind",
    "blog",
    "bold",
    "bolt",
    "bomb",
    "bone",
    "bong",
    "book-dead",
    "book-medical",
    "book-open",
    "book-reader",
    "book",
    "bookmark",
    "border-all",
    "border-none",
    "border-style",
    "bowling-ball",
    "box-open",
    "box-tissue",
    "box",
    "boxes",
    "braille",
    "brain",
    "bread-slice",
    "briefcase-medical",
    "briefcase",
    "broadcast-tower",
    "broom",
    "brush",
    "bug",
    "building",
    "bullhorn",
    "bullseye",
    "burn",
    "bus-alt",
    "bus",
    "business-time",
    "calculator",
    "calendar-alt",
    "calendar-check",
    "calendar-day",
    "calendar-minus",
    "calendar-plus",
    "calendar-times",
    "calendar-week",
    "calendar",
    "camera-retro",
    "camera",
    "campground",
    "candy-cane",
    "cannabis",
    "capsules",
    "car-alt",
    "car-battery",
    "car-crash",
    "car-side",
    "car",
    "caravan",
    "caret-down",
    "caret-left",
    "caret-right",
    "caret-square-down",
    "caret-square-left",
    "caret-square-right",
    "caret-square-up",
    "caret-up",
    "carrot",
    "cart-arrow-down",
    "cart-plus",
    "cash-register",
    "cat",
    "certificate",
    "chair",
    "chalkboard-teacher",
    "chalkboard",
    "charging-station",
    "chart-area",
    "chart-bar",
    "chart-line",
    "chart-pie",
    "check-circle",
    "check-double",
    "check-square",
    "check",
    "cheese",
    "chess-bishop",
    "chess-board",
    "chess-king",
    "chess-knight",
    "chess-pawn",
    "chess-queen",
    "chess-rook",
    "chess",
    "chevron-circle-down",
    "chevron-circle-left",
    "chevron-circle-right",
    "chevron-circle-up",
    "chevron-down",
    "chevron-left",
    "chevron-right",
    "chevron-up",
    "child",
    "church",
    "circle-notch",
    "circle",
    "city",
    "clinic-medical",
    "clipboard-check",
    "clipboard-list",
    "clipboard",
    "clock",
    "clone",
    "closed-captioning",
    "cloud-download-alt",
    "cloud-meatball",
    "cloud-moon-rain",
    "cloud-moon",
    "cloud-rain",
    "cloud-showers-heavy",
    "cloud-sun-rain",
    "cloud-sun",
    "cloud-upload-alt",
    "cloud",
    "cocktail",
    "code-branch",
    "code",
    "coffee",
    "cog",
    "cogs",
    "coins",
    "columns",
    "comment-alt",
    "comment-dollar",
    "comment-dots",
    "comment-medical",
    "comment-slash",
    "comment",
    "comments-dollar",
    "comments",
    "compact-disc",
    "compass",
    "compress-alt",
    "compress-arrows-alt",
    "compress",
    "concierge-bell",
    "cookie-bite",
    "cookie",
    "copy",
    "copyright",
    "couch",
    "credit-card",
    "crop-alt",
    "crop",
    "cross",
    "crosshairs",
    "crow",
    "crown",
    "crutch",
    "cube",
    "cubes",
    "cut",
    "database",
    "deaf",
    "democrat",
    "desktop",
    "dharmachakra",
    "diagnoses",
    "dice-d20",
    "dice-d6",
    "dice-five",
    "dice-four",
    "dice-one",
    "dice-six",
    "dice-three",
    "dice-two",
    "dice",
    "digital-tachograph",
    "directions",
    "disease",
    "divide",
    "dizzy",
    "dna",
    "dog",
    "dollar-sign",
    "dolly-flatbed",
    "dolly",
    "donate",
    "door-closed",
    "door-open",
    "dot-circle",
    "dove",
    "download",
    "drafting-compass",
    "dragon",
    "draw-polygon",
    "drum-steelpan",
    "drum",
    "drumstick-bite",
    "dumbbell",
    "dumpster-fire",
    "dumpster",
    "dungeon",
    "edit",
    "egg",
    "eject",
    "ellipsis-h",
    "ellipsis-v",
    "envelope-open-text",
    "envelope-open",
    "envelope-square",
    "envelope",
    "equals",
    "eraser",
    "ethernet",
    "euro-sign",
    "exchange-alt",
    "exclamation-circle",
    "exclamation-triangle",
    "exclamation",
    "expand-alt",
    "expand-arrows-alt",
    "expand",
    "external-link-alt",
    "external-link-square-alt",
    "eye-dropper",
    "eye-slash",
    "eye",
    "fan",
    "fast-backward",
    "fast-forward",
    "faucet",
    "fax",
    "feather-alt",
    "feather",
    "female",
    "fighter-jet",
    "file-alt",
    "file-archive",
    "file-audio",
    "file-code",
    "file-contract",
    "file-csv",
    "file-download",
    "file-excel",
    "file-export",
    "file-image",
    "file-import",
    "file-invoice-dollar",
    "file-invoice",
    "file-medical-alt",
    "file-medical",
    "file-pdf",
    "file-powerpoint",
    "file-prescription",
    "file-signature",
    "file-upload",
    "file-video",
    "file-word",
    "file",
    "fill-drip",
    "fill",
    "film",
    "filter",
    "fingerprint",
    "fire-alt",
    "fire-extinguisher",
    "fire",
    "first-aid",
    "fish",
    "fist-raised",
    "flag-checkered",
    "flag-usa",
    "flag",
    "flask",
    "flushed",
    "folder-minus",
    "folder-open",
    "folder-plus",
    "folder",
    "font-awesome-logo-full",
    "font",
    "football-ball",
    "forward",
    "frog",
    "frown-open",
    "frown",
    "funnel-dollar",
    "futbol",
    "gamepad",
    "gas-pump",
    "gavel",
    "gem",
    "genderless",
    "ghost",
    "gift",
    "gifts",
    "glass-cheers",
    "glass-martini-alt",
    "glass-martini",
    "glass-whiskey",
    "glasses",
    "globe-africa",
    "globe-americas",
    "globe-asia",
    "globe-europe",
    "globe",
    "golf-ball",
    "gopuram",
    "graduation-cap",
    "greater-than-equal",
    "greater-than",
    "grimace",
    "grin-alt",
    "grin-beam-sweat",
    "grin-beam",
    "grin-hearts",
    "grin-squint-tears",
    "grin-squint",
    "grin-stars",
    "grin-tears",
    "grin-tongue-squint",
    "grin-tongue-wink",
    "grin-tongue",
    "grin-wink",
    "grin",
    "grip-horizontal",
    "grip-lines-vertical",
    "grip-lines",
    "grip-vertical",
    "guitar",
    "h-square",
    "hamburger",
    "hammer",
    "hamsa",
    "hand-holding-heart",
    "hand-holding-medical",
    "hand-holding-usd",
    "hand-holding-water",
    "hand-holding",
    "hand-lizard",
    "hand-middle-finger",
    "hand-paper",
    "hand-peace",
    "hand-point-down",
    "hand-point-left",
    "hand-point-right",
    "hand-point-up",
    "hand-pointer",
    "hand-rock",
    "hand-scissors",
    "hand-sparkles",
    "hand-spock",
    "hands-helping",
    "hands-wash",
    "hands",
    "handshake-alt-slash",
    "handshake-slash",
    "handshake",
    "hanukiah",
    "hard-hat",
    "hashtag",
    "hat-cowboy-side",
    "hat-cowboy",
    "hat-wizard",
    "hdd",
    "head-side-cough-slash",
    "head-side-cough",
    "head-side-mask",
    "head-side-virus",
    "heading",
    "headphones-alt",
    "headphones",
    "headset",
    "heart-broken",
    "heart",
    "heartbeat",
    "helicopter",
    "highlighter",
    "hiking",
    "hippo",
    "history",
    "hockey-puck",
    "holly-berry",
    "home",
    "horse-head",
    "horse",
    "hospital-alt",
    "hospital-symbol",
    "hospital-user",
    "hospital",
    "hot-tub",
    "hotdog",
    "hotel",
    "hourglass-end",
    "hourglass-half",
    "hourglass-start",
    "hourglass",
    "house-damage",
    "house-user",
    "hryvnia",
    "i-cursor",
    "ice-cream",
    "icicles",
    "icons",
    "id-badge",
    "id-card-alt",
    "id-card",
    "igloo",
    "image",
    "images",
    "inbox",
    "indent",
    "industry",
    "infinity",
    "info-circle",
    "info",
    "italic",
    "jedi",
    "joint",
    "journal-whills",
    "kaaba",
    "key",
    "keyboard",
    "khanda",
    "kiss-beam",
    "kiss-wink-heart",
    "kiss",
    "kiwi-bird",
    "landmark",
    "language",
    "laptop-code",
    "laptop-house",
    "laptop-medical",
    "laptop",
    "laugh-beam",
    "laugh-squint",
    "laugh-wink",
    "laugh",
    "layer-group",
    "leaf",
    "lemon",
    "less-than-equal",
    "less-than",
    "level-down-alt",
    "level-up-alt",
    "life-ring",
    "lightbulb",
    "link",
    "lira-sign",
    "list-alt",
    "list-ol",
    "list-ul",
    "list",
    "location-arrow",
    "lock-open",
    "lock",
    "long-arrow-alt-down",
    "long-arrow-alt-left",
    "long-arrow-alt-right",
    "long-arrow-alt-up",
    "low-vision",
    "luggage-cart",
    "lungs-virus",
    "lungs",
    "magic",
    "magnet",
    "mail-bulk",
    "male",
    "map-marked-alt",
    "map-marked",
    "map-marker-alt",
    "map-marker",
    "map-pin",
    "map-signs",
    "map",
    "marker",
    "mars-double",
    "mars-stroke-h",
    "mars-stroke-v",
    "mars-stroke",
    "mars",
    "mask",
    "medal",
    "medkit",
    "meh-blank",
    "meh-rolling-eyes",
    "meh",
    "memory",
    "menorah",
    "mercury",
    "meteor",
    "microchip",
    "microphone-alt-slash",
    "microphone-alt",
    "microphone-slash",
    "microphone",
    "microscope",
    "minus-circle",
    "minus-square",
    "minus",
    "mitten",
    "mobile-alt",
    "mobile",
    "money-bill-alt",
    "money-bill-wave-alt",
    "money-bill-wave",
    "money-bill",
    "money-check-alt",
    "money-check",
    "monument",
    "moon",
    "mortar-pestle",
    "mosque",
    "motorcycle",
    "mountain",
    "mouse-pointer",
    "mouse",
    "mug-hot",
    "music",
    "network-wired",
    "neuter",
    "newspaper",
    "not-equal",
    "notes-medical",
    "object-group",
    "object-ungroup",
    "oil-can",
    "om",
    "otter",
    "outdent",
    "pager",
    "paint-brush",
    "paint-roller",
    "palette",
    "pallet",
    "paper-plane",
    "paperclip",
    "parachute-box",
    "paragraph",
    "parking",
    "passport",
    "pastafarianism",
    "paste",
    "pause-circle",
    "pause",
    "paw",
    "peace",
    "pen-alt",
    "pen-fancy",
    "pen-nib",
    "pen-square",
    "pen",
    "pencil-alt",
    "pencil-ruler",
    "people-arrows",
    "people-carry",
    "pepper-hot",
    "percent",
    "percentage",
    "person-booth",
    "phone-alt",
    "phone-slash",
    "phone-square-alt",
    "phone-square",
    "phone-volume",
    "phone",
    "photo-video",
    "piggy-bank",
    "pills",
    "pizza-slice",
    "place-of-worship",
    "plane-arrival",
    "plane-departure",
    "plane-slash",
    "plane",
    "play-circle",
    "play",
    "plug",
    "plus-circle",
    "plus-square",
    "plus",
    "podcast",
    "poll-h",
    "poll",
    "poo-storm",
    "poo",
    "poop",
    "portrait",
    "pound-sign",
    "power-off",
    "pray",
    "praying-hands",
    "prescription-bottle-alt",
    "prescription-bottle",
    "prescription",
    "print",
    "procedures",
    "project-diagram",
    "pump-medical",
    "pump-soap",
    "puzzle-piece",
    "qrcode",
    "question-circle",
    "question",
    "quidditch",
    "quote-left",
    "quote-right",
    "quran",
    "radiation-alt",
    "radiation",
    "rainbow",
    "random",
    "receipt",
    "record-vinyl",
    "recycle",
    "redo-alt",
    "redo",
    "registered",
    "remove-format",
    "reply-all",
    "reply",
    "republican",
    "restroom",
    "retweet",
    "ribbon",
    "ring",
    "road",
    "robot",
    "rocket",
    "route",
    "rss-square",
    "rss",
    "ruble-sign",
    "ruler-combined",
    "ruler-horizontal",
    "ruler-vertical",
    "ruler",
    "running",
    "rupee-sign",
    "sad-cry",
    "sad-tear",
    "satellite-dish",
    "satellite",
    "save",
    "school",
    "screwdriver",
    "scroll",
    "sd-card",
    "search-dollar",
    "search-location",
    "search-minus",
    "search-plus",
    "search",
    "seedling",
    "server",
    "shapes",
    "share-alt-square",
    "share-alt",
    "share-square",
    "share",
    "shekel-sign",
    "shield-alt",
    "shield-virus",
    "ship",
    "shipping-fast",
    "shoe-prints",
    "shopping-bag",
    "shopping-basket",
    "shopping-cart",
    "shower",
    "shuttle-van",
    "sign-in-alt",
    "sign-language",
    "sign-out-alt",
    "sign",
    "signal",
    "signature",
    "sim-card",
    "sitemap",
    "skating",
    "skiing-nordic",
    "skiing",
    "skull-crossbones",
    "skull",
    "slash",
    "sleigh",
    "sliders-h",
    "smile-beam",
    "smile-wink",
    "smile",
    "smog",
    "smoking-ban",
    "smoking",
    "sms",
    "snowboarding",
    "snowflake",
    "snowman",
    "snowplow",
    "soap",
    "socks",
    "solar-panel",
    "sort-alpha-down-alt",
    "sort-alpha-down",
    "sort-alpha-up-alt",
    "sort-alpha-up",
    "sort-amount-down-alt",
    "sort-amount-down",
    "sort-amount-up-alt",
    "sort-amount-up",
    "sort-down",
    "sort-numeric-down-alt",
    "sort-numeric-down",
    "sort-numeric-up-alt",
    "sort-numeric-up",
    "sort-up",
    "sort",
    "spa",
    "space-shuttle",
    "spell-check",
    "spider",
    "spinner",
    "splotch",
    "spray-can",
    "square-full",
    "square-root-alt",
    "square",
    "stamp",
    "star-and-crescent",
    "star-half-alt",
    "star-half",
    "star-of-david",
    "star-of-life",
    "star",
    "step-backward",
    "step-forward",
    "stethoscope",
    "sticky-note",
    "stop-circle",
    "stop",
    "stopwatch-20",
    "stopwatch",
    "store-alt-slash",
    "store-alt",
    "store-slash",
    "store",
    "stream",
    "street-view",
    "strikethrough",
    "stroopwafel",
    "subscript",
    "subway",
    "suitcase-rolling",
    "suitcase",
    "sun",
    "superscript",
    "surprise",
    "swatchbook",
    "swimmer",
    "swimming-pool",
    "synagogue",
    "sync-alt",
    "sync",
    "syringe",
    "table-tennis",
    "table",
    "tablet-alt",
    "tablet",
    "tablets",
    "tachometer-alt",
    "tag",
    "tags",
    "tape",
    "tasks",
    "taxi",
    "teeth-open",
    "teeth",
    "temperature-high",
    "temperature-low",
    "tenge",
    "terminal",
    "text-height",
    "text-width",
    "th-large",
    "th-list",
    "th",
    "theater-masks",
    "thermometer-empty",
    "thermometer-full",
    "thermometer-half",
    "thermometer-quarter",
    "thermometer-three-quarters",
    "thermometer",
    "thumbs-down",
    "thumbs-up",
    "thumbtack",
    "ticket-alt",
    "times-circle",
    "times",
    "tint-slash",
    "tint",
    "tired",
    "toggle-off",
    "toggle-on",
    "toilet-paper-slash",
    "toilet-paper",
    "toilet",
    "toolbox",
    "tools",
    "tooth",
    "torah",
    "torii-gate",
    "tractor",
    "trademark",
    "traffic-light",
    "trailer",
    "train",
    "tram",
    "transgender-alt",
    "transgender",
    "trash-alt",
    "trash-restore-alt",
    "trash-restore",
    "trash",
    "tree",
    "trophy",
    "truck-loading",
    "truck-monster",
    "truck-moving",
    "truck-pickup",
    "truck",
    "tshirt",
    "tty",
    "tv",
    "umbrella-beach",
    "umbrella",
    "underline",
    "undo-alt",
    "undo",
    "universal-access",
    "university",
    "unlink",
    "unlock-alt",
    "unlock",
    "upload",
    "user-alt-slash",
    "user-alt",
    "user-astronaut",
    "user-check",
    "user-circle",
    "user-clock",
    "user-cog",
    "user-edit",
    "user-friends",
    "user-graduate",
    "user-injured",
    "user-lock",
    "user-md",
    "user-minus",
    "user-ninja",
    "user-nurse",
    "user-plus",
    "user-secret",
    "user-shield",
    "user-slash",
    "user-tag",
    "user-tie",
    "user-times",
    "user",
    "users-cog",
    "users",
    "utensil-spoon",
    "utensils",
    "vector-square",
    "venus-double",
    "venus-mars",
    "venus",
    "vial",
    "vials",
    "video-slash",
    "video",
    "vihara",
    "virus-slash",
    "virus",
    "viruses",
    "voicemail",
    "volleyball-ball",
    "volume-down",
    "volume-mute",
    "volume-off",
    "volume-up",
    "vote-yea",
    "vr-cardboard",
    "walking",
    "wallet",
    "warehouse",
    "water",
    "wave-square",
    "weight-hanging",
    "weight",
    "wheelchair",
    "wifi",
    "wind",
    "window-close",
    "window-maximize",
    "window-minimize",
    "window-restore",
    "wine-bottle",
    "wine-glass-alt",
    "wine-glass",
    "won-sign",
    "wrench",
    "x-ray",
    "yen-sign",
    "yin-yang"
  ]
}
;
},1829,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getImageSourceSync = exports.getImageSource = exports.Button = exports.default = undefined;

  var _createIconSet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _Fontisto = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var iconSet = (0, _createIconSet.default)(_Fontisto.default, 'Fontisto', 'Fontisto.ttf');
  var _default = iconSet;
  exports.default = _default;
  var Button = iconSet.Button,
      getImageSource = iconSet.getImageSource,
      getImageSourceSync = iconSet.getImageSourceSync;
  exports.getImageSourceSync = getImageSourceSync;
  exports.getImageSource = getImageSource;
  exports.Button = Button;
},1830,[5,1808,1831]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "acrobat-reader": 60095,
  "applemusic": 60096,
  "atlassian": 60097,
  "aws": 60098,
  "baidu": 60099,
  "bing": 60100,
  "bower": 60101,
  "dailymotion": 60102,
  "delicious": 60103,
  "deviantart": 60104,
  "disqus": 60105,
  "flipboard": 60106,
  "graphql": 60107,
  "hexo": 60108,
  "hipchat": 60109,
  "icq": 60110,
  "invision": 60111,
  "jekyll": 60112,
  "jira": 60113,
  "json": 60114,
  "livestream": 60115,
  "messenger": 60116,
  "meteor": 60117,
  "onenote": 60118,
  "mongodb": 60119,
  "netflix": 60120,
  "nginx": 60121,
  "odnoklassniki": 60122,
  "onedrive": 60123,
  "origin": 60124,
  "pingdom": 60125,
  "rails": 60126,
  "raspberry-pi": 60127,
  "redis": 60128,
  "redux": 60129,
  "saucelabs": 60130,
  "scorp": 60131,
  "sentry": 60132,
  "shazam": 60133,
  "shopify": 60134,
  "sinaweibo": 60135,
  "slides": 60136,
  "sublimetext": 60137,
  "swift": 60138,
  "ted": 60139,
  "telegram": 60140,
  "tesla": 60141,
  "tinder": 60142,
  "treehouse": 60143,
  "twoo": 60144,
  "udacity": 60145,
  "webstorm": 60146,
  "wix": 60147,
  "yandex-international": 60148,
  "yandex": 60149,
  "ember": 60087,
  "cpanel": 60088,
  "viber": 60089,
  "deskpro": 60090,
  "discord": 60091,
  "discourse": 60092,
  "adobe": 60059,
  "algolia": 60060,
  "atom": 60061,
  "babel": 60062,
  "coffeescript": 60063,
  "electronjs": 60064,
  "mysql": 60065,
  "oracle": 60066,
  "php": 60067,
  "sourcetree": 60068,
  "ubuntu": 60069,
  "unity": 60070,
  "unreal-engine": 60071,
  "webpack": 60072,
  "angelist": 60026,
  "app-store": 60027,
  "digg": 60030,
  "dockers": 60031,
  "envato": 60032,
  "gitlab": 60033,
  "google-drive": 60034,
  "google-play": 60035,
  "grunt": 60036,
  "gulp": 60037,
  "hacker-news": 60038,
  "imdb": 60039,
  "jenkins": 60040,
  "joomla": 60041,
  "kickstarter": 60042,
  "laravel": 60043,
  "less": 60044,
  "line": 60045,
  "npm": 60046,
  "periscope": 60047,
  "product-hunt": 60048,
  "quora": 60049,
  "skyatlas": 60050,
  "stylus": 60051,
  "travis": 60052,
  "trello": 60053,
  "uber": 60054,
  "vine": 60055,
  "visual-studio": 60056,
  "vk": 60057,
  "vuejs": 60058,
  "microsoft": 60025,
  "blogger": 60028,
  "500px": 59658,
  "amazon": 59659,
  "ampproject": 59660,
  "android": 59661,
  "angularjs": 59662,
  "apple": 59663,
  "behance": 59664,
  "bitbucket": 59665,
  "bluetooth-b": 59666,
  "cloudflare": 59667,
  "codepen": 59668,
  "css3": 59669,
  "dribbble": 59670,
  "dropbox": 59671,
  "facebook": 59672,
  "flickr": 59673,
  "foursquare": 59674,
  "git": 59675,
  "github": 59676,
  "google-plus": 59677,
  "google": 59678,
  "hangout": 59679,
  "houzz": 59680,
  "html5": 59681,
  "instagram": 59682,
  "java": 59683,
  "jquery": 59684,
  "jsfiddle": 59685,
  "linkedin": 59686,
  "linux": 59687,
  "magento": 59688,
  "maxcdn": 59689,
  "medium": 59690,
  "meetup": 59691,
  "nodejs": 59692,
  "opencart": 59693,
  "pinterest": 59694,
  "playstation": 59695,
  "python": 59696,
  "react": 59697,
  "reddit": 59698,
  "ruby": 59699,
  "sass": 59700,
  "skype": 59701,
  "slack": 59702,
  "snapchat": 59703,
  "soundcloud": 59704,
  "spotify": 59705,
  "stack-overflow": 59706,
  "steam": 59707,
  "stumbleupon": 59708,
  "svn": 59709,
  "swarm": 59710,
  "tripadvisor": 59711,
  "tumblr": 59712,
  "twitch": 59713,
  "twitter": 59714,
  "vimeo": 59715,
  "wetransfer": 59716,
  "whatsapp": 59717,
  "wifi-logo": 59718,
  "wikipedia": 59719,
  "windows": 59720,
  "wordpress": 59721,
  "xbox": 59722,
  "yahoo": 59723,
  "yelp": 59724,
  "youtube-play": 59725,
  "cocoapods": 60200,
  "composer": 60201,
  "yarn": 60202,
  "language": 59943,
  "toggle-off": 59948,
  "toggle-on": 60029,
  "anchor": 60094,
  "archive": 60150,
  "at": 60151,
  "ban": 60152,
  "battery-half": 60153,
  "battery-full": 60154,
  "battery-empty": 60155,
  "battery-quarter": 60156,
  "battery-three-quarters": 60157,
  "bell-alt": 60158,
  "bell": 60159,
  "bookmark-alt": 60160,
  "bookmark": 60161,
  "bug": 60162,
  "calculator": 60163,
  "calendar": 60164,
  "crosshairs": 60165,
  "desktop": 60166,
  "download": 60167,
  "film": 60168,
  "history": 60169,
  "hourglass-end": 60170,
  "hourglass-half": 60171,
  "hourglass-start": 60172,
  "hourglass": 60173,
  "info": 60174,
  "key": 60175,
  "keyboard": 60176,
  "laptop": 60177,
  "lightbulb": 60178,
  "magnet": 60179,
  "map-marker-alt": 60180,
  "map-marker": 60181,
  "map": 60182,
  "mobile-alt": 60183,
  "mobile": 60184,
  "paw": 60185,
  "phone": 60186,
  "power": 60187,
  "qrcode": 60188,
  "question": 60189,
  "search": 60190,
  "sitemap": 60191,
  "star-half": 60192,
  "stopwatch": 60193,
  "tablet-alt": 60194,
  "tablet": 60195,
  "ticket": 60196,
  "tv": 60197,
  "upload": 60198,
  "user-secret": 60199,
  "camera": 59798,
  "clock": 59799,
  "close-a": 59800,
  "code": 59801,
  "comment": 59802,
  "commenting": 59803,
  "comments": 59804,
  "crop": 59805,
  "cursor": 59806,
  "database": 59807,
  "date": 59808,
  "earth": 59809,
  "email": 59810,
  "eye": 59811,
  "female": 59812,
  "favorite": 59813,
  "filter": 59814,
  "fire": 59815,
  "flag": 59816,
  "flash": 59817,
  "home": 59818,
  "link": 59819,
  "locked": 59820,
  "male": 59821,
  "minus-a": 59822,
  "more-v-a": 59823,
  "more-v": 59824,
  "move-h-a": 59825,
  "move-h": 59826,
  "nav-icon-a": 59827,
  "nav-icon-grid-a": 59828,
  "nav-icon-grid": 59829,
  "nav-icon-list-a": 59830,
  "nav-icon-list": 59831,
  "nav-icon": 59832,
  "navigate": 59833,
  "paper-plane": 59834,
  "person": 59835,
  "persons": 59836,
  "picture": 59837,
  "plus-a": 59838,
  "print": 59839,
  "quote-a-left": 59840,
  "quote-a-right": 59841,
  "quote-left": 59842,
  "quote-right": 59843,
  "reply": 59844,
  "rss": 59845,
  "scissors": 59846,
  "share-a": 59847,
  "share": 59848,
  "trash": 59849,
  "unlocked": 59850,
  "usb": 59851,
  "wifi": 59852,
  "world-o": 59853,
  "world": 59854,
  "zoom": 59855,
  "adjust": 60015,
  "recycle": 60016,
  "pinboard": 60093,
  "zoom-minus": 60082,
  "zoom-plus": 60083,
  "check": 60084,
  "asterisk": 60085,
  "hashtag": 60086,
  "checkbox-active": 59778,
  "checkbox-passive": 59779,
  "radio-btn-active": 59780,
  "radio-btn-passive": 59781,
  "shopping-bag-1": 60011,
  "shopping-bag": 60012,
  "shopping-barcode": 60017,
  "shopping-basket-add": 60018,
  "shopping-basket-remove": 60019,
  "shopping-basket": 60020,
  "shopping-package": 60021,
  "shopping-pos-machine": 60022,
  "shopping-sale": 60023,
  "shopping-store": 60024,
  "angle-dobule-down": 59748,
  "angle-dobule-left": 59749,
  "angle-dobule-right": 59750,
  "angle-dobule-up": 59751,
  "angle-down": 59752,
  "angle-left": 59753,
  "angle-right": 59754,
  "angle-up": 59755,
  "arrow-down-l": 59756,
  "arrow-down": 59757,
  "arrow-expand": 59758,
  "arrow-h": 59759,
  "arrow-left-l": 59760,
  "arrow-left": 59761,
  "arrow-move": 59762,
  "arrow-resize": 59763,
  "arrow-return-left": 59764,
  "arrow-return-right": 59765,
  "arrow-right-l": 59766,
  "arrow-right": 59767,
  "arrow-swap": 59768,
  "arrow-up-l": 59769,
  "arrow-up": 59770,
  "arrow-v": 59771,
  "caret-down": 59772,
  "caret-left": 59773,
  "caret-right": 59774,
  "caret-up": 59775,
  "fi": 59776,
  "fontisto": 59777,
  "backward": 59866,
  "eject": 59867,
  "equalizer": 59868,
  "forward": 59869,
  "headphone": 59870,
  "heart": 59871,
  "mic": 59872,
  "music-note": 59873,
  "pause": 59874,
  "play-list": 59875,
  "play": 59876,
  "player-settings": 59877,
  "podcast": 59878,
  "random": 59879,
  "record": 59880,
  "star": 59881,
  "step-backwrad": 59882,
  "step-forward": 59883,
  "stop": 59884,
  "volume-down": 59885,
  "volume-mute": 59886,
  "volume-off": 59887,
  "volume-up": 59888,
  "airplay": 60008,
  "bold": 59918,
  "broken-link": 59919,
  "center-align": 59920,
  "close": 59921,
  "columns": 59922,
  "copy": 59923,
  "eraser": 59924,
  "export": 59925,
  "file-1": 59926,
  "file-2": 59927,
  "folder": 59928,
  "font": 59929,
  "import": 59930,
  "indent": 59931,
  "italic": 59932,
  "justify": 59933,
  "left-align": 59934,
  "link2": 59935,
  "list-1": 59936,
  "list-2": 59937,
  "outdent": 59938,
  "paperclip": 59939,
  "paragraph": 59940,
  "paste": 59941,
  "preview": 59942,
  "print2": 59943,
  "redo": 59944,
  "right-align": 59945,
  "save-1": 59946,
  "save": 59947,
  "scissors2": 59948,
  "strikethrough": 59949,
  "subscript": 59950,
  "superscript": 59951,
  "table-1": 59952,
  "table-2": 59953,
  "text-height": 59954,
  "text-width": 59955,
  "underline": 59956,
  "undo": 59957,
  "cloud-down": 59958,
  "cloud-refresh": 59959,
  "cloud-up": 59960,
  "cloudy-gusts": 59961,
  "cloudy": 59962,
  "compass": 59963,
  "day-cloudy": 59964,
  "day-haze": 59965,
  "day-lightning": 59966,
  "day-rain": 59967,
  "day-snow": 59968,
  "day-sunny": 59969,
  "fog": 59970,
  "horizon-alt": 59971,
  "horizon": 59972,
  "lightning": 59973,
  "lightnings": 59974,
  "night-alt-cloudy": 59975,
  "night-alt-lightning": 59976,
  "night-alt-rain": 59977,
  "night-alt-snow": 59978,
  "night-clear": 59979,
  "rain": 59980,
  "rainbow": 59981,
  "rains": 59982,
  "snow": 59983,
  "snows": 59984,
  "thermometer": 59985,
  "umbrella": 59986,
  "wind": 59987,
  "confused": 59988,
  "dizzy": 59989,
  "expressionless": 59990,
  "frowning": 59991,
  "heart-eyes": 59992,
  "laughing": 59993,
  "mad": 59994,
  "nervous": 59995,
  "neutral": 59996,
  "open-mouth": 59997,
  "rage": 59998,
  "slightly-smile": 59999,
  "smiley": 60000,
  "smiling": 60001,
  "stuck-out-tongue": 60002,
  "sunglasses": 60003,
  "surprised": 60004,
  "tongue": 60005,
  "wink": 60006,
  "zipper-mouth": 60007,
  "aids": 60233,
  "ambulance": 60234,
  "bandage": 60235,
  "bed-patient": 60236,
  "blood-drop": 60237,
  "blood-test": 60238,
  "blood": 60239,
  "dna": 60240,
  "doctor": 60241,
  "drug-pack": 60242,
  "first-aid-alt": 60243,
  "heart-alt": 60244,
  "heartbeat-alt": 60245,
  "heartbeat": 60246,
  "helicopter-ambulance": 60247,
  "hospital": 60248,
  "injection-syringe": 60249,
  "laboratory": 60250,
  "nurse": 60251,
  "nursing-home": 60252,
  "paralysis-disability": 60253,
  "pills": 60254,
  "prescription": 60255,
  "pulse": 60256,
  "stethoscope": 60257,
  "surgical-knife": 60258,
  "tablets": 60259,
  "test-bottle": 60260,
  "test-tube-alt": 60261,
  "test-tube": 60262,
  "thermometer-alt": 60263,
  "american-express": 59856,
  "credit-card": 59857,
  "google-wallet": 59858,
  "iyzigo": 59859,
  "mastercard": 59860,
  "paypal-p": 59861,
  "paypal": 59862,
  "payu": 59863,
  "troy": 59864,
  "visa": 59865,
  "dinners-club": 60010,
  "apple-pay": 60009,
  "discover": 60013,
  "jcb": 60014,
  "dislike": 59796,
  "like": 59797,
  "audio-description": 59648,
  "blind": 59649,
  "braille": 59650,
  "deaf": 59651,
  "fa-american-sign-language-interpreting": 59652,
  "low-vision": 59654,
  "tty": 59655,
  "universal-acces": 59656,
  "wheelchair": 59657,
  "area-chart": 59732,
  "bar-chart": 59733,
  "line-chart": 59734,
  "pie-chart-1": 59735,
  "pie-chart-2": 59736,
  "chrome": 59726,
  "edge": 59727,
  "firefox": 59728,
  "internet-explorer": 59729,
  "opera": 59730,
  "safari": 59731,
  "bitcoin": 59737,
  "dollar": 59738,
  "euro": 59739,
  "gbp": 59740,
  "gg": 59741,
  "ils": 59742,
  "inr": 59743,
  "krw": 59744,
  "rouble": 59745,
  "tl": 59746,
  "yen": 59747,
  "genderless": 59782,
  "intersex": 59783,
  "mars-double": 59784,
  "mars-stroke-h": 59785,
  "mars-stroke-v": 59786,
  "mars-stroke": 59787,
  "mars": 59788,
  "mercury": 59789,
  "neuter": 59790,
  "transgender-alt": 59791,
  "transgender": 59792,
  "venus-double": 59793,
  "venus-mars": 59794,
  "venus": 59795,
  "automobile": 59899,
  "bicycle": 59900,
  "bus": 59901,
  "car": 59902,
  "helicopter": 59903,
  "metro": 59904,
  "motorcycle": 59905,
  "plane": 59906,
  "rocket": 59907,
  "ship": 59908,
  "subway": 59909,
  "taxi": 59910,
  "train": 59911,
  "truck": 59912,
  "yacht": 59913,
  "beach-slipper": 60203,
  "bus-ticket": 60204,
  "cocktail": 60205,
  "compass-alt": 60206,
  "direction-sign": 60207,
  "do-not-disturb": 60208,
  "flotation-ring": 60209,
  "holiday-village": 60210,
  "hot-air-balloon": 60211,
  "hotel-alt": 60212,
  "hotel": 60213,
  "island": 60214,
  "money-symbol": 60215,
  "parasol": 60216,
  "passport-alt": 60217,
  "passport": 60218,
  "photograph": 60219,
  "plane-ticket": 60220,
  "room": 60221,
  "sait-boat": 60222,
  "snorkel": 60223,
  "suitcase-alt": 60224,
  "suitcase": 60225,
  "sun": 60226,
  "sunglasses-alt": 60227,
  "swimsuit": 60228,
  "tent": 60229,
  "ticket-alt": 60230,
  "train-ticket": 60231,
  "wallet": 60232,
  "circle-o-notch": 59889,
  "propeller-1": 59890,
  "propeller-2": 59891,
  "propeller-3": 59892,
  "propeller-4": 59893,
  "spinner-cog": 59894,
  "spinner-fidget": 59895,
  "spinner-refresh": 59896,
  "spinner-rotate-forward": 59897,
  "spinner": 59898,
  "snowflake": 60081,
  "snowflake-1": 60073,
  "snowflake-2": 60074,
  "snowflake-3": 60075,
  "snowflake-4": 60076,
  "snowflake-5": 60077,
  "snowflake-6": 60078,
  "snowflake-7": 60079,
  "snowflake-8": 60080,
  "curve": 59915,
  "ellipse": 59916,
  "rectangle": 59917,
  "shield": 59914
};
},1831,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getImageSourceSync = exports.getImageSource = exports.Button = exports.default = undefined;

  var _createIconSet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _Foundation = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var iconSet = (0, _createIconSet.default)(_Foundation.default, 'fontcustom', 'Foundation.ttf');
  var _default = iconSet;
  exports.default = _default;
  var Button = iconSet.Button,
      getImageSource = iconSet.getImageSource,
      getImageSourceSync = iconSet.getImageSourceSync;
  exports.getImageSourceSync = getImageSourceSync;
  exports.getImageSource = getImageSource;
  exports.Button = Button;
},1832,[5,1808,1833]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "address-book": 61696,
  "alert": 61697,
  "align-center": 61698,
  "align-justify": 61699,
  "align-left": 61700,
  "align-right": 61701,
  "anchor": 61702,
  "annotate": 61703,
  "archive": 61704,
  "arrow-down": 61705,
  "arrow-left": 61706,
  "arrow-right": 61707,
  "arrow-up": 61708,
  "arrows-compress": 61709,
  "arrows-expand": 61710,
  "arrows-in": 61711,
  "arrows-out": 61712,
  "asl": 61713,
  "asterisk": 61714,
  "at-sign": 61715,
  "background-color": 61716,
  "battery-empty": 61717,
  "battery-full": 61718,
  "battery-half": 61719,
  "bitcoin-circle": 61720,
  "bitcoin": 61721,
  "blind": 61722,
  "bluetooth": 61723,
  "bold": 61724,
  "book-bookmark": 61725,
  "book": 61726,
  "bookmark": 61727,
  "braille": 61728,
  "burst-new": 61729,
  "burst-sale": 61730,
  "burst": 61731,
  "calendar": 61732,
  "camera": 61733,
  "check": 61734,
  "checkbox": 61735,
  "clipboard-notes": 61736,
  "clipboard-pencil": 61737,
  "clipboard": 61738,
  "clock": 61739,
  "closed-caption": 61740,
  "cloud": 61741,
  "comment-minus": 61742,
  "comment-quotes": 61743,
  "comment-video": 61744,
  "comment": 61745,
  "comments": 61746,
  "compass": 61747,
  "contrast": 61748,
  "credit-card": 61749,
  "crop": 61750,
  "crown": 61751,
  "css3": 61752,
  "database": 61753,
  "die-five": 61754,
  "die-four": 61755,
  "die-one": 61756,
  "die-six": 61757,
  "die-three": 61758,
  "die-two": 61759,
  "dislike": 61760,
  "dollar-bill": 61761,
  "dollar": 61762,
  "download": 61763,
  "eject": 61764,
  "elevator": 61765,
  "euro": 61766,
  "eye": 61767,
  "fast-forward": 61768,
  "female-symbol": 61769,
  "female": 61770,
  "filter": 61771,
  "first-aid": 61772,
  "flag": 61773,
  "folder-add": 61774,
  "folder-lock": 61775,
  "folder": 61776,
  "foot": 61777,
  "foundation": 61778,
  "graph-bar": 61779,
  "graph-horizontal": 61780,
  "graph-pie": 61781,
  "graph-trend": 61782,
  "guide-dog": 61783,
  "hearing-aid": 61784,
  "heart": 61785,
  "home": 61786,
  "html5": 61787,
  "indent-less": 61788,
  "indent-more": 61789,
  "info": 61790,
  "italic": 61791,
  "key": 61792,
  "laptop": 61793,
  "layout": 61794,
  "lightbulb": 61795,
  "like": 61796,
  "link": 61797,
  "list-bullet": 61798,
  "list-number": 61799,
  "list-thumbnails": 61800,
  "list": 61801,
  "lock": 61802,
  "loop": 61803,
  "magnifying-glass": 61804,
  "mail": 61805,
  "male-female": 61806,
  "male-symbol": 61807,
  "male": 61808,
  "map": 61809,
  "marker": 61810,
  "megaphone": 61811,
  "microphone": 61812,
  "minus-circle": 61813,
  "minus": 61814,
  "mobile-signal": 61815,
  "mobile": 61816,
  "monitor": 61817,
  "mountains": 61818,
  "music": 61819,
  "next": 61820,
  "no-dogs": 61821,
  "no-smoking": 61822,
  "page-add": 61823,
  "page-copy": 61824,
  "page-csv": 61825,
  "page-delete": 61826,
  "page-doc": 61827,
  "page-edit": 61828,
  "page-export-csv": 61829,
  "page-export-doc": 61830,
  "page-export-pdf": 61831,
  "page-export": 61832,
  "page-filled": 61833,
  "page-multiple": 61834,
  "page-pdf": 61835,
  "page-remove": 61836,
  "page-search": 61837,
  "page": 61838,
  "paint-bucket": 61839,
  "paperclip": 61840,
  "pause": 61841,
  "paw": 61842,
  "paypal": 61843,
  "pencil": 61844,
  "photo": 61845,
  "play-circle": 61846,
  "play-video": 61847,
  "play": 61848,
  "plus": 61849,
  "pound": 61850,
  "power": 61851,
  "previous": 61852,
  "price-tag": 61853,
  "pricetag-multiple": 61854,
  "print": 61855,
  "prohibited": 61856,
  "projection-screen": 61857,
  "puzzle": 61858,
  "quote": 61859,
  "record": 61860,
  "refresh": 61861,
  "results-demographics": 61862,
  "results": 61863,
  "rewind-ten": 61864,
  "rewind": 61865,
  "rss": 61866,
  "safety-cone": 61867,
  "save": 61868,
  "share": 61869,
  "sheriff-badge": 61870,
  "shield": 61871,
  "shopping-bag": 61872,
  "shopping-cart": 61873,
  "shuffle": 61874,
  "skull": 61875,
  "social-500px": 61876,
  "social-adobe": 61877,
  "social-amazon": 61878,
  "social-android": 61879,
  "social-apple": 61880,
  "social-behance": 61881,
  "social-bing": 61882,
  "social-blogger": 61883,
  "social-delicious": 61884,
  "social-designer-news": 61885,
  "social-deviant-art": 61886,
  "social-digg": 61887,
  "social-dribbble": 61888,
  "social-drive": 61889,
  "social-dropbox": 61890,
  "social-evernote": 61891,
  "social-facebook": 61892,
  "social-flickr": 61893,
  "social-forrst": 61894,
  "social-foursquare": 61895,
  "social-game-center": 61896,
  "social-github": 61897,
  "social-google-plus": 61898,
  "social-hacker-news": 61899,
  "social-hi5": 61900,
  "social-instagram": 61901,
  "social-joomla": 61902,
  "social-lastfm": 61903,
  "social-linkedin": 61904,
  "social-medium": 61905,
  "social-myspace": 61906,
  "social-orkut": 61907,
  "social-path": 61908,
  "social-picasa": 61909,
  "social-pinterest": 61910,
  "social-rdio": 61911,
  "social-reddit": 61912,
  "social-skillshare": 61913,
  "social-skype": 61914,
  "social-smashing-mag": 61915,
  "social-snapchat": 61916,
  "social-spotify": 61917,
  "social-squidoo": 61918,
  "social-stack-overflow": 61919,
  "social-steam": 61920,
  "social-stumbleupon": 61921,
  "social-treehouse": 61922,
  "social-tumblr": 61923,
  "social-twitter": 61924,
  "social-vimeo": 61925,
  "social-windows": 61926,
  "social-xbox": 61927,
  "social-yahoo": 61928,
  "social-yelp": 61929,
  "social-youtube": 61930,
  "social-zerply": 61931,
  "social-zurb": 61932,
  "sound": 61933,
  "star": 61934,
  "stop": 61935,
  "strikethrough": 61936,
  "subscript": 61937,
  "superscript": 61938,
  "tablet-landscape": 61939,
  "tablet-portrait": 61940,
  "target-two": 61941,
  "target": 61942,
  "telephone-accessible": 61943,
  "telephone": 61944,
  "text-color": 61945,
  "thumbnails": 61946,
  "ticket": 61947,
  "torso-business": 61948,
  "torso-female": 61949,
  "torso": 61950,
  "torsos-all-female": 61951,
  "torsos-all": 61952,
  "torsos-female-male": 61953,
  "torsos-male-female": 61954,
  "torsos": 61955,
  "trash": 61956,
  "trees": 61957,
  "trophy": 61958,
  "underline": 61959,
  "universal-access": 61960,
  "unlink": 61961,
  "unlock": 61962,
  "upload-cloud": 61963,
  "upload": 61964,
  "usb": 61965,
  "video": 61966,
  "volume-none": 61967,
  "volume-strike": 61968,
  "volume": 61969,
  "web": 61970,
  "wheelchair": 61971,
  "widget": 61972,
  "wrench": 61973,
  "x-circle": 61974,
  "x": 61975,
  "yen": 61976,
  "zoom-in": 61977,
  "zoom-out": 61978
};
},1833,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getImageSourceSync = exports.getImageSource = exports.Button = exports.default = undefined;

  var _createIconSet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _Ionicons = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var iconSet = (0, _createIconSet.default)(_Ionicons.default, 'Ionicons', 'Ionicons.ttf');
  var _default = iconSet;
  exports.default = _default;
  var Button = iconSet.Button,
      getImageSource = iconSet.getImageSource,
      getImageSourceSync = iconSet.getImageSourceSync;
  exports.getImageSourceSync = getImageSourceSync;
  exports.getImageSource = getImageSource;
  exports.Button = Button;
},1834,[5,1808,1835]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "add": 61696,
  "add-circle": 61697,
  "add-circle-outline": 61698,
  "add-circle-sharp": 61699,
  "add-outline": 61700,
  "add-sharp": 61701,
  "airplane": 61702,
  "airplane-outline": 61703,
  "airplane-sharp": 61704,
  "alarm": 61705,
  "alarm-outline": 61706,
  "alarm-sharp": 61707,
  "albums": 61708,
  "albums-outline": 61709,
  "albums-sharp": 61710,
  "alert": 61711,
  "alert-circle": 61712,
  "alert-circle-outline": 61713,
  "alert-circle-sharp": 61714,
  "alert-outline": 61715,
  "alert-sharp": 61716,
  "american-football": 61717,
  "american-football-outline": 61718,
  "american-football-sharp": 61719,
  "analytics": 61720,
  "analytics-outline": 61721,
  "analytics-sharp": 61722,
  "aperture": 61723,
  "aperture-outline": 61724,
  "aperture-sharp": 61725,
  "apps": 61726,
  "apps-outline": 61727,
  "apps-sharp": 61728,
  "archive": 61729,
  "archive-outline": 61730,
  "archive-sharp": 61731,
  "arrow-back": 61732,
  "arrow-back-circle": 61733,
  "arrow-back-circle-outline": 61734,
  "arrow-back-circle-sharp": 61735,
  "arrow-back-outline": 61736,
  "arrow-back-sharp": 61737,
  "arrow-down": 61738,
  "arrow-down-circle": 61739,
  "arrow-down-circle-outline": 61740,
  "arrow-down-circle-sharp": 61741,
  "arrow-down-outline": 61742,
  "arrow-down-sharp": 61743,
  "arrow-forward": 61744,
  "arrow-forward-circle": 61745,
  "arrow-forward-circle-outline": 61746,
  "arrow-forward-circle-sharp": 61747,
  "arrow-forward-outline": 61748,
  "arrow-forward-sharp": 61749,
  "arrow-redo": 61750,
  "arrow-redo-circle": 61751,
  "arrow-redo-circle-outline": 61752,
  "arrow-redo-circle-sharp": 61753,
  "arrow-redo-outline": 61754,
  "arrow-redo-sharp": 61755,
  "arrow-undo": 61756,
  "arrow-undo-circle": 61757,
  "arrow-undo-circle-outline": 61758,
  "arrow-undo-circle-sharp": 61759,
  "arrow-undo-outline": 61760,
  "arrow-undo-sharp": 61761,
  "arrow-up": 61762,
  "arrow-up-circle": 61763,
  "arrow-up-circle-outline": 61764,
  "arrow-up-circle-sharp": 61765,
  "arrow-up-outline": 61766,
  "arrow-up-sharp": 61767,
  "at": 61768,
  "at-circle": 61769,
  "at-circle-outline": 61770,
  "at-circle-sharp": 61771,
  "at-outline": 61772,
  "at-sharp": 61773,
  "attach": 61774,
  "attach-outline": 61775,
  "attach-sharp": 61776,
  "backspace": 61777,
  "backspace-outline": 61778,
  "backspace-sharp": 61779,
  "bandage": 61780,
  "bandage-outline": 61781,
  "bandage-sharp": 61782,
  "bar-chart": 61783,
  "bar-chart-outline": 61784,
  "bar-chart-sharp": 61785,
  "barbell": 61786,
  "barbell-outline": 61787,
  "barbell-sharp": 61788,
  "barcode": 61789,
  "barcode-outline": 61790,
  "barcode-sharp": 61791,
  "baseball": 61792,
  "baseball-outline": 61793,
  "baseball-sharp": 61794,
  "basket": 61795,
  "basket-outline": 61796,
  "basket-sharp": 61797,
  "basketball": 61798,
  "basketball-outline": 61799,
  "basketball-sharp": 61800,
  "battery-charging": 61801,
  "battery-charging-outline": 61802,
  "battery-charging-sharp": 61803,
  "battery-dead": 61804,
  "battery-dead-outline": 61805,
  "battery-dead-sharp": 61806,
  "battery-full": 61807,
  "battery-full-outline": 61808,
  "battery-full-sharp": 61809,
  "battery-half": 61810,
  "battery-half-outline": 61811,
  "battery-half-sharp": 61812,
  "beaker": 61813,
  "beaker-outline": 61814,
  "beaker-sharp": 61815,
  "bed": 61816,
  "bed-outline": 61817,
  "bed-sharp": 61818,
  "beer": 61819,
  "beer-outline": 61820,
  "beer-sharp": 61821,
  "bicycle": 61822,
  "bicycle-outline": 61823,
  "bicycle-sharp": 61824,
  "bluetooth": 61825,
  "bluetooth-outline": 61826,
  "bluetooth-sharp": 61827,
  "boat": 61828,
  "boat-outline": 61829,
  "boat-sharp": 61830,
  "body": 61831,
  "body-outline": 61832,
  "body-sharp": 61833,
  "bonfire": 61834,
  "bonfire-outline": 61835,
  "bonfire-sharp": 61836,
  "book": 61837,
  "book-outline": 61838,
  "book-sharp": 61839,
  "bookmark": 61840,
  "bookmark-outline": 61841,
  "bookmark-sharp": 61842,
  "bookmarks": 61843,
  "bookmarks-outline": 61844,
  "bookmarks-sharp": 61845,
  "briefcase": 61846,
  "briefcase-outline": 61847,
  "briefcase-sharp": 61848,
  "browsers": 61849,
  "browsers-outline": 61850,
  "browsers-sharp": 61851,
  "brush": 61852,
  "brush-outline": 61853,
  "brush-sharp": 61854,
  "bug": 61855,
  "bug-outline": 61856,
  "bug-sharp": 61857,
  "build": 61858,
  "build-outline": 61859,
  "build-sharp": 61860,
  "bulb": 61861,
  "bulb-outline": 61862,
  "bulb-sharp": 61863,
  "bus": 61864,
  "bus-outline": 61865,
  "bus-sharp": 61866,
  "business": 61867,
  "business-outline": 61868,
  "business-sharp": 61869,
  "cafe": 61870,
  "cafe-outline": 61871,
  "cafe-sharp": 61872,
  "calculator": 61873,
  "calculator-outline": 61874,
  "calculator-sharp": 61875,
  "calendar": 61876,
  "calendar-outline": 61877,
  "calendar-sharp": 61878,
  "call": 61879,
  "call-outline": 61880,
  "call-sharp": 61881,
  "camera": 61882,
  "camera-outline": 61883,
  "camera-reverse": 61884,
  "camera-reverse-outline": 61885,
  "camera-reverse-sharp": 61886,
  "camera-sharp": 61887,
  "car": 61888,
  "car-outline": 61889,
  "car-sharp": 61890,
  "car-sport": 61891,
  "car-sport-outline": 61892,
  "car-sport-sharp": 61893,
  "card": 61894,
  "card-outline": 61895,
  "card-sharp": 61896,
  "caret-back": 61897,
  "caret-back-circle": 61898,
  "caret-back-circle-outline": 61899,
  "caret-back-circle-sharp": 61900,
  "caret-back-outline": 61901,
  "caret-back-sharp": 61902,
  "caret-down": 61903,
  "caret-down-circle": 61904,
  "caret-down-circle-outline": 61905,
  "caret-down-circle-sharp": 61906,
  "caret-down-outline": 61907,
  "caret-down-sharp": 61908,
  "caret-forward": 61909,
  "caret-forward-circle": 61910,
  "caret-forward-circle-outline": 61911,
  "caret-forward-circle-sharp": 61912,
  "caret-forward-outline": 61913,
  "caret-forward-sharp": 61914,
  "caret-up": 61915,
  "caret-up-circle": 61916,
  "caret-up-circle-outline": 61917,
  "caret-up-circle-sharp": 61918,
  "caret-up-outline": 61919,
  "caret-up-sharp": 61920,
  "cart": 61921,
  "cart-outline": 61922,
  "cart-sharp": 61923,
  "cash": 61924,
  "cash-outline": 61925,
  "cash-sharp": 61926,
  "cellular": 61927,
  "cellular-outline": 61928,
  "cellular-sharp": 61929,
  "chatbox": 61930,
  "chatbox-ellipses": 61931,
  "chatbox-ellipses-outline": 61932,
  "chatbox-ellipses-sharp": 61933,
  "chatbox-outline": 61934,
  "chatbox-sharp": 61935,
  "chatbubble": 61936,
  "chatbubble-ellipses": 61937,
  "chatbubble-ellipses-outline": 61938,
  "chatbubble-ellipses-sharp": 61939,
  "chatbubble-outline": 61940,
  "chatbubble-sharp": 61941,
  "chatbubbles": 61942,
  "chatbubbles-outline": 61943,
  "chatbubbles-sharp": 61944,
  "checkbox": 61945,
  "checkbox-outline": 61946,
  "checkbox-sharp": 61947,
  "checkmark": 61948,
  "checkmark-circle": 61949,
  "checkmark-circle-outline": 61950,
  "checkmark-circle-sharp": 61951,
  "checkmark-done": 61952,
  "checkmark-done-circle": 61953,
  "checkmark-done-circle-outline": 61954,
  "checkmark-done-circle-sharp": 61955,
  "checkmark-done-outline": 61956,
  "checkmark-done-sharp": 61957,
  "checkmark-outline": 61958,
  "checkmark-sharp": 61959,
  "chevron-back": 61960,
  "chevron-back-circle": 61961,
  "chevron-back-circle-outline": 61962,
  "chevron-back-circle-sharp": 61963,
  "chevron-back-outline": 61964,
  "chevron-back-sharp": 61965,
  "chevron-down": 61966,
  "chevron-down-circle": 61967,
  "chevron-down-circle-outline": 61968,
  "chevron-down-circle-sharp": 61969,
  "chevron-down-outline": 61970,
  "chevron-down-sharp": 61971,
  "chevron-forward": 61972,
  "chevron-forward-circle": 61973,
  "chevron-forward-circle-outline": 61974,
  "chevron-forward-circle-sharp": 61975,
  "chevron-forward-outline": 61976,
  "chevron-forward-sharp": 61977,
  "chevron-up": 61978,
  "chevron-up-circle": 61979,
  "chevron-up-circle-outline": 61980,
  "chevron-up-circle-sharp": 61981,
  "chevron-up-outline": 61982,
  "chevron-up-sharp": 61983,
  "clipboard": 61984,
  "clipboard-outline": 61985,
  "clipboard-sharp": 61986,
  "close": 61987,
  "close-circle": 61988,
  "close-circle-outline": 61989,
  "close-circle-sharp": 61990,
  "close-outline": 61991,
  "close-sharp": 61992,
  "cloud": 61993,
  "cloud-circle": 61994,
  "cloud-circle-outline": 61995,
  "cloud-circle-sharp": 61996,
  "cloud-done": 61997,
  "cloud-done-outline": 61998,
  "cloud-done-sharp": 61999,
  "cloud-download": 62000,
  "cloud-download-outline": 62001,
  "cloud-download-sharp": 62002,
  "cloud-offline": 62003,
  "cloud-offline-outline": 62004,
  "cloud-offline-sharp": 62005,
  "cloud-outline": 62006,
  "cloud-sharp": 62007,
  "cloud-upload": 62008,
  "cloud-upload-outline": 62009,
  "cloud-upload-sharp": 62010,
  "cloudy": 62011,
  "cloudy-night": 62012,
  "cloudy-night-outline": 62013,
  "cloudy-night-sharp": 62014,
  "cloudy-outline": 62015,
  "cloudy-sharp": 62016,
  "code": 62017,
  "code-download": 62018,
  "code-download-outline": 62019,
  "code-download-sharp": 62020,
  "code-outline": 62021,
  "code-sharp": 62022,
  "code-slash": 62023,
  "code-slash-outline": 62024,
  "code-slash-sharp": 62025,
  "code-working": 62026,
  "code-working-outline": 62027,
  "code-working-sharp": 62028,
  "cog": 62029,
  "cog-outline": 62030,
  "cog-sharp": 62031,
  "color-fill": 62032,
  "color-fill-outline": 62033,
  "color-fill-sharp": 62034,
  "color-filter": 62035,
  "color-filter-outline": 62036,
  "color-filter-sharp": 62037,
  "color-palette": 62038,
  "color-palette-outline": 62039,
  "color-palette-sharp": 62040,
  "color-wand": 62041,
  "color-wand-outline": 62042,
  "color-wand-sharp": 62043,
  "compass": 62044,
  "compass-outline": 62045,
  "compass-sharp": 62046,
  "construct": 62047,
  "construct-outline": 62048,
  "construct-sharp": 62049,
  "contract": 62050,
  "contract-outline": 62051,
  "contract-sharp": 62052,
  "contrast": 62053,
  "contrast-outline": 62054,
  "contrast-sharp": 62055,
  "copy": 62056,
  "copy-outline": 62057,
  "copy-sharp": 62058,
  "create": 62059,
  "create-outline": 62060,
  "create-sharp": 62061,
  "crop": 62062,
  "crop-outline": 62063,
  "crop-sharp": 62064,
  "cube": 62065,
  "cube-outline": 62066,
  "cube-sharp": 62067,
  "cut": 62068,
  "cut-outline": 62069,
  "cut-sharp": 62070,
  "desktop": 62071,
  "desktop-outline": 62072,
  "desktop-sharp": 62073,
  "disc": 62074,
  "disc-outline": 62075,
  "disc-sharp": 62076,
  "document": 62077,
  "document-attach": 62078,
  "document-attach-outline": 62079,
  "document-attach-sharp": 62080,
  "document-outline": 62081,
  "document-sharp": 62082,
  "document-text": 62083,
  "document-text-outline": 62084,
  "document-text-sharp": 62085,
  "documents": 62086,
  "documents-outline": 62087,
  "documents-sharp": 62088,
  "download": 62089,
  "download-outline": 62090,
  "download-sharp": 62091,
  "duplicate": 62092,
  "duplicate-outline": 62093,
  "duplicate-sharp": 62094,
  "ear": 62095,
  "ear-outline": 62096,
  "ear-sharp": 62097,
  "earth": 62098,
  "earth-outline": 62099,
  "earth-sharp": 62100,
  "easel": 62101,
  "easel-outline": 62102,
  "easel-sharp": 62103,
  "egg": 62104,
  "egg-outline": 62105,
  "egg-sharp": 62106,
  "ellipse": 62107,
  "ellipse-outline": 62108,
  "ellipse-sharp": 62109,
  "ellipsis-horizontal": 62110,
  "ellipsis-horizontal-circle": 62111,
  "ellipsis-horizontal-circle-outline": 62112,
  "ellipsis-horizontal-circle-sharp": 62113,
  "ellipsis-horizontal-outline": 62114,
  "ellipsis-horizontal-sharp": 62115,
  "ellipsis-vertical": 62116,
  "ellipsis-vertical-circle": 62117,
  "ellipsis-vertical-circle-outline": 62118,
  "ellipsis-vertical-circle-sharp": 62119,
  "ellipsis-vertical-outline": 62120,
  "ellipsis-vertical-sharp": 62121,
  "enter": 62122,
  "enter-outline": 62123,
  "enter-sharp": 62124,
  "exit": 62125,
  "exit-outline": 62126,
  "exit-sharp": 62127,
  "expand": 62128,
  "expand-outline": 62129,
  "expand-sharp": 62130,
  "eye": 62131,
  "eye-off": 62132,
  "eye-off-outline": 62133,
  "eye-off-sharp": 62134,
  "eye-outline": 62135,
  "eye-sharp": 62136,
  "eyedrop": 62137,
  "eyedrop-outline": 62138,
  "eyedrop-sharp": 62139,
  "fast-food": 62140,
  "fast-food-outline": 62141,
  "fast-food-sharp": 62142,
  "female": 62143,
  "female-outline": 62144,
  "female-sharp": 62145,
  "file-tray": 62146,
  "file-tray-full": 62147,
  "file-tray-full-outline": 62148,
  "file-tray-full-sharp": 62149,
  "file-tray-outline": 62150,
  "file-tray-sharp": 62151,
  "file-tray-stacked": 62152,
  "file-tray-stacked-outline": 62153,
  "file-tray-stacked-sharp": 62154,
  "film": 62155,
  "film-outline": 62156,
  "film-sharp": 62157,
  "filter": 62158,
  "filter-outline": 62159,
  "filter-sharp": 62160,
  "finger-print": 62161,
  "finger-print-outline": 62162,
  "finger-print-sharp": 62163,
  "fitness": 62164,
  "fitness-outline": 62165,
  "fitness-sharp": 62166,
  "flag": 62167,
  "flag-outline": 62168,
  "flag-sharp": 62169,
  "flame": 62170,
  "flame-outline": 62171,
  "flame-sharp": 62172,
  "flash": 62173,
  "flash-off": 62174,
  "flash-off-outline": 62175,
  "flash-off-sharp": 62176,
  "flash-outline": 62177,
  "flash-sharp": 62178,
  "flashlight": 62179,
  "flashlight-outline": 62180,
  "flashlight-sharp": 62181,
  "flask": 62182,
  "flask-outline": 62183,
  "flask-sharp": 62184,
  "flower": 62185,
  "flower-outline": 62186,
  "flower-sharp": 62187,
  "folder": 62188,
  "folder-open": 62189,
  "folder-open-outline": 62190,
  "folder-open-sharp": 62191,
  "folder-outline": 62192,
  "folder-sharp": 62193,
  "football": 62194,
  "football-outline": 62195,
  "football-sharp": 62196,
  "funnel": 62197,
  "funnel-outline": 62198,
  "funnel-sharp": 62199,
  "game-controller": 62200,
  "game-controller-outline": 62201,
  "game-controller-sharp": 62202,
  "gift": 62203,
  "gift-outline": 62204,
  "gift-sharp": 62205,
  "git-branch": 62206,
  "git-branch-outline": 62207,
  "git-branch-sharp": 62208,
  "git-commit": 62209,
  "git-commit-outline": 62210,
  "git-commit-sharp": 62211,
  "git-compare": 62212,
  "git-compare-outline": 62213,
  "git-compare-sharp": 62214,
  "git-merge": 62215,
  "git-merge-outline": 62216,
  "git-merge-sharp": 62217,
  "git-network": 62218,
  "git-network-outline": 62219,
  "git-network-sharp": 62220,
  "git-pull-request": 62221,
  "git-pull-request-outline": 62222,
  "git-pull-request-sharp": 62223,
  "glasses": 62224,
  "glasses-outline": 62225,
  "glasses-sharp": 62226,
  "globe": 62227,
  "globe-outline": 62228,
  "globe-sharp": 62229,
  "golf": 62230,
  "golf-outline": 62231,
  "golf-sharp": 62232,
  "grid": 62233,
  "grid-outline": 62234,
  "grid-sharp": 62235,
  "hammer": 62236,
  "hammer-outline": 62237,
  "hammer-sharp": 62238,
  "hand-left": 62239,
  "hand-left-outline": 62240,
  "hand-left-sharp": 62241,
  "hand-right": 62242,
  "hand-right-outline": 62243,
  "hand-right-sharp": 62244,
  "happy": 62245,
  "happy-outline": 62246,
  "happy-sharp": 62247,
  "hardware-chip": 62248,
  "hardware-chip-outline": 62249,
  "hardware-chip-sharp": 62250,
  "headset": 62251,
  "headset-outline": 62252,
  "headset-sharp": 62253,
  "heart": 62254,
  "heart-circle": 62255,
  "heart-circle-outline": 62256,
  "heart-circle-sharp": 62257,
  "heart-dislike": 62258,
  "heart-dislike-circle": 62259,
  "heart-dislike-circle-outline": 62260,
  "heart-dislike-circle-sharp": 62261,
  "heart-dislike-outline": 62262,
  "heart-dislike-sharp": 62263,
  "heart-half": 62264,
  "heart-half-outline": 62265,
  "heart-half-sharp": 62266,
  "heart-outline": 62267,
  "heart-sharp": 62268,
  "help": 62269,
  "help-buoy": 62270,
  "help-buoy-outline": 62271,
  "help-buoy-sharp": 62272,
  "help-circle": 62273,
  "help-circle-outline": 62274,
  "help-circle-sharp": 62275,
  "help-outline": 62276,
  "help-sharp": 62277,
  "home": 62278,
  "home-outline": 62279,
  "home-sharp": 62280,
  "hourglass": 62281,
  "hourglass-outline": 62282,
  "hourglass-sharp": 62283,
  "ice-cream": 62284,
  "ice-cream-outline": 62285,
  "ice-cream-sharp": 62286,
  "image": 62287,
  "image-outline": 62288,
  "image-sharp": 62289,
  "images": 62290,
  "images-outline": 62291,
  "images-sharp": 62292,
  "infinite": 62293,
  "infinite-outline": 62294,
  "infinite-sharp": 62295,
  "information": 62296,
  "information-circle": 62297,
  "information-circle-outline": 62298,
  "information-circle-sharp": 62299,
  "information-outline": 62300,
  "information-sharp": 62301,
  "journal": 62302,
  "journal-outline": 62303,
  "journal-sharp": 62304,
  "key": 62305,
  "key-outline": 62306,
  "key-sharp": 62307,
  "keypad": 62308,
  "keypad-outline": 62309,
  "keypad-sharp": 62310,
  "language": 62311,
  "language-outline": 62312,
  "language-sharp": 62313,
  "laptop": 62314,
  "laptop-outline": 62315,
  "laptop-sharp": 62316,
  "layers": 62317,
  "layers-outline": 62318,
  "layers-sharp": 62319,
  "leaf": 62320,
  "leaf-outline": 62321,
  "leaf-sharp": 62322,
  "library": 62323,
  "library-outline": 62324,
  "library-sharp": 62325,
  "link": 62326,
  "link-outline": 62327,
  "link-sharp": 62328,
  "list": 62329,
  "list-circle": 62330,
  "list-circle-outline": 62331,
  "list-circle-sharp": 62332,
  "list-outline": 62333,
  "list-sharp": 62334,
  "locate": 62335,
  "locate-outline": 62336,
  "locate-sharp": 62337,
  "location": 62338,
  "location-outline": 62339,
  "location-sharp": 62340,
  "lock-closed": 62341,
  "lock-closed-outline": 62342,
  "lock-closed-sharp": 62343,
  "lock-open": 62344,
  "lock-open-outline": 62345,
  "lock-open-sharp": 62346,
  "log-in": 62347,
  "log-in-outline": 62348,
  "log-in-sharp": 62349,
  "log-out": 62350,
  "log-out-outline": 62351,
  "log-out-sharp": 62352,
  "logo-amazon": 62353,
  "logo-amplify": 62354,
  "logo-android": 62355,
  "logo-angular": 62356,
  "logo-apple": 62357,
  "logo-apple-appstore": 62358,
  "logo-bitbucket": 62359,
  "logo-bitcoin": 62360,
  "logo-buffer": 62361,
  "logo-capacitor": 62362,
  "logo-chrome": 62363,
  "logo-closed-captioning": 62364,
  "logo-codepen": 62365,
  "logo-css3": 62366,
  "logo-designernews": 62367,
  "logo-dribbble": 62368,
  "logo-dropbox": 62369,
  "logo-edge": 62370,
  "logo-electron": 62371,
  "logo-euro": 62372,
  "logo-facebook": 62373,
  "logo-firebase": 62374,
  "logo-firefox": 62375,
  "logo-flickr": 62376,
  "logo-foursquare": 62377,
  "logo-github": 62378,
  "logo-google": 62379,
  "logo-google-playstore": 62380,
  "logo-hackernews": 62381,
  "logo-html5": 62382,
  "logo-instagram": 62383,
  "logo-ionic": 62384,
  "logo-ionitron": 62385,
  "logo-javascript": 62386,
  "logo-laravel": 62387,
  "logo-linkedin": 62388,
  "logo-markdown": 62389,
  "logo-no-smoking": 62390,
  "logo-nodejs": 62391,
  "logo-npm": 62392,
  "logo-octocat": 62393,
  "logo-pinterest": 62394,
  "logo-playstation": 62395,
  "logo-pwa": 62396,
  "logo-python": 62397,
  "logo-react": 62398,
  "logo-reddit": 62399,
  "logo-rss": 62400,
  "logo-sass": 62401,
  "logo-skype": 62402,
  "logo-slack": 62403,
  "logo-snapchat": 62404,
  "logo-stackoverflow": 62405,
  "logo-steam": 62406,
  "logo-stencil": 62407,
  "logo-tumblr": 62408,
  "logo-tux": 62409,
  "logo-twitch": 62410,
  "logo-twitter": 62411,
  "logo-usd": 62412,
  "logo-vimeo": 62413,
  "logo-vk": 62414,
  "logo-vue": 62415,
  "logo-web-component": 62416,
  "logo-whatsapp": 62417,
  "logo-windows": 62418,
  "logo-wordpress": 62419,
  "logo-xbox": 62420,
  "logo-xing": 62421,
  "logo-yahoo": 62422,
  "logo-yen": 62423,
  "logo-youtube": 62424,
  "magnet": 62425,
  "magnet-outline": 62426,
  "magnet-sharp": 62427,
  "mail": 62428,
  "mail-open": 62429,
  "mail-open-outline": 62430,
  "mail-open-sharp": 62431,
  "mail-outline": 62432,
  "mail-sharp": 62433,
  "mail-unread": 62434,
  "mail-unread-outline": 62435,
  "mail-unread-sharp": 62436,
  "male": 62437,
  "male-female": 62438,
  "male-female-outline": 62439,
  "male-female-sharp": 62440,
  "male-outline": 62441,
  "male-sharp": 62442,
  "man": 62443,
  "man-outline": 62444,
  "man-sharp": 62445,
  "map": 62446,
  "map-outline": 62447,
  "map-sharp": 62448,
  "medal": 62449,
  "medal-outline": 62450,
  "medal-sharp": 62451,
  "medical": 62452,
  "medical-outline": 62453,
  "medical-sharp": 62454,
  "medkit": 62455,
  "medkit-outline": 62456,
  "medkit-sharp": 62457,
  "megaphone": 62458,
  "megaphone-outline": 62459,
  "megaphone-sharp": 62460,
  "menu": 62461,
  "menu-outline": 62462,
  "menu-sharp": 62463,
  "mic": 62464,
  "mic-circle": 62465,
  "mic-circle-outline": 62466,
  "mic-circle-sharp": 62467,
  "mic-off": 62468,
  "mic-off-circle": 62469,
  "mic-off-circle-outline": 62470,
  "mic-off-circle-sharp": 62471,
  "mic-off-outline": 62472,
  "mic-off-sharp": 62473,
  "mic-outline": 62474,
  "mic-sharp": 62475,
  "moon": 62476,
  "moon-outline": 62477,
  "moon-sharp": 62478,
  "move": 62479,
  "move-outline": 62480,
  "move-sharp": 62481,
  "musical-note": 62482,
  "musical-note-outline": 62483,
  "musical-note-sharp": 62484,
  "musical-notes": 62485,
  "musical-notes-outline": 62486,
  "musical-notes-sharp": 62487,
  "navigate": 62488,
  "navigate-circle": 62489,
  "navigate-circle-outline": 62490,
  "navigate-circle-sharp": 62491,
  "navigate-outline": 62492,
  "navigate-sharp": 62493,
  "newspaper": 62494,
  "newspaper-outline": 62495,
  "newspaper-sharp": 62496,
  "notifications": 62497,
  "notifications-circle": 62498,
  "notifications-circle-outline": 62499,
  "notifications-circle-sharp": 62500,
  "notifications-off": 62501,
  "notifications-off-circle": 62502,
  "notifications-off-circle-outline": 62503,
  "notifications-off-circle-sharp": 62504,
  "notifications-off-outline": 62505,
  "notifications-off-sharp": 62506,
  "notifications-outline": 62507,
  "notifications-sharp": 62508,
  "nuclear": 62509,
  "nuclear-outline": 62510,
  "nuclear-sharp": 62511,
  "nutrition": 62512,
  "nutrition-outline": 62513,
  "nutrition-sharp": 62514,
  "open": 62515,
  "open-outline": 62516,
  "open-sharp": 62517,
  "options": 62518,
  "options-outline": 62519,
  "options-sharp": 62520,
  "paper-plane": 62521,
  "paper-plane-outline": 62522,
  "paper-plane-sharp": 62523,
  "partly-sunny": 62524,
  "partly-sunny-outline": 62525,
  "partly-sunny-sharp": 62526,
  "pause": 62527,
  "pause-circle": 62528,
  "pause-circle-outline": 62529,
  "pause-circle-sharp": 62530,
  "pause-outline": 62531,
  "pause-sharp": 62532,
  "paw": 62533,
  "paw-outline": 62534,
  "paw-sharp": 62535,
  "pencil": 62536,
  "pencil-outline": 62537,
  "pencil-sharp": 62538,
  "people": 62539,
  "people-circle": 62540,
  "people-circle-outline": 62541,
  "people-circle-sharp": 62542,
  "people-outline": 62543,
  "people-sharp": 62544,
  "person": 62545,
  "person-add": 62546,
  "person-add-outline": 62547,
  "person-add-sharp": 62548,
  "person-circle": 62549,
  "person-circle-outline": 62550,
  "person-circle-sharp": 62551,
  "person-outline": 62552,
  "person-remove": 62553,
  "person-remove-outline": 62554,
  "person-remove-sharp": 62555,
  "person-sharp": 62556,
  "phone-landscape": 62557,
  "phone-landscape-outline": 62558,
  "phone-landscape-sharp": 62559,
  "phone-portrait": 62560,
  "phone-portrait-outline": 62561,
  "phone-portrait-sharp": 62562,
  "pie-chart": 62563,
  "pie-chart-outline": 62564,
  "pie-chart-sharp": 62565,
  "pin": 62566,
  "pin-outline": 62567,
  "pin-sharp": 62568,
  "pint": 62569,
  "pint-outline": 62570,
  "pint-sharp": 62571,
  "pizza": 62572,
  "pizza-outline": 62573,
  "pizza-sharp": 62574,
  "planet": 62575,
  "planet-outline": 62576,
  "planet-sharp": 62577,
  "play": 62578,
  "play-back": 62579,
  "play-back-circle": 62580,
  "play-back-circle-outline": 62581,
  "play-back-circle-sharp": 62582,
  "play-back-outline": 62583,
  "play-back-sharp": 62584,
  "play-circle": 62585,
  "play-circle-outline": 62586,
  "play-circle-sharp": 62587,
  "play-forward": 62588,
  "play-forward-circle": 62589,
  "play-forward-circle-outline": 62590,
  "play-forward-circle-sharp": 62591,
  "play-forward-outline": 62592,
  "play-forward-sharp": 62593,
  "play-outline": 62594,
  "play-sharp": 62595,
  "play-skip-back": 62596,
  "play-skip-back-circle": 62597,
  "play-skip-back-circle-outline": 62598,
  "play-skip-back-circle-sharp": 62599,
  "play-skip-back-outline": 62600,
  "play-skip-back-sharp": 62601,
  "play-skip-forward": 62602,
  "play-skip-forward-circle": 62603,
  "play-skip-forward-circle-outline": 62604,
  "play-skip-forward-circle-sharp": 62605,
  "play-skip-forward-outline": 62606,
  "play-skip-forward-sharp": 62607,
  "podium": 62608,
  "podium-outline": 62609,
  "podium-sharp": 62610,
  "power": 62611,
  "power-outline": 62612,
  "power-sharp": 62613,
  "pricetag": 62614,
  "pricetag-outline": 62615,
  "pricetag-sharp": 62616,
  "pricetags": 62617,
  "pricetags-outline": 62618,
  "pricetags-sharp": 62619,
  "print": 62620,
  "print-outline": 62621,
  "print-sharp": 62622,
  "pulse": 62623,
  "pulse-outline": 62624,
  "pulse-sharp": 62625,
  "push": 62626,
  "push-outline": 62627,
  "push-sharp": 62628,
  "qr-code": 62629,
  "qr-code-outline": 62630,
  "qr-code-sharp": 62631,
  "radio": 62632,
  "radio-button-off": 62633,
  "radio-button-off-outline": 62634,
  "radio-button-off-sharp": 62635,
  "radio-button-on": 62636,
  "radio-button-on-outline": 62637,
  "radio-button-on-sharp": 62638,
  "radio-outline": 62639,
  "radio-sharp": 62640,
  "rainy": 62641,
  "rainy-outline": 62642,
  "rainy-sharp": 62643,
  "reader": 62644,
  "reader-outline": 62645,
  "reader-sharp": 62646,
  "receipt": 62647,
  "receipt-outline": 62648,
  "receipt-sharp": 62649,
  "recording": 62650,
  "recording-outline": 62651,
  "recording-sharp": 62652,
  "refresh": 62653,
  "refresh-circle": 62654,
  "refresh-circle-outline": 62655,
  "refresh-circle-sharp": 62656,
  "refresh-outline": 62657,
  "refresh-sharp": 62658,
  "reload": 62659,
  "reload-circle": 62660,
  "reload-circle-outline": 62661,
  "reload-circle-sharp": 62662,
  "reload-outline": 62663,
  "reload-sharp": 62664,
  "remove": 62665,
  "remove-circle": 62666,
  "remove-circle-outline": 62667,
  "remove-circle-sharp": 62668,
  "remove-outline": 62669,
  "remove-sharp": 62670,
  "reorder-four": 62671,
  "reorder-four-outline": 62672,
  "reorder-four-sharp": 62673,
  "reorder-three": 62674,
  "reorder-three-outline": 62675,
  "reorder-three-sharp": 62676,
  "reorder-two": 62677,
  "reorder-two-outline": 62678,
  "reorder-two-sharp": 62679,
  "repeat": 62680,
  "repeat-outline": 62681,
  "repeat-sharp": 62682,
  "resize": 62683,
  "resize-outline": 62684,
  "resize-sharp": 62685,
  "restaurant": 62686,
  "restaurant-outline": 62687,
  "restaurant-sharp": 62688,
  "return-down-back": 62689,
  "return-down-back-outline": 62690,
  "return-down-back-sharp": 62691,
  "return-down-forward": 62692,
  "return-down-forward-outline": 62693,
  "return-down-forward-sharp": 62694,
  "return-up-back": 62695,
  "return-up-back-outline": 62696,
  "return-up-back-sharp": 62697,
  "return-up-forward": 62698,
  "return-up-forward-outline": 62699,
  "return-up-forward-sharp": 62700,
  "ribbon": 62701,
  "ribbon-outline": 62702,
  "ribbon-sharp": 62703,
  "rocket": 62704,
  "rocket-outline": 62705,
  "rocket-sharp": 62706,
  "rose": 62707,
  "rose-outline": 62708,
  "rose-sharp": 62709,
  "sad": 62710,
  "sad-outline": 62711,
  "sad-sharp": 62712,
  "save": 62713,
  "save-outline": 62714,
  "save-sharp": 62715,
  "scan": 62716,
  "scan-circle": 62717,
  "scan-circle-outline": 62718,
  "scan-circle-sharp": 62719,
  "scan-outline": 62720,
  "scan-sharp": 62721,
  "school": 62722,
  "school-outline": 62723,
  "school-sharp": 62724,
  "search": 62725,
  "search-circle": 62726,
  "search-circle-outline": 62727,
  "search-circle-sharp": 62728,
  "search-outline": 62729,
  "search-sharp": 62730,
  "send": 62731,
  "send-outline": 62732,
  "send-sharp": 62733,
  "server": 62734,
  "server-outline": 62735,
  "server-sharp": 62736,
  "settings": 62737,
  "settings-outline": 62738,
  "settings-sharp": 62739,
  "shapes": 62740,
  "shapes-outline": 62741,
  "shapes-sharp": 62742,
  "share": 62743,
  "share-outline": 62744,
  "share-sharp": 62745,
  "share-social": 62746,
  "share-social-outline": 62747,
  "share-social-sharp": 62748,
  "shield": 62749,
  "shield-checkmark": 62750,
  "shield-checkmark-outline": 62751,
  "shield-checkmark-sharp": 62752,
  "shield-outline": 62753,
  "shield-sharp": 62754,
  "shirt": 62755,
  "shirt-outline": 62756,
  "shirt-sharp": 62757,
  "shuffle": 62758,
  "shuffle-outline": 62759,
  "shuffle-sharp": 62760,
  "skull": 62761,
  "skull-outline": 62762,
  "skull-sharp": 62763,
  "snow": 62764,
  "snow-outline": 62765,
  "snow-sharp": 62766,
  "speedometer": 62767,
  "speedometer-outline": 62768,
  "speedometer-sharp": 62769,
  "square": 62770,
  "square-outline": 62771,
  "square-sharp": 62772,
  "star": 62773,
  "star-half": 62774,
  "star-half-outline": 62775,
  "star-half-sharp": 62776,
  "star-outline": 62777,
  "star-sharp": 62778,
  "stats-chart": 62779,
  "stats-chart-outline": 62780,
  "stats-chart-sharp": 62781,
  "stop": 62782,
  "stop-circle": 62783,
  "stop-circle-outline": 62784,
  "stop-circle-sharp": 62785,
  "stop-outline": 62786,
  "stop-sharp": 62787,
  "stopwatch": 62788,
  "stopwatch-outline": 62789,
  "stopwatch-sharp": 62790,
  "subway": 62791,
  "subway-outline": 62792,
  "subway-sharp": 62793,
  "sunny": 62794,
  "sunny-outline": 62795,
  "sunny-sharp": 62796,
  "swap-horizontal": 62797,
  "swap-horizontal-outline": 62798,
  "swap-horizontal-sharp": 62799,
  "swap-vertical": 62800,
  "swap-vertical-outline": 62801,
  "swap-vertical-sharp": 62802,
  "sync": 62803,
  "sync-circle": 62804,
  "sync-circle-outline": 62805,
  "sync-circle-sharp": 62806,
  "sync-outline": 62807,
  "sync-sharp": 62808,
  "tablet-landscape": 62809,
  "tablet-landscape-outline": 62810,
  "tablet-landscape-sharp": 62811,
  "tablet-portrait": 62812,
  "tablet-portrait-outline": 62813,
  "tablet-portrait-sharp": 62814,
  "tennisball": 62815,
  "tennisball-outline": 62816,
  "tennisball-sharp": 62817,
  "terminal": 62818,
  "terminal-outline": 62819,
  "terminal-sharp": 62820,
  "text": 62821,
  "text-outline": 62822,
  "text-sharp": 62823,
  "thermometer": 62824,
  "thermometer-outline": 62825,
  "thermometer-sharp": 62826,
  "thumbs-down": 62827,
  "thumbs-down-outline": 62828,
  "thumbs-down-sharp": 62829,
  "thumbs-up": 62830,
  "thumbs-up-outline": 62831,
  "thumbs-up-sharp": 62832,
  "thunderstorm": 62833,
  "thunderstorm-outline": 62834,
  "thunderstorm-sharp": 62835,
  "time": 62836,
  "time-outline": 62837,
  "time-sharp": 62838,
  "timer": 62839,
  "timer-outline": 62840,
  "timer-sharp": 62841,
  "today": 62842,
  "today-outline": 62843,
  "today-sharp": 62844,
  "toggle": 62845,
  "toggle-outline": 62846,
  "toggle-sharp": 62847,
  "trail-sign": 62848,
  "trail-sign-outline": 62849,
  "trail-sign-sharp": 62850,
  "train": 62851,
  "train-outline": 62852,
  "train-sharp": 62853,
  "transgender": 62854,
  "transgender-outline": 62855,
  "transgender-sharp": 62856,
  "trash": 62857,
  "trash-bin": 62858,
  "trash-bin-outline": 62859,
  "trash-bin-sharp": 62860,
  "trash-outline": 62861,
  "trash-sharp": 62862,
  "trending-down": 62863,
  "trending-down-outline": 62864,
  "trending-down-sharp": 62865,
  "trending-up": 62866,
  "trending-up-outline": 62867,
  "trending-up-sharp": 62868,
  "triangle": 62869,
  "triangle-outline": 62870,
  "triangle-sharp": 62871,
  "trophy": 62872,
  "trophy-outline": 62873,
  "trophy-sharp": 62874,
  "tv": 62875,
  "tv-outline": 62876,
  "tv-sharp": 62877,
  "umbrella": 62878,
  "umbrella-outline": 62879,
  "umbrella-sharp": 62880,
  "videocam": 62881,
  "videocam-outline": 62882,
  "videocam-sharp": 62883,
  "volume-high": 62884,
  "volume-high-outline": 62885,
  "volume-high-sharp": 62886,
  "volume-low": 62887,
  "volume-low-outline": 62888,
  "volume-low-sharp": 62889,
  "volume-medium": 62890,
  "volume-medium-outline": 62891,
  "volume-medium-sharp": 62892,
  "volume-mute": 62893,
  "volume-mute-outline": 62894,
  "volume-mute-sharp": 62895,
  "volume-off": 62896,
  "volume-off-outline": 62897,
  "volume-off-sharp": 62898,
  "walk": 62899,
  "walk-outline": 62900,
  "walk-sharp": 62901,
  "wallet": 62902,
  "wallet-outline": 62903,
  "wallet-sharp": 62904,
  "warning": 62905,
  "warning-outline": 62906,
  "warning-sharp": 62907,
  "watch": 62908,
  "watch-outline": 62909,
  "watch-sharp": 62910,
  "water": 62911,
  "water-outline": 62912,
  "water-sharp": 62913,
  "wifi": 62914,
  "wifi-outline": 62915,
  "wifi-sharp": 62916,
  "wine": 62917,
  "wine-outline": 62918,
  "wine-sharp": 62919,
  "woman": 62920,
  "woman-outline": 62921,
  "woman-sharp": 62922,
  "ios-add": 61696,
  "ios-add-circle": 61697,
  "ios-add-circle-outline": 61698,
  "ios-add-circle-sharp": 61699,
  "ios-add-outline": 61700,
  "ios-add-sharp": 61701,
  "ios-airplane": 61702,
  "ios-airplane-outline": 61703,
  "ios-airplane-sharp": 61704,
  "ios-alarm": 61705,
  "ios-alarm-outline": 61706,
  "ios-alarm-sharp": 61707,
  "ios-albums": 61708,
  "ios-albums-outline": 61709,
  "ios-albums-sharp": 61710,
  "ios-alert": 61711,
  "ios-alert-circle": 61712,
  "ios-alert-circle-outline": 61713,
  "ios-alert-circle-sharp": 61714,
  "ios-alert-outline": 61715,
  "ios-alert-sharp": 61716,
  "ios-american-football": 61717,
  "ios-american-football-outline": 61718,
  "ios-american-football-sharp": 61719,
  "ios-analytics": 61720,
  "ios-analytics-outline": 61721,
  "ios-analytics-sharp": 61722,
  "ios-aperture": 61723,
  "ios-aperture-outline": 61724,
  "ios-aperture-sharp": 61725,
  "ios-apps": 61726,
  "ios-apps-outline": 61727,
  "ios-apps-sharp": 61728,
  "ios-archive": 61729,
  "ios-archive-outline": 61730,
  "ios-archive-sharp": 61731,
  "ios-arrow-back": 61732,
  "ios-arrow-back-circle": 61733,
  "ios-arrow-back-circle-outline": 61734,
  "ios-arrow-back-circle-sharp": 61735,
  "ios-arrow-back-outline": 61736,
  "ios-arrow-back-sharp": 61737,
  "ios-arrow-down": 61738,
  "ios-arrow-down-circle": 61739,
  "ios-arrow-down-circle-outline": 61740,
  "ios-arrow-down-circle-sharp": 61741,
  "ios-arrow-down-outline": 61742,
  "ios-arrow-down-sharp": 61743,
  "ios-arrow-forward": 61744,
  "ios-arrow-forward-circle": 61745,
  "ios-arrow-forward-circle-outline": 61746,
  "ios-arrow-forward-circle-sharp": 61747,
  "ios-arrow-forward-outline": 61748,
  "ios-arrow-forward-sharp": 61749,
  "ios-arrow-redo": 61750,
  "ios-arrow-redo-circle": 61751,
  "ios-arrow-redo-circle-outline": 61752,
  "ios-arrow-redo-circle-sharp": 61753,
  "ios-arrow-redo-outline": 61754,
  "ios-arrow-redo-sharp": 61755,
  "ios-arrow-undo": 61756,
  "ios-arrow-undo-circle": 61757,
  "ios-arrow-undo-circle-outline": 61758,
  "ios-arrow-undo-circle-sharp": 61759,
  "ios-arrow-undo-outline": 61760,
  "ios-arrow-undo-sharp": 61761,
  "ios-arrow-up": 61762,
  "ios-arrow-up-circle": 61763,
  "ios-arrow-up-circle-outline": 61764,
  "ios-arrow-up-circle-sharp": 61765,
  "ios-arrow-up-outline": 61766,
  "ios-arrow-up-sharp": 61767,
  "ios-at": 61768,
  "ios-at-circle": 61769,
  "ios-at-circle-outline": 61770,
  "ios-at-circle-sharp": 61771,
  "ios-at-outline": 61772,
  "ios-at-sharp": 61773,
  "ios-attach": 61774,
  "ios-attach-outline": 61775,
  "ios-attach-sharp": 61776,
  "ios-backspace": 61777,
  "ios-backspace-outline": 61778,
  "ios-backspace-sharp": 61779,
  "ios-bandage": 61780,
  "ios-bandage-outline": 61781,
  "ios-bandage-sharp": 61782,
  "ios-bar-chart": 61783,
  "ios-bar-chart-outline": 61784,
  "ios-bar-chart-sharp": 61785,
  "ios-barbell": 61786,
  "ios-barbell-outline": 61787,
  "ios-barbell-sharp": 61788,
  "ios-barcode": 61789,
  "ios-barcode-outline": 61790,
  "ios-barcode-sharp": 61791,
  "ios-baseball": 61792,
  "ios-baseball-outline": 61793,
  "ios-baseball-sharp": 61794,
  "ios-basket": 61795,
  "ios-basket-outline": 61796,
  "ios-basket-sharp": 61797,
  "ios-basketball": 61798,
  "ios-basketball-outline": 61799,
  "ios-basketball-sharp": 61800,
  "ios-battery-charging": 61801,
  "ios-battery-charging-outline": 61802,
  "ios-battery-charging-sharp": 61803,
  "ios-battery-dead": 61804,
  "ios-battery-dead-outline": 61805,
  "ios-battery-dead-sharp": 61806,
  "ios-battery-full": 61807,
  "ios-battery-full-outline": 61808,
  "ios-battery-full-sharp": 61809,
  "ios-battery-half": 61810,
  "ios-battery-half-outline": 61811,
  "ios-battery-half-sharp": 61812,
  "ios-beaker": 61813,
  "ios-beaker-outline": 61814,
  "ios-beaker-sharp": 61815,
  "ios-bed": 61816,
  "ios-bed-outline": 61817,
  "ios-bed-sharp": 61818,
  "ios-beer": 61819,
  "ios-beer-outline": 61820,
  "ios-beer-sharp": 61821,
  "ios-bicycle": 61822,
  "ios-bicycle-outline": 61823,
  "ios-bicycle-sharp": 61824,
  "ios-bluetooth": 61825,
  "ios-bluetooth-outline": 61826,
  "ios-bluetooth-sharp": 61827,
  "ios-boat": 61828,
  "ios-boat-outline": 61829,
  "ios-boat-sharp": 61830,
  "ios-body": 61831,
  "ios-body-outline": 61832,
  "ios-body-sharp": 61833,
  "ios-bonfire": 61834,
  "ios-bonfire-outline": 61835,
  "ios-bonfire-sharp": 61836,
  "ios-book": 61837,
  "ios-book-outline": 61838,
  "ios-book-sharp": 61839,
  "ios-bookmark": 61840,
  "ios-bookmark-outline": 61841,
  "ios-bookmark-sharp": 61842,
  "ios-bookmarks": 61843,
  "ios-bookmarks-outline": 61844,
  "ios-bookmarks-sharp": 61845,
  "ios-briefcase": 61846,
  "ios-briefcase-outline": 61847,
  "ios-briefcase-sharp": 61848,
  "ios-browsers": 61849,
  "ios-browsers-outline": 61850,
  "ios-browsers-sharp": 61851,
  "ios-brush": 61852,
  "ios-brush-outline": 61853,
  "ios-brush-sharp": 61854,
  "ios-bug": 61855,
  "ios-bug-outline": 61856,
  "ios-bug-sharp": 61857,
  "ios-build": 61858,
  "ios-build-outline": 61859,
  "ios-build-sharp": 61860,
  "ios-bulb": 61861,
  "ios-bulb-outline": 61862,
  "ios-bulb-sharp": 61863,
  "ios-bus": 61864,
  "ios-bus-outline": 61865,
  "ios-bus-sharp": 61866,
  "ios-business": 61867,
  "ios-business-outline": 61868,
  "ios-business-sharp": 61869,
  "ios-cafe": 61870,
  "ios-cafe-outline": 61871,
  "ios-cafe-sharp": 61872,
  "ios-calculator": 61873,
  "ios-calculator-outline": 61874,
  "ios-calculator-sharp": 61875,
  "ios-calendar": 61876,
  "ios-calendar-outline": 61877,
  "ios-calendar-sharp": 61878,
  "ios-call": 61879,
  "ios-call-outline": 61880,
  "ios-call-sharp": 61881,
  "ios-camera": 61882,
  "ios-camera-outline": 61883,
  "ios-camera-reverse": 61884,
  "ios-camera-reverse-outline": 61885,
  "ios-camera-reverse-sharp": 61886,
  "ios-camera-sharp": 61887,
  "ios-car": 61888,
  "ios-car-outline": 61889,
  "ios-car-sharp": 61890,
  "ios-car-sport": 61891,
  "ios-car-sport-outline": 61892,
  "ios-car-sport-sharp": 61893,
  "ios-card": 61894,
  "ios-card-outline": 61895,
  "ios-card-sharp": 61896,
  "ios-caret-back": 61897,
  "ios-caret-back-circle": 61898,
  "ios-caret-back-circle-outline": 61899,
  "ios-caret-back-circle-sharp": 61900,
  "ios-caret-back-outline": 61901,
  "ios-caret-back-sharp": 61902,
  "ios-caret-down": 61903,
  "ios-caret-down-circle": 61904,
  "ios-caret-down-circle-outline": 61905,
  "ios-caret-down-circle-sharp": 61906,
  "ios-caret-down-outline": 61907,
  "ios-caret-down-sharp": 61908,
  "ios-caret-forward": 61909,
  "ios-caret-forward-circle": 61910,
  "ios-caret-forward-circle-outline": 61911,
  "ios-caret-forward-circle-sharp": 61912,
  "ios-caret-forward-outline": 61913,
  "ios-caret-forward-sharp": 61914,
  "ios-caret-up": 61915,
  "ios-caret-up-circle": 61916,
  "ios-caret-up-circle-outline": 61917,
  "ios-caret-up-circle-sharp": 61918,
  "ios-caret-up-outline": 61919,
  "ios-caret-up-sharp": 61920,
  "ios-cart": 61921,
  "ios-cart-outline": 61922,
  "ios-cart-sharp": 61923,
  "ios-cash": 61924,
  "ios-cash-outline": 61925,
  "ios-cash-sharp": 61926,
  "ios-cellular": 61927,
  "ios-cellular-outline": 61928,
  "ios-cellular-sharp": 61929,
  "ios-chatbox": 61930,
  "ios-chatbox-ellipses": 61931,
  "ios-chatbox-ellipses-outline": 61932,
  "ios-chatbox-ellipses-sharp": 61933,
  "ios-chatbox-outline": 61934,
  "ios-chatbox-sharp": 61935,
  "ios-chatbubble": 61936,
  "ios-chatbubble-ellipses": 61937,
  "ios-chatbubble-ellipses-outline": 61938,
  "ios-chatbubble-ellipses-sharp": 61939,
  "ios-chatbubble-outline": 61940,
  "ios-chatbubble-sharp": 61941,
  "ios-chatbubbles": 61942,
  "ios-chatbubbles-outline": 61943,
  "ios-chatbubbles-sharp": 61944,
  "ios-checkbox": 61945,
  "ios-checkbox-outline": 61946,
  "ios-checkbox-sharp": 61947,
  "ios-checkmark": 61948,
  "ios-checkmark-circle": 61949,
  "ios-checkmark-circle-outline": 61950,
  "ios-checkmark-circle-sharp": 61951,
  "ios-checkmark-done": 61952,
  "ios-checkmark-done-circle": 61953,
  "ios-checkmark-done-circle-outline": 61954,
  "ios-checkmark-done-circle-sharp": 61955,
  "ios-checkmark-done-outline": 61956,
  "ios-checkmark-done-sharp": 61957,
  "ios-checkmark-outline": 61958,
  "ios-checkmark-sharp": 61959,
  "ios-chevron-back": 61960,
  "ios-chevron-back-circle": 61961,
  "ios-chevron-back-circle-outline": 61962,
  "ios-chevron-back-circle-sharp": 61963,
  "ios-chevron-back-outline": 61964,
  "ios-chevron-back-sharp": 61965,
  "ios-chevron-down": 61966,
  "ios-chevron-down-circle": 61967,
  "ios-chevron-down-circle-outline": 61968,
  "ios-chevron-down-circle-sharp": 61969,
  "ios-chevron-down-outline": 61970,
  "ios-chevron-down-sharp": 61971,
  "ios-chevron-forward": 61972,
  "ios-chevron-forward-circle": 61973,
  "ios-chevron-forward-circle-outline": 61974,
  "ios-chevron-forward-circle-sharp": 61975,
  "ios-chevron-forward-outline": 61976,
  "ios-chevron-forward-sharp": 61977,
  "ios-chevron-up": 61978,
  "ios-chevron-up-circle": 61979,
  "ios-chevron-up-circle-outline": 61980,
  "ios-chevron-up-circle-sharp": 61981,
  "ios-chevron-up-outline": 61982,
  "ios-chevron-up-sharp": 61983,
  "ios-clipboard": 61984,
  "ios-clipboard-outline": 61985,
  "ios-clipboard-sharp": 61986,
  "ios-close": 61987,
  "ios-close-circle": 61988,
  "ios-close-circle-outline": 61989,
  "ios-close-circle-sharp": 61990,
  "ios-close-outline": 61991,
  "ios-close-sharp": 61992,
  "ios-cloud": 61993,
  "ios-cloud-circle": 61994,
  "ios-cloud-circle-outline": 61995,
  "ios-cloud-circle-sharp": 61996,
  "ios-cloud-done": 61997,
  "ios-cloud-done-outline": 61998,
  "ios-cloud-done-sharp": 61999,
  "ios-cloud-download": 62000,
  "ios-cloud-download-outline": 62001,
  "ios-cloud-download-sharp": 62002,
  "ios-cloud-offline": 62003,
  "ios-cloud-offline-outline": 62004,
  "ios-cloud-offline-sharp": 62005,
  "ios-cloud-outline": 62006,
  "ios-cloud-sharp": 62007,
  "ios-cloud-upload": 62008,
  "ios-cloud-upload-outline": 62009,
  "ios-cloud-upload-sharp": 62010,
  "ios-cloudy": 62011,
  "ios-cloudy-night": 62012,
  "ios-cloudy-night-outline": 62013,
  "ios-cloudy-night-sharp": 62014,
  "ios-cloudy-outline": 62015,
  "ios-cloudy-sharp": 62016,
  "ios-code": 62017,
  "ios-code-download": 62018,
  "ios-code-download-outline": 62019,
  "ios-code-download-sharp": 62020,
  "ios-code-outline": 62021,
  "ios-code-sharp": 62022,
  "ios-code-slash": 62023,
  "ios-code-slash-outline": 62024,
  "ios-code-slash-sharp": 62025,
  "ios-code-working": 62026,
  "ios-code-working-outline": 62027,
  "ios-code-working-sharp": 62028,
  "ios-cog": 62029,
  "ios-cog-outline": 62030,
  "ios-cog-sharp": 62031,
  "ios-color-fill": 62032,
  "ios-color-fill-outline": 62033,
  "ios-color-fill-sharp": 62034,
  "ios-color-filter": 62035,
  "ios-color-filter-outline": 62036,
  "ios-color-filter-sharp": 62037,
  "ios-color-palette": 62038,
  "ios-color-palette-outline": 62039,
  "ios-color-palette-sharp": 62040,
  "ios-color-wand": 62041,
  "ios-color-wand-outline": 62042,
  "ios-color-wand-sharp": 62043,
  "ios-compass": 62044,
  "ios-compass-outline": 62045,
  "ios-compass-sharp": 62046,
  "ios-construct": 62047,
  "ios-construct-outline": 62048,
  "ios-construct-sharp": 62049,
  "ios-contract": 62050,
  "ios-contract-outline": 62051,
  "ios-contract-sharp": 62052,
  "ios-contrast": 62053,
  "ios-contrast-outline": 62054,
  "ios-contrast-sharp": 62055,
  "ios-copy": 62056,
  "ios-copy-outline": 62057,
  "ios-copy-sharp": 62058,
  "ios-create": 62059,
  "ios-create-outline": 62060,
  "ios-create-sharp": 62061,
  "ios-crop": 62062,
  "ios-crop-outline": 62063,
  "ios-crop-sharp": 62064,
  "ios-cube": 62065,
  "ios-cube-outline": 62066,
  "ios-cube-sharp": 62067,
  "ios-cut": 62068,
  "ios-cut-outline": 62069,
  "ios-cut-sharp": 62070,
  "ios-desktop": 62071,
  "ios-desktop-outline": 62072,
  "ios-desktop-sharp": 62073,
  "ios-disc": 62074,
  "ios-disc-outline": 62075,
  "ios-disc-sharp": 62076,
  "ios-document": 62077,
  "ios-document-attach": 62078,
  "ios-document-attach-outline": 62079,
  "ios-document-attach-sharp": 62080,
  "ios-document-outline": 62081,
  "ios-document-sharp": 62082,
  "ios-document-text": 62083,
  "ios-document-text-outline": 62084,
  "ios-document-text-sharp": 62085,
  "ios-documents": 62086,
  "ios-documents-outline": 62087,
  "ios-documents-sharp": 62088,
  "ios-download": 62089,
  "ios-download-outline": 62090,
  "ios-download-sharp": 62091,
  "ios-duplicate": 62092,
  "ios-duplicate-outline": 62093,
  "ios-duplicate-sharp": 62094,
  "ios-ear": 62095,
  "ios-ear-outline": 62096,
  "ios-ear-sharp": 62097,
  "ios-earth": 62098,
  "ios-earth-outline": 62099,
  "ios-earth-sharp": 62100,
  "ios-easel": 62101,
  "ios-easel-outline": 62102,
  "ios-easel-sharp": 62103,
  "ios-egg": 62104,
  "ios-egg-outline": 62105,
  "ios-egg-sharp": 62106,
  "ios-ellipse": 62107,
  "ios-ellipse-outline": 62108,
  "ios-ellipse-sharp": 62109,
  "ios-ellipsis-horizontal": 62110,
  "ios-ellipsis-horizontal-circle": 62111,
  "ios-ellipsis-horizontal-circle-outline": 62112,
  "ios-ellipsis-horizontal-circle-sharp": 62113,
  "ios-ellipsis-horizontal-outline": 62114,
  "ios-ellipsis-horizontal-sharp": 62115,
  "ios-ellipsis-vertical": 62116,
  "ios-ellipsis-vertical-circle": 62117,
  "ios-ellipsis-vertical-circle-outline": 62118,
  "ios-ellipsis-vertical-circle-sharp": 62119,
  "ios-ellipsis-vertical-outline": 62120,
  "ios-ellipsis-vertical-sharp": 62121,
  "ios-enter": 62122,
  "ios-enter-outline": 62123,
  "ios-enter-sharp": 62124,
  "ios-exit": 62125,
  "ios-exit-outline": 62126,
  "ios-exit-sharp": 62127,
  "ios-expand": 62128,
  "ios-expand-outline": 62129,
  "ios-expand-sharp": 62130,
  "ios-eye": 62131,
  "ios-eye-off": 62132,
  "ios-eye-off-outline": 62133,
  "ios-eye-off-sharp": 62134,
  "ios-eye-outline": 62135,
  "ios-eye-sharp": 62136,
  "ios-eyedrop": 62137,
  "ios-eyedrop-outline": 62138,
  "ios-eyedrop-sharp": 62139,
  "ios-fast-food": 62140,
  "ios-fast-food-outline": 62141,
  "ios-fast-food-sharp": 62142,
  "ios-female": 62143,
  "ios-female-outline": 62144,
  "ios-female-sharp": 62145,
  "ios-file-tray": 62146,
  "ios-file-tray-full": 62147,
  "ios-file-tray-full-outline": 62148,
  "ios-file-tray-full-sharp": 62149,
  "ios-file-tray-outline": 62150,
  "ios-file-tray-sharp": 62151,
  "ios-file-tray-stacked": 62152,
  "ios-file-tray-stacked-outline": 62153,
  "ios-file-tray-stacked-sharp": 62154,
  "ios-film": 62155,
  "ios-film-outline": 62156,
  "ios-film-sharp": 62157,
  "ios-filter": 62158,
  "ios-filter-outline": 62159,
  "ios-filter-sharp": 62160,
  "ios-finger-print": 62161,
  "ios-finger-print-outline": 62162,
  "ios-finger-print-sharp": 62163,
  "ios-fitness": 62164,
  "ios-fitness-outline": 62165,
  "ios-fitness-sharp": 62166,
  "ios-flag": 62167,
  "ios-flag-outline": 62168,
  "ios-flag-sharp": 62169,
  "ios-flame": 62170,
  "ios-flame-outline": 62171,
  "ios-flame-sharp": 62172,
  "ios-flash": 62173,
  "ios-flash-off": 62174,
  "ios-flash-off-outline": 62175,
  "ios-flash-off-sharp": 62176,
  "ios-flash-outline": 62177,
  "ios-flash-sharp": 62178,
  "ios-flashlight": 62179,
  "ios-flashlight-outline": 62180,
  "ios-flashlight-sharp": 62181,
  "ios-flask": 62182,
  "ios-flask-outline": 62183,
  "ios-flask-sharp": 62184,
  "ios-flower": 62185,
  "ios-flower-outline": 62186,
  "ios-flower-sharp": 62187,
  "ios-folder": 62188,
  "ios-folder-open": 62189,
  "ios-folder-open-outline": 62190,
  "ios-folder-open-sharp": 62191,
  "ios-folder-outline": 62192,
  "ios-folder-sharp": 62193,
  "ios-football": 62194,
  "ios-football-outline": 62195,
  "ios-football-sharp": 62196,
  "ios-funnel": 62197,
  "ios-funnel-outline": 62198,
  "ios-funnel-sharp": 62199,
  "ios-game-controller": 62200,
  "ios-game-controller-outline": 62201,
  "ios-game-controller-sharp": 62202,
  "ios-gift": 62203,
  "ios-gift-outline": 62204,
  "ios-gift-sharp": 62205,
  "ios-git-branch": 62206,
  "ios-git-branch-outline": 62207,
  "ios-git-branch-sharp": 62208,
  "ios-git-commit": 62209,
  "ios-git-commit-outline": 62210,
  "ios-git-commit-sharp": 62211,
  "ios-git-compare": 62212,
  "ios-git-compare-outline": 62213,
  "ios-git-compare-sharp": 62214,
  "ios-git-merge": 62215,
  "ios-git-merge-outline": 62216,
  "ios-git-merge-sharp": 62217,
  "ios-git-network": 62218,
  "ios-git-network-outline": 62219,
  "ios-git-network-sharp": 62220,
  "ios-git-pull-request": 62221,
  "ios-git-pull-request-outline": 62222,
  "ios-git-pull-request-sharp": 62223,
  "ios-glasses": 62224,
  "ios-glasses-outline": 62225,
  "ios-glasses-sharp": 62226,
  "ios-globe": 62227,
  "ios-globe-outline": 62228,
  "ios-globe-sharp": 62229,
  "ios-golf": 62230,
  "ios-golf-outline": 62231,
  "ios-golf-sharp": 62232,
  "ios-grid": 62233,
  "ios-grid-outline": 62234,
  "ios-grid-sharp": 62235,
  "ios-hammer": 62236,
  "ios-hammer-outline": 62237,
  "ios-hammer-sharp": 62238,
  "ios-hand-left": 62239,
  "ios-hand-left-outline": 62240,
  "ios-hand-left-sharp": 62241,
  "ios-hand-right": 62242,
  "ios-hand-right-outline": 62243,
  "ios-hand-right-sharp": 62244,
  "ios-happy": 62245,
  "ios-happy-outline": 62246,
  "ios-happy-sharp": 62247,
  "ios-hardware-chip": 62248,
  "ios-hardware-chip-outline": 62249,
  "ios-hardware-chip-sharp": 62250,
  "ios-headset": 62251,
  "ios-headset-outline": 62252,
  "ios-headset-sharp": 62253,
  "ios-heart": 62254,
  "ios-heart-circle": 62255,
  "ios-heart-circle-outline": 62256,
  "ios-heart-circle-sharp": 62257,
  "ios-heart-dislike": 62258,
  "ios-heart-dislike-circle": 62259,
  "ios-heart-dislike-circle-outline": 62260,
  "ios-heart-dislike-circle-sharp": 62261,
  "ios-heart-dislike-outline": 62262,
  "ios-heart-dislike-sharp": 62263,
  "ios-heart-half": 62264,
  "ios-heart-half-outline": 62265,
  "ios-heart-half-sharp": 62266,
  "ios-heart-outline": 62267,
  "ios-heart-sharp": 62268,
  "ios-help": 62269,
  "ios-help-buoy": 62270,
  "ios-help-buoy-outline": 62271,
  "ios-help-buoy-sharp": 62272,
  "ios-help-circle": 62273,
  "ios-help-circle-outline": 62274,
  "ios-help-circle-sharp": 62275,
  "ios-help-outline": 62276,
  "ios-help-sharp": 62277,
  "ios-home": 62278,
  "ios-home-outline": 62279,
  "ios-home-sharp": 62280,
  "ios-hourglass": 62281,
  "ios-hourglass-outline": 62282,
  "ios-hourglass-sharp": 62283,
  "ios-ice-cream": 62284,
  "ios-ice-cream-outline": 62285,
  "ios-ice-cream-sharp": 62286,
  "ios-image": 62287,
  "ios-image-outline": 62288,
  "ios-image-sharp": 62289,
  "ios-images": 62290,
  "ios-images-outline": 62291,
  "ios-images-sharp": 62292,
  "ios-infinite": 62293,
  "ios-infinite-outline": 62294,
  "ios-infinite-sharp": 62295,
  "ios-information": 62296,
  "ios-information-circle": 62297,
  "ios-information-circle-outline": 62298,
  "ios-information-circle-sharp": 62299,
  "ios-information-outline": 62300,
  "ios-information-sharp": 62301,
  "ios-journal": 62302,
  "ios-journal-outline": 62303,
  "ios-journal-sharp": 62304,
  "ios-key": 62305,
  "ios-key-outline": 62306,
  "ios-key-sharp": 62307,
  "ios-keypad": 62308,
  "ios-keypad-outline": 62309,
  "ios-keypad-sharp": 62310,
  "ios-language": 62311,
  "ios-language-outline": 62312,
  "ios-language-sharp": 62313,
  "ios-laptop": 62314,
  "ios-laptop-outline": 62315,
  "ios-laptop-sharp": 62316,
  "ios-layers": 62317,
  "ios-layers-outline": 62318,
  "ios-layers-sharp": 62319,
  "ios-leaf": 62320,
  "ios-leaf-outline": 62321,
  "ios-leaf-sharp": 62322,
  "ios-library": 62323,
  "ios-library-outline": 62324,
  "ios-library-sharp": 62325,
  "ios-link": 62326,
  "ios-link-outline": 62327,
  "ios-link-sharp": 62328,
  "ios-list": 62329,
  "ios-list-circle": 62330,
  "ios-list-circle-outline": 62331,
  "ios-list-circle-sharp": 62332,
  "ios-list-outline": 62333,
  "ios-list-sharp": 62334,
  "ios-locate": 62335,
  "ios-locate-outline": 62336,
  "ios-locate-sharp": 62337,
  "ios-location": 62338,
  "ios-location-outline": 62339,
  "ios-location-sharp": 62340,
  "ios-lock-closed": 62341,
  "ios-lock-closed-outline": 62342,
  "ios-lock-closed-sharp": 62343,
  "ios-lock-open": 62344,
  "ios-lock-open-outline": 62345,
  "ios-lock-open-sharp": 62346,
  "ios-log-in": 62347,
  "ios-log-in-outline": 62348,
  "ios-log-in-sharp": 62349,
  "ios-log-out": 62350,
  "ios-log-out-outline": 62351,
  "ios-log-out-sharp": 62352,
  "ios-logo-amazon": 62353,
  "ios-logo-amplify": 62354,
  "ios-logo-android": 62355,
  "ios-logo-angular": 62356,
  "ios-logo-apple": 62357,
  "ios-logo-apple-appstore": 62358,
  "ios-logo-bitbucket": 62359,
  "ios-logo-bitcoin": 62360,
  "ios-logo-buffer": 62361,
  "ios-logo-capacitor": 62362,
  "ios-logo-chrome": 62363,
  "ios-logo-closed-captioning": 62364,
  "ios-logo-codepen": 62365,
  "ios-logo-css3": 62366,
  "ios-logo-designernews": 62367,
  "ios-logo-dribbble": 62368,
  "ios-logo-dropbox": 62369,
  "ios-logo-edge": 62370,
  "ios-logo-electron": 62371,
  "ios-logo-euro": 62372,
  "ios-logo-facebook": 62373,
  "ios-logo-firebase": 62374,
  "ios-logo-firefox": 62375,
  "ios-logo-flickr": 62376,
  "ios-logo-foursquare": 62377,
  "ios-logo-github": 62378,
  "ios-logo-google": 62379,
  "ios-logo-google-playstore": 62380,
  "ios-logo-hackernews": 62381,
  "ios-logo-html5": 62382,
  "ios-logo-instagram": 62383,
  "ios-logo-ionic": 62384,
  "ios-logo-ionitron": 62385,
  "ios-logo-javascript": 62386,
  "ios-logo-laravel": 62387,
  "ios-logo-linkedin": 62388,
  "ios-logo-markdown": 62389,
  "ios-logo-no-smoking": 62390,
  "ios-logo-nodejs": 62391,
  "ios-logo-npm": 62392,
  "ios-logo-octocat": 62393,
  "ios-logo-pinterest": 62394,
  "ios-logo-playstation": 62395,
  "ios-logo-pwa": 62396,
  "ios-logo-python": 62397,
  "ios-logo-react": 62398,
  "ios-logo-reddit": 62399,
  "ios-logo-rss": 62400,
  "ios-logo-sass": 62401,
  "ios-logo-skype": 62402,
  "ios-logo-slack": 62403,
  "ios-logo-snapchat": 62404,
  "ios-logo-stackoverflow": 62405,
  "ios-logo-steam": 62406,
  "ios-logo-stencil": 62407,
  "ios-logo-tumblr": 62408,
  "ios-logo-tux": 62409,
  "ios-logo-twitch": 62410,
  "ios-logo-twitter": 62411,
  "ios-logo-usd": 62412,
  "ios-logo-vimeo": 62413,
  "ios-logo-vk": 62414,
  "ios-logo-vue": 62415,
  "ios-logo-web-component": 62416,
  "ios-logo-whatsapp": 62417,
  "ios-logo-windows": 62418,
  "ios-logo-wordpress": 62419,
  "ios-logo-xbox": 62420,
  "ios-logo-xing": 62421,
  "ios-logo-yahoo": 62422,
  "ios-logo-yen": 62423,
  "ios-logo-youtube": 62424,
  "ios-magnet": 62425,
  "ios-magnet-outline": 62426,
  "ios-magnet-sharp": 62427,
  "ios-mail": 62428,
  "ios-mail-open": 62429,
  "ios-mail-open-outline": 62430,
  "ios-mail-open-sharp": 62431,
  "ios-mail-outline": 62432,
  "ios-mail-sharp": 62433,
  "ios-mail-unread": 62434,
  "ios-mail-unread-outline": 62435,
  "ios-mail-unread-sharp": 62436,
  "ios-male": 62437,
  "ios-male-female": 62438,
  "ios-male-female-outline": 62439,
  "ios-male-female-sharp": 62440,
  "ios-male-outline": 62441,
  "ios-male-sharp": 62442,
  "ios-man": 62443,
  "ios-man-outline": 62444,
  "ios-man-sharp": 62445,
  "ios-map": 62446,
  "ios-map-outline": 62447,
  "ios-map-sharp": 62448,
  "ios-medal": 62449,
  "ios-medal-outline": 62450,
  "ios-medal-sharp": 62451,
  "ios-medical": 62452,
  "ios-medical-outline": 62453,
  "ios-medical-sharp": 62454,
  "ios-medkit": 62455,
  "ios-medkit-outline": 62456,
  "ios-medkit-sharp": 62457,
  "ios-megaphone": 62458,
  "ios-megaphone-outline": 62459,
  "ios-megaphone-sharp": 62460,
  "ios-menu": 62461,
  "ios-menu-outline": 62462,
  "ios-menu-sharp": 62463,
  "ios-mic": 62464,
  "ios-mic-circle": 62465,
  "ios-mic-circle-outline": 62466,
  "ios-mic-circle-sharp": 62467,
  "ios-mic-off": 62468,
  "ios-mic-off-circle": 62469,
  "ios-mic-off-circle-outline": 62470,
  "ios-mic-off-circle-sharp": 62471,
  "ios-mic-off-outline": 62472,
  "ios-mic-off-sharp": 62473,
  "ios-mic-outline": 62474,
  "ios-mic-sharp": 62475,
  "ios-moon": 62476,
  "ios-moon-outline": 62477,
  "ios-moon-sharp": 62478,
  "ios-move": 62479,
  "ios-move-outline": 62480,
  "ios-move-sharp": 62481,
  "ios-musical-note": 62482,
  "ios-musical-note-outline": 62483,
  "ios-musical-note-sharp": 62484,
  "ios-musical-notes": 62485,
  "ios-musical-notes-outline": 62486,
  "ios-musical-notes-sharp": 62487,
  "ios-navigate": 62488,
  "ios-navigate-circle": 62489,
  "ios-navigate-circle-outline": 62490,
  "ios-navigate-circle-sharp": 62491,
  "ios-navigate-outline": 62492,
  "ios-navigate-sharp": 62493,
  "ios-newspaper": 62494,
  "ios-newspaper-outline": 62495,
  "ios-newspaper-sharp": 62496,
  "ios-notifications": 62497,
  "ios-notifications-circle": 62498,
  "ios-notifications-circle-outline": 62499,
  "ios-notifications-circle-sharp": 62500,
  "ios-notifications-off": 62501,
  "ios-notifications-off-circle": 62502,
  "ios-notifications-off-circle-outline": 62503,
  "ios-notifications-off-circle-sharp": 62504,
  "ios-notifications-off-outline": 62505,
  "ios-notifications-off-sharp": 62506,
  "ios-notifications-outline": 62507,
  "ios-notifications-sharp": 62508,
  "ios-nuclear": 62509,
  "ios-nuclear-outline": 62510,
  "ios-nuclear-sharp": 62511,
  "ios-nutrition": 62512,
  "ios-nutrition-outline": 62513,
  "ios-nutrition-sharp": 62514,
  "ios-open": 62515,
  "ios-open-outline": 62516,
  "ios-open-sharp": 62517,
  "ios-options": 62518,
  "ios-options-outline": 62519,
  "ios-options-sharp": 62520,
  "ios-paper-plane": 62521,
  "ios-paper-plane-outline": 62522,
  "ios-paper-plane-sharp": 62523,
  "ios-partly-sunny": 62524,
  "ios-partly-sunny-outline": 62525,
  "ios-partly-sunny-sharp": 62526,
  "ios-pause": 62527,
  "ios-pause-circle": 62528,
  "ios-pause-circle-outline": 62529,
  "ios-pause-circle-sharp": 62530,
  "ios-pause-outline": 62531,
  "ios-pause-sharp": 62532,
  "ios-paw": 62533,
  "ios-paw-outline": 62534,
  "ios-paw-sharp": 62535,
  "ios-pencil": 62536,
  "ios-pencil-outline": 62537,
  "ios-pencil-sharp": 62538,
  "ios-people": 62539,
  "ios-people-circle": 62540,
  "ios-people-circle-outline": 62541,
  "ios-people-circle-sharp": 62542,
  "ios-people-outline": 62543,
  "ios-people-sharp": 62544,
  "ios-person": 62545,
  "ios-person-add": 62546,
  "ios-person-add-outline": 62547,
  "ios-person-add-sharp": 62548,
  "ios-person-circle": 62549,
  "ios-person-circle-outline": 62550,
  "ios-person-circle-sharp": 62551,
  "ios-person-outline": 62552,
  "ios-person-remove": 62553,
  "ios-person-remove-outline": 62554,
  "ios-person-remove-sharp": 62555,
  "ios-person-sharp": 62556,
  "ios-phone-landscape": 62557,
  "ios-phone-landscape-outline": 62558,
  "ios-phone-landscape-sharp": 62559,
  "ios-phone-portrait": 62560,
  "ios-phone-portrait-outline": 62561,
  "ios-phone-portrait-sharp": 62562,
  "ios-pie-chart": 62563,
  "ios-pie-chart-outline": 62564,
  "ios-pie-chart-sharp": 62565,
  "ios-pin": 62566,
  "ios-pin-outline": 62567,
  "ios-pin-sharp": 62568,
  "ios-pint": 62569,
  "ios-pint-outline": 62570,
  "ios-pint-sharp": 62571,
  "ios-pizza": 62572,
  "ios-pizza-outline": 62573,
  "ios-pizza-sharp": 62574,
  "ios-planet": 62575,
  "ios-planet-outline": 62576,
  "ios-planet-sharp": 62577,
  "ios-play": 62578,
  "ios-play-back": 62579,
  "ios-play-back-circle": 62580,
  "ios-play-back-circle-outline": 62581,
  "ios-play-back-circle-sharp": 62582,
  "ios-play-back-outline": 62583,
  "ios-play-back-sharp": 62584,
  "ios-play-circle": 62585,
  "ios-play-circle-outline": 62586,
  "ios-play-circle-sharp": 62587,
  "ios-play-forward": 62588,
  "ios-play-forward-circle": 62589,
  "ios-play-forward-circle-outline": 62590,
  "ios-play-forward-circle-sharp": 62591,
  "ios-play-forward-outline": 62592,
  "ios-play-forward-sharp": 62593,
  "ios-play-outline": 62594,
  "ios-play-sharp": 62595,
  "ios-play-skip-back": 62596,
  "ios-play-skip-back-circle": 62597,
  "ios-play-skip-back-circle-outline": 62598,
  "ios-play-skip-back-circle-sharp": 62599,
  "ios-play-skip-back-outline": 62600,
  "ios-play-skip-back-sharp": 62601,
  "ios-play-skip-forward": 62602,
  "ios-play-skip-forward-circle": 62603,
  "ios-play-skip-forward-circle-outline": 62604,
  "ios-play-skip-forward-circle-sharp": 62605,
  "ios-play-skip-forward-outline": 62606,
  "ios-play-skip-forward-sharp": 62607,
  "ios-podium": 62608,
  "ios-podium-outline": 62609,
  "ios-podium-sharp": 62610,
  "ios-power": 62611,
  "ios-power-outline": 62612,
  "ios-power-sharp": 62613,
  "ios-pricetag": 62614,
  "ios-pricetag-outline": 62615,
  "ios-pricetag-sharp": 62616,
  "ios-pricetags": 62617,
  "ios-pricetags-outline": 62618,
  "ios-pricetags-sharp": 62619,
  "ios-print": 62620,
  "ios-print-outline": 62621,
  "ios-print-sharp": 62622,
  "ios-pulse": 62623,
  "ios-pulse-outline": 62624,
  "ios-pulse-sharp": 62625,
  "ios-push": 62626,
  "ios-push-outline": 62627,
  "ios-push-sharp": 62628,
  "ios-qr-code": 62629,
  "ios-qr-code-outline": 62630,
  "ios-qr-code-sharp": 62631,
  "ios-radio": 62632,
  "ios-radio-button-off": 62633,
  "ios-radio-button-off-outline": 62634,
  "ios-radio-button-off-sharp": 62635,
  "ios-radio-button-on": 62636,
  "ios-radio-button-on-outline": 62637,
  "ios-radio-button-on-sharp": 62638,
  "ios-radio-outline": 62639,
  "ios-radio-sharp": 62640,
  "ios-rainy": 62641,
  "ios-rainy-outline": 62642,
  "ios-rainy-sharp": 62643,
  "ios-reader": 62644,
  "ios-reader-outline": 62645,
  "ios-reader-sharp": 62646,
  "ios-receipt": 62647,
  "ios-receipt-outline": 62648,
  "ios-receipt-sharp": 62649,
  "ios-recording": 62650,
  "ios-recording-outline": 62651,
  "ios-recording-sharp": 62652,
  "ios-refresh": 62653,
  "ios-refresh-circle": 62654,
  "ios-refresh-circle-outline": 62655,
  "ios-refresh-circle-sharp": 62656,
  "ios-refresh-outline": 62657,
  "ios-refresh-sharp": 62658,
  "ios-reload": 62659,
  "ios-reload-circle": 62660,
  "ios-reload-circle-outline": 62661,
  "ios-reload-circle-sharp": 62662,
  "ios-reload-outline": 62663,
  "ios-reload-sharp": 62664,
  "ios-remove": 62665,
  "ios-remove-circle": 62666,
  "ios-remove-circle-outline": 62667,
  "ios-remove-circle-sharp": 62668,
  "ios-remove-outline": 62669,
  "ios-remove-sharp": 62670,
  "ios-reorder-four": 62671,
  "ios-reorder-four-outline": 62672,
  "ios-reorder-four-sharp": 62673,
  "ios-reorder-three": 62674,
  "ios-reorder-three-outline": 62675,
  "ios-reorder-three-sharp": 62676,
  "ios-reorder-two": 62677,
  "ios-reorder-two-outline": 62678,
  "ios-reorder-two-sharp": 62679,
  "ios-repeat": 62680,
  "ios-repeat-outline": 62681,
  "ios-repeat-sharp": 62682,
  "ios-resize": 62683,
  "ios-resize-outline": 62684,
  "ios-resize-sharp": 62685,
  "ios-restaurant": 62686,
  "ios-restaurant-outline": 62687,
  "ios-restaurant-sharp": 62688,
  "ios-return-down-back": 62689,
  "ios-return-down-back-outline": 62690,
  "ios-return-down-back-sharp": 62691,
  "ios-return-down-forward": 62692,
  "ios-return-down-forward-outline": 62693,
  "ios-return-down-forward-sharp": 62694,
  "ios-return-up-back": 62695,
  "ios-return-up-back-outline": 62696,
  "ios-return-up-back-sharp": 62697,
  "ios-return-up-forward": 62698,
  "ios-return-up-forward-outline": 62699,
  "ios-return-up-forward-sharp": 62700,
  "ios-ribbon": 62701,
  "ios-ribbon-outline": 62702,
  "ios-ribbon-sharp": 62703,
  "ios-rocket": 62704,
  "ios-rocket-outline": 62705,
  "ios-rocket-sharp": 62706,
  "ios-rose": 62707,
  "ios-rose-outline": 62708,
  "ios-rose-sharp": 62709,
  "ios-sad": 62710,
  "ios-sad-outline": 62711,
  "ios-sad-sharp": 62712,
  "ios-save": 62713,
  "ios-save-outline": 62714,
  "ios-save-sharp": 62715,
  "ios-scan": 62716,
  "ios-scan-circle": 62717,
  "ios-scan-circle-outline": 62718,
  "ios-scan-circle-sharp": 62719,
  "ios-scan-outline": 62720,
  "ios-scan-sharp": 62721,
  "ios-school": 62722,
  "ios-school-outline": 62723,
  "ios-school-sharp": 62724,
  "ios-search": 62725,
  "ios-search-circle": 62726,
  "ios-search-circle-outline": 62727,
  "ios-search-circle-sharp": 62728,
  "ios-search-outline": 62729,
  "ios-search-sharp": 62730,
  "ios-send": 62731,
  "ios-send-outline": 62732,
  "ios-send-sharp": 62733,
  "ios-server": 62734,
  "ios-server-outline": 62735,
  "ios-server-sharp": 62736,
  "ios-settings": 62737,
  "ios-settings-outline": 62738,
  "ios-settings-sharp": 62739,
  "ios-shapes": 62740,
  "ios-shapes-outline": 62741,
  "ios-shapes-sharp": 62742,
  "ios-share": 62743,
  "ios-share-outline": 62744,
  "ios-share-sharp": 62745,
  "ios-share-social": 62746,
  "ios-share-social-outline": 62747,
  "ios-share-social-sharp": 62748,
  "ios-shield": 62749,
  "ios-shield-checkmark": 62750,
  "ios-shield-checkmark-outline": 62751,
  "ios-shield-checkmark-sharp": 62752,
  "ios-shield-outline": 62753,
  "ios-shield-sharp": 62754,
  "ios-shirt": 62755,
  "ios-shirt-outline": 62756,
  "ios-shirt-sharp": 62757,
  "ios-shuffle": 62758,
  "ios-shuffle-outline": 62759,
  "ios-shuffle-sharp": 62760,
  "ios-skull": 62761,
  "ios-skull-outline": 62762,
  "ios-skull-sharp": 62763,
  "ios-snow": 62764,
  "ios-snow-outline": 62765,
  "ios-snow-sharp": 62766,
  "ios-speedometer": 62767,
  "ios-speedometer-outline": 62768,
  "ios-speedometer-sharp": 62769,
  "ios-square": 62770,
  "ios-square-outline": 62771,
  "ios-square-sharp": 62772,
  "ios-star": 62773,
  "ios-star-half": 62774,
  "ios-star-half-outline": 62775,
  "ios-star-half-sharp": 62776,
  "ios-star-outline": 62777,
  "ios-star-sharp": 62778,
  "ios-stats-chart": 62779,
  "ios-stats-chart-outline": 62780,
  "ios-stats-chart-sharp": 62781,
  "ios-stop": 62782,
  "ios-stop-circle": 62783,
  "ios-stop-circle-outline": 62784,
  "ios-stop-circle-sharp": 62785,
  "ios-stop-outline": 62786,
  "ios-stop-sharp": 62787,
  "ios-stopwatch": 62788,
  "ios-stopwatch-outline": 62789,
  "ios-stopwatch-sharp": 62790,
  "ios-subway": 62791,
  "ios-subway-outline": 62792,
  "ios-subway-sharp": 62793,
  "ios-sunny": 62794,
  "ios-sunny-outline": 62795,
  "ios-sunny-sharp": 62796,
  "ios-swap-horizontal": 62797,
  "ios-swap-horizontal-outline": 62798,
  "ios-swap-horizontal-sharp": 62799,
  "ios-swap-vertical": 62800,
  "ios-swap-vertical-outline": 62801,
  "ios-swap-vertical-sharp": 62802,
  "ios-sync": 62803,
  "ios-sync-circle": 62804,
  "ios-sync-circle-outline": 62805,
  "ios-sync-circle-sharp": 62806,
  "ios-sync-outline": 62807,
  "ios-sync-sharp": 62808,
  "ios-tablet-landscape": 62809,
  "ios-tablet-landscape-outline": 62810,
  "ios-tablet-landscape-sharp": 62811,
  "ios-tablet-portrait": 62812,
  "ios-tablet-portrait-outline": 62813,
  "ios-tablet-portrait-sharp": 62814,
  "ios-tennisball": 62815,
  "ios-tennisball-outline": 62816,
  "ios-tennisball-sharp": 62817,
  "ios-terminal": 62818,
  "ios-terminal-outline": 62819,
  "ios-terminal-sharp": 62820,
  "ios-text": 62821,
  "ios-text-outline": 62822,
  "ios-text-sharp": 62823,
  "ios-thermometer": 62824,
  "ios-thermometer-outline": 62825,
  "ios-thermometer-sharp": 62826,
  "ios-thumbs-down": 62827,
  "ios-thumbs-down-outline": 62828,
  "ios-thumbs-down-sharp": 62829,
  "ios-thumbs-up": 62830,
  "ios-thumbs-up-outline": 62831,
  "ios-thumbs-up-sharp": 62832,
  "ios-thunderstorm": 62833,
  "ios-thunderstorm-outline": 62834,
  "ios-thunderstorm-sharp": 62835,
  "ios-time": 62836,
  "ios-time-outline": 62837,
  "ios-time-sharp": 62838,
  "ios-timer": 62839,
  "ios-timer-outline": 62840,
  "ios-timer-sharp": 62841,
  "ios-today": 62842,
  "ios-today-outline": 62843,
  "ios-today-sharp": 62844,
  "ios-toggle": 62845,
  "ios-toggle-outline": 62846,
  "ios-toggle-sharp": 62847,
  "ios-trail-sign": 62848,
  "ios-trail-sign-outline": 62849,
  "ios-trail-sign-sharp": 62850,
  "ios-train": 62851,
  "ios-train-outline": 62852,
  "ios-train-sharp": 62853,
  "ios-transgender": 62854,
  "ios-transgender-outline": 62855,
  "ios-transgender-sharp": 62856,
  "ios-trash": 62857,
  "ios-trash-bin": 62858,
  "ios-trash-bin-outline": 62859,
  "ios-trash-bin-sharp": 62860,
  "ios-trash-outline": 62861,
  "ios-trash-sharp": 62862,
  "ios-trending-down": 62863,
  "ios-trending-down-outline": 62864,
  "ios-trending-down-sharp": 62865,
  "ios-trending-up": 62866,
  "ios-trending-up-outline": 62867,
  "ios-trending-up-sharp": 62868,
  "ios-triangle": 62869,
  "ios-triangle-outline": 62870,
  "ios-triangle-sharp": 62871,
  "ios-trophy": 62872,
  "ios-trophy-outline": 62873,
  "ios-trophy-sharp": 62874,
  "ios-tv": 62875,
  "ios-tv-outline": 62876,
  "ios-tv-sharp": 62877,
  "ios-umbrella": 62878,
  "ios-umbrella-outline": 62879,
  "ios-umbrella-sharp": 62880,
  "ios-videocam": 62881,
  "ios-videocam-outline": 62882,
  "ios-videocam-sharp": 62883,
  "ios-volume-high": 62884,
  "ios-volume-high-outline": 62885,
  "ios-volume-high-sharp": 62886,
  "ios-volume-low": 62887,
  "ios-volume-low-outline": 62888,
  "ios-volume-low-sharp": 62889,
  "ios-volume-medium": 62890,
  "ios-volume-medium-outline": 62891,
  "ios-volume-medium-sharp": 62892,
  "ios-volume-mute": 62893,
  "ios-volume-mute-outline": 62894,
  "ios-volume-mute-sharp": 62895,
  "ios-volume-off": 62896,
  "ios-volume-off-outline": 62897,
  "ios-volume-off-sharp": 62898,
  "ios-walk": 62899,
  "ios-walk-outline": 62900,
  "ios-walk-sharp": 62901,
  "ios-wallet": 62902,
  "ios-wallet-outline": 62903,
  "ios-wallet-sharp": 62904,
  "ios-warning": 62905,
  "ios-warning-outline": 62906,
  "ios-warning-sharp": 62907,
  "ios-watch": 62908,
  "ios-watch-outline": 62909,
  "ios-watch-sharp": 62910,
  "ios-water": 62911,
  "ios-water-outline": 62912,
  "ios-water-sharp": 62913,
  "ios-wifi": 62914,
  "ios-wifi-outline": 62915,
  "ios-wifi-sharp": 62916,
  "ios-wine": 62917,
  "ios-wine-outline": 62918,
  "ios-wine-sharp": 62919,
  "ios-woman": 62920,
  "ios-woman-outline": 62921,
  "ios-woman-sharp": 62922,
  "md-add": 61696,
  "md-add-circle": 61697,
  "md-add-circle-outline": 61698,
  "md-add-circle-sharp": 61699,
  "md-add-outline": 61700,
  "md-add-sharp": 61701,
  "md-airplane": 61702,
  "md-airplane-outline": 61703,
  "md-airplane-sharp": 61704,
  "md-alarm": 61705,
  "md-alarm-outline": 61706,
  "md-alarm-sharp": 61707,
  "md-albums": 61708,
  "md-albums-outline": 61709,
  "md-albums-sharp": 61710,
  "md-alert": 61711,
  "md-alert-circle": 61712,
  "md-alert-circle-outline": 61713,
  "md-alert-circle-sharp": 61714,
  "md-alert-outline": 61715,
  "md-alert-sharp": 61716,
  "md-american-football": 61717,
  "md-american-football-outline": 61718,
  "md-american-football-sharp": 61719,
  "md-analytics": 61720,
  "md-analytics-outline": 61721,
  "md-analytics-sharp": 61722,
  "md-aperture": 61723,
  "md-aperture-outline": 61724,
  "md-aperture-sharp": 61725,
  "md-apps": 61726,
  "md-apps-outline": 61727,
  "md-apps-sharp": 61728,
  "md-archive": 61729,
  "md-archive-outline": 61730,
  "md-archive-sharp": 61731,
  "md-arrow-back": 61732,
  "md-arrow-back-circle": 61733,
  "md-arrow-back-circle-outline": 61734,
  "md-arrow-back-circle-sharp": 61735,
  "md-arrow-back-outline": 61736,
  "md-arrow-back-sharp": 61737,
  "md-arrow-down": 61738,
  "md-arrow-down-circle": 61739,
  "md-arrow-down-circle-outline": 61740,
  "md-arrow-down-circle-sharp": 61741,
  "md-arrow-down-outline": 61742,
  "md-arrow-down-sharp": 61743,
  "md-arrow-forward": 61744,
  "md-arrow-forward-circle": 61745,
  "md-arrow-forward-circle-outline": 61746,
  "md-arrow-forward-circle-sharp": 61747,
  "md-arrow-forward-outline": 61748,
  "md-arrow-forward-sharp": 61749,
  "md-arrow-redo": 61750,
  "md-arrow-redo-circle": 61751,
  "md-arrow-redo-circle-outline": 61752,
  "md-arrow-redo-circle-sharp": 61753,
  "md-arrow-redo-outline": 61754,
  "md-arrow-redo-sharp": 61755,
  "md-arrow-undo": 61756,
  "md-arrow-undo-circle": 61757,
  "md-arrow-undo-circle-outline": 61758,
  "md-arrow-undo-circle-sharp": 61759,
  "md-arrow-undo-outline": 61760,
  "md-arrow-undo-sharp": 61761,
  "md-arrow-up": 61762,
  "md-arrow-up-circle": 61763,
  "md-arrow-up-circle-outline": 61764,
  "md-arrow-up-circle-sharp": 61765,
  "md-arrow-up-outline": 61766,
  "md-arrow-up-sharp": 61767,
  "md-at": 61768,
  "md-at-circle": 61769,
  "md-at-circle-outline": 61770,
  "md-at-circle-sharp": 61771,
  "md-at-outline": 61772,
  "md-at-sharp": 61773,
  "md-attach": 61774,
  "md-attach-outline": 61775,
  "md-attach-sharp": 61776,
  "md-backspace": 61777,
  "md-backspace-outline": 61778,
  "md-backspace-sharp": 61779,
  "md-bandage": 61780,
  "md-bandage-outline": 61781,
  "md-bandage-sharp": 61782,
  "md-bar-chart": 61783,
  "md-bar-chart-outline": 61784,
  "md-bar-chart-sharp": 61785,
  "md-barbell": 61786,
  "md-barbell-outline": 61787,
  "md-barbell-sharp": 61788,
  "md-barcode": 61789,
  "md-barcode-outline": 61790,
  "md-barcode-sharp": 61791,
  "md-baseball": 61792,
  "md-baseball-outline": 61793,
  "md-baseball-sharp": 61794,
  "md-basket": 61795,
  "md-basket-outline": 61796,
  "md-basket-sharp": 61797,
  "md-basketball": 61798,
  "md-basketball-outline": 61799,
  "md-basketball-sharp": 61800,
  "md-battery-charging": 61801,
  "md-battery-charging-outline": 61802,
  "md-battery-charging-sharp": 61803,
  "md-battery-dead": 61804,
  "md-battery-dead-outline": 61805,
  "md-battery-dead-sharp": 61806,
  "md-battery-full": 61807,
  "md-battery-full-outline": 61808,
  "md-battery-full-sharp": 61809,
  "md-battery-half": 61810,
  "md-battery-half-outline": 61811,
  "md-battery-half-sharp": 61812,
  "md-beaker": 61813,
  "md-beaker-outline": 61814,
  "md-beaker-sharp": 61815,
  "md-bed": 61816,
  "md-bed-outline": 61817,
  "md-bed-sharp": 61818,
  "md-beer": 61819,
  "md-beer-outline": 61820,
  "md-beer-sharp": 61821,
  "md-bicycle": 61822,
  "md-bicycle-outline": 61823,
  "md-bicycle-sharp": 61824,
  "md-bluetooth": 61825,
  "md-bluetooth-outline": 61826,
  "md-bluetooth-sharp": 61827,
  "md-boat": 61828,
  "md-boat-outline": 61829,
  "md-boat-sharp": 61830,
  "md-body": 61831,
  "md-body-outline": 61832,
  "md-body-sharp": 61833,
  "md-bonfire": 61834,
  "md-bonfire-outline": 61835,
  "md-bonfire-sharp": 61836,
  "md-book": 61837,
  "md-book-outline": 61838,
  "md-book-sharp": 61839,
  "md-bookmark": 61840,
  "md-bookmark-outline": 61841,
  "md-bookmark-sharp": 61842,
  "md-bookmarks": 61843,
  "md-bookmarks-outline": 61844,
  "md-bookmarks-sharp": 61845,
  "md-briefcase": 61846,
  "md-briefcase-outline": 61847,
  "md-briefcase-sharp": 61848,
  "md-browsers": 61849,
  "md-browsers-outline": 61850,
  "md-browsers-sharp": 61851,
  "md-brush": 61852,
  "md-brush-outline": 61853,
  "md-brush-sharp": 61854,
  "md-bug": 61855,
  "md-bug-outline": 61856,
  "md-bug-sharp": 61857,
  "md-build": 61858,
  "md-build-outline": 61859,
  "md-build-sharp": 61860,
  "md-bulb": 61861,
  "md-bulb-outline": 61862,
  "md-bulb-sharp": 61863,
  "md-bus": 61864,
  "md-bus-outline": 61865,
  "md-bus-sharp": 61866,
  "md-business": 61867,
  "md-business-outline": 61868,
  "md-business-sharp": 61869,
  "md-cafe": 61870,
  "md-cafe-outline": 61871,
  "md-cafe-sharp": 61872,
  "md-calculator": 61873,
  "md-calculator-outline": 61874,
  "md-calculator-sharp": 61875,
  "md-calendar": 61876,
  "md-calendar-outline": 61877,
  "md-calendar-sharp": 61878,
  "md-call": 61879,
  "md-call-outline": 61880,
  "md-call-sharp": 61881,
  "md-camera": 61882,
  "md-camera-outline": 61883,
  "md-camera-reverse": 61884,
  "md-camera-reverse-outline": 61885,
  "md-camera-reverse-sharp": 61886,
  "md-camera-sharp": 61887,
  "md-car": 61888,
  "md-car-outline": 61889,
  "md-car-sharp": 61890,
  "md-car-sport": 61891,
  "md-car-sport-outline": 61892,
  "md-car-sport-sharp": 61893,
  "md-card": 61894,
  "md-card-outline": 61895,
  "md-card-sharp": 61896,
  "md-caret-back": 61897,
  "md-caret-back-circle": 61898,
  "md-caret-back-circle-outline": 61899,
  "md-caret-back-circle-sharp": 61900,
  "md-caret-back-outline": 61901,
  "md-caret-back-sharp": 61902,
  "md-caret-down": 61903,
  "md-caret-down-circle": 61904,
  "md-caret-down-circle-outline": 61905,
  "md-caret-down-circle-sharp": 61906,
  "md-caret-down-outline": 61907,
  "md-caret-down-sharp": 61908,
  "md-caret-forward": 61909,
  "md-caret-forward-circle": 61910,
  "md-caret-forward-circle-outline": 61911,
  "md-caret-forward-circle-sharp": 61912,
  "md-caret-forward-outline": 61913,
  "md-caret-forward-sharp": 61914,
  "md-caret-up": 61915,
  "md-caret-up-circle": 61916,
  "md-caret-up-circle-outline": 61917,
  "md-caret-up-circle-sharp": 61918,
  "md-caret-up-outline": 61919,
  "md-caret-up-sharp": 61920,
  "md-cart": 61921,
  "md-cart-outline": 61922,
  "md-cart-sharp": 61923,
  "md-cash": 61924,
  "md-cash-outline": 61925,
  "md-cash-sharp": 61926,
  "md-cellular": 61927,
  "md-cellular-outline": 61928,
  "md-cellular-sharp": 61929,
  "md-chatbox": 61930,
  "md-chatbox-ellipses": 61931,
  "md-chatbox-ellipses-outline": 61932,
  "md-chatbox-ellipses-sharp": 61933,
  "md-chatbox-outline": 61934,
  "md-chatbox-sharp": 61935,
  "md-chatbubble": 61936,
  "md-chatbubble-ellipses": 61937,
  "md-chatbubble-ellipses-outline": 61938,
  "md-chatbubble-ellipses-sharp": 61939,
  "md-chatbubble-outline": 61940,
  "md-chatbubble-sharp": 61941,
  "md-chatbubbles": 61942,
  "md-chatbubbles-outline": 61943,
  "md-chatbubbles-sharp": 61944,
  "md-checkbox": 61945,
  "md-checkbox-outline": 61946,
  "md-checkbox-sharp": 61947,
  "md-checkmark": 61948,
  "md-checkmark-circle": 61949,
  "md-checkmark-circle-outline": 61950,
  "md-checkmark-circle-sharp": 61951,
  "md-checkmark-done": 61952,
  "md-checkmark-done-circle": 61953,
  "md-checkmark-done-circle-outline": 61954,
  "md-checkmark-done-circle-sharp": 61955,
  "md-checkmark-done-outline": 61956,
  "md-checkmark-done-sharp": 61957,
  "md-checkmark-outline": 61958,
  "md-checkmark-sharp": 61959,
  "md-chevron-back": 61960,
  "md-chevron-back-circle": 61961,
  "md-chevron-back-circle-outline": 61962,
  "md-chevron-back-circle-sharp": 61963,
  "md-chevron-back-outline": 61964,
  "md-chevron-back-sharp": 61965,
  "md-chevron-down": 61966,
  "md-chevron-down-circle": 61967,
  "md-chevron-down-circle-outline": 61968,
  "md-chevron-down-circle-sharp": 61969,
  "md-chevron-down-outline": 61970,
  "md-chevron-down-sharp": 61971,
  "md-chevron-forward": 61972,
  "md-chevron-forward-circle": 61973,
  "md-chevron-forward-circle-outline": 61974,
  "md-chevron-forward-circle-sharp": 61975,
  "md-chevron-forward-outline": 61976,
  "md-chevron-forward-sharp": 61977,
  "md-chevron-up": 61978,
  "md-chevron-up-circle": 61979,
  "md-chevron-up-circle-outline": 61980,
  "md-chevron-up-circle-sharp": 61981,
  "md-chevron-up-outline": 61982,
  "md-chevron-up-sharp": 61983,
  "md-clipboard": 61984,
  "md-clipboard-outline": 61985,
  "md-clipboard-sharp": 61986,
  "md-close": 61987,
  "md-close-circle": 61988,
  "md-close-circle-outline": 61989,
  "md-close-circle-sharp": 61990,
  "md-close-outline": 61991,
  "md-close-sharp": 61992,
  "md-cloud": 61993,
  "md-cloud-circle": 61994,
  "md-cloud-circle-outline": 61995,
  "md-cloud-circle-sharp": 61996,
  "md-cloud-done": 61997,
  "md-cloud-done-outline": 61998,
  "md-cloud-done-sharp": 61999,
  "md-cloud-download": 62000,
  "md-cloud-download-outline": 62001,
  "md-cloud-download-sharp": 62002,
  "md-cloud-offline": 62003,
  "md-cloud-offline-outline": 62004,
  "md-cloud-offline-sharp": 62005,
  "md-cloud-outline": 62006,
  "md-cloud-sharp": 62007,
  "md-cloud-upload": 62008,
  "md-cloud-upload-outline": 62009,
  "md-cloud-upload-sharp": 62010,
  "md-cloudy": 62011,
  "md-cloudy-night": 62012,
  "md-cloudy-night-outline": 62013,
  "md-cloudy-night-sharp": 62014,
  "md-cloudy-outline": 62015,
  "md-cloudy-sharp": 62016,
  "md-code": 62017,
  "md-code-download": 62018,
  "md-code-download-outline": 62019,
  "md-code-download-sharp": 62020,
  "md-code-outline": 62021,
  "md-code-sharp": 62022,
  "md-code-slash": 62023,
  "md-code-slash-outline": 62024,
  "md-code-slash-sharp": 62025,
  "md-code-working": 62026,
  "md-code-working-outline": 62027,
  "md-code-working-sharp": 62028,
  "md-cog": 62029,
  "md-cog-outline": 62030,
  "md-cog-sharp": 62031,
  "md-color-fill": 62032,
  "md-color-fill-outline": 62033,
  "md-color-fill-sharp": 62034,
  "md-color-filter": 62035,
  "md-color-filter-outline": 62036,
  "md-color-filter-sharp": 62037,
  "md-color-palette": 62038,
  "md-color-palette-outline": 62039,
  "md-color-palette-sharp": 62040,
  "md-color-wand": 62041,
  "md-color-wand-outline": 62042,
  "md-color-wand-sharp": 62043,
  "md-compass": 62044,
  "md-compass-outline": 62045,
  "md-compass-sharp": 62046,
  "md-construct": 62047,
  "md-construct-outline": 62048,
  "md-construct-sharp": 62049,
  "md-contract": 62050,
  "md-contract-outline": 62051,
  "md-contract-sharp": 62052,
  "md-contrast": 62053,
  "md-contrast-outline": 62054,
  "md-contrast-sharp": 62055,
  "md-copy": 62056,
  "md-copy-outline": 62057,
  "md-copy-sharp": 62058,
  "md-create": 62059,
  "md-create-outline": 62060,
  "md-create-sharp": 62061,
  "md-crop": 62062,
  "md-crop-outline": 62063,
  "md-crop-sharp": 62064,
  "md-cube": 62065,
  "md-cube-outline": 62066,
  "md-cube-sharp": 62067,
  "md-cut": 62068,
  "md-cut-outline": 62069,
  "md-cut-sharp": 62070,
  "md-desktop": 62071,
  "md-desktop-outline": 62072,
  "md-desktop-sharp": 62073,
  "md-disc": 62074,
  "md-disc-outline": 62075,
  "md-disc-sharp": 62076,
  "md-document": 62077,
  "md-document-attach": 62078,
  "md-document-attach-outline": 62079,
  "md-document-attach-sharp": 62080,
  "md-document-outline": 62081,
  "md-document-sharp": 62082,
  "md-document-text": 62083,
  "md-document-text-outline": 62084,
  "md-document-text-sharp": 62085,
  "md-documents": 62086,
  "md-documents-outline": 62087,
  "md-documents-sharp": 62088,
  "md-download": 62089,
  "md-download-outline": 62090,
  "md-download-sharp": 62091,
  "md-duplicate": 62092,
  "md-duplicate-outline": 62093,
  "md-duplicate-sharp": 62094,
  "md-ear": 62095,
  "md-ear-outline": 62096,
  "md-ear-sharp": 62097,
  "md-earth": 62098,
  "md-earth-outline": 62099,
  "md-earth-sharp": 62100,
  "md-easel": 62101,
  "md-easel-outline": 62102,
  "md-easel-sharp": 62103,
  "md-egg": 62104,
  "md-egg-outline": 62105,
  "md-egg-sharp": 62106,
  "md-ellipse": 62107,
  "md-ellipse-outline": 62108,
  "md-ellipse-sharp": 62109,
  "md-ellipsis-horizontal": 62110,
  "md-ellipsis-horizontal-circle": 62111,
  "md-ellipsis-horizontal-circle-outline": 62112,
  "md-ellipsis-horizontal-circle-sharp": 62113,
  "md-ellipsis-horizontal-outline": 62114,
  "md-ellipsis-horizontal-sharp": 62115,
  "md-ellipsis-vertical": 62116,
  "md-ellipsis-vertical-circle": 62117,
  "md-ellipsis-vertical-circle-outline": 62118,
  "md-ellipsis-vertical-circle-sharp": 62119,
  "md-ellipsis-vertical-outline": 62120,
  "md-ellipsis-vertical-sharp": 62121,
  "md-enter": 62122,
  "md-enter-outline": 62123,
  "md-enter-sharp": 62124,
  "md-exit": 62125,
  "md-exit-outline": 62126,
  "md-exit-sharp": 62127,
  "md-expand": 62128,
  "md-expand-outline": 62129,
  "md-expand-sharp": 62130,
  "md-eye": 62131,
  "md-eye-off": 62132,
  "md-eye-off-outline": 62133,
  "md-eye-off-sharp": 62134,
  "md-eye-outline": 62135,
  "md-eye-sharp": 62136,
  "md-eyedrop": 62137,
  "md-eyedrop-outline": 62138,
  "md-eyedrop-sharp": 62139,
  "md-fast-food": 62140,
  "md-fast-food-outline": 62141,
  "md-fast-food-sharp": 62142,
  "md-female": 62143,
  "md-female-outline": 62144,
  "md-female-sharp": 62145,
  "md-file-tray": 62146,
  "md-file-tray-full": 62147,
  "md-file-tray-full-outline": 62148,
  "md-file-tray-full-sharp": 62149,
  "md-file-tray-outline": 62150,
  "md-file-tray-sharp": 62151,
  "md-file-tray-stacked": 62152,
  "md-file-tray-stacked-outline": 62153,
  "md-file-tray-stacked-sharp": 62154,
  "md-film": 62155,
  "md-film-outline": 62156,
  "md-film-sharp": 62157,
  "md-filter": 62158,
  "md-filter-outline": 62159,
  "md-filter-sharp": 62160,
  "md-finger-print": 62161,
  "md-finger-print-outline": 62162,
  "md-finger-print-sharp": 62163,
  "md-fitness": 62164,
  "md-fitness-outline": 62165,
  "md-fitness-sharp": 62166,
  "md-flag": 62167,
  "md-flag-outline": 62168,
  "md-flag-sharp": 62169,
  "md-flame": 62170,
  "md-flame-outline": 62171,
  "md-flame-sharp": 62172,
  "md-flash": 62173,
  "md-flash-off": 62174,
  "md-flash-off-outline": 62175,
  "md-flash-off-sharp": 62176,
  "md-flash-outline": 62177,
  "md-flash-sharp": 62178,
  "md-flashlight": 62179,
  "md-flashlight-outline": 62180,
  "md-flashlight-sharp": 62181,
  "md-flask": 62182,
  "md-flask-outline": 62183,
  "md-flask-sharp": 62184,
  "md-flower": 62185,
  "md-flower-outline": 62186,
  "md-flower-sharp": 62187,
  "md-folder": 62188,
  "md-folder-open": 62189,
  "md-folder-open-outline": 62190,
  "md-folder-open-sharp": 62191,
  "md-folder-outline": 62192,
  "md-folder-sharp": 62193,
  "md-football": 62194,
  "md-football-outline": 62195,
  "md-football-sharp": 62196,
  "md-funnel": 62197,
  "md-funnel-outline": 62198,
  "md-funnel-sharp": 62199,
  "md-game-controller": 62200,
  "md-game-controller-outline": 62201,
  "md-game-controller-sharp": 62202,
  "md-gift": 62203,
  "md-gift-outline": 62204,
  "md-gift-sharp": 62205,
  "md-git-branch": 62206,
  "md-git-branch-outline": 62207,
  "md-git-branch-sharp": 62208,
  "md-git-commit": 62209,
  "md-git-commit-outline": 62210,
  "md-git-commit-sharp": 62211,
  "md-git-compare": 62212,
  "md-git-compare-outline": 62213,
  "md-git-compare-sharp": 62214,
  "md-git-merge": 62215,
  "md-git-merge-outline": 62216,
  "md-git-merge-sharp": 62217,
  "md-git-network": 62218,
  "md-git-network-outline": 62219,
  "md-git-network-sharp": 62220,
  "md-git-pull-request": 62221,
  "md-git-pull-request-outline": 62222,
  "md-git-pull-request-sharp": 62223,
  "md-glasses": 62224,
  "md-glasses-outline": 62225,
  "md-glasses-sharp": 62226,
  "md-globe": 62227,
  "md-globe-outline": 62228,
  "md-globe-sharp": 62229,
  "md-golf": 62230,
  "md-golf-outline": 62231,
  "md-golf-sharp": 62232,
  "md-grid": 62233,
  "md-grid-outline": 62234,
  "md-grid-sharp": 62235,
  "md-hammer": 62236,
  "md-hammer-outline": 62237,
  "md-hammer-sharp": 62238,
  "md-hand-left": 62239,
  "md-hand-left-outline": 62240,
  "md-hand-left-sharp": 62241,
  "md-hand-right": 62242,
  "md-hand-right-outline": 62243,
  "md-hand-right-sharp": 62244,
  "md-happy": 62245,
  "md-happy-outline": 62246,
  "md-happy-sharp": 62247,
  "md-hardware-chip": 62248,
  "md-hardware-chip-outline": 62249,
  "md-hardware-chip-sharp": 62250,
  "md-headset": 62251,
  "md-headset-outline": 62252,
  "md-headset-sharp": 62253,
  "md-heart": 62254,
  "md-heart-circle": 62255,
  "md-heart-circle-outline": 62256,
  "md-heart-circle-sharp": 62257,
  "md-heart-dislike": 62258,
  "md-heart-dislike-circle": 62259,
  "md-heart-dislike-circle-outline": 62260,
  "md-heart-dislike-circle-sharp": 62261,
  "md-heart-dislike-outline": 62262,
  "md-heart-dislike-sharp": 62263,
  "md-heart-half": 62264,
  "md-heart-half-outline": 62265,
  "md-heart-half-sharp": 62266,
  "md-heart-outline": 62267,
  "md-heart-sharp": 62268,
  "md-help": 62269,
  "md-help-buoy": 62270,
  "md-help-buoy-outline": 62271,
  "md-help-buoy-sharp": 62272,
  "md-help-circle": 62273,
  "md-help-circle-outline": 62274,
  "md-help-circle-sharp": 62275,
  "md-help-outline": 62276,
  "md-help-sharp": 62277,
  "md-home": 62278,
  "md-home-outline": 62279,
  "md-home-sharp": 62280,
  "md-hourglass": 62281,
  "md-hourglass-outline": 62282,
  "md-hourglass-sharp": 62283,
  "md-ice-cream": 62284,
  "md-ice-cream-outline": 62285,
  "md-ice-cream-sharp": 62286,
  "md-image": 62287,
  "md-image-outline": 62288,
  "md-image-sharp": 62289,
  "md-images": 62290,
  "md-images-outline": 62291,
  "md-images-sharp": 62292,
  "md-infinite": 62293,
  "md-infinite-outline": 62294,
  "md-infinite-sharp": 62295,
  "md-information": 62296,
  "md-information-circle": 62297,
  "md-information-circle-outline": 62298,
  "md-information-circle-sharp": 62299,
  "md-information-outline": 62300,
  "md-information-sharp": 62301,
  "md-journal": 62302,
  "md-journal-outline": 62303,
  "md-journal-sharp": 62304,
  "md-key": 62305,
  "md-key-outline": 62306,
  "md-key-sharp": 62307,
  "md-keypad": 62308,
  "md-keypad-outline": 62309,
  "md-keypad-sharp": 62310,
  "md-language": 62311,
  "md-language-outline": 62312,
  "md-language-sharp": 62313,
  "md-laptop": 62314,
  "md-laptop-outline": 62315,
  "md-laptop-sharp": 62316,
  "md-layers": 62317,
  "md-layers-outline": 62318,
  "md-layers-sharp": 62319,
  "md-leaf": 62320,
  "md-leaf-outline": 62321,
  "md-leaf-sharp": 62322,
  "md-library": 62323,
  "md-library-outline": 62324,
  "md-library-sharp": 62325,
  "md-link": 62326,
  "md-link-outline": 62327,
  "md-link-sharp": 62328,
  "md-list": 62329,
  "md-list-circle": 62330,
  "md-list-circle-outline": 62331,
  "md-list-circle-sharp": 62332,
  "md-list-outline": 62333,
  "md-list-sharp": 62334,
  "md-locate": 62335,
  "md-locate-outline": 62336,
  "md-locate-sharp": 62337,
  "md-location": 62338,
  "md-location-outline": 62339,
  "md-location-sharp": 62340,
  "md-lock-closed": 62341,
  "md-lock-closed-outline": 62342,
  "md-lock-closed-sharp": 62343,
  "md-lock-open": 62344,
  "md-lock-open-outline": 62345,
  "md-lock-open-sharp": 62346,
  "md-log-in": 62347,
  "md-log-in-outline": 62348,
  "md-log-in-sharp": 62349,
  "md-log-out": 62350,
  "md-log-out-outline": 62351,
  "md-log-out-sharp": 62352,
  "md-logo-amazon": 62353,
  "md-logo-amplify": 62354,
  "md-logo-android": 62355,
  "md-logo-angular": 62356,
  "md-logo-apple": 62357,
  "md-logo-apple-appstore": 62358,
  "md-logo-bitbucket": 62359,
  "md-logo-bitcoin": 62360,
  "md-logo-buffer": 62361,
  "md-logo-capacitor": 62362,
  "md-logo-chrome": 62363,
  "md-logo-closed-captioning": 62364,
  "md-logo-codepen": 62365,
  "md-logo-css3": 62366,
  "md-logo-designernews": 62367,
  "md-logo-dribbble": 62368,
  "md-logo-dropbox": 62369,
  "md-logo-edge": 62370,
  "md-logo-electron": 62371,
  "md-logo-euro": 62372,
  "md-logo-facebook": 62373,
  "md-logo-firebase": 62374,
  "md-logo-firefox": 62375,
  "md-logo-flickr": 62376,
  "md-logo-foursquare": 62377,
  "md-logo-github": 62378,
  "md-logo-google": 62379,
  "md-logo-google-playstore": 62380,
  "md-logo-hackernews": 62381,
  "md-logo-html5": 62382,
  "md-logo-instagram": 62383,
  "md-logo-ionic": 62384,
  "md-logo-ionitron": 62385,
  "md-logo-javascript": 62386,
  "md-logo-laravel": 62387,
  "md-logo-linkedin": 62388,
  "md-logo-markdown": 62389,
  "md-logo-no-smoking": 62390,
  "md-logo-nodejs": 62391,
  "md-logo-npm": 62392,
  "md-logo-octocat": 62393,
  "md-logo-pinterest": 62394,
  "md-logo-playstation": 62395,
  "md-logo-pwa": 62396,
  "md-logo-python": 62397,
  "md-logo-react": 62398,
  "md-logo-reddit": 62399,
  "md-logo-rss": 62400,
  "md-logo-sass": 62401,
  "md-logo-skype": 62402,
  "md-logo-slack": 62403,
  "md-logo-snapchat": 62404,
  "md-logo-stackoverflow": 62405,
  "md-logo-steam": 62406,
  "md-logo-stencil": 62407,
  "md-logo-tumblr": 62408,
  "md-logo-tux": 62409,
  "md-logo-twitch": 62410,
  "md-logo-twitter": 62411,
  "md-logo-usd": 62412,
  "md-logo-vimeo": 62413,
  "md-logo-vk": 62414,
  "md-logo-vue": 62415,
  "md-logo-web-component": 62416,
  "md-logo-whatsapp": 62417,
  "md-logo-windows": 62418,
  "md-logo-wordpress": 62419,
  "md-logo-xbox": 62420,
  "md-logo-xing": 62421,
  "md-logo-yahoo": 62422,
  "md-logo-yen": 62423,
  "md-logo-youtube": 62424,
  "md-magnet": 62425,
  "md-magnet-outline": 62426,
  "md-magnet-sharp": 62427,
  "md-mail": 62428,
  "md-mail-open": 62429,
  "md-mail-open-outline": 62430,
  "md-mail-open-sharp": 62431,
  "md-mail-outline": 62432,
  "md-mail-sharp": 62433,
  "md-mail-unread": 62434,
  "md-mail-unread-outline": 62435,
  "md-mail-unread-sharp": 62436,
  "md-male": 62437,
  "md-male-female": 62438,
  "md-male-female-outline": 62439,
  "md-male-female-sharp": 62440,
  "md-male-outline": 62441,
  "md-male-sharp": 62442,
  "md-man": 62443,
  "md-man-outline": 62444,
  "md-man-sharp": 62445,
  "md-map": 62446,
  "md-map-outline": 62447,
  "md-map-sharp": 62448,
  "md-medal": 62449,
  "md-medal-outline": 62450,
  "md-medal-sharp": 62451,
  "md-medical": 62452,
  "md-medical-outline": 62453,
  "md-medical-sharp": 62454,
  "md-medkit": 62455,
  "md-medkit-outline": 62456,
  "md-medkit-sharp": 62457,
  "md-megaphone": 62458,
  "md-megaphone-outline": 62459,
  "md-megaphone-sharp": 62460,
  "md-menu": 62461,
  "md-menu-outline": 62462,
  "md-menu-sharp": 62463,
  "md-mic": 62464,
  "md-mic-circle": 62465,
  "md-mic-circle-outline": 62466,
  "md-mic-circle-sharp": 62467,
  "md-mic-off": 62468,
  "md-mic-off-circle": 62469,
  "md-mic-off-circle-outline": 62470,
  "md-mic-off-circle-sharp": 62471,
  "md-mic-off-outline": 62472,
  "md-mic-off-sharp": 62473,
  "md-mic-outline": 62474,
  "md-mic-sharp": 62475,
  "md-moon": 62476,
  "md-moon-outline": 62477,
  "md-moon-sharp": 62478,
  "md-move": 62479,
  "md-move-outline": 62480,
  "md-move-sharp": 62481,
  "md-musical-note": 62482,
  "md-musical-note-outline": 62483,
  "md-musical-note-sharp": 62484,
  "md-musical-notes": 62485,
  "md-musical-notes-outline": 62486,
  "md-musical-notes-sharp": 62487,
  "md-navigate": 62488,
  "md-navigate-circle": 62489,
  "md-navigate-circle-outline": 62490,
  "md-navigate-circle-sharp": 62491,
  "md-navigate-outline": 62492,
  "md-navigate-sharp": 62493,
  "md-newspaper": 62494,
  "md-newspaper-outline": 62495,
  "md-newspaper-sharp": 62496,
  "md-notifications": 62497,
  "md-notifications-circle": 62498,
  "md-notifications-circle-outline": 62499,
  "md-notifications-circle-sharp": 62500,
  "md-notifications-off": 62501,
  "md-notifications-off-circle": 62502,
  "md-notifications-off-circle-outline": 62503,
  "md-notifications-off-circle-sharp": 62504,
  "md-notifications-off-outline": 62505,
  "md-notifications-off-sharp": 62506,
  "md-notifications-outline": 62507,
  "md-notifications-sharp": 62508,
  "md-nuclear": 62509,
  "md-nuclear-outline": 62510,
  "md-nuclear-sharp": 62511,
  "md-nutrition": 62512,
  "md-nutrition-outline": 62513,
  "md-nutrition-sharp": 62514,
  "md-open": 62515,
  "md-open-outline": 62516,
  "md-open-sharp": 62517,
  "md-options": 62518,
  "md-options-outline": 62519,
  "md-options-sharp": 62520,
  "md-paper-plane": 62521,
  "md-paper-plane-outline": 62522,
  "md-paper-plane-sharp": 62523,
  "md-partly-sunny": 62524,
  "md-partly-sunny-outline": 62525,
  "md-partly-sunny-sharp": 62526,
  "md-pause": 62527,
  "md-pause-circle": 62528,
  "md-pause-circle-outline": 62529,
  "md-pause-circle-sharp": 62530,
  "md-pause-outline": 62531,
  "md-pause-sharp": 62532,
  "md-paw": 62533,
  "md-paw-outline": 62534,
  "md-paw-sharp": 62535,
  "md-pencil": 62536,
  "md-pencil-outline": 62537,
  "md-pencil-sharp": 62538,
  "md-people": 62539,
  "md-people-circle": 62540,
  "md-people-circle-outline": 62541,
  "md-people-circle-sharp": 62542,
  "md-people-outline": 62543,
  "md-people-sharp": 62544,
  "md-person": 62545,
  "md-person-add": 62546,
  "md-person-add-outline": 62547,
  "md-person-add-sharp": 62548,
  "md-person-circle": 62549,
  "md-person-circle-outline": 62550,
  "md-person-circle-sharp": 62551,
  "md-person-outline": 62552,
  "md-person-remove": 62553,
  "md-person-remove-outline": 62554,
  "md-person-remove-sharp": 62555,
  "md-person-sharp": 62556,
  "md-phone-landscape": 62557,
  "md-phone-landscape-outline": 62558,
  "md-phone-landscape-sharp": 62559,
  "md-phone-portrait": 62560,
  "md-phone-portrait-outline": 62561,
  "md-phone-portrait-sharp": 62562,
  "md-pie-chart": 62563,
  "md-pie-chart-outline": 62564,
  "md-pie-chart-sharp": 62565,
  "md-pin": 62566,
  "md-pin-outline": 62567,
  "md-pin-sharp": 62568,
  "md-pint": 62569,
  "md-pint-outline": 62570,
  "md-pint-sharp": 62571,
  "md-pizza": 62572,
  "md-pizza-outline": 62573,
  "md-pizza-sharp": 62574,
  "md-planet": 62575,
  "md-planet-outline": 62576,
  "md-planet-sharp": 62577,
  "md-play": 62578,
  "md-play-back": 62579,
  "md-play-back-circle": 62580,
  "md-play-back-circle-outline": 62581,
  "md-play-back-circle-sharp": 62582,
  "md-play-back-outline": 62583,
  "md-play-back-sharp": 62584,
  "md-play-circle": 62585,
  "md-play-circle-outline": 62586,
  "md-play-circle-sharp": 62587,
  "md-play-forward": 62588,
  "md-play-forward-circle": 62589,
  "md-play-forward-circle-outline": 62590,
  "md-play-forward-circle-sharp": 62591,
  "md-play-forward-outline": 62592,
  "md-play-forward-sharp": 62593,
  "md-play-outline": 62594,
  "md-play-sharp": 62595,
  "md-play-skip-back": 62596,
  "md-play-skip-back-circle": 62597,
  "md-play-skip-back-circle-outline": 62598,
  "md-play-skip-back-circle-sharp": 62599,
  "md-play-skip-back-outline": 62600,
  "md-play-skip-back-sharp": 62601,
  "md-play-skip-forward": 62602,
  "md-play-skip-forward-circle": 62603,
  "md-play-skip-forward-circle-outline": 62604,
  "md-play-skip-forward-circle-sharp": 62605,
  "md-play-skip-forward-outline": 62606,
  "md-play-skip-forward-sharp": 62607,
  "md-podium": 62608,
  "md-podium-outline": 62609,
  "md-podium-sharp": 62610,
  "md-power": 62611,
  "md-power-outline": 62612,
  "md-power-sharp": 62613,
  "md-pricetag": 62614,
  "md-pricetag-outline": 62615,
  "md-pricetag-sharp": 62616,
  "md-pricetags": 62617,
  "md-pricetags-outline": 62618,
  "md-pricetags-sharp": 62619,
  "md-print": 62620,
  "md-print-outline": 62621,
  "md-print-sharp": 62622,
  "md-pulse": 62623,
  "md-pulse-outline": 62624,
  "md-pulse-sharp": 62625,
  "md-push": 62626,
  "md-push-outline": 62627,
  "md-push-sharp": 62628,
  "md-qr-code": 62629,
  "md-qr-code-outline": 62630,
  "md-qr-code-sharp": 62631,
  "md-radio": 62632,
  "md-radio-button-off": 62633,
  "md-radio-button-off-outline": 62634,
  "md-radio-button-off-sharp": 62635,
  "md-radio-button-on": 62636,
  "md-radio-button-on-outline": 62637,
  "md-radio-button-on-sharp": 62638,
  "md-radio-outline": 62639,
  "md-radio-sharp": 62640,
  "md-rainy": 62641,
  "md-rainy-outline": 62642,
  "md-rainy-sharp": 62643,
  "md-reader": 62644,
  "md-reader-outline": 62645,
  "md-reader-sharp": 62646,
  "md-receipt": 62647,
  "md-receipt-outline": 62648,
  "md-receipt-sharp": 62649,
  "md-recording": 62650,
  "md-recording-outline": 62651,
  "md-recording-sharp": 62652,
  "md-refresh": 62653,
  "md-refresh-circle": 62654,
  "md-refresh-circle-outline": 62655,
  "md-refresh-circle-sharp": 62656,
  "md-refresh-outline": 62657,
  "md-refresh-sharp": 62658,
  "md-reload": 62659,
  "md-reload-circle": 62660,
  "md-reload-circle-outline": 62661,
  "md-reload-circle-sharp": 62662,
  "md-reload-outline": 62663,
  "md-reload-sharp": 62664,
  "md-remove": 62665,
  "md-remove-circle": 62666,
  "md-remove-circle-outline": 62667,
  "md-remove-circle-sharp": 62668,
  "md-remove-outline": 62669,
  "md-remove-sharp": 62670,
  "md-reorder-four": 62671,
  "md-reorder-four-outline": 62672,
  "md-reorder-four-sharp": 62673,
  "md-reorder-three": 62674,
  "md-reorder-three-outline": 62675,
  "md-reorder-three-sharp": 62676,
  "md-reorder-two": 62677,
  "md-reorder-two-outline": 62678,
  "md-reorder-two-sharp": 62679,
  "md-repeat": 62680,
  "md-repeat-outline": 62681,
  "md-repeat-sharp": 62682,
  "md-resize": 62683,
  "md-resize-outline": 62684,
  "md-resize-sharp": 62685,
  "md-restaurant": 62686,
  "md-restaurant-outline": 62687,
  "md-restaurant-sharp": 62688,
  "md-return-down-back": 62689,
  "md-return-down-back-outline": 62690,
  "md-return-down-back-sharp": 62691,
  "md-return-down-forward": 62692,
  "md-return-down-forward-outline": 62693,
  "md-return-down-forward-sharp": 62694,
  "md-return-up-back": 62695,
  "md-return-up-back-outline": 62696,
  "md-return-up-back-sharp": 62697,
  "md-return-up-forward": 62698,
  "md-return-up-forward-outline": 62699,
  "md-return-up-forward-sharp": 62700,
  "md-ribbon": 62701,
  "md-ribbon-outline": 62702,
  "md-ribbon-sharp": 62703,
  "md-rocket": 62704,
  "md-rocket-outline": 62705,
  "md-rocket-sharp": 62706,
  "md-rose": 62707,
  "md-rose-outline": 62708,
  "md-rose-sharp": 62709,
  "md-sad": 62710,
  "md-sad-outline": 62711,
  "md-sad-sharp": 62712,
  "md-save": 62713,
  "md-save-outline": 62714,
  "md-save-sharp": 62715,
  "md-scan": 62716,
  "md-scan-circle": 62717,
  "md-scan-circle-outline": 62718,
  "md-scan-circle-sharp": 62719,
  "md-scan-outline": 62720,
  "md-scan-sharp": 62721,
  "md-school": 62722,
  "md-school-outline": 62723,
  "md-school-sharp": 62724,
  "md-search": 62725,
  "md-search-circle": 62726,
  "md-search-circle-outline": 62727,
  "md-search-circle-sharp": 62728,
  "md-search-outline": 62729,
  "md-search-sharp": 62730,
  "md-send": 62731,
  "md-send-outline": 62732,
  "md-send-sharp": 62733,
  "md-server": 62734,
  "md-server-outline": 62735,
  "md-server-sharp": 62736,
  "md-settings": 62737,
  "md-settings-outline": 62738,
  "md-settings-sharp": 62739,
  "md-shapes": 62740,
  "md-shapes-outline": 62741,
  "md-shapes-sharp": 62742,
  "md-share": 62743,
  "md-share-outline": 62744,
  "md-share-sharp": 62745,
  "md-share-social": 62746,
  "md-share-social-outline": 62747,
  "md-share-social-sharp": 62748,
  "md-shield": 62749,
  "md-shield-checkmark": 62750,
  "md-shield-checkmark-outline": 62751,
  "md-shield-checkmark-sharp": 62752,
  "md-shield-outline": 62753,
  "md-shield-sharp": 62754,
  "md-shirt": 62755,
  "md-shirt-outline": 62756,
  "md-shirt-sharp": 62757,
  "md-shuffle": 62758,
  "md-shuffle-outline": 62759,
  "md-shuffle-sharp": 62760,
  "md-skull": 62761,
  "md-skull-outline": 62762,
  "md-skull-sharp": 62763,
  "md-snow": 62764,
  "md-snow-outline": 62765,
  "md-snow-sharp": 62766,
  "md-speedometer": 62767,
  "md-speedometer-outline": 62768,
  "md-speedometer-sharp": 62769,
  "md-square": 62770,
  "md-square-outline": 62771,
  "md-square-sharp": 62772,
  "md-star": 62773,
  "md-star-half": 62774,
  "md-star-half-outline": 62775,
  "md-star-half-sharp": 62776,
  "md-star-outline": 62777,
  "md-star-sharp": 62778,
  "md-stats-chart": 62779,
  "md-stats-chart-outline": 62780,
  "md-stats-chart-sharp": 62781,
  "md-stop": 62782,
  "md-stop-circle": 62783,
  "md-stop-circle-outline": 62784,
  "md-stop-circle-sharp": 62785,
  "md-stop-outline": 62786,
  "md-stop-sharp": 62787,
  "md-stopwatch": 62788,
  "md-stopwatch-outline": 62789,
  "md-stopwatch-sharp": 62790,
  "md-subway": 62791,
  "md-subway-outline": 62792,
  "md-subway-sharp": 62793,
  "md-sunny": 62794,
  "md-sunny-outline": 62795,
  "md-sunny-sharp": 62796,
  "md-swap-horizontal": 62797,
  "md-swap-horizontal-outline": 62798,
  "md-swap-horizontal-sharp": 62799,
  "md-swap-vertical": 62800,
  "md-swap-vertical-outline": 62801,
  "md-swap-vertical-sharp": 62802,
  "md-sync": 62803,
  "md-sync-circle": 62804,
  "md-sync-circle-outline": 62805,
  "md-sync-circle-sharp": 62806,
  "md-sync-outline": 62807,
  "md-sync-sharp": 62808,
  "md-tablet-landscape": 62809,
  "md-tablet-landscape-outline": 62810,
  "md-tablet-landscape-sharp": 62811,
  "md-tablet-portrait": 62812,
  "md-tablet-portrait-outline": 62813,
  "md-tablet-portrait-sharp": 62814,
  "md-tennisball": 62815,
  "md-tennisball-outline": 62816,
  "md-tennisball-sharp": 62817,
  "md-terminal": 62818,
  "md-terminal-outline": 62819,
  "md-terminal-sharp": 62820,
  "md-text": 62821,
  "md-text-outline": 62822,
  "md-text-sharp": 62823,
  "md-thermometer": 62824,
  "md-thermometer-outline": 62825,
  "md-thermometer-sharp": 62826,
  "md-thumbs-down": 62827,
  "md-thumbs-down-outline": 62828,
  "md-thumbs-down-sharp": 62829,
  "md-thumbs-up": 62830,
  "md-thumbs-up-outline": 62831,
  "md-thumbs-up-sharp": 62832,
  "md-thunderstorm": 62833,
  "md-thunderstorm-outline": 62834,
  "md-thunderstorm-sharp": 62835,
  "md-time": 62836,
  "md-time-outline": 62837,
  "md-time-sharp": 62838,
  "md-timer": 62839,
  "md-timer-outline": 62840,
  "md-timer-sharp": 62841,
  "md-today": 62842,
  "md-today-outline": 62843,
  "md-today-sharp": 62844,
  "md-toggle": 62845,
  "md-toggle-outline": 62846,
  "md-toggle-sharp": 62847,
  "md-trail-sign": 62848,
  "md-trail-sign-outline": 62849,
  "md-trail-sign-sharp": 62850,
  "md-train": 62851,
  "md-train-outline": 62852,
  "md-train-sharp": 62853,
  "md-transgender": 62854,
  "md-transgender-outline": 62855,
  "md-transgender-sharp": 62856,
  "md-trash": 62857,
  "md-trash-bin": 62858,
  "md-trash-bin-outline": 62859,
  "md-trash-bin-sharp": 62860,
  "md-trash-outline": 62861,
  "md-trash-sharp": 62862,
  "md-trending-down": 62863,
  "md-trending-down-outline": 62864,
  "md-trending-down-sharp": 62865,
  "md-trending-up": 62866,
  "md-trending-up-outline": 62867,
  "md-trending-up-sharp": 62868,
  "md-triangle": 62869,
  "md-triangle-outline": 62870,
  "md-triangle-sharp": 62871,
  "md-trophy": 62872,
  "md-trophy-outline": 62873,
  "md-trophy-sharp": 62874,
  "md-tv": 62875,
  "md-tv-outline": 62876,
  "md-tv-sharp": 62877,
  "md-umbrella": 62878,
  "md-umbrella-outline": 62879,
  "md-umbrella-sharp": 62880,
  "md-videocam": 62881,
  "md-videocam-outline": 62882,
  "md-videocam-sharp": 62883,
  "md-volume-high": 62884,
  "md-volume-high-outline": 62885,
  "md-volume-high-sharp": 62886,
  "md-volume-low": 62887,
  "md-volume-low-outline": 62888,
  "md-volume-low-sharp": 62889,
  "md-volume-medium": 62890,
  "md-volume-medium-outline": 62891,
  "md-volume-medium-sharp": 62892,
  "md-volume-mute": 62893,
  "md-volume-mute-outline": 62894,
  "md-volume-mute-sharp": 62895,
  "md-volume-off": 62896,
  "md-volume-off-outline": 62897,
  "md-volume-off-sharp": 62898,
  "md-walk": 62899,
  "md-walk-outline": 62900,
  "md-walk-sharp": 62901,
  "md-wallet": 62902,
  "md-wallet-outline": 62903,
  "md-wallet-sharp": 62904,
  "md-warning": 62905,
  "md-warning-outline": 62906,
  "md-warning-sharp": 62907,
  "md-watch": 62908,
  "md-watch-outline": 62909,
  "md-watch-sharp": 62910,
  "md-water": 62911,
  "md-water-outline": 62912,
  "md-water-sharp": 62913,
  "md-wifi": 62914,
  "md-wifi-outline": 62915,
  "md-wifi-sharp": 62916,
  "md-wine": 62917,
  "md-wine-outline": 62918,
  "md-wine-sharp": 62919,
  "md-woman": 62920,
  "md-woman-outline": 62921,
  "md-woman-sharp": 62922
}
;
},1835,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getImageSourceSync = exports.getImageSource = exports.Button = exports.default = undefined;

  var _createIconSet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _MaterialIcons = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var iconSet = (0, _createIconSet.default)(_MaterialIcons.default, 'Material Icons', 'MaterialIcons.ttf');
  var _default = iconSet;
  exports.default = _default;
  var Button = iconSet.Button,
      getImageSource = iconSet.getImageSource,
      getImageSourceSync = iconSet.getImageSourceSync;
  exports.getImageSourceSync = getImageSourceSync;
  exports.getImageSource = getImageSource;
  exports.Button = Button;
},1836,[5,1808,1837]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "360": 58743,
  "10k": 59729,
  "10mp": 59730,
  "11mp": 59731,
  "12mp": 59732,
  "13mp": 59733,
  "14mp": 59734,
  "15mp": 59735,
  "16mp": 59736,
  "17mp": 59737,
  "18mp": 59738,
  "19mp": 59739,
  "1k": 59740,
  "1k-plus": 59741,
  "20mp": 59742,
  "21mp": 59743,
  "22mp": 59744,
  "23mp": 59745,
  "24mp": 59746,
  "2k": 59747,
  "2k-plus": 59748,
  "2mp": 59749,
  "3d-rotation": 59469,
  "3k": 59750,
  "3k-plus": 59751,
  "3mp": 59752,
  "4k": 57458,
  "4k-plus": 59753,
  "4mp": 59754,
  "5g": 61240,
  "5k": 59755,
  "5k-plus": 59756,
  "5mp": 59757,
  "6-ft-apart": 61982,
  "6k": 59758,
  "6k-plus": 59759,
  "6mp": 59760,
  "7k": 59761,
  "7k-plus": 59762,
  "7mp": 59763,
  "8k": 59764,
  "8k-plus": 59765,
  "8mp": 59766,
  "9k": 59767,
  "9k-plus": 59768,
  "9mp": 59769,
  "ac-unit": 60219,
  "access-alarm": 57744,
  "access-alarms": 57745,
  "access-time": 57746,
  "accessibility": 59470,
  "accessibility-new": 59692,
  "accessible": 59668,
  "accessible-forward": 59700,
  "account-balance": 59471,
  "account-balance-wallet": 59472,
  "account-box": 59473,
  "account-circle": 59475,
  "account-tree": 59770,
  "ad-units": 61241,
  "adb": 58894,
  "add": 57669,
  "add-a-photo": 58425,
  "add-alarm": 57747,
  "add-alert": 57347,
  "add-box": 57670,
  "add-business": 59177,
  "add-call": 57576,
  "add-chart": 59771,
  "add-circle": 57671,
  "add-circle-outline": 57672,
  "add-comment": 57958,
  "add-ic-call": 59772,
  "add-link": 57720,
  "add-location": 58727,
  "add-location-alt": 61242,
  "add-moderator": 59773,
  "add-photo-alternate": 58430,
  "add-road": 61243,
  "add-shopping-cart": 59476,
  "add-task": 62010,
  "add-to-drive": 58972,
  "add-to-home-screen": 57854,
  "add-to-photos": 58269,
  "add-to-queue": 57436,
  "addchart": 61244,
  "adjust": 58270,
  "admin-panel-settings": 61245,
  "agriculture": 60025,
  "airline-seat-flat": 58928,
  "airline-seat-flat-angled": 58929,
  "airline-seat-individual-suite": 58930,
  "airline-seat-legroom-extra": 58931,
  "airline-seat-legroom-normal": 58932,
  "airline-seat-legroom-reduced": 58933,
  "airline-seat-recline-extra": 58934,
  "airline-seat-recline-normal": 58935,
  "airplanemode-active": 57749,
  "airplanemode-inactive": 57748,
  "airplanemode-off": 57748,
  "airplanemode-on": 57749,
  "airplay": 57429,
  "airport-shuttle": 60220,
  "alarm": 59477,
  "alarm-add": 59478,
  "alarm-off": 59479,
  "alarm-on": 59480,
  "album": 57369,
  "align-horizontal-center": 57359,
  "align-horizontal-left": 57357,
  "align-horizontal-right": 57360,
  "align-vertical-bottom": 57365,
  "align-vertical-center": 57361,
  "align-vertical-top": 57356,
  "all-inbox": 59775,
  "all-inclusive": 60221,
  "all-out": 59659,
  "alt-route": 61828,
  "alternate-email": 57574,
  "amp-stories": 59923,
  "analytics": 61246,
  "anchor": 61901,
  "android": 59481,
  "animation": 59164,
  "announcement": 59482,
  "apartment": 59968,
  "api": 61879,
  "app-blocking": 61247,
  "app-registration": 61248,
  "app-settings-alt": 61249,
  "approval": 59778,
  "apps": 58819,
  "architecture": 59963,
  "archive": 57673,
  "arrow-back": 58820,
  "arrow-back-ios": 58848,
  "arrow-circle-down": 61825,
  "arrow-circle-up": 61826,
  "arrow-downward": 58843,
  "arrow-drop-down": 58821,
  "arrow-drop-down-circle": 58822,
  "arrow-drop-up": 58823,
  "arrow-forward": 58824,
  "arrow-forward-ios": 58849,
  "arrow-left": 58846,
  "arrow-right": 58847,
  "arrow-right-alt": 59713,
  "arrow-upward": 58840,
  "art-track": 57440,
  "article": 61250,
  "aspect-ratio": 59483,
  "assessment": 59484,
  "assignment": 59485,
  "assignment-ind": 59486,
  "assignment-late": 59487,
  "assignment-return": 59488,
  "assignment-returned": 59489,
  "assignment-turned-in": 59490,
  "assistant": 58271,
  "assistant-direction": 59784,
  "assistant-navigation": 59785,
  "assistant-photo": 58272,
  "atm": 58739,
  "attach-email": 59998,
  "attach-file": 57894,
  "attach-money": 57895,
  "attachment": 58044,
  "attractions": 59986,
  "audiotrack": 58273,
  "auto-awesome": 58975,
  "auto-awesome-mosaic": 58976,
  "auto-awesome-motion": 58977,
  "auto-delete": 59980,
  "auto-fix-high": 58979,
  "auto-fix-normal": 58980,
  "auto-fix-off": 58981,
  "auto-stories": 58982,
  "autorenew": 59491,
  "av-timer": 57371,
  "baby-changing-station": 61851,
  "backpack": 61852,
  "backspace": 57674,
  "backup": 59492,
  "backup-table": 61251,
  "badge": 60007,
  "bakery-dining": 59987,
  "ballot": 57714,
  "bar-chart": 57963,
  "batch-prediction": 61685,
  "bathtub": 59969,
  "battery-alert": 57756,
  "battery-charging-full": 57763,
  "battery-full": 57764,
  "battery-std": 57765,
  "battery-unknown": 57766,
  "beach-access": 60222,
  "bedtime": 61252,
  "beenhere": 58669,
  "bento": 61940,
  "bike-scooter": 61253,
  "biotech": 59962,
  "block": 57675,
  "block-flipped": 61254,
  "bluetooth": 57767,
  "bluetooth-audio": 58895,
  "bluetooth-connected": 57768,
  "bluetooth-disabled": 57769,
  "bluetooth-searching": 57770,
  "blur-circular": 58274,
  "blur-linear": 58275,
  "blur-off": 58276,
  "blur-on": 58277,
  "bolt": 59915,
  "book": 59493,
  "book-online": 61975,
  "bookmark": 59494,
  "bookmark-border": 59495,
  "bookmark-outline": 59495,
  "bookmarks": 59787,
  "border-all": 57896,
  "border-bottom": 57897,
  "border-clear": 57898,
  "border-color": 57899,
  "border-horizontal": 57900,
  "border-inner": 57901,
  "border-left": 57902,
  "border-outer": 57903,
  "border-right": 57904,
  "border-style": 57905,
  "border-top": 57906,
  "border-vertical": 57907,
  "branding-watermark": 57451,
  "breakfast-dining": 59988,
  "brightness-1": 58278,
  "brightness-2": 58279,
  "brightness-3": 58280,
  "brightness-4": 58281,
  "brightness-5": 58282,
  "brightness-6": 58283,
  "brightness-7": 58284,
  "brightness-auto": 57771,
  "brightness-high": 57772,
  "brightness-low": 57773,
  "brightness-medium": 57774,
  "broken-image": 58285,
  "browser-not-supported": 61255,
  "brunch-dining": 60019,
  "brush": 58286,
  "bubble-chart": 59101,
  "bug-report": 59496,
  "build": 59497,
  "build-circle": 61256,
  "burst-mode": 58428,
  "bus-alert": 59791,
  "business": 57519,
  "business-center": 60223,
  "cached": 59498,
  "cake": 59369,
  "calculate": 59999,
  "calendar-today": 59701,
  "calendar-view-day": 59702,
  "call": 57520,
  "call-end": 57521,
  "call-made": 57522,
  "call-merge": 57523,
  "call-missed": 57524,
  "call-missed-outgoing": 57572,
  "call-received": 57525,
  "call-split": 57526,
  "call-to-action": 57452,
  "camera": 58287,
  "camera-alt": 58288,
  "camera-enhance": 59644,
  "camera-front": 58289,
  "camera-rear": 58290,
  "camera-roll": 58291,
  "campaign": 61257,
  "cancel": 58825,
  "cancel-presentation": 57577,
  "cancel-schedule-send": 59961,
  "car-rental": 59989,
  "car-repair": 59990,
  "card-giftcard": 59638,
  "card-membership": 59639,
  "card-travel": 59640,
  "carpenter": 61944,
  "cases": 59794,
  "casino": 60224,
  "cast": 58119,
  "cast-connected": 58120,
  "cast-for-education": 61420,
  "category": 58740,
  "celebration": 60005,
  "cell-wifi": 57580,
  "center-focus-strong": 58292,
  "center-focus-weak": 58293,
  "change-history": 59499,
  "charging-station": 61853,
  "chat": 57527,
  "chat-bubble": 57546,
  "chat-bubble-outline": 57547,
  "check": 58826,
  "check-box": 59444,
  "check-box-outline-blank": 59445,
  "check-circle": 59500,
  "check-circle-outline": 59693,
  "checkroom": 61854,
  "chevron-left": 58827,
  "chevron-right": 58828,
  "child-care": 60225,
  "child-friendly": 60226,
  "chrome-reader-mode": 59501,
  "circle": 61258,
  "circle-notifications": 59796,
  "class": 59502,
  "clean-hands": 61983,
  "cleaning-services": 61695,
  "clear": 57676,
  "clear-all": 57528,
  "close": 58829,
  "close-fullscreen": 61903,
  "closed-caption": 57372,
  "closed-caption-disabled": 61916,
  "closed-caption-off": 59798,
  "cloud": 58045,
  "cloud-circle": 58046,
  "cloud-done": 58047,
  "cloud-download": 58048,
  "cloud-off": 58049,
  "cloud-queue": 58050,
  "cloud-upload": 58051,
  "code": 59503,
  "collections": 58294,
  "collections-bookmark": 58417,
  "color-lens": 58295,
  "colorize": 58296,
  "comment": 57529,
  "comment-bank": 59982,
  "commute": 59712,
  "compare": 58297,
  "compare-arrows": 59669,
  "compass-calibration": 58748,
  "compress": 59725,
  "computer": 58122,
  "confirmation-num": 58936,
  "confirmation-number": 58936,
  "connect-without-contact": 61987,
  "connected-tv": 59800,
  "construction": 59964,
  "contact-mail": 57552,
  "contact-page": 61998,
  "contact-phone": 57551,
  "contact-support": 59724,
  "contactless": 60017,
  "contacts": 57530,
  "content-copy": 57677,
  "content-cut": 57678,
  "content-paste": 57679,
  "control-camera": 57460,
  "control-point": 58298,
  "control-point-duplicate": 58299,
  "copyright": 59660,
  "coronavirus": 61985,
  "corporate-fare": 61904,
  "countertops": 61943,
  "create": 57680,
  "create-new-folder": 58060,
  "credit-card": 59504,
  "crop": 58302,
  "crop-16-9": 58300,
  "crop-3-2": 58301,
  "crop-5-4": 58303,
  "crop-7-5": 58304,
  "crop-din": 58305,
  "crop-free": 58306,
  "crop-landscape": 58307,
  "crop-original": 58308,
  "crop-portrait": 58309,
  "crop-rotate": 58423,
  "crop-square": 58310,
  "dangerous": 59802,
  "dashboard": 59505,
  "dashboard-customize": 59803,
  "data-usage": 57775,
  "date-range": 59670,
  "deck": 59970,
  "dehaze": 58311,
  "delete": 59506,
  "delete-forever": 59691,
  "delete-outline": 59694,
  "delete-sweep": 57708,
  "delivery-dining": 60018,
  "departure-board": 58742,
  "description": 59507,
  "design-services": 61706,
  "desktop-access-disabled": 59805,
  "desktop-mac": 58123,
  "desktop-windows": 58124,
  "details": 58312,
  "developer-board": 58125,
  "developer-mode": 57776,
  "device-hub": 58165,
  "device-thermostat": 57855,
  "device-unknown": 58169,
  "devices": 57777,
  "devices-other": 58167,
  "dialer-sip": 57531,
  "dialpad": 57532,
  "dinner-dining": 59991,
  "directions": 58670,
  "directions-bike": 58671,
  "directions-boat": 58674,
  "directions-bus": 58672,
  "directions-car": 58673,
  "directions-ferry": 58674,
  "directions-off": 61711,
  "directions-railway": 58676,
  "directions-run": 58726,
  "directions-subway": 58675,
  "directions-train": 58676,
  "directions-transit": 58677,
  "directions-walk": 58678,
  "dirty-lens": 61259,
  "disabled-by-default": 62000,
  "disc-full": 58896,
  "dnd-forwardslash": 58897,
  "dns": 59509,
  "do-not-disturb": 58898,
  "do-not-disturb-alt": 58897,
  "do-not-disturb-off": 58947,
  "do-not-disturb-on": 58948,
  "do-not-step": 61855,
  "do-not-touch": 61872,
  "dock": 58126,
  "domain": 59374,
  "domain-disabled": 57583,
  "domain-verification": 61260,
  "done": 59510,
  "done-all": 59511,
  "done-outline": 59695,
  "donut-large": 59671,
  "donut-small": 59672,
  "double-arrow": 59984,
  "drafts": 57681,
  "drag-handle": 57949,
  "drag-indicator": 59717,
  "drive-eta": 58899,
  "drive-file-move": 58997,
  "drive-file-move-outline": 59809,
  "drive-file-rename-outline": 59810,
  "drive-folder-upload": 59811,
  "dry": 61875,
  "dry-cleaning": 59992,
  "duo": 59813,
  "dvr": 57778,
  "dynamic-feed": 59924,
  "dynamic-form": 61887,
  "east": 61919,
  "eco": 59957,
  "edit": 58313,
  "edit-attributes": 58744,
  "edit-location": 58728,
  "edit-off": 59728,
  "edit-road": 61261,
  "eject": 59643,
  "elderly": 61978,
  "electric-bike": 60187,
  "electric-car": 60188,
  "electric-moped": 60189,
  "electric-rickshaw": 60190,
  "electric-scooter": 60191,
  "electrical-services": 61698,
  "elevator": 61856,
  "email": 57534,
  "emoji-emotions": 59938,
  "emoji-events": 59939,
  "emoji-flags": 59930,
  "emoji-food-beverage": 59931,
  "emoji-nature": 59932,
  "emoji-objects": 59940,
  "emoji-people": 59933,
  "emoji-symbols": 59934,
  "emoji-transportation": 59935,
  "engineering": 59965,
  "enhance-photo-translate": 59644,
  "enhanced-encryption": 58943,
  "equalizer": 57373,
  "error": 57344,
  "error-outline": 57345,
  "escalator": 61857,
  "escalator-warning": 61868,
  "euro": 59925,
  "euro-symbol": 59686,
  "ev-station": 58733,
  "event": 59512,
  "event-available": 58900,
  "event-busy": 58901,
  "event-note": 58902,
  "event-seat": 59651,
  "exit-to-app": 59513,
  "expand": 59727,
  "expand-less": 58830,
  "expand-more": 58831,
  "explicit": 57374,
  "explore": 59514,
  "explore-off": 59816,
  "exposure": 58314,
  "exposure-minus-1": 58315,
  "exposure-minus-2": 58316,
  "exposure-neg-1": 58315,
  "exposure-neg-2": 58316,
  "exposure-plus-1": 58317,
  "exposure-plus-2": 58318,
  "exposure-zero": 58319,
  "extension": 59515,
  "face": 59516,
  "face-retouching-natural": 61262,
  "facebook": 62004,
  "fact-check": 61637,
  "family-restroom": 61858,
  "fast-forward": 57375,
  "fast-rewind": 57376,
  "fastfood": 58746,
  "favorite": 59517,
  "favorite-border": 59518,
  "favorite-outline": 59518,
  "featured-play-list": 57453,
  "featured-video": 57454,
  "feedback": 59519,
  "fence": 61942,
  "festival": 60008,
  "fiber-dvr": 57437,
  "fiber-manual-record": 57441,
  "fiber-new": 57438,
  "fiber-pin": 57450,
  "fiber-smart-record": 57442,
  "file-copy": 57715,
  "file-download": 58052,
  "file-download-done": 59818,
  "file-present": 59918,
  "file-upload": 58054,
  "filter": 58323,
  "filter-1": 58320,
  "filter-2": 58321,
  "filter-3": 58322,
  "filter-4": 58324,
  "filter-5": 58325,
  "filter-6": 58326,
  "filter-7": 58327,
  "filter-8": 58328,
  "filter-9": 58329,
  "filter-9-plus": 58330,
  "filter-alt": 61263,
  "filter-b-and-w": 58331,
  "filter-center-focus": 58332,
  "filter-drama": 58333,
  "filter-frames": 58334,
  "filter-hdr": 58335,
  "filter-list": 57682,
  "filter-list-alt": 59726,
  "filter-none": 58336,
  "filter-tilt-shift": 58338,
  "filter-vintage": 58339,
  "find-in-page": 59520,
  "find-replace": 59521,
  "fingerprint": 59661,
  "fire-extinguisher": 61912,
  "fire-hydrant": 61859,
  "fireplace": 59971,
  "first-page": 58844,
  "fit-screen": 59920,
  "fitness-center": 60227,
  "flag": 57683,
  "flaky": 61264,
  "flare": 58340,
  "flash-auto": 58341,
  "flash-off": 58342,
  "flash-on": 58343,
  "flight": 58681,
  "flight-land": 59652,
  "flight-takeoff": 59653,
  "flip": 58344,
  "flip-camera-android": 59959,
  "flip-camera-ios": 59960,
  "flip-to-back": 59522,
  "flip-to-front": 59523,
  "folder": 58055,
  "folder-open": 58056,
  "folder-shared": 58057,
  "folder-special": 58903,
  "follow-the-signs": 61986,
  "font-download": 57703,
  "food-bank": 61938,
  "format-align-center": 57908,
  "format-align-justify": 57909,
  "format-align-left": 57910,
  "format-align-right": 57911,
  "format-bold": 57912,
  "format-clear": 57913,
  "format-color-fill": 57914,
  "format-color-reset": 57915,
  "format-color-text": 57916,
  "format-indent-decrease": 57917,
  "format-indent-increase": 57918,
  "format-italic": 57919,
  "format-line-spacing": 57920,
  "format-list-bulleted": 57921,
  "format-list-numbered": 57922,
  "format-list-numbered-rtl": 57959,
  "format-paint": 57923,
  "format-quote": 57924,
  "format-shapes": 57950,
  "format-size": 57925,
  "format-strikethrough": 57926,
  "format-textdirection-l-to-r": 57927,
  "format-textdirection-r-to-l": 57928,
  "format-underline": 57929,
  "format-underlined": 57929,
  "forum": 57535,
  "forward": 57684,
  "forward-10": 57430,
  "forward-30": 57431,
  "forward-5": 57432,
  "forward-to-inbox": 61831,
  "foundation": 61952,
  "free-breakfast": 60228,
  "fullscreen": 58832,
  "fullscreen-exit": 58833,
  "functions": 57930,
  "g-translate": 59687,
  "gamepad": 58127,
  "games": 57377,
  "gavel": 59662,
  "gesture": 57685,
  "get-app": 59524,
  "gif": 59656,
  "goat": 1114109,
  "golf-course": 60229,
  "gps-fixed": 57779,
  "gps-not-fixed": 57780,
  "gps-off": 57781,
  "grade": 59525,
  "gradient": 58345,
  "grading": 59983,
  "grain": 58346,
  "graphic-eq": 57784,
  "grass": 61957,
  "grid-off": 58347,
  "grid-on": 58348,
  "grid-view": 59824,
  "group": 59375,
  "group-add": 59376,
  "group-work": 59526,
  "groups": 62003,
  "hail": 59825,
  "handyman": 61707,
  "hardware": 59993,
  "hd": 57426,
  "hdr-enhanced-select": 61265,
  "hdr-off": 58349,
  "hdr-on": 58350,
  "hdr-strong": 58353,
  "hdr-weak": 58354,
  "headset": 58128,
  "headset-mic": 58129,
  "headset-off": 58170,
  "healing": 58355,
  "hearing": 57379,
  "hearing-disabled": 61700,
  "height": 59926,
  "help": 59527,
  "help-center": 61888,
  "help-outline": 59645,
  "high-quality": 57380,
  "highlight": 57951,
  "highlight-alt": 61266,
  "highlight-off": 59528,
  "highlight-remove": 59528,
  "history": 59529,
  "history-edu": 59966,
  "history-toggle-off": 61821,
  "home": 59530,
  "home-filled": 59826,
  "home-repair-service": 61696,
  "home-work": 59913,
  "horizontal-distribute": 57364,
  "horizontal-rule": 61704,
  "horizontal-split": 59719,
  "hot-tub": 60230,
  "hotel": 58682,
  "hourglass-bottom": 59996,
  "hourglass-disabled": 61267,
  "hourglass-empty": 59531,
  "hourglass-full": 59532,
  "hourglass-top": 59995,
  "house": 59972,
  "house-siding": 61954,
  "how-to-reg": 57716,
  "how-to-vote": 57717,
  "http": 59650,
  "https": 59533,
  "hvac": 61710,
  "icecream": 60009,
  "image": 58356,
  "image-aspect-ratio": 58357,
  "image-not-supported": 61718,
  "image-search": 58431,
  "imagesearch-roller": 59828,
  "import-contacts": 57568,
  "import-export": 57539,
  "important-devices": 59666,
  "inbox": 57686,
  "indeterminate-check-box": 59657,
  "info": 59534,
  "info-outline": 59535,
  "input": 59536,
  "insert-chart": 57931,
  "insert-chart-outlined": 57962,
  "insert-comment": 57932,
  "insert-drive-file": 57933,
  "insert-emoticon": 57934,
  "insert-invitation": 57935,
  "insert-link": 57936,
  "insert-photo": 57937,
  "insights": 61586,
  "integration-instructions": 61268,
  "inventory": 57721,
  "invert-colors": 59537,
  "invert-colors-off": 57540,
  "invert-colors-on": 59537,
  "ios-share": 59064,
  "iso": 58358,
  "keyboard": 58130,
  "keyboard-arrow-down": 58131,
  "keyboard-arrow-left": 58132,
  "keyboard-arrow-right": 58133,
  "keyboard-arrow-up": 58134,
  "keyboard-backspace": 58135,
  "keyboard-capslock": 58136,
  "keyboard-control": 58835,
  "keyboard-hide": 58138,
  "keyboard-return": 58139,
  "keyboard-tab": 58140,
  "keyboard-voice": 58141,
  "king-bed": 59973,
  "kitchen": 60231,
  "label": 59538,
  "label-important": 59703,
  "label-important-outline": 59720,
  "label-off": 59830,
  "label-outline": 59539,
  "landscape": 58359,
  "language": 59540,
  "laptop": 58142,
  "laptop-chromebook": 58143,
  "laptop-mac": 58144,
  "laptop-windows": 58145,
  "last-page": 58845,
  "launch": 59541,
  "layers": 58683,
  "layers-clear": 58684,
  "leaderboard": 61964,
  "leak-add": 58360,
  "leak-remove": 58361,
  "leave-bags-at-home": 61979,
  "legend-toggle": 61723,
  "lens": 58362,
  "library-add": 57390,
  "library-add-check": 59831,
  "library-books": 57391,
  "library-music": 57392,
  "lightbulb": 57584,
  "lightbulb-outline": 59663,
  "line-style": 59673,
  "line-weight": 59674,
  "linear-scale": 57952,
  "link": 57687,
  "link-off": 57711,
  "linked-camera": 58424,
  "liquor": 60000,
  "list": 59542,
  "list-alt": 57582,
  "live-help": 57542,
  "live-tv": 58937,
  "local-activity": 58687,
  "local-airport": 58685,
  "local-atm": 58686,
  "local-attraction": 58687,
  "local-bar": 58688,
  "local-cafe": 58689,
  "local-car-wash": 58690,
  "local-convenience-store": 58691,
  "local-dining": 58710,
  "local-drink": 58692,
  "local-fire-department": 61269,
  "local-florist": 58693,
  "local-gas-station": 58694,
  "local-grocery-store": 58695,
  "local-hospital": 58696,
  "local-hotel": 58697,
  "local-laundry-service": 58698,
  "local-library": 58699,
  "local-mall": 58700,
  "local-movies": 58701,
  "local-offer": 58702,
  "local-parking": 58703,
  "local-pharmacy": 58704,
  "local-phone": 58705,
  "local-pizza": 58706,
  "local-play": 58707,
  "local-police": 61270,
  "local-post-office": 58708,
  "local-print-shop": 58709,
  "local-printshop": 58709,
  "local-restaurant": 58710,
  "local-see": 58711,
  "local-shipping": 58712,
  "local-taxi": 58713,
  "location-city": 59377,
  "location-disabled": 57782,
  "location-history": 58714,
  "location-off": 57543,
  "location-on": 57544,
  "location-pin": 61915,
  "location-searching": 57783,
  "lock": 59543,
  "lock-clock": 61271,
  "lock-open": 59544,
  "lock-outline": 59545,
  "login": 60023,
  "logout": 59834,
  "looks": 58364,
  "looks-3": 58363,
  "looks-4": 58365,
  "looks-5": 58366,
  "looks-6": 58367,
  "looks-one": 58368,
  "looks-two": 58369,
  "loop": 57384,
  "loupe": 58370,
  "low-priority": 57709,
  "loyalty": 59546,
  "luggage": 62005,
  "lunch-dining": 60001,
  "mail": 57688,
  "mail-outline": 57569,
  "map": 58715,
  "maps-ugc": 61272,
  "margin": 59835,
  "mark-as-unread": 59836,
  "mark-chat-read": 61835,
  "mark-chat-unread": 61833,
  "mark-email-read": 61836,
  "mark-email-unread": 61834,
  "markunread": 57689,
  "markunread-mailbox": 59547,
  "masks": 61976,
  "maximize": 59696,
  "mediation": 61351,
  "medical-services": 61705,
  "meeting-room": 60239,
  "memory": 58146,
  "menu": 58834,
  "menu-book": 59929,
  "menu-open": 59837,
  "merge-type": 57938,
  "message": 57545,
  "messenger": 57546,
  "messenger-outline": 57547,
  "mic": 57385,
  "mic-external-off": 61273,
  "mic-external-on": 61274,
  "mic-none": 57386,
  "mic-off": 57387,
  "microwave": 61956,
  "military-tech": 59967,
  "minimize": 59697,
  "miscellaneous-services": 61708,
  "missed-video-call": 57459,
  "mms": 58904,
  "mobile-friendly": 57856,
  "mobile-off": 57857,
  "mobile-screen-share": 57575,
  "mode-comment": 57939,
  "mode-edit": 57940,
  "model-training": 61647,
  "monetization-on": 57955,
  "money": 58749,
  "money-off": 57948,
  "monitor": 61275,
  "monochrome-photos": 58371,
  "mood": 59378,
  "mood-bad": 59379,
  "moped": 60200,
  "more": 58905,
  "more-horiz": 58835,
  "more-time": 59997,
  "more-vert": 58836,
  "motion-photos-off": 59840,
  "motion-photos-on": 59841,
  "motion-photos-pause": 61991,
  "motion-photos-paused": 59842,
  "motorcycle": 59675,
  "mouse": 58147,
  "move-to-inbox": 57704,
  "movie": 57388,
  "movie-creation": 58372,
  "movie-filter": 58426,
  "mp": 59843,
  "multiline-chart": 59103,
  "multiple-stop": 61881,
  "multitrack-audio": 57784,
  "museum": 59958,
  "music-note": 58373,
  "music-off": 58432,
  "music-video": 57443,
  "my-library-add": 57390,
  "my-library-books": 57391,
  "my-library-music": 57392,
  "my-location": 58716,
  "nat": 61276,
  "nature": 58374,
  "nature-people": 58375,
  "navigate-before": 58376,
  "navigate-next": 58377,
  "navigation": 58717,
  "near-me": 58729,
  "near-me-disabled": 61935,
  "network-cell": 57785,
  "network-check": 58944,
  "network-locked": 58906,
  "network-wifi": 57786,
  "new-releases": 57393,
  "next-plan": 61277,
  "next-week": 57706,
  "nfc": 57787,
  "night-shelter": 61937,
  "nightlife": 60002,
  "nightlight-round": 61278,
  "nights-stay": 59974,
  "no-backpack": 62007,
  "no-cell": 61860,
  "no-drinks": 61861,
  "no-encryption": 58945,
  "no-flash": 61862,
  "no-food": 61863,
  "no-luggage": 62011,
  "no-meals": 61910,
  "no-meals-ouline": 61993,
  "no-meeting-room": 60238,
  "no-photography": 61864,
  "no-sim": 57548,
  "no-stroller": 61871,
  "no-transfer": 61909,
  "north": 61920,
  "north-east": 61921,
  "north-west": 61922,
  "not-accessible": 61694,
  "not-interested": 57395,
  "not-listed-location": 58741,
  "not-started": 61649,
  "note": 57455,
  "note-add": 59548,
  "notes": 57964,
  "notification-important": 57348,
  "notifications": 59380,
  "notifications-active": 59383,
  "notifications-none": 59381,
  "notifications-off": 59382,
  "notifications-on": 59383,
  "notifications-paused": 59384,
  "now-wallpaper": 57788,
  "now-widgets": 57789,
  "offline-bolt": 59698,
  "offline-pin": 59658,
  "offline-share": 59845,
  "ondemand-video": 58938,
  "online-prediction": 61675,
  "opacity": 59676,
  "open-in-browser": 59549,
  "open-in-full": 61902,
  "open-in-new": 59550,
  "open-with": 59551,
  "outbond": 61992,
  "outbox": 61279,
  "outdoor-grill": 59975,
  "outgoing-mail": 61650,
  "outlet": 61908,
  "outlined-flag": 57710,
  "padding": 59848,
  "pages": 59385,
  "pageview": 59552,
  "palette": 58378,
  "pan-tool": 59685,
  "panorama": 58379,
  "panorama-fish-eye": 58380,
  "panorama-fisheye": 58380,
  "panorama-horizontal": 58381,
  "panorama-horizontal-select": 61280,
  "panorama-photosphere": 59849,
  "panorama-photosphere-select": 59850,
  "panorama-vertical": 58382,
  "panorama-vertical-select": 61281,
  "panorama-wide-angle": 58383,
  "panorama-wide-angle-select": 61282,
  "park": 60003,
  "party-mode": 59386,
  "pause": 57396,
  "pause-circle-filled": 57397,
  "pause-circle-outline": 57398,
  "pause-presentation": 57578,
  "payment": 59553,
  "payments": 61283,
  "pedal-bike": 60201,
  "pending": 61284,
  "pending-actions": 61883,
  "people": 59387,
  "people-alt": 59937,
  "people-outline": 59388,
  "perm-camera-mic": 59554,
  "perm-contact-cal": 59555,
  "perm-contact-calendar": 59555,
  "perm-data-setting": 59556,
  "perm-device-info": 59557,
  "perm-device-information": 59557,
  "perm-identity": 59558,
  "perm-media": 59559,
  "perm-phone-msg": 59560,
  "perm-scan-wifi": 59561,
  "person": 59389,
  "person-add": 59390,
  "person-add-alt": 59981,
  "person-add-alt-1": 61285,
  "person-add-disabled": 59851,
  "person-outline": 59391,
  "person-pin": 58714,
  "person-pin-circle": 58730,
  "person-remove": 61286,
  "person-remove-alt-1": 61287,
  "person-search": 61702,
  "personal-video": 58939,
  "pest-control": 61690,
  "pest-control-rodent": 61693,
  "pets": 59677,
  "phone": 57549,
  "phone-android": 58148,
  "phone-bluetooth-speaker": 58907,
  "phone-callback": 58953,
  "phone-disabled": 59852,
  "phone-enabled": 59853,
  "phone-forwarded": 58908,
  "phone-in-talk": 58909,
  "phone-iphone": 58149,
  "phone-locked": 58910,
  "phone-missed": 58911,
  "phone-paused": 58912,
  "phonelink": 58150,
  "phonelink-erase": 57563,
  "phonelink-lock": 57564,
  "phonelink-off": 58151,
  "phonelink-ring": 57565,
  "phonelink-setup": 57566,
  "photo": 58384,
  "photo-album": 58385,
  "photo-camera": 58386,
  "photo-camera-back": 61288,
  "photo-camera-front": 61289,
  "photo-filter": 58427,
  "photo-library": 58387,
  "photo-size-select-actual": 58418,
  "photo-size-select-large": 58419,
  "photo-size-select-small": 58420,
  "picture-as-pdf": 58389,
  "picture-in-picture": 59562,
  "picture-in-picture-alt": 59665,
  "pie-chart": 59076,
  "pie-chart-outlined": 59077,
  "pin-drop": 58718,
  "pivot-table-chart": 59854,
  "place": 58719,
  "plagiarism": 59994,
  "play-arrow": 57399,
  "play-circle-fill": 57400,
  "play-circle-filled": 57400,
  "play-circle-outline": 57401,
  "play-disabled": 61290,
  "play-for-work": 59654,
  "playlist-add": 57403,
  "playlist-add-check": 57445,
  "playlist-play": 57439,
  "plumbing": 61703,
  "plus-one": 59392,
  "point-of-sale": 61822,
  "policy": 59927,
  "poll": 59393,
  "polymer": 59563,
  "pool": 60232,
  "portable-wifi-off": 57550,
  "portrait": 58390,
  "post-add": 59936,
  "power": 58940,
  "power-input": 58166,
  "power-off": 58950,
  "power-settings-new": 59564,
  "pregnant-woman": 59678,
  "present-to-all": 57567,
  "preview": 61893,
  "print": 59565,
  "print-disabled": 59855,
  "priority-high": 58949,
  "privacy-tip": 61660,
  "psychology": 59978,
  "public": 59403,
  "public-off": 61898,
  "publish": 57941,
  "published-with-changes": 62002,
  "push-pin": 61709,
  "qr-code": 61291,
  "qr-code-2": 57354,
  "qr-code-scanner": 61958,
  "query-builder": 59566,
  "question-answer": 59567,
  "queue": 57404,
  "queue-music": 57405,
  "queue-play-next": 57446,
  "quick-contacts-dialer": 57551,
  "quick-contacts-mail": 57552,
  "quickreply": 61292,
  "radio": 57406,
  "radio-button-checked": 59447,
  "radio-button-off": 59446,
  "radio-button-on": 59447,
  "radio-button-unchecked": 59446,
  "railway-alert": 59857,
  "ramen-dining": 60004,
  "rate-review": 58720,
  "read-more": 61293,
  "receipt": 59568,
  "receipt-long": 61294,
  "recent-actors": 57407,
  "recommend": 59858,
  "record-voice-over": 59679,
  "redeem": 59569,
  "redo": 57690,
  "reduce-capacity": 61980,
  "refresh": 58837,
  "remove": 57691,
  "remove-circle": 57692,
  "remove-circle-outline": 57693,
  "remove-done": 59859,
  "remove-from-queue": 57447,
  "remove-moderator": 59860,
  "remove-red-eye": 58391,
  "remove-shopping-cart": 59688,
  "reorder": 59646,
  "repeat": 57408,
  "repeat-on": 59862,
  "repeat-one": 57409,
  "repeat-one-on": 59863,
  "replay": 57410,
  "replay-10": 57433,
  "replay-30": 57434,
  "replay-5": 57435,
  "replay-circle-filled": 59864,
  "reply": 57694,
  "reply-all": 57695,
  "report": 57696,
  "report-off": 57712,
  "report-problem": 59570,
  "request-page": 61996,
  "request-quote": 61878,
  "reset-tv": 59865,
  "restaurant": 58732,
  "restaurant-menu": 58721,
  "restore": 59571,
  "restore-from-trash": 59704,
  "restore-page": 59689,
  "rice-bowl": 61941,
  "ring-volume": 57553,
  "roofing": 61953,
  "room": 59572,
  "room-preferences": 61880,
  "room-service": 60233,
  "rotate-90-degrees-ccw": 58392,
  "rotate-left": 58393,
  "rotate-right": 58394,
  "rounded-corner": 59680,
  "router": 58152,
  "rowing": 59681,
  "rss-feed": 57573,
  "rtt": 59821,
  "rule": 61890,
  "rule-folder": 61897,
  "run-circle": 61295,
  "rv-hookup": 58946,
  "sanitizer": 61981,
  "satellite": 58722,
  "save": 57697,
  "save-alt": 57713,
  "saved-search": 59921,
  "scanner": 58153,
  "scatter-plot": 57960,
  "schedule": 59573,
  "schedule-send": 59914,
  "school": 59404,
  "science": 59979,
  "score": 57961,
  "screen-lock-landscape": 57790,
  "screen-lock-portrait": 57791,
  "screen-lock-rotation": 57792,
  "screen-rotation": 57793,
  "screen-search-desktop": 61296,
  "screen-share": 57570,
  "sd": 59869,
  "sd-card": 58915,
  "sd-storage": 57794,
  "search": 59574,
  "search-off": 60022,
  "security": 58154,
  "segment": 59723,
  "select-all": 57698,
  "self-improvement": 60024,
  "send": 57699,
  "send-and-archive": 59916,
  "send-to-mobile": 61532,
  "sensor-door": 61877,
  "sensor-window": 61876,
  "sentiment-dissatisfied": 59409,
  "sentiment-neutral": 59410,
  "sentiment-satisfied": 59411,
  "sentiment-satisfied-alt": 57581,
  "sentiment-very-dissatisfied": 59412,
  "sentiment-very-satisfied": 59413,
  "set-meal": 61930,
  "settings": 59576,
  "settings-applications": 59577,
  "settings-backup-restore": 59578,
  "settings-bluetooth": 59579,
  "settings-brightness": 59581,
  "settings-cell": 59580,
  "settings-display": 59581,
  "settings-ethernet": 59582,
  "settings-input-antenna": 59583,
  "settings-input-component": 59584,
  "settings-input-composite": 59585,
  "settings-input-hdmi": 59586,
  "settings-input-svideo": 59587,
  "settings-overscan": 59588,
  "settings-phone": 59589,
  "settings-power": 59590,
  "settings-remote": 59591,
  "settings-system-daydream": 57795,
  "settings-voice": 59592,
  "share": 59405,
  "shield": 59872,
  "shop": 59593,
  "shop-two": 59594,
  "shopping-bag": 61900,
  "shopping-basket": 59595,
  "shopping-cart": 59596,
  "short-text": 57953,
  "show-chart": 59105,
  "shuffle": 57411,
  "shuffle-on": 59873,
  "shutter-speed": 58429,
  "sick": 61984,
  "signal-cellular-0-bar": 61608,
  "signal-cellular-4-bar": 57800,
  "signal-cellular-alt": 57858,
  "signal-cellular-connected-no-internet-4-bar": 57805,
  "signal-cellular-no-sim": 57806,
  "signal-cellular-null": 57807,
  "signal-cellular-off": 57808,
  "signal-wifi-0-bar": 61616,
  "signal-wifi-4-bar": 57816,
  "signal-wifi-4-bar-lock": 57817,
  "signal-wifi-off": 57818,
  "sim-card": 58155,
  "sim-card-alert": 58916,
  "single-bed": 59976,
  "skip-next": 57412,
  "skip-previous": 57413,
  "slideshow": 58395,
  "slow-motion-video": 57448,
  "smart-button": 61889,
  "smartphone": 58156,
  "smoke-free": 60234,
  "smoking-rooms": 60235,
  "sms": 58917,
  "sms-failed": 58918,
  "snippet-folder": 61895,
  "snooze": 57414,
  "soap": 61874,
  "sort": 57700,
  "sort-by-alpha": 57427,
  "source": 61892,
  "south": 61923,
  "south-east": 61924,
  "south-west": 61925,
  "spa": 60236,
  "space-bar": 57942,
  "speaker": 58157,
  "speaker-group": 58158,
  "speaker-notes": 59597,
  "speaker-notes-off": 59690,
  "speaker-phone": 57554,
  "speed": 59876,
  "spellcheck": 59598,
  "sports": 59952,
  "sports-bar": 61939,
  "sports-baseball": 59985,
  "sports-basketball": 59942,
  "sports-cricket": 59943,
  "sports-esports": 59944,
  "sports-football": 59945,
  "sports-golf": 59946,
  "sports-handball": 59955,
  "sports-hockey": 59947,
  "sports-kabaddi": 59956,
  "sports-mma": 59948,
  "sports-motorsports": 59949,
  "sports-rugby": 59950,
  "sports-soccer": 59951,
  "sports-tennis": 59954,
  "sports-volleyball": 59953,
  "square-foot": 59977,
  "stacked-bar-chart": 59878,
  "stacked-line-chart": 61995,
  "stairs": 61865,
  "star": 59448,
  "star-border": 59450,
  "star-half": 59449,
  "star-outline": 61551,
  "star-rate": 61676,
  "stars": 59600,
  "stay-current-landscape": 57555,
  "stay-current-portrait": 57556,
  "stay-primary-landscape": 57557,
  "stay-primary-portrait": 57558,
  "sticky-note-2": 61948,
  "stop": 57415,
  "stop-circle": 61297,
  "stop-screen-share": 57571,
  "storage": 57819,
  "store": 59601,
  "store-mall-directory": 58723,
  "storefront": 59922,
  "straighten": 58396,
  "stream": 59881,
  "streetview": 58734,
  "strikethrough-s": 57943,
  "stroller": 61870,
  "style": 58397,
  "subdirectory-arrow-left": 58841,
  "subdirectory-arrow-right": 58842,
  "subject": 59602,
  "subscript": 61713,
  "subscriptions": 57444,
  "subtitles": 57416,
  "subtitles-off": 61298,
  "subway": 58735,
  "superscript": 61714,
  "supervised-user-circle": 59705,
  "supervisor-account": 59603,
  "support": 61299,
  "support-agent": 61666,
  "surround-sound": 57417,
  "swap-calls": 57559,
  "swap-horiz": 59604,
  "swap-horizontal-circle": 59699,
  "swap-vert": 59605,
  "swap-vert-circle": 59606,
  "swap-vertical-circle": 59606,
  "swipe": 59884,
  "switch-account": 59885,
  "switch-camera": 58398,
  "switch-left": 61905,
  "switch-right": 61906,
  "switch-video": 58399,
  "sync": 58919,
  "sync-alt": 59928,
  "sync-disabled": 58920,
  "sync-problem": 58921,
  "system-update": 58922,
  "system-update-alt": 59607,
  "system-update-tv": 59607,
  "tab": 59608,
  "tab-unselected": 59609,
  "table-chart": 57957,
  "table-rows": 61697,
  "table-view": 61886,
  "tablet": 58159,
  "tablet-android": 58160,
  "tablet-mac": 58161,
  "tag": 59887,
  "tag-faces": 58400,
  "takeout-dining": 60020,
  "tap-and-play": 58923,
  "tapas": 61929,
  "taxi-alert": 61300,
  "terrain": 58724,
  "text-fields": 57954,
  "text-format": 57701,
  "text-rotate-up": 59706,
  "text-rotate-vertical": 59707,
  "text-rotation-angledown": 59708,
  "text-rotation-angleup": 59709,
  "text-rotation-down": 59710,
  "text-rotation-none": 59711,
  "text-snippet": 61894,
  "textsms": 57560,
  "texture": 58401,
  "theater-comedy": 60006,
  "theaters": 59610,
  "thumb-down": 59611,
  "thumb-down-alt": 59414,
  "thumb-down-off-alt": 59890,
  "thumb-up": 59612,
  "thumb-up-alt": 59415,
  "thumb-up-off-alt": 59891,
  "thumbs-up-down": 59613,
  "time-to-leave": 58924,
  "timelapse": 58402,
  "timeline": 59682,
  "timer": 58405,
  "timer-10": 58403,
  "timer-3": 58404,
  "timer-off": 58406,
  "title": 57956,
  "toc": 59614,
  "today": 59615,
  "toggle-off": 59893,
  "toggle-on": 59894,
  "toll": 59616,
  "tonality": 58407,
  "topic": 61896,
  "touch-app": 59667,
  "tour": 61301,
  "toys": 58162,
  "track-changes": 59617,
  "traffic": 58725,
  "train": 58736,
  "tram": 58737,
  "transfer-within-a-station": 58738,
  "transform": 58408,
  "transit-enterexit": 58745,
  "translate": 59618,
  "trending-down": 59619,
  "trending-flat": 59620,
  "trending-neutral": 59620,
  "trending-up": 59621,
  "trip-origin": 58747,
  "tty": 61866,
  "tune": 58409,
  "turned-in": 59622,
  "turned-in-not": 59623,
  "tv": 58163,
  "tv-off": 58951,
  "two-wheeler": 59897,
  "umbrella": 61869,
  "unarchive": 57705,
  "undo": 57702,
  "unfold-less": 58838,
  "unfold-more": 58839,
  "unpublished": 62006,
  "unsubscribe": 57579,
  "update": 59683,
  "update-disabled": 57461,
  "upgrade": 61691,
  "upload-file": 59900,
  "usb": 57824,
  "verified": 61302,
  "verified-user": 59624,
  "vertical-align-bottom": 57944,
  "vertical-align-center": 57945,
  "vertical-align-top": 57946,
  "vertical-distribute": 57462,
  "vertical-split": 59721,
  "vibration": 58925,
  "video-call": 57456,
  "video-collection": 57418,
  "video-label": 57457,
  "video-library": 57418,
  "video-settings": 60021,
  "videocam": 57419,
  "videocam-off": 57420,
  "videogame-asset": 58168,
  "view-agenda": 59625,
  "view-array": 59626,
  "view-carousel": 59627,
  "view-column": 59628,
  "view-comfortable": 58410,
  "view-comfy": 58410,
  "view-compact": 58411,
  "view-day": 59629,
  "view-headline": 59630,
  "view-in-ar": 59902,
  "view-list": 59631,
  "view-module": 59632,
  "view-quilt": 59633,
  "view-sidebar": 61716,
  "view-stream": 59634,
  "view-week": 59635,
  "vignette": 58421,
  "visibility": 59636,
  "visibility-off": 59637,
  "voice-chat": 58926,
  "voice-over-off": 59722,
  "voicemail": 57561,
  "volume-down": 57421,
  "volume-mute": 57422,
  "volume-off": 57423,
  "volume-up": 57424,
  "volunteer-activism": 60016,
  "vpn-key": 57562,
  "vpn-lock": 58927,
  "wallet-giftcard": 59638,
  "wallet-membership": 59639,
  "wallet-travel": 59640,
  "wallpaper": 57788,
  "warning": 57346,
  "wash": 61873,
  "watch": 58164,
  "watch-later": 59684,
  "water-damage": 61955,
  "waterfall-chart": 59904,
  "waves": 57718,
  "wb-auto": 58412,
  "wb-cloudy": 58413,
  "wb-incandescent": 58414,
  "wb-iridescent": 58422,
  "wb-shade": 59905,
  "wb-sunny": 58416,
  "wb-twighlight": 59906,
  "wc": 58941,
  "web": 57425,
  "web-asset": 57449,
  "weekend": 57707,
  "west": 61926,
  "whatshot": 59406,
  "wheelchair-pickup": 61867,
  "where-to-vote": 57719,
  "widgets": 57789,
  "wifi": 58942,
  "wifi-calling": 61303,
  "wifi-lock": 57825,
  "wifi-off": 58952,
  "wifi-protected-setup": 61692,
  "wifi-tethering": 57826,
  "wine-bar": 61928,
  "work": 59641,
  "work-off": 59714,
  "work-outline": 59715,
  "workspaces-filled": 59917,
  "workspaces-outline": 59919,
  "wrap-text": 57947,
  "wrong-location": 61304,
  "wysiwyg": 61891,
  "youtube-searched-for": 59642,
  "zoom-in": 59647,
  "zoom-out": 59648,
  "zoom-out-map": 58731
};
},1837,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getImageSourceSync = exports.getImageSource = exports.Button = exports.default = undefined;

  var _createIconSet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _MaterialCommunityIcons = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var iconSet = (0, _createIconSet.default)(_MaterialCommunityIcons.default, 'Material Design Icons', 'MaterialCommunityIcons.ttf');
  var _default = iconSet;
  exports.default = _default;
  var Button = iconSet.Button,
      getImageSource = iconSet.getImageSource,
      getImageSourceSync = iconSet.getImageSourceSync;
  exports.getImageSourceSync = getImageSourceSync;
  exports.getImageSource = getImageSource;
  exports.Button = Button;
},1838,[5,1808,1839]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "ab-testing": 983497,
  "abjad-arabic": 987944,
  "abjad-hebrew": 987945,
  "abugida-devanagari": 987946,
  "abugida-thai": 987947,
  "access-point": 983043,
  "access-point-network": 983042,
  "access-point-network-off": 986081,
  "account": 983044,
  "account-alert": 983045,
  "account-alert-outline": 985936,
  "account-arrow-left": 985937,
  "account-arrow-left-outline": 985938,
  "account-arrow-right": 985939,
  "account-arrow-right-outline": 985940,
  "account-box": 983046,
  "account-box-multiple": 985396,
  "account-box-multiple-outline": 987146,
  "account-box-outline": 983047,
  "account-cancel": 987871,
  "account-cancel-outline": 987872,
  "account-cash": 987287,
  "account-cash-outline": 987288,
  "account-check": 983048,
  "account-check-outline": 986082,
  "account-child": 985737,
  "account-child-circle": 985738,
  "account-child-outline": 987336,
  "account-circle": 983049,
  "account-circle-outline": 985941,
  "account-clock": 985942,
  "account-clock-outline": 985943,
  "account-cog": 988016,
  "account-cog-outline": 988017,
  "account-convert": 983050,
  "account-convert-outline": 987905,
  "account-cowboy-hat": 986779,
  "account-details": 984625,
  "account-details-outline": 988018,
  "account-edit": 984764,
  "account-edit-outline": 987131,
  "account-group": 985161,
  "account-group-outline": 985944,
  "account-hard-hat": 984501,
  "account-heart": 985241,
  "account-heart-outline": 986083,
  "account-key": 983051,
  "account-key-outline": 986084,
  "account-lock": 987486,
  "account-lock-outline": 987487,
  "account-minus": 983053,
  "account-minus-outline": 985836,
  "account-multiple": 983054,
  "account-multiple-check": 985285,
  "account-multiple-check-outline": 987646,
  "account-multiple-minus": 984531,
  "account-multiple-minus-outline": 986085,
  "account-multiple-outline": 983055,
  "account-multiple-plus": 983056,
  "account-multiple-plus-outline": 985088,
  "account-multiple-remove": 987658,
  "account-multiple-remove-outline": 987659,
  "account-music": 985091,
  "account-music-outline": 986345,
  "account-network": 983057,
  "account-network-outline": 986086,
  "account-off": 983058,
  "account-off-outline": 986087,
  "account-outline": 983059,
  "account-plus": 983060,
  "account-plus-outline": 985089,
  "account-question": 985945,
  "account-question-outline": 985946,
  "account-remove": 983061,
  "account-remove-outline": 985837,
  "account-search": 983062,
  "account-search-outline": 985397,
  "account-settings": 984624,
  "account-settings-outline": 987337,
  "account-star": 983063,
  "account-star-outline": 986088,
  "account-supervisor": 985739,
  "account-supervisor-circle": 985740,
  "account-supervisor-outline": 987437,
  "account-switch": 983065,
  "account-switch-outline": 984267,
  "account-tie": 986339,
  "account-tie-outline": 987338,
  "account-tie-voice": 987912,
  "account-tie-voice-off": 987914,
  "account-tie-voice-off-outline": 987915,
  "account-tie-voice-outline": 987913,
  "account-voice": 984523,
  "adjust": 983066,
  "adobe": 985398,
  "adobe-acrobat": 987037,
  "air-conditioner": 983067,
  "air-filter": 986435,
  "air-horn": 986540,
  "air-humidifier": 987289,
  "air-humidifier-off": 988262,
  "air-purifier": 986436,
  "airbag": 986089,
  "airballoon": 983068,
  "airballoon-outline": 987147,
  "airplane": 983069,
  "airplane-landing": 984532,
  "airplane-off": 983070,
  "airplane-takeoff": 984533,
  "airport": 985163,
  "alarm": 983072,
  "alarm-bell": 984974,
  "alarm-check": 983073,
  "alarm-light": 984975,
  "alarm-light-outline": 986090,
  "alarm-multiple": 983074,
  "alarm-note": 986737,
  "alarm-note-off": 986738,
  "alarm-off": 983075,
  "alarm-plus": 983076,
  "alarm-snooze": 984718,
  "album": 983077,
  "alert": 983078,
  "alert-box": 983079,
  "alert-box-outline": 986340,
  "alert-circle": 983080,
  "alert-circle-check": 987629,
  "alert-circle-check-outline": 987630,
  "alert-circle-outline": 984534,
  "alert-decagram": 984765,
  "alert-decagram-outline": 986341,
  "alert-minus": 988347,
  "alert-minus-outline": 988350,
  "alert-octagon": 983081,
  "alert-octagon-outline": 986342,
  "alert-octagram": 984935,
  "alert-octagram-outline": 986343,
  "alert-outline": 983082,
  "alert-plus": 988346,
  "alert-plus-outline": 988349,
  "alert-remove": 988348,
  "alert-remove-outline": 988351,
  "alert-rhombus": 987598,
  "alert-rhombus-outline": 987599,
  "alien": 985242,
  "alien-outline": 987339,
  "align-horizontal-center": 987587,
  "align-horizontal-left": 987586,
  "align-horizontal-right": 987588,
  "align-vertical-bottom": 987589,
  "align-vertical-center": 987590,
  "align-vertical-top": 987591,
  "all-inclusive": 984766,
  "allergy": 987736,
  "alpha": 983083,
  "alpha-a": 985838,
  "alpha-a-box": 985864,
  "alpha-a-box-outline": 986091,
  "alpha-a-circle": 986092,
  "alpha-a-circle-outline": 986093,
  "alpha-b": 985839,
  "alpha-b-box": 985865,
  "alpha-b-box-outline": 986094,
  "alpha-b-circle": 986095,
  "alpha-b-circle-outline": 986096,
  "alpha-c": 985840,
  "alpha-c-box": 985866,
  "alpha-c-box-outline": 986097,
  "alpha-c-circle": 986098,
  "alpha-c-circle-outline": 986099,
  "alpha-d": 985841,
  "alpha-d-box": 985867,
  "alpha-d-box-outline": 986100,
  "alpha-d-circle": 986101,
  "alpha-d-circle-outline": 986102,
  "alpha-e": 985842,
  "alpha-e-box": 985868,
  "alpha-e-box-outline": 986103,
  "alpha-e-circle": 986104,
  "alpha-e-circle-outline": 986105,
  "alpha-f": 985843,
  "alpha-f-box": 985869,
  "alpha-f-box-outline": 986106,
  "alpha-f-circle": 986107,
  "alpha-f-circle-outline": 986108,
  "alpha-g": 985844,
  "alpha-g-box": 985870,
  "alpha-g-box-outline": 986109,
  "alpha-g-circle": 986110,
  "alpha-g-circle-outline": 986111,
  "alpha-h": 985845,
  "alpha-h-box": 985871,
  "alpha-h-box-outline": 986112,
  "alpha-h-circle": 986113,
  "alpha-h-circle-outline": 986114,
  "alpha-i": 985846,
  "alpha-i-box": 985872,
  "alpha-i-box-outline": 986115,
  "alpha-i-circle": 986116,
  "alpha-i-circle-outline": 986117,
  "alpha-j": 985847,
  "alpha-j-box": 985873,
  "alpha-j-box-outline": 986118,
  "alpha-j-circle": 986119,
  "alpha-j-circle-outline": 986120,
  "alpha-k": 985848,
  "alpha-k-box": 985874,
  "alpha-k-box-outline": 986121,
  "alpha-k-circle": 986122,
  "alpha-k-circle-outline": 986123,
  "alpha-l": 985849,
  "alpha-l-box": 985875,
  "alpha-l-box-outline": 986124,
  "alpha-l-circle": 986125,
  "alpha-l-circle-outline": 986126,
  "alpha-m": 985850,
  "alpha-m-box": 985876,
  "alpha-m-box-outline": 986127,
  "alpha-m-circle": 986128,
  "alpha-m-circle-outline": 986129,
  "alpha-n": 985851,
  "alpha-n-box": 985877,
  "alpha-n-box-outline": 986130,
  "alpha-n-circle": 986131,
  "alpha-n-circle-outline": 986132,
  "alpha-o": 985852,
  "alpha-o-box": 985878,
  "alpha-o-box-outline": 986133,
  "alpha-o-circle": 986134,
  "alpha-o-circle-outline": 986135,
  "alpha-p": 985853,
  "alpha-p-box": 985879,
  "alpha-p-box-outline": 986136,
  "alpha-p-circle": 986137,
  "alpha-p-circle-outline": 986138,
  "alpha-q": 985854,
  "alpha-q-box": 985880,
  "alpha-q-box-outline": 986139,
  "alpha-q-circle": 986140,
  "alpha-q-circle-outline": 986141,
  "alpha-r": 985855,
  "alpha-r-box": 985881,
  "alpha-r-box-outline": 986142,
  "alpha-r-circle": 986143,
  "alpha-r-circle-outline": 986144,
  "alpha-s": 985856,
  "alpha-s-box": 985882,
  "alpha-s-box-outline": 986145,
  "alpha-s-circle": 986146,
  "alpha-s-circle-outline": 986147,
  "alpha-t": 985857,
  "alpha-t-box": 985883,
  "alpha-t-box-outline": 986148,
  "alpha-t-circle": 986149,
  "alpha-t-circle-outline": 986150,
  "alpha-u": 985858,
  "alpha-u-box": 985884,
  "alpha-u-box-outline": 986151,
  "alpha-u-circle": 986152,
  "alpha-u-circle-outline": 986153,
  "alpha-v": 985859,
  "alpha-v-box": 985885,
  "alpha-v-box-outline": 986154,
  "alpha-v-circle": 986155,
  "alpha-v-circle-outline": 986156,
  "alpha-w": 985860,
  "alpha-w-box": 985886,
  "alpha-w-box-outline": 986157,
  "alpha-w-circle": 986158,
  "alpha-w-circle-outline": 986159,
  "alpha-x": 985861,
  "alpha-x-box": 985887,
  "alpha-x-box-outline": 986160,
  "alpha-x-circle": 986161,
  "alpha-x-circle-outline": 986162,
  "alpha-y": 985862,
  "alpha-y-box": 985888,
  "alpha-y-box-outline": 986163,
  "alpha-y-circle": 986164,
  "alpha-y-circle-outline": 986165,
  "alpha-z": 985863,
  "alpha-z-box": 985889,
  "alpha-z-box-outline": 986166,
  "alpha-z-circle": 986167,
  "alpha-z-circle-outline": 986168,
  "alphabet-aurebesh": 987948,
  "alphabet-cyrillic": 987949,
  "alphabet-greek": 987950,
  "alphabet-latin": 987951,
  "alphabet-piqad": 987952,
  "alphabet-tengwar": 987959,
  "alphabetical": 983084,
  "alphabetical-off": 987148,
  "alphabetical-variant": 987149,
  "alphabetical-variant-off": 987150,
  "altimeter": 984535,
  "amazon": 983085,
  "amazon-alexa": 985286,
  "ambulance": 983087,
  "ammunition": 986344,
  "ampersand": 985741,
  "amplifier": 983088,
  "amplifier-off": 987573,
  "anchor": 983089,
  "android": 983090,
  "android-auto": 985742,
  "android-debug-bridge": 983091,
  "android-messages": 986437,
  "android-studio": 983092,
  "angle-acute": 985399,
  "angle-obtuse": 985400,
  "angle-right": 985401,
  "angular": 984754,
  "angularjs": 984767,
  "animation": 984536,
  "animation-outline": 985743,
  "animation-play": 985402,
  "animation-play-outline": 985744,
  "ansible": 987290,
  "antenna": 987417,
  "anvil": 985243,
  "apache-kafka": 987151,
  "api": 987291,
  "api-off": 987735,
  "apple": 983093,
  "apple-airplay": 983071,
  "apple-finder": 983094,
  "apple-icloud": 983096,
  "apple-ios": 983095,
  "apple-keyboard-caps": 984626,
  "apple-keyboard-command": 984627,
  "apple-keyboard-control": 984628,
  "apple-keyboard-option": 984629,
  "apple-keyboard-shift": 984630,
  "apple-safari": 983097,
  "application": 984596,
  "application-export": 986541,
  "application-import": 986542,
  "approximately-equal": 987038,
  "approximately-equal-box": 987039,
  "apps": 983099,
  "apps-box": 986438,
  "arch": 985287,
  "archive": 983100,
  "archive-arrow-down": 987737,
  "archive-arrow-down-outline": 987738,
  "archive-arrow-up": 987739,
  "archive-arrow-up-outline": 987740,
  "archive-outline": 987662,
  "arm-flex": 987095,
  "arm-flex-outline": 987094,
  "arrange-bring-forward": 983101,
  "arrange-bring-to-front": 983102,
  "arrange-send-backward": 983103,
  "arrange-send-to-back": 983104,
  "arrow-all": 983105,
  "arrow-bottom-left": 983106,
  "arrow-bottom-left-bold-outline": 985527,
  "arrow-bottom-left-thick": 985528,
  "arrow-bottom-right": 983107,
  "arrow-bottom-right-bold-outline": 985529,
  "arrow-bottom-right-thick": 985530,
  "arrow-collapse": 984597,
  "arrow-collapse-all": 983108,
  "arrow-collapse-down": 984978,
  "arrow-collapse-horizontal": 985164,
  "arrow-collapse-left": 984979,
  "arrow-collapse-right": 984980,
  "arrow-collapse-up": 984981,
  "arrow-collapse-vertical": 985165,
  "arrow-decision": 985531,
  "arrow-decision-auto": 985532,
  "arrow-decision-auto-outline": 985533,
  "arrow-decision-outline": 985534,
  "arrow-down": 983109,
  "arrow-down-bold": 984878,
  "arrow-down-bold-box": 984879,
  "arrow-down-bold-box-outline": 984880,
  "arrow-down-bold-circle": 983111,
  "arrow-down-bold-circle-outline": 983112,
  "arrow-down-bold-hexagon-outline": 983113,
  "arrow-down-bold-outline": 985535,
  "arrow-down-box": 984768,
  "arrow-down-circle": 986331,
  "arrow-down-circle-outline": 986332,
  "arrow-down-drop-circle": 983114,
  "arrow-down-drop-circle-outline": 983115,
  "arrow-down-thick": 983110,
  "arrow-expand": 984598,
  "arrow-expand-all": 983116,
  "arrow-expand-down": 984982,
  "arrow-expand-horizontal": 985166,
  "arrow-expand-left": 984983,
  "arrow-expand-right": 984984,
  "arrow-expand-up": 984985,
  "arrow-expand-vertical": 985167,
  "arrow-horizontal-lock": 987483,
  "arrow-left": 983117,
  "arrow-left-bold": 984881,
  "arrow-left-bold-box": 984882,
  "arrow-left-bold-box-outline": 984883,
  "arrow-left-bold-circle": 983119,
  "arrow-left-bold-circle-outline": 983120,
  "arrow-left-bold-hexagon-outline": 983121,
  "arrow-left-bold-outline": 985536,
  "arrow-left-box": 984769,
  "arrow-left-circle": 986333,
  "arrow-left-circle-outline": 986334,
  "arrow-left-drop-circle": 983122,
  "arrow-left-drop-circle-outline": 983123,
  "arrow-left-right": 986739,
  "arrow-left-right-bold": 986740,
  "arrow-left-right-bold-outline": 985537,
  "arrow-left-thick": 983118,
  "arrow-right": 983124,
  "arrow-right-bold": 984884,
  "arrow-right-bold-box": 984885,
  "arrow-right-bold-box-outline": 984886,
  "arrow-right-bold-circle": 983126,
  "arrow-right-bold-circle-outline": 983127,
  "arrow-right-bold-hexagon-outline": 983128,
  "arrow-right-bold-outline": 985538,
  "arrow-right-box": 984770,
  "arrow-right-circle": 986335,
  "arrow-right-circle-outline": 986336,
  "arrow-right-drop-circle": 983129,
  "arrow-right-drop-circle-outline": 983130,
  "arrow-right-thick": 983125,
  "arrow-split-horizontal": 985403,
  "arrow-split-vertical": 985404,
  "arrow-top-left": 983131,
  "arrow-top-left-bold-outline": 985539,
  "arrow-top-left-bottom-right": 986741,
  "arrow-top-left-bottom-right-bold": 986742,
  "arrow-top-left-thick": 985540,
  "arrow-top-right": 983132,
  "arrow-top-right-bold-outline": 985541,
  "arrow-top-right-bottom-left": 986743,
  "arrow-top-right-bottom-left-bold": 986744,
  "arrow-top-right-thick": 985542,
  "arrow-up": 983133,
  "arrow-up-bold": 984887,
  "arrow-up-bold-box": 984888,
  "arrow-up-bold-box-outline": 984889,
  "arrow-up-bold-circle": 983135,
  "arrow-up-bold-circle-outline": 983136,
  "arrow-up-bold-hexagon-outline": 983137,
  "arrow-up-bold-outline": 985543,
  "arrow-up-box": 984771,
  "arrow-up-circle": 986337,
  "arrow-up-circle-outline": 986338,
  "arrow-up-down": 986745,
  "arrow-up-down-bold": 986746,
  "arrow-up-down-bold-outline": 985544,
  "arrow-up-drop-circle": 983138,
  "arrow-up-drop-circle-outline": 983139,
  "arrow-up-thick": 983134,
  "arrow-vertical-lock": 987484,
  "artstation": 985947,
  "aspect-ratio": 985636,
  "assistant": 983140,
  "asterisk": 984772,
  "at": 983141,
  "atlassian": 985092,
  "atm": 986439,
  "atom": 984936,
  "atom-variant": 986747,
  "attachment": 983142,
  "audio-video": 985405,
  "audio-video-off": 987574,
  "augmented-reality": 985168,
  "auto-download": 988030,
  "auto-fix": 983144,
  "auto-upload": 983145,
  "autorenew": 983146,
  "av-timer": 983147,
  "aws": 986639,
  "axe": 985288,
  "axis": 986440,
  "axis-arrow": 986441,
  "axis-arrow-info": 988174,
  "axis-arrow-lock": 986442,
  "axis-lock": 986443,
  "axis-x-arrow": 986444,
  "axis-x-arrow-lock": 986445,
  "axis-x-rotate-clockwise": 986446,
  "axis-x-rotate-counterclockwise": 986447,
  "axis-x-y-arrow-lock": 986448,
  "axis-y-arrow": 986449,
  "axis-y-arrow-lock": 986450,
  "axis-y-rotate-clockwise": 986451,
  "axis-y-rotate-counterclockwise": 986452,
  "axis-z-arrow": 986453,
  "axis-z-arrow-lock": 986454,
  "axis-z-rotate-clockwise": 986455,
  "axis-z-rotate-counterclockwise": 986456,
  "babel": 985637,
  "baby": 983148,
  "baby-bottle": 986937,
  "baby-bottle-outline": 986938,
  "baby-buggy": 988128,
  "baby-carriage": 984719,
  "baby-carriage-off": 987040,
  "baby-face": 986748,
  "baby-face-outline": 986749,
  "backburger": 983149,
  "backspace": 983150,
  "backspace-outline": 985948,
  "backspace-reverse": 986750,
  "backspace-reverse-outline": 986751,
  "backup-restore": 983151,
  "bacteria": 986837,
  "bacteria-outline": 986838,
  "badge-account": 986535,
  "badge-account-alert": 986536,
  "badge-account-alert-outline": 986537,
  "badge-account-horizontal": 986637,
  "badge-account-horizontal-outline": 986638,
  "badge-account-outline": 986538,
  "badminton": 985169,
  "bag-carry-on": 986939,
  "bag-carry-on-check": 986469,
  "bag-carry-on-off": 986940,
  "bag-checked": 986941,
  "bag-personal": 986640,
  "bag-personal-off": 986641,
  "bag-personal-off-outline": 986642,
  "bag-personal-outline": 986643,
  "baguette": 986942,
  "balloon": 985638,
  "ballot": 985545,
  "ballot-outline": 985546,
  "ballot-recount": 986169,
  "ballot-recount-outline": 986170,
  "bandage": 986543,
  "bandcamp": 984693,
  "bank": 983152,
  "bank-minus": 986544,
  "bank-outline": 986752,
  "bank-plus": 986545,
  "bank-remove": 986546,
  "bank-transfer": 985639,
  "bank-transfer-in": 985640,
  "bank-transfer-out": 985641,
  "barcode": 983153,
  "barcode-off": 987702,
  "barcode-scan": 983154,
  "barley": 983155,
  "barley-off": 985949,
  "barn": 985950,
  "barrel": 983156,
  "baseball": 985170,
  "baseball-bat": 985171,
  "bash": 987523,
  "basket": 983158,
  "basket-fill": 983159,
  "basket-outline": 987521,
  "basket-unfill": 983160,
  "basketball": 985094,
  "basketball-hoop": 986171,
  "basketball-hoop-outline": 986172,
  "bat": 985951,
  "battery": 983161,
  "battery-10": 983162,
  "battery-10-bluetooth": 985406,
  "battery-20": 983163,
  "battery-20-bluetooth": 985407,
  "battery-30": 983164,
  "battery-30-bluetooth": 985408,
  "battery-40": 983165,
  "battery-40-bluetooth": 985409,
  "battery-50": 983166,
  "battery-50-bluetooth": 985410,
  "battery-60": 983167,
  "battery-60-bluetooth": 985411,
  "battery-70": 983168,
  "battery-70-bluetooth": 985412,
  "battery-80": 983169,
  "battery-80-bluetooth": 985413,
  "battery-90": 983170,
  "battery-90-bluetooth": 985414,
  "battery-alert": 983171,
  "battery-alert-bluetooth": 985415,
  "battery-alert-variant": 987340,
  "battery-alert-variant-outline": 987341,
  "battery-bluetooth": 985416,
  "battery-bluetooth-variant": 985417,
  "battery-charging": 983172,
  "battery-charging-10": 985244,
  "battery-charging-100": 983173,
  "battery-charging-20": 983174,
  "battery-charging-30": 983175,
  "battery-charging-40": 983176,
  "battery-charging-50": 985245,
  "battery-charging-60": 983177,
  "battery-charging-70": 985246,
  "battery-charging-80": 983178,
  "battery-charging-90": 983179,
  "battery-charging-high": 987814,
  "battery-charging-low": 987812,
  "battery-charging-medium": 987813,
  "battery-charging-outline": 985247,
  "battery-charging-wireless": 985095,
  "battery-charging-wireless-10": 985096,
  "battery-charging-wireless-20": 985097,
  "battery-charging-wireless-30": 985098,
  "battery-charging-wireless-40": 985099,
  "battery-charging-wireless-50": 985100,
  "battery-charging-wireless-60": 985101,
  "battery-charging-wireless-70": 985102,
  "battery-charging-wireless-80": 985103,
  "battery-charging-wireless-90": 985104,
  "battery-charging-wireless-alert": 985105,
  "battery-charging-wireless-outline": 985106,
  "battery-heart": 987663,
  "battery-heart-outline": 987664,
  "battery-heart-variant": 987665,
  "battery-high": 987811,
  "battery-low": 987809,
  "battery-medium": 987810,
  "battery-minus": 983180,
  "battery-negative": 983181,
  "battery-off": 987741,
  "battery-off-outline": 987742,
  "battery-outline": 983182,
  "battery-plus": 983183,
  "battery-positive": 983184,
  "battery-unknown": 983185,
  "battery-unknown-bluetooth": 985418,
  "battlenet": 985952,
  "beach": 983186,
  "beaker": 986346,
  "beaker-alert": 987689,
  "beaker-alert-outline": 987690,
  "beaker-check": 987691,
  "beaker-check-outline": 987692,
  "beaker-minus": 987693,
  "beaker-minus-outline": 987694,
  "beaker-outline": 984720,
  "beaker-plus": 987695,
  "beaker-plus-outline": 987696,
  "beaker-question": 987697,
  "beaker-question-outline": 987698,
  "beaker-remove": 987699,
  "beaker-remove-outline": 987700,
  "bed": 983779,
  "bed-double": 987092,
  "bed-double-outline": 987091,
  "bed-empty": 985248,
  "bed-king": 987090,
  "bed-king-outline": 987089,
  "bed-outline": 983193,
  "bed-queen": 987088,
  "bed-queen-outline": 987099,
  "bed-single": 987245,
  "bed-single-outline": 987246,
  "bee": 987041,
  "bee-flower": 987042,
  "beehive-off-outline": 988141,
  "beehive-outline": 987342,
  "beer": 983192,
  "beer-outline": 987916,
  "bell": 983194,
  "bell-alert": 986457,
  "bell-alert-outline": 986753,
  "bell-cancel": 988135,
  "bell-cancel-outline": 988136,
  "bell-check": 987621,
  "bell-check-outline": 987622,
  "bell-circle": 986458,
  "bell-circle-outline": 986459,
  "bell-minus": 988137,
  "bell-minus-outline": 988138,
  "bell-off": 983195,
  "bell-off-outline": 985745,
  "bell-outline": 983196,
  "bell-plus": 983197,
  "bell-plus-outline": 985746,
  "bell-remove": 988139,
  "bell-remove-outline": 988140,
  "bell-ring": 983198,
  "bell-ring-outline": 983199,
  "bell-sleep": 983200,
  "bell-sleep-outline": 985747,
  "beta": 983201,
  "betamax": 985547,
  "biathlon": 986644,
  "bicycle": 987292,
  "bicycle-basket": 987701,
  "bike": 983203,
  "bike-fast": 987423,
  "billboard": 987152,
  "billiards": 985953,
  "billiards-rack": 985954,
  "binoculars": 983205,
  "bio": 983206,
  "biohazard": 983207,
  "bitbucket": 983208,
  "bitcoin": 985107,
  "black-mesa": 983209,
  "blender": 986347,
  "blender-software": 983211,
  "blinds": 983212,
  "blinds-open": 987153,
  "block-helper": 983213,
  "blogger": 983214,
  "blood-bag": 986348,
  "bluetooth": 983215,
  "bluetooth-audio": 983216,
  "bluetooth-connect": 983217,
  "bluetooth-off": 983218,
  "bluetooth-settings": 983219,
  "bluetooth-transfer": 983220,
  "blur": 983221,
  "blur-linear": 983222,
  "blur-off": 983223,
  "blur-radial": 983224,
  "bolnisi-cross": 986349,
  "bolt": 986547,
  "bomb": 984721,
  "bomb-off": 984773,
  "bone": 983225,
  "book": 983226,
  "book-account": 988077,
  "book-account-outline": 988078,
  "book-alphabet": 984605,
  "book-cross": 983202,
  "book-information-variant": 987247,
  "book-lock": 984986,
  "book-lock-open": 984987,
  "book-minus": 984537,
  "book-minus-multiple": 985748,
  "book-minus-multiple-outline": 985355,
  "book-multiple": 983227,
  "book-multiple-outline": 984118,
  "book-music": 983143,
  "book-open": 983229,
  "book-open-outline": 985955,
  "book-open-page-variant": 984538,
  "book-open-variant": 983230,
  "book-outline": 985956,
  "book-play": 986754,
  "book-play-outline": 986755,
  "book-plus": 984539,
  "book-plus-multiple": 985749,
  "book-plus-multiple-outline": 985822,
  "book-remove": 985751,
  "book-remove-multiple": 985750,
  "book-remove-multiple-outline": 984266,
  "book-search": 986756,
  "book-search-outline": 986757,
  "book-variant": 983231,
  "book-variant-multiple": 983228,
  "bookmark": 983232,
  "bookmark-check": 983233,
  "bookmark-check-outline": 988027,
  "bookmark-minus": 985548,
  "bookmark-minus-outline": 985549,
  "bookmark-multiple": 986645,
  "bookmark-multiple-outline": 986646,
  "bookmark-music": 983234,
  "bookmark-music-outline": 988025,
  "bookmark-off": 985550,
  "bookmark-off-outline": 985551,
  "bookmark-outline": 983235,
  "bookmark-plus": 983237,
  "bookmark-plus-outline": 983236,
  "bookmark-remove": 983238,
  "bookmark-remove-outline": 988026,
  "bookshelf": 987743,
  "boom-gate": 986758,
  "boom-gate-alert": 986759,
  "boom-gate-alert-outline": 986760,
  "boom-gate-down": 986761,
  "boom-gate-down-outline": 986762,
  "boom-gate-outline": 986763,
  "boom-gate-up": 986764,
  "boom-gate-up-outline": 986765,
  "boombox": 984540,
  "boomerang": 987343,
  "bootstrap": 984774,
  "border-all": 983239,
  "border-all-variant": 985249,
  "border-bottom": 983240,
  "border-bottom-variant": 985250,
  "border-color": 983241,
  "border-horizontal": 983242,
  "border-inside": 983243,
  "border-left": 983244,
  "border-left-variant": 985251,
  "border-none": 983245,
  "border-none-variant": 985252,
  "border-outside": 983246,
  "border-right": 983247,
  "border-right-variant": 985253,
  "border-style": 983248,
  "border-top": 983249,
  "border-top-variant": 985254,
  "border-vertical": 983250,
  "bottle-soda": 987248,
  "bottle-soda-classic": 987249,
  "bottle-soda-classic-outline": 988003,
  "bottle-soda-outline": 987250,
  "bottle-tonic": 987438,
  "bottle-tonic-outline": 987439,
  "bottle-tonic-plus": 987440,
  "bottle-tonic-plus-outline": 987441,
  "bottle-tonic-skull": 987442,
  "bottle-tonic-skull-outline": 987443,
  "bottle-wine": 985172,
  "bottle-wine-outline": 987920,
  "bow-tie": 984696,
  "bowl": 983694,
  "bowl-mix": 984599,
  "bowl-mix-outline": 983780,
  "bowl-outline": 983721,
  "bowling": 983251,
  "box": 983252,
  "box-cutter": 983253,
  "box-cutter-off": 985930,
  "box-shadow": 984631,
  "boxing-glove": 985957,
  "braille": 985552,
  "brain": 985553,
  "bread-slice": 986350,
  "bread-slice-outline": 986351,
  "bridge": 984600,
  "briefcase": 983254,
  "briefcase-account": 986352,
  "briefcase-account-outline": 986353,
  "briefcase-check": 983255,
  "briefcase-check-outline": 987934,
  "briefcase-clock": 987344,
  "briefcase-clock-outline": 987345,
  "briefcase-download": 983256,
  "briefcase-download-outline": 986173,
  "briefcase-edit": 985752,
  "briefcase-edit-outline": 986174,
  "briefcase-minus": 985642,
  "briefcase-minus-outline": 986175,
  "briefcase-outline": 985108,
  "briefcase-plus": 985643,
  "briefcase-plus-outline": 986176,
  "briefcase-remove": 985644,
  "briefcase-remove-outline": 986177,
  "briefcase-search": 985645,
  "briefcase-search-outline": 986178,
  "briefcase-upload": 983257,
  "briefcase-upload-outline": 986179,
  "briefcase-variant": 988308,
  "briefcase-variant-outline": 988309,
  "brightness-1": 983258,
  "brightness-2": 983259,
  "brightness-3": 983260,
  "brightness-4": 983261,
  "brightness-5": 983262,
  "brightness-6": 983263,
  "brightness-7": 983264,
  "brightness-auto": 983265,
  "brightness-percent": 986354,
  "broom": 983266,
  "brush": 983267,
  "bucket": 988181,
  "bucket-outline": 988182,
  "buddhism": 985419,
  "buffer": 984601,
  "buffet": 984440,
  "bug": 983268,
  "bug-check": 985646,
  "bug-check-outline": 985647,
  "bug-outline": 985648,
  "bugle": 986548,
  "bulldozer": 985890,
  "bullet": 986355,
  "bulletin-board": 983269,
  "bullhorn": 983270,
  "bullhorn-outline": 985891,
  "bullseye": 984541,
  "bullseye-arrow": 985289,
  "bulma": 987879,
  "bunk-bed": 987906,
  "bunk-bed-outline": 983191,
  "bus": 983271,
  "bus-alert": 985753,
  "bus-articulated-end": 984988,
  "bus-articulated-front": 984989,
  "bus-clock": 985290,
  "bus-double-decker": 984990,
  "bus-marker": 987666,
  "bus-multiple": 986943,
  "bus-school": 984991,
  "bus-side": 984992,
  "bus-stop": 987154,
  "bus-stop-covered": 987155,
  "bus-stop-uncovered": 987156,
  "cable-data": 988052,
  "cached": 983272,
  "cactus": 986549,
  "cake": 983273,
  "cake-layered": 983274,
  "cake-variant": 983275,
  "calculator": 983276,
  "calculator-variant": 985754,
  "calendar": 983277,
  "calendar-account": 986839,
  "calendar-account-outline": 986840,
  "calendar-alert": 985649,
  "calendar-arrow-left": 987444,
  "calendar-arrow-right": 987445,
  "calendar-blank": 983278,
  "calendar-blank-multiple": 987251,
  "calendar-blank-outline": 985958,
  "calendar-check": 983279,
  "calendar-check-outline": 986180,
  "calendar-clock": 983280,
  "calendar-edit": 985255,
  "calendar-export": 985892,
  "calendar-heart": 985554,
  "calendar-import": 985893,
  "calendar-minus": 986460,
  "calendar-month": 986647,
  "calendar-month-outline": 986648,
  "calendar-multiple": 983281,
  "calendar-multiple-check": 983282,
  "calendar-multiselect": 985650,
  "calendar-outline": 985959,
  "calendar-plus": 983283,
  "calendar-question": 984722,
  "calendar-range": 984697,
  "calendar-range-outline": 985960,
  "calendar-refresh": 983521,
  "calendar-refresh-outline": 983555,
  "calendar-remove": 983284,
  "calendar-remove-outline": 986181,
  "calendar-search": 985420,
  "calendar-star": 985555,
  "calendar-sync": 986766,
  "calendar-sync-outline": 986767,
  "calendar-text": 983285,
  "calendar-text-outline": 986182,
  "calendar-today": 983286,
  "calendar-week": 985651,
  "calendar-week-begin": 985652,
  "calendar-weekend": 986841,
  "calendar-weekend-outline": 986842,
  "call-made": 983287,
  "call-merge": 983288,
  "call-missed": 983289,
  "call-received": 983290,
  "call-split": 983291,
  "camcorder": 983292,
  "camcorder-off": 983295,
  "camera": 983296,
  "camera-account": 985291,
  "camera-burst": 984723,
  "camera-control": 985961,
  "camera-enhance": 983297,
  "camera-enhance-outline": 985962,
  "camera-front": 983298,
  "camera-front-variant": 983299,
  "camera-gopro": 984993,
  "camera-image": 985292,
  "camera-iris": 983300,
  "camera-metering-center": 984994,
  "camera-metering-matrix": 984995,
  "camera-metering-partial": 984996,
  "camera-metering-spot": 984997,
  "camera-off": 984543,
  "camera-outline": 986461,
  "camera-party-mode": 983301,
  "camera-plus": 986843,
  "camera-plus-outline": 986844,
  "camera-rear": 983302,
  "camera-rear-variant": 983303,
  "camera-retake": 986649,
  "camera-retake-outline": 986650,
  "camera-switch": 983304,
  "camera-switch-outline": 985162,
  "camera-timer": 983305,
  "camera-wireless": 986550,
  "camera-wireless-outline": 986551,
  "campfire": 986845,
  "cancel": 984890,
  "candle": 984546,
  "candycane": 983306,
  "cannabis": 984998,
  "caps-lock": 985755,
  "car": 983307,
  "car-2-plus": 987157,
  "car-3-plus": 987158,
  "car-arrow-left": 988082,
  "car-arrow-right": 988083,
  "car-back": 986651,
  "car-battery": 983308,
  "car-brake-abs": 986183,
  "car-brake-alert": 986184,
  "car-brake-hold": 986462,
  "car-brake-parking": 986463,
  "car-brake-retarder": 987159,
  "car-child-seat": 987043,
  "car-clutch": 987160,
  "car-cog": 988108,
  "car-connected": 983309,
  "car-convertible": 984999,
  "car-coolant-level": 987161,
  "car-cruise-control": 986464,
  "car-defrost-front": 986465,
  "car-defrost-rear": 986466,
  "car-door": 985963,
  "car-door-lock": 987293,
  "car-electric": 985964,
  "car-esp": 986185,
  "car-estate": 985000,
  "car-hatchback": 985001,
  "car-info": 987582,
  "car-key": 985965,
  "car-light-dimmed": 986186,
  "car-light-fog": 986187,
  "car-light-high": 986188,
  "car-limousine": 985293,
  "car-multiple": 985966,
  "car-off": 986652,
  "car-parking-lights": 986467,
  "car-pickup": 985002,
  "car-seat": 987044,
  "car-seat-cooler": 987045,
  "car-seat-heater": 987046,
  "car-settings": 988109,
  "car-shift-pattern": 986944,
  "car-side": 985003,
  "car-sports": 985004,
  "car-tire-alert": 986189,
  "car-traction-control": 986468,
  "car-turbocharger": 987162,
  "car-wash": 983310,
  "car-windshield": 987163,
  "car-windshield-outline": 987164,
  "carabiner": 988352,
  "caravan": 985005,
  "card": 985967,
  "card-account-details": 984530,
  "card-account-details-outline": 986539,
  "card-account-details-star": 983715,
  "card-account-details-star-outline": 984795,
  "card-account-mail": 983438,
  "card-account-mail-outline": 986776,
  "card-account-phone": 986777,
  "card-account-phone-outline": 986778,
  "card-bulleted": 985968,
  "card-bulleted-off": 985969,
  "card-bulleted-off-outline": 985970,
  "card-bulleted-outline": 985971,
  "card-bulleted-settings": 985972,
  "card-bulleted-settings-outline": 985973,
  "card-outline": 985974,
  "card-plus": 987647,
  "card-plus-outline": 987648,
  "card-search": 987252,
  "card-search-outline": 987253,
  "card-text": 985975,
  "card-text-outline": 985976,
  "cards": 984632,
  "cards-club": 985294,
  "cards-diamond": 985295,
  "cards-diamond-outline": 987165,
  "cards-heart": 985296,
  "cards-outline": 984633,
  "cards-playing-outline": 984634,
  "cards-spade": 985297,
  "cards-variant": 984775,
  "carrot": 983311,
  "cart": 983312,
  "cart-arrow-down": 986470,
  "cart-arrow-right": 986190,
  "cart-arrow-up": 986471,
  "cart-minus": 986472,
  "cart-off": 984683,
  "cart-outline": 983313,
  "cart-plus": 983314,
  "cart-remove": 986473,
  "case-sensitive-alt": 983315,
  "cash": 983316,
  "cash-100": 983317,
  "cash-marker": 986552,
  "cash-minus": 987744,
  "cash-multiple": 983318,
  "cash-plus": 987745,
  "cash-refund": 985756,
  "cash-register": 986356,
  "cash-remove": 987746,
  "cash-usd": 987510,
  "cash-usd-outline": 983319,
  "cassette": 985556,
  "cast": 983320,
  "cast-audio": 987166,
  "cast-connected": 983321,
  "cast-education": 986653,
  "cast-off": 984970,
  "castle": 983322,
  "cat": 983323,
  "cctv": 985006,
  "ceiling-light": 984937,
  "cellphone": 983324,
  "cellphone-android": 983325,
  "cellphone-arrow-down": 985557,
  "cellphone-basic": 983326,
  "cellphone-charging": 988055,
  "cellphone-cog": 985425,
  "cellphone-dock": 983327,
  "cellphone-erase": 985421,
  "cellphone-information": 986945,
  "cellphone-iphone": 983328,
  "cellphone-key": 985422,
  "cellphone-link": 983329,
  "cellphone-link-off": 983330,
  "cellphone-lock": 985423,
  "cellphone-message": 985299,
  "cellphone-message-off": 987346,
  "cellphone-nfc": 986768,
  "cellphone-nfc-off": 987864,
  "cellphone-off": 985424,
  "cellphone-play": 987167,
  "cellphone-screenshot": 985653,
  "cellphone-settings": 983331,
  "cellphone-sound": 985426,
  "cellphone-text": 985298,
  "cellphone-wireless": 985109,
  "celtic-cross": 986357,
  "centos": 987418,
  "certificate": 983332,
  "certificate-outline": 987528,
  "chair-rolling": 986952,
  "chair-school": 983333,
  "charity": 986191,
  "chart-arc": 983334,
  "chart-areaspline": 983335,
  "chart-areaspline-variant": 986769,
  "chart-bar": 983336,
  "chart-bar-stacked": 984938,
  "chart-bell-curve": 986192,
  "chart-bell-curve-cumulative": 987047,
  "chart-bubble": 984547,
  "chart-donut": 985007,
  "chart-donut-variant": 985008,
  "chart-gantt": 984684,
  "chart-histogram": 983337,
  "chart-line": 983338,
  "chart-line-stacked": 984939,
  "chart-line-variant": 985009,
  "chart-multiline": 985300,
  "chart-multiple": 987667,
  "chart-pie": 983339,
  "chart-ppf": 988032,
  "chart-sankey": 987615,
  "chart-sankey-variant": 987616,
  "chart-scatter-plot": 986770,
  "chart-scatter-plot-hexbin": 984685,
  "chart-timeline": 984686,
  "chart-timeline-variant": 986771,
  "chart-tree": 986772,
  "chat": 985977,
  "chat-alert": 985978,
  "chat-alert-outline": 987849,
  "chat-minus": 988176,
  "chat-minus-outline": 988179,
  "chat-outline": 986846,
  "chat-plus": 988175,
  "chat-plus-outline": 988178,
  "chat-processing": 985979,
  "chat-processing-outline": 987850,
  "chat-remove": 988177,
  "chat-remove-outline": 988180,
  "chat-sleep": 987857,
  "chat-sleep-outline": 987858,
  "check": 983340,
  "check-all": 983341,
  "check-bold": 986654,
  "check-box-multiple-outline": 986193,
  "check-box-outline": 986194,
  "check-circle": 984544,
  "check-circle-outline": 984545,
  "check-decagram": 984977,
  "check-network": 986195,
  "check-network-outline": 986196,
  "check-outline": 985173,
  "check-underline": 986655,
  "check-underline-circle": 986656,
  "check-underline-circle-outline": 986657,
  "checkbook": 985757,
  "checkbox-blank": 983342,
  "checkbox-blank-circle": 983343,
  "checkbox-blank-circle-outline": 983344,
  "checkbox-blank-off": 987884,
  "checkbox-blank-off-outline": 987885,
  "checkbox-blank-outline": 983345,
  "checkbox-intermediate": 985174,
  "checkbox-marked": 983346,
  "checkbox-marked-circle": 983347,
  "checkbox-marked-circle-outline": 983348,
  "checkbox-marked-outline": 983349,
  "checkbox-multiple-blank": 983350,
  "checkbox-multiple-blank-circle": 984635,
  "checkbox-multiple-blank-circle-outline": 984636,
  "checkbox-multiple-blank-outline": 983351,
  "checkbox-multiple-marked": 983352,
  "checkbox-multiple-marked-circle": 984637,
  "checkbox-multiple-marked-circle-outline": 984638,
  "checkbox-multiple-marked-outline": 983353,
  "checkerboard": 983354,
  "checkerboard-minus": 987650,
  "checkerboard-plus": 987649,
  "checkerboard-remove": 987651,
  "cheese": 987833,
  "cheese-off": 988142,
  "chef-hat": 985980,
  "chemical-weapon": 983355,
  "chess-bishop": 985180,
  "chess-king": 985175,
  "chess-knight": 985176,
  "chess-pawn": 985177,
  "chess-queen": 985178,
  "chess-rook": 985179,
  "chevron-double-down": 983356,
  "chevron-double-left": 983357,
  "chevron-double-right": 983358,
  "chevron-double-up": 983359,
  "chevron-down": 983360,
  "chevron-down-box": 985558,
  "chevron-down-box-outline": 985559,
  "chevron-down-circle": 985894,
  "chevron-down-circle-outline": 985895,
  "chevron-left": 983361,
  "chevron-left-box": 985560,
  "chevron-left-box-outline": 985561,
  "chevron-left-circle": 985896,
  "chevron-left-circle-outline": 985897,
  "chevron-right": 983362,
  "chevron-right-box": 985562,
  "chevron-right-box-outline": 985563,
  "chevron-right-circle": 985898,
  "chevron-right-circle-outline": 985899,
  "chevron-triple-down": 986553,
  "chevron-triple-left": 986554,
  "chevron-triple-right": 986555,
  "chevron-triple-up": 986556,
  "chevron-up": 983363,
  "chevron-up-box": 985564,
  "chevron-up-box-outline": 985565,
  "chevron-up-circle": 985900,
  "chevron-up-circle-outline": 985901,
  "chili-hot": 985010,
  "chili-medium": 985011,
  "chili-mild": 985012,
  "chili-off": 988263,
  "chip": 984602,
  "christianity": 985427,
  "christianity-outline": 986358,
  "church": 983364,
  "cigar": 987529,
  "cigar-off": 988187,
  "circle": 984933,
  "circle-double": 986773,
  "circle-edit-outline": 985301,
  "circle-expand": 986774,
  "circle-half": 988053,
  "circle-half-full": 988054,
  "circle-medium": 985566,
  "circle-multiple": 985912,
  "circle-multiple-outline": 984725,
  "circle-off-outline": 987347,
  "circle-outline": 984934,
  "circle-slice-1": 985758,
  "circle-slice-2": 985759,
  "circle-slice-3": 985760,
  "circle-slice-4": 985761,
  "circle-slice-5": 985762,
  "circle-slice-6": 985763,
  "circle-slice-7": 985764,
  "circle-slice-8": 985765,
  "circle-small": 985567,
  "circular-saw": 986658,
  "city": 983366,
  "city-variant": 985654,
  "city-variant-outline": 985655,
  "clipboard": 983367,
  "clipboard-account": 983368,
  "clipboard-account-outline": 986197,
  "clipboard-alert": 983369,
  "clipboard-alert-outline": 986359,
  "clipboard-arrow-down": 983370,
  "clipboard-arrow-down-outline": 986198,
  "clipboard-arrow-left": 983371,
  "clipboard-arrow-left-outline": 986360,
  "clipboard-arrow-right": 986361,
  "clipboard-arrow-right-outline": 986362,
  "clipboard-arrow-up": 986199,
  "clipboard-arrow-up-outline": 986200,
  "clipboard-check": 983374,
  "clipboard-check-multiple": 987747,
  "clipboard-check-multiple-outline": 987748,
  "clipboard-check-outline": 985256,
  "clipboard-file": 987749,
  "clipboard-file-outline": 987750,
  "clipboard-flow": 984776,
  "clipboard-flow-outline": 987415,
  "clipboard-list": 987348,
  "clipboard-list-outline": 987349,
  "clipboard-multiple": 987751,
  "clipboard-multiple-outline": 987752,
  "clipboard-outline": 983372,
  "clipboard-play": 986201,
  "clipboard-play-multiple": 987753,
  "clipboard-play-multiple-outline": 987754,
  "clipboard-play-outline": 986202,
  "clipboard-plus": 984913,
  "clipboard-plus-outline": 987935,
  "clipboard-pulse": 985181,
  "clipboard-pulse-outline": 985182,
  "clipboard-text": 983373,
  "clipboard-text-multiple": 987755,
  "clipboard-text-multiple-outline": 987756,
  "clipboard-text-outline": 985656,
  "clipboard-text-play": 986203,
  "clipboard-text-play-outline": 986204,
  "clippy": 983375,
  "clock": 985428,
  "clock-alert": 985429,
  "clock-alert-outline": 984526,
  "clock-check": 987048,
  "clock-check-outline": 987049,
  "clock-digital": 986775,
  "clock-end": 983377,
  "clock-fast": 983378,
  "clock-in": 983379,
  "clock-out": 983380,
  "clock-outline": 983376,
  "clock-start": 983381,
  "clock-time-eight": 988230,
  "clock-time-eight-outline": 988242,
  "clock-time-eleven": 988233,
  "clock-time-eleven-outline": 988245,
  "clock-time-five": 988227,
  "clock-time-five-outline": 988239,
  "clock-time-four": 988226,
  "clock-time-four-outline": 988238,
  "clock-time-nine": 988231,
  "clock-time-nine-outline": 988243,
  "clock-time-one": 988223,
  "clock-time-one-outline": 988235,
  "clock-time-seven": 988229,
  "clock-time-seven-outline": 988241,
  "clock-time-six": 988228,
  "clock-time-six-outline": 988240,
  "clock-time-ten": 988232,
  "clock-time-ten-outline": 988244,
  "clock-time-three": 988225,
  "clock-time-three-outline": 988237,
  "clock-time-twelve": 988234,
  "clock-time-twelve-outline": 988246,
  "clock-time-two": 988224,
  "clock-time-two-outline": 988236,
  "close": 983382,
  "close-box": 983383,
  "close-box-multiple": 986205,
  "close-box-multiple-outline": 986206,
  "close-box-outline": 983384,
  "close-circle": 983385,
  "close-circle-multiple": 984618,
  "close-circle-multiple-outline": 985219,
  "close-circle-outline": 983386,
  "close-network": 983387,
  "close-network-outline": 986207,
  "close-octagon": 983388,
  "close-octagon-outline": 983389,
  "close-outline": 984777,
  "close-thick": 988056,
  "closed-caption": 983390,
  "closed-caption-outline": 986557,
  "cloud": 983391,
  "cloud-alert": 985568,
  "cloud-braces": 985013,
  "cloud-check": 983392,
  "cloud-check-outline": 987852,
  "cloud-circle": 983393,
  "cloud-download": 983394,
  "cloud-download-outline": 985981,
  "cloud-lock": 987633,
  "cloud-lock-outline": 987634,
  "cloud-off-outline": 983396,
  "cloud-outline": 983395,
  "cloud-print": 983397,
  "cloud-print-outline": 983398,
  "cloud-question": 985657,
  "cloud-refresh": 984362,
  "cloud-search": 985430,
  "cloud-search-outline": 985431,
  "cloud-sync": 984639,
  "cloud-sync-outline": 987862,
  "cloud-tags": 985014,
  "cloud-upload": 983399,
  "cloud-upload-outline": 985982,
  "clover": 985110,
  "coach-lamp": 987168,
  "coat-rack": 987294,
  "code-array": 983400,
  "code-braces": 983401,
  "code-braces-box": 987350,
  "code-brackets": 983402,
  "code-equal": 983403,
  "code-greater-than": 983404,
  "code-greater-than-or-equal": 983405,
  "code-json": 984614,
  "code-less-than": 983406,
  "code-less-than-or-equal": 983407,
  "code-not-equal": 983408,
  "code-not-equal-variant": 983409,
  "code-parentheses": 983410,
  "code-parentheses-box": 987351,
  "code-string": 983411,
  "code-tags": 983412,
  "code-tags-check": 984724,
  "codepen": 983413,
  "coffee": 983414,
  "coffee-maker": 987295,
  "coffee-off": 987050,
  "coffee-off-outline": 987051,
  "coffee-outline": 984778,
  "coffee-to-go": 983415,
  "coffee-to-go-outline": 987918,
  "coffin": 985983,
  "cog": 984211,
  "cog-box": 984212,
  "cog-clockwise": 987613,
  "cog-counterclockwise": 987614,
  "cog-off": 988110,
  "cog-off-outline": 988111,
  "cog-outline": 985275,
  "cog-refresh": 988254,
  "cog-refresh-outline": 988255,
  "cog-sync": 988256,
  "cog-sync-outline": 988257,
  "cog-transfer": 987227,
  "cog-transfer-outline": 987228,
  "cogs": 985302,
  "collage": 984640,
  "collapse-all": 985766,
  "collapse-all-outline": 985767,
  "color-helper": 983417,
  "comma": 986659,
  "comma-box": 986667,
  "comma-box-outline": 986660,
  "comma-circle": 986661,
  "comma-circle-outline": 986662,
  "comment": 983418,
  "comment-account": 983419,
  "comment-account-outline": 983420,
  "comment-alert": 983421,
  "comment-alert-outline": 983422,
  "comment-arrow-left": 985569,
  "comment-arrow-left-outline": 985570,
  "comment-arrow-right": 985571,
  "comment-arrow-right-outline": 985572,
  "comment-check": 983423,
  "comment-check-outline": 983424,
  "comment-edit": 987583,
  "comment-edit-outline": 987844,
  "comment-eye": 985658,
  "comment-eye-outline": 985659,
  "comment-multiple": 985183,
  "comment-multiple-outline": 983425,
  "comment-outline": 983426,
  "comment-plus": 985573,
  "comment-plus-outline": 983427,
  "comment-processing": 983428,
  "comment-processing-outline": 983429,
  "comment-question": 985111,
  "comment-question-outline": 983430,
  "comment-quote": 987169,
  "comment-quote-outline": 987170,
  "comment-remove": 984542,
  "comment-remove-outline": 983431,
  "comment-search": 985660,
  "comment-search-outline": 985661,
  "comment-text": 983432,
  "comment-text-multiple": 985184,
  "comment-text-multiple-outline": 985185,
  "comment-text-outline": 983433,
  "compare": 983434,
  "compare-horizontal": 988306,
  "compare-vertical": 988307,
  "compass": 983435,
  "compass-off": 985984,
  "compass-off-outline": 985985,
  "compass-outline": 983436,
  "compass-rose": 988034,
  "concourse-ci": 987296,
  "console": 983437,
  "console-line": 985015,
  "console-network": 985257,
  "console-network-outline": 986208,
  "consolidate": 987352,
  "contactless-payment": 986474,
  "contactless-payment-circle": 983841,
  "contactless-payment-circle-outline": 984072,
  "contacts": 984779,
  "contacts-outline": 984504,
  "contain": 985662,
  "contain-end": 985663,
  "contain-start": 985664,
  "content-copy": 983439,
  "content-cut": 983440,
  "content-duplicate": 983441,
  "content-paste": 983442,
  "content-save": 983443,
  "content-save-alert": 986946,
  "content-save-alert-outline": 986947,
  "content-save-all": 983444,
  "content-save-all-outline": 986948,
  "content-save-cog": 988251,
  "content-save-cog-outline": 988252,
  "content-save-edit": 986363,
  "content-save-edit-outline": 986364,
  "content-save-move": 986663,
  "content-save-move-outline": 986664,
  "content-save-outline": 985112,
  "content-save-settings": 984603,
  "content-save-settings-outline": 985902,
  "contrast": 983445,
  "contrast-box": 983446,
  "contrast-circle": 983447,
  "controller-classic": 985986,
  "controller-classic-outline": 985987,
  "cookie": 983448,
  "coolant-temperature": 984008,
  "copyright": 984550,
  "cordova": 985432,
  "corn": 985016,
  "corn-off": 988143,
  "cosine-wave": 988281,
  "counter": 983449,
  "cow": 983450,
  "cpu-32-bit": 986847,
  "cpu-64-bit": 986848,
  "crane": 985186,
  "creation": 984692,
  "creative-commons": 986475,
  "credit-card": 987119,
  "credit-card-check": 988112,
  "credit-card-check-outline": 988113,
  "credit-card-clock": 986849,
  "credit-card-clock-outline": 986850,
  "credit-card-marker": 984744,
  "credit-card-marker-outline": 986558,
  "credit-card-minus": 987052,
  "credit-card-minus-outline": 987053,
  "credit-card-multiple": 987120,
  "credit-card-multiple-outline": 983452,
  "credit-card-off": 987121,
  "credit-card-off-outline": 984548,
  "credit-card-outline": 983451,
  "credit-card-plus": 987122,
  "credit-card-plus-outline": 984694,
  "credit-card-refund": 987123,
  "credit-card-refund-outline": 985768,
  "credit-card-remove": 987054,
  "credit-card-remove-outline": 987055,
  "credit-card-scan": 987124,
  "credit-card-scan-outline": 983453,
  "credit-card-settings": 987125,
  "credit-card-settings-outline": 985303,
  "credit-card-wireless": 985090,
  "credit-card-wireless-off": 984442,
  "credit-card-wireless-off-outline": 984443,
  "credit-card-wireless-outline": 986476,
  "cricket": 986477,
  "crop": 983454,
  "crop-free": 983455,
  "crop-landscape": 983456,
  "crop-portrait": 983457,
  "crop-rotate": 984726,
  "crop-square": 983458,
  "crosshairs": 983459,
  "crosshairs-gps": 983460,
  "crosshairs-off": 986949,
  "crosshairs-question": 987446,
  "crown": 983461,
  "crown-outline": 987600,
  "cryengine": 985433,
  "crystal-ball": 985903,
  "cube": 983462,
  "cube-off": 988188,
  "cube-off-outline": 988189,
  "cube-outline": 983463,
  "cube-scan": 985988,
  "cube-send": 983464,
  "cube-unfolded": 983465,
  "cup": 983466,
  "cup-off": 984549,
  "cup-off-outline": 988029,
  "cup-outline": 987919,
  "cup-water": 983467,
  "cupboard": 986950,
  "cupboard-outline": 986951,
  "cupcake": 985434,
  "curling": 985187,
  "currency-bdt": 985188,
  "currency-brl": 985989,
  "currency-btc": 983468,
  "currency-cny": 985018,
  "currency-eth": 985019,
  "currency-eur": 983469,
  "currency-eur-off": 987925,
  "currency-gbp": 983470,
  "currency-ils": 986209,
  "currency-inr": 983471,
  "currency-jpy": 985020,
  "currency-krw": 985021,
  "currency-kzt": 985189,
  "currency-ngn": 983472,
  "currency-php": 985574,
  "currency-rial": 986780,
  "currency-rub": 983473,
  "currency-sign": 985022,
  "currency-try": 983474,
  "currency-twd": 985023,
  "currency-usd": 983489,
  "currency-usd-circle": 987499,
  "currency-usd-circle-outline": 983416,
  "currency-usd-off": 984698,
  "current-ac": 988288,
  "current-dc": 985436,
  "cursor-default": 983488,
  "cursor-default-click": 986365,
  "cursor-default-click-outline": 986366,
  "cursor-default-gesture": 987431,
  "cursor-default-gesture-outline": 987432,
  "cursor-default-outline": 983487,
  "cursor-move": 983486,
  "cursor-pointer": 983485,
  "cursor-text": 984551,
  "database": 983484,
  "database-check": 985769,
  "database-edit": 985990,
  "database-export": 985438,
  "database-import": 985437,
  "database-lock": 985770,
  "database-marker": 987894,
  "database-minus": 983483,
  "database-plus": 983482,
  "database-refresh": 984514,
  "database-remove": 986368,
  "database-search": 985190,
  "database-settings": 986369,
  "database-sync": 986367,
  "death-star": 985304,
  "death-star-variant": 985305,
  "deathly-hallows": 985991,
  "debian": 985306,
  "debug-step-into": 983481,
  "debug-step-out": 983480,
  "debug-step-over": 983479,
  "decagram": 984940,
  "decagram-outline": 984941,
  "decimal": 987297,
  "decimal-comma": 987298,
  "decimal-comma-decrease": 987299,
  "decimal-comma-increase": 987300,
  "decimal-decrease": 983478,
  "decimal-increase": 983477,
  "delete": 983476,
  "delete-alert": 987301,
  "delete-alert-outline": 987302,
  "delete-circle": 984707,
  "delete-circle-outline": 985992,
  "delete-empty": 984780,
  "delete-empty-outline": 986781,
  "delete-forever": 984552,
  "delete-forever-outline": 985993,
  "delete-off": 987303,
  "delete-off-outline": 987304,
  "delete-outline": 985575,
  "delete-restore": 985113,
  "delete-sweep": 984553,
  "delete-sweep-outline": 986210,
  "delete-variant": 983475,
  "delta": 983490,
  "desk": 987705,
  "desk-lamp": 985439,
  "deskphone": 983491,
  "desktop-classic": 985024,
  "desktop-mac": 983492,
  "desktop-mac-dashboard": 985576,
  "desktop-tower": 983493,
  "desktop-tower-monitor": 985771,
  "details": 983494,
  "dev-to": 986478,
  "developer-board": 984727,
  "deviantart": 983495,
  "devices": 987056,
  "diabetes": 987430,
  "dialpad": 984604,
  "diameter": 986211,
  "diameter-outline": 986212,
  "diameter-variant": 986213,
  "diamond": 985994,
  "diamond-outline": 985995,
  "diamond-stone": 983496,
  "dice-1": 983498,
  "dice-1-outline": 987466,
  "dice-2": 983499,
  "dice-2-outline": 987467,
  "dice-3": 983500,
  "dice-3-outline": 987468,
  "dice-4": 983501,
  "dice-4-outline": 987469,
  "dice-5": 983502,
  "dice-5-outline": 987470,
  "dice-6": 983503,
  "dice-6-outline": 987471,
  "dice-d10": 987475,
  "dice-d10-outline": 984943,
  "dice-d12": 987476,
  "dice-d12-outline": 985191,
  "dice-d20": 987477,
  "dice-d20-outline": 984554,
  "dice-d4": 987472,
  "dice-d4-outline": 984555,
  "dice-d6": 987473,
  "dice-d6-outline": 984557,
  "dice-d8": 987474,
  "dice-d8-outline": 984556,
  "dice-multiple": 984942,
  "dice-multiple-outline": 987478,
  "digital-ocean": 987703,
  "dip-switch": 985025,
  "directions": 983504,
  "directions-fork": 984641,
  "disc": 984558,
  "disc-alert": 983505,
  "disc-player": 985440,
  "discord": 984687,
  "dishwasher": 985772,
  "dishwasher-alert": 987576,
  "dishwasher-off": 987577,
  "disqus": 983506,
  "distribute-horizontal-center": 987593,
  "distribute-horizontal-left": 987592,
  "distribute-horizontal-right": 987594,
  "distribute-vertical-bottom": 987595,
  "distribute-vertical-center": 987596,
  "distribute-vertical-top": 987597,
  "diving-flippers": 986559,
  "diving-helmet": 986560,
  "diving-scuba": 986561,
  "diving-scuba-flag": 986562,
  "diving-scuba-tank": 986563,
  "diving-scuba-tank-multiple": 986564,
  "diving-snorkel": 986565,
  "division": 983508,
  "division-box": 983509,
  "dlna": 985665,
  "dna": 984708,
  "dns": 983510,
  "dns-outline": 985996,
  "do-not-disturb": 984728,
  "do-not-disturb-off": 984729,
  "dock-bottom": 987305,
  "dock-left": 987306,
  "dock-right": 987307,
  "dock-window": 987308,
  "docker": 985192,
  "doctor": 985666,
  "dog": 985667,
  "dog-service": 985773,
  "dog-side": 985668,
  "dolby": 984755,
  "dolly": 986782,
  "domain": 983511,
  "domain-off": 986479,
  "domain-plus": 987309,
  "domain-remove": 987310,
  "dome-light": 988190,
  "domino-mask": 987171,
  "donkey": 985026,
  "door": 985114,
  "door-closed": 985115,
  "door-closed-lock": 987311,
  "door-open": 985116,
  "doorbell": 987878,
  "doorbell-video": 985193,
  "dot-net": 985774,
  "dots-horizontal": 983512,
  "dots-horizontal-circle": 985027,
  "dots-horizontal-circle-outline": 985997,
  "dots-vertical": 983513,
  "dots-vertical-circle": 985028,
  "dots-vertical-circle-outline": 985998,
  "douban": 984730,
  "download": 983514,
  "download-box": 988258,
  "download-box-outline": 988259,
  "download-circle": 988260,
  "download-circle-outline": 988261,
  "download-lock": 987936,
  "download-lock-outline": 987937,
  "download-multiple": 985577,
  "download-network": 984820,
  "download-network-outline": 986214,
  "download-off": 987312,
  "download-off-outline": 987313,
  "download-outline": 985999,
  "drag": 983515,
  "drag-horizontal": 983516,
  "drag-horizontal-variant": 987888,
  "drag-variant": 986000,
  "drag-vertical": 983517,
  "drag-vertical-variant": 987889,
  "drama-masks": 986370,
  "draw": 986953,
  "drawing": 983518,
  "drawing-box": 983519,
  "dresser": 986954,
  "dresser-outline": 986955,
  "drone": 983522,
  "dropbox": 983523,
  "drupal": 983524,
  "duck": 983525,
  "dumbbell": 983526,
  "dump-truck": 986215,
  "ear-hearing": 985029,
  "ear-hearing-off": 985669,
  "earth": 983527,
  "earth-arrow-right": 987921,
  "earth-box": 984781,
  "earth-box-minus": 988167,
  "earth-box-off": 984782,
  "earth-box-plus": 988166,
  "earth-box-remove": 988168,
  "earth-minus": 988164,
  "earth-off": 983528,
  "earth-plus": 988163,
  "earth-remove": 988165,
  "egg": 985775,
  "egg-easter": 985776,
  "egg-off": 988144,
  "egg-off-outline": 988145,
  "egg-outline": 988146,
  "eight-track": 985578,
  "eject": 983530,
  "eject-outline": 986001,
  "electric-switch": 986783,
  "electric-switch-closed": 987353,
  "electron-framework": 987172,
  "elephant": 985030,
  "elevation-decline": 983531,
  "elevation-rise": 983532,
  "elevator": 983533,
  "elevator-down": 987842,
  "elevator-passenger": 988033,
  "elevator-up": 987841,
  "ellipse": 986784,
  "ellipse-outline": 986785,
  "email": 983534,
  "email-alert": 984783,
  "email-alert-outline": 986434,
  "email-box": 986371,
  "email-check": 985777,
  "email-check-outline": 985778,
  "email-edit": 986851,
  "email-edit-outline": 986852,
  "email-lock": 983537,
  "email-mark-as-unread": 986002,
  "email-minus": 986853,
  "email-minus-outline": 986854,
  "email-multiple": 986855,
  "email-multiple-outline": 986856,
  "email-newsletter": 987057,
  "email-off": 988131,
  "email-off-outline": 988132,
  "email-open": 983535,
  "email-open-multiple": 986857,
  "email-open-multiple-outline": 986858,
  "email-open-outline": 984559,
  "email-outline": 983536,
  "email-plus": 985579,
  "email-plus-outline": 985580,
  "email-receive": 987354,
  "email-receive-outline": 987355,
  "email-search": 985441,
  "email-search-outline": 985442,
  "email-send": 987356,
  "email-send-outline": 987357,
  "email-sync": 987847,
  "email-sync-outline": 987848,
  "email-variant": 984560,
  "ember": 985904,
  "emby": 984756,
  "emoticon": 986216,
  "emoticon-angry": 986217,
  "emoticon-angry-outline": 986218,
  "emoticon-confused": 987358,
  "emoticon-confused-outline": 987359,
  "emoticon-cool": 986219,
  "emoticon-cool-outline": 983539,
  "emoticon-cry": 986220,
  "emoticon-cry-outline": 986221,
  "emoticon-dead": 986222,
  "emoticon-dead-outline": 984731,
  "emoticon-devil": 986223,
  "emoticon-devil-outline": 983540,
  "emoticon-excited": 986224,
  "emoticon-excited-outline": 984732,
  "emoticon-frown": 986956,
  "emoticon-frown-outline": 986957,
  "emoticon-happy": 986225,
  "emoticon-happy-outline": 983541,
  "emoticon-kiss": 986226,
  "emoticon-kiss-outline": 986227,
  "emoticon-lol": 987668,
  "emoticon-lol-outline": 987669,
  "emoticon-neutral": 986228,
  "emoticon-neutral-outline": 983542,
  "emoticon-outline": 983538,
  "emoticon-poop": 983543,
  "emoticon-poop-outline": 986229,
  "emoticon-sad": 986230,
  "emoticon-sad-outline": 983544,
  "emoticon-tongue": 983545,
  "emoticon-tongue-outline": 986231,
  "emoticon-wink": 986232,
  "emoticon-wink-outline": 986233,
  "engine": 983546,
  "engine-off": 985670,
  "engine-off-outline": 985671,
  "engine-outline": 983547,
  "epsilon": 987360,
  "equal": 983548,
  "equal-box": 983549,
  "equalizer": 986786,
  "equalizer-outline": 986787,
  "eraser": 983550,
  "eraser-variant": 984642,
  "escalator": 983551,
  "escalator-box": 988057,
  "escalator-down": 987840,
  "escalator-up": 987839,
  "eslint": 986234,
  "et": 985779,
  "ethereum": 985194,
  "ethernet": 983552,
  "ethernet-cable": 983553,
  "ethernet-cable-off": 983554,
  "ev-station": 984561,
  "evernote": 983556,
  "excavator": 987173,
  "exclamation": 983557,
  "exclamation-thick": 987704,
  "exit-run": 985672,
  "exit-to-app": 983558,
  "expand-all": 985780,
  "expand-all-outline": 985781,
  "expansion-card": 985262,
  "expansion-card-variant": 987058,
  "exponent": 985443,
  "exponent-box": 985444,
  "export": 983559,
  "export-variant": 986003,
  "eye": 983560,
  "eye-check": 986372,
  "eye-check-outline": 986373,
  "eye-circle": 986004,
  "eye-circle-outline": 986005,
  "eye-minus": 987174,
  "eye-minus-outline": 987175,
  "eye-off": 983561,
  "eye-off-outline": 984785,
  "eye-outline": 984784,
  "eye-plus": 985195,
  "eye-plus-outline": 985196,
  "eye-settings": 985197,
  "eye-settings-outline": 985198,
  "eyedropper": 983562,
  "eyedropper-minus": 988125,
  "eyedropper-off": 988127,
  "eyedropper-plus": 988124,
  "eyedropper-remove": 988126,
  "eyedropper-variant": 983563,
  "face": 984643,
  "face-agent": 986480,
  "face-outline": 986006,
  "face-profile": 984644,
  "face-profile-woman": 987254,
  "face-recognition": 986235,
  "face-woman": 987255,
  "face-woman-outline": 987256,
  "facebook": 983564,
  "facebook-messenger": 983566,
  "facebook-workplace": 985905,
  "factory": 983567,
  "fan": 983568,
  "fan-alert": 988268,
  "fan-chevron-down": 988269,
  "fan-chevron-up": 988270,
  "fan-minus": 988272,
  "fan-off": 985117,
  "fan-plus": 988271,
  "fan-remove": 988273,
  "fan-speed-1": 988274,
  "fan-speed-2": 988275,
  "fan-speed-3": 988276,
  "fast-forward": 983569,
  "fast-forward-10": 986481,
  "fast-forward-30": 986374,
  "fast-forward-5": 987640,
  "fast-forward-outline": 984786,
  "fax": 983570,
  "feather": 984787,
  "feature-search": 985673,
  "feature-search-outline": 985674,
  "fedora": 985307,
  "fencing": 988353,
  "ferris-wheel": 986788,
  "ferry": 983571,
  "file": 983572,
  "file-account": 984891,
  "file-account-outline": 987176,
  "file-alert": 985675,
  "file-alert-outline": 985676,
  "file-cabinet": 985782,
  "file-cad": 986859,
  "file-cad-box": 986860,
  "file-cancel": 986566,
  "file-cancel-outline": 986567,
  "file-certificate": 987526,
  "file-certificate-outline": 987527,
  "file-chart": 983573,
  "file-chart-outline": 987177,
  "file-check": 983574,
  "file-check-outline": 986665,
  "file-clock": 987873,
  "file-clock-outline": 987874,
  "file-cloud": 983575,
  "file-cloud-outline": 987178,
  "file-code": 983598,
  "file-code-outline": 987179,
  "file-cog": 987259,
  "file-cog-outline": 987260,
  "file-compare": 985258,
  "file-delimited": 983576,
  "file-delimited-outline": 986789,
  "file-document": 983577,
  "file-document-edit": 986568,
  "file-document-edit-outline": 986569,
  "file-document-outline": 985582,
  "file-download": 985445,
  "file-download-outline": 985446,
  "file-edit": 987623,
  "file-edit-outline": 987624,
  "file-excel": 983579,
  "file-excel-box": 983580,
  "file-excel-box-outline": 987180,
  "file-excel-outline": 987181,
  "file-export": 983581,
  "file-export-outline": 987182,
  "file-eye": 986570,
  "file-eye-outline": 986571,
  "file-find": 983582,
  "file-find-outline": 986007,
  "file-hidden": 984595,
  "file-image": 983583,
  "file-image-outline": 986800,
  "file-import": 983584,
  "file-import-outline": 987183,
  "file-key": 987524,
  "file-key-outline": 987525,
  "file-link": 987511,
  "file-link-outline": 987512,
  "file-lock": 983585,
  "file-lock-outline": 987184,
  "file-move": 985785,
  "file-move-outline": 987185,
  "file-multiple": 983586,
  "file-multiple-outline": 987186,
  "file-music": 983587,
  "file-music-outline": 986666,
  "file-outline": 983588,
  "file-pdf": 983589,
  "file-pdf-box": 983590,
  "file-pdf-box-outline": 987059,
  "file-pdf-outline": 986669,
  "file-percent": 985118,
  "file-percent-outline": 987187,
  "file-phone": 987513,
  "file-phone-outline": 987514,
  "file-plus": 984914,
  "file-plus-outline": 986861,
  "file-powerpoint": 983591,
  "file-powerpoint-box": 983592,
  "file-powerpoint-box-outline": 987188,
  "file-powerpoint-outline": 987189,
  "file-presentation-box": 983593,
  "file-question": 985199,
  "file-question-outline": 987190,
  "file-refresh": 985368,
  "file-refresh-outline": 984385,
  "file-remove": 986008,
  "file-remove-outline": 987191,
  "file-replace": 985906,
  "file-replace-outline": 985907,
  "file-restore": 984688,
  "file-restore-outline": 987192,
  "file-search": 986236,
  "file-search-outline": 986237,
  "file-send": 983594,
  "file-send-outline": 987193,
  "file-settings": 987257,
  "file-settings-outline": 987258,
  "file-star": 987194,
  "file-star-outline": 987195,
  "file-swap": 987060,
  "file-swap-outline": 987061,
  "file-sync": 987670,
  "file-sync-outline": 987671,
  "file-table": 986238,
  "file-table-box": 987361,
  "file-table-box-multiple": 987362,
  "file-table-box-multiple-outline": 987363,
  "file-table-box-outline": 987364,
  "file-table-outline": 986239,
  "file-tree": 984645,
  "file-tree-outline": 988114,
  "file-undo": 985308,
  "file-undo-outline": 987196,
  "file-upload": 985677,
  "file-upload-outline": 985678,
  "file-video": 983595,
  "file-video-outline": 986668,
  "file-word": 983596,
  "file-word-box": 983597,
  "file-word-box-outline": 987197,
  "file-word-outline": 987198,
  "film": 983599,
  "filmstrip": 983600,
  "filmstrip-box": 983858,
  "filmstrip-box-multiple": 986392,
  "filmstrip-off": 983601,
  "filter": 983602,
  "filter-menu": 987365,
  "filter-menu-outline": 987366,
  "filter-minus": 986862,
  "filter-minus-outline": 986863,
  "filter-outline": 983603,
  "filter-plus": 986864,
  "filter-plus-outline": 986865,
  "filter-remove": 983604,
  "filter-remove-outline": 983605,
  "filter-variant": 983606,
  "filter-variant-minus": 987410,
  "filter-variant-plus": 987411,
  "filter-variant-remove": 987199,
  "finance": 985119,
  "find-replace": 984788,
  "fingerprint": 983607,
  "fingerprint-off": 986801,
  "fire": 983608,
  "fire-extinguisher": 986866,
  "fire-hydrant": 987447,
  "fire-hydrant-alert": 987448,
  "fire-hydrant-off": 987449,
  "fire-truck": 985259,
  "firebase": 985447,
  "firefox": 983609,
  "fireplace": 986670,
  "fireplace-off": 986671,
  "firework": 986672,
  "fish": 983610,
  "fish-off": 988147,
  "fishbowl": 986867,
  "fishbowl-outline": 986868,
  "fit-to-page": 986869,
  "fit-to-page-outline": 986870,
  "flag": 983611,
  "flag-checkered": 983612,
  "flag-minus": 986009,
  "flag-minus-outline": 987314,
  "flag-outline": 983613,
  "flag-plus": 986010,
  "flag-plus-outline": 987315,
  "flag-remove": 986011,
  "flag-remove-outline": 987316,
  "flag-triangle": 983615,
  "flag-variant": 983616,
  "flag-variant-outline": 983614,
  "flare": 986482,
  "flash": 983617,
  "flash-alert": 986871,
  "flash-alert-outline": 986872,
  "flash-auto": 983618,
  "flash-circle": 985120,
  "flash-off": 983619,
  "flash-outline": 984789,
  "flash-red-eye": 984699,
  "flashlight": 983620,
  "flashlight-off": 983621,
  "flask": 983187,
  "flask-empty": 983188,
  "flask-empty-minus": 987706,
  "flask-empty-minus-outline": 987707,
  "flask-empty-off": 988148,
  "flask-empty-off-outline": 988149,
  "flask-empty-outline": 983189,
  "flask-empty-plus": 987708,
  "flask-empty-plus-outline": 987709,
  "flask-empty-remove": 987710,
  "flask-empty-remove-outline": 987711,
  "flask-minus": 987712,
  "flask-minus-outline": 987713,
  "flask-off": 988150,
  "flask-off-outline": 988151,
  "flask-outline": 983190,
  "flask-plus": 987714,
  "flask-plus-outline": 987715,
  "flask-remove": 987716,
  "flask-remove-outline": 987717,
  "flask-round-bottom": 987723,
  "flask-round-bottom-empty": 987724,
  "flask-round-bottom-empty-outline": 987725,
  "flask-round-bottom-outline": 987726,
  "fleur-de-lis": 987907,
  "flip-horizontal": 987367,
  "flip-to-back": 983623,
  "flip-to-front": 983624,
  "flip-vertical": 987368,
  "floor-lamp": 985309,
  "floor-lamp-dual": 987200,
  "floor-lamp-variant": 987201,
  "floor-plan": 985121,
  "floppy": 983625,
  "floppy-variant": 985583,
  "flower": 983626,
  "flower-outline": 985584,
  "flower-poppy": 986376,
  "flower-tulip": 985585,
  "flower-tulip-outline": 985586,
  "focus-auto": 986958,
  "focus-field": 986959,
  "focus-field-horizontal": 986960,
  "focus-field-vertical": 986961,
  "folder": 983627,
  "folder-account": 983628,
  "folder-account-outline": 986012,
  "folder-alert": 986572,
  "folder-alert-outline": 986573,
  "folder-clock": 985786,
  "folder-clock-outline": 985787,
  "folder-cog": 987263,
  "folder-cog-outline": 987264,
  "folder-download": 983629,
  "folder-download-outline": 987369,
  "folder-edit": 985310,
  "folder-edit-outline": 986574,
  "folder-google-drive": 983630,
  "folder-heart": 987370,
  "folder-heart-outline": 987371,
  "folder-home": 987317,
  "folder-home-outline": 987318,
  "folder-image": 983631,
  "folder-information": 987319,
  "folder-information-outline": 987320,
  "folder-key": 985260,
  "folder-key-network": 985261,
  "folder-key-network-outline": 986240,
  "folder-key-outline": 987372,
  "folder-lock": 983632,
  "folder-lock-open": 983633,
  "folder-marker": 987757,
  "folder-marker-outline": 987758,
  "folder-move": 983634,
  "folder-move-outline": 987718,
  "folder-multiple": 983635,
  "folder-multiple-image": 983636,
  "folder-multiple-outline": 983637,
  "folder-multiple-plus": 988286,
  "folder-multiple-plus-outline": 988287,
  "folder-music": 987993,
  "folder-music-outline": 987994,
  "folder-network": 985200,
  "folder-network-outline": 986241,
  "folder-open": 984944,
  "folder-open-outline": 986575,
  "folder-outline": 983638,
  "folder-plus": 983639,
  "folder-plus-outline": 986013,
  "folder-pound": 986377,
  "folder-pound-outline": 986378,
  "folder-refresh": 984905,
  "folder-refresh-outline": 984386,
  "folder-remove": 983640,
  "folder-remove-outline": 986014,
  "folder-search": 985448,
  "folder-search-outline": 985449,
  "folder-settings": 987261,
  "folder-settings-outline": 987262,
  "folder-star": 984733,
  "folder-star-multiple": 988115,
  "folder-star-multiple-outline": 988116,
  "folder-star-outline": 986015,
  "folder-swap": 987062,
  "folder-swap-outline": 987063,
  "folder-sync": 986379,
  "folder-sync-outline": 986380,
  "folder-table": 987875,
  "folder-table-outline": 987876,
  "folder-text": 986242,
  "folder-text-outline": 986243,
  "folder-upload": 983641,
  "folder-upload-outline": 987373,
  "folder-zip": 984811,
  "folder-zip-outline": 985017,
  "font-awesome": 983098,
  "food": 983642,
  "food-apple": 983643,
  "food-apple-outline": 986244,
  "food-croissant": 985032,
  "food-drumstick": 988191,
  "food-drumstick-off": 988264,
  "food-drumstick-off-outline": 988265,
  "food-drumstick-outline": 988192,
  "food-fork-drink": 984562,
  "food-off": 984563,
  "food-steak": 988266,
  "food-steak-off": 988267,
  "food-variant": 983644,
  "food-variant-off": 988133,
  "foot-print": 986962,
  "football": 983645,
  "football-australian": 983646,
  "football-helmet": 983647,
  "forklift": 985033,
  "form-dropdown": 988160,
  "form-select": 988161,
  "form-textarea": 987285,
  "form-textbox": 984590,
  "form-textbox-lock": 987997,
  "form-textbox-password": 985077,
  "format-align-bottom": 984915,
  "format-align-center": 983648,
  "format-align-justify": 983649,
  "format-align-left": 983650,
  "format-align-middle": 984916,
  "format-align-right": 983651,
  "format-align-top": 984917,
  "format-annotation-minus": 985788,
  "format-annotation-plus": 984646,
  "format-bold": 983652,
  "format-clear": 983653,
  "format-color-fill": 983654,
  "format-color-highlight": 986673,
  "format-color-marker-cancel": 987923,
  "format-color-text": 984734,
  "format-columns": 985311,
  "format-float-center": 983655,
  "format-float-left": 983656,
  "format-float-none": 983657,
  "format-float-right": 983658,
  "format-font": 984790,
  "format-font-size-decrease": 985587,
  "format-font-size-increase": 985588,
  "format-header-1": 983659,
  "format-header-2": 983660,
  "format-header-3": 983661,
  "format-header-4": 983662,
  "format-header-5": 983663,
  "format-header-6": 983664,
  "format-header-decrease": 983665,
  "format-header-equal": 983666,
  "format-header-increase": 983667,
  "format-header-pound": 983668,
  "format-horizontal-align-center": 984606,
  "format-horizontal-align-left": 984607,
  "format-horizontal-align-right": 984608,
  "format-indent-decrease": 983669,
  "format-indent-increase": 983670,
  "format-italic": 983671,
  "format-letter-case": 985908,
  "format-letter-case-lower": 985909,
  "format-letter-case-upper": 985910,
  "format-letter-ends-with": 987064,
  "format-letter-matches": 987065,
  "format-letter-starts-with": 987066,
  "format-line-spacing": 983672,
  "format-line-style": 984520,
  "format-line-weight": 984521,
  "format-list-bulleted": 983673,
  "format-list-bulleted-square": 986576,
  "format-list-bulleted-triangle": 986802,
  "format-list-bulleted-type": 983674,
  "format-list-checkbox": 985450,
  "format-list-checks": 984918,
  "format-list-numbered": 983675,
  "format-list-numbered-rtl": 986381,
  "format-list-text": 987759,
  "format-overline": 986803,
  "format-page-break": 984791,
  "format-paint": 983676,
  "format-paragraph": 983677,
  "format-pilcrow": 984792,
  "format-quote-close": 983678,
  "format-quote-close-outline": 987560,
  "format-quote-open": 984919,
  "format-quote-open-outline": 987559,
  "format-rotate-90": 984746,
  "format-section": 984735,
  "format-size": 983679,
  "format-strikethrough": 983680,
  "format-strikethrough-variant": 983681,
  "format-subscript": 983682,
  "format-superscript": 983683,
  "format-text": 983684,
  "format-text-rotation-angle-down": 987067,
  "format-text-rotation-angle-up": 987068,
  "format-text-rotation-down": 986483,
  "format-text-rotation-down-vertical": 987069,
  "format-text-rotation-none": 986484,
  "format-text-rotation-up": 987070,
  "format-text-rotation-vertical": 987071,
  "format-text-variant": 986674,
  "format-text-wrapping-clip": 986382,
  "format-text-wrapping-overflow": 986383,
  "format-text-wrapping-wrap": 986384,
  "format-textbox": 986385,
  "format-textdirection-l-to-r": 983685,
  "format-textdirection-r-to-l": 983686,
  "format-title": 984564,
  "format-underline": 983687,
  "format-vertical-align-bottom": 984609,
  "format-vertical-align-center": 984610,
  "format-vertical-align-top": 984611,
  "format-wrap-inline": 983688,
  "format-wrap-square": 983689,
  "format-wrap-tight": 983690,
  "format-wrap-top-bottom": 983691,
  "forum": 983692,
  "forum-outline": 985122,
  "forward": 983693,
  "forwardburger": 986485,
  "fountain": 985451,
  "fountain-pen": 986386,
  "fountain-pen-tip": 986387,
  "freebsd": 985312,
  "frequently-asked-questions": 986804,
  "fridge": 983696,
  "fridge-alert": 987569,
  "fridge-alert-outline": 987570,
  "fridge-bottom": 983698,
  "fridge-off": 987567,
  "fridge-off-outline": 987568,
  "fridge-outline": 983695,
  "fridge-top": 983697,
  "fruit-cherries": 987202,
  "fruit-cherries-off": 988152,
  "fruit-citrus": 987203,
  "fruit-citrus-off": 988153,
  "fruit-grapes": 987204,
  "fruit-grapes-outline": 987205,
  "fruit-pineapple": 987206,
  "fruit-watermelon": 987207,
  "fuel": 985034,
  "fullscreen": 983699,
  "fullscreen-exit": 983700,
  "function": 983701,
  "function-variant": 985201,
  "furigana-horizontal": 987265,
  "furigana-vertical": 987266,
  "fuse": 986245,
  "fuse-alert": 988205,
  "fuse-blade": 986246,
  "fuse-off": 988204,
  "gamepad": 983702,
  "gamepad-circle": 986675,
  "gamepad-circle-down": 986676,
  "gamepad-circle-left": 986677,
  "gamepad-circle-outline": 986678,
  "gamepad-circle-right": 986679,
  "gamepad-circle-up": 986680,
  "gamepad-down": 986681,
  "gamepad-left": 986682,
  "gamepad-right": 986683,
  "gamepad-round": 986684,
  "gamepad-round-down": 986685,
  "gamepad-round-left": 986686,
  "gamepad-round-outline": 986687,
  "gamepad-round-right": 986688,
  "gamepad-round-up": 986689,
  "gamepad-square": 986805,
  "gamepad-square-outline": 986806,
  "gamepad-up": 986690,
  "gamepad-variant": 983703,
  "gamepad-variant-outline": 986807,
  "gamma": 987374,
  "gantry-crane": 986577,
  "garage": 984793,
  "garage-alert": 985202,
  "garage-alert-variant": 987861,
  "garage-open": 984794,
  "garage-open-variant": 987860,
  "garage-variant": 987859,
  "gas-cylinder": 984647,
  "gas-station": 983704,
  "gas-station-off": 988169,
  "gas-station-off-outline": 988170,
  "gas-station-outline": 986808,
  "gate": 983705,
  "gate-and": 985313,
  "gate-arrow-right": 987497,
  "gate-nand": 985314,
  "gate-nor": 985315,
  "gate-not": 985316,
  "gate-open": 987498,
  "gate-or": 985317,
  "gate-xnor": 985318,
  "gate-xor": 985319,
  "gatsby": 986691,
  "gauge": 983706,
  "gauge-empty": 985203,
  "gauge-full": 985204,
  "gauge-low": 985205,
  "gavel": 983707,
  "gender-female": 983708,
  "gender-male": 983709,
  "gender-male-female": 983710,
  "gender-male-female-variant": 987455,
  "gender-non-binary": 987456,
  "gender-transgender": 983711,
  "gentoo": 985320,
  "gesture": 985035,
  "gesture-double-tap": 984892,
  "gesture-pinch": 985789,
  "gesture-spread": 985790,
  "gesture-swipe": 986486,
  "gesture-swipe-down": 984893,
  "gesture-swipe-horizontal": 985791,
  "gesture-swipe-left": 984894,
  "gesture-swipe-right": 984895,
  "gesture-swipe-up": 984896,
  "gesture-swipe-vertical": 985792,
  "gesture-tap": 984897,
  "gesture-tap-box": 987817,
  "gesture-tap-button": 987816,
  "gesture-tap-hold": 986487,
  "gesture-two-double-tap": 984898,
  "gesture-two-tap": 984899,
  "ghost": 983712,
  "ghost-off": 985589,
  "gif": 986488,
  "gift": 986692,
  "gift-outline": 983713,
  "git": 983714,
  "github": 983716,
  "gitlab": 986016,
  "glass-cocktail": 983894,
  "glass-flute": 983717,
  "glass-mug": 983718,
  "glass-mug-variant": 987414,
  "glass-pint-outline": 987917,
  "glass-stange": 983719,
  "glass-tulip": 983720,
  "glass-wine": 985206,
  "glasses": 983722,
  "globe-light": 987863,
  "globe-model": 985321,
  "gmail": 983723,
  "gnome": 983724,
  "go-kart": 986489,
  "go-kart-track": 986490,
  "gog": 986017,
  "gold": 987727,
  "golf": 985123,
  "golf-cart": 987556,
  "golf-tee": 987267,
  "gondola": 984710,
  "goodreads": 986491,
  "google": 983725,
  "google-ads": 986247,
  "google-analytics": 985036,
  "google-assistant": 985037,
  "google-cardboard": 983726,
  "google-chrome": 983727,
  "google-circles": 983728,
  "google-circles-communities": 983729,
  "google-circles-extended": 983730,
  "google-circles-group": 983731,
  "google-classroom": 983744,
  "google-cloud": 987638,
  "google-controller": 983732,
  "google-controller-off": 983733,
  "google-downasaur": 988002,
  "google-drive": 983734,
  "google-earth": 983735,
  "google-fit": 985452,
  "google-glass": 983736,
  "google-hangouts": 983753,
  "google-home": 985124,
  "google-keep": 984796,
  "google-lens": 985590,
  "google-maps": 984565,
  "google-my-business": 987208,
  "google-nearby": 983737,
  "google-photos": 984797,
  "google-play": 983740,
  "google-plus": 983741,
  "google-podcast": 986809,
  "google-spreadsheet": 985591,
  "google-street-view": 986248,
  "google-translate": 983743,
  "gradient": 984736,
  "grain": 986492,
  "graph": 987209,
  "graph-outline": 987210,
  "graphql": 985207,
  "grave-stone": 986018,
  "grease-pencil": 984648,
  "greater-than": 985453,
  "greater-than-or-equal": 985454,
  "grid": 983745,
  "grid-large": 984920,
  "grid-off": 983746,
  "grill": 986693,
  "grill-outline": 987530,
  "group": 983747,
  "guitar-acoustic": 984945,
  "guitar-electric": 983748,
  "guitar-pick": 983749,
  "guitar-pick-outline": 983750,
  "guy-fawkes-mask": 985125,
  "hail": 985793,
  "hair-dryer": 987375,
  "hair-dryer-outline": 987376,
  "halloween": 986019,
  "hamburger": 984709,
  "hammer": 985322,
  "hammer-screwdriver": 987938,
  "hammer-wrench": 987939,
  "hand": 985679,
  "hand-heart": 987377,
  "hand-left": 986694,
  "hand-okay": 985680,
  "hand-peace": 985681,
  "hand-peace-variant": 985682,
  "hand-pointing-down": 985683,
  "hand-pointing-left": 985684,
  "hand-pointing-right": 983751,
  "hand-pointing-up": 985685,
  "hand-right": 986695,
  "hand-saw": 986696,
  "hand-water": 988063,
  "handball": 986963,
  "handcuffs": 987454,
  "handshake": 987672,
  "hanger": 983752,
  "hard-hat": 985455,
  "harddisk": 983754,
  "harddisk-plus": 987211,
  "harddisk-remove": 987212,
  "hat-fedora": 986020,
  "hazard-lights": 986249,
  "hdr": 986493,
  "hdr-off": 986494,
  "head": 987998,
  "head-alert": 987960,
  "head-alert-outline": 987961,
  "head-check": 987962,
  "head-check-outline": 987963,
  "head-cog": 987964,
  "head-cog-outline": 987965,
  "head-dots-horizontal": 987966,
  "head-dots-horizontal-outline": 987967,
  "head-flash": 987968,
  "head-flash-outline": 987969,
  "head-heart": 987970,
  "head-heart-outline": 987971,
  "head-lightbulb": 987972,
  "head-lightbulb-outline": 987973,
  "head-minus": 987974,
  "head-minus-outline": 987975,
  "head-outline": 987999,
  "head-plus": 987976,
  "head-plus-outline": 987977,
  "head-question": 987978,
  "head-question-outline": 987979,
  "head-remove": 987980,
  "head-remove-outline": 987981,
  "head-snowflake": 987982,
  "head-snowflake-outline": 987983,
  "head-sync": 987984,
  "head-sync-outline": 987985,
  "headphones": 983755,
  "headphones-bluetooth": 985456,
  "headphones-box": 983756,
  "headphones-off": 985038,
  "headphones-settings": 983757,
  "headset": 983758,
  "headset-dock": 983759,
  "headset-off": 983760,
  "heart": 983761,
  "heart-box": 983762,
  "heart-box-outline": 983763,
  "heart-broken": 983764,
  "heart-broken-outline": 986388,
  "heart-circle": 985457,
  "heart-circle-outline": 985458,
  "heart-flash": 986873,
  "heart-half": 984799,
  "heart-half-full": 984798,
  "heart-half-outline": 984800,
  "heart-minus": 988207,
  "heart-minus-outline": 988210,
  "heart-multiple": 985686,
  "heart-multiple-outline": 985687,
  "heart-off": 984921,
  "heart-off-outline": 988212,
  "heart-outline": 983765,
  "heart-plus": 988206,
  "heart-plus-outline": 988209,
  "heart-pulse": 984566,
  "heart-remove": 988208,
  "heart-remove-outline": 988211,
  "helicopter": 985794,
  "help": 983766,
  "help-box": 984971,
  "help-circle": 983767,
  "help-circle-outline": 984613,
  "help-network": 984821,
  "help-network-outline": 986250,
  "help-rhombus": 986021,
  "help-rhombus-outline": 986022,
  "hexadecimal": 987815,
  "hexagon": 983768,
  "hexagon-multiple": 984801,
  "hexagon-multiple-outline": 987378,
  "hexagon-outline": 983769,
  "hexagon-slice-1": 985795,
  "hexagon-slice-2": 985796,
  "hexagon-slice-3": 985797,
  "hexagon-slice-4": 985798,
  "hexagon-slice-5": 985799,
  "hexagon-slice-6": 985800,
  "hexagram": 985801,
  "hexagram-outline": 985802,
  "high-definition": 985039,
  "high-definition-box": 985208,
  "highway": 984567,
  "hiking": 986495,
  "hinduism": 985459,
  "history": 983770,
  "hockey-puck": 985209,
  "hockey-sticks": 985210,
  "hololens": 983771,
  "home": 983772,
  "home-account": 985126,
  "home-alert": 985211,
  "home-analytics": 986810,
  "home-assistant": 985040,
  "home-automation": 985041,
  "home-circle": 985042,
  "home-circle-outline": 987213,
  "home-city": 986389,
  "home-city-outline": 986390,
  "home-currency-usd": 985263,
  "home-edit": 987481,
  "home-edit-outline": 987482,
  "home-export-outline": 987035,
  "home-flood": 986874,
  "home-floor-0": 986578,
  "home-floor-1": 986496,
  "home-floor-2": 986497,
  "home-floor-3": 986498,
  "home-floor-a": 986499,
  "home-floor-b": 986500,
  "home-floor-g": 986501,
  "home-floor-l": 986502,
  "home-floor-negative-1": 986579,
  "home-group": 986580,
  "home-heart": 985127,
  "home-import-outline": 987036,
  "home-lightbulb": 987729,
  "home-lightbulb-outline": 987730,
  "home-lock": 985323,
  "home-lock-open": 985324,
  "home-map-marker": 984568,
  "home-minus": 985460,
  "home-minus-outline": 988117,
  "home-modern": 983773,
  "home-outline": 984737,
  "home-plus": 985461,
  "home-plus-outline": 988118,
  "home-remove": 987719,
  "home-remove-outline": 988119,
  "home-roof": 987435,
  "home-search": 988080,
  "home-search-outline": 988081,
  "home-thermometer": 986964,
  "home-thermometer-outline": 986965,
  "home-variant": 983774,
  "home-variant-outline": 986023,
  "hook": 984802,
  "hook-off": 984803,
  "hops": 983775,
  "horizontal-rotate-clockwise": 987379,
  "horizontal-rotate-counterclockwise": 987380,
  "horseshoe": 985688,
  "hospital": 987126,
  "hospital-box": 983776,
  "hospital-box-outline": 987127,
  "hospital-building": 983777,
  "hospital-marker": 983778,
  "hot-tub": 985128,
  "hours-24": 988280,
  "hubspot": 986391,
  "hulu": 985129,
  "human": 983782,
  "human-baby-changing-table": 988043,
  "human-child": 983783,
  "human-female": 984649,
  "human-female-boy": 985689,
  "human-female-female": 985690,
  "human-female-girl": 985691,
  "human-greeting": 984650,
  "human-handsdown": 984651,
  "human-handsup": 984652,
  "human-male": 984653,
  "human-male-boy": 985692,
  "human-male-child": 988044,
  "human-male-female": 983784,
  "human-male-girl": 985693,
  "human-male-height": 986875,
  "human-male-height-variant": 986876,
  "human-male-male": 985694,
  "human-pregnant": 984527,
  "human-wheelchair": 988045,
  "humble-bundle": 984900,
  "hvac": 987986,
  "hydraulic-oil-level": 987940,
  "hydraulic-oil-temperature": 987941,
  "hydro-power": 987877,
  "ice-cream": 985130,
  "ice-cream-off": 986706,
  "ice-pop": 986877,
  "id-card": 987072,
  "identifier": 986878,
  "ideogram-cjk": 987953,
  "ideogram-cjk-variant": 987954,
  "iframe": 986251,
  "iframe-array": 987381,
  "iframe-array-outline": 987382,
  "iframe-braces": 987383,
  "iframe-braces-outline": 987384,
  "iframe-outline": 986252,
  "iframe-parentheses": 987385,
  "iframe-parentheses-outline": 987386,
  "iframe-variable": 987387,
  "iframe-variable-outline": 987388,
  "image": 983785,
  "image-album": 983786,
  "image-area": 983787,
  "image-area-close": 983788,
  "image-auto-adjust": 987073,
  "image-broken": 983789,
  "image-broken-variant": 983790,
  "image-edit": 987619,
  "image-edit-outline": 987620,
  "image-filter-black-white": 983792,
  "image-filter-center-focus": 983793,
  "image-filter-center-focus-strong": 986879,
  "image-filter-center-focus-strong-outline": 986880,
  "image-filter-center-focus-weak": 983794,
  "image-filter-drama": 983795,
  "image-filter-frames": 983796,
  "image-filter-hdr": 983797,
  "image-filter-none": 983798,
  "image-filter-tilt-shift": 983799,
  "image-filter-vintage": 983800,
  "image-frame": 986697,
  "image-minus": 988185,
  "image-move": 985592,
  "image-multiple": 983801,
  "image-multiple-outline": 983791,
  "image-off": 985131,
  "image-off-outline": 987601,
  "image-outline": 985462,
  "image-plus": 985212,
  "image-remove": 988184,
  "image-search": 985463,
  "image-search-outline": 985464,
  "image-size-select-actual": 986253,
  "image-size-select-large": 986254,
  "image-size-select-small": 986255,
  "import": 983802,
  "inbox": 984711,
  "inbox-arrow-down": 983803,
  "inbox-arrow-down-outline": 987760,
  "inbox-arrow-up": 984017,
  "inbox-arrow-up-outline": 987761,
  "inbox-full": 987762,
  "inbox-full-outline": 987763,
  "inbox-multiple": 985264,
  "inbox-multiple-outline": 986024,
  "inbox-outline": 987764,
  "incognito": 984569,
  "incognito-circle": 988193,
  "incognito-circle-off": 988194,
  "incognito-off": 983157,
  "infinity": 984804,
  "information": 983804,
  "information-outline": 983805,
  "information-variant": 984654,
  "instagram": 983806,
  "instrument-triangle": 987214,
  "invert-colors": 983809,
  "invert-colors-off": 986698,
  "iobroker": 987880,
  "ip": 985695,
  "ip-network": 985696,
  "ip-network-outline": 986256,
  "ipod": 986257,
  "islam": 985465,
  "island": 987215,
  "iv-bag": 987321,
  "jabber": 986581,
  "jeepney": 983810,
  "jellyfish": 986881,
  "jellyfish-outline": 986882,
  "jira": 983811,
  "jquery": 985213,
  "jsfiddle": 983812,
  "judaism": 985466,
  "jump-rope": 987903,
  "kabaddi": 986503,
  "karate": 985132,
  "keg": 983813,
  "kettle": 984570,
  "kettle-alert": 987927,
  "kettle-alert-outline": 987928,
  "kettle-off": 987931,
  "kettle-off-outline": 987932,
  "kettle-outline": 986966,
  "kettle-steam": 987929,
  "kettle-steam-outline": 987930,
  "kettlebell": 987904,
  "key": 983814,
  "key-arrow-right": 987922,
  "key-change": 983815,
  "key-link": 987551,
  "key-minus": 983816,
  "key-outline": 986582,
  "key-plus": 983817,
  "key-remove": 983818,
  "key-star": 987550,
  "key-variant": 983819,
  "key-wireless": 987074,
  "keyboard": 983820,
  "keyboard-backspace": 983821,
  "keyboard-caps": 983822,
  "keyboard-close": 983823,
  "keyboard-esc": 987831,
  "keyboard-f1": 987819,
  "keyboard-f10": 987828,
  "keyboard-f11": 987829,
  "keyboard-f12": 987830,
  "keyboard-f2": 987820,
  "keyboard-f3": 987821,
  "keyboard-f4": 987822,
  "keyboard-f5": 987823,
  "keyboard-f6": 987824,
  "keyboard-f7": 987825,
  "keyboard-f8": 987826,
  "keyboard-f9": 987827,
  "keyboard-off": 983824,
  "keyboard-off-outline": 986699,
  "keyboard-outline": 985467,
  "keyboard-return": 983825,
  "keyboard-settings": 985593,
  "keyboard-settings-outline": 985594,
  "keyboard-space": 987216,
  "keyboard-tab": 983826,
  "keyboard-variant": 983827,
  "khanda": 987389,
  "kickstarter": 984901,
  "klingon": 987995,
  "knife": 985595,
  "knife-military": 985596,
  "kodi": 983828,
  "kubernetes": 987390,
  "label": 983829,
  "label-multiple": 988021,
  "label-multiple-outline": 988022,
  "label-off": 985803,
  "label-off-outline": 985804,
  "label-outline": 983830,
  "label-percent": 987882,
  "label-percent-outline": 987883,
  "label-variant": 985805,
  "label-variant-outline": 985806,
  "ladybug": 985133,
  "lambda": 984615,
  "lamp": 984757,
  "lan": 983831,
  "lan-check": 987818,
  "lan-connect": 983832,
  "lan-disconnect": 983833,
  "lan-pending": 983834,
  "language-c": 984689,
  "language-cpp": 984690,
  "language-csharp": 983835,
  "language-css3": 983836,
  "language-fortran": 987674,
  "language-go": 985043,
  "language-haskell": 986258,
  "language-html5": 983837,
  "language-java": 985911,
  "language-javascript": 983838,
  "language-kotlin": 987673,
  "language-lua": 985265,
  "language-markdown": 983892,
  "language-markdown-outline": 986971,
  "language-php": 983839,
  "language-python": 983840,
  "language-r": 985044,
  "language-ruby": 986413,
  "language-ruby-on-rails": 985807,
  "language-swift": 984805,
  "language-typescript": 984806,
  "language-xaml": 984691,
  "laptop": 983842,
  "laptop-chromebook": 983843,
  "laptop-mac": 983844,
  "laptop-off": 984807,
  "laptop-windows": 983845,
  "laravel": 985808,
  "laser-pointer": 988292,
  "lasso": 986883,
  "lastpass": 984134,
  "latitude": 986967,
  "launch": 983847,
  "lava-lamp": 985045,
  "layers": 983848,
  "layers-minus": 986700,
  "layers-off": 983849,
  "layers-off-outline": 985597,
  "layers-outline": 985598,
  "layers-plus": 986701,
  "layers-remove": 986702,
  "layers-search": 987654,
  "layers-search-outline": 987655,
  "layers-triple": 986968,
  "layers-triple-outline": 986969,
  "lead-pencil": 984655,
  "leaf": 983850,
  "leaf-maple": 986259,
  "leaf-maple-off": 987866,
  "leaf-off": 987865,
  "leak": 986583,
  "leak-off": 986584,
  "led-off": 983851,
  "led-on": 983852,
  "led-outline": 983853,
  "led-strip": 985046,
  "led-strip-variant": 987217,
  "led-variant-off": 983854,
  "led-variant-on": 983855,
  "led-variant-outline": 983856,
  "leek": 987517,
  "less-than": 985468,
  "less-than-or-equal": 985469,
  "library": 983857,
  "library-shelves": 986025,
  "license": 987075,
  "lifebuoy": 985214,
  "light-switch": 985470,
  "lightbulb": 983861,
  "lightbulb-cfl": 987656,
  "lightbulb-cfl-off": 987657,
  "lightbulb-cfl-spiral": 987765,
  "lightbulb-cfl-spiral-off": 987843,
  "lightbulb-group": 987731,
  "lightbulb-group-off": 987853,
  "lightbulb-group-off-outline": 987854,
  "lightbulb-group-outline": 987732,
  "lightbulb-multiple": 987733,
  "lightbulb-multiple-off": 987855,
  "lightbulb-multiple-off-outline": 987856,
  "lightbulb-multiple-outline": 987734,
  "lightbulb-off": 986703,
  "lightbulb-off-outline": 986704,
  "lightbulb-on": 984808,
  "lightbulb-on-outline": 984809,
  "lightbulb-outline": 983862,
  "lighthouse": 985599,
  "lighthouse-on": 985600,
  "lightning-bolt": 988171,
  "lightning-bolt-outline": 988172,
  "lingerie": 988278,
  "link": 983863,
  "link-box": 986394,
  "link-box-outline": 986395,
  "link-box-variant": 986396,
  "link-box-variant-outline": 986397,
  "link-lock": 987322,
  "link-off": 983864,
  "link-plus": 986260,
  "link-variant": 983865,
  "link-variant-minus": 987391,
  "link-variant-off": 983866,
  "link-variant-plus": 987392,
  "link-variant-remove": 987393,
  "linkedin": 983867,
  "linux": 983869,
  "linux-mint": 985325,
  "lipstick": 988085,
  "litecoin": 985697,
  "loading": 984946,
  "location-enter": 987076,
  "location-exit": 987077,
  "lock": 983870,
  "lock-alert": 985326,
  "lock-check": 988058,
  "lock-clock": 985471,
  "lock-open": 983871,
  "lock-open-alert": 988059,
  "lock-open-check": 988060,
  "lock-open-outline": 983872,
  "lock-open-variant": 987078,
  "lock-open-variant-outline": 987079,
  "lock-outline": 983873,
  "lock-pattern": 984810,
  "lock-plus": 984571,
  "lock-question": 985327,
  "lock-reset": 984947,
  "lock-smart": 985266,
  "locker": 985047,
  "locker-multiple": 985048,
  "login": 983874,
  "login-variant": 984572,
  "logout": 983875,
  "logout-variant": 984573,
  "longitude": 986970,
  "looks": 983876,
  "loupe": 983877,
  "lumx": 983878,
  "lungs": 987268,
  "magnet": 983879,
  "magnet-on": 983880,
  "magnify": 983881,
  "magnify-close": 985472,
  "magnify-minus": 983882,
  "magnify-minus-cursor": 985698,
  "magnify-minus-outline": 984812,
  "magnify-plus": 983883,
  "magnify-plus-cursor": 985699,
  "magnify-plus-outline": 984813,
  "magnify-remove-cursor": 987660,
  "magnify-remove-outline": 987661,
  "magnify-scan": 987766,
  "mail": 986811,
  "mailbox": 984814,
  "mailbox-open": 986504,
  "mailbox-open-outline": 986505,
  "mailbox-open-up": 986506,
  "mailbox-open-up-outline": 986507,
  "mailbox-outline": 986508,
  "mailbox-up": 986509,
  "mailbox-up-outline": 986510,
  "map": 983885,
  "map-check": 986812,
  "map-check-outline": 986813,
  "map-clock": 986398,
  "map-clock-outline": 986399,
  "map-legend": 985601,
  "map-marker": 983886,
  "map-marker-alert": 986885,
  "map-marker-alert-outline": 986886,
  "map-marker-check": 986261,
  "map-marker-check-outline": 987899,
  "map-marker-circle": 983887,
  "map-marker-distance": 985328,
  "map-marker-down": 987394,
  "map-marker-left": 987867,
  "map-marker-left-outline": 987869,
  "map-marker-minus": 984656,
  "map-marker-minus-outline": 987897,
  "map-marker-multiple": 983888,
  "map-marker-multiple-outline": 987767,
  "map-marker-off": 983889,
  "map-marker-off-outline": 987901,
  "map-marker-outline": 985049,
  "map-marker-path": 986400,
  "map-marker-plus": 984657,
  "map-marker-plus-outline": 987896,
  "map-marker-question": 986887,
  "map-marker-question-outline": 986888,
  "map-marker-radius": 983890,
  "map-marker-radius-outline": 987900,
  "map-marker-remove": 986889,
  "map-marker-remove-outline": 987898,
  "map-marker-remove-variant": 986890,
  "map-marker-right": 987868,
  "map-marker-right-outline": 987870,
  "map-marker-up": 987395,
  "map-minus": 985473,
  "map-outline": 985474,
  "map-plus": 985475,
  "map-search": 985476,
  "map-search-outline": 985477,
  "mapbox": 986026,
  "margin": 983891,
  "marker": 984658,
  "marker-cancel": 986585,
  "marker-check": 983893,
  "mastodon": 985809,
  "material-design": 985478,
  "material-ui": 983895,
  "math-compass": 983896,
  "math-cos": 986262,
  "math-integral": 987080,
  "math-integral-box": 987081,
  "math-log": 987269,
  "math-norm": 987082,
  "math-norm-box": 987083,
  "math-sin": 986263,
  "math-tan": 986264,
  "matrix": 984616,
  "medal": 985479,
  "medal-outline": 987942,
  "medical-bag": 984815,
  "meditation": 987515,
  "memory": 983899,
  "menu": 983900,
  "menu-down": 983901,
  "menu-down-outline": 984758,
  "menu-left": 983902,
  "menu-left-outline": 985602,
  "menu-open": 986027,
  "menu-right": 983903,
  "menu-right-outline": 985603,
  "menu-swap": 985700,
  "menu-swap-outline": 985701,
  "menu-up": 983904,
  "menu-up-outline": 984759,
  "merge": 986972,
  "message": 983905,
  "message-alert": 983906,
  "message-alert-outline": 985604,
  "message-arrow-left": 987890,
  "message-arrow-left-outline": 987891,
  "message-arrow-right": 987892,
  "message-arrow-right-outline": 987893,
  "message-bulleted": 984738,
  "message-bulleted-off": 984739,
  "message-cog": 984817,
  "message-cog-outline": 987506,
  "message-draw": 983907,
  "message-image": 983908,
  "message-image-outline": 987500,
  "message-lock": 987084,
  "message-lock-outline": 987501,
  "message-minus": 987502,
  "message-minus-outline": 987503,
  "message-outline": 983909,
  "message-plus": 984659,
  "message-plus-outline": 987323,
  "message-processing": 983910,
  "message-processing-outline": 987504,
  "message-reply": 983911,
  "message-reply-text": 983912,
  "message-settings": 984816,
  "message-settings-outline": 987505,
  "message-text": 983913,
  "message-text-clock": 987507,
  "message-text-clock-outline": 987508,
  "message-text-lock": 987085,
  "message-text-lock-outline": 987509,
  "message-text-outline": 983914,
  "message-video": 983915,
  "meteor": 984617,
  "metronome": 985050,
  "metronome-tick": 985051,
  "micro-sd": 985052,
  "microphone": 983916,
  "microphone-minus": 985267,
  "microphone-off": 983917,
  "microphone-outline": 983918,
  "microphone-plus": 985268,
  "microphone-settings": 983919,
  "microphone-variant": 983920,
  "microphone-variant-off": 983921,
  "microscope": 984660,
  "microsoft": 983922,
  "microsoft-access": 988046,
  "microsoft-azure": 985093,
  "microsoft-azure-devops": 987093,
  "microsoft-bing": 983204,
  "microsoft-dynamics-365": 985480,
  "microsoft-edge": 983529,
  "microsoft-edge-legacy": 987728,
  "microsoft-excel": 988047,
  "microsoft-internet-explorer": 983808,
  "microsoft-office": 984006,
  "microsoft-onedrive": 984010,
  "microsoft-onenote": 984903,
  "microsoft-outlook": 986402,
  "microsoft-powerpoint": 988048,
  "microsoft-sharepoint": 988049,
  "microsoft-teams": 983739,
  "microsoft-visual-studio": 984592,
  "microsoft-visual-studio-code": 985630,
  "microsoft-windows": 984499,
  "microsoft-windows-classic": 985633,
  "microsoft-word": 988050,
  "microsoft-xbox": 984505,
  "microsoft-xbox-controller": 984506,
  "microsoft-xbox-controller-battery-alert": 984907,
  "microsoft-xbox-controller-battery-charging": 985634,
  "microsoft-xbox-controller-battery-empty": 984908,
  "microsoft-xbox-controller-battery-full": 984909,
  "microsoft-xbox-controller-battery-low": 984910,
  "microsoft-xbox-controller-battery-medium": 984911,
  "microsoft-xbox-controller-battery-unknown": 984912,
  "microsoft-xbox-controller-menu": 986735,
  "microsoft-xbox-controller-off": 984507,
  "microsoft-xbox-controller-view": 986736,
  "microsoft-yammer": 984969,
  "microwave": 986265,
  "microwave-off": 988195,
  "middleware": 986973,
  "middleware-outline": 986974,
  "midi": 985329,
  "midi-port": 985330,
  "mine": 986586,
  "minecraft": 983923,
  "mini-sd": 985605,
  "minidisc": 985606,
  "minus": 983924,
  "minus-box": 983925,
  "minus-box-multiple": 987457,
  "minus-box-multiple-outline": 987458,
  "minus-box-outline": 984818,
  "minus-circle": 983926,
  "minus-circle-multiple": 983898,
  "minus-circle-multiple-outline": 985811,
  "minus-circle-off": 988249,
  "minus-circle-off-outline": 988250,
  "minus-circle-outline": 983927,
  "minus-network": 983928,
  "minus-network-outline": 986266,
  "mirror": 987645,
  "mixed-martial-arts": 986511,
  "mixed-reality": 985215,
  "mixer": 985053,
  "molecule": 986028,
  "molecule-co": 987902,
  "molecule-co2": 985060,
  "monitor": 983929,
  "monitor-cellphone": 985481,
  "monitor-cellphone-star": 985482,
  "monitor-clean": 987396,
  "monitor-dashboard": 985607,
  "monitor-edit": 987846,
  "monitor-eye": 988084,
  "monitor-lock": 986587,
  "monitor-multiple": 983930,
  "monitor-off": 986512,
  "monitor-screenshot": 986705,
  "monitor-share": 988291,
  "monitor-speaker": 986975,
  "monitor-speaker-off": 986976,
  "monitor-star": 986588,
  "moon-first-quarter": 986977,
  "moon-full": 986978,
  "moon-last-quarter": 986979,
  "moon-new": 986980,
  "moon-waning-crescent": 986981,
  "moon-waning-gibbous": 986982,
  "moon-waxing-crescent": 986983,
  "moon-waxing-gibbous": 986984,
  "moped": 987270,
  "more": 983931,
  "mother-heart": 987924,
  "mother-nurse": 986401,
  "motion-sensor": 986513,
  "motion-sensor-off": 988213,
  "motorbike": 983932,
  "mouse": 983933,
  "mouse-bluetooth": 985483,
  "mouse-off": 983934,
  "mouse-variant": 983935,
  "mouse-variant-off": 983936,
  "move-resize": 984661,
  "move-resize-variant": 984662,
  "movie": 983937,
  "movie-edit": 987426,
  "movie-edit-outline": 987427,
  "movie-filter": 987428,
  "movie-filter-outline": 987429,
  "movie-open": 987086,
  "movie-open-outline": 987087,
  "movie-outline": 986589,
  "movie-roll": 985054,
  "movie-search": 987602,
  "movie-search-outline": 987603,
  "muffin": 985484,
  "multiplication": 983938,
  "multiplication-box": 983939,
  "mushroom": 985055,
  "mushroom-off": 988154,
  "mushroom-off-outline": 988155,
  "mushroom-outline": 985056,
  "music": 984922,
  "music-accidental-double-flat": 986985,
  "music-accidental-double-sharp": 986986,
  "music-accidental-flat": 986987,
  "music-accidental-natural": 986988,
  "music-accidental-sharp": 986989,
  "music-box": 983940,
  "music-box-multiple": 983859,
  "music-box-multiple-outline": 986884,
  "music-box-outline": 983941,
  "music-circle": 983942,
  "music-circle-outline": 985812,
  "music-clef-alto": 986990,
  "music-clef-bass": 986991,
  "music-clef-treble": 986992,
  "music-note": 983943,
  "music-note-bluetooth": 984574,
  "music-note-bluetooth-off": 984575,
  "music-note-eighth": 983944,
  "music-note-eighth-dotted": 986993,
  "music-note-half": 983945,
  "music-note-half-dotted": 986994,
  "music-note-off": 983946,
  "music-note-off-outline": 986995,
  "music-note-outline": 986996,
  "music-note-plus": 986590,
  "music-note-quarter": 983947,
  "music-note-quarter-dotted": 986997,
  "music-note-sixteenth": 983948,
  "music-note-sixteenth-dotted": 986998,
  "music-note-whole": 983949,
  "music-note-whole-dotted": 986999,
  "music-off": 984923,
  "music-rest-eighth": 987000,
  "music-rest-half": 987001,
  "music-rest-quarter": 987002,
  "music-rest-sixteenth": 987003,
  "music-rest-whole": 987004,
  "nail": 986591,
  "nas": 985331,
  "nativescript": 985216,
  "nature": 983950,
  "nature-people": 983951,
  "navigation": 983952,
  "near-me": 984525,
  "necklace": 986891,
  "needle": 983953,
  "netflix": 984902,
  "network": 984819,
  "network-off": 986267,
  "network-off-outline": 986268,
  "network-outline": 986269,
  "network-strength-1": 985332,
  "network-strength-1-alert": 985333,
  "network-strength-2": 985334,
  "network-strength-2-alert": 985335,
  "network-strength-3": 985336,
  "network-strength-3-alert": 985337,
  "network-strength-4": 985338,
  "network-strength-4-alert": 985339,
  "network-strength-off": 985340,
  "network-strength-off-outline": 985341,
  "network-strength-outline": 985342,
  "new-box": 983956,
  "newspaper": 983957,
  "newspaper-minus": 986892,
  "newspaper-plus": 986893,
  "newspaper-variant": 987137,
  "newspaper-variant-multiple": 987138,
  "newspaper-variant-multiple-outline": 987139,
  "newspaper-variant-outline": 987140,
  "nfc": 983958,
  "nfc-search-variant": 986707,
  "nfc-tap": 983959,
  "nfc-variant": 983960,
  "nfc-variant-off": 986708,
  "ninja": 984948,
  "nintendo-game-boy": 988051,
  "nintendo-switch": 985057,
  "nintendo-wii": 984491,
  "nintendo-wiiu": 984877,
  "nix": 987397,
  "nodejs": 983961,
  "noodles": 987518,
  "not-equal": 985485,
  "not-equal-variant": 985486,
  "note": 983962,
  "note-multiple": 984760,
  "note-multiple-outline": 984761,
  "note-outline": 983963,
  "note-plus": 983964,
  "note-plus-outline": 983965,
  "note-text": 983966,
  "note-text-outline": 987607,
  "notebook": 985134,
  "notebook-multiple": 986709,
  "notebook-outline": 986815,
  "notification-clear-all": 983967,
  "npm": 984823,
  "nuke": 984740,
  "null": 985058,
  "numeric": 983968,
  "numeric-0": 985913,
  "numeric-0-box": 983969,
  "numeric-0-box-multiple": 986894,
  "numeric-0-box-multiple-outline": 983970,
  "numeric-0-box-outline": 983971,
  "numeric-0-circle": 986270,
  "numeric-0-circle-outline": 986271,
  "numeric-1": 985914,
  "numeric-1-box": 983972,
  "numeric-1-box-multiple": 986895,
  "numeric-1-box-multiple-outline": 983973,
  "numeric-1-box-outline": 983974,
  "numeric-1-circle": 986272,
  "numeric-1-circle-outline": 986273,
  "numeric-10": 987113,
  "numeric-10-box": 987005,
  "numeric-10-box-multiple": 987114,
  "numeric-10-box-multiple-outline": 987115,
  "numeric-10-box-outline": 987006,
  "numeric-10-circle": 987116,
  "numeric-10-circle-outline": 987117,
  "numeric-2": 985915,
  "numeric-2-box": 983975,
  "numeric-2-box-multiple": 986896,
  "numeric-2-box-multiple-outline": 983976,
  "numeric-2-box-outline": 983977,
  "numeric-2-circle": 986274,
  "numeric-2-circle-outline": 986275,
  "numeric-3": 985916,
  "numeric-3-box": 983978,
  "numeric-3-box-multiple": 986897,
  "numeric-3-box-multiple-outline": 983979,
  "numeric-3-box-outline": 983980,
  "numeric-3-circle": 986276,
  "numeric-3-circle-outline": 986277,
  "numeric-4": 985917,
  "numeric-4-box": 983981,
  "numeric-4-box-multiple": 986898,
  "numeric-4-box-multiple-outline": 983986,
  "numeric-4-box-outline": 983982,
  "numeric-4-circle": 986278,
  "numeric-4-circle-outline": 986279,
  "numeric-5": 985918,
  "numeric-5-box": 983985,
  "numeric-5-box-multiple": 986899,
  "numeric-5-box-multiple-outline": 983983,
  "numeric-5-box-outline": 983984,
  "numeric-5-circle": 986280,
  "numeric-5-circle-outline": 986281,
  "numeric-6": 985919,
  "numeric-6-box": 983987,
  "numeric-6-box-multiple": 986900,
  "numeric-6-box-multiple-outline": 983988,
  "numeric-6-box-outline": 983989,
  "numeric-6-circle": 986282,
  "numeric-6-circle-outline": 986283,
  "numeric-7": 985920,
  "numeric-7-box": 983990,
  "numeric-7-box-multiple": 986901,
  "numeric-7-box-multiple-outline": 983991,
  "numeric-7-box-outline": 983992,
  "numeric-7-circle": 986284,
  "numeric-7-circle-outline": 986285,
  "numeric-8": 985921,
  "numeric-8-box": 983993,
  "numeric-8-box-multiple": 986902,
  "numeric-8-box-multiple-outline": 983994,
  "numeric-8-box-outline": 983995,
  "numeric-8-circle": 986286,
  "numeric-8-circle-outline": 986287,
  "numeric-9": 985922,
  "numeric-9-box": 983996,
  "numeric-9-box-multiple": 986903,
  "numeric-9-box-multiple-outline": 983997,
  "numeric-9-box-outline": 983998,
  "numeric-9-circle": 986288,
  "numeric-9-circle-outline": 986289,
  "numeric-9-plus": 987118,
  "numeric-9-plus-box": 983999,
  "numeric-9-plus-box-multiple": 986904,
  "numeric-9-plus-box-multiple-outline": 984000,
  "numeric-9-plus-box-outline": 984001,
  "numeric-9-plus-circle": 986290,
  "numeric-9-plus-circle-outline": 986291,
  "numeric-negative-1": 987218,
  "nut": 984824,
  "nutrition": 984002,
  "nuxt": 987398,
  "oar": 984700,
  "ocarina": 986592,
  "oci": 987881,
  "ocr": 987450,
  "octagon": 984003,
  "octagon-outline": 984004,
  "octagram": 984825,
  "octagram-outline": 984949,
  "odnoklassniki": 984005,
  "offer": 987675,
  "office-building": 985489,
  "oil": 984007,
  "oil-lamp": 986905,
  "oil-level": 987219,
  "oil-temperature": 987128,
  "omega": 984009,
  "one-up": 986029,
  "onepassword": 985217,
  "opacity": 984524,
  "open-in-app": 984011,
  "open-in-new": 984012,
  "open-source-initiative": 986030,
  "openid": 984013,
  "opera": 984014,
  "orbit": 983064,
  "order-alphabetical-ascending": 983565,
  "order-alphabetical-descending": 986375,
  "order-bool-ascending": 983742,
  "order-bool-ascending-variant": 985487,
  "order-bool-descending": 988036,
  "order-bool-descending-variant": 985488,
  "order-numeric-ascending": 984389,
  "order-numeric-descending": 984390,
  "origin": 985923,
  "ornament": 984015,
  "ornament-variant": 984016,
  "outdoor-lamp": 987220,
  "overscan": 987141,
  "owl": 984018,
  "pac-man": 986031,
  "package": 984019,
  "package-down": 984020,
  "package-up": 984021,
  "package-variant": 984022,
  "package-variant-closed": 984023,
  "page-first": 984576,
  "page-last": 984577,
  "page-layout-body": 984826,
  "page-layout-footer": 984827,
  "page-layout-header": 984828,
  "page-layout-header-footer": 987007,
  "page-layout-sidebar-left": 984829,
  "page-layout-sidebar-right": 984830,
  "page-next": 986032,
  "page-next-outline": 986033,
  "page-previous": 986034,
  "page-previous-outline": 986035,
  "pail": 988183,
  "pail-minus": 988215,
  "pail-minus-outline": 988220,
  "pail-off": 988217,
  "pail-off-outline": 988222,
  "pail-outline": 988218,
  "pail-plus": 988214,
  "pail-plus-outline": 988219,
  "pail-remove": 988216,
  "pail-remove-outline": 988221,
  "palette": 984024,
  "palette-advanced": 984025,
  "palette-outline": 986636,
  "palette-swatch": 985269,
  "palette-swatch-outline": 987996,
  "palm-tree": 987221,
  "pan": 986036,
  "pan-bottom-left": 986037,
  "pan-bottom-right": 986038,
  "pan-down": 986039,
  "pan-horizontal": 986040,
  "pan-left": 986041,
  "pan-right": 986042,
  "pan-top-left": 986043,
  "pan-top-right": 986044,
  "pan-up": 986045,
  "pan-vertical": 986046,
  "panda": 984026,
  "pandora": 984027,
  "panorama": 984028,
  "panorama-fisheye": 984029,
  "panorama-horizontal": 984030,
  "panorama-vertical": 984031,
  "panorama-wide-angle": 984032,
  "paper-cut-vertical": 984033,
  "paper-roll": 987479,
  "paper-roll-outline": 987480,
  "paperclip": 984034,
  "parachute": 986292,
  "parachute-outline": 986293,
  "parking": 984035,
  "party-popper": 987222,
  "passport": 985059,
  "passport-biometric": 986593,
  "pasta": 987488,
  "patio-heater": 987008,
  "patreon": 985218,
  "pause": 984036,
  "pause-circle": 984037,
  "pause-circle-outline": 984038,
  "pause-octagon": 984039,
  "pause-octagon-outline": 984040,
  "paw": 984041,
  "paw-off": 984663,
  "pdf-box": 986710,
  "peace": 985220,
  "peanut": 987132,
  "peanut-off": 987133,
  "peanut-off-outline": 987135,
  "peanut-outline": 987134,
  "pen": 984042,
  "pen-lock": 986594,
  "pen-minus": 986595,
  "pen-off": 986596,
  "pen-plus": 986597,
  "pen-remove": 986598,
  "pencil": 984043,
  "pencil-box": 984044,
  "pencil-box-multiple": 987460,
  "pencil-box-multiple-outline": 987461,
  "pencil-box-outline": 984045,
  "pencil-circle": 984831,
  "pencil-circle-outline": 984950,
  "pencil-lock": 984046,
  "pencil-lock-outline": 986599,
  "pencil-minus": 986600,
  "pencil-minus-outline": 986601,
  "pencil-off": 984047,
  "pencil-off-outline": 986602,
  "pencil-outline": 986294,
  "pencil-plus": 986603,
  "pencil-plus-outline": 986604,
  "pencil-remove": 986605,
  "pencil-remove-outline": 986606,
  "pencil-ruler": 987987,
  "penguin": 986816,
  "pentagon": 984833,
  "pentagon-outline": 984832,
  "percent": 984048,
  "percent-outline": 987768,
  "periodic-table": 985270,
  "perspective-less": 986403,
  "perspective-more": 986404,
  "pharmacy": 984049,
  "phone": 984050,
  "phone-alert": 986906,
  "phone-alert-outline": 987534,
  "phone-bluetooth": 984051,
  "phone-bluetooth-outline": 987535,
  "phone-cancel": 987324,
  "phone-cancel-outline": 987536,
  "phone-check": 987561,
  "phone-check-outline": 987562,
  "phone-classic": 984578,
  "phone-classic-off": 987769,
  "phone-forward": 984052,
  "phone-forward-outline": 987537,
  "phone-hangup": 984053,
  "phone-hangup-outline": 987538,
  "phone-in-talk": 984054,
  "phone-in-talk-outline": 987522,
  "phone-incoming": 984055,
  "phone-incoming-outline": 987539,
  "phone-lock": 984056,
  "phone-lock-outline": 987540,
  "phone-log": 984057,
  "phone-log-outline": 987541,
  "phone-message": 987542,
  "phone-message-outline": 987543,
  "phone-minus": 984664,
  "phone-minus-outline": 987544,
  "phone-missed": 984058,
  "phone-missed-outline": 987557,
  "phone-off": 986607,
  "phone-off-outline": 987558,
  "phone-outgoing": 984059,
  "phone-outgoing-outline": 987545,
  "phone-outline": 986608,
  "phone-paused": 984060,
  "phone-paused-outline": 987546,
  "phone-plus": 984665,
  "phone-plus-outline": 987547,
  "phone-return": 985135,
  "phone-return-outline": 987548,
  "phone-ring": 987563,
  "phone-ring-outline": 987564,
  "phone-rotate-landscape": 985221,
  "phone-rotate-portrait": 985222,
  "phone-settings": 984061,
  "phone-settings-outline": 987549,
  "phone-voip": 984062,
  "pi": 984063,
  "pi-box": 984064,
  "pi-hole": 986609,
  "piano": 984701,
  "pickaxe": 985271,
  "picture-in-picture-bottom-right": 986711,
  "picture-in-picture-bottom-right-outline": 986712,
  "picture-in-picture-top-right": 986713,
  "picture-in-picture-top-right-outline": 986714,
  "pier": 985223,
  "pier-crane": 985224,
  "pig": 984065,
  "pig-variant": 987142,
  "piggy-bank": 987143,
  "pill": 984066,
  "pillar": 984834,
  "pin": 984067,
  "pin-off": 984068,
  "pin-off-outline": 985392,
  "pin-outline": 985393,
  "pine-tree": 984069,
  "pine-tree-box": 984070,
  "pine-tree-fire": 988186,
  "pinterest": 984071,
  "pinwheel": 985813,
  "pinwheel-outline": 985814,
  "pipe": 985061,
  "pipe-disconnected": 985062,
  "pipe-leak": 985225,
  "pipe-wrench": 987988,
  "pirate": 985608,
  "pistol": 984835,
  "piston": 985226,
  "pizza": 984073,
  "play": 984074,
  "play-box": 987770,
  "play-box-multiple": 986393,
  "play-box-multiple-outline": 988134,
  "play-box-outline": 984075,
  "play-circle": 984076,
  "play-circle-outline": 984077,
  "play-network": 985227,
  "play-network-outline": 986295,
  "play-outline": 986907,
  "play-pause": 984078,
  "play-protected-content": 984079,
  "play-speed": 985343,
  "playlist-check": 984519,
  "playlist-edit": 985344,
  "playlist-minus": 984080,
  "playlist-music": 986296,
  "playlist-music-outline": 986297,
  "playlist-play": 984081,
  "playlist-plus": 984082,
  "playlist-remove": 984083,
  "playlist-star": 986610,
  "plex": 984762,
  "plus": 984085,
  "plus-box": 984086,
  "plus-box-multiple": 983860,
  "plus-box-multiple-outline": 987459,
  "plus-box-outline": 984836,
  "plus-circle": 984087,
  "plus-circle-multiple": 983884,
  "plus-circle-multiple-outline": 984088,
  "plus-circle-outline": 984089,
  "plus-minus": 985490,
  "plus-minus-box": 985491,
  "plus-minus-variant": 988361,
  "plus-network": 984090,
  "plus-network-outline": 986298,
  "plus-one": 984091,
  "plus-outline": 984837,
  "plus-thick": 987628,
  "podcast": 985492,
  "podium": 986405,
  "podium-bronze": 986406,
  "podium-gold": 986407,
  "podium-silver": 986408,
  "point-of-sale": 986514,
  "pokeball": 984093,
  "pokemon-go": 985609,
  "poker-chip": 985136,
  "polaroid": 984094,
  "police-badge": 987495,
  "police-badge-outline": 987496,
  "poll": 984095,
  "poll-box": 984096,
  "poll-box-outline": 987771,
  "polo": 988355,
  "polymer": 984097,
  "pool": 984582,
  "popcorn": 984098,
  "post": 987144,
  "post-outline": 987145,
  "postage-stamp": 986299,
  "pot": 983781,
  "pot-mix": 984667,
  "pot-mix-outline": 984695,
  "pot-outline": 983807,
  "pot-steam": 984666,
  "pot-steam-outline": 983846,
  "pound": 984099,
  "pound-box": 984100,
  "pound-box-outline": 987519,
  "power": 984101,
  "power-cycle": 985345,
  "power-off": 985346,
  "power-on": 985347,
  "power-plug": 984741,
  "power-plug-off": 984742,
  "power-plug-off-outline": 988196,
  "power-plug-outline": 988197,
  "power-settings": 984102,
  "power-sleep": 985348,
  "power-socket": 984103,
  "power-socket-au": 985349,
  "power-socket-de": 987399,
  "power-socket-eu": 985063,
  "power-socket-fr": 987400,
  "power-socket-jp": 987401,
  "power-socket-uk": 985064,
  "power-socket-us": 985065,
  "power-standby": 985350,
  "powershell": 985610,
  "prescription": 984838,
  "presentation": 984104,
  "presentation-play": 984105,
  "printer": 984106,
  "printer-3d": 984107,
  "printer-3d-nozzle": 986715,
  "printer-3d-nozzle-alert": 987584,
  "printer-3d-nozzle-alert-outline": 987585,
  "printer-3d-nozzle-outline": 986716,
  "printer-alert": 984108,
  "printer-check": 987462,
  "printer-eye": 988248,
  "printer-off": 986717,
  "printer-pos": 987223,
  "printer-search": 988247,
  "printer-settings": 984839,
  "printer-wireless": 985611,
  "priority-high": 984579,
  "priority-low": 984580,
  "professional-hexagon": 984109,
  "progress-alert": 986300,
  "progress-check": 985493,
  "progress-clock": 985494,
  "progress-close": 987402,
  "progress-download": 985495,
  "progress-upload": 985496,
  "progress-wrench": 986301,
  "projector": 984110,
  "projector-screen": 984111,
  "propane-tank": 987991,
  "propane-tank-outline": 987992,
  "protocol": 987096,
  "publish": 984743,
  "pulse": 984112,
  "pump": 988162,
  "pumpkin": 986047,
  "purse": 986908,
  "purse-outline": 986909,
  "puzzle": 984113,
  "puzzle-check": 988198,
  "puzzle-check-outline": 988199,
  "puzzle-edit": 988371,
  "puzzle-edit-outline": 988377,
  "puzzle-heart": 988372,
  "puzzle-heart-outline": 988378,
  "puzzle-minus": 988369,
  "puzzle-minus-outline": 988375,
  "puzzle-outline": 985702,
  "puzzle-plus": 988368,
  "puzzle-plus-outline": 988374,
  "puzzle-remove": 988370,
  "puzzle-remove-outline": 988376,
  "puzzle-star": 988373,
  "puzzle-star-outline": 988379,
  "qi": 985497,
  "qqchat": 984581,
  "qrcode": 984114,
  "qrcode-edit": 985272,
  "qrcode-minus": 987532,
  "qrcode-plus": 987531,
  "qrcode-remove": 987533,
  "qrcode-scan": 984115,
  "quadcopter": 984116,
  "quality-high": 984117,
  "quality-low": 985612,
  "quality-medium": 985613,
  "quora": 986409,
  "rabbit": 985351,
  "racing-helmet": 986515,
  "racquetball": 986516,
  "radar": 984119,
  "radiator": 984120,
  "radiator-disabled": 985815,
  "radiator-off": 985816,
  "radio": 984121,
  "radio-am": 986302,
  "radio-fm": 986303,
  "radio-handheld": 984122,
  "radio-off": 987676,
  "radio-tower": 984123,
  "radioactive": 984124,
  "radioactive-off": 986817,
  "radiobox-blank": 984125,
  "radiobox-marked": 984126,
  "radiology-box": 988357,
  "radiology-box-outline": 988358,
  "radius": 986304,
  "radius-outline": 986305,
  "railroad-light": 986910,
  "raspberry-pi": 984127,
  "ray-end": 984128,
  "ray-end-arrow": 984129,
  "ray-start": 984130,
  "ray-start-arrow": 984131,
  "ray-start-end": 984132,
  "ray-vertex": 984133,
  "react": 984840,
  "read": 984135,
  "receipt": 984137,
  "record": 984138,
  "record-circle": 986818,
  "record-circle-outline": 986819,
  "record-player": 985498,
  "record-rec": 984139,
  "rectangle": 986718,
  "rectangle-outline": 986719,
  "recycle": 984140,
  "recycle-variant": 988061,
  "reddit": 984141,
  "redhat": 987419,
  "redo": 984142,
  "redo-variant": 984143,
  "reflect-horizontal": 985614,
  "reflect-vertical": 985615,
  "refresh": 984144,
  "refresh-circle": 988023,
  "regex": 984145,
  "registered-trademark": 985703,
  "relation-many-to-many": 988310,
  "relation-many-to-one": 988311,
  "relation-many-to-one-or-many": 988312,
  "relation-many-to-only-one": 988313,
  "relation-many-to-zero-or-many": 988314,
  "relation-many-to-zero-or-one": 988315,
  "relation-one-or-many-to-many": 988316,
  "relation-one-or-many-to-one": 988317,
  "relation-one-or-many-to-one-or-many": 988318,
  "relation-one-or-many-to-only-one": 988319,
  "relation-one-or-many-to-zero-or-many": 988320,
  "relation-one-or-many-to-zero-or-one": 988321,
  "relation-one-to-many": 988322,
  "relation-one-to-one": 988323,
  "relation-one-to-one-or-many": 988324,
  "relation-one-to-only-one": 988325,
  "relation-one-to-zero-or-many": 988326,
  "relation-one-to-zero-or-one": 988327,
  "relation-only-one-to-many": 988328,
  "relation-only-one-to-one": 988329,
  "relation-only-one-to-one-or-many": 988330,
  "relation-only-one-to-only-one": 988331,
  "relation-only-one-to-zero-or-many": 988332,
  "relation-only-one-to-zero-or-one": 988333,
  "relation-zero-or-many-to-many": 988334,
  "relation-zero-or-many-to-one": 988335,
  "relation-zero-or-many-to-one-or-many": 988336,
  "relation-zero-or-many-to-only-one": 988337,
  "relation-zero-or-many-to-zero-or-many": 988338,
  "relation-zero-or-many-to-zero-or-one": 988339,
  "relation-zero-or-one-to-many": 988340,
  "relation-zero-or-one-to-one": 988341,
  "relation-zero-or-one-to-one-or-many": 988342,
  "relation-zero-or-one-to-only-one": 988343,
  "relation-zero-or-one-to-zero-or-many": 988344,
  "relation-zero-or-one-to-zero-or-one": 988345,
  "relative-scale": 984146,
  "reload": 984147,
  "reload-alert": 987403,
  "reminder": 985228,
  "remote": 984148,
  "remote-desktop": 985273,
  "remote-off": 986820,
  "remote-tv": 986821,
  "remote-tv-off": 986822,
  "rename-box": 984149,
  "reorder-horizontal": 984712,
  "reorder-vertical": 984713,
  "repeat": 984150,
  "repeat-off": 984151,
  "repeat-once": 984152,
  "replay": 984153,
  "reply": 984154,
  "reply-all": 984155,
  "reply-all-outline": 986911,
  "reply-circle": 987566,
  "reply-outline": 986912,
  "reproduction": 984156,
  "resistor": 985924,
  "resistor-nodes": 985925,
  "resize": 985704,
  "resize-bottom-right": 984157,
  "responsive": 984158,
  "restart": 984841,
  "restart-alert": 987404,
  "restart-off": 986517,
  "restore": 985499,
  "restore-alert": 987405,
  "rewind": 984159,
  "rewind-10": 986410,
  "rewind-30": 986518,
  "rewind-5": 987641,
  "rewind-outline": 984842,
  "rhombus": 984843,
  "rhombus-medium": 985616,
  "rhombus-medium-outline": 988380,
  "rhombus-outline": 984844,
  "rhombus-split": 985617,
  "rhombus-split-outline": 988381,
  "ribbon": 984160,
  "rice": 985066,
  "ring": 985067,
  "rivet": 986720,
  "road": 984161,
  "road-variant": 984162,
  "robber": 987224,
  "robot": 984745,
  "robot-industrial": 985926,
  "robot-mower": 987639,
  "robot-mower-outline": 987635,
  "robot-vacuum": 984845,
  "robot-vacuum-variant": 985352,
  "rocket": 984163,
  "rocket-launch": 988382,
  "rocket-launch-outline": 988383,
  "rocket-outline": 988079,
  "rodent": 987943,
  "roller-skate": 986411,
  "roller-skate-off": 983365,
  "rollerblade": 986412,
  "rollerblade-off": 983086,
  "rollupjs": 986048,
  "roman-numeral-1": 987272,
  "roman-numeral-10": 987281,
  "roman-numeral-2": 987273,
  "roman-numeral-3": 987274,
  "roman-numeral-4": 987275,
  "roman-numeral-5": 987276,
  "roman-numeral-6": 987277,
  "roman-numeral-7": 987278,
  "roman-numeral-8": 987279,
  "roman-numeral-9": 987280,
  "room-service": 985229,
  "room-service-outline": 986519,
  "rotate-3d": 986823,
  "rotate-3d-variant": 984164,
  "rotate-left": 984165,
  "rotate-left-variant": 984166,
  "rotate-orbit": 986520,
  "rotate-right": 984167,
  "rotate-right-variant": 984168,
  "rounded-corner": 984583,
  "router": 987618,
  "router-network": 987271,
  "router-wireless": 984169,
  "router-wireless-settings": 985705,
  "routes": 984170,
  "routes-clock": 987225,
  "rowing": 984584,
  "rss": 984171,
  "rss-box": 984172,
  "rss-off": 986913,
  "rug": 988277,
  "rugby": 986521,
  "ruler": 984173,
  "ruler-square": 986306,
  "ruler-square-compass": 986814,
  "run": 984846,
  "run-fast": 984174,
  "rv-truck": 987604,
  "sack": 986414,
  "sack-percent": 986415,
  "safe": 985706,
  "safe-square": 987772,
  "safe-square-outline": 987773,
  "safety-goggles": 986416,
  "sail-boat": 986824,
  "sale": 984175,
  "salesforce": 985230,
  "sass": 985068,
  "satellite": 984176,
  "satellite-uplink": 985353,
  "satellite-variant": 984177,
  "sausage": 985274,
  "saw-blade": 986721,
  "sawtooth-wave": 988282,
  "saxophone": 984585,
  "scale": 984178,
  "scale-balance": 984529,
  "scale-bathroom": 984179,
  "scale-off": 987226,
  "scan-helper": 988120,
  "scanner": 984747,
  "scanner-off": 985354,
  "scatter-plot": 986825,
  "scatter-plot-outline": 986826,
  "school": 984180,
  "school-outline": 987520,
  "scissors-cutting": 985707,
  "scooter": 987625,
  "scoreboard": 987774,
  "scoreboard-outline": 987775,
  "screen-rotation": 984181,
  "screen-rotation-lock": 984184,
  "screw-flat-top": 986611,
  "screw-lag": 986612,
  "screw-machine-flat-top": 986613,
  "screw-machine-round-top": 986614,
  "screw-round-top": 986615,
  "screwdriver": 984182,
  "script": 986049,
  "script-outline": 984183,
  "script-text": 986050,
  "script-text-outline": 986051,
  "sd": 984185,
  "seal": 984186,
  "seal-variant": 987097,
  "search-web": 984847,
  "seat": 986307,
  "seat-flat": 984187,
  "seat-flat-angled": 984188,
  "seat-individual-suite": 984189,
  "seat-legroom-extra": 984190,
  "seat-legroom-normal": 984191,
  "seat-legroom-reduced": 984192,
  "seat-outline": 986308,
  "seat-passenger": 987721,
  "seat-recline-extra": 984193,
  "seat-recline-normal": 984194,
  "seatbelt": 986309,
  "security": 984195,
  "security-network": 984196,
  "seed": 986722,
  "seed-off": 988157,
  "seed-off-outline": 988158,
  "seed-outline": 986723,
  "segment": 986827,
  "select": 984197,
  "select-all": 984198,
  "select-color": 986417,
  "select-compare": 985817,
  "select-drag": 985708,
  "select-group": 987010,
  "select-inverse": 984199,
  "select-marker": 987776,
  "select-multiple": 987777,
  "select-multiple-marker": 987778,
  "select-off": 984200,
  "select-place": 987098,
  "select-search": 987652,
  "selection": 984201,
  "selection-drag": 985709,
  "selection-ellipse": 986418,
  "selection-ellipse-arrow-inside": 986914,
  "selection-marker": 987779,
  "selection-multiple": 987781,
  "selection-multiple-marker": 987780,
  "selection-off": 984951,
  "selection-search": 987653,
  "semantic-web": 987926,
  "send": 984202,
  "send-check": 987489,
  "send-check-outline": 987490,
  "send-circle": 986616,
  "send-circle-outline": 986617,
  "send-clock": 987491,
  "send-clock-outline": 987492,
  "send-lock": 985069,
  "send-lock-outline": 987494,
  "send-outline": 987493,
  "serial-port": 984668,
  "server": 984203,
  "server-minus": 984204,
  "server-network": 984205,
  "server-network-off": 984206,
  "server-off": 984207,
  "server-plus": 984208,
  "server-remove": 984209,
  "server-security": 984210,
  "set-all": 984952,
  "set-center": 984953,
  "set-center-right": 984954,
  "set-left": 984955,
  "set-left-center": 984956,
  "set-left-right": 984957,
  "set-merge": 988384,
  "set-none": 984958,
  "set-right": 984959,
  "set-split": 988385,
  "set-square": 988253,
  "set-top-box": 985503,
  "settings-helper": 985710,
  "shaker": 987406,
  "shaker-outline": 987407,
  "shape": 985137,
  "shape-circle-plus": 984669,
  "shape-outline": 985138,
  "shape-oval-plus": 987642,
  "shape-plus": 984213,
  "shape-polygon-plus": 984670,
  "shape-rectangle-plus": 984671,
  "shape-square-plus": 984672,
  "share": 984214,
  "share-all": 987636,
  "share-all-outline": 987637,
  "share-circle": 987565,
  "share-off": 986915,
  "share-off-outline": 986916,
  "share-outline": 985394,
  "share-variant": 984215,
  "sheep": 986310,
  "shield": 984216,
  "shield-account": 985231,
  "shield-account-outline": 985618,
  "shield-airplane": 984763,
  "shield-airplane-outline": 986311,
  "shield-alert": 986828,
  "shield-alert-outline": 986829,
  "shield-bug": 988122,
  "shield-bug-outline": 988123,
  "shield-car": 987011,
  "shield-check": 984421,
  "shield-check-outline": 986312,
  "shield-cross": 986313,
  "shield-cross-outline": 986314,
  "shield-edit": 987552,
  "shield-edit-outline": 987553,
  "shield-half": 988000,
  "shield-half-full": 984960,
  "shield-home": 984714,
  "shield-home-outline": 986315,
  "shield-key": 986052,
  "shield-key-outline": 986053,
  "shield-link-variant": 986419,
  "shield-link-variant-outline": 986420,
  "shield-lock": 985501,
  "shield-lock-outline": 986316,
  "shield-off": 985502,
  "shield-off-outline": 985500,
  "shield-outline": 984217,
  "shield-plus": 985818,
  "shield-plus-outline": 985819,
  "shield-refresh": 983210,
  "shield-refresh-outline": 983520,
  "shield-remove": 985820,
  "shield-remove-outline": 985821,
  "shield-search": 986522,
  "shield-star": 987451,
  "shield-star-outline": 987452,
  "shield-sun": 987229,
  "shield-sun-outline": 987230,
  "shield-sync": 987554,
  "shield-sync-outline": 987555,
  "ship-wheel": 985139,
  "shoe-formal": 985927,
  "shoe-heel": 985928,
  "shoe-print": 986618,
  "shopping": 984218,
  "shopping-music": 984219,
  "shopping-outline": 987605,
  "shopping-search": 987012,
  "shovel": 984848,
  "shovel-off": 984849,
  "shower": 985504,
  "shower-head": 985505,
  "shredder": 984220,
  "shuffle": 984221,
  "shuffle-disabled": 984222,
  "shuffle-variant": 984223,
  "shuriken": 988031,
  "sigma": 984224,
  "sigma-lower": 984619,
  "sign-caution": 984225,
  "sign-direction": 984961,
  "sign-direction-minus": 987136,
  "sign-direction-plus": 987100,
  "sign-direction-remove": 987101,
  "sign-real-estate": 987416,
  "sign-text": 984962,
  "signal": 984226,
  "signal-2g": 984850,
  "signal-3g": 984851,
  "signal-4g": 984852,
  "signal-5g": 985711,
  "signal-cellular-1": 985276,
  "signal-cellular-2": 985277,
  "signal-cellular-3": 985278,
  "signal-cellular-outline": 985279,
  "signal-distance-variant": 986724,
  "signal-hspa": 984853,
  "signal-hspa-plus": 984854,
  "signal-off": 984963,
  "signal-variant": 984586,
  "signature": 986619,
  "signature-freehand": 986620,
  "signature-image": 986621,
  "signature-text": 986622,
  "silo": 985929,
  "silverware": 984227,
  "silverware-clean": 987102,
  "silverware-fork": 984228,
  "silverware-fork-knife": 985712,
  "silverware-spoon": 984229,
  "silverware-variant": 984230,
  "sim": 984231,
  "sim-alert": 984232,
  "sim-off": 984233,
  "simple-icons": 987933,
  "sina-weibo": 985823,
  "sine-wave": 985435,
  "sitemap": 984234,
  "size-l": 988070,
  "size-m": 988069,
  "size-s": 988068,
  "size-xl": 988071,
  "size-xs": 988067,
  "size-xxl": 988072,
  "size-xxs": 988066,
  "size-xxxl": 988073,
  "skate": 986421,
  "skateboard": 988354,
  "skew-less": 986422,
  "skew-more": 986423,
  "ski": 987908,
  "ski-cross-country": 987909,
  "ski-water": 987910,
  "skip-backward": 984235,
  "skip-backward-outline": 986917,
  "skip-forward": 984236,
  "skip-forward-outline": 986918,
  "skip-next": 984237,
  "skip-next-circle": 984673,
  "skip-next-circle-outline": 984674,
  "skip-next-outline": 986919,
  "skip-previous": 984238,
  "skip-previous-circle": 984675,
  "skip-previous-circle-outline": 984676,
  "skip-previous-outline": 986920,
  "skull": 984716,
  "skull-crossbones": 986054,
  "skull-crossbones-outline": 986055,
  "skull-outline": 986056,
  "skull-scan": 988359,
  "skull-scan-outline": 988360,
  "skype": 984239,
  "skype-business": 984240,
  "slack": 984241,
  "slash-forward": 987103,
  "slash-forward-box": 987104,
  "sleep": 984242,
  "sleep-off": 984243,
  "slope-downhill": 986623,
  "slope-uphill": 986624,
  "slot-machine": 987412,
  "slot-machine-outline": 987413,
  "smart-card": 987325,
  "smart-card-outline": 987326,
  "smart-card-reader": 987327,
  "smart-card-reader-outline": 987328,
  "smog": 985713,
  "smoke-detector": 983954,
  "smoking": 984244,
  "smoking-off": 984245,
  "smoking-pipe": 988173,
  "smoking-pipe-off": 988200,
  "snapchat": 984246,
  "snowboard": 987911,
  "snowflake": 984855,
  "snowflake-alert": 986921,
  "snowflake-melt": 987851,
  "snowflake-variant": 986922,
  "snowman": 984247,
  "soccer": 984248,
  "soccer-field": 985140,
  "sofa": 984249,
  "solar-panel": 986523,
  "solar-panel-large": 986524,
  "solar-power": 985714,
  "soldering-iron": 987282,
  "solid": 984717,
  "sony-playstation": 984084,
  "sort": 984250,
  "sort-alphabetical-ascending": 984509,
  "sort-alphabetical-ascending-variant": 987464,
  "sort-alphabetical-descending": 984511,
  "sort-alphabetical-descending-variant": 987465,
  "sort-alphabetical-variant": 984251,
  "sort-ascending": 984252,
  "sort-bool-ascending": 988037,
  "sort-bool-ascending-variant": 988038,
  "sort-bool-descending": 988039,
  "sort-bool-descending-variant": 988040,
  "sort-descending": 984253,
  "sort-numeric-ascending": 988041,
  "sort-numeric-ascending-variant": 985357,
  "sort-numeric-descending": 988042,
  "sort-numeric-descending-variant": 985810,
  "sort-numeric-variant": 984254,
  "sort-reverse-variant": 983868,
  "sort-variant": 984255,
  "sort-variant-lock": 986317,
  "sort-variant-lock-open": 986318,
  "sort-variant-remove": 987463,
  "soundcloud": 984256,
  "source-branch": 984620,
  "source-branch-check": 988367,
  "source-branch-minus": 988363,
  "source-branch-plus": 988362,
  "source-branch-refresh": 988365,
  "source-branch-remove": 988364,
  "source-branch-sync": 988366,
  "source-commit": 984856,
  "source-commit-end": 984857,
  "source-commit-end-local": 984858,
  "source-commit-local": 984859,
  "source-commit-next-local": 984860,
  "source-commit-start": 984861,
  "source-commit-start-next-local": 984862,
  "source-fork": 984257,
  "source-merge": 984621,
  "source-pull": 984258,
  "source-repository": 986319,
  "source-repository-multiple": 986320,
  "soy-sauce": 985070,
  "soy-sauce-off": 988156,
  "spa": 986321,
  "spa-outline": 986322,
  "space-invaders": 986057,
  "space-station": 988035,
  "spade": 986725,
  "speaker": 984259,
  "speaker-bluetooth": 985506,
  "speaker-multiple": 986424,
  "speaker-off": 984260,
  "speaker-wireless": 984863,
  "speedometer": 984261,
  "speedometer-medium": 987013,
  "speedometer-slow": 987014,
  "spellcheck": 984262,
  "spider": 987626,
  "spider-thread": 987627,
  "spider-web": 986058,
  "spoon-sugar": 988201,
  "spotify": 984263,
  "spotlight": 984264,
  "spotlight-beam": 984265,
  "spray": 984677,
  "spray-bottle": 985824,
  "sprinkler": 987231,
  "sprinkler-variant": 987232,
  "sprout": 986726,
  "sprout-outline": 986727,
  "square": 984932,
  "square-edit-outline": 985356,
  "square-medium": 985619,
  "square-medium-outline": 985620,
  "square-off": 987886,
  "square-off-outline": 987887,
  "square-outline": 984931,
  "square-root": 984964,
  "square-root-box": 985507,
  "square-small": 985621,
  "square-wave": 988283,
  "squeegee": 985825,
  "ssh": 985280,
  "stack-exchange": 984587,
  "stack-overflow": 984268,
  "stackpath": 983897,
  "stadium": 987129,
  "stadium-variant": 984864,
  "stairs": 984269,
  "stairs-box": 988062,
  "stairs-down": 987838,
  "stairs-up": 987837,
  "stamper": 986425,
  "standard-definition": 985071,
  "star": 984270,
  "star-box": 985715,
  "star-box-multiple": 987782,
  "star-box-multiple-outline": 987783,
  "star-box-outline": 985716,
  "star-circle": 984271,
  "star-circle-outline": 985508,
  "star-face": 985509,
  "star-four-points": 985826,
  "star-four-points-outline": 985827,
  "star-half": 983622,
  "star-half-full": 984272,
  "star-off": 984273,
  "star-outline": 984274,
  "star-three-points": 985828,
  "star-three-points-outline": 985829,
  "state-machine": 987631,
  "steam": 984275,
  "steering": 984276,
  "steering-off": 985358,
  "step-backward": 984277,
  "step-backward-2": 984278,
  "step-forward": 984279,
  "step-forward-2": 984280,
  "stethoscope": 984281,
  "sticker": 988004,
  "sticker-alert": 988005,
  "sticker-alert-outline": 988006,
  "sticker-check": 988007,
  "sticker-check-outline": 988008,
  "sticker-circle-outline": 984528,
  "sticker-emoji": 984965,
  "sticker-minus": 988009,
  "sticker-minus-outline": 988010,
  "sticker-outline": 988011,
  "sticker-plus": 988012,
  "sticker-plus-outline": 988013,
  "sticker-remove": 988014,
  "sticker-remove-outline": 988015,
  "stocking": 984282,
  "stomach": 987283,
  "stop": 984283,
  "stop-circle": 984678,
  "stop-circle-outline": 984679,
  "store": 984284,
  "store-24-hour": 984285,
  "store-outline": 988001,
  "storefront": 985031,
  "storefront-outline": 987329,
  "stove": 984286,
  "strategy": 987606,
  "stretch-to-page": 986923,
  "stretch-to-page-outline": 986924,
  "string-lights": 987834,
  "string-lights-off": 987835,
  "subdirectory-arrow-left": 984588,
  "subdirectory-arrow-right": 984589,
  "subtitles": 985622,
  "subtitles-outline": 985623,
  "subway": 984748,
  "subway-alert-variant": 986525,
  "subway-variant": 984287,
  "summit": 984966,
  "sunglasses": 984288,
  "surround-sound": 984517,
  "surround-sound-2-0": 985072,
  "surround-sound-3-1": 985073,
  "surround-sound-5-1": 985074,
  "surround-sound-7-1": 985075,
  "svg": 984865,
  "swap-horizontal": 984289,
  "swap-horizontal-bold": 986061,
  "swap-horizontal-circle": 987105,
  "swap-horizontal-circle-outline": 987106,
  "swap-horizontal-variant": 985281,
  "swap-vertical": 984290,
  "swap-vertical-bold": 986062,
  "swap-vertical-circle": 987107,
  "swap-vertical-circle-outline": 987108,
  "swap-vertical-variant": 985282,
  "swim": 984291,
  "switch": 984292,
  "sword": 984293,
  "sword-cross": 984967,
  "syllabary-hangul": 987955,
  "syllabary-hiragana": 987956,
  "syllabary-katakana": 987957,
  "syllabary-katakana-halfwidth": 987958,
  "symfony": 985830,
  "sync": 984294,
  "sync-alert": 984295,
  "sync-circle": 988024,
  "sync-off": 984296,
  "tab": 984297,
  "tab-minus": 985931,
  "tab-plus": 984924,
  "tab-remove": 985932,
  "tab-unselected": 984298,
  "table": 984299,
  "table-account": 988089,
  "table-alert": 988090,
  "table-arrow-down": 988091,
  "table-arrow-left": 988092,
  "table-arrow-right": 988093,
  "table-arrow-up": 988094,
  "table-border": 985624,
  "table-cancel": 988095,
  "table-chair": 987233,
  "table-check": 988096,
  "table-clock": 988097,
  "table-cog": 988098,
  "table-column": 985141,
  "table-column-plus-after": 984300,
  "table-column-plus-before": 984301,
  "table-column-remove": 984302,
  "table-column-width": 984303,
  "table-edit": 984304,
  "table-eye": 987284,
  "table-eye-off": 988099,
  "table-furniture": 984508,
  "table-headers-eye": 987677,
  "table-headers-eye-off": 987678,
  "table-heart": 988100,
  "table-key": 988101,
  "table-large": 984305,
  "table-large-plus": 987015,
  "table-large-remove": 987016,
  "table-lock": 988102,
  "table-merge-cells": 985510,
  "table-minus": 988103,
  "table-multiple": 988104,
  "table-network": 988105,
  "table-of-contents": 985142,
  "table-off": 988106,
  "table-plus": 985717,
  "table-refresh": 988064,
  "table-remove": 985718,
  "table-row": 985143,
  "table-row-height": 984306,
  "table-row-plus-after": 984307,
  "table-row-plus-before": 984308,
  "table-row-remove": 984309,
  "table-search": 985359,
  "table-settings": 985144,
  "table-split-cell": 988202,
  "table-star": 988107,
  "table-sync": 988065,
  "table-tennis": 986728,
  "tablet": 984310,
  "tablet-android": 984311,
  "tablet-cellphone": 985511,
  "tablet-dashboard": 986830,
  "tablet-ipad": 984312,
  "taco": 984930,
  "tag": 984313,
  "tag-faces": 984314,
  "tag-heart": 984715,
  "tag-heart-outline": 986063,
  "tag-minus": 985360,
  "tag-minus-outline": 987679,
  "tag-multiple": 984315,
  "tag-multiple-outline": 987895,
  "tag-off": 987680,
  "tag-off-outline": 987681,
  "tag-outline": 984316,
  "tag-plus": 984866,
  "tag-plus-outline": 987682,
  "tag-remove": 984867,
  "tag-remove-outline": 987683,
  "tag-text": 987684,
  "tag-text-outline": 984317,
  "tailwind": 988159,
  "tank": 986426,
  "tanker-truck": 987109,
  "tape-measure": 985933,
  "target": 984318,
  "target-account": 986064,
  "target-variant": 985719,
  "taxi": 984319,
  "tea": 986526,
  "tea-outline": 986527,
  "teach": 985232,
  "teamviewer": 984320,
  "telegram": 984321,
  "telescope": 985934,
  "television": 984322,
  "television-ambient-light": 987990,
  "television-box": 985145,
  "television-classic": 985076,
  "television-classic-off": 985146,
  "television-clean": 987408,
  "television-guide": 984323,
  "television-off": 985147,
  "television-pause": 987017,
  "television-play": 986831,
  "television-stop": 987018,
  "temperature-celsius": 984324,
  "temperature-fahrenheit": 984325,
  "temperature-kelvin": 984326,
  "tennis": 986528,
  "tennis-ball": 984327,
  "tent": 984328,
  "terraform": 987234,
  "terrain": 984329,
  "test-tube": 984680,
  "test-tube-empty": 985361,
  "test-tube-off": 985362,
  "text": 985512,
  "text-box": 983578,
  "text-box-check": 986790,
  "text-box-check-outline": 986791,
  "text-box-minus": 986792,
  "text-box-minus-outline": 986793,
  "text-box-multiple": 985783,
  "text-box-multiple-outline": 985784,
  "text-box-outline": 985581,
  "text-box-plus": 986794,
  "text-box-plus-outline": 986795,
  "text-box-remove": 986796,
  "text-box-remove-outline": 986797,
  "text-box-search": 986798,
  "text-box-search-outline": 986799,
  "text-recognition": 987453,
  "text-search": 988088,
  "text-shadow": 984681,
  "text-short": 985513,
  "text-subject": 985514,
  "text-to-speech": 984330,
  "text-to-speech-off": 984331,
  "texture": 984332,
  "texture-box": 987110,
  "theater": 984333,
  "theme-light-dark": 984334,
  "thermometer": 984335,
  "thermometer-alert": 986625,
  "thermometer-chevron-down": 986626,
  "thermometer-chevron-up": 986627,
  "thermometer-high": 987330,
  "thermometer-lines": 984336,
  "thermometer-low": 987331,
  "thermometer-minus": 986628,
  "thermometer-plus": 986629,
  "thermostat": 983955,
  "thermostat-box": 985233,
  "thought-bubble": 985078,
  "thought-bubble-outline": 985079,
  "thumb-down": 984337,
  "thumb-down-outline": 984338,
  "thumb-up": 984339,
  "thumb-up-outline": 984340,
  "thumbs-up-down": 984341,
  "ticket": 984342,
  "ticket-account": 984343,
  "ticket-confirmation": 984344,
  "ticket-confirmation-outline": 988074,
  "ticket-outline": 985363,
  "ticket-percent": 984868,
  "ticket-percent-outline": 988203,
  "tie": 984345,
  "tilde": 984869,
  "timelapse": 984346,
  "timeline": 986065,
  "timeline-alert": 987029,
  "timeline-alert-outline": 987032,
  "timeline-clock": 987643,
  "timeline-clock-outline": 987644,
  "timeline-help": 987033,
  "timeline-help-outline": 987034,
  "timeline-outline": 986066,
  "timeline-plus": 987030,
  "timeline-plus-outline": 987031,
  "timeline-text": 986067,
  "timeline-text-outline": 986068,
  "timer": 988075,
  "timer-10": 984348,
  "timer-3": 984349,
  "timer-off": 988076,
  "timer-off-outline": 984350,
  "timer-outline": 984347,
  "timer-sand": 984351,
  "timer-sand-empty": 984749,
  "timer-sand-full": 984972,
  "timetable": 984352,
  "toaster": 987235,
  "toaster-off": 987575,
  "toaster-oven": 986323,
  "toggle-switch": 984353,
  "toggle-switch-off": 984354,
  "toggle-switch-off-outline": 985625,
  "toggle-switch-outline": 985626,
  "toilet": 985515,
  "toolbox": 985516,
  "toolbox-outline": 985517,
  "tools": 987236,
  "tooltip": 984355,
  "tooltip-account": 983052,
  "tooltip-edit": 984356,
  "tooltip-edit-outline": 987845,
  "tooltip-image": 984357,
  "tooltip-image-outline": 986069,
  "tooltip-outline": 984358,
  "tooltip-plus": 986070,
  "tooltip-plus-outline": 984359,
  "tooltip-text": 984360,
  "tooltip-text-outline": 986071,
  "tooth": 985283,
  "tooth-outline": 984361,
  "toothbrush": 987433,
  "toothbrush-electric": 987436,
  "toothbrush-paste": 987434,
  "tortoise": 986427,
  "toslink": 987832,
  "tournament": 985518,
  "tow-truck": 985148,
  "tower-beach": 984705,
  "tower-fire": 984706,
  "toy-brick": 987784,
  "toy-brick-marker": 987785,
  "toy-brick-marker-outline": 987786,
  "toy-brick-minus": 987787,
  "toy-brick-minus-outline": 987788,
  "toy-brick-outline": 987789,
  "toy-brick-plus": 987790,
  "toy-brick-plus-outline": 987791,
  "toy-brick-remove": 987792,
  "toy-brick-remove-outline": 987793,
  "toy-brick-search": 987794,
  "toy-brick-search-outline": 987795,
  "track-light": 985364,
  "trackpad": 985080,
  "trackpad-lock": 985395,
  "tractor": 985234,
  "tractor-variant": 988356,
  "trademark": 985720,
  "traffic-cone": 988028,
  "traffic-light": 984363,
  "train": 984364,
  "train-car": 986072,
  "train-variant": 985284,
  "tram": 984365,
  "tram-side": 987111,
  "transcribe": 984366,
  "transcribe-close": 984367,
  "transfer": 987237,
  "transfer-down": 986529,
  "transfer-left": 986530,
  "transfer-right": 984368,
  "transfer-up": 986531,
  "transit-connection": 986428,
  "transit-connection-variant": 986429,
  "transit-detour": 987019,
  "transit-transfer": 984750,
  "transition": 985365,
  "transition-masked": 985366,
  "translate": 984522,
  "translate-off": 986630,
  "transmission-tower": 986430,
  "trash-can": 985721,
  "trash-can-outline": 985722,
  "tray": 987796,
  "tray-alert": 987797,
  "tray-full": 987798,
  "tray-minus": 987799,
  "tray-plus": 987800,
  "tray-remove": 987801,
  "treasure-chest": 984870,
  "tree": 984369,
  "tree-outline": 986729,
  "trello": 984370,
  "trending-down": 984371,
  "trending-neutral": 984372,
  "trending-up": 984373,
  "triangle": 984374,
  "triangle-outline": 984375,
  "triangle-wave": 988284,
  "triforce": 986073,
  "trophy": 984376,
  "trophy-award": 984377,
  "trophy-broken": 986532,
  "trophy-outline": 984378,
  "trophy-variant": 984379,
  "trophy-variant-outline": 984380,
  "truck": 984381,
  "truck-check": 986324,
  "truck-check-outline": 987802,
  "truck-delivery": 984382,
  "truck-delivery-outline": 987803,
  "truck-fast": 984968,
  "truck-fast-outline": 987804,
  "truck-outline": 987805,
  "truck-trailer": 984871,
  "trumpet": 987286,
  "tshirt-crew": 985723,
  "tshirt-crew-outline": 984383,
  "tshirt-v": 985724,
  "tshirt-v-outline": 984384,
  "tumble-dryer": 985367,
  "tumble-dryer-alert": 987578,
  "tumble-dryer-off": 987579,
  "tune": 984622,
  "tune-vertical": 984682,
  "turnstile": 986325,
  "turnstile-outline": 986326,
  "turtle": 986327,
  "twitch": 984387,
  "twitter": 984388,
  "twitter-retweet": 984391,
  "two-factor-authentication": 985519,
  "typewriter": 986925,
  "ubisoft": 986074,
  "ubuntu": 984392,
  "ufo": 987332,
  "ufo-outline": 987333,
  "ultra-high-definition": 985081,
  "umbraco": 984393,
  "umbrella": 984394,
  "umbrella-closed": 985520,
  "umbrella-closed-outline": 988130,
  "umbrella-closed-variant": 988129,
  "umbrella-outline": 984395,
  "undo": 984396,
  "undo-variant": 984397,
  "unfold-less-horizontal": 984398,
  "unfold-less-vertical": 984928,
  "unfold-more-horizontal": 984399,
  "unfold-more-vertical": 984929,
  "ungroup": 984400,
  "unicode": 986832,
  "unity": 984751,
  "unreal": 985521,
  "untappd": 984401,
  "update": 984752,
  "upload": 984402,
  "upload-lock": 988019,
  "upload-lock-outline": 988020,
  "upload-multiple": 985149,
  "upload-network": 984822,
  "upload-network-outline": 986328,
  "upload-off": 987334,
  "upload-off-outline": 987335,
  "upload-outline": 986631,
  "usb": 984403,
  "usb-flash-drive": 987806,
  "usb-flash-drive-outline": 987807,
  "usb-port": 987632,
  "valve": 987238,
  "valve-closed": 987239,
  "valve-open": 987240,
  "van-passenger": 985082,
  "van-utility": 985083,
  "vanish": 985084,
  "vanity-light": 987617,
  "variable": 985831,
  "variable-box": 987409,
  "vector-arrange-above": 984404,
  "vector-arrange-below": 984405,
  "vector-bezier": 985832,
  "vector-circle": 984406,
  "vector-circle-variant": 984407,
  "vector-combine": 984408,
  "vector-curve": 984409,
  "vector-difference": 984410,
  "vector-difference-ab": 984411,
  "vector-difference-ba": 984412,
  "vector-ellipse": 985235,
  "vector-intersection": 984413,
  "vector-line": 984414,
  "vector-link": 987112,
  "vector-point": 984415,
  "vector-polygon": 984416,
  "vector-polyline": 984417,
  "vector-polyline-edit": 987685,
  "vector-polyline-minus": 987686,
  "vector-polyline-plus": 987687,
  "vector-polyline-remove": 987688,
  "vector-radius": 984906,
  "vector-rectangle": 984518,
  "vector-selection": 984418,
  "vector-square": 983041,
  "vector-triangle": 984419,
  "vector-union": 984420,
  "vhs": 985627,
  "vibrate": 984422,
  "vibrate-off": 986329,
  "video": 984423,
  "video-3d": 985085,
  "video-3d-off": 988121,
  "video-3d-variant": 986833,
  "video-4k-box": 985150,
  "video-account": 985369,
  "video-box": 983293,
  "video-box-off": 983294,
  "video-check": 987241,
  "video-check-outline": 987242,
  "video-image": 985370,
  "video-input-antenna": 985151,
  "video-input-component": 985152,
  "video-input-hdmi": 985153,
  "video-input-scart": 987020,
  "video-input-svideo": 985154,
  "video-minus": 985522,
  "video-minus-outline": 983738,
  "video-off": 984424,
  "video-off-outline": 986075,
  "video-outline": 986076,
  "video-plus": 985523,
  "video-plus-outline": 983507,
  "video-stabilization": 985371,
  "video-switch": 984425,
  "video-switch-outline": 984976,
  "video-vintage": 985628,
  "video-wireless": 986834,
  "video-wireless-outline": 986835,
  "view-agenda": 984426,
  "view-agenda-outline": 987608,
  "view-array": 984427,
  "view-array-outline": 988293,
  "view-carousel": 984428,
  "view-carousel-outline": 988294,
  "view-column": 984429,
  "view-column-outline": 988295,
  "view-comfy": 986730,
  "view-comfy-outline": 988296,
  "view-compact": 986731,
  "view-compact-outline": 986732,
  "view-dashboard": 984430,
  "view-dashboard-outline": 985629,
  "view-dashboard-variant": 985155,
  "view-dashboard-variant-outline": 988297,
  "view-day": 984431,
  "view-day-outline": 988298,
  "view-grid": 984432,
  "view-grid-outline": 987609,
  "view-grid-plus": 987021,
  "view-grid-plus-outline": 987610,
  "view-headline": 984433,
  "view-list": 984434,
  "view-list-outline": 988299,
  "view-module": 984435,
  "view-module-outline": 988300,
  "view-parallel": 984872,
  "view-parallel-outline": 988301,
  "view-quilt": 984436,
  "view-quilt-outline": 988302,
  "view-sequential": 984873,
  "view-sequential-outline": 988303,
  "view-split-horizontal": 986059,
  "view-split-vertical": 986060,
  "view-stream": 984437,
  "view-stream-outline": 988304,
  "view-week": 984438,
  "view-week-outline": 988305,
  "vimeo": 984439,
  "violin": 984591,
  "virtual-reality": 985236,
  "virus": 988086,
  "virus-outline": 988087,
  "vk": 984441,
  "vlc": 984444,
  "voice-off": 986836,
  "voicemail": 984445,
  "volleyball": 985524,
  "volume-high": 984446,
  "volume-low": 984447,
  "volume-medium": 984448,
  "volume-minus": 984926,
  "volume-mute": 984927,
  "volume-off": 984449,
  "volume-plus": 984925,
  "volume-source": 987424,
  "volume-variant-off": 986632,
  "volume-vibrate": 987425,
  "vote": 985631,
  "vote-outline": 985632,
  "vpn": 984450,
  "vuejs": 985156,
  "vuetify": 986733,
  "walk": 984451,
  "wall": 985086,
  "wall-sconce": 985372,
  "wall-sconce-flat": 985373,
  "wall-sconce-flat-variant": 984092,
  "wall-sconce-round": 984904,
  "wall-sconce-round-variant": 985374,
  "wallet": 984452,
  "wallet-giftcard": 984453,
  "wallet-membership": 984454,
  "wallet-outline": 986077,
  "wallet-plus": 987022,
  "wallet-plus-outline": 987023,
  "wallet-travel": 984455,
  "wallpaper": 986633,
  "wan": 984456,
  "wardrobe": 987024,
  "wardrobe-outline": 987025,
  "warehouse": 987009,
  "washing-machine": 984874,
  "washing-machine-alert": 987580,
  "washing-machine-off": 987581,
  "watch": 984457,
  "watch-export": 984458,
  "watch-export-variant": 985237,
  "watch-import": 984459,
  "watch-import-variant": 985238,
  "watch-variant": 985239,
  "watch-vibrate": 984753,
  "watch-vibrate-off": 986330,
  "water": 984460,
  "water-boiler": 987026,
  "water-boiler-alert": 987571,
  "water-boiler-off": 987572,
  "water-off": 984461,
  "water-outline": 986634,
  "water-percent": 984462,
  "water-polo": 987808,
  "water-pump": 984463,
  "water-pump-off": 987027,
  "water-well": 987243,
  "water-well-outline": 987244,
  "watering-can": 988289,
  "watering-can-outline": 988290,
  "watermark": 984594,
  "wave": 986926,
  "waveform": 988285,
  "waves": 984973,
  "waze": 986078,
  "weather-cloudy": 984464,
  "weather-cloudy-alert": 986927,
  "weather-cloudy-arrow-right": 986734,
  "weather-fog": 984465,
  "weather-hail": 984466,
  "weather-hazy": 986928,
  "weather-hurricane": 985240,
  "weather-lightning": 984467,
  "weather-lightning-rainy": 984702,
  "weather-night": 984468,
  "weather-night-partly-cloudy": 986929,
  "weather-partly-cloudy": 984469,
  "weather-partly-lightning": 986930,
  "weather-partly-rainy": 986931,
  "weather-partly-snowy": 986932,
  "weather-partly-snowy-rainy": 986933,
  "weather-pouring": 984470,
  "weather-rainy": 984471,
  "weather-snowy": 984472,
  "weather-snowy-heavy": 986934,
  "weather-snowy-rainy": 984703,
  "weather-sunny": 984473,
  "weather-sunny-alert": 986935,
  "weather-sunset": 984474,
  "weather-sunset-down": 984475,
  "weather-sunset-up": 984476,
  "weather-tornado": 986936,
  "weather-windy": 984477,
  "weather-windy-variant": 984478,
  "web": 984479,
  "web-box": 987028,
  "web-clock": 987722,
  "webcam": 984480,
  "webhook": 984623,
  "webpack": 984875,
  "webrtc": 987720,
  "wechat": 984593,
  "weight": 984481,
  "weight-gram": 986431,
  "weight-kilogram": 984482,
  "weight-lifter": 987485,
  "weight-pound": 985525,
  "whatsapp": 984483,
  "wheelchair-accessibility": 984484,
  "whistle": 985526,
  "whistle-outline": 987836,
  "white-balance-auto": 984485,
  "white-balance-incandescent": 984486,
  "white-balance-iridescent": 984487,
  "white-balance-sunny": 984488,
  "widgets": 984876,
  "widgets-outline": 987989,
  "wifi": 984489,
  "wifi-off": 984490,
  "wifi-star": 986635,
  "wifi-strength-1": 985375,
  "wifi-strength-1-alert": 985376,
  "wifi-strength-1-lock": 985377,
  "wifi-strength-2": 985378,
  "wifi-strength-2-alert": 985379,
  "wifi-strength-2-lock": 985380,
  "wifi-strength-3": 985381,
  "wifi-strength-3-alert": 985382,
  "wifi-strength-3-lock": 985383,
  "wifi-strength-4": 985384,
  "wifi-strength-4-alert": 985385,
  "wifi-strength-4-lock": 985386,
  "wifi-strength-alert-outline": 985387,
  "wifi-strength-lock-outline": 985388,
  "wifi-strength-off": 985389,
  "wifi-strength-off-outline": 985390,
  "wifi-strength-outline": 985391,
  "wikipedia": 984492,
  "wind-turbine": 986533,
  "window-close": 984493,
  "window-closed": 984494,
  "window-closed-variant": 987611,
  "window-maximize": 984495,
  "window-minimize": 984496,
  "window-open": 984497,
  "window-open-variant": 987612,
  "window-restore": 984498,
  "window-shutter": 987420,
  "window-shutter-alert": 987421,
  "window-shutter-open": 987422,
  "wiper": 985833,
  "wiper-wash": 986534,
  "wizard-hat": 988279,
  "wordpress": 984500,
  "wrap": 984502,
  "wrap-disabled": 986079,
  "wrench": 984503,
  "wrench-outline": 986080,
  "xamarin": 985157,
  "xamarin-outline": 985158,
  "xing": 984510,
  "xml": 984512,
  "xmpp": 985087,
  "y-combinator": 984612,
  "yahoo": 985935,
  "yeast": 984513,
  "yin-yang": 984704,
  "yoga": 987516,
  "youtube": 984515,
  "youtube-gaming": 985160,
  "youtube-studio": 985159,
  "youtube-subscription": 986432,
  "youtube-tv": 984136,
  "z-wave": 985834,
  "zend": 985835,
  "zigbee": 986433,
  "zip-box": 984516,
  "zip-box-outline": 987130,
  "zip-disk": 985635,
  "zodiac-aquarius": 985725,
  "zodiac-aries": 985726,
  "zodiac-cancer": 985727,
  "zodiac-capricorn": 985728,
  "zodiac-gemini": 985729,
  "zodiac-leo": 985730,
  "zodiac-libra": 985731,
  "zodiac-pisces": 985732,
  "zodiac-sagittarius": 985733,
  "zodiac-scorpio": 985734,
  "zodiac-taurus": 985735,
  "zodiac-virgo": 985736,
  "blank": 63116
};
},1839,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getImageSourceSync = exports.getImageSource = exports.Button = exports.default = undefined;

  var _createIconSet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _Octicons = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var iconSet = (0, _createIconSet.default)(_Octicons.default, 'Octicons', 'Octicons.ttf');
  var _default = iconSet;
  exports.default = _default;
  var Button = iconSet.Button,
      getImageSource = iconSet.getImageSource,
      getImageSourceSync = iconSet.getImageSourceSync;
  exports.getImageSourceSync = getImageSourceSync;
  exports.getImageSource = getImageSource;
  exports.Button = Button;
},1840,[5,1808,1841]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "alert": 61696,
  "archive": 61697,
  "arrow-both": 61698,
  "arrow-down": 61699,
  "arrow-left": 61700,
  "arrow-right": 61701,
  "arrow-small-down": 61702,
  "arrow-small-left": 61703,
  "arrow-small-right": 61704,
  "arrow-small-up": 61705,
  "arrow-up": 61706,
  "beaker": 61707,
  "bell": 61708,
  "bold": 61709,
  "book": 61710,
  "bookmark": 61711,
  "briefcase": 61712,
  "broadcast": 61713,
  "browser": 61714,
  "bug": 61715,
  "calendar": 61716,
  "check": 61717,
  "checklist": 61718,
  "chevron-down": 61719,
  "chevron-left": 61720,
  "chevron-right": 61721,
  "chevron-up": 61722,
  "circle-slash": 61723,
  "circuit-board": 61724,
  "clippy": 61725,
  "clock": 61726,
  "cloud-download": 61727,
  "cloud-upload": 61728,
  "code": 61729,
  "comment": 61730,
  "comment-discussion": 61731,
  "credit-card": 61732,
  "dash": 61733,
  "dashboard": 61734,
  "database": 61735,
  "desktop-download": 61736,
  "device-camera": 61737,
  "device-camera-video": 61738,
  "device-desktop": 61739,
  "device-mobile": 61740,
  "diff": 61741,
  "diff-added": 61742,
  "diff-ignored": 61743,
  "diff-modified": 61744,
  "diff-removed": 61745,
  "diff-renamed": 61746,
  "ellipsis": 61747,
  "eye": 61748,
  "eye-closed": 61749,
  "file": 61750,
  "file-binary": 61751,
  "file-code": 61752,
  "file-directory": 61753,
  "file-media": 61754,
  "file-pdf": 61755,
  "file-submodule": 61756,
  "file-symlink-directory": 61757,
  "file-symlink-file": 61758,
  "file-zip": 61759,
  "flame": 61760,
  "fold": 61761,
  "fold-down": 61762,
  "fold-up": 61763,
  "gear": 61764,
  "gift": 61765,
  "gist": 61766,
  "gist-secret": 61767,
  "git-branch": 61768,
  "git-commit": 61769,
  "git-compare": 61770,
  "git-merge": 61771,
  "git-pull-request": 61772,
  "github-action": 61773,
  "globe": 61774,
  "grabber": 61775,
  "graph": 61776,
  "heart": 61777,
  "history": 61778,
  "home": 61779,
  "horizontal-rule": 61780,
  "hubot": 61781,
  "inbox": 61782,
  "info": 61783,
  "issue-closed": 61784,
  "issue-opened": 61785,
  "issue-reopened": 61786,
  "italic": 61787,
  "jersey": 61788,
  "kebab-horizontal": 61789,
  "kebab-vertical": 61790,
  "key": 61791,
  "keyboard": 61792,
  "law": 61793,
  "light-bulb": 61794,
  "link": 61795,
  "link-external": 61796,
  "list-ordered": 61797,
  "list-unordered": 61798,
  "location": 61799,
  "lock": 61800,
  "logo-gist": 61801,
  "logo-github": 61802,
  "mail": 61803,
  "mail-read": 61804,
  "mark-github": 61805,
  "markdown": 61806,
  "megaphone": 61807,
  "mention": 61808,
  "milestone": 61809,
  "mirror": 61810,
  "mortar-board": 61811,
  "mute": 61812,
  "no-newline": 61813,
  "note": 61814,
  "octoface": 61815,
  "organization": 61816,
  "package": 61817,
  "paintcan": 61818,
  "pencil": 61819,
  "person": 61820,
  "pin": 61821,
  "play": 61822,
  "plug": 61823,
  "plus": 61824,
  "plus-small": 61825,
  "primitive-dot": 61826,
  "primitive-square": 61827,
  "project": 61828,
  "pulse": 61829,
  "question": 61830,
  "quote": 61831,
  "radio-tower": 61832,
  "reply": 61833,
  "repo": 61834,
  "repo-clone": 61835,
  "repo-force-push": 61836,
  "repo-forked": 61837,
  "repo-pull": 61838,
  "repo-push": 61839,
  "report": 61840,
  "request-changes": 61841,
  "rocket": 61842,
  "rss": 61843,
  "ruby": 61844,
  "screen-full": 61845,
  "screen-normal": 61846,
  "search": 61847,
  "server": 61848,
  "settings": 61849,
  "shield": 61850,
  "sign-in": 61851,
  "sign-out": 61852,
  "smiley": 61853,
  "squirrel": 61854,
  "star": 61855,
  "stop": 61856,
  "sync": 61857,
  "tag": 61858,
  "tasklist": 61859,
  "telescope": 61860,
  "terminal": 61861,
  "text-size": 61862,
  "three-bars": 61863,
  "thumbsdown": 61864,
  "thumbsup": 61865,
  "tools": 61866,
  "trashcan": 61867,
  "triangle-down": 61868,
  "triangle-left": 61869,
  "triangle-right": 61870,
  "triangle-up": 61871,
  "unfold": 61872,
  "unmute": 61873,
  "unverified": 61874,
  "verified": 61875,
  "versions": 61876,
  "watch": 61877,
  "x": 61878,
  "zap": 61879
};
},1841,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getImageSourceSync = exports.getImageSource = exports.Button = exports.default = undefined;

  var _createIconSet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _Zocial = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var iconSet = (0, _createIconSet.default)(_Zocial.default, 'zocial', 'Zocial.ttf');
  var _default = iconSet;
  exports.default = _default;
  var Button = iconSet.Button,
      getImageSource = iconSet.getImageSource,
      getImageSourceSync = iconSet.getImageSourceSync;
  exports.getImageSourceSync = getImageSourceSync;
  exports.getImageSource = getImageSource;
  exports.Button = Button;
},1842,[5,1808,1843]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "acrobat": 61696,
  "amazon": 61697,
  "android": 61698,
  "angellist": 61699,
  "aol": 61700,
  "appnet": 61701,
  "appstore": 61702,
  "bitbucket": 61703,
  "bitcoin": 61704,
  "blogger": 61705,
  "buffer": 61706,
  "cal": 61707,
  "call": 61708,
  "cart": 61709,
  "chrome": 61710,
  "cloudapp": 61711,
  "creativecommons": 61712,
  "delicious": 61713,
  "digg": 61714,
  "disqus": 61715,
  "dribbble": 61716,
  "dropbox": 61717,
  "drupal": 61718,
  "dwolla": 61720,
  "email": 61721,
  "eventasaurus": 61722,
  "eventbrite": 61723,
  "eventful": 61724,
  "evernote": 61725,
  "facebook": 61726,
  "fivehundredpx": 61727,
  "flattr": 61728,
  "flickr": 61729,
  "forrst": 61730,
  "foursquare": 61731,
  "github": 61732,
  "gmail": 61733,
  "google": 61734,
  "googleplay": 61735,
  "googleplus": 61736,
  "gowalla": 61737,
  "grooveshark": 61738,
  "guest": 61739,
  "html5": 61740,
  "ie": 61741,
  "instagram": 61742,
  "instapaper": 61743,
  "intensedebate": 61744,
  "itunes": 61745,
  "klout": 61746,
  "lanyrd": 61747,
  "lastfm": 61748,
  "lego": 61749,
  "linkedin": 61750,
  "lkdto": 61751,
  "logmein": 61752,
  "macstore": 61753,
  "meetup": 61754,
  "myspace": 61755,
  "ninetyninedesigns": 61756,
  "openid": 61757,
  "opentable": 61758,
  "paypal": 61759,
  "persona": 61796,
  "pinboard": 61760,
  "pinterest": 61761,
  "plancast": 61762,
  "plurk": 61763,
  "pocket": 61764,
  "podcast": 61765,
  "posterous": 61766,
  "print": 61767,
  "quora": 61768,
  "reddit": 61769,
  "rss": 61770,
  "scribd": 61771,
  "skype": 61772,
  "smashing": 61773,
  "songkick": 61774,
  "soundcloud": 61775,
  "spotify": 61776,
  "stackoverflow": 61777,
  "statusnet": 61778,
  "steam": 61779,
  "stripe": 61780,
  "stumbleupon": 61781,
  "tumblr": 61782,
  "twitter": 61783,
  "viadeo": 61784,
  "vimeo": 61785,
  "vk": 61786,
  "weibo": 61787,
  "wikipedia": 61788,
  "windows": 61789,
  "wordpress": 61790,
  "xing": 61791,
  "yahoo": 61792,
  "ycombinator": 61793,
  "yelp": 61794,
  "youtube": 61795
};
},1843,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.BaseModel = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var BaseModel = function () {
    function BaseModel(json) {
      (0, _classCallCheck2.default)(this, BaseModel);
      this.json = json;
    }

    (0, _createClass2.default)(BaseModel, [{
      key: "getValueByKey",
      value: function getValueByKey(key, fallback) {
        return this.json && this.json[key] ? this.json[key] : fallback;
      }
    }, {
      key: "getArrayByKey",
      value: function getArrayByKey(key) {
        return this.json && this.json[key] && Array.isArray(this.json[key]) ? this.json[key] : [];
      }
    }]);
    return BaseModel;
  }();

  exports.BaseModel = BaseModel;
},1844,[5,7,8]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
    "main": {
        "enableHighlighting": "true",
        "backgroundColor": "#000000",
        "textColor": "#FFFFFF",
        "buttonHighlightColor": "#4DB9E3",
        "defaultButtonHighlightColor": "#FFFFFF",
        "buttons": [
            {
                "text": "Index",
                "iconUrlOn": "",
                "iconUrlOff": "",
                "height": "45",
                "padding": "0,0,0,0",
                "function": "openIndex"
            },
            {
                "text": "Thumbnail",
                "iconUrlOn": "",
                "iconUrlOff": "",
                "height": "45",
                "padding": "0,0,0,0",
                "function": "openThumbnail"
            },
            {
                "text": "Browse",
                "iconUrlOn": "",
                "iconUrlOff": "",
                "height": "45",
                "padding": "0,0,0,0",
                "function": "openBrowse"
            },
            {
                "text": "News",
                "iconUrlOn": "",
                "iconUrlOff": "",
                "height": "45",
                "padding": "0,0,0,0",
                "forceText": "0",
                "function": "openLiveNews"
            },
            {
                "text": "Fit",
                "iconUrlOn": "",
                "iconUrlOff": "",
                "height": "45",
                "padding": "0,0,0,0",
                "function": "fitPageToggle"
            },
            {
                "text": "Option",
                "iconUrlOn": "",
                "iconUrlOff": "",
                "height": "45",
                "padding": "0,0,0,0",
                "function": "openMore"
            }
        ],
        "more": [
            {
                "id": "1",
                "text": "Search",
                "forceText": "0",
                "function": "openSearch"
            },
            {
                "id": "2",
                "text": "Editions",
                "forceText": "0",
                "function": "openOptionPageEditions"
            },
            {
                "id": "3",
                "text": "Specials",
                "forceText": "0",
                "function": "openSpecialSections"
            },
            {
                "id": "4",
                "text": "Publications",
                "forceText": "0",
                "function": "openOptionPagePublications"
            },
            {
                "id": "5",
                "text": "Login",
                "forceText": "0",
                "function": "openOptionPageLogin"
            },
            {
                "id": "6",
                "text": "Help",
                "forceText": "0",
                "function": "openOptionPageHelp"
            },
            {
                "id": "7",
                "text": "Contact",
                "forceText": "0",
                "function": "openOptionPageContact"
            },
            {
                "id": "8",
                "text": "Settings",
                "forceText": "0",
                "function": "openOptionPageSettings"
            }
        ]
    },
    "navigation": {
        "backgroundColor": "transparent",
        "textColor": "#00000",
        "back": {
            "buttons": [
                {
                    "text": "BackPage",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "iconLibrary": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "backPage"
                },
                {
                    "text": "BackSection",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "iconLibrary": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "backSection"
                }
            ]
        },
        "forward": {
            "buttons": [
                {
                    "text": "ForwardPage",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "iconLibrary": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "forwardPage"
                },
                {
                    "text": "ForwardSection",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "iconLibrary": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "forwardSection"
                }
            ]
        }
    },
    "index": {
        "firstLevel": {
            "header": {},
            "hr": {
                "top": {
                    "color": "#000000",
                    "height": "1"
                },
                "bottom": {
                    "color": "",
                    "height": ""
                }
            },
            "left": {
                "buttons": []
            },
            "right": {
                "buttons": []
            },"footer": {
                "enableHighlighting": "true",
                "backgroundColor": "#000000",
                "textColor": "#FFFFFF",
                "buttonHighlightColor": "#4DB9E3",
                "defaultButtonHighlightColor": "#FFFFFF",
                "buttons": [
                    {
                        "text": "Browse",
                        "iconUrlOn": "",
                        "iconUrlOff": "",
                        "height": "45",
                        "padding": "0,0,0,0",
                        "function": "openBrowse"
                    },
                    {
                        "text": "Previous Article",
                        "iconUrlOn": "",
                        "iconUrlOff": "",
                        "height": "45",
                        "padding": "0,0,0,0",
                        "function": "previousArticle"
                    },
                    {
                        "text": "Index",
                        "iconUrlOn": "",
                        "iconUrlOff": "",
                        "height": "45",
                        "padding": "0,0,0,0",
                        "function": "openIndexAlt"
                    },
                    {
                        "text": "Next Article",
                        "iconUrlOn": "",
                        "iconUrlOff": "",
                        "height": "45",
                        "padding": "0,0,0,0",
                        "function": "nextArticle"
                    },
                    {
                        "text": "Option",
                        "iconUrlOn": "",
                        "iconUrlOff": "",
                        "height": "45",
                        "padding": "0,0,0,0",
                        "function": "openMore"
                    }
                ],
                "more": [
                    {
                        "id": "1",
                        "text": "Editions",
                        "forceText": "0",
                        "function": "openOptionPageEditions"
                    },
                    {
                        "id": "2",
                        "text": "Specials",
                        "forceText": "0",
                        "function": "openSpecialSections"
                    },
                    {
                        "id": "3",
                        "text": "Login",
                        "forceText": "0",
                        "function": "openOptionPageLogin"
                    },
                    {
                        "id": "4",
                        "text": "Help",
                        "forceText": "0",
                        "function": "openOptionPageHelp"
                    },
                    {
                        "id": "5",
                        "text": "Contact",
                        "forceText": "0",
                        "function": "openOptionPageContact"
                    },
                    {
                        "id": "6",
                        "text": "Settings",
                        "forceText": "0",
                        "function": "openOptionPageSettings"
                    },
                    {
                        "id": "7",
                        "text": "Search",
                        "forceText": "0",
                        "function": "openSearch"
                    }
                ]
            }
        },
        "secondLevel": {
            "header": {},
            "hr": {
                "top": {
                    "color": "#000000",
                    "height": "1"
                },
                "bottom": {
                    "color": "",
                    "height": ""
                }
            },
            "left": {
                "buttons": []
            },
            "right": {
                "buttons": []
            },"footer": {
                "enableHighlighting": "true",
                "backgroundColor": "#000000",
                "textColor": "#FFFFFF",
                "buttonHighlightColor": "#4DB9E3",
                "defaultButtonHighlightColor": "#FFFFFF",
                "buttons": [
                    {
                        "text": "Browse",
                        "iconUrlOn": "",
                        "iconUrlOff": "",
                        "height": "45",
                        "padding": "0,0,0,0",
                        "function": "openBrowse"
                    },
                    {
                        "text": "Previous Article",
                        "iconUrlOn": "",
                        "iconUrlOff": "",
                        "height": "45",
                        "padding": "0,0,0,0",
                        "function": "previousArticle"
                    },
                    {
                        "text": "Index",
                        "iconUrlOn": "",
                        "iconUrlOff": "",
                        "height": "45",
                        "padding": "0,0,0,0",
                        "function": "openIndexAlt"
                    },
                    {
                        "text": "Next Article",
                        "iconUrlOn": "",
                        "iconUrlOff": "",
                        "height": "45",
                        "padding": "0,0,0,0",
                        "function": "nextArticle"
                    },
                    {
                        "text": "Option",
                        "iconUrlOn": "",
                        "iconUrlOff": "",
                        "height": "45",
                        "padding": "0,0,0,0",
                        "function": "openMore"
                    }
                ],
                "more": [
                    {
                        "id": "1",
                        "text": "Editions",
                        "forceText": "0",
                        "function": "openOptionPageEditions"
                    },
                    {
                        "id": "2",
                        "text": "Specials",
                        "forceText": "0",
                        "function": "openSpecialSections"
                    },
                    {
                        "id": "3",
                        "text": "Login",
                        "forceText": "0",
                        "function": "openOptionPageLogin"
                    },
                    {
                        "id": "4",
                        "text": "Help",
                        "forceText": "0",
                        "function": "openOptionPageHelp"
                    },
                    {
                        "id": "5",
                        "text": "Contact",
                        "forceText": "0",
                        "function": "openOptionPageContact"
                    },
                    {
                        "id": "6",
                        "text": "Settings",
                        "forceText": "0",
                        "function": "openOptionPageSettings"
                    },
                    {
                        "id": "7",
                        "text": "Search",
                        "forceText": "0",
                        "function": "openSearch"
                    }
                ]
            }
        }
    },
    "article": {
        "header": {
            "url": "",
            "function": "openIndex",
            "padding": "0,0,0,0",
            "alignment": "left"
        },
        "hr": {
            "top": {
                "color": "",
                "height": ""
            },
            "bottom": {
                "color": "",
                "height": ""
            }
        },
        "left": {
            "color": "#000000",
            "hoverText": "Example hover text",
            "size": "20",
            "padding": "20,0,0,0",
            "alignment": "left",
            "buttons": [
                {
                    "text": "Print",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "print"
                },
                {
                    "text": "Share",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "share"
                }
            ]
        },
        "right": {
            "buttons": [
                {
                    "text": "Search",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "search"
                },
                {
                    "text": "Clear search",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "clearSearch"
                },
                {
                    "text": "FontDecrease",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "fontDecrease"
                },
                {
                    "text": "FontIncrease",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "fontIncrease"
                },
                {
                    "text": "ToggleArticleExtra",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "iconLibrary": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "toggleArticleExtra"
                },
                {
                    "text": "GraphDecrease",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "graphDecrease"
                },
                {
                    "text": "GraphIncrease",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "graphIncrease"
                },
                {
                    "text": "GraphZoomUnfit",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "graphZoomUnfit"
                },
                {
                    "text": "TextToSpeech",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "toggleTextToSpeech"
                },
                {
                    "text": "Graphic",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "toggleGraphic"
                },
                {
                    "text": "Close",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "height": "35",
                    "padding": "0,0,0,0",
                    "function": "closeArticle"
                }
            ]
        },
        "footer": {
            "enableHighlighting": "true",
            "backgroundColor": "#000000",
            "textColor": "#FFFFFF",
            "buttonHighlightColor": "#4DB9E3",
            "defaultButtonHighlightColor": "#FFFFFF",
            "buttons": [
                {
                    "text": "Browse",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "height": "45",
                    "padding": "0,0,0,0",
                    "function": "openBrowse"
                },
                {
                    "text": "Previous Article",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "height": "45",
                    "padding": "0,0,0,0",
                    "function": "previousArticle"
                },
                {
                    "text": "Index",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "height": "45",
                    "padding": "0,0,0,0",
                    "function": "openIndexAlt"
                },
                {
                    "text": "Next Article",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "height": "45",
                    "padding": "0,0,0,0",
                    "function": "nextArticle"
                },
                {
                    "text": "Option",
                    "iconUrlOn": "",
                    "iconUrlOff": "",
                    "height": "45",
                    "padding": "0,0,0,0",
                    "function": "openMore"
                }
            ],
            "more": [
                {
                    "id": "1",
                    "text": "Editions",
                    "forceText": "0",
                    "function": "openOptionPageEditions"
                },
                {
                    "id": "2",
                    "text": "Specials",
                    "forceText": "0",
                    "function": "openSpecialSections"
                },
                {
                    "id": "3",
                    "text": "Login",
                    "forceText": "0",
                    "function": "openOptionPageLogin"
                },
                {
                    "id": "4",
                    "text": "Help",
                    "forceText": "0",
                    "function": "openOptionPageHelp"
                },
                {
                    "id": "5",
                    "text": "Contact",
                    "forceText": "0",
                    "function": "openOptionPageContact"
                },
                {
                    "id": "6",
                    "text": "Settings",
                    "forceText": "0",
                    "function": "openOptionPageSettings"
                },
                {
                    "id": "7",
                    "text": "Search",
                    "forceText": "0",
                    "function": "openSearch"
                }
            ]
        }
    }
}
;
},1845,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Footer = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Footer = function (_BaseModel) {
    (0, _inherits2.default)(Footer, _BaseModel);

    var _super = _createSuper(Footer);

    function Footer(json) {
      var _this;

      (0, _classCallCheck2.default)(this, Footer);
      _this = _super.call(this, json);

      _this.setEnableHighlighting();

      _this.setBackgroundColor();

      _this.setTextColor();

      _this.setButtonHighlightColor();

      _this.setDefaultButtonHighlightColor();

      _this.setButtons();

      _this.setMore();

      return _this;
    }

    (0, _createClass2.default)(Footer, [{
      key: "setEnableHighlighting",
      value: function setEnableHighlighting() {
        this.enableHighlighting = this.getValueByKey("enableHighlighting", false);
      }
    }, {
      key: "setBackgroundColor",
      value: function setBackgroundColor() {
        this.backgroundColor = this.getValueByKey("backgroundColor", _$$_REQUIRE(_dependencyMap[6]).colors.black);
      }
    }, {
      key: "setTextColor",
      value: function setTextColor() {
        this.textColor = this.getValueByKey("textColor", _$$_REQUIRE(_dependencyMap[6]).colors.white);
      }
    }, {
      key: "setButtonHighlightColor",
      value: function setButtonHighlightColor() {
        this.buttonHighlightColor = this.getValueByKey("buttonHighlightColor", _$$_REQUIRE(_dependencyMap[6]).colors.md_light_blue_300);
      }
    }, {
      key: "setDefaultButtonHighlightColor",
      value: function setDefaultButtonHighlightColor() {
        this.defaultButtonHighlightColor = this.getValueByKey("defaultButtonHighlightColor", _$$_REQUIRE(_dependencyMap[6]).colors.white);
      }
    }, {
      key: "setButtons",
      value: function setButtons() {
        this.buttons = this.getArrayByKey("buttons").map(function (button) {
          return new (_$$_REQUIRE(_dependencyMap[7]).FooterIcon)(button);
        });
      }
    }, {
      key: "setMore",
      value: function setMore() {
        this.more = this.getArrayByKey("more").map(function (button) {
          return new (_$$_REQUIRE(_dependencyMap[8]).MoreIcon)(button);
        });
      }
    }, {
      key: "getButtonByAction",
      value: function getButtonByAction(action) {
        var button = this.buttons.find(function (icon) {
          return icon.getAction() === action;
        });

        if (!button) {
          button = this.more.find(function (icon) {
            return icon.getAction() === action;
          });
        }

        return button;
      }
    }]);
    return Footer;
  }(_$$_REQUIRE(_dependencyMap[9]).BaseModel);

  exports.Footer = Footer;
},1846,[5,7,8,12,14,16,462,1847,1848,1844]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.FooterIcon = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var FooterIcon = function (_Icon) {
    (0, _inherits2.default)(FooterIcon, _Icon);

    var _super = _createSuper(FooterIcon);

    function FooterIcon(json) {
      (0, _classCallCheck2.default)(this, FooterIcon);
      return _super.call(this, json, "footer");
    }

    return FooterIcon;
  }(_$$_REQUIRE(_dependencyMap[5]).Icon);

  exports.FooterIcon = FooterIcon;
},1847,[5,7,12,14,16,1805]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.MoreIcon = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var MoreIcon = function (_Icon) {
    (0, _inherits2.default)(MoreIcon, _Icon);

    var _super = _createSuper(MoreIcon);

    function MoreIcon(json) {
      (0, _classCallCheck2.default)(this, MoreIcon);
      return _super.call(this, json, "footer-more");
    }

    return MoreIcon;
  }(_$$_REQUIRE(_dependencyMap[5]).Icon);

  exports.MoreIcon = MoreIcon;
},1848,[5,7,12,14,16,1805]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.PaperSetupManager = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _PaperSetupService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _PublicationsManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var PaperSetupManager = function () {
    function PaperSetupManager() {
      (0, _classCallCheck2.default)(this, PaperSetupManager);
      this.pSetups = [];
      this.activePSetup = PaperSetupManager.getMainPSetup();
    }

    (0, _createClass2.default)(PaperSetupManager, [{
      key: "init",
      value: function init(pSetup) {
        var machine,
            extraParams,
            success,
            overwriteActivePSetup,
            preview,
            oneTimeToken,
            firstInstall,
            fromCache,
            apiKey,
            config,
            _await$PaperSetupMana,
            pSetupConfigJSON,
            fromServer,
            _config,
            loginStatus,
            _args = arguments;

        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                machine = _args.length > 1 && _args[1] !== undefined ? _args[1] : PaperSetupManager.getMachine();
                extraParams = _args.length > 2 && _args[2] !== undefined ? _args[2] : {};
                success = false;
                overwriteActivePSetup = true;
                preview = extraParams.preview, oneTimeToken = extraParams.oneTimeToken, firstInstall = extraParams.firstInstall, fromCache = extraParams.fromCache, apiKey = extraParams.apiKey;

                if (!pSetup) {
                  pSetup = PaperSetupManager.getMainPSetup();
                  overwriteActivePSetup = !this.activePSetup;
                }

                config = this.pSetups[pSetup];

                if (!config) {
                  config = new (_$$_REQUIRE(_dependencyMap[7]).PaperSetupConfig)(pSetup, machine);
                }

                _context.next = 10;
                return _regenerator.default.awrap(PaperSetupManager.download({
                  pSetup: pSetup,
                  machine: machine,
                  preview: preview,
                  oneTimeToken: oneTimeToken,
                  firstInstall: firstInstall,
                  fromCache: fromCache,
                  apiKey: apiKey
                }));

              case 10:
                _await$PaperSetupMana = _context.sent;
                pSetupConfigJSON = _await$PaperSetupMana.json;
                fromServer = _await$PaperSetupMana.fromServer;
                _context.next = 15;
                return _regenerator.default.awrap(config.init(pSetupConfigJSON));

              case 15:
                success = _context.sent;

                if (success) {
                  if (oneTimeToken) {
                    _config = config, loginStatus = _config.loginStatus;
                    loginStatus.setOneTimeToken(oneTimeToken);
                  }

                  this.pSetups[pSetup] = config;

                  if (overwriteActivePSetup) {
                    this.setActivePSetup(pSetup);
                  }
                }

                return _context.abrupt("return", {
                  success: success,
                  fromServer: fromServer
                });

              case 18:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "initConfigOnly",
      value: function initConfigOnly() {
        var pSetup,
            machine,
            config,
            _await$PaperSetupMana2,
            json,
            success,
            _args2 = arguments;

        return _regenerator.default.async(function initConfigOnly$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                pSetup = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : PaperSetupManager.getMainPSetup();
                machine = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : PaperSetupManager.getMachine();
                config = new (_$$_REQUIRE(_dependencyMap[7]).PaperSetupConfig)(pSetup, machine);
                _context2.next = 5;
                return _regenerator.default.awrap(PaperSetupManager.download({
                  pSetup: pSetup,
                  machine: machine
                }));

              case 5:
                _await$PaperSetupMana2 = _context2.sent;
                json = _await$PaperSetupMana2.json;
                _context2.next = 9;
                return _regenerator.default.awrap(config.init(json));

              case 9:
                success = _context2.sent;
                return _context2.abrupt("return", {
                  success: success,
                  config: config
                });

              case 11:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setCurrentPublication",
      value: function setCurrentPublication(_ref) {
        var pSetup = _ref.pSetup,
            machine = _ref.machine,
            paperName = _ref.paperName,
            external = _ref.external;
        var activeConfig = this.getActivePSetupConfig();
        var publicationsManager = global.getPublicationsManager();
        publicationsManager.setCurrentPublication({
          pSetup: pSetup,
          machine: machine,
          name: paperName || activeConfig.paperName,
          paper: activeConfig.paper,
          xpaper: activeConfig.xpaper,
          external: external
        });
      }
    }, {
      key: "load",
      value: function load(pSetup, machine) {
        var extraParams,
            external,
            success,
            fromServer,
            pSetupToUse,
            machineToUse,
            _this$getMainPSetupCo,
            mainPSetup,
            isGenericApp,
            publicationBaseParams,
            _this$getActivePSetup,
            xpSetup,
            _pSetupArray,
            pSetupArray,
            _await$this$init,
            activeConfig,
            publicationsManager,
            preview,
            oneTimeToken,
            _await$this$init2,
            _args3 = arguments;

        return _regenerator.default.async(function load$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                extraParams = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : {};
                external = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : false;
                success = true;
                fromServer = false;
                pSetupToUse = pSetup;
                machineToUse = machine;
                _this$getMainPSetupCo = this.getMainPSetupConfig(), mainPSetup = _this$getMainPSetupCo.pSetup, isGenericApp = _this$getMainPSetupCo.isGenericApp;
                publicationBaseParams = {
                  pSetup: pSetup,
                  machine: machine,
                  paperName: extraParams.paperName,
                  external: external && pSetup !== mainPSetup
                };

                if (!(pSetup && pSetup !== this.activePSetup)) {
                  _context3.next = 19;
                  break;
                }

                if (!machineToUse && isGenericApp) {
                  _this$getActivePSetup = this.getActivePSetupConfig();
                  machineToUse = _this$getActivePSetup.machine;
                }

                if (!external && !isGenericApp && !global.isTaAddon()) {
                  xpSetup = pSetup;

                  if (pSetup.indexOf("-xp-") !== -1) {
                    _pSetupArray = pSetup.split("-xp-");

                    if (_pSetupArray.length > 1) {
                      xpSetup = _pSetupArray[1];
                    }
                  }

                  pSetupArray = this.activePSetup.split("-xp-");

                  if (pSetupArray.length > 1) {
                    if (pSetupArray[0] !== xpSetup) {
                      pSetupToUse = pSetupArray[0] + "-xp-" + xpSetup;
                    }
                  } else {
                    pSetupToUse = this.activePSetup + "-xp-" + xpSetup;
                  }
                }

                _context3.next = 13;
                return _regenerator.default.awrap(this.init(pSetupToUse, machineToUse, extraParams));

              case 13:
                _await$this$init = _context3.sent;
                success = _await$this$init.success;
                fromServer = _await$this$init.fromServer;

                if (success) {
                  this.setCurrentPublication(publicationBaseParams);
                  activeConfig = this.getActivePSetupConfig();
                  activeConfig.setExternal(publicationBaseParams.external);
                }

                _context3.next = 28;
                break;

              case 19:
                publicationsManager = global.getPublicationsManager();

                if (!publicationsManager.getCurrentPublication()) {
                  this.setCurrentPublication(publicationBaseParams);
                }

                preview = extraParams.preview, oneTimeToken = extraParams.oneTimeToken;

                if (!(preview || oneTimeToken)) {
                  _context3.next = 28;
                  break;
                }

                _context3.next = 25;
                return _regenerator.default.awrap(this.init(pSetupToUse, machineToUse, extraParams));

              case 25:
                _await$this$init2 = _context3.sent;
                success = _await$this$init2.success;
                fromServer = _await$this$init2.fromServer;

              case 28:
                return _context3.abrupt("return", {
                  config: success ? this.getActivePSetupConfig() : null,
                  fromServer: fromServer
                });

              case 29:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "reload",
      value: function reload(extraParams) {
        var _this$getActivePSetup2, pSetup, machine, result;

        return _regenerator.default.async(function reload$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                _this$getActivePSetup2 = this.getActivePSetupConfig(), pSetup = _this$getActivePSetup2.pSetup, machine = _this$getActivePSetup2.machine;
                _context4.next = 3;
                return _regenerator.default.awrap(this.init(pSetup, machine, extraParams));

              case 3:
                result = _context4.sent;
                return _context4.abrupt("return", result);

              case 5:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "setActivePSetup",
      value: function setActivePSetup(pSetup) {
        this.activePSetup = pSetup;
      }
    }, {
      key: "resetActivePSetup",
      value: function resetActivePSetup() {
        this.activePSetup = PaperSetupManager.getMainPSetup();
      }
    }, {
      key: "getActivePSetup",
      value: function getActivePSetup() {
        return this.activePSetup;
      }
    }, {
      key: "setPSetupConfig",
      value: function setPSetupConfig(pSetup, pSetupConfig) {
        this.pSetups[pSetup] = pSetupConfig;
      }
    }, {
      key: "getPSetupConfig",
      value: function getPSetupConfig(pSetup) {
        if (pSetup) {
          if (this.pSetups[pSetup]) {
            return this.pSetups[pSetup];
          }
        } else {}

        return {};
      }
    }, {
      key: "getMainPSetupConfig",
      value: function getMainPSetupConfig() {
        return this.getPSetupConfig(PaperSetupManager.getMainPSetup());
      }
    }, {
      key: "getActivePSetupConfig",
      value: function getActivePSetupConfig() {
        return this.getPSetupConfig(this.getActivePSetup());
      }
    }, {
      key: "getRSSActivePSetupConfig",
      value: function getRSSActivePSetupConfig() {
        var activePSetupConfig = this.getActivePSetupConfig();
        var activeRssIsEnabled = activePSetupConfig.rssIsEnabled,
            activePSetup = activePSetupConfig.pSetup;

        if (activeRssIsEnabled) {
          var pSetupArray = activePSetup.split("-xp-");

          if (pSetupArray.length > 1) {
            var mainActivePSetup = this.getPSetupConfig(pSetupArray[0]);

            if (!_$$_REQUIRE(_dependencyMap[8]).JSUtils.isEmpty(mainActivePSetup)) {
              return mainActivePSetup;
            }
          } else {
            return activePSetupConfig;
          }
        }

        return this.getMainPSetupConfig();
      }
    }], [{
      key: "getMainPSetup",
      value: function getMainPSetup() {
        return global.getAppPSetup();
      }
    }, {
      key: "getMachine",
      value: function getMachine() {
        return global.getAppServer();
      }
    }, {
      key: "isGenericAppConfigured",
      value: function isGenericAppConfigured() {
        var _global$getMainPSetup = global.getMainPSetup(),
            isGenericApp = _global$getMainPSetup.isGenericApp,
            publicationsPageURL = _global$getMainPSetup.publicationsPageURL;

        return isGenericApp && !!publicationsPageURL;
      }
    }, {
      key: "download",
      value: function download() {
        var params,
            fromServer,
            oneTimeToken,
            fromCache,
            otherParams,
            pSetup,
            machine,
            preview,
            deepLinkParamsPresent,
            storageKey,
            json,
            newsmemoryConfig,
            _json,
            udb,
            newJson,
            _args5 = arguments;

        return _regenerator.default.async(function download$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                params = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : {
                  pSetup: PaperSetupManager.getMainPSetup(),
                  machine: PaperSetupManager.getMachine(),
                  fromCache: false
                };
                fromServer = false;
                oneTimeToken = params.oneTimeToken, fromCache = params.fromCache, otherParams = (0, _objectWithoutProperties2.default)(params, ["oneTimeToken", "fromCache"]);
                pSetup = otherParams.pSetup, machine = otherParams.machine, preview = otherParams.preview;
                deepLinkParamsPresent = preview || oneTimeToken;
                storageKey = pSetup + "-" + machine;
                _context5.next = 8;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[8]).StorageUtils.multiGet(storageKey));

              case 8:
                json = _context5.sent;

                if (!(_$$_REQUIRE(_dependencyMap[8]).NetworkUtils.isOnline() && (_$$_REQUIRE(_dependencyMap[8]).JSUtils.isEmpty(json) || !_$$_REQUIRE(_dependencyMap[8]).JSUtils.hasProperty(json, "layoutStyle") || !fromCache || deepLinkParamsPresent))) {
                  _context5.next = 23;
                  break;
                }

                if (_$$_REQUIRE(_dependencyMap[8]).JSUtils.isEmpty(json)) {
                  _context5.next = 19;
                  break;
                }

                newsmemoryConfig = global.getNewsmemoryConfig();
                _json = json, udb = _json.udb;
                _context5.next = 15;
                return _regenerator.default.awrap(newsmemoryConfig.getPrefEdi(udb));

              case 15:
                otherParams.prefEdi = _context5.sent;
                _context5.next = 18;
                return _regenerator.default.awrap(newsmemoryConfig.getFavEdi());

              case 18:
                otherParams.favEdi = _context5.sent;

              case 19:
                _context5.next = 21;
                return _regenerator.default.awrap(_PaperSetupService.default.getJson(otherParams));

              case 21:
                newJson = _context5.sent;

                if (!_$$_REQUIRE(_dependencyMap[8]).JSUtils.isEmpty(newJson)) {
                  json = newJson;

                  _$$_REQUIRE(_dependencyMap[8]).StorageUtils.clearAll(storageKey).then(function () {
                    return _$$_REQUIRE(_dependencyMap[8]).StorageUtils.multiSet(storageKey, newJson);
                  });

                  fromServer = true;
                }

              case 23:
                return _context5.abrupt("return", {
                  json: json || {},
                  fromServer: fromServer
                });

              case 24:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return PaperSetupManager;
  }();

  exports.PaperSetupManager = PaperSetupManager;
},1849,[5,80,108,7,8,1850,1722,717,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var api = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var parser = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var PaperSetupService = function () {
    function PaperSetupService() {
      (0, _classCallCheck2.default)(this, PaperSetupService);
    }

    (0, _createClass2.default)(PaperSetupService, null, [{
      key: "getJson",
      value: function getJson(params) {
        var data;
        return _regenerator.default.async(function getJson$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return _regenerator.default.awrap(api.getDataFromApiResponse(params));

              case 2:
                data = _context.sent;
                return _context.abrupt("return", parser.parse(data));

              case 4:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return PaperSetupService;
  }();

  exports.default = PaperSetupService;
},1850,[5,80,7,8,1851,1852]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getDataFromApiResponse = getDataFromApiResponse;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _Api = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function getDataFromApiResponse(params) {
    var result;
    return _regenerator.default.async(function getDataFromApiResponse$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            result = "";
            _context.prev = 1;
            _context.next = 4;
            return _regenerator.default.awrap(_Api.default.requestWithRetry({
              request: _Api.default.pSetup,
              onRetry: function onRetry(retries, maxRetries) {
                _$$_REQUIRE(_dependencyMap[4]).EventRegister.emit(_events.default.PAPER_SETUP_API_RETRY, {
                  retryText: global.strings("msg_download_retry", {
                    retry: retries + 1,
                    maxRetries: maxRetries
                  })
                });
              }
            }, params));

          case 4:
            result = _context.sent;
            _context.next = 11;
            break;

          case 7:
            _context.prev = 7;
            _context.t0 = _context["catch"](1);

            if (!(_context.t0.response && _context.t0.response.status === _Api.HTTP_CODES.UNAUTHORIZED)) {
              _context.next = 11;
              break;
            }

            throw _context.t0;

          case 11:
            return _context.abrupt("return", result);

          case 12:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, [[1, 7]], Promise);
  }
},1851,[5,80,460,431,572]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.parse = parse;

  function parse() {
    var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
    var splitData = data.split("&");
    var json = {};

    for (var i = 0; i < splitData.length; i++) {
      try {
        var splitSetting = splitData[i].split("=");
        var key = splitSetting[0];

        if (key) {
          json[key] = _$$_REQUIRE(_dependencyMap[0]).StringUtils.decodeURIComponent(splitSetting[1]);
        }
      } catch (e) {}
    }

    return json;
  }
},1852,[462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Header = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Header = function (_BaseModel) {
    (0, _inherits2.default)(Header, _BaseModel);

    var _super = _createSuper(Header);

    function Header(json) {
      var _this;

      (0, _classCallCheck2.default)(this, Header);
      _this = _super.call(this, json);
      _this.header = new (_$$_REQUIRE(_dependencyMap[6]).Logo)(json.header);
      _this.hrTop = new (_$$_REQUIRE(_dependencyMap[7]).Hr)(json.hr.top);
      _this.hrBottom = new (_$$_REQUIRE(_dependencyMap[7]).Hr)(json.hr.bottom);
      _this.left = new (_$$_REQUIRE(_dependencyMap[8]).Section)(json.left);
      _this.right = new (_$$_REQUIRE(_dependencyMap[8]).Section)(json.right);
      _this.carMode = new (_$$_REQUIRE(_dependencyMap[8]).Section)(json.carMode);
      return _this;
    }

    (0, _createClass2.default)(Header, [{
      key: "getHrBottom",
      value: function getHrBottom() {
        return this.hrBottom || {};
      }
    }, {
      key: "getHrTop",
      value: function getHrTop() {
        return this.hrTop || {};
      }
    }, {
      key: "getLogo",
      value: function getLogo() {
        return this.header;
      }
    }, {
      key: "getLeft",
      value: function getLeft() {
        return this.left;
      }
    }, {
      key: "getRight",
      value: function getRight() {
        return this.right;
      }
    }, {
      key: "getCarMode",
      value: function getCarMode() {
        return this.carMode;
      }
    }, {
      key: "getButtonByAction",
      value: function getButtonByAction(action) {
        var button;

        if (this.getLeft()) {
          button = this.getLeft().buttons.find(function (icon) {
            return icon.getAction() === action;
          });
        }

        if (!button && this.getRight()) {
          button = this.getRight().buttons.find(function (icon) {
            return icon.getAction() === action;
          });
        }

        return button;
      }
    }]);
    return Header;
  }(_$$_REQUIRE(_dependencyMap[9]).BaseModel);

  exports.Header = Header;
},1853,[5,7,8,12,14,16,1854,1855,1856,1844]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Logo = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Logo = function (_BaseModel) {
    (0, _inherits2.default)(Logo, _BaseModel);

    var _super = _createSuper(Logo);

    function Logo(obj) {
      var _this;

      (0, _classCallCheck2.default)(this, Logo);
      _this = _super.call(this, obj);
      _this.url = _this.getValueByKey("url");
      _this.action = _this.getValueByKey("function", "openIndex");
      _this.padding = _this.getValueByKey("padding", "").split(",").map(function (item) {
        return parseInt(item, 10);
      });
      _this.alignment = _this.getValueByKey("alignment", "left");
      return _this;
    }

    (0, _createClass2.default)(Logo, [{
      key: "getUrl",
      value: function getUrl() {
        return this.url;
      }
    }, {
      key: "setUrl",
      value: function setUrl(url) {
        this.url = url;
      }
    }, {
      key: "getAction",
      value: function getAction() {
        return this.action;
      }
    }, {
      key: "getPadding",
      value: function getPadding() {
        return this.padding;
      }
    }, {
      key: "getAlignment",
      value: function getAlignment() {
        return this.alignment;
      }
    }]);
    return Logo;
  }(_$$_REQUIRE(_dependencyMap[6]).BaseModel);

  exports.Logo = Logo;
},1854,[5,7,8,12,14,16,1844]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Hr = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Hr = function (_BaseModel) {
    (0, _inherits2.default)(Hr, _BaseModel);

    var _super = _createSuper(Hr);

    function Hr(obj) {
      var _this;

      (0, _classCallCheck2.default)(this, Hr);
      _this = _super.call(this, obj);

      _this.setColor();

      _this.setHeight();

      return _this;
    }

    (0, _createClass2.default)(Hr, [{
      key: "setHeight",
      value: function setHeight() {
        this.height = parseInt(this.getValueByKey("height", "1"), 10);
      }
    }, {
      key: "setColor",
      value: function setColor() {
        this.color = this.getValueByKey("color", _$$_REQUIRE(_dependencyMap[6]).colors.black);
      }
    }, {
      key: "getHeight",
      value: function getHeight() {
        return this.height;
      }
    }, {
      key: "getColor",
      value: function getColor() {
        return this.color.length ? this.color : _$$_REQUIRE(_dependencyMap[6]).colors.black;
      }
    }]);
    return Hr;
  }(_$$_REQUIRE(_dependencyMap[7]).BaseModel);

  exports.Hr = Hr;
},1855,[5,7,8,12,14,16,462,1844]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Section = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Section = function (_BaseModel) {
    (0, _inherits2.default)(Section, _BaseModel);

    var _super = _createSuper(Section);

    function Section(section) {
      var _this;

      (0, _classCallCheck2.default)(this, Section);
      _this = _super.call(this, section);

      _this.setButtons();

      _this.setColor();

      _this.setHoverText();

      _this.setSize();

      return _this;
    }

    (0, _createClass2.default)(Section, [{
      key: "getButtons",
      value: function getButtons() {
        return this.buttons;
      }
    }, {
      key: "getReverseButtons",
      value: function getReverseButtons() {
        var newButtons = [];
        this.buttons.forEach(function (button) {
          newButtons.splice(0, 0, button);
        });
        return newButtons;
      }
    }, {
      key: "getColor",
      value: function getColor() {
        return this.color;
      }
    }, {
      key: "getHoverText",
      value: function getHoverText() {
        return this.hoverText;
      }
    }, {
      key: "getTextSize",
      value: function getTextSize() {
        return this.textSize;
      }
    }, {
      key: "setHoverText",
      value: function setHoverText() {
        this.hoverText = this.getValueByKey("hoverText", "");
      }
    }, {
      key: "setSize",
      value: function setSize() {
        this.textSize = parseInt(this.getValueByKey("size", "20"), 10);
      }
    }, {
      key: "setColor",
      value: function setColor() {
        this.color = this.getValueByKey("color", _$$_REQUIRE(_dependencyMap[6]).colors.black);
      }
    }, {
      key: "setButtons",
      value: function setButtons() {
        this.buttons = this.getArrayByKey("buttons").map(function (button) {
          return new (_$$_REQUIRE(_dependencyMap[7]).ArticleIcon)(button);
        });
      }
    }]);
    return Section;
  }(_$$_REQUIRE(_dependencyMap[8]).BaseModel);

  exports.Section = Section;
},1856,[5,7,8,12,14,16,462,1857,1844]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.ArticleIcon = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ArticleIcon = function (_Icon) {
    (0, _inherits2.default)(ArticleIcon, _Icon);

    var _super = _createSuper(ArticleIcon);

    function ArticleIcon(json) {
      (0, _classCallCheck2.default)(this, ArticleIcon);
      return _super.call(this, json, "article-header");
    }

    return ArticleIcon;
  }(_$$_REQUIRE(_dependencyMap[5]).Icon);

  exports.ArticleIcon = ArticleIcon;
},1857,[5,7,12,14,16,1805]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Navigation = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Navigation = function (_BaseModel) {
    (0, _inherits2.default)(Navigation, _BaseModel);

    var _super = _createSuper(Navigation);

    function Navigation(json) {
      var _this;

      (0, _classCallCheck2.default)(this, Navigation);
      _this = _super.call(this, json);
      _this.back = new (_$$_REQUIRE(_dependencyMap[6]).Section)(json.back);
      _this.forward = new (_$$_REQUIRE(_dependencyMap[6]).Section)(json.forward);
      return _this;
    }

    (0, _createClass2.default)(Navigation, [{
      key: "getBack",
      value: function getBack() {
        return this.back;
      }
    }, {
      key: "getForward",
      value: function getForward() {
        return this.forward;
      }
    }, {
      key: "getButtonByAction",
      value: function getButtonByAction(action) {
        var button;

        if (this.getBack()) {
          button = this.getBack().buttons.find(function (icon) {
            return icon.getAction() === action;
          });
        }

        if (!button && this.getForward()) {
          button = this.getForward().buttons.find(function (icon) {
            return icon.getAction() === action;
          });
        }

        return button;
      }
    }]);
    return Navigation;
  }(_$$_REQUIRE(_dependencyMap[7]).BaseModel);

  exports.Navigation = Navigation;
},1858,[5,7,8,12,14,16,1856,1844]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.DEFAULT_MAX_NUMBER_OF_EDITION_TO_KEEP = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _i18nJs = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _NewsmemoryHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _NewsmemoryAJAX = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _IAPHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _OptionalPackages$get = _optionalPackageUtils.default.getNativeOptionsPage(),
      Methods = _OptionalPackages$get.Methods;

  var DEFAULT_MAX_NUMBER_OF_EDITION_TO_KEEP = 4;
  exports.DEFAULT_MAX_NUMBER_OF_EDITION_TO_KEEP = DEFAULT_MAX_NUMBER_OF_EDITION_TO_KEEP;
  var _NewsmemoryHelper$SP = _NewsmemoryHelper.default.SP,
      paper = _NewsmemoryHelper$SP.paper,
      keys = _NewsmemoryHelper$SP.keys,
      values = _NewsmemoryHelper$SP.values;

  var NewsmemoryConfig = function () {
    function NewsmemoryConfig() {
      (0, _classCallCheck2.default)(this, NewsmemoryConfig);
    }

    (0, _createClass2.default)(NewsmemoryConfig, [{
      key: "init",
      value: function init() {
        var _global$getActivePSet, defaultConnectivity, defaultSingleTapToZoom, defaultTwoFingersTapToArticle, articleModeDefaultFullscreenPortrait, articleModeDefaultFullscreenLandscape, cdnEnabled, cdnServer, udb, twoFingersTapHintEnabled, defaultShowTypesArticle, translationAvailable, defaultEPaperStartMode, defaultPagesNavigationButtonsLayout, defaultColumnView, defaultBackgroundTimerArticleSelected, defaultBackgroundDurationArticleSelected, defaultFavoriteEdition, enableTabIndexMode, mgr, _mgr;

        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _global$getActivePSet = global.getActivePSetup(), defaultConnectivity = _global$getActivePSet.defaultConnectivity, defaultSingleTapToZoom = _global$getActivePSet.singleTapToZoom, defaultTwoFingersTapToArticle = _global$getActivePSet.twoFingersTapToArticle, articleModeDefaultFullscreenPortrait = _global$getActivePSet.articleModeDefaultFullscreenPortrait, articleModeDefaultFullscreenLandscape = _global$getActivePSet.articleModeDefaultFullscreenLandscape, cdnEnabled = _global$getActivePSet.cdnEnabled, cdnServer = _global$getActivePSet.cdnServer, udb = _global$getActivePSet.udb, twoFingersTapHintEnabled = _global$getActivePSet.twoFingersTapHintEnabled, defaultShowTypesArticle = _global$getActivePSet.showTypesArticle, translationAvailable = _global$getActivePSet.translationAvailable, defaultEPaperStartMode = _global$getActivePSet.epaperStartMode, defaultPagesNavigationButtonsLayout = _global$getActivePSet.pagesNavigationButtonsLayout, defaultColumnView = _global$getActivePSet.columnView, defaultBackgroundTimerArticleSelected = _global$getActivePSet.backgroundTimerArticleSelected, defaultBackgroundDurationArticleSelected = _global$getActivePSet.backgroundDurationArticleSelected, defaultFavoriteEdition = _global$getActivePSet.favoriteEdition, enableTabIndexMode = _global$getActivePSet.enableTabIndexMode;
                _context.next = 3;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.network));

              case 3:
                _context.t1 = _context.sent;

                if (_context.t1) {
                  _context.next = 6;
                  break;
                }

                _context.t1 = defaultConnectivity;

              case 6:
                _context.t0 = _context.t1;

                if (_context.t0) {
                  _context.next = 9;
                  break;
                }

                _context.t0 = _$$_REQUIRE(_dependencyMap[12]).DownloadType.MID_AND_LOW;

              case 9:
                this.network = _context.t0;
                _context.next = 12;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.network_timestamp));

              case 12:
                _context.t2 = _context.sent;

                if (_context.t2) {
                  _context.next = 15;
                  break;
                }

                _context.t2 = "";

              case 15:
                this.networkTimestamp = _context.t2;
                _context.t4 = parseInt;
                _context.next = 19;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.limit));

              case 19:
                _context.t5 = _context.sent;
                _context.t3 = (0, _context.t4)(_context.t5, 10);

                if (_context.t3) {
                  _context.next = 23;
                  break;
                }

                _context.t3 = DEFAULT_MAX_NUMBER_OF_EDITION_TO_KEEP;

              case 23:
                this.limit = _context.t3;
                _context.t7 = parseInt;
                _context.next = 27;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.connectivity));

              case 27:
                _context.t8 = _context.sent;
                _context.t6 = (0, _context.t7)(_context.t8, 10);

                if (_context.t6) {
                  _context.next = 31;
                  break;
                }

                _context.t6 = 0;

              case 31:
                this.connectivity = _context.t6;
                _context.next = 34;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.two_fingers_tap_to_article));

              case 34:
                _context.t9 = _context.sent;

                if (_context.t9) {
                  _context.next = 37;
                  break;
                }

                _context.t9 = defaultTwoFingersTapToArticle ? "1" : "0";

              case 37:
                _context.t10 = _context.t9;
                this.twoFingersTapToArticle = _context.t10 === "1";

                if (!this.twoFingersTapToArticle) {
                  _context.next = 49;
                  break;
                }

                _context.next = 42;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.single_tap_to_zoom));

              case 42:
                _context.t11 = _context.sent;

                if (_context.t11) {
                  _context.next = 45;
                  break;
                }

                _context.t11 = defaultSingleTapToZoom ? "1" : "0";

              case 45:
                _context.t12 = _context.t11;
                this.singleTapToZoom = _context.t12 === "1";
                _context.next = 50;
                break;

              case 49:
                this.singleTapToZoom = false;

              case 50:
                _context.t14 = parseInt;
                _context.next = 53;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.is_phone));

              case 53:
                _context.t15 = _context.sent;
                _context.t13 = (0, _context.t14)(_context.t15, 10);

                if (_context.t13) {
                  _context.next = 57;
                  break;
                }

                _context.t13 = !_$$_REQUIRE(_dependencyMap[13]).PlatformUtils.isTablet() ? 1 : 0;

              case 57:
                this.isIphone = _context.t13;
                _context.next = 60;
                return _regenerator.default.awrap(this.getValue(udb + "_" + paper.preferredEdition));

              case 60:
                _context.t16 = _context.sent;

                if (_context.t16) {
                  _context.next = 63;
                  break;
                }

                _context.t16 = "";

              case 63:
                this.prefEdi = _context.t16;
                _context.next = 66;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.favorite_edition));

              case 66:
                _context.t17 = _context.sent;

                if (_context.t17) {
                  _context.next = 69;
                  break;
                }

                _context.t17 = defaultFavoriteEdition;

              case 69:
                this.favoriteEdition = _context.t17;
                _context.next = 72;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.edition_from_calling));

              case 72:
                _context.t18 = _context.sent;

                if (_context.t18) {
                  _context.next = 75;
                  break;
                }

                _context.t18 = "";

              case 75:
                this.editionfromcalling = _context.t18;
                _context.next = 78;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.css_theme));

              case 78:
                _context.t19 = _context.sent;

                if (_context.t19) {
                  _context.next = 81;
                  break;
                }

                _context.t19 = "";

              case 81:
                this.cssTheme = _context.t19;
                _context.t21 = parseInt;
                _context.next = 85;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.last_op_time));

              case 85:
                _context.t22 = _context.sent;
                _context.t20 = (0, _context.t21)(_context.t22, 10);

                if (_context.t20) {
                  _context.next = 89;
                  break;
                }

                _context.t20 = 0;

              case 89:
                this.lastOperationTimestamp = _context.t20;
                _context.next = 92;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.show_download_tip));

              case 92:
                _context.t23 = _context.sent;

                if (_context.t23) {
                  _context.next = 95;
                  break;
                }

                _context.t23 = "1";

              case 95:
                _context.t24 = _context.t23;
                this.showDownloadTip = _context.t24 === "1";
                _context.next = 99;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.use_rn_demo));

              case 99:
                _context.t25 = _context.sent;

                if (_context.t25) {
                  _context.next = 102;
                  break;
                }

                _context.t25 = "";

              case 102:
                this.useRnDemo = _context.t25;
                _context.next = 105;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.use_rn_demo_timestamp));

              case 105:
                this.useRnDemoTimestamp = _context.sent;
                _context.next = 108;
                return _regenerator.default.awrap(this.getValue(keys.article_fullscreen_portrait));

              case 108:
                _context.t26 = _context.sent;

                if (_context.t26) {
                  _context.next = 111;
                  break;
                }

                _context.t26 = articleModeDefaultFullscreenPortrait;

              case 111:
                _context.t27 = _context.t26;
                _context.t28 = _context.t27 === "1";
                _context.next = 115;
                return _regenerator.default.awrap(this.getValue(keys.article_fullscreen_landscape));

              case 115:
                _context.t29 = _context.sent;

                if (_context.t29) {
                  _context.next = 118;
                  break;
                }

                _context.t29 = articleModeDefaultFullscreenLandscape;

              case 118:
                _context.t30 = _context.t29;
                _context.t31 = _context.t30 === "1";
                this.articleFullscreen = {
                  portrait: _context.t28,
                  landscape: _context.t31
                };
                _context.t33 = parseFloat;
                _context.next = 124;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.custom_scale_factor));

              case 124:
                _context.t34 = _context.sent;
                _context.t32 = (0, _context.t33)(_context.t34);

                if (_context.t32) {
                  _context.next = 128;
                  break;
                }

                _context.t32 = 1;

              case 128:
                this.customScaleCustom = _context.t32;
                _context.t36 = parseInt;
                _context.next = 132;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.graph_size));

              case 132:
                _context.t37 = _context.sent;
                _context.t35 = (0, _context.t36)(_context.t37, 10);

                if (_context.t35) {
                  _context.next = 136;
                  break;
                }

                _context.t35 = this.customScaleCustom * 100;

              case 136:
                this.graphSize = _context.t35;
                this.fontSize = this.getFontSize();
                this.cdnEnabled = cdnEnabled;
                this.cdnServer = cdnServer;
                this.dbDownloadPSetup = undefined;
                _context.next = 143;
                return _regenerator.default.awrap(this.getValue(keys.epaper_start_mode));

              case 143:
                _context.t38 = _context.sent;

                if (_context.t38) {
                  _context.next = 146;
                  break;
                }

                _context.t38 = defaultEPaperStartMode;

              case 146:
                this.epaperStartMode = _context.t38;
                _context.next = 149;
                return _regenerator.default.awrap(this.getValue(keys.epaper_start_mode_dont_show_again));

              case 149:
                _context.t39 = _context.sent;

                if (_context.t39) {
                  _context.next = 152;
                  break;
                }

                _context.t39 = "0";

              case 152:
                _context.t40 = _context.t39;
                this.epaperStartModeDontShowAgain = _context.t40 === "1";
                _context.next = 156;
                return _regenerator.default.awrap(this.getValue(keys.read_mode_enabled));

              case 156:
                _context.t41 = _context.sent;

                if (_context.t41) {
                  _context.next = 159;
                  break;
                }

                _context.t41 = this.shouldStartInReadMode() ? "1" : "0";

              case 159:
                _context.t42 = _context.t41;
                this.readModeEnabled = _context.t42 === "1";
                _context.next = 163;
                return _regenerator.default.awrap(this.getValue(udb + "_" + paper.accessibility_mode));

              case 163:
                _context.t43 = _context.sent;

                if (_context.t43) {
                  _context.next = 166;
                  break;
                }

                _context.t43 = "0";

              case 166:
                _context.t44 = _context.t43;
                this.accessibilityModeEnabled = _context.t44 === "1";
                this.archiveModeEnabled = false;

                if (!twoFingersTapHintEnabled) {
                  _context.next = 179;
                  break;
                }

                _context.next = 172;
                return _regenerator.default.awrap(this.getValue(keys.two_fingers_tap_hint_enabled));

              case 172:
                _context.t46 = _context.sent;

                if (_context.t46) {
                  _context.next = 175;
                  break;
                }

                _context.t46 = "1";

              case 175:
                _context.t47 = _context.t46;
                _context.t45 = _context.t47 === "1";
                _context.next = 180;
                break;

              case 179:
                _context.t45 = false;

              case 180:
                this.twoFingersTapHintEnabled = _context.t45;
                _context.t48 = parseInt;
                _context.next = 184;
                return _regenerator.default.awrap(this.getValue(keys.two_fingers_tap_hint_count));

              case 184:
                _context.t49 = _context.sent;

                if (_context.t49) {
                  _context.next = 187;
                  break;
                }

                _context.t49 = "0";

              case 187:
                _context.t50 = _context.t49;
                this.twoFingersTapHintCount = (0, _context.t48)(_context.t50, 10);
                _context.next = 191;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.show_types_article));

              case 191:
                _context.t51 = _context.sent;

                if (_context.t51) {
                  _context.next = 194;
                  break;
                }

                _context.t51 = defaultShowTypesArticle;

              case 194:
                this.showTypesArticle = _context.t51;
                _context.next = 197;
                return _regenerator.default.awrap(this.initTranslationsAvailable());

              case 197:
                this.translationsAvailable = _context.sent;
                this.currentTranslationLanguage = values.translation_disabled;

                if (!translationAvailable) {
                  _context.next = 209;
                  break;
                }

                _context.next = 202;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.current_translation_language));

              case 202:
                _context.t52 = _context.sent;

                if (_context.t52) {
                  _context.next = 205;
                  break;
                }

                _context.t52 = "";

              case 205:
                this.currentTranslationLanguage = _context.t52;

                if (this.currentTranslationLanguage && this.currentTranslationLanguage !== values.translation_disabled) {
                  mgr = global.getAudio();

                  if (mgr) {
                    mgr.setLanguage(this.currentTranslationLanguage);
                  }
                }

                _context.next = 215;
                break;

              case 209:
                _mgr = global.getAudio();

                if (_mgr) {
                  _mgr.setLocale(_i18nJs.default.locale);
                }

                _context.next = 213;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.removeItem(keys.current_translation_language));

              case 213:
                _context.next = 215;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.removeItem(keys.last_translation_language));

              case 215:
                _context.next = 217;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.last_translation_language));

              case 217:
                _context.t53 = _context.sent;

                if (_context.t53) {
                  _context.next = 220;
                  break;
                }

                _context.t53 = this.currentTranslationLanguage;

              case 220:
                this.lastTranslationLanguage = _context.t53;
                _context.next = 223;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.enable_article_extras));

              case 223:
                _context.t54 = _context.sent;

                if (_context.t54) {
                  _context.next = 226;
                  break;
                }

                _context.t54 = "1";

              case 226:
                _context.t55 = _context.t54;
                this.enableArticleExtras = _context.t55 === "1";
                _context.next = 230;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.pages_navigation_buttons_layout));

              case 230:
                _context.t56 = _context.sent;

                if (_context.t56) {
                  _context.next = 233;
                  break;
                }

                _context.t56 = defaultPagesNavigationButtonsLayout;

              case 233:
                this.pagesNavigationButtonsLayout = _context.t56;
                _context.t57 = parseInt;
                _context.next = 237;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.time_limit));

              case 237:
                _context.t58 = _context.sent;
                this.timeLimit = (0, _context.t57)(_context.t58, 10);
                _context.t59 = parseInt;
                _context.next = 242;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.column_view));

              case 242:
                _context.t60 = _context.sent;

                if (_context.t60) {
                  _context.next = 245;
                  break;
                }

                _context.t60 = defaultColumnView;

              case 245:
                _context.t61 = _context.t60;
                this.columnView = (0, _context.t59)(_context.t61, 10);
                _context.t62 = parseInt;
                _context.next = 250;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.background_timer_article_selected));

              case 250:
                _context.t63 = _context.sent;

                if (_context.t63) {
                  _context.next = 253;
                  break;
                }

                _context.t63 = defaultBackgroundTimerArticleSelected;

              case 253:
                _context.t64 = _context.t63;
                this.backgroundTimerArticleSelected = (0, _context.t62)(_context.t64, 10);
                _context.t65 = parseInt;
                _context.next = 258;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.background_duration_article_selected));

              case 258:
                _context.t66 = _context.sent;

                if (_context.t66) {
                  _context.next = 261;
                  break;
                }

                _context.t66 = defaultBackgroundDurationArticleSelected;

              case 261:
                _context.t67 = _context.t66;
                this.backgroundDurationArticleSelected = (0, _context.t65)(_context.t67, 10);

                if (!enableTabIndexMode) {
                  _context.next = 273;
                  break;
                }

                _context.next = 266;
                return _regenerator.default.awrap(this.getValue(keys.enable_tab_index_mode));

              case 266:
                _context.t68 = _context.sent;

                if (_context.t68) {
                  _context.next = 269;
                  break;
                }

                _context.t68 = "1";

              case 269:
                _context.t69 = _context.t68;
                this.enableTabIndexMode = _context.t69 === "1";
                _context.next = 274;
                break;

              case 273:
                this.enableTabIndexMode = false;

              case 274:
                return _context.abrupt("return", true);

              case 275:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "setValue",
      value: function setValue(key, value) {
        if (key === keys.css_theme) {
          this.setTheme(value).then(_NavigationService.default.restart);
        } else if (key === keys.current_translation_language) {
          if (value === values.no_translation) {
            this.resetCurrentTranslationLanguage();
          } else {
            this.setCurrentTranslationLanguage(value);
          }
        } else {
          var _global$getActivePSet2 = global.getActivePSetup(),
              udb = _global$getActivePSet2.udb,
              showNativeOptionsPage = _global$getActivePSet2.showNativeOptionsPage;

          if (key === keys.column_view || key === keys.background_timer_article_selected || key === keys.background_duration_article_selected) {
            this[key] = parseInt(value, 10);
          } else if (key === keys.single_tap_to_zoom || key === keys.two_fingers_tap_to_article || key === keys.epaper_start_mode_dont_show_again || key === keys.enable_article_extras || key === udb + "_" + paper.accessibility_mode || key === keys.enable_tab_index_mode) {
            var keyToUse = key.replace(udb + "_", "");
            this[keyToUse] = value === "1";
          } else {
            this[key] = value;
          }

          if (key === keys.font_size) {
            global.getUserSettings().setFontSize(value);
          } else {
            _NewsmemoryHelper.default.setItem(key, value);

            if (key === keys.epaper_start_mode) {
              this.setReadMode(value === _$$_REQUIRE(_dependencyMap[14]).NEWSMEMORY_START_MODE.READ);
            } else if (key === keys.network) {
              this.setNetworkTimestamp();
            } else if (key === keys.use_rn_demo) {
              this.setUseRnDemoTimestamp();
            } else if (key === keys.favorite_edition && showNativeOptionsPage && Methods) {
              var favoriteEdition = value;

              if (favoriteEdition) {
                favoriteEdition = favoriteEdition.split("|")[0];
              }

              Methods.setFavoriteEdition(favoriteEdition);
            }
          }
        }
      }
    }, {
      key: "setNetwork",
      value: function setNetwork(value) {
        this.network = value;

        _NewsmemoryHelper.default.setItem("network", value);

        this.setNetworkTimestamp();
      }
    }, {
      key: "setLimit",
      value: function setLimit(value) {
        this.limit = value;

        _NewsmemoryHelper.default.setItem("limit", "" + value);
      }
    }, {
      key: "setRNUseDemo",
      value: function setRNUseDemo(value) {
        if (value !== this.useRnDemo) {
          this.useRnDemo = value;
          var openRN = this.useRnDemo === "1";

          if (openRN) {
            _IAPHelper.default.registerReceiver();
          }

          _NavigationService.default.main.reset("NewsmemoryNavigator");

          _NewsmemoryHelper.default.setItem(_NewsmemoryHelper.default.SP.keys.use_rn_demo, value);

          (0, _$$_REQUIRE(_dependencyMap[15]).sendNewsmemoryUseBeta)(openRN);
          this.setUseRnDemoTimestamp();
        }
      }
    }, {
      key: "checkNetworkTimestamp",
      value: function checkNetworkTimestamp(pSetupTimestamp) {
        if (this.networkTimestamp && pSetupTimestamp && parseInt(this.networkTimestamp, 10) < parseInt(pSetupTimestamp, 10)) {
          this.setNetwork("");
        }
      }
    }, {
      key: "checkRnUseDemoTimestamp",
      value: function checkRnUseDemoTimestamp(pSetupTimestamp) {
        if (this.useRnDemoTimestamp && pSetupTimestamp && parseInt(this.useRnDemoTimestamp, 10) < parseInt(pSetupTimestamp, 10)) {
          this.resetRNUseDemo();
        }
      }
    }, {
      key: "resetRNUseDemo",
      value: function resetRNUseDemo() {
        this.useRnDemo = "";

        _NewsmemoryHelper.default.removeItem(_NewsmemoryHelper.default.SP.keys.use_rn_demo);

        this.setUseRnDemoTimestamp();
      }
    }, {
      key: "getValue",
      value: function getValue(key) {
        var value;
        return _regenerator.default.async(function getValue$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                value = this[key];

                if (key === keys.font_size) {
                  value = global.getUserSettings().fontSize;
                } else if (typeof value === "boolean") {
                  value = value ? "1" : "0";
                }

                if (!(value === null || value === undefined)) {
                  _context2.next = 8;
                  break;
                }

                _context2.next = 5;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(key));

              case 5:
                value = _context2.sent;
                _context2.next = 8;
                break;

              case 8:
                return _context2.abrupt("return", value);

              case 9:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "initTranslationsAvailable",
      value: function initTranslationsAvailable() {
        var result, saved, data;
        return _regenerator.default.async(function initTranslationsAvailable$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                result = [];
                _context3.next = 3;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.translations_available));

              case 3:
                saved = _context3.sent;

                if (saved && saved.length) {
                  try {
                    result = JSON.parse(saved);
                  } catch (e) {}
                }

                if (!(!result || result.length === 0)) {
                  _context3.next = 16;
                  break;
                }

                _context3.prev = 6;
                _context3.next = 9;
                return _regenerator.default.awrap(_NewsmemoryAJAX.default.translationsAvailable());

              case 9:
                data = _context3.sent;
                result = data.languages;

                _NewsmemoryHelper.default.setItem(keys.translations_available, JSON.stringify(result));

                _context3.next = 16;
                break;

              case 14:
                _context3.prev = 14;
                _context3.t0 = _context3["catch"](6);

              case 16:
                return _context3.abrupt("return", result);

              case 17:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, [[6, 14]], Promise);
      }
    }, {
      key: "resetTranslationAvailable",
      value: function resetTranslationAvailable() {
        return _regenerator.default.async(function resetTranslationAvailable$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                _context4.next = 2;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.removeItem(keys.translation_available));

              case 2:
                _context4.next = 4;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.removeItem(keys.translations_available));

              case 4:
                _context4.next = 6;
                return _regenerator.default.awrap(this.initTranslationsAvailable());

              case 6:
                this.translationsAvailable = _context4.sent;

              case 7:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "isTranslationAvailable",
      value: function isTranslationAvailable() {
        var _global$getActivePSet3 = global.getActivePSetup(),
            translationAvailable = _global$getActivePSet3.translationAvailable;

        return translationAvailable && this.translationsAvailable && this.translationsAvailable.length > 0 && this.currentTranslationLanguage !== values.translation_disabled;
      }
    }, {
      key: "setCurrentTranslationLanguage",
      value: function setCurrentTranslationLanguage(language) {
        this.currentTranslationLanguage = language;
        this.lastTranslationLanguage = language;
        var mgr = global.getAudio();

        if (mgr && language !== values.translation_disabled) {
          mgr.setLanguage(language);
        }

        _NewsmemoryHelper.default.setItem(keys.current_translation_language, language);

        _NewsmemoryHelper.default.setItem(keys.last_translation_language, language);
      }
    }, {
      key: "setTheme",
      value: function setTheme(theme) {
        return _regenerator.default.async(function setTheme$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                this.cssTheme = theme;
                return _context5.abrupt("return", _NewsmemoryHelper.default.setItem(keys.css_theme, theme));

              case 2:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "resetCurrentTranslationLanguage",
      value: function resetCurrentTranslationLanguage() {
        var mgr;
        return _regenerator.default.async(function resetCurrentTranslationLanguage$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                this.currentTranslationLanguage = "";
                mgr = global.getAudio();

                if (mgr) {
                  mgr.setLocale(_i18nJs.default.locale);
                }

                _context6.next = 5;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.removeItem(keys.current_translation_language));

              case 5:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "removeValue",
      value: function removeValue(key) {
        this[key] = null;

        _NewsmemoryHelper.default.removeItem(key);
      }
    }, {
      key: "resetPrefEdi",
      value: function resetPrefEdi() {
        var _global$getActivePSet4 = global.getActivePSetup(),
            udb = _global$getActivePSet4.udb;

        this.removeValue(udb + "_" + paper.preferredEdition);
      }
    }, {
      key: "setFullscreen",
      value: function setFullscreen(fullscreen, isLandscape) {
        var localKey = "portrait";
        var key = keys.article_fullscreen_portrait;

        if (isLandscape) {
          localKey = "landscape";
          key = keys.article_fullscreen_landscape;
        }

        this.articleFullscreen[localKey] = fullscreen;

        _NewsmemoryHelper.default.setItem(key, fullscreen ? "1" : "0");
      }
    }, {
      key: "dontShowAgainDownloadTip",
      value: function dontShowAgainDownloadTip() {
        this.showDownloadTip = false;

        _NewsmemoryHelper.default.setItem(keys.show_download_tip, "0");
      }
    }, {
      key: "setNetworkTimestamp",
      value: function setNetworkTimestamp() {
        var networkTimestamp = _$$_REQUIRE(_dependencyMap[13]).DateUtils.getCurrentDateString();

        this.networkTimestamp = networkTimestamp;

        _NewsmemoryHelper.default.setItem(keys.network_timestamp, networkTimestamp);
      }
    }, {
      key: "setUseRnDemoTimestamp",
      value: function setUseRnDemoTimestamp() {
        var timestamp = _$$_REQUIRE(_dependencyMap[13]).DateUtils.getCurrentDateString();

        this.useRnDemoTimestamp = timestamp;

        _NewsmemoryHelper.default.setItem(keys.use_rn_demo_timestamp, timestamp);
      }
    }, {
      key: "setLastOperationTimestamp",
      value: function setLastOperationTimestamp() {
        if (_deviceUtils.default.isAppActive()) {
          var lastOperationTimestamp = new Date().getTime();
          this.lastOperationTimestamp = lastOperationTimestamp;

          _NewsmemoryHelper.default.setItem(keys.last_op_time, "" + lastOperationTimestamp);
        }
      }
    }, {
      key: "setGraphSize",
      value: function setGraphSize(graphSize) {
        this.graphSize = parseInt(graphSize, 10);

        _NewsmemoryHelper.default.setItem(keys.graph_size, "" + graphSize);
      }
    }, {
      key: "getGraphSize",
      value: function getGraphSize() {
        var allowFontScaling = global.getUserSettings().getAllowFontScaling();

        var scaleFactor = _$$_REQUIRE(_dependencyMap[13]).FontUtils.getSystemFontScaleFactor(allowFontScaling, _$$_REQUIRE(_dependencyMap[13]).PlatformUtils.info.fontScale);

        return parseInt(this.graphSize, 10) * scaleFactor;
      }
    }, {
      key: "toggleGraphSize",
      value: function toggleGraphSize() {
        var _this = this;

        var reverse = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
        var cycle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
        var graphSize = [75, 85, 100, 125, 150, 200, 250];
        var index = graphSize.findIndex(function (element) {
          return element === parseInt(_this.graphSize, 10);
        });
        var size;

        if (!reverse) {
          if (index + 1 === graphSize.length) {
            size = graphSize[cycle ? 0 : index];
          } else {
            size = graphSize[index + 1];
          }
        }

        if (reverse) {
          if (index - 1 === -1) {
            size = graphSize[cycle ? graphSize.length - 1 : index];
          } else {
            size = graphSize[index - 1];
          }
        }

        this.setGraphSize(size);

        _$$_REQUIRE(_dependencyMap[16]).EventRegister.emit(_events.default.TOGGLE_NEWSMEMORY_GRAPH_SIZE);

        _$$_REQUIRE(_dependencyMap[16]).EventRegister.emit(_events.default.ARTICLE_GRAPHIC_ZOOM_CHANGE);

        return size;
      }
    }, {
      key: "getFontSize",
      value: function getFontSize() {
        return global.getUserSettings().fontSize;
      }
    }, {
      key: "setCDNEnabled",
      value: function setCDNEnabled(enabled) {
        this.cdnEnabled = enabled;
      }
    }, {
      key: "setCDNServer",
      value: function setCDNServer(server) {
        this.cdnServer = server;
      }
    }, {
      key: "setDBDownloadPSetup",
      value: function setDBDownloadPSetup(pSetup) {
        this.dbDownloadPSetup = pSetup;
      }
    }, {
      key: "resetDBDownloadPSetup",
      value: function resetDBDownloadPSetup() {
        this.dbDownloadPSetup = undefined;
      }
    }, {
      key: "setLayout",
      value: function setLayout(pSetup, layout) {
        _NewsmemoryHelper.default.setItem(keys.layout + "_" + pSetup, JSON.stringify(layout));
      }
    }, {
      key: "setReadMode",
      value: function setReadMode(enabled) {
        this.readModeEnabled = enabled;

        _NewsmemoryHelper.default.setItem(keys.read_mode_enabled, enabled ? "1" : "0");
      }
    }, {
      key: "setAccessibilityMode",
      value: function setAccessibilityMode(enabled) {
        var _global$getActivePSet5 = global.getActivePSetup(),
            udb = _global$getActivePSet5.udb;

        this.accessibilityModeEnabled = enabled;

        _NewsmemoryHelper.default.setItem(udb + "_" + paper.accessibility_mode, enabled ? "1" : "0");
      }
    }, {
      key: "setArchiveMode",
      value: function setArchiveMode(enabled) {
        this.archiveModeEnabled = enabled;
      }
    }, {
      key: "setShowTypesArticle",
      value: function setShowTypesArticle(showTypesArticle) {
        this.showTypesArticle = showTypesArticle;

        _NewsmemoryHelper.default.setItem(keys.show_types_article, showTypesArticle);
      }
    }, {
      key: "disableTwoFingersTapHint",
      value: function disableTwoFingersTapHint() {
        this.twoFingersTapHintEnabled = false;

        _NewsmemoryHelper.default.setItem(keys.two_fingers_tap_hint_enabled, "0");
      }
    }, {
      key: "shouldShowTwoFingersTapHint",
      value: function shouldShowTwoFingersTapHint() {
        var _global$getActivePSet6 = global.getActivePSetup(),
            twoFingersTapHintEnabled = _global$getActivePSet6.twoFingersTapHintEnabled,
            twoFingersTapMaxHints = _global$getActivePSet6.twoFingersTapMaxHints;

        if (twoFingersTapHintEnabled && this.twoFingersTapHintEnabled) {
          if (this.twoFingersTapHintCount < twoFingersTapMaxHints) {
            this.twoFingersTapHintCount += 1;

            _NewsmemoryHelper.default.setItem(keys.two_fingers_tap_hint_count, "" + this.twoFingersTapHintCount);

            return true;
          }

          this.disableTwoFingersTapHint();
        }

        return false;
      }
    }, {
      key: "shouldStartInReadMode",
      value: function shouldStartInReadMode() {
        return this.epaperStartMode === _$$_REQUIRE(_dependencyMap[14]).NEWSMEMORY_START_MODE.READ;
      }
    }, {
      key: "shouldStartInBrowseMode",
      value: function shouldStartInBrowseMode() {
        return this.epaperStartMode === _$$_REQUIRE(_dependencyMap[14]).NEWSMEMORY_START_MODE.SWIPE;
      }
    }, {
      key: "setEnableArticleExtras",
      value: function setEnableArticleExtras(enabled) {
        this.setValue(keys.enable_article_extras, enabled ? "1" : "0");
      }
    }, {
      key: "getLayout",
      value: function getLayout(pSetup) {
        return _regenerator.default.async(function getLayout$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                _context7.prev = 0;
                _context7.t0 = JSON;
                _context7.next = 4;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.layout + "_" + pSetup));

              case 4:
                _context7.t1 = _context7.sent;
                this.layout = _context7.t0.parse.call(_context7.t0, _context7.t1);
                _context7.next = 11;
                break;

              case 8:
                _context7.prev = 8;
                _context7.t2 = _context7["catch"](0);
                this.layout = {};

              case 11:
                return _context7.abrupt("return", this.layout);

              case 12:
              case "end":
                return _context7.stop();
            }
          }
        }, null, this, [[0, 8]], Promise);
      }
    }, {
      key: "isArticleModeShowOnlyText",
      value: function isArticleModeShowOnlyText() {
        return this.showTypesArticle === _$$_REQUIRE(_dependencyMap[14]).SHOW_TYPES_ARTICLE.ONLY_TEXT;
      }
    }, {
      key: "isArticleModeShowTextAndGraph",
      value: function isArticleModeShowTextAndGraph() {
        return this.showTypesArticle === _$$_REQUIRE(_dependencyMap[14]).SHOW_TYPES_ARTICLE.TEXT_AND_GRAPH;
      }
    }, {
      key: "isArticleModeShowAll",
      value: function isArticleModeShowAll() {
        return this.showTypesArticle === _$$_REQUIRE(_dependencyMap[14]).SHOW_TYPES_ARTICLE.ALL;
      }
    }, {
      key: "pagesNavigationButtonsHidden",
      value: function pagesNavigationButtonsHidden() {
        return this.pagesNavigationButtonsLayout === _$$_REQUIRE(_dependencyMap[14]).PAGES_NAVIGATION_BUTTONS_LAYOUT.HIDDEN;
      }
    }, {
      key: "pagesNavigationButtonsFixed",
      value: function pagesNavigationButtonsFixed() {
        return this.pagesNavigationButtonsLayout === _$$_REQUIRE(_dependencyMap[14]).PAGES_NAVIGATION_BUTTONS_LAYOUT.FIXED;
      }
    }, {
      key: "pagesNavigationButtonsAnimated",
      value: function pagesNavigationButtonsAnimated() {
        return this.pagesNavigationButtonsLayout === _$$_REQUIRE(_dependencyMap[14]).PAGES_NAVIGATION_BUTTONS_LAYOUT.ANIMATED;
      }
    }, {
      key: "getFavEdiSync",
      value: function getFavEdiSync() {
        if (this.favoriteEdition) {
          return this.favoriteEdition.split("|")[0];
        }

        return undefined;
      }
    }, {
      key: "getFavEdi",
      value: function getFavEdi() {
        return _regenerator.default.async(function getFavEdi$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                if (this.favoriteEdition) {
                  _context8.next = 7;
                  break;
                }

                _context8.next = 3;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.favorite_edition));

              case 3:
                _context8.t0 = _context8.sent;

                if (_context8.t0) {
                  _context8.next = 6;
                  break;
                }

                _context8.t0 = "";

              case 6:
                this.favoriteEdition = _context8.t0;

              case 7:
                return _context8.abrupt("return", this.getFavEdiSync());

              case 8:
              case "end":
                return _context8.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getFavEdiPSetupSync",
      value: function getFavEdiPSetupSync() {
        if (this.favoriteEdition) {
          var favEdiPSplit = this.favoriteEdition.split("|");

          if (favEdiPSplit.length > 1) {
            return favEdiPSplit[1];
          }
        }

        return undefined;
      }
    }, {
      key: "getFavEdiPSetup",
      value: function getFavEdiPSetup() {
        return _regenerator.default.async(function getFavEdiPSetup$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                if (this.favoriteEdition) {
                  _context9.next = 7;
                  break;
                }

                _context9.next = 3;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(keys.favorite_edition));

              case 3:
                _context9.t0 = _context9.sent;

                if (_context9.t0) {
                  _context9.next = 6;
                  break;
                }

                _context9.t0 = "";

              case 6:
                this.favoriteEdition = _context9.t0;

              case 7:
                return _context9.abrupt("return", this.getFavEdiPSetupSync());

              case 8:
              case "end":
                return _context9.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getPrefEdi",
      value: function getPrefEdi(udb) {
        return _regenerator.default.async(function getPrefEdi$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                if (!(!this.prefEdi && udb)) {
                  _context10.next = 7;
                  break;
                }

                _context10.next = 3;
                return _regenerator.default.awrap(this.getValue(udb + "_" + paper.preferredEdition));

              case 3:
                _context10.t0 = _context10.sent;

                if (_context10.t0) {
                  _context10.next = 6;
                  break;
                }

                _context10.t0 = "";

              case 6:
                this.prefEdi = _context10.t0;

              case 7:
                return _context10.abrupt("return", this.prefEdi || undefined);

              case 8:
              case "end":
                return _context10.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "setEnableTabIndexMode",
      value: function setEnableTabIndexMode(enabled) {
        this.setValue(keys.enable_tab_index_mode, enabled ? "1" : "0");
      }
    }, {
      key: "clearAll",
      value: function clearAll() {
        var userSettings;
        return _regenerator.default.async(function clearAll$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                userSettings = global.getUserSettings();
                this.useRnDemo = undefined;
                this.useRnDemoTimestamp = undefined;
                this.network = undefined;
                this.networkTimestamp = undefined;
                this.limit = undefined;
                this.connectivity = undefined;
                this.singleTapToZoom = undefined;
                this.twoFingersTapToArticle = undefined;
                this.readModeEnabled = undefined;
                this.epaperStartMode = undefined;
                this.epaperStartModeDontShowAgain = undefined;
                this.isIphone = undefined;
                this.prefEdi = undefined;
                this.favoriteEdition = undefined;
                this.editionfromcalling = undefined;
                this.accessibilityModeEnabled = undefined;
                this.articleFullscreen = undefined;
                this.translationsAvailable = [];
                this.lastOperationTimestamp = undefined;
                this.showDownloadTip = undefined;
                this.graphSize = undefined;
                this.fontSize = undefined;
                userSettings.setFontSize(100);
                this.cdnEnabled = undefined;
                this.cdnServer = undefined;
                this.dbDownloadPSetup = undefined;
                this.layout = undefined;
                _context11.next = 30;
                return _regenerator.default.awrap(userSettings.resetLastEpaperLayoutConfig());

              case 30:
                this.twoFingersTapHintEnabled = undefined;
                this.twoFingersTapHintCount = undefined;
                this.showTypesArticle = undefined;
                this.currentTranslationLanguage = undefined;
                this.lastTranslationLanguage = undefined;
                this.enableArticleExtras = undefined;
                this.pagesNavigationButtonsLayout = undefined;
                this.columnView = undefined;
                this.backgroundTimerArticleSelected = undefined;
                this.backgroundDurationArticleSelected = undefined;
                this.enableTabIndexMode = undefined;
                return _context11.abrupt("return", _NewsmemoryHelper.default.clearAll());

              case 42:
              case "end":
                return _context11.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "reset",
      value: function reset() {
        return _regenerator.default.async(function reset$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                _context12.next = 2;
                return _regenerator.default.awrap(this.clearAll());

              case 2:
                _context12.next = 4;
                return _regenerator.default.awrap(this.init());

              case 4:
              case "end":
                return _context12.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }]);
    return NewsmemoryConfig;
  }();

  exports.default = NewsmemoryConfig;
},1859,[5,80,7,8,1094,460,1860,458,430,1861,1934,731,603,462,717,1954,572]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var NewsmemoryHelper = function () {
    function NewsmemoryHelper() {
      (0, _classCallCheck2.default)(this, NewsmemoryHelper);
    }

    (0, _createClass2.default)(NewsmemoryHelper, null, [{
      key: "getItem",
      value: function getItem(key) {
        return _regenerator.default.async(function getItem$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.getItem(NewsmemoryHelper.SP.name, key));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setItem",
      value: function setItem(key, value) {
        return _regenerator.default.async(function setItem$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _$$_REQUIRE(_dependencyMap[4]).StorageUtils.setItem(NewsmemoryHelper.SP.name, key, value);

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "removeItem",
      value: function removeItem(key) {
        return _regenerator.default.async(function removeItem$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                return _context3.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.clear(NewsmemoryHelper.SP.name, key));

              case 1:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "clearAll",
      value: function clearAll() {
        return _regenerator.default.async(function clearAll$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                return _context4.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.clearAll(NewsmemoryHelper.SP.name));

              case 1:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "dump",
      value: function dump() {
        return _regenerator.default.async(function dump$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                return _context5.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.multiGet(NewsmemoryHelper.SP.name));

              case 1:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return NewsmemoryHelper;
  }();

  exports.default = NewsmemoryHelper;
  NewsmemoryHelper.SP = {
    name: "newsmemory",
    keys: {
      network: "network",
      network_timestamp: "networkTimestamp",
      is_phone: "isIphone",
      connectivity: "connectivity",
      single_tap_to_zoom: "singleTapToZoom",
      two_fingers_tap_to_article: "twoFingersTapToArticle",
      limit: "limit",
      favorite_edition: "favoriteEdition",
      edition_from_calling: "editionfromcalling",
      css_theme: "cssTheme",
      article_fullscreen_portrait: "articleFullscreenPortrait",
      article_fullscreen_landscape: "articleFullscreenLandscape",
      last_op_time: "lastOperationTimestamp",
      show_download_tip: "showDownloadTip",
      use_rn_demo: "useRnDemo",
      use_rn_demo_timestamp: "useRnDemoTimestamp",
      custom_scale_factor: "customScaleFactor",
      graph_size: "graphSize",
      font_size: "fontSize",
      layout: "layout",
      read_mode_enabled: "articleBrowseModeEnabled",
      two_fingers_tap_hint_enabled: "twoFingersTapHintEnabled",
      two_fingers_tap_hint_count: "twoFingersTapHintCount",
      show_types_article: "showTypesArticle",
      translation_available: "translationAvailable",
      translations_available: "translationsAvailable",
      current_translation_language: "currentTranslationLanguage",
      last_translation_language: "lastTranslationLanguage",
      epaper_start_mode: "epaperStartMode",
      epaper_start_mode_dont_show_again: "epaperStartModeDontShowAgain",
      enable_article_extras: "enableArticleExtras",
      pages_navigation_buttons_layout: "pagesNavigationButtonsLayout",
      time_limit: "timelimit",
      column_view: "columnView",
      background_timer_article_selected: "backgroundTimerArticleSelected",
      background_duration_article_selected: "backgroundDurationArticleSelected",
      enable_tab_index_mode: "enableTabIndexMode"
    },
    values: {
      translation_disabled: "disabled",
      no_translation: "none"
    },
    paper: {
      lastMostRecentIssueOnServer: "lastMostRecentIssueOnServer",
      lastIssue: "lastIssue",
      lastEdition: "lastEdition",
      lastPageNumber: "lastPageNumber",
      lastArticleId: "lastArticleId",
      preferredEdition: "prefEdi",
      accessibility_mode: "accessibilityMode"
    }
  };
},1860,[5,80,7,8,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _Paywall = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  function closeDrawer(navigation) {
    if (navigation) {
      navigation.dispatch(_$$_REQUIRE(_dependencyMap[3]).DrawerActions.closeDrawer());
    }
  }

  function openDrawer(navigation) {
    if (navigation) {
      navigation.dispatch(_$$_REQUIRE(_dependencyMap[3]).DrawerActions.openDrawer());
    }
  }

  function navigate(navigation, routeName) {
    var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};

    if (navigation) {
      if (global.unauthorized) {
        routeName = "UnauthorizedScreen";
      }

      navigation.dispatch(_$$_REQUIRE(_dependencyMap[3]).CommonActions.navigate({
        name: routeName,
        params: params
      }));
    }
  }

  function reset(navigation, route) {
    var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};

    if (navigation) {
      if (global.unauthorized) {
        route = "UnauthorizedScreen";
      }

      var resetAction = _$$_REQUIRE(_dependencyMap[3]).CommonActions.reset({
        index: 0,
        routes: [{
          name: route,
          params: params
        }]
      });

      navigation.dispatch(resetAction);
    } else {}
  }

  var _navigator;

  function setMainNavigatorRef(navigatorRef) {
    _navigator = navigatorRef;
  }

  function navigateInMainNavigator(routeName, params) {
    var action = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
    navigate(_navigator, routeName, params);
  }

  function resetInMainNavigator(routeName, params) {
    var action = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
    reset(_navigator, routeName, params);
  }

  function goToMainNavigator(mainNavigator, params) {
    var action = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
    reset(_navigator, mainNavigator, params);
  }

  function restart() {
    _$$_REQUIRE(_dependencyMap[4]).MyBottomSheet.hide();

    _Paywall.default.remove();

    resetInMainNavigator("SplashScreen");
  }

  var _default = {
    main: {
      navigate: navigateInMainNavigator,
      setRef: setMainNavigatorRef,
      reset: goToMainNavigator
    },
    default: {
      navigate: navigate,
      reset: reset
    },
    drawer: {
      close: closeDrawer,
      open: openDrawer
    },
    restart: restart,
    navigator: {
      createStack: _$$_REQUIRE(_dependencyMap[5]).createNativeStackNavigator,
      createDrawer: _$$_REQUIRE(_dependencyMap[6]).createDrawerNavigator,
      createBottomTab: _$$_REQUIRE(_dependencyMap[7]).createBottomTabNavigator,
      createTopTab: _$$_REQUIRE(_dependencyMap[8]).createMaterialTopTabNavigator
    },
    getStackScreenOptions: function getStackScreenOptions() {
      return {
        orientation: _deviceUtils.default.orientationIsLocked ? _deviceUtils.default.lockedOrientation.toLowerCase() : "all",
        animation: _$$_REQUIRE(_dependencyMap[9]).PlatformUtils.isIOS() ? "default" : "none"
      };
    }
  };
  exports.default = _default;
},1861,[5,1862,458,1002,1904,1912,1139,1918,1930,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _PaywallHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _PaywallLoginStatus = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _PaywallAJAX = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Paywall = function () {
    function Paywall() {
      (0, _classCallCheck2.default)(this, Paywall);
    }

    (0, _createClass2.default)(Paywall, null, [{
      key: "initConfig",
      value: function initConfig() {
        var appId,
            config,
            _args = arguments;
        return _regenerator.default.async(function initConfig$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                appId = _args.length > 0 && _args[0] !== undefined ? _args[0] : global.getRssIndex().paywallAppId;

                _PaywallHelper.default.setStorageName("paywall_" + appId);

                _context.next = 4;
                return _regenerator.default.awrap(_PaywallHelper.default.getConfig());

              case 4:
                config = _context.sent;

                if (config) {
                  Paywall.config = config;
                }

              case 6:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setConfig",
      value: function setConfig(config) {
        Paywall.config = config;

        _PaywallHelper.default.setConfig(config);
      }
    }, {
      key: "init",
      value: function init() {
        var appId,
            strictMode,
            result,
            show_welcome_popup,
            sessionString,
            _args2 = arguments;
        return _regenerator.default.async(function init$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                appId = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : global.getRssIndex().paywallAppId;
                strictMode = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : false;

                if (!appId) {
                  _context2.next = 22;
                  break;
                }

                Paywall.appId = appId;
                _context2.next = 6;
                return _regenerator.default.awrap(Paywall.initConfig());

              case 6:
                _context2.next = 8;
                return _regenerator.default.awrap(_PaywallLoginStatus.default.initUserStatus());

              case 8:
                _PaywallAJAX.default.init(appId, _$$_REQUIRE(_dependencyMap[10]).baseVer, _$$_REQUIRE(_dependencyMap[10]).serverBaseDomain);

                Paywall.strictMode = strictMode;
                Paywall.registerToConnectivityChangeEvent();
                _context2.next = 13;
                return _regenerator.default.awrap(Paywall.isFirstProductsLeftPopupAlreadyShown());

              case 13:
                Paywall.firstProductsLeftPopupShown = _context2.sent;

                if (!_$$_REQUIRE(_dependencyMap[11]).NetworkUtils.isOnline()) {
                  _context2.next = 20;
                  break;
                }

                _context2.next = 17;
                return _regenerator.default.awrap(Paywall.downloadConfiguration());

              case 17:
                result = _context2.sent;

                if (Paywall.initialize) {
                  Paywall.checkOfflineAccessedProducts();

                  if (_PaywallLoginStatus.default.isUserLoggedIn()) {
                    if (_PaywallLoginStatus.default.isLoginInvalid()) {
                      Paywall.logout();
                    } else {
                      Paywall.validateUser();
                    }
                  } else {
                    Paywall.updateAccountLabel(false);

                    if (!Paywall.autoLogin()) {
                      show_welcome_popup = Paywall.config.show_welcome_popup;

                      if (show_welcome_popup == 1) {
                        if (!Paywall.isWelcomePopupAlreadyShown()) {
                          Paywall.welcome();
                        }
                      }
                    }
                  }
                }

                return _context2.abrupt("return", result);

              case 20:
                if (Paywall.config) {
                  sessionString = Paywall.config.sessionString;

                  if (sessionString) {
                    Paywall.initialize = true;
                    Paywall.updateAccountLabel(_PaywallLoginStatus.default.isUserLoggedIn());
                  }
                }

                return _context2.abrupt("return", true);

              case 22:
                return _context2.abrupt("return", false);

              case 23:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "checkOfflineAccessedProducts",
      value: function checkOfflineAccessedProducts() {
        return _regenerator.default.async(function checkOfflineAccessedProducts$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _context3.next = 2;
                return _regenerator.default.awrap(_PaywallHelper.default.getOfflineProductsList());

              case 2:
                Paywall.offlineAccessedProductsList = _context3.sent;

                if (Paywall.offlineAccessedProductsList && Paywall.offlineAccessedProductsList.length > 0) {
                  Paywall.offlineAccessedProductsList.forEach(function (ACI) {
                    Paywall.validate(ACI, false);
                  });
                  Paywall.offlineAccessedProductsList = [];

                  _PaywallHelper.default.setOfflineProductsList([]);
                }

              case 4:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "registerToConnectivityChangeEvent",
      value: function registerToConnectivityChangeEvent() {
        _$$_REQUIRE(_dependencyMap[12]).EventRegister.rm(Paywall.onConnectivityChange);

        Paywall.onConnectivityChange = _$$_REQUIRE(_dependencyMap[12]).EventRegister.on(_events.default.ON_CONNECTIVITY_CHANGE, function (_ref) {
          var online = _ref.online;

          if (online) {
            Paywall.checkOfflineAccessedProducts();
          }
        });
      }
    }, {
      key: "registerToNewsMemoryEvents",
      value: function registerToNewsMemoryEvents() {
        if (Paywall.loginListener) {
          Paywall.loginListener.remove();
        }

        if (Paywall.logoutListener) {
          Paywall.logoutListener.remove();
        }

        var IOSClassicEPaper = _optionalPackageUtils.default.getIOSClassicEPaper();

        if (IOSClassicEPaper) {
          Paywall.loginListener = IOSClassicEPaper.addListener(IOSClassicEPaper.NEWSMEMORY_LOGIN, function () {
            _PaywallLoginStatus.default.getUserStatus().then(function (status) {
              _PaywallLoginStatus.default.userStatus = status;
              Paywall.autoLogin();
            });
          });
          Paywall.logoutListener = IOSClassicEPaper.addListener(IOSClassicEPaper.NEWSMEMORY_LOGOUT, Paywall.logout);
        }
      }
    }, {
      key: "downloadConfiguration",
      value: function downloadConfiguration() {
        var outcome, _Paywall$config, sessionString, disable_paywall, user_info;

        return _regenerator.default.async(function downloadConfiguration$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                Paywall.initialize = false;
                Paywall.forceAutoLogin = true;
                _context4.next = 4;
                return _regenerator.default.awrap(Paywall.getAccessedProductsList());

              case 4:
                Paywall.accessedProductsList = _context4.sent;
                _context4.prev = 5;
                _context4.next = 8;
                return _regenerator.default.awrap(_PaywallAJAX.default.downloadConfiguration());

              case 8:
                outcome = _context4.sent;
                Paywall.setConfig(outcome);
                _Paywall$config = Paywall.config, sessionString = _Paywall$config.sessionString, disable_paywall = _Paywall$config.disable_paywall, user_info = _Paywall$config.user_info;

                if (!(disable_paywall == 1)) {
                  _context4.next = 13;
                  break;
                }

                return _context4.abrupt("return", true);

              case 13:
                if (!sessionString) {
                  _context4.next = 17;
                  break;
                }

                _PaywallAJAX.default.setSessionString(sessionString);

                Paywall.initialize = true;
                return _context4.abrupt("return", true);

              case 17:
                _context4.next = 21;
                break;

              case 19:
                _context4.prev = 19;
                _context4.t0 = _context4["catch"](5);

              case 21:
                return _context4.abrupt("return", false);

              case 22:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, [[5, 19]], Promise);
      }
    }, {
      key: "getProductType",
      value: function getProductType(ACI) {
        var _Paywall$config2 = Paywall.config,
            default_product_type = _Paywall$config2.default_product_type,
            products_rules = _Paywall$config2.products_rules;
        var productType = default_product_type;

        if (products_rules && products_rules.rules) {
          var _loop = function _loop(r) {
            var rule = products_rules.rules[r];
            var ruleSplit = rule.split(":");
            var condition = ruleSplit[0].trim();
            var currentProductType = ruleSplit[1].trim();
            var categoriesOR = [];
            var conditionORSplit = condition.split(" OR ");
            conditionORSplit.forEach(function (conditionOR) {
              var conditionANDSplit = conditionOR.split(" AND ");

              if (conditionANDSplit.length > 1) {
                categoriesOR.push(conditionANDSplit);
              } else {
                categoriesOR.push(conditionOR);
              }
            });

            for (var i = 0; i < categoriesOR.length; i++) {
              var categoryOR = categoriesOR[i];

              if (Array.isArray(categoryOR)) {
                var respectCondition = true;

                for (var j = 0; j < categoryOR.length; j++) {
                  var categoryAND = categoryOR[j];

                  if (!Paywall.checkRuleCondition(ACI, categoryAND)) {
                    respectCondition = false;
                    break;
                  }
                }

                if (respectCondition) {
                  productType = currentProductType;
                  break;
                }
              } else if (Paywall.checkRuleCondition(ACI, categoryOR)) {
                productType = currentProductType;
                break;
              }
            }
          };

          for (var r = 0; r < products_rules.rules.length; r++) {
            _loop(r);
          }
        } else {}

        return productType;
      }
    }, {
      key: "checkRuleCondition",
      value: function checkRuleCondition(ACI, condition) {
        var notCondition = condition.indexOf("NOT ") !== -1;

        if (notCondition) {
          condition = condition.replace("NOT ", "").trim();
        }

        try {
          var matches = ACI.match(new RegExp(condition)) !== null;
          return notCondition !== matches;
        } catch (e) {
          return false;
        }
      }
    }, {
      key: "isFreeProduct",
      value: function isFreeProduct(productType) {
        return productType === Paywall.config.free_product_type;
      }
    }, {
      key: "validate",
      value: function validate(ACI) {
        var showPopups,
            productType,
            outcome,
            sessionResult,
            validationResult,
            productsLeft,
            _global$getRssIndex,
            attachPaywallToArticle,
            _args5 = arguments;

        return _regenerator.default.async(function validate$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                showPopups = _args5.length > 1 && _args5[1] !== undefined ? _args5[1] : true;

                if (!Paywall.initialize) {
                  _context5.next = 36;
                  break;
                }

                productType = Paywall.getProductType(ACI);

                if (!(productType && !Paywall.isFreeProduct(productType) && !Paywall.isAlreadyAccessed(ACI))) {
                  _context5.next = 33;
                  break;
                }

                if (!_$$_REQUIRE(_dependencyMap[11]).NetworkUtils.isOnline()) {
                  _context5.next = 27;
                  break;
                }

                _context5.prev = 5;
                _context5.next = 8;
                return _regenerator.default.awrap(_PaywallAJAX.default.validate(ACI, productType));

              case 8:
                outcome = _context5.sent;
                return _context5.abrupt("return", Paywall.handleValidationSuccess(ACI, outcome, showPopups));

              case 12:
                _context5.prev = 12;
                _context5.t0 = _context5["catch"](5);

                if (!(_context5.t0 instanceof _PaywallAJAX.PaywallError && _context5.t0.getCode() === _$$_REQUIRE(_dependencyMap[10]).serverStatusCodes.SESSION_EXPIRED)) {
                  _context5.next = 25;
                  break;
                }

                _context5.next = 17;
                return _regenerator.default.awrap(Paywall.handleSessionExpired());

              case 17:
                sessionResult = _context5.sent;

                if (!sessionResult) {
                  _context5.next = 25;
                  break;
                }

                if (!Paywall.strictMode) {
                  _context5.next = 24;
                  break;
                }

                _context5.next = 22;
                return _regenerator.default.awrap(Paywall.validate(ACI, showPopups));

              case 22:
                validationResult = _context5.sent;
                return _context5.abrupt("return", validationResult);

              case 24:
                Paywall.validate(ACI, showPopups);

              case 25:
                _context5.next = 31;
                break;

              case 27:
                _context5.next = 29;
                return _regenerator.default.awrap(Paywall.getLastProductsLeft());

              case 29:
                productsLeft = _context5.sent;

                if (productsLeft && (productsLeft === _$$_REQUIRE(_dependencyMap[10]).UNLIMITED_ACCESS || productsLeft >= 0)) {
                  if (productsLeft !== _$$_REQUIRE(_dependencyMap[10]).UNLIMITED_ACCESS) {
                    Paywall.setLastProductsLeft(parseInt(productsLeft, 10) - 1);
                  }

                  Paywall.offlineAccessedProductsList.push(ACI);

                  _PaywallHelper.default.setOfflineProductsList(Paywall.offlineAccessedProductsList);

                  _$$_REQUIRE(_dependencyMap[12]).EventRegister.emit(_events.default.PAYWALL_VALIDATE, {
                    ACI: ACI,
                    validated: true
                  });
                } else {
                  Paywall.showOfflineDialog();

                  _$$_REQUIRE(_dependencyMap[12]).EventRegister.emit(_events.default.PAYWALL_GO_BACK_HOME);
                }

              case 31:
                _context5.next = 34;
                break;

              case 33:
                if (Paywall.isAlreadyAccessed(ACI)) {
                  _$$_REQUIRE(_dependencyMap[12]).EventRegister.emit(_events.default.PAYWALL_VALIDATE, {
                    ACI: ACI,
                    validated: true
                  });
                }

              case 34:
                _context5.next = 38;
                break;

              case 36:
                _global$getRssIndex = global.getRssIndex(), attachPaywallToArticle = _global$getRssIndex.attachPaywallToArticle;

                if (Paywall.shouldShowHardPaywall() && !attachPaywallToArticle) {
                  _$$_REQUIRE(_dependencyMap[12]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                    tab: _$$_REQUIRE(_dependencyMap[13]).tabs.account,
                    forceFullscreen: true
                  });
                } else {}

              case 38:
                return _context5.abrupt("return", true);

              case 39:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, [[5, 12]], Promise);
      }
    }, {
      key: "handleValidationSuccess",
      value: function handleValidationSuccess(ACI, outcome) {
        var showPopups = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
        var hasAccess = true;
        var productsLeft = outcome.productsLeft,
            productType = outcome.productType;
        var _Paywall$config3 = Paywall.config,
            show_first_products_left_popup = _Paywall$config3.show_first_products_left_popup,
            show_latest_products_left_popup = _Paywall$config3.show_latest_products_left_popup,
            show_period_products_left_popup = _Paywall$config3.show_period_products_left_popup,
            show_custom_products_left_popup = _Paywall$config3.show_custom_products_left_popup,
            show_paywall = _Paywall$config3.show_paywall;
        Paywall.setLastProductsLeft(productsLeft);

        if (productsLeft === _$$_REQUIRE(_dependencyMap[10]).UNLIMITED_ACCESS) {} else if (productsLeft >= 0) {
          var min_threshold = Paywall.config.min_threshold;

          if (productType && Paywall.config[productType] && Paywall.config[productType].min_threshold !== undefined) {
            min_threshold = Paywall.config[productType].min_threshold;
          }

          var period = parseInt(show_period_products_left_popup || 0, 10);
          var custom = !!show_custom_products_left_popup && show_custom_products_left_popup.split(",").reduce(function (prev, current) {
            return prev || parseInt(current, 10) === productsLeft;
          }, false);

          if (showPopups && (show_first_products_left_popup == 1 && !Paywall.firstProductsLeftPopupShown || show_latest_products_left_popup == 1 && productsLeft < min_threshold || period > 0 && productsLeft % period === 0 || custom)) {
            if (!Paywall.firstProductsLeftPopupShown) {
              Paywall.setFirstProductsLeftPopupAlreadyShown();
            }

            _$$_REQUIRE(_dependencyMap[14]).PaywallContainer.show({
              type: _$$_REQUIRE(_dependencyMap[10]).popupTypes.productsLeft,
              productsLeft: productsLeft,
              ACI: ACI
            });
          }
        } else {
          if (showPopups && show_paywall == 1) {
            if (Paywall.needToAppendPaywallPopup(ACI)) {
              _$$_REQUIRE(_dependencyMap[12]).EventRegister.emit(_events.default.PAYWALL_OPEN_POPUP, {
                forceAutoLogin: Paywall.forceAutoLogin
              });
            } else {
              _$$_REQUIRE(_dependencyMap[14]).PaywallContainer.show({
                type: _$$_REQUIRE(_dependencyMap[10]).popupTypes.blocking,
                ACI: ACI,
                forceAutoLogin: Paywall.forceAutoLogin
              });
            }

            Paywall.forceAutoLogin = false;
          }

          hasAccess = false;
        }

        if (hasAccess) {
          _$$_REQUIRE(_dependencyMap[12]).EventRegister.emit(_events.default.PAYWALL_VALIDATE, {
            ACI: ACI,
            validated: true
          });

          Paywall.addToAccessedProductsList(ACI);
        }

        return hasAccess;
      }
    }, {
      key: "handleSessionExpired",
      value: function handleSessionExpired() {
        var result;
        return _regenerator.default.async(function handleSessionExpired$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                _context6.next = 2;
                return _regenerator.default.awrap(Paywall.downloadConfiguration());

              case 2:
                result = _context6.sent;

                if (!result) {}

                return _context6.abrupt("return", result);

              case 5:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "validateUser",
      value: function validateUser() {
        var outcome, sessionResult;
        return _regenerator.default.async(function validateUser$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                if (!Paywall.initialize) {
                  _context7.next = 17;
                  break;
                }

                _context7.prev = 1;
                _context7.next = 4;
                return _regenerator.default.awrap(_PaywallAJAX.default.validateUser());

              case 4:
                outcome = _context7.sent;
                Paywall.handleUserValidationSuccess(outcome);
                _context7.next = 15;
                break;

              case 8:
                _context7.prev = 8;
                _context7.t0 = _context7["catch"](1);

                if (!(_context7.t0 instanceof _PaywallAJAX.PaywallError && _context7.t0.getCode() === _$$_REQUIRE(_dependencyMap[10]).serverStatusCodes.SESSION_EXPIRED)) {
                  _context7.next = 15;
                  break;
                }

                _context7.next = 13;
                return _regenerator.default.awrap(Paywall.handleSessionExpired());

              case 13:
                sessionResult = _context7.sent;

                if (sessionResult) {
                  Paywall.validateUser();
                }

              case 15:
                _context7.next = 17;
                break;

              case 17:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, [[1, 8]], Promise);
      }
    }, {
      key: "handleUserValidationSuccess",
      value: function handleUserValidationSuccess(outcome) {
        var isLogged = outcome.isLogged;

        if (!isLogged) {
          if (!Paywall.autoLogin()) {
            _$$_REQUIRE(_dependencyMap[12]).EventRegister.emit(_events.default.PAYWALL_LOGOUT);

            Paywall.handleLogoutSuccess();
          }
        } else {
          Paywall.updateAccountLabel(true);
        }
      }
    }, {
      key: "handleLoginSuccess",
      value: function handleLoginSuccess(outcome, ACI, removePopupsAfterValidation) {
        _PaywallLoginStatus.default.updateUserStatus(outcome);

        Paywall.updateAccountLabel();

        var validationCallback = function validationCallback() {};

        if (removePopupsAfterValidation) {
          validationCallback = function validationCallback(hasAccess) {
            if (hasAccess) {
              Paywall.remove();
            }
          };
        } else {
          Paywall.remove();
        }

        if (ACI) {
          Paywall.validate(ACI).then(validationCallback);
        }

        _$$_REQUIRE(_dependencyMap[12]).EventRegister.emit(_events.default.CHANGE_ADS_VISIBILITY, {
          hideAds: _PaywallLoginStatus.default.isAdFree()
        });
      }
    }, {
      key: "logout",
      value: function logout(ACI, manual) {
        var result, outcome, sessionResult;
        return _regenerator.default.async(function logout$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                result = false;

                if (!Paywall.initialize) {
                  _context8.next = 24;
                  break;
                }

                _context8.prev = 2;
                _context8.next = 5;
                return _regenerator.default.awrap(_PaywallAJAX.default.logout());

              case 5:
                outcome = _context8.sent;

                if (manual) {
                  _$$_REQUIRE(_dependencyMap[12]).EventRegister.emit(_events.default.PAYWALL_LOGOUT);
                }

                result = Paywall.handleLogoutSuccess(outcome, ACI, manual);
                _context8.next = 22;
                break;

              case 10:
                _context8.prev = 10;
                _context8.t0 = _context8["catch"](2);

                if (!(_context8.t0 instanceof _PaywallAJAX.PaywallError && _context8.t0.getCode() === _$$_REQUIRE(_dependencyMap[10]).serverStatusCodes.SESSION_EXPIRED)) {
                  _context8.next = 22;
                  break;
                }

                _context8.next = 15;
                return _regenerator.default.awrap(Paywall.handleSessionExpired());

              case 15:
                sessionResult = _context8.sent;

                if (!sessionResult) {
                  _context8.next = 20;
                  break;
                }

                _context8.next = 19;
                return _regenerator.default.awrap(Paywall.logout(ACI, manual));

              case 19:
                result = _context8.sent;

              case 20:
                _context8.next = 22;
                break;

              case 22:
                _context8.next = 24;
                break;

              case 24:
                return _context8.abrupt("return", result);

              case 25:
              case "end":
                return _context8.stop();
            }
          }
        }, null, null, [[2, 10]], Promise);
      }
    }, {
      key: "handleLogoutSuccess",
      value: function handleLogoutSuccess(outcome, ACI, manual) {
        _PaywallLoginStatus.default.resetUserStatus();

        Paywall.updateAccountLabel();

        _$$_REQUIRE(_dependencyMap[12]).EventRegister.emit(_events.default.CHANGE_ADS_VISIBILITY, {
          hideAds: false
        });

        if (outcome) {
          Paywall.remove();

          if (ACI) {
            Paywall.validate(ACI);
          } else if (manual) {
            Paywall.account();
          }
        }
      }
    }, {
      key: "replaceExtIdInUrl",
      value: function replaceExtIdInUrl(url) {
        if (url && typeof url === "string") {
          var _PaywallLoginStatus$g;

          return url.replace("##extid##", (_PaywallLoginStatus$g = _PaywallLoginStatus.default.getExtid()) != null ? _PaywallLoginStatus$g : "");
        }

        return url;
      }
    }, {
      key: "updateAccountLabel",
      value: function updateAccountLabel() {
        var loggedIn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _PaywallLoginStatus.default.isUserLoggedIn();

        if (Paywall.initialize) {
          var messages = Paywall.config.messages;

          if (messages) {
            var userLoggedInText = messages.userLoggedInText,
                userNotLoggedText = messages.userNotLoggedText;
            var caption = loggedIn ? userLoggedInText : userNotLoggedText;

            _$$_REQUIRE(_dependencyMap[12]).EventRegister.emit(_events.default.PAYWALL_USER_STATUS_UPDATE, {
              loggedIn: loggedIn,
              caption: caption
            });
          }
        }
      }
    }, {
      key: "autoLogin",
      value: function autoLogin() {
        if (Paywall.initialize) {
          var credentials = _PaywallLoginStatus.default.getCredentials();

          if (credentials) {
            var user = credentials.user,
                pwdEncrypt = credentials.pwdEncrypt,
                token = credentials.token;

            if (user && pwdEncrypt || token) {
              if (token) {} else {}

              _$$_REQUIRE(_dependencyMap[14]).PaywallContainer.show({
                type: _$$_REQUIRE(_dependencyMap[10]).popupTypes.login,
                isInvisible: true,
                forceAutoLogin: true
              });

              return true;
            }
          }
        }

        return false;
      }
    }, {
      key: "isAlreadyAccessed",
      value: function isAlreadyAccessed(ACI) {
        return Paywall.accessedProductsList.findIndex(function (product) {
          return product.ACI === ACI;
        }) !== -1;
      }
    }, {
      key: "getAccessedProductsList",
      value: function getAccessedProductsList() {
        var productsList, filteredProductsList;
        return _regenerator.default.async(function getAccessedProductsList$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                _context9.next = 2;
                return _regenerator.default.awrap(_PaywallHelper.default.getAccessedProductsList());

              case 2:
                productsList = _context9.sent;

                if (!productsList) {
                  _context9.next = 9;
                  break;
                }

                filteredProductsList = productsList.filter(function (product) {
                  return product.addTime + _$$_REQUIRE(_dependencyMap[10]).accessedProductsDuration >= Date.now();
                });

                if (!(filteredProductsList.length < productsList.length)) {
                  _context9.next = 8;
                  break;
                }

                _PaywallHelper.default.setAccessedProductsList(filteredProductsList);

                return _context9.abrupt("return", filteredProductsList);

              case 8:
                return _context9.abrupt("return", productsList);

              case 9:
                return _context9.abrupt("return", []);

              case 10:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "addToAccessedProductsList",
      value: function addToAccessedProductsList(ACI) {
        var newEntry = {
          ACI: ACI,
          addTime: Date.now()
        };
        Paywall.accessedProductsList.push(newEntry);

        _PaywallHelper.default.setAccessedProductsList(Paywall.accessedProductsList);
      }
    }, {
      key: "isWelcomePopupAlreadyShown",
      value: function isWelcomePopupAlreadyShown() {
        return _regenerator.default.async(function isWelcomePopupAlreadyShown$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                return _context10.abrupt("return", _PaywallHelper.default.isWelcomePopupAlreadyShown());

              case 1:
              case "end":
                return _context10.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setWelcomePopupAlreadyShown",
      value: function setWelcomePopupAlreadyShown() {
        _PaywallHelper.default.setWelcomePopupAlreadyShown();
      }
    }, {
      key: "isFirstProductsLeftPopupAlreadyShown",
      value: function isFirstProductsLeftPopupAlreadyShown() {
        return _regenerator.default.async(function isFirstProductsLeftPopupAlreadyShown$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                return _context11.abrupt("return", _PaywallHelper.default.isFirstProductsLeftPopupAlreadyShown());

              case 1:
              case "end":
                return _context11.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setFirstProductsLeftPopupAlreadyShown",
      value: function setFirstProductsLeftPopupAlreadyShown() {
        Paywall.firstProductsLeftPopupShown = true;

        _PaywallHelper.default.setFirstProductsLeftPopupAlreadyShown();
      }
    }, {
      key: "setLastProductsLeft",
      value: function setLastProductsLeft(productsLeft) {
        _PaywallHelper.default.setLastProductsLeft(productsLeft);
      }
    }, {
      key: "getLastProductsLeft",
      value: function getLastProductsLeft() {
        return _regenerator.default.async(function getLastProductsLeft$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                return _context12.abrupt("return", _PaywallHelper.default.getLastProductsLeft());

              case 1:
              case "end":
                return _context12.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "account",
      value: function account() {
        if (!_$$_REQUIRE(_dependencyMap[11]).NetworkUtils.isOnline()) {
          Paywall.showOfflineDialog();
          return;
        }

        if (Paywall.initialize) {
          var type = _PaywallLoginStatus.default.isUserLoggedIn() ? _$$_REQUIRE(_dependencyMap[10]).popupTypes.account : _$$_REQUIRE(_dependencyMap[10]).popupTypes.login;

          _$$_REQUIRE(_dependencyMap[14]).PaywallContainer.show({
            type: type
          });
        } else {
          var _global$getRssIndex2 = global.getRssIndex(),
              mustLoginToViewArticle = _global$getRssIndex2.mustLoginToViewArticle;

          if (mustLoginToViewArticle) {
            _$$_REQUIRE(_dependencyMap[12]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
              tab: _$$_REQUIRE(_dependencyMap[13]).tabs.account,
              forceFullscreen: true
            });
          } else {}
        }
      }
    }, {
      key: "welcome",
      value: function welcome() {
        _$$_REQUIRE(_dependencyMap[14]).PaywallContainer.show({
          type: _$$_REQUIRE(_dependencyMap[10]).popupTypes.welcome
        });

        Paywall.setWelcomePopupAlreadyShown();
      }
    }, {
      key: "hidePopup",
      value: function hidePopup() {
        _$$_REQUIRE(_dependencyMap[14]).PaywallContainer.hide();
      }
    }, {
      key: "unhidePopup",
      value: function unhidePopup() {
        _$$_REQUIRE(_dependencyMap[14]).PaywallContainer.unhide();
      }
    }, {
      key: "remove",
      value: function remove() {
        _$$_REQUIRE(_dependencyMap[14]).PaywallContainer.remove();
      }
    }, {
      key: "showOfflineDialog",
      value: function showOfflineDialog() {
        var buttons = [];
        buttons.push({
          text: global.strings("btn_ok")
        });

        _reactNative.Alert.alert("", global.strings("paywall_offline_warning"), buttons, {
          cancelable: false
        });
      }
    }, {
      key: "shouldShowHardPaywall",
      value: function shouldShowHardPaywall() {
        var _global$getRssIndex3 = global.getRssIndex(),
            mustLoginToViewArticle = _global$getRssIndex3.mustLoginToViewArticle;

        if (mustLoginToViewArticle) {
          var _global$getRSSActiveP = global.getRSSActivePSetup(),
              loginStatus = _global$getRSSActiveP.loginStatus;

          if (loginStatus && !loginStatus.isLoggedIn()) {
            return true;
          }
        }

        return false;
      }
    }, {
      key: "needToAppendHardPaywall",
      value: function needToAppendHardPaywall() {
        var _global$getRssIndex4 = global.getRssIndex(),
            attachPaywallToArticle = _global$getRssIndex4.attachPaywallToArticle;

        return Paywall.shouldShowHardPaywall() && attachPaywallToArticle;
      }
    }, {
      key: "shouldAppendPaywallPopup",
      value: function shouldAppendPaywallPopup() {
        var style = Paywall.config.style;

        if (style) {
          var attachPaywallToArticle = style.attachPaywallToArticle;
          return attachPaywallToArticle === "1";
        }

        return false;
      }
    }, {
      key: "shouldShowPaywall",
      value: function shouldShowPaywall(ACI) {
        return Paywall.shouldShowHardPaywall() || Paywall.needToAppendPaywallPopup(ACI);
      }
    }, {
      key: "shouldAppendPaywall",
      value: function shouldAppendPaywall() {
        return Paywall.needToAppendHardPaywall() || Paywall.shouldAppendPaywallPopup();
      }
    }, {
      key: "needToAppendPaywallPopup",
      value: function needToAppendPaywallPopup(ACI) {
        var productType = Paywall.getProductType(ACI);
        return Paywall.shouldAppendPaywallPopup() && productType && !Paywall.isFreeProduct(productType) && !Paywall.isAlreadyAccessed(ACI);
      }
    }, {
      key: "needToAppendPaywall",
      value: function needToAppendPaywall(ACI) {
        return Paywall.needToAppendHardPaywall() || Paywall.needToAppendPaywallPopup(ACI);
      }
    }, {
      key: "getArticlePreviewLength",
      value: function getArticlePreviewLength() {
        if (Paywall.needToAppendHardPaywall()) {
          var _global$getRssIndex5 = global.getRssIndex(),
              articlePreviewLength = _global$getRssIndex5.articlePreviewLength;

          return articlePreviewLength;
        }

        if (Paywall.shouldAppendPaywallPopup()) {
          var style = Paywall.config.style;

          if (style) {
            var protectThreshold = style.protectThreshold;
            return parseInt(protectThreshold, 10);
          }
        }

        return 0;
      }
    }, {
      key: "getArticlePreviewMessage",
      value: function getArticlePreviewMessage() {
        if (Paywall.shouldAppendPaywallPopup()) {
          var style = Paywall.config.style;

          if (style) {
            var protectArticleMessage = style.protectArticleMessage;
            return protectArticleMessage;
          }
        }

        return "";
      }
    }]);
    return Paywall;
  }();

  exports.default = Paywall;
  Paywall.initialize = false;
  Paywall.strictMode = false;
  Paywall.config = {};
  Paywall.accessedProductsList = [];
  Paywall.offlineAccessedProductsList = [];
  Paywall.firstProductsLeftPopupShown = false;
  Paywall.forceAutoLogin = true;
},1862,[5,80,7,8,28,460,1863,1864,1866,731,1865,462,572,730,1867]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var PaywallHelper = function () {
    function PaywallHelper() {
      (0, _classCallCheck2.default)(this, PaywallHelper);
    }

    (0, _createClass2.default)(PaywallHelper, null, [{
      key: "getOldName",
      value: function getOldName() {
        return _$$_REQUIRE(_dependencyMap[4]).PlatformUtils.isIOS() ? null : PaywallHelper.androidSharedPreferences.name;
      }
    }, {
      key: "getMachineIdFromUserDefaults",
      value: function getMachineIdFromUserDefaults() {
        return _regenerator.default.async(function getMachineIdFromUserDefaults$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.getItemFromDefaultPreferences(PaywallHelper.getOldName(), _$$_REQUIRE(_dependencyMap[4]).PlatformUtils.isIOS() ? PaywallHelper.iOSStandardUserDefaults.keys.machineId : PaywallHelper.androidSharedPreferences.keys.machineId));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getUserStatusFromUserDefaults",
      value: function getUserStatusFromUserDefaults() {
        var _global$getRssIndex, paywallAppId, userStatus;

        return _regenerator.default.async(function getUserStatusFromUserDefaults$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _global$getRssIndex = global.getRssIndex(), paywallAppId = _global$getRssIndex.paywallAppId;
                _context2.next = 3;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[4]).StorageUtils.getItemFromDefaultPreferences(PaywallHelper.getOldName(), _$$_REQUIRE(_dependencyMap[4]).PlatformUtils.isIOS() ? paywallAppId : PaywallHelper.androidSharedPreferences.keys.taUserLoginPrefix + paywallAppId));

              case 3:
                userStatus = _context2.sent;

                if (!userStatus) {
                  _context2.next = 13;
                  break;
                }

                if (!_$$_REQUIRE(_dependencyMap[4]).PlatformUtils.isIOS()) {
                  _context2.next = 7;
                  break;
                }

                return _context2.abrupt("return", userStatus[PaywallHelper.iOSStandardUserDefaults.keys.userStatus]);

              case 7:
                _context2.prev = 7;
                return _context2.abrupt("return", JSON.parse(userStatus));

              case 11:
                _context2.prev = 11;
                _context2.t0 = _context2["catch"](7);

              case 13:
                return _context2.abrupt("return", undefined);

              case 14:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, [[7, 11]], Promise);
      }
    }, {
      key: "setStandardUserDefaultsValue",
      value: function setStandardUserDefaultsValue(key, value) {
        return _$$_REQUIRE(_dependencyMap[4]).StorageUtils.setItemInDefaultPreferences(PaywallHelper.getOldName(), key, value);
      }
    }, {
      key: "clearStandardUserDefaults",
      value: function clearStandardUserDefaults() {
        return _$$_REQUIRE(_dependencyMap[4]).StorageUtils.clearAllFromDefaultPreferences(PaywallHelper.getOldName());
      }
    }, {
      key: "setStorageName",
      value: function setStorageName(name) {
        PaywallHelper.SP.name = name;
      }
    }, {
      key: "getItem",
      value: function getItem(key) {
        return _regenerator.default.async(function getItem$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                return _context3.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.getItemFromDefaultPreferences(PaywallHelper.SP.name, key));

              case 1:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setItem",
      value: function setItem(key, value) {
        return _regenerator.default.async(function setItem$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                return _context4.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.setItemInDefaultPreferences(PaywallHelper.SP.name, key, value));

              case 1:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "clearItem",
      value: function clearItem(key) {
        return _regenerator.default.async(function clearItem$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                return _context5.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.clearItemFromDefaultPreferences(PaywallHelper.SP.name, key));

              case 1:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getAccessedProductsList",
      value: function getAccessedProductsList() {
        var alreadyAccessedProducts;
        return _regenerator.default.async(function getAccessedProductsList$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                _context6.prev = 0;
                _context6.next = 3;
                return _regenerator.default.awrap(PaywallHelper.getItem(PaywallHelper.SP.keys.alreadyAccessedProducts));

              case 3:
                alreadyAccessedProducts = _context6.sent;
                return _context6.abrupt("return", JSON.parse(alreadyAccessedProducts));

              case 7:
                _context6.prev = 7;
                _context6.t0 = _context6["catch"](0);
                return _context6.abrupt("return", []);

              case 10:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, [[0, 7]], Promise);
      }
    }, {
      key: "setAccessedProductsList",
      value: function setAccessedProductsList(value) {
        return _regenerator.default.async(function setAccessedProductsList$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                return _context7.abrupt("return", PaywallHelper.setItem(PaywallHelper.SP.keys.alreadyAccessedProducts, JSON.stringify(value)));

              case 1:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getOfflineProductsList",
      value: function getOfflineProductsList() {
        var offlineAccessedProducts;
        return _regenerator.default.async(function getOfflineProductsList$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                _context8.prev = 0;
                _context8.next = 3;
                return _regenerator.default.awrap(PaywallHelper.getItem(PaywallHelper.SP.keys.offlineAccessedProducts));

              case 3:
                offlineAccessedProducts = _context8.sent;
                return _context8.abrupt("return", JSON.parse(offlineAccessedProducts));

              case 7:
                _context8.prev = 7;
                _context8.t0 = _context8["catch"](0);
                return _context8.abrupt("return", []);

              case 10:
              case "end":
                return _context8.stop();
            }
          }
        }, null, null, [[0, 7]], Promise);
      }
    }, {
      key: "setOfflineProductsList",
      value: function setOfflineProductsList(value) {
        return _regenerator.default.async(function setOfflineProductsList$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                return _context9.abrupt("return", PaywallHelper.setItem(PaywallHelper.SP.keys.offlineAccessedProducts, JSON.stringify(value)));

              case 1:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "isFirstProductsLeftPopupAlreadyShown",
      value: function isFirstProductsLeftPopupAlreadyShown() {
        var result;
        return _regenerator.default.async(function isFirstProductsLeftPopupAlreadyShown$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                _context10.next = 2;
                return _regenerator.default.awrap(PaywallHelper.getItem(PaywallHelper.SP.keys.firstProductsLeftPopupAlreadyShown));

              case 2:
                result = _context10.sent;
                return _context10.abrupt("return", result === "1");

              case 4:
              case "end":
                return _context10.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setFirstProductsLeftPopupAlreadyShown",
      value: function setFirstProductsLeftPopupAlreadyShown() {
        return _regenerator.default.async(function setFirstProductsLeftPopupAlreadyShown$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                return _context11.abrupt("return", PaywallHelper.setItem(PaywallHelper.SP.keys.firstProductsLeftPopupAlreadyShown, "1"));

              case 1:
              case "end":
                return _context11.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "isWelcomePopupAlreadyShown",
      value: function isWelcomePopupAlreadyShown() {
        var result;
        return _regenerator.default.async(function isWelcomePopupAlreadyShown$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                _context12.next = 2;
                return _regenerator.default.awrap(PaywallHelper.getItem(PaywallHelper.SP.keys.welcomePopupAlreadyShown));

              case 2:
                result = _context12.sent;
                return _context12.abrupt("return", result === "1");

              case 4:
              case "end":
                return _context12.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setWelcomePopupAlreadyShown",
      value: function setWelcomePopupAlreadyShown() {
        return _regenerator.default.async(function setWelcomePopupAlreadyShown$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                return _context13.abrupt("return", PaywallHelper.setItem(PaywallHelper.SP.keys.welcomePopupAlreadyShown, "1"));

              case 1:
              case "end":
                return _context13.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getUserStatus",
      value: function getUserStatus() {
        var userStatus, oldUserStatus, user, pwdEncrypt, challenge, subscription, remember;
        return _regenerator.default.async(function getUserStatus$(_context14) {
          while (1) {
            switch (_context14.prev = _context14.next) {
              case 0:
                _context14.prev = 0;
                _context14.next = 3;
                return _regenerator.default.awrap(PaywallHelper.getItem(PaywallHelper.SP.keys.userStatus));

              case 3:
                userStatus = _context14.sent;

                if (!userStatus) {
                  _context14.next = 6;
                  break;
                }

                return _context14.abrupt("return", JSON.parse(userStatus));

              case 6:
                _context14.next = 8;
                return _regenerator.default.awrap(PaywallHelper.getUserStatusFromUserDefaults());

              case 8:
                oldUserStatus = _context14.sent;

                if (!oldUserStatus) {
                  _context14.next = 15;
                  break;
                }

                user = oldUserStatus.user, pwdEncrypt = oldUserStatus.pwdEncrypt, challenge = oldUserStatus.challenge, subscription = oldUserStatus.subscription, remember = oldUserStatus.remember;
                userStatus = {
                  credentials: {
                    user: user,
                    pwdEncrypt: pwdEncrypt,
                    challenge: challenge
                  },
                  subscriptions: [subscription],
                  remember: remember
                };
                _context14.next = 14;
                return _regenerator.default.awrap(PaywallHelper.setUserStatus(userStatus));

              case 14:
                PaywallHelper.clearStandardUserDefaults();

              case 15:
                return _context14.abrupt("return", userStatus);

              case 18:
                _context14.prev = 18;
                _context14.t0 = _context14["catch"](0);
                return _context14.abrupt("return", null);

              case 21:
              case "end":
                return _context14.stop();
            }
          }
        }, null, null, [[0, 18]], Promise);
      }
    }, {
      key: "setUserStatus",
      value: function setUserStatus(userStatus) {
        return _regenerator.default.async(function setUserStatus$(_context15) {
          while (1) {
            switch (_context15.prev = _context15.next) {
              case 0:
                return _context15.abrupt("return", PaywallHelper.setItem(PaywallHelper.SP.keys.userStatus, JSON.stringify(userStatus)));

              case 1:
              case "end":
                return _context15.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getConfig",
      value: function getConfig() {
        var config;
        return _regenerator.default.async(function getConfig$(_context16) {
          while (1) {
            switch (_context16.prev = _context16.next) {
              case 0:
                _context16.prev = 0;
                _context16.next = 3;
                return _regenerator.default.awrap(PaywallHelper.getItem(PaywallHelper.SP.keys.config));

              case 3:
                config = _context16.sent;

                if (!config) {
                  _context16.next = 6;
                  break;
                }

                return _context16.abrupt("return", JSON.parse(config));

              case 6:
                _context16.next = 10;
                break;

              case 8:
                _context16.prev = 8;
                _context16.t0 = _context16["catch"](0);

              case 10:
                return _context16.abrupt("return", {});

              case 11:
              case "end":
                return _context16.stop();
            }
          }
        }, null, null, [[0, 8]], Promise);
      }
    }, {
      key: "setConfig",
      value: function setConfig(config) {
        return _regenerator.default.async(function setConfig$(_context17) {
          while (1) {
            switch (_context17.prev = _context17.next) {
              case 0:
                return _context17.abrupt("return", PaywallHelper.setItem(PaywallHelper.SP.keys.config, JSON.stringify(config)));

              case 1:
              case "end":
                return _context17.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setLastProductsLeft",
      value: function setLastProductsLeft(productsLeft) {
        return _regenerator.default.async(function setLastProductsLeft$(_context18) {
          while (1) {
            switch (_context18.prev = _context18.next) {
              case 0:
                return _context18.abrupt("return", PaywallHelper.setItem(PaywallHelper.SP.keys.lastProductsLeft, "" + productsLeft));

              case 1:
              case "end":
                return _context18.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getLastProductsLeft",
      value: function getLastProductsLeft() {
        return _regenerator.default.async(function getLastProductsLeft$(_context19) {
          while (1) {
            switch (_context19.prev = _context19.next) {
              case 0:
                return _context19.abrupt("return", PaywallHelper.getItem(PaywallHelper.SP.keys.lastProductsLeft));

              case 1:
              case "end":
                return _context19.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "enableLogoutFlag",
      value: function enableLogoutFlag() {
        return _regenerator.default.async(function enableLogoutFlag$(_context20) {
          while (1) {
            switch (_context20.prev = _context20.next) {
              case 0:
                return _context20.abrupt("return", PaywallHelper.setItem(PaywallHelper.SP.keys.logout, "1"));

              case 1:
              case "end":
                return _context20.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "isLogoutFlagEnabled",
      value: function isLogoutFlagEnabled() {
        var flag;
        return _regenerator.default.async(function isLogoutFlagEnabled$(_context21) {
          while (1) {
            switch (_context21.prev = _context21.next) {
              case 0:
                _context21.next = 2;
                return _regenerator.default.awrap(PaywallHelper.getItem(PaywallHelper.SP.keys.logout));

              case 2:
                flag = _context21.sent;
                return _context21.abrupt("return", flag === "1");

              case 4:
              case "end":
                return _context21.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "clearLogoutFlag",
      value: function clearLogoutFlag() {
        return _regenerator.default.async(function clearLogoutFlag$(_context22) {
          while (1) {
            switch (_context22.prev = _context22.next) {
              case 0:
                return _context22.abrupt("return", PaywallHelper.clearItem(PaywallHelper.SP.keys.logout));

              case 1:
              case "end":
                return _context22.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return PaywallHelper;
  }();

  exports.default = PaywallHelper;
  PaywallHelper.SP = {
    name: "paywall",
    keys: {
      welcomePopupAlreadyShown: "welcomePopupAlreadyShown",
      alreadyAccessedProducts: "alreadyAccessedProducts",
      offlineAccessedProducts: "offlineAccessedProducts",
      firstProductsLeftPopupAlreadyShown: "firstProductsLeftPopupAlreadyShown",
      userStatus: "userStatus",
      config: "config",
      lastProductsLeft: "lastProductsLeft",
      logout: "logoutInRSS"
    }
  };
  PaywallHelper.androidSharedPreferences = {
    name: "ta_metered_paywall",
    keys: {
      taUserLoginPrefix: "ta_user_login_",
      machineId: "ta_MACHINE_ID"
    }
  };
  PaywallHelper.iOSStandardUserDefaults = {
    keys: {
      machineId: "ta_MACHINE_ID",
      userStatus: "ta_user_login"
    }
  };
},1863,[5,80,7,8,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _PaywallHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var PaywallLoginStatus = function () {
    function PaywallLoginStatus() {
      (0, _classCallCheck2.default)(this, PaywallLoginStatus);
    }

    (0, _createClass2.default)(PaywallLoginStatus, null, [{
      key: "getUserStatus",
      value: function getUserStatus() {
        return _regenerator.default.async(function getUserStatus$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", _PaywallHelper.default.getUserStatus());

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getDefaultUserStatus",
      value: function getDefaultUserStatus() {
        return {
          subscriptions: [_$$_REQUIRE(_dependencyMap[6]).unregisteredSubscriptionType]
        };
      }
    }, {
      key: "setUserStatus",
      value: function setUserStatus(userStatus) {
        PaywallLoginStatus.userStatus = userStatus;

        _PaywallHelper.default.setUserStatus(userStatus);
      }
    }, {
      key: "updateUserStatus",
      value: function updateUserStatus(userStatus) {
        PaywallLoginStatus.setUserStatus((0, _extends2.default)({}, PaywallLoginStatus.userStatus, userStatus));
      }
    }, {
      key: "resetUserStatus",
      value: function resetUserStatus() {
        PaywallLoginStatus.setUserStatus(PaywallLoginStatus.getDefaultUserStatus());
      }
    }, {
      key: "initUserStatus",
      value: function initUserStatus() {
        var appId,
            userStatus,
            _args2 = arguments;
        return _regenerator.default.async(function initUserStatus$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                appId = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : global.getRssIndex().paywallAppId;

                _PaywallHelper.default.setStorageName("paywall_" + appId);

                _context2.next = 4;
                return _regenerator.default.awrap(PaywallLoginStatus.getUserStatus());

              case 4:
                userStatus = _context2.sent;

                if (userStatus) {
                  PaywallLoginStatus.userStatus = userStatus;
                } else {
                  PaywallLoginStatus.resetUserStatus();
                }

              case 6:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "isLoginInvalid",
      value: function isLoginInvalid() {
        var _global$getRSSActiveP = global.getRSSActivePSetup(),
            refreshesTAUIDTimestamp = _global$getRSSActiveP.refreshesTAUIDTimestamp;

        var _PaywallLoginStatus$u = PaywallLoginStatus.userStatus,
            lastLoginTimestamp = _PaywallLoginStatus$u.lastLoginTimestamp,
            logged = _PaywallLoginStatus$u.logged;

        if (refreshesTAUIDTimestamp && logged) {
          var referenceTimestamp = lastLoginTimestamp || 0;
          return refreshesTAUIDTimestamp >= referenceTimestamp;
        }

        return false;
      }
    }, {
      key: "remember",
      value: function remember(credentials) {
        PaywallLoginStatus.updateUserStatus({
          credentials: credentials
        });
      }
    }, {
      key: "forget",
      value: function forget() {
        PaywallLoginStatus.updateUserStatus({
          credentials: undefined
        });
      }
    }, {
      key: "isUserLoggedIn",
      value: function isUserLoggedIn() {
        if (PaywallLoginStatus.userStatus) {
          var logged = PaywallLoginStatus.userStatus.logged;
          return logged;
        }

        return false;
      }
    }, {
      key: "getCredentials",
      value: function getCredentials() {
        if (PaywallLoginStatus.userStatus) {
          var credentials = PaywallLoginStatus.userStatus.credentials;
          return credentials;
        }

        return undefined;
      }
    }, {
      key: "getTAUID",
      value: function getTAUID() {
        if (PaywallLoginStatus.userStatus) {
          var TAUID = PaywallLoginStatus.userStatus.TAUID;
          return TAUID;
        }

        return undefined;
      }
    }, {
      key: "setExtId",
      value: function setExtId(extid) {
        PaywallLoginStatus.updateUserStatus({
          extid: extid
        });
      }
    }, {
      key: "getExtid",
      value: function getExtid() {
        if (PaywallLoginStatus.userStatus) {
          var extid = PaywallLoginStatus.userStatus.extid;
          return extid;
        }

        return undefined;
      }
    }, {
      key: "isAdFree",
      value: function isAdFree() {
        if (PaywallLoginStatus.userStatus) {
          var adFree = PaywallLoginStatus.userStatus.adFree;
          return adFree === "1";
        }

        return false;
      }
    }]);
    return PaywallLoginStatus;
  }();

  exports.default = PaywallLoginStatus;
  PaywallLoginStatus.userStatus = {};
},1864,[5,80,6,7,8,1863,1865]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.UNLIMITED_ACCESS = exports.configKeys = exports.serverStatusCodes = exports.popupTypes = exports.protectedServices = exports.services = exports.unregisteredSubscriptionType = exports.accessedProductsDuration = exports.baseVer = exports.serverBaseDomain = undefined;
  var serverBaseDomain = "pw.newsmemory.com";
  exports.serverBaseDomain = serverBaseDomain;
  var baseVer = "meterapps.check.23091810";
  exports.baseVer = baseVer;
  var accessedProductsDuration = 86400000;
  exports.accessedProductsDuration = accessedProductsDuration;
  var unregisteredSubscriptionType = "UNREGISTERED";
  exports.unregisteredSubscriptionType = unregisteredSubscriptionType;
  var services = {
    config: "get_config",
    validate: "validate",
    login: "login",
    logout: "logout",
    user_validate: "user_validate",
    popups: "popups"
  };
  exports.services = services;
  var protectedServices = [services.validate, services.user_validate, services.logout, services.login];
  exports.protectedServices = protectedServices;
  var popupTypes = {
    account: "userProfile",
    blocking: "paywall",
    login: "loginForm",
    productsLeft: "productsLeft",
    welcome: "welcome"
  };
  exports.popupTypes = popupTypes;
  var serverStatusCodes = {
    INTERNAL_ERROR: -5,
    SESSION_EXPIRED: -4,
    USER_NOT_LOGGED: -3,
    WRONG_ACI: -3,
    WRONG_APP_ID: -2,
    SUCCESS: 0
  };
  exports.serverStatusCodes = serverStatusCodes;
  var configKeys = {
    showWelcomePopup: "show_welcome_popup",
    showFirstProductsLeftPopup: "show_first_products_left_popup",
    showLatestProductsLeftPopup: "show_latest_products_left_popup",
    showPaywall: "show_paywall"
  };
  exports.configKeys = configKeys;
  var UNLIMITED_ACCESS = "unlimited";
  exports.UNLIMITED_ACCESS = UNLIMITED_ACCESS;
},1865,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.PaywallError = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _wrapNativeSuper2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _axios = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _PaywallLoginStatus = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PaywallError = function (_Error) {
    (0, _inherits2.default)(PaywallError, _Error);

    var _super = _createSuper(PaywallError);

    function PaywallError(code, message) {
      var _this;

      (0, _classCallCheck2.default)(this, PaywallError);
      _this = _super.call(this);
      _this.code = code;
      _this.message = message;
      return _this;
    }

    (0, _createClass2.default)(PaywallError, [{
      key: "getCode",
      value: function getCode() {
        return this.code;
      }
    }, {
      key: "getMessage",
      value: function getMessage() {
        return this.message;
      }
    }]);
    return PaywallError;
  }((0, _wrapNativeSuper2.default)(Error));

  exports.PaywallError = PaywallError;

  var PaywallAJAX = function () {
    function PaywallAJAX() {
      (0, _classCallCheck2.default)(this, PaywallAJAX);
    }

    (0, _createClass2.default)(PaywallAJAX, null, [{
      key: "init",
      value: function init(appId, baseVer, serverBaseDomain) {
        PaywallAJAX.appId = appId;
        PaywallAJAX.baseVer = baseVer;
        PaywallAJAX.serverBaseDomain = serverBaseDomain;
      }
    }, {
      key: "setSessionString",
      value: function setSessionString(sessionString) {
        PaywallAJAX.sessionString = sessionString;
      }
    }, {
      key: "handleError",
      value: function handleError(error) {
        var message = error.message;
      }
    }, {
      key: "handleRequest",
      value: function handleRequest(url) {
        var outcome, status, message, retries, _await$Axios$get, HTTPStatusCode, data, error;

        return _regenerator.default.async(function handleRequest$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                status = 0;
                message = "TIMEOUT";
                retries = 0;

              case 3:
                _context.prev = 3;
                _context.next = 6;
                return _regenerator.default.awrap(_axios.default.get(url, {
                  timeout: 30000
                }));

              case 6:
                _await$Axios$get = _context.sent;
                HTTPStatusCode = _await$Axios$get.status;
                data = _await$Axios$get.data;

                if (HTTPStatusCode === 200 || HTTPStatusCode === 301 || HTTPStatusCode === 304) {
                  if (data) {
                    error = data.error;
                    status = error.status;
                    message = error.message;
                    status = parseInt(status, 10);

                    if (status === _$$_REQUIRE(_dependencyMap[12]).serverStatusCodes.SUCCESS) {
                      outcome = data.outcome;
                    }
                  }
                } else {
                  status = HTTPStatusCode;
                  message = "unexpected HTTP status code " + HTTPStatusCode + " for url " + url;
                }

                _context.next = 15;
                break;

              case 12:
                _context.prev = 12;
                _context.t0 = _context["catch"](3);
                message = "failed to download configuration: " + _context.t0.message;

              case 15:
                retries++;

              case 16:
                if (!outcome && retries < 3) {
                  _context.next = 3;
                  break;
                }

              case 17:
                if (!outcome) {
                  _context.next = 19;
                  break;
                }

                return _context.abrupt("return", outcome);

              case 19:
                PaywallAJAX.handleError({
                  message: message
                });
                throw new PaywallError(status, message);

              case 21:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[3, 12]], Promise);
      }
    }, {
      key: "getBaseURL",
      value: function getBaseURL() {
        var baseURL;

        var _global$getUserSettin = global.getUserSettings(),
            notificationEmail = _global$getUserSettin.notificationEmail;

        if (notificationEmail) {
          var _StringUtils$parseNot = _$$_REQUIRE(_dependencyMap[13]).StringUtils.parseNotificationEmail(notificationEmail);

          baseURL = _StringUtils$parseNot.server;
        } else {
          var isHTTPS = global.isHTTPS();
          var appId = isHTTPS ? PaywallAJAX.appId.replace(_$$_REQUIRE(_dependencyMap[14]).HTTP_DOMAIN_SEPARATOR, _$$_REQUIRE(_dependencyMap[14]).HTTPS_DOMAIN_SEPARATOR) : PaywallAJAX.appId;
          var separator = isHTTPS ? _$$_REQUIRE(_dependencyMap[14]).HTTPS_DOMAIN_SEPARATOR : _$$_REQUIRE(_dependencyMap[14]).HTTP_DOMAIN_SEPARATOR;
          baseURL = appId + separator + PaywallAJAX.serverBaseDomain;
        }

        return _$$_REQUIRE(_dependencyMap[13]).NetworkUtils.addDefaultProtocol(baseURL);
      }
    }, {
      key: "getDefaultParams",
      value: function getDefaultParams() {
        return {
          app: _$$_REQUIRE(_dependencyMap[13]).PlatformUtils.isIOS() ? "A" : "G",
          appPSetup: global.getAppPSetup(),
          appVersion: _deviceUtils.default.getAppVersion(),
          baseVer: PaywallAJAX.baseVer
        };
      }
    }, {
      key: "isServiceProtected",
      value: function isServiceProtected(service) {
        return _$$_REQUIRE(_dependencyMap[12]).protectedServices.includes(service);
      }
    }, {
      key: "getServiceURL",
      value: function getServiceURL(service) {
        var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
        var _global = global,
            machineId = _global.machineId;
        machineId = machineId.split(",")[0];

        var TAUID = _PaywallLoginStatus.default.getTAUID();

        if (TAUID) {
          machineId += "," + TAUID;
        }

        params.ta_MACHINE_ID = machineId;

        if (PaywallAJAX.isServiceProtected(service)) {
          var queryString = _$$_REQUIRE(_dependencyMap[13]).StringUtils.getQuerystring(params);

          params.mac = PaywallAJAX.computeMac(queryString);
        }

        var url = PaywallAJAX.getBaseURL() + "?meter&" + _$$_REQUIRE(_dependencyMap[13]).StringUtils.getQuerystring((0, _extends2.default)({}, PaywallAJAX.getDefaultParams(), {
          service: service
        }, params));

        return url;
      }
    }, {
      key: "getConfigURL",
      value: function getConfigURL() {
        return PaywallAJAX.getServiceURL(_$$_REQUIRE(_dependencyMap[12]).services.config);
      }
    }, {
      key: "getPopupURL",
      value: function getPopupURL(popup) {
        var extraParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
        var params = (0, _extends2.default)({
          popup: popup
        }, extraParams);

        if (_PaywallLoginStatus.default.isUserLoggedIn()) {
          var credentials = _PaywallLoginStatus.default.getCredentials();

          if (credentials && credentials.user) {
            params.user = credentials.user;
          }
        }

        return PaywallAJAX.getServiceURL(_$$_REQUIRE(_dependencyMap[12]).services.popups, params);
      }
    }, {
      key: "getValidationURL",
      value: function getValidationURL(ACI, productType) {
        var params = {
          ACI: ACI,
          productType: productType,
          locallyLoggedIn: _PaywallLoginStatus.default.isUserLoggedIn() ? "1" : "0"
        };
        return PaywallAJAX.getServiceURL(_$$_REQUIRE(_dependencyMap[12]).services.validate, params);
      }
    }, {
      key: "getUserValidationURL",
      value: function getUserValidationURL() {
        var params = {};

        var credentials = _PaywallLoginStatus.default.getCredentials();

        if (credentials && credentials.user) {
          params.user = credentials.user;
        }

        return PaywallAJAX.getServiceURL(_$$_REQUIRE(_dependencyMap[12]).services.user_validate, params);
      }
    }, {
      key: "getLogoutURL",
      value: function getLogoutURL(ACI) {
        var params = {
          ACI: ACI
        };

        var credentials = _PaywallLoginStatus.default.getCredentials();

        if (credentials && credentials.user) {
          params.user = credentials.user;
        }

        return PaywallAJAX.getServiceURL(_$$_REQUIRE(_dependencyMap[12]).services.logout, params);
      }
    }, {
      key: "computeMac",
      value: function computeMac(queryString) {
        return _$$_REQUIRE(_dependencyMap[13]).StringUtils.getMd5(_$$_REQUIRE(_dependencyMap[13]).StringUtils.getMd5(queryString) + PaywallAJAX.sessionString);
      }
    }, {
      key: "downloadConfiguration",
      value: function downloadConfiguration() {
        var getConfigURL;
        return _regenerator.default.async(function downloadConfiguration$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                getConfigURL = PaywallAJAX.getConfigURL();
                return _context2.abrupt("return", PaywallAJAX.handleRequest(getConfigURL));

              case 2:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "validate",
      value: function validate(ACI, productType) {
        var getValidationURL;
        return _regenerator.default.async(function validate$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                getValidationURL = PaywallAJAX.getValidationURL(ACI, productType);
                return _context3.abrupt("return", PaywallAJAX.handleRequest(getValidationURL));

              case 2:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "validateUser",
      value: function validateUser() {
        var getUserValidationURL;
        return _regenerator.default.async(function validateUser$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                getUserValidationURL = PaywallAJAX.getUserValidationURL();
                return _context4.abrupt("return", PaywallAJAX.handleRequest(getUserValidationURL));

              case 2:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "logout",
      value: function logout(ACI, manual) {
        var getLogoutURL;
        return _regenerator.default.async(function logout$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                getLogoutURL = PaywallAJAX.getLogoutURL();
                return _context5.abrupt("return", PaywallAJAX.handleRequest(getLogoutURL));

              case 2:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return PaywallAJAX;
  }();

  exports.default = PaywallAJAX;
},1866,[5,80,6,7,8,12,14,16,63,432,1864,458,1865,462,551]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.PaywallContainer = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PaywallContainer = function (_React$Component) {
    (0, _inherits2.default)(PaywallContainer, _React$Component);

    var _super = _createSuper(PaywallContainer);

    function PaywallContainer(props) {
      var _this;

      (0, _classCallCheck2.default)(this, PaywallContainer);
      _this = _super.call(this, props);
      _this.state = {
        modalVisible: false,
        popupConfig: undefined
      };
      _this.removePopup = _this._removePopup.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(PaywallContainer, [{
      key: "showPopup",
      value: function showPopup(popupConfig) {
        this.setState({
          modalVisible: true,
          popupConfig: popupConfig
        });
      }
    }, {
      key: "hidePopup",
      value: function hidePopup() {
        if (this.popup) {
          this.popup.hide();
        }
      }
    }, {
      key: "unhidePopup",
      value: function unhidePopup() {
        if (this.popup) {
          this.popup.unhide();
        }
      }
    }, {
      key: "_removePopup",
      value: function _removePopup() {
        this.popup = undefined;
        this.setState({
          modalVisible: false,
          popupConfig: undefined
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props = this.props,
            onOpen = _this$props.onOpen,
            onClose = _this$props.onClose;
        var _this$state = this.state,
            modalVisible = _this$state.modalVisible,
            popupConfig = _this$state.popupConfig;

        if (modalVisible && popupConfig) {
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).PaywallPopup, (0, _extends2.default)({
            ref: function ref(c) {
              if (c) {
                _this2.popup = c;
              }
            }
          }, popupConfig, {
            onOpen: onOpen,
            onReopen: function onReopen() {
              _this2.showPopup(popupConfig);
            },
            onClose: this.removePopup
          }));
        }

        if (typeof onClose === "function") {
          onClose();
        }

        return null;
      }
    }], [{
      key: "show",
      value: function show(config) {
        if (PaywallContainer.paywallInstance) {
          PaywallContainer.paywallInstance.showPopup(config);
        }
      }
    }, {
      key: "remove",
      value: function remove() {
        if (PaywallContainer.paywallInstance) {
          PaywallContainer.paywallInstance.removePopup();
        }
      }
    }, {
      key: "hide",
      value: function hide() {
        if (PaywallContainer.paywallInstance) {
          PaywallContainer.paywallInstance.hidePopup();
        }
      }
    }, {
      key: "unhide",
      value: function unhide() {
        if (PaywallContainer.paywallInstance) {
          PaywallContainer.paywallInstance.unhidePopup();
        }
      }
    }]);
    return PaywallContainer;
  }(_react.default.Component);

  exports.PaywallContainer = PaywallContainer;
},1867,[5,6,7,8,15,12,14,16,17,1868]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.PaywallPopup = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _paywall = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _PaywallLoginStatus = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _PaywallAJAX = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _keyboardAvoidingComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _Paywall = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ANIMATION_DURATION = 500;

  var PaywallPopup = function (_React$Component) {
    (0, _inherits2.default)(PaywallPopup, _React$Component);

    var _super = _createSuper(PaywallPopup);

    function PaywallPopup(props) {
      var _this;

      (0, _classCallCheck2.default)(this, PaywallPopup);
      _this = _super.call(this, props);
      _this.close = _this._close.bind((0, _assertThisInitialized2.default)(_this));
      _this.gracefulUnhide = _this._gracefulUnhide.bind((0, _assertThisInitialized2.default)(_this));
      _this.handleLocals = _this._handleLocals.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLinkClicked = _this._onLinkClicked.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        display: props.initialRender,
        isVisible: false,
        fadeAnim: new _reactNative.Animated.Value(0),
        forceAutoLogin: props.forceAutoLogin
      };
      return _this;
    }

    (0, _createClass2.default)(PaywallPopup, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        this.openPopupEvent = _$$_REQUIRE(_dependencyMap[19]).EventRegister.on(_events.default.PAYWALL_OPEN_POPUP, function (_ref) {
          var config = _ref.config;

          _this2.setState((0, _extends2.default)({
            display: true
          }, config));
        });
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[19]).EventRegister.rm(this.openPopupEvent);
      }
    }, {
      key: "_handleLocals",
      value: function _handleLocals(_ref2) {
        var _this3 = this;

        var domain, getParams, isInvisible, forceAutoLogin, user, pwdEncrypt, remember, token, user_subscriptions, challenge, extid, adFree, ACI, _global$getRSSActiveP, firebaseAnalyticsSendExternalId, subscriptions, outcome, _ACI, url;

        return _regenerator.default.async(function _handleLocals$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                domain = _ref2.domain, getParams = _ref2.getParams;
                isInvisible = this.props.isInvisible;
                forceAutoLogin = this.state.forceAutoLogin;

                if (!domain.includes("loaded")) {
                  _context.next = 8;
                  break;
                }

                if (!isInvisible) {
                  this._gracefulUnhide();
                }

                if (forceAutoLogin) {
                  this._sendUserInfo();
                }

                _context.next = 29;
                break;

              case 8:
                if (!domain.includes("user_login")) {
                  _context.next = 28;
                  break;
                }

                PaywallPopup.log("user logging in");
                user = getParams.user, pwdEncrypt = getParams.pwdEncrypt, remember = getParams.remember, token = getParams.token, user_subscriptions = getParams.user_subscriptions, challenge = getParams.challenge, extid = getParams.extid, adFree = getParams.adFree, ACI = getParams.ACI;

                if (!user) {
                  _context.next = 25;
                  break;
                }

                if (remember === "1") {
                  PaywallPopup.log("user wants to be remembered");

                  if (token) {
                    _PaywallLoginStatus.default.remember({
                      user: user,
                      token: token
                    });
                  } else if (pwdEncrypt) {
                    _PaywallLoginStatus.default.remember({
                      user: user,
                      pwdEncrypt: pwdEncrypt,
                      challenge: challenge
                    });
                  } else {
                    PaywallPopup.log("no credentials provided!");
                  }
                } else {
                  _PaywallLoginStatus.default.remember({
                    user: user
                  });
                }

                if (!extid) {
                  _context.next = 20;
                  break;
                }

                PaywallPopup.log("store user extid: " + extid);

                _PaywallLoginStatus.default.setExtId(extid);

                _global$getRSSActiveP = global.getRSSActivePSetup(), firebaseAnalyticsSendExternalId = _global$getRSSActiveP.firebaseAnalyticsSendExternalId;

                if (!firebaseAnalyticsSendExternalId) {
                  _context.next = 20;
                  break;
                }

                _context.next = 20;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[20]).initGoogleAnalyticsFirebase)());

              case 20:
                subscriptions = user_subscriptions ? user_subscriptions.split(",") : [_$$_REQUIRE(_dependencyMap[21]).unregisteredSubscriptionType];
                outcome = {
                  logged: true,
                  subscriptions: subscriptions,
                  adFree: adFree,
                  lastLoginTimestamp: new Date().getTime()
                };

                _Paywall.default.handleLoginSuccess(outcome, ACI, !isInvisible && forceAutoLogin);

                _context.next = 26;
                break;

              case 25:
                PaywallPopup.log("no user returned after login");

              case 26:
                _context.next = 29;
                break;

              case 28:
                if (domain.includes("user_give_up")) {
                  _$$_REQUIRE(_dependencyMap[19]).EventRegister.emit(_events.default.PAYWALL_GO_BACK_HOME);

                  this._gracefulClose();
                } else if (domain.includes("user_logout")) {
                  _ACI = getParams.ACI;

                  _Paywall.default.logout(_ACI, true);
                } else if (domain.includes("user_getInfo")) {
                  this._sendUserInfo();
                } else if (domain.includes("session_expired")) {
                  _Paywall.default.handleSessionExpired(function () {
                    PaywallPopup.log("session refreshed, reload the popup");

                    _this3.webview.reload();
                  });
                } else if (domain.includes("login_connection_error")) {
                  this._gracefulClose();
                } else if (domain.includes("close")) {
                  this._gracefulClose();
                } else if (domain.includes("openInAppPurchaseLinkClicked")) {
                  _NavigationService.default.main.reset("NewsmemoryNavigator", {
                    tab: _$$_REQUIRE(_dependencyMap[22]).tabs.access
                  });

                  _Paywall.default.remove();
                } else if (domain.includes("openLoginPage")) {
                  _NavigationService.default.main.reset("NewsmemoryNavigator", {
                    tab: _$$_REQUIRE(_dependencyMap[22]).tabs.account
                  });

                  _Paywall.default.remove();
                } else if (domain.includes("openInAppBrowser")) {
                  url = getParams.url;

                  this._openInAppBrowser(url);
                }

              case 29:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_onLinkClicked",
      value: function _onLinkClicked(url) {
        this._openInAppBrowser(url);

        return true;
      }
    }, {
      key: "_openInAppBrowser",
      value: function _openInAppBrowser(url) {
        var onReopen = this.props.onReopen;
        this.close();

        _NavigationService.default.main.navigate("WebScreen", {
          url: url,
          onClose: onReopen
        });
      }
    }, {
      key: "hide",
      value: function hide() {
        this.setState({
          isVisible: false,
          fadeAnim: new _reactNative.Animated.Value(0)
        });
      }
    }, {
      key: "unhide",
      value: function unhide() {
        this.setState({
          isVisible: true
        });
      }
    }, {
      key: "_gracefulUnhide",
      value: function _gracefulUnhide() {
        this.unhide();

        _reactNative.Animated.timing(this.state.fadeAnim, {
          toValue: 1,
          duration: ANIMATION_DURATION
        }).start();
      }
    }, {
      key: "_gracefulClose",
      value: function _gracefulClose() {
        var _this4 = this;

        _reactNative.Animated.timing(this.state.fadeAnim, {
          toValue: 0,
          duration: ANIMATION_DURATION
        }).start(function () {
          _this4._close();
        });
      }
    }, {
      key: "_close",
      value: function _close() {
        var onClose = this.props.onClose;
        this.setState({
          display: false
        });

        if (onClose) {
          onClose();
        } else {
          PaywallPopup.log("onClose method not implemented");
        }
      }
    }, {
      key: "_execJavaScript",
      value: function _execJavaScript(jsToExec) {
        if (this.webview) {
          PaywallPopup.log("execute js in the webview: " + jsToExec);
          this.webview.injectJavaScript(jsToExec);
        }
      }
    }, {
      key: "_sendUserInfo",
      value: function _sendUserInfo() {
        var credentials = _PaywallLoginStatus.default.getCredentials();

        if (credentials) {
          var user = credentials.user,
              pwdEncrypt = credentials.pwdEncrypt,
              challenge = credentials.challenge,
              token = credentials.token;
          var jsToExec = null;

          if (user && pwdEncrypt) {
            jsToExec = "ta_getUserInfoPwdEncrypted('" + user + "','" + pwdEncrypt + "','" + (challenge || "") + "');";
          } else if (token) {
            jsToExec = "ta_checkToken('" + token + "')";
          }

          if (jsToExec) {
            this._execJavaScript(jsToExec);
          }
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this5 = this;

        var _this$state = this.state,
            display = _this$state.display,
            isVisible = _this$state.isVisible,
            fadeAnim = _this$state.fadeAnim;
        var _this$props = this.props,
            type = _this$props.type,
            ACI = _this$props.ACI,
            isInvisible = _this$props.isInvisible,
            productsLeft = _this$props.productsLeft,
            onOpen = _this$props.onOpen,
            isAutoHeight = _this$props.isAutoHeight,
            autoHeightWebViewProps = _this$props.autoHeightWebViewProps;

        if (display) {
          var extraParams = ACI ? {
            ACI: ACI,
            productType: _Paywall.default.getProductType(ACI)
          } : {};

          if (productsLeft) {
            extraParams = (0, _extends2.default)({}, extraParams, {
              productsLeft: productsLeft
            });
          }

          var uri = _PaywallAJAX.default.getPopupURL(type, extraParams);

          var showPopup = !isInvisible && isVisible;
          var style = showPopup ? _paywall.default.modal : _paywall.default.invisible;

          if (typeof onOpen === "function" && showPopup) {
            onOpen();
          }

          var _global$getRSSActiveP2 = global.getRSSActivePSetup(),
              overrideNewsMemoryUserAgent = _global$getRSSActiveP2.overrideNewsMemoryUserAgent;

          var userAgent = overrideNewsMemoryUserAgent || _$$_REQUIRE(_dependencyMap[23]).PlatformUtils.getUserAgent();

          var commonProps = {
            source: {
              uri: uri
            },
            enableKeyboardResize: _$$_REQUIRE(_dependencyMap[23]).PlatformUtils.isAndroid(),
            onLocal: this.handleLocals,
            onLinkClicked: this.onLinkClicked,
            automaticallyAdjustContentInsets: true,
            startInLoadingState: _$$_REQUIRE(_dependencyMap[24]).BaseWebView.LoadingStatePosition.none,
            style: {
              backgroundColor: "transparent"
            },
            browser: true,
            userAgent: userAgent
          };

          if (isAutoHeight) {
            return _react.default.createElement(_$$_REQUIRE(_dependencyMap[25]).AutoHeightWebView, (0, _extends2.default)({
              webviewRef: function webviewRef(ref) {
                _this5.webview = ref;
              },
              htmlContentId: PaywallPopup.getHtmlContentIdByType(type)
            }, autoHeightWebViewProps, commonProps));
          }

          return _react.default.createElement(_reactNative.Animated.View, {
            style: (0, _extends2.default)({}, style, {
              opacity: fadeAnim
            })
          }, _react.default.createElement(_keyboardAvoidingComponent.default, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).BaseWebView, (0, _extends2.default)({
            innerRef: function innerRef(ref) {
              _this5.webview = ref;
            },
            scrollEnabled: false
          }, commonProps))));
        }

        return null;
      }
    }], [{
      key: "log",
      value: function log(message) {}
    }, {
      key: "getHtmlContentIdByType",
      value: function getHtmlContentIdByType(type) {
        var id;

        switch (type) {
          case _$$_REQUIRE(_dependencyMap[21]).popupTypes.login:
            id = "ta_loginFormPopup";
            break;

          case _$$_REQUIRE(_dependencyMap[21]).popupTypes.account:
            id = "ta_userProfilePopup";
            break;

          case _$$_REQUIRE(_dependencyMap[21]).popupTypes.productsLeft:
            id = "ta_productsLeftPopup";
            break;

          case _$$_REQUIRE(_dependencyMap[21]).popupTypes.welcome:
            id = "ta_paymentAlertPopup";
            break;

          case _$$_REQUIRE(_dependencyMap[21]).popupTypes.blocking:
          default:
            id = "ta_paywall";
            break;
        }

        return id;
      }
    }]);
    return PaywallPopup;
  }(_react.default.Component);

  exports.PaywallPopup = PaywallPopup;
  PaywallPopup.propTypes = {
    type: _propTypes.default.string,
    ACI: _propTypes.default.string,
    onOpen: _propTypes.default.func,
    onReopen: _propTypes.default.func,
    onClose: _propTypes.default.func,
    initialRender: _propTypes.default.bool,
    isInvisible: _propTypes.default.bool,
    productsLeft: _propTypes.default.number,
    forceAutoLogin: _propTypes.default.bool,
    isAutoHeight: _propTypes.default.bool,
    autoHeightWebViewProps: _propTypes.default.object
  };
  PaywallPopup.defaultProps = {
    initialRender: true,
    isInvisible: false,
    forceAutoLogin: false,
    isAutoHeight: false,
    autoHeightWebViewProps: {}
  };
},1868,[5,80,6,7,8,15,12,14,16,17,28,201,460,1869,1864,1866,1870,1862,1861,572,1871,1865,730,462,1894,1901]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.HEADER_HEIGHT_BASE = exports.HEADER_HEIGHT_NO_IMAGE = exports.HEADER_HEIGHT = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var HEADER_HEIGHT = 300;
  exports.HEADER_HEIGHT = HEADER_HEIGHT;
  var HEADER_HEIGHT_NO_IMAGE = 50;
  exports.HEADER_HEIGHT_NO_IMAGE = HEADER_HEIGHT_NO_IMAGE;
  var HEADER_HEIGHT_BASE = _reactNative.StyleSheet.hairlineWidth;
  exports.HEADER_HEIGHT_BASE = HEADER_HEIGHT_BASE;

  var _default = _reactNative.StyleSheet.create({
    modal: {
      position: "absolute",
      top: 0,
      left: 0,
      right: 0,
      bottom: 0,
      backgroundColor: "transparent"
    },
    invisible: {
      height: 0,
      backgroundColor: "transparent"
    }
  });

  exports.default = _default;
},1869,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var useIsFloatingKeyboard = function useIsFloatingKeyboard() {
    var _useState = (0, _react.useState)(false),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        isFloating = _useState2[0],
        setFloating = _useState2[1];

    var windowWidth = _reactNative.Dimensions.get("window").width;

    var onKeyboardWillChangeFrame = function onKeyboardWillChangeFrame(event) {
      var newIsFloating = event.endCoordinates.width !== windowWidth;

      if (isFloating !== newIsFloating) {
        setFloating(newIsFloating);
      }
    };

    (0, _react.useEffect)(function () {
      var subscription = _reactNative.Keyboard.addListener("keyboardWillChangeFrame", onKeyboardWillChangeFrame);

      return function () {
        subscription.remove();
      };
    }, [isFloating]);
    return isFloating;
  };

  var TecnaviaKeyboardAvoidingView = function TecnaviaKeyboardAvoidingView(props) {
    var enabled = props.enabled,
        rest = (0, _objectWithoutProperties2.default)(props, ["enabled"]);
    var isFloatingKeyboard = useIsFloatingKeyboard();
    return _react.default.createElement(_reactNative.KeyboardAvoidingView, (0, _extends2.default)({
      style: {
        flex: 1
      },
      behavior: _$$_REQUIRE(_dependencyMap[6]).PlatformUtils.isIOS() ? "padding" : "height",
      enabled: enabled && !isFloatingKeyboard
    }, rest));
  };

  TecnaviaKeyboardAvoidingView.defaultProps = {
    enabled: true
  };
  var _default = TecnaviaKeyboardAvoidingView;
  exports.default = _default;
},1870,[5,6,108,41,17,28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.trackADBMobileAction = trackADBMobileAction;
  exports.trackADBMobileState = trackADBMobileState;
  exports.getMatherAnalyticsPageView = getMatherAnalyticsPageView;
  exports.getMatherAnalyticsAction = getMatherAnalyticsAction;
  exports.updateAnalyticsClientList = updateAnalyticsClientList;
  exports.resetAdobeAnalyticsFirstScrolledSent = resetAdobeAnalyticsFirstScrolledSent;
  exports.trackScreen = trackScreen;
  exports.trackRempAccount = trackRempAccount;
  exports.trackEvent = trackEvent;
  exports.trackCustomFirebaseEvent = trackCustomFirebaseEvent;
  exports.trackCustomFirebaseScreen = trackCustomFirebaseScreen;
  exports.clearRecently = clearRecently;
  exports.trackFeedback = trackFeedback;
  exports.trackStartup = trackStartup;
  exports.trackEnterForeground = trackEnterForeground;
  exports.trackEnterBackground = trackEnterBackground;
  exports.initMatomo = initMatomo;
  exports.initMatomoTracker = initMatomoTracker;
  exports.sendAdFailedError = sendAdFailedError;
  exports.sendAdSuccess = sendAdSuccess;
  exports.trackATTPermission = trackATTPermission;
  exports.trackWebInterstitial = trackWebInterstitial;
  exports.initAnalytics = initAnalytics;
  exports.initGoogleAnalyticsFirebase = initGoogleAnalyticsFirebase;
  exports.replaceMatomoTrackerPlaceholders = exports.getADBContextData = undefined;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _LiveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _sdkUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _cmpUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _PaywallLoginStatus = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var FirebaseAnalytics = _optionalPackageUtils.default.getFirebaseAnalytics();

  var FirebaseCrashlytics = _optionalPackageUtils.default.getCrashlytics();

  var Comscore = _optionalPackageUtils.default.getComscore();

  var _OptionalPackages$get = _optionalPackageUtils.default.getAdobeAnalytics(),
      Analytics = _OptionalPackages$get.Analytics,
      ADBMobileConfig = _OptionalPackages$get.ADBMobileConfig;

  var _OptionalPackages$get2 = _optionalPackageUtils.default.getMatherAnalytics(),
      MatherAnalytics = _OptionalPackages$get2.MatherAnalytics,
      PageView = _OptionalPackages$get2.PageView;

  var _OptionalPackages$get3 = _optionalPackageUtils.default.getFacebookSDK(),
      Settings = _OptionalPackages$get3.Settings,
      AppEventsLogger = _OptionalPackages$get3.AppEventsLogger;

  var Matomo = _optionalPackageUtils.default.getMatomo();

  var MatomoTracker = _optionalPackageUtils.default.getMatomoTracker();

  var GoogleAnalyticsTracker = _optionalPackageUtils.default.getGoogleAnalytics3Tracker();

  var getADBContextData = function _callee() {
    var params,
        contextData,
        action,
        category,
        isFirstPage,
        isZoomed,
        mode,
        SCROLLED,
        READ,
        ZOOM,
        INDEX,
        SECTION_INDEX,
        OPTIONSPAGE,
        SHARE,
        TOGGLE_TO_PRINT,
        _global$getActivePSet,
        adobeAnalyticsConfig,
        loginStatus,
        propsList,
        extraUserInfo,
        userTypeSubscriber,
        userTypeUnknown,
        printMedium,
        digitalMedium,
        zoomedMediumSuffix,
        firstPageSectionPrefix,
        pageContentType,
        firstPageContentType,
        indexContentType,
        articleContentType,
        optionspageContentType,
        editionType,
        deviceType,
        _args = arguments;

    return _regenerator.default.async(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            params = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
            contextData = {};
            action = params.action, category = params.category, isFirstPage = params.isFirstPage, isZoomed = params.isZoomed, mode = params.mode;
            SCROLLED = _$$_REQUIRE(_dependencyMap[16]).analyticsScreenTypes.SCROLLED, READ = _$$_REQUIRE(_dependencyMap[16]).analyticsScreenTypes.READ, ZOOM = _$$_REQUIRE(_dependencyMap[16]).analyticsScreenTypes.ZOOM, INDEX = _$$_REQUIRE(_dependencyMap[16]).analyticsScreenTypes.INDEX, SECTION_INDEX = _$$_REQUIRE(_dependencyMap[16]).analyticsScreenTypes.SECTION_INDEX, OPTIONSPAGE = _$$_REQUIRE(_dependencyMap[16]).analyticsScreenTypes.OPTIONSPAGE, SHARE = _$$_REQUIRE(_dependencyMap[16]).analyticsScreenTypes.SHARE;
            TOGGLE_TO_PRINT = _$$_REQUIRE(_dependencyMap[16]).analyticsEventTypes.TOGGLE_TO_PRINT;
            _global$getActivePSet = global.getActivePSetup(), adobeAnalyticsConfig = _global$getActivePSet.adobeAnalyticsConfig, loginStatus = _global$getActivePSet.loginStatus;

            if (!adobeAnalyticsConfig) {
              _context.next = 19;
              break;
            }

            propsList = _$$_REQUIRE(_dependencyMap[17]).StringUtils.parseQuerystring(adobeAnalyticsConfig.propsList);

            if (!loginStatus) {
              _context.next = 14;
              break;
            }

            _context.next = 11;
            return _regenerator.default.awrap(loginStatus.getExtraUserInfo());

          case 11:
            _context.t0 = _context.sent;
            _context.next = 15;
            break;

          case 14:
            _context.t0 = undefined;

          case 15:
            extraUserInfo = _context.t0;

            if (action === SHARE) {
              params.socialPlatform = params.platform;
              params.platform = undefined;
            }

            userTypeSubscriber = adobeAnalyticsConfig.userTypeSubscriber, userTypeUnknown = adobeAnalyticsConfig.userTypeUnknown, printMedium = adobeAnalyticsConfig.printMedium, digitalMedium = adobeAnalyticsConfig.digitalMedium, zoomedMediumSuffix = adobeAnalyticsConfig.zoomedMediumSuffix, firstPageSectionPrefix = adobeAnalyticsConfig.firstPageSectionPrefix, pageContentType = adobeAnalyticsConfig.pageContentType, firstPageContentType = adobeAnalyticsConfig.firstPageContentType, indexContentType = adobeAnalyticsConfig.indexContentType, articleContentType = adobeAnalyticsConfig.articleContentType, optionspageContentType = adobeAnalyticsConfig.optionspageContentType, editionType = adobeAnalyticsConfig.editionType, deviceType = adobeAnalyticsConfig.deviceType;
            Object.keys(propsList).forEach(function (prop) {
              if (propsList[prop]) {
                contextData[prop] = (0, _$$_REQUIRE(_dependencyMap[18]).replaceCustomDimensionsPlaceholders)(propsList[prop], params, false, function (name, paramValue) {
                  var customParamValue = paramValue;

                  switch (name) {
                    case "section":
                      if (isFirstPage && firstPageSectionPrefix) {
                        customParamValue = "" + firstPageSectionPrefix + customParamValue;
                      }

                      break;

                    case "deviceType":
                      customParamValue = deviceType;
                      break;

                    case "userType":
                      customParamValue = userTypeUnknown;
                      var TAUID = loginStatus.TAUID;

                      if (TAUID) {
                        customParamValue = userTypeSubscriber;
                      }

                      break;

                    case "medium":
                      if (action === SCROLLED || action === ZOOM || action === INDEX || action === SECTION_INDEX) {
                        customParamValue = printMedium;

                        if ((action === ZOOM || action === SCROLLED && isZoomed) && zoomedMediumSuffix) {
                          customParamValue += zoomedMediumSuffix;
                        }
                      } else if (action === READ) {
                        customParamValue = digitalMedium;

                        if (mode === _$$_REQUIRE(_dependencyMap[16]).NewsmemoryArticleModes.GRAPHIC) {
                          customParamValue = printMedium;
                        }
                      } else if (action !== OPTIONSPAGE) {
                        customParamValue = digitalMedium;

                        if (category && category === TOGGLE_TO_PRINT) {
                          customParamValue = printMedium;
                        }
                      }

                      break;

                    case "contentType":
                      if (action === SCROLLED || action === ZOOM) {
                        customParamValue = isFirstPage ? firstPageContentType : pageContentType;
                      } else if (action === READ) {
                        customParamValue = articleContentType;
                      } else if (action === INDEX || action === SECTION_INDEX) {
                        customParamValue = indexContentType;
                      } else if (action === OPTIONSPAGE) {
                        customParamValue = optionspageContentType;
                      }

                      break;

                    case "editionType":
                      customParamValue = editionType;
                      break;

                    default:
                      if (extraUserInfo && Object.keys(extraUserInfo).length > 0) {
                        var matches = name.match(/eu([0-9]+)/);

                        if (matches && matches.length > 1) {
                          var extraUserInfoId = matches[1];
                          var extraUserInfoValue = extraUserInfo[extraUserInfoId];

                          if (extraUserInfoValue) {
                            customParamValue = extraUserInfoValue;
                          }
                        }
                      }

                      break;
                  }

                  return customParamValue;
                });
              }
            });

          case 19:
            return _context.abrupt("return", contextData);

          case 20:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.getADBContextData = getADBContextData;

  function trackADBMobileAction(action, params) {
    var contextData;
    return _regenerator.default.async(function trackADBMobileAction$(_context2) {
      while (1) {
        switch (_context2.prev = _context2.next) {
          case 0:
            _context2.prev = 0;

            if (!_optionalPackageUtils.default.isAdobeAnalyticsAvailable()) {
              _context2.next = 6;
              break;
            }

            _context2.next = 4;
            return _regenerator.default.awrap(getADBContextData(params));

          case 4:
            contextData = _context2.sent;
            Analytics.trackAction(action, contextData);

          case 6:
            _context2.next = 10;
            break;

          case 8:
            _context2.prev = 8;
            _context2.t0 = _context2["catch"](0);

          case 10:
          case "end":
            return _context2.stop();
        }
      }
    }, null, null, [[0, 8]], Promise);
  }

  function trackADBMobileState(state, params) {
    var contextData;
    return _regenerator.default.async(function trackADBMobileState$(_context3) {
      while (1) {
        switch (_context3.prev = _context3.next) {
          case 0:
            _context3.prev = 0;

            if (!_optionalPackageUtils.default.isAdobeAnalyticsAvailable()) {
              _context3.next = 6;
              break;
            }

            _context3.next = 4;
            return _regenerator.default.awrap(getADBContextData(params));

          case 4:
            contextData = _context3.sent;
            Analytics.trackState(state, contextData);

          case 6:
            _context3.next = 10;
            break;

          case 8:
            _context3.prev = 8;
            _context3.t0 = _context3["catch"](0);

          case 10:
          case "end":
            return _context3.stop();
        }
      }
    }, null, null, [[0, 8]], Promise);
  }

  function getMatherAnalyticsPageView() {
    var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};

    var _global$getActivePSet2 = global.getActivePSetup(),
        loginStatus = _global$getActivePSet2.loginStatus,
        matherAnalyticsSendEmail = _global$getActivePSet2.matherAnalyticsSendEmail;

    var username = loginStatus.username,
        extid = loginStatus.extid;
    var screen = params.screen,
        action = params.action,
        edition = params.edition,
        title = params.title,
        section = params.section,
        page = params.page,
        type = params.type;
    var pageView = {
      appName: global.appName,
      pageUrl: screen,
      publication: edition,
      section: section,
      pageNumber: page
    };

    if (matherAnalyticsSendEmail && loginStatus.isLoggedIn()) {
      pageView.email = username;
      pageView.userId = {
        user: extid,
        loggedIn: true
      };
    }

    if (action === _$$_REQUIRE(_dependencyMap[16]).analyticsScreenTypes.READ) {
      pageView.pageType = "article";
    } else {
      pageView.pageType = "page";
    }

    if (title) {
      pageView.pageTitle = title;
    }

    if (type) {
      pageView.articleType = type;
    }

    return pageView;
  }

  function getMatherAnalyticsAction() {
    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
        category = _ref.category,
        action = _ref.action;

    return {
      category: category,
      action: action
    };
  }

  var replaceMatomoTrackerPlaceholders = function replaceMatomoTrackerPlaceholders(string, params) {
    var encodeValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
    var newString = string || "";

    if (newString) {
      var _global$getActivePSet3 = global.getActivePSetup(),
          matomoTrackerConfig = _global$getActivePSet3.matomoTrackerConfig;

      var edition = params.edition,
          articlesource = params.articlesource;
      newString = (0, _$$_REQUIRE(_dependencyMap[18]).replaceCustomDimensionsPlaceholders)(newString, params, encodeValue, function (name, paramValue) {
        var customParamValue = paramValue;

        switch (name) {
          case "actionBaseURL":
            if (matomoTrackerConfig) {
              customParamValue = matomoTrackerConfig.actionBaseURL;
            }

            break;

          case "edition":
            customParamValue = edition;

            if (matomoTrackerConfig && matomoTrackerConfig.editionRemapping && matomoTrackerConfig.editionRemapping[edition]) {
              customParamValue = matomoTrackerConfig.editionRemapping[edition];
            }

            break;

          case "pageInstance":
            if (articlesource) {
              customParamValue = _$$_REQUIRE(_dependencyMap[17]).StringUtils.getLastPathSegment(articlesource, "-");
            }

            break;

          default:
            break;
        }

        return customParamValue;
      });
    }

    return newString;
  };

  exports.replaceMatomoTrackerPlaceholders = replaceMatomoTrackerPlaceholders;

  var AnalyticsHelper = function () {
    function AnalyticsHelper() {
      (0, _classCallCheck2.default)(this, AnalyticsHelper);
    }

    (0, _createClass2.default)(AnalyticsHelper, null, [{
      key: "init",
      value: function init() {
        return _regenerator.default.async(function init$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                AnalyticsHelper.initGoogleAnalytics3();
                _context4.next = 3;
                return _regenerator.default.awrap(AnalyticsHelper.initGoogleAnalyticsFirebase());

              case 3:
                AnalyticsHelper.initRempAccount();
                AnalyticsHelper.initMatherAnalytics();
                AnalyticsHelper.initMatomo();
                AnalyticsHelper.initMatomoTracker();
                AnalyticsHelper.initAdobeAnalytics();
                AnalyticsHelper.initFacebookSDK();
                AnalyticsHelper.initialized = true;

              case 10:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "checkIfIsInitialized",
      value: function checkIfIsInitialized() {
        return _regenerator.default.async(function checkIfIsInitialized$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                if (AnalyticsHelper.initialized) {
                  _context5.next = 3;
                  break;
                }

                _context5.next = 3;
                return _regenerator.default.awrap(AnalyticsHelper.init());

              case 3:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "initFromPSetup",
      value: function initFromPSetup() {
        var _global$getMainPSetup = global.getMainPSetup(),
            feedbackGoogleAnalyticsAccount = _global$getMainPSetup.feedbackGoogleAnalyticsAccount,
            tecnaviaGoogleAnalyticsAccount = _global$getMainPSetup.tecnaviaGoogleAnalyticsAccount,
            TAGoogleAnalyticsEvent = _global$getMainPSetup.TAGoogleAnalyticsEvent;

        AnalyticsHelper.categoryEventOnlyEnabled = TAGoogleAnalyticsEvent;

        var _global$getActivePSet4 = global.getActivePSetup(),
            clientGoogleAnalyticsAccount = _global$getActivePSet4.clientGoogleAnalyticsAccount;

        AnalyticsHelper.populateList(AnalyticsHelper.clientList, clientGoogleAnalyticsAccount);
        AnalyticsHelper.populateList(AnalyticsHelper.feedbackList, feedbackGoogleAnalyticsAccount);
        AnalyticsHelper.populateList(AnalyticsHelper.tecnaviaList, tecnaviaGoogleAnalyticsAccount);
      }
    }, {
      key: "createGoogleAnalyticsTracker",
      value: function createGoogleAnalyticsTracker(trackerId) {
        var _global$getMainPSetup2 = global.getMainPSetup(),
            googleAnalyticsAnonymizeIP = _global$getMainPSetup2.googleAnalyticsAnonymizeIP;

        var tracker = new GoogleAnalyticsTracker(trackerId);
        tracker.setAnonymizeIp(googleAnalyticsAnonymizeIP);
        tracker.allowIDFA(false);
        return tracker;
      }
    }, {
      key: "populateList",
      value: function populateList(list, values) {
        if (values) {
          var split = values.split(",");
          split.forEach(function (item) {
            var tracker = AnalyticsHelper.createGoogleAnalyticsTracker(item);
            list.push({
              id: item.trim(),
              tracker: tracker
            });
          });
        }
      }
    }, {
      key: "updateClientList",
      value: function updateClientList() {
        if (AnalyticsHelper.googleAnalytics3Enabled) {
          AnalyticsHelper.clientList = [];

          var _global$getActivePSet5 = global.getActivePSetup(),
              clientGoogleAnalyticsAccount = _global$getActivePSet5.clientGoogleAnalyticsAccount;

          AnalyticsHelper.populateList(AnalyticsHelper.clientList, clientGoogleAnalyticsAccount);
        }
      }
    }, {
      key: "createCustomList",
      value: function createCustomList(customGoogleAnalyticsAccount) {
        var customList = [];

        if (customGoogleAnalyticsAccount) {
          var clientSplit = [];

          var _global$getActivePSet6 = global.getActivePSetup(),
              clientGoogleAnalyticsAccount = _global$getActivePSet6.clientGoogleAnalyticsAccount;

          if (clientGoogleAnalyticsAccount) {
            clientSplit.push.apply(clientSplit, (0, _toConsumableArray2.default)(clientGoogleAnalyticsAccount.split(",")));
          }

          var rssSplit = [];

          var _global$getRssIndex = global.getRssIndex(),
              googleAnalytics = _global$getRssIndex.googleAnalytics;

          if (googleAnalytics) {
            googleAnalytics.forEach(function (item) {
              var googleAccount = item.googleAccount;

              if (googleAccount) {
                rssSplit.push.apply(rssSplit, (0, _toConsumableArray2.default)(googleAccount.split(",")));
              }
            });
          }

          var customSplit = customGoogleAnalyticsAccount.split(",");
          customSplit.forEach(function (item) {
            if (!clientSplit.includes(item) && !rssSplit.includes(item)) {
              var tracker = AnalyticsHelper.createGoogleAnalyticsTracker(item);
              customList.push({
                id: item.trim(),
                tracker: tracker
              });
            }
          });
        }

        return customList;
      }
    }, {
      key: "getCustomList",
      value: function getCustomList(activePSetup, googleAnalyticsAccount) {
        if (AnalyticsHelper.customLists[activePSetup]) {
          var _AnalyticsHelper$cust = AnalyticsHelper.customLists[activePSetup],
              rawAccount = _AnalyticsHelper$cust.rawAccount,
              _list = _AnalyticsHelper$cust.list;

          if (rawAccount === googleAnalyticsAccount) {
            return _list;
          }
        }

        var list = AnalyticsHelper.createCustomList(googleAnalyticsAccount);
        AnalyticsHelper.customLists[activePSetup] = {
          rawAccount: googleAnalyticsAccount,
          list: list
        };
        return list;
      }
    }, {
      key: "initFromIndex",
      value: function initFromIndex() {
        var _global$getRssIndex2 = global.getRssIndex(),
            googleAnalytics = _global$getRssIndex2.googleAnalytics;

        if (googleAnalytics) {
          googleAnalytics.forEach(function (item) {
            if (AnalyticsHelper.isCorrectOs(item) && AnalyticsHelper.isCorrectDevice(item)) {
              var googleAccount = item.googleAccount,
                  pattern = item.pattern;
              var tracker = AnalyticsHelper.createGoogleAnalyticsTracker(googleAccount);
              AnalyticsHelper.rssList.push({
                id: googleAccount,
                pattern: pattern,
                tracker: tracker
              });
            }
          });
        }
      }
    }, {
      key: "initGoogleAnalytics3",
      value: function initGoogleAnalytics3() {
        var _global$getMainPSetup3 = global.getMainPSetup(),
            disableGoogleAnalytics3 = _global$getMainPSetup3.disableGoogleAnalytics3;

        AnalyticsHelper.googleAnalytics3Enabled = _optionalPackageUtils.default.isGoogleAnalytics3Available() && !disableGoogleAnalytics3 && _cmpUtils.default.isAnalyticsTrackingAllowed(_$$_REQUIRE(_dependencyMap[18]).ANALYTICS_SERVICES.GA3);

        if (AnalyticsHelper.googleAnalytics3Enabled) {
          AnalyticsHelper.initFromPSetup();
          AnalyticsHelper.initFromIndex();
        }
      }
    }, {
      key: "getExtId",
      value: function getExtId() {
        var _global$getActivePSet7 = global.getActivePSetup(),
            loginStatus = _global$getActivePSet7.loginStatus;

        return loginStatus && loginStatus.extid || _PaywallLoginStatus.default.getExtid();
      }
    }, {
      key: "initGoogleAnalyticsFirebase",
      value: function initGoogleAnalyticsFirebase() {
        var _global$getMainPSetup4, disableFirebaseAnalytics, otherFirebaseProjects, firebaseAnalyticsSendExternalId, extid;

        return _regenerator.default.async(function initGoogleAnalyticsFirebase$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                _global$getMainPSetup4 = global.getMainPSetup(), disableFirebaseAnalytics = _global$getMainPSetup4.disableFirebaseAnalytics, otherFirebaseProjects = _global$getMainPSetup4.otherFirebaseProjects, firebaseAnalyticsSendExternalId = _global$getMainPSetup4.firebaseAnalyticsSendExternalId;

                if (!_optionalPackageUtils.default.isFirebaseAnalyticsAvailable()) {
                  _context6.next = 26;
                  break;
                }

                AnalyticsHelper.firebaseGoogleAnalyticsEnabled = !disableFirebaseAnalytics && _cmpUtils.default.isAnalyticsTrackingAllowed(_$$_REQUIRE(_dependencyMap[18]).ANALYTICS_SERVICES.FIREBASE_GA);
                _context6.prev = 3;
                _context6.next = 6;
                return _regenerator.default.awrap(FirebaseAnalytics().setAnalyticsCollectionEnabled(AnalyticsHelper.firebaseGoogleAnalyticsEnabled));

              case 6:
                FirebaseCrashlytics().setJSCallback(FirebaseAnalytics().logEvent);

                if (!AnalyticsHelper.firebaseGoogleAnalyticsEnabled) {
                  _context6.next = 20;
                  break;
                }

                extid = AnalyticsHelper.getExtId();

                if (!firebaseAnalyticsSendExternalId) {
                  _context6.next = 12;
                  break;
                }

                _context6.next = 12;
                return _regenerator.default.awrap(FirebaseAnalytics().setUserId(extid));

              case 12:
                if (!(otherFirebaseProjects.length > 0)) {
                  _context6.next = 20;
                  break;
                }

                if (!global.__DEV__) {
                  _context6.next = 16;
                  break;
                }

                _context6.next = 16;
                return _regenerator.default.awrap(FirebaseAnalytics().debugMode(true));

              case 16:
                _context6.next = 18;
                return _regenerator.default.awrap(FirebaseAnalytics().initializeWebMode());

              case 18:
                _context6.next = 20;
                return _regenerator.default.awrap(Promise.all(otherFirebaseProjects.map(function (instance) {
                  return FirebaseAnalytics().addInstance(instance);
                })));

              case 20:
                _context6.next = 24;
                break;

              case 22:
                _context6.prev = 22;
                _context6.t0 = _context6["catch"](3);

              case 24:
                _context6.next = 27;
                break;

              case 26:
                AnalyticsHelper.firebaseGoogleAnalyticsEnabled = false;

              case 27:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, [[3, 22]], Promise);
      }
    }, {
      key: "isCorrectOs",
      value: function isCorrectOs(item) {
        return !item.OS || item.OS.toLowerCase() === _reactNative.Platform.OS.toLowerCase();
      }
    }, {
      key: "isCorrectDevice",
      value: function isCorrectDevice(item) {
        var isTablet = _$$_REQUIRE(_dependencyMap[17]).PlatformUtils.isTablet();

        var deviceFamily = "all";

        if (item.deviceFamily) {
          if (item.deviceFamily === "iPad") {
            deviceFamily = "tablet";
          } else if (item.deviceFamily === "iPhone") {
            deviceFamily = "phone";
          }
        }

        return deviceFamily === "all" || deviceFamily === "tablet" && isTablet || deviceFamily === "phone" && !isTablet;
      }
    }, {
      key: "initRempAccount",
      value: function initRempAccount() {
        var _global$getActivePSet8 = global.getActivePSetup(),
            rempAccountURL = _global$getActivePSet8.rempAccountURL;

        AnalyticsHelper.rempAccountURL = _cmpUtils.default.isAnalyticsTrackingAllowed(_$$_REQUIRE(_dependencyMap[18]).ANALYTICS_SERVICES.REMP) ? rempAccountURL : undefined;
      }
    }, {
      key: "initComScore",
      value: function initComScore() {
        var _global$getActivePSet9 = global.getActivePSetup(),
            comScoreId = _global$getActivePSet9.comScoreId,
            comScorePublisherSecret = _global$getActivePSet9.comScorePublisherSecret,
            comScoreAppName = _global$getActivePSet9.comScoreAppName;

        AnalyticsHelper.comScoreEnabled = _optionalPackageUtils.default.isComScoreAvailable() && comScoreId && comScorePublisherSecret && _cmpUtils.default.isAnalyticsTrackingAllowed(_$$_REQUIRE(_dependencyMap[18]).ANALYTICS_SERVICES.COMSCORE);

        if (AnalyticsHelper.comScoreEnabled) {
          Comscore.startup({
            comScoreId: comScoreId,
            comScorePublisherSecret: comScorePublisherSecret,
            comScoreAppName: comScoreAppName,
            persistentLabels: {}
          });
        }
      }
    }, {
      key: "initMatherAnalytics",
      value: function initMatherAnalytics() {
        var _global$getActivePSet10 = global.getActivePSetup(),
            matherAnalyticsEnabled = _global$getActivePSet10.matherAnalyticsEnabled,
            matherAnalyticsCustomerId = _global$getActivePSet10.matherAnalyticsCustomerId,
            matherAnalyticsSiteId = _global$getActivePSet10.matherAnalyticsSiteId;

        AnalyticsHelper.matherAnalyticsEnabled = _optionalPackageUtils.default.isMatherAnalyticsAvailable() && matherAnalyticsEnabled && _cmpUtils.default.isAnalyticsTrackingAllowed(_$$_REQUIRE(_dependencyMap[18]).ANALYTICS_SERVICES.MATHER);

        if (AnalyticsHelper.matherAnalyticsEnabled) {
          AnalyticsHelper.matherAnalytics = new MatherAnalytics(matherAnalyticsCustomerId, matherAnalyticsSiteId);
        } else {
          AnalyticsHelper.matherAnalytics = undefined;
        }
      }
    }, {
      key: "trackMatherAnalyticsPageView",
      value: function trackMatherAnalyticsPageView(params) {
        if (AnalyticsHelper.matherAnalyticsEnabled && AnalyticsHelper.matherAnalytics !== undefined) {
          try {
            var pageView = getMatherAnalyticsPageView(params);
            AnalyticsHelper.matherAnalytics.trackPageView(pageView);
          } catch (e) {}
        }
      }
    }, {
      key: "trackMatherAnalyticsAction",
      value: function trackMatherAnalyticsAction(params) {
        if (AnalyticsHelper.matherAnalyticsEnabled && AnalyticsHelper.matherAnalytics !== undefined) {
          try {
            var action = getMatherAnalyticsAction(params);
            AnalyticsHelper.matherAnalytics.trackAction(action);
          } catch (e) {}
        }
      }
    }, {
      key: "initAdobeAnalytics",
      value: function initAdobeAnalytics() {
        var _global$getActivePSet11 = global.getActivePSetup(),
            adobeAnalyticsEnabled = _global$getActivePSet11.adobeAnalyticsEnabled,
            adobeAnalyticsConfig = _global$getActivePSet11.adobeAnalyticsConfig;

        AnalyticsHelper.adobeAnalyticsEnabled = _optionalPackageUtils.default.isAdobeAnalyticsAvailable() && adobeAnalyticsEnabled && _cmpUtils.default.isAnalyticsTrackingAllowed(_$$_REQUIRE(_dependencyMap[18]).ANALYTICS_SERVICES.ADOBE);

        if (AnalyticsHelper.adobeAnalyticsEnabled) {
          var sendOnlyEditionLoad = adobeAnalyticsConfig.sendOnlyEditionLoad;
          AnalyticsHelper.adobeAnalyticsSendOnlyEditionLoad = sendOnlyEditionLoad;
          ADBMobileConfig.setDebugLogging(global.isDebug);
          AnalyticsHelper.startAdobeAnalytics();
        }
      }
    }, {
      key: "startAdobeAnalytics",
      value: function startAdobeAnalytics() {
        var contextData;
        return _regenerator.default.async(function startAdobeAnalytics$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                if (!AnalyticsHelper.adobeAnalyticsEnabled) {
                  _context7.next = 5;
                  break;
                }

                _context7.next = 3;
                return _regenerator.default.awrap(getADBContextData({
                  action: _$$_REQUIRE(_dependencyMap[16]).analyticsScreenTypes.LAUNCH
                }));

              case 3:
                contextData = _context7.sent;
                ADBMobileConfig.collectLifecycleData(contextData);

              case 5:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "pauseAdobeAnalytics",
      value: function pauseAdobeAnalytics() {
        if (AnalyticsHelper.adobeAnalyticsEnabled) {
          ADBMobileConfig.pauseCollectingLifecycleData();
        }
      }
    }, {
      key: "trackAdobeAnalyticsState",
      value: function trackAdobeAnalyticsState(params) {
        var action = params.action,
            section = params.section;

        var _global$getActivePSet12 = global.getActivePSetup(),
            adobeAnalyticsConfig = _global$getActivePSet12.adobeAnalyticsConfig;

        var SCROLLED = _$$_REQUIRE(_dependencyMap[16]).analyticsScreenTypes.SCROLLED,
            READ = _$$_REQUIRE(_dependencyMap[16]).analyticsScreenTypes.READ,
            ZOOM = _$$_REQUIRE(_dependencyMap[16]).analyticsScreenTypes.ZOOM,
            INDEX = _$$_REQUIRE(_dependencyMap[16]).analyticsScreenTypes.INDEX,
            SECTION_INDEX = _$$_REQUIRE(_dependencyMap[16]).analyticsScreenTypes.SECTION_INDEX,
            OPTIONSPAGE = _$$_REQUIRE(_dependencyMap[16]).analyticsScreenTypes.OPTIONSPAGE,
            SHARE = _$$_REQUIRE(_dependencyMap[16]).analyticsScreenTypes.SHARE,
            PAGE_CLICK = _$$_REQUIRE(_dependencyMap[16]).analyticsScreenTypes.PAGE_CLICK,
            ARTICLE_CLICK = _$$_REQUIRE(_dependencyMap[16]).analyticsScreenTypes.ARTICLE_CLICK;

        if (AnalyticsHelper.adobeAnalyticsEnabled && adobeAnalyticsConfig && (!AnalyticsHelper.adobeAnalyticsSendOnlyEditionLoad || action === SCROLLED && !AnalyticsHelper.adobeAnalyticsFirstScrolledSent)) {
          var scrolledStateName = adobeAnalyticsConfig.scrolledStateName,
              readStateName = adobeAnalyticsConfig.readStateName,
              zoomedStateName = adobeAnalyticsConfig.zoomedStateName,
              indexStateName = adobeAnalyticsConfig.indexStateName,
              optionspageStateName = adobeAnalyticsConfig.optionspageStateName;
          var stateName;

          switch (action) {
            case SCROLLED:
              stateName = scrolledStateName;
              AnalyticsHelper.adobeAnalyticsFirstScrolledSent = true;
              break;

            case READ:
              stateName = readStateName;
              break;

            case ZOOM:
              stateName = zoomedStateName;
              break;

            case INDEX:
              stateName = indexStateName;

              if (_$$_REQUIRE(_dependencyMap[17]).JSUtils.isEmpty(section)) {
                params.section = indexStateName;
              }

              break;

            case SECTION_INDEX:
              stateName = indexStateName;
              break;

            case OPTIONSPAGE:
              stateName = optionspageStateName;
              break;
          }

          if (stateName) {
            trackADBMobileState(stateName, params);
          } else if (action === SHARE) {
            AnalyticsHelper.trackAdobeAnalyticsAction((0, _extends2.default)({
              category: _$$_REQUIRE(_dependencyMap[16]).analyticsEventTypes.SOCIAL_SHARE
            }, params));
          } else if (action === PAGE_CLICK || action === ARTICLE_CLICK) {
            AnalyticsHelper.trackAdobeAnalyticsAction((0, _extends2.default)({
              category: _$$_REQUIRE(_dependencyMap[16]).analyticsEventTypes.LINK_CLICKED
            }, params));
          }
        }
      }
    }, {
      key: "trackAdobeAnalyticsAction",
      value: function trackAdobeAnalyticsAction(params) {
        if (AnalyticsHelper.adobeAnalyticsEnabled) {
          var _global$getActivePSet13 = global.getActivePSetup(),
              adobeAnalyticsConfig = _global$getActivePSet13.adobeAnalyticsConfig;

          if (adobeAnalyticsConfig) {
            var doubleTapActionName = adobeAnalyticsConfig.doubleTapActionName,
                pinchOutActionName = adobeAnalyticsConfig.pinchOutActionName,
                scrollZoomActionName = adobeAnalyticsConfig.scrollZoomActionName,
                textToSpeechActionName = adobeAnalyticsConfig.textToSpeechActionName,
                skipToEndActionName = adobeAnalyticsConfig.skipToEndActionName,
                toggleToPrintActionName = adobeAnalyticsConfig.toggleToPrintActionName,
                toggleToDigitalActionName = adobeAnalyticsConfig.toggleToDigitalActionName,
                shareActionName = adobeAnalyticsConfig.shareActionName,
                linkClickActionName = adobeAnalyticsConfig.linkClickActionName;

            var TTS = _$$_REQUIRE(_dependencyMap[16]).analyticsEventTypes.TTS,
                DOUBLE_TAP_TO_ZOOM = _$$_REQUIRE(_dependencyMap[16]).analyticsEventTypes.DOUBLE_TAP_TO_ZOOM,
                PINCH_TO_ZOOM = _$$_REQUIRE(_dependencyMap[16]).analyticsEventTypes.PINCH_TO_ZOOM,
                SCROLL_ZOOMED = _$$_REQUIRE(_dependencyMap[16]).analyticsEventTypes.SCROLL_ZOOMED,
                SKIP_TO_END = _$$_REQUIRE(_dependencyMap[16]).analyticsEventTypes.SKIP_TO_END,
                TOGGLE_TO_PRINT = _$$_REQUIRE(_dependencyMap[16]).analyticsEventTypes.TOGGLE_TO_PRINT,
                TOGGLE_TO_DIGITAL = _$$_REQUIRE(_dependencyMap[16]).analyticsEventTypes.TOGGLE_TO_DIGITAL,
                SOCIAL_SHARE = _$$_REQUIRE(_dependencyMap[16]).analyticsEventTypes.SOCIAL_SHARE,
                LINK_CLICKED = _$$_REQUIRE(_dependencyMap[16]).analyticsEventTypes.LINK_CLICKED;

            var ZOOM = _$$_REQUIRE(_dependencyMap[16]).analyticsScreenTypes.ZOOM;

            var category = params.category,
                action = params.action;
            var actionName;

            switch (category) {
              case DOUBLE_TAP_TO_ZOOM:
                actionName = doubleTapActionName;

                if (!action) {
                  params.action = ZOOM;
                }

                break;

              case PINCH_TO_ZOOM:
                actionName = pinchOutActionName;

                if (!action) {
                  params.action = ZOOM;
                }

                break;

              case SCROLL_ZOOMED:
                actionName = scrollZoomActionName;

                if (!action) {
                  params.action = ZOOM;
                }

                break;

              case TTS:
                actionName = textToSpeechActionName;

                if (action) {
                  if (action === _events.default.TTS_ENGINE_STARTED) {
                    actionName = actionName + ".on";
                  } else if (action === _events.default.TTS_ENGINE_STOPPED) {
                    actionName = actionName + ".off";
                  }
                }

                break;

              case SKIP_TO_END:
                actionName = skipToEndActionName;
                break;

              case TOGGLE_TO_PRINT:
                actionName = toggleToPrintActionName;
                break;

              case TOGGLE_TO_DIGITAL:
                actionName = toggleToDigitalActionName;
                break;

              case SOCIAL_SHARE:
                actionName = shareActionName;
                break;

              case LINK_CLICKED:
                actionName = linkClickActionName;
                break;
            }

            if (actionName) {
              trackADBMobileAction(actionName, params);
            }
          }
        }
      }
    }, {
      key: "initMatomo",
      value: function initMatomo() {
        var _global$getActivePSet14 = global.getActivePSetup(),
            matomoEnabled = _global$getActivePSet14.matomoEnabled,
            matomoConfig = _global$getActivePSet14.matomoConfig;

        AnalyticsHelper.matomoEnabled = _optionalPackageUtils.default.isMatomoAvailable() && matomoEnabled && _cmpUtils.default.isAnalyticsTrackingAllowed(_$$_REQUIRE(_dependencyMap[18]).ANALYTICS_SERVICES.MATOMO);

        if (AnalyticsHelper.matomoEnabled && matomoConfig) {
          var ePaperSiteId = matomoConfig.ePaperSiteId,
              rssSiteId = matomoConfig.rssSiteId,
              baseURL = matomoConfig.baseURL,
              dispatchInterval = matomoConfig.dispatchInterval,
              visitCustomDimensions = matomoConfig.visitCustomDimensions;
          var siteId = _LiveConfig.default.isRssSide() ? rssSiteId : ePaperSiteId;

          if (baseURL && siteId) {
            AnalyticsHelper.matomo = Matomo;
            AnalyticsHelper.matomo.initTracker(baseURL, siteId);
            AnalyticsHelper.matomo.setDispatchInterval(dispatchInterval);
            AnalyticsHelper.matomo.removeAllDimensions().then(function () {
              if (visitCustomDimensions) {
                var dimensions = (0, _$$_REQUIRE(_dependencyMap[18]).parseCustomDimensionsString)(visitCustomDimensions);
                Object.keys(dimensions).forEach(function (key) {
                  return AnalyticsHelper.matomo.setCustomDimension(parseInt(key, 10), dimensions[key]);
                });
              }
            });
          } else {
            AnalyticsHelper.matomo = undefined;
          }
        } else {
          AnalyticsHelper.matomo = undefined;
        }
      }
    }, {
      key: "trackMatomoScreen",
      value: function trackMatomoScreen(params) {
        if (AnalyticsHelper.matomoEnabled && AnalyticsHelper.matomo !== undefined) {
          try {
            var _global$getActivePSet15 = global.getActivePSetup(),
                matomoConfig = _global$getActivePSet15.matomoConfig;

            var customDimensions = matomoConfig.customDimensions;
            var title = "";
            AnalyticsHelper.matomo.trackScreen(params.screen, title, (0, _$$_REQUIRE(_dependencyMap[18]).parseCustomDimensionsString)(customDimensions, params));
          } catch (e) {}
        }
      }
    }, {
      key: "trackMatomoEvent",
      value: function trackMatomoEvent(params) {
        if (AnalyticsHelper.matomoEnabled && AnalyticsHelper.matomo !== undefined) {
          try {
            var category = params.category,
                action = params.action,
                label = params.label;
            AnalyticsHelper.matomo.trackEvent(category, action, label);
          } catch (e) {}
        }
      }
    }, {
      key: "matomoDispatch",
      value: function matomoDispatch() {
        if (AnalyticsHelper.matomoEnabled && AnalyticsHelper.matomo !== undefined) {
          try {
            AnalyticsHelper.matomo.dispatch();
          } catch (e) {}
        }
      }
    }, {
      key: "initMatomoTracker",
      value: function initMatomoTracker() {
        var _global$getActivePSet16 = global.getActivePSetup(),
            matomoTrackerEnabled = _global$getActivePSet16.matomoTrackerEnabled,
            matomoTrackerConfig = _global$getActivePSet16.matomoTrackerConfig;

        AnalyticsHelper.matomoTrackerEnabled = _optionalPackageUtils.default.isMatomoTrackerAvailable() && matomoTrackerEnabled && _cmpUtils.default.isAnalyticsTrackingAllowed(_$$_REQUIRE(_dependencyMap[18]).ANALYTICS_SERVICES.MATOMO_MAS);

        if (AnalyticsHelper.matomoTrackerEnabled && matomoTrackerConfig) {
          var ePaperSiteId = matomoTrackerConfig.ePaperSiteId,
              rssSiteId = matomoTrackerConfig.rssSiteId,
              baseURL = matomoTrackerConfig.baseURL;
          var siteId = _LiveConfig.default.isRssSide() ? rssSiteId : ePaperSiteId;

          if (baseURL && siteId) {
            AnalyticsHelper.matomoTracker = new MatomoTracker({
              urlBase: baseURL,
              trackerUrl: baseURL,
              siteId: siteId
            });
          } else {
            AnalyticsHelper.matomoTracker = undefined;
          }
        } else {
          AnalyticsHelper.matomoTracker = undefined;
        }
      }
    }, {
      key: "getMatomoTrackerUserInfo",
      value: function getMatomoTrackerUserInfo() {
        var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var action = params.action;

        var _global$getActivePSet17 = global.getActivePSetup(),
            matomoTrackerConfig = _global$getActivePSet17.matomoTrackerConfig;

        if (action && matomoTrackerConfig) {
          var titles = matomoTrackerConfig.titles,
              customURLs = matomoTrackerConfig.customURLs,
              customDimensions = matomoTrackerConfig.customDimensions;
          var title = replaceMatomoTrackerPlaceholders(titles[action], params);
          var url = replaceMatomoTrackerPlaceholders(customURLs[action], params);

          var customDimensionsObj = _$$_REQUIRE(_dependencyMap[17]).StringUtils.parseQuerystring(replaceMatomoTrackerPlaceholders(customDimensions[action], params, true));

          return (0, _extends2.default)({
            action_name: title,
            url: url
          }, customDimensionsObj, {
            ua: _$$_REQUIRE(_dependencyMap[17]).PlatformUtils.getUserAgent()
          });
        }

        return {};
      }
    }, {
      key: "trackMatomoTrackerPageView",
      value: function trackMatomoTrackerPageView() {
        var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};

        if (AnalyticsHelper.matomoTrackerEnabled && AnalyticsHelper.matomoTracker !== undefined) {
          try {
            var userInfo = AnalyticsHelper.getMatomoTrackerUserInfo(params);

            if (userInfo && userInfo.action_name) {
              AnalyticsHelper.matomoTracker.trackScreenView({
                name: userInfo.action_name,
                userInfo: userInfo
              });
            }
          } catch (e) {}
        }
      }
    }, {
      key: "trackMatomoTrackerEvent",
      value: function trackMatomoTrackerEvent(params) {
        if (AnalyticsHelper.matomoTrackerEnabled && AnalyticsHelper.matomoTracker !== undefined) {
          try {
            var category = params.category,
                action = params.action,
                label = params.label;
          } catch (e) {}
        }
      }
    }, {
      key: "initFacebookSDK",
      value: function initFacebookSDK() {
        var _global$getMainPSetup5 = global.getMainPSetup(),
            facebookEnabled = _global$getMainPSetup5.facebookEnabled;

        AnalyticsHelper.facebookSDKEnabled = _optionalPackageUtils.default.isFacebookSDKAvailable() && facebookEnabled && global.facebookAppId && _cmpUtils.default.isAnalyticsTrackingAllowed(_$$_REQUIRE(_dependencyMap[18]).ANALYTICS_SERVICES.FACEBOOK);

        if (AnalyticsHelper.facebookSDKEnabled) {
          if (global.isDebug) {
            Settings.setAppID(global.facebookAppId);
          }

          if (typeof Settings.setAutoLogAppEventsEnabled === "function") {
            Settings.setAutoLogAppEventsEnabled(true);
          }

          if (_$$_REQUIRE(_dependencyMap[17]).PlatformUtils.isIOS()) {
            Settings.setAdvertiserTrackingEnabled(_cmpUtils.default.isAdTrackingAllowed());
          }

          Settings.initializeSDK();
        }
      }
    }, {
      key: "trackFacebookAppEvent",
      value: function trackFacebookAppEvent(params) {
        if (AnalyticsHelper.facebookSDKEnabled) {
          var eventName;
          var otherParams = {};

          if (params.event) {
            var event = params.event,
                isFirstPage = params.isFirstPage,
                isZoomed = params.isZoomed,
                remp = params.remp,
                rest = (0, _objectWithoutProperties2.default)(params, ["event", "isFirstPage", "isZoomed", "remp"]);
            eventName = event;
            otherParams = rest;
          } else if (params.apptype === "rss") {
            var type = params.type,
                apptype = params.apptype,
                _rest = (0, _objectWithoutProperties2.default)(params, ["type", "apptype"]);

            eventName = type;
            otherParams = (0, _extends2.default)({}, _rest, {
              appMode: apptype
            });
          } else if (params.category) {
            var category = params.category,
                _isFirstPage = params.isFirstPage,
                _rest2 = (0, _objectWithoutProperties2.default)(params, ["category", "isFirstPage"]);

            eventName = category;
            otherParams = _rest2;
          }

          if (eventName) {
            AppEventsLogger.logEvent(eventName, otherParams);
          }
        }
      }
    }, {
      key: "trackSDKAction",
      value: function trackSDKAction(type, params) {
        _sdkUtils.default.onTrackAction({
          trackType: type,
          data: params
        });
      }
    }, {
      key: "trackStartup",
      value: function trackStartup() {
        if (AnalyticsHelper.initialized) {
          AnalyticsHelper.tecnaviaList.forEach(function (analytic) {
            AnalyticsHelper.sendTecnaviaGoogleAnalyticsEvent(analytic.tracker, {
              category: _LiveConfig.default.getAppSide(),
              action: "startup",
              label: _$$_REQUIRE(_dependencyMap[17]).PlatformUtils.model()
            });
          });
        } else {}
      }
    }, {
      key: "trackFeedback",
      value: function trackFeedback(screen) {
        if (AnalyticsHelper.initialized) {
          AnalyticsHelper.feedbackList.forEach(function (analytic) {
            AnalyticsHelper.sendScreen(analytic.tracker, screen);
          });
        } else {}
      }
    }, {
      key: "getFirebaseDefaultCustomParams",
      value: function getFirebaseDefaultCustomParams() {
        return {
          ta_app_version: _deviceUtils.default.getAppVersion(),
          ta_app_name: _$$_REQUIRE(_dependencyMap[17]).PlatformUtils.appName(),
          ta_operating_system: _$$_REQUIRE(_dependencyMap[17]).PlatformUtils.getSystemName() + " " + _$$_REQUIRE(_dependencyMap[17]).PlatformUtils.getSystemVersion()
        };
      }
    }, {
      key: "trackFirebaseEvent",
      value: function trackFirebaseEvent(event, params) {
        if (AnalyticsHelper.initialized) {
          if (AnalyticsHelper.firebaseGoogleAnalyticsEnabled) {
            FirebaseAnalytics().logEvent(event, (0, _extends2.default)({}, AnalyticsHelper.getFirebaseDefaultCustomParams(), params));
          } else {}
        } else {}
      }
    }, {
      key: "trackFirebaseScreen",
      value: function trackFirebaseScreen(screenName, pageLocation) {
        if (AnalyticsHelper.initialized) {
          if (AnalyticsHelper.firebaseGoogleAnalyticsEnabled) {
            FirebaseAnalytics().logScreenView((0, _extends2.default)({}, AnalyticsHelper.getFirebaseDefaultCustomParams(), {
              screen_name: screenName,
              custom_screen_class: _$$_REQUIRE(_dependencyMap[17]).PlatformUtils.isAndroid() ? "SplashActivity" : "ReactViewController",
              page_location: pageLocation
            }));
          } else {}
        } else {}
      }
    }, {
      key: "isScreenValid",
      value: function isScreenValid(screen) {
        return screen.split("/").filter(function (part) {
          return part === "null" || part === "undefined";
        }).length === 0;
      }
    }, {
      key: "trackScreen",
      value: function trackScreen(screen, params, customDimensions) {
        if (AnalyticsHelper.initialized) {
          if (AnalyticsHelper.isScreenValid(screen)) {
            if (AnalyticsHelper.googleAnalytics3Enabled) {
              if (AnalyticsHelper.categoryEventOnlyEnabled !== "startup") {
                AnalyticsHelper.tecnaviaList.forEach(function (analytic) {
                  AnalyticsHelper.sendScreen(analytic.tracker, screen, customDimensions);
                });
              }

              AnalyticsHelper.clientList.forEach(function (analytic) {
                AnalyticsHelper.sendScreen(analytic.tracker, screen, customDimensions);
              });
              AnalyticsHelper.rssList.forEach(function (analytic) {
                if (_LiveConfig.default.isRssSide() && params && analytic.pattern) {
                  var pattern = analytic.pattern;
                  pattern = AnalyticsHelper.replaceValueInPattern(pattern, "{apptype}", params.apptype);
                  pattern = AnalyticsHelper.replaceValueInPattern(pattern, "{devicetype}", params.devicetype);
                  pattern = AnalyticsHelper.replaceValueInPattern(pattern, "{paper}", params.paper);
                  pattern = AnalyticsHelper.replaceValueInPattern(pattern, "{psetup}", params.psetup);
                  pattern = AnalyticsHelper.replaceValueInPattern(pattern, "{category}", params.category);
                  pattern = AnalyticsHelper.replaceValueInPattern(pattern, "{date}", params.date);
                  pattern = AnalyticsHelper.replaceValueInPattern(pattern, "{layout}", params.layout);
                  pattern = AnalyticsHelper.replaceValueInPattern(pattern, "{articletitle}", params.articletitle);
                  pattern = pattern.replace(new RegExp("/{2,}|/{2,}|/\\|", "g"), "/");
                  AnalyticsHelper.sendScreen(analytic.tracker, pattern, customDimensions);
                } else {
                  AnalyticsHelper.sendScreen(analytic.tracker, screen, customDimensions);
                }
              });
            }

            if (params) {
              var activePSetup = params.activePSetup,
                  googleAnalyticsAccount = params.googleAnalyticsAccount;

              if (AnalyticsHelper.googleAnalytics3Enabled && activePSetup && googleAnalyticsAccount) {
                var customList = AnalyticsHelper.getCustomList(activePSetup, googleAnalyticsAccount);
                customList.forEach(function (analytic) {
                  AnalyticsHelper.sendScreen(analytic.tracker, screen, customDimensions);
                });
              }

              AnalyticsHelper.trackMatherAnalyticsPageView(params);
              AnalyticsHelper.trackAdobeAnalyticsState(params);
              AnalyticsHelper.trackMatomoScreen((0, _extends2.default)({
                screen: screen
              }, params));
              AnalyticsHelper.trackMatomoTrackerPageView((0, _extends2.default)({
                screen: screen
              }, params));
              AnalyticsHelper.trackFacebookAppEvent((0, _extends2.default)({
                screen: screen
              }, params));
              AnalyticsHelper.trackSDKAction("screen", (0, _extends2.default)({
                screen: screen
              }, params));
            }
          } else {}
        } else {}
      }
    }, {
      key: "trackEvent",
      value: function trackEvent(params) {
        if (AnalyticsHelper.initialized) {
          if (AnalyticsHelper.googleAnalytics3Enabled) {
            if (AnalyticsHelper.categoryEventOnlyEnabled !== "startup") {
              AnalyticsHelper.tecnaviaList.forEach(function (analytic) {
                AnalyticsHelper.sendTecnaviaGoogleAnalyticsEvent(analytic.tracker, params);
              });
            }

            AnalyticsHelper.clientList.forEach(function (analytic) {
              AnalyticsHelper.sendGoogleAnalyticsEvent(analytic.tracker, params);
            });
            AnalyticsHelper.rssList.forEach(function (analytic) {
              AnalyticsHelper.sendGoogleAnalyticsEvent(analytic.tracker, params);
            });
          }

          if (params) {
            var activePSetup = params.activePSetup,
                googleAnalyticsAccount = params.googleAnalyticsAccount;

            if (AnalyticsHelper.googleAnalytics3Enabled && activePSetup && googleAnalyticsAccount) {
              var customList = AnalyticsHelper.getCustomList(activePSetup, googleAnalyticsAccount);
              customList.forEach(function (analytic) {
                AnalyticsHelper.sendGoogleAnalyticsEvent(analytic.tracker, params);
              });
            }

            AnalyticsHelper.trackMatherAnalyticsAction(params);
            AnalyticsHelper.trackMatomoEvent(params);
            AnalyticsHelper.trackMatomoTrackerEvent(params);
            AnalyticsHelper.trackAdobeAnalyticsAction(params);
            AnalyticsHelper.trackFacebookAppEvent(params);
            AnalyticsHelper.trackSDKAction("event", params);
          }
        } else {}
      }
    }, {
      key: "trackRempAccount",
      value: function trackRempAccount(rParam) {
        return _regenerator.default.async(function trackRempAccount$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                if (!AnalyticsHelper.initialized) {
                  _context8.next = 11;
                  break;
                }

                if (!(AnalyticsHelper.rempAccountURL && rParam)) {
                  _context8.next = 9;
                  break;
                }

                _context8.prev = 2;
                _context8.next = 5;
                return _regenerator.default.awrap(_Api.default.remp(AnalyticsHelper.rempAccountURL, {
                  r: rParam
                }));

              case 5:
                _context8.next = 9;
                break;

              case 7:
                _context8.prev = 7;
                _context8.t0 = _context8["catch"](2);

              case 9:
                _context8.next = 11;
                break;

              case 11:
              case "end":
                return _context8.stop();
            }
          }
        }, null, null, [[2, 7]], Promise);
      }
    }, {
      key: "replaceValueInPattern",
      value: function replaceValueInPattern(pattern, toReplace, value) {
        return pattern.replace(toReplace, value || "");
      }
    }, {
      key: "isProduction",
      value: function isProduction() {
        return !global.isDebug;
      }
    }, {
      key: "sendScreen",
      value: function sendScreen(tracker, screen) {
        var customDimensions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};

        if (AnalyticsHelper.isProduction() && AnalyticsHelper.googleAnalytics3Enabled) {
          tracker.trackScreenView(screen, {
            customDimensions: customDimensions
          });
        }
      }
    }, {
      key: "sendTecnaviaGoogleAnalyticsEvent",
      value: function sendTecnaviaGoogleAnalyticsEvent(tracker, params) {
        if (AnalyticsHelper.categoryEventOnlyEnabled !== "startup" || params.action === "startup") {
          AnalyticsHelper.sendGoogleAnalyticsEvent(tracker, params);
        }
      }
    }, {
      key: "sendGoogleAnalyticsEvent",
      value: function sendGoogleAnalyticsEvent(tracker, _ref2) {
        var category = _ref2.category,
            action = _ref2.action,
            label = _ref2.label;

        if (AnalyticsHelper.isProduction() && AnalyticsHelper.googleAnalytics3Enabled) {
          tracker.trackEvent(category, action, label ? {
            label: label
          } : {});
        }
      }
    }, {
      key: "addToScreenRecentlyVisited",
      value: function addToScreenRecentlyVisited(str) {
        AnalyticsHelper.addToRecentlyVisited(AnalyticsHelper.recentlyScreenVisited, str);
      }
    }, {
      key: "addToEventRecentlyVisited",
      value: function addToEventRecentlyVisited(str) {
        AnalyticsHelper.addToRecentlyVisited(AnalyticsHelper.recentlyEventVisited, str);
      }
    }, {
      key: "addToFirebaseEventRecentlyVisited",
      value: function addToFirebaseEventRecentlyVisited(str) {
        AnalyticsHelper.addToRecentlyVisited(AnalyticsHelper.recentlyFirebaseEventVisited, str);
      }
    }, {
      key: "addToFirebaseScreenRecentlyVisited",
      value: function addToFirebaseScreenRecentlyVisited(str) {
        AnalyticsHelper.addToRecentlyVisited(AnalyticsHelper.recentlyFirebaseScreenVisited, str);
      }
    }, {
      key: "addToRempRecentlyVisited",
      value: function addToRempRecentlyVisited(str) {
        AnalyticsHelper.addToRecentlyVisited(AnalyticsHelper.recentlyRempVisited, str);
      }
    }, {
      key: "checkIfScreenIsAlreadySent",
      value: function checkIfScreenIsAlreadySent(str) {
        return AnalyticsHelper.checkIfIsAlreadySent(AnalyticsHelper.recentlyScreenVisited, str);
      }
    }, {
      key: "checkIfEventIsAlreadySent",
      value: function checkIfEventIsAlreadySent(str) {
        return AnalyticsHelper.checkIfIsAlreadySent(AnalyticsHelper.recentlyEventVisited, str);
      }
    }, {
      key: "checkIfFirebaseEventIsAlreadySent",
      value: function checkIfFirebaseEventIsAlreadySent(str) {
        return AnalyticsHelper.checkIfIsAlreadySent(AnalyticsHelper.recentlyFirebaseEventVisited, str);
      }
    }, {
      key: "checkIfFirebaseScreenIsAlreadySent",
      value: function checkIfFirebaseScreenIsAlreadySent(str) {
        return AnalyticsHelper.checkIfIsAlreadySent(AnalyticsHelper.recentlyFirebaseScreenVisited, str);
      }
    }, {
      key: "checkIfRempIsAlreadySent",
      value: function checkIfRempIsAlreadySent(str) {
        return AnalyticsHelper.checkIfIsAlreadySent(AnalyticsHelper.recentlyRempVisited, str);
      }
    }, {
      key: "clearRecently",
      value: function clearRecently() {
        AnalyticsHelper.recentlyEventVisited = [];
        AnalyticsHelper.recentlyFirebaseEventVisited = [];
        AnalyticsHelper.recentlyFirebaseScreenVisited = [];
        AnalyticsHelper.recentlyScreenVisited = [];
        AnalyticsHelper.recentlyRempVisited = [];
      }
    }, {
      key: "addToRecentlyVisited",
      value: function addToRecentlyVisited(recentlyVisited, str) {
        recentlyVisited.push(str);
        var max = AnalyticsHelper.MAX_RECENTLY_VISITED;

        if (max > 0 && recentlyVisited.length > max) {
          recentlyVisited.shift();
        }
      }
    }, {
      key: "checkIfIsAlreadySent",
      value: function checkIfIsAlreadySent(recentlyVisited, str) {
        for (var i = 0; i < recentlyVisited.length; i++) {
          if (str === recentlyVisited[i]) {
            return true;
          }
        }

        return false;
      }
    }, {
      key: "resetAdobeAnalyticsFirstScrolledSent",
      value: function resetAdobeAnalyticsFirstScrolledSent() {
        AnalyticsHelper.adobeAnalyticsFirstScrolledSent = false;
      }
    }]);
    return AnalyticsHelper;
  }();

  AnalyticsHelper.MAX_RECENTLY_VISITED = 5;
  AnalyticsHelper.recentlyScreenVisited = [];
  AnalyticsHelper.recentlyEventVisited = [];
  AnalyticsHelper.recentlyFirebaseEventVisited = [];
  AnalyticsHelper.recentlyFirebaseScreenVisited = [];
  AnalyticsHelper.recentlyRempVisited = [];
  AnalyticsHelper.googleAnalytics3Enabled = false;
  AnalyticsHelper.firebaseGoogleAnalyticsEnabled = false;
  AnalyticsHelper.categoryEventOnlyEnabled = false;
  AnalyticsHelper.clientList = [];
  AnalyticsHelper.customLists = {};
  AnalyticsHelper.tecnaviaList = [];
  AnalyticsHelper.feedbackList = [];
  AnalyticsHelper.rssList = [];
  AnalyticsHelper.comScoreEnabled = false;
  AnalyticsHelper.matherAnalyticsEnabled = false;
  AnalyticsHelper.adobeAnalyticsEnabled = false;
  AnalyticsHelper.adobeAnalyticsFirstScrolledSent = false;
  AnalyticsHelper.adobeAnalyticsSendOnlyEditionLoad = false;
  AnalyticsHelper.facebookSDKEnabled = false;
  AnalyticsHelper.matomoEnabled = false;
  AnalyticsHelper.matomoTrackerEnabled = false;
  AnalyticsHelper.initialized = false;

  function updateAnalyticsClientList() {
    AnalyticsHelper.updateClientList();
  }

  function resetAdobeAnalyticsFirstScrolledSent() {
    AnalyticsHelper.resetAdobeAnalyticsFirstScrolledSent();
  }

  function trackScreen(screen, params, customDimensions) {
    if (_LiveConfig.default.isRssSide() || !AnalyticsHelper.checkIfScreenIsAlreadySent("" + screen)) {
      AnalyticsHelper.addToScreenRecentlyVisited("" + screen);
      AnalyticsHelper.trackScreen(screen, params, customDimensions);
      return true;
    }

    return false;
  }

  function trackRempAccount(rParam) {
    if (!AnalyticsHelper.checkIfRempIsAlreadySent(rParam)) {
      AnalyticsHelper.addToRempRecentlyVisited(rParam);
      AnalyticsHelper.trackRempAccount(rParam);
      return true;
    }

    return false;
  }

  function trackEvent(params) {
    var str = JSON.stringify(params);

    if (!AnalyticsHelper.checkIfEventIsAlreadySent(str)) {
      AnalyticsHelper.addToEventRecentlyVisited(str);
      AnalyticsHelper.trackEvent(params);
      return true;
    }

    return false;
  }

  function trackCustomFirebaseEvent(_ref3) {
    var customEvent = _ref3.customEvent,
        customParams = _ref3.customParams;
    var str = customEvent + "_" + JSON.stringify(customParams);

    if (!AnalyticsHelper.checkIfFirebaseEventIsAlreadySent(str)) {
      AnalyticsHelper.addToFirebaseEventRecentlyVisited(str);
      AnalyticsHelper.trackFirebaseEvent(customEvent, customParams);
      return true;
    }

    return false;
  }

  function trackCustomFirebaseScreen(screenName) {
    var pagePath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
    var str = screenName;

    if (pagePath) {
      str += "_" + pagePath;
    }

    if (!AnalyticsHelper.checkIfFirebaseScreenIsAlreadySent(str)) {
      AnalyticsHelper.addToFirebaseScreenRecentlyVisited(str);
      var pageLocation;

      var _global$getActivePSet18 = global.getActivePSetup(),
          machine = _global$getActivePSet18.machine;

      if (machine) {
        pageLocation = _$$_REQUIRE(_dependencyMap[17]).NetworkUtils.addDefaultProtocol(machine) + pagePath;
      }

      AnalyticsHelper.trackFirebaseScreen(screenName, pageLocation);
      return true;
    }

    return false;
  }

  function clearRecently() {
    AnalyticsHelper.clearRecently();
  }

  function trackFeedback(screen) {
    AnalyticsHelper.trackFeedback(screen);
  }

  function trackStartup() {
    AnalyticsHelper.trackStartup();
    AnalyticsHelper.initComScore();
  }

  function trackEnterForeground() {
    if (_optionalPackageUtils.default.isComScoreAvailable()) {
      Comscore.onEnterForeground();
    }

    AnalyticsHelper.startAdobeAnalytics();
  }

  function trackEnterBackground() {
    if (_optionalPackageUtils.default.isComScoreAvailable()) {
      Comscore.onExitForeground();
    }

    AnalyticsHelper.pauseAdobeAnalytics();
    AnalyticsHelper.matomoDispatch();
  }

  function initMatomo() {
    try {
      AnalyticsHelper.initMatomo();
    } catch (e) {}
  }

  function initMatomoTracker() {
    try {
      AnalyticsHelper.initMatomoTracker();
    } catch (e) {}
  }

  function sendAdFailedError(params) {
    trackCustomFirebaseEvent({
      customEvent: "advertisement_failed",
      customParams: params
    });
  }

  function sendAdSuccess(params) {
    trackCustomFirebaseEvent({
      customEvent: "advertisement_loaded",
      customParams: params
    });
  }

  function trackATTPermission(action) {
    if (action !== "unavailable") {
      var event = "apple_att_permission";
      var device = (0, _$$_REQUIRE(_dependencyMap[18]).gaBreakout)();
      trackEvent({
        category: event,
        action: action,
        device: device
      });
      trackCustomFirebaseEvent({
        customEvent: event,
        customParams: {
          action: action,
          device: device
        }
      });
    }
  }

  function trackWebInterstitial(model, action) {
    if (model) {
      var event = model.getScreenType();
      var name = model.getScreenName();
      var id = model.getId();
      var screen = (0, _$$_REQUIRE(_dependencyMap[18]).getScreenString)({
        type: event,
        name: name,
        id: id
      });
      var params = {
        id: id,
        name: name,
        action: action,
        screen: screen,
        type: "web"
      };
      trackCustomFirebaseEvent({
        customEvent: event,
        customParams: params
      });
      trackScreen(screen, (0, _extends2.default)({
        event: event
      }, params));
    }
  }

  function initAnalytics() {
    return _regenerator.default.async(function initAnalytics$(_context9) {
      while (1) {
        switch (_context9.prev = _context9.next) {
          case 0:
            return _context9.abrupt("return", AnalyticsHelper.init());

          case 1:
          case "end":
            return _context9.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function initGoogleAnalyticsFirebase() {
    return _regenerator.default.async(function initGoogleAnalyticsFirebase$(_context10) {
      while (1) {
        switch (_context10.prev = _context10.next) {
          case 0:
            return _context10.abrupt("return", AnalyticsHelper.initGoogleAnalyticsFirebase());

          case 1:
          case "end":
            return _context10.stop();
        }
      }
    }, null, null, null, Promise);
  }
},1871,[5,108,6,21,7,8,80,28,431,460,731,1872,1874,1875,458,1864,1893,462,1892]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.APP_SIDE = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _KeyEvent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var APP_SIDE = {
    ePaper: "ePaper",
    ePaperClassic: "ePaperClassic",
    ePaperHTML5: "ePaperHTML5",
    rss: "rss"
  };
  exports.APP_SIDE = APP_SIDE;

  var LiveConfigSingleton = function () {
    function LiveConfigSingleton() {
      var _this = this;

      (0, _classCallCheck2.default)(this, LiveConfigSingleton);
      this.rssStartingUp = true;
      this.lastRssCategory = "";
      this.startupNavigator = "";
      this.deletedRssDatabase = false;
      this.isDrawerOpen = false;
      this.appSide = undefined;
      this.idEventSetValue = undefined;
      this.idEventGetValue = undefined;
      this.activeKeys = {};
      this.idEventSetValue = _$$_REQUIRE(_dependencyMap[5]).EventRegister.on(_events.default.LIVE_CONFIG_SET_VALUE, function (_ref) {
        var key = _ref.key,
            value = _ref.value,
            resolve = _ref.resolve,
            reject = _ref.reject;

        if (_$$_REQUIRE(_dependencyMap[6]).JSUtils.hasProperty(_this, key)) {
          _this[key] = value;

          _this._resolvePromise(resolve, _this[key]);
        } else {
          _this._rejectPromise(reject, key);
        }
      });
      this.idEventGetValue = _$$_REQUIRE(_dependencyMap[5]).EventRegister.on(_events.default.LIVE_CONFIG_GET_VALUE, function (_ref2) {
        var key = _ref2.key,
            resolve = _ref2.resolve,
            reject = _ref2.reject;

        if (_$$_REQUIRE(_dependencyMap[6]).JSUtils.hasProperty(_this, key)) {
          _this._resolvePromise(resolve, _this[key]);
        } else {
          _this._rejectPromise(reject, key);
        }
      });
    }

    (0, _createClass2.default)(LiveConfigSingleton, [{
      key: "set",
      value: function set(key, value) {
        if (_$$_REQUIRE(_dependencyMap[6]).JSUtils.hasProperty(this, key)) {
          this[key] = value;
        }
      }
    }, {
      key: "get",
      value: function get(key) {
        return this[key];
      }
    }, {
      key: "_resolvePromise",
      value: function _resolvePromise(resolve, result) {
        if (typeof resolve === "function") {
          resolve(result);
        }
      }
    }, {
      key: "_rejectPromise",
      value: function _rejectPromise(reject, key) {
        if (typeof reject === "function") {
          reject(new Error(key + " not found"));
        }
      }
    }]);
    return LiveConfigSingleton;
  }();

  var LiveConfig = function () {
    function LiveConfig() {
      (0, _classCallCheck2.default)(this, LiveConfig);
    }

    (0, _createClass2.default)(LiveConfig, null, [{
      key: "init",
      value: function init() {
        LiveConfig.instance = new LiveConfigSingleton();
      }
    }, {
      key: "getInstance",
      value: function getInstance() {
        if (LiveConfig.instance === undefined) {
          LiveConfig.init();
        }

        return LiveConfig.instance;
      }
    }, {
      key: "isDrawerOpen",
      value: function isDrawerOpen() {
        return LiveConfig.getInstance().get("isDrawerOpen");
      }
    }, {
      key: "setDrawerOpen",
      value: function setDrawerOpen(value) {
        LiveConfig.getInstance().set("isDrawerOpen", value);
      }
    }, {
      key: "isRssDbDeleted",
      value: function isRssDbDeleted() {
        return LiveConfig.getInstance().get("deletedRssDatabase");
      }
    }, {
      key: "setRssDbDeleted",
      value: function setRssDbDeleted(value) {
        LiveConfig.getInstance().set("deletedRssDatabase", value);
      }
    }, {
      key: "isRssStartingUp",
      value: function isRssStartingUp() {
        return LiveConfig.getInstance().get("rssStartingUp");
      }
    }, {
      key: "setRssStartingUp",
      value: function setRssStartingUp(value) {
        LiveConfig.getInstance().set("rssStartingUp", value);
      }
    }, {
      key: "getLastRssCategory",
      value: function getLastRssCategory() {
        return LiveConfig.getInstance().get("lastRssCategory") || global.lastRssCategory;
      }
    }, {
      key: "setLastRssCategory",
      value: function setLastRssCategory(value) {
        global.lastRssCategory = value;
        LiveConfig.getInstance().set("lastRssCategory", value);
      }
    }, {
      key: "resetLastRssCategory",
      value: function resetLastRssCategory() {
        global.lastRssCategory = undefined;
        LiveConfig.getInstance().set("lastRssCategory", undefined);
      }
    }, {
      key: "getStartUpNavigator",
      value: function getStartUpNavigator() {
        return LiveConfig.getInstance().get("startupNavigator");
      }
    }, {
      key: "setStartUpNavigator",
      value: function setStartUpNavigator(value) {
        LiveConfig.getInstance().set("startupNavigator", value);
      }
    }, {
      key: "getAppSide",
      value: function getAppSide() {
        return LiveConfig.getInstance().get("appSide");
      }
    }, {
      key: "getActiveKeys",
      value: function getActiveKeys() {
        return LiveConfig.getInstance().get("activeKeys") || {};
      }
    }, {
      key: "setSide",
      value: function setSide(side) {
        global.lastAppSide = side;
        LiveConfig.getInstance().set("appSide", side);
      }
    }, {
      key: "setEpaperSide",
      value: function setEpaperSide() {
        LiveConfig.setSide(APP_SIDE.ePaper);
      }
    }, {
      key: "setEpaperClassicSide",
      value: function setEpaperClassicSide() {
        LiveConfig.setSide(APP_SIDE.ePaperClassic);
      }
    }, {
      key: "setEpaperHTML5Side",
      value: function setEpaperHTML5Side() {
        LiveConfig.setSide(APP_SIDE.ePaperHTML5);
      }
    }, {
      key: "setRssSide",
      value: function setRssSide() {
        LiveConfig.setSide(APP_SIDE.rss);
      }
    }, {
      key: "isEpaperSide",
      value: function isEpaperSide() {
        var side = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : LiveConfig.getAppSide();
        return side === APP_SIDE.ePaper;
      }
    }, {
      key: "isEpaperClassicSide",
      value: function isEpaperClassicSide() {
        var side = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : LiveConfig.getAppSide();
        return side === APP_SIDE.ePaperClassic;
      }
    }, {
      key: "isEpaperHTML5Side",
      value: function isEpaperHTML5Side() {
        var side = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : LiveConfig.getAppSide();
        return side === APP_SIDE.ePaperHTML5;
      }
    }, {
      key: "isRssSide",
      value: function isRssSide() {
        var side = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : LiveConfig.getAppSide();
        return side === APP_SIDE.rss;
      }
    }, {
      key: "keyDown",
      value: function keyDown(event) {
        var activeKeys = LiveConfig.getActiveKeys();
        activeKeys[event.keyCode] = event;
        LiveConfig.getInstance().set("activeKeys", activeKeys);
      }
    }, {
      key: "keyUp",
      value: function keyUp(event) {
        var activeKeys = LiveConfig.getActiveKeys();
        delete activeKeys[event.keyCode];
        LiveConfig.getInstance().set("activeKeys", activeKeys);
      }
    }, {
      key: "getSortedKeys",
      value: function getSortedKeys() {
        var activeKeys = LiveConfig.getActiveKeys();

        if (!activeKeys) {
          throw new Error("no keys set");
        }

        var keysPressed = Object.values(activeKeys);
        return keysPressed.sort(function (keyA, keyB) {
          return keyA.downTime - keyB.downTime;
        });
      }
    }, {
      key: "getKeysCombo",
      value: function getKeysCombo() {
        return LiveConfig.getSortedKeys().map(function (event) {
          return event.getPressed();
        }).join("_");
      }
    }, {
      key: "getKeysComboNoRL",
      value: function getKeysComboNoRL() {
        return LiveConfig.getSortedKeys().map(function (event) {
          return event.getPressed().replace(/_(LEFT|RIGHT)/g, "");
        }).join("_");
      }
    }]);
    return LiveConfig;
  }();

  exports.default = LiveConfig;
},1872,[5,7,8,460,1873,572,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.KEY_GROUPS = exports.VOICE_GROUPS = exports.ANY_KEY = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var KEYS_MAP = _reactNative.Platform.select({
    ios: {
      4: "A",
      5: "B",
      6: "C",
      7: "D",
      8: "E",
      9: "F",
      10: "G",
      11: "H",
      12: "I",
      13: "J",
      14: "K",
      15: "L",
      16: "M",
      17: "N",
      18: "O",
      19: "P",
      20: "Q",
      21: "R",
      22: "S",
      23: "T",
      24: "U",
      25: "V",
      26: "W",
      27: "X",
      28: "Y",
      29: "Z",
      30: "1",
      31: "2",
      32: "3",
      33: "4",
      34: "5",
      35: "6",
      36: "7",
      37: "8",
      38: "9",
      39: "0",
      40: "ENTER",
      41: "ESCAPE",
      42: "DEL",
      43: "TAB",
      44: "SPACE",
      48: "+",
      56: "-",
      74: "MOVE_HOME",
      75: "PAGE_UP",
      77: "MOVE_END",
      78: "PAGE_DOWN",
      79: "DPAD_RIGHT",
      80: "DPAD_LEFT",
      81: "DPAD_DOWN",
      82: "DPAD_UP",
      86: "NUMPAD_SUBTRACT",
      87: "NUMPAD_ADD",
      88: "NUMPAD_ENTER",
      89: "NUMPAD_1",
      90: "NUMPAD_2",
      91: "NUMPAD_3",
      92: "NUMPAD_4",
      93: "NUMPAD_5",
      94: "NUMPAD_6",
      95: "NUMPAD_7",
      96: "NUMPAD_8",
      97: "NUMPAD_9",
      98: "NUMPAD_0",
      99: "NUMPAD_DOT",
      117: "HELP",
      224: "CTRL_LEFT",
      225: "SHIFT_LEFT",
      226: "ALT_LEFT",
      228: "CTRL_RIGHT",
      229: "SHIFT_RIGHT",
      230: "ALT_RIGHT"
    },
    android: {
      3: "HOME",
      7: "0",
      8: "1",
      9: "2",
      10: "3",
      11: "4",
      12: "5",
      13: "6",
      14: "7",
      15: "8",
      16: "9",
      19: "DPAD_UP",
      20: "DPAD_DOWN",
      21: "DPAD_LEFT",
      22: "DPAD_RIGHT",
      23: "DPAD_CENTER",
      29: "A",
      30: "B",
      31: "C",
      32: "D",
      33: "E",
      34: "F",
      35: "G",
      36: "H",
      37: "I",
      38: "J",
      39: "K",
      40: "L",
      41: "M",
      42: "N",
      43: "O",
      44: "P",
      45: "Q",
      46: "R",
      47: "S",
      48: "T",
      49: "U",
      50: "V",
      51: "W",
      52: "X",
      53: "Y",
      54: "Z",
      57: "ALT_LEFT",
      58: "ALT_RIGHT",
      59: "SHIFT_LEFT",
      60: "SHIFT_RIGHT",
      62: "SPACE",
      61: "TAB",
      66: "ENTER",
      67: "DEL",
      69: "-",
      81: "+",
      84: "SEARCH",
      92: "PAGE_UP",
      93: "PAGE_DOWN",
      111: "ESCAPE",
      113: "CTRL_LEFT",
      114: "CTRL_RIGHT",
      122: "MOVE_HOME",
      123: "MOVE_END",
      144: "NUMPAD_0",
      145: "NUMPAD_1",
      146: "NUMPAD_2",
      147: "NUMPAD_3",
      148: "NUMPAD_4",
      149: "NUMPAD_5",
      150: "NUMPAD_6",
      151: "NUMPAD_7",
      152: "NUMPAD_8",
      153: "NUMPAD_9",
      156: "NUMPAD_SUBTRACT",
      157: "NUMPAD_ADD",
      158: "NUMPAD_DOT",
      160: "NUMPAD_ENTER",
      168: "ZOOM_IN",
      169: "ZOOM_OUT",
      176: "SETTINGS",
      259: "HELP"
    }
  });

  var ANY_KEY = "ANY";
  exports.ANY_KEY = ANY_KEY;
  var VOICE_GROUPS = {
    GO_UP: function GO_UP() {
      return [global.strings("voice_back")];
    },
    WHAT: function WHAT() {
      return [global.strings("voice_what")];
    },
    NEXT: function NEXT() {
      return [global.strings("voice_next")];
    },
    NEXT_PAGE: function NEXT_PAGE() {
      return [global.strings("voice_next_page")];
    },
    PREVIOUS: function PREVIOUS() {
      return [global.strings("voice_previous")];
    },
    PREVIOUS_PAGE: function PREVIOUS_PAGE() {
      return [global.strings("voice_previous_page")];
    },
    STOP: function STOP() {
      return [global.strings("voice_stop")];
    },
    READ: function READ() {
      return [global.strings("voice_read")];
    },
    CLOSE_APP: function CLOSE_APP() {
      return [global.strings("voice_close")];
    },
    ITEM_UP: function ITEM_UP() {
      return [global.strings("voice_up")];
    },
    ITEM_DOWN: function ITEM_DOWN() {
      return [global.strings("voice_down")];
    },
    ITEM_SELECT: function ITEM_SELECT() {
      return [global.strings("voice_select")];
    }
  };
  exports.VOICE_GROUPS = VOICE_GROUPS;
  var KEY_GROUPS = {
    ANY: [ANY_KEY],
    CLOSE: ["ESCAPE"],
    SUBMIT: ["ENTER", "NUMPAD_ENTER"],
    OPEN: ["5", "NUMPAD_5", "O", "NUMPAD_DOT"],
    SELECT: ["5", "NUMPAD_5", "O", "ENTER", "NUMPAD_ENTER"],
    LEFT: ["4", "NUMPAD_4", "J", "DPAD_LEFT"],
    RIGHT: ["6", "NUMPAD_6", "L", "DPAD_RIGHT"],
    UP: ["8", "NUMPAD_8", "I", "DPAD_UP"],
    DOWN: ["2", "NUMPAD_2", "K", "DPAD_DOWN"],
    PAGE_UP: ["9", "NUMPAD_9", "N", "PAGE_UP"],
    PAGE_DOWN: ["3", "NUMPAD_3", "M", "PAGE_DOWN"],
    HOME: ["7", "NUMPAD_7", "MOVE_HOME"],
    END: ["1", "NUMPAD_1", "MOVE_END"],
    MORE: ["+", "NUMPAD_ADD"],
    LESS: ["-", "NUMPAD_SUBTRACT"]
  };
  exports.KEY_GROUPS = KEY_GROUPS;

  var KeyEvent = function () {
    function KeyEvent(event) {
      (0, _classCallCheck2.default)(this, KeyEvent);
      (0, _extends2.default)(this, event);
    }

    (0, _createClass2.default)(KeyEvent, [{
      key: "getPressed",
      value: function getPressed() {
        return KEYS_MAP[this.keyCode] || "";
      }
    }]);
    return KeyEvent;
  }();

  exports.default = KeyEvent;
},1873,[5,6,7,8,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var WILL_OPEN_URL_TIMEOUT = 2000;

  var SDKUtils = function () {
    function SDKUtils() {
      (0, _classCallCheck2.default)(this, SDKUtils);
    }

    (0, _createClass2.default)(SDKUtils, null, [{
      key: "close",
      value: function close() {
        var IOSNewsmemorySDK;
        return _regenerator.default.async(function close$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!global.isTaAddon()) {
                  _context.next = 5;
                  break;
                }

                IOSNewsmemorySDK = _optionalPackageUtils.default.getIOSNewsmemorySDK();

                if (!IOSNewsmemorySDK) {
                  _context.next = 4;
                  break;
                }

                return _context.abrupt("return", IOSNewsmemorySDK.close());

              case 4:
                return _context.abrupt("return", _$$_REQUIRE(_dependencyMap[5]).OurBridge.onClose());

              case 5:
                return _context.abrupt("return", Promise.resolve());

              case 6:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "willOpenURL",
      value: function willOpenURL(url) {
        var sdkPromise, IOSNewsmemorySDK, timeoutPromise;
        return _regenerator.default.async(function willOpenURL$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!global.isTaAddon()) {
                  _context2.next = 6;
                  break;
                }

                IOSNewsmemorySDK = _optionalPackageUtils.default.getIOSNewsmemorySDK();

                if (IOSNewsmemorySDK) {
                  sdkPromise = IOSNewsmemorySDK.willOpenURL(url);
                } else {
                  sdkPromise = _$$_REQUIRE(_dependencyMap[5]).OurBridge.willOpenURL(url);
                }

                if (!sdkPromise) {
                  _context2.next = 6;
                  break;
                }

                timeoutPromise = new Promise(function (resolve, reject) {
                  setTimeout(function () {
                    return resolve(false);
                  }, WILL_OPEN_URL_TIMEOUT);
                });
                return _context2.abrupt("return", Promise.race([sdkPromise, timeoutPromise]));

              case 6:
                return _context2.abrupt("return", Promise.resolve(false));

              case 7:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "onTrackAction",
      value: function onTrackAction(data) {
        var IOSNewsmemorySDK;
        return _regenerator.default.async(function onTrackAction$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                if (!global.isTaAddon()) {
                  _context3.next = 5;
                  break;
                }

                IOSNewsmemorySDK = _optionalPackageUtils.default.getIOSNewsmemorySDK();

                if (!IOSNewsmemorySDK) {
                  _context3.next = 4;
                  break;
                }

                return _context3.abrupt("return", IOSNewsmemorySDK.onTrackAction(data));

              case 4:
                return _context3.abrupt("return", _$$_REQUIRE(_dependencyMap[5]).OurBridge.onTrackAction(data));

              case 5:
                return _context3.abrupt("return", Promise.resolve());

              case 6:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "onReload",
      value: function onReload() {
        var IOSNewsmemorySDK;
        return _regenerator.default.async(function onReload$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!global.isTaAddon()) {
                  _context4.next = 5;
                  break;
                }

                IOSNewsmemorySDK = _optionalPackageUtils.default.getIOSNewsmemorySDK();

                if (!IOSNewsmemorySDK) {
                  _context4.next = 4;
                  break;
                }

                return _context4.abrupt("return", IOSNewsmemorySDK.onReload());

              case 4:
                return _context4.abrupt("return", _$$_REQUIRE(_dependencyMap[5]).OurBridge.restartReactContext());

              case 5:
                return _context4.abrupt("return", Promise.resolve());

              case 6:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return SDKUtils;
  }();

  exports.default = SDKUtils;
},1874,[5,80,7,8,731,582]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _tecnaviaPlatformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _NewsmemoryAJAX = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _webUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _OptionalPackages$get = _optionalPackageUtils.default.getIubenda(),
      Iubenda = _OptionalPackages$get.Iubenda;

  var DailymotionVideo = _optionalPackageUtils.default.getDailymotionVideoPlayer();

  var CmpUtils = function () {
    function CmpUtils() {
      (0, _classCallCheck2.default)(this, CmpUtils);
    }

    (0, _createClass2.default)(CmpUtils, null, [{
      key: "init",
      value: function init(navigation) {
        var isAppUpgraded,
            _global$getMainPSetup,
            disableGoogleAnalytics3,
            disableFirebaseAnalytics,
            googleAnalyticsAnonymizeIP,
            matherAnalyticsEnabled,
            comScoreId,
            adobeAnalyticsEnabled,
            facebookEnabled,
            matomoTrackerEnabled,
            attConfig,
            iubendaEnabled,
            iubendaConfig,
            disableAppTrackingTransparencyMessage,
            forceAppTrackingTransparencyMessage,
            forcePreAppTrackingTransparencyMessageOnAppUpdate,
            showPreAppTrackingTransparencyMessage,
            adsRequireConsent,
            forceConsentPopup,
            hasMather,
            hasComscore,
            hasAdobe,
            hasFacebook,
            has3rdPartyMatomo,
            hasOtherAnalytics,
            attUserChoice,
            userChoiceUndetermined,
            userChoiceDenied,
            proceed,
            result,
            googleAnalyticsEnabled,
            notIPAnonymizedGoogleAnalyticsEnabled,
            consents,
            _args = arguments;

        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                isAppUpgraded = _args.length > 1 && _args[1] !== undefined ? _args[1] : false;
                _global$getMainPSetup = global.getMainPSetup(), disableGoogleAnalytics3 = _global$getMainPSetup.disableGoogleAnalytics3, disableFirebaseAnalytics = _global$getMainPSetup.disableFirebaseAnalytics, googleAnalyticsAnonymizeIP = _global$getMainPSetup.googleAnalyticsAnonymizeIP, matherAnalyticsEnabled = _global$getMainPSetup.matherAnalyticsEnabled, comScoreId = _global$getMainPSetup.comScoreId, adobeAnalyticsEnabled = _global$getMainPSetup.adobeAnalyticsEnabled, facebookEnabled = _global$getMainPSetup.facebookEnabled, matomoTrackerEnabled = _global$getMainPSetup.matomoTrackerEnabled, attConfig = _global$getMainPSetup.attConfig, iubendaEnabled = _global$getMainPSetup.iubendaEnabled, iubendaConfig = _global$getMainPSetup.iubendaConfig;
                disableAppTrackingTransparencyMessage = attConfig.disableAppTrackingTransparencyMessage, forceAppTrackingTransparencyMessage = attConfig.forceAppTrackingTransparencyMessage, forcePreAppTrackingTransparencyMessageOnAppUpdate = attConfig.forcePreAppTrackingTransparencyMessageOnAppUpdate, showPreAppTrackingTransparencyMessage = attConfig.showPreAppTrackingTransparencyMessage;
                adsRequireConsent = global.getAdsConfig().hasAdsRequiringIDFAPermissions() || _optionalPackageUtils.default.isDailymotionVideoPlayerAvailable();
                forceConsentPopup = false;

                if (iubendaEnabled && iubendaConfig) {
                  adsRequireConsent = iubendaConfig.adsRequireConsent;
                  forceConsentPopup = iubendaConfig.forceConsentPopup;
                }

                hasMather = _optionalPackageUtils.default.isMatherAnalyticsAvailable() && matherAnalyticsEnabled;
                hasComscore = _optionalPackageUtils.default.isComScoreAvailable() && comScoreId;
                hasAdobe = _optionalPackageUtils.default.isAdobeAnalyticsAvailable() && adobeAnalyticsEnabled;
                hasFacebook = _optionalPackageUtils.default.isFacebookSDKAvailable() && facebookEnabled;
                has3rdPartyMatomo = _optionalPackageUtils.default.isMatomoTrackerAvailable() && matomoTrackerEnabled;
                hasOtherAnalytics = hasMather || hasComscore || hasAdobe || hasFacebook || has3rdPartyMatomo;

                if (!(_$$_REQUIRE(_dependencyMap[8]).PlatformUtils.isIOS() && _optionalPackageUtils.default.isTrackingTransparencyAvailable() && !disableAppTrackingTransparencyMessage && (forceAppTrackingTransparencyMessage || hasOtherAnalytics || adsRequireConsent))) {
                  _context.next = 35;
                  break;
                }

                _context.next = 15;
                return _regenerator.default.awrap(CmpUtils.getTrackingPermission());

              case 15:
                attUserChoice = _context.sent;
                _context.next = 18;
                return _regenerator.default.awrap(CmpUtils.isTrackingPermissionNotDetermined(attUserChoice));

              case 18:
                userChoiceUndetermined = _context.sent;
                _context.next = 21;
                return _regenerator.default.awrap(CmpUtils.isTrackingPermissionDenied(attUserChoice));

              case 21:
                userChoiceDenied = _context.sent;

                if (!(userChoiceUndetermined || forcePreAppTrackingTransparencyMessageOnAppUpdate && isAppUpgraded && userChoiceDenied)) {
                  _context.next = 32;
                  break;
                }

                if (!(_$$_REQUIRE(_dependencyMap[8]).NetworkUtils.isOnline() && showPreAppTrackingTransparencyMessage)) {
                  _context.next = 28;
                  break;
                }

                _context.next = 26;
                return _regenerator.default.awrap(new Promise(function (onClose) {
                  navigation.navigate("PreAppTrackingTransparencyMessageScreen", {
                    userChoiceDenied: userChoiceDenied,
                    onClose: onClose
                  });
                }));

              case 26:
                proceed = _context.sent;

                if (proceed && userChoiceDenied) {
                  _tecnaviaPlatformUtils.default.openURL("app-settings:");
                }

              case 28:
                if (!userChoiceUndetermined) {
                  _context.next = 32;
                  break;
                }

                _context.next = 31;
                return _regenerator.default.awrap(CmpUtils.askTrackingPermission());

              case 31:
                attUserChoice = _context.sent;

              case 32:
                _context.next = 34;
                return _regenerator.default.awrap(CmpUtils.isTrackingPermissionAuthorized(attUserChoice));

              case 34:
                CmpUtils.advertisingTrackingConsent = _context.sent;

              case 35:
                if (!Iubenda) {
                  _context.next = 69;
                  break;
                }

                if (!iubendaEnabled) {
                  _context.next = 67;
                  break;
                }

                _context.next = 39;
                return _regenerator.default.awrap(CmpUtils.setupIubenda());

              case 39:
                result = _context.sent;

                if (!result) {
                  _context.next = 63;
                  break;
                }

                googleAnalyticsEnabled = !disableGoogleAnalytics3 || !disableFirebaseAnalytics;
                notIPAnonymizedGoogleAnalyticsEnabled = googleAnalyticsEnabled && !googleAnalyticsAnonymizeIP;

                if (!(CmpUtils.advertisingTrackingConsent || _$$_REQUIRE(_dependencyMap[8]).PlatformUtils.isAndroid())) {
                  _context.next = 60;
                  break;
                }

                if (!(forceConsentPopup || CmpUtils.isGDPRComplianceRequired() && (googleAnalyticsEnabled || hasOtherAnalytics || adsRequireConsent) || (CmpUtils.isUSComplianceRequired() || CmpUtils.isLGPDComplianceRequired()) && (notIPAnonymizedGoogleAnalyticsEnabled || hasOtherAnalytics || adsRequireConsent))) {
                  _context.next = 56;
                  break;
                }

                _context.prev = 45;
                _context.next = 48;
                return _regenerator.default.awrap(CmpUtils.askIubendaConsent());

              case 48:
                consents = _context.sent;
                CmpUtils.setConsents(consents);
                _context.next = 54;
                break;

              case 52:
                _context.prev = 52;
                _context.t0 = _context["catch"](45);

              case 54:
                _context.next = 58;
                break;

              case 56:
                _context.next = 58;
                return _regenerator.default.awrap(CmpUtils.clearConsent());

              case 58:
                _context.next = 61;
                break;

              case 60:
                if (CmpUtils.isGDPRComplianceRequired()) {
                  CmpUtils.trackingConsent = false;
                }

              case 61:
                _context.next = 65;
                break;

              case 63:
                CmpUtils.advertisingTrackingConsent = false;

                if (CmpUtils.isGDPRComplianceRequired()) {
                  CmpUtils.trackingConsent = false;
                }

              case 65:
                _context.next = 69;
                break;

              case 67:
                _context.next = 69;
                return _regenerator.default.awrap(CmpUtils.clearConsent());

              case 69:
                return _context.abrupt("return", attUserChoice);

              case 70:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[45, 52]], Promise);
      }
    }, {
      key: "isGDPRComplianceRequired",
      value: function isGDPRComplianceRequired() {
        var _global$getMainPSetup2 = global.getMainPSetup(),
            iubendaEnabled = _global$getMainPSetup2.iubendaEnabled,
            iubendaConfig = _global$getMainPSetup2.iubendaConfig;

        return iubendaEnabled && iubendaConfig && iubendaConfig.isGDPR();
      }
    }, {
      key: "isUSComplianceRequired",
      value: function isUSComplianceRequired() {
        var _global$getMainPSetup3 = global.getMainPSetup(),
            iubendaEnabled = _global$getMainPSetup3.iubendaEnabled,
            iubendaConfig = _global$getMainPSetup3.iubendaConfig;

        return iubendaEnabled && iubendaConfig && iubendaConfig.isUS();
      }
    }, {
      key: "isLGPDComplianceRequired",
      value: function isLGPDComplianceRequired() {
        var _global$getMainPSetup4 = global.getMainPSetup(),
            iubendaEnabled = _global$getMainPSetup4.iubendaEnabled,
            iubendaConfig = _global$getMainPSetup4.iubendaConfig;

        return iubendaEnabled && iubendaConfig && iubendaConfig.isLGPD();
      }
    }, {
      key: "isAnalyticsServiceIPAnonymized",
      value: function isAnalyticsServiceIPAnonymized(service) {
        var _global$getMainPSetup5 = global.getMainPSetup(),
            googleAnalyticsAnonymizeIP = _global$getMainPSetup5.googleAnalyticsAnonymizeIP;

        var MATOMO = _$$_REQUIRE(_dependencyMap[9]).ANALYTICS_SERVICES.MATOMO,
            GA3 = _$$_REQUIRE(_dependencyMap[9]).ANALYTICS_SERVICES.GA3,
            FIREBASE_GA = _$$_REQUIRE(_dependencyMap[9]).ANALYTICS_SERVICES.FIREBASE_GA;

        return service === MATOMO || service === GA3 && googleAnalyticsAnonymizeIP || service === FIREBASE_GA;
      }
    }, {
      key: "isAnalyticsTrackingAllowed",
      value: function isAnalyticsTrackingAllowed(service) {
        if (service !== _$$_REQUIRE(_dependencyMap[9]).ANALYTICS_SERVICES.MATOMO && CmpUtils.isConsentNeeded() && (CmpUtils.isGDPRComplianceRequired() || (CmpUtils.isUSComplianceRequired() || CmpUtils.isLGPDComplianceRequired()) && !CmpUtils.isAnalyticsServiceIPAnonymized(service))) {
          if (CmpUtils.trackingConsent !== undefined) {
            return CmpUtils.trackingConsent;
          }

          if (CmpUtils.isGDPRComplianceRequired() || CmpUtils.isLGPDComplianceRequired()) {
            return false;
          }
        }

        return true;
      }
    }, {
      key: "isAdTrackingAllowed",
      value: function isAdTrackingAllowed(service) {
        if (_$$_REQUIRE(_dependencyMap[8]).PlatformUtils.isIOS() || CmpUtils.isConsentNeeded() && (CmpUtils.isGDPRComplianceRequired() || CmpUtils.isUSComplianceRequired() || CmpUtils.isLGPDComplianceRequired())) {
          if (CmpUtils.advertisingTrackingConsent !== undefined) {
            return CmpUtils.advertisingTrackingConsent;
          }

          if (CmpUtils.isGDPRComplianceRequired() || CmpUtils.isLGPDComplianceRequired()) {
            return false;
          }
        }

        return true;
      }
    }, {
      key: "isConsentNeeded",
      value: function isConsentNeeded() {
        var _global$getMainPSetup6 = global.getMainPSetup(),
            iubendaEnabled = _global$getMainPSetup6.iubendaEnabled;

        return iubendaEnabled && Iubenda && !CmpUtils.consentNotNeeded;
      }
    }, {
      key: "isConsentExpressed",
      value: function isConsentExpressed() {
        return CmpUtils.trackingConsent !== undefined && !CmpUtils.consentNotNeeded;
      }
    }, {
      key: "askTrackingPermission",
      value: function askTrackingPermission() {
        var trackingStatus;
        return _regenerator.default.async(function askTrackingPermission$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!(_$$_REQUIRE(_dependencyMap[8]).PlatformUtils.isIOS() && _optionalPackageUtils.default.isTrackingTransparencyAvailable())) {
                  _context2.next = 5;
                  break;
                }

                _context2.next = 3;
                return _regenerator.default.awrap(_optionalPackageUtils.default.getTrackingTransparency().requestTrackingPermission());

              case 3:
                trackingStatus = _context2.sent;
                return _context2.abrupt("return", trackingStatus);

              case 5:
                return _context2.abrupt("return", "unavailable");

              case 6:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getTrackingPermission",
      value: function getTrackingPermission() {
        var trackingStatus;
        return _regenerator.default.async(function getTrackingPermission$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                trackingStatus = "unavailable";

                if (!(_$$_REQUIRE(_dependencyMap[8]).PlatformUtils.isIOS() && _optionalPackageUtils.default.isTrackingTransparencyAvailable())) {
                  _context3.next = 5;
                  break;
                }

                _context3.next = 4;
                return _regenerator.default.awrap(_optionalPackageUtils.default.getTrackingTransparency().getTrackingStatus());

              case 4:
                trackingStatus = _context3.sent;

              case 5:
                return _context3.abrupt("return", trackingStatus);

              case 6:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "isTrackingPermissionNotDetermined",
      value: function isTrackingPermissionNotDetermined(status) {
        var trackingStatus;
        return _regenerator.default.async(function isTrackingPermissionNotDetermined$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                _context4.t0 = status;

                if (_context4.t0) {
                  _context4.next = 5;
                  break;
                }

                _context4.next = 4;
                return _regenerator.default.awrap(CmpUtils.getTrackingPermission());

              case 4:
                _context4.t0 = _context4.sent;

              case 5:
                trackingStatus = _context4.t0;
                return _context4.abrupt("return", trackingStatus === "not-determined");

              case 7:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "isTrackingPermissionAuthorized",
      value: function isTrackingPermissionAuthorized(status) {
        var trackingStatus;
        return _regenerator.default.async(function isTrackingPermissionAuthorized$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                _context5.t0 = status;

                if (_context5.t0) {
                  _context5.next = 5;
                  break;
                }

                _context5.next = 4;
                return _regenerator.default.awrap(CmpUtils.getTrackingPermission());

              case 4:
                _context5.t0 = _context5.sent;

              case 5:
                trackingStatus = _context5.t0;
                return _context5.abrupt("return", trackingStatus === "authorized");

              case 7:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "isTrackingPermissionDenied",
      value: function isTrackingPermissionDenied(status) {
        var trackingStatus;
        return _regenerator.default.async(function isTrackingPermissionDenied$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                _context6.t0 = status;

                if (_context6.t0) {
                  _context6.next = 5;
                  break;
                }

                _context6.next = 4;
                return _regenerator.default.awrap(CmpUtils.getTrackingPermission());

              case 4:
                _context6.t0 = _context6.sent;

              case 5:
                trackingStatus = _context6.t0;
                return _context6.abrupt("return", trackingStatus === "denied");

              case 7:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "checkTrackingPermission",
      value: function checkTrackingPermission() {
        var trackingStatus;
        return _regenerator.default.async(function checkTrackingPermission$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                _context7.next = 2;
                return _regenerator.default.awrap(CmpUtils.getTrackingPermission());

              case 2:
                trackingStatus = _context7.sent;

                if (!(trackingStatus === "not-determined")) {
                  _context7.next = 7;
                  break;
                }

                _context7.next = 6;
                return _regenerator.default.awrap(CmpUtils.askTrackingPermission());

              case 6:
                trackingStatus = _context7.sent;

              case 7:
                return _context7.abrupt("return", trackingStatus);

              case 8:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "initIubendaCMP",
      value: function initIubendaCMP(_ref) {
        var baseUrl, siteId, cookiePolicyId, gdprEnabled, googleAds, enableTcf, resetConsentDate, laws, language;
        return _regenerator.default.async(function initIubendaCMP$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                baseUrl = _ref.baseUrl, siteId = _ref.siteId, cookiePolicyId = _ref.cookiePolicyId, gdprEnabled = _ref.gdprEnabled, googleAds = _ref.googleAds, enableTcf = _ref.enableTcf, resetConsentDate = _ref.resetConsentDate, laws = _ref.laws, language = _ref.language;
                return _context8.abrupt("return", Iubenda.init({
                  baseUrl: baseUrl,
                  siteId: siteId,
                  cookiePolicyId: cookiePolicyId,
                  googleAds: googleAds,
                  enableTcf: enableTcf,
                  resetConsentDate: resetConsentDate,
                  laws: laws.join(","),
                  lang: language,
                  perPurposeConsent: true
                }));

              case 2:
              case "end":
                return _context8.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "askIubendaConsent",
      value: function askIubendaConsent() {
        return _regenerator.default.async(function askIubendaConsent$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                if (!Iubenda) {
                  _context9.next = 2;
                  break;
                }

                return _context9.abrupt("return", Iubenda.askConsent());

              case 2:
                return _context9.abrupt("return", undefined);

              case 3:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "editIubendaPreferences",
      value: function editIubendaPreferences() {
        return _regenerator.default.async(function editIubendaPreferences$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                if (!Iubenda) {
                  _context10.next = 2;
                  break;
                }

                return _context10.abrupt("return", Iubenda.editPreferences());

              case 2:
                return _context10.abrupt("return", undefined);

              case 3:
              case "end":
                return _context10.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setConsents",
      value: function setConsents() {
        var consents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var consentNotNeeded = consents.consentNotNeeded,
            _consents$consentStri = consents.consentStrings,
            consentStrings = _consents$consentStri === undefined ? {} : _consents$consentStri,
            _consents$perPurposeC = consents.perPurposeConsents,
            perPurposeConsents = _consents$perPurposeC === undefined ? {} : _consents$perPurposeC,
            _consents$perTCFPurpo = consents.perTCFPurposeConsents,
            perTCFPurposeConsents = _consents$perTCFPurpo === undefined ? {} : _consents$perTCFPurpo,
            _consents$usprPurpose = consents.usprPurposesConsents,
            usprPurposesConsents = _consents$usprPurpose === undefined ? {} : _consents$usprPurpose;

        var _global$getMainPSetup7 = global.getMainPSetup(),
            iubendaConfig = _global$getMainPSetup7.iubendaConfig;

        var googleAds = iubendaConfig.googleAdsPresent;
        var gdprEnabled = CmpUtils.isGDPRComplianceRequired();
        var usEnabled = CmpUtils.isUSComplianceRequired();
        var lgdpEnabled = CmpUtils.isLGPDComplianceRequired();
        CmpUtils.consentNotNeeded = consentNotNeeded != null ? consentNotNeeded : false;
        CmpUtils.consentStrings = consentStrings || {};
        var s = usprPurposesConsents.s,
            sh = usprPurposesConsents.sh,
            adv = usprPurposesConsents.adv;

        if (usEnabled) {
          var _ref2;

          CmpUtils.trackingConsent = (_ref2 = s && sh) != null ? _ref2 : false;
          CmpUtils.advertisingTrackingConsent = adv != null ? adv : false;
        }

        if (lgdpEnabled) {}

        if (gdprEnabled) {
          var _ref3, _perPurposeConsents$, _ref4, _perPurposeConsents$2;

          CmpUtils.trackingConsent = (_ref3 = (_perPurposeConsents$ = perPurposeConsents["4"]) != null ? _perPurposeConsents$ : s && sh) != null ? _ref3 : false;
          CmpUtils.advertisingTrackingConsent = (_ref4 = (_perPurposeConsents$2 = perPurposeConsents["5"]) != null ? _perPurposeConsents$2 : adv) != null ? _ref4 : false;

          if (googleAds) {
            CmpUtils.googlePersonalizedAdsConsent = CmpUtils.advertisingTrackingConsent;
            CmpUtils.googleNonPersonalizedAdsConsent = CmpUtils.advertisingTrackingConsent;

            if (!CmpUtils.googlePersonalizedAdsConsent) {
              var _perTCFPurposeConsent, _perTCFPurposeConsent2, _perTCFPurposeConsent3, _perTCFPurposeConsent4, _perTCFPurposeConsent5, _perTCFPurposeConsent6, _perTCFPurposeConsent7;

              CmpUtils.googleNonPersonalizedAdsConsent = ((_perTCFPurposeConsent = perTCFPurposeConsents["1"]) != null ? _perTCFPurposeConsent : false) && ((_perTCFPurposeConsent2 = perTCFPurposeConsents["2"]) != null ? _perTCFPurposeConsent2 : false) && ((_perTCFPurposeConsent3 = perTCFPurposeConsents["7"]) != null ? _perTCFPurposeConsent3 : false) && ((_perTCFPurposeConsent4 = perTCFPurposeConsents["9"]) != null ? _perTCFPurposeConsent4 : false) && ((_perTCFPurposeConsent5 = perTCFPurposeConsents["10"]) != null ? _perTCFPurposeConsent5 : false);
              CmpUtils.googlePersonalizedAdsConsent = CmpUtils.googleNonPersonalizedAdsConsent && ((_perTCFPurposeConsent6 = perTCFPurposeConsents["3"]) != null ? _perTCFPurposeConsent6 : false) && ((_perTCFPurposeConsent7 = perTCFPurposeConsents["4"]) != null ? _perTCFPurposeConsent7 : false);
            }
          }

          if (_optionalPackageUtils.default.isDailymotionVideoPlayerAvailable()) {
            DailymotionVideo.setConsentString(CmpUtils.getTCConsentString());
          }
        }
      }
    }, {
      key: "setupIubenda",
      value: function setupIubenda() {
        var _global$getMainPSetup8, iubendaEnabled, iubendaConfig, siteId, cookiePolicyId, language, googleAds, adsRequireConsent, laws, resetConsentDate, gdprEnabled, enableTcf, userSettings, customResetConsentDate;

        return _regenerator.default.async(function setupIubenda$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                _global$getMainPSetup8 = global.getMainPSetup(), iubendaEnabled = _global$getMainPSetup8.iubendaEnabled, iubendaConfig = _global$getMainPSetup8.iubendaConfig;

                if (!(iubendaEnabled && iubendaConfig)) {
                  _context11.next = 17;
                  break;
                }

                siteId = iubendaConfig.siteId, cookiePolicyId = iubendaConfig.cookiePolicyId, language = iubendaConfig.language, googleAds = iubendaConfig.googleAdsPresent, adsRequireConsent = iubendaConfig.adsRequireConsent, laws = iubendaConfig.referencePrivacyLaws;
                resetConsentDate = iubendaConfig.resetConsentDate;

                if (!(siteId && cookiePolicyId)) {
                  _context11.next = 17;
                  break;
                }

                gdprEnabled = CmpUtils.isGDPRComplianceRequired();
                enableTcf = gdprEnabled && adsRequireConsent;

                if (global.isDebug) {}

                userSettings = global.getUserSettings();
                customResetConsentDate = userSettings.resetConsentDate;

                if (!(customResetConsentDate && customResetConsentDate > resetConsentDate)) {
                  _context11.next = 14;
                  break;
                }

                resetConsentDate = customResetConsentDate;
                _context11.next = 14;
                return _regenerator.default.awrap(userSettings.deleteResetConsentDate());

              case 14:
                _context11.next = 16;
                return _regenerator.default.awrap(CmpUtils.initIubendaCMP({
                  baseUrl: _NewsmemoryAJAX.default.getIubendaCMPBaseURL(),
                  siteId: siteId,
                  cookiePolicyId: cookiePolicyId,
                  googleAds: googleAds,
                  enableTcf: enableTcf,
                  resetConsentDate: resetConsentDate,
                  laws: laws,
                  language: language
                }));

              case 16:
                return _context11.abrupt("return", true);

              case 17:
                return _context11.abrupt("return", false);

              case 18:
              case "end":
                return _context11.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "editPreferences",
      value: function editPreferences() {
        var _global$getMainPSetup9, iubendaEnabled, consents;

        return _regenerator.default.async(function editPreferences$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                _global$getMainPSetup9 = global.getMainPSetup(), iubendaEnabled = _global$getMainPSetup9.iubendaEnabled;

                if (!iubendaEnabled) {
                  _context12.next = 6;
                  break;
                }

                _context12.next = 4;
                return _regenerator.default.awrap(CmpUtils.editIubendaPreferences());

              case 4:
                consents = _context12.sent;
                CmpUtils.setConsents(consents);

              case 6:
              case "end":
                return _context12.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "clearConsent",
      value: function clearConsent() {
        var userSettings;
        return _regenerator.default.async(function clearConsent$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                CmpUtils.trackingConsent = undefined;
                CmpUtils.advertisingTrackingConsent = undefined;
                CmpUtils.consentStrings = undefined;
                CmpUtils.googlePersonalizedAdsConsent = undefined;
                CmpUtils.googleNonPersonalizedAdsConsent = undefined;
                CmpUtils.consentNotNeeded = false;

                if (!Iubenda) {
                  _context13.next = 11;
                  break;
                }

                _context13.next = 9;
                return _regenerator.default.awrap(Iubenda.clearData());

              case 9:
                userSettings = global.getUserSettings();
                userSettings.setResetConsentDate(_$$_REQUIRE(_dependencyMap[8]).DateUtils.getTomorrowString("YYYYMMDD"));

              case 11:
              case "end":
                return _context13.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getTCConsentString",
      value: function getTCConsentString() {
        var _ref5;

        return (_ref5 = CmpUtils.consentStrings && CmpUtils.consentStrings.tc) != null ? _ref5 : "";
      }
    }, {
      key: "getUSPConsentString",
      value: function getUSPConsentString() {
        var _ref6;

        return (_ref6 = CmpUtils.consentStrings && CmpUtils.consentStrings.usp) != null ? _ref6 : "";
      }
    }, {
      key: "getGDPRScript",
      value: function getGDPRScript() {
        return "\n        try {\n            window['gtag_enable_tcf_support'] = true;\n        } catch(e) {};";
      }
    }, {
      key: "addCMPScript",
      value: function addCMPScript(html) {
        var result = html;

        if (result) {
          var script = CmpUtils.getCMPScript();

          if (script) {
            var replacement = " <script>" + script + "</script>";
            result = _webUtils.default.prependToHead(html, replacement);
          }
        }

        return result;
      }
    }, {
      key: "getCMPScript",
      value: function getCMPScript() {
        var script;

        if (CmpUtils.isGDPRComplianceRequired()) {
          script = "\n                " + CmpUtils.getGDPRScript() + "\n                true;";
        } else if (CmpUtils.isUSComplianceRequired()) {} else if (CmpUtils.isLGPDComplianceRequired()) {}

        return script;
      }
    }]);
    return CmpUtils;
  }();

  exports.default = CmpUtils;
  CmpUtils.trackingConsent = undefined;
  CmpUtils.advertisingTrackingConsent = undefined;
  CmpUtils.consentStrings = undefined;
  CmpUtils.googlePersonalizedAdsConsent = undefined;
  CmpUtils.googleNonPersonalizedAdsConsent = undefined;
  CmpUtils.consentNotNeeded = false;
},1875,[5,80,7,8,731,1876,430,719,462,1892]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _sdkUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var IOSExternalLinkAccount = _optionalPackageUtils.default.getIOSExternalLinkAccountAPI();

  var TecnaviaPlatformUtils = function () {
    function TecnaviaPlatformUtils() {
      (0, _classCallCheck2.default)(this, TecnaviaPlatformUtils);
    }

    (0, _createClass2.default)(TecnaviaPlatformUtils, null, [{
      key: "getFallbackConfig",
      value: function getFallbackConfig() {
        var _global$getMainPSetup = global.getMainPSetup(),
            readerAppLearnMoreLink = _global$getMainPSetup.readerAppLearnMoreLink;

        return {
          safeArea: _deviceUtils.default.getSafeArea(),
          moreLink: readerAppLearnMoreLink,
          title: global.strings("reader_app_title"),
          text: global.strings("reader_app_text", {
            developerName: global.developerName
          }),
          learnMoreText: global.strings("learn_more"),
          continueText: global.strings("btn_continue"),
          cancelText: global.strings("btn_cancel"),
          notAvailableText: global.strings("str_not_available"),
          showModal: _$$_REQUIRE(_dependencyMap[8]).ModalOverlay.show,
          hideModal: _$$_REQUIRE(_dependencyMap[8]).ModalOverlay.hide
        };
      }
    }, {
      key: "isExternalLinkAccountURL",
      value: function isExternalLinkAccountURL(url) {
        return global.externalLinkAccountURL && _$$_REQUIRE(_dependencyMap[9]).StringUtils.removeLastSlash(url) === _$$_REQUIRE(_dependencyMap[9]).StringUtils.removeLastSlash(global.externalLinkAccountURL);
      }
    }, {
      key: "externalLinkAccountCheck",
      value: function externalLinkAccountCheck(url) {
        return _$$_REQUIRE(_dependencyMap[9]).PlatformUtils.isIOS() && TecnaviaPlatformUtils.isExternalLinkAccountURL(url);
      }
    }, {
      key: "isExternalLinkAccountAllowed",
      value: function isExternalLinkAccountAllowed(url) {
        var _global$getMainPSetup2, disableReaderAppModal;

        return _regenerator.default.async(function isExternalLinkAccountAllowed$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _global$getMainPSetup2 = global.getMainPSetup(), disableReaderAppModal = _global$getMainPSetup2.disableReaderAppModal;

                if (!(IOSExternalLinkAccount && !disableReaderAppModal && TecnaviaPlatformUtils.externalLinkAccountCheck(url))) {
                  _context.next = 5;
                  break;
                }

                _context.next = 4;
                return _regenerator.default.awrap(IOSExternalLinkAccount.isExternalLinkAccountAllowed(url, TecnaviaPlatformUtils.getFallbackConfig()));

              case 4:
                return _context.abrupt("return", true);

              case 5:
                return _context.abrupt("return", false);

              case 6:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "isExternalLinkAccountAllowedSync",
      value: function isExternalLinkAccountAllowedSync(url) {
        var _global$getMainPSetup3 = global.getMainPSetup(),
            disableReaderAppModal = _global$getMainPSetup3.disableReaderAppModal;

        if (IOSExternalLinkAccount && !disableReaderAppModal && TecnaviaPlatformUtils.externalLinkAccountCheck(url)) {
          IOSExternalLinkAccount.isExternalLinkAccountAllowedSync(url, TecnaviaPlatformUtils.getFallbackConfig());
          return true;
        }

        return false;
      }
    }, {
      key: "openURL",
      value: function openURL(url) {
        var isExternalLinkAccount;
        return _regenerator.default.async(function openURL$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!url) {
                  _context2.next = 23;
                  break;
                }

                if (url.startsWith("HTTP://")) {
                  url = url.replace(/^HTTP:\/\//, "http://");
                } else if (url.startsWith("HTTPS://")) {
                  url = url.replace(/^HTTPS:\/\//, "https://");
                }

                _context2.next = 4;
                return _regenerator.default.awrap(_sdkUtils.default.willOpenURL(url));

              case 4:
                if (!_context2.sent) {
                  _context2.next = 7;
                  break;
                }

                _context2.next = 23;
                break;

              case 7:
                _context2.next = 9;
                return _regenerator.default.awrap(_reactNative.Linking.canOpenURL(url));

              case 9:
                if (!_context2.sent) {
                  _context2.next = 23;
                  break;
                }

                _context2.prev = 10;
                _context2.next = 13;
                return _regenerator.default.awrap(TecnaviaPlatformUtils.isExternalLinkAccountAllowed(url));

              case 13:
                isExternalLinkAccount = _context2.sent;

                if (isExternalLinkAccount) {
                  _context2.next = 17;
                  break;
                }

                _context2.next = 17;
                return _regenerator.default.awrap(_reactNative.Linking.openURL(url));

              case 17:
                return _context2.abrupt("return", true);

              case 20:
                _context2.prev = 20;
                _context2.t0 = _context2["catch"](10);

                _$$_REQUIRE(_dependencyMap[10]).Toast.show(global.strings("system_error"), {
                  position: "top"
                });

              case 23:
                return _context2.abrupt("return", false);

              case 24:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, [[10, 20]], Promise);
      }
    }]);
    return TecnaviaPlatformUtils;
  }();

  exports.default = TecnaviaPlatformUtils;
},1876,[5,80,7,8,28,458,731,1874,1877,462,1889]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.ModalOverlay = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _alert = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _jsModal = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _modal = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[13]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ModalOverlay = function (_React$Component) {
    (0, _inherits2.default)(ModalOverlay, _React$Component);

    var _super = _createSuper(ModalOverlay);

    function ModalOverlay(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ModalOverlay);
      _this = _super.call(this, props);
      _this.state = {
        cancelable: true,
        expanded: false,
        Component: null,
        style: undefined,
        contentStyle: undefined,
        supportedOrientations: undefined,
        onDismiss: undefined,
        dontUseModal: false
      };
      _this.show = _this._show.bind((0, _assertThisInitialized2.default)(_this));
      _this.hide = _this._hide.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(ModalOverlay, [{
      key: "_show",
      value: function _show() {
        var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
            Component = _ref.Component,
            style = _ref.style,
            contentStyle = _ref.contentStyle,
            supportedOrientations = _ref.supportedOrientations,
            cancelable = _ref.cancelable,
            onDismiss = _ref.onDismiss,
            _ref$dontUseModal = _ref.dontUseModal,
            dontUseModal = _ref$dontUseModal === undefined ? false : _ref$dontUseModal;

        this.setState({
          expanded: true,
          cancelable: cancelable,
          Component: Component,
          style: style,
          contentStyle: contentStyle,
          supportedOrientations: supportedOrientations,
          onDismiss: onDismiss,
          dontUseModal: dontUseModal
        });
      }
    }, {
      key: "_hide",
      value: function _hide() {
        var onDismiss = this.state.onDismiss;

        if (typeof onDismiss === "function") {
          onDismiss();
        }

        this.setState({
          cancelable: true,
          expanded: false,
          Component: null,
          style: undefined,
          contentStyle: undefined,
          supportedOrientations: undefined,
          onDismiss: undefined,
          dontUseModal: false
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this$state = this.state,
            expanded = _this$state.expanded,
            cancelable = _this$state.cancelable,
            Component = _this$state.Component,
            style = _this$state.style,
            contentStyle = _this$state.contentStyle,
            supportedOrientations = _this$state.supportedOrientations,
            dontUseModal = _this$state.dontUseModal;

        var _DeviceUtils$getSafeA = _deviceUtils.default.getSafeAreaInsets(),
            top = _DeviceUtils$getSafeA.top,
            bottom = _DeviceUtils$getSafeA.bottom;

        var _DeviceUtils$getSafeA2 = _deviceUtils.default.getSafeArea(),
            height = _DeviceUtils$getSafeA2.height;

        var cancelableProps = {};

        if (cancelable) {
          cancelableProps.onBackdropPress = this.hide;
          cancelableProps.onBackButtonPress = this.hide;
        }

        var Children = _react.default.createElement(_reactNative.View, {
          style: [_$$_REQUIRE(_dependencyMap[14]).styles.modal, {
            marginTop: top,
            marginBottom: bottom,
            maxHeight: height
          }, contentStyle]
        }, Component);

        if (dontUseModal) {
          return _react.default.createElement(_jsModal.default, (0, _extends2.default)({
            visible: expanded
          }, cancelableProps, {
            useNativeDriver: true
          }), _react.default.createElement(_reactNative.View, {
            style: _modal.ModalStyle.container
          }, Children));
        }

        return Component ? _react.default.createElement(_modal.default, (0, _extends2.default)({
          visible: expanded,
          supportedOrientations: supportedOrientations,
          style: style
        }, cancelableProps), _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).GestureHandlerRootView, null, Children)) : null;
      }
    }], [{
      key: "alert",
      value: function alert() {
        var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var title = params.title,
            message = params.message,
            _params$buttons = params.buttons,
            buttons = _params$buttons === undefined ? [] : _params$buttons,
            _params$options = params.options,
            options = _params$options === undefined ? {} : _params$options;

        if (!title) {
          throw new Error("title is required");
        }

        var _options$cancelable = options.cancelable,
            cancelable = _options$cancelable === undefined ? true : _options$cancelable,
            onDismiss = options.onDismiss,
            _options$dontUseModal = options.dontUseModal,
            dontUseModal = _options$dontUseModal === undefined ? false : _options$dontUseModal;
        ModalOverlay.show({
          Component: _react.default.createElement(_alert.default, {
            title: title,
            message: message,
            buttons: buttons,
            onDismiss: ModalOverlay.hide
          }),
          cancelable: cancelable,
          onDismiss: onDismiss,
          dontUseModal: dontUseModal
        });
      }
    }, {
      key: "show",
      value: function show() {
        var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        ModalOverlay.instance.show(params);
      }
    }, {
      key: "hide",
      value: function hide() {
        ModalOverlay.instance.hide();
      }
    }]);
    return ModalOverlay;
  }(_react.default.Component);

  exports.ModalOverlay = ModalOverlay;
},1877,[5,6,7,8,15,12,14,16,17,28,458,1878,1881,1882,1888,1]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var styles = _reactNative.StyleSheet.create({
    modal: {
      padding: 10
    },
    title: {
      fontSize: 20,
      color: _$$_REQUIRE(_dependencyMap[5]).colors.black,
      margin: 10
    },
    text: {
      color: _$$_REQUIRE(_dependencyMap[5]).colors.black,
      marginHorizontal: 10,
      marginBottom: 10
    },
    button: {
      flex: 1,
      alignItems: "center",
      justifyContent: "center",
      height: 50,
      borderWidth: 0.5,
      borderColor: _$$_REQUIRE(_dependencyMap[5]).colors.black,
      margin: 5
    },
    buttonText: {
      color: _$$_REQUIRE(_dependencyMap[5]).colors.black
    }
  });

  function TaAlert(props) {
    var title = props.title,
        message = props.message,
        buttons = props.buttons,
        onDismiss = props.onDismiss;

    var _onDismiss = function _onDismiss() {
      if (typeof onDismiss === "function") {
        onDismiss();
      }
    };

    return _react.default.createElement(_reactNative.View, {
      style: styles.modal
    }, _react.default.createElement(_fontText.default, {
      style: styles.title,
      type: _fontText.Type.bold
    }, title), message ? _react.default.createElement(_fontText.default, {
      style: styles.text
    }, message) : null, buttons.length ? _react.default.createElement(_reactNative.View, {
      style: {
        flexDirection: "row",
        width: "100%"
      }
    }, buttons.map(function (_ref, index) {
      var _ref$Component = _ref.Component,
          Component = _ref$Component === undefined ? null : _ref$Component,
          text = _ref.text,
          _onPress = _ref.onPress,
          _ref$style = _ref.style,
          style = _ref$style === undefined ? {} : _ref$style;
      return _react.default.createElement(_reactNative.View, {
        style: {
          flexDirection: "row",
          flex: 1
        }
      }, Component || _react.default.createElement(_reactNative.TouchableOpacity, {
        key: "ta_alert_button_" + index,
        style: [styles.button, style],
        onPress: function onPress() {
          if (typeof _onPress === "function") {
            _onPress();
          }

          _onDismiss();
        }
      }, _react.default.createElement(_fontText.default, {
        style: styles.buttonText,
        type: _fontText.Type.bold
      }, text)));
    })) : null);
  }

  TaAlert.propTypes = {
    title: _propTypes.default.string.isRequired,
    message: _propTypes.default.string,
    buttons: _propTypes.default.arrayOf(_propTypes.default.shape({
      Component: _propTypes.default.any,
      text: _propTypes.default.string,
      onPress: _propTypes.default.func,
      style: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.number])
    })),
    onDismiss: _propTypes.default.func
  };
  TaAlert.defaultProps = {
    message: "",
    buttons: []
  };
  var _default = TaAlert;
  exports.default = _default;
},1878,[5,17,201,28,1879,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.Type = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  var TEXT_TRANSFORMS = ["uppercase", "lowercase", "capitalize", "none"];
  var DISPLAY_VALUES = ["flex", "none"];
  var Type = {
    bold: "bold",
    medium: "medium",
    regular: "regular"
  };
  exports.Type = Type;

  var applyDefaultStyle = function applyDefaultStyle(textStyle, type) {
    var family = _$$_REQUIRE(_dependencyMap[7]).CssUtils.getAttributeFromStyle("fontFamily", textStyle);

    var weight = _$$_REQUIRE(_dependencyMap[7]).CssUtils.getAttributeFromStyle("fontWeight", textStyle);

    var defaultStyle = {};

    if (!family) {
      defaultStyle.fontFamily = "system font";
    }

    if (!weight) {
      switch (type) {
        case Type.bold:
          defaultStyle.fontWeight = "bold";
          break;

        case Type.medium:
          defaultStyle.fontWeight = "normal";
          break;

        default:
          defaultStyle.fontWeight = "normal";
      }
    }

    return defaultStyle;
  };

  var getTransformProps = function getTransformProps(children, style) {
    var textTransform = _$$_REQUIRE(_dependencyMap[7]).CssUtils.getAttributeFromStyle("textTransform", style, "none", true);

    var newChildren = children;

    if (textTransform === "upperFirst" && typeof children === "string") {
      newChildren = newChildren.toLowerCase();
      newChildren = newChildren.charAt(0).toUpperCase() + newChildren.slice(1);
    } else if (TEXT_TRANSFORMS.includes(textTransform)) {
      style.push({
        textTransform: textTransform
      });
    }

    var display = _$$_REQUIRE(_dependencyMap[7]).CssUtils.getAttributeFromStyle("display", style, "", true);

    if (display) {
      if (!DISPLAY_VALUES.includes(display)) {
        display = "flex";
      }

      style.push({
        display: display
      });
    }

    return {
      children: newChildren,
      style: style
    };
  };

  function FontText(props) {
    var _useFonts = (0, _$$_REQUIRE(_dependencyMap[8]).useFonts)(_$$_REQUIRE(_dependencyMap[8]).FontContext),
        allowFontScaling = _useFonts.allowFontScaling,
        fontRegular = _useFonts.fontRegular,
        fontMedium = _useFonts.fontMedium,
        fontBold = _useFonts.fontBold;

    var _getFontStyle = function _getFontStyle(type) {
      var fontStyle = {};

      if (type === Type.bold && fontBold) {
        fontStyle.fontFamily = fontBold.font;
      } else if (type === Type.medium && fontMedium) {
        fontStyle.fontFamily = fontMedium.font;
      } else if (fontRegular) {
        fontStyle.fontFamily = fontRegular.font;
      }

      return fontStyle;
    };

    var type = props.type,
        style = props.style,
        _onLayout = props.onLayout,
        children = props.children,
        rest = (0, _objectWithoutProperties2.default)(props, ["type", "style", "onLayout", "children"]);

    var fontStyle = _getFontStyle(type);

    var textStyle = [fontStyle];

    if (style) {
      if (Array.isArray(style)) {
        textStyle.push.apply(textStyle, (0, _toConsumableArray2.default)(style));
      } else {
        textStyle.push(style);
      }
    }

    textStyle.push(applyDefaultStyle(textStyle, type));
    var newProps = getTransformProps(children, textStyle);
    return _react.default.createElement(_reactNative.Text, (0, _extends2.default)({
      onLayout: function onLayout(e) {
        if (_onLayout) {
          _onLayout(e, textStyle);
        }
      },
      allowFontScaling: allowFontScaling,
      minimumFontScale: _$$_REQUIRE(_dependencyMap[7]).FontUtils.fontMinScale,
      maxFontSizeMultiplier: _$$_REQUIRE(_dependencyMap[7]).FontUtils.fontMaxScale
    }, rest, newProps));
  }

  FontText.propTypes = {
    type: _propTypes.default.oneOf(Object.values(Type)),
    onLayout: _propTypes.default.func,
    style: _propTypes.default.any,
    children: _propTypes.default.any,
    supportFontScaling: _propTypes.default.bool,
    useDefaultFonts: _propTypes.default.bool
  };
  FontText.defaultProps = {
    type: Type.regular,
    supportFontScaling: true,
    useDefaultFonts: false
  };
  var _default = FontText;
  exports.default = _default;
},1879,[5,6,21,108,17,201,28,462,1880]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.useFonts = useFonts;
  exports.setFonts = setFonts;
  exports.FontContext = undefined;
  var FontContext = (0, _$$_REQUIRE(_dependencyMap[0]).createReactiveContext)({
    fontBold: undefined,
    fontMedium: undefined,
    fontRegular: undefined,
    allowFontScaling: true
  });
  exports.FontContext = FontContext;

  function useFonts() {
    return (0, _$$_REQUIRE(_dependencyMap[0]).useReactiveContext)(FontContext).state;
  }

  function setFonts() {
    var fonts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    FontContext.set(fonts);
  }
},1880,[702]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var styles = _reactNative.StyleSheet.create({
    container: {
      position: "absolute",
      top: 0,
      bottom: 0,
      start: 0,
      right: 0,
      justifyContent: "center",
      alignItems: "center",
      backgroundColor: _$$_REQUIRE(_dependencyMap[6]).colors.transparent600
    }
  });

  function JsModal(props) {
    var visible = props.visible,
        useNativeDriver = props.useNativeDriver,
        onBackButtonPress = props.onBackButtonPress,
        onBackdropPress = props.onBackdropPress,
        rest = (0, _objectWithoutProperties2.default)(props, ["visible", "useNativeDriver", "onBackButtonPress", "onBackdropPress"]);

    if (!visible) {
      return null;
    }

    var deviceWidth = _reactNative.Dimensions.get("window").width;

    var opacityValue = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
    var currentOpacityValue = (0, _react.useRef)(0);
    var onTouch = (0, _react.useCallback)(function () {
      if (typeof onBackdropPress === "function") {
        onBackdropPress();
      }
    }, []);
    var onBackPress = (0, _react.useCallback)(function () {
      if (typeof onBackButtonPress === "function") {
        onBackButtonPress();
      }
    }, []);

    var animate = function animate(destination) {
      _reactNative.Animated.timing(opacityValue, {
        toValue: destination,
        duration: 300,
        useNativeDriver: useNativeDriver
      }).start(function (_ref) {
        var finished = _ref.finished;

        if (finished) {
          currentOpacityValue.current = destination;
        }
      });
    };

    (0, _react.useEffect)(function () {
      animate(currentOpacityValue.current === 0 ? 1 : 0);

      var backHandler = _reactNative.BackHandler.addEventListener("hardwareBackPress", onBackPress);

      return function () {
        if (backHandler) {
          backHandler.remove();
        }
      };
    }, [visible]);
    return _react.default.createElement(_reactNative.Animated.View, (0, _extends2.default)({
      style: [styles.container, {
        opacity: opacityValue,
        padding: deviceWidth * 0.05
      }],
      onTouchStart: onTouch
    }, rest));
  }

  JsModal.propTypes = {
    visible: _propTypes.default.bool,
    useNativeDriver: _propTypes.default.bool,
    onBackButtonPress: _propTypes.default.func,
    onBackdropPress: _propTypes.default.func
  };
  JsModal.defaultProps = {
    visible: false,
    useNativeDriver: true
  };
  var _default = JsModal;
  exports.default = _default;
},1881,[5,6,108,17,201,28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.ModalStyle = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  var _reactNativeModal = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _keyboardAvoidingComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _modalFooter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var TIMING = 300;

  var styles = _reactNative.StyleSheet.create({
    modal: {
      padding: 10,
      justifyContent: "center",
      alignItems: "center"
    },
    container: {
      padding: 10,
      borderRadius: 20,
      width: "100%",
      maxWidth: 600,
      backgroundColor: _$$_REQUIRE(_dependencyMap[11]).colors.white,
      overflow: "hidden"
    }
  });

  var TaModal = (0, _react.forwardRef)(function (props, ref) {
    var visible = props.visible,
        onClose = props.onClose,
        onCancel = props.onCancel,
        onConfirm = props.onConfirm,
        onStateChange = props.onStateChange,
        onHide = props.onHide,
        hasFooter = props.hasFooter,
        children = props.children,
        supportedOrientations = props.supportedOrientations,
        backgroundColor = props.backgroundColor,
        foregroundColor = props.foregroundColor,
        containerStyle = props.containerStyle,
        style = props.style,
        needsKeyboardOffsetCheck = props.needsKeyboardOffsetCheck,
        rest = (0, _objectWithoutProperties2.default)(props, ["visible", "onClose", "onCancel", "onConfirm", "onStateChange", "onHide", "hasFooter", "children", "supportedOrientations", "backgroundColor", "foregroundColor", "containerStyle", "style", "needsKeyboardOffsetCheck"]);

    var _DeviceUtils$getSafeA = _deviceUtils.default.getSafeAreaInsets(),
        top = _DeviceUtils$getSafeA.top,
        bottom = _DeviceUtils$getSafeA.bottom;

    var _DeviceUtils$getSafeA2 = _deviceUtils.default.getSafeArea(),
        height = _DeviceUtils$getSafeA2.height;

    var _useState = (0, _react.useState)(false),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        expanded = _useState2[0],
        setExpanded = _useState2[1];

    var _useState3 = (0, _react.useState)(top),
        _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
        keyboardVerticalOffset = _useState4[0],
        setKeyboardVerticalOffset = _useState4[1];

    var _expand = function _expand() {
      return setExpanded(true);
    };

    var _collapse = function _collapse() {
      return setExpanded(false);
    };

    var _consumeCallback = function _consumeCallback(callback) {
      var consumed = typeof callback === "function" && callback();

      if (!consumed) {
        _collapse();
      }
    };

    var _onHide = function _onHide() {
      return typeof onHide === "function" && onHide();
    };

    var _onClose = function _onClose() {
      return _consumeCallback(onClose);
    };

    var _onCancel = function _onCancel() {
      return _consumeCallback(onCancel);
    };

    var _onConfirm = function _onConfirm() {
      return _consumeCallback(onConfirm);
    };

    var otherProps = {};
    var keyboardProps = {};

    if (_$$_REQUIRE(_dependencyMap[11]).PlatformUtils.isIOS()) {
      if (needsKeyboardOffsetCheck) {
        otherProps = {
          onLayout: function onLayout(_ref) {
            var nativeEvent = _ref.nativeEvent;

            if (nativeEvent.layout.height < height) {
              setKeyboardVerticalOffset(keyboardVerticalOffset + (height - nativeEvent.layout.height) / 2);
            }
          }
        };
      }

      keyboardProps = {
        keyboardVerticalOffset: keyboardVerticalOffset
      };
    }

    (0, _react.useImperativeHandle)(ref, function () {
      return {
        expand: function expand() {
          return _expand();
        },
        collapse: function collapse() {
          return _collapse();
        }
      };
    });
    (0, _react.useEffect)(function () {
      if (typeof onStateChange === "function") {
        onStateChange(expanded);
      }
    }, [expanded]);
    (0, _react.useEffect)(function () {
      setExpanded(visible);
    }, [visible]);
    return _react.default.createElement(_reactNativeModal.default, (0, _extends2.default)({
      isVisible: expanded,
      onBackdropPress: _onClose,
      onBackButtonPress: _onClose,
      animationInTiming: TIMING,
      animationOutTiming: TIMING,
      backdropTransitionInTiming: TIMING,
      backdropTransitionOutTiming: TIMING,
      supportedOrientations: supportedOrientations || ["portrait", "portrait-upside-down", "landscape"],
      style: [styles.modal, style]
    }, otherProps, _reactNative.Platform.select({
      ios: {
        onDismiss: _onHide
      },
      android: {
        onModalHide: _onHide,
        useNativeDriver: true,
        useNativeDriverForBackdrop: true
      }
    }), rest), _react.default.createElement(_keyboardAvoidingComponent.default, (0, _extends2.default)({
      style: [styles.container, {
        marginTop: top,
        marginBottom: bottom,
        maxHeight: height,
        backgroundColor: backgroundColor || _$$_REQUIRE(_dependencyMap[12]).Css.getDefaultBackgroundColor()
      }, containerStyle]
    }, keyboardProps, {
      nestedScrollEnabled: true
    }), children, hasFooter ? _react.default.createElement(_modalFooter.default, {
      onCancel: _onCancel,
      onConfirm: _onConfirm,
      color: _$$_REQUIRE(_dependencyMap[12]).Css.getDefaultForegroundColor(),
      confirmColor: foregroundColor || global.getRssIndex().supportColor || _$$_REQUIRE(_dependencyMap[12]).Css.getDefaultForegroundColor()
    }) : null));
  });
  TaModal.propTypes = {
    children: _propTypes.default.any,
    visible: _propTypes.default.bool,
    hasFooter: _propTypes.default.bool,
    onStateChange: _propTypes.default.func,
    onHide: _propTypes.default.func,
    onClose: _propTypes.default.func,
    onCancel: _propTypes.default.func,
    onConfirm: _propTypes.default.func,
    backgroundColor: _propTypes.default.string,
    foregroundColor: _propTypes.default.string,
    supportedOrientations: _propTypes.default.arrayOf(_propTypes.default.string),
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array, _propTypes.default.number]),
    containerStyle: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array, _propTypes.default.number]),
    needsKeyboardOffsetCheck: _propTypes.default.bool
  };
  TaModal.defaultProps = {
    hasFooter: false,
    visible: false,
    backgroundColor: _$$_REQUIRE(_dependencyMap[11]).colors.white,
    needsKeyboardOffsetCheck: false
  };
  var ModalStyle = styles;
  exports.ModalStyle = ModalStyle;
  var _default = TaModal;
  exports.default = _default;
},1882,[5,6,41,108,17,201,28,1883,1870,458,1887,462,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "ReactNativeModal", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).ReactNativeModal;
    }
  });
  exports.default = undefined;
  exports.default = _$$_REQUIRE(_dependencyMap[0]).ReactNativeModal;
},1883,[1884]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.ReactNativeModal = undefined;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var PropTypes = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var animatable = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  var _modal = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  (0, _$$_REQUIRE(_dependencyMap[13]).initializeAnimations)();

  var extractAnimationFromProps = function extractAnimationFromProps(props) {
    return {
      animationIn: props.animationIn,
      animationOut: props.animationOut
    };
  };

  var ReactNativeModal = function (_React$Component) {
    (0, _inherits2.default)(ReactNativeModal, _React$Component);

    var _super = _createSuper(ReactNativeModal);

    function ReactNativeModal(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ReactNativeModal);
      _this = _super.call(this, props);
      _this.state = {
        showContent: true,
        isVisible: false,
        deviceWidth: _reactNative.Dimensions.get('window').width,
        deviceHeight: _reactNative.Dimensions.get('window').height,
        isSwipeable: !!_this.props.swipeDirection,
        pan: null
      };
      _this.isTransitioning = false;
      _this.inSwipeClosingState = false;
      _this.currentSwipingDirection = null;
      _this.panResponder = null;

      _this.getDeviceHeight = function () {
        return _this.props.deviceHeight || _this.state.deviceHeight;
      };

      _this.getDeviceWidth = function () {
        return _this.props.deviceWidth || _this.state.deviceWidth;
      };

      _this.onBackButtonPress = function () {
        if (_this.props.onBackButtonPress && _this.props.isVisible) {
          _this.props.onBackButtonPress();

          return true;
        }

        return false;
      };

      _this.buildPanResponder = function () {
        var animEvt = null;
        _this.panResponder = _reactNative.PanResponder.create({
          onMoveShouldSetPanResponder: function onMoveShouldSetPanResponder(evt, gestureState) {
            if (!_this.props.propagateSwipe) {
              var shouldSetPanResponder = Math.abs(gestureState.dx) >= 4 || Math.abs(gestureState.dy) >= 4;

              if (shouldSetPanResponder && _this.props.onSwipeStart) {
                _this.props.onSwipeStart();
              }

              _this.currentSwipingDirection = _this.getSwipingDirection(gestureState);
              animEvt = _this.createAnimationEventForSwipe();
              return shouldSetPanResponder;
            }

            return false;
          },
          onStartShouldSetPanResponder: function onStartShouldSetPanResponder(e) {
            var hasScrollableView = e._dispatchInstances && e._dispatchInstances.some(function (instance) {
              return /scrollview|flatlist/i.test(instance.type);
            });

            if (hasScrollableView && _this.props.propagateSwipe && _this.props.scrollTo && _this.props.scrollOffset > 0) {
              return false;
            }

            if (_this.props.onSwipeStart) {
              _this.props.onSwipeStart();
            }

            _this.currentSwipingDirection = null;
            return true;
          },
          onPanResponderMove: function onPanResponderMove(evt, gestureState) {
            if (!_this.currentSwipingDirection) {
              if (gestureState.dx === 0 && gestureState.dy === 0) {
                return;
              }

              _this.currentSwipingDirection = _this.getSwipingDirection(gestureState);
              animEvt = _this.createAnimationEventForSwipe();
            }

            if (_this.isSwipeDirectionAllowed(gestureState)) {
              var newOpacityFactor = 1 - _this.calcDistancePercentage(gestureState);

              _this.backdropRef && _this.backdropRef.transitionTo({
                opacity: _this.props.backdropOpacity * newOpacityFactor
              });
              animEvt(evt, gestureState);

              if (_this.props.onSwipeMove) {
                _this.props.onSwipeMove(newOpacityFactor);
              }
            } else {
              if (_this.props.scrollTo) {
                if (_this.props.scrollHorizontal) {
                  var offsetX = -gestureState.dx;

                  if (offsetX > _this.props.scrollOffsetMax) {
                    offsetX -= (offsetX - _this.props.scrollOffsetMax) / 2;
                  }

                  _this.props.scrollTo({
                    x: offsetX,
                    animated: false
                  });
                } else {
                  var offsetY = -gestureState.dy;

                  if (offsetY > _this.props.scrollOffsetMax) {
                    offsetY -= (offsetY - _this.props.scrollOffsetMax) / 2;
                  }

                  _this.props.scrollTo({
                    y: offsetY,
                    animated: false
                  });
                }
              }
            }
          },
          onPanResponderRelease: function onPanResponderRelease(evt, gestureState) {
            var accDistance = _this.getAccDistancePerDirection(gestureState);

            if (accDistance > _this.props.swipeThreshold && _this.isSwipeDirectionAllowed(gestureState)) {
              if (_this.props.onSwipeComplete) {
                _this.inSwipeClosingState = true;

                _this.props.onSwipeComplete({
                  swipingDirection: _this.getSwipingDirection(gestureState)
                });

                return;
              }

              if (_this.props.onSwipe) {
                _this.inSwipeClosingState = true;

                _this.props.onSwipe();

                return;
              }
            }

            if (_this.props.onSwipeCancel) {
              _this.props.onSwipeCancel();
            }

            if (_this.backdropRef) {
              _this.backdropRef.transitionTo({
                opacity: _this.props.backdropOpacity
              });
            }

            _reactNative.Animated.spring(_this.state.pan, {
              toValue: {
                x: 0,
                y: 0
              },
              bounciness: 0,
              useNativeDriver: false
            }).start();

            if (_this.props.scrollTo) {
              if (_this.props.scrollOffset > _this.props.scrollOffsetMax) {
                _this.props.scrollTo({
                  y: _this.props.scrollOffsetMax,
                  animated: true
                });
              }
            }
          }
        });
      };

      _this.getAccDistancePerDirection = function (gestureState) {
        switch (_this.currentSwipingDirection) {
          case 'up':
            return -gestureState.dy;

          case 'down':
            return gestureState.dy;

          case 'right':
            return gestureState.dx;

          case 'left':
            return -gestureState.dx;

          default:
            return 0;
        }
      };

      _this.getSwipingDirection = function (gestureState) {
        if (Math.abs(gestureState.dx) > Math.abs(gestureState.dy)) {
          return gestureState.dx > 0 ? 'right' : 'left';
        }

        return gestureState.dy > 0 ? 'down' : 'up';
      };

      _this.calcDistancePercentage = function (gestureState) {
        switch (_this.currentSwipingDirection) {
          case 'down':
            return (gestureState.moveY - gestureState.y0) / ((_this.props.deviceHeight || _this.state.deviceHeight) - gestureState.y0);

          case 'up':
            return (0, _$$_REQUIRE(_dependencyMap[13]).reversePercentage)(gestureState.moveY / gestureState.y0);

          case 'left':
            return (0, _$$_REQUIRE(_dependencyMap[13]).reversePercentage)(gestureState.moveX / gestureState.x0);

          case 'right':
            return (gestureState.moveX - gestureState.x0) / ((_this.props.deviceWidth || _this.state.deviceWidth) - gestureState.x0);

          default:
            return 0;
        }
      };

      _this.createAnimationEventForSwipe = function () {
        if (_this.currentSwipingDirection === 'right' || _this.currentSwipingDirection === 'left') {
          return _reactNative.Animated.event([null, {
            dx: _this.state.pan.x
          }], {
            useNativeDriver: false
          });
        } else {
          return _reactNative.Animated.event([null, {
            dy: _this.state.pan.y
          }], {
            useNativeDriver: false
          });
        }
      };

      _this.isDirectionIncluded = function (direction) {
        return Array.isArray(_this.props.swipeDirection) ? _this.props.swipeDirection.includes(direction) : _this.props.swipeDirection === direction;
      };

      _this.isSwipeDirectionAllowed = function (_ref) {
        var dy = _ref.dy,
            dx = _ref.dx;
        var draggedDown = dy > 0;
        var draggedUp = dy < 0;
        var draggedLeft = dx < 0;
        var draggedRight = dx > 0;

        if (_this.currentSwipingDirection === 'up' && _this.isDirectionIncluded('up') && draggedUp) {
          return true;
        } else if (_this.currentSwipingDirection === 'down' && _this.isDirectionIncluded('down') && draggedDown) {
          return true;
        } else if (_this.currentSwipingDirection === 'right' && _this.isDirectionIncluded('right') && draggedRight) {
          return true;
        } else if (_this.currentSwipingDirection === 'left' && _this.isDirectionIncluded('left') && draggedLeft) {
          return true;
        }

        return false;
      };

      _this.handleDimensionsUpdate = function () {
        if (!_this.props.deviceHeight && !_this.props.deviceWidth) {
          var deviceWidth = _reactNative.Dimensions.get('window').width;

          var deviceHeight = _reactNative.Dimensions.get('window').height;

          if (deviceWidth !== _this.state.deviceWidth || deviceHeight !== _this.state.deviceHeight) {
            _this.setState({
              deviceWidth: deviceWidth,
              deviceHeight: deviceHeight
            });
          }
        }
      };

      _this.open = function () {
        if (_this.isTransitioning) {
          return;
        }

        _this.isTransitioning = true;

        if (_this.backdropRef) {
          _this.backdropRef.transitionTo({
            opacity: _this.props.backdropOpacity
          }, _this.props.backdropTransitionInTiming);
        }

        if (_this.state.isSwipeable) {
          _this.state.pan.setValue({
            x: 0,
            y: 0
          });
        }

        if (_this.contentRef) {
          _this.props.onModalWillShow && _this.props.onModalWillShow();

          var interactionHandle = _reactNative.InteractionManager.createInteractionHandle();

          _this.contentRef.animate(_this.animationIn, _this.props.animationInTiming).then(function () {
            _this.isTransitioning = false;

            _reactNative.InteractionManager.clearInteractionHandle(interactionHandle);

            if (!_this.props.isVisible) {
              _this.close();
            } else {
              _this.props.onModalShow();
            }
          });
        }
      };

      _this.close = function () {
        if (_this.isTransitioning) {
          return;
        }

        _this.isTransitioning = true;

        if (_this.backdropRef) {
          _this.backdropRef.transitionTo({
            opacity: 0
          }, _this.props.backdropTransitionOutTiming);
        }

        var animationOut = _this.animationOut;

        if (_this.inSwipeClosingState) {
          _this.inSwipeClosingState = false;

          if (_this.currentSwipingDirection === 'up') {
            animationOut = 'slideOutUp';
          } else if (_this.currentSwipingDirection === 'down') {
            animationOut = 'slideOutDown';
          } else if (_this.currentSwipingDirection === 'right') {
            animationOut = 'slideOutRight';
          } else if (_this.currentSwipingDirection === 'left') {
            animationOut = 'slideOutLeft';
          }
        }

        if (_this.contentRef) {
          _this.props.onModalWillHide && _this.props.onModalWillHide();

          var interactionHandle = _reactNative.InteractionManager.createInteractionHandle();

          _this.contentRef.animate(animationOut, _this.props.animationOutTiming).then(function () {
            _this.isTransitioning = false;

            _reactNative.InteractionManager.clearInteractionHandle(interactionHandle);

            if (_this.props.isVisible) {
              _this.open();
            } else {
              _this.setState({
                showContent: false
              }, function () {
                _this.setState({
                  isVisible: false
                }, function () {
                  _this.props.onModalHide();
                });
              });
            }
          });
        }
      };

      _this.makeBackdrop = function () {
        if (!_this.props.hasBackdrop) {
          return null;
        }

        if (_this.props.customBackdrop && !React.isValidElement(_this.props.customBackdrop)) {
          console.warn('Invalid customBackdrop element passed to Modal. You must provide a valid React element.');
        }

        var _this$props = _this.props,
            customBackdrop = _this$props.customBackdrop,
            backdropColor = _this$props.backdropColor,
            useNativeDriver = _this$props.useNativeDriver,
            useNativeDriverForBackdrop = _this$props.useNativeDriverForBackdrop,
            onBackdropPress = _this$props.onBackdropPress;
        var hasCustomBackdrop = !!_this.props.customBackdrop;
        var backdropComputedStyle = [{
          width: _this.getDeviceWidth(),
          height: _this.getDeviceHeight(),
          backgroundColor: _this.state.showContent && !hasCustomBackdrop ? backdropColor : 'transparent'
        }];
        var backdropWrapper = React.createElement(animatable.View, {
          ref: function ref(_ref2) {
            return _this.backdropRef = _ref2;
          },
          useNativeDriver: useNativeDriverForBackdrop !== undefined ? useNativeDriverForBackdrop : useNativeDriver,
          style: [_modal.default.backdrop, backdropComputedStyle]
        }, hasCustomBackdrop && customBackdrop);

        if (hasCustomBackdrop) {
          return backdropWrapper;
        }

        return React.createElement(_reactNative.TouchableWithoutFeedback, {
          onPress: onBackdropPress
        }, backdropWrapper);
      };

      var _buildAnimations = (0, _$$_REQUIRE(_dependencyMap[13]).buildAnimations)(extractAnimationFromProps(props)),
          animationIn = _buildAnimations.animationIn,
          animationOut = _buildAnimations.animationOut;

      _this.animationIn = animationIn;
      _this.animationOut = animationOut;

      if (_this.state.isSwipeable) {
        _this.state = (0, _extends2.default)({}, _this.state, {
          pan: new _reactNative.Animated.ValueXY()
        });

        _this.buildPanResponder();
      }

      if (props.isVisible) {
        _this.state = (0, _extends2.default)({}, _this.state, {
          isVisible: true,
          showContent: true
        });
      }

      return _this;
    }

    (0, _createClass2.default)(ReactNativeModal, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        if (this.props.onSwipe) {
          console.warn('`<Modal onSwipe="..." />` is deprecated and will be removed starting from 13.0.0. Use `<Modal onSwipeComplete="..." />` instead.');
        }

        _reactNative.DeviceEventEmitter.addListener('didUpdateDimensions', this.handleDimensionsUpdate);

        if (this.state.isVisible) {
          this.open();
        }

        _reactNative.BackHandler.addEventListener('hardwareBackPress', this.onBackButtonPress);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _reactNative.BackHandler.removeEventListener('hardwareBackPress', this.onBackButtonPress);

        _reactNative.DeviceEventEmitter.removeListener('didUpdateDimensions', this.handleDimensionsUpdate);
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps) {
        if (this.props.animationIn !== prevProps.animationIn || this.props.animationOut !== prevProps.animationOut) {
          var _buildAnimations2 = (0, _$$_REQUIRE(_dependencyMap[13]).buildAnimations)(extractAnimationFromProps(this.props)),
              animationIn = _buildAnimations2.animationIn,
              animationOut = _buildAnimations2.animationOut;

          this.animationIn = animationIn;
          this.animationOut = animationOut;
        }

        if (this.props.backdropOpacity !== prevProps.backdropOpacity && this.backdropRef) {
          this.backdropRef.transitionTo({
            opacity: this.props.backdropOpacity
          }, this.props.backdropTransitionInTiming);
        }

        if (this.props.isVisible && !prevProps.isVisible) {
          this.open();
        } else if (!this.props.isVisible && prevProps.isVisible) {
          this.close();
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props2 = this.props,
            animationIn = _this$props2.animationIn,
            animationInTiming = _this$props2.animationInTiming,
            animationOut = _this$props2.animationOut,
            animationOutTiming = _this$props2.animationOutTiming,
            avoidKeyboard = _this$props2.avoidKeyboard,
            coverScreen = _this$props2.coverScreen,
            hasBackdrop = _this$props2.hasBackdrop,
            backdropColor = _this$props2.backdropColor,
            backdropOpacity = _this$props2.backdropOpacity,
            backdropTransitionInTiming = _this$props2.backdropTransitionInTiming,
            backdropTransitionOutTiming = _this$props2.backdropTransitionOutTiming,
            customBackdrop = _this$props2.customBackdrop,
            children = _this$props2.children,
            isVisible = _this$props2.isVisible,
            onModalShow = _this$props2.onModalShow,
            onBackButtonPress = _this$props2.onBackButtonPress,
            useNativeDriver = _this$props2.useNativeDriver,
            propagateSwipe = _this$props2.propagateSwipe,
            style = _this$props2.style,
            otherProps = (0, _objectWithoutProperties2.default)(_this$props2, ["animationIn", "animationInTiming", "animationOut", "animationOutTiming", "avoidKeyboard", "coverScreen", "hasBackdrop", "backdropColor", "backdropOpacity", "backdropTransitionInTiming", "backdropTransitionOutTiming", "customBackdrop", "children", "isVisible", "onModalShow", "onBackButtonPress", "useNativeDriver", "propagateSwipe", "style"]);
        var testID = otherProps.testID,
            containerProps = (0, _objectWithoutProperties2.default)(otherProps, ["testID"]);
        var computedStyle = [{
          margin: this.getDeviceWidth() * 0.05,
          transform: [{
            translateY: 0
          }]
        }, _modal.default.content, style];
        var panHandlers = {};
        var panPosition = {};

        if (this.state.isSwipeable) {
          panHandlers = (0, _extends2.default)({}, this.panResponder.panHandlers);

          if (useNativeDriver) {
            panPosition = {
              transform: this.state.pan.getTranslateTransform()
            };
          } else {
            panPosition = this.state.pan.getLayout();
          }
        }

        var _children = this.props.hideModalContentWhileAnimating && this.props.useNativeDriver && !this.state.showContent ? React.createElement(animatable.View, null) : children;

        var containerView = React.createElement(animatable.View, (0, _extends2.default)({}, panHandlers, {
          ref: function ref(_ref3) {
            return _this2.contentRef = _ref3;
          },
          style: [panPosition, computedStyle],
          pointerEvents: "box-none",
          useNativeDriver: useNativeDriver
        }, containerProps), _children);

        if (!coverScreen && this.state.isVisible) {
          return React.createElement(_reactNative.View, {
            pointerEvents: "box-none",
            style: [_modal.default.backdrop, _modal.default.containerBox]
          }, this.makeBackdrop(), containerView);
        }

        return React.createElement(_reactNative.Modal, (0, _extends2.default)({
          transparent: true,
          animationType: 'none',
          visible: this.state.isVisible,
          onRequestClose: onBackButtonPress
        }, otherProps), this.makeBackdrop(), avoidKeyboard ? React.createElement(_reactNative.KeyboardAvoidingView, {
          behavior: _reactNative.Platform.OS === 'ios' ? 'padding' : undefined,
          pointerEvents: "box-none",
          style: computedStyle.concat([{
            margin: 0
          }])
        }, containerView) : containerView);
      }
    }], [{
      key: "getDerivedStateFromProps",
      value: function getDerivedStateFromProps(nextProps, state) {
        if (!state.isVisible && nextProps.isVisible) {
          return {
            isVisible: true,
            showContent: true
          };
        }

        return null;
      }
    }]);
    return ReactNativeModal;
  }(React.Component);

  exports.ReactNativeModal = ReactNativeModal;
  ReactNativeModal.propTypes = {
    animationIn: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
    animationInTiming: PropTypes.number,
    animationOut: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),
    animationOutTiming: PropTypes.number,
    avoidKeyboard: PropTypes.bool,
    coverScreen: PropTypes.bool,
    hasBackdrop: PropTypes.bool,
    backdropColor: PropTypes.string,
    backdropOpacity: PropTypes.number,
    backdropTransitionInTiming: PropTypes.number,
    backdropTransitionOutTiming: PropTypes.number,
    customBackdrop: PropTypes.node,
    children: PropTypes.node.isRequired,
    deviceHeight: PropTypes.number,
    deviceWidth: PropTypes.number,
    isVisible: PropTypes.bool.isRequired,
    hideModalContentWhileAnimating: PropTypes.bool,
    propagateSwipe: PropTypes.bool,
    onModalShow: PropTypes.func,
    onModalWillShow: PropTypes.func,
    onModalHide: PropTypes.func,
    onModalWillHide: PropTypes.func,
    onBackButtonPress: PropTypes.func,
    onBackdropPress: PropTypes.func,
    onSwipeStart: PropTypes.func,
    onSwipeMove: PropTypes.func,
    onSwipeComplete: PropTypes.func,
    onSwipeCancel: PropTypes.func,
    swipeThreshold: PropTypes.number,
    swipeDirection: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOf(['up', 'down', 'left', 'right'])), PropTypes.oneOf(['up', 'down', 'left', 'right'])]),
    useNativeDriver: PropTypes.bool,
    useNativeDriverForBackdrop: PropTypes.bool,
    style: PropTypes.any,
    scrollTo: PropTypes.func,
    scrollOffset: PropTypes.number,
    scrollOffsetMax: PropTypes.number,
    scrollHorizontal: PropTypes.bool,
    supportedOrientations: PropTypes.arrayOf(PropTypes.oneOf(['portrait', 'portrait-upside-down', 'landscape', 'landscape-left', 'landscape-right']))
  };
  ReactNativeModal.defaultProps = {
    animationIn: 'slideInUp',
    animationInTiming: 300,
    animationOut: 'slideOutDown',
    animationOutTiming: 300,
    avoidKeyboard: false,
    coverScreen: true,
    hasBackdrop: true,
    backdropColor: 'black',
    backdropOpacity: 0.7,
    backdropTransitionInTiming: 300,
    backdropTransitionOutTiming: 300,
    customBackdrop: null,
    useNativeDriver: false,
    deviceHeight: null,
    deviceWidth: null,
    hideModalContentWhileAnimating: false,
    propagateSwipe: false,
    isVisible: false,
    onModalShow: function onModalShow() {
      return null;
    },
    onModalWillShow: function onModalWillShow() {
      return null;
    },
    onModalHide: function onModalHide() {
      return null;
    },
    onModalWillHide: function onModalWillHide() {
      return null;
    },
    onBackdropPress: function onBackdropPress() {
      return null;
    },
    onBackButtonPress: function onBackButtonPress() {
      return null;
    },
    swipeThreshold: 100,
    scrollTo: null,
    scrollOffset: 0,
    scrollOffsetMax: 0,
    scrollHorizontal: false,
    supportedOrientations: ['portrait', 'landscape']
  };
  var _default = ReactNativeModal;
  exports.default = _default;
},1884,[5,108,6,7,8,12,14,16,17,28,201,1290,1885,1886]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    backdrop: {
      position: 'absolute',
      top: 0,
      bottom: 0,
      left: 0,
      right: 0,
      opacity: 0,
      backgroundColor: 'black'
    },
    content: {
      flex: 1,
      justifyContent: 'center'
    },
    containerBox: {
      zIndex: 2,
      opacity: 1,
      backgroundColor: 'transparent'
    }
  });

  exports.default = _default;
},1885,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.reversePercentage = exports.buildAnimations = exports.makeSlideTranslation = exports.initializeAnimations = undefined;

  var _defineProperty2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var animatable = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _Dimensions$get = _reactNative.Dimensions.get('window'),
      height = _Dimensions$get.height,
      width = _Dimensions$get.width;

  var initializeAnimations = function initializeAnimations() {
    var animationDefinitions = {
      slideInDown: makeSlideTranslation('translateY', -height, 0),
      slideInUp: makeSlideTranslation('translateY', height, 0),
      slideInLeft: makeSlideTranslation('translateX', -width, 0),
      slideInRight: makeSlideTranslation('translateX', width, 0),
      slideOutDown: makeSlideTranslation('translateY', 0, height),
      slideOutUp: makeSlideTranslation('translateY', 0, -height),
      slideOutLeft: makeSlideTranslation('translateX', 0, -width),
      slideOutRight: makeSlideTranslation('translateX', 0, width)
    };
    animatable.initializeRegistryWithDefinitions(animationDefinitions);
  };

  exports.initializeAnimations = initializeAnimations;

  var makeSlideTranslation = function makeSlideTranslation(translationType, fromValue, toValue) {
    return {
      from: (0, _defineProperty2.default)({}, translationType, fromValue),
      to: (0, _defineProperty2.default)({}, translationType, toValue)
    };
  };

  exports.makeSlideTranslation = makeSlideTranslation;

  var buildAnimations = function buildAnimations(_ref) {
    var animationIn = _ref.animationIn,
        animationOut = _ref.animationOut;
    var updatedAnimationIn;
    var updatedAnimationOut;

    if (isObject(animationIn)) {
      var animationName = JSON.stringify(animationIn);
      makeAnimation(animationName, animationIn);
      updatedAnimationIn = animationName;
    } else {
      updatedAnimationIn = animationIn;
    }

    if (isObject(animationOut)) {
      var _animationName = JSON.stringify(animationOut);

      makeAnimation(_animationName, animationOut);
      updatedAnimationOut = _animationName;
    } else {
      updatedAnimationOut = animationOut;
    }

    return {
      animationIn: updatedAnimationIn,
      animationOut: updatedAnimationOut
    };
  };

  exports.buildAnimations = buildAnimations;

  var reversePercentage = function reversePercentage(x) {
    return -(x - 1);
  };

  exports.reversePercentage = reversePercentage;

  var makeAnimation = function makeAnimation(name, obj) {
    animatable.registerAnimation(name, animatable.createAnimation(obj));
  };

  var isObject = function isObject(obj) {
    return obj !== null && typeof obj === 'object';
  };
},1886,[5,27,28,1290]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var styles = _reactNative.StyleSheet.create({
    footer: {
      paddingTop: 10,
      flexDirection: "row",
      justifyContent: "flex-end"
    },
    buttonContainer: {
      height: 40,
      padding: 10
    }
  });

  function ModalFooter(props) {
    var onCancel = props.onCancel,
        onConfirm = props.onConfirm,
        color = props.color,
        confirmColor = props.confirmColor;
    return _react.default.createElement(_reactNative.View, {
      style: styles.footer
    }, onCancel ? _react.default.createElement(_reactNative.TouchableOpacity, {
      style: styles.buttonContainer,
      onPress: onCancel
    }, _react.default.createElement(_fontText.default, {
      style: {
        color: color,
        textTransform: "uppercase"
      }
    }, global.strings("btn_cancel"))) : null, onConfirm ? _react.default.createElement(_reactNative.TouchableOpacity, {
      style: styles.buttonContainer,
      onPress: onConfirm
    }, _react.default.createElement(_fontText.default, {
      style: {
        color: confirmColor,
        textTransform: "uppercase"
      }
    }, global.strings("btn_confirm"))) : null);
  }

  ModalFooter.propTypes = {
    onCancel: _propTypes.default.func,
    onConfirm: _propTypes.default.func,
    color: _propTypes.default.string,
    confirmColor: _propTypes.default.string
  };
  ModalFooter.defaultProps = {};
  var _default = ModalFooter;
  exports.default = _default;
},1887,[5,17,201,28,1879]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    modal: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white
    }
  });

  exports.styles = styles;
},1888,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},1889,[1890]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Toast = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var _Dimensions$get = _reactNative.Dimensions.get("window"),
      height = _Dimensions$get.height;

  var BASE_POSITION_VALUE = 64;

  var Toast = function (_Component) {
    (0, _inherits2.default)(Toast, _Component);

    var _super = _createSuper(Toast);

    function Toast(props) {
      var _this;

      (0, _classCallCheck2.default)(this, Toast);
      _this = _super.call(this, props);
      _this.state = {
        isShow: false,
        text: ""
      };
      _this.opacity = new _reactNative.Animated.Value(0.0);
      return _this;
    }

    (0, _createClass2.default)(Toast, [{
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this.clearTimeout();
      }
    }, {
      key: "clearTimeout",
      value: function (_clearTimeout) {
        function clearTimeout() {
          return _clearTimeout.apply(this, arguments);
        }

        clearTimeout.toString = function () {
          return _clearTimeout.toString();
        };

        return clearTimeout;
      }(function () {
        if (this.timer) {
          clearTimeout(this.timer);
        }
      })
    }, {
      key: "showToast",
      value: function showToast(text) {
        var _this2 = this;

        var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
        var millisecs = arguments.length > 2 ? arguments[2] : undefined;
        var callback = arguments.length > 3 ? arguments[3] : undefined;
        var duration = millisecs || Math.max(Toast.defaultParams.duration, _$$_REQUIRE(_dependencyMap[10]).StringUtils.getReadingTime(text).time);
        var opacity = params.opacity || Toast.defaultParams.opacity;
        var fadeDuration = params.fadeDuration || Toast.defaultParams.fadeDuration;
        var position = params.position || Toast.defaultParams.position;
        var positionValue = params.positionValue || Toast.defaultParams.positionValue;
        var textStyle = params.textStyle,
            parentStyle = params.parentStyle;
        this.setState({
          isShow: true,
          position: position,
          positionValue: positionValue,
          text: text,
          textStyle: textStyle,
          parentStyle: parentStyle
        }, function () {
          _reactNative.Animated.timing(_this2.opacity, {
            toValue: opacity,
            duration: fadeDuration,
            useNativeDriver: true
          }).start(function () {
            _this2.isShow = true;

            _this2.closeToast({
              duration: duration,
              fadeDuration: fadeDuration,
              callback: callback
            });
          });
        });
      }
    }, {
      key: "closeToast",
      value: function closeToast(_ref) {
        var _this3 = this;

        var duration = _ref.duration,
            fadeDuration = _ref.fadeDuration,
            callback = _ref.callback;
        var isShow = this.state.isShow;
        if (!this.isShow && !isShow) return;
        this.clearTimeout();
        this.timer = setTimeout(function () {
          _reactNative.Animated.timing(_this3.opacity, {
            toValue: 0.0,
            duration: fadeDuration,
            useNativeDriver: true
          }).start(function () {
            _this3.setState({
              isShow: false
            });

            _this3.isShow = false;

            if (typeof callback === "function") {
              callback();
            }
          });
        }, duration);
      }
    }, {
      key: "_getTopByPosition",
      value: function _getTopByPosition(_ref2) {
        var position = _ref2.position,
            positionValue = _ref2.positionValue;
        var pos;

        var _DeviceUtils$getSafeA = _deviceUtils.default.getSafeAreaInsets(),
            top = _DeviceUtils$getSafeA.top,
            bottom = _DeviceUtils$getSafeA.bottom;

        switch (position) {
          case "top":
            pos = positionValue + top;
            break;

          case "center":
            pos = height / 2;
            break;

          case "bottom":
            pos = height - bottom - positionValue;
            break;
        }

        return pos;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$state = this.state,
            isShow = _this$state.isShow,
            text = _this$state.text;
        var _this$state2 = this.state,
            textStyle = _this$state2.textStyle,
            parentStyle = _this$state2.parentStyle;

        var _global$getRssIndex = global.getRssIndex(),
            borderRadius = _global$getRssIndex.borderRadius,
            borderWidth = _global$getRssIndex.borderWidth,
            borderColor = _global$getRssIndex.borderColor;

        var backgroundColor = _$$_REQUIRE(_dependencyMap[11]).Css.getDefaultBackgroundColor();

        var foregroundColor = _$$_REQUIRE(_dependencyMap[11]).Css.getDefaultForegroundColor();

        parentStyle = parentStyle || {
          backgroundColor: backgroundColor,
          borderColor: borderColor || foregroundColor,
          borderRadius: borderRadius || 0,
          borderWidth: borderWidth || 0.5,
          elevation: 1,
          shadowColor: _$$_REQUIRE(_dependencyMap[10]).colors.black,
          shadowOpacity: 0.5,
          shadowRadius: 0.5,
          shadowOffset: {
            height: 2,
            width: 2
          }
        };
        var color = _$$_REQUIRE(_dependencyMap[11]).Css.isDarkTheme() ? foregroundColor : _$$_REQUIRE(_dependencyMap[10]).ColorUtils.determineTextColor(backgroundColor);
        textStyle = textStyle || {
          color: color
        };
        var view = isShow ? _react.default.createElement(_reactNative.View, {
          style: [_$$_REQUIRE(_dependencyMap[12]).styles.container, {
            top: this._getTopByPosition(this.state)
          }],
          pointerEvents: "none"
        }, _react.default.createElement(_reactNative.Animated.View, {
          style: [_$$_REQUIRE(_dependencyMap[12]).styles.content, {
            opacity: this.opacity
          }, parentStyle]
        }, _react.default.isValidElement(text) ? text : _react.default.createElement(_fontText.default, {
          style: textStyle
        }, text))) : null;
        return view;
      }
    }], [{
      key: "show",
      value: function show(text, params, duration, callback) {
        this.toastInstance.showToast(text, params, duration, callback);
      }
    }]);
    return Toast;
  }(_react.Component);

  exports.Toast = Toast;
  Toast.defaultParams = {
    position: "top",
    positionValue: BASE_POSITION_VALUE,
    duration: 3000,
    fadeDuration: 500,
    opacity: 1
  };
},1890,[5,7,8,12,14,16,17,28,458,1879,462,699,1891]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    container: {
      position: "absolute",
      left: 5,
      right: 5,
      elevation: 999,
      alignItems: "center",
      zIndex: 10000
    },
    content: {
      borderRadius: 5,
      padding: 10
    }
  });

  exports.styles = styles;
},1891,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.gaBreakout = gaBreakout;
  exports.getShareTypeByApp = getShareTypeByApp;
  exports.mapParamsToFirebaseCustomDimensions = mapParamsToFirebaseCustomDimensions;
  exports.mapParamsToCustomDimensions = exports.parseCustomDimensionsString = exports.replaceCustomDimensionsPlaceholders = exports.getScreenString = exports.ARTICLE_READ_ANALYTICS_COOL_DOWN = exports.ANALYTICS_SERVICES = undefined;

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _LiveConfig = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var ANALYTICS_SERVICES = {
    GA3: "googleAnalytics3",
    FIREBASE_GA: "firebaseGoogleAnalytics",
    MATHER: "mather_analytics",
    MATOMO: "matomo",
    MATOMO_MAS: "matomo_mas",
    COMSCORE: "comscore",
    ADOBE: "adobeAnalytics",
    FACEBOOK: "facebook",
    REMP: "remp"
  };
  exports.ANALYTICS_SERVICES = ANALYTICS_SERVICES;
  var ARTICLE_READ_ANALYTICS_COOL_DOWN = 3000;
  exports.ARTICLE_READ_ANALYTICS_COOL_DOWN = ARTICLE_READ_ANALYTICS_COOL_DOWN;

  function gaBreakout() {
    if (_$$_REQUIRE(_dependencyMap[4]).PlatformUtils.isIOS()) {
      return _$$_REQUIRE(_dependencyMap[4]).PlatformUtils.isTablet() ? "iPad" : "iPhone";
    }

    if (global.isKindle) {
      return _$$_REQUIRE(_dependencyMap[4]).PlatformUtils.isTablet() ? "KindleTablet" : "KindlePhone";
    }

    return _$$_REQUIRE(_dependencyMap[4]).PlatformUtils.isTablet() ? "AndroidTablet" : "AndroidPhone";
  }

  var getScreenString = function getScreenString() {
    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
      type: String,
      issue: String,
      edition: String,
      page: String,
      article: String,
      sharedApp: String,
      url: String,
      name: String,
      index: Number,
      section: String
    },
        type = _ref.type,
        issue = _ref.issue,
        edition = _ref.edition,
        _ref$page = _ref.page,
        page = _ref$page === undefined ? "" : _ref$page,
        _ref$article = _ref.article,
        article = _ref$article === undefined ? "" : _ref$article,
        _ref$title = _ref.title,
        title = _ref$title === undefined ? "" : _ref$title,
        _ref$sharedApp = _ref.sharedApp,
        sharedApp = _ref$sharedApp === undefined ? "" : _ref$sharedApp,
        _ref$url = _ref.url,
        url = _ref$url === undefined ? "" : _ref$url,
        _ref$id = _ref.id,
        id = _ref$id === undefined ? "" : _ref$id,
        _ref$name = _ref.name,
        name = _ref$name === undefined ? "" : _ref$name,
        _ref$index = _ref.index,
        index = _ref$index === undefined ? 0 : _ref$index,
        _ref$section = _ref.section,
        section = _ref$section === undefined ? "" : _ref$section;

    var SCROLLED = _$$_REQUIRE(_dependencyMap[5]).analyticsScreenTypes.SCROLLED,
        READ = _$$_REQUIRE(_dependencyMap[5]).analyticsScreenTypes.READ,
        ZOOM = _$$_REQUIRE(_dependencyMap[5]).analyticsScreenTypes.ZOOM,
        SHARE = _$$_REQUIRE(_dependencyMap[5]).analyticsScreenTypes.SHARE,
        PAGE_CLICK = _$$_REQUIRE(_dependencyMap[5]).analyticsScreenTypes.PAGE_CLICK,
        ARTICLE_CLICK = _$$_REQUIRE(_dependencyMap[5]).analyticsScreenTypes.ARTICLE_CLICK,
        VIDEO = _$$_REQUIRE(_dependencyMap[5]).analyticsScreenTypes.VIDEO,
        GALLERY = _$$_REQUIRE(_dependencyMap[5]).analyticsScreenTypes.GALLERY,
        ARTICLE_GALLERY = _$$_REQUIRE(_dependencyMap[5]).analyticsScreenTypes.ARTICLE_GALLERY,
        INDEX = _$$_REQUIRE(_dependencyMap[5]).analyticsScreenTypes.INDEX,
        SECTION_INDEX = _$$_REQUIRE(_dependencyMap[5]).analyticsScreenTypes.SECTION_INDEX,
        OPTIONSPAGE = _$$_REQUIRE(_dependencyMap[5]).analyticsScreenTypes.OPTIONSPAGE,
        THUMBS = _$$_REQUIRE(_dependencyMap[5]).analyticsScreenTypes.THUMBS,
        NOTICE_FULLSCREEN = _$$_REQUIRE(_dependencyMap[5]).analyticsScreenTypes.NOTICE_FULLSCREEN;

    var screen = "";
    var titleToSend = title;

    if (titleToSend) {
      titleToSend = titleToSend.replace(/\//g, "|");
    }

    switch (type) {
      case SHARE:
        screen = "/" + gaBreakout() + "/shares/" + sharedApp + "/" + issue + "/" + edition + "/" + page + "/" + article;
        break;

      case READ:
        screen = "/" + gaBreakout() + "/" + issue + "/" + edition + "/read/" + page + "/" + article;

        if (titleToSend) {
          screen += ":" + titleToSend;
        }

        break;

      case ZOOM:
        screen = "/" + gaBreakout() + "/" + issue + "/" + edition + "/read/" + page + "/zoom";
        break;

      case SCROLLED:
        screen = "/" + gaBreakout() + "/" + issue + "/" + edition + "/scrolled/" + page;
        break;

      case PAGE_CLICK:
        screen = "/" + gaBreakout() + "/clickThroughs/" + url + "/" + issue + "/" + edition + "/" + page + "/fullpage/browse";
        break;

      case ARTICLE_CLICK:
        screen = "/" + gaBreakout() + "/clickThroughs/" + url + "/" + issue + "/" + edition + "/" + page + "/" + article;

        if (titleToSend) {
          screen += ":" + titleToSend;
        }

        screen += "/article";
        break;

      case VIDEO:
        screen = "/" + gaBreakout() + "/" + issue + "/" + edition + "/" + page + "/video/" + id;
        break;

      case GALLERY:
        screen = "/" + gaBreakout() + "/" + issue + "/" + edition + "/" + page + "/gallery/" + titleToSend + "/" + index + "/" + id;
        break;

      case ARTICLE_GALLERY:
        screen = "/" + gaBreakout() + "/" + issue + "/" + edition + "/" + page + "/" + article;

        if (titleToSend) {
          screen += ":" + titleToSend;
        }

        screen += "/gallery/" + index;
        break;

      case INDEX:
        screen = "/" + gaBreakout() + "/" + issue + "/" + edition + "/index";
        break;

      case SECTION_INDEX:
        screen = "/" + gaBreakout() + "/" + issue + "/" + edition + "/index/" + section.replace(/\//g, "|");
        break;

      case OPTIONSPAGE:
        screen = "/" + gaBreakout() + "/optionspage/" + page;
        break;

      case THUMBS:
        screen = "/" + gaBreakout() + "/" + issue + "/" + edition + "/thumbs";
        break;

      case NOTICE_FULLSCREEN:
        screen = "/notice/" + gaBreakout() + "/notice_fullscreen/" + name + "/" + id;
        break;
    }

    return screen;
  };

  exports.getScreenString = getScreenString;

  function getShareTypeByApp(appBundle) {
    if (_$$_REQUIRE(_dependencyMap[4]).PlatformUtils.isAndroid()) {
      switch (appBundle) {
        case "com.google.android.gm":
          return _$$_REQUIRE(_dependencyMap[5]).NewsmemoryShareType.GMAIL;

        case "com.facebook.katana":
          return _$$_REQUIRE(_dependencyMap[5]).NewsmemoryShareType.FACEBOOK;

        case "com.twitter.android":
          return _$$_REQUIRE(_dependencyMap[5]).NewsmemoryShareType.TWITTER;
      }
    } else {
      switch (appBundle) {
        case "com.apple.UIKit.activity.Mail":
          return _$$_REQUIRE(_dependencyMap[5]).NewsmemoryShareType.EMAIL;

        case "com.apple.UIKit.activity.PostToFacebook":
          return _$$_REQUIRE(_dependencyMap[5]).NewsmemoryShareType.FACEBOOK;

        case "com.apple.UIKit.activity.PostToTwitter":
          return _$$_REQUIRE(_dependencyMap[5]).NewsmemoryShareType.TWITTER;

        case "com.google.Gmail.ShareExtension":
          return _$$_REQUIRE(_dependencyMap[5]).NewsmemoryShareType.GMAIL;

        case "com.apple.UIKit.activity.Print":
          return _$$_REQUIRE(_dependencyMap[5]).NewsmemoryShareType.PRINT;

        case "com.apple.UIKit.activity.CopyToPasteboard":
          return _$$_REQUIRE(_dependencyMap[5]).NewsmemoryShareType.PASTEBOARD;

        case "com.apple.DocumentManagerUICore.SaveToFiles":
          return _$$_REQUIRE(_dependencyMap[5]).NewsmemoryShareType.FILE;
      }
    }

    return appBundle;
  }

  var replaceCustomDimensionsPlaceholders = function replaceCustomDimensionsPlaceholders(value) {
    var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
    var encodeValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
    var customReplacement = arguments.length > 3 ? arguments[3] : undefined;
    var newValue = value;

    var _global$getActivePSet = global.getActivePSetup(),
        paperName = _global$getActivePSet.paperName,
        loginStatus = _global$getActivePSet.loginStatus,
        machine = _global$getActivePSet.machine;

    var action = params.action,
        issue = params.issue,
        article_id = params.article_id,
        type = params.type,
        gallery_id = params.gallery_id;
    var m;
    var regExp = new RegExp(/\$([a-zA-Z0-9]+)/g);

    while ((m = regExp.exec(value)) !== null) {
      if (m.length > 1) {
        var _paramValue;

        var placeholder = m[0];
        var name = m[1];
        var paramValue = params[name];

        switch (name) {
          case "device":
            paramValue = _$$_REQUIRE(_dependencyMap[4]).PlatformUtils.model();
            break;

          case "deviceType":
            paramValue = gaBreakout();
            break;

          case "platform":
            paramValue = _$$_REQUIRE(_dependencyMap[4]).PlatformUtils.isAndroid() ? "Android" : "iOS";
            break;

          case "os":
            paramValue = _$$_REQUIRE(_dependencyMap[4]).PlatformUtils.getSystemName() + " " + _$$_REQUIRE(_dependencyMap[4]).PlatformUtils.getSystemVersion();
            break;

          case "domain":
            paramValue = _$$_REQUIRE(_dependencyMap[4]).NetworkUtils.addDefaultProtocol(machine);
            break;

          case "appVersion":
            paramValue = _deviceUtils.default.getAppVersion();
            break;

          case "appName":
            paramValue = _$$_REQUIRE(_dependencyMap[4]).PlatformUtils.appName();
            break;

          case "appSide":
            var side = _LiveConfig.default.getAppSide();

            paramValue = side === _LiveConfig.APP_SIDE.rss ? "LiveNews" : side;
            break;

          case "paperName":
            paramValue = paperName;
            break;

          case "issueYear":
            if (issue) {
              paramValue = issue.substring(0, 4);
            }

            break;

          case "issueMonth":
            if (issue) {
              paramValue = issue.substring(4, 6);
            }

            break;

          case "issueDate":
            if (issue && issue.length > 6) {
              paramValue = issue.substring(6);
            }

            break;

          case "daysAgo":
            if (issue && issue.length > 6) {
              paramValue = "";
              var daysAgo = _$$_REQUIRE(_dependencyMap[4]).DateUtils.getDaysFromDateToToday(issue) - 1;

              if (daysAgo > 0) {
                paramValue = -daysAgo;
              }
            }

            break;

          case "articleId":
            paramValue = article_id;
            break;

          case "extId":
            if (loginStatus) {
              var extid = loginStatus.extid;

              if (!_$$_REQUIRE(_dependencyMap[4]).JSUtils.isNull(extid)) {
                paramValue = extid;
              }
            }

            break;

          case "TAUID":
            if (loginStatus) {
              var TAUID = loginStatus.TAUID;

              if (TAUID > -1) {
                paramValue = TAUID;
              }
            }

            break;

          case "machineId":
            var _global = global,
                machineId = _global.machineId;

            if (machineId) {
              paramValue = machineId.substring(machineId.length - 6);
            }

            break;

          case "title":
            var title = params.title;

            if (action === "read" && type && type.toLowerCase() !== "editorial") {
              title = type;
            } else if (action === "gallery" && gallery_id) {
              title = gallery_id;
            }

            paramValue = title;
            break;

          case "ePaperAccess":
            if (!_LiveConfig.default.isRssSide()) {
              paramValue = "ePaper";

              var _global$getNewsmemory = global.getNewsmemoryConfig(),
                  dbDownloadPSetup = _global$getNewsmemory.dbDownloadPSetup;

              if (dbDownloadPSetup) {
                var _NewsmemoryUtils$pars = _newsmemoryUtils.default.parseXpSetup(dbDownloadPSetup),
                    mainpSetup = _NewsmemoryUtils$pars.mainpSetup;

                if (mainpSetup) {
                  if (mainpSetup.endsWith("_preview")) {
                    paramValue += "-preview";
                  } else if (mainpSetup.endsWith("_issuedemo")) {
                    paramValue += "-demo";
                  }
                }
              }
            }

            break;

          default:
            paramValue = params[name];
            break;
        }

        if (typeof customReplacement === "function") {
          paramValue = customReplacement(name, paramValue, params);
        }

        paramValue = (_paramValue = paramValue) != null ? _paramValue : "";

        if (encodeValue) {
          paramValue = encodeURIComponent(paramValue);
        }

        newValue = newValue.replace(placeholder, paramValue);
      }
    }

    return newValue;
  };

  exports.replaceCustomDimensionsPlaceholders = replaceCustomDimensionsPlaceholders;

  var parseCustomDimensionsString = function parseCustomDimensionsString(rawCustomDimensions) {
    var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

    if (rawCustomDimensions) {
      var customDimensions = _$$_REQUIRE(_dependencyMap[4]).StringUtils.parseQuerystring(replaceCustomDimensionsPlaceholders(rawCustomDimensions, params, true));

      return Object.keys(customDimensions).reduce(function (result, current) {
        var key = current.replace("dimension", "");
        result[key] = customDimensions[current];
        return result;
      }, {});
    }

    return {};
  };

  exports.parseCustomDimensionsString = parseCustomDimensionsString;

  var mapParamsToCustomDimensions = function mapParamsToCustomDimensions(params) {
    var _global$getActivePSet2 = global.getActivePSetup(),
        googleAnalyticsCustomDimensions = _global$getActivePSet2.googleAnalyticsCustomDimensions;

    return parseCustomDimensionsString(googleAnalyticsCustomDimensions, params);
  };

  exports.mapParamsToCustomDimensions = mapParamsToCustomDimensions;

  function mapParamsToFirebaseCustomDimensions(params) {
    var _global$getActivePSet3 = global.getActivePSetup(),
        firebaseAnalyticsCustomDimensions = _global$getActivePSet3.firebaseAnalyticsCustomDimensions;

    if (firebaseAnalyticsCustomDimensions) {
      var customDimensions = _$$_REQUIRE(_dependencyMap[4]).StringUtils.parseQuerystring(replaceCustomDimensionsPlaceholders(firebaseAnalyticsCustomDimensions, params, true));

      return Object.keys(customDimensions).reduce(function (result, current) {
        var value = customDimensions[current];

        if (_$$_REQUIRE(_dependencyMap[4]).JSUtils.isNumber(value) || !_$$_REQUIRE(_dependencyMap[4]).JSUtils.isEmpty(value)) {
          result[current] = value;
        }

        return result;
      }, {});
    }

    return {};
  }
},1892,[5,458,603,1872,462,1893]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.NewsmemoryArticleModes = exports.NewsmemoryShareType = exports.analyticsEventTypes = exports.firebaseAnalyticsScreenNames = exports.analyticsScreenTypes = undefined;
  var analyticsScreenTypes = {
    LAUNCH: "launch",
    SCROLLED: "scrolled",
    READ: "read",
    ZOOM: "zoom",
    SHARE: "share",
    PAGE_CLICK: "page_clickthrough",
    ARTICLE_CLICK: "article_clickthrough",
    VIDEO: "video",
    GALLERY: "gallery",
    ARTICLE_GALLERY: "article_gallery",
    INDEX: "index",
    SECTION_INDEX: "section_index",
    OPTIONSPAGE: "optionspage",
    THUMBS: "thumbnails",
    NOTICE_FULLSCREEN: "notice_fullscreen",
    RSS_ARTICLE_READ: "rss_read",
    RSS_DRAWER: "rss_drawer"
  };
  exports.analyticsScreenTypes = analyticsScreenTypes;
  var firebaseAnalyticsScreenNames = {
    SCROLLED: "ePaper page",
    READ: "ePaper article",
    ZOOM: "ePaper page detail",
    INDEX: "ePaper index",
    SECTION_INDEX: "ePaper ##section## section index",
    OPTIONSPAGE: "ePaper ##tab## tab",
    THUMBS: "ePaper thumbnails",
    GALLERY: "ePaper gallery",
    ARTICLE_GALLERY: "ePaper article gallery"
  };
  exports.firebaseAnalyticsScreenNames = firebaseAnalyticsScreenNames;
  var analyticsEventTypes = {
    LOGIN: "login",
    TTS: "text_to_speech",
    SKIP_TO_END: "skip_to_end",
    DOUBLE_TAP_TO_ZOOM: "double_tap_to_zoom",
    PINCH_TO_ZOOM: "pinch_to_zoom",
    TOGGLE_TO_PRINT: "toggle_to_print",
    TOGGLE_TO_DIGITAL: "toggle_to_digital",
    SOCIAL_SHARE: "social_share",
    SCROLL_ZOOMED: "scroll_zoomed",
    TRANSLATE: "translate",
    FONT_SIZE: "font_size_change",
    GRAPH_SIZE: "graph_size_change",
    TOGGLE_FULLSCREEN: "toggle_fullscreen",
    PRINT: "print",
    DOWNLOAD_PDF: "download_pdf",
    ROTATE: "rotate",
    LINK_CLICKED: "link_clicked"
  };
  exports.analyticsEventTypes = analyticsEventTypes;
  var NewsmemoryShareType = {
    ALL: "all",
    FACEBOOK: "facebook",
    TWITTER: "twitter",
    REDDIT: "reddit",
    EMAIL: "email",
    GMAIL: "gmail",
    PRINT: "print",
    PASTEBOARD: "pasteboard",
    FILE: "file",
    PDF: "pdf",
    OTHER: "other"
  };
  exports.NewsmemoryShareType = NewsmemoryShareType;
  var NewsmemoryArticleModes = {
    TEXT: "text",
    GRAPHIC: "graphic"
  };
  exports.NewsmemoryArticleModes = NewsmemoryArticleModes;
},1893,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.BaseWebView = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[13]);

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _webUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _tecnaviaPlatformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var styles = _reactNative.StyleSheet.create({
    baseSpinnerStyle: {
      width: "100%"
    },
    baseStyle: {
      position: "absolute",
      height: 6,
      zIndex: 2
    },
    baseStyleTop: {
      top: 0
    },
    baseStyleBottom: {
      bottom: 0
    }
  });

  var BaseWebView = function (_React$Component) {
    (0, _inherits2.default)(BaseWebView, _React$Component);

    var _super = _createSuper(BaseWebView);

    function BaseWebView(props) {
      var _this;

      (0, _classCallCheck2.default)(this, BaseWebView);
      _this = _super.call(this, props);
      _this.layout = {};
      _this.maxHeight = undefined;
      _this.loading = false;
      _this.timeToLoad = undefined;
      _this.needsCustomHTTPHeaders = false;
      var style = props.style,
          parentStyle = props.parentStyle,
          source = props.source;
      var uri = source.uri;
      _this.id = Math.round(Math.random() * 10000);
      _this.style = style;
      _this.parentStyle = parentStyle;
      _this.needsCustomHTTPHeaders = BaseWebView.webviewNeedsCustomHTTPHeaders(uri);
      _this.onWebViewRef = _this._onWebViewRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onMessage = _this._onMessage.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLayout = _this._onLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLoadStart = _this._onLoadStart.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLoadEnd = _this._onLoadEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLoadProgress = _this._onLoadProgress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLoadingRef = _this._onLoadingRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onKeyboardDidShow = _this._keyboardDidShow.bind((0, _assertThisInitialized2.default)(_this));
      _this.onKeyboardDidHide = _this._keyboardDidHide.bind((0, _assertThisInitialized2.default)(_this));
      _this.onShouldStartLoadWithRequest = _this._onShouldStartLoadWithRequest.bind((0, _assertThisInitialized2.default)(_this));
      _this.onCrash = _this._onCrash.bind((0, _assertThisInitialized2.default)(_this));
      _this.onError = _this._onError.bind((0, _assertThisInitialized2.default)(_this));
      _this.reload = _this._reload.bind((0, _assertThisInitialized2.default)(_this));
      _this.stopLoading = _this._stopLoading.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSwiperScrollBegin = _this._onSwiperScrollBegin.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSwiperScrollEnd = _this._onSwiperScrollEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        nativeID: undefined,
        uri: uri
      };
      return _this;
    }

    (0, _createClass2.default)(BaseWebView, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this.swiperScrollBeginId = _$$_REQUIRE(_dependencyMap[18]).EventRegister.on(_events.default.SWIPER_SCROLL_BEGIN, this.onSwiperScrollBegin);
        this.swiperScrollEndId = _$$_REQUIRE(_dependencyMap[18]).EventRegister.on(_events.default.SWIPER_SCROLL_END, this.onSwiperScrollEnd);
        this.keyboardDidShowListener = _reactNative.Keyboard.addListener("keyboardDidShow", this.onKeyboardDidShow);
        this.keyboardDidHideListener = _reactNative.Keyboard.addListener("keyboardDidHide", this.onKeyboardDidHide);
      }
    }, {
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(nextProps) {
        var nextSource = nextProps.source;

        if (nextSource) {
          var nextURI = nextSource.uri;
          var uri;
          var source = this.props.source;

          if (source) {
            uri = source.uri;
          }

          if (BaseWebView.webviewNeedsCustomHTTPHeaders(nextURI) && uri !== nextURI) {
            this.setState({
              uri: nextURI
            });
          }
        }
      }
    }, {
      key: "shouldComponentUpdate",
      value: function shouldComponentUpdate(nextProps, nextState) {
        var newStyle = nextProps.style,
            newParentStyle = nextProps.parentStyle,
            newSource = nextProps.source,
            newProgressHidden = nextProps.progressHidden;
        var _this$state = this.state,
            nativeID = _this$state.nativeID,
            uri = _this$state.uri;
        var progressHidden = this.props.progressHidden;
        var newNativeID = nextState.nativeID,
            newURI = nextState.uri;

        if (!_$$_REQUIRE(_dependencyMap[19]).JSUtils.equals(this.style, newStyle) || !_$$_REQUIRE(_dependencyMap[19]).JSUtils.equals(this.parentStyle, newParentStyle) || !_$$_REQUIRE(_dependencyMap[19]).JSUtils.equals(this.source, newSource) || progressHidden !== newProgressHidden || nativeID !== newNativeID || uri !== newURI) {
          this.style = newStyle;
          this.source = newSource;
          this.parentStyle = newParentStyle;
          this.needsCustomHTTPHeaders = BaseWebView.webviewNeedsCustomHTTPHeaders(newSource.uri);
          return true;
        }

        if (!newProgressHidden && this.loadingRef && this.loading) {
          this.loadingRef.show();
        }

        return false;
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this.keyboardDidShowListener.remove();
        this.keyboardDidHideListener.remove();

        _$$_REQUIRE(_dependencyMap[18]).EventRegister.rm(this.swiperScrollBeginId);

        _$$_REQUIRE(_dependencyMap[18]).EventRegister.rm(this.swiperScrollEndId);
      }
    }, {
      key: "_onSwiperScrollBegin",
      value: function _onSwiperScrollBegin() {
        this._log("swiper scroll start");

        this.toggleUserSelect(false);
      }
    }, {
      key: "_onSwiperScrollEnd",
      value: function _onSwiperScrollEnd() {
        this._log("swiper scroll end");

        this.toggleUserSelect(true);
      }
    }, {
      key: "_keyboardDidShow",
      value: function _keyboardDidShow(e) {
        var enableKeyboardResize = this.props.enableKeyboardResize;

        if (enableKeyboardResize) {
          var endCoordinates = e.endCoordinates;
          var screenY = endCoordinates.screenY;
          this.maxHeight = screenY;
          this.forceUpdate();
        }
      }
    }, {
      key: "_keyboardDidHide",
      value: function _keyboardDidHide() {
        var enableKeyboardResize = this.props.enableKeyboardResize;

        if (enableKeyboardResize) {
          this.maxHeight = undefined;
          this.forceUpdate();
        }
      }
    }, {
      key: "_onLoadStart",
      value: function _onLoadStart() {
        this.showLoading();

        this._log("load start");

        this.timeToLoad = new Date().getTime();
        var onLoadStart = this.props.onLoadStart;

        if (onLoadStart) {
          onLoadStart();
        }
      }
    }, {
      key: "_onLoadProgress",
      value: function _onLoadProgress(_ref) {
        var _this2 = this;

        var nativeEvent = _ref.nativeEvent;
        this.lastProgress = nativeEvent.progress;

        this._log("load progress: " + this.lastProgress);

        if (this.loadingRef) {
          this.loadingRef.updateProgress(nativeEvent.progress);
        }

        if (this.lastProgressCallId) {
          clearTimeout(this.lastProgressCallId);
        }

        this.lastProgressCallId = setTimeout(function () {
          if (_this2.lastProgress < 1) {
            _this2._onLoadEnd(nativeEvent);
          }
        }, 5000);
        var onLoadProgress = this.props.onLoadProgress;

        if (typeof onLoadProgress === "function") {
          onLoadProgress(nativeEvent);
        }
      }
    }, {
      key: "_onLoadEnd",
      value: function _onLoadEnd() {
        var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var nativeEvent = data.nativeEvent;

        if (nativeEvent) {
          this.hideLoading();
          this.timeToLoad = new Date().getTime() - this.timeToLoad;

          this._log("load end: " + this.timeToLoad / 1000 + "s");
        }

        var onLoadEnd = this.props.onLoadEnd;

        if (onLoadEnd) {
          onLoadEnd(nativeEvent);
        }
      }
    }, {
      key: "toggleUserSelect",
      value: function toggleUserSelect() {
        var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
        var userSelect = state ? "auto" : "none";

        this._log("user select: " + userSelect);

        if (this.webview) {
          this.webview.injectJavaScript("document.body.style.webkitTouchCallout = '" + userSelect + "';" + ("document.body.style.webkitUserSelect = '" + userSelect + "';") + ("document.body.style.userSelect = '" + userSelect + "';"));
        }
      }
    }, {
      key: "injectJavaScript",
      value: function injectJavaScript(js) {
        if (this.webview) {
          this.webview.injectJavaScript(js);
        }
      }
    }, {
      key: "_reload",
      value: function _reload() {
        if (this.webview) {
          this.webview.reload();
        }
      }
    }, {
      key: "_stopLoading",
      value: function _stopLoading() {
        if (this.webview) {
          this.webview.stopLoading();
        }
      }
    }, {
      key: "_onLoadingRef",
      value: function _onLoadingRef(ref) {
        this.loadingRef = ref;
      }
    }, {
      key: "hideLoading",
      value: function hideLoading() {
        this.loading = false;

        if (this.loadingRef) {
          this._log("hide loading");

          this.loadingRef.hide();
        }
      }
    }, {
      key: "showLoading",
      value: function showLoading() {
        this.loading = true;

        if (this.loadingRef) {
          this._log("show loading");

          this.loadingRef.show();
        }
      }
    }, {
      key: "setNativeID",
      value: function setNativeID(nativeID) {
        var _this3 = this;

        return _regenerator.default.async(function setNativeID$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", new Promise(function (resolve) {
                  var currentNativeID = _this3.state.nativeID;

                  if (nativeID !== currentNativeID) {
                    _this3.setState({
                      nativeID: nativeID
                    }, resolve);
                  } else {
                    resolve();
                  }
                }));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getNativeID",
      value: function getNativeID() {
        var nativeID = this.state.nativeID;
        return nativeID;
      }
    }, {
      key: "getRandomInt",
      value: function getRandomInt() {
        var min = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
        var max = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000;
        return Math.floor(Math.random() * (Math.floor(max) - Math.ceil(min))) + Math.ceil(min);
      }
    }, {
      key: "checkIfUrlIsFirstLoadedUrl",
      value: function checkIfUrlIsFirstLoadedUrl(loadingUrl) {
        var source = this.props.source;
        var firstLoadedUrl = source.uri || source.baseUrl || "";
        return _$$_REQUIRE(_dependencyMap[19]).StringUtils.removeLastSlash(firstLoadedUrl.replace(/https?:\/\//, "")) === _$$_REQUIRE(_dependencyMap[19]).StringUtils.removeLastSlash(loadingUrl.replace(/https?:\/\//, ""));
      }
    }, {
      key: "_onMessage",
      value: function _onMessage(_ref2) {
        var nativeEvent = _ref2.nativeEvent;
        var onMessage = this.props.onMessage;
        var data = {};

        try {
          data = JSON.parse(nativeEvent.data);
        } catch (error) {}

        if (data.type === "LOG") {
          this._log(data.content);
        } else if (typeof onMessage === "function") {
          onMessage(data);
        }
      }
    }, {
      key: "_onCrash",
      value: function _onCrash() {
        var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
            url = _ref3.url,
            didCrash = _ref3.didCrash;

        var message = "crash: " + didCrash + " on url: " + url;
      }
    }, {
      key: "_onError",
      value: function _onError(_ref4) {
        var nativeEvent = _ref4.nativeEvent;
        var onError = this.props.onError;

        if (typeof onError === "function") {
          onError(nativeEvent);
        }
      }
    }, {
      key: "_onShouldStartLoadWithRequest",
      value: function _onShouldStartLoadWithRequest(_ref5) {
        var url = _ref5.url,
            mainDocumentURL = _ref5.mainDocumentURL,
            navigationType = _ref5.navigationType,
            isTopFrame = _ref5.isTopFrame;
        var _this$props = this.props,
            onLocal = _this$props.onLocal,
            onLinkClicked = _this$props.onLinkClicked,
            onLoading = _this$props.onLoading,
            browser = _this$props.browser,
            ignoreUrls = _this$props.ignoreUrls,
            onShouldStartLoadWithRequest = _this$props.onShouldStartLoadWithRequest;

        if (typeof onShouldStartLoadWithRequest === "function") {
          return onShouldStartLoadWithRequest({
            url: url,
            navigationType: navigationType
          });
        }

        if (ignoreUrls && ignoreUrls.includes(url)) {
          return false;
        }

        if (url.includes("viafoura")) {
          return true;
        }

        if (url.startsWith("local://")) {
          var segments = _$$_REQUIRE(_dependencyMap[19]).StringUtils.segmentUrl(url);

          this._log("domain: " + segments.domain);

          if (segments.domain === _$$_REQUIRE(_dependencyMap[20]).locals.EXEC_JS) {
            var operation = url.split("?")[1];

            if (operation.indexOf("clearStorage") > -1) {
              segments.domain = _$$_REQUIRE(_dependencyMap[20]).locals.CLEAR_STORAGE;
            } else if (operation.indexOf("hybrid_openOptionTab('home')") > -1) {
              segments.domain = _$$_REQUIRE(_dependencyMap[20]).locals.OPEN_TAB_HOME;
            }
          }

          if (onLocal) {
            onLocal(segments);
          }

          return false;
        }

        if (url.includes("tiu_mobile_upload=1")) {
          _tecnaviaPlatformUtils.default.openURL(url);

          return false;
        }

        if (_webUtils.default.isExternalUrl(url)) {
          this._log("onShouldStartLoadWithRequest: " + url);

          var urlToOpen = url;

          if (url.startsWith("xhttp")) {
            urlToOpen = url.substr(1);
          }

          urlToOpen = _$$_REQUIRE(_dependencyMap[19]).StringUtils.removeParams(urlToOpen, ["xhttp", "xhttps"]);

          _tecnaviaPlatformUtils.default.openURL(urlToOpen);

          return false;
        }

        if (!browser && !this.checkIfUrlIsFirstLoadedUrl(url) && url.startsWith("http") && (_$$_REQUIRE(_dependencyMap[19]).PlatformUtils.isAndroid() || navigationType === "click" || navigationType === "other" && !this.checkIfUrlIsFirstLoadedUrl(mainDocumentURL) && url === mainDocumentURL)) {
          this._log("onShouldStartLoadWithRequest: " + url);

          if (!onLinkClicked || !onLinkClicked(url)) {
            _NavigationService.default.main.navigate("WebScreen", {
              url: url
            });
          }

          return false;
        }

        if (!url.startsWith("http") && url !== "about:blank") {
          _tecnaviaPlatformUtils.default.openURL(url);

          return false;
        }

        if (!_tecnaviaPlatformUtils.default.isExternalLinkAccountAllowedSync(url)) {
          if (onLoading && url !== "about:blank") {
            var _segments = _$$_REQUIRE(_dependencyMap[19]).StringUtils.segmentUrl(url);

            onLoading(_segments);
          }

          var uri = this.state.uri;

          if (this.needsCustomHTTPHeaders && url === mainDocumentURL && uri !== url) {
            this.setState({
              uri: url
            });
            return false;
          }

          return true;
        }

        return false;
      }
    }, {
      key: "_getProgress",
      value: function _getProgress(loadingPosition) {
        var _this$props2 = this.props,
            startInLoadingState = _this$props2.startInLoadingState,
            progressType = _this$props2.progressType,
            progressColor = _this$props2.progressColor,
            progressHidden = _this$props2.progressHidden,
            progressStyle = _this$props2.progressStyle,
            progressBarStyle = _this$props2.progressBarStyle;
        var isBar = progressType === BaseWebView.ProgressTypes.bar;

        if (isBar && loadingPosition === BaseWebView.LoadingStatePosition.center) {
          return null;
        }

        if (loadingPosition === startInLoadingState) {
          var pos = startInLoadingState === BaseWebView.LoadingStatePosition.center ? _$$_REQUIRE(_dependencyMap[21]).ProgressCircleContainer.position.absolute : _$$_REQUIRE(_dependencyMap[21]).ProgressCircleContainer.position.relative;
          var baseStyle = isBar ? styles.baseStyle : {};
          var baseSpinnerStyle = isBar ? styles.baseSpinnerStyle : {};
          var baseStylePos = {};

          if (isBar) {
            baseStylePos = loadingPosition === BaseWebView.LoadingStatePosition.bottom ? styles.baseStyleBottom : styles.baseStyleTop;
          }

          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[21]).ProgressCircleContainer, {
            ref: this.onLoadingRef,
            position: pos,
            style: [baseStyle, baseStylePos, progressStyle],
            spinnerStyle: [baseSpinnerStyle, progressBarStyle],
            spinnerColor: progressColor,
            bar: isBar,
            advanced: isBar,
            hidden: progressHidden
          });
        }

        return null;
      }
    }, {
      key: "_onLayout",
      value: function _onLayout(_ref6) {
        var nativeEvent = _ref6.nativeEvent;
        this.layout = nativeEvent.layout;
        var onLayout = this.props.onLayout;

        if (onLayout) {
          onLayout({
            nativeEvent: nativeEvent
          });
        }
      }
    }, {
      key: "_onWebViewRef",
      value: function _onWebViewRef(ref) {
        var _this$props3 = this.props,
            innerRef = _this$props3.innerRef,
            focusableInTouchMode = _this$props3.focusableInTouchMode,
            focusable = _this$props3.focusable;
        this.webview = ref;

        _$$_REQUIRE(_dependencyMap[22]).OurBridge.setCustomNativeProps(ref, {
          focusableInTouchMode: focusableInTouchMode,
          focusable: focusable
        });

        if (innerRef) {
          innerRef(ref);
        }
      }
    }, {
      key: "_log",
      value: function _log(message) {}
    }, {
      key: "render",
      value: function render() {
        var _this$props4 = this.props,
            innerRef = _this$props4.innerRef,
            onLayout = _this$props4.onLayout,
            onShouldStartLoadWithRequest = _this$props4.onShouldStartLoadWithRequest,
            onLoadStart = _this$props4.onLoadStart,
            onLoadEnd = _this$props4.onLoadEnd,
            onLoadProgress = _this$props4.onLoadProgress,
            source = _this$props4.source,
            parentStyle = _this$props4.parentStyle,
            style = _this$props4.style,
            ignoreUrls = _this$props4.ignoreUrls,
            rest = (0, _objectWithoutProperties2.default)(_this$props4, ["innerRef", "onLayout", "onShouldStartLoadWithRequest", "onLoadStart", "onLoadEnd", "onLoadProgress", "source", "parentStyle", "style", "ignoreUrls"]);
        var nativeID = this.state.nativeID;
        var html = source.html;
        var uri = source.uri;

        if (this.needsCustomHTTPHeaders) {
          uri = this.state.uri;
        }

        var webviewStyle = [];

        if (style) {
          if (Array.isArray(style)) {
            webviewStyle = (0, _toConsumableArray2.default)(style);
          } else {
            webviewStyle.push(style);
          }
        }

        webviewStyle.push({
          backgroundColor: _$$_REQUIRE(_dependencyMap[19]).colors.transparent
        });

        if (!uri && !html) {
          return null;
        }

        var viewStyle = {};

        if (this.maxHeight) {
          viewStyle.maxHeight = this.maxHeight;
        }

        var otherProps = {};

        if (nativeID) {
          otherProps.nativeID = nativeID;
        }

        var _global$getActivePSet = global.getActivePSetup(),
            webviewIOSNativePlayer = _global$getActivePSet.webviewIOSNativePlayer,
            webviewAndroidAllowFullscreen = _global$getActivePSet.webviewAndroidAllowFullscreen,
            webviewAllowAutoplay = _global$getActivePSet.webviewAllowAutoplay,
            webviewCustomHTTPHeaders = _global$getActivePSet.webviewCustomHTTPHeaders;

        var newSource = source;

        if (this.needsCustomHTTPHeaders) {
          newSource = (0, _extends2.default)({}, source, {
            uri: uri,
            headers: webviewCustomHTTPHeaders
          });
        }

        return _react.default.createElement(_reactNative.View, {
          style: [parentStyle, viewStyle],
          onLayout: this.onLayout
        }, this._getProgress(BaseWebView.LoadingStatePosition.top), _react.default.createElement(_$$_REQUIRE(_dependencyMap[23]).WebView, (0, _extends2.default)({
          ref: this.onWebViewRef,
          style: webviewStyle,
          originWhitelist: ["http://", "https://", "xhttp://", "xhttps://", "local://", "file://"],
          mixedContentMode: "always",
          allowFileAccess: true,
          allowUniversalAccessFromFileURLs: true,
          thirdPartyCookiesEnabled: true,
          domStorageEnabled: true,
          javaScriptEnabled: true,
          bounces: false,
          cacheEnabled: true,
          allowsInlineMediaPlayback: !webviewIOSNativePlayer,
          allowsFullscreenVideo: webviewAndroidAllowFullscreen,
          mediaPlaybackRequiresUserAction: !webviewAllowAutoplay
        }, rest, otherProps, {
          startInLoadingState: false,
          androidForceHasOverlappingRendering: false,
          source: newSource,
          messagingEnabled: true,
          onMessage: this.onMessage,
          onShouldStartLoadWithRequest: this.onShouldStartLoadWithRequest,
          onLoadStart: this.onLoadStart,
          onLoadEnd: this.onLoadEnd,
          onLoadProgress: this.onLoadProgress,
          onRenderProcessGone: this.onCrash,
          onError: this.onError
        })), this._getProgress(BaseWebView.LoadingStatePosition.bottom), this._getProgress(BaseWebView.LoadingStatePosition.center), global.isLayoutDebug ? _react.default.createElement(_reactNative.View, {
          style: {
            position: "absolute",
            top: 0,
            left: 0,
            right: 0,
            bottom: 0
          },
          pointerEvents: "none"
        }, _react.default.createElement(_reactNative.Text, null, this.id)) : null);
      }
    }], [{
      key: "webviewNeedsCustomHTTPHeaders",
      value: function webviewNeedsCustomHTTPHeaders(uri) {
        var _global$getActivePSet2 = global.getActivePSetup(),
            webviewCustomHTTPHeaders = _global$getActivePSet2.webviewCustomHTTPHeaders;

        return !!uri && !_$$_REQUIRE(_dependencyMap[19]).JSUtils.isEmpty(webviewCustomHTTPHeaders);
      }
    }]);
    return BaseWebView;
  }(_react.default.Component);

  exports.BaseWebView = BaseWebView;
  BaseWebView.LoadingStatePosition = {
    top: "top",
    center: "center",
    bottom: "bottom",
    none: "none"
  };
  BaseWebView.ProgressTypes = {
    bar: "bar",
    circle: "circle"
  };
  BaseWebView.propTypes = (0, _extends2.default)({
    innerRef: _propTypes.default.func,
    parentStyle: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array, _propTypes.default.number]),
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array, _propTypes.default.number]),
    onLayout: _propTypes.default.func,
    onShouldStartLoadWithRequest: _propTypes.default.func,
    onLoadStart: _propTypes.default.func,
    onLoadEnd: _propTypes.default.func,
    onLocal: _propTypes.default.func,
    onMessage: _propTypes.default.func,
    onLoading: _propTypes.default.func,
    onLoadProgress: _propTypes.default.func,
    onError: _propTypes.default.func,
    onLinkClicked: _propTypes.default.func,
    startInLoadingState: _propTypes.default.oneOf([BaseWebView.LoadingStatePosition.bottom, BaseWebView.LoadingStatePosition.top, BaseWebView.LoadingStatePosition.center, BaseWebView.LoadingStatePosition.none]),
    browser: _propTypes.default.bool,
    enableKeyboardResize: _propTypes.default.bool,
    source: _propTypes.default.shape({
      uri: _propTypes.default.string,
      baseUrl: _propTypes.default.string,
      html: _propTypes.default.string
    }),
    ignoreUrls: _propTypes.default.array,
    progressType: _propTypes.default.string,
    progressColor: _propTypes.default.string,
    progressHidden: _propTypes.default.bool,
    progressStyle: _propTypes.default.any,
    progressBarStyle: _propTypes.default.any
  }, _$$_REQUIRE(_dependencyMap[22]).OurBridge.customPropTypes);
  BaseWebView.defaultProps = (0, _extends2.default)({
    parentStyle: {
      flex: 1
    },
    browser: false,
    startInLoadingState: BaseWebView.LoadingStatePosition.top,
    progressType: BaseWebView.ProgressTypes.circle,
    ignoreUrls: [],
    progressHidden: false
  }, _$$_REQUIRE(_dependencyMap[22]).OurBridge.customDefaultProps);
},1894,[5,80,6,21,108,7,8,15,12,14,16,17,201,28,1861,719,460,1876,572,462,730,1895,582,1226]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},1895,[1896]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.ProgressCircleContainer = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ProgressCircleContainer = function (_React$Component) {
    (0, _inherits2.default)(ProgressCircleContainer, _React$Component);

    var _super = _createSuper(ProgressCircleContainer);

    function ProgressCircleContainer(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ProgressCircleContainer);
      _this = _super.call(this, props);
      _this.state = {
        hidden: props.hidden
      };
      return _this;
    }

    (0, _createClass2.default)(ProgressCircleContainer, [{
      key: "shouldComponentUpdate",
      value: function shouldComponentUpdate(nextProps, nextState) {
        var hidden = this.state.hidden;
        return !(hidden === nextState.hidden);
      }
    }, {
      key: "updateProgress",
      value: function updateProgress(progress) {
        var hidden = this.state.hidden;

        if (this.progressCircleRef && !hidden) {
          this.progressCircleRef.updateProgress(progress);
        }
      }
    }, {
      key: "hide",
      value: function hide() {
        var hidden = this.state.hidden;

        if (!hidden) {
          this.setState({
            hidden: true
          });
        }
      }
    }, {
      key: "show",
      value: function show() {
        var hidden = this.state.hidden;

        if (hidden) {
          this.setState({
            hidden: false
          });
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var hidden = this.state.hidden;
        var _this$props = this.props,
            position = _this$props.position,
            bar = _this$props.bar,
            advanced = _this$props.advanced,
            style = _this$props.style,
            spinnerStyle = _this$props.spinnerStyle,
            spinnerColor = _this$props.spinnerColor;

        if (hidden) {
          return null;
        }

        var defaultStyle = _$$_REQUIRE(_dependencyMap[9]).styles.relative;

        if (position === ProgressCircleContainer.position.absolute) {
          defaultStyle = _$$_REQUIRE(_dependencyMap[9]).styles.absolute;
        }

        return _react.default.createElement(_reactNative.View, {
          style: [_$$_REQUIRE(_dependencyMap[9]).styles.container, defaultStyle, style],
          pointerEvents: "box-none"
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).ProgressCircle, {
          ref: function ref(_ref) {
            _this2.progressCircleRef = _ref;
          },
          bar: bar,
          advanced: advanced,
          spinnerStyle: spinnerStyle,
          spinnerColor: spinnerColor
        }));
      }
    }]);
    return ProgressCircleContainer;
  }(_react.default.Component);

  exports.ProgressCircleContainer = ProgressCircleContainer;
  ProgressCircleContainer.position = {
    relative: "relative",
    absolute: "absolute"
  };
  ProgressCircleContainer.propTypes = {
    position: _propTypes.default.string,
    bar: _propTypes.default.bool,
    advanced: _propTypes.default.bool,
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    spinnerStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    spinnerColor: _propTypes.default.string,
    hidden: _propTypes.default.bool
  };
  ProgressCircleContainer.defaultProps = {
    position: ProgressCircleContainer.relative,
    bar: false,
    advanced: false,
    hidden: false
  };
},1896,[5,7,8,12,14,16,17,28,201,1897,1898]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    container: {
      justifyContent: "center",
      alignItems: "center",
      alignSelf: "center",
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.transparent
    },
    absolute: {
      position: "absolute",
      top: 0,
      bottom: 0,
      right: 0,
      left: 0
    },
    relative: {
      width: "100%",
      height: 50
    }
  });

  exports.styles = styles;
},1897,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.ProgressCircle = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var Progress = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _spinnerComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ProgressCircle = function (_React$PureComponent) {
    (0, _inherits2.default)(ProgressCircle, _React$PureComponent);

    var _super = _createSuper(ProgressCircle);

    function ProgressCircle(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ProgressCircle);
      _this = _super.call(this, props);
      var advanced = props.advanced,
          startProgress = props.startProgress,
          hidden = props.hidden;
      var progress;

      if (advanced) {
        progress = startProgress;
      }

      _this.state = {
        progress: progress,
        hidden: hidden,
        retryText: ""
      };
      return _this;
    }

    (0, _createClass2.default)(ProgressCircle, [{
      key: "updateProgress",
      value: function updateProgress(progress) {
        this.setState({
          progress: progress
        });
      }
    }, {
      key: "updateRetryText",
      value: function updateRetryText(retryText) {
        this.setState({
          retryText: retryText
        });
      }
    }, {
      key: "show",
      value: function show() {
        var hidden = this.state.hidden;

        if (hidden) {
          this.setState({
            hidden: false
          });
        }
      }
    }, {
      key: "hide",
      value: function hide() {
        var hidden = this.state.hidden;

        if (!hidden) {
          this.setState({
            hidden: true
          });
        }
      }
    }, {
      key: "_getSpinnerColor",
      value: function _getSpinnerColor() {
        var spinnerColor = this.props.spinnerColor;

        if (!spinnerColor) {
          var _global$getRssIndex = global.getRssIndex(),
              supportColor = _global$getRssIndex.supportColor;

          if (supportColor) {
            spinnerColor = supportColor;
          } else if (global.loadingColor) {
            spinnerColor = global.loadingColor;
          } else {
            spinnerColor = _$$_REQUIRE(_dependencyMap[13]).colors.black;
          }
        }

        return spinnerColor;
      }
    }, {
      key: "_getSpinner",
      value: function _getSpinner(style) {
        var _this$props = this.props,
            advanced = _this$props.advanced,
            spinnerSize = _this$props.spinnerSize,
            spinnerTextStyle = _this$props.spinnerTextStyle,
            bar = _this$props.bar,
            startProgress = _this$props.startProgress,
            showProgressText = _this$props.showProgressText,
            indeterminate = _this$props.indeterminate,
            cssClasses = _this$props.cssClasses;

        var spinnerColor = this._getSpinnerColor();

        var progressStyle = _$$_REQUIRE(_dependencyMap[14]).Css.getStyleObjByCssClasses(["spinner"].concat((0, _toConsumableArray2.default)(cssClasses)));

        var color = progressStyle.color || spinnerColor;

        if (advanced) {
          var progress = this.state.progress;
          var elements = [];

          if (bar) {
            elements.push(_react.default.createElement(Progress.Bar, {
              key: "progress_bar",
              width: null,
              progress: progress,
              borderRadius: 0,
              color: color,
              indeterminate: indeterminate
            }));
          } else {
            elements.push(_react.default.createElement(Progress.Circle, {
              key: "progress_circle",
              showsText: showProgressText && (startProgress === 0 || progress > startProgress),
              progress: progress,
              color: color,
              size: spinnerSize,
              textStyle: spinnerTextStyle,
              borderWidth: 0,
              indeterminate: indeterminate || progress === 0
            }));

            if (!indeterminate && startProgress > 0 && progress === startProgress) {
              elements.push(_react.default.createElement(_reactNative.View, {
                key: "progress",
                style: _$$_REQUIRE(_dependencyMap[15]).styles.placeholderTextContainer
              }, _react.default.createElement(_fontText.default, {
                style: [_$$_REQUIRE(_dependencyMap[15]).styles.placeholderText, {
                  color: color
                }, spinnerTextStyle]
              }, Math.round(progress * 100) + "%")));
            }
          }

          return _react.default.createElement(_reactNative.View, {
            style: style
          }, elements);
        }

        if (bar) {
          return _react.default.createElement(_reactNative.View, {
            style: style
          }, _react.default.createElement(Progress.Bar, {
            width: null,
            indeterminate: true,
            borderRadius: 0,
            color: color
          }));
        }

        return _react.default.createElement(_spinnerComponent.default, {
          size: "large",
          style: style,
          color: color
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props2 = this.props,
            parentStyle = _this$props2.parentStyle,
            spinnerStyle = _this$props2.spinnerStyle,
            textStyle = _this$props2.textStyle,
            text = _this$props2.text;
        var _this$props3 = this.props,
            showText = _this$props3.showText,
            cssTextClasses = _this$props3.cssTextClasses;
        var _this$state = this.state,
            hidden = _this$state.hidden,
            retryText = _this$state.retryText;

        if (hidden) {
          return null;
        }

        parentStyle = parentStyle || {};
        spinnerStyle = spinnerStyle || {};
        textStyle = textStyle || {};
        text = text || global.strings("loading");
        return !showText || !text ? this._getSpinner([_$$_REQUIRE(_dependencyMap[15]).styles.spinner, spinnerStyle]) : _react.default.createElement(_reactNative.View, {
          style: [_$$_REQUIRE(_dependencyMap[15]).styles.container].concat((0, _toConsumableArray2.default)(Array.isArray(parentStyle) ? parentStyle : [parentStyle]))
        }, this._getSpinner([spinnerStyle]), _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
          classes: cssTextClasses
        }, _react.default.createElement(_fontText.default, {
          style: [_$$_REQUIRE(_dependencyMap[15]).styles.text, {
            color: this._getSpinnerColor()
          }, textStyle]
        }, text), retryText ? _react.default.createElement(_fontText.default, {
          style: [_$$_REQUIRE(_dependencyMap[15]).styles.text, {
            color: this._getSpinnerColor()
          }, textStyle]
        }, retryText) : null));
      }
    }]);
    return ProgressCircle;
  }(_react.default.PureComponent);

  exports.ProgressCircle = ProgressCircle;
  ProgressCircle.propTypes = {
    showText: _propTypes.default.bool,
    showProgressText: _propTypes.default.bool,
    parentStyle: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]),
    spinnerStyle: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]),
    spinnerTextStyle: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]),
    spinnerColor: _propTypes.default.string,
    spinnerSize: _propTypes.default.number,
    textStyle: _propTypes.default.object,
    text: _propTypes.default.string,
    advanced: _propTypes.default.bool,
    bar: _propTypes.default.bool,
    startProgress: _propTypes.default.number,
    hidden: _propTypes.default.bool,
    indeterminate: _propTypes.default.bool,
    cssClasses: _propTypes.default.arrayOf(_propTypes.default.string),
    cssTextClasses: _propTypes.default.arrayOf(_propTypes.default.string)
  };
  ProgressCircle.defaultProps = {
    showText: false,
    showProgressText: true,
    parentStyle: null,
    spinnerStyle: null,
    spinnerTextStyle: null,
    spinnerSize: 100,
    textStyle: null,
    spinnerColor: null,
    advanced: false,
    bar: false,
    startProgress: 0,
    hidden: false,
    indeterminate: false,
    cssClasses: [],
    cssTextClasses: []
  };
},1898,[5,21,7,8,12,14,16,17,28,201,1662,1879,1899,462,699,1900]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.IOS_LARGE_ACTIVITY_INDICATOR_SIZE = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var IOS_LARGE_ACTIVITY_INDICATOR_SIZE = 36;
  exports.IOS_LARGE_ACTIVITY_INDICATOR_SIZE = IOS_LARGE_ACTIVITY_INDICATOR_SIZE;

  var TecnaviaSpinner = function (_React$Component) {
    (0, _inherits2.default)(TecnaviaSpinner, _React$Component);

    var _super = _createSuper(TecnaviaSpinner);

    function TecnaviaSpinner() {
      (0, _classCallCheck2.default)(this, TecnaviaSpinner);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(TecnaviaSpinner, [{
      key: "render",
      value: function render() {
        return _react.default.createElement(_reactNative.ActivityIndicator, this.props);
      }
    }]);
    return TecnaviaSpinner;
  }(_react.default.Component);

  exports.default = TecnaviaSpinner;
},1899,[5,7,8,12,14,16,17,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    container: {
      position: "absolute",
      zIndex: 2,
      flexDirection: "row",
      justifyContent: "center",
      alignItems: "center",
      alignSelf: "center"
    },
    spinner: {
      flex: 1
    },
    text: {
      paddingStart: 10,
      textShadowColor: _$$_REQUIRE(_dependencyMap[1]).colors.grey300,
      textShadowOffset: {
        width: -0.5,
        height: 0.5
      },
      textShadowRadius: 1
    },
    placeholderTextContainer: {
      position: "absolute",
      top: 0,
      left: 0,
      bottom: 0,
      right: 0,
      justifyContent: "center",
      alignItems: "center"
    },
    placeholderText: {
      color: _$$_REQUIRE(_dependencyMap[1]).colors.white
    }
  });

  exports.styles = styles;
},1900,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},1901,[1902]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.AutoHeightWebView = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AutoHeightWebView = function (_React$Component) {
    (0, _inherits2.default)(AutoHeightWebView, _React$Component);

    var _super = _createSuper(AutoHeightWebView);

    function AutoHeightWebView(props) {
      var _this;

      (0, _classCallCheck2.default)(this, AutoHeightWebView);
      _this = _super.call(this, props);
      _this.state = {
        webViewHeight: props.defaultHeight
      };
      _this.onMessage = _this._onMessage.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLoadEnd = _this._onLoadEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLoadStart = _this._onLoadStart.bind((0, _assertThisInitialized2.default)(_this));
      _this.onRef = _this._onRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onInnerRef = _this._onInnerRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.updateHeight = _this._updateHeight.bind((0, _assertThisInitialized2.default)(_this));
      _this.getHeight = _this._getHeight.bind((0, _assertThisInitialized2.default)(_this));
      _this.startHeightCheck = _this._startHeightCheck.bind((0, _assertThisInitialized2.default)(_this));
      _this.stopHeightCheck = _this._stopHeightCheck.bind((0, _assertThisInitialized2.default)(_this));
      _this.pendingInjects = [];
      _this.heightCheckIntervalId = undefined;
      _this.initialHeightEvaluationCompleted = false;
      return _this;
    }

    (0, _createClass2.default)(AutoHeightWebView, [{
      key: "componentDidUpdate",
      value: function componentDidUpdate() {
        var webViewHeight = this.state.webViewHeight;
        var onHeightChange = this.props.onHeightChange;

        if (typeof onHeightChange === "function") {
          onHeightChange(webViewHeight);
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this._log("unmount");

        this.pendingInjects.forEach(function (timerId) {
          clearTimeout(timerId);
        });
        this.pendingInjects = [];
        this.stopHeightCheck();
      }
    }, {
      key: "_onMessage",
      value: function _onMessage(data) {
        var onMessage = this.props.onMessage;

        if (data.type === "HEIGHT") {
          this._log("received new height: " + data.content);

          this.initialHeightEvaluationCompleted = true;
          this.stopHeightCheck();
          this.updateHeight(parseInt(data.content, 10));
        } else if (typeof onMessage === "function") {
          onMessage(data);
        }
      }
    }, {
      key: "_onLoadEnd",
      value: function _onLoadEnd() {
        var _this$props = this.props,
            disableStartAutoHeightEvaluation = _this$props.disableStartAutoHeightEvaluation,
            source = _this$props.source,
            onLoadEnd = _this$props.onLoadEnd;

        if (!disableStartAutoHeightEvaluation && _$$_REQUIRE(_dependencyMap[11]).PlatformUtils.isIOS() && source && source.uri) {
          this.startAutoHeightEvaluation();
        }

        if (onLoadEnd) {
          onLoadEnd();
        }
      }
    }, {
      key: "_onInnerRef",
      value: function _onInnerRef(webview) {
        var webviewRef = this.props.webviewRef;
        this.webview = webview;

        if (webviewRef) {
          webviewRef(webview);
        }
      }
    }, {
      key: "_onRef",
      value: function _onRef(ref) {
        this.baseWebViewRef = ref;
        var innerRef = this.props.innerRef;

        if (innerRef) {
          innerRef(ref);
        }
      }
    }, {
      key: "_onLoadStart",
      value: function _onLoadStart() {
        var _this$props2 = this.props,
            disableStartAutoHeightEvaluation = _this$props2.disableStartAutoHeightEvaluation,
            source = _this$props2.source,
            onLoadStart = _this$props2.onLoadStart;

        if (!disableStartAutoHeightEvaluation && (_$$_REQUIRE(_dependencyMap[11]).PlatformUtils.isAndroid() || _$$_REQUIRE(_dependencyMap[11]).PlatformUtils.isIOS() && source && !source.uri)) {
          this.startAutoHeightEvaluation();
        }

        if (onLoadStart) {
          onLoadStart();
        }
      }
    }, {
      key: "startAutoHeightEvaluation",
      value: function startAutoHeightEvaluation() {
        var _this2 = this;

        if (!this.initialHeightEvaluationCompleted) {
          this._log("start auto height evaluation");

          var htmlContentId = this.props.htmlContentId;
          var js = "(" + _$$_REQUIRE(_dependencyMap[12]).checkContentHeight + ")(\"" + htmlContentId + "\");";
          this.injectJavaScript(js);

          if (this.heightCheckIntervalId === undefined) {
            var counter = 0;
            this.heightCheckIntervalId = setInterval(function () {
              counter += 1;

              _this2._log("repeat auto height evaluation " + counter);

              _this2.injectJavaScript(js);
            }, 1000);
          }
        } else {
          this._log("auto height evaluation already performed");

          this.recheckContentHeight();
        }
      }
    }, {
      key: "_startHeightCheck",
      value: function _startHeightCheck() {
        var disableStartAutoHeightEvaluation = this.props.disableStartAutoHeightEvaluation;

        if (disableStartAutoHeightEvaluation) {
          this.startAutoHeightEvaluation();
        }
      }
    }, {
      key: "_stopHeightCheck",
      value: function _stopHeightCheck() {
        if (this.heightCheckIntervalId !== undefined) {
          this._log("clear interval id #" + this.heightCheckIntervalId);

          clearInterval(this.heightCheckIntervalId);
          this.heightCheckIntervalId = undefined;
        } else {
          this._log("no interval to clear");
        }
      }
    }, {
      key: "recheckContentHeight",
      value: function recheckContentHeight() {
        var htmlContentId = this.props.htmlContentId;
        this.injectJavaScript("(" + _$$_REQUIRE(_dependencyMap[12]).checkContentHeight + ")(\"" + htmlContentId + "\", true);");
      }
    }, {
      key: "_updateHeight",
      value: function _updateHeight(height) {
        var webViewHeight = this.state.webViewHeight;

        if (webViewHeight !== height) {
          this._log("new height: " + height);

          this.setState({
            webViewHeight: height
          });
        }
      }
    }, {
      key: "_getHeight",
      value: function _getHeight() {
        var webViewHeight = this.state.webViewHeight;

        this._log("current height requested " + webViewHeight);

        return webViewHeight;
      }
    }, {
      key: "stopLoading",
      value: function stopLoading() {
        this.webview.stopLoading();
      }
    }, {
      key: "reload",
      value: function reload() {
        this.webview.reload();
      }
    }, {
      key: "injectJavaScript",
      value: function injectJavaScript(js) {
        var _this3 = this;

        this.pendingInjects.push(setTimeout(function () {
          if (_this3.webview) {
            _this3.webview.injectJavaScript(js);
          } else {
            _this3._log("Webview is no more valid, discard js injection");
          }
        }, 100));
      }
    }, {
      key: "postMessage",
      value: function postMessage(js) {
        return this.injectJavaScript("window.ReactNativeWebView.postMessage(JSON.stringify(" + js + "));");
      }
    }, {
      key: "_log",
      value: function _log(message) {
        if (this.baseWebViewRef) {
          this.baseWebViewRef._log(message);
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props3 = this.props,
            onLoadEnd = _this$props3.onLoadEnd,
            onLoadStart = _this$props3.onLoadStart,
            onMessage = _this$props3.onMessage,
            style = _this$props3.style,
            onHeightChange = _this$props3.onHeightChange,
            source = _this$props3.source,
            innerRef = _this$props3.innerRef,
            rest = (0, _objectWithoutProperties2.default)(_this$props3, ["onLoadEnd", "onLoadStart", "onMessage", "style", "onHeightChange", "source", "innerRef"]);
        var _h = this.state.webViewHeight;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).BaseWebView, (0, _extends2.default)({
          ref: this.onRef,
          innerRef: this.onInnerRef,
          source: source,
          onLoadStart: this.onLoadStart,
          onLoadEnd: this.onLoadEnd,
          onMessage: this.onMessage,
          automaticallyAdjustContentInsets: true,
          scalesPageToFit: false
        }, rest, {
          scrollEnabled: false,
          style: [style, {
            height: _h
          }]
        }));
      }
    }]);
    return AutoHeightWebView;
  }(_react.default.Component);

  exports.AutoHeightWebView = AutoHeightWebView;
  AutoHeightWebView.propTypes = (0, _extends2.default)({
    width: _propTypes.default.number,
    style: _propTypes.default.object,
    innerRef: _propTypes.default.func,
    webviewRef: _propTypes.default.func,
    onMessage: _propTypes.default.func,
    onLoadStart: _propTypes.default.func,
    onLoadEnd: _propTypes.default.func,
    onHeightChange: _propTypes.default.func,
    defaultHeight: _propTypes.default.number,
    htmlContentId: _propTypes.default.string,
    source: _propTypes.default.object,
    disableStartAutoHeightEvaluation: _propTypes.default.bool
  }, _$$_REQUIRE(_dependencyMap[13]).BaseWebView.propTypes);
  AutoHeightWebView.defaultProps = {
    defaultHeight: 0,
    htmlContentId: "",
    disableStartAutoHeightEvaluation: false
  };
},1902,[5,6,108,7,8,15,12,14,16,17,201,462,1903,1894]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.checkContentHeight = undefined;
  var checkContentHeight = "\n    function (id, oneShot) {\n        if(oneShot === undefined){\n            oneShot = false;\n        }\n        var MILLS_TO_CHECK = 500;\n        var STEP_CHECK_COUNTER = 40;\n        var step = 1;\n        var counter = 0;\n        var oldHeight = 0;\n        var getHeight = function(param) {\n            var currentHeight = 0;\n            try {\n                var element; \n                if (param) { \n                    element = document.getElementById(param); \n                } \n                if (!element) {\n                    element = document.body;\n                }\n                currentHeight = Math.max(element.scrollHeight, element.offsetHeight, element.clientHeight);\n                console.log(param+' - '+currentHeight);\n            } catch (e) {}\n            return currentHeight;\n        };\n        var sendHeight = function(height) {\n            try {\n                if (window.ReactNativeWebView) {\n                    window.ReactNativeWebView.postMessage(JSON.stringify({ content: height, type: 'HEIGHT' }));\n                    return true;\n                }\n            } catch (e) {}\n\n            return false;\n        };\n        var checkHeight = function(param) {\n            var newHeight = getHeight(param);\n            if (oneShot) {\n                sendHeight(newHeight);\n            } else {\n                counter += 1;\n                if (oldHeight !== newHeight) {\n                    var success = sendHeight(newHeight);\n                    if (success) {\n                        oldHeight = newHeight;\n                    }\n                    \n                    step = 1;\n                    counter = 0;\n                } else if (counter > STEP_CHECK_COUNTER) {\n                    step += 1;\n                    counter = 0;\n                }\n                setTimeout(function() {checkHeight(param);}, MILLS_TO_CHECK * step);\n            }\n        };\n        checkHeight(id);\n    }\n";
  exports.checkContentHeight = checkContentHeight;
},1903,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},1904,[1905]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.MyBottomSheet = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _bottomSheet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var MyBottomSheet = function (_React$Component) {
    (0, _inherits2.default)(MyBottomSheet, _React$Component);

    var _super = _createSuper(MyBottomSheet);

    function MyBottomSheet(props) {
      var _this;

      (0, _classCallCheck2.default)(this, MyBottomSheet);
      _this = _super.call(this, props);
      _this.state = {
        title: global.strings("title_bottom_sheet"),
        options: [],
        styleContainer: {},
        textStyle: {}
      };
      return _this;
    }

    (0, _createClass2.default)(MyBottomSheet, [{
      key: "hideBottomSheet",
      value: function hideBottomSheet() {
        if (this.bottomSheet) {
          this.bottomSheet.close();
        }
      }
    }, {
      key: "showBottomSheet",
      value: function showBottomSheet(_ref) {
        var _this2 = this;

        var title = _ref.title,
            _ref$options = _ref.options,
            options = _ref$options === undefined ? [] : _ref$options,
            _ref$styleContainer = _ref.styleContainer,
            styleContainer = _ref$styleContainer === undefined ? {} : _ref$styleContainer,
            _ref$textStyle = _ref.textStyle,
            textStyle = _ref$textStyle === undefined ? {} : _ref$textStyle;
        this.setState(function (prevState) {
          return {
            title: title || prevState.title,
            options: options,
            styleContainer: styleContainer,
            textStyle: textStyle
          };
        }, function () {
          if (_this2.bottomSheet) {
            _this2.bottomSheet.open();
          }
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this3 = this;

        var _this$state = this.state,
            options = _this$state.options,
            styleContainer = _this$state.styleContainer,
            textStyle = _this$state.textStyle;

        var _global$getRssIndex = global.getRssIndex(),
            borderRadius = _global$getRssIndex.borderRadius;

        return _react.default.createElement(_bottomSheet.default, {
          styleContainer: (0, _extends2.default)({
            backgroundColor: _$$_REQUIRE(_dependencyMap[10]).colors.white,
            borderTopStartRadius: borderRadius || 0,
            borderTopEndRadius: borderRadius || 0,
            paddingBottom: _deviceUtils.default.insets.bottom,
            overflow: "hidden"
          }, styleContainer),
          ref: function ref(_ref2) {
            _this3.bottomSheet = _ref2;
          },
          textStyle: textStyle,
          backButtonEnabled: true,
          coverScreen: false,
          options: options,
          isOpen: false
        });
      }
    }], [{
      key: "show",
      value: function show(config) {
        if (MyBottomSheet.bottomSheetInstance) {
          MyBottomSheet.bottomSheetInstance.showBottomSheet(config);
        }
      }
    }, {
      key: "hide",
      value: function hide() {
        if (MyBottomSheet.bottomSheetInstance) {
          MyBottomSheet.bottomSheetInstance.hideBottomSheet();
        }
      }
    }]);
    return MyBottomSheet;
  }(_react.default.Component);

  exports.MyBottomSheet = MyBottomSheet;
},1905,[5,6,7,8,12,14,16,17,1906,458,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[12]);

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _bottomSheet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _shortcutList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _modal = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var BottomSheet = function (_PureShortcut) {
    (0, _inherits2.default)(BottomSheet, _PureShortcut);

    var _super = _createSuper(BottomSheet);

    function BottomSheet(props) {
      var _this;

      (0, _classCallCheck2.default)(this, BottomSheet);
      _this = _super.call(this, props);
      _this.close = _this._close.bind((0, _assertThisInitialized2.default)(_this));
      _this.open = _this._open.bind((0, _assertThisInitialized2.default)(_this));
      _this.onModalHide = _this._onModalHide.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPress = _this._onPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.pressedItem = undefined;
      _this.state = {
        isOpen: props.isOpen
      };
      return _this;
    }

    (0, _createClass2.default)(BottomSheet, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(BottomSheet.prototype), "componentDidMount", this).call(this);
        this.onOrientationChange = _$$_REQUIRE(_dependencyMap[18]).EventRegister.on(_events.default.ON_ORIENTATION_CHANGE, this.close);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(BottomSheet.prototype), "componentWillUnmount", this).call(this);

        _$$_REQUIRE(_dependencyMap[18]).EventRegister.rm(this.onOrientationChange);
      }
    }, {
      key: "_handleShortcut",
      value: function _handleShortcut() {
        var isOpen = this.state.isOpen;

        if (isOpen) {
          var CLOSE = _$$_REQUIRE(_dependencyMap[19]).KEY_GROUPS.CLOSE,
              ANY = _$$_REQUIRE(_dependencyMap[19]).KEY_GROUPS.ANY;

          return [{
            callback: this.close,
            keys: CLOSE,
            stopPropagation: true
          }, {
            callback: this.noop,
            keys: ANY,
            stopPropagation: true
          }];
        }

        return [];
      }
    }, {
      key: "_open",
      value: function _open() {
        this.pressedItem = undefined;

        this._toggle(true);
      }
    }, {
      key: "_close",
      value: function _close() {
        this._toggle(false);
      }
    }, {
      key: "_toggle",
      value: function _toggle(state) {
        var isOpen = this.state.isOpen;

        if (state !== isOpen) {
          this.setState({
            isOpen: state
          });
        }
      }
    }, {
      key: "_onModalHide",
      value: function _onModalHide() {
        if (this.pressedItem && typeof this.pressedItem.onPress === "function" && this.pressedItem.waitModalHide) {
          this.pressedItem.onPress();
        }

        this._close();

        this.pressedItem = undefined;
      }
    }, {
      key: "_onPress",
      value: function _onPress(item) {
        this.pressedItem = item;

        this._close();

        if (item.waitModalHide === undefined || item.waitModalHide === false) {
          item.onPress();
        }
      }
    }, {
      key: "renderContent",
      value: function renderContent() {
        var _this2 = this;

        var _this$props = this.props,
            options = _this$props.options,
            children = _this$props.children,
            textStyle = _this$props.textStyle,
            itemDivider = _this$props.itemDivider,
            shortcutPriority = _this$props.shortcutPriority;
        var isOpen = this.state.isOpen;

        if (options && options.length) {
          return _react.default.createElement(_shortcutList.default, {
            data: options,
            plainData: options,
            keyExtractor: function keyExtractor(item, index) {
              return "bottom_sheet_item_" + index;
            },
            shortcutEnabled: isOpen,
            shortcutPriority: shortcutPriority + 1,
            onPress: this.onPress,
            renderItem: function renderItem(_ref) {
              var item = _ref.item,
                  index = _ref.index,
                  focusedItem = _ref.focusedItem;
              var tStyle = [_bottomSheet.default.text];

              if (Array.isArray(textStyle)) {
                tStyle.push.apply(tStyle, (0, _toConsumableArray2.default)(textStyle));
              } else {
                tStyle.push(textStyle);
              }

              if (item.textStyle) {
                tStyle.push(item.textStyle);
              }

              var focused = _$$_REQUIRE(_dependencyMap[20]).JSUtils.areEqualShallow(item, focusedItem);

              var focusStyle = {};

              if (focused) {
                focusStyle.backgroundColor = _$$_REQUIRE(_dependencyMap[20]).colors.keyboardHighlight;
              }

              return _react.default.createElement(_reactNative.View, {
                style: [{
                  flexDirection: "column"
                }, item.containerStyle],
                key: index
              }, _react.default.createElement(_reactNative.TouchableOpacity, {
                onPress: function onPress() {
                  _this2.onPress(item);
                },
                activeOpacity: 0.5
              }, _react.default.createElement(_reactNative.View, {
                style: [_bottomSheet.default.item, item.style, focusStyle]
              }, item.icon, _react.default.createElement(_fontText.default, {
                style: tStyle
              }, item.title))), itemDivider === index + 1 && _react.default.createElement(_reactNative.View, {
                style: _bottomSheet.default.separator
              }));
            }
          });
        }

        return children;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props2 = this.props,
            styleContainer = _this$props2.styleContainer,
            _this$props2$modalPro = _this$props2.modalProps,
            modalProps = _this$props2$modalPro === undefined ? {} : _this$props2$modalPro;
        var isOpen = this.state.isOpen;
        return _react.default.createElement(_modal.default, (0, _extends2.default)({
          visible: isOpen,
          onHide: this.onModalHide
        }, modalProps, {
          style: {
            justifyContent: "flex-end",
            margin: 0,
            padding: 0
          },
          containerStyle: {
            borderBottomLeftRadius: 0,
            borderBottomRightRadius: 0,
            padding: 0,
            marginBottom: 0
          }
        }), _react.default.createElement(_reactNative.View, {
          collapsable: false,
          style: styleContainer
        }, this.renderContent()));
      }
    }]);
    return BottomSheet;
  }(_$$_REQUIRE(_dependencyMap[21]).PureShortcut);

  BottomSheet.propTypes = (0, _extends2.default)({
    options: _propTypes.default.arrayOf(_propTypes.default.shape({
      onPress: _propTypes.default.func,
      icon: _propTypes.default.node,
      waitModalHide: _propTypes.default.bool,
      title: _propTypes.default.string,
      style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
      containerStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
      textStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array])
    })),
    isOpen: _propTypes.default.bool,
    itemDivider: _propTypes.default.number,
    styleContainer: _propTypes.default.object,
    textStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    children: _propTypes.default.any,
    modalProps: _propTypes.default.object
  }, _$$_REQUIRE(_dependencyMap[21]).PureShortcut.propTypes);
  BottomSheet.defaultProps = {
    isOpen: false,
    modalProps: {},
    shortcutEnabled: true,
    shortcutPriority: 100
  };
  var _default = BottomSheet;
  exports.default = _default;
},1906,[5,6,21,7,8,15,90,12,14,16,17,201,28,460,1907,1879,1908,1882,572,1873,462,1911]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    text: {
      paddingHorizontal: 32,
      textAlignVertical: "center",
      color: "#000"
    },
    item: {
      flexDirection: "row",
      height: 48,
      alignItems: "center",
      paddingLeft: 16,
      paddingRight: 16
    },
    title: {
      height: 42,
      color: "#000",
      opacity: 0.54,
      marginLeft: 16
    },
    separator: {
      height: 1 / _reactNative.PixelRatio.get(),
      backgroundColor: "#CCCCCC",
      marginTop: 7,
      marginBottom: 8,
      width: "100%"
    }
  });

  exports.default = _default;
},1907,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[13]);

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ShortcutList = function (_Shortcut) {
    (0, _inherits2.default)(ShortcutList, _Shortcut);

    var _super = _createSuper(ShortcutList);

    function ShortcutList(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ShortcutList);
      _this = _super.call(this, props);
      _this._listRef = _react.default.createRef();
      _this._itemsLayout = [];
      _this._scrollOffsetY = 0;
      _this._scrollHeight = 0;
      _this._fingerItemIndex = -1;
      _this.what = _this._what.bind((0, _assertThisInitialized2.default)(_this));
      _this.focusUpItem = _this._focusUpItem.bind((0, _assertThisInitialized2.default)(_this));
      _this.focusDownItem = _this._focusDownItem.bind((0, _assertThisInitialized2.default)(_this));
      _this.selectFocusedItem = _this._selectFocusedItem.bind((0, _assertThisInitialized2.default)(_this));
      _this.resetFocusedItem = _this._resetFocusedItem.bind((0, _assertThisInitialized2.default)(_this));
      _this.onRef = _this._onRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onScroll = _this._onScroll.bind((0, _assertThisInitialized2.default)(_this));
      _this.onMomentumScrollEnd = _this._onMomentumScrollEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.onHeaderLayout = _this._onHeaderLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPanEvent = _this._onPanEvent.bind((0, _assertThisInitialized2.default)(_this));
      _this.onContentSizeChange = _this._onContentSizeChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLayout = _this._onLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        focusedItem: undefined,
        snapToOffsets: undefined
      };
      return _this;
    }

    (0, _createClass2.default)(ShortcutList, [{
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps, prevState) {
        var focusedItem = this.state.focusedItem;

        if (focusedItem !== prevState.focusedItem) {
          this._what();
        }
      }
    }, {
      key: "scrollDown",
      value: function scrollDown() {
        if (this._listRef) {
          try {
            this._listRef.scrollToOffset({
              animated: !_$$_REQUIRE(_dependencyMap[14]).PlatformUtils.isEInk(),
              offset: this._scrollOffsetY + this._listLayout.height
            });
          } catch (e) {}
        }
      }
    }, {
      key: "scrollUp",
      value: function scrollUp() {
        if (this._listRef) {
          try {
            this._listRef.scrollToOffset({
              animated: !_$$_REQUIRE(_dependencyMap[14]).PlatformUtils.isEInk(),
              offset: this._scrollOffsetY - this._listLayout.height
            });
          } catch (e) {}
        }
      }
    }, {
      key: "_what",
      value: function _what() {
        var _this$props = this.props,
            readFocusedItem = _this$props.readFocusedItem,
            onRead = _this$props.onRead;
        var focusedItem = this.state.focusedItem;

        if (readFocusedItem && focusedItem) {
          if (typeof focusedItem === "string") {
            global.getAudio().ttsStart(focusedItem);
          } else if (typeof onRead === "function") {
            var toRead = onRead(focusedItem);

            if (toRead) {
              global.getAudio().ttsStart(toRead);
            }
          } else {}
        }
      }
    }, {
      key: "_handleShortcut",
      value: function _handleShortcut() {
        var isActive = this.props.isActive;

        if (isActive()) {
          var focusedItem = this.state.focusedItem;

          var UP = _$$_REQUIRE(_dependencyMap[15]).KEY_GROUPS.UP,
              DOWN = _$$_REQUIRE(_dependencyMap[15]).KEY_GROUPS.DOWN,
              SELECT = _$$_REQUIRE(_dependencyMap[15]).KEY_GROUPS.SELECT;

          var ITEM_UP = _$$_REQUIRE(_dependencyMap[15]).VOICE_GROUPS.ITEM_UP,
              ITEM_DOWN = _$$_REQUIRE(_dependencyMap[15]).VOICE_GROUPS.ITEM_DOWN,
              ITEM_SELECT = _$$_REQUIRE(_dependencyMap[15]).VOICE_GROUPS.ITEM_SELECT,
              WHAT = _$$_REQUIRE(_dependencyMap[15]).VOICE_GROUPS.WHAT;

          return [{
            callbackRepeat: this.focusUpItem,
            keys: UP
          }, {
            callback: this.focusUpItem,
            keys: ITEM_UP()
          }, {
            callback: this.what,
            keys: WHAT()
          }, {
            callbackRepeat: this.focusDownItem,
            keys: ["TAB"].concat((0, _toConsumableArray2.default)(DOWN))
          }, {
            callback: this.focusDownItem,
            keys: ITEM_DOWN()
          }, {
            callback: this.selectFocusedItem,
            keys: SELECT,
            stopPropagation: !!focusedItem
          }, {
            callback: this.selectFocusedItem,
            keys: ITEM_SELECT(),
            stopPropagation: !!focusedItem
          }];
        }

        return [];
      }
    }, {
      key: "_onRef",
      value: function _onRef(ref) {
        this._listRef = ref;
      }
    }, {
      key: "_onHeaderLayout",
      value: function _onHeaderLayout(_ref) {
        var nativeEvent = _ref.nativeEvent;
        this._headerLayout = nativeEvent.layout;
      }
    }, {
      key: "_onItemLayout",
      value: function _onItemLayout(_ref2, index) {
        var nativeEvent = _ref2.nativeEvent;
        this._itemsLayout[index] = nativeEvent.layout;
      }
    }, {
      key: "_onLayout",
      value: function _onLayout(_ref3) {
        var nativeEvent = _ref3.nativeEvent;
        this._listLayout = nativeEvent.layout;

        this._evaluateSnapToOffset();
      }
    }, {
      key: "_onScroll",
      value: function _onScroll(_ref4) {
        var nativeEvent = _ref4.nativeEvent;
        this._scrollOffsetY = nativeEvent.contentOffset.y;
      }
    }, {
      key: "_onMomentumScrollEnd",
      value: function _onMomentumScrollEnd(_ref5) {
        var nativeEvent = _ref5.nativeEvent;
        var _this$props2 = this.props,
            onPageChange = _this$props2.onPageChange,
            onPageRead = _this$props2.onPageRead;
        var scrollY = nativeEvent.contentOffset.y;
        var pageSize = nativeEvent.layoutMeasurement.height;
        var page = scrollY % pageSize === 0 ? scrollY / pageSize : Math.floor(scrollY / pageSize) + 1;

        if (typeof onPageChange === "function") {
          onPageChange(page);
        }

        if (typeof onPageRead === "function") {
          var toRead = onPageRead(page);

          if (toRead) {
            global.getAudio().ttsStart(toRead);
          }
        }
      }
    }, {
      key: "_onPanEvent",
      value: function _onPanEvent(_ref6) {
        var nativeEvent = _ref6.nativeEvent;

        try {
          if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[16]).State.ACTIVE) {
            var plainData = this.props.plainData;
            var y = nativeEvent.y;
            var scrollY;

            if (this._headerLayout) {
              scrollY = y + this._scrollOffsetY - (this._headerLayout.height || 0);
            } else {
              scrollY = y + this._scrollOffsetY;
            }

            var progressiveHeight = 0;
            var fingerItemIndex = -1;

            for (var i = 0; i < this._itemsLayout.length; i++) {
              var height = this._getItemHeight(i);

              if (scrollY >= progressiveHeight && scrollY <= progressiveHeight + height) {
                fingerItemIndex = i;
                break;
              }

              progressiveHeight += height;
            }

            if (this._fingerItemIndex !== fingerItemIndex) {
              this._fingerItemIndex = fingerItemIndex;
              var focusedItem = plainData[fingerItemIndex];

              if (focusedItem) {
                this.setState({
                  focusedItem: focusedItem
                });
              }
            }
          }
        } catch (e) {}
      }
    }, {
      key: "_getItemHeight",
      value: function _getItemHeight(index) {
        var plainData = this.props.plainData;
        var itemHeight;

        if (this._itemsLayout[index]) {
          itemHeight = this._itemsLayout[index].height;
        } else {
          itemHeight = this._scrollHeight / plainData.length;
        }

        return itemHeight;
      }
    }, {
      key: "_onContentSizeChange",
      value: function _onContentSizeChange(width, height) {
        this._scrollHeight = height;

        this._evaluateSnapToOffset();
      }
    }, {
      key: "_evaluateSnapToOffset",
      value: function _evaluateSnapToOffset() {
        var accessibilityEnabled = this.props.accessibilityEnabled;

        if (this._listLayout && this._listLayout.height && this._scrollHeight && accessibilityEnabled && !_$$_REQUIRE(_dependencyMap[14]).PlatformUtils.isSystemAccessibilityEnabled()) {
          var pages = Math.ceil(this._scrollHeight, this._listLayout.height);
          var rest = this._scrollHeight % this._listLayout.height;
          var snapToOffsets = [];

          for (var i = 0; i < pages; i++) {
            if (i === pages - 1) {
              snapToOffsets[i] = rest;
            } else {
              snapToOffsets[i] = this._listLayout.height;
            }
          }

          this.setState({
            snapToOffsets: snapToOffsets
          });
        }
      }
    }, {
      key: "_getFocusedViewIndex",
      value: function _getFocusedViewIndex(focusedItem) {
        var list = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.props.plainData;

        if (focusedItem) {
          return list.findIndex(function (item) {
            return _$$_REQUIRE(_dependencyMap[14]).JSUtils.equals(item, focusedItem);
          });
        }

        return -1;
      }
    }, {
      key: "_getCurrentItemPosition",
      value: function _getCurrentItemPosition() {
        var focusedItem = this.state.focusedItem;
        return this._getFocusedViewIndex(focusedItem);
      }
    }, {
      key: "_scrollToFocused",
      value: function _scrollToFocused(focusedItem) {
        var _this2 = this;

        var _this$props3 = this.props,
            data = _this$props3.data,
            plainData = _this$props3.plainData;
        var index;

        if (_$$_REQUIRE(_dependencyMap[14]).JSUtils.equals(data, plainData)) {
          index = this._getFocusedViewIndex(focusedItem);
        } else {
          index = data.findIndex(function (subData) {
            return _this2._getFocusedViewIndex(focusedItem, subData) !== -1;
          });
        }

        index = Math.max(0, index);

        this._scrollToIndex(index);
      }
    }, {
      key: "_focusUpItem",
      value: function _focusUpItem() {
        var plainData, index, focusedItem;
        return _regenerator.default.async(function _focusUpItem$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                plainData = this.props.plainData;
                index = this._getCurrentItemPosition();

                if (index <= 0) {
                  index = plainData.length;
                }

                focusedItem = plainData[index - 1];

                this._scrollToFocused(focusedItem);

                return _context.abrupt("return", this.setStatePromise({
                  focusedItem: focusedItem
                }));

              case 6:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_focusDownItem",
      value: function _focusDownItem() {
        var plainData, index, focusedItem;
        return _regenerator.default.async(function _focusDownItem$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                plainData = this.props.plainData;
                index = this._getCurrentItemPosition();

                if (index >= plainData.length - 1) {
                  index = -1;
                }

                focusedItem = plainData[index + 1];

                this._scrollToFocused(focusedItem);

                return _context2.abrupt("return", this.setStatePromise({
                  focusedItem: focusedItem
                }));

              case 6:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_selectFocusedItem",
      value: function _selectFocusedItem() {
        var focusedItem = this.state.focusedItem;
        var onPress = this.props.onPress;

        if (typeof onPress === "function" && focusedItem) {
          onPress(focusedItem, Math.max(0, this._getCurrentItemPosition(focusedItem)));
        }
      }
    }, {
      key: "_resetFocusedItem",
      value: function _resetFocusedItem() {
        var _this3 = this;

        var focusedItem = this.state.focusedItem;

        if (focusedItem !== undefined) {
          this.setState({
            focusedItem: undefined
          }, function () {
            _this3._scrollToIndex(0);
          });
        }
      }
    }, {
      key: "_scrollToIndex",
      value: function _scrollToIndex(index) {
        if (this._listRef) {
          try {
            this._listRef.scrollToIndex({
              index: index
            });
          } catch (e) {}
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this4 = this;

        var _this$props4 = this.props,
            plainData = _this$props4.plainData,
            renderItem = _this$props4.renderItem,
            accessibilityEnabled = _this$props4.accessibilityEnabled,
            contentContainerStyle = _this$props4.contentContainerStyle,
            ListHeaderComponent = _this$props4.ListHeaderComponent,
            refreshControl = _this$props4.refreshControl,
            rest = (0, _objectWithoutProperties2.default)(_this$props4, ["plainData", "renderItem", "accessibilityEnabled", "contentContainerStyle", "ListHeaderComponent", "refreshControl"]);
        var _this$state = this.state,
            focusedItem = _this$state.focusedItem,
            snapToOffsets = _this$state.snapToOffsets;
        var simulateAccessibility = accessibilityEnabled && !_$$_REQUIRE(_dependencyMap[14]).PlatformUtils.isSystemAccessibilityEnabled();
        var listProps = {};

        if (simulateAccessibility) {
          listProps.pagingEnabled = true;
          listProps.onMomentumScrollEnd = this.onMomentumScrollEnd;

          listProps.renderScrollComponent = function (props) {
            return _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).TecnaviaScrollView, (0, _extends2.default)({}, props, {
              minPointers: 2
            }));
          };

          listProps.ListHeaderComponent = ListHeaderComponent ? _react.default.createElement(_reactNative.View, {
            onLayout: this.onHeaderLayout
          }, ListHeaderComponent) : null;

          listProps.renderItem = function (_ref7) {
            var item = _ref7.item,
                index = _ref7.index;
            return _react.default.createElement(_reactNative.View, {
              onLayout: function onLayout(e) {
                _this4._onItemLayout(e, index);
              }
            }, renderItem({
              item: item,
              index: index,
              focusedItem: focusedItem
            }));
          };

          if (snapToOffsets) {
            listProps.snapToOffsets = snapToOffsets;
          }
        } else {
          if (!accessibilityEnabled) {
            listProps.refreshControl = refreshControl;
          }

          listProps.renderScrollComponent = function (props) {
            return _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).TecnaviaScrollView, props);
          };

          listProps.ListHeaderComponent = ListHeaderComponent;

          listProps.renderItem = function (_ref8) {
            var item = _ref8.item,
                index = _ref8.index;
            return renderItem({
              item: item,
              index: index,
              focusedItem: focusedItem
            });
          };
        }

        var ScrollComponent = _react.default.createElement(_$$_REQUIRE(_dependencyMap[18]).TecnaviaFlatList, (0, _extends2.default)({}, rest, {
          ref: this.onRef,
          onLayout: this.onLayout,
          onContentSizeChange: this.onContentSizeChange,
          onScroll: this.onScroll,
          scrollEventThrottle: 16,
          contentContainerStyle: contentContainerStyle
        }, listProps));

        if (simulateAccessibility) {
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).PanGestureHandler, {
            maxPointers: 1,
            onGestureEvent: this.onPanEvent
          }, _react.default.createElement(_reactNative.Animated.View, {
            collapsable: false,
            style: contentContainerStyle
          }, ScrollComponent));
        }

        return ScrollComponent;
      }
    }]);
    return ShortcutList;
  }(_$$_REQUIRE(_dependencyMap[19]).Shortcut);

  exports.default = ShortcutList;
  ShortcutList.propTypes = (0, _extends2.default)({
    plainData: _propTypes.default.array.isRequired,
    readFocusedItem: _propTypes.default.bool,
    onRead: _propTypes.default.func,
    isActive: _propTypes.default.func,
    onPageRead: _propTypes.default.func,
    onPageChange: _propTypes.default.func
  }, _$$_REQUIRE(_dependencyMap[19]).Shortcut.propTypes);
  ShortcutList.defaultProps = (0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[19]).Shortcut.defaultProps, {
    shortcutEnabled: true,
    readFocusedItem: false,
    isActive: function isActive() {
      return true;
    }
  });
},1908,[5,80,6,108,21,7,8,15,12,14,16,17,201,28,462,1873,1,1909,1910,1911]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.TecnaviaScrollView = exports.TecnaviaGestureHandlerScrollview = exports.TecnaviaAnimatedScrollView = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var TecnaviaScrollView = _react.default.forwardRef(function (props, _ref) {
    var minPointers = props.minPointers,
        rest = (0, _objectWithoutProperties2.default)(props, ["minPointers"]);
    return _react.default.createElement(_reactNative.ScrollView, (0, _extends2.default)({}, rest, {
      overScrollMode: "never",
      ref: function ref(scrollRef) {
        if (typeof _ref === "function") {
          _ref(scrollRef);
        }

        _$$_REQUIRE(_dependencyMap[6]).OurBridge.setCustomOnTouch(scrollRef, {
          minPointers: minPointers
        });
      }
    }));
  });

  exports.TecnaviaScrollView = TecnaviaScrollView;
  TecnaviaScrollView.propTypes = (0, _extends2.default)({}, _reactNative.ScrollViewProps, {
    minPointers: _propTypes.default.number,
    keyboardShouldPersistTaps: _propTypes.default.string
  });
  TecnaviaScrollView.defaultProps = {
    keyboardShouldPersistTaps: "handled"
  };
  var TecnaviaGestureHandlerScrollview = (0, _$$_REQUIRE(_dependencyMap[7]).createNativeWrapper)(TecnaviaScrollView, {
    disallowInterruption: true,
    shouldCancelWhenOutside: false
  });
  exports.TecnaviaGestureHandlerScrollview = TecnaviaGestureHandlerScrollview;

  var TecnaviaAnimatedScrollView = _reactNative.Animated.createAnimatedComponent(TecnaviaScrollView);

  exports.TecnaviaAnimatedScrollView = TecnaviaAnimatedScrollView;
},1909,[5,6,108,17,201,28,582,1]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.TecnaviaSectionList = exports.TecnaviaFlatList = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var TecnaviaFlatList = _react.default.forwardRef(function (props, ref) {
    return _react.default.createElement(_reactNative.FlatList, (0, _extends2.default)({
      overScrollMode: "never"
    }, props, {
      ref: ref
    }));
  });

  exports.TecnaviaFlatList = TecnaviaFlatList;
  TecnaviaFlatList.displayName = "FlatList";

  var TecnaviaSectionList = _react.default.forwardRef(function (props, ref) {
    return _react.default.createElement(_reactNative.SectionList, (0, _extends2.default)({
      overScrollMode: "never"
    }, props, {
      ref: ref
    }));
  });

  exports.TecnaviaSectionList = TecnaviaSectionList;
  TecnaviaSectionList.displayName = "SectionList";
},1910,[5,6,17,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Shortcut = exports.PureShortcut = exports.ShortcutManager = exports.SHORTCUT_TIMEOUT_REPEAT = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _LiveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SHORTCUT_TIMEOUT_REPEAT = 300;
  exports.SHORTCUT_TIMEOUT_REPEAT = SHORTCUT_TIMEOUT_REPEAT;

  var ShortcutManager = function () {
    function ShortcutManager() {
      (0, _classCallCheck2.default)(this, ShortcutManager);
    }

    (0, _createClass2.default)(ShortcutManager, null, [{
      key: "register",
      value: function register(instance) {
        var id = _$$_REQUIRE(_dependencyMap[12]).JSUtils.generateId();

        ShortcutManager.listeners[id] = instance;
        return id;
      }
    }, {
      key: "unregister",
      value: function unregister(id) {
        if (ShortcutManager.listeners[id]) {
          ShortcutManager.listeners[id] = undefined;
          delete ShortcutManager.listeners[id];
        }
      }
    }, {
      key: "getName",
      value: function getName(listener) {
        if (listener) {
          try {
            return listener.constructor.name;
          } catch (e) {}
        }

        return "";
      }
    }, {
      key: "enable",
      value: function enable() {
        ShortcutManager.enabled = true;
      }
    }, {
      key: "disable",
      value: function disable() {
        ShortcutManager.enabled = false;
      }
    }, {
      key: "getListeners",
      value: function getListeners() {
        return Object.values(ShortcutManager.listeners).filter(function (listener) {
          var shortcutEnabled = listener.props.shortcutEnabled;
          return shortcutEnabled && typeof listener.handleShortcut === "function";
        }).sort(function (listenerA, listenerB) {
          var shortcutPriorityA = listenerA.props.shortcutPriority;
          var shortcutPriorityB = listenerB.props.shortcutPriority;

          if (shortcutPriorityA !== undefined && shortcutPriorityB !== undefined) {
            return shortcutPriorityB - shortcutPriorityA;
          }

          if (shortcutPriorityA !== undefined) {
            return -1;
          }

          if (shortcutPriorityB !== undefined) {
            return 1;
          }

          return 0;
        });
      }
    }, {
      key: "onVoiceRecognized",
      value: function onVoiceRecognized(_ref) {
        var _ref$value = _ref.value,
            value = _ref$value === undefined ? [] : _ref$value;
        var found = value;

        if (ShortcutManager.enabled) {
          var listeners = ShortcutManager.getListeners();

          for (var i = 0; i < listeners.length; i++) {
            var listener = listeners[i];
            var shortcut = undefined;

            for (var j = 0; j < listeners.length && !shortcut; j++) {
              if (value[j]) {
                (function () {
                  var sentence = value[j].toLowerCase();
                  shortcut = listener.handleShortcut(sentence, sentence).find(function (_ref2) {
                    var callback = _ref2.callback,
                        keys = _ref2.keys;
                    return typeof callback === "function" && keys.includes(sentence);
                  });
                })();
              }
            }

            if (shortcut) {
              var _shortcut = shortcut,
                  callback = _shortcut.callback,
                  stopPropagation = _shortcut.stopPropagation,
                  keys = _shortcut.keys;
              found = keys;

              if (typeof callback === "function") {
                callback();
              }

              if (stopPropagation) {
                break;
              }
            } else {}
          }
        }

        return found;
      }
    }, {
      key: "onKeyDown",
      value: function onKeyDown(_ref3) {
        var combo = _ref3.combo,
            comboNoRL = _ref3.comboNoRL;

        if (ShortcutManager.enabled) {
          var listeners = ShortcutManager.getListeners();

          for (var i = 0; i < listeners.length; i++) {
            var listener = listeners[i];
            var shortcuts = listener.handleShortcut(combo, comboNoRL);
            var shortcut = shortcuts.find(function (_ref4) {
              var callback = _ref4.callback,
                  callbackRepeat = _ref4.callbackRepeat,
                  keys = _ref4.keys;
              return (typeof callback === "function" || typeof callbackRepeat === "function") && (keys.includes(combo) || keys.includes(comboNoRL) || keys.includes(_$$_REQUIRE(_dependencyMap[13]).ANY_KEY));
            });

            if (shortcut) {
              var callback = shortcut.callback,
                  callbackRepeat = shortcut.callbackRepeat,
                  stopPropagation = shortcut.stopPropagation;

              if (typeof callback === "function") {
                callback();
              } else if (typeof callbackRepeat === "function") {
                var promise = callbackRepeat();

                if (promise instanceof Promise) {
                  promise.then(function () {
                    ShortcutManager.onKeyDown({
                      combo: _LiveConfig.default.getKeysCombo(),
                      comboNoRL: _LiveConfig.default.getKeysComboNoRL()
                    });
                  });
                }
              }

              if (stopPropagation) {
                break;
              }
            } else {}
          }
        }
      }
    }, {
      key: "getCallbackRepeatPromise",
      value: function getCallbackRepeatPromise() {
        var duration,
            _args = arguments;
        return _regenerator.default.async(function getCallbackRepeatPromise$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                duration = _args.length > 0 && _args[0] !== undefined ? _args[0] : SHORTCUT_TIMEOUT_REPEAT;
                return _context.abrupt("return", new Promise(function (resolve, reject) {
                  setTimeout(resolve, duration);
                }));

              case 2:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return ShortcutManager;
  }();

  exports.ShortcutManager = ShortcutManager;
  ShortcutManager.propTypes = {
    shortcutEnabled: _propTypes.default.bool,
    shortcutPriority: _propTypes.default.number
  };
  ShortcutManager.defaultProps = {
    shortcutEnabled: false,
    shortcutPriority: 0
  };
  ShortcutManager.listeners = {};
  ShortcutManager.enabled = true;

  var PureShortcut = function (_React$PureComponent) {
    (0, _inherits2.default)(PureShortcut, _React$PureComponent);

    var _super = _createSuper(PureShortcut);

    function PureShortcut(props) {
      var _this;

      (0, _classCallCheck2.default)(this, PureShortcut);
      _this = _super.call(this, props);
      _this.handleShortcut = _this._handleShortcut.bind((0, _assertThisInitialized2.default)(_this));
      _this.getCallbackRepeatPromise = _this._getCallbackRepeatPromise.bind((0, _assertThisInitialized2.default)(_this));
      _this.setStatePromise = _this._setStatePromise.bind((0, _assertThisInitialized2.default)(_this));
      _this.noop = _this._noop.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(PureShortcut, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this.listenerId = ShortcutManager.register(this);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        ShortcutManager.unregister(this.listenerId);
      }
    }, {
      key: "_handleShortcut",
      value: function _handleShortcut() {
        return [];
      }
    }, {
      key: "_noop",
      value: function _noop() {}
    }, {
      key: "_getCallbackRepeatPromise",
      value: function _getCallbackRepeatPromise(duration) {
        return ShortcutManager.getCallbackRepeatPromise(duration);
      }
    }, {
      key: "_setStatePromise",
      value: function _setStatePromise(state) {
        var _this2 = this;

        return _regenerator.default.async(function _setStatePromise$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", new Promise(function (resolve) {
                  _this2.setState(state, function () {
                    return setTimeout(resolve, SHORTCUT_TIMEOUT_REPEAT);
                  });
                }));

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return PureShortcut;
  }(_react.default.PureComponent);

  exports.PureShortcut = PureShortcut;
  PureShortcut.propTypes = (0, _extends2.default)({}, ShortcutManager.propTypes);
  PureShortcut.defaultProps = (0, _extends2.default)({}, ShortcutManager.defaultProps);

  var Shortcut = function (_React$Component) {
    (0, _inherits2.default)(Shortcut, _React$Component);

    var _super2 = _createSuper(Shortcut);

    function Shortcut(props) {
      var _this3;

      (0, _classCallCheck2.default)(this, Shortcut);
      _this3 = _super2.call(this, props);
      _this3.handleShortcut = _this3._handleShortcut.bind((0, _assertThisInitialized2.default)(_this3));
      _this3.getCallbackRepeatPromise = _this3._getCallbackRepeatPromise.bind((0, _assertThisInitialized2.default)(_this3));
      _this3.setStatePromise = _this3._setStatePromise.bind((0, _assertThisInitialized2.default)(_this3));
      _this3.noop = _this3._noop.bind((0, _assertThisInitialized2.default)(_this3));
      return _this3;
    }

    (0, _createClass2.default)(Shortcut, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this.listenerId = ShortcutManager.register(this);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        ShortcutManager.unregister(this.listenerId);
      }
    }, {
      key: "_handleShortcut",
      value: function _handleShortcut() {
        return [];
      }
    }, {
      key: "_noop",
      value: function _noop() {}
    }, {
      key: "_getCallbackRepeatPromise",
      value: function _getCallbackRepeatPromise(duration) {
        return ShortcutManager.getCallbackRepeatPromise(duration);
      }
    }, {
      key: "_setStatePromise",
      value: function _setStatePromise(state) {
        var _this4 = this;

        return _regenerator.default.async(function _setStatePromise$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                return _context3.abrupt("return", new Promise(function (resolve) {
                  _this4.setState(state, function () {
                    return setTimeout(resolve, SHORTCUT_TIMEOUT_REPEAT);
                  });
                }));

              case 1:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return Shortcut;
  }(_react.default.Component);

  exports.Shortcut = Shortcut;
  Shortcut.propTypes = (0, _extends2.default)({}, ShortcutManager.propTypes);
  Shortcut.defaultProps = (0, _extends2.default)({}, ShortcutManager.defaultProps);
},1911,[5,80,6,15,12,14,16,7,8,17,201,1872,462,1873]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "createNativeStackNavigator", {
    enumerable: true,
    get: function get() {
      return _createNativeStackNavigator.default;
    }
  });
  Object.defineProperty(exports, "NativeStackView", {
    enumerable: true,
    get: function get() {
      return _NativeStackView.default;
    }
  });

  var _createNativeStackNavigator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _NativeStackView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));
},1912,[5,1913,1914]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _NativeStackView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function NativeStackNavigator(_ref) {
    var initialRouteName = _ref.initialRouteName,
        children = _ref.children,
        screenListeners = _ref.screenListeners,
        screenOptions = _ref.screenOptions,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["initialRouteName", "children", "screenListeners", "screenOptions"]);

    var _useNavigationBuilder = (0, _$$_REQUIRE(_dependencyMap[5]).useNavigationBuilder)(_$$_REQUIRE(_dependencyMap[5]).StackRouter, {
      initialRouteName: initialRouteName,
      children: children,
      screenListeners: screenListeners,
      screenOptions: screenOptions
    }),
        state = _useNavigationBuilder.state,
        descriptors = _useNavigationBuilder.descriptors,
        navigation = _useNavigationBuilder.navigation,
        NavigationContent = _useNavigationBuilder.NavigationContent;

    React.useEffect(function () {
      return navigation == null ? undefined : navigation.addListener == null ? undefined : navigation.addListener('tabPress', function (e) {
        var isFocused = navigation.isFocused();
        requestAnimationFrame(function () {
          if (state.index > 0 && isFocused && !e.defaultPrevented) {
            navigation.dispatch((0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[5]).StackActions.popToTop(), {
              target: state.key
            }));
          }
        });
      });
    }, [navigation, state.index, state.key]);
    return React.createElement(NavigationContent, null, React.createElement(_NativeStackView.default, (0, _extends2.default)({}, rest, {
      state: state,
      navigation: navigation,
      descriptors: descriptors
    })));
  }

  var _default = (0, _$$_REQUIRE(_dependencyMap[5]).createNavigatorFactory)(NativeStackNavigator);

  exports.default = _default;
},1913,[5,6,108,17,1914,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = NativeStackView;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _warnOnce = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _DebugContainer = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _HeaderConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var isAndroid = _reactNative.Platform.OS === 'android';

  var MaybeNestedStack = function MaybeNestedStack(_ref) {
    var options = _ref.options,
        route = _ref.route,
        presentation = _ref.presentation,
        headerHeight = _ref.headerHeight,
        children = _ref.children;

    var _useTheme = (0, _$$_REQUIRE(_dependencyMap[8]).useTheme)(),
        colors = _useTheme.colors;

    var header = options.header,
        _options$headerShown = options.headerShown,
        headerShown = _options$headerShown === undefined ? true : _options$headerShown,
        contentStyle = options.contentStyle;
    var isHeaderInModal = isAndroid ? false : presentation !== 'card' && headerShown === true && header === undefined;
    var headerShownPreviousRef = React.useRef(headerShown);
    React.useEffect(function () {
      (0, _warnOnce.default)(!isAndroid && presentation !== 'card' && headerShownPreviousRef.current !== headerShown, "Dynamically changing 'headerShown' in modals will result in remounting the screen and losing all local state. See options for the screen '" + route.name + "'.");
      headerShownPreviousRef.current = headerShown;
    }, [headerShown, presentation, route.name]);
    var content = React.createElement(_DebugContainer.default, {
      style: [styles.container, presentation !== 'transparentModal' && presentation !== 'containedTransparentModal' && {
        backgroundColor: colors.background
      }, contentStyle],
      stackPresentation: presentation === 'card' ? 'push' : presentation
    }, children);

    if (isHeaderInModal) {
      return React.createElement(_$$_REQUIRE(_dependencyMap[9]).ScreenStack, {
        style: styles.container
      }, React.createElement(_$$_REQUIRE(_dependencyMap[9]).Screen, {
        enabled: true,
        style: _reactNative.StyleSheet.absoluteFill
      }, React.createElement(_HeaderConfig.default, (0, _extends2.default)({}, options, {
        route: route,
        headerHeight: headerHeight,
        canGoBack: true
      })), content));
    }

    return content;
  };

  var SceneView = function SceneView(_ref2) {
    var descriptor = _ref2.descriptor,
        previousDescriptor = _ref2.previousDescriptor,
        index = _ref2.index,
        onWillDisappear = _ref2.onWillDisappear,
        onAppear = _ref2.onAppear,
        onDisappear = _ref2.onDisappear,
        onDismissed = _ref2.onDismissed;
    var route = descriptor.route,
        navigation = descriptor.navigation,
        options = descriptor.options,
        render = descriptor.render;
    var animation = options.animation,
        _options$animationTyp = options.animationTypeForReplace,
        animationTypeForReplace = _options$animationTyp === undefined ? 'push' : _options$animationTyp,
        customAnimationOnGesture = options.customAnimationOnGesture,
        fullScreenGestureEnabled = options.fullScreenGestureEnabled,
        gestureEnabled = options.gestureEnabled,
        header = options.header,
        headerShown = options.headerShown,
        orientation = options.orientation,
        statusBarAnimation = options.statusBarAnimation,
        statusBarHidden = options.statusBarHidden,
        statusBarStyle = options.statusBarStyle;
    var _options$presentation = options.presentation,
        presentation = _options$presentation === undefined ? 'card' : _options$presentation;

    if (index === 0) {
      presentation = 'card';
    }

    var isHeaderInPush = isAndroid ? headerShown : presentation === 'card' && headerShown !== false;
    var insets = (0, _$$_REQUIRE(_dependencyMap[10]).useSafeAreaInsets)();
    var frame = (0, _$$_REQUIRE(_dependencyMap[10]).useSafeAreaFrame)();
    var isModal = presentation === 'modal' || presentation === 'formSheet';
    var isIPhone = _reactNative.Platform.OS === 'ios' && !(_reactNative.Platform.isPad && _reactNative.Platform.isTVOS);
    var isLandscape = frame.width > frame.height;
    var topInset = isModal || isIPhone && isLandscape ? 0 : insets.top;
    var isParentHeaderShown = React.useContext(_$$_REQUIRE(_dependencyMap[11]).HeaderShownContext);
    var parentHeaderHeight = React.useContext(_$$_REQUIRE(_dependencyMap[11]).HeaderHeightContext);
    var defaultHeaderHeight = (0, _$$_REQUIRE(_dependencyMap[11]).getDefaultHeaderHeight)(frame, isModal, topInset);

    var _React$useState = React.useState(defaultHeaderHeight),
        _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
        customHeaderHeight = _React$useState2[0],
        setCustomHeaderHeight = _React$useState2[1];

    var headerHeight = header ? customHeaderHeight : defaultHeaderHeight;
    return React.createElement(_$$_REQUIRE(_dependencyMap[9]).Screen, {
      key: route.key,
      enabled: true,
      style: _reactNative.StyleSheet.absoluteFill,
      customAnimationOnSwipe: customAnimationOnGesture,
      fullScreenSwipeEnabled: fullScreenGestureEnabled,
      gestureEnabled: isAndroid ? false : gestureEnabled,
      replaceAnimation: animationTypeForReplace,
      stackPresentation: presentation === 'card' ? 'push' : presentation,
      stackAnimation: animation,
      screenOrientation: orientation,
      statusBarAnimation: statusBarAnimation,
      statusBarHidden: statusBarHidden,
      statusBarStyle: statusBarStyle,
      onWillDisappear: onWillDisappear,
      onAppear: onAppear,
      onDisappear: onDisappear,
      onDismissed: onDismissed,
      isNativeStack: true
    }, React.createElement(_$$_REQUIRE(_dependencyMap[8]).NavigationContext.Provider, {
      value: navigation
    }, React.createElement(_$$_REQUIRE(_dependencyMap[8]).NavigationRouteContext.Provider, {
      value: route
    }, React.createElement(_$$_REQUIRE(_dependencyMap[11]).HeaderShownContext.Provider, {
      value: isParentHeaderShown || isHeaderInPush !== false
    }, React.createElement(_$$_REQUIRE(_dependencyMap[11]).HeaderHeightContext.Provider, {
      value: isHeaderInPush !== false ? headerHeight : parentHeaderHeight != null ? parentHeaderHeight : 0
    }, header !== undefined && headerShown !== false ? React.createElement(_reactNative.View, {
      onLayout: function onLayout(e) {
        setCustomHeaderHeight(e.nativeEvent.layout.height);
      }
    }, header({
      back: previousDescriptor ? {
        title: (0, _$$_REQUIRE(_dependencyMap[11]).getHeaderTitle)(previousDescriptor.options, previousDescriptor.route.name)
      } : undefined,
      options: options,
      route: route,
      navigation: navigation
    })) : React.createElement(_HeaderConfig.default, (0, _extends2.default)({}, options, {
      route: route,
      headerShown: isHeaderInPush,
      headerHeight: headerHeight,
      canGoBack: index !== 0
    })), React.createElement(MaybeNestedStack, {
      options: options,
      route: route,
      presentation: presentation,
      headerHeight: headerHeight
    }, render()))))));
  };

  function NativeStackViewInner(_ref3) {
    var _state$routes$find;

    var state = _ref3.state,
        navigation = _ref3.navigation,
        descriptors = _ref3.descriptors;

    var _React$useState3 = React.useState(null),
        _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
        nextDismissedKey = _React$useState4[0],
        setNextDismissedKey = _React$useState4[1];

    var dismissedRouteName = nextDismissedKey ? (_state$routes$find = state.routes.find(function (route) {
      return route.key === nextDismissedKey;
    })) == null ? undefined : _state$routes$find.name : null;
    React.useEffect(function () {
      if (dismissedRouteName) {
        var message = "The screen '" + dismissedRouteName + "' was removed natively but didn't get removed from JS state. " + "This can happen if the action was prevented in a 'beforeRemove' listener, which is not fully supported in native-stack.\n\n" + "Consider using 'gestureEnabled: false' to prevent back gesture and use a custom back button with 'headerLeft' option to override the native behavior.";
        console.error(message);
      }
    }, [dismissedRouteName]);
    return React.createElement(_$$_REQUIRE(_dependencyMap[9]).ScreenStack, {
      style: styles.container
    }, state.routes.map(function (route, index) {
      var _state$routes;

      var descriptor = descriptors[route.key];
      var previousKey = (_state$routes = state.routes[index - 1]) == null ? undefined : _state$routes.key;
      var previousDescriptor = previousKey ? descriptors[previousKey] : undefined;
      return React.createElement(SceneView, {
        key: route.key,
        index: index,
        descriptor: descriptor,
        previousDescriptor: previousDescriptor,
        onWillDisappear: function onWillDisappear() {
          navigation.emit({
            type: 'transitionStart',
            data: {
              closing: true
            },
            target: route.key
          });
        },
        onAppear: function onAppear() {
          navigation.emit({
            type: 'transitionEnd',
            data: {
              closing: false
            },
            target: route.key
          });
        },
        onDisappear: function onDisappear() {
          navigation.emit({
            type: 'transitionEnd',
            data: {
              closing: true
            },
            target: route.key
          });
        },
        onDismissed: function onDismissed(event) {
          navigation.dispatch((0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[8]).StackActions.pop(event.nativeEvent.dismissCount), {
            source: route.key,
            target: state.key
          }));
          setNextDismissedKey(route.key);
        }
      });
    }));
  }

  function NativeStackView(props) {
    return React.createElement(_$$_REQUIRE(_dependencyMap[11]).SafeAreaProviderCompat, null, React.createElement(NativeStackViewInner, props));
  }

  var styles = _reactNative.StyleSheet.create({
    container: {
      flex: 1
    }
  });
},1914,[5,41,6,17,28,1141,1915,1916,1002,1200,1148,1165]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _AppContainer = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Container = _reactNative.View;
  var _default = Container;
  exports.default = _default;
},1915,[5,108,17,28,358]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = HeaderConfig;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function HeaderConfig(_ref) {
    var _ref2, _headerTitleStyleFlat, _headerStyleFlattened;

    var headerHeight = _ref.headerHeight,
        headerBackImageSource = _ref.headerBackImageSource,
        headerBackButtonMenuEnabled = _ref.headerBackButtonMenuEnabled,
        headerBackTitle = _ref.headerBackTitle,
        headerBackTitleStyle = _ref.headerBackTitleStyle,
        _ref$headerBackTitleV = _ref.headerBackTitleVisible,
        headerBackTitleVisible = _ref$headerBackTitleV === undefined ? true : _ref$headerBackTitleV,
        headerBackVisible = _ref.headerBackVisible,
        headerShadowVisible = _ref.headerShadowVisible,
        headerLargeStyle = _ref.headerLargeStyle,
        headerLargeTitle = _ref.headerLargeTitle,
        headerLargeTitleShadowVisible = _ref.headerLargeTitleShadowVisible,
        headerLargeTitleStyle = _ref.headerLargeTitleStyle,
        headerBackground = _ref.headerBackground,
        headerLeft = _ref.headerLeft,
        headerRight = _ref.headerRight,
        headerShown = _ref.headerShown,
        headerStyle = _ref.headerStyle,
        headerBlurEffect = _ref.headerBlurEffect,
        headerTintColor = _ref.headerTintColor,
        headerTitle = _ref.headerTitle,
        headerTitleAlign = _ref.headerTitleAlign,
        headerTitleStyle = _ref.headerTitleStyle,
        headerTransparent = _ref.headerTransparent,
        headerSearchBarOptions = _ref.headerSearchBarOptions,
        route = _ref.route,
        title = _ref.title,
        canGoBack = _ref.canGoBack,
        orientation = _ref.orientation;
    var insets = (0, _$$_REQUIRE(_dependencyMap[4]).useSafeAreaInsets)();

    var _useTheme = (0, _$$_REQUIRE(_dependencyMap[5]).useTheme)(),
        colors = _useTheme.colors;

    var tintColor = headerTintColor != null ? headerTintColor : _reactNative.Platform.OS === 'ios' ? colors.primary : colors.text;
    var headerBackTitleStyleFlattened = _reactNative.StyleSheet.flatten(headerBackTitleStyle) || {};
    var headerLargeTitleStyleFlattened = _reactNative.StyleSheet.flatten(headerLargeTitleStyle) || {};
    var headerTitleStyleFlattened = _reactNative.StyleSheet.flatten(headerTitleStyle) || {};
    var headerStyleFlattened = _reactNative.StyleSheet.flatten(headerStyle) || {};
    var headerLargeStyleFlattened = _reactNative.StyleSheet.flatten(headerLargeStyle) || {};

    var _processFonts = (0, _$$_REQUIRE(_dependencyMap[6]).processFonts)([headerBackTitleStyleFlattened.fontFamily, headerLargeTitleStyleFlattened.fontFamily, headerTitleStyleFlattened.fontFamily]),
        _processFonts2 = (0, _slicedToArray2.default)(_processFonts, 3),
        backTitleFontFamily = _processFonts2[0],
        largeTitleFontFamily = _processFonts2[1],
        titleFontFamily = _processFonts2[2];

    var titleText = title !== undefined ? title : route.name;
    var titleColor = (_ref2 = (_headerTitleStyleFlat = headerTitleStyleFlattened.color) != null ? _headerTitleStyleFlat : headerTintColor) != null ? _ref2 : colors.text;
    var titleFontSize = headerTitleStyleFlattened.fontSize;
    var titleFontWeight = headerTitleStyleFlattened.fontWeight;
    var headerTitleStyleSupported = {
      color: titleColor
    };

    if (headerTitleStyleFlattened.fontFamily != null) {
      headerTitleStyleSupported.fontFamily = headerTitleStyleFlattened.fontFamily;
    }

    if (titleFontSize != null) {
      headerTitleStyleSupported.fontSize = titleFontSize;
    }

    if (titleFontWeight != null) {
      headerTitleStyleSupported.fontWeight = titleFontWeight;
    }

    var headerLeftElement = headerLeft == null ? undefined : headerLeft({
      tintColor: tintColor,
      canGoBack: canGoBack,
      label: headerBackTitle
    });
    var headerRightElement = headerRight == null ? undefined : headerRight({
      tintColor: tintColor,
      canGoBack: canGoBack
    });
    var headerTitleElement = typeof headerTitle === 'function' ? headerTitle({
      tintColor: tintColor,
      children: titleText
    }) : null;
    var supportsHeaderSearchBar = typeof _$$_REQUIRE(_dependencyMap[7]).isSearchBarAvailableForCurrentPlatform === 'boolean' ? _$$_REQUIRE(_dependencyMap[7]).isSearchBarAvailableForCurrentPlatform : _reactNative.Platform.OS === 'ios' && _$$_REQUIRE(_dependencyMap[7]).SearchBar != null;
    var hasHeaderSearchBar = supportsHeaderSearchBar && headerSearchBarOptions != null;

    if (headerSearchBarOptions != null && !supportsHeaderSearchBar) {
      throw new Error("The current version of 'react-native-screens' doesn't support SearchBar in the header. Please update to the latest version to use this option.");
    }

    var backButtonInCustomView = headerBackVisible ? headerLeftElement != null : _reactNative.Platform.OS === 'android' && headerTitleElement != null;
    var translucent = headerBackground != null || headerTransparent || (hasHeaderSearchBar || headerLargeTitle) && _reactNative.Platform.OS === 'ios' && headerTransparent !== false;
    return React.createElement(React.Fragment, null, headerBackground != null ? React.createElement(_reactNative.View, {
      style: [styles.background, headerTransparent ? styles.translucent : null, {
        height: headerHeight
      }]
    }, headerBackground()) : null, React.createElement(_$$_REQUIRE(_dependencyMap[7]).ScreenStackHeaderConfig, {
      backButtonInCustomView: backButtonInCustomView,
      backgroundColor: (_headerStyleFlattened = headerStyleFlattened.backgroundColor) != null ? _headerStyleFlattened : headerBackground != null || headerTransparent ? 'transparent' : colors.card,
      backTitle: headerBackTitleVisible ? headerBackTitle : ' ',
      backTitleFontFamily: backTitleFontFamily,
      backTitleFontSize: headerBackTitleStyleFlattened.fontSize,
      blurEffect: headerBlurEffect,
      color: tintColor,
      direction: _reactNative.I18nManager.isRTL ? 'rtl' : 'ltr',
      disableBackButtonMenu: headerBackButtonMenuEnabled === false,
      hidden: headerShown === false,
      hideBackButton: headerBackVisible === false,
      hideShadow: headerShadowVisible === false || headerBackground != null || headerTransparent,
      largeTitle: headerLargeTitle,
      largeTitleBackgroundColor: headerLargeStyleFlattened.backgroundColor,
      largeTitleColor: headerLargeTitleStyleFlattened.color,
      largeTitleFontFamily: largeTitleFontFamily,
      largeTitleFontSize: headerLargeTitleStyleFlattened.fontSize,
      largeTitleFontWeight: headerLargeTitleStyleFlattened.fontWeight,
      largeTitleHideShadow: headerLargeTitleShadowVisible === false,
      title: typeof headerTitle === 'string' ? headerTitle : titleText,
      titleColor: titleColor,
      titleFontFamily: titleFontFamily,
      titleFontSize: titleFontSize,
      titleFontWeight: titleFontWeight,
      topInsetEnabled: insets.top !== 0,
      translucent: translucent === true,
      screenOrientation: orientation
    }, _reactNative.Platform.OS === 'ios' ? React.createElement(React.Fragment, null, headerLeftElement != null ? React.createElement(_$$_REQUIRE(_dependencyMap[7]).ScreenStackHeaderLeftView, null, headerLeftElement) : null, headerTitleElement != null ? React.createElement(_$$_REQUIRE(_dependencyMap[7]).ScreenStackHeaderCenterView, null, headerTitleElement) : null) : React.createElement(React.Fragment, null, headerLeftElement != null || typeof headerTitle === 'function' ? React.createElement(_$$_REQUIRE(_dependencyMap[7]).ScreenStackHeaderLeftView, null, React.createElement(_reactNative.View, {
      style: styles.row
    }, headerLeftElement, headerTitleAlign !== 'center' ? typeof headerTitle === 'function' ? headerTitleElement : React.createElement(_$$_REQUIRE(_dependencyMap[8]).HeaderTitle, {
      tintColor: tintColor,
      style: headerTitleStyleSupported
    }, titleText) : null)) : null, headerTitleAlign === 'center' ? React.createElement(_$$_REQUIRE(_dependencyMap[7]).ScreenStackHeaderCenterView, null, typeof headerTitle === 'function' ? headerTitleElement : React.createElement(_$$_REQUIRE(_dependencyMap[8]).HeaderTitle, {
      tintColor: tintColor,
      style: headerTitleStyleSupported
    }, titleText)) : null), headerBackImageSource !== undefined ? React.createElement(_$$_REQUIRE(_dependencyMap[7]).ScreenStackHeaderBackButtonImage, {
      source: headerBackImageSource
    }) : null, headerRightElement != null ? React.createElement(_$$_REQUIRE(_dependencyMap[7]).ScreenStackHeaderRightView, null, headerRightElement) : null, hasHeaderSearchBar ? React.createElement(_$$_REQUIRE(_dependencyMap[7]).ScreenStackHeaderSearchBarView, null, React.createElement(_$$_REQUIRE(_dependencyMap[7]).SearchBar, headerSearchBarOptions)) : null));
  }

  var styles = _reactNative.StyleSheet.create({
    row: {
      flexDirection: 'row',
      alignItems: 'center'
    },
    translucent: {
      position: 'absolute',
      top: 0,
      left: 0,
      right: 0,
      zIndex: 1
    },
    background: {
      overflow: 'hidden'
    }
  });
},1916,[5,41,17,28,1148,1002,1917,1200,1165]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.processFonts = processFonts;

  var _ReactNativeStyleAttributes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function processFonts(fontFamilies) {
    var _ReactNativeStyleAttr;

    var fontFamilyProcessor = (_ReactNativeStyleAttr = _ReactNativeStyleAttributes.default.fontFamily) == null ? undefined : _ReactNativeStyleAttr.process;

    if (typeof fontFamilyProcessor === 'function') {
      return fontFamilies.map(fontFamilyProcessor);
    }

    return fontFamilies;
  }
},1917,[5,162]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "createBottomTabNavigator", {
    enumerable: true,
    get: function get() {
      return _createBottomTabNavigator.default;
    }
  });
  Object.defineProperty(exports, "BottomTabBar", {
    enumerable: true,
    get: function get() {
      return _BottomTabBar.default;
    }
  });
  Object.defineProperty(exports, "BottomTabView", {
    enumerable: true,
    get: function get() {
      return _BottomTabView.default;
    }
  });
  Object.defineProperty(exports, "BottomTabBarHeightContext", {
    enumerable: true,
    get: function get() {
      return _BottomTabBarHeightContext.default;
    }
  });
  Object.defineProperty(exports, "useBottomTabBarHeight", {
    enumerable: true,
    get: function get() {
      return _useBottomTabBarHeight.default;
    }
  });

  var _createBottomTabNavigator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _BottomTabBar = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _BottomTabView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _BottomTabBarHeightContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _useBottomTabBarHeight = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));
},1918,[5,1919,1923,1920,1922,1929]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _warnOnce = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _BottomTabView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function BottomTabNavigator(_ref) {
    var initialRouteName = _ref.initialRouteName,
        backBehavior = _ref.backBehavior,
        children = _ref.children,
        screenListeners = _ref.screenListeners,
        screenOptions = _ref.screenOptions,
        sceneContainerStyle = _ref.sceneContainerStyle,
        restWithDeprecated = (0, _objectWithoutProperties2.default)(_ref, ["initialRouteName", "backBehavior", "children", "screenListeners", "screenOptions", "sceneContainerStyle"]);
    var lazy = restWithDeprecated.lazy,
        tabBarOptions = restWithDeprecated.tabBarOptions,
        rest = (0, _objectWithoutProperties2.default)(restWithDeprecated, ["lazy", "tabBarOptions"]);
    var defaultScreenOptions = {};

    if (tabBarOptions) {
      var _tabBarOptions$labelP;

      (0, _extends2.default)(defaultScreenOptions, {
        tabBarHideOnKeyboard: tabBarOptions.keyboardHidesTabBar,
        tabBarActiveTintColor: tabBarOptions.activeTintColor,
        tabBarInactiveTintColor: tabBarOptions.inactiveTintColor,
        tabBarActiveBackgroundColor: tabBarOptions.activeBackgroundColor,
        tabBarInactiveBackgroundColor: tabBarOptions.inactiveBackgroundColor,
        tabBarAllowFontScaling: tabBarOptions.allowFontScaling,
        tabBarShowLabel: tabBarOptions.showLabel,
        tabBarLabelStyle: tabBarOptions.labelStyle,
        tabBarIconStyle: tabBarOptions.iconStyle,
        tabBarItemStyle: tabBarOptions.tabStyle,
        tabBarLabelPosition: (_tabBarOptions$labelP = tabBarOptions.labelPosition) != null ? _tabBarOptions$labelP : tabBarOptions.adaptive === false ? 'below-icon' : undefined,
        tabBarStyle: [{
          display: tabBarOptions.tabBarVisible ? 'none' : 'flex'
        }, defaultScreenOptions.tabBarStyle]
      });
      Object.keys(defaultScreenOptions).forEach(function (key) {
        if (defaultScreenOptions[key] === undefined) {
          delete defaultScreenOptions[key];
        }
      });
      (0, _warnOnce.default)(tabBarOptions, "Bottom Tab Navigator: 'tabBarOptions' is deprecated. Migrate the options to 'screenOptions' instead.\n\nPlace the following in 'screenOptions' in your code to keep current behavior:\n\n" + JSON.stringify(defaultScreenOptions, null, 2) + "\n\nSee https://reactnavigation.org/docs/bottom-tab-navigator#options for more details.");
    }

    if (typeof lazy === 'boolean') {
      defaultScreenOptions.lazy = lazy;
      (0, _warnOnce.default)(true, "Bottom Tab Navigator: 'lazy' in props is deprecated. Move it to 'screenOptions' instead.\n\nSee https://reactnavigation.org/docs/bottom-tab-navigator/#lazy for more details.");
    }

    var _useNavigationBuilder = (0, _$$_REQUIRE(_dependencyMap[6]).useNavigationBuilder)(_$$_REQUIRE(_dependencyMap[6]).TabRouter, {
      initialRouteName: initialRouteName,
      backBehavior: backBehavior,
      children: children,
      screenListeners: screenListeners,
      screenOptions: screenOptions,
      defaultScreenOptions: defaultScreenOptions
    }),
        state = _useNavigationBuilder.state,
        descriptors = _useNavigationBuilder.descriptors,
        navigation = _useNavigationBuilder.navigation,
        NavigationContent = _useNavigationBuilder.NavigationContent;

    return React.createElement(NavigationContent, null, React.createElement(_BottomTabView.default, (0, _extends2.default)({}, rest, {
      state: state,
      navigation: navigation,
      descriptors: descriptors,
      sceneContainerStyle: sceneContainerStyle
    })));
  }

  var _default = (0, _$$_REQUIRE(_dependencyMap[6]).createNavigatorFactory)(BottomTabNavigator);

  exports.default = _default;
},1919,[5,6,108,17,1141,1920,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = BottomTabView;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _BottomTabBarHeightCallbackContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _BottomTabBarHeightContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _BottomTabBar = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function BottomTabView(props) {
    var _props$tabBar = props.tabBar,
        tabBar = _props$tabBar === undefined ? function (props) {
      return React.createElement(_BottomTabBar.default, props);
    } : _props$tabBar,
        state = props.state,
        navigation = props.navigation,
        descriptors = props.descriptors,
        safeAreaInsets = props.safeAreaInsets,
        _props$detachInactive = props.detachInactiveScreens,
        detachInactiveScreens = _props$detachInactive === undefined ? _reactNative.Platform.OS === 'web' || _reactNative.Platform.OS === 'android' || _reactNative.Platform.OS === 'ios' : _props$detachInactive,
        sceneContainerStyle = props.sceneContainerStyle;
    var focusedRouteKey = state.routes[state.index].key;

    var _React$useState = React.useState([focusedRouteKey]),
        _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
        loaded = _React$useState2[0],
        setLoaded = _React$useState2[1];

    if (!loaded.includes(focusedRouteKey)) {
      setLoaded([].concat((0, _toConsumableArray2.default)(loaded), [focusedRouteKey]));
    }

    var dimensions = _$$_REQUIRE(_dependencyMap[9]).SafeAreaProviderCompat.initialMetrics.frame;

    var _React$useState3 = React.useState(function () {
      return (0, _BottomTabBar.getTabBarHeight)({
        state: state,
        descriptors: descriptors,
        dimensions: dimensions,
        layout: {
          width: dimensions.width,
          height: 0
        },
        insets: (0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[9]).SafeAreaProviderCompat.initialMetrics.insets, props.safeAreaInsets),
        style: descriptors[state.routes[state.index].key].options.tabBarStyle
      });
    }),
        _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
        tabBarHeight = _React$useState4[0],
        setTabBarHeight = _React$useState4[1];

    var renderTabBar = function renderTabBar() {
      return React.createElement(_$$_REQUIRE(_dependencyMap[10]).SafeAreaInsetsContext.Consumer, null, function (insets) {
        var _ref, _safeAreaInsets$top, _ref2, _safeAreaInsets$right, _ref3, _safeAreaInsets$botto, _ref4, _safeAreaInsets$left;

        return tabBar({
          state: state,
          descriptors: descriptors,
          navigation: navigation,
          insets: {
            top: (_ref = (_safeAreaInsets$top = safeAreaInsets == null ? undefined : safeAreaInsets.top) != null ? _safeAreaInsets$top : insets == null ? undefined : insets.top) != null ? _ref : 0,
            right: (_ref2 = (_safeAreaInsets$right = safeAreaInsets == null ? undefined : safeAreaInsets.right) != null ? _safeAreaInsets$right : insets == null ? undefined : insets.right) != null ? _ref2 : 0,
            bottom: (_ref3 = (_safeAreaInsets$botto = safeAreaInsets == null ? undefined : safeAreaInsets.bottom) != null ? _safeAreaInsets$botto : insets == null ? undefined : insets.bottom) != null ? _ref3 : 0,
            left: (_ref4 = (_safeAreaInsets$left = safeAreaInsets == null ? undefined : safeAreaInsets.left) != null ? _safeAreaInsets$left : insets == null ? undefined : insets.left) != null ? _ref4 : 0
          }
        });
      });
    };

    var routes = state.routes;
    return React.createElement(_$$_REQUIRE(_dependencyMap[9]).SafeAreaProviderCompat, null, React.createElement(_$$_REQUIRE(_dependencyMap[11]).MaybeScreenContainer, {
      enabled: detachInactiveScreens,
      hasTwoStates: true,
      style: styles.container
    }, routes.map(function (route, index) {
      var descriptor = descriptors[route.key];
      var _descriptor$options = descriptor.options,
          _descriptor$options$l = _descriptor$options.lazy,
          lazy = _descriptor$options$l === undefined ? true : _descriptor$options$l,
          unmountOnBlur = _descriptor$options.unmountOnBlur;
      var isFocused = state.index === index;

      if (unmountOnBlur && !isFocused) {
        return null;
      }

      if (lazy && !loaded.includes(route.key) && !isFocused) {
        return null;
      }

      var _descriptor$options$h = descriptor.options.header,
          header = _descriptor$options$h === undefined ? function (_ref5) {
        var layout = _ref5.layout,
            options = _ref5.options;
        return React.createElement(_$$_REQUIRE(_dependencyMap[9]).Header, (0, _extends2.default)({}, options, {
          layout: layout,
          title: (0, _$$_REQUIRE(_dependencyMap[9]).getHeaderTitle)(options, route.name)
        }));
      } : _descriptor$options$h;
      return React.createElement(_$$_REQUIRE(_dependencyMap[11]).MaybeScreen, {
        key: route.key,
        style: [_reactNative.StyleSheet.absoluteFill, {
          zIndex: isFocused ? 0 : -1
        }],
        visible: isFocused,
        enabled: detachInactiveScreens
      }, React.createElement(_BottomTabBarHeightContext.default.Provider, {
        value: tabBarHeight
      }, React.createElement(_$$_REQUIRE(_dependencyMap[9]).Screen, {
        focused: isFocused,
        route: descriptor.route,
        navigation: descriptor.navigation,
        headerShown: descriptor.options.headerShown,
        headerTransparent: descriptor.options.headerTransparent,
        headerStatusBarHeight: descriptor.options.headerStatusBarHeight,
        header: header({
          layout: dimensions,
          route: descriptor.route,
          navigation: descriptor.navigation,
          options: descriptor.options
        }),
        style: sceneContainerStyle
      }, descriptor.render())));
    })), React.createElement(_BottomTabBarHeightCallbackContext.default.Provider, {
      value: setTabBarHeight
    }, renderTabBar()));
  }

  var styles = _reactNative.StyleSheet.create({
    container: {
      flex: 1,
      overflow: 'hidden'
    }
  });
},1920,[5,6,21,41,17,28,1921,1922,1923,1165,1148,1928]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = React.createContext(undefined);

  exports.default = _default;
},1921,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _default = React.createContext(undefined);

  exports.default = _default;
},1922,[17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = BottomTabBar;
  exports.getTabBarHeight = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _BottomTabBarHeightCallbackContext = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _useIsKeyboardShown = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _BottomTabItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var DEFAULT_TABBAR_HEIGHT = 49;
  var COMPACT_TABBAR_HEIGHT = 32;
  var DEFAULT_MAX_TAB_ITEM_WIDTH = 125;
  var useNativeDriver = _reactNative.Platform.OS !== 'web';

  var shouldUseHorizontalLabels = function shouldUseHorizontalLabels(_ref) {
    var state = _ref.state,
        descriptors = _ref.descriptors,
        layout = _ref.layout,
        dimensions = _ref.dimensions;
    var tabBarLabelPosition = descriptors[state.routes[state.index].key].options.tabBarLabelPosition;

    if (tabBarLabelPosition) {
      switch (tabBarLabelPosition) {
        case 'beside-icon':
          return true;

        case 'below-icon':
          return false;
      }
    }

    if (layout.width >= 768) {
      var maxTabWidth = state.routes.reduce(function (acc, route) {
        var tabBarItemStyle = descriptors[route.key].options.tabBarItemStyle;

        var flattenedStyle = _reactNative.StyleSheet.flatten(tabBarItemStyle);

        if (flattenedStyle) {
          if (typeof flattenedStyle.width === 'number') {
            return acc + flattenedStyle.width;
          } else if (typeof flattenedStyle.maxWidth === 'number') {
            return acc + flattenedStyle.maxWidth;
          }
        }

        return acc + DEFAULT_MAX_TAB_ITEM_WIDTH;
      }, 0);
      return maxTabWidth <= layout.width;
    } else {
      return dimensions.width > dimensions.height;
    }
  };

  var getPaddingBottom = function getPaddingBottom(insets) {
    return Math.max(insets.bottom - _reactNative.Platform.select({
      ios: 4,
      default: 0
    }), 0);
  };

  var getTabBarHeight = function getTabBarHeight(_ref2) {
    var _StyleSheet$flatten;

    var state = _ref2.state,
        descriptors = _ref2.descriptors,
        dimensions = _ref2.dimensions,
        insets = _ref2.insets,
        style = _ref2.style,
        rest = (0, _objectWithoutProperties2.default)(_ref2, ["state", "descriptors", "dimensions", "insets", "style"]);
    var customHeight = (_StyleSheet$flatten = _reactNative.StyleSheet.flatten(style)) == null ? undefined : _StyleSheet$flatten.height;

    if (typeof customHeight === 'number') {
      return customHeight;
    }

    var isLandscape = dimensions.width > dimensions.height;
    var horizontalLabels = shouldUseHorizontalLabels((0, _extends2.default)({
      state: state,
      descriptors: descriptors,
      dimensions: dimensions
    }, rest));
    var paddingBottom = getPaddingBottom(insets);

    if (_reactNative.Platform.OS === 'ios' && !_reactNative.Platform.isPad && isLandscape && horizontalLabels) {
      return COMPACT_TABBAR_HEIGHT + paddingBottom;
    }

    return DEFAULT_TABBAR_HEIGHT + paddingBottom;
  };

  exports.getTabBarHeight = getTabBarHeight;

  function BottomTabBar(_ref3) {
    var state = _ref3.state,
        navigation = _ref3.navigation,
        descriptors = _ref3.descriptors,
        insets = _ref3.insets,
        style = _ref3.style;

    var _useTheme = (0, _$$_REQUIRE(_dependencyMap[9]).useTheme)(),
        colors = _useTheme.colors;

    var buildLink = (0, _$$_REQUIRE(_dependencyMap[9]).useLinkBuilder)();
    var focusedRoute = state.routes[state.index];
    var focusedDescriptor = descriptors[focusedRoute.key];
    var focusedOptions = focusedDescriptor.options;
    var tabBarShowLabel = focusedOptions.tabBarShowLabel,
        _focusedOptions$tabBa = focusedOptions.tabBarHideOnKeyboard,
        tabBarHideOnKeyboard = _focusedOptions$tabBa === undefined ? false : _focusedOptions$tabBa,
        tabBarVisibilityAnimationConfig = focusedOptions.tabBarVisibilityAnimationConfig,
        tabBarStyle = focusedOptions.tabBarStyle,
        tabBarBackground = focusedOptions.tabBarBackground,
        tabBarActiveTintColor = focusedOptions.tabBarActiveTintColor,
        tabBarInactiveTintColor = focusedOptions.tabBarInactiveTintColor,
        tabBarActiveBackgroundColor = focusedOptions.tabBarActiveBackgroundColor,
        tabBarInactiveBackgroundColor = focusedOptions.tabBarInactiveBackgroundColor;
    var dimensions = (0, _$$_REQUIRE(_dependencyMap[10]).useSafeAreaFrame)();
    var isKeyboardShown = (0, _useIsKeyboardShown.default)();

    var onHeightChange = _react.default.useContext(_BottomTabBarHeightCallbackContext.default);

    var shouldShowTabBar = !(tabBarHideOnKeyboard && isKeyboardShown);

    var visibilityAnimationConfigRef = _react.default.useRef(tabBarVisibilityAnimationConfig);

    _react.default.useEffect(function () {
      visibilityAnimationConfigRef.current = tabBarVisibilityAnimationConfig;
    });

    var _React$useState = _react.default.useState(!shouldShowTabBar),
        _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
        isTabBarHidden = _React$useState2[0],
        setIsTabBarHidden = _React$useState2[1];

    var _React$useState3 = _react.default.useState(function () {
      return new _reactNative.Animated.Value(shouldShowTabBar ? 1 : 0);
    }),
        _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 1),
        visible = _React$useState4[0];

    _react.default.useEffect(function () {
      var visibilityAnimationConfig = visibilityAnimationConfigRef.current;

      if (shouldShowTabBar) {
        var _visibilityAnimationC, _visibilityAnimationC2;

        var animation = (visibilityAnimationConfig == null ? undefined : (_visibilityAnimationC = visibilityAnimationConfig.show) == null ? undefined : _visibilityAnimationC.animation) === 'spring' ? _reactNative.Animated.spring : _reactNative.Animated.timing;
        animation(visible, (0, _extends2.default)({
          toValue: 1,
          useNativeDriver: useNativeDriver,
          duration: 250
        }, visibilityAnimationConfig == null ? undefined : (_visibilityAnimationC2 = visibilityAnimationConfig.show) == null ? undefined : _visibilityAnimationC2.config)).start(function (_ref4) {
          var finished = _ref4.finished;

          if (finished) {
            setIsTabBarHidden(false);
          }
        });
      } else {
        var _visibilityAnimationC3, _visibilityAnimationC4;

        setIsTabBarHidden(true);

        var _animation = (visibilityAnimationConfig == null ? undefined : (_visibilityAnimationC3 = visibilityAnimationConfig.hide) == null ? undefined : _visibilityAnimationC3.animation) === 'spring' ? _reactNative.Animated.spring : _reactNative.Animated.timing;

        _animation(visible, (0, _extends2.default)({
          toValue: 0,
          useNativeDriver: useNativeDriver,
          duration: 200
        }, visibilityAnimationConfig == null ? undefined : (_visibilityAnimationC4 = visibilityAnimationConfig.hide) == null ? undefined : _visibilityAnimationC4.config)).start();
      }

      return function () {
        return visible.stopAnimation();
      };
    }, [visible, shouldShowTabBar]);

    var _React$useState5 = _react.default.useState({
      height: 0,
      width: dimensions.width
    }),
        _React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 2),
        layout = _React$useState6[0],
        setLayout = _React$useState6[1];

    var handleLayout = function handleLayout(e) {
      var _e$nativeEvent$layout = e.nativeEvent.layout,
          height = _e$nativeEvent$layout.height,
          width = _e$nativeEvent$layout.width;
      onHeightChange == null ? undefined : onHeightChange(height);
      setLayout(function (layout) {
        if (height === layout.height && width === layout.width) {
          return layout;
        } else {
          return {
            height: height,
            width: width
          };
        }
      });
    };

    var routes = state.routes;
    var paddingBottom = getPaddingBottom(insets);
    var tabBarHeight = getTabBarHeight({
      state: state,
      descriptors: descriptors,
      insets: insets,
      dimensions: dimensions,
      layout: layout,
      style: [tabBarStyle, style]
    });
    var hasHorizontalLabels = shouldUseHorizontalLabels({
      state: state,
      descriptors: descriptors,
      dimensions: dimensions,
      layout: layout
    });
    var tabBarBackgroundElement = tabBarBackground == null ? undefined : tabBarBackground();
    return _react.default.createElement(_reactNative.Animated.View, {
      style: [styles.tabBar, {
        backgroundColor: tabBarBackgroundElement != null ? 'transparent' : colors.card,
        borderTopColor: colors.border
      }, {
        transform: [{
          translateY: visible.interpolate({
            inputRange: [0, 1],
            outputRange: [layout.height + paddingBottom + _reactNative.StyleSheet.hairlineWidth, 0]
          })
        }],
        position: isTabBarHidden ? 'absolute' : null
      }, {
        height: tabBarHeight,
        paddingBottom: paddingBottom,
        paddingHorizontal: Math.max(insets.left, insets.right)
      }, tabBarStyle],
      pointerEvents: isTabBarHidden ? 'none' : 'auto',
      onLayout: handleLayout
    }, _react.default.createElement(_reactNative.View, {
      pointerEvents: "none",
      style: _reactNative.StyleSheet.absoluteFill
    }, tabBarBackgroundElement), _react.default.createElement(_reactNative.View, {
      accessibilityRole: "tablist",
      style: styles.content
    }, routes.map(function (route, index) {
      var _options$tabBarIcon;

      var focused = index === state.index;
      var options = descriptors[route.key].options;

      var onPress = function onPress() {
        var event = navigation.emit({
          type: 'tabPress',
          target: route.key,
          canPreventDefault: true
        });

        if (!focused && !event.defaultPrevented) {
          navigation.dispatch((0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[9]).CommonActions.navigate({
            name: route.name,
            merge: true
          }), {
            target: state.key
          }));
        }
      };

      var onLongPress = function onLongPress() {
        navigation.emit({
          type: 'tabLongPress',
          target: route.key
        });
      };

      var label = options.tabBarLabel !== undefined ? options.tabBarLabel : options.title !== undefined ? options.title : route.name;
      var accessibilityLabel = options.tabBarAccessibilityLabel !== undefined ? options.tabBarAccessibilityLabel : typeof label === 'string' && _reactNative.Platform.OS === 'ios' ? label + ", tab, " + (index + 1) + " of " + routes.length : undefined;
      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).NavigationContext.Provider, {
        key: route.key,
        value: descriptors[route.key].navigation
      }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).NavigationRouteContext.Provider, {
        value: route
      }, _react.default.createElement(_BottomTabItem.default, {
        route: route,
        focused: focused,
        horizontal: hasHorizontalLabels,
        onPress: onPress,
        onLongPress: onLongPress,
        accessibilityLabel: accessibilityLabel,
        to: buildLink(route.name, route.params),
        testID: options.tabBarTestID,
        allowFontScaling: options.tabBarAllowFontScaling,
        activeTintColor: tabBarActiveTintColor,
        inactiveTintColor: tabBarInactiveTintColor,
        activeBackgroundColor: tabBarActiveBackgroundColor,
        inactiveBackgroundColor: tabBarInactiveBackgroundColor,
        button: options.tabBarButton,
        icon: (_options$tabBarIcon = options.tabBarIcon) != null ? _options$tabBarIcon : function (_ref5) {
          var color = _ref5.color,
              size = _ref5.size;
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).MissingIcon, {
            color: color,
            size: size
          });
        },
        badge: options.tabBarBadge,
        badgeStyle: options.tabBarBadgeStyle,
        label: label,
        showLabel: tabBarShowLabel,
        labelStyle: options.tabBarLabelStyle,
        iconStyle: options.tabBarIconStyle,
        style: options.tabBarItemStyle
      })));
    })));
  }

  var styles = _reactNative.StyleSheet.create({
    tabBar: {
      left: 0,
      right: 0,
      bottom: 0,
      borderTopWidth: _reactNative.StyleSheet.hairlineWidth,
      elevation: 8
    },
    content: {
      flex: 1,
      flexDirection: 'row'
    }
  });
},1923,[5,41,6,108,17,28,1921,1924,1925,1002,1148,1165]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useIsKeyboardShown;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useIsKeyboardShown() {
    var _React$useState = React.useState(false),
        _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
        isKeyboardShown = _React$useState2[0],
        setIsKeyboardShown = _React$useState2[1];

    React.useEffect(function () {
      var handleKeyboardShow = function handleKeyboardShow() {
        return setIsKeyboardShown(true);
      };

      var handleKeyboardHide = function handleKeyboardHide() {
        return setIsKeyboardShown(false);
      };

      var subscriptions;

      if (_reactNative.Platform.OS === 'ios') {
        subscriptions = [_reactNative.Keyboard.addListener('keyboardWillShow', handleKeyboardShow), _reactNative.Keyboard.addListener('keyboardWillHide', handleKeyboardHide)];
      } else {
        subscriptions = [_reactNative.Keyboard.addListener('keyboardDidShow', handleKeyboardShow), _reactNative.Keyboard.addListener('keyboardDidHide', handleKeyboardHide)];
      }

      return function () {
        subscriptions.forEach(function (s) {
          return s.remove();
        });
      };
    }, []);
    return isKeyboardShown;
  }
},1924,[5,41,17,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = BottomTabBarItem;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _color = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _TabBarIcon = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function BottomTabBarItem(_ref) {
    var focused = _ref.focused,
        route = _ref.route,
        label = _ref.label,
        icon = _ref.icon,
        badge = _ref.badge,
        badgeStyle = _ref.badgeStyle,
        to = _ref.to,
        _ref$button = _ref.button,
        button = _ref$button === undefined ? function (_ref2) {
      var children = _ref2.children,
          style = _ref2.style,
          _onPress = _ref2.onPress,
          to = _ref2.to,
          accessibilityRole = _ref2.accessibilityRole,
          rest = (0, _objectWithoutProperties2.default)(_ref2, ["children", "style", "onPress", "to", "accessibilityRole"]);

      if (_reactNative.Platform.OS === 'web' && to) {
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[7]).Link, (0, _extends2.default)({}, rest, {
          to: to,
          style: [styles.button, style],
          onPress: function onPress(e) {
            if (!(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) && (e.button == null || e.button === 0)) {
              e.preventDefault();
              _onPress == null ? undefined : _onPress(e);
            }
          }
        }), children);
      } else {
        return _react.default.createElement(_reactNative.Pressable, (0, _extends2.default)({}, rest, {
          accessibilityRole: accessibilityRole,
          onPress: _onPress,
          style: style
        }), children);
      }
    } : _ref$button,
        accessibilityLabel = _ref.accessibilityLabel,
        testID = _ref.testID,
        onPress = _ref.onPress,
        onLongPress = _ref.onLongPress,
        horizontal = _ref.horizontal,
        customActiveTintColor = _ref.activeTintColor,
        customInactiveTintColor = _ref.inactiveTintColor,
        _ref$activeBackground = _ref.activeBackgroundColor,
        activeBackgroundColor = _ref$activeBackground === undefined ? 'transparent' : _ref$activeBackground,
        _ref$inactiveBackgrou = _ref.inactiveBackgroundColor,
        inactiveBackgroundColor = _ref$inactiveBackgrou === undefined ? 'transparent' : _ref$inactiveBackgrou,
        _ref$showLabel = _ref.showLabel,
        showLabel = _ref$showLabel === undefined ? true : _ref$showLabel,
        allowFontScaling = _ref.allowFontScaling,
        labelStyle = _ref.labelStyle,
        iconStyle = _ref.iconStyle,
        style = _ref.style;

    var _useTheme = (0, _$$_REQUIRE(_dependencyMap[7]).useTheme)(),
        colors = _useTheme.colors;

    var activeTintColor = customActiveTintColor === undefined ? colors.primary : customActiveTintColor;
    var inactiveTintColor = customInactiveTintColor === undefined ? (0, _color.default)(colors.text).mix((0, _color.default)(colors.card), 0.5).hex() : customInactiveTintColor;

    var renderLabel = function renderLabel(_ref3) {
      var focused = _ref3.focused;

      if (showLabel === false) {
        return null;
      }

      var color = focused ? activeTintColor : inactiveTintColor;

      if (typeof label === 'string') {
        return _react.default.createElement(_reactNative.Text, {
          numberOfLines: 1,
          style: [styles.label, {
            color: color
          }, horizontal ? styles.labelBeside : styles.labelBeneath, labelStyle],
          allowFontScaling: allowFontScaling
        }, label);
      }

      return label({
        focused: focused,
        color: color,
        position: horizontal ? 'beside-icon' : 'below-icon'
      });
    };

    var renderIcon = function renderIcon(_ref4) {
      var focused = _ref4.focused;

      if (icon === undefined) {
        return null;
      }

      var activeOpacity = focused ? 1 : 0;
      var inactiveOpacity = focused ? 0 : 1;
      return _react.default.createElement(_TabBarIcon.default, {
        route: route,
        horizontal: horizontal,
        badge: badge,
        badgeStyle: badgeStyle,
        activeOpacity: activeOpacity,
        inactiveOpacity: inactiveOpacity,
        activeTintColor: activeTintColor,
        inactiveTintColor: inactiveTintColor,
        renderIcon: icon,
        style: iconStyle
      });
    };

    var scene = {
      route: route,
      focused: focused
    };
    var backgroundColor = focused ? activeBackgroundColor : inactiveBackgroundColor;
    return button({
      to: to,
      onPress: onPress,
      onLongPress: onLongPress,
      testID: testID,
      accessibilityLabel: accessibilityLabel,
      accessibilityRole: _reactNative.Platform.select({
        ios: 'button',
        default: 'tab'
      }),
      accessibilityState: {
        selected: focused
      },
      accessibilityStates: focused ? ['selected'] : [],
      style: [styles.tab, {
        backgroundColor: backgroundColor
      }, horizontal ? styles.tabLandscape : styles.tabPortrait, style],
      children: _react.default.createElement(_react.default.Fragment, null, renderIcon(scene), renderLabel(scene))
    });
  }

  var styles = _reactNative.StyleSheet.create({
    tab: {
      flex: 1,
      alignItems: 'center'
    },
    tabPortrait: {
      justifyContent: 'flex-end',
      flexDirection: 'column'
    },
    tabLandscape: {
      justifyContent: 'center',
      flexDirection: 'row'
    },
    label: {
      textAlign: 'center',
      backgroundColor: 'transparent'
    },
    labelBeneath: {
      fontSize: 10
    },
    labelBeside: {
      fontSize: 13,
      marginLeft: 20,
      marginTop: 3
    },
    button: {
      display: 'flex'
    }
  });
},1925,[5,6,108,1156,17,28,1926,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = TabBarIcon;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var _Badge = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  function TabBarIcon(_ref) {
    var _ = _ref.route,
        horizontal = _ref.horizontal,
        badge = _ref.badge,
        badgeStyle = _ref.badgeStyle,
        activeOpacity = _ref.activeOpacity,
        inactiveOpacity = _ref.inactiveOpacity,
        activeTintColor = _ref.activeTintColor,
        inactiveTintColor = _ref.inactiveTintColor,
        renderIcon = _ref.renderIcon,
        style = _ref.style;
    var size = 25;
    return _react.default.createElement(_reactNative.View, {
      style: [horizontal ? styles.iconHorizontal : styles.iconVertical, style]
    }, _react.default.createElement(_reactNative.View, {
      style: [styles.icon, {
        opacity: activeOpacity
      }]
    }, renderIcon({
      focused: true,
      size: size,
      color: activeTintColor
    })), _react.default.createElement(_reactNative.View, {
      style: [styles.icon, {
        opacity: inactiveOpacity
      }]
    }, renderIcon({
      focused: false,
      size: size,
      color: inactiveTintColor
    })), _react.default.createElement(_Badge.default, {
      visible: badge != null,
      style: [styles.badge, horizontal ? styles.badgeHorizontal : styles.badgeVertical, badgeStyle],
      size: 18.75
    }, badge));
  }

  var styles = _reactNative.StyleSheet.create({
    icon: {
      position: 'absolute',
      alignSelf: 'center',
      alignItems: 'center',
      justifyContent: 'center',
      height: '100%',
      width: '100%',
      minWidth: 25
    },
    iconVertical: {
      flex: 1
    },
    iconHorizontal: {
      height: '100%',
      marginTop: 3
    },
    badge: {
      position: 'absolute',
      left: 3
    },
    badgeVertical: {
      top: 3
    },
    badgeHorizontal: {
      top: 7
    }
  });
},1926,[5,17,28,1927]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = Badge;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _color = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function Badge(_ref) {
    var children = _ref.children,
        style = _ref.style,
        _ref$visible = _ref.visible,
        visible = _ref$visible === undefined ? true : _ref$visible,
        _ref$size = _ref.size,
        size = _ref$size === undefined ? 18 : _ref$size,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["children", "style", "visible", "size"]);

    var _React$useState = React.useState(function () {
      return new _reactNative.Animated.Value(visible ? 1 : 0);
    }),
        _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 1),
        opacity = _React$useState2[0];

    var _React$useState3 = React.useState(visible),
        _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
        rendered = _React$useState4[0],
        setRendered = _React$useState4[1];

    var theme = (0, _$$_REQUIRE(_dependencyMap[7]).useTheme)();
    React.useEffect(function () {
      if (!rendered) {
        return;
      }

      _reactNative.Animated.timing(opacity, {
        toValue: visible ? 1 : 0,
        duration: 150,
        useNativeDriver: true
      }).start(function (_ref2) {
        var finished = _ref2.finished;

        if (finished && !visible) {
          setRendered(false);
        }
      });

      return function () {
        return opacity.stopAnimation();
      };
    }, [opacity, rendered, visible]);

    if (!rendered) {
      if (visible) {
        setRendered(true);
      } else {
        return null;
      }
    }

    var _ref3 = _reactNative.StyleSheet.flatten(style) || {},
        _ref3$backgroundColor = _ref3.backgroundColor,
        backgroundColor = _ref3$backgroundColor === undefined ? theme.colors.notification : _ref3$backgroundColor,
        restStyle = (0, _objectWithoutProperties2.default)(_ref3, ["backgroundColor"]);

    var textColor = (0, _color.default)(backgroundColor).isLight() ? 'black' : 'white';
    var borderRadius = size / 2;
    var fontSize = Math.floor(size * 3 / 4);
    return React.createElement(_reactNative.Animated.Text, (0, _extends2.default)({
      numberOfLines: 1,
      style: [{
        transform: [{
          scale: opacity.interpolate({
            inputRange: [0, 1],
            outputRange: [0.5, 1]
          })
        }],
        color: textColor,
        lineHeight: size - 1,
        height: size,
        minWidth: size,
        opacity: opacity,
        backgroundColor: backgroundColor,
        fontSize: fontSize,
        borderRadius: borderRadius
      }, styles.container, restStyle]
    }, rest), children);
  }

  var styles = _reactNative.StyleSheet.create({
    container: {
      alignSelf: 'flex-end',
      textAlign: 'center',
      paddingHorizontal: 4,
      overflow: 'hidden'
    }
  });
},1927,[5,6,41,108,1156,17,28,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.MaybeScreen = MaybeScreen;
  exports.MaybeScreenContainer = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Screens;

  try {
    Screens = _$$_REQUIRE(_dependencyMap[5]);
  } catch (e) {}

  var MaybeScreenContainer = function MaybeScreenContainer(_ref) {
    var _Screens;

    var enabled = _ref.enabled,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["enabled"]);

    if ((_Screens = Screens) != null && _Screens.screensEnabled != null && _Screens.screensEnabled()) {
      return React.createElement(Screens.ScreenContainer, (0, _extends2.default)({
        enabled: enabled
      }, rest));
    }

    return React.createElement(_reactNative.View, rest);
  };

  exports.MaybeScreenContainer = MaybeScreenContainer;

  function MaybeScreen(_ref2) {
    var _Screens2;

    var visible = _ref2.visible,
        children = _ref2.children,
        rest = (0, _objectWithoutProperties2.default)(_ref2, ["visible", "children"]);

    if ((_Screens2 = Screens) != null && _Screens2.screensEnabled != null && _Screens2.screensEnabled()) {
      return React.createElement(Screens.Screen, (0, _extends2.default)({
        activityState: visible ? 2 : 0
      }, rest), children);
    }

    return React.createElement(_$$_REQUIRE(_dependencyMap[6]).ResourceSavingView, (0, _extends2.default)({
      visible: visible
    }, rest), children);
  }
},1928,[5,6,108,17,28,1200,1165]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = useFloatingBottomTabBarHeight;

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _BottomTabBarHeightContext = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useFloatingBottomTabBarHeight() {
    var height = React.useContext(_BottomTabBarHeightContext.default);

    if (height === undefined) {
      throw new Error("Couldn't find the bottom tab bar height. Are you inside a screen in Bottom Tab Navigator?");
    }

    return height;
  }
},1929,[17,5,1922]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "createMaterialTopTabNavigator", {
    enumerable: true,
    get: function get() {
      return _createMaterialTopTabNavigator.default;
    }
  });
  Object.defineProperty(exports, "MaterialTopTabBar", {
    enumerable: true,
    get: function get() {
      return _MaterialTopTabBar.default;
    }
  });
  Object.defineProperty(exports, "MaterialTopTabView", {
    enumerable: true,
    get: function get() {
      return _MaterialTopTabView.default;
    }
  });

  var _createMaterialTopTabNavigator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _MaterialTopTabBar = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _MaterialTopTabView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));
},1930,[5,1931,1933,1932]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _warnOnce = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _MaterialTopTabView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function MaterialTopTabNavigator(_ref) {
    var initialRouteName = _ref.initialRouteName,
        backBehavior = _ref.backBehavior,
        children = _ref.children,
        screenListeners = _ref.screenListeners,
        screenOptions = _ref.screenOptions,
        restWithDeprecated = (0, _objectWithoutProperties2.default)(_ref, ["initialRouteName", "backBehavior", "children", "screenListeners", "screenOptions"]);
    var swipeEnabled = restWithDeprecated.swipeEnabled,
        lazy = restWithDeprecated.lazy,
        lazyPlaceholder = restWithDeprecated.lazyPlaceholder,
        lazyPreloadDistance = restWithDeprecated.lazyPreloadDistance,
        tabBarOptions = restWithDeprecated.tabBarOptions,
        rest = (0, _objectWithoutProperties2.default)(restWithDeprecated, ["swipeEnabled", "lazy", "lazyPlaceholder", "lazyPreloadDistance", "tabBarOptions"]);
    var defaultScreenOptions = {};

    if (tabBarOptions) {
      (0, _extends2.default)(defaultScreenOptions, {
        tabBarActiveTintColor: tabBarOptions.activeTintColor,
        tabBarInactiveTintColor: tabBarOptions.inactiveTintColor,
        tabBarPressColor: tabBarOptions.pressColor,
        tabBarPressOpacity: tabBarOptions.pressOpacity,
        tabBarShowLabel: tabBarOptions.showLabel,
        tabBarShowIcon: tabBarOptions.showIcon,
        tabBarAllowFontScaling: tabBarOptions.allowFontScaling,
        tabBarBounces: tabBarOptions.bounces,
        tabBarScrollEnabled: tabBarOptions.scrollEnabled,
        tabBarIconStyle: tabBarOptions.iconStyle,
        tabBarLabelStyle: tabBarOptions.labelStyle,
        tabBarItemStyle: tabBarOptions.tabStyle,
        tabBarBadge: tabBarOptions.renderBadge,
        tabBarIndicator: tabBarOptions.renderIndicator,
        tabBarIndicatorStyle: tabBarOptions.indicatorStyle,
        tabBarIndicatorContainerStyle: tabBarOptions.indicatorContainerStyle,
        tabBarContentContainerStyle: tabBarOptions.contentContainerStyle,
        tabBarStyle: tabBarOptions.style
      });
      Object.keys(defaultScreenOptions).forEach(function (key) {
        if (defaultScreenOptions[key] === undefined) {
          delete defaultScreenOptions[key];
        }
      });
      (0, _warnOnce.default)(tabBarOptions, "Material Top Tab Navigator: 'tabBarOptions' is deprecated. Migrate the options to 'screenOptions' instead.\n\nPlace the following in 'screenOptions' in your code to keep current behavior:\n\n" + JSON.stringify(defaultScreenOptions, null, 2) + "\n\nSee https://reactnavigation.org/docs/material-top-tab-navigator#options for more details.");
    }

    var deprecatedProps = {
      swipeEnabled: swipeEnabled,
      lazy: lazy,
      lazyPlaceholder: lazyPlaceholder,
      lazyPreloadDistance: lazyPreloadDistance
    };
    Object.entries(deprecatedProps).forEach(function (_ref2) {
      var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
          propName = _ref3[0],
          propValue = _ref3[1];

      if (propValue !== undefined) {
        defaultScreenOptions[propName] = propValue;
        (0, _warnOnce.default)(true, "Material Top Tab Navigator: '" + propName + "' in props is deprecated. Move it to 'screenOptions' instead.\n\nSee https://reactnavigation.org/docs/material-top-tab-navigator#" + propName.toLowerCase() + " for more details.");
      }
    });

    var _useNavigationBuilder = (0, _$$_REQUIRE(_dependencyMap[7]).useNavigationBuilder)(_$$_REQUIRE(_dependencyMap[7]).TabRouter, {
      initialRouteName: initialRouteName,
      backBehavior: backBehavior,
      children: children,
      screenListeners: screenListeners,
      screenOptions: screenOptions,
      defaultScreenOptions: defaultScreenOptions
    }),
        state = _useNavigationBuilder.state,
        descriptors = _useNavigationBuilder.descriptors,
        navigation = _useNavigationBuilder.navigation,
        NavigationContent = _useNavigationBuilder.NavigationContent;

    return React.createElement(NavigationContent, null, React.createElement(_MaterialTopTabView.default, (0, _extends2.default)({}, rest, {
      state: state,
      navigation: navigation,
      descriptors: descriptors
    })));
  }

  var _default = (0, _$$_REQUIRE(_dependencyMap[7]).createNavigatorFactory)(MaterialTopTabNavigator);

  exports.default = _default;
},1931,[5,41,6,108,17,1141,1932,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = MaterialTopTabView;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _MaterialTopTabBar = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function MaterialTopTabView(_ref) {
    var _ref$tabBar = _ref.tabBar,
        tabBar = _ref$tabBar === undefined ? function (props) {
      return React.createElement(_MaterialTopTabBar.default, props);
    } : _ref$tabBar,
        state = _ref.state,
        navigation = _ref.navigation,
        descriptors = _ref.descriptors,
        sceneContainerStyle = _ref.sceneContainerStyle,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["tabBar", "state", "navigation", "descriptors", "sceneContainerStyle"]);

    var _useTheme = (0, _$$_REQUIRE(_dependencyMap[5]).useTheme)(),
        colors = _useTheme.colors;

    var renderTabBar = function renderTabBar(props) {
      return tabBar((0, _extends2.default)({}, props, {
        state: state,
        navigation: navigation,
        descriptors: descriptors
      }));
    };

    var focusedOptions = descriptors[state.routes[state.index].key].options;
    return React.createElement(_$$_REQUIRE(_dependencyMap[6]).TabView, (0, _extends2.default)({}, rest, {
      onIndexChange: function onIndexChange(index) {
        return navigation.dispatch((0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[5]).CommonActions.navigate({
          name: state.routes[index].name,
          merge: true
        }), {
          target: state.key
        }));
      },
      renderScene: function renderScene(_ref2) {
        var route = _ref2.route;
        return descriptors[route.key].render();
      },
      navigationState: state,
      renderTabBar: renderTabBar,
      renderLazyPlaceholder: function renderLazyPlaceholder(_ref3) {
        var _descriptors$route$ke, _descriptors$route$ke2, _descriptors$route$ke3;

        var route = _ref3.route;
        return (_descriptors$route$ke = (_descriptors$route$ke2 = (_descriptors$route$ke3 = descriptors[route.key].options).lazyPlaceholder) == null ? undefined : _descriptors$route$ke2.call(_descriptors$route$ke3)) != null ? _descriptors$route$ke : null;
      },
      lazy: function lazy(_ref4) {
        var route = _ref4.route;
        return descriptors[route.key].options.lazy === true;
      },
      lazyPreloadDistance: focusedOptions.lazyPreloadDistance,
      swipeEnabled: focusedOptions.swipeEnabled,
      onSwipeStart: function onSwipeStart() {
        return navigation.emit({
          type: 'swipeStart'
        });
      },
      onSwipeEnd: function onSwipeEnd() {
        return navigation.emit({
          type: 'swipeEnd'
        });
      },
      sceneContainerStyle: [{
        backgroundColor: colors.background
      }, sceneContainerStyle]
    }));
  }
},1932,[5,6,108,17,1933,1002,1644]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = TabBarTop;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _color = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function TabBarTop(_ref) {
    var _focusedOptions$tabBa, _focusedOptions$tabBa2;

    var state = _ref.state,
        navigation = _ref.navigation,
        descriptors = _ref.descriptors,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["state", "navigation", "descriptors"]);

    var _useTheme = (0, _$$_REQUIRE(_dependencyMap[6]).useTheme)(),
        colors = _useTheme.colors;

    var focusedOptions = descriptors[state.routes[state.index].key].options;
    var activeColor = (_focusedOptions$tabBa = focusedOptions.tabBarActiveTintColor) != null ? _focusedOptions$tabBa : colors.text;
    var inactiveColor = (_focusedOptions$tabBa2 = focusedOptions.tabBarInactiveTintColor) != null ? _focusedOptions$tabBa2 : (0, _color.default)(activeColor).alpha(0.5).rgb().string();
    return React.createElement(_$$_REQUIRE(_dependencyMap[7]).TabBar, (0, _extends2.default)({}, rest, {
      navigationState: state,
      scrollEnabled: focusedOptions.tabBarScrollEnabled,
      bounces: focusedOptions.tabBarBounces,
      activeColor: activeColor,
      inactiveColor: inactiveColor,
      pressColor: focusedOptions.tabBarPressColor,
      pressOpacity: focusedOptions.tabBarPressOpacity,
      tabStyle: focusedOptions.tabBarItemStyle,
      indicatorStyle: [{
        backgroundColor: colors.primary
      }, focusedOptions.tabBarIndicatorStyle],
      indicatorContainerStyle: focusedOptions.tabBarIndicatorContainerStyle,
      contentContainerStyle: focusedOptions.tabBarContentContainerStyle,
      style: [{
        backgroundColor: colors.card
      }, focusedOptions.tabBarStyle],
      getAccessibilityLabel: function getAccessibilityLabel(_ref2) {
        var route = _ref2.route;
        return descriptors[route.key].options.tabBarAccessibilityLabel;
      },
      getTestID: function getTestID(_ref3) {
        var route = _ref3.route;
        return descriptors[route.key].options.tabBarTestID;
      },
      onTabPress: function onTabPress(_ref4) {
        var route = _ref4.route,
            preventDefault = _ref4.preventDefault;
        var event = navigation.emit({
          type: 'tabPress',
          target: route.key,
          canPreventDefault: true
        });

        if (event.defaultPrevented) {
          preventDefault();
        }
      },
      onTabLongPress: function onTabLongPress(_ref5) {
        var route = _ref5.route;
        return navigation.emit({
          type: 'tabLongPress',
          target: route.key
        });
      },
      renderIcon: function renderIcon(_ref6) {
        var route = _ref6.route,
            focused = _ref6.focused,
            color = _ref6.color;
        var options = descriptors[route.key].options;

        if (options.tabBarShowIcon === false) {
          return null;
        }

        if (options.tabBarIcon !== undefined) {
          var icon = options.tabBarIcon({
            focused: focused,
            color: color
          });
          return React.createElement(_reactNative.View, {
            style: [styles.icon, options.tabBarIconStyle]
          }, icon);
        }

        return null;
      },
      renderLabel: function renderLabel(_ref7) {
        var route = _ref7.route,
            focused = _ref7.focused,
            color = _ref7.color;
        var options = descriptors[route.key].options;

        if (options.tabBarShowLabel === false) {
          return null;
        }

        var label = options.tabBarLabel !== undefined ? options.tabBarLabel : options.title !== undefined ? options.title : route.name;

        if (typeof label === 'string') {
          return React.createElement(_reactNative.Text, {
            style: [styles.label, {
              color: color
            }, options.tabBarLabelStyle],
            allowFontScaling: options.tabBarAllowFontScaling
          }, label);
        }

        return label({
          focused: focused,
          color: color
        });
      },
      renderBadge: function renderBadge(_ref8) {
        var _tabBarBadge;

        var route = _ref8.route;
        var tabBarBadge = descriptors[route.key].options.tabBarBadge;
        return (_tabBarBadge = tabBarBadge == null ? undefined : tabBarBadge()) != null ? _tabBarBadge : null;
      },
      renderIndicator: function renderIndicator(_ref9) {
        var state = _ref9.navigationState,
            rest = (0, _objectWithoutProperties2.default)(_ref9, ["navigationState"]);
        return focusedOptions.tabBarIndicator ? focusedOptions.tabBarIndicator((0, _extends2.default)({
          state: state
        }, rest)) : React.createElement(_$$_REQUIRE(_dependencyMap[7]).TabBarIndicator, (0, _extends2.default)({
          navigationState: state
        }, rest));
      }
    }));
  }

  var styles = _reactNative.StyleSheet.create({
    icon: {
      height: 24,
      width: 24
    },
    label: {
      textAlign: 'center',
      textTransform: 'uppercase',
      fontSize: 13,
      margin: 4,
      backgroundColor: 'transparent'
    }
  });
},1933,[5,6,108,1156,17,28,1002,1644]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.IAP_SECRET = exports.IAP_STATUS = exports.IAP_SYSTEMS = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _IAPBase = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _IAPApi = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Payment = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var IAP_SYSTEMS = {
    GOOGLE: "google",
    APPLE: "apple",
    AMAZON: "amazon"
  };
  exports.IAP_SYSTEMS = IAP_SYSTEMS;
  var IAP_STATUS = {
    FAILED: 0,
    SUCCESS: 1,
    RESTORED: 2
  };
  exports.IAP_STATUS = IAP_STATUS;
  var IAP_SECRET = "tecnavia";
  exports.IAP_SECRET = IAP_SECRET;
  var RESTORE_TRANSACTIONS_MESSAGES = {
    SUCCESS: "Purchases restored",
    IPN_FAILED: "Call to restore transactions API failed",
    NO_PURCHASES_FOUND: "No purchases to restore found",
    SYSTEM_ERROR: "In-app purchase system in error",
    ENGINE_NOT_SET: "In-app purchase engine not set"
  };
  var RESTORE_TRANSACTIONS_CHUNK_LENGTH = 50;

  var _OptionalPackages$get = _optionalPackageUtils.default.getIapModule(),
      IAPErrorCode = _OptionalPackages$get.IAPErrorCode,
      PurchaseError = _OptionalPackages$get.PurchaseError;

  var IAPHelper = function () {
    function IAPHelper() {
      (0, _classCallCheck2.default)(this, IAPHelper);
    }

    (0, _createClass2.default)(IAPHelper, null, [{
      key: "getItem",
      value: function getItem(productId, key) {
        return _regenerator.default.async(function getItem$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", _$$_REQUIRE(_dependencyMap[10]).StorageUtils.getItem(IAPHelper.SP.name + "_" + productId, key));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setItem",
      value: function setItem(productId, key, value) {
        return _regenerator.default.async(function setItem$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _$$_REQUIRE(_dependencyMap[10]).StorageUtils.setItem(IAPHelper.SP.name + "_" + productId, key, "" + value);

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "removeItem",
      value: function removeItem(productId, key) {
        return _regenerator.default.async(function removeItem$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                return _context3.abrupt("return", _$$_REQUIRE(_dependencyMap[10]).StorageUtils.clear(IAPHelper.SP.name + "_" + productId, key));

              case 1:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "updateItem",
      value: function updateItem(productId, key, value) {
        return _regenerator.default.async(function updateItem$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (value) {
                  IAPHelper.setItem(productId, key, value);
                } else {
                  IAPHelper.removeItem(productId, key);
                }

              case 1:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "clearAll",
      value: function clearAll(productId) {
        return _regenerator.default.async(function clearAll$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                if (!productId) {
                  _context5.next = 2;
                  break;
                }

                return _context5.abrupt("return", _$$_REQUIRE(_dependencyMap[10]).StorageUtils.clearAll(IAPHelper.SP.name + "_" + productId));

              case 2:
                return _context5.abrupt("return", _$$_REQUIRE(_dependencyMap[10]).StorageUtils.clearAllByRegExp(IAPHelper.SP.name + "_.*"));

              case 3:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "storePurchaseModel",
      value: function storePurchaseModel(model) {
        var productId, invoiceId, pSetup, issue, edition, editionId, transactionId, originalTransactionId, originalTransactionDate, receipt, recurringSubscriptionPeriod, recurringSubscriptionId;
        return _regenerator.default.async(function storePurchaseModel$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                productId = model.productId, invoiceId = model.invoiceId, pSetup = model.pSetup, issue = model.issue, edition = model.edition, editionId = model.editionId, transactionId = model.transactionId, originalTransactionId = model.originalTransactionId, originalTransactionDate = model.originalTransactionDate, receipt = model.receipt, recurringSubscriptionPeriod = model.recurringSubscriptionPeriod, recurringSubscriptionId = model.recurringSubscriptionId;
                _context6.next = 3;
                return _regenerator.default.awrap(IAPHelper.updateItem(productId, IAPHelper.SP.keys.invoiceId, invoiceId));

              case 3:
                _context6.next = 5;
                return _regenerator.default.awrap(IAPHelper.updateItem(productId, IAPHelper.SP.keys.pSetup, pSetup));

              case 5:
                _context6.next = 7;
                return _regenerator.default.awrap(IAPHelper.updateItem(productId, IAPHelper.SP.keys.issue, issue));

              case 7:
                _context6.next = 9;
                return _regenerator.default.awrap(IAPHelper.updateItem(productId, IAPHelper.SP.keys.edition, edition));

              case 9:
                _context6.next = 11;
                return _regenerator.default.awrap(IAPHelper.updateItem(productId, IAPHelper.SP.keys.editionId, editionId));

              case 11:
                _context6.next = 13;
                return _regenerator.default.awrap(IAPHelper.updateItem(productId, IAPHelper.SP.keys.transactionId, transactionId));

              case 13:
                _context6.next = 15;
                return _regenerator.default.awrap(IAPHelper.updateItem(productId, IAPHelper.SP.keys.originalTransactionId, originalTransactionId));

              case 15:
                _context6.next = 17;
                return _regenerator.default.awrap(IAPHelper.updateItem(productId, IAPHelper.SP.keys.originalTransactionDate, originalTransactionDate));

              case 17:
                _context6.next = 19;
                return _regenerator.default.awrap(IAPHelper.updateItem(productId, IAPHelper.SP.keys.receipt, receipt));

              case 19:
                _context6.next = 21;
                return _regenerator.default.awrap(IAPHelper.updateItem(productId, IAPHelper.SP.keys.recurringSubscriptionPeriod, recurringSubscriptionPeriod));

              case 21:
                _context6.next = 23;
                return _regenerator.default.awrap(IAPHelper.updateItem(productId, IAPHelper.SP.keys.recurringSubscriptionId, recurringSubscriptionId));

              case 23:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getPurchaseModel",
      value: function getPurchaseModel(productId) {
        var model;
        return _regenerator.default.async(function getPurchaseModel$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                _context7.prev = 0;
                model = new (_$$_REQUIRE(_dependencyMap[11]).IAPTecnaviaModel)();
                model.setProductId(productId);
                _context7.t0 = model;
                _context7.next = 6;
                return _regenerator.default.awrap(IAPHelper.getItem(productId, IAPHelper.SP.keys.invoiceId));

              case 6:
                _context7.t1 = _context7.sent;

                _context7.t0.setInvoiceId.call(_context7.t0, _context7.t1);

                _context7.t2 = model;
                _context7.next = 11;
                return _regenerator.default.awrap(IAPHelper.getItem(productId, IAPHelper.SP.keys.pSetup));

              case 11:
                _context7.t3 = _context7.sent;

                _context7.t2.setPSetup.call(_context7.t2, _context7.t3);

                _context7.t4 = model;
                _context7.next = 16;
                return _regenerator.default.awrap(IAPHelper.getItem(productId, IAPHelper.SP.keys.issue));

              case 16:
                _context7.t5 = _context7.sent;

                _context7.t4.setIssue.call(_context7.t4, _context7.t5);

                _context7.t6 = model;
                _context7.next = 21;
                return _regenerator.default.awrap(IAPHelper.getItem(productId, IAPHelper.SP.keys.edition));

              case 21:
                _context7.t7 = _context7.sent;

                _context7.t6.setEdition.call(_context7.t6, _context7.t7);

                _context7.t8 = model;
                _context7.next = 26;
                return _regenerator.default.awrap(IAPHelper.getItem(productId, IAPHelper.SP.keys.editionId));

              case 26:
                _context7.t9 = _context7.sent;

                _context7.t8.setEditionId.call(_context7.t8, _context7.t9);

                _context7.t10 = model;
                _context7.next = 31;
                return _regenerator.default.awrap(IAPHelper.getItem(productId, IAPHelper.SP.keys.transactionId));

              case 31:
                _context7.t11 = _context7.sent;

                _context7.t10.setTransactionId.call(_context7.t10, _context7.t11);

                _context7.t12 = model;
                _context7.next = 36;
                return _regenerator.default.awrap(IAPHelper.getItem(productId, IAPHelper.SP.keys.originalTransactionId));

              case 36:
                _context7.t13 = _context7.sent;

                _context7.t12.setOriginalTransactionId.call(_context7.t12, _context7.t13);

                _context7.t14 = model;
                _context7.next = 41;
                return _regenerator.default.awrap(IAPHelper.getItem(productId, IAPHelper.SP.keys.originalTransactionDate));

              case 41:
                _context7.t15 = _context7.sent;

                _context7.t14.setOriginalTransactionDate.call(_context7.t14, _context7.t15);

                _context7.t16 = model;
                _context7.next = 46;
                return _regenerator.default.awrap(IAPHelper.getItem(productId, IAPHelper.SP.keys.receipt));

              case 46:
                _context7.t17 = _context7.sent;

                _context7.t16.setReceipt.call(_context7.t16, _context7.t17);

                _context7.t18 = model;
                _context7.next = 51;
                return _regenerator.default.awrap(IAPHelper.getItem(productId, IAPHelper.SP.keys.recurringSubscriptionPeriod));

              case 51:
                _context7.t19 = _context7.sent;

                _context7.t18.setRecurringSubscriptionPeriod.call(_context7.t18, _context7.t19);

                _context7.t20 = model;
                _context7.next = 56;
                return _regenerator.default.awrap(IAPHelper.getItem(productId, IAPHelper.SP.keys.recurringSubscriptionId));

              case 56:
                _context7.t21 = _context7.sent;

                _context7.t20.setRecurringSubscriptionId.call(_context7.t20, _context7.t21);

                return _context7.abrupt("return", model);

              case 61:
                _context7.prev = 61;
                _context7.t22 = _context7["catch"](0);
                return _context7.abrupt("return", null);

              case 64:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, [[0, 61]], Promise);
      }
    }, {
      key: "init",
      value: function init() {
        return _regenerator.default.async(function init$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                if (!(!IAPHelper.engineInit && _optionalPackageUtils.default.isIapModuleAvailable())) {
                  _context8.next = 19;
                  break;
                }

                _context8.t0 = IAPHelper.getSystem();
                _context8.next = _context8.t0 === IAP_SYSTEMS.GOOGLE ? 4 : _context8.t0 === IAP_SYSTEMS.APPLE ? 6 : _context8.t0 === IAP_SYSTEMS.AMAZON ? 8 : 10;
                break;

              case 4:
                IAPHelper.engine = new (_$$_REQUIRE(_dependencyMap[12]).IAPGoogle)({
                  callbackToServer: IAPHelper.storeIAPResultToServer,
                  onPurchaseError: IAPHelper.onPurchaseError
                });
                return _context8.abrupt("break", 11);

              case 6:
                IAPHelper.engine = new (_$$_REQUIRE(_dependencyMap[13]).IAPApple)({
                  callbackToServer: IAPHelper.storeIAPResultToServer,
                  onPurchaseError: IAPHelper.onPurchaseError
                });
                return _context8.abrupt("break", 11);

              case 8:
                IAPHelper.engine = new (_$$_REQUIRE(_dependencyMap[14]).IAPAmazon)({
                  callbackToServer: IAPHelper.storeIAPResultToServer,
                  onPurchaseError: IAPHelper.onPurchaseError
                });
                return _context8.abrupt("break", 11);

              case 10:
                IAPHelper.systemInError = true;

              case 11:
                IAPHelper.engineInit = false;

                if (!IAPHelper.engine) {
                  _context8.next = 16;
                  break;
                }

                _context8.next = 15;
                return _regenerator.default.awrap(IAPHelper.engine.init());

              case 15:
                IAPHelper.engineInit = _context8.sent;

              case 16:
                if (IAPHelper.engineInit) {
                  IAPHelper.onPurchaseUpdateOperationAdded(function () {
                    if (IAPHelper.pendingPurchases === 0) {
                      IAPHelper.onPurchaseUpdateOperationsIdle().then(function () {
                        IAPHelper.pendingPurchases = 0;
                        IAPHelper.pendingPurchasesCompleted = 0;
                        setTimeout(IAPHelper.hidePurchaseUpdateCompletedMessage, 2000);
                      });
                    }

                    IAPHelper.pendingPurchases += 1;
                    IAPHelper.showPurchaseUpdateCompletedMessage();
                  });
                  IAPHelper.onPurchaseUpdateOperationCompleted(function () {
                    IAPHelper.pendingPurchasesCompleted += 1;
                    IAPHelper.showPurchaseUpdateCompletedMessage();
                  });
                } else {
                  IAPHelper.systemInError = true;
                }

                _context8.next = 19;
                break;

              case 19:
              case "end":
                return _context8.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "onPurchaseError",
      value: function onPurchaseError(error) {
        var model;
        return _regenerator.default.async(function onPurchaseError$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                if (!error) {
                  _context9.next = 8;
                  break;
                }

                if (!error.productId) {
                  _context9.next = 5;
                  break;
                }

                _context9.next = 4;
                return _regenerator.default.awrap(IAPHelper.getPurchaseModel(error.productId));

              case 4:
                model = _context9.sent;

              case 5:
                _context9.next = 7;
                return _regenerator.default.awrap(IAPHelper.callToIpn(IAP_STATUS.FAILED, model));

              case 7:
                if (IAPHelper.serverCallback) {
                  IAPHelper.serverCallback({
                    status: IAP_STATUS.FAILED,
                    model: model,
                    error: error
                  });
                }

              case 8:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "requestIAP",
      value: function requestIAP(model) {
        var error, subscriptions, offer, activeSubscriptions;
        return _regenerator.default.async(function requestIAP$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                if (!_optionalPackageUtils.default.isIapModuleAvailable()) {
                  _context10.next = 35;
                  break;
                }

                IAPHelper.purchasing = true;

                if (!(!IAPHelper.systemInError && IAPHelper.engine && model)) {
                  _context10.next = 31;
                  break;
                }

                _context10.next = 5;
                return _regenerator.default.awrap(IAPHelper.storePurchaseModel(model));

              case 5:
                _context10.prev = 5;

                if (!(model.type && model.type === _$$_REQUIRE(_dependencyMap[11]).IAPTecnaviaType.SUBSCRIPTION)) {
                  _context10.next = 20;
                  break;
                }

                _context10.next = 9;
                return _regenerator.default.awrap(IAPHelper.engine.getSubscriptions([model.productId]));

              case 9:
                subscriptions = _context10.sent;
                offer = IAPHelper.engine.getSubscriptionOffersDetails(subscriptions, model.productId);
                _context10.next = 13;
                return _regenerator.default.awrap(IAPHelper.engine.getActiveSubscriptions(model.productId));

              case 13:
                activeSubscriptions = _context10.sent;
                _context10.next = 16;
                return _regenerator.default.awrap(IAPHelper.showSubscriptionsAlert(activeSubscriptions));

              case 16:
                _context10.next = 18;
                return _regenerator.default.awrap(IAPHelper.engine.requestSubscription(model.productId, [offer]));

              case 18:
                _context10.next = 24;
                break;

              case 20:
                _context10.next = 22;
                return _regenerator.default.awrap(IAPHelper.engine.getProducts([model.productId]));

              case 22:
                _context10.next = 24;
                return _regenerator.default.awrap(IAPHelper.engine.requestPurchase(model.productId));

              case 24:
                _context10.next = 29;
                break;

              case 26:
                _context10.prev = 26;
                _context10.t0 = _context10["catch"](5);
                error = {
                  code: _context10.t0.code,
                  message: _context10.t0.message,
                  productId: model.productId
                };

              case 29:
                _context10.next = 32;
                break;

              case 31:
                error = {
                  code: IAPErrorCode.E_IAP_NOT_AVAILABLE,
                  message: "In app purchases not configured",
                  productId: model.productId
                };

              case 32:
                _context10.next = 34;
                return _regenerator.default.awrap(IAPHelper.onPurchaseError(error));

              case 34:
                IAPHelper.purchasing = false;

              case 35:
              case "end":
                return _context10.stop();
            }
          }
        }, null, null, [[5, 26]], Promise);
      }
    }, {
      key: "showSubscriptionsAlert",
      value: function showSubscriptionsAlert(activeSubscriptions) {
        return _regenerator.default.async(function showSubscriptionsAlert$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                return _context11.abrupt("return", new Promise(function (resolve, reject) {
                  var activePsetup = global.getActivePSetup();

                  if (activeSubscriptions.length > 0 && activePsetup.enableMultipleSubscriptionsAlert && _optionalPackageUtils.default.isIapModuleAvailable()) {
                    _reactNative.Alert.alert(global.strings("iap_multiple_subscriptions"), global.strings("iap_multiple_active_subscriptions_message", {
                      subscriptions: IAPHelper.getActiveSubscriptionsText(activeSubscriptions)
                    }), [{
                      text: global.strings("btn_continue"),
                      onPress: resolve
                    }, {
                      text: global.strings("btn_cancel"),
                      onPress: function onPress() {
                        var e = new Error();
                        e.message = "there is already an active subscription";
                        e.name = IAPErrorCode.E_ACTIVE_SUBSCRIPTION;
                        reject(e);
                      }
                    }]);
                  } else {
                    resolve();
                  }
                }));

              case 1:
              case "end":
                return _context11.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "restoreTransactions",
      value: function restoreTransactions(productId) {
        var message, SUCCESS, IPN_FAILED, NO_PURCHASES_FOUND, SYSTEM_ERROR, ENGINE_NOT_SET, purchases, result, activePSetup, loginStatus, i, _purchases$i, currentProductId, receipt, payment, _purchases$, _currentProductId, _receipt, _payment;

        return _regenerator.default.async(function restoreTransactions$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                SUCCESS = RESTORE_TRANSACTIONS_MESSAGES.SUCCESS, IPN_FAILED = RESTORE_TRANSACTIONS_MESSAGES.IPN_FAILED, NO_PURCHASES_FOUND = RESTORE_TRANSACTIONS_MESSAGES.NO_PURCHASES_FOUND, SYSTEM_ERROR = RESTORE_TRANSACTIONS_MESSAGES.SYSTEM_ERROR, ENGINE_NOT_SET = RESTORE_TRANSACTIONS_MESSAGES.ENGINE_NOT_SET;

                if (!(!IAPHelper.systemInError && IAPHelper.engine && _optionalPackageUtils.default.isIapModuleAvailable())) {
                  _context12.next = 40;
                  break;
                }

                _context12.prev = 2;
                _context12.next = 5;
                return _regenerator.default.awrap(IAPHelper.engine.restoreTransactions(productId));

              case 5:
                purchases = _context12.sent;

                if (!(purchases && purchases.length > 0)) {
                  _context12.next = 32;
                  break;
                }

                _context12.next = 9;
                return _regenerator.default.awrap(IAPHelper.callToRestoreTransactions(purchases));

              case 9:
                result = _context12.sent;

                if (!result) {
                  _context12.next = 29;
                  break;
                }

                activePSetup = global.getActivePSetup();
                loginStatus = activePSetup.loginStatus;

                if (!_$$_REQUIRE(_dependencyMap[10]).PlatformUtils.isIOS()) {
                  _context12.next = 27;
                  break;
                }

                i = 0;

              case 15:
                if (!(i < purchases.length)) {
                  _context12.next = 25;
                  break;
                }

                if (!purchases[i]) {
                  _context12.next = 22;
                  break;
                }

                _purchases$i = purchases[i], currentProductId = _purchases$i.productId, receipt = _purchases$i.receipt;
                payment = activePSetup.getPaymentByProductId(currentProductId);

                if (!(payment && payment.isSubscription() && receipt)) {
                  _context12.next = 22;
                  break;
                }

                loginStatus.setReceipt(receipt);
                return _context12.abrupt("break", 25);

              case 22:
                i++;
                _context12.next = 15;
                break;

              case 25:
                _context12.next = 28;
                break;

              case 27:
                if (purchases[0]) {
                  _purchases$ = purchases[0], _currentProductId = _purchases$.productId, _receipt = _purchases$.receipt;
                  _payment = activePSetup.getPaymentByProductId(_currentProductId);

                  if (_payment && _payment.isSubscription() && _receipt) {
                    loginStatus.setReceipt(_receipt);
                  }
                }

              case 28:
                return _context12.abrupt("return", {
                  success: true,
                  message: SUCCESS,
                  purchases: purchases
                });

              case 29:
                message = IPN_FAILED;
                _context12.next = 33;
                break;

              case 32:
                message = NO_PURCHASES_FOUND;

              case 33:
                _context12.next = 38;
                break;

              case 35:
                _context12.prev = 35;
                _context12.t0 = _context12["catch"](2);
                message = _context12.t0.message;

              case 38:
                _context12.next = 41;
                break;

              case 40:
                message = IAPHelper.engine ? SYSTEM_ERROR : ENGINE_NOT_SET;

              case 41:
                return _context12.abrupt("return", {
                  success: false,
                  message: message
                });

              case 42:
              case "end":
                return _context12.stop();
            }
          }
        }, null, null, [[2, 35]], Promise);
      }
    }, {
      key: "autoRestoreSubscription",
      value: function autoRestoreSubscription() {
        var _await$IAPHelper$rest, success, activeSubscriptions, i, activeSubscription;

        return _regenerator.default.async(function autoRestoreSubscription$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                if (!(IAPHelper.getSystem() === IAP_SYSTEMS.APPLE || IAPHelper.getSystem() === IAP_SYSTEMS.AMAZON)) {
                  _context13.next = 6;
                  break;
                }

                _context13.next = 3;
                return _regenerator.default.awrap(IAPHelper.restoreTransactions());

              case 3:
                _await$IAPHelper$rest = _context13.sent;
                success = _await$IAPHelper$rest.success;
                return _context13.abrupt("return", success);

              case 6:
                if (IAPHelper.engine) {
                  _context13.next = 8;
                  break;
                }

                return _context13.abrupt("return", false);

              case 8:
                _context13.next = 10;
                return _regenerator.default.awrap(IAPHelper.engine.getBoughtSubscriptions());

              case 10:
                activeSubscriptions = _context13.sent;

                if (!(!activeSubscriptions || !activeSubscriptions.length)) {
                  _context13.next = 13;
                  break;
                }

                return _context13.abrupt("return", false);

              case 13:
                activeSubscriptions.sort(function (a, b) {
                  return parseInt(b.expiresDate, 10) - parseInt(b.originalPurchaseDate, 10) - (parseInt(a.expiresDate, 10) - parseInt(b.originalPurchaseDate, 10));
                });
                i = 0;

              case 15:
                if (!(i < activeSubscriptions.length)) {
                  _context13.next = 27;
                  break;
                }

                activeSubscription = activeSubscriptions[i];
                _context13.prev = 17;
                _context13.next = 20;
                return _regenerator.default.awrap(IAPHelper.storeIAPResultToServer({
                  productId: activeSubscription.productId,
                  transactionId: activeSubscription.transactionId,
                  receipt: activeSubscription.receipt,
                  originalTransactionId: activeSubscription.originalTransactionId,
                  originalTransactionDate: activeSubscription.originalTransactionDate
                }));

              case 20:
                _context13.next = 24;
                break;

              case 22:
                _context13.prev = 22;
                _context13.t0 = _context13["catch"](17);

              case 24:
                i++;
                _context13.next = 15;
                break;

              case 27:
                activeSubscriptions = IAPHelper.engine.applyFiltersToSubscriptions(activeSubscriptions);

                if (activeSubscriptions.length > 1) {
                  IAPHelper.showConcurrentSubscriptions(activeSubscriptions);
                }

                return _context13.abrupt("return", true);

              case 30:
              case "end":
                return _context13.stop();
            }
          }
        }, null, null, [[17, 22]], Promise);
      }
    }, {
      key: "showConcurrentSubscriptions",
      value: function showConcurrentSubscriptions() {
        var activeSubscriptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        var activePsetup = global.getActivePSetup();

        if (activePsetup.enableMultipleSubscriptionsAlert) {
          _reactNative.Alert.alert(global.strings("iap_multiple_subscriptions"), global.strings("iap_multiple_subscriptions_message", {
            subscriptions: IAPHelper.getActiveSubscriptionsText(activeSubscriptions)
          }), [{
            text: global.strings("iap_go_to_subscriptions"),
            onPress: function onPress() {
              var url = "https://play.google.com/store/account/subscriptions";

              if (_reactNative.Linking.canOpenURL(url)) {
                _reactNative.Linking.openURL(url);
              }
            }
          }, {
            text: global.strings("btn_close")
          }], {
            cancelable: false
          });
        }
      }
    }, {
      key: "getActiveSubscriptionsText",
      value: function getActiveSubscriptionsText(activeSubscriptions) {
        if (activeSubscriptions && activeSubscriptions.length) {
          var paymentsStr = "\n\n";
          var activePsetup = global.getActivePSetup();
          activeSubscriptions.forEach(function (subscription) {
            var payment = activePsetup.getPaymentByProductId(subscription.productId);
            paymentsStr += _$$_REQUIRE(_dependencyMap[10]).StringUtils.BULLET + " " + payment.getDescription() + "\n";
          });
          return paymentsStr;
        }

        return "";
      }
    }, {
      key: "storeIAPResultToServer",
      value: function storeIAPResultToServer(purchaseResult) {
        var productId, transactionId, receipt, errorCode, originalTransactionId, originalTransactionDate, status, model, _global$getActivePSet, loginStatus, result, error;

        return _regenerator.default.async(function storeIAPResultToServer$(_context14) {
          while (1) {
            switch (_context14.prev = _context14.next) {
              case 0:
                if (!_optionalPackageUtils.default.isIapModuleAvailable()) {
                  _context14.next = 34;
                  break;
                }

                if (!purchaseResult) {
                  _context14.next = 32;
                  break;
                }

                productId = purchaseResult.productId, transactionId = purchaseResult.transactionId, receipt = purchaseResult.receipt, errorCode = purchaseResult.errorCode, originalTransactionId = purchaseResult.originalTransactionId, originalTransactionDate = purchaseResult.originalTransactionDate;

                if (!productId) {
                  _context14.next = 30;
                  break;
                }

                status = IAP_STATUS.FAILED;
                _context14.next = 7;
                return _regenerator.default.awrap(IAPHelper.getPurchaseModel(productId));

              case 7:
                model = _context14.sent;

                if (!model) {
                  _context14.next = 28;
                  break;
                }

                model.setTransactionId(transactionId);
                model.setOriginalTransactionId(originalTransactionId);
                model.setOriginalTransactionDate(originalTransactionDate);

                if (!(receipt && !errorCode)) {
                  _context14.next = 21;
                  break;
                }

                status = IAP_STATUS.SUCCESS;
                model.setReceipt(receipt);

                if (!model.isRecurring()) {
                  _context14.next = 21;
                  break;
                }

                _global$getActivePSet = global.getActivePSetup(), loginStatus = _global$getActivePSet.loginStatus;
                loginStatus.setReceipt(receipt);
                _context14.next = 20;
                return _regenerator.default.awrap(IAPHelper.callToReceiptManager(model));

              case 20:
                model = _context14.sent;

              case 21:
                _context14.next = 23;
                return _regenerator.default.awrap(IAPHelper.storePurchaseModel(model));

              case 23:
                _context14.next = 25;
                return _regenerator.default.awrap(IAPHelper.callToIpn(status, model));

              case 25:
                result = _context14.sent;

                if (IAPHelper.serverCallback) {
                  if (result) {
                    IAPHelper.serverCallback({
                      status: status,
                      model: model
                    });
                  } else {
                    error = {};
                    error.code = IAPErrorCode.E_REMOTE_ERROR;
                    error.message = "Call to IPN API failed";
                    IAPHelper.serverCallback({
                      status: IAP_STATUS.FAILED,
                      model: model,
                      error: error
                    });
                  }
                }

                return _context14.abrupt("return", result);

              case 28:
                _context14.next = 30;
                break;

              case 30:
                _context14.next = 32;
                break;

              case 32:
                _context14.next = 34;
                break;

              case 34:
                return _context14.abrupt("return", false);

              case 35:
              case "end":
                return _context14.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "callToReceiptManager",
      value: function callToReceiptManager(model) {
        var attempts, success, response, originalTransactionId;
        return _regenerator.default.async(function callToReceiptManager$(_context15) {
          while (1) {
            switch (_context15.prev = _context15.next) {
              case 0:
                attempts = 0;
                success = false;

              case 2:
                attempts += 1;
                _context15.prev = 3;
                _context15.next = 6;
                return _regenerator.default.awrap(_IAPApi.default.receiptManager(model));

              case 6:
                response = _context15.sent;
                originalTransactionId = undefined;

                if (response && response.data && response.data.decoded) {
                  originalTransactionId = response.data.decoded.originalTransactionId;
                }

                model.setRecurringSubscriptionId(IAPHelper.computeRecurringSubscriptionId(model, originalTransactionId));
                success = true;
                _context15.next = 15;
                break;

              case 13:
                _context15.prev = 13;
                _context15.t0 = _context15["catch"](3);

              case 15:
                if (attempts < 2 && !success) {
                  _context15.next = 2;
                  break;
                }

              case 16:
                return _context15.abrupt("return", model);

              case 17:
              case "end":
                return _context15.stop();
            }
          }
        }, null, null, [[3, 13]], Promise);
      }
    }, {
      key: "callToIpn",
      value: function callToIpn(status, model) {
        var success, ipnAttempts, ipnCallSuccess, isSandbox, ipnResponse;
        return _regenerator.default.async(function callToIpn$(_context16) {
          while (1) {
            switch (_context16.prev = _context16.next) {
              case 0:
                success = status === IAP_STATUS.SUCCESS;
                ipnAttempts = 0;
                ipnCallSuccess = false;

              case 3:
                ipnAttempts += 1;
                _context16.prev = 4;
                isSandbox = false;

                if (model) {
                  isSandbox = IAPHelper.isSandboxReceipt(model.receipt);
                }

                _context16.next = 9;
                return _regenerator.default.awrap(_IAPApi.default.ipn(success, model, isSandbox));

              case 9:
                ipnResponse = _context16.sent;

                if (!(ipnResponse && ipnResponse.data)) {
                  _context16.next = 14;
                  break;
                }

                ipnCallSuccess = true;

                if (!(ipnResponse.data.indexOf("ERROR") === -1)) {
                  _context16.next = 14;
                  break;
                }

                return _context16.abrupt("return", true);

              case 14:
                _context16.next = 18;
                break;

              case 16:
                _context16.prev = 16;
                _context16.t0 = _context16["catch"](4);

              case 18:
                if (ipnAttempts < 2 && !ipnCallSuccess) {
                  _context16.next = 3;
                  break;
                }

              case 19:
                return _context16.abrupt("return", false);

              case 20:
              case "end":
                return _context16.stop();
            }
          }
        }, null, null, [[4, 16]], Promise);
      }
    }, {
      key: "callToRestoreTransactions",
      value: function callToRestoreTransactions(restoreTransactions) {
        var isSandbox, chunksLength, chunks, i, attempts, success, response;
        return _regenerator.default.async(function callToRestoreTransactions$(_context17) {
          while (1) {
            switch (_context17.prev = _context17.next) {
              case 0:
                isSandbox = false;

                if (restoreTransactions.length > 0) {
                  isSandbox = IAPHelper.isSandboxReceipt(restoreTransactions[0].receipt);
                }

                chunksLength = Math.ceil(restoreTransactions.length / RESTORE_TRANSACTIONS_CHUNK_LENGTH);
                chunks = Array.from({
                  length: chunksLength
                }, function (v, i) {
                  return restoreTransactions.slice(i * RESTORE_TRANSACTIONS_CHUNK_LENGTH, i * RESTORE_TRANSACTIONS_CHUNK_LENGTH + RESTORE_TRANSACTIONS_CHUNK_LENGTH);
                });
                i = 0;

              case 5:
                if (!(i < chunks.length)) {
                  _context17.next = 28;
                  break;
                }

                attempts = 0;
                success = false;

              case 8:
                attempts += 1;
                _context17.prev = 9;
                _context17.next = 12;
                return _regenerator.default.awrap(_IAPApi.default.restoreTransactions(chunks[i], isSandbox));

              case 12:
                response = _context17.sent;

                if (!(response && response.data)) {
                  _context17.next = 17;
                  break;
                }

                success = true;

                if (!(response.data.indexOf("ERROR") !== -1)) {
                  _context17.next = 17;
                  break;
                }

                return _context17.abrupt("return", false);

              case 17:
                _context17.next = 21;
                break;

              case 19:
                _context17.prev = 19;
                _context17.t0 = _context17["catch"](9);

              case 21:
                if (!success) {}

              case 22:
                if (attempts < 2 && !success) {
                  _context17.next = 8;
                  break;
                }

              case 23:
                if (success) {
                  _context17.next = 25;
                  break;
                }

                return _context17.abrupt("return", false);

              case 25:
                i++;
                _context17.next = 5;
                break;

              case 28:
                return _context17.abrupt("return", true);

              case 29:
              case "end":
                return _context17.stop();
            }
          }
        }, null, null, [[9, 19]], Promise);
      }
    }, {
      key: "getPurchaseUpdateCompletedMessage",
      value: function getPurchaseUpdateCompletedMessage() {
        return global.strings("msg_pending_purchases", {
          completed: Math.min(IAPHelper.pendingPurchasesCompleted, IAPHelper.pendingPurchases),
          total: IAPHelper.pendingPurchases
        });
      }
    }, {
      key: "showPurchaseUpdateCompletedMessage",
      value: function showPurchaseUpdateCompletedMessage() {
        _$$_REQUIRE(_dependencyMap[15]).LoadingOverlay.show({
          id: "purchase_update_queue",
          text: IAPHelper.getPurchaseUpdateCompletedMessage()
        });
      }
    }, {
      key: "hidePurchaseUpdateCompletedMessage",
      value: function hidePurchaseUpdateCompletedMessage() {
        _$$_REQUIRE(_dependencyMap[15]).LoadingOverlay.hide({
          id: "purchase_update_queue"
        });
      }
    }, {
      key: "onPurchaseUpdateOperationAdded",
      value: function onPurchaseUpdateOperationAdded(callback) {
        IAPHelper.engine.onPurchaseUpdateOperationAdded(callback);
      }
    }, {
      key: "onPurchaseUpdateOperationCompleted",
      value: function onPurchaseUpdateOperationCompleted(callback) {
        IAPHelper.engine.onPurchaseUpdateOperationCompleted(callback);
      }
    }, {
      key: "onPurchaseUpdateOperationsIdle",
      value: function onPurchaseUpdateOperationsIdle() {
        return _regenerator.default.async(function onPurchaseUpdateOperationsIdle$(_context18) {
          while (1) {
            switch (_context18.prev = _context18.next) {
              case 0:
                return _context18.abrupt("return", IAPHelper.engine.onPurchaseUpdateOperationsIdle());

              case 1:
              case "end":
                return _context18.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getPurchaseUpdateOperationsInQueue",
      value: function getPurchaseUpdateOperationsInQueue() {
        return IAPHelper.engine.getPurchaseUpdateOperationsInQueue();
      }
    }, {
      key: "completePendingPurchases",
      value: function completePendingPurchases() {
        return _regenerator.default.async(function completePendingPurchases$(_context19) {
          while (1) {
            switch (_context19.prev = _context19.next) {
              case 0:
                if (!IAPHelper.engineInit) {
                  _context19.next = 9;
                  break;
                }

                IAPHelper.pendingPurchases = IAPHelper.getPurchaseUpdateOperationsInQueue();

                if (!(IAPHelper.pendingPurchases > 0)) {
                  _context19.next = 9;
                  break;
                }

                IAPHelper.showPurchaseUpdateCompletedMessage();
                _context19.next = 6;
                return _regenerator.default.awrap(IAPHelper.onPurchaseUpdateOperationsIdle());

              case 6:
                IAPHelper.pendingPurchases = 0;
                IAPHelper.pendingPurchasesCompleted = 0;
                IAPHelper.hidePurchaseUpdateCompletedMessage();

              case 9:
              case "end":
                return _context19.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setServerCallback",
      value: function setServerCallback(callback) {
        return _regenerator.default.async(function setServerCallback$(_context20) {
          while (1) {
            switch (_context20.prev = _context20.next) {
              case 0:
                if (!callback) {
                  _context20.next = 6;
                  break;
                }

                _context20.next = 3;
                return _regenerator.default.awrap(IAPHelper.completePendingPurchases());

              case 3:
                IAPHelper.onPurchaseUpdateOperationAdded(undefined);
                IAPHelper.onPurchaseUpdateOperationCompleted(undefined);
                IAPHelper.serverCallback = callback;

              case 6:
              case "end":
                return _context20.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "resetServerCallback",
      value: function resetServerCallback() {
        IAPHelper.serverCallback = undefined;
      }
    }, {
      key: "computeRecurringSubscriptionId",
      value: function computeRecurringSubscriptionId(model) {
        var originalTransactionId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
        var invoiceId = model.invoiceId,
            recurringSubscriptionPeriod = model.recurringSubscriptionPeriod,
            originalTransactionIdFromModel = model.originalTransactionId;

        if (originalTransactionIdFromModel && !originalTransactionId) {
          originalTransactionId = originalTransactionIdFromModel;
        } else if (invoiceId && !originalTransactionId) {
          var invoiceParts = invoiceId.split("_");

          if (invoiceParts.length > 2) {
            originalTransactionId = invoiceParts[2];
          }
        }

        return "P" + originalTransactionId + "_" + recurringSubscriptionPeriod;
      }
    }, {
      key: "getSystem",
      value: function getSystem() {
        if (_$$_REQUIRE(_dependencyMap[10]).PlatformUtils.isIOS()) {
          return IAP_SYSTEMS.APPLE;
        }

        if (_deviceUtils.default.isKindle()) {
          return IAP_SYSTEMS.AMAZON;
        }

        return IAP_SYSTEMS.GOOGLE;
      }
    }, {
      key: "validateReceipt",
      value: function validateReceipt(receipt) {
        return _regenerator.default.async(function validateReceipt$(_context21) {
          while (1) {
            switch (_context21.prev = _context21.next) {
              case 0:
                if (!(!IAPHelper.systemInError && IAPHelper.engine && receipt)) {
                  _context21.next = 2;
                  break;
                }

                return _context21.abrupt("return", IAPHelper.engine.validateReceipt(receipt));

              case 2:
                return _context21.abrupt("return", false);

              case 3:
              case "end":
                return _context21.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "isSandboxReceipt",
      value: function isSandboxReceipt(receipt) {
        if (!IAPHelper.systemInError && IAPHelper.engine && receipt) {
          return IAPHelper.engine.isSandboxReceipt(receipt);
        }

        return false;
      }
    }, {
      key: "registerReceiver",
      value: function registerReceiver() {
        if (IAPHelper.engine) {
          IAPHelper.engine.registerReceiver();
        }
      }
    }, {
      key: "unregisterReceiver",
      value: function unregisterReceiver() {
        if (IAPHelper.engine) {
          IAPHelper.engine.unregisterReceiver();
        }
      }
    }]);
    return IAPHelper;
  }();

  exports.default = IAPHelper;
  IAPHelper.engine = undefined;
  IAPHelper.engineInit = false;
  IAPHelper.system = "";
  IAPHelper.systemInError = false;
  IAPHelper.serverCallback = undefined;
  IAPHelper.purchasing = false;
  IAPHelper.pendingPurchases = 0;
  IAPHelper.pendingPurchasesCompleted = 0;
  IAPHelper.SP = {
    name: "purchase",
    keys: {
      invoiceId: "invoiceId",
      pSetup: "pSetup",
      issue: "issue",
      edition: "edition",
      editionId: "editionId",
      transactionId: "transactionId",
      receipt: "receipt",
      originalTransactionId: "originalTransactionId",
      originalTransactionDate: "originalTransactionDate",
      recurringSubscriptionPeriod: "recurringSubscriptionPeriod",
      recurringSubscriptionId: "recurringSubscriptionId"
    }
  };
},1934,[5,80,7,8,28,1935,1936,458,720,731,462,1937,1938,1948,1949,1950]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var IAPBase = function () {
    function IAPBase() {
      var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      (0, _classCallCheck2.default)(this, IAPBase);
      this.callbackToServer = undefined;
      this.onPurchaseError = undefined;
      this.callbackToServer = props.callbackToServer;
      this.onPurchaseError = props.onPurchaseError;
    }

    (0, _createClass2.default)(IAPBase, [{
      key: "init",
      value: function init() {
        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", false);

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getProducts",
      value: function getProducts(skus) {
        return _regenerator.default.async(function getProducts$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", []);

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getSubscriptions",
      value: function getSubscriptions(skus) {
        return _regenerator.default.async(function getSubscriptions$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                return _context3.abrupt("return", []);

              case 1:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getSubscriptionOffersDetails",
      value: function getSubscriptionOffersDetails(skus) {
        return [];
      }
    }, {
      key: "requestPurchase",
      value: function requestPurchase(sku) {
        return _regenerator.default.async(function requestPurchase$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                return _context4.abrupt("return", undefined);

              case 1:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "requestSubscription",
      value: function requestSubscription(sku) {
        return _regenerator.default.async(function requestSubscription$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                return _context5.abrupt("return", undefined);

              case 1:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getAvailablePurchases",
      value: function getAvailablePurchases() {
        return _regenerator.default.async(function getAvailablePurchases$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                return _context6.abrupt("return", undefined);

              case 1:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "registerReceiver",
      value: function registerReceiver() {}
    }, {
      key: "unregisterReceiver",
      value: function unregisterReceiver() {}
    }, {
      key: "finishTransaction",
      value: function finishTransaction(purchase) {}
    }, {
      key: "_callServerToStoreIAP",
      value: function _callServerToStoreIAP(params) {
        return _regenerator.default.async(function _callServerToStoreIAP$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                if (!(typeof this.callbackToServer === "function")) {
                  _context7.next = 7;
                  break;
                }

                _context7.prev = 1;
                return _context7.abrupt("return", this.callbackToServer(params));

              case 5:
                _context7.prev = 5;
                _context7.t0 = _context7["catch"](1);

              case 7:
                return _context7.abrupt("return", false);

              case 8:
              case "end":
                return _context7.stop();
            }
          }
        }, null, this, [[1, 5]], Promise);
      }
    }, {
      key: "_concludePurchase",
      value: function _concludePurchase(purchase) {
        var success, productId, transactionId, receipt, originalTransactionId, originalTransactionDate;
        return _regenerator.default.async(function _concludePurchase$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                success = false;

                if (!purchase) {
                  _context8.next = 11;
                  break;
                }

                productId = purchase.productId, transactionId = purchase.transactionId, receipt = purchase.receipt, originalTransactionId = purchase.originalTransactionId, originalTransactionDate = purchase.originalTransactionDate;
                _context8.prev = 3;
                _context8.next = 6;
                return _regenerator.default.awrap(this._callServerToStoreIAP({
                  productId: productId,
                  transactionId: transactionId,
                  receipt: receipt,
                  originalTransactionId: originalTransactionId,
                  originalTransactionDate: originalTransactionDate
                }));

              case 6:
                success = _context8.sent;
                _context8.next = 11;
                break;

              case 9:
                _context8.prev = 9;
                _context8.t0 = _context8["catch"](3);

              case 11:
                return _context8.abrupt("return", success);

              case 12:
              case "end":
                return _context8.stop();
            }
          }
        }, null, this, [[3, 9]], Promise);
      }
    }, {
      key: "restoreTransactions",
      value: function restoreTransactions(productId) {
        return _regenerator.default.async(function restoreTransactions$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                return _context9.abrupt("return", []);

              case 1:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getBoughtSubscriptions",
      value: function getBoughtSubscriptions() {
        return _regenerator.default.async(function getBoughtSubscriptions$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                return _context10.abrupt("return", []);

              case 1:
              case "end":
                return _context10.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "isSandboxReceipt",
      value: function isSandboxReceipt(receipt) {
        return global.__DEV__;
      }
    }, {
      key: "getPurchaseUpdateOperationsInQueue",
      value: function getPurchaseUpdateOperationsInQueue() {
        return 0;
      }
    }, {
      key: "onPurchaseUpdateOperationsIdle",
      value: function onPurchaseUpdateOperationsIdle() {
        return _regenerator.default.async(function onPurchaseUpdateOperationsIdle$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                return _context11.abrupt("return", Promise.resolve());

              case 1:
              case "end":
                return _context11.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "onPurchaseUpdateOperationAdded",
      value: function onPurchaseUpdateOperationAdded(callback) {}
    }, {
      key: "onPurchaseUpdateOperationCompleted",
      value: function onPurchaseUpdateOperationCompleted(callback) {}
    }]);
    return IAPBase;
  }();

  exports.default = IAPBase;
},1935,[5,80,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var endpoints = {
    receipt_manager: "receipt_manager.php",
    ipn: "ipn.php",
    restore_transactions: "restore_transactions.php"
  };
  var IPNStatus = {
    SUCCESS: "Completed",
    FAILED: "Failed"
  };

  var IAPApi = function () {
    function IAPApi() {
      (0, _classCallCheck2.default)(this, IAPApi);
    }

    (0, _createClass2.default)(IAPApi, null, [{
      key: "baseUrl",
      value: function baseUrl(endpoint) {
        var _global$getActivePSet = global.getActivePSetup(),
            baseInAppPurchaseAPIUrl = _global$getActivePSet.baseInAppPurchaseAPIUrl;

        return _$$_REQUIRE(_dependencyMap[7]).StringUtils.appendParams(_$$_REQUIRE(_dependencyMap[7]).NetworkUtils.addDefaultProtocol(baseInAppPurchaseAPIUrl).concat("/" + endpoint), _Api.default.getDefaultParams());
      }
    }, {
      key: "receiptManager",
      value: function receiptManager(model) {
        var _global$getActivePSet2, loginStatus, TAUID, receipt;

        return _regenerator.default.async(function receiptManager$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _global$getActivePSet2 = global.getActivePSetup(), loginStatus = _global$getActivePSet2.loginStatus;
                TAUID = loginStatus.TAUID;
                receipt = model.receipt;
                return _context.abrupt("return", _Api.default.post(IAPApi.baseUrl(endpoints.receipt_manager), {}, {
                  action: "write",
                  tauid: TAUID,
                  receipt: receipt
                }));

              case 4:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getCustomParam",
      value: function getCustomParam() {
        var _global$getActivePSet3 = global.getActivePSetup(),
            pSetup = _global$getActivePSet3.pSetup,
            paper = _global$getActivePSet3.xpaper;

        var type = "ipad";

        if (_$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isAndroid()) {
          type = "play";

          if (_deviceUtils.default.isKindle()) {
            type = "amazon";
          }
        }

        return pSetup + "#" + paper + "#" + type + "_payment";
      }
    }, {
      key: "ipn",
      value: function ipn(success, model, isSandbox) {
        var _global$getActivePSet4, loginStatus, TAUID, invoiceId, originalTransactionId, transactionId, recurringSubscriptionId, edition, editionId, receipt, productId, payment_status, otherParams;

        return _regenerator.default.async(function ipn$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _global$getActivePSet4 = global.getActivePSetup(), loginStatus = _global$getActivePSet4.loginStatus;
                TAUID = loginStatus.TAUID;
                invoiceId = model.invoiceId, originalTransactionId = model.originalTransactionId, transactionId = model.transactionId, recurringSubscriptionId = model.recurringSubscriptionId, edition = model.edition, editionId = model.editionId, receipt = model.receipt, productId = model.productId;
                payment_status = success ? IPNStatus.SUCCESS : IPNStatus.FAILED;
                otherParams = {
                  product_id: productId,
                  payment_status: payment_status,
                  invoice: invoiceId,
                  custom: IAPApi.getCustomParam(),
                  txn_id: transactionId,
                  original_txn_id: originalTransactionId,
                  edition: edition,
                  editionid: editionId,
                  TAUID: TAUID,
                  doPost: false,
                  isSandbox: isSandbox || undefined
                };

                if (model.isRecurring()) {
                  otherParams = (0, _extends2.default)({}, otherParams, {
                    txn_type: "subscr_payment",
                    subscr_id: recurringSubscriptionId,
                    receipt: receipt
                  });
                }

                return _context2.abrupt("return", _Api.default.post(IAPApi.baseUrl(endpoints.ipn), {
                  responseType: "text"
                }, otherParams));

              case 7:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "restoreTransactions",
      value: function restoreTransactions(restoredTransactions, isSandbox) {
        var transactions;
        return _regenerator.default.async(function restoreTransactions$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                transactions = restoredTransactions.map(function (restoredTransaction) {
                  return {
                    productID: restoredTransaction.productId,
                    purchase_date: restoredTransaction.purchaseDate,
                    expires_date: restoredTransaction.expiresDate,
                    cancellation_date: restoredTransaction.cancellationDate,
                    cancel_reason: restoredTransaction.cancelReason,
                    original_transaction_id: restoredTransaction.originalTransactionId,
                    receipt: restoredTransaction.receipt,
                    transaction_id: restoredTransaction.transactionId
                  };
                });
                return _context3.abrupt("return", _Api.default.post(IAPApi.baseUrl(endpoints.restore_transactions), {
                  responseType: "text",
                  timeout: 60000
                }, {
                  transactions: JSON.stringify(transactions),
                  isSandbox: isSandbox || undefined
                }));

              case 2:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return IAPApi;
  }();

  exports.default = IAPApi;
},1936,[5,80,6,7,8,431,458,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.IAPTecnaviaModel = exports.IAPTecnaviaType = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var IAPTecnaviaType = {
    NON_CONSUMABLE: 0,
    CONSUMABLE: 1,
    SUBSCRIPTION: 2
  };
  exports.IAPTecnaviaType = IAPTecnaviaType;

  var IAPTecnaviaModel = function () {
    function IAPTecnaviaModel() {
      (0, _classCallCheck2.default)(this, IAPTecnaviaModel);
    }

    (0, _createClass2.default)(IAPTecnaviaModel, [{
      key: "setProductId",
      value: function setProductId(productId) {
        this.productId = productId;
      }
    }, {
      key: "setType",
      value: function setType(type) {
        this.type = type;
      }
    }, {
      key: "setTitle",
      value: function setTitle(title) {
        this.title = title;
      }
    }, {
      key: "setDescription",
      value: function setDescription(description) {
        this.description = description;
      }
    }, {
      key: "setPSetup",
      value: function setPSetup(pSetup) {
        this.pSetup = pSetup;
      }
    }, {
      key: "setIssue",
      value: function setIssue(issue) {
        this.issue = issue;
      }
    }, {
      key: "setEdition",
      value: function setEdition(edition) {
        this.edition = edition;
      }
    }, {
      key: "setEditionId",
      value: function setEditionId(editionId) {
        this.editionId = editionId;
      }
    }, {
      key: "setInvoiceId",
      value: function setInvoiceId(invoiceId) {
        this.invoiceId = invoiceId;
      }
    }, {
      key: "setTransactionId",
      value: function setTransactionId(transactionId) {
        this.transactionId = transactionId;
      }
    }, {
      key: "setOriginalTransactionId",
      value: function setOriginalTransactionId(originalTransactionId) {
        this.originalTransactionId = originalTransactionId;
      }
    }, {
      key: "setOriginalTransactionDate",
      value: function setOriginalTransactionDate(originalTransactionDate) {
        this.originalTransactionDate = originalTransactionDate;
      }
    }, {
      key: "setReceipt",
      value: function setReceipt(receipt) {
        this.receipt = receipt;
      }
    }, {
      key: "setRecurringSubscriptionPeriod",
      value: function setRecurringSubscriptionPeriod(recurringSubscriptionPeriod) {
        this.recurringSubscriptionPeriod = recurringSubscriptionPeriod;
      }
    }, {
      key: "setRecurringSubscriptionId",
      value: function setRecurringSubscriptionId(recurringSubscriptionId) {
        this.recurringSubscriptionId = recurringSubscriptionId;
      }
    }, {
      key: "isRecurring",
      value: function isRecurring() {
        return !!this.recurringSubscriptionPeriod;
      }
    }]);
    return IAPTecnaviaModel;
  }();

  exports.IAPTecnaviaModel = IAPTecnaviaModel;
},1937,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.IAPGoogle = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _IAPrnBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _Payment = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _NewsmemoryAJAX = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var RNIap = _optionalPackageUtils.default.getIapModule();

  var IAPGoogle = function (_IAPrnBase) {
    (0, _inherits2.default)(IAPGoogle, _IAPrnBase);

    var _super = _createSuper(IAPGoogle);

    function IAPGoogle() {
      var _this;

      (0, _classCallCheck2.default)(this, IAPGoogle);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.lastGoogleToken = undefined;
      _this.lastGoogleTokenRequest = -1;
      return _this;
    }

    (0, _createClass2.default)(IAPGoogle, [{
      key: "getGoogleReceiptOldMethod",
      value: function getGoogleReceiptOldMethod(receipt) {
        var isSubscription,
            currentTime,
            _args = arguments;
        return _regenerator.default.async(function getGoogleReceiptOldMethod$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                isSubscription = _args.length > 1 && _args[1] !== undefined ? _args[1] : true;

                if (!_optionalPackageUtils.default.isIapModuleAvailable()) {
                  _context.next = 11;
                  break;
                }

                currentTime = new Date().getTime();

                if (!(!this.lastGoogleToken || this.lastGoogleTokenRequest + this.lastGoogleToken.expires_in * 1000 < currentTime)) {
                  _context.next = 8;
                  break;
                }

                this.lastGoogleTokenRequest = currentTime;
                _context.next = 7;
                return _regenerator.default.awrap(this.getToken());

              case 7:
                this.lastGoogleToken = _context.sent;

              case 8:
                if (!this.lastGoogleToken) {
                  _context.next = 10;
                  break;
                }

                return _context.abrupt("return", RNIap.validateReceiptAndroid(global.androidAppId, receipt.productId, receipt.purchaseToken, this.lastGoogleToken.access_token, true));

              case 10:
                throw new Error("access_token not found");

              case 11:
                return _context.abrupt("return", undefined);

              case 12:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getGoogleReceipt",
      value: function getGoogleReceipt(receipt) {
        var isSubscription,
            _args2 = arguments;
        return _regenerator.default.async(function getGoogleReceipt$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                isSubscription = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : true;
                _context2.next = 3;
                return _regenerator.default.awrap(_NewsmemoryAJAX.default.validateReceipt({
                  service: "google",
                  packageName: global.androidAppId,
                  productId: receipt.productId,
                  purchaseToken: receipt.purchaseToken,
                  isSubscription: isSubscription
                }));

              case 3:
                return _context2.abrupt("return", _context2.sent.data);

              case 4:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "isReceiptActive",
      value: function isReceiptActive(receipt) {
        if (receipt) {
          var expiryTimeMillis = receipt.expiryTimeMillis;
          var expireMills = parseInt(expiryTimeMillis, 10);
          var currentTime = new Date();
          return currentTime < new Date(expireMills);
        }

        return false;
      }
    }, {
      key: "validateReceipt",
      value: function validateReceipt(receipt) {
        var parsedReceipt, subscription, googleReceipt;
        return _regenerator.default.async(function validateReceipt$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                if (!receipt) {
                  _context3.next = 15;
                  break;
                }

                _context3.prev = 1;
                parsedReceipt = JSON.parse(receipt);
                _context3.next = 5;
                return _regenerator.default.awrap(this.getSubscriptions([parsedReceipt.productId]));

              case 5:
                subscription = _context3.sent.length;

                if (!subscription) {
                  _context3.next = 11;
                  break;
                }

                _context3.next = 9;
                return _regenerator.default.awrap(this.getGoogleReceipt(parsedReceipt));

              case 9:
                googleReceipt = _context3.sent;
                return _context3.abrupt("return", this.isReceiptActive(googleReceipt));

              case 11:
                _context3.next = 15;
                break;

              case 13:
                _context3.prev = 13;
                _context3.t0 = _context3["catch"](1);

              case 15:
                return _context3.abrupt("return", false);

              case 16:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, [[1, 13]], Promise);
      }
    }, {
      key: "getOriginalTransactionId",
      value: function getOriginalTransactionId(purchase) {
        var transactionId = purchase.transactionId;
        return transactionId.replace(/\.\.[0-9]+/, "");
      }
    }, {
      key: "restoreTransactions",
      value: function restoreTransactions(productId) {
        return _regenerator.default.async(function restoreTransactions$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                return _context4.abrupt("return", this.getBoughtSubscriptions(productId));

              case 1:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getActiveSubscriptions",
      value: function getActiveSubscriptions(excludeProductId) {
        var activeSubscriptions;
        return _regenerator.default.async(function getActiveSubscriptions$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                _context5.next = 2;
                return _regenerator.default.awrap(this.getBoughtSubscriptions());

              case 2:
                activeSubscriptions = _context5.sent;
                return _context5.abrupt("return", this.applyFiltersToSubscriptions(activeSubscriptions));

              case 4:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getSubscriptionOffersDetails",
      value: function getSubscriptionOffersDetails() {
        var subscriptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        var sku = arguments.length > 1 ? arguments[1] : undefined;
        var selectedOfferIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;

        if (!sku) {
          throw new Error("Sku must be valid");
        }

        if (!subscriptions.length) {
          throw new Error("Subscriptions can't be empty");
        }

        for (var i = 0; i < subscriptions.length; i++) {
          var _subscriptions$i = subscriptions[i],
              productId = _subscriptions$i.productId,
              _subscriptions$i$subs = _subscriptions$i.subscriptionOfferDetails,
              subscriptionOfferDetails = _subscriptions$i$subs === undefined ? [] : _subscriptions$i$subs;

          if (productId === sku) {
            var offer = subscriptionOfferDetails[selectedOfferIndex];

            if (offer) {
              return {
                sku: productId,
                offerToken: offer.offerToken
              };
            }

            throw new Error("Found subscription for " + sku + " but there aren't any offer available");
          }
        }

        throw new Error("Not found subscription for " + sku);
      }
    }, {
      key: "applyFiltersToSubscriptions",
      value: function applyFiltersToSubscriptions(activeSubscriptions) {
        var _this2 = this;

        return activeSubscriptions.filter(function (subscription) {
          return subscription.getCancelReason() === -1;
        }).filter(function (subscription) {
          return _this2.isReceiptActive({
            expiryTimeMillis: subscription.expiresDate
          });
        });
      }
    }, {
      key: "getBoughtSubscriptions",
      value: function getBoughtSubscriptions(productId) {
        var purchases, transactions, i, purchase, payment, parsedReceipt, googleReceipt, transactionId, transaction;
        return _regenerator.default.async(function getBoughtSubscriptions$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                _context6.next = 2;
                return _regenerator.default.awrap(this.getAvailablePurchases());

              case 2:
                purchases = _context6.sent;

                if (productId) {
                  purchases = purchases.filter(function (purchase) {
                    return purchase.productId === productId;
                  });
                }

                transactions = [];

                if (!(purchases && purchases.length > 0)) {
                  _context6.next = 24;
                  break;
                }

                i = 0;

              case 7:
                if (!(i < purchases.length)) {
                  _context6.next = 24;
                  break;
                }

                purchase = purchases[i];
                payment = global.getActivePSetup().getPaymentByProductId(purchase.productId);
                parsedReceipt = JSON.parse(purchase.receipt);
                googleReceipt = undefined;
                _context6.prev = 12;
                _context6.next = 15;
                return _regenerator.default.awrap(this.getGoogleReceipt(parsedReceipt, payment.isSubscription()));

              case 15:
                googleReceipt = _context6.sent;
                _context6.next = 20;
                break;

              case 18:
                _context6.prev = 18;
                _context6.t0 = _context6["catch"](12);

              case 20:
                if (googleReceipt) {
                  transactionId = googleReceipt.orderId;
                  transaction = new (_$$_REQUIRE(_dependencyMap[12]).IAPTecnaviaRestoreModel)();
                  transaction.setProductId(purchase.productId);
                  transaction.setTransactionId(transactionId);

                  if (transactionId) {
                    transaction.setOriginalTransactionId(this.getOriginalTransactionId({
                      transactionId: transactionId
                    }));
                  }

                  transaction.setReceipt(purchase.receipt);
                  transaction.setPurchaseDate(purchase.purchaseDate);
                  transaction.setExpiresDate(googleReceipt.expiryTimeMillis);
                  transaction.setOriginalPurchaseDate(googleReceipt.startTimeMillis);
                  transaction.setCancellationDate(googleReceipt.userCancellationTimeMillis);
                  transaction.setCancelReason(googleReceipt.cancelReason !== undefined ? googleReceipt.cancelReason : -1);
                  transactions.push(transaction);
                }

              case 21:
                i++;
                _context6.next = 7;
                break;

              case 24:
                return _context6.abrupt("return", transactions);

              case 25:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, [[12, 18]], Promise);
      }
    }, {
      key: "getToken",
      value: function getToken() {
        return _regenerator.default.async(function getToken$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                _context7.next = 2;
                return _regenerator.default.awrap(_Api.default.getGoogleAccessToken());

              case 2:
                return _context7.abrupt("return", _context7.sent.data);

              case 3:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return IAPGoogle;
  }(_IAPrnBase2.default);

  exports.IAPGoogle = IAPGoogle;
},1938,[5,80,7,8,12,14,16,1939,431,720,731,430,1947]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _pQueue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _IAPBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _Payment = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var RNIap = _optionalPackageUtils.default.getIapModule();

  var IAPrnBase = function (_IAPBase) {
    (0, _inherits2.default)(IAPrnBase, _IAPBase);

    var _super = _createSuper(IAPrnBase);

    function IAPrnBase(props) {
      var _this;

      (0, _classCallCheck2.default)(this, IAPrnBase);
      _this = _super.call(this, props);
      _this.purchaseUpdateAddedCallback = undefined;
      _this.purchaseUpdateCompletedCallback = undefined;
      _this.purchaseUpdateSubscription = undefined;
      _this.purchaseErrorSubscription = undefined;
      _this.currentPurchaseId = undefined;
      _this.onPurchaseUpdateListener = _this._onPurchaseUpdateListener.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPurchaseErrorListener = _this._onPurchaseErrorListener.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(IAPrnBase, [{
      key: "init",
      value: function init() {
        var result;
        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                result = false;

                if (!_optionalPackageUtils.default.isIapModuleAvailable()) {
                  _context.next = 20;
                  break;
                }

                _context.prev = 2;
                _context.next = 5;
                return _regenerator.default.awrap(RNIap.initConnection());

              case 5:
                result = _context.sent;

                if (!_$$_REQUIRE(_dependencyMap[13]).PlatformUtils.isAndroid()) {
                  _context.next = 14;
                  break;
                }

                _context.prev = 7;
                _context.next = 10;
                return _regenerator.default.awrap(RNIap.flushFailedPurchasesCachedAsPendingAndroid());

              case 10:
                _context.next = 14;
                break;

              case 12:
                _context.prev = 12;
                _context.t0 = _context["catch"](7);

              case 14:
                this.purchaseUpdateQueue = new _pQueue.default({
                  concurrency: 1
                });
                this.registerReceiver();
                _context.next = 20;
                break;

              case 18:
                _context.prev = 18;
                _context.t1 = _context["catch"](2);

              case 20:
                return _context.abrupt("return", result);

              case 21:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[2, 18], [7, 12]], Promise);
      }
    }, {
      key: "_onPurchaseErrorListener",
      value: function _onPurchaseErrorListener(error) {
        if (typeof this.onPurchaseError === "function") {
          this.onPurchaseError((0, _extends2.default)({}, error, {
            productId: this.currentPurchaseId
          }));

          this._resetPurchaseId();
        }
      }
    }, {
      key: "_onPurchaseUpdateListener",
      value: function _onPurchaseUpdateListener(purchase) {
        var _this2 = this;

        _$$_REQUIRE(_dependencyMap[13]).Logger.log("Purchase update: ", purchase);

        if (typeof this.purchaseUpdateAddedCallback === "function") {
          this.purchaseUpdateAddedCallback(purchase);
        }

        this.purchaseUpdateQueue.add(function _callee() {
          var result;
          return _regenerator.default.async(function _callee$(_context2) {
            while (1) {
              switch (_context2.prev = _context2.next) {
                case 0:
                  _context2.next = 2;
                  return _regenerator.default.awrap(_this2._concludePurchase({
                    productId: _this2.getProductId(purchase),
                    transactionId: _this2.getTransactionId(purchase),
                    receipt: _this2.getReceipt(purchase),
                    originalTransactionId: _this2.getOriginalTransactionId(purchase),
                    originalTransactionDate: _this2.getOriginalTransactionDate(purchase)
                  }));

                case 2:
                  result = _context2.sent;

                  if (result) {
                    _this2.finishTransaction(purchase);
                  }

                  if (typeof _this2.purchaseUpdateCompletedCallback === "function") {
                    _this2.purchaseUpdateCompletedCallback(purchase);
                  }

                  _this2._resetPurchaseId();

                case 6:
                case "end":
                  return _context2.stop();
              }
            }
          }, null, null, null, Promise);
        });
      }
    }, {
      key: "_resetPurchaseId",
      value: function _resetPurchaseId() {
        this.currentPurchaseId = undefined;
      }
    }, {
      key: "getProducts",
      value: function getProducts() {
        var skus,
            products,
            _args3 = arguments;
        return _regenerator.default.async(function getProducts$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                skus = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : [];

                if (!_optionalPackageUtils.default.isIapModuleAvailable()) {
                  _context3.next = 11;
                  break;
                }

                _context3.prev = 2;
                _context3.next = 5;
                return _regenerator.default.awrap(RNIap.getProducts({
                  skus: skus
                }));

              case 5:
                products = _context3.sent;
                return _context3.abrupt("return", products);

              case 9:
                _context3.prev = 9;
                _context3.t0 = _context3["catch"](2);

              case 11:
                return _context3.abrupt("return", []);

              case 12:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, [[2, 9]], Promise);
      }
    }, {
      key: "getSubscriptions",
      value: function getSubscriptions() {
        var skus,
            subscriptions,
            _args4 = arguments;
        return _regenerator.default.async(function getSubscriptions$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                skus = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : [];
                _context4.prev = 1;
                _context4.next = 4;
                return _regenerator.default.awrap(RNIap.getSubscriptions({
                  skus: skus
                }));

              case 4:
                subscriptions = _context4.sent;
                return _context4.abrupt("return", subscriptions);

              case 8:
                _context4.prev = 8;
                _context4.t0 = _context4["catch"](1);

              case 10:
                return _context4.abrupt("return", []);

              case 11:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, [[1, 8]], Promise);
      }
    }, {
      key: "requestPurchase",
      value: function requestPurchase(sku) {
        return _regenerator.default.async(function requestPurchase$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                if (!_optionalPackageUtils.default.isIapModuleAvailable()) {
                  _context5.next = 3;
                  break;
                }

                this.currentPurchaseId = sku;
                return _context5.abrupt("return", RNIap.requestPurchase({
                  sku: sku,
                  skus: [sku],
                  andDangerouslyFinishTransactionAutomaticallyIOS: false
                }));

              case 3:
                return _context5.abrupt("return", Promise.reject(new Error("Iap module not available")));

              case 4:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "requestSubscription",
      value: function requestSubscription(sku, offersDetails) {
        return _regenerator.default.async(function requestSubscription$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                if (!_optionalPackageUtils.default.isIapModuleAvailable()) {
                  _context6.next = 3;
                  break;
                }

                this.currentPurchaseId = sku;
                return _context6.abrupt("return", RNIap.requestSubscription({
                  sku: sku,
                  subscriptionOffers: offersDetails,
                  andDangerouslyFinishTransactionAutomaticallyIOS: false
                }));

              case 3:
                return _context6.abrupt("return", Promise.reject(new Error("Iap module not available")));

              case 4:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "finishTransaction",
      value: function finishTransaction(purchase) {
        if (_optionalPackageUtils.default.isIapModuleAvailable()) {
          var payment = global.getActivePSetup().getPaymentByProductId(purchase.productId);

          if (payment) {
            RNIap.finishTransaction({
              purchase: purchase,
              isConsumable: payment.isConsumable()
            });
          } else {
            RNIap.finishTransaction({
              purchase: purchase,
              isConsumable: true
            });
          }
        }
      }
    }, {
      key: "getProductId",
      value: function getProductId(purchase) {
        return purchase.productId;
      }
    }, {
      key: "getReceipt",
      value: function getReceipt(purchase) {
        return purchase.transactionReceipt;
      }
    }, {
      key: "getTransactionId",
      value: function getTransactionId(purchase) {
        return purchase.transactionId;
      }
    }, {
      key: "getOriginalTransactionId",
      value: function getOriginalTransactionId(purchase) {
        return purchase.transactionId;
      }
    }, {
      key: "getOriginalTransactionDate",
      value: function getOriginalTransactionDate(purchase) {
        return purchase.originalTransactionDateIOS;
      }
    }, {
      key: "registerReceiver",
      value: function registerReceiver() {
        if (_optionalPackageUtils.default.isIapModuleAvailable()) {
          this.purchaseUpdateSubscription = RNIap.purchaseUpdatedListener(this.onPurchaseUpdateListener);
          this.purchaseErrorSubscription = RNIap.purchaseErrorListener(this.onPurchaseErrorListener);
        }
      }
    }, {
      key: "applyFiltersToSubscriptions",
      value: function applyFiltersToSubscriptions(activeSubscriptions) {
        return activeSubscriptions;
      }
    }, {
      key: "getAvailablePurchases",
      value: function getAvailablePurchases() {
        var history, histories, orderedHistories;
        return _regenerator.default.async(function getAvailablePurchases$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                history = [];

                if (!_optionalPackageUtils.default.isIapModuleAvailable()) {
                  _context7.next = 7;
                  break;
                }

                _context7.next = 4;
                return _regenerator.default.awrap(RNIap.getPurchaseHistory());

              case 4:
                histories = _context7.sent;
                orderedHistories = histories.sort(function (a, b) {
                  return b.transactionDate - a.transactionDate;
                });
                history = orderedHistories.map(function (purchase) {
                  var model = new (_$$_REQUIRE(_dependencyMap[14]).IAPRestoreModel)();
                  model.setProductId(purchase.productId);
                  model.setPurchaseDate(purchase.transactionDate);
                  model.setTransactionId(purchase.purchaseToken);
                  model.setReceipt(purchase.transactionReceipt);
                  model.setOriginalTransactionId(purchase.purchaseToken);
                  model.setOriginalTransactionDate(purchase.transactionDate);
                  return model;
                });

              case 7:
                return _context7.abrupt("return", history);

              case 8:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "unregisterReceiver",
      value: function unregisterReceiver() {
        if (this.purchaseUpdateSubscription) {
          this.purchaseUpdateSubscription.remove();
          this.purchaseUpdateSubscription = undefined;
        }

        if (this.purchaseErrorSubscription) {
          this.purchaseErrorSubscription.remove();
          this.purchaseErrorSubscription = undefined;
        }
      }
    }, {
      key: "getPurchaseUpdateOperationsInQueue",
      value: function getPurchaseUpdateOperationsInQueue() {
        return this.purchaseUpdateQueue.size;
      }
    }, {
      key: "onPurchaseUpdateOperationsIdle",
      value: function onPurchaseUpdateOperationsIdle() {
        return _regenerator.default.async(function onPurchaseUpdateOperationsIdle$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                return _context8.abrupt("return", this.purchaseUpdateQueue.onIdle());

              case 1:
              case "end":
                return _context8.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "onPurchaseUpdateOperationAdded",
      value: function onPurchaseUpdateOperationAdded(callback) {
        this.purchaseUpdateAddedCallback = callback;
      }
    }, {
      key: "onPurchaseUpdateOperationCompleted",
      value: function onPurchaseUpdateOperationCompleted(callback) {
        this.purchaseUpdateCompletedCallback = callback;
      }
    }]);
    return IAPrnBase;
  }(_IAPBase2.default);

  exports.default = IAPrnBase;
},1939,[5,80,6,7,8,15,12,14,16,1940,1935,720,731,462,1946]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var empty = function empty() {};

  var timeoutError = new (_$$_REQUIRE(_dependencyMap[2]).TimeoutError)();

  var PQueue = function (_EventEmitter) {
    _$$_REQUIRE(_dependencyMap[3])(PQueue, _EventEmitter);

    var _super = _createSuper(PQueue);

    function PQueue(options) {
      var _this;

      _$$_REQUIRE(_dependencyMap[4])(this, PQueue);

      var _a, _b, _c, _d;

      _this = _super.call(this);
      _this._intervalCount = 0;
      _this._intervalEnd = 0;
      _this._pendingCount = 0;
      _this._resolveEmpty = empty;
      _this._resolveIdle = empty;
      options = _$$_REQUIRE(_dependencyMap[5])({
        carryoverConcurrencyCount: false,
        intervalCap: Infinity,
        interval: 0,
        concurrency: Infinity,
        autoStart: true,
        queueClass: _$$_REQUIRE(_dependencyMap[6]).default
      }, options);

      if (!(typeof options.intervalCap === 'number' && options.intervalCap >= 1)) {
        throw new TypeError("Expected `intervalCap` to be a number from 1 and up, got `" + ((_b = (_a = options.intervalCap) === null || _a === undefined ? undefined : _a.toString()) !== null && _b !== undefined ? _b : '') + "` (" + typeof options.intervalCap + ")");
      }

      if (options.interval === undefined || !(Number.isFinite(options.interval) && options.interval >= 0)) {
        throw new TypeError("Expected `interval` to be a finite number >= 0, got `" + ((_d = (_c = options.interval) === null || _c === undefined ? undefined : _c.toString()) !== null && _d !== undefined ? _d : '') + "` (" + typeof options.interval + ")");
      }

      _this._carryoverConcurrencyCount = options.carryoverConcurrencyCount;
      _this._isIntervalIgnored = options.intervalCap === Infinity || options.interval === 0;
      _this._intervalCap = options.intervalCap;
      _this._interval = options.interval;
      _this._queue = new options.queueClass();
      _this._queueClass = options.queueClass;
      _this.concurrency = options.concurrency;
      _this._timeout = options.timeout;
      _this._throwOnTimeout = options.throwOnTimeout === true;
      _this._isPaused = options.autoStart === false;
      return _this;
    }

    _$$_REQUIRE(_dependencyMap[7])(PQueue, [{
      key: "_doesIntervalAllowAnother",
      get: function get() {
        return this._isIntervalIgnored || this._intervalCount < this._intervalCap;
      }
    }, {
      key: "_doesConcurrentAllowAnother",
      get: function get() {
        return this._pendingCount < this._concurrency;
      }
    }, {
      key: "_next",
      value: function _next() {
        this._pendingCount--;

        this._tryToStartAnother();

        this.emit('next');
      }
    }, {
      key: "_resolvePromises",
      value: function _resolvePromises() {
        this._resolveEmpty();

        this._resolveEmpty = empty;

        if (this._pendingCount === 0) {
          this._resolveIdle();

          this._resolveIdle = empty;
          this.emit('idle');
        }
      }
    }, {
      key: "_onResumeInterval",
      value: function _onResumeInterval() {
        this._onInterval();

        this._initializeIntervalIfNeeded();

        this._timeoutId = undefined;
      }
    }, {
      key: "_isIntervalPaused",
      value: function _isIntervalPaused() {
        var _this2 = this;

        var now = Date.now();

        if (this._intervalId === undefined) {
          var delay = this._intervalEnd - now;

          if (delay < 0) {
            this._intervalCount = this._carryoverConcurrencyCount ? this._pendingCount : 0;
          } else {
            if (this._timeoutId === undefined) {
              this._timeoutId = setTimeout(function () {
                _this2._onResumeInterval();
              }, delay);
            }

            return true;
          }
        }

        return false;
      }
    }, {
      key: "_tryToStartAnother",
      value: function _tryToStartAnother() {
        if (this._queue.size === 0) {
          if (this._intervalId) {
            clearInterval(this._intervalId);
          }

          this._intervalId = undefined;

          this._resolvePromises();

          return false;
        }

        if (!this._isPaused) {
          var canInitializeInterval = !this._isIntervalPaused();

          if (this._doesIntervalAllowAnother && this._doesConcurrentAllowAnother) {
            var job = this._queue.dequeue();

            if (!job) {
              return false;
            }

            this.emit('active');
            job();

            if (canInitializeInterval) {
              this._initializeIntervalIfNeeded();
            }

            return true;
          }
        }

        return false;
      }
    }, {
      key: "_initializeIntervalIfNeeded",
      value: function _initializeIntervalIfNeeded() {
        var _this3 = this;

        if (this._isIntervalIgnored || this._intervalId !== undefined) {
          return;
        }

        this._intervalId = setInterval(function () {
          _this3._onInterval();
        }, this._interval);
        this._intervalEnd = Date.now() + this._interval;
      }
    }, {
      key: "_onInterval",
      value: function _onInterval() {
        if (this._intervalCount === 0 && this._pendingCount === 0 && this._intervalId) {
          clearInterval(this._intervalId);
          this._intervalId = undefined;
        }

        this._intervalCount = this._carryoverConcurrencyCount ? this._pendingCount : 0;

        this._processQueue();
      }
    }, {
      key: "_processQueue",
      value: function _processQueue() {
        while (this._tryToStartAnother()) {}
      }
    }, {
      key: "concurrency",
      get: function get() {
        return this._concurrency;
      },
      set: function set(newConcurrency) {
        if (!(typeof newConcurrency === 'number' && newConcurrency >= 1)) {
          throw new TypeError("Expected `concurrency` to be a number from 1 and up, got `" + newConcurrency + "` (" + typeof newConcurrency + ")");
        }

        this._concurrency = newConcurrency;

        this._processQueue();
      }
    }, {
      key: "add",
      value: function add(fn) {
        var _this4 = this;

        var options,
            _args2 = arguments;
        return _$$_REQUIRE(_dependencyMap[8]).async(function add$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                options = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {};
                return _context2.abrupt("return", new Promise(function (resolve, reject) {
                  var run = function _callee() {
                    var operation;
                    return _$$_REQUIRE(_dependencyMap[8]).async(function _callee$(_context) {
                      while (1) {
                        switch (_context.prev = _context.next) {
                          case 0:
                            _this4._pendingCount++;
                            _this4._intervalCount++;
                            _context.prev = 2;
                            operation = _this4._timeout === undefined && options.timeout === undefined ? fn() : _$$_REQUIRE(_dependencyMap[2]).default(Promise.resolve(fn()), options.timeout === undefined ? _this4._timeout : options.timeout, function () {
                              if (options.throwOnTimeout === undefined ? _this4._throwOnTimeout : options.throwOnTimeout) {
                                reject(timeoutError);
                              }

                              return undefined;
                            });
                            _context.t0 = resolve;
                            _context.next = 7;
                            return _$$_REQUIRE(_dependencyMap[8]).awrap(operation);

                          case 7:
                            _context.t1 = _context.sent;
                            (0, _context.t0)(_context.t1);
                            _context.next = 14;
                            break;

                          case 11:
                            _context.prev = 11;
                            _context.t2 = _context["catch"](2);
                            reject(_context.t2);

                          case 14:
                            _this4._next();

                          case 15:
                          case "end":
                            return _context.stop();
                        }
                      }
                    }, null, null, [[2, 11]], Promise);
                  };

                  _this4._queue.enqueue(run, options);

                  _this4._tryToStartAnother();

                  _this4.emit('add');
                }));

              case 2:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "addAll",
      value: function addAll(functions, options) {
        var _this5 = this;

        return _$$_REQUIRE(_dependencyMap[8]).async(function addAll$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                return _context4.abrupt("return", Promise.all(functions.map(function _callee2(function_) {
                  return _$$_REQUIRE(_dependencyMap[8]).async(function _callee2$(_context3) {
                    while (1) {
                      switch (_context3.prev = _context3.next) {
                        case 0:
                          return _context3.abrupt("return", _this5.add(function_, options));

                        case 1:
                        case "end":
                          return _context3.stop();
                      }
                    }
                  }, null, null, null, Promise);
                })));

              case 1:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "start",
      value: function start() {
        if (!this._isPaused) {
          return this;
        }

        this._isPaused = false;

        this._processQueue();

        return this;
      }
    }, {
      key: "pause",
      value: function pause() {
        this._isPaused = true;
      }
    }, {
      key: "clear",
      value: function clear() {
        this._queue = new this._queueClass();
      }
    }, {
      key: "onEmpty",
      value: function onEmpty() {
        var _this6 = this;

        return _$$_REQUIRE(_dependencyMap[8]).async(function onEmpty$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                if (!(this._queue.size === 0)) {
                  _context5.next = 2;
                  break;
                }

                return _context5.abrupt("return");

              case 2:
                return _context5.abrupt("return", new Promise(function (resolve) {
                  var existingResolve = _this6._resolveEmpty;

                  _this6._resolveEmpty = function () {
                    existingResolve();
                    resolve();
                  };
                }));

              case 3:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "onIdle",
      value: function onIdle() {
        var _this7 = this;

        return _$$_REQUIRE(_dependencyMap[8]).async(function onIdle$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                if (!(this._pendingCount === 0 && this._queue.size === 0)) {
                  _context6.next = 2;
                  break;
                }

                return _context6.abrupt("return");

              case 2:
                return _context6.abrupt("return", new Promise(function (resolve) {
                  var existingResolve = _this7._resolveIdle;

                  _this7._resolveIdle = function () {
                    existingResolve();
                    resolve();
                  };
                }));

              case 3:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "size",
      get: function get() {
        return this._queue.size;
      }
    }, {
      key: "sizeBy",
      value: function sizeBy(options) {
        return this._queue.filter(options).length;
      }
    }, {
      key: "pending",
      get: function get() {
        return this._pendingCount;
      }
    }, {
      key: "isPaused",
      get: function get() {
        return this._isPaused;
      }
    }, {
      key: "timeout",
      get: function get() {
        return this._timeout;
      },
      set: function set(milliseconds) {
        this._timeout = milliseconds;
      }
    }]);

    return PQueue;
  }(_$$_REQUIRE(_dependencyMap[9]));

  exports.default = PQueue;
},1940,[16,14,1941,12,7,6,1943,8,80,1945]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _$$_REQUIRE(_dependencyMap[0])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _$$_REQUIRE(_dependencyMap[0])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _$$_REQUIRE(_dependencyMap[1])(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TimeoutError = function (_Error) {
    _$$_REQUIRE(_dependencyMap[2])(TimeoutError, _Error);

    var _super = _createSuper(TimeoutError);

    function TimeoutError(message) {
      var _this;

      _$$_REQUIRE(_dependencyMap[3])(this, TimeoutError);

      _this = _super.call(this, message);
      _this.name = 'TimeoutError';
      return _this;
    }

    return TimeoutError;
  }(_$$_REQUIRE(_dependencyMap[4])(Error));

  var pTimeout = function pTimeout(promise, milliseconds, fallback) {
    return new Promise(function (resolve, reject) {
      if (typeof milliseconds !== 'number' || milliseconds < 0) {
        throw new TypeError('Expected `milliseconds` to be a positive number');
      }

      if (milliseconds === Infinity) {
        resolve(promise);
        return;
      }

      var timer = setTimeout(function () {
        if (typeof fallback === 'function') {
          try {
            resolve(fallback());
          } catch (error) {
            reject(error);
          }

          return;
        }

        var message = typeof fallback === 'string' ? fallback : "Promise timed out after " + milliseconds + " milliseconds";
        var timeoutError = fallback instanceof Error ? fallback : new TimeoutError(message);

        if (typeof promise.cancel === 'function') {
          promise.cancel();
        }

        reject(timeoutError);
      }, milliseconds);

      _$$_REQUIRE(_dependencyMap[5])(promise.then(resolve, reject), function () {
        clearTimeout(timer);
      });
    });
  };

  module.exports = pTimeout;
  module.exports.default = pTimeout;
  module.exports.TimeoutError = TimeoutError;
},1941,[16,14,12,7,63,1942]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  module.exports = function (promise, onFinally) {
    onFinally = onFinally || function () {};

    return promise.then(function (val) {
      return new Promise(function (resolve) {
        resolve(onFinally());
      }).then(function () {
        return val;
      });
    }, function (err) {
      return new Promise(function (resolve) {
        resolve(onFinally());
      }).then(function () {
        throw err;
      });
    });
  };
},1942,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  var PriorityQueue = function () {
    function PriorityQueue() {
      _$$_REQUIRE(_dependencyMap[0])(this, PriorityQueue);

      this._queue = [];
    }

    _$$_REQUIRE(_dependencyMap[1])(PriorityQueue, [{
      key: "enqueue",
      value: function enqueue(run, options) {
        options = _$$_REQUIRE(_dependencyMap[2])({
          priority: 0
        }, options);
        var element = {
          priority: options.priority,
          run: run
        };

        if (this.size && this._queue[this.size - 1].priority >= options.priority) {
          this._queue.push(element);

          return;
        }

        var index = _$$_REQUIRE(_dependencyMap[3]).default(this._queue, element, function (a, b) {
          return b.priority - a.priority;
        });

        this._queue.splice(index, 0, element);
      }
    }, {
      key: "dequeue",
      value: function dequeue() {
        var item = this._queue.shift();

        return item === null || item === undefined ? undefined : item.run;
      }
    }, {
      key: "filter",
      value: function filter(options) {
        return this._queue.filter(function (element) {
          return element.priority === options.priority;
        }).map(function (element) {
          return element.run;
        });
      }
    }, {
      key: "size",
      get: function get() {
        return this._queue.length;
      }
    }]);

    return PriorityQueue;
  }();

  exports.default = PriorityQueue;
},1943,[7,8,6,1944]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  Object.defineProperty(exports, "__esModule", {
    value: true
  });

  function lowerBound(array, value, comparator) {
    var first = 0;
    var count = array.length;

    while (count > 0) {
      var step = count / 2 | 0;
      var it = first + step;

      if (comparator(array[it], value) <= 0) {
        first = ++it;
        count -= step + 1;
      } else {
        count = step;
      }
    }

    return first;
  }

  exports.default = lowerBound;
},1944,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var has = Object.prototype.hasOwnProperty,
      prefix = '~';

  function Events() {}

  if (Object.create) {
    Events.prototype = Object.create(null);
    if (!new Events().__proto__) prefix = false;
  }

  function EE(fn, context, once) {
    this.fn = fn;
    this.context = context;
    this.once = once || false;
  }

  function addListener(emitter, event, fn, context, once) {
    if (typeof fn !== 'function') {
      throw new TypeError('The listener must be a function');
    }

    var listener = new EE(fn, context || emitter, once),
        evt = prefix ? prefix + event : event;
    if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);else emitter._events[evt] = [emitter._events[evt], listener];
    return emitter;
  }

  function clearEvent(emitter, evt) {
    if (--emitter._eventsCount === 0) emitter._events = new Events();else delete emitter._events[evt];
  }

  function EventEmitter() {
    this._events = new Events();
    this._eventsCount = 0;
  }

  EventEmitter.prototype.eventNames = function eventNames() {
    var names = [],
        events,
        name;
    if (this._eventsCount === 0) return names;

    for (name in events = this._events) {
      if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);
    }

    if (Object.getOwnPropertySymbols) {
      return names.concat(Object.getOwnPropertySymbols(events));
    }

    return names;
  };

  EventEmitter.prototype.listeners = function listeners(event) {
    var evt = prefix ? prefix + event : event,
        handlers = this._events[evt];
    if (!handlers) return [];
    if (handlers.fn) return [handlers.fn];

    for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {
      ee[i] = handlers[i].fn;
    }

    return ee;
  };

  EventEmitter.prototype.listenerCount = function listenerCount(event) {
    var evt = prefix ? prefix + event : event,
        listeners = this._events[evt];
    if (!listeners) return 0;
    if (listeners.fn) return 1;
    return listeners.length;
  };

  EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
    var evt = prefix ? prefix + event : event;
    if (!this._events[evt]) return false;
    var listeners = this._events[evt],
        len = arguments.length,
        args,
        i;

    if (listeners.fn) {
      if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);

      switch (len) {
        case 1:
          return listeners.fn.call(listeners.context), true;

        case 2:
          return listeners.fn.call(listeners.context, a1), true;

        case 3:
          return listeners.fn.call(listeners.context, a1, a2), true;

        case 4:
          return listeners.fn.call(listeners.context, a1, a2, a3), true;

        case 5:
          return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;

        case 6:
          return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;
      }

      for (i = 1, args = new Array(len - 1); i < len; i++) {
        args[i - 1] = arguments[i];
      }

      listeners.fn.apply(listeners.context, args);
    } else {
      var length = listeners.length,
          j;

      for (i = 0; i < length; i++) {
        if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);

        switch (len) {
          case 1:
            listeners[i].fn.call(listeners[i].context);
            break;

          case 2:
            listeners[i].fn.call(listeners[i].context, a1);
            break;

          case 3:
            listeners[i].fn.call(listeners[i].context, a1, a2);
            break;

          case 4:
            listeners[i].fn.call(listeners[i].context, a1, a2, a3);
            break;

          default:
            if (!args) for (j = 1, args = new Array(len - 1); j < len; j++) {
              args[j - 1] = arguments[j];
            }
            listeners[i].fn.apply(listeners[i].context, args);
        }
      }
    }

    return true;
  };

  EventEmitter.prototype.on = function on(event, fn, context) {
    return addListener(this, event, fn, context, false);
  };

  EventEmitter.prototype.once = function once(event, fn, context) {
    return addListener(this, event, fn, context, true);
  };

  EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {
    var evt = prefix ? prefix + event : event;
    if (!this._events[evt]) return this;

    if (!fn) {
      clearEvent(this, evt);
      return this;
    }

    var listeners = this._events[evt];

    if (listeners.fn) {
      if (listeners.fn === fn && (!once || listeners.once) && (!context || listeners.context === context)) {
        clearEvent(this, evt);
      }
    } else {
      for (var i = 0, events = [], length = listeners.length; i < length; i++) {
        if (listeners[i].fn !== fn || once && !listeners[i].once || context && listeners[i].context !== context) {
          events.push(listeners[i]);
        }
      }

      if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;else clearEvent(this, evt);
    }

    return this;
  };

  EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {
    var evt;

    if (event) {
      evt = prefix ? prefix + event : event;
      if (this._events[evt]) clearEvent(this, evt);
    } else {
      this._events = new Events();
      this._eventsCount = 0;
    }

    return this;
  };

  EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
  EventEmitter.prototype.addListener = EventEmitter.prototype.on;
  EventEmitter.prefixed = prefix;
  EventEmitter.EventEmitter = EventEmitter;

  if ('undefined' !== typeof module) {
    module.exports = EventEmitter;
  }
},1945,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.IAPRestoreModel = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var IAPRestoreModel = function () {
    function IAPRestoreModel() {
      (0, _classCallCheck2.default)(this, IAPRestoreModel);
    }

    (0, _createClass2.default)(IAPRestoreModel, [{
      key: "setProductId",
      value: function setProductId(productId) {
        this.productId = productId;
      }
    }, {
      key: "setReceipt",
      value: function setReceipt(receipt) {
        this.receipt = receipt;
      }
    }, {
      key: "setPurchaseDate",
      value: function setPurchaseDate(date) {
        this.purchaseDate = date;
      }
    }, {
      key: "setTransactionId",
      value: function setTransactionId(transactionId) {
        this.transactionId = transactionId;
      }
    }, {
      key: "setOriginalTransactionId",
      value: function setOriginalTransactionId(originalTransactionId) {
        this.originalTransactionId = originalTransactionId;
      }
    }, {
      key: "setOriginalTransactionDate",
      value: function setOriginalTransactionDate(originalTransactionDate) {
        this.originalTransactionDate = originalTransactionDate;
      }
    }, {
      key: "setUserId",
      value: function setUserId(userId) {
        this.userId = userId;
      }
    }]);
    return IAPRestoreModel;
  }();

  exports.IAPRestoreModel = IAPRestoreModel;
},1946,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.IAPTecnaviaRestoreModel = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var IAPTecnaviaRestoreModel = function () {
    function IAPTecnaviaRestoreModel() {
      (0, _classCallCheck2.default)(this, IAPTecnaviaRestoreModel);
    }

    (0, _createClass2.default)(IAPTecnaviaRestoreModel, [{
      key: "setProductId",
      value: function setProductId(productId) {
        this.productId = productId;
      }
    }, {
      key: "setTransactionId",
      value: function setTransactionId(transactionId) {
        this.transactionId = transactionId;
      }
    }, {
      key: "setOriginalTransactionId",
      value: function setOriginalTransactionId(originalTransactionId) {
        this.originalTransactionId = originalTransactionId;
      }
    }, {
      key: "setOriginalPurchaseDate",
      value: function setOriginalPurchaseDate(originalTransactionDate) {
        this.originalTransactionDate = originalTransactionDate;
      }
    }, {
      key: "setReceipt",
      value: function setReceipt(receipt) {
        this.receipt = receipt;
      }
    }, {
      key: "setPurchaseDate",
      value: function setPurchaseDate(purchaseDate) {
        this.purchaseDate = purchaseDate;
      }
    }, {
      key: "setExpiresDate",
      value: function setExpiresDate(expiresDate) {
        this.expiresDate = expiresDate;
      }
    }, {
      key: "setCancellationDate",
      value: function setCancellationDate(cancellationDate) {
        this.cancellationDate = cancellationDate;
      }
    }, {
      key: "setCancelReason",
      value: function setCancelReason(cancelReason) {
        this.cancelReason = cancelReason;
      }
    }, {
      key: "getCancelReason",
      value: function getCancelReason() {
        return this.cancelReason;
      }
    }]);
    return IAPTecnaviaRestoreModel;
  }();

  exports.IAPTecnaviaRestoreModel = IAPTecnaviaRestoreModel;
},1947,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.IAPApple = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _cryptoJs = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _IAPrnBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _NewsmemoryAJAX = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var IOS_RESTORE_TRANSACTIONS_ERRORS = {
    NO_SECRET: "No secret provided",
    UNABLE_TO_DECODE_RECEIPT: "Unable to decode receipt"
  };

  var RNIap = _optionalPackageUtils.default.getIapModule();

  var IAPApple = function (_IAPrnBase) {
    (0, _inherits2.default)(IAPApple, _IAPrnBase);

    var _super = _createSuper(IAPApple);

    function IAPApple() {
      var _this;

      (0, _classCallCheck2.default)(this, IAPApple);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.isRestoringTransactions = false;
      return _this;
    }

    (0, _createClass2.default)(IAPApple, [{
      key: "_onPurchaseUpdateListener",
      value: function _onPurchaseUpdateListener(purchase) {
        if (!this.isRestoringTransactions) {
          (0, _get2.default)((0, _getPrototypeOf2.default)(IAPApple.prototype), "_onPurchaseUpdateListener", this).call(this, purchase);
        }
      }
    }, {
      key: "requestPurchase",
      value: function requestPurchase(sku) {
        return _regenerator.default.async(function requestPurchase$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                this.isRestoringTransactions = false;
                return _context.abrupt("return", (0, _get2.default)((0, _getPrototypeOf2.default)(IAPApple.prototype), "requestPurchase", this).call(this, sku));

              case 2:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "requestSubscription",
      value: function requestSubscription(sku, offersDetails) {
        return _regenerator.default.async(function requestSubscription$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                this.isRestoringTransactions = false;
                return _context2.abrupt("return", (0, _get2.default)((0, _getPrototypeOf2.default)(IAPApple.prototype), "requestSubscription", this).call(this, sku, offersDetails));

              case 2:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getAvailablePurchases",
      value: function getAvailablePurchases() {
        var history, histories, orderedHistories;
        return _regenerator.default.async(function getAvailablePurchases$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                history = [];

                if (!_optionalPackageUtils.default.isIapModuleAvailable()) {
                  _context3.next = 7;
                  break;
                }

                _context3.next = 4;
                return _regenerator.default.awrap(RNIap.getAvailablePurchases());

              case 4:
                histories = _context3.sent;
                orderedHistories = histories.sort(function (a, b) {
                  return b.transactionDate - a.transactionDate;
                });
                history = orderedHistories.map(function (purchase) {
                  var model = new (_$$_REQUIRE(_dependencyMap[12]).IAPRestoreModel)();
                  model.setProductId(purchase.productId);
                  model.setPurchaseDate(purchase.transactionDate);
                  model.setTransactionId(purchase.transactionId);
                  model.setReceipt(purchase.transactionReceipt);
                  model.setOriginalTransactionId(purchase.originalTransactionIdentifierIOS);
                  model.setOriginalTransactionDate(purchase.originalTransactionDateIOS);
                  return model;
                });

              case 7:
                return _context3.abrupt("return", history);

              case 8:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getSharedSecret",
      value: function getSharedSecret() {
        var _global$getActivePSet = global.getActivePSetup(),
            forcedSharedSecret = _global$getActivePSet.forcedSharedSecret;

        return forcedSharedSecret || global.iosIapSharedSecret;
      }
    }, {
      key: "useDebugServer",
      value: function useDebugServer() {
        var _global$getActivePSet2 = global.getActivePSetup(),
            useIOSSandboxReceiptValidation = _global$getActivePSet2.useIOSSandboxReceiptValidation;

        return useIOSSandboxReceiptValidation || global.isDebug;
      }
    }, {
      key: "validateReceipt",
      value: function validateReceipt(receipt) {
        var _await$this$decodeRec, status, decodedReceipt, iapList, now, validTransactions;

        return _regenerator.default.async(function validateReceipt$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                _context4.next = 2;
                return _regenerator.default.awrap(this.decodeReceipt(receipt));

              case 2:
                _await$this$decodeRec = _context4.sent;
                status = _await$this$decodeRec.status;
                decodedReceipt = _await$this$decodeRec.decodedReceipt;

                if (!(status === 0 && decodedReceipt)) {
                  _context4.next = 10;
                  break;
                }

                iapList = decodedReceipt.in_app;
                now = new Date().getTime();
                validTransactions = iapList.filter(function (purchase) {
                  return purchase.expires_date_ms && parseInt(purchase.expires_date_ms, 10) >= now;
                });
                return _context4.abrupt("return", validTransactions.length > 0);

              case 10:
                return _context4.abrupt("return", false);

              case 11:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "decodeReceiptLocal",
      value: function decodeReceiptLocal(receipt) {
        var status, decodedReceipt, errorMessage, password, receiptBody, testServer, result;
        return _regenerator.default.async(function decodeReceiptLocal$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                status = -1;
                errorMessage = "";

                if (!_optionalPackageUtils.default.isIapModuleAvailable()) {
                  _context5.next = 18;
                  break;
                }

                password = this.getSharedSecret();

                if (!password) {
                  _context5.next = 18;
                  break;
                }

                receiptBody = {
                  "receipt-data": receipt,
                  password: password
                };
                _context5.prev = 6;
                testServer = this.useDebugServer();
                _context5.next = 10;
                return _regenerator.default.awrap(RNIap.validateReceiptIos(receiptBody, testServer));

              case 10:
                result = _context5.sent;
                status = result.status;
                decodedReceipt = result.receipt;
                _context5.next = 18;
                break;

              case 15:
                _context5.prev = 15;
                _context5.t0 = _context5["catch"](6);
                errorMessage = _context5.t0.message;

              case 18:
                return _context5.abrupt("return", {
                  status: status,
                  decodedReceipt: decodedReceipt,
                  errorMessage: errorMessage
                });

              case 19:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, [[6, 15]], Promise);
      }
    }, {
      key: "decodeReceipt",
      value: function decodeReceipt(receipt) {
        var status, decodedReceipt, latestReceiptInfo, errorMessage, response, data;
        return _regenerator.default.async(function decodeReceipt$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                status = -1;
                errorMessage = "";
                _context6.prev = 2;
                _context6.next = 5;
                return _regenerator.default.awrap(_NewsmemoryAJAX.default.validateReceipt({
                  service: "apple",
                  receipt: receipt
                }));

              case 5:
                response = _context6.sent;
                data = response.data;
                status = data.status;
                decodedReceipt = data.receipt;
                latestReceiptInfo = data.latest_receipt_info;
                errorMessage = data.error;
                _context6.next = 16;
                break;

              case 13:
                _context6.prev = 13;
                _context6.t0 = _context6["catch"](2);
                errorMessage = _context6.t0.message;

              case 16:
                return _context6.abrupt("return", {
                  status: status,
                  decodedReceipt: decodedReceipt,
                  latestReceiptInfo: latestReceiptInfo,
                  errorMessage: errorMessage
                });

              case 17:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, [[2, 13]], Promise);
      }
    }, {
      key: "getBoughtSubscriptions",
      value: function getBoughtSubscriptions() {
        var purchases, transactions, receipt, _await$this$decodeRec2, status, decodedReceipt, latestReceiptInfo, errorMessage, iapList;

        return _regenerator.default.async(function getBoughtSubscriptions$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                _context7.next = 2;
                return _regenerator.default.awrap(this.getAvailablePurchases());

              case 2:
                purchases = _context7.sent;
                transactions = [];

                if (!(purchases.length > 0)) {
                  _context7.next = 20;
                  break;
                }

                receipt = purchases[purchases.length - 1].receipt;
                _context7.next = 8;
                return _regenerator.default.awrap(this.decodeReceipt(receipt));

              case 8:
                _await$this$decodeRec2 = _context7.sent;
                status = _await$this$decodeRec2.status;
                decodedReceipt = _await$this$decodeRec2.decodedReceipt;
                latestReceiptInfo = _await$this$decodeRec2.latestReceiptInfo;
                errorMessage = _await$this$decodeRec2.errorMessage;

                if (!decodedReceipt) {
                  _context7.next = 19;
                  break;
                }

                iapList = decodedReceipt.in_app;

                if (!_$$_REQUIRE(_dependencyMap[13]).JSUtils.isEmpty(latestReceiptInfo)) {
                  latestReceiptInfo.forEach(function (purchase) {
                    var found = iapList.findIndex(function (iap) {
                      return iap.transaction_id === purchase.transaction_id;
                    }) !== -1;

                    if (!found) {
                      iapList.push(purchase);
                    }
                  });
                  iapList.sort(function (a, b) {
                    return a.purchase_date_ms - b.purchase_date_ms;
                  });
                }

                transactions = iapList.map(function (purchase) {
                  var transaction = new (_$$_REQUIRE(_dependencyMap[14]).IAPTecnaviaRestoreModel)();
                  transaction.setProductId(purchase.product_id);
                  transaction.setTransactionId(purchase.transaction_id);
                  transaction.setOriginalTransactionId(purchase.original_transaction_id);
                  transaction.setOriginalPurchaseDate(purchase.original_purchase_date_ms);
                  transaction.setReceipt(receipt);
                  transaction.setPurchaseDate(purchase.purchase_date_ms);
                  transaction.setExpiresDate(purchase.expires_date_ms);
                  transaction.setCancellationDate(purchase.cancellation_date_ms);
                  return transaction;
                });
                _context7.next = 20;
                break;

              case 19:
                throw new Error(IOS_RESTORE_TRANSACTIONS_ERRORS.UNABLE_TO_DECODE_RECEIPT + ", status: " + status + " " + errorMessage);

              case 20:
                return _context7.abrupt("return", transactions);

              case 21:
              case "end":
                return _context7.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getActiveSubscriptions",
      value: function getActiveSubscriptions(excludeProductId) {
        var transactions, now;
        return _regenerator.default.async(function getActiveSubscriptions$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                _context8.next = 2;
                return _regenerator.default.awrap(this.getBoughtSubscriptions());

              case 2:
                transactions = _context8.sent;

                if (!transactions) {
                  _context8.next = 6;
                  break;
                }

                now = new Date().getTime();
                return _context8.abrupt("return", transactions.filter(function (transaction) {
                  return transaction.productId !== excludeProductId && _$$_REQUIRE(_dependencyMap[13]).JSUtils.isNull(transaction.cancellationDate) && transaction.expiresDate && parseInt(transaction.expiresDate, 10) >= now;
                }));

              case 6:
                return _context8.abrupt("return", []);

              case 7:
              case "end":
                return _context8.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "restoreTransactions",
      value: function restoreTransactions(productId) {
        var purchases;
        return _regenerator.default.async(function restoreTransactions$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                this.isRestoringTransactions = true;
                _context9.next = 3;
                return _regenerator.default.awrap(this.getBoughtSubscriptions());

              case 3:
                purchases = _context9.sent;
                this.isRestoringTransactions = false;
                return _context9.abrupt("return", purchases);

              case 6:
              case "end":
                return _context9.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "isSandboxReceipt",
      value: function isSandboxReceipt(receipt) {
        if (receipt) {
          try {
            var decodedReceipt = _cryptoJs.default.enc.Base64.parse(receipt);

            var receiptString = _cryptoJs.default.enc.Latin1.stringify(decodedReceipt);

            return receiptString.indexOf("ProductionSandbox") > -1;
          } catch (e) {}
        }

        return false;
      }
    }, {
      key: "getOriginalTransactionId",
      value: function getOriginalTransactionId(purchase) {
        var originalTransactionIdentifierIOS = purchase.originalTransactionIdentifierIOS,
            transactionId = purchase.transactionId;
        return originalTransactionIdentifierIOS || transactionId;
      }
    }]);
    return IAPApple;
  }(_IAPrnBase2.default);

  exports.IAPApple = IAPApple;
},1948,[5,80,7,8,90,12,14,16,604,1939,731,430,1946,462,1947]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.IAPAmazon = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _IAPrnBase2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _NewsmemoryAJAX = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var RNIap = _optionalPackageUtils.default.getIapModule();

  var IAPAmazon = function (_IAPrnBase) {
    (0, _inherits2.default)(IAPAmazon, _IAPrnBase);

    var _super = _createSuper(IAPAmazon);

    function IAPAmazon() {
      (0, _classCallCheck2.default)(this, IAPAmazon);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(IAPAmazon, [{
      key: "getAvailablePurchases",
      value: function getAvailablePurchases() {
        var items, history;
        return _regenerator.default.async(function getAvailablePurchases$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.prev = 0;
                _context.next = 3;
                return _regenerator.default.awrap(RNIap.getAvailablePurchases());

              case 3:
                items = _context.sent;
                history = items.filter(function (purchase) {
                  var transactionReceipt = purchase.transactionReceipt;
                  var receipt = JSON.parse(transactionReceipt);
                  return receipt.itemType === "SUBSCRIPTION";
                }).map(function (purchase) {
                  var transactionReceipt = purchase.transactionReceipt;
                  var receipt = JSON.parse(transactionReceipt);
                  var model = new (_$$_REQUIRE(_dependencyMap[10]).IAPRestoreModel)();
                  model.setProductId(receipt.sku);
                  model.setReceipt(receipt.receiptId);
                  model.setPurchaseDate(receipt.purchaseDate);
                  model.setUserId(purchase.userIdAmazon);
                  return model;
                });
                return _context.abrupt("return", history);

              case 8:
                _context.prev = 8;
                _context.t0 = _context["catch"](0);

              case 10:
                return _context.abrupt("return", []);

              case 11:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[0, 8]], Promise);
      }
    }, {
      key: "getReceipt",
      value: function getReceipt(purchase) {
        return purchase.transactionReceipt;
      }
    }, {
      key: "getTransactionId",
      value: function getTransactionId(purchase) {
        var userIdAmazon = purchase.userIdAmazon,
            transactionReceipt = purchase.transactionReceipt,
            transactionDate = purchase.transactionDate;

        var _JSON$parse = JSON.parse(transactionReceipt),
            receiptId = _JSON$parse.receiptId;

        return this.generateTransactionId({
          userId: userIdAmazon,
          receiptId: receiptId,
          purchaseDate: transactionDate
        });
      }
    }, {
      key: "getOriginalTransactionId",
      value: function getOriginalTransactionId(purchase) {
        var userIdAmazon = purchase.userIdAmazon,
            transactionReceipt = purchase.transactionReceipt;

        var _JSON$parse2 = JSON.parse(transactionReceipt),
            receiptId = _JSON$parse2.receiptId;

        return this.generateTransactionId({
          userId: userIdAmazon,
          receiptId: receiptId
        });
      }
    }, {
      key: "getOriginalTransactionDate",
      value: function getOriginalTransactionDate(purchase) {
        return purchase.transactionDate;
      }
    }, {
      key: "generateTransactionId",
      value: function generateTransactionId(_ref) {
        var userId = _ref.userId,
            receiptId = _ref.receiptId,
            purchaseDate = _ref.purchaseDate;

        if (purchaseDate) {
          return _$$_REQUIRE(_dependencyMap[11]).StringUtils.getMd5(userId + "_" + receiptId + "_" + purchaseDate);
        }

        return _$$_REQUIRE(_dependencyMap[11]).StringUtils.getMd5(userId + "_" + receiptId);
      }
    }, {
      key: "getAmazonReceipt",
      value: function getAmazonReceipt(userId, receiptId) {
        return _regenerator.default.async(function getAmazonReceipt$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.next = 2;
                return _regenerator.default.awrap(_NewsmemoryAJAX.default.validateReceipt({
                  service: "amazon",
                  userId: userId,
                  receiptId: receiptId
                }));

              case 2:
                return _context2.abrupt("return", _context2.sent.data);

              case 3:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "validateReceipt",
      value: function validateReceipt(receipt) {
        var response, cancelDate;
        return _regenerator.default.async(function validateReceipt$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                if (!receipt) {
                  _context3.next = 12;
                  break;
                }

                _context3.prev = 1;
                _context3.next = 4;
                return _regenerator.default.awrap(this.getAmazonReceipt(receipt.userId, receipt.receiptId));

              case 4:
                response = _context3.sent;
                cancelDate = response.cancelDate;

                if (cancelDate) {
                  _context3.next = 8;
                  break;
                }

                return _context3.abrupt("return", true);

              case 8:
                _context3.next = 12;
                break;

              case 10:
                _context3.prev = 10;
                _context3.t0 = _context3["catch"](1);

              case 12:
                return _context3.abrupt("return", false);

              case 13:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, [[1, 10]], Promise);
      }
    }, {
      key: "restoreTransactions",
      value: function restoreTransactions(productId) {
        return _regenerator.default.async(function restoreTransactions$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                return _context4.abrupt("return", this.getBoughtSubscriptions(productId));

              case 1:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getActiveSubscriptions",
      value: function getActiveSubscriptions(excludeProductId) {
        var activeSubscriptions;
        return _regenerator.default.async(function getActiveSubscriptions$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                _context5.next = 2;
                return _regenerator.default.awrap(this.getBoughtSubscriptions());

              case 2:
                activeSubscriptions = _context5.sent;
                return _context5.abrupt("return", this.applyFiltersToSubscriptions(activeSubscriptions));

              case 4:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "applyFiltersToSubscriptions",
      value: function applyFiltersToSubscriptions(activeSubscriptions) {
        return activeSubscriptions.filter(function (subscription) {
          return !subscription.expiresDate;
        });
      }
    }, {
      key: "getBoughtSubscriptions",
      value: function getBoughtSubscriptions(productId) {
        var transactions, purchases, i, purchase, amazonReceipt, transaction;
        return _regenerator.default.async(function getBoughtSubscriptions$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                transactions = [];

                if (!_optionalPackageUtils.default.isAmazonLibraryAvailable()) {
                  _context6.next = 23;
                  break;
                }

                _context6.next = 4;
                return _regenerator.default.awrap(this.getAvailablePurchases());

              case 4:
                purchases = _context6.sent;

                if (productId) {
                  purchases = purchases.filter(function (purchase) {
                    return purchase.productId === productId;
                  });
                }

                if (!(purchases && purchases.length > 0)) {
                  _context6.next = 23;
                  break;
                }

                i = 0;

              case 8:
                if (!(i < purchases.length)) {
                  _context6.next = 23;
                  break;
                }

                purchase = purchases[i];
                amazonReceipt = undefined;
                _context6.prev = 11;
                _context6.next = 14;
                return _regenerator.default.awrap(this.getAmazonReceipt(purchase.userId, purchase.receipt));

              case 14:
                amazonReceipt = _context6.sent;
                _context6.next = 19;
                break;

              case 17:
                _context6.prev = 17;
                _context6.t0 = _context6["catch"](11);

              case 19:
                if (amazonReceipt) {
                  transaction = new (_$$_REQUIRE(_dependencyMap[12]).IAPTecnaviaRestoreModel)();
                  transaction.setProductId(amazonReceipt.productId);
                  transaction.setTransactionId(this.generateTransactionId({
                    userId: purchase.userId,
                    receiptId: purchase.receipt,
                    purchaseDate: amazonReceipt.purchaseDate
                  }));
                  transaction.setOriginalTransactionId(this.generateTransactionId({
                    userId: purchase.userId,
                    receiptId: purchase.receipt
                  }));
                  transaction.setOriginalPurchaseDate(amazonReceipt.purchaseDate);
                  transaction.setReceipt(purchase.receipt);
                  transaction.setExpiresDate(amazonReceipt.cancelDate || amazonReceipt.renewalDate);
                  transaction.setCancellationDate(amazonReceipt.cancelDate);
                  transactions.push(transaction);
                }

              case 20:
                i++;
                _context6.next = 8;
                break;

              case 23:
                return _context6.abrupt("return", transactions);

              case 24:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, [[11, 17]], Promise);
      }
    }]);
    return IAPAmazon;
  }(_IAPrnBase2.default);

  exports.IAPAmazon = IAPAmazon;
},1949,[5,80,7,8,12,14,16,731,1939,430,1946,462,1947]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},1950,[1951]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.LoadingOverlay = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var LoadingOverlay = function (_Component) {
    (0, _inherits2.default)(LoadingOverlay, _Component);

    var _super = _createSuper(LoadingOverlay);

    function LoadingOverlay(props) {
      var _this;

      (0, _classCallCheck2.default)(this, LoadingOverlay);
      _this = _super.call(this, props);
      _this.state = {
        isShow: false,
        texts: {},
        callback: undefined
      };
      _this.onLayout = _this._onLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.getText = _this._getText.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(LoadingOverlay, [{
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this.clearTimeout();
      }
    }, {
      key: "clearTimeout",
      value: function (_clearTimeout) {
        function clearTimeout() {
          return _clearTimeout.apply(this, arguments);
        }

        clearTimeout.toString = function () {
          return _clearTimeout.toString();
        };

        return clearTimeout;
      }(function () {
        if (this.timeoutId) {
          clearTimeout(this.timeoutId);
        }

        this.timeoutId = undefined;
      })
    }, {
      key: "showLoading",
      value: function showLoading() {
        var _this2 = this;

        var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
            _ref$id = _ref.id,
            id = _ref$id === undefined ? "generic" : _ref$id,
            text = _ref.text,
            _ref$timeout = _ref.timeout,
            timeout = _ref$timeout === undefined ? 30000 : _ref$timeout,
            callback = _ref.callback;

        var texts = this.state.texts;

        if (texts[id]) {
          this.clearTimeout();
        }

        texts[id] = text || global.strings("loading");
        this.setState({
          isShow: true,
          texts: texts,
          callback: callback
        }, function () {
          if (timeout !== -1) {
            _this2.timeoutId = setTimeout(function () {
              _this2.hideLoading({
                id: id
              });
            }, timeout);
          }
        });
      }
    }, {
      key: "hideLoading",
      value: function hideLoading() {
        var _this3 = this;

        var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
            _ref2$id = _ref2.id,
            id = _ref2$id === undefined ? "generic" : _ref2$id;

        var _this$state = this.state,
            isShow = _this$state.isShow,
            texts = _this$state.texts;
        if (!this.isShow && !isShow) return;

        if (id && texts[id]) {
          texts[id] = undefined;
        }

        var activeTexts = Object.values(texts).filter(function (value) {
          return value;
        });

        if (activeTexts.length > 0) {
          this.setState({
            texts: texts
          });
        } else {
          this.setState({
            isShow: false,
            texts: {},
            callback: undefined
          }, function () {
            _this3.clearTimeout();
          });
        }
      }
    }, {
      key: "_onLayout",
      value: function _onLayout() {
        var callback = this.state.callback;

        if (typeof callback === "function") {
          callback();
        }
      }
    }, {
      key: "_getText",
      value: function _getText() {
        var texts = this.state.texts;
        var activeTexts = Object.values(texts).filter(function (value) {
          return value;
        });
        return activeTexts.reduce(function (result, text) {
          return result + "\n" + text;
        }, "");
      }
    }, {
      key: "render",
      value: function render() {
        var isShow = this.state.isShow;

        var _global$getRssIndex = global.getRssIndex(),
            borderRadius = _global$getRssIndex.borderRadius;

        return isShow ? _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[9]).styles.container,
          pointerEvents: "box-only",
          onLayout: this.onLayout
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).ProgressCircle, {
          spinnerColor: _$$_REQUIRE(_dependencyMap[11]).colors.white,
          text: this.getText(),
          parentStyle: [_$$_REQUIRE(_dependencyMap[9]).styles.content, {
            borderRadius: borderRadius || 0
          }],
          textStyle: _$$_REQUIRE(_dependencyMap[9]).styles.text,
          showText: true
        })) : null;
      }
    }], [{
      key: "show",
      value: function show() {
        var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        this.loadingInstance.showLoading(params);
      }
    }, {
      key: "hide",
      value: function hide() {
        var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        this.loadingInstance.hideLoading(params);
      }
    }]);
    return LoadingOverlay;
  }(_react.Component);

  exports.LoadingOverlay = LoadingOverlay;
},1951,[5,7,8,15,12,14,16,17,28,1952,1953,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    container: {
      position: "absolute",
      start: 0,
      end: 0,
      top: 0,
      bottom: 0,
      flexDirection: "column",
      justifyContent: "center",
      alignItems: "center",
      elevation: 10000,
      zIndex: 10001
    },
    content: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.transparent200,
      borderRadius: 5,
      padding: 25,
      margin: 20,
      flexDirection: "column",
      justifyContent: "center",
      alignItems: "center"
    },
    text: {
      fontSize: 18,
      color: _$$_REQUIRE(_dependencyMap[1]).colors.white
    }
  });

  exports.styles = styles;
},1952,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},1953,[1898]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.trackNewsmemoryRoute = trackNewsmemoryRoute;
  exports.sendNewsmemoryEditionLoad = exports.sendNewsmemoryArticleClickThrough = exports.sendNewsmemoryExtraUrl = exports.sendNewsmemoryExtraVideo = exports.sendNewsmemoryExtraYoutube = exports.sendNewsmemoryArticleGallery = exports.sendNewsmemoryGallery = exports.sendNewsmemoryThumbnails = exports.sendNewsmemoryOptionspage = exports.sendNewsmemorySectionIndex = exports.sendNewsmemoryIndex = exports.sendNewsmemoryDownloadIpaddb = exports.sendNewsmemoryScroll = exports.sendNewsmemoryZoom = exports.sendNewsmemoryArticle = exports.sendNewsmemoryScrollZoomedEvent = exports.sendNewsmemoryPinchToZoomEvent = exports.sendNewsmemoryDoubleTapToZoomEvent = exports.sendNewsmemoryRotateEvent = exports.sendNewsmemoryDownloadPDFEvent = exports.sendNewsmemoryPrintEvent = exports.sendNewsmemoryToggleFullscreenEvent = exports.sendNewsmemoryGraphSizeChangeEvent = exports.sendNewsmemoryFontSizeChangeEvent = exports.sendNewsmemoryToogleArticleModeEvent = exports.sendNewsmemoryGoToLastPageEvent = exports.sendNewsmemoryTranslate = exports.sendNewsmemoryTTSEvent = exports.sendNewsmemoryLoginEvent = exports.sendNewsmemoryShareEvent = exports.sendNewsmemoryClearRecently = exports.sendNewsmemoryUseBeta = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _EPaperArticle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _pageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel) {
    if (editionModel) {
      var paper = editionModel.getPaper();
      var issue = editionModel.getIssue();
      var edition = editionModel.getEdition();
      var page;
      var section;
      var isFirstPage;

      if (pageModel) {
        page = _pageUtils.default.removeZerosFromPageNumber(pageModel.getPage());
        section = pageModel.getSection();
        var firstPage = editionModel.getFirstPage();
        isFirstPage = _pageUtils.default.comparePages(firstPage, pageModel);
      }

      return {
        paper: paper,
        issue: issue,
        edition: edition,
        page: page,
        section: section,
        isFirstPage: isFirstPage
      };
    }

    return {};
  }

  function trackSessionAction(params) {
    var _global$getActivePSet = global.getActivePSetup(),
        enableSessionCollection = _global$getActivePSet.enableSessionCollection;

    if (enableSessionCollection) {
      var action = params.action,
          event = params.event,
          rest = (0, _objectWithoutProperties2.default)(params, ["action", "event"]);
      var paper = rest.paper,
          edition = rest.edition,
          issue = rest.issue;

      if (paper && edition && issue) {
        _$$_REQUIRE(_dependencyMap[7]).NewspaperSessionManager.addAction(action, rest);
      }
    }
  }

  function trackSessionRoute(route, params) {
    var _global$getActivePSet2 = global.getActivePSetup(),
        enableSessionCollection = _global$getActivePSet2.enableSessionCollection;

    if (enableSessionCollection) {
      var paper = params.paper,
          edition = params.edition,
          issue = params.issue;

      if (paper && edition && issue) {
        _$$_REQUIRE(_dependencyMap[7]).NewspaperSessionManager.addRoute(route, params);
      }
    }
  }

  function trackNewsmemoryRoute(route, editionModel) {
    trackSessionRoute(route, getNewsmemoryAnalyticsDefaultParams(editionModel));
  }

  function sendNewsmemoryAnalytics(params) {
    try {
      var _screenMapping = (0, _$$_REQUIRE(_dependencyMap[8]).screenMapping)(params),
          screen = _screenMapping.screen,
          event = _screenMapping.event,
          firebaseScreenView = _screenMapping.firebaseScreenView,
          customDimensions = _screenMapping.customDimensions,
          remp = _screenMapping.remp;

      if (firebaseScreenView) {
        (0, _$$_REQUIRE(_dependencyMap[9]).trackCustomFirebaseScreen)(firebaseScreenView, screen);
      }

      (0, _$$_REQUIRE(_dependencyMap[9]).trackCustomFirebaseEvent)(event);
      (0, _$$_REQUIRE(_dependencyMap[9]).trackScreen)(screen, params, customDimensions);
      trackSessionAction((0, _extends2.default)({}, params, {
        action: params.event
      }));

      if (remp) {
        (0, _$$_REQUIRE(_dependencyMap[9]).trackRempAccount)(remp);
      }
    } catch (e) {}
  }

  function getArticleTitle(article) {
    var title = "";

    if (article) {
      var type = article.getType();

      var decodedTitle = _$$_REQUIRE(_dependencyMap[10]).StringUtils.decodeURIComponent(article.getTitle());

      title = type && type.toLowerCase() === "editorial" ? decodedTitle : type;
    }

    return title;
  }

  var sendNewsmemoryUseBeta = function sendNewsmemoryUseBeta(openRN) {
    (0, _$$_REQUIRE(_dependencyMap[9]).trackCustomFirebaseEvent)({
      customEvent: "epaper_demo",
      customParams: {
        device: (0, _$$_REQUIRE(_dependencyMap[11]).gaBreakout)(),
        action: openRN ? "use_rn_demo" : "use_classic"
      }
    });
  };

  exports.sendNewsmemoryUseBeta = sendNewsmemoryUseBeta;

  var sendNewsmemoryClearRecently = function sendNewsmemoryClearRecently() {
    (0, _$$_REQUIRE(_dependencyMap[9]).clearRecently)();
  };

  exports.sendNewsmemoryClearRecently = sendNewsmemoryClearRecently;

  var sendNewsmemoryShareEvent = function sendNewsmemoryShareEvent(editionModel, pageModel, article, sharedApp) {
    try {
      var issue = editionModel.getIssue();

      var edition = _$$_REQUIRE(_dependencyMap[10]).StringUtils.decodeHTML(editionModel.getEdition());

      var page = _pageUtils.default.removeZerosFromPageNumber(pageModel.getPage());

      var article_id = article ? article.getXmlId() : -1;
      var type = article ? article.getType() : "";
      var title = getArticleTitle(article);

      var action = _$$_REQUIRE(_dependencyMap[12]).analyticsScreenTypes.SHARE;

      sendNewsmemoryAnalytics((0, _extends2.default)({}, getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel), {
        event: "epaper_share",
        action: action,
        remp: encodeURIComponent(article_id),
        article_id: article_id,
        type: type,
        title: title,
        platform: sharedApp,
        screen: (0, _$$_REQUIRE(_dependencyMap[11]).getScreenString)({
          type: action,
          issue: issue,
          edition: edition,
          page: page,
          article: article_id,
          sharedApp: sharedApp
        })
      }));
    } catch (e) {}
  };

  exports.sendNewsmemoryShareEvent = sendNewsmemoryShareEvent;

  var sendNewsmemoryLoginEvent = function sendNewsmemoryLoginEvent(action) {
    var category = _$$_REQUIRE(_dependencyMap[12]).analyticsEventTypes.LOGIN;

    (0, _$$_REQUIRE(_dependencyMap[9]).trackEvent)({
      category: category,
      action: action,
      device: (0, _$$_REQUIRE(_dependencyMap[11]).gaBreakout)(),
      appMode: "ePaper"
    });
    (0, _$$_REQUIRE(_dependencyMap[9]).trackCustomFirebaseEvent)({
      customEvent: "epaper_login",
      customParams: (0, _$$_REQUIRE(_dependencyMap[11]).mapParamsToFirebaseCustomDimensions)({
        action: action
      })
    });
  };

  exports.sendNewsmemoryLoginEvent = sendNewsmemoryLoginEvent;

  var sendNewsmemoryTTSEvent = function sendNewsmemoryTTSEvent(action, editionModel, pageModel, article) {
    var category = _$$_REQUIRE(_dependencyMap[12]).analyticsEventTypes.TTS;

    var type = article ? article.getType() : "";
    var title = getArticleTitle(article);
    var params = (0, _extends2.default)({
      category: category,
      action: action,
      device: (0, _$$_REQUIRE(_dependencyMap[11]).gaBreakout)(),
      appMode: "ePaper",
      title: title,
      type: type
    }, getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel));
    (0, _$$_REQUIRE(_dependencyMap[9]).trackEvent)(params);
    (0, _$$_REQUIRE(_dependencyMap[9]).trackCustomFirebaseEvent)({
      customEvent: "epaper_tts",
      customParams: (0, _$$_REQUIRE(_dependencyMap[11]).mapParamsToFirebaseCustomDimensions)({
        action: action
      })
    });
    trackSessionAction(params);
  };

  exports.sendNewsmemoryTTSEvent = sendNewsmemoryTTSEvent;

  var sendNewsmemoryTranslate = function sendNewsmemoryTranslate(language, editionModel, pageModel, article) {
    try {
      var TRANSLATE = _$$_REQUIRE(_dependencyMap[12]).analyticsEventTypes.TRANSLATE;

      var params = (0, _extends2.default)({
        category: TRANSLATE,
        action: TRANSLATE + "_" + language,
        label: article.getTitle(),
        device: (0, _$$_REQUIRE(_dependencyMap[11]).gaBreakout)(),
        appMode: "ePaper"
      }, getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel));
      (0, _$$_REQUIRE(_dependencyMap[9]).trackEvent)(params);
      (0, _$$_REQUIRE(_dependencyMap[9]).trackCustomFirebaseEvent)({
        customEvent: "epaper_translate",
        customParams: (0, _extends2.default)({
          language: language
        }, (0, _$$_REQUIRE(_dependencyMap[11]).mapParamsToFirebaseCustomDimensions)({
          action: TRANSLATE
        }))
      });
      trackSessionAction(params);
    } catch (e) {}
  };

  exports.sendNewsmemoryTranslate = sendNewsmemoryTranslate;

  var sendNewsmemoryGoToLastPageEvent = function sendNewsmemoryGoToLastPageEvent(editionModel, pageModel) {
    var category = _$$_REQUIRE(_dependencyMap[12]).analyticsEventTypes.SKIP_TO_END;

    var commonParams = (0, _extends2.default)({
      device: (0, _$$_REQUIRE(_dependencyMap[11]).gaBreakout)(),
      appMode: "ePaper"
    }, getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel));
    (0, _$$_REQUIRE(_dependencyMap[9]).trackEvent)((0, _extends2.default)({
      category: category,
      action: pageModel.getPage()
    }, commonParams));
    (0, _$$_REQUIRE(_dependencyMap[9]).trackCustomFirebaseEvent)({
      customEvent: "epaper_go_to_last_page",
      customParams: (0, _$$_REQUIRE(_dependencyMap[11]).mapParamsToFirebaseCustomDimensions)((0, _extends2.default)({
        action: category
      }, commonParams))
    });
    trackSessionAction((0, _extends2.default)({
      action: "go_to_last_page"
    }, commonParams));
  };

  exports.sendNewsmemoryGoToLastPageEvent = sendNewsmemoryGoToLastPageEvent;

  var sendNewsmemoryToogleArticleModeEvent = function sendNewsmemoryToogleArticleModeEvent(action, editionModel, pageModel, article) {
    var TOGGLE_TO_PRINT = _$$_REQUIRE(_dependencyMap[12]).analyticsEventTypes.TOGGLE_TO_PRINT,
        TOGGLE_TO_DIGITAL = _$$_REQUIRE(_dependencyMap[12]).analyticsEventTypes.TOGGLE_TO_DIGITAL;

    var type = article ? article.getType() : "";
    var title = getArticleTitle(article);

    var isTextMode = action === _$$_REQUIRE(_dependencyMap[12]).NewsmemoryArticleModes.TEXT;

    var params = (0, _extends2.default)({
      category: isTextMode ? TOGGLE_TO_DIGITAL : TOGGLE_TO_PRINT,
      action: action,
      device: (0, _$$_REQUIRE(_dependencyMap[11]).gaBreakout)(),
      appMode: "ePaper",
      type: type,
      title: title
    }, getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel));
    (0, _$$_REQUIRE(_dependencyMap[9]).trackEvent)(params);
    var customEvent = isTextMode ? "epaper_article_toggle_text" : "epaper_article_toggle_graphic";
    (0, _$$_REQUIRE(_dependencyMap[9]).trackCustomFirebaseEvent)({
      customEvent: customEvent,
      customParams: (0, _$$_REQUIRE(_dependencyMap[11]).mapParamsToFirebaseCustomDimensions)(params)
    });
    trackSessionAction((0, _extends2.default)({}, params, {
      action: customEvent
    }));
  };

  exports.sendNewsmemoryToogleArticleModeEvent = sendNewsmemoryToogleArticleModeEvent;

  var sendNewsmemoryFontSizeChangeEvent = function sendNewsmemoryFontSizeChangeEvent(action, scale, editionModel, pageModel, article) {
    var FONT_SCALE = _$$_REQUIRE(_dependencyMap[12]).analyticsEventTypes.FONT_SCALE;

    var type = article ? article.getType() : "";
    var title = getArticleTitle(article);
    var params = (0, _extends2.default)({
      category: FONT_SCALE,
      action: action,
      label: scale,
      device: (0, _$$_REQUIRE(_dependencyMap[11]).gaBreakout)(),
      appMode: "ePaper",
      type: type,
      title: title
    }, getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel));
    trackSessionAction(params);
  };

  exports.sendNewsmemoryFontSizeChangeEvent = sendNewsmemoryFontSizeChangeEvent;

  var sendNewsmemoryGraphSizeChangeEvent = function sendNewsmemoryGraphSizeChangeEvent(action, scale, editionModel, pageModel, article) {
    var GRAPH_SIZE = _$$_REQUIRE(_dependencyMap[12]).analyticsEventTypes.GRAPH_SIZE;

    var type = article ? article.getType() : "";
    var title = getArticleTitle(article);
    var params = (0, _extends2.default)({
      category: GRAPH_SIZE,
      action: action,
      label: scale,
      device: (0, _$$_REQUIRE(_dependencyMap[11]).gaBreakout)(),
      appMode: "ePaper",
      type: type,
      title: title
    }, getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel));
    trackSessionAction(params);
  };

  exports.sendNewsmemoryGraphSizeChangeEvent = sendNewsmemoryGraphSizeChangeEvent;

  var sendNewsmemoryToggleFullscreenEvent = function sendNewsmemoryToggleFullscreenEvent(active, editionModel, pageModel, article) {
    var TOGGLE_FULLSCREEN = _$$_REQUIRE(_dependencyMap[12]).analyticsEventTypes.TOGGLE_FULLSCREEN;

    var type = article ? article.getType() : "";
    var title = getArticleTitle(article);
    var params = (0, _extends2.default)({
      category: TOGGLE_FULLSCREEN,
      action: active ? "epaper_article_fullscreen" : "epaper_article_half_screen",
      device: (0, _$$_REQUIRE(_dependencyMap[11]).gaBreakout)(),
      appMode: "ePaper",
      type: type,
      title: title
    }, getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel));
    trackSessionAction(params);
  };

  exports.sendNewsmemoryToggleFullscreenEvent = sendNewsmemoryToggleFullscreenEvent;

  var sendNewsmemoryPrintEvent = function sendNewsmemoryPrintEvent(editionModel, pageModel, article) {
    var PRINT = _$$_REQUIRE(_dependencyMap[12]).analyticsEventTypes.PRINT;

    var type = article ? article.getType() : "";
    var title = getArticleTitle(article);
    var params = (0, _extends2.default)({
      category: PRINT,
      action: PRINT,
      device: (0, _$$_REQUIRE(_dependencyMap[11]).gaBreakout)(),
      appMode: "ePaper",
      type: type,
      title: title
    }, getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel));
    trackSessionAction(params);
  };

  exports.sendNewsmemoryPrintEvent = sendNewsmemoryPrintEvent;

  var sendNewsmemoryDownloadPDFEvent = function sendNewsmemoryDownloadPDFEvent(editionModel, pageModel) {
    var DOWNLOAD_PDF = _$$_REQUIRE(_dependencyMap[12]).analyticsEventTypes.DOWNLOAD_PDF;

    var params = (0, _extends2.default)({
      category: DOWNLOAD_PDF,
      action: DOWNLOAD_PDF,
      device: (0, _$$_REQUIRE(_dependencyMap[11]).gaBreakout)(),
      appMode: "ePaper"
    }, getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel));
    trackSessionAction(params);
  };

  exports.sendNewsmemoryDownloadPDFEvent = sendNewsmemoryDownloadPDFEvent;

  var sendNewsmemoryRotateEvent = function sendNewsmemoryRotateEvent(orietation, editionModel) {
    var ROTATE = _$$_REQUIRE(_dependencyMap[12]).analyticsEventTypes.ROTATE;

    var params = (0, _extends2.default)({
      category: ROTATE,
      action: ROTATE + "_" + orietation.toLowerCase(),
      device: (0, _$$_REQUIRE(_dependencyMap[11]).gaBreakout)(),
      appMode: "ePaper"
    }, getNewsmemoryAnalyticsDefaultParams(editionModel));
    trackSessionAction(params);
  };

  exports.sendNewsmemoryRotateEvent = sendNewsmemoryRotateEvent;

  var sendNewsmemoryDoubleTapToZoomEvent = function sendNewsmemoryDoubleTapToZoomEvent(editionModel, pageModel) {
    var DOUBLE_TAP_TO_ZOOM = _$$_REQUIRE(_dependencyMap[12]).analyticsEventTypes.DOUBLE_TAP_TO_ZOOM;

    var ZOOM = _$$_REQUIRE(_dependencyMap[12]).analyticsScreenTypes.ZOOM;

    var commonParams = (0, _extends2.default)({
      device: (0, _$$_REQUIRE(_dependencyMap[11]).gaBreakout)(),
      appMode: "ePaper"
    }, getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel));
    (0, _$$_REQUIRE(_dependencyMap[9]).trackEvent)((0, _extends2.default)({
      category: DOUBLE_TAP_TO_ZOOM,
      action: ZOOM
    }, commonParams));
    var params = (0, _extends2.default)({
      action: DOUBLE_TAP_TO_ZOOM
    }, commonParams);
    (0, _$$_REQUIRE(_dependencyMap[9]).trackCustomFirebaseEvent)({
      customEvent: "epaper_double_tap_to_zoom",
      customParams: (0, _$$_REQUIRE(_dependencyMap[11]).mapParamsToFirebaseCustomDimensions)(params)
    });
    trackSessionAction(params);
  };

  exports.sendNewsmemoryDoubleTapToZoomEvent = sendNewsmemoryDoubleTapToZoomEvent;

  var sendNewsmemoryPinchToZoomEvent = function sendNewsmemoryPinchToZoomEvent(editionModel, pageModel, scale) {
    var PINCH_TO_ZOOM = _$$_REQUIRE(_dependencyMap[12]).analyticsEventTypes.PINCH_TO_ZOOM;

    var ZOOM = _$$_REQUIRE(_dependencyMap[12]).analyticsScreenTypes.ZOOM;

    var commonParams = (0, _extends2.default)({
      device: (0, _$$_REQUIRE(_dependencyMap[11]).gaBreakout)(),
      appMode: "ePaper"
    }, getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel), {
      scale: scale
    });
    (0, _$$_REQUIRE(_dependencyMap[9]).trackEvent)((0, _extends2.default)({
      category: PINCH_TO_ZOOM,
      action: ZOOM
    }, commonParams));
    var params = (0, _extends2.default)({
      action: PINCH_TO_ZOOM
    }, commonParams);
    (0, _$$_REQUIRE(_dependencyMap[9]).trackCustomFirebaseEvent)({
      customEvent: "epaper_pinch_to_zoom",
      customParams: (0, _$$_REQUIRE(_dependencyMap[11]).mapParamsToFirebaseCustomDimensions)(params)
    });
    trackSessionAction(params);
  };

  exports.sendNewsmemoryPinchToZoomEvent = sendNewsmemoryPinchToZoomEvent;

  var sendNewsmemoryScrollZoomedEvent = function sendNewsmemoryScrollZoomedEvent(editionModel, pageModel, areas) {
    var SCROLL_ZOOMED = _$$_REQUIRE(_dependencyMap[12]).analyticsEventTypes.SCROLL_ZOOMED;

    var ZOOM = _$$_REQUIRE(_dependencyMap[12]).analyticsScreenTypes.ZOOM;

    var commonParams = (0, _extends2.default)({
      device: (0, _$$_REQUIRE(_dependencyMap[11]).gaBreakout)(),
      appMode: "ePaper"
    }, getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel), {
      areas: areas
    });
    (0, _$$_REQUIRE(_dependencyMap[9]).trackEvent)((0, _extends2.default)({
      category: SCROLL_ZOOMED,
      action: ZOOM
    }, commonParams));
    var screen = (0, _$$_REQUIRE(_dependencyMap[11]).getScreenString)((0, _extends2.default)({
      type: ZOOM
    }, commonParams));
    (0, _$$_REQUIRE(_dependencyMap[9]).trackCustomFirebaseScreen)(_$$_REQUIRE(_dependencyMap[12]).firebaseAnalyticsScreenNames.ZOOM, screen);
    var params = (0, _extends2.default)({
      action: SCROLL_ZOOMED
    }, commonParams);
    (0, _$$_REQUIRE(_dependencyMap[9]).trackCustomFirebaseEvent)({
      customEvent: "epaper_scroll_zoomed",
      customParams: (0, _$$_REQUIRE(_dependencyMap[11]).mapParamsToFirebaseCustomDimensions)(params)
    });
    trackSessionAction(params);
  };

  exports.sendNewsmemoryScrollZoomedEvent = sendNewsmemoryScrollZoomedEvent;

  var sendNewsmemoryArticle = function sendNewsmemoryArticle(editionModel, pageModel, article, mode) {
    try {
      var _pageModel$getSection;

      var issue = editionModel.getIssue();

      var edition = _$$_REQUIRE(_dependencyMap[10]).StringUtils.decodeHTML(editionModel.getEdition());

      var page = _pageUtils.default.removeZerosFromPageNumber(pageModel.getPage());

      var article_id = article.getXmlId();
      var type = article ? article.getType() : "";
      var title = getArticleTitle(article);
      var section = (_pageModel$getSection = pageModel.getSection()) != null ? _pageModel$getSection : "";

      var action = _$$_REQUIRE(_dependencyMap[12]).analyticsScreenTypes.READ;

      sendNewsmemoryAnalytics((0, _extends2.default)({}, getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel), {
        event: "epaper_read_article",
        action: action,
        remp: encodeURIComponent(article_id),
        article_id: article_id,
        type: type,
        title: title,
        section: section,
        mode: mode,
        screen: (0, _$$_REQUIRE(_dependencyMap[11]).getScreenString)({
          type: action,
          issue: issue,
          edition: edition,
          page: page,
          article: article_id,
          title: title
        })
      }));
    } catch (e) {}
  };

  exports.sendNewsmemoryArticle = sendNewsmemoryArticle;

  var sendNewsmemoryZoom = function sendNewsmemoryZoom(editionModel, pageModel, scale) {
    try {
      var issue = editionModel.getIssue();

      var edition = _$$_REQUIRE(_dependencyMap[10]).StringUtils.decodeHTML(editionModel.getEdition());

      var page = _pageUtils.default.removeZerosFromPageNumber(pageModel.getPage());

      var action = _$$_REQUIRE(_dependencyMap[12]).analyticsScreenTypes.ZOOM;

      sendNewsmemoryAnalytics((0, _extends2.default)({}, getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel), {
        event: "epaper_zoom",
        action: action,
        remp: encodeURIComponent(pageModel.getPageId()),
        zoom: scale,
        screen: (0, _$$_REQUIRE(_dependencyMap[11]).getScreenString)({
          type: action,
          issue: issue,
          edition: edition,
          page: page
        })
      }));
    } catch (e) {}
  };

  exports.sendNewsmemoryZoom = sendNewsmemoryZoom;

  var sendNewsmemoryScroll = function sendNewsmemoryScroll(editionModel, pageModel, isZoomed) {
    try {
      var issue = editionModel.getIssue();

      var edition = _$$_REQUIRE(_dependencyMap[10]).StringUtils.decodeHTML(editionModel.getEdition());

      var page = _pageUtils.default.removeZerosFromPageNumber(pageModel.getPage());

      var action = _$$_REQUIRE(_dependencyMap[12]).analyticsScreenTypes.SCROLLED;

      sendNewsmemoryAnalytics((0, _extends2.default)({}, getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel), {
        event: "epaper_scroll",
        action: action,
        remp: encodeURIComponent(pageModel.getPageId()),
        screen: (0, _$$_REQUIRE(_dependencyMap[11]).getScreenString)({
          type: action,
          issue: issue,
          edition: edition,
          page: page
        }),
        isZoomed: isZoomed
      }));
    } catch (e) {}
  };

  exports.sendNewsmemoryScroll = sendNewsmemoryScroll;

  var sendNewsmemoryDownloadIpaddb = function sendNewsmemoryDownloadIpaddb(paper, issue, edition, speed) {
    try {
      (0, _$$_REQUIRE(_dependencyMap[9]).trackCustomFirebaseEvent)({
        customEvent: "download_epaper_db",
        customParams: (0, _$$_REQUIRE(_dependencyMap[11]).mapParamsToFirebaseCustomDimensions)({
          issue: issue,
          edition: edition
        })
      });
      trackSessionAction({
        action: "download_db",
        paper: paper,
        issue: issue,
        edition: edition,
        speed: speed
      });
    } catch (e) {}
  };

  exports.sendNewsmemoryDownloadIpaddb = sendNewsmemoryDownloadIpaddb;

  var sendNewsmemoryIndex = function sendNewsmemoryIndex(editionModel) {
    try {
      var issue = editionModel.getIssue();

      var edition = _$$_REQUIRE(_dependencyMap[10]).StringUtils.decodeHTML(editionModel.getEdition());

      var action = _$$_REQUIRE(_dependencyMap[12]).analyticsScreenTypes.INDEX;

      sendNewsmemoryAnalytics((0, _extends2.default)({}, getNewsmemoryAnalyticsDefaultParams(editionModel), {
        event: "epaper_index",
        action: action,
        screen: (0, _$$_REQUIRE(_dependencyMap[11]).getScreenString)({
          type: action,
          issue: issue,
          edition: edition
        })
      }));
    } catch (e) {}
  };

  exports.sendNewsmemoryIndex = sendNewsmemoryIndex;

  var sendNewsmemorySectionIndex = function sendNewsmemorySectionIndex(editionModel, pageModel) {
    try {
      var issue = editionModel.getIssue();

      var edition = _$$_REQUIRE(_dependencyMap[10]).StringUtils.decodeHTML(editionModel.getEdition());

      var action = _$$_REQUIRE(_dependencyMap[12]).analyticsScreenTypes.SECTION_INDEX;

      var params = getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel);
      sendNewsmemoryAnalytics((0, _extends2.default)({}, params, {
        event: "epaper_section_index",
        action: action,
        screen: (0, _$$_REQUIRE(_dependencyMap[11]).getScreenString)({
          type: action,
          issue: issue,
          edition: edition,
          section: params.section
        })
      }));
    } catch (e) {}
  };

  exports.sendNewsmemorySectionIndex = sendNewsmemorySectionIndex;

  var sendNewsmemoryOptionspage = function sendNewsmemoryOptionspage(tab, title) {
    try {
      var action = _$$_REQUIRE(_dependencyMap[12]).analyticsScreenTypes.OPTIONSPAGE;

      sendNewsmemoryAnalytics({
        event: "epaper_optionspage",
        action: action,
        tab: tab,
        section: title,
        screen: (0, _$$_REQUIRE(_dependencyMap[11]).getScreenString)({
          type: action,
          page: tab
        })
      });
    } catch (e) {}
  };

  exports.sendNewsmemoryOptionspage = sendNewsmemoryOptionspage;

  var sendNewsmemoryThumbnails = function sendNewsmemoryThumbnails(editionModel) {
    try {
      var issue = editionModel.getIssue();

      var edition = _$$_REQUIRE(_dependencyMap[10]).StringUtils.decodeHTML(editionModel.getEdition());

      var action = _$$_REQUIRE(_dependencyMap[12]).analyticsScreenTypes.THUMBS;

      sendNewsmemoryAnalytics((0, _extends2.default)({}, getNewsmemoryAnalyticsDefaultParams(editionModel), {
        event: "epaper_thumbs",
        action: action,
        screen: (0, _$$_REQUIRE(_dependencyMap[11]).getScreenString)({
          type: action,
          issue: issue,
          edition: edition
        })
      }));
    } catch (e) {}
  };

  exports.sendNewsmemoryThumbnails = sendNewsmemoryThumbnails;

  var sendNewsmemoryGallery = function sendNewsmemoryGallery(title, image, index, editionModel, pageModel) {
    try {
      var issue = editionModel.getIssue();

      var edition = _$$_REQUIRE(_dependencyMap[10]).StringUtils.decodeHTML(editionModel.getEdition());

      var page = _pageUtils.default.removeZerosFromPageNumber(pageModel.getPage());

      var action = _$$_REQUIRE(_dependencyMap[12]).analyticsScreenTypes.GALLERY;

      sendNewsmemoryAnalytics((0, _extends2.default)({}, getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel), {
        event: "epaper_enrichment_gallery",
        action: action,
        type: "image",
        gallery_id: title,
        id: image,
        index: index,
        screen: (0, _$$_REQUIRE(_dependencyMap[11]).getScreenString)({
          type: action,
          issue: issue,
          edition: edition,
          page: page,
          title: title,
          id: image,
          index: index
        })
      }));
    } catch (e) {}
  };

  exports.sendNewsmemoryGallery = sendNewsmemoryGallery;

  var sendNewsmemoryArticleGallery = function sendNewsmemoryArticleGallery(index, editionModel, pageModel, article) {
    try {
      var issue = editionModel.getIssue();

      var edition = _$$_REQUIRE(_dependencyMap[10]).StringUtils.decodeHTML(editionModel.getEdition());

      var page = _pageUtils.default.removeZerosFromPageNumber(pageModel.getPage());

      var article_id = article.getXmlId();
      var title = getArticleTitle(article);

      var action = _$$_REQUIRE(_dependencyMap[12]).analyticsScreenTypes.ARTICLE_GALLERY;

      sendNewsmemoryAnalytics((0, _extends2.default)({}, getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel), {
        event: "epaper_article_gallery",
        action: action,
        type: "image",
        article_id: article_id,
        title: title,
        index: index,
        screen: (0, _$$_REQUIRE(_dependencyMap[11]).getScreenString)({
          type: action,
          issue: issue,
          edition: edition,
          page: page,
          article: article_id,
          title: title,
          index: index
        })
      }));
    } catch (e) {}
  };

  exports.sendNewsmemoryArticleGallery = sendNewsmemoryArticleGallery;

  var sendNewsmemoryExtraYoutube = function sendNewsmemoryExtraYoutube(url, editionModel, pageModel) {
    try {
      var _StringUtils$segmentU = _$$_REQUIRE(_dependencyMap[10]).StringUtils.segmentUrl(url),
          getParams = _StringUtils$segmentU.getParams;

      var id = getParams.v;

      if (id === undefined) {
        var regExp = new RegExp(/(?:http?s?:\/\/)?(?:www\.)?(?:youtube\.com|youtu\.be)\/(?:(?:watch\?v=)|(?:v\/))+([^&]+)/g);
        var m;

        while ((m = regExp.exec(url)) !== null) {
          id = m[1];
          break;
        }
      }

      var issue = editionModel.getIssue();

      var edition = _$$_REQUIRE(_dependencyMap[10]).StringUtils.decodeHTML(editionModel.getEdition());

      var page = _pageUtils.default.removeZerosFromPageNumber(pageModel.getPage());

      var action = _$$_REQUIRE(_dependencyMap[12]).analyticsScreenTypes.VIDEO;

      sendNewsmemoryAnalytics((0, _extends2.default)({}, getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel), {
        event: "epaper_enrichment_video",
        action: action,
        type: "youtube",
        url: url,
        video_id: id,
        screen: (0, _$$_REQUIRE(_dependencyMap[11]).getScreenString)({
          type: action,
          issue: issue,
          edition: edition,
          page: page,
          id: id
        })
      }));
    } catch (e) {}
  };

  exports.sendNewsmemoryExtraYoutube = sendNewsmemoryExtraYoutube;

  var sendNewsmemoryExtraVideo = function sendNewsmemoryExtraVideo(url, editionModel, pageModel) {
    try {
      var id = _$$_REQUIRE(_dependencyMap[10]).StringUtils.getLastPathSegment(url);

      var issue = editionModel.getIssue();

      var edition = _$$_REQUIRE(_dependencyMap[10]).StringUtils.decodeHTML(editionModel.getEdition());

      var page = _pageUtils.default.removeZerosFromPageNumber(pageModel.getPage());

      var action = _$$_REQUIRE(_dependencyMap[12]).analyticsScreenTypes.VIDEO;

      sendNewsmemoryAnalytics((0, _extends2.default)({}, getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel), {
        event: "epaper_enrichment_video",
        action: action,
        type: "video",
        url: url,
        video_id: id,
        screen: (0, _$$_REQUIRE(_dependencyMap[11]).getScreenString)({
          type: action,
          issue: issue,
          edition: edition,
          page: page,
          id: id
        })
      }));
    } catch (e) {}
  };

  exports.sendNewsmemoryExtraVideo = sendNewsmemoryExtraVideo;

  var sendNewsmemoryExtraUrl = function sendNewsmemoryExtraUrl(url, editionModel, pageModel) {
    try {
      var analyticsUrl = url.replace(/\//g, "|");
      var issue = editionModel.getIssue();

      var edition = _$$_REQUIRE(_dependencyMap[10]).StringUtils.decodeHTML(editionModel.getEdition());

      var page = _pageUtils.default.removeZerosFromPageNumber(pageModel.getPage());

      var action = _$$_REQUIRE(_dependencyMap[12]).analyticsScreenTypes.PAGE_CLICK;

      sendNewsmemoryAnalytics((0, _extends2.default)({}, getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel), {
        event: "epaper_page_clickthrough",
        action: action,
        url: url,
        screen: (0, _$$_REQUIRE(_dependencyMap[11]).getScreenString)({
          type: action,
          issue: issue,
          edition: edition,
          page: page,
          url: analyticsUrl
        })
      }));
    } catch (e) {}
  };

  exports.sendNewsmemoryExtraUrl = sendNewsmemoryExtraUrl;

  var sendNewsmemoryArticleClickThrough = function sendNewsmemoryArticleClickThrough(editionModel, pageModel, article, url) {
    try {
      var analyticsUrl = url.replace(/\//g, "|");
      var issue = editionModel.getIssue();

      var edition = _$$_REQUIRE(_dependencyMap[10]).StringUtils.decodeHTML(editionModel.getEdition());

      var page = _pageUtils.default.removeZerosFromPageNumber(pageModel.getPage());

      var article_id = article.getXmlId();
      var title = getArticleTitle(article);

      var action = _$$_REQUIRE(_dependencyMap[12]).analyticsScreenTypes.ARTICLE_CLICK;

      sendNewsmemoryAnalytics((0, _extends2.default)({}, getNewsmemoryAnalyticsDefaultParams(editionModel, pageModel), {
        event: "epaper_article_clickthrough",
        action: action,
        remp: encodeURIComponent(article_id),
        article_id: article_id,
        title: title,
        url: url,
        screen: (0, _$$_REQUIRE(_dependencyMap[11]).getScreenString)({
          type: action,
          issue: issue,
          edition: edition,
          page: page,
          article: article_id,
          title: title,
          url: analyticsUrl
        })
      }));
    } catch (e) {}
  };

  exports.sendNewsmemoryArticleClickThrough = sendNewsmemoryArticleClickThrough;

  var sendNewsmemoryEditionLoad = function sendNewsmemoryEditionLoad(edition, page) {
    var _global$getActivePSet3 = global.getActivePSetup(),
        adobeAnalyticsEnabled = _global$getActivePSet3.adobeAnalyticsEnabled,
        adobeAnalyticsConfig = _global$getActivePSet3.adobeAnalyticsConfig;

    if (adobeAnalyticsEnabled && adobeAnalyticsConfig) {
      (0, _$$_REQUIRE(_dependencyMap[9]).resetAdobeAnalyticsFirstScrolledSent)();
      var params = getNewsmemoryAnalyticsDefaultParams(edition, page);
      (0, _$$_REQUIRE(_dependencyMap[9]).trackADBMobileAction)(adobeAnalyticsConfig.editionLoadActionName, params);
    }
  };

  exports.sendNewsmemoryEditionLoad = sendNewsmemoryEditionLoad;
},1954,[5,6,108,640,638,644,715,1955,1959,1871,462,1892,1893]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.NewspaperSessionManager = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _NewspaperSession = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NewspaperSessionManagerSingleton = function (_SessionManagerSingle) {
    (0, _inherits2.default)(NewspaperSessionManagerSingleton, _SessionManagerSingle);

    var _super = _createSuper(NewspaperSessionManagerSingleton);

    function NewspaperSessionManagerSingleton() {
      (0, _classCallCheck2.default)(this, NewspaperSessionManagerSingleton);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(NewspaperSessionManagerSingleton, [{
      key: "startSession",
      value: function startSession(_ref) {
        var paper = _ref.paper,
            edition = _ref.edition,
            issue = _ref.issue;
        this.activeKey = this.getSessionKey();
        var session = new _NewspaperSession.default(paper, edition, issue);
        this.storeSession(this.activeKey, session);
        return session;
      }
    }, {
      key: "parseSession",
      value: function parseSession(rawSession) {
        try {
          var _JSON$parse = JSON.parse(rawSession),
              paper = _JSON$parse.paper,
              edition = _JSON$parse.edition,
              issue = _JSON$parse.issue,
              startTime = _JSON$parse.startTime,
              rawActions = _JSON$parse.actions,
              rawNavigation = _JSON$parse.navigation;

          var actions = rawActions.map(function (rawAction) {
            var _JSON$parse2 = JSON.parse(rawAction),
                name = _JSON$parse2.name,
                params = _JSON$parse2.params,
                time = _JSON$parse2.time;

            return new (_$$_REQUIRE(_dependencyMap[8]).Action)(name, params, time);
          });
          var routes = rawNavigation.map(function (rawRoute) {
            var route = rawRoute.route,
                time = rawRoute.time;
            return new (_$$_REQUIRE(_dependencyMap[8]).Route)(route, time);
          });
          return new _NewspaperSession.default(paper, edition, issue, actions, routes, startTime);
        } catch (e) {}

        return undefined;
      }
    }]);
    return NewspaperSessionManagerSingleton;
  }(_$$_REQUIRE(_dependencyMap[9]).SessionManagerSingleton);

  var NewspaperSessionManager = function () {
    function NewspaperSessionManager() {
      (0, _classCallCheck2.default)(this, NewspaperSessionManager);
    }

    (0, _createClass2.default)(NewspaperSessionManager, null, [{
      key: "init",
      value: function init() {
        NewspaperSessionManager.instance = new NewspaperSessionManagerSingleton();
        NewspaperSessionManager.instance.load();
      }
    }, {
      key: "getInstance",
      value: function getInstance() {
        if (NewspaperSessionManager.instance === undefined) {
          NewspaperSessionManager.init();
        }

        return NewspaperSessionManager.instance;
      }
    }, {
      key: "addAction",
      value: function addAction(name, params) {
        NewspaperSessionManager.getInstance().addAction(name, params);
      }
    }, {
      key: "addRoute",
      value: function addRoute(route, params) {
        NewspaperSessionManager.getInstance().addRoute(route, params);
      }
    }, {
      key: "getActiveSessionReport",
      value: function getActiveSessionReport() {
        return NewspaperSessionManager.getInstance().getActiveSessionReport();
      }
    }, {
      key: "getActiveSessionString",
      value: function getActiveSessionString() {
        return NewspaperSessionManager.getInstance().getActiveSessionString();
      }
    }, {
      key: "flushActiveSession",
      value: function flushActiveSession() {
        return _regenerator.default.async(function flushActiveSession$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", NewspaperSessionManager.getInstance().flushSession());

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "storeActiveSessionToFile",
      value: function storeActiveSessionToFile() {
        return _regenerator.default.async(function storeActiveSessionToFile$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", NewspaperSessionManager.getInstance().storeActiveSessionToFile());

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return NewspaperSessionManager;
  }();

  exports.NewspaperSessionManager = NewspaperSessionManager;
},1955,[5,80,7,8,12,14,16,1956,716,1957]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Session2 = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NewspaperSession = function (_Session) {
    (0, _inherits2.default)(NewspaperSession, _Session);

    var _super = _createSuper(NewspaperSession);

    function NewspaperSession(paper, edition, issue) {
      var _this;

      var actions = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
      var routes = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
      var time = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : new Date().getTime();
      (0, _classCallCheck2.default)(this, NewspaperSession);
      _this = _super.call(this, actions, routes, time);
      _this.paper = paper;
      _this.edition = edition;
      _this.issue = issue;
      return _this;
    }

    (0, _createClass2.default)(NewspaperSession, [{
      key: "getPaperInfo",
      value: function getPaperInfo() {
        return {
          paper: this.paper,
          edition: this.edition,
          issue: this.issue
        };
      }
    }, {
      key: "getOtherInfo",
      value: function getOtherInfo() {
        var otherInfo = {};
        var downloadAction = this.actions.find(function (action) {
          return action.getName() === "download_db";
        });

        if (downloadAction) {
          var _downloadAction$getPa = downloadAction.getParams(),
              speed = _downloadAction$getPa.speed;

          if (speed) {
            otherInfo.downloadSpeed = speed;
          }
        }

        return otherInfo;
      }
    }, {
      key: "getReport",
      value: function getReport() {
        var paperInfo = this.getPaperInfo();
        var otherInfo = this.getOtherInfo();
        return (0, _extends2.default)({}, (0, _get2.default)((0, _getPrototypeOf2.default)(NewspaperSession.prototype), "getReport", this).call(this), paperInfo, otherInfo);
      }
    }, {
      key: "getFullReport",
      value: function getFullReport() {
        var paperInfo = this.getPaperInfo();
        var otherInfo = this.getOtherInfo();
        return (0, _extends2.default)({}, (0, _get2.default)((0, _getPrototypeOf2.default)(NewspaperSession.prototype), "getFullReport", this).call(this), paperInfo, otherInfo);
      }
    }, {
      key: "toString",
      value: function toString() {
        return "{\"paper\": \"" + this.paper + "\", \"edition\": \"" + this.edition + "\", \"issue\": \"" + this.issue + "\", \"startTime\": " + this.startTime + ", \"startOrientation\": \"" + this.startOrientation + "\", \"actions\": " + JSON.stringify(this.actions.map(function (action) {
          return action.toString();
        })) + ", \"navigation\": " + JSON.stringify(this.navigation.map(function (route) {
          return route.toString();
        })) + "}";
      }
    }]);
    return NewspaperSession;
  }(_Session2.default);

  exports.default = NewspaperSession;
},1956,[5,6,7,8,90,12,14,16,716]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.SessionManagerSingleton = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _Session = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _SessionHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _NewsmemoryAJAX = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var SessionManagerSingleton = function () {
    function SessionManagerSingleton() {
      (0, _classCallCheck2.default)(this, SessionManagerSingleton);
      this.sessions = {};
    }

    (0, _createClass2.default)(SessionManagerSingleton, [{
      key: "load",
      value: function load() {
        var _this = this;

        var allSessions, sessionsToSend;
        return _regenerator.default.async(function load$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return _regenerator.default.awrap(_SessionHelper.default.getAllItems());

              case 2:
                allSessions = _context.sent;

                if (allSessions) {
                  sessionsToSend = Object.keys(allSessions).reduce(function (current, sessionKey) {
                    var session = _this.parseSession(allSessions[sessionKey]);

                    if (session) {
                      current[sessionKey] = session;
                    } else {
                      _SessionHelper.default.removeItem(sessionKey);
                    }

                    return current;
                  }, {});
                  Object.keys(sessionsToSend).forEach(function (key) {
                    return _this.flushSession(key);
                  });
                }

              case 4:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getSessionKey",
      value: function getSessionKey() {
        return _$$_REQUIRE(_dependencyMap[8]).StringUtils.getRandomHash();
      }
    }, {
      key: "startSession",
      value: function startSession() {
        var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        this.activeKey = this.getSessionKey();
        var session = new _Session.default();
        this.storeSession(this.activeKey, session);
        return session;
      }
    }, {
      key: "getActiveSession",
      value: function getActiveSession(params) {
        return this.activeKey && this.sessions[this.activeKey] ? this.sessions[this.activeKey] : this.startSession(params);
      }
    }, {
      key: "addAction",
      value: function addAction(name, params) {
        var activeSession = this.getActiveSession(params);
        activeSession.addAction(name, params);
        this.storeSession(this.activeKey, activeSession);
      }
    }, {
      key: "addRoute",
      value: function addRoute(name, params) {
        var activeSession = this.getActiveSession(params);
        activeSession.addRoute(name);
        this.storeSession(this.activeKey, activeSession);
      }
    }, {
      key: "storeSession",
      value: function storeSession(key, session) {
        if (key) {
          this.sessions[key] = session;

          _SessionHelper.default.setItem(key, session.toString());
        }
      }
    }, {
      key: "retrieveSession",
      value: function retrieveSession() {
        var key,
            session,
            _args2 = arguments;
        return _regenerator.default.async(function retrieveSession$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                key = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : this.activeKey;

                if (!key) {
                  _context2.next = 9;
                  break;
                }

                _context2.t0 = this.sessions[key];

                if (_context2.t0) {
                  _context2.next = 7;
                  break;
                }

                _context2.next = 6;
                return _regenerator.default.awrap(_SessionHelper.default.getItem(key));

              case 6:
                _context2.t0 = _context2.sent;

              case 7:
                session = _context2.t0;
                return _context2.abrupt("return", session);

              case 9:
                return _context2.abrupt("return", undefined);

              case 10:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "clearSession",
      value: function clearSession() {
        var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.activeKey;

        if (key) {
          this.sessions[key] = undefined;
          return _SessionHelper.default.removeItem(key);
        }

        return false;
      }
    }, {
      key: "uploadSession",
      value: function uploadSession(key, session) {
        var _global$getActivePSet, enableSessionAutoUpload;

        return _regenerator.default.async(function uploadSession$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _global$getActivePSet = global.getActivePSetup(), enableSessionAutoUpload = _global$getActivePSet.enableSessionAutoUpload;

                if (!(session && enableSessionAutoUpload)) {
                  _context3.next = 4;
                  break;
                }

                _context3.next = 4;
                return _regenerator.default.awrap(_NewsmemoryAJAX.default.uploadSessionReport(key, session));

              case 4:
                return _context3.abrupt("return", false);

              case 5:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "flushSession",
      value: function flushSession() {
        var key,
            session,
            _args4 = arguments;
        return _regenerator.default.async(function flushSession$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                key = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : this.activeKey;

                if (!key) {
                  _context4.next = 6;
                  break;
                }

                session = this.sessions[key];
                this.clearSession(key);
                _context4.next = 6;
                return _regenerator.default.awrap(this.uploadSession(key, session));

              case 6:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "parseSession",
      value: function parseSession(rawSession) {
        try {
          var _JSON$parse = JSON.parse(rawSession),
              startTime = _JSON$parse.startTime,
              rawActions = _JSON$parse.actions,
              rawNavigation = _JSON$parse.navigation;

          var rawActionArray = JSON.parse(rawActions);
          var actions = rawActionArray.map(function (_ref) {
            var name = _ref.name,
                params = _ref.params,
                time = _ref.time;
            return new _Session.Action(name, JSON.parse(params), time);
          });
          var rawNavigationArray = JSON.parse(rawNavigation);
          var routes = rawNavigationArray.map(function (_ref2) {
            var name = _ref2.name,
                time = _ref2.time;
            return new _Session.Route(name, time);
          });
          return new _Session.default(actions, routes, startTime);
        } catch (e) {}

        return undefined;
      }
    }, {
      key: "getSessionDuration",
      value: function getSessionDuration() {
        var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.activeKey;
        var session = this.sessions[key];
        return session ? session.getDuration() : 0;
      }
    }, {
      key: "getSessionReport",
      value: function getSessionReport() {
        var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.activeKey;
        var session = this.sessions[key];
        return session ? session.getReport() : undefined;
      }
    }, {
      key: "getSessionFullReport",
      value: function getSessionFullReport() {
        var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.activeKey;
        var session = this.sessions[key];
        return session ? session.getFullReport() : undefined;
      }
    }, {
      key: "getActiveSessionReport",
      value: function getActiveSessionReport() {
        return this.getSessionReport(this.activeKey);
      }
    }, {
      key: "getActiveSessionFullReport",
      value: function getActiveSessionFullReport() {
        return this.getSessionFullReport(this.activeKey);
      }
    }, {
      key: "getActiveSessionString",
      value: function getActiveSessionString() {
        if (this.activeKey) {
          var session = this.sessions[this.activeKey];
          return session ? session.toString() : undefined;
        }

        return undefined;
      }
    }, {
      key: "storeActiveSessionToFile",
      value: function storeActiveSessionToFile() {
        var fullReport, filePath;
        return _regenerator.default.async(function storeActiveSessionToFile$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                fullReport = this.getActiveSessionFullReport();

                if (!fullReport) {
                  _context5.next = 21;
                  break;
                }

                _context5.prev = 2;
                _context5.next = 5;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.mkdir(_tecnaviaFileUtils.default.getDebugDirectory()));

              case 5:
                _context5.next = 9;
                break;

              case 7:
                _context5.prev = 7;
                _context5.t0 = _context5["catch"](2);

              case 9:
                filePath = _tecnaviaFileUtils.default.getDebugDirectory() + global.machineId + "_" + this.activeKey + ".json";
                _context5.prev = 10;
                _context5.next = 13;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.appendFile(filePath, JSON.stringify(fullReport)));

              case 13:
                _context5.next = 15;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.exists(filePath));

              case 15:
                if (!_context5.sent) {
                  _context5.next = 17;
                  break;
                }

                return _context5.abrupt("return", filePath);

              case 17:
                _context5.next = 21;
                break;

              case 19:
                _context5.prev = 19;
                _context5.t1 = _context5["catch"](10);

              case 21:
                return _context5.abrupt("return", undefined);

              case 22:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, [[2, 7], [10, 19]], Promise);
      }
    }]);
    return SessionManagerSingleton;
  }();

  exports.SessionManagerSingleton = SessionManagerSingleton;

  var SessionManager = function () {
    function SessionManager() {
      (0, _classCallCheck2.default)(this, SessionManager);
    }

    (0, _createClass2.default)(SessionManager, null, [{
      key: "init",
      value: function init() {
        SessionManager.instance = new SessionManagerSingleton();
        SessionManager.instance.load();
      }
    }, {
      key: "getInstance",
      value: function getInstance() {
        if (SessionManager.instance === undefined) {
          SessionManager.init();
        }

        return SessionManager.instance;
      }
    }, {
      key: "addAction",
      value: function addAction(name, params) {
        SessionManager.getInstance().addAction(name, params);
      }
    }, {
      key: "addRoute",
      value: function addRoute(name, params) {
        SessionManager.getInstance().addRoute(name, params);
      }
    }, {
      key: "getActiveSessionReport",
      value: function getActiveSessionReport() {
        return SessionManager.getInstance().getActiveSessionReport();
      }
    }, {
      key: "getActiveSessionString",
      value: function getActiveSessionString() {
        return SessionManager.getInstance().getActiveSessionString();
      }
    }, {
      key: "storeActiveSessionToFile",
      value: function storeActiveSessionToFile() {
        return _regenerator.default.async(function storeActiveSessionToFile$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                return _context6.abrupt("return", SessionManager.getInstance().storeActiveSessionToFile());

              case 1:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return SessionManager;
  }();

  exports.default = SessionManager;
},1957,[5,80,7,8,716,1958,574,430,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var SessionHelper = function () {
    function SessionHelper() {
      (0, _classCallCheck2.default)(this, SessionHelper);
    }

    (0, _createClass2.default)(SessionHelper, null, [{
      key: "getAllItems",
      value: function getAllItems() {
        return _regenerator.default.async(function getAllItems$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.multiGet(SessionHelper.SP.name));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getItem",
      value: function getItem(key) {
        return _regenerator.default.async(function getItem$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.getItem(SessionHelper.SP.name, key));

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setItem",
      value: function setItem(key, value) {
        return _regenerator.default.async(function setItem$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                return _context3.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.setItem(SessionHelper.SP.name, key, value));

              case 1:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "removeItem",
      value: function removeItem(key) {
        return _regenerator.default.async(function removeItem$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                return _context4.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.clear(SessionHelper.SP.name, key));

              case 1:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return SessionHelper;
  }();

  exports.default = SessionHelper;
  SessionHelper.SP = {
    name: "sessions"
  };
},1958,[5,80,7,8,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.eventMapping = exports.screenMapping = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var mapOnObjRequestedAndValidParams = function mapOnObjRequestedAndValidParams() {
    var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var paramsKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
    var mapped = {};

    for (var i = 0; i < paramsKey.length; i++) {
      var value = obj[paramsKey[i]];

      if (value === undefined) {
        throw new Error("Analytics -> " + paramsKey[i] + " is missing or undefined");
      } else {
        mapped[paramsKey[i]] = "" + value;
      }
    }

    return mapped;
  };

  var mapReadOnEvent = function mapReadOnEvent(params) {
    return {
      customEvent: "epaper_read_article",
      customParams: (0, _extends2.default)({}, (0, _$$_REQUIRE(_dependencyMap[2]).mapParamsToFirebaseCustomDimensions)(params), mapOnObjRequestedAndValidParams(params, ["issue", "edition", "page", "article_id", "title", "section"]), {
        mode: params.mode || _$$_REQUIRE(_dependencyMap[3]).NewsmemoryArticleModes.TEXT
      })
    };
  };

  var mapZoomOnEvent = function mapZoomOnEvent(params) {
    return {
      customEvent: "epaper_zoom",
      customParams: (0, _extends2.default)({}, (0, _$$_REQUIRE(_dependencyMap[2]).mapParamsToFirebaseCustomDimensions)(params), mapOnObjRequestedAndValidParams(params, ["issue", "edition", "page"]))
    };
  };

  var mapScrolledOnEvent = function mapScrolledOnEvent(params) {
    return {
      customEvent: "epaper_scroll",
      customParams: (0, _extends2.default)({}, (0, _$$_REQUIRE(_dependencyMap[2]).mapParamsToFirebaseCustomDimensions)(params), mapOnObjRequestedAndValidParams(params, ["issue", "edition", "page"]))
    };
  };

  var mapArticleClickThroughOnEvent = function mapArticleClickThroughOnEvent(params) {
    return {
      customEvent: "epaper_article_clickthrough",
      customParams: (0, _extends2.default)({}, (0, _$$_REQUIRE(_dependencyMap[2]).mapParamsToFirebaseCustomDimensions)(params), mapOnObjRequestedAndValidParams(params, ["issue", "edition", "page", "article_id", "url"]))
    };
  };

  var mapPageClickThroughOnEvent = function mapPageClickThroughOnEvent(params) {
    return {
      customEvent: "epaper_page_clickthrough",
      customParams: (0, _extends2.default)({}, (0, _$$_REQUIRE(_dependencyMap[2]).mapParamsToFirebaseCustomDimensions)(params), mapOnObjRequestedAndValidParams(params, ["issue", "edition", "page", "url"]))
    };
  };

  var mapShareOnEvent = function mapShareOnEvent(params) {
    return {
      customEvent: "epaper_share",
      customParams: (0, _extends2.default)({}, (0, _$$_REQUIRE(_dependencyMap[2]).mapParamsToFirebaseCustomDimensions)(params), mapOnObjRequestedAndValidParams(params, ["issue", "edition", "page", "article_id", "platform"]))
    };
  };

  var mapGalleryOnEvent = function mapGalleryOnEvent(params) {
    return {
      customEvent: "epaper_enrichment_gallery",
      customParams: (0, _extends2.default)({}, (0, _$$_REQUIRE(_dependencyMap[2]).mapParamsToFirebaseCustomDimensions)(params), mapOnObjRequestedAndValidParams(params, ["issue", "edition", "page", "gallery_id", "index", "id", "type"]))
    };
  };

  var mapArticleGalleryOnEvent = function mapArticleGalleryOnEvent(params) {
    return {
      customEvent: "epaper_article_gallery",
      customParams: (0, _extends2.default)({}, (0, _$$_REQUIRE(_dependencyMap[2]).mapParamsToFirebaseCustomDimensions)(params), mapOnObjRequestedAndValidParams(params, ["issue", "edition", "page", "article_id", "title", "index", "type"]))
    };
  };

  var mapVideoOnEvent = function mapVideoOnEvent(params) {
    return {
      customEvent: "epaper_enrichment_video",
      customParams: (0, _extends2.default)({}, (0, _$$_REQUIRE(_dependencyMap[2]).mapParamsToFirebaseCustomDimensions)(params), mapOnObjRequestedAndValidParams(params, ["issue", "edition", "page", "video_id"]), {
        type: params.type || "video"
      })
    };
  };

  var mapIndexOnEvent = function mapIndexOnEvent(params) {
    return {
      customEvent: "epaper_index",
      customParams: (0, _extends2.default)({}, (0, _$$_REQUIRE(_dependencyMap[2]).mapParamsToFirebaseCustomDimensions)(params), mapOnObjRequestedAndValidParams(params, ["issue", "edition"]))
    };
  };

  var mapSectionIndexOnEvent = function mapSectionIndexOnEvent(params) {
    return {
      customEvent: "epaper_section_index",
      customParams: (0, _extends2.default)({}, (0, _$$_REQUIRE(_dependencyMap[2]).mapParamsToFirebaseCustomDimensions)(params), mapOnObjRequestedAndValidParams(params, ["issue", "edition", "section"]))
    };
  };

  var mapOptionspageOnEvent = function mapOptionspageOnEvent(params) {
    return {
      customEvent: "epaper_optionspage",
      customParams: (0, _extends2.default)({}, (0, _$$_REQUIRE(_dependencyMap[2]).mapParamsToFirebaseCustomDimensions)(params), mapOnObjRequestedAndValidParams(params, ["tab"]))
    };
  };

  var mapThumbnailsOnEvent = function mapThumbnailsOnEvent(params) {
    return {
      customEvent: "epaper_thumbs",
      customParams: (0, _extends2.default)({}, (0, _$$_REQUIRE(_dependencyMap[2]).mapParamsToFirebaseCustomDimensions)(params), mapOnObjRequestedAndValidParams(params, ["issue", "edition"]))
    };
  };

  var screenMapping = function screenMapping() {
    var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var action = params.action,
        screen = params.screen,
        remp = params.remp,
        section = params.section,
        tab = params.tab;

    if (!action) {
      throw new Error("Analytics params is empty");
    }

    if (!screen) {
      throw new Error("Analytics screen is empty");
    }

    var result = {
      action: action,
      screen: _$$_REQUIRE(_dependencyMap[4]).StringUtils.decodeURIComponent(screen),
      remp: remp,
      customDimensions: (0, _$$_REQUIRE(_dependencyMap[2]).mapParamsToCustomDimensions)(params)
    };

    try {
      var SCROLLED = _$$_REQUIRE(_dependencyMap[3]).analyticsScreenTypes.SCROLLED,
          READ = _$$_REQUIRE(_dependencyMap[3]).analyticsScreenTypes.READ,
          ZOOM = _$$_REQUIRE(_dependencyMap[3]).analyticsScreenTypes.ZOOM,
          SHARE = _$$_REQUIRE(_dependencyMap[3]).analyticsScreenTypes.SHARE,
          PAGE_CLICK = _$$_REQUIRE(_dependencyMap[3]).analyticsScreenTypes.PAGE_CLICK,
          ARTICLE_CLICK = _$$_REQUIRE(_dependencyMap[3]).analyticsScreenTypes.ARTICLE_CLICK,
          VIDEO = _$$_REQUIRE(_dependencyMap[3]).analyticsScreenTypes.VIDEO,
          GALLERY = _$$_REQUIRE(_dependencyMap[3]).analyticsScreenTypes.GALLERY,
          ARTICLE_GALLERY = _$$_REQUIRE(_dependencyMap[3]).analyticsScreenTypes.ARTICLE_GALLERY,
          INDEX = _$$_REQUIRE(_dependencyMap[3]).analyticsScreenTypes.INDEX,
          SECTION_INDEX = _$$_REQUIRE(_dependencyMap[3]).analyticsScreenTypes.SECTION_INDEX,
          OPTIONSPAGE = _$$_REQUIRE(_dependencyMap[3]).analyticsScreenTypes.OPTIONSPAGE,
          THUMBS = _$$_REQUIRE(_dependencyMap[3]).analyticsScreenTypes.THUMBS;

      switch (action) {
        case READ:
          result.event = mapReadOnEvent(params);
          result.firebaseScreenView = _$$_REQUIRE(_dependencyMap[3]).firebaseAnalyticsScreenNames.READ;
          break;

        case ZOOM:
          result.event = mapZoomOnEvent(params);
          result.firebaseScreenView = _$$_REQUIRE(_dependencyMap[3]).firebaseAnalyticsScreenNames.ZOOM;
          break;

        case SCROLLED:
          result.event = mapScrolledOnEvent(params);
          result.firebaseScreenView = _$$_REQUIRE(_dependencyMap[3]).firebaseAnalyticsScreenNames.SCROLLED;
          break;

        case ARTICLE_CLICK:
          result.event = mapArticleClickThroughOnEvent(params);
          break;

        case SHARE:
          result.event = mapShareOnEvent(params);
          break;

        case GALLERY:
          result.event = mapGalleryOnEvent(params);
          result.firebaseScreenView = _$$_REQUIRE(_dependencyMap[3]).firebaseAnalyticsScreenNames.GALLERY;
          break;

        case ARTICLE_GALLERY:
          result.event = mapArticleGalleryOnEvent(params);
          result.firebaseScreenView = _$$_REQUIRE(_dependencyMap[3]).firebaseAnalyticsScreenNames.ARTICLE_GALLERY;
          break;

        case VIDEO:
          result.event = mapVideoOnEvent(params);
          break;

        case PAGE_CLICK:
          result.event = mapPageClickThroughOnEvent(params);
          break;

        case INDEX:
          result.event = mapIndexOnEvent(params);
          result.firebaseScreenView = _$$_REQUIRE(_dependencyMap[3]).firebaseAnalyticsScreenNames.INDEX;
          break;

        case SECTION_INDEX:
          result.event = mapSectionIndexOnEvent(params);
          result.firebaseScreenView = _$$_REQUIRE(_dependencyMap[3]).firebaseAnalyticsScreenNames.SECTION_INDEX.replace("##section##", section);
          break;

        case OPTIONSPAGE:
          result.event = mapOptionspageOnEvent(params);
          result.firebaseScreenView = _$$_REQUIRE(_dependencyMap[3]).firebaseAnalyticsScreenNames.OPTIONSPAGE.replace("##tab##", tab);
          break;

        case THUMBS:
          result.event = mapThumbnailsOnEvent(params);
          result.firebaseScreenView = _$$_REQUIRE(_dependencyMap[3]).firebaseAnalyticsScreenNames.THUMBS;
          break;
      }
    } catch (e) {
      throw e;
    }

    return result;
  };

  exports.screenMapping = screenMapping;

  var eventMapping = function eventMapping(params) {
    try {
      var category = params.category;

      var SOCIAL_SHARE = _$$_REQUIRE(_dependencyMap[3]).analyticsEventTypes.SOCIAL_SHARE;

      switch (category) {
        case SOCIAL_SHARE:
          params.socialPlatform = (0, _$$_REQUIRE(_dependencyMap[2]).getShareTypeByApp)(params.socialPlatform);
          break;
      }
    } catch (e) {
      throw e;
    }

    return params;
  };

  exports.eventMapping = eventMapping;
},1959,[5,6,1892,1893,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var SslConfig = function () {
    function SslConfig() {
      (0, _classCallCheck2.default)(this, SslConfig);
      this.enabled = false;
      this.enabled = _$$_REQUIRE(_dependencyMap[6]).PlatformUtils.isAndroid();
    }

    (0, _createClass2.default)(SslConfig, [{
      key: "init",
      value: function init(config) {
        var directory, currentTimestamp, cdnEnabled, cdnServer, sslCertificateFileTime, useCDN, url, response, tmpFile;
        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!this.enabled) {
                  _context.next = 42;
                  break;
                }

                directory = SslConfig.getDirectory();
                _context.prev = 2;
                _context.next = 5;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.exists(directory));

              case 5:
                if (_context.sent) {
                  _context.next = 8;
                  break;
                }

                _context.next = 8;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.assetsCopy(SslConfig.MAIN_DIRECTORY, SslConfig.getMainDirectory()));

              case 8:
                _context.next = 12;
                break;

              case 10:
                _context.prev = 10;
                _context.t0 = _context["catch"](2);

              case 12:
                _context.next = 14;
                return _regenerator.default.awrap(this.readTimestamp());

              case 14:
                currentTimestamp = _context.sent;
                cdnEnabled = config.cdnEnabled, cdnServer = config.cdnServer, sslCertificateFileTime = config.sslCertificateFileTime;
                useCDN = cdnEnabled && !!cdnServer;

                if (!(currentTimestamp < sslCertificateFileTime)) {
                  _context.next = 42;
                  break;
                }

                _context.prev = 18;
                url = _Api.default.sslCertificatesURI(useCDN ? {
                  cc: "certificates",
                  mtime: sslCertificateFileTime
                } : {}, useCDN ? cdnServer : undefined);
                _context.next = 22;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.fetch(url));

              case 22:
                response = _context.sent;

                if (!response) {
                  _context.next = 38;
                  break;
                }

                tmpFile = response.path();
                _context.prev = 25;
                _context.next = 28;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unlink(directory));

              case 28:
                _context.next = 32;
                break;

              case 30:
                _context.prev = 30;
                _context.t1 = _context["catch"](25);

              case 32:
                _context.next = 34;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.mkdir(directory));

              case 34:
                _context.next = 36;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unzip(tmpFile, directory));

              case 36:
                _context.next = 38;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.clearUnusedDownloadedFiles(tmpFile));

              case 38:
                _context.next = 42;
                break;

              case 40:
                _context.prev = 40;
                _context.t2 = _context["catch"](18);

              case 42:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[2, 10], [18, 40], [25, 30]], Promise);
      }
    }, {
      key: "readTimestamp",
      value: function readTimestamp() {
        var timestamp;
        return _regenerator.default.async(function readTimestamp$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                timestamp = -1;
                _context2.prev = 1;

                if (!this.enabled) {
                  _context2.next = 6;
                  break;
                }

                _context2.next = 5;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.readFile(SslConfig.getDirectory() + "/" + SslConfig.FILETIME));

              case 5:
                timestamp = _context2.sent;

              case 6:
                _context2.next = 10;
                break;

              case 8:
                _context2.prev = 8;
                _context2.t0 = _context2["catch"](1);

              case 10:
                return _context2.abrupt("return", timestamp);

              case 11:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, [[1, 8]], Promise);
      }
    }, {
      key: "deleteFolder",
      value: function deleteFolder() {
        return _regenerator.default.async(function deleteFolder$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _context3.prev = 0;

                if (!this.enabled) {
                  _context3.next = 4;
                  break;
                }

                _context3.next = 4;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unlink(SslConfig.getDirectory()));

              case 4:
                _context3.next = 8;
                break;

              case 6:
                _context3.prev = 6;
                _context3.t0 = _context3["catch"](0);

              case 8:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, [[0, 6]], Promise);
      }
    }], [{
      key: "getDirectory",
      value: function getDirectory() {
        return "" + SslConfig.getMainDirectory() + SslConfig.MAIN_DIRECTORY;
      }
    }, {
      key: "getMainDirectory",
      value: function getMainDirectory() {
        return "" + _tecnaviaFileUtils.default.getNewsmemoryBaseDirectory();
      }
    }]);
    return SslConfig;
  }();

  exports.default = SslConfig;
  SslConfig.MAIN_DIRECTORY = "certs";
  SslConfig.LIST = "list.json";
  SslConfig.FILETIME = "filetime.txt";
},1960,[5,80,7,8,574,431,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var ContentManager = function () {
    function ContentManager() {
      (0, _classCallCheck2.default)(this, ContentManager);
      this.usedSpace = 0;
      this.numberOfPapersDirs = 0;
      this.numberOfIssuesDirs = 0;
      this.numberOfPagesDirs = 0;
    }

    (0, _createClass2.default)(ContentManager, [{
      key: "analyze",
      value: function analyze() {
        var result;
        return _regenerator.default.async(function analyze$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.prev = 0;
                result = {};
                _context.next = 4;
                return _regenerator.default.awrap(this.recursiveCheck(_tecnaviaFileUtils.default.getNewspaperBaseDirectory(), 0, result));

              case 4:
                this.usedSpace = result.size || 0;
                this.numberOfPapersDirs = result["0"] || 0;
                this.numberOfIssuesDirs = result["1"] || 0;
                this.numberOfPagesDirs = result["2"] || 0;
                _context.next = 12;
                break;

              case 10:
                _context.prev = 10;
                _context.t0 = _context["catch"](0);

              case 12:
                return _context.abrupt("return", {
                  usedSpace: this.usedSpace,
                  numberOfPapersDirs: this.numberOfPapersDirs,
                  numberOfIssuesDirs: this.numberOfIssuesDirs,
                  numberOfPagesDirs: this.numberOfPagesDirs
                });

              case 13:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[0, 10]], Promise);
      }
    }, {
      key: "recursiveCheck",
      value: function recursiveCheck(path, depth, result) {
        var paperDirs, i, _paperDirs$i, size, subPath, isDirectory;

        return _regenerator.default.async(function recursiveCheck$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.next = 2;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.readDir(path));

              case 2:
                paperDirs = _context2.sent;

                if (!result[depth]) {
                  result[depth] = 0;
                }

                i = 0;

              case 5:
                if (!(i < paperDirs.length)) {
                  _context2.next = 16;
                  break;
                }

                _paperDirs$i = paperDirs[i], size = _paperDirs$i.size, subPath = _paperDirs$i.path, isDirectory = _paperDirs$i.isDirectory;

                if (!result.size) {
                  result.size = 0;
                }

                result.size += size;

                if (!isDirectory()) {
                  _context2.next = 13;
                  break;
                }

                result[depth] += 1;
                _context2.next = 13;
                return _regenerator.default.awrap(this.recursiveCheck(subPath, depth + 1, result));

              case 13:
                i++;
                _context2.next = 5;
                break;

              case 16:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }]);
    return ContentManager;
  }();

  exports.default = ContentManager;
},1961,[5,80,7,8,574]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.RssFavoritesConfig = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _IndexHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _RssActionManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var FAVORITES_STORAGE_NAME = "favorites";

  var RssFavoritesConfig = function () {
    function RssFavoritesConfig() {
      (0, _classCallCheck2.default)(this, RssFavoritesConfig);
      this.favorites = [];
      this.icon = "";
    }

    (0, _createClass2.default)(RssFavoritesConfig, [{
      key: "init",
      value: function init() {
        var _global$getRssIndex, favoritesIconFromBBE;

        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return _regenerator.default.awrap(this.retrieveFavorites());

              case 2:
                this.icon = _IndexHelper.default.SP.values.favoritesIcons.default;
                _global$getRssIndex = global.getRssIndex(), favoritesIconFromBBE = _global$getRssIndex.favoritesIconFromBBE;

                if (_IndexHelper.default.SP.values.favoritesIcons.supported.indexOf(favoritesIconFromBBE) !== -1) {
                  this.icon = favoritesIconFromBBE;
                }

              case 5:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "retrieveFavorites",
      value: function retrieveFavorites() {
        var favorites;
        return _regenerator.default.async(function retrieveFavorites$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                favorites = {};
                _context2.prev = 1;
                _context2.next = 4;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[8]).StorageUtils.multiGet(FAVORITES_STORAGE_NAME));

              case 4:
                _context2.t0 = _context2.sent;

                if (_context2.t0) {
                  _context2.next = 7;
                  break;
                }

                _context2.t0 = {};

              case 7:
                favorites = _context2.t0;
                _context2.next = 12;
                break;

              case 10:
                _context2.prev = 10;
                _context2.t1 = _context2["catch"](1);

              case 12:
                this.favorites = Object.values(favorites).reduce(function (results, favorite) {
                  try {
                    var parsed = JSON.parse(favorite);

                    if (parsed && typeof parsed === "object") {
                      var article = (0, _extends2.default)(new (_$$_REQUIRE(_dependencyMap[9]).Article)(), parsed);
                      article.action = (0, _extends2.default)(new _RssActionManager.default(), article.action);
                      article.isHighlightedBox = false;
                      article.priority = {
                        1: {
                          D: "1",
                          d: "1"
                        },
                        2: {
                          D: "1x1",
                          d: "1x1"
                        },
                        3: {
                          D: "1x1",
                          d: "1x1"
                        },
                        4: {
                          D: "1x1",
                          d: "1x1"
                        },
                        isHighlightedBox: "0"
                      };
                      results.push(article);
                    }
                  } catch (e) {}

                  return results;
                }, []);

              case 13:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, [[1, 10]], Promise);
      }
    }, {
      key: "getIcon",
      value: function getIcon() {
        return this.icon;
      }
    }, {
      key: "getFavorites",
      value: function getFavorites() {
        return this.favorites;
      }
    }, {
      key: "getCount",
      value: function getCount() {
        return this.favorites ? this.favorites.length : 0;
      }
    }, {
      key: "isFavorite",
      value: function isFavorite(item) {
        return this.favorites.findIndex(function (_ref) {
          var feedId = _ref.feedId;
          return feedId === item.feedId;
        }) > -1;
      }
    }, {
      key: "clearFavorites",
      value: function clearFavorites() {
        this.favorites = [];

        _$$_REQUIRE(_dependencyMap[10]).EventRegister.emit(_events.default.CLEAR_FAVORITES);

        _$$_REQUIRE(_dependencyMap[8]).StorageUtils.clearAll(FAVORITES_STORAGE_NAME);
      }
    }, {
      key: "toggleFavorite",
      value: function toggleFavorite(item) {
        if (this.isFavorite(item)) {
          this.removeFavorite(item);
        } else {
          this.addFavorite(item);
        }

        _$$_REQUIRE(_dependencyMap[10]).EventRegister.emit(_events.default.TOGGLE_FAVORITE, {
          feedId: item.feedId
        });
      }
    }, {
      key: "addFavorite",
      value: function addFavorite(item) {
        this.favorites.push(item);

        _$$_REQUIRE(_dependencyMap[8]).StorageUtils.setItem(FAVORITES_STORAGE_NAME, item.feedId, JSON.stringify(item));
      }
    }, {
      key: "removeFavorite",
      value: function removeFavorite(item) {
        this.favorites = this.favorites.filter(function (_ref2) {
          var feedId = _ref2.feedId;
          return feedId !== item.feedId;
        });

        _$$_REQUIRE(_dependencyMap[8]).StorageUtils.clear(FAVORITES_STORAGE_NAME, item.feedId);
      }
    }]);
    return RssFavoritesConfig;
  }();

  exports.RssFavoritesConfig = RssFavoritesConfig;
},1962,[5,80,6,7,8,460,1963,1964,462,1972,572]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var IndexHelper = function () {
    function IndexHelper() {
      (0, _classCallCheck2.default)(this, IndexHelper);
    }

    (0, _createClass2.default)(IndexHelper, null, [{
      key: "getItem",
      value: function getItem(storageName, key) {
        return _regenerator.default.async(function getItem$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.getItem(storageName, key));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setItem",
      value: function setItem(storageName, key, value) {
        return _regenerator.default.async(function setItem$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.next = 2;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[4]).StorageUtils.setItem(storageName, key, value));

              case 2:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getDrawerContent",
      value: function getDrawerContent(storageName) {
        var content;
        return _regenerator.default.async(function getDrawerContent$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _context3.next = 2;
                return _regenerator.default.awrap(IndexHelper.getItem(storageName, IndexHelper.SP.keys.drawer_content));

              case 2:
                content = _context3.sent;
                return _context3.abrupt("return", content);

              case 4:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getTutorials",
      value: function getTutorials(tutorials) {
        return IndexHelper.buildTutorialUrls(tutorials);
      }
    }, {
      key: "buildTutorialUrls",
      value: function buildTutorialUrls(items) {
        var result = [];

        if (items && items.length > 0) {
          var isTablet = _$$_REQUIRE(_dependencyMap[4]).PlatformUtils.isTablet();

          if (Array.isArray(items[0])) {
            var partOne = IndexHelper.getPath(items[0]);
            items[0].forEach(function (first) {
              if (first[0] === "elements") {
                first[1].forEach(function (second) {
                  var partTwo = IndexHelper.getPath(second);
                  var displayName = IndexHelper.getDisplayName(second);

                  if (!isTablet && displayName === "iphone" || isTablet && displayName === "ipad") {
                    second.forEach(function (third) {
                      if (third[0] === "elements") {
                        third[1].forEach(function (fourth) {
                          result.push(partOne.concat(partTwo).concat("/").concat(IndexHelper.getPath(fourth)));
                        });
                      }
                    });
                  }
                });
              }
            });
          } else {
            var _items$ = items[0],
                path = _items$.path,
                elements = _items$.elements;

            if (elements) {
              elements.forEach(function (element) {
                var devicePath = element.path,
                    displayName = element.displayName,
                    deviceElements = element.elements;

                if (!isTablet && displayName === "iphone" || isTablet && displayName === "ipad") {
                  deviceElements.forEach(function (deviceElement) {
                    var pagePath = deviceElement.path;
                    result.push("" + path + devicePath + "/" + pagePath);
                  });
                }
              });
            }
          }
        }

        return result;
      }
    }, {
      key: "getPath",
      value: function getPath(item) {
        var result = "";
        item.forEach(function (object) {
          if (object[0] === "path") {
            result = object[1];
          }
        });
        return result;
      }
    }, {
      key: "getDisplayName",
      value: function getDisplayName(item) {
        var result = "";
        item.forEach(function (object) {
          if (object[0] === "displayName") {
            result = object[1];
          }
        });
        return result;
      }
    }]);
    return IndexHelper;
  }();

  exports.default = IndexHelper;
  IndexHelper.SP = {
    name: "rssIndex",
    keys: {
      action_bar_background_color: "NavigationBarColor",
      app_template_style: "app_template_style",
      db_url: "DbPath",
      db_mtime: "DbMTime",
      drawer_content: "Index",
      ga_json: "ga_json",
      grid_title_line_limit_phone: "boxTitleLinesLimitGridPhone",
      grid_title_line_limit_tablet: "boxTitleLinesLimitGridTablet",
      home_category_name: "homeCategoryName",
      logo: "LogoPath",
      menu_background_color: "MenuBGColor",
      my_home_values: "myHomeValues",
      hide_drawer_button: "HideDrawerIcon",
      show_home_button: "HasHomeIcon",
      startup_layout: "startupLayout",
      support_color: "SupportColor",
      floating_button_color: "PlusButtonBgColor",
      tutorials: "Resources",
      animation_speed: "animSpeed",
      border_radius: "BorderRadius",
      border_shadow: "BorderShadow",
      border_width: "BorderWidth",
      border_color: "BorderColor",
      has_top_panel: "hasTopPanel",
      summary_in_article_body: "summaryInArticleBody",
      has_columnizer: "HasColumnizer",
      rn_available_layouts: "rnAvailableLayouts",
      rss_footer_enabled: "footerEnabled",
      ads: {
        cache: "cacheAds",
        background_color: "AdsBackgroundColor",
        provider: "adProvider",
        prebid_account_id: "adPrebidAccountId",
        prebid_server_host: "adPrebidServerHost",
        prebid_configuration_id: "adPrebidConfigurationId",
        prebid_share_geolocation: "adPrebidShareGeolocation",
        unit_id: "adUnitId",
        mob_app_id: "publisherProvidedID",
        bottom: "bottomAdParam",
        top: "topAdParam",
        default_fallback: "adDefaultFallback",
        targeting: "adTargeting"
      },
      email_subject: "emailSubjectCustomText",
      squared_image: "squaredImage",
      favorites_icon: "favoritesIcon",
      article_bg_color: "BgColor",
      article_top_color: "ArticleTopColor",
      paywallAppId: "paywallAppId",
      paywallEnabled: "paywallEnabled",
      enable_share_button_on_push_notification_urls: "enableShareButtonOnPushNotificationURLs",
      font_regular: _$$_REQUIRE(_dependencyMap[4]).PlatformUtils.isIOS() ? "iosRegular" : "androidRegular",
      font_medium: _$$_REQUIRE(_dependencyMap[4]).PlatformUtils.isIOS() ? "iosMedium" : "androidMedium",
      font_bold: _$$_REQUIRE(_dependencyMap[4]).PlatformUtils.isIOS() ? "iosBold" : "androidBold",
      latitude: "latitude",
      longitude: "longitude",
      skip_right_to_left_thumb_align_in_list: "skipRightToLeftThumbAlignInList",
      list_height_multiplier_phone: "listHeightMultiplierOnPhone",
      list_height_multiplier_tablet: "listHeightMultiplierOnTablet",
      app_auto_refresh_minutes: "appAutoRefreshMinutes",
      show_gallery_title: "showGalleryTitle",
      archive_search_url: "archiveSearchURL",
      must_login_to_view_article: "mustLoginToViewArticle",
      attach_paywall_to_article: "attachPaywallToArticle",
      article_preview_length: "articlePreviewLength",
      use_phone_article_style_on_tablet: "usePhoneArticleStyleOnTablet"
    },
    values: {
      drawer: {
        type: {
          feed: "feed",
          section: "section"
        },
        actions: {
          show_articles: "showArticles",
          open_my_home: "openMyHome",
          open_favorites: "openFavorites",
          open_search: "openSearch",
          open_url: "openURL",
          open_settings: "openSettings",
          open_archive_search: "openArchiveSearch",
          open_full_screen: "openFullScreen",
          upload_image: "uploadImage",
          open_epaper: "openEpaper",
          open_live_news: "openLiveNews",
          open_in_app_purchase_page: "openInAppPurchasePage",
          open_optionspage_tab_editions: "openOptionPageEditions",
          open_optionspage_tab_login: "openOptionPageLogin",
          open_optionspage_tab_contact: "openOptionPageContact",
          open_optionspage_tab_help: "openOptionPageHelp",
          open_optionspage_tab_archive: "openOptionPageArchive",
          open_paywall_account: "openPaywallAccount",
          open_publications: "openPublications",
          open_drawer: "openDrawer"
        },
        params: {
          open_le_vedette: "openLeVedette",
          open_real_estate: "openRealEstate",
          open_auto_search: "openAutoSearch",
          open_monster: "openMonster",
          open_fair: "openFair",
          open_weather: "openWeather",
          open_events: "openEvents"
        }
      },
      favoritesIcons: {
        supported: ["heart", "star", "bookmark"],
        default: "heart"
      }
    }
  };
},1963,[5,80,7,8,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _ParserV = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _ParserV2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var RssActionManager = function () {
    function RssActionManager() {
      (0, _classCallCheck2.default)(this, RssActionManager);
      this.main = {};
      this.properties = [];
      this.icons = [];
      this.iconsFullscreen = [];
    }

    (0, _createClass2.default)(RssActionManager, [{
      key: "initActions",
      value: function initActions() {
        var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var find = RssActionManager.PARSER.find(function (parser) {
          return parser.isParsable(data);
        });

        if (find) {
          find.parse(data);
          this.main = find.getMainAction();
          this.properties = find.getProperties();
          this.icons = find.getIcons();
          this.iconsFullscreen = find.getFullScreenIcons();
        }
      }
    }, {
      key: "hasMainActionOpenGallery",
      value: function hasMainActionOpenGallery() {
        return (0, _$$_REQUIRE(_dependencyMap[5]).hasActionOpenGallery)(this.main);
      }
    }, {
      key: "hasMainActionOpenLoadExternalUrl",
      value: function hasMainActionOpenLoadExternalUrl() {
        return (0, _$$_REQUIRE(_dependencyMap[5]).hasActionOpenLoadExternalUrl)(this.main);
      }
    }, {
      key: "hasMainActionShared",
      value: function hasMainActionShared() {
        return (0, _$$_REQUIRE(_dependencyMap[5]).hasActionShared)(this.main);
      }
    }, {
      key: "hasMainActionOpenEdition",
      value: function hasMainActionOpenEdition() {
        return (0, _$$_REQUIRE(_dependencyMap[5]).hasActionOpenEdition)(this.main);
      }
    }, {
      key: "hasMainActionOpenLinkToCategory",
      value: function hasMainActionOpenLinkToCategory() {
        return (0, _$$_REQUIRE(_dependencyMap[5]).hasActionOpenLinkToCategory)(this.main);
      }
    }, {
      key: "hasMainActionLiveStream",
      value: function hasMainActionLiveStream() {
        return (0, _$$_REQUIRE(_dependencyMap[5]).hasActionLiveStream)(this.main);
      }
    }, {
      key: "hasMainActionHtml5Stream",
      value: function hasMainActionHtml5Stream() {
        return (0, _$$_REQUIRE(_dependencyMap[5]).hasActionHtml5Stream)(this.main);
      }
    }, {
      key: "hasPropertyHideDate",
      value: function hasPropertyHideDate() {
        return (0, _$$_REQUIRE(_dependencyMap[5]).hasPropertyHideDate)(this.properties);
      }
    }, {
      key: "hasPropertyPremiumArticle",
      value: function hasPropertyPremiumArticle() {
        return (0, _$$_REQUIRE(_dependencyMap[5]).hasPropertyPremiumArticle)(this.properties);
      }
    }, {
      key: "hasPropertyDisableOpenImage",
      value: function hasPropertyDisableOpenImage() {
        return (0, _$$_REQUIRE(_dependencyMap[5]).hasPropertyDisableOpenImage)(this.properties);
      }
    }, {
      key: "hasPropertyLoadUrlInArticle",
      value: function hasPropertyLoadUrlInArticle() {
        return (0, _$$_REQUIRE(_dependencyMap[5]).hasPropertyLoadUrlInArticle)(this.properties);
      }
    }, {
      key: "hasPropertyLoadNativeAd",
      value: function hasPropertyLoadNativeAd() {
        return (0, _$$_REQUIRE(_dependencyMap[5]).hasPropertyLoadNativeAd)(this.properties);
      }
    }, {
      key: "hasPropertyLoadNativeAdProvider",
      value: function hasPropertyLoadNativeAdProvider(provider) {
        return (0, _$$_REQUIRE(_dependencyMap[5]).hasPropertyLoadNativeAdProvider)(this.properties, provider);
      }
    }, {
      key: "hasPropertyHideItemInFullScreen",
      value: function hasPropertyHideItemInFullScreen() {
        return (0, _$$_REQUIRE(_dependencyMap[5]).hasPropertyHideItemInFullScreen)(this.properties);
      }
    }, {
      key: "hasPropertyHideImageInCardMode",
      value: function hasPropertyHideImageInCardMode() {
        return (0, _$$_REQUIRE(_dependencyMap[5]).hasPropertyHideImageInCardMode)(this.properties);
      }
    }, {
      key: "hasPropertyHideSummaryInCardMode",
      value: function hasPropertyHideSummaryInCardMode() {
        return (0, _$$_REQUIRE(_dependencyMap[5]).hasPropertyHideSummaryInCardMode)(this.properties);
      }
    }, {
      key: "hasPropertyTitleOnImageInCardMode",
      value: function hasPropertyTitleOnImageInCardMode() {
        return (0, _$$_REQUIRE(_dependencyMap[5]).hasPropertyTitleOnImageInCardMode)(this.properties);
      }
    }, {
      key: "hasPropertyOS",
      value: function hasPropertyOS() {
        return (0, _$$_REQUIRE(_dependencyMap[5]).hasPropertyOS)(this.properties);
      }
    }, {
      key: "hasPropertyIsSchedule",
      value: function hasPropertyIsSchedule() {
        return (0, _$$_REQUIRE(_dependencyMap[5]).hasPropertyIsSchedule)(this.properties);
      }
    }, {
      key: "hasPropertyNotClickable",
      value: function hasPropertyNotClickable() {
        return (0, _$$_REQUIRE(_dependencyMap[5]).hasPropertyNotClickable)(this.properties);
      }
    }, {
      key: "hasPropertyLatestArticleImage",
      value: function hasPropertyLatestArticleImage() {
        return (0, _$$_REQUIRE(_dependencyMap[5]).hasPropertyLatestArticleImage)(this.properties);
      }
    }, {
      key: "getGalleryIcon",
      value: function getGalleryIcon() {
        return this.icons.find(function (icon) {
          return (0, _$$_REQUIRE(_dependencyMap[5]).hasActionOpenGallery)(icon);
        });
      }
    }, {
      key: "getTileIcons",
      value: function getTileIcons() {
        return this.icons.filter(function (icon) {
          return !(0, _$$_REQUIRE(_dependencyMap[5]).hasActionOpenGallery)(icon);
        });
      }
    }, {
      key: "getFullscreenGalleryIcon",
      value: function getFullscreenGalleryIcon() {
        return this.iconsFullscreen.find(function (icon) {
          return (0, _$$_REQUIRE(_dependencyMap[5]).hasActionOpenGallery)(icon);
        });
      }
    }]);
    return RssActionManager;
  }();

  exports.default = RssActionManager;
  RssActionManager.PARSER = [new _ParserV2.default(), new _ParserV.default()];
},1964,[5,7,8,1965,1967,1968]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var Constants = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var ParserV1 = function () {
    function ParserV1() {
      (0, _classCallCheck2.default)(this, ParserV1);
      this.mainAction = {};
      this.properties = [];
      this.icons = [];
      this.fullScreenIcons = [];
    }

    (0, _createClass2.default)(ParserV1, [{
      key: "isParsable",
      value: function isParsable(str) {
        return !!str;
      }
    }, {
      key: "parse",
      value: function parse(str) {
        this.data = (str || "").split(",");
        this.parseActions();
        this.parseProperties();
      }
    }, {
      key: "parseActions",
      value: function parseActions() {
        var actions = [];
        this.data.forEach(function (item) {
          if (Constants.ACTIONS.indexOf(item)) {
            var obj = {
              action: item
            };
            var matches;

            switch (item) {
              case Constants.ACTION_LINK_TO_CATEGORY:
                matches = item.match(Constants.REG_EX_LINK_TO_CATEGORY);

                if (matches) {
                  obj.category = matches[3];
                }

                break;

              case Constants.ACTION_LOAD_EXTERNAL_URL:
                matches = item.match(Constants.REG_EX_LOAD_EXTERNAL_URL);

                if (matches) {
                  obj.url = matches[3];
                }

                break;

              case Constants.ACTION_OPEN_GALLERY:
                matches = item.match(Constants.REG_EX_OPEN_GALLERY);

                if (matches) {
                  obj.icon = matches[3];
                }

                break;
            }

            actions.push(obj);
          }
        });

        if (actions.length > 0) {
          this.mainAction = actions[0];
          this.icons = actions.slice(1);
        }
      }
    }, {
      key: "parseProperties",
      value: function parseProperties() {
        var _this = this;

        this.data.forEach(function (item) {
          if (Constants.PROPERTIES.indexOf(item)) {
            _this.properties.push(item);
          }
        });
      }
    }, {
      key: "getMainAction",
      value: function getMainAction() {
        return this.mainAction;
      }
    }, {
      key: "getProperties",
      value: function getProperties() {
        return this.properties;
      }
    }, {
      key: "getIcons",
      value: function getIcons() {
        return this.icons;
      }
    }, {
      key: "getFullScreenIcons",
      value: function getFullScreenIcons() {
        return this.fullScreenIcons;
      }
    }]);
    return ParserV1;
  }();

  exports.default = ParserV1;
},1965,[5,7,8,1966]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.ACTIONS = exports.PROPERTIES = exports.REG_EX_LOAD_EXTERNAL_URL = exports.REG_EX_OPEN_GALLERY = exports.REG_EX_LINK_TO_CATEGORY = exports.ACTION_HTML5_STREAM = exports.ACTION_LIVE_STREAM = exports.ACTION_OPEN_E_EDITION = exports.ACTION_LINK_TO_CATEGORY = exports.ACTION_LOAD_EXTERNAL_URL = exports.ACTION_OPEN_GALLERY = exports.ACTION_SAVE_FOR_LATER = exports.ACTION_SHARE = exports.PROPERTY_LATEST_ARTICLE_IMAGE = exports.PROPERTY_NOT_CLICKABLE = exports.PROPERTY_IS_SCHEDULE = exports.PROPERTY_TITLE_ON_IMAGE_IN_CARD_MODE = exports.PROPERTY_HIDE_SUMMARY_IN_CARD_MODE = exports.PROPERTY_HIDE_IMAGE_IN_CARD_MODE = exports.PROPERTY_HIDE_ITEM_IN_FULL_SCREEN = exports.PROPERTY_LOAD_NATIVE_AD = exports.PROPERTY_LOAD_URL_IN_ARTICLE = exports.PROPERTY_DISABLE_OPEN_IMAGE = exports.PROPERTY_PREMIUM_ARTICLE = exports.PROPERTY_HIDE_DATE = undefined;
  var PROPERTY_HIDE_DATE = "<hideDate>";
  exports.PROPERTY_HIDE_DATE = PROPERTY_HIDE_DATE;
  var PROPERTY_PREMIUM_ARTICLE = "premiumArticle";
  exports.PROPERTY_PREMIUM_ARTICLE = PROPERTY_PREMIUM_ARTICLE;
  var PROPERTY_DISABLE_OPEN_IMAGE = "<disable_open_image>";
  exports.PROPERTY_DISABLE_OPEN_IMAGE = PROPERTY_DISABLE_OPEN_IMAGE;
  var PROPERTY_LOAD_URL_IN_ARTICLE = "loadUrlInArticle";
  exports.PROPERTY_LOAD_URL_IN_ARTICLE = PROPERTY_LOAD_URL_IN_ARTICLE;
  var PROPERTY_LOAD_NATIVE_AD = "loadNativeAd";
  exports.PROPERTY_LOAD_NATIVE_AD = PROPERTY_LOAD_NATIVE_AD;
  var PROPERTY_HIDE_ITEM_IN_FULL_SCREEN = "hideItemInFullScreen";
  exports.PROPERTY_HIDE_ITEM_IN_FULL_SCREEN = PROPERTY_HIDE_ITEM_IN_FULL_SCREEN;
  var PROPERTY_HIDE_IMAGE_IN_CARD_MODE = "hideImageInCardMode";
  exports.PROPERTY_HIDE_IMAGE_IN_CARD_MODE = PROPERTY_HIDE_IMAGE_IN_CARD_MODE;
  var PROPERTY_HIDE_SUMMARY_IN_CARD_MODE = "hideSummaryInCardMode";
  exports.PROPERTY_HIDE_SUMMARY_IN_CARD_MODE = PROPERTY_HIDE_SUMMARY_IN_CARD_MODE;
  var PROPERTY_TITLE_ON_IMAGE_IN_CARD_MODE = "titleOnImageInCardMode";
  exports.PROPERTY_TITLE_ON_IMAGE_IN_CARD_MODE = PROPERTY_TITLE_ON_IMAGE_IN_CARD_MODE;
  var PROPERTY_IS_SCHEDULE = "isSchedule";
  exports.PROPERTY_IS_SCHEDULE = PROPERTY_IS_SCHEDULE;
  var PROPERTY_NOT_CLICKABLE = "notClickable";
  exports.PROPERTY_NOT_CLICKABLE = PROPERTY_NOT_CLICKABLE;
  var PROPERTY_LATEST_ARTICLE_IMAGE = "latestArticleImage";
  exports.PROPERTY_LATEST_ARTICLE_IMAGE = PROPERTY_LATEST_ARTICLE_IMAGE;
  var ACTION_SHARE = "share";
  exports.ACTION_SHARE = ACTION_SHARE;
  var ACTION_SAVE_FOR_LATER = "saveForLater";
  exports.ACTION_SAVE_FOR_LATER = ACTION_SAVE_FOR_LATER;
  var ACTION_OPEN_GALLERY = "openGallery";
  exports.ACTION_OPEN_GALLERY = ACTION_OPEN_GALLERY;
  var ACTION_LOAD_EXTERNAL_URL = "loadExternalURL";
  exports.ACTION_LOAD_EXTERNAL_URL = ACTION_LOAD_EXTERNAL_URL;
  var ACTION_LINK_TO_CATEGORY = "link_to_category";
  exports.ACTION_LINK_TO_CATEGORY = ACTION_LINK_TO_CATEGORY;
  var ACTION_OPEN_E_EDITION = "openEedition";
  exports.ACTION_OPEN_E_EDITION = ACTION_OPEN_E_EDITION;
  var ACTION_LIVE_STREAM = "isLiveStream";
  exports.ACTION_LIVE_STREAM = ACTION_LIVE_STREAM;
  var ACTION_HTML5_STREAM = "isHtml5VideoStream";
  exports.ACTION_HTML5_STREAM = ACTION_HTML5_STREAM;
  var REG_EX_LINK_TO_CATEGORY = /(link_to_category)(:(.*)){0,1}/;
  exports.REG_EX_LINK_TO_CATEGORY = REG_EX_LINK_TO_CATEGORY;
  var REG_EX_OPEN_GALLERY = /(openGallery)(##(.*)){0,1}/;
  exports.REG_EX_OPEN_GALLERY = REG_EX_OPEN_GALLERY;
  var REG_EX_LOAD_EXTERNAL_URL = /(loadExternalURL)(:(.*)){0,1}/;
  exports.REG_EX_LOAD_EXTERNAL_URL = REG_EX_LOAD_EXTERNAL_URL;
  var PROPERTIES = [PROPERTY_HIDE_DATE, PROPERTY_PREMIUM_ARTICLE, PROPERTY_DISABLE_OPEN_IMAGE, PROPERTY_LOAD_URL_IN_ARTICLE, PROPERTY_LOAD_NATIVE_AD, PROPERTY_HIDE_ITEM_IN_FULL_SCREEN, PROPERTY_HIDE_IMAGE_IN_CARD_MODE, PROPERTY_HIDE_SUMMARY_IN_CARD_MODE, PROPERTY_TITLE_ON_IMAGE_IN_CARD_MODE, PROPERTY_IS_SCHEDULE, PROPERTY_NOT_CLICKABLE];
  exports.PROPERTIES = PROPERTIES;
  var ACTIONS = [ACTION_OPEN_GALLERY, ACTION_LOAD_EXTERNAL_URL, ACTION_LINK_TO_CATEGORY, ACTION_OPEN_E_EDITION, ACTION_SHARE, ACTION_SAVE_FOR_LATER, ACTION_LIVE_STREAM];
  exports.ACTIONS = ACTIONS;
},1966,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var ParserV2 = function () {
    function ParserV2() {
      (0, _classCallCheck2.default)(this, ParserV2);
      this.mainAction = {};
      this.properties = [];
      this.icons = [];
      this.fullScreenIcons = [];
    }

    (0, _createClass2.default)(ParserV2, [{
      key: "isParsable",
      value: function isParsable(str) {
        try {
          this.data = JSON.parse(str);
          return true;
        } catch (e) {
          return false;
        }
      }
    }, {
      key: "parse",
      value: function parse(str) {
        this.data = JSON.parse(str) || {};
        this.parseMainAction();
        this.parseActions();
        this.parseFullScreenIcons();
        this.parseProperties();
      }
    }, {
      key: "parseMainAction",
      value: function parseMainAction() {
        this.mainAction = this.data.mainAction || {};
      }
    }, {
      key: "parseProperties",
      value: function parseProperties() {
        this.properties = this.data.properties || [];
      }
    }, {
      key: "parseActions",
      value: function parseActions() {
        this.icons = this.data.icons || [];
      }
    }, {
      key: "parseFullScreenIcons",
      value: function parseFullScreenIcons() {
        this.fullScreenIcons = this.data.fullpage_icons || [];
      }
    }, {
      key: "getMainAction",
      value: function getMainAction() {
        return this.mainAction;
      }
    }, {
      key: "getProperties",
      value: function getProperties() {
        return this.properties;
      }
    }, {
      key: "getIcons",
      value: function getIcons() {
        return this.icons;
      }
    }, {
      key: "getFullScreenIcons",
      value: function getFullScreenIcons() {
        return this.fullScreenIcons;
      }
    }]);
    return ParserV2;
  }();

  exports.default = ParserV2;
},1967,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getTitleAction = exports.getIconAction = exports.doAction = exports.hasActionHtml5Stream = exports.hasActionLiveStream = exports.hasActionOpenLoadExternalUrl = exports.hasActionOpenLinkToCategory = exports.hasActionOpenEdition = exports.hasActionOpenGallery = exports.hasActionShared = exports.hasActionSaveForLater = exports.hasPropertyLatestArticleImage = exports.hasPropertyNotClickable = exports.hasPropertyIsSchedule = exports.hasPropertyTitleOnImageInCardMode = exports.hasPropertyHideSummaryInCardMode = exports.hasPropertyHideImageInCardMode = exports.hasPropertyHideItemInFullScreen = exports.hasPropertyLoadNativeAdProvider = exports.hasPropertyLoadNativeAd = exports.hasPropertyLoadUrlInArticle = exports.hasPropertyDisableOpenImage = exports.hasPropertyPremiumArticle = exports.hasPropertyHideDate = exports.hasPropertyOS = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var _reactNativeShare = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var Constants = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var share = function share(_ref) {
    var source = _ref.source,
        title = _ref.title,
        subject = _ref.subject;
    var shareOptions = {
      url: source,
      title: "Share",
      subject: subject || title,
      message: title
    };

    _reactNativeShare.default.open(shareOptions);
  };

  var hasAction = function hasAction(action, toCheck) {
    return action && toCheck && action === toCheck;
  };

  var hasProperty = function hasProperty(properties, toCheck) {
    return properties && toCheck && properties.indexOf(toCheck) > -1;
  };

  var getPropertyByRegex = function getPropertyByRegex(properties, regex) {
    if (properties) {
      return properties.find(function (property) {
        return property.match(regex);
      });
    }

    return undefined;
  };

  var hasPropertyOS = function hasPropertyOS(properties) {
    var regex = /os-([a-z|A-Z]+)/;
    var property = getPropertyByRegex(properties, regex);

    if (property) {
      var match = property.match(regex);

      if (match && match[1] === _reactNative.Platform.OS) {
        return true;
      }

      return false;
    }

    return true;
  };

  exports.hasPropertyOS = hasPropertyOS;

  var hasPropertyHideDate = function hasPropertyHideDate(properties) {
    return hasProperty(properties, Constants.PROPERTY_HIDE_DATE);
  };

  exports.hasPropertyHideDate = hasPropertyHideDate;

  var hasPropertyPremiumArticle = function hasPropertyPremiumArticle(properties) {
    return hasProperty(properties, Constants.PROPERTY_PREMIUM_ARTICLE);
  };

  exports.hasPropertyPremiumArticle = hasPropertyPremiumArticle;

  var hasPropertyDisableOpenImage = function hasPropertyDisableOpenImage(properties) {
    return hasProperty(properties, Constants.PROPERTY_DISABLE_OPEN_IMAGE);
  };

  exports.hasPropertyDisableOpenImage = hasPropertyDisableOpenImage;

  var hasPropertyLoadUrlInArticle = function hasPropertyLoadUrlInArticle(properties) {
    return hasProperty(properties, Constants.PROPERTY_LOAD_URL_IN_ARTICLE);
  };

  exports.hasPropertyLoadUrlInArticle = hasPropertyLoadUrlInArticle;

  var hasPropertyLoadNativeAd = function hasPropertyLoadNativeAd(properties) {
    return hasProperty(properties, Constants.PROPERTY_LOAD_NATIVE_AD);
  };

  exports.hasPropertyLoadNativeAd = hasPropertyLoadNativeAd;

  var hasPropertyLoadNativeAdProvider = function hasPropertyLoadNativeAdProvider(properties, provider) {
    return hasProperty(properties, Constants.PROPERTY_LOAD_NATIVE_AD + "-" + provider);
  };

  exports.hasPropertyLoadNativeAdProvider = hasPropertyLoadNativeAdProvider;

  var hasPropertyHideItemInFullScreen = function hasPropertyHideItemInFullScreen(properties) {
    return hasProperty(properties, Constants.PROPERTY_HIDE_ITEM_IN_FULL_SCREEN);
  };

  exports.hasPropertyHideItemInFullScreen = hasPropertyHideItemInFullScreen;

  var hasPropertyHideImageInCardMode = function hasPropertyHideImageInCardMode(properties) {
    return hasProperty(properties, Constants.PROPERTY_HIDE_IMAGE_IN_CARD_MODE);
  };

  exports.hasPropertyHideImageInCardMode = hasPropertyHideImageInCardMode;

  var hasPropertyHideSummaryInCardMode = function hasPropertyHideSummaryInCardMode(properties) {
    return hasProperty(properties, Constants.PROPERTY_HIDE_SUMMARY_IN_CARD_MODE);
  };

  exports.hasPropertyHideSummaryInCardMode = hasPropertyHideSummaryInCardMode;

  var hasPropertyTitleOnImageInCardMode = function hasPropertyTitleOnImageInCardMode(properties) {
    return hasProperty(properties, Constants.PROPERTY_TITLE_ON_IMAGE_IN_CARD_MODE);
  };

  exports.hasPropertyTitleOnImageInCardMode = hasPropertyTitleOnImageInCardMode;

  var hasPropertyIsSchedule = function hasPropertyIsSchedule(properties) {
    return hasProperty(properties, Constants.PROPERTY_IS_SCHEDULE);
  };

  exports.hasPropertyIsSchedule = hasPropertyIsSchedule;

  var hasPropertyNotClickable = function hasPropertyNotClickable(properties) {
    return hasProperty(properties, Constants.PROPERTY_NOT_CLICKABLE);
  };

  exports.hasPropertyNotClickable = hasPropertyNotClickable;

  var hasPropertyLatestArticleImage = function hasPropertyLatestArticleImage(properties) {
    return hasProperty(properties, Constants.PROPERTY_LATEST_ARTICLE_IMAGE);
  };

  exports.hasPropertyLatestArticleImage = hasPropertyLatestArticleImage;

  var hasActionSaveForLater = function hasActionSaveForLater(_ref2) {
    var action = _ref2.action;
    return hasAction(action, Constants.ACTION_SAVE_FOR_LATER);
  };

  exports.hasActionSaveForLater = hasActionSaveForLater;

  var hasActionShared = function hasActionShared(_ref3) {
    var action = _ref3.action;
    return hasAction(action, Constants.ACTION_SHARE);
  };

  exports.hasActionShared = hasActionShared;

  var hasActionOpenGallery = function hasActionOpenGallery(_ref4) {
    var action = _ref4.action;
    return hasAction(action, Constants.ACTION_OPEN_GALLERY);
  };

  exports.hasActionOpenGallery = hasActionOpenGallery;

  var hasActionOpenEdition = function hasActionOpenEdition(_ref5) {
    var action = _ref5.action;
    return hasAction(action, Constants.ACTION_OPEN_E_EDITION);
  };

  exports.hasActionOpenEdition = hasActionOpenEdition;

  var hasActionOpenLinkToCategory = function hasActionOpenLinkToCategory(_ref6) {
    var action = _ref6.action;
    return hasAction(action, Constants.ACTION_LINK_TO_CATEGORY);
  };

  exports.hasActionOpenLinkToCategory = hasActionOpenLinkToCategory;

  var hasActionOpenLoadExternalUrl = function hasActionOpenLoadExternalUrl(_ref7) {
    var action = _ref7.action;
    return hasAction(action, Constants.ACTION_LOAD_EXTERNAL_URL);
  };

  exports.hasActionOpenLoadExternalUrl = hasActionOpenLoadExternalUrl;

  var hasActionLiveStream = function hasActionLiveStream(_ref8) {
    var action = _ref8.action;
    return hasAction(action, Constants.ACTION_LIVE_STREAM);
  };

  exports.hasActionLiveStream = hasActionLiveStream;

  var hasActionHtml5Stream = function hasActionHtml5Stream(_ref9) {
    var action = _ref9.action;
    return hasAction(action, Constants.ACTION_HTML5_STREAM);
  };

  exports.hasActionHtml5Stream = hasActionHtml5Stream;

  var doAction = function doAction(icon, _ref10) {
    var tile = _ref10.tile,
        navigation = _ref10.navigation;
    var consumed = true;

    if (hasActionShared(icon)) {
      share(tile);
    } else if (hasActionSaveForLater(icon)) {
      var favoritesConfig = global.getRssFavoritesConfig();
      favoritesConfig.toggleFavorite(tile);
    } else if (hasActionOpenGallery(icon)) {
      consumed = navigation.navigate("GalleryScreen", {
        items: tile.gallery,
        category: tile.category,
        title: tile.title,
        caller: "live_news"
      });
    } else if (hasActionOpenEdition(icon)) {
      var issue = icon.issue,
          edition = icon.edition;

      _NavigationService.default.main.reset("NewsmemoryNavigator", {
        isFromRss: true,
        issue: issue,
        edition: edition
      });
    } else if (hasActionOpenLinkToCategory(icon)) {
      consumed = navigation.navigate(icon.category);
    } else if (hasActionOpenLoadExternalUrl(icon)) {
      consumed = navigation.navigate("WebScreen", {
        url: icon.url
      });
    } else {
      consumed = false;
    }

    return consumed;
  };

  exports.doAction = doAction;

  var getIconAction = function getIconAction(icon, _ref11) {
    var tile = _ref11.tile,
        style = _ref11.style,
        color = _ref11.color,
        size = _ref11.size;

    var _global$getRssIndex = global.getRssIndex(),
        supportColor = _global$getRssIndex.supportColor;

    var iconColor = color || supportColor;
    var name = "exclamation-circle";
    var type = _iconComponent.TecnaviaIconType.FONT_AWESOME_5;

    if (hasActionSaveForLater(icon)) {
      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).IconFavorite, {
        item: tile,
        size: size,
        color: iconColor,
        style: style,
        eventToggleItemChecker: function eventToggleItemChecker(currentItem, params) {
          return currentItem.feedId === params.feedId;
        },
        clearFavoritesEventName: _events.default.CLEAR_FAVORITES,
        toggleFavoritesEventName: _events.default.TOGGLE_FAVORITE,
        isFavoriteChecker: function isFavoriteChecker(item) {
          var favoritesConfig = global.getRssFavoritesConfig();
          return favoritesConfig.isFavorite(item);
        }
      });
    }

    if (hasActionShared(icon)) {
      name = "share";
      type = _iconComponent.TecnaviaIconType.MATERIAL_ICONS;
    } else if (hasActionOpenEdition(icon)) {
      name = "newspaper";
    } else if (hasActionOpenLinkToCategory(icon)) {
      name = "anchor";
    } else if (hasActionOpenLoadExternalUrl(icon)) {
      name = "link";
    }

    return _react.default.createElement(_iconComponent.default, {
      type: type,
      name: name,
      style: [style, {
        color: iconColor
      }],
      fontSize: size
    });
  };

  exports.getIconAction = getIconAction;

  var getTitleAction = function getTitleAction(icon, _ref12) {
    var tile = _ref12.tile;

    if (hasActionShared(icon)) {
      return global.strings("action_share");
    }

    if (hasActionSaveForLater(icon)) {
      var favoritesConfig = global.getRssFavoritesConfig();
      return !favoritesConfig.isFavorite(tile) ? global.strings("action_save_for_later") : global.strings("action_remove_from_favorites");
    }

    if (hasActionOpenEdition(icon)) {
      return global.strings("action_open_epaper");
    }

    if (hasActionOpenLinkToCategory(icon)) {
      return global.strings("action_go_to_category", {
        anchor: icon.category
      });
    }

    if (hasActionOpenLoadExternalUrl(icon)) {
      return global.strings("action_open_link");
    }

    return global.strings("action_unknown");
  };

  exports.getTitleAction = getTitleAction;
},1968,[5,17,28,575,1966,1861,460,1806,1969]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.IconFavorite = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var IconFavorite = function (_React$Component) {
    (0, _inherits2.default)(IconFavorite, _React$Component);

    var _super = _createSuper(IconFavorite);

    function IconFavorite(props) {
      var _this;

      (0, _classCallCheck2.default)(this, IconFavorite);
      _this = _super.call(this, props);
      _this.state = {
        isFavorite: props.isFavoriteChecker(props.item)
      };
      return _this;
    }

    (0, _createClass2.default)(IconFavorite, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        var _this$props = this.props,
            currentItem = _this$props.item,
            isFavoriteChecker = _this$props.isFavoriteChecker,
            clearFavoritesEventName = _this$props.clearFavoritesEventName,
            toggleFavoritesEventName = _this$props.toggleFavoritesEventName,
            eventToggleItemChecker = _this$props.eventToggleItemChecker;

        if (clearFavoritesEventName) {
          this.clearFavorites = _$$_REQUIRE(_dependencyMap[9]).EventRegister.on(clearFavoritesEventName, function () {
            _this2.setState({
              isFavorite: false
            });
          });
        }

        if (toggleFavoritesEventName) {
          this.toggleFavorite = _$$_REQUIRE(_dependencyMap[9]).EventRegister.on(toggleFavoritesEventName, function (params) {
            if (!eventToggleItemChecker || eventToggleItemChecker(currentItem, params)) {
              var isFavorite = isFavoriteChecker(currentItem);

              _this2.setState({
                isFavorite: isFavorite
              });
            }
          });
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[9]).EventRegister.rm(this.toggleFavorite);

        _$$_REQUIRE(_dependencyMap[9]).EventRegister.rm(this.clearFavorites);
      }
    }, {
      key: "render",
      value: function render() {
        var style = this.props.style;
        var size = this.props.size;
        var color = this.props.color;
        size = size || _$$_REQUIRE(_dependencyMap[10]).CIRCULAR_MENU_ICON_SIZE;
        var isFavorite = this.state.isFavorite;
        var favoritesConfig = global.getRssFavoritesConfig();
        var icon = favoritesConfig.getIcon();
        var name = isFavorite ? icon : icon + "-outline";
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
          classes: ["icon-favorite"]
        }, _react.default.createElement(_imageIconChooserComponent.default, {
          type: _$$_REQUIRE(_dependencyMap[12]).TecnaviaIconType.MATERIAL_COMMUNITY_ICONS,
          name: name,
          iconStyle: [{
            color: color
          }, style],
          size: size
        }));
      }
    }]);
    return IconFavorite;
  }(_react.default.Component);

  exports.IconFavorite = IconFavorite;
  IconFavorite.propTypes = {
    item: _propTypes.default.object.isRequired,
    style: _propTypes.default.any,
    size: _propTypes.default.number,
    color: _propTypes.default.string,
    isFavoriteChecker: _propTypes.default.func.isRequired,
    eventToggleItemChecker: _propTypes.default.func,
    clearFavoritesEventName: _propTypes.default.string,
    toggleFavoritesEventName: _propTypes.default.string
  };
},1969,[5,7,8,12,14,16,17,201,1970,572,1971,699,1806]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getBase64 = getBase64;
  exports.AnimatedImageIconChooser = exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  var _imageComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  function mapPropsOnComponent(props) {
    var style = props.style,
        imageStyle = props.imageStyle,
        iconStyle = props.iconStyle,
        type = props.type,
        name = props.name,
        source = props.source,
        size = props.size,
        tintColor = props.tintColor,
        rest = (0, _objectWithoutProperties2.default)(props, ["style", "imageStyle", "iconStyle", "type", "name", "source", "size", "tintColor"]);

    var library = _$$_REQUIRE(_dependencyMap[13]).CssUtils.getAttributeFromStyle("library", style, type);

    var srcFromStyle = _$$_REQUIRE(_dependencyMap[13]).CssUtils.getAttributeFromStyle("src", style);

    var src = _$$_REQUIRE(_dependencyMap[13]).JSUtils.isNull(srcFromStyle) || srcFromStyle === "inherit" ? name : srcFromStyle;
    var newProps = (0, _extends2.default)({
      Component: null
    }, rest);

    var mergedIconStyle = _reactNative.StyleSheet.flatten([iconStyle, style]);

    if (Object.values(_iconComponent.TecnaviaIconType).includes(library) && src && src.length) {
      newProps.Component = _iconComponent.default;
      newProps.getBase64Function = _iconComponent.iconBase64;
      newProps.style = _$$_REQUIRE(_dependencyMap[13]).CssUtils.deleteKeysFromStyle(mergedIconStyle, ["tintColor", "src"]);
      newProps.size = size;
      newProps.name = src;
      newProps.type = library;
    } else {
      var newSource = source;

      if (typeof srcFromStyle === "string" && srcFromStyle.indexOf("base64") !== -1) {
        newSource = {
          uri: srcFromStyle
        };
      }

      var mergedImageStyle = _reactNative.StyleSheet.flatten([imageStyle, style]);

      var width = _$$_REQUIRE(_dependencyMap[13]).CssUtils.getAttributeFromStyle("width", mergedImageStyle);

      var height = _$$_REQUIRE(_dependencyMap[13]).CssUtils.getAttributeFromStyle("height", mergedImageStyle);

      var fontSize = _$$_REQUIRE(_dependencyMap[13]).CssUtils.getAttributeFromStyle("fontSize", mergedIconStyle);

      var newStyle = {};

      if (width === undefined && height === undefined) {
        if (fontSize !== undefined) {
          newStyle.width = fontSize;
          newStyle.height = fontSize;
        }
      } else if (width === undefined) {
        newStyle.width = height;
      } else if (height === undefined) {
        newStyle.height = width;
      }

      newProps.Component = _imageComponent.default;
      newProps.getBase64Function = _imageComponent.imageBase64;
      newProps.style = _$$_REQUIRE(_dependencyMap[13]).CssUtils.deleteKeysFromStyle([mergedImageStyle, newStyle], ["color", "src", "fontSize"]);
      newProps.source = newSource;
      newProps.tintColor = tintColor;
    }

    return newProps;
  }

  function getBase64(props) {
    var _mapPropsOnComponent = mapPropsOnComponent(props),
        Component = _mapPropsOnComponent.Component,
        getBase64Function = _mapPropsOnComponent.getBase64Function,
        rest = (0, _objectWithoutProperties2.default)(_mapPropsOnComponent, ["Component", "getBase64Function"]);

    if (getBase64Function) {
      return getBase64Function(rest);
    }

    return undefined;
  }

  var ImageIconChooser = function (_React$Component) {
    (0, _inherits2.default)(ImageIconChooser, _React$Component);

    var _super = _createSuper(ImageIconChooser);

    function ImageIconChooser() {
      (0, _classCallCheck2.default)(this, ImageIconChooser);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(ImageIconChooser, [{
      key: "render",
      value: function render() {
        var _mapPropsOnComponent2 = mapPropsOnComponent(this.props),
            Component = _mapPropsOnComponent2.Component,
            getBase64Function = _mapPropsOnComponent2.getBase64Function,
            rest = (0, _objectWithoutProperties2.default)(_mapPropsOnComponent2, ["Component", "getBase64Function"]);

        if (Component) {
          return _react.default.createElement(Component, rest);
        }

        return Component;
      }
    }]);
    return ImageIconChooser;
  }(_react.default.Component);

  ImageIconChooser.propTypes = (0, _extends2.default)({
    style: _propTypes.default.any,
    imageStyle: _propTypes.default.any,
    iconStyle: _propTypes.default.any,
    size: _propTypes.default.number,
    tintColor: _propTypes.default.string
  }, _iconComponent.default.propTypes, _imageComponent.default.propTypes);

  var AnimatedImageIconChooser = _reactNative.Animated.createAnimatedComponent(ImageIconChooser);

  exports.AnimatedImageIconChooser = AnimatedImageIconChooser;
  var _default = ImageIconChooser;
  exports.default = _default;
},1970,[5,7,8,12,14,16,6,108,17,28,201,1806,588,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.CIRCULAR_MENU_ICON_SIZE = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var CIRCULAR_MENU_ICON_SIZE = 27;
  exports.CIRCULAR_MENU_ICON_SIZE = CIRCULAR_MENU_ICON_SIZE;

  var _default = _reactNative.StyleSheet.create({
    phoneItem: {
      width: 36,
      height: 36
    },
    tabletItem: {
      width: 24,
      height: 24
    },
    icon: {
      fontSize: CIRCULAR_MENU_ICON_SIZE
    }
  });

  exports.default = _default;
},1971,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Article = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var NoticeValues = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _RssActionManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _Resource = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Article = function () {
    function Article() {
      (0, _classCallCheck2.default)(this, Article);
      this.isEdition = false;
      this.isLinkToCategory = false;
      this.isAdvertisement = false;
      this.isHighlightedBox = false;
      this.isPremiumArticle = false;
      this.isTouchable = true;
      this.isHalfBox = false;
      this.hideCategory = false;
    }

    (0, _createClass2.default)(Article, [{
      key: "setExtraFields",
      value: function setExtraFields(extraFields) {
        try {
          var fields = JSON.parse(extraFields) || {};
          this.kicker = _$$_REQUIRE(_dependencyMap[7]).StringUtils.decodeHTML(fields.kicker);
        } catch (e) {}
      }
    }, {
      key: "setResources",
      value: function setResources(resources) {
        this.resources = resources;
      }
    }, {
      key: "getResources",
      value: function getResources() {
        return this.resources;
      }
    }, {
      key: "getFeedId",
      value: function getFeedId() {
        return this.feedId;
      }
    }, {
      key: "isLiveStream",
      value: function isLiveStream() {
        if (this.action) {
          return this.action.hasMainActionLiveStream();
        }

        return false;
      }
    }, {
      key: "isDailymotionLiveStreamVideo",
      value: function isDailymotionLiveStreamVideo() {
        return this.isLiveStream() && (0, _$$_REQUIRE(_dependencyMap[8]).galleryHasDailymotionVideo)(this.gallery);
      }
    }, {
      key: "isHtml5Stream",
      value: function isHtml5Stream() {
        if (this.action) {
          return this.action.hasMainActionHtml5Stream();
        }

        return false;
      }
    }, {
      key: "isSchedule",
      value: function isSchedule() {
        if (this.action) {
          return this.action.hasPropertyIsSchedule();
        }

        return false;
      }
    }, {
      key: "isNotClickable",
      value: function isNotClickable() {
        if (this.action) {
          return this.action.hasPropertyNotClickable() || this.isDailymotionLiveStreamVideo() && !this.isSchedule() || this.action.hasMainActionHtml5Stream();
        }

        return false;
      }
    }, {
      key: "isVisibleOnFullscreen",
      value: function isVisibleOnFullscreen() {
        return !this.isAdvertisement && !this.isEdition && !this.isHalfBox && !this.isNotClickable() && ["Action Block", "Advertisement", "ePaper"].indexOf(this.category) === -1 && !this.isLinkToCategory;
      }
    }, {
      key: "getDimensionsFromByline",
      value: function getDimensionsFromByline() {
        var width = 300;
        var height = 250;
        var backgroundColor;

        if (this.byline) {
          var parts = this.byline.split(",");

          if (parts.length > 1) {
            if (!isNaN(parts[0]) && !isNaN(parts[1])) {
              width = parseInt(parts[0], 10);
              height = parseInt(parts[1], 10);
            }

            if (parts.length > 2) {
              backgroundColor = parts[2];
            }
          }
        }

        return {
          width: width,
          height: height,
          backgroundColor: backgroundColor
        };
      }
    }, {
      key: "getTargetingFromSummary",
      value: function getTargetingFromSummary() {
        var _this = this;

        var targeting = {};

        if (this.summary) {
          try {
            targeting = JSON.parse(this.summary);

            if (this.adIndex !== undefined) {
              Object.keys(targeting).forEach(function (key) {
                if (targeting[key].indexOf("##index##") !== -1) {
                  targeting[key] = targeting[key].replace("##index##", _this.adIndex);
                } else if (targeting[key].indexOf("##position##") !== -1) {
                  targeting[key] = targeting[key].replace("##position##", _this.adIndex + 1);
                }
              });
            }
          } catch (e) {}
        }

        return targeting;
      }
    }, {
      key: "getPriorityByCols",
      value: function getPriorityByCols(cols) {
        var greaterKey;
        var keys = Object.keys(this.priority);

        for (var i = 0; i < keys.length; i++) {
          if (keys[i] === cols) {
            return keys[i];
          }

          if (parseInt(keys[i], 10) && (!greaterKey || keys[i] > greaterKey)) {
            greaterKey = keys[i];
          }
        }

        return this.priority[greaterKey];
      }
    }, {
      key: "setIsHalfBox",
      value: function setIsHalfBox(cols, deviceKey) {
        var priority = this.getPriorityByCols(cols)[deviceKey];
        var priorityComponents = priority.split("x");

        if (priorityComponents.length > 1) {
          this.isHalfBox = parseFloat(priorityComponents[1]) === 0.5;
        } else if (priorityComponents.length > 0) {
          this.isHalfBox = parseFloat(priorityComponents[0]) === 0.5;
        } else {
          this.isHalfBox = false;
        }
      }
    }, {
      key: "setHideCategory",
      value: function setHideCategory(value) {
        this.hideCategory = !this.category ? true : value;
      }
    }, {
      key: "setSizes",
      value: function setSizes(sizes) {
        this.sizes = sizes;
      }
    }, {
      key: "isAdvertisementNative",
      value: function isAdvertisementNative() {
        if (this.action) {
          return this.action.hasPropertyLoadNativeAd();
        }

        return false;
      }
    }, {
      key: "getAdvertisementProvider",
      value: function getAdvertisementProvider() {
        var _this2 = this;

        if (this.action) {
          var providers = Object.values(NoticeValues.values.provider);
          var provider = providers.find(function (item) {
            return _this2.action.hasPropertyLoadNativeAdProvider(item);
          });

          if (provider) {
            return provider;
          }
        }

        return undefined;
      }
    }, {
      key: "getAdConfig",
      value: function getAdConfig() {
        if (!this.isAdvertisement) {
          return undefined;
        }

        var provider = this.getAdvertisementProvider();
        var isNative = provider ? true : this.isAdvertisementNative();
        return (0, _extends2.default)({
          id: this.html
        }, this.getDimensionsFromByline(), {
          targeting: this.getTargetingFromSummary(),
          provider: provider || NoticeValues.values.provider.unset,
          isNative: isNative
        });
      }
    }, {
      key: "getMainAction",
      value: function getMainAction() {
        if (this.action) {
          return this.action.main;
        }

        return undefined;
      }
    }]);
    return Article;
  }();

  exports.Article = Article;
},1972,[5,6,7,8,1973,1964,1974,462,1975]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.values = exports.keys = exports.types = undefined;
  var types = {
    prestitial: "prestitial",
    interstitial: "interstital",
    adOverPage: "ad_over_page",
    instoryAd: "instory_ad",
    bottom: "bottom"
  };
  exports.types = types;
  var keys = {
    type: "type",
    is_disabled: "is_disabled",
    width: "width",
    height: "height",
    align: "align",
    is_remove_after_x_seconds: "is_remove_after_x_seconds",
    remove_after_x_seconds: "remove_after_x_seconds",
    is_show_button_after_x_seconds: "is_show_button_after_x_seconds",
    show_button_after_x_seconds: "show_button_after_x_seconds",
    time_to_show_first: "time_to_show_first",
    time_to_show_after_first: "time_to_show_after_first",
    show_after_page: "show_after_page",
    show_after_section: "show_after_section",
    show_after_x_articles: "show_after_x_articles",
    should_wait_for_local: "should_wait_for_local",
    display_on_app_type_newspaper: "display_on_app_type_newspaper",
    display_on_app_type_livenews: "display_on_app_type_livenews",
    is_device_phonePortrait_Apple: "is_device_phonePortrait_Apple",
    is_device_tabletPortrait_Android: "is_device_tabletPortrait_Android",
    is_device_tabletPortrait_Apple: "is_device_tabletPortrait_Apple",
    is_device_phoneLandscape_Android: "is_device_phoneLandscape_Android",
    is_device_phoneLandscape_Apple: "is_device_phoneLandscape_Apple",
    is_device_tabletLandscape_Android: "is_device_tabletLandscape_Android",
    is_device_phonePortrait_Android: "is_device_phonePortrait_Android",
    is_device_tabletLandscape_Apple: "is_device_tabletLandscape_Apple",
    bgcolor: "bgcolor",
    unit_id: "unit_id",
    show_over_page: "show_over_page"
  };
  exports.keys = keys;
  var values = {
    type: {
      between_pages: "between_pages",
      bottom: "bottom",
      article_mode_bottom: "article_mode_bottom"
    },
    align: {
      left: "left",
      center: "center",
      right: "right"
    },
    provider: {
      unset: "none",
      admob: "admob",
      dfp: "dfp",
      prebid: "prebid",
      nativo: "nativo"
    }
  };
  exports.values = values;
},1973,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.ResourceType = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var ResourceType = {
    VIAFOURA: "viafoura",
    TOP_STORY: "url_top_story",
    NATIVO_MOAP_AD: "nativo_moap_ad"
  };
  exports.ResourceType = ResourceType;

  var Resource = function () {
    function Resource() {
      (0, _classCallCheck2.default)(this, Resource);
    }

    (0, _createClass2.default)(Resource, [{
      key: "getValue",
      value: function getValue() {
        return this.value;
      }
    }, {
      key: "setValue",
      value: function setValue(value) {
        this.value = value;
      }
    }, {
      key: "getFeedId",
      value: function getFeedId() {
        return this.feedId;
      }
    }, {
      key: "setFeedId",
      value: function setFeedId(feedId) {
        this.feedId = feedId;
      }
    }, {
      key: "getType",
      value: function getType() {
        return this.type;
      }
    }, {
      key: "setType",
      value: function setType(type) {
        this.type = type;
      }
    }]);
    return Resource;
  }();

  exports.default = Resource;
},1974,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getGallery = getGallery;
  exports.galleryHasDailymotionVideo = galleryHasDailymotionVideo;
  exports.itemHasLiveStreamAction = itemHasLiveStreamAction;
  exports.itemHasHtml5StreamAction = itemHasHtml5StreamAction;
  exports.itemHasLiveStreamDailymotionVideo = itemHasLiveStreamDailymotionVideo;
  exports.itemHasPropertyIsSchedule = itemHasPropertyIsSchedule;
  exports.itemHasPropertyNotClickable = itemHasPropertyNotClickable;

  function getExtension(_ref) {
    var Type = _ref.Type;
    return Type || "jpg";
  }

  function getPreviewText(_ref2) {
    var PreviewText = _ref2.PreviewText;
    return _$$_REQUIRE(_dependencyMap[0]).StringUtils.decodeHTML(PreviewText || "");
  }

  function getPreviewTextColor(_ref3) {
    var PreviewTextColor = _ref3.PreviewTextColor;
    return PreviewTextColor || "";
  }

  function getPreviewImage(_ref4) {
    var PreviewImage = _ref4.PreviewImage;
    return PreviewImage || "";
  }

  function getThumbnail(_ref5) {
    var thumbnail = _ref5.thumbnail;
    return thumbnail || "";
  }

  function getCaption(_ref6) {
    var Caption = _ref6.Caption,
        Desc = _ref6.Desc;
    return _$$_REQUIRE(_dependencyMap[0]).StringUtils.decodeHTML(Caption || Desc);
  }

  function getUrl(_ref7) {
    var URL = _ref7.URL;
    return URL || "";
  }

  function getTitle(_ref8) {
    var Title = _ref8.Title;
    return _$$_REQUIRE(_dependencyMap[0]).StringUtils.decodeHTML(Title || "");
  }

  function getAction(_ref9) {
    var Action = _ref9.Action,
        URL = _ref9.URL;

    if (Action) {
      return Action;
    }

    if (URL.endsWith(".mp4")) {
      return "videoStream";
    }

    return "image";
  }

  function parseGalleryItem(item) {
    if (!item) {
      throw new Error("gallery item is undefined");
    }

    var gallery = {};
    gallery.url = getUrl(item);

    if (!gallery.url) {
      throw new Error("missing url");
    }

    gallery.action = getAction(item);

    switch (gallery.action) {
      case "dailymotion":
      case "dailymotionPlaylist":
        gallery.caption = getPreviewText(item);
        gallery.thumbnail = getPreviewImage(item);
        gallery.textColor = getPreviewTextColor(item);
        break;

      case "videoLink":
        gallery.caption = getPreviewText(item);
        gallery.thumbnail = getPreviewImage(item);
        gallery.textColor = getPreviewTextColor(item);
        gallery.extension = getExtension(item);
        break;

      case "videoEmbed":
        gallery.thumbnail = getPreviewImage(item);
        break;

      case "videoStream":
      default:
        gallery.extension = getExtension(item);
        gallery.caption = getCaption(item);
        gallery.thumbnail = getThumbnail(item);
        gallery.title = getTitle(item);
    }

    return gallery;
  }

  function getGallery(str) {
    var gallery = [];

    if (str) {
      try {
        var json = JSON.parse(str);
        json.forEach(function (item, index) {
          try {
            var gItem = parseGalleryItem(typeof item === "string" ? JSON.parse(item) : item);
            gItem.index = index;
            gallery.push(gItem);
          } catch (e) {}
        });
      } catch (e) {}
    }

    return gallery;
  }

  function galleryHasDailymotionVideo(gallery) {
    if (!_$$_REQUIRE(_dependencyMap[0]).JSUtils.isEmpty(gallery) && !_$$_REQUIRE(_dependencyMap[0]).JSUtils.isNull(gallery[0])) {
      return gallery[0].action.startsWith("dailymotion");
    }

    return false;
  }

  function itemHasLiveStreamAction(item) {
    var action = item.action;
    return action.hasMainActionLiveStream();
  }

  function itemHasHtml5StreamAction(item) {
    var action = item.action;
    return action.hasMainActionHtml5Stream();
  }

  function itemHasLiveStreamDailymotionVideo(item) {
    var gallery = item.gallery;
    var hasVideo = galleryHasDailymotionVideo(gallery);
    return hasVideo && itemHasLiveStreamAction(item);
  }

  function itemHasPropertyIsSchedule(item) {
    var action = item.action;
    return action.hasPropertyIsSchedule();
  }

  function itemHasPropertyNotClickable(item) {
    var action = item.action;
    return action.hasPropertyNotClickable();
  }
},1975,[462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.LocaleConfig = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _i18nJs = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _en = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _it = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _ar = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _da = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _de = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _frFR = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _nlNL = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _esES = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _roRO = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _sl = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _sv = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _ptPT = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _ptBR = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _nlBE = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _nnNO = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _nbNO = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _LocaleHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[23]));

  var _AudioManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[24]));

  var LocaleConfig = function () {
    function LocaleConfig() {
      (0, _classCallCheck2.default)(this, LocaleConfig);
      this.locale = {};
      this.audioMgr = new _AudioManager.default();
    }

    (0, _createClass2.default)(LocaleConfig, [{
      key: "init",
      value: function init() {
        var pSetupConfig,
            language,
            pSetup,
            machine,
            paper,
            customLanguagePackFileTime,
            mainLanguagePack,
            lastCustomLanguagePackFileTime,
            activeLanguagePack,
            response,
            _args = arguments;
        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                pSetupConfig = _args.length > 0 && _args[0] !== undefined ? _args[0] : global.getActivePSetup();
                language = pSetupConfig.language, pSetup = pSetupConfig.pSetup, machine = pSetupConfig.machine, paper = pSetupConfig.paper, customLanguagePackFileTime = pSetupConfig.customLanguagePackFileTime;
                this.language = language;
                this.initLocale();
                _context.next = 6;
                return _regenerator.default.awrap(this.audioMgr.init(_i18nJs.default.locale));

              case 6:
                _context.next = 8;
                return _regenerator.default.awrap(this.getMainLanguagePack(pSetupConfig));

              case 8:
                mainLanguagePack = _context.sent;

                _LocaleHelper.default.setStorageName(paper);

                _context.next = 12;
                return _regenerator.default.awrap(_LocaleHelper.default.getFiletime());

              case 12:
                lastCustomLanguagePackFileTime = _context.sent;
                _context.next = 15;
                return _regenerator.default.awrap(_LocaleHelper.default.getLanguagePack());

              case 15:
                activeLanguagePack = _context.sent;

                if (!(_$$_REQUIRE(_dependencyMap[25]).NetworkUtils.isOnline() && customLanguagePackFileTime > -1 && customLanguagePackFileTime > lastCustomLanguagePackFileTime)) {
                  _context.next = 28;
                  break;
                }

                _context.prev = 17;
                _context.next = 20;
                return _regenerator.default.awrap(_Api.default.customLanguagePack({
                  pSetup: pSetup,
                  machine: machine
                }));

              case 20:
                response = _context.sent;
                activeLanguagePack = response && response.data || {};
                _context.next = 26;
                break;

              case 24:
                _context.prev = 24;
                _context.t0 = _context["catch"](17);

              case 26:
                _context.next = 29;
                break;

              case 28:
                if (customLanguagePackFileTime === -1) {
                  activeLanguagePack = {};
                }

              case 29:
                this.locale = (0, _extends2.default)({}, mainLanguagePack, activeLanguagePack);

                _LocaleHelper.default.setFiletime(customLanguagePackFileTime);

                _LocaleHelper.default.setLanguagePack(this.locale);

              case 32:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[17, 24]], Promise);
      }
    }, {
      key: "getMainLanguagePack",
      value: function getMainLanguagePack() {
        var _ref,
            activePaper,
            activeLanguage,
            _global$getMainPSetup,
            paper,
            language,
            _args2 = arguments;

        return _regenerator.default.async(function getMainLanguagePack$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _ref = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : global.getActivePSetup(), activePaper = _ref.paper, activeLanguage = _ref.language;
                _global$getMainPSetup = global.getMainPSetup(), paper = _global$getMainPSetup.paper, language = _global$getMainPSetup.language;

                if (!(activePaper !== paper && activeLanguage === language)) {
                  _context2.next = 5;
                  break;
                }

                _LocaleHelper.default.setStorageName(paper);

                return _context2.abrupt("return", _LocaleHelper.default.getLanguagePack());

              case 5:
                return _context2.abrupt("return", {});

              case 6:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getLanguage",
      value: function getLanguage() {
        return this.language;
      }
    }, {
      key: "strings",
      value: function strings(name) {
        var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
        var string = this.locale[name];

        if (string) {
          string = Object.keys(params).reduce(function (result, key) {
            return result.replace("{{" + key + "}}", params[key]);
          }, string);
        }

        var fallback = _i18nJs.default.t(name, params);

        return string || fallback;
      }
    }, {
      key: "date",
      value: function date(time) {
        return _$$_REQUIRE(_dependencyMap[25]).DateUtils.fromNow(time);
      }
    }, {
      key: "formattedDate",
      value: function formattedDate(str, format) {
        return _$$_REQUIRE(_dependencyMap[25]).DateUtils.fromNow(str, format);
      }
    }, {
      key: "getCurrentLocale",
      value: function getCurrentLocale() {
        var locale = global.locale || "en";

        if (this.language) {
          var supportedLanguages = ["en", "it", "de", "fr-FR", "nl-NL", "es-ES", "ro-RO", "sv", "da", "pt-PT", "pt-BR", "nl-BE", "nn-NO", "nb-NO", "ar", "sl"];

          if (this.language && this.language >= 0 && this.language < supportedLanguages.length) {
            locale = supportedLanguages[this.language];
          }
        }

        return locale;
      }
    }, {
      key: "initLocale",
      value: function initLocale() {
        _i18nJs.default.locale = this.getCurrentLocale();
        _i18nJs.default.fallbacks = true;
        _i18nJs.default.translations = {
          en: _en.default,
          it: _it.default,
          ar: _ar.default,
          da: _da.default,
          de: _de.default,
          "fr-FR": _frFR.default,
          "nl-NL": _nlNL.default,
          "es-ES": _esES.default,
          "ro-RO": _roRO.default,
          sv: _sv.default,
          "pt-PT": _ptPT.default,
          "pt-BR": _ptBR.default,
          "nl-BE": _nlBE.default,
          "nn-NO": _nnNO.default,
          "nb-NO": _nbNO.default,
          sl: _sl.default
        };

        _$$_REQUIRE(_dependencyMap[25]).DateUtils.initMomentLocale(_i18nJs.default.locale);
      }
    }]);
    return LocaleConfig;
  }();

  exports.LocaleConfig = LocaleConfig;
},1976,[5,80,6,7,8,1094,431,1977,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,462]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "action_go_to_category": "Go to {{anchor}}",
  "action_open_epaper": "Open epaper",
  "action_open_gallery": "Open gallery",
  "action_open_link": "Open link",
  "action_remove_from_favorites": "Remove from favorites",
  "action_save_for_later": "Save for later",
  "action_share": "Share",
  "action_unknown": "Unknown",
  "alert_message": "Are you sure?",
  "all": "All",
  "all_events": "All Events",
  "all_jobs": "All jobs",
  "animation": "Animation",
  "animation_action": "Click button to change animation",
  "animation_change": "Animation change",
  "animation_changed": "Animation changed",
  "article_count": "{{count}} articles",
  "btn_accessibility": "Accessibility mode",
  "btn_car_mode": "Car mode",
  "btn_account": "Account",
  "btn_add_event": "Add Event",
  "btn_advance_filters": "Advance filters",
  "btn_archive": "Archive",
  "btn_ask_later": "Ask Me Later",
  "btn_back": "Back",
  "btn_continue": "Continue",
  "btn_cancel": "Cancel",
  "btn_close": "Close",
  "btn_confirm": "Confirm",
  "btn_contact": "Contact",
  "btn_disable_log_file": "Send LOG",
  "btn_do_not_show": "Don't show again",
  "btn_download": "Offline",
  "btn_editions": "Editions",
  "btn_enable_log_file": "Enable LOG",
  "btn_feed": "Live News",
  "btn_feedback": "Feedback",
  "btn_fit_page": "Fit",
  "btn_g_book": "Browse",
  "btn_go_to_news": "Go to news",
  "btn_help": "Help",
  "btn_index": "Index",
  "btn_link": "Link",
  "btn_login": "Login",
  "btn_logout": "Logout",
  "btn_more": "More",
  "btn_no": "No",
  "btn_ok": "OK",
  "btn_reload": "Reload",
  "btn_publications": "Publications",
  "btn_read": "Read",
  "btn_reset": "Reset",
  "btn_search": "Search",
  "btn_set_as_default": "Set as default",
  "btn_settings": "Settings",
  "btn_skip": "Skip",
  "btn_special_section": "Special",
  "btn_store": "Store",
  "btn_swipe": "Swipe",
  "btn_thumbnail": "Pages",
  "btn_yes": "Yes",
  "btn_go_back": "Go back",
  "btn_go_back_article": "Previous article {{index}}",
  "btn_go_back_section": "Previous section: {{section}}",
  "btn_go_next": "Go next",
  "btn_go_next_article": "Next article {{index}}",
  "btn_go_next_section": "Next section: {{section}}",
  "btn_go_up": "Previous level",
  "btn_go_up_choose_issue": "Choose issue",
  "btn_go_up_general_index": "Go to General Index",
  "btn_go_up_section": "Go to section {{section}}",
  "btn_tts": "Toggle text to speech",
  "btn_close_car_mode": "Close car mode",
  "btn_close_accessibility": "Close accessibility mode",
  "btn_close_editions": "Close issues list",
  "cache_size": "Cache size",
  "card": "Card",
  "mixed": "Mixed layout",
  "categories": "Categories",
  "labels": "Labels",
  "return": "RETURN",
  "change": "CHANGE",
  "open": "OPEN",
  "reset": "RESET",
  "change_location_hint": "Change Location",
  "change_radius": "Select Radius",
  "clear": "CLEAR",
  "clear_cache": "Clear cache",
  "clear_favorites": "Clear favorites",
  "confirm": "Confirm",
  "connection_0": "Roaming Mode",
  "connection_0_description": "Ideal when limited bandwidth is available. Textual version of the edition is downloaded, images will be shown in very low resolution.",
  "connection_1": "Online Mode",
  "connection_1_description": "Ideal while connected to the internet. Only pages viewed are downloaded and available for offline reading.",
  "connection_2": "Offline Mode",
  "connection_2_description": "Automatically downloads entire edition at startup for offline reading.",
  "copy_files": "Copy Files",
  "counter": "{{current}} of {{total}}",
  "custom_location": "Custom Location",
  "database": "Database",
  "database_deleted": "Database deleted",
  "default_search": "Default Search",
  "dialog_location_message": "We use your location to show where you are on the map",
  "dialog_location_title": "We need to access your location",
  "disabled": "Disabled",
  "enabled": "Enabled",
  "err_voice_recognition_no_services": "No installed services found",
  "err_voice_recognition_generic": "Something went wrong with voice recognition",
  "err_voice_recognition": "Voice recognition error {{message}}",
  "err_module_unavailable": "{{module}} not available in this app",
  "err_change_animation": "Error to change animation",
  "err_clear_cache": "Error to clear cache",
  "err_clear_database": "Error to clear database",
  "err_clear_favorites": "Error to clear favorites",
  "err_download_edition": "An error occurred during the download of the edition",
  "err_download_edition_db": "An error occurred during the download of the edition's database",
  "err_download_psetup": "Error during download of base configurations",
  "err_internet_connection": "Could not connect to the application server. Please ensure that you have internet connectivity and try again.",
  "err_max_min": "Invalid filter, min must be less than max",
  "err_offline": "External contents not available offline",
  "err_reset_notification_email": "Reset notification email",
  "err_retrieve_cache": "Error to retrieve cache",
  "err_retrieve_favorites": "Error to retrieve favorites",
  "err_translation": "Translation not available",
  "err_translation_offline": "Translation not available offline",
  "err_disabling_push_notifications": "Can't disable push notification, {{error}}",
  "err_enabling_push_notifications": "Can't enable push notification, {{error}}",
  "error_on_load_more": "Error when trying to loading more items",
  "fast": "Fast",
  "favorites": "Favorites",
  "feedback_email_feedback": "tapuserfeedback+android@tecnavia.com",
  "feedback_email_subject": "Feedback for {{who}}",
  "feedback_msg_ask_for_feedback": "Is there anything we can do to help?",
  "feedback_title_request_feedback": "Are you enjoying your time with the App?",
  "feedback_title_request_review_feedback": "Glad to hear! Would you like to leave a review or rating?",
  "filter_max": "Max",
  "filter_min": "Min",
  "filter_text": "Write text here",
  "font_extra_large": "Extra large",
  "font_extra_small": "Extra small",
  "font_large": "Large",
  "font_normal": "Normal",
  "font_scale": "Font Scale",
  "font_small": "Small",
  "force_crash": "Force crash",
  "force_sublayout": "FORCE LAYOUT SUB STYLE",
  "from_most_recent": "From the most recent",
  "from_oldest": "From the oldest",
  "gmc_default_text": "A new issue is available. Tap here to read!",
  "gmc_message_text": "The {{issue}} newspaper is now available. Tap here to read!",
  "grid": "Grid",
  "grid_list": "grid/list",
  "hint_two_fingers_tap": "To read an article tap on the article area with two fingers",
  "home": "Home",
  "label_exit_accessibility_mode": "Exit Accessibility mode",
  "label_open_browser": "Open in browser",
  "last_search": "Last Search",
  "layout": "Layout",
  "learn_more": "Learn More",
  "list": "List",
  "uploading": "Uploading...",
  "loading": "Loading...",
  "local_events": "Local Events",
  "max_salary": "Max. salary",
  "min_salary": "Min. salary",
  "mobile_network_warning": "You are connected to a mobile network instead of WiFi",
  "msg_entering_section": "Entering section {{section}}",
  "msg_available_next_startup": "This configuration will be available next startup",
  "msg_clear_cache": "Clear cache",
  "msg_clear_favorites": "Delete favorites",
  "msg_copy_to_clipboard": "Copy to clipboard",
  "msg_delete_title": "Do you want to",
  "msg_delete_db": "Delete database data?",
  "msg_operation_completed": "Operation completed",
  "msg_ok_delete_db": "All saved editions have been deleted",
  "msg_delete_localstorage": "Clear personal settings?",
  "msg_database_deleted": "Delete database",
  "msg_download_bundle": "Downloading more recently app data...",
  "msg_download_bundle_error": "Download of bundle finish with error, the app will try to update date later",
  "msg_press_restart": "The data are downloaded successfully, reload the app to apply changes",
  "msg_download_edition": "Downloading edition...",
  "msg_download_retry": "Attempt {{retry}} of {{maxRetries}}...",
  "msg_download_rss": "Downloading new articles...",
  "msg_empty_category": "Currently, there are no articles assigned to {{category}}! Tap to refresh",
  "msg_empty_favorites": "Currently, there are no favorites!",
  "msg_empty_gallery": "Clicked gallery is empty",
  "msg_empty_list": "Currently, there are no elements! Tap to change some filters",
  "msg_empty_searches": "Currently, there are no saved searches",
  "msg_error_category": "Something went wrong, try to reopen the category or delete database from settings! Tap to refresh",
  "msg_error_list": "Something went wrong, try to change some filters",
  "msg_error_newspaper": "Newspaper is empty",
  "msg_event_over": "The event is over.",
  "msg_exit_application": "Exiting the application?",
  "msg_failed": "Failed",
  "msg_font_scaling": "Would you like to apply your device text size to this application?",
  "msg_font_scaling_title": "It looks like you have a custom text size set on your device",
  "msg_list_no_articles_available_for_category": "This not an error. Currently, there are no articles assigned to this category!",
  "msg_list_no_content": "No current content",
  "msg_loading_comments": "Loading comments...",
  "msg_loading_more": "Loading more...",
  "msg_new_issue_available_title_edition": "You are currently reading {{edition}}",
  "msg_new_issue_available_title_edition_date": "You are currently reading the {{date}} edition of {{edition}}",
  "msg_new_issue_available": "A new edition is now available, would you like to load it?",
  "msg_new_issue_available_edition": "A new edition of {{edition}} is now available, would you like to load it?",
  "msg_new_issue_available_date": "The {{date}} edition is now available, would you like to load it?",
  "msg_new_issue_available_edition_date": "The {{date}} edition of {{edition}} is now available, would you like to load it?",
  "msg_not_on_latest_issue": "You are not viewing the latest available edition, would you like to load it now?",
  "msg_not_on_latest_issue_edition": "You are not viewing the latest available edition of {{edition}}, would you like to load it now?",
  "msg_not_on_latest_issue_date": "You are not viewing the latest available edition, would you like to load the {{date}} edition?",
  "msg_not_on_latest_issue_edition_date": "You are not viewing the latest available edition, would you like to load the {{date}} edition of {{edition}}?",
  "msg_notification_email_warning": "A notification email is set, do you want to proceed?",
  "msg_offline_article_graph": "To use this feature offline you must have downloaded the full edition or some images may be missing.",
  "msg_opening_article": "Opening: {{title}}",
  "msg_opening_push": "Opening push notifications...",
  "msg_pending_purchases": "Completing pending purchases: {{completed}} of {{total}}",
  "msg_reload_publication": "Database deleted, automatically download the latest edition?",
  "msg_restore_default_settings": "Do you want to restore the default app settings?",
  "msg_rss_new_articles_available": "{{count}} new articles are available",
  "msg_rss_no_new_articles_available": "You are up-to-date",
  "msg_rss_one_new_article_available": "1 new article is available",
  "msg_rss_reload_database": "New database downloaded",
  "msg_rss_update_error": "Error during update, check your internet connection and try again",
  "msg_search_empty": "Nothing was searched",
  "msg_search_lite": "View results on page",
  "msg_search_not_found": "No article found with {{text}}",
  "msg_zip_not_found": "Not found zip code for your location",
  "msg_screenshots_disabled": "Screenshots are not allowed in this app",
  "msg_sent": "Sent",
  "msg_share_unmanaged": "Share option unmanaged",
  "msg_tts_error": "An error occured, please retry later!",
  "msg_tts_no_volume": "Increase volume to listen text",
  "msg_tts_unsupported": "Unsupported language, try to use the default voice or check if a custom language pack exists!",
  "msg_valid_notification_email": "New notification email correctly set, click 'Restart' to have the change effective.",
  "msg_reset_notification_email": "Notification email correctly reset, click 'Restart' to have the change effective.",
  "my_home_categories_selected": "{{categories}} categories selected for a total of {{articles}} articles",
  "my_location": "Use my location",
  "network": "Network",
  "none": "None",
  "normal": "Normal",
  "offline_download_dialog": "Do you want to download the whole edition for offline reading?",
  "offline_download_warning": "This edition is not fully downloaded. Some parts of the pages may appear blurry.",
  "paywall_offline_warning": "This article is currently not available offline",
  "permission_storage_message": "{{appName}} needs storage permission",
  "permission_title": "{{appName}} permission",
  "pj_from_page": "from page",
  "pj_to_page": "to page",
  "pj_continue_to_page": "Continue to page",
  "pj_continue_to_page_parent": "Page",
  "powered_by": "Powered by TECNAVIA",
  "powered_by_who": "Powered by {{who}}",
  "push_notification": "Push notification",
  "reader_app_text": "Any accounts or purchases made outside of this app will be managed by the developer “{{developerName}}.” Your App Store account, stored payment method, and related features, such as subscription management and refund requests, will not be available. Apple is not responsible for the privacy or security of transactions made with this developer.",
  "reader_app_title": "You're about to leave the app and go to an external website. You will no longer be transacting with Apple.",
  "restart": "Restart",
  "retry": "Retry",
  "salary": "Salary: {{salary}}",
  "save_search": "Save search",
  "saved_searches": "Saved Searches",
  "search_term": "Search Term",
  "select_after_date": "Select after date",
  "select_my_home_categories": "Pick your favorite categories from the list below to customize your {{category}}",
  "selected_categories": "Selected Categories",
  "selected_time_range": "Selected Date Range",
  "settings": "Settings",
  "settings_allow_font_scaling": "Allow font scaling",
  "settings_startup_epaper": "E-Edition",
  "settings_startup_rss": "Live News",
  "settings_startup_choose": "Choose Each Time",
  "share_event_url": "http://{{portal}}.cityspark.co/event/{{id}}/*",
  "show": "SHOW",
  "sort_by_date": "Sort by Time",
  "sort_by_name": "Sort by A-Z",
  "sort_by_name_reverse": "Sort by Z-A",
  "sort_by_popularity": "Sort by Popularity",
  "sort_date_disabled": "Sort on date disable",
  "sponsored_content": "Sponsored Content",
  "start_with": "Start With",
  "str_advertisement": "Advertisement",
  "str_custom": "Custom",
  "str_default_language": "Return to original language",
  "str_description": "Description:",
  "str_editor_picks": "Only Editor Picks",
  "str_free": "Free",
  "str_from": "From",
  "str_id": "ID: {{id}}",
  "str_limit_label": "Number of editions to store: {{days}}",
  "str_location": "Location:",
  "str_next_events": "Next Events:",
  "str_next_week": "Next Week",
  "str_no_categories": "no categories",
  "str_not_available": "Not Available",
  "str_page": "Page",
  "str_search": "Search",
  "str_search_results": "{{text}} - {{count}} results",
  "str_special_sections": "Special sections",
  "str_this_week": "This Week",
  "str_this_weekend": "This Weekend",
  "str_time_range": "Date range",
  "str_title": "Title",
  "str_to": "To",
  "str_today": "Today",
  "str_tomorrow": "Tomorrow",
  "str_translating_article": "Translating article...",
  "str_published_after_date": "Published after date",
  "str_select": "Select...",
  "support_email": "support@tecnavia.com",
  "system_error": "An error occurred",
  "theme": "Theme",
  "theme_auto": "Automatic Light/Dark",
  "theme_dark": "Dark",
  "theme_light": "Light",
  "title_bottom_sheet": "Actions",
  "title_offline": "No Internet connection",
  "toggle": "TOGGLE",
  "toggle_layout": "Toggle layout",
  "toggle_list": "List View",
  "toggle_map": "Map View",
  "total_events": "Events: {{total}}",
  "total_favorites": "Favorites: {{total}}",
  "total_jobs": "Jobs: {{total}}",
  "total_searches": "Saved Searches: {{total}}",
  "tutorial": "Tutorial",
  "unknown_salary": "Unknown Salary",
  "unsave_search": "Remove saved search",
  "user_tip_download_title": "User Tip",
  "user_tip_download": "To automatically download all editions for offline reading, select 'More' > 'Settings' > 'Offline' as your preferred Network setting",
  "version": "Version",
  "vertical_job_location_hint": "Select a location",
  "vertical_job_text_hint": "Enter a keyword for search",
  "msg_offline_issues": "Choose an issue",
  "msg_login_overlay_title": "To continue reading",
  "msg_access_reserved": "Access reserved to subscribers",
  "msg_continue_to_read": "Subscribe to {{paper}}",
  "msg_already_subscriber": "Are you already a subscriber? Login",
  "settings_translate": "Translate articles to",
  "settings_themes": "Theme",
  "settings_font_size": "Font size",
  "settings_graph_size": "Zoom level",
  "settings_zoom_level": "Zoom level",
  "settings_zoom_level_normal": "Normal",
  "settings_zoom_level_large": "Large",
  "settings_zoom_level_larger": "Larger",
  "settings_number_stored_editions": "Number of editions to store",
  "settings_restore_defaults": "Restore default settings",
  "settings_clear_storage": "Clear storage",
  "settings_back_to_classic": "Return to Classic eEdition",
  "settings_restart_from_latest": "Restart from the latest edition (min)",
  "settings_article_mode": "Article mode",
  "settings_article_mode_only_text": "Show articles only",
  "settings_article_mode_text_and_graphics": "Show articles and graphics",
  "settings_article_mode_all": "Show all",
  "settings_two_fingers_tap_to_article": "Use two finger tap to open article mode",
  "settings_single_tap_to_zoom": "Use single tap to zoom",
  "settings_favorite_edition": "Choose your favorite edition",
  "settings_favorite_edition_default_label": "Last edition available",
  "settings_enable_column_view": "Enable multiple columns view of articles",
  "settings_navigation_arrows": "Navigation arrows",
  "settings_navigation_arrows_always": "always present",
  "settings_navigation_arrows_disapper": "disappear when reading",
  "settings_navigation_arrows_never": "never present",
  "settings_article_highlight": "Keep current article highlighted when article mode is open",
  "settings_manage_privacy_preferences": "Manage privacy preferences",
  "general": "App Settings",
  "settings_translate_original": "Original language",
  "advance": "{{label}} | Advanced settings",
  "send": "SEND",
  "debug": "Device Info",
  "write": "WRITE",
  "hint_my_home_screen_config": "To personalize {{label}}",
  "action_go_to_settings": "Go to settings",
  "hint_restart": "The application will restart to load new configurations...",
  "hint_update_ui": "The user interface will update to load new settings, you might notice a flicker...",
  "voice_back": "back",
  "voice_what": "what",
  "voice_next": "next",
  "voice_next_page": "next page",
  "voice_previous": "previous",
  "voice_previous_page": "previous page",
  "voice_stop": "stop",
  "voice_read": "read",
  "voice_close": "close",
  "voice_up": "up",
  "voice_down": "down",
  "voice_select": "select",
  "selected_page_of_section": "selected page {{page}} of Section {{section}}",
  "selected_page_of_index": "selected page {{page}} of index",
  "msg_max_share": "You reached the daily sharing limit for this edition",
  "selected_page": "selected page {{page}}",
  "accessibility_issue_list_header": "Issues list",
  "msg_simulate_accessibility_title": "Enable accessibility mode",
  "msg_simulate_accessibility": "This is a simulation of the application as when {{accessibilityAppName}} is active.\n • double tap to select\n • single tap or finger movement to read element\n • two finger to swipe",
  "accessibility": "Accessibility",
  "iap_multiple_subscriptions": "Multiple Subscriptions",
  "iap_go_to_subscriptions": "Go To Subscription",
  "iap_multiple_subscriptions_message": "We found you have multiple active subscriptions, please disable those you don't need. When a subscription has been disabled, it will be refunded.{{subscriptions}}",
  "iap_multiple_active_subscriptions_message": "You already have an active subscription, would you like to buy a new one anyway? {{subscriptions}}",
  "settings_push_scopes": "Push segments",
  "settings_tab_index_mode": "Enable tab layout in index mode",
  "btn_from": "From",
  "btn_to": "To",
  "str_date": "Date",
  "str_sort_by": "Sort by",
  "srt_order": "Order",
  "str_byline": "Byline",
  "str_descending": "Descending",
  "str_ascending": "Ascending",
  "str_categories": "Categories",
  "str_relevance": "Relevance",
  "settings_enable_push_notifications": "Enable push notifications"
}
;
},1977,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "action_go_to_category": "Vai a {{anchor}}",
  "action_open_epaper": "Aprire il giornale",
  "action_open_gallery": "Aprire la galleria",
  "action_open_link": "Apri il link",
  "action_remove_from_favorites": "Rimuovere dai preferiti",
  "action_save_for_later": "Salva per dopo",
  "action_share": "Condividi",
  "action_unknown": "Sconosciuto",
  "alert_message": "Sei sicuro?",
  "all": "Tutti",
  "all_events": "Tutti gli eventi",
  "all_jobs": "Tutti i lavori",
  "animation": "Animazione",
  "animation_action": "Fare clic sul pulsante per cambiare l'animazione",
  "animation_change": "Cambiare animazione",
  "animation_changed": "Animazione cambiata",
  "article_count": "{{count}} articoli",
  "btn_accessibility": "Versione accessibile",
  "btn_account": "Account",
  "btn_advance_filters": "Filtri avanzati",
  "btn_archive": "Archivio",
  "btn_ask_later": "Più Tardi",
  "btn_back": "Indietro",
  "btn_cancel": "Annulla",
  "btn_close": "Chiudi",
  "btn_confirm": "Conferma",
  "btn_contact": "Contatti",
  "btn_disable_log_file": "Invio LOG",
  "btn_do_not_show": "Non mostrare più",
  "btn_download": "Scarica",
  "btn_editions": "Edizioni",
  "btn_enable_log_file": "Abilita il LOG",
  "btn_feed": "Notizie Live",
  "btn_fit_page": "Adatta",
  "btn_g_book": "Sfoglia",
  "btn_go_to_news": "Vai alla news",
  "btn_help": "Guida",
  "btn_index": "Indice",
  "btn_link": "Link",
  "btn_login": "Login",
  "btn_logout": "Logout",
  "btn_more": "Altro",
  "btn_no": "No",
  "btn_ok": "OK",
  "btn_publications": "Pubblicazioni",
  "btn_read": "Leggi",
  "btn_reset": "Ripristina",
  "btn_search": "Ricerca",
  "btn_set_as_default": "Imposta come predefinito",
  "btn_settings": "Impostazioni",
  "btn_skip": "Salta",
  "btn_special_section": "Speciale",
  "btn_store": "Store",
  "btn_thumbnail": "Pagine",
  "btn_swipe": "Sfoglia",
  "btn_yes": "Sì",
  "cache_size": "Cache",
  "card": "Scheda",
  "categories": "Categorie",
  "change": "CAMBIA",
  "change_location_hint": "Cambia località",
  "change_radius": "Seleziona raggio",
  "clear": "PULISCI",
  "clear_cache": "Cancella cache",
  "clear_favorites": "Cancella preferiti",
  "confirm": "Conferma",
  "connection_0": "Modalità Mobile",
  "connection_0_description": "Lettura prevalentemente testuale del giornale. Uso limitato della banda.",
  "connection_1": "Modalità 3G",
  "connection_1_description": "Lettura grafica/testuale del giornale. Non tutti gli elementi grafici sono scaricati.",
  "connection_2": "Modalità Wifi",
  "connection_2_description": "Lettura grafica/testuale del giornale. Scaricamento completo di tutte le componenti.",
  "copy_files": "Copia File",
  "counter": "{{current}} di {{total}}",
  "custom_location": "Indirizzo Personalizzato",
  "database": "Database",
  "database_deleted": "Database eliminato",
  "default_search": "Ricerca di default",
  "dialog_location_message": "Possiamo utilizzare la tua posizione per mostrare dove ti trovi sulla mappa",
  "dialog_location_title": "Abbiamo bisogno di accedere alla tua posizione",
  "disabled": "Disabilitato",
  "enabled": "Abilitato",
  "err_change_animation": "Errore nel cambiare l'animazione",
  "err_clear_cache": "Errore di cancellazione della cache",
  "err_clear_database": "Errore nel cancellare il database",
  "err_clear_favorites": "Errore di cancellazione dei preferiti",
  "err_download_edition": "Si è verificato un errore nello scaricamento dell'edizione",
  "err_download_edition_db": "Si è verificato un errore nello scaricamento del database dell'edizione",
  "err_download_psetup": "Errore durante il download delle configurazioni di base",
  "err_internet_connection": "Impossibile connettersi al server dell'applicazione. Assicurarsi di avere connettività internet e riprovare.",
  "err_max_min": "Filtro non valido, min deve essere inferiore a max",
  "err_offline": "Contenuti esterni non disponibili offline",
  "err_retrieve_cache": "Errore nel recuperare la cache",
  "err_retrieve_favorites": "Errore nel recuperare i preferiti",
  "err_translation": "Traduzione non disponibile",
  "err_translation_offline": "Traduzione non disponibile offline",
  "error_on_load_more": "Errore durante il tentativo di caricamento di più elementi",
  "fast": "Veloce",
  "favorites": "Preferiti",
  "feedback_email_feedback": "tapuserfeedback+android@tecnavia.com",
  "feedback_msg_ask_for_feedback": "C'è qualcosa che possiamo fare per aiutarti?",
  "feedback_title_request_feedback": "L'utilizzo dell'app è di tuo gradimento?",
  "feedback_title_request_review_feedback": "Siamo felici di sentirlo! Vuoi lasciare una recensione o una valutazione?",
  "filter_max": "Max",
  "filter_min": "Min",
  "filter_text": "Scrivere qui",
  "font_extra_large": "Extra large",
  "font_extra_small": "Extra small",
  "font_large": "Grande",
  "font_normal": "Normale",
  "font_scale": "Scala del font",
  "font_small": "Piccolo",
  "force_crash": "Forza interruzione",
  "from_most_recent": "Dalle più recenti",
  "from_oldest": "Dalla più vecchia",
  "gmc_default_text": "Una nuova pubblicazione è disponibile. Toccare qui per leggere!",
  "gmc_message_text": "Il {{issue}} giornale è ora disponibile. Toccare qui per leggere!",
  "grid": "Griglia",
  "grid_list": "griglia/elenco",
  "home": "Home",
  "label_exit_accessibility_mode": "Esci dalla versione accessibile",
  "label_open_browser": "Apri nel browser",
  "last_search": "Ultima Ricerca",
  "layout": "Layout",
  "learn_more": "Ulteriori informazioni",
  "list": "Elenco",
  "loading": "Caricamento...",
  "local_events": "Eventi locali",
  "max_salary": "Max. stipendio",
  "min_salary": "Min. stipendio",
  "msg_available_next_startup": "Questa configurazione sarà disponibile al prossimo avvio",
  "msg_clear_cache": "Cancella cache",
  "msg_clear_favorites": "Eliminare i preferiti",
  "msg_copy_to_clipboard": "Copiato negli appunti",
  "msg_database_deleted": "Elimina database",
  "msg_delete_db": "Cancellare il database locale?",
  "msg_delete_localstorage": "Cancellare le impostazioni personali?",
  "msg_delete_title": "Vuoi",
  "msg_download_edition": "Download dell'edizione in corso...",
  "msg_download_retry": "Tentativo {{retry}} di {{maxRetries}}...",
  "msg_empty_category": "Attualmente non ci sono articoli assegnati a {{category}}! Toccare per aggiornare",
  "msg_empty_favorites": "Attualmente, non ci sono preferiti!",
  "msg_empty_gallery": "La galleria è vuota",
  "msg_empty_list": "Attualmente non ci sono elementi!!! Toccare per modificare alcuni filtri",
  "msg_empty_searches": "Attualmente non esistono ricerche salvate",
  "msg_error_category": "Qualcosa è andato storto, prova a riaprire la categoria o eliminare il database dalle impostazioni! Toccare per aggiornare",
  "msg_error_list": "Qualcosa è andato storto, prova a cambiare alcuni filtri",
  "msg_error_newspaper": "Il giornale è vuoto",
  "msg_event_over": "L'evento si è concluso",
  "msg_exit_application": "Uscire dall'applicazione?",
  "msg_failed": "Fallito",
  "msg_font_scaling": "Vuoi mantenere questa impostazione all'interno dell'app?",
  "msg_font_scaling_title": "Hai impostato nel tuo dispositivo una dimensione del testo personalizzata",
  "msg_list_no_articles_available_for_category": "Questo non è un errore. Attualmente, non ci sono articoli assegnati a questa categoria!",
  "msg_list_no_content": "Nessun contenuto corrente",
  "msg_loading_comments": "Caricamento commenti",
  "msg_loading_more": "Caricamento...",
  "msg_new_issue_available_title_edition": "Stai leggendo {{edition}}",
  "msg_new_issue_available_title_edition_date": "Stai leggendo l'edizione del {{date}} {{edition}}",
  "msg_new_issue_available": "È disponibile una nuova edizione, vuoi scaricarla?",
  "msg_new_issue_available_edition": "È disponibile una nuova edizione {{edition}}, vuoi scaricarla?",
  "msg_new_issue_available_date": "È disponibile l'edizione del {{date}}, vuoi scaricarla?",
  "msg_new_issue_available_edition_date": "È disponibile l'edizione del {{date}} {{edition}}, vuoi scaricarla?",
  "msg_not_on_latest_issue": "Questa non è l'ultima edizione disponibile, vuoi scaricare l'edizione più recente?",
  "msg_not_on_latest_issue_edition": "Questa non è l'ultima edizione disponibile, vuoi scaricare l'edizione più recente {{edition}}?",
  "msg_not_on_latest_issue_date": "Questa non è l'ultima edizione disponibile, vuoi scaricare l'edizione del {{date}}?",
  "msg_not_on_latest_issue_edition_date": "Questa non è l'ultima edizione disponibile, vuoi scaricare l'edizione del {{date}} {{edition}}?",
  "msg_offline_article_graph": "Per utilizzare questa funzionalità in modalità non in linea è necessario scaricare l'intera edizione altrimenti immagini o testi potrebbero mancare.",
  "msg_offline_issues": "Selezionare un edizione da leggere",
  "msg_opening_push": "Apertura notifiche push...",
  "msg_pending_purchases": "Completamento degli acquisti in sospeso: {{completed}} di {{total}}",
  "msg_reload_publication": "Scaricare automaticamente l'ultima edizione?",
  "msg_restore_default_settings": "Vuoi ripristinare le impostazioni iniziali dell'app?",
  "msg_rss_new_articles_available": "{{count}} nuovi articoli sono disponibili",
  "msg_rss_no_new_articles_available": "Non ci sono nuovi aggiornamenti",
  "msg_rss_one_new_article_available": "1 nuovo articolo è disponibile",
  "msg_rss_reload_database": "Nuovo database scaricato",
  "msg_rss_update_error": "Errore durante l'aggiornamento, verificare la connessione a internet e riprovare",
  "msg_search_empty": "Nessun risultato",
  "msg_search_lite": "Visualizza i risultati sulla pagina",
  "msg_search_not_found": "Nessun articolo trovato con il testo {{text}}",
  "msg_sent": "Inviato",
  "msg_share_unmanaged": "Opzione di condivisione non gestita",
  "msg_tts_error": "Qualcosa è andato storto, riprovare più tardi!",
  "msg_tts_no_volume": "Aumenta il volume per ascoltare l'articolo",
  "msg_tts_unsupported": "Utilizzo lingua di default, provare a installare un pacchetto voce italiano",
  "my_home_categories_selected": "{{categories}} categorie selezionate per un totale di {{articles}} articoli",
  "my_location": "Usa la mia posizione",
  "network": "Rete",
  "none": "Nessuno",
  "normal": "Normale",
  "paywall_offline_warning": "Questo articolo non è al momento disponibile offline",
  "permission_storage_message": "{{appName}} necessita del permesso di archiviazione dei dati",
  "permission_title": "{{appName}} autorizzazione",
  "pj_from_page": "da pagina",
  "pj_to_page": "alla pagina",
  "pj_continue_to_page": "Continua alla pagina",
  "pj_continue_to_page_parent": "Pagina",
  "powered_by": "Powered by TECNAVIA",
  "powered_by_who": "Offerto da {{who}}",
  "push_notification": "Notifiche push",
  "reader_app_text": "Account e acquisti esterni a quest'app saranno gestiti da “{{developerName}}”. Il tuo account App Store, i tuoi metodi di pagamento e le attività connesse, come la gestione degli abbonamenti e le richieste di rimborso, non saranno disponibili. Apple non è responsabile per la privacy o la sicurezza delle transazioni effettuate con questo sviluppatore.",
  "reader_app_title": "Stai per lasciare l'app collegandoti a un sito web esterno. Le transazioni successive non riguardano più Apple.",
  "retry": "Riprova",
  "salary": "Stipendio: {{salary}}",
  "save_search": "Salva ricerca",
  "saved_searches": "Ricerche Salvate",
  "search_term": "Cerca termine",
  "select_after_date": "Selezionare dopo la data di",
  "select_my_home_categories": "Scegli la tua categoria preferita dall'elenco di seguito per personalizzare la tua {{category}}",
  "selected_categories": "Categorie selezionate",
  "selected_time_range": "Intervallo temporale selezionato",
  "settings": "Impostazioni",
  "settings_allow_font_scaling": "Consenti ridimensionamento caratteri",
  "settings_startup_epaper": "E-Edition",
  "settings_startup_rss": "Notizie in diretta",
  "settings_startup_choose": "Scegli ogni volta",
  "show": "MOSTRA",
  "sort_by_date": "Ordina per data",
  "sort_by_name": "Ordina per nome A-Z",
  "sort_by_name_reverse": "Ordina per nome Z-A",
  "sort_by_popularity": "Ordina per Popolarità",
  "sort_date_disabled": "Ordinamento sulla data disattivato",
  "sponsored_content": "Contenuto Sponsorizzato",
  "start_with": "Iniziare con",
  "str_custom": "Personalizzato",
  "str_default_language": "Ritorna alla lingua originale",
  "str_from": "Da",
  "str_limit_label": "Massimo numero di edizioni immagazzinate: {{days}}",
  "str_next_week": "La prossima settimana",
  "str_page": "Pagina",
  "str_search": "Ricerca",
  "str_search_results": "{{text}} - {{count}} risultati",
  "str_special_sections": "Sezioni Speciali",
  "str_this_week": "Questa settimana",
  "str_this_weekend": "Questo fine settimana",
  "str_time_range": "Intervallo temporale",
  "str_title": "Titolo",
  "str_to": "A",
  "str_today": "Oggi",
  "str_tomorrow": "Domani",
  "str_translating_article": "Traduzione di articoli in corso...",
  "system_error": "Si è verificato un errore",
  "theme": "Tema",
  "title_bottom_sheet": "Azioni",
  "title_offline": "Nessuna connessione Internet",
  "toggle": "CAMBIA",
  "toggle_layout": "Cambia Layout",
  "toggle_list": "Cambia layou",
  "toggle_map": "Alterna mappa",
  "total_events": "Eventi Totali",
  "total_favorites": "Preferiti: {{total}}",
  "total_jobs": "Lavori: {{total}}",
  "total_searches": "Ricerche: {{total}}",
  "tutorial": "Tutorial",
  "unknown_salary": "Stipendio Sconosciuto",
  "unsave_search": "Rimuovere ricerca salvata",
  "version": "Versione",
  "vertical_job_location_hint": "Selezionare una posizione",
  "vertical_job_text_hint": "Inserisci una parola chiave per la ricerca",
  "offline_download_warning": "Questa edizione non è stata completamente scaricata. Alcune componenti delle pagine potrebbero risultare sfuocate.",
  "user_tip_download_title": "Suggerimento",
  "user_tip_download": "Se vuoi che tutte le edizioni vengano scaricate automaticamente per essere lette anche offline premi sul pulsante 'Altro' -> 'Impostazioni' -> Seleziona 'Modalità Wifi'",
  "offline_download_dialog": "Vuoi scaricare l'intera edizione per poterla leggere offline?",
  "mobile_network_warning": "Sei connesso a una rete mobile anziché WiFi",
  "msg_operation_completed": "Operazione completata",
  "msg_ok_delete_db": "Tutte le edizione sono state cancellate",
  "msg_download_rss": "Download di nuovi articoli...",
  "btn_continue": "Continua",
  "msg_login_overlay_title": "Per continuare a leggere",
  "msg_access_reserved": "L'accesso è riservato agli abbonati",
  "msg_continue_to_read": "Abbonati a {{paper}}",
  "msg_already_subscriber": "Sei già abbonato? Accedi",
  "settings_translate": "Traduci articoli in",
  "settings_themes": "Tema",
  "settings_font_size": "Dimensione del carattere",
  "settings_graph_size": "Livello di zoom",
  "settings_number_stored_editions": "Massimo numero di edizioni immagazzinate",
  "settings_restart_from_latest": "Riavvio dall'ultima edizione disponibile (min)",
  "settings_article_mode": "Modalità testuale",
  "settings_article_mode_all": "Mostra tutto",
  "settings_article_mode_text_and_graphics": "Mostra articoli testuali e grafici",
  "settings_article_mode_only_text": "Mostra solo articoli testuali",
  "settings_restore_defaults": "Ripristina impostazioni iniziali",
  "settings_clear_storage": "Cancella dati",
  "settings_back_to_classic": "Torna alla versione precedente dell'Edizione Digitale",
  "settings_two_fingers_tap_to_article": "Usa il tap con due dita per aprire la lettura testuale",
  "settings_single_tap_to_zoom": "Usa tap singolo per zoomare",
  "settings_favorite_edition": "Scegli la tua edizione preferita",
  "settings_favorite_edition_default_label": "Ultima edizione disponibile",
  "reset": "RIPRISTINA",
  "open": "APRI",
  "settings_enable_column_view": "Attivare la visualizzazione a più colonne degli articoli",
  "settings_navigation_arrows": "Pulsanti di navigazione",
  "settings_navigation_arrows_always": "sempre presenti",
  "settings_navigation_arrows_disapper": "nascosti durante la lettura",
  "settings_navigation_arrows_never": "sempre nascosti",
  "general": "Impostazioni App",
  "settings_translate_original": "Lingua originale",
  "advance": "{{label}} | Impostazioni avanzate",
  "send": "INVIA",
  "btn_feedback": "Feedback",
  "return": "TORNA",
  "settings_article_highlight": "Mantieni evidenziato l'articolo aperto in modalità testuale",
  "write": "SCRIVI",
  "btn_go_back": "Torna indietro",
  "btn_go_next": "Vai avanti",
  "btn_go_up": "Livello precedente",
  "btn_reload": "Ricarica",
  "action_go_to_settings": "Vai alle impostazioni",
  "btn_tts": "Attiva/disattiva sintesi vocale",
  "btn_close_accessibility": "Chiudi la modalità accessibile",
  "err_module_unavailable": "{{module}} non disponibile",
  "hint_my_home_screen_config": "Per personalizzare {{label}}",
  "hint_two_fingers_tap": "Per leggere un articolo toccare l'area con due dita",
  "settings_zoom_level": "Livello di zoom",
  "settings_zoom_level_large": "Grande",
  "settings_zoom_level_larger": "Più grande",
  "settings_zoom_level_normal": "Normale",
  "restart": "Riavvia",
  "str_no_categories": "Senza categorie",
  "msg_download_bundle": "Scaricamento del nuovo pacchetto dati...",
  "msg_press_restart": "Download completato, ricarica l'app per applicare i cambiamenti",
  "msg_download_bundle_error": "Download fallito, riprova più tardi",
  "voice_back": "indietro",
  "voice_close": "chiudi",
  "voice_down": "giù",
  "voice_next": "avanti",
  "voice_next_page": "prossima pagina",
  "voice_previous": "indietro",
  "voice_previous_page": "pagina precedente",
  "voice_read": "leggi",
  "voice_select": "seleziona",
  "voice_stop": "stop",
  "voice_up": "su",
  "voice_what": "cosa",
  "btn_car_mode": "Modalità auto",
  "btn_close_car_mode": "Chiudi modalità auto",
  "btn_close_editions": "Chiudi lista edizioni",
  "btn_go_back_article": "Articolo precedente numero {{index}}",
  "btn_go_back_section": "Sezione precedente: {{section}}",
  "btn_go_next_article": "Articolo successivo numero {{index}}",
  "btn_go_next_section": "Prossima sezione: {{section}}",
  "btn_go_up_choose_issue": "Selezione edizione",
  "btn_go_up_section": "Vai alla sezione {{section}}",
  "selected_page": "pagina {{page}}",
  "selected_page_of_index": "pagina {{page}} dell'indice",
  "selected_page_of_section": "pagina {{page}} della sezione {{section}}",
  "accessibility_issue_list_header": "Lista edizioni",
  "btn_go_up_general_index": "Vai all'indice principale",
  "msg_entering_section": "Apertura sezione {{section}}",
  "msg_opening_article": "Apertura: {{title}}",
  "msg_simulate_accessibility_title": "Attiva modalità accessibile",
  "msg_simulate_accessibility": "Questa è una simulazione dell'applicazione come quando {{accessibilityAppName}} è attivo.\n • doppio tap per selezionare\n • singolo tap o movimento continuo con il dito per leggere\n • due dita per sfogliare le liste",
  "msg_max_share": "Hai raggiunto il limite giornaliero di condivisioni per questa edizione",
  "hint_restart": "L'applicazione ripartirà per caricare la nuova configurazione...",
  "hint_update_ui": "L'interfaccia utente verrà aggiornata per caricare le nuove impostazioni...",
  "accessibility": "Accessibilità",
  "iap_multiple_subscriptions": "Abbonamenti multipli",
  "iap_go_to_subscriptions": "Vai agli abbonamenti",
  "iap_multiple_subscriptions_message": "Sono state rilevati più abbonamenti attivi, disabilita quelle che non ti servono. Quando l'abbonamento sarà disattivato verrà rimborsato.{{subscriptions}}",
  "iap_multiple_active_subscriptions_message": "Hai già un abbonamento attivo, vuoi comunque procedere all'acquisto di uno nuovo? {{subscriptions}}",
  "msg_screenshots_disabled": "Non è consentita la cattura di screenshots in questa app",
  "settings_tab_index_mode": "Abilita il layout a schede in modalità indice",
  "settings_enable_push_notifications": "Abilita notifiche push",
  "settings_manage_privacy_preferences": "Gestisci le impostazioni sulla privacy",
  "theme_auto": "Automatico Chiaro/Scuro",
  "theme_light": "Chiaro",
  "theme_dark": "Scuro",
  "str_sort_by": "Ordina per",
  "str_relevance": "Rilevanza",
  "btn_from": "Da",
  "btn_to": "A",
  "str_date": "Data",
  "srt_order": "Ordine",
  "str_byline": "Sottotitolo",
  "str_descending": "Discendente",
  "str_ascending": "Ascendente",
  "str_categories": "Categorie",
  "str_select": "Selezionare...",
  "str_advertisement": "Annuncio"
}
;
},1978,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "action_go_to_category": "{{anchor}} اذهب إلى",
  "action_open_epaper": "الطبعة الرقمية",
  "action_open_gallery": "فتح معرض",
  "action_open_link": "افتح الرابط",
  "action_remove_from_favorites": "إزالة من المفضلة",
  "action_save_for_later": "احفظ لوقت لاحق",
  "action_share": "شارك",
  "action_unknown": "غير معروف",
  "alert_message": "هل أنت متأكد؟",
  "all": "اطباء ومستشفيات",
  "all_events": "كل المناسبات",
  "all_jobs": "جميع الوظائف",
  "animation": "تأثيرات",
  "animation_action": "انقر فوق الزر لتغيير الرسوم المتحركة",
  "animation_change": "تغيير الرسوم المتحركة",
  "animation_changed": "تغيرت الرسوم المتحركة",
  "article_count": "{{count}} مقالة",
  "btn_accessibility": "وضع الوصول",
  "btn_account": "تسجيل الدخول",
  "btn_add_event": "أضف حدث",
  "btn_advance_filters": "مقدما المرشحات",
  "btn_archive": "أرشيف",
  "btn_ask_later": "تسألني لاحقا",
  "btn_back": "رجوع للخلف",
  "btn_cancel": "إلغاء",
  "btn_close": "إغلاق",
  "btn_confirm": "تأكيد",
  "btn_contact": "اتصل بنا",
  "btn_disable_log_file": "إرسال سجل",
  "btn_do_not_show": "لا تظهر مرة أخرى",
  "btn_download": "تنزيل",
  "btn_editions": "الإصدارات",
  "btn_enable_log_file": "تمكين تسجيل الدخول",
  "btn_feed": "الاخبار العاجل",
  "btn_fit_page": "نوبة. مناسب",
  "btn_g_book": "استعراض",
  "btn_go_to_news": "اذهب إلى الأخبار",
  "btn_help": "مساعدة",
  "btn_index": "فهرس",
  "btn_link": "الرابط",
  "btn_login": "تسجيل الدخول",
  "btn_logout": "تسجيل خروج",
  "btn_more": "المزيد",
  "btn_no": "لا",
  "btn_ok": "موافق",
  "btn_publications": "المنشورات",
  "btn_read": "تصفح",
  "btn_reset": "إعادة تعيين",
  "btn_search": "البحث",
  "btn_set_as_default": "تعيين كافتراضي",
  "btn_settings": "الإعدادات",
  "btn_skip": "تخطى",
  "btn_special_section": "خاص",
  "btn_store": "متجر",
  "btn_swipe": "استعراض",
  "btn_thumbnail": "الصفحات",
  "btn_yes": "نعم",
  "cache_size": "التخزين المؤقت",
  "card": "بطاقة",
  "categories": "التصنيفات",
  "change": "تغيير",
  "change_location_hint": "تغيير الموقع",
  "change_radius": "اختر نصف القطر",
  "clear": "مسح",
  "clear_cache": "سيتم مسح ذاكرة التخرين المؤقت",
  "clear_favorites": "مسح المفضلة",
  "confirm": "تأكيد",
  "connection_0": "وضع الهاتف المحمول",
  "connection_0_description": "بشكل رئيسي القراءة النصية للصحيفة.  استخدام محدود للفرقة.",
  "connection_1": "وضع 3G",
  "connection_1_description": "الجرافيك / قراءة نصية للصحيفة.  لا يتم تنزيل جميع الرسومات.",
  "connection_2": "وضع واي فاي",
  "connection_2_description": " قراءة جرافيك / نصية للصحيفة.  تنزيل كامل لجميع المكونات.",
  "counter": "{{current}} من {{total}}",
  "custom_location": "موقع مخصص",
  "database": "قاعدة البيانات",
  "database_deleted": "حذف قاعدة البيانات",
  "default_search": "البحث الافتراض",
  "dialog_location_message": "نحن نستخدم الموقع الخاص بك لإظهار أين أنت على الخريطة",
  "dialog_location_title": "نحن بحاجة إلى الوصول إلى الموقع الخاص بك",
  "disabled": "معطل",
  "enabled": "مفعل",
  "err_change_animation": "خطأ في تغيير الرسوم المتحركة",
  "err_clear_cache": "خطأ في مسح ذاكرة التخزين المؤقت",
  "err_clear_database": "خطأ لمسح قاعدة البيانات",
  "err_clear_favorites": "خطأ لمسح المفضلة",
  "err_download_edition": "حدث خطأ أثناء تنزيل الإصدار",
  "err_download_edition_db": "حدث خطأ أثناء تنزيل قاعدة بيانات الإصدار",
  "err_download_psetup": "خطأ أثناء تنزيل تكوينات القاعدة",
  "err_internet_connection": "لا يمكن الاتصال بخادم التطبيقات. يرجى التأكد من توفر اتصال بالإنترنت والمحاولة مرة أخرى.",
  "err_max_min": "صالح مرشح,الحد الأدنى يجب أن يكون أقل من ماكس",
  "err_offline": "المحتويات الخارجية غير متاحة حاليا",
  "err_retrieve_cache": "خطأ لاسترداد ذاكرة التخزين المؤقت",
  "err_retrieve_favorites": "خطأ في استرداد المفضلة",
  "err_translation": "الترجمة غير متوفرة",
  "err_translation_offline": "الترجمة غير متاحة بلا إنترنت",
  "error_on_load_more": "خطأ عند محاولة تحميل المزيد من العناصر",
  "fast": "بسرعة",
  "favorites": "المفضلة",
  "feedback_email_feedback": "tapuserfeedback+android@tecnavia.com",
  "feedback_msg_ask_for_feedback": "هل هناك أي شيء يمكننا القيام به للمساعدة ؟ ",
  "feedback_title_request_feedback": "أنت تتمتع وقتك مع التطبيق ؟ ",
  "feedback_title_request_review_feedback": "سعداء أن نسمع! هل ترغب في ترك التعليق أو التقييم ؟ ",
  "filter_max": "ماكس",
  "filter_min": "مين",
  "filter_text": "كتابة النص هنا",
  "font_extra_large": "كبير جداً",
  "font_extra_small": "صغير جداً",
  "font_large": "كبير",
  "font_normal": "عادي",
  "font_scale": "حجم الخط",
  "font_small": "صغير",
  "from_most_recent": "من أحدث",
  "from_oldest": "من أقدم",
  "gmc_default_text": "العدد الجديد هو متاح. اضغط هنا لقراءة!",
  "gmc_message_text": "صحيفة {{issue}} متاحة الآن. اضغط هنا لقراءة!",
  "grid": "شبكة",
  "grid_list": "عرض الشبكة / القائمة",
  "home": "الصفحة الرئيسية",
  "label_exit_accessibility_mode": "الخروج من وضع الوصول",
  "label_open_browser": "افتح في المتصفح",
  "last_search": "البحث الأخي",
  "layout": "شكل الأخبار",
  "learn_more": "معرفة المزيد",
  "list": "قائمة",
  "loading": "جارٍ التحميل ...",
  "local_events": "أحداث محلية",
  "max_salary": "ماكس. الراتب",
  "min_salary": "دقيقة. الراتب",
  "msg_available_next_startup": "سيتم تفعيل هذه الميزة بعد إعادة تشغيل التطبيق",
  "msg_clear_cache": "مسح ذاكرة التخزين المؤقت",
  "msg_clear_favorites": "حذف المفضلة",
  "msg_copy_to_clipboard": "نسخ إلى الحافظة",
  "msg_database_deleted": "سيتم حذف قاعدة البيانات",
  "msg_delete_db": "حذف بيانات قاعدة البيانات؟",
  "msg_delete_localstorage": "محو الإعدادات الشخصية؟",
  "msg_delete_title": "هل تريد ان",
  "msg_download_edition": "جارٍ تنزيل الإصدار...",
  "msg_download_retry": "...{{maxRetries}} من {{retry}} محاولة",
  "msg_empty_category": "حاليًا ، لا توجد مقالات مخصصة لـ {{category}}! اضغط لتحديث",
  "msg_empty_favorites": "حاليا لا توجد المفضلة!",
  "msg_empty_gallery": "النقر معرض فارغة",
  "msg_empty_list": "حاليا لا توجد عناصر! اضغط لتغيير بعض الفلاتر",
  "msg_empty_searches": "حاليا لا توجد عمليات البحث المحفوظة",
  "msg_error_category": "شيء ذهب على نحو خاطئ ، في محاولة فتح فئة أو حذف قاعدة البيانات من إعدادات! اضغط على تحديث",
  "msg_error_list": "شيء ذهب على نحو خاطئ ، في محاولة لتغيير بعض الفلاتر",
  "msg_error_newspaper": "جريدة فارغة",
  "msg_event_over": "سيدي هذا ليس البروتوكول",
  "msg_exit_application": "الخروج من التطبيق؟",
  "msg_failed": "فشل",
  "msg_font_scaling": "هل ترغب في تطبيق حجم نص جهازك على هذا التطبيق؟",
  "msg_font_scaling_title": "يبدو أن لديك حجم نص مخصص مضبوطًا على جهازك",
  "msg_list_no_articles_available_for_category": "ليس هناك خطأ. حالياً لا يوجد مقالات في هذا القسم",
  "msg_list_no_content": "لا يوجد محتوى",
  "msg_loading_comments": "المزيد من التعليقات",
  "msg_loading_more": "تحميل المزيد...",
  "msg_new_issue_available": "إصدار جديد متوفر الآن ، هل ترغب في تحميله الآن؟",
  "msg_not_on_latest_issue": "أنت لا تشاهد أحدث إصدار متاح ، هل ترغب في تحميله الآن؟",
  "msg_offline_article_graph": "لاستخدام هذه الميزة في وضع عدم الاتصال ، يجب أن تكون قد قمت بتنزيل الإصدار الكامل أو قد تكون بعض الصور مفقودة.",
  "msg_offline_issues": "حدد إصدارًا تم تنزيله لقراءة.",
  "msg_opening_article": "افتتاح: {{title}}",
  "msg_opening_push": "فتح إشعار الدفع",
  "msg_pending_purchases": "استكمال عمليات الشراء المعلقة: {{completed}} من {{total}}",
  "msg_reload_publication": "تم حذف قاعدة البيانات ، هل تريد تنزيل أحدث إصدار تلقائيًا؟",
  "msg_restore_default_settings": "هل تريد استعادة إعدادات التطبيق الافتراضية؟",
  "msg_rss_new_articles_available": "أخر الأخبار {{count}}",
  "msg_rss_no_new_articles_available": "الأخبار مُحَدَّثَة",
  "msg_rss_one_new_article_available": "مادة جديدة متاحة 1",
  "msg_rss_reload_database": "تحميل أخبار جديدة",
  "msg_rss_update_error": "خطأ أثناء التحديث ، لا يمكن تحديث",
  "msg_search_empty": "لم يتم البحث عن شيء",
  "msg_search_lite": "عرض النتائج على الصفحة",
  "msg_search_not_found": "لم يتم العثور على مقالة مع {{text}}",
  "msg_sent": "صندوق المرسل",
  "msg_share_unmanaged": "الخيار حصة غير المدارة",
  "msg_tts_error": "حدث خطأ ، أعد المحاولة لاحقًا!",
  "msg_tts_no_volume": "زيادة حجم النص إلى",
  "msg_tts_unsupported": "لغة غير مدعومة ، حاول استخدام الصوت الافتراضي أو تحقق من وجود حزمة لغة مخصصة!",
  "my_home_categories_selected": "تم تحديد {{categories}} الفئات لما مجموعه {{articles}} من المقالات",
  "my_location": "استخدام موقعي",
  "network": "الشبكة",
  "none": "لا شيء",
  "normal": "عادي",
  "permission_storage_message": "{{appName}} يحتاج إلى إذن التخزين",
  "permission_title": "{{appName}} إذن",
  "pj_from_page": "من صفحة",
  "pj_to_page": "إلى الصفحة",
  "pj_continue_to_page": "تتمة في ص",
  "pj_continue_to_page_parent": "الصفحة",
  "powered_by": "مشغل بواسطة TECNAVIA",
  "powered_by_who": "مدعوم من {{who}}",
  "push_notification": "الإشعارات",
  "reader_app_text": "ستتم إدارة أي حسابات أو عمليات شراء تتم خارج هذا التطبيق بواسطة المطوّر “{{developerName}}” لن يتوفر حساب App Store الخاص بك وطريقة الدفع المحفوظة وأي من الميزات، كإدارة الاشتراك وطلبات استرداد المبلغ. Apple ليست مسؤولة عن خصوصية أو أمان المعاملات التي تتم مع هذا المطوّر.",
  "reader_app_title": "أنت على وشك مغادرة التطبيق والانتقال إلى موقع ويب خارجي. تنتهي المعاملة المالية مع Apple عند هذه النقطة.",
  "retry": "إعادة المحاولة",
  "salary": "الراتب: {{salary}}",
  "save_search": "حفظ البحث",
  "saved_searches": "عمليات البحث المحفوظة",
  "search_term": "مصطلح البحث",
  "select_after_date": "تحديد بعد تاريخ",
  "select_my_home_categories": "اختر فئاتك المفضلة من القائمة أدناه لتخصيص {{category}} الخاص بك",
  "selected_categories": "الفئة المختارة",
  "selected_time_range": "نطاق التاريخ المحدد",
  "settings": "إعدادات",
  "settings_allow_font_scaling": "السماح بتحجيم الخط",
  "settings_startup_epaper": "الطبعة الرقمية",
  "settings_startup_rss": "أخر أخبار",
  "settings_startup_choose": "اختر في كل مرة",
  "show": "إظهار",
  "sort_by_date": "ترتيب حسب",
  "sort_by_name": "قم بالفرز حسب أ-ي",
  "sort_by_name_reverse": "قم بالفرز حسب ي-أ",
  "sort_by_popularity": "فرز حسب الشعبية",
  "sort_date_disabled": "فرز على تاريخ تعطيل",
  "start_with": "يبدأ بـ",
  "str_custom": "تخصيص",
  "str_default_language": "العودة إلى اللغة الأصلي",
  "str_description": "وصف",
  "str_from": "من عند",
  "str_id": "هوية شخصية: {{id}}",
  "str_limit_label": "{{days}} :عدد الإصدارات المراد تخزينه",
  "str_location": "موقعك:",
  "str_next_events": "الأحداث القادمة:",
  "str_next_week": "الأسبوع التالي",
  "str_page": "الصفحة",
  "str_search": "البحث",
  "str_search_results": "{{text}} - {{count}} النتائج",
  "str_special_sections": "أقسام خاصة",
  "str_this_week": "هذا الأسبو",
  "str_this_weekend": "في نهاية هذا الاسبوع",
  "str_time_range": "نطاق زمنى",
  "str_title": "الصفة",
  "str_to": "إلى",
  "str_today": "اليوم",
  "str_tomorrow": "غدًا",
  "str_translating_article": "ترجمة المقال...",
  "system_error": "حدث خطأ",
  "theme": "موضوع",
  "title_bottom_sheet": "الإجراءات",
  "title_offline": "لا يوجد اتصال بالإنترنت",
  "toggle": "تغيير",
  "toggle_layout": "تبديل التنسيق",
  "toggle_list": "تبديل قائمة",
  "toggle_map": "تبديل خريطة",
  "total_events": "الأحداث: {{total}}",
  "total_favorites": "لمفضلات: {{total}}",
  "total_jobs": "الوظائف: {{total}}",
  "total_searches": "عمليات البحث: {{total}}",
  "tutorial": "كيف تستخدم التطبيق؟",
  "unknown_salary": "غير معروف الراتب",
  "unsave_search": "إزالة البحث المحفوظة",
  "version": "الإصدار",
  "vertical_job_location_hint": "حدد موقع",
  "vertical_job_text_hint": "أدخل الكلمات الرئيسية في البحث",
  "user_tip_download": "لتنزيل جميع الإصدارات تلقائيًا للقراءة في وضع عدم الاتصال ، حدد \"المزيد\"> \"الإعدادات\"> \"دون اتصال\" كإعداد الشبكة المفضل لديك",
  "user_tip_download_title": "نصيحة المستخدم",
  "offline_download_warning": "لم يتم تنزيل هذا الإصدار بالكامل.\nقد تظهر بعض أجزاء الصفحات غير واضحة.",
  "offline_download_dialog": "هل تريد تنزيل الإصدار بالكامل للقراءة في وضع عدم الاتصال؟",
  "mobile_network_warning": "أنت متصل بشبكة جوال بدلاً من شبكة WiFi",
  "msg_operation_completed": "اكتملت العملية",
  "msg_ok_delete_db": "تم حذف جميع الإصدارات المحفوظة",
  "msg_download_rss": "جارٍ تنزيل مقالات جديدة...",
  "settings_translate": "ترجمة المقالات إلى",
  "settings_themes": "سمة",
  "settings_font_size": "حجم الخط",
  "settings_graph_size": "مستوى التكبير",
  "settings_number_stored_editions": "الحد الأقصى لعدد الإصدارات المخزنة",
  "settings_restart_from_latest": "إعادة التشغيل من آخر إصدار متوفر (دقيقة)",
  "settings_article_mode": "وضع المادة",
  "settings_article_mode_all": "عرض الكل",
  "settings_article_mode_text_and_graphics": "إظهار المقالات والرسومات",
  "settings_article_mode_only_text": "إظهار المقالات فقط",
  "settings_restore_defaults": "استعادة الإعدادات الافتراضية",
  "settings_clear_storage": "مسح البيانات",
  "settings_back_to_classic": "العودة إلى الإصدار الكلاسيكي",
  "settings_two_fingers_tap_to_article": "استخدم الصنبور بإصبعين لفتح قراءة النص",
  "settings_single_tap_to_zoom": "استخدم نقرة واحدة للتكبير",
  "settings_favorite_edition": "اختر نسختك المفضلة",
  "settings_favorite_edition_default_label": "آخر إصدار متاح",
  "reset": "إعادة تعيين",
  "open": "افتح",
  "settings_enable_column_view": "(تفعيل خيار عرض المقال في أعمدة متعددة)",
  "settings_navigation_arrows": "أسهم التنقل",
  "settings_navigation_arrows_always": "يقدم دائما",
  "settings_navigation_arrows_disapper": "تختفي عند القراءة",
  "settings_navigation_arrows_never": "لا يوجد ابدا",
  "general": "إعدادات التطبيقات",
  "settings_translate_original": "اللغة الأصلية",
  "advance": "الإعدادات المتقدمة | {{label}}",
  "send": "يرسل",
  "btn_feedback": "استجابة",
  "return": "إرجاع",
  "settings_article_highlight": "احتفظ بالمقالة الحالية مميزة عندما يكون وضع المقالة مفتوحًا",
  "write": "اكتب",
  "btn_continue": "متابعة",
  "btn_go_back": "عد",
  "btn_go_next": "يذهبون المقبل",
  "btn_go_up": "المستوى السابق",
  "action_go_to_settings": "اذهب للاعدادات",
  "btn_reload": "إعادة تحميل",
  "btn_tts": "تبديل النص إلى كلام",
  "btn_close_accessibility": "إغلاق وضع الوصول",
  "err_module_unavailable": "{{module}} غير متوفرة في هذا التطبيق",
  "force_crash": "تحطم القوة",
  "hint_my_home_screen_config": "لتخصيص {{label}}",
  "hint_two_fingers_tap": "لقراءة مقال ، اضغط على منطقة المقالة بإصبعين",
  "hint_restart": "سيتم إعادة تشغيل التطبيق لتحميل التكوينات الجديدة",
  "hint_update_ui": "سيتم تحديث واجهة المستخدم لتحميل الإعدادات الجديدة ، قد تلاحظ وميض",
  "msg_access_reserved": "الوصول محفوظة للمشتركين",
  "msg_already_subscriber": "هل انت مشترك بالفعل؟ تسجيل الدخول",
  "msg_continue_to_read": "اشترك في {{paper}}",
  "settings_zoom_level": "مستوى التكبير",
  "settings_zoom_level_large": "كبير",
  "settings_zoom_level_larger": "أكبر",
  "settings_zoom_level_normal": "طبيعي",
  "restart": "اعادة البدء",
  "str_no_categories": "لا توجد فئات",
  "msg_login_overlay_title": "لمواصلة القراءة",
  "voice_back": "الى الخلف",
  "msg_max_share": "لقد وصلت إلى حد المشاركة اليومية لهذا الإصدار",
  "accessibility": "إمكانية الوصول",
  "msg_simulate_accessibility_title": "تفعيل وضع الوصول",
  "msg_screenshots_disabled": "لقطات الشاشة غير مسموح بها في هذا التطبيق",
  "settings_tab_index_mode": "تمكين تخطيط علامة التبويب في وضع الفهرس",
  "settings_enable_push_notifications": "تمكين دفع الإشعارات",
  "settings_manage_privacy_preferences": "إدارة تفضيلات الخصوصية",
  "theme_light": "ضوء",
  "theme_dark": "مظلم",
  "str_sort_by": "ترتيب حسب",
  "str_relevance": "ملاءمة",
  "btn_from": "من",
  "btn_to": "ل",
  "str_date": "تاريخ",
  "srt_order": "طلب",
  "str_byline": "الخط الثانوي",
  "str_descending": "تنازلي",
  "str_ascending": "تصاعدي",
  "str_categories": "فئات",
  "str_select": "...يختار",
  "str_advertisement": "إعلان",
  "iap_multiple_subscriptions": "اشتراكات متعددة",
  "iap_go_to_subscriptions": "انتقل إلى الاشتراك",
  "iap_multiple_subscriptions_message": "لقد وجدنا أن لديك عدة اشتراكات نشطة، يرجى تعطيل الاشتراكات التي لا تحتاج إليها. عندما يتم تعطيل الاشتراك، سيتم استرداده {{subscriptions}}",
  "iap_multiple_active_subscriptions_message": "لديك اشتراك نشط بالفعل، هل ترغب في شراء اشتراك جديد على أية حال؟ {{subscriptions}}"

}
;
},1979,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "action_go_to_category": "Gå til {{anchor}}",
  "action_open_epaper": "Åben epaper",
  "action_open_gallery": "Åbn galleri",
  "action_open_link": "Åbn link",
  "action_remove_from_favorites": "Fjern fra favoritter",
  "action_save_for_later": "Gem til senere",
  "action_share": "Dele",
  "action_unknown": "Ukendt",
  "alert_message": "Er du sikker?",
  "all": "Alle",
  "all_events": "Alle Arrangementer",
  "all_jobs": "Alle job",
  "animation": "Hastighed",
  "animation_action": "Klik på knappen for at ændre animationen",
  "animation_change": "Animationsændring",
  "animation_changed": "Animation ændret",
  "article_count": "{{count}} artikler",
  "btn_accessibility": "Tilgængelighedstilstand",
  "btn_account": "Log ind",
  "btn_advance_filters": "Forhånd filtre",
  "btn_archive": "Arkiv",
  "btn_ask_later": "Spørg Mig Senere",
  "btn_back": "tilbage",
  "btn_cancel": "Annuller",
  "btn_close": "Tæt",
  "btn_confirm": "Bekræft",
  "btn_contact": "Kontakt",
  "btn_disable_log_file": "Send LOG",
  "btn_do_not_show": "Vis ikke Igen",
  "btn_download": "Offline",
  "btn_editions": "Udgaver",
  "btn_enable_log_file": "Aktiver LOG",
  "btn_feed": "Live nyheder",
  "btn_fit_page": "Tilpas",
  "btn_g_book": "Gennemse",
  "btn_go_to_news": "Gå til nyheder",
  "btn_help": "Hjælp",
  "btn_index": "Indeks",
  "btn_link": "Link",
  "btn_login": "Log ind",
  "btn_logout": "Log ud",
  "btn_more": "Mere",
  "btn_no": "Ingen",
  "btn_ok": "Okay",
  "btn_publications": "Publikationer",
  "btn_read": "Læse",
  "btn_reset": "Nulstil",
  "btn_search": "Søg",
  "btn_set_as_default": "Sæt som standard",
  "btn_settings": "Indstillinger",
  "btn_skip": "Spring over",
  "btn_special_section": "Særlig",
  "btn_store": "Butik",
  "btn_swipe": "Gennemse",
  "btn_thumbnail": "Sider",
  "btn_yes": "Ja",
  "cache_size": "Cache størrelse",
  "card": "Kort",
  "categories": "Kategorier",
  "change": "ÆNDRE",
  "change_location_hint": "Skift lokation",
  "change_radius": "Vælg Radius",
  "clear": "RYD",
  "clear_cache": "Ryd cache",
  "clear_favorites": "Ryd favoritter",
  "confirm": "Bekræft",
  "connection_0": "Mobil mode",
  "connection_0_description": "Ideel når begrenset båndbredde er tilgængelig. Tekstversion af udgaven er downloadet, billeder vises i meget lav opløsning.",
  "connection_1": "Online mode",
  "connection_1_description": "Ideel, når du er tilsluttet internettet.Kun sider, der vises, downloades og er tilgængelige for offline læsning.",
  "connection_2": "Offline mode",
  "connection_2_description": "Downloader automatisk hele udgaven ved start til offline læsning.",
  "counter": "{{current}} af {{total}}",
  "custom_location": "Brugerdefineret placering",
  "database": "Database",
  "database_deleted": "Database slettet",
  "default_search": "Default søgesti",
  "dialog_location_message": "Vi bruger din placering til at vise, hvor du er på kortet",
  "dialog_location_title": "Vi har brug for at få adgang til din placering",
  "disabled": "handicappet",
  "enabled": "Aktiveret",
  "err_change_animation": "Fejl ved ændring af animation",
  "err_clear_cache": "Fejl ved at rydde cachen",
  "err_clear_database": "Fejl ved sletning af database",
  "err_clear_favorites": "Fejl ved rydning af favoritter",
  "err_download_edition": "Der opstod en fejl under download af udgaven",
  "err_download_edition_db": "Der opstod en fejl under download af udgave database",
  "err_download_psetup": "Fejl under download af basekonfigurationer",
  "err_internet_connection": "Kunne ikke oprette forbindelse til applikationsserveren. Sørg for at du har internetforbindelse og prøv igen.",
  "err_max_min": "Ugyldig filter, min skal være mindre end max",
  "err_offline": "Eksternt indhold er ikke tilgængeligt offline",
  "err_retrieve_cache": "Fejl ved hentning af cache",
  "err_retrieve_favorites": "Fejl ved at hente favoritter",
  "err_translation": "Oversættelse ikke tilgængelig",
  "err_translation_offline": "Oversættelse ikke tilgængelig offline",
  "error_on_load_more": "Fejlmeddelelse, når du forsøger at ilægge flere produkter",
  "fast": "Hurtig",
  "favorites": "Foretrukne",
  "feedback_email_feedback": "tapuserfeedback+android@tecnavia.com",
  "feedback_msg_ask_for_feedback": "Er der noget vi kan gøre for at hjælpe?",
  "feedback_title_request_feedback": "Er du nyde godt af din tid med den App?",
  "feedback_title_request_review_feedback": "Glad for at høre! Vil du gerne give en anmeldelse eller bedømmelse?",
  "filter_max": "Antal",
  "filter_min": "Min",
  "filter_text": "Skriv tekst her",
  "font_extra_large": "Ekstra stor",
  "font_extra_small": "Ekstra lille",
  "font_large": "Stor",
  "font_normal": "Normal",
  "font_scale": "Skriftstørrelse",
  "font_small": "Lille",
  "from_most_recent": "Fra den seneste",
  "from_oldest": "Fra de ældste",
  "gmc_default_text": "Et nyt problem er tilgængeligt. Tryk her for at læse!",
  "gmc_message_text": "Det {{issue}} avis er nu tilgængelig. Tryk her for at læse!",
  "grid": "Grid",
  "grid_list": "grid/liste",
  "home": "Hjem",
  "label_exit_accessibility_mode": "Afslut Tilgængelighedstilstand",
  "label_open_browser": "Åbn i browser",
  "last_search": "Sidste søgning",
  "layout": "Layout",
  "learn_more": "Læs mere",
  "list": "Liste",
  "loading": "Indlæser...",
  "local_events": "Lokale Events",
  "max_salary": "Max. løn",
  "min_salary": "Min. løn",
  "msg_available_next_startup": "Denne konfiguration vil være tilgængelig næste opstart",
  "msg_clear_cache": "Ryd cache",
  "msg_clear_favorites": "Slet favoritter",
  "msg_copy_to_clipboard": "Kopier til udklipsholder",
  "msg_database_deleted": "Slet database",
  "msg_delete_db": "Slet database data?",
  "msg_delete_localstorage": "Ryd personlige indstillinger?",
  "msg_delete_title": "vil du",
  "msg_download_edition": "Henter udgave...",
  "msg_download_retry": "Forsøg {{retry}} af {{maxRetries}}...",
  "msg_empty_category": "I øjeblikket er der ingen artikler tildelt {{category}}! Tryk for at opdatere",
  "msg_empty_favorites": "Der er i øjeblikket ingen favoritter!",
  "msg_empty_gallery": "Klikket galleri er tomt",
  "msg_empty_list": "Der er i øjeblikket ingen elementer! Tryk på for at ændre nogle filtre",
  "msg_empty_searches": "Indtast søgeord I feltet øverst og tryk på Søg",
  "msg_error_category": "Noget gik galt, prøv at genåbne kategorien eller slet database fra indstillinger! Tryk for at opdatere",
  "msg_error_list": "Noget gik galt, så prøv at ændre nogle filtre",
  "msg_error_newspaper": "Avisen er tom",
  "msg_event_over": "Begivenheden er forbi.",
  "msg_exit_application": "Afslutte ansøgningen?",
  "msg_failed": "Mislykkedes",
  "msg_list_no_articles_available_for_category": "Dette er ikke en fejl. I øjeblikket er der ingen artikler tildelt til denne kategori!",
  "msg_list_no_content": "Intet nuværende indhold",
  "msg_loading_comments": "Indlæser kommentarer...",
  "msg_loading_more": "Ilægning af mere...",
  "msg_new_issue_available_title_edition": "Du læser i øjeblikket {{edition}}",
  "msg_new_issue_available_title_edition_date": "Du læser i øjeblikket den {{date}} udgave af {{edition}}",
  "msg_new_issue_available": "En ny udgave er nu tilgængelig, vil du gerne indlæse den nu?",
  "msg_new_issue_available_edition": "En ny udgave af {{edition}} er nu tilgængelig, vil du indlæse den?",
  "msg_new_issue_available_date": "{{date}}-udgaven er nu tilgængelig, vil du indlæse den?",
  "msg_new_issue_available_edition_date": "{{date}}-udgaven af {{edition}} er nu tilgængelig, vil du indlæse den?",
  "msg_not_on_latest_issue": "Du ser ikke den seneste tilgængelige udgave, vil du gerne indlæse den nu?",
  "msg_not_on_latest_issue_edition": "Du ser ikke den senest tilgængelige udgave af {{edition}}, vil du indlæse den nu?",
  "msg_not_on_latest_issue_date": "Du ser ikke den seneste tilgængelige udgave, vil du indlæse den {{date}} udgave?",
  "msg_not_on_latest_issue_edition_date": "Du ser ikke den seneste tilgængelige udgave, vil du indlæse den {{date}} udgave af {{edition}}?",
  "msg_offline_article_graph": "For at bruge denne funktion i offline skal du have downloadet den fulde udgave, eller nogle billeder eller stykker af tekst mangler muligvis.",
  "msg_offline_issues": "Vælg en downloadet udgave, der skal læses.",
  "msg_opening_push": "Åbner push-meddelelser...",
  "msg_pending_purchases": "Afslutter afventende køb: {{completed}} af {{total}}",
  "msg_reload_publication": "automatisk downloade den nyeste udgave?",
  "msg_restore_default_settings": "Vil du gendanne standardappsindstillingerne?",
  "msg_rss_new_articles_available": "{{count}} nye artikler er tilgængelige",
  "msg_rss_no_new_articles_available": "Du er opdateret",
  "msg_rss_one_new_article_available": "1 ny artikel er tilgængelig",
  "msg_rss_reload_database": "Ny database downloadet",
  "msg_rss_update_error": "Fejl under opdatering, kan ikke opdateres",
  "msg_search_empty": "Intet blev søgt",
  "msg_search_lite": "Se resultater på side",
  "msg_search_not_found": "Der blev ikke fundet nogen artikel med {{text}}",
  "msg_sent": "Sendt",
  "msg_share_unmanaged": "Andel ikke-administreret løsning",
  "msg_tts_error": "Er treedt een fout op, probeer het later opnieuw!",
  "msg_tts_no_volume": "Forøg volumen til lyttetekst",
  "msg_tts_unsupported": "Niet-ondersteunde taal, probeer de standaardstem te gebruiken of controleer of er een aangepast taalpakket bestaat!",
  "my_home_categories_selected": "{{categories}} kategorier valgt for i alt {{articles}} artikler",
  "my_location": "Brug min placering",
  "network": "Netværk",
  "none": "Ingen",
  "normal": "Normal",
  "offline_download_warning": "Denne udgave er ikke fuldstændig downloadet. Nogle dele af siderne kan blive sløret.",
  "paywall_offline_warning": "Denne artikel er i øjeblikket ikke tilgængelig offline",
  "permission_storage_message": "{{appName}} behov for opbevaring tilladelse",
  "permission_title": "{{appName}} tilladelse",
  "pj_from_page": "fra side",
  "pj_to_page": "til side",
  "pj_continue_to_page": "Fortsæt til side",
  "pj_continue_to_page_parent": "Side",
  "powered_by": "Drives af TECNAVIA",
  "powered_by_who": "Drives af {{who}}",
  "push_notification": "Push notifikation",
  "reader_app_text": "Konti og køb, der er oprettet eller foretaget udenfor denne app, administreres af udvikleren “{{developerName}}”. Din App Store-konto, gemte betalingsmetoder og relaterede funktioner, herunder administration af abonnementer og refunderingsanmodninger, er ikke tilgængelige. Apple er ikke ansvarlig for anonymiteten eller sikkerheden af transaktioner foretaget med denne udvikler.",
  "reader_app_title": "Du er ved at forlade appen og vil blive sendt til et eksternt websted. Du vil ikke længere udveksle transaktioner med Apple.",
  "retry": "Prøve igen",
  "salary": "Løn:  {{salary}}",
  "save_search": "Gem søgning",
  "saved_searches": "Gemte søgninger",
  "search_term": "Søgeudtryk",
  "select_after_date": "Vælg efter dato",
  "select_my_home_categories": "Vælg dine foretrukne kategorier fra nedenstående liste for at tilpasse din {{category}}",
  "selected_categories": "Skjule valgte kategorier",
  "selected_time_range": "Valgt datointerval",
  "settings": "Indstillinger",
  "settings_allow_font_scaling": "Tillad skriftskalering",
  "settings_startup_epaper": "E-Edition",
  "settings_startup_rss": "Live News",
  "settings_startup_choose": "Vælg hver gang",
  "show": "VIS",
  "sort_by_date": "Sorter efter dato",
  "sort_by_name": "Sorter efter A-Z",
  "sort_by_name_reverse": "Sorter efter Z-A",
  "sort_by_popularity": "Sorter efter popularitet",
  "sort_date_disabled": "Sortere på dato deaktivere",
  "start_with": "Start med",
  "str_custom": "Brugerdefineret",
  "str_default_language": "standardsprog",
  "str_from": "Fra",
  "str_limit_label": "Antal udgaver, der skal gemmes: {{days}}",
  "str_next_week": "Næste uge",
  "str_page": "Side",
  "str_search": "Søg",
  "str_search_results": "{{text}} - {{count}} resultater",
  "str_special_sections": "Særlige sektioner",
  "str_this_week": "Denne uge",
  "str_this_weekend": "Weekend",
  "str_time_range": "Datointerval",
  "str_title": "Titel",
  "str_to": "Til",
  "str_today": "I dag",
  "str_tomorrow": "I morgen",
  "str_translating_article": "Oversætter artikel...",
  "system_error": "En fejl opstod",
  "title_bottom_sheet": "Handlinger",
  "title_offline": "Ingen internetforbindelse",
  "toggle": "SKIFT",
  "toggle_layout": "Skift layout",
  "toggle_list": "Skift liste",
  "toggle_map": "Skifte kort",
  "total_events": "Begivenheder: {{total}}",
  "total_favorites": "Favoritter:  {{total}}",
  "total_jobs": "Job:  {{total}}",
  "total_searches": "Søgninger:  {{total}}",
  "tutorial": "Vejledning",
  "unknown_salary": "Ukendt Løn",
  "unsave_search": "Fjerne gemte søgning",
  "version": "Version",
  "vertical_job_location_hint": "Vælg en placering",
  "vertical_job_text_hint": "Indtast et søgeord for at søge",
  "user_tip_download_title": "Brugertip",
  "user_tip_download": "For automatisk at downloade alle udgaver til offline-læsning, vælg 'Mere' > 'Indstillinger' > 'Offline mode' som dit foretrukne netværk",
  "offline_download_dialog": "Vil du downloade hele udgaven til offline læsning?",
  "mobile_network_warning": "Din tilsluttet et mobilnetværk i stedet for WiFi",
  "msg_ok_delete_db": "Alle gemte udgaver er blevet slettet",
  "msg_operation_completed": "Drift afsluttet",
  "msg_download_rss": "Downloader nye artikler...",
  "settings_translate": "Oversæt artikler til",
  "settings_themes": "Tema",
  "settings_font_size": "Skriftstørrelse",
  "settings_graph_size": "Zoomniveau",
  "settings_number_stored_editions": "Maksimum antal gemte udgaver",
  "settings_restart_from_latest": "Genstart fra den sidste tilgængelige udgave (min)",
  "settings_article_mode": "Artikel-tilstand",
  "settings_article_mode_all": "Vis alt",
  "settings_article_mode_text_and_graphics": "Vis artikler og grafik",
  "settings_article_mode_only_text": "Vis kun artikler",
  "settings_restore_defaults": "Gendan standardindstillinger",
  "settings_clear_storage": "Ryd data",
  "settings_back_to_classic": "Vend tilbage til Classic eEdition",
  "settings_two_fingers_tap_to_article": "Brug hanen med to fingre til at åbne tekstaflæsningen",
  "settings_single_tap_to_zoom": "Brug enkelt tryk for at zoome",
  "settings_favorite_edition": "Vælg din yndlingsudgave",
  "settings_favorite_edition_default_label": "Sidste udgave tilgængelig",
  "reset": "NULSTIL",
  "open": "ÅBEN",
  "settings_enable_column_view": "Aktivér flere kolonners visning af artikler.\"",
  "settings_navigation_arrows": "Navigationspile",
  "settings_navigation_arrows_always": "altid til stede",
  "settings_navigation_arrows_disapper": "forsvinder ved læsning",
  "settings_navigation_arrows_never": "aldrig til stede",
  "general": "App-indstillinger",
  "settings_translate_original": "Originalsprog",
  "advance": "{{label}} | Avancerede indstillinger",
  "send": "SENDE",
  "btn_feedback": "Feedback",
  "return": "VEND TILBAGE",
  "settings_article_highlight": "Hold den aktuelle artikel fremhævet, når artikeltilstanden er åben",
  "write": "SKRIVE",
  "btn_continue": "Fortsæt",
  "btn_go_back": "Gå tilbage",
  "btn_go_next": "Gå næste gang",
  "btn_go_up": "Tidligere niveau",
  "action_go_to_settings": "اذهب للاعدادات",
  "btn_reload": "Genindlæs",
  "btn_tts": "Skift tekst til tale",
  "btn_close_accessibility": "Luk tilgængelighedstilstand",
  "err_module_unavailable": "{{module}} er ikke tilgængelig i denne app",
  "force_crash": "Tving nedbrud",
  "hint_my_home_screen_config": "For at tilpasse {{label}}",
  "hint_two_fingers_tap": "For at læse en artikel skal du trykke på artikelområdet med to fingre",
  "hint_restart": "Applikationen genstartes for at indlæse nye konfigurationer...",
  "hint_update_ui": "Brugergrænsefladen opdateres for at indlæse nye indstillinger, du vil muligvis bemærke et flimmer...",
  "msg_access_reserved": "Adgang forbeholdt abonnenter",
  "msg_already_subscriber": "Er du allerede abonnent? Log på",
  "msg_continue_to_read": "Abonner på {{paper}}",
  "theme": "Tema",
  "settings_zoom_level": "Zoom niveau",
  "settings_zoom_level_large": "Stor",
  "settings_zoom_level_larger": "Større",
  "settings_zoom_level_normal": "Normal",
  "restart": "Genstart",
  "str_no_categories": "ingen kategorier",
  "msg_login_overlay_title": "For at fortsætte med at læse",
  "voice_back": "tilbage",
  "voice_what": "hvad",
  "voice_next": "næste",
  "voice_next_page": "næste side",
  "voice_previous": "forrige",
  "voice_previous_page": "forrige side",
  "voice_stop": "stop",
  "voice_read": "læs",
  "voice_close": "luk",
  "voice_up": "op",
  "voice_down": "ned",
  "voice_select": "vælg",
  "msg_max_share": "Du har nået den daglige delingsgrænse for denne udgave",
  "accessibility": "Tilgængelighed",
  "msg_simulate_accessibility_title": "Aktiver tilgængelighedstilstand",
  "msg_screenshots_disabled": "Skærmbilleder er ikke tilladt i denne app",
  "settings_tab_index_mode": "Aktiver fanelayout i indekstilstand",
  "settings_enable_push_notifications": "Aktiver push-meddelelser",
  "settings_manage_privacy_preferences": "Administrer privatlivspræferencer",
  "theme_auto": "Automatisk lys/mørke",
  "theme_light": "Lys",
  "theme_dark": "Mørk",
  "str_sort_by": "Sorter efter",
  "str_relevance": "Relevans",
  "btn_from": "Fra",
  "btn_to": "Til",
  "str_date": "Dato",
  "srt_order": "Bestille",
  "str_byline": "Byline",
  "str_descending": "Aftagende",
  "str_ascending": "Stigende",
  "str_categories": "Kategorier",
  "str_select": "Vælg...",
  "str_advertisement": "Reklame",
  "iap_go_to_subscriptions": "Gå til abonnement",
  "iap_multiple_subscriptions": "Flere abonnementer",
  "iap_multiple_subscriptions_message": "Vi fandt ud af, at du har flere aktive abonnementer. Deaktiver venligst dem, du ikke har brug for. Når et abonnement er blevet deaktiveret, vil det blive refunderet.{{subscriptions}}",
  "iap_multiple_active_subscriptions_message": "Du har allerede et aktivt abonnement, vil du alligevel gerne købe et nyt? {{subscriptions}}"
}
;
},1980,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "action_go_to_category": "Weiter zu {{anchor}}",
  "action_open_epaper": "e-Paper öffnen",
  "action_open_gallery": "Galerie öffnen",
  "action_open_link": "Link öffnen",
  "action_remove_from_favorites": "Aus den Favoriten entfernen",
  "action_save_for_later": "Für später speichern",
  "action_share": "Teilen",
  "action_unknown": "Unbekannt",
  "alert_message": "Sind Sie sicher?",
  "all": "Alle",
  "all_events": "Alle Events",
  "all_jobs": "Alle Stellenangebote",
  "animation": "Animation",
  "animation_action": "Klicken Sie auf die Schaltfläche um die Animation zu ändern",
  "animation_change": "Animation ändern",
  "animation_changed": "Animation geändert",
  "article_count": "{{count}} Artikel",
  "btn_accessibility": "Accessibility-Modus",
  "btn_account": "Login",
  "btn_archive": "Archiv",
  "btn_advance_filters": "Erweiterte Filter",
  "btn_ask_later": "Fragen Sie mich später",
  "btn_back": "Back",
  "btn_cancel": "Abbrechen",
  "btn_close": "Schließen",
  "btn_confirm": "Bestätigen",
  "btn_disable_log_file": "LOG senden",
  "btn_do_not_show": "Nicht mehr zeigen",
  "btn_link": "Link",
  "btn_login": "Login",
  "btn_logout": "Ausloggen",
  "btn_more": "Mehr",
  "btn_special_section": "Beilagen",
  "btn_store": "Speichern",
  "btn_thumbnail": "Seiten",
  "btn_fit_page": "Zoom",
  "btn_index": "Lesen",
  "btn_download": "Offline",
  "btn_editions": "Kiosk",
  "btn_feed": "Live-Nachrichten",
  "btn_g_book": "Blättern",
  "btn_contact": "Kontakt",
  "btn_help": "Hilfe",
  "btn_settings": "Optionen",
  "btn_enable_log_file": "LOG aktivieren",
  "btn_go_to_news": "Zu den Nachrichten",
  "btn_no": "Nein",
  "btn_ok": "OKAY",
  "btn_publications": "Publikationen",
  "btn_read": "Durchsuche",
  "btn_reset": "Zurücksetzen",
  "btn_search": "Suchen",
  "btn_set_as_default": "Als Standard festlegen",
  "btn_skip": "Überspringen",
  "btn_swipe": "Blättern",
  "btn_yes": "Ja",
  "cache_size": "Cache-Größe",
  "card": "Karte",
  "categories": "Kategorien",
  "change": "ÄNDERN",
  "change_location_hint": "Standort ändern",
  "change_radius": "Umkreis auswählen",
  "clear": "LÖSCHEN",
  "clear_cache": "Cache löschen",
  "clear_favorites": "Favoriten löschen",
  "confirm": "Bestätigen",
  "connection_0": "Roaming Modus",
  "connection_0_description": "Es können nur Texte angezeigt werden. Das Datenvolumen ist auf ein Minimum beschränkt.",
  "connection_1": "Online Modus",
  "connection_1_description": "Texte und Bilder werden geladen, Artikel und Grafiken werden angezeigt.",
  "connection_2": "Offline Modus",
  "connection_2_description": "Die gesamte Ausgabe wird vollst&auml;ndig mit allen Funktionen geladen und angezeigt.",
  "counter": "{{current}} von {{total}}",
  "custom_location": "Benutzerdefinierter Ort",
  "database": "Datenbank",
  "database_deleted": "Datenbank gelöscht",
  "default_search": "Standardsuche",
  "dialog_location_message": "Wir verwenden Ihren Standort, um Ihnen auf der Karte zu zeigen wo Sie sich befinden",
  "dialog_location_title": "Wir müssen auf Ihren Standort zugreifen",
  "disabled": "Deaktiviert",
  "enabled": "Aktiviert",
  "err_change_animation": "Fehler beim ändern der Animation",
  "err_clear_cache": "Fehler beim löschen des Caches",
  "err_clear_database": "Fehler beim löschen der Datenbank",
  "err_clear_favorites": "Fehler beim löschen von Favoriten",
  "err_download_edition": "Ein Fehler ist während des Downloads der Ausgabe aufgetreten",
  "err_download_edition_db": "Ein Fehler ist während des Downloads der Ausgabe Datenbank aufgetreten",
  "err_download_psetup": "Fehler beim Herunterladen von Basiskonfigurationen",
  "err_internet_connection": "Die Verbindung zum Anwendungsserver konnte nicht hergestellt werden. Bitte stellen Sie sicher, dass Sie über eine Internetverbindung verfügen und versuchen Sie es erneut",
  "err_max_min": " Ungültiger Filter, min. muss kleiner als max. sein",
  "err_offline": "Externe Inhalte sind offline nicht verfügbar",
  "err_retrieve_cache": "Fehler beim Abrufen des Caches",
  "err_retrieve_favorites": "Fehler beim Abrufen von Favoriten",
  "err_translation": "Übersetzung nicht verfügbar",
  "err_translation_offline": "Übersetzung nicht offline verfügbar",
  "error_on_load_more": "Fehler beim Versuch mehr Elemente zu laden",
  "fast": "Schnell",
  "favorites": "Favoriten",
  "feedback_email_feedback": "tapuserfeedback+android@tecnavia.com",
  "feedback_msg_ask_for_feedback": "Gibt es etwas, was wir tun können, um zu helfen?",
  "feedback_title_request_feedback": "Gefällt Ihnen die App?",
  "feedback_title_request_review_feedback": "Schön zu hören! Möchten Sie eine Bewertung oder Beurteilung abgeben?",
  "filter_max": "Max.",
  "filter_min": "Min.",
  "filter_text": "Schreiben Sie hier einen Text",
  "font_extra_large": "Extra groß",
  "font_extra_small": "Extra klein",
  "font_large": "Groß",
  "font_normal": "Normal",
  "font_scale": "Schriftgröße",
  "font_small": "Klein",
  "from_most_recent": "Von den neuesten",
  "from_oldest": "Von den ältesten",
  "gmc_default_text": "Eine neue Ausgabe ist verfügbar. Tippen Sie hier um zu lesen!",
  "gmc_message_text": "{{issue}} ist jetzt verfügbar. Tippen Sie hier um zu lesen!",
  "grid": "Kacheln",
  "grid_list": "kacheln/liste",
  "home": "Home",
  "label_exit_accessibility_mode": "Beenden Sie den Accessibility-Modus",
  "label_open_browser": "Im Browser öffnen",
  "last_search": "Letzte Suche",
  "layout": "Layout",
  "learn_more": "Weitere Informationen",
  "list": "Liste",
  "loading": "Laden...",
  "local_events": "Lokale Events",
  "max_salary": "Maximales Gehalt",
  "min_salary": "Mindest Gehalt",
  "msg_available_next_startup": "Diese Konfiguration wird beim nächsten Start verfügbar sein",
  "msg_clear_cache": "Cache löschen",
  "msg_clear_favorites": " Favoriten löschen ",
  "msg_copy_to_clipboard": "Ins Klemmbrett kopieren",
  "msg_database_deleted": "Datenbank löschen",
  "msg_delete_db": "Wollen Sie die gespeicherten Ausgaben wirklich löschen?",
  "msg_delete_localstorage": "Einstellungen löschen?",
  "msg_delete_title": "Möchten Sie",
  "msg_download_edition": "Ausgabe wird heruntergeladen...",
  "msg_download_retry": "Versuch {{retry}} von {{maxRetries}}...",
  "msg_empty_category": "Derzeit sind keine Artikel zugeordnet zu {{category}}! Tippen Sie zum aktualisieren",
  "msg_empty_favorites": "Zur Zeit gibt es keine Favoriten!",
  "msg_empty_gallery": "Die angeklickte Galerie ist leer",
  "msg_empty_list": "Zur Zeit gibt es keine Elemente! Tippen Sie hier, um einige Filter zu ändern",
  "msg_empty_searches": "Zur Zeit gibt es keine gespeicherten Suchanfragen",
  "msg_error_category": "Etwas ist schief gelaufen, versuchen Sie die Kategorie wieder zu öffnen oder die Datenbank aus den Einstellungen zu löschen! Tippen Sie zum aktualisieren",
  "msg_error_list": "Etwas ist schief gelaufen, versuchen Sie einige Filter zu wechseln",
  "msg_error_newspaper": "Die Zeitung ist leer",
  "msg_event_over": "Das Event ist vorbei.",
  "msg_exit_application": "Applikation beenden?",
  "msg_failed": "Fehlgeschlagen",
  "msg_font_scaling": "Möchten Sie die Textgröße Ihres Geräts auf diese Applikation anwenden?",
  "msg_font_scaling_title": "Sie haben eine benutzerdefinierte Textgröße auf Ihrem Gerät eingestellt",
  "msg_list_no_articles_available_for_category": "Dies ist kein Fehler. Dieser Kategorie sind derzeit keine Artikel zugeordnet!",
  "msg_list_no_content": "Kein aktueller Inhalt",
  "msg_loading_comments": "Kommentare werden geladen...",
  "msg_loading_more": "Ladevorgang...",
  "msg_new_issue_available": "Eine neue Ausgabe ist jetzt verfügbar, möchten Sie diese laden?",
  "msg_not_on_latest_issue": "Sie lesen nicht die letzte verfügbare Ausgabe, möchten Sie diese jetzt laden?",
  "msg_new_issue_available_title_edition": "Sie lesen gerade {{edition}}",
  "msg_new_issue_available_title_edition_date": "Sie lesen gerade die Ausgabe vom {{date}} des {{edition}}",
  "msg_new_issue_available_edition": "Eine neue Ausgabe des {{edition}} ist jetzt verfügbar, möchten Sie sie laden?",
  "msg_new_issue_available_date": "Die Ausgabe vom {{date}} ist jetzt verfügbar, möchten Sie sie laden?",
  "msg_new_issue_available_edition_date": "Die {{date}} Ausgabe von {{edition}} ist jetzt verfügbar, möchten Sie sie laden?",
  "msg_not_on_latest_issue_edition": "Sie lesen nicht die letzte verfügbare Ausgabe des {{edition}}, möchten Sie diese jetzt laden?",
  "msg_not_on_latest_issue_date": "Sie lesen nicht die letzte verfügbare Ausgabe, möchten Sie die Ausgabe vom {{date}} laden?",
  "msg_not_on_latest_issue_edition_date": "Sie sehen nicht die letzte verfügbare Ausgabe. Möchten Sie die Ausgabe vom {{date}} des {{edition}} laden?",
  "msg_offline_article_graph": "Wenn Sie diese Funktion offline aktivieren möchten, müssen Sie die vollständige Version herunterladen oder einige Bilder oder Textfragmente können fehlen.",
  "msg_offline_issues": "Wählen Sie eine heruntergeladene Ausgabe zum Lesen",
  "msg_opening_push": "Push-Benachrichtigungen werden geöffnet...",
  "msg_pending_purchases": "Ausstehende Käufe abschließen: {{completed}} von {{total}}",
  "msg_reload_publication": "Automatisch die neueste Ausgabe herunterladen?",
  "msg_restore_default_settings": "Möchten Sie die Standardeinstellungen der App wiederherstellen?",
  "msg_rss_new_articles_available": "{{count}} neue Artikel sind verfügbar",
  "msg_rss_no_new_articles_available": "Sie sind auf dem neuesten Stand",
  "msg_rss_one_new_article_available": "1 neuer Artikel ist verfügbar",
  "msg_rss_reload_database": "Neue Datenbank heruntergeladen",
  "msg_rss_update_error": "Fehler beim Update, überprüfen Sie bitte Ihre Internetverbindung und versuchen Sie es erneut",
  "msg_search_empty": "Nichts wurde durchsucht",
  "msg_search_lite": "Ergebnisse auf Seite anzeigen",
  "msg_search_not_found": "Kein Artikel mit {{text}} gefunden",
  "msg_sent": "Gesendet",
  "msg_share_unmanaged": "Option zum Teilen nicht verwaltet",
  "msg_tts_error": "Ein Fehler tritt auf, später erneut versuchen!",
  "msg_tts_no_volume": "Erhöhen Sie die Lautstärke auf den Listentext",
  "msg_tts_unsupported": "Nicht unterstützte Sprache, versuchen Sie, die Standardstimme zu verwenden oder überprüfen Sie, ob ein benutzerdefiniertes Sprachpaket existiert!",
  "my_home_categories_selected": "{{categories}} ausgewählte Kategorien für eine Gesamtzahl von {{articles}} Artikel",
  "my_location": "Standort benutzen",
  "network": "Netzwerk",
  "none": "Keine",
  "normal": "Normal",
  "offline_download_warning": "Diese Ausgabe ist nicht vollständig heruntergeladen. Einige Teile der Seiten können etwas verschwommen erscheinen.",
  "permission_storage_message": "{{appName}} benötigt Speichererlaubnis",
  "permission_title": "{{appName}} Genehmigung",
  "pj_from_page": "von Seite",
  "pj_to_page": "zu Seite",
  "pj_continue_to_page": "Weiter zur Seite",
  "pj_continue_to_page_parent": "Seite",
  "powered_by": "Powered by TECNAVIA",
  "powered_by_who": "Präsentiert von {{who}}",
  "push_notification": "Push-Benachrichtigung ",
  "reader_app_text": "Alle Accounts und alle Käufe, die außerhalb dieser App eingerichtet bzw. getätigt werden, werden von Entwickler „{{developerName}}“ verwaltet. Dein App Store-Account, deine gespeicherte Zahlungsmethode und alle damit zusammenhängenden Features, wie das Abonnementsmanagement und die Rückerstattung, werden nicht zur Verfügung stehen. Apple ist weder für den Datenschutz noch für die Sicherheit von Transaktionen verantwortlich, die mit diesem Entwickler stattfinden.",
  "reader_app_title": "Du bist dabei, die App zu verlassen und eine externe Webseite anzusteuern. Deine Transaktion findet nicht mehr mit Apple statt.",
  "retry": "Wiederholen",
  "salary": "Gehalt: {{salary}}",
  "save_search": "Suchanfrage speichern",
  "saved_searches": "Gespeicherte Suchen",
  "search_term": "Suchbegriff",
  "select_after_date": "Nach Datum auswählen",
  "select_my_home_categories": " Wählen Sie Ihre Favoritenkategorien aus der untenstehenden {{category}} Liste aus, um Ihre Auswahl anzupassen",
  "selected_categories": "Ausgewählte Kategorien",
  "selected_time_range": "Ausgewählter Datumsbereich",
  "settings": "Einstellungen",
  "settings_allow_font_scaling": "Erlaube Schriftskalierung",
  "settings_startup_epaper": "E-​Paper",
  "settings_startup_rss": "Live Nachrichten",
  "settings_startup_choose": "Wählen Sie jedes Mal",
  "show": "ZEIGEN",
  "sort_by_date": "Sortieren nach Zeit",
  "sort_by_name": "Sortierung: Bitte wählen",
  "sort_by_name_reverse": "Sortieren nach Z-A",
  "sort_by_popularity": "Nach Beliebtheit sortieren",
  "sort_date_disabled": "Sortieren nach Datum deaktivieren",
  "start_with": "Start App mit",
  "str_custom": "Benutzerdefiniert",
  "str_default_language": "Zurück zur Originalsprache",
  "str_from": "Von",
  "str_limit_label": "Maximale gespeicherte Anzahl der Ausgaben: {{days}}",
  "str_next_week": "Nächste Woche",
  "str_page": "Seite",
  "str_search": "Suche",
  "str_search_results": "{{text}} - {{count}} Ergebnisse",
  "str_special_sections": "Prospekte",
  "str_this_week": "Diese Woche",
  "str_this_weekend": "Dieses Wochenende",
  "str_time_range": "Datumsbereich",
  "str_title": "Titel",
  "str_to": "An",
  "str_today": "Heute",
  "str_tomorrow": "Morgen",
  "str_translating_article": "Artikel wird übersetzt...",
  "system_error": "Ein Fehler ist aufgetreten",
  "title_bottom_sheet": "Aktionen",
  "title_offline": "Keine Internetverbindung",
  "toggle": "UMSCHALTEN",
  "toggle_layout": "Layout umschalten",
  "toggle_list": "Liste umschalten",
  "toggle_map": "Karte umschalten",
  "total_events": "Ereignisse: {{total}}",
  "total_favorites": "Favoriten: {{total}}",
  "total_jobs": "Stellenangebote: {{total}}",
  "total_searches": "Suchanfragen: {{total}}",
  "tutorial": "Tutorial",
  "unknown_salary": "Unbekanntes Gehalt",
  "unsave_search": "Gespeicherte Suche entfernen",
  "version": "Version",
  "vertical_job_location_hint": "Wählen Sie einen Standort",
  "vertical_job_text_hint": "Geben Sie ein Stichwort für die Suche ein",
  "user_tip_download_title": "Vorschlag",
  "user_tip_download": "Wenn Sie alle Ausgaben für das Offline-Lesen herunterladen möchten, drücken Sie auf den Mehr-Button -> Reiter 'Optionen' -> und wählen dann Offline Modus als Netzwerkmodus",
  "offline_download_dialog": "Möchten Sie die komplette Ausgabe zum Offline-Lesen herunterladen?",
  "mobile_network_warning": "Sie sind mit einem Mobilfunknetz anstelle von WiFi verbunden",
  "msg_ok_delete_db": "Alle gespeicherten Ausgaben wurden gelöscht",
  "msg_operation_completed": "Vorgang ausgeführt",
  "msg_download_rss": "Neue Artikel herunterladen ...",
  "settings_translate": "Artikel übersetzen in",
  "settings_themes": "Thema",
  "settings_font_size": "Schriftgröße",
  "settings_graph_size": "Zoomstufe",
  "settings_number_stored_editions": "Maximale gespeicherte Anzahl der Ausgaben",
  "settings_restart_from_latest": "Starten Sie aus der letzten Ausgabe verfügbar (min)",
  "settings_article_mode": "Artikel-Modus",
  "settings_article_mode_all": "Alle anzeigen",
  "settings_article_mode_text_and_graphics": "Artikel und Grafiken anzeigen",
  "settings_article_mode_only_text": "Nur Artikel anzeigen",
  "settings_restore_defaults": "Standardeinstellungen wiederherstellen",
  "settings_clear_storage": "Speicher leeren",
  "settings_back_to_classic": "Zurück zu Classic e-Paper",
  "settings_two_fingers_tap_to_article": "Um Artikel lesen / Lesemodus zu aktivieren, verwenden Sie Zwei-Finger-Tap",
  "settings_single_tap_to_zoom": "Um zu vergrößern, verwenden Sie Ein-Finger-Tap",
  "settings_favorite_edition": "Wählen Sie Ihre Lieblingsausgabe",
  "settings_favorite_edition_default_label": "Letzte ausgabe verfügbare",
  "reset": "ZURÜCKSETZEN",
  "open": "OFFEN",
  "settings_enable_column_view": "Aktivieren Sie mehrere Spalten Ansicht von Artikeln",
  "settings_navigation_arrows": "Navigationspfeile",
  "settings_navigation_arrows_always": "immer vorhanden",
  "settings_navigation_arrows_disapper": "verschwinden beim Lesen",
  "settings_navigation_arrows_never": "nie vorhanden",
  "general": "App Einstellungen",
  "settings_translate_original": "Ursprache",
  "advance": "{{label}} | Erweiterte Einstellungen",
  "send": "SENDEN",
  "btn_feedback": "Rückmeldung",
  "return": "RÜCKKEHR",
  "settings_article_highlight": "Aktuellen Artikel hervorgehoben lassen, wenn der Artikelmodus aktiv ist",
  "write": "SCHREIBEN",
  "btn_continue": "Weiter",
  "btn_go_back": "Geh zurück",
  "btn_go_next": "Geh als nächstes",
  "btn_go_up": "Vorheriges Niveau",
  "btn_reload": "Neu laden",
  "err_module_unavailable": "{{module}} in dieser App nicht verfügbar",
  "force_crash": "Absturz erzwingen",
  "hint_my_home_screen_config": "Um {{label}} zu personalisieren",
  "msg_access_reserved": "Zugang für Abonnenten reserviert",
  "msg_already_subscriber": "Sind Sie bereits Abonnent? Anmeldung",
  "msg_continue_to_read": "{{paper}} abonnieren",
  "theme": "Thema",
  "settings_zoom_level": "Zoomstufe",
  "settings_zoom_level_large": "Groß",
  "settings_zoom_level_larger": "Größer",
  "settings_zoom_level_normal": "Normal",
  "restart": "Neu starten",
  "str_no_categories": "keine Kategorien",
  "msg_login_overlay_title": "",
  "action_go_to_settings": "Zu den Einstellungen gehen",
  "btn_tts": "Text in Sprache umwandeln",
  "btn_close_accessibility": "Eingabehilfemodus schliessen",
  "hint_two_fingers_tap": "Um einen Artikel zu lesen, tippen Sie mit zwei Fingern auf den Artikelbereich",
  "hint_restart": "Die Anwendung wird neu gestartet, um die neue Konfigurationen hochzuladen...",
  "hint_update_ui": "Die Benutzeroberfläche wird aktualisiert, um neue Einstellungen hochzuladen, Sie könnten ein Flackern sehen...",
  "msg_download_bundle": "Herunterladen neuerer Anwendungsdaten",
  "msg_download_bundle_error": "Das Herunterladen des Pakets wird mit einem Fehler beendet, die App wird versuchen, das Datum später zu aktualisieren",
  "msg_press_restart": "Die Daten wurden erfolgreich heruntergeladen, laden Sie die App neu, um die Änderungen zu übernehmen",
  "voice_back": "zurück",
  "voice_what": "was",
  "voice_next": "nächste",
  "voice_next_page": "nächste Seite",
  "voice_vorher": "vorher",
  "voice_vorherige_seite": "vorherige Seite",
  "voice_stop": "stop",
  "voice_read": "lesen",
  "voice_close": "schließen",
  "voice_up": "up",
  "voice_down": "down",
  "voice_select": "wählen",
  "msg_max_share": "Sie haben das tägliche Freigabelimit für diese Ausgabe erreicht",
  "accessibility": "Barrierefreiheit",
  "btn_go_up_general_index": "Zum allgemeinen Index gehen",
  "btn_go_next_section": "Nächster Abschnitt: {{section}}",
  "btn_go_back_section": "Vorheriger Abschnitt: {{section}}",
  "btn_go_next_article": "Nächster Artikel {{index}}",
  "btn_go_back_article": "Vorheriger Artikel {{index}}",
  "btn_close_editions": "Problemliste schließen",
  "btn_go_up_section": "Gehe zu Abschnitt {{Abschnitt}}",
  "btn_go_up_choose_issue": "Ausgabe wählen",
  "accessibility_issue_list_header": "Editionsliste",
  "msg_entering_section": "Abschnitt {{section}} betreten",
  "msg_opening_article": "Eröffnung: {{title}}",
  "selected_page": "gewählte Seite {{Seite}}",
  "selected_page_of_index": "ausgewählte Seite {{page}} des Index",
  "selected_page_of_section": "ausgewählte Seite {{page}} von Abschnitt {{section}}",
  "msg_simulate_accessibility_title": "Barrierefreiheitsmodus aktivieren",
  "msg_screenshots_disabled": "Screenshots sind in dieser App nicht erlaubt",
  "settings_tab_index_mode": "Aktivieren Sie das Tab-Layout im Indexmodus",
  "settings_enable_push_notifications": "Aktivieren Sie Push-Benachrichtigungen",
  "settings_manage_privacy_preferences": "Datenschutzeinstellungen verwalten",
  "theme_auto": "Automatisches Hell/Dunkel",
  "theme_light": "Licht",
  "theme_dark": "Dunkel",
  "str_sort_by": "Sortiere nach",
  "str_relevance": "Relevanz",
  "btn_from": "Aus",
  "btn_to": "Zu",
  "str_date": "Datum",
  "srt_order": "Befehl",
  "str_byline": "Byline",
  "str_descending": "Absteigend",
  "str_ascending": "Aufsteigend",
  "str_categories": "Kategorien",
  "str_select": "Wählen...",
  "str_advertisement": "Werbung",
  "iap_go_to_subscriptions": "Zum Abonnement gehen",
  "iap_multiple_subscriptions": "Mehrere Abonnements",
  "iap_multiple_subscriptions_message": "Wir haben festgestellt, dass Sie mehrere aktive Abonnements haben. Bitte deaktivieren Sie die Abonnements, die Sie nicht benötigen. Wenn ein Abonnement deaktiviert wurde, wird es erstattet.{{subscriptions}}",
  "iap_multiple_active_subscriptions_message": "Sie haben bereits ein aktives Abonnement, möchten Sie trotzdem ein neues abschließen? {{subscriptions}}"
}
;
},1981,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "action_go_to_category": "Aller à {{anchor}}",
  "action_open_epaper": "Ouvrir epaper",
  "action_open_gallery": "Ouvrir la galerie",
  "action_open_link": "Ouvrir le lien",
  "action_remove_from_favorites": "Supprimer des favoris",
  "action_save_for_later": "Enregistrer pour plus tard",
  "action_share": "Partager",
  "action_unknown": "Inconnu",
  "alert_message": "Êtes-vous sûr?",
  "all": "Tous",
  "all_events": "Tous les événements",
  "all_jobs": "Tous les emplois",
  "animation": "Animation",
  "animation_action": "Cliquez sur le bouton pour changer l'animation",
  "animation_change": "Changement de l'Animation",
  "animation_changed": "Animation changé",
  "article_count": "{{count}} articles",
  "btn_accessibility": "Mode d'accessibilité",
  "btn_account": "Account",
  "btn_advance_filters": "L'avance des filtres",
  "btn_archive": "Archives",
  "btn_ask_later": "Demandez Moi Plus Tard",
  "btn_back": "Back",
  "btn_cancel": "Annuler",
  "btn_close": "Fermer",
  "btn_confirm": "Confirmer",
  "btn_contact": "Contact",
  "btn_disable_log_file": "Envoi du JOURNAL",
  "btn_do_not_show": "Ne pas Afficher de Nouveau",
  "btn_download": "Télécharger",
  "btn_editions": "Editions",
  "btn_enable_log_file": "Activer le JOURNAL",
  "btn_feed": "Nouvelles en direct",
  "btn_fit_page": "Ajuster",
  "btn_g_book": "Feuilleter",
  "btn_go_to_news": "Aller aux nouvelles",
  "btn_help": "Aide",
  "btn_index": "Indice",
  "btn_link": "Lien",
  "btn_login": "Login",
  "btn_logout": "Déconnexion",
  "btn_more": "Plus",
  "btn_no": "Pas de",
  "btn_ok": "OK",
  "btn_publications": "Publications",
  "btn_read": "Lire",
  "btn_reset": "Réinitialiser",
  "btn_search": "Recherche",
  "btn_set_as_default": "Définir par défaut",
  "btn_settings": "Paramètres",
  "btn_skip": "Sauter",
  "btn_special_section": "Spécial",
  "btn_store": "Enregistrez",
  "btn_swipe": "Feuilleter",
  "btn_thumbnail": "Pages",
  "btn_yes": "Oui",
  "cache_size": "Taille de la mémoire Cache",
  "card": "Carte",
  "categories": "Catégories",
  "change": "CHANGEMENT",
  "change_location_hint": "Changer l'emplacement",
  "change_radius": "Rayon de recherche",
  "clear": "CLAIRE",
  "clear_cache": "Vider le cache",
  "clear_favorites": "Claire favoris",
  "confirm": "Confirmer",
  "connection_0": "Mode Mobile",
  "connection_0_description": "Lecture textuelle du journal. Utilisation limitée de la bande.",
  "connection_1": "Mode 3G",
  "connection_1_description": "Lecture graphique/textuelle du journal. Téléchargement limité à Mode Mobile.",
  "connection_2": "Mode Wifi",
  "connection_2_description": "Lecture graphique/textuelle du journal. Téléchargement aussi d'éléments graphiques.",
  "counter": "{{current}} de {{total}}",
  "custom_location": "personnalisé",
  "database": "Base de données",
  "database_deleted": "Base de données supprimées",
  "default_search": "Recherche par défaut :",
  "dialog_location_message": "Nous utilisons votre emplacement pour montrer où vous êtes sur la carte",
  "dialog_location_title": "Nous avons besoin d'accéder à votre emplacement",
  "disabled": "Désactivé",
  "enabled": "Activé",
  "err_change_animation": "Erreur pour changer l'animation",
  "err_clear_cache": "Erreur de vider le cache",
  "err_clear_database": "Erreur à effacer de la base de données",
  "err_clear_favorites": "Erreur pour effacer les favoris",
  "err_download_edition": "Une erreur est survenue pendant le téléchargement de l'édition",
  "err_download_edition_db": "Une erreur est survenue pendant le téléchargement de la banque de données de l'édition",
  "err_download_psetup": "Erreur pendant le téléchargement de la base de configurations",
  "err_internet_connection": "Impossible de se connecter au serveur d'application. Veuillez vous assurer de disposer d'une connexion internet et réessayez.",
  "err_max_min": "Filtre non valide, min doit être inférieure à max",
  "err_offline": "Pas disponible offline",
  "err_retrieve_cache": "Erreur de récupérer cache",
  "err_retrieve_favorites": "Erreur de récupérer les favoris",
  "err_translation": "Traduction non disponible",
  "err_translation_offline": "Traduction non disponible hors ligne",
  "error_on_load_more": "Erreur lors de la tentative de chargement de plus d'éléments",
  "fast": "Rapide",
  "favorites": "Favoris",
  "feedback_email_feedback": "tapuserfeedback+android@tecnavia.com",
  "feedback_msg_ask_for_feedback": "Est-il quelque chose que nous pouvons faire pour les aider?",
  "feedback_title_request_feedback": "Êtes-vous profiter de votre temps avec l'App?",
  "feedback_title_request_review_feedback": "Heureux d'entendre! Vous voulez laisser à un examen ou d'évaluation?",
  "filter_max": "Max",
  "filter_min": "Min",
  "filter_text": "Écrire du texte ici",
  "font_extra_large": "Extra large",
  "font_extra_small": "Le plus petit",
  "font_large": "Grand",
  "font_normal": "Normal",
  "font_scale": "De Police À L'Échelle",
  "font_small": "Petit",
  "from_most_recent": "À partir de les plus récents",
  "from_oldest": "De la plus ancienne",
  "gmc_default_text": "Une nouvelle version est disponible. Appuyez ici pour lire!",
  "gmc_message_text": "Le {{issue}} journal est maintenant disponible. Appuyez ici pour lire!",
  "grid": "Grille",
  "grid_list": "grille/liste",
  "home": "La maison",
  "label_exit_accessibility_mode": "Quitter le mode accessibilité",
  "label_open_browser": "Ouvrir dans le navigateur",
  "last_search": "Dernière recherche",
  "layout": "Mise en page",
  "learn_more": "En savoir plus",
  "list": "Liste",
  "loading": "Chargement...",
  "local_events": "Événements Locaux",
  "max_salary": "Max. salaire",
  "min_salary": "Min. salaire",
  "msg_available_next_startup": "Cette configuration sera disponible au prochain démarrage",
  "msg_clear_cache": "Vider le cache",
  "msg_clear_favorites": "Supprimer des favoris",
  "msg_copy_to_clipboard": "Copie dans le presse-papiers",
  "msg_database_deleted": "Supprimer la base de données",
  "msg_delete_db": "Supprimer les données de la base de données?",
  "msg_delete_localstorage": "Effacer les paramètres personnels?",
  "msg_delete_title": "Veux-tu",
  "msg_download_edition": "Téléchargement de l'edition...",
  "msg_download_retry": "Tentative {{retry}} sur {{maxRetries}}...",
  "msg_empty_category": "Actuellement, il n'y a pas les articles affectés à {{category}}! Appuyez sur pour actualiser",
  "msg_empty_favorites": "Actuellement, il n'y a pas de favoris!",
  "msg_empty_gallery": "Cliqué galerie est vide",
  "msg_empty_list": "Actuellement, il n'y a pas d'éléments! Appuyez sur pour modifier certains filtres",
  "msg_empty_searches": "Actuellement, il n'existe pas de recherches enregistrées",
  "msg_error_category": "Quelque chose s'est mal passé, essayez de rouvrir la catégorie ou le supprimer de la base de données de paramètres! Appuyez sur pour actualiser",
  "msg_error_list": "Quelque chose s'est mal passé, essayez de changer quelques filtres",
  "msg_error_newspaper": "Le journal est vide",
  "msg_event_over": "L'événement est terminé",
  "msg_exit_application": "Quitter l'application?",
  "msg_failed": "Manqué",
  "msg_list_no_articles_available_for_category": "Ce n'est pas une erreur. Actuellement, il n'y a pas d'articles affectés à cette catégorie!",
  "msg_list_no_content": "Aucun contenu actuel",
  "msg_loading_comments": "Chargement des commentaires...",
  "msg_loading_more": "Chargement...",
  "msg_new_issue_available": "Une nouvelle édition est disponible, voulez-vous la télécharger?",
  "msg_not_on_latest_issue": "Celle-ci n'est pas la dernière édition disponible, voulez-vous télécharger la dernière?",
  "msg_new_issue_available_title_edition": "Vous êtes en train de lire {{edition}}",
  "msg_new_issue_available_title_edition_date": "Vous lisez actuellement l'édition du {{date}} du {{edition}}",
  "msg_new_issue_available_edition": "Une nouvelle édition du {{edition}} est maintenant disponible, voulez-vous la télécharger?",
  "msg_new_issue_available_date": "L'édition du {{date}} est maintenant disponible, voulez-vous la télécharger?",
  "msg_new_issue_available_edition_date": "L'édition du {{date}} de {{edition}} est maintenant disponible, voulez-vous la télécharger?",
  "msg_not_on_latest_issue_edition": "Vous n'êtes pas en train de lire la dernière édition disponible de {{edition}}, voulez-vous la télécharger maintenant?",
  "msg_not_on_latest_issue_date": "Vous n'êtes pas en train de lire la dernière édition disponible, voulez-vous télécharger l'édition du {{date}}?",
  "msg_not_on_latest_issue_edition_date": "Vous n'êtes pas en train de lire la dernière édition disponible, voulez-vous charger l'édition du {{date}} de {{edition}}?",
  "msg_offline_article_graph": "Pour activer cette fonction en mode hors-ligne l'édition complète doit avoir été téléchargée, sinon des images ou parties de texte pourraient manquer",
  "msg_offline_issues": "Sélectionnez une édition téléchargée à lire",
  "msg_opening_push": "Ouverture des notifications push...",
  "msg_pending_purchases": "Finalisation des achats en attente: {{completed}} sur {{total}}",
  "msg_reload_publication": "télécharger automatiquement la dernière édition?",
  "msg_restore_default_settings": "Voulez-vous rétablir les paramètres initiaux de l'application?",
  "msg_rss_new_articles_available": "{{count}} nouveaux articles sont disponibles",
  "msg_rss_no_new_articles_available": "Vous êtes à jour",
  "msg_rss_one_new_article_available": "1 nouvel article est disponible",
  "msg_rss_reload_database": "Nouvelle base de données téléchargées",
  "msg_rss_update_error": "Erreur pendant la mise à jour, vérifiez votre connexion internet et réessayer",
  "msg_search_empty": "Rien n'a été fouillé",
  "msg_search_lite": "Afficher les résultats sur la page",
  "msg_search_not_found": "Aucun article trouvé avec {{text}}",
  "msg_sent": "Envoyé",
  "msg_share_unmanaged": "L'option de partage de non géré",
  "msg_tts_error": "Une erreur se produit, réessayez plus tard!",
  "msg_tts_no_volume": "Augmentez la taille du texte",
  "msg_tts_unsupported": "Langue non prise en charge, essayez d'utiliser la voix par défaut ou vérifiez si un pack de langues personnalisé existe!",
  "my_home_categories_selected": "{{categories}} catégories sélectionnées pour un total de {{articles}} articles",
  "my_location": "Utiliser ma localisation",
  "network": "Réseau",
  "none": "Aucun",
  "normal": "Normal",
  "permission_storage_message": "{{appName}} les besoins de stockage de l'autorisation",
  "permission_title": "{{appName}} autorisation",
  "pj_from_page": "de la page",
  "pj_to_page": "à la page",
  "pj_continue_to_page": "Continuer à la page",
  "pj_continue_to_page_parent": "Page",
  "powered_by": "Alimenté par TECNAVIA",
  "powered_by_who": "Présenté par {{who}}",
  "push_notification": "Notification Push",
  "reader_app_text": "Tous les comptes créés et achats effectués hors de cette app seront gérés par le développeur {{developerName}}. Votre compte App Store, votre mode de paiement enregistré, ainsi que les fonctionnalités associées telles que la gestion des abonnements et les demandes de remboursement ne seront pas disponibles. Apple n'est responsable ni de la sécurité, ni de la confidentialité des transactions effectuées avec ce développeur.",
  "reader_app_title": "Vous êtes sur le point de quitter l'app et d'accéder à un site web externe. Vous ne ferez plus transaction avec Apple.",
  "retry": "Refaire",
  "salary": "Salaire:  {{salary}}",
  "save_search": "Enregistrer la recherche",
  "saved_searches": "Recherches sauvegardées",
  "search_term": "Mots clés de recherche",
  "select_after_date": "Sélectionnez à partir de la date",
  "select_my_home_categories": "Choisissez votre favori catégories à partir de la liste ci-dessous pour personnaliser votre {{category}}",
  "selected_categories": "Catégories sélectionnées",
  "selected_time_range": "Dates sélectionnée",
  "settings": "Paramètres",
  "settings_allow_font_scaling": "Autoriser le changement de police",
  "settings_startup_epaper": "E-Edition",
  "settings_startup_rss": "Nouvelles en direct",
  "settings_startup_choose": "Choisissez à chaque fois",
  "show": "MONTRER",
  "sort_by_date": "Trier par horaire",
  "sort_by_name": "Trier par A-Z",
  "sort_by_name_reverse": "Trier par Z-A",
  "sort_by_popularity": "Trier par popularité",
  "sort_date_disabled": "Tri sur la date de désactiver",
  "start_with": "Commencer Avec",
  "str_custom": "Personnalisé",
  "str_default_language": "Retour à la langue d'origine",
  "str_from": "Depuis",
  "str_limit_label": "Max stockées éditions: {{days}}",
  "str_next_week": "Prochaine semaine",
  "str_page": "Page",
  "str_search": "Recherche",
  "str_search_results": "{{text}} - {{count}} résultats",
  "str_special_sections": "Section Spéciale",
  "str_this_week": "Cette semaine",
  "str_this_weekend": "Ce fin de semaine",
  "str_time_range": "Intervalle de dates",
  "str_title": "Titre",
  "str_to": "À",
  "str_today": "Aujourd'hui",
  "str_tomorrow": "Demain",
  "str_translating_article": "Traduction de l'article ...",
  "system_error": "Une erreur s'est produite",
  "title_bottom_sheet": "Actions",
  "title_offline": "Pas de connexion Internet",
  "toggle": "BASCULE",
  "toggle_layout": "La bascule de mise en page",
  "toggle_list": "Basculer de la liste",
  "toggle_map": "Basculer la carte",
  "total_events": "Événements: {{total}}",
  "total_favorites": "Favoris:  {{total}}",
  "total_jobs": "Emplois:  {{total}}",
  "total_searches": "Recherches:  {{total}}",
  "tutorial": "Tutoriel",
  "unknown_salary": "Inconnu Salaire",
  "unsave_search": "Supprimer recherche enregistrée",
  "version": "Version",
  "vertical_job_location_hint": "Sélectionnez un emplacement",
  "vertical_job_text_hint": "Entrez un mot clé pour la recherche",
  "offline_download_warning": "Cette édition n'est pas entièrement téléchargée. Quelques parties des pages pourraient apparaître floues.",
  "user_tip_download_title": "Suggestion",
  "user_tip_download": "Pour obtenir automatiquement toutes les éditions à télécharger pour une consultation hors ligne, appuyez sur le bouton 'Plus' -> onglet 'Paramètres' -> Sélectionnez 'Mode Wifi' comme mode réseau",
  "offline_download_dialog": "Voulez-vous télécharger toute l'édition pour la lecture hors ligne?",
  "mobile_network_warning": "Vous êtes connecté à un réseau mobile au lieu du WiFi",
  "msg_operation_completed": "Opération terminée",
  "msg_ok_delete_db": "Toutes les éditions enregistrées ont été supprimées",
  "msg_font_scaling": "Souhaitez-vous appliquer la taille du texte de votre appareil à cette application?",
  "msg_font_scaling_title": "Il semble que vous ayez défini une taille de texte personnalisée sur votre appareil",
  "msg_download_rss": "Téléchargement de nouveaux articles...",
  "settings_translate": "Traduire les articles en",
  "settings_themes": "Thème",
  "settings_font_size": "Taille de police",
  "settings_graph_size": "Niveau de zoom",
  "settings_number_stored_editions": "Max stockées éditions",
  "settings_restart_from_latest": "Redémarrer à partir de la dernière édition disponible (min)",
  "settings_article_mode": "Mode texte",
  "settings_article_mode_all": "Affiche tout",
  "settings_article_mode_text_and_graphics": "Affiche les articles textuels et les graphiques",
  "settings_article_mode_only_text": "Affiche uniquement les articles textuels",
  "settings_restore_defaults": "Rétablir les paramètres d'usine",
  "settings_clear_storage": "Stockage clair",
  "settings_back_to_classic": "Retour à l'édition classique",
  "settings_two_fingers_tap_to_article": "Taper deux fois pour ouvrir l'article",
  "settings_single_tap_to_zoom": "Taper pour zoomer",
  "settings_favorite_edition": "Choisissez votre édition préférée",
  "settings_favorite_edition_default_label": "Dernière édition disponible",
  "reset": "RÉINITIALISER",
  "open": "OUVERT",
  "settings_enable_column_view": "Activer l'affichage sur plusieurs colonnes des articles",
  "settings_navigation_arrows": "Flèches de navigation",
  "settings_navigation_arrows_always": "toujours présents",
  "settings_navigation_arrows_disapper": "disparaissent lors de la lecture",
  "settings_navigation_arrows_never": "jamais présents",
  "general": "Paramètres de l'application",
  "settings_translate_original": "Langue originale",
  "advance": "{{label}} | Paramètres avancés",
  "send": "ENVOYER",
  "btn_feedback": "Retour d'information",
  "return": "REVENIR",
  "settings_article_highlight": "Garder l'article actuel en surbrillance lorsque le mode article est ouvert",
  "write": "ÉCRIVEZ",
  "btn_continue": "Continuer",
  "btn_go_back": "Retourner",
  "btn_go_next": "Allez ensuite",
  "btn_go_up": "Niveau précédent",
  "action_go_to_settings": "Aller aux paramètres",
  "btn_reload": "Recharger",
  "btn_tts": "Ativar / desativar a síntese de voz",
  "btn_close_accessibility": "Fermer le mode d'accessibilité",
  "err_module_unavailable": "{{module}} non disponible",
  "force_crash": "Forcer le crash",
  "hint_my_home_screen_config": "Pour personnaliser {{label}}",
  "hint_two_fingers_tap": "Pour lire un article, appuyez sur la zone avec deux doigts",
  "hint_restart": "L'application va redémarrer pour charger de nouvelles configurations...",
  "hint_update_ui": "L'interface utilisateur se mettra à jour pour charger de nouveaux paramètres, vous remarquerez peut-être un scintillement...",
  "msg_access_reserved": "Accès réservé aux abonnés",
  "msg_already_subscriber": "Êtes-vous déjà abonné? Connexion",
  "msg_continue_to_read": "Abonnez-vous à {{paper}}",
  "theme": "Thème",
  "settings_zoom_level": "Le niveau de zoom",
  "settings_zoom_level_large": "Grand",
  "settings_zoom_level_larger": "Plus grand",
  "settings_zoom_level_normal": "Normal",
  "restart": "Redémarrage",
  "str_no_categories": "aucune catégorie",
  "msg_login_overlay_title": "Pour continuer la lecture",
  "voice_back": "retour",
  "voice_what": "quoi",
  "voice_next": "suivant",
  "voice_next_page": "page suivante",
  "voice_previous": "précédent",
  "voice_previous_page": "page précédente",
  "voice_stop": "stop",
  "voice_read": "lire",
  "voice_close": "fermer",
  "voice_up": "up",
  "voice_down": "bas",
  "voice_select": "select",
  "msg_max_share": "Vous avez atteint la limite de partage quotidienne pour cette édition",
  "accessibility": "Accessibilité",
  "msg_simulate_accessibility_title": "Activer le mode d'accessibilité",
  "msg_screenshots_disabled": "Les captures d'écran ne sont pas autorisées dans cette application",
  "settings_tab_index_mode": "Activer la mise en page à onglets en mode indice",
  "settings_enable_push_notifications": "Activer les notifications push",
  "settings_manage_privacy_preferences": "Gérer les préférences de confidentialité",
  "theme_auto": "Clair/foncé automatique",
  "theme_light": "Lumière",
  "theme_dark": "Sombre",
  "str_sort_by": "Trier par",
  "str_relevance": "Pertinence",
  "btn_from": "Depuis",
  "str_date": "Date",
  "srt_order": "Commande",
  "str_byline": "Byline",
  "str_descending": "Descendant",
  "str_ascending": "Ascendant",
  "str_categories": "Catégories",
  "str_select": "Sélectionner...",
  "str_advertisement": "Publicité",
  "iap_multiple_subscriptions": "Abonnements multiples",
  "iap_go_to_subscriptions": "Aller à l'abonnement",
  "iap_multiple_subscriptions_message": "Nous avons constaté que vous disposez de plusieurs abonnements actifs, veuillez désactiver ceux dont vous n'avez pas besoin. Lorsqu'un abonnement a été désactivé, il sera remboursé.{{subscriptions}}",
  "iap_multiple_active_subscriptions_message": "Vous avez déjà un abonnement actif, souhaitez-vous quand même en acheter un nouveau? {{subscriptions}}"
}
;
},1982,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "action_go_to_category": "Ga naar {{anchor}}",
  "action_open_epaper": "Open de e-Paper",
  "action_open_gallery": "Open de galerij",
  "action_open_link": "Open de link",
  "action_remove_from_favorites": "Verwijder uit favorieten",
  "action_save_for_later": "Bewaar voor later",
  "action_share": "Delen",
  "action_unknown": "Onbekend",
  "alert_message": "Weet u het zeker?",
  "all": "Alle",
  "all_events": "Alle evenementen",
  "all_jobs": "Alle vacatures",
  "animation": "Animatie",
  "animation_action": "Klik op de knop om de animatie te wijzigen",
  "animation_change": "Animatie wijzigen",
  "animation_changed": "Animation gewijzigd",
  "article_count": "{{count}} artikelen",
  "btn_accessibility": "Toegankelijkheidsmodus",
  "btn_account": "Log in",
  "btn_advance_filters": "Geavanceerde filters",
  "btn_archive": "Archief",
  "btn_ask_later": "Vraag het mij later",
  "btn_back": "Terug",
  "btn_cancel": "Annuleer",
  "btn_close": "Skip",
  "btn_confirm": "Bevestigen",
  "btn_contact": "Contact",
  "btn_disable_log_file": "Verstuur LOG",
  "btn_do_not_show": "Niet meer laten zien",
  "btn_download": "Download",
  "btn_editions": "Edities",
  "btn_enable_log_file": "Activeer LOG",
  "btn_feed": "Live Nieuws",
  "btn_fit_page": "Passend maken",
  "btn_g_book": "Blad omslaan",
  "btn_go_to_news": "Ga naar nieuws",
  "btn_help": "Ondersteuning",
  "btn_index": "Index",
  "btn_link": "Link",
  "btn_login": "Log in",
  "btn_logout": "Uitloggen",
  "btn_more": "Meer",
  "btn_no": "Nee",
  "btn_ok": "OK",
  "btn_publications": "Publicaties",
  "btn_read": "Lezen",
  "btn_reset": "Reset",
  "btn_search": "Zoeken",
  "btn_set_as_default": "Als stand. inst.",
  "btn_settings": "Instellingen",
  "btn_skip": "Overslaan",
  "btn_special_section": "Special",
  "btn_store": "Bewaren",
  "btn_swipe": "Blad omslaan",
  "btn_thumbnail": "Pagina's",
  "btn_yes": "Ja",
  "cache_size": "Cache grootte",
  "card": "Kaart",
  "categories": "Categorieën",
  "change": "VERANDER",
  "change_location_hint": "Locatie wijzigen",
  "change_radius": "Selecteer Radius",
  "clear": "VERWIJDER",
  "clear_cache": "Verwijder cache",
  "clear_favorites": "Verwijder favorieten",
  "confirm": "Bevestigen",
  "connection_0": "Mobiele modus",
  "connection_0_description": "Tekstmodus. Bij beperkte bandbreedte.",
  "connection_1": "3G Modus",
  "connection_1_description": "Grafische/tekstuele presentatie van de editie. Download beperkt tot mobiele modus.",
  "connection_2": "Wifi Mode",
  "connection_2_description": "Wifi Mode:  Grafische/tekstuele presentatie van de editie. Ook grafische elementen kunnen gedownload worden",
  "counter": "{{current}} van {{total}}",
  "custom_location": "Gepersonaliseerde Locatie",
  "database": "Database",
  "database_deleted": "Database verwijderd",
  "default_search": "Standaard zoeken",
  "dialog_location_message": "We gebruiken uw locatie om op de kaart te laten zien waar u bent",
  "dialog_location_title": "We hebben toegang tot uw locatie nodig",
  "disabled": "Uitgeschakeld",
  "enabled": "Ingeschakeld",
  "err_change_animation": "Fout bij het wijzigen van de animatie",
  "err_clear_cache": "Fout bij het wissen van de cache",
  "err_clear_database": "Fout bij het wissen van de database",
  "err_clear_favorites": "Fout bij het opschonen van de favorieten",
  "err_download_edition": "Er is een fout opgetreden bij het downloaden van de editie",
  "err_download_edition_db": "Er is een fout opgetreden bij het downloaden van de editie database",
  "err_download_psetup": "Fout tijdens het downloaden van basisconfiguraties",
  "err_internet_connection": "Kon geen verbinding maken met de applicatieserver. Zorg ervoor dat u verbinding heeft met het internet en probeer het opnieuw",
  "err_max_min": "Ongeldig filter, min. moet kleiner zijn dan max.",
  "err_offline": "Niet offline beschikbaar",
  "err_retrieve_cache": "Fout bij het ophalen van de cache",
  "err_retrieve_favorites": "Fout bij het ophalen van de favorieten",
  "err_translation": "Vertaling niet beschikbaar",
  "err_translation_offline": "Vertaling niet offline beschikbaar",
  "error_on_load_more": "Fout bij het laden van meer items",
  "fast": "Snel",
  "favorites": "Favorieten",
  "feedback_email_feedback": "tapuserfeedback+android@tecnavia.com",
  "feedback_msg_ask_for_feedback": "Is er iets dat wij kunnen doen om u behulpzaam te zijn?",
  "feedback_title_request_feedback": "Geniet u van de App?",
  "feedback_title_request_review_feedback": "Goed om te horen! Wilt u een recensie of puntenbeoordeling achterlaten?",
  "filter_max": "Max",
  "filter_min": "Min",
  "filter_text": "Schrijf hier uw tekst",
  "font_extra_large": "Extra groot",
  "font_extra_small": "Extra klein",
  "font_large": "Groot",
  "font_normal": "Normaal",
  "font_scale": "Grootte lettertype",
  "font_small": "Klein",
  "from_most_recent": "Uit de meest recente",
  "from_oldest": "Uit de oudste",
  "gmc_default_text": "Er is een nieuwe uitgave beschikbaar. Tap hier om te lezen!",
  "gmc_message_text": "De titel {{issue}} is nu beschikbaar. Tap hier om te lezen!",
  "grid": "Raster",
  "grid_list": "raster/lijst",
  "home": "Home",
  "label_exit_accessibility_mode": "Verlaat de Toegankelijkheidsmodus",
  "label_open_browser": "Open in de browser",
  "last_search": "Laatste zoekopdracht",
  "layout": "Layout",
  "learn_more": "Lees meer",
  "list": "Lijst",
  "loading": "Bezig met laden...",
  "local_events": "Lokale evenementen",
  "max_salary": "Max. salaris",
  "min_salary": "Min. salaris",
  "msg_available_next_startup": "Deze configuratie is beschikbaar na een herstart",
  "msg_clear_cache": "Verwijder cache",
  "msg_clear_favorites": "Verwijder favorieten",
  "msg_copy_to_clipboard": "Kopieer naar klembord",
  "msg_database_deleted": "Verwijder database",
  "msg_delete_db": "Databasegegevens verwijderen?",
  "msg_delete_localstorage": "Persoonlijke instellingen wissen?",
  "msg_delete_title": "Wil je",
  "msg_download_edition": "Bezig met downloaden van editie...",
  "msg_download_retry": "Poging {{retry}} van {{maxRetries}}...",
  "msg_empty_category": "Momenteel zijn er geen artikelen toegewezen aan {{category}}! Tap om te verversen",
  "msg_empty_favorites": "Momenteel zijn er geen favorieten!",
  "msg_empty_gallery": "De aangeklikte galerij is leeg",
  "msg_empty_list": "Momenteel zijn er geen elementen beschikbaar! Tap om sommige filters te wijzigen",
  "msg_empty_searches": "Momenteel zijn er geen opgeslagen zoekopdrachten!",
  "msg_error_category": "Er is iets misgegaan, probeer de categorie opnieuw te openen of verwijder de database uit de instellingen ! Tap om te verversen",
  "msg_error_list": "Er is iets misgegaan, probeer een aantal filters te veranderen",
  "msg_error_newspaper": "Krant is leeg",
  "msg_event_over": "'Het evenement is voorbij.'",
  "msg_exit_application": "De applicatie verlaten?",
  "msg_failed": "Mislukt",
  "msg_list_no_articles_available_for_category": "Dit is geen fout. Momenteel zijn er geen artikelen aan deze categorie toegewezen!",
  "msg_list_no_content": "Geen actuele inhoud",
  "msg_loading_comments": "Opmerkingen laden...",
  "msg_loading_more": "Meer laden...",
  "msg_new_issue_available": "Een nieuwe krant is nu beschikbaar: wilt u deze downloaden?",
  "msg_not_on_latest_issue": "Dit is niet de meest recente krant: wilt u deze downloaden?",
  "msg_new_issue_available_title_edition": "Je leest momenteel {{edition}}",
  "msg_new_issue_available_title_edition_date": "U leest momenteel het nummer van {{date}} van {{edition}}",
  "msg_new_issue_available_edition": "Er is nu een nieuwe editie van {{edition}} beschikbaar, wil je hem laden?",
  "msg_new_issue_available_date": "Het nummer van {{date}} is nu beschikbaar, wil je hem laden?",
  "msg_new_issue_available_edition_date": "Het nummer van {{edition}} van {{date}}is nu beschikbaar, wil je hem laden?",
  "msg_not_on_latest_issue_edition": "U ziet niet de laatst beschikbare editie van {{edition}}, wil je hem nu laden?",
  "msg_not_on_latest_issue_date": "U kijkt niet naar de laatst beschikbare editie, wilt u het nummer van {{date}} downloaden?",
  "msg_not_on_latest_issue_edition_date": "U kijkt niet naar de laatst beschikbare editie, wil je het nummer van {{date}} van {{edition}} downloaden?",
  "msg_offline_article_graph": "Als u deze functie offline wilt inschakelen dan dient u de uitgave volledig te downloaden of sommige afbeeldingen of tekstfragmenten kunnen ontbreken.",
  "msg_offline_issues": "Selecteer een gedownloade versie te lezen",
  "msg_opening_push": "Pushmeldingen openen...",
  "msg_pending_purchases": "Aankopen in behandeling afronden: {{completed}} van {{total}}",
  "msg_reload_publication": "Automatisch de nieuwste editie downloaden?",
  "msg_restore_default_settings": "Wilt u de standaard app-instellingen herstellen?",
  "msg_rss_new_articles_available": "{{count}} nieuwe artikelen zijn beschikbaar",
  "msg_rss_no_new_articles_available": "U bent up-to-date",
  "msg_rss_one_new_article_available": "1 nieuw artikel is beschikbaar",
  "msg_rss_reload_database": "Nieuwe database gedownload",
  "msg_rss_update_error": "Fout tijdens de update, controleer uw internetverbinding en probeer opnieuw",
  "msg_search_empty": "Niets werd doorzocht",
  "msg_search_lite": "Bekijk resultaten op pagina",
  "msg_search_not_found": "Geen artikel gevonden met {{text}}",
  "msg_sent": "Verstuurd",
  "msg_share_unmanaged": "Optie om te delen onbeheerd",
  "msg_tts_error": "Er treedt een fout op, later proberen!",
  "msg_tts_no_volume": "Verhoog volume naar luisterende tekst",
  "msg_tts_unsupported": "Niet-ondersteunde taal, probeer de standaardvoice te gebruiken of controleer of er een aangepast taalpakket bestaat!",
  "my_home_categories_selected": "{{categories}} categorieën geselcteerd voor een totaal aantal van {{articles}} artikelen",
  "my_location": "Gebruik mijn locatie",
  "network": "Netwerk",
  "none": "Geen",
  "normal": "Normaal",
  "permission_storage_message": "{{appName}} toestemming voor opslag nodig",
  "permission_title": "{{appName}} toestemming",
  "pj_from_page": "van pagina",
  "pj_to_page": "naar pagina",
  "pj_continue_to_page": "Ga verder naar pagina",
  "pj_continue_to_page_parent": "Pagina",
  "powered_by": "Powered by TECNAVIA",
  "powered_by_who": "Mogelijk gemaakt door {{who}}",
  "push_notification": "Pushmelding",
  "reader_app_text": "Alle accounts of aankopen die aangemaakt of gedaan zijn buiten deze app worden beheerd door de ontwikkelaar '{{developerName}}'. Je App Store-account, bewaarde betaalmethode en andere gerelateerde diensten, zoals abonnementsbeheer en restitutieverzoeken zijn niet beschikbaar. Apple is niet verantwoordelijk voor de privacy of beveiliging van transacties met deze ontwikkelaar.",
  "reader_app_title": "Je staat op het punt om de app te verlaten en naar een externe website te gaan. Je hebt geen transacties meer met Apple.",
  "retry": "Opnieuw",
  "salary": "Salaris: {{salary}}",
  "save_search": "Zoekopdracht opslaan",
  "saved_searches": "Bewaarde Zoekopdrachten",
  "search_term": "Zoekterm",
  "select_after_date": "Kies na datum",
  "select_my_home_categories": "Kies uit onderstaande lijst uw favoriete categorieën en personaliseer {{category}}",
  "selected_categories": "Geselecteerde categorieën",
  "selected_time_range": "Geselecteerd datumbereik",
  "settings": "Instellingen",
  "settings_allow_font_scaling": "Schalen van lettertypen toestaan",
  "settings_startup_epaper": "E-Edition",
  "settings_startup_rss": "Live Nieuws",
  "settings_startup_choose": "Kies elke keer",
  "show": "SHOW",
  "sort_by_date": "Sorteer op datum:",
  "sort_by_name": "Sorteer op A-Z",
  "sort_by_name_reverse": "Sorteer op Z-A",
  "sort_by_popularity": "Sorteren op populariteit",
  "sort_date_disabled": "Sorteren op datum uitschakelen",
  "start_with": "Begin met",
  "str_custom": "Custom",
  "str_default_language": "Keer terug naar de oorspronkelijke taal",
  "str_from": "Vanaf",
  "str_limit_label": "Max opgeslagen edities: {{days}}",
  "str_next_week": "Volgende week",
  "str_page": "Pagina",
  "str_search": "Zoeken",
  "str_search_results": "{{text}} - {{count}} resultaten",
  "str_special_sections": "Speciale secties",
  "str_this_week": "Deze Week",
  "str_this_weekend": "Dit weekend",
  "str_time_range": "Datumbereik",
  "str_title": "Titel",
  "str_to": "Tot",
  "str_today": "Vandaag",
  "str_tomorrow": "Morgen",
  "str_translating_article": "Artikel vertalen...",
  "system_error": "Er is een fout opgetreden",
  "title_bottom_sheet": "Acties",
  "title_offline": "Geen internet verbinding",
  "toggle": "WISSELEN",
  "toggle_layout": "Layout ",
  "toggle_list": "Van lijst wisselen",
  "toggle_map": "Van map wisselen",
  "total_events": "Evenementen: {{total}}",
  "total_favorites": "Favorieten: {{total}}",
  "total_jobs": "Vacatures: {{total}}",
  "total_searches": "Zoekopdrachten: {{total}}",
  "tutorial": "Handleiding",
  "unknown_salary": " Salaris onbekend",
  "unsave_search": "Opgeslagen zoekopdracht verwijderen",
  "version": "Versie",
  "vertical_job_location_hint": "Kies een locatie",
  "vertical_job_text_hint": "Voer een trefwoord in om te zoeken",
  "offline_download_warning": "Deze uitgave is niet volledig gedownload. Sommige delen van de pagina's kunnen derhalve onscherp getoond worden.",
  "user_tip_download_title": "Gebruikerstip",
  "user_tip_download": "Gebruikerstip: Indien u alle edities automatisch wilt downloaden om offline te kunnen bekijken, druk dan op de knop 'Meer' -> 'Instellingen' -> Selecteer 'Wifi mode' als netwerkmodus",
  "offline_download_dialog": "Wilt u de volledige uitgave downloaden om offline te kunnen lezen?",
  "mobile_network_warning": "U bent verbonden met een mobiel netwerk in plaats van WiFi",
  "msg_operation_completed": "Bewerking voltooid",
  "msg_ok_delete_db": "Alle opgeslagen edities zijn verwijderd",
  "msg_download_rss": "Nieuwe artikelen downloaden...",
  "settings_translate": "Vertaal artikelen naar",
  "settings_themes": "Thema",
  "settings_font_size": "Lettertypegrootte",
  "settings_graph_size": "Zoomniveau",
  "settings_number_stored_editions": "Max opgeslagen edities",
  "settings_restart_from_latest": "Herstart van de laatste editie beschikbaar (min)",
  "settings_article_mode": "Artikelmodus",
  "settings_article_mode_all": "Toon alles",
  "settings_article_mode_text_and_graphics": "Toon artikelen en afbeeldingen",
  "settings_article_mode_only_text": "Alleen artikelen weergeven",
  "settings_restore_defaults": "Standaard instellingen terugzetten",
  "settings_clear_storage": "Klar lagring",
  "settings_back_to_classic": "Keer terug naar de klassieke editie",
  "settings_two_fingers_tap_to_article": "Gebruik de twee vinger tap om een artikel te openen in tekstmodus",
  "settings_single_tap_to_zoom": "Gebruik de enkele tap om in te zoomen",
  "settings_favorite_edition": "Kies je favoriete editie",
  "settings_favorite_edition_default_label": "Laatste editie beschikbaar",
  "reset": "RESET",
  "open": "OPEN",
  "settings_enable_column_view": "Weergave van artikelen met meerdere kolommen inschakelen",
  "settings_navigation_arrows": "Navigatiepijlen",
  "settings_navigation_arrows_always": "altijd aanwezig",
  "settings_navigation_arrows_disapper": "verdwijnen tijdens het lezen",
  "settings_navigation_arrows_never": "nooit aanwezig",
  "general": "App instellingen",
  "settings_translate_original": "Originele taal",
  "advance": "{{label}} | Geavanceerde instellingen",
  "send": "VERSTUREN",
  "btn_feedback": "Feedback",
  "return": "OPBRENGST",
  "settings_article_highlight": "Houd het huidige artikel gemarkeerd wanneer de artikelmodus is geopend",
  "write": "SCHRIJVEN",
  "btn_continue": "Ga door",
  "btn_go_back": "Ga terug",
  "btn_go_next": "Ga volgende",
  "btn_go_up": "Vorig niveau",
  "action_go_to_settings": "Ga naar Instellingen",
  "btn_reload": "Herladen",
  "btn_tts": "Schakel tekst naar spraak",
  "btn_close_accessibility": "Toegankelijkheidsmodus sluiten",
  "err_module_unavailable": "{{module}} niet beschikbaar in deze app",
  "force_crash": "Forceer crash",
  "hint_my_home_screen_config": "Om {{label}} te personaliseren",
  "hint_two_fingers_tap": "Om een ​​artikel te lezen, tikt u met twee vingers op het artikelgebied",
  "hint_restart": "De applicatie zal opnieuw opstarten om nieuwe configuraties te laden...",
  "hint_update_ui": "De gebruikersinterface wordt bijgewerkt om nieuwe instellingen te laden, mogelijk ziet u een flikkering...",
  "msg_access_reserved": "Toegang voorbehouden aan abonnees",
  "msg_already_subscriber": "Ben je al abonnee? Log in",
  "msg_continue_to_read": "Abonneer je op {{paper}}",
  "theme": "Thema",
  "settings_zoom_level": "Zoomniveau",
  "settings_zoom_level_large": "Groot",
  "settings_zoom_level_larger": "groter",
  "settings_zoom_level_normal": "normaal",
  "restart": "Herstarten",
  "str_no_categories": "geen categorieën",
  "msg_login_overlay_title": "Om verder te lezen",
  "voice_back": "terug",
  "voice_what": "wat",
  "voice_next": "volgende",
  "voice_next_page": "volgende pagina",
  "voice_previous": "vorige",
  "voice_previous_page": "vorige pagina",
  "voice_stop": "stop",
  "voice_read": "lezen",
  "voice_close": "close",
  "voice_up": "up",
  "voice_down": "down",
  "voice_select": "select",
  "msg_max_share": "Je hebt de dagelijkse limiet voor delen voor deze editie bereikt",
  "accessibility": "Toegankelijkheid",
  "msg_simulate_accessibility_title": "Toegankelijkheidsmodus inschakelen",
  "msg_screenshots_disabled": "Schermafbeeldingen zijn niet toegestaan ​​in deze app",
  "settings_tab_index_mode": "Schakel tabbladindeling in indexmodus in",
  "settings_enable_push_notifications": "Schakel pushmeldingen in",
  "settings_manage_privacy_preferences": "Beheer privacyvoorkeuren",
  "theme_auto": "Automatisch licht/donker",
  "theme_light": "Licht",
  "theme_dark": "Donker",
  "str_sort_by": "Sorteer op",
  "str_relevance": "Relevantie",
  "btn_from": "Van",
  "btn_to": "Naar",
  "str_date": "Datum",
  "srt_order": "Volgorde",
  "str_byline": "Naamregel",
  "str_descending": "Aflopend",
  "str_ascending": "Oplopend",
  "str_categories": "Categorieën",
  "str_select": "Selecteer...",
  "str_advertisement": "Advertentie",
  "iap_go_to_subscriptions": "Ga naar abonnement",
  "iap_multiple_subscriptions": "Meerdere abonnementen",
  "iap_multiple_subscriptions_message": "We hebben vastgesteld dat u meerdere actieve abonnementen heeft. Schakel de abonnementen uit die u niet nodig heeft. Wanneer een abonnement is uitgeschakeld, wordt het terugbetaald.{{subscriptions}}",
  "iap_multiple_active_subscriptions_message": "U heeft al een actief abonnement, maar wilt u toch een nieuw abonnement aanschaffen? {{subscriptions}}"
}
;
},1983,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "action_go_to_category": "Acción ir a {{anchor}}",
  "action_open_epaper": "Abrir epaper",
  "action_open_gallery": "Acción abrir galería",
  "action_open_link": "Acción abrir el link",
  "action_remove_from_favorites": "Eliminar de favoritos",
  "action_save_for_later": "Salvar para despuès",
  "action_share": "Acciòn compartir",
  "action_unknown": "Acciòn desconocida",
  "alert_message": "Estàs seguro?",
  "all": "Todo",
  "all_events": "Todos los eventos",
  "all_jobs": "Todos los trabajos",
  "animation": "Animaciòn",
  "animation_action": "Haga clic en el botón para cambiar la animación",
  "animation_change": "Cambio de animación",
  "animation_changed": "Animación cambiada",
  "article_count": "{{count}} artículos",
  "btn_accessibility": "Modo de accesibilidad",
  "btn_advance_filters": "Filtros de avance",
  "btn_archive": "Archivo",
  "btn_ask_later": "Preguntar mas tarde",
  "btn_back": "Volver",
  "btn_cancel": "Cancelar",
  "btn_close": "Cierra",
  "btn_confirm": "Confirmar",
  "btn_contact": "Contacto",
  "btn_disable_log_file": "enviar registro",
  "btn_do_not_show": "No mostrar de nuevo",
  "btn_download": "Descargar",
  "btn_editions": "Ediciones",
  "btn_enable_log_file": "Habilitar registro",
  "btn_feed": "Noticias en vivo",
  "btn_fit_page": "Ajuste",
  "btn_g_book": "Navegar",
  "btn_go_to_news": "Ir a noticias",
  "btn_help": "Ayuda",
  "btn_index": "Índice",
  "btn_link": "Link.",
  "btn_more": "Más",
  "btn_no": "No",
  "btn_ok": "OK",
  "btn_publications": "Publicaciones",
  "btn_read": "Leer",
  "btn_reset": "Restablecer",
  "btn_search": "Busca",
  "btn_set_as_default": "Establecer como predeterminado",
  "btn_settings": "Configuración",
  "btn_skip": "Omitir",
  "btn_special_section": "Especial",
  "btn_store": "Almacenar",
  "btn_swipe": "Navegar",
  "btn_thumbnail": "Páginas",
  "btn_yes": "Sí",
  "cache_size": "Tamaño del caché",
  "card": "Card",
  "categories": "Categorías",
  "change": "Cambiar",
  "change_location_hint": "Cambiar localización",
  "change_radius": "Seleccionar radio",
  "clear": "Limpiar",
  "clear_cache": "Limpiar cache",
  "clear_favorites": "Borrar favoritos",
  "confirm": "Confirmar",
  "connection_0": "Modo móvil",
  "connection_0_description": "Lectura textual del periódico. Uso limitado de ancho de banda.",
  "connection_1": "Modo 3G",
  "connection_1_description": "Lectura gráfica/textual del periódico. Descarga limitada por el modo móvil.",
  "connection_2": "Modo wifi",
  "connection_2_description": "Lectura gráfica/textual del periódico. Descargar también elementos gráficos",
  "counter": "{{current}} de {{total}}",
  "custom_location": "Ubicación Personalizada",
  "database": "Base de datos",
  "database_deleted": "Base de datos eliminada",
  "default_search": "Búsqueda predeterminada",
  "dialog_location_message": "Usamos su ubicación para mostrar dónde se encuentra en el mapa",
  "dialog_location_title": "Necesitamos acceder a tu ubicación",
  "disabled": "Deshabilitar",
  "enabled": "Habilitar",
  "err_change_animation": "Error al cambiar la animación",
  "err_clear_cache": "Error al borrar la caché",
  "err_clear_database": "Error de borrar de la base de datos",
  "err_clear_favorites": "Error para borrar favoritos",
  "err_download_edition": "Ha ocurrido un error durante la descarga de la edición",
  "err_download_edition_db": "Ha ocurrido un error durante la descarga de la base de datos de la edición",
  "err_download_psetup": "Error durante la descarga de configuraciones base",
  "err_internet_connection": "No se pudo conectar al servidor de la aplicación. Por favor, asegúrese de que tiene conexión a internet e inténtelo de nuevo.",
  "err_max_min": "Filtro inválido, min debe ser menor que max ",
  "err_offline": "No disponible sin conexión",
  "err_retrieve_cache": "Error al recuperar la caché",
  "err_retrieve_favorites": "Error al recuperar favoritos",
  "err_translation": "Traducción no disponible",
  "err_translation_offline": "Traducción no disponible sin conexión",
  "error_on_load_more": "Error al intentar cargar más artículos",
  "fast": "Rápido",
  "favorites": "Favoritos",
  "feedback_email_feedback": "tapuserfeedback+android@tecnavia.com",
  "feedback_msg_ask_for_feedback": "¿Hay algo que podamos hacer para ayudar?",
  "feedback_title_request_feedback": "Disfruta en su tiempo con la Aplicación?",
  "feedback_title_request_review_feedback": "Me alegro de escuchar! Te gustaría dejar un comentario o calificación?",
  "filter_max": "Max",
  "filter_min": "Min",
  "filter_text": "Escribe el texto aquí",
  "font_extra_large": "Fuente extra grande",
  "font_extra_small": "Fuente super pequeña",
  "font_large": "Fuente grande",
  "font_normal": "Fuente normal",
  "font_scale": "Escala de fuente",
  "font_small": "Pequeño",
  "from_most_recent": "De los más recientes",
  "from_oldest": "De los mas antiguos",
  "gmc_default_text": "Una nueva edición está disponible. Pulsa aquí para leer!",
  "gmc_message_text": "El {{issue}} periódico ya está disponible. Pulsa aquí para leer!",
  "grid": "Cuadrícula",
  "home": "Casa",
  "label_exit_accessibility_mode": "Salir del modo de accesibilidad",
  "label_open_browser": "Abrir en el navegador",
  "last_search": "Última búsqueda",
  "layout": "Diseño",
  "learn_more": "Más información",
  "list": "Lista",
  "loading": "Cargando...",
  "local_events": "Sucesos locales",
  "max_salary": "Salario màximo",
  "min_salary": "Salario mìnimo",
  "msg_available_next_startup": "Esta configuración estará disponible la próxima puesta en marcha",
  "msg_clear_cache": "Borrar cache ",
  "msg_clear_favorites": "Borrar favoritos",
  "msg_copy_to_clipboard": "Copiar al portapapeles",
  "msg_database_deleted": "Base de datos eliminada",
  "msg_delete_db": "¿Borrar el database local?",
  "msg_delete_localstorage": "¿Borrar las configuraciones personales?",
  "msg_delete_title": "Quieres",
  "msg_download_edition": "Descargando edición...",
  "msg_download_retry": "Intento {{retry}} de {{maxRetries}}...",
  "msg_empty_category": "En la actualidad, no hay artículos asignados a {{category}}! Pulse para actualizar",
  "msg_empty_favorites": "En la actualidad, no hay favoritos!",
  "msg_empty_gallery": "La galería está vacía",
  "msg_empty_list": "En la actualidad, no existen elementos! Toque para cambiar algunos filtros",
  "msg_empty_searches": "Actualmente no hay búsquedas guardadas",
  "msg_error_category": "Algo salió mal, intenta volver a abrir la categoría o eliminar la base de datos de la configuración. Toque para actualizar",
  "msg_error_list": "Algo salió mal, intenta cambiar algunos filtros",
  "msg_error_newspaper": "El periódico está vacío",
  "msg_event_over": "el evento ha terminado.",
  "msg_exit_application": "Salir de la aplicación?",
  "msg_failed": "Falló",
  "msg_font_scaling": "¿Quieres mantener esta configuración dentro de la aplicación?",
  "msg_font_scaling_title": "Has configurado un tamaño de texto personalizado en tu dispositivo",
  "msg_list_no_articles_available_for_category": "Esto no es un error. En la actualidad, no hay artículos asignados a esta categoría!",
  "msg_list_no_content": "Ningún contenido actual",
  "msg_loading_comments": "Cargando Comentarios...",
  "msg_loading_more": "Cargando...",
  "msg_new_issue_available_title_edition": "Actualmente estás leyendo {{edition}}",
  "msg_new_issue_available_title_edition_date": "Actualmente estás leyendo la edición del {{date}} de {{edition}}",
  "msg_new_issue_available": "Ya está disponible una nueva edición, ¿te gustaría cargarla?",
  "msg_new_issue_available_edition": "Ya está disponible una nueva edición de {{edition}}, ¿te gustaría cargarla?",
  "msg_new_issue_available_date": "Ya está disponible la edición del {{date}} de {{edition}}, ¿te gustaría cargarla?",
  "msg_new_issue_available_edition_date": "La edición del {{date}} de {{edition}} ya está disponible, ¿te gustaría cargarla?",
  "msg_not_on_latest_issue": "No estás viendo la última edición disponible, ¿te gustaría cargarla ahora?",
  "msg_not_on_latest_issue_edition": "No estás viendo la última edición disponible de {{edition}}, ¿te gustaría cargarla ahora?",
  "msg_not_on_latest_issue_date": "No estás viendo la última edición disponible, ¿te gustaría cargar la edición del {{date}} ahora?",
  "msg_not_on_latest_issue_edition_date": "No estás viendo la última edición disponible, ¿te gustaría cargar la edición del {{date}} de {{edition}} ahora?",
  "msg_offline_article_graph": "Para utilizar esta función en modo sin conexión debe haber descargado completamente la edición o algunas imágenes o partes de texto podrìan estar ausentes.",
  "msg_offline_issues": "Elija a leer una edición descargado",
  "msg_opening_push": "Abrir notificaciones push...",
  "msg_pending_purchases": "Completando compras pendientes: {{completed}} de {{total}}",
  "msg_reload_publication": "Descargar automáticamente la última edición",
  "msg_restore_default_settings": "¿Quieres restaurar la configuración predeterminada de la aplicación?",
  "msg_rss_new_articles_available": "{{count}} los nuevos artículos están disponibles",
  "msg_rss_no_new_articles_available": "Usted está para arriba-a-fecha de",
  "msg_rss_one_new_article_available": "1 nuevo artículo está disponible",
  "msg_rss_reload_database": "Nueva base de datos descargados",
  "msg_rss_update_error": "Error durante la actualización, compruebe su conexión a internet e inténtelo de nuevo",
  "msg_search_empty": "Nada fue buscado",
  "msg_search_lite": "Ver resultados en la página",
  "msg_search_not_found": "No se ha encontrado ningún artículo con {{text}}",
  "msg_sent": "expedido",
  "msg_share_unmanaged": "Opción de acciones no gestionada",
  "msg_tts_error": "Ocurre un error, vuelva a intentarlo más tarde",
  "msg_tts_no_volume": "Aumenta el volumen para escuchar el articulo",
  "msg_tts_unsupported": "Idioma no compatible, intente usar la voz predeterminada o compruebe si existe un paquete de idioma personalizado",
  "my_home_categories_selected": "{{categories}} categorías seleccionadas para un total de {{articles}} artículos",
  "my_location": "Usar mi ubicación",
  "network": "Red",
  "none": "Ninguna",
  "normal": "Normal",
  "offline_download_warning": "Esta edición no se descarga completamente. Algunas partes de las páginas pueden aparecer borrosas",
  "permission_storage_message": "{{appName}} necesidades de almacenamiento de permiso",
  "permission_title": "{{appName}} permiso",
  "pj_from_page": "de la página",
  "pj_to_page": "a la página",
  "pj_continue_to_page": "Continuar a la página",
  "pj_continue_to_page_parent": "Página",
  "powered_by": "Desarrollado por TECNAVIA",
  "powered_by_who": "Powered by {{who}}",
  "push_notification": "Notificación de inserción",
  "reader_app_text": "Las cuentas o compras hechas fuera de esta app serán administradas por el desarrollador “{{developerName}}”. Tu cuenta de App Store, el método de pago guardado y las prestaciones relacionadas con esta cuenta, tales como la administración de suscripciones y los solicitudes de reembolso, no estarán disponibles. Apple no es responsable de la privacidad ni la seguridad de las transacciones realizadas con este desarrollador.",
  "reader_app_title": "Estás a punto de salir de la app y entrar en un sitio web externo. Tus transacciones ya no serán con Apple.",
  "salary": "Salario: {{salary}}",
  "save_search": "Salvar bùsqueda",
  "saved_searches": "Búsquedas guardadas",
  "search_term": "Término de la búsqueda",
  "select_after_date": "Seleccione después de la fecha de",
  "select_my_home_categories": "Elija su favorito categorías de la lista a continuación para personalizar tu {{category}}",
  "selected_categories": "Categorías seleccionadas",
  "selected_time_range": "Rango de fechas seleccionado",
  "settings": "Ajustes",
  "settings_allow_font_scaling": "Permitir escala de fuente",
  "settings_startup_epaper": "E-Edition",
  "settings_startup_rss": "Noticias en vivo",
  "settings_startup_choose": "Elige cada vez",
  "show": "SHOW",
  "sort_by_date": "Ordenar por zona horaria",
  "sort_by_name": "Ordenar por AZ",
  "sort_by_name_reverse": "Ordenar por ZA",
  "sort_by_popularity": "Ordenar por popularidad",
  "sort_date_disabled": "Ordenar en fecha deshabilitar",
  "start_with": "Empezar con",
  "str_custom": "Personalizado",
  "str_default_language": "Volver al idioma original",
  "str_from": "De",
  "str_limit_label": "Número máximo de ediciones almacenadas: {{days}}",
  "str_next_week": "La próxima semana",
  "str_page": "Página",
  "str_search": "Buscar",
  "str_search_results": "{{text}} - {{count}} resultados",
  "str_special_sections": "Secciones especiales",
  "str_this_week": "Esta Semana",
  "str_this_weekend": "Este fin de semana",
  "str_time_range": "Rango de fechas",
  "str_title": "Título",
  "str_to": "A",
  "str_today": "Hoy",
  "str_tomorrow": "Mañana",
  "str_translating_article": "Traduciendo artículo...",
  "system_error": "Ocurrió un error",
  "theme": "Tema",
  "title_bottom_sheet": "Acciones",
  "title_offline": "Sin conexión a Internet",
  "toggle": "PALANCA",
  "toggle_layout": "Cambiar diseño",
  "toggle_list": "Palanca lista",
  "toggle_map": "Mapa de palanca",
  "total_events": "Eventos: {{total}}",
  "total_favorites": "Favorites: {{total}}",
  "total_jobs": "Trabajos: {{total}}",
  "total_searches": "Searches: {{total}}",
  "tutorial": "Tutorial",
  "unknown_salary": "Sueldo desconocido",
  "unsave_search": "Eliminar búsqueda guardada",
  "version": "Versiòn",
  "vertical_job_location_hint": "Selecciona una ubicación",
  "vertical_job_text_hint": "Introduzca una palabra clave para la búsqueda",
  "user_tip_download_title": "Consejo",
  "user_tip_download": "Si desea descargar todas las ediciones para poder leerla sin conexión automáticamente pulse el botón 'Más' -> 'Configuración' -> Seleccione 'Modo wifi' como modo de conexión",
  "offline_download_dialog": "¿Quieres descargar toda la edición para poder leerla sin conexión?",
  "mobile_network_warning": "Estás conectado a una red móvil en lugar de WiFi",
  "msg_operation_completed": "Operación completada",
  "msg_ok_delete_db": "Se han eliminado todas las ediciones guardadas.",
  "msg_download_rss": "Descargando nuevos artículos...",
  "settings_translate": "Traducir artículos a",
  "settings_themes": "Tema",
  "settings_font_size": "Tamaño de letra",
  "settings_graph_size": "Nivel de zoom",
  "settings_number_stored_editions": "Max almacenados ediciones",
  "settings_restart_from_latest": "Reiniciar de la edición disponible más reciente (min)",
  "settings_article_mode": "Modo articulo",
  "settings_article_mode_all": "Mostrar todo",
  "settings_article_mode_text_and_graphics": "Mostrar articulos textuales y graficos",
  "settings_article_mode_only_text": "Mostrar solo los articulos textuales",
  "settings_restore_defaults": "Restaurar la configuración predeterminada",
  "settings_clear_storage": "Almacenaje vacío",
  "settings_back_to_classic": "Vuelve a la versión de la Edición Digital anterior",
  "settings_two_fingers_tap_to_article": "Use dos dedos para abrir el modo de artículo",
  "settings_single_tap_to_zoom": "Use un solo toque para hacer zoom",
  "settings_favorite_edition": "Elige tu edición favorita",
  "settings_favorite_edition_default_label": "Última edición disponible",
  "reset": "REINICIAR",
  "open": "ABIERTO",
  "settings_enable_column_view": "Habilitar modo de lectura en columnas",
  "settings_navigation_arrows": "Flechas de navegación",
  "settings_navigation_arrows_always": "siempre presentes",
  "settings_navigation_arrows_disapper": "desaparecen al leer",
  "settings_navigation_arrows_never": "nunca presentes",
  "general": "Ajustes de Aplicacion",
  "settings_translate_original": "Idioma original",
  "advance": "{{label}} | Configuraciónes avanzadas",
  "send": "ENVIAR",
  "btn_feedback": "Feedback",
  "return": "REGRESO",
  "settings_article_highlight": "Mantener el artículo resaltado cuando el modo artículo está abierto",
  "write": "ESCRIBIR",
  "btn_continue": "Continuar",
  "btn_go_back": "Regresa",
  "btn_go_next": "Siguiente",
  "btn_go_up": "Nivel anterior",
  "action_go_to_settings": "Ir a configuración",
  "btn_reload": "Recargar",
  "btn_tts": "Alternar texto a voz",
  "btn_close_accessibility": "Cerrar el modo de accesibilidad",
  "err_module_unavailable": "{{module}} no está disponible en esta aplicación",
  "force_crash": "Forzar bloqueo",
  "hint_my_home_screen_config": "Para personalizar {{label}}",
  "hint_two_fingers_tap": "Para leer un artículo, toque el área del artículo con dos dedos",
  "msg_access_reserved": "Acceso reservado a suscriptores",
  "msg_already_subscriber": "¿Ya eres suscriptor? Iniciar sesión",
  "msg_continue_to_read": "Suscríbete a {{paper}}",
  "settings_zoom_level": "Nivel de zoom",
  "settings_zoom_level_large": "Grande",
  "settings_zoom_level_larger": "Más grande",
  "settings_zoom_level_normal": "Normal",
  "restart": "Reiniciar",
  "str_no_categories": "sin categorías",
  "msg_login_overlay_title": "Continuar leyendo",
  "msg_download_bundle": "Descargando datos de la aplicación más recientemente ...",
  "msg_download_bundle_error": "La descarga del paquete terminó con error, la aplicación intentará actualizar la fecha más tarde",
  "msg_press_restart": "Los datos se descargaron correctamente, vuelva a cargar la aplicación para aplicar los cambios",
  "voice_back": "atrás",
  "voice_what": "que",
  "voice_next": "siguiente",
  "voice_next_page": "siguiente página",
  "voice_previous": "anterior",
  "voice_previous_page": "página anterior",
  "voice_stop": "para",
  "voice_read": "lee",
  "voice_close": "cierra",
  "voice_up": "arriba",
  "voice_down": "abajo",
  "voice_select": "selecciona",
  "btn_close_car_mode": "Cerrar el modo de coche",
  "btn_car_mode": "Modo coche",
  "msg_max_share": "Alcanzaste el límite de uso compartido diario para esta edición",
  "accessibility_issue_list_header": "Lista de ediciones",
  "btn_close_editions": "Cerrar lista de ediciones",
  "btn_go_back_article": "Artículo anterior",
  "btn_go_next_article": "Siguiente artículo",
  "btn_go_back_section": "Sección anterior: {{section}}",
  "btn_go_next_section": "Siguiente sección: {{section}}",
  "btn_go_up_choose_issue": "Escoger edición",
  "btn_go_up_general_index": "Ir al índice general",
  "btn_go_up_section": "Ir a la sección {{section}}",
  "selected_page": "Página seleccionada {{page}}",
  "selected_page_of_index": "Página {{page}} del índice",
  "selected_page_of_section": "Página {{page}} de la sección {{section}}",
  "msg_entering_section": "Sección de entrada {{section}}",
  "hint_restart": "La aplicación se reiniciará para cargar la nueva configuración...",
  "hint_update_ui": "La interfaz de usuario se actualizará para cargar nuevas configuraciones, podría ver un parpadeo...",
  "msg_simulate_accessibility_title": "Habilitar el modo de accesibilidad",
  "msg_simulate_accessibility": "Esta es una simulación de la aplicación cuando {{accessibilityAppName}} está activo.\n • toque dos veces para seleccionar\n • un solo toque o movimiento del dedo para leer el elemento\n • dos dedos para deslizar",
  "accessibility": "Accesibilidad",
  "msg_screenshots_disabled": "No se permiten capturas de pantalla en esta aplicación.",
  "settings_tab_index_mode": "Habilitar diseño con pestañas en modo índice",
  "settings_enable_push_notifications": "Habilitar notificaciones automáticas",
  "settings_manage_privacy_preferences": "Administrar preferencias de privacidad",
  "theme_auto": "Claro/Oscuro Automático",
  "theme_light": "Luz",
  "theme_dark": "Oscuro",
  "str_sort_by": "Ordenar por",
  "str_relevance": "Relevancia",
  "btn_from": "De",
  "btn_to": "A",
  "str_date": "Fecha",
  "srt_order": "Orden",
  "str_byline": "línea de autor",
  "str_descending": "Descendente",
  "str_ascending": "ascendente",
  "str_categories": "Categorías",
  "str_select": "Seleccionar...",
  "str_advertisement": "Anuncio",
  "iap_go_to_subscriptions": "Ir a suscripción",
  "iap_multiple_subscriptions": "Múltiples suscripciones",
  "iap_multiple_subscriptions_message": "Descubrimos que tiene varias suscripciones activas; desactive las que no necesita. Cuando una suscripción ha sido deshabilitada, se reembolsará.{{subscriptions}}",
  "iap_multiple_active_subscriptions_message": "Ya tienes una suscripción activa, ¿te gustaría comprar una nueva de todos modos? {{subscriptions}}"
}
;
},1984,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "action_go_to_category": "Du-te la {{anchor}}",
  "action_open_epaper": "Deschide epaper",
  "action_open_gallery": "Deschide galeria",
  "action_open_link": "Deschide link-ul",
  "action_remove_from_favorites": "Eliminare din favorite",
  "action_save_for_later": "Salva pentru mai târziu",
  "action_share": "Cota",
  "action_unknown": "Necunoscut",
  "alert_message": "Ești sigur?",
  "all": "Toate",
  "all_events": "Toate evenimentele",
  "all_jobs": "Toate locurile de muncă",
  "animation": "Animație",
  "animation_action": "Faceți clic pe butonul pentru a schimba animație",
  "animation_change": "Animație schimba",
  "animation_changed": "Animație schimbat",
  "article_count": "{{count}} articole",
  "btn_accessibility": "Mod accesibilitate",
  "btn_account": "Login",
  "btn_advance_filters": "Avans filtre",
  "btn_archive": "Arhivă",
  "btn_ask_later": "Întreabă-Mă Mai Târziu",
  "btn_back": "înapoi",
  "btn_cancel": "Anulați",
  "btn_close": "Aproape",
  "btn_confirm": "Confirma",
  "btn_contact": "Contact",
  "btn_disable_log_file": "Trimite LOG",
  "btn_do_not_show": "Nu Arăta din Nou",
  "btn_download": "Descarcă",
  "btn_editions": "Ediții noi",
  "btn_enable_log_file": "Permite LOG",
  "btn_feed": "Știri live",
  "btn_fit_page": "Se potrivi",
  "btn_g_book": "Răsfoiește",
  "btn_go_to_news": "Du-te la știri",
  "btn_help": "Ajutor",
  "btn_index": "Index",
  "btn_link": "Link URL",
  "btn_login": "Login",
  "btn_logout": "Logout",
  "btn_more": "Continuă",
  "btn_no": "Nu",
  "btn_ok": "OK",
  "btn_publications": "Publicații",
  "btn_read": "Citit",
  "btn_reset": "Reset",
  "btn_search": "Căutare",
  "btn_set_as_default": "Setează ca implicit",
  "btn_settings": "Setari",
  "btn_skip": "Skip",
  "btn_special_section": "Speciale",
  "btn_store": "Salva",
  "btn_swipe": "Răsfoiește",
  "btn_thumbnail": "Pagini",
  "btn_yes": "Da",
  "cache_size": "Dimensiunea memoriei Cache",
  "card": "Card",
  "categories": "Categorii",
  "change": "SCHIMBA",
  "change_location_hint": "Schimbă locația",
  "change_radius": "Selectaţi raza",
  "clear": "CLAR",
  "clear_cache": "Clear cache",
  "clear_favorites": "Clar favorite",
  "confirm": "Confirma",
  "connection_0": "Modul Roaming",
  "connection_0_description": "Ideal atunci când este disponibilă o lățime de bandă limitată. \nVersiunea textuală a ediției este descărcată, imaginile vor fi afișate la rezoluție foarte mică.",
  "connection_1": "Modul online",
  "connection_1_description": "Ideal când este conectat la internet. \nDoar paginile vizualizate sunt descărcate și disponibile pentru citire offline.",
  "connection_2": "Offline-läge:",
  "connection_2_description": "Descarcă automat întreaga ediție la pornire pentru citire offline.",
  "counter": "{{current}} {{total}}",
  "custom_location": "Judet",
  "database": "Baza de date",
  "database_deleted": "Baza de date șterse",
  "default_search": "Căutare implicită",
  "dialog_location_message": "Vom utiliza locația dvs. pentru a afișa în cazul în care vă aflați pe hartă",
  "dialog_location_title": "Avem nevoie de acces la locația dvs.",
  "disabled": "Dezactivate",
  "enabled": "Activat",
  "err_change_animation": "De eroare pentru a schimba animație",
  "err_clear_cache": "Eroare la cache clar",
  "err_clear_database": "De eroare pentru a șterge baza de date",
  "err_clear_favorites": "Eroare la favorite clare",
  "err_download_psetup": "Eroare în timpul descărcării de bază configurații",
  "err_internet_connection": "Nu se putea conecta la server de aplicații. Vă rugăm să vă asigurați că aveți conexiune la internet și încercați din nou.",
  "err_max_min": "Invalid filtru, min trebuie să fie mai mică decât max",
  "err_retrieve_cache": "De eroare pentru a prelua cache",
  "err_retrieve_favorites": "De eroare pentru a prelua favorite",
  "err_translation": "Traducerea nu este disponibilă",
  "err_translation_offline": "Traducerea nu este disponibilă offline",
  "error_on_load_more": "Eroare atunci când încearcă să-încărcare mai multe elemente",
  "fast": "Rapid",
  "favorites": "Favorite",
  "feedback_email_feedback": "tapuserfeedback+android@tecnavia.com",
  "feedback_msg_ask_for_feedback": "Există ceva ce putem face pentru a ajuta?",
  "feedback_title_request_feedback": "Te bucuri de timpul tău cu Aplicația?",
  "feedback_title_request_review_feedback": "Mă bucur să aud! Doriți să lăsați un comentariu sau evaluare?",
  "filter_max": "Max",
  "filter_min": "Min",
  "filter_text": "Scrie textul aici",
  "font_extra_large": "Foarte mare",
  "font_extra_small": "Extra mic",
  "font_large": "Mare",
  "font_normal": "Normal",
  "font_scale": "Scară Font",
  "font_small": "Mici",
  "from_most_recent": "Din cele mai recente",
  "from_oldest": "Din cele mai vechi",
  "gmc_default_text": "O nouă emisiune este disponibil. Apăsați aici pentru a citi!",
  "gmc_message_text": "{{issue}} ziar este acum disponibil. Apăsați aici pentru a citi!",
  "grid": "Grila",
  "grid_list": "grid/listă",
  "home": "Acasă",
  "label_exit_accessibility_mode": "Ieșiți din modul de accesibilitate",
  "label_open_browser": "Deschis în browser",
  "last_search": "Ultima căutare",
  "layout": "Layout",
  "learn_more": "Aflați mai multe",
  "list": "Lista",
  "loading": "Loading...",
  "local_events": "Evenimente locale:",
  "max_salary": "Max. salariu",
  "min_salary": "Min. salariu",
  "msg_available_next_startup": "Această configurație va fi disponibilă pentru lansarea următoare",
  "msg_clear_cache": "Clear cache",
  "msg_clear_favorites": "Șterge favorite",
  "msg_copy_to_clipboard": "Copiați în clipboard",
  "msg_database_deleted": "Ștergeți baza de date",
  "msg_delete_db": "Ștergeți datele bazei de date?",
  "msg_delete_localstorage": "Ștergeți setările personale?",
  "msg_delete_title": "vrei sa",
  "msg_download_edition": "Descărcând ediția...",
  "msg_download_retry": "Încercați {{retry}} din {{maxRetries}}...",
  "msg_empty_category": "În prezent, nu există articole atribuite {{category}}! Atingeți pentru a reîmprospăta",
  "msg_empty_favorites": "În prezent, nu există favorite!",
  "msg_empty_gallery": "Clic galerie este gol",
  "msg_empty_list": "În prezent, nu există elemente! Atingeți pentru a schimba unele filtre",
  "msg_empty_searches": "În prezent, nu există căutări salvate",
  "msg_error_category": "Ceva a mers prost, încercați să redeschideți categorie sau de a șterge date din setări! Atingeți pentru a reîmprospăta",
  "msg_error_list": "Ceva a mers prost, să încerce să schimbe ceva filtre",
  "msg_error_newspaper": "Ziarul este gol",
  "msg_event_over": "Evenimentul s-a încheiat.",
  "msg_exit_application": "Ieșirea din aplicație?",
  "msg_failed": "Nereușit",
  "msg_list_no_articles_available_for_category": "Acest lucru nu este o eroare. În prezent, nu există articole atribuite la această categorie!",
  "msg_list_no_content": "Nu de conținut curent",
  "msg_loading_comments": "Se încarcă comentariile...",
  "msg_loading_more": "De încărcare mai mult...",
  "msg_new_issue_available_title_edition": "În prezent citiți {{edition}}",
  "msg_new_issue_available_title_edition_date": "În prezent, citiți numărul din {{edition}} din {{date}}",
  "msg_new_issue_available": "O nouă ediție este acum disponibilă, doriți să o descărcați?",
  "msg_new_issue_available_edition": "O nouă ediție a {{edition}} este acum disponibilă. Doriți să-l încărcați?",
  "msg_new_issue_available_date": "Numărul din {{date}} este acum disponibil. Doriți să-l încărcați?",
  "msg_new_issue_available_edition_date": "Numărul {{edition}} din {{date}} este acum disponibil. Doriți să-l încărcați?",
  "msg_not_on_latest_issue": "Nu vă uitați la cea mai recentă ediție disponibilă. Doriți să îl încărcați acum?",
  "msg_not_on_latest_issue_edition": "Nu vedeți cea mai recentă ediție disponibilă a {{edition}}. Doriți să îl încărcați acum?",
  "msg_not_on_latest_issue_date": "Nu vă uitați la cea mai recentă ediție disponibilă. Doriți să descărcați numărul din {{date}}?",
  "msg_not_on_latest_issue_edition_date": "Nu vă uitați la cea mai recentă ediție disponibilă. Doriți să descărcați numărul {{edition}} din {{date}}?",
  "msg_offline_article_graph": "Pentru a utiliza această caracteristică offline, trebuie să fi descărcat ediția completă sau unele imagini pot lipsi.",
  "msg_offline_issues": "Selectați o ediție descărcată pentru a citi",
  "msg_opening_push": "Deschiderea notificărilor push...",
  "msg_pending_purchases": "Finalizarea achizițiilor în așteptare: {{completed}} din {{total}}",
  "msg_reload_publication": "descărcați automat ultima ediție?",
  "msg_restore_default_settings": "Doriți să restaurați setările implicite ale aplicației?",
  "msg_rss_new_articles_available": "{{count}} noi articole sunt disponibile",
  "msg_rss_no_new_articles_available": "Vă sunt de până-la-data de",
  "msg_rss_one_new_article_available": "1 articol nou este disponibil",
  "msg_rss_reload_database": "Noua bază de date descărcate",
  "msg_rss_update_error": "Eroare in timpul update-ului, verificați conexiunea la internet și încercați din nou",
  "msg_search_empty": "Nu s-a căutat nimic",
  "msg_search_lite": "Vizualizați rezultatele pe pagina",
  "msg_search_not_found": "Nu a fost găsit niciun articol cu {{text}}",
  "msg_sent": "Trimis",
  "msg_share_unmanaged": "Opțiune pe acțiuni unmanaged",
  "msg_tts_error": "Se produce o eroare, Reîncercați mai târziu!",
  "msg_tts_no_volume": "Măriți volumul la textul ascuns",
  "msg_tts_unsupported": "Limba neacceptată, încercați să folosiți vocea prestabilită sau verificați dacă există un pachet de limbaj personalizat!",
  "my_home_categories_selected": "{{categories}} categoriile selectate pentru un total de {{articles}} articole",
  "my_location": "Utilizați locația mea",
  "network": "Reţea",
  "none": "Nici unul",
  "normal": "Normal",
  "permission_storage_message": "{{appName}} are nevoie de permisiunea de stocare",
  "permission_title": "{{appName}} permisiunea",
  "pj_from_page": "din pagina",
  "pj_to_page": "la pagina",
  "pj_continue_to_page": "Continuați cu pagina",
  "pj_continue_to_page_parent": "Pagina",
  "powered_by": "Traduceți descrierea înapoi în engleză",
  "powered_by_who": "Powered by {{who}}",
  "push_notification": "Notificare Push",
  "reader_app_text": "Orice conturi sau achiziții efectuate în afara acestei aplicații vor fi gestionate de dezvoltatorul {{developerName}}. Contul dvs. App Store, metoda de plată înregistrată și alte funcționalități asociate, precum gestionarea abonamentelor și solicitările de rambursare nu vor fi disponibile. Apple nu este responsabil pentru confidențialitatea sau securitatea tranzacțiilor efectuate cu acest dezvoltator.",
  "reader_app_title": "Sunteți pe punctul de a părăsi aplicația și a accesa un site extern. Nu veți mai tranzacționa cu Apple.",
  "salary": "Salariu:  {{salary}}",
  "save_search": "Salva de căutare",
  "saved_searches": "Căutări Salvate",
  "search_term": "Caută termenul",
  "select_after_date": "Selectați după data",
  "select_my_home_categories": "Alege categoriile tale preferate din lista de mai jos pentru a personaliza {{category}}",
  "selected_categories": "Categorii selectate",
  "selected_time_range": "Interval de date selectat",
  "settings": "Setări",
  "settings_allow_font_scaling": "Permite scalarea fonturilor",
  "settings_startup_epaper": "E-Edition",
  "settings_startup_rss": "Live News",
  "settings_startup_choose": "Alege de fiecare dată",
  "show": "SHOW",
  "sort_by_date": "Sortare după dată",
  "sort_by_name": "Sortează după A-Z",
  "sort_by_name_reverse": "Sortează după Z-A",
  "sort_by_popularity": "Sortare după Popularitate",
  "sort_date_disabled": "Sortare pe data dezactiva",
  "start_with": "Începe Cu",
  "str_custom": "Personalizat",
  "str_default_language": "Revenire la limba originală",
  "str_from": "De la",
  "str_limit_label": "Număr de ediții stocate: {{days}}",
  "str_next_week": "saptamana viitoare",
  "str_page": "Pagina",
  "str_search": "Căutare",
  "str_search_results": "{{text}} - {{count}} rezultate",
  "str_special_sections": "Secțiuni speciale",
  "str_this_week": "Săptămâna aceasta",
  "str_this_weekend": "Weekendul ăsta",
  "str_time_range": "Interval dată",
  "str_title": "Titlu",
  "str_to": "Catre",
  "str_today": "Astăzi",
  "str_tomorrow": "Mâine",
  "str_translating_article": "Traducerea articolului...",
  "system_error": "A apărut o eroare",
  "title_bottom_sheet": "Acțiunile",
  "title_offline": "Fără conexiune internet",
  "toggle": "COMUTARE",
  "toggle_layout": "Comutare aspect",
  "toggle_list": "Comuta lista",
  "toggle_map": "Comutare hartă",
  "total_events": "Evenimente: {{total}}",
  "total_favorites": "Favorite:  {{total}}",
  "total_jobs": "Locuri de munca:  {{total}}",
  "total_searches": "Căutări:  {{total}}",
  "tutorial": "Tutorial",
  "unknown_salary": "Necunoscut Salariu",
  "unsave_search": "Elimina salvat de căutare",
  "version": "Versiune",
  "vertical_job_location_hint": "Selectați o locație",
  "vertical_job_text_hint": "Introduceți un cuvânt cheie pentru căutare",
  "mobile_network_warning": "Sunteți conectat la o rețea mobilă în loc de WiFi",
  "msg_operation_completed": "Operațiunea finalizată",
  "msg_ok_delete_db": "Toate edițiile salvate au fost șterse",
  "msg_download_rss": "Se descarcă articole noi...",
  "settings_translate": "Traduceți articole în",
  "settings_themes": "Temă",
  "settings_graph_size": "Nivel de zoom",
  "settings_number_stored_editions": "Numărul de ediții de stocat",
  "settings_restart_from_latest": "Reporniți de la cea mai recentă ediție (min)",
  "settings_article_mode": "Mod articol",
  "settings_article_mode_all": "Arata tot",
  "settings_article_mode_text_and_graphics": "Afișați articole și grafică",
  "settings_article_mode_only_text": "Afișați numai articole",
  "settings_restore_defaults": "Restabilește setările implicite",
  "settings_clear_storage": "Spațiu de depozitare liber",
  "settings_back_to_classic": "Reveniți la ediția clasică",
  "settings_two_fingers_tap_to_article": "Atingeți cu două degete pentru a deschide modul articol",
  "settings_single_tap_to_zoom": "Folosiți o singură atingere pentru a mări",
  "settings_favorite_edition": "Alegeți ediția preferată",
  "settings_favorite_edition_default_label": "Ultima ediție disponibilă",
  "reset": "RESET",
  "open": "DESCHIS",
  "settings_enable_column_view": "Activați vizualizarea pe mai multe coloane a articolelor",
  "settings_navigation_arrows": "Săgeți de navigare",
  "settings_navigation_arrows_always": "mereu prezent",
  "settings_navigation_arrows_disapper": "dispar la citire",
  "settings_navigation_arrows_never": "niciodată prezent",
  "general": "Setările aplicației",
  "settings_translate_original": "Limba originală",
  "advance": "{{label}} | Setări avansate",
  "send": "TRIMITE",
  "btn_feedback": "Părere",
  "return": "ÎNTOARCERE",
  "settings_article_highlight": "Păstrați articolul curent evidențiat când modul articol este deschis",
  "write": "SCRIE",
  "btn_continue": "Continuați",
  "btn_go_back": "Întoarce-te",
  "btn_go_next": "Du-te mai departe",
  "btn_go_up": "Nivelul anterior",
  "btn_reload": "Reîncărcați",
  "action_go_to_settings": "Mergi la Setari",
  "btn_tts": "Comutați text în vorbire",
  "btn_close_accessibility": "Închideți modul de accesibilitate",
  "err_module_unavailable": "{{module}} nu este disponibil în această aplicație",
  "force_crash": "Prăbușire forțată",
  "hint_my_home_screen_config": "Pentru a personaliza {{label}}",
  "hint_two_fingers_tap": "Pentru a citi un articol, atingeți zona articolului cu două degete",
  "hint_restart": "Aplicația va reporni pentru a încărca noi configurații...",
  "hint_update_ui": "Interfața de utilizator se va actualiza pentru a încărca noi setări, este posibil să observați o pâlpâire.",
  "msg_access_reserved": "Acces rezervat abonaților",
  "msg_already_subscriber": "Ești deja abonat? \nAutentificare",
  "msg_continue_to_read": "Abonați-vă la {{paper}}",
  "theme": "Temă",
  "settings_zoom_level": "Nivel de zoom",
  "settings_zoom_level_large": "Mare",
  "settings_zoom_level_larger": "Mai mare",
  "settings_zoom_level_normal": "Normal",
  "restart": "Repornire",
  "str_no_categories": "fara categorii",
  "msg_login_overlay_title": "Pentru a continua lectura",
  "voice_back": "înapoi",
  "voice_what": "ce",
  "voice_next": "urmatorul",
  "voice_next_page": "pagina următoare",
  "voice_previous": "anterior",
  "voice_previous_page": "pagina anterioară",
  "voice_stop": "opriți",
  "voice_read": "citește",
  "voice_close": "închidere",
  "voice_up": "sus",
  "voice_down": "jos",
  "voice_select": "selectați",
  "msg_max_share": "Ați atins limita zilnică de distribuire pentru această ediție",
  "accessibility": "Accesibilitate",
  "msg_simulate_accessibility_title": "Activați modul de accesibilitate",
  "msg_screenshots_disabled": "Capturile de ecran nu sunt permise în această aplicație",
  "settings_tab_index_mode": "Activați aspectul filei în modul index",
  "settings_enable_push_notifications": "Activați notificările push",
  "settings_manage_privacy_preferences": "Gestionați preferințele de confidențialitate",
  "theme_auto": "Lumină/Întuneric automat",
  "theme_light": "Ușoară",
  "theme_dark": "Întuneric",
  "str_sort_by": "Filtrează după",
  "str_relevance": "Relevanţă",
  "btn_from": "Din",
  "btn_to": "La",
  "str_date": "Data",
  "srt_order": "Ordin",
  "str_byline": "Byline",
  "str_descending": "Descendentă",
  "str_ascending": "Ascendent",
  "str_categories": "Categorii",
  "str_select": "Selectați...",
  "str_advertisement": "Publicitate",
  "iap_go_to_subscriptions": "Accesați Abonament",
  "iap_multiple_subscriptions": "Abonamente multiple",
  "iap_multiple_subscriptions_message": "Am descoperit că aveți mai multe abonamente active, vă rugăm să dezactivați-le pe cele de care nu aveți nevoie. Când un abonament a fost dezactivat, acesta va fi rambursat.{{subscriptions}}",
  "iap_multiple_active_subscriptions_message": "Aveți deja un abonament activ, oricum doriți să cumpărați unul nou? {{subscriptions}}"
}
;
},1985,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "action_go_to_category": "Pojdi na {{anchor}}",
  "action_open_epaper": "Odpri časopis",
  "action_open_gallery": "Odpri galerijo",
  "action_open_link": "Sledi povezavi",
  "action_remove_from_favorites": "Odstrani iz priljubljenih",
  "action_save_for_later": "Shrani za pozneje",
  "action_share": "Deli",
  "action_unknown": "Neznano",
  "alert_message": "Ste prepričani?",
  "all": "Vse",
  "all_events": "Vsi dogodki",
  "all_jobs": "Vsa delovna mesta",
  "animation": "Animacija",
  "animation_action": "Kliknitete za spremembo",
  "animation_change": "Sprememba animacije",
  "animation_changed": "Animacija spremenjena",
  "article_count": "{{count}} člankov",
  "btn_accessibility": "Način dostopanja",
  "btn_car_mode": "Avtomobilski način",
  "btn_account": "Račun",
  "btn_add_event": "Dodaj dogodek",
  "btn_advance_filters": "Napredni filtri",
  "btn_archive": "Arhiv",
  "btn_ask_later": "Vprašaj me pozneje",
  "btn_back": "Nazaj",
  "btn_continue": "Nadaljuj",
  "btn_cancel": "Prekliči",
  "btn_close": "Zapri",
  "btn_confirm": "Potrdite",
  "btn_contact": "Pišite na",
  "btn_disable_log_file": "Pošlji LOG",
  "btn_do_not_show": "Ne prikazati znova",
  "btn_download": "Brez povezave",
  "btn_editions": "Izdaje",
  "btn_enable_log_file": "Omogočite LOG",
  "btn_feed": "Novice v živo",
  "btn_feedback": "Povratne informacije",
  "btn_fit_page": "Fit",
  "btn_g_book": "Brskaj",
  "btn_go_to_news": "Pojdi na novice",
  "btn_help": "Pomoč",
  "btn_index": "Kazalo",
  "btn_link": "Povezava",
  "btn_login": "Prijava",
  "btn_logout": "Odjava",
  "btn_more": "Več",
  "btn_no": "Ne",
  "btn_ok": "V REDU",
  "btn_reload": "Ponovno naložite",
  "btn_publications": "Publikacije",
  "btn_read": "Preberite",
  "btn_reset": "Ponastavitev",
  "btn_search": "Iskanje",
  "btn_set_as_default": "Nastavite kot privzeto",
  "btn_settings": "Nastavitve",
  "btn_skip": "Preskoči",
  "btn_special_section": "Posebnosti",
  "btn_store": "Shranjevanje",
  "btn_swipe": "Podrsajte",
  "btn_thumbnail": "Strani",
  "btn_yes": "Da",
  "btn_go_back": "Pojdi nazaj",
  "btn_go_back_article": "Prejšnji članek {{index}}",
  "btn_go_back_section": "Prejšnji razdelek: {{section}}",
  "btn_go_next": "Pojdi na naslednjega",
  "btn_go_next_article": "Naslednji članek {{index}}",
  "btn_go_next_section": "Naslednji razdelek: {{section}}",
  "btn_go_up": "Prejšnji nivo",
  "btn_go_up_choose_issue": "Izberite vprašanje",
  "btn_go_up_general_index": "Pojdi na splošno kazalo",
  "btn_go_up_section": "Pojdi na razdelek {{section}}",
  "btn_tts": "Preklop Pretvroba besedila v govor",
  "btn_close_car_mode": "Zapri avtomobilski način",
  "btn_close_accessibility": "Zapri način dostopnosti",
  "btn_close_editions": "Zapri seznam vprašanj",
  "cache_size": "Velikost predpomnilnika",
  "card": "Kartica",
  "mixed": "Mešana postavitev",
  "categories": "Kategorije",
  "labels": "Oznake",
  "return": "VRNITEV",
  "change": "SPREMEMBA",
  "open": "ODPRI",
  "reset": "PONASTAVI",
  "change_location_hint": "Sprememba lokacije",
  "change_radius": "Izberite radius",
  "clear": "POČISTIT",
  "clear_cache": "Počisti predpomnilnik",
  "clear_favorites": "Počisti priljubljene",
  "confirm": "Potrdite",
  "connection_0": "Način gostovanja",
  "connection_0_description": "Optimalno delovanje, če je na voljo omejena pasovna širina. Prenesena je besedilna različica izdaje, slike bodo prikazane v zelo nizki ločljivosti.",
  "connection_1": "Spletni način",
  "connection_1_description": "Optimalno delovanje z internetno povezavo. Prenesejo se samo ogledane strani, ki so na voljo za branje brez povezave.",
  "connection_2": "Način brez povezave",
  "connection_2_description": "Ob zagonu samodejno prenese celotno izdajo za branje brez povezave.",
  "copy_files": "Kopiranje datotek",
  "counter": "{{current}} od {{total}}",
  "custom_location": "Lokacija po meri",
  "database": "Podatkovna baza",
  "database_deleted": "Zbirka podatkov izbrisana",
  "default_search": "Privzeto iskanje",
  "dialog_location_message": "Vašo lokacijo uporabljamo za prikaz vaše pozicije na zemljevidu",
  "dialog_location_title": "Potrebujemo dostop do vaše lokacije",
  "disabled": "Onemogočeno",
  "enabled": "Omogočeno",
  "err_voice_recognition_no_services": "Najdena ni bila nobena nameščena storitev",
  "err_voice_recognition_generic": "Nekaj je narobe pri prepoznavanju glasu",
  "err_voice_recognition": "Napaka pri prepoznavanju glasu {{message}}",
  "err_module_unavailable": "{{module}} ni na voljo v tej aplikaciji",
  "err_change_animation": "Napaka pri spreminjanju animacije",
  "err_clear_cache": "Napaka pri čiščenju predpomnilnika",
  "err_clear_database": "Napaka pri čiščenju podatkovne zbirke",
  "err_clear_favorites": "Napaka pri brisanju priljubljenih",
  "err_download_edition": "Med prenosom izdaje je prišlo do napake",
  "err_download_edition_db": "Med prenosom podatkovne zbirke izdaje je prišlo do napake",
  "err_download_psetup": "Napaka med prenosom osnovnih konfiguracij",
  "err_internet_connection": "Povezava z strežnikom aplikacij ni mogoča. Prepričajte se, da je vse v redu z vašo internetno povezavo, in poskusite znova.",
  "err_max_min": "Neustrezni filter, kriterij 'min' mora biti manjši od 'max'",
  "err_offline": "Zunanja vsebina ni na voljo brez povezave",
  "err_reset_notification_email": "Ponastavite e-poštno sporočilo z obvestilom",
  "err_retrieve_cache": "Napaka pri pridobivanju predpomnilnika",
  "err_retrieve_favorites": "Napaka pri pridobivanju priljubljenih vsebin",
  "err_translation": "Prevod ni na voljo",
  "err_translation_offline": "Prevod ni na voljo brez povezave",
  "error_on_load_more": "Napaka pri poskusu nalaganja več elementov",
  "fast": "Hitro",
  "favorites": "Priljubljene",
  "feedback_email_feedback": "tapuserfeedback+android@tecnavia.com",
  "feedback_email_subject": "Povratne informacije za {{who}}",
  "feedback_msg_ask_for_feedback": "Ali vam lahko kako pomagamo?",
  "feedback_title_request_feedback": "Ali vam je aplikacija všeč?",
  "feedback_title_request_review_feedback": "Odziv nas veseli! Bi rad posredoval komentar ali oceno?",
  "filter_max": "Max",
  "filter_min": "Min",
  "filter_text": "Besedilo vpišite sem",
  "font_extra_large": "Zelo velik",
  "font_extra_small": "Zelo majhen",
  "font_large": "Veliko",
  "font_normal": "Normalno",
  "font_scale": "Lestvica pisav",
  "font_small": "Majhna",
  "force_crash": "Zrušitev sistema",
  "force_sublayout": "VSILJEN PODSTIL POSTAVITVE",
  "from_most_recent": "Iz najnovejšega",
  "from_oldest": "Od najstarejšega",
  "gmc_default_text": "Na voljo je nova številka. Tapnite tukaj za branje!",
  "gmc_message_text": "Časopis {{issue}} je zdaj na voljo. Tapnite tukaj za branje!",
  "grid": "Mreža",
  "grid_list": "Mreža/Seznam",
  "hint_two_fingers_tap": "Če želite prebrati članek, se z dvema prstoma tapnite na območje članka",
  "home": "Domov",
  "label_exit_accessibility_mode": "Izhod iz načina dostopnosti",
  "label_open_browser": "Odprite v brskalniku",
  "last_search": "Zadnje iskanje",
  "layout": "Postavitev",
  "learn_more": "Več informacij",
  "list": "Seznam",
  "uploading": "Nalaganje...",
  "loading": "Nalaganje...",
  "local_events": "Lokalni dogodki",
  "max_salary": "Največja plača",
  "min_salary": "Najmanjša plača",
  "mobile_network_warning": "Povezani ste z mobilnim omrežjem namesto z omrežjem WiFi",
  "msg_entering_section": "Vstopate v razdelek {{section}}",
  "msg_available_next_startup": "Ta konfiguracija bo na voljo ob naslednjem zagonu",
  "msg_clear_cache": "Počistite predpomnilnik",
  "msg_clear_favorites": "Počistite priljubljene",
  "msg_copy_to_clipboard": "Kopiraj v odložišče",
  "msg_delete_title": "Ali želite",
  "msg_delete_db": "Naj izbrišemo podatke iz zbirke?",
  "msg_operation_completed": "Operacija je zaključena",
  "msg_ok_delete_db": "Vse shranjene izdaje so bile izbrisane",
  "msg_delete_localstorage": "Brisanje osebnih nastavitev?",
  "msg_database_deleted": "Izbriši zbirko podatkov",
  "msg_download_bundle": "Prenos novejših podatkov o aplikacijah...",
  "msg_download_bundle_error": "Prenos paketa se zaključi z napako, aplikacija bo poskusila posodobiti datum pozneje",
  "msg_press_restart": "Prenos izdaje je bil uspešen, za uporabo sprememb ponovno naložite aplikacijo",
  "msg_download_edition": "Prenos izdaje...",
  "msg_download_retry": "Poskus {{retry}} od {{maxRetries}}...",
  "msg_download_rss": "Prenos novih člankov...",
  "msg_empty_category": "Trenutno ni nobenega članka, v kategoriji {{category}}! Tapnite za osvežitev",
  "msg_empty_favorites": "Trenutno ni priljubljenih!",
  "msg_empty_gallery": "Ta galerija je prazna",
  "msg_empty_list": "Trenutno ni elementov! Tapnite za spremembo nekaterih filtrov",
  "msg_empty_searches": "Trenutno ni shranjenih iskanj",
  "msg_error_category": "Nekaj je šlo narobe, ponovno poskusite odpreti kategorijo ali izbrišite zbirko podatkov iz nastavitev! Tapnite za osvežitev",
  "msg_error_list": "Nekaj je šlo narobe, poskusite spremeniti nekatere filtre",
  "msg_error_newspaper": "Časopis je prazen",
  "msg_event_over": "Dogodek je zaključen.",
  "msg_exit_application": "Zapuščate aplikacijo?",
  "msg_failed": "Neuspešno",
  "msg_font_scaling": "Ali želite za to aplikacijo uporabiti velikost besedila v napravi?",
  "msg_font_scaling_title": "Videti je, da imate v napravi nastavljeno velikost besedila po meri",
  "msg_list_no_articles_available_for_category": "To ni napaka. Trenutno v tej kategoriji ni nobenih člankov!",
  "msg_list_no_content": "Trenutno ni nobene vsebine",
  "msg_loading_comments": "Nalaganje komentarjev...",
  "msg_loading_more": "Dodatno nalagnje...",
  "msg_new_issue_available_title_edition": "Trenutno berete {{edition}}",
  "msg_new_issue_available_title_edition_date": "Trenutno berete {{date}} izdajo {{edition}}",
  "msg_new_issue_available": "Na voljo je nova izdaja, ali jo želite naložiti?",
  "msg_new_issue_available_edition": "Na voljo je nova izdaja {{edition}}, jo želite naložiti?",
  "msg_new_issue_available_date": "Na voljo je izdaja {{date}}, jo želite naložiti?",
  "msg_new_issue_available_edition_date": "Na voljo je {{date}} izdaja {{edition}}, ali jo želite naložiti?",
  "msg_not_on_latest_issue": "Ne prikazujete zadnje razpoložljive izdaje, bi jo radi naložili zdaj?",
  "msg_not_on_latest_issue_edition": "Ne ogledujete si zadnje razpoložljive izdaje {{edition}}, si ne ogledujete, jo želite naložiti zdaj?",
  "msg_not_on_latest_issue_date": "Ne ogledujete si zadnje razpoložljive izdaje {{date}}, jo želite naložiti?",
  "msg_not_on_latest_issue_edition_date": "Ne ogledujete si zadnje razpoložljive izdaje, ali želite naložiti izdajo {{date}} izdaje {{edition}}?",
  "msg_notification_email_warning": "Nastavljeno je e-poštno sporočilo z obvestilom, ali želite nadaljevati?",
  "msg_offline_article_graph": "Če želite to funkcijo uporabljati brez povezave, morate prenesti celotno izdajo, sicer lahko nekatere slike manjkajo.",
  "msg_opening_article": "Odpiranje: {{title}}",
  "msg_opening_push": "Odpiranje potisnih obvestil...",
  "msg_pending_purchases": "Dokončanje čakajočih nakupov: {{completed}} od {{total}}",
  "msg_reload_publication": "Zbirka podatkov izbrisana, samodejno prenesti najnovejšo izdajo?",
  "msg_restore_default_settings": "Ali želite obnoviti privzete nastavitve aplikacije?",
  "msg_rss_new_articles_available": "Na voljo so {{count}} novi članki",
  "msg_rss_no_new_articles_available": "Podatki so posodobljeni",
  "msg_rss_one_new_article_available": "Na voljo je 1 nov članek",
  "msg_rss_reload_database": "Prenesena nova zbirka podatkov",
  "msg_rss_update_error": "Napaka med posodobitvijo, preverite internetno povezavo in poskusite znova",
  "msg_search_empty": "Ni bilo iskalne zahteve",
  "msg_search_lite": "Oglejte si rezultate na strani",
  "msg_search_not_found": "Najden ni bil noben članek s {{text}}",
  "msg_zip_not_found": "Poštna številka za vašo lokacijo ni bila najdena",
  "msg_screenshots_disabled": "Slike zaslona v tej aplikaciji niso dovoljene",
  "msg_sent": "Poslano",
  "msg_share_unmanaged": "Možnost souporabe ni upravljana",
  "msg_tts_error": "Pojavila se je napaka, poskusite pozneje!",
  "msg_tts_no_volume": "Za poslušanje branja besedila zvišajte glasnost",
  "msg_tts_unsupported": "Nepodprt jezik, poskusite uporabiti privzeti jezik ali preverite, ali obstaja jezikovni paket po meri!",
  "msg_valid_notification_email": "Novo e-poštno sporočilo z obvestilom je pravilno nastavljeno, kliknite 'Ponovni zagon', da bo sprememba učinkovala.",
  "msg_reset_notification_email": "E-pošta za obvestila je pravilno ponastavljena, kliknite 'Ponovni zagon', da bo sprememba učinkovala.",
  "my_home_categories_selected": "Izbrane so {{categories}} kategorije za skupno {{articles}} člankov",
  "my_location": "Uporabi mojo lokacijo",
  "network": "Omrežje",
  "none": "Noben",
  "normal": "Običajno",
  "offline_download_dialog": "Želite prenesti celotno izdajo za branje brez povezave?",
  "offline_download_warning": "Ta izdaja ni v celoti prenesena. Nekateri deli strani so lahko zamegljeni.",
  "paywall_offline_warning": "Ta članek trenutno ni na voljo brez povezave",
  "permission_storage_message": "{{appName}} potrebuje dovoljenje za shranjevanje",
  "permission_title": "dovoljenje {{appName}}",
  "pj_from_page": "s strani",
  "pj_to_page": "na stran",
  "pj_continue_to_page": "Nadaljuj na stran",
  "pj_continue_to_page_parent": "Stran",
  "powered_by": "Powered by TECNAVIA",
  "powered_by_who": "Powered by {{who}}",
  "push_notification": "Potisno obvestilo",
  "reader_app_text": "Vse račune ali nakupe zunaj te aplikacije bo upravljal razvijalec '{{developerName}}'. Vaš račun v App Store, shranjen način plačila in povezane funkcije, kot so upravljanje naročnine in zahtevki za vračilo denarja, ne bodo na voljo. Apple ni odgovoren za zasebnost ali varnost transakcij, opravljenih pri tem razvijalcu.",
  "reader_app_title": "Zapustili boste aplikacijo in prešli na spletno mesto zunaj aplikacije. Z družbo Apple ne boste več opravljali transakcij.",
  "restart": "Ponovni zagon",
  "retry": "Ponovite",
  "salary": "Plača: {{salary}}",
  "save_search": "Shrani iskanje",
  "saved_searches": "Shranjena iskanja",
  "search_term": "Iskalni izraz",
  "select_after_date": "Izberite po datumu",
  "select_my_home_categories": "Izberite najljubše kategorije s spodnjega seznama in prilagodite svoje {{category}}",
  "selected_categories": "Izbrane kategorije",
  "selected_time_range": "Izbrano časovno obdobje",
  "settings": "Nastavitve",
  "settings_allow_font_scaling": "Omogoči spreminjanje velikosti pisave",
  "settings_startup_epaper": "E-izdaja",
  "settings_startup_rss": "Novice v živo",
  "settings_startup_choose": "Vsakič izberite",
  "share_event_url": "http://{{portal}}.cityspark.co/event/{{id}}/*",
  "show": "POKAŽI",
  "sort_by_date": "Razvrsti po času",
  "sort_by_name": "Razvrsti od A do Z",
  "sort_by_name_reverse": "Razvrsti od Z do A",
  "sort_by_popularity": "Razvrsti po priljubljenosti",
  "sort_date_disabled": "Opusti razvrščanje po datumu",
  "sponsored_content": "Sponzorirana vsebina",
  "start_with": "Začnite z",
  "str_custom": "Po meri",
  "str_default_language": "Nazaj v izvirni jezik",
  "str_description": "Opis:",
  "str_editor_picks": "Samo izbori urednika",
  "str_free": "Brezplačno",
  "str_from": "Od",
  "str_id": "ID: {{id}}",
  "str_limit_label": "Število izdaj za shranjevanje: {{days}}",
  "str_location": "Lokacija:",
  "str_next_events": "Naslednji dogodki:",
  "str_next_week": "Naslednji teden",
  "str_no_categories": "ni kategorij",
  "str_not_available": "Ni na voljo",
  "str_page": "Stran",
  "str_search": "Iskanje",
  "str_search_results": "{{text}} - {{count}} rezultati",
  "str_special_sections": "Posebne rubrike",
  "str_this_week": "Ta teden",
  "str_this_weekend": "Ta vikend",
  "str_time_range": "Razpon datumov",
  "str_title": "Naslov",
  "str_to": "Na",
  "str_today": "Danes",
  "str_tomorrow": "Jutri",
  "str_translating_article": "Prevajanje članka...",
  "str_published_after_date": "Objavljeno po datumu",
  "support_email": "support@tecnavia.com",
  "system_error": "Zgodila se je napaka",
  "theme": "Tema",
  "title_bottom_sheet": "Dejanja",
  "title_offline": "Ni internetne povezave",
  "toggle": "PREKLAPLJANJE",
  "toggle_layout": "Preklapljanje postavitve",
  "toggle_list": "Prikaz seznama",
  "toggle_map": "Pogled na zemljevid",
  "total_events": "Dogodki: {{total}}",
  "total_favorites": "Priljubljene: {{total}}",
  "total_jobs": "Delovna mesta: {{total}}",
  "total_searches": "Shranjena iskanja: {{total}}",
  "tutorial": "Vadnica",
  "unknown_salary": "Neznana plača",
  "unsave_search": "Odstrani shranjeno iskanje",
  "user_tip_download_title": "Nasvet za uporabnike",
  "user_tip_download": "Če želite samodejno prenesti vse izdaje za branje brez povezave, izberite 'Več' > 'Nastavitve' > 'Brez povezave' kot želeno nastavitev omrežja.",
  "version": "Različica",
  "vertical_job_location_hint": "Izberite lokacijo",
  "vertical_job_text_hint": "Vnesite ključno besedo za iskanje",
  "msg_offline_issues": "Izberite izdajo",
  "msg_login_overlay_title": "Za nadaljevanje branja",
  "msg_access_reserved": "Dostop je rezerviran za naročnike",
  "msg_continue_to_read": "Naročite se na {{paper}}",
  "msg_already_subscriber": "Ste že naročeni? Prijava",
  "settings_translate": "Prevajanje člankov v",
  "settings_themes": "Tema",
  "settings_font_size": "Velikost pisave",
  "settings_graph_size": "Stopnja povečave",
  "settings_zoom_level": "Stopnja povečave",
  "settings_zoom_level_normal": "Normalno",
  "settings_zoom_level_large": "Velika",
  "settings_zoom_level_larger": "Večja",
  "settings_number_stored_editions": "Število izdaj za shranjevanje",
  "settings_restore_defaults": "Obnovitev privzetih nastavitev",
  "settings_clear_storage": "Počisti shrambo",
  "settings_back_to_classic": "Vrnitev na klasično e-izdajo",
  "settings_restart_from_latest": "Ponovni zagon od zadnje izdaje (min)",
  "settings_article_mode": "Način članka",
  "settings_article_mode_only_text": "Prikaži samo članke",
  "settings_article_mode_text_and_graphics": "Prikaži članke in grafike",
  "settings_article_mode_all": "Prikaži vse",
  "settings_two_fingers_tap_to_article": "Z dotikom dveh prstov odprite način za članke",
  "settings_single_tap_to_zoom": "Z enim dotikom povečajte",
  "settings_favorite_edition": "Izberite najljubšo izdajo",
  "settings_favorite_edition_default_label": "Zadnja razpoložljiva izdaja",
  "settings_enable_column_view": "Omogočite prikaz člankov v več stolpcih",
  "settings_navigation_arrows": "Navigacijske puščice",
  "settings_navigation_arrows_always": "vedno prisotne",
  "settings_navigation_arrows_disapper": "med branjem izginejo",
  "settings_navigation_arrows_never": "nikoli prisotna",
  "settings_article_highlight": "Trenutni članek ohrani poudarjen, ko je odprt način članka",
  "general": "Nastavitve aplikacije",
  "settings_translate_original": "Izvirni jezik",
  "advance": "{{label}} | Dodatne nastavitve",
  "send": "POŠLJI",
  "debug": "Informacije o napravi",
  "write": "NAPISI",
  "hint_my_home_screen_config": "Prilagajanje {{label}}",
  "action_go_to_settings": "Pojdite v nastavitve",
  "hint_restart": "Aplikacija se bo ponovno zagnala, da se naložijo nove konfiguracije...",
  "hint_update_ui": "Uporabniški vmesnik se posodablja zaradi nalaganja nastavitev, morda se bo pojavilo utripanje...",
  "voice_back": "nazaj",
  "voice_what": "kaj",
  "voice_next": "naslednji",
  "voice_next_page": "naslednja stran",
  "voice_previous": "prejšnja",
  "voice_previous_page": "prejšnja stran",
  "voice_stop": "ustavite",
  "voice_read": "preberite",
  "voice_close": "zapri",
  "voice_up": "navzgor",
  "voice_down": "navzdol",
  "voice_select": "izberite",
  "selected_page_of_section": "izbrana stran {{page}} razdelka {{section}}",
  "selected_page_of_index": "sizbrana stran {{page}} kazala",
  "msg_max_share": "Dosegli ste dnevno omejitev deljenja za to izdajo",
  "selected_page": "izbrana stran {{page}}",
  "accessibility_issue_list_header": "Seznam izdaj",
  "msg_simulate_accessibility_title": "Omogoči način dostopnosti",
  "msg_simulate_accessibility": "To je simulacija aplikacije, ko je aktivna {{accessibilityAppName}}.\n • dvojni dotik za izbiro\n • enojni dotik ali premik prsta za branje elementa\n • dva prsta za poteg",
  "accessibility": "Dostopnost",
  "iap_multiple_subscriptions": "Več naročnin",
  "iap_go_to_subscriptions": "Pojdi na naročninon",
  "iap_multiple_subscriptions_message": "Ugotovili smo, da imate več aktivnih naročnin, zato onemogočite tiste, ki jih ne potrebujete. Ko bo naročnina onemogočena, vam bomo vrnili plačano vsoto.{{subscriptions}}",
  "iap_multiple_active_subscriptions_message": "Aktivno naročnino že imate, ali bi vseeno radi kupili novo? {{subscriptions}}",
  "settings_push_scopes": "Potisni segmenti",
  "settings_tab_index_mode": "Omogoči postavitev zavihkov v indeksnem načinu",
  "settings_enable_push_notifications": "Omogoči potisna obvestila",
  "theme_auto": "Samodejno Svetla/Temna",
  "theme_light": "Svetla",
  "theme_dark": "Temna",
  "str_sort_by": "Razvrsti po",
  "str_relevance": "Pomembnosti",
  "btn_from": "Od",
  "btn_to": "Za",
  "str_date": "Datumu",
  "srt_order": "Zaporedje",
  "str_byline": "Linija avtorja",
  "str_descending": "Padajoče",
  "str_ascending": "Naraščajoče",
  "str_categories": "Sekcijah",
  "str_select": "Izberi...",
  "str_advertisement": "Oglaševanje"
}
;
},1986,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "action_go_to_category": "Gå till {{anchor}}",
  "action_open_epaper": "Öppna epaper",
  "action_open_gallery": "Öppna galleri",
  "action_open_link": "Öppna länk",
  "action_remove_from_favorites": "Ta bort från favoriter",
  "action_save_for_later": "Spara till senare",
  "action_share": "Dela",
  "action_unknown": "Okänd",
  "alert_message": "Är du säker?",
  "all": "Alla",
  "all_events": "Alla Evenemang",
  "all_jobs": "Alla jobb",
  "animation": "Animation",
  "animation_action": "Klicka på knappen för att ändra animering",
  "animation_change": "Animation ändra",
  "animation_changed": "Animation förändrats",
  "article_count": "{{count}} artiklar",
  "btn_accessibility": "Tillgänglighetsläge",
  "btn_account": "Konto",
  "btn_add_event": "Lägg till händelse",
  "btn_advance_filters": "Förväg filter",
  "btn_archive": "Arkivera",
  "btn_ask_later": "Fråga Mig Senare",
  "btn_back": "Tillbaka",
  "btn_cancel": "Avbryt",
  "btn_close": "Stäng",
  "btn_confirm": "Bekräfta",
  "btn_contact": "Kontaktuppgifter",
  "btn_disable_log_file": "Skicka LOGGA in",
  "btn_do_not_show": "Visa inte Igen",
  "btn_download": "Ladda ner",
  "btn_editions": "Utgåvor",
  "btn_enable_log_file": "Aktivera LOGG",
  "btn_feed": "Live nyheter",
  "btn_fit_page": "Passa",
  "btn_g_book": "Bläddra",
  "btn_go_to_news": "Gå till nyheter",
  "btn_help": "Hjälp",
  "btn_index": "Index",
  "btn_link": "Länk",
  "btn_login": "Logga in",
  "btn_logout": "Logga ut",
  "btn_more": "Mer",
  "btn_no": "Inga",
  "btn_ok": "OK",
  "btn_publications": "Publikationer",
  "btn_read": "Läsa",
  "btn_reset": "Återställ",
  "btn_search": "Sök",
  "btn_set_as_default": "Sätt som standard",
  "btn_settings": "Inställningar",
  "btn_skip": "Hoppa över",
  "btn_special_section": "Speciella",
  "btn_store": "Butik",
  "btn_swipe": "Bläddra",
  "btn_thumbnail": "Sidor",
  "btn_yes": "Ja",
  "cache_size": "Cache-storlek",
  "card": "Kort",
  "categories": "Kategorier",
  "labels": "Etiketter",
  "change": "ÄNDRA",
  "change_location_hint": "Ändra Plats",
  "change_radius": "Välj radie",
  "clear": "KLART",
  "clear_cache": "Rensa cache",
  "clear_favorites": "Tydliga favoriter",
  "confirm": "Bekräfta",
  "connection_0": "Roaming Mode",
  "connection_0_description": "Perfekt när begränsad bandbredd är tillgänglig.  Textversionen av upplagan laddas ner, bilderna visas i mycket låg upplösning.",
  "connection_1": "Online-läge",
  "connection_1_description": "Perfekt när du är ansluten till internet. Endast visade sidor laddas ner och är tillgängliga för offline-läsning.",
  "connection_2": "Offline-läge",
  "connection_2_description": "Offline-läge: hämtar automatiskt hela upplagan vid start för offline läsning.",
  "counter": "{{current}} av {{total}}",
  "custom_location": "Anpassad plats",
  "database": "Databas",
  "database_deleted": "Databasen raderas",
  "default_search": "Standardsökande",
  "dialog_location_message": "Vi använder din position för att visa var du är på kartan",
  "dialog_location_title": "Vi behöver åtkomst till din plats",
  "disabled": "Funktionshindrade",
  "enabled": "Aktiverad",
  "err_module_unavailable": "{{module}} inte tillgänglig i den här appen",
  "err_change_animation": "Fel att byta animation",
  "err_clear_cache": "Fel att rensa cache",
  "err_clear_database": "Fel att rensa databasen",
  "err_clear_favorites": "Fel att rensa favoriter",
  "err_download_edition": "Ett fel inträffade under nedladdningen av upplagan Mais",
  "err_download_edition_db": "Ett fel inträffade under nedladdningen av upplagans databas",
  "err_download_psetup": "Fel under nerladdningen av bas-konfigurationer",
  "err_internet_connection": "Kunde inte ansluta till application server. Vänligen se till att du har internet-anslutning och försök igen.",
  "err_max_min": "Ogiltiga filter, min måste vara mindre än max",
  "err_offline": "Externt innehåll är inte tillgängligt offline",
  "err_reset_notification_email": "Återställ e-postmeddelandet",
  "err_retrieve_cache": "Fel för att hämta cache",
  "err_retrieve_favorites": "Fel för att hämta favoriter",
  "err_translation": "Översättningen är inte tillgänglig",
  "err_translation_offline": "Översättningen är inte tillgänglig offline",
  "error_on_load_more": "Fel när du försöker att fylla på fler objekt",
  "fast": "Snabbt",
  "favorites": "Favoriter",
  "feedback_email_feedback": "tapuserfeedback+android@tecnavia.com",
  "feedback_email_subject": "Feedback för {{who}}",
  "feedback_msg_ask_for_feedback": "Är det något vi kan göra för att hjälpa?",
  "feedback_title_request_feedback": "Njuter du av din tid med appen?",
  "feedback_title_request_review_feedback": "Kul att höra! Skulle du vilja lämna en recension eller betyg?",
  "filter_max": "Max",
  "filter_min": "Min",
  "filter_text": "Skriv din text här",
  "font_extra_large": "Extra stor",
  "font_extra_small": "Extra liten",
  "font_large": "Stor",
  "font_normal": "Normal",
  "font_scale": "Font Skala",
  "font_small": "Stor",
  "force_crash": "Force krasch",
  "force_sublayout": "FORCE LAYOUT SUB STYLE",
  "from_most_recent": "Från den senaste",
  "from_oldest": "Från de äldsta",
  "gmc_default_text": "En ny fråga är tillgängliga. Tryck här för att läsa!",
  "gmc_message_text": "{{issue}} tidningen finns nu tillgänglig. Tryck här för att läsa!",
  "grid": "Nätet",
  "grid_list": "grid/lista",
  "hint_two_fingers_tap": "För att läsa en artikel, tryck på artikelområdet med två fingrar",
  "home": "Hem",
  "label_exit_accessibility_mode": "Avsluta tillgänglighetsläget",
  "label_open_browser": "Öppna i webbläsaren",
  "last_search": "Senaste sökning",
  "layout": "Layout",
  "learn_more": "Läs mer",
  "list": "Listan",
  "loading": "Laddar...",
  "local_events": "Lokala evenemang",
  "max_salary": "Max. lön",
  "min_salary": "Min. lön",
  "mobile_network_warning": "Du är ansluten till ett mobilnätverk istället för WiFi",
  "msg_available_next_startup": "Denna konfiguration kommer att finnas tillgänglig nästa start",
  "msg_clear_cache": "Rensa cache",
  "msg_clear_favorites": "Radera favoriter",
  "msg_copy_to_clipboard": "Kopiera till urklipp",
  "msg_delete_title": "vill du",
  "msg_delete_db": "Radera databasdata?",
  "msg_operation_completed": "Driften slutförd",
  "msg_ok_delete_db": "Alla sparade utgåvor har tagits bort",
  "msg_delete_localstorage": "Rensa personliga inställningar?",
  "msg_database_deleted": "Ta bort databas",
  "msg_download_edition": "Hämtar upplagan...",
  "msg_download_retry": "Försök {{retry}} av {{maxRetries}}...",
  "msg_download_rss": "Hämtar nya artiklar...",
  "msg_empty_category": "För närvarande finns det inga artiklar som tilldelats{{category}}! Tryck för att uppdatera",
  "msg_empty_favorites": "För närvarande finns det inga favoriter!",
  "msg_empty_gallery": "Klickat galleri är tomt",
  "msg_empty_list": "För närvarande finns det inga element! Tryck för att ändra vissa filter",
  "msg_empty_searches": "För närvarande finns inga sparade sökningar",
  "msg_error_category": "Något gick fel, försök att öppna kategorin igen eller ta bort databasen från inställningarna! Tryck för att uppdatera",
  "msg_error_list": "Något gick fel, försök att ändra några filter",
  "msg_error_newspaper": "Tidningen är tom",
  "msg_event_over": "Händelsen är över.",
  "msg_exit_application": "Att avsluta programmet?",
  "msg_failed": "Misslyckad",
  "msg_font_scaling": "Vill du tillämpa enhetens textstorlek på det här programmet?",
  "msg_font_scaling_title": "Det verkar som om du har en anpassad textstorlek inställd på din enhet",
  "msg_list_no_articles_available_for_category": "Detta inte ett fel. Det finns för närvarande inga artiklar har hänförts till denna kategori!",
  "msg_list_no_content": "Inga aktuella innehåll",
  "msg_loading_comments": "Laddar kommentarer...",
  "msg_loading_more": "Laddar upp mer...",
  "msg_new_issue_available": "En ny upplaga är nu tillgänglig, vill du ladda den nu?",
  "msg_not_on_latest_issue": "Du är inte tittar på senast tillgängliga utgåvan, skulle du vilja läsa det nu?",
  "msg_new_issue_available_title_edition": "Du läser för närvarande {{edition}}",
  "msg_new_issue_available_title_edition_date": "Du läser för närvarande den {{date}} upplagan av {{edition}}",
  "msg_new_issue_available_edition": "En ny upplaga av {{edition}} är nu tillgänglig, vill du ladda den?",
  "msg_new_issue_available_date": "Den {{date}} upplagan är nu tillgänglig, vill du ladda den?",
  "msg_new_issue_available_edition_date": "Den {{date}} av {{edition}} upplagan är nu tillgänglig, vill du ladda den?",
  "msg_not_on_latest_issue_edition": "Du är inte tittar på senast tillgängliga utgåvan av {{edition}}, skulle du vilja läsa det nu?",
  "msg_not_on_latest_issue_date": "Du är inte tittar på senast tillgängliga utgåvan, vill du ladda {{date}} upplaga?",
  "msg_not_on_latest_issue_edition_date": "Du är inte tittar på senast tillgängliga utgåvan, vill du ladda {{date}} upplagan av {{edition}}?",
  "msg_notification_email_warning": "Ett e-postmeddelande har ställts in, vill du fortsätta?",
  "msg_offline_article_graph": "För att kunna använda den här funktionen offline måste du ha laddat ner hela upplagan, annars kan vissa bilder saknas.",
  "msg_opening_article": "Öppning: {{title}}",
  "msg_opening_push": "Öppnar push-aviseringar...",
  "msg_pending_purchases": "Slutför väntande köp: {{completed}} av {{total}}",
  "msg_reload_publication": "ladda ner den senaste upplagan automatiskt?",
  "msg_restore_default_settings": "Vill du återställa standardinställningarna för appen?",
  "msg_rss_new_articles_available": "{{count}} nya artiklar finns tillgängliga",
  "msg_rss_no_new_articles_available": "Du är up-to-date",
  "msg_rss_one_new_article_available": "1 ny artikel tillgänglig",
  "msg_rss_reload_database": "Nya databasen laddas ner",
  "msg_rss_update_error": "Felmeddelande under uppdateringen ska du kontrollera internetanslutningen och försök igen",
  "msg_search_empty": "Inget sökte",
  "msg_search_lite": "Visa resultat på sidan",
  "msg_search_not_found": "Ingen artikel hittades med {{text}}",
  "msg_zip_not_found": "Hittade inte postnummer för din plats",
  "msg_sent": "Skickad",
  "msg_share_unmanaged": "Share option opåverkad",
  "msg_tts_error": "Ett fel uppstår, försök senare!",
  "msg_tts_no_volume": "Öka volumen till listad text",
  "msg_tts_unsupported": "Språk som inte stöds, försök att använda standardröst eller kontrollera om ett anpassat språkpaket finns!",
  "msg_valid_notification_email": "Ny e-postmeddelande är korrekt inställd, klicka på 'Starta om' för att ändringen ska gälla.",
  "msg_reset_notification_email": "Meddelande-e-postmeddelandet återställs korrekt, klicka på 'Starta om' för att ändringen ska gälla.",
  "my_home_categories_selected": "{{categories}} kategorier som valts för en summa av {{articles}} artiklar",
  "my_location": "Använd min plats",
  "network": "Nätverk",
  "none": "Ingen",
  "normal": "Normal",
  "offline_download_dialog": "Vill du ladda ner hela upplagan för offline-läsning?",
  "offline_download_warning": "Denna utgåva laddas inte ner helt. Vissa delar av sidorna kan se suddiga ut.",
  "paywall_offline_warning": "Den här artikeln är för närvarande inte tillgänglig offline",
  "permission_storage_message": "{{appName}} behov lagring tillstånd",
  "permission_title": "{{appName}} tillstånd",
  "pj_from_page": "från sidan",
  "pj_to_page": "till sida",
  "pj_continue_to_page": "Fortsätt till sidan",
  "pj_continue_to_page_parent": "Sidan",
  "powered_by": "Drivs av TECNAVIA",
  "powered_by_who": "Drivs av {{who}}",
  "push_notification": "Push-meddelande",
  "restart": "Omstart",
  "retry": "Försök igen",
  "reader_app_text": "Konton och köp utanför den här appen kommer att hanteras av “{{developerName}}”. Ditt App Store-konto, sparade betalningsmetoder och andra funktioner, som t.ex. prenumerationshantering och begäranden om återbetalningar kommer inte att vara tillgängliga. Apple ansvarar inte för integriteten eller säkerheten för transaktioner med den här utvecklaren.",
  "reader_app_title": "Du lämnar nu appen för en extern webbsida. Eventuella transaktioner kommer inte att hanteras av Apple.",
  "salary": "Lön:  {{salary}}",
  "save_search": "Spara sökning",
  "saved_searches": "Sparade Sökningar",
  "search_term": "Sökterm",
  "select_after_date": "Välj efter datum",
  "select_my_home_categories": "Välj din favorit kategorier från listan nedan för att anpassa din {{category}}",
  "selected_categories": "Valda kategorier",
  "selected_time_range": "Valt datumintervall",
  "settings": "Inställningar",
  "settings_allow_font_scaling": "Tillåt skalskalor",
  "settings_startup_epaper": "E-Edition",
  "settings_startup_rss": "Live nyheter",
  "settings_startup_choose": "Välj varje gång",
  "share_event_url": "http://{{portal}}.cityspark.co/event/{{id}}/*",
  "show": "VISA",
  "sort_by_date": "Sortera efter",
  "sort_by_name": "Sortera efter A-Z",
  "sort_by_name_reverse": "Sortera efter Z-A",
  "sort_by_popularity": "Sortera efter Popularitet",
  "sort_date_disabled": "Sortera på datum inaktivera",
  "sponsored_content": "Sponsrat innehåll",
  "start_with": "Börja Med",
  "str_custom": "Anpassad",
  "str_default_language": "Återgå till originalspråket",
  "str_description": "Beskrivning:",
  "str_editor_picks": "Endast redaktörens val",
  "str_free": "Fri",
  "str_from": "Från",
  "str_id": "ID: {{id}}",
  "str_limit_label": "Antal utgåvor att lagra:: {{days}}",
  "str_location": "Plats:",
  "str_next_events": "Nästa händelser:",
  "str_next_week": "Nästa vecka",
  "str_no_categories": "Inga kategorier",
  "str_not_available": "Inte tillgänglig",
  "str_page": "Sida",
  "str_search": "Sök",
  "str_search_results": "{{text}} - {{count}} resultat",
  "str_special_sections": "Särskilda avsnitt",
  "str_this_week": "Denna vecka",
  "str_this_weekend": "Veckoslut",
  "str_time_range": "Datumintervall",
  "str_title": "Titel",
  "str_to": "Till",
  "str_today": "Idag",
  "str_tomorrow": "Imorgon",
  "str_translating_article": "Översätter artikel...",
  "str_published_after_date": "Publicerad efter datum",
  "support_email": "support@tecnavia.com",
  "system_error": "Ett fel uppstod",
  "theme": "Tema",
  "title_bottom_sheet": "Åtgärder",
  "title_offline": "Ingen internetanslutning",
  "toggle": "VÄXLA",
  "toggle_layout": "Växla layout",
  "toggle_list": "Växla lista",
  "toggle_map": "Växla karta",
  "total_events": "Händelser: {{total}}",
  "total_favorites": "Favoriter:  {{total}}",
  "total_jobs": "Sysselsättning:  {{total}}",
  "total_searches": "Sökningar:  {{total}}",
  "tutorial": "Handledning",
  "unknown_salary": "Okänd Lön",
  "unsave_search": "Ta bort sparade sökningen",
  "user_tip_download_title": "Användar Tip",
  "user_tip_download": "För att automatiskt ladda ner alla utgåvor för offline-läsning, välj 'Mer'> 'Inställningar'> 'Offline' som din föredragna nätverksinställning",
  "version": "Version",
  "vertical_job_location_hint": "Välj en plats",
  "vertical_job_text_hint": "Ange ett sökord för sökning",
  "msg_offline_issues": "Välj en nedladdad utgåva att läsa",
  "settings_translate": "Översätt artiklar till",
  "settings_themes": "Tema",
  "settings_font_size": "Fontstorlek",
  "settings_graph_size": "Zoom nivå",
  "settings_number_stored_editions": "Maximalt antal problem sparade",
  "settings_restart_from_latest": "Starta om från senaste upplagan (min)",
  "settings_article_mode": "Artikelläge",
  "settings_article_mode_all": "Visa allt",
  "settings_clear_storage": "Rensa lagring",
  "settings_back_to_classic": "Återgå till Classic e-Edition",
  "settings_two_fingers_tap_to_article": "Använd två peka finger för att öppna artikeln läge",
  "settings_single_tap_to_zoom": "Använd enda tryck för att zooma",
  "settings_favorite_edition": "Välj din favorit edition",
  "settings_favorite_edition_default_label": "Sista upplagan tillgänglig",
  "reset": "ÅTERSTÄLLA",
  "open": "ÖPPEN",
  "settings_enable_column_view": "Aktivera flera kolumner läs artiklar",
  "settings_navigation_arrows_always": "alltid närvarande",
  "settings_navigation_arrows_disapper": "försvinner när du läser",
  "settings_navigation_arrows_never": "aldrig närvarande",
  "general": "App inställningar",
  "settings_translate_original": "Originalspråk",
  "advance": "{{label}} | Förhandsinställningar",
  "send": "SKICKA",
  "btn_feedback": "Respons",
  "return": "LÄMNA TILLBAKA",
  "settings_article_highlight": "Håll aktuell artikel markerad när artikelläget är öppet",
  "write": "SKRIVA",
  "btn_continue": "Fortsätt",
  "btn_go_back": "Gå tillbaka",
  "btn_go_next": "Gå nästa",
  "btn_go_up": "Tidigare nivå",
  "btn_reload": "Ladda om",
  "action_go_to_settings": "Gå till Inställningar",
  "btn_tts": "Växla text till tal",
  "btn_close_accessibility": "Stäng tillgänglighetsläget",
  "hint_my_home_screen_config": "För att anpassa {{label}}",
  "hint_restart": "Applikationen kommer att starta om för att ladda nya konfigurationer...",
  "hint_update_ui": "Användargränssnittet kommer att uppdateras för att ladda nya inställningar, du kanske märker ett flimmer...",
  "msg_access_reserved": "Åtkomst reserverad för prenumeranter",
  "msg_already_subscriber": "Är du redan prenumerant? Logga in",
  "msg_continue_to_read": "Prenumerera på {{paper}}",
  "settings_zoom_level": "Zoomnivå",
  "settings_zoom_level_large": "Stor",
  "settings_zoom_level_larger": "Större",
  "settings_zoom_level_normal": "Vanligt",
  "msg_login_overlay_title": "För att fortsätta läsa",
  "voice_back": "tillbaka",
  "voice_what": "vad",
  "voice_next": "nästa",
  "voice_next_page": "nästa sida",
  "voice_previous": "föregående",
  "voice_previous_page": "föregående sida",
  "voice_stop": "stopp",
  "voice_read": "läs",
  "voice_close": "stäng",
  "voice_up": "upp",
  "voice_down": "ner",
  "voice_select": "välj",
  "msg_max_share": "Du har nått den dagliga delningsgränsen för den här utgåvan",
  "accessibility": "Tillgänglighet",
  "msg_simulate_accessibility_title": "Aktivera tillgänglighetsläge",
  "msg_screenshots_disabled": "Skärmdumpar är inte tillåtna i denna app",
  "settings_tab_index_mode": "Aktivera fliklayout i indexläge",
  "settings_enable_push_notifications": "Aktivera push-meddelanden",
  "settings_manage_privacy_preferences": "Hantera integritetsinställningar",
  "theme_auto": "Automatisk ljus/mörker",
  "theme_light": "Ljus",
  "theme_dark": "Mörk",
  "str_sort_by": "Sortera efter",
  "str_relevance": "Relevans",
  "btn_from": "Från",
  "btn_to": "Till",
  "str_date": "Datum",
  "srt_order": "Beställa",
  "str_byline": "Byline",
  "str_descending": "Nedåtgående",
  "str_ascending": "Stigande",
  "str_categories": "Kategorier",
  "str_select": "Välj...",
  "str_advertisement": "Annons",
  "iap_go_to_subscriptions": "Gå till Prenumeration",
  "iap_multiple_subscriptions": "Flera prenumerationer",
  "iap_multiple_subscriptions_message": "Vi upptäckte att du har flera aktiva prenumerationer, vänligen inaktivera de du inte behöver. När en prenumeration har inaktiverats kommer den att återbetalas.{{subscriptions}}",
  "iap_multiple_active_subscriptions_message": "Du har redan ett aktivt abonnemang, skulle du vilja köpa ett nytt ändå? {{subscriptions}}"
}
;
},1987,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "action_go_to_category": "Vai para {{anchor}}",
  "action_open_epaper": "Abrir epaper",
  "action_open_gallery": "Abrir Galeria",
  "action_open_link": "Abrir link",
  "action_remove_from_favorites": "Remover dos favoritos",
  "action_save_for_later": "Guardar para depois",
  "action_share": "Partilhar",
  "action_unknown": "Desconhecido",
  "alert_message": "Tem a certeza?",
  "all": "Toda",
  "all_events": "Todos eventos",
  "all_jobs": "Todos os Empregos",
  "animation": "Animação",
  "animation_action": "Clique no botão para mudar a animação",
  "animation_change": "Mudar de animação",
  "animation_changed": "Animação alterada",
  "article_count": "{{count}} artigos",
  "btn_accessibility": "Modo acessibilidade",
  "btn_account": "Login",
  "btn_advance_filters": "Filtros avançados",
  "btn_archive": "Arquivo",
  "btn_ask_later": "Pergunta-me depois",
  "btn_back": "Voltar",
  "btn_cancel": "Cancelar",
  "btn_close": "Fechar",
  "btn_confirm": "Confirmar",
  "btn_contact": "Contacto",
  "btn_disable_log_file": "Enviar LOG",
  "btn_do_not_show": "Não mostrar novamente",
  "btn_download": "Descarregar",
  "btn_editions": "Edições",
  "btn_enable_log_file": "Ativar LOG",
  "btn_feed": "Notícias ao vivo",
  "btn_fit_page": "Ajustar",
  "btn_g_book": "Percorrer",
  "btn_go_to_news": "Vai a Notícias",
  "btn_help": "Ajuda",
  "btn_index": "Índice",
  "btn_link": "Link",
  "btn_login": "Login",
  "btn_logout": "Logout",
  "btn_more": "Mais",
  "btn_no": "Não",
  "btn_ok": "Ok",
  "btn_publications": "Publicações",
  "btn_read": "Lê",
  "btn_reset": "Reiniciar",
  "btn_search": "Pesquisa",
  "btn_set_as_default": "Selecionar como padrão",
  "btn_settings": "Configurações",
  "btn_skip": "Saltar",
  "btn_special_section": "Especial",
  "btn_store": "Loja",
  "btn_swipe": "Percorrer",
  "btn_thumbnail": "Páginas",
  "btn_yes": "Sim",
  "cache_size": "Tamanho da Cache",
  "card": "Cartão",
  "categories": "Categorias",
  "change": "ALTERAR",
  "change_location_hint": "Alterar Localização",
  "change_radius": "Selecionar Raio",
  "clear": "LIMPAR",
  "clear_cache": "Limpar cache",
  "clear_favorites": "Limpar favoritos",
  "confirm": "Confirmar",
  "connection_0": "Modalidade Roaming",
  "connection_0_description": "Ideal quando tem largura de banda limitada. Texto é descarregado, imagens são descarregadas com resolução baixa.",
  "connection_1": "Modalidade Online",
  "connection_1_description": "Ideal quando ligado á internet.Só páginas visualizadas são descarregadas e estarão disponíveis em modalidade offline.",
  "connection_2": "Modalidade Offline",
  "connection_2_description": "Modalidade Offline: Descarrega automaticamente a edição inteira no arranque para leitura offline.",
  "counter": "{{current}} de {{total}}",
  "custom_location": "Localização personalizada",
  "database": "Base de dados",
  "database_deleted": "Base de dados eliminado",
  "default_search": "Pesquisa padrão",
  "dialog_location_message": "Usamos a sua localização para mostrar onde está no mapa",
  "dialog_location_title": "Precisamos de aceder à sua localização",
  "disabled": "Desativado",
  "enabled": "Ativado",
  "err_change_animation": "Erro ao alterar animação",
  "err_clear_cache": "Erro ao limpar cache",
  "err_clear_database": "Erro ao limpar base de dados",
  "err_clear_favorites": "Erro ao limpar favoritos",
  "err_download_psetup": "Erro durante o download de configurações base",
  "err_internet_connection": "Não foi possível conectar-se ao servidor de aplicativos. Por favor, verifique se tem uma ligação á Internet e tente novamente.",
  "err_max_min": "Filtro inválido, min deve ser menor que max",
  "err_offline": "Não disponível offline",
  "err_retrieve_cache": "Erro ao recuperar o cache ",
  "err_retrieve_favorites": "Erro ao recuperar favoritos",
  "err_translation": "Tradução não disponível",
  "err_translation_offline": "Tradução não disponível offline",
  "error_on_load_more": "Erro ao tentar carregar mais itens",
  "fast": "Rápido",
  "favorites": "Favoritos",
  "feedback_email_feedback": "tapuserfeedback+android@tecnavia.com",
  "feedback_msg_ask_for_feedback": "Existe alguma coisa que possamos fazer para ajudar?",
  "feedback_title_request_feedback": "Está a gostar desta aplicação?",
  "feedback_title_request_review_feedback": "Ficamos felizes em saber! Gostaria de deixar uma crítica ou classificação?",
  "filter_max": "Max",
  "filter_min": "Min",
  "filter_text": "Escreva texto aqui",
  "font_extra_large": "Extra grande",
  "font_extra_small": "Extra pequeno",
  "font_large": "Grande",
  "font_normal": "Normal",
  "font_scale": "Tamanho da fonte",
  "font_small": "Pequeno",
  "from_most_recent": "Do mais recente",
  "from_oldest": "Do mais antigo",
  "gmc_default_text": "Uma nova edição está disponível. Clique aqui para ler!",
  "gmc_message_text": "O {{issue}} do jornal está disponível. Clique aqui para ler!",
  "grid": "Grelha",
  "grid_list": "Grelha/Lista",
  "home": "Home",
  "label_exit_accessibility_mode": "Sair do modo de acessibilidade",
  "label_open_browser": "Abra no navegador",
  "last_search": "Última Procura",
  "layout": "Layout",
  "learn_more": "Saiba mais",
  "list": "Lista",
  "loading": "A carregar...",
  "local_events": "Eventos Locais",
  "max_salary": "Salário máximo",
  "min_salary": "Salário mínimo",
  "msg_available_next_startup": "Esta configuração estará disponível na próxima sessão",
  "msg_clear_cache": "Limpar cache",
  "msg_clear_favorites": "Eliminar favoritos",
  "msg_copy_to_clipboard": "Copiar par clipboard",
  "msg_database_deleted": "Eliminar base de dados",
  "msg_delete_db": "Eliminar a base de dados local?",
  "msg_delete_localstorage": "Eliminar configurações pessoais?",
  "msg_delete_title": "Você quer",
  "msg_download_edition": "Fazendo download da edição...",
  "msg_download_retry": "Tentativa {{retry}} de {{maxRetries}}...",
  "msg_empty_category": "Atualmente, não há artigos atribuídos a {{category}}! Clique para atualizar",
  "msg_empty_favorites": "Atualmente, não há favoritos!",
  "msg_empty_gallery": "A galeria clicada está vazia",
  "msg_empty_list": "Atualmente, não há elementos! Clique para alterar alguns filtros",
  "msg_empty_searches": "Atualmente, não há pesquisas guardadas",
  "msg_error_category": "Algo deu errado, tente reabrir a categoria ou eliminar a base de dados atrvés das definições! Clique para atualizar",
  "msg_error_list": "Algo deu errado, tente mudar alguns filtros",
  "msg_error_newspaper": "O jornal está vazio",
  "msg_event_over": "o evento acabou",
  "msg_exit_application": "Sair da aplicação?",
  "msg_failed": "Falhada",
  "msg_list_no_articles_available_for_category": "Isso não é um erro. Atualmente, não há artigos atribuídos a esta categoria!",
  "msg_list_no_content": "Nenhum conteúdo atual",
  "msg_loading_comments": "Carregando comentários...",
  "msg_loading_more": "Carregar mais...",
  "msg_new_issue_available_title_edition": "Está actualmente a ler {{edition}}",
  "msg_new_issue_available_title_edition_date": "Está actualmente a ler a edição {{date}} de {{edition}}",
  "msg_new_issue_available": "Uma nova edição está agora disponível, gostaria de a carregar?",
  "msg_new_issue_available_edition": "Uma nova edição de {{edition}} está agora disponível, gostaria de a carregar?",
  "msg_new_issue_available_date": "A edição de {{date}} está agora disponível, gostaria de a carregar?",
  "msg_new_issue_available_edition_date": "A edição de {{date}} de {{edition}} está agora disponível, gostaria de a carregar?",
  "msg_not_on_latest_issue": "Não está a ver a última edição disponível, gostaria de a carregar agora?",
  "msg_not_on_latest_issue_edition": "Não está a ver a última edição disponível de {{edition}}, gostaria de carregá-la agora?",
  "msg_not_on_latest_issue_date": "Não está a ver a última edição disponível, gostaria de carregar a edição de {{date}}?",
  "msg_not_on_latest_issue_edition_date": "Não está a ver a última edição disponível, gostaria de carregar a edição {{date}} de {{edition}}?",
  "msg_offline_article_graph": "Para utilizar esta função em offline deverà ter descarregado a edição completa enquanto ou algumas imagens ou textos poderão faltar",
  "msg_offline_issues": "Seleciona uma edição para ler",
  "msg_opening_push": "Abrindo notificações push...",
  "msg_pending_purchases": "Concluindo compras pendentes: {{completed}} de {{total}}",
  "msg_reload_publication": "descarregar automaticamente a última edição",
  "msg_restore_default_settings": "Quer restaurar as configurações padrão?",
  "msg_rss_new_articles_available": "{{count}} novos artigos estão disponíveis",
  "msg_rss_no_new_articles_available": "Você está atualizado",
  "msg_rss_one_new_article_available": "1 novo artigo disponível",
  "msg_rss_reload_database": "Nova base de dados carregada",
  "msg_rss_update_error": "Erro durante a atualização, verifique sua ligação Internet e tente novamente",
  "msg_search_empty": "Nada foi pesquisado",
  "msg_search_lite": "Ver resultados na página",
  "msg_search_not_found": "Nenhum artigo encontrado com {{text}}",
  "msg_sent": "Enviado",
  "msg_share_unmanaged": "Opção de compartilhamento não suportada",
  "msg_tts_error": "Ocorreu um erro durante o inicio da leitura. Tente mais tarde!",
  "msg_tts_no_volume": "Aumentar volument para texto",
  "msg_tts_unsupported": "Língua não suportada, tente ler com a voz de default ou verifique se existe outro pacote de voz",
  "my_home_categories_selected": "{{categories}} categorias selecionadas para um total de {{articles}} artigos",
  "my_location": "Use a minha localização",
  "network": "Rede",
  "none": "Nenhum",
  "normal": "Normal",
  "pj_from_page": "da página",
  "pj_to_page": "até à página",
  "pj_continue_to_page": "Continue para a página",
  "pj_continue_to_page_parent": "Página",
  "permission_storage_message": "{{appName}} precisa de permissão de armazenamento",
  "permission_title": "{{appName}} permissão",
  "powered_by": "Powered by TECNAVIA",
  "powered_by_who": "Powered by {{who}}",
  "push_notification": "Notificação",
  "reader_app_text": "Quaisquer contas ou compras efetuadas fora desta app serão geridas pelo programador {{developerName}}. A sua conta da App Store, o método de pagamento armazenado e as funcionalidades relacionadas, tais como a gestão de assinaturas e os pedidos de reembolso, não estarão disponíveis. A Apple não é responsável pela privacidade e segurança das transações efetuadas com este programador.",
  "reader_app_title": "Está prestes a sair da app e a ir para um site externo. Deixará de efetuar transações com a Apple.",
  "salary": "Salário: {{salary}}",
  "save_search": "Guardar pesquisa",
  "saved_searches": "Pesquisas guardadas",
  "search_term": "Pesquisar Termo",
  "select_after_date": "Selecione após a data",
  "select_my_home_categories": "Escolha suas categorias favoritas na lista abaixo para personalizar a sua {{category}}",
  "selected_categories": "Categorias selecionadas",
  "selected_time_range": "Período selecionado",
  "settings": "Definições",
  "settings_allow_font_scaling": "Permitir escala de fonte",
  "settings_startup_epaper": "E-Edition",
  "settings_startup_rss": "Live News",
  "settings_startup_choose": "Escolha cada vez",
  "show": "MOSTRAR",
  "sort_by_date": "Ordenar por",
  "sort_by_name": "Classificar por A-Z",
  "sort_by_name_reverse": "Classificar por Z-A",
  "sort_by_popularity": "Ordenar por Popularidade",
  "sort_date_disabled": "Ordenar na data desabilitado",
  "start_with": "Começar com",
  "str_custom": "Personalizadas",
  "str_default_language": "Retornar ao idioma original",
  "str_from": "De",
  "str_limit_label": "Número de edições para armazenar: {{days}}",
  "str_next_week": "Semana seguinte",
  "str_page": "Página",
  "str_search": "Pesquisar",
  "str_search_results": "Resultados de {{text}} - {{count}}",
  "str_special_sections": "Seções especiais",
  "str_this_week": "Uma semana",
  "str_this_weekend": "Este fim de semana",
  "str_time_range": "Intervalo de datas",
  "str_title": "Título",
  "str_to": "Para",
  "str_today": "Hoje",
  "str_tomorrow": "Amanhã",
  "str_translating_article": "Traduzindo artigo...",
  "system_error": "Ocorreu um erro",
  "theme": "Tema",
  "title_bottom_sheet": "Ações",
  "title_offline": "Sem conexão com a Internet",
  "toggle": "TOGGLE",
  "toggle_layout": "Toggle layout",
  "toggle_list": "Toggle lista",
  "toggle_map": "Toggle mapa",
  "total_events": "Eventos: {{total}}",
  "total_favorites": "Favoritos: {{total}}",
  "total_jobs": "Empregos: {{total}}",
  "total_searches": "Pesquisas: {{total}}",
  "tutorial": "Tutorial",
  "unknown_salary": "Salário Desconhecido",
  "unsave_search": "Remover pesquisa guardada",
  "version": "Versão",
  "vertical_job_location_hint": "Selecione um local",
  "vertical_job_text_hint": "Insira uma palavra-chave para pesquisa",
  "offline_download_warning": "Esta edição não é totalmente baixado. Algumas partes das páginas pode parecer desfocada.",
  "offline_download_dialog": "Quer descarregar a edição completa para leitura offline?",
  "user_tip_download_title": "Dica do Utilizador",
  "user_tip_download": "Para descarregar automaticamente todas as edições para leitura offline, seleccione 'Opções' > 'Definições' > 'Offline' como a sua configuração de rede preferida",
  "mobile_network_warning": "Está ligado a uma rede móvel em vez de WiFi",
  "msg_operation_completed": "Operação concluída",
  "msg_ok_delete_db": "Todas as edições guardadas foram eliminadas",
  "msg_font_scaling": "Quer manter este parâmetro dentro desta aplicação?",
  "msg_font_scaling_title": "Definiu um tamanho de texto personalizado no seu dispositivo",
  "msg_download_rss": "Baixando novos artigos...",
  "settings_translate": "Traduzir o artigo em",
  "settings_themes": "Tema",
  "settings_font_size": "Tamanho dos caracteres",
  "settings_graph_size": "Nível de zoom",
  "settings_number_stored_editions": "Número máximo de edições guardadas",
  "settings_restart_from_latest": "Reiniciar da última edição disponível (min)",
  "settings_article_mode": "Modo artigo",
  "settings_article_mode_all": "Mostrar tudo",
  "settings_article_mode_text_and_graphics": "Mostrar artigos e gráficos",
  "settings_article_mode_only_text": "Mostrar apenas artigos",
  "settings_restore_defaults": "Restaurar configurações",
  "settings_clear_storage": "Limpar dados",
  "settings_back_to_classic": "Voltar à eEdition Clássica",
  "settings_two_fingers_tap_to_article": "Usa toque com dois dedos para abrir a modo artigo",
  "settings_single_tap_to_zoom": "Usa um tap para zoomar",
  "settings_favorite_edition": "Escolha a sua edição favorita",
  "settings_favorite_edition_default_label": "Última edição disponível",
  "reset": "REDEFINIR",
  "open": "ABRIR",
  "settings_enable_column_view": "Habilitar modo de leitura em colunas",
  "settings_navigation_arrows": "Setas de navegação",
  "settings_navigation_arrows_always": "sempre presentes",
  "settings_navigation_arrows_disapper": "desaparecem quando em leitura",
  "settings_navigation_arrows_never": "nunca presentes",
  "general": "Configurações do aplicativo",
  "settings_translate_original": "Língua original",
  "advance": "{{label}} | Configurações avançadas",
  "send": "MANDAR",
  "btn_feedback": "Feedback",
  "return": "RETORNA",
  "settings_article_highlight": "Manter o artigo actual em destaque quando o modo de artigo estiver aberto",
  "write": "ESCREVER",
  "btn_continue": "Continuar",
  "btn_go_back": "Volte",
  "btn_go_next": "Próximo",
  "btn_go_up": "Nível anterior",
  "action_go_to_settings": "Ir para definições",
  "btn_reload": "Recarregar",
  "btn_tts": "Ativare/desativare text to speech",
  "btn_close_accessibility": "Fechar modo de acessibilidade",
  "err_module_unavailable": "{{module}}  não disponível nesta aplicação",
  "force_crash": "Forçar crash",
  "hint_my_home_screen_config": "Para personalizar {{{label}}",
  "hint_two_fingers_tap": "Para ler um artigo toque na área do artigo com dois dedos",
  "msg_access_reserved": "Acesso reservado a subscritores",
  "msg_already_subscriber": "Já é um assinante? Login",
  "msg_continue_to_read": "Subscrever {{{paper}}",
  "settings_zoom_level": "Zoom nível",
  "settings_zoom_level_large": "Grande",
  "settings_zoom_level_larger": "Maiores",
  "settings_zoom_level_normal": "Normal",
  "restart": "Reiniciar",
  "str_no_categories": "sem categorias",
  "msg_login_overlay_title": "Para continuar a ler",
  "msg_download_bundle": "Descarregar dados da aplicação mais recentemente...",
  "msg_download_bundle_error": "Descarregamento do bundle com erro, a aplicação tentará actualizar os dados mais tarde",
  "msg_press_restart": "Os dados  foram descarregados com sucesso, recarregar a aplicação para aplicar as alterações",
  "voice_back": " voltar",
  "voice_next": "seguinte",
  "voice_next_page": "página seguinte",
  "voice_previous": "anterior",
  "voice_previous_page": "página anterior",
  "voice_stop": "stop",
  "voice_read": "ler",
  "voice_close": "fechar",
  "voice_up": "para cima",
  "voice_down": "para baixo",
  "voice_select": "seleccionar",
  "voice_what": "o quê",
  "btn_car_mode": "Modo carro",
  "btn_close_car_mode": "Fechar modo carro",
  "msg_max_share": "Você atingiu o limite diário de compartilhamento para esta edição",
  "accessibility_issue_list_header": "Lista de edições",
  "btn_close_editions": "Fechar lista de edições",
  "btn_go_back_article": "Artigo anterior {{{index}}",
  "btn_go_next_article": "Próximo artigo {{{index}}",
  "btn_go_back_section": "Secção anterior: {section}}",
  "btn_go_next_section": "Secção seguinte: {{section}}",
  "btn_go_up_choose_issue": "Escolha a edição",
  "btn_go_up_general_index": "Ir para Índice Geral",
  "btn_go_up_section": "Vá para a seção {{section}}",
  "selected_page": "página seleccionada {{page}}",
  "selected_page_of_index": "página seleccionada {{page}} do índice",
  "selected_page_of_section": "página seleccionada {{page}} da secção {{section}}",
  "msg_entering_section": "Entrando na secção {{section}}",
  "hint_restart": "A aplicação será reiniciada para carregar novas configurações...",
  "hint_update_ui": "A interface será actualizada para carregar novas configurações...",
  "msg_simulate_accessibility_title": "Ativar o modo de acessibilidade",
  "msg_simulate_accessibility": "Esta é uma simulação da aplicação como quando o {{accessibilityAppName}} está activo.\n • toque duplo para seleccionar\n • toque único ou movimento de dedos para ler elemento\n • dois dedos para deslizar",
  "accessibility": "Acessibilidade",
  "msg_screenshots_disabled": "Capturas de tela não são permitidas neste app",
  "settings_tab_index_mode": "Ativar layout de guia no modo de índice",
  "settings_enable_push_notifications": "Ativar notificações push",
  "settings_manage_privacy_preferences": "Gerenciar preferências de privacidade",
  "theme_auto": "Claro/Escuro Automático",
  "theme_light": "Luz",
  "theme_dark": "Escuro",
  "str_sort_by": "Ordenar por",
  "str_relevance": "Relevância",
  "btn_from": "De",
  "btn_to": "Para",
  "str_date": "Data",
  "srt_order": "Ordem",
  "str_byline": "Assinatura",
  "str_descending": "descendente",
  "str_ascending": "Ascendente",
  "str_categories": "Categorias",
  "str_select": "Selecione...",
  "str_advertisement": "Anúncio",
  "iap_multiple_subscriptions": "Subscrições múltiplas",
  "iap_go_to_subscriptions": "Ir para a subscrição",
  "iap_multiple_subscriptions_message": "Descobrimos que tem várias subscrições activas, por favor desactive as que não precisa. Quando uma subscrição tiver sido desactivada, será reembolsada.{{subscriptions}}",
  "iap_multiple_active_subscriptions_message": "Já tem uma subscrição ativa, gostaria de comprar outra? {{subscriptions}}"
}
;
},1988,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "action_go_to_category": "Vai para {{anchor}}",
  "action_open_epaper": "Abrir epaper",
  "action_open_gallery": "Abrir Galeria",
  "action_open_link": "Abrir link",
  "action_remove_from_favorites": "Remover dos favoritos",
  "action_save_for_later": "Guardar para depois",
  "action_share": "Partilhar",
  "action_unknown": "Desconhecido",
  "alert_message": "Tem a certeza?",
  "all": "Toda",
  "all_events": "Todos eventos",
  "all_jobs": "Todos os Empregos",
  "animation": "Animação",
  "animation_action": "Clique no botão para mudar a animação",
  "animation_change": "Mudar de animação",
  "animation_changed": "Animação alterada",
  "article_count": "{{count}} artigos",
  "btn_accessibility": "Modo acessibilidade",
  "btn_advance_filters": "Filtros avançados",
  "btn_account": "Login",
  "btn_archive": "Arquivo",
  "btn_ask_later": "Pergunta-me depois",
  "btn_back": "Voltar",
  "btn_cancel": "Cancelar",
  "btn_close": "Fechar",
  "btn_confirm": "Confirmar",
  "btn_contact": "Contacto",
  "btn_disable_log_file": "Enviar LOG",
  "btn_do_not_show": "Não mostrar novamente",
  "btn_download": "Descarregar",
  "btn_editions": "Edições",
  "btn_enable_log_file": "Ativar LOG",
  "btn_feed": "Notícias ao vivo",
  "btn_fit_page": "Ajustar",
  "btn_g_book": "Percorrer",
  "btn_go_to_news": "Vai a Notícias",
  "btn_help": "Ajuda",
  "btn_index": "Índice",
  "btn_link": "Link",
  "btn_login": "Login",
  "btn_logout": "Logout",
  "btn_more": "Mais",
  "btn_no": "Não",
  "btn_ok": "Ok",
  "btn_publications": "Publicações",
  "btn_read": "Lê",
  "btn_reset": "Reiniciar",
  "btn_search": "Pesquisa",
  "btn_set_as_default": "Selecionar como padrão",
  "btn_settings": "Configurações",
  "btn_skip": "Saltar",
  "btn_special_section": "Especial",
  "btn_store": "Loja",
  "btn_swipe": "Percorrer",
  "btn_thumbnail": "Páginas",
  "btn_yes": "Sim",
  "cache_size": "Tamanho da Cache",
  "card": "Cartão",
  "categories": "Categorias",
  "change": "ALTERAR",
  "change_location_hint": "Alterar Localização",
  "change_radius": "Selecionar Raio",
  "clear": "LIMPAR",
  "clear_cache": "Limpar cache",
  "clear_favorites": "Limpar favoritos",
  "confirm": "Confirmar",
  "connection_0": "Modalidade Roaming",
  "connection_0_description": "Ideal quando tem largura de banda limitada. Texto é descarregado, imagens são descarregadas com resolução baixa.",
  "connection_1": "Modalidade Online",
  "connection_1_description": "Ideal quando ligado á internet.Só páginas visualizadas são descarregadas e estarão disponíveis em modalidade offline.",
  "connection_2": "Modalidade Offline",
  "connection_2_description": "Modalidade Offline: Descarrega automaticamente a edição inteira no arranque para leitura offline.",
  "counter": "{{current}} de {{total}}",
  "custom_location": "Localização personalizada",
  "database": "Base de dados",
  "database_deleted": "Base de dados eliminado",
  "default_search": "Pesquisa padrão",
  "dialog_location_message": "Usamos a sua localização para mostrar onde está no mapa",
  "dialog_location_title": "Precisamos de aceder à sua localização",
  "disabled": "Desativado",
  "enabled": "Ativado",
  "err_change_animation": "Erro ao alterar animação",
  "err_clear_cache": "Erro ao limpar cache",
  "err_clear_database": "Erro ao limpar base de dados",
  "err_clear_favorites": "Erro ao limpar favoritos",
  "err_download_psetup": "Erro durante o download de configurações base",
  "err_internet_connection": "Não foi possível conectar-se ao servidor de aplicativos. Por favor, verifique se tem uma ligação á Internet e tente novamente.",
  "err_max_min": "Filtro inválido, min deve ser menor que max",
  "err_offline": "Não disponível offline",
  "err_retrieve_cache": "Erro ao recuperar o cache ",
  "err_retrieve_favorites": "Erro ao recuperar favoritos",
  "err_translation": "Tradução não disponível",
  "err_translation_offline": "Tradução não disponível offline",
  "error_on_load_more": "Erro ao tentar carregar mais itens",
  "fast": "Rápido",
  "favorites": "Favoritos",
  "feedback_email_feedback": "tapuserfeedback+android@tecnavia.com",
  "feedback_msg_ask_for_feedback": "Existe alguma coisa que possamos fazer para ajudar?",
  "feedback_title_request_feedback": "Está a gostar desta aplicação?",
  "feedback_title_request_review_feedback": "Ficamos felizes em saber! Gostaria de deixar uma crítica ou classificação?",
  "filter_max": "Max",
  "filter_min": "Min",
  "filter_text": "Escreva texto aqui",
  "font_extra_large": "Extra grande",
  "font_extra_small": "Extra pequeno",
  "font_large": "Grande",
  "font_normal": "Normal",
  "font_scale": "Tamanho da fonte",
  "font_small": "Pequeno",
  "from_most_recent": "Do mais recente",
  "from_oldest": "Do mais antigo",
  "gmc_default_text": "Uma nova edição está disponível. Clique aqui para ler!",
  "gmc_message_text": "O {{issue}} do jornal está disponível. Clique aqui para ler!",
  "grid": "Grelha",
  "grid_list": "Grelha/Lista",
  "home": "Home",
  "label_exit_accessibility_mode": "Sair do modo de acessibilidade",
  "label_open_browser": "Abra no navegador",
  "last_search": "Última Procura",
  "layout": "Layout",
  "learn_more": "Saiba mais",
  "list": "Lista",
  "loading": "A carregar...",
  "local_events": "Eventos Locais",
  "max_salary": "Salário máximo",
  "min_salary": "Salário mínimo",
  "msg_available_next_startup": "Esta configuração estará disponível na próxima sessão",
  "msg_clear_cache": "Limpar cache",
  "msg_clear_favorites": "Eliminar favoritos",
  "msg_copy_to_clipboard": "Copiar par clipboard",
  "msg_database_deleted": "Eliminar base de dados",
  "msg_delete_db": "Eliminar a base de dados local?",
  "msg_delete_localstorage": "Eliminar configurações pessoais?",
  "msg_delete_title": "Você quer",
  "msg_download_edition": "Fazendo download da edição...",
  "msg_download_retry": "Tentativa {{retry}} de {{maxRetries}}...",
  "msg_empty_category": "Atualmente, não há artigos atribuídos a {{category}}! Clique para atualizar",
  "msg_empty_favorites": "Atualmente, não há favoritos!",
  "msg_empty_gallery": "A galeria clicada está vazia",
  "msg_empty_list": "Atualmente, não há elementos! Clique para alterar alguns filtros",
  "msg_empty_searches": "Atualmente, não há pesquisas guardadas",
  "msg_error_category": "Algo deu errado, tente reabrir a categoria ou eliminar a base de dados atrvés das definições! Clique para atualizar",
  "msg_error_list": "Algo deu errado, tente mudar alguns filtros",
  "msg_error_newspaper": "O jornal está vazio",
  "msg_event_over": "o evento acabou",
  "msg_exit_application": "Sair da aplicação?",
  "msg_failed": "Falhada",
  "msg_list_no_articles_available_for_category": "Isso não é um erro. Atualmente, não há artigos atribuídos a esta categoria!",
  "msg_list_no_content": "Nenhum conteúdo atual",
  "msg_loading_comments": "Carregando comentários...",
  "msg_loading_more": "Carregar mais...",
  "msg_new_issue_available_title_edition": "Está actualmente a ler {{edition}}",
  "msg_new_issue_available_title_edition_date": "Está actualmente a ler a edição {{date}} de {{edition}}",
  "msg_new_issue_available": "Uma nova edição está agora disponível, gostaria de a carregar?",
  "msg_new_issue_available_edition": "Uma nova edição de {{edition}} está agora disponível, gostaria de a carregar?",
  "msg_new_issue_available_date": "A edição de {{date}} está agora disponível, gostaria de a carregar?",
  "msg_new_issue_available_edition_date": "A edição de {{date}} de {{edition}} está agora disponível, gostaria de a carregar?",
  "msg_not_on_latest_issue": "Não está a ver a última edição disponível, gostaria de a carregar agora?",
  "msg_not_on_latest_issue_edition": "Não está a ver a última edição disponível de {{edition}}, gostaria de carregá-la agora?",
  "msg_not_on_latest_issue_date": "Não está a ver a última edição disponível, gostaria de carregar a edição de {{date}}?",
  "msg_not_on_latest_issue_edition_date": "Não está a ver a última edição disponível, gostaria de carregar a edição {{date}} de {{edition}}?",
  "msg_offline_article_graph": "Para utilizar esta função em offline deverà ter descarregado a edição completa enquanto ou algumas imagens ou textos poderão faltar",
  "msg_offline_issues": "Seleciona uma edição para ler",
  "msg_opening_push": "Abrindo notificações push...",
  "msg_pending_purchases": "Concluindo compras pendentes: {{completed}} de {{total}}",
  "msg_reload_publication": "descarregar automaticamente a última edição",
  "msg_restore_default_settings": "Quer restaurar as configurações padrão?",
  "msg_rss_new_articles_available": "{{count}} novos artigos estão disponíveis",
  "msg_rss_no_new_articles_available": "Você está atualizado",
  "msg_rss_one_new_article_available": "1 novo artigo disponível",
  "msg_rss_reload_database": "Nova base de dados carregada",
  "msg_rss_update_error": "Erro durante a atualização, verifique sua ligação Internet e tente novamente",
  "msg_search_empty": "Nada foi pesquisado",
  "msg_search_lite": "Ver resultados na página",
  "msg_search_not_found": "Nenhum artigo encontrado com {{text}}",
  "msg_sent": "Enviado",
  "msg_share_unmanaged": "Opção de compartilhamento não suportada",
  "msg_tts_error": "Ocorreu um erro durante o inicio da leitura. Tente mais tarde!",
  "msg_tts_no_volume": "Aumentar volument para texto",
  "msg_tts_unsupported": "Língua não suportada, tente ler com a voz de default ou verifique se existe outro pacote de voz",
  "my_home_categories_selected": "{{categories}} categorias selecionadas para um total de {{articles}} artigos",
  "my_location": "Use a minha localização",
  "network": "Rede",
  "none": "Nenhum",
  "normal": "Normal",
  "permission_storage_message": "{{appName}} precisa de permissão de armazenamento",
  "permission_title": "{{appName}} permissão",
  "pj_from_page": "da página",
  "pj_to_page": "até à página",
  "pj_continue_to_page": "Continue para a página",
  "pj_continue_to_page_parent": "Página",
  "powered_by": "Powered by TECNAVIA",
  "powered_by_who": "Powered by {{who}}",
  "push_notification": "Notificação",
  "reader_app_text": "Quaisquer contas ou compras efetuadas fora deste app serão gerenciadas pelo “{{developerName}}.” A sua conta da App Store, a forma de pagamento vinculada e os recursos relacionados, tais como o gerenciamento da assinatura e solicitações de reembolso, não estarão disponíveis. A Apple não é responsável pela privacidade ou segurança das transações efetuadas com esse desenvolvedor.",
  "reader_app_title": "Você está prestes a sair do app e acessar um site externo. Portanto, você não estará mais realizando transações com a Apple.",
  "salary": "Salário: {{salary}}",
  "save_search": "Guardar pesquisa",
  "saved_searches": "Pesquisas guardadas",
  "search_term": "Pesquisar Termo",
  "select_after_date": "Selecione após a data",
  "select_my_home_categories": "Escolha suas categorias favoritas na lista abaixo para personalizar a sua {{category}}",
  "selected_categories": "Categorias selecionadas",
  "selected_time_range": "Período selecionado",
  "settings": "Definições",
  "settings_allow_font_scaling": "Permitir escala de fonte",
  "settings_startup_epaper": "E-Edition",
  "settings_startup_rss": "Live News",
  "settings_startup_choose": "Escolha cada vez",
  "show": "MOSTRAR",
  "sort_by_date": "Ordenar por",
  "sort_by_name": "Classificar por A-Z",
  "sort_by_name_reverse": "Classificar por Z-A",
  "sort_by_popularity": "Ordenar por Popularidade",
  "sort_date_disabled": "Ordenar na data desabilitado",
  "start_with": "Começar com",
  "str_custom": "Personalizadas",
  "str_default_language": "Retornar ao idioma original",
  "str_from": "De",
  "str_limit_label": "Número de edições para armazenar: {{days}}",
  "str_next_week": "Semana seguinte",
  "str_page": "Página",
  "str_search": "Pesquisar",
  "str_search_results": "Resultados de {{text}} - {{count}}",
  "str_special_sections": "Seções especiais",
  "str_this_week": "Uma semana",
  "str_this_weekend": "Este fim de semana",
  "str_time_range": "Intervalo de datas",
  "str_title": "Título",
  "str_to": "Para",
  "str_today": "Hoje",
  "str_tomorrow": "Amanhã",
  "str_translating_article": "Traduzindo artigo...",
  "system_error": "Ocorreu um erro",
  "theme": "Tema",
  "title_bottom_sheet": "Ações",
  "title_offline": "Sem conexão com a Internet",
  "toggle": "TOGGLE",
  "toggle_layout": "Toggle layout",
  "toggle_list": "Toggle lista",
  "toggle_map": "Toggle mapa",
  "total_events": "Eventos: {{total}}",
  "total_favorites": "Favoritos: {{total}}",
  "total_jobs": "Empregos: {{total}}",
  "total_searches": "Pesquisas: {{total}}",
  "tutorial": "Tutorial",
  "unknown_salary": "Salário Desconhecido",
  "unsave_search": "Remover pesquisa guardada",
  "version": "Versão",
  "vertical_job_location_hint": "Selecione um local",
  "vertical_job_text_hint": "Insira uma palavra-chave para pesquisa",
  "offline_download_warning": "Esta edição não é totalmente baixado. Algumas partes das páginas pode parecer desfocada.",
  "offline_download_dialog": "Quer descarregar a edição completa para leitura offline?",
  "user_tip_download_title": "Dica do Utilizador",
  "user_tip_download": "Para descarregar automaticamente todas as edições para leitura offline, seleccione 'Mais' > 'Configurações' > 'Offline' como a sua configuração de rede preferida",
  "mobile_network_warning": "Está ligado a uma rede móvel em vez de WiFi",
  "msg_operation_completed": "Operação concluída",
  "msg_ok_delete_db": "Todas as edições guardadas foram eliminadas",
  "msg_font_scaling": "Quer manter este parâmetro dentro desta aplicação?",
  "msg_font_scaling_title": "Definiu um tamanho de texto personalizado no seu dispositivo",
  "msg_download_rss": "Baixando novos artigos...",
  "settings_translate": "Traduzir o artigo em",
  "settings_themes": "Tema",
  "settings_font_size": "Tamanho dos caracteres",
  "settings_graph_size": "Nível de zoom",
  "settings_number_stored_editions": "Número máximo de edições guardadas",
  "settings_restart_from_latest": "Reiniciar da última edição disponível (min)",
  "settings_article_mode": "Modo artigo",
  "settings_article_mode_all": "Mostrar tudo",
  "settings_article_mode_text_and_graphics": "Mostrar artigos e gráficos",
  "settings_article_mode_only_text": "Mostrar apenas artigos",
  "settings_restore_defaults": "Restaurar configurações",
  "settings_clear_storage": "Limpar dados",
  "settings_back_to_classic": "Voltar à eEdition Clássica",
  "settings_two_fingers_tap_to_article": "Usa toque com dois dedos para abrir a modo artigo",
  "settings_single_tap_to_zoom": "Usa um tap para zoomar",
  "settings_favorite_edition": "Escolha a sua edição favorita",
  "settings_favorite_edition_default_label": "Última edição disponível",
  "reset": "REDEFINIR",
  "open": "ABRIR",
  "settings_enable_column_view": "Habilitar modo de leitura em colunas",
  "settings_navigation_arrows": "Setas de navegação",
  "settings_navigation_arrows_always": "sempre presentes",
  "settings_navigation_arrows_disapper": "desaparecem quando em leitura",
  "settings_navigation_arrows_never": "nunca presentes",
  "general": "Configurações do aplicativo",
  "settings_translate_original": "Língua original",
  "advance": "{{label}} | Configurações avançadas",
  "send": "MANDAR",
  "btn_feedback": "Feedback",
  "return": "RETORNA",
  "settings_article_highlight": "Manter o artigo actual em destaque quando o modo de artigo estiver aberto",
  "write": "ESCREVER",
  "btn_continue": "Continue",
  "btn_go_back": "Volte",
  "btn_go_next": "Próximo",
  "btn_go_up": "Nível anterior",
  "action_go_to_settings": "Ir para definições",
  "btn_reload": "Recarregar",
  "btn_tts": "Ativare/desativare text to speech",
  "btn_close_accessibility": "Fechar modo de acessibilidade",
  "err_module_unavailable": "{{module}}  não disponível nesta aplicação",
  "force_crash": "Forçar crash",
  "hint_my_home_screen_config": "Para personalizar {{{label}}",
  "hint_two_fingers_tap": "Para ler um artigo toque na área do artigo com dois dedos",
  "msg_access_reserved": "Acesso reservado a subscritores",
  "msg_already_subscriber": "Já é um assinante? Login",
  "msg_continue_to_read": "Subscrever {{{paper}}",
  "settings_zoom_level": "Zoom nível",
  "settings_zoom_level_large": "Grande",
  "settings_zoom_level_larger": "Maiores",
  "settings_zoom_level_normal": "Normal",
  "restart": "Reiniciar",
  "str_no_categories": "sem categorias",
  "msg_login_overlay_title": "Para continuar a ler",
  "msg_download_bundle": "Descarregar dados da aplicação mais recentemente...",
  "msg_download_bundle_error": "Descarregamento do bundle com erro, a aplicação tentará actualizar os dados mais tarde",
  "msg_press_restart": "Os dados  foram descarregados com sucesso, recarregar a aplicação para aplicar as alterações",
  "voice_back": " voltar",
  "voice_next": "seguinte",
  "voice_next_page": "página seguinte",
  "voice_previous": "anterior",
  "voice_previous_page": "página anterior",
  "voice_stop": "stop",
  "voice_read": "ler",
  "voice_close": "fechar",
  "voice_up": "para cima",
  "voice_down": "para baixo",
  "voice_select": "seleccionar",
  "voice_what": "o quê",
  "msg_max_share": "Você atingiu o limite diário de compartilhamento para esta edição",
  "accessibility_issue_list_header": "Lista de edições",
  "btn_close_editions": "Fechar lista de edições",
  "btn_go_back_article": "Artigo anterior {{{index}}",
  "btn_go_next_article": "Próximo artigo {{{index}}",
  "btn_go_back_section": "Secção anterior: {section}}",
  "btn_go_next_section": "Secção seguinte: {{section}}",
  "btn_go_up_choose_issue": "Escolha a edição",
  "btn_go_up_general_index": "Ir para Índice Geral",
  "btn_go_up_section": "Vá para a seção {{section}}",
  "selected_page": "página seleccionada {{page}}",
  "selected_page_of_index": "página seleccionada {{page}} do índice",
  "selected_page_of_section": "página seleccionada {{page}} da secção {{section}}",
  "msg_entering_section": "Entrando na secção {{section}}",
  "hint_restart": "A aplicação será reiniciada para carregar novas configurações...",
  "hint_update_ui": "A interface será actualizada para carregar novas configurações...",
  "msg_simulate_accessibility_title": "Ativar o modo de acessibilidade",
  "msg_simulate_accessibility": "Esta é uma simulação da aplicação como quando o {{accessibilityAppName}} está activo.\n • toque duplo para seleccionar\n • toque único ou movimento de dedos para ler elemento\n • dois dedos para deslizar",
  "accessibility": "Acessibilidade",
  "msg_screenshots_disabled": "Capturas de tela não são permitidas neste app",
  "settings_tab_index_mode": "Ativar layout de guia no modo de índice",
  "settings_enable_push_notifications": "Ativar notificações push",
  "settings_manage_privacy_preferences": "Gerenciar preferências de privacidade",
  "theme_auto": "Claro/Escuro Automático",
  "theme_light": "Luz",
  "theme_dark": "Escuro",
  "str_sort_by": "Ordenar por",
  "str_relevance": "Relevância",
  "btn_from": "De",
  "btn_to": "Para",
  "str_date": "Data",
  "srt_order": "Ordem",
  "str_byline": "Assinatura",
  "str_descending": "descendente",
  "str_ascending": "Ascendente",
  "str_categories": "Categorias",
  "str_select": "Selecione...",
  "str_advertisement": "Anúncio",
  "iap_multiple_subscriptions": "Subscrições múltiplas",
  "iap_go_to_subscriptions": "Ir para a subscrição",
  "iap_multiple_subscriptions_message": "Descobrimos que tem várias subscrições activas, por favor desactive as que não precisa. Quando uma subscrição tiver sido desactivada, será reembolsada.{{subscriptions}}",
  "iap_multiple_active_subscriptions_message": "Já tem uma subscrição ativa, gostaria de comprar outra? {{subscriptions}}"
}
;
},1989,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "action_go_to_category": "Ga naar {{anchor}}",
  "action_open_epaper": "Open de e-Paper",
  "action_open_gallery": "Open de galerij",
  "action_open_link": "Open de link",
  "action_remove_from_favorites": "Verwijder uit favorieten",
  "action_save_for_later": "Bewaar voor later",
  "action_share": "Delen",
  "action_unknown": "Onbekend",
  "alert_message": "Weet u het zeker?",
  "all": "Alle",
  "all_events": "Alle evenementen",
  "all_jobs": "Alle vacatures",
  "animation": "Animatie",
  "animation_action": "Klik op de knop om de animatie te wijzigen",
  "animation_change": "Animatie wijzigen",
  "animation_changed": "Animation gewijzigd",
  "article_count": "{{count}} artikelen",
  "btn_accessibility": "Toegankelijkheidsmodus",
  "btn_account": "Log in",
  "btn_advance_filters": "Geavanceerde filters",
  "btn_archive": "Archief",
  "btn_ask_later": "Vraag het mij later",
  "btn_back": "Terug",
  "btn_cancel": "Annuleer",
  "btn_close": "Skip",
  "btn_confirm": "Bevestigen",
  "btn_contact": "Contact",
  "btn_disable_log_file": "Verstuur LOG",
  "btn_do_not_show": "Niet meer laten zien",
  "btn_download": "Download",
  "btn_editions": "Edities",
  "btn_enable_log_file": "Activeer LOG",
  "btn_feed": "Live Nieuws",
  "btn_fit_page": "Passend maken",
  "btn_g_book": "Blad omslaan",
  "btn_go_to_news": "Ga naar nieuws",
  "btn_help": "Ondersteuning",
  "btn_index": "Index",
  "btn_link": "Link",
  "btn_login": "Log in",
  "btn_logout": "Uitloggen",
  "btn_more": "Meer",
  "btn_no": "Nee",
  "btn_ok": "OK",
  "btn_publications": "Publicaties",
  "btn_read": "Lezen",
  "btn_reset": "Reset",
  "btn_search": "Zoeken",
  "btn_set_as_default": "Als stand. inst.",
  "btn_settings": "Instellingen",
  "btn_skip": "Overslaan",
  "btn_special_section": "Special",
  "btn_store": "Bewaren",
  "btn_swipe": "Blad omslaan",
  "btn_thumbnail": "Pagina's",
  "btn_yes": "Ja",
  "cache_size": "Cache grootte",
  "card": "Kaart",
  "categories": "Categorieën",
  "change": "VERANDER",
  "change_location_hint": "Locatie wijzigen",
  "change_radius": "Selecteer Radius",
  "clear": "VERWIJDER",
  "clear_cache": "Verwijder cache",
  "clear_favorites": "Verwijder favorieten",
  "confirm": "Bevestigen",
  "connection_0": "Mobiele modus",
  "connection_0_description": "Tekstmodus. Bij beperkte bandbreedte.",
  "connection_1": "3G Modus",
  "connection_1_description": "Grafische/tekstuele presentatie van de editie. Download beperkt tot mobiele modus.",
  "connection_2": "Wifi Mode",
  "connection_2_description": "Wifi Mode:  Grafische/tekstuele presentatie van de editie. Ook grafische elementen kunnen gedownload worden",
  "counter": "{{current}} van {{total}}",
  "custom_location": "Gepersonaliseerde Locatie",
  "database": "Database",
  "database_deleted": "Database verwijderd",
  "default_search": "Standaard zoeken",
  "dialog_location_message": "We gebruiken uw locatie om op de kaart te laten zien waar u bent",
  "dialog_location_title": "We hebben toegang tot uw locatie nodig",
  "disabled": "Uitgeschakeld",
  "enabled": "Ingeschakeld",
  "err_change_animation": "Fout bij het wijzigen van de animatie",
  "err_clear_cache": "Fout bij het wissen van de cache",
  "err_clear_database": "Fout bij het wissen van de database",
  "err_clear_favorites": "Fout bij het opschonen van de favorieten",
  "err_download_edition": "Er is een fout opgetreden bij het downloaden van de editie",
  "err_download_edition_db": "Er is een fout opgetreden bij het downloaden van de editie database",
  "err_download_psetup": "Fout tijdens het downloaden van basisconfiguraties",
  "err_internet_connection": "Kon geen verbinding maken met de applicatieserver. Zorg ervoor dat u verbinding heeft met het internet en probeer het opnieuw",
  "err_max_min": "Ongeldig filter, min. moet kleiner zijn dan max.",
  "err_offline": "Niet offline beschikbaar",
  "err_retrieve_cache": "Fout bij het ophalen van de cache",
  "err_retrieve_favorites": "Fout bij het ophalen van de favorieten",
  "err_translation": "Vertaling niet beschikbaar",
  "err_translation_offline": "Vertaling niet offline beschikbaar",
  "error_on_load_more": "Fout bij het laden van meer items",
  "fast": "Snel",
  "favorites": "Favorieten",
  "feedback_email_feedback": "tapuserfeedback+android@tecnavia.com",
  "feedback_msg_ask_for_feedback": "Is er iets dat wij kunnen doen om u behulpzaam te zijn?",
  "feedback_title_request_feedback": "Geniet u van de App?",
  "feedback_title_request_review_feedback": "Goed om te horen! Wilt u een recensie of puntenbeoordeling achterlaten?",
  "filter_max": "Max",
  "filter_min": "Min",
  "filter_text": "Schrijf hier uw tekst",
  "font_extra_large": "Extra groot",
  "font_extra_small": "Extra klein",
  "font_large": "Groot",
  "font_normal": "Normaal",
  "font_scale": "Grootte lettertype",
  "font_small": "Klein",
  "from_most_recent": "Uit de meest recente",
  "from_oldest": "Uit de oudste",
  "gmc_default_text": "Er is een nieuwe uitgave beschikbaar. Tap hier om te lezen!",
  "gmc_message_text": "De titel {{issue}} is nu beschikbaar. Tap hier om te lezen!",
  "grid": "Raster",
  "grid_list": "raster/lijst",
  "home": "Home",
  "label_exit_accessibility_mode": "Verlaat de Toegankelijkheidsmodus",
  "label_open_browser": "Open in de browser",
  "last_search": "Laatste zoekopdracht",
  "layout": "Layout",
  "learn_more": "Lees meer",
  "list": "Lijst",
  "loading": "Bezig met laden...",
  "local_events": "Lokale evenementen",
  "max_salary": "Max. salaris",
  "min_salary": "Min. salaris",
  "msg_available_next_startup": "Deze configuratie is beschikbaar na een herstart",
  "msg_clear_cache": "Verwijder cache",
  "msg_clear_favorites": "Verwijder favorieten",
  "msg_copy_to_clipboard": "Kopieer naar klembord",
  "msg_database_deleted": "Verwijder database",
  "msg_delete_db": "Databasegegevens verwijderen?",
  "msg_delete_localstorage": "Persoonlijke instellingen wissen?",
  "msg_delete_title": "Wil je",
  "msg_download_edition": "Bezig met downloaden van editie...",
  "msg_download_retry": "Poging {{retry}} van {{maxRetries}}...",
  "msg_empty_category": "Momenteel zijn er geen artikelen toegewezen aan {{category}}! Tap om te verversen",
  "msg_empty_favorites": "Momenteel zijn er geen favorieten!",
  "msg_empty_gallery": "De aangeklikte galerij is leeg",
  "msg_empty_list": "Momenteel zijn er geen elementen beschikbaar! Tap om sommige filters te wijzigen",
  "msg_empty_searches": "Momenteel zijn er geen opgeslagen zoekopdrachten!",
  "msg_error_category": "Er is iets misgegaan, probeer de categorie opnieuw te openen of verwijder de database uit de instellingen ! Tap om te verversen",
  "msg_error_list": "Er is iets misgegaan, probeer een aantal filters te veranderen",
  "msg_error_newspaper": "Krant is leeg",
  "msg_event_over": "'Het evenement is voorbij.'",
  "msg_exit_application": "De applicatie verlaten?",
  "msg_failed": "Mislukt",
  "msg_list_no_articles_available_for_category": "Dit is geen fout. Momenteel zijn er geen artikelen aan deze categorie toegewezen!",
  "msg_list_no_content": "Geen actuele inhoud",
  "msg_loading_comments": "Opmerkingen laden...",
  "msg_loading_more": "Meer laden...",
  "msg_new_issue_available": "Een nieuwe krant is nu beschikbaar: wilt u deze downloaden?",
  "msg_not_on_latest_issue": "Dit is niet de meest recente krant: wilt u deze downloaden?",
  "msg_new_issue_available_title_edition": "Je leest momenteel {{edition}}",
  "msg_new_issue_available_title_edition_date": "U leest momenteel het nummer van {{date}} van {{edition}}",
  "msg_new_issue_available_edition": "Er is nu een nieuwe editie van {{edition}} beschikbaar, wil je hem laden?",
  "msg_new_issue_available_date": "Het nummer van {{date}} is nu beschikbaar, wil je hem laden?",
  "msg_new_issue_available_edition_date": "Het nummer van {{edition}} van {{date}}is nu beschikbaar, wil je hem laden?",
  "msg_not_on_latest_issue_edition": "U ziet niet de laatst beschikbare editie van {{edition}}, wil je hem nu laden?",
  "msg_not_on_latest_issue_date": "U kijkt niet naar de laatst beschikbare editie, wilt u het nummer van {{date}} downloaden?",
  "msg_not_on_latest_issue_edition_date": "U kijkt niet naar de laatst beschikbare editie, wil je het nummer van {{date}} van {{edition}} downloaden?",
  "msg_offline_article_graph": "Als u deze functie offline wilt inschakelen dan dient u de uitgave volledig te downloaden of sommige afbeeldingen of tekstfragmenten kunnen ontbreken.",
  "msg_offline_issues": "Selecteer een gedownloade versie te lezen",
  "msg_opening_push": "Pushmeldingen openen...",
  "msg_pending_purchases": "Aankopen in behandeling afronden: {{completed}} van {{total}}",
  "msg_reload_publication": "Automatisch de nieuwste editie downloaden?",
  "msg_restore_default_settings": "Wilt u de standaard app-instellingen herstellen?",
  "msg_rss_new_articles_available": "{{count}} nieuwe artikelen zijn beschikbaar",
  "msg_rss_no_new_articles_available": "U bent up-to-date",
  "msg_rss_one_new_article_available": "1 nieuw artikel is beschikbaar",
  "msg_rss_reload_database": "Nieuwe database gedownload",
  "msg_rss_update_error": "Fout tijdens de update, controleer uw internetverbinding en probeer opnieuw",
  "msg_search_empty": "Niets werd doorzocht",
  "msg_search_lite": "Bekijk resultaten op pagina",
  "msg_search_not_found": "Geen artikel gevonden met {{text}}",
  "msg_sent": "Verstuurd",
  "msg_share_unmanaged": "Optie om te delen onbeheerd",
  "msg_tts_error": "Er treedt een fout op, later proberen!",
  "msg_tts_no_volume": "Verhoog volume naar luisterende tekst",
  "msg_tts_unsupported": "Niet-ondersteunde taal, probeer de standaardvoice te gebruiken of controleer of er een aangepast taalpakket bestaat!",
  "my_home_categories_selected": "{{categories}} categorieën geselcteerd voor een totaal aantal van {{articles}} artikelen",
  "my_location": "Gebruik mijn locatie",
  "network": "Netwerk",
  "none": "Geen",
  "normal": "Normaal",
  "permission_storage_message": "{{appName}} toestemming voor opslag nodig",
  "permission_title": "{{appName}} toestemming",
  "pj_from_page": "van pagina",
  "pj_to_page": "naar pagina",
  "pj_continue_to_page": "Ga verder naar pagina",
  "pj_continue_to_page_parent": "Pagina",
  "powered_by": "Powered by TECNAVIA",
  "powered_by_who": "Mogelijk gemaakt door {{who}}",
  "push_notification": "Pushmelding",
  "reader_app_text": "Alle accounts of aankopen die aangemaakt of gedaan zijn buiten deze app worden beheerd door de ontwikkelaar '{{developerName}}'. Je App Store-account, bewaarde betaalmethode en andere gerelateerde diensten, zoals abonnementsbeheer en restitutieverzoeken zijn niet beschikbaar. Apple is niet verantwoordelijk voor de privacy of beveiliging van transacties met deze ontwikkelaar.",
  "reader_app_title": "Je staat op het punt om de app te verlaten en naar een externe website te gaan. Je hebt geen transacties meer met Apple.",
  "retry": "Opnieuw",
  "salary": "Salaris: {{salary}}",
  "save_search": "Zoekopdracht opslaan",
  "saved_searches": "Bewaarde Zoekopdrachten",
  "search_term": "Zoekterm",
  "select_after_date": "Kies na datum",
  "select_my_home_categories": "Kies uit onderstaande lijst uw favoriete categorieën en personaliseer {{category}}",
  "selected_categories": "Geselecteerde categorieën",
  "selected_time_range": "Geselecteerd datumbereik",
  "settings": "Instellingen",
  "settings_allow_font_scaling": "Schalen van lettertypen toestaan",
  "settings_startup_epaper": "E-Edition",
  "settings_startup_rss": "Live Nieuws",
  "settings_startup_choose": "Kies elke keer",
  "show": "SHOW",
  "sort_by_date": "Sorteer op datum:",
  "sort_by_name": "Sorteer op A-Z",
  "sort_by_name_reverse": "Sorteer op Z-A",
  "sort_by_popularity": "Sorteren op populariteit",
  "sort_date_disabled": "Sorteren op datum uitschakelen",
  "start_with": "Begin met",
  "str_custom": "Custom",
  "str_default_language": "Keer terug naar de oorspronkelijke taal",
  "str_from": "Vanaf",
  "str_limit_label": "Max opgeslagen edities: {{days}}",
  "str_next_week": "Volgende week",
  "str_page": "Pagina",
  "str_search": "Zoeken",
  "str_search_results": "{{text}} - {{count}} resultaten",
  "str_special_sections": "Speciale secties",
  "str_this_week": "Deze Week",
  "str_this_weekend": "Dit weekend",
  "str_time_range": "Datumbereik",
  "str_title": "Titel",
  "str_to": "Tot",
  "str_today": "Vandaag",
  "str_tomorrow": "Morgen",
  "str_translating_article": "Artikel vertalen...",
  "system_error": "Er is een fout opgetreden",
  "title_bottom_sheet": "Acties",
  "title_offline": "Geen internet verbinding",
  "toggle": "WISSELEN",
  "toggle_layout": "Layout ",
  "toggle_list": "Van lijst wisselen",
  "toggle_map": "Van map wisselen",
  "total_events": "Evenementen: {{total}}",
  "total_favorites": "Favorieten: {{total}}",
  "total_jobs": "Vacatures: {{total}}",
  "total_searches": "Zoekopdrachten: {{total}}",
  "tutorial": "Handleiding",
  "unknown_salary": " Salaris onbekend",
  "unsave_search": "Opgeslagen zoekopdracht verwijderen",
  "version": "Versie",
  "vertical_job_location_hint": "Kies een locatie",
  "vertical_job_text_hint": "Voer een trefwoord in om te zoeken",
  "offline_download_warning": "Deze uitgave is niet volledig gedownload. Sommige delen van de pagina's kunnen derhalve onscherp getoond worden.",
  "user_tip_download_title": "Gebruikerstip",
  "user_tip_download": "Indien u alle edities automatisch wilt downloaden om offline te kunnen bekijken, druk dan op de knop 'Meer' -> 'Instellingen' -> Selecteer 'Wifi mode' als netwerkmodus",
  "offline_download_dialog": "Wilt u de volledige uitgave downloaden om offline te kunnen lezen?",
  "mobile_network_warning": "U bent verbonden met een mobiel netwerk in plaats van WiFi",
  "msg_operation_completed": "Bewerking voltooid",
  "msg_ok_delete_db": "Alle opgeslagen edities zijn verwijderd",
  "msg_download_rss": "Nieuwe artikelen downloaden...",
  "settings_translate": "Vertaal artikelen naar",
  "settings_themes": "Thema",
  "settings_font_size": "Lettertypegrootte",
  "settings_graph_size": "Zoomniveau",
  "settings_number_stored_editions": "Max opgeslagen edities",
  "settings_restart_from_latest": "Herstart van de laatste editie beschikbaar (min)",
  "settings_article_mode": "Artikelmodus",
  "settings_article_mode_all": "Toon alles",
  "settings_article_mode_text_and_graphics": "Toon artikelen en afbeeldingen",
  "settings_article_mode_only_text": "Alleen artikelen weergeven",
  "settings_restore_defaults": "Standaard instellingen terugzetten",
  "settings_clear_storage": "Klar lagring",
  "settings_back_to_classic": "Keer terug naar de klassieke editie",
  "settings_two_fingers_tap_to_article": "Gebruik de twee vinger tap om een artikel te openen in tekstmodus",
  "settings_single_tap_to_zoom": "Gebruik de enkele tap om in te zoomen",
  "settings_favorite_edition": "Kies je favoriete editie",
  "settings_favorite_edition_default_label": "Laatste editie beschikbaar",
  "reset": "RESET",
  "open": "OPEN",
  "settings_enable_column_view": "Weergave van artikelen met meerdere kolommen inschakelen",
  "settings_navigation_arrows": "Navigatiepijlen",
  "settings_navigation_arrows_always": "altijd aanwezig",
  "settings_navigation_arrows_disapper": "verdwijnen tijdens het lezen",
  "settings_navigation_arrows_never": "nooit aanwezig",
  "general": "App instellingen",
  "settings_translate_original": "Originele taal",
  "advance": "{{label}} | Geavanceerde instellingen",
  "send": "VERSTUREN",
  "btn_feedback": "Feedback",
  "return": "OPBRENGST",
  "settings_article_highlight": "Houd het huidige artikel gemarkeerd wanneer de artikelmodus is geopend",
  "write": "SCHRIJVEN",
  "btn_continue": "Ga door",
  "btn_go_back": "Ga terug",
  "btn_go_next": "Ga volgende",
  "btn_go_up": "Vorig niveau",
  "action_go_to_settings": "Ga naar Instellingen",
  "btn_reload": "Herladen",
  "btn_tts": "Schakel tekst naar spraak",
  "btn_close_accessibility": "Toegankelijkheidsmodus sluiten",
  "err_module_unavailable": "{{module}} niet beschikbaar in deze app",
  "force_crash": "Forceer crash",
  "hint_my_home_screen_config": "Om {{label}} te personaliseren",
  "hint_two_fingers_tap": "Om een ​​artikel te lezen, tikt u met twee vingers op het artikelgebied",
  "hint_restart": "De applicatie zal opnieuw opstarten om nieuwe configuraties te laden...",
  "hint_update_ui": "De gebruikersinterface wordt bijgewerkt om nieuwe instellingen te laden, mogelijk ziet u een flikkering...",
  "msg_access_reserved": "Toegang voorbehouden aan abonnees",
  "msg_already_subscriber": "Ben je al abonnee? Log in",
  "msg_continue_to_read": "Abonneer je op {{paper}}",
  "theme": "Thema",
  "settings_zoom_level": "Zoomniveau",
  "settings_zoom_level_large": "Groot",
  "settings_zoom_level_larger": "groter",
  "settings_zoom_level_normal": "normaal",
  "restart": "Herstarten",
  "str_no_categories": "geen categorieën",
  "msg_login_overlay_title": "Om verder te lezen",
  "voice_back": "terug",
  "voice_what": "wat",
  "voice_next": "volgende",
  "voice_next_page": "volgende pagina",
  "voice_previous": "vorige",
  "voice_previous_page": "vorige pagina",
  "voice_stop": "stop",
  "voice_read": "lezen",
  "voice_close": "close",
  "voice_up": "up",
  "voice_down": "down",
  "voice_select": "select",
  "msg_max_share": "Je hebt de dagelijkse limiet voor delen voor deze editie bereikt",
  "accessibility": "Toegankelijkheid",
  "msg_simulate_accessibility_title": "Toegankelijkheidsmodus inschakelen",
  "msg_screenshots_disabled": "Schermafbeeldingen zijn niet toegestaan ​​in deze app",
  "settings_tab_index_mode": "Schakel tabbladindeling in indexmodus in",
  "settings_enable_push_notifications": "Schakel pushmeldingen in",
  "settings_manage_privacy_preferences": "Beheer privacyvoorkeuren",
  "theme_auto": "Automatisch licht/donker",
  "theme_light": "Licht",
  "theme_dark": "Donker",
  "str_sort_by": "Sorteer op",
  "str_relevance": "Relevantie",
  "btn_from": "Van",
  "btn_to": "Naar",
  "str_date": "Datum",
  "srt_order": "Volgorde",
  "str_byline": "Naamregel",
  "str_descending": "Aflopend",
  "str_ascending": "Oplopend",
  "str_categories": "Categorieën",
  "str_select": "Selecteer...",
  "str_advertisement": "Advertentie",
  "iap_go_to_subscriptions": "Ga naar abonnement",
  "iap_multiple_subscriptions": "Meerdere abonnementen",
  "iap_multiple_subscriptions_message": "We hebben vastgesteld dat u meerdere actieve abonnementen heeft. Schakel de abonnementen uit die u niet nodig heeft. Wanneer een abonnement is uitgeschakeld, wordt het terugbetaald.{{subscriptions}}",
  "iap_multiple_active_subscriptions_message": "U heeft al een actief abonnement, maar wilt u toch een nieuw abonnement aanschaffen? {{subscriptions}}"
}
;
},1990,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "action_go_to_category": "Gå til {{anchor}}",
  "action_open_epaper": "Åpne epaper",
  "action_open_gallery": "Åpne galleri",
  "action_open_link": "Åpne lenke",
  "action_remove_from_favorites": "Fjern fra favoritter",
  "action_save_for_later": "Lagre til senere",
  "action_share": "Dele",
  "action_unknown": "Ukjent",
  "alert_message": "Er du sikker?",
  "all": "Alt",
  "all_events": "&Hendingar",
  "all_jobs": "Alle jobber",
  "animation": "Animasjon",
  "animation_action": "Klikk på knappen for å endre animasjon",
  "animation_change": "Animasjon endre",
  "animation_changed": "Animasjon endret",
  "article_count": "{{count}} artikler",
  "btn_accessibility": "Tilgjengelighetsmodus",
  "btn_account": "Logg Inn",
  "btn_advance_filters": "Forhånd filtre",
  "btn_archive": "Arkiv",
  "btn_ask_later": "Spør Meg Senere",
  "btn_back": "tilbake",
  "btn_cancel": "Avbryt",
  "btn_close": "Lukk",
  "btn_confirm": "Bekreft",
  "btn_contact": "Kontakt",
  "btn_disable_log_file": "Send LOGG",
  "btn_do_not_show": "Ikke Vis Igjen",
  "btn_download": "Nedlasting",
  "btn_editions": "Editions",
  "btn_enable_log_file": "Aktiver LOGG",
  "btn_feed": "Live News",
  "btn_fit_page": "Filter",
  "btn_g_book": "Bla gjennom",
  "btn_go_to_news": "Gå til nyheter",
  "btn_help": "Hjelp",
  "btn_index": "Indeks",
  "btn_link": "Lenkje",
  "btn_login": "Logg inn",
  "btn_logout": "Logg ut",
  "btn_more": "Meir",
  "btn_no": "Nei",
  "btn_ok": "Ja",
  "btn_publications": "Publikasjoner",
  "btn_read": "Lese",
  "btn_reset": "Tilbakestill",
  "btn_search": "Søke",
  "btn_set_as_default": "Sett som standard",
  "btn_settings": "Innstillingar",
  "btn_skip": "Hopp",
  "btn_special_section": "Spesial",
  "btn_store": "Lagra",
  "btn_swipe": "Bla gjennom",
  "btn_thumbnail": "Sider",
  "btn_yes": "Ja:",
  "cache_size": "Cache-størrelse",
  "card": "Kort",
  "categories": "Kategoriler",
  "change": "ENDRE",
  "change_location_hint": "Velg nytt sted",
  "change_radius": "Velg Radius",
  "clear": "KLART",
  "clear_cache": "Slett cache",
  "clear_favorites": "Klare favoritter",
  "confirm": "Bekreft",
  "connection_0": "Roaming-modus",
  "connection_0_description": "Ideell når begrenset båndbredde er tilgjengelig. Tekstversjonen av utgaven er lastet ned, bilder vil bli vist med svært lav oppløsning.",
  "connection_1": "Online-modus",
  "connection_1_description": "Ideell mens du er koblet til Internett. Bare sider som vises er lastet ned og tilgjengelig for offline lesing.",
  "connection_2": "Frakoblet modus",
  "connection_2_description": "Frakoblet modus:  Laster automatisk ned hele utgaven ved oppstart for offline lesing.",
  "counter": "{{current}} av {{total}}",
  "custom_location": "Eigendefinert stad",
  "database": "Database",
  "database_deleted": "Database slettet",
  "default_search": "Standard søk",
  "dialog_location_message": "Vi bruker din posisjon til å vise hvor du er på kartet",
  "dialog_location_title": "Vi trenger å få tilgang til posisjonen din",
  "disabled": "Funksjonshemmede",
  "enabled": "Aktivert",
  "err_change_animation": "Feil å endre animasjon",
  "err_clear_cache": "Feil å tømme cache",
  "err_clear_database": "Feil å fjerne database",
  "err_clear_favorites": "Feil å klare favoritter",
  "err_download_edition": "Det oppstod en feil under nedlastingen av utgåven",
  "err_download_edition_db": "Det oppstod en feil under nedlasting av utgåveens database",
  "err_download_psetup": "Feil under nedlasting av base-konfigurasjoner",
  "err_internet_connection": "Kan ikke koble til server program. Vennligst kontroller at du har internett-tilkobling, og prøv på nytt.",
  "err_max_min": "Ugyldig filter, min må være mindre enn maks",
  "err_offline": "Eksternt innhold ikke tilgjengelig offline",
  "err_retrieve_cache": "Feil å hente cache",
  "err_retrieve_favorites": "Feil å hente favoritter",
  "err_translation": "Oversettelse ikke tilgjengelig",
  "err_translation_offline": "Oversettelse ikke tilgjengelig offline",
  "error_on_load_more": "Feilmelding når du prøver å legge flere elementer",
  "fast": "Rask",
  "favorites": "Favoritter",
  "feedback_email_feedback": "tapuserfeedback+android@tecnavia.com",
  "feedback_msg_ask_for_feedback": "Er det noe vi kan gjøre for å hjelpe?",
  "feedback_title_request_feedback": "Er du nyter din tid med App?",
  "feedback_title_request_review_feedback": "Glad for å høre! Ønsker du å legge igjen en anmeldelse eller vurdering?",
  "filter_max": "Max",
  "filter_min": "Min",
  "filter_text": "Skriv tekst her",
  "font_extra_large": "Extra large",
  "font_extra_small": "Ekstra liten",
  "font_large": "Stor",
  "font_normal": "Normal",
  "font_scale": "Skrift Skala",
  "font_small": "Liten",
  "from_most_recent": "Fra den siste",
  "from_oldest": "Fra de eldste",
  "gmc_default_text": "En ny utgave er tilgjengelig. Trykk her for å lese!",
  "gmc_message_text": "{{issue}} avis er nå tilgjengelig. Trykk her for å lese!",
  "grid": "Rutenett",
  "grid_list": "grid/liste",
  "home": "Hjem",
  "label_exit_accessibility_mode": "Gå ut av Tilgjengelighetsmodus",
  "label_open_browser": "Åpne i nettleseren",
  "last_search": "Førre søk",
  "layout": "Layout",
  "learn_more": "Lees mer",
  "list": "Listen",
  "loading": "Laster...",
  "local_events": "Lokale arrangementer",
  "max_salary": "Maks. lønn",
  "min_salary": "Min. lønn",
  "msg_available_next_startup": "Denne konfigurasjonen vil være tilgjengelig neste oppstart",
  "msg_clear_cache": "Slett cache",
  "msg_clear_favorites": "Slett favoritter",
  "msg_copy_to_clipboard": "Kopier til utklippstavle",
  "msg_database_deleted": "Slette database",
  "msg_delete_db": "Slett DataBase Data?",
  "msg_delete_localstorage": "Slett personlige innstillinger?",
  "msg_delete_title": "vil du",
  "msg_download_edition": "Laster ned utgave...",
  "msg_download_retry": "Forsøk på {{retry}} av {{maxRetries}}...",
  "msg_empty_category": "Foreløpig er det ingen artikler som er tilordnet til {{category}}! Ta hurtig på for å oppdatere",
  "msg_empty_favorites": "Foreløpig er det ingen favoritter!",
  "msg_empty_gallery": "Klikket gallery er tom",
  "msg_empty_list": "Foreløpig er det ingen elementer! Trykk for å endre noen filtre",
  "msg_empty_searches": "Foreløpig er det ingen lagrede søk",
  "msg_error_category": "Noe gikk galt, prøver å åpne kategorien eller slette database fra innstillinger! Ta hurtig på for å oppdatere",
  "msg_error_list": "Noe gikk feil, prøv å endre noen filtre",
  "msg_error_newspaper": "Avisen er tom",
  "msg_event_over": "Arrangementet er over.",
  "msg_exit_application": "Avslutte programmet?",
  "msg_failed": "Feila",
  "msg_list_no_articles_available_for_category": "Dette er ikke en feil. Foreløpig er det ingen artikler lagt til i denne kategorien!",
  "msg_list_no_content": "Ingen nåværende innhold",
  "msg_loading_comments": "Lastar inn kommentarer...",
  "msg_loading_more": "Legge i mer...",
  "msg_new_issue_available": "En ny utgave er nå tilgjengelig, vil du laste den ned?",
  "msg_not_on_latest_issue": "Du ser ikke på den siste tilgjengelige utgaven, vil du laste den nå?",
  "msg_new_issue_available_title_edition": "Du leser for øyeblikket {{edition}}",
  "msg_new_issue_available_title_edition_date": "Du leser for øyeblikket {{date}}-utgaven av {{edition}}",
  "msg_new_issue_available_edition": "En ny utgave av {{edition}} er nå tilgjengelig, vil du laste den?",
  "msg_new_issue_available_date": "{{date}}-utgaven er nå tilgjengelig. Vil du laste den?",
  "msg_new_issue_available_edition_date": "{{date}}-utgaven av {{edition}} er nå tilgjengelig, vil du laste den?",
  "msg_not_on_latest_issue_edition": "Du ser ikke den siste tilgjengelige utgaven av {{edition}}, vil du laste den nå?",
  "msg_not_on_latest_issue_date": "Du ser ikke på den siste tilgjengelige utgaven, vil du laste ned {{date}}-utgaven?",
  "msg_not_on_latest_issue_edition_date": "Du ser ikke på den siste tilgjengelige utgaven, vil du laste ned {{date}}-utgaven av {{edition}}?",
  "msg_offline_article_graph": "Hvis du vil bruke denne funksjonen i frakoblet modus, må du ha lastet ned hele utgaven, eller noen bilder eller tekststykker kan mangle.",
  "msg_offline_issues": "Velg en nedlastet utgave for å lese",
  "msg_opening_push": "Åpner push-varsler...",
  "msg_pending_purchases": "Fullfører ventende kjøp: {{completed}} av {{total}}",
  "msg_reload_publication": "last ned automatisk den nyeste utgaven?",
  "msg_restore_default_settings": "Vil du gjenopprette standard appinnstillinger?",
  "msg_rss_new_articles_available": "{{count}} nye artikler er tilgjengelig",
  "msg_rss_no_new_articles_available": "Du er up-to-date",
  "msg_rss_one_new_article_available": "1 ny artikkel er tilgjengelig",
  "msg_rss_reload_database": "Ny database lastet ned",
  "msg_rss_update_error": "Feilmelding under oppdateringen, må du kontrollere internett-tilkoblingen, og prøv igjen",
  "msg_search_empty": "Ingenting ble søkt",
  "msg_search_lite": "Se resultater på side",
  "msg_search_not_found": "Ingen artikkel funnet med {{text}}",
  "msg_sent": "Sendt",
  "msg_share_unmanaged": "Dele alternativet ikke-administrerte",
  "msg_tts_error": "En feil oppstår, prøv igjen!",
  "msg_tts_no_volume": "Øk volumet til lystetekst",
  "msg_tts_unsupported": "Ikke støttet språk, prøv å bruke standard stemme eller sjekk om det finnes en tilpasset språkpakke!",
  "my_home_categories_selected": "{{categories}} kategorier som er valgt for en sum av {{articles}} artikler",
  "my_location": "Bruk min plassering",
  "network": "Nettverk",
  "none": "Ingen",
  "normal": "Normal",
  "permission_storage_message": "{{appName}} behov lagring tillatelse",
  "permission_title": "{{appName}} tillatelse",
  "pj_from_page": "fra side",
  "pj_to_page": "til side",
  "pj_continue_to_page": "Fortsett til siden",
  "pj_continue_to_page_parent": "Side",
  "powered_by": "Drevet av TECNAVIA",
  "powered_by_who": "Powered by {{who}}",
  "push_notification": "Push-varsling",
  "reader_app_text": "Kontoer og kjøp utenfor denne appen kommer til å håndteres av “{{developerName}}”. Din App Store-konto, lagrede betalingsmåter og andre funksjoner, som for eksempel administrasjon av abonnementer og refunderinger, kommer ikke til å være tilgjengelige. Apple er ikke ansvarlig for personvern eller sikkerhet ved transaksjoner med denne utvikleren.",
  "reader_app_title": "Du forlater nå appen og går til en ekstern nettside. Eventuelle transaksjoner kommer ikke til å håndteres av Apple.",
  "retry": "Prøv på nytt",
  "salary": "Lønn:  {{salary}}",
  "save_search": "Lagre søk",
  "saved_searches": "Lagra Søk",
  "search_term": "Søk etter begrep",
  "select_after_date": "Velg etter dato",
  "select_my_home_categories": "Plukke din favoritt kategorier fra listen nedenfor for å tilpasse {{category}}",
  "selected_categories": "Valgte kategorier",
  "selected_time_range": "Valgt datointervall",
  "settings": "Innstillinger",
  "settings_allow_font_scaling": "Tillat skrift skalering",
  "settings_startup_epaper": "E-utgave",
  "settings_startup_rss": "Live News",
  "settings_startup_choose": "Velg hver gang",
  "show": "VIS",
  "sort_by_date": "Sorter etter tid",
  "sort_by_name": "Sorter etter A-Z",
  "sort_by_name_reverse": "Sorter etter Z-A",
  "sort_by_popularity": "Sorter etter popularitet",
  "sort_date_disabled": "Sortere på dato deaktivere",
  "start_with": "Start Med",
  "str_custom": "Eigendefinert",
  "str_default_language": "Gå tilbake til originalspråket",
  "str_from": "Frå",
  "str_limit_label": "Antall utgaver som skal lagres: {{}}",
  "str_next_week": "Neste uke",
  "str_page": "Side",
  "str_search": "Søk",
  "str_search_results": "{{text}} - {{count}} resultater",
  "str_special_sections": "Spesielle seksjoner",
  "str_this_week": "Denne veka@ label",
  "str_this_weekend": "Denne helgen",
  "str_time_range": "Datointervall",
  "str_title": "Tittel",
  "str_to": "Til",
  "str_today": "I dag",
  "str_tomorrow": "I morgon",
  "str_translating_article": "Oversetter artikkelen...",
  "system_error": "Det har oppstått en feil",
  "title_bottom_sheet": "Handlinger",
  "title_offline": "Ingen Internett-tilkobling",
  "toggle": "VEKSLE",
  "toggle_layout": "Veksle layout",
  "toggle_list": "Veksle til liste",
  "toggle_map": "Veksle kart",
  "total_events": "Arrangementer: {{total}}",
  "total_favorites": "Favoritter:  {{total}}",
  "total_jobs": "Jobber:  {{total}}",
  "total_searches": "Søker:  {{total}}",
  "tutorial": "Opplæringen",
  "unknown_salary": "Ukjent Lønn",
  "unsave_search": "Fjerne lagrede søk",
  "version": "Versjon",
  "vertical_job_location_hint": "Velg et sted",
  "vertical_job_text_hint": "Skriv inn et søkeord for søk",
  "offline_download_warning": "Denne utgåven er ikke fullstendig nedlastet. Noen deler av sidene kan virke uklare.",
  "user_tip_download_title": "Bruker Tips",
  "user_tip_download": "Hvis du vil laste ned alle utgåver automatisk for offline lesing, velger du 'Meir' > 'Innstillingar' > 'Frakoblet modus' som foretrukket Nettverksinnstilling",
  "offline_download_dialog": "Ønsker du å laste ned hele utgåven for offline lesing?",
  "mobile_network_warning": "Du er koblet til et mobilnettverk i stedet for WiFi",
  "msg_operation_completed": "Drift fullført",
  "msg_ok_delete_db": "Alle lagrede utgaver er slettet",
  "msg_download_rss": "Laster ned nye artikler...",
  "settings_translate": "Oversett artikler til",
  "settings_themes": "Tema",
  "settings_font_size": "Skriftstørrelse",
  "settings_graph_size": "Zoom nivå",
  "settings_number_stored_editions": "Antall utgaver som skal lagres",
  "settings_restart_from_latest": "Start på nytt fra siste utgave (min)",
  "settings_article_mode": "Artikkelmodus",
  "settings_article_mode_all": "Vis alt",
  "settings_article_mode_text_and_graphics": "Vis artikler og grafikk",
  "settings_article_mode_only_text": "Vis kun artikler",
  "settings_restore_defaults": "Gjenopprett standardinnstillinger",
  "settings_clear_storage": "Klar lagring",
  "settings_back_to_classic": "Gå tilbake til Classic eEdition",
  "settings_two_fingers_tap_to_article": "Bruk tofinger trykk for å åpne artikkel modus",
  "settings_single_tap_to_zoom": "Bruk enkelt trykk for å zoome",
  "settings_favorite_edition": "Velg din favorittutgave",
  "settings_favorite_edition_default_label": "Siste utgave tilgjengelig",
  "reset": "NULLSTILLE",
  "open": "ÅPEN",
  "settings_enable_column_view": "Aktiver fleire kolonnevisingar av artiklar.",
  "settings_navigation_arrows": "Navigasjonspiler",
  "settings_navigation_arrows_always": "alltid til stede",
  "settings_navigation_arrows_disapper": "forsvinner når du leser",
  "settings_navigation_arrows_never": "aldri til stede",
  "general": "Appinnstillinger",
  "settings_translate_original": "Originalspråk",
  "advance": "{{label}} | Forhåndsinnstillinger",
  "send": "SENDE",
  "btn_feedback": "Tilbakemelding",
  "return": "KOMME TILBAKE",
  "settings_article_highlight": "Hold gjeldende artikkel uthevet når artikkelmodus er åpen",
  "write": "SKRIVE",
  "btn_continue": "Fortsett",
  "btn_go_back": "Gå tilbake",
  "btn_go_next": "Gå neste",
  "btn_go_up": "Forrige nivå",
  "action_go_to_settings": "Gå till Inställningar",
  "btn_tts": "Bytt tekst til tale",
  "btn_close_accessibility": "Lukk tilgjengelighetsmodus",
  "err_module_unavailable": "{{module}} er ikke tilgjengelig i denne appen",
  "force_crash": "Tving krasj",
  "hint_my_home_screen_config": "For å tilpasse {{label}}",
  "hint_two_fingers_tap": "For å lese en artikkel, trykk på artikkelområdet med to fingre",
  "hint_restart": "Applikasjonen vil starte på nytt for å laste inn nye konfigurasjoner...",
  "hint_update_ui": "Brukergrensesnittet vil oppdateres for å laste inn nye innstillinger, du kan merke et flimmer...",
  "msg_access_reserved": "Tilgang reservert for abonnenter",
  "msg_already_subscriber": "Er du allerede abonnent? Logg Inn",
  "msg_continue_to_read": "Abonner på {{paper}}",
  "theme": "Tema",
  "settings_zoom_level": "Zoomnivå",
  "settings_zoom_level_large": "Stor",
  "settings_zoom_level_larger": "Større",
  "settings_zoom_level_normal": "Vanlig",
  "restart": "Omstart",
  "str_no_categories": "ingen kategorier",
  "msg_login_overlay_title": "For å fortsette å lese",
  "voice_back": "tilbake",
  "voice_what": "hva",
  "voice_next": "neste",
  "voice_next_page": "neste side",
  "voice_previous": "forrige",
  "voice_previous_page": "forrige side",
  "voice_stop": "stopp",
  "voice_read": "les",
  "voice_close": "lukk",
  "voice_up": "opp",
  "voice_down": "ned",
  "voice_select": "velg",
  "msg_max_share": "Du har nådd delingsgrensen for denne utgaven i dag",
  "accessibility": "tilgjengelighet",
  "msg_simulate_accessibility_title": "Aktiver tilgjengelighetsmodus",
  "msg_screenshots_disabled": "Skjermbilder er ikke tillatt i denne appen",
  "settings_tab_index_mode": "Aktiver faneoppsett i indeksmodus",
  "settings_enable_push_notifications": "Aktiver push-varsler",
  "settings_manage_privacy_preferences": "Administrer personvernpreferanser",
  "theme_auto": "Automatisk lys/mørke",
  "theme_light": "Lys",
  "theme_dark": "Mørk",
  "str_sort_by": "Sorter etter",
  "str_relevance": "Relevans",
  "btn_from": "Fra",
  "btn_to": "Til",
  "srt_order": "Rekkefølge",
  "str_byline": "Byline",
  "str_descending": "Synkende",
  "str_ascending": "Stigende",
  "str_categories": "Kategorier",
  "str_select": "Plukke ut...",
  "str_advertisement": "Annonse",
  "iap_go_to_subscriptions": "Gå til abonnement",
  "iap_multiple_subscriptions": "Flere abonnementer",
  "iap_multiple_subscriptions_message": "Vi fant ut at du har flere aktive abonnementer, vennligst deaktiver de du ikke trenger. Når et abonnement har blitt deaktivert, vil det bli refundert.{{subscriptions}}",
  "iap_multiple_active_subscriptions_message": "Du har allerede et aktivt abonnement, vil du uansett kjøpe et nytt? {{subscriptions}}"

}
;
},1991,[]);
__d(function(global, require, _importDefaultUnused, _importAllUnused, module, exports, _dependencyMapUnused) {
  module.exports = {
  "action_go_to_category": "Gå til {{anchor}}",
  "action_open_epaper": "Åpne epaper",
  "action_open_gallery": "Åpne galleri",
  "action_open_link": "Åpne lenke",
  "action_remove_from_favorites": "Fjern fra favoritter",
  "action_save_for_later": "Lagre til senere",
  "action_share": "Dele",
  "action_unknown": "Ukjent",
  "alert_message": "Er du sikker?",
  "all": "Alt",
  "all_events": "Alle aktiviteter",
  "all_jobs": "Alle jobber",
  "animation": "Animasjon",
  "animation_action": "Klikk på knappen for å endre animasjon",
  "animation_change": "Animasjon endre",
  "animation_changed": "Animasjon endret",
  "article_count": "{{count}} artikler",
  "btn_accessibility": "Tilgjengelighetsmodus",
  "btn_account": "Logg Inn",
  "btn_archive": "Arkiv",
  "btn_advance_filters": "Forhånd filtre",
  "btn_ask_later": "Spør Meg Senere",
  "btn_back": "tilbake",
  "btn_cancel": "Avbryt",
  "btn_close": "Lukk",
  "btn_confirm": "Bekreft",
  "btn_contact": "Kontakt",
  "btn_disable_log_file": "Send LOGG",
  "btn_do_not_show": "Ikke Vis Igjen",
  "btn_download": "Nedlasting",
  "btn_editions": "Editions",
  "btn_enable_log_file": "Aktiver LOGG",
  "btn_feed": "Live News",
  "btn_fit_page": "Tilpasse",
  "btn_g_book": "Bla gjennom",
  "btn_go_to_news": "Gå til nyheter",
  "btn_help": "Hjelp",
  "btn_index": "Indeks",
  "btn_link": "Lenke",
  "btn_login": "Logg inn",
  "btn_logout": "Logg ut",
  "btn_more": "Mer",
  "btn_no": "Nei",
  "btn_ok": "Ja",
  "btn_publications": "Publikasjoner",
  "btn_read": "Lese",
  "btn_reset": "Nullstill",
  "btn_search": "Søke",
  "btn_set_as_default": "Angi som standard",
  "btn_settings": "Innstillinger",
  "btn_skip": "Hopp",
  "btn_special_section": "Spesiell",
  "btn_store": "Bewaren",
  "btn_swipe": "Bla gjennom",
  "btn_thumbnail": "Sider",
  "btn_yes": "Ja:",
  "cache_size": "Cache-størrelse",
  "card": "Kort",
  "categories": "Kategorier",
  "change": "ENDRE",
  "change_location_hint": "Velg nytt sted",
  "change_radius": "Velg Radius",
  "clear": "KLART",
  "clear_cache": "Slett cache",
  "clear_favorites": "Klare favoritter",
  "confirm": "Bekreft",
  "connection_0": "Roaming-modus",
  "connection_0_description": "Ideell når begrenset båndbredde er tilgjengelig. Tekstversjonen av utgaven er lastet ned, bilder vil bli vist med svært lav oppløsning.",
  "connection_1": "Online-modus",
  "connection_1_description": "Ideell mens du er koblet til Internett. Bare sider som vises er lastet ned og tilgjengelig for offline lesing.",
  "connection_2": "Frakoblet modus",
  "connection_2_description": "Frakoblet modus:  Laster automatisk ned hele utgaven ved oppstart for offline lesing.",
  "counter": "{{current}} av {{total}}",
  "custom_location": "Eigendefinert stad",
  "database": "Database",
  "database_deleted": "Database slettet",
  "default_search": "Standard søk",
  "dialog_location_message": "Vi bruker din posisjon til å vise hvor du er på kartet",
  "dialog_location_title": "Vi trenger å få tilgang til posisjonen din",
  "disabled": "Funksjonshemmede",
  "enabled": "Aktivert",
  "err_change_animation": "Feil å endre animasjon",
  "err_clear_cache": "Feil å tømme cache",
  "err_clear_database": "Feil å fjerne database",
  "err_clear_favorites": "Feil å klare favoritter",
  "err_download_edition": "Det oppstod en feil under nedlastingen av utgaven",
  "err_download_edition_db": "Det oppstod en feil under nedlasting av utgaveens database",
  "err_download_psetup": "Feil under nedlasting av base-konfigurasjoner",
  "err_internet_connection": "Kan ikke koble til server program. Vennligst kontroller at du har internett-tilkobling, og prøv på nytt.",
  "err_max_min": "Ugyldig filter, min må være mindre enn maks",
  "err_offline": "Eksternt innhold ikke tilgjengelig offline",
  "err_retrieve_cache": "Feil å hente cache",
  "err_retrieve_favorites": "Feil å hente favoritter",
  "err_translation": "Oversettelse ikke tilgjengelig",
  "err_translation_offline": "Oversettelse ikke tilgjengelig offline",
  "error_on_load_more": "Feilmelding når du prøver å legge flere elementer",
  "fast": "Rask",
  "favorites": "Favoritter",
  "feedback_email_feedback": "tapuserfeedback+android@tecnavia.com",
  "feedback_msg_ask_for_feedback": "Er det noe vi kan gjøre for å hjelpe?",
  "feedback_title_request_feedback": "Er du nyter din tid med App?",
  "feedback_title_request_review_feedback": "Glad for å høre! Ønsker du å legge igjen en anmeldelse eller vurdering?",
  "filter_max": "Max",
  "filter_min": "Min",
  "filter_text": "Skriv tekst her",
  "font_extra_large": "Extra large",
  "font_extra_small": "Ekstra liten",
  "font_large": "Stor",
  "font_normal": "Normal",
  "font_scale": "Skrift Skala",
  "font_small": "Liten",
  "from_most_recent": "Fra den siste",
  "from_oldest": "Fra de eldste",
  "gmc_default_text": "En ny utgave er tilgjengelig. Trykk her for å lese!",
  "gmc_message_text": "{{issue}} avis er nå tilgjengelig. Trykk her for å lese!",
  "grid": "Rutenett",
  "grid_list": "grid/liste",
  "home": "Hjem",
  "label_exit_accessibility_mode": "Gå ut av Tilgjengelighetsmodus",
  "label_open_browser": "Åpne i nettleseren",
  "last_search": "Siste søk",
  "layout": "Layout",
  "learn_more": "Lees mer",
  "list": "Listen",
  "loading": "Laster...",
  "local_events": "Lokale arrangementer",
  "max_salary": "Maks. lønn",
  "min_salary": "Min. lønn",
  "msg_available_next_startup": "Denne konfigurasjonen vil være tilgjengelig neste oppstart",
  "msg_clear_cache": "Slett cache",
  "msg_clear_favorites": "Slett favoritter",
  "msg_copy_to_clipboard": "Kopier til utklippstavle",
  "msg_database_deleted": "Slette database",
  "msg_delete_db": "Slett DataBase Data?",
  "msg_delete_localstorage": "Slett personlige innstillinger?",
  "msg_delete_title": "vil du",
  "msg_download_edition": "Laster ned utgave...",
  "msg_download_retry": "Forsøk på {{retry}} av {{maxRetries}}...",
  "msg_empty_category": "Foreløpig er det ingen artikler som er tilordnet til {{category}}! Ta hurtig på for å oppdatere",
  "msg_empty_favorites": "Foreløpig er det ingen favoritter!",
  "msg_empty_gallery": "Klikket gallery er tom",
  "msg_empty_list": "Foreløpig er det ingen elementer! Trykk for å endre noen filtre",
  "msg_empty_searches": "Foreløpig er det ingen lagrede søk",
  "msg_error_category": "Noe gikk galt, prøver å åpne kategorien eller slette database fra innstillinger! Ta hurtig på for å oppdatere",
  "msg_error_list": "Noe gikk feil, prøv å endre noen filtre",
  "msg_error_newspaper": "Avisen er tom",
  "msg_event_over": "Arrangementet er over.",
  "msg_exit_application": "Avslutte programmet?",
  "msg_failed": "Mislyktes",
  "msg_list_no_articles_available_for_category": "Dette er ikke en feil. Foreløpig er det ingen artikler lagt til i denne kategorien!",
  "msg_list_no_content": "Ingen nåværende innhold",
  "msg_loading_comments": "Laster inn kommentarer...",
  "msg_loading_more": "Legge i mer...",
  "msg_new_issue_available": "En ny utgave er nå tilgjengelig, vil du laste den ned?",
  "msg_not_on_latest_issue": "Du ser ikke på den siste tilgjengelige utgaven, vil du laste den nå?",
  "msg_new_issue_available_title_edition": "Du leser for øyeblikket {{edition}}",
  "msg_new_issue_available_title_edition_date": "Du leser for øyeblikket {{date}}-utgaven av {{edition}}",
  "msg_new_issue_available_edition": "En ny utgave av {{edition}} er nå tilgjengelig, vil du laste den?",
  "msg_new_issue_available_date": "{{date}}-utgaven er nå tilgjengelig. Vil du laste den?",
  "msg_new_issue_available_edition_date": "{{date}}-utgaven av {{edition}} er nå tilgjengelig, vil du laste den?",
  "msg_not_on_latest_issue_edition": "Du ser ikke den siste tilgjengelige utgaven av {{edition}}, vil du laste den nå?",
  "msg_not_on_latest_issue_date": "Du ser ikke på den siste tilgjengelige utgaven, vil du laste ned {{date}}-utgaven?",
  "msg_not_on_latest_issue_edition_date": "Du ser ikke på den siste tilgjengelige utgaven, vil du laste ned {{date}}-utgaven av {{edition}}?",
  "msg_offline_article_graph": "Hvis du vil bruke denne funksjonen i frakoblet modus, må du ha lastet ned hele utgaven, eller noen bilder eller tekststykker kan mangle.",
  "msg_offline_issues": "Velg en nedlastet utgave for å lese",
  "msg_opening_push": "Åpner push-varsler...",
  "msg_pending_purchases": "Fullfører ventende kjøp: {{completed}} av {{total}}",
  "msg_reload_publication": "last ned automatisk den nyeste utgaven?",
  "msg_restore_default_settings": "Vil du gjenopprette standard appinnstillinger?",
  "msg_rss_new_articles_available": "{{count}} nye artikler er tilgjengelig",
  "msg_rss_no_new_articles_available": "Du er up-to-date",
  "msg_rss_one_new_article_available": "1 ny artikkel er tilgjengelig",
  "msg_rss_reload_database": "Ny database lastet ned",
  "msg_rss_update_error": "Feilmelding under oppdateringen, må du kontrollere internett-tilkoblingen, og prøv igjen",
  "msg_search_empty": "Ingenting ble søkt",
  "msg_search_lite": "Se resultater på side",
  "msg_search_not_found": "Ingen artikkel funnet med {{text}}",
  "msg_sent": "Sendt",
  "msg_share_unmanaged": "Dele alternativet ikke-administrerte",
  "msg_tts_error": "En feil oppstår, prøv igjen!",
  "msg_tts_no_volume": "Øk volumet til lystetekst",
  "msg_tts_unsupported": "Ikke støttet språk, prøv å bruke standard stemme eller sjekk om det finnes en tilpasset språkpakke!",
  "my_home_categories_selected": "{{categories}} kategorier som er valgt for en sum av {{articles}} artikler",
  "my_location": "Bruk min plassering",
  "network": "Nettverk",
  "none": "Ingen",
  "normal": "Normal",
  "permission_storage_message": "{{appName}} behov lagring tillatelse",
  "permission_title": "{{appName}} tillatelse",
  "pj_from_page": "fra side",
  "pj_to_page": "til side",
  "pj_continue_to_page": "Fortsett til siden",
  "pj_continue_to_page_parent": "Side",
  "powered_by": "Drevet av TECNAVIA",
  "powered_by_who": "Drevet av {{who}}",
  "push_notification": "Push-varsling",
  "reader_app_text": "Kontoer og kjøp utenfor denne appen kommer til å håndteres av “{{developerName}}”. Din App Store-konto, lagrede betalingsmåter og andre funksjoner, som for eksempel administrasjon av abonnementer og refunderinger, kommer ikke til å være tilgjengelige. Apple er ikke ansvarlig for personvern eller sikkerhet ved transaksjoner med denne utvikleren.",
  "reader_app_title": "Du forlater nå appen og går til en ekstern nettside. Eventuelle transaksjoner kommer ikke til å håndteres av Apple.",
  "retry": "Prøv på nytt",
  "salary": "Lønn:  {{salary}}",
  "save_search": "Lagre søk",
  "saved_searches": "Lagra søk",
  "search_term": "Søk etter begrep",
  "select_after_date": "Velg etter dato",
  "select_my_home_categories": "Plukke din favoritt kategorier fra listen nedenfor for å tilpasse {{category}}",
  "selected_categories": "Valgte kategorier",
  "selected_time_range": "Valgt datointervall",
  "settings": "Innstillinger",
  "settings_allow_font_scaling": "Tillat skrift skalering",
  "settings_startup_epaper": "E-utgave",
  "settings_startup_rss": "Live News",
  "settings_startup_choose": "Velg hver gang",
  "show": "VIS",
  "sort_by_date": "Sorter etter gegevens",
  "sort_by_name": "Sorter etter A-Z",
  "sort_by_name_reverse": "Sorter etter Z-A",
  "sort_by_popularity": "Sorter etter popularitet",
  "sort_date_disabled": "Sortere på dato deaktivere",
  "start_with": "Start Med",
  "str_custom": "Egendefinert",
  "str_default_language": "Gå tilbake til originalspråket",
  "str_from": "Fra",
  "str_limit_label": "Antall utgaver som skal lagres: {{days}}",
  "str_next_week": "Neste uke",
  "str_page": "Side",
  "str_search": "Søk",
  "str_search_results": "{{text}} - {{count}} resultater",
  "str_special_sections": "Spesielle seksjoner",
  "str_this_week": "Denne uken",
  "str_this_weekend": "Helg",
  "str_time_range": "Datointervall",
  "str_title": "Tittel",
  "str_to": "Til",
  "str_today": "I dag",
  "str_tomorrow": "I morgen",
  "str_translating_article": "Oversetter artikkelen...",
  "system_error": "Det har oppstått en feil",
  "title_bottom_sheet": "Handlinger",
  "title_offline": "Ingen Internett-tilkobling",
  "toggle": "VEKSLE",
  "toggle_layout": "Veksle layout",
  "toggle_list": "Veksle til liste",
  "toggle_map": "Veksle kart",
  "total_events": "Arrangementer: {{total}}",
  "total_favorites": "Favoritter:  {{total}}",
  "total_jobs": "Jobber:  {{total}}",
  "total_searches": "Søker:  {{total}}",
  "tutorial": "Opplæringen",
  "unknown_salary": "Ukjent Lønn",
  "unsave_search": "Fjerne lagrede søk",
  "version": "Versjon",
  "vertical_job_location_hint": "Velg et sted",
  "vertical_job_text_hint": "Skriv inn et søkeord for søk",
  "offline_download_warning": "Denne utgaven er ikke fullstendig nedlastet. Noen deler av sidene kan virke uklare.",
  "user_tip_download_title": "Bruker Tips",
  "user_tip_download": "Hvis du vil laste ned alle utgaver automatisk for offline lesing, velger du 'Mer' > 'Innstillinger' > 'Frakoblet modus' som foretrukket Nettverksinnstilling",
  "offline_download_dialog": "Ønsker du å laste ned hele utgaven for offline lesing?",
  "mobile_network_warning": "Du er koblet til et mobilnettverk i stedet for WiFi",
  "msg_operation_completed": "Drift fullført",
  "msg_ok_delete_db": "Alle lagrede utgaver er slettet",
  "msg_download_rss": "Laster ned nye artikler...",
  "settings_translate": "Oversett artikler til",
  "settings_themes": "Tema",
  "settings_font_size": "Skriftstørrelse",
  "settings_graph_size": "Zoom nivå",
  "settings_number_stored_editions": "Antall utgaver som skal lagres",
  "settings_restart_from_latest": "Start på nytt fra siste utgave (min)",
  "settings_article_mode": "Artikkelmodus",
  "settings_article_mode_all": "Vis alt",
  "settings_article_mode_text_and_graphics": "Vis artikler og grafikk",
  "settings_article_mode_only_text": "Vis kun artikler",
  "settings_restore_defaults": "Gjenopprett standardinnstillinger",
  "settings_clear_storage": "Klar lagring",
  "settings_back_to_classic": "Gå tilbake til Classic eEdition",
  "settings_two_fingers_tap_to_article": "Bruk tofinger trykk for å åpne artikkel modus",
  "settings_single_tap_to_zoom": "Bruk enkelt trykk for å zoome",
  "settings_favorite_edition": "Velg din favorittutgave",
  "settings_favorite_edition_default_label": "Siste utgave tilgjengelig",
  "reset": "NULLSTILLE",
  "open": "ÅPEN",
  "settings_enable_column_view": "Aktiver fleire kolonnevisingar av artiklar.",
  "settings_navigation_arrows": "Navigasjonspiler",
  "settings_navigation_arrows_always": "alltid til stede",
  "settings_navigation_arrows_disapper": "forsvinner når du leser",
  "settings_navigation_arrows_never": "aldri til stede",
  "general": "Appinnstillinger",
  "settings_translate_original": "Originalspråk",
  "advance": "{{label}} | Forhåndsinnstillinger",
  "send": "SENDE",
  "btn_feedback": "Tilbakemelding",
  "return": "KOMME TILBAKE",
  "settings_article_highlight": "Hold gjeldende artikkel uthevet når artikkelmodus er åpen",
  "write": "SKRIVE",
  "btn_continue": "Fortsett",
  "btn_go_back": "Gå tilbake",
  "btn_go_next": "Gå neste",
  "btn_go_up": "Forrige nivå",
  "action_go_to_settings": "Gå till Inställningar",
  "btn_reload": "Last inn på nytt",
  "btn_tts": "Bytt tekst til tale",
  "btn_close_accessibility": "Lukk tilgjengelighetsmodus",
  "err_module_unavailable": "{{module}} er ikke tilgjengelig i denne appen",
  "force_crash": "Tving krasj",
  "hint_my_home_screen_config": "For å tilpasse {{label}}",
  "hint_two_fingers_tap": "For å lese en artikkel, trykk på artikkelområdet med to fingre",
  "hint_restart": "Applikasjonen vil starte på nytt for å laste inn nye konfigurasjoner...",
  "hint_update_ui": "Brukergrensesnittet vil oppdateres for å laste inn nye innstillinger, du kan merke et flimmer...",
  "msg_access_reserved": "Tilgang reservert for abonnenter",
  "msg_already_subscriber": "Er du allerede abonnent? Logg Inn",
  "msg_continue_to_read": "Abonner på {{paper}}",
  "theme": "Tema",
  "settings_zoom_level": "Zoomnivå",
  "settings_zoom_level_large": "Stor",
  "settings_zoom_level_larger": "Større",
  "settings_zoom_level_normal": "Vanlig",
  "restart": "Omstart",
  "str_no_categories": "ingen kategorier",
  "msg_login_overlay_title": "For å fortsette å lese",
  "voice_back": "tilbake",
  "voice_what": "hva",
  "voice_next": "neste",
  "voice_next_page": "neste side",
  "voice_previous": "forrige",
  "voice_previous_page": "forrige side",
  "voice_stop": "stopp",
  "voice_read": "les",
  "voice_close": "lukk",
  "voice_up": "opp",
  "voice_down": "ned",
  "voice_select": "velg",
  "msg_max_share": "Du har nådd den daglige delingsgrensen for denne utgaven",
  "accessibility": "tilgjengelighet",
  "msg_simulate_accessibility_title": "Aktiver tilgjengelighetsmodus",
  "msg_screenshots_disabled": "Skjermbilder er ikke tillatt i denne appen",
  "settings_tab_index_mode": "Aktiver faneoppsett i indeksmodus",
  "settings_enable_push_notifications": "Aktiver push-varsler",
  "settings_manage_privacy_preferences": "Administrer personvernpreferanser",
  "theme_auto": "Automatisk lys/mørke",
  "theme_light": "Lys",
  "theme_dark": "Mørk",
  "str_sort_by": "Sorter etter",
  "str_relevance": "Relevans",
  "btn_from": "Fra",
  "btn_to": "Til",
  "srt_order": "Rekkefølge",
  "str_byline": "Byline",
  "str_descending": "Synkende",
  "str_ascending": "Stigende",
  "str_categories": "Kategorier",
  "str_select": "Plukke ut...",
  "str_advertisement": "Annonse",
  "iap_go_to_subscriptions": "Gå til abonnement",
  "iap_multiple_subscriptions": "Flere abonnementer",
  "iap_multiple_subscriptions_message": "Vi fant ut at du har flere aktive abonnementer, vennligst deaktiver de du ikke trenger. Når et abonnement har blitt deaktivert, vil det bli refundert.{{subscriptions}}",
  "iap_multiple_active_subscriptions_message": "Du har allerede et aktivt abonnement, vil du uansett kjøpe et nytt? {{subscriptions}}"
}
;
},1992,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var LANGUAGE_PACK_BASE_STORAGE_NAME = "languagePack";

  var LocaleHelper = function () {
    function LocaleHelper() {
      (0, _classCallCheck2.default)(this, LocaleHelper);
    }

    (0, _createClass2.default)(LocaleHelper, null, [{
      key: "setStorageName",
      value: function setStorageName(prefix) {
        var storageName = LANGUAGE_PACK_BASE_STORAGE_NAME;

        if (prefix) {
          storageName = prefix + "_" + storageName;
        }

        LocaleHelper.SP.name = storageName;
      }
    }, {
      key: "getItem",
      value: function getItem(key) {
        return _regenerator.default.async(function getItem$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.getItem(LocaleHelper.SP.name, key));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setItem",
      value: function setItem(key, value) {
        return _regenerator.default.async(function setItem$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.next = 2;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[4]).StorageUtils.setItem(LocaleHelper.SP.name, key, value));

              case 2:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getFiletime",
      value: function getFiletime() {
        var filetime;
        return _regenerator.default.async(function getFiletime$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _context3.t0 = parseInt;
                _context3.next = 3;
                return _regenerator.default.awrap(LocaleHelper.getItem(LocaleHelper.SP.keys.filetime));

              case 3:
                _context3.t1 = _context3.sent;

                if (_context3.t1) {
                  _context3.next = 6;
                  break;
                }

                _context3.t1 = -1;

              case 6:
                _context3.t2 = _context3.t1;
                filetime = (0, _context3.t0)(_context3.t2, 10);
                return _context3.abrupt("return", filetime);

              case 9:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setFiletime",
      value: function setFiletime(filetime) {
        return _regenerator.default.async(function setFiletime$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                return _context4.abrupt("return", LocaleHelper.setItem(LocaleHelper.SP.keys.filetime, "" + filetime));

              case 1:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getLanguagePack",
      value: function getLanguagePack() {
        var strings;
        return _regenerator.default.async(function getLanguagePack$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                _context5.next = 2;
                return _regenerator.default.awrap(LocaleHelper.getItem(LocaleHelper.SP.keys.strings));

              case 2:
                strings = _context5.sent;

                if (!strings) {
                  _context5.next = 10;
                  break;
                }

                _context5.prev = 4;
                return _context5.abrupt("return", JSON.parse(strings));

              case 8:
                _context5.prev = 8;
                _context5.t0 = _context5["catch"](4);

              case 10:
                return _context5.abrupt("return", {});

              case 11:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, [[4, 8]], Promise);
      }
    }, {
      key: "setLanguagePack",
      value: function setLanguagePack(strings) {
        return _regenerator.default.async(function setLanguagePack$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                return _context6.abrupt("return", LocaleHelper.setItem(LocaleHelper.SP.keys.strings, JSON.stringify(strings)));

              case 1:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return LocaleHelper;
  }();

  exports.default = LocaleHelper;
  LocaleHelper.SP = {
    name: LANGUAGE_PACK_BASE_STORAGE_NAME,
    keys: {
      strings: "strings",
      filetime: "filetime"
    }
  };
},1993,[5,80,7,8,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _TTSManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _VoiceManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var AudioManager = function () {
    function AudioManager() {
      (0, _classCallCheck2.default)(this, AudioManager);
      this.ttsManager = new _TTSManager.default();
      this.voiceManager = new _VoiceManager.default();
      this.resolveStopPromise = this._resolveStopPromise.bind(this);
      this.rejectStopPromise = this._rejectStopPromise.bind(this);
      this.stopPromise = undefined;
      this.stopResolve = undefined;
      this.stopReject = undefined;
    }

    (0, _createClass2.default)(AudioManager, [{
      key: "init",
      value: function init(locale) {
        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!this.ttsManager) {
                  _context.next = 4;
                  break;
                }

                _context.next = 3;
                return _regenerator.default.awrap(this.ttsManager.initTTS(locale));

              case 3:
                this.ttsManager.register();

              case 4:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "setLanguage",
      value: function setLanguage(language) {
        if (this.ttsManager) {
          this.ttsManager.setLanguage(language);
        }
      }
    }, {
      key: "setLocale",
      value: function setLocale(locale) {
        if (this.ttsManager) {
          this.ttsManager.setLocale(locale);
        }
      }
    }, {
      key: "ttsIsPaused",
      value: function ttsIsPaused() {
        return this.ttsManager && this.ttsManager.isPaused();
      }
    }, {
      key: "ttsIsUserPaused",
      value: function ttsIsUserPaused() {
        return this.ttsManager && this.ttsManager.isUserPaused();
      }
    }, {
      key: "ttsIsSpeaking",
      value: function ttsIsSpeaking() {
        return this.ttsManager && this.ttsManager.isSpeaking();
      }
    }, {
      key: "ttsIsAutoRestart",
      value: function ttsIsAutoRestart() {
        return this.ttsManager && this.ttsManager.isAutoRestart();
      }
    }, {
      key: "ttsWhat",
      value: function ttsWhat() {
        return _regenerator.default.async(function ttsWhat$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!this.ttsManager) {
                  _context2.next = 2;
                  break;
                }

                return _context2.abrupt("return", this.ttsManager.what());

              case 2:
                return _context2.abrupt("return", Promise.resolve());

              case 3:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_resolveStopPromise",
      value: function _resolveStopPromise() {
        if (this.stopResolve) {
          this.stopResolve();
        }

        this.stopResolve = undefined;
        this.stopReject = undefined;
        this.stopPromise = undefined;
      }
    }, {
      key: "_rejectStopPromise",
      value: function _rejectStopPromise() {
        if (this.stopReject) {
          this.stopReject();
        }

        this.stopResolve = undefined;
        this.stopReject = undefined;
        this.stopPromise = undefined;
      }
    }, {
      key: "ttsStart",
      value: function ttsStart(text) {
        return _regenerator.default.async(function ttsStart$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                if (!this.ttsManager) {
                  _context3.next = 10;
                  break;
                }

                if (!this.stopPromise) {
                  _context3.next = 9;
                  break;
                }

                _context3.prev = 2;
                _context3.next = 5;
                return _regenerator.default.awrap(this.stopPromise);

              case 5:
                _context3.next = 9;
                break;

              case 7:
                _context3.prev = 7;
                _context3.t0 = _context3["catch"](2);

              case 9:
                return _context3.abrupt("return", this.ttsManager.start(text));

              case 10:
                return _context3.abrupt("return", Promise.resolve());

              case 11:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, [[2, 7]], Promise);
      }
    }, {
      key: "ttsStop",
      value: function ttsStop(autoRestartEnabled) {
        var _this = this;

        return _regenerator.default.async(function ttsStop$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!this.ttsManager) {
                  _context4.next = 6;
                  break;
                }

                this.rejectStopPromise();

                if (!autoRestartEnabled) {
                  _context4.next = 5;
                  break;
                }

                this.stopPromise = new Promise(function (resolve, reject) {
                  _this.stopResolve = resolve;
                  _this.stopReject = reject;

                  _this.ttsManager.stop(autoRestartEnabled).then(_this.resolveStopPromise).catch(_this.rejectStopPromise);
                });
                return _context4.abrupt("return", this.stopPromise);

              case 5:
                return _context4.abrupt("return", this.ttsManager.stop());

              case 6:
                return _context4.abrupt("return", Promise.resolve());

              case 7:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "ttsResume",
      value: function ttsResume() {
        return _regenerator.default.async(function ttsResume$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                if (!this.ttsManager) {
                  _context5.next = 2;
                  break;
                }

                return _context5.abrupt("return", this.ttsManager.resume());

              case 2:
                return _context5.abrupt("return", Promise.resolve());

              case 3:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "ttsPause",
      value: function ttsPause() {
        return _regenerator.default.async(function ttsPause$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                if (!this.ttsManager) {
                  _context6.next = 2;
                  break;
                }

                return _context6.abrupt("return", this.ttsManager.pause());

              case 2:
                return _context6.abrupt("return", Promise.resolve());

              case 3:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "ttsDestroy",
      value: function ttsDestroy() {
        return _regenerator.default.async(function ttsDestroy$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                if (!this.ttsManager) {
                  _context7.next = 2;
                  break;
                }

                return _context7.abrupt("return", this.ttsManager.destroy());

              case 2:
                return _context7.abrupt("return", Promise.resolve());

              case 3:
              case "end":
                return _context7.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "ttsShowPlayer",
      value: function ttsShowPlayer() {
        if (this.ttsManager) {
          this.ttsManager.showPlayer();
        }
      }
    }, {
      key: "ttsPlayerProps",
      value: function ttsPlayerProps() {
        if (this.ttsManager) {
          return this.ttsManager.getPlayerProps();
        }

        return {};
      }
    }, {
      key: "srIsRunning",
      value: function srIsRunning() {
        return this.voiceManager && this.voiceManager.isRunning();
      }
    }, {
      key: "srIsLooping",
      value: function srIsLooping() {
        return this.voiceManager && this.voiceManager.loop;
      }
    }, {
      key: "srStart",
      value: function srStart(loop) {
        return _regenerator.default.async(function srStart$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                if (!this.voiceManager) {
                  _context8.next = 4;
                  break;
                }

                _context8.next = 3;
                return _regenerator.default.awrap(this.ttsPause());

              case 3:
                return _context8.abrupt("return", this.voiceManager.start(loop));

              case 4:
                return _context8.abrupt("return", Promise.resolve());

              case 5:
              case "end":
                return _context8.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "srStop",
      value: function srStop() {
        return _regenerator.default.async(function srStop$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                if (!this.voiceManager) {
                  _context9.next = 4;
                  break;
                }

                _context9.next = 3;
                return _regenerator.default.awrap(this.ttsResume());

              case 3:
                return _context9.abrupt("return", this.voiceManager.stop());

              case 4:
                return _context9.abrupt("return", Promise.resolve());

              case 5:
              case "end":
                return _context9.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }]);
    return AudioManager;
  }();

  exports.default = AudioManager;
},1994,[5,80,7,8,1995,2001]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _player = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _TTS = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var TTSManager = function () {
    function TTSManager() {
      var _this = this;

      (0, _classCallCheck2.default)(this, TTSManager);
      this._tts = new _TTS.default();
      this._autoRestart = false;
      this._text = undefined;
      this._pausedIndex = 0;
      this._paused = false;
      this._userPaused = false;

      this._onSpeakStart = function (event) {
        _$$_REQUIRE(_dependencyMap[8]).LoadingOverlay.hide({
          id: "tts"
        });

        _deviceUtils.default.disableIdleTimer();

        if (_this._player) {
          _this._player.show();

          _this._player.playing();

          _this._paused = false;
        }
      };

      this._onSpeakStop = function () {
        var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};

        _$$_REQUIRE(_dependencyMap[8]).LoadingOverlay.hide({
          id: "tts"
        });

        _deviceUtils.default.enableIdleTimer();

        if (!_this._paused && _this._player) {
          _this._player.hide();
        }
      };

      this._onSpeakProgress = function (event) {
        if (event) {
          var location = event.location,
              progress = event.progress,
              percentage = event.percentage;
          _this._pausedIndex = location;

          if (percentage >= 100) {
            _this._autoRestart = false;
          }

          if (_this._player) {
            _this._player.setProgress(progress);
          }
        }
      };

      this._onPlayer = function (player) {
        _this._player = player;
      };

      this._onPlayerResume = function () {
        _this._userPaused = false;

        _this.resume();
      };

      this._onPlayerPause = function () {
        _this._userPaused = true;

        _this.pause();
      };

      this._onPlayerClose = function () {
        _this.stop();
      };
    }

    (0, _createClass2.default)(TTSManager, [{
      key: "_hidePlayer",
      value: function _hidePlayer() {
        if (this._player) {
          this._player.hide();
        }
      }
    }, {
      key: "_resetPlayer",
      value: function _resetPlayer() {
        if (this._player) {
          this._player.initWithState({
            progress: 0,
            playing: true,
            visible: false
          });
        }
      }
    }, {
      key: "_reset",
      value: function _reset() {
        this._pausedIndex = 0;
        this._text = undefined;
      }
    }, {
      key: "register",
      value: function register() {
        if (!this._onTTSStartId) {
          this._onTTSStartId = _$$_REQUIRE(_dependencyMap[9]).EventRegister.on(_events.default.TTS_ENGINE_STARTED, this._onSpeakStart);
        }

        if (!this._onTTSStopId) {
          this._onTTSStopId = _$$_REQUIRE(_dependencyMap[9]).EventRegister.on(_events.default.TTS_ENGINE_STOPPED, this._onSpeakStop);
        }

        if (!this._onTTSProgressId) {
          this._onTTSProgressId = _$$_REQUIRE(_dependencyMap[9]).EventRegister.on(_events.default.TTS_ENGINE_PROGRESS, this._onSpeakProgress);
        }
      }
    }, {
      key: "initTTS",
      value: function initTTS(locale) {
        return _regenerator.default.async(function initTTS$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!this._tts) {
                  _context.next = 3;
                  break;
                }

                this._tts.setMaxChunkLength(global.getActivePSetup().textToSpeechChunkLength);

                return _context.abrupt("return", this._tts.init(locale));

              case 3:
                return _context.abrupt("return", Promise.resolve());

              case 4:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "what",
      value: function what() {
        return _regenerator.default.async(function what$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.next = 2;
                return _regenerator.default.awrap(this.pause());

              case 2:
                if (!_context2.sent) {
                  _context2.next = 5;
                  break;
                }

                _context2.next = 5;
                return _regenerator.default.awrap(this.resume());

              case 5:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "start",
      value: function start(text) {
        var resume,
            _args3 = arguments;
        return _regenerator.default.async(function start$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                resume = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : false;

                if (!resume) {
                  this._reset();
                }

                _context3.prev = 2;
                this._text = text.trim();

                if (!this._text) {
                  _context3.next = 14;
                  break;
                }

                if (resume) {
                  _context3.next = 11;
                  break;
                }

                _$$_REQUIRE(_dependencyMap[8]).LoadingOverlay.show({
                  id: "tts"
                });

                _context3.next = 9;
                return _regenerator.default.awrap(this._tts.speak(this._text, 0));

              case 9:
                _context3.next = 13;
                break;

              case 11:
                _context3.next = 13;
                return _regenerator.default.awrap(this._tts.speak(this._text, this._pausedIndex));

              case 13:
                if (this._player) {
                  this._player.show();
                }

              case 14:
                _context3.next = 19;
                break;

              case 16:
                _context3.prev = 16;
                _context3.t0 = _context3["catch"](2);

                if (!resume) {
                  _$$_REQUIRE(_dependencyMap[8]).LoadingOverlay.hide({
                    id: "tts"
                  });
                }

              case 19:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, [[2, 16]], Promise);
      }
    }, {
      key: "stop",
      value: function stop() {
        var autoRestartEnabled,
            _args4 = arguments;
        return _regenerator.default.async(function stop$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                autoRestartEnabled = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : false;
                _context4.prev = 1;
                this._autoRestart = autoRestartEnabled && this.isSpeaking();

                _$$_REQUIRE(_dependencyMap[8]).LoadingOverlay.hide({
                  id: "tts"
                });

                _context4.next = 6;
                return _regenerator.default.awrap(this._tts.stop());

              case 6:
                _context4.next = 10;
                break;

              case 8:
                _context4.prev = 8;
                _context4.t0 = _context4["catch"](1);

              case 10:
                this._hidePlayer();

              case 11:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, [[1, 8]], Promise);
      }
    }, {
      key: "pause",
      value: function pause() {
        return _regenerator.default.async(function pause$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                _context5.prev = 0;

                if (this._paused) {
                  _context5.next = 5;
                  break;
                }

                this._paused = true;
                _context5.next = 5;
                return _regenerator.default.awrap(this._tts.stop());

              case 5:
                return _context5.abrupt("return", true);

              case 8:
                _context5.prev = 8;
                _context5.t0 = _context5["catch"](0);

              case 10:
                return _context5.abrupt("return", false);

              case 11:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, [[0, 8]], Promise);
      }
    }, {
      key: "resume",
      value: function resume() {
        return _regenerator.default.async(function resume$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                try {
                  if (this._paused) {
                    this._paused = false;
                    this._userPaused = false;
                    this.start(this._text, true);
                  }
                } catch (e) {}

              case 1:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getPlayerProps",
      value: function getPlayerProps() {
        return {
          ref: this._onPlayer,
          onResume: this._onPlayerResume,
          onPause: this._onPlayerPause,
          onClose: this._onPlayerClose
        };
      }
    }, {
      key: "showPlayer",
      value: function showPlayer() {
        if (this._player) {
          if (this._userPaused) {
            this._player.initWithState({
              progress: this._tts.getReadingProgress(),
              playing: false,
              visible: true
            });
          } else {
            this._player.show();
          }
        }
      }
    }, {
      key: "setLanguage",
      value: function setLanguage(language) {
        if (this._tts) {
          this._tts.setLanguage(language);
        }
      }
    }, {
      key: "setLocale",
      value: function setLocale(locale) {
        if (this._tts) {
          this._tts.setLocale(locale);
        }
      }
    }, {
      key: "isAutoRestart",
      value: function isAutoRestart() {
        return this._autoRestart;
      }
    }, {
      key: "isSpeaking",
      value: function isSpeaking() {
        return this._tts.isSpeaking();
      }
    }, {
      key: "isPaused",
      value: function isPaused() {
        return this._paused;
      }
    }, {
      key: "isUserPaused",
      value: function isUserPaused() {
        return this._userPaused;
      }
    }, {
      key: "destroy",
      value: function destroy() {
        return _regenerator.default.async(function destroy$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                _context7.next = 2;
                return _regenerator.default.awrap(this.stop());

              case 2:
                this._paused = false;
                this._userPaused = false;

                this._reset();

                this._resetPlayer();

              case 6:
              case "end":
                return _context7.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }]);
    return TTSManager;
  }();

  exports.default = TTSManager;
},1995,[5,80,7,8,460,458,1996,1997,1950,572]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var styles = _reactNative.StyleSheet.create({
    parent: {
      height: 50,
      position: "absolute",
      bottom: 0,
      start: 0,
      end: 0,
      flexDirection: "row",
      alignItems: "center",
      borderTopColor: "black",
      borderTopWidth: 1,
      backgroundColor: "white"
    },
    icon: {
      fontSize: 20,
      margin: 10,
      color: "black"
    },
    progress: {
      flex: 1,
      height: 50,
      paddingVertical: 10,
      paddingHorizontal: 5
    }
  });

  var Player = function (_React$Component) {
    (0, _inherits2.default)(Player, _React$Component);

    var _super = _createSuper(Player);

    function Player(props) {
      var _this;

      (0, _classCallCheck2.default)(this, Player);
      _this = _super.call(this, props);
      _this.state = {
        progress: 0,
        playing: true,
        visible: false
      };
      _this.onProgressRef = _this._onProgressRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onToggle = _this._onToggle.bind((0, _assertThisInitialized2.default)(_this));
      _this.toggleCallback = _this._toggleCallback.bind((0, _assertThisInitialized2.default)(_this));
      _this.onClose = _this._onClose.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(Player, [{
      key: "initWithState",
      value: function initWithState(_ref) {
        var progress = _ref.progress,
            playing = _ref.playing,
            visible = _ref.visible;
        this.setState({
          progress: progress,
          playing: playing,
          visible: visible
        });
      }
    }, {
      key: "show",
      value: function show() {
        this._setVisibility(true);
      }
    }, {
      key: "hide",
      value: function hide() {
        this._setVisibility(false);
      }
    }, {
      key: "toggle",
      value: function toggle() {
        this.onToggle();
      }
    }, {
      key: "playing",
      value: function playing() {
        var playing = this.state.playing;

        if (!playing) {
          this.setState({
            playing: true
          }, this.toggleCallback);
        }
      }
    }, {
      key: "setProgress",
      value: function setProgress(progress) {
        if (this.progressRef) {
          this.progressRef.updateProgress(progress);
        }
      }
    }, {
      key: "_setVisibility",
      value: function _setVisibility(visibility) {
        var visible = this.state.visible;

        if (visibility !== visible) {
          this.setState({
            visible: visibility
          });
        }
      }
    }, {
      key: "_toggleCallback",
      value: function _toggleCallback() {
        var playing = this.state.playing;
        var _this$props = this.props,
            onResume = _this$props.onResume,
            onPause = _this$props.onPause;

        if (playing) {
          if (typeof onResume === "function") {
            onResume();
          }
        } else {
          if (typeof onPause === "function") {
            onPause();
          }
        }
      }
    }, {
      key: "_onToggle",
      value: function _onToggle() {
        this.setState(function (prevState) {
          return {
            playing: !prevState.playing
          };
        }, this.toggleCallback);
      }
    }, {
      key: "_onClose",
      value: function _onClose() {
        this.hide();
        var onClose = this.props.onClose;

        if (typeof onClose === "function") {
          onClose();
        }
      }
    }, {
      key: "_onProgressRef",
      value: function _onProgressRef(ref) {
        this.progressRef = ref;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$state = this.state,
            progress = _this$state.progress,
            playing = _this$state.playing,
            visible = _this$state.visible;

        var _global$getActivePSet = global.getActivePSetup(),
            enableTextToSpeechPlayer = _global$getActivePSet.enableTextToSpeechPlayer;

        if (!enableTextToSpeechPlayer) {
          return null;
        }

        if (!visible) {
          return null;
        }

        var spinnerStyle = _$$_REQUIRE(_dependencyMap[11]).Css.getStyleObjByCssClasses(["tts-player-spinner-parent"]);

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
          classes: ["tts-player-parent"]
        }, _react.default.createElement(_reactNative.View, {
          style: styles.parent
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
          classes: ["tts-player-icon-parent"]
        }, _react.default.createElement(_reactNative.TouchableOpacity, {
          onPress: this.onToggle
        }, !playing ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
          classes: ["tts-player-icon", "tts-player-icon-resume"]
        }, _react.default.createElement(_iconComponent.default, {
          name: "play",
          style: styles.icon,
          type: _iconComponent.TecnaviaIconType.MATERIAL_COMMUNITY_ICONS
        })) : _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
          classes: ["tts-player-icon", "tts-player-icon-pause"]
        }, _react.default.createElement(_iconComponent.default, {
          name: "pause",
          style: styles.icon,
          type: _iconComponent.TecnaviaIconType.MATERIAL_COMMUNITY_ICONS
        })))), _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).ProgressCircle, {
          ref: this.onProgressRef,
          bar: true,
          advanced: true,
          spinnerStyle: spinnerStyle,
          cssClasses: ["tts-player-spinner"],
          startProgress: progress
        }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
          classes: ["tts-player-icon-parent"]
        }, _react.default.createElement(_reactNative.TouchableOpacity, {
          onPress: this.onClose
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
          classes: ["tts-player-icon", "tts-player-icon-close"]
        }, _react.default.createElement(_iconComponent.default, {
          name: "close",
          style: styles.icon,
          type: _iconComponent.TecnaviaIconType.MATERIAL_COMMUNITY_ICONS
        }))))));
      }
    }]);
    return Player;
  }(_react.default.Component);

  exports.default = Player;
  Player.propTypes = {
    onResume: _propTypes.default.func,
    onPause: _propTypes.default.func,
    onClose: _propTypes.default.func
  };
},1996,[5,7,8,15,12,14,16,17,201,28,1806,699,1953]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNativeTts = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var TTSUtils = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var SHOW_LOG = true;

  function log(message) {
    {}
  }

  function error(message) {
    {}
  }

  var TTS = function () {
    function TTS() {
      var _this = this;

      (0, _classCallCheck2.default)(this, TTS);
      this._ttsText = "";
      this._ttsChunks = [];
      this._ttsChunkDelta = 0;
      this._ttsStartIndex = 0;
      this._ttsMaxChunkLength = 500;
      this._ttsSpeakingId = "";
      this._ttsSpeaking = false;
      this._ttsProgress = 0;
      this._currentUtteranceId = "";
      this._currentUtteranceIndex = -1;
      this._utteranceIdsToSpeak = [];
      this._iosStop = false;

      this._onStart = function (_ref) {
        var utteranceId = _ref.utteranceId;
        log("start utterance " + utteranceId);
        _this._currentUtteranceId = utteranceId;
        _this._currentUtteranceIndex = _this._findUtteranceIndex(utteranceId);
        log("start chunks length: " + _this._ttsChunks.length);
        log("start index: " + _this._currentUtteranceIndex);
        log("start chunk: " + _this._ttsChunks[_this._currentUtteranceIndex]);

        if (!_this._speaking && _this._ttsChunks[_this._currentUtteranceIndex]) {
          _this._speaking = true;
          log("start send global utterance " + _this._ttsSpeakingId);

          _$$_REQUIRE(_dependencyMap[7]).EventRegister.emit(_events.default.TTS_ENGINE_STARTED, {
            speaking: true,
            utteranceId: _this._ttsSpeakingId
          });
        }
      };

      this._onProgress = function (_ref2) {
        var utteranceId = _ref2.utteranceId,
            start = _ref2.start,
            end = _ref2.end,
            location = _ref2.location,
            length = _ref2.length;

        try {
          var utteranceStart = _$$_REQUIRE(_dependencyMap[8]).PlatformUtils.isAndroid() ? start : location;

          var index = _this._getGlobalIndex(utteranceStart) + _this._ttsChunkDelta;

          var readingLength = _$$_REQUIRE(_dependencyMap[8]).PlatformUtils.isAndroid() ? end - start : length;
          log("progress " + utteranceStart + ", length " + readingLength + ", index " + index + ", delta " + _this._ttsChunkDelta);

          if (_this._ttsText && _this._ttsText.length > 0) {
            _this._ttsProgress = (index + readingLength) / _this._ttsText.length;
            var relativeProgress = (utteranceStart + readingLength) / _this._ttsChunks[_this._currentUtteranceIndex].length;
            log("progress: global progress " + _this._ttsProgress + ", chunk " + relativeProgress);

            _$$_REQUIRE(_dependencyMap[7]).EventRegister.emit(_events.default.TTS_ENGINE_PROGRESS, {
              location: index,
              end: index + readingLength,
              length: readingLength,
              utteranceId: _this._ttsSpeakingId,
              progress: _this._ttsProgress,
              percentage: TTSUtils.getPercentage(_this._ttsProgress),
              relativeProgress: relativeProgress
            });
          } else {
            log("Skip progress, text is void");
          }
        } catch (e) {}
      };

      this._onFinish = function (_ref3) {
        var utteranceId = _ref3.utteranceId;
        log("finish " + utteranceId);
        _this._ttsChunkDelta = 0;

        if (_this._isLastChunk(utteranceId)) {
          _this._speaking = false;
          log("finish send global utterance " + _this._ttsSpeakingId);

          _$$_REQUIRE(_dependencyMap[7]).EventRegister.emit(_events.default.TTS_ENGINE_STOPPED, {
            utteranceId: _this._ttsSpeakingId
          });

          _this._initValues();
        }

        if (_this._iosStopResolve) {
          _this._initValues();

          _this._iosStopResolve();

          _this._iosStopResolve = undefined;
        }
      };

      this._onCancel = function (_ref4) {
        var utteranceId = _ref4.utteranceId;
        log("cancel " + utteranceId);

        if (_this._isLastChunk(utteranceId)) {
          log("cancel send global utterance " + _this._ttsSpeakingId);

          _$$_REQUIRE(_dependencyMap[7]).EventRegister.emit(_events.default.TTS_ENGINE_STOPPED, {
            utteranceId: _this._ttsSpeakingId
          });

          _this._initValues();
        }

        if (_this._iosStopResolve) {
          _this._initValues();

          _this._iosStopResolve();

          _this._iosStopResolve = undefined;
        }
      };

      this._initialized = false;
    }

    (0, _createClass2.default)(TTS, [{
      key: "init",
      value: function init(locale) {
        this.setLocale(locale);

        if (!this._initialized) {
          log("init");

          _reactNativeTts.default.addEventListener("tts-start", this._onStart);

          _reactNativeTts.default.addEventListener("tts-progress", this._onProgress);

          _reactNativeTts.default.addEventListener("tts-finish", this._onFinish);

          _reactNativeTts.default.addEventListener("tts-cancel", this._onCancel);

          this._initialized = true;
        }
      }
    }, {
      key: "_initValues",
      value: function _initValues() {
        this._ttsText = "";
        this._ttsStartIndex = 0;
        this._ttsChunkDelta = 0;
        this._currentUtteranceId = "";
        this._currentUtteranceIndex = -1;
        this._speaking = false;
        this._utteranceIdsToSpeak = [];
      }
    }, {
      key: "_getGlobalIndex",
      value: function _getGlobalIndex() {
        var currentUtterancePos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
        var size = currentUtterancePos;

        for (var i = 0; i < this._currentUtteranceIndex; i++) {
          size += this._ttsChunks[i].length;
        }

        return size;
      }
    }, {
      key: "_findUtteranceIndex",
      value: function _findUtteranceIndex(utteranceId) {
        return this._utteranceIdsToSpeak.findIndex(function (id) {
          return id === utteranceId;
        });
      }
    }, {
      key: "_isLastChunk",
      value: function _isLastChunk(utteranceId) {
        return this._utteranceIdsToSpeak[this._utteranceIdsToSpeak.length - 1] === utteranceId;
      }
    }, {
      key: "stop",
      value: function stop() {
        var _this2 = this;

        return _regenerator.default.async(function stop$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                log("Manual stop");

                if (!(_$$_REQUIRE(_dependencyMap[8]).PlatformUtils.isIOS() && this.isSpeaking())) {
                  _context.next = 3;
                  break;
                }

                return _context.abrupt("return", new Promise(function (resolve, reject) {
                  _this2._iosStopResolve = resolve;

                  _reactNativeTts.default.stop().catch(function () {
                    _this2._iosStopResolve = undefined;
                    reject();
                  });
                }));

              case 3:
                return _context.abrupt("return", _reactNativeTts.default.stop());

              case 4:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "speak",
      value: function speak() {
        var text,
            fromIndex,
            started,
            available,
            startFrom,
            i,
            utteranceId,
            _args2 = arguments;
        return _regenerator.default.async(function speak$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                text = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : "";
                fromIndex = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : 0;
                log("speak text length " + text.length + " from index " + fromIndex);
                started = true;
                this._iosStopResolve = undefined;
                _context2.prev = 5;
                _context2.next = 8;
                return _regenerator.default.awrap(_reactNativeTts.default.getInitStatus());

              case 8:
                _context2.next = 10;
                return _regenerator.default.awrap(_reactNativeTts.default.stop());

              case 10:
                _context2.next = 12;
                return _regenerator.default.awrap(TTSUtils.checkVolume());

              case 12:
                _context2.next = 14;
                return _regenerator.default.awrap(TTSUtils.setLanguage(this._locale));

              case 14:
                available = _context2.sent;

                if (!available) {
                  _context2.next = 50;
                  break;
                }

                _context2.next = 18;
                return _regenerator.default.awrap(TTSUtils.setRate());

              case 18:
                this._ttsText = text;
                this._ttsStartIndex = fromIndex;
                this._ttsSpeakingId = _$$_REQUIRE(_dependencyMap[8]).StringUtils.getMd5(text);
                this._ttsChunks = TTSUtils.getChunkedString(this._ttsText, this._ttsMaxChunkLength);
                log("speak split text into " + this._ttsChunks.length + " chunks");
                startFrom = 0;
                i = 0;

              case 25:
                if (!(i < this._ttsChunks.length)) {
                  _context2.next = 48;
                  break;
                }

                utteranceId = undefined;

                if (!(fromIndex <= startFrom)) {
                  _context2.next = 33;
                  break;
                }

                _context2.next = 30;
                return _regenerator.default.awrap(_reactNativeTts.default.speak(this._ttsChunks[i]));

              case 30:
                utteranceId = _context2.sent;
                _context2.next = 42;
                break;

              case 33:
                if (!(fromIndex < startFrom + this._ttsChunks[i].length)) {
                  _context2.next = 41;
                  break;
                }

                this._ttsChunkDelta = TTSUtils.getIndexForNonWordCharacter(this._ttsChunks[i], fromIndex - startFrom);
                log("speak " + i + " start from " + fromIndex + ", delta " + this._ttsChunkDelta);
                _context2.next = 38;
                return _regenerator.default.awrap(_reactNativeTts.default.speak(this._ttsChunks[i].substring(this._ttsChunkDelta)));

              case 38:
                utteranceId = _context2.sent;
                _context2.next = 42;
                break;

              case 41:
                utteranceId = "already_spoke_utterance_" + i;

              case 42:
                startFrom += this._ttsChunks[i].length;

                this._utteranceIdsToSpeak.push(utteranceId);

                log("Enqueue chunk " + i + ", length " + this._ttsChunks[i].length + " with utterance " + utteranceId);

              case 45:
                i++;
                _context2.next = 25;
                break;

              case 48:
                _context2.next = 51;
                break;

              case 50:
                started = false;

              case 51:
                _context2.next = 59;
                break;

              case 53:
                _context2.prev = 53;
                _context2.t0 = _context2["catch"](5);
                error("speak error " + _context2.t0);
                started = false;
                _context2.next = 59;
                return _regenerator.default.awrap(TTSUtils.handleError(_context2.t0));

              case 59:
                if (!started) {
                  _context2.next = 61;
                  break;
                }

                return _context2.abrupt("return", started);

              case 61:
                _$$_REQUIRE(_dependencyMap[7]).EventRegister.emit(_events.default.TTS_ENGINE_STOPPED);

                throw new Error(new Error("impossible to start speaking"));

              case 63:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, [[5, 53]], Promise);
      }
    }, {
      key: "setMaxChunkLength",
      value: function setMaxChunkLength() {
        var length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1000;
        this._ttsMaxChunkLength = length;
      }
    }, {
      key: "getReadingLength",
      value: function getReadingLength() {
        return this._ttsText.length;
      }
    }, {
      key: "getReadingProgress",
      value: function getReadingProgress() {
        return this._ttsProgress;
      }
    }, {
      key: "isSpeaking",
      value: function isSpeaking() {
        return this._speaking;
      }
    }, {
      key: "setLocale",
      value: function setLocale(locale) {
        this._locale = locale;
      }
    }, {
      key: "setLanguage",
      value: function setLanguage(language) {
        if (language === "en") {
          if (_$$_REQUIRE(_dependencyMap[8]).StringUtils.isUSTecnaviaDomain()) {
            this._locale = "en-US";
          } else {
            this._locale = "en-GB";
          }
        } else {
          this._locale = language;
        }
      }
    }]);
    return TTS;
  }();

  exports.default = TTS;
},1997,[5,80,7,8,1998,460,1999,572,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TextToSpeech = _reactNative.NativeModules.TextToSpeech;

  var Tts = function (_NativeEventEmitter) {
    (0, _inherits2.default)(Tts, _NativeEventEmitter);

    var _super = _createSuper(Tts);

    function Tts() {
      (0, _classCallCheck2.default)(this, Tts);
      return _super.call(this, TextToSpeech);
    }

    (0, _createClass2.default)(Tts, [{
      key: "getInitStatus",
      value: function getInitStatus() {
        if (_reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'windows') {
          return Promise.resolve(true);
        }

        return TextToSpeech.getInitStatus();
      }
    }, {
      key: "requestInstallEngine",
      value: function requestInstallEngine() {
        if (_reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'windows') {
          return Promise.resolve(true);
        }

        return TextToSpeech.requestInstallEngine();
      }
    }, {
      key: "requestInstallData",
      value: function requestInstallData() {
        if (_reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'windows') {
          return Promise.resolve(true);
        }

        return TextToSpeech.requestInstallData();
      }
    }, {
      key: "setDucking",
      value: function setDucking(enabled) {
        if (_reactNative.Platform.OS === 'windows') {
          return Promise.resolve(true);
        }

        return TextToSpeech.setDucking(enabled);
      }
    }, {
      key: "setDefaultEngine",
      value: function setDefaultEngine(engineName) {
        if (_reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'windows') {
          return Promise.resolve(true);
        }

        return TextToSpeech.setDefaultEngine(engineName);
      }
    }, {
      key: "setDefaultVoice",
      value: function setDefaultVoice(voiceId) {
        return TextToSpeech.setDefaultVoice(voiceId);
      }
    }, {
      key: "setDefaultRate",
      value: function setDefaultRate(rate, skipTransform) {
        return TextToSpeech.setDefaultRate(rate, !!skipTransform);
      }
    }, {
      key: "setDefaultPitch",
      value: function setDefaultPitch(pitch) {
        return TextToSpeech.setDefaultPitch(pitch);
      }
    }, {
      key: "setDefaultLanguage",
      value: function setDefaultLanguage(language) {
        return TextToSpeech.setDefaultLanguage(language);
      }
    }, {
      key: "setIgnoreSilentSwitch",
      value: function setIgnoreSilentSwitch(ignoreSilentSwitch) {
        if (_reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'windows') {
          return TextToSpeech.setIgnoreSilentSwitch(ignoreSilentSwitch);
        }

        return Promise.resolve(true);
      }
    }, {
      key: "voices",
      value: function voices() {
        return TextToSpeech.voices();
      }
    }, {
      key: "engines",
      value: function engines() {
        if (_reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'windows') {
          return Promise.resolve([]);
        }

        return TextToSpeech.engines();
      }
    }, {
      key: "speak",
      value: function speak(utterance) {
        var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

        if (typeof options === 'string') {
          if (_reactNative.Platform.OS === 'ios') {
            return TextToSpeech.speak(utterance, {
              iosVoiceId: options
            });
          } else {
            return TextToSpeech.speak(utterance, {});
          }
        } else {
          if (_reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'windows') {
            return TextToSpeech.speak(utterance, options);
          } else {
            return TextToSpeech.speak(utterance, options.androidParams || {});
          }
        }
      }
    }, {
      key: "stop",
      value: function stop(onWordBoundary) {
        if (_reactNative.Platform.OS === 'ios') {
          return TextToSpeech.stop(onWordBoundary);
        } else {
          return TextToSpeech.stop();
        }
      }
    }, {
      key: "pause",
      value: function pause(onWordBoundary) {
        if (_reactNative.Platform.OS === 'ios') {
          return TextToSpeech.pause(onWordBoundary);
        }

        return Promise.resolve(false);
      }
    }, {
      key: "resume",
      value: function resume() {
        if (_reactNative.Platform.OS === 'ios') {
          return TextToSpeech.resume();
        }

        return Promise.resolve(false);
      }
    }, {
      key: "addEventListener",
      value: function addEventListener(type, handler) {
        return this.addListener(type, handler);
      }
    }, {
      key: "removeEventListener",
      value: function removeEventListener(type, handler) {
        this.removeListener(type, handler);
      }
    }]);
    return Tts;
  }(_reactNative.NativeEventEmitter);

  var _default = new Tts();

  exports.default = _default;
},1998,[5,7,8,12,14,16,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getChunkedString = getChunkedString;
  exports.getLengthOfChunks = getLengthOfChunks;
  exports.checkVolume = checkVolume;
  exports.setLanguage = setLanguage;
  exports.setRate = setRate;
  exports.handleError = handleError;
  exports.getPercentage = getPercentage;
  exports.getIndexForNonWordCharacter = getIndexForNonWordCharacter;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNativeTts = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNativeVolumeControl = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function splitInSentencesByRegex() {
    var text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
    var regex = arguments.length > 1 ? arguments[1] : undefined;
    var maxSize = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1;
    var sentences = [];
    var temporarySentence = "";

    for (var i = 0; i < text.length; i++) {
      var current = text[i];
      var next = text[i + 1];
      temporarySentence += current;

      if (current && current.match(regex) && (!next || next.match(/[ \n]/)) && temporarySentence.length > maxSize * 0.25 || maxSize > -1 && temporarySentence.length >= maxSize) {
        sentences.push(temporarySentence);
        temporarySentence = "";
      }
    }

    if (temporarySentence) {
      sentences.push(temporarySentence);
    }

    return sentences;
  }

  function getChunkedString() {
    var text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
    var size = arguments.length > 1 ? arguments[1] : undefined;
    var fixedText = text.replace(/[\n]+/g, ".\n");
    fixedText = fixedText.replace(/\.+[\n]+/g, ".\n");
    var sentences = splitInSentencesByRegex(fixedText, /[.!?;]/, size);
    sentences = sentences.reduce(function (result, sentence) {
      if (sentence.length > size) {
        result.push.apply(result, (0, _toConsumableArray2.default)(splitInSentencesByRegex(sentence, /,/, size)));
      } else {
        result.push(sentence);
      }

      return result;
    }, []);
    return sentences;
  }

  function getLengthOfChunks() {
    var chunks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
    return chunks.reduce(function (result, chunk) {
      return result + chunk.length;
    }, 0);
  }

  function checkVolume() {
    var volume;
    return _regenerator.default.async(function checkVolume$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            _context.next = 2;
            return _regenerator.default.awrap(_reactNativeVolumeControl.default.getVolume());

          case 2:
            volume = _context.sent;

            if (volume === 0) {
              _$$_REQUIRE(_dependencyMap[5]).Toast.show(global.strings("msg_tts_no_volume"));
            }

          case 4:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function setLanguage(locale) {
    return _regenerator.default.async(function setLanguage$(_context2) {
      while (1) {
        switch (_context2.prev = _context2.next) {
          case 0:
            _context2.prev = 0;
            _context2.next = 3;
            return _regenerator.default.awrap(_reactNativeTts.default.setDefaultLanguage(locale));

          case 3:
            return _context2.abrupt("return", true);

          case 6:
            _context2.prev = 6;
            _context2.t0 = _context2["catch"](0);

            _$$_REQUIRE(_dependencyMap[5]).Toast.show(global.strings("msg_tts_unsupported"));

            return _context2.abrupt("return", false);

          case 10:
          case "end":
            return _context2.stop();
        }
      }
    }, null, null, [[0, 6]], Promise);
  }

  function setRate() {
    var _global$getActivePSet, textToSpeechRate;

    return _regenerator.default.async(function setRate$(_context3) {
      while (1) {
        switch (_context3.prev = _context3.next) {
          case 0:
            _global$getActivePSet = global.getActivePSetup(), textToSpeechRate = _global$getActivePSet.textToSpeechRate;

            if (!textToSpeechRate) {
              _context3.next = 9;
              break;
            }

            _context3.prev = 2;
            _context3.next = 5;
            return _regenerator.default.awrap(_reactNativeTts.default.setDefaultRate(textToSpeechRate));

          case 5:
            _context3.next = 9;
            break;

          case 7:
            _context3.prev = 7;
            _context3.t0 = _context3["catch"](2);

          case 9:
          case "end":
            return _context3.stop();
        }
      }
    }, null, null, [[2, 7]], Promise);
  }

  function handleError(err) {
    return _regenerator.default.async(function handleError$(_context4) {
      while (1) {
        switch (_context4.prev = _context4.next) {
          case 0:
            if (!(err.code === "no_engine")) {
              _context4.next = 9;
              break;
            }

            _context4.prev = 1;
            _context4.next = 4;
            return _regenerator.default.awrap(_reactNativeTts.default.requestInstallEngine());

          case 4:
            _context4.next = 9;
            break;

          case 6:
            _context4.prev = 6;
            _context4.t0 = _context4["catch"](1);

            _$$_REQUIRE(_dependencyMap[5]).Toast.show(global.strings("msg_tts_error"));

          case 9:
          case "end":
            return _context4.stop();
        }
      }
    }, null, null, [[1, 6]], Promise);
  }

  function getPercentage() {
    var progress = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;

    try {
      return parseInt(Math.ceil(progress * 100).toFixed(0), 10);
    } catch (e) {
      return Math.ceil(progress * 100);
    }
  }

  function getIndexForNonWordCharacter() {
    var text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
    var fromIndex = arguments.length > 1 ? arguments[1] : undefined;

    for (var i = fromIndex; i >= 0; i--) {
      var character = text[i];

      if (character && !character.match(/\w/)) {
        return i;
      }
    }

    return 0;
  }
},1999,[5,80,21,1998,2000,1889]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.VolumeControlEvents = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var VolumeControl = _reactNative.NativeModules.VolumeControl;
  var VolumeControlEvents = new _reactNative.NativeEventEmitter(_reactNative.NativeModules.VolumeControl);
  exports.VolumeControlEvents = VolumeControlEvents;
  var _default = VolumeControl;
  exports.default = _default;
},2000,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _hintKeys = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var MAX_RESTART_RETRY = 5;

  var _OptionalPackages$get = _optionalPackageUtils.default.getVoice(),
      Voice = _OptionalPackages$get.Voice;

  var VoiceManager = function () {
    function VoiceManager() {
      var _this = this;

      (0, _classCallCheck2.default)(this, VoiceManager);
      this.loop = false;
      this.retry = 0;
      this.running = false;

      this._onSpeechStart = function (event) {
        _this.retry = 0;
        _this.running = true;

        _this._log("started", "onSpeechStart");

        _$$_REQUIRE(_dependencyMap[8]).EventRegister.emit(_events.default.ON_VOICE_RECOGNITION_START);
      };

      this._onSpeechError = function (_ref) {
        var error = _ref.error;

        _this._log(error.message, "onSpeechError");

        if (_this.running) {
          _this.running = false;

          if (error.code === "7") {
            _this.start(_this.loop);
          } else if (_this.retry < MAX_RESTART_RETRY && _this.loop) {
            _this._showHint({
              config: _hintKeys.default.voiceRecognitionError({
                message: error.message
              })
            });

            _this.retry += 1;

            _this.start(_this.loop);
          } else {
            _this.stop();
          }
        }
      };

      this._onSpeechPartialResults = function (event) {
        _this._log(event.value, "onSpeechPartialResults");
      };

      this._onSpeechResults = function _callee(event) {
        var foundSpeech;
        return _regenerator.default.async(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _this.running = false;

                _this._log(event.value, "onSpeechResults");

                try {
                  foundSpeech = _$$_REQUIRE(_dependencyMap[9]).ShortcutManager.onVoiceRecognized(event);

                  _$$_REQUIRE(_dependencyMap[8]).EventRegister.emit(_events.default.ON_VOICE_RECOGNITION, {
                    values: foundSpeech
                  });
                } catch (e) {
                  _this._log(e.message, "onSpeechResults");
                }

                if (!_$$_REQUIRE(_dependencyMap[10]).PlatformUtils.isIOS()) {
                  _context.next = 6;
                  break;
                }

                _context.next = 6;
                return _regenerator.default.awrap(_this.stop());

              case 6:
                _context.t0 = _this.loop;

                if (!_context.t0) {
                  _context.next = 11;
                  break;
                }

                _context.next = 10;
                return _regenerator.default.awrap(_this._isRecognizing());

              case 10:
                _context.t0 = !_context.sent;

              case 11:
                if (!_context.t0) {
                  _context.next = 13;
                  break;
                }

                _this.start(_this.loop);

              case 13:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      };

      this._onSpeechEnd = function (event) {
        _this.running = false;

        _this._log(event, "onSpeechEnd");
      };

      this._onSpeechRecognized = function (event) {
        _this._log(event, "onSpeechRecognized");
      };

      this._onSpeechVolumeChanged = function (event) {};

      if (Voice) {
        Voice.onSpeechStart = this._onSpeechStart;
        Voice.onSpeechError = this._onSpeechError;
        Voice.onSpeechPartialResults = this._onSpeechPartialResults;
        Voice.onSpeechResults = this._onSpeechResults;
        Voice.onSpeechRecognized = this._onSpeechRecognized;
        Voice.onSpeechVolumeChanged = this._onSpeechVolumeChanged;
        Voice.onSpeechEnd = this._onSpeechEnd;
      }
    }

    (0, _createClass2.default)(VoiceManager, [{
      key: "_showHint",
      value: function _showHint() {
        var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};

        _$$_REQUIRE(_dependencyMap[11]).HintOverlay.show((0, _extends2.default)({
          iconProps: {
            type: _$$_REQUIRE(_dependencyMap[12]).TecnaviaIconType.MATERIAL_COMMUNITY_ICONS,
            name: "information"
          }
        }, params));
      }
    }, {
      key: "_log",
      value: function _log(event) {
        var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
      }
    }, {
      key: "_getServices",
      value: function _getServices() {
        return _regenerator.default.async(function _getServices$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!Voice) {
                  _context2.next = 2;
                  break;
                }

                return _context2.abrupt("return", Voice.getSpeechRecognitionServices());

              case 2:
                return _context2.abrupt("return", []);

              case 3:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "_isRecognizing",
      value: function _isRecognizing() {
        var result;
        return _regenerator.default.async(function _isRecognizing$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                if (!Voice) {
                  _context3.next = 12;
                  break;
                }

                _context3.prev = 1;
                _context3.next = 4;
                return _regenerator.default.awrap(Voice.isRecognizing());

              case 4:
                result = _context3.sent;

                this._log("is recognizing " + result);

                return _context3.abrupt("return", result);

              case 9:
                _context3.prev = 9;
                _context3.t0 = _context3["catch"](1);
                return _context3.abrupt("return", false);

              case 12:
                return _context3.abrupt("return", false);

              case 13:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, [[1, 9]], Promise);
      }
    }, {
      key: "_isAvailable",
      value: function _isAvailable() {
        var result;
        return _regenerator.default.async(function _isAvailable$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!Voice) {
                  _context4.next = 12;
                  break;
                }

                _context4.prev = 1;
                _context4.next = 4;
                return _regenerator.default.awrap(Voice.isAvailable());

              case 4:
                result = _context4.sent;

                this._log("is available " + result);

                return _context4.abrupt("return", result);

              case 9:
                _context4.prev = 9;
                _context4.t0 = _context4["catch"](1);
                return _context4.abrupt("return", false);

              case 12:
                return _context4.abrupt("return", false);

              case 13:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, [[1, 9]], Promise);
      }
    }, {
      key: "isRunning",
      value: function isRunning() {
        return this.running;
      }
    }, {
      key: "stop",
      value: function stop() {
        return _regenerator.default.async(function stop$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                if (!Voice) {
                  _context5.next = 13;
                  break;
                }

                _context5.prev = 1;
                this.running = false;
                this.retry = 0;
                this.loop = false;

                _$$_REQUIRE(_dependencyMap[13]).VoiceOverlay.hide();

                _context5.next = 8;
                return _regenerator.default.awrap(Voice.stop());

              case 8:
                _context5.next = 13;
                break;

              case 10:
                _context5.prev = 10;
                _context5.t0 = _context5["catch"](1);

                this._log("no services available");

              case 13:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, [[1, 10]], Promise);
      }
    }, {
      key: "start",
      value: function start() {
        var loop,
            result,
            available,
            services,
            _args6 = arguments;
        return _regenerator.default.async(function start$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                loop = _args6.length > 0 && _args6[0] !== undefined ? _args6[0] : false;
                result = false;

                if (!Voice) {
                  _context6.next = 25;
                  break;
                }

                _context6.prev = 3;
                this.loop = loop;
                _context6.next = 7;
                return _regenerator.default.awrap(this._isAvailable());

              case 7:
                available = _context6.sent;

                if (!available) {
                  _context6.next = 16;
                  break;
                }

                _$$_REQUIRE(_dependencyMap[13]).VoiceOverlay.show();

                _context6.next = 12;
                return _regenerator.default.awrap(Voice.start(global.getLocaleConfig().getCurrentLocale(), {
                  RECOGNIZER_ENGINE: "GOOGLE",
                  EXTRA_PARTIAL_RESULTS: true
                }));

              case 12:
                result = true;
                this.running = true;
                _context6.next = 20;
                break;

              case 16:
                _context6.next = 18;
                return _regenerator.default.awrap(this._getServices());

              case 18:
                services = _context6.sent;

                if ((!services || !services.length) && _$$_REQUIRE(_dependencyMap[10]).PlatformUtils.isAndroid()) {
                  this._showHint({
                    config: _hintKeys.default.voiceRecognitionNoServices(),
                    onActionPress: _$$_REQUIRE(_dependencyMap[14]).NativeSettingsNavigation.appInputMethodSettings
                  });

                  this._log("no installed services");
                } else {
                  this._showHint({
                    config: _hintKeys.default.voiceRecognitionSomethingWrong()
                  });

                  this._log("service is available but something went wrong");
                }

              case 20:
                _context6.next = 25;
                break;

              case 22:
                _context6.prev = 22;
                _context6.t0 = _context6["catch"](3);

                this._log(_context6.t0.message);

              case 25:
                return _context6.abrupt("return", result);

              case 26:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, [[3, 22]], Promise);
      }
    }]);
    return VoiceManager;
  }();

  exports.default = VoiceManager;
},2001,[5,80,6,7,8,460,731,2002,572,1911,462,2003,1806,2007,2009]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var HintKeys = {
    rssDbDownloadProgress: function rssDbDownloadProgress() {
      return {
        key: "rss_db_download_progress",
        hint: global.strings("msg_download_rss"),
        showAlways: true,
        event: _events.default.ON_RSS_DB_DOWNLOAD
      };
    },
    myHomeScreenConfig: function myHomeScreenConfig() {
      var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      return {
        key: "my_home_screen_config",
        hint: global.strings("hint_my_home_screen_config", params),
        hintAction: global.strings("action_go_to_settings", params)
      };
    },
    voiceRecognitionNoServices: function voiceRecognitionNoServices() {
      return {
        key: "voice_recognition_no_services",
        hint: global.strings("err_voice_recognition_no_services"),
        hintAction: global.strings("action_go_to_settings"),
        showAlways: true
      };
    },
    voiceRecognitionSomethingWrong: function voiceRecognitionSomethingWrong() {
      return {
        key: "voice_recognition_something_wrong",
        hint: global.strings("err_voice_recognition_generic"),
        showAlways: true
      };
    },
    voiceRecognitionError: function voiceRecognitionError(params) {
      return {
        key: "voice_recognition_error",
        hint: global.strings("err_voice_recognition", params),
        showAlways: true
      };
    }
  };
  var _default = HintKeys;
  exports.default = _default;
},2002,[5,460]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.HintOverlay = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _hintComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  var _hintProgressComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var styles = _reactNative.StyleSheet.create({
    container: {
      position: "absolute",
      start: 0,
      end: 0,
      top: 0,
      bottom: 0,
      flexDirection: "column",
      elevation: 20000,
      zIndex: 20001
    }
  });

  var HintOverlay = function (_Component) {
    (0, _inherits2.default)(HintOverlay, _Component);

    var _super = _createSuper(HintOverlay);

    function HintOverlay(props) {
      var _this;

      (0, _classCallCheck2.default)(this, HintOverlay);
      _this = _super.call(this, props);
      _this.state = {
        isShow: false,
        hintConfig: undefined
      };
      _this.onHide = _this._onHide.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(HintOverlay, [{
      key: "showHint",
      value: function showHint() {
        var _this2 = this;

        var hintConfig = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        this.backgroundColor = (0, _hintComponent.getHintBackgroundColor)();
        this.setState({
          isShow: true,
          hintConfig: hintConfig
        }, function () {
          _this2.previousTopBarColor = _$$_REQUIRE(_dependencyMap[13]).PlatformUtils.topBarColor;

          _$$_REQUIRE(_dependencyMap[13]).PlatformUtils.colorTopBar(_this2.backgroundColor);
        });
      }
    }, {
      key: "hideHint",
      value: function hideHint() {
        var isShow = this.state.isShow;

        _$$_REQUIRE(_dependencyMap[13]).PlatformUtils.colorTopBar(this.previousTopBarColor);

        if (!this.isShow && !isShow) {
          return;
        }

        this.setState({
          isShow: false,
          hintConfig: undefined
        });
      }
    }, {
      key: "_onHide",
      value: function _onHide() {
        var hintConfig = this.state.hintConfig;

        if (hintConfig && typeof hintConfig.onHide === "function") {
          hintConfig.onHide();
        }

        this.hideHint();
      }
    }, {
      key: "_renderHint",
      value: function _renderHint() {
        var hintConfig = this.state.hintConfig;
        return _react.default.createElement(_hintComponent.default, (0, _extends2.default)({}, hintConfig, {
          onHide: this.onHide
        }));
      }
    }, {
      key: "_renderHintProgress",
      value: function _renderHintProgress() {
        var hintConfig = this.state.hintConfig;
        return _react.default.createElement(_hintProgressComponent.default, (0, _extends2.default)({}, hintConfig, {
          visible: true,
          onHide: this.onHide
        }));
      }
    }, {
      key: "render",
      value: function render() {
        var _this$state = this.state,
            isShow = _this$state.isShow,
            hintConfig = _this$state.hintConfig;

        if (isShow && hintConfig) {
          var _DeviceUtils$getSafeA = _deviceUtils.default.getSafeAreaInsets(),
              top = _DeviceUtils$getSafeA.top;

          return _react.default.createElement(_reactNative.View, {
            style: styles.container
          }, _react.default.createElement(_reactNative.View, {
            style: {
              width: "100%",
              height: top,
              backgroundColor: this.backgroundColor
            }
          }), hintConfig.progress ? this._renderHintProgress() : this._renderHint());
        }

        return null;
      }
    }], [{
      key: "show",
      value: function show(params) {
        HintOverlay.instance.showHint(params);
      }
    }, {
      key: "hide",
      value: function hide() {
        HintOverlay.instance.hideHint();
      }
    }]);
    return HintOverlay;
  }(_react.Component);

  exports.HintOverlay = HintOverlay;
},2003,[5,6,7,8,15,12,14,16,17,28,458,2004,2006,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getHintBackgroundColor = getHintBackgroundColor;
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _progressCountDown = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var PADDING = 15;

  var styles = _reactNative.StyleSheet.create({
    parent: {
      minHeight: 50,
      backgroundColor: _$$_REQUIRE(_dependencyMap[10]).colors.hintBackgroundColor,
      flexDirection: "row",
      alignItems: "center",
      padding: PADDING,
      elevation: 2
    },
    hintParent: {
      flex: 1,
      justifyContent: "center",
      paddingRight: 15
    },
    hint: {
      fontSize: 16
    },
    action: {
      fontSize: 16
    },
    touchable: {
      width: 40,
      height: 40,
      justifyContent: "center",
      alignItems: "center"
    },
    helpIconParent: {
      width: 40,
      height: 40,
      marginRight: 15,
      justifyContent: "center",
      alignItems: "center"
    },
    helpIcon: {
      fontSize: 20
    },
    icon: {
      fontSize: 20
    }
  });

  function getHintBackgroundColor() {
    var parentStyle = _$$_REQUIRE(_dependencyMap[11]).Css.getStyleObjByCssClasses(["hint-parent"]);

    return parentStyle.backgroundColor || _$$_REQUIRE(_dependencyMap[10]).colors.hintBackgroundColor;
  }

  var Hint = function Hint(props) {
    var defaultVisible = props.visible,
        style = props.style,
        config = props.config,
        MainComponent = props.MainComponent,
        IconComponent = props.IconComponent,
        actionStyle = props.actionStyle,
        onActionPress = props.onActionPress,
        iconProps = props.iconProps,
        onHide = props.onHide;

    var _useState = (0, _react.useState)(defaultVisible),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        visible = _useState2[0],
        setVisibility = _useState2[1];

    if (!config) {
      return null;
    }

    var key = config.key,
        hint = config.hint,
        hintAction = config.hintAction,
        _config$showAlways = config.showAlways,
        showAlways = _config$showAlways === undefined ? false : _config$showAlways,
        _config$autoHideTime = config.autoHideTime,
        autoHideTime = _config$autoHideTime === undefined ? 0 : _config$autoHideTime;
    var userSettings = global.getUserSettings();

    if (userSettings.isHintShown(key) && !showAlways || !visible || !hint) {
      return null;
    }

    var onClose = function onClose() {
      var animation = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
      userSettings.setShowedHint(key);

      if (animation) {
        _reactNative.LayoutAnimation.configureNext(_reactNative.LayoutAnimation.Presets.easeInEaseOut);
      }

      setVisibility(false);

      if (typeof onHide === "function") {
        onHide();
      }
    };

    var onAction = function onAction() {
      onClose(false);

      if (typeof onActionPress === "function") {
        onActionPress();
      }
    };

    var progressStyle = _$$_REQUIRE(_dependencyMap[11]).Css.getStyleObjByCssClasses(["hint-close-progress"]);

    var progressTextStyle = _$$_REQUIRE(_dependencyMap[11]).Css.getStyleObjByCssClasses(["hint-close-progress-text"]);

    var color = _$$_REQUIRE(_dependencyMap[11]).Css.getDefaultForegroundColor();

    var backgroundColor = getHintBackgroundColor();

    if (_$$_REQUIRE(_dependencyMap[10]).ColorUtils.isClearColor(color) === _$$_REQUIRE(_dependencyMap[10]).ColorUtils.isClearColor(backgroundColor)) {
      color = _$$_REQUIRE(_dependencyMap[10]).ColorUtils.determineTextColor(backgroundColor);
    }

    return _react.default.createElement(_reactNative.View, {
      style: [_$$_REQUIRE(_dependencyMap[10]).PlatformUtils.isIOS() ? {
        zIndex: 1000,
        shadowColor: _$$_REQUIRE(_dependencyMap[10]).colors.black,
        shadowOpacity: 0.5,
        shadowRadius: 0.5,
        shadowOffset: {
          height: 1,
          width: 0
        }
      } : {}, style]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
      classes: ["hint-parent"]
    }, _react.default.createElement(_reactNative.View, {
      style: styles.parent
    }, iconProps ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
      classes: ["hint-icon-parent"]
    }, _react.default.createElement(_reactNative.View, {
      style: styles.helpIconParent
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
      classes: ["hint-icon"]
    }, _react.default.createElement(_imageIconChooserComponent.default, (0, _extends2.default)({
      style: [styles.helpIcon, {
        color: color
      }]
    }, iconProps))))) : null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
      classes: ["hint-main-element-parent"]
    }, _react.default.createElement(_reactNative.View, {
      style: styles.hintParent
    }, MainComponent ? MainComponent : _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
      classes: ["hint-main-element-text"]
    }, _react.default.createElement(_fontText.default, {
      style: [styles.hint, {
        color: color
      }]
    }, hint)), hintAction ? _react.default.createElement(_reactNative.TouchableOpacity, {
      onPress: onAction
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
      classes: ["hint-main-element-action"]
    }, _react.default.createElement(_fontText.default, {
      style: [styles.action, {
        fontWeight: "bold",
        color: color
      }, actionStyle]
    }, hintAction))) : null))), _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
      classes: ["hint-right-parent"]
    }, _react.default.createElement(_reactNative.TouchableOpacity, {
      style: styles.touchable,
      hitSlop: {
        top: PADDING,
        bottom: PADDING,
        left: PADDING,
        right: PADDING
      },
      onPress: onClose
    }, IconComponent ? IconComponent : _react.default.createElement(_react.default.Fragment, null, autoHideTime ? _react.default.createElement(_progressCountDown.default, {
      viewSize: progressStyle.width,
      progressWidth: progressStyle.borderWidth,
      progressRadius: progressStyle.borderRadius,
      progressTextStyle: progressTextStyle,
      progressColor: progressStyle.color || color,
      progressDuration: autoHideTime,
      onProgressFinish: onClose
    }) : _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
      classes: ["hint-close-icon"]
    }, _react.default.createElement(_iconComponent.default, {
      type: _iconComponent.TecnaviaIconType.MATERIAL_COMMUNITY_ICONS,
      name: "close",
      style: [styles.icon, {
        position: "absolute",
        color: color
      }]
    }))))))));
  };

  Hint.propTypes = {
    config: _propTypes.default.shape({
      key: _propTypes.default.string.isRequired,
      hint: _propTypes.default.string.isRequired,
      hintAction: _propTypes.default.string,
      showAlways: _propTypes.default.bool,
      autoHideTime: _propTypes.default.number
    }).isRequired,
    visible: _propTypes.default.bool,
    style: _propTypes.default.any,
    IconComponent: _propTypes.default.node,
    MainComponent: _propTypes.default.node,
    actionText: _propTypes.default.string,
    actionStyle: _propTypes.default.any,
    onActionPress: _propTypes.default.func,
    onHide: _propTypes.default.func,
    iconProps: _propTypes.default.shape((0, _extends2.default)({}, _imageIconChooserComponent.default.propTypes))
  };
  Hint.defaultProps = {
    visible: true
  };
  var _default = Hint;
  exports.default = _default;
},2004,[5,6,41,17,201,28,1806,1879,1970,2005,462,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _reactNativeSvg = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var AnimatedCircle = _reactNative.Animated.createAnimatedComponent(_reactNativeSvg.Circle);

  var getText = function getText(mills) {
    return Math.round(mills / 1000).toFixed(0);
  };

  var ProgressCountDown = function ProgressCountDown(props) {
    var viewSize = props.viewSize,
        viewStyle = props.viewStyle,
        progressRadius = props.progressRadius,
        progressWidth = props.progressWidth,
        progressDuration = props.progressDuration,
        progressColor = props.progressColor,
        progressTextStyle = props.progressTextStyle,
        onProgressFinish = props.onProgressFinish;

    var _useState = (0, _react.useState)(getText(progressDuration)),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        text = _useState2[0],
        setText = _useState2[1];

    var circumf = progressRadius * 2 * Math.PI;
    var value = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
    var listenerId = value.addListener(function (param) {
      var newText = "";

      if (param.value === 0) {
        newText = "" + progressDuration;
      } else {
        newText = getText(progressDuration - param.value * progressDuration);
      }

      if (newText !== text) {
        setText(newText);
      }
    });
    (0, _react.useEffect)(function () {
      var animation = _reactNative.Animated.timing(value, {
        toValue: 1,
        duration: progressDuration,
        useNativeDriver: false
      }).start(function (_ref) {
        var finished = _ref.finished;

        if (finished && typeof onProgressFinish === "function") {
          onProgressFinish();
        }
      });

      return function () {
        if (animation) {
          animation.stop();
        }

        if (value) {
          value.removeListener(listenerId);
        }
      };
    }, []);
    return _react.default.createElement(_reactNative.View, {
      style: {
        justifyContent: "center",
        alignItems: "center"
      }
    }, _react.default.createElement(_reactNativeSvg.default, {
      height: viewSize,
      width: viewSize,
      viewBox: "0 0 100 100",
      style: viewStyle
    }, _react.default.createElement(AnimatedCircle, {
      stroke: progressColor,
      fill: "none",
      cx: viewSize,
      cy: viewSize,
      r: progressRadius,
      strokeDasharray: circumf + " " + circumf,
      strokeDashoffset: value.interpolate({
        inputRange: [0, 1],
        outputRange: [0, circumf]
      }),
      transform: "rotate(-90, " + viewSize + ", " + viewSize + ")",
      strokeWidth: progressWidth
    })), _react.default.createElement(_fontText.default, {
      style: [{
        position: "absolute",
        color: progressColor
      }, progressTextStyle]
    }, text));
  };

  ProgressCountDown.propTypes = {
    viewSize: _propTypes.default.number,
    viewStyle: _propTypes.default.any,
    progressRadius: _propTypes.default.number,
    progressWidth: _propTypes.default.number,
    progressDuration: _propTypes.default.number,
    progressColor: _propTypes.default.string,
    progressTextStyle: _propTypes.default.any,
    onProgressFinish: _propTypes.default.func
  };
  ProgressCountDown.defaultProps = {
    viewSize: 50,
    progressRadius: 30,
    progressWidth: 5,
    progressDuration: 10000,
    progressColor: _$$_REQUIRE(_dependencyMap[7]).colors.black
  };
  var _default = ProgressCountDown;
  exports.default = _default;
},2005,[5,41,17,201,28,777,1879,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _hintComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var SPINNER_SIZE = 40;

  var SPINNER_COLOR = _$$_REQUIRE(_dependencyMap[9]).colors.black;

  var styles = _reactNative.StyleSheet.create({
    parent: {
      flex: 1
    },
    spinner: {
      flex: 0
    }
  });

  function HintProgress(props) {
    var color = props.color,
        size = props.size,
        cssProgressClasses = props.cssProgressClasses,
        cssProgressTextClasses = props.cssProgressTextClasses,
        config = props.config,
        onHide = props.onHide,
        rest = (0, _objectWithoutProperties2.default)(props, ["color", "size", "cssProgressClasses", "cssProgressTextClasses", "config", "onHide"]);
    var event = config.event,
        restConfig = (0, _objectWithoutProperties2.default)(config, ["event"]);

    var _useState = (0, _react.useState)(rest.visible),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        visible = _useState2[0],
        setVisible = _useState2[1];

    var onProgressChangeId;
    var progressRef;
    var onProgressChange = (0, _react.useCallback)(function (_ref) {
      var progress = _ref.progress;
      var inProgress = progress > 0 && progress < 100;

      if (visible && !inProgress && typeof onHide === "function") {
        onHide();
      }

      if (progressRef) {
        progressRef.updateProgress(progress);
      }

      if (visible !== inProgress) {
        setVisible(inProgress);
      }
    }, [progressRef, visible]);
    var onProgressRef = (0, _react.useCallback)(function (ref) {
      progressRef = ref;
    });
    (0, _react.useEffect)(function () {
      if (event) {
        onProgressChangeId = _$$_REQUIRE(_dependencyMap[10]).EventRegister.on(event, onProgressChange);
      }

      return function () {
        _$$_REQUIRE(_dependencyMap[10]).EventRegister.rm(onProgressChangeId);
      };
    }, [visible]);

    var cssHintProgressParent = _$$_REQUIRE(_dependencyMap[11]).Css.getStyleObjByCssClasses(["hint-progress-parent"]);

    var cssHintProgressSpinner = _$$_REQUIRE(_dependencyMap[11]).Css.getStyleObjByCssClasses(["hint-progress-spinner"]);

    var cssHintProgressSpinnerText = _$$_REQUIRE(_dependencyMap[11]).Css.getStyleObjByCssClasses(["hint-progress-spinner-text"]);

    if (!visible) {
      return null;
    }

    return _react.default.createElement(_hintComponent.default, (0, _extends2.default)({
      config: restConfig
    }, rest, {
      visible: visible,
      IconComponent: _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).ProgressCircle, {
        ref: onProgressRef,
        parentStyle: [styles.parent, cssHintProgressParent],
        spinnerStyle: [styles.spinner, cssHintProgressSpinner],
        spinnerTextStyle: cssHintProgressSpinnerText,
        spinnerColor: cssHintProgressSpinner.color || color,
        spinnerSize: cssHintProgressSpinner.size || size,
        showText: false,
        advanced: true,
        cssClasses: ["hint-progress-spinner"].concat((0, _toConsumableArray2.default)(cssProgressClasses)),
        cssTextClasses: ["hint-progress-spinner-text"].concat((0, _toConsumableArray2.default)(cssProgressTextClasses))
      })
    }));
  }

  HintProgress.propTypes = (0, _extends2.default)({
    color: _propTypes.default.string,
    size: _propTypes.default.number,
    visible: _propTypes.default.bool,
    event: _propTypes.default.string,
    cssProgressClasses: _propTypes.default.array,
    cssProgressTextClasses: _propTypes.default.array
  }, _hintComponent.default.propTypes);
  HintProgress.defaultProps = (0, _extends2.default)({
    color: SPINNER_COLOR,
    size: SPINNER_SIZE,
    visible: false,
    cssProgressClasses: [],
    cssProgressTextClasses: []
  }, _hintComponent.default.defaultProps);
  var _default = HintProgress;
  exports.default = _default;
},2006,[5,6,21,41,108,17,28,201,2004,462,572,699,1953]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.VoiceOverlay = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _voiceIconComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var styles = _reactNative.StyleSheet.create({
    container: {
      position: "absolute",
      start: 0,
      end: 0,
      bottom: 0,
      flexDirection: "column",
      elevation: 50000,
      zIndex: 50001
    }
  });

  var VoiceOverlay = function (_Component) {
    (0, _inherits2.default)(VoiceOverlay, _Component);

    var _super = _createSuper(VoiceOverlay);

    function VoiceOverlay(props) {
      var _this;

      (0, _classCallCheck2.default)(this, VoiceOverlay);
      _this = _super.call(this, props);
      _this.state = {
        isShow: false
      };
      _this.onPress = _this._onPress.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(VoiceOverlay, [{
      key: "show",
      value: function show() {
        var isShow = this.state.isShow;

        if (!isShow) {
          this.setState({
            isShow: true
          });
        }
      }
    }, {
      key: "hide",
      value: function hide() {
        var isShow = this.state.isShow;

        if (isShow) {
          this.setState({
            isShow: false
          });
        }
      }
    }, {
      key: "_onPress",
      value: function _onPress() {
        return _regenerator.default.async(function _onPress$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!global.getAudio()) {
                  _context.next = 8;
                  break;
                }

                if (!global.getAudio().srIsRunning()) {
                  _context.next = 6;
                  break;
                }

                _context.next = 4;
                return _regenerator.default.awrap(global.getAudio().srStop());

              case 4:
                _context.next = 8;
                break;

              case 6:
                _context.next = 8;
                return _regenerator.default.awrap(global.getAudio().srStart(global.getAudio().srIsLooping()));

              case 8:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "render",
      value: function render() {
        var isShow = this.state.isShow;
        return isShow ? _react.default.createElement(_reactNative.View, {
          style: styles.container
        }, _react.default.createElement(_voiceIconComponent.default, {
          onIconPress: this.onPress
        })) : null;
      }
    }], [{
      key: "show",
      value: function show() {
        VoiceOverlay.instance.show();
      }
    }, {
      key: "hide",
      value: function hide() {
        VoiceOverlay.instance.hide();
      }
    }]);
    return VoiceOverlay;
  }(_react.Component);

  exports.VoiceOverlay = VoiceOverlay;
},2007,[5,80,7,8,15,12,14,16,17,28,2008]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var HEIGHT = 120;
  var ICON_HEIGHT = 84;
  var ICON_SIZE = 50.4;
  var ICON_END = 18;

  var styles = _reactNative.StyleSheet.create({
    parent: {
      height: HEIGHT,
      alignItems: "center",
      justifyContent: "center"
    },
    topBar: {
      flex: 1,
      width: "100%"
    },
    bottomBar: {
      flex: 1,
      width: "100%",
      backgroundColor: _$$_REQUIRE(_dependencyMap[7]).colors.white,
      borderTopColor: _$$_REQUIRE(_dependencyMap[7]).colors.black,
      borderTopWidth: 1,
      justifyContent: "center"
    },
    bottomBarText: {
      fontSize: 20,
      padding: 10
    },
    iconParent: {
      position: "absolute",
      height: ICON_HEIGHT,
      width: ICON_HEIGHT,
      end: ICON_END,
      backgroundColor: _$$_REQUIRE(_dependencyMap[7]).colors.white,
      borderRadius: ICON_HEIGHT,
      borderWidth: 1,
      borderColor: _$$_REQUIRE(_dependencyMap[7]).colors.black,
      justifyContent: "center",
      alignItems: "center"
    }
  });

  var VoiceIcon = function VoiceIcon(props) {
    var onIconPress = props.onIconPress;

    var _useState = (0, _react.useState)(""),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        text = _useState2[0],
        setText = _useState2[1];

    var iconStyle = _$$_REQUIRE(_dependencyMap[8]).Css.getStyleObjByCssClasses(["voice-icon"]);

    var colorAnim = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
    var animation;

    var startAnimation = function startAnimation(destination) {
      animation = _reactNative.Animated.timing(colorAnim, {
        toValue: destination,
        duration: 1000,
        useNativeDriver: false
      }).start(function (_ref) {
        var finished = _ref.finished;

        if (finished) {
          startAnimation(Math.abs(destination - 1));
        }
      });
    };

    var onPress = function onPress() {
      if (typeof onIconPress === "function") {
        onIconPress();
      }
    };

    var onVoiceRecognition;
    var onVoiceRecognitionRestart;
    (0, _react.useEffect)(function () {
      startAnimation(1);
      onVoiceRecognition = _$$_REQUIRE(_dependencyMap[9]).EventRegister.on(_events.default.ON_VOICE_RECOGNITION, function (_ref2) {
        var _ref2$values = _ref2.values,
            values = _ref2$values === undefined ? [] : _ref2$values;
        setText(values[0] || "");
      });
      onVoiceRecognitionRestart = _$$_REQUIRE(_dependencyMap[9]).EventRegister.on(_events.default.ON_VOICE_RECOGNITION_START, function () {});
      return function () {
        _$$_REQUIRE(_dependencyMap[9]).EventRegister.rm(onVoiceRecognition);

        _$$_REQUIRE(_dependencyMap[9]).EventRegister.rm(onVoiceRecognitionRestart);

        if (animation) {
          animation.stop();
        }
      };
    });
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["voice-parent"]
    }, _react.default.createElement(_reactNative.View, {
      style: styles.parent
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["voice-top-bar"]
    }, _react.default.createElement(_reactNative.View, {
      style: styles.topBar
    })), _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["voice-bottom-bar"]
    }, _react.default.createElement(_reactNative.View, {
      style: styles.bottomBar
    }, text ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["voice-bottom-bar-text"]
    }, _react.default.createElement(_fontText.default, {
      type: _fontText.Type.bold,
      style: styles.bottomBarText,
      numberOfLines: 1,
      ellipsizeMode: "tail"
    }, text + "...")) : null)), _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["voice-icon-parent"]
    }, _react.default.createElement(_reactNative.TouchableOpacity, {
      onPress: onPress,
      style: styles.iconParent
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).AnimatedImageIconChooser, {
      type: _$$_REQUIRE(_dependencyMap[11]).TecnaviaIconType.MATERIAL_COMMUNITY_ICONS,
      name: "microphone",
      size: ICON_SIZE,
      style: [iconStyle, {
        color: colorAnim.interpolate({
          inputRange: [0, 1],
          outputRange: [_$$_REQUIRE(_dependencyMap[7]).colors.black, iconStyle.color || _$$_REQUIRE(_dependencyMap[7]).colors.red]
        })
      }]
    })))));
  };

  VoiceIcon.propTypes = {
    onIconPress: _propTypes.default.func
  };
  var _default = VoiceIcon;
  exports.default = _default;
},2008,[5,41,17,201,28,460,1879,462,699,572,1970,1806]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.NativeSettingsNavigation = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNativeAppSettings = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNativeAndroidOpenSettings = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var NativeSettingsNavigation = function () {
    function NativeSettingsNavigation() {
      (0, _classCallCheck2.default)(this, NativeSettingsNavigation);
    }

    (0, _createClass2.default)(NativeSettingsNavigation, null, [{
      key: "appNotificationSettings",
      value: function appNotificationSettings() {
        if (_$$_REQUIRE(_dependencyMap[5]).PlatformUtils.isAndroid()) {
          _reactNativeAndroidOpenSettings.default.appNotificationSettings();
        } else {
          _reactNativeAppSettings.default.open();
        }
      }
    }, {
      key: "accessibilitySettings",
      value: function accessibilitySettings() {
        if (_$$_REQUIRE(_dependencyMap[5]).PlatformUtils.isAndroid()) {
          _reactNativeAndroidOpenSettings.default.accessibilitySettings();
        }
      }
    }, {
      key: "appInputMethodSettings",
      value: function appInputMethodSettings() {
        if (_$$_REQUIRE(_dependencyMap[5]).PlatformUtils.isAndroid()) {
          _reactNativeAndroidOpenSettings.default.inputMethodSettings();
        }
      }
    }]);
    return NativeSettingsNavigation;
  }();

  exports.NativeSettingsNavigation = NativeSettingsNavigation;
},2009,[5,7,8,2010,2011,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var OpenAppSettings = _reactNative.NativeModules.OpenAppSettings;
  var _default = OpenAppSettings;
  exports.default = _default;
},2010,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var RNAndroidOpenSettings = _reactNative.NativeModules.RNAndroidOpenSettings;

  var generalSettings = function generalSettings() {
    return RNAndroidOpenSettings.generalSettings();
  };

  var homeSettings = function homeSettings() {
    return RNAndroidOpenSettings.homeSettings();
  };

  var appDetailsSettings = function appDetailsSettings() {
    return RNAndroidOpenSettings.appDetailsSettings();
  };

  var wifiSettings = function wifiSettings() {
    return RNAndroidOpenSettings.wifiSettings();
  };

  var locationSourceSettings = function locationSourceSettings() {
    return RNAndroidOpenSettings.locationSourceSettings();
  };

  var wirelessSettings = function wirelessSettings() {
    return RNAndroidOpenSettings.wirelessSettings();
  };

  var airplaneModeSettings = function airplaneModeSettings() {
    return RNAndroidOpenSettings.airplaneModeSettings();
  };

  var apnSettings = function apnSettings() {
    return RNAndroidOpenSettings.apnSettings();
  };

  var bluetoothSettings = function bluetoothSettings() {
    return RNAndroidOpenSettings.bluetoothSettings();
  };

  var dateSettings = function dateSettings() {
    return RNAndroidOpenSettings.dateSettings();
  };

  var localeSettings = function localeSettings() {
    return RNAndroidOpenSettings.localeSettings();
  };

  var inputMethodSettings = function inputMethodSettings() {
    return RNAndroidOpenSettings.inputMethodSettings();
  };

  var displaySettings = function displaySettings() {
    return RNAndroidOpenSettings.displaySettings();
  };

  var securitySettings = function securitySettings() {
    return RNAndroidOpenSettings.securitySettings();
  };

  var internalStorageSettings = function internalStorageSettings() {
    return RNAndroidOpenSettings.internalStorageSettings();
  };

  var memoryCardSettings = function memoryCardSettings() {
    return RNAndroidOpenSettings.memoryCardSettings();
  };

  var accessibilitySettings = function accessibilitySettings() {
    return RNAndroidOpenSettings.accessibilitySettings();
  };

  var applicationSettings = function applicationSettings() {
    return RNAndroidOpenSettings.applicationSettings();
  };

  var deviceInfoSettings = function deviceInfoSettings() {
    return RNAndroidOpenSettings.deviceInfoSettings();
  };

  var appNotificationSettings = function appNotificationSettings() {
    return RNAndroidOpenSettings.appNotificationSettings();
  };

  module.exports = {
    generalSettings: generalSettings,
    homeSettings: homeSettings,
    appDetailsSettings: appDetailsSettings,
    wifiSettings: wifiSettings,
    locationSourceSettings: locationSourceSettings,
    wirelessSettings: wirelessSettings,
    airplaneModeSettings: airplaneModeSettings,
    apnSettings: apnSettings,
    bluetoothSettings: bluetoothSettings,
    dateSettings: dateSettings,
    localeSettings: localeSettings,
    inputMethodSettings: inputMethodSettings,
    displaySettings: displaySettings,
    securitySettings: securitySettings,
    internalStorageSettings: internalStorageSettings,
    memoryCardSettings: memoryCardSettings,
    accessibilitySettings: accessibilitySettings,
    applicationSettings: applicationSettings,
    deviceInfoSettings: deviceInfoSettings,
    appNotificationSettings: appNotificationSettings
  };
},2011,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.AdsConfig = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  var _NoticeHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _InStoryAd = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var NoticeValues = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _NoticesManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _NoticeInstoryAd = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _Notice = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _NoticePrestitial = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _NoticeInterstitial = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _NoticeAdOverPage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _adnativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _adwebComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _LiveConfig = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[18]));

  var _LoginManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[20]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var AdsConfig = function () {
    function AdsConfig() {
      (0, _classCallCheck2.default)(this, AdsConfig);
    }

    (0, _createClass2.default)(AdsConfig, [{
      key: "init",
      value: function init() {
        var _global$getRssIndex, cacheAds, adProvider, adPrebidAccountId, adPrebidServerHost, adPrebidConfigurationId, adPrebidShareGeolocation, adUnitId, adTargeting, topAd, bottomAd, adDefaultFallback, adsBackgroundColor;

        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _global$getRssIndex = global.getRssIndex(), cacheAds = _global$getRssIndex.cacheAds, adProvider = _global$getRssIndex.adProvider, adPrebidAccountId = _global$getRssIndex.adPrebidAccountId, adPrebidServerHost = _global$getRssIndex.adPrebidServerHost, adPrebidConfigurationId = _global$getRssIndex.adPrebidConfigurationId, adPrebidShareGeolocation = _global$getRssIndex.adPrebidShareGeolocation, adUnitId = _global$getRssIndex.adUnitId, adTargeting = _global$getRssIndex.adTargeting, topAd = _global$getRssIndex.topAd, bottomAd = _global$getRssIndex.bottomAd, adDefaultFallback = _global$getRssIndex.adDefaultFallback, adsBackgroundColor = _global$getRssIndex.adsBackgroundColor;
                this.cacheAds = cacheAds;
                this.adProvider = adProvider;
                this.adPrebidAccountId = adPrebidAccountId;
                this.adPrebidServerHost = adPrebidServerHost;
                this.adPrebidConfigurationId = adPrebidConfigurationId;
                this.adPrebidShareGeolocation = adPrebidShareGeolocation;
                this.adUnitId = adUnitId;
                this.adTargeting = adTargeting;
                this.topAd = topAd;
                this.bottomAd = bottomAd;
                this.adDefaultFallback = adDefaultFallback;
                this.adsBackgroundColor = adsBackgroundColor;
                _context.next = 15;
                return _regenerator.default.awrap(this.initNotices());

              case 15:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "initNotices",
      value: function initNotices() {
        var _global$getActivePSet, ads, noticesJSON;

        return _regenerator.default.async(function initNotices$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.prev = 0;
                _global$getActivePSet = global.getActivePSetup(), ads = _global$getActivePSet.ads;

                if (!ads) {
                  _context2.next = 7;
                  break;
                }

                try {
                  noticesJSON = JSON.parse(ads);
                } catch (e) {
                  noticesJSON = [];
                }

                _NoticeHelper.default.setNotices(noticesJSON);

                _context2.next = 10;
                break;

              case 7:
                _context2.next = 9;
                return _regenerator.default.awrap(_NoticeHelper.default.download());

              case 9:
                noticesJSON = _context2.sent;

              case 10:
                this.noticesManager = new _NoticesManager.default(noticesJSON["noticeconfig.cfg"]);
                _context2.next = 13;
                return _regenerator.default.awrap(this.noticesManager.parse());

              case 13:
                _context2.next = 17;
                break;

              case 15:
                _context2.prev = 15;
                _context2.t0 = _context2["catch"](0);

              case 17:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, [[0, 15]], Promise);
      }
    }, {
      key: "isUserAdDisabled",
      value: function isUserAdDisabled() {
        return _LoginManager.default.isAdFree();
      }
    }, {
      key: "setNoticeCoolDown",
      value: function setNoticeCoolDown(noticeNumber, timestamp) {
        if (this.noticesManager) {
          this.noticesManager.setCoolDown(noticeNumber, timestamp);
        }
      }
    }, {
      key: "incrementNoticeUnitIdIndex",
      value: function incrementNoticeUnitIdIndex(noticeNumber) {
        if (this.noticesManager) {
          this.noticesManager.changeAdUnitId(noticeNumber);
        }
      }
    }, {
      key: "getNoticeUnitId",
      value: function getNoticeUnitId(noticeNumber) {
        if (this.noticesManager) {
          return this.noticesManager.getAdUnitId(noticeNumber);
        }

        return undefined;
      }
    }, {
      key: "getPrestitial",
      value: function getPrestitial() {
        return this.getNoticeByType(NoticeValues.types.prestitial, {}, _LiveConfig.default.getAppSide());
      }
    }, {
      key: "getInterstitial",
      value: function getInterstitial() {
        return this.getNoticeByType(NoticeValues.types.interstitial, {}, _LiveConfig.default.getAppSide());
      }
    }, {
      key: "getAdOverPage",
      value: function getAdOverPage(config) {
        return this.getNoticeByType(NoticeValues.types.adOverPage, config, _LiveConfig.default.getAppSide());
      }
    }, {
      key: "getInterstitialEpaper",
      value: function getInterstitialEpaper(config) {
        return this.getNoticeByType(NoticeValues.types.interstitial, config, _LiveConfig.default.getAppSide());
      }
    }, {
      key: "getNoticeByType",
      value: function getNoticeByType(type, config, appSide) {
        if (!this.isUserAdDisabled() && this.noticesManager) {
          return this.noticesManager.getNoticeByType(type, config, appSide);
        }

        return undefined;
      }
    }, {
      key: "getInStoryAd",
      value: function getInStoryAd(positions, appSide) {
        var notice = this.getNoticeByType(NoticeValues.types.instoryAd, {
          positions: positions
        }, appSide);

        if (notice) {
          var _notice$getSize = notice.getSize(),
              width = _notice$getSize.width,
              height = _notice$getSize.height;

          var model = new _InStoryAd.default();
          model.setAlignment(notice.getAlignment());
          model.setHeight(height);
          model.setWidth(width);
          model.setType(notice.getType());
          model.setUrl(notice.getUri());
          model.setUnitId(notice.getAdUnitId());
          model.setProvider(notice.getAdProvider());
          model.setTargeting(notice.getTargeting());
          return model;
        }

        return undefined;
      }
    }, {
      key: "getAdEvent",
      value: function getAdEvent() {
        var model = this.getInStoryAd(_InStoryAd.InStoryAdType.EPAPER_NORMAL, _LiveConfig.APP_SIDE.rss);
        model.isWeb = true;
        model.useAutoHeight = true;
        model.html = undefined;
        return model;
      }
    }, {
      key: "getInStoryAdTop",
      value: function getInStoryAdTop() {
        return this.getInStoryAd(_InStoryAd.InStoryAdType.TOP, _LiveConfig.APP_SIDE.ePaper);
      }
    }, {
      key: "getInStoryAdMiddle",
      value: function getInStoryAdMiddle() {
        return this.getInStoryAd(_InStoryAd.InStoryAdType.MIDDLE, _LiveConfig.APP_SIDE.ePaper);
      }
    }, {
      key: "getInStoryAdBottom",
      value: function getInStoryAdBottom() {
        return this.getInStoryAd(_InStoryAd.InStoryAdType.BOTTOM, _LiveConfig.APP_SIDE.ePaper);
      }
    }, {
      key: "getEpaperBottomAd",
      value: function getEpaperBottomAd() {
        return this.getInStoryAd(_InStoryAd.InStoryAdType.EPAPER_BOTTOM, _LiveConfig.APP_SIDE.ePaper);
      }
    }, {
      key: "getEpaperTopAd",
      value: function getEpaperTopAd() {
        return this.getInStoryAd(_InStoryAd.InStoryAdType.EPAPER_TOP, _LiveConfig.APP_SIDE.ePaper);
      }
    }, {
      key: "getEpaperTopIndexAd",
      value: function getEpaperTopIndexAd() {
        return this.getInStoryAd(_InStoryAd.InStoryAdType.TOP_INDEX, _LiveConfig.APP_SIDE.ePaper);
      }
    }, {
      key: "useAdMob",
      value: function useAdMob(provider) {
        return this.useProvider(provider, [NoticeValues.values.provider.admob]);
      }
    }, {
      key: "useDFP",
      value: function useDFP(provider) {
        return this.useProvider(provider, [NoticeValues.values.provider.dfp, NoticeValues.values.provider.unset]);
      }
    }, {
      key: "usePrebid",
      value: function usePrebid(provider) {
        return this.useProvider(provider, [NoticeValues.values.provider.prebid]);
      }
    }, {
      key: "useNativo",
      value: function useNativo(provider) {
        return this.useProvider(provider, [NoticeValues.values.provider.nativo]);
      }
    }, {
      key: "useProvider",
      value: function useProvider(provider) {
        var providerRequesteds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
        var providerToUse = provider || this.getProvider();
        return providerRequesteds.includes(providerToUse);
      }
    }, {
      key: "hasAdsForProviders",
      value: function hasAdsForProviders() {
        var providers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];

        if (providers && providers.length > 0) {
          if (this.adProvider && providers.includes(this.adProvider)) {
            return true;
          }

          var _global$getRssIndex2 = global.getRssIndex(),
              drawerItemsFlat = _global$getRssIndex2.drawerItemsFlat;

          if (drawerItemsFlat) {
            var adUnitIds = drawerItemsFlat.filter(function (item) {
              return !!item.adUnitId;
            }).map(function (_ref) {
              var adUnitId = _ref.adUnitId;
              return adUnitId;
            });

            if (!_$$_REQUIRE(_dependencyMap[21]).JSUtils.isEmpty(adUnitIds)) {
              for (var i = 0; i < adUnitIds.length; i++) {
                try {
                  var adUnitId = JSON.parse(adUnitIds[i]);

                  if (!_$$_REQUIRE(_dependencyMap[21]).JSUtils.isEmpty(adUnitId)) {
                    var version = adUnitId.version,
                        items = adUnitId.items;

                    if (version === "2" && !_$$_REQUIRE(_dependencyMap[21]).JSUtils.isEmpty(items)) {
                      for (var j = 0; j < items.length; j++) {
                        var _items$j = items[j],
                            type = _items$j.type,
                            provider = _items$j.provider;

                        if (providers.includes(provider) || providers.includes("dfp") && type === "native" && provider === "none") {
                          return true;
                        }
                      }
                    }
                  }
                } catch (e) {}
              }
            }

            var rawItems = JSON.stringify(drawerItemsFlat);

            if (rawItems) {
              for (var _i = 0; _i < providers.length; _i++) {
                if (rawItems.indexOf("\\\"provider\\\":\\\"" + providers[_i] + "\\\"}") !== -1) {
                  return true;
                }
              }
            }
          }

          if (this.noticesManager) {
            var json = this.noticesManager.json;

            if (!_$$_REQUIRE(_dependencyMap[21]).JSUtils.isEmpty(json)) {
              var noticesKeys = Object.keys(json);

              for (var _i2 = 0; _i2 < noticesKeys.length; _i2++) {
                var _json$noticesKeys$_i = json[noticesKeys[_i2]],
                    is_disabled = _json$noticesKeys$_i.is_disabled,
                    ad_provider = _json$noticesKeys$_i.ad_provider,
                    unit_id = _json$noticesKeys$_i.unit_id;

                if (is_disabled === "0" && !_$$_REQUIRE(_dependencyMap[21]).JSUtils.isEmpty(unit_id) && (providers.includes(ad_provider) || providers.includes("dfp") && ad_provider === "none")) {
                  return true;
                }
              }

              var rawNotices = JSON.stringify(json);

              if (rawNotices) {
                for (var _i3 = 0; _i3 < providers.length; _i3++) {
                  if (rawNotices.indexOf("\"ad_provider\":\"" + providers[_i3] + "\"") !== -1) {
                    return true;
                  }
                }
              }
            }
          }
        } else {}

        return false;
      }
    }, {
      key: "hasAdsRequiringIDFAPermissions",
      value: function hasAdsRequiringIDFAPermissions() {
        return this.hasAdsForProviders(["admob", "dfp", "prebid"]);
      }
    }, {
      key: "hasGoogleAds",
      value: function hasGoogleAds() {
        return this.hasAdsForProviders(["admob", "dfp"]);
      }
    }, {
      key: "getProvider",
      value: function getProvider() {
        return this.adProvider;
      }
    }, {
      key: "getPrebidAccountId",
      value: function getPrebidAccountId() {
        return this.adPrebidAccountId;
      }
    }, {
      key: "getPrebidConfigurationId",
      value: function getPrebidConfigurationId() {
        return this.adPrebidConfigurationId;
      }
    }, {
      key: "getPrebidServerHost",
      value: function getPrebidServerHost() {
        return this.adPrebidServerHost;
      }
    }, {
      key: "getPrebidShareGeolocation",
      value: function getPrebidShareGeolocation() {
        return this.adPrebidShareGeolocation;
      }
    }, {
      key: "getRefreshTime",
      value: function getRefreshTime() {
        return 0;
      }
    }, {
      key: "getDefaultAdUnitId",
      value: function getDefaultAdUnitId() {
        return this.adUnitId;
      }
    }, {
      key: "getDefaultAdTargeting",
      value: function getDefaultAdTargeting() {
        return this.adTargeting;
      }
    }, {
      key: "getDefaultAdFallback",
      value: function getDefaultAdFallback() {
        return this.adDefaultFallback;
      }
    }, {
      key: "getBackgroundColor",
      value: function getBackgroundColor() {
        return this.adsBackgroundColor || _$$_REQUIRE(_dependencyMap[22]).Css.getDefaultBackgroundColor();
      }
    }, {
      key: "isDefaultTopAdEnabled",
      value: function isDefaultTopAdEnabled() {
        return this.topAd === "atf";
      }
    }, {
      key: "isDefaultBottomAdEnabled",
      value: function isDefaultBottomAdEnabled() {
        return this.bottomAd === "btf";
      }
    }, {
      key: "getAdMarker",
      value: function getAdMarker() {
        var backgroundColor = _$$_REQUIRE(_dependencyMap[22]).Css.getDefaultBackgroundColor();

        var color = _$$_REQUIRE(_dependencyMap[22]).Css.getDefaultForegroundColor();

        var borderColor = _$$_REQUIRE(_dependencyMap[22]).Css.isDarkTheme() ? color : _$$_REQUIRE(_dependencyMap[21]).colors.transparent600;

        var customTextStyle = _$$_REQUIRE(_dependencyMap[22]).Css.getStyleObjByCssClasses(["ad-marker-text"]);

        var markerText = _$$_REQUIRE(_dependencyMap[21]).CssUtils.getAttributeFromStyle("content", customTextStyle, "Ad", true);

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[22]).Css, {
          classes: ["ad-marker"]
        }, _react.default.createElement(_reactNative.View, {
          style: {
            position: "absolute",
            top: 0,
            right: 0,
            backgroundColor: backgroundColor,
            borderColor: borderColor,
            borderWidth: 1,
            padding: 2,
            opacity: 0.6
          }
        }, _react.default.createElement(_fontText.default, {
          style: (0, _extends2.default)({
            color: color,
            fontSize: 10
          }, customTextStyle),
          type: _fontText.Type.regular
        }, markerText)));
      }
    }, {
      key: "getAdComponent",
      value: function getAdComponent(model) {
        var configuration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

        if (!model || this.isUserAdDisabled()) {
          return null;
        }

        var caller = configuration.caller,
            onShow = configuration.onShow,
            onHide = configuration.onHide;
        var isWeb = model.isWeb,
            width = model.width,
            height = model.height,
            marked = model.marked;
        var adComponent;

        if (isWeb) {
          var html = model.html,
              url = model.url,
              unitId = model.unitId,
              _model$useAutoHeight = model.useAutoHeight,
              useAutoHeight = _model$useAutoHeight === undefined ? false : _model$useAutoHeight;
          var source = {};

          if (html) {
            source.html = html;
            source.baseUrl = global.getAppServer();
          } else {
            source.uri = url || unitId;
          }

          adComponent = _react.default.createElement(_adwebComponent.default, {
            model: {
              width: width,
              height: height,
              useAutoHeight: useAutoHeight
            },
            source: source,
            caller: caller,
            onShow: onShow,
            onHide: onHide
          });
        } else {
          var key = model.key,
              _model$index = model.index,
              index = _model$index === undefined ? 0 : _model$index,
              provider = model.provider,
              _unitId = model.unitId,
              fallback = model.fallback,
              targeting = model.targeting;
          var defaultFallback = configuration.fallback,
              _onAdLoaded = configuration.onAdLoaded,
              _onAdFailed = configuration.onAdFailed,
              _configuration$grid = configuration.grid,
              grid = _configuration$grid === undefined ? false : _configuration$grid,
              _configuration$card = configuration.card,
              card = _configuration$card === undefined ? false : _configuration$card,
              headerText = configuration.headerText,
              _configuration$screen = configuration.screen,
              screen = _configuration$screen === undefined ? "unknown_screen" : _configuration$screen,
              _configuration$positi = configuration.position,
              position = _configuration$positi === undefined ? "unknown_position" : _configuration$positi;
          adComponent = _react.default.createElement(_adnativeComponent.default, {
            model: {
              key: key,
              index: index,
              provider: provider,
              unitId: _unitId,
              width: width,
              height: height,
              targeting: targeting
            },
            caller: caller,
            tag: screen + "_" + position + "_" + index,
            fallback: fallback || defaultFallback,
            onAdLoaded: function onAdLoaded(adModel) {
              if (typeof _onAdLoaded === "function") {
                _onAdLoaded(adModel);
              }

              if (typeof onShow === "function") {
                onShow(height);
              }
            },
            onAdFailed: function onAdFailed(adModel, adError) {
              if (typeof _onAdFailed === "function") {
                _onAdFailed(adModel, adError);
              }

              if (typeof onHide === "function") {
                onHide();
              }
            },
            nativo: {
              grid: grid,
              card: card,
              headerText: headerText
            }
          });
        }

        if (marked) {
          return _react.default.createElement(_reactNative.View, null, adComponent, this.getAdMarker());
        }

        return adComponent;
      }
    }, {
      key: "getAdView",
      value: function getAdView(model, viewWidth) {
        if (!model || this.isUserAdDisabled()) {
          return null;
        }

        var isWeb = model.getUnitId() ? false : true;
        return this.getAdComponent({
          isWeb: isWeb,
          width: isWeb ? viewWidth : model.getWidth(),
          height: model.getHeight(),
          unitId: model.getUnitId(),
          url: model.getUrl(),
          targeting: model.getTargeting()
        }, {
          screen: "epaper",
          position: model.getType(),
          caller: "LAYOUT_MANAGER"
        });
      }
    }]);
    return AdsConfig;
  }();

  exports.AdsConfig = AdsConfig;
},2012,[5,80,6,7,8,17,28,2013,2017,1973,2018,2024,2021,2023,2022,2019,2025,2056,1872,2057,1879,462,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _NoticeService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var NoticeHelper = function () {
    function NoticeHelper() {
      (0, _classCallCheck2.default)(this, NoticeHelper);
    }

    (0, _createClass2.default)(NoticeHelper, null, [{
      key: "setNotices",
      value: function setNotices(json) {
        return _regenerator.default.async(function setNotices$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!(json && json.length)) {
                  _context.next = 3;
                  break;
                }

                _context.next = 3;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[5]).StorageUtils.setItem(NoticeHelper.SP.name, NoticeHelper.SP.keys.notices, json));

              case 3:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getNotices",
      value: function getNotices() {
        var notices;
        return _regenerator.default.async(function getNotices$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.next = 2;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[5]).StorageUtils.getItem(NoticeHelper.SP.keys.notices));

              case 2:
                notices = _context2.sent;
                return _context2.abrupt("return", notices);

              case 4:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getItem",
      value: function getItem(key) {
        return _regenerator.default.async(function getItem$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                return _context3.abrupt("return", _$$_REQUIRE(_dependencyMap[5]).StorageUtils.getItem(NoticeHelper.SP.name, key));

              case 1:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setCoolDown",
      value: function setCoolDown(noticeNumber, timestamp) {
        return _regenerator.default.async(function setCoolDown$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                _context4.next = 2;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[5]).StorageUtils.setItem(NoticeHelper.SP.cooldowns, "notice_" + noticeNumber, timestamp));

              case 2:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getCoolDown",
      value: function getCoolDown(noticeNumber) {
        var result;
        return _regenerator.default.async(function getCoolDown$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                _context5.next = 2;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[5]).StorageUtils.getItem(NoticeHelper.SP.cooldowns, "notice_" + noticeNumber));

              case 2:
                result = _context5.sent;
                return _context5.abrupt("return", parseInt(result, 10));

              case 4:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setCallsCount",
      value: function setCallsCount(noticeNumber, count) {
        return _regenerator.default.async(function setCallsCount$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                _context6.next = 2;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[5]).StorageUtils.setItem(NoticeHelper.SP.callscount, "notice_" + noticeNumber, count));

              case 2:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getCallsCount",
      value: function getCallsCount(noticeNumber) {
        var result;
        return _regenerator.default.async(function getCallsCount$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                _context7.next = 2;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[5]).StorageUtils.getItem(NoticeHelper.SP.callscount, "notice_" + noticeNumber));

              case 2:
                result = _context7.sent;
                return _context7.abrupt("return", parseInt(result, 10));

              case 4:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "download",
      value: function download() {
        var json, isLive;
        return _regenerator.default.async(function download$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                json = {};
                isLive = _$$_REQUIRE(_dependencyMap[5]).NetworkUtils.isOnline();

                if (!isLive) {
                  _context8.next = 13;
                  break;
                }

                _context8.prev = 3;
                _context8.next = 6;
                return _regenerator.default.awrap(_NoticeService.default.getJson());

              case 6:
                json = _context8.sent;
                NoticeHelper.setNotices(json);
                _context8.next = 13;
                break;

              case 10:
                _context8.prev = 10;
                _context8.t0 = _context8["catch"](3);
                isLive = false;

              case 13:
                if (isLive) {
                  _context8.next = 17;
                  break;
                }

                _context8.next = 16;
                return _regenerator.default.awrap(NoticeHelper.getNotices());

              case 16:
                json = _context8.sent;

              case 17:
                try {
                  json = JSON.parse(json);
                } catch (e) {}

                return _context8.abrupt("return", json || []);

              case 19:
              case "end":
                return _context8.stop();
            }
          }
        }, null, null, [[3, 10]], Promise);
      }
    }]);
    return NoticeHelper;
  }();

  exports.default = NoticeHelper;
  NoticeHelper.SP = {
    name: "notices",
    cooldowns: "notices_cooldowns",
    callscount: "notices_callscount",
    keys: {
      notices: "notices"
    }
  };
},2013,[5,80,7,8,2014,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var api = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var parser = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var NoticeService = function () {
    function NoticeService() {
      (0, _classCallCheck2.default)(this, NoticeService);
    }

    (0, _createClass2.default)(NoticeService, null, [{
      key: "getJson",
      value: function getJson() {
        var data;
        return _regenerator.default.async(function getJson$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return _regenerator.default.awrap(api.getDataFromApiResponse());

              case 2:
                data = _context.sent;
                return _context.abrupt("return", parser.parse(data));

              case 4:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return NoticeService;
  }();

  exports.default = NoticeService;
},2014,[5,80,7,8,2015,2016]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getDataFromApiResponse = getDataFromApiResponse;
  exports.getNoticeBaseURI = getNoticeBaseURI;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  function getNoticeParams() {
    var params = {};

    if (_$$_REQUIRE(_dependencyMap[3]).PaperSetupManager.isGenericAppConfigured()) {
      var _global$getActivePSet = global.getActivePSetup(),
          pSetup = _global$getActivePSet.pSetup,
          machine = _global$getActivePSet.machine;

      params.pSetup = pSetup;
      params.machine = machine;
    }

    return params;
  }

  function getDataFromApiResponse() {
    var response;
    return _regenerator.default.async(function getDataFromApiResponse$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            _context.prev = 0;
            _context.next = 3;
            return _regenerator.default.awrap(_Api.default.notices(getNoticeParams()));

          case 3:
            response = _context.sent;
            return _context.abrupt("return", response.data);

          case 7:
            _context.prev = 7;
            _context.t0 = _context["catch"](0);
            return _context.abrupt("return", {});

          case 10:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, [[0, 7]], Promise);
  }

  function getNoticeBaseURI() {
    return _Api.default.noticeURI(getNoticeParams());
  }
},2015,[5,80,431,1849]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.parse = parse;

  function parse(json) {
    return JSON.stringify(json.result);
  }
},2016,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.InStoryAdAlign = exports.InStoryAdType = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var InStoryAdType = {
    EPAPER_BOTTOM: ["bottom"],
    EPAPER_TOP: ["top_of_page", "mobile_top_of_page"],
    TOP_INDEX: ["above_index"],
    TOP: ["instory_top"],
    MIDDLE: ["instory_middle"],
    BOTTOM: ["instory_bottom"],
    EPAPER_NORMAL: ["normal"]
  };
  exports.InStoryAdType = InStoryAdType;
  var InStoryAdAlign = {
    UNSET: "none",
    LEFT: "left",
    CENTER: "center",
    RIGHT: "right"
  };
  exports.InStoryAdAlign = InStoryAdAlign;

  var InStoryAd = function () {
    function InStoryAd() {
      (0, _classCallCheck2.default)(this, InStoryAd);
    }

    (0, _createClass2.default)(InStoryAd, [{
      key: "setAlignment",
      value: function setAlignment(align) {
        this.align = align || InStoryAdAlign.UNSET;
      }
    }, {
      key: "getAlignment",
      value: function getAlignment() {
        return this.align;
      }
    }, {
      key: "setHeight",
      value: function setHeight(height) {
        this.height = height;
      }
    }, {
      key: "getHeight",
      value: function getHeight() {
        return this.height;
      }
    }, {
      key: "setWidth",
      value: function setWidth(width) {
        this.width = width;
      }
    }, {
      key: "getWidth",
      value: function getWidth() {
        return this.width;
      }
    }, {
      key: "setUrl",
      value: function setUrl(url) {
        this.url = url;
      }
    }, {
      key: "getUrl",
      value: function getUrl() {
        return this.url;
      }
    }, {
      key: "setType",
      value: function setType(type) {
        this.type = type;
      }
    }, {
      key: "getType",
      value: function getType() {
        return this.type;
      }
    }, {
      key: "setUnitId",
      value: function setUnitId(unitId) {
        this.unitId = unitId;
      }
    }, {
      key: "getUnitId",
      value: function getUnitId() {
        return this.unitId;
      }
    }, {
      key: "setProvider",
      value: function setProvider(provider) {
        this.provider = provider || _$$_REQUIRE(_dependencyMap[3]).values.provider.unset;
      }
    }, {
      key: "getProvider",
      value: function getProvider() {
        return this.provider;
      }
    }, {
      key: "setTargeting",
      value: function setTargeting(targeting) {
        this.targeting = targeting || {};
      }
    }, {
      key: "getTargeting",
      value: function getTargeting() {
        return this.targeting;
      }
    }]);
    return InStoryAd;
  }();

  exports.default = InStoryAd;
},2017,[5,7,8,1973]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _NoticeAdOverPage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _NoticeInterstitial = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _NoticePrestitial = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var NoticeValues = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _Notice = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _NoticeInstoryAd = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _NoticeHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _NoticeFullscreen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var NoticeApi = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[13]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var NoticesManager = function () {
    function NoticesManager(json) {
      (0, _classCallCheck2.default)(this, NoticesManager);
      this.json = json;
    }

    (0, _createClass2.default)(NoticesManager, [{
      key: "parse",
      value: function parse() {
        var keys, i, jsonNotice, numberNotice, is_disabled, notice;
        return _regenerator.default.async(function parse$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                this.notices = [];
                keys = Object.keys(this.json);
                i = 0;

              case 3:
                if (!(i < keys.length)) {
                  _context.next = 27;
                  break;
                }

                jsonNotice = this.json[keys[i]];
                numberNotice = keys[i].split("_")[1];
                is_disabled = jsonNotice.is_disabled;

                if (!(is_disabled !== "1" && numberNotice !== undefined)) {
                  _context.next = 24;
                  break;
                }

                notice = undefined;

                if (this.isAdOverPage(jsonNotice)) {
                  notice = new _NoticeAdOverPage.default(numberNotice, jsonNotice);
                } else if (this.isInterstitial(jsonNotice)) {
                  notice = new _NoticeInterstitial.default(numberNotice, jsonNotice);
                } else if (this.isInstoryAd(jsonNotice)) {
                  notice = new _NoticeInstoryAd.default(numberNotice, jsonNotice);
                } else if (this.isPrestitial(jsonNotice)) {
                  notice = new _NoticePrestitial.default(numberNotice, jsonNotice);
                } else {}

                if (!notice) {
                  _context.next = 24;
                  break;
                }

                notice.setUri(this.getUriFromNotice(notice));

                if (!(notice instanceof _NoticeFullscreen.default)) {
                  _context.next = 23;
                  break;
                }

                _context.t0 = notice;
                _context.next = 16;
                return _regenerator.default.awrap(this.getCoolDown(numberNotice));

              case 16:
                _context.t1 = _context.sent;

                _context.t0.setCoolDown.call(_context.t0, _context.t1);

                _context.t2 = notice;
                _context.next = 21;
                return _regenerator.default.awrap(this.getCallsCount(numberNotice));

              case 21:
                _context.t3 = _context.sent;

                _context.t2.setCallsCount.call(_context.t2, _context.t3);

              case 23:
                this.notices.push(notice);

              case 24:
                i++;
                _context.next = 3;
                break;

              case 27:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getCoolDown",
      value: function getCoolDown(id) {
        return _regenerator.default.async(function getCoolDown$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", _NoticeHelper.default.getCoolDown(id));

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getCallsCount",
      value: function getCallsCount(id) {
        return _regenerator.default.async(function getCallsCount$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                return _context3.abrupt("return", _NoticeHelper.default.getCallsCount(id));

              case 1:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setCoolDown",
      value: function setCoolDown(id, timestamp) {
        var notice = this.getNoticeById(id);

        if (notice) {
          notice.setCoolDown(timestamp);
        }

        _NoticeHelper.default.setCoolDown(id, "" + timestamp);
      }
    }, {
      key: "setCallsCount",
      value: function setCallsCount(id, count) {
        var notice = this.getNoticeById(id);

        if (notice) {
          notice.setCallsCount(count);
        }
      }
    }, {
      key: "changeAdUnitId",
      value: function changeAdUnitId(id) {
        var notice = this.getNoticeById(id);

        if (notice) {
          return notice.incrementIndex();
        }

        return undefined;
      }
    }, {
      key: "getAdUnitId",
      value: function getAdUnitId(id) {
        var notice = this.getNoticeById(id);

        if (notice) {
          return notice.getAdUnitId();
        }

        return undefined;
      }
    }, {
      key: "getNoticeById",
      value: function getNoticeById(id) {
        if (this.notices) {
          return this.notices.find(function (notice) {
            return id === notice.getId();
          });
        }

        return undefined;
      }
    }, {
      key: "getNoticeByType",
      value: function getNoticeByType(type, config, appSide) {
        try {
          if (!this.isEmpty()) {
            var notices = this.getNotices(type, appSide);

            if (notices) {
              return notices.find(function (notice) {
                return notice.validate(config);
              });
            }
          }
        } catch (e) {}

        return undefined;
      }
    }, {
      key: "getNotices",
      value: function getNotices(type, appSide) {
        var appSideKey = this.getAppSideKey(appSide);
        var deviceKey = this.getDeviceKey();

        if (!this.notices) {
          throw new Error("notices are not initialized or empty");
        }

        var founds;

        if (type === NoticeValues.types.prestitial) {
          founds = this.notices.filter(function (notice) {
            return notice instanceof _NoticePrestitial.default && notice.isValid(appSideKey, deviceKey);
          });
        } else if (type === NoticeValues.types.interstitial) {
          founds = this.notices.filter(function (notice) {
            return notice instanceof _NoticeInterstitial.default && notice.isValid(appSideKey, deviceKey);
          });
        } else if (type === NoticeValues.types.adOverPage) {
          founds = this.notices.filter(function (notice) {
            return notice instanceof _NoticeAdOverPage.default && notice.isValid(appSideKey, deviceKey);
          });
        } else if (type === NoticeValues.types.instoryAd) {
          founds = this.notices.filter(function (notice) {
            return notice instanceof _NoticeInstoryAd.default && notice.isValid(appSideKey, deviceKey);
          });
        } else {
          throw new Error("the type is not managed: " + type);
        }

        if (!founds) {
          throw new Error("no notice found");
        }

        return founds;
      }
    }, {
      key: "getNotice",
      value: function getNotice(type, appSide) {
        return this.getNotices(type, appSide)[0];
      }
    }, {
      key: "getUriFromNotice",
      value: function getUriFromNotice(notice) {
        var uri = "";

        if (notice.getAdUnitIds().length === 0) {
          if (notice.isUseCustomUrl() && notice.getCustomUrl()) {
            uri = notice.getCustomUrl();
          } else {
            uri = NoticeApi.getNoticeBaseURI();
          }
        }

        return uri;
      }
    }, {
      key: "getDeviceKey",
      value: function getDeviceKey() {
        var deviceOrientation = _deviceUtils.default.isPortrait() ? "Portrait" : "Landscape";
        var deviceType = _$$_REQUIRE(_dependencyMap[14]).PlatformUtils.isTablet() ? "tablet" : "phone";
        var deviceOS = _$$_REQUIRE(_dependencyMap[14]).PlatformUtils.isIOS() ? "Apple" : "Android";
        return "is_device_" + deviceType + deviceOrientation + "_" + deviceOS;
      }
    }, {
      key: "getAppSideKey",
      value: function getAppSideKey() {
        var appSide = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _$$_REQUIRE(_dependencyMap[15]).APP_SIDE.rss;
        var appType = appSide === _$$_REQUIRE(_dependencyMap[15]).APP_SIDE.ePaper ? "newspaper" : "livenews";
        return "display_on_app_type_" + appType;
      }
    }, {
      key: "isPrestitial",
      value: function isPrestitial(noticeJson) {
        var type = noticeJson.type,
            time_to_show_first = noticeJson.time_to_show_first;
        return type === NoticeValues.values.type.between_pages && time_to_show_first >= 0;
      }
    }, {
      key: "isInterstitial",
      value: function isInterstitial(noticeJson) {
        var type = noticeJson.type,
            show_after_x_articles = noticeJson.show_after_x_articles,
            show_after_section = noticeJson.show_after_section,
            show_after_page = noticeJson.show_after_page,
            time_to_show_first = noticeJson.time_to_show_first;
        return type === NoticeValues.values.type.between_pages && (show_after_x_articles >= 0 || show_after_section || show_after_page) && (time_to_show_first === undefined || isNaN(time_to_show_first));
      }
    }, {
      key: "isAdOverPage",
      value: function isAdOverPage(noticeJson) {
        var type = noticeJson.type,
            show_over_page = noticeJson.show_over_page;
        return type === NoticeValues.values.type.between_pages && show_over_page !== undefined;
      }
    }, {
      key: "isInstoryAd",
      value: function isInstoryAd(noticeJson) {
        var type = noticeJson.type,
            display_on_app_type_newspaper = noticeJson.display_on_app_type_newspaper;
        var foundType = Object.keys(_$$_REQUIRE(_dependencyMap[16]).InStoryAdType).findIndex(function (instoryType) {
          return _$$_REQUIRE(_dependencyMap[16]).InStoryAdType[instoryType].includes(type);
        }) > -1;
        return type === NoticeValues.values.type.bottom ? display_on_app_type_newspaper === "1" && foundType : foundType;
      }
    }, {
      key: "isEmpty",
      value: function isEmpty() {
        return !this.notices || !this.notices.length;
      }
    }]);
    return NoticesManager;
  }();

  exports.default = NoticesManager;
},2018,[5,80,7,8,2019,2022,2023,458,1973,2021,2024,2013,2020,2015,462,1872,2017]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _pageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _NoticeFullscreen2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NoticeAdOverPageModel = function (_NoticeFullscreen) {
    (0, _inherits2.default)(NoticeAdOverPageModel, _NoticeFullscreen);

    var _super = _createSuper(NoticeAdOverPageModel);

    function NoticeAdOverPageModel() {
      (0, _classCallCheck2.default)(this, NoticeAdOverPageModel);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(NoticeAdOverPageModel, [{
      key: "getShowOverPage",
      value: function getShowOverPage() {
        return this.json[_$$_REQUIRE(_dependencyMap[8]).KEYS.SHOW_OVER_PAGE];
      }
    }, {
      key: "validate",
      value: function validate() {
        var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
            page = _ref.page;

        var expired = this.isCoolDownExpired();
        this.print("over page: " + this.getShowOverPage() + ", page: " + page + ", cool down: " + expired);

        if (this.getShowOverPage() && _pageUtils.default.comparePageNumber(page, this.getShowOverPage()) && expired) {
          return true;
        }

        return false;
      }
    }, {
      key: "getScreenName",
      value: function getScreenName() {
        return NoticeAdOverPageModel.TAG;
      }
    }]);
    return NoticeAdOverPageModel;
  }(_NoticeFullscreen2.default);

  exports.default = NoticeAdOverPageModel;
  NoticeAdOverPageModel.TAG = "ad_over_page";
},2019,[5,7,8,12,14,16,715,2020,2021]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _Notice2 = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NoticeFullscreen = function (_Notice) {
    (0, _inherits2.default)(NoticeFullscreen, _Notice);

    var _super = _createSuper(NoticeFullscreen);

    function NoticeFullscreen() {
      var _this;

      (0, _classCallCheck2.default)(this, NoticeFullscreen);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.callsCount = 0;
      return _this;
    }

    (0, _createClass2.default)(NoticeFullscreen, [{
      key: "isRemoveAfterSeconds",
      value: function isRemoveAfterSeconds() {
        return this.json[_Notice2.KEYS.IS_REMOVE_AFTER_X_SECONDS] === "1";
      }
    }, {
      key: "isShowButtonAfterSeconds",
      value: function isShowButtonAfterSeconds() {
        return this.json[_Notice2.KEYS.IS_SHOW_BUTTON_AFTER_X_SECONDS] === "1";
      }
    }, {
      key: "getRemoveAfterSeconds",
      value: function getRemoveAfterSeconds() {
        return parseInt(this.json[_Notice2.KEYS.REMOVE_AFTER_X_SECONDS], 10) * 1000 || undefined;
      }
    }, {
      key: "getShowButtonAfterSeconds",
      value: function getShowButtonAfterSeconds() {
        return parseInt(this.json[_Notice2.KEYS.SHOW_BUTTON_AFTER_X_SECONDS], 10) * 1000 || 0;
      }
    }, {
      key: "shouldWaitForLocal",
      value: function shouldWaitForLocal() {
        return this.json[_Notice2.KEYS.SHOULD_WAIT_FOR_LOCAL] === "1";
      }
    }, {
      key: "getTimeToShowAfterFirst",
      value: function getTimeToShowAfterFirst() {
        return parseInt(this.json[_Notice2.KEYS.TIME_TO_SHOW_AFTER_FIRST], 10) * 1000 || 0;
      }
    }, {
      key: "getTimeToShowFirst",
      value: function getTimeToShowFirst() {
        return parseInt(this.json[_Notice2.KEYS.TIME_TO_SHOW_FIRST], 10) * 1000 || 0;
      }
    }, {
      key: "setCoolDown",
      value: function setCoolDown(coolDown) {
        this.coolDown = coolDown || 0;
      }
    }, {
      key: "getCoolDown",
      value: function getCoolDown() {
        return this.coolDown;
      }
    }, {
      key: "setCallsCount",
      value: function setCallsCount(callsCount) {
        this.callsCount = callsCount || 0;
      }
    }, {
      key: "getCallsCount",
      value: function getCallsCount() {
        return this.callsCount;
      }
    }, {
      key: "isCoolDownExpired",
      value: function isCoolDownExpired() {
        var coolDown = this.getCoolDown();
        var timeToShowAfterFirst = this.getTimeToShowAfterFirst();
        var threshold = coolDown + timeToShowAfterFirst;
        return !coolDown || !timeToShowAfterFirst || Date.now() > threshold;
      }
    }, {
      key: "getScreenType",
      value: function getScreenType() {
        return "notice_fullscreen";
      }
    }, {
      key: "getScreenName",
      value: function getScreenName() {
        return "generic";
      }
    }]);
    return NoticeFullscreen;
  }(_Notice2.default);

  exports.default = NoticeFullscreen;
},2020,[5,7,8,12,14,16,2021]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.KEYS = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var InterstitialsKeysAndValues = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var KEYS = {
    AD_PROVIDER: "ad_provider",
    ALIGN: "align",
    BACKGROUND_COLOR: "bgcolor",
    DISPLAY_ON_APP_TYPE_LIVENEWS: "display_on_app_type_livenews",
    DISPLAY_ON_APP_TYPE_NEWSPAPER: "display_on_app_type_newspaper",
    HEIGHT: "height",
    IS_ANDROID: "is_android",
    IS_DEVICE_PHONE_LANDSCAPE_ANDROID: "is_device_phoneLandscape_Android",
    IS_DEVICE_PHONE_LANDSCAPE_APPLE: "is_device_phoneLandscape_Apple",
    IS_DEVICE_PHONE_PORTRAIT_ANDROID: "is_device_phonePortrait_Android",
    IS_DEVICE_PHONE_PORTRAIT_APPLE: "is_device_phonePortrait_Apple",
    IS_DEVICE_TABLET_LANDSCAPE_ANDROID: "is_device_tabletLandscape_Android",
    IS_DEVICE_TABLET_LANDSCAPE_APPLE: "is_device_tabletLandscape_Apple",
    IS_DEVICE_TABLET_PORTRAIT_ANDROID: "is_device_tabletPortrait_Android",
    IS_DEVICE_TABLET_PORTRAIT_APPLE: "is_device_tabletPortrait_Apple",
    IS_DISABLED: "is_disabled",
    IS_IPAD: "is_ipad",
    IS_IPHONE: "is_iphone",
    IS_REMOVE_AFTER_X_SECONDS: "is_remove_after_x_seconds",
    IS_SHOW_BUTTON_AFTER_X_SECONDS: "is_show_button_after_x_seconds",
    LAST_MODIFIED: "last_modified",
    NAME: "name",
    NO_IFRAME: "no_iframe",
    ORDER: "order",
    PREBID_SHARE_GEOLOCATION: "prebid_share_geolocation",
    PREBID_CONFIGURATION_ID: "prebid_configuration_id",
    PREBID_ACCOUNT_ID: "prebid_account_id",
    PREBID_SERVER_HOST: "prebid_server_host",
    PROMO_ENABLED: "promo_enabled",
    REMOVE_AFTER_X_SECONDS: "remove_after_x_seconds",
    SHOULD_WAIT_FOR_LOCAL: "should_wait_for_local",
    SHOW_AFTER_PAGE: "show_after_page",
    SHOW_AFTER_SECTION: "show_after_section",
    SHOW_AFTER_X_ARTICLES: "show_after_x_articles",
    SHOW_BUTTON_AFTER_X_SECONDS: "show_button_after_x_seconds",
    SHOW_OVER_PAGE: "show_over_page",
    TARGETING: "targeting",
    TEMPLATE_ID: "notice_template_id",
    TIME_TO_SHOW_AFTER_FIRST: "time_to_show_after_first",
    TIME_TO_SHOW_FIRST: "time_to_show_first",
    TYPE: "type",
    UNIT_ID: "unit_id",
    USE_CUSTOME_URL: "use_custom_url",
    CUSTOME_URL: "custom_url",
    WIDTH: "width"
  };
  exports.KEYS = KEYS;

  var Notice = function () {
    function Notice(number) {
      var json = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
      (0, _classCallCheck2.default)(this, Notice);
      this.index = 0;
      this.id = parseInt(number, 10);
      this.json = json;
    }

    (0, _createClass2.default)(Notice, [{
      key: "getId",
      value: function getId() {
        return this.id;
      }
    }, {
      key: "isDisabled",
      value: function isDisabled() {
        return this.json[KEYS.IS_DISABLED] === "1";
      }
    }, {
      key: "getAdProvider",
      value: function getAdProvider() {
        return this.json[KEYS.AD_PROVIDER] || InterstitialsKeysAndValues.values.provider.unset;
      }
    }, {
      key: "getBackgroundColor",
      value: function getBackgroundColor() {
        return this.json[KEYS.BACKGROUND_COLOR] || _$$_REQUIRE(_dependencyMap[5]).colors.transparent;
      }
    }, {
      key: "getLastModified",
      value: function getLastModified() {
        return this.json[KEYS.LAST_MODIFIED];
      }
    }, {
      key: "getName",
      value: function getName() {
        return this.json[KEYS.NAME];
      }
    }, {
      key: "getOrder",
      value: function getOrder() {
        return this.json[KEYS.ORDER];
      }
    }, {
      key: "getType",
      value: function getType() {
        return this.json[KEYS.TYPE];
      }
    }, {
      key: "isPrebidShareGeolocation",
      value: function isPrebidShareGeolocation() {
        return this.json[KEYS.PREBID_SHARE_GEOLOCATION] === "1";
      }
    }, {
      key: "getPrebidConfigurationId",
      value: function getPrebidConfigurationId() {
        return this.json[KEYS.PREBID_CONFIGURATION_ID];
      }
    }, {
      key: "getPrebidAccount",
      value: function getPrebidAccount() {
        return this.json[KEYS.PREBID_ACCOUNT_ID];
      }
    }, {
      key: "getPrebidHost",
      value: function getPrebidHost() {
        return this.json[KEYS.PREBID_SERVER_HOST];
      }
    }, {
      key: "isUseCustomUrl",
      value: function isUseCustomUrl() {
        return this.json[KEYS.USE_CUSTOME_URL] === "1";
      }
    }, {
      key: "getCustomUrl",
      value: function getCustomUrl() {
        return this.json[KEYS.CUSTOM_URL];
      }
    }, {
      key: "getAdUnitIds",
      value: function getAdUnitIds() {
        var adUnitId = this.json[KEYS.UNIT_ID] || "";

        if (adUnitId) {
          return adUnitId.split(";");
        }

        return [];
      }
    }, {
      key: "getValueByKey",
      value: function getValueByKey(key) {
        return this.json[key] || "";
      }
    }, {
      key: "getAdUnitId",
      value: function getAdUnitId() {
        var ids = this.getAdUnitIds();

        if (this.index >= ids.length) {
          this.index = 0;
        }

        return ids[this.index];
      }
    }, {
      key: "getTargeting",
      value: function getTargeting() {
        var _this = this;

        var targeting = (0, _extends2.default)({}, this.json[KEYS.TARGETING]);

        if (targeting) {
          Object.keys(targeting).forEach(function (key) {
            if (targeting[key].indexOf("##index##") !== -1) {
              targeting[key] = targeting[key].replace("##index##", _this.index);
            } else if (targeting[key].indexOf("##position##") !== -1) {
              targeting[key] = targeting[key].replace("##position##", _this.index + 1);
            }
          });
          return targeting;
        }

        return {};
      }
    }, {
      key: "incrementIndex",
      value: function incrementIndex() {
        var ids = this.getAdUnitIds();
        this.index += 1;

        if (this.index >= ids.length) {
          this.index = 0;
        }
      }
    }, {
      key: "setUri",
      value: function setUri(uri) {
        this.uri = uri;
      }
    }, {
      key: "getUri",
      value: function getUri() {
        if (this.uri) {
          return _$$_REQUIRE(_dependencyMap[5]).StringUtils.appendParams(this.uri, {
            n: this.getId(),
            t: new Date().getTime()
          });
        }

        return "";
      }
    }, {
      key: "isWeb",
      value: function isWeb() {
        return this.getAdUnitIds().length === 0;
      }
    }, {
      key: "isValid",
      value: function isValid(appSideKey, deviceKey) {
        var isEnabled = !this.isDisabled();

        var newMethod = _$$_REQUIRE(_dependencyMap[5]).JSUtils.hasProperty(this.json, deviceKey) && _$$_REQUIRE(_dependencyMap[5]).JSUtils.hasProperty(this.json, appSideKey);

        var result = false;

        if (newMethod) {
          result = this.json[deviceKey] === "1" && this.json[appSideKey] === "1";
        } else {
          result = this.isValidOldMethod(deviceKey);
        }

        return isEnabled && result;
      }
    }, {
      key: "isValidOldMethod",
      value: function isValidOldMethod(deviceKey) {
        var isTablet = deviceKey.includes("Tablet");
        var isAndroid = deviceKey.includes("Android");
        var _this$json = this.json,
            is_android = _this$json.is_android,
            is_ipad = _this$json.is_ipad,
            is_iphone = _this$json.is_iphone;
        var isValidForAndroid = is_android === "1" && isAndroid;
        var isValidForTablet = isTablet && is_ipad === "1";
        var isValidForPhone = !isTablet && is_iphone === "1";
        var isValidForIOS = (isValidForTablet || isValidForPhone) && !isAndroid;
        return isValidForAndroid || isValidForIOS;
      }
    }, {
      key: "validate",
      value: function validate() {
        var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        this.print("no check required for this notice " + config);
        return true;
      }
    }, {
      key: "print",
      value: function print(text) {}
    }]);
    return Notice;
  }();

  exports.default = Notice;
},2021,[5,6,7,8,1973,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _pageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _NoticeFullscreen2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NoticeInterstitialModel = function (_NoticeFullscreen) {
    (0, _inherits2.default)(NoticeInterstitialModel, _NoticeFullscreen);

    var _super = _createSuper(NoticeInterstitialModel);

    function NoticeInterstitialModel() {
      (0, _classCallCheck2.default)(this, NoticeInterstitialModel);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(NoticeInterstitialModel, [{
      key: "getShowAfterPage",
      value: function getShowAfterPage() {
        return this.json[_$$_REQUIRE(_dependencyMap[10]).KEYS.SHOW_AFTER_PAGE];
      }
    }, {
      key: "getShowAfterSection",
      value: function getShowAfterSection() {
        return this.json[_$$_REQUIRE(_dependencyMap[10]).KEYS.SHOW_AFTER_SECTION];
      }
    }, {
      key: "getShowAfterXArticles",
      value: function getShowAfterXArticles() {
        return parseInt(this.json[_$$_REQUIRE(_dependencyMap[10]).KEYS.SHOW_AFTER_X_ARTICLES], 10);
      }
    }, {
      key: "validate",
      value: function validate() {
        var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
            pages = _ref.pages,
            prevPages = _ref.prevPages,
            isLastPage = _ref.isLastPage;

        var expired = this.isCoolDownExpired();

        if (expired) {
          if (this.getShowAfterXArticles()) {
            var callsCount = this.getCallsCount();
            this.print("x articles: " + (callsCount + 1) + " - " + this.getShowAfterXArticles() + ", cool down: " + expired);

            if (callsCount >= this.getShowAfterXArticles() - 1) {
              this.setCallsCount(0);
              return true;
            }

            this.setCallsCount(callsCount + 1);
          } else if (Array.isArray(prevPages)) {
            var showAfterPage = this.getShowAfterPage();
            var showAfterSection = this.getShowAfterSection();

            if (showAfterPage) {
              var numPages = prevPages.map(function (page) {
                return _pageUtils.default.removeZerosFromPageNumber(page.getPage());
              });
              var found = numPages.find(function (p) {
                return _pageUtils.default.comparePageNumber(p, showAfterPage);
              });
              this.print("after page: " + JSON.stringify(numPages) + " - " + showAfterPage + ", cool down: " + expired);

              if (found) {
                return true;
              }
            } else if (showAfterSection && pages.length > 0) {
              var afterSection = showAfterSection.toLowerCase().trim();
              var isLastTwoPagesVisible = isLastPage && pages.length > 1;
              var prevSectionLetters = prevPages.reduce(function (current, page) {
                var _NewsmemoryUtils$pars = _newsmemoryUtils.default.parsePageInfo(page.getPage()),
                    sectionLetter = _NewsmemoryUtils$pars.section;

                sectionLetter = sectionLetter.toLowerCase();

                if (sectionLetter && !current.includes(sectionLetter)) {
                  current.push(sectionLetter);
                }

                return current;
              }, []);

              if (prevSectionLetters.length > 0) {
                var _NewsmemoryUtils$pars2 = _newsmemoryUtils.default.parsePageInfo(pages[0]),
                    sectionLetter = _NewsmemoryUtils$pars2.section;

                sectionLetter = sectionLetter.toLowerCase();
                this.print("after section letter: " + JSON.stringify(prevSectionLetters) + " - " + showAfterSection + ", first visible page section letter: " + sectionLetter + ", cool down: " + expired);

                if (prevSectionLetters.includes(afterSection)) {
                  if (sectionLetter && !prevSectionLetters.includes(sectionLetter)) {
                    return true;
                  }

                  if (isLastTwoPagesVisible) {
                    var _NewsmemoryUtils$pars3 = _newsmemoryUtils.default.parsePageInfo(pages[1]),
                        lastSectionLetter = _NewsmemoryUtils$pars3.section;

                    lastSectionLetter = lastSectionLetter.toLowerCase();

                    if (lastSectionLetter && !prevSectionLetters.includes(lastSectionLetter)) {
                      return true;
                    }
                  }
                } else if (isLastTwoPagesVisible && sectionLetter && sectionLetter === afterSection) {
                  var _NewsmemoryUtils$pars4 = _newsmemoryUtils.default.parsePageInfo(pages[1]),
                      _lastSectionLetter = _NewsmemoryUtils$pars4.section;

                  _lastSectionLetter = _lastSectionLetter.toLowerCase();

                  if (_lastSectionLetter !== sectionLetter) {
                    return true;
                  }
                }
              }

              var prevSections = prevPages.reduce(function (current, page) {
                var _page$getSection;

                var section = ((_page$getSection = page.getSection()) != null ? _page$getSection : "").toLowerCase();

                if (section && !current.includes(section)) {
                  current.push(section);
                }

                return current;
              }, []);

              if (prevSections.length > 0) {
                var _pages$0$getSection;

                var section = ((_pages$0$getSection = pages[0].getSection()) != null ? _pages$0$getSection : "").toLowerCase();
                this.print("after section: " + JSON.stringify(prevSections) + " - " + showAfterSection + ", first visible page section: " + section + ", cool down: " + expired);

                if (prevSections.includes(afterSection)) {
                  if (section && !prevSections.includes(section)) {
                    return true;
                  }

                  if (isLastTwoPagesVisible) {
                    var _pages$1$getSection;

                    var lastPageSection = ((_pages$1$getSection = pages[1].getSection()) != null ? _pages$1$getSection : "").toLowerCase();

                    if (lastPageSection && !prevSections.includes(lastPageSection)) {
                      return true;
                    }
                  }
                } else if (isLastTwoPagesVisible && section && section === afterSection) {
                  var _pages$1$getSection2;

                  var _lastPageSection = ((_pages$1$getSection2 = pages[1].getSection()) != null ? _pages$1$getSection2 : "").toLowerCase();

                  if (_lastPageSection !== section) {
                    return true;
                  }
                }
              }
            }
          }
        }

        return false;
      }
    }, {
      key: "getScreenName",
      value: function getScreenName() {
        return NoticeInterstitialModel.TAG;
      }
    }]);
    return NoticeInterstitialModel;
  }(_NoticeFullscreen2.default);

  exports.default = NoticeInterstitialModel;
  NoticeInterstitialModel.TAG = "interstitial";
},2022,[5,7,8,12,14,16,603,715,2020,638,2021]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _NoticeFullscreen2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NoticePrestitialModel = function (_NoticeFullscreen) {
    (0, _inherits2.default)(NoticePrestitialModel, _NoticeFullscreen);

    var _super = _createSuper(NoticePrestitialModel);

    function NoticePrestitialModel() {
      (0, _classCallCheck2.default)(this, NoticePrestitialModel);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(NoticePrestitialModel, [{
      key: "validate",
      value: function validate() {
        var expired = this.isCoolDownExpired();
        this.print("cool down: " + expired);
        return expired;
      }
    }, {
      key: "getScreenName",
      value: function getScreenName() {
        return NoticePrestitialModel.TAG;
      }
    }]);
    return NoticePrestitialModel;
  }(_NoticeFullscreen2.default);

  exports.default = NoticePrestitialModel;
  NoticePrestitialModel.TAG = "prestitial";
},2023,[5,7,8,12,14,16,2020]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _Notice2 = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NoticeInstoryAdModel = function (_Notice) {
    (0, _inherits2.default)(NoticeInstoryAdModel, _Notice);

    var _super = _createSuper(NoticeInstoryAdModel);

    function NoticeInstoryAdModel() {
      (0, _classCallCheck2.default)(this, NoticeInstoryAdModel);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(NoticeInstoryAdModel, [{
      key: "getAlignment",
      value: function getAlignment() {
        return this.json[_Notice2.KEYS.ALIGN] || _$$_REQUIRE(_dependencyMap[7]).InStoryAdAlign.UNSET;
      }
    }, {
      key: "getSize",
      value: function getSize() {
        return {
          width: parseInt(this.json[_Notice2.KEYS.WIDTH], 10),
          height: parseInt(this.json[_Notice2.KEYS.HEIGHT], 10)
        };
      }
    }, {
      key: "validate",
      value: function validate() {
        var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
            _ref$positions = _ref.positions,
            positions = _ref$positions === undefined ? [] : _ref$positions;

        this.print("type: " + this.getType() + ", positions: " + JSON.stringify(positions));
        return positions.includes(this.getType());
      }
    }, {
      key: "getScreenName",
      value: function getScreenName() {
        return NoticeInstoryAdModel.TAG;
      }
    }]);
    return NoticeInstoryAdModel;
  }(_Notice2.default);

  exports.default = NoticeInstoryAdModel;
  NoticeInstoryAdModel.TAG = "instory_ad";
},2024,[5,7,8,12,14,16,2021,2017]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _NativeAdTemplate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _NativeVideoAdTemplate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _StandardDisplayAdTemplate = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var _OptionalPackages$get = _optionalPackageUtils.default.getPrebid(),
      PrebidBanner = _OptionalPackages$get.PrebidBanner;

  var _OptionalPackages$get2 = _optionalPackageUtils.default.getNativoAds(),
      NativoAd = _OptionalPackages$get2.NativoAd;

  var _OptionalPackages$get3 = _optionalPackageUtils.default.getAdMob(),
      BannerAd = _OptionalPackages$get3.BannerAd,
      BannerAdSize = _OptionalPackages$get3.BannerAdSize,
      TestIds = _OptionalPackages$get3.TestIds;

  var _OptionalPackages$get4 = _optionalPackageUtils.default.getDFP(),
      DFPBanner = _OptionalPackages$get4.DFPBanner;

  var AdNativeComponent = function (_React$Component) {
    (0, _inherits2.default)(AdNativeComponent, _React$Component);

    var _super = _createSuper(AdNativeComponent);

    function AdNativeComponent(props) {
      var _this;

      (0, _classCallCheck2.default)(this, AdNativeComponent);
      _this = _super.call(this, props);
      _this.loading = true;
      _this.loaded = false;
      _this.ref = undefined;
      _this.onAdMobAdLoaded = _this._onAdMobAdLoaded.bind((0, _assertThisInitialized2.default)(_this));
      _this.onAdMobAdError = _this._onAdMobAdError.bind((0, _assertThisInitialized2.default)(_this));
      _this.onDFPAdLoaded = _this._onDFPAdLoaded.bind((0, _assertThisInitialized2.default)(_this));
      _this.onDFPAdError = _this._onDFPAdError.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPrebidAdLoaded = _this._onPrebidAdLoaded.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPrebidAdError = _this._onPrebidAdError.bind((0, _assertThisInitialized2.default)(_this));
      _this.onNativoAdRemoved = _this._onNativoAdRemoved.bind((0, _assertThisInitialized2.default)(_this));
      _this.onNativoAdRendered = _this._onNativoAdRendered.bind((0, _assertThisInitialized2.default)(_this));
      _this.onNativoAdClick = _this._onNativoAdClick.bind((0, _assertThisInitialized2.default)(_this));
      _this.onNativoDisplayAdClick = _this._onNativoDisplayAdClick.bind((0, _assertThisInitialized2.default)(_this));
      _this.onRef = _this._onRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onDFPReload = _this._DFPReloadBanner.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        error: false,
        hidden: false
      };
      return _this;
    }

    (0, _createClass2.default)(AdNativeComponent, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        this.changeAdsVisibility = _$$_REQUIRE(_dependencyMap[18]).EventRegister.on(_events.default.CHANGE_ADS_VISIBILITY, function (_ref) {
          var hideAds = _ref.hideAds;
          var hidden = _this2.state.hidden;

          if (hideAds && !hidden) {
            _this2.setState({
              hidden: true
            });
          } else if (!hideAds && hidden) {
            _this2.setState({
              hidden: false
            });
          }
        });
      }
    }, {
      key: "shouldComponentUpdate",
      value: function shouldComponentUpdate(nextProps, nextState) {
        var updateComponent = !_$$_REQUIRE(_dependencyMap[19]).JSUtils.areEqualShallow(nextProps.model, this.props.model) || !_$$_REQUIRE(_dependencyMap[19]).JSUtils.areEqualShallow(nextState, this.state);

        if (!updateComponent && this.loaded) {
          this._onAdLoaded(false);
        }

        return updateComponent;
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        if (this.dfpReloadTimeoutId) {
          clearTimeout(this.dfpReloadTimeoutId);
        }

        _$$_REQUIRE(_dependencyMap[18]).EventRegister.rm(this.changeAdsVisibility);
      }
    }, {
      key: "getAdMobBanner",
      value: function getAdMobBanner() {
        if (_optionalPackageUtils.default.isAdMobAvailable()) {
          var model = this.props.model;
          var unitId = model.unitId,
              width = model.width,
              height = model.height;
          var bannerType = width + "x" + height;

          if (width === 320 && height === 50) {
            bannerType = BannerAdSize.BANNER;
          } else if (width === 300 && height === 250) {
            bannerType = BannerAdSize.MEDIUM_RECTANGLE;
          }

          return _react.default.createElement(BannerAd, {
            unitId: global.__DEV__ ? TestIds.BANNER : unitId,
            size: bannerType,
            onAdLoaded: this.onAdMobAdLoaded,
            onAdFailedToLoad: this.onAdMobAdError
          });
        }

        return null;
      }
    }, {
      key: "getDFPBanner",
      value: function getDFPBanner() {
        if (_optionalPackageUtils.default.isDFPAvailable()) {
          var model = this.props.model;
          var unitId = model.unitId,
              width = model.width,
              height = model.height,
              targeting = model.targeting;
          var dimensions = {
            width: width,
            height: height
          };
          var bannerSize = null;

          if (width === 320 && height === 50) {
            bannerSize = "banner";
          } else if (width === 300 && height === 250) {
            bannerSize = "mediumRectangle";
          }

          var other = {};

          if (bannerSize) {
            other.bannerSize = bannerSize;
          } else {
            other.dimensions = dimensions;
          }

          if (typeof targeting === "string" && targeting.length > 0) {
            try {
              other.targeting = JSON.parse(targeting);
            } catch (e) {}
          } else if (typeof targeting === "object" && !_$$_REQUIRE(_dependencyMap[19]).JSUtils.isEmpty(targeting)) {
            other.targeting = targeting;
          }

          return _react.default.createElement(DFPBanner, (0, _extends2.default)({
            ref: this.onRef,
            onAdViewDidReceiveAd: this.onDFPAdLoaded,
            onDidFailToReceiveAdWithError: this.onDFPAdError,
            adUnitID: unitId,
            testDeviceID: global.adsTestDevices[0]
          }, other));
        }

        return null;
      }
    }, {
      key: "getPrebidBanner",
      value: function getPrebidBanner() {
        var _this$props = this.props,
            model = _this$props.model,
            tag = _this$props.tag;
        var width = model.width,
            height = model.height;
        var bannerSize = null;

        if (width === 300 && height === 250) {
          bannerSize = "MEDIUM_RECTANGLE";
        } else {
          bannerSize = "BANNER";
        }

        if (!_optionalPackageUtils.default.isPrebidAvailable()) {
          return null;
        }

        return _react.default.createElement(PrebidBanner, {
          tag: "" + tag,
          onGoogleAdLoaded: this.onPrebidAdLoaded,
          onGoogleAdError: this.onPrebidAdError,
          serverAccountId: global.getAdsConfig().getPrebidAccountId(),
          serverHost: global.getAdsConfig().getPrebidServerHost(),
          shareGeolocation: global.getAdsConfig().getPrebidShareGeolocation(),
          refreshMills: global.getAdsConfig().getRefreshTime(),
          configurationId: global.getAdsConfig().getPrebidConfigurationId(),
          adUnitID: global.getAdsConfig().getDefaultAdUnitId(),
          bannerSize: bannerSize
        });
      }
    }, {
      key: "getNativoBanner",
      value: function getNativoBanner() {
        if (!_optionalPackageUtils.default.isNativoSDKAvailable()) {
          return null;
        }

        var _this$props2 = this.props,
            model = _this$props2.model,
            nativo = _this$props2.nativo;
        var index = model.index,
            unitId = model.unitId,
            width = model.width,
            height = model.height;
        var grid = nativo.grid,
            card = nativo.card,
            headerText = nativo.headerText;

        if (index === undefined) {
          return null;
        }

        var nativoIndex = index;

        if (grid) {
          nativoIndex += 1000;
        } else if (card) {
          nativoIndex += 2000;
        }

        var dimensions = {
          width: width,
          height: height
        };
        var text = headerText || global.strings("sponsored_content");
        return _react.default.createElement(NativoAd, {
          key: "nativoAd_" + nativoIndex,
          style: dimensions,
          index: nativoIndex,
          sectionUrl: unitId,
          onNativeAdClick: this.onNativoAdClick,
          onDisplayAdClick: this.onNativoDisplayAdClick,
          onAdRemoved: this.onNativoAdRemoved,
          onAdRendered: this.onNativoAdRendered,
          nativeAdTemplate: _NativeAdTemplate.default,
          videoAdTemplate: _NativeVideoAdTemplate.default,
          standardDisplayAdTemplate: _StandardDisplayAdTemplate.default,
          extraTemplateProps: {
            index: index,
            grid: grid,
            card: card,
            dimensions: dimensions,
            headerText: text
          }
        });
      }
    }, {
      key: "_onNativoAdClick",
      value: function _onNativoAdClick(event) {
        _NavigationService.default.main.navigate("NativoLandingPageScreen", event);
      }
    }, {
      key: "_onNativoDisplayAdClick",
      value: function _onNativoDisplayAdClick(event) {
        if (event && event.url) {
          _NavigationService.default.main.navigate("WebScreen", {
            url: event.url
          });
        }
      }
    }, {
      key: "_onNativoAdRendered",
      value: function _onNativoAdRendered() {
        var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      }
    }, {
      key: "_onNativoAdRemoved",
      value: function _onNativoAdRemoved() {
        var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};

        this._onAdError();

        var _this$props3 = this.props,
            onAdFailed = _this$props3.onAdFailed,
            model = _this$props3.model;

        if (onAdFailed) {
          onAdFailed(model, "", true);
        }
      }
    }, {
      key: "_onAdMobAdLoaded",
      value: function _onAdMobAdLoaded() {
        this._onAdLoaded();
      }
    }, {
      key: "_onAdMobAdError",
      value: function _onAdMobAdError(error) {
        this._onAdError(error);
      }
    }, {
      key: "_onDFPAdLoaded",
      value: function _onDFPAdLoaded() {
        this._onAdLoaded(false);
      }
    }, {
      key: "_onDFPAdError",
      value: function _onDFPAdError(error) {
        var _global$getActivePSet = global.getActivePSetup(),
            dfpReloadTime = _global$getActivePSet.dfpReloadTime;

        if (this.dfpReloadTimeoutId) {
          clearTimeout(this.dfpReloadTimeoutId);
        }

        this.dfpReloadTimeoutId = setTimeout(this.onDFPReload, dfpReloadTime);

        this._onAdError(error, false);
      }
    }, {
      key: "_DFPReloadBanner",
      value: function _DFPReloadBanner() {
        if (this.ref) {
          this.dfpReloadTimeoutId = undefined;

          _reactNative.UIManager.dispatchViewManagerCommand((0, _reactNative.findNodeHandle)(this.ref), _reactNative.UIManager.RNDFPBanner.Commands.reloadBanner, []);
        }
      }
    }, {
      key: "_onPrebidAdLoaded",
      value: function _onPrebidAdLoaded() {
        this._onAdLoaded();
      }
    }, {
      key: "_onPrebidAdError",
      value: function _onPrebidAdError(error) {
        this._onAdError(error);
      }
    }, {
      key: "_onAdLoaded",
      value: function _onAdLoaded() {
        var showError = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
        var _this$props4 = this.props,
            onAdLoaded = _this$props4.onAdLoaded,
            model = _this$props4.model;
        this.loading = false;
        this.loaded = true;

        if (showError) {
          this.setState({
            error: false
          });
        }

        if (onAdLoaded) {
          onAdLoaded(model);
        }

        var unitId = model.unitId,
            width = model.width,
            height = model.height;
        (0, _$$_REQUIRE(_dependencyMap[20]).sendAdSuccess)({
          unitId: unitId,
          size: width + "x" + height
        });
      }
    }, {
      key: "_onAdError",
      value: function _onAdError(error) {
        var showError = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
        var _this$props5 = this.props,
            onAdFailed = _this$props5.onAdFailed,
            model = _this$props5.model;
        this.loading = false;
        this.loaded = false;

        if (showError) {
          this.setState({
            error: true
          });
        }

        if (onAdFailed) {
          onAdFailed(model, error);
        }

        if (error && error.code) {
          var unitId = model.unitId,
              width = model.width,
              height = model.height;
          (0, _$$_REQUIRE(_dependencyMap[20]).sendAdFailedError)({
            unitId: unitId,
            error: error.code,
            size: width + "x" + height
          });
        }
      }
    }, {
      key: "_onRef",
      value: function _onRef(ref) {
        this.ref = ref;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$state = this.state,
            error = _this$state.error,
            hidden = _this$state.hidden;
        var _this$props6 = this.props,
            model = _this$props6.model,
            fallback = _this$props6.fallback;
        var width = model.width,
            height = model.height,
            provider = model.provider;

        if (hidden) {
          return null;
        }

        if (global.getAdsConfig().useDFP(provider)) {
          return this.getDFPBanner();
        }

        if (error) {
          if (fallback) {
            return _react.default.createElement(_imageComponent.default, {
              source: {
                uri: fallback
              },
              style: {
                width: width,
                height: height
              }
            });
          }

          return null;
        }

        if (global.getAdsConfig().useAdMob(provider)) {
          return this.getAdMobBanner();
        }

        if (global.getAdsConfig().usePrebid(provider)) {
          return this.getPrebidBanner();
        }

        if (global.getAdsConfig().useNativo(provider)) {
          return this.getNativoBanner();
        }

        return null;
      }
    }]);
    return AdNativeComponent;
  }(_react.default.Component);

  exports.default = AdNativeComponent;
  AdNativeComponent.propTypes = {
    model: _propTypes.default.shape({
      index: _propTypes.default.number,
      provider: _propTypes.default.string,
      unitId: _propTypes.default.string,
      width: _propTypes.default.number,
      height: _propTypes.default.number,
      targeting: _propTypes.default.object
    }),
    nativo: _propTypes.default.shape({
      headerText: _propTypes.default.string,
      grid: _propTypes.default.bool,
      card: _propTypes.default.bool
    }),
    tag: _propTypes.default.string,
    fallback: _propTypes.default.string,
    caller: _propTypes.default.string,
    onAdLoaded: _propTypes.default.func,
    onAdFailed: _propTypes.default.func
  };
  AdNativeComponent.defaultProps = {
    nativo: {
      grid: false,
      card: false
    }
  };
},2025,[5,6,7,8,15,12,14,16,17,28,201,588,2026,2054,2055,1861,731,460,572,462,1871]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var _tileListNativo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _tileGridNativo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _cardNativo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var styles = _reactNative.StyleSheet.create({
    textRow: {
      flexDirection: "row",
      alignItems: "center",
      marginHorizontal: _$$_REQUIRE(_dependencyMap[8]).HORIZONTAL_MARGIN
    }
  });

  var NativeAdTemplate = function NativeAdTemplate(props) {
    if (!_optionalPackageUtils.default.isNativoSDKAvailable()) {
      return null;
    }

    var adDate = props.adDate,
        adTitle = props.adTitle,
        adDescription = props.adDescription,
        adAuthorName = props.adAuthorName,
        index = props.index,
        grid = props.grid,
        card = props.card,
        dimensions = props.dimensions,
        headerText = props.headerText;
    var item = {
      titleNativeID: "adTitle",
      summaryNativeID: "adDescription",
      title: adTitle,
      summary: adDescription,
      gridIndex: index
    };
    var cssClasses = ["rss-nativo-ad-template"];
    var cssHeaderClasses = ["rss-nativo-ad-template-header"];
    var cssHeaderTextClasses = ["rss-nativo-ad-template-header-text"];
    var cssChoicesImageClasses = ["rss-nativo-ad-template-choices-image"];
    var cssImageClasses = ["rss-nativo-ad-template-image"];
    var cssBottomClasses = ["rss-nativo-ad-template-bottom"];
    var cssDateClasses = ["rss-nativo-ad-template-date"];
    var cssAuthorImageClasses = ["rss-nativo-ad-template-author-image"];
    var cssAuthorNameClasses = ["rss-nativo-ad-template-author-name"];
    var imageStyle = {};
    var adAuthorImageStyle = {
      minWidth: 20,
      height: 20
    };
    var layoutSuffix;

    if (card) {
      layoutSuffix = "card";
      imageStyle = {
        width: "100%",
        height: 300
      };
    } else if (grid) {
      layoutSuffix = "grid";
      imageStyle = {
        flex: 1
      };
    } else {
      layoutSuffix = "list";
      imageStyle = {
        flex: 1,
        margin: 4
      };
      adAuthorImageStyle = {
        width: 0,
        height: 20
      };
    }

    cssClasses.push("rss-nativo-ad-template-" + layoutSuffix);
    cssHeaderClasses.push("rss-nativo-ad-template-header-" + layoutSuffix);
    cssHeaderTextClasses.push("rss-nativo-ad-template-header-text-" + layoutSuffix);
    cssChoicesImageClasses.push("rss-nativo-ad-template-choices-image-" + layoutSuffix);
    cssImageClasses.push("rss-nativo-ad-template-image-" + layoutSuffix);
    cssBottomClasses.push("rss-nativo-ad-template-bottom-" + layoutSuffix);
    cssDateClasses.push("rss-nativo-ad-template-date-" + layoutSuffix);
    cssAuthorImageClasses.push("rss-nativo-ad-template-author-image-" + layoutSuffix);
    cssAuthorNameClasses.push("rss-nativo-ad-template-author-name-" + layoutSuffix);

    var TopComponent = _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: cssHeaderClasses
    }, _react.default.createElement(_reactNative.View, {
      style: styles.textRow
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: cssHeaderTextClasses
    }, _react.default.createElement(_reactNative.Text, {
      style: {
        fontWeight: "bold",
        flex: 1
      }
    }, headerText)), _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: cssChoicesImageClasses
    }, _react.default.createElement(_reactNative.Image, {
      nativeID: "adChoicesImage",
      style: {
        height: 20,
        width: 20
      }
    }))));

    var BottomComponent = _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: cssBottomClasses
    }, _react.default.createElement(_reactNative.View, {
      style: styles.textRow
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: cssDateClasses
    }, _react.default.createElement(_reactNative.Text, {
      nativeID: "adDate",
      style: {
        flex: 1
      }
    }, (0, _$$_REQUIRE(_dependencyMap[10]).formatDate)(adDate / 1000)))), _react.default.createElement(_reactNative.View, {
      style: styles.textRow
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: cssAuthorImageClasses
    }, _react.default.createElement(_reactNative.Image, {
      nativeID: "adAuthorImage",
      resizeMode: "contain",
      style: adAuthorImageStyle
    })), _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: cssAuthorNameClasses
    }, _react.default.createElement(_reactNative.Text, {
      nativeID: "adAuthorName"
    }, adAuthorName))));

    var ImageComponent = _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: cssImageClasses
    }, _react.default.createElement(_reactNative.Image, {
      style: imageStyle,
      nativeID: "adImage"
    }));

    var ad;

    if (card) {
      ad = _react.default.createElement(_cardNativo.default, {
        item: item,
        TopComponent: TopComponent,
        BottomComponent: BottomComponent,
        ImageComponent: ImageComponent
      });
    } else if (grid) {
      ad = _react.default.createElement(_tileGridNativo.default, {
        roundedBorder: true,
        item: item,
        TopComponent: TopComponent,
        BottomComponent: BottomComponent,
        ImageComponent: ImageComponent
      });
    } else {
      ad = _react.default.createElement(_tileListNativo.default, {
        item: item,
        TopComponent: TopComponent,
        BottomComponent: BottomComponent,
        ImageComponent: ImageComponent
      });
    }

    var key = card ? "card" : grid;
    var style = card ? {
      width: (0, _$$_REQUIRE(_dependencyMap[11]).getRssCardBoxWidth)()
    } : dimensions;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: cssClasses
    }, _react.default.createElement(_reactNative.View, {
      nativeID: "nativoAdView",
      key: "nativo_" + index + "_" + key,
      style: style
    }, ad));
  };

  var _default = NativeAdTemplate;
  exports.default = _default;
},2026,[5,17,28,2027,2043,2048,458,731,2033,699,2051,2039]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _iconGallery = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _tileList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _tilePreview = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TileListNativo = function (_React$PureComponent) {
    (0, _inherits2.default)(TileListNativo, _React$PureComponent);

    var _super = _createSuper(TileListNativo);

    function TileListNativo(props) {
      var _this;

      (0, _classCallCheck2.default)(this, TileListNativo);
      _this = _super.call(this, props);
      _this.fontSize = _$$_REQUIRE(_dependencyMap[13]).FONT_SIZE.TEXT();
      _this.fontSizeTitle = _$$_REQUIRE(_dependencyMap[13]).FONT_SIZE.TITLE();
      return _this;
    }

    (0, _createClass2.default)(TileListNativo, [{
      key: "_getTopComponent",
      value: function _getTopComponent() {
        var TopComponent = this.props.TopComponent;

        if (TopComponent) {
          return TopComponent;
        }

        return null;
      }
    }, {
      key: "_getBottomComponent",
      value: function _getBottomComponent() {
        var BottomComponent = this.props.BottomComponent;

        if (BottomComponent) {
          return BottomComponent;
        }

        return null;
      }
    }, {
      key: "_getImage",
      value: function _getImage() {
        var _this$props = this.props,
            item = _this$props.item,
            ImageComponent = _this$props.ImageComponent,
            imageContainerStyle = _this$props.imageContainerStyle;

        if (item.image || ImageComponent) {
          var style = {
            margin: 4,
            flex: _$$_REQUIRE(_dependencyMap[14]).PlatformUtils.isTablet() ? 1 : 2
          };
          return _react.default.createElement(_reactNative.View, {
            style: [style, imageContainerStyle]
          }, ImageComponent || _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_imageComponent.default, {
            style: style,
            source: {
              uri: item.image
            }
          }), _react.default.createElement(_iconGallery.default, {
            item: item,
            inline: false
          })));
        }

        return null;
      }
    }, {
      key: "render",
      value: function render() {
        var item = this.props.item;

        var isTablet = _$$_REQUIRE(_dependencyMap[14]).PlatformUtils.isTablet();

        var _global$getRssIndex = global.getRssIndex(),
            putImageOnListRightSide = _global$getRssIndex.putImageOnListRightSide;

        var summary = isTablet ? {
          text: item.summary,
          classes: ["tile-summary", "list-tile-summary", "tile-list-summary"],
          style: {
            fontSize: this.fontSize
          },
          nativeID: item.summaryNativeID
        } : {};
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).Css, {
          classes: ["tile", "tile-list", "tile-list-nativo"]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).TileParent, {
          index: item.gridIndex,
          bgColorByIndex: true,
          enableBorderEffect: false,
          style: {
            flexDirection: putImageOnListRightSide ? "row" : "row-reverse"
          }
        }, _react.default.createElement(_reactNative.View, {
          style: [_tileList.default.container, {
            paddingHorizontal: isTablet ? 8 : 0
          }]
        }, this._getTopComponent(), _react.default.createElement(_tilePreview.default, {
          title: {
            text: item.title,
            classes: ["tile-title", "list-tile-title", "tile-list-title"],
            style: {
              fontSize: this.fontSizeTitle
            },
            nativeID: item.titleNativeID
          },
          summary: summary,
          verticalPaddingSize: _$$_REQUIRE(_dependencyMap[17]).TITLE_TOP_PADDING,
          containerStyle: !isTablet ? {
            justifyContent: "center"
          } : {}
        }), this._getBottomComponent()), this._getImage()));
      }
    }]);
    return TileListNativo;
  }(_react.default.PureComponent);

  exports.default = TileListNativo;
  TileListNativo.propTypes = {
    item: _propTypes.default.shape({
      title: _propTypes.default.string,
      summary: _propTypes.default.string,
      image: _propTypes.default.string,
      gridIndex: _propTypes.default.number,
      titleNativeID: _propTypes.default.string,
      summaryNativeID: _propTypes.default.string
    }),
    TopComponent: _propTypes.default.node,
    BottomComponent: _propTypes.default.node,
    ImageComponent: _propTypes.default.node,
    imageContainerStyle: _propTypes.default.any
  };
  TileListNativo.defaultProps = {
    TopComponent: undefined,
    BottomComponent: undefined,
    ImageComponent: undefined,
    imageContainerStyle: undefined
  };
},2027,[5,7,8,12,14,16,17,28,201,2028,2032,2034,588,2039,462,699,2040,2035]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.PositionType = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _iconGallery = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _RssActionManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PositionType = {
    tile: "tile",
    article: "article"
  };
  exports.PositionType = PositionType;

  var IconGallery = function (_React$Component) {
    (0, _inherits2.default)(IconGallery, _React$Component);

    var _super = _createSuper(IconGallery);

    function IconGallery() {
      (0, _classCallCheck2.default)(this, IconGallery);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(IconGallery, [{
      key: "_onPress",
      value: function _onPress() {
        var _this$props = this.props,
            item = _this$props.item,
            navigation = _this$props.navigation;
        navigation.navigate("GalleryScreen", {
          items: item.gallery,
          category: item.category,
          title: item.title,
          caller: "live_news"
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this = this;

        var _this$props2 = this.props,
            item = _this$props2.item,
            inline = _this$props2.inline,
            parentStyle = _this$props2.parentStyle,
            imageStyle = _this$props2.imageStyle,
            position = _this$props2.position,
            _onLayout = _this$props2.onLayout;
        var rssAction = item.action;
        var icon = position === PositionType.tile ? rssAction.getGalleryIcon() : rssAction.getFullscreenGalleryIcon();

        if (!icon) {
          return null;
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["icon-gallery-parent"]
        }, _react.default.createElement(_reactNative.TouchableOpacity, {
          style: [inline ? _iconGallery.default.iconParent_inline : _iconGallery.default.iconParent, parentStyle],
          onLayout: function onLayout(_ref) {
            var nativeEvent = _ref.nativeEvent;

            if (_onLayout) {
              _onLayout(nativeEvent.layout);
            }
          },
          onPress: function onPress() {
            _this._onPress();
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["icon-gallery"]
        }, _react.default.createElement(_imageIconChooserComponent.default, {
          style: [_iconGallery.default.gallery, imageStyle],
          source: icon && icon.icon ? {
            uri: icon.icon
          } : _$$_REQUIRE(_dependencyMap[14])
        }))));
      }
    }]);
    return IconGallery;
  }(_react.default.Component);

  IconGallery.defaultProps = {
    inline: false,
    parentStyle: {},
    imageStyle: {},
    position: PositionType.tile
  };
  IconGallery.propTypes = {
    onLayout: _propTypes.default.func,
    item: _propTypes.default.object,
    navigation: _propTypes.default.object,
    inline: _propTypes.default.bool,
    imageStyle: _propTypes.default.object,
    parentStyle: _propTypes.default.object,
    position: _propTypes.default.oneOf([PositionType.tile, PositionType.article])
  };

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[15]).useNavigation)();
    return _react.default.createElement(IconGallery, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2028,[5,6,7,8,12,14,16,17,28,201,2029,1964,1970,699,2031,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var ICON_CONTAINER = _$$_REQUIRE(_dependencyMap[1]).ICON + _$$_REQUIRE(_dependencyMap[1]).ICON_PADDING * 2;

  var _default = _reactNative.StyleSheet.create({
    iconParent: {
      width: ICON_CONTAINER,
      height: ICON_CONTAINER,
      top: 0,
      end: 0,
      padding: _$$_REQUIRE(_dependencyMap[1]).ICON_PADDING,
      position: "absolute"
    },
    iconParent_inline: {
      width: ICON_CONTAINER,
      height: ICON_CONTAINER,
      padding: _$$_REQUIRE(_dependencyMap[1]).ICON_PADDING
    },
    gallery: {
      width: _$$_REQUIRE(_dependencyMap[1]).ICON,
      height: _$$_REQUIRE(_dependencyMap[1]).ICON,
      shadowColor: _$$_REQUIRE(_dependencyMap[2]).colors.grey900,
      shadowOffset: {
        width: 0,
        height: 0
      },
      shadowRadius: 5
    }
  });

  exports.default = _default;
},2029,[28,2030,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.ICON_SIZE = exports.MARGIN = exports.ICON_PADDING = exports.ICON = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var ICON = 30;
  exports.ICON = ICON;
  var ICON_PADDING = 5;
  exports.ICON_PADDING = ICON_PADDING;
  var MARGIN = 5;
  exports.MARGIN = MARGIN;
  var ICON_SIZE = 20;
  exports.ICON_SIZE = ICON_SIZE;

  var _default = _reactNative.StyleSheet.create({
    parent: {
      marginStart: MARGIN,
      marginEnd: MARGIN,
      flexDirection: "row",
      justifyContent: "center",
      alignItems: "center",
      borderRadius: ICON
    },
    iconParent: {
      height: ICON,
      bottom: -15,
      end: 0,
      position: "absolute"
    },
    icon: {
      height: ICON,
      width: ICON,
      fontSize: ICON_SIZE,
      padding: ICON_PADDING
    }
  });

  exports.default = _default;
},2030,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/rss/icon-gallery/img",
    "width": 96,
    "height": 96,
    "scales": [1],
    "hash": "f390cf51f6b56bf0a0c61fb97d38cbea",
    "name": "ic_gallery_white",
    "type": "png"
  });
},2031,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    outline: {
      flexDirection: "row"
    },
    container: {
      flex: _$$_REQUIRE(_dependencyMap[1]).CONTAINER_LIST_FLEX,
      flexDirection: "column",
      justifyContent: "space-between",
      paddingVertical: _$$_REQUIRE(_dependencyMap[1]).CONTAINER_VERTICAL_PADDING
    }
  });

  exports.default = _default;
},2032,[28,2033]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.HORIZONTAL_MARGIN = exports.SUMMARY_VERTICAL_MARGIN = exports.TITLE_VERTICAL_PADDING = exports.CONTAINER_LIST_FLEX = exports.CONTAINER_VERTICAL_PADDING = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var CONTAINER_VERTICAL_PADDING = 8;
  exports.CONTAINER_VERTICAL_PADDING = CONTAINER_VERTICAL_PADDING;
  var CONTAINER_LIST_FLEX = 3;
  exports.CONTAINER_LIST_FLEX = CONTAINER_LIST_FLEX;
  var TITLE_VERTICAL_PADDING = 8;
  exports.TITLE_VERTICAL_PADDING = TITLE_VERTICAL_PADDING;
  var SUMMARY_VERTICAL_MARGIN = 8;
  exports.SUMMARY_VERTICAL_MARGIN = SUMMARY_VERTICAL_MARGIN;
  var HORIZONTAL_MARGIN = 8;
  exports.HORIZONTAL_MARGIN = HORIZONTAL_MARGIN;

  var _default = _reactNative.StyleSheet.create({
    icon: {
      height: 30,
      width: 30,
      marginStart: 5,
      marginEnd: 5
    },
    details: {
      marginHorizontal: HORIZONTAL_MARGIN,
      textAlign: "left",
      color: _$$_REQUIRE(_dependencyMap[1]).colors.details,
      flex: 1
    }
  });

  exports.default = _default;
},2033,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _tilePreview = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _doubleTextAutoMeasured = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function TilePreview(props) {
    var title = props.title,
        summary = props.summary,
        rest = (0, _objectWithoutProperties2.default)(props, ["title", "summary"]);
    return _react.default.createElement(_doubleTextAutoMeasured.default, (0, _extends2.default)({}, rest, {
      top: title ? (0, _extends2.default)({
        type: _$$_REQUIRE(_dependencyMap[7]).Type.medium
      }, title, {
        classes: ["tile-title"].concat((0, _toConsumableArray2.default)(title.classes || []))
      }) : undefined,
      bottom: summary ? (0, _extends2.default)({}, summary, {
        classes: ["tile-summary"].concat((0, _toConsumableArray2.default)(summary.classes || []))
      }) : undefined,
      containerStyle: _tilePreview.default.container,
      topPadding: _tilePreview.TITLE_TOP_PADDING
    }));
  }

  TilePreview.propTypes = (0, _extends2.default)({}, _doubleTextAutoMeasured.default.propTypes, {
    title: _doubleTextAutoMeasured.default.propTypes.top,
    summary: _doubleTextAutoMeasured.default.propTypes.bottom
  });
  var _default = TilePreview;
  exports.default = _default;
},2034,[5,21,6,108,17,2035,2036,1879]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.TITLE_TOP_PADDING = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var TITLE_TOP_PADDING = 8;
  exports.TITLE_TOP_PADDING = TITLE_TOP_PADDING;

  var _default = _reactNative.StyleSheet.create({
    container: {
      marginHorizontal: _$$_REQUIRE(_dependencyMap[1]).HORIZONTAL_MARGIN
    },
    title: {
      textAlign: "left",
      color: _$$_REQUIRE(_dependencyMap[2]).colors.title
    },
    titlePadding: {
      paddingTop: TITLE_TOP_PADDING
    },
    summary: {
      fontSize: 20,
      color: _$$_REQUIRE(_dependencyMap[2]).colors.summary
    },
    summary_container: {
      flex: 1,
      justifyContent: "center"
    }
  });

  exports.default = _default;
},2035,[28,2033,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _doubleTextAutoMeasured = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var DoubleTextAutoMeasured = function (_React$Component) {
    (0, _inherits2.default)(DoubleTextAutoMeasured, _React$Component);

    var _super = _createSuper(DoubleTextAutoMeasured);

    function DoubleTextAutoMeasured(props) {
      var _this;

      (0, _classCallCheck2.default)(this, DoubleTextAutoMeasured);
      _this = _super.call(this, props);
      _this._isMounted = true;
      _this.state = {
        topStyle: {},
        topProps: {},
        bottomStyle: {},
        bottomProps: {},
        measured: false
      };
      return _this;
    }

    (0, _createClass2.default)(DoubleTextAutoMeasured, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this._isMounted = true;
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this._isMounted = false;
      }
    }, {
      key: "_handleWrap",
      value: function _handleWrap(newState) {
        var handleWrap = false;
        var handleTextWrap = this.props.handleTextWrap;

        if (typeof handleTextWrap === "function" && this.topMeasure) {
          var topProps = newState.topProps,
              bottomProps = newState.bottomProps;
          var wrap = false;
          var topNumberOfLines = topProps.numberOfLines;

          if (!_$$_REQUIRE(_dependencyMap[13]).JSUtils.isNull(topNumberOfLines)) {
            wrap = topNumberOfLines < this.topMeasure.lineCount;
          }

          if (!wrap && this.bottomMeasure) {
            var bottomNumberOfLines = bottomProps.numberOfLines;

            if (!_$$_REQUIRE(_dependencyMap[13]).JSUtils.isNull(bottomNumberOfLines)) {
              wrap = bottomNumberOfLines < this.bottomMeasure.lineCount;
            }
          }

          if (wrap) {
            handleWrap = handleTextWrap();
          }
        }

        return handleWrap;
      }
    }, {
      key: "checkOverflow",
      value: function checkOverflow() {
        var _this$props = this.props,
            verticalPaddingSize = _this$props.verticalPaddingSize,
            topPadding = _this$props.topPadding,
            top = _this$props.top,
            bottom = _this$props.bottom;
        var measured = this.state.measured;

        if (!measured && this.parentHeight && this.topMeasure && (this.bottomMeasure || !bottom)) {
          var totalVerticalPadding = verticalPaddingSize;
          var availableHeight = this.parentHeight - totalVerticalPadding;
          var maxTopLine = this.topMeasure.measuredHeight > availableHeight ? Math.floor(availableHeight * this.topMeasure.lineCount / this.topMeasure.measuredHeight) : this.topMeasure.lineCount;
          var topHeight = Math.min(this.topMeasure.measuredHeight, availableHeight);
          var newState = {};
          newState.topStyle = {
            height: topHeight + (top.disablePadding ? 0 : topPadding)
          };
          newState.topProps = {
            numberOfLines: maxTopLine
          };

          if (bottom) {
            var bottomAvailableSpace = availableHeight - topHeight;
            var maxBottomLine = Math.floor(bottomAvailableSpace * this.bottomMeasure.lineCount / this.bottomMeasure.measuredHeight);
            newState.bottomStyle = {
              maxHeight: bottomAvailableSpace,
              lineHeight: bottomAvailableSpace / maxBottomLine
            };
            newState.bottomProps = {
              numberOfLines: maxBottomLine
            };
          }

          newState.measured = true;

          if (this._isMounted && !this._handleWrap(newState)) {
            this.setState(newState);
          }
        }
      }
    }, {
      key: "_getTopProps",
      value: function _getTopProps() {
        var top = this.props.top;
        var _this$state = this.state,
            _this$state$topProps = _this$state.topProps,
            topProps = _this$state$topProps === undefined ? {} : _this$state$topProps,
            _this$state$topStyle = _this$state.topStyle,
            topStyle = _this$state$topStyle === undefined ? {} : _this$state$topStyle;
        var _top$props = top.props,
            topDefaultProps = _top$props === undefined ? {} : _top$props;
        var defaultNumberOfLines = topDefaultProps.numberOfLines,
            restDefaultProps = (0, _objectWithoutProperties2.default)(topDefaultProps, ["numberOfLines"]);
        var evaluatedNumberOfLines = topProps.numberOfLines,
            restTopProps = (0, _objectWithoutProperties2.default)(topProps, ["numberOfLines"]);
        var numberOfLines = evaluatedNumberOfLines;

        if (defaultNumberOfLines >= 0 && evaluatedNumberOfLines) {
          numberOfLines = Math.min(defaultNumberOfLines, evaluatedNumberOfLines);
        }

        if (top && top.nativeID) {
          restTopProps.nativeID = top.nativeID;
        }

        var newProps = (0, _extends2.default)({}, restDefaultProps, restTopProps);

        if (numberOfLines !== undefined) {
          newProps.numberOfLines = numberOfLines;

          if (evaluatedNumberOfLines && topStyle.height) {
            topStyle.height = topStyle.height / evaluatedNumberOfLines * numberOfLines;
          }
        }

        return {
          props: newProps,
          style: topStyle
        };
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props2 = this.props,
            top = _this$props2.top,
            bottom = _this$props2.bottom,
            containerStyle = _this$props2.containerStyle,
            topPadding = _this$props2.topPadding;
        var _this$state2 = this.state,
            bottomProps = _this$state2.bottomProps,
            bottomStyle = _this$state2.bottomStyle;

        if (bottom && bottom.nativeID) {
          bottomProps.nativeID = bottom.nativeID;
        }

        var paddingStyles = top.disablePadding ? {} : topPadding;

        var textEvaluated = this._getTopProps();

        var bottomClasses = [];

        if (bottom && bottom.classes) {
          bottomClasses.push.apply(bottomClasses, (0, _toConsumableArray2.default)(bottom.classes));
        }

        var topClasses = [];

        if (top && top.classes) {
          topClasses.push.apply(topClasses, (0, _toConsumableArray2.default)(top.classes));
        }

        return _react.default.createElement(_reactNative.View, {
          style: [_doubleTextAutoMeasured.default.container, containerStyle],
          onLayout: function onLayout(_ref) {
            var nativeEvent = _ref.nativeEvent;
            _this2.parentHeight = nativeEvent.layout.height;

            _this2.checkOverflow();
          }
        }, _react.default.createElement(_reactNative.View, {
          style: top.parentStyle || {}
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
          classes: topClasses
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).TextAutoMeasure, (0, _extends2.default)({
          style: [paddingStyles, top.style, textEvaluated.style],
          onMeasured: function onMeasured(info) {
            _this2.topMeasure = info;

            _this2.checkOverflow();
          },
          text: top.text
        }, textEvaluated.props)))), bottom ? _react.default.createElement(_reactNative.View, {
          style: bottom.parentStyle || {}
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
          classes: bottomClasses
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).TextAutoMeasure, (0, _extends2.default)({
          style: [bottom.style, bottomStyle],
          onMeasured: function onMeasured(info) {
            _this2.bottomMeasure = info;

            _this2.checkOverflow();
          },
          text: bottom.text
        }, bottomProps)))) : null);
      }
    }]);
    return DoubleTextAutoMeasured;
  }(_react.default.Component);

  exports.default = DoubleTextAutoMeasured;
  DoubleTextAutoMeasured.propTypes = {
    top: _propTypes.default.shape({
      text: _propTypes.default.string,
      classes: _propTypes.default.array,
      style: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.number]),
      parentStyle: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.number]),
      props: _propTypes.default.object,
      nativeID: _propTypes.default.string,
      disablePadding: _propTypes.default.bool
    }),
    bottom: _propTypes.default.shape({
      text: _propTypes.default.string,
      classes: _propTypes.default.array,
      style: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.number]),
      parentStyle: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.number]),
      props: _propTypes.default.object,
      nativeID: _propTypes.default.string
    }),
    topPadding: _propTypes.default.number,
    containerStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object]),
    verticalPaddingSize: _propTypes.default.number,
    handleTextWrap: _propTypes.default.func
  };
  DoubleTextAutoMeasured.defaultProps = {
    topPadding: 0,
    verticalPaddingSize: 0
  };
},2036,[5,21,6,108,7,8,12,14,16,17,28,201,2037,462,699,2038]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    container: {
      flex: 1,
      flexDirection: "column"
    }
  });

  exports.default = _default;
},2037,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.TextAutoMeasure = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TextAutoMeasure = function (_React$Component) {
    (0, _inherits2.default)(TextAutoMeasure, _React$Component);

    var _super = _createSuper(TextAutoMeasure);

    function TextAutoMeasure() {
      (0, _classCallCheck2.default)(this, TextAutoMeasure);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(TextAutoMeasure, [{
      key: "shouldComponentUpdate",
      value: function shouldComponentUpdate(nextProps) {
        var _this$props = this.props,
            numberOfLines = _this$props.numberOfLines,
            text = _this$props.text;
        var newNumberOfLines = nextProps.numberOfLines,
            newText = nextProps.text;
        return numberOfLines !== newNumberOfLines || text !== newText;
      }
    }, {
      key: "_returnStyleTextInfo",
      value: function _returnStyleTextInfo(textStyle) {
        var _this = this;

        var result = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
          allowFontScaling: global.getUserSettings().allowFontScaling,
          includeFontPadding: true
        };
        textStyle.forEach(function (item) {
          if (Array.isArray(item)) {
            result = (0, _extends2.default)({}, result, _this._returnStyleTextInfo(item));
          } else if (typeof item !== "number") {
            if (item.fontFamily) {
              result.fontFamily = item.fontFamily;
            }

            if (item.fontSize) {
              result.fontSize = item.fontSize;
            }

            if (item.fontWeight) {
              result.fontWeight = item.fontWeight;
            }

            if (item.fontStyle) {
              result.fontStyle = item.fontStyle;
            }

            if (item.lineHeight) {
              result.lineHeight = item.lineHeight;
            }
          }
        });
        return result;
      }
    }, {
      key: "measureText",
      value: function measureText(layout, textStyle) {
        var _this$props2, text, onMeasured, info, size, lineCount, height;

        return _regenerator.default.async(function measureText$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _this$props2 = this.props, text = _this$props2.text, onMeasured = _this$props2.onMeasured;
                info = this._returnStyleTextInfo(textStyle);
                _context.next = 4;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[12]).StringUtils.textSize(text, layout.width, info));

              case 4:
                size = _context.sent;
                lineCount = size.lineCount, height = size.height;
                onMeasured((0, _extends2.default)({
                  lineCount: lineCount,
                  measuredHeight: height
                }, info));

              case 7:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props3 = this.props,
            onMeasured = _this$props3.onMeasured,
            numberOfLines = _this$props3.numberOfLines,
            text = _this$props3.text,
            rest = (0, _objectWithoutProperties2.default)(_this$props3, ["onMeasured", "numberOfLines", "text"]);

        if (numberOfLines === 0 || !text || !text.length) {
          onMeasured({
            lineCount: 0,
            lineHeight: 0,
            height: 0,
            measuredHeight: 0
          });
          return null;
        }

        return _react.default.createElement(_fontText.default, (0, _extends2.default)({
          onLayout: function onLayout(_ref, textStyle) {
            var nativeEvent = _ref.nativeEvent;

            _this2.measureText(nativeEvent.layout, textStyle);
          },
          numberOfLines: numberOfLines
        }, rest), text);
      }
    }]);
    return TextAutoMeasure;
  }(_react.default.Component);

  exports.TextAutoMeasure = TextAutoMeasure;
  TextAutoMeasure.propTypes = {
    onMeasured: _propTypes.default.func.isRequired,
    text: _propTypes.default.string,
    numberOfLines: _propTypes.default.number
  };
  TextAutoMeasure.defaultProps = {
    numberOfLines: 1
  };
},2038,[5,80,108,6,7,8,12,14,16,17,201,1879,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getRssGridBoxPadding = getRssGridBoxPadding;
  exports.getRssListBoxPadding = getRssListBoxPadding;
  exports.getRssCardBoxPadding = getRssCardBoxPadding;
  exports.getRssCardBoxWidth = getRssCardBoxWidth;
  exports.getRssHorizontalpadding = getRssHorizontalpadding;
  exports.getRssNumberOfColumns = getRssNumberOfColumns;
  exports.default = exports.FONT_SIZE = exports.DRAWER_WIDTH = exports.CARD_RADIUS = exports.CARD_MARGIN_SIZE = exports.DRAWER_IMAGE_SIZE = exports.DRAWER_ITEM_HEIGHT = exports.RSS_HEADER_HEIGHT = exports.BOX_OPTIMAL_WIDTH = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var BOX_OPTIMAL_WIDTH = 300;
  exports.BOX_OPTIMAL_WIDTH = BOX_OPTIMAL_WIDTH;
  var RSS_HEADER_HEIGHT = 50;
  exports.RSS_HEADER_HEIGHT = RSS_HEADER_HEIGHT;
  var DRAWER_ITEM_HEIGHT = 50;
  exports.DRAWER_ITEM_HEIGHT = DRAWER_ITEM_HEIGHT;
  var DRAWER_IMAGE_SIZE = 25;
  exports.DRAWER_IMAGE_SIZE = DRAWER_IMAGE_SIZE;
  var CARD_MARGIN_SIZE = 15;
  exports.CARD_MARGIN_SIZE = CARD_MARGIN_SIZE;
  var CARD_RADIUS = 5;
  exports.CARD_RADIUS = CARD_RADIUS;
  var DRAWER_WIDTH = 250;
  exports.DRAWER_WIDTH = DRAWER_WIDTH;
  var FONT_SIZE = {
    HIGHLIGHT: function HIGHLIGHT() {
      return _$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isTablet() ? 30 : 24;
    },
    TITLE: function TITLE() {
      return _$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isTablet() ? 22 : 18;
    },
    HEADER: function HEADER() {
      return _$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isTablet() ? 18 : 14;
    },
    TEXT: function TEXT() {
      return _$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isTablet() ? 18 : 14;
    }
  };
  exports.FONT_SIZE = FONT_SIZE;

  var _default = _reactNative.StyleSheet.create({
    shadow: {
      elevation: 1,
      backgroundColor: _$$_REQUIRE(_dependencyMap[3]).colors.transparent,
      shadowColor: _$$_REQUIRE(_dependencyMap[3]).colors.black,
      shadowOpacity: 0.5,
      shadowRadius: 0.5,
      shadowOffset: {
        height: 0,
        width: 0
      }
    }
  });

  exports.default = _default;

  function getRssGridBoxPadding() {
    if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isTablet()) {
      return 5;
    }

    return 3;
  }

  function getRssListBoxPadding() {
    return 0;
  }

  function getRssCardBoxPadding() {
    return 7.5;
  }

  function getRssCardBoxWidth() {
    var _DeviceUtils$getSafeA = _deviceUtils.default.getSafeArea(),
        width = _DeviceUtils$getSafeA.width;

    return width - getRssCardBoxPadding() * 2 - _$$_REQUIRE(_dependencyMap[4]).HORIZONTAL_MARGIN * 2;
  }

  function getRssHorizontalpadding(orientation) {
    var paddingPortrait = 0;
    var paddingLandscape = 0;

    var _DeviceUtils$getSafeA2 = _deviceUtils.default.getSafeArea(),
        width = _DeviceUtils$getSafeA2.width;

    if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isTabletTenInches()) {
      paddingLandscape = width * 0.15;
    } else if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isTablet()) {
      paddingLandscape = width * 0.1;
    }

    return _deviceUtils.default.isPortrait(orientation) ? paddingPortrait : paddingLandscape;
  }

  function getRssNumberOfColumns() {
    var itemsPerRowPortrait = _$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isTablet() ? 3 : 2;
    var itemsPerRowLandscape = 2;

    if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isTabletTenInches()) {
      itemsPerRowLandscape = 4;
    } else if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isTablet()) {
      itemsPerRowLandscape = 3;
    }

    return _deviceUtils.default.isPortrait() ? itemsPerRowPortrait : itemsPerRowLandscape;
  }
},2039,[28,5,458,462,2033]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2040,[2041]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.TileParent = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _tileParent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _rssBaseStyle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TileParent = function (_React$Component) {
    (0, _inherits2.default)(TileParent, _React$Component);

    var _super = _createSuper(TileParent);

    function TileParent() {
      (0, _classCallCheck2.default)(this, TileParent);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(TileParent, [{
      key: "_itemBackgroundColor",
      value: function _itemBackgroundColor(index) {
        var _this$props = this.props,
            bgColor = _this$props.bgColor,
            bgColorByIndex = _this$props.bgColorByIndex;

        var defaultBgColor = _$$_REQUIRE(_dependencyMap[12]).Css.getDefaultBackgroundColor();

        if (bgColorByIndex) {
          return index % 2 === 0 ? defaultBgColor : _$$_REQUIRE(_dependencyMap[12]).Css.getAlternateDefaultBackgroundColor();
        }

        return bgColor || defaultBgColor;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props2 = this.props,
            index = _this$props2.index,
            bgUrl = _this$props2.bgUrl,
            enableBorderEffect = _this$props2.enableBorderEffect,
            hideBottomLine = _this$props2.hideBottomLine,
            style = _this$props2.style,
            _onLayout = _this$props2.onLayout,
            children = _this$props2.children;

        var _global$getRssIndex = global.getRssIndex(),
            borderRadius = _global$getRssIndex.borderRadius,
            borderColor = _global$getRssIndex.borderColor,
            borderWidth = _global$getRssIndex.borderWidth,
            borderShadow = _global$getRssIndex.borderShadow;

        var radiusStyle = {
          borderRadius: enableBorderEffect ? borderRadius : 0,
          overflow: "hidden"
        };
        var imageCustomProps = bgUrl ? {
          source: {
            uri: bgUrl
          },
          imageStyle: radiusStyle
        } : {};
        var enableShadow = borderShadow && enableBorderEffect;
        var enableBottomBorder = (!enableBorderEffect || !borderShadow) && !hideBottomLine;
        var enableBorder = !borderShadow && enableBorderEffect;
        var Child = bgUrl ? _reactNative.ImageBackground : _reactNative.View;
        return _react.default.createElement(_reactNative.View, {
          style: [{
            flex: 1,
            justifyContent: "center",
            borderRadius: enableBorder ? borderRadius : 0
          }, _$$_REQUIRE(_dependencyMap[13]).PlatformUtils.isIOS() && enableShadow ? _rssBaseStyle.default.shadow : {}]
        }, _react.default.createElement(Child, (0, _extends2.default)({}, imageCustomProps, {
          style: [_tileParent.default.container, _$$_REQUIRE(_dependencyMap[13]).PlatformUtils.isAndroid() && enableShadow ? _rssBaseStyle.default.shadow : {}, {
            width: "100%",
            height: "100%",
            backgroundColor: this._itemBackgroundColor(index),
            borderRadius: enableBorder ? borderRadius : 0,
            borderTopWidth: enableBorder ? borderWidth : 0,
            borderStartWidth: enableBorder ? borderWidth : 0,
            borderEndWidth: enableBorder ? borderWidth : 0,
            borderBottomWidth: enableBottomBorder ? borderWidth : 0,
            borderColor: borderColor
          }, radiusStyle, style],
          onLayout: function onLayout(event) {
            if (_onLayout) {
              _onLayout(event);
            }
          }
        }), children));
      }
    }]);
    return TileParent;
  }(_react.default.Component);

  exports.TileParent = TileParent;
  TileParent.propTypes = {
    index: _propTypes.default.number,
    bgColor: _propTypes.default.string,
    bgColorByIndex: _propTypes.default.bool,
    bgUrl: _propTypes.default.string,
    enableBorderEffect: _propTypes.default.bool.isRequired,
    hideBottomLine: _propTypes.default.bool,
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]),
    onLayout: _propTypes.default.func,
    children: _propTypes.default.any
  };
  TileParent.defaultProps = {
    bgColorByIndex: false,
    bgUrl: "",
    hideBottomLine: false
  };
},2041,[5,6,7,8,12,14,16,17,28,201,2042,2039,699,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    container: {
      flex: 1
    }
  });

  exports.default = _default;
},2042,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _RssIndexConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _tileGridImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TileGridImageNativo = function (_React$PureComponent) {
    (0, _inherits2.default)(TileGridImageNativo, _React$PureComponent);

    var _super = _createSuper(TileGridImageNativo);

    function TileGridImageNativo(props) {
      var _this;

      (0, _classCallCheck2.default)(this, TileGridImageNativo);
      _this = _super.call(this, props);
      var item = props.item;
      _this.isTablet = _$$_REQUIRE(_dependencyMap[12]).PlatformUtils.isTablet();
      _this.fontSize = _$$_REQUIRE(_dependencyMap[13]).FONT_SIZE.TEXT();
      _this.fontSizeTitle = item.isHighlightedBox ? _$$_REQUIRE(_dependencyMap[13]).FONT_SIZE.HIGHLIGHT() : _$$_REQUIRE(_dependencyMap[13]).FONT_SIZE.TITLE();
      return _this;
    }

    (0, _createClass2.default)(TileGridImageNativo, [{
      key: "titleNumberOfLines",
      value: function titleNumberOfLines() {
        var _global$getRssIndex = global.getRssIndex(),
            gridTitleMaxLines = _global$getRssIndex.gridTitleMaxLines;

        return gridTitleMaxLines;
      }
    }, {
      key: "_getContent",
      value: function _getContent() {
        var item = this.props.item;
        var style = [{
          fontSize: this.fontSizeTitle,
          color: "black",
          marginHorizontal: _$$_REQUIRE(_dependencyMap[14]).HORIZONTAL_MARGIN,
          paddingVertical: _$$_REQUIRE(_dependencyMap[14]).TITLE_VERTICAL_PADDING,
          textAlign: "left"
        }];

        if (!this.isTablet) {
          style.push(_tileGridImage.default.title_phone);
        }

        return _react.default.createElement(_reactNative.View, {
          style: {
            paddingHorizontal: 0
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).Css, {
          classes: ["tile-title", "grid-tile-title"]
        }, _react.default.createElement(_fontText.default, {
          nativeID: item.titleNativeID,
          type: _fontText.Type.medium,
          numberOfLines: this.titleNumberOfLines(),
          style: style
        }, item.title)));
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            roundedBorder = _this$props.roundedBorder,
            TopComponent = _this$props.TopComponent,
            BottomComponent = _this$props.BottomComponent,
            ImageComponent = _this$props.ImageComponent;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).TileParent, {
          bgColor: _$$_REQUIRE(_dependencyMap[12]).colors.white,
          enableBorderEffect: roundedBorder,
          style: {
            flexDirection: "column"
          }
        }, TopComponent, this._getContent(), ImageComponent, BottomComponent);
      }
    }]);
    return TileGridImageNativo;
  }(_react.default.PureComponent);

  exports.default = TileGridImageNativo;
  TileGridImageNativo.propTypes = {
    roundedBorder: _propTypes.default.bool,
    item: _propTypes.default.shape({
      category: _propTypes.default.string,
      date: _propTypes.default.string,
      title: _propTypes.default.string,
      image: _propTypes.default.string,
      sizes: _propTypes.default.object,
      position: _propTypes.default.number,
      hideCategory: _propTypes.default.bool,
      isHighlightedBox: _propTypes.default.bool,
      titleNativeID: _propTypes.default.string,
      summaryNativeID: _propTypes.default.string
    }),
    TopComponent: _propTypes.default.node,
    BottomComponent: _propTypes.default.node,
    ImageComponent: _propTypes.default.node
  };
  TileGridImageNativo.defaultProps = {
    roundedBorder: false,
    TopComponent: undefined,
    BottomComponent: undefined,
    ImageComponent: undefined
  };
},2043,[5,7,8,12,14,16,17,28,201,1879,2044,2047,462,2039,2033,699,2040]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.RssIndexConfig = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _navigationUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _IndexHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var RssIndexConfig = function () {
    function RssIndexConfig(pSetup) {
      (0, _classCallCheck2.default)(this, RssIndexConfig);
      this.storageName = _IndexHelper.default.SP.name + "_" + pSetup;
    }

    (0, _createClass2.default)(RssIndexConfig, [{
      key: "mustSkipRTLOnRssList",
      value: function mustSkipRTLOnRssList() {
        return _regenerator.default.async(function mustSkipRTLOnRssList$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.t0 = !_$$_REQUIRE(_dependencyMap[6]).PlatformUtils.isRTL();

                if (_context.t0) {
                  _context.next = 6;
                  break;
                }

                _context.next = 4;
                return _regenerator.default.awrap(this.getValue(_IndexHelper.default.SP.keys.skip_right_to_left_thumb_align_in_list));

              case 4:
                _context.t1 = _context.sent;
                _context.t0 = _context.t1 === "1";

              case 6:
                return _context.abrupt("return", _context.t0);

              case 7:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getHomeCategory",
      value: function getHomeCategory() {
        return _regenerator.default.async(function getHomeCategory$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", _navigationUtils.default.getInitialRouteNameForRss(this.drawerItemsFlat, this.homeCategoryName));

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "parseValue",
      value: function parseValue(key, value) {
        var _IndexHelper$SP$keys = _IndexHelper.default.SP.keys,
            tutorials = _IndexHelper$SP$keys.tutorials,
            drawer_content = _IndexHelper$SP$keys.drawer_content,
            rn_styles = _IndexHelper$SP$keys.rn_styles,
            ga_json = _IndexHelper$SP$keys.ga_json;
        var toParse = false;

        switch (key) {
          case ga_json:
            if (value) {
              value = value.replace(/&quot;/g, '"');
              toParse = true;
            }

            break;

          case tutorials:
          case drawer_content:
          case rn_styles:
            toParse = true;
            break;
        }

        if (toParse) {
          try {
            var rawValue = value || {};
            value = JSON.parse(rawValue);
          } catch (e) {
            value = {};
          }
        }

        return value;
      }
    }, {
      key: "init",
      value: function init() {
        var json,
            keys,
            isTablet,
            _IndexHelper$SP$value,
            open_paywall_account,
            open_publications,
            _NavigationUtils$getR,
            footerItems,
            drawerItemsFlat,
            numberOfLinesRaw,
            numberOfLines,
            listHeightMultiplier,
            hideDrawerIcon,
            adTargetingRaw,
            _args3 = arguments;

        return _regenerator.default.async(function init$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                json = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : {};
                this.json = json;
                keys = _IndexHelper.default.SP.keys;
                isTablet = _$$_REQUIRE(_dependencyMap[6]).PlatformUtils.isTablet();
                _context3.next = 6;
                return _regenerator.default.awrap(this.getValue(keys.font_regular));

              case 6:
                this.fontRegular = _context3.sent;
                _context3.next = 9;
                return _regenerator.default.awrap(this.getValue(keys.font_medium));

              case 9:
                this.fontMedium = _context3.sent;
                _context3.next = 12;
                return _regenerator.default.awrap(this.getValue(keys.font_bold));

              case 12:
                this.fontBold = _context3.sent;
                this.paywallEnabled = false;
                _context3.next = 16;
                return _regenerator.default.awrap(this.getValue(keys.app_template_style));

              case 16:
                this.style = _context3.sent;

                if (this.style) {
                  _context3.next = 19;
                  break;
                }

                return _context3.abrupt("return", false);

              case 19:
                _context3.prev = 19;
                _context3.next = 22;
                return _regenerator.default.awrap(this.getValue(keys.db_url));

              case 22:
                this.dbURL = _context3.sent;
                _context3.t0 = parseInt;
                _context3.next = 26;
                return _regenerator.default.awrap(this.getValue(keys.db_mtime));

              case 26:
                _context3.t1 = _context3.sent;

                if (_context3.t1) {
                  _context3.next = 29;
                  break;
                }

                _context3.t1 = 0;

              case 29:
                _context3.t2 = _context3.t1;
                this.dbMTime = (0, _context3.t0)(_context3.t2, 10);
                _context3.t3 = _IndexHelper.default;
                _context3.next = 34;
                return _regenerator.default.awrap(this.getValue(keys.tutorials));

              case 34:
                _context3.t4 = _context3.sent;
                this.tutorials = _context3.t3.getTutorials.call(_context3.t3, _context3.t4);
                _context3.next = 38;
                return _regenerator.default.awrap(this.getValue(keys.paywallAppId));

              case 38:
                this.paywallAppId = _context3.sent;
                _context3.next = 41;
                return _regenerator.default.awrap(this.getValue(keys.paywallEnabled));

              case 41:
                _context3.t5 = _context3.sent;
                this.paywallEnabled = _context3.t5 === "1";
                _context3.next = 45;
                return _regenerator.default.awrap(this.getValue(keys.must_login_to_view_article));

              case 45:
                _context3.t6 = _context3.sent;
                this.mustLoginToViewArticle = _context3.t6 === "1";

                if (!this.mustLoginToViewArticle) {
                  _context3.next = 63;
                  break;
                }

                _context3.next = 50;
                return _regenerator.default.awrap(this.getValue(keys.attach_paywall_to_article));

              case 50:
                _context3.t7 = _context3.sent;

                if (_context3.t7) {
                  _context3.next = 53;
                  break;
                }

                _context3.t7 = "0";

              case 53:
                _context3.t8 = _context3.t7;
                this.attachPaywallToArticle = _context3.t8 === "1";
                _context3.next = 57;
                return _regenerator.default.awrap(this.getValue(keys.article_preview_length));

              case 57:
                _context3.t9 = _context3.sent;

                if (_context3.t9) {
                  _context3.next = 60;
                  break;
                }

                _context3.t9 = "0";

              case 60:
                this.articlePreviewLength = _context3.t9;
                _context3.next = 65;
                break;

              case 63:
                this.attachPaywallToArticle = false;
                this.articlePreviewLength = "0";

              case 65:
                _IndexHelper$SP$value = _IndexHelper.default.SP.values.drawer.actions, open_paywall_account = _IndexHelper$SP$value.open_paywall_account, open_publications = _IndexHelper$SP$value.open_publications;
                _context3.t10 = _regenerator.default;
                _context3.t11 = _navigationUtils.default;
                _context3.next = 70;
                return _regenerator.default.awrap(this.getValue(keys.drawer_content));

              case 70:
                _context3.t12 = _context3.sent;
                _context3.t13 = _context3.t11.getDrawerItemsForRss.call(_context3.t11, _context3.t12);
                _context3.next = 74;
                return _context3.t10.awrap.call(_context3.t10, _context3.t13);

              case 74:
                this.drawerItems = _context3.sent;
                this.drawerItemsFlat = _navigationUtils.default.getFlatDrawerItems(this.drawerItems);

                if (!this.paywallEnabled && !this.mustLoginToViewArticle) {
                  this.drawerItemsFlat = this.drawerItemsFlat.filter(function (_ref) {
                    var action = _ref.action;
                    return action !== open_paywall_account;
                  });
                }

                if (_$$_REQUIRE(_dependencyMap[7]).PaperSetupManager.isGenericAppConfigured() && this.drawerItemsFlat.find(function (_ref2) {
                  var action = _ref2.action;
                  return action === open_publications;
                }) === undefined) {
                  this.drawerItemsFlat.push((0, _$$_REQUIRE(_dependencyMap[8]).getPublicationsButton)(this.drawerItemsFlat.length));
                }

                this.actionBarItems = _navigationUtils.default.getRssActionBarItems(this.drawerItemsFlat);
                _context3.next = 81;
                return _regenerator.default.awrap(this.getValue(keys.rss_footer_enabled));

              case 81:
                _context3.t14 = _context3.sent;
                this.footerEnabled = _context3.t14 === "1";

                if (this.footerEnabled) {
                  _NavigationUtils$getR = _navigationUtils.default.getRssFooterButton(this.drawerItemsFlat), footerItems = _NavigationUtils$getR.footerItems, drawerItemsFlat = _NavigationUtils$getR.drawerItemsFlat;
                  this.footerItems = footerItems;
                  this.drawerItemsFlat = drawerItemsFlat;
                }

                _context3.next = 86;
                return _regenerator.default.awrap(this.getValue(isTablet ? keys.grid_title_line_limit_tablet : keys.grid_title_line_limit_phone));

              case 86:
                numberOfLinesRaw = _context3.sent;
                numberOfLines = isTablet ? 3 : 2;

                try {
                  if (numberOfLinesRaw) {
                    numberOfLines = Number.parseInt(numberOfLinesRaw, 10);
                  }
                } catch (error) {}

                this.gridTitleMaxLines = numberOfLines;
                _context3.next = 92;
                return _regenerator.default.awrap(this.getValue(keys.home_category_name));

              case 92:
                this.homeCategoryName = _context3.sent;
                _context3.next = 95;
                return _regenerator.default.awrap(this.getValue(keys.enable_share_button_on_push_notification_urls));

              case 95:
                _context3.t15 = _context3.sent;
                this.shareButtonOnPushNotificationURLs = _context3.t15 === "1";
                _context3.next = 99;
                return _regenerator.default.awrap(this.getValue(keys.summary_in_article_body));

              case 99:
                _context3.t16 = _context3.sent;
                this.summaryInArticleBody = _context3.t16 === "1";
                _context3.next = 103;
                return _regenerator.default.awrap(this.getValue(keys.has_columnizer));

              case 103:
                _context3.t17 = _context3.sent;
                this.hasColumnizer = _context3.t17 === "1";
                _context3.next = 107;
                return _regenerator.default.awrap(this.getValue(keys.email_subject));

              case 107:
                this.customSubject = _context3.sent;
                _context3.next = 110;
                return _regenerator.default.awrap(this.getValue(keys.latitude));

              case 110:
                this.latitude = _context3.sent;
                _context3.next = 113;
                return _regenerator.default.awrap(this.getValue(keys.longitude));

              case 113:
                this.longitude = _context3.sent;
                _context3.next = 116;
                return _regenerator.default.awrap(this.mustSkipRTLOnRssList());

              case 116:
                this.putImageOnListRightSide = _context3.sent;
                _context3.next = 119;
                return _regenerator.default.awrap(this.getValue(isTablet ? keys.list_height_multiplier_tablet : keys.list_height_multiplier_phone));

              case 119:
                listHeightMultiplier = _context3.sent;
                this.listHeightMultipliers = parseFloat(listHeightMultiplier) || 1;
                _context3.t19 = parseInt;
                _context3.next = 124;
                return _regenerator.default.awrap(this.getValue(keys.app_auto_refresh_minutes));

              case 124:
                _context3.t20 = _context3.sent;
                _context3.t18 = (0, _context3.t19)(_context3.t20, 10);

                if (_context3.t18) {
                  _context3.next = 128;
                  break;
                }

                _context3.t18 = 0;

              case 128:
                this.appAutoRefreshMinutes = _context3.t18;
                _context3.next = 131;
                return _regenerator.default.awrap(this.getValue(keys.hide_drawer_button));

              case 131:
                _context3.t21 = _context3.sent;

                if (_context3.t21) {
                  _context3.next = 134;
                  break;
                }

                _context3.t21 = "0";

              case 134:
                _context3.t22 = _context3.t21;
                hideDrawerIcon = _context3.t22 === "1";
                this.showDrawerButton = !hideDrawerIcon;
                _context3.next = 139;
                return _regenerator.default.awrap(this.getValue(keys.show_home_button));

              case 139:
                _context3.t23 = _context3.sent;
                this.showHomeButton = _context3.t23 === "1";
                _context3.next = 143;
                return _regenerator.default.awrap(this.getValue(keys.logo));

              case 143:
                this.headerLogoURL = _context3.sent;
                _context3.next = 146;
                return _regenerator.default.awrap(this.getValue(keys.has_top_panel));

              case 146:
                _context3.t24 = _context3.sent;
                this.hasTopPanel = _context3.t24 === "1";
                _context3.t25 = _$$_REQUIRE(_dependencyMap[6]).PlatformUtils.isPreviousMarshmallow();

                if (_context3.t25) {
                  _context3.next = 154;
                  break;
                }

                _context3.next = 152;
                return _regenerator.default.awrap(this.getValue(keys.squared_image));

              case 152:
                _context3.t26 = _context3.sent;
                _context3.t25 = _context3.t26 === "1";

              case 154:
                this.hasSquaredImage = _context3.t25;
                _context3.next = 157;
                return _regenerator.default.awrap(this.getValue(keys.border_color));

              case 157:
                _context3.t27 = _context3.sent;

                if (_context3.t27) {
                  _context3.next = 160;
                  break;
                }

                _context3.t27 = _$$_REQUIRE(_dependencyMap[6]).colors.grey1200;

              case 160:
                this.borderColor = _context3.t27;
                _context3.t28 = Number;
                _context3.next = 164;
                return _regenerator.default.awrap(this.getValue(keys.border_width));

              case 164:
                _context3.t29 = _context3.sent;

                if (_context3.t29) {
                  _context3.next = 167;
                  break;
                }

                _context3.t29 = "0.5";

              case 167:
                _context3.t30 = _context3.t29;
                this.borderWidth = _context3.t28.parseFloat.call(_context3.t28, _context3.t30);
                _context3.next = 171;
                return _regenerator.default.awrap(this.getValue(keys.border_shadow));

              case 171:
                _context3.t31 = _context3.sent;

                if (_context3.t31) {
                  _context3.next = 174;
                  break;
                }

                _context3.t31 = "1";

              case 174:
                _context3.t32 = _context3.t31;
                this.borderShadow = _context3.t32 === "1";

                if (!_$$_REQUIRE(_dependencyMap[6]).PlatformUtils.isPreviousMarshmallow()) {
                  _context3.next = 180;
                  break;
                }

                _context3.t33 = 0;
                _context3.next = 188;
                break;

              case 180:
                _context3.t34 = Number;
                _context3.next = 183;
                return _regenerator.default.awrap(this.getValue(keys.border_radius));

              case 183:
                _context3.t35 = _context3.sent;

                if (_context3.t35) {
                  _context3.next = 186;
                  break;
                }

                _context3.t35 = 0;

              case 186:
                _context3.t36 = _context3.t35;
                _context3.t33 = _context3.t34.parseInt.call(_context3.t34, _context3.t36, 10);

              case 188:
                this.borderRadius = _context3.t33;
                _context3.next = 191;
                return _regenerator.default.awrap(this.getValue(keys.use_phone_article_style_on_tablet));

              case 191:
                _context3.t37 = _context3.sent;

                if (_context3.t37) {
                  _context3.next = 194;
                  break;
                }

                _context3.t37 = "0";

              case 194:
                _context3.t38 = _context3.t37;
                this.usePhoneArticleStyleOnTablet = _context3.t38 === "1";
                _context3.next = 198;
                return _regenerator.default.awrap(this.getValue(keys.action_bar_background_color));

              case 198:
                _context3.t39 = _context3.sent;

                if (_context3.t39) {
                  _context3.next = 201;
                  break;
                }

                _context3.t39 = _$$_REQUIRE(_dependencyMap[6]).colors.white;

              case 201:
                this.actionBarBackgroundColor = _context3.t39;
                _context3.next = 204;
                return _regenerator.default.awrap(this.getValue(keys.support_color));

              case 204:
                _context3.t40 = _context3.sent;

                if (_context3.t40) {
                  _context3.next = 207;
                  break;
                }

                _context3.t40 = _$$_REQUIRE(_dependencyMap[6]).colors.black;

              case 207:
                this.supportColor = _context3.t40;
                _context3.next = 210;
                return _regenerator.default.awrap(this.getValue(keys.article_top_color));

              case 210:
                _context3.t41 = _context3.sent;

                if (_context3.t41) {
                  _context3.next = 213;
                  break;
                }

                _context3.t41 = this.supportColor;

              case 213:
                this.articleTopColor = _context3.t41;
                _context3.next = 216;
                return _regenerator.default.awrap(this.getValue(keys.article_bg_color));

              case 216:
                _context3.t42 = _context3.sent;

                if (_context3.t42) {
                  _context3.next = 219;
                  break;
                }

                _context3.t42 = _$$_REQUIRE(_dependencyMap[6]).colors.white;

              case 219:
                this.articleBgColor = _context3.t42;
                this.buttonBackgroundColor = this.is1_0() ? _$$_REQUIRE(_dependencyMap[6]).colors.transparent : _$$_REQUIRE(_dependencyMap[6]).colors.grey;
                _context3.next = 223;
                return _regenerator.default.awrap(this.getValue(keys.menu_background_color));

              case 223:
                _context3.t43 = _context3.sent;

                if (_context3.t43) {
                  _context3.next = 226;
                  break;
                }

                _context3.t43 = _$$_REQUIRE(_dependencyMap[6]).colors.white;

              case 226:
                this.menuBackgroundColor = _context3.t43;
                _context3.next = 229;
                return _regenerator.default.awrap(this.getValue(keys.floating_button_color));

              case 229:
                _context3.t44 = _context3.sent;

                if (_context3.t44) {
                  _context3.next = 232;
                  break;
                }

                _context3.t44 = _$$_REQUIRE(_dependencyMap[6]).colors.black;

              case 232:
                this.floatingButtonColor = _context3.t44;
                _context3.next = 235;
                return _regenerator.default.awrap(this.getValue(keys.ads.cache));

              case 235:
                _context3.t45 = _context3.sent;
                this.cacheAds = _context3.t45 === "1";
                _context3.next = 239;
                return _regenerator.default.awrap(this.getValue(keys.ads.provider));

              case 239:
                this.adProvider = _context3.sent;
                _context3.next = 242;
                return _regenerator.default.awrap(this.getValue(keys.ads.prebid_account_id));

              case 242:
                this.adPrebidAccountId = _context3.sent;
                _context3.next = 245;
                return _regenerator.default.awrap(this.getValue(keys.ads.prebid_server_host));

              case 245:
                this.adPrebidServerHost = _context3.sent;
                _context3.next = 248;
                return _regenerator.default.awrap(this.getValue(keys.ads.prebid_configuration_id));

              case 248:
                this.adPrebidConfigurationId = _context3.sent;
                _context3.next = 251;
                return _regenerator.default.awrap(this.getValue(keys.ads.prebid_share_geolocation));

              case 251:
                _context3.t46 = _context3.sent;
                this.adPrebidShareGeolocation = _context3.t46 === "1";
                _context3.next = 255;
                return _regenerator.default.awrap(this.getValue(keys.ads.unit_id));

              case 255:
                this.adUnitId = _context3.sent;
                this.adTargeting = {};
                _context3.next = 259;
                return _regenerator.default.awrap(this.getValue(keys.ads.targeting));

              case 259:
                adTargetingRaw = _context3.sent;

                if (adTargetingRaw) {
                  try {
                    this.adTargeting = JSON.parse(adTargetingRaw);
                  } catch (error) {}
                }

                _context3.next = 263;
                return _regenerator.default.awrap(this.getValue(keys.ads.top));

              case 263:
                this.topAd = _context3.sent;
                _context3.next = 266;
                return _regenerator.default.awrap(this.getValue(keys.ads.bottom));

              case 266:
                this.bottomAd = _context3.sent;
                _context3.next = 269;
                return _regenerator.default.awrap(this.getValue(keys.ads.default_fallback));

              case 269:
                this.adDefaultFallback = _context3.sent;
                _context3.next = 272;
                return _regenerator.default.awrap(this.getValue(keys.ads.background_color));

              case 272:
                this.adsBackgroundColor = _context3.sent;
                _context3.next = 275;
                return _regenerator.default.awrap(this.getValue(keys.show_gallery_title));

              case 275:
                _context3.t47 = _context3.sent;
                this.showGalleryTitle = _context3.t47 === "1";
                _context3.next = 279;
                return _regenerator.default.awrap(this.getValue(keys.ga_json));

              case 279:
                this.googleAnalytics = _context3.sent;
                _context3.next = 282;
                return _regenerator.default.awrap(this.getValue(keys.rn_available_layouts));

              case 282:
                this.availableLayouts = _context3.sent;
                _context3.next = 285;
                return _regenerator.default.awrap(this.getHomeCategory());

              case 285:
                this.homeCategory = _context3.sent;
                _context3.next = 288;
                return _regenerator.default.awrap(this.getValue(keys.archive_search_url));

              case 288:
                this.archiveSearchURL = _context3.sent;
                _context3.next = 291;
                return _regenerator.default.awrap(this.getValue(keys.favorites_icon));

              case 291:
                this.favoritesIconFromBBE = _context3.sent;
                _context3.next = 297;
                break;

              case 294:
                _context3.prev = 294;
                _context3.t48 = _context3["catch"](19);
                return _context3.abrupt("return", false);

              case 297:
                return _context3.abrupt("return", true);

              case 298:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, [[19, 294]], Promise);
      }
    }, {
      key: "getValue",
      value: function getValue(key) {
        var value;
        return _regenerator.default.async(function getValue$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!_$$_REQUIRE(_dependencyMap[6]).JSUtils.hasProperty(this.json, key)) {
                  _context4.next = 7;
                  break;
                }

                value = this.json[key];

                if (!(value === null || value === undefined)) {
                  _context4.next = 6;
                  break;
                }

                _context4.next = 5;
                return _regenerator.default.awrap(_IndexHelper.default.getItem(this.storageName, key));

              case 5:
                value = _context4.sent;

              case 6:
                return _context4.abrupt("return", this.parseValue(key, value));

              case 7:
                return _context4.abrupt("return", "");

              case 8:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "setDbMTime",
      value: function setDbMTime(value) {
        this.dbMTime = value;

        _IndexHelper.default.setItem(this.storageName, _IndexHelper.default.SP.keys.db_mtime, "" + value);
      }
    }, {
      key: "getFullDbURL",
      value: function getFullDbURL() {
        if (this.dbMTime) {
          var mtime = parseInt(this.dbMTime, 10);

          if (!Number.isNaN(mtime)) {
            mtime = (mtime & -2).toString(16);
            return _$$_REQUIRE(_dependencyMap[6]).StringUtils.appendParams(this.dbURL, {
              mtime: mtime
            });
          }
        }

        return this.dbURL;
      }
    }, {
      key: "drawerContainsVerticals",
      value: function drawerContainsVerticals() {
        var _IndexHelper$SP$value2 = _IndexHelper.default.SP.values.drawer.params,
            open_le_vedette = _IndexHelper$SP$value2.open_le_vedette,
            open_real_estate = _IndexHelper$SP$value2.open_real_estate,
            open_auto_search = _IndexHelper$SP$value2.open_auto_search,
            open_monster = _IndexHelper$SP$value2.open_monster,
            open_events = _IndexHelper$SP$value2.open_events;
        var actionsVertical = [open_le_vedette, open_real_estate, open_auto_search, open_monster, open_events];
        var drawerItemsFlat = this.drawerItemsFlat,
            footerItems = this.footerItems;
        var found = false;

        if (drawerItemsFlat) {
          found = drawerItemsFlat.find(function (item) {
            return actionsVertical.includes(item.params);
          }) !== undefined;
        }

        if (!found && footerItems) {
          found = footerItems.find(function (item) {
            return actionsVertical.includes(item.params);
          }) !== undefined;
        }

        return found;
      }
    }, {
      key: "is1_0",
      value: function is1_0() {
        return this.style && this.style === "1.0";
      }
    }, {
      key: "is1_1_LVRJ",
      value: function is1_1_LVRJ() {
        return this.style && this.style === "1.1_lvrj";
      }
    }, {
      key: "is1_1",
      value: function is1_1() {
        return this.style && this.style === "1.1";
      }
    }, {
      key: "is2_0",
      value: function is2_0() {
        return this.style && this.style === "2.0";
      }
    }, {
      key: "is2_1",
      value: function is2_1() {
        return this.style && this.style === "2.1";
      }
    }, {
      key: "is2_2",
      value: function is2_2() {
        return this.style && this.style === "2.2";
      }
    }, {
      key: "is3_0",
      value: function is3_0() {
        return this.style && this.style === "3.0";
      }
    }, {
      key: "needToShowLayoutButton",
      value: function needToShowLayoutButton() {
        if (!_$$_REQUIRE(_dependencyMap[6]).JSUtils.isEmpty(this.availableLayouts)) {
          var splitted = this.availableLayouts.split(",");
          return splitted.length > 1;
        }

        return false;
      }
    }]);
    return RssIndexConfig;
  }();

  exports.RssIndexConfig = RssIndexConfig;
},2044,[5,80,7,8,2045,1963,462,1849,2046]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _IndexHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var NavigationUtils = function () {
    function NavigationUtils() {
      (0, _classCallCheck2.default)(this, NavigationUtils);
    }

    (0, _createClass2.default)(NavigationUtils, null, [{
      key: "hasItems",
      value: function hasItems(item) {
        return item && item.items && item.items.length;
      }
    }, {
      key: "getDrawerItem",
      value: function getDrawerItem(items, key) {
        return items.find(function (item, index) {
          return item.drawerItemKey === key || item.drawerItemKey + "_" + index === key;
        });
      }
    }, {
      key: "isItemEnabled",
      value: function isItemEnabled(item) {
        if ((item.visibleOnAndroid === undefined || item.visibleOnAndroid === "1") && _$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isAndroid()) {
          return true;
        }

        if ((item.visibleOnIOS === undefined || item.visibleOnIOS === "1") && _$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isIOS()) {
          return true;
        }

        return false;
      }
    }, {
      key: "getFlatDrawerItems",
      value: function getFlatDrawerItems(items) {
        var result = [];
        items.forEach(function (item) {
          if (NavigationUtils.isItemEnabled(item)) {
            result.push(item);
          }

          if (NavigationUtils.hasItems(item)) {
            result.push.apply(result, (0, _toConsumableArray2.default)(NavigationUtils.getFlatDrawerItems(item.items)));
          }
        });
        return result;
      }
    }, {
      key: "getDrawerItemsForRss",
      value: function getDrawerItemsForRss(content) {
        var items;
        return _regenerator.default.async(function getDrawerItemsForRss$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                items = [];

                if (!content) {
                  _context.next = 10;
                  break;
                }

                _context.prev = 2;
                _context.next = 5;
                return _regenerator.default.awrap(NavigationUtils.parseDrawerContent(content));

              case 5:
                items = _context.sent;
                _context.next = 10;
                break;

              case 8:
                _context.prev = 8;
                _context.t0 = _context["catch"](2);

              case 10:
                return _context.abrupt("return", items);

              case 11:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[2, 8]], Promise);
      }
    }, {
      key: "getCollapsedStateKeyForDrawerItem",
      value: function getCollapsedStateKeyForDrawerItem(item) {
        return "drawer_item_" + item.drawerItemKey.replace(" ", "_").toLowerCase() + "_collapsed";
      }
    }, {
      key: "getRssFooterButton",
      value: function getRssFooterButton(drawerItemsFlat) {
        var footerItems = [];
        drawerItemsFlat = drawerItemsFlat.filter(function (item) {
          if (!item.position || item.position == "0") {
            return true;
          }

          footerItems.push(item);
          return item.position !== "1";
        });
        return {
          footerItems: footerItems,
          drawerItemsFlat: drawerItemsFlat
        };
      }
    }, {
      key: "getRssActionBarItems",
      value: function getRssActionBarItems(drawerItemsFlat) {
        return drawerItemsFlat.filter(function (item) {
          return item.showInActionBar === "1";
        });
      }
    }, {
      key: "isHiddenCategory",
      value: function isHiddenCategory(drawerItemKey) {
        return drawerItemKey && drawerItemKey.substring(0, 1) === _$$_REQUIRE(_dependencyMap[7]).StringUtils.TILDE;
      }
    }, {
      key: "parseDrawerContent",
      value: function parseDrawerContent(content) {
        var parent,
            parentRouteIndex,
            depth,
            navigationLevel,
            result,
            _loop,
            i,
            _args3 = arguments;

        return _regenerator.default.async(function parseDrawerContent$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                parent = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : "";
                parentRouteIndex = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : "";
                depth = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : 0;
                navigationLevel = _args3.length > 4 && _args3[4] !== undefined ? _args3[4] : 0;
                result = [];

                _loop = function _callee(i) {
                  var entry, object, _object, action, displayName, params, image, _global$getRSSActiveP, machine, routeIndex, restoredStateCollapsed, nextNavigationLevel;

                  return _regenerator.default.async(function _callee$(_context2) {
                    while (1) {
                      switch (_context2.prev = _context2.next) {
                        case 0:
                          entry = content[i];
                          object = {};
                          object.parent = parent;
                          object.depth = depth;
                          object.navigationLevel = navigationLevel;

                          if (Array.isArray(entry)) {
                            entry.forEach(function (setting) {
                              object[setting[0]] = setting[1];
                            });
                          } else {
                            object = (0, _extends2.default)({}, object, entry);
                          }

                          _object = object, action = _object.action, displayName = _object.displayName, params = _object.params, image = _object.image;
                          object.drawerItemKey = displayName;

                          if (action === _IndexHelper.default.SP.values.drawer.actions.show_articles) {
                            if (params) {
                              if (Array.isArray(params)) {
                                if (params.length > 0) {
                                  object.drawerItemKey = params[0];
                                }
                              } else {
                                object.drawerItemKey = params;
                              }
                            }
                          }

                          if (typeof image === "string" && image.startsWith("/")) {
                            _global$getRSSActiveP = global.getRSSActivePSetup(), machine = _global$getRSSActiveP.machine;
                            object.image = _$$_REQUIRE(_dependencyMap[7]).NetworkUtils.addDefaultProtocol(machine) + image;
                          }

                          routeIndex = "" + (parentRouteIndex || "0") + i;
                          object.routeKey = object.drawerItemKey + "_" + routeIndex;
                          object.neverShowInDrawer = NavigationUtils.isHiddenCategory(object.drawerItemKey);
                          object.displayName = _$$_REQUIRE(_dependencyMap[7]).StringUtils.removeTilde(object.displayName);

                          if (!NavigationUtils.hasChildren(object)) {
                            _context2.next = 39;
                            break;
                          }

                          _context2.prev = 15;
                          _context2.next = 18;
                          return _regenerator.default.awrap(global.getUserSettings().getValue(NavigationUtils.getCollapsedStateKeyForDrawerItem(object)));

                        case 18:
                          restoredStateCollapsed = _context2.sent;
                          _context2.next = 24;
                          break;

                        case 21:
                          _context2.prev = 21;
                          _context2.t0 = _context2["catch"](15);
                          restoredStateCollapsed = false;

                        case 24:
                          object.collapse = restoredStateCollapsed ? restoredStateCollapsed === "1" : "autocollapse" in object && object.autocollapse === 1;
                          _context2.prev = 25;
                          nextNavigationLevel = navigationLevel;

                          if (object.layout === "tab" && object.type === "section") {
                            nextNavigationLevel += 1;
                          }

                          _context2.next = 30;
                          return _regenerator.default.awrap(NavigationUtils.parseDrawerContent(object.elements, object.drawerItemKey, routeIndex, depth + 1, nextNavigationLevel));

                        case 30:
                          object.items = _context2.sent;
                          _context2.next = 36;
                          break;

                        case 33:
                          _context2.prev = 33;
                          _context2.t1 = _context2["catch"](25);
                          object.items = [];

                        case 36:
                          result.push(object);
                          _context2.next = 40;
                          break;

                        case 39:
                          result.push(object);

                        case 40:
                        case "end":
                          return _context2.stop();
                      }
                    }
                  }, null, null, [[15, 21], [25, 33]], Promise);
                };

                i = 0;

              case 7:
                if (!(i < content.length)) {
                  _context3.next = 13;
                  break;
                }

                _context3.next = 10;
                return _regenerator.default.awrap(_loop(i));

              case 10:
                i++;
                _context3.next = 7;
                break;

              case 13:
                return _context3.abrupt("return", result);

              case 14:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "hasChildren",
      value: function hasChildren(item) {
        return "elements" in item && item.elements !== "";
      }
    }, {
      key: "getInitialRouteNameForRss",
      value: function getInitialRouteNameForRss(items, homeCategoryName) {
        var found;
        return _regenerator.default.async(function getInitialRouteNameForRss$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!(items.length > 0)) {
                  _context4.next = 6;
                  break;
                }

                if (!homeCategoryName) {
                  _context4.next = 5;
                  break;
                }

                found = items.find(function (item) {
                  return item.drawerItemKey === homeCategoryName;
                });

                if (!found) {
                  _context4.next = 5;
                  break;
                }

                return _context4.abrupt("return", homeCategoryName);

              case 5:
                return _context4.abrupt("return", items.find(function (item) {
                  return item.type === "feed";
                }).drawerItemKey);

              case 6:
                return _context4.abrupt("return", "");

              case 7:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getAdsPatter",
      value: function getAdsPatter(_ref) {
        var adsPattern = _ref.adsPattern;
        var result = {
          max: 10,
          after: 4,
          offset: 3,
          first: 1
        };

        if (adsPattern && adsPattern.length === 4) {
          result.max = adsPattern[0];
          result.after = adsPattern[1] > 0 ? adsPattern[1] : result.after;

          if (adsPattern[2] > result.after / 2) {
            result.offset = result.after / 2;
          } else if (adsPattern[2] > 0) {
            result.offset = adsPattern[2];
          } else {
            result.offset = result.after;
          }

          result.first = adsPattern[3] > 0 ? adsPattern[3] : result.first;
        }

        return result;
      }
    }, {
      key: "getActiveRouteFromState",
      value: function getActiveRouteFromState() {
        var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var index = state.index,
            _state$routes = state.routes,
            routes = _state$routes === undefined ? [] : _state$routes;
        var route = routes[index];

        if (route) {
          return route.name;
        }

        return undefined;
      }
    }, {
      key: "getRoutesTo",
      value: function getRoutesTo(items, routeName) {
        for (var i = 0; i < items.length; i++) {
          var item = items[i];

          if (item) {
            if (item.drawerItemKey === routeName) {
              return {
                screen: item.routeKey,
                level: item.navigationLevel
              };
            }

            if (NavigationUtils.hasItems(item)) {
              var route = NavigationUtils.getRoutesTo(item.items, routeName);

              if (route && route.screen) {
                if (route.level === item.navigationLevel) {
                  return route;
                }

                return {
                  screen: item.routeKey,
                  params: route,
                  level: item.navigationLevel
                };
              }
            }
          }
        }

        return {};
      }
    }, {
      key: "getRoutesToHome",
      value: function getRoutesToHome() {
        var _global$getRssIndex = global.getRssIndex(),
            drawerItems = _global$getRssIndex.drawerItems,
            homeCategory = _global$getRssIndex.homeCategory;

        return NavigationUtils.getRoutesTo(drawerItems, homeCategory);
      }
    }, {
      key: "getScreenTo",
      value: function getScreenTo(items, routeName) {
        for (var i = 0; i < items.length; i++) {
          var item = items[i];

          if (item) {
            if (item.drawerItemKey === routeName) {
              return item.routeKey;
            }

            if (NavigationUtils.hasItems(item)) {
              return NavigationUtils.getScreenTo(item.items, routeName);
            }
          }
        }

        return "";
      }
    }, {
      key: "getScreenToHome",
      value: function getScreenToHome() {
        var _global$getRssIndex2 = global.getRssIndex(),
            drawerItems = _global$getRssIndex2.drawerItems,
            homeCategory = _global$getRssIndex2.homeCategory;

        return NavigationUtils.getScreenTo(drawerItems, homeCategory);
      }
    }, {
      key: "navigateToHome",
      value: function navigateToHome(navigation) {
        if (navigation) {
          var routes = NavigationUtils.getRoutesToHome();

          if (routes && routes.screen) {
            navigation.navigate(routes.screen, routes.params);
          }
        }
      }
    }]);
    return NavigationUtils;
  }();

  exports.default = NavigationUtils;
},2045,[5,80,6,21,7,8,1963,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.openMyHome = openMyHome;
  exports.getDrawerAction = getDrawerAction;
  exports.parseExtra = parseExtra;
  exports.getMyHomeLabel = getMyHomeLabel;
  exports.getEpaperLabel = getEpaperLabel;
  exports.getNameFromRoute = getNameFromRoute;
  exports.getDrawerItemFromStructureAndState = getDrawerItemFromStructureAndState;
  exports.getNavigationRoutes = getNavigationRoutes;
  exports.getNavigationScreenByName = getNavigationScreenByName;
  exports.getNavigationRouteKeyByName = getNavigationRouteKeyByName;
  exports.navigateToCategory = navigateToCategory;
  exports.getInitialRouteFromStructure = getInitialRouteFromStructure;
  exports.getDrawerStructure = getDrawerStructure;
  exports.getPublicationsButton = getPublicationsButton;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _IndexHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _navigationUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  function openFavorite(item) {
    return _IndexHelper.default.SP.values.drawer.actions.open_favorites === item.feedUrl || _IndexHelper.default.SP.values.drawer.actions.open_favorites === item.action || item.drawerItemKey === "Favorites" || item.category === "Favorites" || item.params === "Favorites";
  }

  function openMyHome(item) {
    return _IndexHelper.default.SP.values.drawer.actions.open_my_home === item.feedUrl;
  }

  function getDrawerAction(item) {
    var action = item.action;
    var shouldUseFullscreenLayout = item.shouldUseFullscreenLayout;

    if (shouldUseFullscreenLayout === "1") {
      action = _IndexHelper.default.SP.values.drawer.actions.open_full_screen;
    } else if (openFavorite(item)) {
      action = _IndexHelper.default.SP.values.drawer.actions.open_favorites;
    } else if (openMyHome(item)) {
      action = _IndexHelper.default.SP.values.drawer.actions.open_my_home;
    }

    return action;
  }

  function parseExtra(extra, key, defaultValue) {
    var _value;

    var value;

    if (extra) {
      if (Array.isArray(extra)) {
        var extraArray = extra.find(function (e) {
          return e[0] === key;
        });

        if (extraArray) {
          value = extraArray[1];
        }
      } else if (typeof extra === "object") {
        value = extra[key];
      }
    }

    return (_value = value) != null ? _value : defaultValue;
  }

  function getMyHomeLabel() {
    var _global$getRssIndex = global.getRssIndex(),
        drawerItemsFlat = _global$getRssIndex.drawerItemsFlat,
        footerItems = _global$getRssIndex.footerItems;

    var found = drawerItemsFlat.find(function (drawerItem) {
      return openMyHome(drawerItem);
    });

    if (!found && footerItems) {
      found = footerItems.find(function (drawerItem) {
        return openMyHome(drawerItem);
      });
    }

    if (found) {
      return found.displayName;
    }

    return "";
  }

  function getEpaperLabel() {
    var _global$getRssIndex2 = global.getRssIndex(),
        drawerItemsFlat = _global$getRssIndex2.drawerItemsFlat,
        footerItems = _global$getRssIndex2.footerItems;

    var open_epaper = _IndexHelper.default.SP.values.drawer.actions.open_epaper;
    var found = drawerItemsFlat.find(function (drawerItem) {
      return getDrawerAction(drawerItem) === open_epaper;
    });

    if (!found && footerItems) {
      found = footerItems.find(function (drawerItem) {
        return getDrawerAction(drawerItem) === open_epaper;
      });
    }

    if (found) {
      return found.displayName;
    }

    return "";
  }

  function getNameFromRoute(route) {
    return route.substr(0, route.lastIndexOf("_"));
  }

  function getDrawerItemFromStructureAndState(structure, state) {
    var routeName = _navigationUtils.default.getActiveRouteFromState(state);

    return _navigationUtils.default.getDrawerItem(structure.map(function (_ref) {
      var item = _ref.item;
      return item;
    }), getNameFromRoute(routeName));
  }

  function getNavigationRoutes() {
    var _global$getRssIndex3 = global.getRssIndex(),
        items = _global$getRssIndex3.drawerItemsFlat,
        footerItems = _global$getRssIndex3.footerItems;

    var routes = [];
    var footerRoutesToAdd = [];

    if (footerItems) {
      footerRoutesToAdd = footerItems.filter(function (footerItem) {
        return items.find(function (item) {
          return item.drawerItemKey === footerItem.drawerItemKey;
        }) === undefined;
      });
    }

    if (items) {
      items.forEach(function (item, index) {
        routes.push({
          item: item,
          route: item.routeKey,
          inDrawer: true
        });
      });
      routes.push({
        item: {
          displayName: global.strings("str_search"),
          drawerItemKey: global.strings("str_search"),
          action: _IndexHelper.default.SP.values.drawer.actions.open_search
        },
        route: "search",
        inDrawer: false
      });
      footerRoutesToAdd.forEach(function (item, index) {
        routes.push({
          item: item,
          route: item.routeKey,
          inDrawer: false
        });
      });
    }

    return routes;
  }

  function getNavigationScreenByName(name) {
    var screens = getNavigationRoutes();
    var screen = screens.find(function (_ref2) {
      var route = _ref2.route;
      return route.startsWith(name + "_");
    });
    return screen;
  }

  function getNavigationRouteKeyByName(name) {
    var screen = getNavigationScreenByName(name);

    if (screen) {
      return screen.route;
    }

    return name;
  }

  function navigateToCategory(navigation, category) {
    var route = category;
    var categoryScreen = getNavigationScreenByName(category);

    if (categoryScreen) {
      route = categoryScreen.route;

      if (categoryScreen.item && categoryScreen.item.parent) {
        var parentScreen = getNavigationScreenByName(categoryScreen.item.parent);

        if (parentScreen && parentScreen.item && parentScreen.item.type === "section" && parentScreen.item.layout === "tab") {
          navigation.navigate(parentScreen.route, {
            screen: route
          });
          return;
        }
      }
    }

    navigation.navigate(route);
  }

  function getInitialRouteFromStructure(structure) {
    try {
      return structure.find(function (_ref3) {
        var isInitialRoute = _ref3.isInitialRoute;
        return isInitialRoute;
      }).route;
    } catch (e) {
      return "";
    }
  }

  function getDrawerStructure(routes, initialRoute) {
    var structure = [];
    var currentSection;
    routes.forEach(function (route) {
      var isSection = route.item.type === "section";
      var isFeed = route.item.type === "feed";
      var isInitialRoute = route.route === initialRoute;
      route.isInitialRoute = isInitialRoute;

      if (isSection) {
        if (route.item.layout === "tab") {
          route.tabs = [];
          currentSection = route;
        }

        structure.push(route);
      } else if (isFeed && currentSection && currentSection.tabs && !route.item.neverShowInDrawer && route.item.parent === currentSection.item.drawerItemKey) {
        currentSection.tabs.push(route);

        if (isInitialRoute) {
          currentSection.isInitialRoute = true;
        }
      } else {
        structure.push(route);
      }
    });
    return structure;
  }

  function getPublicationsButton(index) {
    return {
      action: _IndexHelper.default.SP.values.drawer.actions.open_publications,
      depth: 0,
      displayName: global.strings("btn_publications"),
      drawerItemKey: global.strings("btn_publications"),
      routeKey: global.strings("btn_publications") + "_" + index,
      extra: [],
      image: _$$_REQUIRE(_dependencyMap[4]),
      neverShowInDrawer: false,
      parent: "",
      textAlign: "left",
      type: "button",
      visibleOnAndroid: "1",
      visibleOnIOS: "1",
      cssKey: "publications"
    };
  }
},2046,[5,17,1963,2045,1730]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    image_full: {
      position: "absolute",
      top: 0,
      start: 0,
      end: 0,
      bottom: 0,
      margin: 0
    },
    container_full: {
      flex: 1,
      flexDirection: "column",
      justifyContent: "space-between",
      paddingBottom: _$$_REQUIRE(_dependencyMap[1]).CONTAINER_VERTICAL_PADDING
    },
    title_full: {
      color: "white",
      marginHorizontal: _$$_REQUIRE(_dependencyMap[1]).HORIZONTAL_MARGIN,
      textAlign: "left",
      textShadowColor: _$$_REQUIRE(_dependencyMap[2]).colors.black,
      textShadowOffset: {
        width: 1,
        height: 1
      },
      textShadowRadius: 5
    },
    title_phone: {
      marginEnd: _$$_REQUIRE(_dependencyMap[1]).HORIZONTAL_MARGIN
    },
    details: {
      color: _$$_REQUIRE(_dependencyMap[2]).colors.white,
      textShadowColor: _$$_REQUIRE(_dependencyMap[2]).colors.black,
      textShadowOffset: {
        width: 1,
        height: 1
      },
      textShadowRadius: 2
    },
    gradient: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[2]).colors.transparent,
      position: "absolute",
      top: 0,
      start: 0,
      end: 0,
      bottom: 0
    }
  });

  exports.default = _default;
},2047,[28,2033,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.NATIVO_CARD_HEIGHT = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var _card = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  var _blurImageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NATIVO_CARD_HEIGHT = 550;
  exports.NATIVO_CARD_HEIGHT = NATIVO_CARD_HEIGHT;

  var CardNativo = function (_React$PureComponent) {
    (0, _inherits2.default)(CardNativo, _React$PureComponent);

    var _super = _createSuper(CardNativo);

    function CardNativo(props) {
      var _this;

      (0, _classCallCheck2.default)(this, CardNativo);
      _this = _super.call(this, props);
      _this.fontSize = _$$_REQUIRE(_dependencyMap[13]).FONT_SIZE.TEXT();
      _this.fontSizeTitle = _$$_REQUIRE(_dependencyMap[13]).FONT_SIZE.TITLE();
      return _this;
    }

    (0, _createClass2.default)(CardNativo, [{
      key: "_getTopComponent",
      value: function _getTopComponent() {
        var TopComponent = this.props.TopComponent;

        if (TopComponent) {
          return TopComponent;
        }

        return null;
      }
    }, {
      key: "_getBottomComponent",
      value: function _getBottomComponent() {
        var BottomComponent = this.props.BottomComponent;

        if (BottomComponent) {
          return BottomComponent;
        }

        return null;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            item = _this$props.item,
            ImageComponent = _this$props.ImageComponent;
        var title = item.title,
            summary = item.summary;
        var image;

        if (ImageComponent) {
          image = ImageComponent;
        } else {
          image = _react.default.createElement(_blurImageComponent.default, {
            image: item.image,
            style: _card.default.image,
            height: _card.IMAGE_HEIGHT
          });
        }

        var titleProps = {};

        if (title && title.nativeID) {
          titleProps.nativeID = title.nativeID;
        }

        var summaryProps = {};

        if (summary && summary.nativeID) {
          summaryProps.nativeID = summary.nativeID;
        }

        return _react.default.createElement(_reactNative.View, {
          style: {
            height: NATIVO_CARD_HEIGHT,
            flexDirection: "column"
          }
        }, this._getTopComponent(), _react.default.createElement(_reactNative.View, {
          style: {
            flex: 0,
            width: "100%",
            height: 300
          }
        }, image), _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
          classes: ["card-title"]
        }, _react.default.createElement(_fontText.default, (0, _extends2.default)({
          style: [_card.default.title, {
            fontSize: this.fontSizeTitle
          }],
          type: _fontText.Type.medium
        }, titleProps), item.title)), _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
          classes: ["card-summary"]
        }, _react.default.createElement(_fontText.default, (0, _extends2.default)({
          style: [_card.default.summary, {
            fontSize: this.fontSize
          }]
        }, summaryProps), item.summary))), this._getBottomComponent());
      }
    }]);
    return CardNativo;
  }(_react.default.PureComponent);

  exports.default = CardNativo;
  CardNativo.propTypes = {
    item: _propTypes.default.shape({
      title: _propTypes.default.string,
      image: _propTypes.default.string,
      thumbnail: _propTypes.default.string,
      summary: _propTypes.default.string
    }),
    TopComponent: _propTypes.default.node,
    BottomComponent: _propTypes.default.node,
    ImageComponent: _propTypes.default.node
  };
  CardNativo.defaultProps = {
    TopComponent: undefined,
    BottomComponent: undefined,
    ImageComponent: undefined
  };
},2048,[5,6,7,8,12,14,16,17,28,201,1879,2049,2050,2039,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.IMAGE_HEIGHT = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var IMAGE_HEIGHT = 300;
  exports.IMAGE_HEIGHT = IMAGE_HEIGHT;

  var _default = _reactNative.StyleSheet.create({
    outline: {
      flexDirection: "column"
    },
    image: {
      height: IMAGE_HEIGHT,
      width: null,
      flex: 1
    },
    gradient: {
      height: IMAGE_HEIGHT,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.transparent,
      position: "absolute",
      top: 0,
      start: 0,
      end: 0,
      bottom: 0
    },
    title: {
      start: 0,
      margin: _$$_REQUIRE(_dependencyMap[2]).HORIZONTAL_MARGIN,
      color: _$$_REQUIRE(_dependencyMap[1]).colors.title
    },
    titleOverImage: {
      margin: _$$_REQUIRE(_dependencyMap[2]).HORIZONTAL_MARGIN,
      color: _$$_REQUIRE(_dependencyMap[1]).colors.white,
      position: "absolute",
      bottom: 0,
      start: 0,
      end: 0,
      textShadowColor: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      textShadowOffset: {
        width: 1,
        height: 1
      },
      textShadowRadius: 5
    },
    summary: {
      start: 0,
      fontSize: 20,
      margin: _$$_REQUIRE(_dependencyMap[2]).SUMMARY_VERTICAL_MARGIN,
      color: _$$_REQUIRE(_dependencyMap[1]).colors.summary
    },
    icon: {
      height: 30,
      width: 30,
      marginStart: 5,
      marginEnd: 5
    }
  });

  exports.default = _default;
},2049,[28,462,2033]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _imageComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var BlurImage = function (_React$Component) {
    (0, _inherits2.default)(BlurImage, _React$Component);

    var _super = _createSuper(BlurImage);

    function BlurImage(props) {
      var _this;

      (0, _classCallCheck2.default)(this, BlurImage);
      _this = _super.call(this, props);
      _this.onLayout = _this._onLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        loading: true,
        enableBlur: false
      };
      return _this;
    }

    (0, _createClass2.default)(BlurImage, [{
      key: "_getBackgroundImage",
      value: function _getBackgroundImage(uri) {
        var _this2 = this;

        var _this$props = this.props,
            height = _this$props.height,
            blurRadius = _this$props.blurRadius,
            style = _this$props.style,
            filter = _this$props.filter;
        var enableBlur = this.state.enableBlur;
        var imageStyle = [{
          height: height,
          width: null,
          flex: 1
        }, style];
        return _react.default.createElement(_imageComponent.default, {
          style: imageStyle,
          source: {
            uri: uri
          },
          resizeMode: "cover",
          onLoadEnd: function onLoadEnd() {
            var onRendered = _this2.props.onRendered;

            if (onRendered) {
              onRendered();
            }
          },
          blurRadius: enableBlur ? blurRadius : 0,
          filter: filter,
          grayscaleStyle: filter ? imageStyle : {}
        });
      }
    }, {
      key: "_getForegroundImage",
      value: function _getForegroundImage(uri) {
        var _this$props2 = this.props,
            height = _this$props2.height,
            style = _this$props2.style,
            onImageError = _this$props2.onImageError,
            filter = _this$props2.filter;
        var enableBlur = this.state.enableBlur;
        var imageStyle = [{
          height: height,
          width: null,
          position: "absolute",
          top: 0,
          start: 0,
          end: 0
        }, style];
        return enableBlur ? _react.default.createElement(_imageComponent.default, {
          resizeMethod: "scale",
          style: imageStyle,
          source: {
            uri: uri
          },
          resizeMode: "contain",
          onError: function onError() {
            if (typeof onImageError === "function") {
              onImageError();
            }
          },
          filter: filter,
          grayscaleStyle: filter ? imageStyle : {}
        }) : null;
      }
    }, {
      key: "_onLayout",
      value: function _onLayout(_ref) {
        var _this3 = this;

        var nativeEvent = _ref.nativeEvent;
        var image = this.props.image;
        var _nativeEvent$layout = nativeEvent.layout,
            containerWidth = _nativeEvent$layout.width,
            containerHeight = _nativeEvent$layout.height;
        (0, _imageComponent.getSize)(image, function (imageWidth, imageHeight) {
          var enableBlur = false;

          if (imageWidth <= imageHeight) {
            enableBlur = true;
          } else {
            var scaleWidthFactor = containerWidth / imageWidth;
            var scaleHeightFactor = containerHeight / imageHeight;

            if (scaleWidthFactor > 2 || scaleHeightFactor > 2) {
              enableBlur = true;
            } else {
              var scaledHeight = imageHeight * scaleWidthFactor;
              var heightDiff = scaledHeight - containerHeight;

              if (heightDiff > 0 && heightDiff / scaledHeight > 0.5) {
                enableBlur = true;
              }
            }
          }

          _this3.setState({
            loading: false,
            enableBlur: enableBlur
          });
        }, function () {
          _this3.setState({
            loading: false
          });
        });
      }
    }, {
      key: "_getImage",
      value: function _getImage(uri) {
        var _this$props3 = this.props,
            onImagePress = _this$props3.onImagePress,
            height = _this$props3.height;

        if (onImagePress) {
          return _react.default.createElement(_reactNative.TouchableOpacity, {
            style: {
              height: height
            },
            onPress: onImagePress
          }, this._getBackgroundImage(uri), this._getForegroundImage(uri));
        }

        return _react.default.createElement(_reactNative.View, null, this._getBackgroundImage(uri), this._getForegroundImage(uri));
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props4 = this.props,
            image = _this$props4.image,
            height = _this$props4.height;
        var loading = this.state.loading;
        return !loading ? this._getImage(image) : _react.default.createElement(_reactNative.View, {
          style: {
            height: height
          },
          onLayout: this.onLayout
        });
      }
    }]);
    return BlurImage;
  }(_react.default.Component);

  exports.default = BlurImage;
  BlurImage.propTypes = {
    height: _propTypes.default.number,
    blurRadius: _propTypes.default.number,
    image: _propTypes.default.string,
    onRendered: _propTypes.default.func,
    onImagePress: _propTypes.default.func,
    onImageError: _propTypes.default.func,
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    filter: _propTypes.default.string
  };
  BlurImage.defaultProps = {
    height: 300,
    blurRadius: 10
  };
},2050,[5,7,8,15,12,14,16,17,201,28,588]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.formatResourcesToDTO = exports.formatArticlesToDTO = exports.formatResourceToDTO = exports.formatArticleToDTO = exports.getCategoryLabel = exports.decodeField = exports.parsePriority = exports.formatDate = exports.formatAction = undefined;

  var _RssActionManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _Resource = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _navigationUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var formatAction = function formatAction(action) {
    var actionManager = new _RssActionManager.default();
    actionManager.initActions(action);
    return actionManager;
  };

  exports.formatAction = formatAction;

  var formatDate = function formatDate(articleDate, lastUpdate, hideDate) {
    if (hideDate) {
      return "";
    }

    if (lastUpdate) {
      return global.date(lastUpdate);
    }

    if (articleDate) {
      return global.date(articleDate);
    }

    return "";
  };

  exports.formatDate = formatDate;

  var parsePriority = function parsePriority(rawPriority) {
    var priority = {};
    var row = "1";

    try {
      priority = JSON.parse(rawPriority);

      if (!priority[1]) {
        priority[1] = {
          D: row,
          d: row
        };
      }
    } catch (error) {
      var matches = rawPriority.match(/([0-9]+(?:.5)?)x([0-9]+(?:.5)?)/);
      var col = "1";

      if (matches.length > 2) {
        col = matches[1];
        row = matches[2];
      }

      var rowCol = col + "x" + row;
      priority = {
        1: {
          D: row,
          d: row
        },
        2: {
          D: rowCol,
          d: rowCol
        },
        3: {
          D: rowCol,
          d: rowCol
        },
        4: {
          D: rowCol,
          d: rowCol
        },
        isHighlightedBox: "0"
      };
    }

    return priority;
  };

  exports.parsePriority = parsePriority;

  var decodeField = function decodeField(field) {
    return field ? _$$_REQUIRE(_dependencyMap[4]).StringUtils.decodeHTML(field) : undefined;
  };

  exports.decodeField = decodeField;

  var getCategoryLabel = function getCategoryLabel(caLabel) {
    var label;

    try {
      var _global$getRssIndex = global.getRssIndex(),
          drawerItemsFlat = _global$getRssIndex.drawerItemsFlat;

      var drawerItem = _navigationUtils.default.getDrawerItem(drawerItemsFlat, caLabel);

      if (drawerItem) {
        label = drawerItem.displayName;
      }
    } catch (e) {}

    return decodeField(label || caLabel);
  };

  exports.getCategoryLabel = getCategoryLabel;

  var formatArticleToDTO = function formatArticleToDTO(article) {
    var mArticle = new (_$$_REQUIRE(_dependencyMap[5]).Article)();
    mArticle.position = article.pl_id ? article.pl_id : undefined;
    mArticle.feedId = article.ar_feedId ? article.ar_feedId : undefined;
    mArticle.categoryId = article.ca_id ? article.ca_id : undefined;
    mArticle.action = formatAction(article.ar_action);
    mArticle.priority = article.pl_priority ? parsePriority(article.pl_priority) : undefined;
    mArticle.byline = decodeField(article.ar_byline);
    mArticle.category = getCategoryLabel(article.ca_label);
    mArticle.summary = decodeField(article.ar_summary);
    mArticle.title = decodeField(article.ar_title);
    mArticle.unixDate = article.ar_updatedate || article.ar_articledate;
    mArticle.insertDate = article.ar_insertdate ? article.ar_insertdate : undefined;
    mArticle.read = article.ar_read ? article.ar_read : undefined;
    mArticle.source = article.ar_source ? article.ar_source : undefined;
    mArticle.thumbnail = article.ar_thumb ? article.ar_thumb : undefined;
    mArticle.image = article.ar_image ? article.ar_image : undefined;
    mArticle.gallery = (0, _$$_REQUIRE(_dependencyMap[6]).rssGallery)(article.ar_gallery);
    mArticle.html = article.ar_htmlbody ? article.ar_htmlbody : undefined;
    mArticle.isBreaking = article.ar_isBreaking ? article.ar_isBreaking === 1 : undefined;
    mArticle.isHtmlArticle = article.ar_isHtmlArticle ? article.ar_isHtmlArticle === 1 : undefined;
    mArticle.isEdition = article.ar_catId === 9999;
    mArticle.isLinkToCategory = article.ar_catId === 8888;
    mArticle.isAdvertisement = article.ar_catId === 7777;
    mArticle.isHighlightedBox = mArticle.priority && mArticle.priority.isHighlightedBox === "1";
    mArticle.isPremiumArticle = mArticle.action.hasPropertyPremiumArticle();
    mArticle.isTouchable = !mArticle.isAdvertisement;
    mArticle.setExtraFields(article.ar_extraFields);
    mArticle.date = formatDate(article.ar_articledate, article.ar_updatedate, mArticle.isAdvertisement || mArticle.action.hasPropertyHideDate());
    return mArticle;
  };

  exports.formatArticleToDTO = formatArticleToDTO;

  var formatResourceToDTO = function formatResourceToDTO(resource) {
    var dto = new _Resource.default();
    dto.setFeedId(resource.rr_feedId);
    dto.setValue(resource.re_value);
    dto.setType(resource.rt_name);
    return dto;
  };

  exports.formatResourceToDTO = formatResourceToDTO;

  var formatArticlesToDTO = function formatArticlesToDTO(articles) {
    var adIndex = 0;
    return articles.map(function (article) {
      return formatArticleToDTO(article);
    }).filter(function (article) {
      return article.action.hasPropertyOS();
    }).map(function (article) {
      if (article.isAdvertisement) {
        article.adIndex = adIndex;
        adIndex += 1;
      }

      return article;
    });
  };

  exports.formatArticlesToDTO = formatArticlesToDTO;

  var formatResourcesToDTO = function formatResourcesToDTO(resources) {
    return resources.map(function (resource) {
      return formatResourceToDTO(resource);
    });
  };

  exports.formatResourcesToDTO = formatResourcesToDTO;
},2051,[5,1964,1974,2045,462,1972,2052]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.rssGallery = rssGallery;
  exports.newsmemoryGallery = newsmemoryGallery;
  exports.newsmemoryArticleGallery = newsmemoryArticleGallery;

  var RssParser = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var NewsMemoryParser = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[1]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function rssGallery(json) {
    return RssParser.getGallery(json);
  }

  function newsmemoryGallery(json) {
    return NewsMemoryParser.getGallery(json);
  }

  function newsmemoryArticleGallery(json) {
    return NewsMemoryParser.getArticleGallery(json);
  }
},2052,[1975,2053]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getGallery = getGallery;
  exports.getArticleGallery = getArticleGallery;

  function getMedia(item) {
    return item.media ? item.media : [];
  }

  function getTitle(item) {
    return item.title ? item.title : "";
  }

  function getThumbnail(item) {
    var url = "";

    if (typeof item.thumb === "string") {
      url = item.thumb;
    } else if (typeof item.thumb === "object") {
      url = item.thumb.src || "";
    }

    return _$$_REQUIRE(_dependencyMap[0]).StringUtils.convertNewsmemoryDomainToHTTPS(url);
  }

  function getCaption(item) {
    return item.hd_summary ? item.hd_summary : "";
  }

  function getUrl() {
    var item = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var url = "";

    if (typeof item.image === "string") {
      url = item.image;
    } else if (typeof item.image === "object") {
      url = item.image.url || "";
    }

    return _$$_REQUIRE(_dependencyMap[0]).StringUtils.convertNewsmemoryDomainToHTTPS(url);
  }

  function parseGalleryItem(item, title) {
    if (!item) {
      throw new Error("gallery item is undefined");
    }

    var gallery = {};
    gallery.url = getUrl(item);

    if (!gallery.url) {
      throw new Error("missing url");
    }

    gallery.title = title;
    gallery.action = "image";
    gallery.extension = "jpg";
    gallery.caption = getCaption(item);
    gallery.thumbnail = getThumbnail(item);
    return gallery;
  }

  function getGallery(json) {
    var gallery = [];

    if (Array.isArray(json) && json.length > 0) {
      json = json[0];
    }

    if (json) {
      var title = getTitle(json);
      var media = getMedia(json);
      media.forEach(function (item, index) {
        try {
          var gItem = parseGalleryItem(item, title);
          gItem.index = index;
          gallery.push(gItem);
        } catch (e) {}
      });
    }

    return gallery;
  }

  function getArticleGallery(json) {
    if (json) {
      return json.map(function (item) {
        return {
          url: item.hrUrl || item.url,
          action: "image",
          extension: "jpg",
          width: item.width,
          height: item.height,
          caption: _$$_REQUIRE(_dependencyMap[0]).StringUtils.decodeHTML(item.caption)
        };
      }).filter(function (item) {
        return !_$$_REQUIRE(_dependencyMap[0]).JSUtils.isEmpty(item.url);
      });
    }

    return [];
  }
},2053,[462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var _tileGridNativo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _tileListNativo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _cardNativo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _OptionalPackages$get = _optionalPackageUtils.default.getNativoAds(),
      NativoVideo = _OptionalPackages$get.NativoVideo;

  var styles = _reactNative.StyleSheet.create({
    textRow: {
      flexDirection: "row",
      alignItems: "center",
      marginHorizontal: _$$_REQUIRE(_dependencyMap[8]).HORIZONTAL_MARGIN
    }
  });

  var NativeVideoAdTemplate = function NativeVideoAdTemplate(props) {
    if (!_optionalPackageUtils.default.isNativoSDKAvailable()) {
      return null;
    }

    var adDate = props.adDate,
        adTitle = props.adTitle,
        adDescription = props.adDescription,
        adAuthorName = props.adAuthorName,
        index = props.index,
        grid = props.grid,
        card = props.card,
        dimensions = props.dimensions,
        headerText = props.headerText;
    var item = {
      titleNativeID: "adTitle",
      summaryNativeID: "adDescription",
      title: adTitle,
      summary: adDescription,
      gridIndex: index
    };
    var cssClasses = ["rss-nativo-ad-template", "rss-nativo-video-ad-template"];
    var cssHeaderClasses = ["rss-nativo-ad-template-header", "rss-nativo-video-ad-template-header"];
    var cssHeaderTextClasses = ["rss-nativo-ad-template-header-text", "rss-nativo-video-ad-template-header-text"];
    var cssChoicesImageClasses = ["rss-nativo-ad-template-choices-image", "rss-nativo-video-ad-template-choices-image"];
    var cssVideoClasses = ["rss-nativo-video-ad-template-video"];
    var cssBottomClasses = ["rss-nativo-ad-template-bottom", "rss-nativo-video-ad-template-bottom"];
    var cssDateClasses = ["rss-nativo-ad-template-date", "rss-nativo-video-ad-template-date"];
    var cssAuthorImageClasses = ["rss-nativo-ad-template-author-image", "rss-nativo-video-ad-template-author-image"];
    var cssAuthorNameClasses = ["rss-nativo-ad-template-author-name", "rss-nativo-video-ad-template-author-name"];
    var videoStyle = {};
    var adAuthorImageStyle = {
      width: 40,
      height: 20
    };
    var layoutSuffix;

    if (card) {
      layoutSuffix = "card";
      videoStyle = {
        flex: 1
      };
    } else if (grid) {
      layoutSuffix = "grid";
      videoStyle = {
        flex: 1
      };
    } else {
      layoutSuffix = "list";
      videoStyle = {
        flex: 1,
        margin: 4
      };
      adAuthorImageStyle = {
        width: 0,
        height: 20
      };
    }

    cssClasses.push("rss-nativo-ad-template-" + layoutSuffix, "rss-nativo-video-ad-template-" + layoutSuffix);
    cssHeaderClasses.push("rss-nativo-ad-template-header-" + layoutSuffix, "rss-nativo-video-ad-template-header-" + layoutSuffix);
    cssHeaderTextClasses.push("rss-nativo-ad-template-header-text-" + layoutSuffix, "rss-nativo-video-ad-template-header-text-" + layoutSuffix);
    cssChoicesImageClasses.push("rss-nativo-ad-template-choices-image-" + layoutSuffix, "rss-nativo-video-ad-template-choices-image-" + layoutSuffix);
    cssVideoClasses.push("rss-nativo-video-ad-template-video-" + layoutSuffix);
    cssBottomClasses.push("rss-nativo-ad-template-bottom-" + layoutSuffix, "rss-nativo-video-ad-template-bottom-" + layoutSuffix);
    cssDateClasses.push("rss-nativo-ad-template-date-" + layoutSuffix, "rss-nativo-video-ad-template-date-" + layoutSuffix);
    cssAuthorImageClasses.push("rss-nativo-ad-template-author-image-" + layoutSuffix, "rss-nativo-video-ad-template-author-image-" + layoutSuffix);
    cssAuthorNameClasses.push("rss-nativo-ad-template-author-name-" + layoutSuffix, "rss-nativo-video-ad-template-author-name-" + layoutSuffix);

    var TopComponent = _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: cssHeaderClasses
    }, _react.default.createElement(_reactNative.View, {
      style: styles.textRow
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: cssHeaderTextClasses
    }, _react.default.createElement(_reactNative.Text, {
      style: {
        fontWeight: "bold",
        flex: 1
      }
    }, headerText)), _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: cssChoicesImageClasses
    }, _react.default.createElement(_reactNative.Image, {
      nativeID: "adChoicesImage",
      style: {
        height: 20,
        width: 20
      }
    }))));

    var BottomComponent = _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: cssBottomClasses
    }, _react.default.createElement(_reactNative.View, {
      style: styles.textRow
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: cssDateClasses
    }, _react.default.createElement(_reactNative.Text, {
      nativeID: "adDate",
      style: {
        flex: 1
      }
    }, (0, _$$_REQUIRE(_dependencyMap[10]).formatDate)(adDate / 1000)))), _react.default.createElement(_reactNative.View, {
      style: styles.textRow
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: cssAuthorImageClasses
    }, _react.default.createElement(_reactNative.Image, {
      nativeID: "adAuthorImage",
      resizeMode: "contain",
      style: adAuthorImageStyle
    })), _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: cssAuthorNameClasses
    }, _react.default.createElement(_reactNative.Text, {
      nativeID: "adAuthorName"
    }, adAuthorName))));

    var ImageComponent = _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: cssVideoClasses
    }, _react.default.createElement(NativoVideo, {
      style: videoStyle
    }));

    var ad;

    if (card) {
      ad = _react.default.createElement(_cardNativo.default, {
        item: item,
        TopComponent: TopComponent,
        BottomComponent: BottomComponent,
        ImageComponent: ImageComponent
      });
    } else if (grid) {
      ad = _react.default.createElement(_tileGridNativo.default, {
        roundedBorder: true,
        item: item,
        TopComponent: TopComponent,
        BottomComponent: BottomComponent,
        ImageComponent: ImageComponent
      });
    } else {
      ad = _react.default.createElement(_tileListNativo.default, {
        item: item,
        TopComponent: TopComponent,
        BottomComponent: BottomComponent,
        ImageComponent: ImageComponent
      });
    }

    var key = card ? "card" : grid;

    var _DeviceUtils$getScree = _deviceUtils.default.getScreenDimensions(),
        width = _DeviceUtils$getScree.width;

    var style = card ? {
      width: width - _$$_REQUIRE(_dependencyMap[8]).HORIZONTAL_MARGIN
    } : dimensions;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: cssClasses
    }, _react.default.createElement(_reactNative.View, {
      nativeID: "nativoVideoAdView",
      key: "nativo_" + index + "_" + key,
      style: style
    }, ad));
  };

  var _default = NativeVideoAdTemplate;
  exports.default = _default;
},2054,[5,17,28,2043,2027,2048,458,731,2033,699,2051]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _tileListNativo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _OptionalPackages$get = _optionalPackageUtils.default.getNativoAds(),
      NativoWebContent = _OptionalPackages$get.NativoWebContent;

  var StandardDisplayAdTemplate = function StandardDisplayAdTemplate(props) {
    if (!_optionalPackageUtils.default.isNativoSDKAvailable()) {
      return null;
    }

    var width = props.displayWidth,
        height = props.displayHeight,
        index = props.index,
        grid = props.grid,
        card = props.card,
        dimensions = props.dimensions,
        headerText = props.headerText;
    var item = {
      titleNativeID: "adTitle",
      title: headerText,
      gridIndex: index
    };
    var cssClasses = ["rss-nativo-ad-std-template"];
    var cssWebClasses = ["rss-nativo-ad-std-template-web"];
    var layoutSuffix;

    if (card) {
      layoutSuffix = "card";
    } else if (grid) {
      layoutSuffix = "grid";
    } else {
      layoutSuffix = "list";
    }

    cssClasses.push("rss-nativo-ad-std-template-" + layoutSuffix);
    cssWebClasses.push("rss-nativo-ad-std-template-web-" + layoutSuffix);
    var marginTop = 0;
    var imageContainerWidth = width;
    var modeStyles = {};

    if (!card && !grid) {
      var widthRatio = (dimensions.width - _$$_REQUIRE(_dependencyMap[7]).HORIZONTAL_MARGIN * 2) / width;
      var heightRatio = (dimensions.height - _$$_REQUIRE(_dependencyMap[7]).HORIZONTAL_MARGIN * 2) / height;
      var ratio = Math.min(widthRatio, heightRatio);

      if (ratio < 1) {
        imageContainerWidth = width * ratio;
        modeStyles = {
          transform: [{
            scale: ratio
          }, {
            translateX: -(width - width * ratio)
          }, {
            translateY: -(height - height * ratio)
          }, {
            translateX: _$$_REQUIRE(_dependencyMap[7]).HORIZONTAL_MARGIN
          }, {
            translateY: _$$_REQUIRE(_dependencyMap[7]).HORIZONTAL_MARGIN
          }]
        };
      } else {
        marginTop = Math.max((dimensions.height - _$$_REQUIRE(_dependencyMap[7]).HORIZONTAL_MARGIN * 2 - height) / 2, 0);
      }
    } else {
      modeStyles = {
        alignSelf: "center",
        justifyContent: "center"
      };

      if (card) {
        marginTop = Math.max((_$$_REQUIRE(_dependencyMap[8]).NATIVO_CARD_HEIGHT - height) / 2, 0);
      } else {
        marginTop = Math.max((dimensions.height - height) / 2, 0);
      }
    }

    var webContent = _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: cssWebClasses
    }, _react.default.createElement(NativoWebContent, (0, _extends2.default)({}, props, {
      style: (0, _extends2.default)({
        width: width,
        height: height,
        marginTop: marginTop
      }, modeStyles)
    })));

    var key = card ? "card" : grid;
    var style = card ? {
      width: (0, _$$_REQUIRE(_dependencyMap[10]).getRssCardBoxWidth)(),
      height: _$$_REQUIRE(_dependencyMap[8]).NATIVO_CARD_HEIGHT
    } : dimensions;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Css, {
      classes: cssClasses
    }, _react.default.createElement(_reactNative.View, {
      nativeID: "nativoSDAdView",
      key: "nativo_" + index + "_" + key,
      style: style
    }, grid || card ? webContent : _react.default.createElement(_tileListNativo.default, {
      item: item,
      ImageComponent: webContent,
      imageContainerStyle: {
        margin: _$$_REQUIRE(_dependencyMap[7]).HORIZONTAL_MARGIN,
        width: imageContainerWidth,
        flex: 0,
        flexDirection: "row"
      }
    })));
  };

  var _default = StandardDisplayAdTemplate;
  exports.default = _default;
},2055,[5,6,17,28,458,731,2027,2033,2048,699,2039]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _webUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _cmpUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _tecnaviaPlatformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AdWebComponent = function (_React$PureComponent) {
    (0, _inherits2.default)(AdWebComponent, _React$PureComponent);

    var _super = _createSuper(AdWebComponent);

    function AdWebComponent(props) {
      var _this;

      (0, _classCallCheck2.default)(this, AdWebComponent);
      _this = _super.call(this, props);
      var source = props.source;
      var isVisibleAtFirstRender = source.uri && source.uri.indexOf("shouldWaitForLocal=1") === -1 ? 1 : 0;
      _this.state = {
        hidden: false,
        visible: isVisibleAtFirstRender
      };
      _this.setWidthToDeviceOne = _this._setWidthToDeviceOne.bind((0, _assertThisInitialized2.default)(_this));
      _this.onMessage = _this._onMessage.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(AdWebComponent, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        this.orientationListener = _$$_REQUIRE(_dependencyMap[17]).EventRegister.on(_events.default.ON_ORIENTATION_CHANGE, this.setWidthToDeviceOne);
        this.changeAdsVisibility = _$$_REQUIRE(_dependencyMap[17]).EventRegister.on(_events.default.CHANGE_ADS_VISIBILITY, function (_ref) {
          var hideAds = _ref.hideAds;
          var hidden = _this2.state.hidden;

          if (hideAds && !hidden) {
            _this2.setState({
              hidden: true
            });
          } else if (!hideAds && hidden) {
            _this2.setState({
              hidden: false
            });
          }
        });
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[17]).EventRegister.rm(this.orientationListener);

        _$$_REQUIRE(_dependencyMap[17]).EventRegister.rm(this.changeAdsVisibility);
      }
    }, {
      key: "_setWidthToDeviceOne",
      value: function _setWidthToDeviceOne() {
        this.forceUpdate();
      }
    }, {
      key: "_onMessage",
      value: function _onMessage(data) {
        try {
          var type = data.type,
              content = data.content;

          if (type) {
            switch (type) {
              case "setViewVisibility":
                var visible = content.visible;

                if (visible !== undefined) {
                  this.setState({
                    visible: visible
                  });
                }

                break;
            }
          }
        } catch (e) {}
      }
    }, {
      key: "render",
      value: function render() {
        var _this3 = this;

        var _this$props = this.props,
            model = _this$props.model,
            source = _this$props.source,
            onShow = _this$props.onShow,
            onHide = _this$props.onHide;
        var _this$state = this.state,
            hidden = _this$state.hidden,
            visible = _this$state.visible;

        if (hidden || !source.uri && !source.html) {
          if (typeof onHide === "function") {
            onHide();
          }

          return null;
        }

        var width = model.width ? parseInt(model.width, 10) : "100%";
        var height = parseInt(model.height, 10) || 150;

        if (visible) {
          if (typeof onShow === "function") {
            onShow(height);
          }
        } else {
          if (typeof onHide === "function") {
            onHide();
          }

          height = 0;
        }

        if (source.html) {
          var alignStyle = "\n                body { \n                    text-align: center\n                }";
          source.html = _webUtils.default.addViewportStyles(source.html, alignStyle);
          source.html = _cmpUtils.default.addCMPScript(source.html);
        }

        var settings = {
          defaultHeight: 150,
          cacheEnabled: false,
          startInLoadingState: _$$_REQUIRE(_dependencyMap[18]).BaseWebView.LoadingStatePosition.none,
          innerRef: function innerRef(ref) {
            _this3.webView = ref;
          },
          onLocal: function onLocal(_ref2) {
            var domain = _ref2.domain,
                _ref2$getParams = _ref2.getParams,
                getParams = _ref2$getParams === undefined ? {} : _ref2$getParams;
            var navigation = _this3.props.navigation;
            var issue = getParams.issue,
                edition = getParams.edition,
                data = getParams.data,
                position = getParams.position,
                category = getParams.category,
                url = getParams.url,
                visibleParam = getParams.visible;

            switch (domain) {
              case "openEedition":
                _NavigationService.default.main.reset("NewsmemoryNavigator", {
                  isFromRss: true,
                  issue: issue,
                  edition: edition
                });

                break;

              case "openAlertNewsArticle":
                try {
                  var articles = (0, _$$_REQUIRE(_dependencyMap[19]).formatArticlesToDTO)(JSON.parse(_$$_REQUIRE(_dependencyMap[20]).StringUtils.decodeURIComponent(data)));
                  var clickedPosition = articles[position];
                  navigation.navigate("ArticleScreen", {
                    items: articles,
                    item: clickedPosition,
                    orientation: _deviceUtils.default.currentOrientation
                  });
                } catch (e) {}

                break;

              case "openCategory":
                try {
                  var routeName = (0, _$$_REQUIRE(_dependencyMap[21]).getNavigationRouteKeyByName)(category);
                  navigation.navigate(routeName);
                } catch (e) {}

                break;

              case "openLink":
                _tecnaviaPlatformUtils.default.openURL(url);

                break;

              case "openInAppBrowser":
                navigation.navigate("WebScreen", url);
                break;

              case "setViewVisibility":
                _this3.setState({
                  visible: visibleParam === "1"
                });

                break;
            }
          },
          injectedJavaScriptBeforeContentLoaded: !source.html ? _cmpUtils.default.getCMPScript() : undefined,
          onLoadEnd: function onLoadEnd() {
            if (_this3.webView && !source.html) {
              _this3.webView.injectJavaScript("try{ document.body.style.textAlign = 'center'; }catch(e){}");

              _this3.webView.injectJavaScript(_webUtils.default.addViewport());
            }
          },
          onMessage: this.onMessage,
          source: source,
          onLinkClicked: function onLinkClicked(url) {
            _tecnaviaPlatformUtils.default.openURL(url);

            return true;
          }
        };

        if (model.useAutoHeight) {
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[22]).AutoHeightWebView, settings);
        }

        return _react.default.createElement(_reactNative.View, {
          style: {
            width: width,
            height: height,
            overflow: "hidden"
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[18]).BaseWebView, settings));
      }
    }]);
    return AdWebComponent;
  }(_react.default.PureComponent);

  AdWebComponent.propTypes = {
    model: _propTypes.default.shape({
      width: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
      height: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
      useAutoHeight: _propTypes.default.bool
    }),
    source: _propTypes.default.shape({
      html: _propTypes.default.string,
      uri: _propTypes.default.string
    }),
    navigation: _propTypes.default.shape({
      navigate: _propTypes.default.func
    }),
    onShow: _propTypes.default.func,
    onHide: _propTypes.default.func
  };
  AdWebComponent.defaultProps = {
    source: {}
  };

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[23]).useNavigation)();
    return _react.default.createElement(AdWebComponent, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2056,[5,6,7,8,15,12,14,16,17,201,28,458,460,719,1861,1875,1876,572,1894,2051,462,2046,1902,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.LoginError = exports.PROT_ERROR = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _wrapNativeSuper2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _cookies = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _NewsmemoryAJAX = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _LoginHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _Paywall = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _Database = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _Publication = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _PaywallLoginStatus = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PROT_ERROR = {
    TIMEOUT: -1,
    LOGGED_IN: 0,
    TOO_MANY_LOGINS: 1,
    WRONG_PASSWORD: 2,
    NO_COOKIES: 3,
    NOT_LOGGEDIN: 4,
    GENERAL_ERROR: 5,
    MUST_ACTIVATE: 6,
    VALIDATED: 7,
    NOT_VALIDATED: 8,
    MUST_PAY: 9,
    VALIDATION_ERROR: 10,
    VALIDATION_ERROR_DB: 11,
    VALIDATION_DELETED_USER: 12,
    TOO_MANY_LOGINS_ALERT: 13,
    WRONG_IP: 14,
    ADMIN: 15,
    GUEST: 16,
    NO_USER: 20
  };
  exports.PROT_ERROR = PROT_ERROR;

  var LoginError = function (_Error) {
    (0, _inherits2.default)(LoginError, _Error);

    var _super = _createSuper(LoginError);

    function LoginError(code, message, data) {
      var _this;

      (0, _classCallCheck2.default)(this, LoginError);
      _this = _super.call(this);
      _this.code = code;
      _this.message = message;
      _this.data = data;
      return _this;
    }

    (0, _createClass2.default)(LoginError, [{
      key: "getCode",
      value: function getCode() {
        return this.code;
      }
    }, {
      key: "getMessage",
      value: function getMessage() {
        return this.message;
      }
    }, {
      key: "getData",
      value: function getData() {
        return this.data;
      }
    }]);
    return LoginError;
  }((0, _wrapNativeSuper2.default)(Error));

  exports.LoginError = LoginError;
  var CLASSIC_LOGIN_DB_NAME = "localstorage.db";

  var LoginManager = function () {
    function LoginManager() {
      (0, _classCallCheck2.default)(this, LoginManager);
    }

    (0, _createClass2.default)(LoginManager, null, [{
      key: "getClassicDatabaseFilePath",
      value: function getClassicDatabaseFilePath() {
        return _tecnaviaFileUtils.default.getDocumentsDirectory() + "/" + CLASSIC_LOGIN_DB_NAME;
      }
    }, {
      key: "createLocalStorageTable",
      value: function createLocalStorageTable() {
        var query;
        return _regenerator.default.async(function createLocalStorageTable$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.prev = 0;
                query = "CREATE TABLE IF NOT EXISTS localStorage (key VARCHAR(255) PRIMARY KEY , value TEXT , UNIQUE (key) ON CONFLICT REPLACE);";
                _context.next = 4;
                return _regenerator.default.awrap(LoginManager.openTransaction(query));

              case 4:
                _context.next = 9;
                break;

              case 6:
                _context.prev = 6;
                _context.t0 = _context["catch"](0);
                throw _context.t0;

              case 9:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[0, 6]], Promise);
      }
    }, {
      key: "databaseExists",
      value: function databaseExists() {
        return _regenerator.default.async(function databaseExists$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!LoginManager.database) {
                  _context2.next = 2;
                  break;
                }

                return _context2.abrupt("return", LoginManager.database.exists());

              case 2:
                return _context2.abrupt("return", false);

              case 3:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "closeDatabase",
      value: function closeDatabase() {
        return _regenerator.default.async(function closeDatabase$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                if (!LoginManager.database) {
                  _context3.next = 2;
                  break;
                }

                return _context3.abrupt("return", LoginManager.database.close());

              case 2:
                return _context3.abrupt("return", false);

              case 3:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "deleteDatabase",
      value: function deleteDatabase() {
        return _regenerator.default.async(function deleteDatabase$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!LoginManager.database) {
                  _context4.next = 2;
                  break;
                }

                return _context4.abrupt("return", LoginManager.database.delete());

              case 2:
                return _context4.abrupt("return", false);

              case 3:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "openTransaction",
      value: function openTransaction(query, params) {
        return _regenerator.default.async(function openTransaction$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                return _context5.abrupt("return", LoginManager.database.transaction(query, params));

              case 1:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "checkIfColumnExists",
      value: function checkIfColumnExists(table, column) {
        return _regenerator.default.async(function checkIfColumnExists$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                return _context6.abrupt("return", LoginManager.database.columnExists(table, column));

              case 1:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "callToLogin",
      value: function callToLogin(username, password, TAUID, token, challenge) {
        var serverResponse, retries, timeout;
        return _regenerator.default.async(function callToLogin$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                serverResponse = null;
                retries = 0;
                timeout = 15000;

              case 3:
                _context7.prev = 3;
                timeout += 5000 * retries;
                _context7.next = 7;
                return _regenerator.default.awrap(_NewsmemoryAJAX.default.login({
                  username: username,
                  password: password,
                  TAUID: TAUID,
                  TOKEN: token,
                  challenge: challenge
                }, timeout));

              case 7:
                serverResponse = _context7.sent;
                _context7.next = 12;
                break;

              case 10:
                _context7.prev = 10;
                _context7.t0 = _context7["catch"](3);

              case 12:
                retries++;

              case 13:
                if (serverResponse == null && retries < 2) {
                  _context7.next = 3;
                  break;
                }

              case 14:
                return _context7.abrupt("return", serverResponse);

              case 15:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, [[3, 10]], Promise);
      }
    }, {
      key: "sendExternalIdToAnalytics",
      value: function sendExternalIdToAnalytics() {
        var _global$getActivePSet, firebaseAnalyticsSendExternalId;

        return _regenerator.default.async(function sendExternalIdToAnalytics$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                _global$getActivePSet = global.getActivePSetup(), firebaseAnalyticsSendExternalId = _global$getActivePSet.firebaseAnalyticsSendExternalId;

                if (!firebaseAnalyticsSendExternalId) {
                  _context8.next = 4;
                  break;
                }

                _context8.next = 4;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[17]).initGoogleAnalyticsFirebase)());

              case 4:
              case "end":
                return _context8.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "login",
      value: function login(params) {
        var challenge, password, machine, pSetup, remember, username, token, TAUID, extid, _await$global$loadPSe, activePSetupConfig, response, status, data, extraUserInfo, adFree, loginStatus, prevExtid, _global$getRssIndex, paywallEnabled;

        return _regenerator.default.async(function login$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                challenge = params.challenge, password = params.password, machine = params.machine, pSetup = params.pSetup, remember = params.remember;
                username = params.username, token = params.token, TAUID = params.TAUID, extid = params.extid;
                _context9.next = 4;
                return _regenerator.default.awrap(global.loadPSetup(pSetup, machine));

              case 4:
                _await$global$loadPSe = _context9.sent;
                activePSetupConfig = _await$global$loadPSe.config;

                if (!activePSetupConfig) {
                  _context9.next = 49;
                  break;
                }

                _context9.next = 9;
                return _regenerator.default.awrap(LoginManager.callToLogin(username, password, TAUID, token, challenge));

              case 9:
                response = _context9.sent;

                if (!response) {
                  _context9.next = 46;
                  break;
                }

                status = response.status, data = response.data;

                if (!(status === 200 && data)) {
                  _context9.next = 43;
                  break;
                }

                if (!(data.protError === PROT_ERROR.LOGGED_IN || data.protError === PROT_ERROR.TOO_MANY_LOGINS_ALERT)) {
                  _context9.next = 41;
                  break;
                }

                TAUID = data.userid ? data.userid : TAUID;
                token = data.token ? data.token : token;
                username = data.username ? data.username : username;
                extid = data.extid ? data.extid : extid;
                extraUserInfo = data.extra_user_info, adFree = data.adFree;
                loginStatus = activePSetupConfig.loginStatus;

                if (!loginStatus) {
                  _context9.next = 34;
                  break;
                }

                prevExtid = loginStatus.extid;
                loginStatus.updateTAUID(TAUID);
                loginStatus.updateToken(token);
                loginStatus.updateChallenge(challenge);
                loginStatus.updateUsername(username);
                loginStatus.updatePassword(password);
                loginStatus.updateExtId(extid);
                loginStatus.updateExtraUserInfo(extraUserInfo);
                loginStatus.updateAdFree(adFree);
                loginStatus.setLastModified();

                if (!(extid !== prevExtid)) {
                  _context9.next = 34;
                  break;
                }

                _context9.next = 34;
                return _regenerator.default.awrap(LoginManager.sendExternalIdToAnalytics());

              case 34:
                _global$getRssIndex = global.getRssIndex(), paywallEnabled = _global$getRssIndex.paywallEnabled;

                if (paywallEnabled) {
                  _PaywallLoginStatus.default.remember({
                    user: username,
                    pwdEncrypt: password,
                    challenge: challenge,
                    extid: extid,
                    logged: true
                  });
                }

                _context9.next = 38;
                return _regenerator.default.awrap(LoginManager.storeClassicLoginStatus({
                  TAUID: TAUID,
                  username: username,
                  password: password,
                  TOKEN: token,
                  challenge: challenge,
                  extid: extid,
                  remember: remember
                }));

              case 38:
                (0, _$$_REQUIRE(_dependencyMap[18]).sendNewsmemoryLoginEvent)("logged");
                _context9.next = 42;
                break;

              case 41:
                (0, _$$_REQUIRE(_dependencyMap[18]).sendNewsmemoryLoginEvent)("login failed");

              case 42:
                return _context9.abrupt("return", {
                  TAUID: TAUID,
                  data: data
                });

              case 43:
                (0, _$$_REQUIRE(_dependencyMap[18]).sendNewsmemoryLoginEvent)("login error");
                _context9.next = 47;
                break;

              case 46:
                (0, _$$_REQUIRE(_dependencyMap[18]).sendNewsmemoryLoginEvent)("login timed out");

              case 47:
                _context9.next = 50;
                break;

              case 49:
                (0, _$$_REQUIRE(_dependencyMap[18]).sendNewsmemoryLoginEvent)("login error");

              case 50:
                return _context9.abrupt("return", {});

              case 51:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "ePaperLogout",
      value: function ePaperLogout() {
        var _global$getActivePSet2, loginStatus, prevExtid;

        return _regenerator.default.async(function ePaperLogout$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                _global$getActivePSet2 = global.getActivePSetup(), loginStatus = _global$getActivePSet2.loginStatus;

                if (!loginStatus) {
                  _context10.next = 8;
                  break;
                }

                prevExtid = loginStatus.extid;
                _context10.next = 5;
                return _regenerator.default.awrap(loginStatus.clear());

              case 5:
                if (_$$_REQUIRE(_dependencyMap[19]).JSUtils.isEmpty(prevExtid)) {
                  _context10.next = 8;
                  break;
                }

                _context10.next = 8;
                return _regenerator.default.awrap(LoginManager.sendExternalIdToAnalytics());

              case 8:
                _context10.next = 10;
                return _regenerator.default.awrap(LoginManager.clearClassicLoginStatus());

              case 10:
                _context10.next = 12;
                return _regenerator.default.awrap(_cookies.default.clearAll(true));

              case 12:
              case "end":
                return _context10.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "logout",
      value: function logout() {
        var _global$getRssIndex2, paywallEnabled;

        return _regenerator.default.async(function logout$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                _context11.next = 2;
                return _regenerator.default.awrap(LoginManager.ePaperLogout());

              case 2:
                _global$getRssIndex2 = global.getRssIndex(), paywallEnabled = _global$getRssIndex2.paywallEnabled;

                if (paywallEnabled) {
                  _Paywall.default.logout();
                }

                (0, _$$_REQUIRE(_dependencyMap[18]).sendNewsmemoryLoginEvent)("logged out");

              case 5:
              case "end":
                return _context11.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "clearAll",
      value: function clearAll() {
        return _regenerator.default.async(function clearAll$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                _context12.next = 2;
                return _regenerator.default.awrap(LoginManager.logout());

              case 2:
                _context12.next = 4;
                return _regenerator.default.awrap(_LoginHelper.default.clearAll());

              case 4:
              case "end":
                return _context12.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "clearClassicLoginStatus",
      value: function clearClassicLoginStatus() {
        var _global$getActivePSet3, udb, query;

        return _regenerator.default.async(function clearClassicLoginStatus$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                _global$getActivePSet3 = global.getActivePSetup(), udb = _global$getActivePSet3.udb;
                query = "DELETE FROM localstorage WHERE key LIKE '" + udb + "_%'";
                _context13.prev = 2;
                _context13.next = 5;
                return _regenerator.default.awrap(LoginManager.openTransaction(query, []));

              case 5:
                return _context13.abrupt("return", true);

              case 8:
                _context13.prev = 8;
                _context13.t0 = _context13["catch"](2);

              case 10:
                return _context13.abrupt("return", false);

              case 11:
              case "end":
                return _context13.stop();
            }
          }
        }, null, null, [[2, 8]], Promise);
      }
    }, {
      key: "checkClassicLoginStatus",
      value: function checkClassicLoginStatus(prefix) {
        var result, query, response;
        return _regenerator.default.async(function checkClassicLoginStatus$(_context14) {
          while (1) {
            switch (_context14.prev = _context14.next) {
              case 0:
                result = {};
                _context14.next = 3;
                return _regenerator.default.awrap(LoginManager.databaseExists());

              case 3:
                if (!_context14.sent) {
                  _context14.next = 16;
                  break;
                }

                query = "SELECT * FROM localstorage WHERE key LIKE '" + prefix + "_%'";
                _context14.prev = 5;
                _context14.next = 8;
                return _regenerator.default.awrap(LoginManager.openTransaction(query, []));

              case 8:
                response = _context14.sent;

                if (response && response.length > 0) {
                  result = response.reduce(function (partial, entry) {
                    var key = entry.key,
                        value = entry.value;

                    if (key && value !== undefined) {
                      var name = key.replace(prefix + "_", "");

                      if (name) {
                        result[name] = value;
                      }
                    }

                    return result;
                  }, result);
                }

                _context14.next = 12;
                return _regenerator.default.awrap(LoginManager.closeDatabase());

              case 12:
                _context14.next = 16;
                break;

              case 14:
                _context14.prev = 14;
                _context14.t0 = _context14["catch"](5);

              case 16:
                return _context14.abrupt("return", result);

              case 17:
              case "end":
                return _context14.stop();
            }
          }
        }, null, null, [[5, 14]], Promise);
      }
    }, {
      key: "checkClassicUdbLoginStatus",
      value: function checkClassicUdbLoginStatus() {
        var _global$getActivePSet4, udb, result;

        return _regenerator.default.async(function checkClassicUdbLoginStatus$(_context15) {
          while (1) {
            switch (_context15.prev = _context15.next) {
              case 0:
                _global$getActivePSet4 = global.getActivePSetup(), udb = _global$getActivePSet4.udb;
                _context15.next = 3;
                return _regenerator.default.awrap(LoginManager.checkClassicLoginStatus(udb));

              case 3:
                result = _context15.sent;
                return _context15.abrupt("return", result);

              case 5:
              case "end":
                return _context15.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "storeClassicLoginStatus",
      value: function storeClassicLoginStatus(_ref) {
        var TAUID, username, password, TOKEN, challenge, extid, remember, result, _global$getActivePSet5, udb, query, response;

        return _regenerator.default.async(function storeClassicLoginStatus$(_context16) {
          while (1) {
            switch (_context16.prev = _context16.next) {
              case 0:
                TAUID = _ref.TAUID, username = _ref.username, password = _ref.password, TOKEN = _ref.TOKEN, challenge = _ref.challenge, extid = _ref.extid, remember = _ref.remember;
                result = false;
                _context16.prev = 2;
                _context16.next = 5;
                return _regenerator.default.awrap(LoginManager.databaseExists());

              case 5:
                if (_context16.sent) {
                  _context16.next = 8;
                  break;
                }

                _context16.next = 8;
                return _regenerator.default.awrap(LoginManager.createLocalStorageTable());

              case 8:
                _context16.next = 10;
                return _regenerator.default.awrap(LoginManager.databaseExists());

              case 10:
                if (!_context16.sent) {
                  _context16.next = 19;
                  break;
                }

                _global$getActivePSet5 = global.getActivePSetup(), udb = _global$getActivePSet5.udb;
                query = "INSERT INTO localstorage (key, value) VALUES (?,?),(?,?),(?,?),(?,?),(?,?),(?,?),(?,?)";
                _context16.next = 15;
                return _regenerator.default.awrap(LoginManager.openTransaction(query, [udb + "_TAUID", TAUID || "", udb + "_username", username || "", udb + "_password", password || "", udb + "_TOKEN", TOKEN || "", udb + "_challenge", challenge || "", udb + "_extid", extid || "", udb + "_remember", remember || ""]));

              case 15:
                response = _context16.sent;
                result = true;
                _context16.next = 19;
                return _regenerator.default.awrap(LoginManager.closeDatabase());

              case 19:
                _context16.next = 23;
                break;

              case 21:
                _context16.prev = 21;
                _context16.t0 = _context16["catch"](2);

              case 23:
                return _context16.abrupt("return", result);

              case 24:
              case "end":
                return _context16.stop();
            }
          }
        }, null, null, [[2, 21]], Promise);
      }
    }, {
      key: "storeClassicCustomLoginStatus",
      value: function storeClassicCustomLoginStatus(_ref2) {
        var paperName, username, password, extra, result, query, response;
        return _regenerator.default.async(function storeClassicCustomLoginStatus$(_context17) {
          while (1) {
            switch (_context17.prev = _context17.next) {
              case 0:
                paperName = _ref2.paperName, username = _ref2.username, password = _ref2.password, extra = _ref2.extra;
                result = false;

                if (!_$$_REQUIRE(_dependencyMap[19]).PlatformUtils.isIOS()) {
                  _context17.next = 23;
                  break;
                }

                _context17.prev = 3;
                _context17.next = 6;
                return _regenerator.default.awrap(LoginManager.databaseExists());

              case 6:
                if (_context17.sent) {
                  _context17.next = 9;
                  break;
                }

                _context17.next = 9;
                return _regenerator.default.awrap(LoginManager.createLocalStorageTable());

              case 9:
                _context17.next = 11;
                return _regenerator.default.awrap(LoginManager.databaseExists());

              case 11:
                if (!_context17.sent) {
                  _context17.next = 19;
                  break;
                }

                query = "INSERT INTO localstorage (key, value) VALUES (?,?),(?,?),(?,?)";
                _context17.next = 15;
                return _regenerator.default.awrap(LoginManager.openTransaction(query, [paperName + "_username", username || "", paperName + "_password", password || "", paperName + "_extra", extra || ""]));

              case 15:
                response = _context17.sent;
                result = true;
                _context17.next = 19;
                return _regenerator.default.awrap(LoginManager.closeDatabase());

              case 19:
                _context17.next = 23;
                break;

              case 21:
                _context17.prev = 21;
                _context17.t0 = _context17["catch"](3);

              case 23:
                return _context17.abrupt("return", result);

              case 24:
              case "end":
                return _context17.stop();
            }
          }
        }, null, null, [[3, 21]], Promise);
      }
    }, {
      key: "isExpiredTAUID",
      value: function isExpiredTAUID() {
        var _global$getActivePSet6 = global.getActivePSetup(),
            loginStatus = _global$getActivePSet6.loginStatus,
            refreshesTAUIDTimestamp = _global$getActivePSet6.refreshesTAUIDTimestamp;

        var TAUID = loginStatus.TAUID,
            last_login_time = loginStatus.last_login_time;

        if (_$$_REQUIRE(_dependencyMap[20]).LoginStatus.isValidTAUID(TAUID) && refreshesTAUIDTimestamp) {
          var lastLoginTimestamp = parseInt(last_login_time || 0, 10);
          return refreshesTAUIDTimestamp >= lastLoginTimestamp;
        }

        return false;
      }
    }, {
      key: "autoLogin",
      value: function autoLogin() {
        var params,
            username,
            password,
            TAUID,
            token,
            challenge,
            response,
            data,
            error,
            message,
            status,
            _data,
            protError,
            userid,
            _args18 = arguments;

        return _regenerator.default.async(function autoLogin$(_context18) {
          while (1) {
            switch (_context18.prev = _context18.next) {
              case 0:
                params = _args18.length > 0 && _args18[0] !== undefined ? _args18[0] : {};
                (0, _$$_REQUIRE(_dependencyMap[18]).sendNewsmemoryLoginEvent)("start autologin");
                username = params.username, password = params.password, TAUID = params.TAUID, token = params.token, challenge = params.challenge;
                _context18.next = 5;
                return _regenerator.default.awrap(LoginManager.callToLogin(username, password, TAUID, token, challenge));

              case 5:
                response = _context18.sent;

                if (!response) {
                  _context18.next = 22;
                  break;
                }

                status = response.status;
                data = response.data;

                if (!(status === 200 && data)) {
                  _context18.next = 18;
                  break;
                }

                _data = data, protError = _data.protError, userid = _data.userid;

                if (!((protError === PROT_ERROR.LOGGED_IN || protError === PROT_ERROR.TOO_MANY_LOGINS_ALERT) && userid && userid > -1)) {
                  _context18.next = 14;
                  break;
                }

                (0, _$$_REQUIRE(_dependencyMap[18]).sendNewsmemoryLoginEvent)("autologged");
                return _context18.abrupt("return", data);

              case 14:
                message = "autologin failed";
                error = PROT_ERROR.NOT_LOGGEDIN;
                _context18.next = 20;
                break;

              case 18:
                message = "autologin error";
                error = PROT_ERROR.GENERAL_ERROR;

              case 20:
                _context18.next = 24;
                break;

              case 22:
                message = "autologin timed out";
                error = PROT_ERROR.TIMEOUT;

              case 24:
                (0, _$$_REQUIRE(_dependencyMap[18]).sendNewsmemoryLoginEvent)(message);
                throw new LoginError(error, message, data);

              case 26:
              case "end":
                return _context18.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "autoIAPLogin",
      value: function autoIAPLogin() {
        var response, status, data, username, password;
        return _regenerator.default.async(function autoIAPLogin$(_context19) {
          while (1) {
            switch (_context19.prev = _context19.next) {
              case 0:
                _context19.prev = 0;
                _context19.next = 3;
                return _regenerator.default.awrap(_NewsmemoryAJAX.default.createIAPUser());

              case 3:
                response = _context19.sent;

                if (!response) {
                  _context19.next = 11;
                  break;
                }

                status = response.status, data = response.data;

                if (!(status === 200 && data)) {
                  _context19.next = 9;
                  break;
                }

                username = data.username, password = data.password;
                return _context19.abrupt("return", LoginManager.login({
                  username: username,
                  password: password
                }));

              case 9:
                _context19.next = 11;
                break;

              case 11:
                _context19.next = 15;
                break;

              case 13:
                _context19.prev = 13;
                _context19.t0 = _context19["catch"](0);

              case 15:
                return _context19.abrupt("return", {});

              case 16:
              case "end":
                return _context19.stop();
            }
          }
        }, null, null, [[0, 13]], Promise);
      }
    }, {
      key: "recheckLogin",
      value: function recheckLogin() {
        var forceAutoLogin,
            _global$getActivePSet7,
            loginStatus,
            timeLimitCheckLogin,
            protectSite,
            isAllowedIP,
            now,
            _global$getNewsmemory,
            lastOperationTimestamp,
            timeLimitCheckLoginExpired,
            _prevExtid,
            universalLinkToken,
            newsmemoryStartup,
            newToken,
            data,
            userid,
            token,
            extid,
            extra_user_info,
            adFree,
            code,
            prevExtid,
            username,
            password,
            TAUID,
            TOKEN,
            challenge,
            credentialsPresent,
            _global$getRssIndex3,
            paywallEnabled,
            paywallLoggedIn,
            _await$PaywallLoginSt,
            credentials,
            _await$LoginManager$c,
            allowIP,
            _data2,
            _userid,
            _extid,
            _extra_user_info,
            _adFree,
            _code,
            _args20 = arguments;

        return _regenerator.default.async(function recheckLogin$(_context20) {
          while (1) {
            switch (_context20.prev = _context20.next) {
              case 0:
                forceAutoLogin = _args20.length > 0 && _args20[0] !== undefined ? _args20[0] : false;

                if (!LoginManager.isExpiredTAUID()) {
                  _context20.next = 6;
                  break;
                }

                _context20.next = 4;
                return _regenerator.default.awrap(LoginManager.logout());

              case 4:
                _context20.next = 124;
                break;

              case 6:
                _global$getActivePSet7 = global.getActivePSetup(), loginStatus = _global$getActivePSet7.loginStatus, timeLimitCheckLogin = _global$getActivePSet7.timeLimitCheckLogin, protectSite = _global$getActivePSet7.protectSite, isAllowedIP = _global$getActivePSet7.isAllowedIP;

                if (!(protectSite > 0)) {
                  _context20.next = 124;
                  break;
                }

                now = new Date().getTime();
                _global$getNewsmemory = global.getNewsmemoryConfig(), lastOperationTimestamp = _global$getNewsmemory.lastOperationTimestamp;
                timeLimitCheckLoginExpired = lastOperationTimestamp && Math.abs(now - lastOperationTimestamp) > timeLimitCheckLogin;

                if (!_$$_REQUIRE(_dependencyMap[19]).NetworkUtils.isOnline()) {
                  _context20.next = 52;
                  break;
                }

                _prevExtid = loginStatus.extid;
                universalLinkToken = loginStatus.universalLinkToken;
                newsmemoryStartup = global.getNewsmemoryStartupParams();
                newToken = newsmemoryStartup && !!newsmemoryStartup.token;

                if (newToken) {
                  universalLinkToken = newsmemoryStartup.token;
                }

                if (!(universalLinkToken && (newToken || timeLimitCheckLoginExpired))) {
                  _context20.next = 52;
                  break;
                }

                _context20.prev = 18;

                _$$_REQUIRE(_dependencyMap[21]).EventRegister.emit(_events.default.NEWSMEMORY_LOGIN_CHECK_STARTED);

                _context20.next = 22;
                return _regenerator.default.awrap(LoginManager.autoLogin({
                  token: universalLinkToken
                }));

              case 22:
                data = _context20.sent;
                userid = data.userid, token = data.token, extid = data.extid, extra_user_info = data.extra_user_info, adFree = data.adFree;
                loginStatus.updateTAUID(userid);
                loginStatus.updateUniversalLinkToken(token);
                loginStatus.updateExtId(extid);
                loginStatus.updateExtraUserInfo(extra_user_info);
                loginStatus.updateAdFree(adFree);
                loginStatus.setLastModified();

                if (!(extid !== _prevExtid)) {
                  _context20.next = 33;
                  break;
                }

                _context20.next = 33;
                return _regenerator.default.awrap(LoginManager.sendExternalIdToAnalytics());

              case 33:
                _$$_REQUIRE(_dependencyMap[21]).EventRegister.emit(_events.default.NEWSMEMORY_LOGIN_CHECK_ENDED);

                return _context20.abrupt("return");

              case 37:
                _context20.prev = 37;
                _context20.t0 = _context20["catch"](18);

                _$$_REQUIRE(_dependencyMap[21]).EventRegister.emit(_events.default.NEWSMEMORY_LOGIN_CHECK_ENDED);

                if (!(_context20.t0 instanceof LoginError)) {
                  _context20.next = 52;
                  break;
                }

                code = _context20.t0.code;

                if (!(code === PROT_ERROR.NOT_LOGGEDIN)) {
                  _context20.next = 52;
                  break;
                }

                loginStatus.updateTAUID("-1");
                loginStatus.updateUniversalLinkToken("");
                loginStatus.updateExtId("");
                loginStatus.updateExtraUserInfo("");
                loginStatus.resetLastModified();

                if (_$$_REQUIRE(_dependencyMap[19]).JSUtils.isEmpty(_prevExtid)) {
                  _context20.next = 51;
                  break;
                }

                _context20.next = 51;
                return _regenerator.default.awrap(LoginManager.sendExternalIdToAnalytics());

              case 51:
                forceAutoLogin = true;

              case 52:
                prevExtid = loginStatus.extid;
                username = loginStatus.username, password = loginStatus.password, TAUID = loginStatus.TAUID, TOKEN = loginStatus.TOKEN, challenge = loginStatus.challenge;
                credentialsPresent = !!username || !!password || !!TOKEN;
                _global$getRssIndex3 = global.getRssIndex(), paywallEnabled = _global$getRssIndex3.paywallEnabled;
                paywallLoggedIn = paywallEnabled && _PaywallLoginStatus.default.isUserLoggedIn();

                if (!_$$_REQUIRE(_dependencyMap[20]).LoginStatus.isValidTAUID(TAUID)) {
                  _context20.next = 66;
                  break;
                }

                if (!(paywallLoggedIn && !credentialsPresent)) {
                  _context20.next = 64;
                  break;
                }

                _context20.next = 61;
                return _regenerator.default.awrap(_PaywallLoginStatus.default.getUserStatus());

              case 61:
                _await$PaywallLoginSt = _context20.sent;
                credentials = _await$PaywallLoginSt.credentials;

                if (credentials) {
                  username = credentials.user;
                  password = credentials.pwdEncrypt;
                  TOKEN = credentials.token;
                  challenge = credentials.challenge;
                }

              case 64:
                _context20.next = 92;
                break;

              case 66:
                if (!paywallLoggedIn) {
                  _context20.next = 70;
                  break;
                }

                forceAutoLogin = true;
                _context20.next = 92;
                break;

              case 70:
                if (credentialsPresent) {
                  _context20.next = 92;
                  break;
                }

                _context20.next = 73;
                return _regenerator.default.awrap(LoginManager.checkClassicUdbLoginStatus());

              case 73:
                _await$LoginManager$c = _context20.sent;
                username = _await$LoginManager$c.username;
                password = _await$LoginManager$c.password;
                TOKEN = _await$LoginManager$c.TOKEN;
                TAUID = _await$LoginManager$c.TAUID;
                challenge = _await$LoginManager$c.challenge;

                if (!_$$_REQUIRE(_dependencyMap[20]).LoginStatus.isValidTAUID(TAUID)) {
                  _context20.next = 83;
                  break;
                }

                forceAutoLogin = true;
                _context20.next = 92;
                break;

              case 83:
                if (!(isAllowedIP && !loginStatus.isLoggedIn())) {
                  _context20.next = 91;
                  break;
                }

                _$$_REQUIRE(_dependencyMap[21]).EventRegister.emit(_events.default.NEWSMEMORY_LOGIN_CHECK_STARTED);

                _context20.next = 87;
                return _regenerator.default.awrap(LoginManager.checkAllowedIP());

              case 87:
                allowIP = _context20.sent;

                if (!allowIP) {
                  _context20.next = 91;
                  break;
                }

                _$$_REQUIRE(_dependencyMap[21]).EventRegister.emit(_events.default.NEWSMEMORY_LOGIN_CHECK_ENDED);

                return _context20.abrupt("return");

              case 91:
                throw new LoginError(PROT_ERROR.NOT_LOGGEDIN, "User not logged in");

              case 92:
                if (!(_$$_REQUIRE(_dependencyMap[19]).NetworkUtils.isOnline() && (forceAutoLogin || timeLimitCheckLoginExpired))) {
                  _context20.next = 124;
                  break;
                }

                _context20.prev = 93;

                _$$_REQUIRE(_dependencyMap[21]).EventRegister.emit(_events.default.NEWSMEMORY_LOGIN_CHECK_STARTED);

                _context20.next = 97;
                return _regenerator.default.awrap(LoginManager.autoLogin({
                  username: username,
                  password: password,
                  TAUID: TAUID,
                  token: TOKEN,
                  challenge: challenge
                }));

              case 97:
                _data2 = _context20.sent;
                _userid = _data2.userid, _extid = _data2.extid, _extra_user_info = _data2.extra_user_info, _adFree = _data2.adFree;
                loginStatus.updateTAUID(_userid);
                loginStatus.updateExtId(_extid);
                loginStatus.updateExtraUserInfo(_extra_user_info);
                loginStatus.updateAdFree(_adFree);
                loginStatus.setLastModified();

                if (!(_extid !== prevExtid)) {
                  _context20.next = 107;
                  break;
                }

                _context20.next = 107;
                return _regenerator.default.awrap(LoginManager.sendExternalIdToAnalytics());

              case 107:
                if (forceAutoLogin && paywallEnabled && !paywallLoggedIn && username && password) {
                  _PaywallLoginStatus.default.remember({
                    user: username,
                    pwdEncrypt: password,
                    challenge: challenge,
                    extid: _extid,
                    logged: true
                  });
                }

                _context20.next = 123;
                break;

              case 110:
                _context20.prev = 110;
                _context20.t1 = _context20["catch"](93);

                if (!(_context20.t1 instanceof LoginError)) {
                  _context20.next = 123;
                  break;
                }

                _code = _context20.t1.code;

                if (!(_code === PROT_ERROR.NOT_LOGGEDIN)) {
                  _context20.next = 123;
                  break;
                }

                loginStatus.updateTAUID("-1");
                loginStatus.updateToken("");
                loginStatus.updateExtId("");
                loginStatus.updateExtraUserInfo("");
                loginStatus.resetLastModified();

                if (_$$_REQUIRE(_dependencyMap[19]).JSUtils.isEmpty(prevExtid)) {
                  _context20.next = 123;
                  break;
                }

                _context20.next = 123;
                return _regenerator.default.awrap(LoginManager.sendExternalIdToAnalytics());

              case 123:
                _$$_REQUIRE(_dependencyMap[21]).EventRegister.emit(_events.default.NEWSMEMORY_LOGIN_CHECK_ENDED);

              case 124:
              case "end":
                return _context20.stop();
            }
          }
        }, null, null, [[18, 37], [93, 110]], Promise);
      }
    }, {
      key: "checkClassicFavorites",
      value: function checkClassicFavorites() {
        var result, query, response;
        return _regenerator.default.async(function checkClassicFavorites$(_context21) {
          while (1) {
            switch (_context21.prev = _context21.next) {
              case 0:
                result = [];
                _context21.next = 3;
                return _regenerator.default.awrap(LoginManager.databaseExists());

              case 3:
                if (!_context21.sent) {
                  _context21.next = 16;
                  break;
                }

                query = "SELECT * FROM favorites";
                _context21.prev = 5;
                _context21.next = 8;
                return _regenerator.default.awrap(LoginManager.openTransaction(query, []));

              case 8:
                response = _context21.sent;

                if (response && response.length > 0) {
                  response.forEach(function (pub) {
                    result.push(new _Publication.default(pub));
                  });
                }

                _context21.next = 12;
                return _regenerator.default.awrap(LoginManager.closeDatabase());

              case 12:
                _context21.next = 16;
                break;

              case 14:
                _context21.prev = 14;
                _context21.t0 = _context21["catch"](5);

              case 16:
                return _context21.abrupt("return", result);

              case 17:
              case "end":
                return _context21.stop();
            }
          }
        }, null, null, [[5, 14]], Promise);
      }
    }, {
      key: "isAdFree",
      value: function isAdFree() {
        var _global$getActivePSet8 = global.getActivePSetup(),
            loginStatus = _global$getActivePSet8.loginStatus;

        return loginStatus && loginStatus.isAdFree() || _PaywallLoginStatus.default.isAdFree();
      }
    }, {
      key: "checkAllowedIP",
      value: function checkAllowedIP() {
        var config,
            isAllowedIP,
            loginStatus,
            _await$LoginManager$a,
            userid,
            _args22 = arguments;

        return _regenerator.default.async(function checkAllowedIP$(_context22) {
          while (1) {
            switch (_context22.prev = _context22.next) {
              case 0:
                config = _args22.length > 0 && _args22[0] !== undefined ? _args22[0] : global.getActivePSetup();

                if (!_$$_REQUIRE(_dependencyMap[19]).NetworkUtils.isOnline()) {
                  _context22.next = 15;
                  break;
                }

                isAllowedIP = config.isAllowedIP, loginStatus = config.loginStatus;

                if (!(isAllowedIP && !loginStatus.isLoggedIn())) {
                  _context22.next = 14;
                  break;
                }

                _context22.next = 6;
                return _regenerator.default.awrap(LoginManager.autoLogin());

              case 6:
                _await$LoginManager$a = _context22.sent;
                userid = _await$LoginManager$a.userid;

                if (!_$$_REQUIRE(_dependencyMap[20]).LoginStatus.isValidTAUID(userid)) {
                  _context22.next = 12;
                  break;
                }

                loginStatus.updateTAUID(userid);
                loginStatus.setIsAllowedIPUser(true);
                return _context22.abrupt("return", true);

              case 12:
                _context22.next = 15;
                break;

              case 14:
                if (!isAllowedIP && loginStatus.isAllowedIPUser()) {
                  loginStatus.updateTAUID("-1");
                  loginStatus.setIsAllowedIPUser(false);
                }

              case 15:
                return _context22.abrupt("return", false);

              case 16:
              case "end":
                return _context22.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "resetAllowedIP",
      value: function resetAllowedIP() {
        var _global$getActivePSet9, loginStatus;

        return _regenerator.default.async(function resetAllowedIP$(_context23) {
          while (1) {
            switch (_context23.prev = _context23.next) {
              case 0:
                _global$getActivePSet9 = global.getActivePSetup(), loginStatus = _global$getActivePSet9.loginStatus;
                loginStatus.updateTAUID("-1");
                loginStatus.setIsAllowedIPUser(false);
                _context23.next = 5;
                return _regenerator.default.awrap(LoginManager.recheckLogin(true));

              case 5:
              case "end":
                return _context23.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return LoginManager;
  }();

  exports.default = LoginManager;
  LoginManager.database = new _Database.default(LoginManager.getClassicDatabaseFilePath());
},2057,[5,80,7,8,12,14,16,63,2058,430,722,1862,460,574,711,1723,1864,1871,1954,462,721,572]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var RNCookieManagerIOS = _reactNative.NativeModules.RNCookieManagerIOS;
  var RNCookieManagerAndroid = _reactNative.NativeModules.RNCookieManagerAndroid;
  var CookieManager;

  if (_reactNative.Platform.OS === 'ios') {
    _$$_REQUIRE(_dependencyMap[3])(RNCookieManagerIOS, '@react-native-community/cookies: Add RNCookieManagerIOS.h and RNCookieManagerIOS.m to your Xcode project');

    CookieManager = RNCookieManagerIOS;
  } else if (_reactNative.Platform.OS === 'android') {
    _$$_REQUIRE(_dependencyMap[3])(RNCookieManagerAndroid, '@react-native-community/cookies: Import libraries to android "react-native link @react-native-community/cookies"');

    CookieManager = RNCookieManagerAndroid;
  } else {
    _$$_REQUIRE(_dependencyMap[3])(CookieManager, '@react-native-community/cookies: Invalid platform. This library only supports Android and iOS.');
  }

  var functions = ['setFromResponse', 'getFromResponse'];
  module.exports = {
    getAll: function getAll() {
      var useWebKit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
      return CookieManager.getAll(useWebKit);
    },
    clearAll: function clearAll() {
      var useWebKit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
      return CookieManager.clearAll(useWebKit);
    },
    get: function get(url) {
      var useWebKit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      return CookieManager.get(url, useWebKit);
    },
    set: function set(url, cookie) {
      var useWebKit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
      return CookieManager.set(url, cookie, useWebKit);
    },
    clearByName: function clearByName(url, name) {
      var useWebKit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
      return CookieManager.clearByName(url, name, useWebKit);
    },
    flush: function flush() {
      return _regenerator.default.async(function flush$(_context) {
        while (1) {
          switch (_context.prev = _context.next) {
            case 0:
              if (!(_reactNative.Platform.OS === 'android')) {
                _context.next = 3;
                break;
              }

              _context.next = 3;
              return _regenerator.default.awrap(CookieManager.flush());

            case 3:
            case "end":
              return _context.stop();
          }
        }
      }, null, null, null, Promise);
    },
    removeSessionCookies: function removeSessionCookies() {
      return _regenerator.default.async(function removeSessionCookies$(_context2) {
        while (1) {
          switch (_context2.prev = _context2.next) {
            case 0:
              if (!(_reactNative.Platform.OS === 'android')) {
                _context2.next = 4;
                break;
              }

              _context2.next = 3;
              return _regenerator.default.awrap(CookieManager.removeSessionCookies());

            case 3:
              return _context2.abrupt("return", _context2.sent);

            case 4:
            case "end":
              return _context2.stop();
          }
        }
      }, null, null, null, Promise);
    }
  };

  for (var i = 0; i < functions.length; i++) {
    module.exports[functions[i]] = CookieManager[functions[i]];
  }
},2058,[5,80,28,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.VerticalsConfig = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var VerticalsConfig = function () {
    function VerticalsConfig() {
      (0, _classCallCheck2.default)(this, VerticalsConfig);
      this.job = new (_$$_REQUIRE(_dependencyMap[4]).JobConfig)();
      this.realEstate = new (_$$_REQUIRE(_dependencyMap[5]).RealEstateConfig)();
      this.auto = new (_$$_REQUIRE(_dependencyMap[6]).AutoConfig)();
      this.events = new (_$$_REQUIRE(_dependencyMap[7]).EventsConfig)();
    }

    (0, _createClass2.default)(VerticalsConfig, [{
      key: "init",
      value: function init() {
        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return _regenerator.default.awrap(this.job.init());

              case 2:
                _context.next = 4;
                return _regenerator.default.awrap(this.realEstate.init());

              case 4:
                _context.next = 6;
                return _regenerator.default.awrap(this.auto.init());

              case 6:
                _context.next = 8;
                return _regenerator.default.awrap(this.events.init());

              case 8:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getJob",
      value: function getJob() {
        return this.job;
      }
    }, {
      key: "getAuto",
      value: function getAuto() {
        return this.auto;
      }
    }, {
      key: "getEvents",
      value: function getEvents() {
        return this.events;
      }
    }, {
      key: "getRealEstate",
      value: function getRealEstate() {
        return this.realEstate;
      }
    }]);
    return VerticalsConfig;
  }();

  exports.VerticalsConfig = VerticalsConfig;
},2059,[5,80,7,8,2060,2063,2064,2065]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.JobConfig = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var JobConfig = function (_VerticalConfig) {
    (0, _inherits2.default)(JobConfig, _VerticalConfig);

    var _super = _createSuper(JobConfig);

    function JobConfig() {
      (0, _classCallCheck2.default)(this, JobConfig);
      return _super.call(this, "JOB", _events.default.TOGGLE_JOB_FAVORITE, _events.default.TOGGLE_JOB_SEARCH);
    }

    return JobConfig;
  }(_$$_REQUIRE(_dependencyMap[6]).VerticalConfig);

  exports.JobConfig = JobConfig;
},2060,[5,7,12,14,16,460,2061]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.VerticalConfig = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _objectHash = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var VerticalConfig = function () {
    function VerticalConfig(tag, favoriteEvent, searchEvent) {
      (0, _classCallCheck2.default)(this, VerticalConfig);
      this.tag = tag;
      this.favoriteEvent = favoriteEvent;
      this.searchEvent = searchEvent;
      this.searches = {};
      this.favorites = {};
    }

    (0, _createClass2.default)(VerticalConfig, [{
      key: "init",
      value: function init() {
        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return _regenerator.default.awrap(this._retrieve("FAVORITES_" + this.tag));

              case 2:
                this.favorites = _context.sent;
                _context.next = 5;
                return _regenerator.default.awrap(this._retrieve("SEARCHES_" + this.tag));

              case 5:
                this.searches = _context.sent;

              case 6:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_retrieve",
      value: function _retrieve(tag) {
        return _regenerator.default.async(function _retrieve$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.prev = 0;
                _context2.next = 3;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[5]).StorageUtils.multiGet(tag, function (item) {
                  try {
                    return JSON.parse(item);
                  } catch (e) {
                    return item;
                  }
                }));

              case 3:
                return _context2.abrupt("return", _context2.sent);

              case 6:
                _context2.prev = 6;
                _context2.t0 = _context2["catch"](0);
                return _context2.abrupt("return", {});

              case 9:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, [[0, 6]], Promise);
      }
    }, {
      key: "_getKey",
      value: function _getKey(obj) {
        return (0, _objectHash.default)(obj);
      }
    }, {
      key: "searchIsStored",
      value: function searchIsStored(search, overrideKey) {
        if (overrideKey) {
          return this.searches(overrideKey) === search;
        }

        return this.searches[this._getKey(search)] !== undefined;
      }
    }, {
      key: "searchIsDefault",
      value: function searchIsDefault(search) {
        return this.searches.defaultKey === search;
      }
    }, {
      key: "searchIsLastSearch",
      value: function searchIsLastSearch(search) {
        return this.searches.uniqueKey === search;
      }
    }, {
      key: "getDefaultSearch",
      value: function getDefaultSearch() {
        return this.searches.defaultKey;
      }
    }, {
      key: "getLastSearch",
      value: function getLastSearch() {
        return this.searches.uniqueKey;
      }
    }, {
      key: "favoriteIsStored",
      value: function favoriteIsStored(favorite) {
        return this.favorites[this._getKey(favorite)] !== undefined;
      }
    }, {
      key: "toggleLastSearch",
      value: function toggleLastSearch(search) {
        this._addSearch(search, "uniqueKey");

        _$$_REQUIRE(_dependencyMap[6]).EventRegister.emit(this.searchEvent, search);
      }
    }, {
      key: "toggleDefaultSearch",
      value: function toggleDefaultSearch(search, forceAdd) {
        if (forceAdd) {
          this._addSearch(search, "defaultKey");
        } else {
          this._removeSearch(search, "defaultKey");
        }

        _$$_REQUIRE(_dependencyMap[6]).EventRegister.emit(this.searchEvent, search);
      }
    }, {
      key: "toggleSearch",
      value: function toggleSearch(search, overrideKey) {
        if (this.searchIsStored(search, overrideKey)) {
          this._removeSearch(search, overrideKey);
        } else {
          this._addSearch(search, overrideKey);
        }

        _$$_REQUIRE(_dependencyMap[6]).EventRegister.emit(this.searchEvent, search);
      }
    }, {
      key: "toggleFavorite",
      value: function toggleFavorite(favorite) {
        if (this.favoriteIsStored(favorite)) {
          this._removeFavorite(favorite);
        } else {
          this._addFavorite(favorite);
        }

        _$$_REQUIRE(_dependencyMap[6]).EventRegister.emit(this.favoriteEvent, favorite);
      }
    }, {
      key: "_addSearch",
      value: function _addSearch(search, overrideKey) {
        var key = overrideKey || this._getKey(search);

        this.searches[key] = search;

        _$$_REQUIRE(_dependencyMap[5]).StorageUtils.setItem("SEARCHES_" + this.tag, key, JSON.stringify(search));
      }
    }, {
      key: "_addFavorite",
      value: function _addFavorite(favorite) {
        var key = this._getKey(favorite);

        this.favorites[key] = favorite;

        _$$_REQUIRE(_dependencyMap[5]).StorageUtils.setItem("FAVORITES_" + this.tag, key, JSON.stringify(favorite));
      }
    }, {
      key: "_removeSearch",
      value: function _removeSearch(search, overrideKey) {
        var key = overrideKey || this._getKey(search);

        delete this.searches[key];

        _$$_REQUIRE(_dependencyMap[5]).StorageUtils.clear("SEARCHES_" + this.tag, key);
      }
    }, {
      key: "_removeFavorite",
      value: function _removeFavorite(favorite) {
        var key = this._getKey(favorite);

        delete this.favorites[key];

        _$$_REQUIRE(_dependencyMap[5]).StorageUtils.clear("FAVORITES_" + this.tag, key);
      }
    }, {
      key: "getSearches",
      value: function getSearches() {
        var _this = this;

        return Object.keys(this.searches).reduce(function (result, key) {
          if (key !== "uniqueKey" && key !== "defaultKey") result.push(_this.searches[key]);
          return result;
        }, []);
      }
    }, {
      key: "getFavorites",
      value: function getFavorites() {
        var _this2 = this;

        return Object.keys(this.favorites).reduce(function (result, key) {
          result.push(_this2.favorites[key]);
          return result;
        }, []);
      }
    }]);
    return VerticalConfig;
  }();

  exports.VerticalConfig = VerticalConfig;
},2061,[5,80,7,8,2062,462,572]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  !function (e) {
    if ("object" == typeof exports) module.exports = e();else if ("function" == typeof define && define.amd) define(e);else {
      var t;
      "undefined" != typeof window ? t = window : "undefined" != typeof global ? t = global : "undefined" != typeof self && (t = self), t.objectHash = e();
    }
  }(function () {
    return function e(t, n, r) {
      function o(u, a) {
        if (!n[u]) {
          if (!t[u]) {
            var f = "function" == typeof _$$_REQUIRE && _$$_REQUIRE;
            if (!a && f) return f(u, true);
            if (i) return i(u, true);
            throw new Error("Cannot find module '" + u + "'");
          }

          var s = n[u] = {
            exports: {}
          };
          t[u][0].call(s.exports, function (e) {
            var n = t[u][1][e];
            return o(n ? n : e);
          }, s, s.exports, e, t, n, r);
        }

        return n[u].exports;
      }

      for (var i = "function" == typeof _$$_REQUIRE && _$$_REQUIRE, u = 0; u < r.length; u++) {
        o(r[u]);
      }

      return o;
    }({
      1: [function (e, t, n) {
        (function (r, o, i, u, a, f, s, c, l) {
          "use strict";

          function d(e, t) {
            return t = h(e, t), g(e, t);
          }

          function h(e, t) {
            if (t = t || {}, t.algorithm = t.algorithm || "sha1", t.encoding = t.encoding || "hex", t.excludeValues = !!t.excludeValues, t.algorithm = t.algorithm.toLowerCase(), t.encoding = t.encoding.toLowerCase(), t.ignoreUnknown = t.ignoreUnknown === true, t.respectType = t.respectType !== false, t.respectFunctionNames = t.respectFunctionNames !== false, t.respectFunctionProperties = t.respectFunctionProperties !== false, t.unorderedArrays = t.unorderedArrays === true, t.unorderedSets = t.unorderedSets !== false, t.unorderedObjects = t.unorderedObjects !== false, t.replacer = t.replacer || undefined, t.excludeKeys = t.excludeKeys || undefined, "undefined" == typeof e) throw new Error("Object argument required.");

            for (var n = 0; n < v.length; ++n) {
              v[n].toLowerCase() === t.algorithm.toLowerCase() && (t.algorithm = v[n]);
            }

            if (v.indexOf(t.algorithm) === -1) throw new Error('Algorithm "' + t.algorithm + '"  not supported. supported values: ' + v.join(", "));
            if (m.indexOf(t.encoding) === -1 && "passthrough" !== t.algorithm) throw new Error('Encoding "' + t.encoding + '"  not supported. supported values: ' + m.join(", "));
            return t;
          }

          function p(e) {
            if ("function" != typeof e) return false;
            var t = /^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i;
            return null != t.exec(Function.prototype.toString.call(e));
          }

          function g(e, t) {
            var n;
            n = "passthrough" !== t.algorithm ? b.createHash(t.algorithm) : new w(), "undefined" == typeof n.write && (n.write = n.update, n.end = n.update);
            var r = y(t, n);
            if (r.dispatch(e), n.update || n.end(""), n.digest) return n.digest("buffer" === t.encoding ? undefined : t.encoding);
            var o = n.read();
            return "buffer" === t.encoding ? o : o.toString(t.encoding);
          }

          function y(e, t, n) {
            n = n || [];

            var r = function r(e) {
              return t.update ? t.update(e, "utf8") : t.write(e, "utf8");
            };

            return {
              dispatch: function dispatch(t) {
                e.replacer && (t = e.replacer(t));
                var n = typeof t;
                return null === t && (n = "null"), this["_" + n](t);
              },
              _object: function _object(t) {
                var o = /\[object (.*)\]/i,
                    u = Object.prototype.toString.call(t),
                    a = o.exec(u);
                a = a ? a[1] : "unknown:[" + u + "]", a = a.toLowerCase();
                var f = null;
                if ((f = n.indexOf(t)) >= 0) return this.dispatch("[CIRCULAR:" + f + "]");
                if (n.push(t), "undefined" != typeof i && i.isBuffer && i.isBuffer(t)) return r("buffer:"), r(t);

                if ("object" === a || "function" === a) {
                  var s = Object.keys(t);
                  e.unorderedObjects && (s = s.sort()), e.respectType === false || p(t) || s.splice(0, 0, "prototype", "__proto__", "constructor"), e.excludeKeys && (s = s.filter(function (t) {
                    return !e.excludeKeys(t);
                  })), r("object:" + s.length + ":");
                  var c = this;
                  return s.forEach(function (n) {
                    c.dispatch(n), r(":"), e.excludeValues || c.dispatch(t[n]), r(",");
                  });
                }

                if (!this["_" + a]) {
                  if (e.ignoreUnknown) return r("[" + a + "]");
                  throw new Error('Unknown object type "' + a + '"');
                }

                this["_" + a](t);
              },
              _array: function _array(t, o) {
                o = "undefined" != typeof o ? o : e.unorderedArrays !== false;
                var i = this;
                if (r("array:" + t.length + ":"), !o || t.length <= 1) return t.forEach(function (e) {
                  return i.dispatch(e);
                });
                var u = [],
                    a = t.map(function (t) {
                  var r = new w(),
                      o = n.slice(),
                      i = y(e, r, o);
                  return i.dispatch(t), u = u.concat(o.slice(n.length)), r.read().toString();
                });
                return n = n.concat(u), a.sort(), this._array(a, false);
              },
              _date: function _date(e) {
                return r("date:" + e.toJSON());
              },
              _symbol: function _symbol(e) {
                return r("symbol:" + e.toString());
              },
              _error: function _error(e) {
                return r("error:" + e.toString());
              },
              _boolean: function _boolean(e) {
                return r("bool:" + e.toString());
              },
              _string: function _string(e) {
                r("string:" + e.length + ":"), r(e.toString());
              },
              _function: function _function(t) {
                r("fn:"), p(t) ? this.dispatch("[native]") : this.dispatch(t.toString()), e.respectFunctionNames !== false && this.dispatch("function-name:" + String(t.name)), e.respectFunctionProperties && this._object(t);
              },
              _number: function _number(e) {
                return r("number:" + e.toString());
              },
              _xml: function _xml(e) {
                return r("xml:" + e.toString());
              },
              _null: function _null() {
                return r("Null");
              },
              _undefined: function _undefined() {
                return r("Undefined");
              },
              _regexp: function _regexp(e) {
                return r("regex:" + e.toString());
              },
              _uint8array: function _uint8array(e) {
                return r("uint8array:"), this.dispatch(Array.prototype.slice.call(e));
              },
              _uint8clampedarray: function _uint8clampedarray(e) {
                return r("uint8clampedarray:"), this.dispatch(Array.prototype.slice.call(e));
              },
              _int8array: function _int8array(e) {
                return r("uint8array:"), this.dispatch(Array.prototype.slice.call(e));
              },
              _uint16array: function _uint16array(e) {
                return r("uint16array:"), this.dispatch(Array.prototype.slice.call(e));
              },
              _int16array: function _int16array(e) {
                return r("uint16array:"), this.dispatch(Array.prototype.slice.call(e));
              },
              _uint32array: function _uint32array(e) {
                return r("uint32array:"), this.dispatch(Array.prototype.slice.call(e));
              },
              _int32array: function _int32array(e) {
                return r("uint32array:"), this.dispatch(Array.prototype.slice.call(e));
              },
              _float32array: function _float32array(e) {
                return r("float32array:"), this.dispatch(Array.prototype.slice.call(e));
              },
              _float64array: function _float64array(e) {
                return r("float64array:"), this.dispatch(Array.prototype.slice.call(e));
              },
              _arraybuffer: function _arraybuffer(e) {
                return r("arraybuffer:"), this.dispatch(new Uint8Array(e));
              },
              _url: function _url(e) {
                return r("url:" + e.toString(), "utf8");
              },
              _map: function _map(t) {
                r("map:");
                var n = Array.from(t);
                return this._array(n, e.unorderedSets !== false);
              },
              _set: function _set(t) {
                r("set:");
                var n = Array.from(t);
                return this._array(n, e.unorderedSets !== false);
              },
              _blob: function _blob() {
                if (e.ignoreUnknown) return r("[blob]");
                throw Error('Hashing Blob objects is currently not supported\n(see https://github.com/puleos/object-hash/issues/26)\nUse "options.replacer" or "options.ignoreUnknown"\n');
              },
              _domwindow: function _domwindow() {
                return r("domwindow");
              },
              _process: function _process() {
                return r("process");
              },
              _timer: function _timer() {
                return r("timer");
              },
              _pipe: function _pipe() {
                return r("pipe");
              },
              _tcp: function _tcp() {
                return r("tcp");
              },
              _udp: function _udp() {
                return r("udp");
              },
              _tty: function _tty() {
                return r("tty");
              },
              _statwatcher: function _statwatcher() {
                return r("statwatcher");
              },
              _securecontext: function _securecontext() {
                return r("securecontext");
              },
              _connection: function _connection() {
                return r("connection");
              },
              _zlib: function _zlib() {
                return r("zlib");
              },
              _context: function _context() {
                return r("context");
              },
              _nodescript: function _nodescript() {
                return r("nodescript");
              },
              _httpparser: function _httpparser() {
                return r("httpparser");
              },
              _dataview: function _dataview() {
                return r("dataview");
              },
              _signal: function _signal() {
                return r("signal");
              },
              _fsevent: function _fsevent() {
                return r("fsevent");
              },
              _tlswrap: function _tlswrap() {
                return r("tlswrap");
              }
            };
          }

          function w() {
            return {
              buf: "",
              write: function write(e) {
                this.buf += e;
              },
              end: function end(e) {
                this.buf += e;
              },
              read: function read() {
                return this.buf;
              }
            };
          }

          var b = e("crypto");
          n = t.exports = d, n.sha1 = function (e) {
            return d(e);
          }, n.keys = function (e) {
            return d(e, {
              excludeValues: true,
              algorithm: "sha1",
              encoding: "hex"
            });
          }, n.MD5 = function (e) {
            return d(e, {
              algorithm: "md5",
              encoding: "hex"
            });
          }, n.keysMD5 = function (e) {
            return d(e, {
              algorithm: "md5",
              encoding: "hex",
              excludeValues: true
            });
          };
          var v = b.getHashes ? b.getHashes().slice() : ["sha1", "md5"];
          v.push("passthrough");
          var m = ["buffer", "hex", "binary", "base64"];

          n.writeToStream = function (e, t, n) {
            return "undefined" == typeof n && (n = t, t = {}), t = h(e, t), y(t, n).dispatch(e);
          };
        }).call(this, e("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, e("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/fake_e8180ef5.js", "/");
      }, {
        buffer: 3,
        crypto: 5,
        lYpoI2: 10
      }],
      2: [function (e, t, n) {
        (function (e, t, r, o, i, u, a, f, s) {
          var c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
          !function (e) {
            "use strict";

            function t(e) {
              var t = e.charCodeAt(0);
              return t === i || t === l ? 62 : t === u || t === d ? 63 : t < a ? -1 : t < a + 10 ? t - a + 26 + 26 : t < s + 26 ? t - s : t < f + 26 ? t - f + 26 : undefined;
            }

            function n(e) {
              function n(e) {
                s[l++] = e;
              }

              var r, i, u, a, f, s;
              if (e.length % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4");
              var c = e.length;
              f = "=" === e.charAt(c - 2) ? 2 : "=" === e.charAt(c - 1) ? 1 : 0, s = new o(3 * e.length / 4 - f), u = f > 0 ? e.length - 4 : e.length;
              var l = 0;

              for (r = 0, i = 0; r < u; r += 4, i += 3) {
                a = t(e.charAt(r)) << 18 | t(e.charAt(r + 1)) << 12 | t(e.charAt(r + 2)) << 6 | t(e.charAt(r + 3)), n((16711680 & a) >> 16), n((65280 & a) >> 8), n(255 & a);
              }

              return 2 === f ? (a = t(e.charAt(r)) << 2 | t(e.charAt(r + 1)) >> 4, n(255 & a)) : 1 === f && (a = t(e.charAt(r)) << 10 | t(e.charAt(r + 1)) << 4 | t(e.charAt(r + 2)) >> 2, n(a >> 8 & 255), n(255 & a)), s;
            }

            function r(e) {
              function t(e) {
                return c.charAt(e);
              }

              function n(e) {
                return t(e >> 18 & 63) + t(e >> 12 & 63) + t(e >> 6 & 63) + t(63 & e);
              }

              var r,
                  o,
                  i,
                  u = e.length % 3,
                  a = "";

              for (r = 0, i = e.length - u; r < i; r += 3) {
                o = (e[r] << 16) + (e[r + 1] << 8) + e[r + 2], a += n(o);
              }

              switch (u) {
                case 1:
                  o = e[e.length - 1], a += t(o >> 2), a += t(o << 4 & 63), a += "==";
                  break;

                case 2:
                  o = (e[e.length - 2] << 8) + e[e.length - 1], a += t(o >> 10), a += t(o >> 4 & 63), a += t(o << 2 & 63), a += "=";
              }

              return a;
            }

            var o = "undefined" != typeof Uint8Array ? Uint8Array : Array,
                i = "+".charCodeAt(0),
                u = "/".charCodeAt(0),
                a = "0".charCodeAt(0),
                f = "a".charCodeAt(0),
                s = "A".charCodeAt(0),
                l = "-".charCodeAt(0),
                d = "_".charCodeAt(0);
            e.toByteArray = n, e.fromByteArray = r;
          }("undefined" == typeof n ? this.base64js = {} : n);
        }).call(this, e("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, e("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js", "/node_modules/gulp-browserify/node_modules/base64-js/lib");
      }, {
        buffer: 3,
        lYpoI2: 10
      }],
      3: [function (e, t, n) {
        (function (t, r, o, i, u, a, f, s, c) {
          function o(e, t, n) {
            if (!(this instanceof o)) return new o(e, t, n);
            var r = typeof e;
            if ("base64" === t && "string" === r) for (e = N(e); e.length % 4 !== 0;) {
              e += "=";
            }
            var i;
            if ("number" === r) i = F(e);else if ("string" === r) i = o.byteLength(e, t);else {
              if ("object" !== r) throw new Error("First argument needs to be a number, array or string.");
              i = F(e.length);
            }
            var u;
            o._useTypedArrays ? u = o._augment(new Uint8Array(i)) : (u = this, u.length = i, u._isBuffer = true);
            var a;
            if (o._useTypedArrays && "number" == typeof e.byteLength) u._set(e);else if (O(e)) for (a = 0; a < i; a++) {
              o.isBuffer(e) ? u[a] = e.readUInt8(a) : u[a] = e[a];
            } else if ("string" === r) u.write(e, 0, t);else if ("number" === r && !o._useTypedArrays && !n) for (a = 0; a < i; a++) {
              u[a] = 0;
            }
            return u;
          }

          function l(e, t, n, r) {
            n = Number(n) || 0;
            var i = e.length - n;
            r ? (r = Number(r), r > i && (r = i)) : r = i;
            var u = t.length;
            $(u % 2 === 0, "Invalid hex string"), r > u / 2 && (r = u / 2);

            for (var a = 0; a < r; a++) {
              var f = parseInt(t.substr(2 * a, 2), 16);
              $(!isNaN(f), "Invalid hex string"), e[n + a] = f;
            }

            return o._charsWritten = 2 * a, a;
          }

          function d(e, t, n, r) {
            var i = o._charsWritten = W(V(t), e, n, r);
            return i;
          }

          function h(e, t, n, r) {
            var i = o._charsWritten = W(q(t), e, n, r);
            return i;
          }

          function p(e, t, n, r) {
            return h(e, t, n, r);
          }

          function g(e, t, n, r) {
            var i = o._charsWritten = W(R(t), e, n, r);
            return i;
          }

          function y(e, t, n, r) {
            var i = o._charsWritten = W(P(t), e, n, r);
            return i;
          }

          function w(e, t, n) {
            return 0 === t && n === e.length ? G.fromByteArray(e) : G.fromByteArray(e.slice(t, n));
          }

          function b(e, t, n) {
            var r = "",
                o = "";
            n = Math.min(e.length, n);

            for (var i = t; i < n; i++) {
              e[i] <= 127 ? (r += J(o) + String.fromCharCode(e[i]), o = "") : o += "%" + e[i].toString(16);
            }

            return r + J(o);
          }

          function v(e, t, n) {
            var r = "";
            n = Math.min(e.length, n);

            for (var o = t; o < n; o++) {
              r += String.fromCharCode(e[o]);
            }

            return r;
          }

          function m(e, t, n) {
            return v(e, t, n);
          }

          function _(e, t, n) {
            var r = e.length;
            (!t || t < 0) && (t = 0), (!n || n < 0 || n > r) && (n = r);

            for (var o = "", i = t; i < n; i++) {
              o += H(e[i]);
            }

            return o;
          }

          function E(e, t, n) {
            for (var r = e.slice(t, n), o = "", i = 0; i < r.length; i += 2) {
              o += String.fromCharCode(r[i] + 256 * r[i + 1]);
            }

            return o;
          }

          function I(e, t, n, r) {
            r || ($("boolean" == typeof n, "missing or invalid endian"), $(undefined !== t && null !== t, "missing offset"), $(t + 1 < e.length, "Trying to read beyond buffer length"));
            var o = e.length;

            if (!(t >= o)) {
              var i;
              return n ? (i = e[t], t + 1 < o && (i |= e[t + 1] << 8)) : (i = e[t] << 8, t + 1 < o && (i |= e[t + 1])), i;
            }
          }

          function A(e, t, n, r) {
            r || ($("boolean" == typeof n, "missing or invalid endian"), $(undefined !== t && null !== t, "missing offset"), $(t + 3 < e.length, "Trying to read beyond buffer length"));
            var o = e.length;

            if (!(t >= o)) {
              var i;
              return n ? (t + 2 < o && (i = e[t + 2] << 16), t + 1 < o && (i |= e[t + 1] << 8), i |= e[t], t + 3 < o && (i += e[t + 3] << 24 >>> 0)) : (t + 1 < o && (i = e[t + 1] << 16), t + 2 < o && (i |= e[t + 2] << 8), t + 3 < o && (i |= e[t + 3]), i += e[t] << 24 >>> 0), i;
            }
          }

          function B(e, t, n, r) {
            r || ($("boolean" == typeof n, "missing or invalid endian"), $(undefined !== t && null !== t, "missing offset"), $(t + 1 < e.length, "Trying to read beyond buffer length"));
            var o = e.length;

            if (!(t >= o)) {
              var i = I(e, t, n, true),
                  u = 32768 & i;
              return u ? (65535 - i + 1) * -1 : i;
            }
          }

          function L(e, t, n, r) {
            r || ($("boolean" == typeof n, "missing or invalid endian"), $(undefined !== t && null !== t, "missing offset"), $(t + 3 < e.length, "Trying to read beyond buffer length"));
            var o = e.length;

            if (!(t >= o)) {
              var i = A(e, t, n, true),
                  u = 2147483648 & i;
              return u ? (4294967295 - i + 1) * -1 : i;
            }
          }

          function U(e, t, n, r) {
            return r || ($("boolean" == typeof n, "missing or invalid endian"), $(t + 3 < e.length, "Trying to read beyond buffer length")), Q.read(e, t, n, 23, 4);
          }

          function x(e, t, n, r) {
            return r || ($("boolean" == typeof n, "missing or invalid endian"), $(t + 7 < e.length, "Trying to read beyond buffer length")), Q.read(e, t, n, 52, 8);
          }

          function S(e, t, n, r, o) {
            o || ($(undefined !== t && null !== t, "missing value"), $("boolean" == typeof r, "missing or invalid endian"), $(undefined !== n && null !== n, "missing offset"), $(n + 1 < e.length, "trying to write beyond buffer length"), K(t, 65535));
            var i = e.length;
            if (!(n >= i)) for (var u = 0, a = Math.min(i - n, 2); u < a; u++) {
              e[n + u] = (t & 255 << 8 * (r ? u : 1 - u)) >>> 8 * (r ? u : 1 - u);
            }
          }

          function j(e, t, n, r, o) {
            o || ($(undefined !== t && null !== t, "missing value"), $("boolean" == typeof r, "missing or invalid endian"), $(undefined !== n && null !== n, "missing offset"), $(n + 3 < e.length, "trying to write beyond buffer length"), K(t, 4294967295));
            var i = e.length;
            if (!(n >= i)) for (var u = 0, a = Math.min(i - n, 4); u < a; u++) {
              e[n + u] = t >>> 8 * (r ? u : 3 - u) & 255;
            }
          }

          function C(e, t, n, r, o) {
            o || ($(undefined !== t && null !== t, "missing value"), $("boolean" == typeof r, "missing or invalid endian"), $(undefined !== n && null !== n, "missing offset"), $(n + 1 < e.length, "Trying to write beyond buffer length"), z(t, 32767, -32768));
            var i = e.length;
            n >= i || (t >= 0 ? S(e, t, n, r, o) : S(e, 65535 + t + 1, n, r, o));
          }

          function k(e, t, n, r, o) {
            o || ($(undefined !== t && null !== t, "missing value"), $("boolean" == typeof r, "missing or invalid endian"), $(undefined !== n && null !== n, "missing offset"), $(n + 3 < e.length, "Trying to write beyond buffer length"), z(t, 2147483647, -2147483648));
            var i = e.length;
            n >= i || (t >= 0 ? j(e, t, n, r, o) : j(e, 4294967295 + t + 1, n, r, o));
          }

          function T(e, t, n, r, o) {
            o || ($(undefined !== t && null !== t, "missing value"), $("boolean" == typeof r, "missing or invalid endian"), $(undefined !== n && null !== n, "missing offset"), $(n + 3 < e.length, "Trying to write beyond buffer length"), X(t, 3.4028234663852886e38, -3.4028234663852886e+38));
            var i = e.length;
            n >= i || Q.write(e, t, n, r, 23, 4);
          }

          function M(e, t, n, r, o) {
            o || ($(undefined !== t && null !== t, "missing value"), $("boolean" == typeof r, "missing or invalid endian"), $(undefined !== n && null !== n, "missing offset"), $(n + 7 < e.length, "Trying to write beyond buffer length"), X(t, 1.7976931348623157e308, -1.7976931348623157e+308));
            var i = e.length;
            n >= i || Q.write(e, t, n, r, 52, 8);
          }

          function N(e) {
            return e.trim ? e.trim() : e.replace(/^\s+|\s+$/g, "");
          }

          function Y(e, t, n) {
            return "number" != typeof e ? n : (e = ~~e, e >= t ? t : e >= 0 ? e : (e += t, e >= 0 ? e : 0));
          }

          function F(e) {
            return e = ~~Math.ceil(+e), e < 0 ? 0 : e;
          }

          function D(e) {
            return (Array.isArray || function (e) {
              return "[object Array]" === Object.prototype.toString.call(e);
            })(e);
          }

          function O(e) {
            return D(e) || o.isBuffer(e) || e && "object" == typeof e && "number" == typeof e.length;
          }

          function H(e) {
            return e < 16 ? "0" + e.toString(16) : e.toString(16);
          }

          function V(e) {
            for (var t = [], n = 0; n < e.length; n++) {
              var r = e.charCodeAt(n);
              if (r <= 127) t.push(e.charCodeAt(n));else {
                var o = n;
                r >= 55296 && r <= 57343 && n++;

                for (var i = encodeURIComponent(e.slice(o, n + 1)).substr(1).split("%"), u = 0; u < i.length; u++) {
                  t.push(parseInt(i[u], 16));
                }
              }
            }

            return t;
          }

          function q(e) {
            for (var t = [], n = 0; n < e.length; n++) {
              t.push(255 & e.charCodeAt(n));
            }

            return t;
          }

          function P(e) {
            for (var t, n, r, o = [], i = 0; i < e.length; i++) {
              t = e.charCodeAt(i), n = t >> 8, r = t % 256, o.push(r), o.push(n);
            }

            return o;
          }

          function R(e) {
            return G.toByteArray(e);
          }

          function W(e, t, n, r) {
            for (var o = 0; o < r && !(o + n >= t.length || o >= e.length); o++) {
              t[o + n] = e[o];
            }

            return o;
          }

          function J(e) {
            try {
              return decodeURIComponent(e);
            } catch (t) {
              return String.fromCharCode(65533);
            }
          }

          function K(e, t) {
            $("number" == typeof e, "cannot write a non-number as a number"), $(e >= 0, "specified a negative value for writing an unsigned value"), $(e <= t, "value is larger than maximum value for type"), $(Math.floor(e) === e, "value has a fractional component");
          }

          function z(e, t, n) {
            $("number" == typeof e, "cannot write a non-number as a number"), $(e <= t, "value larger than maximum allowed value"), $(e >= n, "value smaller than minimum allowed value"), $(Math.floor(e) === e, "value has a fractional component");
          }

          function X(e, t, n) {
            $("number" == typeof e, "cannot write a non-number as a number"), $(e <= t, "value larger than maximum allowed value"), $(e >= n, "value smaller than minimum allowed value");
          }

          function $(e, t) {
            if (!e) throw new Error(t || "Failed assertion");
          }

          var G = e("base64-js"),
              Q = e("ieee754");
          n.Buffer = o, n.SlowBuffer = o, n.INSPECT_MAX_BYTES = 50, o.poolSize = 8192, o._useTypedArrays = function () {
            try {
              var e = new ArrayBuffer(0),
                  t = new Uint8Array(e);
              return t.foo = function () {
                return 42;
              }, 42 === t.foo() && "function" == typeof t.subarray;
            } catch (n) {
              return false;
            }
          }(), o.isEncoding = function (e) {
            switch (String(e).toLowerCase()) {
              case "hex":
              case "utf8":
              case "utf-8":
              case "ascii":
              case "binary":
              case "base64":
              case "raw":
              case "ucs2":
              case "ucs-2":
              case "utf16le":
              case "utf-16le":
                return true;

              default:
                return false;
            }
          }, o.isBuffer = function (e) {
            return !(null === e || undefined === e || !e._isBuffer);
          }, o.byteLength = function (e, t) {
            var n;

            switch (e += "", t || "utf8") {
              case "hex":
                n = e.length / 2;
                break;

              case "utf8":
              case "utf-8":
                n = V(e).length;
                break;

              case "ascii":
              case "binary":
              case "raw":
                n = e.length;
                break;

              case "base64":
                n = R(e).length;
                break;

              case "ucs2":
              case "ucs-2":
              case "utf16le":
              case "utf-16le":
                n = 2 * e.length;
                break;

              default:
                throw new Error("Unknown encoding");
            }

            return n;
          }, o.concat = function (e, t) {
            if ($(D(e), "Usage: Buffer.concat(list, [totalLength])\nlist should be an Array."), 0 === e.length) return new o(0);
            if (1 === e.length) return e[0];
            var n;
            if ("number" != typeof t) for (t = 0, n = 0; n < e.length; n++) {
              t += e[n].length;
            }
            var r = new o(t),
                i = 0;

            for (n = 0; n < e.length; n++) {
              var u = e[n];
              u.copy(r, i), i += u.length;
            }

            return r;
          }, o.prototype.write = function (e, t, n, r) {
            if (isFinite(t)) isFinite(n) || (r = n, n = undefined);else {
              var o = r;
              r = t, t = n, n = o;
            }
            t = Number(t) || 0;
            var i = this.length - t;
            n ? (n = Number(n), n > i && (n = i)) : n = i, r = String(r || "utf8").toLowerCase();
            var u;

            switch (r) {
              case "hex":
                u = l(this, e, t, n);
                break;

              case "utf8":
              case "utf-8":
                u = d(this, e, t, n);
                break;

              case "ascii":
                u = h(this, e, t, n);
                break;

              case "binary":
                u = p(this, e, t, n);
                break;

              case "base64":
                u = g(this, e, t, n);
                break;

              case "ucs2":
              case "ucs-2":
              case "utf16le":
              case "utf-16le":
                u = y(this, e, t, n);
                break;

              default:
                throw new Error("Unknown encoding");
            }

            return u;
          }, o.prototype.toString = function (e, t, n) {
            var r = this;
            if (e = String(e || "utf8").toLowerCase(), t = Number(t) || 0, n = undefined !== n ? Number(n) : n = r.length, n === t) return "";
            var o;

            switch (e) {
              case "hex":
                o = _(r, t, n);
                break;

              case "utf8":
              case "utf-8":
                o = b(r, t, n);
                break;

              case "ascii":
                o = v(r, t, n);
                break;

              case "binary":
                o = m(r, t, n);
                break;

              case "base64":
                o = w(r, t, n);
                break;

              case "ucs2":
              case "ucs-2":
              case "utf16le":
              case "utf-16le":
                o = E(r, t, n);
                break;

              default:
                throw new Error("Unknown encoding");
            }

            return o;
          }, o.prototype.toJSON = function () {
            return {
              type: "Buffer",
              data: Array.prototype.slice.call(this._arr || this, 0)
            };
          }, o.prototype.copy = function (e, t, n, r) {
            var i = this;

            if (n || (n = 0), r || 0 === r || (r = this.length), t || (t = 0), r !== n && 0 !== e.length && 0 !== i.length) {
              $(r >= n, "sourceEnd < sourceStart"), $(t >= 0 && t < e.length, "targetStart out of bounds"), $(n >= 0 && n < i.length, "sourceStart out of bounds"), $(r >= 0 && r <= i.length, "sourceEnd out of bounds"), r > this.length && (r = this.length), e.length - t < r - n && (r = e.length - t + n);
              var u = r - n;
              if (u < 100 || !o._useTypedArrays) for (var a = 0; a < u; a++) {
                e[a + t] = this[a + n];
              } else e._set(this.subarray(n, n + u), t);
            }
          }, o.prototype.slice = function (e, t) {
            var n = this.length;
            if (e = Y(e, n, 0), t = Y(t, n, n), o._useTypedArrays) return o._augment(this.subarray(e, t));

            for (var r = t - e, i = new o(r, undefined, true), u = 0; u < r; u++) {
              i[u] = this[u + e];
            }

            return i;
          }, o.prototype.get = function (e) {
            return undefined, this.readUInt8(e);
          }, o.prototype.set = function (e, t) {
            return undefined, this.writeUInt8(e, t);
          }, o.prototype.readUInt8 = function (e, t) {
            if (t || ($(undefined !== e && null !== e, "missing offset"), $(e < this.length, "Trying to read beyond buffer length")), !(e >= this.length)) return this[e];
          }, o.prototype.readUInt16LE = function (e, t) {
            return I(this, e, true, t);
          }, o.prototype.readUInt16BE = function (e, t) {
            return I(this, e, false, t);
          }, o.prototype.readUInt32LE = function (e, t) {
            return A(this, e, true, t);
          }, o.prototype.readUInt32BE = function (e, t) {
            return A(this, e, false, t);
          }, o.prototype.readInt8 = function (e, t) {
            if (t || ($(undefined !== e && null !== e, "missing offset"), $(e < this.length, "Trying to read beyond buffer length")), !(e >= this.length)) {
              var n = 128 & this[e];
              return n ? (255 - this[e] + 1) * -1 : this[e];
            }
          }, o.prototype.readInt16LE = function (e, t) {
            return B(this, e, true, t);
          }, o.prototype.readInt16BE = function (e, t) {
            return B(this, e, false, t);
          }, o.prototype.readInt32LE = function (e, t) {
            return L(this, e, true, t);
          }, o.prototype.readInt32BE = function (e, t) {
            return L(this, e, false, t);
          }, o.prototype.readFloatLE = function (e, t) {
            return U(this, e, true, t);
          }, o.prototype.readFloatBE = function (e, t) {
            return U(this, e, false, t);
          }, o.prototype.readDoubleLE = function (e, t) {
            return x(this, e, true, t);
          }, o.prototype.readDoubleBE = function (e, t) {
            return x(this, e, false, t);
          }, o.prototype.writeUInt8 = function (e, t, n) {
            n || ($(undefined !== e && null !== e, "missing value"), $(undefined !== t && null !== t, "missing offset"), $(t < this.length, "trying to write beyond buffer length"), K(e, 255)), t >= this.length || (this[t] = e);
          }, o.prototype.writeUInt16LE = function (e, t, n) {
            S(this, e, t, true, n);
          }, o.prototype.writeUInt16BE = function (e, t, n) {
            S(this, e, t, false, n);
          }, o.prototype.writeUInt32LE = function (e, t, n) {
            j(this, e, t, true, n);
          }, o.prototype.writeUInt32BE = function (e, t, n) {
            j(this, e, t, false, n);
          }, o.prototype.writeInt8 = function (e, t, n) {
            n || ($(undefined !== e && null !== e, "missing value"), $(undefined !== t && null !== t, "missing offset"), $(t < this.length, "Trying to write beyond buffer length"), z(e, 127, -128)), t >= this.length || (e >= 0 ? this.writeUInt8(e, t, n) : this.writeUInt8(255 + e + 1, t, n));
          }, o.prototype.writeInt16LE = function (e, t, n) {
            C(this, e, t, true, n);
          }, o.prototype.writeInt16BE = function (e, t, n) {
            C(this, e, t, false, n);
          }, o.prototype.writeInt32LE = function (e, t, n) {
            k(this, e, t, true, n);
          }, o.prototype.writeInt32BE = function (e, t, n) {
            k(this, e, t, false, n);
          }, o.prototype.writeFloatLE = function (e, t, n) {
            T(this, e, t, true, n);
          }, o.prototype.writeFloatBE = function (e, t, n) {
            T(this, e, t, false, n);
          }, o.prototype.writeDoubleLE = function (e, t, n) {
            M(this, e, t, true, n);
          }, o.prototype.writeDoubleBE = function (e, t, n) {
            M(this, e, t, false, n);
          }, o.prototype.fill = function (e, t, n) {
            if (e || (e = 0), t || (t = 0), n || (n = this.length), "string" == typeof e && (e = e.charCodeAt(0)), $("number" == typeof e && !isNaN(e), "value is not a number"), $(n >= t, "end < start"), n !== t && 0 !== this.length) {
              $(t >= 0 && t < this.length, "start out of bounds"), $(n >= 0 && n <= this.length, "end out of bounds");

              for (var r = t; r < n; r++) {
                this[r] = e;
              }
            }
          }, o.prototype.inspect = function () {
            for (var e = [], t = this.length, r = 0; r < t; r++) {
              if (e[r] = H(this[r]), r === n.INSPECT_MAX_BYTES) {
                e[r + 1] = "...";
                break;
              }
            }

            return "<Buffer " + e.join(" ") + ">";
          }, o.prototype.toArrayBuffer = function () {
            if ("undefined" != typeof Uint8Array) {
              if (o._useTypedArrays) return new o(this).buffer;

              for (var e = new Uint8Array(this.length), t = 0, n = e.length; t < n; t += 1) {
                e[t] = this[t];
              }

              return e.buffer;
            }

            throw new Error("Buffer.toArrayBuffer not supported in this browser");
          };
          var Z = o.prototype;

          o._augment = function (e) {
            return e._isBuffer = true, e._get = e.get, e._set = e.set, e.get = Z.get, e.set = Z.set, e.write = Z.write, e.toString = Z.toString, e.toLocaleString = Z.toString, e.toJSON = Z.toJSON, e.copy = Z.copy, e.slice = Z.slice, e.readUInt8 = Z.readUInt8, e.readUInt16LE = Z.readUInt16LE, e.readUInt16BE = Z.readUInt16BE, e.readUInt32LE = Z.readUInt32LE, e.readUInt32BE = Z.readUInt32BE, e.readInt8 = Z.readInt8, e.readInt16LE = Z.readInt16LE, e.readInt16BE = Z.readInt16BE, e.readInt32LE = Z.readInt32LE, e.readInt32BE = Z.readInt32BE, e.readFloatLE = Z.readFloatLE, e.readFloatBE = Z.readFloatBE, e.readDoubleLE = Z.readDoubleLE, e.readDoubleBE = Z.readDoubleBE, e.writeUInt8 = Z.writeUInt8, e.writeUInt16LE = Z.writeUInt16LE, e.writeUInt16BE = Z.writeUInt16BE, e.writeUInt32LE = Z.writeUInt32LE, e.writeUInt32BE = Z.writeUInt32BE, e.writeInt8 = Z.writeInt8, e.writeInt16LE = Z.writeInt16LE, e.writeInt16BE = Z.writeInt16BE, e.writeInt32LE = Z.writeInt32LE, e.writeInt32BE = Z.writeInt32BE, e.writeFloatLE = Z.writeFloatLE, e.writeFloatBE = Z.writeFloatBE, e.writeDoubleLE = Z.writeDoubleLE, e.writeDoubleBE = Z.writeDoubleBE, e.fill = Z.fill, e.inspect = Z.inspect, e.toArrayBuffer = Z.toArrayBuffer, e;
          };
        }).call(this, e("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, e("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/buffer/index.js", "/node_modules/gulp-browserify/node_modules/buffer");
      }, {
        "base64-js": 2,
        buffer: 3,
        ieee754: 11,
        lYpoI2: 10
      }],
      4: [function (e, t, n) {
        (function (n, r, o, i, u, a, f, s, c) {
          function l(e, t) {
            if (e.length % p !== 0) {
              var n = e.length + (p - e.length % p);
              e = o.concat([e, g], n);
            }

            for (var r = [], i = t ? e.readInt32BE : e.readInt32LE, u = 0; u < e.length; u += p) {
              r.push(i.call(e, u));
            }

            return r;
          }

          function d(e, t, n) {
            for (var r = new o(t), i = n ? r.writeInt32BE : r.writeInt32LE, u = 0; u < e.length; u++) {
              i.call(r, e[u], 4 * u, true);
            }

            return r;
          }

          function h(e, t, n, r) {
            o.isBuffer(e) || (e = new o(e));
            var i = t(l(e, r), e.length * y);
            return d(i, n, r);
          }

          var o = e("buffer").Buffer,
              p = 4,
              g = new o(p);
          g.fill(0);
          var y = 8;
          t.exports = {
            hash: h
          };
        }).call(this, e("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, e("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/crypto-browserify/helpers.js", "/node_modules/gulp-browserify/node_modules/crypto-browserify");
      }, {
        buffer: 3,
        lYpoI2: 10
      }],
      5: [function (e, t, n) {
        (function (t, r, o, i, u, a, f, s, c) {
          function l(e, t, n) {
            o.isBuffer(t) || (t = new o(t)), o.isBuffer(n) || (n = new o(n)), t.length > m ? t = e(t) : t.length < m && (t = o.concat([t, _], m));

            for (var r = new o(m), i = new o(m), u = 0; u < m; u++) {
              r[u] = 54 ^ t[u], i[u] = 92 ^ t[u];
            }

            var a = e(o.concat([r, n]));
            return e(o.concat([i, a]));
          }

          function d(e, t) {
            e = e || "sha1";
            var n = v[e],
                r = [],
                i = 0;
            return n || h("algorithm:", e, "is not yet supported"), {
              update: function update(e) {
                return o.isBuffer(e) || (e = new o(e)), r.push(e), i += e.length, this;
              },
              digest: function digest(e) {
                var i = o.concat(r),
                    u = t ? l(n, t, i) : n(i);
                return r = null, e ? u.toString(e) : u;
              }
            };
          }

          function h() {
            var e = [].slice.call(arguments).join(" ");
            throw new Error([e, "we accept pull requests", "http://github.com/dominictarr/crypto-browserify"].join("\n"));
          }

          function p(e, t) {
            for (var n in e) {
              t(e[n], n);
            }
          }

          var o = e("buffer").Buffer,
              g = e("./sha"),
              y = e("./sha256"),
              w = e("./rng"),
              b = e("./md5"),
              v = {
            sha1: g,
            sha256: y,
            md5: b
          },
              m = 64,
              _ = new o(m);

          _.fill(0), n.createHash = function (e) {
            return d(e);
          }, n.createHmac = function (e, t) {
            return d(e, t);
          }, n.randomBytes = function (e, t) {
            if (!t || !t.call) return new o(w(e));

            try {
              t.call(this, undefined, new o(w(e)));
            } catch (n) {
              t(n);
            }
          }, p(["createCredentials", "createCipher", "createCipheriv", "createDecipher", "createDecipheriv", "createSign", "createVerify", "createDiffieHellman", "pbkdf2"], function (e) {
            n[e] = function () {
              h("sorry,", e, "is not implemented yet");
            };
          });
        }).call(this, e("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, e("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/crypto-browserify/index.js", "/node_modules/gulp-browserify/node_modules/crypto-browserify");
      }, {
        "./md5": 6,
        "./rng": 7,
        "./sha": 8,
        "./sha256": 9,
        buffer: 3,
        lYpoI2: 10
      }],
      6: [function (e, t, n) {
        (function (n, r, o, i, u, a, f, s, c) {
          function l(e, t) {
            e[t >> 5] |= 128 << t % 32, e[(t + 64 >>> 9 << 4) + 14] = t;

            for (var n = 1732584193, r = -271733879, o = -1732584194, i = 271733878, u = 0; u < e.length; u += 16) {
              var a = n,
                  f = r,
                  s = o,
                  c = i;
              n = h(n, r, o, i, e[u + 0], 7, -680876936), i = h(i, n, r, o, e[u + 1], 12, -389564586), o = h(o, i, n, r, e[u + 2], 17, 606105819), r = h(r, o, i, n, e[u + 3], 22, -1044525330), n = h(n, r, o, i, e[u + 4], 7, -176418897), i = h(i, n, r, o, e[u + 5], 12, 1200080426), o = h(o, i, n, r, e[u + 6], 17, -1473231341), r = h(r, o, i, n, e[u + 7], 22, -45705983), n = h(n, r, o, i, e[u + 8], 7, 1770035416), i = h(i, n, r, o, e[u + 9], 12, -1958414417), o = h(o, i, n, r, e[u + 10], 17, -42063), r = h(r, o, i, n, e[u + 11], 22, -1990404162), n = h(n, r, o, i, e[u + 12], 7, 1804603682), i = h(i, n, r, o, e[u + 13], 12, -40341101), o = h(o, i, n, r, e[u + 14], 17, -1502002290), r = h(r, o, i, n, e[u + 15], 22, 1236535329), n = p(n, r, o, i, e[u + 1], 5, -165796510), i = p(i, n, r, o, e[u + 6], 9, -1069501632), o = p(o, i, n, r, e[u + 11], 14, 643717713), r = p(r, o, i, n, e[u + 0], 20, -373897302), n = p(n, r, o, i, e[u + 5], 5, -701558691), i = p(i, n, r, o, e[u + 10], 9, 38016083), o = p(o, i, n, r, e[u + 15], 14, -660478335), r = p(r, o, i, n, e[u + 4], 20, -405537848), n = p(n, r, o, i, e[u + 9], 5, 568446438), i = p(i, n, r, o, e[u + 14], 9, -1019803690), o = p(o, i, n, r, e[u + 3], 14, -187363961), r = p(r, o, i, n, e[u + 8], 20, 1163531501), n = p(n, r, o, i, e[u + 13], 5, -1444681467), i = p(i, n, r, o, e[u + 2], 9, -51403784), o = p(o, i, n, r, e[u + 7], 14, 1735328473), r = p(r, o, i, n, e[u + 12], 20, -1926607734), n = g(n, r, o, i, e[u + 5], 4, -378558), i = g(i, n, r, o, e[u + 8], 11, -2022574463), o = g(o, i, n, r, e[u + 11], 16, 1839030562), r = g(r, o, i, n, e[u + 14], 23, -35309556), n = g(n, r, o, i, e[u + 1], 4, -1530992060), i = g(i, n, r, o, e[u + 4], 11, 1272893353), o = g(o, i, n, r, e[u + 7], 16, -155497632), r = g(r, o, i, n, e[u + 10], 23, -1094730640), n = g(n, r, o, i, e[u + 13], 4, 681279174), i = g(i, n, r, o, e[u + 0], 11, -358537222), o = g(o, i, n, r, e[u + 3], 16, -722521979), r = g(r, o, i, n, e[u + 6], 23, 76029189), n = g(n, r, o, i, e[u + 9], 4, -640364487), i = g(i, n, r, o, e[u + 12], 11, -421815835), o = g(o, i, n, r, e[u + 15], 16, 530742520), r = g(r, o, i, n, e[u + 2], 23, -995338651), n = y(n, r, o, i, e[u + 0], 6, -198630844), i = y(i, n, r, o, e[u + 7], 10, 1126891415), o = y(o, i, n, r, e[u + 14], 15, -1416354905), r = y(r, o, i, n, e[u + 5], 21, -57434055), n = y(n, r, o, i, e[u + 12], 6, 1700485571), i = y(i, n, r, o, e[u + 3], 10, -1894986606), o = y(o, i, n, r, e[u + 10], 15, -1051523), r = y(r, o, i, n, e[u + 1], 21, -2054922799), n = y(n, r, o, i, e[u + 8], 6, 1873313359), i = y(i, n, r, o, e[u + 15], 10, -30611744), o = y(o, i, n, r, e[u + 6], 15, -1560198380), r = y(r, o, i, n, e[u + 13], 21, 1309151649), n = y(n, r, o, i, e[u + 4], 6, -145523070), i = y(i, n, r, o, e[u + 11], 10, -1120210379), o = y(o, i, n, r, e[u + 2], 15, 718787259), r = y(r, o, i, n, e[u + 9], 21, -343485551), n = w(n, a), r = w(r, f), o = w(o, s), i = w(i, c);
            }

            return Array(n, r, o, i);
          }

          function d(e, t, n, r, o, i) {
            return w(b(w(w(t, e), w(r, i)), o), n);
          }

          function h(e, t, n, r, o, i, u) {
            return d(t & n | ~t & r, e, t, o, i, u);
          }

          function p(e, t, n, r, o, i, u) {
            return d(t & r | n & ~r, e, t, o, i, u);
          }

          function g(e, t, n, r, o, i, u) {
            return d(t ^ n ^ r, e, t, o, i, u);
          }

          function y(e, t, n, r, o, i, u) {
            return d(n ^ (t | ~r), e, t, o, i, u);
          }

          function w(e, t) {
            var n = (65535 & e) + (65535 & t),
                r = (e >> 16) + (t >> 16) + (n >> 16);
            return r << 16 | 65535 & n;
          }

          function b(e, t) {
            return e << t | e >>> 32 - t;
          }

          var v = e("./helpers");

          t.exports = function (e) {
            return v.hash(e, l, 16);
          };
        }).call(this, e("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, e("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js", "/node_modules/gulp-browserify/node_modules/crypto-browserify");
      }, {
        "./helpers": 4,
        buffer: 3,
        lYpoI2: 10
      }],
      7: [function (e, t, n) {
        (function (e, n, r, o, i, u, a, f, s) {
          !function () {
            var e,
                n,
                r = this;
            e = function e(_e) {
              for (var t, t, n = new Array(_e), r = 0; r < _e; r++) {
                0 == (3 & r) && (t = 4294967296 * Math.random()), n[r] = t >>> ((3 & r) << 3) & 255;
              }

              return n;
            }, r.crypto && crypto.getRandomValues && (n = function n(e) {
              var t = new Uint8Array(e);
              return crypto.getRandomValues(t), t;
            }), t.exports = n || e;
          }();
        }).call(this, e("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, e("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js", "/node_modules/gulp-browserify/node_modules/crypto-browserify");
      }, {
        buffer: 3,
        lYpoI2: 10
      }],
      8: [function (e, t, n) {
        (function (n, r, o, i, u, a, f, s, c) {
          function l(e, t) {
            e[t >> 5] |= 128 << 24 - t % 32, e[(t + 64 >> 9 << 4) + 15] = t;

            for (var n = Array(80), r = 1732584193, o = -271733879, i = -1732584194, u = 271733878, a = -1009589776, f = 0; f < e.length; f += 16) {
              for (var s = r, c = o, l = i, y = u, w = a, b = 0; b < 80; b++) {
                b < 16 ? n[b] = e[f + b] : n[b] = g(n[b - 3] ^ n[b - 8] ^ n[b - 14] ^ n[b - 16], 1);
                var v = p(p(g(r, 5), d(b, o, i, u)), p(p(a, n[b]), h(b)));
                a = u, u = i, i = g(o, 30), o = r, r = v;
              }

              r = p(r, s), o = p(o, c), i = p(i, l), u = p(u, y), a = p(a, w);
            }

            return Array(r, o, i, u, a);
          }

          function d(e, t, n, r) {
            return e < 20 ? t & n | ~t & r : e < 40 ? t ^ n ^ r : e < 60 ? t & n | t & r | n & r : t ^ n ^ r;
          }

          function h(e) {
            return e < 20 ? 1518500249 : e < 40 ? 1859775393 : e < 60 ? -1894007588 : -899497514;
          }

          function p(e, t) {
            var n = (65535 & e) + (65535 & t),
                r = (e >> 16) + (t >> 16) + (n >> 16);
            return r << 16 | 65535 & n;
          }

          function g(e, t) {
            return e << t | e >>> 32 - t;
          }

          var y = e("./helpers");

          t.exports = function (e) {
            return y.hash(e, l, 20, true);
          };
        }).call(this, e("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, e("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js", "/node_modules/gulp-browserify/node_modules/crypto-browserify");
      }, {
        "./helpers": 4,
        buffer: 3,
        lYpoI2: 10
      }],
      9: [function (e, t, n) {
        (function (n, r, o, i, u, a, f, s, c) {
          var l = e("./helpers"),
              d = function d(e, t) {
            var n = (65535 & e) + (65535 & t),
                r = (e >> 16) + (t >> 16) + (n >> 16);
            return r << 16 | 65535 & n;
          },
              h = function h(e, t) {
            return e >>> t | e << 32 - t;
          },
              p = function p(e, t) {
            return e >>> t;
          },
              g = function g(e, t, n) {
            return e & t ^ ~e & n;
          },
              y = function y(e, t, n) {
            return e & t ^ e & n ^ t & n;
          },
              w = function w(e) {
            return h(e, 2) ^ h(e, 13) ^ h(e, 22);
          },
              b = function b(e) {
            return h(e, 6) ^ h(e, 11) ^ h(e, 25);
          },
              v = function v(e) {
            return h(e, 7) ^ h(e, 18) ^ p(e, 3);
          },
              m = function m(e) {
            return h(e, 17) ^ h(e, 19) ^ p(e, 10);
          },
              _ = function _(e, t) {
            var n,
                r,
                o,
                i,
                u,
                a,
                f,
                s,
                c,
                l,
                h,
                p,
                _ = new Array(1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298),
                E = new Array(1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225),
                I = new Array(64);

            e[t >> 5] |= 128 << 24 - t % 32, e[(t + 64 >> 9 << 4) + 15] = t;

            for (var c = 0; c < e.length; c += 16) {
              n = E[0], r = E[1], o = E[2], i = E[3], u = E[4], a = E[5], f = E[6], s = E[7];

              for (var l = 0; l < 64; l++) {
                l < 16 ? I[l] = e[l + c] : I[l] = d(d(d(m(I[l - 2]), I[l - 7]), v(I[l - 15])), I[l - 16]), h = d(d(d(d(s, b(u)), g(u, a, f)), _[l]), I[l]), p = d(w(n), y(n, r, o)), s = f, f = a, a = u, u = d(i, h), i = o, o = r, r = n, n = d(h, p);
              }

              E[0] = d(n, E[0]), E[1] = d(r, E[1]), E[2] = d(o, E[2]), E[3] = d(i, E[3]), E[4] = d(u, E[4]), E[5] = d(a, E[5]), E[6] = d(f, E[6]), E[7] = d(s, E[7]);
            }

            return E;
          };

          t.exports = function (e) {
            return l.hash(e, _, 32, true);
          };
        }).call(this, e("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, e("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js", "/node_modules/gulp-browserify/node_modules/crypto-browserify");
      }, {
        "./helpers": 4,
        buffer: 3,
        lYpoI2: 10
      }],
      10: [function (e, t, n) {
        (function (e, n, r, o, i, u, a, f, s) {
          function c() {}

          var e = t.exports = {};
          e.nextTick = function () {
            var e = "undefined" != typeof window && window.setImmediate,
                t = "undefined" != typeof window && window.postMessage && window.addEventListener;
            if (e) return function (e) {
              return window.setImmediate(e);
            };

            if (t) {
              var n = [];
              return window.addEventListener("message", function (e) {
                var t = e.source;

                if ((t === window || null === t) && "process-tick" === e.data && (e.stopPropagation(), n.length > 0)) {
                  var r = n.shift();
                  r();
                }
              }, true), function (e) {
                n.push(e), window.postMessage("process-tick", "*");
              };
            }

            return function (e) {
              setTimeout(e, 0);
            };
          }(), e.title = "browser", e.browser = true, e.env = {}, e.argv = [], e.on = c, e.addListener = c, e.once = c, e.off = c, e.removeListener = c, e.removeAllListeners = c, e.emit = c, e.binding = function (e) {
            throw new Error("process.binding is not supported");
          }, e.cwd = function () {
            return "/";
          }, e.chdir = function (e) {
            throw new Error("process.chdir is not supported");
          };
        }).call(this, e("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, e("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/gulp-browserify/node_modules/process/browser.js", "/node_modules/gulp-browserify/node_modules/process");
      }, {
        buffer: 3,
        lYpoI2: 10
      }],
      11: [function (e, t, n) {
        (function (e, t, r, o, i, u, a, f, s) {
          n.read = function (e, t, n, r, o) {
            var i,
                u,
                a = 8 * o - r - 1,
                f = (1 << a) - 1,
                s = f >> 1,
                c = -7,
                l = n ? o - 1 : 0,
                d = n ? -1 : 1,
                h = e[t + l];

            for (l += d, i = h & (1 << -c) - 1, h >>= -c, c += a; c > 0; i = 256 * i + e[t + l], l += d, c -= 8) {
              ;
            }

            for (u = i & (1 << -c) - 1, i >>= -c, c += r; c > 0; u = 256 * u + e[t + l], l += d, c -= 8) {
              ;
            }

            if (0 === i) i = 1 - s;else {
              if (i === f) return u ? NaN : (h ? -1 : 1) * (1 / 0);
              u += Math.pow(2, r), i -= s;
            }
            return (h ? -1 : 1) * u * Math.pow(2, i - r);
          }, n.write = function (e, t, n, r, o, i) {
            var u,
                a,
                f,
                s = 8 * i - o - 1,
                c = (1 << s) - 1,
                l = c >> 1,
                d = 23 === o ? Math.pow(2, -24) - Math.pow(2, -77) : 0,
                h = r ? 0 : i - 1,
                p = r ? 1 : -1,
                g = t < 0 || 0 === t && 1 / t < 0 ? 1 : 0;

            for (t = Math.abs(t), isNaN(t) || t === 1 / 0 ? (a = isNaN(t) ? 1 : 0, u = c) : (u = Math.floor(Math.log(t) / Math.LN2), t * (f = Math.pow(2, -u)) < 1 && (u--, f *= 2), t += u + l >= 1 ? d / f : d * Math.pow(2, 1 - l), t * f >= 2 && (u++, f /= 2), u + l >= c ? (a = 0, u = c) : u + l >= 1 ? (a = (t * f - 1) * Math.pow(2, o), u += l) : (a = t * Math.pow(2, l - 1) * Math.pow(2, o), u = 0)); o >= 8; e[n + h] = 255 & a, h += p, a /= 256, o -= 8) {
              ;
            }

            for (u = u << o | a, s += o; s > 0; e[n + h] = 255 & u, h += p, u /= 256, s -= 8) {
              ;
            }

            e[n + h - p] |= 128 * g;
          };
        }).call(this, e("lYpoI2"), "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}, e("buffer").Buffer, arguments[3], arguments[4], arguments[5], arguments[6], "/node_modules/ieee754/index.js", "/node_modules/ieee754");
      }, {
        buffer: 3,
        lYpoI2: 10
      }]
    }, {}, [1])(1);
  });
},2062,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.RealEstateConfig = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var RealEstateConfig = function (_VerticalConfig) {
    (0, _inherits2.default)(RealEstateConfig, _VerticalConfig);

    var _super = _createSuper(RealEstateConfig);

    function RealEstateConfig() {
      (0, _classCallCheck2.default)(this, RealEstateConfig);
      return _super.call(this, "REAL_ESTATE", _events.default.TOGGLE_REAL_ESTATE_FAVORITE, _events.default.TOGGLE_REAL_ESTATE_SEARCH);
    }

    return RealEstateConfig;
  }(_$$_REQUIRE(_dependencyMap[6]).VerticalConfig);

  exports.RealEstateConfig = RealEstateConfig;
},2063,[5,7,12,14,16,460,2061]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.AutoConfig = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AutoConfig = function (_VerticalConfig) {
    (0, _inherits2.default)(AutoConfig, _VerticalConfig);

    var _super = _createSuper(AutoConfig);

    function AutoConfig() {
      (0, _classCallCheck2.default)(this, AutoConfig);
      return _super.call(this, "AUTO", _events.default.TOGGLE_AUTO_FAVORITE, _events.default.TOGGLE_AUTO_SEARCH);
    }

    return AutoConfig;
  }(_$$_REQUIRE(_dependencyMap[6]).VerticalConfig);

  exports.AutoConfig = AutoConfig;
},2064,[5,7,12,14,16,460,2061]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.EventsConfig = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var EventsConfig = function (_VerticalConfig) {
    (0, _inherits2.default)(EventsConfig, _VerticalConfig);

    var _super = _createSuper(EventsConfig);

    function EventsConfig() {
      (0, _classCallCheck2.default)(this, EventsConfig);
      return _super.call(this, "EVENTS", _events.default.TOGGLE_EVENTS_FAVORITE, _events.default.TOGGLE_EVENTS_SEARCH);
    }

    return EventsConfig;
  }(_$$_REQUIRE(_dependencyMap[6]).VerticalConfig);

  exports.EventsConfig = EventsConfig;
},2065,[5,7,12,14,16,460,2061]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.RssIndexManager = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _IndexService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _IndexHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var RssIndexManager = function () {
    function RssIndexManager() {
      (0, _classCallCheck2.default)(this, RssIndexManager);
      this.indexes = [];
    }

    (0, _createClass2.default)(RssIndexManager, [{
      key: "init",
      value: function init() {
        var _ref,
            _ref$pSetup,
            pSetup,
            _ref$paper,
            paper,
            _ref$fromCache,
            fromCache,
            success,
            config,
            _await$RssIndexManage,
            indexJSON,
            fromServer,
            _args = arguments;

        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _ref = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}, _ref$pSetup = _ref.pSetup, pSetup = _ref$pSetup === undefined ? global.getRSSActivePSetup().pSetup : _ref$pSetup, _ref$paper = _ref.paper, paper = _ref$paper === undefined ? global.getRSSActivePSetup().paper : _ref$paper, _ref$fromCache = _ref.fromCache, fromCache = _ref$fromCache === undefined ? false : _ref$fromCache;
                success = false;
                config = this.indexes[pSetup];

                if (!config) {
                  config = new (_$$_REQUIRE(_dependencyMap[6]).RssIndexConfig)(pSetup);
                }

                _context.next = 6;
                return _regenerator.default.awrap(RssIndexManager.download({
                  pSetup: pSetup,
                  paper: paper,
                  fromCache: fromCache
                }));

              case 6:
                _await$RssIndexManage = _context.sent;
                indexJSON = _await$RssIndexManage.json;
                fromServer = _await$RssIndexManage.fromServer;
                _context.next = 11;
                return _regenerator.default.awrap(config.init(indexJSON));

              case 11:
                success = _context.sent;
                this.indexes[pSetup] = config;
                return _context.abrupt("return", {
                  success: success,
                  fromServer: fromServer
                });

              case 14:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getIndex",
      value: function getIndex() {
        var pSetup = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : global.getRSSActivePSetup().pSetup;
        return this.indexes[pSetup] || new (_$$_REQUIRE(_dependencyMap[6]).RssIndexConfig)(pSetup);
      }
    }], [{
      key: "download",
      value: function download() {
        var _ref2,
            _ref2$pSetup,
            pSetup,
            _ref2$paper,
            paper,
            _ref2$fromCache,
            fromCache,
            fromServer,
            rssIndexKey,
            json,
            _args2 = arguments;

        return _regenerator.default.async(function download$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _ref2 = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : {}, _ref2$pSetup = _ref2.pSetup, pSetup = _ref2$pSetup === undefined ? global.getRSSActivePSetup().pSetup : _ref2$pSetup, _ref2$paper = _ref2.paper, paper = _ref2$paper === undefined ? global.getRSSActivePSetup().paper : _ref2$paper, _ref2$fromCache = _ref2.fromCache, fromCache = _ref2$fromCache === undefined ? false : _ref2$fromCache;
                fromServer = false;
                rssIndexKey = _IndexHelper.default.SP.name + "_" + pSetup;
                _context2.next = 5;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[7]).StorageUtils.multiGet(rssIndexKey));

              case 5:
                json = _context2.sent;

                if (!(_$$_REQUIRE(_dependencyMap[7]).NetworkUtils.isOnline() && (_$$_REQUIRE(_dependencyMap[7]).JSUtils.isEmpty(json) || json.error === "1" || !fromCache))) {
                  _context2.next = 11;
                  break;
                }

                _context2.next = 9;
                return _regenerator.default.awrap(_IndexService.default.getJson());

              case 9:
                json = _context2.sent;

                if (!_$$_REQUIRE(_dependencyMap[7]).JSUtils.isEmpty(json)) {
                  Object.keys(json).forEach(function (key) {
                    if (Array.isArray(json[key])) {
                      json[key] = JSON.stringify(json[key]);
                    }
                  });

                  _$$_REQUIRE(_dependencyMap[7]).StorageUtils.clearAll(rssIndexKey).then(function () {
                    return _$$_REQUIRE(_dependencyMap[7]).StorageUtils.multiSet(rssIndexKey, json);
                  });

                  _$$_REQUIRE(_dependencyMap[7]).StorageUtils.clearAll(_IndexHelper.default.SP.name);

                  _$$_REQUIRE(_dependencyMap[7]).StorageUtils.clearAll(_IndexHelper.default.SP.name + "_" + paper);

                  fromServer = true;
                }

              case 11:
                return _context2.abrupt("return", {
                  json: json || {},
                  fromServer: fromServer
                });

              case 12:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return RssIndexManager;
  }();

  exports.RssIndexManager = RssIndexManager;
},2066,[5,80,7,8,2067,1963,2044,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var api = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var parser = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var IndexService = function () {
    function IndexService() {
      (0, _classCallCheck2.default)(this, IndexService);
    }

    (0, _createClass2.default)(IndexService, null, [{
      key: "getJson",
      value: function getJson() {
        var data;
        return _regenerator.default.async(function getJson$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return _regenerator.default.awrap(api.getDataFromApiResponse());

              case 2:
                data = _context.sent;

                if (!(typeof data === "object")) {
                  _context.next = 5;
                  break;
                }

                return _context.abrupt("return", data);

              case 5:
                return _context.abrupt("return", parser.parse(data));

              case 6:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return IndexService;
  }();

  exports.default = IndexService;
},2067,[5,80,7,8,2068,2069]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getDataFromApiResponse = getDataFromApiResponse;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  function getUrl() {
    var _global$getRSSActiveP = global.getRSSActivePSetup(),
        layoutStyle = _global$getRSSActiveP.layoutStyle,
        layoutSubStyle = _global$getRSSActiveP.layoutSubStyle;

    var _global$getUserSettin = global.getUserSettings(),
        forceLayoutSubStyle = _global$getUserSettin.forceLayoutSubStyle;

    var result = "";

    if (forceLayoutSubStyle) {
      var subStyle = forceLayoutSubStyle || layoutSubStyle;

      if (layoutStyle && subStyle) {
        result = global.getAppServer().concat("/eeLayout/").concat(layoutStyle).concat("/").concat(subStyle).concat("/app-rss-index/index.xml");
      }
    }

    return result;
  }

  function getDataFromApiResponse() {
    var customUrl, result, _global$getRSSActiveP2, pSetup, machine, response, headers;

    return _regenerator.default.async(function getDataFromApiResponse$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            customUrl = getUrl();
            result = "";
            _context.prev = 2;
            _global$getRSSActiveP2 = global.getRSSActivePSetup(), pSetup = _global$getRSSActiveP2.pSetup, machine = _global$getRSSActiveP2.machine;
            _context.next = 6;
            return _regenerator.default.awrap(_Api.default.rssIndex({
              customUrl: customUrl,
              pSetup: pSetup,
              machine: machine
            }));

          case 6:
            response = _context.sent;
            headers = response.headers;
            result = response.data;

            if (headers["content-type"] !== "application/json") {
              result = result.split("</key><array><string>").join("</key><string>");
              result = result.split("</string></array> <key>").join("</string> <key>");
            }

            _context.next = 15;
            break;

          case 12:
            _context.prev = 12;
            _context.t0 = _context["catch"](2);
            result = "";

          case 15:
            return _context.abrupt("return", result);

          case 16:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, [[2, 12]], Promise);
  }
},2068,[5,80,431]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.parse = parse;

  function removeTopLevelFromIndexes(parsed) {
    var pulled = {};

    if (parsed) {
      for (var i = 0; i < parsed.length; i++) {
        pulled[parsed[i][0]] = parsed[i][1];
      }
    }

    return pulled;
  }

  function parseTags(tags) {
    var parsed = [];

    for (var i = 0; i < tags.length; i++) {
      var current = tags[i];

      switch (current.nodeName) {
        case "array":
        case "dict":
          var children = current.getElementsByTagName("*");
          var array = parseTags(children);

          if (array.length > 0) {
            parsed.push(array);
          }

          i += children.length;
          break;

        case "key":
          var first = current.firstChild;

          if (first) {
            var next = tags[i + 1];

            if (next) {
              var nextName = next.nodeName;
              var value = undefined;

              if (nextName !== "array" && nextName !== "dict") {
                value = next.firstChild ? next.firstChild.nodeValue : "";
                i += 1;
              } else {
                var nextChildren = next.getElementsByTagName("*");
                value = parseTags(nextChildren);
                i += nextChildren.length;
              }

              parsed.push([first.nodeValue, value]);
            }
          }

          break;
      }
    }

    return parsed;
  }

  function parse(data) {
    if (data && data.length) {
      var doc = new (_$$_REQUIRE(_dependencyMap[0]).DOMParser)().parseFromString(data);
      var tags = doc.getElementsByTagName("*");
      return removeTopLevelFromIndexes(parseTags(tags)[0]);
    }

    return {};
  }
},2069,[2070]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function DOMParser(options) {
    this.options = options || {
      locator: {}
    };
  }

  DOMParser.prototype.parseFromString = function (source, mimeType) {
    var options = this.options;
    var sax = new (_$$_REQUIRE(_dependencyMap[0]).XMLReader)();
    var domBuilder = options.domBuilder || new DOMHandler();
    var errorHandler = options.errorHandler;
    var locator = options.locator;
    var defaultNSMap = options.xmlns || {};
    var isHTML = /\/x?html?$/.test(mimeType);
    var entityMap = isHTML ? _$$_REQUIRE(_dependencyMap[1]).entityMap : {
      'lt': '<',
      'gt': '>',
      'amp': '&',
      'quot': '"',
      'apos': "'"
    };

    if (locator) {
      domBuilder.setDocumentLocator(locator);
    }

    sax.errorHandler = buildErrorHandler(errorHandler, domBuilder, locator);
    sax.domBuilder = options.domBuilder || domBuilder;

    if (isHTML) {
      defaultNSMap[''] = 'http://www.w3.org/1999/xhtml';
    }

    defaultNSMap.xml = defaultNSMap.xml || 'http://www.w3.org/XML/1998/namespace';

    if (source && typeof source === 'string') {
      sax.parse(source, defaultNSMap, entityMap);
    } else {
      sax.errorHandler.error("invalid doc source");
    }

    return domBuilder.doc;
  };

  function buildErrorHandler(errorImpl, domBuilder, locator) {
    if (!errorImpl) {
      if (domBuilder instanceof DOMHandler) {
        return domBuilder;
      }

      errorImpl = domBuilder;
    }

    var errorHandler = {};
    var isCallback = errorImpl instanceof Function;
    locator = locator || {};

    function build(key) {
      var fn = errorImpl[key];

      if (!fn && isCallback) {
        fn = errorImpl.length == 2 ? function (msg) {
          errorImpl(key, msg);
        } : errorImpl;
      }

      errorHandler[key] = fn && function (msg) {
        fn('[xmldom ' + key + ']\t' + msg + _locator(locator));
      } || function () {};
    }

    build('warning');
    build('error');
    build('fatalError');
    return errorHandler;
  }

  function DOMHandler() {
    this.cdata = false;
  }

  function position(locator, node) {
    node.lineNumber = locator.lineNumber;
    node.columnNumber = locator.columnNumber;
  }

  DOMHandler.prototype = {
    startDocument: function startDocument() {
      this.doc = new DOMImplementation().createDocument(null, null, null);

      if (this.locator) {
        this.doc.documentURI = this.locator.systemId;
      }
    },
    startElement: function startElement(namespaceURI, localName, qName, attrs) {
      var doc = this.doc;
      var el = doc.createElementNS(namespaceURI, qName || localName);
      var len = attrs.length;
      appendElement(this, el);
      this.currentElement = el;
      this.locator && position(this.locator, el);

      for (var i = 0; i < len; i++) {
        var namespaceURI = attrs.getURI(i);
        var value = attrs.getValue(i);
        var qName = attrs.getQName(i);
        var attr = doc.createAttributeNS(namespaceURI, qName);
        this.locator && position(attrs.getLocator(i), attr);
        attr.value = attr.nodeValue = value;
        el.setAttributeNode(attr);
      }
    },
    endElement: function endElement(namespaceURI, localName, qName) {
      var current = this.currentElement;
      var tagName = current.tagName;
      this.currentElement = current.parentNode;
    },
    startPrefixMapping: function startPrefixMapping(prefix, uri) {},
    endPrefixMapping: function endPrefixMapping(prefix) {},
    processingInstruction: function processingInstruction(target, data) {
      var ins = this.doc.createProcessingInstruction(target, data);
      this.locator && position(this.locator, ins);
      appendElement(this, ins);
    },
    ignorableWhitespace: function ignorableWhitespace(ch, start, length) {},
    characters: function characters(chars, start, length) {
      chars = _toString.apply(this, arguments);

      if (chars) {
        if (this.cdata) {
          var charNode = this.doc.createCDATASection(chars);
        } else {
          var charNode = this.doc.createTextNode(chars);
        }

        if (this.currentElement) {
          this.currentElement.appendChild(charNode);
        } else if (/^\s*$/.test(chars)) {
          this.doc.appendChild(charNode);
        }

        this.locator && position(this.locator, charNode);
      }
    },
    skippedEntity: function skippedEntity(name) {},
    endDocument: function endDocument() {
      this.doc.normalize();
    },
    setDocumentLocator: function setDocumentLocator(locator) {
      if (this.locator = locator) {
        locator.lineNumber = 0;
      }
    },
    comment: function comment(chars, start, length) {
      chars = _toString.apply(this, arguments);
      var comm = this.doc.createComment(chars);
      this.locator && position(this.locator, comm);
      appendElement(this, comm);
    },
    startCDATA: function startCDATA() {
      this.cdata = true;
    },
    endCDATA: function endCDATA() {
      this.cdata = false;
    },
    startDTD: function startDTD(name, publicId, systemId) {
      var impl = this.doc.implementation;

      if (impl && impl.createDocumentType) {
        var dt = impl.createDocumentType(name, publicId, systemId);
        this.locator && position(this.locator, dt);
        appendElement(this, dt);
      }
    },
    warning: function warning(error) {
      console.warn('[xmldom warning]\t' + error, _locator(this.locator));
    },
    error: function error(_error) {
      console.error('[xmldom error]\t' + _error, _locator(this.locator));
    },
    fatalError: function fatalError(error) {
      throw new (_$$_REQUIRE(_dependencyMap[0]).ParseError)(error, this.locator);
    }
  };

  function _locator(l) {
    if (l) {
      return '\n@' + (l.systemId || '') + '#[line:' + l.lineNumber + ',col:' + l.columnNumber + ']';
    }
  }

  function _toString(chars, start, length) {
    if (typeof chars == 'string') {
      return chars.substr(start, length);
    } else {
      if (chars.length >= start + length || start) {
        return new java.lang.String(chars, start, length) + '';
      }

      return chars;
    }
  }

  "endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g, function (key) {
    DOMHandler.prototype[key] = function () {
      return null;
    };
  });

  function appendElement(hander, node) {
    if (!hander.currentElement) {
      hander.doc.appendChild(node);
    } else {
      hander.currentElement.appendChild(node);
    }
  }

  var DOMImplementation = exports.DOMImplementation = _$$_REQUIRE(_dependencyMap[2]).DOMImplementation;

  exports.XMLSerializer = _$$_REQUIRE(_dependencyMap[2]).XMLSerializer;
  exports.DOMParser = DOMParser;
  exports.__DOMHandler = DOMHandler;
},2070,[2071,2072,2073]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var nameStartChar = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/;
  var nameChar = new RegExp("[\\-\\.0-9" + nameStartChar.source.slice(1, -1) + "\\u00B7\\u0300-\\u036F\\u203F-\\u2040]");
  var tagNamePattern = new RegExp('^' + nameStartChar.source + nameChar.source + '*(?:\:' + nameStartChar.source + nameChar.source + '*)?$');
  var S_TAG = 0;
  var S_ATTR = 1;
  var S_ATTR_SPACE = 2;
  var S_EQ = 3;
  var S_ATTR_NOQUOT_VALUE = 4;
  var S_ATTR_END = 5;
  var S_TAG_SPACE = 6;
  var S_TAG_CLOSE = 7;

  function ParseError(message, locator) {
    this.message = message;
    this.locator = locator;
    if (Error.captureStackTrace) Error.captureStackTrace(this, ParseError);
  }

  ParseError.prototype = new Error();
  ParseError.prototype.name = ParseError.name;

  function XMLReader() {}

  XMLReader.prototype = {
    parse: function parse(source, defaultNSMap, entityMap) {
      var domBuilder = this.domBuilder;
      domBuilder.startDocument();

      _copy(defaultNSMap, defaultNSMap = {});

      _parse(source, defaultNSMap, entityMap, domBuilder, this.errorHandler);

      domBuilder.endDocument();
    }
  };

  function _parse(source, defaultNSMapCopy, entityMap, domBuilder, errorHandler) {
    function fixedFromCharCode(code) {
      if (code > 0xffff) {
        code -= 0x10000;
        var surrogate1 = 0xd800 + (code >> 10),
            surrogate2 = 0xdc00 + (code & 0x3ff);
        return String.fromCharCode(surrogate1, surrogate2);
      } else {
        return String.fromCharCode(code);
      }
    }

    function entityReplacer(a) {
      var k = a.slice(1, -1);

      if (k in entityMap) {
        return entityMap[k];
      } else if (k.charAt(0) === '#') {
        return fixedFromCharCode(parseInt(k.substr(1).replace('x', '0x')));
      } else {
        errorHandler.error('entity not found:' + a);
        return a;
      }
    }

    function appendText(end) {
      if (end > start) {
        var xt = source.substring(start, end).replace(/&#?\w+;/g, entityReplacer);
        locator && position(start);
        domBuilder.characters(xt, 0, end - start);
        start = end;
      }
    }

    function position(p, m) {
      while (p >= lineEnd && (m = linePattern.exec(source))) {
        lineStart = m.index;
        lineEnd = lineStart + m[0].length;
        locator.lineNumber++;
      }

      locator.columnNumber = p - lineStart + 1;
    }

    var lineStart = 0;
    var lineEnd = 0;
    var linePattern = /.*(?:\r\n?|\n)|.*$/g;
    var locator = domBuilder.locator;
    var parseStack = [{
      currentNSMap: defaultNSMapCopy
    }];
    var closeMap = {};
    var start = 0;

    while (true) {
      try {
        var tagStart = source.indexOf('<', start);

        if (tagStart < 0) {
          if (!source.substr(start).match(/^\s*$/)) {
            var doc = domBuilder.doc;
            var text = doc.createTextNode(source.substr(start));
            doc.appendChild(text);
            domBuilder.currentElement = text;
          }

          return;
        }

        if (tagStart > start) {
          appendText(tagStart);
        }

        switch (source.charAt(tagStart + 1)) {
          case '/':
            var end = source.indexOf('>', tagStart + 3);
            var tagName = source.substring(tagStart + 2, end);
            var config = parseStack.pop();

            if (end < 0) {
              tagName = source.substring(tagStart + 2).replace(/[\s<].*/, '');
              errorHandler.error("end tag name: " + tagName + ' is not complete:' + config.tagName);
              end = tagStart + 1 + tagName.length;
            } else if (tagName.match(/\s</)) {
              tagName = tagName.replace(/[\s<].*/, '');
              errorHandler.error("end tag name: " + tagName + ' maybe not complete');
              end = tagStart + 1 + tagName.length;
            }

            var localNSMap = config.localNSMap;
            var endMatch = config.tagName == tagName;
            var endIgnoreCaseMach = endMatch || config.tagName && config.tagName.toLowerCase() == tagName.toLowerCase();

            if (endIgnoreCaseMach) {
              domBuilder.endElement(config.uri, config.localName, tagName);

              if (localNSMap) {
                for (var prefix in localNSMap) {
                  domBuilder.endPrefixMapping(prefix);
                }
              }

              if (!endMatch) {
                errorHandler.fatalError("end tag name: " + tagName + ' is not match the current start tagName:' + config.tagName);
              }
            } else {
              parseStack.push(config);
            }

            end++;
            break;

          case '?':
            locator && position(tagStart);
            end = parseInstruction(source, tagStart, domBuilder);
            break;

          case '!':
            locator && position(tagStart);
            end = parseDCC(source, tagStart, domBuilder, errorHandler);
            break;

          default:
            locator && position(tagStart);
            var el = new ElementAttributes();
            var currentNSMap = parseStack[parseStack.length - 1].currentNSMap;
            var end = parseElementStartPart(source, tagStart, el, currentNSMap, entityReplacer, errorHandler);
            var len = el.length;

            if (!el.closed && fixSelfClosed(source, end, el.tagName, closeMap)) {
              el.closed = true;

              if (!entityMap.nbsp) {
                errorHandler.warning('unclosed xml attribute');
              }
            }

            if (locator && len) {
              var locator2 = copyLocator(locator, {});

              for (var i = 0; i < len; i++) {
                var a = el[i];
                position(a.offset);
                a.locator = copyLocator(locator, {});
              }

              domBuilder.locator = locator2;

              if (appendElement(el, domBuilder, currentNSMap)) {
                parseStack.push(el);
              }

              domBuilder.locator = locator;
            } else {
              if (appendElement(el, domBuilder, currentNSMap)) {
                parseStack.push(el);
              }
            }

            if (el.uri === 'http://www.w3.org/1999/xhtml' && !el.closed) {
              end = parseHtmlSpecialContent(source, end, el.tagName, entityReplacer, domBuilder);
            } else {
              end++;
            }

        }
      } catch (e) {
        if (e instanceof ParseError) {
          throw e;
        }

        errorHandler.error('element parse error: ' + e);
        end = -1;
      }

      if (end > start) {
        start = end;
      } else {
        appendText(Math.max(tagStart, start) + 1);
      }
    }
  }

  function copyLocator(f, t) {
    t.lineNumber = f.lineNumber;
    t.columnNumber = f.columnNumber;
    return t;
  }

  function parseElementStartPart(source, start, el, currentNSMap, entityReplacer, errorHandler) {
    function addAttribute(qname, value, startIndex) {
      if (qname in el.attributeNames) errorHandler.fatalError('Attribute ' + qname + ' redefined');
      el.addValue(qname, value, startIndex);
    }

    var attrName;
    var value;
    var p = ++start;
    var s = S_TAG;

    while (true) {
      var c = source.charAt(p);

      switch (c) {
        case '=':
          if (s === S_ATTR) {
            attrName = source.slice(start, p);
            s = S_EQ;
          } else if (s === S_ATTR_SPACE) {
            s = S_EQ;
          } else {
            throw new Error('attribute equal must after attrName');
          }

          break;

        case '\'':
        case '"':
          if (s === S_EQ || s === S_ATTR) {
            if (s === S_ATTR) {
              errorHandler.warning('attribute value must after "="');
              attrName = source.slice(start, p);
            }

            start = p + 1;
            p = source.indexOf(c, start);

            if (p > 0) {
              value = source.slice(start, p).replace(/&#?\w+;/g, entityReplacer);
              addAttribute(attrName, value, start - 1);
              s = S_ATTR_END;
            } else {
              throw new Error('attribute value no end \'' + c + '\' match');
            }
          } else if (s == S_ATTR_NOQUOT_VALUE) {
            value = source.slice(start, p).replace(/&#?\w+;/g, entityReplacer);
            addAttribute(attrName, value, start);
            errorHandler.warning('attribute "' + attrName + '" missed start quot(' + c + ')!!');
            start = p + 1;
            s = S_ATTR_END;
          } else {
            throw new Error('attribute value must after "="');
          }

          break;

        case '/':
          switch (s) {
            case S_TAG:
              el.setTagName(source.slice(start, p));

            case S_ATTR_END:
            case S_TAG_SPACE:
            case S_TAG_CLOSE:
              s = S_TAG_CLOSE;
              el.closed = true;

            case S_ATTR_NOQUOT_VALUE:
            case S_ATTR:
            case S_ATTR_SPACE:
              break;

            default:
              throw new Error("attribute invalid close char('/')");
          }

          break;

        case '':
          errorHandler.error('unexpected end of input');

          if (s == S_TAG) {
            el.setTagName(source.slice(start, p));
          }

          return p;

        case '>':
          switch (s) {
            case S_TAG:
              el.setTagName(source.slice(start, p));

            case S_ATTR_END:
            case S_TAG_SPACE:
            case S_TAG_CLOSE:
              break;

            case S_ATTR_NOQUOT_VALUE:
            case S_ATTR:
              value = source.slice(start, p);

              if (value.slice(-1) === '/') {
                el.closed = true;
                value = value.slice(0, -1);
              }

            case S_ATTR_SPACE:
              if (s === S_ATTR_SPACE) {
                value = attrName;
              }

              if (s == S_ATTR_NOQUOT_VALUE) {
                errorHandler.warning('attribute "' + value + '" missed quot(")!');
                addAttribute(attrName, value.replace(/&#?\w+;/g, entityReplacer), start);
              } else {
                if (currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !value.match(/^(?:disabled|checked|selected)$/i)) {
                  errorHandler.warning('attribute "' + value + '" missed value!! "' + value + '" instead!!');
                }

                addAttribute(value, value, start);
              }

              break;

            case S_EQ:
              throw new Error('attribute value missed!!');
          }

          return p;

        case "\x80":
          c = ' ';

        default:
          if (c <= ' ') {
            switch (s) {
              case S_TAG:
                el.setTagName(source.slice(start, p));
                s = S_TAG_SPACE;
                break;

              case S_ATTR:
                attrName = source.slice(start, p);
                s = S_ATTR_SPACE;
                break;

              case S_ATTR_NOQUOT_VALUE:
                var value = source.slice(start, p).replace(/&#?\w+;/g, entityReplacer);
                errorHandler.warning('attribute "' + value + '" missed quot(")!!');
                addAttribute(attrName, value, start);

              case S_ATTR_END:
                s = S_TAG_SPACE;
                break;
            }
          } else {
            switch (s) {
              case S_ATTR_SPACE:
                var tagName = el.tagName;

                if (currentNSMap[''] !== 'http://www.w3.org/1999/xhtml' || !attrName.match(/^(?:disabled|checked|selected)$/i)) {
                  errorHandler.warning('attribute "' + attrName + '" missed value!! "' + attrName + '" instead2!!');
                }

                addAttribute(attrName, attrName, start);
                start = p;
                s = S_ATTR;
                break;

              case S_ATTR_END:
                errorHandler.warning('attribute space is required"' + attrName + '"!!');

              case S_TAG_SPACE:
                s = S_ATTR;
                start = p;
                break;

              case S_EQ:
                s = S_ATTR_NOQUOT_VALUE;
                start = p;
                break;

              case S_TAG_CLOSE:
                throw new Error("elements closed character '/' and '>' must be connected to");
            }
          }

      }

      p++;
    }
  }

  function appendElement(el, domBuilder, currentNSMap) {
    var tagName = el.tagName;
    var localNSMap = null;
    var i = el.length;

    while (i--) {
      var a = el[i];
      var qName = a.qName;
      var value = a.value;
      var nsp = qName.indexOf(':');

      if (nsp > 0) {
        var prefix = a.prefix = qName.slice(0, nsp);
        var localName = qName.slice(nsp + 1);
        var nsPrefix = prefix === 'xmlns' && localName;
      } else {
        localName = qName;
        prefix = null;
        nsPrefix = qName === 'xmlns' && '';
      }

      a.localName = localName;

      if (nsPrefix !== false) {
        if (localNSMap == null) {
          localNSMap = {};

          _copy(currentNSMap, currentNSMap = {});
        }

        currentNSMap[nsPrefix] = localNSMap[nsPrefix] = value;
        a.uri = 'http://www.w3.org/2000/xmlns/';
        domBuilder.startPrefixMapping(nsPrefix, value);
      }
    }

    var i = el.length;

    while (i--) {
      a = el[i];
      var prefix = a.prefix;

      if (prefix) {
        if (prefix === 'xml') {
          a.uri = 'http://www.w3.org/XML/1998/namespace';
        }

        if (prefix !== 'xmlns') {
          a.uri = currentNSMap[prefix || ''];
        }
      }
    }

    var nsp = tagName.indexOf(':');

    if (nsp > 0) {
      prefix = el.prefix = tagName.slice(0, nsp);
      localName = el.localName = tagName.slice(nsp + 1);
    } else {
      prefix = null;
      localName = el.localName = tagName;
    }

    var ns = el.uri = currentNSMap[prefix || ''];
    domBuilder.startElement(ns, localName, tagName, el);

    if (el.closed) {
      domBuilder.endElement(ns, localName, tagName);

      if (localNSMap) {
        for (prefix in localNSMap) {
          domBuilder.endPrefixMapping(prefix);
        }
      }
    } else {
      el.currentNSMap = currentNSMap;
      el.localNSMap = localNSMap;
      return true;
    }
  }

  function parseHtmlSpecialContent(source, elStartEnd, tagName, entityReplacer, domBuilder) {
    if (/^(?:script|textarea)$/i.test(tagName)) {
      var elEndStart = source.indexOf('</' + tagName + '>', elStartEnd);
      var text = source.substring(elStartEnd + 1, elEndStart);

      if (/[&<]/.test(text)) {
        if (/^script$/i.test(tagName)) {
          domBuilder.characters(text, 0, text.length);
          return elEndStart;
        }

        text = text.replace(/&#?\w+;/g, entityReplacer);
        domBuilder.characters(text, 0, text.length);
        return elEndStart;
      }
    }

    return elStartEnd + 1;
  }

  function fixSelfClosed(source, elStartEnd, tagName, closeMap) {
    var pos = closeMap[tagName];

    if (pos == null) {
      pos = source.lastIndexOf('</' + tagName + '>');

      if (pos < elStartEnd) {
        pos = source.lastIndexOf('</' + tagName);
      }

      closeMap[tagName] = pos;
    }

    return pos < elStartEnd;
  }

  function _copy(source, target) {
    for (var n in source) {
      target[n] = source[n];
    }
  }

  function parseDCC(source, start, domBuilder, errorHandler) {
    var next = source.charAt(start + 2);

    switch (next) {
      case '-':
        if (source.charAt(start + 3) === '-') {
          var end = source.indexOf('-->', start + 4);

          if (end > start) {
            domBuilder.comment(source, start + 4, end - start - 4);
            return end + 3;
          } else {
            errorHandler.error("Unclosed comment");
            return -1;
          }
        } else {
          return -1;
        }

      default:
        if (source.substr(start + 3, 6) == 'CDATA[') {
          var end = source.indexOf(']]>', start + 9);
          domBuilder.startCDATA();
          domBuilder.characters(source, start + 9, end - start - 9);
          domBuilder.endCDATA();
          return end + 3;
        }

        var matchs = split(source, start);
        var len = matchs.length;

        if (len > 1 && /!doctype/i.test(matchs[0][0])) {
          var name = matchs[1][0];
          var pubid = false;
          var sysid = false;

          if (len > 3) {
            if (/^public$/i.test(matchs[2][0])) {
              pubid = matchs[3][0];
              sysid = len > 4 && matchs[4][0];
            } else if (/^system$/i.test(matchs[2][0])) {
              sysid = matchs[3][0];
            }
          }

          var lastMatch = matchs[len - 1];
          domBuilder.startDTD(name, pubid, sysid);
          domBuilder.endDTD();
          return lastMatch.index + lastMatch[0].length;
        }

    }

    return -1;
  }

  function parseInstruction(source, start, domBuilder) {
    var end = source.indexOf('?>', start);

    if (end) {
      var match = source.substring(start, end).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);

      if (match) {
        var len = match[0].length;
        domBuilder.processingInstruction(match[1], match[2]);
        return end + 2;
      } else {
        return -1;
      }
    }

    return -1;
  }

  function ElementAttributes() {
    this.attributeNames = {};
  }

  ElementAttributes.prototype = {
    setTagName: function setTagName(tagName) {
      if (!tagNamePattern.test(tagName)) {
        throw new Error('invalid tagName:' + tagName);
      }

      this.tagName = tagName;
    },
    addValue: function addValue(qName, value, offset) {
      if (!tagNamePattern.test(qName)) {
        throw new Error('invalid attribute:' + qName);
      }

      this.attributeNames[qName] = this.length;
      this[this.length++] = {
        qName: qName,
        value: value,
        offset: offset
      };
    },
    length: 0,
    getLocalName: function getLocalName(i) {
      return this[i].localName;
    },
    getLocator: function getLocator(i) {
      return this[i].locator;
    },
    getQName: function getQName(i) {
      return this[i].qName;
    },
    getURI: function getURI(i) {
      return this[i].uri;
    },
    getValue: function getValue(i) {
      return this[i].value;
    }
  };

  function split(source, start) {
    var match;
    var buf = [];
    var reg = /'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;
    reg.lastIndex = start;
    reg.exec(source);

    while (match = reg.exec(source)) {
      buf.push(match);
      if (match[1]) return buf;
    }
  }

  exports.XMLReader = XMLReader;
  exports.ParseError = ParseError;
},2071,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  exports.entityMap = {
    lt: '<',
    gt: '>',
    amp: '&',
    quot: '"',
    apos: "'",
    Agrave: "À",
    Aacute: "Á",
    Acirc: "Â",
    Atilde: "Ã",
    Auml: "Ä",
    Aring: "Å",
    AElig: "Æ",
    Ccedil: "Ç",
    Egrave: "È",
    Eacute: "É",
    Ecirc: "Ê",
    Euml: "Ë",
    Igrave: "Ì",
    Iacute: "Í",
    Icirc: "Î",
    Iuml: "Ï",
    ETH: "Ð",
    Ntilde: "Ñ",
    Ograve: "Ò",
    Oacute: "Ó",
    Ocirc: "Ô",
    Otilde: "Õ",
    Ouml: "Ö",
    Oslash: "Ø",
    Ugrave: "Ù",
    Uacute: "Ú",
    Ucirc: "Û",
    Uuml: "Ü",
    Yacute: "Ý",
    THORN: "Þ",
    szlig: "ß",
    agrave: "à",
    aacute: "á",
    acirc: "â",
    atilde: "ã",
    auml: "ä",
    aring: "å",
    aelig: "æ",
    ccedil: "ç",
    egrave: "è",
    eacute: "é",
    ecirc: "ê",
    euml: "ë",
    igrave: "ì",
    iacute: "í",
    icirc: "î",
    iuml: "ï",
    eth: "ð",
    ntilde: "ñ",
    ograve: "ò",
    oacute: "ó",
    ocirc: "ô",
    otilde: "õ",
    ouml: "ö",
    oslash: "ø",
    ugrave: "ù",
    uacute: "ú",
    ucirc: "û",
    uuml: "ü",
    yacute: "ý",
    thorn: "þ",
    yuml: "ÿ",
    nbsp: "\xA0",
    iexcl: "¡",
    cent: "¢",
    pound: "£",
    curren: "¤",
    yen: "¥",
    brvbar: "¦",
    sect: "§",
    uml: "¨",
    copy: "©",
    ordf: "ª",
    laquo: "«",
    not: "¬",
    shy: "­­",
    reg: "®",
    macr: "¯",
    deg: "°",
    plusmn: "±",
    sup2: "²",
    sup3: "³",
    acute: "´",
    micro: "µ",
    para: "¶",
    middot: "·",
    cedil: "¸",
    sup1: "¹",
    ordm: "º",
    raquo: "»",
    frac14: "¼",
    frac12: "½",
    frac34: "¾",
    iquest: "¿",
    times: "×",
    divide: "÷",
    forall: "∀",
    part: "∂",
    exist: "∃",
    empty: "∅",
    nabla: "∇",
    isin: "∈",
    notin: "∉",
    ni: "∋",
    prod: "∏",
    sum: "∑",
    minus: "−",
    lowast: "∗",
    radic: "√",
    prop: "∝",
    infin: "∞",
    ang: "∠",
    and: "∧",
    or: "∨",
    cap: "∩",
    cup: "∪",
    'int': "∫",
    there4: "∴",
    sim: "∼",
    cong: "≅",
    asymp: "≈",
    ne: "≠",
    equiv: "≡",
    le: "≤",
    ge: "≥",
    sub: "⊂",
    sup: "⊃",
    nsub: "⊄",
    sube: "⊆",
    supe: "⊇",
    oplus: "⊕",
    otimes: "⊗",
    perp: "⊥",
    sdot: "⋅",
    Alpha: "Α",
    Beta: "Β",
    Gamma: "Γ",
    Delta: "Δ",
    Epsilon: "Ε",
    Zeta: "Ζ",
    Eta: "Η",
    Theta: "Θ",
    Iota: "Ι",
    Kappa: "Κ",
    Lambda: "Λ",
    Mu: "Μ",
    Nu: "Ν",
    Xi: "Ξ",
    Omicron: "Ο",
    Pi: "Π",
    Rho: "Ρ",
    Sigma: "Σ",
    Tau: "Τ",
    Upsilon: "Υ",
    Phi: "Φ",
    Chi: "Χ",
    Psi: "Ψ",
    Omega: "Ω",
    alpha: "α",
    beta: "β",
    gamma: "γ",
    delta: "δ",
    epsilon: "ε",
    zeta: "ζ",
    eta: "η",
    theta: "θ",
    iota: "ι",
    kappa: "κ",
    lambda: "λ",
    mu: "μ",
    nu: "ν",
    xi: "ξ",
    omicron: "ο",
    pi: "π",
    rho: "ρ",
    sigmaf: "ς",
    sigma: "σ",
    tau: "τ",
    upsilon: "υ",
    phi: "φ",
    chi: "χ",
    psi: "ψ",
    omega: "ω",
    thetasym: "ϑ",
    upsih: "ϒ",
    piv: "ϖ",
    OElig: "Œ",
    oelig: "œ",
    Scaron: "Š",
    scaron: "š",
    Yuml: "Ÿ",
    fnof: "ƒ",
    circ: "ˆ",
    tilde: "˜",
    ensp: " ",
    emsp: " ",
    thinsp: " ",
    zwnj: "‌",
    zwj: "‍",
    lrm: "‎",
    rlm: "‏",
    ndash: "–",
    mdash: "—",
    lsquo: "‘",
    rsquo: "’",
    sbquo: "‚",
    ldquo: "“",
    rdquo: "”",
    bdquo: "„",
    dagger: "†",
    Dagger: "‡",
    bull: "•",
    hellip: "…",
    permil: "‰",
    prime: "′",
    Prime: "″",
    lsaquo: "‹",
    rsaquo: "›",
    oline: "‾",
    euro: "€",
    trade: "™",
    larr: "←",
    uarr: "↑",
    rarr: "→",
    darr: "↓",
    harr: "↔",
    crarr: "↵",
    lceil: "⌈",
    rceil: "⌉",
    lfloor: "⌊",
    rfloor: "⌋",
    loz: "◊",
    spades: "♠",
    clubs: "♣",
    hearts: "♥",
    diams: "♦"
  };
},2072,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  function copy(src, dest) {
    for (var p in src) {
      dest[p] = src[p];
    }
  }

  function _extends(Class, Super) {
    var pt = Class.prototype;

    if (!(pt instanceof Super)) {
      function t() {}

      ;
      t.prototype = Super.prototype;
      t = new t();
      copy(pt, t);
      Class.prototype = pt = t;
    }

    if (pt.constructor != Class) {
      if (typeof Class != 'function') {
        console.error("unknow Class:" + Class);
      }

      pt.constructor = Class;
    }
  }

  var htmlns = 'http://www.w3.org/1999/xhtml';
  var NodeType = {};
  var ELEMENT_NODE = NodeType.ELEMENT_NODE = 1;
  var ATTRIBUTE_NODE = NodeType.ATTRIBUTE_NODE = 2;
  var TEXT_NODE = NodeType.TEXT_NODE = 3;
  var CDATA_SECTION_NODE = NodeType.CDATA_SECTION_NODE = 4;
  var ENTITY_REFERENCE_NODE = NodeType.ENTITY_REFERENCE_NODE = 5;
  var ENTITY_NODE = NodeType.ENTITY_NODE = 6;
  var PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7;
  var COMMENT_NODE = NodeType.COMMENT_NODE = 8;
  var DOCUMENT_NODE = NodeType.DOCUMENT_NODE = 9;
  var DOCUMENT_TYPE_NODE = NodeType.DOCUMENT_TYPE_NODE = 10;
  var DOCUMENT_FRAGMENT_NODE = NodeType.DOCUMENT_FRAGMENT_NODE = 11;
  var NOTATION_NODE = NodeType.NOTATION_NODE = 12;
  var ExceptionCode = {};
  var ExceptionMessage = {};
  var INDEX_SIZE_ERR = ExceptionCode.INDEX_SIZE_ERR = (ExceptionMessage[1] = "Index size error", 1);
  var DOMSTRING_SIZE_ERR = ExceptionCode.DOMSTRING_SIZE_ERR = (ExceptionMessage[2] = "DOMString size error", 2);
  var HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = (ExceptionMessage[3] = "Hierarchy request error", 3);
  var WRONG_DOCUMENT_ERR = ExceptionCode.WRONG_DOCUMENT_ERR = (ExceptionMessage[4] = "Wrong document", 4);
  var INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = (ExceptionMessage[5] = "Invalid character", 5);
  var NO_DATA_ALLOWED_ERR = ExceptionCode.NO_DATA_ALLOWED_ERR = (ExceptionMessage[6] = "No data allowed", 6);
  var NO_MODIFICATION_ALLOWED_ERR = ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = (ExceptionMessage[7] = "No modification allowed", 7);
  var NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = (ExceptionMessage[8] = "Not found", 8);
  var NOT_SUPPORTED_ERR = ExceptionCode.NOT_SUPPORTED_ERR = (ExceptionMessage[9] = "Not supported", 9);
  var INUSE_ATTRIBUTE_ERR = ExceptionCode.INUSE_ATTRIBUTE_ERR = (ExceptionMessage[10] = "Attribute in use", 10);
  var INVALID_STATE_ERR = ExceptionCode.INVALID_STATE_ERR = (ExceptionMessage[11] = "Invalid state", 11);
  var SYNTAX_ERR = ExceptionCode.SYNTAX_ERR = (ExceptionMessage[12] = "Syntax error", 12);
  var INVALID_MODIFICATION_ERR = ExceptionCode.INVALID_MODIFICATION_ERR = (ExceptionMessage[13] = "Invalid modification", 13);
  var NAMESPACE_ERR = ExceptionCode.NAMESPACE_ERR = (ExceptionMessage[14] = "Invalid namespace", 14);
  var INVALID_ACCESS_ERR = ExceptionCode.INVALID_ACCESS_ERR = (ExceptionMessage[15] = "Invalid access", 15);

  function DOMException(code, message) {
    if (message instanceof Error) {
      var error = message;
    } else {
      error = this;
      Error.call(this, ExceptionMessage[code]);
      this.message = ExceptionMessage[code];
      if (Error.captureStackTrace) Error.captureStackTrace(this, DOMException);
    }

    error.code = code;
    if (message) this.message = this.message + ": " + message;
    return error;
  }

  ;
  DOMException.prototype = Error.prototype;
  copy(ExceptionCode, DOMException);

  function NodeList() {}

  ;
  NodeList.prototype = {
    length: 0,
    item: function item(index) {
      return this[index] || null;
    },
    toString: function toString(isHTML, nodeFilter) {
      for (var buf = [], i = 0; i < this.length; i++) {
        serializeToString(this[i], buf, isHTML, nodeFilter);
      }

      return buf.join('');
    }
  };

  function LiveNodeList(node, refresh) {
    this._node = node;
    this._refresh = refresh;

    _updateLiveList(this);
  }

  function _updateLiveList(list) {
    var inc = list._node._inc || list._node.ownerDocument._inc;

    if (list._inc != inc) {
      var ls = list._refresh(list._node);

      __set__(list, 'length', ls.length);

      copy(ls, list);
      list._inc = inc;
    }
  }

  LiveNodeList.prototype.item = function (i) {
    _updateLiveList(this);

    return this[i];
  };

  _extends(LiveNodeList, NodeList);

  function NamedNodeMap() {}

  ;

  function _findNodeIndex(list, node) {
    var i = list.length;

    while (i--) {
      if (list[i] === node) {
        return i;
      }
    }
  }

  function _addNamedNode(el, list, newAttr, oldAttr) {
    if (oldAttr) {
      list[_findNodeIndex(list, oldAttr)] = newAttr;
    } else {
      list[list.length++] = newAttr;
    }

    if (el) {
      newAttr.ownerElement = el;
      var doc = el.ownerDocument;

      if (doc) {
        oldAttr && _onRemoveAttribute(doc, el, oldAttr);

        _onAddAttribute(doc, el, newAttr);
      }
    }
  }

  function _removeNamedNode(el, list, attr) {
    var i = _findNodeIndex(list, attr);

    if (i >= 0) {
      var lastIndex = list.length - 1;

      while (i < lastIndex) {
        list[i] = list[++i];
      }

      list.length = lastIndex;

      if (el) {
        var doc = el.ownerDocument;

        if (doc) {
          _onRemoveAttribute(doc, el, attr);

          attr.ownerElement = null;
        }
      }
    } else {
      throw DOMException(NOT_FOUND_ERR, new Error(el.tagName + '@' + attr));
    }
  }

  NamedNodeMap.prototype = {
    length: 0,
    item: NodeList.prototype.item,
    getNamedItem: function getNamedItem(key) {
      var i = this.length;

      while (i--) {
        var attr = this[i];

        if (attr.nodeName == key) {
          return attr;
        }
      }
    },
    setNamedItem: function setNamedItem(attr) {
      var el = attr.ownerElement;

      if (el && el != this._ownerElement) {
        throw new DOMException(INUSE_ATTRIBUTE_ERR);
      }

      var oldAttr = this.getNamedItem(attr.nodeName);

      _addNamedNode(this._ownerElement, this, attr, oldAttr);

      return oldAttr;
    },
    setNamedItemNS: function setNamedItemNS(attr) {
      var el = attr.ownerElement,
          oldAttr;

      if (el && el != this._ownerElement) {
        throw new DOMException(INUSE_ATTRIBUTE_ERR);
      }

      oldAttr = this.getNamedItemNS(attr.namespaceURI, attr.localName);

      _addNamedNode(this._ownerElement, this, attr, oldAttr);

      return oldAttr;
    },
    removeNamedItem: function removeNamedItem(key) {
      var attr = this.getNamedItem(key);

      _removeNamedNode(this._ownerElement, this, attr);

      return attr;
    },
    removeNamedItemNS: function removeNamedItemNS(namespaceURI, localName) {
      var attr = this.getNamedItemNS(namespaceURI, localName);

      _removeNamedNode(this._ownerElement, this, attr);

      return attr;
    },
    getNamedItemNS: function getNamedItemNS(namespaceURI, localName) {
      var i = this.length;

      while (i--) {
        var node = this[i];

        if (node.localName == localName && node.namespaceURI == namespaceURI) {
          return node;
        }
      }

      return null;
    }
  };

  function DOMImplementation(features) {
    this._features = {};

    if (features) {
      for (var feature in features) {
        this._features = features[feature];
      }
    }
  }

  ;
  DOMImplementation.prototype = {
    hasFeature: function hasFeature(feature, version) {
      var versions = this._features[feature.toLowerCase()];

      if (versions && (!version || version in versions)) {
        return true;
      } else {
        return false;
      }
    },
    createDocument: function createDocument(namespaceURI, qualifiedName, doctype) {
      var doc = new Document();
      doc.implementation = this;
      doc.childNodes = new NodeList();
      doc.doctype = doctype;

      if (doctype) {
        doc.appendChild(doctype);
      }

      if (qualifiedName) {
        var root = doc.createElementNS(namespaceURI, qualifiedName);
        doc.appendChild(root);
      }

      return doc;
    },
    createDocumentType: function createDocumentType(qualifiedName, publicId, systemId) {
      var node = new DocumentType();
      node.name = qualifiedName;
      node.nodeName = qualifiedName;
      node.publicId = publicId;
      node.systemId = systemId;
      return node;
    }
  };

  function Node() {}

  ;
  Node.prototype = {
    firstChild: null,
    lastChild: null,
    previousSibling: null,
    nextSibling: null,
    attributes: null,
    parentNode: null,
    childNodes: null,
    ownerDocument: null,
    nodeValue: null,
    namespaceURI: null,
    prefix: null,
    localName: null,
    insertBefore: function insertBefore(newChild, refChild) {
      return _insertBefore(this, newChild, refChild);
    },
    replaceChild: function replaceChild(newChild, oldChild) {
      this.insertBefore(newChild, oldChild);

      if (oldChild) {
        this.removeChild(oldChild);
      }
    },
    removeChild: function removeChild(oldChild) {
      return _removeChild(this, oldChild);
    },
    appendChild: function appendChild(newChild) {
      return this.insertBefore(newChild, null);
    },
    hasChildNodes: function hasChildNodes() {
      return this.firstChild != null;
    },
    cloneNode: function cloneNode(deep) {
      return _cloneNode(this.ownerDocument || this, this, deep);
    },
    normalize: function normalize() {
      var child = this.firstChild;

      while (child) {
        var next = child.nextSibling;

        if (next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE) {
          this.removeChild(next);
          child.appendData(next.data);
        } else {
          child.normalize();
          child = next;
        }
      }
    },
    isSupported: function isSupported(feature, version) {
      return this.ownerDocument.implementation.hasFeature(feature, version);
    },
    hasAttributes: function hasAttributes() {
      return this.attributes.length > 0;
    },
    lookupPrefix: function lookupPrefix(namespaceURI) {
      var el = this;

      while (el) {
        var map = el._nsMap;

        if (map) {
          for (var n in map) {
            if (map[n] == namespaceURI) {
              return n;
            }
          }
        }

        el = el.nodeType == ATTRIBUTE_NODE ? el.ownerDocument : el.parentNode;
      }

      return null;
    },
    lookupNamespaceURI: function lookupNamespaceURI(prefix) {
      var el = this;

      while (el) {
        var map = el._nsMap;

        if (map) {
          if (prefix in map) {
            return map[prefix];
          }
        }

        el = el.nodeType == ATTRIBUTE_NODE ? el.ownerDocument : el.parentNode;
      }

      return null;
    },
    isDefaultNamespace: function isDefaultNamespace(namespaceURI) {
      var prefix = this.lookupPrefix(namespaceURI);
      return prefix == null;
    }
  };

  function _xmlEncoder(c) {
    return c == '<' && '&lt;' || c == '>' && '&gt;' || c == '&' && '&amp;' || c == '"' && '&quot;' || '&#' + c.charCodeAt() + ';';
  }

  copy(NodeType, Node);
  copy(NodeType, Node.prototype);

  function _visitNode(node, callback) {
    if (callback(node)) {
      return true;
    }

    if (node = node.firstChild) {
      do {
        if (_visitNode(node, callback)) {
          return true;
        }
      } while (node = node.nextSibling);
    }
  }

  function Document() {}

  function _onAddAttribute(doc, el, newAttr) {
    doc && doc._inc++;
    var ns = newAttr.namespaceURI;

    if (ns == 'http://www.w3.org/2000/xmlns/') {
      el._nsMap[newAttr.prefix ? newAttr.localName : ''] = newAttr.value;
    }
  }

  function _onRemoveAttribute(doc, el, newAttr, remove) {
    doc && doc._inc++;
    var ns = newAttr.namespaceURI;

    if (ns == 'http://www.w3.org/2000/xmlns/') {
      delete el._nsMap[newAttr.prefix ? newAttr.localName : ''];
    }
  }

  function _onUpdateChild(doc, el, newChild) {
    if (doc && doc._inc) {
      doc._inc++;
      var cs = el.childNodes;

      if (newChild) {
        cs[cs.length++] = newChild;
      } else {
        var child = el.firstChild;
        var i = 0;

        while (child) {
          cs[i++] = child;
          child = child.nextSibling;
        }

        cs.length = i;
      }
    }
  }

  function _removeChild(parentNode, child) {
    var previous = child.previousSibling;
    var next = child.nextSibling;

    if (previous) {
      previous.nextSibling = next;
    } else {
      parentNode.firstChild = next;
    }

    if (next) {
      next.previousSibling = previous;
    } else {
      parentNode.lastChild = previous;
    }

    _onUpdateChild(parentNode.ownerDocument, parentNode);

    return child;
  }

  function _insertBefore(parentNode, newChild, nextChild) {
    var cp = newChild.parentNode;

    if (cp) {
      cp.removeChild(newChild);
    }

    if (newChild.nodeType === DOCUMENT_FRAGMENT_NODE) {
      var newFirst = newChild.firstChild;

      if (newFirst == null) {
        return newChild;
      }

      var newLast = newChild.lastChild;
    } else {
      newFirst = newLast = newChild;
    }

    var pre = nextChild ? nextChild.previousSibling : parentNode.lastChild;
    newFirst.previousSibling = pre;
    newLast.nextSibling = nextChild;

    if (pre) {
      pre.nextSibling = newFirst;
    } else {
      parentNode.firstChild = newFirst;
    }

    if (nextChild == null) {
      parentNode.lastChild = newLast;
    } else {
      nextChild.previousSibling = newLast;
    }

    do {
      newFirst.parentNode = parentNode;
    } while (newFirst !== newLast && (newFirst = newFirst.nextSibling));

    _onUpdateChild(parentNode.ownerDocument || parentNode, parentNode);

    if (newChild.nodeType == DOCUMENT_FRAGMENT_NODE) {
      newChild.firstChild = newChild.lastChild = null;
    }

    return newChild;
  }

  function _appendSingleChild(parentNode, newChild) {
    var cp = newChild.parentNode;

    if (cp) {
      var pre = parentNode.lastChild;
      cp.removeChild(newChild);
      var pre = parentNode.lastChild;
    }

    var pre = parentNode.lastChild;
    newChild.parentNode = parentNode;
    newChild.previousSibling = pre;
    newChild.nextSibling = null;

    if (pre) {
      pre.nextSibling = newChild;
    } else {
      parentNode.firstChild = newChild;
    }

    parentNode.lastChild = newChild;

    _onUpdateChild(parentNode.ownerDocument, parentNode, newChild);

    return newChild;
  }

  Document.prototype = {
    nodeName: '#document',
    nodeType: DOCUMENT_NODE,
    doctype: null,
    documentElement: null,
    _inc: 1,
    insertBefore: function insertBefore(newChild, refChild) {
      if (newChild.nodeType == DOCUMENT_FRAGMENT_NODE) {
        var child = newChild.firstChild;

        while (child) {
          var next = child.nextSibling;
          this.insertBefore(child, refChild);
          child = next;
        }

        return newChild;
      }

      if (this.documentElement == null && newChild.nodeType == ELEMENT_NODE) {
        this.documentElement = newChild;
      }

      return _insertBefore(this, newChild, refChild), newChild.ownerDocument = this, newChild;
    },
    removeChild: function removeChild(oldChild) {
      if (this.documentElement == oldChild) {
        this.documentElement = null;
      }

      return _removeChild(this, oldChild);
    },
    importNode: function importNode(importedNode, deep) {
      return _importNode(this, importedNode, deep);
    },
    getElementById: function getElementById(id) {
      var rtv = null;

      _visitNode(this.documentElement, function (node) {
        if (node.nodeType == ELEMENT_NODE) {
          if (node.getAttribute('id') == id) {
            rtv = node;
            return true;
          }
        }
      });

      return rtv;
    },
    getElementsByClassName: function getElementsByClassName(className) {
      var pattern = new RegExp("(^|\\s)" + className + "(\\s|$)");
      return new LiveNodeList(this, function (base) {
        var ls = [];

        _visitNode(base.documentElement, function (node) {
          if (node !== base && node.nodeType == ELEMENT_NODE) {
            if (pattern.test(node.getAttribute('class'))) {
              ls.push(node);
            }
          }
        });

        return ls;
      });
    },
    createElement: function createElement(tagName) {
      var node = new Element();
      node.ownerDocument = this;
      node.nodeName = tagName;
      node.tagName = tagName;
      node.childNodes = new NodeList();
      var attrs = node.attributes = new NamedNodeMap();
      attrs._ownerElement = node;
      return node;
    },
    createDocumentFragment: function createDocumentFragment() {
      var node = new DocumentFragment();
      node.ownerDocument = this;
      node.childNodes = new NodeList();
      return node;
    },
    createTextNode: function createTextNode(data) {
      var node = new Text();
      node.ownerDocument = this;
      node.appendData(data);
      return node;
    },
    createComment: function createComment(data) {
      var node = new Comment();
      node.ownerDocument = this;
      node.appendData(data);
      return node;
    },
    createCDATASection: function createCDATASection(data) {
      var node = new CDATASection();
      node.ownerDocument = this;
      node.appendData(data);
      return node;
    },
    createProcessingInstruction: function createProcessingInstruction(target, data) {
      var node = new ProcessingInstruction();
      node.ownerDocument = this;
      node.tagName = node.target = target;
      node.nodeValue = node.data = data;
      return node;
    },
    createAttribute: function createAttribute(name) {
      var node = new Attr();
      node.ownerDocument = this;
      node.name = name;
      node.nodeName = name;
      node.localName = name;
      node.specified = true;
      return node;
    },
    createEntityReference: function createEntityReference(name) {
      var node = new EntityReference();
      node.ownerDocument = this;
      node.nodeName = name;
      return node;
    },
    createElementNS: function createElementNS(namespaceURI, qualifiedName) {
      var node = new Element();
      var pl = qualifiedName.split(':');
      var attrs = node.attributes = new NamedNodeMap();
      node.childNodes = new NodeList();
      node.ownerDocument = this;
      node.nodeName = qualifiedName;
      node.tagName = qualifiedName;
      node.namespaceURI = namespaceURI;

      if (pl.length == 2) {
        node.prefix = pl[0];
        node.localName = pl[1];
      } else {
        node.localName = qualifiedName;
      }

      attrs._ownerElement = node;
      return node;
    },
    createAttributeNS: function createAttributeNS(namespaceURI, qualifiedName) {
      var node = new Attr();
      var pl = qualifiedName.split(':');
      node.ownerDocument = this;
      node.nodeName = qualifiedName;
      node.name = qualifiedName;
      node.namespaceURI = namespaceURI;
      node.specified = true;

      if (pl.length == 2) {
        node.prefix = pl[0];
        node.localName = pl[1];
      } else {
        node.localName = qualifiedName;
      }

      return node;
    }
  };

  _extends(Document, Node);

  function Element() {
    this._nsMap = {};
  }

  ;
  Element.prototype = {
    nodeType: ELEMENT_NODE,
    hasAttribute: function hasAttribute(name) {
      return this.getAttributeNode(name) != null;
    },
    getAttribute: function getAttribute(name) {
      var attr = this.getAttributeNode(name);
      return attr && attr.value || '';
    },
    getAttributeNode: function getAttributeNode(name) {
      return this.attributes.getNamedItem(name);
    },
    setAttribute: function setAttribute(name, value) {
      var attr = this.ownerDocument.createAttribute(name);
      attr.value = attr.nodeValue = "" + value;
      this.setAttributeNode(attr);
    },
    removeAttribute: function removeAttribute(name) {
      var attr = this.getAttributeNode(name);
      attr && this.removeAttributeNode(attr);
    },
    appendChild: function appendChild(newChild) {
      if (newChild.nodeType === DOCUMENT_FRAGMENT_NODE) {
        return this.insertBefore(newChild, null);
      } else {
        return _appendSingleChild(this, newChild);
      }
    },
    setAttributeNode: function setAttributeNode(newAttr) {
      return this.attributes.setNamedItem(newAttr);
    },
    setAttributeNodeNS: function setAttributeNodeNS(newAttr) {
      return this.attributes.setNamedItemNS(newAttr);
    },
    removeAttributeNode: function removeAttributeNode(oldAttr) {
      return this.attributes.removeNamedItem(oldAttr.nodeName);
    },
    removeAttributeNS: function removeAttributeNS(namespaceURI, localName) {
      var old = this.getAttributeNodeNS(namespaceURI, localName);
      old && this.removeAttributeNode(old);
    },
    hasAttributeNS: function hasAttributeNS(namespaceURI, localName) {
      return this.getAttributeNodeNS(namespaceURI, localName) != null;
    },
    getAttributeNS: function getAttributeNS(namespaceURI, localName) {
      var attr = this.getAttributeNodeNS(namespaceURI, localName);
      return attr && attr.value || '';
    },
    setAttributeNS: function setAttributeNS(namespaceURI, qualifiedName, value) {
      var attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName);
      attr.value = attr.nodeValue = "" + value;
      this.setAttributeNode(attr);
    },
    getAttributeNodeNS: function getAttributeNodeNS(namespaceURI, localName) {
      return this.attributes.getNamedItemNS(namespaceURI, localName);
    },
    getElementsByTagName: function getElementsByTagName(tagName) {
      return new LiveNodeList(this, function (base) {
        var ls = [];

        _visitNode(base, function (node) {
          if (node !== base && node.nodeType == ELEMENT_NODE && (tagName === '*' || node.tagName == tagName)) {
            ls.push(node);
          }
        });

        return ls;
      });
    },
    getElementsByTagNameNS: function getElementsByTagNameNS(namespaceURI, localName) {
      return new LiveNodeList(this, function (base) {
        var ls = [];

        _visitNode(base, function (node) {
          if (node !== base && node.nodeType === ELEMENT_NODE && (namespaceURI === '*' || node.namespaceURI === namespaceURI) && (localName === '*' || node.localName == localName)) {
            ls.push(node);
          }
        });

        return ls;
      });
    }
  };
  Document.prototype.getElementsByTagName = Element.prototype.getElementsByTagName;
  Document.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS;

  _extends(Element, Node);

  function Attr() {}

  ;
  Attr.prototype.nodeType = ATTRIBUTE_NODE;

  _extends(Attr, Node);

  function CharacterData() {}

  ;
  CharacterData.prototype = {
    data: '',
    substringData: function substringData(offset, count) {
      return this.data.substring(offset, offset + count);
    },
    appendData: function appendData(text) {
      text = this.data + text;
      this.nodeValue = this.data = text;
      this.length = text.length;
    },
    insertData: function insertData(offset, text) {
      this.replaceData(offset, 0, text);
    },
    appendChild: function appendChild(newChild) {
      throw new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR]);
    },
    deleteData: function deleteData(offset, count) {
      this.replaceData(offset, count, "");
    },
    replaceData: function replaceData(offset, count, text) {
      var start = this.data.substring(0, offset);
      var end = this.data.substring(offset + count);
      text = start + text + end;
      this.nodeValue = this.data = text;
      this.length = text.length;
    }
  };

  _extends(CharacterData, Node);

  function Text() {}

  ;
  Text.prototype = {
    nodeName: "#text",
    nodeType: TEXT_NODE,
    splitText: function splitText(offset) {
      var text = this.data;
      var newText = text.substring(offset);
      text = text.substring(0, offset);
      this.data = this.nodeValue = text;
      this.length = text.length;
      var newNode = this.ownerDocument.createTextNode(newText);

      if (this.parentNode) {
        this.parentNode.insertBefore(newNode, this.nextSibling);
      }

      return newNode;
    }
  };

  _extends(Text, CharacterData);

  function Comment() {}

  ;
  Comment.prototype = {
    nodeName: "#comment",
    nodeType: COMMENT_NODE
  };

  _extends(Comment, CharacterData);

  function CDATASection() {}

  ;
  CDATASection.prototype = {
    nodeName: "#cdata-section",
    nodeType: CDATA_SECTION_NODE
  };

  _extends(CDATASection, CharacterData);

  function DocumentType() {}

  ;
  DocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE;

  _extends(DocumentType, Node);

  function Notation() {}

  ;
  Notation.prototype.nodeType = NOTATION_NODE;

  _extends(Notation, Node);

  function Entity() {}

  ;
  Entity.prototype.nodeType = ENTITY_NODE;

  _extends(Entity, Node);

  function EntityReference() {}

  ;
  EntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE;

  _extends(EntityReference, Node);

  function DocumentFragment() {}

  ;
  DocumentFragment.prototype.nodeName = "#document-fragment";
  DocumentFragment.prototype.nodeType = DOCUMENT_FRAGMENT_NODE;

  _extends(DocumentFragment, Node);

  function ProcessingInstruction() {}

  ProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE;

  _extends(ProcessingInstruction, Node);

  function XMLSerializer() {}

  XMLSerializer.prototype.serializeToString = function (node, isHtml, nodeFilter) {
    return nodeSerializeToString.call(node, isHtml, nodeFilter);
  };

  Node.prototype.toString = nodeSerializeToString;

  function nodeSerializeToString(isHtml, nodeFilter) {
    var buf = [];
    var refNode = this.nodeType == 9 && this.documentElement || this;
    var prefix = refNode.prefix;
    var uri = refNode.namespaceURI;

    if (uri && prefix == null) {
      var prefix = refNode.lookupPrefix(uri);

      if (prefix == null) {
        var visibleNamespaces = [{
          namespace: uri,
          prefix: null
        }];
      }
    }

    serializeToString(this, buf, isHtml, nodeFilter, visibleNamespaces);
    return buf.join('');
  }

  function needNamespaceDefine(node, isHTML, visibleNamespaces) {
    var prefix = node.prefix || '';
    var uri = node.namespaceURI;

    if (!prefix && !uri) {
      return false;
    }

    if (prefix === "xml" && uri === "http://www.w3.org/XML/1998/namespace" || uri == 'http://www.w3.org/2000/xmlns/') {
      return false;
    }

    var i = visibleNamespaces.length;

    while (i--) {
      var ns = visibleNamespaces[i];

      if (ns.prefix == prefix) {
        return ns.namespace != uri;
      }
    }

    return true;
  }

  function serializeToString(node, buf, isHTML, nodeFilter, visibleNamespaces) {
    if (nodeFilter) {
      node = nodeFilter(node);

      if (node) {
        if (typeof node == 'string') {
          buf.push(node);
          return;
        }
      } else {
        return;
      }
    }

    switch (node.nodeType) {
      case ELEMENT_NODE:
        if (!visibleNamespaces) visibleNamespaces = [];
        var startVisibleNamespaces = visibleNamespaces.length;
        var attrs = node.attributes;
        var len = attrs.length;
        var child = node.firstChild;
        var nodeName = node.tagName;
        isHTML = htmlns === node.namespaceURI || isHTML;
        buf.push('<', nodeName);

        for (var i = 0; i < len; i++) {
          var attr = attrs.item(i);

          if (attr.prefix == 'xmlns') {
            visibleNamespaces.push({
              prefix: attr.localName,
              namespace: attr.value
            });
          } else if (attr.nodeName == 'xmlns') {
            visibleNamespaces.push({
              prefix: '',
              namespace: attr.value
            });
          }
        }

        for (var i = 0; i < len; i++) {
          var attr = attrs.item(i);

          if (needNamespaceDefine(attr, isHTML, visibleNamespaces)) {
            var prefix = attr.prefix || '';
            var uri = attr.namespaceURI;
            var ns = prefix ? ' xmlns:' + prefix : " xmlns";
            buf.push(ns, '="', uri, '"');
            visibleNamespaces.push({
              prefix: prefix,
              namespace: uri
            });
          }

          serializeToString(attr, buf, isHTML, nodeFilter, visibleNamespaces);
        }

        if (needNamespaceDefine(node, isHTML, visibleNamespaces)) {
          var prefix = node.prefix || '';
          var uri = node.namespaceURI;

          if (uri) {
            var ns = prefix ? ' xmlns:' + prefix : " xmlns";
            buf.push(ns, '="', uri, '"');
            visibleNamespaces.push({
              prefix: prefix,
              namespace: uri
            });
          }
        }

        if (child || isHTML && !/^(?:meta|link|img|br|hr|input)$/i.test(nodeName)) {
          buf.push('>');

          if (isHTML && /^script$/i.test(nodeName)) {
            while (child) {
              if (child.data) {
                buf.push(child.data);
              } else {
                serializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces);
              }

              child = child.nextSibling;
            }
          } else {
            while (child) {
              serializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces);
              child = child.nextSibling;
            }
          }

          buf.push('</', nodeName, '>');
        } else {
          buf.push('/>');
        }

        return;

      case DOCUMENT_NODE:
      case DOCUMENT_FRAGMENT_NODE:
        var child = node.firstChild;

        while (child) {
          serializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces);
          child = child.nextSibling;
        }

        return;

      case ATTRIBUTE_NODE:
        return buf.push(' ', node.name, '="', node.value.replace(/[<&"]/g, _xmlEncoder), '"');

      case TEXT_NODE:
        return buf.push(node.data.replace(/[<&]/g, _xmlEncoder).replace(/]]>/g, ']]&gt;'));

      case CDATA_SECTION_NODE:
        return buf.push('<![CDATA[', node.data, ']]>');

      case COMMENT_NODE:
        return buf.push("<!--", node.data, "-->");

      case DOCUMENT_TYPE_NODE:
        var pubid = node.publicId;
        var sysid = node.systemId;
        buf.push('<!DOCTYPE ', node.name);

        if (pubid) {
          buf.push(' PUBLIC ', pubid);

          if (sysid && sysid != '.') {
            buf.push(' ', sysid);
          }

          buf.push('>');
        } else if (sysid && sysid != '.') {
          buf.push(' SYSTEM ', sysid, '>');
        } else {
          var sub = node.internalSubset;

          if (sub) {
            buf.push(" [", sub, "]");
          }

          buf.push(">");
        }

        return;

      case PROCESSING_INSTRUCTION_NODE:
        return buf.push("<?", node.target, " ", node.data, "?>");

      case ENTITY_REFERENCE_NODE:
        return buf.push('&', node.nodeName, ';');

      default:
        buf.push('??', node.nodeName);
    }
  }

  function _importNode(doc, node, deep) {
    var node2;

    switch (node.nodeType) {
      case ELEMENT_NODE:
        node2 = node.cloneNode(false);
        node2.ownerDocument = doc;

      case DOCUMENT_FRAGMENT_NODE:
        break;

      case ATTRIBUTE_NODE:
        deep = true;
        break;
    }

    if (!node2) {
      node2 = node.cloneNode(false);
    }

    node2.ownerDocument = doc;
    node2.parentNode = null;

    if (deep) {
      var child = node.firstChild;

      while (child) {
        node2.appendChild(_importNode(doc, child, deep));
        child = child.nextSibling;
      }
    }

    return node2;
  }

  function _cloneNode(doc, node, deep) {
    var node2 = new node.constructor();

    for (var n in node) {
      var v = node[n];

      if (typeof v != 'object') {
        if (v != node2[n]) {
          node2[n] = v;
        }
      }
    }

    if (node.childNodes) {
      node2.childNodes = new NodeList();
    }

    node2.ownerDocument = doc;

    switch (node2.nodeType) {
      case ELEMENT_NODE:
        var attrs = node.attributes;
        var attrs2 = node2.attributes = new NamedNodeMap();
        var len = attrs.length;
        attrs2._ownerElement = node2;

        for (var i = 0; i < len; i++) {
          node2.setAttributeNode(_cloneNode(doc, attrs.item(i), true));
        }

        break;
        ;

      case ATTRIBUTE_NODE:
        deep = true;
    }

    if (deep) {
      var child = node.firstChild;

      while (child) {
        node2.appendChild(_cloneNode(doc, child, deep));
        child = child.nextSibling;
      }
    }

    return node2;
  }

  function __set__(object, key, value) {
    object[key] = value;
  }

  try {
    if (Object.defineProperty) {
      Object.defineProperty(LiveNodeList.prototype, 'length', {
        get: function get() {
          _updateLiveList(this);

          return this.$$length;
        }
      });
      Object.defineProperty(Node.prototype, 'textContent', {
        get: function get() {
          return getTextContent(this);
        },
        set: function set(data) {
          switch (this.nodeType) {
            case ELEMENT_NODE:
            case DOCUMENT_FRAGMENT_NODE:
              while (this.firstChild) {
                this.removeChild(this.firstChild);
              }

              if (data || String(data)) {
                this.appendChild(this.ownerDocument.createTextNode(data));
              }

              break;

            default:
              this.data = data;
              this.value = data;
              this.nodeValue = data;
          }
        }
      });

      function getTextContent(node) {
        switch (node.nodeType) {
          case ELEMENT_NODE:
          case DOCUMENT_FRAGMENT_NODE:
            var buf = [];
            node = node.firstChild;

            while (node) {
              if (node.nodeType !== 7 && node.nodeType !== 8) {
                buf.push(getTextContent(node));
              }

              node = node.nextSibling;
            }

            return buf.join('');

          default:
            return node.nodeValue;
        }
      }

      __set__ = function __set__(object, key, value) {
        object['$$' + key] = value;
      };
    }
  } catch (e) {}

  exports.Node = Node;
  exports.DOMException = DOMException;
  exports.DOMImplementation = DOMImplementation;
  exports.XMLSerializer = XMLSerializer;
},2073,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.FontsManager = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _FontsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var FontsManager = function () {
    function FontsManager() {
      (0, _classCallCheck2.default)(this, FontsManager);
      this.configs = [];
    }

    (0, _createClass2.default)(FontsManager, [{
      key: "init",
      value: function init() {
        var pSetupConfig,
            pSetup,
            machine,
            paper,
            customFontsFileTime,
            lastCustomFontsFileTime,
            fontsJSON,
            mainFontsJSON,
            _args = arguments;
        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                pSetupConfig = _args.length > 0 && _args[0] !== undefined ? _args[0] : global.getActivePSetup();
                pSetup = pSetupConfig.pSetup, machine = pSetupConfig.machine, paper = pSetupConfig.paper, customFontsFileTime = pSetupConfig.customFontsFileTime;

                if (!this.configs[paper]) {
                  this.configs[paper] = new (_$$_REQUIRE(_dependencyMap[7]).FontsConfig)();
                }

                _FontsHelper.default.setStorageName(paper);

                _context.next = 6;
                return _regenerator.default.awrap(_FontsHelper.default.getFiletime());

              case 6:
                lastCustomFontsFileTime = _context.sent;
                fontsJSON = {};
                _context.prev = 8;
                _context.next = 11;
                return _regenerator.default.awrap(_FontsHelper.default.dump());

              case 11:
                fontsJSON = _context.sent;
                _context.next = 16;
                break;

              case 14:
                _context.prev = 14;
                _context.t0 = _context["catch"](8);

              case 16:
                if (!(_$$_REQUIRE(_dependencyMap[8]).NetworkUtils.isOnline() && customFontsFileTime > -1 && customFontsFileTime > lastCustomFontsFileTime)) {
                  _context.next = 22;
                  break;
                }

                _context.next = 19;
                return _regenerator.default.awrap(FontsManager.download({
                  pSetup: pSetup,
                  machine: machine
                }));

              case 19:
                fontsJSON = _context.sent;
                _context.next = 26;
                break;

              case 22:
                if (!(customFontsFileTime === -1)) {
                  _context.next = 26;
                  break;
                }

                fontsJSON = {};
                _context.next = 26;
                return _regenerator.default.awrap(_FontsHelper.default.clearAll());

              case 26:
                _FontsHelper.default.setFiletime(customFontsFileTime);

                _context.next = 29;
                return _regenerator.default.awrap(FontsManager.makeFontsDirectory());

              case 29:
                mainFontsJSON = this.getMainFontsJSON(pSetupConfig);

                if (!_$$_REQUIRE(_dependencyMap[8]).JSUtils.isEmpty(mainFontsJSON)) {
                  fontsJSON = _$$_REQUIRE(_dependencyMap[8]).FontUtils.mergeFontsJSONs(mainFontsJSON, fontsJSON);
                }

                return _context.abrupt("return", this.configs[paper].init(fontsJSON));

              case 32:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[8, 14]], Promise);
      }
    }, {
      key: "getMainFontsJSON",
      value: function getMainFontsJSON() {
        var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : global.getActivePSetup(),
            activePaper = _ref.paper;

        var _global$getMainPSetup = global.getMainPSetup(),
            paper = _global$getMainPSetup.paper;

        var fontsConfig = this.getConfig(paper);

        if (activePaper !== paper && fontsConfig) {
          return fontsConfig.getJSON();
        }

        return {};
      }
    }, {
      key: "getConfig",
      value: function getConfig() {
        var paper = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : global.getActivePSetup().paper;
        return this.configs[paper] || new (_$$_REQUIRE(_dependencyMap[7]).FontsConfig)();
      }
    }], [{
      key: "makeFontsDirectory",
      value: function makeFontsDirectory() {
        var fontsDirectory;
        return _regenerator.default.async(function makeFontsDirectory$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                fontsDirectory = _tecnaviaFileUtils.default.getFontsDirectory();
                _context2.next = 3;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.exists(fontsDirectory));

              case 3:
                if (_context2.sent) {
                  _context2.next = 6;
                  break;
                }

                _context2.next = 6;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.mkdir(fontsDirectory));

              case 6:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "download",
      value: function download(params) {
        var response, json, keys;
        return _regenerator.default.async(function download$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _context3.next = 2;
                return _regenerator.default.awrap(_Api.default.customFonts(params));

              case 2:
                response = _context3.sent;
                json = {};

                if (response && response.data && response.data.fonts) {
                  json = response.data;
                  keys = Object.keys(json);

                  if (keys.length > 0) {
                    keys.forEach(function (key) {
                      if (Array.isArray(json[key])) {
                        json[key] = JSON.stringify(json[key]);
                      }
                    });

                    _$$_REQUIRE(_dependencyMap[8]).StorageUtils.clearAll(_FontsHelper.default.SP.name).then(function () {
                      return _$$_REQUIRE(_dependencyMap[8]).StorageUtils.multiSet(_FontsHelper.default.SP.name, json);
                    });
                  }
                }

                return _context3.abrupt("return", json);

              case 6:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return FontsManager;
  }();

  exports.FontsManager = FontsManager;
},2074,[5,80,7,8,574,2075,431,2076,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var FONTS_BASE_STORAGE_NAME = "fonts";

  var FontsHelper = function () {
    function FontsHelper() {
      (0, _classCallCheck2.default)(this, FontsHelper);
    }

    (0, _createClass2.default)(FontsHelper, null, [{
      key: "setStorageName",
      value: function setStorageName(prefix) {
        var storageName = FONTS_BASE_STORAGE_NAME;

        if (prefix) {
          storageName = prefix + "_" + storageName;
        }

        FontsHelper.SP.name = storageName;
      }
    }, {
      key: "getItem",
      value: function getItem(key) {
        return _regenerator.default.async(function getItem$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.getItem(FontsHelper.SP.name, key));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setItem",
      value: function setItem(key, value) {
        return _regenerator.default.async(function setItem$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.next = 2;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[4]).StorageUtils.setItem(FontsHelper.SP.name, key, value));

              case 2:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getFiletime",
      value: function getFiletime() {
        var filetime;
        return _regenerator.default.async(function getFiletime$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _context3.t0 = parseInt;
                _context3.next = 3;
                return _regenerator.default.awrap(FontsHelper.getItem(FontsHelper.SP.keys.filetime));

              case 3:
                _context3.t1 = _context3.sent;

                if (_context3.t1) {
                  _context3.next = 6;
                  break;
                }

                _context3.t1 = -1;

              case 6:
                _context3.t2 = _context3.t1;
                filetime = (0, _context3.t0)(_context3.t2, 10);
                return _context3.abrupt("return", filetime);

              case 9:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setFiletime",
      value: function setFiletime(filetime) {
        return _regenerator.default.async(function setFiletime$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                return _context4.abrupt("return", FontsHelper.setItem(FontsHelper.SP.keys.filetime, "" + filetime));

              case 1:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "clearAll",
      value: function clearAll() {
        return _regenerator.default.async(function clearAll$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                return _context5.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.clearAll(FontsHelper.SP.name));

              case 1:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "dump",
      value: function dump() {
        return _regenerator.default.async(function dump$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                return _context6.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.multiGet(FontsHelper.SP.name));

              case 1:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return FontsHelper;
  }();

  exports.default = FontsHelper;
  FontsHelper.SP = {
    name: FONTS_BASE_STORAGE_NAME,
    keys: {
      fonts: "fonts",
      font_regular: "regular",
      font_medium: "medium",
      font_bold: "bold",
      filetime: "filetime"
    }
  };
},2075,[5,80,7,8,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.FontsConfig = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _FontsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var FontsConfig = function () {
    function FontsConfig() {
      (0, _classCallCheck2.default)(this, FontsConfig);
    }

    (0, _createClass2.default)(FontsConfig, [{
      key: "init",
      value: function init() {
        var json,
            keys,
            i,
            dynamicFont,
            mappedDynamicFont,
            _global$getRssIndex,
            fontBold,
            fontMedium,
            fontRegular,
            fontRegularName,
            fontMediumName,
            fontBoldName,
            _args = arguments;

        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                json = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
                this.json = json;
                keys = _FontsHelper.default.SP.keys;
                _context.next = 5;
                return _regenerator.default.awrap(this.getValue(keys.fonts));

              case 5:
                this.fonts = _context.sent;
                _context.next = 8;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[6]).FontUtils.getDynamicFonts(this.fonts, _tecnaviaFileUtils.default.getFontsDirectory()));

              case 8:
                this.dynamicFonts = _context.sent;
                this.mappedDynamicFonts = [];
                i = 0;

              case 11:
                if (!(i < this.dynamicFonts.length)) {
                  _context.next = 21;
                  break;
                }

                dynamicFont = this.dynamicFonts[i];

                if (!dynamicFont) {
                  _context.next = 18;
                  break;
                }

                _context.next = 16;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[6]).FontUtils.dynamicFontMappingForApp(dynamicFont));

              case 16:
                mappedDynamicFont = _context.sent;
                this.mappedDynamicFonts.push(mappedDynamicFont);

              case 18:
                i++;
                _context.next = 11;
                break;

              case 21:
                _context.next = 23;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[6]).FontUtils.fontMappingForApp());

              case 23:
                this.defaultFontRegular = _context.sent;
                _context.next = 26;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[6]).FontUtils.fontMappingForApp("", "medium"));

              case 26:
                this.defaultFontMedium = _context.sent;
                _context.next = 29;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[6]).FontUtils.fontMappingForApp("", "bold"));

              case 29:
                this.defaultFontBold = _context.sent;
                _global$getRssIndex = global.getRssIndex(), fontBold = _global$getRssIndex.fontBold, fontMedium = _global$getRssIndex.fontMedium, fontRegular = _global$getRssIndex.fontRegular;
                _context.next = 33;
                return _regenerator.default.awrap(this.getValue(keys.font_regular));

              case 33:
                fontRegularName = _context.sent;

                if (!fontRegularName) {
                  _context.next = 40;
                  break;
                }

                _context.next = 37;
                return _regenerator.default.awrap(this.getFontMapping(fontRegularName));

              case 37:
                this.fontRegular = _context.sent;
                _context.next = 47;
                break;

              case 40:
                if (!fontRegular) {
                  _context.next = 46;
                  break;
                }

                _context.next = 43;
                return _regenerator.default.awrap(this.getFontMapping(fontRegular));

              case 43:
                this.fontRegular = _context.sent;
                _context.next = 47;
                break;

              case 46:
                this.fontRegular = this.defaultFontRegular;

              case 47:
                _context.next = 49;
                return _regenerator.default.awrap(this.getValue(keys.font_medium));

              case 49:
                fontMediumName = _context.sent;

                if (!fontMediumName) {
                  _context.next = 56;
                  break;
                }

                _context.next = 53;
                return _regenerator.default.awrap(this.getFontMapping(fontMediumName, "medium"));

              case 53:
                this.fontMedium = _context.sent;
                _context.next = 63;
                break;

              case 56:
                if (!fontMedium) {
                  _context.next = 62;
                  break;
                }

                _context.next = 59;
                return _regenerator.default.awrap(this.getFontMapping(fontMedium, "medium"));

              case 59:
                this.fontMedium = _context.sent;
                _context.next = 63;
                break;

              case 62:
                this.fontMedium = this.defaultFontMedium;

              case 63:
                _context.next = 65;
                return _regenerator.default.awrap(this.getValue(keys.font_bold));

              case 65:
                fontBoldName = _context.sent;

                if (!fontBoldName) {
                  _context.next = 72;
                  break;
                }

                _context.next = 69;
                return _regenerator.default.awrap(this.getFontMapping(fontBoldName, "bold"));

              case 69:
                this.fontBold = _context.sent;
                _context.next = 79;
                break;

              case 72:
                if (!fontBold) {
                  _context.next = 78;
                  break;
                }

                _context.next = 75;
                return _regenerator.default.awrap(this.getFontMapping(fontBold, "bold"));

              case 75:
                this.fontBold = _context.sent;
                _context.next = 79;
                break;

              case 78:
                this.fontBold = this.defaultFontBold;

              case 79:
                return _context.abrupt("return", true);

              case 80:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getJSON",
      value: function getJSON() {
        return this.json || {};
      }
    }, {
      key: "getValue",
      value: function getValue(key) {
        var value, keys;
        return _regenerator.default.async(function getValue$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                value = this.json[key];

                if (!(value === null || value === undefined)) {
                  _context2.next = 5;
                  break;
                }

                _context2.next = 4;
                return _regenerator.default.awrap(_FontsHelper.default.getItem(key));

              case 4:
                value = _context2.sent;

              case 5:
                keys = _FontsHelper.default.SP.keys;

                if (key === keys.fonts) {
                  try {
                    value = JSON.parse(value);
                  } catch (e) {
                    value = [];
                  }
                }

                return _context2.abrupt("return", value);

              case 8:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getFontMapping",
      value: function getFontMapping(fontName, type) {
        var fontMapping, dynamicFont;
        return _regenerator.default.async(function getFontMapping$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                dynamicFont = this.dynamicFonts.find(function (font) {
                  return font && font.name === fontName;
                });

                if (!dynamicFont) {
                  _context3.next = 7;
                  break;
                }

                _context3.next = 4;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[6]).FontUtils.dynamicFontMappingForApp(dynamicFont, type));

              case 4:
                fontMapping = _context3.sent;
                _context3.next = 10;
                break;

              case 7:
                _context3.next = 9;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[6]).FontUtils.fontMappingForApp(fontName, type));

              case 9:
                fontMapping = _context3.sent;

              case 10:
                return _context3.abrupt("return", fontMapping);

              case 11:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }]);
    return FontsConfig;
  }();

  exports.FontsConfig = FontsConfig;
},2076,[5,80,7,8,2075,574,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.UserConfig = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _UserSettingsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _rssGridComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _rssListComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _rssCardComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _PushTags = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var LAYOUT_IDS = {
    CARD: "card",
    GRID: "grid",
    LIST: "list"
  };

  var UserConfig = function () {
    function UserConfig() {
      (0, _classCallCheck2.default)(this, UserConfig);
      this.lastEpaperLayoutConfig = "";
      this.startedAsTablet = false;
      this.appSubLayoutChanged = false;
      this.layoutsAvailable = [];
      this.userShowedHints = [];
      this.resetNotificationEmail = this._resetNotificationEmail.bind(this);
    }

    (0, _createClass2.default)(UserConfig, [{
      key: "init",
      value: function init() {
        var keys, previousAppSubLayout, _global$getActivePSet, layoutStyle, layoutSubStyle, currentAppSubLayout, startedAsTabletFromConfig, _global$getMainPSetup, pushTags, userDefinedPushTagsDataset, userDefinedPushTags;

        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                this.initLayouts();
                keys = _UserSettingsHelper.default.SP.keys;
                _context.next = 4;
                return _regenerator.default.awrap(this.getShowedHints());

              case 4:
                this.userShowedHints = _context.sent;
                _context.next = 7;
                return _regenerator.default.awrap(this.getPaperDependentValue(keys.user_defined_startup_mode));

              case 7:
                _context.t0 = _context.sent;

                if (_context.t0) {
                  _context.next = 12;
                  break;
                }

                _context.next = 11;
                return _regenerator.default.awrap(this.getValue(keys.user_defined_startup_mode));

              case 11:
                _context.t0 = _context.sent;

              case 12:
                this.userDefinedStartupMode = _context.t0;
                _context.next = 15;
                return _regenerator.default.awrap(this.getPaperDependentValue(keys.user_defined_startup_mode_timestamp));

              case 15:
                _context.t2 = _context.sent;

                if (_context.t2) {
                  _context.next = 20;
                  break;
                }

                _context.next = 19;
                return _regenerator.default.awrap(this.getValue(keys.user_defined_startup_mode_timestamp));

              case 19:
                _context.t2 = _context.sent;

              case 20:
                _context.t1 = _context.t2;

                if (_context.t1) {
                  _context.next = 23;
                  break;
                }

                _context.t1 = "";

              case 23:
                this.userDefinedStartupModeTimestamp = _context.t1;
                this.startInRss = this.willStartInRss();
                _context.t3 = parseInt;
                _context.next = 28;
                return _regenerator.default.awrap(this.getPaperDependentValue(keys.previous_app_mode_selection_version));

              case 28:
                _context.t5 = _context.sent;

                if (_context.t5) {
                  _context.next = 33;
                  break;
                }

                _context.next = 32;
                return _regenerator.default.awrap(this.getValue(keys.previous_app_mode_selection_version));

              case 32:
                _context.t5 = _context.sent;

              case 33:
                _context.t4 = _context.t5;

                if (_context.t4) {
                  _context.next = 36;
                  break;
                }

                _context.t4 = -1;

              case 36:
                _context.t6 = _context.t4;
                this.previousAppModeSelectionVersion = (0, _context.t3)(_context.t6, 10);
                _context.next = 40;
                return _regenerator.default.awrap(this.showSelectionScreen());

              case 40:
                this.shouldShowSelectionScreen = _context.sent;

                _UserSettingsHelper.default.removeItem(keys.user_defined_startup_mode);

                _UserSettingsHelper.default.removeItem(keys.user_defined_startup_mode_timestamp);

                _UserSettingsHelper.default.removeItem(keys.previous_app_mode_selection_version);

                _context.next = 46;
                return _regenerator.default.awrap(this.getValue(keys.startup_layout_override));

              case 46:
                this.selectedLayoutId = _context.sent;
                this.layout = this.getLayout();
                _context.next = 50;
                return _regenerator.default.awrap(this.getForceLayoutSubStyle());

              case 50:
                _context.t7 = _context.sent;

                if (_context.t7) {
                  _context.next = 53;
                  break;
                }

                _context.t7 = "";

              case 53:
                this.forceLayoutSubStyle = _context.t7;
                _context.t9 = parseInt;
                _context.next = 57;
                return _regenerator.default.awrap(this.getValue(keys.current_rss_db_version));

              case 57:
                _context.t10 = _context.sent;
                _context.t8 = (0, _context.t9)(_context.t10, 10);

                if (_context.t8) {
                  _context.next = 61;
                  break;
                }

                _context.t8 = 0;

              case 61:
                this.currentRssDbVersion = _context.t8;
                _context.next = 64;
                return _regenerator.default.awrap(this.getValue(keys.allow_font_scaling));

              case 64:
                _context.t11 = _context.sent;
                this.allowFontScaling = _context.t11 !== "0";
                _context.t13 = parseInt;
                _context.next = 69;
                return _regenerator.default.awrap(this.getValue(keys.fullscreen_font_size));

              case 69:
                _context.t14 = _context.sent;
                _context.t12 = (0, _context.t13)(_context.t14, 10);

                if (_context.t12) {
                  _context.next = 73;
                  break;
                }

                _context.t12 = 100;

              case 73:
                this.fontSize = _context.t12;
                _context.next = 76;
                return _regenerator.default.awrap(this.getValue(keys.tutorial_already_shown));

              case 76:
                _context.t15 = _context.sent;
                this.tutorialAlreadyShown = _context.t15 === "1";
                _context.next = 80;
                return _regenerator.default.awrap(this.getValue(keys.user_already_set_allow_font_scaling));

              case 80:
                _context.t16 = _context.sent;
                this.userAlreadySetAllowFontScale = _context.t16 === "1";
                _context.next = 84;
                return _regenerator.default.awrap(this.getValue(keys.previous_app_sublayout));

              case 84:
                previousAppSubLayout = _context.sent;
                _global$getActivePSet = global.getActivePSetup(), layoutStyle = _global$getActivePSet.layoutStyle, layoutSubStyle = _global$getActivePSet.layoutSubStyle;
                currentAppSubLayout = layoutStyle + "_" + layoutSubStyle;
                this.appSubLayoutChanged = previousAppSubLayout && currentAppSubLayout !== previousAppSubLayout;
                _context.t18 = parseInt;
                _context.next = 91;
                return _regenerator.default.awrap(this.getValue(keys.landing_page_version_seen));

              case 91:
                _context.t19 = _context.sent;
                _context.t17 = (0, _context.t18)(_context.t19, 10);

                if (_context.t17) {
                  _context.next = 95;
                  break;
                }

                _context.t17 = -1;

              case 95:
                this.landingPageVersionSeen = _context.t17;
                _context.next = 98;
                return _regenerator.default.awrap(this.getValue(keys.landing_page_dont_show_again));

              case 98:
                _context.t20 = _context.sent;
                this.landingPageDontShowAgain = _context.t20 === "1";
                _context.next = 102;
                return _regenerator.default.awrap(this.getValue(keys.last_epaper_layout_config));

              case 102:
                this.lastEpaperLayoutConfig = _context.sent;
                _context.next = 105;
                return _regenerator.default.awrap(this.getValue(keys.started_as_tablet));

              case 105:
                startedAsTabletFromConfig = _context.sent;
                _global$getMainPSetup = global.getMainPSetup(), pushTags = _global$getMainPSetup.pushTags;
                _context.next = 109;
                return _regenerator.default.awrap(this.getValue(keys.push_notifications_enabled));

              case 109:
                _context.t21 = _context.sent;

                if (_context.t21) {
                  _context.next = 112;
                  break;
                }

                _context.t21 = "1";

              case 112:
                _context.t22 = _context.t21;
                this.pushNotificationsEnabled = _context.t22 === "1";
                _context.next = 116;
                return _regenerator.default.awrap(this.getValue(keys.user_defined_push_tags_dataset));

              case 116:
                _context.t23 = _context.sent;

                if (_context.t23) {
                  _context.next = 119;
                  break;
                }

                _context.t23 = "";

              case 119:
                userDefinedPushTagsDataset = _context.t23;
                _context.next = 122;
                return _regenerator.default.awrap(this.getValue(keys.user_defined_push_tags));

              case 122:
                _context.t24 = _context.sent;

                if (_context.t24) {
                  _context.next = 125;
                  break;
                }

                _context.t24 = "";

              case 125:
                userDefinedPushTags = _context.t24;
                this.setUserDefinedPushTags(_PushTags.default.mergeTags(userDefinedPushTags, pushTags, userDefinedPushTagsDataset), pushTags);

                if (startedAsTabletFromConfig && startedAsTabletFromConfig.length) {
                  this.startedAsTablet = startedAsTabletFromConfig === "1";
                } else {
                  this.startedAsTablet = _$$_REQUIRE(_dependencyMap[10]).PlatformUtils.isTablet();
                }

                _context.next = 130;
                return _regenerator.default.awrap(this.getSelectedMyHomeCategory());

              case 130:
                this.selectedMyHomeCategories = _context.sent;
                this.maxShareCounters = {};
                _context.prev = 132;
                _context.t25 = JSON;
                _context.next = 136;
                return _regenerator.default.awrap(_UserSettingsHelper.default.getItem(keys.max_shares_counters));

              case 136:
                _context.t26 = _context.sent;
                this.maxShareCounters = _context.t25.parse.call(_context.t25, _context.t26);
                _context.next = 142;
                break;

              case 140:
                _context.prev = 140;
                _context.t27 = _context["catch"](132);

              case 142:
                _context.next = 144;
                return _regenerator.default.awrap(this.retrieveNotificationEmail());

              case 144:
                _context.next = 146;
                return _regenerator.default.awrap(this.getValue(keys.reset_consent_date));

              case 146:
                _context.t28 = _context.sent;

                if (_context.t28) {
                  _context.next = 149;
                  break;
                }

                _context.t28 = "";

              case 149:
                this.resetConsentDate = _context.t28;
                return _context.abrupt("return", true);

              case 151:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[132, 140]], Promise);
      }
    }, {
      key: "getShowedHints",
      value: function getShowedHints() {
        var showedHints;
        return _regenerator.default.async(function getShowedHints$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.next = 2;
                return _regenerator.default.awrap(this.getValue(_UserSettingsHelper.default.SP.keys.user_showed_hints));

              case 2:
                showedHints = _context2.sent;

                if (!showedHints) {
                  showedHints = "";
                }

                return _context2.abrupt("return", showedHints.split(";"));

              case 5:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "isHintShown",
      value: function isHintShown(key) {
        if (this.userShowedHints) {
          return this.userShowedHints.find(function (item) {
            return item === key;
          }) !== undefined;
        }

        return false;
      }
    }, {
      key: "setShowedHint",
      value: function setShowedHint(hint) {
        if (!this.userShowedHints) {
          this.userShowedHints = [];
        }

        if (!this.isHintShown(hint)) {
          this.userShowedHints.push(hint);
          this.setValue(_UserSettingsHelper.default.SP.keys.user_showed_hints, this.userShowedHints.join(";"));
        }
      }
    }, {
      key: "getValue",
      value: function getValue(key) {
        var result;
        return _regenerator.default.async(function getValue$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _context3.next = 2;
                return _regenerator.default.awrap(_UserSettingsHelper.default.getItem(key));

              case 2:
                result = _context3.sent;
                return _context3.abrupt("return", result === "" ? undefined : result);

              case 4:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getPaperDependentValue",
      value: function getPaperDependentValue(key) {
        var _global$getActivePSet2, paper;

        return _regenerator.default.async(function getPaperDependentValue$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                _global$getActivePSet2 = global.getActivePSetup(), paper = _global$getActivePSet2.paper;
                return _context4.abrupt("return", this.getValue(key + "_" + paper));

              case 2:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "setValue",
      value: function setValue(key, value) {
        return _regenerator.default.async(function setValue$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                return _context5.abrupt("return", _UserSettingsHelper.default.setItem(key, value));

              case 1:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setPaperDependentValue",
      value: function setPaperDependentValue(key, value) {
        var _global$getActivePSet3, paper;

        return _regenerator.default.async(function setPaperDependentValue$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                _global$getActivePSet3 = global.getActivePSetup(), paper = _global$getActivePSet3.paper;
                return _context6.abrupt("return", this.setValue(key + "_" + paper, value));

              case 2:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "resetPaperDependentValue",
      value: function resetPaperDependentValue(key) {
        var _global$getActivePSet4, paper;

        return _regenerator.default.async(function resetPaperDependentValue$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                _global$getActivePSet4 = global.getActivePSetup(), paper = _global$getActivePSet4.paper;
                return _context7.abrupt("return", _UserSettingsHelper.default.removeItem(key + "_" + paper));

              case 2:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getForceLayoutSubStyle",
      value: function getForceLayoutSubStyle() {
        return _regenerator.default.async(function getForceLayoutSubStyle$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                return _context8.abrupt("return", this.getValue(_UserSettingsHelper.default.SP.keys.force_layout_sub_style));

              case 1:
              case "end":
                return _context8.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_shouldRespectUserDefinedStartupMode",
      value: function _shouldRespectUserDefinedStartupMode() {
        if (this.userDefinedStartupMode) {
          var _global$getActivePSet5 = global.getActivePSetup(),
              startupModeTimestamp = _global$getActivePSet5.startupModeTimestamp;

          if (!startupModeTimestamp || parseInt(startupModeTimestamp, 10) > _$$_REQUIRE(_dependencyMap[10]).DateUtils.getCurrentDateString()) {
            return true;
          }

          if (!this.userDefinedStartupModeTimestamp) {
            return false;
          }

          return parseInt(this.userDefinedStartupModeTimestamp, 10) > parseInt(startupModeTimestamp, 10);
        }

        return false;
      }
    }, {
      key: "willStartInRss",
      value: function willStartInRss() {
        var result = false;

        if (this._shouldRespectUserDefinedStartupMode()) {
          result = this.userDefinedStartupMode === _UserSettingsHelper.default.SP.values.rss;
        } else {
          var _global$getRSSActiveP = global.getRSSActivePSetup(),
              rssIsEnabled = _global$getRSSActiveP.rssIsEnabled,
              newsMemoryIsEnabled = _global$getRSSActiveP.newsMemoryIsEnabled,
              startupMode = _global$getRSSActiveP.startupMode;

          var isTablet = _$$_REQUIRE(_dependencyMap[10]).PlatformUtils.isTablet();

          if (rssIsEnabled && newsMemoryIsEnabled) {
            switch (startupMode) {
              case "0":
                result = true;
                break;

              case "2":
                result = !isTablet;
                break;

              case "3":
                result = isTablet;
                break;
            }
          } else if (rssIsEnabled) {
            result = true;
          }
        }

        return result;
      }
    }, {
      key: "toggleAllowFontScaling",
      value: function toggleAllowFontScaling(forceValue) {
        var userForceValue = forceValue !== undefined;
        this.allowFontScaling = userForceValue ? forceValue : !this.allowFontScaling;
        this.setValue(_UserSettingsHelper.default.SP.keys.allow_font_scaling, this.allowFontScaling ? "1" : "0");

        if (userForceValue) {
          this.setValue(_UserSettingsHelper.default.SP.keys.user_already_set_allow_font_scaling, "1");
        }

        (0, _$$_REQUIRE(_dependencyMap[11]).setFonts)({
          allowFontScaling: this.allowFontScaling
        });
        return this.allowFontScaling;
      }
    }, {
      key: "setStartedAsTablet",
      value: function setStartedAsTablet(isTablet) {
        this.setValue(_UserSettingsHelper.default.SP.keys.started_as_tablet, isTablet ? "1" : "0");
        this.startedAsTablet = isTablet;
      }
    }, {
      key: "setLastEpaperLayoutConfig",
      value: function setLastEpaperLayoutConfig(value) {
        this.setValue(_UserSettingsHelper.default.SP.keys.last_epaper_layout_config, value);
        this.lastEpaperLayoutConfig = value;
      }
    }, {
      key: "resetLastEpaperLayoutConfig",
      value: function resetLastEpaperLayoutConfig() {
        return _regenerator.default.async(function resetLastEpaperLayoutConfig$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                this.lastEpaperLayoutConfig = undefined;
                _context9.next = 3;
                return _regenerator.default.awrap(_UserSettingsHelper.default.removeItem(_UserSettingsHelper.default.SP.keys.last_epaper_layout_config));

              case 3:
              case "end":
                return _context9.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "defineStartupMode",
      value: function defineStartupMode(mode) {
        this.startInRss = mode === _UserSettingsHelper.default.SP.values.rss;
        this.userDefinedStartupMode = mode;
        this.userDefinedStartupModeTimestamp = _$$_REQUIRE(_dependencyMap[10]).DateUtils.getCurrentDateString();
        this.setPaperDependentValue(_UserSettingsHelper.default.SP.keys.user_defined_startup_mode, mode);
        this.setPaperDependentValue(_UserSettingsHelper.default.SP.keys.user_defined_startup_mode_timestamp, this.userDefinedStartupModeTimestamp);
      }
    }, {
      key: "setRssAsStartupMode",
      value: function setRssAsStartupMode() {
        this.defineStartupMode(_UserSettingsHelper.default.SP.values.rss);
      }
    }, {
      key: "setNewsmemoryAsStartupMode",
      value: function setNewsmemoryAsStartupMode() {
        this.defineStartupMode(_UserSettingsHelper.default.SP.values.newsmemory);
      }
    }, {
      key: "resetStartupMode",
      value: function resetStartupMode() {
        this.resetPaperDependentValue(_UserSettingsHelper.default.SP.keys.user_defined_startup_mode);
        this.resetPaperDependentValue(_UserSettingsHelper.default.SP.keys.user_defined_startup_mode_timestamp);
      }
    }, {
      key: "setForceLayoutSubStyle",
      value: function setForceLayoutSubStyle(text) {
        this.forceLayoutSubStyle = text;
        this.setValue(_UserSettingsHelper.default.SP.keys.force_layout_sub_style, text);
      }
    }, {
      key: "setNotificationEmail",
      value: function setNotificationEmail(text) {
        this.notificationEmail = text;

        _UserSettingsHelper.default.setStandardUserDefaultsValue(_UserSettingsHelper.default.SP.keys.notification_email, text);
      }
    }, {
      key: "_resetNotificationEmail",
      value: function _resetNotificationEmail() {
        this.notificationEmail = "";

        _UserSettingsHelper.default.clearItemFromDefaultPreferences(_UserSettingsHelper.default.SP.keys.notification_email);
      }
    }, {
      key: "getNotificationEmail",
      value: function getNotificationEmail() {
        return _regenerator.default.async(function getNotificationEmail$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                return _context10.abrupt("return", _UserSettingsHelper.default.getStandardUserDefaultsValue(_UserSettingsHelper.default.SP.keys.notification_email));

              case 1:
              case "end":
                return _context10.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "retrieveNotificationEmail",
      value: function retrieveNotificationEmail() {
        return _regenerator.default.async(function retrieveNotificationEmail$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                _context11.next = 2;
                return _regenerator.default.awrap(this.getNotificationEmail());

              case 2:
                _context11.t0 = _context11.sent;

                if (_context11.t0) {
                  _context11.next = 5;
                  break;
                }

                _context11.t0 = "";

              case 5:
                this.notificationEmail = _context11.t0;
                return _context11.abrupt("return", this.notificationEmail);

              case 7:
              case "end":
                return _context11.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "tutorialAlreadyShowTrue",
      value: function tutorialAlreadyShowTrue() {
        this.tutorialAlreadyShown = true;
        this.setValue(_UserSettingsHelper.default.SP.keys.tutorial_already_shown, "1");
      }
    }, {
      key: "getSelectedMyHomeKey",
      value: function getSelectedMyHomeKey() {
        var key = "";

        if (global.getRSSActivePSetup().pSetup) {
          key = global.getRSSActivePSetup().pSetup + "_";
        }

        return "" + key + _UserSettingsHelper.default.SP.keys.selected_my_home_categories;
      }
    }, {
      key: "getSelectedMyHomeCategory",
      value: function getSelectedMyHomeCategory() {
        return _regenerator.default.async(function getSelectedMyHomeCategory$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                _context12.prev = 0;
                _context12.t1 = JSON;
                _context12.next = 4;
                return _regenerator.default.awrap(this.getValue(this.getSelectedMyHomeKey()));

              case 4:
                _context12.t2 = _context12.sent;
                _context12.t0 = _context12.t1.parse.call(_context12.t1, _context12.t2);

                if (_context12.t0) {
                  _context12.next = 8;
                  break;
                }

                _context12.t0 = [];

              case 8:
                return _context12.abrupt("return", _context12.t0);

              case 11:
                _context12.prev = 11;
                _context12.t3 = _context12["catch"](0);
                return _context12.abrupt("return", []);

              case 14:
              case "end":
                return _context12.stop();
            }
          }
        }, null, this, [[0, 11]], Promise);
      }
    }, {
      key: "migrateSelectedMyHomeCategories",
      value: function migrateSelectedMyHomeCategories() {
        var oldValue;
        return _regenerator.default.async(function migrateSelectedMyHomeCategories$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                _context13.prev = 0;
                _context13.next = 3;
                return _regenerator.default.awrap(this.getValue(_UserSettingsHelper.default.SP.keys.selected_my_home_categories));

              case 3:
                oldValue = _context13.sent;

                if (!oldValue) {
                  _context13.next = 9;
                  break;
                }

                _context13.next = 7;
                return _regenerator.default.awrap(this.setValue(this.getSelectedMyHomeKey(), oldValue));

              case 7:
                _context13.next = 9;
                return _regenerator.default.awrap(_UserSettingsHelper.default.removeItem(_UserSettingsHelper.default.SP.keys.selected_my_home_categories));

              case 9:
                _context13.next = 13;
                break;

              case 11:
                _context13.prev = 11;
                _context13.t0 = _context13["catch"](0);

              case 13:
              case "end":
                return _context13.stop();
            }
          }
        }, null, this, [[0, 11]], Promise);
      }
    }, {
      key: "addSelectedMyHomeCategory",
      value: function addSelectedMyHomeCategory(category) {
        if (this.selectedMyHomeCategories && this.selectedMyHomeCategories.findIndex(function (x) {
          return x === category;
        }) === -1) {
          this.selectedMyHomeCategories.push(category);
          this.setValue(this.getSelectedMyHomeKey(), "" + JSON.stringify(this.selectedMyHomeCategories));
        }
      }
    }, {
      key: "removeSelectedMyHomeCategory",
      value: function removeSelectedMyHomeCategory(category) {
        if (this.selectedMyHomeCategories && this.selectedMyHomeCategories.findIndex(function (x) {
          return x === category;
        }) > -1) {
          this.selectedMyHomeCategories.splice(this.selectedMyHomeCategories.indexOf(category), 1);
          this.setValue(this.getSelectedMyHomeKey(), "" + JSON.stringify(this.selectedMyHomeCategories));
        }
      }
    }, {
      key: "storeNewSubLayout",
      value: function storeNewSubLayout() {
        this.appSubLayoutChanged = false;

        var _global$getActivePSet6 = global.getActivePSetup(),
            layoutStyle = _global$getActivePSet6.layoutStyle,
            layoutSubStyle = _global$getActivePSet6.layoutSubStyle;

        this.setValue(_UserSettingsHelper.default.SP.keys.previous_app_sublayout, layoutStyle + "_" + layoutSubStyle);
      }
    }, {
      key: "getLayout",
      value: function getLayout() {
        var _this = this;

        var _global$getRssIndex = global.getRssIndex(),
            availableLayouts = _global$getRssIndex.availableLayouts;

        if (availableLayouts && availableLayouts.length > 0) {
          var splitted = availableLayouts.split(",");
          this.layoutsAvailable = this.layoutsAvailable.filter(function (_ref) {
            var id = _ref.id;
            return splitted.indexOf(id) > -1;
          });
          this.layoutsAvailable = splitted.map(function (item) {
            return _this.layoutsAvailable.find(function (_ref2) {
              var id = _ref2.id;
              return item === id;
            });
          });
        }

        return this.layoutsAvailable.find(function (_ref3) {
          var id = _ref3.id;
          return id === _this.selectedLayoutId;
        }) || this.layoutsAvailable[0];
      }
    }, {
      key: "toggleLayout",
      value: function toggleLayout() {
        this.layout = this.nextLayout(this.layout);

        _UserSettingsHelper.default.toggleLayout(this.layout.id);

        _$$_REQUIRE(_dependencyMap[12]).EventRegister.emit(_events.default.TOGGLE_LAYOUT, {});

        return this.layout;
      }
    }, {
      key: "layoutConfig",
      value: function layoutConfig(layout) {
        return this.getLayouts().find(function (_ref4) {
          var id = _ref4.id;
          return id === layout.id;
        });
      }
    }, {
      key: "nextLayout",
      value: function nextLayout(currentLayout) {
        var nextIndex = this.getLayouts().findIndex(function (_ref5) {
          var id = _ref5.id;
          return id === currentLayout.id;
        }) + 1;
        return this.getLayouts()[nextIndex] || this.getLayouts()[0];
      }
    }, {
      key: "isGrid",
      value: function isGrid() {
        return this.layout.id === LAYOUT_IDS.GRID;
      }
    }, {
      key: "isList",
      value: function isList() {
        return this.layout.id === LAYOUT_IDS.LIST;
      }
    }, {
      key: "isCard",
      value: function isCard() {
        return this.layout.id === LAYOUT_IDS.CARD;
      }
    }, {
      key: "initLayouts",
      value: function initLayouts() {
        this.layoutsAvailable = [{
          id: LAYOUT_IDS.GRID,
          text: global.getLocaleConfig().strings(LAYOUT_IDS.GRID),
          Component: _rssGridComponent.default,
          icon: "view-grid"
        }, {
          id: LAYOUT_IDS.LIST,
          text: global.getLocaleConfig().strings(LAYOUT_IDS.LIST),
          Component: _rssListComponent.default,
          icon: "view-list"
        }, {
          id: LAYOUT_IDS.CARD,
          text: global.getLocaleConfig().strings(LAYOUT_IDS.CARD),
          Component: _rssCardComponent.default,
          icon: "cards"
        }];
      }
    }, {
      key: "setFontSize",
      value: function setFontSize(fontSize) {
        this.fontSize = fontSize;
        this.setValue(_UserSettingsHelper.default.SP.keys.fullscreen_font_size, "" + fontSize);

        _$$_REQUIRE(_dependencyMap[12]).EventRegister.emit(_events.default.ARTICLE_TEXT_ZOOM_CHANGE);
      }
    }, {
      key: "getAllowFontScaling",
      value: function getAllowFontScaling() {
        var _this$allowFontScalin;

        return (_this$allowFontScalin = this.allowFontScaling) != null ? _this$allowFontScalin : true;
      }
    }, {
      key: "getFontSize",
      value: function getFontSize() {
        var allowFontScaling = this.getAllowFontScaling();

        var scaleFactor = _$$_REQUIRE(_dependencyMap[10]).FontUtils.getSystemFontScaleFactor(allowFontScaling, _$$_REQUIRE(_dependencyMap[10]).PlatformUtils.info.fontScale);

        return parseInt(this.fontSize, 10) * scaleFactor;
      }
    }, {
      key: "toggleFontSize",
      value: function toggleFontSize() {
        var _this2 = this;

        var reverse = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
        var cycle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
        var fontSizes = [75, 85, 100, 125, 150, 200, 250];
        var index = fontSizes.findIndex(function (element) {
          return element === parseInt(_this2.fontSize, 10);
        });
        var size;

        if (!reverse) {
          if (index + 1 === fontSizes.length) {
            size = fontSizes[cycle ? 0 : index];
          } else {
            size = fontSizes[index + 1];
          }
        }

        if (reverse) {
          if (index - 1 === -1) {
            size = fontSizes[cycle ? fontSizes.length - 1 : index];
          } else {
            size = fontSizes[index - 1];
          }
        }

        this.setFontSize(size);

        _$$_REQUIRE(_dependencyMap[12]).EventRegister.emit(_events.default.TOGGLE_FULLSCREEN_FONT_SIZE);

        return size;
      }
    }, {
      key: "showAllowFontScalingModal",
      value: function showAllowFontScalingModal() {
        var _this3 = this;

        return _regenerator.default.async(function showAllowFontScalingModal$(_context14) {
          while (1) {
            switch (_context14.prev = _context14.next) {
              case 0:
                return _context14.abrupt("return", new Promise(function (resolve, reject) {
                  _$$_REQUIRE(_dependencyMap[13]).ModalOverlay.alert({
                    title: global.strings("msg_font_scaling_title"),
                    message: global.strings("msg_font_scaling"),
                    buttons: [{
                      text: global.strings("btn_no"),
                      onPress: function onPress() {
                        _this3.toggleAllowFontScaling(false);

                        resolve(false);
                      }
                    }, {
                      text: global.strings("btn_yes"),
                      onPress: function onPress() {
                        _this3.toggleAllowFontScaling(true);

                        resolve(true);
                      }
                    }],
                    options: {
                      dontUseModal: true,
                      cancelable: false
                    }
                  });
                }));

              case 1:
              case "end":
                return _context14.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getLayouts",
      value: function getLayouts() {
        return this.layoutsAvailable;
      }
    }, {
      key: "setMachineId",
      value: function setMachineId(machineId) {
        return _regenerator.default.async(function setMachineId$(_context15) {
          while (1) {
            switch (_context15.prev = _context15.next) {
              case 0:
                return _context15.abrupt("return", this.setValue(_UserSettingsHelper.default.SP.keys.machineId, machineId));

              case 1:
              case "end":
                return _context15.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getMachineId",
      value: function getMachineId() {
        return _regenerator.default.async(function getMachineId$(_context16) {
          while (1) {
            switch (_context16.prev = _context16.next) {
              case 0:
                return _context16.abrupt("return", this.getValue(_UserSettingsHelper.default.SP.keys.machineId));

              case 1:
              case "end":
                return _context16.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "showSelectionScreen",
      value: function showSelectionScreen() {
        var _global$getActivePSet7 = global.getActivePSetup(),
            isEnabled = _global$getActivePSet7.appModeSelectionPageEnabled,
            version = _global$getActivePSet7.appModeSelectionPageVersion;

        var isNewVersion = version > this.previousAppModeSelectionVersion;
        var userDefinedStartupMode = this.userDefinedStartupMode || false;
        var show = isEnabled && (isNewVersion || !userDefinedStartupMode);

        if (show) {
          this.setPaperDependentValue(_UserSettingsHelper.default.SP.keys.previous_app_mode_selection_version, String(version));
        }

        return show;
      }
    }, {
      key: "getShareCounters",
      value: function getShareCounters(issue, edition) {
        var _global$getActivePSet8 = global.getActivePSetup(),
            xpaper = _global$getActivePSet8.xpaper;

        var today = _$$_REQUIRE(_dependencyMap[10]).DateUtils.getTodayString("YYYYMMDD");

        if (this.maxShareCounters && this.maxShareCounters[xpaper] && this.maxShareCounters[xpaper][edition] && this.maxShareCounters[xpaper][edition][issue]) {
          return this.maxShareCounters[xpaper][edition][issue][today] || 0;
        }

        return 0;
      }
    }, {
      key: "incrementShareCounters",
      value: function incrementShareCounters(issue, edition) {
        var _global$getActivePSet9, xpaper, today, count, keys;

        return _regenerator.default.async(function incrementShareCounters$(_context17) {
          while (1) {
            switch (_context17.prev = _context17.next) {
              case 0:
                _global$getActivePSet9 = global.getActivePSetup(), xpaper = _global$getActivePSet9.xpaper;
                today = _$$_REQUIRE(_dependencyMap[10]).DateUtils.getTodayString("YYYYMMDD");

                if (!this.maxShareCounters) {
                  this.maxShareCounters = {};
                }

                if (!this.maxShareCounters[xpaper]) {
                  this.maxShareCounters[xpaper] = {};
                }

                if (!this.maxShareCounters[xpaper][edition]) {
                  this.maxShareCounters[xpaper][edition] = {};
                }

                if (!this.maxShareCounters[xpaper][edition][issue] || !this.maxShareCounters[xpaper][edition][issue][today]) {
                  this.maxShareCounters[xpaper][edition][issue] = {};
                }

                count = this.getShareCounters(issue, edition);
                this.maxShareCounters[xpaper][edition][issue][today] = count + 1;
                keys = _UserSettingsHelper.default.SP.keys;
                return _context17.abrupt("return", _UserSettingsHelper.default.setItem(keys.max_shares_counters, JSON.stringify(this.maxShareCounters)));

              case 10:
              case "end":
                return _context17.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "setUserDefinedPushTags",
      value: function setUserDefinedPushTags() {
        var tags = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
        var dataset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
        this.userDefinedPushTags = tags;
        this.setValue(_UserSettingsHelper.default.SP.keys.user_defined_push_tags_dataset, dataset);
        this.setValue(_UserSettingsHelper.default.SP.keys.user_defined_push_tags, this.userDefinedPushTags);
      }
    }, {
      key: "setPushNotificationsState",
      value: function setPushNotificationsState(newState) {
        this.pushNotificationsEnabled = newState;
        this.setValue(_UserSettingsHelper.default.SP.keys.push_notifications_enabled, this.pushNotificationsEnabled ? "1" : "0");
      }
    }, {
      key: "setResetConsentDate",
      value: function setResetConsentDate(resetDate) {
        this.resetConsentDate = resetDate;
        this.setValue(_UserSettingsHelper.default.SP.keys.reset_consent_date, resetDate);
      }
    }, {
      key: "deleteResetConsentDate",
      value: function deleteResetConsentDate() {
        return _regenerator.default.async(function deleteResetConsentDate$(_context18) {
          while (1) {
            switch (_context18.prev = _context18.next) {
              case 0:
                this.resetConsentDate = undefined;
                _context18.next = 3;
                return _regenerator.default.awrap(_UserSettingsHelper.default.removeItem(_UserSettingsHelper.default.SP.keys.reset_consent_date));

              case 3:
              case "end":
                return _context18.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }]);
    return UserConfig;
  }();

  exports.UserConfig = UserConfig;
},2077,[5,80,7,8,2078,2079,2115,2116,460,2132,462,1880,572,1877]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var UserSettingsHelper = function () {
    function UserSettingsHelper() {
      (0, _classCallCheck2.default)(this, UserSettingsHelper);
    }

    (0, _createClass2.default)(UserSettingsHelper, null, [{
      key: "getItem",
      value: function getItem(key) {
        return _regenerator.default.async(function getItem$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.getItem(UserSettingsHelper.SP.name, key));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setItem",
      value: function setItem(key, value) {
        return _regenerator.default.async(function setItem$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.setItem(UserSettingsHelper.SP.name, key, value));

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "removeItem",
      value: function removeItem(key) {
        return _regenerator.default.async(function removeItem$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                return _context3.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.clear(UserSettingsHelper.SP.name, key));

              case 1:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getStandardUserDefaultsValue",
      value: function getStandardUserDefaultsValue(key) {
        return _regenerator.default.async(function getStandardUserDefaultsValue$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                return _context4.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.getItemFromDefaultPreferences(UserSettingsHelper.SP.name, key));

              case 1:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setStandardUserDefaultsValue",
      value: function setStandardUserDefaultsValue(key, value) {
        return _regenerator.default.async(function setStandardUserDefaultsValue$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                return _context5.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.setItemInDefaultPreferences(UserSettingsHelper.SP.name, key, value));

              case 1:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "clearItemFromDefaultPreferences",
      value: function clearItemFromDefaultPreferences(key) {
        return _regenerator.default.async(function clearItemFromDefaultPreferences$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                return _context6.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.clearItemFromDefaultPreferences(UserSettingsHelper.SP.name, key));

              case 1:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "clearStandardUserDefaults",
      value: function clearStandardUserDefaults() {
        return _regenerator.default.async(function clearStandardUserDefaults$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                return _context7.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.clearAllFromDefaultPreferences(UserSettingsHelper.SP.name));

              case 1:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "toggleLayout",
      value: function toggleLayout(newLayout) {
        return _regenerator.default.async(function toggleLayout$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                this.setItem(UserSettingsHelper.SP.keys.startup_layout_override, newLayout);

              case 1:
              case "end":
                return _context8.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }]);
    return UserSettingsHelper;
  }();

  exports.default = UserSettingsHelper;
  UserSettingsHelper.SP = {
    name: "userSettings",
    keys: {
      app_version_name: "appVersionName",
      app_version_code: "appVersionCode",
      machineId: "machineId",
      startup_layout_override: "userStartupLayout",
      startup: "userStartupChoice",
      font_scale: "userFontScale",
      allow_font_scaling: "allowFontScaling",
      user_already_set_allow_font_scaling: "userAlreadySetAllowFontScaling",
      animation: "userAnimation",
      tutorial_already_shown: "tutorialAlreadyShown",
      fullscreen_font_size: "fullScreenFontScale",
      newsmemory_graph_size: "newsmemoryGraphSize",
      previous_app_sublayout: "previousAppSubLayout",
      user_showed_hints: "userShowedHints",
      push_notifications_enabled: "pushNotificationsEnabled",
      user_defined_push_tags_dataset: "userDefinedPushTagsDataset",
      user_defined_push_tags: "userDefinedPushTags",
      user_defined_startup_mode: "userDefinedStartupMode",
      user_defined_startup_mode_timestamp: "userDefinedStartupModeTimestamp",
      previous_app_mode_selection_version: "appModeSelectionPageVersionStored",
      selected_my_home_categories: "selectedMyHomeCategories",
      force_layout_sub_style: "forceLayoutSubStyle",
      current_rss_db_version: "currentRssDbVersion",
      landing_page_dont_show_again: "landingPageDontShowAgain",
      last_epaper_layout_config: "lastEpaperLayoutConfig",
      landing_page_version_seen: "landingPageVersionSeen",
      notification_email: "notificationEmail",
      started_as_tablet: "startedAsTablet",
      max_shares_counters: "maxSharesCounters",
      reset_consent_date: "resetConsentDate"
    },
    values: {
      rss: "rss",
      newsmemory: "newsmemory",
      animation: {
        none: "none",
        normal: "normal",
        fast: "fast"
      }
    }
  };
},2078,[5,80,7,8,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.RssGridComponent = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _rssBaseView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _tileList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _tileGridImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _tileGridNoImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _refreshComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var RssGridComponent = function (_React$Component) {
    (0, _inherits2.default)(RssGridComponent, _React$Component);

    var _super = _createSuper(RssGridComponent);

    function RssGridComponent(props) {
      var _this;

      (0, _classCallCheck2.default)(this, RssGridComponent);
      _this = _super.call(this, props);
      _this.isGrid = true;
      _this.itemViewRefs = [];
      _this.changeContainerStyle = _this._changeContainerStyle.bind((0, _assertThisInitialized2.default)(_this));
      _this.renderRow = _this._renderRow.bind((0, _assertThisInitialized2.default)(_this));
      _this.renderColContent = _this._renderColContent.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(RssGridComponent, [{
      key: "_onItemClick",
      value: function _onItemClick(items, item) {
        var onItemClick = this.props.onItemClick;

        if (typeof onItemClick === "function") {
          onItemClick(items, item);
        }
      }
    }, {
      key: "_getItemColRow",
      value: function _getItemColRow(priority) {
        var col = 1.0;
        var row = 1.0;
        var priorityComponents = priority.split("x");

        if (priorityComponents.length > 0) {
          var colPriority = parseFloat(priorityComponents[0]);

          if (colPriority) {
            col = colPriority;
          }

          if (priorityComponents.length > 1) {
            var rowPriority = parseFloat(priorityComponents[1]);

            if (rowPriority) {
              row = rowPriority;
            }
          }
        }

        return {
          col: col,
          row: row
        };
      }
    }, {
      key: "_formatSizes",
      value: function _formatSizes(item) {
        var priority = item.priority;

        var isTablet = _$$_REQUIRE(_dependencyMap[16]).PlatformUtils.isTablet();

        var index = this._getNumberOfColumns();

        var priorityEntry = priority ? item.getPriorityByCols(index) : {
          D: "1x1",
          d: "1x1"
        };
        var colRowString = isTablet ? priorityEntry.D : priorityEntry.d;

        var dimensions = this._getItemColRow(colRowString);

        var result = {
          col: dimensions.col,
          row: dimensions.row
        };

        if (item.isAdvertisement) {
          var _item$getAdConfig = item.getAdConfig(),
              width = _item$getAdConfig.width,
              height = _item$getAdConfig.height,
              provider = _item$getAdConfig.provider;

          if (!global.getAdsConfig().useNativo(provider) || this.isGrid) {
            result.minDimensions = {
              width: width,
              height: height
            };
          }
        }

        return result;
      }
    }, {
      key: "_getPadding",
      value: function _getPadding() {
        return (0, _$$_REQUIRE(_dependencyMap[17]).getRssGridBoxPadding)();
      }
    }, {
      key: "_getItemStyle",
      value: function _getItemStyle() {
        return {
          padding: this._getPadding()
        };
      }
    }, {
      key: "_getRowStyle",
      value: function _getRowStyle() {
        return {
          flexDirection: "row"
        };
      }
    }, {
      key: "_getAdsBackgroundColor",
      value: function _getAdsBackgroundColor(ad) {
        var config = global.getAdsConfig();
        return ad.backgroundColor || config.getBackgroundColor();
      }
    }, {
      key: "_getWebAdsBaseUrl",
      value: function _getWebAdsBaseUrl() {
        var settings = this.props.settings;
        var value;

        if (settings) {
          value = (0, _$$_REQUIRE(_dependencyMap[18]).parseExtra)(settings.extra, "adWebViewBaseUrl", "");
        }

        return value || global.getAppServer();
      }
    }, {
      key: "_box",
      value: function _box(item, size, grid, itemID, changeContainerStyleCallback) {
        var tile;

        if (item.isAdvertisement) {
          var ad = item.getAdConfig();

          if (!ad) {
            return null;
          }

          var commonProps = {
            item: ad,
            grid: grid,
            backgroundColor: this._getAdsBackgroundColor(ad)
          };

          if (ad.isNative) {
            var realSize = this._itemStyle(item);

            tile = _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).TileAd, (0, _extends2.default)({}, commonProps, {
              realSize: realSize,
              itemID: itemID,
              index: item.gridIndex,
              changeContainerStyleCallback: changeContainerStyleCallback
            }));
          } else {
            tile = _react.default.createElement(_$$_REQUIRE(_dependencyMap[20]).TileWebView, (0, _extends2.default)({}, commonProps, {
              baseUrl: this._getWebAdsBaseUrl()
            }));
          }
        } else if (item.isHalfBox) {
          tile = grid ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[21]).TileHalfbox, {
            item: item
          }) : _react.default.createElement(_$$_REQUIRE(_dependencyMap[22]).TileListHalfbox, {
            item: item
          });
        } else if (item.isEdition && !item.isHighlightedBox) {
          tile = _react.default.createElement(_$$_REQUIRE(_dependencyMap[23]).TileEpaper, {
            item: item,
            grid: grid
          });
        } else if (grid || item.isHighlightedBox) {
          if (item.image) {
            tile = _react.default.createElement(_tileGridImage.default, {
              item: item,
              grid: grid,
              full: item.isHighlightedBox
            });
          } else {
            tile = _react.default.createElement(_tileGridNoImage.default, {
              item: item,
              grid: grid,
              full: item.isHighlightedBox
            });
          }
        } else {
          tile = _react.default.createElement(_tileList.default, {
            item: item
          });
        }

        return tile;
      }
    }, {
      key: "_changeContainerStyle",
      value: function _changeContainerStyle(itemID, style) {
        if (this.itemViewRefs[itemID]) {
          this.itemViewRefs[itemID].setNativeProps({
            style: style
          });
        }
      }
    }, {
      key: "_renderItem",
      value: function _renderItem(item, size, itemID) {
        var totalPadding = this._getPadding() * 2;
        var newSize = {
          width: size.width - totalPadding,
          height: size.height - totalPadding
        };
        return !item ? null : this._box(item, newSize, this.isGrid, itemID, this.changeContainerStyle);
      }
    }, {
      key: "_getNumberOfColumns",
      value: function _getNumberOfColumns() {
        var numberOfColumns = this.props.numberOfColumns;
        return numberOfColumns;
      }
    }, {
      key: "_minimumItemDimensions",
      value: function _minimumItemDimensions() {
        var width = this.props.width;
        var availableWidth = width - this._getPadding() * 2;
        return {
          width: availableWidth / this._getNumberOfColumns(),
          height: availableWidth / this._getNumberOfColumns()
        };
      }
    }, {
      key: "_itemSize",
      value: function _itemSize(item) {
        var result = item.sizes;

        if (item && item.sizes.minDimensions) {
          var _item$sizes$minDimens = item.sizes.minDimensions,
              width = _item$sizes$minDimens.width,
              height = _item$sizes$minDimens.height;

          var _this$_minimumItemDim = this._minimumItemDimensions(),
              minWidth = _this$_minimumItemDim.width,
              minHeight = _this$_minimumItemDim.height;

          var itemCol = Math.ceil(width / minWidth);
          var itemRow = Math.ceil(height / minHeight);
          result = {
            col: result.col < itemCol ? itemCol : result.col,
            row: result.row < itemRow ? itemRow : result.row
          };
        }

        return result;
      }
    }, {
      key: "_getColsData",
      value: function _getColsData(data) {
        return undefined;
      }
    }, {
      key: "_getRowsData",
      value: function _getRowsData(data) {
        var _this2 = this;

        var items = data;
        var rows = [];
        var heights = [];
        items.map(function (item, index) {
          item.gridIndex = index;
          return item;
        });

        var _loop = function _loop() {
          var _this2$_getRowData = _this2._getRowData(items),
              row = _this2$_getRowData.row,
              height = _this2$_getRowData.height;

          if (!row.length > 0) {
            return "break";
          }

          items = items.filter(function (item) {
            return row.filter(function (rowItem) {
              return rowItem.gridIndex === item.gridIndex;
            }).length === 0;
          });
          rows.push(row);
          heights.push(height);
        };

        while (items.length > 0) {
          var _ret = _loop();

          if (_ret === "break") break;
        }

        return this._buildRowsStructure(rows, heights);
      }
    }, {
      key: "_getRowData",
      value: function _getRowData(data) {
        var sizes = [];
        var rowHeight = 1;
        var i = 0;

        var areaLeft = this._getNumberOfColumns();

        while (areaLeft > 0 && i < data.length) {
          var currentItem = data[i];

          var itemSize = this._itemSize(currentItem);

          currentItem.sizes = itemSize;
          var itemArea = itemSize.row * itemSize.col;
          i += 1;

          if (rowHeight < itemSize.row) {
            sizes = [];
            var nextItem = data[i];
            var nextItemSize = undefined;

            if (nextItem) {
              nextItemSize = this._itemSize(nextItem);
            }

            if (currentItem.isAdvertisement && i > 1 && i < data.length && nextItemSize && nextItemSize.col < itemSize.col) {
              data[i - 1] = nextItem;
              data[i] = currentItem;
            } else {
              rowHeight *= 2;
            }

            i = 0;
            areaLeft = this._getNumberOfColumns() * rowHeight;
          } else if (areaLeft >= itemArea) {
            areaLeft -= itemArea;
            sizes.push(currentItem);
          }
        }

        return {
          row: sizes,
          height: rowHeight
        };
      }
    }, {
      key: "_buildRowsStructure",
      value: function _buildRowsStructure(rows, heights) {
        var rowsStructure = [];
        rows.forEach(function (row, rowIndex) {
          rowsStructure.push([]);
          var colStructure = [];
          var maxRow = heights[rowIndex];
          var i = 0;
          var colIndex = 0;
          var currentColArea = 0;

          while (i < row.length) {
            var elem = row[i];
            var elemArea = elem.sizes.row * elem.sizes.col;
            var colToFill = -1;

            for (var j = 0; j < colIndex; j++) {
              var column = colStructure[j];
              var colNumElements = column.length;

              if (colNumElements > 0) {
                var firstElem = column[0];
                var colArea = maxRow * firstElem.sizes.col;

                for (var x = 0; x < colNumElements; x++) {
                  var colElem = column[x];
                  var colElemArea = colElem.sizes.row * colElem.sizes.col;
                  colArea -= colElemArea;
                }

                if (colArea >= elemArea) {
                  colToFill = j;
                  break;
                }
              }
            }

            if (colToFill > -1) {
              colStructure[colToFill].push(elem);
              i += 1;
            } else {
              if (!colStructure[colIndex]) {
                currentColArea = maxRow * elem.sizes.col;
                colStructure.push([]);
              }

              if (currentColArea - elemArea >= 0) {
                currentColArea -= elemArea;
                colStructure[colIndex].push(elem);
                i += 1;
              } else {
                colIndex += 1;
              }
            }
          }

          rowsStructure[rowIndex].push(colStructure);
        });
        var idx = 0;
        rowsStructure.forEach(function (row) {
          row.forEach(function (col) {
            col.forEach(function (items) {
              items.forEach(function (item) {
                item.gridIndex = idx;
                idx += 1;
              });
            });
          });
        });
        return rowsStructure;
      }
    }, {
      key: "_itemStyle",
      value: function _itemStyle(item) {
        var _this$_itemSize = this._itemSize(item),
            col = _this$_itemSize.col,
            row = _this$_itemSize.row;

        var _this$_minimumItemDim2 = this._minimumItemDimensions(),
            minWidth = _this$_minimumItemDim2.width,
            minHeight = _this$_minimumItemDim2.height;

        var width = col * minWidth;
        var height = row * minHeight;
        return {
          width: width,
          height: height
        };
      }
    }, {
      key: "_renderRowColumns",
      value: function _renderRowColumns(rowID, item, itemID) {
        var _this3 = this;

        var _this$props = this.props,
            items = _this$props.items,
            orientation = _this$props.orientation;
        var cols = [];
        item.forEach(function (colItem, colIndex) {
          var colRows = [];
          colItem.forEach(function (colRowItem) {
            var colRowItemStyle = _this3._itemStyle(colRowItem);

            colRowItem.boxStyle = colRowItemStyle;
            var colRowView;

            if (colRowItem.isTouchable) {
              colRowView = _react.default.createElement(_reactNative.TouchableWithoutFeedback, {
                key: colRowItem.feedId,
                onPress: function onPress() {
                  _this3._onItemClick(items, colRowItem);
                }
              }, _react.default.createElement(_reactNative.View, {
                ref: function ref(_ref) {
                  _this3.itemViewRefs[itemID] = _ref;
                },
                style: [_$$_REQUIRE(_dependencyMap[24]).styles.item, _this3._getItemStyle(), colRowItemStyle]
              }, colRowItem ? _this3._renderItem(colRowItem, colRowItemStyle, itemID) : null));
            } else {
              colRowView = _react.default.createElement(_reactNative.View, {
                ref: function ref(_ref2) {
                  _this3.itemViewRefs[itemID] = _ref2;
                },
                style: [_$$_REQUIRE(_dependencyMap[24]).styles.item, _this3._getItemStyle(), colRowItemStyle],
                key: colRowItem.feedId
              }, colRowItem ? _this3._renderItem(colRowItem, colRowItemStyle, itemID) : null);
            }

            colRows.push(colRowView);
          });
          cols.push(_react.default.createElement(_reactNative.View, {
            key: colIndex + "_" + rowID + "_" + orientation,
            style: {
              flexDirection: "column"
            }
          }, colRows));
        });
        return cols;
      }
    }, {
      key: "_renderRowContent",
      value: function _renderRowContent(rowData, rowID) {
        var _this4 = this;

        return rowData.map(function (item, index) {
          var itemID = rowID * _this4._getNumberOfColumns() + index;
          return _react.default.createElement(_reactNative.View, {
            key: itemID,
            style: _this4._getRowStyle()
          }, _this4._renderRowColumns(rowID, item, itemID));
        });
      }
    }, {
      key: "_renderRow",
      value: function _renderRow(_ref3) {
        var rowData = _ref3.item,
            rowID = _ref3.index,
            isFirst = _ref3.isFirst,
            isLast = _ref3.isLast;
        var style = {
          paddingHorizontal: this._getPadding()
        };

        if (isFirst) {
          style.marginTop = this._getPadding();
        } else if (isLast) {
          style.marginBottom = this._getPadding();
        }

        return _react.default.createElement(_reactNative.View, {
          style: [_$$_REQUIRE(_dependencyMap[24]).styles.row, style],
          key: "row_" + rowID
        }, this._renderRowContent(rowData, rowID));
      }
    }, {
      key: "_renderColContent",
      value: function _renderColContent(_ref4) {
        var item = _ref4.item,
            index = _ref4.index;
        return null;
      }
    }, {
      key: "_getListProps",
      value: function _getListProps() {
        return {
          initialNumToRender: 5,
          windowSize: 2
        };
      }
    }, {
      key: "_getPlaceholderComponent",
      value: function _getPlaceholderComponent() {
        return null;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props2 = this.props,
            settings = _this$props2.settings,
            orientation = _this$props2.orientation,
            refreshing = _this$props2.refreshing,
            onRefresh = _this$props2.onRefresh,
            items = _this$props2.items,
            renderHeader = _this$props2.renderHeader,
            renderError = _this$props2.renderError,
            renderEmpty = _this$props2.renderEmpty,
            onUserScroll = _this$props2.onUserScroll,
            nativeID = _this$props2.nativeID;

        var otherProps = this._getListProps();

        var _global$getRssIndex = global.getRssIndex(),
            supportColor = _global$getRssIndex.supportColor;

        for (var i = 0; i < items.length; i++) {
          var columns = this.isGrid ? this._getNumberOfColumns() : 1;
          var item = items[i];
          item.setSizes(this._formatSizes(item));
          item.setHideCategory((settings ? settings.hideCategoryLabelInBox === "1" : false) || item.isLinkToCategory);
          item.setIsHalfBox(columns, _$$_REQUIRE(_dependencyMap[16]).PlatformUtils.isTablet() ? "D" : "d");
          items[i] = item;
        }

        return _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1
          }
        }, _react.default.createElement(_rssBaseView.default, (0, _extends2.default)({
          colsData: this._getColsData(items),
          rowsData: this._getRowsData(items),
          renderRow: this.renderRow,
          renderColItem: this.renderColContent,
          renderEmpty: renderEmpty,
          renderHeader: renderHeader,
          renderError: renderError,
          orientation: orientation,
          onUserScroll: onUserScroll,
          PlaceholderComponent: this._getPlaceholderComponent(),
          refreshControl: _react.default.createElement(_refreshComponent.default, {
            colors: [supportColor],
            refreshing: refreshing,
            onRefresh: onRefresh
          }),
          nativeID: nativeID
        }, otherProps)));
      }
    }]);
    return RssGridComponent;
  }(_react.default.Component);

  exports.RssGridComponent = RssGridComponent;
  RssGridComponent.propTypes = {
    refreshing: _propTypes.default.bool,
    onRefresh: _propTypes.default.func,
    items: _propTypes.default.arrayOf(_propTypes.default.instanceOf(_$$_REQUIRE(_dependencyMap[25]).Article)),
    onItemClick: _propTypes.default.func,
    settings: _propTypes.default.object,
    orientation: _propTypes.default.string,
    renderHeader: _propTypes.default.func,
    renderError: _propTypes.default.func,
    renderEmpty: _propTypes.default.func,
    onUserScroll: _propTypes.default.func,
    nativeID: _propTypes.default.string,
    width: _propTypes.default.number,
    numberOfColumns: _propTypes.default.number
  };

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[26]).useNavigation)();
    return _react.default.createElement(RssGridComponent, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2079,[5,6,7,8,15,12,14,16,17,201,28,2080,2091,2096,2097,2099,462,2039,2046,2100,2103,2106,2108,2111,2114,1972,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  var _rssBaseView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _asymmetricGrid = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var RssBaseView = function (_Component) {
    (0, _inherits2.default)(RssBaseView, _Component);

    var _super = _createSuper(RssBaseView);

    function RssBaseView(props) {
      var _this;

      (0, _classCallCheck2.default)(this, RssBaseView);
      _this = _super.call(this, props);

      _this._keyExtractor = function (item, index) {
        return index + "_" + _this._getKeyByItem(item);
      };

      _this.state = {
        asymmetric: props.colsData !== undefined,
        data: props.colsData || props.rowsData
      };
      _this.offset = 0;
      _this.paddingBottom = 0;
      _this.scrollViewHeight = Infinity;
      _this.onScroll = _this._onScroll.bind((0, _assertThisInitialized2.default)(_this));
      _this.onScrollEnd = _this._onScrollEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLayout = _this._onLayout.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(RssBaseView, [{
      key: "_getKeyByItem",
      value: function _getKeyByItem(item) {
        var _this2 = this;

        var key = "";

        if (Array.isArray(item)) {
          item.forEach(function (element) {
            key += _this2._getKeyByItem(element);
          });
        } else {
          key += item.feedId;
        }

        return key;
      }
    }, {
      key: "_getDirection",
      value: function _getDirection(diff) {
        var direction = "none";

        if (diff > 0) {
          direction = "down";
        } else if (diff < 0) {
          direction = "up";
        }

        return direction;
      }
    }, {
      key: "_onScroll",
      value: function _onScroll(event) {
        var onUserScroll = this.props.onUserScroll;
        var _event$nativeEvent = event.nativeEvent,
            contentOffset = _event$nativeEvent.contentOffset,
            contentSize = _event$nativeEvent.contentSize,
            layoutMeasurement = _event$nativeEvent.layoutMeasurement;
        var currentOffset = contentOffset.y;
        var scrollViewHeight = contentSize.height;
        var screenHeight = layoutMeasurement.height;
        var now = Date.now();
        var diffTime = now - this.startTime;
        var diff = currentOffset - this.offset;
        var speed = diff / diffTime;

        if (Math.round(currentOffset + screenHeight) === Math.round(scrollViewHeight)) {
          diff = 0;
        }

        var direction = this._getDirection(diff);

        if (currentOffset > 0 && currentOffset + screenHeight < scrollViewHeight && diff) {
          var status = {
            direction: direction,
            start: this.offset,
            step: diff,
            speed: speed,
            duration: diffTime
          };

          if (onUserScroll) {
            onUserScroll(status);
          }
        }

        this.offset = currentOffset;
        this.startTime = now;
      }
    }, {
      key: "_onScrollEnd",
      value: function _onScrollEnd(event) {
        var onScrollEnd = this.props.onScrollEnd;

        if (onScrollEnd) {
          var _event$nativeEvent2 = event.nativeEvent,
              contentOffset = _event$nativeEvent2.contentOffset,
              contentSize = _event$nativeEvent2.contentSize,
              layoutMeasurement = _event$nativeEvent2.layoutMeasurement;
          var currentOffset = contentOffset.y;
          var scrollViewHeight = contentSize.height;
          var screenHeight = layoutMeasurement.height;
          var now = Date.now();
          var diffTime = now - this.startTime;
          var diff = currentOffset - this.offset;
          var speed = diff / diffTime;

          if (Math.round(currentOffset + screenHeight) === Math.round(scrollViewHeight)) {
            diff = 0;
          }

          var direction = this._getDirection(diff);

          var status = {
            direction: direction,
            start: this.offset,
            step: diff,
            speed: speed,
            duration: diffTime
          };
          onScrollEnd(status);
        }
      }
    }, {
      key: "_onLayout",
      value: function _onLayout() {
        var onLayout = this.props.onLayout;

        if (onLayout) {
          onLayout.apply(undefined, arguments);
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this3 = this;

        var _this$props = this.props,
            contentContainerStyle = _this$props.contentContainerStyle,
            onLayout = _this$props.onLayout,
            initialNumToRender = _this$props.initialNumToRender,
            windowSize = _this$props.windowSize,
            numColumns = _this$props.numColumns,
            renderEmpty = _this$props.renderEmpty,
            renderHeader = _this$props.renderHeader,
            renderError = _this$props.renderError,
            renderRow = _this$props.renderRow,
            renderColItem = _this$props.renderColItem,
            rest = (0, _objectWithoutProperties2.default)(_this$props, ["contentContainerStyle", "onLayout", "initialNumToRender", "windowSize", "numColumns", "renderEmpty", "renderHeader", "renderError", "renderRow", "renderColItem"]);
        var _this$state = this.state,
            data = _this$state.data,
            asymmetric = _this$state.asymmetric;

        if (!data) {
          return renderError();
        }

        var headerComponent = renderHeader ? renderHeader() : null;

        if (data.length) {
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).FooterContext.Consumer, null, function (_ref) {
            var height = _ref.height;
            _this3.paddingBottom = height;
            var listProps = (0, _extends2.default)({
              initialNumToRender: 5,
              windowSize: 2
            }, rest, {
              data: data,
              onLayout: _this3.onLayout,
              onScroll: _this3.onScroll,
              contentContainerStyle: [_rssBaseView.default.list, contentContainerStyle, {
                paddingBottom: _this3.paddingBottom
              }],
              ListHeaderComponent: headerComponent
            });

            if (asymmetric) {
              return _react.default.createElement(_asymmetricGrid.default, (0, _extends2.default)({}, listProps, {
                style: {
                  flex: 1
                },
                onMomentumScrollEnd: _this3.onScrollEnd,
                onScrollEndDrag: _this3.onScrollEnd,
                numColumns: numColumns,
                renderItem: function renderItem(item) {
                  return renderColItem(item);
                }
              }));
            }

            return _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).TecnaviaFlatList, (0, _extends2.default)({}, listProps, {
              keyExtractor: _this3._keyExtractor,
              extraData: _this3.state,
              renderItem: function renderItem(_ref2) {
                var item = _ref2.item,
                    index = _ref2.index;
                return renderRow({
                  item: item,
                  index: index,
                  isFirst: index === 0,
                  isLast: index === data.length - 1
                });
              }
            }));
          });
        }

        return _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1,
            flexDirection: "column"
          }
        }, headerComponent, renderEmpty());
      }
    }], [{
      key: "getDerivedStateFromProps",
      value: function getDerivedStateFromProps(nextProps, prevState) {
        var data = prevState.data;
        var rowsData = nextProps.rowsData,
            colsData = nextProps.colsData;
        var newData = colsData || rowsData;

        if (!_$$_REQUIRE(_dependencyMap[16]).JSUtils.equals(data, newData)) {
          return {
            data: newData,
            asymmetric: colsData !== undefined
          };
        }

        return null;
      }
    }]);
    return RssBaseView;
  }(_react.Component);

  RssBaseView.propTypes = {
    initialNumToRender: _propTypes.default.number,
    windowSize: _propTypes.default.number,
    numColumns: _propTypes.default.number,
    renderColItem: _propTypes.default.func,
    renderRow: _propTypes.default.func,
    renderHeader: _propTypes.default.func,
    renderError: _propTypes.default.func,
    onUserScroll: _propTypes.default.func,
    onScrollEnd: _propTypes.default.func,
    colsData: _propTypes.default.array,
    rowsData: _propTypes.default.array,
    renderEmpty: _propTypes.default.func,
    contentContainerStyle: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array]),
    onItemClick: _propTypes.default.func,
    onLayout: _propTypes.default.func
  };
  RssBaseView.defaultProps = {
    initialNumToRender: 5,
    windowSize: 5
  };
  var _default = RssBaseView;
  exports.default = _default;
},2080,[5,6,108,7,8,15,12,14,16,17,201,28,2081,2082,2084,1910,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    list: {
      alignItems: "flex-start"
    },
    row: {
      flexDirection: "row"
    },
    item: {}
  });

  exports.default = _default;
},2081,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _asymmetricItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var styles = _reactNative.StyleSheet.create({
    container: {
      flex: 1
    },
    content: {
      flexDirection: "row"
    }
  });

  var AsymmetricGrid = function (_React$Component) {
    (0, _inherits2.default)(AsymmetricGrid, _React$Component);

    var _super = _createSuper(AsymmetricGrid);

    function AsymmetricGrid(props) {
      var _this;

      (0, _classCallCheck2.default)(this, AsymmetricGrid);
      _this = _super.call(this, props);
      _this._itemRefs = {};
      _this._initialized = false;
      _this._avgHeight = 0;
      _this._layout = undefined;
      _this._contentSize = undefined;
      _this._contentOffset = {
        y: 0,
        x: 0
      };

      _this._onScroll = function (event) {
        var _this$props = _this.props,
            windowSize = _this$props.windowSize,
            onScroll = _this$props.onScroll;

        if (_this._initialized) {
          var _event$nativeEvent = event.nativeEvent,
              nativeEvent = _event$nativeEvent === undefined ? {} : _event$nativeEvent;
          var contentOffset = nativeEvent.contentOffset;
          var renderedItems = _this.state.renderedItems;
          var direction = contentOffset.y - _this._contentOffset.y;
          _this._contentOffset = contentOffset;

          var availableHeight = contentOffset.y + _this._layout.height * (windowSize + 1) - _this._getContentHeight();

          if (availableHeight > 0 && direction > 0) {
            _this._setState({
              renderedItems: _this._fixRenderedItems(renderedItems + Math.ceil(availableHeight / _this._avgHeight))
            });
          } else if (availableHeight < 0 && direction < 0) {
            _this._updateVisibility();
          }
        }

        if (typeof onScroll === "function") {
          onScroll(event);
        }
      };

      _this._onMomentumScrollEnd = function (event) {
        var _this$props2 = _this.props,
            windowSize = _this$props2.windowSize,
            numColumns = _this$props2.numColumns,
            onMomentumScrollEnd = _this$props2.onMomentumScrollEnd;

        if (_this._initialized) {
          var _event$nativeEvent2 = event.nativeEvent,
              nativeEvent = _event$nativeEvent2 === undefined ? {} : _event$nativeEvent2;
          var contentOffset = nativeEvent.contentOffset;
          var renderedItems = _this.state.renderedItems;
          _this._contentOffset = contentOffset;

          var availableHeight = contentOffset.y + _this._layout.height * (windowSize + 1) - _this._getContentHeight();

          if (availableHeight > 0) {
            _this._setState({
              renderedItems: _this._fixRenderedItems(renderedItems + Math.ceil(availableHeight / _this._avgHeight))
            });
          } else if (availableHeight < 0) {
            var itemsToRemove = Math.floor(availableHeight / _this._avgHeight) * numColumns;

            _this._setState({
              renderedItems: _this._fixRenderedItems(renderedItems + itemsToRemove)
            });
          }
        }

        if (typeof onMomentumScrollEnd === "function") {
          onMomentumScrollEnd(event);
        }
      };

      _this._onLayout = function (_ref) {
        var nativeEvent = _ref.nativeEvent;
        _this._layout = nativeEvent.layout;

        _this._initialize();
      };

      _this._onContentSizeChange = function (w, h) {
        _this._contentSize = {
          w: w,
          h: h
        };

        _this._setAvgHeight(h);

        _this._initialize();

        var onContentSizeChange = _this.props.onContentSizeChange;

        if (typeof onContentSizeChange === "function") {
          onContentSizeChange(w, h);
        }
      };

      _this._getCols = function () {
        var _this$props3 = _this.props,
            numColumns = _this$props3.numColumns,
            data = _this$props3.data;
        var renderedItems = _this.state.renderedItems;
        var columns = [];

        for (var i = 0; i < renderedItems; i++) {
          var index = i % numColumns;

          if (!columns[index]) {
            columns[index] = [];
          }

          columns[index].push(data[i]);
        }

        return columns;
      };

      _this.state = {
        renderedItems: props.initialNumToRender * props.numColumns
      };
      return _this;
    }

    (0, _createClass2.default)(AsymmetricGrid, [{
      key: "componentDidUpdate",
      value: function componentDidUpdate() {
        this._updateVisibility();
      }
    }, {
      key: "_updateVisibility",
      value: function _updateVisibility() {
        var _this2 = this;

        if (this._layout) {
          var windowSize = this.props.windowSize;
          Object.values(this._itemRefs).forEach(function (ref) {
            if (ref) {
              ref.updateVisibility({
                top: _this2._contentOffset.y - windowSize * _this2._layout.height,
                bottom: _this2._contentOffset.y + (windowSize + 1) * _this2._layout.height
              });
            }
          });
        }
      }
    }, {
      key: "_fixRenderedItems",
      value: function _fixRenderedItems(renderedItems) {
        var _this$props4 = this.props,
            numColumns = _this$props4.numColumns,
            initialNumToRender = _this$props4.initialNumToRender,
            data = _this$props4.data;
        var newValue = renderedItems;

        if (renderedItems % numColumns !== 0) {
          newValue = renderedItems + renderedItems % numColumns;
        }

        return Math.max(initialNumToRender * numColumns, Math.min(newValue, data.length));
      }
    }, {
      key: "_initialize",
      value: function _initialize() {
        if (this._layout && this._contentSize && !this._initialized) {
          this._initialized = true;
          var windowSize = this.props.windowSize;
          var renderedItems = this.state.renderedItems;
          var availableHeight = this._layout.height * (windowSize + 1) - this._contentSize;

          if (availableHeight > 0) {
            this.setState({
              renderedItems: this._fixRenderedItems(renderedItems + Math.ceil(availableHeight / this._avgHeight))
            });
          }
        }
      }
    }, {
      key: "_getContentHeight",
      value: function _getContentHeight() {
        var numColumns = this.props.numColumns;
        var renderedItems = this.state.renderedItems;
        return renderedItems / numColumns * this._avgHeight;
      }
    }, {
      key: "_setAvgHeight",
      value: function _setAvgHeight(contentHeight) {
        var numColumns = this.props.numColumns;
        var renderedItems = this.state.renderedItems;
        this._avgHeight = this._contentSize.h / (renderedItems / numColumns);
      }
    }, {
      key: "_setState",
      value: function _setState() {
        var _this3 = this;

        var newState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};

        _reactNative.InteractionManager.runAfterInteractions(function () {
          _this3.setState(newState);
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this4 = this;

        var _this$props5 = this.props,
            renderItem = _this$props5.renderItem,
            onScrollViewRef = _this$props5.onScrollViewRef,
            style = _this$props5.style,
            PlaceholderComponent = _this$props5.PlaceholderComponent,
            ListHeaderComponent = _this$props5.ListHeaderComponent,
            columnStyle = _this$props5.columnStyle,
            listProps = (0, _objectWithoutProperties2.default)(_this$props5, ["renderItem", "onScrollViewRef", "style", "PlaceholderComponent", "ListHeaderComponent", "columnStyle"]);
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).TecnaviaScrollView, (0, _extends2.default)({}, listProps, {
          ref: onScrollViewRef,
          style: [styles.container, style],
          scrollEventThrottle: 16,
          onLayout: this._onLayout,
          onContentSizeChange: this._onContentSizeChange,
          onScroll: this._onScroll,
          onMomentumScrollEnd: this._onMomentumScrollEnd,
          keyboardShouldPersistTaps: "never"
        }), ListHeaderComponent || null, _react.default.createElement(_reactNative.View, {
          style: [styles.content, columnStyle]
        }, this._getCols().map(function (column, columnIndex) {
          return _react.default.createElement(_reactNative.View, {
            key: "asymmetric_column_" + columnIndex,
            style: {
              flex: 1,
              alignItems: "center"
            }
          }, column.map(function (item, index) {
            if (typeof renderItem === "function") {
              return _react.default.createElement(_asymmetricItem.default, {
                key: "item_" + columnIndex + "_" + index,
                PlaceholderComponent: PlaceholderComponent,
                ref: function ref(_ref2) {
                  _this4._itemRefs["item_" + columnIndex + "_" + index] = _ref2;
                }
              }, renderItem({
                item: item,
                index: index
              }));
            }

            return null;
          }).filter(function (el) {
            return el !== null;
          }));
        })));
      }
    }]);
    return AsymmetricGrid;
  }(_react.default.Component);

  exports.default = AsymmetricGrid;
  AsymmetricGrid.propTypes = (0, _extends2.default)({
    numColumns: _propTypes.default.number,
    data: _propTypes.default.array,
    windowSize: _propTypes.default.number,
    initialNumToRender: _propTypes.default.number,
    columnStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    renderItem: _propTypes.default.func.isRequired,
    onScrollViewRef: _propTypes.default.func,
    PlaceholderComponent: _asymmetricItem.default.propTypes.PlaceholderComponent
  }, _$$_REQUIRE(_dependencyMap[12]).TecnaviaScrollView.propTypes);
  AsymmetricGrid.defaultProps = {
    numColumns: 2,
    data: [],
    windowSize: 2,
    initialNumToRender: 6
  };
},2082,[5,6,108,7,8,12,14,16,17,201,28,2083,1909]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AsymmetricVisibility = {
    VISIBLE: 1,
    INVISIBLE: 0
  };

  var AsymmetricItem = function (_React$PureComponent) {
    (0, _inherits2.default)(AsymmetricItem, _React$PureComponent);

    var _super = _createSuper(AsymmetricItem);

    function AsymmetricItem(props) {
      var _this;

      (0, _classCallCheck2.default)(this, AsymmetricItem);
      _this = _super.call(this, props);

      _this._onLayout = function (_ref) {
        var nativeEvent = _ref.nativeEvent;
        _this._layout = nativeEvent.layout;
      };

      _this._layout = undefined;
      _this.state = {
        visibility: props.visibility
      };
      return _this;
    }

    (0, _createClass2.default)(AsymmetricItem, [{
      key: "updateVisibility",
      value: function updateVisibility() {
        var area = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};

        if (this._layout && area) {
          var _this$_layout = this._layout,
              y = _this$_layout.y,
              height = _this$_layout.height;
          var top = area.top,
              bottom = area.bottom;

          if (y + height < top) {
            this._setVisibility(AsymmetricVisibility.INVISIBLE);
          } else if (y > top && y < bottom) {
            this._setVisibility(AsymmetricVisibility.VISIBLE);
          }
        }
      }
    }, {
      key: "_setVisibility",
      value: function _setVisibility(value) {
        var _this2 = this;

        var visibility = this.state.visibility;

        if (value !== visibility) {
          _reactNative.InteractionManager.runAfterInteractions(function () {
            _this2.setState({
              visibility: value
            });
          });
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            children = _this$props.children,
            PlaceholderComponent = _this$props.PlaceholderComponent,
            rest = (0, _objectWithoutProperties2.default)(_this$props, ["children", "PlaceholderComponent"]);
        var visibility = this.state.visibility;
        var Content = null;

        if (visibility === AsymmetricVisibility.VISIBLE) {
          Content = children;
        } else if (visibility === AsymmetricVisibility.INVISIBLE) {
          Content = this._layout ? _react.default.createElement(_reactNative.View, {
            style: this._layout
          }, PlaceholderComponent) : children;
        }

        return _react.default.createElement(_reactNative.View, (0, _extends2.default)({}, rest, {
          onLayout: this._onLayout
        }), Content);
      }
    }]);
    return AsymmetricItem;
  }(_react.default.PureComponent);

  exports.default = AsymmetricItem;
  AsymmetricItem.propTypes = {
    visibility: _propTypes.default.number,
    children: _propTypes.default.any,
    PlaceholderComponent: _propTypes.default.any
  };
  AsymmetricItem.defaultProps = {
    visibility: AsymmetricVisibility.VISIBLE,
    PlaceholderComponent: null
  };
},2083,[5,6,108,7,8,12,14,16,17,28,201]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.FooterBanner = exports.FooterContext = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _footerElementComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _AdsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var FooterContext = _react.default.createContext({
    height: 0,
    setHeight: function setHeight() {}
  });

  exports.FooterContext = FooterContext;

  var styles = _reactNative.StyleSheet.create({
    accordion: {
      elevation: 1,
      position: "absolute",
      top: -25,
      end: 5,
      width: 30,
      height: 25,
      borderTopStartRadius: 10,
      borderTopEndRadius: 10,
      alignItems: "center",
      justifyContent: "center",
      shadowOffset: {
        width: 1,
        height: 0
      },
      shadowColor: _$$_REQUIRE(_dependencyMap[11]).colors.transparent600,
      shadowOpacity: 0.5,
      shadowRadius: 0.5
    }
  });

  var FooterAccordion = function FooterAccordion(props) {
    var backgroundColor = props.backgroundColor,
        onToggle = props.onToggle;

    var _useState = (0, _react.useState)(false),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        collapsed = _useState2[0],
        setCollapsed = _useState2[1];

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
      classes: ["footer-banner-accordion-parent"]
    }, _react.default.createElement(_reactNative.TouchableOpacity, {
      style: [styles.accordion, {
        backgroundColor: backgroundColor
      }],
      onPress: function onPress() {
        setCollapsed(!collapsed);

        if (onToggle) {
          onToggle(!collapsed);
        }
      }
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
      classes: ["footer-banner-accordion"]
    }, _react.default.createElement(_iconComponent.default, {
      style: {
        fontSize: 26
      },
      name: collapsed ? "chevron-up" : "chevron-down",
      type: _iconComponent.TecnaviaIconType.MATERIAL_COMMUNITY_ICONS
    }))));
  };

  var FooterBanner = _react.default.memo(function (props) {
    var item = props.item,
        onLayout = props.onLayout,
        configuration = props.configuration;

    if (item !== undefined) {
      var model = _AdsHelper.default.getModelFromConfiguration(item.adUnitId, configuration);

      if (model) {
        var _useState3 = (0, _react.useState)(true),
            _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
            isHidden = _useState4[0],
            setIsHidden = _useState4[1];

        var height = (0, _react.useRef)(new _reactNative.Animated.Value(model.height)).current;
        var backgroundColor = global.getAdsConfig().getBackgroundColor();

        var onHide = function onHide() {
          setIsHidden(true);
        };

        var onShow = function onShow() {
          setIsHidden(false);
        };

        var animatedViewStyle = {
          backgroundColor: backgroundColor,
          height: !isHidden ? height : 0
        };

        if (model.width) {
          animatedViewStyle.alignItems = "center";
        }

        return _react.default.createElement(_reactNative.Animated.View, {
          style: animatedViewStyle,
          onLayout: onLayout
        }, model.collapsable && !isHidden ? _react.default.createElement(FooterAccordion, {
          backgroundColor: backgroundColor,
          onToggle: function onToggle(collapsed) {
            height.setValue(collapsed ? 0 : model.height);

            _reactNative.LayoutAnimation.configureNext(_reactNative.LayoutAnimation.Presets.linear);
          }
        }) : null, _AdsHelper.default.getConfig().getAdComponent(model, (0, _extends2.default)({
          onShow: onShow,
          onHide: onHide
        }, configuration)));
      }
    }

    return null;
  }, function (prevProps, nextProps) {
    var _prevProps$item = prevProps.item,
        prevItem = _prevProps$item === undefined ? {} : _prevProps$item,
        _prevProps$configurat = prevProps.configuration,
        prevConfiguration = _prevProps$configurat === undefined ? {} : _prevProps$configurat;
    var _nextProps$item = nextProps.item,
        item = _nextProps$item === undefined ? {} : _nextProps$item,
        _nextProps$configurat = nextProps.configuration,
        configuration = _nextProps$configurat === undefined ? {} : _nextProps$configurat;
    return prevItem.adUnitId === item.adUnitId && _$$_REQUIRE(_dependencyMap[11]).JSUtils.areEqualShallow(prevConfiguration, configuration);
  });

  exports.FooterBanner = FooterBanner;

  var FooterBar = function FooterBar(props) {
    var propStyle = props.style,
        propHeight = props.height,
        _props$items = props.items,
        items = _props$items === undefined ? [] : _props$items,
        backgroundColor = props.backgroundColor,
        textColor = props.textColor,
        onItemClick = props.onItemClick,
        displayTextAlways = props.displayTextAlways,
        Content = props.Content;
    var itemsToDisplay = items.filter(function (_ref) {
      var position = _ref.position;

      if (position === "3" && _deviceUtils.default.isPortrait()) {
        return true;
      }

      if (position === "4" && !_deviceUtils.default.isPortrait()) {
        return true;
      }

      if (position === "1" || position === "2") {
        return true;
      }

      return false;
    });

    var mainStyle = _$$_REQUIRE(_dependencyMap[12]).Css.getStyleObjByCssClasses(["rss-footer"]);

    var footerHeight = mainStyle.height || propHeight;

    var _useState5 = (0, _react.useState)(),
        _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
        activeScreenItem = _useState6[0],
        setActiveScreenItem = _useState6[1];

    var _useState7 = (0, _react.useState)(footerHeight),
        _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
        height = _useState8[0],
        setHeight = _useState8[1];

    var translateY = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
    var layoutSize = {
      height: footerHeight
    };
    var currentTranslateY = 0;
    var animation;

    var animate = function animate(translation) {
      if (translation !== currentTranslateY) {
        currentTranslateY = translation;

        if (animation) {
          animation.stop();
          animation = undefined;
        }

        animation = _reactNative.Animated.timing(translateY, {
          toValue: translation,
          duration: 300,
          useNativeDriver: true
        });
        animation.start(function (_ref2) {
          var finished = _ref2.finished;

          if (finished) {
            animation = undefined;
            setHeight(layoutSize.height - currentTranslateY);

            _reactNative.LayoutAnimation.configureNext(_reactNative.LayoutAnimation.Presets.linear);
          }
        });
      }
    };

    var onLayout = (0, _react.useCallback)(function (_ref3) {
      var nativeEvent = _ref3.nativeEvent;
      layoutSize = nativeEvent.layout;
      setHeight(layoutSize.height - currentTranslateY);
    }, []);
    var onScroll = (0, _react.useCallback)(function (_ref4) {
      var step = _ref4.step;

      if (itemsToDisplay.length > 0) {
        animate(step < 0 ? 0 : footerHeight);
      }
    }, []);
    var onScreenChange = (0, _react.useCallback)(function (_ref5) {
      var item = _ref5.item;
      setActiveScreenItem(item);
      animate(0);
    }, []);
    (0, _react.useEffect)(function () {
      var toggleListener = _$$_REQUIRE(_dependencyMap[13]).EventRegister.on(_events.default.LIST_VERTICAL_SCROLLING, onScroll);

      var screenChangeListener = _$$_REQUIRE(_dependencyMap[13]).EventRegister.on(_events.default.RSS_ACTIVE_SCREEN, onScreenChange);

      return function () {
        _$$_REQUIRE(_dependencyMap[13]).EventRegister.rm(toggleListener);

        _$$_REQUIRE(_dependencyMap[13]).EventRegister.rm(screenChangeListener);
      };
    }, []);
    return _react.default.createElement(FooterContext.Provider, {
      value: {
        height: height,
        setHeight: setHeight
      }
    }, _react.default.createElement(_reactNative.View, {
      style: {
        flex: 1
      }
    }, Content), _react.default.createElement(_reactNative.Animated.View, {
      style: {
        position: "absolute",
        bottom: 0,
        start: 0,
        end: 0,
        transform: [{
          translateY: translateY
        }]
      },
      onLayout: onLayout
    }, _react.default.createElement(FooterBanner, {
      item: activeScreenItem,
      configuration: {
        screen: "grid",
        position: "bottom"
      }
    }), itemsToDisplay.length > 0 ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).TecnaviaFooter, {
      style: [{
        flex: 1
      }, mainStyle]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
      classes: ["rss-footer-tab"]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).TecnaviaFooterTab, {
      style: [{
        height: footerHeight,
        backgroundColor: backgroundColor,
        flexDirection: "row",
        flex: 1
      }, propStyle]
    }, itemsToDisplay.map(function (item, index) {
      return _react.default.createElement(_footerElementComponent.default, {
        key: "footer_bar_" + index,
        item: item,
        index: index,
        onItemClick: onItemClick,
        backgroundColor: backgroundColor,
        foregroundColor: textColor,
        displayTextAlways: displayTextAlways,
        isActive: activeScreenItem && activeScreenItem.drawerItemKey === item.drawerItemKey
      });
    })))) : null));
  };

  FooterBar.propTypes = {
    items: _propTypes.default.array,
    backgroundColor: _propTypes.default.string,
    textColor: _propTypes.default.string,
    onItemClick: _propTypes.default.func,
    displayTextAlways: _propTypes.default.bool,
    height: _propTypes.default.number,
    Content: _propTypes.default.node,
    style: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.number])
  };
  FooterBar.defaultProps = {
    items: [],
    backgroundColor: _$$_REQUIRE(_dependencyMap[11]).colors.white,
    textColor: _$$_REQUIRE(_dependencyMap[11]).colors.black,
    displayTextAlways: false,
    height: 50,
    Content: null,
    style: {}
  };
  var _default = FooterBar;
  exports.default = _default;
},2084,[5,6,41,17,201,28,2085,460,458,2087,1806,462,699,572,2090]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _IndexHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var FooterElement = function FooterElement(props) {
    var item = props.item,
        index = props.index,
        foregroundColor = props.foregroundColor,
        onItemClick = props.onItemClick,
        displayTextAlways = props.displayTextAlways,
        backgroundColor = props.backgroundColor,
        isActiveDefault = props.isActive;
    var action = item.action;
    var displayName = item.displayName;

    if (action === _IndexHelper.default.SP.values.drawer.actions.open_paywall_account) {
      var _global$getRssIndex = global.getRssIndex(),
          mustLoginToViewArticle = _global$getRssIndex.mustLoginToViewArticle;

      if (mustLoginToViewArticle) {
        var _global$getRSSActiveP = global.getRSSActivePSetup(),
            loginStatus = _global$getRSSActiveP.loginStatus;

        if (loginStatus.isLoggedIn()) {
          displayName = global.strings("btn_logout");
        }
      }
    }

    var _useState = (0, _react.useState)(displayName),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        caption = _useState2[0],
        setCaption = _useState2[1];

    var _useState3 = (0, _react.useState)(isActiveDefault),
        _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
        isActive = _useState4[0],
        setIsActive = _useState4[1];

    var onPress = (0, _react.useCallback)(function () {
      if (typeof onItemClick === "function") {
        onItemClick(item);
      }
    });
    var onPaywallUpdate = (0, _react.useCallback)(function (params) {
      setCaption(params.caption);
    });
    var onEventItemClick = (0, _react.useCallback)(function (params) {
      setIsActive(params.screen === item.drawerItemKey);
    });
    (0, _react.useEffect)(function () {
      var userStatusUpdateListener;

      if (action === _IndexHelper.default.SP.values.drawer.actions.open_paywall_account) {
        userStatusUpdateListener = _$$_REQUIRE(_dependencyMap[9]).EventRegister.on(_events.default.PAYWALL_USER_STATUS_UPDATE, onPaywallUpdate);
      }

      var footerItemClick = _$$_REQUIRE(_dependencyMap[9]).EventRegister.on(_events.default.FOOTER_ITEM_CLICK, onEventItemClick);

      return function () {
        _$$_REQUIRE(_dependencyMap[9]).EventRegister.rm(userStatusUpdateListener);

        _$$_REQUIRE(_dependencyMap[9]).EventRegister.rm(footerItemClick);
      };
    }, []);

    var cssKey = _$$_REQUIRE(_dependencyMap[10]).StringUtils.getKeyFromText(item.drawerItemKey);

    var iconStyle = _$$_REQUIRE(_dependencyMap[11]).Css.getStyleObjByCssClasses(["rss-footer-element-icon"], {
      cssKey: cssKey,
      toggle: true,
      active: isActive
    });

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
      classes: ["rss-footer-element"],
      toggle: true,
      active: isActive,
      cssKey: cssKey
    }, _react.default.createElement(_reactNative.TouchableOpacity, {
      key: index,
      style: [_$$_REQUIRE(_dependencyMap[12]).styles.parent, isActive ? {
        backgroundColor: foregroundColor
      } : {}],
      onPress: onPress
    }, item.image || iconStyle.src ? _react.default.createElement(_imageIconChooserComponent.default, {
      forceRNComponent: true,
      style: [_$$_REQUIRE(_dependencyMap[12]).styles.image, iconStyle],
      source: {
        uri: item.image,
        cache: "reload"
      },
      resizeMode: "contain",
      tintColor: isActive ? backgroundColor : foregroundColor
    }) : null, !item.image || displayTextAlways ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
      classes: ["rss-footer-element-text-parent"],
      toggle: true,
      active: isActive,
      cssKey: cssKey
    }, _react.default.createElement(_reactNative.View, {
      style: _$$_REQUIRE(_dependencyMap[12]).styles.textParent
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
      classes: ["rss-footer-element-text"],
      toggle: true,
      active: isActive,
      cssKey: cssKey
    }, _react.default.createElement(_fontText.default, {
      numberOfLines: 1,
      ellipsizeMode: "tail",
      style: {
        color: isActive ? backgroundColor : foregroundColor,
        textAlign: "center"
      }
    }, caption)))) : null));
  };

  FooterElement.propTypes = {
    item: _propTypes.default.object,
    index: _propTypes.default.number,
    foregroundColor: _propTypes.default.string,
    onItemClick: _propTypes.default.func,
    displayTextAlways: _propTypes.default.bool,
    backgroundColor: _propTypes.default.string,
    isActive: _propTypes.default.bool
  };
  FooterElement.defaultProps = {
    foregroundColor: _$$_REQUIRE(_dependencyMap[10]).colors.black,
    displayTextAlways: false,
    isActive: false
  };
  var _default = FooterElement;
  exports.default = _default;
},2085,[5,41,17,28,201,460,1963,1879,1970,572,462,699,2086]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    parent: {
      flex: 1,
      flexDirection: "column",
      paddingHorizontal: 5,
      paddingTop: 5
    },
    image: {
      flex: 1,
      marginBottom: 5
    },
    textParent: {
      flex: 1,
      justifyContent: "center"
    }
  });

  exports.styles = styles;
},2086,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var AdsHelper = function () {
    function AdsHelper() {
      (0, _classCallCheck2.default)(this, AdsHelper);
    }

    (0, _createClass2.default)(AdsHelper, null, [{
      key: "getConfig",
      value: function getConfig() {
        return global.getAdsConfig();
      }
    }, {
      key: "getAdComponentFromConfiguration",
      value: function getAdComponentFromConfiguration(jsonString, configuration) {
        var model = AdsHelper.getModelFromConfiguration(jsonString, configuration);

        if (model) {
          return AdsHelper.getConfig().getAdComponent(model, configuration);
        }

        return null;
      }
    }, {
      key: "getModelFromConfiguration",
      value: function getModelFromConfiguration(jsonString, configuration) {
        var model = null;
        var json = jsonString;

        try {
          json = JSON.parse(jsonString);
        } catch (e) {}

        for (var i = 0; i < AdsHelper.PARSERS.length; i++) {
          var parser = AdsHelper.PARSERS[i];
          var items = parser.parse(json);

          if (items.length > 0) {
            model = parser.getBannerModelByConfiguration(items, configuration);

            if (model) {
              break;
            }
          }
        }

        return model;
      }
    }, {
      key: "getModelsFromConfiguration",
      value: function getModelsFromConfiguration(jsonString, configuration) {
        var models = [];
        var json = jsonString;

        try {
          json = JSON.parse(jsonString);
        } catch (e) {}

        for (var i = 0; i < AdsHelper.PARSERS.length; i++) {
          var parser = AdsHelper.PARSERS[i];
          var items = parser.parse(json);

          if (items.length > 0) {
            models = parser.getBannerModelsByConfiguration(items, configuration);

            if (!_$$_REQUIRE(_dependencyMap[3]).JSUtils.isEmpty(models)) {
              break;
            }
          }
        }

        return models;
      }
    }, {
      key: "getNativeAdComponent",
      value: function getNativeAdComponent(_ref) {
        var key = _ref.key,
            provider = _ref.provider,
            index = _ref.index,
            grid = _ref.grid,
            card = _ref.card,
            unitId = _ref.unitId,
            width = _ref.width,
            height = _ref.height,
            targeting = _ref.targeting,
            fallback = _ref.fallback,
            headerText = _ref.headerText,
            caller = _ref.caller,
            onAdLoaded = _ref.onAdLoaded,
            onAdFailed = _ref.onAdFailed;
        return AdsHelper.getConfig().getAdComponent({
          isWeb: false,
          key: key,
          index: index,
          provider: provider,
          unitId: unitId,
          width: width,
          height: height,
          targeting: targeting
        }, {
          caller: caller,
          grid: grid,
          card: card,
          fallback: fallback || AdsHelper.getConfig().getDefaultAdFallback(),
          onAdFailed: onAdFailed,
          onAdLoaded: onAdLoaded,
          headerText: headerText
        });
      }
    }]);
    return AdsHelper;
  }();

  exports.default = AdsHelper;
  AdsHelper.PARSERS = [new (_$$_REQUIRE(_dependencyMap[4]).ParserV2)(), new (_$$_REQUIRE(_dependencyMap[4]).ParserV1)(), new (_$$_REQUIRE(_dependencyMap[4]).ParserV0)()];
},2087,[5,7,8,462,2088]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.ParserV2 = exports.ParserV1 = exports.ParserV0 = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var AdKeysAndValues = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var InterstitialsKeysAndValues = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var ParserV0 = function () {
    function ParserV0() {
      (0, _classCallCheck2.default)(this, ParserV0);
    }

    (0, _createClass2.default)(ParserV0, [{
      key: "parse",
      value: function parse(adUnitId) {
        var items = [];
        var config = global.getAdsConfig();
        var defaultUnitId = config.getDefaultAdUnitId();

        if (adUnitId && typeof adUnitId === "string") {
          items.push({
            unitId: adUnitId
          });
        } else if (defaultUnitId && typeof defaultUnitId === "string") {
          var defaultTargeting = config.getDefaultAdTargeting();
          items.push({
            unitId: defaultUnitId,
            targeting: defaultTargeting
          });
        }

        return items;
      }
    }, {
      key: "getBannerModelByConfiguration",
      value: function getBannerModelByConfiguration(items, configuration) {
        var model = items.reduce(function (result, _ref) {
          var unitId = _ref.unitId,
              targeting = _ref.targeting;
          var config = global.getAdsConfig();

          if (configuration.position === AdKeysAndValues.adPositions.top && config.isDefaultTopAdEnabled()) {
            result = {
              screen: configuration.screen,
              unitId: unitId,
              targeting: targeting,
              position: AdKeysAndValues.adPositions.top,
              width: 320,
              height: 50,
              isWeb: false
            };
          }

          if (configuration.position === AdKeysAndValues.adPositions.bottom && config.isDefaultBottomAdEnabled()) {
            result = {
              screen: configuration.screen,
              unitId: unitId,
              targeting: targeting,
              position: AdKeysAndValues.adPositions.bottom,
              width: 320,
              height: 50,
              isWeb: false
            };
          }

          return result;
        }, null);
        return model;
      }
    }, {
      key: "getBannerModelsByConfiguration",
      value: function getBannerModelsByConfiguration(items, configuration) {
        var models = items.reduce(function (result, _ref2) {
          var unitId = _ref2.unitId,
              targeting = _ref2.targeting;
          var config = global.getAdsConfig();

          if (configuration.position === AdKeysAndValues.adPositions.top && config.isDefaultTopAdEnabled()) {
            result.push({
              screen: configuration.screen,
              unitId: unitId,
              targeting: targeting,
              position: AdKeysAndValues.adPositions.top,
              width: 320,
              height: 50,
              isWeb: false
            });
          }

          if (configuration.position === AdKeysAndValues.adPositions.bottom && config.isDefaultBottomAdEnabled()) {
            result.push({
              screen: configuration.screen,
              unitId: unitId,
              targeting: targeting,
              position: AdKeysAndValues.adPositions.bottom,
              width: 320,
              height: 50,
              isWeb: false
            });
          }

          return result;
        }, []);
        return models;
      }
    }]);
    return ParserV0;
  }();

  exports.ParserV0 = ParserV0;

  var ParserV1 = function () {
    function ParserV1() {
      (0, _classCallCheck2.default)(this, ParserV1);
    }

    (0, _createClass2.default)(ParserV1, [{
      key: "parse",
      value: function parse(adJSON) {
        var items = [];

        if (adJSON) {
          var compatibleAdJSON = [];

          if (Array.isArray(adJSON)) {
            compatibleAdJSON = adJSON;
          } else {
            compatibleAdJSON.push(adJSON);
          }

          compatibleAdJSON.forEach(function (adItem) {
            var matchesType = [];

            if (adItem.type) {
              var regExpType = new RegExp(AdKeysAndValues.regExps.typeV1);
              matchesType = adItem.type.match(regExpType);
            }

            if (matchesType && matchesType.length > 0) {
              var gridOrListNative = adItem.type === AdKeysAndValues.adTypes.native.grid || adItem.type === AdKeysAndValues.adTypes.native.list;
              var widthDefault = gridOrListNative ? 300 : 320;
              var heightDefault = gridOrListNative ? 250 : 50;
              var width = adItem.w ? parseInt(adItem.w, 10) : widthDefault;
              var height = adItem.h ? parseInt(adItem.h, 10) : heightDefault;
              var matchesURL = null;
              var matchesAdUnitId = null;
              var unitId = "";
              var isWeb = false;

              if (adItem.url && AdKeysAndValues.webAdsTypes.includes(adItem.type)) {
                var regExpURL = new RegExp(AdKeysAndValues.regExps.url);
                matchesURL = adItem.url.match(regExpURL);

                if (matchesURL) {
                  unitId = adItem.url;
                  isWeb = true;
                }
              } else if (adItem.ad_unit_id && AdKeysAndValues.nativeAdsTypes.includes(adItem.type)) {
                var regExpAdUnitId = new RegExp(AdKeysAndValues.regExps.ad_unit_id);
                matchesAdUnitId = adItem.ad_unit_id.match(regExpAdUnitId);

                if (matchesAdUnitId) {
                  unitId = adItem.ad_unit_id;
                }
              }

              if (unitId.length > 0) {
                var model = {
                  position: adItem.type,
                  unitId: unitId,
                  width: width,
                  height: height,
                  isWeb: isWeb
                };
                items.push(model);
              }
            }
          });
        }

        return items;
      }
    }, {
      key: "_validityCondition",
      value: function _validityCondition(model, configuration) {
        var isValid = configuration.screen === AdKeysAndValues.adScreens.grid && (configuration.position === AdKeysAndValues.adPositions.top || configuration.position === AdKeysAndValues.adPositions.bottom) && model.position === AdKeysAndValues.adTypes.native.default;

        if (!isValid) {
          isValid = configuration.screen === AdKeysAndValues.adScreens.grid && configuration.position === AdKeysAndValues.adPositions.top && model.position === AdKeysAndValues.adTypes.web.top_banner;
        }

        if (!isValid) {
          isValid = configuration.screen === AdKeysAndValues.adScreens.grid && configuration.position === AdKeysAndValues.adPositions.bottom && model.position === AdKeysAndValues.adTypes.web.bottom_banner;
        }

        if (!isValid) {
          isValid = configuration.screen === AdKeysAndValues.adScreens.article && configuration.position === AdKeysAndValues.adPositions.top && configuration.position === AdKeysAndValues.adPositions.bottom && model.position === AdKeysAndValues.adTypes.native.inarticle;
        }

        if (!isValid) {
          isValid = configuration.screen === AdKeysAndValues.adScreens.article && configuration.position === AdKeysAndValues.adPositions.top && model.position === AdKeysAndValues.adTypes.web.top_banner;
        }

        if (!isValid) {
          isValid = configuration.screen === AdKeysAndValues.adScreens.article && configuration.position === AdKeysAndValues.adPositions.bottom && model.position === AdKeysAndValues.adTypes.web.bottom_banner;
        }

        if (!isValid) {
          isValid = configuration.screen === AdKeysAndValues.adScreens.grid && configuration.position === AdKeysAndValues.adPositions.inside && model.position === AdKeysAndValues.adTypes.native.grid;
        }

        if (!isValid) {
          isValid = configuration.screen === AdKeysAndValues.adScreens.grid && configuration.position === AdKeysAndValues.adPositions.inside && model.position === AdKeysAndValues.adTypes.native.list;
        }

        return isValid;
      }
    }, {
      key: "getBannerModelByConfiguration",
      value: function getBannerModelByConfiguration(items, configuration) {
        var _this = this;

        return items.find(function (model) {
          return _this._validityCondition(model, configuration);
        });
      }
    }, {
      key: "getBannerModelsByConfiguration",
      value: function getBannerModelsByConfiguration(items, configuration) {
        var _this2 = this;

        return items.filter(function (model) {
          return _this2._validityCondition(model, configuration);
        });
      }
    }]);
    return ParserV1;
  }();

  exports.ParserV1 = ParserV1;

  var ParserV2 = function () {
    function ParserV2() {
      (0, _classCallCheck2.default)(this, ParserV2);
    }

    (0, _createClass2.default)(ParserV2, [{
      key: "parse",
      value: function parse(adJSON) {
        var items = [];

        if (adJSON) {
          var compatibleAdJSON = null;

          if (Array.isArray(adJSON)) {
            for (var i = adJSON.length - 1; i >= 0; i--) {
              var elem = adJSON[i];

              if (elem.version && elem.version == "2") {
                compatibleAdJSON = elem;
                break;
              }
            }
          } else if (adJSON.version && adJSON.version == "2") {
            compatibleAdJSON = adJSON;
          }

          if (compatibleAdJSON) {
            var adsItems = compatibleAdJSON.items;
            adsItems.forEach(function (adItem) {
              var matchesScreen = null;
              var matchesType = null;
              var matchesPosition = null;
              var fallback = null;
              var provider = null;
              var isWeb = adItem.type === AdKeysAndValues.adTypes.web.default;
              var isNative = adItem.type === AdKeysAndValues.adTypes.native.default;
              var width = 0;
              var height = 0;

              if (adItem.id) {
                var regExpId = new RegExp(AdKeysAndValues.regExps.url);
                var matches = adItem.id.match(regExpId);
                isWeb = isWeb && matches != null;

                if (!adItem.provider || adItem.provider !== InterstitialsKeysAndValues.values.provider.nativo) {
                  regExpId = new RegExp(AdKeysAndValues.regExps.ad_unit_id);
                  matches = adItem.id.match(regExpId);
                }

                isNative = isNative && matches != null;
              }

              if (adItem.screen) {
                var regExpScreen = new RegExp(AdKeysAndValues.regExps.screen);
                matchesScreen = adItem.screen.match(regExpScreen);
              }

              if (adItem.type) {
                var regExpType = new RegExp(AdKeysAndValues.regExps.typeV2);
                matchesType = adItem.type.match(regExpType);
              }

              if (adItem.position) {
                var regExpPosition = new RegExp(AdKeysAndValues.regExps.position);
                matchesPosition = adItem.position.match(regExpPosition);
              }

              if (adItem.fallback) {
                var regExpFallback = new RegExp(AdKeysAndValues.regExps.url);
                fallback = adItem.fallback.match(regExpFallback);
              }

              var matchOs = true;

              if (adItem.os) {
                matchOs = adItem.os === _reactNative.Platform.OS;
              }

              if (matchesScreen && matchesType && matchesPosition && (isNative || isWeb) && matchOs) {
                var regExpWidthHeight = new RegExp(AdKeysAndValues.regExps.width_height);

                if (adItem.w) {
                  var matchesWidth = ("" + adItem.w).match(regExpWidthHeight);

                  if (matchesWidth) {
                    width = parseInt(adItem.w, 10);
                  }
                }

                if (!width) {
                  if (adItem.position === AdKeysAndValues.adPositions.inside) {
                    width = 300;
                  } else if (isNative) {
                    width = 320;
                  }
                }

                if (adItem.h) {
                  var matchesHeight = ("" + adItem.h).match(regExpWidthHeight);

                  if (matchesHeight) {
                    height = parseInt(adItem.h, 10);
                  } else {
                    height = adItem.position === AdKeysAndValues.adPositions.inside ? 250 : 50;
                  }
                } else {
                  height = adItem.position === AdKeysAndValues.adPositions.inside ? 250 : 50;
                }

                if (adItem.provider && Object.keys(InterstitialsKeysAndValues.values.provider).includes(adItem.provider)) {
                  provider = adItem.provider;
                }

                var screen = adItem.screen,
                    position = adItem.position,
                    unitId = adItem.id,
                    targeting = adItem.targeting,
                    headerText = adItem.headerText,
                    collapsable = adItem.collapsable,
                    marked = adItem.marked;
                var model = {
                  screen: screen,
                  position: position,
                  unitId: unitId,
                  width: width,
                  height: height,
                  isWeb: isWeb,
                  fallback: fallback,
                  provider: provider,
                  targeting: targeting,
                  headerText: headerText,
                  collapsable: collapsable,
                  marked: marked
                };
                items.push(model);
              }
            });
          }
        }

        return items;
      }
    }, {
      key: "_validityCondition",
      value: function _validityCondition(model, configuration) {
        var screenIsValid = configuration.screen === AdKeysAndValues.adScreens.grid && model.screen === AdKeysAndValues.adScreens.grid || configuration.screen === AdKeysAndValues.adScreens.article && model.screen === AdKeysAndValues.adScreens.article;
        var positionIsValid = configuration.position === AdKeysAndValues.adPositions.bottom && model.position === AdKeysAndValues.adPositions.bottom || configuration.position === AdKeysAndValues.adPositions.top && model.position === AdKeysAndValues.adPositions.top || configuration.position === AdKeysAndValues.adPositions.inside && model.position === AdKeysAndValues.adPositions.inside || configuration.position === AdKeysAndValues.adPositions.extra && model.position === AdKeysAndValues.adPositions.extra;
        var adUnitIdIsValid = configuration.unitId ? configuration.unitId === model.unitId : true;
        var typeIsValid = configuration.isWeb ? configuration.isWeb === model.isWeb : true;
        var providerIsValid = configuration.provider ? configuration.provider === model.provider : true;

        if (screenIsValid && positionIsValid && adUnitIdIsValid && typeIsValid && providerIsValid) {
          return true;
        }

        return false;
      }
    }, {
      key: "getBannerModelByConfiguration",
      value: function getBannerModelByConfiguration(items, configuration) {
        var _this3 = this;

        return items.find(function (model) {
          return _this3._validityCondition(model, configuration);
        });
      }
    }, {
      key: "getBannerModelsByConfiguration",
      value: function getBannerModelsByConfiguration(items, configuration) {
        var _this4 = this;

        return items.filter(function (model) {
          return _this4._validityCondition(model, configuration);
        });
      }
    }]);
    return ParserV2;
  }();

  exports.ParserV2 = ParserV2;
},2088,[5,7,8,28,2089,1973]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.nativeAdsTypes = exports.webAdsTypes = exports.adTypes = exports.adPositions = exports.adScreens = exports.regExps = exports.adJSONKeys = undefined;
  var adJSONKeys = {
    version: "version",
    type: "type",
    width: "w",
    height: "h",
    ad_unit_id: "ad_unit_id",
    url: "url",
    items: "items",
    screen: "screen",
    position: "position",
    id: "id",
    background: "background"
  };
  exports.adJSONKeys = adJSONKeys;
  var regExps = {
    ad_unit_id: "^\\/.+|ca-app-.+\\/.+$",
    url: "(https?:\\/\\/)?[\\.a-z0-9A-Z]{2,}.*",
    width_height: "[0-9]+",
    typeV1: "(native|native_inarticle|grid_native|list_native|top_banner|bottom_banner){1}",
    typeV2: "(native|web){1}",
    screen: "(grid|article){1}",
    position: "(top|bottom|inside|extra){1}",
    background: "^\\#([a-f|A-F|0-9]{6}|[a-f|A-F|0-9]{3}){1}$"
  };
  exports.regExps = regExps;
  var adScreens = {
    article: "article",
    grid: "grid"
  };
  exports.adScreens = adScreens;
  var adPositions = {
    top: "top",
    bottom: "bottom",
    inside: "inside",
    extra: "extra",
    default: "default"
  };
  exports.adPositions = adPositions;
  var adTypes = {
    web: {
      default: "web",
      top_banner: "top_banner",
      bottom_banner: "bottom_banner"
    },
    native: {
      default: "native",
      inarticle: "native_inarticle",
      grid: "grid_native",
      list: "list_native"
    }
  };
  exports.adTypes = adTypes;
  var webAdsTypes = [adTypes.web.top_banner, adTypes.web.bottom_banner];
  exports.webAdsTypes = webAdsTypes;
  var nativeAdsTypes = [adTypes.native.default, adTypes.native.inarticle, adTypes.native.grid, adTypes.native.list];
  exports.nativeAdsTypes = nativeAdsTypes;
},2089,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.TecnaviaFooter = TecnaviaFooter;
  exports.TecnaviaFooterTab = TecnaviaFooterTab;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  function TecnaviaFooter(props) {
    return _react.default.createElement(_reactNative.View, props);
  }

  function TecnaviaFooterTab(props) {
    return _react.default.createElement(_reactNative.View, props);
  }
},2090,[5,17,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _iconGallery = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _tileList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _baseTileImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _tileHeader = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _tilePreview = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TileList = function (_React$PureComponent) {
    (0, _inherits2.default)(TileList, _React$PureComponent);

    var _super = _createSuper(TileList);

    function TileList(props) {
      var _this;

      (0, _classCallCheck2.default)(this, TileList);
      _this = _super.call(this, props);
      _this.fontSize = _$$_REQUIRE(_dependencyMap[16]).FONT_SIZE.TEXT();
      _this.fontSizeTitle = _$$_REQUIRE(_dependencyMap[16]).FONT_SIZE.TITLE();
      return _this;
    }

    (0, _createClass2.default)(TileList, [{
      key: "_getImage",
      value: function _getImage() {
        var item = this.props.item;

        if (item.image) {
          var style = {
            margin: 4,
            flex: _$$_REQUIRE(_dependencyMap[17]).PlatformUtils.isTablet() ? 1 : 2
          };
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[18]).Css, {
            classes: ["tile-list-image-container"]
          }, _react.default.createElement(_reactNative.View, {
            style: style
          }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[18]).Css, {
            classes: ["tile-list-image"]
          }, _react.default.createElement(_imageComponent.default, {
            style: style,
            source: {
              uri: item.image
            }
          })), _react.default.createElement(_iconGallery.default, {
            item: item,
            inline: false
          })));
        }

        return null;
      }
    }, {
      key: "render",
      value: function render() {
        var item = this.props.item;

        var isTablet = _$$_REQUIRE(_dependencyMap[17]).PlatformUtils.isTablet();

        var _global$getRssIndex = global.getRssIndex(),
            putImageOnListRightSide = _global$getRssIndex.putImageOnListRightSide;

        var summary = isTablet ? {
          text: item.summary,
          classes: ["tile-summary", "list-tile-summary", "tile-list-summary"],
          style: {
            color: _$$_REQUIRE(_dependencyMap[17]).colors.summary,
            fontSize: this.fontSize
          }
        } : {};

        var parentContainer = _$$_REQUIRE(_dependencyMap[18]).Css.getStyleObjByCssClasses(["tile-header", "tile-list-header"]);

        var textContainer = _$$_REQUIRE(_dependencyMap[18]).Css.getStyleObjByCssClasses(["tile-header-text", "tile-list-header-text"]);

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[18]).Css, {
          classes: ["tile", "tile-list"]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).TileParent, {
          index: item.gridIndex,
          bgColorByIndex: true,
          enableBorderEffect: false,
          style: {
            flexDirection: putImageOnListRightSide ? "row" : "row-reverse"
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[18]).Css, {
          classes: ["tile-text-container", "tile-list-text-container"]
        }, _react.default.createElement(_reactNative.View, {
          style: [_tileList.default.container, {
            paddingHorizontal: isTablet ? 8 : 0
          }]
        }, _react.default.createElement(_tilePreview.default, {
          title: {
            text: item.title,
            classes: ["tile-title", "list-tile-title", "tile-list-title"],
            style: {
              color: _$$_REQUIRE(_dependencyMap[17]).colors.title,
              fontSize: this.fontSizeTitle
            }
          },
          summary: summary,
          verticalPaddingSize: _$$_REQUIRE(_dependencyMap[20]).TITLE_TOP_PADDING,
          containerStyle: !isTablet ? {
            justifyContent: "center"
          } : {}
        }), _react.default.createElement(_tileHeader.default, {
          parentStyle: parentContainer,
          textStyle: [{
            color: _$$_REQUIRE(_dependencyMap[17]).colors.grey1000,
            fontSize: this.fontSize
          }, _baseTileImage.default.details, _tileList.default.details, textContainer],
          isTablet: isTablet,
          iconType: "others",
          item: item
        }))), this._getImage()));
      }
    }]);
    return TileList;
  }(_react.default.PureComponent);

  TileList.propTypes = {
    item: _propTypes.default.shape({
      category: _propTypes.default.string,
      date: _propTypes.default.string,
      title: _propTypes.default.string,
      summary: _propTypes.default.string,
      image: _propTypes.default.string,
      sizes: _propTypes.default.object,
      position: _propTypes.default.number,
      hideCategory: _propTypes.default.bool,
      isPremiumArticle: _propTypes.default.bool,
      gridIndex: _propTypes.default.number
    })
  };

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[21]).useNavigation)();
    return _react.default.createElement(TileList, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2091,[5,6,7,8,12,14,16,17,28,201,2028,2032,2033,2092,2034,588,2039,462,699,2040,2035,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _RssActionManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _iconTile = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _iconGallery = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TileHeader = function (_React$Component) {
    (0, _inherits2.default)(TileHeader, _React$Component);

    var _super = _createSuper(TileHeader);

    function TileHeader(props) {
      var _this;

      (0, _classCallCheck2.default)(this, TileHeader);
      _this = _super.call(this, props);
      _this.state = {
        rightStyle: {
          width: 0
        },
        leftStyle: {
          flex: 1
        }
      };
      _this.availableSpace = props.availableSpace || (props.isTablet ? 2 : 1);
      _this.leftStyleWidth = -1;
      _this.rightStyleWidth = -1;
      return _this;
    }

    (0, _createClass2.default)(TileHeader, [{
      key: "shouldComponentUpdate",
      value: function shouldComponentUpdate(nextProps, nextState) {
        var rightStyle = this.state.rightStyle;
        return rightStyle.width !== nextState.width;
      }
    }, {
      key: "_getText",
      value: function _getText() {
        var item = this.props.item;
        var text = "";

        if (item.date) {
          text += item.date.concat(" ");
        }

        if (item.date && !item.hideCategory) {
          text += _$$_REQUIRE(_dependencyMap[15]).StringUtils.BULLET.concat(" ");
        }

        if (!item.hideCategory) {
          text += item.category;
        }

        return _$$_REQUIRE(_dependencyMap[15]).StringUtils.removeTilde(text);
      }
    }, {
      key: "_onLayout",
      value: function _onLayout() {
        if (this.rightStyleWidth !== -1 && this.leftStyleWidth !== -1) {
          var leftStyle = {
            width: this.leftStyleWidth - this.rightStyleWidth
          };
          this.setState({
            leftStyle: leftStyle
          });
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props = this.props,
            item = _this$props.item,
            _onLayout2 = _this$props.onLayout,
            parentStyle = _this$props.parentStyle,
            textStyle = _this$props.textStyle,
            navigation = _this$props.navigation,
            iconType = _this$props.iconType,
            iconsStyle = _this$props.iconsStyle;
        var _this$state = this.state,
            leftStyle = _this$state.leftStyle,
            rightStyle = _this$state.rightStyle;

        var _global$getRssIndex = global.getRssIndex(),
            supportColor = _global$getRssIndex.supportColor;

        var _global$getRSSActiveP = global.getRSSActivePSetup(),
            premiumIconURL = _global$getRSSActiveP.premiumIconURL;

        var rssAction = item.action;

        var text = this._getText();

        if (text || item.isPremiumArticle || rssAction.getGalleryIcon() || rssAction.getTileIcons().length > 0) {
          return _react.default.createElement(_reactNative.View, {
            style: [{
              flexDirection: "row",
              justifyContent: "space-between",
              backgroundColor: _$$_REQUIRE(_dependencyMap[15]).colors.transparent,
              alignItems: "center",
              height: _$$_REQUIRE(_dependencyMap[16]).ICON + _$$_REQUIRE(_dependencyMap[16]).MARGIN * 2
            }, parentStyle],
            onLayout: function onLayout(_ref) {
              var nativeEvent = _ref.nativeEvent;
              _this2.leftStyleWidth = nativeEvent.layout.width;

              _this2._onLayout();

              if (_onLayout2) {
                _onLayout2(nativeEvent.layout);
              }
            }
          }, _react.default.createElement(_reactNative.View, {
            style: [leftStyle, {
              flexDirection: "row"
            }]
          }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).TilePremiumIcon, {
            show: item.isPremiumArticle,
            url: premiumIconURL
          }), _react.default.createElement(_fontText.default, {
            style: textStyle,
            numberOfLines: 1,
            ellipsizeMode: "tail"
          }, text)), _react.default.createElement(_$$_REQUIRE(_dependencyMap[18]).Css, {
            classes: ["tile-header-right-icons-container"],
            cssKey: iconType
          }, _react.default.createElement(_reactNative.View, {
            style: {
              rightStyle: rightStyle
            }
          }, iconType === "gallery" ? _react.default.createElement(_iconGallery.default, {
            item: item,
            inline: true,
            onLayout: function onLayout(_ref2) {
              var width = _ref2.width;
              _this2.rightStyleWidth = width;

              _this2._onLayout();
            }
          }) : _react.default.createElement(_iconTile.default, {
            onLayout: function onLayout(_ref3) {
              var width = _ref3.width;
              _this2.rightStyleWidth = width;

              _this2._onLayout();
            },
            icons: rssAction.getTileIcons().map(function (icon) {
              return {
                title: (0, _$$_REQUIRE(_dependencyMap[19]).getTitleAction)(icon, {
                  tile: item
                }),
                component: function component(style) {
                  if (icon.icon) {
                    return _react.default.createElement(_imageComponent.default, {
                      source: {
                        uri: icon.icon
                      },
                      style: style
                    });
                  }

                  return (0, _$$_REQUIRE(_dependencyMap[19]).getIconAction)(icon, {
                    tile: item,
                    style: style,
                    size: 20
                  });
                },
                onPress: function onPress() {
                  (0, _$$_REQUIRE(_dependencyMap[19]).doAction)(icon, {
                    tile: item,
                    navigation: navigation
                  });
                }
              };
            }),
            item: item,
            tintColor: supportColor,
            border: true,
            availableSpace: this.availableSpace,
            parentStyle: iconsStyle
          }))));
        }

        return null;
      }
    }]);
    return TileHeader;
  }(_react.default.Component);

  TileHeader.propTypes = {
    onLayout: _propTypes.default.func,
    parentStyle: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.number]),
    iconsStyle: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number]),
    textStyle: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.number]),
    item: _propTypes.default.shape({
      isPremiumArticle: _propTypes.default.bool,
      hideCategory: _propTypes.default.bool,
      category: _propTypes.default.string,
      date: _propTypes.default.string,
      action: _propTypes.default.instanceOf(_RssActionManager.default)
    }).isRequired,
    availableSpace: _propTypes.default.number,
    isTablet: _propTypes.default.bool,
    iconType: _propTypes.default.oneOf(["gallery", "others"]),
    navigation: _propTypes.default.object
  };
  TileHeader.defaultProps = {
    textStyle: {},
    parentStyle: {},
    isTablet: false,
    iconType: "others"
  };

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[20]).useNavigation)();
    return _react.default.createElement(TileHeader, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2092,[5,6,7,8,12,14,16,17,28,201,1879,1964,2093,2028,588,462,2030,2094,699,1968,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _iconTile = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AnimatedIcon = _reactNative.Animated.createAnimatedComponent(_iconComponent.default);

  var IconTile = function (_React$Component) {
    (0, _inherits2.default)(IconTile, _React$Component);

    var _super = _createSuper(IconTile);

    function IconTile(props) {
      var _this;

      (0, _classCallCheck2.default)(this, IconTile);
      _this = _super.call(this, props);
      _this.iconColor = props.tintColor;
      _this.displayMore = props.icons.length > props.availableSpace;
      var visibleIcons = props.icons.slice(0, props.availableSpace - (_this.displayMore ? 1 : 0));
      _this.state = {
        expanded: false,
        visibleIcons: visibleIcons
      };
      _this.spinValue = new _reactNative.Animated.Value(0);

      if (props.onLayout) {
        props.onLayout({
          width: _this.displayMore ? _iconTile.ICON : 0 + visibleIcons.length * _iconTile.ICON + _iconTile.MARGIN * 2
        });
      }

      _this.onPressMore = _this._onPressMore.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(IconTile, [{
      key: "_onPressMore",
      value: function _onPressMore() {
        var _this$props = this.props,
            icons = _this$props.icons,
            availableSpace = _this$props.availableSpace;
        var expanded = this.state.expanded;

        _reactNative.Animated.spring(this.spinValue, {
          toValue: expanded ? 0 : 1,
          duration: 250
        }).start();

        this.setState({
          expanded: !expanded,
          visibleIcons: !expanded ? icons : icons.slice(0, availableSpace - (this.displayMore ? 1 : 0))
        });
      }
    }, {
      key: "_getMoreIcon",
      value: function _getMoreIcon() {
        var spin = this.spinValue.interpolate({
          inputRange: [0, 1],
          outputRange: _$$_REQUIRE(_dependencyMap[13]).PlatformUtils.isRTL() ? ["0deg", "135deg"] : ["0deg", "-135deg"]
        });
        return _react.default.createElement(AnimatedIcon, {
          type: _iconComponent.TecnaviaIconType.MATERIAL_ICONS,
          name: "add",
          style: [_iconTile.default.icon, {
            color: this.iconColor,
            transform: [{
              rotate: spin
            }]
          }],
          size: _iconTile.ICON_SIZE
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props2 = this.props,
            icons = _this$props2.icons,
            parentStyle = _this$props2.parentStyle,
            item = _this$props2.item,
            border = _this$props2.border;
        var visibleIcons = this.state.visibleIcons;
        var displayMore = this.displayMore;

        if (!icons || !icons.length) {
          return null;
        }

        return _react.default.createElement(_reactNative.Animated.View, {
          style: [_iconTile.default.parent, _iconTile.default.iconParent, {
            borderWidth: border ? 0.5 : 0,
            borderColor: this.iconColor,
            backgroudColor: _$$_REQUIRE(_dependencyMap[14]).Css.getDefaultBackgroundColor()
          }, parentStyle]
        }, visibleIcons.map(function (_ref, index) {
          var component = _ref.component,
              _onPress = _ref.onPress;
          return _react.default.createElement(_reactNative.TouchableOpacity, {
            key: index,
            onPress: function onPress() {
              if (_onPress) {
                _onPress(item);
              }
            }
          }, component([_iconTile.default.icon, {
            color: _this2.iconColor,
            fontSize: _iconTile.ICON_SIZE
          }]));
        }), displayMore ? _react.default.createElement(_reactNative.TouchableOpacity, {
          onPress: this.onPressMore
        }, this._getMoreIcon()) : null);
      }
    }]);
    return IconTile;
  }(_react.default.Component);

  IconTile.defaultProps = {
    parentStyle: {},
    availableSpace: 1,
    border: false
  };
  IconTile.propTypes = {
    item: _propTypes.default.object,
    onLayout: _propTypes.default.func,
    parentStyle: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number]),
    availableSpace: _propTypes.default.number,
    tintColor: _propTypes.default.string.isRequired,
    border: _propTypes.default.bool,
    icons: _propTypes.default.arrayOf(_propTypes.default.shape({
      title: _propTypes.default.string,
      component: _propTypes.default.func.isRequired,
      onPress: _propTypes.default.func.isRequired
    })).isRequired
  };

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[15]).useNavigation)();
    return _react.default.createElement(IconTile, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2093,[5,6,7,8,15,12,14,16,17,28,201,2030,1806,462,699,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.TilePremiumIcon = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TilePremiumIcon = function (_React$Component) {
    (0, _inherits2.default)(TilePremiumIcon, _React$Component);

    var _super = _createSuper(TilePremiumIcon);

    function TilePremiumIcon(props) {
      var _this;

      (0, _classCallCheck2.default)(this, TilePremiumIcon);
      _this = _super.call(this, props);
      _this.state = {
        error: false
      };
      _this.url = props.url;
      return _this;
    }

    (0, _createClass2.default)(TilePremiumIcon, [{
      key: "_hideIcon",
      value: function _hideIcon() {
        var show = this.props.show;
        var error = this.state.error;
        return !show || !this.url || !this.url.length || error;
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        if (this._hideIcon()) {
          return null;
        }

        return _react.default.createElement(_imageComponent.default, {
          style: _$$_REQUIRE(_dependencyMap[9]).styles.icon,
          resizeMode: "contain",
          source: {
            uri: this.url
          },
          onError: function onError() {
            _this2.setState({
              error: true
            });
          }
        });
      }
    }]);
    return TilePremiumIcon;
  }(_react.default.Component);

  exports.TilePremiumIcon = TilePremiumIcon;
  TilePremiumIcon.propTypes = {
    show: _propTypes.default.bool,
    url: _propTypes.default.string
  };
  TilePremiumIcon.defaultProps = {
    show: false
  };
},2094,[5,7,8,12,14,16,17,201,588,2095]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    icon: {
      width: 18,
      height: 18,
      marginStart: 4,
      alignSelf: "center"
    }
  });

  exports.styles = styles;
},2095,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _reactNativeLinearGradient = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _RssIndexConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _tilePreview = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _tileGridImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _baseTileImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _tileHeader = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TileGridImage = function (_React$PureComponent) {
    (0, _inherits2.default)(TileGridImage, _React$PureComponent);

    var _super = _createSuper(TileGridImage);

    function TileGridImage(props) {
      var _this;

      (0, _classCallCheck2.default)(this, TileGridImage);
      _this = _super.call(this, props);
      var item = props.item;
      _this.isTablet = _$$_REQUIRE(_dependencyMap[17]).PlatformUtils.isTablet();
      _this.fontSize = _$$_REQUIRE(_dependencyMap[18]).FONT_SIZE.TEXT();
      _this.fontSizeTitle = item.isHighlightedBox ? _$$_REQUIRE(_dependencyMap[18]).FONT_SIZE.HIGHLIGHT() : _$$_REQUIRE(_dependencyMap[18]).FONT_SIZE.TITLE();
      return _this;
    }

    (0, _createClass2.default)(TileGridImage, [{
      key: "titleNumberOfLines",
      value: function titleNumberOfLines() {
        var _global$getRssIndex = global.getRssIndex(),
            gridTitleMaxLines = _global$getRssIndex.gridTitleMaxLines;

        return gridTitleMaxLines;
      }
    }, {
      key: "_getContent",
      value: function _getContent() {
        var item = this.props.item;

        var _global$getRssIndex2 = global.getRssIndex(),
            hasTopPanel = _global$getRssIndex2.hasTopPanel,
            supportColor = _global$getRssIndex2.supportColor;

        var topPanelColor = hasTopPanel ? supportColor : _$$_REQUIRE(_dependencyMap[17]).colors.transparent;
        var style = [{
          fontSize: this.fontSizeTitle
        }, _tileGridImage.default.title_full];

        if (!this.isTablet) {
          style.push(_tileGridImage.default.title_phone);
        }

        var others = {};
        var numberOfLines = this.titleNumberOfLines();

        if (numberOfLines >= 0) {
          others.numberOfLines = numberOfLines;
        }

        var parentContainer = _$$_REQUIRE(_dependencyMap[19]).Css.getStyleObjByCssClasses(["tile-header", "tile-grid-header"]);

        var textContainer = _$$_REQUIRE(_dependencyMap[19]).Css.getStyleObjByCssClasses(["tile-header-text", "tile-grid-header-text", "tile-grid-image-header-text"]);

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).Css, {
          classes: ["tile-text-container", "tile-grid-text-container"]
        }, _react.default.createElement(_reactNative.View, {
          style: [{
            paddingHorizontal: 0
          }, _tileGridImage.default.container_full]
        }, _react.default.createElement(_tileHeader.default, {
          parentStyle: [{
            backgroundColor: topPanelColor
          }, parentContainer],
          textStyle: [{
            fontSize: this.fontSize,
            color: _$$_REQUIRE(_dependencyMap[17]).ColorUtils.determineTextColor(topPanelColor)
          }, _baseTileImage.default.details, _tileGridImage.default.details, textContainer],
          isTablet: this.isTablet,
          iconType: "gallery",
          item: item
        }), _react.default.createElement(_tilePreview.default, {
          title: {
            text: item.title,
            classes: ["tile-title", "grid-tile-title", "tile-grid-title", "tile-grid-image-title"],
            style: style,
            parentStyle: {
              flex: 1,
              justifyContent: "flex-end"
            },
            disablePadding: true,
            props: {
              numberOfLines: numberOfLines
            }
          },
          containerStyle: {
            flex: 1,
            marginHorizontal: 0
          }
        })));
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            item = _this$props.item,
            grid = _this$props.grid;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).Css, {
          classes: ["tile", "tile-grid"]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[20]).TileParent, {
          bgColor: _$$_REQUIRE(_dependencyMap[17]).colors.white,
          enableBorderEffect: grid,
          style: {
            flexDirection: "row"
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).Css, {
          classes: ["tile-image", "tile-grid-image"]
        }, _react.default.createElement(_imageComponent.default, {
          style: _tileGridImage.default.image_full,
          source: {
            uri: item.image
          }
        })), _react.default.createElement(_reactNativeLinearGradient.default, {
          style: _tileGridImage.default.gradient,
          colors: [_$$_REQUIRE(_dependencyMap[17]).colors.transparent, _$$_REQUIRE(_dependencyMap[17]).colors.transparent, _$$_REQUIRE(_dependencyMap[17]).colors.transparent200]
        }), this._getContent()));
      }
    }]);
    return TileGridImage;
  }(_react.default.PureComponent);

  TileGridImage.propTypes = {
    grid: _propTypes.default.bool,
    item: _propTypes.default.shape({
      category: _propTypes.default.string,
      date: _propTypes.default.string,
      title: _propTypes.default.string,
      image: _propTypes.default.string,
      sizes: _propTypes.default.object,
      position: _propTypes.default.number,
      hideCategory: _propTypes.default.bool,
      isPremiumArticle: _propTypes.default.bool,
      isHighlightedBox: _propTypes.default.bool
    })
  };

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[21]).useNavigation)();
    return _react.default.createElement(TileGridImage, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2096,[5,6,7,8,12,14,16,17,28,1238,201,2044,2034,2047,2033,2092,588,462,2039,699,2040,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _tileGridNoImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _baseTileImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _tileHeader = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _tilePreview = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TileNoImage = function (_React$PureComponent) {
    (0, _inherits2.default)(TileNoImage, _React$PureComponent);

    var _super = _createSuper(TileNoImage);

    function TileNoImage(props) {
      var _this;

      (0, _classCallCheck2.default)(this, TileNoImage);
      _this = _super.call(this, props);
      _this.fontSize = _$$_REQUIRE(_dependencyMap[13]).FONT_SIZE.TEXT();
      _this.fontSizeTitle = _$$_REQUIRE(_dependencyMap[13]).FONT_SIZE.TITLE();
      return _this;
    }

    (0, _createClass2.default)(TileNoImage, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            item = _this$props.item,
            grid = _this$props.grid;
        var style = [{
          paddingHorizontal: 0
        }, !item.summary ? _tileGridNoImage.default.container_title_only : _tileGridNoImage.default.container];
        var summary = {
          text: item.summary,
          classes: ["tile-summary", "grid-tile-summary", "tile-grid-summary"],
          style: {
            fontSize: this.fontSize
          }
        };

        var parentContainer = _$$_REQUIRE(_dependencyMap[14]).Css.getStyleObjByCssClasses(["tile-header", "tile-grid-header"]);

        var textContainer = _$$_REQUIRE(_dependencyMap[14]).Css.getStyleObjByCssClasses(["tile-header-text", "tile-grid-header-text"]);

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
          classes: ["tile", "tile-grid"]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).TileParent, {
          enableBorderEffect: grid,
          style: style
        }, _react.default.createElement(_tileHeader.default, {
          parentStyle: parentContainer,
          textStyle: [{
            fontSize: this.fontSize,
            color: _$$_REQUIRE(_dependencyMap[16]).ColorUtils.determineTextColor(_$$_REQUIRE(_dependencyMap[16]).colors.transparent)
          }, _baseTileImage.default.details, _tileGridNoImage.default.details, textContainer],
          isTablet: _$$_REQUIRE(_dependencyMap[16]).PlatformUtils.isTablet(),
          item: item,
          iconType: "gallery"
        }), _react.default.createElement(_tilePreview.default, {
          containerStyle: {
            justifyContent: "flex-end"
          },
          title: {
            text: item.title,
            classes: ["tile-title", "grid-tile-title", "tile-grid-title"],
            style: {
              fontSize: this.fontSizeTitle
            }
          },
          summary: summary,
          verticalPaddingSize: _$$_REQUIRE(_dependencyMap[17]).TITLE_TOP_PADDING
        })));
      }
    }]);
    return TileNoImage;
  }(_react.default.PureComponent);

  TileNoImage.propTypes = {
    grid: _propTypes.default.bool,
    item: _propTypes.default.shape({
      category: _propTypes.default.string,
      date: _propTypes.default.string,
      title: _propTypes.default.string,
      summary: _propTypes.default.string,
      position: _propTypes.default.number,
      isPremiumArticle: _propTypes.default.bool,
      hideCategory: _propTypes.default.bool
    })
  };

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[18]).useNavigation)();
    return _react.default.createElement(TileNoImage, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2097,[5,6,7,8,12,14,16,17,201,2098,2033,2092,2034,2039,699,2041,462,2035,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    container: {
      flex: 1,
      flexDirection: "column",
      justifyContent: "space-between",
      width: "100%",
      paddingBottom: _$$_REQUIRE(_dependencyMap[1]).CONTAINER_VERTICAL_PADDING
    },
    container_title_only: {
      flexDirection: "column",
      justifyContent: "flex-start",
      width: "100%",
      paddingBottom: _$$_REQUIRE(_dependencyMap[1]).CONTAINER_VERTICAL_PADDING
    }
  });

  exports.default = _default;
},2098,[28,2033]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Refresh = function (_React$Component) {
    (0, _inherits2.default)(Refresh, _React$Component);

    var _super = _createSuper(Refresh);

    function Refresh() {
      (0, _classCallCheck2.default)(this, Refresh);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(Refresh, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            style = _this$props.style,
            cssClasses = _this$props.cssClasses,
            progressBackgroundColor = _this$props.progressBackgroundColor,
            colors = _this$props.colors,
            rest = (0, _objectWithoutProperties2.default)(_this$props, ["style", "cssClasses", "progressBackgroundColor", "colors"]);

        var css = _$$_REQUIRE(_dependencyMap[11]).Css.getStyleObjByCssClasses(cssClasses);

        var newStyle = [];

        if (Array.isArray(style)) {
          newStyle.push.apply(newStyle, (0, _toConsumableArray2.default)(style));
        } else {
          newStyle.push(style);
        }

        newStyle.push(css);

        var color = _$$_REQUIRE(_dependencyMap[12]).CssUtils.getAttributeFromStyle("color", newStyle, colors[0], true);

        var backgroundColor = _$$_REQUIRE(_dependencyMap[12]).CssUtils.getAttributeFromStyle("backgroundColor", newStyle, progressBackgroundColor, true);

        return _react.default.createElement(_reactNative.RefreshControl, (0, _extends2.default)({
          colors: [color],
          tintColor: color,
          progressBackgroundColor: backgroundColor,
          style: style
        }, rest));
      }
    }]);
    return Refresh;
  }(_react.default.Component);

  exports.default = Refresh;
  Refresh.defaultProps = {
    progressBackgroundColor: "#ffffff",
    colors: ["#000000"]
  };
},2099,[5,6,21,108,7,8,12,14,16,17,28,699,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2100,[2101]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.TileAd = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _tileAd = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _AdsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TileAd = function (_React$PureComponent) {
    (0, _inherits2.default)(TileAd, _React$PureComponent);

    var _super = _createSuper(TileAd);

    function TileAd(props) {
      var _this;

      (0, _classCallCheck2.default)(this, TileAd);
      _this = _super.call(this, props);
      _this.onAdFailed = _this._onAdFailed.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        hide: false
      };
      return _this;
    }

    (0, _createClass2.default)(TileAd, [{
      key: "_onAdFailed",
      value: function _onAdFailed(model, error) {
        var skipHide = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
        var _this$props = this.props,
            grid = _this$props.grid,
            itemID = _this$props.itemID,
            changeContainerStyleCallback = _this$props.changeContainerStyleCallback;

        if (!grid) {
          if (changeContainerStyleCallback) {
            changeContainerStyleCallback(itemID, {
              height: 0
            });
          }

          if (!skipHide) {
            this.setState({
              hide: true
            });
          }
        }
      }
    }, {
      key: "render",
      value: function render() {
        var hide = this.state.hide;

        if (hide) {
          return null;
        }

        var _this$props2 = this.props,
            realSize = _this$props2.realSize,
            grid = _this$props2.grid,
            item = _this$props2.item,
            index = _this$props2.index,
            backgroundColor = _this$props2.backgroundColor;
        var id = item.id,
            width = item.width,
            height = item.height,
            provider = item.provider,
            targeting = item.targeting;
        var model = {
          unitId: id,
          grid: grid,
          screen: "grid",
          position: "inside",
          width: width,
          height: height,
          targeting: targeting,
          index: index,
          provider: provider,
          onAdFailed: this.onAdFailed
        };
        var isNativo = global.getAdsConfig().useNativo(provider);

        if (isNativo) {
          if (grid) {
            model.width = realSize.width - 6;
            model.height = realSize.height - 6;
          } else {
            model.width = realSize.width;
            model.height = realSize.height;
          }
        }

        var AdView = _AdsHelper.default.getNativeAdComponent(model);

        if (isNativo) {
          return AdView;
        }

        var customStyle = _$$_REQUIRE(_dependencyMap[11]).Css.getStyleObjByCssClasses(["tile-ad", "tile-native-ad"]);

        var bgColor = customStyle.backgroundColor || backgroundColor;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).TileParent, {
          index: index,
          bgColor: bgColor,
          bgColorByIndex: !grid && !bgColor,
          enableBorderEffect: grid,
          style: _tileAd.default.container
        }, AdView);
      }
    }]);
    return TileAd;
  }(_react.default.PureComponent);

  exports.TileAd = TileAd;
  TileAd.propTypes = {
    grid: _propTypes.default.bool,
    index: _propTypes.default.number,
    backgroundColor: _propTypes.default.string,
    item: _propTypes.default.shape({
      id: _propTypes.default.string,
      provider: _propTypes.default.string,
      width: _propTypes.default.number,
      height: _propTypes.default.number,
      targeting: _propTypes.default.object
    }),
    realSize: _propTypes.default.shape({
      width: _propTypes.default.number,
      height: _propTypes.default.number
    }),
    itemID: _propTypes.default.number,
    changeContainerStyleCallback: _propTypes.default.func
  };
},2101,[5,7,8,15,12,14,16,17,201,2102,2087,699,2041]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    container: {
      flex: 1,
      alignItems: "center",
      justifyContent: "center"
    }
  });

  exports.default = _default;
},2102,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2103,[2104]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.TileWebView = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _tileWebview = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _webUtils = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var _cmpUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _tecnaviaPlatformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TileWebView = function (_React$Component) {
    (0, _inherits2.default)(TileWebView, _React$Component);

    var _super = _createSuper(TileWebView);

    function TileWebView(props) {
      var _this;

      (0, _classCallCheck2.default)(this, TileWebView);
      _this = _super.call(this, props);
      _this.adLoaded = false;
      _this.onLoadEnd = _this._onLoadEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        boxWidth: 0,
        boxHeight: 0
      };
      return _this;
    }

    (0, _createClass2.default)(TileWebView, [{
      key: "_onLoadEnd",
      value: function _onLoadEnd() {
        this.adLoaded = true;
      }
    }, {
      key: "_applyScale",
      value: function _applyScale(width, height) {
        var _this$state = this.state,
            boxWidth = _this$state.boxWidth,
            boxHeight = _this$state.boxHeight;

        var scale = _webUtils.default.getZoom(width, height, boxWidth, boxHeight);

        return _webUtils.default.getJSToZoomContent((boxWidth - width) / 2, (boxHeight - height) / 2, scale);
      }
    }, {
      key: "_injectJs",
      value: function _injectJs(js) {
        if (this.webview) {
          this.webview.injectJavaScript("(function(){ try{ " + js + " } catch(e) { console.log(e); } })();");
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props = this.props,
            item = _this$props.item,
            grid = _this$props.grid,
            backgroundColor = _this$props.backgroundColor,
            baseUrl = _this$props.baseUrl;
        var _this$state2 = this.state,
            boxWidth = _this$state2.boxWidth,
            boxHeight = _this$state2.boxHeight;
        var component = null;

        if (item.id && boxWidth > 0 && boxHeight > 0) {
          var html = _webUtils.default.replacePlaceHolder(_webUtils.default.setupHtmlForWebView(item.id), item.width, item.height);

          var scale = _webUtils.default.getZoom(item.width, item.height, boxWidth, boxHeight);

          var customStyle = _$$_REQUIRE(_dependencyMap[13]).Css.getStyleObjByCssClasses(["tile-ad", "tile-web-ad"]);

          html = _webUtils.default.addViewportScaleStyles(html, (boxWidth - item.width) / 2, (boxHeight - item.height) / 2, scale, customStyle.backgroundColor || backgroundColor);
          html = _cmpUtils.default.addCMPScript(html);
          component = _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).BaseWebView, {
            innerRef: function innerRef(webview) {
              _this2.webview = webview;
            },
            style: {
              padding: 0
            },
            source: {
              html: html,
              baseUrl: baseUrl
            },
            scrollEnabled: false,
            dataDetectorTypes: "all",
            onLoadEnd: this.onLoadEnd,
            startInLoadingState: _$$_REQUIRE(_dependencyMap[14]).BaseWebView.LoadingStatePosition.none,
            onLinkClicked: function onLinkClicked(url) {
              _tecnaviaPlatformUtils.default.openURL(url);

              return true;
            }
          });
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).TileParent, {
          enableBorderEffect: grid,
          style: _tileWebview.default.container,
          onLayout: function onLayout(event) {
            var _event$nativeEvent$la = event.nativeEvent.layout,
                width = _event$nativeEvent$la.width,
                height = _event$nativeEvent$la.height;

            _this2.setState({
              boxWidth: width,
              boxHeight: height
            });
          }
        }, component);
      }
    }]);
    return TileWebView;
  }(_react.default.Component);

  exports.TileWebView = TileWebView;
  TileWebView.propTypes = {
    backgroundColor: _propTypes.default.string,
    item: _propTypes.default.shape({
      width: _propTypes.default.number,
      height: _propTypes.default.number,
      id: _propTypes.default.string
    }),
    grid: _propTypes.default.bool,
    baseUrl: _propTypes.default.string
  };
  TileWebView.defaultProps = {
    baseUrl: _webUtils.WEBVIEW_BASE_URL
  };
},2104,[5,7,8,15,12,14,16,17,201,2105,719,1875,1876,699,1894,2040]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    container: {
      flexDirection: "column",
      justifyContent: "space-evenly",
      width: "100%",
      padding: 0,
      overflow: "hidden"
    }
  });

  exports.default = _default;
},2105,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.TileHalfbox = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _tileHalfbox = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TileHalfbox = function (_React$PureComponent) {
    (0, _inherits2.default)(TileHalfbox, _React$PureComponent);

    var _super = _createSuper(TileHalfbox);

    function TileHalfbox(props) {
      var _this;

      (0, _classCallCheck2.default)(this, TileHalfbox);
      _this = _super.call(this, props);
      _this.fontSizeTitle = _$$_REQUIRE(_dependencyMap[11]).PlatformUtils.isTablet() ? 24 : 18;
      _this.hasImage = !!props.item.image;
      return _this;
    }

    (0, _createClass2.default)(TileHalfbox, [{
      key: "render",
      value: function render() {
        var item = this.props.item;

        var cssKey = _$$_REQUIRE(_dependencyMap[11]).StringUtils.getKeyFromText(item.title);

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
          classes: ["tile", "tile-halfbox", "tile-grid-halfbox"],
          cssKey: cssKey
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).TileParent, {
          bgUrl: item.thumbnail || "",
          enableBorderEffect: true,
          style: _tileHalfbox.default.outline
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
          classes: ["tile-text", "tile-halfbox-text", "tile-grid-halfbox-text"],
          cssKey: cssKey
        }, _react.default.createElement(_fontText.default, {
          type: TileHalfbox.medium,
          style: [_tileHalfbox.default.title, {
            flex: 1,
            fontSize: this.fontSizeTitle
          }]
        }, (0, _$$_REQUIRE(_dependencyMap[14]).getCategoryLabel)(item.title))), this.hasImage ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
          classes: ["tile-halfbox-image", "tile-grid-halfbox-image"],
          cssKey: cssKey
        }, _react.default.createElement(_imageComponent.default, {
          style: _tileHalfbox.default.image,
          resizeMode: "contain",
          source: {
            uri: item.image
          }
        })) : null));
      }
    }]);
    return TileHalfbox;
  }(_react.default.PureComponent);

  exports.TileHalfbox = TileHalfbox;
  TileHalfbox.propTypes = {
    item: _propTypes.default.shape({
      title: _propTypes.default.string,
      image: _propTypes.default.string,
      thumbnail: _propTypes.default.string
    })
  };
},2106,[5,7,8,12,14,16,17,201,1879,2107,588,462,699,2040,2051]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.HORIZONTAL_MARGIN = exports.TITLE_VERTICAL_MARGIN = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var TITLE_VERTICAL_MARGIN = 12;
  exports.TITLE_VERTICAL_MARGIN = TITLE_VERTICAL_MARGIN;
  var HORIZONTAL_MARGIN = 8;
  exports.HORIZONTAL_MARGIN = HORIZONTAL_MARGIN;

  var _default = _reactNative.StyleSheet.create({
    outline: {
      flexDirection: "row",
      justifyContent: "space-evenly",
      alignItems: "center"
    },
    title: {
      marginHorizontal: HORIZONTAL_MARGIN,
      marginVertical: TITLE_VERTICAL_MARGIN,
      textAlign: "center",
      color: _$$_REQUIRE(_dependencyMap[1]).colors.title
    },
    image: {
      width: 50,
      height: 50,
      marginHorizontal: HORIZONTAL_MARGIN,
      marginVertical: TITLE_VERTICAL_MARGIN
    }
  });

  exports.default = _default;
},2107,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2108,[2109]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.TileListHalfbox = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _tileListHalfbox = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TileListHalfbox = function (_React$Component) {
    (0, _inherits2.default)(TileListHalfbox, _React$Component);

    var _super = _createSuper(TileListHalfbox);

    function TileListHalfbox(props) {
      var _this;

      (0, _classCallCheck2.default)(this, TileListHalfbox);
      _this = _super.call(this, props);
      _this.fontSizeTitle = _$$_REQUIRE(_dependencyMap[12]).PlatformUtils.isTablet() ? 24 : 18;
      _this.hasImage = !!props.item.image;
      return _this;
    }

    (0, _createClass2.default)(TileListHalfbox, [{
      key: "render",
      value: function render() {
        var item = this.props.item;

        var isTablet = _$$_REQUIRE(_dependencyMap[12]).PlatformUtils.isTablet();

        var cssKey = _$$_REQUIRE(_dependencyMap[12]).StringUtils.getKeyFromText(item.title);

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["tile", "tile-halfbox", "tile-list-halfbox"],
          cssKey: cssKey
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).TileParent, {
          index: item.gridIndex,
          bgColorByIndex: true,
          bgUrl: item.thumbnail || "",
          enableBorderEffect: false,
          style: _tileListHalfbox.default.outline
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["tile-list-halfbox-text-parent"],
          cssKey: cssKey
        }, _react.default.createElement(_reactNative.View, {
          style: {
            flex: 3,
            padding: isTablet ? _tileListHalfbox.HORIZONTAL_MARGIN : 0
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["tile-text", "tile-halfbox-text", "tile-list-halfbox-text"],
          cssKey: cssKey
        }, _react.default.createElement(_fontText.default, {
          type: _fontText.Type.medium,
          style: [_tileListHalfbox.default.title, {
            fontSize: this.fontSizeTitle
          }]
        }, (0, _$$_REQUIRE(_dependencyMap[15]).getCategoryLabel)(item.title))))), this.hasImage ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["tile-list-halfbox-image-parent"],
          cssKey: cssKey
        }, _react.default.createElement(_reactNative.View, {
          style: {
            flex: isTablet ? 1 : 2,
            margin: _tileListHalfbox.HORIZONTAL_MARGIN / 2
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["tile-halfbox-image", "tile-list-halfbox-image"],
          cssKey: cssKey
        }, _react.default.createElement(_imageComponent.default, {
          style: _tileListHalfbox.default.image,
          resizeMode: item.isLinkToCategory ? "cover" : "contain",
          source: {
            uri: item.image
          }
        })))) : null));
      }
    }]);
    return TileListHalfbox;
  }(_react.default.Component);

  exports.TileListHalfbox = TileListHalfbox;
  TileListHalfbox.propTypes = {
    item: _propTypes.default.shape({
      title: _propTypes.default.string,
      image: _propTypes.default.string,
      thumbnail: _propTypes.default.string,
      gridIndex: _propTypes.default.number,
      isLinkToCategory: _propTypes.default.bool
    })
  };
},2109,[5,7,8,12,14,16,17,28,201,1879,2110,588,462,699,2040,2051]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.HORIZONTAL_MARGIN = exports.TITLE_VERTICAL_MARGIN = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var TITLE_VERTICAL_MARGIN = 12;
  exports.TITLE_VERTICAL_MARGIN = TITLE_VERTICAL_MARGIN;
  var HORIZONTAL_MARGIN = 8;
  exports.HORIZONTAL_MARGIN = HORIZONTAL_MARGIN;

  var _default = _reactNative.StyleSheet.create({
    outline: {
      flexDirection: "row",
      alignItems: "center"
    },
    title: {
      textAlign: "left",
      color: _$$_REQUIRE(_dependencyMap[1]).colors.title,
      marginHorizontal: HORIZONTAL_MARGIN
    },
    image: {
      flex: 1,
      margin: 4
    }
  });

  exports.default = _default;
},2110,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.TileEpaper = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _reactNativeLinearGradient = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _tileEpaper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TileEpaper = function (_React$PureComponent) {
    (0, _inherits2.default)(TileEpaper, _React$PureComponent);

    var _super = _createSuper(TileEpaper);

    function TileEpaper() {
      (0, _classCallCheck2.default)(this, TileEpaper);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(TileEpaper, [{
      key: "_getImage",
      value: function _getImage() {
        var _this$props = this.props,
            item = _this$props.item,
            grid = _this$props.grid;
        var style;
        var margin = grid ? 0 : 4;

        if (grid) {
          style = [_tileEpaper.default.image_full];
        } else {
          style = {
            margin: margin,
            flex: _$$_REQUIRE(_dependencyMap[13]).PlatformUtils.isTablet() ? 1 : 2
          };
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
          classes: ["tile-image", grid ? "tile-grid-image" : "tile-list-image", grid ? "tile-grid-image-epaper" : "tile-list-image-epaper"]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).TopCropImage, {
          url: item.image,
          style: style
        }));
      }
    }, {
      key: "_getGradient",
      value: function _getGradient() {
        var grid = this.props.grid;
        return grid ? _react.default.createElement(_reactNativeLinearGradient.default, {
          style: _tileEpaper.default.gradient,
          colors: [_$$_REQUIRE(_dependencyMap[13]).colors.transparent, _$$_REQUIRE(_dependencyMap[13]).colors.transparent, _$$_REQUIRE(_dependencyMap[13]).colors.transparent200]
        }) : null;
      }
    }, {
      key: "_getContent",
      value: function _getContent() {
        var _this$props2 = this.props,
            grid = _this$props2.grid,
            item = _this$props2.item,
            orientation = _this$props2.orientation;

        var isTablet = _$$_REQUIRE(_dependencyMap[13]).PlatformUtils.isTablet();

        var isPortrait = _deviceUtils.default.isPortrait(orientation);

        var fontSize = isTablet ? 24 : 18;
        var paddingHorizontal = isTablet && !grid ? 8 : 0;
        var titleStyle = [{
          fontSize: fontSize
        }, grid ? _tileEpaper.default.title_full : _tileEpaper.default.title];
        var style = [{
          paddingHorizontal: paddingHorizontal
        }];

        if (grid) {
          style.push(_tileEpaper.default.container_full);
        } else if (isPortrait) {
          style.push(_tileEpaper.default.container_portrait);
        } else {
          style.push(_tileEpaper.default.container_landscape);
        }

        return _react.default.createElement(_reactNative.View, {
          style: style
        }, _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1,
            flexDirection: "column",
            justifyContent: grid ? "flex-end" : "center"
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
          classes: ["tile-title", grid ? "grid-tile-title" : "list-tile-title", grid ? "tile-grid-title" : "tile-list-title", grid ? "tile-grid-title-epaper" : "tile-list-title-epaper"]
        }, _react.default.createElement(_fontText.default, {
          type: _fontText.Type.medium,
          style: titleStyle
        }, item.title))));
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props3 = this.props,
            grid = _this$props3.grid,
            item = _this$props3.item;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
          classes: ["tile", "tile-epaper", grid ? "tile-grid-epaper" : "tile-list-epaper"]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).TileParent, {
          index: item.gridIndex,
          bgColorByIndex: !grid,
          enableBorderEffect: grid,
          style: _tileEpaper.default.outline
        }, grid ? this._getImage() : null, grid ? this._getGradient() : null, this._getContent(), grid ? null : this._getImage()));
      }
    }]);
    return TileEpaper;
  }(_react.default.PureComponent);

  exports.TileEpaper = TileEpaper;
  TileEpaper.propTypes = {
    grid: _propTypes.default.bool,
    gridIndex: _propTypes.default.number,
    orientation: _propTypes.default.string,
    item: _propTypes.default.shape({
      title: _propTypes.default.string,
      image: _propTypes.default.string,
      sizes: _propTypes.default.object,
      position: _propTypes.default.number,
      gridIndex: _propTypes.default.number
    })
  };
},2111,[5,7,8,12,14,16,17,28,1238,201,2112,1879,458,462,699,2113,2040]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.HORIZONTAL_MARGIN = exports.TITLE_VERTICAL_MARGIN = exports.CONTAINER_LIST_FLEX = exports.CONTAINER_VERTICAL_PADDING = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var CONTAINER_VERTICAL_PADDING = 8;
  exports.CONTAINER_VERTICAL_PADDING = CONTAINER_VERTICAL_PADDING;
  var CONTAINER_LIST_FLEX = 3;
  exports.CONTAINER_LIST_FLEX = CONTAINER_LIST_FLEX;
  var TITLE_VERTICAL_MARGIN = 12;
  exports.TITLE_VERTICAL_MARGIN = TITLE_VERTICAL_MARGIN;
  var HORIZONTAL_MARGIN = 8;
  exports.HORIZONTAL_MARGIN = HORIZONTAL_MARGIN;

  var _default = _reactNative.StyleSheet.create({
    outline: {
      flexDirection: "row"
    },
    image_full: {
      position: "absolute",
      top: 0,
      start: 0,
      end: 0,
      bottom: 0
    },
    container_portrait: {
      flex: CONTAINER_LIST_FLEX,
      flexDirection: "column",
      justifyContent: "space-between",
      paddingVertical: CONTAINER_VERTICAL_PADDING
    },
    container_landscape: {
      flex: CONTAINER_LIST_FLEX,
      flexDirection: "column",
      justifyContent: "space-between",
      paddingVertical: CONTAINER_VERTICAL_PADDING
    },
    container_full: {
      flex: 1,
      flexDirection: "column",
      justifyContent: "space-between",
      paddingVertical: CONTAINER_VERTICAL_PADDING
    },
    title_full: {
      color: "white",
      marginHorizontal: HORIZONTAL_MARGIN,
      marginVertical: TITLE_VERTICAL_MARGIN,
      textAlign: "left",
      textShadowColor: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      textShadowOffset: {
        width: 1,
        height: 1
      },
      textShadowRadius: 5
    },
    title: {
      marginHorizontal: HORIZONTAL_MARGIN,
      marginVertical: TITLE_VERTICAL_MARGIN,
      textAlign: "left",
      color: _$$_REQUIRE(_dependencyMap[1]).colors.title
    },
    gradient: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.transparent,
      position: "absolute",
      top: 0,
      start: 0,
      end: 0,
      bottom: 0
    }
  });

  exports.default = _default;
},2112,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.TopCropImage = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _imageComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TopCropImage = function (_React$Component) {
    (0, _inherits2.default)(TopCropImage, _React$Component);

    var _super = _createSuper(TopCropImage);

    function TopCropImage(props) {
      var _this;

      (0, _classCallCheck2.default)(this, TopCropImage);
      _this = _super.call(this, props);
      _this.state = {
        fetching: true,
        size: undefined,
        imageSize: undefined,
        imageStyle: undefined
      };
      _this.onLayout = _this._onLayout.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(TopCropImage, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var url, size;
        return _regenerator.default.async(function componentDidMount$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                url = this.props.url;
                _context.prev = 1;
                _context.next = 4;
                return _regenerator.default.awrap((0, _imageComponent.getSizeAsync)(url));

              case 4:
                size = _context.sent;
                this.setState({
                  fetching: false,
                  imageSize: size
                });
                _context.next = 10;
                break;

              case 8:
                _context.prev = 8;
                _context.t0 = _context["catch"](1);

              case 10:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[1, 8]], Promise);
      }
    }, {
      key: "_onLayout",
      value: function _onLayout(_ref) {
        var nativeEvent = _ref.nativeEvent;
        var layout = nativeEvent.layout;

        if (layout.width > 0 && layout.height > 0) {
          var imageSize = this.state.imageSize;

          if (imageSize.width && imageSize.height) {
            var xScale = imageSize.width / layout.width;
            this.setState({
              size: layout,
              imageStyle: {
                width: layout.width,
                height: imageSize.height / xScale
              }
            });
          }
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            style = _this$props.style,
            url = _this$props.url,
            top = _this$props.top,
            getImageTop = _this$props.getImageTop;
        var _this$state = this.state,
            fetching = _this$state.fetching,
            imageStyle = _this$state.imageStyle,
            imageSize = _this$state.imageSize,
            size = _this$state.size;

        if (fetching) {
          return null;
        }

        var topConstraint = 0;

        if (imageStyle) {
          if (typeof getImageTop === "function") {
            topConstraint = getImageTop({
              viewSize: size,
              imageSize: imageSize
            });
          } else if (size.height > imageStyle.height) {
            topConstraint = (size.height - imageStyle.height) / 2;
          } else {
            topConstraint = Math.max(top, size.height - imageStyle.height);
          }
        }

        return _react.default.createElement(_reactNative.View, {
          style: [style, {
            overflow: "hidden"
          }],
          onLayout: this.onLayout
        }, imageStyle ? _react.default.createElement(_imageComponent.default, {
          style: [imageStyle, {
            position: "absolute",
            top: topConstraint
          }],
          source: {
            uri: url
          },
          resizeMode: "contain"
        }) : null);
      }
    }]);
    return TopCropImage;
  }(_react.default.Component);

  exports.TopCropImage = TopCropImage;
  TopCropImage.propTypes = {
    url: _propTypes.default.string,
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array]),
    top: _propTypes.default.number,
    getImageTop: _propTypes.default.func
  };
  TopCropImage.defaultProps = {
    top: 0
  };
},2113,[5,80,7,8,15,12,14,16,17,201,28,588]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    row: {
      flexDirection: "row"
    },
    item: {}
  });

  exports.styles = styles;
},2114,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var RssListComponent = function (_RssGridComponent) {
    (0, _inherits2.default)(RssListComponent, _RssGridComponent);

    var _super = _createSuper(RssListComponent);

    function RssListComponent(props) {
      var _this;

      (0, _classCallCheck2.default)(this, RssListComponent);
      _this = _super.call(this, props);
      _this.isGrid = false;
      return _this;
    }

    (0, _createClass2.default)(RssListComponent, [{
      key: "_getItemColRow",
      value: function _getItemColRow(priority) {
        var col = this._getNumberOfColumns();

        var row = 1.0;
        var priorityComponents = priority.split("x");

        if (priorityComponents.length > 1) {
          var rowPriority = parseFloat(priorityComponents[1]);

          if (rowPriority) {
            row = rowPriority;
          }
        } else if (priorityComponents.length > 0) {
          var _rowPriority = parseFloat(priorityComponents[0]);

          if (_rowPriority) {
            row = _rowPriority;
          }
        }

        return {
          col: col,
          row: row
        };
      }
    }, {
      key: "_formatSizes",
      value: function _formatSizes(item) {
        var isAdvertisement = item.isAdvertisement,
            isHighlightedBox = item.isHighlightedBox,
            image = item.image,
            isLinkToCategory = item.isLinkToCategory;
        var priority = item.priority;

        if (image && isLinkToCategory) {
          priority = {
            1: {
              D: "1x0.5",
              d: "1x0.5"
            }
          };
          item.priority = priority;
          item.setIsHalfBox(1, _$$_REQUIRE(_dependencyMap[8]).PlatformUtils.isTablet() ? "D" : "d");
        }

        var _global$getRssIndex = global.getRssIndex(),
            listHeightMultipliers = _global$getRssIndex.listHeightMultipliers;

        var isTablet = _$$_REQUIRE(_dependencyMap[8]).PlatformUtils.isTablet();

        var index = 1;
        var colRowString = isTablet ? priority[index].D : priority[index].d;

        var dimensions = this._getItemColRow(colRowString);

        var result = {};

        if (isAdvertisement) {
          var _item$getAdConfig = item.getAdConfig(),
              width = _item$getAdConfig.width,
              height = _item$getAdConfig.height,
              provider = _item$getAdConfig.provider;

          if (!global.getAdsConfig().useNativo(provider)) {
            result.minDimensions = {
              width: width,
              height: height
            };
          }
        } else if (isHighlightedBox) {
          var p = item.getPriorityByCols(this._getNumberOfColumns());
          colRowString = isTablet ? p.D : p.d;
          dimensions.row = this._getItemColRow(colRowString).row;
        }

        result.col = dimensions.col;
        result.row = dimensions.row * listHeightMultipliers;
        return result;
      }
    }, {
      key: "_getPadding",
      value: function _getPadding() {
        return (0, _$$_REQUIRE(_dependencyMap[9]).getRssListBoxPadding)();
      }
    }, {
      key: "_getRowStyle",
      value: function _getRowStyle() {
        return {
          flexDirection: "column"
        };
      }
    }, {
      key: "_getListProps",
      value: function _getListProps() {
        return {
          initialNumToRender: 5,
          windowSize: 10
        };
      }
    }]);
    return RssListComponent;
  }(_$$_REQUIRE(_dependencyMap[10]).RssGridComponent);

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[11]).useNavigation)();
    return _react.default.createElement(RssListComponent, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2115,[5,6,7,8,12,14,16,17,462,2039,2079,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.RssCardComponent = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _card = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _cardHalfbox = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _cardNativeAd = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _cardWebAd = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _cardEpaper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _cardDailymotion = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _cardSchedule = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var RssCardComponent = function (_RssGridComponent) {
    (0, _inherits2.default)(RssCardComponent, _RssGridComponent);

    var _super = _createSuper(RssCardComponent);

    function RssCardComponent(props) {
      var _this;

      (0, _classCallCheck2.default)(this, RssCardComponent);
      _this = _super.call(this, props);
      _this.isGrid = false;
      _this.changeContainerStyle = _this._changeContainerStyle.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(RssCardComponent, [{
      key: "_changeContainerStyle",
      value: function _changeContainerStyle(itemID, style) {
        if (this.itemViewRefs[itemID]) {
          this.itemViewRefs[itemID].setNativeProps({
            style: style
          });
        }
      }
    }, {
      key: "_getItemColRow",
      value: function _getItemColRow(priority) {
        var col = this._getNumberOfColumns();

        var row = 1.0;
        var priorityComponents = priority.split("x");

        if (priorityComponents.length > 1) {
          var rowPriority = parseFloat(priorityComponents[1]);

          if (rowPriority) {
            row = rowPriority;
          }
        } else if (priorityComponents.length > 0) {
          var _rowPriority = parseFloat(priorityComponents[0]);

          if (_rowPriority) {
            row = _rowPriority;
          }
        }

        return {
          col: col,
          row: row
        };
      }
    }, {
      key: "_useAsymmetricList",
      value: function _useAsymmetricList() {
        var _global$getActivePSet = global.getActivePSetup(),
            useAsymmetricCardList = _global$getActivePSet.useAsymmetricCardList;

        return useAsymmetricCardList;
      }
    }, {
      key: "_getColsData",
      value: function _getColsData(data) {
        if (this._useAsymmetricList()) {
          return data;
        }

        return undefined;
      }
    }, {
      key: "_getRowsData",
      value: function _getRowsData(data) {
        return data;
      }
    }, {
      key: "_getNumberOfColumns",
      value: function _getNumberOfColumns() {
        if (this._useAsymmetricList()) {
          if (_$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isTabletTenInches()) {
            return _$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isPortrait(_deviceUtils.default.currentOrientation) ? 2 : 2;
          }

          if (_$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isTablet()) {
            return _$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isPortrait(_deviceUtils.default.currentOrientation) ? 1 : 2;
          }
        }

        return 1;
      }
    }, {
      key: "_getPadding",
      value: function _getPadding() {
        return (0, _$$_REQUIRE(_dependencyMap[19]).getRssCardBoxPadding)();
      }
    }, {
      key: "_getPlaceholderComponent",
      value: function _getPlaceholderComponent() {
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[20]).CardParent, null);
      }
    }, {
      key: "_getListProps",
      value: function _getListProps() {
        return {
          initialNumToRender: 5,
          windowSize: 1,
          numColumns: this._getNumberOfColumns(),
          columnStyle: {
            margin: _$$_REQUIRE(_dependencyMap[19]).CARD_MARGIN_SIZE / 2
          }
        };
      }
    }, {
      key: "_renderRowContent",
      value: function _renderRowContent(item, rowID) {
        return this._renderColContent({
          item: item,
          index: rowID
        });
      }
    }, {
      key: "_renderColContent",
      value: function _renderColContent(_ref) {
        var _this2 = this;

        var item = _ref.item,
            itemID = _ref.index;
        var _this$props = this.props,
            items = _this$props.items,
            settings = _this$props.settings;
        var result = null;

        if (item) {
          if (item.isAdvertisement) {
            var ad = item.getAdConfig();
            var commonProps = {
              item: ad,
              backgroundColor: this._getAdsBackgroundColor(ad)
            };

            if (ad.isNative) {
              result = _react.default.createElement(_cardNativeAd.default, (0, _extends2.default)({}, commonProps, {
                index: itemID,
                itemID: itemID,
                adsConfig: settings.adUnitId,
                changeContainerStyleCallback: this.changeContainerStyle
              }));
            } else {
              result = _react.default.createElement(_cardWebAd.default, (0, _extends2.default)({}, commonProps, {
                baseUrl: this._getWebAdsBaseUrl()
              }));
            }
          } else {
            var CardComponent;

            if (item.isHalfBox) {
              CardComponent = _cardHalfbox.default;
            } else if (item.isEdition) {
              CardComponent = _cardEpaper.default;
            } else if ((0, _$$_REQUIRE(_dependencyMap[21]).itemHasPropertyIsSchedule)(item)) {
              CardComponent = _cardSchedule.default;
            } else if ((0, _$$_REQUIRE(_dependencyMap[21]).itemHasLiveStreamDailymotionVideo)(item)) {
              CardComponent = _cardDailymotion.default;
            } else {
              CardComponent = _card.default;
            }

            result = _react.default.createElement(CardComponent, {
              item: item,
              onPress: function onPress() {
                _this2._onItemClick(items, item);
              }
            });
          }
        }

        var _this$_minimumItemDim = this._minimumItemDimensions(),
            width = _this$_minimumItemDim.width;

        return _react.default.createElement(_reactNative.View, {
          ref: function ref(_ref2) {
            _this2.itemViewRefs[itemID] = _ref2;
          },
          style: {
            width: width
          }
        }, result);
      }
    }]);
    return RssCardComponent;
  }(_$$_REQUIRE(_dependencyMap[22]).RssGridComponent);

  exports.RssCardComponent = RssCardComponent;

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[23]).useNavigation)();
    return _react.default.createElement(RssCardComponent, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2116,[5,6,7,8,15,12,14,16,17,28,2117,2121,2123,2125,2126,458,2128,2130,462,2039,2118,1975,2079,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNativeLinearGradient = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  var _card = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[12]));

  var _baseTileImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _RssActionManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _iconGallery = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _blurImageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _tileHeader = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Card = function (_React$PureComponent) {
    (0, _inherits2.default)(Card, _React$PureComponent);

    var _super = _createSuper(Card);

    function Card(props) {
      var _this;

      (0, _classCallCheck2.default)(this, Card);
      _this = _super.call(this, props);
      _this.fontSize = _$$_REQUIRE(_dependencyMap[18]).FONT_SIZE.TEXT();
      _this.fontSizeTitle = _$$_REQUIRE(_dependencyMap[18]).FONT_SIZE.TITLE();
      return _this;
    }

    (0, _createClass2.default)(Card, [{
      key: "_getCategoryAndDate",
      value: function _getCategoryAndDate() {
        var item = this.props.item;

        var parentContainer = _$$_REQUIRE(_dependencyMap[19]).Css.getStyleObjByCssClasses(["tile-header", "tile-card-header"]);

        var textContainer = _$$_REQUIRE(_dependencyMap[19]).Css.getStyleObjByCssClasses(["tile-header-text", "tile-card-header-text"]);

        return _react.default.createElement(_tileHeader.default, {
          parentStyle: [{
            backgroundColor: _$$_REQUIRE(_dependencyMap[20]).colors.transparent,
            paddingTop: 5,
            paddingBottom: 5
          }, parentContainer],
          textStyle: [{
            fontSize: this.fontSize,
            color: _$$_REQUIRE(_dependencyMap[20]).colors.summary
          }, _baseTileImage.default.details, textContainer],
          isTablet: _$$_REQUIRE(_dependencyMap[20]).PlatformUtils.isTablet(),
          iconType: "others",
          availableSpace: 4,
          item: item
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            item = _this$props.item,
            onPress = _this$props.onPress;
        var itemAction = item.action;

        var _global$getRssIndex = global.getRssIndex(),
            gridTitleMaxLines = _global$getRssIndex.gridTitleMaxLines;

        var others = {};

        if (gridTitleMaxLines >= 0) {
          others.numberOfLines = gridTitleMaxLines;
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).Css, {
          classes: ["tile", "tile-card"]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[21]).CardParent, {
          onPress: onPress
        }, _react.default.createElement(_reactNative.View, {
          style: {
            flexDirection: "column"
          }
        }, item.image && !itemAction.hasPropertyHideImageInCardMode() ? _react.default.createElement(_reactNative.View, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).Css, {
          classes: ["tile-card-image-blur"]
        }, _react.default.createElement(_blurImageComponent.default, {
          image: item.image,
          style: _card.default.image,
          height: _card.IMAGE_HEIGHT
        })), itemAction.hasPropertyTitleOnImageInCardMode() ? _react.default.createElement(_reactNativeLinearGradient.default, {
          style: _card.default.gradient,
          colors: [_$$_REQUIRE(_dependencyMap[20]).colors.transparent, _$$_REQUIRE(_dependencyMap[20]).colors.transparent, _$$_REQUIRE(_dependencyMap[20]).colors.transparent200]
        }) : null, itemAction.hasPropertyTitleOnImageInCardMode() ? _react.default.createElement(_reactNative.View, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).Css, {
          classes: ["tile-title", "card-title", "tile-card-title"]
        }, _react.default.createElement(_fontText.default, (0, _extends2.default)({
          style: [_card.default.titleOverImage, {
            fontSize: this.fontSizeTitle
          }],
          type: _fontText.Type.medium
        }, others), item.title))) : null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).Css, {
          classes: ["tile-card-icons-parent"]
        }, _react.default.createElement(_reactNative.View, {
          style: {
            position: "absolute",
            top: 5,
            end: 0
          }
        }, _react.default.createElement(_iconGallery.default, {
          item: item,
          inline: true
        })))) : null, !itemAction.hasPropertyTitleOnImageInCardMode() && item.title ? _react.default.createElement(_reactNative.View, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).Css, {
          classes: ["tile-title", "card-title", "tile-card-title"]
        }, _react.default.createElement(_fontText.default, {
          style: [_card.default.title, {
            fontSize: this.fontSizeTitle
          }],
          type: _fontText.Type.medium
        }, item.title))) : null, !itemAction.hasPropertyHideSummaryInCardMode() && item.summary ? _react.default.createElement(_reactNative.View, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).Css, {
          classes: ["tile-summary", "card-summary", "tile-card-summary"]
        }, _react.default.createElement(_fontText.default, {
          style: [_card.default.summary, {
            fontSize: this.fontSize
          }]
        }, item.summary))) : null, this._getCategoryAndDate())));
      }
    }]);
    return Card;
  }(_react.default.PureComponent);

  Card.propTypes = {
    onPress: _propTypes.default.func,
    item: _propTypes.default.shape({
      title: _propTypes.default.string,
      image: _propTypes.default.string,
      thumbnail: _propTypes.default.string,
      action: _propTypes.default.instanceOf(_RssActionManager.default),
      summary: _propTypes.default.string
    })
  };

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[22]).useNavigation)();
    return _react.default.createElement(Card, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2117,[5,6,7,8,12,14,16,17,28,201,1238,1879,2049,2033,1964,2028,2050,2092,2039,699,462,2118,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2118,[2119]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.CardParent = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _cardParent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _rssBaseStyle = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var CardParent = function CardParent(props) {
    var children = props.children,
        onLayout = props.onLayout,
        onPress = props.onPress,
        style = props.style,
        borderStyle = props.borderStyle;

    var onLayoutCallback = _react.default.useCallback(function (event) {
      if (typeof onLayout === "function") {
        onLayout(event);
      }
    }, []);

    return _react.default.createElement(_reactNative.View, {
      style: [(0, _extends2.default)({
        flex: 1,
        justifyContent: "center",
        borderRadius: _rssBaseStyle.CARD_RADIUS
      }, borderStyle), _$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isIOS() ? _rssBaseStyle.default.shadow : {}]
    }, _react.default.createElement(_reactNative.View, {
      style: [_$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isAndroid() ? _rssBaseStyle.default.shadow : {}, _cardParent.default.container, {
        backgroundColor: _$$_REQUIRE(_dependencyMap[8]).Css.getDefaultBackgroundColor()
      }, style, borderStyle],
      onLayout: onLayoutCallback
    }, typeof onPress === "function" ? _react.default.createElement(_reactNative.TouchableWithoutFeedback, {
      onPress: onPress
    }, children) : children));
  };

  exports.CardParent = CardParent;
  CardParent.propTypes = {
    children: _propTypes.default.any,
    onLayout: _propTypes.default.func,
    onPress: _propTypes.default.func,
    style: _propTypes.default.any,
    borderStyle: _propTypes.default.any
  };
},2119,[5,6,17,28,201,2120,2039,462,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    container: {
      flex: 1,
      overflow: "hidden",
      flexDirection: "column",
      marginHorizontal: _$$_REQUIRE(_dependencyMap[1]).CARD_MARGIN_SIZE / 2,
      marginVertical: _$$_REQUIRE(_dependencyMap[1]).CARD_MARGIN_SIZE / 2,
      borderRadius: _$$_REQUIRE(_dependencyMap[1]).CARD_RADIUS
    }
  });

  exports.default = _default;
},2120,[28,2039]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var CardHalfbox = function (_React$PureComponent) {
    (0, _inherits2.default)(CardHalfbox, _React$PureComponent);

    var _super = _createSuper(CardHalfbox);

    function CardHalfbox(props) {
      var _this;

      (0, _classCallCheck2.default)(this, CardHalfbox);
      _this = _super.call(this, props);
      _this.fontSizeTitle = _$$_REQUIRE(_dependencyMap[12]).PlatformUtils.isTablet() ? 30 : 24;
      _this.hasImage = !!props.item.image;
      return _this;
    }

    (0, _createClass2.default)(CardHalfbox, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            item = _this$props.item,
            onPress = _this$props.onPress;

        var cssKey = _$$_REQUIRE(_dependencyMap[12]).StringUtils.getKeyFromText(item.title);

        var color = _$$_REQUIRE(_dependencyMap[13]).Css.isDarkTheme() ? _$$_REQUIRE(_dependencyMap[13]).Css.getDefaultForegroundColor() : _$$_REQUIRE(_dependencyMap[12]).colors.title;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["tile", "tile-halfbox", "tile-card-halfbox"],
          cssKey: cssKey
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).CardParent, {
          onPress: onPress
        }, _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[15]).styles.outline
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["tile-text", "tile-halfbox-text", "tile-card-halfbox-text"],
          cssKey: cssKey
        }, _react.default.createElement(_fontText.default, {
          type: _fontText.Type.medium,
          style: [_$$_REQUIRE(_dependencyMap[15]).styles.title, {
            flex: 2,
            fontSize: this.fontSizeTitle,
            color: color
          }]
        }, (0, _$$_REQUIRE(_dependencyMap[16]).getCategoryLabel)(item.title))), this.hasImage ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["tile-image", "tile-halfbox-image", "tile-card-halfbox-image"],
          cssKey: cssKey
        }, _react.default.createElement(_imageComponent.default, {
          style: [_$$_REQUIRE(_dependencyMap[15]).styles.image, {
            alignSelf: "flex-end"
          }],
          resizeMode: "contain",
          source: {
            uri: item.image
          }
        })) : null)));
      }
    }]);
    return CardHalfbox;
  }(_react.default.PureComponent);

  CardHalfbox.propTypes = {
    onPress: _propTypes.default.func,
    item: _propTypes.default.shape({
      title: _propTypes.default.string,
      image: _propTypes.default.string,
      thumbnail: _propTypes.default.string
    })
  };

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[17]).useNavigation)();
    return _react.default.createElement(CardHalfbox, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2121,[5,6,7,8,12,14,16,17,201,28,1879,588,462,699,2118,2122,2051,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = exports.TITLE_VERTICAL_MARGIN = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var TITLE_VERTICAL_MARGIN = 12;
  exports.TITLE_VERTICAL_MARGIN = TITLE_VERTICAL_MARGIN;

  var styles = _reactNative.StyleSheet.create({
    outline: {
      marginStart: 10,
      flexDirection: "row",
      justifyContent: "space-between",
      alignItems: "center"
    },
    title: {
      marginVertical: TITLE_VERTICAL_MARGIN,
      textAlign: "left",
      color: _$$_REQUIRE(_dependencyMap[1]).colors.title
    },
    image: {
      flex: 1,
      height: 100,
      marginVertical: 0
    }
  });

  exports.styles = styles;
},2122,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _AdsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _cardNativeAd = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var CardNativeAd = function (_React$PureComponent) {
    (0, _inherits2.default)(CardNativeAd, _React$PureComponent);

    var _super = _createSuper(CardNativeAd);

    function CardNativeAd(props) {
      var _this;

      (0, _classCallCheck2.default)(this, CardNativeAd);
      _this = _super.call(this, props);
      _this.fontSizeTitle = _$$_REQUIRE(_dependencyMap[13]).PlatformUtils.isTablet() ? 30 : 24;
      _this.onAdFailed = _this._onAdFailed.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        hide: false
      };
      return _this;
    }

    (0, _createClass2.default)(CardNativeAd, [{
      key: "_onAdFailed",
      value: function _onAdFailed(model, error) {
        var skipHide = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
        var _this$props = this.props,
            itemID = _this$props.itemID,
            changeContainerStyleCallback = _this$props.changeContainerStyleCallback;

        if (changeContainerStyleCallback) {
          changeContainerStyleCallback(itemID, {
            height: 0
          });
        }

        if (!skipHide) {
          this.setState({
            hide: true
          });
        }
      }
    }, {
      key: "render",
      value: function render() {
        var hide = this.state.hide;

        if (hide) {
          return null;
        }

        var _this$props2 = this.props,
            item = _this$props2.item,
            index = _this$props2.index,
            backgroundColor = _this$props2.backgroundColor;
        var id = item.id,
            width = item.width,
            height = item.height,
            provider = item.provider,
            targeting = item.targeting;
        var model = {
          unitId: id,
          card: true,
          screen: "grid",
          position: "inside",
          width: width,
          height: height,
          targeting: targeting,
          index: index,
          provider: provider,
          onAdFailed: this.onAdFailed
        };
        var isNativo = global.getAdsConfig().useNativo(provider);

        var AdView = _AdsHelper.default.getNativeAdComponent(model);

        if (isNativo) {
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).CardParent, {
            style: _cardNativeAd.default.adNativo
          }, AdView);
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).CardParent, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).Css, {
          classes: ["card-ad", "card-native-ad"]
        }, _react.default.createElement(_reactNative.View, {
          style: [_cardNativeAd.default.adParent, {
            backgroundColor: backgroundColor
          }]
        }, AdView)));
      }
    }]);
    return CardNativeAd;
  }(_react.default.PureComponent);

  CardNativeAd.propTypes = {
    item: _propTypes.default.shape({
      id: _propTypes.default.string,
      provider: _propTypes.default.string,
      width: _propTypes.default.number,
      height: _propTypes.default.number,
      targeting: _propTypes.default.object
    }),
    index: _propTypes.default.number,
    backgroundColor: _propTypes.default.string,
    itemID: _propTypes.default.number,
    changeContainerStyleCallback: _propTypes.default.func
  };

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[16]).useNavigation)();
    return _react.default.createElement(CardNativeAd, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2123,[5,6,7,8,15,12,14,16,17,201,28,2087,2124,462,2118,699,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    outline: {
      flexDirection: "row"
    },
    adParent: {
      flex: 1,
      justifyContent: "center",
      alignItems: "center"
    },
    adNativo: {
      height: _$$_REQUIRE(_dependencyMap[1]).NATIVO_CARD_HEIGHT
    }
  });

  exports.default = _default;
},2124,[28,2048]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _webUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _cmpUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _tecnaviaPlatformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var CardWebAd = function (_React$PureComponent) {
    (0, _inherits2.default)(CardWebAd, _React$PureComponent);

    var _super = _createSuper(CardWebAd);

    function CardWebAd(props) {
      var _this;

      (0, _classCallCheck2.default)(this, CardWebAd);
      _this = _super.call(this, props);
      _this.adLoaded = false;
      _this.onLoadEnd = _this._onLoadEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLayout = _this._onLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        boxWidth: 0,
        boxHeight: 0
      };
      return _this;
    }

    (0, _createClass2.default)(CardWebAd, [{
      key: "_onLoadEnd",
      value: function _onLoadEnd() {
        this.adLoaded = true;
      }
    }, {
      key: "_applyScale",
      value: function _applyScale(width, height) {
        var _this$state = this.state,
            boxWidth = _this$state.boxWidth,
            boxHeight = _this$state.boxHeight;

        var scale = _webUtils.default.getZoom(width, height, boxWidth, boxHeight);

        return _webUtils.default.getJSToZoomContent((boxWidth - width) / 2, (boxHeight - height) / 2, scale);
      }
    }, {
      key: "_injectJs",
      value: function _injectJs(js) {
        if (this.webview) {
          this.webview.injectJavaScript("(function(){ try{ " + js + " } catch(e) { console.log(e); } })();");
        }
      }
    }, {
      key: "_onLayout",
      value: function _onLayout(_ref) {
        var nativeEvent = _ref.nativeEvent;
        var _nativeEvent$layout = nativeEvent.layout,
            width = _nativeEvent$layout.width,
            height = _nativeEvent$layout.height;
        var _this$state2 = this.state,
            boxWidth = _this$state2.boxWidth,
            boxHeight = _this$state2.boxHeight;

        if (width !== boxWidth || height !== boxHeight) {
          this.setState({
            boxWidth: width,
            boxHeight: height
          });
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props = this.props,
            item = _this$props.item,
            backgroundColor = _this$props.backgroundColor,
            baseUrl = _this$props.baseUrl;
        var _this$state3 = this.state,
            boxWidth = _this$state3.boxWidth,
            boxHeight = _this$state3.boxHeight;
        var component;

        if (boxWidth > 0 && boxHeight > 0) {
          var html = _webUtils.default.replacePlaceHolder(_webUtils.default.setupHtmlForWebView(item.id), item.width, item.height);

          var scale = _webUtils.default.getZoom(item.width, item.height, boxWidth, boxHeight);

          var customStyle = _$$_REQUIRE(_dependencyMap[14]).Css.getStyleObjByCssClasses(["card-ad", "card-web-ad"]);

          html = _webUtils.default.addViewportScaleStyles(html, (boxWidth - item.width) / 2, (boxHeight - item.height) / 2, scale, customStyle.backgroundColor || backgroundColor);
          html = _cmpUtils.default.addCMPScript(html);
          component = _react.default.createElement(_reactNative.View, {
            style: {
              height: item.height
            }
          }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).BaseWebView, {
            innerRef: function innerRef(webview) {
              _this2.webview = webview;
            },
            style: {
              backgroundColor: _$$_REQUIRE(_dependencyMap[16]).colors.transparent
            },
            parentStyle: {
              height: item.height,
              flex: 1
            },
            source: {
              html: html,
              baseUrl: baseUrl || global.getAppServer()
            },
            scrollEnabled: false,
            dataDetectorTypes: "all",
            onLoadEnd: this.onLoadEnd,
            startInLoadingState: _$$_REQUIRE(_dependencyMap[15]).BaseWebView.LoadingStatePosition.none,
            onLinkClicked: function onLinkClicked(url) {
              _tecnaviaPlatformUtils.default.openURL(url);

              return true;
            }
          }));
        } else {
          component = _react.default.createElement(_reactNative.View, {
            style: {
              height: item.height,
              flex: 1
            }
          });
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).CardParent, {
          onLayout: this.onLayout
        }, component);
      }
    }]);
    return CardWebAd;
  }(_react.default.PureComponent);

  CardWebAd.propTypes = {
    backgroundColor: _propTypes.default.string,
    item: _propTypes.default.shape({
      title: _propTypes.default.string,
      image: _propTypes.default.string,
      thumbnail: _propTypes.default.string,
      width: _propTypes.default.number,
      height: _propTypes.default.number,
      id: _propTypes.default.string
    }),
    baseUrl: _propTypes.default.string
  };

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[18]).useNavigation)();
    return _react.default.createElement(CardWebAd, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2125,[5,6,7,8,15,12,14,16,17,201,28,719,1875,1876,699,1894,462,2118,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNativeLinearGradient = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  var _cardEpaper = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[12]));

  var _RssActionManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _blurImageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var CardEpaper = function (_React$PureComponent) {
    (0, _inherits2.default)(CardEpaper, _React$PureComponent);

    var _super = _createSuper(CardEpaper);

    function CardEpaper(props) {
      var _this;

      (0, _classCallCheck2.default)(this, CardEpaper);
      _this = _super.call(this, props);
      _this.fontSize = _$$_REQUIRE(_dependencyMap[15]).FONT_SIZE.TEXT();
      _this.fontSizeTitle = _$$_REQUIRE(_dependencyMap[15]).FONT_SIZE.TITLE();
      return _this;
    }

    (0, _createClass2.default)(CardEpaper, [{
      key: "_getImage",
      value: function _getImage(_ref) {
        var image = _ref.image;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).Css, {
          classes: ["title-image", "tile-card-image", "tile-card-image-epaper"]
        }, _react.default.createElement(_blurImageComponent.default, {
          image: image,
          style: _cardEpaper.default.image,
          height: _cardEpaper.IMAGE_HEIGHT
        }));
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            item = _this$props.item,
            onPress = _this$props.onPress;
        var itemAction = item.action;

        var _global$getRssIndex = global.getRssIndex(),
            gridTitleMaxLines = _global$getRssIndex.gridTitleMaxLines;

        var others = {};

        if (gridTitleMaxLines >= 0) {
          others.numberOfLines = gridTitleMaxLines;
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).Css, {
          classes: ["tile-epaper", "tile-card-epaper"]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).CardParent, {
          onPress: onPress
        }, _react.default.createElement(_reactNative.View, {
          style: {
            flexDirection: "column"
          }
        }, item.image && !itemAction.hasPropertyHideImageInCardMode() ? _react.default.createElement(_reactNative.View, null, this._getImage(item), itemAction.hasPropertyTitleOnImageInCardMode() ? _react.default.createElement(_reactNativeLinearGradient.default, {
          style: _cardEpaper.default.gradient,
          colors: [_$$_REQUIRE(_dependencyMap[18]).colors.transparent, _$$_REQUIRE(_dependencyMap[18]).colors.transparent, _$$_REQUIRE(_dependencyMap[18]).colors.transparent200]
        }) : null, itemAction.hasPropertyTitleOnImageInCardMode() ? _react.default.createElement(_reactNative.View, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).Css, {
          classes: ["card-title", "tile-card-title", "tile-card-title-epaper"]
        }, _react.default.createElement(_fontText.default, (0, _extends2.default)({
          style: [_cardEpaper.default.titleOverImage, {
            fontSize: this.fontSizeTitle
          }],
          type: _fontText.Type.medium
        }, others), item.title))) : null) : null, !itemAction.hasPropertyTitleOnImageInCardMode() ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).Css, {
          classes: ["card-title", "tile-card-title", "tile-card-title-epaper"]
        }, _react.default.createElement(_fontText.default, {
          style: [_cardEpaper.default.title, {
            fontSize: this.fontSizeTitle
          }],
          type: _fontText.Type.medium
        }, item.title)) : null)));
      }
    }]);
    return CardEpaper;
  }(_react.default.PureComponent);

  CardEpaper.propTypes = {
    onPress: _propTypes.default.func,
    item: _propTypes.default.shape({
      title: _propTypes.default.string,
      image: _propTypes.default.string,
      thumbnail: _propTypes.default.string,
      action: _propTypes.default.instanceOf(_RssActionManager.default),
      summary: _propTypes.default.string
    })
  };

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[19]).useNavigation)();
    return _react.default.createElement(CardEpaper, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2126,[5,6,7,8,12,14,16,17,28,201,1238,1879,2127,1964,2050,2039,699,2118,462,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.IMAGE_HEIGHT = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var IMAGE_HEIGHT = 300;
  exports.IMAGE_HEIGHT = IMAGE_HEIGHT;

  var _default = _reactNative.StyleSheet.create({
    outline: {
      flexDirection: "column"
    },
    image: {
      height: IMAGE_HEIGHT,
      width: null,
      flex: 1
    },
    gradient: {
      height: IMAGE_HEIGHT,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.transparent,
      position: "absolute",
      top: 0,
      start: 0,
      end: 0,
      bottom: 0
    },
    title: {
      start: 0,
      margin: _$$_REQUIRE(_dependencyMap[2]).HORIZONTAL_MARGIN,
      color: _$$_REQUIRE(_dependencyMap[1]).colors.title
    },
    titleOverImage: {
      margin: _$$_REQUIRE(_dependencyMap[2]).HORIZONTAL_MARGIN,
      color: _$$_REQUIRE(_dependencyMap[1]).colors.white,
      position: "absolute",
      bottom: 0,
      start: 0,
      end: 0,
      textShadowColor: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      textShadowOffset: {
        width: 1,
        height: 1
      },
      textShadowRadius: 5
    },
    summary: {
      start: 0,
      fontSize: 20,
      margin: _$$_REQUIRE(_dependencyMap[2]).SUMMARY_VERTICAL_MARGIN,
      color: _$$_REQUIRE(_dependencyMap[1]).colors.summary
    },
    icon: {
      height: 30,
      width: 30,
      marginStart: 5,
      marginEnd: 5
    }
  });

  exports.default = _default;
},2127,[28,462,2033]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[12]));

  var _card = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[13]));

  var _baseTileImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _RssActionManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _tileHeader = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _dailymotionVideoPlayerComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var CardDailymotion = function (_React$Component) {
    (0, _inherits2.default)(CardDailymotion, _React$Component);

    var _super = _createSuper(CardDailymotion);

    function CardDailymotion(props) {
      var _this;

      (0, _classCallCheck2.default)(this, CardDailymotion);
      _this = _super.call(this, props);
      _this.fontSize = _$$_REQUIRE(_dependencyMap[18]).FONT_SIZE.TEXT();
      _this.fontSizeTitle = _$$_REQUIRE(_dependencyMap[18]).FONT_SIZE.TITLE();
      _this.mounted = false;
      return _this;
    }

    (0, _createClass2.default)(CardDailymotion, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this.mounted = true;
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this.mounted = false;
      }
    }, {
      key: "_getCategoryAndDate",
      value: function _getCategoryAndDate() {
        var item = this.props.item;

        var parentContainer = _$$_REQUIRE(_dependencyMap[19]).Css.getStyleObjByCssClasses(["tile-card-header"], {
          cssKey: "dailymotion"
        });

        var textContainer = _$$_REQUIRE(_dependencyMap[19]).Css.getStyleObjByCssClasses(["tile-card-header-text"], {
          cssKey: "dailymotion"
        });

        return _react.default.createElement(_tileHeader.default, {
          parentStyle: [{
            backgroundColor: _$$_REQUIRE(_dependencyMap[20]).colors.transparent,
            paddingTop: 5,
            paddingBottom: 5
          }, parentContainer],
          textStyle: [{
            fontSize: this.fontSize,
            color: _$$_REQUIRE(_dependencyMap[20]).colors.summary
          }, _baseTileImage.default.details, textContainer],
          isTablet: _$$_REQUIRE(_dependencyMap[20]).PlatformUtils.isTablet(),
          iconType: "others",
          availableSpace: 4,
          item: item
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props = this.props,
            item = _this$props.item,
            style = _this$props.style,
            rest = (0, _objectWithoutProperties2.default)(_this$props, ["item", "style"]);
        var itemAction = item.action;
        var commonProps = (0, _extends2.default)({
          onRef: function onRef(ref) {
            _$$_REQUIRE(_dependencyMap[21]).EventRegister.on(_events.default.ON_RSS_BASE_SCREEN_BLUR, function () {
              if (ref && _this2.mounted) {
                ref.pause();
              }
            });
          },
          video: item.gallery[0]
        }, rest);

        if (item.isHighlightedBox) {
          return _react.default.createElement(_dailymotionVideoPlayerComponent.default, (0, _extends2.default)({}, commonProps, {
            style: style
          }));
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).Css, {
          classes: ["tile", "tile-card"],
          cssKey: "dailymotion"
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[22]).CardParent, null, _react.default.createElement(_reactNative.View, {
          style: {
            flexDirection: "column"
          }
        }, _react.default.createElement(_dailymotionVideoPlayerComponent.default, (0, _extends2.default)({}, commonProps, {
          style: [{
            width: "100%",
            height: _card.IMAGE_HEIGHT
          }, style]
        })), _react.default.createElement(_reactNative.View, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).Css, {
          classes: ["tile-title", "card-title", "tile-card-title"],
          cssKey: "dailymotion"
        }, _react.default.createElement(_fontText.default, {
          style: [_card.default.title, {
            fontSize: this.fontSizeTitle
          }],
          type: _fontText.Type.medium
        }, item.title))), !itemAction.hasPropertyHideSummaryInCardMode() ? _react.default.createElement(_reactNative.View, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).Css, {
          classes: ["tile-summary", "card-summary", "tile-card-summary"],
          cssKey: "dailymotion"
        }, _react.default.createElement(_fontText.default, {
          style: [_card.default.summary, {
            fontSize: this.fontSize
          }]
        }, item.summary))) : null, this._getCategoryAndDate())));
      }
    }]);
    return CardDailymotion;
  }(_react.default.Component);

  CardDailymotion.propTypes = {
    onPress: _propTypes.default.func,
    item: _propTypes.default.shape({
      title: _propTypes.default.string,
      image: _propTypes.default.string,
      thumbnail: _propTypes.default.string,
      action: _propTypes.default.instanceOf(_RssActionManager.default),
      summary: _propTypes.default.string,
      gallery: _propTypes.default.array,
      isHighlightedBox: _propTypes.default.bool
    }),
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array])
  };

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[23]).useNavigation)();
    return _react.default.createElement(CardDailymotion, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2128,[5,6,108,7,8,12,14,16,17,28,201,460,1879,2049,2033,1964,2092,2129,2039,699,462,572,2118,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _OptionalPackages$get = _optionalPackageUtils.default.getDailymotionVideoPlayer(),
      DailymotionVideoPlayer = _OptionalPackages$get.Player;

  function DailymotionVideoPlayerComponent(props) {
    if (DailymotionVideoPlayer) {
      var video = props.video,
          _props$autoplay = props.autoplay,
          autoplay = _props$autoplay === undefined ? false : _props$autoplay,
          onRef = props.onRef,
          rest = (0, _objectWithoutProperties2.default)(props, ["video", "autoplay", "onRef"]);
      var action = video.action,
          url = video.url;
      var playerData = {
        autoplay: autoplay
      };

      if (action && action === "dailymotionPlaylist") {
        playerData.playlist = url;
      } else {
        playerData.video = url;
      }

      return _react.default.createElement(DailymotionVideoPlayer, (0, _extends2.default)({
        ref: function ref(_ref) {
          if (typeof onRef === "function") {
            onRef(_ref);
          }
        },
        playerData: playerData
      }, rest));
    }

    return null;
  }

  DailymotionVideoPlayerComponent.propTypes = {
    video: _propTypes.default.object.isRequired,
    style: _propTypes.default.object,
    autoplay: _propTypes.default.bool,
    onRef: _propTypes.default.func
  };
  var _default = DailymotionVideoPlayerComponent;
  exports.default = _default;
},2129,[5,6,108,17,201,731]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _doubleTextAutoMeasured = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var CardSchedule = function (_React$PureComponent) {
    (0, _inherits2.default)(CardSchedule, _React$PureComponent);

    var _super = _createSuper(CardSchedule);

    function CardSchedule() {
      (0, _classCallCheck2.default)(this, CardSchedule);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(CardSchedule, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            item = _this$props.item,
            onPress = _this$props.onPress;

        var cssKey = _$$_REQUIRE(_dependencyMap[12]).StringUtils.getKeyFromText(item.title);

        var color = _$$_REQUIRE(_dependencyMap[13]).Css.isDarkTheme() ? _$$_REQUIRE(_dependencyMap[13]).Css.getDefaultForegroundColor() : _$$_REQUIRE(_dependencyMap[12]).colors.title;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["tile", "tile-schedule", "tile-card-schedule"],
          cssKey: cssKey
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).CardParent, {
          onPress: onPress
        }, _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[15]).styles.outline
        }, _react.default.createElement(_doubleTextAutoMeasured.default, {
          top: {
            type: _$$_REQUIRE(_dependencyMap[16]).Type.medium,
            text: (0, _$$_REQUIRE(_dependencyMap[17]).getCategoryLabel)(item.title),
            style: [_$$_REQUIRE(_dependencyMap[15]).styles.title, {
              color: color
            }],
            parentStyle: _$$_REQUIRE(_dependencyMap[15]).styles.titleContainer,
            classes: ["tile-text", "tile-title", "tile-schedule-text", "tile-card-schedule-text"]
          },
          bottom: {
            text: item.summary,
            style: [_$$_REQUIRE(_dependencyMap[15]).styles.summary, {
              color: color
            }],
            parentStyle: _$$_REQUIRE(_dependencyMap[15]).styles.summaryContainer,
            classes: ["tile-text", "tile-summary", "tile-schedule-summary", "tile-card-schedule-summary"]
          },
          containerStyle: _$$_REQUIRE(_dependencyMap[15]).styles.text
        }), item.image ? _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[15]).styles.imageContainer
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["tile-image", "tile-schedule-image", "tile-card-schedule-image"],
          cssKey: cssKey
        }, _react.default.createElement(_imageComponent.default, {
          style: _$$_REQUIRE(_dependencyMap[15]).styles.image,
          resizeMode: "center",
          source: {
            uri: item.image
          }
        }))) : null)));
      }
    }]);
    return CardSchedule;
  }(_react.default.PureComponent);

  CardSchedule.propTypes = {
    onPress: _propTypes.default.func,
    item: _propTypes.default.shape({
      title: _propTypes.default.string,
      image: _propTypes.default.string,
      thumbnail: _propTypes.default.string,
      summary: _propTypes.default.string
    })
  };

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[18]).useNavigation)();
    return _react.default.createElement(CardSchedule, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2130,[5,6,7,8,12,14,16,17,201,28,588,2036,462,699,2118,2131,1879,2051,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    outline: {
      marginStart: 10,
      paddingVertical: 10,
      height: 110,
      flexDirection: "row",
      justifyContent: "space-between",
      alignItems: "center"
    },
    text: {
      flex: 4,
      height: "100%",
      flexDirection: "column",
      justifyContent: "space-between"
    },
    titleContainer: {
      justifyContent: "center"
    },
    summaryContainer: {},
    title: {
      fontSize: 20
    },
    summary: {
      fontSize: 12
    },
    imageContainer: {
      width: 150,
      alignSelf: "flex-end",
      marginHorizontal: 10,
      overflow: "hidden",
      borderRadius: _$$_REQUIRE(_dependencyMap[1]).CARD_RADIUS
    },
    image: {
      height: "100%"
    }
  });

  exports.styles = styles;
},2131,[28,2039]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var PushTags = function () {
    function PushTags() {
      (0, _classCallCheck2.default)(this, PushTags);
    }

    (0, _createClass2.default)(PushTags, null, [{
      key: "mergeTags",
      value: function mergeTags(userTags, defaultTags, userDatasetTags) {
        var aUserTags = PushTags.parseTags(userTags);

        if (defaultTags !== userDatasetTags) {
          (function () {
            var aUserDatasetTags = PushTags.parseTags(userDatasetTags);
            var aDefaultTags = PushTags.parseTags(defaultTags);
            var i = 0;

            while (i < aUserTags.length) {
              var tag = aDefaultTags.find(function (item) {
                return item.label === aUserTags[i].label;
              });

              if (!tag) {
                aUserTags.splice(i, 1);
              } else {
                aUserTags[i].value = tag.value;
                i += 1;
              }
            }

            for (i = 0; i < aDefaultTags.length; i++) {
              var _tag = aUserDatasetTags.find(function (item) {
                return item.label === aDefaultTags[i].label;
              });

              if (!_tag) {
                aUserTags.push(aDefaultTags[i]);
              }
            }
          })();
        }

        return PushTags.formatTags(aUserTags);
      }
    }, {
      key: "formatTags",
      value: function formatTags() {
        var tags = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        return tags.map(function (_ref) {
          var label = _ref.label,
              value = _ref.value;
          return value + "=" + label;
        }).join("&");
      }
    }, {
      key: "parseTags",
      value: function parseTags() {
        var tags = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
        return tags.split("&").map(function (tag) {
          var splitted = tag.split("=");

          if (splitted.length === 2) {
            return {
              value: splitted[0],
              label: splitted[1]
            };
          }

          return undefined;
        }).filter(function (item) {
          return item !== undefined;
        });
      }
    }]);
    return PushTags;
  }();

  exports.default = PushTags;
},2132,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _PushHelper = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  (0, _$$_REQUIRE(_dependencyMap[3]).enableScreens)(true);

  _reactNative.LogBox.ignoreAllLogs();

  var APP_NAME = "Newsmemory";

  _reactNative.AppRegistry.registerComponent(APP_NAME, function () {
    return _$$_REQUIRE(_dependencyMap[4]).RootComponent;
  });

  _reactNative.AppRegistry.registerHeadlessTask("TaHeadlessTask", function () {
    return _PushHelper.default.onBackgroundMessage;
  });
},2133,[28,5,2134,1200,2142]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _OneSignalPush = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _BasePush = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var PushHelper = function () {
    function PushHelper() {
      (0, _classCallCheck2.default)(this, PushHelper);
    }

    (0, _createClass2.default)(PushHelper, null, [{
      key: "onBackgroundMessage",
      value: function onBackgroundMessage(message) {
        return _regenerator.default.async(function onBackgroundMessage$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.prev = 0;

                if (global.initialized) {
                  _context.next = 7;
                  break;
                }

                _context.t0 = global;
                _context.next = 5;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[6]).OurBridge.initializeGlobals());

              case 5:
                _context.t1 = _context.sent;

                _context.t0.initBaseValues.call(_context.t0, _context.t1);

              case 7:
                if (!(PushHelper.instance === undefined)) {
                  _context.next = 10;
                  break;
                }

                _context.next = 10;
                return _regenerator.default.awrap(PushHelper.init());

              case 10:
                _context.next = 12;
                return _regenerator.default.awrap(PushHelper.instance.onBackgroundMessage(message));

              case 12:
                _context.next = 17;
                break;

              case 14:
                _context.prev = 14;
                _context.t2 = _context["catch"](0);
                console.error("background push notification error: " + _context.t2.message);

              case 17:
                return _context.abrupt("return", Promise.resolve());

              case 18:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[0, 14]], Promise);
      }
    }, {
      key: "init",
      value: function init() {
        return _regenerator.default.async(function init$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!(PushHelper.instance === undefined)) {
                  _context2.next = 29;
                  break;
                }

                _context2.t0 = global.pushService;
                _context2.next = _context2.t0 === _$$_REQUIRE(_dependencyMap[7]).MasPush.NAME ? 4 : _context2.t0 === _OneSignalPush.default.NAME ? 8 : _context2.t0 === _$$_REQUIRE(_dependencyMap[8]).AmazonPush.NAME ? 12 : _context2.t0 === _$$_REQUIRE(_dependencyMap[9]).HuaweiPush.NAME ? 16 : 20;
                break;

              case 4:
                PushHelper.instance = new (_$$_REQUIRE(_dependencyMap[7]).MasPush)();
                _context2.next = 7;
                return _regenerator.default.awrap(PushHelper.instance.init(global.masAppId));

              case 7:
                return _context2.abrupt("break", 24);

              case 8:
                PushHelper.instance = new _OneSignalPush.default();
                _context2.next = 11;
                return _regenerator.default.awrap(PushHelper.instance.init(global.oneSignalAppId));

              case 11:
                return _context2.abrupt("break", 24);

              case 12:
                PushHelper.instance = new (_$$_REQUIRE(_dependencyMap[8]).AmazonPush)();
                _context2.next = 15;
                return _regenerator.default.awrap(PushHelper.instance.init());

              case 15:
                return _context2.abrupt("break", 24);

              case 16:
                PushHelper.instance = new (_$$_REQUIRE(_dependencyMap[9]).HuaweiPush)();
                _context2.next = 19;
                return _regenerator.default.awrap(PushHelper.instance.init(global.hcmAppId));

              case 19:
                return _context2.abrupt("break", 24);

              case 20:
                PushHelper.instance = new (_$$_REQUIRE(_dependencyMap[10]).FirebasePush)();
                _context2.next = 23;
                return _regenerator.default.awrap(PushHelper.instance.init());

              case 23:
                return _context2.abrupt("break", 24);

              case 24:
                PushHelper.clearOldStoredNotifications();
                PushHelper.registerListener();
                PushHelper.resetBadge();
                _context2.next = 29;
                return _regenerator.default.awrap(PushHelper.createAndroidChannels());

              case 29:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "checkIfAppIsOpenedByNotification",
      value: function checkIfAppIsOpenedByNotification(callback) {
        return _regenerator.default.async(function checkIfAppIsOpenedByNotification$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _context3.prev = 0;

                if (!PushHelper.instance) {
                  _context3.next = 5;
                  break;
                }

                _context3.next = 4;
                return _regenerator.default.awrap(PushHelper.instance.checkIfAppIsOpenedByNotification(callback));

              case 4:
                return _context3.abrupt("return", true);

              case 5:
                _context3.next = 9;
                break;

              case 7:
                _context3.prev = 7;
                _context3.t0 = _context3["catch"](0);

              case 9:
                return _context3.abrupt("return", false);

              case 10:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, [[0, 7]], Promise);
      }
    }, {
      key: "registerListener",
      value: function registerListener() {
        if (PushHelper.instance) {
          PushHelper.instance.registerListener();
        }
      }
    }, {
      key: "unregisterListener",
      value: function unregisterListener() {
        if (PushHelper.instance) {
          PushHelper.instance.unregisterListener();
        }
      }
    }, {
      key: "resetBadge",
      value: function resetBadge() {
        if (PushHelper.instance) {
          PushHelper.instance.resetBadge();
        }
      }
    }, {
      key: "createAndroidChannels",
      value: function createAndroidChannels() {
        return _regenerator.default.async(function createAndroidChannels$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!PushHelper.instance) {
                  _context4.next = 2;
                  break;
                }

                return _context4.abrupt("return", PushHelper.instance.createAndroidChannels());

              case 2:
                return _context4.abrupt("return", false);

              case 3:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "isTherePush",
      value: function isTherePush() {
        if (PushHelper.instance) {
          return PushHelper.instance.isTherePush();
        }

        return false;
      }
    }, {
      key: "pushNeedFeedUpdate",
      value: function pushNeedFeedUpdate() {
        if (PushHelper.instance) {
          return PushHelper.instance.pushNeedFeedUpdate();
        }

        return false;
      }
    }, {
      key: "getPush",
      value: function getPush() {
        if (PushHelper.instance) {
          return PushHelper.instance.getPush();
        }

        return {};
      }
    }, {
      key: "clearPush",
      value: function clearPush() {
        if (PushHelper.instance) {
          PushHelper.instance.clearPush();
        }
      }
    }, {
      key: "getRegistrationInfo",
      value: function getRegistrationInfo() {
        if (PushHelper.instance) {
          return PushHelper.instance.getRegistrationInfo();
        }

        return {};
      }
    }, {
      key: "checkIfSendRegistration",
      value: function checkIfSendRegistration() {
        return _regenerator.default.async(function checkIfSendRegistration$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                if (!PushHelper.instance) {
                  _context5.next = 2;
                  break;
                }

                return _context5.abrupt("return", PushHelper.instance.checkIfSendRegistration());

              case 2:
                return _context5.abrupt("return", Promise.resolve());

              case 3:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "clearOldStoredNotifications",
      value: function clearOldStoredNotifications() {
        if (PushHelper.instance) {
          return PushHelper.instance.clearOldStoredNotifications();
        }

        return Promise.resolve();
      }
    }, {
      key: "updateTags",
      value: function updateTags() {
        if (PushHelper.instance) {
          PushHelper.instance.updateTags();
        }
      }
    }, {
      key: "registerDevice",
      value: function registerDevice() {
        return _regenerator.default.async(function registerDevice$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                if (!PushHelper.instance) {
                  _context6.next = 2;
                  break;
                }

                return _context6.abrupt("return", PushHelper.instance.init());

              case 2:
                return _context6.abrupt("return", Promise.resolve());

              case 3:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "deleteRegistration",
      value: function deleteRegistration() {
        return _regenerator.default.async(function deleteRegistration$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                if (!PushHelper.instance) {
                  _context7.next = 3;
                  break;
                }

                PushHelper.instance.deleteRegistration();
                return _context7.abrupt("return", PushHelper.instance.deleteToken());

              case 3:
                return _context7.abrupt("return", Promise.resolve(true));

              case 4:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return PushHelper;
  }();

  exports.default = PushHelper;
  PushHelper.instance = undefined;
},2134,[5,80,7,8,2135,2136,582,2137,2140,2141,2138]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _BasePush2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _PushTags = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var OneSignal = _optionalPackageUtils.default.getOneSignal();

  var OneSignalPush = function (_BasePush) {
    (0, _inherits2.default)(OneSignalPush, _BasePush);

    var _super = _createSuper(OneSignalPush);

    function OneSignalPush() {
      var _this;

      (0, _classCallCheck2.default)(this, OneSignalPush);
      _this = _super.call(this, OneSignalPush.NAME);
      _this.notificationToOpenDuringStartup = undefined;
      _this.onOpened = _this._onOpened.bind((0, _assertThisInitialized2.default)(_this));
      _this.initialized = false;
      return _this;
    }

    (0, _createClass2.default)(OneSignalPush, [{
      key: "isPackageAvaiable",
      value: function isPackageAvaiable() {
        return _optionalPackageUtils.default.isOneSignalAvailable();
      }
    }, {
      key: "init",
      value: function init(appId) {
        var state;
        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!this.isPackageAvaiable()) {
                  _context.next = 21;
                  break;
                }

                if (!(appId && appId.length)) {
                  _context.next = 20;
                  break;
                }

                OneSignal.setAppId(appId);
                OneSignal.setLogLevel(6, 0);
                OneSignal.setRequiresUserPrivacyConsent(false);
                state = null;
                _context.prev = 6;
                _context.next = 9;
                return _regenerator.default.awrap(OneSignal.getDeviceState());

              case 9:
                state = _context.sent;
                _context.next = 15;
                break;

              case 12:
                _context.prev = 12;
                _context.t0 = _context["catch"](6);
                this.printLog(_context.t0.message);

              case 15:
                if (state) {
                  this.token = state.pushToken;
                  this.userId = state.userId;
                }

                this.printLog("One Signal token: " + this.token);
                this.printLog("One Signal userId: " + this.userId);
                _context.next = 21;
                break;

              case 20:
                this.printLog("Missing one signal app id");

              case 21:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[6, 12]], Promise);
      }
    }, {
      key: "initTags",
      value: function initTags() {
        var _this2 = this;

        var _global$getUserSettin = global.getUserSettings(),
            userDefinedPushTags = _global$getUserSettin.userDefinedPushTags;

        var tags = _PushTags.default.parseTags(userDefinedPushTags);

        tags.forEach(function (_ref) {
          var value = _ref.value;
          var splitted = value.split(":");

          if (splitted.length === 2) {
            _this2.setTag(splitted[0], splitted[1]);
          } else {
            _this2.setTag(splitted[0], "1");
          }
        });
      }
    }, {
      key: "updateTags",
      value: function updateTags() {
        this.resetTags();
        this.initTags();
      }
    }, {
      key: "resetTags",
      value: function resetTags() {
        OneSignal.deleteTags(Object.keys(this.tags));
        (0, _get2.default)((0, _getPrototypeOf2.default)(OneSignalPush.prototype), "resetTags", this).call(this);
        this.setTag("pSetup", global.getAppPSetup());
        this.setTag("subLayout", global.getMainPSetup().layoutSubStyle);
      }
    }, {
      key: "setTag",
      value: function setTag(key, value) {
        (0, _get2.default)((0, _getPrototypeOf2.default)(OneSignalPush.prototype), "setTag", this).call(this, key, value);

        if (this.isPackageAvaiable()) {
          if (key && key.length && value && value.length) {
            OneSignal.sendTag(key, value);
          }
        }
      }
    }, {
      key: "_onOpened",
      value: function _onOpened(_ref2) {
        var notification;
        return _regenerator.default.async(function _onOpened$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                notification = _ref2.notification;
                this.printLog("One signal -> on opened notification: " + JSON.stringify(notification));
                this.printLog("One signal -> app initialized: " + this.initialized);

                if (this.initialized) {
                  this.manageOpenedNotification(notification);
                } else {
                  this.notificationToOpenDuringStartup = notification;
                }

              case 4:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "registerListener",
      value: function registerListener() {
        if (this.isPackageAvaiable()) {
          (0, _get2.default)((0, _getPrototypeOf2.default)(OneSignalPush.prototype), "registerListener", this).call(this);
          OneSignal.setNotificationOpenedHandler(this.onOpened);
        }
      }
    }, {
      key: "unregisterListener",
      value: function unregisterListener() {
        if (this.isPackageAvaiable()) {
          (0, _get2.default)((0, _getPrototypeOf2.default)(OneSignalPush.prototype), "unregisterListener", this).call(this);
          OneSignal.clearHandlers();
          this.initialized = false;
        }
      }
    }, {
      key: "checkIfAppIsOpenedByNotification",
      value: function checkIfAppIsOpenedByNotification(onOpen) {
        this.printLog("One signal -> checkIfAppIsOpenedByNotification");
        this.initialized = true;
        this.manageOpenedNotification(this.notificationToOpenDuringStartup, onOpen);

        if (!this.notificationToOpenDuringStartup) {
          throw new Error("app not opened by notification");
        }

        this.notificationToOpenDuringStartup = undefined;
        return true;
      }
    }, {
      key: "manageOpenedNotification",
      value: function manageOpenedNotification(notification, onOpen) {
        if (notification) {
          this.printLog("notificationId -> " + notification.notificationId);
          var additionalData = notification.additionalData,
              notificationID = notification.notificationID;
          this.openNotification(notificationID, additionalData);
        }
      }
    }, {
      key: "deleteRegistration",
      value: function deleteRegistration() {
        OneSignal.disablePush(true);
      }
    }]);
    return OneSignalPush;
  }(_BasePush2.default);

  exports.default = OneSignalPush;
  OneSignalPush.NAME = "onesignal";
},2135,[5,80,7,8,15,90,12,14,16,2136,731,2132]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.isNotAvailable = exports.NOT_AVAILABLE = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var NOT_AVAILABLE = "n/a";
  exports.NOT_AVAILABLE = NOT_AVAILABLE;

  var isNotAvailable = function isNotAvailable(str) {
    return str === NOT_AVAILABLE;
  };

  exports.isNotAvailable = isNotAvailable;

  var BasePush = function () {
    function BasePush(name) {
      (0, _classCallCheck2.default)(this, BasePush);
      this.userId = "";
      this.token = NOT_AVAILABLE;
      this.serverMessage = NOT_AVAILABLE;
      this.isRegistered = false;
      this.tags = {};
      this.service = name;
      this.hasPushEnabled = true;
      this.setTag = this.setTag.bind(this);
      this.registerListener = this.registerListener.bind(this);
      this.unregisterListener = this.unregisterListener.bind(this);
      this.resetBadge = this.resetBadge.bind(this);
      this.initTags();
    }

    (0, _createClass2.default)(BasePush, [{
      key: "registerListener",
      value: function registerListener() {
        this.isRegistered = true;
      }
    }, {
      key: "unregisterListener",
      value: function unregisterListener() {
        this.isRegistered = false;
      }
    }, {
      key: "resetTags",
      value: function resetTags() {
        this.tags = {};
        this.printLog("tags empty");
      }
    }, {
      key: "setTag",
      value: function setTag(key, value) {
        this.tags[key] = value;
        this.printLog("tags -> " + key + ": " + value);
      }
    }, {
      key: "checkIfAppIsOpenedByNotification",
      value: function checkIfAppIsOpenedByNotification() {
        return false;
      }
    }, {
      key: "isTherePush",
      value: function isTherePush() {
        return this.pushToConsume !== undefined;
      }
    }, {
      key: "clearPush",
      value: function clearPush() {
        this.pushToConsume = undefined;
      }
    }, {
      key: "pushNeedFeedUpdate",
      value: function pushNeedFeedUpdate() {
        return this.pushToConsume && (this.pushToConsume.action === "openArticle" || this.pushToConsume.action === "openArticleBySource");
      }
    }, {
      key: "getPush",
      value: function getPush() {
        return this.pushToConsume;
      }
    }, {
      key: "storePushToConsume",
      value: function storePushToConsume(action, value) {
        this.pushToConsume = {
          action: action,
          value: value
        };
      }
    }, {
      key: "onBackgroundMessage",
      value: function onBackgroundMessage(notification) {
        return _regenerator.default.async(function onBackgroundMessage$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return _regenerator.default.awrap(this.displayNotification(notification));

              case 2:
                return _context.abrupt("return", Promise.resolve());

              case 3:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "displayNotification",
      value: function displayNotification(notification) {
        this.printLog("display notification unused: " + JSON.stringify(notification));
      }
    }, {
      key: "openNotification",
      value: function openNotification(id, data, onOpen) {
        var _this$parsePushData, action, value, rssIsEnabled, pSetupConfig, mainNavigator;

        return _regenerator.default.async(function openNotification$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _this$parsePushData = this.parsePushData(data), action = _this$parsePushData.action, value = _this$parsePushData.value;
                rssIsEnabled = false;
                pSetupConfig = global.getRSSActivePSetup();

                if (!(pSetupConfig instanceof _$$_REQUIRE(_dependencyMap[5]).PaperSetupConfig)) {
                  pSetupConfig = global.getMainPSetup();
                }

                if (!(pSetupConfig instanceof _$$_REQUIRE(_dependencyMap[5]).PaperSetupConfig)) {
                  _context2.next = 8;
                  break;
                }

                _context2.next = 7;
                return _regenerator.default.awrap(pSetupConfig.checkIfRssIsEnabled());

              case 7:
                rssIsEnabled = _context2.sent;

              case 8:
                this.storePushToConsume(action, value);
                mainNavigator = "";
                _context2.t0 = action;
                _context2.next = _context2.t0 === "openArticle" ? 13 : _context2.t0 === "openArticleBySource" ? 13 : _context2.t0 === "openCategory" ? 13 : _context2.t0 === "openRss" ? 13 : _context2.t0 === "openUrl" ? 15 : _context2.t0 === "openEpaperCoordinates" ? 17 : _context2.t0 === "openEpaper" ? 19 : 21;
                break;

              case 13:
                mainNavigator = "RssNavigator";
                return _context2.abrupt("break", 21);

              case 15:
                mainNavigator = rssIsEnabled ? "RssNavigator" : "NewsmemoryNavigator";
                return _context2.abrupt("break", 21);

              case 17:
                mainNavigator = "NewsmemoryNavigator";
                return _context2.abrupt("break", 21);

              case 19:
                mainNavigator = "NewsmemoryNavigator";
                return _context2.abrupt("break", 21);

              case 21:
                if (mainNavigator && mainNavigator.length) {
                  if (typeof onOpen === "function") {
                    onOpen(mainNavigator);
                  }

                  _NavigationService.default.main.reset(mainNavigator);
                }

              case 22:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "parsePushData",
      value: function parsePushData() {
        var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var type = data.type,
            feedId = data.feedId,
            category = data.category,
            url = data.url,
            edition = data.edition,
            issue = data.issue,
            page = data.page,
            article = data.article,
            source = data.source;
        var value = "";
        var action = "";

        if (type === "breakingnews") {
          action = "openRss";
        } else if (feedId && feedId.length) {
          action = "openArticle";
          value = feedId;
        } else if (source && source.length) {
          action = "openArticleBySource";
          value = source;
        } else if (category && category.length) {
          action = "openCategory";
          value = category;
        } else if (url && url.length) {
          action = "openUrl";
          value = url;
        } else if (edition || issue || page || article) {
          action = "openEpaperCoordinates";
          value = {
            edition: edition,
            issue: issue,
            page: page,
            article: article
          };
        } else {
          action = "openEpaper";
        }

        return {
          action: action,
          value: value
        };
      }
    }, {
      key: "printLog",
      value: function printLog(message) {}
    }, {
      key: "getRegistrationInfo",
      value: function getRegistrationInfo() {
        return {
          token: this.token,
          userId: this.userId,
          serverMessage: this.serverMessage,
          service: this.service
        };
      }
    }, {
      key: "init",
      value: function init() {
        this.printLog(this.service + " not need init");
      }
    }, {
      key: "initTags",
      value: function initTags() {
        this.tags = {};
      }
    }, {
      key: "updateTags",
      value: function updateTags() {
        this.printLog(this.service + " not need updateTags");
      }
    }, {
      key: "resetBadge",
      value: function resetBadge() {
        this.printLog(this.service + " not need resetBadge");
      }
    }, {
      key: "createAndroidChannels",
      value: function createAndroidChannels() {
        return _regenerator.default.async(function createAndroidChannels$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                this.printLog(this.service + " not need createAndroidChannels");
                return _context3.abrupt("return", Promise.resolve());

              case 2:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "checkIfSendRegistration",
      value: function checkIfSendRegistration() {
        return _regenerator.default.async(function checkIfSendRegistration$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                this.printLog(this.service + " not need checkIfSendRegistration");
                return _context4.abrupt("return", Promise.resolve());

              case 2:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getToken",
      value: function getToken() {
        return _regenerator.default.async(function getToken$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                this.printLog(this.service + " not need getToken");
                return _context5.abrupt("return", Promise.resolve());

              case 2:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "deleteToken",
      value: function deleteToken() {
        return _regenerator.default.async(function deleteToken$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                this.printLog(this.service + " not need deleteToken");
                return _context6.abrupt("return", Promise.resolve());

              case 2:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "sendRegistration",
      value: function sendRegistration(token, service) {
        return _regenerator.default.async(function sendRegistration$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                this.printLog(this.service + " not need sendRegistration");
                return _context7.abrupt("return", true);

              case 2:
              case "end":
                return _context7.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "deleteRegistration",
      value: function deleteRegistration() {
        return _regenerator.default.async(function deleteRegistration$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                this.printLog(this.service + " not need deleteRegistration");
                return _context8.abrupt("return", true);

              case 2:
              case "end":
                return _context8.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "clearOldStoredNotifications",
      value: function clearOldStoredNotifications() {
        return _regenerator.default.async(function clearOldStoredNotifications$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                return _context9.abrupt("return", Promise.resolve());

              case 1:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return BasePush;
  }();

  exports.default = BasePush;
},2136,[5,80,7,8,1861,717]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.MasPush = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var MasPush = function (_FirebasePush) {
    (0, _inherits2.default)(MasPush, _FirebasePush);

    var _super = _createSuper(MasPush);

    function MasPush() {
      var _this;

      (0, _classCallCheck2.default)(this, MasPush);
      _this = _super.call(this, MasPush.NAME);
      _this.masAppId = "";
      return _this;
    }

    (0, _createClass2.default)(MasPush, [{
      key: "parsePushEvent",
      value: function parsePushEvent(event) {
        var _event$data = event.data,
            data = _event$data === undefined ? {} : _event$data,
            messageId = event.messageId,
            _event$notification = event.notification,
            notification = _event$notification === undefined ? {} : _event$notification;
        var android = notification.android;
        var body = data.body,
            _data$click_action = data.click_action,
            click_action = _data$click_action === undefined ? "" : _data$click_action,
            title = data.title,
            rest = (0, _objectWithoutProperties2.default)(data, ["body", "click_action", "title"]);
        var sound = android ? android.sound : undefined;
        var newData = (0, _extends2.default)({}, rest);

        if (!click_action.startsWith("" + global.server)) {
          newData.source = click_action;
        }

        return {
          title: notification.title || title,
          body: notification.body || body,
          sound: sound,
          data: newData,
          messageId: messageId
        };
      }
    }, {
      key: "init",
      value: function init(appId) {
        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                this.masAppId = appId;
                return _context.abrupt("return", (0, _get2.default)((0, _getPrototypeOf2.default)(MasPush.prototype), "init", this).call(this));

              case 2:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "sendRegistration",
      value: function sendRegistration(token) {
        var success, iid, i, origin, visitorId, response, _response$data, token_id, error, status, source, detail, log;

        return _regenerator.default.async(function sendRegistration$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.next = 2;
                return _regenerator.default.awrap((0, _get2.default)((0, _getPrototypeOf2.default)(MasPush.prototype), "sendRegistration", this).call(this, token, _$$_REQUIRE(_dependencyMap[11]).FirebasePush.NAME));

              case 2:
                _context2.prev = 2;
                success = false;
                iid = token;

                if (!(this.masAppId && iid)) {
                  _context2.next = 20;
                  break;
                }

                i = 0;

              case 7:
                if (!(i < 3 && !success)) {
                  _context2.next = 18;
                  break;
                }

                origin = _$$_REQUIRE(_dependencyMap[12]).PlatformUtils.isAndroid() ? "androidapp" : "iosapp";
                visitorId = "";
                _context2.next = 12;
                return _regenerator.default.awrap(_Api.default.post("https://mas.protecmedia.com/WebPushNotification/instance/" + iid + "/" + origin + "/" + this.masAppId + "/" + visitorId, {}, {}, true));

              case 12:
                response = _context2.sent;
                _response$data = response.data, token_id = _response$data.token_id, error = _response$data.error;

                if (error) {
                  status = error.status, source = error.source, detail = error.detail;
                  this.serverMessage = detail ? "detail" : _$$_REQUIRE(_dependencyMap[13]).NOT_AVAILABLE;
                } else {
                  this.lastSendRegistrationTime = new Date().getTime();
                  this.serverMessage = token_id ? "id " + token_id : _$$_REQUIRE(_dependencyMap[13]).NOT_AVAILABLE;
                  success = true;
                }

              case 15:
                i++;
                _context2.next = 7;
                break;

              case 18:
                _context2.next = 22;
                break;

              case 20:
                log = "missing required information, appId: " + this.masAppId + ", token: " + iid;
                this.serverMessage = "" + log;

              case 22:
                _context2.next = 27;
                break;

              case 24:
                _context2.prev = 24;
                _context2.t0 = _context2["catch"](2);
                this.serverMessage = "" + _context2.t0.message;

              case 27:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, [[2, 24]], Promise);
      }
    }]);
    return MasPush;
  }(_$$_REQUIRE(_dependencyMap[11]).FirebasePush);

  exports.MasPush = MasPush;
  MasPush.NAME = "mas";
},2137,[5,80,6,108,7,8,90,12,14,16,431,2138,462,2136]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.FirebasePush = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var _OptionalPackages$get = _optionalPackageUtils.default.getPushLibraries(),
      CloudMessaging = _OptionalPackages$get.CloudMessaging,
      PushNotification = _OptionalPackages$get.PushNotification,
      PushNotificationIOS = _OptionalPackages$get.PushNotificationIOS;

  var FirebasePush = function (_BaseCustomModulePush) {
    (0, _inherits2.default)(FirebasePush, _BaseCustomModulePush);

    var _super = _createSuper(FirebasePush);

    function FirebasePush() {
      var _this;

      var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : FirebasePush.NAME;
      (0, _classCallCheck2.default)(this, FirebasePush);
      _this = _super.call(this, name);
      _this.hasPermission = false;
      _this.isLibraryAvailable = CloudMessaging !== undefined;
      return _this;
    }

    (0, _createClass2.default)(FirebasePush, [{
      key: "init",
      value: function init() {
        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return _regenerator.default.awrap(this.checkPermission());

              case 2:
                if (_context.sent) {
                  _context.next = 7;
                  break;
                }

                _context.next = 5;
                return _regenerator.default.awrap(this.retrievePermission());

              case 5:
                if (_context.sent) {
                  _context.next = 7;
                  break;
                }

                return _context.abrupt("return", false);

              case 7:
                _context.prev = 7;
                _context.next = 10;
                return _regenerator.default.awrap(this.getToken());

              case 10:
                this.token = _context.sent;
                _context.next = 16;
                break;

              case 13:
                _context.prev = 13;
                _context.t0 = _context["catch"](7);
                this.printLog(_context.t0);

              case 16:
                this.hasPermission = true;

                if (this.token) {
                  this.sendRegistration(this.token);
                  this.printLog("Init with token -> " + this.token);
                } else {
                  this.printLog("Init without token -> permission: " + this.hasPermission);
                }

                return _context.abrupt("return", true);

              case 19:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[7, 13]], Promise);
      }
    }, {
      key: "registerListener",
      value: function registerListener() {
        var _this2 = this;

        if (this.hasPermission && this.isLibraryAvailable) {
          (0, _get2.default)((0, _getPrototypeOf2.default)(FirebasePush.prototype), "registerListener", this).call(this);
          this.onNotificationOpened = CloudMessaging.onNotificationOpenedApp(function (notificationOpen) {
            _this2.manageOpenedNotification(notificationOpen, function (navigator) {
              _$$_REQUIRE(_dependencyMap[10]).EventRegister.emit(_events.default.LIVE_CONFIG_SET_VALUE, {
                key: "startupNavigator",
                value: navigator
              });
            });
          });
          this.onTokenRefreshListener = CloudMessaging.onTokenRefresh(function (fcmToken) {
            if (fcmToken) {
              _this2.token = fcmToken;

              _this2.sendRegistration(fcmToken);

              _this2.printLog("New token -> " + _this2.token);
            }
          });
          this.onMessage = CloudMessaging.onMessage(function (event) {
            _this2.displayNotification(event);
          });

          if (_$$_REQUIRE(_dependencyMap[11]).PlatformUtils.isIOS()) {
            PushNotification.configure({
              onNotification: function onNotification(notification) {
                if (notification && notification.foreground) {
                  var data = notification.data,
                      title = notification.title,
                      message = notification.message;
                  var event = {
                    messageId: _$$_REQUIRE(_dependencyMap[11]).StringUtils.getRandomIdentifier(),
                    data: data,
                    notification: {
                      title: title,
                      body: message
                    }
                  };

                  _this2.manageOpenedNotification(event, function (navigator) {
                    _$$_REQUIRE(_dependencyMap[10]).EventRegister.emit(_events.default.LIVE_CONFIG_SET_VALUE, {
                      key: "startupNavigator",
                      value: navigator
                    });
                  });

                  _this2.resetBadge();
                }

                notification.finish(PushNotificationIOS.FetchResult.NoData);
              }
            });
          }
        }
      }
    }, {
      key: "getInitialNotification",
      value: function getInitialNotification() {
        return _regenerator.default.async(function getInitialNotification$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!this.isLibraryAvailable) {
                  _context2.next = 2;
                  break;
                }

                return _context2.abrupt("return", CloudMessaging.getInitialNotification());

              case 2:
                return _context2.abrupt("return", undefined);

              case 3:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "parsePushEvent",
      value: function parsePushEvent(event) {
        var data = event.data,
            messageId = event.messageId,
            _event$notification = event.notification,
            notification = _event$notification === undefined ? {} : _event$notification;
        var title = notification.title,
            body = notification.body,
            android = notification.android;
        var sound = android ? android.sound : undefined;
        return {
          title: title,
          body: body,
          sound: sound,
          data: data,
          messageId: messageId
        };
      }
    }, {
      key: "unregisterListener",
      value: function unregisterListener() {
        if (this.hasPermission) {
          (0, _get2.default)((0, _getPrototypeOf2.default)(FirebasePush.prototype), "unregisterListener", this).call(this);

          if (typeof this.onNotificationOpened === "function") {
            this.onNotificationOpened();
          }

          if (typeof this.onTokenRefreshListener === "function") {
            this.onTokenRefreshListener();
          }

          if (typeof this.onMessage === "function") {
            this.onMessage();
          }
        }
      }
    }, {
      key: "getToken",
      value: function getToken() {
        return _regenerator.default.async(function getToken$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                if (!this.isLibraryAvailable) {
                  _context3.next = 2;
                  break;
                }

                return _context3.abrupt("return", CloudMessaging.getToken());

              case 2:
                return _context3.abrupt("return", "");

              case 3:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "deleteToken",
      value: function deleteToken() {
        return _regenerator.default.async(function deleteToken$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!this.isLibraryAvailable) {
                  _context4.next = 2;
                  break;
                }

                return _context4.abrupt("return", CloudMessaging.deleteToken());

              case 2:
                return _context4.abrupt("return", Promise.resolve());

              case 3:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "checkPermission",
      value: function checkPermission() {
        return _regenerator.default.async(function checkPermission$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                if (!this.isLibraryAvailable) {
                  _context5.next = 2;
                  break;
                }

                return _context5.abrupt("return", CloudMessaging.hasPermission());

              case 2:
                return _context5.abrupt("return", false);

              case 3:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "retrievePermission",
      value: function retrievePermission() {
        return _regenerator.default.async(function retrievePermission$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                _context6.prev = 0;

                if (!this.isLibraryAvailable) {
                  _context6.next = 5;
                  break;
                }

                _context6.next = 4;
                return _regenerator.default.awrap(CloudMessaging.requestPermission());

              case 4:
                return _context6.abrupt("return", true);

              case 5:
                _context6.next = 9;
                break;

              case 7:
                _context6.prev = 7;
                _context6.t0 = _context6["catch"](0);

              case 9:
                return _context6.abrupt("return", false);

              case 10:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, [[0, 7]], Promise);
      }
    }, {
      key: "clearOldStoredNotifications",
      value: function clearOldStoredNotifications() {
        return _regenerator.default.async(function clearOldStoredNotifications$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                if (!this.isLibraryAvailable) {
                  _context7.next = 2;
                  break;
                }

                return _context7.abrupt("return", CloudMessaging.clearOldStoredNotifications());

              case 2:
                return _context7.abrupt("return", false);

              case 3:
              case "end":
                return _context7.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }]);
    return FirebasePush;
  }(_$$_REQUIRE(_dependencyMap[12]).BaseCustomModulePush);

  exports.FirebasePush = FirebasePush;
  FirebasePush.NAME = "fcm";
},2138,[5,80,7,8,90,12,14,16,460,731,572,462,2139]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.BaseCustomModulePush = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _BasePush2 = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _PushTags = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var BaseCustomModulePush = function (_BasePush) {
    (0, _inherits2.default)(BaseCustomModulePush, _BasePush);

    var _super = _createSuper(BaseCustomModulePush);

    function BaseCustomModulePush(name) {
      var _this;

      (0, _classCallCheck2.default)(this, BaseCustomModulePush);
      _this = _super.call(this, name);
      _this.channelId = global.pushChannel;
      _this.channelSilentId = global.pushChannelSilent;
      return _this;
    }

    (0, _createClass2.default)(BaseCustomModulePush, [{
      key: "registerListener",
      value: function registerListener() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(BaseCustomModulePush.prototype), "registerListener", this).call(this);
      }
    }, {
      key: "unregisterListener",
      value: function unregisterListener() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(BaseCustomModulePush.prototype), "unregisterListener", this).call(this);
      }
    }, {
      key: "hasTags",
      value: function hasTags() {
        var _global$getMainPSetup = global.getMainPSetup(),
            pushTags = _global$getMainPSetup.pushTags;

        return pushTags && pushTags.length > 0;
      }
    }, {
      key: "initTags",
      value: function initTags() {
        var _this2 = this;

        (0, _get2.default)((0, _getPrototypeOf2.default)(BaseCustomModulePush.prototype), "initTags", this).call(this);

        var _global$getUserSettin = global.getUserSettings(),
            userDefinedPushTags = _global$getUserSettin.userDefinedPushTags;

        var tags = _PushTags.default.parseTags(userDefinedPushTags);

        tags.forEach(function (_ref) {
          var value = _ref.value,
              label = _ref.label;

          _this2.setTag(value, label);
        });
      }
    }, {
      key: "updateTags",
      value: function updateTags() {
        this.initTags();
        this.sendRegistration();
      }
    }, {
      key: "createAndroidChannels",
      value: function createAndroidChannels() {
        return _regenerator.default.async(function createAndroidChannels$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.prev = 0;
                _context.next = 3;
                return _regenerator.default.awrap(this.createAndroidChannel(this.channelId, "Breaking News", "daily push notification"));

              case 3:
                _context.next = 8;
                break;

              case 5:
                _context.prev = 5;
                _context.t0 = _context["catch"](0);
                this.printLog("failed to create channel");

              case 8:
                _context.prev = 8;
                _context.next = 11;
                return _regenerator.default.awrap(this.createAndroidChannel(this.channelSilentId, "Silent Breaking News", "daily push notification silent", 2));

              case 11:
                _context.next = 16;
                break;

              case 13:
                _context.prev = 13;
                _context.t1 = _context["catch"](8);
                this.printLog("failed to create silent channel");

              case 16:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[0, 5], [8, 13]], Promise);
      }
    }, {
      key: "createAndroidChannel",
      value: function createAndroidChannel(id, name, description) {
        var importance,
            _args2 = arguments;
        return _regenerator.default.async(function createAndroidChannel$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                importance = _args2.length > 3 && _args2[3] !== undefined ? _args2[3] : 3;
                _context2.prev = 1;
                _context2.next = 4;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[12]).Notification.createChannel({
                  id: id,
                  name: name,
                  description: description,
                  importance: importance
                }));

              case 4:
                _context2.next = 9;
                break;

              case 6:
                _context2.prev = 6;
                _context2.t0 = _context2["catch"](1);
                this.printLog(_context2.t0.message);

              case 9:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, [[1, 6]], Promise);
      }
    }, {
      key: "parsePushEvent",
      value: function parsePushEvent() {
        return {};
      }
    }, {
      key: "getNotificationId",
      value: function getNotificationId(event) {
        var messageId = event.messageId,
            message_id = event.message_id;
        return messageId || message_id;
      }
    }, {
      key: "displayNotification",
      value: function displayNotification(event) {
        var _this$parsePushEvent, title, body, sound, messageId, data;

        return _regenerator.default.async(function displayNotification$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _this$parsePushEvent = this.parsePushEvent(event), title = _this$parsePushEvent.title, body = _this$parsePushEvent.body, sound = _this$parsePushEvent.sound, messageId = _this$parsePushEvent.messageId, data = _this$parsePushEvent.data;
                this.printLog("push -> id: " + messageId + ", title: " + title + ", with data: " + JSON.stringify(data));
                _context3.prev = 2;
                _context3.next = 5;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[12]).Notification.displayNotification({
                  title: title,
                  body: body,
                  data: data,
                  channelId: sound && sound.length ? this.channelId : this.channelSilentId,
                  sound: sound,
                  message_id: messageId
                }));

              case 5:
                _context3.next = 10;
                break;

              case 7:
                _context3.prev = 7;
                _context3.t0 = _context3["catch"](2);
                this.printLog(_context3.t0.message);

              case 10:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, [[2, 7]], Promise);
      }
    }, {
      key: "removeNotificationById",
      value: function removeNotificationById(notificationId) {
        return _regenerator.default.async(function removeNotificationById$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!notificationId) {
                  _context4.next = 9;
                  break;
                }

                _context4.prev = 1;
                _context4.next = 4;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[12]).Notification.removeDeliveredNotification(notificationId));

              case 4:
                _context4.next = 9;
                break;

              case 6:
                _context4.prev = 6;
                _context4.t0 = _context4["catch"](1);
                this.printLog(_context4.t0.message);

              case 9:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, [[1, 6]], Promise);
      }
    }, {
      key: "getInitialNotification",
      value: function getInitialNotification() {
        return _regenerator.default.async(function getInitialNotification$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                return _context5.abrupt("return", Promise.resolve({}));

              case 1:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "checkIfAppIsOpenedByNotification",
      value: function checkIfAppIsOpenedByNotification(onOpen) {
        var notificationOpen;
        return _regenerator.default.async(function checkIfAppIsOpenedByNotification$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                _context6.next = 2;
                return _regenerator.default.awrap(this.getInitialNotification());

              case 2:
                notificationOpen = _context6.sent;

                if (notificationOpen) {
                  _context6.next = 5;
                  break;
                }

                throw new Error("app is not opened by notification");

              case 5:
                _context6.next = 7;
                return _regenerator.default.awrap(this.manageOpenedNotification(notificationOpen, onOpen));

              case 7:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "manageOpenedNotification",
      value: function manageOpenedNotification(event, onOpen) {
        var _this$parsePushEvent2, data;

        return _regenerator.default.async(function manageOpenedNotification$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                if (event) {
                  this.removeNotificationById(this.getNotificationId(event));
                  _this$parsePushEvent2 = this.parsePushEvent(event), data = _this$parsePushEvent2.data;

                  if (data) {
                    this.openNotification(this.getNotificationId(event), data, onOpen);
                  }
                }

              case 1:
              case "end":
                return _context7.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "clearPush",
      value: function clearPush() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(BaseCustomModulePush.prototype), "clearPush", this).call(this);
        this.removeNotificationById();
      }
    }, {
      key: "resetBadge",
      value: function resetBadge() {
        var _this3 = this;

        if (_$$_REQUIRE(_dependencyMap[13]).PlatformUtils.isIOS()) {
          _$$_REQUIRE(_dependencyMap[12]).Notification.getBadge().then(function (count) {
            if (count > 0) {
              _this3.printLog("Reset push notification badge");

              _$$_REQUIRE(_dependencyMap[12]).Notification.setBadge(0);
            }
          });
        }
      }
    }, {
      key: "checkIfSendRegistration",
      value: function checkIfSendRegistration() {
        var timeFromLastSend, _global$getMainPSetup2, hoursToSendPushRegistration;

        return _regenerator.default.async(function checkIfSendRegistration$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                _context8.prev = 0;

                if (!(this.lastSendRegistrationTime && this.token)) {
                  _context8.next = 7;
                  break;
                }

                timeFromLastSend = new Date().getTime() - this.lastSendRegistrationTime;
                _global$getMainPSetup2 = global.getMainPSetup(), hoursToSendPushRegistration = _global$getMainPSetup2.hoursToSendPushRegistration;

                if (!(timeFromLastSend > _$$_REQUIRE(_dependencyMap[13]).DateUtils.HOUR_IN_MILLS * hoursToSendPushRegistration)) {
                  _context8.next = 7;
                  break;
                }

                _context8.next = 7;
                return _regenerator.default.awrap(this.sendRegistration(this.token));

              case 7:
                _context8.next = 12;
                break;

              case 9:
                _context8.prev = 9;
                _context8.t0 = _context8["catch"](0);
                this.printLog(_context8.t0.message);

              case 12:
              case "end":
                return _context8.stop();
            }
          }
        }, null, this, [[0, 9]], Promise);
      }
    }, {
      key: "deleteRegistration",
      value: function deleteRegistration() {
        var result, response, data;
        return _regenerator.default.async(function deleteRegistration$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                result = false;
                _context9.prev = 1;
                _context9.next = 4;
                return _regenerator.default.awrap(_Api.default.deleteDeviceToPushServer({
                  machineId: global.machineId,
                  token: this.token,
                  service: this.service
                }));

              case 4:
                response = _context9.sent;
                data = response.data;
                this.token = _BasePush2.NOT_AVAILABLE;
                result = typeof data === "object" ? data.success : false;
                _context9.next = 12;
                break;

              case 10:
                _context9.prev = 10;
                _context9.t0 = _context9["catch"](1);

              case 12:
                return _context9.abrupt("return", result);

              case 13:
              case "end":
                return _context9.stop();
            }
          }
        }, null, this, [[1, 10]], Promise);
      }
    }, {
      key: "sendRegistration",
      value: function sendRegistration(token, service) {
        var success, i, others, response, data;
        return _regenerator.default.async(function sendRegistration$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                if (!(0, _BasePush2.isNotAvailable)(token)) {
                  _context10.next = 2;
                  break;
                }

                return _context10.abrupt("return", false);

              case 2:
                success = false;
                i = 0;

              case 4:
                if (!(i < 3 && !success)) {
                  _context10.next = 22;
                  break;
                }

                _context10.prev = 5;
                others = {};

                if (this.hasTags()) {
                  others.segments = Object.keys(this.tags).join(",");
                }

                _context10.next = 10;
                return _regenerator.default.awrap(_Api.default.registerDeviceToPushServer((0, _extends2.default)({
                  machineId: global.machineId,
                  token: token || this.token,
                  service: service || this.service
                }, others)));

              case 10:
                response = _context10.sent;
                data = response.data;
                this.serverMessage = data ? data.message : _BasePush2.NOT_AVAILABLE;
                this.lastSendRegistrationTime = new Date().getTime();
                success = true;
                _context10.next = 19;
                break;

              case 17:
                _context10.prev = 17;
                _context10.t0 = _context10["catch"](5);

              case 19:
                i++;
                _context10.next = 4;
                break;

              case 22:
                return _context10.abrupt("return", success);

              case 23:
              case "end":
                return _context10.stop();
            }
          }
        }, null, this, [[5, 17]], Promise);
      }
    }]);
    return BaseCustomModulePush;
  }(_BasePush2.default);

  exports.BaseCustomModulePush = BaseCustomModulePush;
},2139,[5,80,6,7,8,90,12,14,16,2136,2132,431,582,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.AmazonPush = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var _OptionalPackages$get = _optionalPackageUtils.default.getPushLibraries(),
      AmazonDeviceMessaging = _OptionalPackages$get.AmazonDeviceMessaging;

  var AmazonPush = function (_BaseCustomModulePush) {
    (0, _inherits2.default)(AmazonPush, _BaseCustomModulePush);

    var _super = _createSuper(AmazonPush);

    function AmazonPush() {
      var _this;

      (0, _classCallCheck2.default)(this, AmazonPush);
      _this = _super.call(this, AmazonPush.NAME);
      _this.isLibraryAvailable = AmazonDeviceMessaging !== undefined;
      return _this;
    }

    (0, _createClass2.default)(AmazonPush, [{
      key: "init",
      value: function init() {
        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!this.isLibraryAvailable) {
                  _context.next = 12;
                  break;
                }

                _context.prev = 1;
                _context.next = 4;
                return _regenerator.default.awrap(this.getToken());

              case 4:
                this.token = _context.sent;
                _context.next = 10;
                break;

              case 7:
                _context.prev = 7;
                _context.t0 = _context["catch"](1);
                this.printLog(_context.t0);

              case 10:
                if (this.token) {
                  this.sendRegistration(this.token);
                  this.printLog("Init with token -> " + this.token);
                } else {
                  this.printLog("Init without token -> permission: " + this.hasPermission);
                }

                return _context.abrupt("return", true);

              case 12:
                return _context.abrupt("return", false);

              case 13:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[1, 7]], Promise);
      }
    }, {
      key: "registerListener",
      value: function registerListener() {
        var _this2 = this;

        (0, _get2.default)((0, _getPrototypeOf2.default)(AmazonPush.prototype), "registerListener", this).call(this);

        if (this.isLibraryAvailable) {
          AmazonDeviceMessaging.addOnNotificationOpenedListener(function (notification) {
            _this2.manageOpenedNotification(notification, function (navigator) {
              _$$_REQUIRE(_dependencyMap[12]).EventRegister.emit(_events.default.LIVE_CONFIG_SET_VALUE, {
                key: "startupNavigator",
                value: navigator
              });
            });
          });
          AmazonDeviceMessaging.addOnTokenRefreshedListener(function (token) {
            _this2.token = token;

            _this2.sendRegistration(token);

            _this2.printLog("New token -> " + _this2.token);
          });
          AmazonDeviceMessaging.addOnMessageListener(function (notification) {
            _this2.displayNotification(notification);
          });
          this.register();
        }
      }
    }, {
      key: "unregisterListener",
      value: function unregisterListener() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(AmazonPush.prototype), "unregisterListener", this).call(this);

        if (this.isLibraryAvailable) {
          AmazonDeviceMessaging.removeNotificationOpenedListener();
          AmazonDeviceMessaging.removeMessageListener();
          AmazonDeviceMessaging.removeTokenRefreshedListener();
        }
      }
    }, {
      key: "getInitialNotification",
      value: function getInitialNotification() {
        return _regenerator.default.async(function getInitialNotification$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!this.isLibraryAvailable) {
                  _context2.next = 2;
                  break;
                }

                return _context2.abrupt("return", AmazonDeviceMessaging.getInitialNotification());

              case 2:
                return _context2.abrupt("return", undefined);

              case 3:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "parsePushEvent",
      value: function parsePushEvent(event) {
        var title = event.title,
            body = event.body,
            sound = event.sound,
            data = event.data,
            adm_message_md5 = event.adm_message_md5,
            rest = (0, _objectWithoutProperties2.default)(event, ["title", "body", "sound", "data", "adm_message_md5"]);
        return {
          title: title,
          body: body,
          sound: sound,
          data: (0, _extends2.default)({}, data, rest),
          messageId: adm_message_md5
        };
      }
    }, {
      key: "getToken",
      value: function getToken() {
        return _regenerator.default.async(function getToken$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                if (!this.isLibraryAvailable) {
                  _context3.next = 2;
                  break;
                }

                return _context3.abrupt("return", AmazonDeviceMessaging.getToken());

              case 2:
                return _context3.abrupt("return", "");

              case 3:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "deleteToken",
      value: function deleteToken() {
        return _regenerator.default.async(function deleteToken$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!this.isLibraryAvailable) {
                  _context4.next = 2;
                  break;
                }

                return _context4.abrupt("return", AmazonDeviceMessaging.deleteToken());

              case 2:
                return _context4.abrupt("return", Promise.resolve());

              case 3:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "register",
      value: function register() {
        return _regenerator.default.async(function register$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                _context5.prev = 0;

                if (!this.isLibraryAvailable) {
                  _context5.next = 4;
                  break;
                }

                _context5.next = 4;
                return _regenerator.default.awrap(AmazonDeviceMessaging.register());

              case 4:
                _context5.next = 9;
                break;

              case 6:
                _context5.prev = 6;
                _context5.t0 = _context5["catch"](0);
                this.printLog(_context5.t0.message);

              case 9:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, [[0, 6]], Promise);
      }
    }, {
      key: "clearOldStoredNotifications",
      value: function clearOldStoredNotifications() {
        return _regenerator.default.async(function clearOldStoredNotifications$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                if (!this.isLibraryAvailable) {
                  _context6.next = 2;
                  break;
                }

                return _context6.abrupt("return", AmazonDeviceMessaging.clearOldStoredNotifications());

              case 2:
                return _context6.abrupt("return", false);

              case 3:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }]);
    return AmazonPush;
  }(_$$_REQUIRE(_dependencyMap[13]).BaseCustomModulePush);

  exports.AmazonPush = AmazonPush;
  AmazonPush.NAME = "adm";
},2140,[5,80,6,108,7,8,90,12,14,16,460,731,572,2139]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.HuaweiPush = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var _OptionalPackages$get = _optionalPackageUtils.default.getPushLibraries(),
      HcmDeviceMessaging = _OptionalPackages$get.HcmDeviceMessaging;

  var HuaweiPush = function (_BaseCustomModulePush) {
    (0, _inherits2.default)(HuaweiPush, _BaseCustomModulePush);

    var _super = _createSuper(HuaweiPush);

    function HuaweiPush() {
      var _this;

      (0, _classCallCheck2.default)(this, HuaweiPush);
      _this = _super.call(this, HuaweiPush.NAME);
      _this.isLibraryAvailable = HcmDeviceMessaging !== undefined;
      return _this;
    }

    (0, _createClass2.default)(HuaweiPush, [{
      key: "init",
      value: function init(appId) {
        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                this.appId = appId;

                if (!this.isLibraryAvailable) {
                  _context.next = 13;
                  break;
                }

                _context.prev = 2;
                _context.next = 5;
                return _regenerator.default.awrap(this.getToken());

              case 5:
                this.token = _context.sent;
                _context.next = 11;
                break;

              case 8:
                _context.prev = 8;
                _context.t0 = _context["catch"](2);
                this.printLog(_context.t0);

              case 11:
                if (this.token) {
                  this.sendRegistration(this.token);
                  this.printLog("Init with token -> " + this.token);
                } else {
                  this.printLog("Init without token");
                }

                return _context.abrupt("return", true);

              case 13:
                return _context.abrupt("return", false);

              case 14:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[2, 8]], Promise);
      }
    }, {
      key: "registerListener",
      value: function registerListener() {
        var _this2 = this;

        (0, _get2.default)((0, _getPrototypeOf2.default)(HuaweiPush.prototype), "registerListener", this).call(this);

        if (this.isLibraryAvailable) {
          HcmDeviceMessaging.addOnNotificationOpenedListener(function (notification) {
            _this2.manageOpenedNotification(notification, function (navigator) {
              _$$_REQUIRE(_dependencyMap[11]).EventRegister.emit(_events.default.LIVE_CONFIG_SET_VALUE, {
                key: "startupNavigator",
                value: navigator
              });
            });
          });
          HcmDeviceMessaging.addOnTokenRefreshedListener(function (token) {
            _this2.token = token;

            _this2.sendRegistration(token);

            _this2.printLog("New token -> " + _this2.token);
          });
          HcmDeviceMessaging.addOnMessageListener(function (notification) {
            _this2.displayNotification(notification);
          });
        }
      }
    }, {
      key: "unregisterListener",
      value: function unregisterListener() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(HuaweiPush.prototype), "unregisterListener", this).call(this);

        if (this.isLibraryAvailable) {
          HcmDeviceMessaging.removeNotificationOpenedListener();
          HcmDeviceMessaging.removeMessageListener();
          HcmDeviceMessaging.removeTokenRefreshedListener();
        }
      }
    }, {
      key: "getInitialNotification",
      value: function getInitialNotification() {
        return _regenerator.default.async(function getInitialNotification$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!this.isLibraryAvailable) {
                  _context2.next = 2;
                  break;
                }

                return _context2.abrupt("return", HcmDeviceMessaging.getInitialNotification());

              case 2:
                return _context2.abrupt("return", undefined);

              case 3:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "parsePushEvent",
      value: function parsePushEvent(event) {
        var _event$data = event.data,
            data = _event$data === undefined ? {} : _event$data,
            messageId = event.messageId;
        var body = data.body,
            title = data.title,
            _data$android = data.android,
            android = _data$android === undefined ? {} : _data$android,
            sound = data.sound,
            rest = (0, _objectWithoutProperties2.default)(data, ["body", "title", "android", "sound"]);
        return {
          title: title,
          body: body,
          sound: android ? android.sound : sound,
          data: rest,
          messageId: messageId
        };
      }
    }, {
      key: "getToken",
      value: function getToken() {
        return _regenerator.default.async(function getToken$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                if (!this.isLibraryAvailable) {
                  _context3.next = 2;
                  break;
                }

                return _context3.abrupt("return", HcmDeviceMessaging.getToken(this.appId));

              case 2:
                return _context3.abrupt("return", "");

              case 3:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "deleteToken",
      value: function deleteToken() {
        return _regenerator.default.async(function deleteToken$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!this.isLibraryAvailable) {
                  _context4.next = 2;
                  break;
                }

                return _context4.abrupt("return", HcmDeviceMessaging.deleteToken(this.appId));

              case 2:
                return _context4.abrupt("return", Promise.resolve());

              case 3:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "clearOldStoredNotifications",
      value: function clearOldStoredNotifications() {
        return _regenerator.default.async(function clearOldStoredNotifications$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                if (!this.isLibraryAvailable) {
                  _context5.next = 2;
                  break;
                }

                return _context5.abrupt("return", HcmDeviceMessaging.clearOldStoredNotifications());

              case 2:
                return _context5.abrupt("return", false);

              case 3:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }]);
    return HuaweiPush;
  }(_$$_REQUIRE(_dependencyMap[12]).BaseCustomModulePush);

  exports.HuaweiPush = HuaweiPush;
  HuaweiPush.NAME = "hcm";
},2141,[5,80,108,7,8,90,12,14,16,460,731,572,2139]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.RootComponent = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _rootNavigator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _rootBase = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _PushHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _Api = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[19]));

  var _IAPHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _webUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _InterstitialsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _GlobalConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[23]));

  var _LiveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[24]));

  var _KeyEvent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[25]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[26]));

  var _zoomConstants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[27]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[28]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var RootComponent = function (_Shortcut) {
    (0, _inherits2.default)(RootComponent, _Shortcut);

    var _super = _createSuper(RootComponent);

    function RootComponent(props) {
      var _this;

      (0, _classCallCheck2.default)(this, RootComponent);
      _this = _super.call(this, props);
      global.initBaseValues(props);
      _this.currentAppState = _reactNative.AppState.currentState;
      _this.connectionInfo = undefined;
      _this.onHandleConnectivityChange = _this._handleConnectivityChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.stateChangeHandler = _this._handleAppStateChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLayout = _this._onLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.handleOpenURL = _this._handleOpenURL.bind((0, _assertThisInitialized2.default)(_this));
      _this.onDeviceColorSchemeChange = _this._onDeviceColorSchemeChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onKeyDown = _this._onKeyDown.bind((0, _assertThisInitialized2.default)(_this));
      _this.onKeyUp = _this._onKeyUp.bind((0, _assertThisInitialized2.default)(_this));
      _this.handleConfigUpdateOnPSetup = _this._handleConfigUpdateOnPSetup.bind((0, _assertThisInitialized2.default)(_this));

      if (_$$_REQUIRE(_dependencyMap[29]).PlatformUtils.isAndroid() && typeof _reactNative.UIManager.setLayoutAnimationEnabledExperimental === "function") {
        _reactNative.UIManager.setLayoutAnimationEnabledExperimental(true);
      }

      _this.onAccessibilityModeChange = _this._onAccessibilityModeChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        loading: true,
        initialized: false
      };
      return _this;
    }

    (0, _createClass2.default)(RootComponent, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        var fullOrientation, url, initialURL;
        return _regenerator.default.async(function componentDidMount$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                (0, _get2.default)((0, _getPrototypeOf2.default)(RootComponent.prototype), "componentDidMount", this).call(this);
                _context2.next = 3;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[29]).NetworkUtils.getConnectionInfo());

              case 3:
                this.connectionInfo = _context2.sent;
                _context2.next = 6;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[29]).PlatformUtils.initPlatformInfo());

              case 6:
                _context2.next = 8;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[30]).OurBridge.getStatusBarOrientation());

              case 8:
                fullOrientation = _context2.sent;

                _deviceUtils.default.setScreenDimensions({
                  fullOrientation: fullOrientation
                });

                _deviceUtils.default.setCurrentAppState("active");

                _deviceUtils.default.setAppearance(_$$_REQUIRE(_dependencyMap[31]).initialMode);

                _zoomConstants.default.init();

                _Api.default.setTimeout();

                _context2.next = 16;
                return _regenerator.default.awrap(_GlobalConfig.default.initMachineId());

              case 16:
                _reactNative.AppState.addEventListener("change", this.stateChangeHandler);

                _$$_REQUIRE(_dependencyMap[29]).NetworkUtils.addConnectionChangeEventListener(this.onHandleConnectivityChange);

                this.newIntentListener = _$$_REQUIRE(_dependencyMap[30]).RNEventEmitter.addListener(_$$_REQUIRE(_dependencyMap[30]).RNEventEmitter.NEW_INTENT, this.handleOpenURL);
                this.onKeyDownListener = _$$_REQUIRE(_dependencyMap[30]).RNEventEmitter.addListener(_$$_REQUIRE(_dependencyMap[30]).RNEventEmitter.ON_KEY_DOWN, this.onKeyDown);
                this.onKeyUpListener = _$$_REQUIRE(_dependencyMap[30]).RNEventEmitter.addListener(_$$_REQUIRE(_dependencyMap[30]).RNEventEmitter.ON_KEY_UP, this.onKeyUp);
                this.onAccessibilityModeListener = _reactNative.AccessibilityInfo.addEventListener("screenReaderChanged", this.onAccessibilityModeChange);
                _context2.prev = 22;
                _context2.next = 25;
                return _regenerator.default.awrap(global.getLocaleConfig().initLocale());

              case 25:
                _context2.next = 29;
                break;

              case 27:
                _context2.prev = 27;
                _context2.t0 = _context2["catch"](22);

              case 29:
                if (!_$$_REQUIRE(_dependencyMap[29]).PlatformUtils.isAndroid()) {
                  _context2.next = 36;
                  break;
                }

                url = this.props.url;

                if (!url) {
                  _context2.next = 34;
                  break;
                }

                _context2.next = 34;
                return _regenerator.default.awrap(this.handleOpenURL({
                  url: url
                }));

              case 34:
                _context2.next = 44;
                break;

              case 36:
                this.safeAreaChangeEventId = _$$_REQUIRE(_dependencyMap[32]).EventRegister.on(_events.default.ON_SAFE_AREA_CHANGE, function () {
                  _this2.setLayout(_deviceUtils.default.getSafeArea());
                });

                _reactNative.Linking.addEventListener("url", this.handleOpenURL);

                _context2.next = 40;
                return _regenerator.default.awrap(_reactNative.Linking.getInitialURL());

              case 40:
                initialURL = _context2.sent;

                if (!initialURL) {
                  _context2.next = 44;
                  break;
                }

                _context2.next = 44;
                return _regenerator.default.awrap(this.handleOpenURL({
                  url: initialURL
                }));

              case 44:
                _$$_REQUIRE(_dependencyMap[31]).eventEmitter.on("currentModeChanged", this.onDeviceColorSchemeChange);

                this.onCheckConfigUpdateEvent = _$$_REQUIRE(_dependencyMap[32]).EventRegister.on(_events.default.CONFIG_UPDATE_CHECK, function _callee() {
                  var _ref,
                      _ref$config,
                      config,
                      _await$_this2$handleC,
                      forceRestart,
                      needUpdate,
                      lastIssueChanged,
                      allowedIPChanged,
                      _args = arguments;

                  return _regenerator.default.async(function _callee$(_context) {
                    while (1) {
                      switch (_context.prev = _context.next) {
                        case 0:
                          _ref = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}, _ref$config = _ref.config, config = _ref$config === undefined ? global.getMainPSetup() : _ref$config;
                          _context.next = 3;
                          return _regenerator.default.awrap(_this2.handleConfigUpdateOnPSetup(config));

                        case 3:
                          _await$_this2$handleC = _context.sent;
                          forceRestart = _await$_this2$handleC.forceRestart;
                          needUpdate = _await$_this2$handleC.needUpdate;
                          lastIssueChanged = _await$_this2$handleC.lastIssueChanged;
                          allowedIPChanged = _await$_this2$handleC.allowedIPChanged;

                          if (forceRestart) {
                            _this2._showHintRestart();
                          } else {
                            if (lastIssueChanged && config.pSetup === global.getActivePSetup().pSetup) {
                              _$$_REQUIRE(_dependencyMap[32]).EventRegister.emit(_events.default.TRIGGER_NEWSMEMORY_RESTART);
                            }

                            if (allowedIPChanged && _LiveConfig.default.isRssSide() && config.pSetup === global.getRSSActivePSetup().pSetup) {
                              _this2._showHintRestart();
                            } else if (needUpdate) {
                              _this2._showHintUpdateUi();
                            }
                          }

                        case 9:
                        case "end":
                          return _context.stop();
                      }
                    }
                  }, null, null, null, Promise);
                });
                this.setState({
                  loading: false,
                  initialized: false
                });
                this.startNetworkStatusCheck();

              case 48:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, [[22, 27]], Promise);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(RootComponent.prototype), "componentWillUnmount", this).call(this);

        _reactNative.AppState.removeEventListener("change", this.stateChangeHandler);

        if (this.newIntentListener) {
          this.newIntentListener.remove();
        }

        if (this.onKeyDownListener) {
          this.onKeyDownListener.remove();
        }

        if (this.onKeyUpListener) {
          this.onKeyUpListener.remove();
        }

        if (this.onAccessibilityModeListener) {
          this.onAccessibilityModeListener.remove();
        }

        _reactNative.Linking.removeEventListener("url", this.handleOpenURL);

        _$$_REQUIRE(_dependencyMap[32]).EventRegister.rm(this.safeAreaChangeEventId);

        _$$_REQUIRE(_dependencyMap[32]).EventRegister.rm(this.onCheckConfigUpdateEvent);

        _PushHelper.default.unregisterListener();

        this.clearNetworkStatusCheck();
        this.clearConnectivityChangeTimeout();
      }
    }, {
      key: "_handleShortcut",
      value: function _handleShortcut() {
        return [];
      }
    }, {
      key: "_onKeyDown",
      value: function _onKeyDown(event) {
        _LiveConfig.default.keyDown(new _KeyEvent.default(event));

        try {
          _$$_REQUIRE(_dependencyMap[33]).ShortcutManager.onKeyDown({
            combo: _LiveConfig.default.getKeysCombo(),
            comboNoRL: _LiveConfig.default.getKeysComboNoRL()
          });
        } catch (e) {}
      }
    }, {
      key: "_onKeyUp",
      value: function _onKeyUp(event) {
        _LiveConfig.default.keyUp(new _KeyEvent.default(event));
      }
    }, {
      key: "_onAccessibilityModeChange",
      value: function _onAccessibilityModeChange(enable) {
        _$$_REQUIRE(_dependencyMap[29]).PlatformUtils.setSystemAccessibilityMode(enable);

        _$$_REQUIRE(_dependencyMap[32]).EventRegister.emit(_events.default.ON_ACCESSIBILITY_MODE_CHANGE, {
          enable: enable
        });
      }
    }, {
      key: "clearNetworkStatusCheck",
      value: function clearNetworkStatusCheck() {
        if (RootComponent.INTERVAL_ID > -1) {
          clearInterval(RootComponent.INTERVAL_ID);
        }

        RootComponent.INTERVAL_ID = -1;
      }
    }, {
      key: "clearConnectivityChangeTimeout",
      value: function clearConnectivityChangeTimeout() {
        if (RootComponent.CONNECTIVITY_TIMEOUT > -1) {
          clearTimeout(RootComponent.CONNECTIVITY_TIMEOUT);
        }

        RootComponent.CONNECTIVITY_TIMEOUT = -1;
      }
    }, {
      key: "startNetworkStatusCheck",
      value: function startNetworkStatusCheck() {
        var _this3 = this;

        if (RootComponent.INTERVAL_ID < 0) {
          RootComponent.INTERVAL_ID = setInterval(function _callee2() {
            var info;
            return _regenerator.default.async(function _callee2$(_context3) {
              while (1) {
                switch (_context3.prev = _context3.next) {
                  case 0:
                    _context3.prev = 0;
                    _context3.next = 3;
                    return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[29]).NetworkUtils.getConnectionInfo());

                  case 3:
                    info = _context3.sent;

                    _this3._handleConnectivityChange(info, true);

                    _context3.next = 9;
                    break;

                  case 7:
                    _context3.prev = 7;
                    _context3.t0 = _context3["catch"](0);

                  case 9:
                  case "end":
                    return _context3.stop();
                }
              }
            }, null, null, [[0, 7]], Promise);
          }, RootComponent.INTERVAL_ID_VALUE);
        }
      }
    }, {
      key: "_onDeviceColorSchemeChange",
      value: function _onDeviceColorSchemeChange(mode) {
        if (_deviceUtils.default.getAppearance() !== mode) {
          _deviceUtils.default.setAppearance(mode);

          this._forceRestart();
        }
      }
    }, {
      key: "_handleConnectivityChange",
      value: function _handleConnectivityChange(connectionInfo) {
        var _this4 = this;

        var fromInterval = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;

        if (RootComponent.CONNECTIVITY_TIMEOUT > -1) {
          this.clearConnectivityChangeTimeout();
        }

        RootComponent.CONNECTIVITY_TIMEOUT = setTimeout(function () {
          if (!_$$_REQUIRE(_dependencyMap[29]).JSUtils.equals(_this4.connectionInfo, connectionInfo)) {
            _Api.default.setTimeout();

            if (_this4.connectionInfo !== undefined) {
              _$$_REQUIRE(_dependencyMap[32]).EventRegister.emit(_events.default.ON_CONNECTIVITY_CHANGE, (0, _extends2.default)({}, connectionInfo, {
                online: _$$_REQUIRE(_dependencyMap[29]).NetworkUtils.isOnline()
              }));
            }

            _this4.connectionInfo = connectionInfo;
          }
        }, fromInterval ? RootComponent.CONNECTIVITY_TIMEOUT_FROM_INTERVAL : RootComponent.CONNECTIVITY_TIMEOUT_FROM_SYSTEM);
      }
    }, {
      key: "_handleAppStateChange",
      value: function _handleAppStateChange(nextAppState) {
        var update, fromBackground, allowFontScaling;
        return _regenerator.default.async(function _handleAppStateChange$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                update = false;
                fromBackground = this.currentAppState && this.currentAppState.match(/(background|inactive|unknown)/);

                if (!(this.currentAppState && !_IAPHelper.default.purchasing && !_InterstitialsHelper.default.showingNativeInterstitial)) {
                  _context5.next = 17;
                  break;
                }

                if (!(fromBackground && nextAppState === "active")) {
                  _context5.next = 15;
                  break;
                }

                _PushHelper.default.resetBadge();

                _PushHelper.default.checkIfSendRegistration();

                if (!_$$_REQUIRE(_dependencyMap[29]).NetworkUtils.isOnline()) {
                  _context5.next = 10;
                  break;
                }

                _context5.next = 9;
                return _regenerator.default.awrap(this._checkConfigUpdate());

              case 9:
                update = _context5.sent;

              case 10:
                allowFontScaling = global.getUserSettings().getAllowFontScaling();

                if (allowFontScaling) {
                  _$$_REQUIRE(_dependencyMap[29]).PlatformUtils.updateFontScale().then(function _callee3(changed) {
                    return _regenerator.default.async(function _callee3$(_context4) {
                      while (1) {
                        switch (_context4.prev = _context4.next) {
                          case 0:
                            if (!changed) {
                              _context4.next = 6;
                              break;
                            }

                            if (!(_$$_REQUIRE(_dependencyMap[29]).PlatformUtils.hasNotDefaultFontScale() && !global.getUserSettings().userAlreadySetAllowFontScale)) {
                              _context4.next = 5;
                              break;
                            }

                            _context4.next = 4;
                            return _regenerator.default.awrap(global.getUserSettings().showAllowFontScalingModal());

                          case 4:
                            allowFontScaling = _context4.sent;

                          case 5:
                            if (allowFontScaling) {
                              _$$_REQUIRE(_dependencyMap[32]).EventRegister.emit(_events.default.SYSTEM_FONT_SIZE_CHANGED);
                            }

                          case 6:
                          case "end":
                            return _context4.stop();
                        }
                      }
                    }, null, null, null, Promise);
                  });
                }

                (0, _$$_REQUIRE(_dependencyMap[34]).trackEnterForeground)();
                _context5.next = 16;
                break;

              case 15:
                (0, _$$_REQUIRE(_dependencyMap[34]).trackEnterBackground)();

              case 16:
                if (!update) {
                  if (this.currentAppState.match(/background/) && nextAppState === "active") {
                    if (global.getAudio().ttsIsPaused()) {
                      global.getAudio().ttsResume();
                    }

                    _$$_REQUIRE(_dependencyMap[32]).EventRegister.emit(_events.default.ON_STATE_CHANGE_GOING_FOREGROUND, {
                      currentAppState: this.currentAppState,
                      nextAppState: nextAppState
                    });
                  } else if (nextAppState === "background") {
                    if (global.getAudio().ttsIsSpeaking()) {
                      global.getAudio().ttsPause();
                    }

                    _$$_REQUIRE(_dependencyMap[32]).EventRegister.emit(_events.default.ON_STATE_CHANGE_GOING_BACKGROUND, {
                      currentAppState: this.currentAppState,
                      nextAppState: nextAppState
                    });
                  } else if (this.currentAppState.match(/active/) && nextAppState === "inactive") {
                    _$$_REQUIRE(_dependencyMap[32]).EventRegister.emit(_events.default.ON_STATE_CHANGE_GOING_INACTIVE, {
                      currentAppState: this.currentAppState,
                      nextAppState: nextAppState
                    });
                  }
                }

              case 17:
                if (_InterstitialsHelper.default.showingNativeInterstitial && fromBackground) {
                  _InterstitialsHelper.default.showingNativeInterstitial = false;
                }

                this.currentAppState = nextAppState;

                _deviceUtils.default.setCurrentAppState(this.currentAppState);

              case 20:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_handleOpenURL",
      value: function _handleOpenURL(obj) {
        var url, params;
        return _regenerator.default.async(function _handleOpenURL$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                url = obj.url;
                params = _webUtils.default.parseUniversalLink(url);

                if (!params) {
                  _context6.next = 6;
                  break;
                }

                global.setNewsmemoryStartupParams(params);

                this._forceRestart();

                return _context6.abrupt("return", true);

              case 6:
                return _context6.abrupt("return", false);

              case 7:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_forceRestart",
      value: function _forceRestart() {
        var IOSClassicEPaper;
        return _regenerator.default.async(function _forceRestart$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                IOSClassicEPaper = _optionalPackageUtils.default.getIOSClassicEPaper();

                if (!IOSClassicEPaper) {
                  _context7.next = 9;
                  break;
                }

                _context7.prev = 2;
                _context7.next = 5;
                return _regenerator.default.awrap(IOSClassicEPaper.closeNativeNewsMemory());

              case 5:
                _context7.next = 9;
                break;

              case 7:
                _context7.prev = 7;
                _context7.t0 = _context7["catch"](2);

              case 9:
                _NavigationService.default.restart();

                return _context7.abrupt("return", true);

              case 11:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, [[2, 7]], Promise);
      }
    }, {
      key: "_showHint",
      value: function _showHint(hint, onHide) {
        _$$_REQUIRE(_dependencyMap[35]).HintOverlay.show({
          config: {
            hint: hint,
            key: "hint_root_component",
            autoHideTime: 3000,
            showAlways: true
          },
          onHide: onHide
        });
      }
    }, {
      key: "_showHintRestart",
      value: function _showHintRestart() {
        var _this5 = this;

        return _regenerator.default.async(function _showHintRestart$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                if (!_LiveConfig.default.isEpaperClassicSide()) {
                  _context8.next = 4;
                  break;
                }

                this._forceRestart();

                _context8.next = 7;
                break;

              case 4:
                _context8.next = 6;
                return _regenerator.default.awrap(new Promise(function (resolve) {
                  return _$$_REQUIRE(_dependencyMap[32]).EventRegister.emit(_events.default.ON_POSTPONE_ACTION, {
                    resolve: resolve
                  });
                }));

              case 6:
                this._showHint(global.strings("hint_restart"), function () {
                  _this5._forceRestart();
                });

              case 7:
              case "end":
                return _context8.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_showHintUpdateUi",
      value: function _showHintUpdateUi() {
        if (!_LiveConfig.default.isEpaperClassicSide()) {
          _$$_REQUIRE(_dependencyMap[32]).EventRegister.emit(_events.default.CONFIG_FORCE_UPDATE, {
            message: global.strings("hint_update_ui")
          });
        }
      }
    }, {
      key: "_handleConfigUpdateOnPSetup",
      value: function _handleConfigUpdateOnPSetup() {
        var pSetupConfig,
            forceRestart,
            needUpdate,
            customLanguagePackUpdated,
            customFontsUpdated,
            sslCertificateUpdated,
            lastIssueChanged,
            allowedIPChanged,
            rnStylesUpdated,
            newBundleAvailable,
            migrateChanged,
            nativeOptionspageFallbackChanged,
            pSetupUpdated,
            pSetup,
            machine,
            currentLastIssue,
            currentLastEdition,
            currentLastPSetup,
            currentDemoIssue,
            rssIndexFileTime,
            sslCertificateFileTime,
            customLanguagePackFileTime,
            customFontsFileTime,
            rnStylesFileTime,
            external,
            currentAllowedIP,
            bundleUpdateAvailable,
            currentMigrate,
            currentShowNativeOptionsPageFallbackUrl,
            response,
            filetimes,
            rssIndexUpdated,
            hybridUpdated,
            lastIssue,
            lastEdition,
            lastPSetup,
            demoIssue,
            userIP,
            isAllowedIP,
            cdnEnabled,
            cdnServer,
            migrate,
            showNativeOptionsPageFallbackUrl,
            layoutUpdatedFromPSetup,
            _await$global$initCon,
            success,
            config,
            diffKeys,
            rssIndexTime,
            customLanguagePackTime,
            customFontsTime,
            rnStylesTime,
            sslCertificateTime,
            rssIsEnabled,
            _await$global$getRssI,
            _success,
            _args9 = arguments;

        return _regenerator.default.async(function _handleConfigUpdateOnPSetup$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                pSetupConfig = _args9.length > 0 && _args9[0] !== undefined ? _args9[0] : global.getMainPSetup();
                forceRestart = false;
                needUpdate = false;
                customLanguagePackUpdated = false;
                customFontsUpdated = false;
                sslCertificateUpdated = false;
                lastIssueChanged = false;
                allowedIPChanged = false;
                rnStylesUpdated = false;
                newBundleAvailable = false;
                migrateChanged = false;
                nativeOptionspageFallbackChanged = false;

                if (_$$_REQUIRE(_dependencyMap[29]).JSUtils.isEmpty(pSetupConfig)) {
                  _context9.next = 81;
                  break;
                }

                pSetupUpdated = false;
                pSetup = pSetupConfig.pSetup, machine = pSetupConfig.machine, currentLastIssue = pSetupConfig.lastIssue, currentLastEdition = pSetupConfig.lastEdition, currentLastPSetup = pSetupConfig.lastPSetup, currentDemoIssue = pSetupConfig.demoIssue, rssIndexFileTime = pSetupConfig.rssIndexFileTime, sslCertificateFileTime = pSetupConfig.sslCertificateFileTime, customLanguagePackFileTime = pSetupConfig.customLanguagePackFileTime, customFontsFileTime = pSetupConfig.customFontsFileTime, rnStylesFileTime = pSetupConfig.rnStylesFileTime, external = pSetupConfig.external, currentAllowedIP = pSetupConfig.isAllowedIP, bundleUpdateAvailable = pSetupConfig.bundleUpdateAvailable, currentMigrate = pSetupConfig.migrate, currentShowNativeOptionsPageFallbackUrl = pSetupConfig.showNativeOptionsPageFallbackUrl;
                _context9.next = 17;
                return _regenerator.default.awrap(RootComponent.checkConfigUpdateOnPSetup(pSetupConfig));

              case 17:
                response = _context9.sent;
                filetimes = response.filetimes, rssIndexUpdated = response.rssIndexUpdated, hybridUpdated = response.hybridUpdated, lastIssue = response.lastIssue, lastEdition = response.lastEdition, lastPSetup = response.lastPSetup, demoIssue = response.demoIssue, userIP = response.userIP, isAllowedIP = response.isAllowedIP, cdnEnabled = response.cdnEnabled, cdnServer = response.cdnServer, migrate = response.migrate, showNativeOptionsPageFallbackUrl = response.showNativeOptionsPageFallbackUrl;
                pSetupUpdated = response.pSetupUpdated;
                customLanguagePackUpdated = response.customLanguagePackUpdated;
                customFontsUpdated = response.customFontsUpdated;
                sslCertificateUpdated = response.sslCertificateUpdated;
                rnStylesUpdated = response.rnStylesUpdated;
                newBundleAvailable = response.newBundleAvailable;
                forceRestart = response.forceRestart;
                lastIssueChanged = lastIssue && lastIssue !== currentLastIssue || lastEdition && lastEdition !== currentLastEdition || lastPSetup && lastPSetup !== currentLastPSetup || demoIssue && demoIssue !== currentDemoIssue;
                allowedIPChanged = currentAllowedIP !== isAllowedIP;
                migrateChanged = currentMigrate !== migrate;
                nativeOptionspageFallbackChanged = currentShowNativeOptionsPageFallbackUrl !== showNativeOptionsPageFallbackUrl;
                layoutUpdatedFromPSetup = false;

                if (!(pSetupUpdated || rnStylesUpdated || hybridUpdated)) {
                  _context9.next = 42;
                  break;
                }

                _context9.next = 34;
                return _regenerator.default.awrap(global.initConfigOnly(pSetup, machine));

              case 34:
                _await$global$initCon = _context9.sent;
                success = _await$global$initCon.success;
                config = _await$global$initCon.config;
                config.setExternal(external);

                if (success) {
                  diffKeys = pSetupConfig._getDifferences(config);
                  forceRestart = pSetupConfig._checkIfNeedToRestart(diffKeys);
                  pSetupUpdated = pSetupConfig._checkIfNeedToUpdate(diffKeys);
                  layoutUpdatedFromPSetup = pSetupConfig._checkIfNeedLayoutUpdate(diffKeys);
                } else {
                  forceRestart = false;
                  pSetupUpdated = false;
                }

                global.setPSetupConfig(pSetup, config);
                _context9.next = 50;
                break;

              case 42:
                if (userIP) {
                  _$$_REQUIRE(_dependencyMap[29]).NetworkUtils.setIP(userIP);
                }

                pSetupConfig.setAllowedIP(isAllowedIP);

                if (cdnEnabled !== undefined) {
                  pSetupConfig.setCDNEnabled(cdnEnabled);
                  pSetupConfig.setCDNServer(cdnServer || "");
                }

                if (lastIssueChanged) {
                  if (lastIssue) {
                    pSetupConfig.setLastIssue(lastIssue);
                  }

                  if (lastEdition) {
                    pSetupConfig.setLastEdition(lastEdition);
                  }

                  if (lastPSetup) {
                    pSetupConfig.setLastPSetup(lastPSetup);
                  }

                  if (demoIssue) {
                    pSetupConfig.setDemoIssue(demoIssue);
                  }
                }

                if (bundleUpdateAvailable !== newBundleAvailable) {
                  pSetupConfig.setBundleUpdateAvailable(newBundleAvailable);
                }

                if (migrateChanged) {
                  pSetupConfig.setMigrate(migrate);
                }

                if (nativeOptionspageFallbackChanged) {
                  pSetupConfig.setNativeOptionspageFallbackVersion(showNativeOptionsPageFallbackUrl);
                }

                if (filetimes) {
                  rssIndexTime = filetimes.rssIndexTime, customLanguagePackTime = filetimes.customLanguagePackTime, customFontsTime = filetimes.customFontsTime, rnStylesTime = filetimes.rnStylesTime, sslCertificateTime = filetimes.sslCertificateTime;

                  if (rssIndexTime !== rssIndexFileTime) {
                    pSetupConfig.setRssIndexFileTime(rssIndexTime);
                  }

                  if (customLanguagePackTime !== customLanguagePackFileTime) {
                    pSetupConfig.setCustomLanguagePackFileTime(customLanguagePackTime);
                  }

                  if (customFontsTime !== customFontsFileTime) {
                    pSetupConfig.setCustomFontsFileTime(customFontsTime);
                  }

                  if (rnStylesTime !== rnStylesFileTime) {
                    pSetupConfig.setRNStylesFileTime(rnStylesTime);
                  }

                  if (sslCertificateTime !== sslCertificateFileTime) {
                    pSetupConfig.setSSLCertificateFileTime(sslCertificateTime);
                  }
                }

              case 50:
                if (forceRestart) {
                  _context9.next = 81;
                  break;
                }

                needUpdate = pSetupUpdated || layoutUpdatedFromPSetup || rssIndexUpdated || customLanguagePackUpdated || customFontsUpdated || rnStylesUpdated || hybridUpdated;

                if (!rssIndexUpdated) {
                  _context9.next = 62;
                  break;
                }

                rssIsEnabled = pSetupConfig.rssIsEnabled;

                if (!rssIsEnabled) {
                  _context9.next = 62;
                  break;
                }

                _context9.next = 57;
                return _regenerator.default.awrap(global.getRssIndexManager().init());

              case 57:
                _await$global$getRssI = _context9.sent;
                _success = _await$global$getRssI.success;

                if (!_success) {
                  _context9.next = 62;
                  break;
                }

                _context9.next = 62;
                return _regenerator.default.awrap(_GlobalConfig.default.initRssConfig());

              case 62:
                if (!(pSetupUpdated || rssIndexUpdated)) {
                  _context9.next = 68;
                  break;
                }

                _context9.next = 65;
                return _regenerator.default.awrap(_GlobalConfig.default.initUserConfig());

              case 65:
                if (!pSetupUpdated) {
                  _context9.next = 68;
                  break;
                }

                _context9.next = 68;
                return _regenerator.default.awrap(_GlobalConfig.default.initNewsmemoryConfig());

              case 68:
                if (!(pSetupUpdated || customLanguagePackUpdated)) {
                  _context9.next = 72;
                  break;
                }

                _context9.next = 71;
                return _regenerator.default.awrap(_GlobalConfig.default.initLocale(pSetupConfig));

              case 71:
                _GlobalConfig.default.initCustomStyles();

              case 72:
                if (!customFontsUpdated) {
                  _context9.next = 75;
                  break;
                }

                _context9.next = 75;
                return _regenerator.default.awrap(_GlobalConfig.default.initCustomFonts(pSetupConfig));

              case 75:
                if (!(layoutUpdatedFromPSetup || hybridUpdated)) {
                  _context9.next = 78;
                  break;
                }

                _context9.next = 78;
                return _regenerator.default.awrap(_GlobalConfig.default.initEpaperLayoutConfig());

              case 78:
                if (!(hybridUpdated || rssIndexUpdated)) {
                  _context9.next = 81;
                  break;
                }

                _context9.next = 81;
                return _regenerator.default.awrap(_GlobalConfig.default.initAds());

              case 81:
                return _context9.abrupt("return", {
                  forceRestart: forceRestart,
                  needUpdate: needUpdate,
                  customLanguagePackUpdated: customLanguagePackUpdated,
                  customFontsUpdated: customFontsUpdated,
                  sslCertificateUpdated: sslCertificateUpdated,
                  lastIssueChanged: lastIssueChanged,
                  allowedIPChanged: allowedIPChanged,
                  rnStylesUpdated: rnStylesUpdated,
                  migrateChanged: migrateChanged
                });

              case 82:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "_checkConfigUpdate",
      value: function _checkConfigUpdate() {
        var mainPSetupConfig, activePSetupConfig, pSetup, language, activePSetup, activeLanguage, result, customLanguagePackUpdated, customFontsUpdated, sslCertificateUpdated, allowedIPChanged, rnStylesUpdated, migrateChanged, needUpdate, forceRestart, _await$this$handleCon, activeForceRestart, activeNeedUpdate, activeCustomLanguagePackUpdated, activeCustomFontsUpdated, activeRnStylesUpdated, _NewsmemoryUtils$pars, mainpSetup, xpSetup, rnStyles, rnStylesFileTime;

        return _regenerator.default.async(function _checkConfigUpdate$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                mainPSetupConfig = global.getMainPSetup();
                activePSetupConfig = global.getActivePSetup();
                pSetup = mainPSetupConfig.pSetup, language = mainPSetupConfig.language;
                activePSetup = activePSetupConfig.pSetup, activeLanguage = activePSetupConfig.language;
                _context10.next = 6;
                return _regenerator.default.awrap(this.handleConfigUpdateOnPSetup(mainPSetupConfig));

              case 6:
                result = _context10.sent;
                customLanguagePackUpdated = result.customLanguagePackUpdated, customFontsUpdated = result.customFontsUpdated, sslCertificateUpdated = result.sslCertificateUpdated, allowedIPChanged = result.allowedIPChanged, rnStylesUpdated = result.rnStylesUpdated, migrateChanged = result.migrateChanged;
                needUpdate = result.needUpdate;
                forceRestart = result.forceRestart || sslCertificateUpdated || allowedIPChanged && _LiveConfig.default.isRssSide() || migrateChanged;

                if (!(activePSetup !== pSetup)) {
                  _context10.next = 30;
                  break;
                }

                _context10.next = 13;
                return _regenerator.default.awrap(this.handleConfigUpdateOnPSetup(activePSetupConfig));

              case 13:
                _await$this$handleCon = _context10.sent;
                activeForceRestart = _await$this$handleCon.forceRestart;
                activeNeedUpdate = _await$this$handleCon.needUpdate;
                activeCustomLanguagePackUpdated = _await$this$handleCon.customLanguagePackUpdated;
                activeCustomFontsUpdated = _await$this$handleCon.customFontsUpdated;
                activeRnStylesUpdated = _await$this$handleCon.rnStylesUpdated;
                _NewsmemoryUtils$pars = _newsmemoryUtils.default.parseXpSetup(activePSetup), mainpSetup = _NewsmemoryUtils$pars.mainpSetup, xpSetup = _NewsmemoryUtils$pars.xpSetup;

                if (mainpSetup === pSetup && !!xpSetup && rnStylesUpdated && !activeRnStylesUpdated) {
                  rnStyles = mainPSetupConfig.rnStyles, rnStylesFileTime = mainPSetupConfig.rnStylesFileTime;
                  activePSetupConfig.setRNStyles(rnStyles);
                  activePSetupConfig.setRNStylesFileTime(rnStylesFileTime);
                }

                forceRestart = forceRestart || activeForceRestart;
                needUpdate = needUpdate || activeNeedUpdate;

                if (!(!forceRestart && needUpdate)) {
                  _context10.next = 30;
                  break;
                }

                if (!(language === activeLanguage && customLanguagePackUpdated && !activeCustomLanguagePackUpdated)) {
                  _context10.next = 27;
                  break;
                }

                _context10.next = 27;
                return _regenerator.default.awrap(_GlobalConfig.default.initLocale(activePSetupConfig));

              case 27:
                if (!(customFontsUpdated && !activeCustomFontsUpdated)) {
                  _context10.next = 30;
                  break;
                }

                _context10.next = 30;
                return _regenerator.default.awrap(_GlobalConfig.default.initCustomFonts(activePSetupConfig));

              case 30:
                if (forceRestart) {
                  this._showHintRestart();
                } else if (needUpdate) {
                  this._showHintUpdateUi();
                }

                return _context10.abrupt("return", forceRestart);

              case 32:
              case "end":
                return _context10.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "setLayout",
      value: function setLayout(layout) {
        var orientation, fullOrientation, somethingChange;
        return _regenerator.default.async(function setLayout$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                if (!global.appNeedsSafeArea()) {
                  _context11.next = 7;
                  break;
                }

                orientation = layout.height > layout.width ? _$$_REQUIRE(_dependencyMap[29]).PlatformUtils.PORTRAIT : _$$_REQUIRE(_dependencyMap[29]).PlatformUtils.LANDSCAPE;
                _context11.next = 4;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[30]).OurBridge.getStatusBarOrientation());

              case 4:
                fullOrientation = _context11.sent;
                somethingChange = _deviceUtils.default.setScreenDimensions({
                  orientation: orientation,
                  fullOrientation: fullOrientation
                });

                if (somethingChange) {
                  _$$_REQUIRE(_dependencyMap[32]).EventRegister.emit(_events.default.ON_ORIENTATION_CHANGE, (0, _extends2.default)({}, _deviceUtils.default.screenDimensions, {
                    orientation: orientation,
                    fullOrientation: fullOrientation
                  }));
                }

              case 7:
              case "end":
                return _context11.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "_onLayout",
      value: function _onLayout(_ref2) {
        var nativeEvent, layout, initialized, result, fullOrientation, newOrientation, somethingChange, densityDPI, userSettings, startedAsTablet, deviceChanged;
        return _regenerator.default.async(function _onLayout$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                nativeEvent = _ref2.nativeEvent;
                _context12.next = 3;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[30]).OurBridge.isActionModeVisible());

              case 3:
                _context12.t0 = !_context12.sent;

                if (!_context12.t0) {
                  _context12.next = 6;
                  break;
                }

                _context12.t0 = !_IAPHelper.default.purchasing;

              case 6:
                if (!_context12.t0) {
                  _context12.next = 32;
                  break;
                }

                layout = nativeEvent.layout;
                initialized = this.state.initialized;
                (0, _$$_REQUIRE(_dependencyMap[36]).setRootContainerLayout)(layout);

                if (!(_$$_REQUIRE(_dependencyMap[29]).PlatformUtils.isAndroid() || !global.appNeedsSafeArea())) {
                  _context12.next = 31;
                  break;
                }

                result = {};
                _context12.prev = 12;
                _context12.next = 15;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[30]).OurBridge.isOrientationLocked());

              case 15:
                _context12.t1 = _context12.sent;

                if (_context12.t1) {
                  _context12.next = 18;
                  break;
                }

                _context12.t1 = {};

              case 18:
                result = _context12.t1;
                _context12.next = 23;
                break;

              case 21:
                _context12.prev = 21;
                _context12.t2 = _context12["catch"](12);

              case 23:
                _context12.next = 25;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[30]).OurBridge.getStatusBarOrientation());

              case 25:
                fullOrientation = _context12.sent;
                newOrientation = layout.height > layout.width ? _$$_REQUIRE(_dependencyMap[29]).PlatformUtils.PORTRAIT : _$$_REQUIRE(_dependencyMap[29]).PlatformUtils.LANDSCAPE;
                somethingChange = _deviceUtils.default.setScreenDimensions({
                  width: layout.width,
                  height: layout.height,
                  orientation: newOrientation,
                  fullOrientation: fullOrientation,
                  locked: result.locked,
                  lockedOrientation: result.orientation
                });
                densityDPI = this.props.densityDPI;

                _$$_REQUIRE(_dependencyMap[29]).PlatformUtils.setInchesBySizeAndDPI(densityDPI, _deviceUtils.default.getScreenDimensions());

                if (somethingChange) {
                  _deviceUtils.default.setSafeAreaFromScreenDimensions();

                  _$$_REQUIRE(_dependencyMap[32]).EventRegister.emit(_events.default.ON_ORIENTATION_CHANGE, (0, _extends2.default)({}, _deviceUtils.default.screenDimensions, {
                    orientation: newOrientation
                  }));
                }

              case 31:
                if (!initialized) {
                  this.setState({
                    initialized: true
                  });
                } else {
                  userSettings = global.getUserSettings();
                  startedAsTablet = userSettings.startedAsTablet;
                  deviceChanged = startedAsTablet !== _$$_REQUIRE(_dependencyMap[29]).PlatformUtils.isTablet();

                  if (deviceChanged) {
                    _NavigationService.default.restart();
                  }
                }

              case 32:
              case "end":
                return _context12.stop();
            }
          }
        }, null, this, [[12, 21]], Promise);
      }
    }, {
      key: "_getTheme",
      value: function _getTheme() {
        if (global.isTaAddon()) {
          return (0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[37]).DefaultTheme, {
            colors: (0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[37]).DefaultTheme.colors, {
              background: _$$_REQUIRE(_dependencyMap[29]).colors.transparent
            })
          });
        }

        return _$$_REQUIRE(_dependencyMap[37]).DefaultTheme;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$state = this.state,
            loading = _this$state.loading,
            initialized = _this$state.initialized;

        if (loading) {
          return null;
        }

        if (initialized) {
          var backgroundColor = global.splashBgColor ? global.splashBgColor : _$$_REQUIRE(_dependencyMap[29]).colors.white;

          _$$_REQUIRE(_dependencyMap[29]).PlatformUtils.colorBars(backgroundColor, backgroundColor);
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[36]).RootContainerLayoutContextProvider, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[38]).TecnaviaSafeAreaProvider, null, _react.default.createElement(_rootBase.default, {
          onLayout: this.onLayout
        }, initialized ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[36]).CustomNavigationContainer, {
          theme: this._getTheme(),
          onNavigationRef: _NavigationService.default.main.setRef
        }, _react.default.createElement(_rootNavigator.default, null)) : null)));
      }
    }], [{
      key: "checkConfigUpdateOnPSetup",
      value: function checkConfigUpdateOnPSetup(pSetupConfig) {
        var pSetupUpdated, rssIndexUpdated, customLanguagePackUpdated, customFontsUpdated, rnStylesUpdated, hybridUpdated, forceRestart, sslCertificateUpdated, newBundleAvailable, lastIssue, lastEdition, lastPSetup, demoIssue, isAllowedIP, cdnEnabled, cdnServer, migrate, showNativeOptionsPageFallbackUrl, userIP, pSetup, machine, udb, pSetupFileTime, rssIndexFileTime, customLanguagePackFileTime, customFontsFileTime, rnStylesFileTime, sslCertificateFileTime, hybridVersion, protectSite, result, params, newsmemoryConfig, filetimes, _result, _result2, _result3;

        return _regenerator.default.async(function checkConfigUpdateOnPSetup$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                pSetupUpdated = false;
                rssIndexUpdated = false;
                customLanguagePackUpdated = false;
                customFontsUpdated = false;
                rnStylesUpdated = false;
                hybridUpdated = false;
                forceRestart = false;
                sslCertificateUpdated = false;
                newBundleAvailable = false;
                lastIssue = pSetupConfig.lastIssue, lastEdition = pSetupConfig.lastEdition, lastPSetup = pSetupConfig.lastPSetup, demoIssue = pSetupConfig.demoIssue, isAllowedIP = pSetupConfig.isAllowedIP, cdnEnabled = pSetupConfig.cdnEnabled, cdnServer = pSetupConfig.cdnServer, migrate = pSetupConfig.migrate, showNativeOptionsPageFallbackUrl = pSetupConfig.showNativeOptionsPageFallbackUrl;
                userIP = _$$_REQUIRE(_dependencyMap[29]).NetworkUtils.getIP();
                pSetup = pSetupConfig.pSetup, machine = pSetupConfig.machine, udb = pSetupConfig.udb, pSetupFileTime = pSetupConfig.pSetupFileTime, rssIndexFileTime = pSetupConfig.rssIndexFileTime, customLanguagePackFileTime = pSetupConfig.customLanguagePackFileTime, customFontsFileTime = pSetupConfig.customFontsFileTime, rnStylesFileTime = pSetupConfig.rnStylesFileTime, sslCertificateFileTime = pSetupConfig.sslCertificateFileTime, hybridVersion = pSetupConfig.hybridVersion, protectSite = pSetupConfig.protectSite;
                _context13.prev = 12;
                params = {
                  pSetup: pSetup,
                  machine: machine,
                  pSetupFileTime: pSetupFileTime,
                  rssIndexFileTime: rssIndexFileTime > -1 ? rssIndexFileTime : undefined,
                  customLanguagePackFileTime: customLanguagePackFileTime > -1 ? customLanguagePackFileTime : undefined,
                  customFontsFileTime: customFontsFileTime > -1 ? customFontsFileTime : undefined,
                  rnStylesFileTime: rnStylesFileTime > -1 ? rnStylesFileTime : undefined,
                  sslCertificateFileTime: sslCertificateFileTime > -1 ? sslCertificateFileTime : undefined,
                  hybridVersion: hybridVersion,
                  bundleVersion: _deviceUtils.default.getBundleVersion(),
                  protectSite: protectSite
                };
                newsmemoryConfig = global.getNewsmemoryConfig();

                if (!newsmemoryConfig) {
                  _context13.next = 22;
                  break;
                }

                _context13.next = 18;
                return _regenerator.default.awrap(newsmemoryConfig.getPrefEdi(udb));

              case 18:
                params.prefEdi = _context13.sent;
                _context13.next = 21;
                return _regenerator.default.awrap(newsmemoryConfig.getFavEdi());

              case 21:
                params.favEdi = _context13.sent;

              case 22:
                if (global.apiKey) {
                  params.apiKey = global.apiKey;
                }

                _context13.next = 25;
                return _regenerator.default.awrap(_Api.default.requestWithRetry({
                  request: _Api.default.getConfig
                }, params));

              case 25:
                result = _context13.sent;
                _context13.next = 31;
                break;

              case 28:
                _context13.prev = 28;
                _context13.t0 = _context13["catch"](12);

                if (_context13.t0.response && _context13.t0.response.status === _Api.HTTP_CODES.UNAUTHORIZED) {
                  global.unauthorized = true;

                  _NavigationService.default.main.navigate("UnauthorizedScreen");
                }

              case 31:
                filetimes = {
                  pSetupTime: pSetupFileTime,
                  rssIndexTime: rssIndexFileTime,
                  customLanguagePackTime: customLanguagePackFileTime,
                  customFontsTime: customFontsFileTime,
                  rnStylesTime: rnStylesFileTime,
                  sslCertificateTime: sslCertificateFileTime
                };

                if (result) {
                  _result = result;
                  filetimes = _result.filetimes;
                  pSetupUpdated = _result.pSetupUpdated;
                  rssIndexUpdated = _result.rssIndexUpdated;
                  customLanguagePackUpdated = _result.customLanguagePackUpdated;
                  customFontsUpdated = _result.customFontsUpdated;
                  rnStylesUpdated = _result.rnStylesUpdated;
                  sslCertificateUpdated = _result.sslCertificateUpdated;
                  hybridUpdated = _result.hybridUpdated;
                  newBundleAvailable = _result.newBundleAvailable;
                  forceRestart = _result.forceRestart;
                  lastIssue = _result.lastIssue;
                  lastEdition = _result.lastEdition;
                  lastPSetup = _result.lastPSetup;
                  demoIssue = _result.demoIssue;
                  userIP = _result.userIP;
                  isAllowedIP = _result.isAllowedIP;
                  cdnEnabled = _result.cdnEnabled;
                  cdnServer = _result.cdnServer;

                  if (!_$$_REQUIRE(_dependencyMap[29]).JSUtils.isNull(result.migrate)) {
                    _result2 = result;
                    migrate = _result2.migrate;
                  }

                  if (!_$$_REQUIRE(_dependencyMap[29]).JSUtils.isNull(result.showNativeOptionsPageFallbackUrl)) {
                    _result3 = result;
                    showNativeOptionsPageFallbackUrl = _result3.showNativeOptionsPageFallbackUrl;
                  }
                }

                return _context13.abrupt("return", {
                  filetimes: filetimes,
                  pSetupUpdated: pSetupUpdated,
                  rssIndexUpdated: rssIndexUpdated,
                  customLanguagePackUpdated: customLanguagePackUpdated,
                  customFontsUpdated: customFontsUpdated,
                  rnStylesUpdated: rnStylesUpdated,
                  sslCertificateUpdated: sslCertificateUpdated,
                  hybridUpdated: hybridUpdated,
                  newBundleAvailable: newBundleAvailable,
                  forceRestart: forceRestart,
                  lastIssue: lastIssue,
                  lastEdition: lastEdition,
                  lastPSetup: lastPSetup,
                  demoIssue: demoIssue,
                  userIP: userIP,
                  isAllowedIP: isAllowedIP,
                  cdnEnabled: cdnEnabled,
                  cdnServer: cdnServer,
                  migrate: migrate,
                  showNativeOptionsPageFallbackUrl: showNativeOptionsPageFallbackUrl
                });

              case 34:
              case "end":
                return _context13.stop();
            }
          }
        }, null, null, [[12, 28]], Promise);
      }
    }]);
    return RootComponent;
  }(_$$_REQUIRE(_dependencyMap[33]).Shortcut);

  exports.RootComponent = RootComponent;
  RootComponent.INTERVAL_ID = -1;
  RootComponent.INTERVAL_ID_VALUE = 60000;
  RootComponent.CONNECTIVITY_TIMEOUT = -1;
  RootComponent.CONNECTIVITY_TIMEOUT_FROM_SYSTEM = 2000;
  RootComponent.CONNECTIVITY_TIMEOUT_FROM_INTERVAL = 8000;
  RootComponent.propTypes = (0, _extends2.default)({
    url: _propTypes.default.string,
    pSetup: _propTypes.default.string,
    machine: _propTypes.default.string,
    language: _propTypes.default.string,
    splashBgColor: _propTypes.default.string,
    loadingColor: _propTypes.default.string,
    appName: _propTypes.default.string,
    appVersionName: _propTypes.default.string,
    appVersionCode: _propTypes.default.string,
    androidVersionName: _propTypes.default.string,
    iosIapSharedSecret: _propTypes.default.string,
    androidAppId: _propTypes.default.string,
    pushService: _propTypes.default.string,
    pushChannel: _propTypes.default.string,
    pushChannelSilent: _propTypes.default.string,
    masAppId: _propTypes.default.string,
    hcmAppId: _propTypes.default.string,
    oneSignalAppId: _propTypes.default.string,
    facebookAppId: _propTypes.default.string,
    isAddon: _propTypes.default.bool,
    isTecnaviaHelperApp: _propTypes.default.bool,
    debugMode: _propTypes.default.bool,
    selDate: _propTypes.default.string,
    date: _propTypes.default.string,
    issue: _propTypes.default.string,
    goTo: _propTypes.default.string,
    artid: _propTypes.default.string,
    token: _propTypes.default.string,
    densityDPI: _propTypes.default.number,
    isHuawei: _propTypes.default.bool,
    isKindle: _propTypes.default.bool,
    webviewPackageName: _propTypes.default.string
  }, _$$_REQUIRE(_dependencyMap[33]).Shortcut.propTypes);
  RootComponent.defaultProps = (0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[33]).Shortcut.defaultProps, {
    isAddon: false,
    isTecnaviaHelperApp: false,
    debugMode: false,
    densityDPI: _$$_REQUIRE(_dependencyMap[29]).PlatformUtils.defaultDpi,
    isHuawei: false,
    isKindle: false,
    shortcutEnabled: global.__DEV__
  });
},2142,[5,80,6,7,8,15,90,12,14,16,17,28,201,2143,2620,460,458,2134,1861,431,1934,719,2321,2154,1872,1873,731,2165,603,462,582,2622,572,1911,1871,2003,2302,1002,2146]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = RootNavigator;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var CommonHeader = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _updaterScreen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _newsmemoryComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _rssComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _selectionScreen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _NativoLandingViewPage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _migratePageScreen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _publicationsPageScreen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _webScreen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _preAttMessageScreen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _unauthorizedScreen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Stack = _NavigationService.default.navigator.createStack();

  function RootNavigator() {
    return _react.default.createElement(Stack.Navigator, {
      screenOptions: _NavigationService.default.getStackScreenOptions()
    }, _react.default.createElement(Stack.Screen, {
      name: "SplashScreen",
      component: _$$_REQUIRE(_dependencyMap[14]).SplashScreen,
      options: {
        headerShown: false,
        gestureEnabled: false
      }
    }), _react.default.createElement(Stack.Screen, {
      name: "PreAppTrackingTransparencyMessageScreen",
      component: _preAttMessageScreen.default,
      options: {
        headerShown: false,
        gestureEnabled: false
      }
    }), _react.default.createElement(Stack.Screen, {
      name: "PublicationsPageScreen",
      component: _publicationsPageScreen.default,
      options: {
        headerShown: false,
        gestureEnabled: false
      }
    }), _react.default.createElement(Stack.Screen, {
      name: "MigratePageScreen",
      component: _migratePageScreen.default,
      options: {
        headerShown: false,
        gestureEnabled: false
      }
    }), _react.default.createElement(Stack.Screen, {
      name: "SelectionScreen",
      component: _selectionScreen.default,
      options: {
        headerShown: false,
        gestureEnabled: false
      }
    }), _react.default.createElement(Stack.Screen, {
      name: "UpdaterScreen",
      component: _updaterScreen.default,
      options: {
        headerShown: false,
        gestureEnabled: false
      }
    }), _react.default.createElement(Stack.Screen, {
      name: "WebScreen",
      component: _webScreen.default,
      options: function options(navProps) {
        return {
          header: function header() {
            return _react.default.createElement(CommonHeader.ActionBar, {
              considerSafeArea: true,
              left: CommonHeader._getHeaderLeftButtonsBackButtonOnly(navProps),
              center: CommonHeader._getLogo(navProps),
              right: CommonHeader._getSharedHeaderRightButton(navProps),
              style: CommonHeader._getStyle(navProps)
            });
          },
          gestureEnabled: false
        };
      }
    }), _react.default.createElement(Stack.Screen, {
      name: "NativoLandingPageScreen",
      component: _NativoLandingViewPage.default,
      options: function options(navProps) {
        return {
          header: function header() {
            return _react.default.createElement(CommonHeader.ActionBar, {
              considerSafeArea: true,
              left: CommonHeader._getHeaderLeftButtonsBackButtonOnly(navProps),
              center: CommonHeader._getLogo(navProps),
              right: CommonHeader._getSharedHeaderRightButton(navProps)
            });
          },
          gestureEnabled: false
        };
      }
    }), _react.default.createElement(Stack.Screen, {
      name: "UnauthorizedScreen",
      component: _unauthorizedScreen.default,
      options: {
        headerShown: false,
        gestureEnabled: false
      }
    }), _react.default.createElement(Stack.Screen, {
      name: "RssNavigator",
      component: _rssComponent.default,
      options: {
        headerShown: false,
        gestureEnabled: false
      }
    }), _react.default.createElement(Stack.Screen, {
      name: "NewsmemoryNavigator",
      component: _newsmemoryComponent.default,
      options: {
        headerShown: false,
        gestureEnabled: false
      }
    }));
  }
},2143,[5,17,2144,2290,2292,2469,2610,2612,2613,2614,2294,2615,1861,2616,2617]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports._getStyle = _getStyle;
  exports._getLogo = _getLogo;
  exports._getEmptyPlaceHolders = _getEmptyPlaceHolders;
  exports._getHeaderLeftButtonsBackButtonOnly = _getHeaderLeftButtonsBackButtonOnly;
  exports._getRssHeaderLeftButtons = _getRssHeaderLeftButtons;
  exports._getRssHeaderRightButtonsCustomOnly = _getRssHeaderRightButtonsCustomOnly;
  exports._getRssHeaderRightButtons = _getRssHeaderRightButtons;
  exports._getSharedHeaderRightButton = _getSharedHeaderRightButton;
  exports.HeaderHeightConsumer = HeaderHeightConsumer;
  exports.ActionBar = ActionBar;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _reactNativeLinearGradient = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _Paywall = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _barsComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _styleUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _tecnaviaPlatformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _getStyle(props) {
    var _getNavigationParams = (0, _$$_REQUIRE(_dependencyMap[14]).getNavigationParams)(props),
        _getNavigationParams$ = _getNavigationParams.isArchive,
        isArchive = _getNavigationParams$ === undefined ? false : _getNavigationParams$,
        _getNavigationParams$2 = _getNavigationParams.isAccessibilityMode,
        isAccessibilityMode = _getNavigationParams$2 === undefined ? false : _getNavigationParams$2;

    var style = [_$$_REQUIRE(_dependencyMap[15]).Css.getStyleByCssClasses(["navigation-header"])];

    if (isArchive) {
      style.push(_$$_REQUIRE(_dependencyMap[15]).Css.getStyleByCssClasses(["navigation-archive-header"]));
    }

    if (isAccessibilityMode) {
      style.push(_$$_REQUIRE(_dependencyMap[15]).Css.getStyleByCssClasses(["navigation-accessibility-header"]));
    }

    return style;
  }

  function _getLogo(props) {
    var _useTecnaviaSafeAreaF = (0, _$$_REQUIRE(_dependencyMap[16]).useTecnaviaSafeAreaFrame)(),
        width = _useTecnaviaSafeAreaF.width;

    var isIPhone = _$$_REQUIRE(_dependencyMap[17]).PlatformUtils.isiPhone();

    var buttonSize = isIPhone ? _$$_REQUIRE(_dependencyMap[18]).BUTTON_SIZE_IOS_PHONE : _$$_REQUIRE(_dependencyMap[18]).BUTTON_SIZE;
    var paddingLeft = isIPhone ? 5 : 0;

    var _getNavigationParams2 = (0, _$$_REQUIRE(_dependencyMap[14]).getNavigationParams)(props),
        _getNavigationParams3 = _getNavigationParams2.isArchive,
        isArchive = _getNavigationParams3 === undefined ? false : _getNavigationParams3,
        _getNavigationParams4 = _getNavigationParams2.isAccessibilityMode,
        isAccessibilityMode = _getNavigationParams4 === undefined ? false : _getNavigationParams4,
        _getNavigationParams5 = _getNavigationParams2.screenTitle,
        screenTitle = _getNavigationParams5 === undefined ? "" : _getNavigationParams5,
        _getNavigationParams6 = _getNavigationParams2.hideLogo,
        hideLogo = _getNavigationParams6 === undefined ? false : _getNavigationParams6;

    if (hideLogo) {
      return null;
    }

    if (screenTitle) {
      var cssClasses = ["navigation-header-title"];

      if (isArchive) {
        cssClasses.push("navigation-archive-header-title");
      } else if (isAccessibilityMode) {
        cssClasses.push("navigation-accessibility-header-title");
      }

      return _react.default.createElement(_reactNative.View, {
        style: [_$$_REQUIRE(_dependencyMap[18]).styles.headerLogoParent, {
          paddingLeft: paddingLeft,
          flexDirection: "row"
        }]
      }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).Css, {
        classes: cssClasses
      }, _react.default.createElement(_fontText.default, {
        type: _fontText.Type.bold,
        style: {
          justifyContent: "center"
        }
      }, screenTitle)));
    }

    var logoWidth = width - buttonSize * 4 - paddingLeft;
    return _react.default.createElement(_reactNative.View, {
      style: [_$$_REQUIRE(_dependencyMap[18]).styles.headerLogoParent, {
        paddingLeft: paddingLeft
      }]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).Css, {
      classes: ["navigation-header-logo"]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).LogoImage, {
      style: {
        flex: 1,
        width: logoWidth
      }
    })));
  }

  function _getEmptyPlaceHolders() {
    var number = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
    var placeholderStyle = [_$$_REQUIRE(_dependencyMap[18]).styles.placeHolder];

    if (_$$_REQUIRE(_dependencyMap[17]).PlatformUtils.isiPhone()) {
      placeholderStyle.push(_$$_REQUIRE(_dependencyMap[18]).styles.placeHolderIphone);
    }

    var placeHolders = [];

    for (var i = 0; i < number; i++) {
      placeHolders.push(_react.default.createElement(_reactNative.View, {
        key: "placeholder_" + i,
        style: placeholderStyle
      }));
    }

    return _react.default.createElement(_reactNative.View, {
      key: "btn_placeholders",
      style: _$$_REQUIRE(_dependencyMap[18]).styles.container
    }, placeHolders);
  }

  function _getForegroundColor() {
    var supportColor;
    var rssIndexConfig = global.getRssIndex();

    if (rssIndexConfig) {
      supportColor = rssIndexConfig.supportColor;
    }

    return supportColor || _$$_REQUIRE(_dependencyMap[15]).Css.getDefaultForegroundColor();
  }

  function _getHeaderLeftButtonsBackButtonOnly(props, _onPress) {
    var _global$getRssIndex = global.getRssIndex(),
        buttonBackgroundColor = _global$getRssIndex.buttonBackgroundColor;

    var buttonStyle = [_$$_REQUIRE(_dependencyMap[18]).styles.button, {
      backgroundColor: _$$_REQUIRE(_dependencyMap[15]).Css.isDarkTheme() ? _$$_REQUIRE(_dependencyMap[15]).Css.getDefaultBackgroundColor() : buttonBackgroundColor
    }];
    var iconStyle = [_$$_REQUIRE(_dependencyMap[18]).styles.icon, {
      color: _getForegroundColor()
    }];

    if (_$$_REQUIRE(_dependencyMap[17]).PlatformUtils.isiPhone()) {
      buttonStyle.push(_$$_REQUIRE(_dependencyMap[18]).styles.buttonIphone);
      iconStyle.push(_$$_REQUIRE(_dependencyMap[18]).styles.iconIphone);
    }

    var _getNavigationParams7 = (0, _$$_REQUIRE(_dependencyMap[14]).getNavigationParams)(props),
        _getNavigationParams8 = _getNavigationParams7.backAccessibilityLabel,
        backAccessibilityLabel = _getNavigationParams8 === undefined ? global.strings("btn_back") : _getNavigationParams8,
        _getNavigationParams9 = _getNavigationParams7.isArchive,
        isArchive = _getNavigationParams9 === undefined ? false : _getNavigationParams9,
        _getNavigationParams10 = _getNavigationParams7.isAccessibilityMode,
        isAccessibilityMode = _getNavigationParams10 === undefined ? false : _getNavigationParams10;

    var accessibilityLabel = backAccessibilityLabel;
    var cssClasses = ["navigation-icon", "navigation-back-icon"];

    if (isArchive) {
      cssClasses.push("navigation-archive-icon", "navigation-archive-back-icon");
    } else if (isAccessibilityMode) {
      cssClasses.push("navigation-accessibility-icon", "navigation-accessibility-back-icon");
    }

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).HeaderButton, {
      parentStyle: buttonStyle,
      style: iconStyle,
      name: _$$_REQUIRE(_dependencyMap[17]).PlatformUtils.isRTL() ? "arrow-forward" : "arrow-back",
      type: _$$_REQUIRE(_dependencyMap[20]).TecnaviaIconType.MATERIAL_ICONS,
      accessibilityLabel: accessibilityLabel,
      cssClasses: cssClasses,
      onPress: function onPress() {
        if (_onPress) {
          _onPress();
        } else {
          props.navigation.pop();
        }
      }
    });
  }

  function _getRssHeaderLeftButtons(_ref, isSidebar) {
    var navigation = _ref.navigation;

    var _global$getRssIndex2 = global.getRssIndex(),
        showHomeButton = _global$getRssIndex2.showHomeButton,
        showDrawerButton = _global$getRssIndex2.showDrawerButton;

    var placeHolderCounter = 0;

    if (isSidebar || !showDrawerButton) {
      placeHolderCounter += 1;
    }

    if (!showHomeButton) {
      placeHolderCounter += 1;
    }

    return _react.default.createElement(_reactNative.View, {
      style: _$$_REQUIRE(_dependencyMap[18]).styles.container
    }, !isSidebar && showDrawerButton ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).DrawerButton, {
      navigation: navigation
    }) : null, showHomeButton ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).HomeButton, {
      navigation: navigation
    }) : null, _getEmptyPlaceHolders(placeHolderCounter));
  }

  function _getRSSCustomActionBarButton(navigation, item) {
    var displayName = item.displayName,
        image = item.image;

    var _global$getRssIndex3 = global.getRssIndex(),
        supportColor = _global$getRssIndex3.supportColor;

    var cssKey = _$$_REQUIRE(_dependencyMap[17]).StringUtils.getKeyFromText(displayName);

    var color = _$$_REQUIRE(_dependencyMap[15]).Css.getDefaultBackgroundColor();

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).Css, {
      classes: ["rss-custom-action-bar-button"],
      cssKey: cssKey
    }, _react.default.createElement(_reactNative.TouchableOpacity, {
      style: [_$$_REQUIRE(_dependencyMap[18]).styles.customActionBarButton, {
        backgroundColor: supportColor
      }],
      onPress: function onPress() {
        return (0, _$$_REQUIRE(_dependencyMap[21]).performNavigation)(navigation, item);
      }
    }, image ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).Css, {
      classes: ["rss-custom-action-bar-button-icon"],
      cssKey: cssKey
    }, _react.default.createElement(_imageIconChooserComponent.default, {
      forceRNComponent: true,
      style: {
        width: 30
      },
      source: {
        uri: image,
        cache: "reload"
      },
      resizeMode: "contain",
      tintColor: color
    })) : null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).Css, {
      classes: ["rss-custom-action-bar-button-text"],
      cssKey: cssKey
    }, _react.default.createElement(_fontText.default, {
      style: [_$$_REQUIRE(_dependencyMap[18]).styles.customActionBarButtonText, {
        color: color
      }]
    }, displayName))));
  }

  function _getRssHeaderRightButtonsCustomOnly(_ref2) {
    var navigation = _ref2.navigation;

    var _global$getRssIndex4 = global.getRssIndex(),
        actionBarItems = _global$getRssIndex4.actionBarItems;

    if (actionBarItems.length === 0) {
      return _getEmptyPlaceHolders();
    }

    return _react.default.createElement(_reactNative.View, {
      style: _$$_REQUIRE(_dependencyMap[18]).styles.container
    }, actionBarItems.map(function (item) {
      return _getRSSCustomActionBarButton(navigation, item);
    }));
  }

  function _getRssHeaderRightButtons(_ref3) {
    var navigation = _ref3.navigation;
    var rssIndexConfig = global.getRssIndex();
    var showLayoutButton = rssIndexConfig.needToShowLayoutButton();
    var actionBarItems = rssIndexConfig.actionBarItems;
    return _react.default.createElement(_reactNative.View, {
      style: _$$_REQUIRE(_dependencyMap[18]).styles.container
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).SearchButton, {
      navigation: navigation
    }), showLayoutButton ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).LayoutButton, null) : null, actionBarItems.map(function (item) {
      return _getRSSCustomActionBarButton(navigation, item);
    }));
  }

  function _getSharedHeaderRightButton(props) {
    var _getNavigationParams11 = (0, _$$_REQUIRE(_dependencyMap[14]).getNavigationParams)(props),
        _getNavigationParams12 = _getNavigationParams11.url,
        url = _getNavigationParams12 === undefined ? "" : _getNavigationParams12,
        _getNavigationParams13 = _getNavigationParams11.shareButtonIsEnabled,
        shareButtonIsEnabled = _getNavigationParams13 === undefined ? "" : _getNavigationParams13,
        _getNavigationParams14 = _getNavigationParams11.printButtonIsEnabled,
        printButtonIsEnabled = _getNavigationParams14 === undefined ? false : _getNavigationParams14,
        _getNavigationParams15 = _getNavigationParams11.externalBrowserIsEnabled,
        externalBrowserIsEnabled = _getNavigationParams15 === undefined ? true : _getNavigationParams15;

    var _getNavigationParams16 = (0, _$$_REQUIRE(_dependencyMap[14]).getNavigationParams)(props),
        _getNavigationParams17 = _getNavigationParams16.isArchive,
        isArchive = _getNavigationParams17 === undefined ? false : _getNavigationParams17,
        _getNavigationParams18 = _getNavigationParams16.isAccessibilityMode,
        isAccessibilityMode = _getNavigationParams18 === undefined ? false : _getNavigationParams18,
        _getNavigationParams19 = _getNavigationParams16.openBrowserAccessibilityLabel,
        openBrowserAccessibilityLabel = _getNavigationParams19 === undefined ? global.strings("label_open_browser") : _getNavigationParams19;

    shareButtonIsEnabled = url && shareButtonIsEnabled && !url.includes("disableShareButton");
    printButtonIsEnabled = url && printButtonIsEnabled && !url.includes("disablePrintButton");
    externalBrowserIsEnabled = url && externalBrowserIsEnabled && !url.includes("disableBrowserButton");

    var _global$getRssIndex5 = global.getRssIndex(),
        buttonBackgroundColor = _global$getRssIndex5.buttonBackgroundColor;

    var buttonStyle = [_$$_REQUIRE(_dependencyMap[18]).styles.button, {
      backgroundColor: _$$_REQUIRE(_dependencyMap[15]).Css.isDarkTheme() ? _$$_REQUIRE(_dependencyMap[15]).Css.getDefaultBackgroundColor() : buttonBackgroundColor
    }];
    var iconStyle = [_$$_REQUIRE(_dependencyMap[18]).styles.icon, {
      color: _getForegroundColor()
    }];

    if (_$$_REQUIRE(_dependencyMap[17]).PlatformUtils.isiPhone()) {
      buttonStyle.push(_$$_REQUIRE(_dependencyMap[18]).styles.buttonIphone);
      iconStyle.push(_$$_REQUIRE(_dependencyMap[18]).styles.iconIphone);
    }

    if (shareButtonIsEnabled || printButtonIsEnabled || externalBrowserIsEnabled) {
      var buttons = [];

      if (externalBrowserIsEnabled) {
        var accessibilityLabel = openBrowserAccessibilityLabel;
        var cssClasses = ["navigation-icon", "navigation-browser-icon"];

        if (isArchive) {
          cssClasses.push("navigation-archive-icon", "navigation-archive-browser-icon");
        } else if (isAccessibilityMode) {
          cssClasses.push("navigation-accessibility-icon", "navigation-accessibility-browser-icon");
        }

        buttons.push(_react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).HeaderButton, {
          key: "btn_browser",
          parentStyle: buttonStyle,
          style: iconStyle,
          name: _$$_REQUIRE(_dependencyMap[17]).PlatformUtils.isIOS() ? "apple-safari" : "google-chrome",
          type: _$$_REQUIRE(_dependencyMap[20]).TecnaviaIconType.MATERIAL_COMMUNITY_ICONS,
          cssClasses: cssClasses,
          accessibilityLabel: accessibilityLabel,
          onPress: function onPress() {
            url = _Paywall.default.replaceExtIdInUrl(url);

            _tecnaviaPlatformUtils.default.openURL(url);
          }
        }));
      }

      if (shareButtonIsEnabled) {
        var _cssClasses = ["navigation-icon", "navigation-share-icon"];

        if (isArchive) {
          _cssClasses.push("navigation-archive-icon", "navigation-archive-share-icon");
        } else if (isAccessibilityMode) {
          _cssClasses.push("navigation-accessibility-icon", "navigation-accessibility-share-icon");
        }

        buttons.push(_react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).HeaderButton, {
          key: "btn_share",
          parentStyle: buttonStyle,
          style: iconStyle,
          name: "share",
          type: _$$_REQUIRE(_dependencyMap[20]).TecnaviaIconType.MATERIAL_ICONS,
          cssClasses: _cssClasses,
          onPress: function onPress() {
            _reactNative.Share.share({
              url: url
            });
          }
        }));
      }

      if (printButtonIsEnabled) {
        var _cssClasses2 = ["navigation-icon", "navigation-print-icon"];

        if (isArchive) {
          _cssClasses2.push("navigation-archive-icon", "navigation-archive-print-icon");
        } else if (isAccessibilityMode) {
          _cssClasses2.push("navigation-accessibility-icon", "navigation-accessibility-print-icon");
        }

        buttons.push(_react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).HeaderButton, {
          key: "btn_print",
          parentStyle: buttonStyle,
          style: iconStyle,
          name: "print",
          type: _$$_REQUIRE(_dependencyMap[20]).TecnaviaIconType.MATERIAL_ICONS,
          cssClasses: _cssClasses2,
          onPress: function onPress() {
            _tecnaviaFileUtils.default.printFile(url);
          }
        }));
      }

      return buttons;
    }

    return _getEmptyPlaceHolders();
  }

  function HeaderHeightConsumer(props) {
    var children = props.children;
    var frame = (0, _$$_REQUIRE(_dependencyMap[16]).useTecnaviaSafeAreaFrame)();
    var insets = (0, _$$_REQUIRE(_dependencyMap[16]).useTecnaviaSafeAreaInsets)();
    var headerHeight = (0, _$$_REQUIRE(_dependencyMap[22]).getDefaultHeaderHeight)(frame, false, insets.top);

    if (typeof children === "function") {
      return children(headerHeight);
    }

    return children;
  }

  function _getGradient(props, style) {
    return _react.default.createElement(_reactNativeLinearGradient.default, (0, _extends2.default)({
      style: (0, _extends2.default)({
        position: "absolute",
        top: 0,
        start: 0,
        end: 0,
        bottom: 0
      }, style),
      pointerEvents: "none"
    }, props));
  }

  function ActionBar(props) {
    var _props$backgroundColo = props.backgroundColor,
        backgroundColor = _props$backgroundColo === undefined ? _$$_REQUIRE(_dependencyMap[15]).Css.getDefaultBackgroundColor() : _props$backgroundColo,
        _props$left = props.left,
        left = _props$left === undefined ? null : _props$left,
        _props$center = props.center,
        center = _props$center === undefined ? null : _props$center,
        _props$right = props.right,
        right = _props$right === undefined ? null : _props$right,
        style = props.style,
        considerSafeArea = props.considerSafeArea,
        considerSafeAreaTop = props.considerSafeAreaTop;
    var insets = (0, _$$_REQUIRE(_dependencyMap[16]).useTecnaviaSafeAreaInsets)();
    var frame = (0, _$$_REQUIRE(_dependencyMap[16]).useTecnaviaSafeAreaFrame)();
    var shadow = _$$_REQUIRE(_dependencyMap[17]).PlatformUtils.isAndroid() ? {
      elevation: 2
    } : {
      marginBottom: 0.5,
      shadowColor: _$$_REQUIRE(_dependencyMap[17]).colors.black,
      shadowOpacity: 0.75,
      shadowOffset: {
        height: 6,
        width: 0
      }
    };

    var _Css$getStyleObjByCss = _$$_REQUIRE(_dependencyMap[15]).Css.getStyleObjByCssClasses(["navigation-header-gradient"]),
        gradientProps = _Css$getStyleObjByCss.backgroundColor,
        rest = (0, _objectWithoutProperties2.default)(_Css$getStyleObjByCss, ["backgroundColor"]);

    var hasGradient = typeof gradientProps === "object";

    var actionBar = _react.default.createElement(_reactNative.View, {
      style: [(0, _extends2.default)({
        marginTop: considerSafeArea || considerSafeAreaTop ? insets.top : 0,
        marginLeft: considerSafeArea ? insets.left : 0,
        marginRight: considerSafeArea ? insets.right : 0,
        width: _deviceUtils.default.getSafeAreaWidth(insets, frame),
        flexDirection: "row",
        alignItems: "center",
        justifyContent: "space-between",
        paddingVertical: 10,
        backgroundColor: backgroundColor
      }, shadow), style]
    }, hasGradient ? _getGradient(gradientProps, rest) : null, left, center, right);

    var barComponent;

    if (considerSafeArea || considerSafeAreaTop) {
      var statusBarColor = style && style.backgroundColor || backgroundColor;

      var navigationBarColor = _styleUtils.default.getNavigationBarColor() || _$$_REQUIRE(_dependencyMap[15]).Css.getDefaultBackgroundColor();

      var edges = considerSafeAreaTop ? ["top"] : ["top", "left", "right"];
      barComponent = _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_barsComponent.default, {
        edges: edges,
        statusBarColor: statusBarColor,
        navigationBarColor: navigationBarColor
      }), hasGradient ? _getGradient(gradientProps, (0, _extends2.default)({}, rest, {
        height: insets.top
      })) : null);
    }

    return _react.default.createElement(_react.default.Fragment, null, actionBar, barComponent);
  }
},2144,[5,108,6,17,28,1238,458,574,1879,1862,2145,2147,1876,1970,2148,699,2146,462,2200,2201,1806,2206,1165]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = Bars;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function Bars(props) {
    if (_$$_REQUIRE(_dependencyMap[5]).PlatformUtils.isIOS() && global.appNeedsSafeArea()) {
      var statusBarColor = props.statusBarColor,
          navigationBarColor = props.navigationBarColor;
      var edges = props.edges;

      if (!edges) {
        edges = ["top", "left", "right", "bottom"];
      }

      var _useState = (0, _react.useState)({
        topBackgroundColor: statusBarColor,
        leftBackgroundColor: navigationBarColor,
        rightBackgroundColor: navigationBarColor,
        bottomBackgroundColor: navigationBarColor
      }),
          _useState2 = (0, _slicedToArray2.default)(_useState, 2),
          backgroundColors = _useState2[0],
          setBackgroundColors = _useState2[1];

      (0, _react.useEffect)(function () {
        var colorChange = _$$_REQUIRE(_dependencyMap[6]).EventRegister.on(_events.default.ON_SAFE_AREA_COLOR_CHANGE, function (newBackgroundColors) {
          if (!_$$_REQUIRE(_dependencyMap[5]).JSUtils.areEqualShallow(backgroundColors, newBackgroundColors)) {
            setBackgroundColors(newBackgroundColors);
          }
        });

        return function () {
          _$$_REQUIRE(_dependencyMap[6]).EventRegister.rm(colorChange);
        };
      }, [backgroundColors]);
      var topBackgroundColor = backgroundColors.topBackgroundColor,
          leftBackgroundColor = backgroundColors.leftBackgroundColor,
          rightBackgroundColor = backgroundColors.rightBackgroundColor,
          bottomBackgroundColor = backgroundColors.bottomBackgroundColor;

      _$$_REQUIRE(_dependencyMap[5]).PlatformUtils.colorTopBar(topBackgroundColor);

      _$$_REQUIRE(_dependencyMap[5]).PlatformUtils.colorBottomBar(bottomBackgroundColor);

      var _useTecnaviaSafeAreaI = (0, _$$_REQUIRE(_dependencyMap[7]).useTecnaviaSafeAreaInsets)(),
          top = _useTecnaviaSafeAreaI.top,
          bottom = _useTecnaviaSafeAreaI.bottom,
          left = _useTecnaviaSafeAreaI.left,
          right = _useTecnaviaSafeAreaI.right;

      var _useTecnaviaSafeAreaF = (0, _$$_REQUIRE(_dependencyMap[7]).useTecnaviaSafeAreaFrame)(),
          width = _useTecnaviaSafeAreaF.width,
          height = _useTecnaviaSafeAreaF.height;

      return _react.default.createElement(_react.default.Fragment, null, edges.includes("top") ? _react.default.createElement(_reactNative.View, {
        style: {
          position: "absolute",
          top: 0,
          width: width,
          height: top,
          backgroundColor: topBackgroundColor
        }
      }) : null, edges.includes("left") ? _react.default.createElement(_reactNative.View, {
        style: {
          position: "absolute",
          top: top,
          bottom: bottom,
          width: left,
          height: height,
          backgroundColor: leftBackgroundColor
        }
      }) : null, edges.includes("right") ? _react.default.createElement(_reactNative.View, {
        style: {
          position: "absolute",
          right: 0,
          top: top,
          bottom: bottom,
          width: right,
          height: height,
          backgroundColor: rightBackgroundColor
        }
      }) : null, edges.includes("bottom") ? _react.default.createElement(_reactNative.View, {
        style: {
          position: "absolute",
          bottom: 0,
          width: width,
          height: bottom,
          backgroundColor: bottomBackgroundColor
        }
      }) : null);
    }

    return null;
  }
},2145,[5,41,17,28,460,462,572,2146]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.useTecnaviaSafeAreaFrame = useTecnaviaSafeAreaFrame;
  exports.useTecnaviaSafeAreaInsets = useTecnaviaSafeAreaInsets;
  exports.TecnaviaSafeAreaProvider = TecnaviaSafeAreaProvider;
  exports.TecnaviaSafeAreaView = TecnaviaSafeAreaView;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function useTecnaviaSafeAreaFrame() {
    var contextAreaFrame = (0, _$$_REQUIRE(_dependencyMap[6]).useSafeAreaFrame)();

    if (global.appNeedsSafeArea()) {
      return contextAreaFrame;
    }

    return _deviceUtils.default.getSafeArea();
  }

  function useTecnaviaSafeAreaInsets() {
    var contextAreaInsets = (0, _$$_REQUIRE(_dependencyMap[6]).useSafeAreaInsets)();

    if (global.appNeedsSafeArea()) {
      return contextAreaInsets;
    }

    return _deviceUtils.default.insets;
  }

  function TecnaviaSafeAreaProvider(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).SafeAreaProvider, props);
  }

  function TecnaviaSafeAreaView(props) {
    var children = props.children,
        backgroundColor = props.backgroundColor,
        rest = (0, _objectWithoutProperties2.default)(props, ["children", "backgroundColor"]);
    var commonProps = {
      style: {
        flex: 1,
        backgroundColor: backgroundColor
      }
    };

    if (global.appNeedsSafeArea()) {
      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).SafeAreaView, (0, _extends2.default)({}, commonProps, rest), children);
    }

    return _react.default.createElement(_reactNative.View, commonProps, children);
  }
},2146,[5,6,108,17,28,458,1148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _LiveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var StyleUtils = function () {
    function StyleUtils() {
      (0, _classCallCheck2.default)(this, StyleUtils);
    }

    (0, _createClass2.default)(StyleUtils, null, [{
      key: "getNewsmemoryStatusBarColor",
      value: function getNewsmemoryStatusBarColor() {
        var customClasses = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];

        var statusBarCss = _$$_REQUIRE(_dependencyMap[5]).Css.getStyleObjByCssClasses(["system-status-bar", "system-newsmemory-status-bar"].concat((0, _toConsumableArray2.default)(customClasses)));

        var statusBarColor = statusBarCss.backgroundColor || _$$_REQUIRE(_dependencyMap[6]).colors.black;

        return statusBarColor;
      }
    }, {
      key: "getNewsmemoryNavigationBarColor",
      value: function getNewsmemoryNavigationBarColor() {
        var customClasses = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];

        var navigationBarCss = _$$_REQUIRE(_dependencyMap[5]).Css.getStyleObjByCssClasses(["system-navigation-bar", "system-newsmemory-navigation-bar"].concat((0, _toConsumableArray2.default)(customClasses)));

        var navigationBarColor = navigationBarCss.backgroundColor || _$$_REQUIRE(_dependencyMap[6]).colors.black;

        return navigationBarColor;
      }
    }, {
      key: "getNewsmemoryBarColors",
      value: function getNewsmemoryBarColors() {
        var customStatusBarClasses = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        var customNavigationBarClasses = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
        var statusBarColor = StyleUtils.getNewsmemoryStatusBarColor(customStatusBarClasses);
        var navigationBarColor = StyleUtils.getNewsmemoryNavigationBarColor(customNavigationBarClasses);
        return {
          topBackgroundColor: statusBarColor,
          leftBackgroundColor: navigationBarColor,
          rightBackgroundColor: navigationBarColor,
          bottomBackgroundColor: navigationBarColor
        };
      }
    }, {
      key: "fixColorForDarkTheme",
      value: function fixColorForDarkTheme(color) {
        if (_$$_REQUIRE(_dependencyMap[5]).Css.isDarkTheme() && _$$_REQUIRE(_dependencyMap[6]).ColorUtils.isClearColor(color)) {
          return _$$_REQUIRE(_dependencyMap[5]).Css.getAlternateDefaultBackgroundColor();
        }

        return color;
      }
    }, {
      key: "getRssStatusBarColor",
      value: function getRssStatusBarColor() {
        var customClasses = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];

        var _global$getRssIndex = global.getRssIndex(),
            actionBarBackgroundColor = _global$getRssIndex.actionBarBackgroundColor;

        var statusBarCss = _$$_REQUIRE(_dependencyMap[5]).Css.getStyleObjByCssClasses(["system-status-bar", "system-rss-status-bar"].concat((0, _toConsumableArray2.default)(customClasses)));

        var statusBarColor = statusBarCss.backgroundColor || StyleUtils.fixColorForDarkTheme(actionBarBackgroundColor);
        return statusBarColor;
      }
    }, {
      key: "getRssNavigationBarColor",
      value: function getRssNavigationBarColor() {
        var customClasses = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];

        var _global$getRssIndex2 = global.getRssIndex(),
            supportColor = _global$getRssIndex2.supportColor;

        var navigationBarCss = _$$_REQUIRE(_dependencyMap[5]).Css.getStyleObjByCssClasses(["system-navigation-bar", "system-rss-navigation-bar"].concat((0, _toConsumableArray2.default)(customClasses)));

        var navigationBarColor = navigationBarCss.backgroundColor || StyleUtils.fixColorForDarkTheme(supportColor);
        return navigationBarColor;
      }
    }, {
      key: "getRssBarColors",
      value: function getRssBarColors() {
        var customStatusBarClasses = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        var customNavigationBarClasses = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
        var statusBarColor = StyleUtils.getRssStatusBarColor(customStatusBarClasses);
        var navigationBarColor = StyleUtils.getRssNavigationBarColor(customNavigationBarClasses);
        return {
          topBackgroundColor: statusBarColor,
          leftBackgroundColor: navigationBarColor,
          rightBackgroundColor: navigationBarColor,
          bottomBackgroundColor: navigationBarColor
        };
      }
    }, {
      key: "getStatusBarColor",
      value: function getStatusBarColor() {
        var customStatusBarClasses = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        return _LiveConfig.default.isRssSide() ? StyleUtils.getRssStatusBarColor(customStatusBarClasses) : StyleUtils.getNewsmemoryStatusBarColor(customStatusBarClasses);
      }
    }, {
      key: "getNavigationBarColor",
      value: function getNavigationBarColor() {
        var customNavigationBarClasses = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        return _LiveConfig.default.isRssSide() ? StyleUtils.getRssNavigationBarColor(customNavigationBarClasses) : StyleUtils.getNewsmemoryNavigationBarColor(customNavigationBarClasses);
      }
    }, {
      key: "getBarColors",
      value: function getBarColors() {
        var customStatusBarClasses = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        var customNavigationBarClasses = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
        var statusBarColor = StyleUtils.getStatusBarColor(customStatusBarClasses);
        var navigationBarColor = StyleUtils.getNavigationBarColor(customNavigationBarClasses);
        return {
          topBackgroundColor: statusBarColor,
          leftBackgroundColor: navigationBarColor,
          rightBackgroundColor: navigationBarColor,
          bottomBackgroundColor: navigationBarColor
        };
      }
    }, {
      key: "colorStatusBar",
      value: function colorStatusBar() {
        var statusBarColor = StyleUtils.getStatusBarColor();
        var bottomBarColor = StyleUtils.getNavigationBarColor();

        _$$_REQUIRE(_dependencyMap[6]).PlatformUtils.colorBars(statusBarColor, bottomBarColor);
      }
    }]);
    return StyleUtils;
  }();

  exports.default = StyleUtils;
},2147,[5,21,7,8,1872,699,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2148,[2149]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getNavigationParams = getNavigationParams;
  exports.NavigationBaseScreen = exports.ScreenState = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[12]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _appUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ScreenState = {
    FOCUSED: "focused",
    UNFOCUSED: "unfocused",
    MOUNTED: "mounted",
    UNMOUNTED: "unmounted"
  };
  exports.ScreenState = ScreenState;

  function getNavigationParams() {
    var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var _props$route = props.route,
        route = _props$route === undefined ? {} : _props$route;
    var _route$params = route.params,
        params = _route$params === undefined ? {} : _route$params;
    return params;
  }

  var NavigationBaseScreen = function (_React$Component) {
    (0, _inherits2.default)(NavigationBaseScreen, _React$Component);

    var _super = _createSuper(NavigationBaseScreen);

    function NavigationBaseScreen(props) {
      var _this;

      var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
      (0, _classCallCheck2.default)(this, NavigationBaseScreen);
      _this = _super.call(this, props);
      _this.state = state;
      _this.postponedAction = undefined;
      _this.onHandleBackButton = _this.handleBackButton.bind((0, _assertThisInitialized2.default)(_this));
      _this.onOrientationListener = _this.orientationListener.bind((0, _assertThisInitialized2.default)(_this));
      _this.onHandleConnectivityChange = _this.handleConnectivityChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onScreenshotListener = _this.screenshootListener.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(NavigationBaseScreen, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        this.log("screen mounted");
        var navigation = this.props.navigation;

        if (navigation) {
          this._onFocusListener = navigation.addListener("focus", function () {
            _this2.didFocus();
          });
          this._onWillBlur = navigation.addListener("blur", function () {
            _this2.willBlur();
          });
        }

        this.currentScreenState = ScreenState.MOUNTED;
        this.userScreenshotListener = _appUtils.default.addScreenshotListener(this.onScreenshotListener);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        if (this.hasScreenFocus()) {
          this.willBlur();
        }

        this.log("screen unmounted");

        if (this._onFocusListener) {
          this._onFocusListener();
        }

        if (this._onWillBlur) {
          this._onWillBlur();
        }

        this.removeRNListener();
        this.currentScreenState = ScreenState.UNMOUNTED;

        if (this.userScreenshotListener) {
          this.userScreenshotListener.remove();
        }
      }
    }, {
      key: "setState",
      value: function setState(newState, callback) {
        if (this.isScreenMounted()) {
          (0, _get2.default)((0, _getPrototypeOf2.default)(NavigationBaseScreen.prototype), "setState", this).call(this, newState, function () {
            if (callback) {
              callback();
            }
          });
        }
      }
    }, {
      key: "forceState",
      value: function forceState(newState, callback) {
        (0, _get2.default)((0, _getPrototypeOf2.default)(NavigationBaseScreen.prototype), "setState", this).call(this, newState, function () {
          if (callback) {
            callback();
          }
        });
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "NavigationBaseScreen";
      }
    }, {
      key: "log",
      value: function log(msg) {
        if (msg) {}
      }
    }, {
      key: "trackScreen",
      value: function trackScreen() {
        (0, _$$_REQUIRE(_dependencyMap[17]).trackCustomFirebaseScreen)(this.getTag());
      }
    }, {
      key: "didFocus",
      value: function didFocus() {
        var _this3 = this;

        this.log("screen focus");
        this.trackScreen();

        _reactNative.BackHandler.addEventListener("hardwareBackPress", this.onHandleBackButton);

        this.orientationListenerId = _$$_REQUIRE(_dependencyMap[18]).EventRegister.on(_events.default.ON_ORIENTATION_CHANGE, function (_ref) {
          var orientation = _ref.orientation;

          _this3.onOrientationListener(orientation);
        });
        this.connectivityListener = _$$_REQUIRE(_dependencyMap[18]).EventRegister.on(_events.default.ON_CONNECTIVITY_CHANGE, this.onHandleConnectivityChange);
        this.postponePromiseListener = _$$_REQUIRE(_dependencyMap[18]).EventRegister.on(_events.default.ON_POSTPONE_ACTION, function (_ref2) {
          var resolve = _ref2.resolve;
          var enablePostponeAction = _this3.props.enablePostponeAction;

          if (!enablePostponeAction) {
            resolve();
          } else {
            _this3.postponedAction = resolve;
          }
        });
        this.currentScreenState = ScreenState.FOCUSED;
      }
    }, {
      key: "willBlur",
      value: function willBlur() {
        this.log("screen blur");
        this.consumePostponedAction();
        this.removeRNListener();
        this.currentScreenState = ScreenState.UNFOCUSED;
      }
    }, {
      key: "removeRNListener",
      value: function removeRNListener() {
        _$$_REQUIRE(_dependencyMap[18]).EventRegister.rm(this.postponePromiseListener);

        _$$_REQUIRE(_dependencyMap[18]).EventRegister.rm(this.orientationListenerId);

        _$$_REQUIRE(_dependencyMap[18]).EventRegister.rm(this.connectivityListener);

        _reactNative.BackHandler.removeEventListener("hardwareBackPress", this.onHandleBackButton);
      }
    }, {
      key: "hasScreenFocus",
      value: function hasScreenFocus() {
        return this.currentScreenState === ScreenState.FOCUSED;
      }
    }, {
      key: "isScreenMounted",
      value: function isScreenMounted() {
        return this.currentScreenState !== ScreenState.UNMOUNTED;
      }
    }, {
      key: "handleConnectivityChange",
      value: function handleConnectivityChange() {
        this.log("Unmanaged connectivity change by screen");
      }
    }, {
      key: "orientationListener",
      value: function orientationListener(orientation) {
        this.log("Orientation change " + orientation);
      }
    }, {
      key: "screenshootListener",
      value: function screenshootListener() {
        var _global$getMainPSetup = global.getMainPSetup(),
            preventScreenshots = _global$getMainPSetup.preventScreenshots;

        if (preventScreenshots && this.hasScreenFocus()) {
          _$$_REQUIRE(_dependencyMap[19]).Toast.show(global.strings("msg_screenshots_disabled"), {
            position: "bottom"
          });
        }
      }
    }, {
      key: "consumePostponedAction",
      value: function consumePostponedAction() {
        if (typeof this.postponedAction === "function") {
          this.postponedAction();
          this.postponedAction = undefined;
        }
      }
    }, {
      key: "handleBackButton",
      value: function handleBackButton() {
        this.log("Back pressed");
        return true;
      }
    }, {
      key: "closeAlert",
      value: function closeAlert() {
        if (_$$_REQUIRE(_dependencyMap[20]).PlatformUtils.isAndroid()) {
          if (global.isTaAddon()) {
            this.closeApp();
          } else {
            this.showAlert({
              message: global.strings("msg_exit_application"),
              buttons: [{
                text: global.strings("btn_cancel"),
                onPress: function onPress() {},
                style: "cancel"
              }]
            });
          }
        }
      }
    }, {
      key: "showAlert",
      value: function showAlert(_ref3) {
        var _this4 = this;

        var _ref3$title, title, message, _ref3$buttons, buttons, _ref3$params, params, resolve;

        return _regenerator.default.async(function showAlert$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _ref3$title = _ref3.title, title = _ref3$title === undefined ? "" : _ref3$title, message = _ref3.message, _ref3$buttons = _ref3.buttons, buttons = _ref3$buttons === undefined ? [] : _ref3$buttons, _ref3$params = _ref3.params, params = _ref3$params === undefined ? {} : _ref3$params, resolve = _ref3.resolve;

                _reactNative.Alert.alert(title, message, [{
                  text: global.strings("btn_ok"),
                  onPress: function onPress() {
                    return _regenerator.default.async(function onPress$(_context) {
                      while (1) {
                        switch (_context.prev = _context.next) {
                          case 0:
                            _context.next = 2;
                            return _regenerator.default.awrap(_this4.closeApp());

                          case 2:
                            if (typeof resolve === "function") {
                              resolve();
                            }

                          case 3:
                          case "end":
                            return _context.stop();
                        }
                      }
                    }, null, null, null, Promise);
                  }
                }].concat((0, _toConsumableArray2.default)(buttons)), (0, _extends2.default)({
                  cancelable: false
                }, params));

              case 2:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "closeApp",
      value: function closeApp() {
        var IOSClassicEPaper;
        return _regenerator.default.async(function closeApp$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                IOSClassicEPaper = _optionalPackageUtils.default.getIOSClassicEPaper();

                if (!IOSClassicEPaper) {
                  _context3.next = 9;
                  break;
                }

                _context3.prev = 2;
                _context3.next = 5;
                return _regenerator.default.awrap(IOSClassicEPaper.closeNativeNewsMemory());

              case 5:
                _context3.next = 9;
                break;

              case 7:
                _context3.prev = 7;
                _context3.t0 = _context3["catch"](2);

              case 9:
                _reactNative.BackHandler.exitApp();

              case 10:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, [[2, 7]], Promise);
      }
    }]);
    return NavigationBaseScreen;
  }(_react.default.Component);

  exports.NavigationBaseScreen = NavigationBaseScreen;
  NavigationBaseScreen.propTypes = {
    navigation: _propTypes.default.object,
    enablePostponeAction: _propTypes.default.bool
  };
  NavigationBaseScreen.defaultProps = {
    enablePostponeAction: false
  };
},2149,[5,80,6,21,7,8,15,90,12,14,16,17,28,201,460,2150,731,1871,572,1889,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _ApplicationManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _NewsmemoryHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _UserSettingsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _OptionalPackages$get = _optionalPackageUtils.default.getScreenshotPrevent(),
      RNScreenshotPrevent = _OptionalPackages$get.RNScreenshotPrevent,
      addListener = _OptionalPackages$get.addListener;

  var AppUtils = function () {
    function AppUtils() {
      (0, _classCallCheck2.default)(this, AppUtils);
    }

    (0, _createClass2.default)(AppUtils, null, [{
      key: "checkUpdate",
      value: function checkUpdate() {
        var state;
        return _regenerator.default.async(function checkUpdate$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return _regenerator.default.awrap(AppUtils.appUpdateState());

              case 2:
                state = _context.sent;

                if (!AppUtils.isAppUpgraded(state)) {
                  _context.next = 19;
                  break;
                }

                _context.next = 6;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.clearOldVersionFiles());

              case 6:
                _context.next = 8;
                return _regenerator.default.awrap(_UserSettingsHelper.default.removeItem(_UserSettingsHelper.default.SP.keys.last_epaper_layout_config));

              case 8:
                _context.next = 10;
                return _regenerator.default.awrap(_ApplicationManager.default.deleteApplicationFolder());

              case 10:
                _context.next = 12;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[9]).Feedback.resetCounter());

              case 12:
                _context.next = 14;
                return _regenerator.default.awrap(AppUtils.isAppPreviousThanVersion(3264));

              case 14:
                if (!_context.sent) {
                  _context.next = 17;
                  break;
                }

                _context.next = 17;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.removeItem(_NewsmemoryHelper.default.SP.keys.article_fullscreen_portrait));

              case 17:
                _context.next = 30;
                break;

              case 19:
                if (!AppUtils.isAppNewInstall(state)) {
                  _context.next = 30;
                  break;
                }

                if (!_$$_REQUIRE(_dependencyMap[10]).PlatformUtils.isAndroid()) {
                  _context.next = 30;
                  break;
                }

                _context.prev = 21;
                _context.next = 24;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unlink(_tecnaviaFileUtils.default.getCacheDirectory()));

              case 24:
                _context.next = 28;
                break;

              case 26:
                _context.prev = 26;
                _context.t0 = _context["catch"](21);

              case 28:
                _context.next = 30;
                break;

              case 30:
                return _context.abrupt("return", state);

              case 31:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[21, 26]], Promise);
      }
    }, {
      key: "isAppUpdated",
      value: function isAppUpdated(state) {
        return state === AppUtils.STATE.UPDATED;
      }
    }, {
      key: "isAppUpgraded",
      value: function isAppUpgraded(state) {
        return state === AppUtils.STATE.UPGRADED;
      }
    }, {
      key: "isAppNewInstall",
      value: function isAppNewInstall(state) {
        return state === AppUtils.STATE.NEW_INSTALL;
      }
    }, {
      key: "appUpdateState",
      value: function appUpdateState() {
        var currentAppVersionCode, previousAppVersionCode;
        return _regenerator.default.async(function appUpdateState$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                currentAppVersionCode = global.appVersionCode;
                _context2.next = 3;
                return _regenerator.default.awrap(_UserSettingsHelper.default.getItem(_UserSettingsHelper.default.SP.keys.app_version_code));

              case 3:
                previousAppVersionCode = _context2.sent;

                if (!currentAppVersionCode) {
                  _context2.next = 12;
                  break;
                }

                if (!previousAppVersionCode) {
                  _context2.next = 10;
                  break;
                }

                if (!(currentAppVersionCode === previousAppVersionCode)) {
                  _context2.next = 8;
                  break;
                }

                return _context2.abrupt("return", AppUtils.STATE.UPDATED);

              case 8:
                _UserSettingsHelper.default.setItem(_UserSettingsHelper.default.SP.keys.app_version_code, currentAppVersionCode);

                return _context2.abrupt("return", AppUtils.STATE.UPGRADED);

              case 10:
                _UserSettingsHelper.default.setItem(_UserSettingsHelper.default.SP.keys.app_version_code, currentAppVersionCode);

                return _context2.abrupt("return", AppUtils.STATE.NEW_INSTALL);

              case 12:
                return _context2.abrupt("return", AppUtils.STATE.NO_VERSION_SET);

              case 13:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "isAppPreviousThanVersion",
      value: function isAppPreviousThanVersion(version) {
        var currentAppVersionName, previousAppVersionNameStr, previousAppVersionName;
        return _regenerator.default.async(function isAppPreviousThanVersion$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                currentAppVersionName = parseInt(global.appVersionName.replace(/\./g, ""), 10);
                _context3.next = 3;
                return _regenerator.default.awrap(_UserSettingsHelper.default.getItem(_UserSettingsHelper.default.SP.keys.app_version_name));

              case 3:
                _context3.t0 = _context3.sent;

                if (_context3.t0) {
                  _context3.next = 6;
                  break;
                }

                _context3.t0 = "";

              case 6:
                previousAppVersionNameStr = _context3.t0;

                _UserSettingsHelper.default.setItem(_UserSettingsHelper.default.SP.keys.app_version_name, global.appVersionName);

                previousAppVersionName = parseInt(previousAppVersionNameStr.replace(/\./g, ""), 10);

                if (previousAppVersionName) {
                  _context3.next = 11;
                  break;
                }

                return _context3.abrupt("return", version > AppUtils.DEFAULT_VERSION_CHECKER);

              case 11:
                return _context3.abrupt("return", previousAppVersionName < version);

              case 12:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "enableSecureView",
      value: function enableSecureView() {
        return _regenerator.default.async(function enableSecureView$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!(_optionalPackageUtils.default.isScreenshotPreventAvailable() && _$$_REQUIRE(_dependencyMap[10]).PlatformUtils.isIOS() && !global.__DEV__)) {
                  _context4.next = 3;
                  break;
                }

                _context4.next = 3;
                return _regenerator.default.awrap(RNScreenshotPrevent.enableSecureView());

              case 3:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "disableSecureView",
      value: function disableSecureView() {
        return _regenerator.default.async(function disableSecureView$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                if (!(_optionalPackageUtils.default.isScreenshotPreventAvailable() && _$$_REQUIRE(_dependencyMap[10]).PlatformUtils.isIOS() && !global.__DEV__)) {
                  _context5.next = 3;
                  break;
                }

                _context5.next = 3;
                return _regenerator.default.awrap(RNScreenshotPrevent.disableSecureView());

              case 3:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "preventScreenshots",
      value: function preventScreenshots(enabled) {
        return _regenerator.default.async(function preventScreenshots$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                if (!_optionalPackageUtils.default.isScreenshotPreventAvailable()) {
                  _context6.next = 10;
                  break;
                }

                _context6.next = 3;
                return _regenerator.default.awrap(RNScreenshotPrevent.enabled(enabled));

              case 3:
                if (!enabled) {
                  _context6.next = 8;
                  break;
                }

                _context6.next = 6;
                return _regenerator.default.awrap(AppUtils.enableSecureView());

              case 6:
                _context6.next = 10;
                break;

              case 8:
                _context6.next = 10;
                return _regenerator.default.awrap(AppUtils.disableSecureView());

              case 10:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "addScreenshotListener",
      value: function addScreenshotListener(callback) {
        if (_optionalPackageUtils.default.isScreenshotPreventAvailable()) {
          return addListener(callback);
        }

        return undefined;
      }
    }]);
    return AppUtils;
  }();

  exports.default = AppUtils;
  AppUtils.DEFAULT_VERSION_CHECKER = 3263;
  AppUtils.STATE = {
    UNKNOWN: -1,
    NO_VERSION_SET: 0,
    NEW_INSTALL: 1,
    UPGRADED: 2,
    UPDATED: 3
  };
},2150,[5,80,7,8,602,1860,2078,574,731,2151,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Feedback = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNativeMail = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _FeedbackHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _GlobalConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _tecnaviaPlatformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var ANALYTICS_PATH = function ANALYTICS_PATH() {
    return "/feedback/" + (0, _$$_REQUIRE(_dependencyMap[10]).gaBreakout)() + "/doYouLikeTheApp";
  };

  var ANALYTICS_PATH_LEFT_REVIEW = "/sendReviewToStore";
  var ANALYTICS_PATH_SEND_EMAIL = "/sendEmailToSupport";
  var ANALYTICS_PATH_RESPONSE_YES = "/yes";
  var ANALYTICS_PATH_RESPONSE_NO = "/no";
  var ANALYTICS_PATH_RESPONSE_DONT_SHOW_AGAIN = "/dontShowAgain";

  var Feedback = function () {
    function Feedback() {
      (0, _classCallCheck2.default)(this, Feedback);
      this.feedbackLowerActiveDateRange = 1;
      this.feedbackUpperActiveDateRange = 3;
      this.feedbackActiveDaysToShow = 7;
      this.feedbackTotalDaysToShow = 20;
      this.feedbackRequestFeedbackTitle = "";
      this.feedbackRequestReviewFeedbackTitle = "";
      this.feedbackAskForFeedback = "";
    }

    (0, _createClass2.default)(Feedback, [{
      key: "init",
      value: function init() {
        var _global$getMainPSetup, feedbackEnabled, feedbackConfig, showDontShowAgain, lowerActiveDateRange, upperActiveDateRange, activeDaysToShow, totalDaysToShow, requestFeedbackTitle, requestReviewFeedbackTitle, askForFeedback, resetTimestamp;

        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return _regenerator.default.awrap(this.getValue(_FeedbackHelper.default.SP.keys.user_likes_app));

              case 2:
                this.userLikesApp = _context.sent;
                _context.next = 5;
                return _regenerator.default.awrap(this.getValue(_FeedbackHelper.default.SP.keys.user_left_review));

              case 5:
                _context.t0 = _context.sent;
                this.userAlreadyLeftReview = _context.t0 === "1";
                _context.next = 9;
                return _regenerator.default.awrap(this.getValue(_FeedbackHelper.default.SP.keys.user_left_feedback));

              case 9:
                _context.t1 = _context.sent;
                this.userAlreadyLeftFeedback = _context.t1 === "1";
                _context.next = 13;
                return _regenerator.default.awrap(this.getValue(_FeedbackHelper.default.SP.keys.user_no_show_review_dialog));

              case 13:
                _context.t2 = _context.sent;
                this.userNoShowReviewDialog = _context.t2 === "1";
                _context.next = 17;
                return _regenerator.default.awrap(this.getValue(_FeedbackHelper.default.SP.keys.user_no_show_review_version));

              case 17:
                this.userNoShowReviewVersion = _context.sent;
                _context.next = 20;
                return _regenerator.default.awrap(this.getIntValue(_FeedbackHelper.default.SP.keys.date_session));

              case 20:
                this.dateSession = _context.sent;
                _context.next = 23;
                return _regenerator.default.awrap(this.getValue(_FeedbackHelper.default.SP.keys.dialog_timestamp));

              case 23:
                this.lastDialogTimestamp = _context.sent;
                _context.next = 26;
                return _regenerator.default.awrap(this.getValue(_FeedbackHelper.default.SP.keys.next_dialog_timestamp));

              case 26:
                this.nextDialogTimestamp = _context.sent;
                _context.next = 29;
                return _regenerator.default.awrap(this.getValue(_FeedbackHelper.default.SP.keys.feedback_timestamp));

              case 29:
                this.lastReviewTimestamp = _context.sent;
                _context.next = 32;
                return _regenerator.default.awrap(this.getValue(_FeedbackHelper.default.SP.keys.user_no_show_review_timestamp));

              case 32:
                this.lastDoNotShowTimestamp = _context.sent;
                _context.next = 35;
                return _regenerator.default.awrap(global.analyzeUsedSpace());

              case 35:
                _global$getMainPSetup = global.getMainPSetup(), feedbackEnabled = _global$getMainPSetup.feedbackEnabled, feedbackConfig = _global$getMainPSetup.feedbackConfig;
                this.feedbackEnabled = feedbackEnabled;

                if (feedbackConfig) {
                  showDontShowAgain = feedbackConfig.showDontShowAgain, lowerActiveDateRange = feedbackConfig.lowerActiveDateRange, upperActiveDateRange = feedbackConfig.upperActiveDateRange, activeDaysToShow = feedbackConfig.activeDaysToShow, totalDaysToShow = feedbackConfig.totalDaysToShow, requestFeedbackTitle = feedbackConfig.requestFeedbackTitle, requestReviewFeedbackTitle = feedbackConfig.requestReviewFeedbackTitle, askForFeedback = feedbackConfig.askForFeedback, resetTimestamp = feedbackConfig.resetTimestamp;
                  this.feedbackShowDontShowAgain = showDontShowAgain;
                  this.feedbackLowerActiveDateRange = lowerActiveDateRange;
                  this.feedbackUpperActiveDateRange = upperActiveDateRange;
                  this.feedbackActiveDaysToShow = activeDaysToShow;
                  this.feedbackTotalDaysToShow = totalDaysToShow;
                  this.feedbackRequestFeedbackTitle = requestFeedbackTitle || global.strings("feedback_title_request_feedback");
                  this.feedbackRequestReviewFeedbackTitle = requestReviewFeedbackTitle || global.strings("feedback_title_request_review_feedback");
                  this.feedbackAskForFeedback = askForFeedback || global.strings("feedback_msg_ask_for_feedback");
                  this.resetDoNotShowAgainAfterUpgrade = this.getAppVersion() !== this.userNoShowReviewVersion;

                  if (this.userNoShowReviewDialog && this.resetDoNotShowAgainAfterUpgrade) {
                    this.userNoShowReviewDialog = false;
                    this.setValue(_FeedbackHelper.default.SP.keys.user_no_show_review_dialog, "0");
                    this.setValue(_FeedbackHelper.default.SP.keys.user_no_show_review_timestamp, "");
                    this.setValue(_FeedbackHelper.default.SP.keys.user_no_show_review_version, "");
                  }

                  if (this.checkTimestampToReset(resetTimestamp)) {
                    this.dateSession = undefined;
                  }
                }

              case 38:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "check",
      value: function check() {
        return _regenerator.default.async(function check$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.next = 2;
                return _regenerator.default.awrap(this.init());

              case 2:
                _context2.next = 4;
                return _regenerator.default.awrap(this.checkFeedback());

              case 4:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "force",
      value: function force() {
        return _regenerator.default.async(function force$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _context3.next = 2;
                return _regenerator.default.awrap(this.init());

              case 2:
                _context3.next = 4;
                return _regenerator.default.awrap(this.requestUserFeedback());

              case 4:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getAppVersion",
      value: function getAppVersion() {
        return "" + global.appVersionCode;
      }
    }, {
      key: "checkTimestampToReset",
      value: function checkTimestampToReset(pSetupTimestamp) {
        var referenceTimestamp = this.lastDialogTimestamp || this.lastReviewTimestamp;
        return pSetupTimestamp && referenceTimestamp && parseInt(referenceTimestamp, 10) < parseInt(pSetupTimestamp, 10);
      }
    }, {
      key: "baseFeedbackCondition",
      value: function baseFeedbackCondition() {
        if (global.isTaAddon()) {
          return false;
        }

        if (!this.feedbackEnabled) {
          return false;
        }

        if (!this.dateSession) {
          return false;
        }

        if (this.userLikesApp === "0") {
          return false;
        }

        if (this.userAlreadyLeftFeedback) {
          return false;
        }

        if (this.userAlreadyLeftReview) {
          return false;
        }

        if (this.userNoShowReviewDialog) {
          return false;
        }

        var coolDownCheck = true;

        if (this.nextDialogTimestamp) {
          coolDownCheck = _$$_REQUIRE(_dependencyMap[11]).DateUtils.getCurrentDateString() >= this.nextDialogTimestamp;
        }

        return coolDownCheck;
      }
    }, {
      key: "checkFeedback",
      value: function checkFeedback() {
        var timeDif, activeDaysNear, activeDaysTotal, _activeDaysTotal;

        return _regenerator.default.async(function checkFeedback$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!this.baseFeedbackCondition()) {
                  _context4.next = 28;
                  break;
                }

                timeDif = new Date().getTime() - this.dateSession;

                if (!(timeDif > this.feedbackLowerActiveDateRange && timeDif < this.feedbackUpperActiveDateRange)) {
                  _context4.next = 17;
                  break;
                }

                _context4.next = 5;
                return _regenerator.default.awrap(this.getIntValue(_FeedbackHelper.default.SP.keys.active_days_near));

              case 5:
                _context4.t0 = _context4.sent;
                activeDaysNear = _context4.t0 + 1;
                _context4.next = 9;
                return _regenerator.default.awrap(this.getIntValue(_FeedbackHelper.default.SP.keys.active_days_total));

              case 9:
                _context4.t1 = _context4.sent;
                activeDaysTotal = _context4.t1 + 1;
                this.setValue(_FeedbackHelper.default.SP.keys.date_session, new Date().getTime());
                this.setActiveDaysNear(activeDaysNear);
                this.setActiveDaysTotal(activeDaysTotal);

                if (activeDaysNear > this.feedbackActiveDaysToShow) {
                  this.requestUserFeedback();
                } else if (activeDaysTotal > this.feedbackTotalDaysToShow) {
                  this.requestUserFeedback();
                }

                _context4.next = 26;
                break;

              case 17:
                if (!(timeDif > this.feedbackUpperActiveDateRange)) {
                  _context4.next = 26;
                  break;
                }

                _context4.next = 20;
                return _regenerator.default.awrap(this.getIntValue(_FeedbackHelper.default.SP.keys.active_days_total));

              case 20:
                _context4.t2 = _context4.sent;
                _activeDaysTotal = _context4.t2 + 1;
                this.setValue(_FeedbackHelper.default.SP.keys.date_session, new Date().getTime());
                this.setActiveDaysNear(1);
                this.setActiveDaysTotal(_activeDaysTotal);

                if (_activeDaysTotal > this.feedbackTotalDaysToShow) {
                  this.requestUserFeedback();
                }

              case 26:
                _context4.next = 29;
                break;

              case 28:
                if (!this.dateSession) {
                  this.setValue(_FeedbackHelper.default.SP.keys.date_session, new Date().getTime());
                  this.setActiveDaysNear(1);
                  this.setActiveDaysTotal(1);
                  this.setValue(_FeedbackHelper.default.SP.keys.dialog_timestamp, "");
                  this.setValue(_FeedbackHelper.default.SP.keys.next_dialog_timestamp, "");
                  this.setValue(_FeedbackHelper.default.SP.keys.feedback_timestamp, "");
                  this.setValue(_FeedbackHelper.default.SP.keys.user_left_review, "0");
                  this.setValue(_FeedbackHelper.default.SP.keys.user_no_show_review_dialog, "0");
                  this.setValue(_FeedbackHelper.default.SP.keys.user_no_show_review_timestamp, "");
                  this.setValue(_FeedbackHelper.default.SP.keys.user_no_show_review_version, "");
                  this.setValue(_FeedbackHelper.default.SP.keys.user_left_review_app_version, "");
                  this.setValue(_FeedbackHelper.default.SP.keys.user_left_feedback, "");
                  this.removeValue(_FeedbackHelper.default.SP.keys.user_likes_app);
                }

              case 29:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "setActiveDaysNear",
      value: function setActiveDaysNear(newValue) {
        return _regenerator.default.async(function setActiveDaysNear$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                return _context5.abrupt("return", this.setValue(_FeedbackHelper.default.SP.keys.active_days_near, newValue));

              case 1:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "setActiveDaysTotal",
      value: function setActiveDaysTotal(newValue) {
        return _regenerator.default.async(function setActiveDaysTotal$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                return _context6.abrupt("return", this.setValue(_FeedbackHelper.default.SP.keys.active_days_total, newValue));

              case 1:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getMarketUrl",
      value: function getMarketUrl() {
        var result, response, error, reviewRatingUrl;
        return _regenerator.default.async(function getMarketUrl$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                _context7.prev = 0;
                _context7.next = 3;
                return _regenerator.default.awrap(_Api.default.getAppStoreMetadata());

              case 3:
                result = _context7.sent;
                response = result.data || {};
                error = response.error, reviewRatingUrl = response.reviewRatingUrl;

                if (!(error === 0 && reviewRatingUrl)) {
                  _context7.next = 8;
                  break;
                }

                return _context7.abrupt("return", reviewRatingUrl);

              case 8:
                _context7.next = 12;
                break;

              case 10:
                _context7.prev = 10;
                _context7.t0 = _context7["catch"](0);

              case 12:
                return _context7.abrupt("return", "");

              case 13:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, [[0, 10]], Promise);
      }
    }, {
      key: "setCoolDownTimestamp",
      value: function setCoolDownTimestamp(dontShowAgain) {
        var _global$getMainPSetup2 = global.getMainPSetup(),
            feedbackConfig = _global$getMainPSetup2.feedbackConfig;

        if (feedbackConfig) {
          var coolDownDays = feedbackConfig.coolDownDays,
              coolDownDaysDontShowAgain = feedbackConfig.coolDownDaysDontShowAgain;
          var feedbackCoolDownDays = dontShowAgain ? coolDownDaysDontShowAgain : coolDownDays;
          var nextDate = new Date();
          nextDate.setDate(nextDate.getDate() + feedbackCoolDownDays);
          this.setValue(_FeedbackHelper.default.SP.keys.next_dialog_timestamp, _$$_REQUIRE(_dependencyMap[11]).DateUtils.getCurrentDateString(nextDate));
        }
      }
    }, {
      key: "getButtons",
      value: function getButtons(onYesPress, onNoPress, dontShowAgainPresent) {
        var _this = this;

        var buttons = [{
          text: global.strings("btn_yes"),
          onPress: onYesPress
        }, {
          text: global.strings("btn_no"),
          onPress: onNoPress
        }];

        if (dontShowAgainPresent) {
          buttons.push({
            text: global.strings("btn_do_not_show"),
            onPress: function onPress() {
              _this.setCoolDownTimestamp(true);

              _this.setValue(_FeedbackHelper.default.SP.keys.user_no_show_review_dialog, "1");

              _this.setValue(_FeedbackHelper.default.SP.keys.user_no_show_review_version, _this.getAppVersion());

              _this.setValue(_FeedbackHelper.default.SP.keys.user_no_show_review_dialog_timestamp, _$$_REQUIRE(_dependencyMap[11]).DateUtils.getCurrentDateString());

              _this.sendDontShow();
            }
          });
        }

        return buttons;
      }
    }, {
      key: "requestUserFeedback",
      value: function requestUserFeedback() {
        var _this2 = this;

        var buttons;
        return _regenerator.default.async(function requestUserFeedback$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                _context8.next = 2;
                return _regenerator.default.awrap(this.getMarketUrl());

              case 2:
                _context8.t0 = _context8.sent;

                if (_context8.t0) {
                  _context8.next = 5;
                  break;
                }

                _context8.t0 = "";

              case 5:
                this.marketUrl = _context8.t0;

                if (this.marketUrl !== "" || global.isDebug) {
                  this.setValue(_FeedbackHelper.default.SP.keys.dialog_timestamp, _$$_REQUIRE(_dependencyMap[11]).DateUtils.getCurrentDateString());
                  this.setValue(_FeedbackHelper.default.SP.keys.next_dialog_timestamp, "");
                  this.setActiveDaysNear(1);
                  this.setActiveDaysTotal(1);
                  buttons = this.getButtons(function () {
                    _this2.setValue(_FeedbackHelper.default.SP.keys.user_likes_app, "1");

                    _this2.askForReview();
                  }, function () {
                    _this2.setValue(_FeedbackHelper.default.SP.keys.user_likes_app, "0");

                    _this2.askForWrittenFeedback();
                  }, this.feedbackShowDontShowAgain);

                  _reactNative.Alert.alert("", this.feedbackRequestFeedbackTitle, buttons, {
                    cancelable: false
                  });
                }

              case 7:
              case "end":
                return _context8.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "askForReview",
      value: function askForReview() {
        var _this3 = this;

        var buttons = this.getButtons(function () {
          _this3.sendEventReview(true);

          _this3.setValue(_FeedbackHelper.default.SP.keys.user_left_review_app_version, _this3.getAppVersion());

          _this3.setValue(_FeedbackHelper.default.SP.keys.feedback_timestamp, _$$_REQUIRE(_dependencyMap[11]).DateUtils.getCurrentDateString());

          _this3.setValue(_FeedbackHelper.default.SP.keys.user_left_review, "1");

          _this3.openAppRating();
        }, function () {
          _this3.setCoolDownTimestamp(false);

          _this3.sendEventReview(false);
        }, this.feedbackShowDontShowAgain);

        _reactNative.Alert.alert("", this.feedbackRequestReviewFeedbackTitle, buttons, {
          cancelable: false
        });
      }
    }, {
      key: "askForWrittenFeedback",
      value: function askForWrittenFeedback() {
        var _this4 = this;

        var buttons = this.getButtons(function _callee() {
          return _regenerator.default.async(function _callee$(_context9) {
            while (1) {
              switch (_context9.prev = _context9.next) {
                case 0:
                  _this4.setValue(_FeedbackHelper.default.SP.keys.user_left_feedback, "1");

                  _context9.next = 3;
                  return _regenerator.default.awrap(_this4.sendFeedbackEmail());

                case 3:
                  _this4.sendEventEmail(true);

                case 4:
                case "end":
                  return _context9.stop();
              }
            }
          }, null, null, null, Promise);
        }, function () {
          _this4.sendEventEmail(false);
        }, false);

        _reactNative.Alert.alert("", this.feedbackAskForFeedback, buttons, {
          cancelable: false
        });
      }
    }, {
      key: "sendFeedbackEmail",
      value: function sendFeedbackEmail() {
        var automaticFeedback,
            message,
            subject,
            _global$getMainPSetup3,
            feedbackConfig,
            email,
            _args10 = arguments;

        return _regenerator.default.async(function sendFeedbackEmail$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                automaticFeedback = _args10.length > 0 && _args10[0] !== undefined ? _args10[0] : true;
                message = " AUTOMATIC FEEDBACK: " + automaticFeedback + "\n";
                message += _GlobalConfig.default.getDeviceInfoText();
                message += _GlobalConfig.default.getUsedSpaceText();
                subject = "Feedback for " + global.appName;
                _global$getMainPSetup3 = global.getMainPSetup(), feedbackConfig = _global$getMainPSetup3.feedbackConfig;
                email = (feedbackConfig ? feedbackConfig.emailForFeedback : "") || global.strings("feedback_email_feedback");

                _reactNativeMail.default.mail({
                  subject: subject,
                  recipients: [email],
                  body: message,
                  isHTML: false
                }, function () {});

              case 8:
              case "end":
                return _context10.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "openAppRating",
      value: function openAppRating() {
        _tecnaviaPlatformUtils.default.openURL(this.marketUrl);
      }
    }, {
      key: "setValue",
      value: function setValue(key, value) {
        return _regenerator.default.async(function setValue$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                return _context11.abrupt("return", _FeedbackHelper.default.setItem(key, "" + value));

              case 1:
              case "end":
                return _context11.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getValue",
      value: function getValue(key) {
        return _regenerator.default.async(function getValue$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                return _context12.abrupt("return", _FeedbackHelper.default.getItem(key));

              case 1:
              case "end":
                return _context12.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "removeValue",
      value: function removeValue(key) {
        return _FeedbackHelper.default.removeItem(key);
      }
    }, {
      key: "getIntValue",
      value: function getIntValue(key) {
        return _regenerator.default.async(function getIntValue$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                _context13.t0 = parseInt;
                _context13.next = 3;
                return _regenerator.default.awrap(this.getValue(key));

              case 3:
                _context13.t1 = _context13.sent;
                return _context13.abrupt("return", (0, _context13.t0)(_context13.t1, 10));

              case 5:
              case "end":
                return _context13.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "sendEventReview",
      value: function sendEventReview(sendReview) {
        (0, _$$_REQUIRE(_dependencyMap[12]).trackFeedback)(ANALYTICS_PATH() + ANALYTICS_PATH_RESPONSE_YES + ANALYTICS_PATH_LEFT_REVIEW + (sendReview ? ANALYTICS_PATH_RESPONSE_YES : ANALYTICS_PATH_RESPONSE_NO));
        (0, _$$_REQUIRE(_dependencyMap[12]).trackCustomFirebaseEvent)({
          customEvent: "feedback",
          customParams: {
            doYouLikeTheApp: "yes",
            sendReviewToStore: sendReview ? "yes" : "no"
          }
        });
      }
    }, {
      key: "sendEventEmail",
      value: function sendEventEmail(sendEmail) {
        (0, _$$_REQUIRE(_dependencyMap[12]).trackFeedback)(ANALYTICS_PATH() + ANALYTICS_PATH_RESPONSE_NO + ANALYTICS_PATH_SEND_EMAIL + (sendEmail ? ANALYTICS_PATH_RESPONSE_YES : ANALYTICS_PATH_RESPONSE_NO));
        (0, _$$_REQUIRE(_dependencyMap[12]).trackCustomFirebaseEvent)({
          customEvent: "feedback",
          customParams: {
            doYouLikeTheApp: "no",
            sendEmailToSupport: sendEmail ? "yes" : "no"
          }
        });
      }
    }, {
      key: "sendDontShow",
      value: function sendDontShow() {
        (0, _$$_REQUIRE(_dependencyMap[12]).trackFeedback)(ANALYTICS_PATH() + ANALYTICS_PATH_RESPONSE_DONT_SHOW_AGAIN);
        (0, _$$_REQUIRE(_dependencyMap[12]).trackCustomFirebaseEvent)({
          customEvent: "feedback",
          customParams: {
            dontShowAgain: "yes"
          }
        });
      }
    }], [{
      key: "resetCounter",
      value: function resetCounter() {
        return _regenerator.default.async(function resetCounter$(_context14) {
          while (1) {
            switch (_context14.prev = _context14.next) {
              case 0:
                _context14.prev = 0;
                _context14.next = 3;
                return _regenerator.default.awrap(_FeedbackHelper.default.setItem(_FeedbackHelper.default.SP.keys.active_days_near, "1"));

              case 3:
                _context14.next = 5;
                return _regenerator.default.awrap(_FeedbackHelper.default.setItem(_FeedbackHelper.default.SP.keys.active_days_total, "1"));

              case 5:
                _context14.next = 9;
                break;

              case 7:
                _context14.prev = 7;
                _context14.t0 = _context14["catch"](0);

              case 9:
              case "end":
                return _context14.stop();
            }
          }
        }, null, null, [[0, 7]], Promise);
      }
    }]);
    return Feedback;
  }();

  exports.Feedback = Feedback;
},2151,[5,80,7,8,2152,28,2153,431,2154,1876,1892,462,1871]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.NativeModules.RNMail;
  exports.default = _default;
},2152,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var FeedbackHelper = function () {
    function FeedbackHelper() {
      (0, _classCallCheck2.default)(this, FeedbackHelper);
    }

    (0, _createClass2.default)(FeedbackHelper, null, [{
      key: "getItem",
      value: function getItem(key) {
        return _regenerator.default.async(function getItem$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.getItem(FeedbackHelper.SP.name, key));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "setItem",
      value: function setItem(key, value) {
        return _regenerator.default.async(function setItem$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.setItem(FeedbackHelper.SP.name, key, value));

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "removeItem",
      value: function removeItem(key) {
        return _regenerator.default.async(function removeItem$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                return _context3.abrupt("return", _$$_REQUIRE(_dependencyMap[4]).StorageUtils.clear(FeedbackHelper.SP.name, key));

              case 1:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return FeedbackHelper;
  }();

  exports.default = FeedbackHelper;
  FeedbackHelper.SP = {
    name: "feedback",
    keys: {
      dialog_timestamp: "dialogTimestamp",
      next_dialog_timestamp: "nextDialogTimestamp",
      user_likes_app: "userLikesApp",
      user_left_review: "userLeftReview",
      user_left_feedback: "userLeftFeedback",
      user_left_review_app_version: "userLeftReviewAppVersion",
      user_no_show_review_version: "userNoShowReviewVersion",
      user_no_show_review_dialog: "userNoShowReviewDialog",
      user_no_show_review_timestamp: "userNoShowReviewDialogTimestamp",
      feedback_timestamp: "feedbackTimestamp",
      date_session: "dateSession",
      active_days_near: "activeDaysNear",
      active_days_total: "activeDaysTotal"
    }
  };
},2153,[5,80,7,8,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _PaywallHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _optionspageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _EpaperLayoutConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Paywall = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _PushHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _ApplicationManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _articleComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _NewsmemoryAJAX = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _PaywallLoginStatus = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var Analytics = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[16]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _OptionalPackages$get = _optionalPackageUtils.default.getNativeOptionsPage(),
      Methods = _OptionalPackages$get.Methods;

  var GlobalConfig = function () {
    function GlobalConfig() {
      (0, _classCallCheck2.default)(this, GlobalConfig);
    }

    (0, _createClass2.default)(GlobalConfig, null, [{
      key: "initMachineId",
      value: function initMachineId() {
        var machineId, uniqueId;
        return _regenerator.default.async(function initMachineId$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!_$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isIOS()) {
                  _context.next = 24;
                  break;
                }

                if (global.machineId) {
                  _context.next = 22;
                  break;
                }

                _context.next = 4;
                return _regenerator.default.awrap(_PaywallHelper.default.getMachineIdFromUserDefaults());

              case 4:
                machineId = _context.sent;

                if (machineId) {
                  _context.next = 9;
                  break;
                }

                _context.next = 8;
                return _regenerator.default.awrap(global.getUserSettings().getMachineId());

              case 8:
                machineId = _context.sent;

              case 9:
                if (!machineId) {
                  _context.next = 13;
                  break;
                }

                machineId = machineId.split(",")[0];
                _context.next = 21;
                break;

              case 13:
                _context.prev = 13;
                _context.next = 16;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[18]).PlatformUtils.getRandomUUID());

              case 16:
                machineId = _context.sent;
                _context.next = 21;
                break;

              case 19:
                _context.prev = 19;
                _context.t0 = _context["catch"](13);

              case 21:
                global.machineId = machineId.replace(/-/g, "").toUpperCase();

              case 22:
                _context.next = 26;
                break;

              case 24:
                uniqueId = _$$_REQUIRE(_dependencyMap[18]).PlatformUtils.getDeviceUniqueId();
                global.machineId = _$$_REQUIRE(_dependencyMap[18]).StringUtils.getMd5(uniqueId).toUpperCase();

              case 26:
                _context.next = 28;
                return _regenerator.default.awrap(global.getUserSettings().setMachineId(global.machineId));

              case 28:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[13, 19]], Promise);
      }
    }, {
      key: "initMainPSetup",
      value: function initMainPSetup() {
        var firstInstall,
            isAppUpgraded,
            _global$getNewsmemory,
            startupPSetup,
            startupMachine,
            preview,
            oneTimeToken,
            extraParams,
            _args2 = arguments;

        return _regenerator.default.async(function initMainPSetup$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                firstInstall = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : false;
                isAppUpgraded = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : false;
                _global$getNewsmemory = global.getNewsmemoryStartupParams(), startupPSetup = _global$getNewsmemory.pSetup, startupMachine = _global$getNewsmemory.machine, preview = _global$getNewsmemory.preview, oneTimeToken = _global$getNewsmemory.onetimetoken;
                extraParams = {
                  fromCache: !isAppUpgraded
                };

                if (firstInstall) {
                  extraParams.firstInstall = 1;
                }

                if ((!startupPSetup || !startupMachine) && (preview || oneTimeToken)) {
                  extraParams.preview = preview;
                  extraParams.oneTimeToken = oneTimeToken;
                }

                if (global.apiKey) {
                  extraParams.apiKey = global.apiKey;
                }

                return _context2.abrupt("return", global.getPaperSetupManager().init(undefined, undefined, extraParams));

              case 8:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "initRssIndex",
      value: function initRssIndex() {
        var pSetupConfig,
            isAppUpgraded,
            pSetup,
            paper,
            rssIndexInitResult,
            _args3 = arguments;
        return _regenerator.default.async(function initRssIndex$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                pSetupConfig = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : global.getRSSActivePSetup();
                isAppUpgraded = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : false;
                pSetup = pSetupConfig.pSetup, paper = pSetupConfig.paper;
                _context3.next = 5;
                return _regenerator.default.awrap(global.getRssIndexManager().init({
                  pSetup: pSetup,
                  paper: paper,
                  fromCache: !isAppUpgraded
                }));

              case 5:
                rssIndexInitResult = _context3.sent;
                return _context3.abrupt("return", rssIndexInitResult);

              case 7:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "initCustomFonts",
      value: function initCustomFonts() {
        var pSetupConfig,
            fontsManager,
            result,
            _args4 = arguments;
        return _regenerator.default.async(function initCustomFonts$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                pSetupConfig = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : global.getActivePSetup();
                fontsManager = global.getFontsManager();
                _context4.next = 4;
                return _regenerator.default.awrap(fontsManager.init(pSetupConfig));

              case 4:
                result = _context4.sent;

                if (!result) {}

              case 6:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "initEpaperLayoutConfig",
      value: function initEpaperLayoutConfig() {
        var fromPublicationsPage,
            userSettings,
            epaperLayoutConfig,
            localeConfig,
            startedAsTablet,
            lastEpaperLayoutConfig,
            checkIfDeviceIsChanged,
            config,
            _config,
            isLite,
            hybridVersion,
            pSetup,
            pSetupFileTime,
            language,
            _global$getRSSActiveP,
            rssIsEnabled,
            newConfig,
            success,
            hybridUpdated,
            lastHybridVersion,
            type,
            changedConfig,
            fromRemote,
            _args5 = arguments;

        return _regenerator.default.async(function initEpaperLayoutConfig$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                fromPublicationsPage = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : false;
                userSettings = global.getUserSettings();
                epaperLayoutConfig = global.getEpaperLayoutConfig();
                localeConfig = global.getLocaleConfig();
                startedAsTablet = userSettings.startedAsTablet, lastEpaperLayoutConfig = userSettings.lastEpaperLayoutConfig;
                checkIfDeviceIsChanged = startedAsTablet !== _$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isTablet();
                config = global.getActivePSetup();

                if (!(config instanceof _$$_REQUIRE(_dependencyMap[19]).PaperSetupConfig)) {
                  config = global.getMainPSetup();
                }

                _config = config, isLite = _config.isLite, hybridVersion = _config.hybridVersion, pSetup = _config.pSetup, pSetupFileTime = _config.pSetupFileTime, language = _config.language;
                _global$getRSSActiveP = global.getRSSActivePSetup(), rssIsEnabled = _global$getRSSActiveP.rssIsEnabled;
                newConfig = "";
                _context5.prev = 11;
                _context5.next = 14;
                return _regenerator.default.awrap(_ApplicationManager.default.copyApplicationFolder());

              case 14:
                success = _context5.sent;
                hybridUpdated = true;

                if (!success) {
                  _context5.next = 21;
                  break;
                }

                _context5.next = 19;
                return _regenerator.default.awrap(_ApplicationManager.default.getHybridVersion());

              case 19:
                lastHybridVersion = _context5.sent;
                hybridUpdated = hybridVersion !== lastHybridVersion;

              case 21:
                type = _EpaperLayoutConfig.default.Type.normal;

                if (isLite && rssIsEnabled) {
                  type = _EpaperLayoutConfig.default.Type.hybridLite;
                } else if (isLite) {
                  type = _EpaperLayoutConfig.default.Type.lite;
                } else if (rssIsEnabled) {
                  type = _EpaperLayoutConfig.default.Type.hybrid;
                }

                newConfig = type + "_" + pSetup + "_" + pSetupFileTime + "_" + language;
                changedConfig = newConfig !== lastEpaperLayoutConfig;

                if (!(hybridUpdated || lastEpaperLayoutConfig && changedConfig)) {
                  _context5.next = 36;
                  break;
                }

                _context5.prev = 26;
                _context5.next = 29;
                return _regenerator.default.awrap(_NewsmemoryAJAX.default.getApplication());

              case 29:
                _context5.next = 33;
                break;

              case 31:
                _context5.prev = 31;
                _context5.t0 = _context5["catch"](26);

              case 33:
                if (!hybridUpdated) {
                  _context5.next = 36;
                  break;
                }

                _context5.next = 36;
                return _regenerator.default.awrap(_ApplicationManager.default.updateHybridVersion(hybridVersion));

              case 36:
                fromRemote = changedConfig || hybridUpdated || checkIfDeviceIsChanged;
                _context5.next = 39;
                return _regenerator.default.awrap(epaperLayoutConfig.init(pSetup, type, fromRemote, fromPublicationsPage));

              case 39:
                _context5.next = 43;
                break;

              case 41:
                _context5.prev = 41;
                _context5.t1 = _context5["catch"](11);

              case 43:
                userSettings.setLastEpaperLayoutConfig(newConfig);
                userSettings.setStartedAsTablet(_$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isTablet());
                _context5.prev = 45;
                _context5.next = 48;
                return _regenerator.default.awrap(_articleComponent.default.initArticleTextCss());

              case 48:
                _context5.next = 52;
                break;

              case 50:
                _context5.prev = 50;
                _context5.t2 = _context5["catch"](45);

              case 52:
                if (!(language !== localeConfig.getLanguage())) {
                  _context5.next = 55;
                  break;
                }

                _context5.next = 55;
                return _regenerator.default.awrap(localeConfig.init(config));

              case 55:
                GlobalConfig.initCustomStyles();

              case 56:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, [[11, 41], [26, 31], [45, 50]], Promise);
      }
    }, {
      key: "initContext",
      value: function initContext() {
        (0, _$$_REQUIRE(_dependencyMap[20]).setFonts)({
          fontBold: global.getFontsConfig().fontBold,
          fontMedium: global.getFontsConfig().fontMedium,
          fontRegular: global.getFontsConfig().fontRegular,
          allowFontScaling: global.getUserSettings().allowFontScaling
        });
      }
    }, {
      key: "initNewsmemoryConfig",
      value: function initNewsmemoryConfig() {
        var pSetupConfig,
            defaultConnectivityTimestamp,
            newsmemoryToUseTimestamp,
            _args6 = arguments;
        return _regenerator.default.async(function initNewsmemoryConfig$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                pSetupConfig = _args6.length > 0 && _args6[0] !== undefined ? _args6[0] : global.getMainPSetup();
                defaultConnectivityTimestamp = pSetupConfig.defaultConnectivityTimestamp, newsmemoryToUseTimestamp = pSetupConfig.newsmemoryToUseTimestamp;
                _context6.prev = 2;
                _context6.next = 5;
                return _regenerator.default.awrap(global.getNewsmemoryConfig().init());

              case 5:
                global.getNewsmemoryConfig().checkNetworkTimestamp(defaultConnectivityTimestamp);
                global.getNewsmemoryConfig().checkRnUseDemoTimestamp(newsmemoryToUseTimestamp);
                _context6.next = 11;
                break;

              case 9:
                _context6.prev = 9;
                _context6.t0 = _context6["catch"](2);

              case 11:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, [[2, 9]], Promise);
      }
    }, {
      key: "initRssConfig",
      value: function initRssConfig() {
        var _global$getRSSActiveP2, rssIsEnabled, _global$getRssIndex, paywallEnabled;

        return _regenerator.default.async(function initRssConfig$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                _global$getRSSActiveP2 = global.getRSSActivePSetup(), rssIsEnabled = _global$getRSSActiveP2.rssIsEnabled;

                if (!rssIsEnabled) {
                  _context7.next = 17;
                  break;
                }

                _context7.prev = 2;
                _context7.next = 5;
                return _regenerator.default.awrap(global.getRssFavoritesConfig().init());

              case 5:
                _context7.next = 9;
                break;

              case 7:
                _context7.prev = 7;
                _context7.t0 = _context7["catch"](2);

              case 9:
                _context7.prev = 9;

                if (!global.getRssIndex().drawerContainsVerticals()) {
                  _context7.next = 13;
                  break;
                }

                _context7.next = 13;
                return _regenerator.default.awrap(global.getVerticalsConfig().init());

              case 13:
                _context7.next = 17;
                break;

              case 15:
                _context7.prev = 15;
                _context7.t1 = _context7["catch"](9);

              case 17:
                _context7.prev = 17;
                _global$getRssIndex = global.getRssIndex(), paywallEnabled = _global$getRssIndex.paywallEnabled;

                if (!paywallEnabled) {
                  _context7.next = 23;
                  break;
                }

                _context7.next = 22;
                return _regenerator.default.awrap(_PaywallLoginStatus.default.initUserStatus());

              case 22:
                _Paywall.default.registerToNewsMemoryEvents();

              case 23:
                _context7.next = 27;
                break;

              case 25:
                _context7.prev = 25;
                _context7.t2 = _context7["catch"](17);

              case 27:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, [[2, 7], [9, 15], [17, 25]], Promise);
      }
    }, {
      key: "initAds",
      value: function initAds() {
        return _regenerator.default.async(function initAds$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                _context8.prev = 0;
                _context8.next = 3;
                return _regenerator.default.awrap(global.getAdsConfig().init());

              case 3:
                _context8.next = 7;
                break;

              case 5:
                _context8.prev = 5;
                _context8.t0 = _context8["catch"](0);

              case 7:
              case "end":
                return _context8.stop();
            }
          }
        }, null, null, [[0, 5]], Promise);
      }
    }, {
      key: "initSSLCertificates",
      value: function initSSLCertificates() {
        return _regenerator.default.async(function initSSLCertificates$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                _context9.prev = 0;
                _context9.next = 3;
                return _regenerator.default.awrap(global.getSslConfig().init(global.getMainPSetup()));

              case 3:
                _context9.next = 7;
                break;

              case 5:
                _context9.prev = 5;
                _context9.t0 = _context9["catch"](0);

              case 7:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, [[0, 5]], Promise);
      }
    }, {
      key: "initCustomStyles",
      value: function initCustomStyles() {
        var _global$getActivePSet = global.getActivePSetup(),
            disableRnStyles = _global$getActivePSet.disableRnStyles,
            rnStyles = _global$getActivePSet.rnStyles;

        _$$_REQUIRE(_dependencyMap[21]).Css.applyCustomStyles(!disableRnStyles ? rnStyles : undefined);
      }
    }, {
      key: "updateCustomStyles",
      value: function updateCustomStyles(activeTheme) {
        return _$$_REQUIRE(_dependencyMap[21]).Css.updateCustomStyles(activeTheme);
      }
    }, {
      key: "initLocale",
      value: function initLocale() {
        var pSetupConfig,
            _args10 = arguments;
        return _regenerator.default.async(function initLocale$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                pSetupConfig = _args10.length > 0 && _args10[0] !== undefined ? _args10[0] : global.getActivePSetup();
                _context10.prev = 1;
                _context10.next = 4;
                return _regenerator.default.awrap(global.getLocaleConfig().init(pSetupConfig));

              case 4:
                _context10.next = 8;
                break;

              case 6:
                _context10.prev = 6;
                _context10.t0 = _context10["catch"](1);

              case 8:
              case "end":
                return _context10.stop();
            }
          }
        }, null, null, [[1, 6]], Promise);
      }
    }, {
      key: "initUserConfig",
      value: function initUserConfig() {
        return _regenerator.default.async(function initUserConfig$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                _context11.prev = 0;
                _context11.next = 3;
                return _regenerator.default.awrap(global.getUserSettings().init());

              case 3:
                _context11.next = 7;
                break;

              case 5:
                _context11.prev = 5;
                _context11.t0 = _context11["catch"](0);

              case 7:
              case "end":
                return _context11.stop();
            }
          }
        }, null, null, [[0, 5]], Promise);
      }
    }, {
      key: "initConfigurations",
      value: function initConfigurations() {
        var mainPSetupConfig, activePSetupConfig;
        return _regenerator.default.async(function initConfigurations$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                _context12.next = 2;
                return _regenerator.default.awrap(GlobalConfig.initUserConfig());

              case 2:
                mainPSetupConfig = global.getMainPSetup();
                activePSetupConfig = global.getActivePSetup();
                _context12.next = 6;
                return _regenerator.default.awrap(GlobalConfig.initCustomFonts(mainPSetupConfig));

              case 6:
                if (!(activePSetupConfig.paper !== mainPSetupConfig.paper)) {
                  _context12.next = 9;
                  break;
                }

                _context12.next = 9;
                return _regenerator.default.awrap(GlobalConfig.initCustomFonts(activePSetupConfig));

              case 9:
                _context12.next = 11;
                return _regenerator.default.awrap(GlobalConfig.initSSLCertificates());

              case 11:
                _context12.next = 13;
                return _regenerator.default.awrap(GlobalConfig.initNewsmemoryConfig());

              case 13:
                _context12.next = 15;
                return _regenerator.default.awrap(GlobalConfig.initAds());

              case 15:
                _context12.next = 17;
                return _regenerator.default.awrap(GlobalConfig.initRssConfig());

              case 17:
                GlobalConfig.initContext();
                GlobalConfig.initCustomStyles();
                _context12.next = 21;
                return _regenerator.default.awrap(Analytics.initAnalytics());

              case 21:
              case "end":
                return _context12.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getNewsmemoryScreenVersion",
      value: function getNewsmemoryScreenVersion() {
        var _global$getMainPSetup = global.getMainPSetup(),
            newsmemoryToUse = _global$getMainPSetup.newsmemoryToUse,
            disableRnDemo = _global$getMainPSetup.disableRnDemo;

        var _global$getNewsmemory2 = global.getNewsmemoryConfig(),
            useRnDemo = _global$getNewsmemory2.useRnDemo;

        if (!disableRnDemo) {}

        if (global.isDebug && useRnDemo === "") {
          return _$$_REQUIRE(_dependencyMap[19]).NEWSMEMORY_SCREENS_NAME.REACT;
        }

        switch (newsmemoryToUse) {
          case _$$_REQUIRE(_dependencyMap[19]).NEWSMEMORY_SCREENS.REACT:
            if (!disableRnDemo && useRnDemo === "0" && !_$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isAndroid()) {
              return _$$_REQUIRE(_dependencyMap[19]).NEWSMEMORY_SCREENS_NAME.NATIVE;
            }

            return _$$_REQUIRE(_dependencyMap[19]).NEWSMEMORY_SCREENS_NAME.REACT;

          case _$$_REQUIRE(_dependencyMap[19]).NEWSMEMORY_SCREENS.NATIVE:
            if (!disableRnDemo && useRnDemo === "1" || _$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isAndroid()) {
              return _$$_REQUIRE(_dependencyMap[19]).NEWSMEMORY_SCREENS_NAME.REACT;
            }

            return _$$_REQUIRE(_dependencyMap[19]).NEWSMEMORY_SCREENS_NAME.NATIVE;

          case _$$_REQUIRE(_dependencyMap[19]).NEWSMEMORY_SCREENS.HTML5:
            return _$$_REQUIRE(_dependencyMap[19]).NEWSMEMORY_SCREENS_NAME.HTML5;

          default:
            return _$$_REQUIRE(_dependencyMap[19]).NEWSMEMORY_SCREENS_NAME.NATIVE;
        }
      }
    }, {
      key: "getDeviceInfoText",
      value: function getDeviceInfoText() {
        var _global$getMainPSetup2 = global.getMainPSetup(),
            pSetup = _global$getMainPSetup2.pSetup,
            layoutSubStyle = _global$getMainPSetup2.layoutSubStyle,
            showNativeOptionsPage = _global$getMainPSetup2.showNativeOptionsPage,
            showNativeOptionsPageFallbackUrl = _global$getMainPSetup2.showNativeOptionsPageFallbackUrl;

        var machine = global.getAppServer();

        var mainOptionspageVersion = _optionspageUtils.default.optionPageVersion();

        var activePSetupConfig = global.getActivePSetup();
        var activePSetup = activePSetupConfig.pSetup,
            activeLayoutSubStyle = activePSetupConfig.layoutSubStyle,
            activeMachine = activePSetupConfig.machine,
            activeShowNativeOptionsPageFallbackUrl = activePSetupConfig.showNativeOptionsPageFallbackUrl;
        var activePSetupInfo = "";

        if (activePSetup !== pSetup) {
          var activeOptionspageVersion = _optionspageUtils.default.optionPageVersion(activePSetupConfig);

          activePSetupInfo = " ACTIVE PSETUP: " + activePSetup + "\n ACTIVE SUB LAYOUT: " + activeLayoutSubStyle + "\n";
          activePSetupInfo += activeMachine !== machine ? " ACTIVE DOMAIN: " + activeMachine + "\n" : "";
          activePSetupInfo += (mainOptionspageVersion !== activeOptionspageVersion ? " ACTIVE OPTIONS PAGE: " + activeOptionspageVersion + "\n" : "") + "\n";

          if (showNativeOptionsPageFallbackUrl) {
            var fallbackVersion = _$$_REQUIRE(_dependencyMap[18]).StringUtils.getLastPathSegment(_$$_REQUIRE(_dependencyMap[18]).StringUtils.removeLastSlash(activeShowNativeOptionsPageFallbackUrl));

            activePSetupInfo += " ACTIVE NATIVE OPTIONS PAGE FALLBACK: " + fallbackVersion + "\n";
          }
        }

        var paywallInfo = "";

        var _global$getRssIndex2 = global.getRssIndex(),
            paywallEnabled = _global$getRssIndex2.paywallEnabled;

        if (paywallEnabled) {
          var version = _Paywall.default.config.version;

          if (version && _$$_REQUIRE(_dependencyMap[22]).baseVer !== version) {
            paywallInfo = " PAYWALL BASE VERSION: " + _$$_REQUIRE(_dependencyMap[22]).baseVer + "\n";
            paywallInfo += " PAYWALL ACTUAL VERSION: " + version + "\n";
          } else {
            paywallInfo += " PAYWALL VERSION: " + _$$_REQUIRE(_dependencyMap[22]).baseVer + "\n";
          }

          paywallInfo += "\n";
        }

        var connectionInfo = "";

        var deviceConnInfo = _$$_REQUIRE(_dependencyMap[18]).NetworkUtils.connectionInfo;

        if (deviceConnInfo) {
          var type = deviceConnInfo.type,
              effectiveType = deviceConnInfo.effectiveType;

          if (type) {
            connectionInfo = " CONNECTION TYPE: " + type + "\n";

            if (effectiveType && effectiveType !== "unknown") {
              connectionInfo += " CONNECTION BAND: " + effectiveType + "\n";
            }
          }
        }

        var epaperModeInfo = "\n";
        var newsmemoryConfig = global.getNewsmemoryConfig();
        var twoFingersTapToArticle = newsmemoryConfig.twoFingersTapToArticle,
            readModeEnabled = newsmemoryConfig.readModeEnabled,
            columnView = newsmemoryConfig.columnView,
            graphSize = newsmemoryConfig.graphSize,
            fontSize = newsmemoryConfig.fontSize,
            network = newsmemoryConfig.network;

        if (GlobalConfig.getNewsmemoryScreenVersion() === _$$_REQUIRE(_dependencyMap[19]).NEWSMEMORY_SCREENS_NAME.NATIVE) {
          epaperModeInfo += "\n USING EPAPER CLASSIC VERSION\n";
        }

        var epaperDownloadMode = network;

        if (_newsmemoryUtils.default.isModeLow(network)) {
          epaperDownloadMode = "Roaming";
        } else if (_newsmemoryUtils.default.isModeMid(network)) {
          epaperDownloadMode = "3G";
        } else if (_newsmemoryUtils.default.isModeFull(network)) {
          epaperDownloadMode = "WiFi";
        }

        epaperModeInfo += " EPAPER DOWNLOAD MODE: " + epaperDownloadMode + "\n";

        if (_$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isTablet()) {
          var epaperMode = _$$_REQUIRE(_dependencyMap[19]).NEWSMEMORY_START_MODE.BROWSE;

          if (twoFingersTapToArticle) {
            epaperMode = readModeEnabled ? _$$_REQUIRE(_dependencyMap[19]).NEWSMEMORY_START_MODE.READ : _$$_REQUIRE(_dependencyMap[19]).NEWSMEMORY_START_MODE.SWIPE;
          }

          epaperModeInfo += " ACTIVE EPAPER MODE: " + epaperMode + "\n";
          var columnViewInfo = columnView > 0 ? "enabled" : "disabled";
          epaperModeInfo += " COLUMN MODE: " + columnViewInfo + "\n";
        }

        var navigationArrowsInfo = "fixed";

        if (newsmemoryConfig.pagesNavigationButtonsAnimated()) {
          navigationArrowsInfo = "animated";
        } else if (newsmemoryConfig.pagesNavigationButtonsHidden()) {
          navigationArrowsInfo = "hidden";
        }

        epaperModeInfo += " NAVIGATION ARROWS: " + navigationArrowsInfo + "\n";
        var articleModeInfo = "only text";

        if (newsmemoryConfig.isArticleModeShowTextAndGraph()) {
          articleModeInfo = "text and graph";
        } else if (newsmemoryConfig.isArticleModeShowAll()) {
          articleModeInfo = "all";
        }

        epaperModeInfo += " ARTICLE MODE: " + articleModeInfo + "\n";
        epaperModeInfo += " FONT SIZE: " + fontSize + "%\n";
        epaperModeInfo += " GRAPH SIZE: " + graphSize + "%\n";
        var nativeOptInfo = "";

        if (showNativeOptionsPageFallbackUrl) {
          var _fallbackVersion = _$$_REQUIRE(_dependencyMap[18]).StringUtils.getLastPathSegment(_$$_REQUIRE(_dependencyMap[18]).StringUtils.removeLastSlash(showNativeOptionsPageFallbackUrl));

          nativeOptInfo = " NATIVE OPTIONS PAGE FALLBACK: " + _fallbackVersion + "\n";
        } else if (showNativeOptionsPage && Methods) {
          var optVer = "n/d";

          if (typeof Methods.getVersion === "function") {
            optVer = Methods.getVersion();
          }

          nativeOptInfo = " NATIVE OPTIONS PAGE: " + optVer + "\n";
        }

        var _PushHelper$getRegist = _PushHelper.default.getRegistrationInfo(),
            token = _PushHelper$getRegist.token,
            userId = _PushHelper$getRegist.userId,
            serverMessage = _PushHelper$getRegist.serverMessage,
            service = _PushHelper$getRegist.service;

        return " PSETUP: " + pSetup + "\n" + (" SUB LAYOUT: " + layoutSubStyle + "\n") + (" DOMAIN: " + machine + "\n") + (" OPTIONS PAGE: " + mainOptionspageVersion + "\n\n") + ("" + nativeOptInfo) + ("" + activePSetupInfo) + ("" + paywallInfo) + (" APP VERSION: " + _deviceUtils.default.getTextVersionName() + "\n") + (" APP CODE: " + _deviceUtils.default.getAppCode() + "\n") + (" BUNDLE VERSION: " + _deviceUtils.default.getBundleVersion() + "\n") + (" IS USING HERMES: " + (_deviceUtils.default.isUsingHermes() ? "YES" : "NO") + "\n") + (" IS ADDON: " + (global.isTaAddon() ? "YES" : "NO") + "\n") + (" RESOLUTION: " + _$$_REQUIRE(_dependencyMap[18]).PlatformUtils.getResolution() + "\n") + (" SAFE AREA INSETS: " + JSON.stringify(_deviceUtils.default.getSafeAreaInsets()) + "\n") + (" SAFE AREA: " + JSON.stringify(_deviceUtils.default.getSafeArea()) + "\n") + (" SDK: " + _$$_REQUIRE(_dependencyMap[18]).PlatformUtils.getSystemSDK() + "\n") + (" OS VERSION: " + _$$_REQUIRE(_dependencyMap[18]).PlatformUtils.getSystemVersion() + "\n") + (" OS: " + _$$_REQUIRE(_dependencyMap[18]).PlatformUtils.getSystemName() + "\n") + (" BRAND: " + _$$_REQUIRE(_dependencyMap[18]).PlatformUtils.getBrand() + "\n") + (" MODEL: " + _$$_REQUIRE(_dependencyMap[18]).PlatformUtils.model() + "\n") + (" MODEL ID: " + _$$_REQUIRE(_dependencyMap[18]).PlatformUtils.getDeviceId() + "\n\n") + (" MACHINEID: " + global.machineId + "\n") + ("" + connectionInfo) + (" IP ADDRESS: " + _$$_REQUIRE(_dependencyMap[18]).NetworkUtils.getIP() + "\n\n") + (" PUSH SERVICE: " + service + "\n") + (" PUSH TOKEN: " + token + "\n") + (" PUSH USER ID: " + userId + "\n") + (" PUSH SERVER MESSAGE: " + serverMessage + "\n") + ("" + epaperModeInfo);
      }
    }, {
      key: "getUsedSpaceText",
      value: function getUsedSpaceText() {
        var _global$getUsedSpace = global.getUsedSpace(),
            usedSpace = _global$getUsedSpace.usedSpace,
            numberOfPapersDirs = _global$getUsedSpace.numberOfPapersDirs,
            numberOfIssuesDirs = _global$getUsedSpace.numberOfIssuesDirs,
            numberOfPagesDirs = _global$getUsedSpace.numberOfPagesDirs;

        return "\n USED SPACE: " + _$$_REQUIRE(_dependencyMap[18]).StringUtils.sizeToString(usedSpace) + "\n" + (" PAPERS: " + numberOfPapersDirs + "\n") + (" ISSUES: " + numberOfIssuesDirs + "\n") + (" PAGES: " + numberOfPagesDirs + "\n");
      }
    }]);
    return GlobalConfig;
  }();

  exports.default = GlobalConfig;
},2154,[5,80,7,8,1863,458,730,429,1862,2134,602,2155,430,1859,1864,603,1871,731,462,717,1880,699,1865]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[12]);

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _EPaperArticle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _articleGraph = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _articleText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _articleComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _refreshComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _articleExtraComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _articleFlingComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[23]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var styles = _reactNative.StyleSheet.create({
    graphicParent: {
      overflow: "hidden",
      flexDirection: "column",
      flex: 1,
      width: "100%"
    }
  });

  var NewsmemoryArticle = function (_React$Component) {
    (0, _inherits2.default)(NewsmemoryArticle, _React$Component);

    var _super = _createSuper(NewsmemoryArticle);

    function NewsmemoryArticle(props) {
      var _this;

      (0, _classCallCheck2.default)(this, NewsmemoryArticle);
      _this = _super.call(this, props);
      _this._scrollContentHeight = 0;
      _this._scrollHeight = 0;
      _this._articleExtraHeight = 0;
      _this._articleExtraScrollPosition = 0;
      _this._scrollPosition = 0;
      _this._accessibilityHeight = 0;
      _this._fingerItemIndex = -1;
      _this.onScroll = _this._onScroll.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPanEvent = _this._onPanEvent.bind((0, _assertThisInitialized2.default)(_this));
      _this.onRef = _this._onRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onGraphRef = _this._onGraphRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onArticleExtraRef = _this._onArticleExtraRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onArticleRef = _this._onArticleRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onScrollLayout = _this._onScrollLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.onScrollContentLayout = _this._onScrollContentLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLoadEnd = _this._onLoadEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.onScrollTop = _this._onScrollTop.bind((0, _assertThisInitialized2.default)(_this));
      _this.scrollTo = _this._scrollTo.bind((0, _assertThisInitialized2.default)(_this));
      _this.isActive = _this._isActive.bind((0, _assertThisInitialized2.default)(_this));
      _this.onRefresh = _this._onRefresh.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPositionId = _this._onPositionId.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPositionIdOffset = _this._onPositionIdOffset.bind((0, _assertThisInitialized2.default)(_this));
      _this.onHrsPosition = _this._onHrsPosition.bind((0, _assertThisInitialized2.default)(_this));
      _this.onExtraOpenGallery = _this._onExtraOpenGallery.bind((0, _assertThisInitialized2.default)(_this));
      _this.onExtraPress = _this._onExtraPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onExtraLayout = _this._onExtraLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.onExpandedImageLayout = _this._onExpandedImageLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.onAccessibilityLayout = _this._onAccessibilityLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.onArticleExtraLoaded = _this._onArticleExtraLoaded.bind((0, _assertThisInitialized2.default)(_this));
      _this.scrollUp = _this._scrollUp.bind((0, _assertThisInitialized2.default)(_this));
      _this.scrollDown = _this._scrollDown.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        mode: props.mode,
        refreshing: false,
        hidden: props.hidden,
        focusedItem: undefined,
        lastFocusedIndex: -1
      };
      return _this;
    }

    (0, _createClass2.default)(NewsmemoryArticle, [{
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        var onUnmount = this.props.onUnmount;

        if (typeof onUnmount === "function") {
          onUnmount();
        }
      }
    }, {
      key: "getText",
      value: function getText() {
        if (this.textArticle) {
          return this.textArticle.getText() || "";
        }

        return "";
      }
    }, {
      key: "getMode",
      value: function getMode() {
        var mode = this.state.mode;
        return mode;
      }
    }, {
      key: "isTextMode",
      value: function isTextMode() {
        var mode = this.state.mode;
        return mode === _$$_REQUIRE(_dependencyMap[24]).NewsmemoryArticleModes.TEXT;
      }
    }, {
      key: "toggleMode",
      value: function toggleMode() {
        var _this$props = this.props,
            edition = _this$props.edition,
            page = _this$props.page,
            article = _this$props.article;
        var mode = this.isTextMode() ? _$$_REQUIRE(_dependencyMap[24]).NewsmemoryArticleModes.GRAPHIC : _$$_REQUIRE(_dependencyMap[24]).NewsmemoryArticleModes.TEXT;
        (0, _$$_REQUIRE(_dependencyMap[25]).sendNewsmemoryToogleArticleModeEvent)(mode, edition, page, article);
        this.setState({
          mode: mode
        });
      }
    }, {
      key: "show",
      value: function show() {
        var _this$state = this.state,
            hidden = _this$state.hidden,
            mode = _this$state.mode;

        if (this.graphArticle && mode === _$$_REQUIRE(_dependencyMap[24]).NewsmemoryArticleModes.GRAPHIC) {
          this.graphArticle.show();
        } else if (hidden) {
          this.setState({
            hidden: false
          });
        }
      }
    }, {
      key: "hide",
      value: function hide() {
        var _this$state2 = this.state,
            hidden = _this$state2.hidden,
            mode = _this$state2.mode;

        if (this.graphArticle && mode === _$$_REQUIRE(_dependencyMap[24]).NewsmemoryArticleModes.GRAPHIC) {
          this.graphArticle.hide();
        } else if (!hidden) {
          this.setState({
            hidden: true
          });
        }
      }
    }, {
      key: "isTranslated",
      value: function isTranslated(language) {
        if (this.textArticle && this.isTextMode()) {
          return this.textArticle.isTranslated(language);
        }

        return false;
      }
    }, {
      key: "translate",
      value: function translate(language) {
        return _regenerator.default.async(function translate$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!(this.textArticle && this.isTextMode())) {
                  _context.next = 2;
                  break;
                }

                return _context.abrupt("return", this.textArticle.initializeHtml(language));

              case 2:
                return _context.abrupt("return", false);

              case 3:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getPrintHtml",
      value: function getPrintHtml() {
        var html, filename, _this$props2, article, page, newspaper;

        return _regenerator.default.async(function getPrintHtml$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.prev = 0;
                _this$props2 = this.props, article = _this$props2.article, page = _this$props2.page, newspaper = _this$props2.newspaper;
                filename = newspaper.getEdition() + " " + newspaper.getIssue() + " " + page.getPage() + " " + article.getXmlId();
                filename = filename.replace(/ /g, "_");

                if (!this.isTextMode()) {
                  _context2.next = 9;
                  break;
                }

                html = this.textArticle.getContentToPrint();
                filename = filename + "_t";
                _context2.next = 15;
                break;

              case 9:
                if (!_$$_REQUIRE(_dependencyMap[26]).PlatformUtils.isIOS()) {
                  _context2.next = 12;
                  break;
                }

                _context2.next = 12;
                return _regenerator.default.awrap(this.graphArticle.isPrintGraphReady());

              case 12:
                _context2.next = 14;
                return _regenerator.default.awrap(this.graphArticle.getHtmlToPrint());

              case 14:
                html = _context2.sent;

              case 15:
                _context2.next = 19;
                break;

              case 17:
                _context2.prev = 17;
                _context2.t0 = _context2["catch"](0);

              case 19:
                return _context2.abrupt("return", {
                  html: html,
                  filename: filename
                });

              case 20:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, [[0, 17]], Promise);
      }
    }, {
      key: "print",
      value: function print() {
        var _global$getActivePSet, printToLetter, _await$this$getPrintH, html, filename, jobName;

        return _regenerator.default.async(function print$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _global$getActivePSet = global.getActivePSetup(), printToLetter = _global$getActivePSet.printToLetter;
                _context3.next = 3;
                return _regenerator.default.awrap(this.getPrintHtml());

              case 3:
                _await$this$getPrintH = _context3.sent;
                html = _await$this$getPrintH.html;
                filename = _await$this$getPrintH.filename;
                _context3.next = 8;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.printHTML(html, filename, printToLetter));

              case 8:
                jobName = _context3.sent;

                if (!jobName) {
                  _context3.next = 11;
                  break;
                }

                return _context3.abrupt("return", jobName);

              case 11:
                throw new Error("Print cancelled");

              case 12:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "checkArticleExtra",
      value: function checkArticleExtra() {
        if (this.graphArticle && !this.isTextMode()) {
          this.graphArticle.checkArticleExtra();
        }
      }
    }, {
      key: "toggleArticleExtra",
      value: function toggleArticleExtra() {
        if (this.graphArticle && !this.isTextMode()) {
          this.graphArticle.toggleArticleExtra();
        }
      }
    }, {
      key: "startHeightCheck",
      value: function startHeightCheck() {
        if (this.textArticle && this.isTextMode()) {
          this.textArticle.startHeightCheck();
        }
      }
    }, {
      key: "stopHeightCheck",
      value: function stopHeightCheck() {
        if (this.textArticle && this.isTextMode()) {
          this.textArticle.stopHeightCheck();
        }
      }
    }, {
      key: "scrollToHrAfter",
      value: function scrollToHrAfter() {
        var _this2 = this;

        if (this._positions) {
          var position = this._positions.find(function (pos) {
            return Math.ceil(pos + _this2._getExpandedImageHeight()) > Math.ceil(_this2._scrollPosition);
          });

          if (position > 0) {
            this._onScrollTop(position + this._getExpandedImageHeight());

            return;
          }
        }

        this._scrollToEnd();
      }
    }, {
      key: "scrollToHrBefore",
      value: function scrollToHrBefore() {
        if (this._positions) {
          for (var i = this._positions.length - 1; i >= 0; i--) {
            if (Math.floor(this._positions[i] + this._getExpandedImageHeight()) < Math.floor(this._scrollPosition)) {
              this._onScrollTop(this._positions[i] + this._getExpandedImageHeight());

              return;
            }
          }
        }

        this._onScrollTop();
      }
    }, {
      key: "_scrollUp",
      value: function _scrollUp() {
        if (this.isTextMode()) {
          this._scrollTo(-this._scrollHeight / 3);
        }
      }
    }, {
      key: "_scrollDown",
      value: function _scrollDown() {
        if (this.isTextMode()) {
          this._scrollTo(this._scrollHeight / 3);
        }
      }
    }, {
      key: "_getCss",
      value: function _getCss() {
        return {
          defaultCss: NewsmemoryArticle.defaultCss,
          customCss: NewsmemoryArticle.customCss
        };
      }
    }, {
      key: "_onScrollLayout",
      value: function _onScrollLayout(_ref) {
        var nativeEvent = _ref.nativeEvent;
        var article = this.props.article;
        var height = nativeEvent.layout.height;
        this._scrollHeight = height;

        _$$_REQUIRE(_dependencyMap[27]).EventRegister.emit(_events.default.ARTICLE_SCROLL_LAYOUT, {
          id: (0, _$$_REQUIRE(_dependencyMap[28]).getArticleId)(article),
          scrollHeight: height
        });
      }
    }, {
      key: "_onScrollContentLayout",
      value: function _onScrollContentLayout(width, height) {
        this._scrollContentHeight = height;
      }
    }, {
      key: "_onScroll",
      value: function _onScroll(_ref2) {
        var nativeEvent = _ref2.nativeEvent;

        var _global$getActivePSet2 = global.getActivePSetup(),
            keepArticlePositionOnRotation = _global$getActivePSet2.keepArticlePositionOnRotation;

        var article = this.props.article;
        var contentOffset = nativeEvent.contentOffset;
        var xOffset = contentOffset.x,
            yOffset = contentOffset.y;

        if (this.textArticle instanceof _articleText.default && keepArticlePositionOnRotation) {
          this.textArticle.getPositionId(xOffset, yOffset);
        }

        if (this.articleExtraRef) {
          if ((yOffset <= 0 || this._scrollPosition > yOffset) && yOffset - this._getExpandedImageHeight() < this._articleExtraScrollPosition - this._scrollHeight + this._articleExtraHeight) {
            this.articleExtraRef.show();
          } else {
            this.articleExtraRef.hide();
          }
        }

        this._scrollPosition = yOffset;

        _$$_REQUIRE(_dependencyMap[27]).EventRegister.emit(_events.default.ARTICLE_SCROLL, {
          id: (0, _$$_REQUIRE(_dependencyMap[28]).getArticleId)(article),
          scrollYOffset: yOffset
        });
      }
    }, {
      key: "_onPanEvent",
      value: function _onPanEvent(_ref3) {
        var nativeEvent = _ref3.nativeEvent;

        if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[29]).State.ACTIVE) {
          var accessibilityItems = this.props.accessibilityItems;
          var y = nativeEvent.y;
          var fingerY = y + this._scrollPosition;
          var itemHeight = this._accessibilityHeight / accessibilityItems.length;
          var progressiveHeight = 0;
          var fingerItemIndex = -1;

          for (var i = 0; i < accessibilityItems.length; i++) {
            if (fingerY >= progressiveHeight && fingerY <= progressiveHeight + itemHeight) {
              fingerItemIndex = i;
              break;
            }

            progressiveHeight += itemHeight;
          }

          if (this._fingerItemIndex !== fingerItemIndex) {
            this._fingerItemIndex = fingerItemIndex;

            if (fingerY > this._accessibilityHeight) {
              var focusedItem = this.state.focusedItem;
              this.accessibilityFocus();

              if (focusedItem !== undefined) {
                this.setState({
                  focusedItem: undefined,
                  lastFocusedIndex: fingerItemIndex
                });
              }
            } else {
              this.accessibilityUnfocus();
              var _focusedItem = accessibilityItems[fingerItemIndex];
              this.setState({
                focusedItem: _focusedItem,
                lastFocusedIndex: fingerItemIndex
              });
            }
          }
        }
      }
    }, {
      key: "accessibilityFocus",
      value: function accessibilityFocus() {
        if (this.textArticle) {
          this.textArticle.setAccessibilityFocus(true);
        }
      }
    }, {
      key: "accessibilityUnfocus",
      value: function accessibilityUnfocus() {
        if (this.textArticle) {
          this.textArticle.setAccessibilityFocus(false);
        }
      }
    }, {
      key: "_onRefresh",
      value: function _onRefresh() {
        var _this3 = this;

        var onSwipeDown = this.props.onSwipeDown;

        if (typeof onSwipeDown === "function") {
          this.setState({
            refreshing: true
          }, function () {
            onSwipeDown();

            _this3.setState({
              refreshing: false
            });
          });
        }
      }
    }, {
      key: "_onLoadEnd",
      value: function _onLoadEnd() {
        var _this4 = this;

        var _this$props3 = this.props,
            index = _this$props3.index,
            onLoadEnd = _this$props3.onLoadEnd,
            getNewspaperStatus = _this$props3.getNewspaperStatus;

        if (onLoadEnd) {
          onLoadEnd(index);
        }

        var _global$getActivePSet3 = global.getActivePSetup(),
            keepArticlePositionOnRotation = _global$getActivePSet3.keepArticlePositionOnRotation;

        if (this.isActive() && this.isTextMode() && keepArticlePositionOnRotation && this.textArticle instanceof _articleText.default) {
          var _getNewspaperStatus = getNewspaperStatus(),
              lastArticlePositionId = _getNewspaperStatus.lastArticlePositionId;

          if (lastArticlePositionId > 0) {
            setTimeout(function () {
              _this4.textArticle.goToPositionId(lastArticlePositionId);
            }, 500);
          }
        }
      }
    }, {
      key: "_scrollToEnd",
      value: function _scrollToEnd() {
        var _this5 = this;

        if (this.scrollTextArticle) {
          setTimeout(function () {
            if (_this5.scrollTextArticle) {
              _this5.scrollTextArticle.scrollToEnd({
                animated: true
              });
            }
          }, 1);
        }
      }
    }, {
      key: "_onScrollTop",
      value: function _onScrollTop() {
        var _this6 = this;

        var top = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;

        if (this.scrollTextArticle) {
          setTimeout(function () {
            if (_this6.scrollTextArticle) {
              _this6.scrollTextArticle.scrollTo({
                y: Math.max(0, top),
                x: 0,
                animated: true
              });
            }
          }, 1);
        }
      }
    }, {
      key: "_getIndexOfFocusedItems",
      value: function _getIndexOfFocusedItems() {
        var accessibilityItems = this.props.accessibilityItems;
        var focusedItem = this.state.focusedItem;

        if (!focusedItem) {
          return -1;
        }

        var i = 0;

        for (; i < accessibilityItems.length; i++) {
          if (_$$_REQUIRE(_dependencyMap[26]).JSUtils.areEqualShallow(accessibilityItems[i], focusedItem)) {
            break;
          }
        }

        return i;
      }
    }, {
      key: "selectAccessibilityItem",
      value: function selectAccessibilityItem() {
        var onAccessibilityItemPress = this.props.onAccessibilityItemPress;
        var focusedItem = this.state.focusedItem;

        if (focusedItem && typeof onAccessibilityItemPress === "function") {
          onAccessibilityItemPress(focusedItem);
        }
      }
    }, {
      key: "_scrollTo",
      value: function _scrollTo(top) {
        var _this7 = this;

        var accessibilityItems = this.props.accessibilityItems;
        var lastFocusedIndex = this.state.lastFocusedIndex;
        var accessibilityItemsVisible = this._accessibilityHeight > 0 && this._scrollPosition === 0;
        var accessibilityFromBottom = top < 0 && lastFocusedIndex > -1 && accessibilityItemsVisible;
        var accessibilityFromTop = top > 0 && lastFocusedIndex < accessibilityItems.length && accessibilityItemsVisible;
        var articleAccessibilityFocus = false;

        if (accessibilityFromTop) {
          lastFocusedIndex += 1;
          this.setState({
            focusedItem: accessibilityItems[lastFocusedIndex],
            lastFocusedIndex: lastFocusedIndex
          });
        } else if (accessibilityFromBottom) {
          lastFocusedIndex -= 1;
          this.setState({
            focusedItem: accessibilityItems[lastFocusedIndex],
            lastFocusedIndex: lastFocusedIndex
          });
        } else {
          var offsetY = this._scrollPosition + top;

          if (this.scrollTextArticle) {
            setTimeout(function () {
              if (_this7.scrollTextArticle) {
                _this7.scrollTextArticle.scrollTo({
                  y: Math.max(0, offsetY),
                  x: 0,
                  animated: true
                });
              }
            }, 1);
          }

          articleAccessibilityFocus = true;
        }

        if (articleAccessibilityFocus) {
          this.accessibilityFocus();
        } else {
          this.accessibilityUnfocus();
        }
      }
    }, {
      key: "_onHrsPosition",
      value: function _onHrsPosition(positions) {
        this._positions = positions;
      }
    }, {
      key: "_onExpandedImageLayout",
      value: function _onExpandedImageLayout(_ref4) {
        var nativeEvent = _ref4.nativeEvent;
        this._expandedImageHeight = nativeEvent.layout.height;
      }
    }, {
      key: "_onAccessibilityLayout",
      value: function _onAccessibilityLayout(_ref5) {
        var nativeEvent = _ref5.nativeEvent;
        this._accessibilityHeight = nativeEvent.layout.height;
      }
    }, {
      key: "_onPositionId",
      value: function _onPositionId(positionId) {
        if (this.isActive()) {
          var getNewspaperStatus = this.props.getNewspaperStatus;
          var newspaperStatus = getNewspaperStatus();

          if (newspaperStatus) {
            newspaperStatus.setLastArticlePositionId(positionId);
          }
        }
      }
    }, {
      key: "_onPositionIdOffset",
      value: function _onPositionIdOffset(_ref6) {
        var top = _ref6.top;

        if (this.isActive()) {
          this.onScrollTop(top);
        }
      }
    }, {
      key: "_onArticleExtraLoaded",
      value: function _onArticleExtraLoaded(html) {
        var scrollPosition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;

        if (this.articleExtraRef) {
          this._articleExtraScrollPosition = scrollPosition;
          this.articleExtraRef.setContent(html);
        }
      }
    }, {
      key: "_getExpandedImageHeight",
      value: function _getExpandedImageHeight() {
        return this._expandedImageHeight || 0;
      }
    }, {
      key: "_onExtraPress",
      value: function _onExtraPress() {
        this._scrollTo(this._articleExtraScrollPosition + this._getExpandedImageHeight() - this._scrollPosition);
      }
    }, {
      key: "_onExtraLayout",
      value: function _onExtraLayout(_ref7) {
        var nativeEvent = _ref7.nativeEvent;
        this._articleExtraHeight = nativeEvent.layout.height;
      }
    }, {
      key: "_onExtraOpenGallery",
      value: function _onExtraOpenGallery(content) {
        if (this.textArticle) {
          this.textArticle.openGallery(content);
        }
      }
    }, {
      key: "_onArticleExtraRef",
      value: function _onArticleExtraRef(ref) {
        this.articleExtraRef = ref;
      }
    }, {
      key: "_onArticleRef",
      value: function _onArticleRef(ref) {
        this.textArticle = ref;
      }
    }, {
      key: "_onRef",
      value: function _onRef(ref) {
        this.scrollTextArticle = ref;
      }
    }, {
      key: "_onGraphRef",
      value: function _onGraphRef(ref) {
        this.graphArticle = ref;
      }
    }, {
      key: "_isActive",
      value: function _isActive() {
        var _this$props4 = this.props,
            isActive = _this$props4.isActive,
            index = _this$props4.index;
        return typeof isActive !== "function" || isActive(index);
      }
    }, {
      key: "_renderAccessibility",
      value: function _renderAccessibility() {
        var _this$props5 = this.props,
            onAccessibilityItemPress = _this$props5.onAccessibilityItemPress,
            accessibilityEnabled = _this$props5.accessibilityEnabled,
            accessibilityItems = _this$props5.accessibilityItems;
        var focusedItem = this.state.focusedItem;
        return _react.default.createElement(_reactNative.View, {
          onLayout: this.onAccessibilityLayout
        }, accessibilityItems.map(function (accessibilityItem, index) {
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[30]).ItemAccessibilityFocused, {
            touchable: true,
            key: "accessibility_" + index,
            focused: _$$_REQUIRE(_dependencyMap[26]).JSUtils.areEqualShallow(focusedItem, accessibilityItem),
            accessibilityEnabled: accessibilityEnabled,
            accessibilityLabel: accessibilityItem.getText(),
            onPress: function onPress() {
              if (typeof onAccessibilityItemPress === "function") {
                onAccessibilityItemPress(accessibilityItem);
              }
            }
          }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[30]).ItemListAccessibility, {
            text: accessibilityItem.getText(),
            classes: ["newsmemory-article-accessibility-text"],
            focused: _$$_REQUIRE(_dependencyMap[26]).JSUtils.areEqualShallow(focusedItem, accessibilityItem),
            style: {
              padding: 8
            }
          }), (0, _$$_REQUIRE(_dependencyMap[31]).hr)({
            backgroundColor: _$$_REQUIRE(_dependencyMap[32]).LIST_ITEM_SEPARATOR_COLOR,
            height: _$$_REQUIRE(_dependencyMap[32]).LIST_ITEM_SEPARATOR_HEIGHT
          }));
        }));
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props6 = this.props,
            FooterComponent = _this$props6.FooterComponent,
            onModeChange = _this$props6.onModeChange,
            onLongPress = _this$props6.onLongPress,
            navigation = _this$props6.navigation,
            accessibilityItems = _this$props6.accessibilityItems,
            onAccessibilityItemPress = _this$props6.onAccessibilityItemPress,
            rest = (0, _objectWithoutProperties2.default)(_this$props6, ["FooterComponent", "onModeChange", "onLongPress", "navigation", "accessibilityItems", "onAccessibilityItemPress"]);
        var _this$state3 = this.state,
            refreshing = _this$state3.refreshing,
            hidden = _this$state3.hidden;

        if (typeof onModeChange === "function") {
          onModeChange(this.isTextMode(), rest.index);
        }

        if (this.isTextMode()) {
          if (hidden) {
            return null;
          }

          var _global$getActivePSet4 = global.getActivePSetup(),
              enableArticleExtra = _global$getActivePSet4.enableArticleExtra;

          var simulateAccessibility = rest.accessibilityEnabled && !_$$_REQUIRE(_dependencyMap[26]).PlatformUtils.isSystemAccessibilityEnabled();

          var ScrollComponent = _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[33]).TecnaviaScrollView, {
            ref: this.onRef,
            style: _articleComponent.default.scrollViewText,
            contentContainerStyle: _articleComponent.default.scrollViewTextContainer,
            onLayout: this.onScrollLayout,
            onContentSizeChange: this.onScrollContentLayout,
            onScroll: this.onScroll,
            scrollEventThrottle: 16,
            minPointers: simulateAccessibility || _$$_REQUIRE(_dependencyMap[26]).PlatformUtils.isEInk() ? 2 : 1,
            scrollEnabled: !_$$_REQUIRE(_dependencyMap[26]).PlatformUtils.isEInk(),
            refreshControl: !rest.accessibilityEnabled ? _react.default.createElement(_refreshComponent.default, {
              refreshing: refreshing,
              onRefresh: this.onRefresh,
              cssClasses: ["newsmemory-article-refresh-control"]
            }) : null
          }, this._renderAccessibility(), _react.default.createElement(_articleText.default, (0, _extends2.default)({
            ref: this.onArticleRef,
            css: this._getCss()
          }, rest, {
            onScrollTop: this.onScrollTop,
            onLongPress: onLongPress,
            onLoadEnd: this.onLoadEnd,
            onPositionId: this.onPositionId,
            onPositionIdOffset: this.onPositionIdOffset,
            onHrsPosition: this.onHrsPosition,
            onExpandedImageLayout: this.onExpandedImageLayout,
            onArticleExtraLoaded: this.onArticleExtraLoaded
          })), FooterComponent || null), enableArticleExtra ? _react.default.createElement(_articleExtraComponent.default, {
            ref: this.onArticleExtraRef,
            onLayout: this.onExtraLayout,
            onPress: this.onExtraPress,
            maxHeight: rest.defaultHeight,
            onOpenGallery: this.onExtraOpenGallery
          }) : null);

          if (simulateAccessibility) {
            return _react.default.createElement(_$$_REQUIRE(_dependencyMap[29]).PanGestureHandler, {
              maxPointers: 1,
              onGestureEvent: this.onPanEvent
            }, _react.default.createElement(_reactNative.Animated.View, {
              collapsable: false,
              style: {
                flex: 1
              }
            }, ScrollComponent));
          }

          return _react.default.createElement(_articleFlingComponent.default, {
            onSwipeUp: this.scrollUp,
            onSwipeDown: this.scrollDown,
            onSwipeLeft: rest.goPrev,
            onSwipeRight: rest.goNext
          }, ScrollComponent);
        }

        return _react.default.createElement(_reactNative.View, {
          style: styles.graphicParent
        }, _react.default.createElement(_articleGraph.default, (0, _extends2.default)({
          ref: this.onGraphRef,
          navigation: navigation,
          FooterComponent: FooterComponent,
          renderGraphContent: !hidden && this.isActive()
        }, rest, {
          onLongPress: onLongPress,
          css: this._getCss()
        })));
      }
    }], [{
      key: "fixFontFamilyRules",
      value: function fixFontFamilyRules(css) {
        var newCSS = css;
        var regExp = new RegExp(/font-family:[^;]+;/, "gm");
        var matches = css.match(regExp);

        if (matches) {
          for (var i = 0; i < matches.length; i++) {
            if (matches[i].indexOf("!important;") === -1) {
              var modified = matches[i].replace(";", " !important;");
              newCSS = newCSS.replace(matches[i], modified);
            }
          }

          var fontFaceRegExp = new RegExp(/@font-face ?\{[^}]+\}/, "gm");
          var fontFaceMatches = newCSS.match(fontFaceRegExp);

          if (fontFaceMatches) {
            for (var _i = 0; _i < fontFaceMatches.length; _i++) {
              var _modified = fontFaceMatches[_i].replace(" !important;", ";");

              newCSS = newCSS.replace(fontFaceMatches[_i], _modified);
            }
          }
        }

        return newCSS;
      }
    }, {
      key: "initArticleTextCss",
      value: function initArticleTextCss() {
        var _global$getActivePSet5, cssFilesToAdd, enableArticleTextSelection, _global$getFontsConfi, fontRegular, fontBold, customCss;

        return _regenerator.default.async(function initArticleTextCss$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                _global$getActivePSet5 = global.getActivePSetup(), cssFilesToAdd = _global$getActivePSet5.cssFilesToAdd, enableArticleTextSelection = _global$getActivePSet5.enableArticleTextSelection;
                _global$getFontsConfi = global.getFontsConfig(), fontRegular = _global$getFontsConfi.fontRegular, fontBold = _global$getFontsConfi.fontBold;
                _context4.next = 4;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[28]).readCustomCss)(cssFilesToAdd));

              case 4:
                customCss = _context4.sent;
                NewsmemoryArticle.customCss = NewsmemoryArticle.fixFontFamilyRules(customCss);
                NewsmemoryArticle.defaultCss = (0, _$$_REQUIRE(_dependencyMap[34]).DEFAULT_CSS)(fontRegular.fontWeb, fontBold.fontWeb, enableArticleTextSelection);

              case 7:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getDerivedStateFromProps",
      value: function getDerivedStateFromProps(props, state) {
        if (state.hidden && typeof props.isActive === "function" && props.isActive(props.index)) {
          return (0, _extends2.default)({}, state, {
            hidden: false
          });
        }

        return state;
      }
    }]);
    return NewsmemoryArticle;
  }(_react.default.Component);

  exports.default = NewsmemoryArticle;
  NewsmemoryArticle.customCss = undefined;
  NewsmemoryArticle.defaultCss = undefined;
  NewsmemoryArticle.propTypes = (0, _extends2.default)({
    navigation: _propTypes.default.shape({
      navigate: _propTypes.default.func
    }).isRequired,
    article: _propTypes.default.instanceOf(_EPaperArticle.default).isRequired,
    mode: _propTypes.default.oneOf([_$$_REQUIRE(_dependencyMap[24]).NewsmemoryArticleModes.TEXT, _$$_REQUIRE(_dependencyMap[24]).NewsmemoryArticleModes.GRAPHIC]),
    accessibilityItems: _propTypes.default.array,
    onAccessibilityItemPress: _propTypes.default.func,
    onModeChange: _propTypes.default.func,
    FooterComponent: _propTypes.default.node,
    onSwipeDown: _propTypes.default.func,
    onUnmount: _propTypes.default.func,
    formattedIssue: _propTypes.default.string,
    hidden: _propTypes.default.bool,
    onLongPress: _propTypes.default.func,
    getNewspaperStatus: _propTypes.default.func
  }, _articleText.default.propTypes, _articleGraph.default.propTypes);
  NewsmemoryArticle.defaultProps = {
    mode: _$$_REQUIRE(_dependencyMap[24]).NewsmemoryArticleModes.TEXT,
    hidden: false
  };
},2155,[5,80,6,108,7,8,15,12,14,16,17,201,28,460,640,2156,2173,574,2191,638,714,2099,2192,2194,1893,1954,462,572,2187,1,2189,2195,729,1909,2186]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _pdfBoxComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _graphBoxComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _EPaperArticle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _BoxesInfo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _EPaperImage = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[18]));

  var _Box = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _articleGraph = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _pdfUtils = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[23]));

  var _zoomGraph = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[24]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[25]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[26]));

  var _hrContainerComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[27]));

  var _pageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[28]));

  var _pageExtraComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[29]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[30]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TEXT_MARGIN = 0.3;
  var GRAPH_MARGIN = 5;

  var ArticleGraph = function (_React$Component) {
    (0, _inherits2.default)(ArticleGraph, _React$Component);

    var _super = _createSuper(ArticleGraph);

    function ArticleGraph(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ArticleGraph);
      _this = _super.call(this, props);
      _this.hrRefs = [];
      _this._isActive = props.isActive(props.index);
      _this.onLayout = _this._onLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.pageSize = _newsmemoryUtils.default.getPageSizeFixed(props.edition, props.page);
      _this.hrBoxLoadedCount = 0;
      _this.incrementLoadedBoxes = _this._incrementLoadedBoxes.bind((0, _assertThisInitialized2.default)(_this));
      _this.isSingleTapToZoomEnabled = _this._isSingleTapToZoomEnabled.bind((0, _assertThisInitialized2.default)(_this));
      _this.onHrRef = _this._onHrRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onScaleChange = _this._onScaleChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onExtraPress = _this._onExtraPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.checkArticleExtra = _this._checkArticleExtra.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        size: undefined,
        graphSize: _this._getGraphSize(),
        online: _$$_REQUIRE(_dependencyMap[31]).NetworkUtils.isOnline(),
        render: props.renderGraphContent
      };
      _this.customStyle = _$$_REQUIRE(_dependencyMap[32]).Css.getStyleObjByCssClasses(["newsmemory-article-graph"]);
      _this.graphMargin = _$$_REQUIRE(_dependencyMap[31]).CssUtils.getAttributeFromStyle("margin", _this.customStyle, GRAPH_MARGIN);
      return _this;
    }

    (0, _createClass2.default)(ArticleGraph, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        var index = this.props.index;
        this.onConnectivityChange = _$$_REQUIRE(_dependencyMap[33]).EventRegister.on(_events.default.ON_CONNECTIVITY_CHANGE, function (_ref) {
          var online = _ref.online;
          var oldOnlineState = _this2.state.online;

          if (oldOnlineState !== online) {
            var _global$getActivePSet = global.getActivePSetup(),
                maxSharesCheckType = _global$getActivePSet.maxSharesCheckType;

            if (maxSharesCheckType === _$$_REQUIRE(_dependencyMap[34]).MAX_SHARE_CHECK_TYPES.REMOTE) {
              _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.SHARE_CHANGE_BUTTON_VISIBILITY, {
                visible: online
              });
            }

            _this2.setState({
              online: online
            });
          }
        });
        this.toggleGraphSize = _$$_REQUIRE(_dependencyMap[33]).EventRegister.on(_events.default.TOGGLE_NEWSMEMORY_GRAPH_SIZE, function () {
          var currentGraphSize = _this2.state.graphSize;

          var newGraphSize = _this2._getGraphSize();

          if (currentGraphSize !== newGraphSize) {
            _this2.setState({
              graphSize: _this2._getGraphSize()
            });
          }
        });
        this.configChangeListener = _$$_REQUIRE(_dependencyMap[33]).EventRegister.on(_events.default.NEWSMEMORY_CONFIG_CHANGE, function () {
          var currentGraphSize = _this2.state.graphSize;
          var graphSize = global.getNewsmemoryConfig().getGraphSize();

          if (graphSize !== currentGraphSize) {
            _this2.setState({
              graphSize: graphSize
            });
          }
        });
        this.toggleGraphZoomUnfit = _$$_REQUIRE(_dependencyMap[33]).EventRegister.on(_events.default.ARTICLE_GRAPH_ZOOM_UNFIT, function () {
          var isActive = _this2.props.isActive;

          if (isActive(index) && _this2.zoomViewRef) {
            _this2.zoomViewRef.autoZoom({
              x: 0,
              y: 0
            });
          }
        });
        this.newsmemoryOnArticleGraphLoaded = _$$_REQUIRE(_dependencyMap[33]).EventRegister.on(_events.default.NEWSMEMORY_ON_ARTICLE_GRAPH_LOADED, function (_ref2) {
          var loadedIndex = _ref2.loadedIndex;
          var render = _this2.state.render;

          if (loadedIndex !== index && !render) {
            _this2.setState({
              render: true
            });
          }
        });
      }
    }, {
      key: "shouldComponentUpdate",
      value: function shouldComponentUpdate(nextProps, nextState) {
        var newActiveState = nextProps.isActive(nextProps.index);
        var isActiveChanged = newActiveState !== this._isActive;
        this._isActive = newActiveState;
        var _this$state = this.state,
            size = _this$state.size,
            graphSize = _this$state.graphSize,
            online = _this$state.online,
            render = _this$state.render;
        var containerSizeChanged = !_$$_REQUIRE(_dependencyMap[31]).JSUtils.equals(size, nextState.size);

        if (containerSizeChanged) {
          this.currentScale = undefined;
        }

        var sizeChanged = containerSizeChanged || !_$$_REQUIRE(_dependencyMap[31]).JSUtils.equals(graphSize, nextState.graphSize);
        var otherChanged = online !== nextState.online || render !== nextState.render;
        return sizeChanged || otherChanged || isActiveChanged && this._isActive;
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[33]).EventRegister.rm(this.onConnectivityChange);

        _$$_REQUIRE(_dependencyMap[33]).EventRegister.rm(this.toggleGraphSize);

        _$$_REQUIRE(_dependencyMap[33]).EventRegister.rm(this.configChangeListener);

        _$$_REQUIRE(_dependencyMap[33]).EventRegister.rm(this.toggleGraphZoomUnfit);

        _$$_REQUIRE(_dependencyMap[33]).EventRegister.rm(this.newsmemoryOnArticleGraphLoaded);
      }
    }, {
      key: "_onHrRef",
      value: function _onHrRef(ref) {
        this.hrRefs.push(ref);
      }
    }, {
      key: "_getGraphSize",
      value: function _getGraphSize() {
        return global.getNewsmemoryConfig().getGraphSize();
      }
    }, {
      key: "_addStyleToBoxes",
      value: function _addStyleToBoxes(obj) {
        if (obj) {
          var _this$pageSize = this.pageSize,
              pageWidth = _this$pageSize.pageWidth,
              pageHeight = _this$pageSize.pageHeight;
          var size = {
            width: pageWidth,
            height: pageHeight
          };
          obj.boxes.forEach(function (boxItem) {
            var box = boxItem.box;
            boxItem.style = _newsmemoryUtils.default.getHrStyle(box, obj.boxesInfo, size, true);
            boxItem.useImageDimensions = _newsmemoryUtils.default.isBorderBoxToFix(box, obj.boxesInfo);

            if (obj.offsetX === undefined || obj.offsetX > boxItem.style.start) {
              obj.offsetX = boxItem.style.start;
            }

            if (obj.offsetY === undefined || obj.offsetY > boxItem.style.top) {
              obj.offsetY = boxItem.style.top;
            }

            var boxEnd = boxItem.style.start + boxItem.style.width;

            if (obj.width === undefined || obj.width < boxEnd) {
              obj.width = boxEnd;
            }

            var boxBottom = boxItem.style.top + boxItem.style.height;

            if (obj.height === undefined || obj.height < boxBottom) {
              obj.height = boxBottom;
            }
          });
          obj.hrScale = _newsmemoryUtils.default.getHrScale(obj.boxesInfo, size, true);
          obj.width -= obj.offsetX;
          obj.height -= obj.offsetY;
        }

        return obj;
      }
    }, {
      key: "_fitArticle",
      value: function _fitArticle() {
        var article = this.props.article;

        var _global$getActivePSet2 = global.getActivePSetup(),
            fitGraphicArticle = _global$getActivePSet2.fitGraphicArticle;

        if (fitGraphicArticle > 1) {
          return !article.isText();
        }

        return fitGraphicArticle;
      }
    }, {
      key: "_incrementLoadedBoxes",
      value: function _incrementLoadedBoxes() {
        this.hrBoxLoadedCount += 1;
      }
    }, {
      key: "isPrintGraphReady",
      value: function isPrintGraphReady() {
        var _this3 = this;

        return new Promise(function (resolve) {
          _this3.startPrint = new Date().getTime();
          _this3.interval = setInterval(function () {
            var intervalTimeDiff = new Date().getTime() - _this3.startPrint;

            var _this3$props = _this3.props,
                page = _this3$props.page,
                article = _this3$props.article;
            var textGif = page.getGifImage();
            var textImage = page.getImageByType(_EPaperImage.EPaperImageType.TEXT);
            var isPdf = textImage && textImage.isTextPDF();
            var hasTextGif = !isPdf && textGif;
            var numBoxes = article.getBoxes().length;

            if (hasTextGif) {
              numBoxes *= 2;
            }

            if (_this3.hrBoxLoadedCount >= numBoxes || intervalTimeDiff > 30000) {
              clearTimeout(_this3.interval);
              resolve();
            }
          }, 500);
        });
      }
    }, {
      key: "getImageToPrint",
      value: function getImageToPrint(width, height) {
        var path, _global$getActivePSet3, addDisclaimer, copyright, printRapp, disclaimerHeight, copyrightHeight, hMargin;

        return _regenerator.default.async(function getImageToPrint$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!this.graphRef) {
                  _context.next = 30;
                  break;
                }

                _global$getActivePSet3 = global.getActivePSetup(), addDisclaimer = _global$getActivePSet3.addDisclaimer, copyright = _global$getActivePSet3.copyright;
                printRapp = _$$_REQUIRE(_dependencyMap[31]).PlatformUtils.printDefaultDpi / _$$_REQUIRE(_dependencyMap[31]).PlatformUtils.defaultDpi * _newsmemoryUtils.default.getZoomingFactor();

                if (!addDisclaimer) {
                  _context.next = 12;
                  break;
                }

                _context.next = 6;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[31]).StringUtils.textSize(addDisclaimer, width * _pdfUtils.PRINT_DPI));

              case 6:
                _context.t1 = _context.sent;

                if (_context.t1) {
                  _context.next = 9;
                  break;
                }

                _context.t1 = {
                  width: 0,
                  height: 0
                };

              case 9:
                _context.t0 = _context.t1;
                _context.next = 13;
                break;

              case 12:
                _context.t0 = {
                  width: 0,
                  height: 0
                };

              case 13:
                disclaimerHeight = _context.t0;
                _context.next = 16;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[31]).StringUtils.textSize(copyright, width * _pdfUtils.PRINT_DPI));

              case 16:
                _context.t2 = _context.sent;

                if (_context.t2) {
                  _context.next = 19;
                  break;
                }

                _context.t2 = {
                  width: 0,
                  height: 0
                };

              case 19:
                copyrightHeight = _context.t2;
                hMargin = 0.6 + disclaimerHeight.height / _pdfUtils.PRINT_DPI + copyrightHeight.height / _pdfUtils.PRINT_DPI * 2;
                _context.prev = 21;
                _context.next = 24;
                return _regenerator.default.awrap(_pdfUtils.default.print(this.graphRef, {
                  width: width * _pdfUtils.PRINT_DPI,
                  height: (height - hMargin) * _pdfUtils.PRINT_DPI,
                  margin: 0,
                  scale: printRapp
                }));

              case 24:
                path = _context.sent;
                return _context.abrupt("return", path);

              case 28:
                _context.prev = 28;
                _context.t3 = _context["catch"](21);

              case 30:
                if (this.zoomViewRef) {
                  this.zoomViewRef.resetScale();
                }

                return _context.abrupt("return", "");

              case 32:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[21, 28]], Promise);
      }
    }, {
      key: "getHtmlToPrint",
      value: function getHtmlToPrint() {
        var path, _PdfUtils$getPDFPageI, width, height;

        return _regenerator.default.async(function getHtmlToPrint$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!this.graphRef) {
                  _context2.next = 12;
                  break;
                }

                _PdfUtils$getPDFPageI = _pdfUtils.default.getPDFPageInches(), width = _PdfUtils$getPDFPageI.width, height = _PdfUtils$getPDFPageI.height;
                _context2.prev = 2;
                _context2.next = 5;
                return _regenerator.default.awrap(this.getImageToPrint(width, height));

              case 5:
                path = _context2.sent;

                if (!path) {
                  _context2.next = 8;
                  break;
                }

                return _context2.abrupt("return", this._generateHTMLToPrint(path, width, height, TEXT_MARGIN));

              case 8:
                _context2.next = 12;
                break;

              case 10:
                _context2.prev = 10;
                _context2.t0 = _context2["catch"](2);

              case 12:
                return _context2.abrupt("return", "");

              case 13:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, [[2, 10]], Promise);
      }
    }, {
      key: "_generateHTMLToPrint",
      value: function _generateHTMLToPrint(path, width, height, margin) {
        var _this$props = this.props,
            headerHtml = _this$props.headerHtml,
            disclaimerHtml = _this$props.disclaimerHtml,
            copyrightHtml = _this$props.copyrightHtml,
            css = _this$props.css;
        var sizeRule = _$$_REQUIRE(_dependencyMap[31]).PlatformUtils.isIOS() ? "body { max-width: 100%; max-height: 100%; }" : "body { width: " + width + "in; height: " + height + "in; }";
        var mediaPage = "@media print{" + sizeRule + " @page {margin:0in;}}";
        var cssHeader = "#header_info{ margin: " + margin + "in " + margin + "in 0 " + margin + "in;}";
        var cssDisclaimer = "#footer_disclaimer{ margin: 0 " + margin + "in 0 " + margin + "in; }";
        var cssFooter = "#footer_copyright{ margin: 0 " + margin + "in " + margin + "in " + margin + "in; }";
        var customCss = css.customCss || "";
        var head = "<head><style>" + mediaPage + " " + cssHeader + " " + cssFooter + " " + cssDisclaimer + " " + customCss + "</style></head>";
        var direction = _$$_REQUIRE(_dependencyMap[31]).PlatformUtils.isRTL() ? " dir='rtl'" : "";
        var body = "<body style='padding: 0px; margin: 0px; display: flex; flex-direction: column; justify-content: space-between;'" + direction + ">";
        var image = "<div style=\"display: flex; flex: 1; justify-content: center; align-items: center; \"><img src=\"" + path + "\" style=\"width: 100%; height: 100%; object-fit: contain;\" /></div>";
        var html = "<html>" + head + body + headerHtml + image + disclaimerHtml + copyrightHtml + "</body></html>";
        return html;
      }
    }, {
      key: "_getArticleCrop",
      value: function _getArticleCrop(data, contentSize, area) {
        var _this4 = this;

        var _this$props2 = this.props,
            index = _this$props2.index,
            edition = _this$props2.edition,
            page = _this$props2.page,
            newspaper = _this$props2.newspaper,
            isActive = _this$props2.isActive,
            article = _this$props2.article,
            navigation = _this$props2.navigation;
        var offsetX = data.offsetX,
            offsetY = data.offsetY,
            boxesInfo = data.boxesInfo,
            hrScale = data.hrScale;
        var graphJpg = page.getGraphImage();
        var textGif = page.getGifImage();
        var textImage = page.getImageByType(_EPaperImage.EPaperImageType.TEXT);
        var isPdf = textImage && textImage.isTextPDF();
        var hasTextGif = !isPdf && textGif;
        var hrZip = page.getHrZip();
        var _this$pageSize2 = this.pageSize,
            pageWidth = _this$pageSize2.pageWidth,
            pageHeight = _this$pageSize2.pageHeight;

        var _global$getActivePSet4 = global.getActivePSetup(),
            pdfThumbnailRatio = _global$getActivePSet4.pdfThumbnailRatio,
            showExtrasInArticleGraphicMode = _global$getActivePSet4.showExtrasInArticleGraphicMode;

        var lowQualityRatio = pdfThumbnailRatio * 72 / 150;

        var _global$getNewsmemory = global.getNewsmemoryConfig(),
            enableArticleExtras = _global$getNewsmemory.enableArticleExtras;

        return _react.default.createElement(_reactNative.View, {
          ref: function ref(_ref4) {
            _this4.graphRef = _ref4;
          },
          style: [contentSize, this.customStyle, {
            margin: 0
          }],
          onLayout: function onLayout() {}
        }, data.boxes.map(function (boxItem, boxIndex) {
          var box = boxItem.box,
              graph = boxItem.graph,
              text = boxItem.text,
              style = boxItem.style,
              useImageDimensions = boxItem.useImageDimensions;
          var start = style.start - offsetX + _this4.graphMargin;
          var top = style.top - offsetY + _this4.graphMargin;
          var pathGraph = graph ? graph.getBase64() : undefined;
          var pathText = text ? text.getBase64() : undefined;
          var item = {
            boxStyle: style,
            path: pathGraph,
            pathText: pathText
          };
          var scaledStyle = {
            top: top * area.scale,
            start: start * area.scale,
            width: style.width * area.scale,
            height: style.height * area.scale
          };

          var visible = _$$_REQUIRE(_dependencyMap[31]).JSUtils.intersectRect(area, scaledStyle);

          var commonProps = {
            issue: edition.getIssue(),
            edition: edition.getEdition(),
            pageId: page.getPageId(),
            boxId: box.getId(),
            xmlId: parseInt(data.xmlId, 10),
            newspaper: newspaper,
            page: page,
            zipGraphArchivePath: hrZip ? hrZip.getBase64() : undefined,
            visible: visible
          };
          var textGifProps = {};

          if (hasTextGif) {
            textGifProps = {
              showAll: true,
              onTextLoaded: _this4.incrementLoadedBoxes,
              onTextError: _this4.incrementLoadedBoxes
            };
          }

          var commonStyle = {
            position: "absolute",
            width: style.width,
            height: style.height
          };

          var hrComponent = _react.default.createElement(_hrContainerComponent.default, (0, _extends2.default)({
            ref: _this4.onHrRef,
            item: item,
            style: commonStyle,
            onGraphLoaded: _this4.incrementLoadedBoxes,
            onGraphError: _this4.incrementLoadedBoxes,
            hidden: !isActive(index),
            hrScale: hrScale,
            useImageDimensions: useImageDimensions
          }, textGifProps, commonProps));

          var textComponent = isPdf ? _react.default.createElement(_pdfBoxComponent.default, {
            coordinates: {
              origin: {
                x: style.start,
                y: style.top
              },
              size: {
                width: style.width,
                height: style.height
              }
            },
            offset: {
              x: boxesInfo.getTotalOffsetX(),
              y: boxesInfo.getTotalOffsetY(),
              scale: boxesInfo.getScaleX()
            },
            pageId: page.getPageId(),
            artId: commonProps.xmlId,
            pageSize: {
              width: pageWidth,
              height: pageHeight
            },
            scale: visible ? area.scale : lowQualityRatio,
            path: _tecnaviaFileUtils.default.getNewsmemoryBaseDirectory() + "/" + textImage.getBase64(),
            style: commonStyle,
            visible: _$$_REQUIRE(_dependencyMap[31]).PlatformUtils.isAndroid() || visible
          }) : null;
          var parentStyle = [{
            start: start,
            top: top
          }, commonStyle];
          parentStyle = _pageUtils.default.traverseStyleForRTL(parentStyle);

          var baseLocalPath = _tecnaviaFileUtils.default.getNewsmemoryBaseDirectory();

          return _react.default.createElement(_reactNative.View, {
            key: "hr_" + boxIndex,
            style: parentStyle
          }, graphJpg ? _react.default.createElement(_graphBoxComponent.default, {
            index: index,
            coordinates: {
              origin: {
                x: style.start,
                y: style.top
              },
              size: {
                width: style.width,
                height: style.height
              }
            },
            visible: true,
            style: commonStyle,
            path: baseLocalPath + graphJpg.getBase64()
          }) : null, hasTextGif ? _react.default.createElement(_graphBoxComponent.default, {
            index: index,
            coordinates: {
              origin: {
                x: style.start,
                y: style.top
              },
              size: {
                width: style.width,
                height: style.height
              }
            },
            visible: !visible,
            style: commonStyle,
            path: baseLocalPath + textGif.getBase64()
          }) : null, hrComponent, textComponent);
        }), showExtrasInArticleGraphicMode ? _react.default.createElement(_pageExtraComponent.default, {
          key: "extra",
          ref: function ref(_ref3) {
            _this4.articleExtraRef = _ref3;

            _this4.checkArticleExtra();
          },
          navigation: navigation,
          edition: newspaper.getEditionModel(),
          page: page,
          article: article,
          size: contentSize,
          pageSize: {
            width: pageWidth,
            height: pageHeight
          },
          zoom: area.scale,
          style: [{
            backgroundColor: _$$_REQUIRE(_dependencyMap[31]).colors.transparent,
            position: "absolute",
            top: this.graphMargin,
            start: this.graphMargin,
            end: this.graphMargin,
            bottom: this.graphMargin
          }, contentSize],
          offset: {
            offsetX: data.offsetX,
            offsetY: data.offsetY
          },
          hidden: !enableArticleExtras
        }) : null);
      }
    }, {
      key: "_getRealScale",
      value: function _getRealScale() {
        var page = this.props.page;

        var pageDips = _newsmemoryUtils.default.getHorizontalPageDips(page);

        if (page && page.isDoubleTruck()) {
          pageDips *= 2;
        }

        var realScale = pageDips / this.pageSize.pageWidth;
        return realScale;
      }
    }, {
      key: "_getDoubleTapScale",
      value: function _getDoubleTapScale() {
        var realScale = this._getRealScale();

        var graphUserScaleFactor = _newsmemoryUtils.default.getZoomingFactor();

        return realScale * graphUserScaleFactor;
      }
    }, {
      key: "_isSingleTapToZoomEnabled",
      value: function _isSingleTapToZoomEnabled() {
        var _global$getNewsmemory2 = global.getNewsmemoryConfig(),
            singleTapToZoom = _global$getNewsmemory2.singleTapToZoom;

        return singleTapToZoom;
      }
    }, {
      key: "_onScaleChange",
      value: function _onScaleChange(scale) {
        var _this$props3 = this.props,
            isActive = _this$props3.isActive,
            index = _this$props3.index;

        if (this.currentScale !== scale) {
          this.currentScale = scale;

          if (isActive(index)) {
            var isScaleFit = this.isFitScale();

            _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.TOGGLE_GRAPH_UNFIT_CHANGE_BUTTON_VISIBILITY, {
              visible: isScaleFit
            });

            _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.TOGGLE_GRAPH_CHANGE_BUTTON_VISIBILITY, {
              visible: !isScaleFit
            });
          }
        }
      }
    }, {
      key: "_onExtraPress",
      value: function _onExtraPress(event) {
        var hasExtra = false;

        if (event && this.articleExtraRef) {
          hasExtra = this.articleExtraRef.hasExtraForEvent((0, _extends2.default)({}, event, {
            margin: this.graphMargin
          }));
        }

        return hasExtra;
      }
    }, {
      key: "isFitScale",
      value: function isFitScale() {
        return this.currentScale === this.fitScale;
      }
    }, {
      key: "_checkArticleExtra",
      value: function _checkArticleExtra() {
        var _this$props4 = this.props,
            index = _this$props4.index,
            isActive = _this$props4.isActive;

        if (this.articleExtraRef && isActive(index)) {
          var hasExtra = this.articleExtraRef.hasExtras();

          _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.TOGGLE_ARTICLE_EXTRA_CHANGE_BUTTON_VISIBILITY, {
            visible: hasExtra
          });

          var _global$getActivePSet5 = global.getActivePSetup(),
              previewHighlightEnabled = _global$getActivePSet5.previewHighlightEnabled;

          if (hasExtra && previewHighlightEnabled) {
            this.articleExtraRef.highlight();
          }
        }
      }
    }, {
      key: "toggleArticleExtra",
      value: function toggleArticleExtra() {
        if (this.articleExtraRef) {
          var _this$props5 = this.props,
              index = _this$props5.index,
              isActive = _this$props5.isActive;

          var _global$getActivePSet6 = global.getActivePSetup(),
              previewHighlightEnabled = _global$getActivePSet6.previewHighlightEnabled;

          this.articleExtraRef.toggle(previewHighlightEnabled && isActive(index));
        }
      }
    }, {
      key: "renderGraph",
      value: function renderGraph() {
        var _this5 = this;

        var _this$props6 = this.props,
            viewPagerRef = _this$props6.viewPagerRef,
            article = _this$props6.article,
            page = _this$props6.page,
            goNext = _this$props6.goNext,
            goPrev = _this$props6.goPrev,
            onLongPress = _this$props6.onLongPress,
            isActive = _this$props6.isActive,
            index = _this$props6.index,
            onGraphLoadEnd = _this$props6.onGraphLoadEnd,
            onSwipeDown = _this$props6.onSwipeDown,
            FooterComponent = _this$props6.FooterComponent;
        var size = this.state.size;

        if (size) {
          var data = {};

          var _global$getActivePSet7 = global.getActivePSetup(),
              maxZoom = _global$getActivePSet7.maxZoom;

          data = _newsmemoryUtils.default.allPageArticleHrImages(page, article);
          data = this._addStyleToBoxes(data);

          if (!data.width) {
            return null;
          }

          data.width += this.graphMargin * 2;
          data.height += this.graphMargin * 2;
          var scaleFit = size.width / data.width;
          this.fitScale = scaleFit;

          var graphUserScaleFactor = _newsmemoryUtils.default.getZoomingFactor();

          var realScale = this._getRealScale();

          var fitGraphicArticle = this._fitArticle() && realScale > scaleFit;

          var doubleTapScale = this._getDoubleTapScale();

          var startZoom = fitGraphicArticle ? scaleFit : doubleTapScale;

          if (!this.currentScale) {
            this.onScaleChange(startZoom);
          }

          var contentSize = {
            width: data.width,
            height: data.height
          };

          if (data.boxes) {
            return _react.default.createElement(_zoomGraph.default, {
              key: "zoomview_" + index + "_" + size.width + "_" + size.height,
              index: index,
              graphId: page.getPageId() + "_" + article.getXmlId(),
              ref: function ref(_ref5) {
                _this5.zoomViewRef = _ref5;
              },
              size: size,
              contentSize: contentSize,
              onLoaded: function onLoaded() {
                if (typeof onGraphLoadEnd === "function") {
                  onGraphLoadEnd(index);
                }
              },
              onLongPress: onLongPress,
              onSwipeDown: onSwipeDown,
              onSwipeLeft: goPrev,
              onSwipeRight: goNext,
              onScaleChange: this.onScaleChange,
              onExtraTap: this.onExtraPress,
              viewPagerRef: viewPagerRef,
              isActive: isActive,
              minZoom: Math.min(scaleFit, doubleTapScale),
              zoom: startZoom,
              autoZoomValue: Math.max(scaleFit, doubleTapScale),
              maxZoom: maxZoom * Math.max(graphUserScaleFactor, 1),
              singleTapToZoom: this.isSingleTapToZoomEnabled,
              FooterComponent: FooterComponent,
              renderContent: function renderContent(zoomIndex, areaInfo) {
                return _this5._getArticleCrop(data, contentSize, areaInfo);
              },
              spinnerColor: _newsmemoryUtils.default.getSpinnerColor()
            });
          }
        }

        return null;
      }
    }, {
      key: "_onLayout",
      value: function _onLayout(_ref6) {
        var nativeEvent = _ref6.nativeEvent;
        this.setState({
          size: nativeEvent.layout
        });
      }
    }, {
      key: "show",
      value: function show() {
        var _this$props7 = this.props,
            isActive = _this$props7.isActive,
            index = _this$props7.index;
        var render = this.state.render;

        if (render) {
          if (this.hrRefs && this.hrRefs.length > 0 && isActive(index)) {
            this.hrRefs.forEach(function (hrRef) {
              if (hrRef) {
                hrRef.show();
              }
            });
          }
        } else {
          this.setState({
            render: true
          });
        }
      }
    }, {
      key: "hide",
      value: function hide() {
        var render = this.state.render;

        if (render) {
          this.setState({
            render: false
          });
        }
      }
    }, {
      key: "render",
      value: function render() {
        var newspaper = this.props.newspaper;
        var _this$state2 = this.state,
            online = _this$state2.online,
            render = _this$state2.render;
        return _react.default.createElement(_reactNative.View, {
          style: _articleGraph.default.container
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[35]).Error, {
          errors: !online && !newspaper.hasHighResolutionDownloaded() ? [global.strings("msg_offline_article_graph")] : [],
          style: {
            zIndex: 1000
          }
        }), _react.default.createElement(_reactNative.View, {
          onLayout: this.onLayout,
          style: _articleGraph.default.container
        }, render ? this.renderGraph() : null));
      }
    }], [{
      key: "getDerivedStateFromProps",
      value: function getDerivedStateFromProps(props, state) {
        if (!state.render && props.renderGraphContent) {
          return (0, _extends2.default)({}, state, {
            render: true
          });
        }

        return state;
      }
    }]);
    return ArticleGraph;
  }(_react.default.Component);

  exports.default = ArticleGraph;
  ArticleGraph.propTypes = {
    navigation: _propTypes.default.shape({
      navigate: _propTypes.default.func
    }).isRequired,
    index: _propTypes.default.number,
    edition: _propTypes.default.instanceOf(_Edition.default).isRequired,
    article: _propTypes.default.instanceOf(_EPaperArticle.default).isRequired,
    page: _propTypes.default.instanceOf(_Page.default).isRequired,
    newspaper: _propTypes.default.instanceOf(_NewspaperIssue.default).isRequired,
    goNext: _propTypes.default.func.isRequired,
    goPrev: _propTypes.default.func.isRequired,
    onLongPress: _propTypes.default.func,
    copyrightHtml: _propTypes.default.string,
    disclaimerHtml: _propTypes.default.string,
    headerHtml: _propTypes.default.string,
    viewPagerRef: _propTypes.default.object,
    isActive: _propTypes.default.func,
    renderGraphContent: _propTypes.default.bool,
    FooterComponent: _propTypes.default.node,
    onSwipeDown: _propTypes.default.func,
    onGraphLoadEnd: _propTypes.default.func,
    css: _propTypes.default.shape({
      defaultCss: _propTypes.default.string,
      customCss: _propTypes.default.string
    })
  };
  ArticleGraph.defaultProps = {
    renderGraphContent: false
  };
},2156,[5,80,6,7,8,15,12,14,16,17,28,201,2157,2158,603,640,638,642,587,641,2159,460,1859,2160,2161,644,714,2167,715,2169,574,462,699,572,717,2171]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PdfBoxComponent;

  var PdfBox = function (_React$PureComponent) {
    (0, _inherits2.default)(PdfBox, _React$PureComponent);

    var _super = _createSuper(PdfBox);

    function PdfBox(props) {
      var _this;

      (0, _classCallCheck2.default)(this, PdfBox);
      _this = _super.call(this, props);
      _this.previousRenderScale = 1;
      _this.pdfBoxComponentName = _reactNative.Platform.select({
        android: "RCTPdfBox",
        ios: "RCTPdfBoxView"
      });

      if (!PdfBoxComponent) {
        PdfBoxComponent = (0, _reactNative.requireNativeComponent)(_this.pdfBoxComponentName, PdfBox, {
          nativeOnly: {
            path: true,
            onChange: true
          }
        });
      }

      return _this;
    }

    (0, _createClass2.default)(PdfBox, [{
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props = this.props,
            scale = _this$props.scale,
            _onPdfError = _this$props.onPdfError,
            _onBoxDrawn = _this$props.onBoxDrawn,
            zoom = _this$props.zoom,
            path = _this$props.path,
            onRefToUpdate = _this$props.onRefToUpdate,
            rest = (0, _objectWithoutProperties2.default)(_this$props, ["scale", "onPdfError", "onBoxDrawn", "zoom", "path", "onRefToUpdate"]);
        return _react.default.createElement(PdfBoxComponent, (0, _extends2.default)({
          ref: function ref(component) {
            _this2._root = component;
          }
        }, rest, {
          path: path,
          scale: scale,
          onPdfError: function onPdfError() {
            if (typeof _onPdfError === "function") {
              _onPdfError();
            }
          },
          onBoxDrawn: function onBoxDrawn() {
            if (typeof _onBoxDrawn === "function") {
              _onBoxDrawn();
            }
          }
        }));
      }
    }]);
    return PdfBox;
  }(_react.default.PureComponent);

  exports.default = PdfBox;
  PdfBox.propTypes = (0, _extends2.default)({}, _reactNative.ViewPropTypes, {
    coordinates: _propTypes.default.shape({
      origin: _propTypes.default.shape({
        x: _propTypes.default.number,
        y: _propTypes.default.number
      }),
      size: _propTypes.default.shape({
        width: _propTypes.default.number,
        height: _propTypes.default.number
      })
    }),
    pageSize: _propTypes.default.shape({
      width: _propTypes.default.number,
      height: _propTypes.default.number
    }),
    path: _propTypes.default.string.isRequired,
    pageId: _propTypes.default.number,
    artId: _propTypes.default.number,
    onBoxDrawn: _propTypes.default.func,
    onPdfError: _propTypes.default.func,
    visible: _propTypes.default.bool,
    scale: _propTypes.default.number
  });
  PdfBox.defaultProps = {
    pageId: 0,
    artId: -1
  };
},2157,[5,6,108,7,8,12,14,16,17,201,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var GraphBoxComponent;

  var GraphBox = function (_React$Component) {
    (0, _inherits2.default)(GraphBox, _React$Component);

    var _super = _createSuper(GraphBox);

    function GraphBox(props) {
      var _this;

      (0, _classCallCheck2.default)(this, GraphBox);
      _this = _super.call(this, props);
      _this.graphBoxComponentName = _reactNative.Platform.select({
        android: "RCTGraphBox",
        ios: "RCTGraphBoxView"
      });

      if (!GraphBoxComponent) {
        GraphBoxComponent = (0, _reactNative.requireNativeComponent)(_this.graphBoxComponentName, GraphBox, {
          nativeOnly: {
            path: true,
            onChange: true
          }
        });
      }

      return _this;
    }

    (0, _createClass2.default)(GraphBox, [{
      key: "shouldComponentUpdate",
      value: function shouldComponentUpdate(nextProps) {
        return !_$$_REQUIRE(_dependencyMap[10]).JSUtils.equals(nextProps, this.props);
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        return _react.default.createElement(GraphBoxComponent, (0, _extends2.default)({
          ref: function ref(component) {
            _this2._root = component;
          }
        }, this.props));
      }
    }]);
    return GraphBox;
  }(_react.default.Component);

  exports.default = GraphBox;
  GraphBox.propTypes = (0, _extends2.default)({}, _reactNative.ViewPropTypes, {
    coordinates: _propTypes.default.shape({
      origin: _propTypes.default.shape({
        x: _propTypes.default.number,
        y: _propTypes.default.number
      }),
      size: _propTypes.default.shape({
        width: _propTypes.default.number,
        height: _propTypes.default.number
      })
    }),
    pageSize: _propTypes.default.shape({
      width: _propTypes.default.number,
      height: _propTypes.default.number
    }),
    path: _propTypes.default.string.isRequired,
    pageId: _propTypes.default.number,
    artId: _propTypes.default.number,
    visible: _propTypes.default.bool
  });
  GraphBox.defaultProps = {
    pageId: 0,
    artId: -1
  };
},2158,[5,6,7,8,12,14,16,17,201,28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    container: {
      flex: 1
    }
  });

  exports.default = _default;
},2159,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.PRINT_DPI = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var RNHTMLtoPDF = _optionalPackageUtils.default.getRNHtmlToPdf();

  var PDF_QUALITY = 3;
  var PRINT_DPI = 72;
  exports.PRINT_DPI = PRINT_DPI;

  var PdfUtils = function () {
    function PdfUtils() {
      (0, _classCallCheck2.default)(this, PdfUtils);
    }

    (0, _createClass2.default)(PdfUtils, null, [{
      key: "getPDFPageInches",
      value: function getPDFPageInches() {
        var _global$getActivePSet = global.getActivePSetup(),
            printToLetter = _global$getActivePSet.printToLetter;

        var width = printToLetter ? 8.5 : 8.3;
        var height = printToLetter ? 11 : 11.7;
        return {
          width: width,
          height: height
        };
      }
    }, {
      key: "getPDFPagePoints",
      value: function getPDFPagePoints() {
        var _PdfUtils$getPDFPageI = PdfUtils.getPDFPageInches(),
            width = _PdfUtils$getPDFPageI.width,
            height = _PdfUtils$getPDFPageI.height;

        return {
          width: Math.round(width * PRINT_DPI),
          height: Math.round(height * PRINT_DPI)
        };
      }
    }, {
      key: "pdfToPng",
      value: function pdfToPng(config) {
        return _regenerator.default.async(function pdfToPng$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", _reactNative.NativeModules.PdfUtility.pdfToPng(config));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "htmlToPDF",
      value: function htmlToPDF(options) {
        var _PdfUtils$getPDFPageP, width, height, file;

        return _regenerator.default.async(function htmlToPDF$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!RNHTMLtoPDF) {
                  _context2.next = 6;
                  break;
                }

                _PdfUtils$getPDFPageP = PdfUtils.getPDFPagePoints(), width = _PdfUtils$getPDFPageP.width, height = _PdfUtils$getPDFPageP.height;
                _context2.next = 4;
                return _regenerator.default.awrap(RNHTMLtoPDF.convert((0, _extends2.default)({
                  width: width,
                  height: height
                }, options)));

              case 4:
                file = _context2.sent;
                return _context2.abrupt("return", file);

              case 6:
                return _context2.abrupt("return", Promise.reject());

              case 7:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "print",
      value: function print(view, size) {
        var width, height, margin, scale;
        return _regenerator.default.async(function print$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                width = size.width, height = size.height, margin = size.margin, scale = size.scale;
                _context3.prev = 1;
                return _context3.abrupt("return", _reactNative.NativeModules.PdfUtility.print({
                  target: _$$_REQUIRE(_dependencyMap[7]).JSUtils.getViewByRef(view),
                  size: {
                    width: width,
                    height: height,
                    margin: margin
                  },
                  scale: scale,
                  pdfQuality: PDF_QUALITY
                }));

              case 5:
                _context3.prev = 5;
                _context3.t0 = _context3["catch"](1);
                throw _context3.t0;

              case 8:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, [[1, 5]], Promise);
      }
    }]);
    return PdfUtils;
  }();

  exports.default = PdfUtils;
},2160,[5,80,6,7,8,28,731,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _reactNativeReanimated = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[12]));

  var _styles = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _tapView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _gestureTimer = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _refreshComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _zoomConstants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var set = _reactNativeReanimated.default.set,
      eq = _reactNativeReanimated.default.eq,
      or = _reactNativeReanimated.default.or,
      add = _reactNativeReanimated.default.add,
      sub = _reactNativeReanimated.default.sub,
      greaterThan = _reactNativeReanimated.default.greaterThan,
      atan = _reactNativeReanimated.default.atan,
      abs = _reactNativeReanimated.default.abs,
      multiply = _reactNativeReanimated.default.multiply,
      divide = _reactNativeReanimated.default.divide,
      Value = _reactNativeReanimated.default.Value,
      event = _reactNativeReanimated.default.event;

  var ZoomGraphView = function (_Component) {
    (0, _inherits2.default)(ZoomGraphView, _Component);

    var _super = _createSuper(ZoomGraphView);

    function ZoomGraphView(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ZoomGraphView);
      _this = _super.call(this, props);
      _this.panRef = _react.default.createRef();
      _this.pinchRef = _react.default.createRef();
      _this.progressRef = _react.default.createRef();
      _this._disableOutOfBounds = false;
      var size = props.size,
          contentSize = props.contentSize;
      _this._enableRefreshCustomComponent = _$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isIOS();
      _this._isRtl = _$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isRTL();
      _this._style = {
        width: Math.max(size.width, contentSize.width),
        height: Math.max(size.height, contentSize.height)
      };
      _this._loaded = false;
      _this._gestureEndTimer = undefined;
      _this.onLongPress = _this._onLongPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSingleTap = _this._onSingleTap.bind((0, _assertThisInitialized2.default)(_this));
      _this.onDoubleTap = _this._onDoubleTap.bind((0, _assertThisInitialized2.default)(_this));
      _this.onRefreshCustom = _this._onRefreshCustom.bind((0, _assertThisInitialized2.default)(_this));
      _this.onRefreshEnableCustom = _this._onRefreshEnableCustom.bind((0, _assertThisInitialized2.default)(_this));
      _this.onRefresh = _this._onRefresh.bind((0, _assertThisInitialized2.default)(_this));
      _this.onScaleStart = _this._onScaleStart.bind((0, _assertThisInitialized2.default)(_this));
      _this.onScaling = _this._onScaling.bind((0, _assertThisInitialized2.default)(_this));
      _this.onScaleEnd = _this._onScaleEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPanXStart = _this._onPanXStart.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPanXEnd = _this._onPanXEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPanXOutOfBounds = _this._onPanXOutOfBounds.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPanYStart = _this._onPanYStart.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPanYEnd = _this._onPanYEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.onTopChange = _this._onTopChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onRightChange = _this._onRightChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onBottomChange = _this._onBottomChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLeftChange = _this._onLeftChange.bind((0, _assertThisInitialized2.default)(_this));
      _this._initializedStatus = {
        panX: false,
        panY: false,
        scale: false,
        ready: false
      };
      _this._spinnerHeight = new Value(0);
      _this._currentScale = props.zoom || props.minZoom;

      _this._setDisableOutOfBounds(false);

      _this._panX = _this._isRtl ? Math.min(0, -(contentSize.width * _this._currentScale - size.width)) : 0;
      _this._panY = 0;
      var panTransX = new Value(_this._panX);
      var panTransY = new Value(0);
      _this._zoomToState = new Value(_$$_REQUIRE(_dependencyMap[19]).State.UNDETERMINED);
      _this._zoomToValue = new Value(1);
      _this._zoomToDragX = new Value(0);
      _this._zoomToDragY = new Value(0);
      var zoomToActive = eq(_this._zoomToState, _$$_REQUIRE(_dependencyMap[19]).State.ACTIVE);
      _this._minZoom = new Value(props.minZoom);
      _this._maxZoom = new Value(props.maxZoom);
      _this._pinchFocalX = new Value(0);
      _this._pinchFocalY = new Value(0);
      var pinchScale = new Value(1);
      var pinchState = new Value(_$$_REQUIRE(_dependencyMap[19]).State.UNDETERMINED);
      var oldPinchState = new Value(_$$_REQUIRE(_dependencyMap[19]).State.UNDETERMINED);
      _this._onPinchEvent = event([{
        nativeEvent: {
          oldState: oldPinchState,
          scale: pinchScale,
          focalX: _this._pinchFocalX,
          focalY: _this._pinchFocalY,
          state: pinchState
        }
      }]);
      var scale = new Value(_this._currentScale);
      var pinchActive = eq(pinchState, _$$_REQUIRE(_dependencyMap[19]).State.ACTIVE);
      var pinchEnd = (0, _reactNativeReanimated.and)(eq(pinchState, _$$_REQUIRE(_dependencyMap[19]).State.END), eq(oldPinchState, _$$_REQUIRE(_dependencyMap[19]).State.ACTIVE));
      _this._focalDisplacementX = new Value(0);
      _this._focalDisplacementY = new Value(0);
      var relativeFocalX = sub(_this._pinchFocalX, add(panTransX, _this._focalDisplacementX));
      var relativeFocalY = sub(_this._pinchFocalY, add(panTransY, _this._focalDisplacementY));
      _this._scale = set(scale, (0, _$$_REQUIRE(_dependencyMap[20]).pinchMgr)(scale, pinchScale, pinchActive, pinchEnd, relativeFocalX, _this._focalDisplacementX, relativeFocalY, _this._focalDisplacementY, _this._minZoom, _this._maxZoom, _this._zoomToState, _this._zoomToValue, _this.onScaleStart, _this.onScaling, _this.onScaleEnd));
      var dragX = new Value(0);
      var dragY = new Value(0);
      var panState = new Value(_$$_REQUIRE(_dependencyMap[19]).State.UNDETERMINED);
      var panOldState = new Value(_$$_REQUIRE(_dependencyMap[19]).State.UNDETERMINED);
      var velocityX = new Value(0);
      var velocityY = new Value(0);
      _this._panLeftLimit = 0;
      var panLeftLimit = (0, _$$_REQUIRE(_dependencyMap[20]).leftLimit)(_this._scale, _this._focalDisplacementX, _this._minZoom, _this.onLeftChange);
      _this._panRightLimit = 0;
      var panRightLimit = (0, _$$_REQUIRE(_dependencyMap[20]).rightLimit)(size, contentSize, panLeftLimit, _this._scale, _this._minZoom, _this.onRightChange);
      _this._onPanEvent = event([{
        nativeEvent: {
          translationX: dragX,
          translationY: dragY,
          oldState: panOldState,
          state: panState,
          velocityX: velocityX,
          velocityY: velocityY
        }
      }]);
      var dragSlope = divide(sub(0, dragY), sub(0, dragX));
      var radiansFromXAxis = abs(atan(dragSlope));
      var enableSpinner = greaterThan(radiansFromXAxis, 85 * Math.PI / 180);
      _this._refreshEnabled = new Value(1);
      var panActive = eq(panState, _$$_REQUIRE(_dependencyMap[19]).State.ACTIVE);
      var panEnd = eq(panOldState, _$$_REQUIRE(_dependencyMap[19]).State.ACTIVE);
      _this._panTransX = set(panTransX, (0, _$$_REQUIRE(_dependencyMap[20]).panXMgr)(panTransX, (0, _$$_REQUIRE(_dependencyMap[20]).dragDiff)(dragX, panActive, scale), or(panActive, pinchActive), panEnd, panRightLimit, panLeftLimit, velocityX, scale, size.width, _$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isEInk(), zoomToActive, _this._zoomToDragX, _this.onPanXStart, _this.onPanXEnd, _this.onPanXOutOfBounds));
      _this._panTopLimit = 0;
      var panTopLimit = (0, _$$_REQUIRE(_dependencyMap[20]).topLimit)(_this._scale, _this._focalDisplacementY, _this._minZoom, _this.onTopChange);
      var panBottomLimit = (0, _$$_REQUIRE(_dependencyMap[20]).bottomLimit)(size, contentSize, panTopLimit, _this._scale, _this._minZoom, _this.onBottomChange);
      _this._panTransY = set(panTransY, (0, _$$_REQUIRE(_dependencyMap[20]).panYMgr)(panTransY, dragY, (0, _$$_REQUIRE(_dependencyMap[20]).dragDiff)(dragY, panActive, scale), or(panActive, pinchActive), panEnd, panBottomLimit, panTopLimit, velocityY, scale, size.height, _$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isEInk(), zoomToActive, _this._zoomToDragY, _this.onPanYStart, _this.onPanYEnd, enableSpinner, _this._spinnerHeight, _this._refreshEnabled, _this.onRefreshCustom, _this.onRefreshEnableCustom));
      _this.state = {
        refreshEnabled: true,
        area: _this._getAreaInfo()
      };
      return _this;
    }

    (0, _createClass2.default)(ZoomGraphView, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this._setLoaded();
      }
    }, {
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(nextProps) {
        var _this$props = this.props,
            minZoom = _this$props.minZoom,
            autoZoomValue = _this$props.autoZoomValue,
            maxZoom = _this$props.maxZoom,
            zoom = _this$props.zoom;

        if (nextProps.minZoom !== minZoom) {
          this._minZoom.setValue(nextProps.minZoom);
        }

        if (nextProps.maxZoom !== maxZoom) {
          this._maxZoom.setValue(nextProps.maxZoom);
        }

        if (nextProps.zoom !== zoom) {
          this._zoomTo(nextProps.minZoom, nextProps.zoom);
        } else if (nextProps.autoZoomValue !== autoZoomValue) {
          this._zoomTo(nextProps.minZoom, nextProps.autoZoomValue);
        }
      }
    }, {
      key: "shouldComponentUpdate",
      value: function shouldComponentUpdate(nextProps, nextState) {
        if (!_$$_REQUIRE(_dependencyMap[18]).JSUtils.equals(nextState, this.state)) {
          return true;
        }

        var _this$props2 = this.props,
            index = _this$props2.index,
            size = _this$props2.size,
            contentSize = _this$props2.contentSize;

        if (nextProps.index !== index || !_$$_REQUIRE(_dependencyMap[18]).JSUtils.equals(nextProps.size, size) || !_$$_REQUIRE(_dependencyMap[18]).JSUtils.equals(nextProps.contentSize, contentSize)) {
          return true;
        }

        this._setLoaded();

        this._updatePanSwipeEffect();

        return false;
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate() {
        this._updatePanSwipeEffect();
      }
    }, {
      key: "_setDisableOutOfBounds",
      value: function _setDisableOutOfBounds(state) {
        var _this$props3 = this.props,
            contentSize = _this$props3.contentSize,
            size = _this$props3.size;
        this._disableOutOfBounds = state || contentSize.width * this._currentScale < size.width && !_$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isEInk();
      }
    }, {
      key: "_resetInitStatus",
      value: function _resetInitStatus() {
        this._initializedStatus.panX = false;
        this._initializedStatus.panY = false;
        this._initializedStatus.scale = false;
        this._initializedStatus.ready = false;
      }
    }, {
      key: "_getAreaInfo",
      value: function _getAreaInfo() {
        var size = this.props.size;
        var _panLeftLimit = this._panLeftLimit,
            _panTopLimit = this._panTopLimit,
            _panX = this._panX,
            _panY = this._panY,
            _currentScale = this._currentScale;
        var top = _panTopLimit - _panY;
        var start = _panLeftLimit - _panX;
        return {
          start: start,
          top: top,
          width: size.width,
          height: size.height,
          scale: _currentScale
        };
      }
    }, {
      key: "_onLeftChange",
      value: function _onLeftChange(_ref) {
        var _ref2 = (0, _slicedToArray2.default)(_ref, 1),
            value = _ref2[0];

        this._panLeftLimit = value;
      }
    }, {
      key: "_onRightChange",
      value: function _onRightChange(_ref3) {
        var _ref4 = (0, _slicedToArray2.default)(_ref3, 1),
            value = _ref4[0];

        this._panRightLimit = value;
      }
    }, {
      key: "_onTopChange",
      value: function _onTopChange(_ref5) {
        var _ref6 = (0, _slicedToArray2.default)(_ref5, 1),
            value = _ref6[0];

        this._panTopLimit = value;
      }
    }, {
      key: "_onBottomChange",
      value: function _onBottomChange(_ref7) {
        var _ref8 = (0, _slicedToArray2.default)(_ref7, 1),
            value = _ref8[0];
      }
    }, {
      key: "_onPanXStart",
      value: function _onPanXStart(_ref9) {
        var _ref10 = (0, _slicedToArray2.default)(_ref9, 3),
            value = _ref10[0],
            panLeftLimit = _ref10[1],
            panRightLimit = _ref10[2];

        this._initializedStatus.panX = true;
        this._panX = value;

        this._checkInitialization();

        var panIsNearLeft = this._panX + 5 >= panLeftLimit;
        var panIsNearRight = this._panX - 5 <= panRightLimit;

        this._setDisableOutOfBounds(!panIsNearLeft && !panIsNearRight);
      }
    }, {
      key: "_onPanXEnd",
      value: function _onPanXEnd(_ref11) {
        var _ref12 = (0, _slicedToArray2.default)(_ref11, 1),
            value = _ref12[0];

        this._panX = value;

        this._onPanEnd();

        this._updateRefreshStatus();
      }
    }, {
      key: "_onPanXOutOfBounds",
      value: function _onPanXOutOfBounds(_ref13) {
        var _ref14 = (0, _slicedToArray2.default)(_ref13, 1),
            outOfBounds = _ref14[0];

        var _this$props4 = this.props,
            onSwipeRight = _this$props4.onSwipeRight,
            onSwipeLeft = _this$props4.onSwipeLeft;

        if (!this._disableOutOfBounds && this._isActive() && (this._isZoomed() || _$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isEInk()) && Math.abs(outOfBounds) > _zoomConstants.default.constants.PAN_MAX_VALUE) {
          var isNavigate = false;

          if (outOfBounds > 0) {
            isNavigate = onSwipeRight();
          } else if (outOfBounds < 0) {
            isNavigate = onSwipeLeft();
          }

          if (isNavigate) {
            this.resetScale();
          }

          this._setDisableOutOfBounds(true);
        }
      }
    }, {
      key: "_onPanYStart",
      value: function _onPanYStart(_ref15) {
        var _ref16 = (0, _slicedToArray2.default)(_ref15, 1),
            value = _ref16[0];

        this._initializedStatus.panY = true;
        this._panY = value;

        this._checkInitialization();
      }
    }, {
      key: "_onPanYEnd",
      value: function _onPanYEnd(_ref17) {
        var _ref18 = (0, _slicedToArray2.default)(_ref17, 1),
            value = _ref18[0];

        this._panY = value;

        this._onPanEnd();

        this._updateRefreshStatus();
      }
    }, {
      key: "_onPanEnd",
      value: function _onPanEnd() {
        this._onGestureEnd();
      }
    }, {
      key: "_onScaleStart",
      value: function _onScaleStart(_ref19) {
        var _ref20 = (0, _slicedToArray2.default)(_ref19, 1),
            value = _ref20[0];

        this._initializedStatus.scale = true;
        this._currentScale = value;

        this._checkInitialization();
      }
    }, {
      key: "_onScaling",
      value: function _onScaling(_ref21) {
        var _ref22 = (0, _slicedToArray2.default)(_ref21, 1),
            scale = _ref22[0];

        this._setDisableOutOfBounds(true);

        this._currentScale = scale;

        this._updatePanSwipeEffect();
      }
    }, {
      key: "_onScaleEnd",
      value: function _onScaleEnd(_ref23) {
        var _ref24 = (0, _slicedToArray2.default)(_ref23, 1),
            value = _ref24[0];

        this._currentScale = value;

        this._updatePanSwipeEffect();

        this._onGestureEnd();
      }
    }, {
      key: "_checkInitialization",
      value: function _checkInitialization() {
        if (!this._initializedStatus.ready) {
          this._initializedStatus.ready = this._initializedStatus.panX && this._initializedStatus.panY && this._initializedStatus.scale;

          if (this._initializedStatus.ready) {
            this._printLog("ready");

            this._updatePanSwipeEffect();

            this._setLoaded();

            this._onGestureEnd();
          }
        }
      }
    }, {
      key: "_onGestureEnd",
      value: function _onGestureEnd() {
        var _this2 = this;

        var graphId = this.props.graphId;

        _gestureTimer.default.resetTimer("graph_gesture_end_" + graphId);

        _gestureTimer.default.startTimer("graph_gesture_end_" + graphId, function () {
          var onScaleChange = _this2.props.onScaleChange;
          var area = _this2.state.area;

          var newArea = _this2._getAreaInfo();

          if (!_$$_REQUIRE(_dependencyMap[18]).JSUtils.areEqualShallow(area, newArea)) {
            if (typeof onScaleChange === "function") {
              onScaleChange(newArea.scale);
            }

            _this2.setState({
              area: newArea
            });
          }
        }, 250);
      }
    }, {
      key: "_setLoaded",
      value: function _setLoaded() {
        var onLoaded = this.props.onLoaded;

        if (this._isActive() && typeof onLoaded === "function" && !this._loaded) {
          this._loaded = true;
          onLoaded();
        }
      }
    }, {
      key: "_getClickedPosition",
      value: function _getClickedPosition(_ref25) {
        var x = _ref25.x,
            y = _ref25.y;

        var _this$_getAreaInfo = this._getAreaInfo(),
            start = _this$_getAreaInfo.start,
            top = _this$_getAreaInfo.top,
            scale = _this$_getAreaInfo.scale;

        return {
          x: x + start,
          y: y + top,
          scale: scale
        };
      }
    }, {
      key: "_onLongPress",
      value: function _onLongPress() {
        var onLongPress = this.props.onLongPress;

        if (typeof onLongPress === "function") {
          onLongPress();
        }
      }
    }, {
      key: "_onSingleTap",
      value: function _onSingleTap(_ref26) {
        var nativeEvent = _ref26.nativeEvent;

        if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[19]).State.BEGAN) {
          this.event = nativeEvent;
        }

        if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[19]).State.ACTIVE) {
          var _this$props5 = this.props,
              onExtraTap = _this$props5.onExtraTap,
              singleTapToZoom = _this$props5.singleTapToZoom;
          var eventToForward = this.event || nativeEvent;

          if (typeof onExtraTap !== "function" || !onExtraTap(this._getClickedPosition(nativeEvent))) {
            if (typeof singleTapToZoom === "function" && singleTapToZoom()) {
              this.autoZoom(eventToForward);
            }
          }

          this.event = null;
        }
      }
    }, {
      key: "_onDoubleTap",
      value: function _onDoubleTap(_ref27) {
        var nativeEvent = _ref27.nativeEvent;

        if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[19]).State.BEGAN) {
          this.event = nativeEvent;
        }

        if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[19]).State.ACTIVE) {
          var eventToForward = this.event || nativeEvent;
          this.autoZoom(eventToForward);
          this.event = null;
        }
      }
    }, {
      key: "_zoomTo",
      value: function _zoomTo(minZoom, scale) {
        var coordinates = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
        var center = coordinates.center,
            drag = coordinates.drag;
        var _this$props6 = this.props,
            size = _this$props6.size,
            contentSize = _this$props6.contentSize;
        var x = 0;
        var y = 0;

        if (center) {
          x = center.x || 0;
          y = center.y || 0;
        } else if (this._style) {
          if (contentSize.width > size.width) {
            x = this._style.width / 2 || 0;
          }

          if (contentSize.height > size.height) {
            y = this._style.height / 2 || 0;
          }
        }

        var dragX = 0;
        var dragY = 0;

        if (drag) {
          dragX = drag.x || 0;
          dragY = drag.y || 0;
        }

        this._zoomToState.setValue(_$$_REQUIRE(_dependencyMap[19]).State.ACTIVE);

        this._zoomToDragX.setValue(dragX);

        this._zoomToDragY.setValue(dragY);

        this._pinchFocalX.setValue(x);

        this._pinchFocalY.setValue(y);

        this._zoomToValue.setValue(scale);
      }
    }, {
      key: "_setNativePropsToRef",
      value: function _setNativePropsToRef(ref, props) {
        if (ref && ref.current) {
          ref.current.setNativeProps(props);
        }
      }
    }, {
      key: "_getViewPagerRef",
      value: function _getViewPagerRef() {
        var viewPagerRef = this.props.viewPagerRef;

        if (viewPagerRef && viewPagerRef.current) {
          return viewPagerRef.current.getGestureHandlerRef();
        }

        return undefined;
      }
    }, {
      key: "_isZoomed",
      value: function _isZoomed() {
        var _this$props7 = this.props,
            minZoom = _this$props7.minZoom,
            size = _this$props7.size,
            contentSize = _this$props7.contentSize;

        if (this._currentScale > minZoom) {
          return true;
        }

        if (size.width < contentSize.width * this._currentScale) {
          return true;
        }

        if (size.height < contentSize.height * this._currentScale) {
          return true;
        }

        return false;
      }
    }, {
      key: "_isActive",
      value: function _isActive() {
        var _this$props8 = this.props,
            isActive = _this$props8.isActive,
            index = _this$props8.index;
        return typeof isActive !== "function" || isActive(index);
      }
    }, {
      key: "_isScrollEnabled",
      value: function _isScrollEnabled() {
        var _this$props9 = this.props,
            contentSize = _this$props9.contentSize,
            size = _this$props9.size,
            autoZoomValue = _this$props9.autoZoomValue;
        var scaledWidth = parseInt((contentSize.width * this._currentScale).toFixed(0), 10);
        return scaledWidth <= parseInt(size.width.toFixed(0), 10) && this._currentScale <= autoZoomValue;
      }
    }, {
      key: "_updatePanSwipeEffect",
      value: function _updatePanSwipeEffect() {
        if (this._isActive()) {
          if (this.progressRef && this.progressRef.current) {
            this.progressRef.current.show();
          }

          this._toggleGestureState(this._isScrollEnabled());
        } else if (this.progressRef && this.progressRef.current) {
          this.progressRef.current.hide();
        }
      }
    }, {
      key: "_toggleGestureState",
      value: function _toggleGestureState(enableScroll) {
        this._printLog("scroll: " + enableScroll);

        this._toggleScroll(enableScroll);

        this._togglePan(enableScroll);
      }
    }, {
      key: "_toggleScroll",
      value: function _toggleScroll(enableScroll) {
        var viewPagerRef = this.props.viewPagerRef;

        if (viewPagerRef && viewPagerRef.current) {
          viewPagerRef.current.toggleViewPagerState({
            enabled: enableScroll,
            scrollEnabled: enableScroll,
            waitFor: [this.panRef, this.pinchRef]
          });
        }
      }
    }, {
      key: "_togglePan",
      value: function _togglePan(enableScroll) {
        var simultaneousHandlers = [this.pinchRef];

        var handlerRef = this._getViewPagerRef();

        if (enableScroll && handlerRef) {
          simultaneousHandlers.push(handlerRef);
        }

        var props = (0, _extends2.default)({
          simultaneousHandlers: simultaneousHandlers
        }, this._getPanProps(enableScroll));

        this._setNativePropsToRef(this.panRef, props);
      }
    }, {
      key: "_getPanProps",
      value: function _getPanProps() {
        var enableScroll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
        var props = {};

        if (_$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isEInk()) {
          props.minDist = 20;
        } else if (_$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isAndroid()) {
          if (enableScroll) {
            props.minDeltaY = 20;
          } else {
            props.minDist = 20;
          }
        } else {
          props.minDist = enableScroll ? 30 : 5;
        }

        return props;
      }
    }, {
      key: "_printLog",
      value: function _printLog(message) {
        var index = this.props.index;
      }
    }, {
      key: "_updateRefreshStatus",
      value: function _updateRefreshStatus() {
        var refreshEnabled = this.state.refreshEnabled;
        var newRefreshEnabled = parseInt(this._panTopLimit.toFixed(0), 10) === parseInt(this._panY.toFixed(0), 10);

        if (newRefreshEnabled !== refreshEnabled) {
          this._refreshEnabled.setValue(newRefreshEnabled ? 1 : 0);

          this.setState({
            refreshEnabled: newRefreshEnabled
          });
        }
      }
    }, {
      key: "_onRefreshCustom",
      value: function _onRefreshCustom() {
        if (this._enableRefreshCustomComponent) {
          var onSwipeDown = this.props.onSwipeDown;

          if (typeof onSwipeDown === "function") {
            onSwipeDown();
          }
        }
      }
    }, {
      key: "_onRefreshEnableCustom",
      value: function _onRefreshEnableCustom(_ref28) {
        var _ref29 = (0, _slicedToArray2.default)(_ref28, 1),
            enableScroll = _ref29[0];

        if (this._enableRefreshCustomComponent) {
          var enable = enableScroll ? true : false;

          this._toggleGestureState(enable && this._isScrollEnabled());
        }
      }
    }, {
      key: "_onRefresh",
      value: function _onRefresh() {
        if (!this._enableRefreshCustomComponent) {
          var onSwipeDown = this.props.onSwipeDown;

          if (typeof onSwipeDown === "function") {
            onSwipeDown();
          }
        }
      }
    }, {
      key: "_adjustDrag",
      value: function _adjustDrag(_ref30, scale) {
        var x = _ref30.x,
            y = _ref30.y;
        var _this$props10 = this.props,
            minZoom = _this$props10.minZoom,
            contentSize = _this$props10.contentSize,
            size = _this$props10.size;
        var dragY = 0;
        var dragX = 0;

        if (scale > minZoom) {
          var height = contentSize.height * minZoom;
          var absolutePanY = this._panTopLimit - this._panY;
          var absoluteFocalY = absolutePanY + y;

          if (absoluteFocalY < height / 4) {
            dragY = Math.max(height, size.height) / 4;
          } else if (absoluteFocalY > height / 4 * 3) {
            if (height < size.height) {
              dragY = height - size.height;
            } else {
              dragY = -(height / 4);
            }
          }

          if (x < size.width / 4) {
            dragX = 100;
          } else if (x > size.width * 3 / 4) {
            dragX = -100;
          }
        }

        return {
          x: dragX,
          y: dragY
        };
      }
    }, {
      key: "autoZoom",
      value: function autoZoom(coordinates) {
        var _this$props11 = this.props,
            minZoom = _this$props11.minZoom,
            autoZoomValue = _this$props11.autoZoomValue;

        if (minZoom !== autoZoomValue) {
          this._setDisableOutOfBounds(true);

          if (this._currentScale <= minZoom) {
            this._zoomTo(minZoom, autoZoomValue, {
              center: coordinates,
              drag: this._adjustDrag(coordinates, autoZoomValue)
            });
          } else {
            this._zoomTo(minZoom, minZoom, {
              center: coordinates
            });
          }
        }
      }
    }, {
      key: "resetScale",
      value: function resetScale() {
        var _this$props12 = this.props,
            minZoom = _this$props12.minZoom,
            zoom = _this$props12.zoom;

        this._zoomTo(minZoom, zoom);
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props13 = this.props,
            renderContent = _this$props13.renderContent,
            index = _this$props13.index,
            spinnerColor = _this$props13.spinnerColor,
            size = _this$props13.size;
        var _this$state = this.state,
            refreshEnabled = _this$state.refreshEnabled,
            area = _this$state.area;
        var scaleTopLeftFixX = divide(multiply(this._style.width, add(this._scale, -1)), 2);
        var scaleTopLeftFixY = divide(multiply(this._style.height, add(this._scale, -1)), 2);

        var ZoomGraphComponent = _react.default.createElement(_reactNative.View, {
          style: _styles.default.wrapper
        }, _react.default.createElement(_tapView.default, {
          onLongPress: this.onLongPress,
          onSingleTap: this.onSingleTap,
          onDoubleTap: this.onDoubleTap,
          doubleTapHandlerWaitFor: this.pinchRef
        }, _react.default.createElement(_reactNative.View, {
          style: this._style
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).PinchGestureHandler, {
          ref: this.pinchRef,
          simultaneousHandlers: this.panRef,
          onGestureEvent: this._onPinchEvent,
          onHandlerStateChange: this._onPinchEvent
        }, _react.default.createElement(_reactNativeReanimated.default.View, {
          style: this._style
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).PanGestureHandler, (0, _extends2.default)({
          ref: this.panRef,
          avgTouches: true,
          enableTrackpadTwoFingerGesture: true,
          simultaneousHandlers: [this.pinchRef],
          onGestureEvent: this._onPanEvent,
          onHandlerStateChange: this._onPanEvent
        }, this._getPanProps()), _react.default.createElement(_reactNativeReanimated.default.View, {
          style: [this._style, {
            flexDirection: this._isRtl ? "row-reverse" : "row",
            transform: [{
              translateX: this._panTransX
            }, {
              translateY: this._panTransY
            }, {
              translateX: this._focalDisplacementX
            }, {
              translateY: this._focalDisplacementY
            }, {
              translateX: scaleTopLeftFixX
            }, {
              translateY: scaleTopLeftFixY
            }, {
              scale: this._scale
            }]
          }]
        }, renderContent ? renderContent(index, area) : null)))))));

        if (!this._enableRefreshCustomComponent) {
          return _react.default.createElement(_refreshComponent.default, {
            style: {
              flex: 1
            },
            enabled: refreshEnabled,
            onRefresh: this.onRefresh,
            cssClasses: ["newsmemory-article-refresh-control"]
          }, ZoomGraphComponent);
        }

        var cssRefresh = _$$_REQUIRE(_dependencyMap[21]).Css.getStyleObjByCssClasses(["newsmemory-article-refresh-control"]);

        var backgroundColor = _$$_REQUIRE(_dependencyMap[18]).CssUtils.getAttributeFromStyle("backgroundColor", cssRefresh, _$$_REQUIRE(_dependencyMap[18]).colors.white);

        var spinnerMargin = _$$_REQUIRE(_dependencyMap[22]).IOS_LARGE_ACTIVITY_INDICATOR_SIZE * _zoomConstants.default.constants.REFRESH_SIZE / 2;
        return _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1
          }
        }, _react.default.createElement(_reactNativeReanimated.default.View, {
          style: {
            width: size.width,
            height: this._spinnerHeight,
            marginTop: -spinnerMargin,
            marginBottom: spinnerMargin,
            justifyContent: "center"
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[23]).ProgressCircle, {
          ref: this.progressRef,
          spinnerColor: spinnerColor,
          spinnerStyle: {
            transform: [{
              scaleX: _zoomConstants.default.constants.REFRESH_SIZE
            }, {
              scaleY: _zoomConstants.default.constants.REFRESH_SIZE
            }],
            backgroundColor: backgroundColor
          },
          hidden: !this._isActive()
        })), ZoomGraphComponent);
      }
    }]);
    return ZoomGraphView;
  }(_react.Component);

  exports.default = ZoomGraphView;
  ZoomGraphView.propTypes = {
    index: _propTypes.default.number,
    graphId: _propTypes.default.string,
    isActive: _propTypes.default.func,
    viewPagerRef: _propTypes.default.object,
    zoom: _propTypes.default.number,
    minZoom: _propTypes.default.number,
    autoZoomValue: _propTypes.default.number,
    singleTapToZoom: _propTypes.default.func,
    maxZoom: _propTypes.default.number,
    renderContent: _propTypes.default.func,
    onLongPress: _propTypes.default.func,
    onSwipeRight: _propTypes.default.func,
    onSwipeLeft: _propTypes.default.func,
    onSwipeDown: _propTypes.default.func,
    onScaleChange: _propTypes.default.func,
    onExtraTap: _propTypes.default.func,
    onLoaded: _propTypes.default.func,
    size: _propTypes.default.shape({
      width: _propTypes.default.number.isRequired,
      height: _propTypes.default.number.isRequired
    }).isRequired,
    contentSize: _propTypes.default.shape({
      width: _propTypes.default.number.isRequired,
      height: _propTypes.default.number.isRequired
    }).isRequired,
    spinnerColor: _propTypes.default.string
  };
  ZoomGraphView.defaultProps = {
    minZoom: 1,
    maxZoom: 5
  };
},2161,[5,6,41,7,8,15,12,14,16,17,28,201,646,2162,2163,2164,2099,2165,462,1,2166,699,1899,1953]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    wrapper: {
      flex: 1,
      overflow: "hidden"
    }
  });

  exports.default = _default;
},2162,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TapView = function (_React$Component) {
    (0, _inherits2.default)(TapView, _React$Component);

    var _super = _createSuper(TapView);

    function TapView(props) {
      var _this;

      (0, _classCallCheck2.default)(this, TapView);
      _this = _super.call(this, props);
      _this.twoFingersTapRef = _react.default.createRef();
      _this.doubleTapRef = _react.default.createRef();
      _this.singleTapRef = _react.default.createRef();
      _this.onTwoFingersHandlerStateChange = _this._onTwoFingersHandlerStateChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onHandlerStateChange = _this._onHandlerStateChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onDoubleHandlerStateChange = _this._onDoubleHandlerStateChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLongPressHandlerStateChange = _this._onLongPressHandlerStateChange.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(TapView, [{
      key: "_onTwoFingersHandlerStateChange",
      value: function _onTwoFingersHandlerStateChange(_ref) {
        var nativeEvent = _ref.nativeEvent;
        var _this$props = this.props,
            onGestureStart = _this$props.onGestureStart,
            onTwoFingersTap = _this$props.onTwoFingersTap;

        if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[10]).State.BEGAN) {
          if (onGestureStart && typeof onGestureStart === "function") {
            onGestureStart({
              nativeEvent: nativeEvent
            });
          }
        } else if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[10]).State.ACTIVE) {
          if (onTwoFingersTap && typeof onTwoFingersTap === "function") {
            onTwoFingersTap({
              nativeEvent: nativeEvent
            });
          }
        } else if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[10]).State.FAILED) {}
      }
    }, {
      key: "_onHandlerStateChange",
      value: function _onHandlerStateChange(_ref2) {
        var nativeEvent = _ref2.nativeEvent;
        var _this$props2 = this.props,
            onGestureStart = _this$props2.onGestureStart,
            onSingleTap = _this$props2.onSingleTap;

        if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[10]).State.BEGAN) {
          if (onGestureStart && typeof onGestureStart === "function") {
            onGestureStart({
              nativeEvent: nativeEvent
            });
          }
        } else if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[10]).State.ACTIVE) {
          if (onSingleTap && typeof onSingleTap === "function") {
            onSingleTap({
              nativeEvent: nativeEvent
            });
          }
        } else if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[10]).State.FAILED) {}
      }
    }, {
      key: "_onDoubleHandlerStateChange",
      value: function _onDoubleHandlerStateChange(_ref3) {
        var nativeEvent = _ref3.nativeEvent;
        var _this$props3 = this.props,
            onGestureStart = _this$props3.onGestureStart,
            onDoubleTap = _this$props3.onDoubleTap,
            onTwoFingersTap = _this$props3.onTwoFingersTap;

        if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[10]).State.BEGAN) {
          if (onGestureStart && typeof onGestureStart === "function") {
            onGestureStart({
              nativeEvent: nativeEvent
            });
          }
        } else if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[10]).State.ACTIVE) {
          var numberOfPointers = nativeEvent.numberOfPointers;

          if (numberOfPointers > 1) {
            if (onTwoFingersTap && typeof onTwoFingersTap === "function") {
              onTwoFingersTap({
                nativeEvent: nativeEvent
              });
            }
          } else {
            if (onDoubleTap && typeof onDoubleTap === "function") {
              onDoubleTap({
                nativeEvent: nativeEvent
              });
            }
          }
        } else if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[10]).State.FAILED) {}
      }
    }, {
      key: "_onLongPressHandlerStateChange",
      value: function _onLongPressHandlerStateChange(_ref4) {
        var nativeEvent = _ref4.nativeEvent;
        var _this$props4 = this.props,
            onGestureStart = _this$props4.onGestureStart,
            onLongPress = _this$props4.onLongPress;

        if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[10]).State.BEGAN) {
          if (onGestureStart && typeof onGestureStart === "function") {
            onGestureStart({
              nativeEvent: nativeEvent
            });
          }
        } else if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[10]).State.ACTIVE) {
          if (onLongPress && typeof onLongPress === "function") {
            onLongPress({
              nativeEvent: nativeEvent
            });
          }
        } else if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[10]).State.FAILED) {}
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props5 = this.props,
            children = _this$props5.children,
            twoFingersTapHandlerWaitFor = _this$props5.twoFingersTapHandlerWaitFor,
            doubleTapHandlerWaitFor = _this$props5.doubleTapHandlerWaitFor;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).TapGestureHandler, {
          ref: this.twoFingerTapRef,
          minPointers: 2,
          onHandlerStateChange: this.onTwoFingersHandlerStateChange,
          waitFor: twoFingersTapHandlerWaitFor
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).TapGestureHandler, {
          ref: this.singleTapRef,
          onHandlerStateChange: this.onHandlerStateChange,
          waitFor: this.doubleTapRef
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).TapGestureHandler, {
          ref: this.doubleTapRef,
          numberOfTaps: 2,
          onHandlerStateChange: this.onDoubleHandlerStateChange,
          waitFor: doubleTapHandlerWaitFor
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).LongPressGestureHandler, {
          onHandlerStateChange: this.onLongPressHandlerStateChange
        }, _react.default.createElement(_reactNative.View, {
          collapsable: false
        }, children)))));
      }
    }]);
    return TapView;
  }(_react.default.Component);

  exports.default = TapView;
  TapView.propTypes = {
    children: _propTypes.default.any,
    onGestureStart: _propTypes.default.func,
    onSingleTap: _propTypes.default.func,
    onDoubleTap: _propTypes.default.func,
    onTwoFingersTap: _propTypes.default.func,
    onLongPress: _propTypes.default.func,
    twoFingersTapHandlerWaitFor: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]),
    doubleTapHandlerWaitFor: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array])
  };
},2163,[5,7,8,15,12,14,16,17,201,28,1]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var GestureTimer = function () {
    function GestureTimer() {
      (0, _classCallCheck2.default)(this, GestureTimer);
    }

    (0, _createClass2.default)(GestureTimer, null, [{
      key: "startTimer",
      value: function startTimer(timerKey, callback, timer) {
        if (!GestureTimer.timers[timerKey]) {
          GestureTimer.timers[timerKey] = setTimeout(function () {
            callback();
            GestureTimer.timers[timerKey] = undefined;
          }, timer);
        }
      }
    }, {
      key: "resetTimer",
      value: function resetTimer(timerKey) {
        if (GestureTimer.timers[timerKey]) {
          clearTimeout(GestureTimer.timers[timerKey]);
          GestureTimer.timers[timerKey] = undefined;
        }
      }
    }]);
    return GestureTimer;
  }();

  exports.default = GestureTimer;
  GestureTimer.timers = {};
},2164,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var ZoomDevice = function () {
    function ZoomDevice() {
      (0, _classCallCheck2.default)(this, ZoomDevice);
    }

    (0, _createClass2.default)(ZoomDevice, null, [{
      key: "init",
      value: function init() {
        ZoomDevice.constants.PAN_ANIMATION_DEGREES_THRESHOLD = 30;
        ZoomDevice.constants.ZOOM_TO_DURATION = _$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isEInk() ? 1 : 300;
        ZoomDevice.constants.VERTICAL_THRESHOLD = 50;
        ZoomDevice.constants.SNAP_PADDING = 10;
        ZoomDevice.constants.SNAP_VELOCITY = _$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isEInk() ? 1 : 100;
        ZoomDevice.constants.VIEW_PAGER_SWIPE_DURATION = _$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isEInk() ? 1 : 200;
        ZoomDevice.constants.VIEW_PAGER_VELOCITY_1PAGE = _$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isEInk() ? 350 : 1000;
        ZoomDevice.constants.VIEW_PAGER_VELOCITY_2PAGES = _$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isEInk() ? 350 : 1000;
        ZoomDevice.constants.MAGNETIC_PAN_VELOCITY_X = _$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isEInk() ? 350 : 1000;
        ZoomDevice.constants.MAGNETIC_PAN_X_FACTOR_1PAGE = 0.6666666666666666;
        ZoomDevice.constants.MAGNETIC_PAN_X_FACTOR_2PAGES = 0.75;
        ZoomDevice.constants.MAGNETIC_PAN_VELOCITY_Y = _$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isEInk() ? 350 : 1000;
        ZoomDevice.constants.MAGNETIC_PAN_Y_FACTOR_PORTRAIT = 0.6666666666666666;
        ZoomDevice.constants.MAGNETIC_PAN_Y_FACTOR_LANDSCAPE = 0.8;
        ZoomDevice.constants.PAN_ANIMATION_THRESHOLD = 50;
        ZoomDevice.constants.TOGGLE_FIT_VARIATION = 0.15;
        ZoomDevice.constants.PAN_TO_DIST = 150;
        ZoomDevice.constants.PAN_MAX_FRICTION = 5;
        ZoomDevice.constants.PAN_MAX_VALUE = _$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isEInk() ? 10 : 20;
        ZoomDevice.constants.ENABLE_REFRESH = _$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isEInk() ? 1 : 100;
        ZoomDevice.constants.REFRESH_DURATION = 300;
        ZoomDevice.constants.REFRESH_SIZE = 0.8;
      }
    }]);
    return ZoomDevice;
  }();

  ZoomDevice.constants = {};
  var _default = ZoomDevice;
  exports.default = _default;
},2165,[5,7,8,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.dragDiff = dragDiff;
  exports.friction = friction;
  exports.pinchMgr = pinchMgr;
  exports.panXMgr = panXMgr;
  exports.panYMgr = panYMgr;
  exports.topLimit = topLimit;
  exports.bottomLimit = bottomLimit;
  exports.leftLimit = leftLimit;
  exports.rightLimit = rightLimit;

  var _reactNativeReanimated = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _zoomConstants = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var debug = _reactNativeReanimated.default.debug,
      set = _reactNativeReanimated.default.set,
      cond = _reactNativeReanimated.default.cond,
      eq = _reactNativeReanimated.default.eq,
      or = _reactNativeReanimated.default.or,
      add = _reactNativeReanimated.default.add,
      sub = _reactNativeReanimated.default.sub,
      min = _reactNativeReanimated.default.min,
      max = _reactNativeReanimated.default.max,
      abs = _reactNativeReanimated.default.abs,
      greaterThan = _reactNativeReanimated.default.greaterThan,
      greaterOrEq = _reactNativeReanimated.default.greaterOrEq,
      multiply = _reactNativeReanimated.default.multiply,
      divide = _reactNativeReanimated.default.divide,
      lessThan = _reactNativeReanimated.default.lessThan,
      decay = _reactNativeReanimated.default.decay,
      timing = _reactNativeReanimated.default.timing,
      call = _reactNativeReanimated.default.call,
      diff = _reactNativeReanimated.default.diff,
      not = _reactNativeReanimated.default.not,
      block = _reactNativeReanimated.default.block,
      startClock = _reactNativeReanimated.default.startClock,
      stopClock = _reactNativeReanimated.default.stopClock,
      clockRunning = _reactNativeReanimated.default.clockRunning,
      Value = _reactNativeReanimated.default.Value,
      Clock = _reactNativeReanimated.default.Clock,
      and = _reactNativeReanimated.default.and;

  function scaleDiff(value) {
    var tmp = new Value(1);
    var prev = new Value(1);
    return [set(tmp, divide(value, prev)), set(prev, value), tmp];
  }

  function dragDiff(value, updating, scale) {
    var tmp = new Value(0);
    var prev = new Value(0);

    if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isAndroid()) {
      return cond(updating, [set(tmp, sub(value, prev)), set(prev, value), tmp], set(prev, 0));
    }

    return cond(updating, [set(tmp, multiply(scale, sub(value, prev))), set(prev, value), tmp], set(prev, 0));
  }

  function friction(value) {
    return max(1, min(_zoomConstants.default.constants.PAN_MAX_FRICTION, add(1, multiply(value, (_zoomConstants.default.constants.PAN_MAX_FRICTION - 1) / _zoomConstants.default.constants.PAN_MAX_VALUE))));
  }

  function speed(value) {
    var clock = new Clock();
    var dt = diff(clock);
    return cond(lessThan(dt, 1), 0, multiply(1000, divide(diff(value), dt)));
  }

  function scaleRest(value, minScale, maxScale) {
    return cond(lessThan(value, minScale), minScale, cond(lessThan(maxScale, value), maxScale, value));
  }

  function scaleFriction(value, rest, delta) {
    var MAX_FRICTION = 20;
    var MAX_VALUE = 0.5;
    var res = multiply(value, delta);
    var howFar = abs(sub(rest, value));
    var animatedFriction = max(1, min(MAX_FRICTION, add(1, multiply(howFar, 38))));
    return cond(lessThan(0, howFar), multiply(value, add(1, divide(add(delta, -1), animatedFriction))), res);
  }

  function runTiming(clock, value, dest) {
    var params = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
    var _params$startStopCloc = params.startStopClock,
        startStopClock = _params$startStopCloc === undefined ? true : _params$startStopCloc,
        _params$duration = params.duration,
        duration = _params$duration === undefined ? 300 : _params$duration,
        _params$easing = params.easing,
        easing = _params$easing === undefined ? _reactNativeReanimated.Easing.inOut(_reactNativeReanimated.Easing.cubic) : _params$easing;
    var state = {
      finished: new Value(0),
      position: new Value(0),
      frameTime: new Value(0),
      time: new Value(0)
    };
    var config = {
      toValue: new Value(0),
      duration: duration,
      easing: easing
    };
    return [cond(clockRunning(clock), 0, [set(state.finished, 0), set(state.frameTime, 0), set(state.time, 0), set(state.position, value), set(config.toValue, dest), startStopClock && startClock(clock)]), timing(clock, state, config), cond(state.finished, startStopClock && stopClock(clock)), state.position];
  }

  function runDecay(clock, value, velocity) {
    var state = {
      finished: new Value(0),
      velocity: new Value(0),
      position: new Value(0),
      time: new Value(0)
    };
    var config = {
      deceleration: _$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isAndroid() ? 0.99 : 0.9975
    };
    return [cond(clockRunning(clock), 0, [set(state.finished, 0), set(state.velocity, velocity), set(state.position, value), set(state.time, 0), startClock(clock)]), set(state.position, value), decay(clock, state, config), cond(state.finished, stopClock(clock)), state.position];
  }

  function pinchMgr(value, gesture, gestureActive, gestureEnd, focalX, displacementX, focalY, displacementY, minScale, maxScale, zoomToState, zoomToValue, callbackStart, callback, callbackEnd) {
    var clock = new Clock();
    var zoomToClock = new Clock();
    var delta = scaleDiff(gesture);
    var rest = scaleRest(value, minScale, maxScale);
    var focalXRest = cond(lessThan(value, minScale), 0, sub(displacementX, multiply(focalX, add(-1, divide(rest, value)))));
    var focalYRest = cond(lessThan(value, minScale), 0, sub(displacementY, multiply(focalY, add(-1, divide(rest, value)))));
    var nextScale = new Value(1);
    var zoomToActive = eq(zoomToState, _$$_REQUIRE(_dependencyMap[4]).State.ACTIVE);
    return cond(zoomToActive, [stopClock(clock), set(nextScale, runTiming(zoomToClock, value, scaleRest(zoomToValue, minScale, maxScale))), set(displacementX, sub(displacementX, multiply(focalX, add(-1, divide(nextScale, value))))), set(displacementY, sub(displacementY, multiply(focalY, add(-1, divide(nextScale, value))))), cond(not(clockRunning(zoomToClock)), [debug("ZOOM TO END: ", nextScale), call([nextScale], callbackEnd), set(zoomToState, _$$_REQUIRE(_dependencyMap[4]).State.END)]), nextScale], cond(gestureEnd, [debug("PINCH END: ", rest), call([rest], callbackEnd), rest], cond([delta, gestureActive], [stopClock(clock), set(nextScale, scaleFriction(value, rest, delta)), set(nextScale, cond(lessThan(nextScale, minScale), minScale, nextScale)), set(displacementX, sub(displacementX, multiply(focalX, add(-1, divide(nextScale, value))))), set(displacementY, sub(displacementY, multiply(focalY, add(-1, divide(nextScale, value))))), call([min(max(minScale, nextScale), maxScale)], callback), nextScale], cond(or(clockRunning(clock), not(eq(rest, value))), [set(displacementX, runTiming(clock, displacementX, focalXRest, {
      startStopClock: false
    })), set(displacementY, runTiming(clock, displacementY, focalYRest, {
      startStopClock: false
    })), debug("ZOOM BOUNCY: ", value), runTiming(clock, value, rest)], [debug("ZOOM: ", value), call([value], callbackStart), value]))));
  }

  function panRest(top, bottom, value) {
    return cond(lessThan(value, bottom), bottom, cond(greaterThan(value, top), top, value));
  }

  function panXMgr(value, gestureDiv, gestureActive, gestureEnd, right, left, velocity, scale, viewWidth, useMagnetic, zoomToActive, zoomToDragX, callbackStart, callback, callbackOutOfBound) {
    var velocityFromValue = speed(value);
    var decayClock = new Clock();
    var zoomToClock = new Clock();
    var clockMagnetic = new Clock();
    var tempDragX = new Value(0);
    var tempPan = new Value(0);
    var rest = cond(lessThan(value, right), right, cond(lessThan(left, value), left, value));
    var nextValue = add(value, gestureDiv);
    var isVariationOutOfLeftBounds = lessThan(left, nextValue);
    var isVariationOutOfBounds = or(lessThan(nextValue, right), isVariationOutOfLeftBounds);
    var howMuchIsOutOfBounds = sub(rest, nextValue);
    var nextValueRest = panRest(left, right, nextValue);
    var maxVelocityX = new Value(0);
    var isLeftSwipe = greaterThan(maxVelocityX, 0);
    var isMagnetic = or(clockRunning(clockMagnetic), greaterThan(abs(maxVelocityX), _zoomConstants.default.constants.MAGNETIC_PAN_VELOCITY_X));
    var absoluteVariation = multiply(viewWidth, _zoomConstants.default.constants.MAGNETIC_PAN_X_FACTOR_1PAGE);
    var magneticDestination = panRest(left, right, add(rest, cond(isLeftSwipe, absoluteVariation, multiply(absoluteVariation, -1))));
    return cond(or(zoomToActive, clockRunning(zoomToClock)), [set(tempDragX, runTiming(zoomToClock, 0, zoomToDragX)), set(tempPan, panRest(left, right, add(value, dragDiff(tempDragX, zoomToActive, 1)))), call([tempPan], callback), debug("PAN X ZOOM TO: ", tempPan), tempPan], cond(isVariationOutOfBounds, [stopClock(clockMagnetic), stopClock(decayClock), call([howMuchIsOutOfBounds], callbackOutOfBound), debug("PAN X OUT OF BOUND: ", nextValueRest), nextValueRest], cond([gestureDiv, cond(useMagnetic, velocity, velocityFromValue), gestureActive], [stopClock(clockMagnetic), stopClock(decayClock), cond(greaterThan(abs(velocity), 0), set(maxVelocityX, velocity)), debug("MAX VELOCITY", maxVelocityX), nextValue], [cond(gestureEnd, cond(useMagnetic, cond(isMagnetic, [set(tempPan, runTiming(clockMagnetic, rest, magneticDestination, {
      duration: _zoomConstants.default.constants.VIEW_PAGER_SWIPE_DURATION
    })), debug("PAN X MAGNETIC: ", tempPan), cond(not(clockRunning(clockMagnetic)), [set(maxVelocityX, 0), call([tempPan], callback)]), tempPan], [debug("PAN X END: ", rest), call([rest], callback), set(maxVelocityX, 0), rest]), cond(or(clockRunning(decayClock), lessThan(5, abs(velocityFromValue))), [set(tempPan, panRest(left, right, runDecay(decayClock, value, velocityFromValue))), debug("PAN X DECAY: ", tempPan), cond(not(clockRunning(decayClock)), set(maxVelocityX, 0), call([tempPan], callback)), tempPan], [debug("PAN X END: ", rest), call([rest], callback), rest])), [debug("PAN X: ", rest), call([rest, left, right], callbackStart), set(maxVelocityX, 0), rest])])));
  }

  function panYMgr(value, drag, gestureDiv, gestureActive, gestureEnd, bottom, top, velocity, scale, viewHeight, useMagnetic, zoomToActive, zoomToDragY, callbackStart, callback, spinnerEnabled, spinnerHeight, refreshEnabled, callbackRefresh, callbackSpinner) {
    var velocityFromValue = speed(value);
    var tempDragY = new Value(0);
    var tempPan = new Value(0);
    var clockMagnetic = new Clock();
    var decayClock = new Clock();
    var zoomToClock = new Clock();
    var refreshClock = new Clock();
    var rest = cond(lessThan(value, bottom), bottom, cond(lessThan(top, value), top, value));
    var nextValue = add(value, gestureDiv);
    var isNextValueOutOfTopBounds = lessThan(top, nextValue);
    var isNextValueEnoughForRefresh = and(isNextValueOutOfTopBounds, greaterOrEq(spinnerHeight, _zoomConstants.default.constants.ENABLE_REFRESH));
    var isSpinnerVisible = greaterThan(spinnerHeight, 0);
    var nextValueRest = panRest(top, bottom, nextValue);
    var prevSpinnerHeight = new Value(0);
    var maxVelocityY = new Value(0);
    var isRefreshEnabled = eq(refreshEnabled, 1);
    var isUpSwipe = greaterThan(maxVelocityY, 0);
    var isMagnetic = or(clockRunning(clockMagnetic), greaterThan(abs(maxVelocityY), _zoomConstants.default.constants.MAGNETIC_PAN_VELOCITY_Y));
    var absoluteVariation = multiply(viewHeight, _zoomConstants.default.constants.MAGNETIC_PAN_Y_FACTOR_PORTRAIT);
    var magneticDestination = panRest(top, bottom, add(rest, cond(isUpSwipe, absoluteVariation, multiply(absoluteVariation, -1))));
    return cond(or(zoomToActive, clockRunning(zoomToClock)), [set(tempDragY, runTiming(zoomToClock, 0, zoomToDragY)), set(tempPan, panRest(top, bottom, add(value, dragDiff(tempDragY, zoomToActive, 1)))), call([tempPan], callback), debug("PAN Y ZOOM TO: ", tempPan), tempPan], [cond(or(and(eq(prevSpinnerHeight, 0), greaterThan(spinnerHeight, 0)), and(eq(spinnerHeight, 0), greaterThan(prevSpinnerHeight, 0))), [call([eq(spinnerHeight, 0)], callbackSpinner), set(prevSpinnerHeight, spinnerHeight)]), cond(and(or(isNextValueOutOfTopBounds, isSpinnerVisible), isRefreshEnabled), [cond(isNextValueEnoughForRefresh, [call([], callbackRefresh)]), cond(or(and(gestureActive, isNextValueOutOfTopBounds, spinnerEnabled), isSpinnerVisible), [set(spinnerHeight, max(0, min(drag, _zoomConstants.default.constants.ENABLE_REFRESH)))]), cond(or(clockRunning(refreshClock), and(not(gestureActive), isSpinnerVisible)), [set(spinnerHeight, runTiming(refreshClock, spinnerHeight, 0, {
      duration: _zoomConstants.default.constants.REFRESH_DURATION,
      easing: _reactNativeReanimated.Easing.linear
    }))]), stopClock(decayClock), stopClock(clockMagnetic), set(maxVelocityY, 0), debug("PAN Y OUT OF TOP BOUND: ", top), top], [cond([gestureDiv, cond(useMagnetic, velocity, velocityFromValue), gestureActive], [stopClock(decayClock), stopClock(clockMagnetic), cond(greaterThan(abs(velocity), 0), set(maxVelocityY, velocity)), nextValueRest], [cond(gestureEnd, cond(useMagnetic, cond(isMagnetic, [set(tempPan, runTiming(clockMagnetic, rest, magneticDestination, {
      duration: _zoomConstants.default.constants.VIEW_PAGER_SWIPE_DURATION
    })), debug("PAN Y MAGNETIC: ", tempPan), cond(not(clockRunning(clockMagnetic)), [set(maxVelocityY, 0), call([tempPan], callback)]), tempPan], [debug("PAN Y END: ", rest), call([rest], callback), set(maxVelocityY, 0), rest]), cond(or(clockRunning(decayClock), lessThan(5, abs(velocityFromValue))), [set(tempPan, panRest(top, bottom, runDecay(decayClock, value, velocityFromValue))), debug("PAN Y DECAY: ", tempPan), cond(not(clockRunning(decayClock)), set(maxVelocityY, 0), call([tempPan], callback)), tempPan], [debug("PAN Y END: ", rest), call([rest], callback), rest])), [(debug("PAN Y: ", rest), call([rest], callbackStart), set(maxVelocityY, 0), rest)])])])]);
  }

  function topLimit(scale, focalDisplacementY, minZoom, callback) {
    var limit = cond(lessThan(scale, minZoom), 0, multiply(-1, focalDisplacementY));
    return block([debug("TOP: ", limit), call([limit], callback), limit]);
  }

  function bottomLimit(viewSize, contentSize, panUpY, scale, minZoom, callback) {
    var limit = cond(greaterThan(contentSize.height, 0), cond(lessThan(multiply(contentSize.height, scale), viewSize.height), panUpY, add(sub(panUpY, multiply(contentSize.height, scale)), viewSize.height)), new Value(0));
    return block([debug("BOTTOM: ", limit), call([limit], callback), limit]);
  }

  function leftLimit(scale, focalDisplacementX, minZoom, callback) {
    var limit = cond(lessThan(scale, minZoom), 0, multiply(-1, focalDisplacementX));
    return block([debug("LEFT: ", limit), call([limit], callback), limit]);
  }

  function rightLimit(viewSize, contentSize, panLeftX, scale, minZoom, callback) {
    var limit = cond(lessThan(multiply(contentSize.width, scale), viewSize.width), panLeftX, add(sub(panLeftX, multiply(contentSize.width, scale)), viewSize.width));
    return block([debug("RIGHT: ", limit), call([limit], callback), limit]);
  }
},2166,[646,5,2165,462,1]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[12]);

  var _hrImageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _pageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var HrContainer = function (_React$Component) {
    (0, _inherits2.default)(HrContainer, _React$Component);

    var _super = _createSuper(HrContainer);

    function HrContainer(props) {
      var _this;

      (0, _classCallCheck2.default)(this, HrContainer);
      _this = _super.call(this, props);
      var item = props.item,
          showAll = props.showAll,
          hidden = props.hidden;
      var boxStyle = item.boxStyle;
      var width = boxStyle.width,
          height = boxStyle.height;

      if (showAll) {
        width = 0;
        height = 0;
      }

      _this.graphLoaded = false;
      _this.textLoaded = false;
      _this.graphError = false;
      _this.textError = false;
      _this.onGraphLoaded = _this._onGraphLoaded.bind((0, _assertThisInitialized2.default)(_this));
      _this.onGraphError = _this._onGraphError.bind((0, _assertThisInitialized2.default)(_this));
      _this.onTextLoaded = _this._onTextLoaded.bind((0, _assertThisInitialized2.default)(_this));
      _this.onTextError = _this._onTextError.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        width: width,
        height: height,
        hidden: hidden
      };
      return _this;
    }

    (0, _createClass2.default)(HrContainer, [{
      key: "shouldComponentUpdate",
      value: function shouldComponentUpdate(nextProps, nextState) {
        return !_$$_REQUIRE(_dependencyMap[15]).JSUtils.areEqualShallow(nextProps, this.props) || !_$$_REQUIRE(_dependencyMap[15]).JSUtils.areEqualShallow(nextState, this.state);
      }
    }, {
      key: "_checkLoaded",
      value: function _checkLoaded() {
        var _this$props = this.props,
            showAll = _this$props.showAll,
            item = _this$props.item;

        if (showAll && (this.graphLoaded || this.graphError) && (this.textLoaded || this.textError)) {
          var boxStyle = item.boxStyle;
          var width = boxStyle.width,
              height = boxStyle.height;
          this.setState({
            width: width,
            height: height
          });
        }
      }
    }, {
      key: "_onGraphLoaded",
      value: function _onGraphLoaded() {
        if (!this.graphLoaded) {
          this.graphLoaded = true;

          this._checkLoaded();
        }

        var onGraphLoaded = this.props.onGraphLoaded;

        if (onGraphLoaded) {
          onGraphLoaded();
        }
      }
    }, {
      key: "_onGraphError",
      value: function _onGraphError() {
        if (!this.graphError) {
          this.graphError = true;

          this._checkLoaded();
        }

        var onGraphError = this.props.onGraphError;

        if (onGraphError) {
          onGraphError();
        }
      }
    }, {
      key: "_onTextLoaded",
      value: function _onTextLoaded() {
        if (!this.textLoaded) {
          this.textLoaded = true;

          this._checkLoaded();
        }

        var onTextLoaded = this.props.onTextLoaded;

        if (onTextLoaded) {
          onTextLoaded();
        }
      }
    }, {
      key: "_onTextError",
      value: function _onTextError() {
        if (!this.textError) {
          this.textError = true;

          this._checkLoaded();
        }

        var onTextError = this.props.onTextError;

        if (onTextError) {
          onTextError();
        }
      }
    }, {
      key: "show",
      value: function show() {
        var hidden = this.state.hidden;

        if (hidden) {
          this.setState({
            hidden: false
          });
        }
      }
    }, {
      key: "hide",
      value: function hide() {
        var hidden = this.state.hidden;

        if (!hidden) {
          this.setState({
            hidden: true
          });
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props2 = this.props,
            item = _this$props2.item,
            style = _this$props2.style,
            showAll = _this$props2.showAll,
            showOnlyGraph = _this$props2.showOnlyGraph,
            showOnlyText = _this$props2.showOnlyText,
            hiddenProp = _this$props2.hidden,
            rest = (0, _objectWithoutProperties2.default)(_this$props2, ["item", "style", "showAll", "showOnlyGraph", "showOnlyText", "hidden"]);
        var _this$state = this.state,
            width = _this$state.width,
            height = _this$state.height,
            hidden = _this$state.hidden;

        if (hidden) {
          return null;
        }

        var styleForHrBox = {
          position: "absolute",
          width: width,
          height: height
        };
        var containerStyle = styleForHrBox;

        if (style) {
          if (typeof style[Symbol.iterator] === "function") {
            containerStyle = [].concat((0, _toConsumableArray2.default)(style), [{
              width: width,
              height: height
            }]);
          } else {
            containerStyle = [style, {
              width: width,
              height: height
            }];
          }
        }

        containerStyle = _pageUtils.default.traverseStyleForRTL(containerStyle);
        return _react.default.createElement(_reactNative.View, {
          key: item.key + "_hrcontainer",
          style: containerStyle
        }, showAll || showOnlyGraph ? _react.default.createElement(_hrImageComponent.default, (0, _extends2.default)({
          key: "graph"
        }, rest, {
          style: styleForHrBox,
          path: item.path,
          onLoadEnd: this.onGraphLoaded,
          onError: this.onGraphError
        })) : null, showAll || showOnlyText ? _react.default.createElement(_hrImageComponent.default, (0, _extends2.default)({
          key: "text"
        }, rest, {
          style: styleForHrBox,
          path: item.pathText,
          graph: false,
          onLoadEnd: this.onTextLoaded,
          onError: this.onTextError
        })) : null);
      }
    }]);
    return HrContainer;
  }(_react.default.Component);

  exports.default = HrContainer;
  HrContainer.propTypes = {
    item: _propTypes.default.object.isRequired,
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]).isRequired,
    showOnlyGraph: _propTypes.default.bool,
    showOnlyText: _propTypes.default.bool,
    showAll: _propTypes.default.bool,
    onGraphLoaded: _propTypes.default.func,
    onGraphError: _propTypes.default.func,
    onTextLoaded: _propTypes.default.func,
    onTextError: _propTypes.default.func,
    hidden: _propTypes.default.bool
  };
  HrContainer.defaultProps = {
    showOnlyGraph: true,
    showOnlyText: false,
    showAll: false,
    hidden: false
  };
},2167,[5,6,21,108,7,8,15,12,14,16,17,201,28,2168,715,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.HrUtility = exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[12]);

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _EPaperImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _imageComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[15]));

  var _newsmemoryUtils = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[16]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _NewsmemoryDatabasesManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var HrImageIos = function (_React$Component) {
    (0, _inherits2.default)(HrImageIos, _React$Component);

    var _super = _createSuper(HrImageIos);

    function HrImageIos(props) {
      var _this;

      (0, _classCallCheck2.default)(this, HrImageIos);
      _this = _super.call(this, props);
      _this.attempt = 0;
      _this.checkZip = false;
      _this.downloadCallback = _this._downloadCallback.bind((0, _assertThisInitialized2.default)(_this));
      _this.checkZipFile = _this._checkZipFile.bind((0, _assertThisInitialized2.default)(_this));
      _this.getImageFromZip = _this._getImageFromZip.bind((0, _assertThisInitialized2.default)(_this));
      _this.askResourceDownload = _this._askResourceDownload.bind((0, _assertThisInitialized2.default)(_this));
      var path = props.path,
          zipGraphArchivePath = props.zipGraphArchivePath;
      _this.state = {
        path: path,
        zipGraphArchivePath: zipGraphArchivePath,
        base64: undefined,
        imageStyle: _this._getImageStyleFromFile()
      };
      return _this;
    }

    (0, _createClass2.default)(HrImageIos, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this.mounted = true;
      }
    }, {
      key: "shouldComponentUpdate",
      value: function shouldComponentUpdate(nextProps, nextState) {
        var _this$props = this.props,
            style = _this$props.style,
            useImageDimensions = _this$props.useImageDimensions;
        var _this$state = this.state,
            path = _this$state.path,
            zipGraphArchivePath = _this$state.zipGraphArchivePath,
            base64 = _this$state.base64,
            imageStyle = _this$state.imageStyle;
        return style !== nextProps.style || useImageDimensions !== nextProps.useImageDimensions || path !== nextState.path || base64 !== nextState.base64 || zipGraphArchivePath !== nextState.zipGraphArchivePath || imageStyle !== nextState.imageStyle;
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this.mounted = false;

        _$$_REQUIRE(_dependencyMap[21]).EventRegister.rm(this.highResQueueRestart);
      }
    }, {
      key: "_askResourceDownload",
      value: function _askResourceDownload() {
        var _this2 = this;

        var _this$props2, newspaper, issue, edition, page, pageId, boxId, xmlId, graph, onError, path, imagePath, _await$getImageSize, width, height, relativePathToImage, imageName, image;

        return _regenerator.default.async(function _askResourceDownload$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _this$props2 = this.props, newspaper = _this$props2.newspaper, issue = _this$props2.issue, edition = _this$props2.edition, page = _this$props2.page, pageId = _this$props2.pageId, boxId = _this$props2.boxId, xmlId = _this$props2.xmlId, graph = _this$props2.graph, onError = _this$props2.onError;
                path = this.state.path;

                if (path) {
                  _context2.next = 26;
                  break;
                }

                imagePath = _NewsmemoryDatabasesManager.default.getNewspaperIssueDirectory(newspaper.getPaper(), issue) + page.getFilename() + "/" + _newsmemoryUtils.default.getHrImageName(xmlId, boxId, graph);
                _context2.next = 6;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.exists(imagePath));

              case 6:
                if (!_context2.sent) {
                  _context2.next = 25;
                  break;
                }

                _context2.next = 9;
                return _regenerator.default.awrap((0, _imageComponent.getImageSize)("file://" + imagePath));

              case 9:
                _await$getImageSize = _context2.sent;
                width = _await$getImageSize.width;
                height = _await$getImageSize.height;
                relativePathToImage = imagePath.replace(_tecnaviaFileUtils.default.getNewsmemoryBaseDirectory(), "./");
                imageName = _tecnaviaFileUtils.default.getFilename(imagePath);
                image = new _EPaperImage.default();
                image.setPageId(pageId);
                image.setName(imageName);
                image.setTypeByName(imageName);
                image.setBase64(relativePathToImage);
                image.setWidth(width);
                image.setHeight(height);
                page.addImage(image);
                this.downloadCallback(image);
                _context2.next = 26;
                break;

              case 25:
                if (_$$_REQUIRE(_dependencyMap[22]).NetworkUtils.isOnline()) {
                  if (!this.loading) {
                    this.loading = true;

                    if (this.highResQueueRestart) {
                      _$$_REQUIRE(_dependencyMap[21]).EventRegister.rm(this.highResQueueRestart);
                    }

                    this.highResQueueRestart = _$$_REQUIRE(_dependencyMap[21]).EventRegister.on(_events.default.NEWSMEMORY_RESTART_HIGH_RES_QUEUE, function _callee() {
                      return _regenerator.default.async(function _callee$(_context) {
                        while (1) {
                          switch (_context.prev = _context.next) {
                            case 0:
                              if (!_this2.loading) {
                                _context.next = 4;
                                break;
                              }

                              _this2.loading = false;
                              _context.next = 4;
                              return _regenerator.default.awrap(_this2.askResourceDownload());

                            case 4:
                            case "end":
                              return _context.stop();
                          }
                        }
                      }, null, null, null, Promise);
                    });

                    _$$_REQUIRE(_dependencyMap[21]).EventRegister.emit(_events.default.NEWSMEMORY_REQUEST_DOWNLOAD_HR, {
                      issue: issue,
                      edition: edition,
                      pageId: pageId,
                      boxId: boxId,
                      xmlId: xmlId,
                      graph: graph,
                      callback: this.downloadCallback
                    });
                  }
                } else if (onError) {
                  onError();
                }

              case 26:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_checkZipFile",
      value: function _checkZipFile() {
        var path = this.state.path;
        var zipGraphArchivePath = this.state.zipGraphArchivePath;

        if (path && !zipGraphArchivePath) {
          zipGraphArchivePath = _$$_REQUIRE(_dependencyMap[22]).StringUtils.getParentPath(path) + "/" + _newsmemoryUtils.ARCHIVE_ZIP_GRAPH_FILENAME;
        }

        this.setState({
          path: undefined,
          zipGraphArchivePath: zipGraphArchivePath
        });
      }
    }, {
      key: "_downloadCallback",
      value: function _downloadCallback(image) {
        var _this3 = this;

        if (this.mounted && this.loading && image) {
          this.setState({
            path: image.getBase64(),
            imageStyle: this._getImageStyleFromFile()
          }, function () {
            _this3.loading = false;
          });
        }
      }
    }, {
      key: "_getImageFromZip",
      value: function _getImageFromZip() {
        var _this$props3, xmlId, boxId, graph, useImageDimensions, zipGraphArchivePath, hrImageName, baseLocalPath, base64, _await$getImageSize2, width, height;

        return _regenerator.default.async(function _getImageFromZip$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _this$props3 = this.props, xmlId = _this$props3.xmlId, boxId = _this$props3.boxId, graph = _this$props3.graph, useImageDimensions = _this$props3.useImageDimensions;
                zipGraphArchivePath = this.state.zipGraphArchivePath;
                hrImageName = _newsmemoryUtils.default.getHrImageName(xmlId, boxId, graph);
                baseLocalPath = _tecnaviaFileUtils.default.getNewsmemoryBaseDirectory();
                _context3.prev = 4;
                _context3.next = 7;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[22]).FileUtils.zipEntryToBase64("" + baseLocalPath + zipGraphArchivePath, hrImageName));

              case 7:
                base64 = _context3.sent;

                if (!useImageDimensions) {
                  _context3.next = 17;
                  break;
                }

                _context3.next = 11;
                return _regenerator.default.awrap((0, _imageComponent.getImageSize)((0, _imageComponent.getImageBase64String)(base64)));

              case 11:
                _await$getImageSize2 = _context3.sent;
                width = _await$getImageSize2.width;
                height = _await$getImageSize2.height;

                if (width > 0 && height > 0) {
                  this.setState({
                    base64: base64,
                    imageStyle: {
                      width: width,
                      height: height
                    }
                  });
                } else {
                  this.setState({
                    base64: base64
                  });
                }

                _context3.next = 18;
                break;

              case 17:
                this.setState({
                  base64: base64
                });

              case 18:
                _context3.next = 23;
                break;

              case 20:
                _context3.prev = 20;
                _context3.t0 = _context3["catch"](4);
                this.setState({
                  path: undefined,
                  zipGraphArchivePath: undefined
                });

              case 23:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, [[4, 20]], Promise);
      }
    }, {
      key: "_getImageStyleFromFile",
      value: function _getImageStyleFromFile() {
        var _this$props4 = this.props,
            useImageDimensions = _this$props4.useImageDimensions,
            page = _this$props4.page,
            xmlId = _this$props4.xmlId,
            boxId = _this$props4.boxId,
            graph = _this$props4.graph;

        if (useImageDimensions && page) {
          var hrImage = _newsmemoryUtils.default.getHrImageByBox(page, _newsmemoryUtils.default.getHrImageName(xmlId, boxId, graph));

          if (hrImage) {
            return {
              width: hrImage.getWidth(),
              height: hrImage.getHeight()
            };
          }
        }

        return {};
      }
    }, {
      key: "_getDebugComponent",
      value: function _getDebugComponent() {
        var _this$props5 = this.props,
            useImageDimensions = _this$props5.useImageDimensions,
            style = _this$props5.style;
        var imageStyle = this.state.imageStyle;
        return global.isLayoutDebug && useImageDimensions ? _react.default.createElement(_reactNative.View, {
          style: [{
            position: "absolute",
            borderWidth: 1,
            borderColor: "#F47220",
            zIndex: 50
          }, (0, _extends2.default)({}, style), (0, _extends2.default)({}, imageStyle)]
        }) : null;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props6 = this.props,
            style = _this$props6.style,
            onError = _this$props6.onError,
            rest = (0, _objectWithoutProperties2.default)(_this$props6, ["style", "onError"]);
        var _this$state2 = this.state,
            path = _this$state2.path,
            zipGraphArchivePath = _this$state2.zipGraphArchivePath,
            base64 = _this$state2.base64,
            imageStyle = _this$state2.imageStyle;
        var commonProps = {
          style: [style, imageStyle],
          resizeMode: "stretch",
          forceFastComponent: true
        };

        if (path) {
          var baseLocalPath = _tecnaviaFileUtils.default.getNewsmemoryBaseDirectory();

          return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_imageComponent.default, (0, _extends2.default)({}, commonProps, {
            source: {
              uri: "file://" + baseLocalPath + path,
              cache: "web"
            },
            onError: this.checkZipFile,
            accessibilityLabel: "" + baseLocalPath + path
          }, rest)), this._getDebugComponent());
        }

        if (zipGraphArchivePath) {
          if (base64) {
            return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_imageComponent.default, (0, _extends2.default)({}, commonProps, {
              source: {
                uri: (0, _imageComponent.getImageBase64String)(base64),
                cache: "web"
              },
              accessibilityLabel: base64,
              onError: onError
            }, rest)), this._getDebugComponent());
          }

          if (!this.checkZip) {
            this.checkZip = true;
            this.getImageFromZip();
            return null;
          }
        }

        this.askResourceDownload();
        return null;
      }
    }]);
    return HrImageIos;
  }(_react.default.Component);

  exports.default = HrImageIos;
  HrImageIos.propTypes = (0, _extends2.default)({
    newspaper: _propTypes.default.instanceOf(_NewspaperIssue.default).isRequired,
    issue: _propTypes.default.string.isRequired,
    edition: _propTypes.default.string.isRequired,
    page: _propTypes.default.instanceOf(_Page.default).isRequired,
    pageId: _propTypes.default.number.isRequired,
    boxId: _propTypes.default.number.isRequired,
    xmlId: _propTypes.default.number.isRequired,
    useImageDimensions: _propTypes.default.bool.isRequired,
    path: _propTypes.default.string,
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array]),
    graph: _propTypes.default.bool,
    zipGraphArchivePath: _propTypes.default.string,
    onLoaded: _propTypes.default.func,
    onError: _propTypes.default.func
  }, _reactNative.ImagePropsBase);
  HrImageIos.defaultProps = {
    graph: true
  };

  var HrUtility = function () {
    function HrUtility() {
      (0, _classCallCheck2.default)(this, HrUtility);
    }

    (0, _createClass2.default)(HrUtility, null, [{
      key: "pauseQueue",
      value: function pauseQueue() {}
    }, {
      key: "resumeQueue",
      value: function resumeQueue() {}
    }, {
      key: "clearQueue",
      value: function clearQueue() {}
    }, {
      key: "setPoolSize",
      value: function setPoolSize() {}
    }]);
    return HrUtility;
  }();

  exports.HrUtility = HrUtility;
},2168,[5,80,108,6,7,8,15,12,14,16,17,201,28,460,587,588,603,714,638,710,574,572,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _pageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _newsmemoryExtraUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _EPaperArticle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PageExtra = function (_React$PureComponent) {
    (0, _inherits2.default)(PageExtra, _React$PureComponent);

    var _super = _createSuper(PageExtra);

    function PageExtra(props) {
      var _this;

      (0, _classCallCheck2.default)(this, PageExtra);
      _this = _super.call(this, props);

      var _global$getActivePSet = global.getActivePSetup(),
          extraLinkColor = _global$getActivePSet.extraLinkColor,
          urlType = _global$getActivePSet.urlType;

      var _StringUtils$analyzeR = _$$_REQUIRE(_dependencyMap[17]).StringUtils.analyzeRGBAColor(extraLinkColor),
          red = _StringUtils$analyzeR.red,
          green = _StringUtils$analyzeR.green,
          blue = _StringUtils$analyzeR.blue,
          alpha = _StringUtils$analyzeR.alpha;

      _this.backgroundColor = "rgba(" + red + "," + green + "," + blue + ",1)";
      _this.alpha = alpha;
      _this.opacity = new _reactNative.Animated.Value(alpha);
      _this.fadeExtra = _this._fadeExtra.bind((0, _assertThisInitialized2.default)(_this));
      _this.onExtraPress = _this._onExtraPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.highlight = _this._highlight.bind((0, _assertThisInitialized2.default)(_this));
      _this.toggle = _this._toggle.bind((0, _assertThisInitialized2.default)(_this));
      _this.extra = [];
      _this.animationFade = undefined;
      _this.state = {
        urlType: urlType,
        hidden: props.hidden
      };
      return _this;
    }

    (0, _createClass2.default)(PageExtra, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        var _this$props = this.props,
            page = _this$props.page,
            onLoaded = _this$props.onLoaded;
        this.onExtraShow = _$$_REQUIRE(_dependencyMap[18]).EventRegister.on(_events.default.NEWSMEMORY_SHOW_EXTRA, function (_ref) {
          var eventPage = _ref.page;

          if (_pageUtils.default.comparePages(page, eventPage)) {
            _this2.highlight();
          }
        });
        this.onExtraHide = _$$_REQUIRE(_dependencyMap[18]).EventRegister.on(_events.default.NEWSMEMORY_HIDE_EXTRA, function (_ref2) {
          var eventPage = _ref2.page;

          var _global$getActivePSet2 = global.getActivePSetup(),
              urlType = _global$getActivePSet2.urlType;

          var currentUrlType = _this2.state.urlType;

          if (_pageUtils.default.comparePages(page, eventPage) && currentUrlType !== _$$_REQUIRE(_dependencyMap[19]).URL_TYPES.UNDERLINE && urlType === _$$_REQUIRE(_dependencyMap[19]).URL_TYPES.UNDERLINE) {
            _this2.setState({
              urlType: _$$_REQUIRE(_dependencyMap[19]).URL_TYPES.UNDERLINE
            });
          }
        });

        if (onLoaded) {
          onLoaded();
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[18]).EventRegister.rm(this.onExtraShow);

        _$$_REQUIRE(_dependencyMap[18]).EventRegister.rm(this.onExtraHide);
      }
    }, {
      key: "_onExtraPress",
      value: function _onExtraPress(extraType, extraContent) {
        return _newsmemoryExtraUtils.default.onExtraPress(extraType, extraContent, this.props);
      }
    }, {
      key: "_fadeExtra",
      value: function _fadeExtra() {
        var _this3 = this;

        var urlType = this.state.urlType;

        if (urlType !== _$$_REQUIRE(_dependencyMap[19]).URL_TYPES.UNDERLINE) {
          var _global$getActivePSet3 = global.getActivePSetup(),
              previewHighlightDurationSeconds = _global$getActivePSet3.previewHighlightDurationSeconds;

          var duration = previewHighlightDurationSeconds * 1000;
          this.opacity.setValue(this.alpha);
          setTimeout(function () {
            _this3.animationFade = _reactNative.Animated.timing(_this3.opacity, {
              toValue: 0,
              useNativeDriver: true,
              duration: duration
            }).start(function (_ref3) {
              var finished = _ref3.finished;
              _this3.animationFade = undefined;

              if (finished && urlType !== _$$_REQUIRE(_dependencyMap[19]).URL_TYPES.UNDERLINE) {
                _this3.setState({
                  urlType: _$$_REQUIRE(_dependencyMap[19]).URL_TYPES.UNDERLINE
                });
              }
            });
          }, duration);
        }
      }
    }, {
      key: "hasExtraForEvent",
      value: function hasExtraForEvent(event, defaultCallback) {
        var extras = this._generateExtraViews(true);

        return _newsmemoryExtraUtils.default.hasExtraForEvent(event, extras, this.onExtraPress, defaultCallback);
      }
    }, {
      key: "_generateExtraViews",
      value: function _generateExtraViews() {
        var skipView = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
        var urlType = this.state.urlType;
        var params = (0, _extends2.default)({}, this.props, {
          urlType: urlType,
          skipView: skipView,
          backgroundColor: this.backgroundColor,
          opacity: this.opacity
        });
        return _newsmemoryExtraUtils.default.generateExtraViews(params);
      }
    }, {
      key: "show",
      value: function show() {
        var hidden = this.state.hidden;

        if (hidden) {
          this.setState({
            hidden: false
          });
        }
      }
    }, {
      key: "hide",
      value: function hide() {
        var hidden = this.state.hidden;

        if (!hidden) {
          this.setState({
            hidden: true
          });
        }
      }
    }, {
      key: "_highlight",
      value: function _highlight(force) {
        var _this$state = this.state,
            urlType = _this$state.urlType,
            hidden = _this$state.hidden;

        if (urlType === _$$_REQUIRE(_dependencyMap[19]).URL_TYPES.UNDERLINE && !hidden || force) {
          this.setState({
            urlType: _$$_REQUIRE(_dependencyMap[19]).URL_TYPES.SQUARED,
            hidden: false
          }, this.fadeExtra);
        }
      }
    }, {
      key: "_toggle",
      value: function _toggle(highlight) {
        if (this.animationFade) {
          this.animationFade.stop();
          this.opacity.setValue(this.alpha);
        }

        var hidden = this.state.hidden;

        if (hidden) {
          if (highlight) {
            this.highlight(true);
          } else {
            this.show();
          }
        } else {
          this.hide();
        }
      }
    }, {
      key: "hasExtras",
      value: function hasExtras() {
        return this.extras.length > 0;
      }
    }, {
      key: "render",
      value: function render() {
        var style = this.props.style;
        this.extras = this._generateExtraViews();
        var hidden = this.state.hidden;

        if (hidden) {
          return null;
        }

        return _react.default.createElement(_reactNative.View, {
          style: style
        }, this.extras.map(function (_ref4) {
          var Component = _ref4.Component;
          return Component;
        }));
      }
    }]);
    return PageExtra;
  }(_react.default.PureComponent);

  PageExtra.propTypes = {
    edition: _propTypes.default.instanceOf(_Edition.default).isRequired,
    page: _propTypes.default.instanceOf(_Page.default).isRequired,
    size: _propTypes.default.shape({
      width: _propTypes.default.number,
      height: _propTypes.default.number
    }).isRequired,
    getCurrentArticle: _propTypes.default.func.isRequired,
    article: _propTypes.default.instanceOf(_EPaperArticle.default),
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array]),
    minZoom: _propTypes.default.number,
    zoom: _propTypes.default.number,
    offset: _propTypes.default.object,
    navigation: _propTypes.default.shape({
      navigate: _propTypes.default.func
    }),
    hidden: _propTypes.default.bool,
    onLoaded: _propTypes.default.func
  };
  PageExtra.defaultProps = {
    minZoom: 1,
    offset: {
      offsetX: 0,
      offsetY: 0
    },
    hidden: false
  };
  var _default = PageExtra;
  exports.default = _default;
},2169,[5,6,7,8,15,12,14,16,17,28,201,638,460,644,715,2170,640,462,572,717]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.ENRICHMENT_DEFAULT_SIZE = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  var _reactNativeMail = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _ApplicationManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _Box = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _EPaperArticle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _ExtraLinks = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[12]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var parser = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[16]));

  var _tecnaviaPlatformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _pageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _NewsmemoryAJAX = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var ENRICHMENT_DEFAULT_SIZE = 50;
  exports.ENRICHMENT_DEFAULT_SIZE = ENRICHMENT_DEFAULT_SIZE;

  var NewsmemoryExtraUtils = function () {
    function NewsmemoryExtraUtils() {
      (0, _classCallCheck2.default)(this, NewsmemoryExtraUtils);
    }

    (0, _createClass2.default)(NewsmemoryExtraUtils, null, [{
      key: "getExtraIconByType",
      value: function getExtraIconByType(type) {
        switch (type) {
          case _ExtraLinks.PageExtraType.VIDEO:
          case _ExtraLinks.PageExtraType.BRIGHT_COVE:
          case _ExtraLinks.PageExtraType.VIDEO_WEB:
          case _ExtraLinks.PageExtraType.YOUTUBE:
            return _ApplicationManager.default.getDefaultIconsDirectory() + "/cinema2.png";

          case _ExtraLinks.PageExtraType.GALLERY:
            return _ApplicationManager.default.getDefaultIconsDirectory() + "/camera.png";

          case _ExtraLinks.PageExtraType.EXTERNAL_URL:
            return _ApplicationManager.default.getDefaultIconsDirectory() + "/go.png";

          case _ExtraLinks.PageExtraType.URL:
          default:
            return undefined;
        }
      }
    }, {
      key: "getExtraImageUrl",
      value: function getExtraImageUrl(link) {
        var type = link.getType();
        var customImageUrl = link.getImageURL();
        var imageUrl = NewsmemoryExtraUtils.getExtraIconByType(type);

        if (imageUrl && _$$_REQUIRE(_dependencyMap[22]).StringUtils.isUrl(customImageUrl)) {
          imageUrl = customImageUrl;
        }

        return imageUrl;
      }
    }, {
      key: "hasExtraForEvent",
      value: function hasExtraForEvent(event, extras, onExtraPress, defaultCallback) {
        var x = event.x,
            y = event.y,
            scale = event.scale,
            margin = event.margin;
        var containerMargin = margin || 0;
        var p = {
          x: x / scale - containerMargin,
          y: y / scale - containerMargin
        };
        var extra = extras.find(function (_ref) {
          var style = _ref.style,
              link = _ref.link;
          var icon = NewsmemoryExtraUtils.getExtraIconByType(link.getType());

          if (_$$_REQUIRE(_dependencyMap[22]).PlatformUtils.isAndroid() && icon) {
            style.width /= scale;
            style.height /= scale;
          }

          return _$$_REQUIRE(_dependencyMap[22]).JSUtils.rectContainsPoint(style, p);
        });

        if (extra) {
          if (typeof onExtraPress === "function") {
            var link = extra.link;
            var type = link.getType();
            var handled = onExtraPress(type, link.getContent());

            if (!handled && typeof defaultCallback === "function") {
              defaultCallback(type);
            }
          }

          return true;
        }

        return false;
      }
    }, {
      key: "canShowExtras",
      value: function canShowExtras(type) {
        var _global$getActivePSet = global.getActivePSetup(),
            showExtrasToLoggedUsersOnly = _global$getActivePSet.showExtrasToLoggedUsersOnly,
            loginStatus = _global$getActivePSet.loginStatus;

        if (showExtrasToLoggedUsersOnly && (type === _ExtraLinks.PageExtraType.URL || type === _ExtraLinks.PageExtraType.EXTERNAL_URL || type === _ExtraLinks.PageExtraType.MAIL || type === _ExtraLinks.PageExtraType.VIDEO || type === _ExtraLinks.PageExtraType.VIDEO_WEB || type === _ExtraLinks.PageExtraType.BRIGHT_COVE || type === _ExtraLinks.PageExtraType.YOUTUBE || type === _ExtraLinks.PageExtraType.GALLERY)) {
          return loginStatus && loginStatus.isLoggedIn();
        }

        return true;
      }
    }, {
      key: "getExtrasForArticle",
      value: function getExtrasForArticle(page, article) {
        var extras = page.getExtralinks();
        return extras.filter(function (extra) {
          var intersect = false;

          var _extra$getCoordinates = extra.getCoordinates(),
              start = _extra$getCoordinates.left,
              top = _extra$getCoordinates.top;

          var _extra$getSize = extra.getSize(),
              width = _extra$getSize.width,
              height = _extra$getSize.height;

          var _extra$getPdfSize = extra.getPdfSize(),
              pdfHeight = _extra$getPdfSize.height;

          var imageUrl = NewsmemoryExtraUtils.getExtraImageUrl(extra);

          if (imageUrl || extra.getType() === _ExtraLinks.PageExtraType.OPEN_ARTICLE) {
            top = pdfHeight - top;
            width = ENRICHMENT_DEFAULT_SIZE;
            height = ENRICHMENT_DEFAULT_SIZE;
          }

          var extraRect = {
            start: start,
            top: top,
            width: width,
            height: height
          };
          var boxes = article.getBoxes();

          for (var i = 0; i < boxes.length && !intersect; i++) {
            var box = boxes[i];

            if (box) {
              var intersectArea = _$$_REQUIRE(_dependencyMap[22]).JSUtils.intersectArea(extraRect, {
                start: box.getLeft(),
                top: box.getTop(),
                width: box.getWidth(),
                height: box.getHeight()
              });

              intersect = intersectArea >= width * height * 0.25;
            }
          }

          return intersect;
        });
      }
    }, {
      key: "navigate",
      value: function navigate(route, params) {
        var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
        var navigation = props.navigation;

        if (navigation) {
          navigation.navigate(route, params);
        } else {
          _NavigationService.default.main.navigate(route, params);
        }
      }
    }, {
      key: "onExtraPress",
      value: function onExtraPress(extraType, extraContent, props) {
        var handled = true;
        var edition = props.edition,
            page = props.page;

        var content = _$$_REQUIRE(_dependencyMap[22]).StringUtils.decodeURIComponent(extraContent);

        var type = extraType;

        if (content.includes("mailto:")) {
          type = _ExtraLinks.PageExtraType.MAIL;
          content = content.replace("mailto:", "");
        } else if (content.includes("tel:")) {
          type = _ExtraLinks.PageExtraType.PHONE;
        }

        switch (type) {
          case _ExtraLinks.PageExtraType.OPEN_APP:
            _tecnaviaPlatformUtils.default.openURL(_$$_REQUIRE(_dependencyMap[22]).StringUtils.decodeHTML(content));

            break;

          case _ExtraLinks.PageExtraType.OPEN_ISSUE:
          case _ExtraLinks.PageExtraType.OPEN_ARTICLE:
          case _ExtraLinks.PageExtraType.URL:
            var _StringUtils$segmentU = _$$_REQUIRE(_dependencyMap[22]).StringUtils.segmentUrl(content),
                getParams = _StringUtils$segmentU.getParams;

            var mapped = Object.keys(getParams).reduce(function (result, key) {
              if (getParams[key] !== undefined) {
                result[_$$_REQUIRE(_dependencyMap[22]).StringUtils.decodeHTML(key)] = _$$_REQUIRE(_dependencyMap[22]).StringUtils.decodeHTML(getParams[key]);
              }

              return result;
            }, {});

            if (_$$_REQUIRE(_dependencyMap[22]).JSUtils.hasProperty(mapped, "openIssue")) {
              if (mapped.pSetup) {
                mapped.machine = mapped.machine || global.getAppServer();
              }

              global.setNewsmemoryStartupParams(mapped);

              _NavigationService.default.restart();
            } else if (_$$_REQUIRE(_dependencyMap[22]).JSUtils.hasProperty(mapped, "openArticle")) {
              if (!_$$_REQUIRE(_dependencyMap[22]).JSUtils.isEmpty(mapped.artid) && !_$$_REQUIRE(_dependencyMap[22]).JSUtils.isEmpty(mapped.goTo)) {
                if (mapped.pSetup) {
                  mapped.machine = mapped.machine || global.getAppServer();
                }

                global.setNewsmemoryStartupParams(mapped);

                _NavigationService.default.restart();
              } else {
                handled = false;
              }
            } else {
              NewsmemoryExtraUtils.navigate("WebScreen", {
                url: content
              }, props);
              (0, _$$_REQUIRE(_dependencyMap[23]).sendNewsmemoryExtraUrl)(content, edition, page);
            }

            break;

          case _ExtraLinks.PageExtraType.EXTERNAL_URL:
            NewsmemoryExtraUtils.navigate("WebScreen", {
              url: content
            }, props);
            (0, _$$_REQUIRE(_dependencyMap[23]).sendNewsmemoryExtraUrl)(content, edition, page);
            break;

          case _ExtraLinks.PageExtraType.MAIL:
            _reactNativeMail.default.mail({
              subject: "",
              recipients: [content],
              body: "",
              isHTML: false
            }, function () {});

            break;

          case _ExtraLinks.PageExtraType.VIDEO:
            _$$_REQUIRE(_dependencyMap[24]).LoadingOverlay.show({
              id: "video"
            });

            _Api.default.head(content).then(function (_ref2) {
              var request = _ref2.request;

              try {
                _tecnaviaPlatformUtils.default.openURL(request.responseURL);

                (0, _$$_REQUIRE(_dependencyMap[23]).sendNewsmemoryExtraVideo)(request.responseURL, edition, page);
              } catch (e) {}

              _$$_REQUIRE(_dependencyMap[24]).LoadingOverlay.hide({
                id: "video"
              });
            });

            break;

          case _ExtraLinks.PageExtraType.VIDEO_WEB:
          case _ExtraLinks.PageExtraType.BRIGHT_COVE:
          case _ExtraLinks.PageExtraType.YOUTUBE:
            NewsmemoryExtraUtils.navigate("WebScreen", {
              url: _NewsmemoryAJAX.default.getVideoURL(content),
              hideLogo: true,
              disableBrowserButton: true
            }, props);
            (0, _$$_REQUIRE(_dependencyMap[23]).sendNewsmemoryExtraYoutube)(content, edition, page);
            break;

          case _ExtraLinks.PageExtraType.GALLERY:
            _$$_REQUIRE(_dependencyMap[24]).LoadingOverlay.show({
              id: "gallery"
            });

            _Api.default.ajax(_$$_REQUIRE(_dependencyMap[22]).StringUtils.convertNewsmemoryDomainToHTTPS(content)).then(function (_ref3) {
              var data = _ref3.data;
              var parseGallery = parser.newsmemoryGallery(data);

              try {
                if (parseGallery) {
                  var params = {
                    items: parseGallery,
                    caller: "epaper"
                  };

                  if (edition && page) {
                    params.edition = edition;
                    params.page = page;
                  }

                  NewsmemoryExtraUtils.navigate("GalleryScreen", params, props);
                }
              } catch (e) {}

              _$$_REQUIRE(_dependencyMap[24]).LoadingOverlay.hide({
                id: "gallery"
              });
            });

            break;

          case _ExtraLinks.PageExtraType.POINTER:
          case _ExtraLinks.PageExtraType.ADDON:
            handled = false;
            break;

          case _ExtraLinks.PageExtraType.PAGE:
            _$$_REQUIRE(_dependencyMap[25]).EventRegister.emit(_events.default.NEWSMEMORY_ON_EXTRA_GO_TO_PAGE_PRESS, {
              page: content
            });

            break;

          default:
            _tecnaviaPlatformUtils.default.openURL(content);

        }

        return handled;
      }
    }, {
      key: "getBoxStyle",
      value: function getBoxStyle(iconParentStyle, boxStyle, size, scale) {
        boxStyle.width = iconParentStyle.width || boxStyle.width * scale;
        boxStyle.height = iconParentStyle.height || boxStyle.height * scale;

        if (boxStyle.start < 0) {
          boxStyle.start = 0;
        } else if (boxStyle.start + boxStyle.width > size.width) {
          boxStyle.start = size.width - boxStyle.width;
        }

        if (boxStyle.top < 0) {
          boxStyle.top = 0;
        } else if (boxStyle.top + boxStyle.height > size.height) {
          boxStyle.top = size.height - boxStyle.height;
        }

        return boxStyle;
      }
    }, {
      key: "generateExtraViews",
      value: function generateExtraViews(params) {
        var page = params.page,
            article = params.article,
            size = params.size,
            pageSize = params.pageSize,
            zoom = params.zoom,
            minZoom = params.minZoom,
            viewOffset = params.offset,
            urlType = params.urlType,
            skipView = params.skipView,
            backgroundColor = params.backgroundColor,
            opacity = params.opacity,
            getCurrentArticle = params.getCurrentArticle;
        var extras = article ? NewsmemoryExtraUtils.getExtrasForArticle(page, article) : page.getExtralinks();

        var _global$getNewsmemory = global.getNewsmemoryConfig(),
            readModeEnabled = _global$getNewsmemory.readModeEnabled;

        if (article || zoom > 1 || !readModeEnabled) {
          extras = extras.filter(function (extra) {
            return extra.getType() !== _ExtraLinks.PageExtraType.OPEN_ARTICLE;
          });
        }

        var pdfOffset = page.getTotalOffset();
        var pdfOffsetX = pdfOffset.offsetX,
            pdfOffsetY = pdfOffset.offsetY;
        var offsetX = 0;
        var offsetY = 0;

        if (viewOffset) {
          offsetX = viewOffset.offsetX;
          offsetY = viewOffset.offsetY;
        }

        return extras.map(function (link, index) {
          var type = link.getType();

          var _link$getCoordinates = link.getCoordinates(),
              left = _link$getCoordinates.left,
              top = _link$getCoordinates.top;

          var _link$getPdfSize = link.getPdfSize(),
              width = _link$getPdfSize.width,
              height = _link$getPdfSize.height;

          var imageUrl = NewsmemoryExtraUtils.getExtraImageUrl(link);
          var factor = page.isDoubleTruck() ? 2 : 1;
          var reduceX = pageSize.width / width / factor || 1;
          var reduceY = pageSize.height / height || 1;
          var reduce = Math.max(reduceX, reduceY);
          var component = null;
          var boxStyle;

          if (imageUrl || type === _ExtraLinks.PageExtraType.OPEN_ARTICLE) {
            var enrichmentStyle = {
              width: ENRICHMENT_DEFAULT_SIZE,
              height: ENRICHMENT_DEFAULT_SIZE
            };
            boxStyle = (0, _extends2.default)({
              start: (left - offsetX - pdfOffsetX) * reduce || 0,
              top: (height - top - offsetY - pdfOffsetY) * reduce || 0
            }, enrichmentStyle);
            var scale = minZoom / zoom;
            var translate = ENRICHMENT_DEFAULT_SIZE * (1 - zoom) / 2;
            var baseParentStyle = {
              position: "absolute",
              justifyContent: "center",
              alignItems: "center"
            };

            var parentStyle = _$$_REQUIRE(_dependencyMap[26]).Css.getStyleObjByCssClasses(["newsmemory-page-extra-icon-parent", "newsmemory-article-extra-icon-parent"]);

            var style = _$$_REQUIRE(_dependencyMap[26]).Css.getStyleObjByCssClasses(["newsmemory-page-extra-icon", "newsmemory-page-extra-icon-" + type, "newsmemory-article-extra-icon", "newsmemory-article-extra-icon-" + type]);

            var imageStyle = (0, _extends2.default)({}, enrichmentStyle, {
              maxWidth: "100%",
              maxHeight: "100%"
            });
            var iconStyle = (0, _extends2.default)({
              fontSize: ENRICHMENT_DEFAULT_SIZE
            }, enrichmentStyle);

            if (_$$_REQUIRE(_dependencyMap[22]).PlatformUtils.isAndroid()) {
              boxStyle = NewsmemoryExtraUtils.getBoxStyle(parentStyle, boxStyle, size, 1);
              baseParentStyle.transform = [{
                scale: scale
              }, {
                translateX: translate
              }, {
                translateY: translate
              }, {
                perspective: 2000
              }];
            } else {
              if (parentStyle.width) {
                parentStyle.width *= scale;
              }

              if (parentStyle.height) {
                parentStyle.height *= scale;
              }

              if (parentStyle.borderWidth) {
                parentStyle.borderWidth *= scale;
              }

              boxStyle = NewsmemoryExtraUtils.getBoxStyle(parentStyle, boxStyle, size, scale);

              var library = _$$_REQUIRE(_dependencyMap[22]).CssUtils.getAttributeFromStyle("library", style);

              if (!library) {
                if (style.width) {
                  style.width *= scale;
                }

                if (style.height) {
                  style.height *= scale;
                }
              }

              imageStyle.width *= scale;
              imageStyle.height *= scale;
              iconStyle.transform = [{
                scale: scale
              }, {
                perspective: 2000
              }];
            }

            if (!skipView) {
              var boxComponent;

              var src = _$$_REQUIRE(_dependencyMap[22]).CssUtils.getAttributeFromStyle("src", style);

              if (imageUrl || !_$$_REQUIRE(_dependencyMap[22]).JSUtils.isEmpty(src)) {
                boxComponent = _react.default.createElement(_imageIconChooserComponent.default, {
                  key: index,
                  resizeMode: "contain",
                  resizeMethod: "resize",
                  source: {
                    uri: imageUrl
                  },
                  style: style,
                  iconStyle: iconStyle,
                  imageStyle: imageStyle
                });
              } else {
                var _global$getActivePSet2 = global.getActivePSetup(),
                    backgroundColorArticleToSelect = _global$getActivePSet2.backgroundColorArticleToSelect;

                var selectedBackgroundColor = _$$_REQUIRE(_dependencyMap[22]).StringUtils.parseColor(backgroundColorArticleToSelect, _$$_REQUIRE(_dependencyMap[22]).colors.articleHighlight);

                boxComponent = _react.default.createElement(OpenArticleExtra, {
                  index: index,
                  page: page,
                  link: link,
                  opacity: opacity,
                  backgroundColor: backgroundColor,
                  selectedBackgroundColor: selectedBackgroundColor,
                  style: style,
                  imageStyle: imageStyle,
                  getCurrentArticle: getCurrentArticle
                });
              }

              component = _react.default.createElement(_reactNative.Animated.View, {
                key: "page_extra_item_" + index,
                style: [_pageUtils.default.traverseStyleForRTL(boxStyle), baseParentStyle, parentStyle]
              }, boxComponent);
            }
          } else {
            var extraStyle = {};

            if (urlType === _$$_REQUIRE(_dependencyMap[27]).URL_TYPES.UNDERLINE) {
              extraStyle = {
                borderBottomWidth: 0.5,
                borderBottomColor: backgroundColor
              };
            } else if (urlType === _$$_REQUIRE(_dependencyMap[27]).URL_TYPES.SQUARED) {
              extraStyle = {
                backgroundColor: backgroundColor,
                opacity: opacity
              };
            } else if (urlType === _$$_REQUIRE(_dependencyMap[27]).URL_TYPES.ROUNDED) {
              extraStyle = {
                backgroundColor: backgroundColor,
                opacity: opacity,
                borderRadius: 25
              };
            }

            var _link$getSize = link.getSize(),
                linkWidth = _link$getSize.width,
                linkHeight = _link$getSize.height;

            boxStyle = {
              start: left * reduce - offsetX || 0,
              top: top * reduce - offsetY || 0,
              width: linkWidth * reduce,
              height: linkHeight * reduce
            };

            if (!skipView) {
              component = _react.default.createElement(_$$_REQUIRE(_dependencyMap[26]).Css, {
                classes: ["newsmemory-page-extra", "newsmemory-page-extra-" + type, "newsmemory-article-extra", "newsmemory-article-extra-" + type],
                key: "page_extra_item_" + index
              }, _react.default.createElement(_reactNative.Animated.View, {
                key: index,
                style: [_pageUtils.default.traverseStyleForRTL(boxStyle), {
                  position: "absolute"
                }, extraStyle]
              }));
            }
          }

          return {
            Component: component,
            style: boxStyle,
            link: link
          };
        }).filter(function (_ref4) {
          var link = _ref4.link;
          return link && NewsmemoryExtraUtils.canShowExtras(link.type);
        });
      }
    }]);
    return NewsmemoryExtraUtils;
  }();

  exports.default = NewsmemoryExtraUtils;

  function OpenArticleExtra(props) {
    var link = props.link,
        page = props.page,
        opacity = props.opacity,
        imageStyle = props.imageStyle,
        style = props.style,
        index = props.index,
        getCurrentArticle = props.getCurrentArticle;
    var notSelectedBackgroundColor = props.backgroundColor,
        selectedBackgroundColor = props.selectedBackgroundColor;

    var isExtraForArticle = function isExtraForArticle(article) {
      return article.getPageId() === page.getPageId() && NewsmemoryExtraUtils.getExtrasForArticle(page, article).find(function (extra) {
        return extra.getType() === _ExtraLinks.PageExtraType.OPEN_ARTICLE && _$$_REQUIRE(_dependencyMap[22]).JSUtils.areEqualDeep(extra, link);
      }) !== undefined;
    };

    var selectedStyle = _$$_REQUIRE(_dependencyMap[26]).Css.getStyleObjByCssClasses(["newsmemory-page-extra-icon-selected", "newsmemory-page-extra-icon-" + link.getType() + "-selected"]);

    notSelectedBackgroundColor = _$$_REQUIRE(_dependencyMap[22]).CssUtils.getAttributeFromStyle("backgroundColor", style, notSelectedBackgroundColor);
    selectedBackgroundColor = _$$_REQUIRE(_dependencyMap[22]).CssUtils.getAttributeFromStyle("backgroundColor", selectedStyle, selectedBackgroundColor);
    var currentArticle = getCurrentArticle();

    var _useState = (0, _react.useState)(currentArticle && isExtraForArticle(currentArticle)),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        isSelected = _useState2[0],
        setIsSelected = _useState2[1];

    (0, _react.useEffect)(function () {
      var onSelect = _$$_REQUIRE(_dependencyMap[25]).EventRegister.on(_events.default.NEWSMEMORY_ARTICLE_HIGHLIGHT, function (_ref5) {
        var article = _ref5.article;

        if (isExtraForArticle(article)) {
          if (!isSelected) {
            setIsSelected(true);
          }
        } else if (isSelected) {
          setIsSelected(false);
        }
      });

      return function () {
        _$$_REQUIRE(_dependencyMap[25]).EventRegister.rm(onSelect);
      };
    }, [isSelected]);
    var backgroundColor = notSelectedBackgroundColor;
    var otherStyle = {};

    if (isSelected) {
      backgroundColor = selectedBackgroundColor;
      otherStyle = selectedStyle;
    }

    return _react.default.createElement(_reactNative.Animated.View, {
      key: index,
      style: [{
        opacity: opacity,
        borderRadius: 25,
        borderWidth: 1,
        borderColor: _$$_REQUIRE(_dependencyMap[22]).ColorUtils.applyDarknessToColor(backgroundColor, -50)
      }, imageStyle, style, otherStyle, {
        backgroundColor: backgroundColor
      }]
    });
  }
},2170,[5,41,6,7,8,17,28,2152,431,602,641,640,639,638,1861,460,2052,1876,715,1970,430,1859,462,1954,1950,572,699,717]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Error = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Error = function (_React$PureComponent) {
    (0, _inherits2.default)(Error, _React$PureComponent);

    var _super = _createSuper(Error);

    function Error(props) {
      var _this;

      (0, _classCallCheck2.default)(this, Error);
      _this = _super.call(this, props);
      _this.state = {
        hidden: false
      };
      return _this;
    }

    (0, _createClass2.default)(Error, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        var _this$props = this.props,
            autoHide = _this$props.autoHide,
            autoHideTimer = _this$props.autoHideTimer;

        if (autoHide) {
          setTimeout(function () {
            _this2.setState({
              hidden: true
            });
          }, autoHideTimer);
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props2 = this.props,
            errors = _this$props2.errors,
            style = _this$props2.style;
        var hidden = this.state.hidden;

        if (hidden) {
          return null;
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Css, {
          classes: ["error-container"]
        }, _react.default.createElement(_reactNative.View, {
          style: [_$$_REQUIRE(_dependencyMap[11]).styles.list, style]
        }, errors.map(function (error) {
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Css, {
            classes: ["error-line"]
          }, _react.default.createElement(_reactNative.View, {
            style: _$$_REQUIRE(_dependencyMap[11]).styles.line
          }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Css, {
            classes: ["error-text"]
          }, _react.default.createElement(_fontText.default, {
            style: _$$_REQUIRE(_dependencyMap[11]).styles.text
          }, error))));
        })));
      }
    }]);
    return Error;
  }(_react.default.PureComponent);

  exports.Error = Error;
  Error.propTypes = {
    errors: _propTypes.default.arrayOf(_propTypes.default.string),
    style: _propTypes.default.any,
    autoHide: _propTypes.default.bool,
    autoHideTimer: _propTypes.default.number
  };
  Error.defaultProps = {
    autoHide: false,
    errors: [],
    autoHideTimer: 5000
  };
},2171,[5,7,8,12,14,16,17,201,28,1879,699,2172]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    list: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.md_red_800
    },
    line: {
      minHeight: 40,
      flexDirection: "row",
      alignItems: "center",
      paddingLeft: 10,
      paddingRight: 10
    },
    text: {
      color: _$$_REQUIRE(_dependencyMap[1]).colors.white
    }
  });

  exports.styles = styles;
},2172,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _reactNativeShare = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _articleExpandImageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _EPaperArticle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _articleAdContainer = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _TranslationManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _articleText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[23]));

  var _loginOverlay = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[24]));

  var _NewsmemoryHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[25]));

  var _tecnaviaPlatformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[26]));

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[27]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ArticleText = function (_React$Component) {
    (0, _inherits2.default)(ArticleText, _React$Component);

    var _super = _createSuper(ArticleText);

    function ArticleText(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ArticleText);
      _this = _super.call(this, props);
      _this.lastJSHeight = undefined;
      _this.scrollTop = undefined;
      _this.scrollHeight = undefined;
      _this.consumedScrollTop = true;
      _this.checkConfig = _this._checkConfig.bind((0, _assertThisInitialized2.default)(_this));
      _this.onHeightChange = _this._onHeightChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.openGallery = _this._openGallery.bind((0, _assertThisInitialized2.default)(_this));
      _this.onAdLoaded = _this._onAdLoaded.bind((0, _assertThisInitialized2.default)(_this));
      _this.onAdFailed = _this._onAdFailed.bind((0, _assertThisInitialized2.default)(_this));
      _this.onWebViewRef = _this._onWebViewRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onMessage = _this._onMessage.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLinkClicked = _this._onLinkClicked.bind((0, _assertThisInitialized2.default)(_this));
      _this.onArticleHeaderRef = _this._onArticleHeaderRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLoadEnd = _this._onLoadEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.reloadAds = _this._reloadAds.bind((0, _assertThisInitialized2.default)(_this));
      _this.getPositionId = _this._getPositionId.bind((0, _assertThisInitialized2.default)(_this));
      _this.goToPositionId = _this._goToPositionId.bind((0, _assertThisInitialized2.default)(_this));
      _this.initializeHtml = _this._initializeHtml.bind((0, _assertThisInitialized2.default)(_this));
      _this.isTranslated = _this._isTranslated.bind((0, _assertThisInitialized2.default)(_this));
      _this.startHeightCheck = _this._startHeightCheck.bind((0, _assertThisInitialized2.default)(_this));
      _this.stopHeightCheck = _this._stopHeightCheck.bind((0, _assertThisInitialized2.default)(_this));

      var _global$getNewsmemory = global.getNewsmemoryConfig(),
          fontSize = _global$getNewsmemory.fontSize;

      _this.fontSize = parseInt(fontSize, 10);
      _this.translating = false;
      _this.enableColumnizer = _this._isColumnViewEnabled();
      _this.state = {
        isOnline: _$$_REQUIRE(_dependencyMap[28]).NetworkUtils.isOnline(),
        translationFailed: false,
        imageLoadFailed: false,
        htmlBaseText: "",
        manipulatedHtml: "",
        lastHtmlColumn: "",
        gallery: undefined,
        options: {},
        accessibilityFocus: false,
        innerText: undefined
      };
      return _this;
    }

    (0, _createClass2.default)(ArticleText, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        this.toggleFont = _$$_REQUIRE(_dependencyMap[29]).EventRegister.on(_events.default.TOGGLE_FULLSCREEN_FONT_SIZE, function () {
          _this2._updateWebviewFontSize();

          if (_this2._isColumnizerChanged()) {
            _this2._initializeHtml();
          }
        });
        this.systemFontSizeChanged = _$$_REQUIRE(_dependencyMap[29]).EventRegister.on(_events.default.SYSTEM_FONT_SIZE_CHANGED, function () {
          _this2._updateWebviewFontSize();

          if (_this2._isColumnizerChanged()) {
            _this2._initializeHtml();
          }
        });
        this.configChangeListener = _$$_REQUIRE(_dependencyMap[29]).EventRegister.on(_events.default.NEWSMEMORY_CONFIG_CHANGE, this.checkConfig);
        this.orientationListener = _$$_REQUIRE(_dependencyMap[29]).EventRegister.on(_events.default.ON_ORIENTATION_CHANGE, function () {
          _this2._getLoadedAds();
        });
        this.onConnectivityChangeListener = _$$_REQUIRE(_dependencyMap[29]).EventRegister.on(_events.default.ON_CONNECTIVITY_CHANGE, function (_ref) {
          var online = _ref.online;
          var isOnline = _this2.state.isOnline;

          if (isOnline !== online) {
            var _global$getActivePSet = global.getActivePSetup(),
                maxSharesCheckType = _global$getActivePSet.maxSharesCheckType;

            if (maxSharesCheckType === _$$_REQUIRE(_dependencyMap[30]).MAX_SHARE_CHECK_TYPES.REMOTE) {
              _$$_REQUIRE(_dependencyMap[29]).EventRegister.emit(_events.default.SHARE_CHANGE_BUTTON_VISIBILITY, {
                visible: online
              });
            }

            _this2.setState({
              isOnline: online,
              imageLoadFailed: false
            });
          }
        });

        this._initializeHtml();
      }
    }, {
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(props) {}
    }, {
      key: "shouldComponentUpdate",
      value: function shouldComponentUpdate(nextProps, nextState) {
        var _this$state = this.state,
            isOnline = _this$state.isOnline,
            translationFailed = _this$state.translationFailed,
            imageLoadFailed = _this$state.imageLoadFailed,
            gallery = _this$state.gallery,
            manipulatedHtml = _this$state.manipulatedHtml,
            innerText = _this$state.innerText,
            accessibilityFocus = _this$state.accessibilityFocus;
        return !_$$_REQUIRE(_dependencyMap[28]).JSUtils.areEqualShallow(nextProps, this.props, {
          print: true,
          skipKeys: ["headerHtml"]
        }) || isOnline !== nextState.isOnline || translationFailed !== nextState.translationFailed || imageLoadFailed !== nextState.imageLoadFailed || gallery !== nextState.gallery || manipulatedHtml !== nextState.manipulatedHtml || innerText !== nextState.innerText || accessibilityFocus !== nextState.accessibilityFocus;
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps) {
        if (this._isColumnizerChanged(this.props) || !_$$_REQUIRE(_dependencyMap[28]).JSUtils.areEqualShallow(this.props, prevProps)) {
          this._initializeHtml();
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[29]).EventRegister.rm(this.toggleFont);

        _$$_REQUIRE(_dependencyMap[29]).EventRegister.rm(this.systemFontSizeChanged);

        _$$_REQUIRE(_dependencyMap[29]).EventRegister.rm(this.configChangeListener);

        _$$_REQUIRE(_dependencyMap[29]).EventRegister.rm(this.orientationListener);

        _$$_REQUIRE(_dependencyMap[29]).EventRegister.rm(this.onConnectivityChangeListener);
      }
    }, {
      key: "setAccessibilityFocus",
      value: function setAccessibilityFocus(focus) {
        var accessibilityEnabled = this.props.accessibilityEnabled;
        var accessibilityFocus = this.state.accessibilityFocus;

        if (accessibilityEnabled && accessibilityFocus !== focus) {
          this.setState({
            accessibilityFocus: focus
          });
        }
      }
    }, {
      key: "getContentToPrint",
      value: function getContentToPrint() {
        var _this$props = this.props,
            copyrightHtml = _this$props.copyrightHtml,
            disclaimerHtml = _this$props.disclaimerHtml,
            headerHtml = _this$props.headerHtml,
            css = _this$props.css;
        var html = this.state.printHtml;
        html = _$$_REQUIRE(_dependencyMap[28]).StringUtils.serializeHtml(html);

        if (copyrightHtml) {
          html = headerHtml + html + disclaimerHtml + copyrightHtml;
        }

        var options = this._getOptions();

        options.enableColumnizer = false;
        options.columnView = 0;
        options.ignoreTheme = true;
        html = (0, _$$_REQUIRE(_dependencyMap[31]).manipulateArticleContent)(html, css, options, 0);
        return html.replace(_$$_REQUIRE(_dependencyMap[31]).REGEX_TAGS.SCRIPT, "");
      }
    }, {
      key: "getText",
      value: function getText() {
        var innerText = this.state.innerText;
        return innerText || "";
      }
    }, {
      key: "_isTranslated",
      value: function _isTranslated(language) {
        var translationFailed = this.state.translationFailed;
        return !this.translating && !translationFailed && this.currentTranslationLanguage === language;
      }
    }, {
      key: "_translate",
      value: function _translate() {
        var _this3 = this;

        var language,
            _this$props2,
            newspaper,
            page,
            article,
            translation,
            _args = arguments;

        return _regenerator.default.async(function _translate$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                language = _args.length > 0 && _args[0] !== undefined ? _args[0] : global.getNewsmemoryConfig().currentTranslationLanguage;
                _this$props2 = this.props, newspaper = _this$props2.newspaper, page = _this$props2.page, article = _this$props2.article;
                this.currentTranslationLanguage = language;

                if (!(!language || !language.length || language === _NewsmemoryHelper.default.SP.values.translation_disabled)) {
                  _context.next = 5;
                  break;
                }

                return _context.abrupt("return", {
                  translatedHTML: undefined,
                  translationFailed: false,
                  callback: this.reloadAds
                });

              case 5:
                if (this.translating) {
                  _context.next = 20;
                  break;
                }

                this.translating = true;

                _$$_REQUIRE(_dependencyMap[32]).LoadingOverlay.show({
                  id: "translate",
                  text: global.strings("str_translating_article")
                });

                _context.prev = 8;
                _context.next = 11;
                return _regenerator.default.awrap(_TranslationManager.default.translate(newspaper, page, article, language));

              case 11:
                translation = _context.sent;
                _context.next = 17;
                break;

              case 14:
                _context.prev = 14;
                _context.t0 = _context["catch"](8);

                this._warn(_context.t0.message);

              case 17:
                this.translating = false;

                _$$_REQUIRE(_dependencyMap[32]).LoadingOverlay.hide({
                  id: "translate"
                });

                return _context.abrupt("return", {
                  translatedHTML: translation,
                  translationFailed: !translation,
                  callback: function callback() {
                    _this3.reloadAds();
                  }
                });

              case 20:
                return _context.abrupt("return", {});

              case 21:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[8, 14]], Promise);
      }
    }, {
      key: "_isActive",
      value: function _isActive() {
        var _this$props3 = this.props,
            isActive = _this$props3.isActive,
            index = _this$props3.index;
        return typeof isActive === "function" && isActive(index);
      }
    }, {
      key: "_isColumnizerChanged",
      value: function _isColumnizerChanged() {
        var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;

        var enableColumnizer = this._isColumnViewEnabled(props);

        if (this.enableColumnizer !== enableColumnizer) {
          this.enableColumnizer = enableColumnizer;
          return true;
        }

        return false;
      }
    }, {
      key: "_checkConfig",
      value: function _checkConfig() {
        var _global$getNewsmemory2 = global.getNewsmemoryConfig(),
            fontSize = _global$getNewsmemory2.fontSize,
            currentTranslationLanguage = _global$getNewsmemory2.currentTranslationLanguage;

        if (this.fontSize !== parseInt(fontSize, 10)) {
          this._updateWebviewFontSize();
        }

        var updateHtml = this._isActive() && this.currentTranslationLanguage !== currentTranslationLanguage;

        if (updateHtml) {
          _$$_REQUIRE(_dependencyMap[29]).EventRegister.emit(_events.default.TRANSLATE_CHANGE_BUTTON_BADGE);
        }

        if (this._isColumnizerChanged() || updateHtml) {
          this._initializeHtml();
        }
      }
    }, {
      key: "_updateWebviewFontSize",
      value: function _updateWebviewFontSize() {
        var _global$getUserSettin = global.getUserSettings(),
            fontSize = _global$getUserSettin.fontSize;

        this.fontSize = parseInt(fontSize, 10);
        var userFontSize = global.getUserSettings().getFontSize();

        if (this.articleWebView) {
          this.articleWebView.injectJavaScript("try{ document.getElementById('content').style.fontSize = \"" + userFontSize + "%\";}catch(e){}");
          this.articleWebView.recheckContentHeight();
        }

        if (this.articleHeaderRef) {
          this.articleHeaderRef.applyFontScale(userFontSize / 100);
        }
      }
    }, {
      key: "_isColumnViewEnabled",
      value: function _isColumnViewEnabled() {
        var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;
        var deviceSupportColumnizer = props.deviceSupportColumnizer,
            enableDesktopLayout = props.enableDesktopLayout;
        var fontSize = global.getUserSettings().getFontSize();

        var _global$getNewsmemory3 = global.getNewsmemoryConfig(),
            columnView = _global$getNewsmemory3.columnView;

        return !enableDesktopLayout && deviceSupportColumnizer && columnView > 0 && fontSize <= 100;
      }
    }, {
      key: "_getOptions",
      value: function _getOptions() {
        var _this$props4 = this.props,
            searchText = _this$props4.searchText,
            searchColor = _this$props4.searchColor,
            newspaper = _this$props4.newspaper,
            defaultWidth = _this$props4.defaultWidth,
            defaultHeight = _this$props4.defaultHeight,
            enableDesktopLayout = _this$props4.enableDesktopLayout;
        var isOnline = this.state.isOnline;
        var fontSize = global.getUserSettings().getFontSize();

        var _global$getNewsmemory4 = global.getNewsmemoryConfig(),
            columnView = _global$getNewsmemory4.columnView;

        var _global$getFontsConfi = global.getFontsConfig(),
            fontRegular = _global$getFontsConfi.fontRegular,
            fontBold = _global$getFontsConfi.fontBold,
            mappedDynamicFonts = _global$getFontsConfi.mappedDynamicFonts;

        var _global$getActivePSet2 = global.getActivePSetup(),
            mergeArticles = _global$getActivePSet2.mergeArticles,
            calculateMidAds = _global$getActivePSet2.calculateMidAds,
            keepArticlePositionOnRotation = _global$getActivePSet2.keepArticlePositionOnRotation,
            enableArticleImageReposition = _global$getActivePSet2.enableArticleImageReposition;

        return {
          truncateArticle: _newsmemoryUtils.default.isTrialModeEnabled(newspaper),
          isOnline: isOnline,
          searchText: searchText,
          searchColor: searchColor,
          fontRegular: fontRegular,
          fontSize: fontSize,
          fontBold: fontBold,
          dynamicFonts: mappedDynamicFonts,
          enableColumnizer: this.enableColumnizer,
          columnView: columnView,
          keepArticlePositionOnRotation: keepArticlePositionOnRotation,
          mergeArticles: mergeArticles,
          calculateMidAds: calculateMidAds,
          allBlack: _$$_REQUIRE(_dependencyMap[28]).PlatformUtils.isEInk(),
          contentWidth: defaultWidth,
          containerHeight: defaultHeight,
          enableArticleImageReposition: enableArticleImageReposition,
          enableDesktopLayout: enableDesktopLayout
        };
      }
    }, {
      key: "_startHeightCheck",
      value: function _startHeightCheck() {
        if (this.articleWebView) {
          this.articleWebView.startHeightCheck();
        }
      }
    }, {
      key: "_stopHeightCheck",
      value: function _stopHeightCheck() {
        if (this.articleWebView) {
          this.articleWebView.stopHeightCheck();
        }
      }
    }, {
      key: "_onHeightChange",
      value: function _onHeightChange(height) {
        var _this$props5, defaultHeight, defaultWidth, htmlBaseText, measuredHeight, size;

        return _regenerator.default.async(function _onHeightChange$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                this.lastJSHeight = height;
                _this$props5 = this.props, defaultHeight = _this$props5.defaultHeight, defaultWidth = _this$props5.defaultWidth;
                htmlBaseText = this.state.htmlBaseText;
                _context2.prev = 3;

                if (!this.articleHeaderRef) {
                  _context2.next = 12;
                  break;
                }

                measuredHeight = height;

                if (!(measuredHeight < defaultHeight)) {
                  _context2.next = 11;
                  break;
                }

                _context2.next = 9;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[28]).StringUtils.textSize(htmlBaseText, defaultWidth));

              case 9:
                size = _context2.sent;
                measuredHeight = size.height;

              case 11:
                this.articleHeaderRef.expandIfEnoughtSpace(Math.max(defaultHeight - Math.max(measuredHeight, height), 0));

              case 12:
                _context2.next = 16;
                break;

              case 14:
                _context2.prev = 14;
                _context2.t0 = _context2["catch"](3);

              case 16:
                this._consumeScrollTo();

                this._getLoadedAds();

                this._getHrsPosition();

              case 19:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, [[3, 14]], Promise);
      }
    }, {
      key: "_getHrsPosition",
      value: function _getHrsPosition() {
        if (this.articleWebView) {
          this.articleWebView.injectJavaScript("if (typeof getHrsPosition === 'function') getHrsPosition();");
        }
      }
    }, {
      key: "_getLoadedAds",
      value: function _getLoadedAds() {
        if (this.articleWebView) {
          this.articleWebView.injectJavaScript("if (typeof getLoadedAds === 'function') getLoadedAds();");
        }
      }
    }, {
      key: "_getPositionId",
      value: function _getPositionId(x, y) {
        if (this.articleWebView) {
          this.articleWebView.injectJavaScript("if (typeof getPositionId === 'function') getPositionId(" + x + "," + y + ");");
        }
      }
    }, {
      key: "_goToPositionId",
      value: function _goToPositionId(positionId) {
        if (this.articleWebView) {
          this.articleWebView.injectJavaScript("if (typeof goToPositionId === 'function') goToPositionId('" + positionId + "');");
        }
      }
    }, {
      key: "_setNativeAdsCallback",
      value: function _setNativeAdsCallback(data) {
        var _this4 = this;

        if (data && data.length) {
          var article = this.props.article;
          var nativeAds = data.map(function (ad) {
            ad.onAdLoaded = _this4.onAdLoaded;
            ad.onAdFailed = _this4.onAdFailed;
            return ad;
          });

          _$$_REQUIRE(_dependencyMap[29]).EventRegister.emit(_events.default.LOAD_NATIVE_ADS, {
            id: (0, _$$_REQUIRE(_dependencyMap[33]).getArticleId)(article),
            nativeAds: nativeAds
          });
        }
      }
    }, {
      key: "_getNativeAds",
      value: function _getNativeAds() {
        var article = this.props.article;
        return _react.default.createElement(_articleAdContainer.default, {
          articleId: (0, _$$_REQUIRE(_dependencyMap[33]).getArticleId)(article)
        });
      }
    }, {
      key: "_onAdLoaded",
      value: function _onAdLoaded(model) {
        this._log("Native ad loaded: " + model.key);

        if (this.articleWebView) {
          var key = model.key;
          this.articleWebView.injectJavaScript("if (typeof showNativeAd === 'function') showNativeAd(\"" + key + "\");");
        }
      }
    }, {
      key: "_onAdFailed",
      value: function _onAdFailed(model, error) {
        this._warn("Native ad failed: " + error);

        if (this.articleWebView) {
          var key = model.key;
          this.articleWebView.injectJavaScript("if (typeof hideNativeAd === 'function') hideNativeAd(\"" + key + "\");");
        }
      }
    }, {
      key: "_reloadAds",
      value: function _reloadAds() {
        this._log("reload ads");

        var _this$props6 = this.props,
            defaultHeight = _this$props6.defaultHeight,
            article = _this$props6.article;

        _$$_REQUIRE(_dependencyMap[29]).EventRegister.emit(_events.default.LOAD_NATIVE_ADS, {
          id: (0, _$$_REQUIRE(_dependencyMap[33]).getArticleId)(article),
          nativeAds: []
        });

        if (this.articleWebView) {
          this.articleWebView.updateHeight(defaultHeight);
        }
      }
    }, {
      key: "_onMessage",
      value: function _onMessage(data) {
        var _this5 = this;

        var _this$props7 = this.props,
            index = _this$props7.index,
            onTextLoaded = _this$props7.onTextLoaded,
            onLongPress = _this$props7.onLongPress,
            onPositionId = _this$props7.onPositionId,
            onPositionIdOffset = _this$props7.onPositionIdOffset,
            onHrsPosition = _this$props7.onHrsPosition,
            onArticleExtraLoaded = _this$props7.onArticleExtraLoaded,
            hasAccessibilityFocus = _this$props7.hasAccessibilityFocus;
        var type = data.type,
            content = data.content;

        this._log("on message type: " + type);

        if (type === "ART_ADD_TOP") {
          var lastHtmlColumn = this.state.lastHtmlColumn;

          if (typeof onArticleExtraLoaded === "function" && lastHtmlColumn) {
            onArticleExtraLoaded(lastHtmlColumn, content);
          }
        } else if (type === "INNER_TEXT") {
          this.setState({
            innerText: content,
            accessibilityFocus: hasAccessibilityFocus()
          });

          if (typeof onTextLoaded === "function") {
            onTextLoaded(index, content);
          }
        } else if (type === "JUMP") {
          _$$_REQUIRE(_dependencyMap[29]).EventRegister.emit(_events.default.NEWSMEMORY_ARTICLE_JUMP, data);
        } else if (type === "GET_NATIVE_ADS_PLACEHOLDER") {
          this._setNativeAdsCallback(content);
        } else if (type === "SCROLL_TO_PAGE") {
          _$$_REQUIRE(_dependencyMap[29]).EventRegister.emit(_events.default.NEWSMEMORY_ARTICLE_JUMP, content);
        } else if (type === "LONG_PRESS") {
          if (typeof onLongPress === "function") {
            onLongPress();
          }
        } else if (type === "OPEN_GALLERY") {
          this.openGallery(content);
        } else if (type === "SHOW_IMAGE_OPTIONS") {
          var link = content.link,
              url = content.url;
          var iconSize = 30;
          var imageProps = {
            type: _$$_REQUIRE(_dependencyMap[34]).TecnaviaIconType.MATERIAL_COMMUNITY_ICONS,
            size: iconSize,
            imageStyle: {
              width: iconSize,
              height: iconSize
            },
            resizeMode: "contain"
          };

          _$$_REQUIRE(_dependencyMap[35]).MyBottomSheet.show({
            options: [{
              title: global.strings("label_open_browser"),
              icon: _react.default.createElement(_$$_REQUIRE(_dependencyMap[36]).Css, {
                classes: ["newsmemory-image-options-menu-icon", "newsmemory-image-options-menu-icon-link"]
              }, _react.default.createElement(_imageIconChooserComponent.default, (0, _extends2.default)({
                name: _$$_REQUIRE(_dependencyMap[28]).PlatformUtils.isIOS() ? "apple-safari" : "google-chrome"
              }, imageProps))),
              onPress: function onPress() {
                _tecnaviaPlatformUtils.default.openURL(link);
              },
              textStyle: _$$_REQUIRE(_dependencyMap[36]).Css.getStyleObjByCssClasses(["newsmemory-image-options-menu-text", "newsmemory-image-options-menu-text-link"]),
              containerStyle: _$$_REQUIRE(_dependencyMap[36]).Css.getStyleObjByCssClasses(["newsmemory-image-options-menu-item", "newsmemory-image-options-menu-item-link"])
            }, {
              title: global.strings("action_share"),
              icon: _react.default.createElement(_$$_REQUIRE(_dependencyMap[36]).Css, {
                classes: ["newsmemory-image-options-menu-icon", "newsmemory-image-options-menu-icon-share"]
              }, _react.default.createElement(_imageIconChooserComponent.default, (0, _extends2.default)({
                name: "share-variant"
              }, imageProps))),
              waitModalHide: true,
              onPress: function onPress() {
                _reactNativeShare.default.open({
                  url: link
                });
              },
              textStyle: _$$_REQUIRE(_dependencyMap[36]).Css.getStyleObjByCssClasses(["newsmemory-image-options-menu-text", "newsmemory-image-options-menu-text-share"]),
              containerStyle: _$$_REQUIRE(_dependencyMap[36]).Css.getStyleObjByCssClasses(["newsmemory-image-options-menu-item", "newsmemory-image-options-menu-item-share"])
            }, {
              title: global.strings("action_open_gallery"),
              icon: _react.default.createElement(_$$_REQUIRE(_dependencyMap[36]).Css, {
                classes: ["newsmemory-image-options-menu-icon", "newsmemory-image-options-menu-icon-gallery"]
              }, _react.default.createElement(_imageIconChooserComponent.default, (0, _extends2.default)({
                name: "image-multiple-outline"
              }, imageProps))),
              onPress: function onPress() {
                _this5.openGallery(url);
              },
              textStyle: _$$_REQUIRE(_dependencyMap[36]).Css.getStyleObjByCssClasses(["newsmemory-image-options-menu-text", "newsmemory-image-options-menu-text-gallery"]),
              containerStyle: _$$_REQUIRE(_dependencyMap[36]).Css.getStyleObjByCssClasses(["newsmemory-image-options-menu-item", "newsmemory-image-options-menu-item-gallery"])
            }]
          });
        } else if (type === "SAVE_IMAGE") {
          var base64 = content.base64,
              paper = content.paper,
              issue = content.issue,
              filename = content.filename,
              image = content.image;
          (0, _$$_REQUIRE(_dependencyMap[33]).storeArticleImage)(base64, paper, issue, filename, image);
        } else if (type === "RETRIEVE_IMAGE") {
          var _this$state2 = this.state,
              gallery = _this$state2.gallery,
              imageLoadFailed = _this$state2.imageLoadFailed;
          var imageSrc = content.imageSrc,
              _paper = content.paper,
              _issue = content.issue,
              _filename = content.filename,
              _image = content.image;
          (0, _$$_REQUIRE(_dependencyMap[33]).retrieveArticleImage)(_paper, _issue, _filename, _image).then(function (base64) {
            if (_this5.articleWebView) {
              if (base64) {
                var base64String = "data:image/jpeg;base64," + base64;

                if (gallery) {
                  gallery.forEach(function (galleryImage) {
                    if (galleryImage && galleryImage.getUrl() === imageSrc) {
                      galleryImage.setUrl(base64String);
                      galleryImage.setHrUrl("");
                    }
                  });
                }

                _this5.articleWebView.injectJavaScript("if (typeof replaceImgSrcWithBase64 === \"function\") replaceImgSrcWithBase64(\"" + imageSrc + "\", \"" + base64String + "\");");
              } else if (!imageLoadFailed) {
                _this5.setState({
                  imageLoadFailed: true
                });
              }
            }
          }).catch(function () {
            if (!imageLoadFailed) {
              _this5.setState({
                imageLoadFailed: true
              });
            }
          });
        } else if (type === "SCROLL_TOP") {
          var scrollTop = data.scrollTop,
              scrollHeight = data.scrollHeight;
          this.scrollTop = scrollTop;
          this.scrollHeight = scrollHeight;
          this.consumedScrollTop = false;

          this._consumeScrollTo();
        } else if (type === "GET_POSITION_ID") {
          onPositionId(content.positionId);
        } else if (type === "GET_POSITION_ID_OFFSET") {
          onPositionIdOffset(content.offset);
        } else if (type === "HRS_POSITION") {
          onHrsPosition(content);
        }
      }
    }, {
      key: "_consumeScrollTo",
      value: function _consumeScrollTo() {
        var heightIsValid = this.scrollHeight === this.lastJSHeight;

        var scrollTopIsValid = !this.consumedScrollTop && _$$_REQUIRE(_dependencyMap[28]).JSUtils.isNumber(this.scrollTop);

        if (heightIsValid && scrollTopIsValid) {
          this.consumedScrollTop = true;
          var onScrollTop = this.props.onScrollTop;

          if (typeof onScrollTop === "function") {
            onScrollTop(this.scrollTop);
          }
        }
      }
    }, {
      key: "_openGallery",
      value: function _openGallery(imageUrl) {
        var onOpenGallery = this.props.onOpenGallery;
        var gallery = this.state.gallery;

        if (typeof onOpenGallery === "function" && gallery && gallery.length > 0) {
          try {
            var imageIndex = gallery.findIndex(function (image) {
              return imageUrl === image.getUrl() || imageUrl === image.getHrUrl();
            });

            if (imageIndex > -1) {
              onOpenGallery((0, _$$_REQUIRE(_dependencyMap[37]).newsmemoryArticleGallery)(gallery), imageIndex);
            }
          } catch (e) {
            this._warn(e.message);
          }
        }
      }
    }, {
      key: "_onWebViewRef",
      value: function _onWebViewRef(ref) {
        this.articleWebView = ref;
      }
    }, {
      key: "_onLinkClicked",
      value: function _onLinkClicked(url) {
        var _this$props8 = this.props,
            edition = _this$props8.edition,
            page = _this$props8.page,
            article = _this$props8.article;
        (0, _$$_REQUIRE(_dependencyMap[38]).sendNewsmemoryArticleClickThrough)(edition, page, article, url);
        return false;
      }
    }, {
      key: "_onArticleHeaderRef",
      value: function _onArticleHeaderRef(ref) {
        this.articleHeaderRef = ref;
      }
    }, {
      key: "_onLoadEnd",
      value: function _onLoadEnd() {
        var onLoadEnd = this.props.onLoadEnd;

        if (onLoadEnd) {
          onLoadEnd();
        }
      }
    }, {
      key: "_customizeHtml",
      value: function _customizeHtml(html, imageLimit, options) {
        var _this$props9 = this.props,
            edition = _this$props9.edition,
            newspaper = _this$props9.newspaper,
            article = _this$props9.article;
        var newHtml = html;
        var mergeArticles = options.mergeArticles,
            calculateMidAds = options.calculateMidAds,
            enableColumnizer = options.enableColumnizer,
            isOnline = options.isOnline;
        newHtml = _$$_REQUIRE(_dependencyMap[28]).StringUtils.serializeHtml(newHtml.replace(/\n|\t/gm, ""));
        newHtml = (0, _$$_REQUIRE(_dependencyMap[33]).extractLinks)(newHtml);
        newHtml = (0, _$$_REQUIRE(_dependencyMap[31]).applyMergeArtToHTML)(newHtml, mergeArticles, enableColumnizer, calculateMidAds, isOnline, edition, article, newspaper.getSecret());
        var imageMatches = newHtml.match(_$$_REQUIRE(_dependencyMap[31]).REGEX_TAGS.IMAGE);
        var imagesPresent = imageMatches && imageMatches.length > imageLimit;

        if (!options.enableDesktopLayout) {
          newHtml = (0, _$$_REQUIRE(_dependencyMap[33]).addInStoryAdsToHtml)(newHtml, imagesPresent, isOnline);
        }

        return {
          html: newHtml,
          imagesPresent: imagesPresent
        };
      }
    }, {
      key: "_initializeHtml",
      value: function _initializeHtml(language) {
        var _this$props10, header, carModeEnabled, accessibilityEnabled, newspaper, edition, article, css, defaultWidth, hasHeaderImage, translation, options, _translation, translatedHTML, translationFailed, callback, translationPresent, imageLimit, _global$getActivePSet3, showArtComplete, firstArticle, articleIndexInChain, result, htmlToUse, htmlBaseText, _this$_customizeHtml, html, manipulatedHtml, gallery, biggestImage, continuationFlag, firstHTMLPart, firstHtml, firstGallery, firstBiggestImage, _ref2, _ref2$html, lastHtmlColumn, _ref2$artAddIndex, artAddIndex, headerImage;

        return _regenerator.default.async(function _initializeHtml$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _this$props10 = this.props, header = _this$props10.header, carModeEnabled = _this$props10.carModeEnabled, accessibilityEnabled = _this$props10.accessibilityEnabled, newspaper = _this$props10.newspaper, edition = _this$props10.edition, article = _this$props10.article, css = _this$props10.css, defaultWidth = _this$props10.defaultWidth;

                this._log("initialize html");

                hasHeaderImage = header && !accessibilityEnabled && !carModeEnabled;
                translation = {};

                if (!this._isActive()) {
                  _context3.next = 14;
                  break;
                }

                _context3.prev = 5;
                _context3.next = 8;
                return _regenerator.default.awrap(this._translate(language));

              case 8:
                translation = _context3.sent;
                _context3.next = 14;
                break;

              case 11:
                _context3.prev = 11;
                _context3.t0 = _context3["catch"](5);

                this._warn(_context3.t0.message);

              case 14:
                options = this._getOptions();
                _translation = translation, translatedHTML = _translation.translatedHTML, translationFailed = _translation.translationFailed, callback = _translation.callback;
                translationPresent = !translationFailed && translatedHTML;
                imageLimit = translationPresent ? 1 : 0;
                options.imageLimit = imageLimit;
                _global$getActivePSet3 = global.getActivePSetup(), showArtComplete = _global$getActivePSet3.showArtComplete;
                firstArticle = article;
                articleIndexInChain = 0;

                if (showArtComplete) {
                  result = edition.getFirstArticleInChain(article);
                  firstArticle = result.firstArticle;
                  articleIndexInChain = result.currentArticleIndex;
                }

                htmlToUse = translatedHTML || firstArticle.getHtml();
                htmlBaseText = (0, _$$_REQUIRE(_dependencyMap[31]).getBaseText)(htmlToUse);
                _this$_customizeHtml = this._customizeHtml(htmlToUse, imageLimit, options), html = _this$_customizeHtml.html;
                manipulatedHtml = html;
                gallery = (0, _$$_REQUIRE(_dependencyMap[31]).getAllImages)(manipulatedHtml, defaultWidth);
                continuationFlag = "<br/><hr/>";

                if (htmlToUse.indexOf(continuationFlag) > -1) {
                  firstHTMLPart = htmlToUse.split(continuationFlag)[0];
                  firstHtml = (0, _$$_REQUIRE(_dependencyMap[31]).addImageActionUrlOnArticlesChain)([firstArticle], firstArticle, firstHTMLPart, edition, newspaper.getSecret(), options.isOnline);
                  firstGallery = (0, _$$_REQUIRE(_dependencyMap[31]).getAllImages)(firstHtml, defaultWidth);
                  firstBiggestImage = (0, _$$_REQUIRE(_dependencyMap[31]).getBiggestImage)(firstGallery);

                  if (firstBiggestImage) {
                    biggestImage = firstBiggestImage;
                    (0, _$$_REQUIRE(_dependencyMap[31]).addCaptionToImages)(firstHtml, [biggestImage]);
                  }
                }

                if (!biggestImage) {
                  biggestImage = (0, _$$_REQUIRE(_dependencyMap[31]).getBiggestImage)(gallery);
                }

                manipulatedHtml = (0, _$$_REQUIRE(_dependencyMap[31]).addCaptionToImages)(manipulatedHtml, gallery, hasHeaderImage ? 1 : 0);
                _ref2 = !options.truncateArticle ? (0, _$$_REQUIRE(_dependencyMap[31]).manipulateLastColumnContent)(manipulatedHtml, css, options, firstArticle, articleIndexInChain, hasHeaderImage ? biggestImage : undefined) : {}, _ref2$html = _ref2.html, lastHtmlColumn = _ref2$html === undefined ? "" : _ref2$html, _ref2$artAddIndex = _ref2.artAddIndex, artAddIndex = _ref2$artAddIndex === undefined ? -1 : _ref2$artAddIndex;
                manipulatedHtml = (0, _$$_REQUIRE(_dependencyMap[31]).manipulateArticleContent)(manipulatedHtml, css, options, articleIndexInChain, artAddIndex);
                headerImage = hasHeaderImage && biggestImage;

                if (headerImage) {
                  manipulatedHtml = (0, _$$_REQUIRE(_dependencyMap[31]).removeTagBySrc)(manipulatedHtml, biggestImage.getUrl(), options.mergeArticles);
                }

                this.setState({
                  htmlBaseText: htmlBaseText,
                  printHtml: htmlToUse,
                  biggestImage: biggestImage,
                  manipulatedHtml: manipulatedHtml,
                  lastHtmlColumn: lastHtmlColumn,
                  gallery: gallery,
                  headerImage: headerImage,
                  options: options,
                  translationFailed: translationFailed
                }, callback);

              case 37:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, [[5, 11]], Promise);
      }
    }, {
      key: "_warn",
      value: function _warn(message) {
        var index = this.props.index;
      }
    }, {
      key: "_log",
      value: function _log(message) {
        var index = this.props.index;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props11 = this.props,
            defaultHeight = _this$props11.defaultHeight,
            onExpandedImageLayout = _this$props11.onExpandedImageLayout,
            carModeEnabled = _this$props11.carModeEnabled,
            accessibilityEnabled = _this$props11.accessibilityEnabled;
        var fontSize = global.getUserSettings().getFontSize();

        var _global$getActivePSet4 = global.getActivePSetup(),
            loginStatus = _global$getActivePSet4.loginStatus;

        var _this$state3 = this.state,
            isOnline = _this$state3.isOnline,
            translationFailed = _this$state3.translationFailed,
            imageLoadFailed = _this$state3.imageLoadFailed,
            options = _this$state3.options,
            manipulatedHtml = _this$state3.manipulatedHtml,
            biggestImage = _this$state3.biggestImage,
            headerImage = _this$state3.headerImage,
            accessibilityFocus = _this$state3.accessibilityFocus,
            innerText = _this$state3.innerText;
        var HeaderComponent = null;

        if (headerImage) {
          HeaderComponent = _react.default.createElement(_articleExpandImageComponent.default, {
            ref: this.onArticleHeaderRef,
            caption: biggestImage.getCaption(),
            url: biggestImage.getUrl(),
            fontScale: fontSize / 100,
            onPress: this.openGallery,
            onLayout: onExpandedImageLayout,
            minHeight: Math.max(defaultHeight / 3, 150)
          });
        }

        var errors = [];

        if (!isOnline) {
          if (imageLoadFailed) {
            errors.push(global.strings("err_offline"));
          }

          if (translationFailed) {
            errors.push(global.strings("err_translation_offline"));
          }
        } else {
          if (translationFailed) {
            errors.push(global.strings("err_translation"));
          }
        }

        this._log("render");

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[36]).Css, {
          classes: ["newsmemory-article-text"]
        }, HeaderComponent, _react.default.createElement(_$$_REQUIRE(_dependencyMap[39]).Error, {
          errors: errors,
          style: _articleText.default.error
        }), _react.default.createElement(_reactNative.View, {
          style: _articleText.default.container
        }, manipulatedHtml && manipulatedHtml.length ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[40]).AutoHeightWebView, {
          accessible: false,
          importantForAccessibility: "no",
          ref: this.onWebViewRef,
          onLinkClicked: this.onLinkClicked,
          defaultHeight: defaultHeight,
          htmlContentId: "content",
          source: {
            html: manipulatedHtml
          },
          onMessage: this.onMessage,
          onLoadEnd: this.onLoadEnd,
          onHeightChange: this.onHeightChange,
          progressColor: _$$_REQUIRE(_dependencyMap[28]).colors.md_grey_500,
          startInLoadingState: _$$_REQUIRE(_dependencyMap[41]).BaseWebView.LoadingStatePosition.bottom,
          disableStartAutoHeightEvaluation: !this._isActive(),
          progressHidden: !this._isActive(),
          progressType: _$$_REQUIRE(_dependencyMap[41]).BaseWebView.ProgressTypes.bar,
          focusableInTouchMode: false,
          focusable: false
        }) : null, !accessibilityEnabled && !carModeEnabled ? this._getNativeAds() : null, accessibilityEnabled && !carModeEnabled && innerText ? _react.default.createElement(_reactNative.View, {
          style: _articleText.default.accessibility,
          accessibilityLabel: innerText
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[42]).ItemAccessibilityFocused, {
          touchable: true,
          enablePause: true,
          focused: accessibilityFocus,
          style: _articleText.default.container,
          accessibilityEnabled: accessibilityEnabled,
          accessibilityLabel: innerText || ""
        })) : null, options.truncateArticle ? _react.default.createElement(_loginOverlay.default, {
          style: _articleText.default.truncateParent,
          title: global.strings("msg_login_overlay_title"),
          showLogin: !loginStatus.isLoggedIn()
        }) : null));
      }
    }]);
    return ArticleText;
  }(_react.default.Component);

  exports.default = ArticleText;
  ArticleText.propTypes = {
    index: _propTypes.default.number,
    header: _propTypes.default.bool,
    accessibilityEnabled: _propTypes.default.bool,
    carModeEnabled: _propTypes.default.bool,
    deviceSupportColumnizer: _propTypes.default.bool,
    defaultHeight: _propTypes.default.number,
    defaultWidth: _propTypes.default.number,
    searchText: _propTypes.default.string,
    searchColor: _propTypes.default.string,
    edition: _propTypes.default.instanceOf(_Edition.default).isRequired,
    article: _propTypes.default.instanceOf(_EPaperArticle.default).isRequired,
    page: _propTypes.default.instanceOf(_Page.default).isRequired,
    newspaper: _propTypes.default.instanceOf(_NewspaperIssue.default).isRequired,
    css: _propTypes.default.shape({
      defaultCss: _propTypes.default.string,
      customCss: _propTypes.default.string
    }),
    copyrightHtml: _propTypes.default.string,
    disclaimerHtml: _propTypes.default.string,
    headerHtml: _propTypes.default.string,
    onLoadEnd: _propTypes.default.func,
    onLongPress: _propTypes.default.func,
    onTextLoaded: _propTypes.default.func,
    onOpenGallery: _propTypes.default.func,
    onScrollTop: _propTypes.default.func,
    isActive: _propTypes.default.func,
    onPositionId: _propTypes.default.func,
    onPositionIdOffset: _propTypes.default.func,
    onHrsPosition: _propTypes.default.func,
    onExpandedImageLayout: _propTypes.default.func,
    onArticleExtraLoaded: _propTypes.default.func,
    hasAccessibilityFocus: _propTypes.default.func,
    enableDesktopLayout: _propTypes.default.bool
  };
  ArticleText.defaultProps = {
    defaultHeight: 0,
    header: false,
    enableDesktopLayout: false
  };
},2173,[5,80,6,7,8,15,12,14,16,17,28,201,575,2174,460,640,638,1859,2177,644,714,2178,603,2179,2180,1860,1876,1970,462,572,717,2182,1950,2187,1806,1904,699,2052,1954,2171,1901,1894,2189]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _articleExpandImageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _imageComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[14]));

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ArticleExpandImage = function (_React$PureComponent) {
    (0, _inherits2.default)(ArticleExpandImage, _React$PureComponent);

    var _super = _createSuper(ArticleExpandImage);

    function ArticleExpandImage(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ArticleExpandImage);
      _this = _super.call(this, props);
      _this.state = {
        fontScale: props.fontScale,
        loading: true,
        expanded: false,
        error: false,
        imageWidth: 0,
        imageHeight: 0,
        viewWidth: 0,
        hideToggle: false,
        resizeMode: "cover"
      };
      _this.onLayout = _this._onLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.onToggle = _this._onToggle.bind((0, _assertThisInitialized2.default)(_this));
      _this.onImagePress = _this._onImagePress.bind((0, _assertThisInitialized2.default)(_this));
      _this.parentStyle = _$$_REQUIRE(_dependencyMap[16]).Css.getStyleObjByCssClasses(["newsmemory-article-image-parent"]);
      _this.minHeight = _this.parentStyle.minHeight || props.minHeight;
      _this.animatedHeight = new _reactNative.Animated.Value(_this.minHeight);
      return _this;
    }

    (0, _createClass2.default)(ArticleExpandImage, [{
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps, prevState) {
        var loading = this.state.loading;

        if (prevState.loading && !loading && this.recheckIfWeNeedToExpand) {
          this.recheckIfWeNeedToExpand = false;
          this.expandIfEnoughSpace(this.availableHeight);
        }
      }
    }, {
      key: "applyFontScale",
      value: function applyFontScale(scale) {
        var fontScale = this.state.fontScale;

        if (fontScale !== scale) {
          this.setState({
            fontScale: scale
          });
        }
      }
    }, {
      key: "expandIfEnoughSpace",
      value: function expandIfEnoughSpace(availableHeight) {
        var _this$state = this.state,
            expanded = _this$state.expanded,
            loading = _this$state.loading;

        if (!loading) {
          this.availableHeight = undefined;

          var _this$_getExpandedIma = this._getExpandedImageStyle(),
              height = _this$_getExpandedIma.height;

          if (height > this.minHeight) {
            if (height < availableHeight && !expanded) {
              this._animate(true);

              this.setState({
                expanded: true,
                hideToggle: true
              });
            }

            if (height > availableHeight && expanded) {
              this._animate(false);

              this.setState({
                expanded: false,
                hideToggle: false
              });
            }
          }
        } else {
          this.recheckIfWeNeedToExpand = true;
          this.availableHeight = availableHeight;
        }
      }
    }, {
      key: "_getExpandedImageStyle",
      value: function _getExpandedImageStyle() {
        var _this$state2 = this.state,
            imageWidth = _this$state2.imageWidth,
            imageHeight = _this$state2.imageHeight,
            viewWidth = _this$state2.viewWidth;
        var xScale = imageWidth / viewWidth;
        var scaledHeight = imageHeight / xScale;
        return {
          width: viewWidth,
          height: scaledHeight
        };
      }
    }, {
      key: "_onLayout",
      value: function _onLayout(event) {
        var nativeEvent, _this$props, url, onLayout, _await$getSizeAsync, width, height, resizeMode, containRatio;

        return _regenerator.default.async(function _onLayout$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.prev = 0;
                event.persist();
                nativeEvent = event.nativeEvent;
                _this$props = this.props, url = _this$props.url, onLayout = _this$props.onLayout;
                _context.next = 6;
                return _regenerator.default.awrap((0, _imageComponent.getSizeAsync)(url));

              case 6:
                _await$getSizeAsync = _context.sent;
                width = _await$getSizeAsync.width;
                height = _await$getSizeAsync.height;
                resizeMode = "cover";

                if (width > height) {
                  containRatio = nativeEvent.layout.width / width;

                  if (height * containRatio < this.minHeight) {
                    this.minHeight = height * containRatio;
                    this.animatedHeight.setValue(this.minHeight);
                    resizeMode = "contain";
                  }
                }

                this.setState({
                  loading: false,
                  imageWidth: width,
                  imageHeight: height,
                  viewWidth: nativeEvent.layout.width,
                  resizeMode: resizeMode
                });

                if (typeof onLayout === "function") {
                  onLayout(event);
                }

                _context.next = 18;
                break;

              case 15:
                _context.prev = 15;
                _context.t0 = _context["catch"](0);
                this.setState({
                  loading: false,
                  error: true
                });

              case 18:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[0, 15]], Promise);
      }
    }, {
      key: "_animate",
      value: function _animate(expand) {
        var _this$_getExpandedIma2 = this._getExpandedImageStyle(),
            height = _this$_getExpandedIma2.height;

        var expandHeight = Math.max(height, this.minHeight);

        _reactNative.Animated.timing(this.animatedHeight, {
          toValue: expand ? expandHeight : this.minHeight,
          duration: 300,
          useNativeDriver: false
        }).start();
      }
    }, {
      key: "_onToggle",
      value: function _onToggle() {
        var _this$state3 = this.state,
            loading = _this$state3.loading,
            expanded = _this$state3.expanded;

        if (!loading) {
          this._animate(!expanded);

          this.setState({
            expanded: !expanded
          });
        }
      }
    }, {
      key: "_onImagePress",
      value: function _onImagePress() {
        var _this$props2 = this.props,
            url = _this$props2.url,
            onPress = _this$props2.onPress;

        if (typeof onPress === "function") {
          onPress(url);
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this$state4 = this.state,
            expanded = _this$state4.expanded,
            error = _this$state4.error,
            loading = _this$state4.loading,
            fontScale = _this$state4.fontScale,
            hideToggle = _this$state4.hideToggle,
            resizeMode = _this$state4.resizeMode;
        var _this$props3 = this.props,
            url = _this$props3.url,
            caption = _this$props3.caption,
            minHeight = _this$props3.minHeight;
        var hasCaption = !!caption && caption.length > 0;
        var captionProps = {};

        if (hasCaption && !expanded) {
          captionProps.numberOfLines = 2;
        }

        var ToggleIcon = _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).Css, {
          classes: ["newsmemory-article-toggle"],
          toggle: true,
          active: expanded
        }, _react.default.createElement(_imageIconChooserComponent.default, {
          style: _articleExpandImageComponent.default.image,
          source: expanded ? _$$_REQUIRE(_dependencyMap[17]) : _$$_REQUIRE(_dependencyMap[18])
        }));

        if (url && url.length) {
          var expandedStyle = this._getExpandedImageStyle();

          var fontStyle = {
            fontSize: 16 * fontScale
          };
          var toggleButtonNoCaption = !hasCaption && !hideToggle && expandedStyle.height > minHeight ? _react.default.createElement(_reactNative.TouchableOpacity, {
            style: [_articleExpandImageComponent.default.imageNoCaption, fontStyle],
            onPress: this.onToggle
          }, ToggleIcon) : null;
          var ImageComponent = null;

          if (!loading && !error) {
            ImageComponent = _react.default.createElement(_reactNative.TouchableOpacity, {
              onPress: this.onImagePress
            }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).Css, {
              classes: ["newsmemory-article-image", expanded ? "newsmemory-article-image-expanded" : ""]
            }, _react.default.createElement(_imageComponent.default, {
              animated: true,
              forceRNComponent: true,
              source: {
                uri: url
              },
              resizeMode: resizeMode,
              style: {
                height: this.animatedHeight,
                width: expandedStyle.width
              }
            })));
          }

          return _react.default.createElement(_reactNative.View, {
            style: [_articleExpandImageComponent.default.parent, this.parentStyle, {
              minHeight: error ? 0 : this.minHeight
            }],
            onLayout: this.onLayout
          }, ImageComponent, hasCaption ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).Css, {
            classes: ["newsmemory-article-caption-parent", expanded ? "newsmemory-article-caption-parent-expandend" : ""]
          }, _react.default.createElement(_reactNative.View, {
            style: [!expanded && !error ? _articleExpandImageComponent.default.captionAbsolute : {}, _articleExpandImageComponent.default.captionParent]
          }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).Css, {
            classes: ["newsmemory-article-caption"]
          }, _react.default.createElement(_fontText.default, (0, _extends2.default)({
            style: [_articleExpandImageComponent.default.caption, fontStyle]
          }, captionProps), caption)), !hideToggle ? _react.default.createElement(_reactNative.TouchableOpacity, {
            onPress: this.onToggle
          }, ToggleIcon) : null)) : null, toggleButtonNoCaption);
        }

        return null;
      }
    }]);
    return ArticleExpandImage;
  }(_react.default.PureComponent);

  exports.default = ArticleExpandImage;
  ArticleExpandImage.propTypes = {
    fontScale: _propTypes.default.number,
    minHeight: _propTypes.default.number,
    caption: _propTypes.default.string,
    url: _propTypes.default.string.isRequired,
    onPress: _propTypes.default.func,
    onLayout: _propTypes.default.func
  };
  ArticleExpandImage.defaultProps = {
    caption: "",
    minHeight: 150,
    fontScale: 1
  };
},2174,[5,80,6,7,8,15,12,14,16,17,201,28,1879,2175,588,1970,699,1751,2176]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    parent: {
      margin: 10,
      minHeight: 40,
      overflow: "hidden"
    },
    captionAbsolute: {
      position: "absolute",
      bottom: 0,
      start: 0,
      end: 0
    },
    captionParent: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.transparent600,
      alignItems: "center",
      flexDirection: "row",
      minHeight: 40
    },
    caption: {
      flex: 1,
      paddingHorizontal: 10,
      paddingVertical: 3,
      color: _$$_REQUIRE(_dependencyMap[1]).colors.white
    },
    imageNoCaption: {
      position: "absolute",
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.transparent600,
      paddingVertical: 3,
      bottom: 0,
      end: 0
    },
    image: {
      width: 40,
      height: 40
    }
  });

  exports.default = _default;
},2175,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/buttons-json-manager/icons",
    "width": 128,
    "height": 96,
    "scales": [1],
    "hash": "3141aa533d2953239bde8d2e10756375",
    "name": "ic-down",
    "type": "png"
  });
},2176,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _AdsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ArticleAdContainer = function (_React$Component) {
    (0, _inherits2.default)(ArticleAdContainer, _React$Component);

    var _super = _createSuper(ArticleAdContainer);

    function ArticleAdContainer(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ArticleAdContainer);
      _this = _super.call(this, props);
      _this.state = {
        scrollYOffset: 0,
        scrollHeight: 0,
        nativeAds: [],
        adsLoaded: []
      };
      return _this;
    }

    (0, _createClass2.default)(ArticleAdContainer, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        this.articleScrollLayout = _$$_REQUIRE(_dependencyMap[12]).EventRegister.on(_events.default.ARTICLE_SCROLL_LAYOUT, function (_ref) {
          var id = _ref.id,
              scrollHeight = _ref.scrollHeight;
          var articleId = _this2.props.articleId;

          if (articleId === id) {
            _this2.setState({
              scrollHeight: scrollHeight
            });
          }
        });
        this.articleScroll = _$$_REQUIRE(_dependencyMap[12]).EventRegister.on(_events.default.ARTICLE_SCROLL, function (_ref2) {
          var id = _ref2.id,
              scrollYOffset = _ref2.scrollYOffset;
          var articleId = _this2.props.articleId;

          if (articleId === id) {
            _this2.setState({
              scrollYOffset: scrollYOffset
            });
          }
        });
        this.loadNativeAds = _$$_REQUIRE(_dependencyMap[12]).EventRegister.on(_events.default.LOAD_NATIVE_ADS, function (_ref3) {
          var id = _ref3.id,
              nativeAds = _ref3.nativeAds;
          var articleId = _this2.props.articleId;

          if (articleId === id) {
            _this2.setState({
              nativeAds: nativeAds,
              adsLoaded: []
            });
          }
        });
        this.onAdLoaded = this._onAdLoaded.bind(this);
        this.onAdFailed = this._onAdFailed.bind(this);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[12]).EventRegister.rm(this.articleScrollLayout);

        _$$_REQUIRE(_dependencyMap[12]).EventRegister.rm(this.articleScroll);

        _$$_REQUIRE(_dependencyMap[12]).EventRegister.rm(this.loadNativeAds);
      }
    }, {
      key: "_getInsideBanner",
      value: function _getInsideBanner(ad) {
        var adModels = this.props.adModels;
        var adModel;

        if (!_$$_REQUIRE(_dependencyMap[13]).JSUtils.isEmpty(adModels)) {
          var index = ad.index;
          adModel = adModels.find(function (model, modelIndex) {
            return modelIndex === index;
          });
        }

        return _AdsHelper.default.getNativeAdComponent((0, _extends2.default)({}, ad, adModel));
      }
    }, {
      key: "_onAdLoaded",
      value: function _onAdLoaded(model) {
        this._onAdCallback(model, true, "onAdLoaded");
      }
    }, {
      key: "_onAdFailed",
      value: function _onAdFailed(model, error) {
        this._onAdCallback(model, false, "onAdFailed", error);
      }
    }, {
      key: "_onAdCallback",
      value: function _onAdCallback(model, state, callbackName, error) {
        var _this$state = this.state,
            nativeAds = _this$state.nativeAds,
            adsLoaded = _this$state.adsLoaded;
        var somethingChanged = false;

        for (var i = 0; i < nativeAds.length; i++) {
          if (nativeAds[i].key === model.key) {
            if (adsLoaded[i] !== state) {
              if (typeof nativeAds[i][callbackName] === "function") {
                nativeAds[i][callbackName](nativeAds[i], error);
              }

              somethingChanged = true;
              adsLoaded[i] = state;
            }
          }
        }

        if (somethingChanged) {
          this.setState({
            adsLoaded: adsLoaded
          });
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this3 = this;

        var _this$state2 = this.state,
            nativeAds = _this$state2.nativeAds,
            adsLoaded = _this$state2.adsLoaded,
            scrollYOffset = _this$state2.scrollYOffset,
            scrollHeight = _this$state2.scrollHeight;
        var articleId = this.props.articleId;
        return nativeAds.map(function (ad, index) {
          if (ad.top <= scrollYOffset + scrollHeight) {
            return _react.default.createElement(_reactNative.View, {
              style: {
                position: "absolute",
                top: ad.top,
                left: ad.left,
                width: ad.width,
                height: ad.height
              },
              pointerEvents: adsLoaded[index] ? "auto" : "none",
              key: ad.key
            }, _this3._getInsideBanner((0, _extends2.default)({
              index: index,
              articleId: articleId
            }, ad, {
              onAdFailed: _this3.onAdFailed,
              onAdLoaded: _this3.onAdLoaded
            })));
          }

          return null;
        });
      }
    }]);
    return ArticleAdContainer;
  }(_react.default.Component);

  exports.default = ArticleAdContainer;
  ArticleAdContainer.propTypes = {
    articleId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
    adModels: _propTypes.default.arrayOf(_propTypes.default.object)
  };
  ArticleAdContainer.defaultProps = {
    adModels: []
  };
},2177,[5,6,7,8,12,14,16,17,201,28,2087,460,572,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _EPaperArticle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _NewsmemoryAJAX = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _NewsmemoryHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var TranslationManager = function () {
    function TranslationManager() {
      (0, _classCallCheck2.default)(this, TranslationManager);
    }

    (0, _createClass2.default)(TranslationManager, null, [{
      key: "init",
      value: function init() {
        TranslationManager.cache = {};
      }
    }, {
      key: "getEditionBasePath",
      value: function getEditionBasePath(newspaper) {
        var edition = newspaper.getEditionModel();

        var baseLocalPath = _tecnaviaFileUtils.default.getNewspaperBaseDirectory();

        return "" + baseLocalPath + edition.getPaper() + "/" + edition.getIssue();
      }
    }, {
      key: "getCachedTranslationFilename",
      value: function getCachedTranslationFilename(language, newspaper, page, article) {
        var baseEditionPath = TranslationManager.getEditionBasePath(newspaper);
        var mtime = page.getModifyTime();
        var filename = page.getFilename();
        var xmlId = article.getXmlId();
        return baseEditionPath + "/" + filename + "/" + xmlId + "_" + language + "_" + mtime + ".translate";
      }
    }, {
      key: "checkCachedTranslation",
      value: function checkCachedTranslation(language, newspaper, page, article) {
        var edition, paper, issue, filename, xmlId, cachedPaper, cachedIssue, cachedPage, cachedArticle, cachedTranslation, cachedTranslationFilename;
        return _regenerator.default.async(function checkCachedTranslation$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                edition = newspaper.getEditionModel();
                paper = edition.getPaper();
                issue = edition.getIssue();
                filename = page.getFilename();
                xmlId = article.getXmlId();
                cachedPaper = TranslationManager.cache[paper];

                if (!cachedPaper) {
                  _context.next = 14;
                  break;
                }

                cachedIssue = cachedPaper[issue];

                if (!cachedIssue) {
                  _context.next = 14;
                  break;
                }

                cachedPage = cachedIssue[filename];

                if (!cachedPage) {
                  _context.next = 14;
                  break;
                }

                cachedArticle = cachedPage[xmlId];

                if (!(cachedArticle && cachedArticle[language])) {
                  _context.next = 14;
                  break;
                }

                return _context.abrupt("return", cachedArticle[language]);

              case 14:
                _context.prev = 14;
                cachedTranslationFilename = TranslationManager.getCachedTranslationFilename(language, newspaper, page, article);
                _context.next = 18;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.readFile(cachedTranslationFilename));

              case 18:
                cachedTranslation = _context.sent;
                TranslationManager.storeTranslationRuntime(language, cachedTranslation, newspaper, page, article);
                _context.next = 24;
                break;

              case 22:
                _context.prev = 22;
                _context.t0 = _context["catch"](14);

              case 24:
                return _context.abrupt("return", cachedTranslation);

              case 25:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[14, 22]], Promise);
      }
    }, {
      key: "storeTranslationRuntime",
      value: function storeTranslationRuntime(language, translation, newspaper, page, article) {
        var edition = newspaper.getEditionModel();
        var paper = edition.getPaper();
        var issue = edition.getIssue();
        var filename = page.getFilename();
        var xmlId = article.getXmlId();

        if (!TranslationManager.cache[paper]) {
          TranslationManager.cache[paper] = {};
        }

        if (!TranslationManager.cache[paper][issue]) {
          TranslationManager.cache[paper][issue] = {};
        }

        if (!TranslationManager.cache[paper][issue][filename]) {
          TranslationManager.cache[paper][issue][filename] = {};
        }

        if (!TranslationManager.cache[paper][issue][filename][xmlId]) {
          TranslationManager.cache[paper][issue][filename][xmlId] = {};
        }

        TranslationManager.cache[paper][issue][filename][xmlId][language] = translation;
      }
    }, {
      key: "storeTranslation",
      value: function storeTranslation(language, translation, newspaper, page, article) {
        TranslationManager.storeTranslationRuntime(language, translation, newspaper, page, article);
        var cachedTranslationFilename = TranslationManager.getCachedTranslationFilename(language, newspaper, page, article);

        _tecnaviaFileUtils.default.write(cachedTranslationFilename, translation).catch(function (error) {});
      }
    }, {
      key: "translationCall",
      value: function translationCall(language, newspaper, page, article) {
        var edition, result;
        return _regenerator.default.async(function translationCall$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!newspaper) {
                  _context2.next = 7;
                  break;
                }

                edition = newspaper.getEditionModel();
                _context2.next = 4;
                return _regenerator.default.awrap(_NewsmemoryAJAX.default.translateArticle({
                  target: language,
                  issue: edition.getIssue(),
                  edition: edition.getEdition(),
                  filename: page.getFilename(),
                  artid: article.getXmlId(),
                  filetime: page.getModifyTime(),
                  secret: newspaper.getSecret()
                }));

              case 4:
                result = _context2.sent;

                if (!(result.text && result.text.length)) {
                  _context2.next = 7;
                  break;
                }

                return _context2.abrupt("return", result.text);

              case 7:
                return _context2.abrupt("return", "");

              case 8:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "translate",
      value: function translate(newspaper, page, article) {
        var language,
            translation,
            _args3 = arguments;
        return _regenerator.default.async(function translate$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                language = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : global.getNewsmemoryConfig().currentTranslationLanguage;

                if (!(language && language.length > 0 && language !== _NewsmemoryHelper.default.SP.values.translation_disabled)) {
                  _context3.next = 17;
                  break;
                }

                _context3.prev = 2;
                (0, _$$_REQUIRE(_dependencyMap[11]).sendNewsmemoryTranslate)(language, newspaper.getEditionModel(), page, article);
                _context3.next = 6;
                return _regenerator.default.awrap(TranslationManager.checkCachedTranslation(language, newspaper, page, article));

              case 6:
                translation = _context3.sent;

                if (translation) {
                  _context3.next = 13;
                  break;
                }

                if (!_$$_REQUIRE(_dependencyMap[12]).NetworkUtils.isOnline()) {
                  _context3.next = 13;
                  break;
                }

                _context3.next = 11;
                return _regenerator.default.awrap(TranslationManager.translationCall(language, newspaper, page, article));

              case 11:
                translation = _context3.sent;

                if (translation) {
                  TranslationManager.storeTranslation(language, translation, newspaper, page, article);
                }

              case 13:
                _context3.next = 17;
                break;

              case 15:
                _context3.prev = 15;
                _context3.t0 = _context3["catch"](2);

              case 17:
                return _context3.abrupt("return", translation);

              case 18:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, [[2, 15]], Promise);
      }
    }, {
      key: "resetAllTranslations",
      value: function resetAllTranslations() {
        TranslationManager.cache = {};
      }
    }, {
      key: "resetTranslationsForIssue",
      value: function resetTranslationsForIssue(newspaper) {
        if (newspaper) {
          var edition = newspaper.getEditionModel();
          var paper = edition.getPaper();
          var issue = edition.getIssue();

          if (TranslationManager.cache && TranslationManager.cache[paper] && TranslationManager.cache[paper][issue]) {
            TranslationManager.cache[paper][issue] = {};
          }
        }
      }
    }, {
      key: "resetTranslationsForPage",
      value: function resetTranslationsForPage(newspaper, page) {
        if (newspaper) {
          var edition = newspaper.getEditionModel();
          var paper = edition.getPaper();
          var issue = edition.getIssue();
          var filename = page.getFilename();

          if (TranslationManager.cache && TranslationManager.cache[paper] && TranslationManager.cache[paper][issue] && TranslationManager.cache[paper][issue][filename]) {
            TranslationManager.cache[paper][issue][filename] = {};
          }
        }
      }
    }, {
      key: "getTranslationBadgeIcon",
      value: function getTranslationBadgeIcon() {
        var language = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : global.getNewsmemoryConfig().currentTranslationLanguage;

        if (language && _$$_REQUIRE(_dependencyMap[13]).ACTIONS.translate && language !== _NewsmemoryHelper.default.SP.values.translation_disabled) {
          var iconKey = language + "Icon";

          if (language === "en" && _$$_REQUIRE(_dependencyMap[12]).StringUtils.isUSTecnaviaDomain()) {
            iconKey = "usIcon";
          } else if (language === "zh" || language === "zh-TW") {
            iconKey = "cnIcon";
          }

          if (_$$_REQUIRE(_dependencyMap[13]).ACTIONS.translate[iconKey]) {
            return _$$_REQUIRE(_dependencyMap[13]).ACTIONS.translate[iconKey];
          }

          return _$$_REQUIRE(_dependencyMap[13]).ACTIONS.translate.noneIcon;
        }

        return undefined;
      }
    }]);
    return TranslationManager;
  }();

  exports.default = TranslationManager;
},2178,[5,80,7,8,574,644,640,714,638,430,1860,1954,462,1725]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    container: {
      flex: 1
    },
    accessibility: {
      position: "absolute",
      left: 0,
      right: 0,
      bottom: 0,
      top: 0
    },
    error: {
      zIndex: 1000
    },
    truncateParent: {
      padding: 10
    },
    truncateTouchable: {
      padding: 10,
      justifyContent: "center",
      flexDirection: "row",
      backgroundColor: "black"
    },
    truncateText: {
      color: "white"
    }
  });

  exports.default = _default;
},2179,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var _loadingOverlay = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var LoginOverlay = function (_React$PureComponent) {
    (0, _inherits2.default)(LoginOverlay, _React$PureComponent);

    var _super = _createSuper(LoginOverlay);

    function LoginOverlay(props) {
      var _this;

      (0, _classCallCheck2.default)(this, LoginOverlay);
      _this = _super.call(this, props);
      _this.onButtonTapGestureHandler = _this._onButtonTapGestureHandler.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLoginTapGestureHandler = _this._onLoginTapGestureHandler.bind((0, _assertThisInitialized2.default)(_this));
      _this.onAreaTapGestureHandler = _this._onAreaTapGestureHandler.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        containerPosition: props.containerPosition
      };
      return _this;
    }

    (0, _createClass2.default)(LoginOverlay, [{
      key: "_onAreaTapGestureHandler",
      value: function _onAreaTapGestureHandler(_ref) {
        var nativeEvent = _ref.nativeEvent;

        if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[13]).State.ACTIVE) {}
      }
    }, {
      key: "_onButtonTapGestureHandler",
      value: function _onButtonTapGestureHandler(_ref2) {
        var nativeEvent = _ref2.nativeEvent;

        if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[13]).State.ACTIVE) {
          _$$_REQUIRE(_dependencyMap[14]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
            tab: _$$_REQUIRE(_dependencyMap[15]).tabs.account
          });
        }
      }
    }, {
      key: "_onLoginTapGestureHandler",
      value: function _onLoginTapGestureHandler(_ref3) {
        var nativeEvent = _ref3.nativeEvent;

        if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[13]).State.ACTIVE) {
          _$$_REQUIRE(_dependencyMap[14]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
            tab: _$$_REQUIRE(_dependencyMap[15]).tabs.account
          });
        }
      }
    }, {
      key: "changeContainerStyle",
      value: function changeContainerStyle(containerPosition) {
        _reactNative.LayoutAnimation.configureNext(_reactNative.LayoutAnimation.Presets.linear);

        this.setState({
          containerPosition: containerPosition
        });
      }
    }, {
      key: "_getContainerStyle",
      value: function _getContainerStyle() {
        var containerPosition = this.state.containerPosition;
        var containerStyle = {};

        if (containerPosition === _$$_REQUIRE(_dependencyMap[16]).PageViewPosition.LEFT) {
          containerStyle.alignSelf = "flex-start";
        } else if (containerPosition === _$$_REQUIRE(_dependencyMap[16]).PageViewPosition.CENTER) {
          containerStyle.alignSelf = "center";
        } else if (containerPosition === _$$_REQUIRE(_dependencyMap[16]).PageViewPosition.RIGHT) {
          containerStyle.alignSelf = "flex-end";
        }

        return containerStyle;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            style = _this$props.style,
            buttonStyle = _this$props.buttonStyle,
            containerStyle = _this$props.containerStyle,
            loginButtonStyle = _this$props.loginButtonStyle,
            loginButtonTextStyle = _this$props.loginButtonTextStyle,
            textButtonStyle = _this$props.textButtonStyle,
            titleParentStyle = _this$props.titleParentStyle,
            titleStyle = _this$props.titleStyle,
            title = _this$props.title,
            button = _this$props.button,
            login = _this$props.login,
            showLogin = _this$props.showLogin;

        var _global$getActivePSet = global.getActivePSetup(),
            paperName = _global$getActivePSet.paperName;

        var loginParentStyle = _$$_REQUIRE(_dependencyMap[17]).Css.getStyleObjByCssClasses(["login-overlay-login-parent"]);

        var buttonParentStyle = _$$_REQUIRE(_dependencyMap[17]).Css.getStyleObjByCssClasses(["login-overlay-button-parent"]);

        var containerPositionStyle = this._getContainerStyle();

        var buttonContainerStyle = _$$_REQUIRE(_dependencyMap[17]).Css.getStyleObjByCssClasses(["login-overlay-container"]);

        var backgroundColor = _$$_REQUIRE(_dependencyMap[17]).Css.getDefaultBackgroundColor();

        var foregroundColor = _$$_REQUIRE(_dependencyMap[17]).Css.getDefaultForegroundColor();

        var textColor = _$$_REQUIRE(_dependencyMap[17]).Css.isDarkTheme() ? foregroundColor : backgroundColor;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).TapGestureHandler, {
          onHandlerStateChange: this.onAreaTapGestureHandler
        }, _react.default.createElement(_reactNative.View, {
          style: style
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).Css, {
          classes: ["login-overlay-background"]
        }, _react.default.createElement(_reactNative.View, {
          style: [_loadingOverlay.default.background, {
            backgroundColor: backgroundColor
          }]
        })), _react.default.createElement(_reactNative.View, {
          style: [style, _loadingOverlay.default.container, containerStyle, containerPositionStyle, buttonContainerStyle]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).Css, {
          classes: ["login-overlay-parent"]
        }, _react.default.createElement(_reactNative.View, {
          style: _loadingOverlay.default.parent
        }, title ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).Css, {
          classes: ["login-overlay-title-parent"]
        }, _react.default.createElement(_reactNative.View, {
          style: [_loadingOverlay.default.textParent, titleParentStyle]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).Css, {
          classes: ["login-overlay-title"]
        }, _react.default.createElement(_fontText.default, {
          type: _fontText.Type.bold,
          style: [_loadingOverlay.default.text, {
            color: textColor
          }, titleStyle]
        }, title)))) : null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).TapGestureHandler, {
          onHandlerStateChange: this.onButtonTapGestureHandler
        }, _react.default.createElement(_reactNative.View, {
          style: [_loadingOverlay.default.buttonParent, {
            backgroundColor: backgroundColor
          }, buttonStyle, buttonParentStyle],
          collapsable: false
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).Css, {
          classes: ["login-overlay-button"]
        }, _react.default.createElement(_fontText.default, {
          type: _fontText.Type.bold,
          style: [_loadingOverlay.default.buttonText, {
            color: foregroundColor
          }, textButtonStyle]
        }, button || global.strings("msg_continue_to_read", {
          paper: paperName
        }))))), showLogin ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).TapGestureHandler, {
          onHandlerStateChange: this.onLoginTapGestureHandler
        }, _react.default.createElement(_reactNative.View, {
          style: [_loadingOverlay.default.loginParent, loginButtonStyle, loginParentStyle],
          collapsable: false
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).Css, {
          classes: ["login-overlay-login-text"]
        }, _react.default.createElement(_fontText.default, {
          type: _fontText.Type.bold,
          style: [_loadingOverlay.default.loginText, {
            color: textColor
          }, loginButtonTextStyle]
        }, login || global.strings("msg_already_subscriber"))))) : null)))));
      }
    }]);
    return LoginOverlay;
  }(_react.default.PureComponent);

  exports.default = LoginOverlay;
  LoginOverlay.propTypes = {
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    containerPosition: _propTypes.default.string,
    containerStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    loginButtonStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    loginButtonTextStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    buttonStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    textButtonStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    titleStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    titleParentStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    title: _propTypes.default.string,
    button: _propTypes.default.string,
    login: _propTypes.default.string,
    showLogin: _propTypes.default.bool
  };
  LoginOverlay.defaultProps = {
    title: undefined,
    button: undefined,
    login: undefined
  };
},2180,[5,7,8,15,12,14,16,17,201,28,1879,2181,460,1,572,730,715,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    background: {
      flex: 1,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white,
      opacity: 0.8
    },
    container: {
      justifyContent: "center",
      alignItems: "center",
      flexDirection: "row"
    },
    parent: {
      flex: 1,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      justifyContent: "center"
    },
    textParent: {
      margin: 10,
      padding: 10,
      flexDirection: "row",
      justifyContent: "center"
    },
    text: {
      color: _$$_REQUIRE(_dependencyMap[1]).colors.white,
      fontSize: 16,
      padding: 10
    },
    buttonParent: {
      alignItems: "center",
      padding: 10,
      margin: 10,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white
    },
    buttonText: {
      color: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      padding: 10,
      fontSize: 16
    },
    loginParent: {
      alignItems: "center",
      padding: 10,
      margin: 10
    },
    loginText: {
      color: _$$_REQUIRE(_dependencyMap[1]).colors.white,
      padding: 10,
      fontSize: 16
    }
  });

  exports.default = _default;
},2181,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.applyDesktopLayout = applyDesktopLayout;
  exports.applyMergeArtToHTML = exports.addImageActionUrlOnArticlesChain = exports.getTagsFromHTML = exports.manipulateArticleContent = exports.manipulateLastColumnContent = exports.addCaptionToImages = exports.getAllImages = exports.getBiggestImage = exports.removeTagBySrc = exports.getCaptionFromHtml = exports.getBaseText = exports.stripHTMLTags = exports.REGEX_TAGS = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _EPaperArticle = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _NewsmemoryAJAX = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _PageJump = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _pageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _columnizerUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var REGEX_TAGS = {
    GENERIC_TAG: /<[^<]*>/gm,
    P: /<p(?:[\S\s]*?)(?=<p[ |>])/gm,
    P_CLOSE: /<\/p>/gm,
    P_NOT_CLOSED: /^.*?(\/>|<\/p>)/gm,
    P_CONTENT: /\s*<p(?:(?!articleAds)[^>])*>(.*?)<\/p>\s*/gm,
    P_MAINTITLE: /<p\s+class="maintitle">/gm,
    P_SUBTITLE: /<p\s+class="subtitle">/gm,
    P_ABODY: /<p\s+class="abody">/gm,
    CLASS_ABODY: /class="abody"/gm,
    ID_ADS_MID: /id="articleAds_mid"/gm,
    MAINTITLE: /<p\s+class="maintitle">[\S\s]*?<\/p>/gm,
    BYLINE: /<p\s+class="byline">[\S\s]*?<\/p>/gm,
    IMAGE: /<img (?:(?!imgInline).)+?\/>/gm,
    IMAGE_NEWSMEMORY: /<img [^<]*src="(http[s]?:\/\/[a-zA-Z0-9.-]+\.newsmemory\.com\/[\/]?newsmemvol[0-9]?\/[^\/]+\/([^\/]+)\/([^\/]+)\/(.*?\.pdf\.0)\/img\/([^"]*))"[^\/]+[^>]+\/>/gm,
    IMAGE_QRCODE: /<img [^<]*title="([^"]*)" alt="[^"]*" qrcode[^<]*\/>/,
    IMAGE_CONTAINER: /<p class="imgContainer"[\S\s]*?<\/p>/gm,
    CHILD_ART: /<div class="dontsplit"[\S\s]*?>/gm,
    CAPTION_TEXT: /<?(\/)?[^\/]*(\/)?>/gm,
    CONTINUE: /<br[ \/]*?><a\s+class="firstindexarticle".+<br[ \/]*?>/gm,
    PARAGRAPH: /<p\s+class="paragraph">[\S\s]*?<\/p>/gm,
    BR_HR: /<br[ \/]*?><hr[ \/]*?>/gm,
    HR: /<hr[ \/]*?>/gm,
    QUOTE: /<p\s+class="quote"[\S\s]*?<\/p>/gm,
    PAGEJUMP: /<pagejump><\/pagejump>|<pagejump[ ]*?\/>/gm,
    PAGEJUMP_SELF_CLOSE: /<pagejump[ ]*?\/>/gm,
    ADS_TOP: /<p\s+id="articleAds_top"[\S\s]*?(?:\/>|><\/p>)/gm,
    ADS_MIDDLE: /<p\s+id="articleAds_mid"[\S\s]*?(?:\/>|><\/p>)/gm,
    ADS_BOTTOM: /<p\s+id="articleAds_bot"[\S\s]*?(?:\/>|><\/p>)/gm,
    NEW_LINE: /\n|\t/gm,
    ONLY_TEXT: /\n|\t|<.*?>/gm,
    HTML_ENTITY_GREATER: /&#62;/gm,
    HTML_ENTITY_LOWER: /&#60;/gm,
    MYONCLICK: /myonclick=/gm,
    SCRIPT: /<script[^>]*>[\S\s]*?<\/script>/gm
  };
  exports.REGEX_TAGS = REGEX_TAGS;
  var HR_IMAGE_MIN_ID = 50000;
  var HR_IMAGE_MAX_ID = 51000;

  var fixHtml = function fixHtml(html) {
    var newHtml = html;
    var paragraphs = html.match(REGEX_TAGS.P);

    if (paragraphs && paragraphs.length > 0) {
      var firstPiece = html.substr(0, html.indexOf(paragraphs[0]));
      var lastPiece = html.substr(html.lastIndexOf(paragraphs[paragraphs.length - 1]) + paragraphs[paragraphs.length - 1].length).replace(REGEX_TAGS.P_CLOSE, "");
      paragraphs = [firstPiece].concat((0, _toConsumableArray2.default)(paragraphs), [lastPiece]);
      var newParagraphs = paragraphs.map(function (paragraph) {
        var newParagraph = paragraph.replace(REGEX_TAGS.NEW_LINE, "");

        if (newParagraph.trim() === "") {
          return newParagraph;
        }

        if (!newParagraph.match(REGEX_TAGS.P_NOT_CLOSED)) {
          return newParagraph + "</p>";
        }

        return newParagraph;
      });
      newHtml = newParagraphs.join("");
    }

    newHtml = newHtml.replace(REGEX_TAGS.PAGEJUMP_SELF_CLOSE, "<pagejump></pagejump>");
    return newHtml;
  };

  var stripHTMLTags = function stripHTMLTags() {
    var html = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
    return html.replace(REGEX_TAGS.GENERIC_TAG, "");
  };

  exports.stripHTMLTags = stripHTMLTags;

  var getBaseText = function getBaseText() {
    var html = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
    return html.replace(REGEX_TAGS.ONLY_TEXT, "");
  };

  exports.getBaseText = getBaseText;

  var getInBetweenIndex = function getInBetweenIndex(strDoc) {
    var inBetweenHRIndex = -1;
    var inBetweenImageIndex = -1;
    var inBetweenChildArtIndex = -1;
    var matches = strDoc.match(REGEX_TAGS.HR);

    if (matches && matches.length > 0) {
      inBetweenHRIndex = strDoc.indexOf(matches[0]);
    }

    matches = strDoc.match(REGEX_TAGS.IMAGE_CONTAINER);

    if (matches && matches.length > 0) {
      inBetweenImageIndex = strDoc.indexOf(matches[0]);
    }

    matches = strDoc.match(REGEX_TAGS.CHILD_ART);

    if (matches && matches.length > 0) {
      inBetweenChildArtIndex = strDoc.indexOf(matches[0]);
    }

    var inBetweenArray = [inBetweenHRIndex, inBetweenImageIndex, inBetweenChildArtIndex].filter(function (inBetween) {
      return inBetween > -1;
    });

    if (inBetweenArray.length > 0) {
      return Math.min.apply(Math, (0, _toConsumableArray2.default)(inBetweenArray));
    }

    return -1;
  };

  var getCaptionFromHtml = function getCaptionFromHtml() {
    var html = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
    var src = arguments.length > 1 ? arguments[1] : undefined;
    var caption = "";
    var strDoc = html.replace(REGEX_TAGS.NEW_LINE, "");

    try {
      var doc = _$$_REQUIRE(_dependencyMap[10]).StringUtils.parseFromString(strDoc, "text/html");

      var image = doc.getElementsByAttribute("src", src)[0];

      if (image) {
        strDoc = String(doc);
        var strImageNode = String(image.parentNode);
        var strImageIndex = strDoc.indexOf(strImageNode);
        var imageTagEndPost = strImageIndex + strImageNode.length;
        var inBetweenIndex = -1;
        var paragraphs = doc.getElementsByClassName("paragraph");

        if (paragraphs.length > 0) {
          for (var i = 0; i < paragraphs.length; i++) {
            var paragraph = paragraphs[i];
            var strParagraph = String(paragraph);
            var strParagraphIndex = strDoc.indexOf(strParagraph);

            if (strImageIndex >= 0 && strParagraphIndex > strImageIndex) {
              var strDocRest = strDoc.substring(imageTagEndPost, strParagraphIndex);
              inBetweenIndex = getInBetweenIndex(strDocRest);

              if (inBetweenIndex === -1) {
                strDoc = strDoc.replace(strParagraph, "");
                caption = paragraph.textContent;
              }

              break;
            }
          }
        } else {
          inBetweenIndex = getInBetweenIndex(strDoc.substring(imageTagEndPost));
        }

        if (!caption.length) {
          var secondHtmlPart = inBetweenIndex > -1 ? strDoc.substring(imageTagEndPost, imageTagEndPost + inBetweenIndex) : strDoc.substring(imageTagEndPost);
          var endOfArticleWithoutContinuation = strDoc.search("<br/><hr/>");
          var captionPart = "";

          if (endOfArticleWithoutContinuation !== -1 && imageTagEndPost < endOfArticleWithoutContinuation) {
            captionPart = strDoc.substring(imageTagEndPost, endOfArticleWithoutContinuation);
          } else {
            var secondHtmlPartDOM = _$$_REQUIRE(_dependencyMap[10]).StringUtils.parseFromString(secondHtmlPart, "text/html");

            var pTags = secondHtmlPartDOM.getElementsByTagName("p");

            if (pTags.length > 0) {
              var _i = 0;

              do {
                var pTag = pTags[_i];

                if (pTag.getAttribute("class") !== "abody") {
                  break;
                }

                _i += 1;
              } while (_i < pTags.length);

              if (_i > 0) {
                if (_i === pTags.length) {
                  captionPart = secondHtmlPart;
                } else {
                  var _pTag = pTags[_i];
                  var pNode = String(_pTag);
                  var endIndex = secondHtmlPart.indexOf(pNode);
                  captionPart = secondHtmlPart.substring(0, endIndex);
                }
              }
            }
          }

          var htmlParts = captionPart.split(REGEX_TAGS.P_CONTENT);

          for (var _i2 = 0; _i2 < htmlParts.length; _i2++) {
            var htmlPart = htmlParts[_i2].replace(REGEX_TAGS.CAPTION_TEXT, "").trim();

            if (htmlPart.length > 1 && htmlPart.length < 360 && htmlPart.search("<img") === -1) {
              strDoc = strDoc.replace(htmlParts[_i2], "");
              caption += caption.length ? " " + htmlPart : "" + htmlPart;
            } else if (htmlPart.search("<img") !== -1 && caption.length) {
              break;
            }
          }
        }
      }
    } catch (e) {}

    return {
      newHtml: strDoc,
      caption: _$$_REQUIRE(_dependencyMap[10]).StringUtils.decodeHTML(caption)
    };
  };

  exports.getCaptionFromHtml = getCaptionFromHtml;

  var removeTagBySrc = function removeTagBySrc(html, src, mergeArticles) {
    var document = _$$_REQUIRE(_dependencyMap[10]).StringUtils.parseFromString(html, "text/html");

    if (document) {
      var imageArts = document.getElementsByClassName("imgArt dontsplit");
      var images = document.getElementsByTagName("img");

      for (var i = 0; i < images.length; i++) {
        var image = images[i];

        if (image && image.attributes && image.getAttribute("src") === src) {
          var pTag = image.parentNode;

          if (mergeArticles === _$$_REQUIRE(_dependencyMap[11]).MERGE_ARTICLES_TYPES.NORMAL) {
            pTag.removeChild(image);
          } else {
            var parentDiv = pTag.parentNode;
            parentDiv.removeChild(pTag);
          }

          try {
            if (imageArts.length === 1) {
              var element = imageArts[0];
              var found = false;

              do {
                var sibling = element.previousSibling;

                if (sibling) {
                  var strSibling = String(sibling).trim();

                  if (strSibling && sibling.getAttribute("class").includes("hr")) {
                    sibling.parentNode.removeChild(sibling);
                    found = true;
                  } else if (strSibling) {
                    found = true;
                  } else {
                    element = sibling;
                  }
                } else {
                  found = true;
                }
              } while (!found);
            }
          } catch (e) {}

          break;
        }
      }
    }

    return String(document);
  };

  exports.removeTagBySrc = removeTagBySrc;

  var getBiggestImage = function getBiggestImage() {
    var images = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
    return images.find(function (image) {
      return image.isBiggestImage();
    });
  };

  exports.getBiggestImage = getBiggestImage;

  var getAllImages = function getAllImages(html) {
    var defaultWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 200;
    var imagesList = [];
    var maxFoundSize = 0;
    var maxFoundIndex = -1;

    try {
      var document = _$$_REQUIRE(_dependencyMap[10]).StringUtils.parseFromString(html);

      if (document) {
        try {
          var imgs = document.getElementsByTagName("img") || [];

          for (var i = 0; i < imgs.length; i++) {
            try {
              var img = imgs[i];

              if (img) {
                var model = new (_$$_REQUIRE(_dependencyMap[12]).EPaperArticleImage)();
                model.setUrl(img.getAttribute("src"));
                model.setHrUrl(img.getAttribute("hrsrc"));
                model.setWidth(parseInt(img.getAttribute("width"), 10));
                model.setHeight(parseInt(img.getAttribute("height"), 10));
                model.setChildArt(img.hasAttribute("isChildArt"));
                model.setInline(img.getAttribute("class").indexOf("imgInline") !== -1);
                model.setQrCode(img.hasAttribute("qrcode"));
                model.setTag(String(img.parentNode));

                if (model.isQrCode() || model.getWidth() > 40 && model.getHeight() > 40) {
                  imagesList.push(model);
                }

                var imageArea = model.getWidth() * model.getHeight();

                if (!model.isChildArt() && !model.isInline() && model.getWidth() > defaultWidth * 0.9 && imageArea > maxFoundSize) {
                  maxFoundSize = imageArea;
                  maxFoundIndex = imagesList.length - 1;
                }
              }
            } catch (e) {}
          }

          if (maxFoundIndex > -1) {
            imagesList[maxFoundIndex].setBiggestImage(true);
          }
        } catch (e) {}
      }
    } catch (e) {}

    return imagesList;
  };

  exports.getAllImages = getAllImages;

  var addCaptionToImages = function addCaptionToImages() {
    var html = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
    var images = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
    var removeCaption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
    var newHtml = html;

    for (var i = 0; i < images.length; i++) {
      var result = getCaptionFromHtml(newHtml, images[i].getUrl());

      if (images[i].isBiggestImage() && removeCaption === 1 || removeCaption === 2) {
        newHtml = result.newHtml;
      }

      images[i].setCaption(result.caption);
    }

    return newHtml;
  };

  exports.addCaptionToImages = addCaptionToImages;

  var replaceImageUrlWithAction = function replaceImageUrlWithAction(html, issue, edition, filename, filetime, secret, isOnline) {
    var newHtml = html;
    var regExp = REGEX_TAGS.IMAGE_NEWSMEMORY;
    var matcher;

    if (html) {
      do {
        matcher = regExp.exec(html);

        if (matcher && matcher.length > 2) {
          var img = matcher[0];
          var originalUrl = matcher[1];
          var paper = matcher[2];
          var imageIssue = matcher[3] || issue;
          var page = matcher[4] || filename;
          var image = matcher[5];
          var imgTag = img;
          var isHRImage = false;
          var actionUrl = originalUrl;
          var galleryActionUrl = originalUrl;

          if (global.isHTTPS()) {
            actionUrl = _NewsmemoryAJAX.default.getInArticleImageUrl(paper, issue, edition, image, imageIssue, page, filetime, secret);
            galleryActionUrl = actionUrl;
            var imageId = -1;
            var matches = image.match(/[A-Za-z]+_([0-9]+)\.[A-Za-z0-9]+/);

            if (matches.length > 1) {
              imageId = parseInt(matches[1], 10);
              isHRImage = imageId >= HR_IMAGE_MIN_ID && imageId < HR_IMAGE_MAX_ID;
            }

            if (isHRImage) {
              var midImageId = imageId - HR_IMAGE_MIN_ID;
              image = image.replace(/_([0-9]+)\./, "_" + midImageId + ".");
              actionUrl = _NewsmemoryAJAX.default.getInArticleImageUrl(paper, issue, edition, image, imageIssue, page, filetime, secret);
            }

            imgTag = imgTag.replace(originalUrl, actionUrl);
          }

          var jsFunction = "saveImage";
          var attribute = "data-save";

          if (!isOnline) {
            jsFunction = "retrieveImage";
            attribute = "data-retrieve";
          }

          imgTag = imgTag.replace(/onload="[^"]*"/, attribute + "='" + jsFunction + "(this, \"" + paper + "\", \"" + issue + "\", \"" + edition + "\", \"" + page + "\", \"" + image + "\", \"" + filetime + "\")'");
          var onClickAction = "openGallery(\"" + galleryActionUrl + "\")";

          try {
            var imgDom = _$$_REQUIRE(_dependencyMap[10]).StringUtils.parseFromString(imgTag, "text/html");

            if (imgDom) {
              var imgs = imgDom.getElementsByTagName("img");

              if (imgs && imgs[0]) {
                if (imgs[0].hasAttribute("qrcode")) {
                  var qrCodeLink = imgs[0].getAttribute("title");
                  onClickAction = "showImageOptions(\"" + qrCodeLink + "\", \"" + actionUrl + "\")";
                }

                if (isHRImage) {
                  imgs[0].setAttribute("hrsrc", galleryActionUrl);
                  imgTag = String(imgs[0]).trim();
                }
              }
            }
          } catch (e) {}

          var modifiedImg = "<p class='imgContainer' onclick='javascript:" + onClickAction + "'>" + imgTag + "</p>";
          newHtml = newHtml.replace(img, modifiedImg);
        }
      } while (matcher !== null);
    }

    return newHtml;
  };

  var skipNodeByAttrOrContent = function skipNodeByAttrOrContent(node, content) {
    if (node && node.attributes && node.attributes.length) {
      for (var i = 0; i < node.attributes.length; i++) {
        var attribute = node.attributes[i];

        if (attribute.nodeValue.includes("pageJump") || attribute.nodeValue.includes("scrollpageToContinue")) {
          return true;
        }

        var strNode = _$$_REQUIRE(_dependencyMap[10]).StringUtils.decodeHTML(String(node));

        if (content && strNode.includes(content)) {
          return true;
        }
      }
    }

    return false;
  };

  var manipulateLastColumnContent = function manipulateLastColumnContent(html, css, options, article) {
    var articleIndex = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
    var biggestImage = arguments.length > 5 ? arguments[5] : undefined;
    var defaultCss = css.defaultCss,
        customCss = css.customCss;

    var cssTheme = _$$_REQUIRE(_dependencyMap[13]).Css.getThemeInUse();

    var themeClass = "";

    if (cssTheme) {
      themeClass = " class='" + cssTheme + "'";
    }

    var document = _$$_REQUIRE(_dependencyMap[10]).StringUtils.parseFromString("<div>" + html + "</div>", "text/html");

    var hrCounter = document.getElementsByTagName("hr").length;
    var artAddIndex = -1;
    var artADDs = [];
    var isParentArticle = article ? article.isParent() : false;

    for (var i = 0; i <= hrCounter; i++) {
      var artAdd = document.getElementById("ArtADD" + i);

      if (artAdd && (!isParentArticle || i > articleIndex)) {
        var scrollMergeADD = artAdd.firstChild;
        var nodes = scrollMergeADD.childNodes;
        var removeHtmlBreakTag = false;
        var j = 0;

        while (j < nodes.length) {
          var node = nodes[j];

          if (skipNodeByAttrOrContent(node, biggestImage ? biggestImage.getUrl() : undefined)) {
            removeHtmlBreakTag = true;
            node.parentNode.removeChild(node);
          } else {
            if (removeHtmlBreakTag && (node.nodeName === "br" || node.nodeName === "hr" || String(node).match(/div class="hr"/g))) {
              node.parentNode.removeChild(node);
            } else if (String(node).trim().length === 0) {
              node.parentNode.removeChild(node);
            } else {
              removeHtmlBreakTag = false;
              j += 1;
            }
          }
        }

        if (scrollMergeADD.childNodes.length > 0) {
          artADDs.push(artAdd);
          artAddIndex = i;
        }
      }
    }

    var content = artADDs.join("");

    if (content && content.length) {
      var fontRegular = options.fontRegular,
          fontBold = options.fontBold,
          dynamicFonts = options.dynamicFonts;
      var fontSize = options.fontSize;
      fontSize = fontSize || 100;
      var newHtml = "\n        <html>\n            <head>\n                <meta name='viewport' content='initial-scale=1.0, maximum-scale=1.0'>\n                <style>\n                    " + (0, _$$_REQUIRE(_dependencyMap[14]).generateAssetsFontCss)(fontRegular, fontBold, dynamicFonts) + "\n                    " + defaultCss + "\n                    " + customCss + "\n                    " + (0, _$$_REQUIRE(_dependencyMap[15]).NO_ARTICLE_TEXT_SELECTION_CSS)() + "\n                </style>\n            </head>\n            <body " + themeClass + ">\n                <div id=\"content\" style=\"font-size: " + fontSize + "%;\" dir=\"auto\" onclick=\"lastColumnPress\">\n                    <div id=\"slideArt\">\n                        " + content + "\n                    </div>\n                </div>\n            </body>\n            <script type='text/javascript'>\n                    function lastColumnPress(){\n                        window.ReactNativeWebView.postMessage(JSON.stringify({type: 'LAST_COLUMN_PRESS'}));\n                    }\n            </script>\n            <script type='text/javascript'>\n                var openGallery = " + _$$_REQUIRE(_dependencyMap[14]).openGallery + ";\n                var showImageOptions = " + _$$_REQUIRE(_dependencyMap[14]).showImageOptions + ";\n                var retrieveImage = " + _$$_REQUIRE(_dependencyMap[14]).retrieveImage + ";\n                var replaceImgSrcWithBase64 = " + _$$_REQUIRE(_dependencyMap[14]).replaceImgSrcWithBase64 + ";\n            </script>\n        </html>";
      newHtml = newHtml.replace(REGEX_TAGS.HTML_ENTITY_GREATER, ">");
      newHtml = newHtml.replace(REGEX_TAGS.HTML_ENTITY_LOWER, "<");
      return {
        html: newHtml.replace(REGEX_TAGS.NEW_LINE, ""),
        artAddIndex: artAddIndex
      };
    }

    return {
      html: "",
      artAddIndex: -1
    };
  };

  exports.manipulateLastColumnContent = manipulateLastColumnContent;

  function applyDesktopLayout(strHtml, options) {
    var newHtml = strHtml;

    var doc = _$$_REQUIRE(_dependencyMap[10]).StringUtils.parseFromString("<html><body>" + newHtml + "</body></html>", "text/html");

    var artAdd = doc.getElementById("ArtADD");
    var strDoc = String(doc);
    var tagsAdsTop = strDoc.match(REGEX_TAGS.ADS_TOP) || [];
    var tagsAdsMiddle = strDoc.match(REGEX_TAGS.ADS_MIDDLE) || [];
    var tagsAdsBottom = strDoc.match(REGEX_TAGS.ADS_BOTTOM) || [];
    var bottomAdAtLast = true;

    if (artAdd || tagsAdsTop.length > 0 || tagsAdsMiddle.length > 0 || tagsAdsBottom.length > 0) {
      bottomAdAtLast = false;
      var firstColumnContent = strDoc;
      var strArtAdd = "";

      if (artAdd) {
        strArtAdd = String(artAdd);
        firstColumnContent.replace(strArtAdd, "");
      }

      tagsAdsTop.forEach(function (tag) {
        firstColumnContent = firstColumnContent.replace(tag, "");
      });
      tagsAdsMiddle.forEach(function (tag) {
        firstColumnContent = firstColumnContent.replace(tag, "");
      });
      tagsAdsBottom.forEach(function (tag) {
        firstColumnContent = firstColumnContent.replace(tag, "");
      });
      newHtml = "\n                    <style>\n                        #artCols {\n                            display: flex;\n                        }\n\n                        #artCol1 {\n                            flex: 1\n                        }\n\n                        #artCol2 {\n                            width: 300px;\n                        }\n                    </style>\n                    " + tagsAdsTop + "\n                    <div id='artCols'>\n                        <div id='artCol1'>" + firstColumnContent + "</div>\n                        <div id='artCol2'>" + tagsAdsMiddle + strArtAdd + tagsAdsBottom + "</div>\n                    </div>\n                    ";
    }

    var imageLimit = options.imageLimit,
        isOnline = options.isOnline;
    var imageMatches = newHtml.match(REGEX_TAGS.IMAGE);
    var imagesPresent = imageMatches && imageMatches.length > imageLimit;
    newHtml = (0, _$$_REQUIRE(_dependencyMap[16]).addInStoryAdsToHtml)(newHtml, imagesPresent, isOnline, bottomAdAtLast);
    return newHtml;
  }

  var manipulateArticleContent = function manipulateArticleContent(html, css, options, articleIndexInChain, artAddIndex) {
    var customCss = css.customCss;
    var defaultCss = css.defaultCss;

    var cssTheme = _$$_REQUIRE(_dependencyMap[13]).Css.getThemeInUse();

    var themeClass = "";

    if (options.ignoreTheme) {
      var _global$getActivePSet = global.getActivePSetup(),
          enableArticleTextSelection = _global$getActivePSet.enableArticleTextSelection;

      var _global$getFontsConfi = global.getFontsConfig(),
          _fontRegular = _global$getFontsConfi.fontRegular,
          _fontBold = _global$getFontsConfi.fontBold;

      defaultCss = (0, _$$_REQUIRE(_dependencyMap[15]).DEFAULT_CSS)(_fontRegular.fontWeb, _fontBold.fontWeb, enableArticleTextSelection, true);
    } else if (cssTheme) {
      themeClass = " class='" + cssTheme + "'";
    }

    var fontRegular = options.fontRegular,
        fontBold = options.fontBold,
        dynamicFonts = options.dynamicFonts,
        searchText = options.searchText,
        searchColor = options.searchColor,
        truncateArticle = options.truncateArticle,
        enableColumnizer = options.enableColumnizer,
        enableArticleImageReposition = options.enableArticleImageReposition,
        enableDesktopLayout = options.enableDesktopLayout,
        allBlack = options.allBlack,
        columnView = options.columnView,
        mergeArticles = options.mergeArticles,
        keepArticlePositionOnRotation = options.keepArticlePositionOnRotation,
        contentWidth = options.contentWidth,
        containerHeight = options.containerHeight;
    var fontSize = options.fontSize;
    fontSize = fontSize || 100;
    var truncateScriptStr = "";

    if (truncateArticle) {
      truncateScriptStr = _$$_REQUIRE(_dependencyMap[14]).truncateScript;
    }

    truncateScriptStr += "window.ReactNativeWebView.postMessage(JSON.stringify((" + _$$_REQUIRE(_dependencyMap[14]).retrieveInnerText + ")()));";
    var libraryScripts = "";
    var columnizerScript = "";
    var columnizerCss = "";
    var moveImagesScript = "";
    var executeSaveImages = "";
    var executeMovePageJumps = "";
    var executeMoveImages = "";
    var allBlackCss = "";

    if (enableColumnizer) {
      if (columnView === 2) {
        articleIndexInChain = 0;
      }

      columnizerScript = "\n                <script type='text/javascript'>\n                    " + _columnizerUtils.default + ";\n                    setColumnizer(" + articleIndexInChain + ", " + mergeArticles + ");\n                </script>";
      columnizerCss = "\n                <style>\n                    #content{\n                        width: " + contentWidth + "px;\n                        box-sizing: border-box;\n                        -moz-box-sizing: border-box;\n                        -webkit-box-sizing: border-box;\n                    }\n                </style>\n        ";
      libraryScripts = "<script src=\"data:text/javascript;base64," + _$$_REQUIRE(_dependencyMap[17]).columnizerBase64 + "\"></script>";
    } else {
      executeSaveImages = "\n                saveImages();";
      executeMovePageJumps = "\n                movePageJumps();";

      if (enableArticleImageReposition && !enableDesktopLayout) {
        executeMoveImages = "\n                moveImages();\n                if (typeof getLoadedAds === 'function') { \n                    getLoadedAds(); \n                };";
      }
    }

    if (enableArticleImageReposition && !enableDesktopLayout) {
      moveImagesScript = "\n        <script type='text/javascript'>\n            var moveImages = " + (0, _$$_REQUIRE(_dependencyMap[14]).moveImages)(containerHeight) + ";\n            " + executeMoveImages + "\n        </script>";
    }

    if (allBlack) {
      allBlackCss = "\n                <style>\n                    p {\n                        color: black !important;\n                    }\n                </style>\n        ";
    }

    if (enableDesktopLayout) {
      html = applyDesktopLayout(html, options);
    }

    var positionScript = "";

    if (keepArticlePositionOnRotation) {
      positionScript = "\n            <script type='text/javascript'>\n                " + _$$_REQUIRE(_dependencyMap[14]).addPositionId + ";\n                var getPositionId = " + _$$_REQUIRE(_dependencyMap[14]).retrievePositionIdAtOffset + ";\n                var goToPositionId = " + _$$_REQUIRE(_dependencyMap[14]).retrieveOffsetByPositionId + ";\n            </script>";
    }

    var newHtml = "\n        <html>\n            <head>\n                <meta name='viewport' content='initial-scale=1.0, maximum-scale=1.0'>\n                <style>\n                    " + (0, _$$_REQUIRE(_dependencyMap[14]).generateAssetsFontCss)(fontRegular, fontBold, dynamicFonts) + "\n                    " + defaultCss + "\n                    " + customCss + "\n                </style>\n                " + columnizerCss + "\n                " + allBlackCss + "\n                <script src=\"https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js\" ></script>\n                " + libraryScripts + "\n            </head>\n            <body " + themeClass + ">\n                <div id=\"content\" style=\"font-size: " + fontSize + "%;\" dir=\"auto\">\n                    <div id=\"slideArt\">\n                        " + html + "\n                    </div>\n                </div>\n                <script type='text/javascript'>\n                    function artAddTopPosition(){\n                        try{\n                            window.ReactNativeWebView.postMessage(JSON.stringify({\n                                type: 'ART_ADD_TOP',\n                                content: document.getElementById('ArtADD" + artAddIndex + "').offsetTop\n                            }));\n                        } catch(e){\n                            console.log(e.message);\n                        }\n                    }\n                    /* disable article extra if article is truncated */\n                    document.body.onload = function() {\n                        artAddTopPosition();\n                    };\n                </script>\n                <script type='text/javascript'>\n                    var art_getJumpId = " + _$$_REQUIRE(_dependencyMap[14]).getJumpId + ";\n                </script>\n                <script type='text/javascript'>\n                    var getLoadedAds = " + (0, _$$_REQUIRE(_dependencyMap[14]).retrieveAdPlaceholders)() + ";\n                </script>\n                <script type='text/javascript'>\n                    var showNativeAd = " + _$$_REQUIRE(_dependencyMap[14]).showNativeAd + ";\n                </script>\n                <script type='text/javascript'>\n                    var hideNativeAd = " + _$$_REQUIRE(_dependencyMap[14]).hideNativeAd + ";\n                </script>\n                <script type='text/javascript'>\n                    var openGallery = " + _$$_REQUIRE(_dependencyMap[14]).openGallery + ";\n                    var showImageOptions = " + _$$_REQUIRE(_dependencyMap[14]).showImageOptions + ";\n                </script>\n                <script type='text/javascript'>\n                    var saveImages = " + _$$_REQUIRE(_dependencyMap[14]).saveImages + ";\n                    var saveImage = " + _$$_REQUIRE(_dependencyMap[14]).saveImage + ";\n                    var retrieveImage = " + _$$_REQUIRE(_dependencyMap[14]).retrieveImage + ";\n                    var replaceImgSrcWithBase64 = " + _$$_REQUIRE(_dependencyMap[14]).replaceImgSrcWithBase64 + ";\n                    var movePageJumps = " + _$$_REQUIRE(_dependencyMap[14]).movePageJumps + ";\n                    " + executeSaveImages + "\n                    " + executeMovePageJumps + "\n                </script>\n                " + moveImagesScript + "\n                <script type='text/javascript'>\n                    var scrollpageToContinue = " + _$$_REQUIRE(_dependencyMap[14]).scrollpageToContinue + ";\n                </script>\n                <script type='text/javascript'>\n                    var getHrsPosition = " + _$$_REQUIRE(_dependencyMap[14]).getHrsPosition + ";\n                </script>\n                " + columnizerScript + "\n                " + positionScript + "\n                <script type='text/javascript'>\n                    " + _$$_REQUIRE(_dependencyMap[14]).addLongPressEvent + "\n                </script>\n                <script type='text/javascript'>" + truncateScriptStr + "</script>\n            </body>\n        </html>";

    if (searchText) {
      newHtml = newHtml.replace(new RegExp("(" + searchText + "(?![^<>]*>))", "gim"), "<a style='color:" + searchColor + ";'>" + searchText + "</a>");
    }

    newHtml = newHtml.replace(REGEX_TAGS.HTML_ENTITY_GREATER, ">");
    newHtml = newHtml.replace(REGEX_TAGS.HTML_ENTITY_LOWER, "<");

    try {
      newHtml = newHtml.replace(REGEX_TAGS.MYONCLICK, "onclick=");
    } catch (e) {}

    return newHtml.replace(REGEX_TAGS.NEW_LINE, "");
  };

  exports.manipulateArticleContent = manipulateArticleContent;

  var replacePageJumps = function replacePageJumps(edition, articles, pjType, pjIndex) {
    var replacedTags = [];

    if (articles && articles.length > 0) {
      var article = articles[0];
      var page = edition.getPageByArticle(article);

      if (article && page) {
        var pageJumps = article.getPageJumps();

        if (pageJumps && pageJumps.length > 0) {
          pageJumps.forEach(function (pageJump, index) {
            var pageRef = "";

            if (pageJump) {
              switch (pjType) {
                case _$$_REQUIRE(_dependencyMap[11]).MERGE_ARTICLES_TYPES.MERGED:
                  if (pageJump.isHiddenSlug() || pageJump.isSlug()) {
                    (function () {
                      var slug = pageJump.isSlug() ? pageJump.getSlug() : "";
                      var slugDiv = slug ? "<div class='pageJumpRef pageJumpSlug'>" + slug + "</div>" : "";

                      var fromPage = _pageUtils.default.removeZerosFromPageNumber(pageJump.getFrom() || page.getPage());

                      var articleFrom = pageJump.getArticleFrom() >= 0 ? pageJump.getArticleFrom() : article.getXmlId();
                      var pageJumpTo = pageJump.getTo() || page.getPage();
                      var toPage = "<a class='pageJumpRef' onClick='javascript:scrollpageToContinue(\"" + pageJumpTo + "\",\"" + pageJump.getArticleId() + "\")'>" + _pageUtils.default.removeZerosFromPageNumber(pageJumpTo) + "</a>";

                      if (slug) {
                        (function () {
                          var nextPageJumpsToAdd = [];
                          var nextPageJumpTos = [];

                          var _loop = function _loop(i) {
                            var nextArticle = articles[i];

                            if (nextArticle) {
                              var nextPageJumps = nextArticle.getPageJumps();

                              if (nextPageJumps && nextPageJumps.length > 0) {
                                nextPageJumps.forEach(function (nextPageJump, nextIndex) {
                                  if (nextPageJump && (nextPageJump.isHiddenSlug() || nextPageJump.isSlug()) && nextPageJump.getSlug() === slug) {
                                    var nextPageJumpTo;

                                    if (nextPageJump.getTo()) {
                                      if (nextPageJump.getTo() !== pageJumpTo) {
                                        nextPageJumpTo = nextPageJump.getTo();
                                      }
                                    } else if (nextPageJump.getArticleFrom()) {
                                      var nextPage = edition.getPageByArticle(nextArticle);

                                      if (nextPage && nextPage.getPage() !== pageJumpTo) {
                                        nextPageJumpTo = nextPage.getPage();
                                      }
                                    }

                                    if (nextPageJumpTo && !nextPageJumpTos.includes(nextPageJumpTo)) {
                                      nextPageJumpTos.push(nextPageJumpTo);
                                      nextPageJumpsToAdd.push(nextPageJump);
                                    }
                                  }
                                });
                              }
                            }
                          };

                          for (var i = 1; i < articles.length; i++) {
                            _loop(i);
                          }

                          if (nextPageJumpTos.length > 0) {
                            toPage += nextPageJumpTos.reduce(function (result, nextPageJumpTo, pageJumpIndex) {
                              var articleId = nextPageJumpsToAdd[pageJumpIndex] ? nextPageJumpsToAdd[pageJumpIndex].getArticleId() : "";
                              return result + ", <a class='pageJumpRef' onClick='javascript:scrollpageToContinue(\"" + nextPageJumpTo + "\",\"" + articleId + "\")'>" + _pageUtils.default.removeZerosFromPageNumber(nextPageJumpTo) + "</a>";
                            }, "");
                          }
                        })();
                      }

                      pageRef = "\n                                    <div id='pageJump" + pjIndex + "' class='pageJump pageJumpMergeArt1' data-pjindex='" + pjIndex + "'>\n                                        <div class='pageJumpContainer'>\n                                            " + slugDiv + "\n                                            <span class=\"pjFromPage\">\n                                                " + global.strings("pj_from_page") + "\n                                            </span>\n                                            <a class='pageJumpRef' onClick='javascript:scrollpageToContinue(\"" + fromPage + "\",\"" + articleFrom + "\")'>\n                                                " + fromPage + "\n                                            </a>\n                                            <span class=\"pjToPage\">\n                                                " + global.strings("pj_to_page") + " \n                                            </span>       \n                                            " + toPage + "\n                                        </div>\n                                    </div>\n                                    <br/>";
                    })();
                  } else if (pageJump.isParent()) {
                    var pjText = "";
                    var articleId = -1;

                    if (pageJump.hasTo()) {
                      pjText = _pageUtils.default.removeZerosFromPageNumber(pageJump.getTo());
                      articleId = pageJump.getArticleId();
                    } else if (pageJump.hasFrom()) {
                      pjText = _pageUtils.default.removeZerosFromPageNumber(pageJump.getFrom());
                      articleId = pageJump.getArticleFrom();
                    }

                    if (pjText) {
                      pageRef = "\n                                        <div id='pageJump" + pjIndex + "' class='pageJump pageJumpMergeArt1' data-pjindex='" + pjIndex + "'>\n                                            <span class=\"pjFromPage pjFromPageMergeArt1\" onClick='javascript:scrollpageToContinue(\"" + pjText + "\",\"" + articleId + "\")'>\n                                            " + global.strings("pj_continue_to_page_parent") + "\n                                            </span>\n                                            <a class='pageJumpRef' onClick='javascript:scrollpageToContinue(\"" + pjText + "\",\"" + articleId + "\")'>" + pjText + "</a>\n                                        </div>\n                                        <br/>";
                    }
                  }

                  break;

                case _$$_REQUIRE(_dependencyMap[11]).MERGE_ARTICLES_TYPES.ONLY_FIRST:
                  if (pageJump.hasFrom()) {
                    var fromPage = _pageUtils.default.removeZerosFromPageNumber(pageJump.getFrom());

                    pageRef = "\n                                    <a\n                                        class=\"firstindexarticle\"\n                                        style=\"padding:0;\"\n                                        ontouchstart=\"this.style.backgroundColor = '#ddd';\"\n                                        href=\"javascript:scrollpageToContinue('" + fromPage + "','" + pageJump.getArticleFrom() + "');\">\n                                        <b>" + index + "</b>\n                                        <b style='color:black !important;'>" + global.strings("pj_from_page") + "</b>\n                                    </a>\n                                    <a class=\"pageJumpRef\" style=\"text-decoration:none; color:blue;\" href=\"javascript:scrollpageToContinue('" + fromPage + "','" + pageJump.getArticleFrom() + "');\">\n                                        <b>" + fromPage + "</b>\n                                    </a>";
                  }

                  break;

                case _$$_REQUIRE(_dependencyMap[11]).MERGE_ARTICLES_TYPES.PAGE_REFS:
                  if (pageJump.isHiddenSlug() || pageJump.isSlug()) {
                    var _fromPage = _pageUtils.default.removeZerosFromPageNumber(pageJump.getFrom() || page.getPage());

                    var articleFrom = pageJump.getArticleFrom() >= 0 ? pageJump.getArticleFrom() : article.getXmlId();

                    var toPage = _pageUtils.default.removeZerosFromPageNumber(pageJump.getTo() || page.getPage());

                    var slug = pageJump.isSlug() ? pageJump.getSlug() : "";
                    var slugDiv = slug ? "<span class='pageJumpRef pageJumpSlug'>\n                                                    <a class='pageJumpRef' onClick='javascript:scrollpageToContinue(\"" + toPage + "\",\"" + pageJump.getArticleId() + "\")'>" + slug + "</a>\n                                                </span>" : "";
                    pageRef = "\n                                    <div id='pageJump" + pjIndex + "' class='pageJump pageJumpMergeArt3' data-pjindex='" + pjIndex + "'>\n                                        " + slugDiv + "\n                                        <span class=\"pjFromPage\">\n                                            " + global.strings("pj_from_page") + "\n                                        </span>\n                                        <a class='pageJumpRef' onClick='javascript:scrollpageToContinue(\"" + _fromPage + "\",\"" + articleFrom + "\")'>\n                                            " + _fromPage + "\n                                        </a>\n                                        <span class=\"pjToPage\">\n                                            " + global.strings("pj_to_page") + " \n                                        </span>\n                                        <a class='pageJumpRef' onClick='javascript:scrollpageToContinue(\"" + toPage + "\",\"" + pageJump.getArticleId() + "\")'>\n                                            " + toPage + "\n                                        </a>\n                                    </div>\n                                    <br/>";
                  } else if (pageJump.isParent()) {
                    var _pjText = "";

                    var _articleId = -1;

                    if (pageJump.hasTo()) {
                      _pjText = _pageUtils.default.removeZerosFromPageNumber(pageJump.getTo());
                      _articleId = pageJump.getArticleId();
                    } else if (pageJump.hasFrom()) {
                      _pjText = _pageUtils.default.removeZerosFromPageNumber(pageJump.getFrom());
                      _articleId = pageJump.getArticleFrom();
                    }

                    if (_pjText) {
                      pageRef = "\n                                        <div id='pageJump" + pjIndex + "' class='pageJump pageJumpMergeArt3' data-pjindex='" + pjIndex + "'>\n                                            <span class=\"pjFromPage pjFromPageMergeArt3\" onClick='javascript:scrollpageToContinue(\"" + _pjText + "\",\"" + _articleId + "\")'>\n                                            " + global.strings("pj_continue_to_page_parent") + "\n                                            </span>\n                                            <a class='pageJumpRef' onClick='javascript:scrollpageToContinue(\"" + _pjText + "\",\"" + _articleId + "\")'>" + _pjText + "</a>\n                                        </div>\n                                        <br/>";
                    }
                  }

                  break;
              }

              if (pageRef) {
                replacedTags.push(pageRef);
              }
            }
          });
        }
      }
    }

    return replacedTags;
  };

  var getDontSplitChildArt = function getDontSplitChildArt(url, width, height, paper, issue, edition, page, image, filetime, isOnline) {
    var jsFunction = "saveImage";
    var attribute = "data-save";

    if (!isOnline) {
      jsFunction = "retrieveImage";
      attribute = "data-retrieve";
    }

    return "\n    <div class='dontsplit' style='text-align: center;'>\n        <p onclick='javascript:openGallery(\"" + url + "\")'>\n            <img src=\"" + url + "\" width=\"" + width + "\" height=\"" + height + "\" " + attribute + "='" + jsFunction + "(this, \"" + paper + "\", \"" + issue + "\", \"" + edition + "\", \"" + page + "\", \"" + image + "\", \"" + filetime + "\")' isChildArt/>\n        </p>\n    </div>";
  };

  var getDontSplitChildArtEditorial = function getDontSplitChildArtEditorial(html) {
    if (!html) {
      return "";
    }

    var htmlArt = html.replace(REGEX_TAGS.P_MAINTITLE, '<p class="maintitleChild">');
    htmlArt = htmlArt.replace(REGEX_TAGS.P_ABODY, '<p class="abody abodyChild">');
    htmlArt = htmlArt.replace(REGEX_TAGS.P_SUBTITLE, '<p class="subtitleChild">');
    htmlArt = htmlArt.replace(REGEX_TAGS.ADS_TOP, "");
    htmlArt = htmlArt.replace(REGEX_TAGS.ADS_MIDDLE, "");
    htmlArt = htmlArt.replace(REGEX_TAGS.ADS_BOTTOM, "");
    return "\n        <div class='dontsplit' style='text-align: center;'>\n            <div style='position:relative;'>" + htmlArt + "</div>\n        </div>";
  };

  var mergeImgAndCaption = function mergeImgAndCaption() {
    var html = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
    var tagsImg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
    var tagsParagraph = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
    var htmlImgAndCaption = "";

    for (var i = 0; i < tagsImg.length; i++) {
      var tagImg = tagsImg[i];
      var paragraph = "";

      if (tagImg) {
        for (var j = 0; j < tagsParagraph.length; j++) {
          var tagParagraph = tagsParagraph[j];

          if (tagParagraph) {
            if (html.indexOf(tagImg + tagParagraph) > 0) {
              paragraph = tagParagraph;
            } else if (i === 0 && html.indexOf(tagParagraph) > 0 && html.indexOf(tagParagraph + tagImg) > 0) {
              paragraph = tagParagraph;
            }
          }
        }
      }

      htmlImgAndCaption += "\n            <div id=\"imgArt" + i + "\" class=\"imgArt dontsplit\">\n                " + tagImg + "\n                " + paragraph + "\n            </div>\n        ";
    }

    return htmlImgAndCaption;
  };

  var fixByline = function fixByline() {
    var html = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
    var tagsByline = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];

    var _global$getActivePSet2 = global.getActivePSetup(),
        enableArticleBylineHRs = _global$getActivePSet2.enableArticleBylineHRs;

    var bylineGroupActive = false;

    for (var i = 0; i < tagsByline.length; i++) {
      var tagByline = tagsByline[i];

      if (tagByline) {
        var isLastBylineOfGroup = html.indexOf(tagByline + "<p class=\"byline\">") === -1;

        if (enableArticleBylineHRs) {
          if (!bylineGroupActive) {
            html = html.replace(tagByline, "<hr class=\"hrbyline hrbylinetop\" />" + tagByline);
            bylineGroupActive = true;
          }

          if (isLastBylineOfGroup) {
            html = html.replace(tagByline, tagByline + "<hr class=\"hrbyline hrbylinebottom\" />");
            bylineGroupActive = false;
          }
        } else if (isLastBylineOfGroup) {
          html = html.replace(tagByline, tagByline.replace("</p>", "<div class='hrByline'></div></p>"));
        }
      }
    }

    return html;
  };

  var getChildArts = function getChildArts(edition, article, secret, isOnline) {
    var _edition$getChildArts = edition.getChildArts(article),
        page = _edition$getChildArts.page,
        childArts = _edition$getChildArts.articles;

    var htmlChildArtGraphic = "";
    var htmlChildArtEditorial = "";

    for (var i = 0; i < childArts.length; i++) {
      var childArt = childArts[i];

      if (childArt.getType() !== _EPaperArticle.EPaperArticleType.EDITORIAL) {
        var _NewsmemoryUtils$getC = _newsmemoryUtils.default.getChildArtPrintImageInfo(childArt),
            boxesString = _NewsmemoryUtils$getC.boxesString,
            maxX = _NewsmemoryUtils$getC.maxX,
            maxY = _NewsmemoryUtils$getC.maxY,
            medDpi = _NewsmemoryUtils$getC.medDpi;

        var childArtUrl = _NewsmemoryAJAX.default.getChildArtImageUrl(edition.getIssue(), childArt.getXmlId(), boxesString, medDpi, maxX, maxY, page.getFilename(), page.getModifyTime(), secret);

        htmlChildArtGraphic += getDontSplitChildArt(childArtUrl, maxX, maxY, edition.getPaper(), edition.getIssue(), edition.getEdition(), page.getFilename(), "childart_" + childArt.getXmlId() + ".jpg", page.getModifyTime(), isOnline);
      } else {
        var htmlArt = fixHtml(childArt.getHtml());
        htmlArt = replaceImageUrlWithAction(htmlArt, edition.getIssue(), edition.getEdition(), page.getFilename(), page.getModifyTime(), secret, isOnline);
        htmlChildArtEditorial += getDontSplitChildArtEditorial(htmlArt);
      }
    }

    return {
      htmlChildArtGraphic: htmlChildArtGraphic,
      htmlChildArtEditorial: htmlChildArtEditorial
    };
  };

  var getTagsImgFromHTML = function getTagsImgFromHTML() {
    var html = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
    var tagsImg = html.match(REGEX_TAGS.IMAGE);
    return tagsImg || [];
  };

  var getTagsFromHTML = function getTagsFromHTML(html, edition, article, secret, isOnline) {
    var tagsImg = getTagsImgFromHTML(html);
    var tagsContinue = html.match(REGEX_TAGS.CONTINUE) || [];
    var tagsParagraph = html.match(REGEX_TAGS.PARAGRAPH) || [];
    var tagsAdsTop = html.match(REGEX_TAGS.ADS_TOP) || [];
    var tagsAdsMiddle = html.match(REGEX_TAGS.ADS_MIDDLE) || [];
    var tagsAdsBottom = html.match(REGEX_TAGS.ADS_BOTTOM) || [];
    var tagsPagejump = html.match(REGEX_TAGS.PAGEJUMP) || [];
    var tagsQuote = html.match(REGEX_TAGS.QUOTE) || [];
    var tagsByline = html.match(REGEX_TAGS.BYLINE) || [];
    var tagsMainTitle = html.match(REGEX_TAGS.MAINTITLE) || [];
    html = html.replace(REGEX_TAGS.NEW_LINE, "");

    var _getChildArts = getChildArts(edition, article, secret, isOnline),
        htmlChildArtGraphic = _getChildArts.htmlChildArtGraphic,
        htmlChildArtEditorial = _getChildArts.htmlChildArtEditorial;

    var htmlImgAndCaption = mergeImgAndCaption(html, tagsImg, tagsParagraph);
    return {
      html: html,
      htmlImgAndCaption: htmlImgAndCaption,
      tags: {
        tagsImg: tagsImg,
        tagsMainTitle: tagsMainTitle,
        tagsContinue: tagsContinue,
        tagsParagraph: tagsParagraph,
        tagsAdsTop: tagsAdsTop,
        tagsAdsMiddle: tagsAdsMiddle,
        tagsPagejump: tagsPagejump,
        tagsAdsBottom: tagsAdsBottom,
        tagsQuote: tagsQuote,
        tagsByline: tagsByline
      },
      childArt: {
        htmlChildArtGraphic: htmlChildArtGraphic,
        htmlChildArtEditorial: htmlChildArtEditorial
      }
    };
  };

  exports.getTagsFromHTML = getTagsFromHTML;

  var clearHtml = function clearHtml() {
    var html = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
    var tags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
    var tagsByline = tags.tagsByline;
    html = html.replace(REGEX_TAGS.IMAGE, "");
    html = html.replace(REGEX_TAGS.CONTINUE, "");
    html = html.replace(REGEX_TAGS.PARAGRAPH, "");
    html = html.replace(REGEX_TAGS.BR_HR, "");
    html = html.replace(REGEX_TAGS.PAGEJUMP, "");
    html = html.replace(REGEX_TAGS.ADS_TOP, "");
    html = html.replace(REGEX_TAGS.ADS_BOTTOM, "");
    html = html.replace(REGEX_TAGS.QUOTE, "");
    return fixByline(html, tagsByline);
  };

  function calculateMidAdsPosition(html) {
    var htmlPieces = html.split(REGEX_TAGS.HR).map(function (htmlPiece) {
      var midAdsStr = "<p id='articleAds_mid' style='display:none;' />";
      var aBodyParagraphCounter = 0;

      var document = _$$_REQUIRE(_dependencyMap[10]).StringUtils.parseFromString(htmlPiece, "text/html");

      var children = [];
      var i;

      for (i = 0; i < document.childNodes.length; i++) {
        var str = String(document.childNodes[i]).trim();

        if (str) {
          children.push(str);
        }
      }

      i = 0;

      while (i < children.length) {
        var child = children[i];

        if (child.match(REGEX_TAGS.CLASS_ABODY)) {
          aBodyParagraphCounter += 1;
        } else if (child.match(REGEX_TAGS.ID_ADS_MID)) {
          midAdsStr = child;
          children.splice(i, 1);
          continue;
        }

        i += 1;
      }

      var counter = 0;

      for (i = 0; i < children.length; i++) {
        var _child = children[i];

        if (_child.match(REGEX_TAGS.CLASS_ABODY)) {
          if (counter === parseInt(aBodyParagraphCounter / 2, 10)) {
            children.splice(i - 1, 0, midAdsStr);
            break;
          }

          counter += 1;
        }
      }

      return children.join("");
    });
    return htmlPieces.join("<hr/>");
  }

  function moveMediaOnTop(htmlToManage, index, edition, article, pjArticle, secret, mergeArticles, enableColumnizer, isOnline) {
    var result = getTagsFromHTML(htmlToManage, edition, article, secret, isOnline);
    var html = result.html,
        tags = result.tags,
        childArt = result.childArt;
    var htmlImgAndCaption = result.htmlImgAndCaption;
    var tagsAdsBottom = tags.tagsAdsBottom,
        tagsQuote = tags.tagsQuote;
    var htmlChildArtEditorial = childArt.htmlChildArtEditorial,
        htmlChildArtGraphic = childArt.htmlChildArtGraphic;
    var newHtml = clearHtml(html, tags);

    if (tagsAdsBottom && tagsAdsBottom[0]) {
      newHtml += tagsAdsBottom[0];
    }

    newHtml += "<div id=\"ArtADD" + index + "\">";
    newHtml += "<div id=\"scrollMergeADD\" class=\"dontsplit attr" + index + "\">";
    var htmlDontSplit = "";
    replacePageJumps(edition, [pjArticle], mergeArticles, index).forEach(function (tagPagejump) {
      htmlDontSplit += tagPagejump;
    });

    if (tagsQuote && tagsQuote.length) {
      if (htmlDontSplit) {
        htmlDontSplit += "<div class='hr'></div>";
      }

      tagsQuote.forEach(function (tagQuote) {
        htmlDontSplit += tagQuote;

        if (htmlImgAndCaption) {
          var imgsQuote = getTagsImgFromHTML(tagQuote);

          if (imgsQuote && imgsQuote.length) {
            imgsQuote.forEach(function (imgQuote) {
              htmlImgAndCaption = htmlImgAndCaption.replace(imgQuote, "");
            });
          }
        }
      });
    }

    if (htmlImgAndCaption) {
      if (htmlDontSplit) {
        htmlDontSplit += "<div class='hr'></div>";
      }

      htmlDontSplit += htmlImgAndCaption;
    }

    if (htmlChildArtGraphic) {
      if (htmlDontSplit) {
        htmlDontSplit += "<div class='hr'></div>";
      }

      htmlDontSplit += htmlChildArtGraphic;
    }

    if (htmlChildArtEditorial) {
      if (htmlDontSplit) {
        htmlDontSplit += "<div class='hr'></div>";
      }

      htmlDontSplit += htmlChildArtEditorial;
    }

    if (htmlDontSplit && enableColumnizer) {
      htmlDontSplit += "<div class='hr'></div>";
    }

    newHtml += htmlDontSplit;
    newHtml += "</div>";
    newHtml += "</div>";
    return newHtml;
  }

  var addImageActionUrlOnArticlesChain = function addImageActionUrlOnArticlesChain(chains, clickedArticle) {
    var html = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "";
    var edition = arguments.length > 3 ? arguments[3] : undefined;
    var secret = arguments.length > 4 ? arguments[4] : undefined;
    var isOnline = arguments.length > 5 ? arguments[5] : undefined;
    var splittedHtml = html.split(REGEX_TAGS.HR);
    splittedHtml = splittedHtml.map(function (articleHTML, index) {
      var article = chains[index] || clickedArticle;

      if (article) {
        var page = edition.getPageByArticle(article);

        if (page) {
          return replaceImageUrlWithAction(articleHTML, edition.getIssue(), edition.getEdition(), page.getFilename(), page.getModifyTime(), secret, isOnline);
        }
      }

      return articleHTML;
    });
    return splittedHtml.join("<hr />");
  };

  exports.addImageActionUrlOnArticlesChain = addImageActionUrlOnArticlesChain;

  var applyMergeArtToHTML = function applyMergeArtToHTML(strHtml, mergeArticles, enableColumnizer, calculateMidAds, isOnline, edition, article, secret) {
    var newStrHtml = fixHtml(strHtml);

    if (calculateMidAds) {
      newStrHtml = calculateMidAdsPosition(newStrHtml);
    }

    var result = getTagsFromHTML(newStrHtml, edition, article, secret, isOnline);
    var tags = result.tags,
        childArt = result.childArt,
        fixedHtml = result.html;
    var htmlImgAndCaption = result.htmlImgAndCaption;

    if (mergeArticles === _$$_REQUIRE(_dependencyMap[11]).MERGE_ARTICLES_TYPES.NORMAL) {
      var chains = edition.getChainOfArticle(article);
      return addImageActionUrlOnArticlesChain(chains, article, fixedHtml, edition, secret, isOnline);
    }

    var htmlChildArtEditorial = childArt.htmlChildArtEditorial,
        htmlChildArtGraphic = childArt.htmlChildArtGraphic;
    var tagsAdsTop = tags.tagsAdsTop,
        tagsAdsBottom = tags.tagsAdsBottom,
        tagsImg = tags.tagsImg,
        tagsContinue = tags.tagsContinue,
        tagsQuote = tags.tagsQuote;
    var html = fixedHtml;

    if (mergeArticles === _$$_REQUIRE(_dependencyMap[11]).MERGE_ARTICLES_TYPES.MERGED) {
      var pageJumps = "";
      var chain = edition.getChainOfArticle(article);
      var hrs = html.match(REGEX_TAGS.HR);

      if (hrs && hrs.length) {
        var currentArticle = chain[0];

        if (currentArticle) {
          replacePageJumps(edition, chain, mergeArticles, 0).forEach(function (tagPagejump) {
            pageJumps += tagPagejump;
          });
        }
      }

      html = clearHtml(html, tags);

      if (tagsAdsTop && tagsAdsTop[0]) {
        html = tagsAdsTop[0] + html;
      }

      if (tagsAdsBottom && tagsAdsBottom[0]) {
        html += tagsAdsBottom[0];
      }

      if (htmlChildArtGraphic !== "" || tagsImg.length > 0 || tagsContinue.length > 0 || tagsQuote.length > 0 || pageJumps !== "") {
        html += "<div id='ArtADD'>";
        html += "<div id='scrollMergeADD' class='dontsplit attr0'>";
        var htmlDontSplit = pageJumps;
        var firstHR = false;

        if (tagsContinue && tagsContinue.length > 0) {
          tagsContinue.forEach(function (tagContinue) {
            htmlDontSplit += tagContinue;
          });
        }

        if (tagsQuote && tagsQuote.length > 0) {
          if (htmlDontSplit) {
            firstHR = true;
            htmlDontSplit += "<div class='hr'></div>";
          }

          tagsQuote.forEach(function (tagQuote) {
            htmlDontSplit += tagQuote;

            if (htmlImgAndCaption) {
              var imgsQuote = getTagsImgFromHTML(tagQuote);

              if (imgsQuote && imgsQuote.length) {
                imgsQuote.forEach(function (imgQuote) {
                  htmlImgAndCaption = htmlImgAndCaption.replace(imgQuote, "");
                });
              }
            }
          });
        }

        if (htmlImgAndCaption || htmlChildArtGraphic) {
          if (htmlDontSplit) {
            firstHR = true;
            htmlDontSplit += "<div class='hr'></div>";
          }

          htmlDontSplit += htmlChildArtGraphic;
          htmlDontSplit += "<br/>";
          htmlDontSplit += htmlImgAndCaption;
        }

        if (htmlChildArtEditorial) {
          if (htmlDontSplit) {
            firstHR = true;
            htmlDontSplit += "<div class='hr'></div>";
          }

          htmlDontSplit += htmlChildArtEditorial;
        }

        if (pageJumps && !firstHR) {
          htmlDontSplit += "<div class='hr'></div>";
        }

        html += htmlDontSplit;
        html += "</div>";
        html += "</div>";
      } else {
        html += htmlImgAndCaption;
      }

      var _chains = edition.getChainOfArticle(article);

      html = addImageActionUrlOnArticlesChain(_chains, article, html, edition, secret, isOnline);
    } else if (mergeArticles === _$$_REQUIRE(_dependencyMap[11]).MERGE_ARTICLES_TYPES.ONLY_FIRST) {
      var _chain = edition.getChainOfArticle(article);

      var _hrs = html.match(REGEX_TAGS.HR);

      if (_hrs && _hrs.length) {
        var splittedHtml = html.split(REGEX_TAGS.HR);
        var htmlHR = "";
        splittedHtml.forEach(function (item, index, elements) {
          htmlHR += item;

          if (index === 0) {
            var _currentArticle = _chain[index];

            if (_currentArticle) {
              htmlHR = moveMediaOnTop(item, index, edition, _currentArticle, _currentArticle, secret, mergeArticles, enableColumnizer, isOnline);
              htmlHR = addImageActionUrlOnArticlesChain([_currentArticle], _currentArticle, htmlHR, edition, secret, isOnline);
            }
          } else {
            htmlHR += "\n                        <div id='ArtADD_" + index + "'>\n                            <div id='scrollMergeADD' class='dontsplit attr" + index + "'></div>\n                        </div>";
          }

          if (index < elements.length - 1) {
            htmlHR += "<hr>";
          }
        });
        html = htmlHR;
      } else {
        html = addImageActionUrlOnArticlesChain([article], article, html, edition, secret, isOnline);
        html += "\n                <div id='ArtADD_0'>\n                    <div id='scrollMergeADD' class='dontsplit attr0'></div>\n                    " + htmlChildArtEditorial + "\n                </div>";
      }
    } else if (mergeArticles === _$$_REQUIRE(_dependencyMap[11]).MERGE_ARTICLES_TYPES.PAGE_REFS) {
      var _chain2 = edition.getChainOfArticle(article);

      var _hrs2 = html.match(REGEX_TAGS.HR);

      if (_hrs2 && _hrs2.length) {
        var _splittedHtml = html.split(REGEX_TAGS.HR);

        var _htmlHR = "";

        _splittedHtml.forEach(function (item, index, elements) {
          var currentArticle = _chain2[index];

          if (currentArticle) {
            _htmlHR += moveMediaOnTop(item, index, edition, currentArticle, _chain2[index - 1], secret, mergeArticles, enableColumnizer, isOnline);
            _htmlHR = addImageActionUrlOnArticlesChain([currentArticle], currentArticle, _htmlHR, edition, secret, isOnline);

            if (index < elements.length - 1) {
              _htmlHR += "<hr>";
            }
          }
        });

        if (tagsAdsTop && tagsAdsTop.length) {
          _htmlHR = tagsAdsTop[0] + _htmlHR;
        }

        html = _htmlHR;
      } else {
        html = moveMediaOnTop(html, 0, edition, article, article, secret, mergeArticles, enableColumnizer, isOnline);
        html = addImageActionUrlOnArticlesChain([article], article, html, edition, secret, isOnline);

        if (tagsAdsTop && tagsAdsTop.length) {
          html = tagsAdsTop[0] + html;
        }

        if (tagsAdsBottom && tagsAdsBottom.length) {
          html += tagsAdsBottom[0];
        }
      }
    }

    return html;
  };

  exports.applyMergeArtToHTML = applyMergeArtToHTML;
},2182,[5,21,640,430,643,715,638,2183,644,603,462,717,2184,699,2185,2186,2187,2188]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.columnizerBaseColumnWidth = undefined;
  var columnizerBaseColumnWidth = 400;
  exports.columnizerBaseColumnWidth = columnizerBaseColumnWidth;
  var columnizer = "\n    function setTopAdsPos(){\n        $(\"#articleAds_top\").insertBefore(\"#slideArt\");\n        $(\"#slideArt\").find(\"#articleAds_top\").remove();\n    }\n\n    function setTranslateBannerPos(){\n        $(\"#image_div_translation\").insertBefore(\"#slideArt\");\n        $(\"#slideArt\").find(\"#image_div_translation\").remove();\n    }\n\n    function setMiddleAdsPos(){\n        var ads = $(\"#articleAds_mid\");\n        if(ads.length > 0){\n            var objMiddle = ads[0].outerHTML;\n            ads.remove();\n            $(objMiddle).prependTo($(\"#scrollMergeADD\"));\n        }\n    }\n\n    function setPaddingToColumns(element, index) {\n        $(\"<div class='div_padding\" + index + \"'></div>\").insertBefore(element);\n        $(element)\n            .children()\n            .appendTo(\".div_padding\" + index);\n        $(\".div_padding\" + index).appendTo(element);\n        $(\".div_padding\" + index).css(\"padding\", \"3px\");\n    }\n\n    function updateTopArt(){\n        var artAddObjs = $(\"div[id^='ArtADD']\");\n        $(artAddObjs).each(function(i){\n            var idArtAdd = $(this).attr(\"id\");\n            var parentArtADD = $(\"#\"+idArtAdd).parent();\n            if(typeof $($(\"#\"+idArtAdd).parent().parent()).attr(\"class\") != \"undefined\" && $($(\"#\"+idArtAdd).parent().parent()).attr(\"class\").indexOf(\"last\") > -1){\n                var cloneArtADD = \"<div id='artTopLast'>\"+$(\"#\"+idArtAdd).html()+\"</div>\";\n                $(\"#\"+idArtAdd).remove();\n                if($(\".first.column.last\").length == 0 && $(\".first.column\").length > 0){\n                    $(parentArtADD).prepend(cloneArtADD);\n                }else if($(\".first.last.column\").length == 1){\n                    $(parentArtADD).append(cloneArtADD);\n                }else{\n                    $(parentArtADD).prepend('<a href=\"javascript:scrollBottomArt();\" style=\"float: right;margin-right: 5px;\"><i class=\"arrow down\"></i></a>');\n                    $(parentArtADD).append(cloneArtADD);\n                }\n            }\n        });\n    }\n\n    var BASE_COLUMN_WIDTH = 400;\n    var VERY_SHORT_ARTICLE_LENGTH = 500;\n    var SHORT_ARTICLE_LENGTH = 1500;\n\n    function fixSingleColumnWidth(element) {\n        var textLength = $(element).children().text().length;\n        /* if single column on a very short article reduce the width of the column \n           to improve the readability */ \n        if ($(element+\" .column\").length === 1 && textLength <= VERY_SHORT_ARTICLE_LENGTH) {\n            var containerWidth = $(\"#slideArt\").width();\n            var virtualCols = Math.round(containerWidth / BASE_COLUMN_WIDTH);\n            var colWidth = containerWidth/virtualCols;\n            if ($(element+\" .column\").width() != colWidth) {\n                $(element+\" .column\").width(colWidth);\n            }\n        }\n    }\n\n    function fixImagesAlignment(element) {\n        $(\"p.imgContainer img\").each(function() {\n            /* check if the image is followed by a paragraph */\n            var parentNode = $(this).parent();\n            var prevElement = parentNode && parentNode.prev();\n            var nextElement = parentNode && parentNode.next();\n            if ((!prevElement || !prevElement.hasClass(\"quote\")) && (!nextElement || !nextElement.hasClass(\"paragraph\"))) {\n                /* if the image has a width less than 25% of the column align to the left */\n                if ($(this).width() < $(element+\" .column\").width()*0.25) {\n                    $(this).css(\"margin\", 0);\n                }\n            }\n        });\n    }\n\n    function moveImagesIfSingleColumn(element) {\n        if ($(element+\" .column\").length === 1 && typeof moveImages === \"function\") {\n            moveImages();\n        }\n    }\n\n    function movePageJumpsColumnizer(index) {\n        try {\n            /* on single column move page jumps after the hr of the previous article */\n            if ($(\".column\").length === $(\".first.last.column\").length) {\n                $(\"div[data-pjindex]\").each(function() {\n                    var pjindex = parseInt($(this).data(\"pjindex\"), 10);\n                    if (pjindex > 0) {\n                        var prevHr = $(\"hr[class='hr\"+(pjindex-1)+\"']\");\n                        if (prevHr) {\n                            prevHr.after(this);\n                        }\n                    }\n                });\n            } else if (index > 0 && ($(\".div_padding\"+index+\" #artTopLast img\").length > 0 || $(\".div_padding\"+index+\" #artTopLast .pageJump\").length > 0)) {\n                /* move the img or the pj div at the top of the last column */\n                var pjImgContainer = $(\".div_padding\"+index+\" #artTopLast\");\n                pjImgContainer.parent().prepend(pjImgContainer);\n            }\n        } catch (e) {\n            console.log(e);\n        }\n    }\n    \n    function setColumns(element, index, pageJump, multipleArticles, scrollToHrIndex, isLast, moveTopArtOnTop) {\n        console.log(\"columnize \" + element);\n        var arabic = /[\u0600-\u06FF]/;\n        var isArabic = arabic.test($($(\".maintitle\")[0]).text()) || arabic.test($($(\".uptitle\")[0]).text());\n        var columnFloat = isArabic ? \"right\" : \"left\";\n        console.log(\"is arabic \" + isArabic);\n        var columnOptions = {\n            lastNeverTallest: true,\n            columnFloat: columnFloat,\n            doneFunc: function () {\n                console.log(\"columnized \" + element);\n                setTopAdsPos();\n                setTranslateBannerPos();\n                setMiddleAdsPos();\n                if(moveTopArtOnTop){\n                    updateTopArt();\n                }\n\n                fixSingleColumnWidth(element);\n                fixImagesAlignment(element);\n                moveImagesIfSingleColumn(element);\n\n                saveImages();\n                \n                if(isLast){\n                    movePageJumpsColumnizer(index);\n                    \n                    /*var heads = $('[class^=article_head]');*/\n                    var heads = $(\"hr\");\n                    /*if index is related to second piece of article there is just one hr between articles so index is articleIndex -1*/\n                    scrollToHrIndex = scrollToHrIndex - 1;\n                    var top = 0;\n                    if(heads && heads.length >= scrollToHrIndex && scrollToHrIndex >= 0){\n                        top = $(heads[scrollToHrIndex]).offset().top;\n                    }\n                    console.log(\"scroll to \" + top);\n                    if (window.ReactNativeWebView && top > 0) {\n                        try{\n                            var content = $(\"#content\")[0];\n                            /*is important to set the height because article text scroll to position when set the same height of scrollview\n                              the height of scrollview comes from autoheight webview*/\n                            var height = Math.max(content.scrollHeight, content.offsetHeight, content.clientHeight);\n                            window.ReactNativeWebView.postMessage(JSON.stringify({ scrollTop: top, type: \"SCROLL_TOP\", scrollHeight: height }));\n                        } catch(e){\n                            console.log(\"error on post message scroll top\");\n                        }\n                    }\n                }\n            }\n        };\n\n        var images = $(element + \" img\");\n        var countParagraphs = $(element).children().length * 50;\n        var textLength = $(element).children().text().length;\n        var countImages = images.length * 200;\n        var totalLength = textLength + countParagraphs + countImages;\n        console.log(\"total length \" + totalLength);\n        console.log(\"short length \" + SHORT_ARTICLE_LENGTH);\n        console.log(\"count paragraphs \" + countParagraphs);\n        console.log(\"text length \" + textLength);\n        console.log(\"very short length \" + VERY_SHORT_ARTICLE_LENGTH);\n        console.log(\"count images \" + countImages);\n        console.log(\"page jump \" + pageJump);\n        console.log(\"multiple articles \" + multipleArticles);\n\n        if (totalLength > SHORT_ARTICLE_LENGTH || ((pageJump === 1 || multipleArticles) && textLength > VERY_SHORT_ARTICLE_LENGTH)) {\n            columnOptions.width = BASE_COLUMN_WIDTH;\n        } else {\n            columnOptions.columns = 1;  \n        }\n        console.log(\"columnizer options\");\n        console.log(columnOptions);\n        setPaddingToColumns(element, index);\n        $(element).columnize(columnOptions);\n    }\n\n    function getWidthOfSpans(element) {\n        var width = 0;\n        if (element) {\n            $(element)\n                    .find(\"span\")\n                    .each(function () {\n                        width += $(this).width();\n                    });\n        }\n        return width;\n    }\n\n    function setColumnizerArticle(index, article, multipleArticles, scrollToHrIndex, isLast, moveTopArtOnTop) {\n        console.log(\"===============================================\");\n        console.log(\"set columnizer article...: \" + index);\n        console.log(\"slide art width: \" + $(\"#slideArt\").width());\n        var column_width = 400;\n        if( $(\"#slideArt\").width() / 4 > 400 ){\n            column_width = parseInt($(\"#slideArt\").width() / 4);\n        }\n        console.log(\"column width: \" + column_width);\n        var headArticle = new Array();\n        $(article).each(function(){\n            if(this.className == \"abody\")return false;\n            headArticle.push(this);\n        });\n        /*var headArticle = $(article).filter(\".abody\").first().prevAll().get().reverse();\n        if($(headArticle).filter(\".byline\").length > 0){\n            headArticle = $(headArticle).filter(\".byline\").first().prevAll().get().reverse();\n        }*/\n        var maintitle=$(headArticle).filter(\".maintitle\");\n        var parentPage=$(headArticle).filter(\".parentPage\");\n        /* PUT MAINTITLE AND UPPER CONTENT OUTSIDE OF ARTICLE TEXT ONLY IF ONE MAINTITLE EXSISTS AND IF MAINTITLE IS LARGER THEN COLUMN WIDTH*/\n        var first_element=$(article)[0];\n        $(\"<div class='article_body article_body\" + index + \"'></div>\").insertAfter($(first_element));\n        $(article).appendTo(\".article_body\" + index);\n        if (maintitle.length <= 1 ) {\n            console.log(\"main title exists\");\n            $(\"<div class='article_head\" + index + \"' style='margin-top:0.4em !important'></div>\").insertBefore(\".article_body\" + index);\n            var moveTitleOutColumns = false;\n            $(headArticle).each(function(){\n                if($(this).attr(\"class\") && $(this).attr(\"class\").indexOf(\"title\") > -1){\n                    var widthParagraph = getWidthOfSpans(this);\n                    console.log(\"width: \" + widthParagraph);\n                    if(widthParagraph > column_width){\n                        moveTitleOutColumns = true;\n                    }\n                }\n            });\n            $(headArticle).each(function(){\n                if($(this).attr(\"class\") && $(this).attr(\"class\").indexOf(\"title\") > -1){\n                    if(moveTitleOutColumns){\n                        $(this).appendTo('.article_head' + index);\n                    }else{\n                        /*$(\".article_body\" + index).prepend(this);*/\n                    }\n                }\n            });\n            $(\".article_body\" + index).css(\"margin-top\",\"10px\");\n            /*CREATE COLUMNS FROM ARTICLE TEXT*/\n            setColumns(\".article_body\" + index, index, 0, multipleArticles, scrollToHrIndex, isLast, moveTopArtOnTop);\n        }else {\n            setColumns(\".article_body\" + index, index, 1, multipleArticles, scrollToHrIndex, isLast, moveTopArtOnTop);\n        }\n        if (index > 0 && parentPage) {\n            $(parentPage).appendTo(\".article_body\" + (index - 1));\n            $(\".article_body\" + index + \" .parentPage\").remove();\n        }\n    }\n\n    function setColumnizerArticleWithPageJump(hrs, scrollToHrIndex, moveTopArtOnTop) {\n        var articles = [];\n        \n        $(hrs).each(function (i) {\n            var _this = $(this);\n            _this.addClass(\"hr\" + i);\n            _this.css(\"margin-top\", \"0.8em\");\n            _this.css(\"margin-bottom\", \"0.8em\");\n            articles.push(_this.prevUntil(\"hr\").get().reverse());\n        });\n        articles.push(\n            $(hrs[hrs.length - 1])\n                .nextUntil(\"hr\")\n                .get()\n        );\n        /*columnize all articles separately*/\n        var jArticles = $(articles);\n        jArticles.each(function(index,article){\n            var isLast = index === jArticles.length - 1;\n            setColumnizerArticle(index, article, true, scrollToHrIndex, isLast, moveTopArtOnTop)\n        });\n    }\n\n    function setColumnizer(scrollToHrIndex, mergeArt) {\n        if ($(\".column\").length > 0) {\n            /*already done*/\n            return;\n        }\n        console.log(\"scroll to hr index: \" + scrollToHrIndex);\n        console.log(\"using merge art: \" + mergeArt);\n        console.log(\"merge art type: \" + (typeof mergeArt));\n        var element = $(\"#slideArt\");\n        if (!element) {\n            console.log(\"missing slideArt\");\n            return;\n        }\n        var moveTopArtOnTop = mergeArt > 0;\n        var hrs = element.find(\"hr\");\n        if (hrs && hrs.length && mergeArt !== 1) {\n            console.log(\"found hr: \" + hrs.length);\n            setColumnizerArticleWithPageJump(hrs, scrollToHrIndex, moveTopArtOnTop);\n        } else {\n            setColumnizerArticle(0, element.children(), false, scrollToHrIndex, false, moveTopArtOnTop);\n        }\n    }\n    \n    $(window).resize(function () {\n        fixSingleColumnWidth(\".article_body0\");\n    });\n";
  var _default = columnizer;
  exports.default = _default;
},2183,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.EPaperArticleImage = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var EPaperArticleImage = function () {
    function EPaperArticleImage() {
      (0, _classCallCheck2.default)(this, EPaperArticleImage);
      this.biggestImage = false;
      this.caption = "";
      this.childArt = false;
      this.inline = false;
      this.qrCode = false;
    }

    (0, _createClass2.default)(EPaperArticleImage, [{
      key: "setUrl",
      value: function setUrl(url) {
        this.url = url;
      }
    }, {
      key: "getUrl",
      value: function getUrl() {
        return this.url;
      }
    }, {
      key: "setHrUrl",
      value: function setHrUrl(hrUrl) {
        this.hrUrl = hrUrl;
      }
    }, {
      key: "getHrUrl",
      value: function getHrUrl() {
        return this.hrUrl;
      }
    }, {
      key: "setWidth",
      value: function setWidth(width) {
        this.width = width;
      }
    }, {
      key: "getWidth",
      value: function getWidth() {
        return this.width;
      }
    }, {
      key: "setHeight",
      value: function setHeight(height) {
        this.height = height;
      }
    }, {
      key: "getHeight",
      value: function getHeight() {
        return this.height;
      }
    }, {
      key: "setBiggestImage",
      value: function setBiggestImage(isBiggest) {
        this.biggestImage = isBiggest;
      }
    }, {
      key: "isBiggestImage",
      value: function isBiggestImage() {
        return this.biggestImage;
      }
    }, {
      key: "setCaption",
      value: function setCaption(caption) {
        this.caption = caption ? caption.trim() : "";
      }
    }, {
      key: "getCaption",
      value: function getCaption() {
        return this.caption;
      }
    }, {
      key: "setTag",
      value: function setTag(tag) {
        this.tag = tag;
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return this.tag;
      }
    }, {
      key: "setChildArt",
      value: function setChildArt(isChildArt) {
        this.childArt = isChildArt;
      }
    }, {
      key: "setQrCode",
      value: function setQrCode(isQrCode) {
        this.qrCode = isQrCode;
      }
    }, {
      key: "isChildArt",
      value: function isChildArt() {
        return this.childArt;
      }
    }, {
      key: "setInline",
      value: function setInline(inline) {
        this.inline = inline;
      }
    }, {
      key: "isInline",
      value: function isInline() {
        return this.inline;
      }
    }, {
      key: "isQrCode",
      value: function isQrCode() {
        return this.qrCode;
      }
    }]);
    return EPaperArticleImage;
  }();

  exports.EPaperArticleImage = EPaperArticleImage;
},2184,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.onLoadFunctions = exports.generateAssetsFontCss = exports.removeWebAdsFromString = exports.getArticleTruncateFunctions = exports.getJumpId = exports.retrieveOffsetByPositionId = exports.retrievePositionIdAtOffset = exports.addPositionId = exports.addLongPressEvent = exports.getHrsPosition = exports.scrollpageToContinue = exports.movePageJumps = exports.moveImages = exports.replaceImgSrcWithBase64 = exports.retrieveImage = exports.saveImage = exports.saveImages = exports.showImageOptions = exports.openGallery = exports.retrieveInnerText = exports.hideNativeAd = exports.showNativeAd = exports.retrieveAdPlaceholders = exports.truncateScript = undefined;

  var _Paywall = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var truncateScript = "\n    function truncateArticle(){\n        try{\n            const hrs = document.getElementsByTagName('hr');\n            if(hrs[0]){\n                let found = false;\n                const parent = hrs[0].parentElement;\n                let i = 0;\n                while(i < parent.childNodes.length){\n                    if(parent.childNodes[i] === hrs[0]){\n                        found = true;\n                    } else if(!found) {\n                        i++;\n                    }\n                    if(found){\n                        try{\n                            console.log(parent.childNodes[i]);\n                            parent.removeChild(parent.childNodes[i]);\n                        } catch(e){\n                            console.log(e.message);\n                        }\n                    }\n                }\n            }\n        } catch(e){\n            console.log(e.message);\n        }\n    }\n    truncateArticle();";
  exports.truncateScript = truncateScript;

  var retrieveAdPlaceholders = function retrieveAdPlaceholders() {
    var enableInStoryAdMarker = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
    var adMarkerScript = "";

    if (enableInStoryAdMarker) {
      var _global$getActivePSet = global.getActivePSetup(),
          inStoryAdMarkerText = _global$getActivePSet.inStoryAdMarkerText;

      adMarkerScript = "\n                var nativeAdDisclaimerId = 'native_ad_' + i + '_disclaimer';\n                var nativeAdDisclaimer = document.getElementById(nativeAdDisclaimerId);\n                if (nativeAdDisclaimer == undefined) {\n                    var paragraph = document.createElement(\"p\");\n                    paragraph.setAttribute('id', nativeAdDisclaimerId);\n                    paragraph.setAttribute('class', 'advp');\n                    var text = document.createTextNode('" + inStoryAdMarkerText + "');\n                    paragraph.appendChild(text);\n                    placeholder.parentNode.insertBefore(paragraph, placeholder);\n                }";
    }

    return "\n    function getLoadedAds() {\n        var ads = [];\n        try {\n            var nativeAdPlaceholders = document.getElementsByClassName('native_ad');\n            for (var i = 0; i < nativeAdPlaceholders.length; i++) {\n                var placeholder = nativeAdPlaceholders[i];\n                try {\n                    var config = {\n                        key: 'native_ad_' + i,\n                        unitId: placeholder.getAttribute('unitId'),\n                        provider: placeholder.getAttribute('provider'),\n                        left: placeholder.getBoundingClientRect().left,\n                        top: placeholder.getBoundingClientRect().top,\n                        width: parseInt(placeholder.getAttribute('width'), 10),\n                        height: parseInt(placeholder.getAttribute('height'), 10)\n                    };\n                    placeholder.setAttribute('id', 'native_ad_' + i);\n                    if (placeholder.parentElement && placeholder.parentElement.className === 'native_ad_container') {\n                        placeholder.parentElement.setAttribute('id', 'native_ad_' + i + '_container');\n                    } else {\n                        " + adMarkerScript + "\n                    }\n        \n                    ads.push(config);\n                } catch (e) {\n                    console.log(e);\n                }\n            }\n        } catch (e) {\n            console.log(e);\n        }\n        window.ReactNativeWebView.postMessage(JSON.stringify({ content: ads, type: 'GET_NATIVE_ADS_PLACEHOLDER' }));\n    }";
  };

  exports.retrieveAdPlaceholders = retrieveAdPlaceholders;
  var showNativeAd = "\n    function showNativeAd(id) {\n        var nativeAd = document.getElementById(id);\n        if (nativeAd) {\n            var adHeight = parseInt(nativeAd.getAttribute('height'), 10);\n            nativeAd.style.height = adHeight + 'px';\n            var nativeAdContainer = document.getElementById(id + '_container');\n            if (nativeAdContainer) {\n                nativeAdContainer.style.height = adHeight + 10 + 'px';\n                var prevElement = nativeAdContainer.previousElementSibling;\n                if (prevElement && prevElement.className === \"advp\") {\n                    prevElement.style.display = 'block';\n                }\n            }\n        }\n    }";
  exports.showNativeAd = showNativeAd;
  var hideNativeAd = "\n    function hideNativeAd(id) {\n        var nativeAd = document.getElementById(id);\n        if (nativeAd) {\n            nativeAd.style.height = '0px';\n            var nativeAdContainer = document.getElementById(id + '_container');\n            if (nativeAdContainer) {\n                nativeAdContainer.style.height = '0px';\n                var prevElement = nativeAdContainer.previousElementSibling;\n                if (prevElement && prevElement.className === \"advp\") {\n                    prevElement.style.display = 'none';\n                }\n            }\n        }\n    }";
  exports.hideNativeAd = hideNativeAd;
  var retrieveInnerText = "\n    function() {\n        var text = '';\n        try {\n            text = document.body.innerText;\n        } catch (e) {}\n        \n        return {\n            content: text,\n            type: 'INNER_TEXT'\n        };\n    }";
  exports.retrieveInnerText = retrieveInnerText;
  var openGallery = "\n    function openGallery(url) {\n        try {\n            console.log(\"open gallery:\" + url);\n            window.ReactNativeWebView.postMessage(JSON.stringify({ content: url, type: 'OPEN_GALLERY' }));\n        } catch (e) {\n            console.log(e);\n        }\n    }";
  exports.openGallery = openGallery;
  var showImageOptions = "\n    function showImageOptions(link, imageUrl) {\n        try {\n            console.log(\"show image options: \" + link + \", image url \"+imageUrl);\n            window.ReactNativeWebView.postMessage(JSON.stringify({ content: { link: link, url: imageUrl }, type: 'SHOW_IMAGE_OPTIONS' }));\n        } catch (e) {\n            console.log(e);\n        }\n    }";
  exports.showImageOptions = showImageOptions;
  var saveImages = "\n    function saveImages() {\n        try {\n            $(\"img[data-save]\").each(function() {\n                $(this).one(\"load\", function() {\n                    eval($(this).data(\"save\"));\n                });\n            });\n            $(\"img[data-retrieve]\").each(function() {\n                eval($(this).data(\"retrieve\"));\n            }).hide();\n        } catch (e) {\n            console.log(e);\n        }\n    }";
  exports.saveImages = saveImages;
  var saveImage = "\n    function saveImage(img, paper, issue, edition, filename, image, filetime) {\n        try {\n            console.log(\"save image \" + paper + \" - \" + issue + \" - \" + edition + \" - \" + filename + \" - \" + image + \" - \" + filetime);\n            var newImage = new Image();\n            newImage.crossOrigin = \"anonymous\";\n\n            newImage.onload = function () {\n                    console.log(\"onload image \" + newImage.width + \" - \" + newImage.height);\n                    var canvas = document.createElement(\"canvas\");\n                    canvas.width = newImage.width;\n                    canvas.height = newImage.height;\n                    var ctx = canvas.getContext(\"2d\");\n                    ctx.drawImage(newImage, 0, 0);\n                    var dataURL = canvas.toDataURL(\"image/jpeg\", 1);\n                    console.log(dataURL);\n                    var base64 = dataURL.replace(/^data:image\\/jpeg;base64,/, \"\");\n                    \n                    window.ReactNativeWebView.postMessage(JSON.stringify({ content: { base64: base64, paper: paper, issue: issue, edition: edition, filename: filename, image: image, filetime: filetime}, type: 'SAVE_IMAGE' }));\n            };\n\n            newImage.src = img.src;\n\n        } catch (e) {\n            console.log(e);\n        }\n    }";
  exports.saveImage = saveImage;
  var retrieveImage = "\n    function retrieveImage(img, paper, issue, edition, filename, image, filetime) {\n        try {\n            console.log(\"retrieve image \" + paper + \" - \" + issue + \" - \" + edition + \" - \" + filename + \" - \" + image + \" - \" + filetime);\n              \n            window.ReactNativeWebView.postMessage(JSON.stringify({ content: { imageSrc: img.src, paper: paper, issue: issue, edition: edition, filename: filename, image: image, filetime: filetime}, type: 'RETRIEVE_IMAGE' }));\n        } catch (e) {\n            console.log(e);\n        }\n    }";
  exports.retrieveImage = retrieveImage;
  var replaceImgSrcWithBase64 = "\nfunction replaceImgSrcWithBase64(src, base64) {\n    try {          \n        var imgTag = $(\"img[src='\"+src+\"']\");\n        var newAction = \"javascript:openGallery('\"+base64+\"')\";\n        imgTag.parent().attr(\"onclick\", newAction);\n        imgTag.attr(\"src\", base64).show();\n    } catch (e) {\n        console.log(e);\n    }\n}";
  exports.replaceImgSrcWithBase64 = replaceImgSrcWithBase64;

  var moveImages = function moveImages(height) {
    return "\nfunction moveImages() {\n    var imgArtObjs = $(\"div[id^='imgArt']\");\n    var abodyObjs = $(\".abody\");\n    if(imgArtObjs.length >= 1 && abodyObjs.length > 1){\n        for(var imgArtObjIdx = 0; imgArtObjIdx < imgArtObjs.length; imgArtObjIdx++){\n            var imgArtObj = $(imgArtObjs[imgArtObjIdx]);\n            if (imgArtObj.children().length > 0) {\n                for(var abobyObjIdx = 0; abobyObjIdx < abodyObjs.length; abobyObjIdx++){\n                    var abodyElem = abodyObjs[abobyObjIdx];\n                    var offset = $(abodyElem).offset();\n                    var contentHeight = " + height + ";\n                    if(typeof offset != \"undefined\" && offset.top > (contentHeight * (imgArtObjIdx+1))){\n                        console.debug(\"abody offset: \"+offset.top+\", content height: \"+contentHeight);\n                        imgArtObj.insertAfter(abodyElem);\n                        break;\n                    }\n                }\n            }\n        }\n    }\n}";
  };

  exports.moveImages = moveImages;
  var movePageJumps = "\nfunction movePageJumps() {\n    $(\"div[data-pjindex]\").each(function() {\n        var index = parseInt($(this).data(\"pjindex\"), 10);\n        if (index > 0) {\n            var prevHr = $(\"#ArtADD\"+(index -1)+\" + hr\");\n            if (prevHr) {\n                prevHr.after(this);\n            }\n        }\n    });\n}";
  exports.movePageJumps = movePageJumps;
  var scrollpageToContinue = "\n    function scrollpageToContinue(pageNumber, artid) {\n       window.ReactNativeWebView.postMessage(JSON.stringify({ content: {page: pageNumber, xmlId: artid}, type: 'SCROLL_TO_PAGE' }));\n    }";
  exports.scrollpageToContinue = scrollpageToContinue;
  var getHrsPosition = "\n    function getHrsPosition(){\n        var positions = [];\n        var hrsTag = document.getElementsByTagName(\"hr\");\n        for(var i = 0; i < hrsTag.length; i++){\n            positions.push(hrsTag[i].offsetTop);\n        }\n        window.ReactNativeWebView.postMessage(JSON.stringify({ content: positions, type: 'HRS_POSITION' }));\n    }\n";
  exports.getHrsPosition = getHrsPosition;
  var addLongPressEvent = "\n    var body = document.body;\n    var longPressMs = 500;\n    var longPressTimeout = undefined;\n    var onStart = function () {\n        console.log('touch start');\n        if (longPressTimeout) {\n            clearTimeout(longPressTimeout);\n            longPressTimeout = undefined;\n        }\n        longPressTimeout = setTimeout(function () {\n            console.log('long touch');\n            window.ReactNativeWebView.postMessage(JSON.stringify({ type: 'LONG_PRESS' }));\n        }, longPressMs);\n    };\n    var onEnd = function () {\n        console.log('touch end');\n        if (longPressTimeout) {\n            clearTimeout(longPressTimeout);\n            longPressTimeout = undefined;\n        }\n    };\n    if (body) {\n        body.addEventListener('touchstart', onStart);\n        body.addEventListener('mousedown', onStart);\n        body.addEventListener('touchend', onEnd);\n        body.addEventListener('mouseup', onEnd);\n    }";
  exports.addLongPressEvent = addLongPressEvent;
  var addPositionId = "\n    var positionId;\n    $(\"#slideArt p\").toArray().forEach((elem, index) => {\n        $(elem).attr(\"positionid\", index);\n        $(elem).children().toArray().forEach((child, childIndex) => {\n            $(child).attr(\"positionid\", index+\".\"+childIndex);\n        });\n    }\n    );\n";
  exports.addPositionId = addPositionId;
  var retrievePositionIdAtOffset = "\n    function getPositionId(x, y) {\n        try {\n            var offsetX = 0;\n            var width = $(\"#slideArt\").width();\n            var columns = $(\".article_body0 .column\").length;\n            if (columns > 0) {\n                offsetX = width / (columns * 2);\n            } else {\n                offsetX = width/2;\n            }\n            var currentPositionId = document.elementFromPoint(x + offsetX, y).getAttribute(\"positionid\");\n            if (currentPositionId !== null) {\n                positionId = currentPositionId;\n            }\n        } catch (e) {\n            console.log(e);\n        }\n        if (positionId) {\n            window.ReactNativeWebView.postMessage(JSON.stringify({ content: { positionId: positionId }, type: 'GET_POSITION_ID' }));\n        }\n    };\n";
  exports.retrievePositionIdAtOffset = retrievePositionIdAtOffset;
  var retrieveOffsetByPositionId = "\n    function goToPositionId(positionId) {\n        var top = 0;\n        var left = 0;\n        try {\n            var offset = $(\"[positionId='\"+positionId+\"']\").position();\n            top = offset.top;\n            left = offset.left;\n        } catch (e) {\n            console.log(e);\n        }\n        window.ReactNativeWebView.postMessage(JSON.stringify({ content: { offset: { left: left, top: top } }, type: 'GET_POSITION_ID_OFFSET' }));\n    };\n";
  exports.retrieveOffsetByPositionId = retrieveOffsetByPositionId;
  var getJumpId = "\n    function art_getJumpId(page, issue, filename, xmlId) {\n        try {\n            if (window.ReactNativeWebView) {\n                window.ReactNativeWebView.postMessage(\n                    JSON.stringify({\n                        page,\n                        issue,\n                        filename,\n                        xmlId,\n                        type: 'JUMP'\n                    })\n                );\n            }\n        } catch (e) {\n            console.error(e.message);\n        }\n    }";
  exports.getJumpId = getJumpId;

  var getArticleTruncateFunctions = function getArticleTruncateFunctions() {
    if (_Paywall.default.shouldAppendPaywall()) {
      return "\n                var ta_truncateArticle = function ta_truncateArticle(threshold) {\n                var ta_protectThreshold = ''+threshold;\n                var ta_protectParentSelector = '#content';\n                if (parseInt(ta_protectThreshold, 10) >= 0 && ta_protectParentSelector && document.querySelector) {\n                    var parentToProtect = document.querySelector(ta_protectParentSelector);\n                    if (parentToProtect == null) return;\n                    var styleTagsToAppend = [];\n                    var styleTags = parentToProtect.getElementsByTagName('STYLE');\n                    for (var i=0; i < styleTags.length; i++) {\n                       var styleTag = styleTags[i].cloneNode(true); \n                       styleTagsToAppend.push(styleTag); \n                    }\n            \n                    var nodeToFill = parentToProtect.cloneNode(false);\n            \n                    if (ta_protectThreshold.indexOf('%') > 0) {\n                        ta_protectThreshold = ta_protectThreshold.substr(0, ta_protectThreshold.length - 1);\n                        ta_protectThreshold = parseInt(ta_protectThreshold, 10);\n                        if (ta_protectThreshold > 100 || ta_protectThreshold < 0) {\n                            ta_protectThreshold = 100;\n                        }\n                        var ta_protectArticleLength = ta_articleTextCount(parentToProtect);\n                        ta_protectThreshold = parseInt((ta_protectThreshold / 100) * ta_protectArticleLength, 10);\n                    } else {\n                        ta_protectThreshold = parseInt(ta_protectThreshold, 10);\n                    }\n\n                    if (ta_protectThreshold > 0) {\n                        ta_fillThreshold(parentToProtect, nodeToFill, ta_protectThreshold);\n                        parentToProtect.innerHTML = nodeToFill.innerHTML;\n                    } else {\n                        parentToProtect.innerHTML = '';\n                    }\n                    for (var i=0; i < styleTagsToAppend.length; i++) {\n                       var styleTagToAppend = styleTagsToAppend[i]; \n                       parentToProtect.appendChild(styleTagToAppend);\n                    }\n                }\n            };\n\n            var ta_elementThresholdExempt = function ta_elementThresholdExempt(elementNode) {\n                var tagsToExclude = 'style';\n                if (tagsToExclude.length > 0) {\n                    var tagsExcludeArray = tagsToExclude.split(',');\n                    for (var j = 0; j < tagsExcludeArray.length; j++) {\n                        if (elementNode.tagName && elementNode.tagName.toLowerCase() === tagsExcludeArray[j].trim().toLowerCase()) {\n                            return true;\n                        }\n                    }\n                }\n                if (typeof elementNode.className === 'string' && elementNode.className.length > 0) {\n                    var classesToExclude = '';\n                    if (classesToExclude.length > 0) {\n                        var excludeArray = classesToExclude.split(',');\n                        for (var j = 0; j < excludeArray.length; j++) {\n                            if (\n                                excludeArray[j].trim() !== '' &&\n                                elementNode.className.split(/ +/).indexOf(excludeArray[j].trim()) !== -1\n                            ) {\n                                return true;\n                            }\n                        }\n                    }\n                }\n                \n                return false;\n            };\n            \n            var ta_fillThreshold = function ta_fillThreshold(originalNode, nodeToFill, threshold, otherNodeToFill) {\n                var preserveImages = false;\n                if (originalNode.childNodes && originalNode.childNodes.length > 0) {\n                    for (var i = 0; i < originalNode.childNodes.length; i++) {\n                        var newNodeToFill = otherNodeToFill || null;\n                        if (ta_elementThresholdExempt(originalNode.childNodes[i])) { \n                             continue;\n                        } \n            \n                        if (\n                            originalNode.childNodes[i].nodeType == Node.ELEMENT_NODE &&\n                            originalNode.childNodes[i].childNodes &&\n                            originalNode.childNodes[i].childNodes.length > 0\n                        ) {\n                            newNodeToFill = originalNode.childNodes[i].cloneNode(false);\n                            (otherNodeToFill || nodeToFill).appendChild(newNodeToFill);\n                        }\n                        var finished = ta_fillThreshold(originalNode.childNodes[i], nodeToFill, threshold, newNodeToFill) || 0;\n                        if (finished) return 1;\n                    }\n                    return 0;\n                }\n                if (originalNode.nodeType == Node.TEXT_NODE || originalNode.nodeType == Node.ELEMENT_NODE) {\n                    var innerHTML = '';\n                    if (originalNode.innerHTML) {\n                        innerHTML = originalNode.innerHTML.trim();\n                    } else if (originalNode.nodeValue) {\n                        innerHTML = originalNode.nodeValue.trim();\n                    } else if (!preserveImages && originalNode.nodeName.toLowerCase() == 'img') {\n                        return 0;\n                    }\n            \n                    var allowedEmptyTags = ['IMG', 'HR', 'BR'];\n                    if (!innerHTML.length && allowedEmptyTags.indexOf(originalNode.nodeName) == -1) return 0; \n            \n                    var nodeToFillLength = nodeToFill.innerText.length;\n                    if (!otherNodeToFill && originalNode.nodeType == Node.TEXT_NODE) {\n                        var newPNode = document.createElement('p');\n                        otherNodeToFill = newPNode;\n                        nodeToFill.appendChild(newPNode);\n                    }\n                    if (nodeToFillLength + innerHTML.length < threshold) {\n                        (otherNodeToFill || nodeToFill).appendChild(originalNode.cloneNode(true));\n                        return 0;\n                    }\n                    if (nodeToFillLength + innerHTML.length >= threshold) {\n                        var origIHLength = nodeToFillLength;\n                        var newChild = (otherNodeToFill || nodeToFill).appendChild(originalNode.cloneNode(true));\n                        if (innerHTML.indexOf(' ', threshold - origIHLength) !== -1) {\n                            innerHTML = innerHTML.substring(0, innerHTML.indexOf(' ', threshold - origIHLength));\n                        }\n                        if (innerHTML.slice(-3) != '...') {\n                            innerHTML += '...';\n                        }\n                        newChild.innerHTML = innerHTML;\n                        newChild.nodeValue = innerHTML;\n                        var protectArticleMessagePNode = document.createElement('p');\n                        protectArticleMessagePNode.innerHTML = '" + _Paywall.default.getArticlePreviewMessage() + "';\n                        nodeToFill.appendChild(protectArticleMessagePNode);\n                        return 1;\n                    }\n                    return 0;\n                }\n                return 0;\n            };\n\n            var ta_articleTextCount = function ta_articleTextCount(originalNode) {\n                var currentLength = 0;\n                if (originalNode.childNodes && originalNode.childNodes.length > 0) {\n                    for (var i = 0; i < originalNode.childNodes.length; i++) {\n                        if (ta_elementThresholdExempt(originalNode.childNodes[i])) continue;\n                        var newLength = ta_articleTextCount(originalNode.childNodes[i]) || 0;\n                        currentLength += newLength;\n                    }\n                } else if (originalNode.nodeType == Node.TEXT_NODE || originalNode.nodeType == Node.ELEMENT_NODE) {\n                    if (originalNode.innerHTML) {\n                        currentLength = originalNode.innerHTML.trim().length;\n                    } else if (originalNode.nodeValue) {\n                        currentLength = originalNode.nodeValue.trim().length;\n                    }\n                }\n                return currentLength; \n            };";
    }

    return "";
  };

  exports.getArticleTruncateFunctions = getArticleTruncateFunctions;

  var removeWebAdsFromString = function removeWebAdsFromString(html) {
    var regExp = new RegExp(/<div class="native_ad" unitId="(?:.*?)" width="[0-9]{2,3}" height="[0-9]{2,3}" (?:provider="(?:.*?)" )?style="(?:.*?)">([\s\S]*?)<\/div>/g);
    var m;
    var found = [];

    while ((m = regExp.exec(html)) !== null) {
      if (m.index === regExp.lastIndex) {
        regExp.lastIndex += 1;
      }

      found.push(m[1]);
    }

    found.forEach(function (str) {
      html = html.replace(str + "</div>", "");
    });
    return html;
  };

  exports.removeWebAdsFromString = removeWebAdsFromString;

  var getFontFaceStringFromFont = function getFontFaceStringFromFont(font) {
    var weight = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
    var fontWeb = font.fontWeb,
        src = font.src;
    var fontFamily = font.fontFamily,
        fontWeight = font.fontWeight;
    fontFamily = fontFamily || fontWeb;
    fontWeight = weight || fontWeight || "normal";
    var fontFace = "\n        @font-face {\n            font-family: '" + fontFamily + "';\n            font-weight: " + fontWeight + ";\n            src: " + src + ";\n        }\n    ";
    return fontFace;
  };

  var generateAssetsFontCss = function generateAssetsFontCss(fontFamilyRegular, fontFamilyBold, dynamicFonts) {
    var fontCSS = "";

    if (fontFamilyRegular && fontFamilyRegular.src) {
      fontCSS += getFontFaceStringFromFont(fontFamilyRegular, "normal");

      if (fontFamilyBold && fontFamilyBold.src && fontFamilyBold.fontWeb !== fontFamilyRegular.fontWeb) {
        fontCSS += getFontFaceStringFromFont(fontFamilyBold, "bold");
      }
    } else if (fontFamilyBold && fontFamilyBold.src) {
      fontCSS += getFontFaceStringFromFont(fontFamilyBold, "bold");
    }

    if (dynamicFonts) {
      dynamicFonts.forEach(function (dynamicFont) {
        if (dynamicFont) {
          var fontWeb = dynamicFont.fontWeb;

          if (!(fontFamilyRegular && fontFamilyRegular.fontWeb === fontWeb || fontFamilyBold && fontFamilyBold.fontWeb === fontWeb)) {
            fontCSS += getFontFaceStringFromFont(dynamicFont);
          }
        }
      });
    }

    return fontCSS;
  };

  exports.generateAssetsFontCss = generateAssetsFontCss;

  var onLoadFunctions = function onLoadFunctions(hasColumnizer, enableTruncate) {
    var truncate = "";
    var columnizer = "";

    if (hasColumnizer) {
      columnizer = "$('#content').columnize({ width: 400, doneFunc: getLoadedAds });";
    }

    if (_Paywall.default.needToAppendHardPaywall() || _Paywall.default.shouldAppendPaywallPopup() && enableTruncate) {
      var articlePreviewLength = _Paywall.default.getArticlePreviewLength();

      truncate = "ta_truncateArticle('" + articlePreviewLength + "');";
    }

    return "$(function(){" + truncate + columnizer + "});";
  };

  exports.onLoadFunctions = onLoadFunctions;
},2185,[5,1862]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.DEFAULT_CSS = exports.NO_ARTICLE_TEXT_SELECTION_CSS = undefined;

  var NO_ARTICLE_TEXT_SELECTION_CSS = function NO_ARTICLE_TEXT_SELECTION_CSS() {
    var enableArticleTextSelection = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
    var css = "";

    if (!enableArticleTextSelection) {
      css = "\n            #slideArt, #manualIndex {\n                -webkit-user-select: none;\n            } ";
    }

    return css;
  };

  exports.NO_ARTICLE_TEXT_SELECTION_CSS = NO_ARTICLE_TEXT_SELECTION_CSS;

  var DEFAULT_CSS = function DEFAULT_CSS(fontFamilyRegular, fontFamilyBold) {
    var enableArticleTextSelection = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
    var ignoreTheme = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
    var hrBylineStyle = "";

    var _global$getActivePSet = global.getActivePSetup(),
        enableArticleBylineHRs = _global$getActivePSet.enableArticleBylineHRs;

    if (enableArticleBylineHRs) {
      hrBylineStyle = "\n            hr.hrbyline {\n                height: 1px;\n                border-width: 0;\n            }\n\n            hr.hrbylinetop {\n                margin-top: 20px;\n                background-color: #8b8b8b36;\n            }\n\n            hr.hrbylinebottom {\n                margin-bottom: 20px;\n                background-color: #adacac36;\n            }\n        ";
    }

    var foregroundColor = _$$_REQUIRE(_dependencyMap[0]).Css.isDarkTheme() && !ignoreTheme ? _$$_REQUIRE(_dependencyMap[0]).Css.getDefaultForegroundColor() : "#333333";
    var translateStyle = "\n            #image_div_translation {\n                padding: 5px 0 !important;\n            }";

    if (_$$_REQUIRE(_dependencyMap[0]).Css.isDarkTheme() && !ignoreTheme) {
      translateStyle += "\n            #image_div_translation {\n                background-color: " + _$$_REQUIRE(_dependencyMap[0]).Css.getDefaultBackgroundColor() + " !important;\n            }";
    }

    var serifFonts = fontFamilyRegular + ", Georgia, \"Times New Roman\", Times, serif !important";
    var serifBoldFonts = fontFamilyBold + ", Georgia, \"Times New Roman\", Times, serif !important";
    var sansSerifFonts = fontFamilyRegular + ", Arial, Helvetica, sans-serif, Georgia !important";
    var css = "\n        * {\n            font-family: " + fontFamilyRegular + " !important;\n        }\n        body {\n            margin: 0;\n        }\n        #content {\n            padding: 8px;\n        }\n        a {\n            word-wrap: break-word;\n        }\n        img {\n            max-width: 100%;\n            height: auto;\n        }\n        #categoryType{\n            font-size: 20px;\n            margin-top: 15px;\n        }\n        .abody, .paragraph, .advp, .native_ad_container {\n            padding: 0px 5px 0px 5px;\n        }\n        .abody {\n            font-size: 1.1em;\n            margin-top: 10px;\n            color: " + foregroundColor + ";\n            font-weight: normal;\n            line-height: normal;\n            overflow: hidden;\n            text-overflow: ellipsis;\n        }\n        .titles {\n            font-size: 20px;\n            padding: 5px;\n            color: #0069B1;\n            font-weight: bold;\n            z-index: 10;\n        }\n        .pagetitles.titles {\n            font-size: 1.1em;\n            line-height: normal;\n            color: #0069B1;\n            z-index: 10;\n            font-weight: normal;\n            font-style: normal;\n        }\n        * {\n            -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n        }\n        #slideArt{\n            color: " + foregroundColor + ";\n            line-height: normal;\n            " + (_$$_REQUIRE(_dependencyMap[1]).PlatformUtils.isTablet() ? "padding: 0 8px;" : "") + "\n        }\n        #slideArt .subtitle{\n            margin-left: 5px;\n            margin-right: 5px;\n            margin-top: 10px;\n        } \n        #slideArt .uptitle, #slideArt .byline, #slideArt p img, #slideArt a {\n            margin: 0 5px;\n        }\n\n        #slideArt p.imgContainer {\n            display: inline;\n        }\n\n        /** fix to center images when columnizer is on */\n        #slideArt .column p.imgContainer {\n            margin: 0 5px;\n            display: block;\n        } \n        \n        #slideArt .column p.imgContainer img {\n            margin: 0 auto;\n            display: block;\n        }\n\n        #slideArt a.pageJumpRef {\n            margin: 0;\n        }\n\n        #textContent {\n            background-color: #FFFFFF;\n            font-family: " + sansSerifFonts + ";\n            font-size: 14px;\n            font-weight: normal;\n            padding: 5px;\n            overflow: hidden;\n        }\n        .maintitle {\n            font-size: 2em;\n            margin: 0 5px;\n            padding: 5px 0px 5px 0px;\n            color: #2A719C;\n            font-weight: normal;\n            line-height : 1.2;\n            font-family: " + serifFonts + ";\n        }\n        .uptitle, .subtitle {\n            font-size: 1.2em;\n            font-weight: normal;\n            font-family: " + serifFonts + ";\n            line-height : 1.2;\n        }\n        .firstindexsection {\n            font-size: 1.1em;\n            line-height: normal;\n            color: #CC0000;\n            z-index: 10;\n            font-weight: normal;\n            font-family: " + serifFonts + ";\n        }\n        .firstindexarticle {\n            font-size: 1.1em;\n            line-height: normal;\n            color: #0069B1;\n            z-index: 10;\n            font-weight: normal;\n            font-family: " + serifFonts + ";\n        }\n        .pageref {\n            font-size: 1.1em;\n            line-height: normal;\n            color: " + foregroundColor + ";\n            text-decoration: none;\n            z-index: 10;\n            font-weight: bold;\n            font-family: " + serifBoldFonts + ";\n        }\n        .pagerefart {\n            font-size: 16px;\n            line-height: 25px;\n            color: " + foregroundColor + ";\n            text-decoration: none;\n            z-index: 10;\n            font-weight: bold;\n            font-family: " + serifBoldFonts + ";\n        }\n        .pagerefart:hover {\n            text-decoration: underline;\n        }\n        .swipe {\n            z-index: 1;\n            overflow: hidden;\n            width: 200%;\n            visibility: hidden;\n            position: relative;\n            z-index: 100;\n        }\n        .swipe-wrap {\n            z-index: 1;\n            overflow: hidden;\n            width: 50%;\n            position: relative;\n        }\n        .swipe-wrap > div {\n            z-index: 1;\n            float: left;\n            width: 50%;\n            position: relative;\n        }\n        #poweredby a, #copyright a{\n            color: #000000;\n            text-decoration: none;\n        }\n        #poweredby{\n            width: 50%;\n            float: left;\n        }\n        #copyright {\n            width: 50%;\n            float: left;\n            text-align: right;\n        }\n        div#titlesCont i {\n            font-weight: normal;\n        }\n        div#scrollMergeADD {\n            text-align: center;\n        }\n        .pjFromPageMergeArt3{\n            color: blue;\n        }\n        div.pageJumpMergeArt3 {\n            text-align: right;\n            border-bottom: 0px;\n        }\n        .column div.pageJumpMergeArt3 {\n            display: inline;\n            text-align: center;\n        }\n        div.pageJumpContainer {\n            display: inline-block;\n        }\n        div.pageJumpSlug {\n            text-align: center;\n        }\n        .pageJumpMergeArt3 span.pjFromPage{\n            font-weight: bold;\n        }\n        a.pageJumpRef {\n            font-weight: bold;\n            color: blue;\n            text-decoration: none;\n        }\n        .column .imgArt {\n            position: relative;\n            text-align: center;\n            margin-top: 15px;\n            margin-bottom: 10px;\n        }\n        .img-parent {\n           text-align: center;\n        }\n        .div-column {\n           padding: 0 5px 0 0;\n           margin-right: 15px;\n        }\n        .hr {\n           border-top: 1px solid;\n           padding-bottom: 3px;\n           margin-top: 10px;\n           margin-bottom: 10px;\n        }\n        .caption {\n           font-style: italic;\n        }\n        p.maintitleChild span {\n            color: #093d72; \n            font-family: " + serifFonts + "; \n            font-weight: bold !important;\n            line-height: 1.1em;\n            padding:0px 10px 0px 10px;\n        }\n        \n        .subtitleChild {\n            font-size: 1em !important;\n            line-height: normal !important;\n            color: #666;\n            margin-top: 5px;\n            font-family: " + serifFonts + "\n        }\n        \n        .article_body::after{\n            content: \"\";\n            display: block;\n            clear: both;\n        }\n\n        " + translateStyle + "\n        \n        " + hrBylineStyle;
    css += NO_ARTICLE_TEXT_SELECTION_CSS(enableArticleTextSelection);
    return css;
  };

  exports.DEFAULT_CSS = DEFAULT_CSS;
},2186,[699,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.retrieveArticleImage = exports.storeArticleImage = exports.extractLinks = exports.addInStoryAdsToHtml = exports.decodeArticleId = exports.getArticleId = exports.readCustomCss = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _NewsmemoryDatabasesManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _EPaperArticle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _InStoryAd = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var readCustomCss = function _callee() {
    var filesString,
        files,
        basePath,
        customCss,
        i,
        _args = arguments;
    return _regenerator.default.async(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            filesString = _args.length > 0 && _args[0] !== undefined ? _args[0] : "";
            files = filesString.split(",");
            basePath = _tecnaviaFileUtils.default.getApplicationBaseDirectory() + "hybrid/css";
            customCss = "";
            i = 0;

          case 5:
            if (!(i < files.length)) {
              _context.next = 19;
              break;
            }

            _context.prev = 6;
            _context.t0 = customCss;
            _context.next = 10;
            return _regenerator.default.awrap(_tecnaviaFileUtils.default.readFile(basePath + "/" + files[i] + ".css"));

          case 10:
            _context.t1 = _context.sent;
            customCss = _context.t0.concat.call(_context.t0, _context.t1);
            _context.next = 16;
            break;

          case 14:
            _context.prev = 14;
            _context.t2 = _context["catch"](6);

          case 16:
            i++;
            _context.next = 5;
            break;

          case 19:
            return _context.abrupt("return", customCss);

          case 20:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, [[6, 14]], Promise);
  };

  exports.readCustomCss = readCustomCss;

  var getArticleId = function getArticleId(article) {
    var articleId = article.getPageId() * 1000 + article.getXmlId();
    return articleId;
  };

  exports.getArticleId = getArticleId;

  var decodeArticleId = function decodeArticleId(articleIdString) {
    var articleId = parseInt(articleIdString, 10);
    var pageId = Math.floor(articleId / 1000);
    var xmlId = articleId % 1000;
    return {
      pageId: pageId,
      xmlId: xmlId
    };
  };

  exports.decodeArticleId = decodeArticleId;

  var addInStoryAd = function addInStoryAd(html, tagId, ad, isOnline) {
    var bottomAdAtLast = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;
    var modifiers = "gm";
    var endRegExp = "";

    if (ad) {
      var adType = ad.getType();

      if (_InStoryAd.InStoryAdType.TOP.includes(adType) || _InStoryAd.InStoryAdType.MIDDLE.includes(adType) || !bottomAdAtLast) {
        modifiers = "m";
      } else if (_InStoryAd.InStoryAdType.BOTTOM.includes(adType)) {
        endRegExp = "*$";
      }
    }

    var instoryAdRegExp = "<p id=\"" + tagId + "\" style=\"display:none;\"(/>|></p>)";
    var regExp = new RegExp("" + instoryAdRegExp + endRegExp, modifiers);
    var match = html.match(regExp);

    if (ad && match) {
      var newParent;
      var adTag;
      var marginHorizontal = 10;
      var marginVertical = 5;
      var modifiedHeight = parseInt(ad.getHeight(), 10) + 10;
      var modifiedWidth = parseInt(ad.getWidth(), 10) + 20;
      var adUrl = ad.getUrl();
      var adUnitId = ad.getUnitId();
      var alignment = ad.getAlignment();
      var alignmentStyleContainer = "";
      var alignmentStyle = "margin-top: 5";

      switch (alignment) {
        case _InStoryAd.InStoryAdAlign.LEFT:
          alignmentStyleContainer = "width: " + modifiedWidth + "; float: left";
          alignmentStyle += "; float: left";
          break;

        case _InStoryAd.InStoryAdAlign.CENTER:
          alignmentStyleContainer = "text-align: center";
          break;

        case _InStoryAd.InStoryAdAlign.RIGHT:
          alignmentStyleContainer = "width: " + modifiedWidth + "; float: right";
          alignmentStyle += "; float: right";
          break;

        case _InStoryAd.InStoryAdAlign.UNSET:
        default:
          alignmentStyleContainer = "text-align: center";
          break;
      }

      var adMarker = "";

      var _global$getActivePSet = global.getActivePSetup(),
          enableInStoryAdMarker = _global$getActivePSet.enableInStoryAdMarker,
          inStoryAdMarkerText = _global$getActivePSet.inStoryAdMarkerText;

      if (enableInStoryAdMarker && inStoryAdMarkerText) {
        adMarker = "<p class=\"advp\" style=\"" + alignmentStyleContainer + ";\">" + inStoryAdMarkerText + "</p>";
      }

      if (adUrl) {
        adTag = "<object width=\"" + modifiedWidth + "\" height=\"" + modifiedHeight + "\" data=\"" + adUrl + "\" type=\"text/html\"></object>";
        newParent = adMarker + "<p id=\"" + tagId + "\" style=\"display:block; height: " + modifiedHeight + "; " + alignmentStyleContainer + ";\">" + adTag + "</p>";
      } else if (adUnitId) {
        var provider = ad.getProvider();
        newParent = "\n                " + adMarker + "\n                <div class=\"native_ad_container\" style=\"height: 0; " + alignmentStyleContainer + ";\">\n                    <div\n                        class=\"native_ad\"\n                        unitId=\"" + adUnitId + "\" \n                        provider=\"" + provider + "\" \n                        width=\"" + ad.getWidth() + "\" \n                        height=\"" + ad.getHeight() + "\" \n                        style=\"display:inline-block; width: " + ad.getWidth() + "; height:0; " + alignmentStyle + ";\">\n                    </div>\n                </div>";
      }

      html = html.replace(regExp, newParent);
    }

    var remainingRegExp = new RegExp("" + instoryAdRegExp, "gm");
    html = html.replace(remainingRegExp, "");
    return html;
  };

  var addInStoryAdsToHtml = function addInStoryAdsToHtml(html, imagesPresent) {
    var isOnline = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
    var bottomAdAtLast = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
    var adsConfig = global.getAdsConfig();
    var instoryTop = adsConfig.getInStoryAdTop();
    var instoryMiddle = adsConfig.getInStoryAdMiddle();
    var instoryBottom = adsConfig.getInStoryAdBottom();
    var newHtml = addInStoryAd(html, "articleAds_top", instoryTop, isOnline);

    if (!imagesPresent) {
      if (instoryMiddle) {
        instoryMiddle.setType("instory_bottom");
        newHtml = addInStoryAd(newHtml, "articleAds_bot", instoryMiddle, isOnline, bottomAdAtLast);
      } else {
        newHtml = addInStoryAd(newHtml, "articleAds_bot", instoryBottom, isOnline, bottomAdAtLast);
      }
    } else {
      newHtml = addInStoryAd(newHtml, "articleAds_mid", instoryMiddle, isOnline);
      newHtml = addInStoryAd(newHtml, "articleAds_bot", instoryBottom, isOnline, bottomAdAtLast);
    }

    return newHtml;
  };

  exports.addInStoryAdsToHtml = addInStoryAdsToHtml;

  var isLinkValid = function isLinkValid(linkFound, pretext) {
    if (linkFound.search("@") > -1) {
      return false;
    }

    if (linkFound.charAt(0) === "/") {
      return false;
    }

    if (linkFound.charAt(0) === "." || linkFound.search(/\.{2,}/g) > -1) {
      return false;
    }

    if (linkFound.search(/newsmem.+\.jpg/g) > -1) {
      return false;
    }

    var idx = pretext.search(/src\s*=/g);
    var idx2 = pretext.search(/alt\s*=/g);
    var idx3 = pretext.search(/title\s*=/g);
    var idx4 = pretext.search(/myonclick\s*=/g);
    var l = pretext.length;

    if (idx > -1 && l - idx < 10 || idx2 > -1 && l - idx2 < 10 || idx3 > -1 && l - idx3 < 10 || idx4 > -1 && pretext.substring(idx4).startsWith("myonclick") || pretext.endsWith("href='") || pretext.endsWith('href="')) {
      return false;
    }

    return true;
  };

  var extractLinks = function extractLinks(textToShow) {
    var text = textToShow;
    var newText = [];
    var linkFound = "";
    var startLink = 0;
    var endLink = 0;
    var pretext = "";

    for (var i = 0; i < 40; i++) {
      pretext = "";
      linkFound = "";
      startLink = 0;
      endLink = 0;
      startLink = text.search(/\.(com|eu|edu|org|net|tv|ch|it|biz|gov|mil|nl|de|at|ag|info|ca|fr|uk|ac|au|ky|be|bm|bz|cn|coop|es|eg|hk|in|int|jobs|jp|museum|mx|name|nato|nom|pro|ru|sg|store|tr|tw|travel|web|dk|us|tk|li|co|ly|am|me|cc|ie|va|no|se|fi|global|la|gl|sk|lt|ua|community|expert|restaurant|cl|ltd|ba|aero)([^a-z0-9]|$)/i);

      if (startLink === -1) {
        newText.push(text);
        break;
      }

      for (var j = startLink; j >= 0; j--) {
        if (text.charAt(j).search(/[a-z0-9.\-_/:@]/i) === -1) {
          startLink = j + 1;
          break;
        }

        startLink = 0;
      }

      newText.push(text.substring(0, startLink));
      pretext = text.substring(0, startLink);
      text = text.substring(startLink);
      endLink = text.search(/\.?(\ |,|\.$|\)|<|&.{0,6};|'|")/i);

      if (endLink === -1) {
        endLink = text.length;
      }

      linkFound = text.substring(0, endLink);

      if (isLinkValid(linkFound, pretext)) {
        linkFound = linkFound.replace(/\n/g, "");
        newText.push("<a class=\"html-link\" href=\"" + _$$_REQUIRE(_dependencyMap[6]).NetworkUtils.addDefaultProtocol(linkFound) + "\">" + linkFound + "</a>");
      } else {
        newText.push(linkFound);
      }

      text = text.substring(endLink);
    }

    return newText.join("");
  };

  exports.extractLinks = extractLinks;

  var storeArticleImage = function _callee2(base64, paper, issue, filename, imageName) {
    var imagePath;
    return _regenerator.default.async(function _callee2$(_context2) {
      while (1) {
        switch (_context2.prev = _context2.next) {
          case 0:
            imagePath = _NewsmemoryDatabasesManager.default.getNewspaperIssueDirectory(paper, issue) + filename + "/" + imageName;
            _context2.prev = 1;
            _context2.next = 4;
            return _regenerator.default.awrap(_tecnaviaFileUtils.default.write(imagePath, base64, "base64"));

          case 4:
            _context2.next = 8;
            break;

          case 6:
            _context2.prev = 6;
            _context2.t0 = _context2["catch"](1);

          case 8:
          case "end":
            return _context2.stop();
        }
      }
    }, null, null, [[1, 6]], Promise);
  };

  exports.storeArticleImage = storeArticleImage;

  var retrieveArticleImage = function _callee3(paper, issue, filename, imageName) {
    var image, imagePath;
    return _regenerator.default.async(function _callee3$(_context3) {
      while (1) {
        switch (_context3.prev = _context3.next) {
          case 0:
            imagePath = _NewsmemoryDatabasesManager.default.getNewspaperIssueDirectory(paper, issue) + filename + "/" + imageName;
            _context3.prev = 1;
            _context3.next = 4;
            return _regenerator.default.awrap(_tecnaviaFileUtils.default.readFileBase64(imagePath));

          case 4:
            image = _context3.sent;
            _context3.next = 9;
            break;

          case 7:
            _context3.prev = 7;
            _context3.t0 = _context3["catch"](1);

          case 9:
            return _context3.abrupt("return", image);

          case 10:
          case "end":
            return _context3.stop();
        }
      }
    }, null, null, [[1, 7]], Promise);
  };

  exports.retrieveArticleImage = retrieveArticleImage;
},2187,[5,80,710,574,640,2017,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.columnizerBase64 = exports.letteringBase64 = exports.jQueryBase64 = undefined;
  var jQueryBase64 = "[encoded data, 119304 characters]";
  exports.jQueryBase64 = jQueryBase64;
  var letteringBase64 = "KGZ1bmN0aW9uKCQpewoJZnVuY3Rpb24gaW5qZWN0b3IodCwgc3BsaXR0ZXIsIGtsYXNzLCBhZnRlcikgewoJCXZhciB0ZXh0ID0gdC50ZXh0KCkKCQksIGEgPSB0ZXh0LnNwbGl0KHNwbGl0dGVyKQoJCSwgaW5qZWN0ID0gJyc7CgkJaWYgKGEubGVuZ3RoKSB7CgkJCSQoYSkuZWFjaChmdW5jdGlvbihpLCBpdGVtKSB7CgkJCQlpbmplY3QgKz0gJzxzcGFuIGNsYXNzPSInK2tsYXNzKyhpKzEpKyciIGFyaWEtaGlkZGVuPSJ0cnVlIj4nK2l0ZW0rJzwvc3Bhbj4nK2FmdGVyOwoJCQl9KTsKCQkJdC5hdHRyKCdhcmlhLWxhYmVsJyx0ZXh0KQoJCQkuZW1wdHkoKQoJCQkuYXBwZW5kKGluamVjdCkKCgkJfQoJfQoKCgl2YXIgbWV0aG9kcyA9IHsKCQlpbml0IDogZnVuY3Rpb24oKSB7CgoJCQlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewoJCQkJaW5qZWN0b3IoJCh0aGlzKSwgJycsICdjaGFyJywgJycpOwoJCQl9KTsKCgkJfSwKCgkJd29yZHMgOiBmdW5jdGlvbigpIHsKCgkJCXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CgkJCQlpbmplY3RvcigkKHRoaXMpLCAnICcsICd3b3JkJywgJyAnKTsKCQkJfSk7CgoJCX0sCgoJCWxpbmVzIDogZnVuY3Rpb24oKSB7CgoJCQlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCkgewoJCQkJdmFyIHIgPSAiZWVmZWMzMDMwNzlhZDE3NDA1Yzg4OWUwOTJlMTA1YjAiOwoJCQkJLy8gQmVjYXVzZSBpdCdzIGhhcmQgdG8gc3BsaXQgYSA8YnIvPiB0YWcgY29uc2lzdGVudGx5IGFjcm9zcyBicm93c2VycywKCQkJCS8vICgqYWhlbSogSUUgKmFoZW0qKSwgd2UgcmVwbGFjZSBhbGwgPGJyLz4gaW5zdGFuY2VzIHdpdGggYW4gbWQ1IGhhc2gKCQkJCS8vIChvZiB0aGUgd29yZCAic3BsaXQiKS4gIElmIHlvdSdyZSB0cnlpbmcgdG8gdXNlIHRoaXMgcGx1Z2luIG9uIHRoYXQKCQkJCS8vIG1kNSBoYXNoIHN0cmluZywgaXQgd2lsbCBmYWlsIGJlY2F1c2UgeW91J3JlIGJlaW5nIHJpZGljdWxvdXMuCgkJCQlpbmplY3RvcigkKHRoaXMpLmNoaWxkcmVuKCJiciIpLnJlcGxhY2VXaXRoKHIpLmVuZCgpLCByLCAnbGluZScsICcnKTsKCQkJfSk7CgoJCX0KCX07CgoJJC5mbi5sZXR0ZXJpbmcgPSBmdW5jdGlvbiggbWV0aG9kICkgewoJCS8vIE1ldGhvZCBjYWxsaW5nIGxvZ2ljCgkJaWYgKCBtZXRob2QgJiYgbWV0aG9kc1ttZXRob2RdICkgewoJCQlyZXR1cm4gbWV0aG9kc1sgbWV0aG9kIF0uYXBwbHkoIHRoaXMsIFtdLnNsaWNlLmNhbGwoIGFyZ3VtZW50cywgMSApKTsKCQl9IGVsc2UgaWYgKCBtZXRob2QgPT09ICdsZXR0ZXJzJyB8fCAhIG1ldGhvZCApIHsKCQkJcmV0dXJuIG1ldGhvZHMuaW5pdC5hcHBseSggdGhpcywgW10uc2xpY2UuY2FsbCggYXJndW1lbnRzLCAwICkgKTsgLy8gYWx3YXlzIHBhc3MgYW4gYXJyYXkKCQl9CgkJJC5lcnJvciggJ01ldGhvZCAnICsgIG1ldGhvZCArICcgZG9lcyBub3QgZXhpc3Qgb24galF1ZXJ5LmxldHRlcmluZycgKTsKCQlyZXR1cm4gdGhpczsKCX07Cgp9KShqUXVlcnkpOw==";
  exports.letteringBase64 = letteringBase64;
  var columnizerBase64 = "[encoded data, 22172 characters]";
  exports.columnizerBase64 = columnizerBase64;
},2188,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.ItemListAccessibility = exports.ItemAccessibilityFocused = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _indexLayoutManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _tapView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _AudioManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var ItemListAccessibility = function ItemListAccessibility(props) {
    var style = props.style,
        text = props.text,
        _props$classes = props.classes,
        classes = _props$classes === undefined ? [] : _props$classes,
        focused = props.focused;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
      classes: ["newsmemory-index-text", "newsmemory-index-accessibility-text"].concat((0, _toConsumableArray2.default)(classes))
    }, _react.default.createElement(_fontText.default, {
      style: [_indexLayoutManager.default.itemListAccessibility, style, focused ? _indexLayoutManager.default.itemListAccessibilityFocused : undefined],
      numberOfLines: 1,
      ellipsizeMode: "tail"
    }, text));
  };

  exports.ItemListAccessibility = ItemListAccessibility;
  ItemListAccessibility.propTypes = {
    style: _propTypes.default.any,
    text: _propTypes.default.string,
    classes: _propTypes.default.array,
    focused: _propTypes.default.bool
  };

  var ItemAccessibilityFocused = function ItemAccessibilityFocused(props) {
    var touchable = props.touchable,
        focused = props.focused,
        onPress = props.onPress,
        accessibilityEnabled = props.accessibilityEnabled,
        accessibilityLabel = props.accessibilityLabel,
        style = props.style,
        children = props.children,
        enablePause = props.enablePause,
        rest = (0, _objectWithoutProperties2.default)(props, ["touchable", "focused", "onPress", "accessibilityEnabled", "accessibilityLabel", "style", "children", "enablePause"]);

    if (!accessibilityLabel) {
      return null;
    }

    var _useState = (0, _react.useState)(false),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        simulateAccessibility = _useState2[0],
        setSimulateAccessibility = _useState2[1];

    var accessibilityKey = _$$_REQUIRE(_dependencyMap[14]).StringUtils.getMd5(accessibilityLabel);

    var Component = _reactNative.View;
    var parentProps = {};
    var componentProps = (0, _extends2.default)({
      accessibilityLabel: accessibilityLabel,
      style: [style]
    }, rest);

    var onSimulateAccessibility = function onSimulateAccessibility() {
      if (accessibilityLabel) {
        var mgr = global.getAudio();

        if (enablePause) {
          if (mgr.ttsIsPaused()) {
            mgr.ttsResume();
          } else if (mgr.ttsIsSpeaking()) {
            mgr.ttsPause();
          } else {
            mgr.ttsStart(accessibilityLabel);
          }
        } else {
          mgr.ttsStart(accessibilityLabel);
        }

        _$$_REQUIRE(_dependencyMap[15]).EventRegister.emit(_events.default.ON_SIMULATE_ACCESSIBILITY_CHANGE, {
          key: accessibilityKey
        });

        setSimulateAccessibility(true);
      }
    };

    if (accessibilityEnabled && !_$$_REQUIRE(_dependencyMap[14]).PlatformUtils.isSystemAccessibilityEnabled()) {
      Component = _tapView.default;
      parentProps.onSingleTap = onSimulateAccessibility;
      parentProps.onDoubleTap = onPress;

      if (simulateAccessibility) {
        componentProps.style.push(_indexLayoutManager.default.itemListAccessibilitySimulated);
      }
    } else if (accessibilityEnabled || touchable) {
      Component = _reactNative.TouchableOpacity;
      parentProps.onPress = onPress;
    }

    var ref = _react.default.useRef(null);

    _react.default.useEffect(function () {
      var onSimulateAccessibilityChange;

      if (_$$_REQUIRE(_dependencyMap[14]).PlatformUtils.isSystemAccessibilityEnabled()) {
        if (ref.current && focused) {
          var tag = (0, _reactNative.findNodeHandle)(ref.current);

          if (tag) {
            _reactNative.AccessibilityInfo.setAccessibilityFocus(tag);
          }
        }
      } else {
        if (focused) {
          onSimulateAccessibility();
        }

        onSimulateAccessibilityChange = _$$_REQUIRE(_dependencyMap[15]).EventRegister.on(_events.default.ON_SIMULATE_ACCESSIBILITY_CHANGE, function (_ref) {
          var key = _ref.key;

          if (key !== accessibilityKey) {
            setSimulateAccessibility(false);
          }
        });
      }

      return function () {
        if (onSimulateAccessibilityChange) {
          _$$_REQUIRE(_dependencyMap[15]).EventRegister.rm(onSimulateAccessibilityChange);
        }
      };
    }, [focused, ref.current]);

    return _react.default.createElement(Component, (0, _extends2.default)({
      ref: ref
    }, parentProps, {
      style: {
        flex: 1
      }
    }), _react.default.createElement(_reactNative.View, componentProps, children));
  };

  exports.ItemAccessibilityFocused = ItemAccessibilityFocused;
  ItemAccessibilityFocused.defaultProps = {
    enablePause: false
  };
  ItemAccessibilityFocused.propTypes = {
    touchable: _propTypes.default.bool,
    enablePause: _propTypes.default.bool,
    focused: _propTypes.default.bool,
    accessibilityEnabled: _propTypes.default.bool,
    accessibilityLabel: _propTypes.default.string,
    style: _propTypes.default.any,
    onPress: _propTypes.default.func,
    children: _propTypes.default.any
  };
},2189,[5,6,41,108,21,17,201,28,1879,2190,2163,460,1994,699,462,572]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.LINE_VERTICAL_PADDING = exports.LINE_HORIZONTAL_PADDING = exports.LINE_PADDING = exports.BTN_IMAGE_HEIGHT = exports.TITLE_SIZE = exports.LINE_HEIGHT = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  exports.LINE_HEIGHT = _$$_REQUIRE(_dependencyMap[1]).LIST_ITEM_HEIGHT;
  exports.TITLE_SIZE = _$$_REQUIRE(_dependencyMap[1]).LIST_TITLE_SIZE;
  exports.BTN_IMAGE_HEIGHT = _$$_REQUIRE(_dependencyMap[1]).HEADER_BUTTON_SIZE;
  exports.LINE_PADDING = _$$_REQUIRE(_dependencyMap[1]).LIST_ITEM_PADDING;
  exports.LINE_HORIZONTAL_PADDING = _$$_REQUIRE(_dependencyMap[1]).LIST_ITEM_PADDING;
  var LINE_VERTICAL_PADDING = _$$_REQUIRE(_dependencyMap[1]).LIST_ITEM_PADDING + 5;
  exports.LINE_VERTICAL_PADDING = LINE_VERTICAL_PADDING;

  var _default = _reactNative.StyleSheet.create({
    itemListAccessibilitySimulated: {
      borderColor: _$$_REQUIRE(_dependencyMap[2]).colors.md_light_green_A700,
      borderWidth: 2
    },
    itemListAccessibility: {
      flex: 1,
      fontSize: _$$_REQUIRE(_dependencyMap[1]).LIST_TITLE_SIZE,
      color: _$$_REQUIRE(_dependencyMap[2]).colors.md_blue_600
    },
    itemListAccessibilityFocused: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[2]).colors.keyboardHighlight
    },
    firstLevelItem: {
      flexDirection: "row",
      justifyContent: "space-between",
      alignItems: "center"
    },
    firstLevelItemFocused: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[2]).colors.keyboardHighlight
    },
    firstLevelItemSection: {
      start: 0,
      flex: 8,
      fontSize: _$$_REQUIRE(_dependencyMap[1]).LIST_TITLE_SIZE,
      paddingHorizontal: _$$_REQUIRE(_dependencyMap[1]).LIST_ITEM_PADDING,
      paddingVertical: LINE_VERTICAL_PADDING
    },
    firstLevelItemPage: {
      fontSize: _$$_REQUIRE(_dependencyMap[1]).INFO_SIZE,
      minWidth: 30,
      textAlign: "right",
      textDecorationLine: "underline",
      paddingHorizontal: _$$_REQUIRE(_dependencyMap[1]).LIST_ITEM_PADDING,
      paddingVertical: LINE_VERTICAL_PADDING
    },
    firstLevelItemPageAccessibility: {
      textDecorationLine: "none"
    },
    secondLevelHeaderParent: {
      padding: _$$_REQUIRE(_dependencyMap[1]).LIST_ITEM_PADDING,
      justifyContent: "center"
    },
    secondLevelHeader: {
      fontSize: 18
    },
    secondLevelThumbLine: {
      flexDirection: "row",
      justifyContent: "flex-start"
    },
    secondLevelItem: {
      flex: 1,
      flexDirection: "row",
      justifyContent: "space-between",
      alignItems: "center",
      paddingHorizontal: _$$_REQUIRE(_dependencyMap[1]).LIST_ITEM_PADDING,
      paddingVertical: LINE_VERTICAL_PADDING
    },
    secondLevelItemFocused: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[2]).colors.keyboardHighlight
    },
    secondLevelItemPage: {
      start: 0,
      fontSize: _$$_REQUIRE(_dependencyMap[1]).PAGE_SIZE,
      color: _$$_REQUIRE(_dependencyMap[2]).colors.md_red_900,
      textDecorationLine: "underline"
    },
    secondLevelItemPageAccessibility: {
      color: _$$_REQUIRE(_dependencyMap[2]).colors.black,
      textDecorationLine: "none"
    },
    secondLevelItemBullet: {
      fontSize: _$$_REQUIRE(_dependencyMap[1]).LIST_TITLE_SIZE
    },
    firstLevelItemAccessibility: {
      paddingHorizontal: _$$_REQUIRE(_dependencyMap[1]).LIST_ITEM_PADDING,
      paddingVertical: LINE_VERTICAL_PADDING
    },
    secondLevelItemAccessibility: {},
    secondLevelItemTitle: {
      flex: 1,
      fontSize: _$$_REQUIRE(_dependencyMap[1]).LIST_TITLE_SIZE
    },
    secondLevelTouchable: {
      paddingTop: LINE_VERTICAL_PADDING,
      paddingLeft: _$$_REQUIRE(_dependencyMap[1]).LIST_ITEM_PADDING,
      marginRight: _$$_REQUIRE(_dependencyMap[1]).LIST_ITEM_PADDING,
      paddingBottom: LINE_VERTICAL_PADDING
    },
    secondLevelImage: {
      borderWidth: 0.5,
      borderColor: _$$_REQUIRE(_dependencyMap[2]).colors.black
    },
    container: {
      flex: 1
    },
    centerContainer: {
      flex: 7,
      paddingTop: 1
    },
    specialContainer: {
      flex: 3
    },
    parent: {
      flexDirection: "row",
      flex: 1
    }
  });

  exports.default = _default;
},2190,[28,729,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    progressContainer: {
      height: 6
    },
    progressStyle: {
      position: "absolute",
      bottom: 0,
      width: "100%"
    },
    scrollViewText: {
      flexGrow: 1
    },
    scrollViewTextContainer: {
      flexGrow: 1,
      justifyContent: "space-between"
    }
  });

  exports.default = _default;
},2191,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _articleExtraComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var DEFAULT_HEIGHT = 100;
  var FLING_VELOCITY_UP = -100;
  var FLING_VELOCITY_DOWN = 800;
  var TOP_SPACE = 100;

  function Tab(props) {
    var onPress = props.onPress,
        expanded = props.expanded;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
      classes: ["newsmemory-article-extra-tab-parent"]
    }, _react.default.createElement(_reactNative.TouchableOpacity, {
      onPress: onPress,
      style: _articleExtraComponent.default.tabParent
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
      classes: ["newsmemory-article-extra-tab"]
    }, _react.default.createElement(_imageIconChooserComponent.default, {
      type: _$$_REQUIRE(_dependencyMap[14]).TecnaviaIconType.MATERIAL_ICONS,
      name: expanded ? "keyboard-arrow-down" : "keyboard-arrow-up",
      style: _articleExtraComponent.default.tabIcon
    }))));
  }

  var ArticleExtra = function (_React$Component) {
    (0, _inherits2.default)(ArticleExtra, _React$Component);

    var _super = _createSuper(ArticleExtra);

    function ArticleExtra(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ArticleExtra);
      _this = _super.call(this, props);
      _this._scrollRef = _react.default.createRef();
      _this._panRef = _react.default.createRef();
      _this._webviewHeight = 0;
      _this._animation = undefined;
      _this._currentHeight = undefined;
      _this._enableSwipeDown = true;
      _this.state = {
        content: "",
        expanded: false
      };
      _this.onLayout = _this._onLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.onScroll = _this._onScroll.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPress = _this._onPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onMessage = _this._onMessage.bind((0, _assertThisInitialized2.default)(_this));
      _this.onTabPress = _this._onTabPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPanHandler = _this._onPanHandler.bind((0, _assertThisInitialized2.default)(_this));
      _this.onWebViewHeightChange = _this._onWebViewHeightChange.bind((0, _assertThisInitialized2.default)(_this));
      _this._height = _$$_REQUIRE(_dependencyMap[13]).Css.getStyleObjByCssClasses(["newsmemory-article-extra-container"]).height || DEFAULT_HEIGHT;
      _this._currentHeight = _this._height;
      _this._gradientStyle = _$$_REQUIRE(_dependencyMap[13]).Css.getStyleObjByCssClasses(["newsmemory-article-extra-gradient"]);
      _this._gradientColor = _this._gradientStyle.color || "#ffffff";
      _this._gradientColors = _this._gradientStyle.colors;
      _this._animatedHeight = new _reactNative.Animated.Value(_this._height);
      return _this;
    }

    (0, _createClass2.default)(ArticleExtra, [{
      key: "setContent",
      value: function setContent(html) {
        this.setState({
          content: html
        });
      }
    }, {
      key: "hide",
      value: function hide() {
        this._toggleVisibility(false);
      }
    }, {
      key: "show",
      value: function show() {
        this._toggleVisibility(true);
      }
    }, {
      key: "_onMessage",
      value: function _onMessage(data) {
        var type = data.type,
            content = data.content;
        var onOpenGallery = this.props.onOpenGallery;
        var expanded = this.state.expanded;

        if (type === "OPEN_GALLERY" && typeof onOpenGallery === "function" && expanded) {
          onOpenGallery(content);
        }
      }
    }, {
      key: "_onPress",
      value: function _onPress() {
        var onPress = this.props.onPress;

        if (typeof onPress === "function") {
          onPress();
        }
      }
    }, {
      key: "_onLayout",
      value: function _onLayout(e) {
        var onLayout = this.props.onLayout;

        if (typeof onLayout === "function") {
          onLayout(e);
        }
      }
    }, {
      key: "_onScroll",
      value: function _onScroll(_ref) {
        var nativeEvent = _ref.nativeEvent;
        var contentOffset = nativeEvent.contentOffset;
        this._enableSwipeDown = contentOffset.y < 5;
      }
    }, {
      key: "_onPanHandler",
      value: function _onPanHandler(event) {
        var _event$nativeEvent = event.nativeEvent,
            state = _event$nativeEvent.state,
            velocityY = _event$nativeEvent.velocityY;

        if (state === _$$_REQUIRE(_dependencyMap[15]).State.ACTIVE) {
          if (velocityY < FLING_VELOCITY_UP) {
            this._expandCollapseAnimation(true);
          } else if (velocityY > FLING_VELOCITY_DOWN && this._enableSwipeDown) {
            this._expandCollapseAnimation(false);
          }
        }
      }
    }, {
      key: "_onWebViewHeightChange",
      value: function _onWebViewHeightChange(height) {
        this._webviewHeight = height;
      }
    }, {
      key: "_maxHeight",
      value: function _maxHeight() {
        var maxHeight = this.props.maxHeight;
        return Math.min(this._webviewHeight + _articleExtraComponent.TAB_LINE_HEIGHT, maxHeight - TOP_SPACE);
      }
    }, {
      key: "_onTabPress",
      value: function _onTabPress() {
        var expand = this._currentHeight <= this._height;

        this._updateViewsStates(expand ? this._maxHeight() : this._height, expand);
      }
    }, {
      key: "_expandCollapseAnimation",
      value: function _expandCollapseAnimation(expand) {
        this._updateViewsStates(expand ? this._maxHeight() : this._height, expand);
      }
    }, {
      key: "_toggleVisibility",
      value: function _toggleVisibility(state) {
        this._updateViewsStates(state ? this._height : 0, false);
      }
    }, {
      key: "_updateViewsStates",
      value: function _updateViewsStates(height, expand) {
        return _regenerator.default.async(function _updateViewsStates$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!(this._currentHeight !== height)) {
                  _context.next = 7;
                  break;
                }

                if (!expand) {
                  this._toggleScrollState(expand);
                }

                _context.next = 4;
                return _regenerator.default.awrap(this._animate(height));

              case 4:
                this._toggleMinDist(expand);

                if (expand) {
                  this._toggleScrollState(expand);

                  this._triggerWebViewRender();
                }

                this.setState({
                  expanded: expand
                });

              case 7:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_triggerWebViewRender",
      value: function _triggerWebViewRender() {
        if (_$$_REQUIRE(_dependencyMap[16]).PlatformUtils.isIOS() && this._scrollRef && this._scrollRef.current) {
          this._scrollRef.current.scrollTo({
            y: 1
          });
        }
      }
    }, {
      key: "_toggleScrollState",
      value: function _toggleScrollState(enableScroll) {
        if (this._scrollRef && this._scrollRef.current) {
          this._scrollRef.current.setNativeProps({
            scrollEnabled: enableScroll
          });
        }
      }
    }, {
      key: "_toggleMinDist",
      value: function _toggleMinDist(enableScroll) {
        if (this._panRef && this._panRef.current) {
          var minDist = enableScroll ? 30 : 0;

          this._panRef.current.setNativeProps({
            minDist: minDist
          });
        }
      }
    }, {
      key: "_animate",
      value: function _animate(destinationValue) {
        var _this2 = this;

        return _regenerator.default.async(function _animate$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                this._currentHeight = destinationValue;

                if (this._animation) {
                  this._animation.stop();

                  this._animation = undefined;
                }

                this._animation = _reactNative.Animated.timing(this._animatedHeight, {
                  toValue: destinationValue,
                  duration: 300,
                  useNativeDriver: false
                });
                return _context2.abrupt("return", new Promise(function (resolve) {
                  _this2._animation.start(function (_ref2) {
                    var finished = _ref2.finished;

                    if (finished) {
                      _this2._animation = undefined;
                      resolve();
                    }
                  });
                }));

              case 4:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "render",
      value: function render() {
        var _this$state = this.state,
            content = _this$state.content,
            expanded = _this$state.expanded;

        if (content) {
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
            classes: ["newsmemory-article-extra-container"]
          }, _react.default.createElement(_reactNative.Animated.View, {
            style: [_articleExtraComponent.default.container, {
              height: this._animatedHeight
            }],
            onLayout: this.onLayout
          }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
            classes: ["newsmemory-article-extra-parent"]
          }, _react.default.createElement(_reactNative.View, {
            style: _articleExtraComponent.default.parent
          }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).PanGestureHandler, {
            ref: this._panRef,
            onHandlerStateChange: this.onPanHandler,
            simultaneousHandlers: this._scrollRef
          }, _react.default.createElement(_reactNative.View, {
            style: _articleExtraComponent.default.view,
            collapsable: false
          }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
            classes: ["newsmemory-article-extra-webview"]
          }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).TecnaviaGestureHandlerScrollview, {
            ref: this._scrollRef,
            simultaneousHandlers: this._panRef,
            style: _articleExtraComponent.default.view,
            scrollEnabled: false,
            onScroll: this.onScroll
          }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[18]).AutoHeightWebView, {
            startInLoadingState: _$$_REQUIRE(_dependencyMap[19]).BaseWebView.LoadingStatePosition.none,
            source: {
              html: content
            },
            htmlContentId: "content",
            onHeightChange: this.onWebViewHeightChange,
            onMessage: this.onMessage
          }))))))), _react.default.createElement(Tab, {
            onPress: this.onTabPress,
            expanded: expanded
          })));
        }

        return null;
      }
    }]);
    return ArticleExtra;
  }(_react.default.Component);

  exports.default = ArticleExtra;
  ArticleExtra.propsTypes = {
    onPress: _propTypes.default.func,
    onLayout: _propTypes.default.func,
    onOpenGallery: _propTypes.default.func,
    maxHeight: _propTypes.default.number.isRequired
  };
},2192,[5,80,7,8,15,12,14,16,17,201,28,2193,1970,699,1806,1,462,1909,1901,1894]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.TAB_LINE_HEIGHT = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var PARENT_ELEVATION = 1;
  var TAB_ELEVATION = PARENT_ELEVATION;
  var TAB_HEIGHT = 20;
  var TAB_LINE_HEIGHT = 1;
  exports.TAB_LINE_HEIGHT = TAB_LINE_HEIGHT;
  var TOP = 10;

  var _default = _reactNative.StyleSheet.create({
    flex: {
      flex: 1
    },
    container: {
      position: "absolute",
      bottom: 0,
      start: 0,
      end: 0
    },
    parent: {
      flex: 1,
      top: TOP,
      overflow: "visible",
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white,
      borderTopWidth: TAB_LINE_HEIGHT,
      borderColor: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      elevation: PARENT_ELEVATION
    },
    view: {
      flex: 1
    },
    webview: {
      flex: 1
    },
    overlay: {
      position: "absolute",
      bottom: 0,
      start: 0,
      end: 0,
      top: 0
    },
    gradient: {
      flex: 1
    },
    tabParent: {
      width: 50,
      height: TAB_HEIGHT,
      borderRadius: 50,
      position: "absolute",
      top: 0.5,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      justifyContent: "center",
      alignItems: "center",
      alignSelf: "center",
      zIndex: TAB_ELEVATION,
      elevation: TAB_ELEVATION
    },
    tabIcon: {
      color: "white",
      fontSize: 20
    },
    tab: {
      width: 25,
      height: TAB_LINE_HEIGHT,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white
    }
  });

  exports.default = _default;
},2193,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _zoomConstants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var styles = _reactNative.StyleSheet.create({
    container: {
      flex: 1
    }
  });

  function ArticleFling(props) {
    var children = props.children,
        onSwipeUp = props.onSwipeUp,
        onSwipeDown = props.onSwipeDown,
        onSwipeLeft = props.onSwipeLeft,
        onSwipeRight = props.onSwipeRight;

    var onGestureEvent = function onGestureEvent(_ref) {
      var nativeEvent = _ref.nativeEvent;
      var velocityY = nativeEvent.velocityY,
          velocityX = nativeEvent.velocityX,
          state = nativeEvent.state;

      if (state === _$$_REQUIRE(_dependencyMap[5]).State.ACTIVE) {
        if (Math.abs(velocityY) > _zoomConstants.default.constants.VIEW_PAGER_VELOCITY_1PAGE) {
          if (velocityY < 0 && typeof onSwipeDown === "function") {
            onSwipeDown();
          } else if (velocityY > 0 && typeof onSwipeUp === "function") {
            onSwipeUp();
          }
        } else if (Math.abs(velocityX) > _zoomConstants.default.constants.VIEW_PAGER_VELOCITY_1PAGE) {
          if (velocityX > 0 && typeof onSwipeLeft === "function") {
            onSwipeLeft();
          } else if (velocityX < 0 && typeof onSwipeRight === "function") {
            onSwipeRight();
          }
        }
      }
    };

    if (_$$_REQUIRE(_dependencyMap[6]).PlatformUtils.isEInk()) {
      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[5]).PanGestureHandler, {
        minDist: 100,
        avgTouches: true,
        onHandlerStateChange: onGestureEvent,
        onGestureEvent: onGestureEvent
      }, _react.default.createElement(_reactNative.Animated.View, {
        collapsable: false,
        style: styles.container
      }, children));
    }

    return children;
  }

  ArticleFling.propTypes = {
    children: _propTypes.default.any,
    onSwipeDown: _propTypes.default.func,
    onSwipeUp: _propTypes.default.func,
    onSwipeLeft: _propTypes.default.func,
    onSwipeRight: _propTypes.default.func
  };
  ArticleFling.defaultProps = {};
  var _default = ArticleFling;
  exports.default = _default;
},2194,[5,17,201,28,2165,1,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.footer = exports.hr = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  var _headerParentComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[12]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _ApplicationManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _tecnaviaPlatformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var hr = function hr(style, cssClass) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).Css, {
      classes: ["newsmemory-separator", cssClass]
    }, _react.default.createElement(_reactNative.View, {
      style: [_headerParentComponent.default.hr, style]
    }));
  };

  exports.hr = hr;

  var footer = function footer(items, config, onRef) {
    var otherProps = {};

    if (typeof onRef === "function") {
      otherProps.ref = onRef;
    }

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).Css, {
      classes: ["newsmemory-copyright-footer"]
    }, _react.default.createElement(_reactNative.View, (0, _extends2.default)({
      style: _headerParentComponent.default.footerParent
    }, otherProps), hr({
      backgroundColor: config.getColor(),
      height: config.getHeight()
    }, "newsmemory-article-footer-separator"), items.map(function (_ref, index) {
      var text = _ref.text,
          url = _ref.url;

      if (text && text.trim() && url && url.trim()) {
        var result = _$$_REQUIRE(_dependencyMap[18]).StringUtils.extractLinkAndTextFromFooterTag(text);

        var newUrl = url;
        var newText = text;

        if (result && result.matched) {
          newText = text.replace(result.matched, result.text);
          newUrl = result.url;
        }

        var style = [_headerParentComponent.default.footerText];

        if (_$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isTablet()) {
          style.push(_headerParentComponent.default.footerTextTablet);
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).Css, {
          classes: ["newsmemory-text", "newsmemory-copyright-text"],
          key: index
        }, _react.default.createElement(_fontText.default, {
          accessibilityRole: "link",
          style: style,
          onPress: function onPress() {
            _tecnaviaPlatformUtils.default.openURL(newUrl);
          }
        }, _$$_REQUIRE(_dependencyMap[18]).StringUtils.decodeHTML(newText)));
      }

      return null;
    })));
  };

  exports.footer = footer;

  var HeaderParent = function (_React$Component) {
    (0, _inherits2.default)(HeaderParent, _React$Component);

    var _super = _createSuper(HeaderParent);

    function HeaderParent() {
      (0, _classCallCheck2.default)(this, HeaderParent);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(HeaderParent, [{
      key: "_getComponentHeader",
      value: function _getComponentHeader() {
        var _this$props = this.props,
            model = _this$props.model,
            edition = _this$props.edition,
            onLogoPress = _this$props.onLogoPress;
        return _react.default.createElement(_reactNative.View, {
          style: _headerParentComponent.default.header
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).Css, {
          classes: ["newsmemory-header-logo"]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).EPaperLogo, {
          logo: model.getLogo(),
          getDefaultLogoUrl: function _callee() {
            return _regenerator.default.async(function _callee$(_context) {
              while (1) {
                switch (_context.prev = _context.next) {
                  case 0:
                    return _context.abrupt("return", _ApplicationManager.default.getLogoPath(edition.getEdition()));

                  case 1:
                  case "end":
                    return _context.stop();
                }
              }
            }, null, null, null, Promise);
          },
          onPress: onLogoPress,
          parentHeight: _headerParentComponent.LINE_HEIGHT
        })));
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props2 = this.props,
            onLogoPress = _this$props2.onLogoPress,
            edition = _this$props2.edition,
            header = _this$props2.header,
            headerTopLine = _this$props2.headerTopLine,
            model = _this$props2.model,
            children = _this$props2.children,
            rest = (0, _objectWithoutProperties2.default)(_this$props2, ["onLogoPress", "edition", "header", "headerTopLine", "model", "children"]);

        if (model) {
          var config = model.getHrTop();
          return _react.default.createElement(_reactNative.View, (0, _extends2.default)({
            style: _headerParentComponent.default.container
          }, rest), headerTopLine && header ? hr({
            backgroundColor: config.getColor(),
            height: config.getHeight()
          }, "newsmemory-article-header-logo-top-separator") : null, header ? this._getComponentHeader() : null, header ? hr({
            backgroundColor: config.getColor(),
            height: config.getHeight()
          }, "newsmemory-article-header-logo-bottom-separator") : null, children);
        }

        return null;
      }
    }]);
    return HeaderParent;
  }(_react.default.Component);

  exports.default = HeaderParent;
  HeaderParent.propTypes = {
    edition: _propTypes.default.instanceOf(_Edition.default).isRequired,
    model: _propTypes.default.instanceOf(_$$_REQUIRE(_dependencyMap[20]).Header).isRequired,
    header: _propTypes.default.bool,
    headerTopLine: _propTypes.default.bool,
    onLogoPress: _propTypes.default.func,
    children: _propTypes.default.any
  };
  HeaderParent.defaultProps = {
    header: false
  };
},2195,[5,80,108,7,8,12,14,16,6,17,201,28,2196,1879,602,644,1876,699,462,2197,1853]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.LINE_PADDING = exports.BTN_IMAGE_HEIGHT = exports.TITLE_SIZE = exports.LINE_HEIGHT = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  exports.LINE_HEIGHT = _$$_REQUIRE(_dependencyMap[1]).LIST_ITEM_HEIGHT;
  exports.TITLE_SIZE = _$$_REQUIRE(_dependencyMap[1]).LIST_TITLE_SIZE;
  exports.BTN_IMAGE_HEIGHT = _$$_REQUIRE(_dependencyMap[1]).HEADER_BUTTON_SIZE;
  exports.LINE_PADDING = _$$_REQUIRE(_dependencyMap[1]).LIST_ITEM_PADDING;

  var _default = _reactNative.StyleSheet.create({
    container: {
      flex: 1,
      flexDirection: "column",
      backgroundColor: _$$_REQUIRE(_dependencyMap[2]).colors.transparent
    },
    header: {
      height: _$$_REQUIRE(_dependencyMap[1]).LIST_ITEM_HEIGHT,
      flexDirection: "row"
    },
    closeParent: {
      height: _$$_REQUIRE(_dependencyMap[1]).LIST_ITEM_HEIGHT,
      width: _$$_REQUIRE(_dependencyMap[1]).LIST_ITEM_HEIGHT,
      padding: (_$$_REQUIRE(_dependencyMap[1]).LIST_ITEM_HEIGHT - _$$_REQUIRE(_dependencyMap[1]).HEADER_BUTTON_SIZE) / 2
    },
    close: {
      height: _$$_REQUIRE(_dependencyMap[1]).HEADER_BUTTON_SIZE,
      width: _$$_REQUIRE(_dependencyMap[1]).HEADER_BUTTON_SIZE
    },
    hr: {
      height: _$$_REQUIRE(_dependencyMap[1]).HEADER_HR_SIZE
    },
    footerParent: {},
    footer: {
      flexDirection: "column",
      justifyContent: "center"
    },
    footerText: {
      padding: _$$_REQUIRE(_dependencyMap[1]).LIST_ITEM_PADDING,
      fontSize: _$$_REQUIRE(_dependencyMap[1]).FOOTER_FONT_SIZE,
      color: _$$_REQUIRE(_dependencyMap[2]).colors.md_blue_600,
      marginHorizontal: 5
    },
    footerTextTablet: {
      marginHorizontal: 15
    }
  });

  exports.default = _default;
},2196,[28,729,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.EPaperLogo = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _alignImageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _epaperLogoComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var EPaperLogo = function (_React$Component) {
    (0, _inherits2.default)(EPaperLogo, _React$Component);

    var _super = _createSuper(EPaperLogo);

    function EPaperLogo(props) {
      var _this;

      (0, _classCallCheck2.default)(this, EPaperLogo);
      _this = _super.call(this, props);
      _this.state = {
        ready: props.logo ? _$$_REQUIRE(_dependencyMap[12]).StringUtils.isUrl(props.logo.getUrl()) : false,
        url: props.logo ? props.logo.getUrl() : ""
      };
      return _this;
    }

    (0, _createClass2.default)(EPaperLogo, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this$state, ready, url, getDefaultLogoUrl, toLoad, error;

        return _regenerator.default.async(function componentDidMount$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _this$state = this.state, ready = _this$state.ready, url = _this$state.url;
                getDefaultLogoUrl = this.props.getDefaultLogoUrl;

                if (ready) {
                  _context.next = 15;
                  break;
                }

                toLoad = url;
                error = false;
                _context.prev = 5;
                _context.next = 8;
                return _regenerator.default.awrap(getDefaultLogoUrl());

              case 8:
                toLoad = _context.sent;
                _context.next = 14;
                break;

              case 11:
                _context.prev = 11;
                _context.t0 = _context["catch"](5);
                error = true;

              case 14:
                this.setState({
                  ready: !error,
                  url: toLoad
                });

              case 15:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[5, 11]], Promise);
      }
    }, {
      key: "render",
      value: function render() {
        var logo = this.props.logo;
        var _this$props = this.props,
            _onPress = _this$props.onPress,
            padding = _this$props.padding,
            parentHeight = _this$props.parentHeight,
            logoHeight = _this$props.logoHeight,
            style = _this$props.style;
        var _this$state2 = this.state,
            ready = _this$state2.ready,
            url = _this$state2.url;

        if (ready) {
          var alignment = "flex-start";

          if (logo) {
            if (logo.getAlignment() === "center") {
              alignment = "center";
            } else if (logo.getAlignment() === "left") {
              alignment = "flex-start";
            } else {
              alignment = "flex-end";
            }
          }

          return _react.default.createElement(_reactNative.TouchableOpacity, {
            style: [_epaperLogoComponent.default.logoParent, {
              height: parentHeight,
              padding: padding,
              justifyContent: alignment
            }, style],
            onPress: function onPress() {
              if (typeof _onPress === "function" && logo) {
                _onPress(logo.getAction());
              }
            }
          }, _react.default.createElement(_alignImageComponent.default, {
            style: [_epaperLogoComponent.default.logo, {
              height: logoHeight
            }],
            source: {
              uri: url
            }
          }));
        }

        return null;
      }
    }]);
    return EPaperLogo;
  }(_react.default.Component);

  exports.EPaperLogo = EPaperLogo;
  EPaperLogo.propTypes = {
    logo: _propTypes.default.instanceOf(_$$_REQUIRE(_dependencyMap[13]).Logo),
    getDefaultLogoUrl: _propTypes.default.func.isRequired,
    onPress: _propTypes.default.func,
    padding: _propTypes.default.number,
    parentHeight: _propTypes.default.number,
    logoHeight: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
    style: _propTypes.default.any
  };
  EPaperLogo.defaultProps = {
    padding: 3,
    parentHeight: _$$_REQUIRE(_dependencyMap[14]).LOGO_PARENT_HEIGHT,
    logoHeight: _$$_REQUIRE(_dependencyMap[14]).LOGO_HEIGHT,
    style: undefined
  };
},2197,[5,80,7,8,12,14,16,17,201,28,2198,2199,462,1854,729]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _imageComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AlignImage = function (_React$Component) {
    (0, _inherits2.default)(AlignImage, _React$Component);

    var _super = _createSuper(AlignImage);

    function AlignImage(props) {
      var _this;

      (0, _classCallCheck2.default)(this, AlignImage);
      _this = _super.call(this, props);
      _this.state = {
        imageWidth: 0,
        imageHeight: 0,
        viewWidth: 0,
        viewHeight: 0,
        loading: true,
        error: false
      };
      _this.computed = false;
      return _this;
    }

    (0, _createClass2.default)(AlignImage, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        this._mounted = true;
        (0, _imageComponent.getSize)(this._getSourceForSize(), function (width, height) {
          if (_this2._mounted) {
            _this2.setState({
              imageWidth: width,
              imageHeight: height,
              loading: false
            });
          }
        }, function () {
          _this2.setState({
            error: true
          });
        });
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this._mounted = false;
      }
    }, {
      key: "_getSourceForSize",
      value: function _getSourceForSize() {
        var source = this.props.source;
        return typeof source === "object" ? source.uri : source;
      }
    }, {
      key: "_getCorrectViewSize",
      value: function _getCorrectViewSize() {
        var _this$state = this.state,
            imageWidth = _this$state.imageWidth,
            imageHeight = _this$state.imageHeight,
            viewWidth = _this$state.viewWidth,
            viewHeight = _this$state.viewHeight;

        if (this._hasSize()) {
          var scale = Math.min(viewHeight / imageHeight, viewWidth / imageWidth);
          var height = Math.floor(imageHeight * scale);
          var width = Math.floor(imageWidth * scale);
          this.computed = true;
          return {
            flex: 0,
            width: width,
            height: height
          };
        }

        return {};
      }
    }, {
      key: "_hasSize",
      value: function _hasSize() {
        var _this$state2 = this.state,
            imageWidth = _this$state2.imageWidth,
            imageHeight = _this$state2.imageHeight,
            viewWidth = _this$state2.viewWidth,
            viewHeight = _this$state2.viewHeight;
        return imageWidth && imageHeight && viewWidth && viewHeight;
      }
    }, {
      key: "render",
      value: function render() {
        var _this3 = this;

        var _this$state3 = this.state,
            loading = _this$state3.loading,
            error = _this$state3.error;
        var _this$props = this.props,
            style = _this$props.style,
            source = _this$props.source,
            rest = (0, _objectWithoutProperties2.default)(_this$props, ["style", "source"]);
        return loading || error ? null : _react.default.createElement(_imageComponent.default, (0, _extends2.default)({}, rest, {
          source: this._hasSize() ? source : {},
          onLayout: function onLayout(_ref) {
            var nativeEvent = _ref.nativeEvent;

            if (_this3._mounted && !_this3.computed) {
              _this3.setState({
                viewWidth: nativeEvent.layout.width,
                viewHeight: nativeEvent.layout.height
              });
            }
          },
          style: [style, this._getCorrectViewSize()],
          resizeMode: "contain"
        }));
      }
    }]);
    return AlignImage;
  }(_react.default.Component);

  exports.default = AlignImage;
  AlignImage.propTypes = {
    style: _propTypes.default.any,
    source: _propTypes.default.any
  };
},2198,[5,6,108,7,8,12,14,16,17,201,588]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    logoParent: {
      flex: 1,
      height: _$$_REQUIRE(_dependencyMap[1]).LOGO_PARENT_HEIGHT,
      flexDirection: "row",
      alignItems: "center",
      padding: 6
    },
    logo: {
      flex: 1,
      height: _$$_REQUIRE(_dependencyMap[1]).LOGO_HEIGHT
    }
  });

  exports.default = _default;
},2199,[28,729]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = exports.BUTTON_SIZE_IOS_PHONE = exports.BUTTON_SIZE = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var BUTTON_CONTENT = 40;
  var BUTTON_CONTENT_IOS_PHONE = 30;
  var BUTTON_MARGIN = 5;
  var BUTTON_SIZE = 50;
  exports.BUTTON_SIZE = BUTTON_SIZE;
  var BUTTON_SIZE_IOS_PHONE = 40;
  exports.BUTTON_SIZE_IOS_PHONE = BUTTON_SIZE_IOS_PHONE;

  var styles = _reactNative.StyleSheet.create({
    headerTitle: {
      position: "absolute",
      top: 0,
      start: 0,
      bottom: 0,
      end: 0,
      width: null,
      height: null
    },
    headerLogoParent: {
      flex: 1,
      flexDirection: "column",
      justifyContent: "center",
      alignItems: "center"
    },
    placeHolder: {
      marginHorizontal: BUTTON_MARGIN,
      width: BUTTON_CONTENT,
      height: BUTTON_CONTENT
    },
    placeHolderIphone: {
      width: BUTTON_CONTENT_IOS_PHONE,
      height: BUTTON_CONTENT_IOS_PHONE
    },
    container: {
      alignItems: "flex-start",
      flexDirection: "row"
    },
    menuButton: {
      alignItems: "center",
      justifyContent: "center",
      width: 60,
      height: BUTTON_CONTENT,
      borderRadius: 100,
      marginStart: -20,
      marginEnd: BUTTON_MARGIN
    },
    menuButtonIphone: {
      height: BUTTON_CONTENT_IOS_PHONE
    },
    menuIcon: {
      fontSize: 24,
      marginEnd: 0,
      marginStart: 10,
      marginRight: 0
    },
    menuIconIphone: {
      fontSize: 16
    },
    icon: {
      fontSize: 24,
      marginEnd: 0,
      marginStart: 0,
      marginRight: 0,
      marginLeft: 0
    },
    iconIphone: {
      fontSize: 16
    },
    button: {
      alignItems: "center",
      justifyContent: "center",
      width: BUTTON_CONTENT,
      height: BUTTON_CONTENT,
      borderRadius: 20,
      marginEnd: BUTTON_MARGIN,
      marginStart: BUTTON_MARGIN
    },
    buttonIphone: {
      width: BUTTON_CONTENT_IOS_PHONE,
      height: BUTTON_CONTENT_IOS_PHONE
    },
    customActionBarButton: {
      width: 130,
      height: 35,
      flexDirection: "row",
      justifyContent: "space-between",
      borderRadius: 25,
      margin: 5,
      paddingHorizontal: 10,
      paddingVertical: 5
    },
    customActionBarButtonText: {
      flex: 1,
      alignSelf: "center",
      textAlign: "right",
      textTransform: "uppercase",
      fontSize: 12,
      fontWeight: "bold",
      color: _$$_REQUIRE(_dependencyMap[1]).colors.white
    }
  });

  exports.styles = styles;
},2200,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.HeaderButton = HeaderButton;
  exports.LogoImage = LogoImage;
  exports.DrawerButton = DrawerButton;
  exports.HomeButton = HomeButton;
  exports.SearchButton = SearchButton;
  exports.LayoutButton = LayoutButton;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _LiveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _ApplicationManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _navigationUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _buttonComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function HeaderButton(props) {
    var parentStyle = props.parentStyle,
        style = props.style,
        cssClasses = props.cssClasses,
        name = props.name,
        type = props.type,
        onPress = props.onPress,
        accessibilityLabel = props.accessibilityLabel;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
      classes: ["navigation-button"],
      cssKey: name
    }, _react.default.createElement(_reactNative.View, {
      style: _$$_REQUIRE(_dependencyMap[13]).styles.container,
      key: "btn_" + name
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
      classes: ["navigation-button-parent"],
      cssKey: name
    }, _react.default.createElement(_buttonComponent.default, {
      style: parentStyle,
      onPress: onPress,
      accessibilityLabel: accessibilityLabel
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
      classes: cssClasses
    }, _react.default.createElement(_iconComponent.default, {
      name: name,
      style: style,
      type: type
    }))))));
  }

  function LogoImage(props) {
    var _useState = (0, _react.useState)(false),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        error = _useState2[0],
        setError = _useState2[1];

    var _global$getRssIndex = global.getRssIndex(),
        headerLogoURL = _global$getRssIndex.headerLogoURL;

    var epaperHeaderLogoURL = _ApplicationManager.default.getDefaultArticleTextBanner();

    var url = _LiveConfig.default.isEpaperSide() ? epaperHeaderLogoURL : headerLogoURL;
    var source;

    if (url && !error) {
      source = {
        uri: url
      };
    } else {
      source = _$$_REQUIRE(_dependencyMap[14]);
    }

    var onError = (0, _react.useCallback)(function () {
      if (!error) {
        setError(true);
      }
    }, []);
    return _react.default.createElement(_imageComponent.default, (0, _extends2.default)({
      resizeMode: "contain",
      source: source
    }, props, {
      onError: onError
    }));
  }

  function DrawerButton(props) {
    var _global$getRssIndex2 = global.getRssIndex(),
        buttonBackgroundColor = _global$getRssIndex2.buttonBackgroundColor,
        supportColor = _global$getRssIndex2.supportColor;

    var _props$backgroundColo = props.backgroundColor,
        backgroundColor = _props$backgroundColo === undefined ? buttonBackgroundColor : _props$backgroundColo,
        navigation = props.navigation;
    var menuButtonStyle = [];
    var menuIconStyle = [];
    menuButtonStyle.push(_$$_REQUIRE(_dependencyMap[13]).styles.menuButton, {
      backgroundColor: backgroundColor
    });
    menuIconStyle.push(_$$_REQUIRE(_dependencyMap[13]).styles.menuIcon, {
      color: supportColor
    });

    if (_$$_REQUIRE(_dependencyMap[15]).PlatformUtils.isiPhone()) {
      menuButtonStyle.push(_$$_REQUIRE(_dependencyMap[13]).styles.menuButtonIphone);
      menuIconStyle.push(_$$_REQUIRE(_dependencyMap[13]).styles.menuIconIphone);
    }

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
      classes: ["rss-drawer-button"]
    }, _react.default.createElement(_buttonComponent.default, {
      style: menuButtonStyle,
      onPress: function onPress() {
        if (_LiveConfig.default.isDrawerOpen()) {
          _NavigationService.default.drawer.close(navigation);
        } else {
          _NavigationService.default.drawer.open(navigation);
        }
      }
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
      classes: ["rss-drawer-button-icon"]
    }, _react.default.createElement(_iconComponent.default, {
      name: "menu",
      style: menuIconStyle,
      type: _iconComponent.TecnaviaIconType.MATERIAL_COMMUNITY_ICONS
    }))));
  }

  function HomeButton(props) {
    var _global$getRssIndex3 = global.getRssIndex(),
        buttonBackgroundColor = _global$getRssIndex3.buttonBackgroundColor,
        supportColor = _global$getRssIndex3.supportColor;

    var _props$backgroundColo2 = props.backgroundColor,
        backgroundColor = _props$backgroundColo2 === undefined ? buttonBackgroundColor : _props$backgroundColo2,
        navigation = props.navigation;
    var buttonStyle = [_$$_REQUIRE(_dependencyMap[13]).styles.button, {
      backgroundColor: backgroundColor
    }];
    var iconStyle = [_$$_REQUIRE(_dependencyMap[13]).styles.icon, {
      color: supportColor
    }];

    if (_$$_REQUIRE(_dependencyMap[15]).PlatformUtils.isiPhone()) {
      buttonStyle.push(_$$_REQUIRE(_dependencyMap[13]).styles.buttonIphone);
      iconStyle.push(_$$_REQUIRE(_dependencyMap[13]).styles.iconIphone);
    }

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
      classes: ["rss-home-button"]
    }, _react.default.createElement(_buttonComponent.default, {
      style: buttonStyle,
      onPress: function onPress() {
        _NavigationService.default.drawer.close(navigation);

        _navigationUtils.default.navigateToHome(navigation);
      }
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
      classes: ["rss-home-button-icon"]
    }, _react.default.createElement(_iconComponent.default, {
      name: "home",
      style: iconStyle,
      type: _iconComponent.TecnaviaIconType.FONT_AWESOME
    }))));
  }

  function SearchButton(props) {
    var _global$getRssIndex4 = global.getRssIndex(),
        buttonBackgroundColor = _global$getRssIndex4.buttonBackgroundColor,
        supportColor = _global$getRssIndex4.supportColor;

    var _props$backgroundColo3 = props.backgroundColor,
        backgroundColor = _props$backgroundColo3 === undefined ? buttonBackgroundColor : _props$backgroundColo3,
        navigation = props.navigation;
    var buttonStyle = [_$$_REQUIRE(_dependencyMap[13]).styles.button, {
      backgroundColor: backgroundColor
    }];
    var iconStyle = [_$$_REQUIRE(_dependencyMap[13]).styles.icon, {
      color: supportColor
    }];

    if (_$$_REQUIRE(_dependencyMap[15]).PlatformUtils.isiPhone()) {
      buttonStyle.push(_$$_REQUIRE(_dependencyMap[13]).styles.buttonIphone);
      iconStyle.push(_$$_REQUIRE(_dependencyMap[13]).styles.iconIphone);
    }

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
      classes: ["rss-search-button"]
    }, _react.default.createElement(_buttonComponent.default, {
      style: buttonStyle,
      onPress: function onPress() {
        _NavigationService.default.drawer.close(navigation);

        navigation.navigate({
          name: "search"
        });
      }
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
      classes: ["rss-search-button-icon"]
    }, _react.default.createElement(_iconComponent.default, {
      name: "search",
      style: iconStyle,
      type: _iconComponent.TecnaviaIconType.MATERIAL_ICONS
    }))));
  }

  function LayoutButton(props) {
    var buttonLayoutStyle = [_$$_REQUIRE(_dependencyMap[13]).styles.button];
    var iconLayoutStyle = [_$$_REQUIRE(_dependencyMap[13]).styles.icon];

    if (_$$_REQUIRE(_dependencyMap[15]).PlatformUtils.isiPhone()) {
      buttonLayoutStyle.push(_$$_REQUIRE(_dependencyMap[13]).styles.buttonIphone);
      iconLayoutStyle.push(_$$_REQUIRE(_dependencyMap[13]).styles.iconIphone);
    }

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).ToggleLayoutIcon, (0, _extends2.default)({
      iconStyle: iconLayoutStyle,
      buttonStyle: buttonLayoutStyle
    }, props));
  }
},2201,[5,6,41,17,28,1872,602,2045,1861,2202,1806,588,699,2200,2203,462,2204]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = TecnaviaButton;
  exports.Circle = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var styles = _reactNative.StyleSheet.create({
    btn: {
      width: "100%",
      height: 50,
      paddingHorizontal: 10,
      borderWidth: 0.3,
      borderColor: _$$_REQUIRE(_dependencyMap[6]).colors.transparent200,
      borderRadius: 20,
      alignItems: "center",
      justifyContent: "space-evenly",
      flexDirection: "row"
    },
    text: {
      flex: 1,
      textAlign: "center",
      color: _$$_REQUIRE(_dependencyMap[6]).colors.black
    }
  });

  function TecnaviaButton(props) {
    return _react.default.createElement(_reactNative.TouchableOpacity, props);
  }

  function Button(props) {
    var style = props.style,
        onPress = props.onPress,
        rest = (0, _objectWithoutProperties2.default)(props, ["style", "onPress"]);

    var foregroundColor = _$$_REQUIRE(_dependencyMap[7]).Css.getDefaultForegroundColor();

    if (typeof onPress === "function") {
      return _react.default.createElement(_reactNative.TouchableOpacity, (0, _extends2.default)({
        style: [styles.btn, {
          borderColor: foregroundColor
        }, style],
        onPress: onPress
      }, rest));
    }

    return _react.default.createElement(_reactNative.View, (0, _extends2.default)({
      style: [styles.btn, {
        borderColor: foregroundColor
      }, style]
    }, rest));
  }

  function Text(props) {
    var style = props.style,
        rest = (0, _objectWithoutProperties2.default)(props, ["style"]);

    var foregroundColor = _$$_REQUIRE(_dependencyMap[7]).Css.getDefaultForegroundColor();

    return _react.default.createElement(_fontText.default, (0, _extends2.default)({
      style: [styles.text, {
        color: foregroundColor
      }, style],
      numberOfLines: 1,
      adjustsFontSizeToFit: true
    }, rest));
  }

  var Circle = {
    Button: Button,
    Text: Text
  };
  exports.Circle = Circle;
},2202,[5,6,108,17,28,1879,462,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/navigation/img",
    "width": 600,
    "height": 75,
    "scales": [1],
    "hash": "d8e9e1553cdb3ab0c0388552b3f3102e",
    "name": "text_banner",
    "type": "png"
  });
},2203,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2204,[2205]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.ToggleLayoutIcon = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var _buttonComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ToggleLayoutIcon = function (_React$Component) {
    (0, _inherits2.default)(ToggleLayoutIcon, _React$Component);

    var _super = _createSuper(ToggleLayoutIcon);

    function ToggleLayoutIcon(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ToggleLayoutIcon);
      _this = _super.call(this, props);
      _this.state = {
        layout: global.getUserSettings().layout
      };
      _this.onSwapLayout = _this._swapLayout.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(ToggleLayoutIcon, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        this.toggleLayout = _$$_REQUIRE(_dependencyMap[12]).EventRegister.on(_events.default.TOGGLE_LAYOUT, function () {
          _this2.setState(function () {
            return {
              layout: global.getUserSettings().layout
            };
          });
        });
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[12]).EventRegister.rm(this.toggleLayout);
      }
    }, {
      key: "_swapLayout",
      value: function _swapLayout() {
        var newLayout = global.getUserSettings().toggleLayout();
        this.setState(function () {
          return {
            layout: newLayout
          };
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            backgroundColor = _this$props.backgroundColor,
            iconStyle = _this$props.iconStyle,
            buttonStyle = _this$props.buttonStyle;
        var layout = this.state.layout;

        var _global$getRssIndex = global.getRssIndex(),
            buttonBackgroundColor = _global$getRssIndex.buttonBackgroundColor,
            supportColor = _global$getRssIndex.supportColor;

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["rss-layout-button"]
        }, _react.default.createElement(_buttonComponent.default, {
          style: [buttonStyle, {
            backgroundColor: backgroundColor || buttonBackgroundColor
          }],
          onPress: this.onSwapLayout
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["rss-layout-button-icon"]
        }, _react.default.createElement(_iconComponent.default, {
          name: global.getUserSettings().nextLayout(layout).icon,
          style: [iconStyle, {
            color: supportColor
          }],
          type: _iconComponent.TecnaviaIconType.MATERIAL_COMMUNITY_ICONS
        }))));
      }
    }]);
    return ToggleLayoutIcon;
  }(_react.default.Component);

  exports.ToggleLayoutIcon = ToggleLayoutIcon;
  ToggleLayoutIcon.propTypes = {
    iconStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.array, _propTypes.default.object]),
    buttonStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.array, _propTypes.default.object]),
    backgroundColor: _propTypes.default.string
  };
},2205,[5,7,8,15,12,14,16,17,201,460,1806,2202,572,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.performNavigation = performNavigation;
  exports.default = DrawerNavigator;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _IndexHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _Paywall = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _RssContentHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _LiveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _footerBarComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _barsComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _styleUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _navigationUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _tecnaviaPlatformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _tabNavigator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var Drawer = _NavigationService.default.navigator.createDrawer();

  function dispatchNavigationToParent(navigation, screen) {
    var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
    navigation.navigate(screen, params);
  }

  var navigateDirectlyToFullScreen = function _callee(navigation, settings) {
    var displayName, drawerItemKey, disableAds, items;
    return _regenerator.default.async(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            displayName = settings.displayName, drawerItemKey = settings.drawerItemKey, disableAds = settings.disableAds;
            _context.next = 3;
            return _regenerator.default.awrap(_RssContentHelper.default.getArticlesByCategory(drawerItemKey, disableAds === "1"));

          case 3:
            items = _context.sent;

            if (items && items.length) {
              dispatchNavigationToParent(navigation, "ArticleScreen", {
                items: items,
                item: items[0],
                settings: settings
              });
            } else {
              _$$_REQUIRE(_dependencyMap[20]).Toast.show(global.strings("msg_empty_category", {
                category: displayName
              }), {
                position: "top"
              });
            }

          case 5:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  };

  function ScreenComponent(props) {
    var item = props.item;

    switch ((0, _$$_REQUIRE(_dependencyMap[21]).getDrawerAction)(item)) {
      case _IndexHelper.default.SP.values.drawer.actions.show_articles:
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[22]).RssContentScreen, (0, _extends2.default)({}, props, {
          isLive: item.populateFeed === "0",
          onItemPress: performNavigation,
          getRouteKey: _$$_REQUIRE(_dependencyMap[21]).getNavigationRouteKeyByName
        }));

      case _IndexHelper.default.SP.values.drawer.actions.open_my_home:
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[23]).RssMyHomeScreen, (0, _extends2.default)({}, props, {
          onItemPress: performNavigation
        }));

      case _IndexHelper.default.SP.values.drawer.actions.open_favorites:
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).RssFavoritesScreen, (0, _extends2.default)({}, props, {
          onItemPress: performNavigation
        }));

      case _IndexHelper.default.SP.values.drawer.actions.open_search:
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[25]).RssSearchScreen, (0, _extends2.default)({}, props, {
          onItemPress: performNavigation
        }));

      default:
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[26]).EmptyScreen, (0, _extends2.default)({}, props, {
          url: item.params,
          onItemPress: performNavigation
        }));
    }
  }

  function openEPaper(item) {
    var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
    (0, _$$_REQUIRE(_dependencyMap[27]).sendToAnalytics)((0, _extends2.default)({
      event_action: "drawer"
    }, item));

    _NavigationService.default.main.reset("NewsmemoryNavigator", (0, _extends2.default)({
      isFromRss: true
    }, params));
  }

  function performNavigation(navigation, item) {
    var params = item.params,
        drawerItemKey = item.drawerItemKey;
    var routeName = (0, _$$_REQUIRE(_dependencyMap[21]).getNavigationRouteKeyByName)(drawerItemKey);
    var action = (0, _$$_REQUIRE(_dependencyMap[21]).getDrawerAction)(item);
    var _IndexHelper$SP$value = _IndexHelper.default.SP.values.drawer.actions,
        open_settings = _IndexHelper$SP$value.open_settings,
        open_url = _IndexHelper$SP$value.open_url,
        open_archive_search = _IndexHelper$SP$value.open_archive_search,
        open_in_app_purchase_page = _IndexHelper$SP$value.open_in_app_purchase_page,
        open_optionspage_tab_editions = _IndexHelper$SP$value.open_optionspage_tab_editions,
        open_optionspage_tab_login = _IndexHelper$SP$value.open_optionspage_tab_login,
        open_optionspage_tab_contact = _IndexHelper$SP$value.open_optionspage_tab_contact,
        open_optionspage_tab_help = _IndexHelper$SP$value.open_optionspage_tab_help,
        open_optionspage_tab_archive = _IndexHelper$SP$value.open_optionspage_tab_archive,
        open_paywall_account = _IndexHelper$SP$value.open_paywall_account,
        upload_image = _IndexHelper$SP$value.upload_image,
        open_epaper = _IndexHelper$SP$value.open_epaper,
        open_live_news = _IndexHelper$SP$value.open_live_news,
        open_full_screen = _IndexHelper$SP$value.open_full_screen,
        open_publications = _IndexHelper$SP$value.open_publications,
        open_drawer = _IndexHelper$SP$value.open_drawer;
    var _IndexHelper$SP$value2 = _IndexHelper.default.SP.values.drawer.params,
        open_le_vedette = _IndexHelper$SP$value2.open_le_vedette,
        open_real_estate = _IndexHelper$SP$value2.open_real_estate,
        open_auto_search = _IndexHelper$SP$value2.open_auto_search,
        open_monster = _IndexHelper$SP$value2.open_monster,
        open_fair = _IndexHelper$SP$value2.open_fair,
        open_weather = _IndexHelper$SP$value2.open_weather,
        open_events = _IndexHelper$SP$value2.open_events;

    var _global$getRssIndex = global.getRssIndex(),
        latitude = _global$getRssIndex.latitude,
        longitude = _global$getRssIndex.longitude,
        archiveSearchURL = _global$getRssIndex.archiveSearchURL;

    var parsedParams;

    if (Array.isArray(params) && params.length > 0) {
      parsedParams = params[0];
    } else if (typeof params === "string") {
      parsedParams = params;
    }

    var skipCloseDrawer = false;

    switch (action) {
      case open_settings:
        (0, _$$_REQUIRE(_dependencyMap[27]).sendToAnalytics)((0, _extends2.default)({
          event_action: "drawer"
        }, item));

        if (global.getMainPSetup().showNativeSettingsScreen) {
          dispatchNavigationToParent(navigation, "GeneralSettingsScreen", {
            epaperLabel: (0, _$$_REQUIRE(_dependencyMap[21]).getEpaperLabel)(),
            module: _$$_REQUIRE(_dependencyMap[28]).GeneralSettingsModules.RSS
          });
        } else {
          dispatchNavigationToParent(navigation, "SettingsScreen", {
            epaperLabel: (0, _$$_REQUIRE(_dependencyMap[21]).getEpaperLabel)()
          });
        }

        break;

      case open_url:
        (0, _$$_REQUIRE(_dependencyMap[27]).sendToAnalytics)((0, _extends2.default)({
          event_action: "drawer"
        }, item));

        switch (parsedParams) {
          case open_le_vedette:
            break;

          case open_real_estate:
            break;

          case open_auto_search:
            break;

          case open_monster:
            dispatchNavigationToParent(navigation, "JobNavigator");
            break;

          case open_events:
            var extra = {
              user: (0, _$$_REQUIRE(_dependencyMap[21]).parseExtra)(item.extra, "externalAPIUsername", ""),
              pass: (0, _$$_REQUIRE(_dependencyMap[21]).parseExtra)(item.extra, "externalAPIPassword", ""),
              portal: (0, _$$_REQUIRE(_dependencyMap[21]).parseExtra)(item.extra, "externalAPIPortal", ""),
              adUnitId: (0, _$$_REQUIRE(_dependencyMap[21]).parseExtra)(item.extra, "externalAdUnitId", ""),
              adFallback: (0, _$$_REQUIRE(_dependencyMap[21]).parseExtra)(item.extra, "externalAdFallback", ""),
              adWidth: (0, _$$_REQUIRE(_dependencyMap[21]).parseExtra)(item.extra, "externalAdWidth", 300),
              adHeight: (0, _$$_REQUIRE(_dependencyMap[21]).parseExtra)(item.extra, "externalAdHeight", 250),
              apiHomeOverride: (0, _$$_REQUIRE(_dependencyMap[21]).parseExtra)(item.extra, "HomeOverride", ""),
              extraSearchField: (0, _$$_REQUIRE(_dependencyMap[21]).parseExtra)(item.extra, "ExtraSearchField", "[]")
            };
            navigation.dispatch(_$$_REQUIRE(_dependencyMap[29]).CommonActions.navigate("EventNavigator", {
              screen: "VerticalTabNavigator",
              params: extra
            }));
            break;

          case open_fair:
            break;

          case open_weather:
            if (_optionalPackageUtils.default.isBaronAvailable()) {
              _optionalPackageUtils.default.getBaronWeather().openWeather({
                server: global.getAppServer(),
                latitude: latitude,
                longitude: longitude
              });
            } else {
              _$$_REQUIRE(_dependencyMap[20]).Toast.show(global.strings("err_module_unavailable", {
                module: "Baron weather"
              }));
            }

            break;

          default:
            if (parsedParams) {
              var url = parsedParams;
              (0, _$$_REQUIRE(_dependencyMap[27]).sendToAnalytics)({
                event_action: "open_link",
                label: item.drawerItemKey
              });
              var openInExternalBrowser = (0, _$$_REQUIRE(_dependencyMap[21]).parseExtra)(item.extra, "target", "") === "_blank";

              if (openInExternalBrowser) {
                _tecnaviaPlatformUtils.default.openURL(url);
              } else {
                dispatchNavigationToParent(navigation, "WebScreen", {
                  url: url,
                  extra: {
                    ronDinoPromotionsAAK: (0, _$$_REQUIRE(_dependencyMap[21]).parseExtra)(item.extra, "ronDinoPromotionsAAK", "")
                  },
                  shareButtonIsEnabled: item.enableShareButton === "1"
                });
              }
            }

        }

        break;

      case open_archive_search:
        (0, _$$_REQUIRE(_dependencyMap[27]).sendToAnalytics)((0, _extends2.default)({
          event_action: "drawer"
        }, item));

        if (archiveSearchURL) {
          dispatchNavigationToParent(navigation, "WebScreen", {
            url: archiveSearchURL
          });
        } else {}

        break;

      case open_optionspage_tab_editions:
        openEPaper(item, {
          tab: _$$_REQUIRE(_dependencyMap[30]).tabs.home
        });
        break;

      case open_in_app_purchase_page:
      case open_optionspage_tab_login:
        openEPaper(item, {
          tab: _$$_REQUIRE(_dependencyMap[30]).tabs.login
        });
        break;

      case open_optionspage_tab_contact:
        openEPaper(item, {
          tab: _$$_REQUIRE(_dependencyMap[30]).tabs.contact
        });
        break;

      case open_optionspage_tab_help:
        openEPaper(item, {
          tab: _$$_REQUIRE(_dependencyMap[30]).tabs.help
        });
        break;

      case open_optionspage_tab_archive:
        openEPaper(item, {
          tab: _$$_REQUIRE(_dependencyMap[30]).tabs.archive
        });
        break;

      case open_epaper:
        var tab = (0, _$$_REQUIRE(_dependencyMap[21]).parseExtra)(item.extra, "optionPageTab", "");
        openEPaper(item, {
          tab: tab
        });
        break;

      case open_paywall_account:
        _Paywall.default.account();

        break;

      case upload_image:
        break;

      case open_full_screen:
        navigateDirectlyToFullScreen(navigation, item);
        break;

      case open_live_news:
        _navigationUtils.default.navigateToHome(navigation);

        break;

      case open_drawer:
        navigation.openDrawer();
        skipCloseDrawer = true;
        break;

      case open_publications:
        _NavigationService.default.main.navigate("PublicationsPageScreen");

        break;

      default:
        navigation.navigate(routeName);
    }

    try {
      if (!skipCloseDrawer) {
        navigation.closeDrawer();
      }
    } catch (e) {}
  }

  var _getCssStyleByItem = function _getCssStyleByItem(className, item, focused) {
    var cssItemKey = _$$_REQUIRE(_dependencyMap[31]).StringUtils.getKeyFromText(item.drawerItemKey);

    var attributes = {
      cssKey: cssItemKey,
      toggle: true,
      active: focused
    };
    return _$$_REQUIRE(_dependencyMap[32]).Css.getStyleObjByCssClasses([className], attributes);
  };

  function TabScreen(props) {
    var _global$getRssIndex2 = global.getRssIndex(),
        supportColor = _global$getRssIndex2.supportColor;

    var tabs = props.tabs,
        width = props.width,
        isSidebar = props.isSidebar,
        numberOfColumns = props.numberOfColumns;

    if (!tabs || !tabs.length) {
      return null;
    }

    var top = 0;

    if (isSidebar) {
      var _DeviceUtils$getSafeA = _deviceUtils.default.getSafeAreaInsets();

      top = _DeviceUtils$getSafeA.top;
    }

    return _react.default.createElement(_tabNavigator.default, {
      screenListeners: {
        state: function state(e) {
          var item = (0, _$$_REQUIRE(_dependencyMap[21]).getDrawerItemFromStructureAndState)(tabs, e.data.state);

          _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.RSS_ACTIVE_SCREEN, {
            item: item
          });
        }
      },
      style: {
        marginTop: top
      },
      initialRouteName: (0, _$$_REQUIRE(_dependencyMap[21]).getInitialRouteFromStructure)(tabs),
      tabs: tabs.map(function (_ref) {
        var item = _ref.item,
            route = _ref.route;
        return {
          item: item,
          route: route,
          label: item.displayName,
          icon: global.getAppServer() + item.image
        };
      }),
      tabStyles: {
        tabBarStyle: _$$_REQUIRE(_dependencyMap[32]).Css.getStyleObjByCssClasses(["rss-tab"]),
        tabBarIndicatorStyle: _$$_REQUIRE(_dependencyMap[32]).Css.getStyleObjByCssClasses(["rss-tab-indicator"]),
        tabBarItemStyle: function tabBarItemStyle(item, focused) {
          return _getCssStyleByItem("rss-tab-item", item, focused);
        },
        tabBarIconStyle: function tabBarIconStyle(item, focused) {
          return _getCssStyleByItem("rss-tab-icon", item, focused);
        },
        tabBarLabelStyle: function tabBarLabelStyle(item, focused) {
          return _getCssStyleByItem("rss-tab-item-text", item, focused);
        }
      },
      primaryColor: _$$_REQUIRE(_dependencyMap[32]).Css.getDefaultBackgroundColor(),
      supportColor: supportColor,
      tabScreen: function tabScreen(_ref2, navProps) {
        var item = _ref2.item,
            index = _ref2.index;
        return _react.default.createElement(ScreenComponent, (0, _extends2.default)({}, navProps, {
          item: item,
          showHeader: false,
          isHome: item.drawerItemKey === global.getRssIndex().homeCategory,
          width: width,
          numberOfColumns: numberOfColumns
        }));
      }
    });
  }

  function DrawerHeader(props) {
    var width = props.width,
        rest = (0, _objectWithoutProperties2.default)(props, ["width"]);

    var _DeviceUtils$getSafeA2 = _deviceUtils.default.getSafeAreaInsets(),
        top = _DeviceUtils$getSafeA2.top;

    var statusBarColor = _styleUtils.default.getRssStatusBarColor() || _$$_REQUIRE(_dependencyMap[31]).colors.white;

    var showLayoutButton = global.getRssIndex().needToShowLayoutButton();
    return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_reactNative.View, {
      style: {
        marginTop: top
      }
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[32]).Css, {
      classes: ["drawer-header-logo"]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[34]).LogoImage, {
      style: {
        width: width,
        height: _$$_REQUIRE(_dependencyMap[35]).RSS_HEADER_HEIGHT,
        flex: 0
      }
    })), _react.default.createElement(_reactNative.View, {
      style: [{
        flexDirection: "row",
        paddingBottom: 5,
        borderBottomColor: _$$_REQUIRE(_dependencyMap[31]).colors.transparent1200,
        borderBottomWidth: 0.5,
        margin: 5,
        justifyContent: "center"
      }]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[34]).HomeButton, (0, _extends2.default)({}, rest, {
      backgroundColor: _$$_REQUIRE(_dependencyMap[31]).colors.transparent
    })), _react.default.createElement(_$$_REQUIRE(_dependencyMap[34]).SearchButton, (0, _extends2.default)({}, rest, {
      backgroundColor: _$$_REQUIRE(_dependencyMap[31]).colors.transparent
    })), showLayoutButton ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[34]).LayoutButton, (0, _extends2.default)({}, rest, {
      backgroundColor: _$$_REQUIRE(_dependencyMap[31]).colors.transparent
    })) : null)), _react.default.createElement(_barsComponent.default, {
      edges: ["top"],
      statusBarColor: statusBarColor
    }));
  }

  function Footer(props) {
    var navigation = props.navigation,
        rest = (0, _objectWithoutProperties2.default)(props, ["navigation"]);

    var _global$getRssIndex3 = global.getRssIndex(),
        footerItems = _global$getRssIndex3.footerItems,
        supportColor = _global$getRssIndex3.supportColor,
        actionBarBackgroundColor = _global$getRssIndex3.actionBarBackgroundColor;

    var onItemClick = _react.default.useCallback(function (item) {
      return performNavigation(navigation, item);
    });

    return _react.default.createElement(_footerBarComponent.default, (0, _extends2.default)({
      height: _$$_REQUIRE(_dependencyMap[35]).RSS_HEADER_HEIGHT,
      items: footerItems,
      backgroundColor: supportColor,
      textColor: actionBarBackgroundColor,
      displayTextAlways: true,
      onItemClick: onItemClick
    }, rest));
  }

  function DrawerNavigator(props) {
    var isSidebar = props.isSidebar,
        navigation = props.navigation;
    var rssIndex = global.getRssIndex();
    var menuBackgroundColor = rssIndex.menuBackgroundColor,
        homeCategory = rssIndex.homeCategory;
    var startCategory = _LiveConfig.default.getLastRssCategory() || homeCategory;
    var initialRoute = (0, _$$_REQUIRE(_dependencyMap[21]).getNavigationRouteKeyByName)(startCategory);
    var routes = (0, _$$_REQUIRE(_dependencyMap[21]).getNavigationRoutes)();
    var structure = (0, _$$_REQUIRE(_dependencyMap[21]).getDrawerStructure)(routes, initialRoute);
    var routesToHide = structure.filter(function (_ref3) {
      var inDrawer = _ref3.inDrawer;
      return !inDrawer;
    }).map(function (_ref4) {
      var route = _ref4.route;
      return route;
    });

    var drawerStyle = _$$_REQUIRE(_dependencyMap[32]).Css.getStyleObjByCssClasses(["rss-drawer"]);

    var safeArea = _deviceUtils.default.getSafeArea();

    var _drawerStyle$width = drawerStyle.width,
        width = _drawerStyle$width === undefined ? _$$_REQUIRE(_dependencyMap[35]).DRAWER_WIDTH : _drawerStyle$width,
        _drawerStyle$backgrou = drawerStyle.backgroundColor,
        backgroundColor = _drawerStyle$backgrou === undefined ? (menuBackgroundColor || _$$_REQUIRE(_dependencyMap[31]).colors.white).concat("e4") : _drawerStyle$backgrou,
        drawerStyleRest = (0, _objectWithoutProperties2.default)(drawerStyle, ["width", "backgroundColor"]);
    var availableWidth = isSidebar ? safeArea.width - width : safeArea.width;
    var numberOfColumns = (0, _$$_REQUIRE(_dependencyMap[35]).getRssNumberOfColumns)();
    var newLayout = rssIndex.is3_0();
    return _react.default.createElement(Drawer.Navigator, {
      screenListeners: {
        state: function state(e) {
          var open = (0, _$$_REQUIRE(_dependencyMap[36]).getDrawerStatusFromState)(e.data.state);

          _LiveConfig.default.setDrawerOpen(open === "open");

          var item = (0, _$$_REQUIRE(_dependencyMap[21]).getDrawerItemFromStructureAndState)(structure, e.data.state);

          if (!item || item && item.layout !== "tab") {
            _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.RSS_ACTIVE_SCREEN, {
              item: item
            });
          }
        }
      },
      backBehavior: "initialRoute",
      screenOptions: {
        headerShown: false,
        drawerPosition: _$$_REQUIRE(_dependencyMap[31]).PlatformUtils.isRTL() ? "right" : "left",
        drawerStyle: (0, _extends2.default)({}, drawerStyleRest, {
          width: width,
          backgroundColor: backgroundColor
        }),
        drawerType: isSidebar ? "permanent" : "front"
      },
      drawerContent: function drawerContent(navProps) {
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[37]).DrawerComponent, (0, _extends2.default)({}, navProps, {
          drawerHeader: isSidebar && newLayout ? _react.default.createElement(DrawerHeader, {
            width: width,
            navigation: navigation
          }) : null,
          newLayout: newLayout,
          structure: structure,
          onItemPress: performNavigation,
          skipRoutes: routesToHide
        }));
      },
      initialRouteName: (0, _$$_REQUIRE(_dependencyMap[21]).getInitialRouteFromStructure)(structure)
    }, structure.map(function (_ref5, index) {
      var item = _ref5.item,
          route = _ref5.route,
          tabs = _ref5.tabs;
      var drawerItemKey = item.drawerItemKey;
      var isHomeCategory = drawerItemKey === homeCategory;

      if (tabs) {
        return _react.default.createElement(Drawer.Screen, {
          key: route,
          name: route,
          options: {
            drawerLabel: drawerItemKey
          }
        }, function (navProps) {
          return _react.default.createElement(Footer, (0, _extends2.default)({
            Content: _react.default.createElement(TabScreen, {
              isSidebar: isSidebar,
              width: availableWidth,
              numberOfColumns: numberOfColumns,
              tabs: tabs
            })
          }, navProps));
        });
      }

      return _react.default.createElement(Drawer.Screen, {
        key: route,
        name: route,
        options: {
          drawerLabel: drawerItemKey
        }
      }, function (navProps) {
        return _react.default.createElement(Footer, (0, _extends2.default)({
          Content: _react.default.createElement(ScreenComponent, (0, _extends2.default)({}, navProps, {
            item: item,
            showHeader: !isHomeCategory,
            considerSafeAreaTop: isSidebar,
            isHome: isHomeCategory,
            width: availableWidth,
            numberOfColumns: numberOfColumns
          }))
        }, navProps));
      });
    }));
  }
},2206,[5,108,6,80,17,28,1963,1862,2207,458,731,1861,1872,2084,460,2145,2147,2045,1876,2211,1889,2046,2214,2226,2259,2261,2281,2210,2232,1002,730,462,699,572,2201,2039,1139,2283]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.ORDER = exports.SORT = exports.DbDownloadPriority = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _RssContentManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var api = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _downloadUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _Resource = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _hintKeys = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var DbDownloadPriority = {
    HIGH: 1,
    MEDIUM: 2,
    LOW: 3
  };
  exports.DbDownloadPriority = DbDownloadPriority;
  var SORT = {
    BY_RELEVANCE: "0",
    BY_DATE: "1",
    BY_CATEGORIES: "2"
  };
  exports.SORT = SORT;
  var ORDER = {
    ASC: "0",
    DESC: "1"
  };
  exports.ORDER = ORDER;

  var RssContentHelper = function () {
    function RssContentHelper() {
      (0, _classCallCheck2.default)(this, RssContentHelper);
    }

    (0, _createClass2.default)(RssContentHelper, null, [{
      key: "getSortByValues",
      value: function getSortByValues() {
        return [{
          value: SORT.BY_RELEVANCE,
          label: global.strings("str_relevance")
        }, {
          value: SORT.BY_DATE,
          label: global.strings("str_date")
        }, {
          value: SORT.BY_CATEGORIES,
          label: global.strings("str_categories")
        }];
      }
    }, {
      key: "getOrderValues",
      value: function getOrderValues() {
        return [{
          value: ORDER.ASC,
          label: global.strings("str_ascending")
        }, {
          value: ORDER.DESC,
          label: global.strings("str_descending")
        }];
      }
    }, {
      key: "databaseExists",
      value: function databaseExists() {
        return _regenerator.default.async(function databaseExists$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", _RssContentManager.default.databaseExists());

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "replaceDatabase",
      value: function replaceDatabase(dbURL) {
        var _StringUtils$getUrlIn, domain;

        return _regenerator.default.async(function replaceDatabase$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _context3.prev = 0;

                _$$_REQUIRE(_dependencyMap[12]).HintOverlay.show({
                  config: _hintKeys.default.rssDbDownloadProgress(),
                  progress: true
                });

                _context3.next = 4;
                return _regenerator.default.awrap(_downloadUtils.default.getDatabase(dbURL, _RssContentManager.default.getDatabaseFolder(), {
                  progressCallback: function progressCallback(received, total) {
                    _$$_REQUIRE(_dependencyMap[13]).EventRegister.emit(_events.default.ON_RSS_DB_DOWNLOAD, {
                      progress: received / total,
                      downloading: true
                    });
                  },
                  callbackAfterUnzip: function callbackAfterUnzip(downloadedDbPath) {
                    return _regenerator.default.async(function callbackAfterUnzip$(_context2) {
                      while (1) {
                        switch (_context2.prev = _context2.next) {
                          case 0:
                            _context2.prev = 0;
                            _context2.next = 3;
                            return _regenerator.default.awrap(_RssContentManager.default.deleteDatabase());

                          case 3:
                            _context2.next = 7;
                            break;

                          case 5:
                            _context2.prev = 5;
                            _context2.t0 = _context2["catch"](0);

                          case 7:
                            _context2.prev = 7;
                            _context2.next = 10;
                            return _regenerator.default.awrap(_tecnaviaFileUtils.default.moveFile(downloadedDbPath, _RssContentManager.default.getDatabaseFilePath()));

                          case 10:
                            _context2.next = 14;
                            break;

                          case 12:
                            _context2.prev = 12;
                            _context2.t1 = _context2["catch"](7);

                          case 14:
                            _context2.prev = 14;
                            _context2.next = 17;
                            return _regenerator.default.awrap(_RssContentManager.default.migrateDB());

                          case 17:
                            _context2.next = 21;
                            break;

                          case 19:
                            _context2.prev = 19;
                            _context2.t2 = _context2["catch"](14);

                          case 21:
                            _$$_REQUIRE(_dependencyMap[13]).EventRegister.emit(_events.default.ON_RSS_DB_DOWNLOAD, {
                              progress: 100,
                              downloading: false
                            });

                          case 22:
                          case "end":
                            return _context2.stop();
                        }
                      }
                    }, null, null, [[0, 5], [7, 12], [14, 19]], Promise);
                  }
                }));

              case 4:
                _StringUtils$getUrlIn = _$$_REQUIRE(_dependencyMap[14]).StringUtils.getUrlInfo(dbURL), domain = _StringUtils$getUrlIn.domain;
                (0, _$$_REQUIRE(_dependencyMap[15]).sendToAnalytics)({
                  event_action: "download_rss_db",
                  domain: domain
                });
                _context3.next = 12;
                break;

              case 8:
                _context3.prev = 8;
                _context3.t0 = _context3["catch"](0);

                _$$_REQUIRE(_dependencyMap[12]).HintOverlay.hide();

                throw _context3.t0;

              case 12:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, [[0, 8]], Promise);
      }
    }, {
      key: "download",
      value: function download(categoryName) {
        var forceDownload,
            callbackForPush,
            hideRefresh,
            result,
            databaseExists,
            rssIndexConfig,
            dbURL,
            categoryIds,
            newestEntry,
            _await$api$getJsonDbU,
            reloadAll,
            newArticles,
            newArticlesCount,
            playlists,
            resources,
            resourceRels,
            resourceTypes,
            dbMTime,
            counter,
            _args4 = arguments;

        return _regenerator.default.async(function download$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                forceDownload = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : false;
                callbackForPush = _args4.length > 2 && _args4[2] !== undefined ? _args4[2] : function () {};
                hideRefresh = _args4.length > 3 && _args4[3] !== undefined ? _args4[3] : function () {};
                result = {};
                _context4.prev = 4;
                _context4.next = 7;
                return _regenerator.default.awrap(_RssContentManager.default.databaseExists());

              case 7:
                databaseExists = _context4.sent;
                rssIndexConfig = global.getRssIndex();
                dbURL = rssIndexConfig.getFullDbURL();

                if (!(forceDownload || !databaseExists)) {
                  _context4.next = 20;
                  break;
                }

                _context4.next = 13;
                return _regenerator.default.awrap(RssContentHelper.replaceDatabase(dbURL));

              case 13:
                result.msg = global.strings("msg_rss_reload_database");
                result.code = this.NEW_ITEMS_AVAILABLE;
                result.priority = DbDownloadPriority.HIGH;
                hideRefresh();
                callbackForPush();
                _context4.next = 59;
                break;

              case 20:
                _context4.next = 22;
                return _regenerator.default.awrap(_RssContentManager.default.getCategoryIdFromName(categoryName));

              case 22:
                categoryIds = _context4.sent;
                _context4.next = 25;
                return _regenerator.default.awrap(_RssContentManager.default.newestEntry(categoryIds));

              case 25:
                newestEntry = _context4.sent;
                _context4.next = 28;
                return _regenerator.default.awrap(api.getJsonDbUpdate(newestEntry, categoryIds));

              case 28:
                _await$api$getJsonDbU = _context4.sent;
                reloadAll = _await$api$getJsonDbU.reloadAll;
                newArticles = _await$api$getJsonDbU.newArticles;
                newArticlesCount = _await$api$getJsonDbU.newArticlesCount;
                playlists = _await$api$getJsonDbU.playlists;
                resources = _await$api$getJsonDbU.resources;
                resourceRels = _await$api$getJsonDbU.resourceRels;
                resourceTypes = _await$api$getJsonDbU.resourceTypes;
                dbMTime = _await$api$getJsonDbU.dbMTime;
                hideRefresh();

                if (dbMTime) {
                  rssIndexConfig.setDbMTime(dbMTime);
                  dbURL = rssIndexConfig.getFullDbURL();
                }

                if (!reloadAll) {
                  _context4.next = 48;
                  break;
                }

                _context4.next = 42;
                return _regenerator.default.awrap(RssContentHelper.replaceDatabase(dbURL));

              case 42:
                result.msg = global.strings("msg_rss_reload_database");
                result.code = this.NEW_ITEMS_AVAILABLE;
                result.priority = DbDownloadPriority.HIGH;
                callbackForPush();
                _context4.next = 59;
                break;

              case 48:
                if (!(newArticlesCount >= 0 || newArticles && newArticles.length)) {
                  _context4.next = 55;
                  break;
                }

                counter = newArticlesCount !== undefined ? newArticlesCount : newArticles.length;

                if (counter === 0) {
                  result.msg = global.strings("msg_rss_no_new_articles_available", {
                    count: 0
                  });
                  result.code = this.NO_NEW_ITEMS_AVAILABLE;
                  result.priority = DbDownloadPriority.LOW;
                } else {
                  if (counter === 1) {
                    result.msg = global.strings("msg_rss_one_new_article_available", {
                      count: counter
                    });
                  } else {
                    result.msg = global.strings("msg_rss_new_articles_available", {
                      count: counter
                    });
                  }

                  result.code = this.NEW_ITEMS_AVAILABLE;
                  result.priority = DbDownloadPriority.MEDIUM;
                }

                _context4.next = 53;
                return _regenerator.default.awrap(_RssContentManager.default.storeUpdate(newArticles, playlists, categoryIds, resources, resourceRels, resourceTypes, callbackForPush));

              case 53:
                _context4.next = 59;
                break;

              case 55:
                result.msg = global.strings("msg_rss_no_new_articles_available", {
                  count: 0
                });
                result.code = this.NO_NEW_ITEMS_AVAILABLE;
                result.priority = DbDownloadPriority.LOW;
                callbackForPush();

              case 59:
                _context4.next = 68;
                break;

              case 61:
                _context4.prev = 61;
                _context4.t0 = _context4["catch"](4);
                result.error = global.strings("msg_rss_update_error");
                result.code = this.ERROR;
                result.priority = DbDownloadPriority.HIGH;
                hideRefresh();
                callbackForPush();

              case 68:
                return _context4.abrupt("return", result);

              case 69:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, [[4, 61]], Promise);
      }
    }, {
      key: "deleteDatabase",
      value: function deleteDatabase() {
        return _regenerator.default.async(function deleteDatabase$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                return _context5.abrupt("return", _RssContentManager.default.deleteDatabase());

              case 1:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "initDatabase",
      value: function initDatabase() {
        return _regenerator.default.async(function initDatabase$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                return _context6.abrupt("return", _RssContentManager.default.initDatabase());

              case 1:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "mergeArticlesAndResources",
      value: function mergeArticlesAndResources(articles, resources) {
        return articles.map(function (article) {
          var currentArticleResources = resources.filter(function (resource) {
            return resource.getFeedId() === article.getFeedId();
          });
          article.setResources(currentArticleResources);
          return article;
        });
      }
    }, {
      key: "getArticlesBySearch",
      value: function getArticlesBySearch(text, searchData) {
        var articles, resources;
        return _regenerator.default.async(function getArticlesBySearch$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                _context7.next = 2;
                return _regenerator.default.awrap(_RssContentManager.default.searchArticles(text));

              case 2:
                articles = _context7.sent;
                articles = articles.filter(function (article) {
                  return RssContentHelper.filterArticleByCriteria(article, searchData);
                }).filter(function (item, index, items) {
                  return items.find(function (_item, _i) {
                    return _i > index && item.getFeedId() === _item.getFeedId();
                  }) === undefined;
                }).filter(function (item) {
                  return !item.isLiveStream();
                }).sort(function (itemA, itemB) {
                  return RssContentHelper.sortArticlesByCriteria(itemA, itemB, (0, _extends2.default)({}, searchData, {
                    text: text
                  }));
                });
                _context7.next = 6;
                return _regenerator.default.awrap(_RssContentManager.default.getResources(articles));

              case 6:
                resources = _context7.sent;
                return _context7.abrupt("return", RssContentHelper.mergeArticlesAndResources(articles, resources));

              case 8:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getFirstArticleByCategory",
      value: function getFirstArticleByCategory(category) {
        var withImage,
            articles,
            _args8 = arguments;
        return _regenerator.default.async(function getFirstArticleByCategory$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                withImage = _args8.length > 1 && _args8[1] !== undefined ? _args8[1] : false;
                _context8.next = 3;
                return _regenerator.default.awrap(_RssContentManager.default.getArticlesByCategory(category, true));

              case 3:
                articles = _context8.sent;

                if (withImage) {
                  articles = articles.filter(function (article) {
                    return !!article.image;
                  });
                }

                return _context8.abrupt("return", articles.length > 0 ? articles[0] : undefined);

              case 6:
              case "end":
                return _context8.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getArticlesByCategory",
      value: function getArticlesByCategory(category, removeAdvertisements) {
        var articles, resources;
        return _regenerator.default.async(function getArticlesByCategory$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                _context9.next = 2;
                return _regenerator.default.awrap(_RssContentManager.default.getArticlesByCategory(category, removeAdvertisements));

              case 2:
                articles = _context9.sent;
                _context9.next = 5;
                return _regenerator.default.awrap(_RssContentManager.default.getResources(articles));

              case 5:
                resources = _context9.sent;
                return _context9.abrupt("return", RssContentHelper.mergeArticlesAndResources(articles, resources));

              case 7:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getArticleByFeedId",
      value: function getArticleByFeedId(feedId) {
        var articles, resources;
        return _regenerator.default.async(function getArticleByFeedId$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                _context10.next = 2;
                return _regenerator.default.awrap(_RssContentManager.default.getArticleByFeedId(feedId));

              case 2:
                articles = _context10.sent;
                _context10.next = 5;
                return _regenerator.default.awrap(_RssContentManager.default.getResources(articles));

              case 5:
                resources = _context10.sent;
                return _context10.abrupt("return", RssContentHelper.mergeArticlesAndResources(articles, resources));

              case 7:
              case "end":
                return _context10.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getArticleBySource",
      value: function getArticleBySource(source) {
        var articles, resources;
        return _regenerator.default.async(function getArticleBySource$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                _context11.next = 2;
                return _regenerator.default.awrap(_RssContentManager.default.getArticleBySource(source));

              case 2:
                articles = _context11.sent;
                _context11.next = 5;
                return _regenerator.default.awrap(_RssContentManager.default.getResources(articles));

              case 5:
                resources = _context11.sent;
                return _context11.abrupt("return", RssContentHelper.mergeArticlesAndResources(articles, resources));

              case 7:
              case "end":
                return _context11.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getArticlesInHomeCategory",
      value: function getArticlesInHomeCategory(category, removeAdvertisements) {
        var articles, resources;
        return _regenerator.default.async(function getArticlesInHomeCategory$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                _context12.next = 2;
                return _regenerator.default.awrap(_RssContentManager.default.getArticlesInHomeCategory(category, removeAdvertisements));

              case 2:
                articles = _context12.sent;
                _context12.next = 5;
                return _regenerator.default.awrap(_RssContentManager.default.getResources(articles));

              case 5:
                resources = _context12.sent;
                return _context12.abrupt("return", RssContentHelper.mergeArticlesAndResources(articles, resources));

              case 7:
              case "end":
                return _context12.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getArticlesInMyHome",
      value: function getArticlesInMyHome(categories) {
        var articles, resources;
        return _regenerator.default.async(function getArticlesInMyHome$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                _context13.next = 2;
                return _regenerator.default.awrap(_RssContentManager.default.getArticlesInMyHome(categories));

              case 2:
                articles = _context13.sent;
                _context13.next = 5;
                return _regenerator.default.awrap(_RssContentManager.default.getResources(articles));

              case 5:
                resources = _context13.sent;
                return _context13.abrupt("return", RssContentHelper.mergeArticlesAndResources(articles, resources));

              case 7:
              case "end":
                return _context13.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getCategoryByArticleFeed",
      value: function getCategoryByArticleFeed(feedId) {
        return _regenerator.default.async(function getCategoryByArticleFeed$(_context14) {
          while (1) {
            switch (_context14.prev = _context14.next) {
              case 0:
                return _context14.abrupt("return", _RssContentManager.default.getCategoryFromFeedId(feedId));

              case 1:
              case "end":
                return _context14.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getMyHomeCategoryContent",
      value: function getMyHomeCategoryContent() {
        var result, content;
        return _regenerator.default.async(function getMyHomeCategoryContent$(_context15) {
          while (1) {
            switch (_context15.prev = _context15.next) {
              case 0:
                result = [];
                _context15.next = 3;
                return _regenerator.default.awrap(_RssContentManager.default.getCategoryContent());

              case 3:
                content = _context15.sent;
                content.forEach(function (item) {
                  result.push({
                    name: item.label,
                    count: item.count,
                    image: item.image.split("#").find(function (element) {
                      return element !== "";
                    })
                  });
                });
                return _context15.abrupt("return", result);

              case 6:
              case "end":
                return _context15.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getCategories",
      value: function getCategories() {
        var result;
        return _regenerator.default.async(function getCategories$(_context16) {
          while (1) {
            switch (_context16.prev = _context16.next) {
              case 0:
                result = [];
                _context16.prev = 1;
                _context16.next = 4;
                return _regenerator.default.awrap(_RssContentManager.default.getCategories());

              case 4:
                _context16.sent.forEach(function (_ref) {
                  var ca_id = _ref.ca_id,
                      ca_label = _ref.ca_label;

                  if (!ca_label.startsWith(_$$_REQUIRE(_dependencyMap[14]).StringUtils.TILDE)) {
                    result.push({
                      label: ca_label,
                      value: ca_id
                    });
                  }
                });

                _context16.next = 10;
                break;

              case 7:
                _context16.prev = 7;
                _context16.t0 = _context16["catch"](1);
                console.warn(_context16.t0);

              case 10:
                return _context16.abrupt("return", result);

              case 11:
              case "end":
                return _context16.stop();
            }
          }
        }, null, null, [[1, 7]], Promise);
      }
    }, {
      key: "getCategoriesForSearch",
      value: function getCategoriesForSearch(categoriesNotSearchable) {
        return _regenerator.default.async(function getCategoriesForSearch$(_context17) {
          while (1) {
            switch (_context17.prev = _context17.next) {
              case 0:
                _context17.prev = 0;
                _context17.next = 3;
                return _regenerator.default.awrap(RssContentHelper.getCategories());

              case 3:
                return _context17.abrupt("return", _context17.sent.filter(function (_ref2) {
                  var label = _ref2.label;
                  return !categoriesNotSearchable.includes(label);
                }));

              case 6:
                _context17.prev = 6;
                _context17.t0 = _context17["catch"](0);
                console.warn(_context17.t0);

              case 9:
                return _context17.abrupt("return", []);

              case 10:
              case "end":
                return _context17.stop();
            }
          }
        }, null, null, [[0, 6]], Promise);
      }
    }, {
      key: "getBylines",
      value: function getBylines() {
        var result;
        return _regenerator.default.async(function getBylines$(_context18) {
          while (1) {
            switch (_context18.prev = _context18.next) {
              case 0:
                result = [];
                _context18.prev = 1;
                _context18.next = 4;
                return _regenerator.default.awrap(_RssContentManager.default.getBylines());

              case 4:
                _context18.sent.forEach(function (_ref3) {
                  var ar_byline = _ref3.ar_byline;
                  result.push({
                    label: ar_byline,
                    value: ar_byline
                  });
                });

                _context18.next = 10;
                break;

              case 7:
                _context18.prev = 7;
                _context18.t0 = _context18["catch"](1);
                console.warn(_context18.t0);

              case 10:
                return _context18.abrupt("return", result);

              case 11:
              case "end":
                return _context18.stop();
            }
          }
        }, null, null, [[1, 7]], Promise);
      }
    }, {
      key: "getRangeDates",
      value: function getRangeDates() {
        var dates, result;
        return _regenerator.default.async(function getRangeDates$(_context19) {
          while (1) {
            switch (_context19.prev = _context19.next) {
              case 0:
                _context19.next = 2;
                return _regenerator.default.awrap(_RssContentManager.default.getDates());

              case 2:
                dates = _context19.sent;
                result = [];

                if (dates) {
                  if (dates[0]) {
                    result.push(dates[0].ar_articledate * 1000);
                  }

                  if (dates[dates.length - 1]) {
                    result.push(dates[dates.length - 1].ar_articledate * 1000);
                  }
                }

                return _context19.abrupt("return", result);

              case 6:
              case "end":
                return _context19.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "filterArticleByCriteria",
      value: function filterArticleByCriteria(article) {
        var criteria = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
        var include = true;

        if (criteria.startDate) {
          include = article.unixDate * 1000 >= _$$_REQUIRE(_dependencyMap[14]).DateUtils.toDate(criteria.startDate).getTime();
        }

        if (include && criteria.endDate) {
          include = article.unixDate * 1000 <= _$$_REQUIRE(_dependencyMap[14]).DateUtils.toDate(criteria.endDate).getTime();
        }

        if (include && criteria.byline) {
          include = criteria.byline.includes(article.byline);
        }

        if (include && criteria.categories) {
          include = criteria.categories.includes(article.categoryId);
        }

        return include;
      }
    }, {
      key: "sortArticlesByCriteria",
      value: function sortArticlesByCriteria(itemA, itemB) {
        var criteria = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
        var result = 0;

        if (criteria.sortBy === SORT.BY_CATEGORIES) {
          if (itemA.category < itemB.category) {
            result = -1;
          } else if (itemA.category > itemB.category) {
            result = 1;
          }
        } else if (criteria.sortBy === SORT.BY_RELEVANCE && criteria.text) {
          var occurrenceInA = (itemA.title + " " + itemA.byline + " " + itemA.summary + " " + itemA.html).toLocaleLowerCase().search(criteria.text.toLocaleLowerCase());
          var occurrenceInB = (itemB.title + " " + itemB.byline + " " + itemB.summary + " " + itemB.html).toLocaleLowerCase().search(criteria.text.toLocaleLowerCase());
          result = occurrenceInB - occurrenceInA;
        } else {
          result = itemB.unixDate - itemA.unixDate;
        }

        return criteria.order === ORDER.ASC ? result * -1 : result;
      }
    }]);
    return RssContentHelper;
  }();

  exports.default = RssContentHelper;
  RssContentHelper.ERROR = -1;
  RssContentHelper.NO_NEW_ITEMS_AVAILABLE = 0;
  RssContentHelper.NEW_ITEMS_AVAILABLE = 1;
},2207,[5,80,6,7,8,2208,2209,586,574,1974,460,2002,2003,572,462,2210]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _Database = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var RSS_DB_NAME = "rss.db";

  var RssContentManager = function () {
    function RssContentManager() {
      (0, _classCallCheck2.default)(this, RssContentManager);
    }

    (0, _createClass2.default)(RssContentManager, null, [{
      key: "initDatabase",
      value: function initDatabase() {
        return _regenerator.default.async(function initDatabase$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                RssContentManager.database = new _Database.default(RssContentManager.getDatabaseFilePath(), RssContentManager.MIGRATIONS);
                _context.prev = 1;
                _context.next = 4;
                return _regenerator.default.awrap(RssContentManager.databaseExists());

              case 4:
                if (!_context.sent) {
                  _context.next = 7;
                  break;
                }

                _context.next = 7;
                return _regenerator.default.awrap(RssContentManager.migrateDB());

              case 7:
                _context.next = 11;
                break;

              case 9:
                _context.prev = 9;
                _context.t0 = _context["catch"](1);

              case 11:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[1, 9]], Promise);
      }
    }, {
      key: "getDatabaseFilePath",
      value: function getDatabaseFilePath() {
        return "" + RssContentManager.getDatabaseFolder() + RSS_DB_NAME;
      }
    }, {
      key: "getDatabaseFolder",
      value: function getDatabaseFolder() {
        if (_$$_REQUIRE(_dependencyMap[6]).PlatformUtils.isIOS()) {
          return _tecnaviaFileUtils.default.libraryDirectory + "/LocalDatabase/";
        }

        return _tecnaviaFileUtils.default.documentDirectory + "/";
      }
    }, {
      key: "databaseExists",
      value: function databaseExists() {
        return _regenerator.default.async(function databaseExists$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", RssContentManager.database.exists());

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "deleteDatabase",
      value: function deleteDatabase() {
        return _regenerator.default.async(function deleteDatabase$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                return _context3.abrupt("return", RssContentManager.database.delete());

              case 1:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "migrateDB",
      value: function migrateDB() {
        return _regenerator.default.async(function migrateDB$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                return _context4.abrupt("return", RssContentManager.database.migrateDB());

              case 1:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "openTransaction",
      value: function openTransaction(query, params) {
        return _regenerator.default.async(function openTransaction$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                return _context5.abrupt("return", RssContentManager.database.transaction(query, params));

              case 1:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "checkIfColumnExists",
      value: function checkIfColumnExists(table, column) {
        return _regenerator.default.async(function checkIfColumnExists$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                return _context6.abrupt("return", RssContentManager.database.columnExists(table, column));

              case 1:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "replaceInto",
      value: function replaceInto(table, items) {
        return _regenerator.default.async(function replaceInto$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                return _context7.abrupt("return", RssContentManager.database.replaceInto(table, Object.keys(items[0]), items.map(function (item) {
                  return Object.values(item);
                })));

              case 1:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "storeUpdate",
      value: function storeUpdate() {
        var articles,
            playlists,
            categoryIds,
            resources,
            resourceRels,
            resourceTypes,
            callback,
            _args8 = arguments;
        return _regenerator.default.async(function storeUpdate$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                articles = _args8.length > 0 && _args8[0] !== undefined ? _args8[0] : [];
                playlists = _args8.length > 1 && _args8[1] !== undefined ? _args8[1] : [];
                categoryIds = _args8.length > 2 && _args8[2] !== undefined ? _args8[2] : [];
                resources = _args8.length > 3 && _args8[3] !== undefined ? _args8[3] : [];
                resourceRels = _args8.length > 4 && _args8[4] !== undefined ? _args8[4] : [];
                resourceTypes = _args8.length > 5 && _args8[5] !== undefined ? _args8[5] : [];
                callback = _args8.length > 6 ? _args8[6] : undefined;

                if (!(articles.length && playlists.length)) {
                  _context8.next = 29;
                  break;
                }

                articles.forEach(function (article) {
                  if (!article.ar_updatedate) {
                    article.ar_updatedate = null;
                  }
                });
                _context8.next = 11;
                return _regenerator.default.awrap(RssContentManager.replaceInto("article", articles));

              case 11:
                callback();

                if (!resources.length) {
                  _context8.next = 15;
                  break;
                }

                _context8.next = 15;
                return _regenerator.default.awrap(RssContentManager.replaceInto("resource", resources));

              case 15:
                if (!resourceTypes.length) {
                  _context8.next = 18;
                  break;
                }

                _context8.next = 18;
                return _regenerator.default.awrap(RssContentManager.replaceInto("resource_type", resourceTypes));

              case 18:
                if (!resourceRels.length) {
                  _context8.next = 23;
                  break;
                }

                _context8.next = 21;
                return _regenerator.default.awrap(RssContentManager.database.deleteFrom("resource_rel", ""));

              case 21:
                _context8.next = 23;
                return _regenerator.default.awrap(RssContentManager.replaceInto("resource_rel", resourceRels));

              case 23:
                _context8.next = 25;
                return _regenerator.default.awrap(RssContentManager.database.deleteFrom("playlist", categoryIds.length ? "pl_catListId IN ( " + categoryIds.join() + ")" : ""));

              case 25:
                _context8.next = 27;
                return _regenerator.default.awrap(RssContentManager.replaceInto("playlist", playlists));

              case 27:
                _context8.next = 30;
                break;

              case 29:
                callback();

              case 30:
              case "end":
                return _context8.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getCategoryIdFromName",
      value: function getCategoryIdFromName(name) {
        var query, categories;
        return _regenerator.default.async(function getCategoryIdFromName$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                if (!name) {
                  _context9.next = 6;
                  break;
                }

                query = "SELECT ca_id FROM category AS c WHERE c.ca_label = ?;";
                _context9.next = 4;
                return _regenerator.default.awrap(RssContentManager.openTransaction(query, [name]));

              case 4:
                categories = _context9.sent;
                return _context9.abrupt("return", categories.map(function (category) {
                  return category.ca_id;
                }));

              case 6:
                return _context9.abrupt("return", []);

              case 7:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getResources",
      value: function getResources() {
        var articles,
            inCondition,
            query,
            _args10 = arguments;
        return _regenerator.default.async(function getResources$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                articles = _args10.length > 0 && _args10[0] !== undefined ? _args10[0] : [];
                inCondition = articles.map(function (article) {
                  return "'" + article.getFeedId() + "'";
                }).join();
                query = "SELECT DISTINCT * FROM resource_rel AS rl, resource AS r, resource_type AS rt WHERE rl.rr_resourceId = r.re_id AND r.re_typeId = rt.rt_id AND rl.rr_feedId IN (" + inCondition + ") ORDER BY r.re_typeId";
                _context10.t0 = _$$_REQUIRE(_dependencyMap[7]).formatResourcesToDTO;
                _context10.next = 6;
                return _regenerator.default.awrap(RssContentManager.openTransaction(query, []));

              case 6:
                _context10.t1 = _context10.sent;
                return _context10.abrupt("return", (0, _context10.t0)(_context10.t1));

              case 8:
              case "end":
                return _context10.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getArticlesByCategory",
      value: function getArticlesByCategory(category, removeAdvertisements) {
        var query;
        return _regenerator.default.async(function getArticlesByCategory$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                if (!category) {
                  _context11.next = 7;
                  break;
                }

                query = "SELECT * FROM playlist AS p    JOIN article AS a ON a.ar_feedId = p.pl_feedId    JOIN category AS c ON c.ca_id = p.pl_catListId WHERE    ( c.ca_label = ? OR c.ca_label = ? )    AND a.ar_catId != 9999 " + (removeAdvertisements ? " AND a.ar_catId != 7777 " : "") + "   AND ( pl_priority NOT LIKE '%\"p\"%' OR pl_priority LIKE '%show%') ORDER BY p.pl_id ASC;";
                _context11.t0 = _$$_REQUIRE(_dependencyMap[7]).formatArticlesToDTO;
                _context11.next = 5;
                return _regenerator.default.awrap(RssContentManager.openTransaction(query, [category, "" + _$$_REQUIRE(_dependencyMap[6]).StringUtils.TILDE + category]));

              case 5:
                _context11.t1 = _context11.sent;
                return _context11.abrupt("return", (0, _context11.t0)(_context11.t1));

              case 7:
                return _context11.abrupt("return", []);

              case 8:
              case "end":
                return _context11.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getArticleByFeedId",
      value: function getArticleByFeedId(feedId) {
        var query;
        return _regenerator.default.async(function getArticleByFeedId$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                if (!feedId) {
                  _context12.next = 7;
                  break;
                }

                query = "SELECT * FROM article WHERE ar_feedId LIKE '" + feedId + "';";
                _context12.t0 = _$$_REQUIRE(_dependencyMap[7]).formatArticlesToDTO;
                _context12.next = 5;
                return _regenerator.default.awrap(RssContentManager.openTransaction(query, []));

              case 5:
                _context12.t1 = _context12.sent;
                return _context12.abrupt("return", (0, _context12.t0)(_context12.t1));

              case 7:
                return _context12.abrupt("return", []);

              case 8:
              case "end":
                return _context12.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getArticleBySource",
      value: function getArticleBySource(source) {
        var updateColExists, orderStmt, query;
        return _regenerator.default.async(function getArticleBySource$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                if (!source) {
                  _context13.next = 11;
                  break;
                }

                _context13.next = 3;
                return _regenerator.default.awrap(RssContentManager.checkIfColumnExists("article", "ar_updatedate"));

              case 3:
                updateColExists = _context13.sent;
                orderStmt = "" + (updateColExists ? "COALESCE( NULLIF( ar_updatedate,'' ), ar_articledate )" : "ar_articledate");
                query = "SELECT * FROM article WHERE ar_source LIKE '" + source + "' ORDER BY " + orderStmt + " DESC LIMIT 1;";
                _context13.t0 = _$$_REQUIRE(_dependencyMap[7]).formatArticlesToDTO;
                _context13.next = 9;
                return _regenerator.default.awrap(RssContentManager.openTransaction(query, []));

              case 9:
                _context13.t1 = _context13.sent;
                return _context13.abrupt("return", (0, _context13.t0)(_context13.t1));

              case 11:
                return _context13.abrupt("return", []);

              case 12:
              case "end":
                return _context13.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getCategoryFromFeedId",
      value: function getCategoryFromFeedId(feedId) {
        var query, result;
        return _regenerator.default.async(function getCategoryFromFeedId$(_context14) {
          while (1) {
            switch (_context14.prev = _context14.next) {
              case 0:
                if (!feedId) {
                  _context14.next = 12;
                  break;
                }

                query = "SELECT ca_label AS label FROM article, category WHERE ar_feedId = ? AND ar_catId = ca_id LIMIT 1;";
                _context14.prev = 2;
                _context14.next = 5;
                return _regenerator.default.awrap(RssContentManager.openTransaction(query, [feedId]));

              case 5:
                result = _context14.sent[0];
                return _context14.abrupt("return", result.label);

              case 9:
                _context14.prev = 9;
                _context14.t0 = _context14["catch"](2);
                return _context14.abrupt("return", "");

              case 12:
                return _context14.abrupt("return", "");

              case 13:
              case "end":
                return _context14.stop();
            }
          }
        }, null, null, [[2, 9]], Promise);
      }
    }, {
      key: "getArticlesInHomeCategory",
      value: function getArticlesInHomeCategory(category, removeAdvertisements) {
        var query;
        return _regenerator.default.async(function getArticlesInHomeCategory$(_context15) {
          while (1) {
            switch (_context15.prev = _context15.next) {
              case 0:
                if (!category) {
                  _context15.next = 7;
                  break;
                }

                query = "SELECT a.*, p.*, c2.* FROM playlist AS p    JOIN article AS a ON a.ar_feedId = p.pl_feedId    JOIN category AS c ON c.ca_id = p.pl_catListId    JOIN category AS c2 ON c2.ca_id = a.ar_catId WHERE c.ca_label = ?" + (removeAdvertisements ? " AND a.ar_catId != 7777" : "") + " ORDER BY p.pl_id ASC;";
                _context15.t0 = _$$_REQUIRE(_dependencyMap[7]).formatArticlesToDTO;
                _context15.next = 5;
                return _regenerator.default.awrap(RssContentManager.openTransaction(query, [category]));

              case 5:
                _context15.t1 = _context15.sent;
                return _context15.abrupt("return", (0, _context15.t0)(_context15.t1));

              case 7:
                return _context15.abrupt("return", []);

              case 8:
              case "end":
                return _context15.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getArticlesInMyHome",
      value: function getArticlesInMyHome(categories) {
        var inCondition, query;
        return _regenerator.default.async(function getArticlesInMyHome$(_context16) {
          while (1) {
            switch (_context16.prev = _context16.next) {
              case 0:
                if (!categories) {
                  _context16.next = 8;
                  break;
                }

                inCondition = categories.map(function (category) {
                  return "'" + category + "'";
                }).join();
                query = "SELECT * FROM (    SELECT *, CASE ar_updatedate WHEN '' THEN NULL ELSE ar_updatedate END Date    FROM playlist        JOIN article ON playlist.pl_feedId = article.ar_feedId        JOIN category ON category.ca_id = playlist.pl_catListId " + ("   WHERE ca_label IN ( " + inCondition + " ) ") + "       AND ( pl_priority NOT LIKE '%\"p\"%' OR pl_priority LIKE '%show%' ) " + "       AND ar_catId != '7777' " + "   GROUP BY ar_title " + "UNION ALL " + "   SELECT *,CASE ar_updatedate WHEN '' THEN NULL ELSE ar_updatedate END Date " + "   FROM playlist JOIN article ON playlist.pl_feedId = article.ar_feedId " + "       JOIN category ON category.ca_id = playlist.pl_catListId " + ("   WHERE ca_label IN ( " + inCondition + " ) ") + "       AND (pl_priority NOT LIKE '%\"p\"%' OR pl_priority LIKE '%show%') " + "       AND ar_catId =='7777' " + ") " + "ORDER BY COALESCE ( Date,ar_articledate ) DESC;";
                _context16.t0 = _$$_REQUIRE(_dependencyMap[7]).formatArticlesToDTO;
                _context16.next = 6;
                return _regenerator.default.awrap(RssContentManager.openTransaction(query, []));

              case 6:
                _context16.t1 = _context16.sent;
                return _context16.abrupt("return", (0, _context16.t0)(_context16.t1));

              case 8:
                return _context16.abrupt("return", []);

              case 9:
              case "end":
                return _context16.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getCategoryContent",
      value: function getCategoryContent() {
        return _regenerator.default.async(function getCategoryContent$(_context17) {
          while (1) {
            switch (_context17.prev = _context17.next) {
              case 0:
                return _context17.abrupt("return", RssContentManager.openTransaction("SELECT c.ca_label AS label, COUNT(a.ar_id) AS count, GROUP_CONCAT(a.ar_image, '#') AS image \n            FROM playlist AS p\n            LEFT JOIN article AS a ON a.ar_feedId = p.pl_feedId\n            LEFT JOIN category AS c ON a.ar_catId = c.ca_id\n            WHERE c.ca_id < 7777\n            GROUP BY c.ca_id\n            "));

              case 1:
              case "end":
                return _context17.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "searchArticles",
      value: function searchArticles() {
        var text,
            query,
            _args18 = arguments;
        return _regenerator.default.async(function searchArticles$(_context18) {
          while (1) {
            switch (_context18.prev = _context18.next) {
              case 0:
                text = _args18.length > 0 && _args18[0] !== undefined ? _args18[0] : "";
                query = "\n                SELECT *\n                FROM \n                   article AS a\n                   JOIN playlist AS p ON p.pl_feedId = a.ar_feedId\n                    JOIN category AS c ON c.ca_id = p.pl_catListId\n                WHERE a.ar_htmlbody LIKE '%" + text + "%' OR a.ar_title LIKE '%" + text + "%'\n                ORDER BY p.pl_id\n            ";
                _context18.t0 = _$$_REQUIRE(_dependencyMap[7]).formatArticlesToDTO;
                _context18.next = 5;
                return _regenerator.default.awrap(RssContentManager.openTransaction(query, []));

              case 5:
                _context18.t1 = _context18.sent;
                return _context18.abrupt("return", (0, _context18.t0)(_context18.t1));

              case 7:
              case "end":
                return _context18.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "newestEntry",
      value: function newestEntry(categoryIds) {
        var updateColExists, selectColStmt, query, result;
        return _regenerator.default.async(function newestEntry$(_context19) {
          while (1) {
            switch (_context19.prev = _context19.next) {
              case 0:
                _context19.next = 2;
                return _regenerator.default.awrap(RssContentManager.checkIfColumnExists("article", "ar_updatedate"));

              case 2:
                updateColExists = _context19.sent;
                selectColStmt = "" + (updateColExists ? "COALESCE( NULLIF( ar_updatedate,'' ), ar_insertdate )" : "ar_insertdate");
                query = "SELECT " + selectColStmt + " as ar_insertdate " + "FROM article LEFT JOIN playlist ON ar_feedId = pl_feedId " + "WHERE ar_catId != 7777 ";

                if (categoryIds && categoryIds.length) {
                  query += "AND pl_catListId IN ( " + categoryIds.join() + " )";
                }

                query += " ORDER BY ar_insertdate DESC LIMIT 1";
                _context19.next = 9;
                return _regenerator.default.awrap(RssContentManager.openTransaction(query));

              case 9:
                result = _context19.sent;
                return _context19.abrupt("return", result && result.length ? result[0].ar_insertdate : -1);

              case 11:
              case "end":
                return _context19.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getBylines",
      value: function getBylines() {
        return _regenerator.default.async(function getBylines$(_context20) {
          while (1) {
            switch (_context20.prev = _context20.next) {
              case 0:
                return _context20.abrupt("return", RssContentManager.openTransaction("SELECT DISTINCT ar_byline FROM article WHERE ca_id < 7777"));

              case 1:
              case "end":
                return _context20.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getCategories",
      value: function getCategories() {
        return _regenerator.default.async(function getCategories$(_context21) {
          while (1) {
            switch (_context21.prev = _context21.next) {
              case 0:
                return _context21.abrupt("return", RssContentManager.openTransaction("SELECT DISTINCT ca_label, ca_id FROM category WHERE ca_id < 7777"));

              case 1:
              case "end":
                return _context21.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getDates",
      value: function getDates() {
        var updateColExists, selectColStmt;
        return _regenerator.default.async(function getDates$(_context22) {
          while (1) {
            switch (_context22.prev = _context22.next) {
              case 0:
                _context22.next = 2;
                return _regenerator.default.awrap(RssContentManager.checkIfColumnExists("article", "ar_updatedate"));

              case 2:
                updateColExists = _context22.sent;
                selectColStmt = "" + (updateColExists ? "COALESCE( NULLIF( ar_updatedate,'' ), ar_articledate )" : "ar_articledate");
                return _context22.abrupt("return", RssContentManager.openTransaction("SELECT DISTINCT " + selectColStmt + " as ar_articledate FROM article ORDER BY ar_articledate ASC"));

              case 5:
              case "end":
                return _context22.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return RssContentManager;
  }();

  exports.default = RssContentManager;
  RssContentManager.MIGRATIONS = [{
    version: 29400,
    queries: ["CREATE TABLE IF NOT EXISTS resource ( re_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, re_typeId INTEGER NOT NULL, re_value TEXT NOT NULL );", "CREATE TABLE IF NOT EXISTS resource_rel ( rr_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, rr_feedId INTEGER NOT NULL, rr_resourceId INTEGER NOT NULL );", "CREATE TABLE IF NOT EXISTS resource_type ( rt_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, rt_name VARCHAR(255) );"]
  }];
},2208,[5,80,7,8,711,574,462,2051]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getJsonDbUpdate = getJsonDbUpdate;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _axios = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  function getJsonDbUpdate(newestEntry, categoryIds) {
    var _global$getRSSActiveP, baseRssUpdateURL, response;

    return _regenerator.default.async(function getJsonDbUpdate$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            _global$getRSSActiveP = global.getRSSActivePSetup(), baseRssUpdateURL = _global$getRSSActiveP.baseRssUpdateURL;

            if (categoryIds && categoryIds.length) {
              baseRssUpdateURL += "&catIds=" + categoryIds.join();
            }

            baseRssUpdateURL += "&newestEntry=" + newestEntry;
            _context.next = 5;
            return _regenerator.default.awrap(_axios.default.get(baseRssUpdateURL));

          case 5:
            response = _context.sent;
            return _context.abrupt("return", response.data);

          case 7:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  }
},2209,[5,80,432]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.sendToAnalytics = undefined;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var getGalleryAnalytics = function getGalleryAnalytics(params) {
    var _global$getActivePSet = global.getActivePSetup(),
        xpaper = _global$getActivePSet.xpaper;

    var category = params.category || "";
    var title = params.title || "";
    var type = params.type || "";
    var gallery_id = params.gallery_id || "";
    var index = params.index,
        screen_name = params.screen_name;
    var screen = "/rssapp/" + (0, _$$_REQUIRE(_dependencyMap[3]).gaBreakout)() + "/" + xpaper + "/" + category + "/gallery/" + title + "/" + index + "/" + type + "/" + gallery_id;
    return {
      screen: screen,
      firebaseEvent: {
        customEvent: "live_news_gallery",
        customParams: (0, _extends2.default)({}, (0, _$$_REQUIRE(_dependencyMap[3]).mapParamsToFirebaseCustomDimensions)(params), {
          xpaper: xpaper,
          category: category,
          title: title,
          index: index,
          type: type,
          gallery_id: gallery_id
        })
      },
      firebaseScreenView: screen_name
    };
  };

  var getDrawerAnalytics = function getDrawerAnalytics(params) {
    var _global$getActivePSet2 = global.getActivePSetup(),
        xpaper = _global$getActivePSet2.xpaper;

    var layout = params.layout,
        action = params.action,
        extra = params.extra,
        screen_name = params.screen_name;
    var feedUrl = params.feedUrl,
        drawerItemKey = params.drawerItemKey;
    drawerItemKey = (0, _$$_REQUIRE(_dependencyMap[4]).parseExtra)(extra, "analyticsSectionName", drawerItemKey);
    feedUrl = (0, _$$_REQUIRE(_dependencyMap[4]).parseExtra)(extra, "analyticsSectionURL", feedUrl);
    var screen = "/rssapp/" + (0, _$$_REQUIRE(_dependencyMap[3]).gaBreakout)() + "/" + xpaper + "/" + drawerItemKey;

    if (layout) {
      screen = screen + "/" + layout;
    }

    return {
      screen: screen,
      params: {
        action: _$$_REQUIRE(_dependencyMap[5]).analyticsScreenTypes.RSS_DRAWER,
        type: "read",
        apptype: "rss",
        displayName: drawerItemKey,
        feedUrl: feedUrl
      },
      remp: drawerItemKey,
      firebaseEvent: {
        customEvent: "live_news_drawer",
        customParams: (0, _extends2.default)({}, (0, _$$_REQUIRE(_dependencyMap[3]).mapParamsToFirebaseCustomDimensions)(params), {
          xpaper: xpaper,
          name: drawerItemKey,
          layout: layout,
          action: action
        })
      },
      firebaseScreenView: screen_name
    };
  };

  var getDrawerLinkAnalytics = function getDrawerLinkAnalytics(params) {
    return {
      firebaseEvent: {
        customEvent: "open_link",
        customParams: (0, _extends2.default)({}, (0, _$$_REQUIRE(_dependencyMap[3]).mapParamsToFirebaseCustomDimensions)(params), {
          label: params.label
        })
      }
    };
  };

  var getDownloadRssDbAnalytics = function getDownloadRssDbAnalytics(params) {
    return {
      firebaseEvent: {
        customEvent: "download_rss_db",
        customParams: (0, _extends2.default)({}, (0, _$$_REQUIRE(_dependencyMap[3]).mapParamsToFirebaseCustomDimensions)(params), {
          domain: params.domain
        })
      }
    };
  };

  var getFullscreenAnalytics = function getFullscreenAnalytics(params) {
    var _global$getActivePSet3 = global.getActivePSetup(),
        xpaper = _global$getActivePSet3.xpaper;

    var unixDate = params.unixDate,
        category = params.category,
        title = params.title,
        source = params.source,
        screen_name = params.screen_name;

    var date = _$$_REQUIRE(_dependencyMap[6]).DateUtils.unixToString(unixDate, "YYYYMMDD_HHmm");

    var device = (0, _$$_REQUIRE(_dependencyMap[3]).gaBreakout)();
    var screen = "/rssapp/" + device + "/" + category + "/" + date + "/" + title;
    return {
      screen: screen,
      params: {
        action: _$$_REQUIRE(_dependencyMap[5]).analyticsScreenTypes.RSS_ARTICLE_READ,
        type: "read",
        apptype: "rss",
        date: date,
        category: category,
        articletitle: title,
        articlesource: source,
        devicetype: device
      },
      remp: title,
      firebaseEvent: {
        customEvent: "live_news_read_article",
        customParams: (0, _extends2.default)({}, (0, _$$_REQUIRE(_dependencyMap[3]).mapParamsToFirebaseCustomDimensions)(params), {
          xpaper: xpaper,
          category: category,
          date: date,
          title: title
        })
      },
      firebaseScreenView: screen_name
    };
  };

  var sendToAnalytics = function sendToAnalytics() {
    var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var event_action = params.event_action,
        rest = (0, _objectWithoutProperties2.default)(params, ["event_action"]);

    if (!event_action) {} else {
      var result = {};

      switch (event_action) {
        case "live_news_gallery":
        case "epaper_gallery":
          result = getGalleryAnalytics((0, _extends2.default)({}, rest, {
            action: event_action
          }));
          break;

        case "fullscreen":
          result = getFullscreenAnalytics((0, _extends2.default)({}, rest, {
            action: event_action
          }));
          break;

        case "drawer":
          result = getDrawerAnalytics(rest);
          break;

        case "open_link":
          result = getDrawerLinkAnalytics((0, _extends2.default)({}, rest, {
            action: event_action
          }));
          break;

        case "download_rss_db":
          result = getDownloadRssDbAnalytics((0, _extends2.default)({}, rest, {
            action: event_action
          }));
          break;
      }

      var _result = result,
          screen = _result.screen,
          remp = _result.remp,
          event = _result.event,
          analyticsParams = _result.params,
          firebaseEvent = _result.firebaseEvent,
          firebaseScreenView = _result.firebaseScreenView;

      if (screen) {
        (0, _$$_REQUIRE(_dependencyMap[7]).trackScreen)(screen, analyticsParams);
      }

      if (remp) {
        (0, _$$_REQUIRE(_dependencyMap[7]).trackRempAccount)(remp);
      }

      if (event) {
        (0, _$$_REQUIRE(_dependencyMap[7]).trackEvent)(event);
      }

      if (firebaseEvent) {
        (0, _$$_REQUIRE(_dependencyMap[7]).trackCustomFirebaseEvent)(firebaseEvent);
      }

      if (firebaseScreenView) {
        (0, _$$_REQUIRE(_dependencyMap[7]).trackCustomFirebaseScreen)(firebaseScreenView, screen);
      }
    }
  };

  exports.sendToAnalytics = sendToAnalytics;
},2210,[5,108,6,1892,2046,1893,462,1871]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.TabNavigator = TabNavigator;
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _tabBar = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var Tab = (0, _$$_REQUIRE(_dependencyMap[7]).createMaterialTopTabNavigator)();

  function TabNavigator(_ref) {
    var tabs = _ref.tabs,
        tabScreen = _ref.tabScreen,
        tabScreenOptions = _ref.tabScreenOptions,
        tabStyles = _ref.tabStyles,
        width = _ref.width,
        primaryColor = _ref.primaryColor,
        supportColor = _ref.supportColor,
        tabProps = (0, _objectWithoutProperties2.default)(_ref, ["tabs", "tabScreen", "tabScreenOptions", "tabStyles", "width", "primaryColor", "supportColor"]);

    if (!tabs || !tabs.length) {
      return null;
    }

    var screenOptions = tabProps.screenOptions,
        rest = (0, _objectWithoutProperties2.default)(tabProps, ["screenOptions"]);
    return _react.default.createElement(Tab.Navigator, (0, _extends2.default)({
      screenOptions: (0, _extends2.default)({
        headerShown: false,
        lazy: true,
        lazyPreloadDistance: 1
      }, screenOptions),
      backBehavior: "initialRoute",
      initialLayout: {
        width: width
      },
      layoutDirection: _$$_REQUIRE(_dependencyMap[8]).PlatformUtils.isRTL() ? "rtl" : "ltr",
      tabBar: function tabBar(navProps) {
        return _react.default.createElement(_tabBar.default, (0, _extends2.default)({
          tabs: tabs,
          tabBarWidth: width,
          tabStyles: tabStyles,
          primaryColor: primaryColor,
          supportColor: supportColor
        }, navProps));
      }
    }, rest), tabs.map(function (_ref2, index) {
      var route = _ref2.route,
          tab = (0, _objectWithoutProperties2.default)(_ref2, ["route"]);
      return _react.default.createElement(Tab.Screen, {
        key: route,
        name: route,
        options: tabScreenOptions
      }, function (navProps) {
        return typeof tabScreen === "function" ? tabScreen((0, _extends2.default)({
          route: route,
          index: index
        }, tab), navProps) : null;
      });
    }));
  }

  TabNavigator.propTypes = {
    tabScreen: _propTypes.default.func,
    tabScreenOptions: _propTypes.default.object,
    tabs: _tabBar.default.propTypes.tabs,
    tabStyles: _tabBar.default.propTypes.tabStyles,
    width: _propTypes.default.number,
    primaryColor: _tabBar.default.propTypes.primaryColor,
    supportColor: _tabBar.default.propTypes.supportColor
  };
  TabNavigator.defaultProps = {
    tabs: [],
    tabScreen: null,
    tabScreenOptions: {},
    tabStyles: {},
    width: _reactNative.Dimensions.get("window").width,
    primaryColor: _$$_REQUIRE(_dependencyMap[8]).colors.white,
    supportColor: _$$_REQUIRE(_dependencyMap[8]).colors.black
  };
  var _default = TabNavigator;
  exports.default = _default;
},2211,[5,6,108,17,28,201,2212,1930,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _tabItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var styles = _reactNative.StyleSheet.create({
    container: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[8]).colors.white,
      height: 50
    },
    scrollview: {
      flexDirection: "row",
      flex: 1
    },
    button: {
      alignItems: "center",
      justifyContent: "center"
    },
    indicator: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[8]).colors.black,
      bottom: 0,
      height: 2,
      left: 0,
      position: "absolute",
      right: 0,
      width: 1
    },
    text: {
      color: _$$_REQUIRE(_dependencyMap[8]).colors.black,
      fontSize: 14,
      textAlign: "center"
    },
    darkShadow: (0, _extends2.default)({}, _reactNative.Platform.select({
      android: {
        elevation: 1
      },
      ios: {
        zIndex: 1,
        shadowColor: _$$_REQUIRE(_dependencyMap[8]).colors.black,
        shadowOffset: {
          width: 0,
          height: 2
        },
        shadowOpacity: 0.5,
        shadowRadius: 5
      }
    }))
  });

  function TabBar(_ref) {
    var tabs = _ref.tabs,
        state = _ref.state,
        navigation = _ref.navigation,
        position = _ref.position,
        tabStyles = _ref.tabStyles,
        supportColor = _ref.supportColor,
        primaryColor = _ref.primaryColor,
        tabBarWidth = _ref.tabBarWidth;
    var tabBarStyle = tabStyles.tabBarStyle,
        tabBarIndicatorStyle = tabStyles.tabBarIndicatorStyle,
        tabBarItemStyle = tabStyles.tabBarItemStyle,
        tabBarLabelStyle = tabStyles.tabBarLabelStyle,
        tabBarIconStyle = tabStyles.tabBarIconStyle;

    var _useState = (0, _react.useState)([]),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        widths = _useState2[0],
        setWidths = _useState2[1];

    var scrollViewRef = (0, _react.useRef)(null);
    var tempWidths = (0, _react.useRef)([]);
    var transform = [];
    var inputRange = state.routes.map(function (route, index) {
      return index;
    });
    var outputRangeRef = (0, _react.useRef)([]);

    var getTranslateX = function getTranslateX(xPosition, xRoutes, xWidths) {
      var outputRange = xRoutes.reduce(function (result, item, index) {
        if (index === 0) {
          return [xWidths[0] / 2];
        }

        return [].concat((0, _toConsumableArray2.default)(result), [result[index - 1] + xWidths[index - 1] / 2 + xWidths[index] / 2]);
      }, []);
      outputRangeRef.current = outputRange;
      var translateX = xPosition.interpolate({
        inputRange: inputRange,
        outputRange: outputRange,
        extrapolate: "clamp"
      });
      return _reactNative.Animated.multiply(translateX, _reactNative.I18nManager.isRTL ? -1 : 1);
    };

    if (state.routes.length > 1 && widths.length === state.routes.length && !widths.includes(undefined)) {
      var translateX = getTranslateX(position, state.routes, widths);
      transform.push({
        translateX: translateX
      });
      var outputRange = inputRange.map(function (_, i) {
        return widths[i];
      });
      transform.push({
        scaleX: state.routes.length > 1 ? position.interpolate({
          inputRange: inputRange,
          outputRange: outputRange,
          extrapolate: "clamp"
        }) : outputRange[0]
      });
    }

    (0, _react.useEffect)(function () {
      if (state.routes.length > 1 && widths.length === state.routes.length && !widths.includes(undefined)) {
        if (state.index === 0) {
          var _scrollViewRef$curren;

          (_scrollViewRef$curren = scrollViewRef.current) == null ? undefined : _scrollViewRef$curren.scrollTo({
            x: 0
          });
        } else {
          var _scrollViewRef$curren2;

          (_scrollViewRef$curren2 = scrollViewRef.current) == null ? undefined : _scrollViewRef$curren2.scrollTo({
            x: outputRangeRef.current[state.index] - tabBarWidth / 2
          });
        }
      }
    }, [state.index, state.routes.length, widths]);

    var _onLayout = function onLayout(event, index) {
      var width = event.nativeEvent.layout.width;
      tempWidths.current[index] = width;
      setWidths((0, _toConsumableArray2.default)(tempWidths.current));
    };

    var labels = state.routes.map(function (route, index) {
      var label = tabs[index].label;
      var isFocused = state.index === index;

      var onPress = function onPress() {
        var event = navigation.emit({
          type: "tabPress",
          target: route.key,
          canPreventDefault: true
        });

        if (!isFocused && !event.defaultPrevented) {
          navigation.navigate({
            name: route.name,
            merge: true
          });
        }
      };

      return _react.default.createElement(_reactNative.TouchableOpacity, {
        key: route.key,
        activeOpacity: 0.5,
        accessibilityRole: "button",
        accessibilityState: isFocused ? {
          selected: true
        } : {},
        accessibilityLabel: label,
        onPress: onPress,
        style: styles.button
      }, _react.default.createElement(_reactNative.View, {
        onLayout: function onLayout(event) {
          return _onLayout(event, index);
        }
      }, _react.default.createElement(_tabItem.default, (0, _extends2.default)({
        supportColor: supportColor,
        style: tabBarItemStyle,
        textStyle: tabBarLabelStyle,
        iconStyle: tabBarIconStyle,
        focused: isFocused
      }, tabs[index]))));
    });
    return _react.default.createElement(_reactNative.View, {
      style: [styles.container, styles.darkShadow, {
        backgroundColor: primaryColor
      }, tabBarStyle]
    }, _react.default.createElement(_reactNative.Animated.ScrollView, {
      horizontal: true,
      ref: scrollViewRef,
      showsHorizontalScrollIndicator: false,
      style: [styles.scrollview]
    }, labels, _react.default.createElement(_reactNative.Animated.View, {
      style: [styles.indicator, {
        transform: transform,
        backgroundColor: supportColor
      }, tabBarIndicatorStyle]
    })));
  }

  TabBar.propTypes = {
    tabs: _propTypes.default.arrayOf(_propTypes.default.shape(_tabItem.default.propTypes)),
    tabBarWidth: _propTypes.default.number,
    tabStyles: _propTypes.default.shape({
      tabBarStyle: _propTypes.default.object,
      tabBarIndicatorStyle: _propTypes.default.object,
      tabBarItemStyle: _tabItem.default.propTypes.style,
      tabBarLabelStyle: _tabItem.default.propTypes.textStyle,
      tabBarIconStyle: _tabItem.default.propTypes.iconStyle
    }),
    state: _propTypes.default.object,
    navigation: _propTypes.default.object,
    position: _propTypes.default.object,
    primaryColor: _propTypes.default.string,
    supportColor: _propTypes.default.string
  };
  TabBar.defaultProps = {
    tabs: [],
    tabBarWidth: 0
  };
  var _default = TabBar;
  exports.default = _default;
},2212,[5,21,41,6,17,28,201,2213,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var styles = _reactNative.StyleSheet.create({
    container: {
      flexDirection: "row",
      justifyContent: "center",
      alignItems: "center",
      flex: 1,
      paddingHorizontal: 20,
      backgroundColor: _$$_REQUIRE(_dependencyMap[6]).colors.white
    },
    icon: {
      marginHorizontal: 5
    },
    text: {
      color: _$$_REQUIRE(_dependencyMap[6]).colors.black
    }
  });

  var _getStyle = function _getStyle(style, item, focused) {
    return typeof style === "function" ? style(item, focused) : {};
  };

  function TabItem(props) {
    var label = props.label,
        icon = props.icon,
        item = props.item,
        supportColor = props.supportColor,
        style = props.style,
        textStyle = props.textStyle,
        iconStyle = props.iconStyle,
        focused = props.focused;
    return _react.default.createElement(_reactNative.View, {
      style: [styles.container, _getStyle(style, item, focused)]
    }, icon ? _react.default.createElement(_imageIconChooserComponent.default, {
      forceRNComponent: true,
      style: [styles.icon, focused ? {
        tintColor: supportColor
      } : {}, _getStyle(iconStyle, item, focused)],
      source: {
        uri: icon,
        cache: "reload",
        width: 20,
        height: 20
      },
      resizeMode: "contain"
    }) : null, _react.default.createElement(_fontText.default, {
      style: [styles.text, focused ? {
        color: supportColor
      } : {}, _getStyle(textStyle, item, focused)],
      numberOfLines: 1
    }, label));
  }

  TabItem.propTypes = {
    label: _propTypes.default.string.isRequired,
    icon: _propTypes.default.string,
    item: _propTypes.default.object,
    supportColor: _propTypes.default.string,
    focused: _propTypes.default.bool,
    style: _propTypes.default.func,
    textStyle: _propTypes.default.func,
    iconStyle: _propTypes.default.func
  };
  TabItem.defaultProps = {
    focused: false
  };
  var _default = TabItem;
  exports.default = _default;
},2213,[5,17,28,201,1970,1879,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2214,[2215]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.RssContentScreen = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  var _DatabaseHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _RssContentHelper = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[13]));

  var _LiveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _Paywall = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _PushHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _cardDailymotion = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _navigationUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var RssContentScreen = function (_RssBaseScreen) {
    (0, _inherits2.default)(RssContentScreen, _RssBaseScreen);

    var _super = _createSuper(RssContentScreen);

    function RssContentScreen(props) {
      (0, _classCallCheck2.default)(this, RssContentScreen);
      return _super.call(this, props, {
        userAdDisabled: global.getAdsConfig().isUserAdDisabled()
      });
    }

    (0, _createClass2.default)(RssContentScreen, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this = this;

        (0, _get2.default)((0, _getPrototypeOf2.default)(RssContentScreen.prototype), "componentDidMount", this).call(this);

        var _global$getRssIndex = global.getRssIndex(),
            paywallEnabled = _global$getRssIndex.paywallEnabled;

        if (paywallEnabled && this.isFirstScreen()) {
          _Paywall.default.init();
        }

        var settings = this.props.item;
        var disableAds = settings.disableAds;

        if (disableAds !== "1") {
          this.changeAdsVisibility = _$$_REQUIRE(_dependencyMap[21]).EventRegister.on(_events.default.CHANGE_ADS_VISIBILITY, function (_ref) {
            var hideAds = _ref.hideAds;
            var userAdDisabled = _this.state.userAdDisabled;

            if (hideAds && !userAdDisabled || !hideAds && userAdDisabled) {
              _this._manageDatabase({
                forceUpdate: false
              });
            }
          });
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(RssContentScreen.prototype), "componentWillUnmount", this).call(this);

        _$$_REQUIRE(_dependencyMap[21]).EventRegister.rm(this.changeAdsVisibility);
      }
    }, {
      key: "forceUpdateCheck",
      value: function forceUpdateCheck() {
        return _LiveConfig.default.isRssStartingUp() || _LiveConfig.default.isRssDbDeleted() || this.props.isLive;
      }
    }, {
      key: "didFocus",
      value: function didFocus() {
        var forceUpdate;
        return _regenerator.default.async(function didFocus$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                (0, _get2.default)((0, _getPrototypeOf2.default)(RssContentScreen.prototype), "didFocus", this).call(this);

                if (!(_LiveConfig.default.isRssDbDeleted() && !this.isFirstScreen())) {
                  _context.next = 5;
                  break;
                }

                this.props.navigation.goBack();
                _context.next = 21;
                break;

              case 5:
                _context.next = 7;
                return _regenerator.default.awrap(this._handlePush());

              case 7:
                if (_context.sent) {
                  _context.next = 20;
                  break;
                }

                forceUpdate = this.forceUpdateCheck();
                _context.t0 = this.isFirstScreen();

                if (!_context.t0) {
                  _context.next = 14;
                  break;
                }

                _context.next = 13;
                return _regenerator.default.awrap(_DatabaseHelper.default.rssContentDatabaseExists());

              case 13:
                _context.t0 = _context.sent;

              case 14:
                if (!_context.t0) {
                  _context.next = 18;
                  break;
                }

                _LiveConfig.default.setRssStartingUp(false);

                _context.next = 18;
                return _regenerator.default.awrap(this._retrieveData(this.props.item));

              case 18:
                _context.next = 20;
                return _regenerator.default.awrap(this._manageDatabase({
                  forceUpdate: forceUpdate
                }));

              case 20:
                _LiveConfig.default.setRssDbDeleted(false);

              case 21:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "onRefresh",
      value: function onRefresh(toastPriority, hideRefresh) {
        return _regenerator.default.async(function onRefresh$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", this._manageDatabase({
                  forceUpdate: true,
                  toastPriority: toastPriority,
                  hideRefresh: hideRefresh
                }));

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_handleOpenUrlPush",
      value: function _handleOpenUrlPush(value) {
        var navigation = this.props.navigation;
        navigation.dispatch(_$$_REQUIRE(_dependencyMap[22]).CommonActions.navigate({
          name: "WebScreen",
          params: {
            shareButtonIsEnabled: global.getRssIndex().shareButtonOnPushNotificationURLs,
            url: value
          }
        }));
      }
    }, {
      key: "_handleOpenCategory",
      value: function _handleOpenCategory(value) {
        var _this$props = this.props,
            navigation = _this$props.navigation,
            getRouteKey = _this$props.getRouteKey;

        if (typeof getRouteKey === "function") {
          navigation.navigate(getRouteKey(value));
        }
      }
    }, {
      key: "_handleArticlePush",
      value: function _handleArticlePush(value, action) {
        var items, source, hashIndex, pushItem, timeToOpenPush;
        return _regenerator.default.async(function _handleArticlePush$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _context3.prev = 0;
                items = [];

                if (!(action === "openArticleBySource")) {
                  _context3.next = 11;
                  break;
                }

                source = value;
                hashIndex = source.indexOf("#");

                if (hashIndex > -1) {
                  source = source.substring(0, hashIndex);
                }

                _context3.next = 8;
                return _regenerator.default.awrap(_RssContentHelper.default.getArticleBySource(source));

              case 8:
                items = _context3.sent;
                _context3.next = 14;
                break;

              case 11:
                _context3.next = 13;
                return _regenerator.default.awrap(_RssContentHelper.default.getArticleByFeedId(value));

              case 13:
                items = _context3.sent;

              case 14:
                pushItem = items[0];
                timeToOpenPush = new Date().getTime() - global.openingPushNotificationDate;

                if (pushItem) {
                  this._onListItemClick(items, pushItem);
                } else if (action === "openArticleBySource") {
                  this._handleOpenUrlPush(value);
                } else {}

                _context3.next = 21;
                break;

              case 19:
                _context3.prev = 19;
                _context3.t0 = _context3["catch"](0);

              case 21:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, [[0, 19]], Promise);
      }
    }, {
      key: "_handlePush",
      value: function _handlePush() {
        var _this2 = this;

        var _PushHelper$getPush, action, value;

        return _regenerator.default.async(function _handlePush$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                if (_PushHelper.default.isTherePush()) {
                  _context5.next = 2;
                  break;
                }

                return _context5.abrupt("return", false);

              case 2:
                if (_PushHelper.default.pushNeedFeedUpdate()) {
                  _context5.next = 15;
                  break;
                }

                _PushHelper$getPush = _PushHelper.default.getPush(), action = _PushHelper$getPush.action, value = _PushHelper$getPush.value;

                _PushHelper.default.clearPush();

                _context5.t0 = action;
                _context5.next = _context5.t0 === "openCategory" ? 8 : _context5.t0 === "openUrl" ? 10 : 12;
                break;

              case 8:
                this._handleOpenCategory(value);

                return _context5.abrupt("break", 12);

              case 10:
                this._handleOpenUrlPush(value);

                return _context5.abrupt("break", 12);

              case 12:
                this._manageDatabase({
                  forceUpdate: this.forceUpdateCheck()
                });

                _context5.next = 23;
                break;

              case 15:
                _context5.prev = 15;
                _context5.next = 18;
                return _regenerator.default.awrap(this._manageDatabase({
                  forceUpdate: true,
                  callbackForPush: function callbackForPush() {
                    var push, _action, _value;

                    return _regenerator.default.async(function callbackForPush$(_context4) {
                      while (1) {
                        switch (_context4.prev = _context4.next) {
                          case 0:
                            push = _PushHelper.default.getPush();

                            if (!push) {
                              _context4.next = 11;
                              break;
                            }

                            _action = push.action, _value = push.value;
                            _context4.prev = 3;
                            _context4.next = 6;
                            return _regenerator.default.awrap(_this2._handleArticlePush(_value, _action));

                          case 6:
                            _context4.next = 10;
                            break;

                          case 8:
                            _context4.prev = 8;
                            _context4.t0 = _context4["catch"](3);

                          case 10:
                            _PushHelper.default.clearPush();

                          case 11:
                          case "end":
                            return _context4.stop();
                        }
                      }
                    }, null, null, [[3, 8]], Promise);
                  }
                }));

              case 18:
                _context5.next = 23;
                break;

              case 20:
                _context5.prev = 20;
                _context5.t1 = _context5["catch"](15);

                _PushHelper.default.clearPush();

              case 23:
                return _context5.abrupt("return", true);

              case 24:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, [[15, 20]], Promise);
      }
    }, {
      key: "_manageDatabase",
      value: function _manageDatabase(_ref2) {
        var _ref2$forceUpdate, forceUpdate, _ref2$toastPriority, toastPriority, _ref2$callbackForPush, callbackForPush, _ref2$hideRefresh, hideRefresh, isOnline, categoryName, result;

        return _regenerator.default.async(function _manageDatabase$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                _ref2$forceUpdate = _ref2.forceUpdate, forceUpdate = _ref2$forceUpdate === undefined ? false : _ref2$forceUpdate, _ref2$toastPriority = _ref2.toastPriority, toastPriority = _ref2$toastPriority === undefined ? _RssContentHelper.DbDownloadPriority.LOW : _ref2$toastPriority, _ref2$callbackForPush = _ref2.callbackForPush, callbackForPush = _ref2$callbackForPush === undefined ? function () {} : _ref2$callbackForPush, _ref2$hideRefresh = _ref2.hideRefresh, hideRefresh = _ref2$hideRefresh === undefined ? function () {} : _ref2$hideRefresh;
                isOnline = _$$_REQUIRE(_dependencyMap[23]).NetworkUtils.isOnline();

                if (isOnline) {
                  _context6.next = 7;
                  break;
                }

                this._displayToast(global.strings("err_internet_connection"));

                callbackForPush();
                _context6.next = 19;
                break;

              case 7:
                categoryName = this.props.isLive ? this.props.item.drawerItemKey : "";

                if (!this.state.loading && _LiveConfig.default.isRssStartingUp()) {
                  this.setState({
                    loading: true
                  });
                }

                if (!forceUpdate) {
                  _context6.next = 18;
                  break;
                }

                _LiveConfig.default.setRssStartingUp(false);

                _context6.next = 13;
                return _regenerator.default.awrap(_DatabaseHelper.default.downloadRssContent(categoryName, global.getUserSettings().appSubLayoutChanged, callbackForPush, hideRefresh));

              case 13:
                result = _context6.sent;

                if (result && toastPriority >= result.priority) {
                  this._displayToast(result.msg || result.error);
                }

                global.getUserSettings().storeNewSubLayout();
                _context6.next = 19;
                break;

              case 18:
                callbackForPush();

              case 19:
                _context6.next = 21;
                return _regenerator.default.awrap(!_DatabaseHelper.default.rssContentDatabaseExists());

              case 21:
                if (!_context6.sent) {
                  _context6.next = 26;
                  break;
                }

                _context6.next = 24;
                return _regenerator.default.awrap(this._handleForceExit());

              case 24:
                _context6.next = 28;
                break;

              case 26:
                _context6.next = 28;
                return _regenerator.default.awrap(this._retrieveData(this.props.item));

              case 28:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_retrieveData",
      value: function _retrieveData(_ref3) {
        var _this3 = this;

        var drawerItemKey, _this$props2, isHome, settings, disableAds, userAdDisabled, removeAdvertisements, orientation, state, items, liveVideoItem, liveVideoItemIndex, i, _items$i, action, image, firstArticle, _global$getRssIndex2, drawerItemsFlat, drawerItem;

        return _regenerator.default.async(function _retrieveData$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                drawerItemKey = _ref3.drawerItemKey;
                _this$props2 = this.props, isHome = _this$props2.isHome, settings = _this$props2.item;
                disableAds = settings.disableAds;
                userAdDisabled = global.getAdsConfig().isUserAdDisabled();
                removeAdvertisements = disableAds === "1" || userAdDisabled;
                orientation = _deviceUtils.default.getCurrentOrientation();
                _context7.prev = 6;
                items = [];

                if (!isHome) {
                  _context7.next = 14;
                  break;
                }

                _context7.next = 11;
                return _regenerator.default.awrap(_RssContentHelper.default.getArticlesInHomeCategory(drawerItemKey, removeAdvertisements));

              case 11:
                items = _context7.sent;
                _context7.next = 17;
                break;

              case 14:
                _context7.next = 16;
                return _regenerator.default.awrap(_RssContentHelper.default.getArticlesByCategory(drawerItemKey, removeAdvertisements));

              case 16:
                items = _context7.sent;

              case 17:
                if (!(items && items.length > 0)) {
                  _context7.next = 31;
                  break;
                }

                liveVideoItemIndex = items.findIndex(function (item) {
                  return (0, _$$_REQUIRE(_dependencyMap[24]).itemHasLiveStreamDailymotionVideo)(item) && item.isHighlightedBox;
                });

                if (liveVideoItemIndex >= 0) {
                  liveVideoItem = items.splice(liveVideoItemIndex, 1)[0];
                }

                i = 0;

              case 21:
                if (!(i < items.length)) {
                  _context7.next = 31;
                  break;
                }

                _items$i = items[i], action = _items$i.action, image = _items$i.image;

                if (!(action.hasMainActionOpenLinkToCategory() && action.hasPropertyLatestArticleImage() && !image)) {
                  _context7.next = 28;
                  break;
                }

                _context7.next = 26;
                return _regenerator.default.awrap(_RssContentHelper.default.getFirstArticleByCategory(action.main.category, true));

              case 26:
                firstArticle = _context7.sent;

                if (firstArticle) {
                  items[i].image = firstArticle.image;
                  _global$getRssIndex2 = global.getRssIndex(), drawerItemsFlat = _global$getRssIndex2.drawerItemsFlat;
                  drawerItem = _navigationUtils.default.getDrawerItem(drawerItemsFlat, action.main.category);

                  if (drawerItem) {
                    items[i].title = drawerItem.displayName;
                  }

                  items[i].date = "";
                }

              case 28:
                i++;
                _context7.next = 21;
                break;

              case 31:
                state = {
                  items: items,
                  orientation: orientation,
                  loading: false,
                  userAdDisabled: userAdDisabled,
                  liveVideoItem: liveVideoItem
                };
                _context7.next = 38;
                break;

              case 34:
                _context7.prev = 34;
                _context7.t0 = _context7["catch"](6);
                this.log(_context7.t0);
                state = {
                  orientation: orientation,
                  error: true,
                  loading: false,
                  userAdDisabled: userAdDisabled
                };

              case 38:
                return _context7.abrupt("return", new Promise(function (resolve) {
                  _this3.setState(state, resolve);
                }));

              case 39:
              case "end":
                return _context7.stop();
            }
          }
        }, null, this, [[6, 34]], Promise);
      }
    }, {
      key: "getTag",
      value: function getTag() {
        var item = this.props.item;
        return "Live News Category (" + item.drawerItemKey + ")";
      }
    }, {
      key: "_getCategoryHeader",
      value: function _getCategoryHeader() {
        var liveVideoItem = this.state.liveVideoItem;

        if (liveVideoItem) {
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[25]).Css, {
            classes: ["rss-screen-category-header-dailymotion"]
          }, _react.default.createElement(_cardDailymotion.default, {
            item: liveVideoItem,
            style: {
              width: "100%",
              height: (0, _$$_REQUIRE(_dependencyMap[26]).HEADER_HEIGHT)()
            },
            autoplay: true
          }));
        }

        return (0, _get2.default)((0, _getPrototypeOf2.default)(RssContentScreen.prototype), "_getCategoryHeader", this).call(this);
      }
    }, {
      key: "_render",
      value: function _render() {
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[25]).Css, {
          classes: ["rss-content"]
        }, _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1
          }
        }, this._getComponent()));
      }
    }]);
    return RssContentScreen;
  }(_$$_REQUIRE(_dependencyMap[27]).RssBaseScreen);

  exports.RssContentScreen = RssContentScreen;
  RssContentScreen.propTypes = (0, _extends2.default)({
    isHome: _propTypes.default.bool,
    isLive: _propTypes.default.bool,
    getRouteKey: _propTypes.default.func
  }, _$$_REQUIRE(_dependencyMap[27]).RssBaseScreen.propTypes);
  RssContentScreen.defaultProps = {
    showHeader: false,
    isHome: false,
    isLive: false
  };
},2215,[5,80,6,7,8,90,12,14,16,17,201,28,2216,2207,1872,458,1862,2134,460,2128,2045,572,1002,462,1975,699,2217,2218]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _RssContentHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var DatabaseHelper = function () {
    function DatabaseHelper() {
      (0, _classCallCheck2.default)(this, DatabaseHelper);
    }

    (0, _createClass2.default)(DatabaseHelper, null, [{
      key: "rssContentDatabaseExists",
      value: function rssContentDatabaseExists() {
        return _regenerator.default.async(function rssContentDatabaseExists$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", _RssContentHelper.default.databaseExists());

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "downloadRssContent",
      value: function downloadRssContent(categoryName, forceDownload, callback, hideRefresh) {
        return _regenerator.default.async(function downloadRssContent$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", _RssContentHelper.default.download(categoryName, forceDownload, callback, hideRefresh));

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }]);
    return DatabaseHelper;
  }();

  exports.default = DatabaseHelper;
},2216,[5,80,7,8,2207]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.HEADER_HEIGHT_BASE = exports.HEADER_HEIGHT_NO_IMAGE = exports.HEADER_HEIGHT = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var HEADER_HEIGHT = function HEADER_HEIGHT() {
    return _$$_REQUIRE(_dependencyMap[1]).PlatformUtils.isTablet() ? 600 : 300;
  };

  exports.HEADER_HEIGHT = HEADER_HEIGHT;
  var HEADER_HEIGHT_NO_IMAGE = 50;
  exports.HEADER_HEIGHT_NO_IMAGE = HEADER_HEIGHT_NO_IMAGE;
  var HEADER_HEIGHT_BASE = _reactNative.StyleSheet.hairlineWidth;
  exports.HEADER_HEIGHT_BASE = HEADER_HEIGHT_BASE;

  var _default = _reactNative.StyleSheet.create({
    backButton: {
      alignItems: "center",
      justifyContent: "center",
      width: 40,
      height: 40,
      borderRadius: 20,
      backgroundColor: "white",
      margin: 2
    },
    backIcon: {
      fontSize: 24,
      marginLeft: 0,
      marginRight: 0
    },
    root: {
      flex: 1,
      minHeight: 0,
      backgroundColor: "white"
    },
    body: {
      flex: 1,
      minHeight: 0
    },
    fixedHeaderContainer: {
      flexDirection: "column",
      justifyContent: "space-between",
      padding: 4
    },
    bottomContent: {
      flex: 1
    }
  });

  exports.default = _default;
},2217,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2218,[2219]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.RssBaseScreen = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[12]);

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _LiveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _AdsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _navigationUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _emptyComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var InterstitialsKeysAndValues = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[21]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _rssVideoCardComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[23]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var _OptionalPackages$get = _optionalPackageUtils.default.getNativoAds(),
      NativoSDK = _OptionalPackages$get.NativoSDK;

  var RssBaseScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(RssBaseScreen, _NavigationBaseScreen);

    var _super = _createSuper(RssBaseScreen);

    function RssBaseScreen(props, state) {
      var _this;

      var startLoading = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
      (0, _classCallCheck2.default)(this, RssBaseScreen);
      _this = _super.call(this, props, (0, _extends2.default)({}, state, {
        layout: global.getUserSettings().layout,
        loading: startLoading,
        error: false,
        refreshing: false,
        footerHeight: -1,
        clearViews: true
      }));
      _this.getHeader = _this._getHeader.bind((0, _assertThisInitialized2.default)(_this));
      _this.getEmpty = _this._getEmpty.bind((0, _assertThisInitialized2.default)(_this));
      _this.getError = _this._getError.bind((0, _assertThisInitialized2.default)(_this));
      _this.onErrorViewClick = _this._onErrorViewClick.bind((0, _assertThisInitialized2.default)(_this));
      _this.onListRefresh = _this._onListRefresh.bind((0, _assertThisInitialized2.default)(_this));
      _this.onListItemClick = _this._onListItemClick.bind((0, _assertThisInitialized2.default)(_this));
      _this.onUserScroll = _this._onUserScroll.bind((0, _assertThisInitialized2.default)(_this));
      var navigation = props.navigation,
          item = props.item;

      if (item) {
        navigation.setParams({
          item: item
        });
      }

      if (global.isDebug && _optionalPackageUtils.default.isNativoSDKAvailable()) {
        NativoSDK.enableDevLogs();
        NativoSDK.enableTestAdvertisementsWithType(NativoSDK.AdTypes.NATIVE);
      }

      return _this;
    }

    (0, _createClass2.default)(RssBaseScreen, [{
      key: "onRefresh",
      value: function onRefresh(priority, callback) {}
    }, {
      key: "handleBackButton",
      value: function handleBackButton() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(RssBaseScreen.prototype), "handleBackButton", this).call(this);
        var navigation = this.props.navigation;

        if (this.isFirstScreen()) {
          if (_LiveConfig.default.getStartUpNavigator() === "RssNavigator") {
            this.closeAlert();
          } else {
            _NavigationService.default.main.reset("NewsmemoryNavigator");
          }
        } else {
          navigation.goBack();
        }

        return true;
      }
    }, {
      key: "isFirstScreen",
      value: function isFirstScreen() {
        var isHome = this.props.isHome;
        return isHome;
      }
    }, {
      key: "trackScreen",
      value: function trackScreen() {}
    }, {
      key: "didFocus",
      value: function didFocus() {
        var _this2 = this;

        this._toggleClearViews(false);

        (0, _get2.default)((0, _getPrototypeOf2.default)(RssBaseScreen.prototype), "didFocus", this).call(this);
        var layout = this.state.layout;
        var item = this.props.item;
        (0, _$$_REQUIRE(_dependencyMap[24]).sendToAnalytics)((0, _extends2.default)({
          event_action: "drawer",
          screen_name: this.getTag(),
          layout: layout.id
        }, item));

        if (global.getUserSettings().layout.id !== layout.id) {
          this.setState(function () {
            return {
              layout: global.getUserSettings().layout
            };
          });
        }

        this.toggleLayout = _$$_REQUIRE(_dependencyMap[25]).EventRegister.on(_events.default.TOGGLE_LAYOUT, function () {
          _this2.log("toggle layout");

          _this2.setState(function () {
            return {
              layout: global.getUserSettings().layout
            };
          });
        });
        this.rssDbAutoUpdate = _$$_REQUIRE(_dependencyMap[25]).EventRegister.on(_events.default.TRIGGER_RSS_DB_UPDATE, function () {
          _this2.log("TRIGGER_RSS_DB_UPDATE " + new Date());

          _this2.onRefresh(_$$_REQUIRE(_dependencyMap[26]).DbDownloadPriority.MEDIUM);
        });

        _$$_REQUIRE(_dependencyMap[25]).EventRegister.emit(_events.default.FOOTER_ITEM_CLICK, {
          screen: item.drawerItemKey
        });
      }
    }, {
      key: "willBlur",
      value: function willBlur() {
        this._toggleClearViews(true);

        (0, _get2.default)((0, _getPrototypeOf2.default)(RssBaseScreen.prototype), "willBlur", this).call(this);

        _$$_REQUIRE(_dependencyMap[25]).EventRegister.rm(this.toggleLayout);

        _$$_REQUIRE(_dependencyMap[25]).EventRegister.rm(this.rssDbAutoUpdate);

        _$$_REQUIRE(_dependencyMap[25]).EventRegister.emit(_events.default.ON_RSS_BASE_SCREEN_BLUR);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(RssBaseScreen.prototype), "componentWillUnmount", this).call(this);

        _$$_REQUIRE(_dependencyMap[25]).EventRegister.rm(this.toggleLayout);

        _$$_REQUIRE(_dependencyMap[25]).EventRegister.rm(this.rssDbAutoUpdate);
      }
    }, {
      key: "_isCategoryNameVisible",
      value: function _isCategoryNameVisible() {
        return this.props.showHeader;
      }
    }, {
      key: "_onListRefresh",
      value: function _onListRefresh() {
        var _this3 = this;

        return _regenerator.default.async(function _onListRefresh$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                this.setState({
                  refreshing: true
                }, function _callee() {
                  return _regenerator.default.async(function _callee$(_context) {
                    while (1) {
                      switch (_context.prev = _context.next) {
                        case 0:
                          _context.prev = 0;
                          _context.next = 3;
                          return _regenerator.default.awrap(_this3.onRefresh(_$$_REQUIRE(_dependencyMap[26]).DbDownloadPriority.LOW, function () {
                            _this3.setState({
                              refreshing: false
                            });
                          }));

                        case 3:
                          _context.next = 8;
                          break;

                        case 5:
                          _context.prev = 5;
                          _context.t0 = _context["catch"](0);

                          _this3.setState({
                            refreshing: false
                          });

                        case 8:
                        case "end":
                          return _context.stop();
                      }
                    }
                  }, null, null, [[0, 5]], Promise);
                });

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_onErrorViewClick",
      value: function _onErrorViewClick() {
        var _this4 = this;

        return _regenerator.default.async(function _onErrorViewClick$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                this.setState({
                  loading: true
                }, function _callee2() {
                  return _regenerator.default.async(function _callee2$(_context3) {
                    while (1) {
                      switch (_context3.prev = _context3.next) {
                        case 0:
                          _context3.next = 2;
                          return _regenerator.default.awrap(_this4.onRefresh(_$$_REQUIRE(_dependencyMap[26]).DbDownloadPriority.LOW));

                        case 2:
                          _this4.setState({
                            loading: false
                          });

                        case 3:
                        case "end":
                          return _context3.stop();
                      }
                    }
                  }, null, null, null, Promise);
                });

              case 1:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_handleForceExit",
      value: function _handleForceExit() {
        var _this5 = this;

        _reactNative.Alert.alert("", global.strings("err_internet_connection"), [{
          text: global.strings("btn_ok"),
          onPress: function onPress() {
            _this5.closeApp();
          }
        }], {
          cancelable: false
        });

        return true;
      }
    }, {
      key: "_getNativoAdsSection",
      value: function _getNativoAdsSection() {
        var settings = this.props.item;

        if (settings && settings.adUnitId) {
          var configuration = {
            screen: "grid",
            position: "inside",
            type: "native",
            provider: "nativo",
            caller: this.getTag()
          };

          var model = _AdsHelper.default.getModelFromConfiguration(settings.adUnitId, configuration);

          if (model) {
            var unitId = model.unitId,
                provider = model.provider;

            if (provider === InterstitialsKeysAndValues.values.provider.nativo) {
              return unitId;
            }
          }
        }

        return undefined;
      }
    }, {
      key: "_getError",
      value: function _getError() {
        var item = this.props.item;
        return this._getIconView("frown", global.strings("msg_error_category", {
          category: item.displayName
        }));
      }
    }, {
      key: "_getEmpty",
      value: function _getEmpty() {
        var item = this.props.item;
        return this._getIconView("surprise", global.strings("msg_empty_category", {
          category: item.displayName
        }));
      }
    }, {
      key: "_getIconView",
      value: function _getIconView(iconName, text) {
        var _global$getRssIndex = global.getRssIndex(),
            supportColor = _global$getRssIndex.supportColor;

        return _react.default.createElement(_emptyComponent.default, {
          onPress: this.onErrorViewClick,
          iconName: iconName,
          message: text,
          color: supportColor
        });
      }
    }, {
      key: "_getHeader",
      value: function _getHeader() {
        var _this$props = this.props,
            width = _this$props.width,
            settings = _this$props.item;
        var adJSON;

        if (settings) {
          adJSON = settings.adUnitId;
        }

        var configuration = {
          screen: "grid",
          position: "top",
          caller: this.getTag()
        };
        var backgroundColor = global.getAdsConfig().getBackgroundColor();

        var adsComponent = _AdsHelper.default.getAdComponentFromConfiguration(adJSON, configuration);

        var categoryComponent = this._getCategoryHeader();

        return _react.default.createElement(_reactNative.View, {
          style: {
            flexDirection: "column",
            width: width
          }
        }, categoryComponent, _react.default.createElement(_reactNative.View, {
          style: {
            width: "100%",
            alignItems: "center",
            backgroundColor: backgroundColor
          }
        }, adsComponent));
      }
    }, {
      key: "_renderAbsolute",
      value: function _renderAbsolute() {
        return null;
      }
    }, {
      key: "_getCategoryHeader",
      value: function _getCategoryHeader() {
        var settings = this.props.item;

        var _global$getRssIndex2 = global.getRssIndex(),
            supportColor = _global$getRssIndex2.supportColor;

        var color = _$$_REQUIRE(_dependencyMap[27]).Css.isDarkTheme() ? _$$_REQUIRE(_dependencyMap[27]).Css.getDefaultBackgroundColor() : _$$_REQUIRE(_dependencyMap[28]).ColorUtils.determineTextColor(supportColor);
        return this._isCategoryNameVisible() ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[27]).Css, {
          classes: ["rss-screen-category-header"]
        }, _react.default.createElement(_fontText.default, {
          style: [_$$_REQUIRE(_dependencyMap[29]).styles.header, {
            color: color,
            backgroundColor: supportColor
          }]
        }, _$$_REQUIRE(_dependencyMap[28]).StringUtils.removeTilde(settings.displayName))) : null;
      }
    }, {
      key: "_onUserScroll",
      value: function _onUserScroll(status) {
        _$$_REQUIRE(_dependencyMap[25]).EventRegister.emit(_events.default.LIST_VERTICAL_SCROLLING, status);
      }
    }, {
      key: "_onListItemClick",
      value: function _onListItemClick(items, item) {
        var _this$props2 = this.props,
            navigation = _this$props2.navigation,
            settings = _this$props2.item,
            onItemPress = _this$props2.onItemPress;

        if (!item.isAdvertisement) {
          if (item.action && item.action.hasMainActionOpenEdition() || item.isEdition) {
            var params = {
              isFromRss: true
            };
            var mainAction = item.getMainAction();

            if (mainAction) {
              var edition = mainAction.edition,
                  issue = mainAction.issue;
              params.edition = edition;
              params.issue = issue;
            }

            _NavigationService.default.main.reset("NewsmemoryNavigator", params);
          } else if (item.action && item.action.hasMainActionOpenLoadExternalUrl()) {
            navigation.navigate("WebScreen", {
              url: item.action.main.url
            });
          } else if (item.action && item.action.hasMainActionOpenGallery()) {
            navigation.navigate("GalleryScreen", {
              items: item.gallery,
              category: item.category,
              title: item.title,
              caller: "live_news"
            });
          } else if (item.action && item.action.hasMainActionOpenLinkToCategory()) {
            (0, _$$_REQUIRE(_dependencyMap[30]).navigateToCategory)(navigation, item.action.main.category);
          } else if (item.isHalfBox || item.isLinkToCategory) {
            var _global$getRssIndex3 = global.getRssIndex(),
                drawerItemsFlat = _global$getRssIndex3.drawerItemsFlat;

            var drawerItem = _navigationUtils.default.getDrawerItem(drawerItemsFlat, item.title);

            if (!drawerItem) {
              drawerItem = _navigationUtils.default.getDrawerItem(drawerItemsFlat, "" + _$$_REQUIRE(_dependencyMap[28]).StringUtils.TILDE + item.title);
            }

            if (drawerItem) {
              onItemPress(navigation, drawerItem);
            }
          } else if (item.priority && typeof item.priority === "string" && item.priority.indexOf("http") > 0) {
            navigation.navigate("WebScreen", {
              url: item.priority.url
            });
          } else if (item.category === "Action Block") {
            navigation.navigate("WebScreen", {
              url: item.byline
            });
          } else if (item.category === "Photos") {
            (function () {
              var body = item.html;
              var url = item.source;

              if (!url) {
                var regex = /<a\s+href="(.+?)"/gm;
                var m;

                do {
                  m = regex.exec(body);

                  if (m) {
                    url = m.find(function (match, groupIndex) {
                      return groupIndex === 1 && match && !match.endsWith(".com") && !url;
                    });
                  }
                } while (m && !url);
              }

              navigation.navigate("WebScreen", {
                url: url
              });
            })();
          } else {
            var newList = items.filter(function (article) {
              return article.isVisibleOnFullscreen();
            });

            if (newList && newList.length > 0) {
              navigation.navigate("ArticleScreen", {
                items: newList,
                item: item,
                settings: settings,
                orientation: _deviceUtils.default.currentOrientation
              });
            }
          }
        }
      }
    }, {
      key: "_getComponent",
      value: function _getComponent() {
        var _this$state = this.state,
            loading = _this$state.loading,
            error = _this$state.error,
            items = _this$state.items,
            layout = _this$state.layout,
            refreshing = _this$state.refreshing;
        var _this$props3 = this.props,
            settings = _this$props3.item,
            numberOfColumns = _this$props3.numberOfColumns,
            width = _this$props3.width;
        var result;

        if (loading) {
          result = _react.default.createElement(_$$_REQUIRE(_dependencyMap[31]).ProgressCircle, null);
        } else if (error) {
          result = this._getError();
        } else {
          _LiveConfig.default.setLastRssCategory(settings.drawerItemKey);

          var props = {
            refreshing: refreshing,
            renderEmpty: this.getEmpty,
            onRefresh: this.onListRefresh,
            settings: settings,
            items: items || [],
            width: width,
            renderHeader: this.getHeader,
            onItemClick: this.onListItemClick,
            renderError: this.getError,
            orientation: _deviceUtils.default.currentOrientation,
            onUserScroll: this.onUserScroll,
            nativeID: this._getNativoAdsSection() ? "publisherNativoAdContainer" : "rssListContainer",
            numberOfColumns: numberOfColumns
          };
          var LayoutComponent = layout.Component;

          if (settings) {
            var isHtml5VideoStreamList = (0, _$$_REQUIRE(_dependencyMap[30]).parseExtra)(settings.extra, "isHtml5VideoStreamList", "0") === "1";

            if (isHtml5VideoStreamList) {
              LayoutComponent = _rssVideoCardComponent.default;
            }
          }

          result = _react.default.createElement(LayoutComponent, props);
        }

        return result;
      }
    }, {
      key: "_displayToast",
      value: function _displayToast(msg) {
        if (this.hasScreenFocus()) {
          _$$_REQUIRE(_dependencyMap[32]).Toast.show(msg, {
            position: "top"
          });
        }
      }
    }, {
      key: "_render",
      value: function _render() {
        return null;
      }
    }, {
      key: "_toggleClearViews",
      value: function _toggleClearViews(state) {
        var _this$props4 = this.props,
            navigation = _this$props4.navigation,
            route = _this$props4.route;

        var activeRoute = _navigationUtils.default.getActiveRouteFromState(navigation.getState());

        var focused = navigation.isFocused();
        var clearViews = this.state.clearViews;
        var newClearViews = state && !(route.name === activeRoute && !focused);

        if (clearViews !== newClearViews) {
          this.forceState({
            clearViews: newClearViews
          });
        }
      }
    }, {
      key: "render",
      value: function render() {
        var considerSafeAreaTop = this.props.considerSafeAreaTop;
        var clearViews = this.state.clearViews;
        var marginTop = 0;

        if (considerSafeAreaTop) {
          var _DeviceUtils$getSafeA = _deviceUtils.default.getSafeAreaInsets();

          marginTop = _DeviceUtils$getSafeA.top;
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[27]).Css, {
          classes: ["rss-content-parent"]
        }, _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1,
            flexDirection: "column",
            marginTop: marginTop
          }
        }, clearViews ? null : this._render(), clearViews ? null : this._renderAbsolute()));
      }
    }]);
    return RssBaseScreen;
  }(_$$_REQUIRE(_dependencyMap[33]).NavigationBaseScreen);

  exports.RssBaseScreen = RssBaseScreen;
  RssBaseScreen.propTypes = {
    showHeader: _propTypes.default.bool,
    considerSafeAreaTop: _propTypes.default.bool,
    item: _propTypes.default.object,
    navigation: _propTypes.default.shape({
      navigate: _propTypes.default.func.isRequired
    }).isRequired,
    onItemPress: _propTypes.default.func.isRequired
  };
  RssBaseScreen.defaultProps = {
    considerSafeAreaTop: false
  };

  RssBaseScreen.navigationOptions = function (_ref) {
    var navigation = _ref.navigation;
    var params = navigation.state.params;
    return params;
  };
},2219,[5,80,6,7,8,15,90,12,14,16,17,201,28,460,1872,2087,1879,458,1861,2045,2220,1973,731,2222,2210,572,2207,699,462,2225,2046,1953,1889,2148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _emptyComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var EmptyComponent = function (_React$Component) {
    (0, _inherits2.default)(EmptyComponent, _React$Component);

    var _super = _createSuper(EmptyComponent);

    function EmptyComponent() {
      (0, _classCallCheck2.default)(this, EmptyComponent);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(EmptyComponent, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            enableIcon = _this$props.enableIcon,
            _onPress = _this$props.onPress,
            iconName = _this$props.iconName,
            message = _this$props.message,
            color = _this$props.color,
            cssClassesContainer = _this$props.cssClassesContainer,
            cssClassesParent = _this$props.cssClassesParent,
            cssClassesIcon = _this$props.cssClassesIcon,
            cssClassesText = _this$props.cssClassesText;
        var Icon = null;

        if (enableIcon) {
          Icon = _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
            classes: cssClassesIcon
          }, _react.default.createElement(_iconComponent.default, {
            type: _iconComponent.TecnaviaIconType.FONT_AWESOME_5,
            name: iconName,
            size: 70,
            color: color
          }));
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
          classes: cssClassesContainer
        }, _react.default.createElement(_reactNative.TouchableOpacity, {
          onPress: function onPress() {
            if (typeof _onPress === "function") {
              _onPress();
            }
          },
          style: _emptyComponent.default.message
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
          classes: cssClassesParent
        }, _react.default.createElement(_reactNative.View, {
          style: _emptyComponent.default.message
        }, Icon, _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
          classes: cssClassesText
        }, _react.default.createElement(_fontText.default, {
          style: [_emptyComponent.default.messageText, {
            color: color
          }]
        }, message))))));
      }
    }]);
    return EmptyComponent;
  }(_react.default.Component);

  exports.default = EmptyComponent;
  EmptyComponent.propTypes = {
    onPress: _propTypes.default.func,
    iconName: _propTypes.default.string,
    message: _propTypes.default.string.isRequired,
    color: _propTypes.default.string,
    enableIcon: _propTypes.default.bool,
    cssClassesContainer: _propTypes.default.arrayOf(_propTypes.default.string),
    cssClassesParent: _propTypes.default.arrayOf(_propTypes.default.string),
    cssClassesIcon: _propTypes.default.arrayOf(_propTypes.default.string),
    cssClassesText: _propTypes.default.arrayOf(_propTypes.default.string)
  };
  EmptyComponent.defaultProps = {
    color: _$$_REQUIRE(_dependencyMap[13]).colors.black,
    iconName: "surprise",
    enableIcon: false,
    cssClassesContainer: [],
    cssClassesParent: [],
    cssClassesIcon: [],
    cssClassesText: []
  };
},2220,[5,7,8,12,14,16,17,201,28,1879,2221,1806,699,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    message: {
      flex: 1,
      justifyContent: "center",
      alignItems: "center",
      flexDirection: "column"
    },
    messageText: {
      paddingVertical: 20,
      paddingHorizontal: 50,
      textAlign: "center"
    }
  });

  exports.default = _default;
},2221,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _rssBaseView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _refreshComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _cardMerideVideo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var RssVideoCardComponent = function (_RssCardComponent) {
    (0, _inherits2.default)(RssVideoCardComponent, _RssCardComponent);

    var _super = _createSuper(RssVideoCardComponent);

    function RssVideoCardComponent(props) {
      var _this;

      (0, _classCallCheck2.default)(this, RssVideoCardComponent);
      _this = _super.call(this, props);
      _this.itemVideoRefs = [];
      _this.onScrollEnd = _this._onScrollEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        layout: undefined
      };
      return _this;
    }

    (0, _createClass2.default)(RssVideoCardComponent, [{
      key: "_chooseActiveVideo",
      value: function _chooseActiveVideo(scrollIndex) {
        this.itemVideoRefs.forEach(function (itemVideoRef, index) {
          if (itemVideoRef) {
            itemVideoRef.setActive(index === scrollIndex);
          }
        });
      }
    }, {
      key: "_onScrollEnd",
      value: function _onScrollEnd(_ref) {
        var direction = _ref.direction,
            start = _ref.start,
            step = _ref.step,
            speed = _ref.speed,
            duration = _ref.duration;
        var layout = this.state.layout;

        if (layout) {
          var scrollIndex = Math.floor(start / Math.floor(this._getAvailableHeight()));

          this._chooseActiveVideo(scrollIndex);
        }
      }
    }, {
      key: "_useAsymmetricList",
      value: function _useAsymmetricList() {
        return true;
      }
    }, {
      key: "_getPadding",
      value: function _getPadding() {
        return 0;
      }
    }, {
      key: "_getNumberOfColumns",
      value: function _getNumberOfColumns() {
        return 1;
      }
    }, {
      key: "_getAvailableHeight",
      value: function _getAvailableHeight() {
        var layout = this.state.layout;

        if (layout) {
          return layout.height - _$$_REQUIRE(_dependencyMap[13]).RSS_HEADER_HEIGHT;
        }

        return 0;
      }
    }, {
      key: "_getListProps",
      value: function _getListProps() {
        var _this2 = this;

        return {
          initialNumToRender: 1,
          windowSize: 1,
          numColumns: 1,
          columnStyle: {
            margin: 0
          },
          disableIntervalMomentum: true,
          snapToInterval: this._getAvailableHeight(),
          decelerationRate: "fast",
          onScrollViewRef: function onScrollViewRef(ref) {
            _this2.scrollView = ref;
          }
        };
      }
    }, {
      key: "_getVideoComponent",
      value: function _getVideoComponent(item) {
        var html = item.html;
        var matches = html.match(/.*Meride.initEmbed\({ .* }\);/);

        if (matches && matches.length > 0) {
          return _cardMerideVideo.default;
        }

        return null;
      }
    }, {
      key: "_renderColContent",
      value: function _renderColContent(_ref2) {
        var _this3 = this;

        var item = _ref2.item,
            itemID = _ref2.index;
        var items = this.props.items;

        var _this$_minimumItemDim = this._minimumItemDimensions(),
            width = _this$_minimumItemDim.width;

        var result = null;

        if (item && (0, _$$_REQUIRE(_dependencyMap[14]).itemHasHtml5StreamAction)(item)) {
          item.setHideCategory(true);

          var height = this._getAvailableHeight();

          var CardVideo = this._getVideoComponent(item);

          if (CardVideo) {
            result = _react.default.createElement(CardVideo, {
              ref: function ref(_ref3) {
                _this3.itemVideoRefs[itemID] = _ref3;
              },
              item: item,
              index: itemID,
              onPress: function onPress() {
                _this3._onItemClick(items, item);
              },
              onVideoEnd: function onVideoEnd() {
                if (_this3.scrollView) {
                  var nextItemID = itemID + 1;

                  _this3.scrollView.scrollTo({
                    y: nextItemID * height,
                    animated: true
                  });

                  if (_$$_REQUIRE(_dependencyMap[15]).PlatformUtils.isAndroid()) {
                    _this3._chooseActiveVideo(nextItemID);
                  }
                }
              },
              style: {
                width: width,
                height: height
              },
              autoplay: itemID === 0
            });
          }
        }

        return _react.default.createElement(_reactNative.View, {
          ref: function ref(_ref4) {
            _this3.itemViewRefs[itemID] = _ref4;
          },
          style: {
            width: width
          }
        }, result);
      }
    }, {
      key: "render",
      value: function render() {
        var _this4 = this;

        var _this$props = this.props,
            orientation = _this$props.orientation,
            refreshing = _this$props.refreshing,
            onRefresh = _this$props.onRefresh,
            items = _this$props.items,
            renderHeader = _this$props.renderHeader,
            renderError = _this$props.renderError,
            renderEmpty = _this$props.renderEmpty,
            onUserScroll = _this$props.onUserScroll,
            nativeID = _this$props.nativeID;
        var layout = this.state.layout;

        var _global$getRssIndex = global.getRssIndex(),
            supportColor = _global$getRssIndex.supportColor;

        return _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1
          },
          onLayout: function onLayout(_ref5) {
            var nativeEvent = _ref5.nativeEvent;

            _this4.setState({
              layout: nativeEvent.layout
            });
          }
        }, layout ? _react.default.createElement(_rssBaseView.default, (0, _extends2.default)({
          colsData: this._getColsData(items),
          rowsData: this._getRowsData(items),
          renderRow: this.renderRow,
          renderColItem: this.renderColContent,
          renderEmpty: renderEmpty,
          renderHeader: renderHeader,
          renderError: renderError,
          orientation: orientation,
          onUserScroll: onUserScroll,
          onScrollEnd: this.onScrollEnd,
          PlaceholderComponent: this._getPlaceholderComponent(),
          refreshControl: _react.default.createElement(_refreshComponent.default, {
            colors: [supportColor],
            refreshing: refreshing,
            onRefresh: onRefresh
          }),
          nativeID: nativeID
        }, this._getListProps())) : null);
      }
    }]);
    return RssVideoCardComponent;
  }(_$$_REQUIRE(_dependencyMap[16]).RssCardComponent);

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[17]).useNavigation)();
    return _react.default.createElement(RssVideoCardComponent, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2222,[5,6,7,8,15,12,14,16,17,28,2080,2099,2223,2039,1975,462,2116,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var CardMerideVideo = function (_CardHtml5Video) {
    (0, _inherits2.default)(CardMerideVideo, _CardHtml5Video);

    var _super = _createSuper(CardMerideVideo);

    function CardMerideVideo() {
      (0, _classCallCheck2.default)(this, CardMerideVideo);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(CardMerideVideo, [{
      key: "_getVideoType",
      value: function _getVideoType() {
        return "meride";
      }
    }, {
      key: "_getPlayVideoJS",
      value: function _getPlayVideoJS() {
        return "\n            if (videoElement) {\n                console.log(\"PLAY video\");\n                videoElement.play();\n            } else {\n                console.log(\"PLAY ERROR: no video element\")\n            }";
      }
    }, {
      key: "_getPauseVideoJS",
      value: function _getPauseVideoJS() {
        return "\n            if (videoElement) {\n                console.log(\"PAUSE video\");\n                videoElement.pause();\n            } else {\n                console.log(\"PAUSE ERROR: no video element\")\n            }";
      }
    }, {
      key: "_getExitFullscreenVideoJS",
      value: function _getExitFullscreenVideoJS() {
        return "\n            if (videoElement) {\n                console.log(\"video EXIT FULLSCREEN\"); \n                videoElement.webkitExitFullscreen();\n            } else {\n                console.log(\"EXIT FULLSCREEN ERROR: no video element\")\n            }";
      }
    }, {
      key: "_manipulateHTML",
      value: function _manipulateHTML() {
        var _this$props = this.props,
            item = _this$props.item,
            style = _this$props.style;
        var html = item.html;

        if (style) {
          if (style.height) {
            html = html.replace(/data-height="[0-9]*"/g, "data-height=\"" + style.height + "\"");
          }

          var widthReplace = "";

          if (_$$_REQUIRE(_dependencyMap[8]).PlatformUtils.isTablet() && style.width) {
            widthReplace = "data-width=\"" + style.width + "\"";
          }

          html = html.replace(/data-width="[0-9]*"/g, widthReplace);
        }

        var matches = html.match(/.*Meride.initEmbed\({ embedID: ([0-9]+), .* }\);/);

        if (matches && matches.length > 1) {
          var embedID = matches[1];

          if (embedID) {
            var script = "\n                    var player = Meride.getPlayer({\n                        embedID: " + embedID + "\n                    });\n\n                    player.addEventListener(Meride.EventType.READY, function(evnt) {\n                        videoElement = evnt.detail.player;\n                        window.ReactNativeWebView.postMessage(JSON.stringify({ type: 'VIDEO_READY' }));\n                    });\n\n                    player.addEventListener(Meride.EventType.PLAY, function(evnt) {\n                        window.ReactNativeWebView.postMessage(JSON.stringify({ type: 'VIDEO_STARTED' }));\n                    });\n\n                    player.addEventListener(Meride.EventType.PAUSE, function(evnt) {\n                        window.ReactNativeWebView.postMessage(JSON.stringify({ type: 'VIDEO_PAUSED' }));\n                    });\n                    \n                    player.addEventListener(Meride.EventType.ENDED, function(evnt) {\n                        window.ReactNativeWebView.postMessage(JSON.stringify({ type: 'VIDEO_ENDED' }));\n                    });\n\n                    player.addEventListener(Meride.EventType.ERROR, function(evnt) {\n                        window.ReactNativeWebView.postMessage(JSON.stringify({ type: 'VIDEO_ERROR', message: evnt.detail.error }));\n                    });\n\n                    player.addEventListener(Meride.EventType.ENTER_FULLSCREEN, function(evnt) {\n                        window.ReactNativeWebView.postMessage(JSON.stringify({ type: 'VIDEO_ENTER_FULLSCREEN' }));\n                    });\n                    \n                    player.addEventListener(Meride.EventType.EXIT_FULLSCREEN, function(evnt) {\n                        window.ReactNativeWebView.postMessage(JSON.stringify({ type: 'VIDEO_EXIT_FULLSCREEN' }));\n                    });";
            var enableFullscreen = _$$_REQUIRE(_dependencyMap[8]).PlatformUtils.isIOS() ? "true" : "false";
            return html.replace(matches[0], "Meride.initEmbed({ embedID: " + embedID + ", type: \"html5\", muted: true, enableFullscreen: " + enableFullscreen + " });\n                    " + script);
          }
        }

        return html;
      }
    }, {
      key: "_injectedJavaScriptBeforeContentLoaded",
      value: function _injectedJavaScriptBeforeContentLoaded() {
        return "\n            var videoElement;";
      }
    }]);
    return CardMerideVideo;
  }(_$$_REQUIRE(_dependencyMap[9]).CardHtml5Video);

  var _default = (0, _react.forwardRef)(function (props, ref) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[10]).useNavigation)();
    return _react.default.createElement(CardMerideVideo, (0, _extends2.default)({}, props, {
      ref: ref,
      navigation: navigation
    }));
  });

  exports.default = _default;
},2223,[5,6,7,8,12,14,16,17,462,2224,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.CardHtml5Video = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[12]));

  var _card = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _baseTileImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _RssActionManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _tileHeader = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var CardHtml5Video = function (_React$Component) {
    (0, _inherits2.default)(CardHtml5Video, _React$Component);

    var _super = _createSuper(CardHtml5Video);

    function CardHtml5Video(props) {
      var _this;

      (0, _classCallCheck2.default)(this, CardHtml5Video);
      _this = _super.call(this, props);
      _this.fontSize = _$$_REQUIRE(_dependencyMap[17]).FONT_SIZE.TEXT();
      _this.fontSizeTitle = _$$_REQUIRE(_dependencyMap[17]).FONT_SIZE.TITLE();
      _this.webviewHeight = undefined;
      _this.onLoadEnd = _this._onLoadEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.onMessage = _this._onMessage.bind((0, _assertThisInitialized2.default)(_this));
      _this.setActive = _this._setActive.bind((0, _assertThisInitialized2.default)(_this));
      _this.playVideo = _this._playVideo.bind((0, _assertThisInitialized2.default)(_this));
      _this.pauseVideo = _this._pauseVideo.bind((0, _assertThisInitialized2.default)(_this));
      _this.exitFullscreen = _this._exitFullscreen.bind((0, _assertThisInitialized2.default)(_this));
      _this.mounted = false;
      _this.isActive = false;
      _this.autoPaused = false;
      _this.state = {
        isPlaying: false
      };
      return _this;
    }

    (0, _createClass2.default)(CardHtml5Video, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        this.mounted = true;
        this.blurListener = _$$_REQUIRE(_dependencyMap[18]).EventRegister.on(_events.default.ON_STATE_CHANGE_GOING_BACKGROUND, function () {
          var isPlaying = _this2.state.isPlaying;

          if (_this2.mounted && _this2.isActive && isPlaying) {
            _this2.pauseVideo();

            _this2.autoPaused = true;
          }
        });
        this.focusListener = _$$_REQUIRE(_dependencyMap[18]).EventRegister.on(_events.default.ON_STATE_CHANGE_GOING_FOREGROUND, function () {
          var isPlaying = _this2.state.isPlaying;

          if (_this2.mounted && _this2.isActive && !isPlaying && _this2.autoPaused) {
            _this2.playVideo();

            _this2.autoPaused = false;
          }
        });
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this.mounted = false;

        _$$_REQUIRE(_dependencyMap[18]).EventRegister.rm(this.blurListener);

        _$$_REQUIRE(_dependencyMap[18]).EventRegister.rm(this.focusListener);
      }
    }, {
      key: "_getVideoType",
      value: function _getVideoType() {
        return "html5";
      }
    }, {
      key: "_getCssKey",
      value: function _getCssKey() {
        return this._getVideoType() + "-video";
      }
    }, {
      key: "_getCategoryAndDate",
      value: function _getCategoryAndDate() {
        var item = this.props.item;
        var isPlaying = this.state.isPlaying;

        var cssKey = this._getCssKey();

        var parentContainer = _$$_REQUIRE(_dependencyMap[19]).Css.getStyleObjByCssClasses(["tile-card-header"], {
          cssKey: cssKey
        });

        var textContainer = _$$_REQUIRE(_dependencyMap[19]).Css.getStyleObjByCssClasses(["tile-card-header-text"], {
          cssKey: cssKey
        });

        var color = isPlaying ? _$$_REQUIRE(_dependencyMap[20]).colors.transparent : _$$_REQUIRE(_dependencyMap[20]).colors.white_transparent_135;
        var hasLinkIcon = item.action.icons.find(function (icon) {
          return (0, _$$_REQUIRE(_dependencyMap[21]).hasActionOpenLoadExternalUrl)(icon);
        });

        if (!hasLinkIcon) {
          var url = item.source;

          if (_$$_REQUIRE(_dependencyMap[20]).StringUtils.isUrl(url)) {
            item.action.icons.unshift({
              action: "loadExternalURL",
              url: url
            });
          }
        }

        return _react.default.createElement(_tileHeader.default, {
          parentStyle: [{
            backgroundColor: _$$_REQUIRE(_dependencyMap[20]).colors.transparent,
            paddingVertical: 5
          }, parentContainer],
          textStyle: [_baseTileImage.default.details, {
            fontSize: this.fontSize,
            color: color
          }, textContainer],
          iconsStyle: {
            flexDirection: "column",
            width: _$$_REQUIRE(_dependencyMap[22]).ICON,
            height: undefined
          },
          isTablet: _$$_REQUIRE(_dependencyMap[20]).PlatformUtils.isTablet(),
          iconType: "others",
          availableSpace: 2,
          item: item
        });
      }
    }, {
      key: "_injectJavaScript",
      value: function _injectJavaScript(jsScript) {
        if (this.webview) {
          this.webview.injectJavaScript("try {" + jsScript + "} catch(e) {console.log(e.message);}");
        }
      }
    }, {
      key: "_onLoadEnd",
      value: function _onLoadEnd() {
        var jsStyle = "\n                   document.body.style.margin = 0; \n                   document.body.style.padding = 0;";

        this._injectJavaScript(jsStyle);
      }
    }, {
      key: "_setActive",
      value: function _setActive(isActive) {
        this.isActive = isActive;

        if (isActive) {
          this.playVideo();
        } else {
          this.pauseVideo();
        }
      }
    }, {
      key: "_getPlayVideoJS",
      value: function _getPlayVideoJS() {
        return "";
      }
    }, {
      key: "_playVideo",
      value: function _playVideo() {
        var isPlaying = this.state.isPlaying;

        if (!isPlaying) {
          this._injectJavaScript(this._getPlayVideoJS());
        }
      }
    }, {
      key: "_getPauseVideoJS",
      value: function _getPauseVideoJS() {
        return "";
      }
    }, {
      key: "_pauseVideo",
      value: function _pauseVideo() {
        var isPlaying = this.state.isPlaying;

        if (isPlaying) {
          this._injectJavaScript(this._getPauseVideoJS());
        }
      }
    }, {
      key: "_getExitFullscreenVideoJS",
      value: function _getExitFullscreenVideoJS() {
        return "";
      }
    }, {
      key: "_exitFullscreen",
      value: function _exitFullscreen() {
        this._injectJavaScript(this._getExitFullscreenVideoJS());
      }
    }, {
      key: "_manipulateHTML",
      value: function _manipulateHTML() {
        var item = this.props.item;
        var html = item.html;
        return html;
      }
    }, {
      key: "_onMessage",
      value: function _onMessage(data) {
        try {
          var _this$props = this.props,
              autoplay = _this$props.autoplay,
              onVideoEnd = _this$props.onVideoEnd;
          var type = data.type,
              message = data.message;

          if (type) {
            switch (type) {
              case "VIDEO_READY":
                if (autoplay) {
                  setTimeout(this.playVideo, 1000);
                }

                break;

              case "VIDEO_STARTED":
                this.setState({
                  isPlaying: true
                });
                break;

              case "VIDEO_PAUSED":
                this.setState({
                  isPlaying: false
                });
                break;

              case "VIDEO_ENDED":
                if (typeof onVideoEnd === "function") {
                  onVideoEnd();
                }

                this.exitFullscreen();
                this.setState({
                  isPlaying: false
                });
                break;

              case "VIDEO_ERROR":
                break;
            }
          }
        } catch (e) {}
      }
    }, {
      key: "_injectedJavaScriptBeforeContentLoaded",
      value: function _injectedJavaScriptBeforeContentLoaded() {
        return "";
      }
    }, {
      key: "render",
      value: function render() {
        var _this3 = this;

        var _this$props2 = this.props,
            item = _this$props2.item,
            style = _this$props2.style;
        var isPlaying = this.state.isPlaying;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).Css, {
          classes: ["tile", "tile-card"],
          cssKey: this._getCssKey()
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[23]).CardParent, {
          style: {
            marginHorizontal: 0,
            marginVertical: 0
          },
          borderStyle: {
            borderRadius: 0
          }
        }, _react.default.createElement(_reactNative.View, {
          ref: function ref(_ref) {
            _this3.viewRef = _ref;
          },
          style: [{
            flexDirection: "column"
          }, style]
        }, _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1,
            backgroundColor: _$$_REQUIRE(_dependencyMap[20]).colors.grey1200
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).BaseWebView, {
          innerRef: function innerRef(ref) {
            _this3.webview = ref;
          },
          source: {
            html: this._manipulateHTML(),
            baseUrl: _$$_REQUIRE(_dependencyMap[25]).WEBVIEW_BASE_URL
          },
          allowsInlineMediaPlayback: true,
          onLoadEnd: this.onLoadEnd,
          injectedJavaScriptBeforeContentLoaded: this._injectedJavaScriptBeforeContentLoaded(),
          onMessage: this.onMessage
        })), _react.default.createElement(_reactNative.View, {
          style: {
            position: "absolute",
            bottom: 60,
            width: "100%",
            backgroundColor: isPlaying ? _$$_REQUIRE(_dependencyMap[20]).colors.transparent : _$$_REQUIRE(_dependencyMap[20]).colors.transparent600
          }
        }, !isPlaying ? _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1
          }
        }, _react.default.createElement(_reactNative.View, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).Css, {
          classes: ["tile-title", "card-title", "tile-card-title"],
          cssKey: this._getCssKey()
        }, _react.default.createElement(_fontText.default, {
          style: [_card.default.title, {
            fontSize: this.fontSizeTitle,
            color: _$$_REQUIRE(_dependencyMap[20]).colors.white_transparent_135
          }],
          type: _fontText.Type.medium
        }, item.title)))) : null, this._getCategoryAndDate()))));
      }
    }]);
    return CardHtml5Video;
  }(_react.default.Component);

  exports.CardHtml5Video = CardHtml5Video;
  CardHtml5Video.propTypes = {
    onVideoEnd: _propTypes.default.func,
    item: _propTypes.default.shape({
      html: _propTypes.default.string,
      title: _propTypes.default.string,
      image: _propTypes.default.string,
      thumbnail: _propTypes.default.string,
      action: _propTypes.default.instanceOf(_RssActionManager.default),
      summary: _propTypes.default.string,
      source: _propTypes.default.string,
      gallery: _propTypes.default.array,
      isHighlightedBox: _propTypes.default.bool
    }),
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array]),
    autoplay: _propTypes.default.bool
  };

  var _default = (0, _react.forwardRef)(function (props, ref) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[26]).useNavigation)();
    return _react.default.createElement(CardHtml5Video, (0, _extends2.default)({}, props, {
      ref: ref,
      navigation: navigation
    }));
  });

  exports.default = _default;
},2224,[5,6,7,8,15,12,14,16,17,28,201,460,1879,2049,2033,1964,2092,2039,572,699,462,1968,2030,2118,1894,719,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    header: {
      height: _$$_REQUIRE(_dependencyMap[1]).RSS_HEADER_HEIGHT,
      fontSize: 18,
      paddingHorizontal: 45,
      textAlign: "center",
      paddingVertical: 10
    }
  });

  exports.styles = styles;
},2225,[28,2039]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.MyHomeBadge = MyHomeBadge;
  exports.MyHomeConfigButton = MyHomeConfigButton;
  exports.RssMyHomeScreen = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _DatabaseHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _RssContentHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _LiveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _navigationUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[17]));

  var _buttonComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _hintComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _hintKeys = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  function MyHomeBadge(props) {
    var style = props.style;

    var _global$getUserSettin = global.getUserSettings(),
        selectedMyHomeCategories = _global$getUserSettin.selectedMyHomeCategories;

    return _react.default.createElement(_fontText.default, {
      numberOfLines: 1,
      style: style || _$$_REQUIRE(_dependencyMap[21]).styles.badgeText
    }, selectedMyHomeCategories ? selectedMyHomeCategories.length : 0);
  }

  function MyHomeConfigButton(props) {
    var parentStyle = props.parentStyle,
        iconStyle = props.iconStyle,
        badgeStyle = props.badgeStyle,
        onPress = props.onPress;
    return _react.default.createElement(_reactNative.View, {
      style: [_$$_REQUIRE(_dependencyMap[21]).styles.buttonContainer, parentStyle]
    }, _react.default.createElement(_buttonComponent.default, {
      onPress: onPress
    }, _react.default.createElement(_reactNative.View, null, _react.default.createElement(_iconComponent.default, {
      type: _iconComponent.TecnaviaIconType.FONT_AWESOME_5,
      name: "cog",
      style: iconStyle,
      size: 24
    }), _react.default.createElement(MyHomeBadge, {
      style: badgeStyle
    }))));
  }

  var RssMyHomeScreen = function (_RssBaseScreen) {
    (0, _inherits2.default)(RssMyHomeScreen, _RssBaseScreen);

    var _super = _createSuper(RssMyHomeScreen);

    function RssMyHomeScreen(props) {
      (0, _classCallCheck2.default)(this, RssMyHomeScreen);
      return _super.call(this, props, {
        config: false
      });
    }

    (0, _createClass2.default)(RssMyHomeScreen, [{
      key: "didFocus",
      value: function didFocus() {
        return _regenerator.default.async(function didFocus$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                (0, _get2.default)((0, _getPrototypeOf2.default)(RssMyHomeScreen.prototype), "didFocus", this).call(this);
                _context.next = 3;
                return _regenerator.default.awrap(_DatabaseHelper.default.rssContentDatabaseExists());

              case 3:
                if (!_context.sent) {
                  _context.next = 6;
                  break;
                }

                _context.next = 6;
                return _regenerator.default.awrap(this._retrieveData());

              case 6:
                _context.next = 8;
                return _regenerator.default.awrap(this._manageDatabase({
                  forceUpdate: _LiveConfig.default.isRssStartingUp() || _LiveConfig.default.isRssDbDeleted()
                }));

              case 8:
                _LiveConfig.default.setRssDbDeleted(false);

              case 9:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "willBlur",
      value: function willBlur() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(RssMyHomeScreen.prototype), "willBlur", this).call(this);

        _$$_REQUIRE(_dependencyMap[22]).EventRegister.rm(this.onRssConfigListener);
      }
    }, {
      key: "handleBackButton",
      value: function handleBackButton() {
        var config = this.state.config;

        var _global$getUserSettin2 = global.getUserSettings(),
            selectedMyHomeCategories = _global$getUserSettin2.selectedMyHomeCategories;

        if (config && selectedMyHomeCategories && selectedMyHomeCategories.length > 0) {
          this.setState({
            config: false,
            loading: true
          });

          this._retrieveData();

          return true;
        }

        return (0, _get2.default)((0, _getPrototypeOf2.default)(RssMyHomeScreen.prototype), "handleBackButton", this).call(this);
      }
    }, {
      key: "onRefresh",
      value: function onRefresh(toastPriority, hideRefresh) {
        return _regenerator.default.async(function onRefresh$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", this._manageDatabase({
                  forceUpdate: true,
                  hideRefresh: hideRefresh
                }));

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getRandomAdsPosition",
      value: function getRandomAdsPosition(pattern) {
        var randomOffset = Math.floor(Math.random() * pattern.offset + 1);
        var sign = Math.floor(Math.random() * 2) ? 1 : -1;
        var pos = pattern.after + randomOffset * sign;
        return pos;
      }
    }, {
      key: "updateAdsPositionByPattern",
      value: function updateAdsPositionByPattern(items, categoriesLength) {
        var item = this.props.item;

        var adsPattern = _navigationUtils.default.getAdsPatter(item);

        adsPattern.max *= categoriesLength;

        if (items && items.length) {
          var adsInList = [];
          var adsPosition = [];
          var i = 0;

          while (i < items.length) {
            if (items[i].isAdvertisement) {
              var removed = items.splice(i, 1)[0];

              if (adsInList.length < adsPattern.max) {
                adsInList.push(removed);

                if (adsPosition.length > 0) {
                  adsPosition.push(this.getRandomAdsPosition(adsPattern));
                } else {
                  adsPosition.push(adsPattern.first);
                }
              }
            } else {
              i += 1;
            }
          }

          if (adsInList.length) {
            if (adsInList.length < adsPattern.max) {
              for (i = adsInList.length; i < adsPattern.max; i++) {
                var adsFromAlreadyIn = Math.floor(Math.random() * adsInList.length);
                adsInList.push(adsInList[adsFromAlreadyIn]);
                adsPosition.push(this.getRandomAdsPosition(adsPattern));
              }
            }

            var position = 0;

            for (i = 0; i < adsInList.length; i++) {
              position += adsPosition[i];

              if (items.length >= position) {
                items.splice(position, 0, adsInList[i]);
                position += 1;
              }
            }
          }
        }

        return items;
      }
    }, {
      key: "_manageDatabase",
      value: function _manageDatabase(_ref) {
        var _ref$forceUpdate, forceUpdate, hideRefresh, item, drawerItemKey, result;

        return _regenerator.default.async(function _manageDatabase$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _ref$forceUpdate = _ref.forceUpdate, forceUpdate = _ref$forceUpdate === undefined ? false : _ref$forceUpdate, hideRefresh = _ref.hideRefresh;
                item = this.props.item;
                drawerItemKey = item.drawerItemKey;

                if (!forceUpdate) {
                  _context3.next = 10;
                  break;
                }

                _LiveConfig.default.setRssStartingUp(false);

                _context3.next = 7;
                return _regenerator.default.awrap(_DatabaseHelper.default.downloadRssContent(drawerItemKey, global.getUserSettings().appSubLayoutChanged, function () {}, hideRefresh));

              case 7:
                result = _context3.sent;

                if (result) {
                  this._displayToast(result.msg);
                }

                global.getUserSettings().storeNewSubLayout();

              case 10:
                _context3.next = 12;
                return _regenerator.default.awrap(!_DatabaseHelper.default.rssContentDatabaseExists());

              case 12:
                if (!_context3.sent) {
                  _context3.next = 17;
                  break;
                }

                _context3.next = 15;
                return _regenerator.default.awrap(this._handleForceExit());

              case 15:
                _context3.next = 19;
                break;

              case 17:
                _context3.next = 19;
                return _regenerator.default.awrap(this._retrieveData());

              case 19:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_retrieveData",
      value: function _retrieveData() {
        var items, myHomeCategoriesLength, _global$getUserSettin3, selectedMyHomeCategories;

        return _regenerator.default.async(function _retrieveData$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                items = [];
                _context4.prev = 1;
                myHomeCategoriesLength = 0;
                _global$getUserSettin3 = global.getUserSettings(), selectedMyHomeCategories = _global$getUserSettin3.selectedMyHomeCategories;

                if (selectedMyHomeCategories) {
                  myHomeCategoriesLength = selectedMyHomeCategories.length;
                }

                if (!(myHomeCategoriesLength === 0)) {
                  _context4.next = 9;
                  break;
                }

                this.setState({
                  loading: false,
                  config: true
                });
                _context4.next = 16;
                break;

              case 9:
                _context4.t0 = this;
                _context4.next = 12;
                return _regenerator.default.awrap(_RssContentHelper.default.getArticlesInMyHome(selectedMyHomeCategories));

              case 12:
                _context4.t1 = _context4.sent;
                _context4.t2 = myHomeCategoriesLength;
                items = _context4.t0.updateAdsPositionByPattern.call(_context4.t0, _context4.t1, _context4.t2);
                this.setState({
                  items: items,
                  loading: false,
                  config: false
                });

              case 16:
                _context4.next = 22;
                break;

              case 18:
                _context4.prev = 18;
                _context4.t3 = _context4["catch"](1);
                this.log(_context4.t3);
                this.setState({
                  loading: false,
                  error: true
                });

              case 22:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, [[1, 18]], Promise);
      }
    }, {
      key: "_getCategoryHeader",
      value: function _getCategoryHeader() {
        var _this = this;

        var settings = this.props.item;

        var _global$getRssIndex = global.getRssIndex(),
            supportColor = _global$getRssIndex.supportColor;

        var displayName = settings.displayName;

        var foregroundColor = _$$_REQUIRE(_dependencyMap[23]).ColorUtils.determineTextColor(supportColor);

        if (this._isCategoryNameVisible()) {
          return _react.default.createElement(_reactNative.View, {
            style: [_$$_REQUIRE(_dependencyMap[21]).styles.header, {
              backgroundColor: supportColor
            }]
          }, _react.default.createElement(_fontText.default, {
            style: [_$$_REQUIRE(_dependencyMap[21]).styles.category, {
              color: foregroundColor
            }]
          }, displayName), _react.default.createElement(MyHomeConfigButton, {
            iconStyle: {
              color: foregroundColor
            },
            onPress: function onPress() {
              _this.setState({
                config: true
              });
            }
          }));
        }

        return null;
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "Live News My Home";
      }
    }, {
      key: "_render",
      value: function _render() {
        var _this2 = this;

        var _this$props = this.props,
            width = _this$props.width,
            navigation = _this$props.navigation;
        var _this$props$item = this.props.item,
            displayName = _this$props$item.displayName,
            drawerItemKey = _this$props$item.drawerItemKey;
        var config = this.state.config;
        return _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1,
            justifyContent: "flex-end"
          }
        }, config ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).FooterContext.Consumer, null, function (_ref2) {
          var height = _ref2.height;
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[25]).RssMyHomeConfig, {
            onClose: function onClose() {
              _this2.handleBackButton();
            },
            category: drawerItemKey,
            style: {
              paddingBottom: height,
              width: width
            }
          });
        }) : null, config ? null : _react.default.createElement(_react.default.Fragment, null, !this._isCategoryNameVisible() ? _react.default.createElement(_hintComponent.default, {
          config: _hintKeys.default.myHomeScreenConfig({
            label: displayName
          }),
          iconProps: {
            type: _iconComponent.TecnaviaIconType.MATERIAL_COMMUNITY_ICONS,
            name: "information"
          },
          onActionPress: function onActionPress() {
            if (global.getMainPSetup().showNativeSettingsScreen) {
              navigation.navigate("GeneralSettingsScreen", {
                epaperLabel: (0, _$$_REQUIRE(_dependencyMap[26]).getEpaperLabel)(),
                module: _$$_REQUIRE(_dependencyMap[27]).GeneralSettingsModules.RSS
              });
            } else {
              navigation.navigate("SettingsScreen", {
                epaperLabel: (0, _$$_REQUIRE(_dependencyMap[26]).getEpaperLabel)()
              });
            }
          }
        }) : null, this._getComponent()));
      }
    }]);
    return RssMyHomeScreen;
  }(_$$_REQUIRE(_dependencyMap[28]).RssBaseScreen);

  exports.RssMyHomeScreen = RssMyHomeScreen;
  RssMyHomeScreen.propTypes = (0, _extends2.default)({
    item: _propTypes.default.object
  }, _$$_REQUIRE(_dependencyMap[28]).RssBaseScreen.propTypes);
},2226,[5,80,6,7,8,90,12,14,16,17,28,201,2216,2207,1872,1879,2045,1806,2202,2004,2002,2227,572,462,2084,2228,2046,2232,2218]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    header: {
      height: _$$_REQUIRE(_dependencyMap[1]).RSS_HEADER_HEIGHT,
      paddingHorizontal: 45,
      justifyContent: "center"
    },
    category: {
      fontSize: 18,
      textAlign: "center",
      textAlignVertical: "center",
      justifyContent: "center",
      alignContent: "center"
    },
    buttonContainer: {
      height: _$$_REQUIRE(_dependencyMap[1]).RSS_HEADER_HEIGHT,
      right: 0,
      top: 0,
      bottom: 0,
      position: "absolute",
      marginVertical: 4,
      marginRight: 8,
      justifyContent: "center"
    },
    badgeText: {
      color: _$$_REQUIRE(_dependencyMap[2]).colors.white,
      backgroundColor: _$$_REQUIRE(_dependencyMap[2]).colors.red,
      position: "absolute",
      transform: [{
        scaleX: 0.7
      }, {
        scaleY: 0.6
      }],
      top: -10,
      right: -10,
      borderRadius: 50,
      padding: 3
    }
  });

  exports.styles = styles;
},2227,[28,2039,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2228,[2229]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.RssMyHomeConfig = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _defineProperty2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[12]);

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _rssMyHomeConfigComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[14]));

  var _RssIndexConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _RssContentHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _imageComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[17]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[18]));

  var _buttonComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _checkboxComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _IndexHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _blurImageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[23]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  function mergeDbCategoriesWithDrawerItems(dbCategories, drawerItemsFlat) {
    var sections, populatedSections, i;
    return _regenerator.default.async(function mergeDbCategoriesWithDrawerItems$(_context2) {
      while (1) {
        switch (_context2.prev = _context2.next) {
          case 0:
            sections = [];
            populatedSections = 0;
            i = 0;

          case 3:
            if (!(i < drawerItemsFlat.length)) {
              _context2.next = 14;
              break;
            }

            _context2.prev = 4;
            _context2.next = 7;
            return _regenerator.default.awrap(function _callee() {
              var _IndexHelper$SP$value, feed, section, drawerItem, feedElements, prevSection, parentKey, fallbackImage, fallbackImageExtra, nextDrawerItem, hasChildren, dbCat, _section, image, imageSize, newItem;

              return _regenerator.default.async(function _callee$(_context) {
                while (1) {
                  switch (_context.prev = _context.next) {
                    case 0:
                      _IndexHelper$SP$value = _IndexHelper.default.SP.values.drawer.type, feed = _IndexHelper$SP$value.feed, section = _IndexHelper$SP$value.section;
                      drawerItem = drawerItemsFlat[i];

                      if (!(drawerItem.type === section)) {
                        _context.next = 6;
                        break;
                      }

                      if (drawerItem.elements.length > 0) {
                        feedElements = drawerItem.elements.filter(function (element) {
                          var object = {};

                          if (Array.isArray(element)) {
                            element.forEach(function (setting) {
                              object[setting[0]] = setting[1];
                            });
                          } else {
                            object = (0, _extends2.default)({}, element);

                            if (object.type === feed && Array.isArray(object.params) && object.params.length > 0) {
                              object.params = object.params[0];
                            }
                          }

                          return object.type === feed && dbCategories.find(function (x) {
                            return x.name === object.params;
                          }) || object.type === section;
                        });

                        if (feedElements.length > 0) {
                          prevSection = sections[sections.length - 1];

                          if (prevSection && prevSection.data.length) {
                            populatedSections += 1;
                          }

                          if (prevSection && drawerItem.depth > 0) {
                            if (drawerItem.depth > prevSection.depth) {
                              parentKey = prevSection.title;
                            } else if (drawerItem.depth === prevSection.depth) {
                              parentKey = prevSection.parentKey;
                            }
                          }

                          sections.push({
                            title: drawerItem.drawerItemKey,
                            data: [],
                            depth: drawerItem.depth,
                            hasChildren: true,
                            parentKey: parentKey,
                            itemKey: drawerItem.drawerItemKey
                          });
                        }
                      }

                      _context.next = 19;
                      break;

                    case 6:
                      if (!(drawerItem.type === _IndexHelper.default.SP.values.drawer.type.feed)) {
                        _context.next = 19;
                        break;
                      }

                      fallbackImageExtra = (0, _$$_REQUIRE(_dependencyMap[24]).parseExtra)(drawerItem, "myHomeFallbackImageURL");

                      if (fallbackImageExtra && fallbackImageExtra.length > 0) {
                        fallbackImage = fallbackImageExtra[1];
                      }

                      nextDrawerItem = drawerItemsFlat[i + 1];
                      hasChildren = nextDrawerItem && nextDrawerItem.type === _IndexHelper.default.SP.values.drawer.type.feed && nextDrawerItem.parent === drawerItem.drawerItemKey && nextDrawerItem.depth > drawerItem.depth;
                      dbCat = dbCategories.find(function (x) {
                        return x.name === drawerItem.drawerItemKey;
                      });
                      _section = sections[sections.length - 1];
                      image = dbCat.image || fallbackImage;
                      _context.next = 16;
                      return _regenerator.default.awrap((0, _imageComponent.getImageSize)(image));

                    case 16:
                      imageSize = _context.sent;
                      newItem = {
                        itemKey: dbCat.name,
                        parentKey: drawerItem.parent,
                        hasChildren: hasChildren,
                        isNested: _section.title !== drawerItem.parent,
                        articlesCount: dbCat.count,
                        image: image,
                        imageSize: imageSize,
                        depth: drawerItem.depth
                      };

                      if (drawerItem.depth > _section.depth) {
                        _section.data.push(newItem);
                      } else {
                        newItem.isNested = false;
                        newItem.depth += 1;
                        sections.push({
                          title: drawerItem.drawerItemKey,
                          data: [newItem],
                          depth: drawerItem.depth,
                          hasChildren: true,
                          itemKey: drawerItem.drawerItemKey
                        });
                      }

                    case 19:
                    case "end":
                      return _context.stop();
                  }
                }
              }, null, null, null, Promise);
            }());

          case 7:
            _context2.next = 11;
            break;

          case 9:
            _context2.prev = 9;
            _context2.t0 = _context2["catch"](4);

          case 11:
            i++;
            _context2.next = 3;
            break;

          case 14:
            return _context2.abrupt("return", {
              sections: sections,
              populatedSections: populatedSections
            });

          case 15:
          case "end":
            return _context2.stop();
        }
      }
    }, null, null, [[4, 9]], Promise);
  }

  function isSelected(itemKey) {
    var result = false;

    var _global$getUserSettin = global.getUserSettings(),
        selectedMyHomeCategories = _global$getUserSettin.selectedMyHomeCategories;

    if (selectedMyHomeCategories && selectedMyHomeCategories.length > 0) {
      result = selectedMyHomeCategories.findIndex(function (x) {
        return x === itemKey;
      }) > -1;
    }

    return result;
  }

  function getTotalSelectedArticles(sections) {
    var totalArticles = 0;
    sections.forEach(function (_ref) {
      var data = _ref.data;
      data.forEach(function (object) {
        var articlesCount = object.articlesCount,
            itemKey = object.itemKey;

        if (isSelected(itemKey)) {
          totalArticles += articlesCount;
        }
      });
    });
    return totalArticles;
  }

  var RssMyHomeConfig = function (_React$Component) {
    (0, _inherits2.default)(RssMyHomeConfig, _React$Component);

    var _super = _createSuper(RssMyHomeConfig);

    function RssMyHomeConfig(props) {
      var _this;

      (0, _classCallCheck2.default)(this, RssMyHomeConfig);
      _this = _super.call(this, props);
      _this.state = {
        loading: true
      };
      return _this;
    }

    (0, _createClass2.default)(RssMyHomeConfig, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _global$getRssIndex, drawerItemsFlat, _await$mergeDbCategor, sections, populatedSections, totalArticles;

        return _regenerator.default.async(function componentDidMount$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _global$getRssIndex = global.getRssIndex(), drawerItemsFlat = _global$getRssIndex.drawerItemsFlat;
                _context3.t0 = _regenerator.default;
                _context3.t1 = mergeDbCategoriesWithDrawerItems;
                _context3.next = 5;
                return _regenerator.default.awrap(_RssContentHelper.default.getMyHomeCategoryContent());

              case 5:
                _context3.t2 = _context3.sent;
                _context3.t3 = drawerItemsFlat;
                _context3.t4 = (0, _context3.t1)(_context3.t2, _context3.t3);
                _context3.next = 10;
                return _context3.t0.awrap.call(_context3.t0, _context3.t4);

              case 10:
                _await$mergeDbCategor = _context3.sent;
                sections = _await$mergeDbCategor.sections;
                populatedSections = _await$mergeDbCategor.populatedSections;
                totalArticles = getTotalSelectedArticles(sections);
                this.setState((0, _extends2.default)({
                  loading: false,
                  sections: sections,
                  populatedSections: populatedSections,
                  totalArticles: totalArticles
                }, sections.reduce(function (prev, current) {
                  prev[current.itemKey] = false;
                  return prev;
                }, {})));

              case 15:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_getText",
      value: function _getText() {
        var category = this.props.category;
        var totalArticles = this.state.totalArticles;
        var result;

        var _global$getUserSettin2 = global.getUserSettings(),
            selectedMyHomeCategories = _global$getUserSettin2.selectedMyHomeCategories;

        if (selectedMyHomeCategories && selectedMyHomeCategories.length > 0) {
          result = global.strings("my_home_categories_selected", {
            categories: selectedMyHomeCategories.length,
            articles: totalArticles
          });
        } else {
          result = global.strings("select_my_home_categories", {
            category: (0, _$$_REQUIRE(_dependencyMap[25]).getCategoryLabel)(category)
          });
        }

        return result;
      }
    }, {
      key: "_onPress",
      value: function _onPress(_ref2) {
        var itemKey = _ref2.itemKey;
        var sections = this.state.sections;

        if (isSelected(itemKey)) {
          sections.forEach(function (_ref3) {
            var data = _ref3.data;
            data.forEach(function (category) {
              if (itemKey === category.itemKey || itemKey === category.parentKey) {
                global.getUserSettings().removeSelectedMyHomeCategory(category.itemKey);
              }
            });
          });
        } else {
          sections.forEach(function (_ref4) {
            var data = _ref4.data;
            data.forEach(function (category) {
              if (itemKey === category.itemKey || itemKey === category.parentKey) {
                global.getUserSettings().addSelectedMyHomeCategory(category.itemKey);
              }
            });
          });
        }

        var totalArticles = getTotalSelectedArticles(sections);
        this.setState({
          totalArticles: totalArticles
        });
      }
    }, {
      key: "_isCollapsed",
      value: function _isCollapsed(key) {
        var state = this.state;
        return typeof state[key] === "undefined" ? true : state[key];
      }
    }, {
      key: "_isParentSectionCollapsed",
      value: function _isParentSectionCollapsed(section) {
        return section && section.parentKey && this._isCollapsed(section.parentKey);
      }
    }, {
      key: "_showChild",
      value: function _showChild(item) {
        return !this._isCollapsed(item.parentKey);
      }
    }, {
      key: "_getListItem",
      value: function _getListItem(item) {
        var _this2 = this;

        var result;

        if (item.isNested) {
          if (!this._isCollapsed(item.parentKey)) {
            result = this._getListItemChild(item);
          }
        } else {
          result = this._getListItemParent(item);
        }

        return result ? _react.default.createElement(_reactNative.TouchableWithoutFeedback, {
          onPress: function onPress() {
            return _this2._onPress(item);
          }
        }, _react.default.createElement(_reactNative.View, null, result)) : null;
      }
    }, {
      key: "_getChevron",
      value: function _getChevron(item) {
        var _this3 = this;

        if (!item.hasChildren) {
          return null;
        }

        var collapsed = this._isCollapsed(item.itemKey);

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[26]).Css, {
          classes: ["my-home-config-chevron"]
        }, _react.default.createElement(_buttonComponent.default, {
          transparent: true,
          bordered: false,
          large: true,
          style: _rssMyHomeConfigComponent.default.chevron,
          onPress: function onPress() {
            _this3.setState((0, _defineProperty2.default)({}, item.itemKey, !collapsed));
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[26]).Css, {
          classes: ["my-home-config-chevron-icon"]
        }, _react.default.createElement(_iconComponent.default, {
          name: collapsed ? "chevron-down" : "chevron-up",
          type: _iconComponent.TecnaviaIconType.MATERIAL_COMMUNITY_ICONS,
          style: _rssMyHomeConfigComponent.default.chevronIcon
        }))));
      }
    }, {
      key: "_hasChildrenSelected",
      value: function _hasChildrenSelected(item) {
        var sections = this.state.sections;

        if (item.hasChildren) {
          var children = [];
          sections.forEach(function (_ref5) {
            var data = _ref5.data;
            children.push.apply(children, (0, _toConsumableArray2.default)(data.filter(function (cat) {
              return cat.parentKey === item.itemKey && cat.depth > item.depth;
            })));
          });

          for (var i = 0; i < children.length; i++) {
            if (isSelected(children[i].itemKey) || this._hasChildrenSelected(children[i])) {
              return true;
            }
          }
        }

        return false;
      }
    }, {
      key: "_getListItemParent",
      value: function _getListItemParent(item) {
        var _this4 = this;

        var articlesCount = item.articlesCount,
            itemKey = item.itemKey,
            image = item.image,
            imageSize = item.imageSize;

        var _global$getRssIndex2 = global.getRssIndex(),
            supportColor = _global$getRssIndex2.supportColor;

        var checked = isSelected(itemKey);
        var filter = !checked && !this._hasChildrenSelected(item) ? _imageComponent.FILTER.GRAYSCALE : undefined;
        var defaultImageHeight = _$$_REQUIRE(_dependencyMap[27]).PlatformUtils.isTablet() ? _$$_REQUIRE(_dependencyMap[27]).PlatformUtils.isiPadPro12dot9() ? _rssMyHomeConfigComponent.IMAGE_HEIGHT_TABLET_LARGE : _rssMyHomeConfigComponent.IMAGE_HEIGHT_TABLET : _rssMyHomeConfigComponent.IMAGE_HEIGHT_PHONE;
        var imageStyle = [_rssMyHomeConfigComponent.default.image, {
          height: defaultImageHeight
        }, _$$_REQUIRE(_dependencyMap[26]).Css.getStyleObjByCssClasses(["my-home-config-image", "my-home-config-line-parent-image"])];
        var ImageComponent;

        if (imageSize.width > imageSize.height) {
          var imageHeight = _$$_REQUIRE(_dependencyMap[27]).CssUtils.getAttributeFromStyle("height", imageStyle, defaultImageHeight);

          var scale = _deviceUtils.default.getSafeAreaWidth() / (imageSize.width * imageHeight / imageSize.height);
          var translateY = imageHeight * ((scale - 1) / 2 - 0.3333333333333333);
          imageStyle.push({
            transform: [{
              translateY: translateY
            }, {
              scale: scale
            }]
          });
          ImageComponent = _react.default.createElement(_imageComponent.default, {
            filter: filter,
            style: imageStyle,
            resizeMethod: "scale",
            resizeMode: "contain",
            source: {
              uri: image
            }
          });
        } else {
          ImageComponent = _react.default.createElement(_blurImageComponent.default, {
            image: image,
            style: imageStyle,
            filter: filter
          });
        }

        return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[26]).Css, {
          classes: ["my-home-config-line-parent"]
        }, _react.default.createElement(_reactNative.View, {
          style: _rssMyHomeConfigComponent.default.view
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[26]).Css, {
          classes: ["my-home-config-line-parent-overlay"]
        }, _react.default.createElement(_reactNative.View, {
          style: _rssMyHomeConfigComponent.default.overlay
        })), ImageComponent, _react.default.createElement(_$$_REQUIRE(_dependencyMap[26]).Css, {
          classes: ["my-home-config-line-parent-content"]
        }, _react.default.createElement(_reactNative.View, {
          style: _rssMyHomeConfigComponent.default.content
        }, _react.default.createElement(_reactNative.View, {
          style: _rssMyHomeConfigComponent.default.text
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[26]).Css, {
          classes: ["my-home-config-line-parent-title"]
        }, _react.default.createElement(_fontText.default, {
          allowFontScaling: true,
          adjustsFontSizeToFit: true,
          numberOfLines: 1,
          style: _rssMyHomeConfigComponent.default.category
        }, (0, _$$_REQUIRE(_dependencyMap[25]).getCategoryLabel)(itemKey))), _react.default.createElement(_$$_REQUIRE(_dependencyMap[26]).Css, {
          classes: ["my-home-config-line-parent-counter"]
        }, _react.default.createElement(_fontText.default, {
          allowFontScaling: true,
          adjustsFontSizeToFit: true,
          numberOfLines: 1,
          style: _rssMyHomeConfigComponent.default.articles
        }, global.strings("article_count", {
          count: articlesCount
        })))), _react.default.createElement(_checkboxComponent.default, {
          style: _rssMyHomeConfigComponent.default.checkbox,
          checked: checked,
          checkedStyle: {
            borderColor: supportColor,
            backgroundColor: supportColor
          },
          checkStyle: {
            color: _$$_REQUIRE(_dependencyMap[27]).ColorUtils.determineTextColor(supportColor)
          },
          onPress: function onPress() {
            return _this4._onPress(item);
          }
        }))), this._getChevron(item))), this.renderSeparator());
      }
    }, {
      key: "_getListItemChild",
      value: function _getListItemChild(item) {
        var _this5 = this;

        var articlesCount = item.articlesCount,
            itemKey = item.itemKey;

        var _global$getRssIndex3 = global.getRssIndex(),
            menuBackgroundColor = _global$getRssIndex3.menuBackgroundColor,
            supportColor = _global$getRssIndex3.supportColor;

        var checked = isSelected(itemKey);
        return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[26]).Css, {
          classes: ["my-home-config-line-child"]
        }, _react.default.createElement(_reactNative.View, {
          style: [_rssMyHomeConfigComponent.default.childView, {
            backgroundColor: checked ? supportColor : menuBackgroundColor
          }]
        }, _react.default.createElement(_reactNative.View, {
          style: _rssMyHomeConfigComponent.default.childContent
        }, _react.default.createElement(_reactNative.View, null, _react.default.createElement(_checkboxComponent.default, {
          checked: checked,
          uncheckedStyle: {
            backgroundColor: _$$_REQUIRE(_dependencyMap[27]).colors.transparent,
            borderColor: _$$_REQUIRE(_dependencyMap[27]).colors.black
          },
          checkedStyle: {
            borderColor: _$$_REQUIRE(_dependencyMap[27]).colors.white,
            backgroundColor: supportColor
          },
          checkStyle: {
            color: _$$_REQUIRE(_dependencyMap[27]).ColorUtils.determineTextColor(supportColor)
          },
          onPress: function onPress() {
            return _this5._onPress(item);
          }
        })), _react.default.createElement(_reactNative.View, {
          style: _rssMyHomeConfigComponent.default.childText
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[26]).Css, {
          classes: ["my-home-config-line-child-text"]
        }, _react.default.createElement(_fontText.default, {
          allowFontScaling: true,
          adjustsFontSizeToFit: true,
          numberOfLines: 1,
          style: [_rssMyHomeConfigComponent.default.childCategory, {
            color: _$$_REQUIRE(_dependencyMap[27]).ColorUtils.determineTextColor(checked ? supportColor : menuBackgroundColor)
          }]
        }, (0, _$$_REQUIRE(_dependencyMap[25]).getCategoryLabel)(itemKey))), _react.default.createElement(_$$_REQUIRE(_dependencyMap[26]).Css, {
          classes: ["my-home-config-line-child-counter"]
        }, _react.default.createElement(_fontText.default, {
          allowFontScaling: true,
          adjustsFontSizeToFit: true,
          numberOfLines: 1,
          style: [_rssMyHomeConfigComponent.default.childArticles, {
            color: checked ? _$$_REQUIRE(_dependencyMap[27]).colors.white : _$$_REQUIRE(_dependencyMap[27]).colors.black
          }]
        }, global.strings("article_count", {
          count: articlesCount
        }))))))), this.renderSeparator());
      }
    }, {
      key: "_getDarknessBackground",
      value: function _getDarknessBackground(item, menuBackgroundColor) {
        var darkPercentageDecrease = item.depth ? Math.min(100, item.depth * 15) : 0;
        return _$$_REQUIRE(_dependencyMap[27]).ColorUtils.applyDarknessToHex(menuBackgroundColor, darkPercentageDecrease);
      }
    }, {
      key: "renderSeparator",
      value: function renderSeparator() {
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[26]).Css, {
          classes: ["my-home-config-separator"]
        }, _react.default.createElement(_reactNative.View, {
          style: _rssMyHomeConfigComponent.default.listSeparator
        }));
      }
    }, {
      key: "render",
      value: function render() {
        var _this6 = this;

        var _this$props = this.props,
            showAlwaysOnClose = _this$props.showAlwaysOnClose,
            onClose = _this$props.onClose,
            closeText = _this$props.closeText,
            style = _this$props.style,
            listStyle = _this$props.listStyle;
        var _this$state = this.state,
            loading = _this$state.loading,
            sections = _this$state.sections,
            populatedSections = _this$state.populatedSections;
        var firstLevelSections = sections ? sections.filter(function (section) {
          return section.depth === 0;
        }) : [];

        var _global$getRssIndex4 = global.getRssIndex(),
            supportColor = _global$getRssIndex4.supportColor;

        var _global$getUserSettin3 = global.getUserSettings(),
            selectedMyHomeCategories = _global$getUserSettin3.selectedMyHomeCategories;

        if (loading || !sections) {
          return null;
        }

        return _react.default.createElement(_reactNative.View, {
          style: [_rssMyHomeConfigComponent.default.container, style]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[26]).Css, {
          classes: ["my-home-config-header"]
        }, _react.default.createElement(_reactNative.View, {
          style: [_rssMyHomeConfigComponent.default.line, _rssMyHomeConfigComponent.default.headerParent]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[26]).Css, {
          classes: ["my-home-config-header-text"]
        }, _react.default.createElement(_fontText.default, {
          style: [_rssMyHomeConfigComponent.default.lineText, _rssMyHomeConfigComponent.default.header]
        }, this._getText())))), _react.default.createElement(_$$_REQUIRE(_dependencyMap[28]).TecnaviaSectionList, {
          sections: sections,
          stickySectionHeadersEnabled: true,
          keyExtractor: function keyExtractor(item, index) {
            return "my_home_config_item_" + index;
          },
          renderItem: function renderItem(_ref6) {
            var item = _ref6.item,
                section = _ref6.section;

            if (!_this6._isParentSectionCollapsed(section) && !_this6._isCollapsed(section.itemKey)) {
              return _this6._getListItem(item);
            }

            return null;
          },
          renderSectionHeader: function renderSectionHeader(_ref7) {
            var section = _ref7.section;

            if (populatedSections > 1 && !_this6._isParentSectionCollapsed(section) && (section.depth === 0 && firstLevelSections.length > 1 || section.depth > 0)) {
              var backgroundColor = _this6._getDarknessBackground(section, supportColor);

              return _react.default.createElement(_$$_REQUIRE(_dependencyMap[26]).Css, {
                classes: ["my-home-config-section"]
              }, _react.default.createElement(_reactNative.View, {
                style: [_rssMyHomeConfigComponent.default.line, {
                  backgroundColor: backgroundColor
                }]
              }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[26]).Css, {
                classes: ["my-home-config-section-text"]
              }, _react.default.createElement(_fontText.default, {
                style: [_rssMyHomeConfigComponent.default.lineText, _rssMyHomeConfigComponent.default.section, {
                  color: _$$_REQUIRE(_dependencyMap[27]).ColorUtils.determineTextColor(backgroundColor),
                  textTransform: "uppercase"
                }]
              }, (0, _$$_REQUIRE(_dependencyMap[25]).getCategoryLabel)(section.title))), _this6._getChevron(section)));
            }

            return null;
          },
          extraData: this.state,
          contentContainerStyle: listStyle
        }), showAlwaysOnClose || selectedMyHomeCategories && selectedMyHomeCategories.length > 0 ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[26]).Css, {
          classes: ["my-home-config-footer"]
        }, _react.default.createElement(_reactNative.TouchableOpacity, {
          style: [_rssMyHomeConfigComponent.default.line, _rssMyHomeConfigComponent.default.footer, {
            backgroundColor: supportColor
          }],
          onPress: function onPress() {
            if (onClose) {
              onClose();
            }
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[26]).Css, {
          classes: ["my-home-config-footer-text"]
        }, _react.default.createElement(_fontText.default, {
          style: [_rssMyHomeConfigComponent.default.lineText, _rssMyHomeConfigComponent.default.section, {
            color: _$$_REQUIRE(_dependencyMap[27]).ColorUtils.determineTextColor(supportColor)
          }]
        }, closeText ? closeText : global.strings("btn_go_to_news"))))) : null);
      }
    }]);
    return RssMyHomeConfig;
  }(_react.default.Component);

  exports.RssMyHomeConfig = RssMyHomeConfig;
  RssMyHomeConfig.propTypes = {
    category: _propTypes.default.string,
    closeText: _propTypes.default.string,
    showAlwaysOnClose: _propTypes.default.bool,
    onClose: _propTypes.default.func,
    style: _propTypes.default.any,
    listStyle: _propTypes.default.any
  };
  RssMyHomeConfig.defaultProps = {
    showAlwaysOnClose: false
  };
},2229,[5,80,21,27,7,8,12,14,16,6,17,201,28,1879,2230,2044,2207,588,1806,2202,2231,1963,458,2050,2046,2051,699,462,1910]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.IMAGE_HEIGHT_PHONE = exports.IMAGE_HEIGHT_TABLET = exports.IMAGE_HEIGHT_TABLET_LARGE = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var MAIN_FONT_SIZE = 30;
  var SUB_FONT_SIZE = 16;
  var FONT_SIZE = 18;
  var IMAGE_HEIGHT_TABLET_LARGE = 250;
  exports.IMAGE_HEIGHT_TABLET_LARGE = IMAGE_HEIGHT_TABLET_LARGE;
  var IMAGE_HEIGHT_TABLET = 210;
  exports.IMAGE_HEIGHT_TABLET = IMAGE_HEIGHT_TABLET;
  var IMAGE_HEIGHT_PHONE = 140;
  exports.IMAGE_HEIGHT_PHONE = IMAGE_HEIGHT_PHONE;

  var _default = _reactNative.StyleSheet.create({
    container: {
      flex: 1,
      flexDirection: "column",
      justifyContent: "space-evenly",
      backgroundColor: "white"
    },
    line: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white,
      justifyContent: "center",
      minHeight: _$$_REQUIRE(_dependencyMap[2]).RSS_HEADER_HEIGHT,
      paddingHorizontal: 10,
      paddingVertical: 10
    },
    lineText: {
      color: _$$_REQUIRE(_dependencyMap[1]).colors.grey400,
      fontSize: SUB_FONT_SIZE
    },
    section: {
      fontSize: FONT_SIZE
    },
    headerParent: {
      alignItems: "center"
    },
    header: {
      textAlign: "center"
    },
    footer: {
      height: _$$_REQUIRE(_dependencyMap[2]).RSS_HEADER_HEIGHT,
      alignItems: "center"
    },
    listSeparator: {
      height: 1,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white
    },
    image: {
      zIndex: 0
    },
    overlay: {
      position: "absolute",
      left: 0,
      top: 0,
      bottom: 0,
      right: 0,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.transparent1200,
      zIndex: 1
    },
    content: {
      flex: 1,
      flexDirection: "row",
      position: "absolute",
      alignItems: "center",
      zIndex: 2
    },
    text: {
      flex: 3,
      flexDirection: "column",
      alignContent: "center",
      justifyContent: "center"
    },
    checkbox: {
      start: 0,
      position: "absolute",
      width: 30,
      height: 30
    },
    parentCategory: {
      color: _$$_REQUIRE(_dependencyMap[1]).colors.white,
      textAlign: "center",
      fontSize: FONT_SIZE,
      textShadowRadius: 5,
      textShadowColor: _$$_REQUIRE(_dependencyMap[1]).colors.textShadow
    },
    category: {
      color: _$$_REQUIRE(_dependencyMap[1]).colors.white,
      textAlign: "center",
      fontSize: MAIN_FONT_SIZE,
      textShadowRadius: 5,
      textShadowColor: _$$_REQUIRE(_dependencyMap[1]).colors.textShadow
    },
    articles: {
      color: _$$_REQUIRE(_dependencyMap[1]).colors.white,
      textAlign: "center",
      fontSize: FONT_SIZE,
      textShadowRadius: 5,
      textShadowColor: _$$_REQUIRE(_dependencyMap[1]).colors.textShadow
    },
    view: {
      flex: 1,
      justifyContent: "center",
      alignContent: "center",
      overflow: "hidden"
    },
    childView: {
      flex: 1,
      justifyContent: "center",
      alignContent: "center",
      paddingVertical: 16,
      paddingLeft: 16,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.grey
    },
    childContent: {
      flex: 1,
      flexDirection: "row",
      justifyContent: "space-between"
    },
    childCheckBox: {
      borderRadius: 10,
      borderColor: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.transparent
    },
    childCheckBoxChecked: {
      borderRadius: 10,
      borderColor: _$$_REQUIRE(_dependencyMap[1]).colors.white,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white
    },
    childText: {
      flex: 1,
      flexDirection: "row",
      alignItems: "center",
      justifyContent: "space-between"
    },
    childCategory: {
      flex: 1,
      color: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      fontSize: SUB_FONT_SIZE,
      textAlign: "center"
    },
    childArticles: {
      flex: 1,
      color: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      fontSize: FONT_SIZE,
      textAlign: "center"
    },
    chevron: {
      zIndex: 5,
      position: "absolute",
      right: 0,
      justifyContent: "center",
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.transparent,
      paddingHorizontal: 0
    },
    chevronIcon: {
      fontSize: 40,
      color: "white"
    }
  });

  exports.default = _default;
},2230,[28,462,2039]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var styles = _reactNative.StyleSheet.create({
    checkBox: {
      width: 40,
      height: 40,
      borderRadius: 40,
      borderWidth: 0.3,
      margin: 5,
      justifyContent: "center",
      alignItems: "center",
      borderColor: _$$_REQUIRE(_dependencyMap[5]).colors.black
    },
    checkBoxChecked: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[5]).colors.black
    },
    checkBoxUnchecked: {
      borderColor: _$$_REQUIRE(_dependencyMap[5]).colors.white
    },
    check: {
      fontSize: 15,
      color: _$$_REQUIRE(_dependencyMap[5]).colors.white
    }
  });

  var TecnaviaCheckBox = function TecnaviaCheckBox(props) {
    var checked = props.checked,
        onPress = props.onPress,
        checkClass = props.checkClass,
        checkedClass = props.checkedClass,
        uncheckedClass = props.uncheckedClass,
        style = props.style,
        checkedStyle = props.checkedStyle,
        uncheckedStyle = props.uncheckedStyle,
        checkStyle = props.checkStyle;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).Css, {
      classes: ["checkbox", checked ? "checkbox-checked" : "checkbox-unchecked", checked ? checkedClass : uncheckedClass]
    }, _react.default.createElement(_reactNative.TouchableOpacity, {
      onPress: onPress,
      style: [styles.checkBox, checked ? styles.checkBoxChecked : styles.checkBoxUnchecked, style, checked ? checkedStyle : uncheckedStyle]
    }, checked ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).Css, {
      classes: ["checkbox-check", checkClass]
    }, _react.default.createElement(_iconComponent.default, {
      style: [styles.check, checkStyle],
      name: "check",
      type: _iconComponent.TecnaviaIconType.FONT_AWESOME
    })) : null));
  };

  TecnaviaCheckBox.propTypes = {
    checkClass: _propTypes.default.string,
    checkedClass: _propTypes.default.string,
    uncheckedClass: _propTypes.default.string,
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array]),
    checkedStyle: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array]),
    uncheckedStyle: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array]),
    checkStyle: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array]),
    checked: _propTypes.default.bool,
    onPress: _propTypes.default.func
  };
  TecnaviaCheckBox.defaultProps = {
    checkClass: "",
    checkedClass: "",
    uncheckedClass: ""
  };
  var _default = TecnaviaCheckBox;
  exports.default = _default;
},2231,[5,17,201,28,1806,462,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.GeneralSettingsScreen = exports.GeneralSettingsModules = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _settingHeader = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[12]));

  var _rssBaseStyle = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[13]));

  var _settingsRssManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _settingsNewsmemoryManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _settingsManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _settingsNewsmemoryAdvanceManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _settingsOthers = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var GeneralSettingsModules = {
    RSS: 1,
    EPAPER: 2
  };
  exports.GeneralSettingsModules = GeneralSettingsModules;

  var GeneralSettingsScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(GeneralSettingsScreen, _NavigationBaseScreen);

    var _super = _createSuper(GeneralSettingsScreen);

    function GeneralSettingsScreen(props) {
      var _this;

      (0, _classCallCheck2.default)(this, GeneralSettingsScreen);
      _this = _super.call(this, props);
      _this.prevNewsmemoryConfig = {};
      _this.state = {
        sections: []
      };
      _this.onNavigation = _this._onNavigation.bind((0, _assertThisInitialized2.default)(_this));
      var labels = {
        startup: _this._getStartupLabel(),
        ePaper: _this._getEpaperLabel(),
        rss: _this._getRssLabel()
      };
      _this.updateUI = _this._updateUI.bind((0, _assertThisInitialized2.default)(_this));
      _this.settingsMgr = new _settingsManager.default(_this.onNavigation, labels);

      _this._setMgrCollpasable(_this.settingsMgr, false);

      _this.othersMgr = new _settingsOthers.default(_this.onNavigation, labels);

      _this._setMgrCollpasable(_this.othersMgr, false, false);

      _this.rssSettingsMgr = new _settingsRssManager.default(_this.onNavigation, labels);

      _this._setMgrCollpasable(_this.rssSettingsMgr, false);

      _this.newsmemorySettingsMgr = new _settingsNewsmemoryManager.default(_this.onNavigation, labels);

      _this._setMgrCollpasable(_this.newsmemorySettingsMgr, false);

      _this.advanceNewsmemorySettingsMgr = new _settingsNewsmemoryAdvanceManager.default(_this.onNavigation, labels);

      _this._setMgrCollpasable(_this.advanceNewsmemorySettingsMgr, true);

      return _this;
    }

    (0, _createClass2.default)(GeneralSettingsScreen, [{
      key: "_onNavigation",
      value: function _onNavigation(route, params) {
        var navigation = this.props.navigation;

        if (navigation && route) {
          if (route === "back") {
            navigation.goBack();
          } else {
            navigation.navigate(route, params);
          }
        }
      }
    }, {
      key: "_setMgrCollpasable",
      value: function _setMgrCollpasable(mgr, state) {
        var collapsable = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
        mgr.setCollapsed(state);
        mgr.setCollapsable(collapsable);
        mgr.setUpdateUICallback(this.updateUI);
      }
    }, {
      key: "_updateUI",
      value: function _updateUI() {
        _reactNative.LayoutAnimation.configureNext(_reactNative.LayoutAnimation.Presets.easeInEaseOut);

        this.forceUpdate();
      }
    }, {
      key: "didFocus",
      value: function didFocus() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(GeneralSettingsScreen.prototype), "didFocus", this).call(this);
        (0, _extends2.default)(this.prevNewsmemoryConfig, global.getNewsmemoryConfig());
      }
    }, {
      key: "willBlur",
      value: function willBlur() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(GeneralSettingsScreen.prototype), "willBlur", this).call(this);

        if (this.prevNewsmemoryConfig && !_$$_REQUIRE(_dependencyMap[21]).JSUtils.equals(this.prevNewsmemoryConfig, global.getNewsmemoryConfig())) {
          _$$_REQUIRE(_dependencyMap[22]).EventRegister.emit(_events.default.NEWSMEMORY_CONFIG_CHANGE, {
            previousConfig: this.prevNewsmemoryConfig
          });
        }
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "Settings";
      }
    }, {
      key: "handleBackButton",
      value: function handleBackButton() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(GeneralSettingsScreen.prototype), "handleBackButton", this).call(this);
        this.props.navigation.pop();
        return true;
      }
    }, {
      key: "_renderSeparator",
      value: function _renderSeparator() {
        return null;
      }
    }, {
      key: "_renderSeparatorHeaderBottom",
      value: function _renderSeparatorHeaderBottom() {
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[23]).Css, {
          classes: ["settings-header-separator"]
        }, _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[24]).styles.separator
        }));
      }
    }, {
      key: "_getRssLabel",
      value: function _getRssLabel() {
        return global.strings("settings_startup_rss");
      }
    }, {
      key: "_getEpaperLabel",
      value: function _getEpaperLabel() {
        var params = (0, _$$_REQUIRE(_dependencyMap[25]).getNavigationParams)(this.props);
        return params.epaperLabel || global.strings("settings_startup_epaper");
      }
    }, {
      key: "_getStartupLabel",
      value: function _getStartupLabel() {
        var _global$getRSSActiveP = global.getRSSActivePSetup(),
            appModeSelectionPageEnabled = _global$getRSSActiveP.appModeSelectionPageEnabled;

        var _global$getUserSettin = global.getUserSettings(),
            userDefinedStartupMode = _global$getUserSettin.userDefinedStartupMode,
            startInRss = _global$getUserSettin.startInRss;

        if (appModeSelectionPageEnabled && _$$_REQUIRE(_dependencyMap[21]).JSUtils.isNull(userDefinedStartupMode)) {
          return global.strings("settings_startup_choose");
        }

        if (startInRss) {
          return this._getRssLabel();
        }

        return this._getEpaperLabel();
      }
    }, {
      key: "_getSections",
      value: function _getSections() {
        var _getNavigationParams = (0, _$$_REQUIRE(_dependencyMap[25]).getNavigationParams)(this.props),
            module = _getNavigationParams.module;

        var sections = [];

        if (module === GeneralSettingsModules.EPAPER) {
          sections.push(this.newsmemorySettingsMgr.getSettings());
          sections.push(this.advanceNewsmemorySettingsMgr.getSettings());
        }

        if (module === GeneralSettingsModules.RSS) {
          sections.push(this.rssSettingsMgr.getSettings());
        }

        sections.push(this.settingsMgr.getSettings());
        sections.push(this.othersMgr.getSettings());
        return sections.map(function (section) {
          section.data.filter(function (item) {
            return item !== undefined;
          });
          return section;
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var sections = this._getSections();

        var backgroundColor = _$$_REQUIRE(_dependencyMap[23]).Css.getDefaultBackgroundColor();

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[23]).Css, {
          classes: ["settings-screen"]
        }, _react.default.createElement(_reactNative.View, {
          style: [_$$_REQUIRE(_dependencyMap[24]).styles.root, {
            paddingHorizontal: (0, _rssBaseStyle.getRssHorizontalpadding)()
          }]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[23]).Css, {
          classes: ["settings-parent"]
        }, _react.default.createElement(_reactNative.View, {
          style: [_rssBaseStyle.default.shadow, {
            flex: 1,
            backgroundColor: _$$_REQUIRE(_dependencyMap[21]).PlatformUtils.isIOS() ? _$$_REQUIRE(_dependencyMap[21]).colors.transparent : backgroundColor
          }]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[23]).Css, {
          classes: ["settings-list"]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[26]).TecnaviaSectionList, {
          sections: sections,
          keyExtractor: function keyExtractor(item, index) {
            return "_item_" + index;
          },
          stickySectionHeadersEnabled: true,
          style: {
            backgroundColor: backgroundColor
          },
          renderItem: function renderItem(_ref) {
            var item = _ref.item;
            return item;
          },
          ItemSeparatorComponent: this._renderSeparator,
          renderSectionHeader: function renderSectionHeader(_ref2) {
            var _ref2$section = _ref2.section,
                label = _ref2$section.label,
                collapsable = _ref2$section.collapsable,
                collapsed = _ref2$section.collapsed,
                collapse = _ref2$section.collapse;

            if (!label) {
              return null;
            }

            var onPress = function onPress() {
              if (typeof collapse === "function") {
                collapse(!collapsed);
              }
            };

            return label ? _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_reactNative.View, {
              style: [_$$_REQUIRE(_dependencyMap[24]).styles.headerParent, {
                backgroundColor: backgroundColor
              }]
            }, collapsable ? _react.default.createElement(_settingHeader.SettingHeaderAccordion, {
              collapsed: collapsed,
              onPress: onPress
            }) : null, _react.default.createElement(_reactNative.View, {
              style: {
                flex: 1
              }
            }, _react.default.createElement(_settingHeader.default, {
              label: label,
              onPress: onPress
            }))), _this2._renderSeparatorHeaderBottom()) : null;
          }
        }))))));
      }
    }]);
    return GeneralSettingsScreen;
  }(_$$_REQUIRE(_dependencyMap[25]).NavigationBaseScreen);

  exports.GeneralSettingsScreen = GeneralSettingsScreen;
  GeneralSettingsScreen.propTypes = {
    navigation: _propTypes.default.shape({
      navigate: _propTypes.default.func.isRequired
    }).isRequired
  };
},2232,[5,6,7,8,15,90,12,14,16,17,28,201,2233,2039,2235,2241,2250,460,1859,2253,2255,462,572,699,2234,2148,1910]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.SettingClose = exports.SettingHeaderAccordion = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var SettingClose = function SettingClose(props) {
    var onPress = props.onPress;

    var backgroundColor = _$$_REQUIRE(_dependencyMap[6]).Css.getDefaultBackgroundColor();

    var color = _$$_REQUIRE(_dependencyMap[6]).Css.getDefaultForegroundColor();

    return _react.default.createElement(_reactNative.TouchableOpacity, {
      onPress: onPress,
      style: [_$$_REQUIRE(_dependencyMap[7]).styles.headerAccordionParent, {
        backgroundColor: backgroundColor
      }]
    }, _react.default.createElement(_iconComponent.default, {
      style: [_$$_REQUIRE(_dependencyMap[7]).styles.headerAccordion, {
        color: color
      }],
      name: "close",
      type: _iconComponent.TecnaviaIconType.MATERIAL_COMMUNITY_ICONS
    }));
  };

  exports.SettingClose = SettingClose;
  SettingClose.propTypes = {
    onPress: _propTypes.default.func.isRequired
  };

  var SettingHeaderAccordion = function SettingHeaderAccordion(props) {
    var collapsed = props.collapsed,
        onPress = props.onPress;

    var backgroundColor = _$$_REQUIRE(_dependencyMap[6]).Css.getDefaultBackgroundColor();

    var color = _$$_REQUIRE(_dependencyMap[6]).Css.getDefaultForegroundColor();

    return _react.default.createElement(_reactNative.TouchableOpacity, {
      onPress: onPress,
      style: [_$$_REQUIRE(_dependencyMap[7]).styles.headerAccordionParent, {
        backgroundColor: backgroundColor
      }]
    }, _react.default.createElement(_iconComponent.default, {
      style: [_$$_REQUIRE(_dependencyMap[7]).styles.headerAccordion, {
        color: color
      }],
      name: !collapsed ? "chevron-up" : "chevron-down",
      type: _iconComponent.TecnaviaIconType.MATERIAL_COMMUNITY_ICONS
    }));
  };

  exports.SettingHeaderAccordion = SettingHeaderAccordion;
  SettingHeaderAccordion.propTypes = {
    collapsed: _propTypes.default.bool,
    onPress: _propTypes.default.func.isRequired
  };

  var SettingHeader = function SettingHeader(props) {
    var label = props.label,
        onPress = props.onPress;
    var Parent = typeof onPress === "function" ? _reactNative.TouchableOpacity : _reactNative.View;

    var backgroundColor = _$$_REQUIRE(_dependencyMap[6]).Css.getDefaultBackgroundColor();

    var color = _$$_REQUIRE(_dependencyMap[6]).Css.getDefaultForegroundColor();

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).Css, {
      classes: ["settings-header-parent"]
    }, _react.default.createElement(Parent, {
      style: [_$$_REQUIRE(_dependencyMap[7]).styles.rowHeader, {
        backgroundColor: backgroundColor
      }],
      onPress: onPress
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).Css, {
      classes: ["settings-header-text"]
    }, _react.default.createElement(_fontText.default, {
      type: _fontText.Type.bold,
      style: [_$$_REQUIRE(_dependencyMap[7]).styles.headerText, {
        color: color
      }]
    }, label.toUpperCase()))));
  };

  SettingHeader.propTypes = {
    label: _propTypes.default.string.isRequired,
    onPress: _propTypes.default.func
  };
  var _default = SettingHeader;
  exports.default = _default;
},2233,[5,17,201,28,1879,1806,699,2234]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = exports.ROW_HEIGHT = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var ROW_HEIGHT = 40;
  exports.ROW_HEIGHT = ROW_HEIGHT;
  var TITLE_HEIGHT = 30;
  var ROW_PADDING = 10;

  var styles = _reactNative.StyleSheet.create({
    root: {
      flex: 1
    },
    separator: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.grey,
      height: 1
    },
    separatorHeaderTop: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.grey,
      height: 5
    },
    row: {
      minHeight: ROW_HEIGHT,
      flexDirection: "row",
      padding: ROW_PADDING
    },
    rowSlider: {
      minHeight: ROW_HEIGHT,
      flexDirection: "column",
      padding: ROW_PADDING
    },
    sliderTextParent: {
      flex: 1,
      flexDirection: "row",
      justifyContent: "space-between"
    },
    headerParent: {
      flexDirection: "row",
      alignItems: "center"
    },
    headerAccordionParent: {
      height: ROW_HEIGHT,
      width: ROW_HEIGHT,
      justifyContent: "center",
      alignItems: "center",
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white
    },
    headerAccordion: {
      color: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      fontSize: 30
    },
    rowHeader: {
      minHeight: ROW_HEIGHT,
      justifyContent: "center",
      padding: ROW_PADDING,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white
    },
    textParent: {
      flex: 1,
      flexDirection: "column",
      justifyContent: "center",
      paddingEnd: ROW_PADDING
    },
    headerText: {
      fontSize: 20,
      color: _$$_REQUIRE(_dependencyMap[1]).colors.black
    },
    title: {
      minHeight: TITLE_HEIGHT,
      fontSize: 16
    },
    value: {
      minHeight: -10,
      fontSize: 12,
      textAlign: "left",
      color: _$$_REQUIRE(_dependencyMap[1]).colors.grey400
    },
    buttonParent: {
      justifyContent: "center"
    },
    btn: {
      width: 110,
      height: 10,
      borderWidth: 2,
      justifyContent: "center",
      alignItems: "center"
    },
    input: {
      height: 40,
      marginTop: 5,
      borderColor: _$$_REQUIRE(_dependencyMap[1]).colors.grey,
      borderWidth: 1
    },
    debugButton: {
      height: 40,
      marginTop: 5,
      borderColor: _$$_REQUIRE(_dependencyMap[1]).colors.grey,
      borderWidth: 1,
      justifyContent: "center",
      alignItems: "center"
    },
    modal: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white
    },
    hidden: {
      fontSize: 12,
      color: _$$_REQUIRE(_dependencyMap[1]).colors.grey400
    },
    log: {
      height: 40,
      marginTop: 5,
      justifyContent: "center"
    }
  });

  exports.styles = styles;
},2234,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _LiveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _RssContentHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _settingButton = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _settingMyHome = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _settingsBaseManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SettingsRssManager = function (_SettingsBaseManager) {
    (0, _inherits2.default)(SettingsRssManager, _SettingsBaseManager);

    var _super = _createSuper(SettingsRssManager);

    function SettingsRssManager(onNavigation, labels) {
      var _this;

      (0, _classCallCheck2.default)(this, SettingsRssManager);
      _this = _super.call(this, onNavigation, labels);
      _this.toggleLayout = _this._toggleLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.clearFavorites = _this._clearFavorites.bind((0, _assertThisInitialized2.default)(_this));
      _this.clearCache = _this._clearCache.bind((0, _assertThisInitialized2.default)(_this));
      _this.clearDatabase = _this._clearDatabase.bind((0, _assertThisInitialized2.default)(_this));
      _this.showTutorial = _this._showTutorial.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(SettingsRssManager, [{
      key: "_retrieveCacheSize",
      value: function _retrieveCacheSize() {
        var cacheSize;
        return _regenerator.default.async(function _retrieveCacheSize$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.getCacheSize());

              case 2:
                cacheSize = _context.sent;
                return _context.abrupt("return", _$$_REQUIRE(_dependencyMap[16]).StringUtils.sizeToString(cacheSize));

              case 4:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "_retrieveFavorites",
      value: function _retrieveFavorites() {
        var favoritesConfig = global.getRssFavoritesConfig();
        return favoritesConfig.getCount();
      }
    }, {
      key: "_toggleLayout",
      value: function _toggleLayout() {
        return global.getUserSettings().toggleLayout().text;
      }
    }, {
      key: "_clearFavorites",
      value: function _clearFavorites() {
        try {
          var favoritesConfig = global.getRssFavoritesConfig();
          favoritesConfig.clearFavorites();
        } catch (err) {
          this._displayToast(global.strings("err_clear_favorites"));
        }

        return this._retrieveFavorites();
      }
    }, {
      key: "_clearCache",
      value: function _clearCache() {
        return _regenerator.default.async(function _clearCache$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.prev = 0;
                _context2.next = 3;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.clearCache());

              case 3:
                _context2.next = 8;
                break;

              case 5:
                _context2.prev = 5;
                _context2.t0 = _context2["catch"](0);

                this._displayToast(global.strings("err_clear_cache"));

              case 8:
                return _context2.abrupt("return", this._retrieveCacheSize());

              case 9:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, [[0, 5]], Promise);
      }
    }, {
      key: "_clearDatabase",
      value: function _clearDatabase() {
        return _regenerator.default.async(function _clearDatabase$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _context3.prev = 0;
                _context3.next = 3;
                return _regenerator.default.awrap(_RssContentHelper.default.deleteDatabase());

              case 3:
                _LiveConfig.default.setRssDbDeleted(true);

                this._displayToast(global.strings("database_deleted"));

                _context3.next = 10;
                break;

              case 7:
                _context3.prev = 7;
                _context3.t0 = _context3["catch"](0);

                this._displayToast(global.strings("err_clear_database"));

              case 10:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, [[0, 7]], Promise);
      }
    }, {
      key: "_showTutorial",
      value: function _showTutorial() {
        this.onNavigation("TutorialScreen", {
          goBack: true
        });
      }
    }, {
      key: "getSettings",
      value: function getSettings() {
        var rss = this.labels.rss;
        var rssIndexConfig = global.getRssIndex();
        var tutorials = rssIndexConfig.tutorials;
        var showToggleLayout = rssIndexConfig.needToShowLayoutButton();
        var myHomeLabel = (0, _$$_REQUIRE(_dependencyMap[17]).getMyHomeLabel)();
        return (0, _extends2.default)({
          label: rss
        }, this.getCollapsedParams(), {
          data: this.isCollapsed() ? [] : [showToggleLayout ? _react.default.createElement(_settingButton.default, {
            label: global.strings("layout"),
            value: global.getUserSettings().layout.text,
            button: global.strings("toggle"),
            onChange: this.toggleLayout
          }) : null, myHomeLabel ? _react.default.createElement(_settingMyHome.default, {
            label: myHomeLabel,
            button: global.strings("change")
          }) : null, _react.default.createElement(_settingButton.default, {
            label: global.strings("favorites"),
            button: global.strings("clear"),
            value: this._retrieveFavorites(),
            onChange: this.clearFavorites,
            alert: {
              title: global.strings("msg_clear_favorites"),
              message: global.strings("alert_message")
            }
          }), _react.default.createElement(_settingButton.default, {
            label: global.strings("cache_size"),
            button: global.strings("clear"),
            value: this._retrieveCacheSize,
            onChange: this.clearCache,
            alert: {
              title: global.strings("msg_clear_cache"),
              message: global.strings("alert_message")
            }
          }), _react.default.createElement(_settingButton.default, {
            label: global.strings("database"),
            button: global.strings("clear"),
            onChange: this.clearDatabase,
            alert: {
              title: global.strings("msg_database_deleted"),
              message: global.strings("alert_message")
            }
          }), !_$$_REQUIRE(_dependencyMap[16]).JSUtils.isEmpty(tutorials) ? _react.default.createElement(_settingButton.default, {
            label: global.strings("tutorial"),
            button: global.strings("show"),
            onChange: this.showTutorial
          }) : null]
        });
      }
    }]);
    return SettingsRssManager;
  }(_settingsBaseManager.default);

  exports.default = SettingsRssManager;
},2235,[5,80,6,7,8,15,12,14,16,17,1872,2207,574,2236,2239,2240,462,2046]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _setting = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SettingButton = function (_React$Component) {
    (0, _inherits2.default)(SettingButton, _React$Component);

    var _super = _createSuper(SettingButton);

    function SettingButton(props) {
      var _this;

      (0, _classCallCheck2.default)(this, SettingButton);
      _this = _super.call(this, props);
      _this.state = {
        value: typeof props.value === "function" ? global.strings("loading") : props.value
      };
      _this.onChange = _this._onChange.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(SettingButton, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var value;
        return _regenerator.default.async(function componentDidMount$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                value = this.props.value;

                if (!(typeof value === "function")) {
                  _context.next = 8;
                  break;
                }

                _context.t0 = this;
                _context.next = 5;
                return _regenerator.default.awrap(value());

              case 5:
                _context.t1 = _context.sent;
                _context.t2 = {
                  value: _context.t1
                };

                _context.t0.setState.call(_context.t0, _context.t2);

              case 8:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_onChange",
      value: function _onChange() {
        var onChange, value;
        return _regenerator.default.async(function _onChange$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                onChange = this.props.onChange;

                if (!(typeof onChange === "function")) {
                  _context2.next = 6;
                  break;
                }

                _context2.next = 4;
                return _regenerator.default.awrap(onChange());

              case 4:
                value = _context2.sent;
                this.setState({
                  value: value
                });

              case 6:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_renderAlert",
      value: function _renderAlert(title, message) {
        _reactNative.Alert.alert(title, message, [{
          text: global.strings("btn_cancel"),
          onPress: function onPress() {},
          style: "cancel"
        }, {
          text: global.strings("btn_ok"),
          onPress: this.onChange
        }], {
          cancelable: false
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props = this.props,
            label = _this$props.label,
            button = _this$props.button,
            alert = _this$props.alert;
        var value = this.state.value;
        return _react.default.createElement(_setting.default, {
          label: label,
          value: value,
          onPress: alert ? function () {
            return _this2._renderAlert(alert.title, alert.message);
          } : this.onChange,
          buttonText: button
        });
      }
    }]);
    return SettingButton;
  }(_react.default.Component);

  exports.default = SettingButton;
  SettingButton.propTypes = {
    label: _propTypes.default.string.isRequired,
    value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.func]),
    button: _propTypes.default.string,
    alert: _propTypes.default.shape({
      title: _propTypes.default.string,
      message: _propTypes.default.string
    }),
    onChange: _propTypes.default.func.isRequired
  };
},2236,[5,80,7,8,15,12,14,16,17,201,28,2237]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getSupportColor = getSupportColor;
  exports.getRadius = getRadius;
  exports.default = exports.Value = exports.Text = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function getSupportColor() {
    var supportColor;
    var rssIndexConfig = global.getRssIndex();

    if (rssIndexConfig) {
      supportColor = rssIndexConfig.supportColor;
    }

    var baseStyle = _$$_REQUIRE(_dependencyMap[8]).Css.getStyleObjByCssClasses(["setting-base-style"]);

    return baseStyle.color || supportColor || _$$_REQUIRE(_dependencyMap[8]).Css.getDefaultForegroundColor();
  }

  function getRadius() {
    var borderRadius;
    var rssIndexConfig = global.getRssIndex();

    if (rssIndexConfig) {
      borderRadius = rssIndexConfig.borderRadius;
    }

    var baseStyle = _$$_REQUIRE(_dependencyMap[8]).Css.getStyleObjByCssClasses(["setting-base-style"]);

    return baseStyle.borderRadius || borderRadius || 0;
  }

  var Value = function Value(props) {
    var value = props.value,
        _props$cssProps = props.cssProps,
        cssProps = _props$cssProps === undefined ? {} : _props$cssProps,
        rest = (0, _objectWithoutProperties2.default)(props, ["value", "cssProps"]);
    return value ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, (0, _extends2.default)({
      classes: ["setting-text-value"]
    }, cssProps), _react.default.createElement(_fontText.default, (0, _extends2.default)({
      numberOfLines: 1,
      style: _$$_REQUIRE(_dependencyMap[9]).styles.value
    }, rest), value)) : null;
  };

  exports.Value = Value;
  Value.propTypes = {
    value: _propTypes.default.any,
    cssProps: _propTypes.default.object
  };

  var Text = function Text(props) {
    var label = props.label,
        _props$cssProps2 = props.cssProps,
        cssProps = _props$cssProps2 === undefined ? {} : _props$cssProps2,
        rest = (0, _objectWithoutProperties2.default)(props, ["label", "cssProps"]);

    var color = _$$_REQUIRE(_dependencyMap[8]).Css.getDefaultForegroundColor();

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, (0, _extends2.default)({
      classes: ["setting-text-label"]
    }, cssProps), _react.default.createElement(_fontText.default, (0, _extends2.default)({
      style: [_$$_REQUIRE(_dependencyMap[9]).styles.title, {
        color: color
      }]
    }, rest), label));
  };

  exports.Text = Text;
  Text.propTypes = {
    label: _propTypes.default.string,
    cssProps: _propTypes.default.object
  };

  var Setting = function Setting(props) {
    var imageProps = props.imageProps,
        label = props.label,
        value = props.value,
        onPress = props.onPress,
        buttonText = props.buttonText,
        children = props.children;

    var backgroundColor = _$$_REQUIRE(_dependencyMap[8]).Css.getDefaultBackgroundColor();

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["setting-line"]
    }, _react.default.createElement(_reactNative.View, {
      style: [_$$_REQUIRE(_dependencyMap[9]).styles.row, {
        backgroundColor: backgroundColor
      }]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["setting-icon-parent"]
    }, _react.default.createElement(_reactNative.View, {
      style: {
        alignSelf: "center"
      }
    }, imageProps ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["setting-icon"]
    }, _react.default.createElement(_imageIconChooserComponent.default, imageProps)) : null)), _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["setting-text-parent"]
    }, _react.default.createElement(_reactNative.View, {
      style: _$$_REQUIRE(_dependencyMap[9]).styles.textParent
    }, _react.default.createElement(Text, {
      label: label
    }), _react.default.createElement(Value, {
      value: value
    }))), _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["setting-button-parent"]
    }, _react.default.createElement(_reactNative.View, {
      style: _$$_REQUIRE(_dependencyMap[9]).styles.buttonParent
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["setting-button"]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Circle.Button, {
      onPress: onPress
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["setting-button-text"]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Circle.Text, null, buttonText)))))), children));
  };

  Setting.propTypes = {
    imageProps: _propTypes.default.object,
    label: _propTypes.default.string.isRequired,
    value: _propTypes.default.string,
    onPress: _propTypes.default.func.isRequired,
    buttonText: _propTypes.default.string.isRequired,
    children: _propTypes.default.any
  };
  Setting.defaultProps = {
    value: ""
  };
  var _default = Setting;
  exports.default = _default;
},2237,[5,6,108,17,201,28,1879,1970,699,2238,2202]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = exports.ROW_HEIGHT = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var ROW_HEIGHT = 70;
  exports.ROW_HEIGHT = ROW_HEIGHT;
  var TITLE_HEIGHT = 30;
  var ROW_PADDING = 10;

  var styles = _reactNative.StyleSheet.create({
    root: {
      flex: 1
    },
    separator: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.grey,
      height: 1
    },
    row: {
      minHeight: ROW_HEIGHT,
      flexDirection: "row",
      padding: ROW_PADDING,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white
    },
    textParent: {
      flex: 1,
      flexDirection: "column",
      justifyContent: "center",
      paddingEnd: ROW_PADDING
    },
    title: {
      fontSize: 18,
      color: _$$_REQUIRE(_dependencyMap[1]).colors.black
    },
    value: {
      minHeight: 20,
      fontSize: 14,
      textAlign: "left",
      color: _$$_REQUIRE(_dependencyMap[1]).colors.grey400
    },
    buttonParent: {
      justifyContent: "center",
      width: 110
    },
    chkParent: {
      width: 110,
      alignItems: "center"
    },
    btn: {
      width: 110,
      height: 40,
      borderWidth: 0.3,
      borderColor: _$$_REQUIRE(_dependencyMap[1]).colors.transparent200,
      justifyContent: "center",
      alignItems: "center"
    },
    input: {
      height: 40,
      marginTop: 5,
      borderColor: _$$_REQUIRE(_dependencyMap[1]).colors.grey,
      borderWidth: 1
    },
    debugButton: {
      height: 40,
      marginTop: 5,
      borderColor: _$$_REQUIRE(_dependencyMap[1]).colors.grey,
      borderWidth: 1,
      justifyContent: "center",
      alignItems: "center"
    },
    hidden: {
      fontSize: 12,
      color: _$$_REQUIRE(_dependencyMap[1]).colors.grey400
    },
    log: {
      height: 40,
      marginTop: 5,
      justifyContent: "center"
    }
  });

  exports.styles = styles;
},2238,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _setting = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _modal = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var SettingMyHome = function SettingMyHome(props) {
    var label = props.label,
        button = props.button;

    var ref = _react.default.useRef();

    var show = function show() {
      return ref.current && ref.current.expand();
    };

    var hide = function hide() {
      return ref.current && ref.current.collapse();
    };

    return _react.default.createElement(_setting.default, {
      label: label,
      buttonText: button,
      onPress: show
    }, _react.default.createElement(_modal.default, {
      ref: ref,
      containerStyle: {
        paddingVertical: 0,
        paddingHorizontal: 0,
        flex: 1
      }
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[5]).RssMyHomeConfig, {
      showAlwaysOnClose: true,
      onClose: hide,
      closeText: global.strings("btn_close"),
      category: label,
      style: {
        paddingBottom: 0
      }
    })));
  };

  SettingMyHome.propTypes = {
    label: _propTypes.default.string.isRequired,
    button: _propTypes.default.string,
    alert: _propTypes.default.shape({
      title: _propTypes.default.string,
      message: _propTypes.default.string
    })
  };
  var _default = SettingMyHome;
  exports.default = _default;
},2239,[5,17,201,2237,1882,2228]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var SettingsBaseManager = function () {
    function SettingsBaseManager(onNavigation, labels) {
      (0, _classCallCheck2.default)(this, SettingsBaseManager);
      this.collapsable = false;
      this.collapsed = false;
      this.onNavigation = onNavigation;
      this.labels = labels;
      this.setCollapsed = this._setCollapsed.bind(this);
    }

    (0, _createClass2.default)(SettingsBaseManager, [{
      key: "setUpdateUICallback",
      value: function setUpdateUICallback(callback) {
        this.updateUICallback = callback;
      }
    }, {
      key: "setCollapsable",
      value: function setCollapsable(collapsable) {
        this.collapsable = collapsable;
      }
    }, {
      key: "isCollapsable",
      value: function isCollapsable() {
        return this.collapsable;
      }
    }, {
      key: "isCollapsed",
      value: function isCollapsed() {
        return this.collapsed;
      }
    }, {
      key: "_setCollapsed",
      value: function _setCollapsed(collapsed) {
        this.collapsed = collapsed;
        this.updateUI();
      }
    }, {
      key: "getCollapsedParams",
      value: function getCollapsedParams() {
        return {
          collapsed: this.isCollapsed(),
          collapsable: this.isCollapsable(),
          collapse: this.setCollapsed
        };
      }
    }, {
      key: "updateUI",
      value: function updateUI() {
        if (typeof this.updateUICallback === "function") {
          this.updateUICallback();
        }
      }
    }, {
      key: "_displayToast",
      value: function _displayToast(msg) {
        _$$_REQUIRE(_dependencyMap[3]).Toast.show(msg, {
          position: "top"
        });
      }
    }]);
    return SettingsBaseManager;
  }();

  exports.default = SettingsBaseManager;
},2240,[5,7,8,1889]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _TranslationManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _NewsmemoryHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _settingPicker = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _settingsBaseManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _settingCheckbox = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _GlobalConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var Analytics = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[18]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SettingsNewsmemoryManager = function (_SettingsBaseManager) {
    (0, _inherits2.default)(SettingsNewsmemoryManager, _SettingsBaseManager);

    var _super = _createSuper(SettingsNewsmemoryManager);

    function SettingsNewsmemoryManager() {
      (0, _classCallCheck2.default)(this, SettingsNewsmemoryManager);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(SettingsNewsmemoryManager, [{
      key: "getSettings",
      value: function getSettings() {
        var _this = this;

        var _global$getMainPSetup = global.getMainPSetup(),
            showTranslationCustomization = _global$getMainPSetup.showTranslationCustomization,
            showArticleColumnViewCustomization = _global$getMainPSetup.showArticleColumnViewCustomization,
            enableConnectivityOptions = _global$getMainPSetup.enableConnectivityOptions,
            enableGraphSizeCustomization = _global$getMainPSetup.enableGraphSizeCustomization,
            enableFontSizeCustomization = _global$getMainPSetup.enableFontSizeCustomization;

        var _global$getActivePSet = global.getActivePSetup(),
            pSetup = _global$getActivePSet.pSetup,
            machine = _global$getActivePSet.machine,
            changeFavoriteEdition = _global$getActivePSet.changeFavoriteEdition;

        var newsmemoryConfig = global.getNewsmemoryConfig();
        var ePaper = this.labels.ePaper;
        return (0, _extends2.default)({
          label: ePaper
        }, this.getCollapsedParams(), {
          data: this.isCollapsed() ? [] : [enableConnectivityOptions ? _react.default.createElement(_settingPicker.default, {
            label: global.strings("network"),
            value: "" + newsmemoryConfig.network,
            values: [{
              image: _$$_REQUIRE(_dependencyMap[19]),
              label: global.strings("connection_2"),
              text: global.strings("connection_2_description"),
              value: _$$_REQUIRE(_dependencyMap[20]).DownloadType.FULL
            }, {
              image: _$$_REQUIRE(_dependencyMap[21]),
              label: global.strings("connection_1"),
              text: global.strings("connection_1_description"),
              value: _$$_REQUIRE(_dependencyMap[20]).DownloadType.MID_AND_LOW
            }, {
              image: _$$_REQUIRE(_dependencyMap[22]),
              label: global.strings("connection_0"),
              text: global.strings("connection_0_description"),
              value: _$$_REQUIRE(_dependencyMap[20]).DownloadType.LOW_ONLY
            }],
            button: global.strings("change"),
            onChange: function onChange(value) {
              newsmemoryConfig.setValue(_NewsmemoryHelper.default.SP.keys.network, "" + value);
            }
          }) : null, showTranslationCustomization && newsmemoryConfig.translationsAvailable && newsmemoryConfig.translationsAvailable.length > 0 ? _react.default.createElement(_settingPicker.default, {
            label: global.strings("settings_translate"),
            value: newsmemoryConfig.currentTranslationLanguage || _NewsmemoryHelper.default.SP.values.no_translation,
            values: function values() {
              var translations = [{
                label: global.strings("disabled"),
                value: _NewsmemoryHelper.default.SP.values.translation_disabled
              }, {
                label: global.strings("settings_translate_original"),
                value: _NewsmemoryHelper.default.SP.values.no_translation
              }];
              newsmemoryConfig.translationsAvailable.forEach(function (translation) {
                translations.push({
                  imageProps: {
                    source: _TranslationManager.default.getTranslationBadgeIcon(translation.language),
                    style: {
                      borderRadius: 40,
                      borderWidth: 1,
                      borderColor: _$$_REQUIRE(_dependencyMap[23]).colors.black
                    }
                  },
                  label: translation.name,
                  value: translation.language
                });
              });
              return translations;
            },
            button: global.strings("change"),
            onChange: function onChange(value) {
              newsmemoryConfig.setValue(_NewsmemoryHelper.default.SP.keys.current_translation_language, value);
            }
          }) : null, enableFontSizeCustomization ? _react.default.createElement(_settingPicker.default, {
            label: global.strings("settings_font_size"),
            value: newsmemoryConfig.getFontSize(),
            values: [{
              value: 75,
              label: "x0.75 " + global.strings("font_small")
            }, {
              value: 85,
              label: "x0.85"
            }, {
              value: 100,
              label: "" + global.strings("font_normal")
            }, {
              value: 125,
              label: "x1.25"
            }, {
              value: 150,
              label: "x1.50"
            }, {
              value: 200,
              label: "x2.00"
            }, {
              value: 250,
              label: "x2.50 " + global.strings("font_large")
            }],
            button: global.strings("change"),
            onChange: function onChange(value) {
              newsmemoryConfig.setValue(_NewsmemoryHelper.default.SP.keys.font_size, value);
            }
          }) : null, enableGraphSizeCustomization ? _react.default.createElement(_settingPicker.default, {
            label: global.strings("settings_graph_size"),
            value: newsmemoryConfig.graphSize,
            values: [{
              value: 75,
              label: "x0.75 " + global.strings("font_small")
            }, {
              value: 85,
              label: "x0.85"
            }, {
              value: 100,
              label: "" + global.strings("font_normal")
            }, {
              value: 125,
              label: "x1.25"
            }, {
              value: 150,
              label: "x1.50"
            }, {
              value: 200,
              label: "x2.00"
            }, {
              value: 250,
              label: "x2.50 " + global.strings("font_large")
            }],
            button: global.strings("change"),
            onChange: function onChange(value) {
              newsmemoryConfig.setValue(_NewsmemoryHelper.default.SP.keys.graph_size, value);
            }
          }) : null, _react.default.createElement(_settingPicker.default, {
            label: global.strings("settings_number_stored_editions"),
            value: newsmemoryConfig.limit + 2,
            values: Array.from({
              length: 8
            }, function (item, index) {
              return {
                value: index + 3,
                label: "" + (index + 3)
              };
            }),
            button: global.strings("change"),
            onChange: function onChange(value) {
              newsmemoryConfig.setLimit(value - 2);
            }
          }), changeFavoriteEdition ? _react.default.createElement(_settingPicker.default, {
            label: global.strings("settings_favorite_edition"),
            value: newsmemoryConfig.favoriteEdition,
            values: function _callee() {
              var _await$API$get, data, result;

              return _regenerator.default.async(function _callee$(_context) {
                while (1) {
                  switch (_context.prev = _context.next) {
                    case 0:
                      _context.next = 2;
                      return _regenerator.default.awrap(_Api.default.get(_Api.default.baseUrl(machine), {}, {
                        pSetup: pSetup,
                        action: "allEditions"
                      }));

                    case 2:
                      _await$API$get = _context.sent;
                      data = _await$API$get.data;
                      result = [];

                      if (data.editionsDetails) {
                        result.push({
                          value: "",
                          label: global.strings("settings_favorite_edition_default_label")
                        });
                        data.editionsDetails.forEach(function (item) {
                          result.push({
                            value: item.val,
                            label: item.edition
                          });
                        });
                      }

                      return _context.abrupt("return", result);

                    case 7:
                    case "end":
                      return _context.stop();
                  }
                }
              }, null, null, null, Promise);
            },
            button: global.strings("change"),
            onChange: function _callee2(value) {
              var favEdiPSetup, _global$getActivePSet2, currentPSetup, _await$global$loadPSe, config;

              return _regenerator.default.async(function _callee2$(_context2) {
                while (1) {
                  switch (_context2.prev = _context2.next) {
                    case 0:
                      newsmemoryConfig.setValue(_NewsmemoryHelper.default.SP.keys.favorite_edition, value);
                      favEdiPSetup = value.split("|")[1];
                      _global$getActivePSet2 = global.getActivePSetup(), currentPSetup = _global$getActivePSet2.pSetup;
                      _context2.next = 5;
                      return _regenerator.default.awrap(global.loadPSetup(favEdiPSetup));

                    case 5:
                      _await$global$loadPSe = _context2.sent;
                      config = _await$global$loadPSe.config;

                      if (!config) {
                        _context2.next = 16;
                        break;
                      }

                      if (!(currentPSetup !== favEdiPSetup)) {
                        _context2.next = 12;
                        break;
                      }

                      _context2.next = 11;
                      return _regenerator.default.awrap(_GlobalConfig.default.initEpaperLayoutConfig(false));

                    case 11:
                      Analytics.updateAnalyticsClientList();

                    case 12:
                      _$$_REQUIRE(_dependencyMap[24]).EventRegister.emit(_events.default.NEWSMEMORY_DOWNLOAD_EDITION, {});

                      _this.onNavigation("back");

                      _context2.next = 16;
                      break;

                    case 16:
                    case "end":
                      return _context2.stop();
                  }
                }
              }, null, null, null, Promise);
            }
          }) : null, showArticleColumnViewCustomization && _$$_REQUIRE(_dependencyMap[23]).PlatformUtils.isTablet() ? _react.default.createElement(_settingCheckbox.default, {
            value: newsmemoryConfig.columnView > 0,
            label: global.strings("settings_enable_column_view"),
            onChange: function onChange() {
              var isChecked = newsmemoryConfig.columnView > 0;
              var newValue;

              if (isChecked) {
                newValue = 0;
              } else {
                var _global$getActivePSet3 = global.getActivePSetup(),
                    defaultColumnView = _global$getActivePSet3.columnView;

                if (defaultColumnView === 0) {
                  newValue = 1;
                } else {
                  newValue = defaultColumnView;
                }
              }

              newsmemoryConfig.setValue(_NewsmemoryHelper.default.SP.keys.column_view, "" + newValue);
              return newValue > 0;
            }
          }) : null]
        });
      }
    }]);
    return SettingsNewsmemoryManager;
  }(_settingsBaseManager.default);

  exports.default = SettingsNewsmemoryManager;
},2241,[5,80,6,7,8,12,14,16,17,1859,2178,1860,2242,2240,460,2246,431,2154,1871,2247,603,2248,2249,462,572]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _setting = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _dropDownList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var PickerStyles = _reactNative.StyleSheet.create({
    image: {
      width: 40,
      height: 40,
      marginRight: 10
    }
  });

  function SettingPicker(props) {
    var propValues = props.values,
        value = props.value,
        onChange = props.onChange,
        loadSelected = props.loadSelected,
        getSelectedText = props.getSelectedText,
        label = props.label,
        button = props.button,
        rest = (0, _objectWithoutProperties2.default)(props, ["values", "value", "onChange", "loadSelected", "getSelectedText", "label", "button"]);

    var _useState = (0, _react.useState)(true),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        loading = _useState2[0],
        setLoading = _useState2[1];

    var _useState3 = (0, _react.useState)(false),
        _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
        error = _useState4[0],
        setError = _useState4[1];

    var _useState5 = (0, _react.useState)([]),
        _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
        values = _useState6[0],
        setValues = _useState6[1];

    var _loadSelected = function _loadSelected() {
      if (typeof loadSelected === "function") {
        return loadSelected(values);
      }

      return values.findIndex(function (item) {
        return item.value === value;
      });
    };

    var _getSelectedText = function _getSelectedText(selected) {
      if (!selected) {
        return "";
      }

      if (typeof getSelectedText === "function") {
        return "" + getSelectedText(selected);
      }

      return "" + selected.label;
    };

    var _loadValues = function _callee() {
      var result;
      return _regenerator.default.async(function _callee$(_context) {
        while (1) {
          switch (_context.prev = _context.next) {
            case 0:
              if (!(typeof propValues === "function")) {
                _context.next = 13;
                break;
              }

              _context.prev = 1;
              _context.next = 4;
              return _regenerator.default.awrap(propValues());

            case 4:
              result = _context.sent;
              setValues(result);
              _context.next = 11;
              break;

            case 8:
              _context.prev = 8;
              _context.t0 = _context["catch"](1);
              setError(true);

            case 11:
              _context.next = 14;
              break;

            case 13:
              setValues(propValues);

            case 14:
              setLoading(false);

            case 15:
            case "end":
              return _context.stop();
          }
        }
      }, null, null, [[1, 8]], Promise);
    };

    (0, _react.useEffect)(function () {
      _loadValues();
    }, []);

    if (loading || error) {
      return null;
    }

    return _react.default.createElement(_dropDownList.default, (0, _extends2.default)({
      autoOpen: false,
      activeColor: (0, _setting.getSupportColor)(),
      options: values,
      selected: _loadSelected(),
      onClose: function onClose(selected) {
        return onChange && onChange(selected.value);
      }
    }, rest), function (_ref) {
      var selected = _ref.selected,
          expand = _ref.expand;
      return _react.default.createElement(_setting.default, {
        imageProps: selected && selected.image ? {
          source: selected.image,
          style: [PickerStyles.image]
        } : undefined,
        label: label,
        value: _getSelectedText(selected),
        buttonText: button,
        onPress: expand
      });
    });
  }

  SettingPicker.propTypes = {
    label: _propTypes.default.string.isRequired,
    value: _propTypes.default.any,
    values: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.array]).isRequired,
    button: _propTypes.default.string,
    alert: _propTypes.default.shape({
      title: _propTypes.default.string,
      message: _propTypes.default.string
    }),
    getSelectedText: _propTypes.default.func,
    loadSelected: _propTypes.default.func,
    onChange: _propTypes.default.func
  };
  var _default = SettingPicker;
  exports.default = _default;
},2242,[5,80,6,41,108,17,201,28,2237,2243]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _modal = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _dropDownOption = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var styles = _reactNative.StyleSheet.create({
    container: {
      overflow: "visible",
      alignItems: "center"
    },
    options: {
      padding: 10
    }
  });

  function initSelected(selected) {
    if (Array.isArray(selected)) {
      return selected;
    }

    if (selected > -1) {
      return [selected];
    }

    return [];
  }

  function DropDownList(props) {
    var style = props.style,
        textStyle = props.textStyle,
        defaultSelected = props.selected,
        options = props.options,
        onClose = props.onClose,
        multiChoice = props.multiChoice,
        activeColor = props.activeColor,
        autoOpen = props.autoOpen,
        children = props.children;

    var _useState = (0, _react.useState)(false),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        expanded = _useState2[0],
        setExpanded = _useState2[1];

    var _useState3 = (0, _react.useState)(initSelected(defaultSelected)),
        _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
        selected = _useState4[0],
        setSelected = _useState4[1];

    var modalRef = (0, _react.useRef)(null);

    var _isSelected = function _isSelected(index) {
      return selected.includes(index);
    };

    var _getSelected = function _getSelected() {
      if (multiChoice) {
        return options.filter(function (option, _i) {
          return _isSelected(_i);
        });
      }

      return options.filter(function (option, _i) {
        return _isSelected(_i);
      })[0];
    };

    var _select = function _select(index) {
      if (!multiChoice) {
        setSelected([index]);

        if (modalRef.current) {
          modalRef.current.collapse();
        }
      } else {
        if (_isSelected(index)) {
          setSelected(selected.filter(function (value) {
            return value !== index;
          }));
        } else {
          setSelected([].concat((0, _toConsumableArray2.default)(selected), [index]));
        }
      }
    };

    var _expand = function _expand() {
      if (modalRef.current) {
        modalRef.current.expand();
      }
    };

    var _collapse = function _collapse() {
      if (modalRef.current) {
        modalRef.current.collapse();
      }
    };

    var _cancel = function _cancel() {
      setSelected(initSelected(defaultSelected));
    };

    if (!options.length) {
      return null;
    }

    var _Css$arrayToObject = _$$_REQUIRE(_dependencyMap[8]).Css.arrayToObject(Array.isArray(style) ? style : [style]),
        _Css$arrayToObject$ba = _Css$arrayToObject.backgroundColor,
        backgroundColor = _Css$arrayToObject$ba === undefined ? _$$_REQUIRE(_dependencyMap[8]).Css.getDefaultBackgroundColor() : _Css$arrayToObject$ba;

    var _Css$arrayToObject2 = _$$_REQUIRE(_dependencyMap[8]).Css.arrayToObject(Array.isArray(textStyle) ? textStyle : [textStyle]),
        _Css$arrayToObject2$c = _Css$arrayToObject2.color,
        color = _Css$arrayToObject2$c === undefined ? _$$_REQUIRE(_dependencyMap[8]).Css.getDefaultForegroundColor() : _Css$arrayToObject2$c;

    var MainComponent = autoOpen ? _reactNative.TouchableOpacity : _reactNative.View;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["drop-down-container"]
    }, _react.default.createElement(MainComponent, {
      style: styles.container,
      onPress: function onPress() {
        return _expand();
      }
    }, typeof children === "function" ? children({
      selected: _getSelected(),
      expanded: expanded,
      expand: _expand,
      collapse: _collapse
    }) : children, _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["drop-down-options-container"]
    }, _react.default.createElement(_modal.default, {
      ref: modalRef,
      hasFooter: multiChoice,
      onCancel: _cancel,
      onStateChange: function onStateChange(isExpanded) {
        return setExpanded(isExpanded);
      },
      onHide: function onHide() {
        if (typeof onClose === "function") {
          onClose(_getSelected());
        }
      },
      backgroundColor: backgroundColor,
      foregroundColor: activeColor
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["drop-down-options"]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).TecnaviaFlatList, {
      style: styles.options,
      data: options,
      renderItem: function renderItem(_ref) {
        var option = _ref.item,
            index = _ref.index;
        return _react.default.createElement(_dropDownOption.default, {
          key: "drop_down_item_" + index,
          multiChoice: multiChoice,
          color: _isSelected(index) ? activeColor : color,
          option: option,
          selected: _isSelected(index),
          onPress: function onPress() {
            return _select(index);
          },
          textStyle: [textStyle, {
            color: color
          }]
        });
      }
    }))))));
  }

  DropDownList.propTypes = {
    multiChoice: _propTypes.default.bool,
    autoOpen: _propTypes.default.bool,
    activeColor: _propTypes.default.string,
    selected: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.array]),
    options: _propTypes.default.arrayOf(_dropDownOption.default.propTypes.option),
    onClose: _propTypes.default.func,
    style: _propTypes.default.array,
    textStyle: _propTypes.default.array,
    children: _propTypes.default.any
  };
  DropDownList.defaultProps = {
    selected: -1,
    multiChoice: false,
    autoOpen: true,
    options: [],
    style: [],
    textStyle: []
  };
  var _default = DropDownList;
  exports.default = _default;
},2243,[5,21,41,17,201,28,1882,2244,699,1910]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _dropDownDecorators = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var styles = _reactNative.StyleSheet.create({
    option: {
      minHeight: 50,
      padding: 5,
      alignItems: "center",
      flexDirection: "row"
    },
    textContainer: {
      flex: 1,
      justifyContent: "center",
      marginHorizontal: 10
    }
  });

  function DropDownOption(props) {
    var option = props.option,
        selected = props.selected,
        multiChoice = props.multiChoice,
        textStyle = props.textStyle,
        onPress = props.onPress,
        color = props.color;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[5]).Css, {
      classes: ["drop-down-option-container"]
    }, _react.default.createElement(_reactNative.TouchableOpacity, {
      onPress: onPress,
      style: styles.option
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[5]).Css, {
      classes: ["drop-down-option-icon"],
      toggle: true,
      active: selected
    }, _react.default.createElement(_dropDownDecorators.default.Icon, {
      color: color,
      selected: selected,
      multiChoice: multiChoice
    })), _react.default.createElement(_$$_REQUIRE(_dependencyMap[5]).Css, {
      classes: ["drop-down-option-text-container"],
      toggle: true,
      active: selected
    }, _react.default.createElement(_reactNative.View, {
      style: styles.textContainer
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[5]).Css, {
      classes: ["drop-down-option-label"],
      toggle: true,
      active: selected
    }, _react.default.createElement(_dropDownDecorators.default.Label, {
      label: option.label,
      style: textStyle
    })), _react.default.createElement(_$$_REQUIRE(_dependencyMap[5]).Css, {
      classes: ["drop-down-option-text"],
      toggle: true,
      active: selected
    }, _react.default.createElement(_dropDownDecorators.default.Text, {
      text: option.text,
      style: textStyle,
      numberOfLines: 0
    })))), _react.default.createElement(_$$_REQUIRE(_dependencyMap[5]).Css, {
      classes: ["drop-down-option-image"],
      toggle: true,
      active: selected
    }, _react.default.createElement(_dropDownDecorators.default.Image, {
      source: option.image
    }))));
  }

  DropDownOption.propTypes = {
    option: _propTypes.default.shape({
      label: _propTypes.default.string.isRequired,
      text: _propTypes.default.string,
      image: _propTypes.default.any
    }),
    onPress: _propTypes.default.func.isRequired,
    multiChoice: _propTypes.default.bool,
    selected: _propTypes.default.bool,
    textStyle: _dropDownDecorators.default.Text.propTypes.style,
    color: _propTypes.default.string
  };
  DropDownOption.defaultProps = {};
  var _default = DropDownOption;
  exports.default = _default;
},2244,[5,17,201,28,2245,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var styles = _reactNative.StyleSheet.create({
    label: {
      fontSize: 18,
      color: _$$_REQUIRE(_dependencyMap[9]).colors.black
    },
    text: {
      fontSize: 14,
      textAlign: "left",
      color: _$$_REQUIRE(_dependencyMap[9]).colors.grey400
    },
    image: {
      width: 40,
      height: 40,
      marginHorizontal: 5,
      backgroundColor: "red"
    },
    icon: {
      fontSize: 25
    }
  });

  var Text = function Text(props) {
    var text = props.text,
        style = props.style,
        rest = (0, _objectWithoutProperties2.default)(props, ["text", "style"]);
    return text ? _react.default.createElement(_fontText.default, (0, _extends2.default)({
      numberOfLines: 1,
      style: [styles.text, style]
    }, rest), text) : null;
  };

  Text.propTypes = {
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    text: _propTypes.default.any
  };

  var Label = function Label(props) {
    var label = props.label,
        style = props.style,
        rest = (0, _objectWithoutProperties2.default)(props, ["label", "style"]);
    return _react.default.createElement(_fontText.default, (0, _extends2.default)({
      style: [styles.label, style]
    }, rest), label);
  };

  Label.propTypes = {
    label: _propTypes.default.string,
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array])
  };

  var Image = function Image(_ref) {
    var source = _ref.source,
        style = _ref.style,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["source", "style"]);

    if (!source) {
      return null;
    }

    return _react.default.createElement(_imageIconChooserComponent.default, (0, _extends2.default)({
      style: [styles.image, style],
      source: source
    }, rest));
  };

  Image.propTypes = {
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    source: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
  };

  var Icon = function Icon(props) {
    var color = props.color,
        selected = props.selected,
        multiChoice = props.multiChoice,
        style = props.style,
        rest = (0, _objectWithoutProperties2.default)(props, ["color", "selected", "multiChoice", "style"]);
    return _react.default.createElement(_iconComponent.default, (0, _extends2.default)({
      style: [styles.icon, {
        color: color
      }, style],
      type: _iconComponent.TecnaviaIconType.MATERIAL_COMMUNITY_ICONS,
      name: selected ? "" + (multiChoice ? "checkbox-marked" : "checkbox-marked-circle") : "" + (multiChoice ? "checkbox-blank-outline" : "checkbox-blank-circle-outline")
    }, rest));
  };

  Icon.propTypes = {
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    color: _propTypes.default.string,
    selected: _propTypes.default.bool,
    multiChoice: _propTypes.default.bool
  };
  var Option = {
    Text: Text,
    Label: Label,
    Image: Image,
    Icon: Icon
  };
  var _default = Option;
  exports.default = _default;
},2245,[5,6,108,17,201,28,1879,1970,1806,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _checkboxComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SettingCheckbox = function (_React$Component) {
    (0, _inherits2.default)(SettingCheckbox, _React$Component);

    var _super = _createSuper(SettingCheckbox);

    function SettingCheckbox(props) {
      var _this;

      (0, _classCallCheck2.default)(this, SettingCheckbox);
      _this = _super.call(this, props);
      _this.state = {
        value: props.value
      };
      _this.onChange = _this._onChange.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(SettingCheckbox, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var value;
        return _regenerator.default.async(function componentDidMount$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                value = this.props.value;

                if (!(typeof value === "function")) {
                  _context.next = 8;
                  break;
                }

                _context.t0 = this;
                _context.next = 5;
                return _regenerator.default.awrap(value());

              case 5:
                _context.t1 = _context.sent;
                _context.t2 = {
                  value: _context.t1
                };

                _context.t0.setState.call(_context.t0, _context.t2);

              case 8:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_onChange",
      value: function _onChange() {
        var onChange, value;
        return _regenerator.default.async(function _onChange$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                onChange = this.props.onChange;

                if (!(typeof onChange === "function")) {
                  _context2.next = 6;
                  break;
                }

                _context2.next = 4;
                return _regenerator.default.awrap(onChange());

              case 4:
                value = _context2.sent;
                this.setState({
                  value: value
                });

              case 6:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "render",
      value: function render() {
        var label = this.props.label;
        var value = this.state.value;

        var style = _$$_REQUIRE(_dependencyMap[12]).Css.getStyleObjByCssClasses(["setting-checkbox"]);

        var backgroundColor = _$$_REQUIRE(_dependencyMap[12]).Css.getDefaultBackgroundColor();

        var foregroundColor = _$$_REQUIRE(_dependencyMap[12]).Css.getDefaultForegroundColor();

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
          classes: ["setting-line"]
        }, _react.default.createElement(_reactNative.View, {
          style: [_$$_REQUIRE(_dependencyMap[13]).styles.row, {
            backgroundColor: backgroundColor
          }]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
          classes: ["setting-text-parent"]
        }, _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[13]).styles.textParent
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Text, {
          label: label
        }))), _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
          classes: ["setting-checkbox-parent"]
        }, _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[13]).styles.chkParent
        }, _react.default.createElement(_checkboxComponent.default, {
          checked: value,
          onPress: this.onChange,
          checkClass: "setting-check",
          checkedClass: "setting-checkbox-active",
          uncheckedClass: "setting-checkbox-inactive",
          checkStyle: {
            color: foregroundColor
          },
          style: [{
            backgroundColor: backgroundColor,
            borderColor: foregroundColor
          }, style]
        })))));
      }
    }]);
    return SettingCheckbox;
  }(_react.default.Component);

  exports.default = SettingCheckbox;
  SettingCheckbox.propTypes = {
    label: _propTypes.default.string.isRequired,
    value: _propTypes.default.bool,
    onChange: _propTypes.default.func.isRequired
  };
},2246,[5,80,7,8,15,12,14,16,17,201,28,2231,699,2238,2237]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/shared/settings-screen/images",
    "width": 75,
    "height": 75,
    "scales": [1],
    "hash": "6904cea2409c82167c5f6b705f44314c",
    "name": "download_full",
    "type": "png"
  });
},2247,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/shared/settings-screen/images",
    "width": 75,
    "height": 75,
    "scales": [1],
    "hash": "617a1c398fe256ada82ff77907258ea4",
    "name": "download_medium",
    "type": "png"
  });
},2248,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/shared/settings-screen/images",
    "width": 75,
    "height": 75,
    "scales": [1],
    "hash": "2320ccb49f5de23cb39ccb94661e5df4",
    "name": "download_low",
    "type": "png"
  });
},2249,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _PushHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _tecnaviaPlatformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _settingButton = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _settingPicker = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _settingPickerMulti = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _settingText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _settingsBaseManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _PushTags = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _settingCheckbox = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _cmpUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _GlobalConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SettingsManager = function (_SettingsBaseManager) {
    (0, _inherits2.default)(SettingsManager, _SettingsBaseManager);

    var _super = _createSuper(SettingsManager);

    function SettingsManager(onNavigation, labels) {
      var _this;

      (0, _classCallCheck2.default)(this, SettingsManager);
      _this = _super.call(this, onNavigation, labels);
      _this.changeStartWith = _this._changeStartWith.bind((0, _assertThisInitialized2.default)(_this));
      _this.toggleAllowFontScaling = _this._toggleAllowFontScaling.bind((0, _assertThisInitialized2.default)(_this));
      _this.openPushSettings = _this._openPushSettings.bind((0, _assertThisInitialized2.default)(_this));
      _this.openAccessibilitySettings = _this._openAccessibilitySettings.bind((0, _assertThisInitialized2.default)(_this));
      _this.openUrl = _this._openUrl.bind((0, _assertThisInitialized2.default)(_this));
      _this.openPrivacySettings = _this._openPrivacySettings.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(SettingsManager, [{
      key: "_openUrl",
      value: function _openUrl() {
        var poweredByURL, url;
        return _regenerator.default.async(function _openUrl$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                poweredByURL = global.getMainPSetup();
                url = poweredByURL && poweredByURL.length ? poweredByURL : "http://www.newsmemory.com/";
                _context.next = 4;
                return _regenerator.default.awrap(_tecnaviaPlatformUtils.default.openURL(url));

              case 4:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "_fontScalingLabel",
      value: function _fontScalingLabel() {
        return global.getUserSettings().allowFontScaling ? global.strings("btn_yes") : global.strings("btn_no");
      }
    }, {
      key: "_toggleAllowFontScaling",
      value: function _toggleAllowFontScaling() {
        _$$_REQUIRE(_dependencyMap[22]).FontContext.set({
          allowFontScaling: global.getUserSettings().toggleAllowFontScaling()
        });

        return this._fontScalingLabel();
      }
    }, {
      key: "_changeStartWith",
      value: function _changeStartWith(value) {
        var _this$labels = this.labels,
            startup = _this$labels.startup,
            ePaper = _this$labels.ePaper;

        if (value === global.strings("settings_startup_rss")) {
          global.getUserSettings().setRssAsStartupMode();
        } else if (value === ePaper) {
          global.getUserSettings().setNewsmemoryAsStartupMode();
        } else {
          global.getUserSettings().resetStartupMode();
        }

        this._displayToast(global.strings("msg_available_next_startup"));

        return startup;
      }
    }, {
      key: "_openPushSettings",
      value: function _openPushSettings() {
        _$$_REQUIRE(_dependencyMap[23]).NativeSettingsNavigation.appNotificationSettings();
      }
    }, {
      key: "_openAccessibilitySettings",
      value: function _openAccessibilitySettings() {
        _$$_REQUIRE(_dependencyMap[23]).NativeSettingsNavigation.accessibilitySettings();
      }
    }, {
      key: "_openPrivacySettings",
      value: function _openPrivacySettings() {
        _cmpUtils.default.editIubendaPreferences().then(function (preference) {
          _NavigationService.default.restart();
        });
      }
    }, {
      key: "getSettings",
      value: function getSettings() {
        var _global$getMainPSetup = global.getMainPSetup(),
            showThemesCustomization = _global$getMainPSetup.showThemesCustomization,
            pushTags = _global$getMainPSetup.pushTags;

        var _global$getRSSActiveP = global.getRSSActivePSetup(),
            newsMemoryIsEnabled = _global$getRSSActiveP.newsMemoryIsEnabled,
            rssIsEnabled = _global$getRSSActiveP.rssIsEnabled,
            appModeSelectionPageEnabled = _global$getRSSActiveP.appModeSelectionPageEnabled;

        var userSettings = global.getUserSettings();

        var themes = _$$_REQUIRE(_dependencyMap[24]).Css.getThemes();

        var currentTheme = _$$_REQUIRE(_dependencyMap[24]).Css.getActiveTheme();

        var _this$labels2 = this.labels,
            startup = _this$labels2.startup,
            ePaper = _this$labels2.ePaper;
        var rss = global.strings("settings_startup_rss");
        var startupValues = [{
          value: rss,
          label: rss
        }, {
          value: ePaper,
          label: ePaper
        }];

        if (appModeSelectionPageEnabled) {
          var chooseEachTime = global.strings("settings_startup_choose");
          startupValues.push({
            value: chooseEachTime,
            label: chooseEachTime
          });
        }

        return (0, _extends2.default)({
          label: global.strings("general")
        }, this.getCollapsedParams(), {
          data: this.isCollapsed() ? [] : [newsMemoryIsEnabled && rssIsEnabled ? _react.default.createElement(_settingPicker.default, {
            label: global.strings("start_with"),
            value: startup,
            values: startupValues,
            button: global.strings("change"),
            onChange: this.changeStartWith
          }) : undefined, _react.default.createElement(_settingButton.default, {
            label: global.strings("settings_allow_font_scaling"),
            value: this._fontScalingLabel(),
            button: global.strings("toggle"),
            onChange: this.toggleAllowFontScaling
          }), showThemesCustomization && themes && themes.length > 0 ? _react.default.createElement(_settingPicker.default, {
            label: global.strings("settings_themes"),
            value: currentTheme,
            values: themes.map(function (theme) {
              return {
                label: theme.name,
                value: theme.key
              };
            }),
            button: global.strings("change"),
            onChange: function onChange(value) {
              _GlobalConfig.default.updateCustomStyles(value).then(function (result) {
                if (result) {
                  _NavigationService.default.restart();
                }
              });
            }
          }) : null, _react.default.createElement(_settingButton.default, {
            label: global.strings("push_notification"),
            button: global.strings("open"),
            onChange: this.openPushSettings
          }), _react.default.createElement(_settingCheckbox.default, {
            value: userSettings.pushNotificationsEnabled,
            label: global.strings("settings_enable_push_notifications"),
            onChange: function _callee() {
              var newState, result;
              return _regenerator.default.async(function _callee$(_context2) {
                while (1) {
                  switch (_context2.prev = _context2.next) {
                    case 0:
                      newState = !userSettings.pushNotificationsEnabled;
                      result = false;
                      _context2.prev = 2;

                      if (newState) {
                        _context2.next = 8;
                        break;
                      }

                      _context2.next = 6;
                      return _regenerator.default.awrap(_PushHelper.default.deleteRegistration());

                    case 6:
                      _context2.next = 10;
                      break;

                    case 8:
                      _context2.next = 10;
                      return _regenerator.default.awrap(_PushHelper.default.registerDevice());

                    case 10:
                      result = true;
                      _context2.next = 16;
                      break;

                    case 13:
                      _context2.prev = 13;
                      _context2.t0 = _context2["catch"](2);
                      console.warn(_context2.t0.message);

                    case 16:
                      if (result) {
                        _context2.next = 19;
                        break;
                      }

                      _$$_REQUIRE(_dependencyMap[25]).Toast.show(global.strings(newState ? "err_enabling_push_notifications" : "err_disabling_push_notifications", {
                        error: ""
                      }));

                      return _context2.abrupt("return", !newState);

                    case 19:
                      userSettings.setPushNotificationsState(newState);
                      return _context2.abrupt("return", newState);

                    case 21:
                    case "end":
                      return _context2.stop();
                  }
                }
              }, null, null, [[2, 13]], Promise);
            }
          }), pushTags && pushTags.length ? _react.default.createElement(_settingPickerMulti.default, {
            label: global.strings("settings_push_scopes"),
            selected: _PushTags.default.parseTags(userSettings.userDefinedPushTags),
            values: _PushTags.default.parseTags(pushTags),
            button: global.strings("change"),
            onChange: function onChange(selected) {
              var tags = _PushTags.default.formatTags(selected);

              userSettings.setUserDefinedPushTags(tags, pushTags);

              _PushHelper.default.updateTags();
            }
          }) : undefined, _$$_REQUIRE(_dependencyMap[26]).PlatformUtils.isAndroid() ? _react.default.createElement(_settingButton.default, {
            label: global.strings("accessibility"),
            button: global.strings("open"),
            onChange: this.openAccessibilitySettings
          }) : undefined, _cmpUtils.default.isConsentNeeded() || _cmpUtils.default.isUSComplianceRequired() ? _react.default.createElement(_settingButton.default, {
            label: global.strings("settings_manage_privacy_preferences"),
            button: global.strings("open"),
            onChange: this.openPrivacySettings
          }) : null, _react.default.createElement(_settingText.default, {
            label: global.getMainPSetup().poweredBy || global.strings("powered_by"),
            onPress: this.openUrl
          })]
        });
      }
    }]);
    return SettingsManager;
  }(_settingsBaseManager.default);

  exports.default = SettingsManager;
},2250,[5,80,6,7,8,15,12,14,16,17,2134,1876,2236,2242,2251,2252,2240,2132,2246,1875,1861,2154,1880,2009,699,1889,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _settingPicker = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function SettingPickerMulti(props) {
    var selected = props.selected,
        onChange = props.onChange,
        rest = (0, _objectWithoutProperties2.default)(props, ["selected", "onChange"]);
    return _react.default.createElement(_settingPicker.default, (0, _extends2.default)({
      multiChoice: true,
      loadSelected: function loadSelected() {
        var values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        var selectedIndex = [];
        values.forEach(function (item, index) {
          selected.forEach(function (selectedItem) {
            if (selectedItem.value === item.value) {
              selectedIndex.push(index);
            }
          });
        });
        return selectedIndex;
      },
      getSelectedText: function getSelectedText(newSelection) {
        return newSelection.map(function (item) {
          return item.label;
        }).join(",");
      },
      onClose: function onClose(newSelection) {
        return typeof onChange === "function" && onChange(newSelection);
      }
    }, rest));
  }

  SettingPickerMulti.propTypes = (0, _extends2.default)({}, _settingPicker.default.propTypes, {
    selected: _propTypes.default.arrayOf(_propTypes.default.shape({
      value: _propTypes.default.string,
      label: _propTypes.default.string
    }))
  });
  SettingPickerMulti.defaultProps = {
    selected: []
  };
  var _default = SettingPickerMulti;
  exports.default = _default;
},2251,[5,6,108,17,201,2242]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var SettingText = function SettingText(props) {
    var label = props.label,
        onPress = props.onPress;

    var backgroundColor = _$$_REQUIRE(_dependencyMap[4]).Css.getDefaultBackgroundColor();

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[4]).Css, {
      classes: ["setting-line"]
    }, _react.default.createElement(_reactNative.View, {
      style: [_$$_REQUIRE(_dependencyMap[5]).styles.row, {
        backgroundColor: backgroundColor
      }]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[4]).Css, {
      classes: ["setting-text-parent"]
    }, _react.default.createElement(_reactNative.TouchableOpacity, {
      onPress: onPress,
      style: _$$_REQUIRE(_dependencyMap[5]).styles.textParent
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).Text, {
      label: label
    })))));
  };

  SettingText.propTypes = {
    label: _propTypes.default.string.isRequired,
    onPress: _propTypes.default.func
  };
  var _default = SettingText;
  exports.default = _default;
},2252,[5,17,201,28,699,2238,2237]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _NewsmemoryHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _settingPicker = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _settingButton = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _settingsBaseManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _settingCheckbox = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _NewsmemoryDatabasesManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SettingsNewsmemoryAdvanceManager = function (_SettingsBaseManager) {
    (0, _inherits2.default)(SettingsNewsmemoryAdvanceManager, _SettingsBaseManager);

    var _super = _createSuper(SettingsNewsmemoryAdvanceManager);

    function SettingsNewsmemoryAdvanceManager() {
      (0, _classCallCheck2.default)(this, SettingsNewsmemoryAdvanceManager);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(SettingsNewsmemoryAdvanceManager, [{
      key: "getSettings",
      value: function getSettings() {
        var _this = this;

        var _global$getMainPSetup = global.getMainPSetup(),
            enableArticleTypesCustomization = _global$getMainPSetup.enableArticleTypesCustomization,
            showNavigationButtonsLayoutCustomization = _global$getMainPSetup.showNavigationButtonsLayoutCustomization,
            enableAdvancedGesturesMode = _global$getMainPSetup.enableAdvancedGesturesMode,
            showHighlightBehaviorCustomization = _global$getMainPSetup.showHighlightBehaviorCustomization,
            backgroundTimerArticleSelected = _global$getMainPSetup.backgroundTimerArticleSelected,
            showTabIndexModeCustomization = _global$getMainPSetup.showTabIndexModeCustomization;

        var newsmemoryConfig = global.getNewsmemoryConfig();
        var ePaper = this.labels.ePaper;
        return (0, _extends2.default)({
          label: global.strings("advance", {
            label: ePaper
          })
        }, this.getCollapsedParams(), {
          data: this.isCollapsed() ? [] : [showTabIndexModeCustomization ? _react.default.createElement(_settingCheckbox.default, {
            value: newsmemoryConfig.enableTabIndexMode,
            label: global.strings("settings_tab_index_mode"),
            onChange: function onChange() {
              newsmemoryConfig.setEnableTabIndexMode(!newsmemoryConfig.enableTabIndexMode);

              _this.updateUI();

              return newsmemoryConfig.enableTabIndexMode;
            }
          }) : null, enableAdvancedGesturesMode && _$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isTablet() ? _react.default.createElement(_settingCheckbox.default, {
            value: newsmemoryConfig.twoFingersTapToArticle,
            label: global.strings("settings_two_fingers_tap_to_article"),
            onChange: function onChange() {
              if (!newsmemoryConfig.twoFingersTapToArticle) {
                newsmemoryConfig.setValue(_NewsmemoryHelper.default.SP.keys.single_tap_to_zoom, "1");
              }

              newsmemoryConfig.setValue(_NewsmemoryHelper.default.SP.keys.two_fingers_tap_to_article, newsmemoryConfig.twoFingersTapToArticle ? "0" : "1");

              if (!newsmemoryConfig.twoFingersTapToArticle) {
                newsmemoryConfig.setValue(_NewsmemoryHelper.default.SP.keys.single_tap_to_zoom, "0");
              }

              _this.updateUI();

              return newsmemoryConfig.twoFingersTapToArticle;
            }
          }) : null, enableAdvancedGesturesMode && _$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isTablet() && newsmemoryConfig.twoFingersTapToArticle ? _react.default.createElement(_settingCheckbox.default, {
            value: newsmemoryConfig.singleTapToZoom,
            label: global.strings("settings_single_tap_to_zoom"),
            onChange: function onChange() {
              newsmemoryConfig.setValue(_NewsmemoryHelper.default.SP.keys.single_tap_to_zoom, newsmemoryConfig.singleTapToZoom ? "0" : "1");
              return newsmemoryConfig.singleTapToZoom;
            }
          }) : null, enableArticleTypesCustomization ? _react.default.createElement(_settingPicker.default, {
            label: global.strings("settings_article_mode"),
            value: newsmemoryConfig.showTypesArticle,
            values: [{
              value: "0",
              label: global.strings("settings_article_mode_only_text")
            }, {
              value: "1",
              label: global.strings("settings_article_mode_text_and_graphics")
            }, {
              value: "2",
              label: global.strings("settings_article_mode_all")
            }],
            button: global.strings("change"),
            onChange: function onChange(value) {
              newsmemoryConfig.setShowTypesArticle(value);
            }
          }) : null, showNavigationButtonsLayoutCustomization ? _react.default.createElement(_settingPicker.default, {
            label: global.strings("settings_navigation_arrows"),
            value: newsmemoryConfig.pagesNavigationButtonsLayout,
            values: [{
              value: "1",
              label: global.strings("settings_navigation_arrows_always")
            }, {
              value: "2",
              label: global.strings("settings_navigation_arrows_disapper")
            }, {
              value: "0",
              label: global.strings("settings_navigation_arrows_never")
            }],
            button: global.strings("change"),
            onChange: function onChange(value) {
              newsmemoryConfig.setValue(_NewsmemoryHelper.default.SP.keys.pages_navigation_buttons_layout, value);
            }
          }) : null, showHighlightBehaviorCustomization && _$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isTablet() ? _react.default.createElement(_settingCheckbox.default, {
            value: newsmemoryConfig.backgroundTimerArticleSelected === 0,
            label: global.strings("settings_article_highlight"),
            onChange: function onChange() {
              var newValue = newsmemoryConfig.backgroundTimerArticleSelected === 0 ? backgroundTimerArticleSelected : 0;
              newsmemoryConfig.setValue(_NewsmemoryHelper.default.SP.keys.background_timer_article_selected, "" + newValue);
              return newValue === 0;
            }
          }) : null, _optionalPackageUtils.default.isIOSClassicEPaperAvailable() ? _react.default.createElement(_settingButton.default, {
            label: global.strings("settings_back_to_classic"),
            button: global.strings("open"),
            onChange: function _callee() {
              return _regenerator.default.async(function _callee$(_context) {
                while (1) {
                  switch (_context.prev = _context.next) {
                    case 0:
                      _context.next = 2;
                      return _regenerator.default.awrap(_NewsmemoryDatabasesManager.default.closeDatabase());

                    case 2:
                      _$$_REQUIRE(_dependencyMap[19]).EventRegister.emit(_events.default.NEWSMEMORY_CLOSE_CURRENT_DB);

                      newsmemoryConfig.setRNUseDemo("0");

                    case 4:
                    case "end":
                      return _context.stop();
                  }
                }
              }, null, null, null, Promise);
            }
          }) : null, _react.default.createElement(_settingButton.default, {
            label: global.strings("settings_restore_defaults"),
            button: global.strings("reset"),
            onChange: function onChange() {
              (0, _$$_REQUIRE(_dependencyMap[20]).askTo)(global.strings("msg_restore_default_settings"), function _callee2() {
                return _regenerator.default.async(function _callee2$(_context2) {
                  while (1) {
                    switch (_context2.prev = _context2.next) {
                      case 0:
                        _context2.next = 2;
                        return _regenerator.default.awrap(newsmemoryConfig.reset());

                      case 2:
                      case "end":
                        return _context2.stop();
                    }
                  }
                }, null, null, null, Promise);
              });

              _this.updateUI();
            }
          }), _react.default.createElement(_settingButton.default, {
            label: global.strings("settings_clear_storage"),
            button: global.strings("clear"),
            onChange: function _callee3() {
              var reloadLatestEdition;
              return _regenerator.default.async(function _callee3$(_context3) {
                while (1) {
                  switch (_context3.prev = _context3.next) {
                    case 0:
                      _context3.prev = 0;
                      _context3.next = 3;
                      return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[20]).optionspageDeleteProcess)());

                    case 3:
                      reloadLatestEdition = _context3.sent;

                      if (reloadLatestEdition) {
                        _$$_REQUIRE(_dependencyMap[19]).EventRegister.emit(_events.default.NEWSMEMORY_DOWNLOAD_LATEST_EDITION);
                      } else {
                        _$$_REQUIRE(_dependencyMap[19]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                          tab: _$$_REQUIRE(_dependencyMap[21]).tabs.home
                        });
                      }

                      _this.onNavigation("back");

                      _context3.next = 10;
                      break;

                    case 8:
                      _context3.prev = 8;
                      _context3.t0 = _context3["catch"](0);

                    case 10:
                    case "end":
                      return _context3.stop();
                  }
                }
              }, null, null, [[0, 8]], Promise);
            }
          })]
        });
      }
    }]);
    return SettingsNewsmemoryAdvanceManager;
  }(_settingsBaseManager.default);

  exports.default = SettingsNewsmemoryAdvanceManager;
},2253,[5,80,6,7,8,12,14,16,17,1859,1860,2242,2236,2240,2246,710,460,731,462,572,2254,730]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.optionspageDeleteProcess = exports.askTo = exports.deleteData = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var _NewsmemoryDatabasesManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _LoginManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _TranslationManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var deleteData = function _callee() {
    return _regenerator.default.async(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            _context.prev = 0;
            _context.next = 3;
            return _regenerator.default.awrap(new Promise(function (resolve, reject) {
              _$$_REQUIRE(_dependencyMap[7]).EventRegister.emit(_events.default.NEWSMEMORY_ON_CLEAR_STORAGE, {
                onFinish: resolve,
                onError: reject
              });
            }));

          case 3:
            _context.next = 5;
            return _regenerator.default.awrap(_NewsmemoryDatabasesManager.default.resetDatabase());

          case 5:
            _context.next = 7;
            return _regenerator.default.awrap(_NewsmemoryDatabasesManager.default.deleteNewspaperDirectory());

          case 7:
            _context.next = 9;
            return _regenerator.default.awrap(_NewsmemoryDatabasesManager.default.makeNewspaperDirectory());

          case 9:
            _TranslationManager.default.resetAllTranslations();

            _context.next = 14;
            break;

          case 12:
            _context.prev = 12;
            _context.t0 = _context["catch"](0);

          case 14:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, [[0, 12]], Promise);
  };

  exports.deleteData = deleteData;

  var deleteUserInfo = function _callee2() {
    return _regenerator.default.async(function _callee2$(_context2) {
      while (1) {
        switch (_context2.prev = _context2.next) {
          case 0:
            _context2.next = 2;
            return _regenerator.default.awrap(_LoginManager.default.clearAll());

          case 2:
            _context2.next = 4;
            return _regenerator.default.awrap(global.getNewsmemoryConfig().reset());

          case 4:
          case "end":
            return _context2.stop();
        }
      }
    }, null, null, null, Promise);
  };

  var showTo = function _callee3(message) {
    return _regenerator.default.async(function _callee3$(_context3) {
      while (1) {
        switch (_context3.prev = _context3.next) {
          case 0:
            return _context3.abrupt("return", new Promise(function (resolve) {
              _reactNative.Alert.alert("", message, [{
                text: global.strings("btn_ok"),
                onPress: resolve
              }]);
            }));

          case 1:
          case "end":
            return _context3.stop();
        }
      }
    }, null, null, null, Promise);
  };

  var askTo = function _callee4(message, doFunction) {
    return _regenerator.default.async(function _callee4$(_context5) {
      while (1) {
        switch (_context5.prev = _context5.next) {
          case 0:
            return _context5.abrupt("return", new Promise(function (resolve, reject) {
              _reactNative.Alert.alert("", message, [{
                text: global.strings("btn_cancel"),
                onPress: function onPress() {
                  resolve(false);
                },
                style: "cancel"
              }, {
                text: global.strings("btn_ok"),
                onPress: function onPress() {
                  return _regenerator.default.async(function onPress$(_context4) {
                    while (1) {
                      switch (_context4.prev = _context4.next) {
                        case 0:
                          if (!(typeof doFunction === "function")) {
                            _context4.next = 12;
                            break;
                          }

                          _context4.prev = 1;
                          _context4.next = 4;
                          return _regenerator.default.awrap(doFunction());

                        case 4:
                          resolve(true);
                          _context4.next = 10;
                          break;

                        case 7:
                          _context4.prev = 7;
                          _context4.t0 = _context4["catch"](1);
                          reject(_context4.t0);

                        case 10:
                          _context4.next = 13;
                          break;

                        case 12:
                          resolve(true);

                        case 13:
                        case "end":
                          return _context4.stop();
                      }
                    }
                  }, null, null, [[1, 7]], Promise);
                }
              }], {
                cancelable: false
              });
            }));

          case 1:
          case "end":
            return _context5.stop();
        }
      }
    }, null, null, null, Promise);
  };

  exports.askTo = askTo;

  var optionspageDeleteProcess = function _callee5() {
    var _global$getActivePSet, isNNB, abort, dbDeleted, lsDeleted;

    return _regenerator.default.async(function _callee5$(_context6) {
      while (1) {
        switch (_context6.prev = _context6.next) {
          case 0:
            _global$getActivePSet = global.getActivePSetup(), isNNB = _global$getActivePSet.isNNB;
            abort = false;
            _context6.prev = 2;
            _context6.next = 5;
            return _regenerator.default.awrap(askTo(global.strings("msg_delete_db"), deleteData));

          case 5:
            dbDeleted = _context6.sent;

            if (!dbDeleted) {
              _context6.next = 28;
              break;
            }

            lsDeleted = false;
            _context6.prev = 8;
            _context6.next = 11;
            return _regenerator.default.awrap(askTo(global.strings("msg_delete_localstorage"), deleteUserInfo));

          case 11:
            lsDeleted = _context6.sent;
            _context6.next = 16;
            break;

          case 14:
            _context6.prev = 14;
            _context6.t0 = _context6["catch"](8);

          case 16:
            if (!isNNB) {
              _context6.next = 25;
              break;
            }

            if (!lsDeleted) {
              _context6.next = 22;
              break;
            }

            _context6.next = 20;
            return _regenerator.default.awrap(showTo(global.strings("msg_operation_completed")));

          case 20:
            _context6.next = 24;
            break;

          case 22:
            _context6.next = 24;
            return _regenerator.default.awrap(showTo(global.strings("msg_ok_delete_db")));

          case 24:
            return _context6.abrupt("return", false);

          case 25:
            _context6.next = 27;
            return _regenerator.default.awrap(askTo(global.strings("msg_reload_publication")));

          case 27:
            return _context6.abrupt("return", _context6.sent);

          case 28:
            abort = true;
            _context6.next = 33;
            break;

          case 31:
            _context6.prev = 31;
            _context6.t1 = _context6["catch"](2);

          case 33:
            if (!abort) {
              _context6.next = 35;
              break;
            }

            throw new Error("Interrupped by user");

          case 35:
            return _context6.abrupt("return", false);

          case 36:
          case "end":
            return _context6.stop();
        }
      }
    }, null, null, [[2, 31], [8, 14]], Promise);
  };

  exports.optionspageDeleteProcess = optionspageDeleteProcess;
},2254,[5,80,28,710,2057,460,2178,572]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _settingButton = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _settingDebug = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _settingsBaseManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SettingsOthers = function (_SettingsBaseManager) {
    (0, _inherits2.default)(SettingsOthers, _SettingsBaseManager);

    var _super = _createSuper(SettingsOthers);

    function SettingsOthers(onNavigation, labels) {
      var _this;

      (0, _classCallCheck2.default)(this, SettingsOthers);
      _this = _super.call(this, onNavigation, labels);
      _this.sendFeedbackEmail = _this._sendFeedbackEmail.bind((0, _assertThisInitialized2.default)(_this));
      _this.onForceLayoutSubStyle = _this._onForceLayoutSubStyle.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(SettingsOthers, [{
      key: "_onForceLayoutSubStyle",
      value: function _onForceLayoutSubStyle() {
        this._displayToast(global.strings("msg_available_next_startup"));
      }
    }, {
      key: "_sendFeedbackEmail",
      value: function _sendFeedbackEmail() {
        var feedback;
        return _regenerator.default.async(function _sendFeedbackEmail$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                feedback = new (_$$_REQUIRE(_dependencyMap[14]).Feedback)();
                _context.next = 3;
                return _regenerator.default.awrap(feedback.sendFeedbackEmail(false));

              case 3:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "getSettings",
      value: function getSettings() {
        var machineId = "n/a";

        try {
          if (global.machineId && global.machineId.length >= 6) {
            machineId = global.machineId.substring(global.machineId.length - 6);
          }
        } catch (e) {}

        return (0, _extends2.default)({}, this.getCollapsedParams(), {
          data: [_react.default.createElement(_settingDebug.default, {
            numberOfTapToDebug: 1,
            label: global.strings("version"),
            value: _deviceUtils.default.getAppVersion() + " - " + machineId,
            onSublayoutChange: this.onForceLayoutSubStyle
          }), _react.default.createElement(_settingButton.default, {
            label: global.strings("btn_feedback"),
            button: global.strings("write"),
            onChange: this.sendFeedbackEmail
          })]
        });
      }
    }]);
    return SettingsOthers;
  }(_settingsBaseManager.default);

  exports.default = SettingsOthers;
},2255,[5,80,6,7,8,15,12,14,16,17,458,2236,2256,2240,2151]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _reactNativeMail = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _fontTextInput = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _GlobalConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _settingHeader = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[16]));

  var _LiveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _modal = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var crashlytics = _optionalPackageUtils.default.getCrashlytics();

  var PRESS_DELAY = 150;

  var SettingDebug = function (_React$Component) {
    (0, _inherits2.default)(SettingDebug, _React$Component);

    var _super = _createSuper(SettingDebug);

    function SettingDebug(props) {
      var _this;

      (0, _classCallCheck2.default)(this, SettingDebug);
      _this = _super.call(this, props);

      _this._collapse = function () {
        return _this.modalRef.current && _this.modalRef.current.collapse();
      };

      _this._expand = function () {
        return _this.modalRef.current && _this.modalRef.current.expand();
      };

      _this.modalRef = _react.default.createRef();
      _this.state = {
        subLayout: global.getUserSettings().forceLayoutSubStyle,
        notificationEmail: global.getUserSettings().notificationEmail
      };
      _this.tapAction = _this._tapAction.bind((0, _assertThisInitialized2.default)(_this));
      _this.crashAction = _this._crashAction.bind((0, _assertThisInitialized2.default)(_this));
      _this.feedbackAction = _this._feedbackAction.bind((0, _assertThisInitialized2.default)(_this));
      _this.copyAction = _this._copyAction.bind((0, _assertThisInitialized2.default)(_this));
      _this.onShare = _this._onShare.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSending = _this._onSending.bind((0, _assertThisInitialized2.default)(_this));
      _this.setForceLayoutSubStyle = _this._setForceLayoutSubStyle.bind((0, _assertThisInitialized2.default)(_this));
      _this.setForceNotificationEmail = _this._setForceNotificationEmail.bind((0, _assertThisInitialized2.default)(_this));
      _this.pressCounter = 0;
      _this.timeoutId = undefined;
      return _this;
    }

    (0, _createClass2.default)(SettingDebug, [{
      key: "UNSAFE_componentWillMount",
      value: function UNSAFE_componentWillMount() {
        return _regenerator.default.async(function UNSAFE_componentWillMount$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return _regenerator.default.awrap(global.analyzeUsedSpace());

              case 2:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        if (this.timeoutId) {
          clearTimeout(this.timeoutId);
        }
      }
    }, {
      key: "_tapAction",
      value: function _tapAction() {
        var _this2 = this;

        this.pressCounter += 1;
        var numberOfTapToDebug = this.props.numberOfTapToDebug;

        if (!this.timeoutId) {
          this.timeoutId = setTimeout(function () {
            if (_this2.pressCounter >= numberOfTapToDebug) {
              _this2._expand();
            }

            _this2.pressCounter = 0;
            delete _this2.timeoutId;
          }, PRESS_DELAY * numberOfTapToDebug);
        }
      }
    }, {
      key: "_crashAction",
      value: function _crashAction() {
        if (crashlytics) {
          crashlytics().crash();
        }
      }
    }, {
      key: "_copyAction",
      value: function _copyAction() {
        _$$_REQUIRE(_dependencyMap[21]).LoadingOverlay.show({
          id: "copy"
        });

        _tecnaviaFileUtils.default.zipAndCopyNewspaperBaseDirectory().then(function () {
          _$$_REQUIRE(_dependencyMap[21]).LoadingOverlay.hide({
            id: "copy"
          });
        });
      }
    }, {
      key: "_feedbackAction",
      value: function _feedbackAction() {
        if (_$$_REQUIRE(_dependencyMap[22]).NetworkUtils.isOnline()) {
          var feedback = new (_$$_REQUIRE(_dependencyMap[23]).Feedback)();

          _$$_REQUIRE(_dependencyMap[21]).LoadingOverlay.show({
            id: "feedback"
          });

          feedback.force().then(function () {
            _$$_REQUIRE(_dependencyMap[21]).LoadingOverlay.hide({
              id: "feedback"
            });
          });
        } else {
          _reactNative.Alert.alert("", global.strings("err_internet_connection"), [{
            text: global.strings("btn_ok")
          }]);
        }
      }
    }, {
      key: "_onSending",
      value: function _onSending() {
        return _regenerator.default.async(function _onSending$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                this._collapse();

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_onShare",
      value: function _onShare() {
        var message, subject, attachments, _global$getActivePSet, enableSessionCollection, path;

        return _regenerator.default.async(function _onShare$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                message = _GlobalConfig.default.getDeviceInfoText();
                message += _GlobalConfig.default.getUsedSpaceText();
                subject = global.strings("feedback_email_subject", {
                  who: global.appName
                });
                _global$getActivePSet = global.getActivePSetup(), enableSessionCollection = _global$getActivePSet.enableSessionCollection;

                if (!(_LiveConfig.default.isEpaperSide() && enableSessionCollection)) {
                  _context3.next = 9;
                  break;
                }

                _context3.next = 7;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[24]).NewspaperSessionManager.storeActiveSessionToFile());

              case 7:
                path = _context3.sent;

                if (path) {
                  attachments = [{
                    path: path,
                    type: "json",
                    name: "session_" + global.machineId + ".json"
                  }];
                }

              case 9:
                _reactNativeMail.default.mail({
                  subject: subject,
                  recipients: [global.strings("support_email")],
                  body: message,
                  isHTML: false,
                  attachments: attachments
                }, function () {});

              case 10:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "_setForceLayoutSubStyle",
      value: function _setForceLayoutSubStyle() {
        var subLayout = this.state.subLayout;
        var onSublayoutChange = this.props.onSublayoutChange;
        global.getUserSettings().setForceLayoutSubStyle(subLayout);

        if (typeof onSublayoutChange === "function") {
          onSublayoutChange();
        }
      }
    }, {
      key: "_setForceNotificationEmail",
      value: function _setForceNotificationEmail() {
        var _this3 = this;

        var notificationEmail = this.state.notificationEmail;

        if (notificationEmail.length > 0 && _$$_REQUIRE(_dependencyMap[22]).StringUtils.validateNotificationEmail(notificationEmail)) {
          global.getUserSettings().setNotificationEmail(notificationEmail);

          _reactNative.Alert.alert("", global.strings("msg_valid_notification_email"), [{
            text: global.strings("btn_ok")
          }, {
            text: global.strings("restart"),
            onPress: function onPress() {
              _this3._collapse();

              _reactNative.InteractionManager.runAfterInteractions(_NavigationService.default.restart);
            }
          }]);
        } else {
          var _global$getUserSettin = global.getUserSettings(),
              currentNotificationEmail = _global$getUserSettin.notificationEmail;

          if (currentNotificationEmail && _$$_REQUIRE(_dependencyMap[22]).StringUtils.validateNotificationEmail(currentNotificationEmail)) {
            _reactNative.Alert.alert("", global.strings("msg_reset_notification_email"), [{
              text: global.strings("btn_ok")
            }, {
              text: global.strings("restart"),
              onPress: function onPress() {
                var paperSetupManager = global.getPaperSetupManager();

                if (paperSetupManager) {
                  paperSetupManager.resetActivePSetup();
                }

                _this3._collapse();

                _reactNative.InteractionManager.runAfterInteractions(_NavigationService.default.restart);
              }
            }]);
          }

          global.getUserSettings().resetNotificationEmail();
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this4 = this;

        var _this$props = this.props,
            label = _this$props.label,
            value = _this$props.value,
            hidden = _this$props.hidden;
        var _this$state = this.state,
            subLayout = _this$state.subLayout,
            notificationEmail = _this$state.notificationEmail;

        var backgroundColor = _$$_REQUIRE(_dependencyMap[25]).Css.getDefaultBackgroundColor();

        var foregroundColor = _$$_REQUIRE(_dependencyMap[25]).Css.getDefaultForegroundColor();

        var placeholdeTextColor = _$$_REQUIRE(_dependencyMap[22]).colors.grey400;

        var borderColor = _$$_REQUIRE(_dependencyMap[25]).Css.isDarkTheme() ? foregroundColor : _$$_REQUIRE(_dependencyMap[22]).colors.grey;

        var ModalComponent = _react.default.createElement(_modal.default, {
          ref: this.modalRef,
          backgroundColor: backgroundColor,
          foregroundColor: foregroundColor,
          needsKeyboardOffsetCheck: true
        }, _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[26]).styles.headerParent
        }, _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1
          }
        }, _react.default.createElement(_settingHeader.default, {
          label: global.strings("debug"),
          onPress: this._collapse
        })), _react.default.createElement(_settingHeader.SettingClose, {
          onPress: this._collapse
        })), _react.default.createElement(_$$_REQUIRE(_dependencyMap[25]).Css, {
          classes: ["settings-header-separator"]
        }, _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[26]).styles.separator
        })), _react.default.createElement(_$$_REQUIRE(_dependencyMap[27]).TecnaviaScrollView, null, _react.default.createElement(_reactNative.View, {
          style: {
            padding: 10
          }
        }, _react.default.createElement(_fontText.default, {
          style: _$$_REQUIRE(_dependencyMap[26]).styles.hidden
        }, _GlobalConfig.default.getDeviceInfoText()), _react.default.createElement(_fontTextInput.default, {
          style: [_$$_REQUIRE(_dependencyMap[26]).styles.input, {
            borderColor: borderColor,
            color: foregroundColor
          }],
          placeholder: "NOTIFICATION EMAIL",
          placeholderTextColor: placeholdeTextColor,
          onChangeText: function onChangeText(newText) {
            _this4.setState({
              notificationEmail: newText
            });
          },
          onEndEditing: this.setForceNotificationEmail,
          value: notificationEmail,
          autoCapitalize: "none"
        }), global.isDebug || _$$_REQUIRE(_dependencyMap[22]).NetworkUtils.isTecnaviaIP() ? _react.default.createElement(_fontTextInput.default, {
          style: [_$$_REQUIRE(_dependencyMap[26]).styles.input, {
            borderColor: borderColor,
            color: foregroundColor
          }],
          placeholder: "FORCE LAYOUT SUB STYLE",
          placeholderTextColor: placeholdeTextColor,
          onChangeText: function onChangeText(newText) {
            return _this4.setState({
              subLayout: newText
            });
          },
          onSubmitEditing: this.setForceLayoutSubStyle,
          value: subLayout
        }) : null, _$$_REQUIRE(_dependencyMap[22]).Logger.enableLog ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[28]).LogButton, {
          style: _$$_REQUIRE(_dependencyMap[26]).styles.log,
          onSending: this.onSending
        }) : null, _react.default.createElement(_reactNative.TouchableOpacity, {
          onPress: this.onShare,
          style: [_$$_REQUIRE(_dependencyMap[26]).styles.debugButton, {
            borderColor: borderColor
          }]
        }, _react.default.createElement(_fontText.default, {
          style: {
            color: foregroundColor
          }
        }, global.strings("action_share"))), _react.default.createElement(_reactNative.TouchableOpacity, {
          onPress: this.feedbackAction,
          style: [_$$_REQUIRE(_dependencyMap[26]).styles.debugButton, {
            borderColor: borderColor
          }]
        }, _react.default.createElement(_fontText.default, {
          style: {
            color: foregroundColor
          }
        }, global.strings("btn_feedback"))), (global.isDebug || _$$_REQUIRE(_dependencyMap[22]).NetworkUtils.isTecnaviaIP()) && _optionalPackageUtils.default.isCrashlyticsAvailable() ? _react.default.createElement(_reactNative.TouchableOpacity, {
          onPress: this.crashAction,
          style: [_$$_REQUIRE(_dependencyMap[26]).styles.debugButton, {
            borderColor: borderColor
          }]
        }, _react.default.createElement(_fontText.default, {
          style: {
            color: foregroundColor
          }
        }, global.strings("force_crash"))) : null, global.isDebug || _$$_REQUIRE(_dependencyMap[22]).NetworkUtils.isTecnaviaIP() ? _react.default.createElement(_reactNative.TouchableOpacity, {
          onPress: this.copyAction,
          style: [_$$_REQUIRE(_dependencyMap[26]).styles.debugButton, {
            borderColor: borderColor
          }]
        }, _react.default.createElement(_fontText.default, {
          style: {
            color: foregroundColor
          }
        }, global.strings("copy_files"))) : null)));

        if (hidden) {
          return ModalComponent;
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[25]).Css, {
          classes: ["setting-line"]
        }, _react.default.createElement(_reactNative.View, {
          style: [_$$_REQUIRE(_dependencyMap[26]).styles.row, {
            flexDirection: "column"
          }]
        }, _react.default.createElement(_reactNative.TouchableOpacity, {
          onPress: this.tapAction
        }, _react.default.createElement(_reactNative.View, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[29]).Text, {
          label: label
        }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[29]).Value, {
          value: value
        }))), ModalComponent));
      }
    }]);
    return SettingDebug;
  }(_react.default.Component);

  exports.default = SettingDebug;
  SettingDebug.propTypes = {
    label: _propTypes.default.string,
    value: _propTypes.default.string,
    numberOfTapToDebug: _propTypes.default.number.isRequired,
    onSublayoutChange: _propTypes.default.func,
    hidden: _propTypes.default.bool
  };
  SettingDebug.defaultProps = {
    hidden: false
  };
},2256,[5,80,7,8,15,12,14,16,17,201,28,2152,1879,2257,1861,2154,2233,1872,574,731,1882,1950,462,2151,1955,699,2234,1909,2258,2237]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.Type = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Type = {
    bold: "bold",
    medium: "medium",
    regular: "regular"
  };
  exports.Type = Type;
  var FontTextInput = (0, _react.forwardRef)(function (props, ref) {
    var _useFonts = (0, _$$_REQUIRE(_dependencyMap[7]).useFonts)(_$$_REQUIRE(_dependencyMap[7]).FontContext),
        allowFontScaling = _useFonts.allowFontScaling,
        fontRegular = _useFonts.fontRegular,
        fontMedium = _useFonts.fontMedium,
        fontBold = _useFonts.fontBold;

    var _getFontStyle = function _getFontStyle(type) {
      var fontStyle = {};

      if (type === Type.bold && fontBold) {
        fontStyle.fontFamily = fontBold.font;
      } else if (type === Type.medium && fontMedium) {
        fontStyle.fontFamily = fontMedium.font;
      } else if (fontRegular) {
        fontStyle.fontFamily = fontRegular.font;
      }

      if (!fontStyle.fontFamily) {
        fontStyle.fontFamily = "system font";
        fontStyle.fontWeight = type === Type.bold ? "bold" : "normal";
      }

      return fontStyle;
    };

    var type = props.type,
        style = props.style,
        _onLayout = props.onLayout,
        rest = (0, _objectWithoutProperties2.default)(props, ["type", "style", "onLayout"]);

    var fontStyle = _getFontStyle(type);

    var textStyle = [];

    if (style) {
      if (Array.isArray(style)) {
        textStyle = (0, _toConsumableArray2.default)(style);
      } else {
        textStyle.push(style);
      }
    }

    textStyle.push(fontStyle);
    return _react.default.createElement(_reactNative.TextInput, (0, _extends2.default)({
      ref: ref,
      onLayout: function onLayout(e) {
        return _onLayout && _onLayout(e, textStyle);
      },
      style: textStyle
    }, rest, {
      allowFontScaling: allowFontScaling,
      maxFontSizeMultiplier: _$$_REQUIRE(_dependencyMap[8]).FontUtils.fontMaxScale
    }));
  });
  FontTextInput.propTypes = {
    type: _propTypes.default.oneOf(Object.values(Type)),
    onLayout: _propTypes.default.func,
    style: _propTypes.default.any
  };
  FontTextInput.defaultProps = {
    type: Type.regular
  };
  var _default = FontTextInput;
  exports.default = _default;
},2257,[5,6,21,108,17,201,28,1880,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.LogButton = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var LogButton = function (_React$Component) {
    (0, _inherits2.default)(LogButton, _React$Component);

    var _super = _createSuper(LogButton);

    function LogButton() {
      (0, _classCallCheck2.default)(this, LogButton);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(LogButton, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            onLayout = _this$props.onLayout,
            onSending = _this$props.onSending,
            style = _this$props.style;
        return _react.default.createElement(_reactNative.TouchableOpacity, {
          style: style,
          onLayout: onLayout,
          onPress: function _callee() {
            var result;
            return _regenerator.default.async(function _callee$(_context) {
              while (1) {
                switch (_context.prev = _context.next) {
                  case 0:
                    if (typeof onSending === "function") {
                      onSending();
                    }

                    _$$_REQUIRE(_dependencyMap[12]).LoadingOverlay.show({
                      id: "log",
                      text: global.strings("uploading")
                    });

                    _context.next = 4;
                    return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[13]).Logger.areLogsStored());

                  case 4:
                    _context.next = 6;
                    return _regenerator.default.awrap(_Api.default.sendLog());

                  case 6:
                    result = _context.sent;

                    _$$_REQUIRE(_dependencyMap[12]).LoadingOverlay.hide({
                      id: "log"
                    });

                    if (result) {
                      _$$_REQUIRE(_dependencyMap[14]).Toast.show(global.strings("msg_sent", {
                        result: result
                      }), {
                        position: "top"
                      });
                    } else {
                      _$$_REQUIRE(_dependencyMap[14]).Toast.show(global.strings("msg_failed", {
                        result: result
                      }), {
                        position: "top"
                      });
                    }

                  case 9:
                  case "end":
                    return _context.stop();
                }
              }
            }, null, null, null, Promise);
          }
        }, _react.default.createElement(_fontText.default, {
          style: {
            backgroundColor: _$$_REQUIRE(_dependencyMap[13]).colors.md_orange_800,
            color: _$$_REQUIRE(_dependencyMap[13]).colors.black,
            fontSize: 18,
            padding: 5
          }
        }, global.strings("btn_disable_log_file")));
      }
    }]);
    return LogButton;
  }(_react.default.Component);

  exports.LogButton = LogButton;
  LogButton.propTypes = {
    onLayout: _propTypes.default.func,
    onSending: _propTypes.default.func,
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array])
  };
},2258,[5,80,7,8,12,14,16,17,201,28,1879,431,1950,462,1889]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2259,[2260]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.RssFavoritesScreen = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var RssFavoritesScreen = function (_RssBaseScreen) {
    (0, _inherits2.default)(RssFavoritesScreen, _RssBaseScreen);

    var _super = _createSuper(RssFavoritesScreen);

    function RssFavoritesScreen() {
      (0, _classCallCheck2.default)(this, RssFavoritesScreen);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(RssFavoritesScreen, [{
      key: "didFocus",
      value: function didFocus() {
        var _this = this;

        (0, _get2.default)((0, _getPrototypeOf2.default)(RssFavoritesScreen.prototype), "didFocus", this).call(this);
        this.toggleFavorite = _$$_REQUIRE(_dependencyMap[11]).EventRegister.on(_events.default.TOGGLE_FAVORITE, function () {
          _this._retrieveData();
        });

        this._retrieveData();
      }
    }, {
      key: "willBlur",
      value: function willBlur() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(RssFavoritesScreen.prototype), "willBlur", this).call(this);

        _$$_REQUIRE(_dependencyMap[11]).EventRegister.rm(this.toggleFavorite);
      }
    }, {
      key: "onRefresh",
      value: function onRefresh(toastPriority, hideRefresh) {
        return _regenerator.default.async(function onRefresh$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.prev = 0;
                _context.next = 3;
                return _regenerator.default.awrap(this._retrieveData());

              case 3:
                _context.next = 7;
                break;

              case 5:
                _context.prev = 5;
                _context.t0 = _context["catch"](0);

              case 7:
                if (typeof hideRefresh === "function") {
                  hideRefresh();
                }

              case 8:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[0, 5]], Promise);
      }
    }, {
      key: "_retrieveData",
      value: function _retrieveData() {
        var favoritesConfig, items, orientation;
        return _regenerator.default.async(function _retrieveData$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                favoritesConfig = global.getRssFavoritesConfig();
                items = favoritesConfig.getFavorites();
                orientation = this.state.orientation;
                this.setState({
                  items: items,
                  loading: false,
                  orientation: orientation
                });

              case 4:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "Live News Favorites";
      }
    }, {
      key: "_getEmpty",
      value: function _getEmpty() {
        return this._getIconView("surprise", global.strings("msg_empty_favorites"));
      }
    }, {
      key: "_render",
      value: function _render() {
        return _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1
          }
        }, this._getComponent());
      }
    }]);
    return RssFavoritesScreen;
  }(_$$_REQUIRE(_dependencyMap[12]).RssBaseScreen);

  exports.RssFavoritesScreen = RssFavoritesScreen;
},2260,[5,80,7,8,90,12,14,16,17,28,460,572,2218]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2261,[2262]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.RssSearchScreen = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _RssContentHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _rssSearchAdvanceModal = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var RssSearchScreen = function (_RssBaseScreen) {
    (0, _inherits2.default)(RssSearchScreen, _RssBaseScreen);

    var _super = _createSuper(RssSearchScreen);

    function RssSearchScreen(props) {
      var _this;

      (0, _classCallCheck2.default)(this, RssSearchScreen);
      _this = _super.call(this, props, {}, false);
      _this._advanceModalRef = _react.default.createRef();
      _this.text = "";
      _this.searchData = {};
      _this.onSearch = _this._onSearch.bind((0, _assertThisInitialized2.default)(_this));
      _this.onAdvanceSearch = _this._onAdvanceSearch.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(RssSearchScreen, [{
      key: "onRefresh",
      value: function onRefresh(toastPriority, hideRefresh) {
        return _regenerator.default.async(function onRefresh$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.prev = 0;
                _context.next = 3;
                return _regenerator.default.awrap(this._retrieveData());

              case 3:
                _context.next = 7;
                break;

              case 5:
                _context.prev = 5;
                _context.t0 = _context["catch"](0);

              case 7:
                if (typeof hideRefresh === "function") {
                  hideRefresh();
                }

              case 8:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[0, 5]], Promise);
      }
    }, {
      key: "_onAdvanceSearch",
      value: function _onAdvanceSearch() {
        var searchData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        this.searchData = searchData;

        this._retrieveData();
      }
    }, {
      key: "_onSearch",
      value: function _onSearch() {
        var text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
        this.text = text;

        this._retrieveData();
      }
    }, {
      key: "_retrieveData",
      value: function _retrieveData() {
        var items, orientation;
        return _regenerator.default.async(function _retrieveData$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                items = [];
                this.setState({
                  loading: true
                });
                _context2.next = 4;
                return _regenerator.default.awrap(_RssContentHelper.default.getArticlesBySearch(this.text, this.searchData));

              case 4:
                items = _context2.sent;

                try {
                  orientation = _deviceUtils.default.getCurrentOrientation();
                  this.setState({
                    items: items,
                    orientation: orientation,
                    loading: false
                  });
                } catch (e) {
                  this.log(e);
                  this.setState({
                    error: true
                  });
                }

              case 6:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_getEmpty",
      value: function _getEmpty() {
        return this._getIconView("surprise", global.strings("msg_empty_searches"));
      }
    }, {
      key: "_getSearch",
      value: function _getSearch() {
        var _this2 = this;

        var _global$getRssIndex = global.getRssIndex(),
            supportColor = _global$getRssIndex.supportColor,
            borderRadius = _global$getRssIndex.borderRadius,
            drawerItemsFlat = _global$getRssIndex.drawerItemsFlat;

        var backgroundColor = _$$_REQUIRE(_dependencyMap[13]).Css.getDefaultBackgroundColor();

        var color = _$$_REQUIRE(_dependencyMap[13]).Css.getDefaultForegroundColor();

        return _react.default.createElement(_reactNative.View, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["rss-search-input"]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).SearchInput, {
          onSearch: this.onSearch,
          placeholder: global.strings("str_search"),
          mainColor: supportColor,
          textColor: color,
          textBackgroundColor: backgroundColor,
          borderRadius: borderRadius,
          onAdvancePress: function onAdvancePress() {
            _this2._advanceModalRef.current.expand();
          }
        }), _react.default.createElement(_rssSearchAdvanceModal.default, {
          ref: this._advanceModalRef,
          onSearch: this.onAdvanceSearch,
          categoriesNotSearchable: (drawerItemsFlat || []).filter(function (item) {
            return (0, _$$_REQUIRE(_dependencyMap[15]).parseExtra)(item.extra, "searchable", "1") === "0";
          }).map(function (item) {
            return item.drawerItemKey;
          })
        })));
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "Live News Search";
      }
    }, {
      key: "_render",
      value: function _render() {
        return _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1,
            justifyContent: "space-between"
          }
        }, this._getSearch(), this._getComponent());
      }
    }]);
    return RssSearchScreen;
  }(_$$_REQUIRE(_dependencyMap[16]).RssBaseScreen);

  exports.RssSearchScreen = RssSearchScreen;
},2262,[5,80,7,8,15,12,14,16,17,28,2207,458,2263,699,2278,2046,2218]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _rangepickerComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _dropDownPicker = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _rssSearchAdvanceModal = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _RssContentHelper = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  var _modal = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function getStartAndEndDateFromRange(_min, _max) {
    var startDate = _$$_REQUIRE(_dependencyMap[13]).DateUtils.subDaysToToday(30).toDate();

    if (_min && startDate.getTime() < _min) {
      startDate = _$$_REQUIRE(_dependencyMap[13]).DateUtils.toDate(_min);
    }

    var endDate = _$$_REQUIRE(_dependencyMap[13]).DateUtils.addDaysToToday(1).toDate();

    var maxDate;

    if (_max) {
      maxDate = _$$_REQUIRE(_dependencyMap[13]).DateUtils.addDaysToDate(_max, 1).toDate();

      if (endDate.getTime() > maxDate.getTime()) {
        endDate = maxDate;
      }
    }

    return {
      startDate: startDate,
      endDate: endDate,
      minDate: _min,
      maxDate: maxDate
    };
  }

  function Header(props) {
    return _react.default.createElement(_fontText.default, (0, _extends2.default)({
      style: [_rssSearchAdvanceModal.default.header, {
        color: _$$_REQUIRE(_dependencyMap[14]).Css.getDefaultForegroundColor()
      }],
      type: _fontText.Type.bold
    }, props));
  }

  var RssSearchAdvanceModal = (0, _react.forwardRef)(function (props, ref) {
    var onSearch = props.onSearch,
        defaultSearchData = props.defaultSearchData,
        categoriesNotSearchable = props.categoriesNotSearchable;

    var _useState = (0, _react.useState)([]),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        bylines = _useState2[0],
        setBylines = _useState2[1];

    var _useState3 = (0, _react.useState)([]),
        _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
        categories = _useState4[0],
        setCategories = _useState4[1];

    var _useState5 = (0, _react.useState)(),
        _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
        minDate = _useState6[0],
        setMinDate = _useState6[1];

    var _useState7 = (0, _react.useState)(),
        _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
        maxDate = _useState8[0],
        setMaxDate = _useState8[1];

    var tempSearchData = (0, _react.useRef)((0, _extends2.default)({
      order: _RssContentHelper.ORDER.DESC,
      sortBy: _RssContentHelper.SORT.BY_DATE,
      startDate: new Date(),
      endDate: new Date()
    }, defaultSearchData));
    var searchData = (0, _react.useRef)((0, _extends2.default)({}, tempSearchData.current));

    var _onRangeChange = function _onRangeChange(startDate, endDate) {
      tempSearchData.current.startDate = startDate;
      tempSearchData.current.endDate = endDate;
    };

    var _onSortByChange = function _onSortByChange(_ref) {
      var value = _ref.value;
      tempSearchData.current.sortBy = value;
    };

    var _onOrderChange = function _onOrderChange(_ref2) {
      var value = _ref2.value;
      tempSearchData.current.order = value;
    };

    var _onBylineChange = function _onBylineChange(selected) {
      tempSearchData.current.byline = selected.map(function (item) {
        return item.value;
      });
    };

    var _onCategoriesChange = function _onCategoriesChange(selected) {
      tempSearchData.current.categories = selected.map(function (item) {
        return item.value;
      });
    };

    var _cancel = function _cancel() {
      tempSearchData.current = (0, _extends2.default)({}, searchData.current);
    };

    var _search = function _search() {
      if (typeof onSearch === "function") {
        onSearch(tempSearchData.current);
      }

      searchData.current = (0, _extends2.default)({}, tempSearchData.current);
    };

    var _loading = function _callee() {
      var _await$RssContentHelp, _await$RssContentHelp2, min, max, _getStartAndEndDateFr, _min, _max, rest;

      return _regenerator.default.async(function _callee$(_context) {
        while (1) {
          switch (_context.prev = _context.next) {
            case 0:
              _context.prev = 0;
              _context.t0 = setBylines;
              _context.next = 4;
              return _regenerator.default.awrap(_RssContentHelper.default.getBylines());

            case 4:
              _context.t1 = _context.sent;
              (0, _context.t0)(_context.t1);
              _context.t2 = setCategories;
              _context.next = 9;
              return _regenerator.default.awrap(_RssContentHelper.default.getCategoriesForSearch(categoriesNotSearchable));

            case 9:
              _context.t3 = _context.sent;
              (0, _context.t2)(_context.t3);
              _context.next = 13;
              return _regenerator.default.awrap(_RssContentHelper.default.getRangeDates());

            case 13:
              _await$RssContentHelp = _context.sent;
              _await$RssContentHelp2 = (0, _slicedToArray2.default)(_await$RssContentHelp, 2);
              min = _await$RssContentHelp2[0];
              max = _await$RssContentHelp2[1];
              _getStartAndEndDateFr = getStartAndEndDateFromRange(min, max), _min = _getStartAndEndDateFr.minDate, _max = _getStartAndEndDateFr.maxDate, rest = (0, _objectWithoutProperties2.default)(_getStartAndEndDateFr, ["minDate", "maxDate"]);
              tempSearchData.current = (0, _extends2.default)({}, tempSearchData.current, rest);
              setMinDate(_min);
              setMaxDate(_max);
              _context.next = 26;
              break;

            case 23:
              _context.prev = 23;
              _context.t4 = _context["catch"](0);
              console.warn(_context.t4.message);

            case 26:
            case "end":
              return _context.stop();
          }
        }
      }, null, null, [[0, 23]], Promise);
    };

    (0, _react.useEffect)(function () {
      _loading();
    }, []);

    var _global$getRssIndex = global.getRssIndex(),
        supportColor = _global$getRssIndex.supportColor;

    var backgroundColor = _$$_REQUIRE(_dependencyMap[14]).Css.getDefaultBackgroundColor();

    var color = _$$_REQUIRE(_dependencyMap[14]).Css.getDefaultForegroundColor();

    var borderColor = _$$_REQUIRE(_dependencyMap[14]).Css.isDarkTheme ? color : _$$_REQUIRE(_dependencyMap[13]).colors.transparent600;
    var textStyle = [_rssSearchAdvanceModal.default.textStyle, {
      color: color
    }];
    var DropDownStyles = {
      textStyle: textStyle,
      iconStyle: textStyle,
      style: [_rssSearchAdvanceModal.default.dropDown, {
        backgroundColor: backgroundColor,
        borderColor: borderColor
      }]
    };
    var RangeStyles = {
      containerStyle: _rssSearchAdvanceModal.default.range,
      pickerProps: {
        labelStyle: textStyle,
        textStyle: textStyle,
        style: [{
          borderColor: borderColor
        }],
        iconStyle: [_rssSearchAdvanceModal.default.iconStyle, {
          color: borderColor
        }],
        locale: global.getLocaleConfig().getCurrentLocale()
      }
    };

    var sortByValues = _RssContentHelper.default.getSortByValues();

    var orderValues = _RssContentHelper.default.getOrderValues();

    return _react.default.createElement(_modal.default, {
      ref: ref,
      hasFooter: true,
      onConfirm: _search,
      onCancel: _cancel,
      backgroundColor: backgroundColor,
      foregroundColor: supportColor,
      containerStyle: {
        padding: 20
      }
    }, _react.default.createElement(Header, null, global.strings("str_date")), _react.default.createElement(_rangepickerComponent.default, (0, _extends2.default)({
      start: tempSearchData.current.startDate,
      end: tempSearchData.current.endDate,
      minDate: minDate,
      maxDate: maxDate,
      onRangeChange: _onRangeChange,
      showText: false,
      color: borderColor
    }, RangeStyles)), _react.default.createElement(Header, null, global.strings("str_sort_by")), _react.default.createElement(_dropDownPicker.default, (0, _extends2.default)({
      selected: sortByValues.findIndex(function (item) {
        return item.value === tempSearchData.current.sortBy;
      }),
      activeColor: supportColor,
      options: sortByValues,
      onChange: _onSortByChange
    }, DropDownStyles)), _react.default.createElement(Header, null, global.strings("srt_order")), _react.default.createElement(_dropDownPicker.default, (0, _extends2.default)({
      selected: orderValues.findIndex(function (item) {
        return item.value === tempSearchData.current.order;
      }),
      activeColor: supportColor,
      options: orderValues,
      onChange: _onOrderChange
    }, DropDownStyles)), bylines.length ? _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(Header, null, global.strings("str_byline")), _react.default.createElement(_dropDownPicker.default, (0, _extends2.default)({
      selected: bylines.findIndex(function (item) {
        return item.value === tempSearchData.current.byline;
      }),
      activeColor: supportColor,
      options: bylines,
      onChange: _onBylineChange
    }, DropDownStyles))) : null, categories.length ? _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(Header, null, global.strings("str_categories")), _react.default.createElement(_dropDownPicker.default, (0, _extends2.default)({
      selected: categories.map(function (item, _i) {
        return tempSearchData.current.categories && tempSearchData.current.categories.includes(item.value) ? _i : -1;
      }).filter(function (item) {
        return item !== -1;
      }),
      activeColor: supportColor,
      options: categories,
      onChange: _onCategoriesChange
    }, DropDownStyles, {
      multiChoice: true
    }))) : null);
  });
  RssSearchAdvanceModal.propTypes = {
    onSearch: _propTypes.default.func,
    defaultSearchData: _propTypes.default.shape({
      startDate: _propTypes.default.any,
      endDate: _propTypes.default.any,
      order: _propTypes.default.string,
      sortBy: _propTypes.default.string,
      byline: _propTypes.default.string,
      categories: _propTypes.default.string
    }),
    categoriesNotSearchable: _propTypes.default.arrayOf(_propTypes.default.string)
  };
  RssSearchAdvanceModal.defaultProps = {
    defaultSearchData: {},
    categoriesNotSearchable: []
  };
  var _default = RssSearchAdvanceModal;
  exports.default = _default;
},2263,[5,80,108,41,6,17,201,1879,2264,2275,2277,2207,1882,462,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _datepickerComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var styles = _reactNative.StyleSheet.create({
    container: {},
    pickerContainer: {
      flexDirection: "row",
      flex: 1
    },
    picker: {
      height: 50,
      alignItems: "center",
      justifyContent: "center",
      marginBottom: 5,
      marginTop: 5,
      flex: 1,
      borderWidth: 0.3,
      borderColor: _$$_REQUIRE(_dependencyMap[8]).colors.transparent600,
      borderRadius: 20
    },
    icon: {
      color: _$$_REQUIRE(_dependencyMap[8]).colors.transparent600
    }
  });

  function RangePickerComponent(props) {
    var showText = props.showText,
        start = props.start,
        end = props.end,
        onRangeChange = props.onRangeChange,
        color = props.color,
        containerStyle = props.containerStyle,
        minDate = props.minDate,
        maxDate = props.maxDate,
        pickerProps = props.pickerProps,
        pickerStartProps = props.pickerStartProps,
        pickerEndProps = props.pickerEndProps;

    var _useState = (0, _react.useState)((0, _datepickerComponent.getDate)(start)),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        startRange = _useState2[0],
        setStartRange = _useState2[1];

    var _useState3 = (0, _react.useState)((0, _datepickerComponent.getDate)(end)),
        _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
        endRange = _useState4[0],
        setEndRange = _useState4[1];

    var _onStartChange = function _onStartChange(strDate, date) {
      var startDate = new Date(date);

      if (startDate > new Date(endRange)) {
        setStartRange(strDate);
        setEndRange(strDate);
      } else {
        setStartRange(strDate);
      }
    };

    var _onEndChange = function _onEndChange(strDate) {
      setEndRange(strDate);
    };

    (0, _react.useEffect)(function () {
      if (typeof onRangeChange === "function") {
        onRangeChange(startRange, endRange);
      }
    }, [startRange, endRange]);
    return _react.default.createElement(_reactNative.View, {
      style: [styles.container, containerStyle]
    }, _react.default.createElement(_datepickerComponent.default, (0, _extends2.default)({
      title: showText ? global.strings("btn_from") : "",
      color: color,
      date: startRange,
      minDate: (0, _datepickerComponent.getDate)(minDate),
      maxDate: (0, _datepickerComponent.getDate)(maxDate)
    }, pickerProps, pickerStartProps, {
      style: [styles.picker, {
        borderColor: color
      }, pickerProps.style, pickerStartProps.style],
      containerStyle: [styles.pickerContainer, pickerProps.containerStyle, pickerStartProps.containerStyle],
      iconStyle: [styles.icon, pickerProps.iconStyle, pickerStartProps.iconStyle],
      onDateChange: _onStartChange
    })), !showText ? _react.default.createElement(_iconComponent.default, {
      type: _iconComponent.TecnaviaIconType.MATERIAL_COMMUNITY_ICONS,
      name: "arrow-left-right",
      style: {
        fontSize: 20,
        margin: 5,
        alignSelf: "center",
        color: color
      }
    }) : null, _react.default.createElement(_datepickerComponent.default, (0, _extends2.default)({
      title: showText ? global.strings("btn_to") : "",
      date: endRange,
      color: color,
      minDate: startRange,
      maxDate: (0, _datepickerComponent.getDate)(maxDate)
    }, pickerProps, pickerEndProps, {
      style: [styles.picker, {
        borderColor: color
      }, pickerProps.style, pickerEndProps.style],
      containerStyle: [styles.pickerContainer, pickerProps.containerStyle, pickerStartProps.containerStyle],
      iconStyle: [styles.icon, pickerProps.iconStyle, pickerStartProps.iconStyle],
      onDateChange: _onEndChange
    })));
  }

  RangePickerComponent.defaultProps = {
    showText: true,
    start: new Date(),
    end: new Date(),
    minDate: new Date(),
    containerStyle: {},
    pickerProps: {},
    pickerStartProps: {},
    pickerEndProps: {}
  };
  RangePickerComponent.propTypes = {
    start: _propTypes.default.string,
    end: _propTypes.default.string,
    color: _propTypes.default.string,
    showText: _propTypes.default.bool,
    minDate: _propTypes.default.object,
    maxDate: _propTypes.default.object,
    onRangeChange: _propTypes.default.func.isRequired,
    containerStyle: _propTypes.default.any,
    pickerProps: _datepickerComponent.default.propTypes,
    pickerStartProps: _datepickerComponent.default.propTypes,
    pickerEndProps: _datepickerComponent.default.propTypes
  };
  var _default = RangePickerComponent;
  exports.default = _default;
},2264,[5,6,41,17,201,28,2265,1806,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.getDate = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _pickerComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var FORMATS = {
    date: "YYYY-MM-DD",
    datetime: "YYYY-MM-DD HH:mm",
    time: "HH:mm"
  };

  var getDate = function getDate(date, format) {
    if (date) {
      if (date instanceof Date) {
        return date;
      }

      return _$$_REQUIRE(_dependencyMap[8]).DateUtils.toDate(date, format);
    }

    return date;
  };

  exports.getDate = getDate;

  var styles = _reactNative.StyleSheet.create({
    container: {
      alignItems: "center"
    },
    dateTouchBody: {
      flexDirection: "row",
      flex: 1,
      alignItems: "center",
      justifyContent: "center"
    },
    dateInput: {
      flex: 1,
      flexDirection: "row",
      marginHorizontal: 10,
      alignItems: "center",
      justifyContent: "space-evenly"
    },
    dateText: {
      flex: 1,
      padding: 2,
      textAlign: "center"
    },
    dateIcon: {
      marginHorizontal: 5,
      fontSize: 20
    }
  });

  var DatePicker = (0, _react.forwardRef)(function (props, ref) {
    var mode = props.mode,
        _props$format = props.format,
        format = _props$format === undefined ? FORMATS[mode] : _props$format,
        startEmpty = props.startEmpty,
        onDateChange = props.onDateChange,
        style = props.style,
        containerStyle = props.containerStyle,
        iconStyle = props.iconStyle,
        labelStyle = props.labelStyle,
        color = props.color,
        title = props.title,
        locale = props.locale;

    var _useState = (0, _react.useState)(startEmpty ? undefined : getDate(props.date, format) || new Date()),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        date = _useState2[0],
        setDate = _useState2[1];

    var _useState3 = (0, _react.useState)(getDate(props.minDate, format)),
        _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
        minDate = _useState4[0],
        setMinDate = _useState4[1];

    var _useState5 = (0, _react.useState)(getDate(props.maxDate, format)),
        _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
        maxDate = _useState6[0],
        setMaxDate = _useState6[1];

    (0, _react.useImperativeHandle)(ref, function () {
      return {
        getValue: function getValue() {
          return date;
        }
      };
    });

    var _getDateStr = function _getDateStr(toConvert) {
      return _$$_REQUIRE(_dependencyMap[8]).DateUtils.getDateString(toConvert, format);
    };

    var _cancel = function _cancel() {
      setDate(startEmpty ? undefined : date);
    };

    var _setDate = function _setDate(event, newDate) {
      if (newDate !== undefined) {
        setDate(newDate);
      } else {
        _cancel();
      }
    };

    (0, _react.useEffect)(function () {
      setDate(getDate(props.date, format));
    }, [props.date]);
    (0, _react.useEffect)(function () {
      setMinDate(getDate(props.minDate, format));
    }, [props.minDate]);
    (0, _react.useEffect)(function () {
      setMaxDate(getDate(props.maxDate, format));
    }, [props.maxDate]);
    (0, _react.useEffect)(function () {
      if (typeof onDateChange === "function" && date) {
        onDateChange(_getDateStr(date), date);
      }
    }, [date]);
    return _react.default.createElement(_reactNative.View, {
      style: [styles.container, containerStyle]
    }, title ? _react.default.createElement(_fontText.default, {
      style: labelStyle
    }, title) : null, _react.default.createElement(_reactNative.View, {
      style: [styles.dateTouchBody, style]
    }, _react.default.createElement(_reactNative.View, {
      style: styles.dateInput
    }, _react.default.createElement(_iconComponent.default, {
      style: [styles.dateIcon, iconStyle],
      type: _iconComponent.TecnaviaIconType.MATERIAL_COMMUNITY_ICONS,
      name: "calendar-month"
    }), _react.default.createElement(_pickerComponent.default, {
      visible: true,
      date: date,
      minDate: getDate(minDate, format),
      maxDate: getDate(maxDate, format),
      mode: mode,
      onChange: _setDate,
      style: {
        flex: 1
      },
      locale: locale,
      color: color
    }))));
  });
  DatePicker.defaultProps = {
    mode: "date",
    startEmpty: false
  };
  DatePicker.propTypes = {
    style: _propTypes.default.any,
    containerStyle: _propTypes.default.any,
    labelStyle: _propTypes.default.any,
    iconStyle: _propTypes.default.any,
    color: _propTypes.default.string,
    title: _propTypes.default.string,
    mode: _propTypes.default.oneOf(["date", "datetime", "time"]),
    format: _propTypes.default.string,
    date: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.instanceOf(Date)]),
    minDate: _propTypes.default.string,
    maxDate: _propTypes.default.string,
    onDateChange: _propTypes.default.func,
    startEmpty: _propTypes.default.bool,
    locale: _propTypes.default.string
  };
  var _default = DatePicker;
  exports.default = _default;
},2265,[5,41,17,201,28,1879,2266,1806,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _datetimepicker = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  function Picker(props) {
    var visible = props.visible,
        date = props.date,
        minDate = props.minDate,
        maxDate = props.maxDate,
        mode = props.mode,
        onChange = props.onChange,
        style = props.style,
        locale = props.locale,
        color = props.color;

    if (visible) {
      return _react.default.createElement(_datetimepicker.default, {
        value: date || new Date(),
        mode: mode,
        maximumDate: maxDate,
        minimumDate: minDate,
        display: "default",
        onChange: onChange,
        style: style,
        textColor: color,
        locale: locale
      });
    }

    return null;
  }

  Picker.propTypes = {
    visible: _propTypes.default.bool,
    date: _propTypes.default.any,
    minDate: _propTypes.default.any,
    maxDate: _propTypes.default.any,
    mode: _propTypes.default.string,
    onChange: _propTypes.default.func,
    color: _propTypes.default.string,
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    locale: _propTypes.default.string
  };
  Picker.defaultProps = {
    visible: false,
    onChange: function onChange() {}
  };
  var _default = Picker;
  exports.default = _default;
},2266,[5,17,201,2267]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  var _exportNames = {
    DateTimePickerAndroid: true
  };
  Object.defineProperty(exports, "DateTimePickerAndroid", {
    enumerable: true,
    get: function get() {
      return _$$_REQUIRE(_dependencyMap[0]).DateTimePickerAndroid;
    }
  });
  exports.default = undefined;

  var _datetimepicker = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  Object.keys(_$$_REQUIRE(_dependencyMap[3])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[3])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[3])[key];
      }
    });
  });
  var _default = _datetimepicker.default;
  exports.default = _default;
},2267,[2268,5,2269,2274]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.DateTimePickerAndroid = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var warn = function warn() {
    console.warn("DateTimePickerAndroid is not supported on: " + _reactNative.Platform.OS);
  };

  var DateTimePickerAndroid = {
    open: warn,
    dismiss: warn
  };
  exports.DateTimePickerAndroid = DateTimePickerAndroid;
},2268,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = Picker;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _picker = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var React = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var getDisplaySafe = function getDisplaySafe(display) {
    var majorVersionIOS = parseInt(_reactNative.Platform.Version, 10);

    if (display === _$$_REQUIRE(_dependencyMap[6]).IOS_DISPLAY.inline && majorVersionIOS < 14) {
      return _$$_REQUIRE(_dependencyMap[6]).IOS_DISPLAY.spinner;
    }

    if (majorVersionIOS < 14) {
      return _$$_REQUIRE(_dependencyMap[6]).IOS_DISPLAY.spinner;
    }

    return display;
  };

  function Picker(_ref) {
    var value = _ref.value,
        locale = _ref.locale,
        maximumDate = _ref.maximumDate,
        minimumDate = _ref.minimumDate,
        minuteInterval = _ref.minuteInterval,
        timeZoneOffsetInMinutes = _ref.timeZoneOffsetInMinutes,
        textColor = _ref.textColor,
        accentColor = _ref.accentColor,
        themeVariant = _ref.themeVariant,
        onChange = _ref.onChange,
        _ref$mode = _ref.mode,
        mode = _ref$mode === undefined ? _$$_REQUIRE(_dependencyMap[6]).IOS_MODE.date : _ref$mode,
        _ref$display = _ref.display,
        providedDisplay = _ref$display === undefined ? _$$_REQUIRE(_dependencyMap[6]).IOS_DISPLAY.default : _ref$display,
        _ref$disabled = _ref.disabled,
        disabled = _ref$disabled === undefined ? false : _ref$disabled,
        other = (0, _objectWithoutProperties2.default)(_ref, ["value", "locale", "maximumDate", "minimumDate", "minuteInterval", "timeZoneOffsetInMinutes", "textColor", "accentColor", "themeVariant", "onChange", "mode", "display", "disabled"]);
    (0, _$$_REQUIRE(_dependencyMap[7]).sharedPropsValidation)({
      value: value
    });
    var display = getDisplaySafe(providedDisplay);

    var _onChange = function _onChange(event) {
      var timestamp = event.nativeEvent.timestamp;
      var unifiedEvent = (0, _extends2.default)({}, event, {
        type: _$$_REQUIRE(_dependencyMap[6]).EVENT_TYPE_SET
      });
      var date = timestamp !== undefined ? new Date(timestamp) : undefined;
      onChange && onChange(unifiedEvent, date);
    };

    var onDismiss = function onDismiss() {
      onChange && onChange({
        type: _$$_REQUIRE(_dependencyMap[6]).EVENT_TYPE_DISMISSED,
        nativeEvent: {
          timestamp: value.getTime()
        }
      }, value);
    };

    return React.createElement(_picker.default, (0, _extends2.default)({}, other, {
      date: (0, _$$_REQUIRE(_dependencyMap[7]).dateToMilliseconds)(value),
      locale: locale !== null && locale !== '' ? locale : undefined,
      maximumDate: (0, _$$_REQUIRE(_dependencyMap[7]).dateToMilliseconds)(maximumDate),
      minimumDate: (0, _$$_REQUIRE(_dependencyMap[7]).dateToMilliseconds)(minimumDate),
      mode: mode,
      minuteInterval: minuteInterval,
      timeZoneOffsetInMinutes: timeZoneOffsetInMinutes,
      onChange: _onChange,
      onPickerDismiss: onDismiss,
      textColor: textColor,
      accentColor: accentColor,
      themeVariant: themeVariant,
      onStartShouldSetResponder: function onStartShouldSetResponder() {
        return true;
      },
      onResponderTerminationRequest: function onResponderTerminationRequest() {
        return false;
      },
      displayIOS: display,
      enabled: disabled !== true
    }));
  }
},2269,[5,6,108,2270,17,28,2272,2273]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _DateTimePickerNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _default = _DateTimePickerNativeComponent.default;
  exports.default = _default;
},2270,[5,2271]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _codegenNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _default = (0, _codegenNativeComponent.default)('RNDateTimePicker');

  exports.default = _default;
},2271,[5,190]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.NEUTRAL_BUTTON_ACTION = exports.DISMISS_ACTION = exports.TIME_SET_ACTION = exports.DATE_SET_ACTION = exports.DAY_OF_WEEK = exports.IOS_MODE = exports.WINDOWS_MODE = exports.ANDROID_MODE = exports.IOS_DISPLAY = exports.ANDROID_EVT_TYPE = exports.EVENT_TYPE_DISMISSED = exports.EVENT_TYPE_SET = exports.ANDROID_DISPLAY = exports.MIN_MS = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var MIN_MS = 60000;
  exports.MIN_MS = MIN_MS;
  var ANDROID_DISPLAY = Object.freeze({
    default: 'default',
    spinner: 'spinner',
    clock: 'clock',
    calendar: 'calendar'
  });
  exports.ANDROID_DISPLAY = ANDROID_DISPLAY;
  var EVENT_TYPE_SET = 'set';
  exports.EVENT_TYPE_SET = EVENT_TYPE_SET;
  var EVENT_TYPE_DISMISSED = 'dismissed';
  exports.EVENT_TYPE_DISMISSED = EVENT_TYPE_DISMISSED;
  var ANDROID_EVT_TYPE = Object.freeze({
    set: EVENT_TYPE_SET,
    dismissed: EVENT_TYPE_DISMISSED,
    neutralButtonPressed: 'neutralButtonPressed'
  });
  exports.ANDROID_EVT_TYPE = ANDROID_EVT_TYPE;
  var IOS_DISPLAY = Object.freeze({
    default: 'default',
    spinner: 'spinner',
    compact: 'compact',
    inline: 'inline'
  });
  exports.IOS_DISPLAY = IOS_DISPLAY;
  var COMMON_MODES = Object.freeze({
    date: 'date',
    time: 'time'
  });
  var ANDROID_MODE = COMMON_MODES;
  exports.ANDROID_MODE = ANDROID_MODE;
  var WINDOWS_MODE = COMMON_MODES;
  exports.WINDOWS_MODE = WINDOWS_MODE;
  var IOS_MODE = Object.freeze((0, _extends2.default)({}, COMMON_MODES, {
    datetime: 'datetime',
    countdown: 'countdown'
  }));
  exports.IOS_MODE = IOS_MODE;
  var DAY_OF_WEEK = Object.freeze({
    Sunday: 0,
    Monday: 1,
    Tuesday: 2,
    Wednesday: 3,
    Thursday: 4,
    Friday: 5,
    Saturday: 6
  });
  exports.DAY_OF_WEEK = DAY_OF_WEEK;
  var DATE_SET_ACTION = 'dateSetAction';
  exports.DATE_SET_ACTION = DATE_SET_ACTION;
  var TIME_SET_ACTION = 'timeSetAction';
  exports.TIME_SET_ACTION = TIME_SET_ACTION;
  var DISMISS_ACTION = 'dismissedAction';
  exports.DISMISS_ACTION = DISMISS_ACTION;
  var NEUTRAL_BUTTON_ACTION = 'neutralButtonAction';
  exports.NEUTRAL_BUTTON_ACTION = NEUTRAL_BUTTON_ACTION;
},2272,[5,6]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.toMilliseconds = toMilliseconds;
  exports.dateToMilliseconds = dateToMilliseconds;
  exports.sharedPropsValidation = sharedPropsValidation;

  var _invariant = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  function toMilliseconds(options) {
    for (var _len = arguments.length, keys = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
      keys[_key - 1] = arguments[_key];
    }

    keys.forEach(function each(key) {
      var value = options[key];

      if (Object.prototype.toString.call(value) === '[object Date]') {
        options[key] = value.getTime();
      }
    });
  }

  function dateToMilliseconds(date) {
    if (!date) {
      return;
    }

    return date.getTime();
  }

  function sharedPropsValidation(_ref) {
    var value = _ref.value;
    (0, _invariant.default)(value, 'A date or time must be specified as `value` prop');
    (0, _invariant.default)(value instanceof Date, '`value` prop must be an instance of Date object');
  }
},2273,[5,36]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.createNeutralEvtParams = exports.createDismissEvtParams = exports.createDateTimeSetEvtParams = undefined;

  var createDateTimeSetEvtParams = function createDateTimeSetEvtParams(date) {
    return [{
      type: _$$_REQUIRE(_dependencyMap[0]).EVENT_TYPE_SET,
      nativeEvent: {
        timestamp: date.getTime()
      }
    }, date];
  };

  exports.createDateTimeSetEvtParams = createDateTimeSetEvtParams;

  var createDismissEvtParams = function createDismissEvtParams(date) {
    return [{
      type: _$$_REQUIRE(_dependencyMap[0]).ANDROID_EVT_TYPE.dismissed,
      nativeEvent: {
        timestamp: date.getTime()
      }
    }, date];
  };

  exports.createDismissEvtParams = createDismissEvtParams;

  var createNeutralEvtParams = function createNeutralEvtParams(date) {
    return [{
      type: _$$_REQUIRE(_dependencyMap[0]).ANDROID_EVT_TYPE.neutralButtonPressed,
      nativeEvent: {
        timestamp: date.getTime()
      }
    }, date];
  };

  exports.createNeutralEvtParams = createNeutralEvtParams;
},2274,[2272]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _dropDownList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _dropDownButton = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function DropDown(props) {
    var onChange = props.onChange,
        rest = (0, _objectWithoutProperties2.default)(props, ["onChange"]);

    var _getText = function _getText(selected) {
      if (!selected) {
        return global.strings("str_select");
      }

      if (rest.multiChoice) {
        return selected.map(function (item) {
          return item.label;
        }).join(",") || global.strings("str_select");
      }

      return selected.label;
    };

    return _react.default.createElement(_dropDownList.default, (0, _extends2.default)({}, props, {
      onClose: function onClose(selected) {
        return typeof onChange === "function" && onChange(selected);
      }
    }), function (_ref) {
      var selected = _ref.selected,
          expanded = _ref.expanded;
      return _react.default.createElement(_dropDownButton.default, {
        text: _getText(selected),
        expanded: expanded
      });
    });
  }

  DropDown.propTypes = (0, _extends2.default)({
    onChange: _propTypes.default.func.isRequired,
    style: _propTypes.default.any,
    iconStyle: _propTypes.default.any,
    textStyle: _propTypes.default.any
  }, _dropDownList.default.propTypes);
  DropDown.defaultProps = {};
  var _default = DropDown;
  exports.default = _default;
},2275,[5,6,108,17,201,2243,2276]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var styles = _reactNative.StyleSheet.create({
    textContainer: {
      width: "100%",
      height: 50,
      paddingHorizontal: 10,
      backgroundColor: _$$_REQUIRE(_dependencyMap[5]).colors.white,
      borderWidth: 0.3,
      borderColor: _$$_REQUIRE(_dependencyMap[5]).colors.transparent200,
      borderRadius: 20,
      alignItems: "center",
      justifyContent: "space-evenly",
      flexDirection: "row"
    },
    text: {
      flex: 1
    },
    icon: {
      fontSize: 20,
      marginHorizontal: 5
    }
  });

  function DropDownButton(props) {
    var style = props.style,
        iconStyle = props.iconStyle,
        textStyle = props.textStyle,
        text = props.text,
        expanded = props.expanded;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).Css, {
      classes: ["drop-down-text-container"]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[7]).Circle.Button, {
      style: style
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).Css, {
      classes: ["drop-down-text"]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[7]).Circle.Text, {
      style: textStyle,
      numberOfLines: 2
    }, text)), _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).Css, {
      classes: ["drop-down-icon"]
    }, _react.default.createElement(_iconComponent.default, {
      style: [styles.icon, {
        color: _$$_REQUIRE(_dependencyMap[6]).Css.getDefaultForegroundColor()
      }, iconStyle],
      type: _iconComponent.TecnaviaIconType.MATERIAL_COMMUNITY_ICONS,
      name: expanded ? "menu-up" : "menu-down"
    }))));
  }

  DropDownButton.propTypes = {
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]),
    iconStyle: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]),
    textStyle: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]),
    text: _propTypes.default.string,
    expanded: _propTypes.default.bool
  };
  DropDownButton.defaultProps = {
    text: "",
    expanded: false
  };
  var _default = DropDownButton;
  exports.default = _default;
},2276,[5,17,201,28,1806,462,699,2202]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    modal: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white,
      paddingHorizontal: 20,
      paddingVertical: 10,
      borderRadius: 20
    },
    header: {
      paddingVertical: 10,
      fontSize: 18
    },
    textStyle: {
      color: _$$_REQUIRE(_dependencyMap[1]).colors.black
    },
    iconStyle: {
      color: _$$_REQUIRE(_dependencyMap[1]).colors.transparent600
    },
    dropDown: {
      borderWidth: 0.3,
      borderColor: _$$_REQUIRE(_dependencyMap[1]).colors.transparent600,
      borderRadius: 20
    },
    range: {
      flexDirection: "row",
      width: "100%",
      height: 50
    }
  });

  exports.default = _default;
},2277,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2278,[2279]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.SearchInput = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  var _fontTextInput = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SearchInput = function (_Component) {
    (0, _inherits2.default)(SearchInput, _Component);

    var _super = _createSuper(SearchInput);

    function SearchInput(props) {
      var _this;

      (0, _classCallCheck2.default)(this, SearchInput);
      _this = _super.call(this, props);
      var placeholder = _this.props.placeholder;
      _this.placeholder = placeholder || "Search";
      _this.onFocus = _this._onFocus.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSearch = _this._onSearch.bind((0, _assertThisInitialized2.default)(_this));
      _this.onChangeText = _this._onChangeText.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        keyword: ""
      };
      return _this;
    }

    (0, _createClass2.default)(SearchInput, [{
      key: "_onSearch",
      value: function _onSearch() {
        var _this$props, beforeSearch, keyboardShouldPersist, onSearch, afterSearch, keyword;

        return _regenerator.default.async(function _onSearch$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _this$props = this.props, beforeSearch = _this$props.beforeSearch, keyboardShouldPersist = _this$props.keyboardShouldPersist, onSearch = _this$props.onSearch, afterSearch = _this$props.afterSearch;
                keyword = this.state.keyword;

                if (!beforeSearch) {
                  _context.next = 5;
                  break;
                }

                _context.next = 5;
                return _regenerator.default.awrap(beforeSearch(keyword));

              case 5:
                if (!(keyboardShouldPersist === false)) {
                  _context.next = 8;
                  break;
                }

                _context.next = 8;
                return _regenerator.default.awrap(_reactNative.Keyboard.dismiss());

              case 8:
                if (!onSearch) {
                  _context.next = 11;
                  break;
                }

                _context.next = 11;
                return _regenerator.default.awrap(onSearch(keyword));

              case 11:
                if (!afterSearch) {
                  _context.next = 14;
                  break;
                }

                _context.next = 14;
                return _regenerator.default.awrap(afterSearch(keyword));

              case 14:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_onChangeText",
      value: function _onChangeText(text) {
        var onChangeText, keyword;
        return _regenerator.default.async(function _onChangeText$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                onChangeText = this.props.onChangeText;
                keyword = this.state.keyword;
                _context2.next = 4;
                return _regenerator.default.awrap(this.setState({
                  keyword: text
                }));

              case 4:
                if (!onChangeText) {
                  _context2.next = 7;
                  break;
                }

                _context2.next = 7;
                return _regenerator.default.awrap(onChangeText(keyword));

              case 7:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_onFocus",
      value: function _onFocus() {
        var _this$props2, beforeFocus, onFocus, afterFocus, keyword;

        return _regenerator.default.async(function _onFocus$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _this$props2 = this.props, beforeFocus = _this$props2.beforeFocus, onFocus = _this$props2.onFocus, afterFocus = _this$props2.afterFocus;
                keyword = this.state.keyword;

                if (!beforeFocus) {
                  _context3.next = 5;
                  break;
                }

                _context3.next = 5;
                return _regenerator.default.awrap(beforeFocus());

              case 5:
                if (!(this.inputKeyword && !this.inputKeyword.isFocused())) {
                  _context3.next = 8;
                  break;
                }

                _context3.next = 8;
                return _regenerator.default.awrap(this.inputKeyword.focus());

              case 8:
                if (!onFocus) {
                  _context3.next = 11;
                  break;
                }

                _context3.next = 11;
                return _regenerator.default.awrap(onFocus(keyword));

              case 11:
                if (!afterFocus) {
                  _context3.next = 14;
                  break;
                }

                _context3.next = 14;
                return _regenerator.default.awrap(afterFocus());

              case 14:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props3 = this.props,
            editable = _this$props3.editable,
            onBlur = _this$props3.onBlur,
            blurOnSubmit = _this$props3.blurOnSubmit,
            keyboardType = _this$props3.keyboardType,
            autoCapitalize = _this$props3.autoCapitalize,
            autoFocus = _this$props3.autoFocus,
            mainColor = _this$props3.mainColor,
            textBackgroundColor = _this$props3.textBackgroundColor,
            textColor = _this$props3.textColor,
            borderRadius = _this$props3.borderRadius,
            onAdvancePress = _this$props3.onAdvancePress,
            style = _this$props3.style;
        var keyword = this.state.keyword;

        var searchTextStyle = _$$_REQUIRE(_dependencyMap[13]).Css.getStyleObjByCssClasses(["search-input"]);

        var borderColor = _$$_REQUIRE(_dependencyMap[14]).CssUtils.getAttributeFromStyle("borderColor", [style, searchTextStyle], mainColor);

        var color = _$$_REQUIRE(_dependencyMap[14]).CssUtils.getAttributeFromStyle("color", [style, searchTextStyle], textColor);

        var backgroundColor = _$$_REQUIRE(_dependencyMap[14]).CssUtils.getAttributeFromStyle("backgroundColor", [style, searchTextStyle], textBackgroundColor);

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["search-container"]
        }, _react.default.createElement(_reactNative.View, {
          style: [_$$_REQUIRE(_dependencyMap[15]).styles.container, {
            backgroundColor: borderColor
          }]
        }, _react.default.createElement(_fontTextInput.default, {
          ref: function ref(inputKeyword) {
            _this2.inputKeyword = inputKeyword;
          },
          style: [_$$_REQUIRE(_dependencyMap[15]).styles.input, searchTextStyle, style, {
            borderColor: borderColor,
            backgroundColor: backgroundColor,
            borderWidth: 1,
            borderRadius: borderRadius,
            color: color
          }],
          editable: editable,
          value: keyword,
          onChangeText: this.onChangeText,
          placeholder: this.placeholder,
          placeholderTextColor: color,
          onSubmitEditing: this.onSearch,
          autoCorrect: false,
          blurOnSubmit: blurOnSubmit,
          returnKeyType: "search",
          keyboardType: keyboardType || "default",
          autoCapitalize: autoCapitalize,
          onBlur: onBlur,
          onFocus: this.onFocus,
          underlineColorAndroid: "transparent",
          autoFocus: autoFocus
        }), typeof onAdvancePress === "function" ? _react.default.createElement(_reactNative.TouchableOpacity, {
          onPress: onAdvancePress,
          style: _$$_REQUIRE(_dependencyMap[15]).styles.iconContainer
        }, _react.default.createElement(_iconComponent.default, {
          type: _iconComponent.TecnaviaIconType.MATERIAL_COMMUNITY_ICONS,
          name: "tune",
          style: [_$$_REQUIRE(_dependencyMap[15]).styles.icon, {
            color: color
          }]
        })) : null));
      }
    }]);
    return SearchInput;
  }(_react.Component);

  exports.SearchInput = SearchInput;
  SearchInput.propTypes = {
    afterFocus: _propTypes.default.func,
    afterSearch: _propTypes.default.func,
    autoCapitalize: _propTypes.default.string,
    autoFocus: _propTypes.default.bool,
    beforeFocus: _propTypes.default.func,
    beforeSearch: _propTypes.default.func,
    blurOnSubmit: _propTypes.default.bool,
    editable: _propTypes.default.bool,
    keyboardShouldPersist: _propTypes.default.bool,
    keyboardType: _propTypes.default.string,
    onBlur: _propTypes.default.func,
    onAdvancePress: _propTypes.default.func,
    onChangeText: _propTypes.default.func,
    onFocus: _propTypes.default.func,
    onSearch: _propTypes.default.func,
    placeholder: _propTypes.default.string,
    mainColor: _propTypes.default.string,
    textBackgroundColor: _propTypes.default.string,
    textColor: _propTypes.default.string,
    borderRadius: _propTypes.default.number,
    style: _propTypes.default.any
  };
  SearchInput.defaultProps = {
    editable: true,
    blurOnSubmit: false,
    keyboardShouldPersist: false,
    mainColor: _$$_REQUIRE(_dependencyMap[14]).colors.black,
    textBackgroundColor: _$$_REQUIRE(_dependencyMap[14]).colors.white,
    textColor: _$$_REQUIRE(_dependencyMap[14]).colors.black,
    borderRadius: 0,
    autoFocus: false
  };
},2279,[5,80,7,8,15,12,14,16,17,201,28,1806,2257,699,462,2280]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    container: {
      height: 50,
      flexDirection: "row",
      justifyContent: "flex-start",
      padding: 5
    },
    input: {
      flex: 1,
      height: 40,
      paddingTop: 5,
      paddingBottom: 5,
      paddingRight: 20,
      paddingLeft: 20,
      fontSize: 13
    },
    iconContainer: {
      position: "absolute",
      top: 10,
      end: 10,
      height: 30,
      justifyContent: "center"
    },
    icon: {
      fontSize: 30
    }
  });

  exports.styles = styles;
},2280,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2281,[2282]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.EmptyScreen = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var EmptyScreen = function (_React$Component) {
    (0, _inherits2.default)(EmptyScreen, _React$Component);

    var _super = _createSuper(EmptyScreen);

    function EmptyScreen() {
      (0, _classCallCheck2.default)(this, EmptyScreen);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(EmptyScreen, [{
      key: "render",
      value: function render() {
        return null;
      }
    }]);
    return EmptyScreen;
  }(_react.default.Component);

  exports.EmptyScreen = EmptyScreen;
},2282,[5,7,8,12,14,16,17]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2283,[2284]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.DrawerComponent = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _drawerLabelComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _navigationUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function hasChildren(structure, parent) {
    return structure && structure.find(function (_ref) {
      var item = _ref.item;
      return item.parent === parent.drawerItemKey && !item.neverShowInDrawer;
    }) !== undefined;
  }

  function Scene(props) {
    var item = props.item,
        focused = props.focused,
        navigation = props.navigation,
        onItemPress = props.onItemPress,
        accordion = props.accordion;

    if (item) {
      var componentProps = (0, _extends2.default)({}, props);

      if (accordion) {
        var onAccordionPress = _react.default.useCallback(function () {
          var collapse = item.collapse;
          item.collapse = !collapse;
          var collapsed = !collapse ? "1" : "0";
          global.getUserSettings().setValue(_navigationUtils.default.getCollapsedStateKeyForDrawerItem(item), collapsed);

          _$$_REQUIRE(_dependencyMap[9]).EventRegister.emit(_events.default.TOGGLE_DRAWER_ITEM, {
            category: item.drawerItemKey,
            collapsed: collapsed
          });
        });

        componentProps.onAccordionPress = onAccordionPress;
      }

      var Component = _react.default.createElement(_drawerLabelComponent.default, componentProps);

      var onPress = (0, _react.useCallback)(function () {
        if (typeof onItemPress === "function") {
          if (focused) {
            try {
              navigation.closeDrawer();
            } catch (e) {}
          } else {
            onItemPress(navigation, item);
          }
        } else if (componentProps.onAccordionPress) {
          componentProps.onAccordionPress();
        }
      });
      return _react.default.createElement(_reactNative.TouchableOpacity, {
        onPress: onPress
      }, Component);
    }

    return null;
  }

  Scene.propTypes = {
    item: _propTypes.default.object.isRequired,
    focused: _propTypes.default.bool,
    navigation: _propTypes.default.object,
    onItemPress: _propTypes.default.func,
    accordion: _propTypes.default.bool
  };

  var DrawerComponent = function DrawerComponent(props) {
    var drawerHeader = props.drawerHeader,
        skipRoutes = props.skipRoutes,
        structure = props.structure,
        onItemPress = props.onItemPress,
        navigation = props.navigation,
        newLayout = props.newLayout;

    var _useState = (0, _react.useState)(""),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        category = _useState2[0],
        setCategory = _useState2[1];

    var _useTecnaviaSafeAreaI = (0, _$$_REQUIRE(_dependencyMap[10]).useTecnaviaSafeAreaInsets)(),
        left = _useTecnaviaSafeAreaI.left;

    var toggleDrawerCategory;
    (0, _react.useEffect)(function () {
      toggleDrawerCategory = _$$_REQUIRE(_dependencyMap[9]).EventRegister.on(_events.default.TOGGLE_DRAWER_ITEM, function (_ref2) {
        var drawerCategory = _ref2.category,
            collapsed = _ref2.collapsed;
        setCategory(drawerCategory + "_" + collapsed);
      });
      return function () {
        _$$_REQUIRE(_dependencyMap[9]).EventRegister.rm(toggleDrawerCategory);
      };
    }, []);

    var focusedRoute = _navigationUtils.default.getActiveRouteFromState(navigation.getState());

    return _react.default.createElement(_reactNative.View, {
      style: {
        flex: 1,
        paddingTop: 0,
        marginLeft: -left,
        backgroundColor: newLayout ? _$$_REQUIRE(_dependencyMap[11]).Css.getDefaultBackgroundColor() : _$$_REQUIRE(_dependencyMap[12]).colors.transparent
      }
    }, drawerHeader, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).DrawerContentScrollView, {
      style: {
        flex: 1
      },
      contentContainerStyle: {
        paddingTop: 0
      }
    }, structure.map(function (_ref3) {
      var item = _ref3.item,
          tabs = _ref3.tabs,
          route = _ref3.route;

      if (skipRoutes.includes(route)) {
        return null;
      }

      var clickable = item.type !== "section" || item.layout === "tab";
      return item ? _react.default.createElement(Scene, {
        key: route,
        navigation: navigation,
        item: item,
        focused: focusedRoute === route,
        accordion: hasChildren(structure, item),
        onItemPress: clickable ? onItemPress : undefined,
        newLayout: newLayout,
        getParent: function getParent(child) {
          var drawerItem = structure.find(function (element) {
            return element.item.drawerItemKey === child.parent;
          });

          if (drawerItem) {
            return drawerItem.item;
          }

          return undefined;
        }
      }) : null;
    })));
  };

  exports.DrawerComponent = DrawerComponent;
  DrawerComponent.propTypes = {
    navigation: _propTypes.default.shape({
      getState: _propTypes.default.func
    }).isRequired,
    skipRoutes: _propTypes.default.arrayOf(_propTypes.default.string),
    structure: _propTypes.default.arrayOf(_propTypes.default.shape({
      item: _propTypes.default.object,
      tabs: _propTypes.default.arrayOf(_propTypes.default.object)
    })).isRequired,
    newLayout: _propTypes.default.bool,
    onItemPress: _propTypes.default.func.isRequired,
    drawerHeader: _propTypes.default.node
  };
},2284,[5,41,6,17,201,28,2285,460,2045,572,2146,699,462,1139]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _RssIndexConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _drawerLabelChevronComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _drawerLabelIconComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _drawerLabelTextComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _drawerLabelComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function isVisible(item, getParent) {
    var parent = getParent(item);
    return !item.neverShowInDrawer && (!parent || !parent.collapse && isVisible(parent, getParent));
  }

  function getTextAlignment(item) {
    var alignment = "left";

    if (item.textAlign) {
      switch (item.textAlign) {
        case "right":
          alignment = "right";
          break;

        case "middle":
          alignment = "center";
          break;
      }
    }

    return alignment;
  }

  function getDarknessBackground(item, menuBackgroundColor) {
    var alpha = item.depth ? Math.min(255, item.depth * 40) : 255;
    var darkPercentageDecrease = item.depth ? Math.min(100, item.depth * 15) : 0;
    return _$$_REQUIRE(_dependencyMap[11]).ColorUtils.applyDarknessToHex(menuBackgroundColor, darkPercentageDecrease, alpha);
  }

  function getFocusedStyle(focused, newLayout) {
    var _global$getRssIndex = global.getRssIndex(),
        borderRadius = _global$getRssIndex.borderRadius,
        supportColor = _global$getRssIndex.supportColor;

    var focusedStyle = {};

    if (focused && newLayout) {
      focusedStyle.borderRadius = borderRadius;
      focusedStyle.backgroundColor = supportColor;
      focusedStyle.color = _$$_REQUIRE(_dependencyMap[11]).ColorUtils.determineTextColor(focusedStyle.backgroundColor);
    }

    return focusedStyle;
  }

  function getBaseStyle(item, focused, newLayout) {
    var _global$getRssIndex2 = global.getRssIndex(),
        menuBackgroundColor = _global$getRssIndex2.menuBackgroundColor,
        supportColor = _global$getRssIndex2.supportColor;

    var backgroundColor = _$$_REQUIRE(_dependencyMap[11]).colors.white;

    var borderBottomColor = menuBackgroundColor;
    var textColor;

    if (!focused && item.type && !newLayout) {
      var isFeed = item.type === "feed";
      var isUrl = item.type === "url";
      var isSection = item.type === "section";
      var isTab = isSection && item.layout === "tab";

      if (isTab || isFeed || isUrl) {
        backgroundColor = getDarknessBackground(item, menuBackgroundColor);
        borderBottomColor = _$$_REQUIRE(_dependencyMap[11]).colors.grey50;
      }

      if (isSection && !isTab) {
        textColor = supportColor;
      }
    }

    var paddingStart = item.depth ? item.depth * 10 : 0;
    return {
      backgroundColor: backgroundColor,
      borderBottomColor: borderBottomColor,
      color: textColor || _$$_REQUIRE(_dependencyMap[11]).ColorUtils.determineTextColor(backgroundColor) || _$$_REQUIRE(_dependencyMap[11]).colors.black,
      paddingStart: newLayout ? paddingStart : 10 + paddingStart
    };
  }

  function getStyle(item, focused, newLayout) {
    var _getBaseStyle = getBaseStyle(item, focused, newLayout),
        color = _getBaseStyle.color,
        backgroundColor = _getBaseStyle.backgroundColor,
        borderBottomColor = _getBaseStyle.borderBottomColor,
        paddingStart = _getBaseStyle.paddingStart;

    var _getFocusedStyle = getFocusedStyle(focused, newLayout),
        focusedColor = _getFocusedStyle.color,
        rest = (0, _objectWithoutProperties2.default)(_getFocusedStyle, ["color"]);

    return {
      style: (0, _extends2.default)({
        height: newLayout ? 35 : _$$_REQUIRE(_dependencyMap[12]).DRAWER_ITEM_HEIGHT,
        borderBottomWidth: item.type === "section" || !newLayout ? 0.5 : 0,
        margin: newLayout ? 5 : 0,
        backgroundColor: backgroundColor,
        paddingStart: newLayout ? 10 : paddingStart,
        borderBottomColor: newLayout ? _$$_REQUIRE(_dependencyMap[11]).colors.transparent1200 : borderBottomColor,
        paddingHorizontal: newLayout ? 10 : 0,
        paddingVertical: newLayout ? 5 : 0
      }, rest),
      imageStyle: {
        paddingEnd: 10
      },
      textStyle: {
        flex: 1,
        paddingStart: newLayout ? paddingStart : 0,
        fontSize: newLayout ? 14 : 16,
        paddingEnd: newLayout ? 5 : 10,
        paddingVertical: newLayout ? 0 : 10,
        textAlign: getTextAlignment(item),
        color: focusedColor || color,
        backgroundColor: _$$_REQUIRE(_dependencyMap[11]).colors.transparent,
        justifyContent: "center"
      },
      chevronStyle: {
        color: focusedColor || color,
        fontSize: newLayout ? 20 : 27
      }
    };
  }

  function DrawerLabelComponent(props) {
    var item = props.item,
        newLayout = props.newLayout,
        focused = props.focused,
        accordion = props.accordion,
        onAccordionPress = props.onAccordionPress,
        getParent = props.getParent;
    var visible = isVisible(item, getParent);

    var _getStyle = getStyle(item, focused, newLayout),
        textStyle = _getStyle.textStyle,
        chevronStyle = _getStyle.chevronStyle,
        imageStyle = _getStyle.imageStyle,
        style = _getStyle.style;

    var cssKey = item.cssKey || _$$_REQUIRE(_dependencyMap[11]).StringUtils.getKeyFromText(item.drawerItemKey);

    var css = _$$_REQUIRE(_dependencyMap[13]).Css.getStyleObjByCssClasses(["drawer-item-parent"], {
      cssKey: cssKey,
      toggle: true,
      active: focused
    });

    var height = css.height || style.height;

    if (visible) {
      return _react.default.createElement(_reactNative.View, {
        style: [_drawerLabelComponent.default.labelParent, style, css],
        pointerEvents: "box-none"
      }, _react.default.createElement(_drawerLabelIconComponent.default, {
        cssItemKey: cssKey,
        focused: focused,
        icon: item.image,
        size: height,
        style: imageStyle
      }), _react.default.createElement(_drawerLabelTextComponent.default, {
        cssItemKey: cssKey,
        item: item,
        focused: focused,
        style: textStyle,
        upperCase: item.type === "section"
      }), accordion ? _react.default.createElement(_drawerLabelChevronComponent.default, {
        cssItemKey: cssKey,
        item: item,
        focused: focused,
        height: height,
        style: chevronStyle,
        onAccordionPress: onAccordionPress
      }) : null);
    }

    return null;
  }

  DrawerLabelComponent.propTypes = {
    item: _propTypes.default.object.isRequired,
    getParent: _propTypes.default.func.isRequired,
    accordion: _propTypes.default.bool,
    focused: _propTypes.default.bool,
    newLayout: _propTypes.default.bool,
    onAccordionPress: _propTypes.default.func
  };
  var _default = DrawerLabelComponent;
  exports.default = _default;
},2285,[5,6,108,17,28,201,2044,2286,2287,2288,2289,462,2039,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _buttonComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function DrawerLabelChevronComponent(props) {
    var style = props.style,
        item = props.item,
        cssItemKey = props.cssItemKey,
        focused = props.focused,
        onAccordionPress = props.onAccordionPress;
    var collapse = item.collapse;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[5]).Css, {
      classes: ["drawer-item-chevron-parent"],
      cssKey: cssItemKey,
      toggle: true,
      active: focused
    }, _react.default.createElement(_buttonComponent.default, {
      transparent: true,
      bordered: false,
      style: {
        backgroundColor: _$$_REQUIRE(_dependencyMap[6]).colors.transparent
      },
      onPress: onAccordionPress
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[5]).Css, {
      classes: ["drawer-item-chevron"],
      cssKey: cssItemKey,
      toggle: true,
      active: focused
    }, _react.default.createElement(_iconComponent.default, {
      style: style,
      name: !collapse ? "chevron-up" : "chevron-down",
      type: _iconComponent.TecnaviaIconType.MATERIAL_COMMUNITY_ICONS
    }))));
  }

  DrawerLabelChevronComponent.propTypes = {
    item: _propTypes.default.object.isRequired,
    onAccordionPress: _propTypes.default.func.isRequired,
    style: _propTypes.default.object,
    cssItemKey: _propTypes.default.string,
    focused: _propTypes.default.bool
  };
  var _default = DrawerLabelChevronComponent;
  exports.default = _default;
},2286,[5,17,201,1806,2202,699,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function DrawerLabelIconComponent(props) {
    var icon = props.icon,
        cssItemKey = props.cssItemKey,
        size = props.size,
        focused = props.focused,
        containerStyle = props.style;
    var style = {
      maxWidth: size,
      height: size,
      paddingVertical: Math.max((size - _$$_REQUIRE(_dependencyMap[5]).DRAWER_IMAGE_SIZE) / 2, 0)
    };

    var cssIcon = _$$_REQUIRE(_dependencyMap[6]).Css.getStyleObjByCssClasses(["drawer-item-icon"], {
      cssKey: cssItemKey,
      toggle: true,
      active: focused
    });

    if (!icon && !cssIcon.src) {
      return null;
    }

    var source = icon;

    if (typeof icon === "string") {
      source = {
        uri: icon,
        cache: "reload",
        width: _$$_REQUIRE(_dependencyMap[5]).DRAWER_IMAGE_SIZE,
        height: _$$_REQUIRE(_dependencyMap[5]).DRAWER_IMAGE_SIZE
      };
    }

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).Css, {
      classes: ["drawer-item-icon-parent"],
      cssKey: cssItemKey,
      toggle: true,
      active: focused
    }, _react.default.createElement(_reactNative.View, {
      style: [style, containerStyle]
    }, _react.default.createElement(_imageIconChooserComponent.default, {
      forceRNComponent: true,
      style: [{
        backgroundColor: _$$_REQUIRE(_dependencyMap[7]).colors.transparent
      }, cssIcon],
      source: source,
      resizeMode: "contain"
    })));
  }

  DrawerLabelIconComponent.propTypes = {
    icon: _propTypes.default.any,
    cssItemKey: _propTypes.default.string,
    size: _propTypes.default.number,
    focused: _propTypes.default.bool,
    style: _propTypes.default.object
  };
  var _default = DrawerLabelIconComponent;
  exports.default = _default;
},2287,[5,17,28,201,1970,2039,699,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.DrawerLabelTextComponent = DrawerLabelTextComponent;
  exports.default = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _IndexHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function getText(item) {
    var action = item.action;
    var displayName = item.displayName;

    if (action === _IndexHelper.default.SP.values.drawer.actions.open_paywall_account) {
      var _global$getRssIndex = global.getRssIndex(),
          mustLoginToViewArticle = _global$getRssIndex.mustLoginToViewArticle;

      if (mustLoginToViewArticle) {
        var _global$getRSSActiveP = global.getRSSActivePSetup(),
            loginStatus = _global$getRSSActiveP.loginStatus;

        if (loginStatus.isLoggedIn() && !loginStatus.isAllowedIPUser()) {
          displayName = global.strings("btn_logout");
        }
      }
    }

    return displayName;
  }

  function DrawerLabelTextComponent(props) {
    var item = props.item,
        style = props.style,
        cssItemKey = props.cssItemKey,
        focused = props.focused,
        upperCase = props.upperCase;

    var _useState = (0, _react.useState)(getText(item)),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        text = _useState2[0],
        setText = _useState2[1];

    if (item.action === _IndexHelper.default.SP.values.drawer.actions.open_paywall_account) {
      var userStatusUpdateListener;
      (0, _react.useEffect)(function () {
        userStatusUpdateListener = _$$_REQUIRE(_dependencyMap[7]).EventRegister.on(_events.default.PAYWALL_USER_STATUS_UPDATE, function (_ref) {
          var caption = _ref.caption;
          setText(caption);
        });
        return function () {
          _$$_REQUIRE(_dependencyMap[7]).EventRegister.rm(userStatusUpdateListener);
        };
      }, []);
    }

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["drawer-item-text"],
      cssKey: cssItemKey,
      toggle: true,
      active: focused
    }, _react.default.createElement(_fontText.default, {
      type: item.isBold === "1" ? _fontText.Type.bold : _fontText.Type.regular,
      style: [style, {
        textTransform: upperCase ? "uppercase" : "none"
      }],
      numberOfLines: 1
    }, text));
  }

  DrawerLabelTextComponent.propTypes = {
    item: _propTypes.default.object,
    style: _propTypes.default.object,
    focused: _propTypes.default.bool,
    upperCase: _propTypes.default.bool,
    cssItemKey: _propTypes.default.string
  };
  var _default = DrawerLabelTextComponent;
  exports.default = _default;
},2288,[5,41,17,201,460,1879,1963,572,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    labelParent: {
      flex: 1,
      flexDirection: "row",
      justifyContent: "flex-start",
      alignItems: "center"
    }
  });

  exports.default = _default;
},2289,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _buttonComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _updaterScreen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _sdkUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var UpdaterScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(UpdaterScreen, _NavigationBaseScreen);

    var _super = _createSuper(UpdaterScreen);

    function UpdaterScreen(props) {
      var _this;

      (0, _classCallCheck2.default)(this, UpdaterScreen);
      _this = _super.call(this, props, {
        downloading: true,
        error: false
      });
      _this.onProgress = _this._onProgress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onGoBack = _this._onGoBack.bind((0, _assertThisInitialized2.default)(_this));
      _this.restartContext = _this._restartContext.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(UpdaterScreen, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var manualRestartContext, url, error, bundleFolder, bundleTemporaryPath, bundleDirectory, _await$TecnaviaFileUt, path, respInfo, headers, fileName, undezippedFiles, bundleFilename, bundleName, paperSetupConfig;

        return _regenerator.default.async(function componentDidMount$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                (0, _get2.default)((0, _getPrototypeOf2.default)(UpdaterScreen.prototype), "componentDidMount", this).call(this);
                manualRestartContext = this.props.manualRestartContext;
                url = _Api.default.getBundleDownloadUrl();
                error = false;
                bundleFolder = "";
                bundleTemporaryPath = "";
                bundleDirectory = _tecnaviaFileUtils.default.getBundleDirectory();
                _context.prev = 7;
                _context.next = 10;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.mkdir(bundleDirectory));

              case 10:
                _context.next = 12;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.fetch(url, {
                  progressCallback: this.onProgress
                }));

              case 12:
                _await$TecnaviaFileUt = _context.sent;
                path = _await$TecnaviaFileUt.path;
                respInfo = _await$TecnaviaFileUt.respInfo;
                headers = respInfo.headers;
                bundleTemporaryPath = path();
                fileName = _$$_REQUIRE(_dependencyMap[20]).StringUtils.getFilenameFromHeader(headers["Content-Disposition"]).replace(".zip", "");
                bundleFolder = "" + bundleDirectory + fileName + "/";
                _context.next = 21;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.mkdir(bundleFolder));

              case 21:
                _context.prev = 21;
                _context.next = 24;
                return _regenerator.default.awrap(this._purge());

              case 24:
                _context.next = 28;
                break;

              case 26:
                _context.prev = 26;
                _context.t0 = _context["catch"](21);

              case 28:
                _context.next = 30;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unzip(bundleTemporaryPath, bundleFolder));

              case 30:
                undezippedFiles = _context.sent;
                bundleFilename = _tecnaviaFileUtils.default.getBundleFilename();
                bundleName = undezippedFiles.find(function (file) {
                  return file.includes(bundleFilename);
                });

                if (!bundleName) {
                  _context.next = 40;
                  break;
                }

                _context.next = 36;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[21]).OurBridge.saveBundleName(bundleFolder + bundleName, _deviceUtils.default.getAppVersion()));

              case 36:
                paperSetupConfig = global.getActivePSetup();
                paperSetupConfig.setBundleUpdateAvailable(false);
                _context.next = 41;
                break;

              case 40:
                error = true;

              case 41:
                _context.next = 46;
                break;

              case 43:
                _context.prev = 43;
                _context.t1 = _context["catch"](7);
                error = true;

              case 46:
                _context.prev = 46;
                _context.next = 49;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unlink(bundleTemporaryPath));

              case 49:
                _context.next = 53;
                break;

              case 51:
                _context.prev = 51;
                _context.t2 = _context["catch"](46);

              case 53:
                if (!error) {
                  _context.next = 62;
                  break;
                }

                _context.prev = 54;

                if (!(bundleFolder.startsWith(bundleDirectory) && bundleFolder !== bundleDirectory)) {
                  _context.next = 58;
                  break;
                }

                _context.next = 58;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unlink(bundleFolder));

              case 58:
                _context.next = 62;
                break;

              case 60:
                _context.prev = 60;
                _context.t3 = _context["catch"](54);

              case 62:
                if (!error && !manualRestartContext) {
                  _$$_REQUIRE(_dependencyMap[22]).HintOverlay.show({
                    config: {
                      hint: global.strings("hint_restart"),
                      key: "hint_bundle_restart",
                      autoHideTime: 3000,
                      showAlways: true
                    },
                    onHide: this.restartContext
                  });
                } else {
                  this.setState({
                    downloading: false,
                    error: error
                  });
                }

              case 63:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[7, 43], [21, 26], [46, 51], [54, 60]], Promise);
      }
    }, {
      key: "handleBackButton",
      value: function handleBackButton() {
        return true;
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "Bundle Update Page";
      }
    }, {
      key: "_purge",
      value: function _purge() {
        var bundleName, _await$OurBridge$getB, bundlesDirectory, bundleAppVersionName, files, i, path, _path, bundles, j, pathBundle;

        return _regenerator.default.async(function _purge$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.prev = 0;
                _context2.next = 3;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[21]).OurBridge.getBundleName());

              case 3:
                _await$OurBridge$getB = _context2.sent;
                bundleName = _await$OurBridge$getB.bundleName;
                _context2.next = 9;
                break;

              case 7:
                _context2.prev = 7;
                _context2.t0 = _context2["catch"](0);

              case 9:
                bundlesDirectory = _tecnaviaFileUtils.default.getBundlesDirectory();
                bundleAppVersionName = _tecnaviaFileUtils.default.getBundleAppVersionName();
                _context2.next = 13;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.getFiles(bundlesDirectory));

              case 13:
                files = _context2.sent;
                i = 0;

              case 15:
                if (!(i < files.length)) {
                  _context2.next = 49;
                  break;
                }

                if (!(files[i] !== bundleAppVersionName)) {
                  _context2.next = 27;
                  break;
                }

                path = bundlesDirectory + "/" + files[i];
                _context2.prev = 18;
                _context2.next = 21;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unlink(path));

              case 21:
                _context2.next = 25;
                break;

              case 23:
                _context2.prev = 23;
                _context2.t1 = _context2["catch"](18);

              case 25:
                _context2.next = 46;
                break;

              case 27:
                if (!bundleName) {
                  _context2.next = 46;
                  break;
                }

                _path = "" + bundlesDirectory + bundleAppVersionName + "/";
                _context2.next = 31;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.getFiles(_path));

              case 31:
                bundles = _context2.sent;
                j = 0;

              case 33:
                if (!(j < bundles.length)) {
                  _context2.next = 46;
                  break;
                }

                if (bundleName.includes(bundles[j])) {
                  _context2.next = 43;
                  break;
                }

                pathBundle = _path + bundles[j];
                _context2.prev = 36;
                _context2.next = 39;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unlink(pathBundle));

              case 39:
                _context2.next = 43;
                break;

              case 41:
                _context2.prev = 41;
                _context2.t2 = _context2["catch"](36);

              case 43:
                j++;
                _context2.next = 33;
                break;

              case 46:
                i++;
                _context2.next = 15;
                break;

              case 49:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, [[0, 7], [18, 23], [36, 41]], Promise);
      }
    }, {
      key: "_onProgress",
      value: function _onProgress(received, total) {
        if (this.progressCircleRef) {
          this.progressCircleRef.updateProgress(received / total);
        }
      }
    }, {
      key: "_restartContext",
      value: function _restartContext() {
        if (global.isTaAddon()) {
          _sdkUtils.default.onReload();
        }

        _$$_REQUIRE(_dependencyMap[21]).OurBridge.restartReactContext();
      }
    }, {
      key: "_onGoBack",
      value: function _onGoBack() {
        var params = (0, _$$_REQUIRE(_dependencyMap[23]).getNavigationParams)(this.props);

        if (params && typeof params.onBack === "function") {
          params.onBack();
        }
      }
    }, {
      key: "_renderButton",
      value: function _renderButton(text, buttonText, callback) {
        var backgroundColor = _newsmemoryUtils.default.getSpinnerColor();

        var color = _$$_REQUIRE(_dependencyMap[24]).Css.getDefaultForegroundColor();

        var textColor = _$$_REQUIRE(_dependencyMap[20]).ColorUtils.determineTextColor(backgroundColor);

        return _react.default.createElement(_reactNative.View, {
          style: _updaterScreen.default.endParent
        }, _react.default.createElement(_fontText.default, {
          style: [_updaterScreen.default.text, {
            color: color
          }]
        }, text), _react.default.createElement(_buttonComponent.default, {
          style: {
            backgroundColor: backgroundColor,
            padding: 20
          },
          onPress: callback
        }, _react.default.createElement(_fontText.default, {
          style: {
            color: textColor
          }
        }, buttonText)));
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$state = this.state,
            downloading = _this$state.downloading,
            error = _this$state.error;

        var color = _$$_REQUIRE(_dependencyMap[24]).Css.getDefaultForegroundColor();

        var backgroundColor = _$$_REQUIRE(_dependencyMap[24]).Css.getDefaultBackgroundColor();

        var spinnerColor = _$$_REQUIRE(_dependencyMap[24]).Css.isDarkTheme() ? color : _newsmemoryUtils.default.getSpinnerColor();
        return _react.default.createElement(_reactNative.View, {
          style: [_updaterScreen.default.parent, {
            backgroundColor: backgroundColor
          }]
        }, downloading ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[25]).ProgressCircle, {
          ref: function ref(_ref) {
            _this2.progressCircleRef = _ref;
          },
          parentStyle: [_updaterScreen.default.progressParent, {
            backgroundColor: backgroundColor
          }],
          spinnerStyle: _updaterScreen.default.progress,
          spinnerColor: spinnerColor,
          showText: true,
          text: global.strings("msg_download_bundle"),
          textStyle: [_updaterScreen.default.progressText, {
            color: color
          }],
          advanced: true
        }) : null, !downloading && !error ? this._renderButton(global.strings("msg_press_restart"), global.strings("btn_reload").toUpperCase(), this.restartContext) : null, error ? this._renderButton(global.strings("msg_download_bundle_error"), global.strings("btn_back").toUpperCase(), this.onGoBack) : null);
      }
    }]);
    return UpdaterScreen;
  }(_$$_REQUIRE(_dependencyMap[23]).NavigationBaseScreen);

  exports.default = UpdaterScreen;
  UpdaterScreen.propTypes = {
    manualRestartContext: _propTypes.default.bool
  };
  UpdaterScreen.defaultProps = {
    manualRestartContext: global.__DEV__
  };
},2290,[5,80,7,8,15,90,12,14,16,17,201,28,431,574,603,1879,2202,2291,458,1874,462,582,2003,2148,699,1953]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    progressParent: {
      flex: 1,
      position: "relative",
      flexDirection: "column",
      justifyContent: "center"
    },
    progress: {
      flex: 0
    },
    progressText: {
      flex: 0,
      margin: 10,
      textShadowRadius: 0
    },
    parent: {
      flex: 1
    },
    text: {
      margin: 20,
      marginHorizontal: 50
    },
    endParent: {
      flex: 1,
      justifyContent: "center",
      alignItems: "center"
    }
  });

  exports.default = _default;
},2291,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _mainNavigator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _LoginManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _styleUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _barsComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _GlobalConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NewsmemoryComponent = function (_NavigatorBaseScreen) {
    (0, _inherits2.default)(NewsmemoryComponent, _NavigatorBaseScreen);

    var _super = _createSuper(NewsmemoryComponent);

    function NewsmemoryComponent(props) {
      var _this;

      (0, _classCallCheck2.default)(this, NewsmemoryComponent);
      _this = _super.call(this, props);
      var screen;

      if (!_this._needToForceIOSClassic()) {
        screen = _GlobalConfig.default.getNewsmemoryScreenVersion();
      }

      _this._setNewsmemoryStartupParams();

      var statusBarColor = _styleUtils.default.getNewsmemoryStatusBarColor();

      var navigationBarColor = _styleUtils.default.getNewsmemoryNavigationBarColor();

      _this.state = {
        screen: screen,
        statusBarColor: statusBarColor,
        navigationBarColor: navigationBarColor
      };
      return _this;
    }

    (0, _createClass2.default)(NewsmemoryComponent, [{
      key: "UNSAFE_componentWillMount",
      value: function UNSAFE_componentWillMount() {
        var _this2 = this;

        this.onConfigForceUpdate = _$$_REQUIRE(_dependencyMap[15]).EventRegister.on(_events.default.CONFIG_FORCE_UPDATE, function (_ref) {
          var message = _ref.message;

          _this2.showHint(message, function () {
            _this2.forceUpdate();
          });
        });
      }
    }, {
      key: "componentDidMount",
      value: function componentDidMount() {
        var screen, classicPubs;
        return _regenerator.default.async(function componentDidMount$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                (0, _get2.default)((0, _getPrototypeOf2.default)(NewsmemoryComponent.prototype), "componentDidMount", this).call(this);

                if (!this._needToForceIOSClassic()) {
                  _context.next = 7;
                  break;
                }

                _context.next = 4;
                return _regenerator.default.awrap(_LoginManager.default.checkClassicFavorites());

              case 4:
                classicPubs = _context.sent;

                if (classicPubs && classicPubs.length > 0) {
                  screen = _$$_REQUIRE(_dependencyMap[16]).NEWSMEMORY_SCREENS_NAME.NATIVE;
                } else {
                  screen = _GlobalConfig.default.getNewsmemoryScreenVersion();
                }

                this.setState({
                  screen: screen
                });

              case 7:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "didFocus",
      value: function didFocus() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(NewsmemoryComponent.prototype), "didFocus", this).call(this);
        var _this$state = this.state,
            statusBarColor = _this$state.statusBarColor,
            navigationBarColor = _this$state.navigationBarColor;

        _$$_REQUIRE(_dependencyMap[17]).PlatformUtils.colorBars(statusBarColor, navigationBarColor);

        _$$_REQUIRE(_dependencyMap[15]).EventRegister.emit(_events.default.NEWSMEMORY_DID_FOCUS);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(NewsmemoryComponent.prototype), "componentWillUnmount", this).call(this);

        _$$_REQUIRE(_dependencyMap[15]).EventRegister.rm(this.onConfigForceUpdate);
      }
    }, {
      key: "_needToForceIOSClassic",
      value: function _needToForceIOSClassic() {
        var _global$getMainPSetup = global.getMainPSetup(),
            newsmemoryToUse = _global$getMainPSetup.newsmemoryToUse,
            disableRnDemo = _global$getMainPSetup.disableRnDemo;

        var _global$getNewsmemory = global.getNewsmemoryConfig(),
            useRnDemo = _global$getNewsmemory.useRnDemo;

        return _$$_REQUIRE(_dependencyMap[17]).PlatformUtils.isIOS() && _$$_REQUIRE(_dependencyMap[18]).PaperSetupManager.isGenericAppConfigured() && newsmemoryToUse === _$$_REQUIRE(_dependencyMap[16]).NEWSMEMORY_SCREENS.REACT && (disableRnDemo || useRnDemo === "");
      }
    }, {
      key: "_setNewsmemoryStartupParams",
      value: function _setNewsmemoryStartupParams() {
        var _getNavigationParams = (0, _$$_REQUIRE(_dependencyMap[19]).getNavigationParams)(this.props),
            _getNavigationParams$ = _getNavigationParams.isFromRss,
            isFromRss = _getNavigationParams$ === undefined ? false : _getNavigationParams$,
            issue = _getNavigationParams.issue,
            edition = _getNavigationParams.edition;

        if (isFromRss) {
          global.updateNewsmemoryStartupParams({
            issue: issue,
            edition: edition
          });
        }
      }
    }, {
      key: "render",
      value: function render() {
        var params = (0, _$$_REQUIRE(_dependencyMap[19]).getNavigationParams)(this.props);
        var _this$state2 = this.state,
            screen = _this$state2.screen,
            statusBarColor = _this$state2.statusBarColor,
            navigationBarColor = _this$state2.navigationBarColor;

        if (screen) {
          var Component;
          var edges = ["top", "left", "right", "bottom"];

          var Navigator = _react.default.createElement(_mainNavigator.default, {
            tab: params.tab || "",
            startupNewsmemoryScreen: screen
          });

          if (_$$_REQUIRE(_dependencyMap[17]).PlatformUtils.isIOS() && screen === _$$_REQUIRE(_dependencyMap[16]).NEWSMEMORY_SCREENS_NAME.NATIVE) {
            edges = ["top"];
            Component = Navigator;
          } else {
            Component = _react.default.createElement(_$$_REQUIRE(_dependencyMap[20]).TecnaviaSafeAreaView, {
              edges: edges,
              backgroundColor: statusBarColor
            }, Navigator);
          }

          return _react.default.createElement(_react.default.Fragment, null, Component, _react.default.createElement(_barsComponent.default, {
            edges: edges,
            statusBarColor: statusBarColor,
            navigationBarColor: navigationBarColor
          }));
        }

        return null;
      }
    }]);
    return NewsmemoryComponent;
  }(_$$_REQUIRE(_dependencyMap[21]).NavigatorBaseScreen);

  exports.default = NewsmemoryComponent;
},2292,[5,80,7,8,90,12,14,16,17,460,2293,2057,2147,2145,2154,572,717,462,1849,2148,2146,2468]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = NewsmemoryNavigator;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _webScreen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var CommonHeader = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _landingPageScreen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _UserSettingsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _epaperModeSelectionScreen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _navigationUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Stack = _NavigationService.default.navigator.createStack();

  function _checkLandingPageRules() {
    var _global$getMainPSetup = global.getMainPSetup(),
        showLandingPageOnce = _global$getMainPSetup.showLandingPageOnce,
        landingPageVersion = _global$getMainPSetup.landingPageVersion,
        landingPageURL = _global$getMainPSetup.landingPageURL;

    var _global$getUserSettin = global.getUserSettings(),
        landingPageVersionSeen = _global$getUserSettin.landingPageVersionSeen,
        landingPageDontShowAgain = _global$getUserSettin.landingPageDontShowAgain;

    var landingPageFirstTime = landingPageVersionSeen === -1;
    var landingPageAlreadySeen = !showLandingPageOnce && !landingPageDontShowAgain && landingPageVersionSeen > -1;
    var landingPageUpdate = landingPageVersion > landingPageVersionSeen;

    if (landingPageURL && (landingPageUpdate || landingPageAlreadySeen || landingPageFirstTime)) {
      global.getUserSettings().setValue(_UserSettingsHelper.default.SP.keys.landing_page_version_seen, "" + landingPageVersion);
      global.getUserSettings().setValue(_UserSettingsHelper.default.SP.keys.landing_page_dont_show_again, "0");
      return true;
    }

    return false;
  }

  function _getInitialRouteName(startupNewsmemoryScreen) {
    var screen = startupNewsmemoryScreen;

    if (_checkLandingPageRules()) {
      screen = "LandingPageScreen";
    }

    return screen;
  }

  var SHORTCUT_ENABLE_SCREENS = [_$$_REQUIRE(_dependencyMap[10]).NEWSMEMORY_SCREENS_NAME.REACT];

  function NewsmemoryNavigator(props) {
    var startupNewsmemoryScreen = props.startupNewsmemoryScreen,
        tab = props.tab;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).CustomNavigationContainer, {
      independent: true
    }, _react.default.createElement(Stack.Navigator, {
      screenOptions: (0, _extends2.default)({
        gestureEnabled: false
      }, _NavigationService.default.getStackScreenOptions()),
      initialRouteName: _getInitialRouteName(startupNewsmemoryScreen),
      screenListeners: {
        state: function state(_ref) {
          var data = _ref.data;

          var name = _navigationUtils.default.getActiveRouteFromState(data.state);

          if (name && !SHORTCUT_ENABLE_SCREENS.includes(name)) {
            _$$_REQUIRE(_dependencyMap[12]).ShortcutManager.disable();
          } else {
            _$$_REQUIRE(_dependencyMap[12]).ShortcutManager.enable();
          }
        }
      }
    }, _react.default.createElement(Stack.Screen, {
      name: "LandingPageScreen",
      options: {
        headerShown: false,
        headerTransparent: true,
        gesturesEnabled: false
      }
    }, function (navProps) {
      return _react.default.createElement(_landingPageScreen.default, (0, _extends2.default)({}, navProps, {
        destinationScreen: startupNewsmemoryScreen
      }));
    }), _react.default.createElement(Stack.Screen, {
      name: "EpaperModeSelectionScreen",
      component: _epaperModeSelectionScreen.default,
      options: {
        headerShown: false,
        headerTransparent: true,
        gesturesEnabled: false
      }
    }), _react.default.createElement(Stack.Screen, {
      name: _$$_REQUIRE(_dependencyMap[10]).NEWSMEMORY_SCREENS_NAME.REACT,
      options: {
        headerShown: false,
        headerTransparent: true,
        gesturesEnabled: false
      }
    }, function (navProps) {
      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).NewsmemoryScreen, (0, _extends2.default)({}, navProps, {
        tab: tab
      }));
    }), _react.default.createElement(Stack.Screen, {
      name: "GeneralSettingsScreen",
      component: _$$_REQUIRE(_dependencyMap[14]).GeneralSettingsScreen,
      options: function options(navProps) {
        return {
          header: function header() {
            return _react.default.createElement(CommonHeader.ActionBar, {
              left: CommonHeader._getHeaderLeftButtonsBackButtonOnly(navProps),
              center: CommonHeader._getLogo(),
              right: CommonHeader._getEmptyPlaceHolders()
            });
          },
          gesturesEnabled: false
        };
      }
    }), _react.default.createElement(Stack.Screen, {
      name: _$$_REQUIRE(_dependencyMap[10]).NEWSMEMORY_SCREENS_NAME.HTML5,
      component: _$$_REQUIRE(_dependencyMap[15]).NewsmemoryHTML5Screen,
      options: function options(_ref2) {
        var navProps = _ref2.navProps;
        return {
          header: function header() {
            return _react.default.createElement(CommonHeader.ActionBar, {
              left: CommonHeader._getHeaderLeftButtonsBackButtonOnly(navProps, function () {
                _NavigationService.default.main.reset("RssNavigator");
              }),
              center: CommonHeader._getLogo(),
              right: CommonHeader._getEmptyPlaceHolders()
            });
          },
          gesturesEnabled: false
        };
      }
    }), _react.default.createElement(Stack.Screen, {
      name: _$$_REQUIRE(_dependencyMap[10]).NEWSMEMORY_SCREENS_NAME.NATIVE,
      options: {
        headerShown: false,
        gestureEnabled: false
      }
    }, function (navProps) {
      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).NewsmemoryNativeScreen, (0, _extends2.default)({}, navProps, {
        tab: tab
      }));
    }), _react.default.createElement(Stack.Screen, {
      name: "WebScreen",
      options: function options(navProps) {
        return {
          headerStyle: CommonHeader._getStyle(navProps),
          header: function header() {
            return _react.default.createElement(CommonHeader.ActionBar, {
              left: CommonHeader._getHeaderLeftButtonsBackButtonOnly(navProps),
              center: CommonHeader._getLogo(navProps),
              right: CommonHeader._getSharedHeaderRightButton(navProps)
            });
          },
          gesturesEnabled: false
        };
      }
    }, function (navProps) {
      return _react.default.createElement(_webScreen.default, (0, _extends2.default)({}, navProps, {
        considerSafeArea: false
      }));
    }), _react.default.createElement(Stack.Screen, {
      name: "GalleryScreen",
      component: _$$_REQUIRE(_dependencyMap[17]).GalleryScreen,
      options: {
        headerShown: false,
        gestureEnabled: false
      }
    })));
  }
},2293,[5,6,17,2294,2144,1861,2295,2078,2296,2045,717,2302,1911,2303,2232,2431,2433,2434]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _webUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _Paywall = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _barsComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _styleUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _tecnaviaPlatformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _sdkUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _keyboardAvoidingComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _LiveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var WebScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(WebScreen, _NavigationBaseScreen);

    var _super = _createSuper(WebScreen);

    function WebScreen(props) {
      var _this;

      (0, _classCallCheck2.default)(this, WebScreen);
      _this = _super.call(this, props);
      _this.canGoBack = false;
      _this.state = {
        url: "",
        external: false,
        ignoreUrls: [],
        ronDinoWebView: false
      };
      _this.onLoadStart = _this._onLoadStart.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLocal = _this._onLocal.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLayout = _this._onLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.onNavigationStateChange = _this._onNavigationStateChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onUserStatusUpdate = _this._onUserStatusUpdate.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(WebScreen, [{
      key: "getTag",
      value: function getTag() {
        var prefix = "";

        if (_LiveConfig.default.isEpaperSide()) {
          prefix = "ePaper ";
        } else if (_LiveConfig.default.isRssSide()) {
          prefix = "Live News ";
        }

        return prefix + "In App Browser";
      }
    }, {
      key: "didFocus",
      value: function didFocus() {
        var navigation, params, url, external, _global$getMainPSetup, ronDinoWebView, ignoreUrls, _params$extra, extra, aak, isExternalLinkAccountURL;

        return _regenerator.default.async(function didFocus$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                (0, _get2.default)((0, _getPrototypeOf2.default)(WebScreen.prototype), "didFocus", this).call(this);
                this.onPaywallUserStatusUpdate = _$$_REQUIRE(_dependencyMap[20]).EventRegister.on(_events.default.PAYWALL_USER_STATUS_UPDATE, this.onUserStatusUpdate);
                navigation = this.props.navigation;
                params = (0, _$$_REQUIRE(_dependencyMap[21]).getNavigationParams)(this.props);
                url = params.url;

                if (!(typeof url === "string")) {
                  _context.next = 33;
                  break;
                }

                external = _webUtils.default.isExternalUrl(url);

                if (external) {
                  if (url.startsWith("xhttp")) {
                    url = url.substr(1);
                  }

                  url = _$$_REQUIRE(_dependencyMap[22]).StringUtils.removeParams(url, ["xhttp", "xhttps"]);
                } else if (url.startsWith("http://")) {
                  _global$getMainPSetup = global.getMainPSetup();
                  external = _global$getMainPSetup.openHttpLinkOnExternalBrowser;
                }

                if (!_$$_REQUIRE(_dependencyMap[22]).StringUtils.isUrl(url)) {
                  url = _$$_REQUIRE(_dependencyMap[22]).StringUtils.removeProtocolFromURL(url);
                }

                url = _$$_REQUIRE(_dependencyMap[22]).NetworkUtils.addDefaultProtocol(url);

                if (_$$_REQUIRE(_dependencyMap[22]).StringUtils.isUrl(url)) {
                  _context.next = 15;
                  break;
                }

                _$$_REQUIRE(_dependencyMap[23]).Toast.show(global.strings("system_error"));

                this.handleBackButton();
                _context.next = 31;
                break;

              case 15:
                ronDinoWebView = false;
                ignoreUrls = [];
                _params$extra = params.extra, extra = _params$extra === undefined ? undefined : _params$extra;
                url = _Paywall.default.replaceExtIdInUrl(url);

                if (extra) {
                  aak = extra.ronDinoPromotionsAAK;

                  if (aak) {
                    ronDinoWebView = true;
                    url = _$$_REQUIRE(_dependencyMap[22]).StringUtils.appendParams(url, {
                      aak: aak
                    });
                    ignoreUrls.push("https://www.bing.com");
                  }
                }

                _context.next = 22;
                return _regenerator.default.awrap(_sdkUtils.default.willOpenURL(url));

              case 22:
                if (!_context.sent) {
                  _context.next = 27;
                  break;
                }

                external = true;
                navigation.goBack(null);
                _context.next = 30;
                break;

              case 27:
                isExternalLinkAccountURL = _tecnaviaPlatformUtils.default.externalLinkAccountCheck(url);
                external = external || isExternalLinkAccountURL;

                if (external) {
                  navigation.goBack(null);

                  _tecnaviaPlatformUtils.default.openURL(url);
                }

              case 30:
                this.setState({
                  external: external,
                  url: url,
                  ronDinoWebView: ronDinoWebView,
                  ignoreUrls: ignoreUrls
                });

              case 31:
                _context.next = 35;
                break;

              case 33:
                _$$_REQUIRE(_dependencyMap[23]).Toast.show(global.strings("system_error"));

                this.handleBackButton();

              case 35:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "willBlur",
      value: function willBlur() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(WebScreen.prototype), "willBlur", this).call(this);

        _$$_REQUIRE(_dependencyMap[20]).EventRegister.rm(this.onPaywallUserStatusUpdate);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(WebScreen.prototype), "componentWillUnmount", this).call(this);
        var params = (0, _$$_REQUIRE(_dependencyMap[21]).getNavigationParams)(this.props);

        if (params && typeof params.onClose === "function") {
          params.onClose();
        }
      }
    }, {
      key: "handleBackButton",
      value: function handleBackButton() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(WebScreen.prototype), "handleBackButton", this).call(this);

        if (this.webview && this.canGoBack) {
          this.webview.goBack();
        } else {
          this.props.navigation.goBack(null);
        }

        return true;
      }
    }, {
      key: "_onUserStatusUpdate",
      value: function _onUserStatusUpdate() {
        var params = (0, _$$_REQUIRE(_dependencyMap[21]).getNavigationParams)(this.props);
        var url = params.url;

        var newUrl = _Paywall.default.replaceExtIdInUrl(url);

        if (url !== newUrl) {
          this.setState({
            url: newUrl
          });
        }
      }
    }, {
      key: "_onLocal",
      value: function _onLocal(segments) {
        if (segments !== undefined) {
          switch (segments.domain) {
            case "xc_tecnaviaPaywallLogIn":
              _Paywall.default.account();

              break;
          }
        }
      }
    }, {
      key: "_onLayout",
      value: function _onLayout(_ref) {
        var nativeEvent = _ref.nativeEvent;
        this.layout = nativeEvent.layout;
      }
    }, {
      key: "_onNavigationStateChange",
      value: function _onNavigationStateChange(navState) {
        this.canGoBack = navState.canGoBack;
      }
    }, {
      key: "_onLoadStart",
      value: function _onLoadStart() {
        var ronDinoWebView = this.props.ronDinoWebView;

        if (ronDinoWebView && this.webview && this.layout) {
          var width = this.layout.width;
          this.webview.injectJavaScript(_webUtils.default.getRonDinoViewPort(width));
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$state = this.state,
            external = _this$state.external,
            url = _this$state.url,
            ignoreUrls = _this$state.ignoreUrls;

        if (external) {
          return null;
        }

        var considerSafeArea = this.props.considerSafeArea;

        var Component = _react.default.createElement(_keyboardAvoidingComponent.default, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).BaseWebView, {
          innerRef: function innerRef(ref) {
            _this2.webview = ref;
          },
          onLocal: this.onLocal,
          onLayout: this.onLayout,
          onNavigationStateChange: this.onNavigationStateChange,
          browser: true,
          onLoadStart: this.onLoadStart,
          ignoreUrls: ignoreUrls,
          source: {
            uri: url
          },
          progressType: _$$_REQUIRE(_dependencyMap[24]).BaseWebView.ProgressTypes.bar
        }));

        if (considerSafeArea) {
          var edges = ["left", "right", "bottom"];

          var navigationBarColor = _styleUtils.default.getNavigationBarColor() || _$$_REQUIRE(_dependencyMap[22]).colors.white;

          return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[25]).TecnaviaSafeAreaView, {
            edges: edges
          }, Component), _react.default.createElement(_barsComponent.default, {
            edges: edges,
            navigationBarColor: navigationBarColor
          }));
        }

        return Component;
      }
    }]);
    return WebScreen;
  }(_$$_REQUIRE(_dependencyMap[21]).NavigationBaseScreen);

  exports.default = WebScreen;
  WebScreen.propTypes = {
    navigation: _propTypes.default.object.isRequired,
    considerSafeArea: _propTypes.default.bool
  };
  WebScreen.defaultProps = {
    considerSafeArea: true
  };
},2294,[5,80,7,8,15,90,12,14,16,17,201,719,1862,460,2145,2147,1876,1874,1870,1872,572,2148,462,1889,1894,2146]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _UserSettingsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var LandingPageScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(LandingPageScreen, _NavigationBaseScreen);

    var _super = _createSuper(LandingPageScreen);

    function LandingPageScreen() {
      (0, _classCallCheck2.default)(this, LandingPageScreen);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(LandingPageScreen, [{
      key: "getTag",
      value: function getTag() {
        return "Landing Page";
      }
    }, {
      key: "_dontShowAgain",
      value: function _dontShowAgain(value) {
        global.getUserSettings().setValue(_UserSettingsHelper.default.SP.keys.landing_page_dont_show_again, value);
      }
    }, {
      key: "render",
      value: function render() {
        var _this = this;

        var _this$props = this.props,
            navigation = _this$props.navigation,
            destinationScreen = _this$props.destinationScreen;

        var _global$getMainPSetup = global.getMainPSetup(),
            landingPageURL = _global$getMainPSetup.landingPageURL;

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).BaseWebView, {
          innerRef: function innerRef(ref) {
            _this.webview = ref;
          },
          onLocal: function onLocal(_ref) {
            var domain = _ref.domain,
                getParams = _ref.getParams;

            switch (domain) {
              case "xc_doNotShowLandingPageAnymore":
                _this._dontShowAgain(getParams.doNotShow === "true" ? "1" : "0");

                break;

              case "xc_closeLandingPage":
                navigation.navigate(destinationScreen);
                break;
            }
          },
          source: {
            uri: landingPageURL
          }
        });
      }
    }]);
    return LandingPageScreen;
  }(_$$_REQUIRE(_dependencyMap[9]).NavigationBaseScreen);

  exports.default = LandingPageScreen;
},2295,[5,7,8,12,14,16,17,2078,1894,2148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _webUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _NewsmemoryAJAX = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var EpaperModeSelectionScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(EpaperModeSelectionScreen, _NavigationBaseScreen);

    var _super = _createSuper(EpaperModeSelectionScreen);

    function EpaperModeSelectionScreen(props) {
      var _this;

      (0, _classCallCheck2.default)(this, EpaperModeSelectionScreen);
      _this = _super.call(this, props, {});
      _this.onMessage = _this._onMessage.bind((0, _assertThisInitialized2.default)(_this));
      _this.onRef = _this._onRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLoadEnd = _this._onLoadEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.onClose = _this._onClose.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(EpaperModeSelectionScreen, [{
      key: "getTag",
      value: function getTag() {
        return "ePaper Mode Selection";
      }
    }, {
      key: "_onMessage",
      value: function _onMessage(message) {
        var sources, newSources, i, _StringUtils$segmentU, domain, icon, base64;

        return _regenerator.default.async(function _onMessage$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!(message.type === "GET_RESOURCES")) {
                  _context.next = 21;
                  break;
                }

                sources = message.content;
                newSources = {};
                i = 0;

              case 4:
                if (!(i < sources.length)) {
                  _context.next = 20;
                  break;
                }

                _StringUtils$segmentU = _$$_REQUIRE(_dependencyMap[15]).StringUtils.segmentUrl(sources[i]), domain = _StringUtils$segmentU.domain;
                icon = global.getEpaperLayoutConfig().getIconByAction(domain);

                if (!icon) {
                  _context.next = 17;
                  break;
                }

                _context.prev = 8;
                _context.next = 11;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[16]).getBase64)({
                  type: icon.getLibrary(),
                  name: icon.getIcon(),
                  source: icon.getIcon(),
                  size: 50
                }));

              case 11:
                base64 = _context.sent;
                newSources[sources[i]] = base64;
                _context.next = 17;
                break;

              case 15:
                _context.prev = 15;
                _context.t0 = _context["catch"](8);

              case 17:
                i++;
                _context.next = 4;
                break;

              case 20:
                if (this.webview) {
                  this.webview._execJavaScript(_webUtils.default.replaceResourcesInPage(newSources));
                }

              case 21:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[8, 15]], Promise);
      }
    }, {
      key: "_onRef",
      value: function _onRef(ref) {
        this.webview = ref;
      }
    }, {
      key: "_onLoadEnd",
      value: function _onLoadEnd() {
        if (this.webview) {
          this.webview._execJavaScript(_webUtils.default.getImagesInsidePage());
        }
      }
    }, {
      key: "_onClose",
      value: function _onClose() {
        var navigation = this.props.navigation;

        if (navigation) {
          navigation.goBack();
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _global$getNewsmemory = global.getNewsmemoryConfig(),
            epaperStartMode = _global$getNewsmemory.epaperStartMode;

        var params = (0, _extends2.default)({}, _Api.default.getDefaultParams(), _NewsmemoryAJAX.default.getDefaultGETParams(), {
          action: "epaperMode",
          mode: epaperStartMode
        });

        var uri = "" + _NewsmemoryAJAX.default.baseUrl();

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).TecnaviaSafeAreaView, {
          style: {
            flex: 1,
            backgroundColor: _$$_REQUIRE(_dependencyMap[15]).colors.black
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[18]).Css, {
          classes: ["epaper-mode-selection"]
        }, _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1,
            backgroundColor: _$$_REQUIRE(_dependencyMap[15]).colors.white
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).BaseOptionspage, {
          forceFullscreen: true,
          ref: this.onRef,
          onMessage: this.onMessage,
          onTabLoaded: this.onLoadEnd,
          onClose: this.onClose,
          url: uri,
          closeType: _$$_REQUIRE(_dependencyMap[20]).closeTypes.none,
          getParams: params
        }))));
      }
    }]);
    return EpaperModeSelectionScreen;
  }(_$$_REQUIRE(_dependencyMap[21]).NavigationBaseScreen);

  exports.default = EpaperModeSelectionScreen;
},2296,[5,80,6,7,8,15,12,14,16,17,28,719,431,430,1859,462,1970,2146,699,2297,730,2148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.BaseOptionspage = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _optionspageUtils = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[14]));

  var _LoginManager = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[15]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _IAPHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _settingDebug = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _closeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _keyboardAvoidingComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var BaseOptionspage = function (_Shortcut) {
    (0, _inherits2.default)(BaseOptionspage, _Shortcut);

    var _super = _createSuper(BaseOptionspage);

    function BaseOptionspage(props) {
      var _this;

      (0, _classCallCheck2.default)(this, BaseOptionspage);
      _this = _super.call(this, props);
      var _this$props = _this.props,
          tab = _this$props.tab,
          url = _this$props.url,
          getParams = _this$props.getParams,
          closeType = _this$props.closeType,
          forceFullscreen = _this$props.forceFullscreen;

      var otherParams = _this._appendOthersParams(getParams);

      var uri = tab ? _optionspageUtils.default.getTabUrl(tab, otherParams) : null;

      if (!uri) {
        uri = url ? _optionspageUtils.default.getCustomUrl(url, otherParams) : null;
      }

      _this.canGoBack = false;
      _this.openTab = _this._openTab.bind((0, _assertThisInitialized2.default)(_this));
      _this.handleLocals = _this._handleLocals.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLoading = _this._onLoading.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLoadEnd = _this._onLoadEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.onMessage = _this._onMessage.bind((0, _assertThisInitialized2.default)(_this));
      _this.onError = _this._onError.bind((0, _assertThisInitialized2.default)(_this));
      _this.cancel = _this._cancel.bind((0, _assertThisInitialized2.default)(_this));
      _this.reload = _this._reload.bind((0, _assertThisInitialized2.default)(_this));
      _this.close = _this._close.bind((0, _assertThisInitialized2.default)(_this));
      _this.retries = 0;
      _this.state = {
        uri: uri,
        closeType: closeType || _optionspageUtils.closeTypes.close,
        forceFullscreen: forceFullscreen,
        hidden: false
      };
      return _this;
    }

    (0, _createClass2.default)(BaseOptionspage, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        (0, _get2.default)((0, _getPrototypeOf2.default)(BaseOptionspage.prototype), "componentDidMount", this).call(this);
        this.openActionListener = _$$_REQUIRE(_dependencyMap[23]).EventRegister.on(_events.default.OPEN_OPTIONSPAGE, this.openTab);
        this.closeActionListener = _$$_REQUIRE(_dependencyMap[23]).EventRegister.on(_events.default.CLOSE_OPTIONSPAGE, function () {
          _this2.close(true);
        });
        this.onStateChangeForeground = _$$_REQUIRE(_dependencyMap[23]).EventRegister.on(_events.default.ON_STATE_CHANGE_GOING_FOREGROUND, function () {
          var uri = _this2.state.uri;

          if (_$$_REQUIRE(_dependencyMap[24]).NetworkUtils.isOnline() && _this2.webview && uri !== null) {
            var currentTab = _optionspageUtils.default.getTabByURL(_this2.currentUrl);

            if (currentTab && currentTab !== _optionspageUtils.tabs.login && currentTab !== _optionspageUtils.tabs.access && currentTab !== _optionspageUtils.tabs.account) {
              _this2.reload();
            }
          }
        });
        this.orientationListener = _$$_REQUIRE(_dependencyMap[23]).EventRegister.on(_events.default.ON_ORIENTATION_CHANGE, function (_ref) {
          var orientation = _ref.orientation;

          _this2.forceUpdate(function () {
            var angle = 0;

            if (orientation === _$$_REQUIRE(_dependencyMap[24]).PlatformUtils.LANDSCAPE) {
              angle = 90;
            } else if (orientation === _$$_REQUIRE(_dependencyMap[24]).PlatformUtils.PORTRAIT_UP_SIDE_DOWN) {
              angle = 180;
            }

            _this2._execJavaScript("xcj_rotateWindow(" + angle + ");");
          });
        });
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(BaseOptionspage.prototype), "componentWillUnmount", this).call(this);

        _$$_REQUIRE(_dependencyMap[23]).EventRegister.rm(this.openActionListener);

        _$$_REQUIRE(_dependencyMap[23]).EventRegister.rm(this.closeActionListener);

        _$$_REQUIRE(_dependencyMap[23]).EventRegister.rm(this.onStateChangeForeground);

        _$$_REQUIRE(_dependencyMap[23]).EventRegister.rm(this.orientationListener);
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "Options Page";
      }
    }, {
      key: "_handleShortcut",
      value: function _handleShortcut() {
        var _this$state = this.state,
            uri = _this$state.uri,
            hidden = _this$state.hidden;

        if (uri && !hidden) {
          var ANY = _$$_REQUIRE(_dependencyMap[25]).KEY_GROUPS.ANY,
              CLOSE = _$$_REQUIRE(_dependencyMap[25]).KEY_GROUPS.CLOSE;

          return [{
            callback: this.close,
            keys: CLOSE,
            stopPropagation: true
          }, {
            callback: this.noop,
            keys: ANY,
            stopPropagation: true
          }];
        }

        return [];
      }
    }, {
      key: "_openTab",
      value: function _openTab(_ref2) {
        var tab = _ref2.tab,
            getParams = _ref2.getParams,
            url = _ref2.url,
            closeType = _ref2.closeType,
            forceFullscreen = _ref2.forceFullscreen,
            hidden = _ref2.hidden;

        var isOnline = _$$_REQUIRE(_dependencyMap[24]).NetworkUtils.isOnline();

        if (isOnline) {
          try {
            var uri = url ? _optionspageUtils.default.getCustomUrl(url, getParams) : _optionspageUtils.default.getTabUrl(tab, this._appendOthersParams(getParams));
            this.setState({
              uri: uri,
              closeType: closeType,
              forceFullscreen: forceFullscreen,
              hidden: hidden
            });
          } catch (e) {
            _$$_REQUIRE(_dependencyMap[26]).Toast.show(global.strings("system_error"));
          }
        } else {
          _reactNative.Alert.alert("", global.strings("err_offline"));
        }
      }
    }, {
      key: "goToRssNavigator",
      value: function goToRssNavigator() {
        _NavigationService.default.main.reset("RssNavigator");
      }
    }, {
      key: "goToNewsMemoryNavigator",
      value: function goToNewsMemoryNavigator() {
        _NavigationService.default.main.reset("NewsmemoryNavigator");
      }
    }, {
      key: "_goBack",
      value: function _goBack() {
        this.setState({
          uri: null
        });
      }
    }, {
      key: "_appendOthersParams",
      value: function _appendOthersParams() {
        var getParams = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        return getParams;
      }
    }, {
      key: "_cancel",
      value: function _cancel() {
        this.close(true);
      }
    }, {
      key: "_reload",
      value: function _reload() {
        if (this.webview) {
          this.webview.reload();
        }
      }
    }, {
      key: "_close",
      value: function _close(force) {
        this.setState({
          uri: null
        });
      }
    }, {
      key: "postMessage",
      value: function postMessage(js) {
        if (this.webview) {
          this.webview.injectJavaScript("try{ window.ReactNativeWebView.postMessage(JSON.stringify(" + js + ")); }catch(e){console.log(e.message)}");
        }
      }
    }, {
      key: "_onMessage",
      value: function _onMessage(data) {
        var onMessage = this.props.onMessage;

        if (data.title) {
          var currentTab = _optionspageUtils.default.getTabByURL(this.currentUrl);

          if (currentTab) {
            (0, _$$_REQUIRE(_dependencyMap[27]).sendNewsmemoryOptionspage)(currentTab, data.title);
          }
        } else if (typeof onMessage === "function") {
          onMessage(data);
        }
      }
    }, {
      key: "_onError",
      value: function _onError(nativeEvent) {
        if (this.retries === 0) {
          this.retries++;
          this.reload();
        } else {
          this.retries = 0;
          var buttons = [];
          buttons.push({
            text: global.strings("btn_cancel"),
            onPress: this.cancel
          }, {
            text: global.strings("retry"),
            onPress: this.reload
          });

          _reactNative.Alert.alert("", global.strings("system_error"), buttons, {
            cancelable: false
          });
        }
      }
    }, {
      key: "_handleLocals",
      value: function _handleLocals(_ref3) {
        var _this3 = this;

        var domain, getParams, newsmemoryConfig, url, callback, close, extraNavigationParams, title, message, okLabel, buttons, _title, _message, _okLabel, cancelLabel, _callback, _buttons, _global$getUsedSpace, usedSpace, numberOfPapersDirs, numberOfIssuesDirs, numberOfPagesDirs, key, _global$getActivePSet, loginStatus, udb, loginStatusValue, value, _key, _value, _callback2, _key2, _key3, _value2, pSetup, machine, username, password, challenge, remember, TAUID, token, TOKEN, extid, tokenToUse, result, params, jsCode, home, data, paperName, _username, _password, extra, _paperName, _username2, _password2, _extra, _await$LoginManager$c, usernameValue, passwordValue, extraValue, show;

        return _regenerator.default.async(function _handleLocals$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                domain = _ref3.domain, getParams = _ref3.getParams;
                newsmemoryConfig = global.getNewsmemoryConfig();

                if (!domain.includes(_optionspageUtils.locals.OPEN_RSS)) {
                  _context.next = 6;
                  break;
                }

                this.goToRssNavigator();
                _context.next = 141;
                break;

              case 6:
                if (!domain.includes(_optionspageUtils.locals.OPEN_TAB_HOME)) {
                  _context.next = 10;
                  break;
                }

                this._resetToHome();

                _context.next = 141;
                break;

              case 10:
                if (!(domain.includes(_optionspageUtils.locals.CLOSE) || domain.includes(_optionspageUtils.locals.CLOSE_WINDOW))) {
                  _context.next = 14;
                  break;
                }

                this._close(true);

                _context.next = 141;
                break;

              case 14:
                if (!domain.includes(_optionspageUtils.locals.GO_BACK)) {
                  _context.next = 18;
                  break;
                }

                this._goBack();

                _context.next = 141;
                break;

              case 18:
                if (!(domain.includes(_optionspageUtils.locals.OPEN_BROWSER) || domain.includes(_optionspageUtils.locals.OPEN_BROWSER_ALT))) {
                  _context.next = 25;
                  break;
                }

                url = getParams.url, callback = getParams.callback, close = getParams.close;

                if (url) {
                  extraNavigationParams = {};

                  if (url.indexOf("archiveSearch=1") !== -1) {
                    extraNavigationParams.screenTitle = global.strings("btn_archive");
                    extraNavigationParams.isArchive = true;
                  }

                  _NavigationService.default.main.navigate("WebScreen", (0, _extends2.default)({
                    url: url,
                    onClose: function onClose() {
                      _$$_REQUIRE(_dependencyMap[24]).PlatformUtils.colorBars();
                    }
                  }, extraNavigationParams));
                }

                if (callback) {
                  this._execJavaScript(callback + "();");
                }

                if (close && close === "1") {
                  this._close(true);
                }

                _context.next = 141;
                break;

              case 25:
                if (!domain.includes(_optionspageUtils.locals.ALERT)) {
                  _context.next = 32;
                  break;
                }

                title = getParams.title, message = getParams.message, okLabel = getParams.okLabel;
                buttons = [];
                buttons.push({
                  text: okLabel || global.strings("btn_ok")
                });

                _reactNative.Alert.alert(title, message, buttons, {
                  cancelable: false
                });

                _context.next = 141;
                break;

              case 32:
                if (!domain.includes(_optionspageUtils.locals.CONFIRM)) {
                  _context.next = 39;
                  break;
                }

                _title = getParams.title, _message = getParams.message, _okLabel = getParams.okLabel, cancelLabel = getParams.cancelLabel, _callback = getParams.callback;
                _buttons = [];

                _buttons.push({
                  text: cancelLabel || global.strings("btn_cancel"),
                  onPress: function onPress() {
                    _this3._confirmResult(_callback, false);
                  }
                }, {
                  text: _okLabel || global.strings("btn_ok"),
                  onPress: function onPress() {
                    _this3._confirmResult(_callback, true);
                  }
                });

                _reactNative.Alert.alert(_title, _message, _buttons, {
                  cancelable: false
                });

                _context.next = 141;
                break;

              case 39:
                if (!domain.includes(_optionspageUtils.locals.GET_USED_SPACE)) {
                  _context.next = 46;
                  break;
                }

                _context.next = 42;
                return _regenerator.default.awrap(global.analyzeUsedSpace());

              case 42:
                _global$getUsedSpace = global.getUsedSpace(), usedSpace = _global$getUsedSpace.usedSpace, numberOfPapersDirs = _global$getUsedSpace.numberOfPapersDirs, numberOfIssuesDirs = _global$getUsedSpace.numberOfIssuesDirs, numberOfPagesDirs = _global$getUsedSpace.numberOfPagesDirs;

                this._execJavaScript("xcj_getIssuesUsedSpaceResult(" + usedSpace + "," + numberOfPapersDirs + "," + numberOfIssuesDirs + "," + numberOfPagesDirs + ");");

                _context.next = 141;
                break;

              case 46:
                if (!domain.includes(_optionspageUtils.locals.GET_CONFIG_DUMP)) {
                  _context.next = 50;
                  break;
                }

                this._execJavaScript("xcj_getConfigDump('" + JSON.stringify(newsmemoryConfig) + "');");

                _context.next = 141;
                break;

              case 50:
                if (!domain.includes(_optionspageUtils.locals.GET_KEY)) {
                  _context.next = 69;
                  break;
                }

                key = getParams.key;

                if (!key) {
                  _context.next = 67;
                  break;
                }

                _global$getActivePSet = global.getActivePSetup(), loginStatus = _global$getActivePSet.loginStatus, udb = _global$getActivePSet.udb;
                loginStatusValue = "";

                if (!key.startsWith(udb)) {
                  _context.next = 59;
                  break;
                }

                _context.next = 58;
                return _regenerator.default.awrap(loginStatus.getValue(key.replace(udb + "_", "")));

              case 58:
                loginStatusValue = _context.sent;

              case 59:
                _context.t0 = loginStatusValue;

                if (_context.t0) {
                  _context.next = 64;
                  break;
                }

                _context.next = 63;
                return _regenerator.default.awrap(newsmemoryConfig.getValue(key));

              case 63:
                _context.t0 = _context.sent;

              case 64:
                value = _context.t0;

                if (typeof value === "string") {
                  value = "'" + value + "'";
                }

                this._execJavaScript("xcj_getFromKey(" + value + ",'" + key + "');");

              case 67:
                _context.next = 141;
                break;

              case 69:
                if (!domain.includes(_optionspageUtils.locals.SET_KEY)) {
                  _context.next = 75;
                  break;
                }

                _key = getParams.key, _value = getParams.value, _callback2 = getParams.callback;
                newsmemoryConfig.setValue(_key, _value);

                if (_callback2) {
                  this._execJavaScript(_callback2 + "();");
                }

                _context.next = 141;
                break;

              case 75:
                if (!domain.includes(_optionspageUtils.locals.REMOVE_KEY)) {
                  _context.next = 80;
                  break;
                }

                _key2 = getParams.key;
                newsmemoryConfig.removeValue(_key2);
                _context.next = 141;
                break;

              case 80:
                if (!domain.includes(_optionspageUtils.locals.SET_PREF_EDI)) {
                  _context.next = 85;
                  break;
                }

                _key3 = getParams.key, _value2 = getParams.value;
                newsmemoryConfig.setValue(_key3, _value2);
                _context.next = 141;
                break;

              case 85:
                if (!domain.includes(_optionspageUtils.locals.RETURN_FROM_LOGIN)) {
                  _context.next = 98;
                  break;
                }

                (0, _$$_REQUIRE(_dependencyMap[27]).sendNewsmemoryLoginEvent)("start login");

                if (this.baseRef) {
                  this.baseRef.showLoading();
                }

                pSetup = getParams.pSetup, machine = getParams.machine, username = getParams.username, password = getParams.password, challenge = getParams.challenge, remember = getParams.remember, TAUID = getParams.TAUID, token = getParams.token, TOKEN = getParams.TOKEN, extid = getParams.extid;
                tokenToUse = token;

                if (TOKEN) {
                  tokenToUse = TOKEN;
                }

                _context.next = 93;
                return _regenerator.default.awrap(_LoginManager.default.login({
                  pSetup: pSetup,
                  machine: machine,
                  username: username,
                  password: password,
                  challenge: challenge,
                  remember: remember,
                  TAUID: TAUID,
                  token: tokenToUse,
                  extid: extid
                }));

              case 93:
                result = _context.sent;

                if (result && result.data) {
                  this._execJavaScript("xcj_loginResults(" + result.TAUID + ",'" + JSON.stringify(result.data) + "');");
                } else {
                  params = this.props.getParams;
                  home = _optionspageUtils.default.getTabUrl(_optionspageUtils.tabs.home, this._appendOthersParams(params));

                  if (username === global.machineId && this.currentUrl && _optionspageUtils.default.isSamePage(this.currentUrl, home)) {
                    data = {
                      protError: 0,
                      pSetup: pSetup
                    };
                    jsCode = "xcj_loginResults(" + TAUID + ",'" + JSON.stringify(data) + "');";
                  } else {
                    jsCode = "xcj_loginResults(-1,'" + JSON.stringify({
                      protError: _LoginManager.PROT_ERROR.NOT_LOGGEDIN
                    }) + "');";
                  }

                  this._execJavaScript(jsCode);
                }

                if (this.baseRef) {
                  this.baseRef.hideLoading();
                }

                _context.next = 141;
                break;

              case 98:
                if (!domain.includes(_optionspageUtils.locals.LOGOUT)) {
                  _context.next = 103;
                  break;
                }

                _context.next = 101;
                return _regenerator.default.awrap(_LoginManager.default.logout());

              case 101:
                _context.next = 141;
                break;

              case 103:
                if (!domain.includes(_optionspageUtils.locals.STORE_USER_INFO)) {
                  _context.next = 113;
                  break;
                }

                paperName = getParams.paperName, _username = getParams.username, _password = getParams.password, extra = getParams.extra;

                if (_username) {
                  newsmemoryConfig.setValue(paperName + "_username", _username);
                }

                if (_password) {
                  newsmemoryConfig.setValue(paperName + "_password", _password);
                }

                if (extra) {
                  newsmemoryConfig.setValue(paperName + "_extra", extra);
                }

                _context.next = 110;
                return _regenerator.default.awrap(_LoginManager.default.storeClassicCustomLoginStatus({
                  paperName: paperName,
                  username: _username,
                  password: _password,
                  extra: extra
                }));

              case 110:
                this._execJavaScript("xcj_storeUserInfo();");

                _context.next = 141;
                break;

              case 113:
                if (!domain.includes(_optionspageUtils.locals.GET_USER_INFO)) {
                  _context.next = 140;
                  break;
                }

                _paperName = getParams.paperName;
                _context.next = 117;
                return _regenerator.default.awrap(newsmemoryConfig.getValue(_paperName + "_username"));

              case 117:
                _username2 = _context.sent;
                _context.next = 120;
                return _regenerator.default.awrap(newsmemoryConfig.getValue(_paperName + "_password"));

              case 120:
                _password2 = _context.sent;
                _context.next = 123;
                return _regenerator.default.awrap(newsmemoryConfig.getValue(_paperName + "_extra"));

              case 123:
                _extra = _context.sent;

                if (_username2) {
                  _context.next = 134;
                  break;
                }

                _context.next = 127;
                return _regenerator.default.awrap(_LoginManager.default.checkClassicLoginStatus(_paperName));

              case 127:
                _await$LoginManager$c = _context.sent;
                _username2 = _await$LoginManager$c.username;
                _password2 = _await$LoginManager$c.password;
                _extra = _await$LoginManager$c.extra;

                if (_username2) {
                  newsmemoryConfig.setValue(_paperName + "_username", _username2);
                }

                if (_password2) {
                  newsmemoryConfig.setValue(_paperName + "_password", _password2);
                }

                if (_extra) {
                  newsmemoryConfig.setValue(_paperName + "_extra", _extra);
                }

              case 134:
                usernameValue = _username2 || "";
                passwordValue = _password2 || "";
                extraValue = _extra || "";

                this._execJavaScript("xcj_getUserInfo('" + usernameValue + "', '" + passwordValue + "', '" + extraValue + "');");

                _context.next = 141;
                break;

              case 140:
                if (domain.includes(_optionspageUtils.locals.SHOW_DEBUG_INFO)) {
                  if (this.debugRef) {
                    this.debugRef._expand();
                  }
                } else if (domain.includes(_optionspageUtils.locals.DISPLAY_LOADER)) {
                  show = getParams.show;

                  if (this.baseRef) {
                    if (show === "1") {
                      this.baseRef.showLoading();
                    } else {
                      this.baseRef.hideLoading();
                    }
                  }
                } else {}

              case 141:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_resetToHome",
      value: function _resetToHome() {
        this.setState({
          uri: null
        }, this._goBack);
      }
    }, {
      key: "_onLoading",
      value: function _onLoading(segments) {
        var domain = segments.domain;
        var closeType = this.state.closeType;

        var isTecnaviaDomain = _$$_REQUIRE(_dependencyMap[24]).StringUtils.isTecnaviaDomain(domain);

        if (!isTecnaviaDomain) {
          this.setState({
            closeType: _optionspageUtils.closeTypes.back
          });
        } else if (closeType === _optionspageUtils.closeTypes.back) {
          this.setState({
            closeType: _optionspageUtils.closeTypes.close
          });
        }
      }
    }, {
      key: "_onLoadEnd",
      value: function _onLoadEnd(nativeEvent) {
        if (nativeEvent) {
          if (typeof nativeEvent.code === "undefined") {
            this.retries = 0;
          }

          var onTabLoaded = this.props.onTabLoaded;

          var currentTab = _optionspageUtils.default.getTabByURL(this.currentUrl);

          if (currentTab) {
            this.postMessage("{title: $('#myNavbar li.active a').html()}");
          }

          if (typeof onTabLoaded === "function") {
            onTabLoaded(currentTab);
          }
        }
      }
    }, {
      key: "_confirmResult",
      value: function _confirmResult(callback, result) {
        if (callback) {
          var boolString = result ? "true" : "false";

          this._execJavaScript(callback + "(" + boolString + ");");
        }
      }
    }, {
      key: "_execJavaScript",
      value: function _execJavaScript(jsToExec) {
        if (this.webview) {
          this.webview.injectJavaScript("try { " + jsToExec + " } catch (e) { };");
        }
      }
    }, {
      key: "_onClose",
      value: function _onClose() {
        var onClose = this.props.onClose;

        if (typeof onClose === "function") {
          onClose();
        }

        if (this.prevNewsmemoryConfig && !_$$_REQUIRE(_dependencyMap[24]).JSUtils.equals(this.prevNewsmemoryConfig, global.getNewsmemoryConfig())) {
          _$$_REQUIRE(_dependencyMap[23]).EventRegister.emit(_events.default.NEWSMEMORY_CONFIG_CHANGE, {
            previousConfig: this.prevNewsmemoryConfig
          });
        }
      }
    }, {
      key: "_onOpen",
      value: function _onOpen() {
        var onOpen = this.props.onOpen;
        var hidden = this.state.hidden;

        if (!hidden && typeof onOpen === "function") {
          onOpen();
        }

        this.prevNewsmemoryConfig = (0, _extends2.default)({}, global.getNewsmemoryConfig());
      }
    }, {
      key: "_getCustomStyle",
      value: function _getCustomStyle() {
        var style = this.props.style;
        return style;
      }
    }, {
      key: "render",
      value: function render() {
        var _this4 = this;

        var backgroundColor = this.props.backgroundColor;
        var _this$state2 = this.state,
            uri = _this$state2.uri,
            closeType = _this$state2.closeType,
            forceFullscreen = _this$state2.forceFullscreen,
            hidden = _this$state2.hidden;

        _IAPHelper.default.resetServerCallback();

        if (!uri) {
          this._onClose();

          return null;
        }

        this._onOpen();

        var style = [];

        var customStyle = this._getCustomStyle();

        var _global$getActivePSet2 = global.getActivePSetup(),
            optionspageConfig = _global$getActivePSet2.optionspageConfig,
            overrideNewsMemoryUserAgent = _global$getActivePSet2.overrideNewsMemoryUserAgent;

        if (hidden) {
          style = _$$_REQUIRE(_dependencyMap[28]).styles.hidden;
        } else if (!forceFullscreen && optionspageConfig.isModal()) {
          style = [_$$_REQUIRE(_dependencyMap[28]).styles.modal, _$$_REQUIRE(_dependencyMap[28]).styles.main, optionspageConfig.getCoordinates(), customStyle];
        } else {
          style = [_$$_REQUIRE(_dependencyMap[28]).styles.fullscreen, _$$_REQUIRE(_dependencyMap[28]).styles.main, customStyle];
        }

        var closeButton;

        if (!hidden && closeType !== _optionspageUtils.closeTypes.none) {
          if (closeType === _optionspageUtils.closeTypes.back) {
            closeButton = _react.default.createElement(_closeComponent.default, {
              source: _$$_REQUIRE(_dependencyMap[29]),
              parentStyle: _$$_REQUIRE(_dependencyMap[28]).styles.closeIcon,
              cssProps: {
                classes: ["newsmemory-icon", "newsmemory-close-icon", "optionspage-icon", "optionspage-back-icon"]
              },
              onPress: function onPress() {
                _this4._goBack();
              }
            });
          } else {
            closeButton = _react.default.createElement(_closeComponent.default, {
              parentStyle: _$$_REQUIRE(_dependencyMap[28]).styles.closeIcon,
              cssProps: {
                classes: ["newsmemory-icon", "newsmemory-close-icon", "optionspage-icon", "optionspage-close-icon"]
              },
              onPress: function onPress() {
                _this4._close();
              }
            });
          }
        }

        var userAgent = overrideNewsMemoryUserAgent || _$$_REQUIRE(_dependencyMap[24]).PlatformUtils.getUserAgent();

        var optionspage = _react.default.createElement(_$$_REQUIRE(_dependencyMap[30]).Css, {
          classes: ["optionspage"]
        }, _react.default.createElement(_reactNative.View, {
          style: style
        }, _react.default.createElement(_keyboardAvoidingComponent.default, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[31]).BaseWebView, {
          ref: function ref(_ref4) {
            _this4.baseRef = _ref4;
          },
          innerRef: function innerRef(ref) {
            _this4.webview = ref;
          },
          source: {
            uri: uri
          },
          browser: true,
          progressColor: _newsmemoryUtils.default.getSpinnerColor(),
          onLocal: this.handleLocals,
          onLoading: this.onLoading,
          onLoadEnd: this.onLoadEnd,
          onMessage: this.onMessage,
          automaticallyAdjustContentInsets: true,
          scalesPageToFit: false,
          onNavigationStateChange: function onNavigationStateChange(navState) {
            _this4.canGoBack = navState.canGoBack;
            _this4.currentUrl = navState.url;
          },
          enableKeyboardResize: _$$_REQUIRE(_dependencyMap[24]).PlatformUtils.isAndroid(),
          startInLoadingState: hidden ? _$$_REQUIRE(_dependencyMap[31]).BaseWebView.LoadingStatePosition.none : _$$_REQUIRE(_dependencyMap[31]).BaseWebView.LoadingStatePosition.center,
          userAgent: userAgent,
          onError: this.onError
        }), closeButton, _react.default.createElement(_settingDebug.default, {
          ref: function ref(_ref5) {
            _this4.debugRef = _ref5;
          },
          numberOfTapToDebug: 1,
          hidden: true
        }))));

        var backgroundStyle = [_$$_REQUIRE(_dependencyMap[28]).styles.background];

        if (backgroundColor) {
          backgroundStyle.push({
            backgroundColor: backgroundColor
          });
        }

        return optionspageConfig.isModal() && !forceFullscreen ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[30]).Css, {
          classes: ["optionspage-modal-container"]
        }, _react.default.createElement(_reactNative.View, {
          style: backgroundStyle
        }, optionspage)) : optionspage;
      }
    }]);
    return BaseOptionspage;
  }(_$$_REQUIRE(_dependencyMap[32]).Shortcut);

  exports.BaseOptionspage = BaseOptionspage;
  BaseOptionspage.propTypes = (0, _extends2.default)({
    url: _propTypes.default.string,
    tab: _propTypes.default.string,
    getParams: _propTypes.default.object,
    onOpen: _propTypes.default.func,
    onClose: _propTypes.default.func,
    closeType: _propTypes.default.string,
    onMessage: _propTypes.default.func,
    onTabLoaded: _propTypes.default.func,
    backgroundColor: _propTypes.default.string,
    forceFullscreen: _propTypes.default.bool,
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array])
  }, _$$_REQUIRE(_dependencyMap[32]).Shortcut.propTypes);
  BaseOptionspage.defaultProps = (0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[32]).Shortcut.defaultProps, {
    shortcutEnabled: true,
    forceFullscreen: false
  });
},2297,[5,80,6,7,8,15,90,12,14,16,17,28,201,1861,730,2057,460,1859,1934,2256,603,2298,1870,572,462,1873,1889,1954,2301,1727,699,1894,1911]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _simpleButtonComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var CloseNewsmemory = function (_React$Component) {
    (0, _inherits2.default)(CloseNewsmemory, _React$Component);

    var _super = _createSuper(CloseNewsmemory);

    function CloseNewsmemory() {
      (0, _classCallCheck2.default)(this, CloseNewsmemory);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(CloseNewsmemory, [{
      key: "render",
      value: function render() {
        return _react.default.createElement(_simpleButtonComponent.default, this.props);
      }
    }]);
    return CloseNewsmemory;
  }(_react.default.Component);

  exports.default = CloseNewsmemory;
  CloseNewsmemory.propTypes = (0, _extends2.default)({
    source: _propTypes.default.any,
    library: _propTypes.default.string
  }, _simpleButtonComponent.default.propTypes);
  CloseNewsmemory.defaultProps = {
    source: _$$_REQUIRE(_dependencyMap[10]),
    library: undefined
  };
},2298,[5,6,7,8,12,14,16,17,201,2299,1757]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _simpleButtonComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SimpleButton = function (_React$Component) {
    (0, _inherits2.default)(SimpleButton, _React$Component);

    var _super = _createSuper(SimpleButton);

    function SimpleButton(props) {
      var _this;

      (0, _classCallCheck2.default)(this, SimpleButton);
      _this = _super.call(this, props);
      var visible = props.visible;
      _this.state = {
        visible: visible
      };
      _this.onPress = _this._onPress.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(SimpleButton, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        var toVisibleEvent = this.props.toVisibleEvent;

        if (toVisibleEvent) {
          this.onToVisibleListener = _$$_REQUIRE(_dependencyMap[12]).EventRegister.on(toVisibleEvent, function (_ref) {
            var visible = _ref.visible;

            _this2.setState({
              visible: visible
            });
          });
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[12]).EventRegister.rm(this.onToVisibleListener);
      }
    }, {
      key: "show",
      value: function show() {
        this._updateVisibility(true);
      }
    }, {
      key: "hide",
      value: function hide() {
        this._updateVisibility(false);
      }
    }, {
      key: "_updateVisibility",
      value: function _updateVisibility(newVisibleValue) {
        var visible = this.state.visible;

        if (visible !== newVisibleValue) {
          this.setState({
            visible: newVisibleValue
          });
        }
      }
    }, {
      key: "_onPress",
      value: function _onPress() {
        var onPress = this.props.onPress;

        if (typeof onPress === "function") {
          onPress();
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            parentStyle = _this$props.parentStyle,
            ifHiddenRemove = _this$props.ifHiddenRemove,
            buttonStyle = _this$props.buttonStyle,
            source = _this$props.source,
            tintColor = _this$props.tintColor,
            library = _this$props.library,
            cssProps = _this$props.cssProps,
            accessibilityLabel = _this$props.accessibilityLabel;
        var visible = this.state.visible;

        if (!visible) {
          if (ifHiddenRemove) {
            return null;
          }

          return _react.default.createElement(_reactNative.View, {
            style: [_simpleButtonComponent.default.parent, parentStyle]
          });
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["newsmemory-article-header-icon-container"]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).TouchableOpacity, {
          containerStyle: [_simpleButtonComponent.default.parent, parentStyle],
          onPress: this.onPress,
          accessibilityLabel: accessibilityLabel
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, cssProps, _react.default.createElement(_imageIconChooserComponent.default, {
          type: library,
          name: source,
          iconStyle: [_simpleButtonComponent.default.libraryButton, {
            color: tintColor
          }],
          imageStyle: [_simpleButtonComponent.default.button, {
            tintColor: tintColor
          }],
          style: [buttonStyle],
          resizeMode: "contain",
          source: source,
          tintColor: tintColor
        }))));
      }
    }]);
    return SimpleButton;
  }(_react.default.Component);

  exports.default = SimpleButton;
  SimpleButton.propTypes = {
    parentStyle: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array]),
    buttonStyle: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array]),
    library: _propTypes.default.string,
    source: _propTypes.default.any.isRequired,
    onPress: _propTypes.default.func.isRequired,
    toVisibleEvent: _propTypes.default.string,
    visible: _propTypes.default.bool,
    ifHiddenRemove: _propTypes.default.bool,
    tintColor: _propTypes.default.string,
    cssProps: _propTypes.default.object,
    accessibilityLabel: _propTypes.default.string
  };
  SimpleButton.defaultProps = {
    parentStyle: {},
    buttonStyle: {},
    visible: true,
    library: undefined,
    cssProps: {}
  };
},2299,[5,7,8,15,12,14,16,17,201,28,2300,1970,572,699,1]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    parent: {
      height: _$$_REQUIRE(_dependencyMap[1]).HEADER_PARENT_BUTTON_SIZE,
      width: _$$_REQUIRE(_dependencyMap[1]).HEADER_PARENT_BUTTON_SIZE,
      justifyContent: "center",
      alignItems: "center"
    },
    button: {
      height: _$$_REQUIRE(_dependencyMap[1]).HEADER_BUTTON_SIZE,
      width: _$$_REQUIRE(_dependencyMap[1]).HEADER_BUTTON_SIZE
    },
    libraryButton: {
      fontSize: _$$_REQUIRE(_dependencyMap[1]).HEADER_BUTTON_SIZE
    },
    badge: {
      position: "absolute",
      top: 2,
      right: 2,
      borderWidth: 1,
      borderRadius: 10,
      width: 20,
      height: 20,
      backgroundColor: "white",
      alignSelf: "center"
    }
  });

  exports.default = _default;
},2300,[28,729]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    main: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white
    },
    fullscreen: {
      position: "absolute",
      top: 0,
      left: 0,
      right: 0,
      bottom: 0,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.modalBackgroundLight
    },
    background: {
      position: "absolute",
      top: 0,
      left: 0,
      right: 0,
      bottom: 0,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.modalBackgroundLight
    },
    hidden: {
      width: 0,
      height: 0
    },
    modal: {
      position: "absolute",
      zIndex: 1000
    },
    closeIcon: {
      position: "absolute",
      top: 13,
      right: 13,
      width: 24,
      height: 24,
      alignItems: "center",
      justifyContent: "center"
    }
  });

  exports.styles = styles;
},2301,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.useRootContainerLayout = useRootContainerLayout;
  exports.RootContainerLayoutContextProvider = RootContainerLayoutContextProvider;
  exports.setRootContainerLayout = setRootContainerLayout;
  exports.CustomNavigationStyledContainer = CustomNavigationStyledContainer;
  exports.CustomNavigationContainer = CustomNavigationContainer;
  exports.RootContainerLayoutContext = undefined;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var RootContainerLayoutContext = (0, _$$_REQUIRE(_dependencyMap[6]).createReactiveContext)({});
  exports.RootContainerLayoutContext = RootContainerLayoutContext;

  function useRootContainerLayout() {
    return (0, _$$_REQUIRE(_dependencyMap[6]).useReactiveContext)(RootContainerLayoutContext).state;
  }

  function RootContainerLayoutContextProvider(props) {
    return _react.default.createElement(RootContainerLayoutContext.Provider, props);
  }

  function setRootContainerLayout() {
    var layout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    RootContainerLayoutContext.set(layout);
  }

  function CustomNavigationStyledContainer(props) {
    var children = props.children;

    var _useState = (0, _react.useState)({}),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        style = _useState2[0],
        setStyle = _useState2[1];

    var containerLayout = useRootContainerLayout();
    var onLayoutCallback = (0, _react.useCallback)(function (_ref) {
      var nativeEvent = _ref.nativeEvent;
      var layout = nativeEvent.layout;

      if (!_$$_REQUIRE(_dependencyMap[7]).JSUtils.isEmpty(containerLayout) && !_$$_REQUIRE(_dependencyMap[7]).JSUtils.areEqualShallow(containerLayout, layout)) {
        if ((layout.width <= layout.height && containerLayout.width <= containerLayout.height || layout.width > layout.height && containerLayout.width > containerLayout.height) && layout.height < containerLayout.height) {
          setStyle({
            flex: 0,
            width: containerLayout.width,
            height: containerLayout.height + (containerLayout.height - layout.height)
          });
        }
      }
    }, [containerLayout]);
    (0, _react.useEffect)(function () {
      setStyle({});
    }, [containerLayout]);
    return _react.default.createElement(_reactNative.View, {
      style: (0, _extends2.default)({
        flex: 1
      }, style),
      onLayout: onLayoutCallback
    }, children);
  }

  function CustomNavigationContainer(props) {
    var children = props.children,
        onNavigationRef = props.onNavigationRef,
        rest = (0, _objectWithoutProperties2.default)(props, ["children", "onNavigationRef"]);
    var Content = children;

    if (!global.appNeedsSafeArea()) {
      Content = _react.default.createElement(CustomNavigationStyledContainer, null, Content);
    }

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).NavigationContainer, (0, _extends2.default)({
      ref: function ref(_ref2) {
        if (typeof onNavigationRef === "function") {
          onNavigationRef(_ref2);
        }
      }
    }, rest), Content);
  }
},2302,[5,108,6,41,17,28,702,462,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2303,[2304]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.NewsmemoryScreen = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[13]);

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var Analytics = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[15]));

  var _LiveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _optionspageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _NewsmemoryManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _NewsmemoryDatabasesManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _newsmemoryScreen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[23]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[24]));

  var _specialSectionComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[25]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[26]));

  var _NewspaperManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[27]));

  var _PushHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[28]));

  var _InterstitialsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[29]));

  var _progressDownloadComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[30]));

  var _TranslationManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[31]));

  var _styleUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[32]));

  var _GlobalConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[33]));

  var _optionPageAccessibility = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[34]));

  var _nativeOptionsPage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[35]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[36]));

  var _nativeOptionsPageFallback = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[37]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NewsmemoryScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(NewsmemoryScreen, _NavigationBaseScreen);

    var _super = _createSuper(NewsmemoryScreen);

    function NewsmemoryScreen(props) {
      var _this;

      (0, _classCallCheck2.default)(this, NewsmemoryScreen);
      _this = _super.call(this, props);
      _this.tab = props.tab;

      _LiveConfig.default.setEpaperSide();

      Analytics.initMatomo();
      Analytics.initMatomoTracker();
      _this.onNewsmemoryRef = _this._onNewsmemoryRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLayoutManagerRef = _this._onLayoutManagerRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onOptionPageClosed = _this._onOptionPageClosed.bind((0, _assertThisInitialized2.default)(_this));
      _this.onOptionPageOpened = _this._onOptionPageOpened.bind((0, _assertThisInitialized2.default)(_this));
      _this.canOptionPageBeClosed = _this._canOptionPageBeClosed.bind((0, _assertThisInitialized2.default)(_this));
      _this.onOptionPageTabLoaded = _this._onOptionPageTabLoaded.bind((0, _assertThisInitialized2.default)(_this));
      _this.loadSpecialSection = _this._loadSpecialSection.bind((0, _assertThisInitialized2.default)(_this));
      _this.loadMainEditionFromSpecial = _this._loadMainEditionFromSpecial.bind((0, _assertThisInitialized2.default)(_this));
      _this.displayOfflineIssues = _this._displayOfflineIssues.bind((0, _assertThisInitialized2.default)(_this));
      _this.updateStatusBarColor = _this._updateStatusBarColor.bind((0, _assertThisInitialized2.default)(_this));
      _this.newsmemoryManager = new _NewsmemoryManager.default(props.navigation);
      _this.isOptionPageOpened = false;
      _this.newspaperLoaded = false;
      _this.state = {
        downloadingDB: false,
        loaded: false,
        showLoading: false,
        logging: false,
        updating: false
      };
      return _this;
    }

    (0, _createClass2.default)(NewsmemoryScreen, [{
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(nextProps) {
        var tab = nextProps.tab;

        if (tab) {
          _$$_REQUIRE(_dependencyMap[38]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
            tab: tab
          });

          this.tab = undefined;
        }
      }
    }, {
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        (0, _get2.default)((0, _getPrototypeOf2.default)(NewsmemoryScreen.prototype), "componentDidMount", this).call(this);

        this._managePushNotification();

        this.showPrestitial();
        this.onEditionDownloadRequest = _$$_REQUIRE(_dependencyMap[38]).EventRegister.on(_events.default.NEWSMEMORY_DOWNLOAD_EDITION, function _callee(_ref) {
          var issue, edition, currentNewspaperManager, status;
          return _regenerator.default.async(function _callee$(_context) {
            while (1) {
              switch (_context.prev = _context.next) {
                case 0:
                  issue = _ref.issue, edition = _ref.edition;

                  if (_this2.layoutManagerRef) {
                    _this2.layoutManagerRef.resetCurrentArticle();

                    _this2.layoutManagerRef.resetCurrentPageId();
                  }

                  if (!_this2.newsmemoryManager) {
                    _context.next = 20;
                    break;
                  }

                  currentNewspaperManager = _this2.newsmemoryManager.currentNewspaperManager;

                  if (!currentNewspaperManager) {
                    _context.next = 11;
                    break;
                  }

                  status = currentNewspaperManager.status;

                  if (!status) {
                    _context.next = 11;
                    break;
                  }

                  _context.next = 9;
                  return _regenerator.default.awrap(status.resetLastPageNumber());

                case 9:
                  _context.next = 11;
                  return _regenerator.default.awrap(status.resetLastArticleId());

                case 11:
                  (0, _$$_REQUIRE(_dependencyMap[39]).sendNewsmemoryClearRecently)();
                  _context.prev = 12;
                  _context.next = 15;
                  return _regenerator.default.awrap(_this2.newsmemoryManager.init(global.getActivePSetup()));

                case 15:
                  _context.next = 19;
                  break;

                case 17:
                  _context.prev = 17;
                  _context.t0 = _context["catch"](12);

                case 19:
                  _this2.newsmemoryManager.downloadPublication(issue, edition);

                case 20:
                case "end":
                  return _context.stop();
              }
            }
          }, null, null, [[12, 17]], Promise);
        });
        this.onEditionReloadRequest = _$$_REQUIRE(_dependencyMap[38]).EventRegister.on(_events.default.NEWSMEMORY_RELOAD_EDITION, function _callee2() {
          var currentNewspaperManager, status;
          return _regenerator.default.async(function _callee2$(_context2) {
            while (1) {
              switch (_context2.prev = _context2.next) {
                case 0:
                  if (!_this2.canOptionPageBeClosed()) {
                    _context2.next = 13;
                    break;
                  }

                  if (_this2.layoutManagerRef) {
                    _this2.layoutManagerRef.resetCurrentArticle();

                    _this2.layoutManagerRef.resetCurrentPageId();
                  }

                  if (!_this2.newsmemoryManager) {
                    _context2.next = 13;
                    break;
                  }

                  currentNewspaperManager = _this2.newsmemoryManager.currentNewspaperManager;

                  if (!currentNewspaperManager) {
                    _context2.next = 11;
                    break;
                  }

                  status = currentNewspaperManager.status;

                  if (!status) {
                    _context2.next = 11;
                    break;
                  }

                  _context2.next = 9;
                  return _regenerator.default.awrap(status.resetLastPageNumber());

                case 9:
                  _context2.next = 11;
                  return _regenerator.default.awrap(status.resetLastArticleId());

                case 11:
                  (0, _$$_REQUIRE(_dependencyMap[39]).sendNewsmemoryClearRecently)();

                  _this2.newsmemoryManager.reloadLastPublication();

                case 13:
                case "end":
                  return _context2.stop();
              }
            }
          }, null, null, null, Promise);
        });
        this.onLoadSpecialSection = _$$_REQUIRE(_dependencyMap[38]).EventRegister.on(_events.default.NEWSMEMORY_ON_LOAD_SPECIAL, this.loadSpecialSection);
        this.onLoadMainEdition = _$$_REQUIRE(_dependencyMap[38]).EventRegister.on(_events.default.NEWSMEMORY_ON_LOAD_MAIN_EDITION_FROM_SPECIAL, this.loadMainEditionFromSpecial);
        this.onEditionDBDownloadStart = _$$_REQUIRE(_dependencyMap[38]).EventRegister.on(_events.default.NEWSMEMORY_DB_DOWNLOAD_STARTED, function () {
          _this2.setState({
            downloadingDB: true
          });
        });
        this.onEditionDBDownloadFinish = _$$_REQUIRE(_dependencyMap[38]).EventRegister.on(_events.default.NEWSMEMORY_DB_DOWNLOAD_FINISHED, function () {
          _this2.setState({
            downloadingDB: false
          });
        });
        this.onEditionLoading = _$$_REQUIRE(_dependencyMap[38]).EventRegister.on(_events.default.NEWSMEMORY_NEWSPAPER_LOADING, function (_ref2) {
          var changed = _ref2.changed;

          if (changed) {
            _this2.setState({
              loaded: false
            });
          }
        });
        this.onEditionLoaded = _$$_REQUIRE(_dependencyMap[38]).EventRegister.on(_events.default.NEWSMEMORY_NEWSPAPER_LOADED, function _callee3() {
          return _regenerator.default.async(function _callee3$(_context3) {
            while (1) {
              switch (_context3.prev = _context3.next) {
                case 0:
                  _context3.next = 2;
                  return _regenerator.default.awrap(_this2.checkIfPaperHasSpecialSection());

                case 2:
                  if (_this2.layoutManagerRef) {
                    _this2.layoutManagerRef.reset();
                  }

                  _this2._showEpaperModeSelection();

                  _this2.setState({
                    loaded: true
                  });

                case 5:
                case "end":
                  return _context3.stop();
              }
            }
          }, null, null, null, Promise);
        });
        this.onEditionUpdateRequested = _$$_REQUIRE(_dependencyMap[38]).EventRegister.on(_events.default.NEWSMEMORY_UPDATE_REQUESTED, function () {
          var loaded = _this2.state.loaded;

          if (!loaded) {
            _this2.setState({
              updating: true
            });
          }
        });
        this.onEditionUpdateStarted = _$$_REQUIRE(_dependencyMap[38]).EventRegister.on(_events.default.NEWSMEMORY_UPDATE_STARTED, function (_ref3) {
          var needUpdate = _ref3.needUpdate;

          if (needUpdate) {
            _this2.setState({
              loaded: false,
              updating: true
            });
          }
        });
        this.onEditionUpdateFinish = _$$_REQUIRE(_dependencyMap[38]).EventRegister.on(_events.default.NEWSMEMORY_UPDATE_FINISHED, function _callee4(_ref4) {
          var success, _this2$state, loaded, updating;

          return _regenerator.default.async(function _callee4$(_context4) {
            while (1) {
              switch (_context4.prev = _context4.next) {
                case 0:
                  success = _ref4.success;
                  _context4.next = 3;
                  return _regenerator.default.awrap(_this2.checkIfPaperHasSpecialSection());

                case 3:
                  _this2$state = _this2.state, loaded = _this2$state.loaded, updating = _this2$state.updating;

                  if (!loaded || success && updating) {
                    _this2.setState({
                      loaded: true,
                      updating: false
                    });
                  }

                case 5:
                case "end":
                  return _context4.stop();
              }
            }
          }, null, null, null, Promise);
        });
        this.onEditionChanged = _$$_REQUIRE(_dependencyMap[38]).EventRegister.on(_events.default.NEWSMEMORY_NEWSPAPER_CHANGED, function (_ref5) {
          var newspaper = _ref5.newspaper;

          if (newspaper) {
            var firstPage = null;
            var editionModel = newspaper.getEditionModel();

            if (editionModel) {
              firstPage = editionModel.getFirstPage();

              if (firstPage) {
                (0, _$$_REQUIRE(_dependencyMap[39]).sendNewsmemoryEditionLoad)(editionModel, firstPage);
              }
            }
          }
        });
        this.onClearStorage = _$$_REQUIRE(_dependencyMap[38]).EventRegister.on(_events.default.NEWSMEMORY_ON_CLEAR_STORAGE, function _callee5(_ref6) {
          var onFinish, onError, currentNewspaperManager, status;
          return _regenerator.default.async(function _callee5$(_context5) {
            while (1) {
              switch (_context5.prev = _context5.next) {
                case 0:
                  onFinish = _ref6.onFinish, onError = _ref6.onError;
                  _context5.prev = 1;
                  currentNewspaperManager = _this2.newsmemoryManager.currentNewspaperManager;

                  if (!currentNewspaperManager) {
                    _context5.next = 9;
                    break;
                  }

                  currentNewspaperManager.clearQueues();
                  status = currentNewspaperManager.status;

                  if (!status) {
                    _context5.next = 9;
                    break;
                  }

                  _context5.next = 9;
                  return _regenerator.default.awrap(status.reset());

                case 9:
                  _context5.next = 11;
                  return _regenerator.default.awrap(_this2.newsmemoryManager.deleteCurrentEditionDatabase());

                case 11:
                  _context5.next = 13;
                  return _regenerator.default.awrap(_this2.newsmemoryManager.destroy());

                case 13:
                  _this2.newsmemoryManager = new _NewsmemoryManager.default();
                  _context5.next = 16;
                  return _regenerator.default.awrap(_this2.newsmemoryManager.init(global.getActivePSetup()));

                case 16:
                  if (typeof onFinish === "function") {
                    onFinish();
                  }

                  _context5.next = 22;
                  break;

                case 19:
                  _context5.prev = 19;
                  _context5.t0 = _context5["catch"](1);

                  if (typeof onError === "function") {
                    onError(_context5.t0);
                  }

                case 22:
                case "end":
                  return _context5.stop();
              }
            }
          }, null, null, [[1, 19]], Promise);
        });
        this.onDownloadLatestEdition = _$$_REQUIRE(_dependencyMap[38]).EventRegister.on(_events.default.NEWSMEMORY_DOWNLOAD_LATEST_EDITION, function () {
          _this2.newsmemoryManager.downloadLatestPublication();
        });
        this.onStateChangeForeground = _$$_REQUIRE(_dependencyMap[38]).EventRegister.on(_events.default.ON_STATE_CHANGE_GOING_FOREGROUND, function () {
          _this2.showPrestitial();

          if (_$$_REQUIRE(_dependencyMap[40]).NetworkUtils.isOnline()) {
            var _global$getMainPSetup = global.getMainPSetup(),
                migrate = _global$getMainPSetup.migrate;

            var _global$getActivePSet = global.getActivePSetup(),
                migrateActive = _global$getActivePSet.migrate;

            if (migrate || migrateActive) {
              _NavigationService.default.restart();
            } else {
              var feedback = new (_$$_REQUIRE(_dependencyMap[41]).Feedback)();
              feedback.check();

              if (_this2.newsmemoryManager) {
                _this2.newsmemoryManager.restart({
                  forceMessage: false,
                  isOptionspageOpen: _this2.isOptionPageOpened
                });
              }
            }
          }
        });
        this.onLoginCheckStart = _$$_REQUIRE(_dependencyMap[38]).EventRegister.on(_events.default.NEWSMEMORY_LOGIN_CHECK_STARTED, function () {
          _this2.setState({
            logging: true
          });
        });
        this.onLoginCheckEnd = _$$_REQUIRE(_dependencyMap[38]).EventRegister.on(_events.default.NEWSMEMORY_LOGIN_CHECK_ENDED, function () {
          _this2.setState({
            logging: false
          });
        });
        this.onOpenOfflineEditionsMenu = _$$_REQUIRE(_dependencyMap[38]).EventRegister.on(_events.default.NEWSMEMORY_OPEN_OFFLINE_EDITION_MENU, this.displayOfflineIssues);
        this.onNewsmemoryRestart = _$$_REQUIRE(_dependencyMap[38]).EventRegister.on(_events.default.TRIGGER_NEWSMEMORY_RESTART, function () {
          if (_this2.newsmemoryManager && _this2.newspaperLoaded) {
            _this2.newsmemoryManager.restart({
              forceMessage: !_this2.isOptionPageOpened,
              isOptionspageOpen: _this2.isOptionPageOpened
            });
          }
        });
        this.loadNewsmemory();
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        return _regenerator.default.async(function componentWillUnmount$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                (0, _get2.default)((0, _getPrototypeOf2.default)(NewsmemoryScreen.prototype), "componentWillUnmount", this).call(this);
                _context6.next = 3;
                return _regenerator.default.awrap(this.newsmemoryManager.destroy());

              case 3:
                _$$_REQUIRE(_dependencyMap[38]).EventRegister.rm(this.onEditionDownloadRequest);

                _$$_REQUIRE(_dependencyMap[38]).EventRegister.rm(this.onEditionReloadRequest);

                _$$_REQUIRE(_dependencyMap[38]).EventRegister.rm(this.onEditionDBDownloadStart);

                _$$_REQUIRE(_dependencyMap[38]).EventRegister.rm(this.onEditionDBDownloadFinish);

                _$$_REQUIRE(_dependencyMap[38]).EventRegister.rm(this.onEditionLoading);

                _$$_REQUIRE(_dependencyMap[38]).EventRegister.rm(this.onEditionLoaded);

                _$$_REQUIRE(_dependencyMap[38]).EventRegister.rm(this.onExtraGoToPagePress);

                _$$_REQUIRE(_dependencyMap[38]).EventRegister.rm(this.onEditionUpdateRequested);

                _$$_REQUIRE(_dependencyMap[38]).EventRegister.rm(this.onEditionUpdateStarted);

                _$$_REQUIRE(_dependencyMap[38]).EventRegister.rm(this.onEditionUpdateFinish);

                _$$_REQUIRE(_dependencyMap[38]).EventRegister.rm(this.onEditionChanged);

                _$$_REQUIRE(_dependencyMap[38]).EventRegister.rm(this.onClearStorage);

                _$$_REQUIRE(_dependencyMap[38]).EventRegister.rm(this.onDownloadLatestEdition);

                _$$_REQUIRE(_dependencyMap[38]).EventRegister.rm(this.onStateChangeForeground);

                _$$_REQUIRE(_dependencyMap[38]).EventRegister.rm(this.onLoginCheckStart);

                _$$_REQUIRE(_dependencyMap[38]).EventRegister.rm(this.onLoginCheckEnd);

                _$$_REQUIRE(_dependencyMap[38]).EventRegister.rm(this.onOpenOfflineEditionsMenu);

                _$$_REQUIRE(_dependencyMap[38]).EventRegister.rm(this.onLoadMainEdition);

                _$$_REQUIRE(_dependencyMap[38]).EventRegister.rm(this.onLoadSpecialSection);

                _$$_REQUIRE(_dependencyMap[38]).EventRegister.rm(this.onNewsmemoryRestart);

                if (NewsmemoryScreen.INTERSTITIAL_TIMER) {
                  _InterstitialsHelper.default.resetTimer(NewsmemoryScreen.INTERSTITIAL_TIMER);
                }

              case 24:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "orientationListener",
      value: function orientationListener(orientation) {
        this.updateStatusBarColor();
      }
    }, {
      key: "handleConnectivityChange",
      value: function handleConnectivityChange(_ref7) {
        var online = _ref7.online;

        if (!online) {
          var message = global.strings("err_offline");

          if (this.newsmemoryManager && this.newsmemoryManager.currentNewspaperManager) {
            var currentNewspaper = this.newsmemoryManager.currentNewspaperManager.getCurrentNewspaper();

            if (currentNewspaper && !currentNewspaper.hasHighResolutionDownloaded()) {
              message = global.strings("offline_download_warning");
            }
          }

          _reactNative.Alert.alert(global.strings("title_offline"), message);
        }
      }
    }, {
      key: "_updateStatusBarColor",
      value: function _updateStatusBarColor() {
        var colors = _styleUtils.default.getNewsmemoryBarColors();

        if (this.isOptionPageOpened) {
          colors = _styleUtils.default.getNewsmemoryBarColors(["system-optionspage-status-bar", "system-newsmemory-optionspage-status-bar"], ["system-optionspage-navigation-bar", "system-newsmemory-optionspage-navigation-bar"]);
        }

        _$$_REQUIRE(_dependencyMap[38]).EventRegister.emit(_events.default.ON_SAFE_AREA_COLOR_CHANGE, colors);
      }
    }, {
      key: "showPrestitial",
      value: function showPrestitial() {
        if (NewsmemoryScreen.INTERSTITIAL_TIMER) {
          _InterstitialsHelper.default.resetTimer(NewsmemoryScreen.INTERSTITIAL_TIMER);
        }

        _InterstitialsHelper.default.getPrestitial(function (timer) {
          NewsmemoryScreen.INTERSTITIAL_TIMER = timer;
        });
      }
    }, {
      key: "checkIfPaperHasSpecialSection",
      value: function checkIfPaperHasSpecialSection() {
        var currentNewspaperManager, url, response, hasSpecialSections;
        return _regenerator.default.async(function checkIfPaperHasSpecialSection$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                if (!(_$$_REQUIRE(_dependencyMap[40]).NetworkUtils.isOnline() && this.newsmemoryManager && this.newsmemoryManager.currentNewspaperManager && this.newsmemoryManager.currentNewspaperManager.getCurrentNewspaper())) {
                  _context7.next = 14;
                  break;
                }

                _context7.prev = 1;
                currentNewspaperManager = this.newsmemoryManager.currentNewspaperManager;
                url = currentNewspaperManager.hasSpecialSection();

                if (!url) {
                  _context7.next = 10;
                  break;
                }

                _context7.next = 7;
                return _regenerator.default.awrap(_Api.default.get(url, {}, {}, true));

              case 7:
                response = _context7.sent;
                hasSpecialSections = Object.keys(response.data).length > 0;
                currentNewspaperManager.getCurrentNewspaper().getEditionModel().setHasSpecialSections(hasSpecialSections);

              case 10:
                _context7.next = 14;
                break;

              case 12:
                _context7.prev = 12;
                _context7.t0 = _context7["catch"](1);

              case 14:
              case "end":
                return _context7.stop();
            }
          }
        }, null, this, [[1, 12]], Promise);
      }
    }, {
      key: "_managePushNotification",
      value: function _managePushNotification() {
        if (_PushHelper.default.isTherePush()) {
          var _PushHelper$getPush = _PushHelper.default.getPush(),
              action = _PushHelper$getPush.action,
              value = _PushHelper$getPush.value;

          _PushHelper.default.clearPush();

          switch (action) {
            case "openUrl":
              var navigation = this.props.navigation;
              navigation.dispatch(_$$_REQUIRE(_dependencyMap[42]).CommonActions.navigate({
                name: "WebScreen",
                params: {
                  url: value
                }
              }));
              break;

            case "openEpaperCoordinates":
              var edition = value.edition,
                  issue = value.issue,
                  article = value.article,
                  page = value.page;
              break;
          }
        }
      }
    }, {
      key: "_loadSpecialSection",
      value: function _loadSpecialSection(params) {
        var pSetup, issue, edition, machine, paperDomain, _global$getActivePSet2, currentPSetup, _await$global$loadPSe, config;

        return _regenerator.default.async(function _loadSpecialSection$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                _context8.prev = 0;
                this.setState({
                  loaded: false,
                  showLoading: true
                });
                pSetup = params.pSetup, issue = params.issue, edition = params.edition, machine = params.machine, paperDomain = params.paperDomain;
                _global$getActivePSet2 = global.getActivePSetup(), currentPSetup = _global$getActivePSet2.pSetup;
                _context8.next = 6;
                return _regenerator.default.awrap(global.loadPSetup(pSetup, paperDomain || machine));

              case 6:
                _await$global$loadPSe = _context8.sent;
                config = _await$global$loadPSe.config;

                if (!config) {
                  _context8.next = 16;
                  break;
                }

                if (!(currentPSetup !== pSetup)) {
                  _context8.next = 13;
                  break;
                }

                _context8.next = 12;
                return _regenerator.default.awrap(_GlobalConfig.default.initEpaperLayoutConfig());

              case 12:
                Analytics.updateAnalyticsClientList();

              case 13:
                _$$_REQUIRE(_dependencyMap[38]).EventRegister.emit(_events.default.NEWSMEMORY_DOWNLOAD_EDITION, {
                  issue: issue,
                  edition: edition
                });

                _context8.next = 18;
                break;

              case 16:
                _$$_REQUIRE(_dependencyMap[43]).Toast.show(global.strings("msg_tts_error"));

                this.setState({
                  loaded: true,
                  showLoading: false
                });

              case 18:
                _context8.next = 23;
                break;

              case 20:
                _context8.prev = 20;
                _context8.t0 = _context8["catch"](0);
                this.setState({
                  loaded: true,
                  showLoading: false
                });

              case 23:
              case "end":
                return _context8.stop();
            }
          }
        }, null, this, [[0, 20]], Promise);
      }
    }, {
      key: "_loadMainEditionFromSpecial",
      value: function _loadMainEditionFromSpecial() {
        var _global$getActivePSet3, currentPSetup, newsmemoryConfig, editionfromcalling, config, pSetup, issue, edition, splitted, thumbnail, _splitted, _NewsmemoryUtils$pars, mainpSetup, xpSetup, _await$global$loadPSe2;

        return _regenerator.default.async(function _loadMainEditionFromSpecial$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                _global$getActivePSet3 = global.getActivePSetup(), currentPSetup = _global$getActivePSet3.pSetup;
                newsmemoryConfig = global.getNewsmemoryConfig();
                editionfromcalling = newsmemoryConfig.editionfromcalling;
                _context9.prev = 3;
                this.setState({
                  loaded: false,
                  showLoading: true
                });

                if (editionfromcalling) {
                  splitted = _$$_REQUIRE(_dependencyMap[40]).StringUtils.decodeURIComponent(editionfromcalling).split(",");
                  _splitted = (0, _slicedToArray2.default)(splitted, 4);
                  edition = _splitted[0];
                  thumbnail = _splitted[1];
                  issue = _splitted[2];
                  pSetup = _splitted[3];
                } else {
                  _NewsmemoryUtils$pars = _newsmemoryUtils.default.parseXpSetup(currentPSetup), mainpSetup = _NewsmemoryUtils$pars.mainpSetup, xpSetup = _NewsmemoryUtils$pars.xpSetup;

                  if (xpSetup) {
                    pSetup = mainpSetup;
                  }
                }

                if (!pSetup) {
                  _context9.next = 19;
                  break;
                }

                _context9.next = 9;
                return _regenerator.default.awrap(global.loadPSetup(pSetup));

              case 9:
                _await$global$loadPSe2 = _context9.sent;
                config = _await$global$loadPSe2.config;

                if (!(config && currentPSetup !== pSetup)) {
                  _context9.next = 16;
                  break;
                }

                _context9.next = 14;
                return _regenerator.default.awrap(_GlobalConfig.default.initEpaperLayoutConfig());

              case 14:
                Analytics.updateAnalyticsClientList();

                if (!edition) {
                  newsmemoryConfig.resetPrefEdi();
                }

              case 16:
                _$$_REQUIRE(_dependencyMap[38]).EventRegister.emit(_events.default.NEWSMEMORY_DOWNLOAD_EDITION, {
                  issue: issue,
                  edition: edition
                });

                _context9.next = 21;
                break;

              case 19:
                _$$_REQUIRE(_dependencyMap[43]).Toast.show(global.strings("msg_tts_error"));

                this.setState({
                  loaded: true,
                  showLoading: false
                });

              case 21:
                _context9.next = 26;
                break;

              case 23:
                _context9.prev = 23;
                _context9.t0 = _context9["catch"](3);
                this.setState({
                  loaded: true,
                  showLoading: false
                });

              case 26:
              case "end":
                return _context9.stop();
            }
          }
        }, null, this, [[3, 23]], Promise);
      }
    }, {
      key: "_showEpaperModeSelection",
      value: function _showEpaperModeSelection() {
        var _global$getActivePSet4 = global.getActivePSetup(),
            disableEPaperModeSelectionPage = _global$getActivePSet4.disableEPaperModeSelectionPage;

        var _global$getNewsmemory = global.getNewsmemoryConfig(),
            epaperStartModeDontShowAgain = _global$getNewsmemory.epaperStartModeDontShowAgain;

        if (_$$_REQUIRE(_dependencyMap[40]).NetworkUtils.isOnline() && !disableEPaperModeSelectionPage && !epaperStartModeDontShowAgain && this.newsmemoryManager && _newsmemoryUtils.default.canEnableReadMode(this.newsmemoryManager.currentNewspaperManager)) {
          var navigation = this.props.navigation;
          navigation.navigate("EpaperModeSelectionScreen");
        }
      }
    }, {
      key: "handleBackButton",
      value: function handleBackButton() {
        if (this.isOptionPageOpened && !this.optFromBackButton && this.canOptionPageBeClosed()) {
          _$$_REQUIRE(_dependencyMap[38]).EventRegister.emit(_events.default.CLOSE_OPTIONSPAGE);
        } else {
          if (!this.layoutManagerRef || !this.layoutManagerRef.handleBack()) {
            var _global$getActivePSet5 = global.getActivePSetup(),
                showNativeOptionsPage = _global$getActivePSet5.showNativeOptionsPage,
                showNativeOptionsPageFallbackUrl = _global$getActivePSet5.showNativeOptionsPageFallbackUrl;

            if (!this.isOptionPageOpened && (_$$_REQUIRE(_dependencyMap[40]).NetworkUtils.isOnline() || showNativeOptionsPage && !showNativeOptionsPageFallbackUrl)) {
              this.optFromBackButton = true;

              _$$_REQUIRE(_dependencyMap[38]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                tab: _$$_REQUIRE(_dependencyMap[44]).tabs.home
              });

              return true;
            }

            (0, _get2.default)((0, _getPrototypeOf2.default)(NewsmemoryScreen.prototype), "handleBackButton", this).call(this);

            if (_LiveConfig.default.getStartUpNavigator() === "NewsmemoryNavigator") {
              this.closeAlert();
              return true;
            }

            this.goToRssNavigator();
          }
        }

        return true;
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "ePaper";
      }
    }, {
      key: "trackScreen",
      value: function trackScreen() {}
    }, {
      key: "goToRssNavigator",
      value: function goToRssNavigator() {
        _NavigationService.default.main.reset("RssNavigator");
      }
    }, {
      key: "_onNewsmemoryRef",
      value: function _onNewsmemoryRef(ref) {
        this.newsmemoryRef = ref;
      }
    }, {
      key: "_onLayoutManagerRef",
      value: function _onLayoutManagerRef(ref) {
        this.layoutManagerRef = ref;
      }
    }, {
      key: "_onOptionPageOpened",
      value: function _onOptionPageOpened() {
        this.isOptionPageOpened = true;

        if (this.newsmemoryRef) {
          this.newsmemoryRef.setNativeProps({
            pointerEvents: "none"
          });
        }

        this.updateStatusBarColor();
      }
    }, {
      key: "_onOptionPageTabLoaded",
      value: function _onOptionPageTabLoaded(tab) {
        var _global$getActivePSet6 = global.getActivePSetup(),
            loginStatus = _global$getActivePSet6.loginStatus;

        var loggedIn = loginStatus.isLoggedIn();

        _$$_REQUIRE(_dependencyMap[38]).EventRegister.emit(_events.default.ON_SAFE_AREA_COLOR_CHANGE, _styleUtils.default.getNewsmemoryBarColors(["system-optionspage-status-bar", "system-newsmemory-optionspage-status-bar", loggedIn ? "system-newsmemory-optionspage-status-bar-loggedIn" : "", "system-newsmemory-optionspage-" + tab + "-status-bar", loggedIn ? "system-newsmemory-optionspage-" + tab + "-status-bar-loggedIn" : ""], ["system-optionspage-navigation-bar", "system-newsmemory-optionspage-navigation-bar", loggedIn ? "system-newsmemory-optionspage-navigation-bar-loggedIn" : "", "system-newsmemory-optionspage-" + tab + "-navigation-bar", loggedIn ? "system-newsmemory-optionspage-" + tab + "-navigation-bar-loggedIn" : ""]));
      }
    }, {
      key: "_onOptionPageClosed",
      value: function _onOptionPageClosed() {
        this.isOptionPageOpened = false;
        this.optFromBackButton = false;

        if (this.newsmemoryRef) {
          this.newsmemoryRef.setNativeProps({
            pointerEvents: "auto"
          });
        }

        this.updateStatusBarColor();
      }
    }, {
      key: "_canOptionPageBeClosed",
      value: function _canOptionPageBeClosed() {
        if (this.newsmemoryManager && this.newsmemoryManager.currentNewspaperManager) {
          return !!this.newsmemoryManager.currentNewspaperManager.getCurrentNewspaper();
        }

        return false;
      }
    }, {
      key: "_displayOfflineIssues",
      value: function _displayOfflineIssues() {
        var issues, currentNewspaper, editionModel, currentIssue, currentEdition, _global$getEpaperLayo, mainFooter, _global$getRSSActiveP, rssIsEnabled, buttons;

        return _regenerator.default.async(function _displayOfflineIssues$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                issues = [];
                _context11.prev = 1;
                _context11.next = 4;
                return _regenerator.default.awrap(_NewsmemoryDatabasesManager.default.getAllIssues());

              case 4:
                issues = _context11.sent;
                _context11.next = 9;
                break;

              case 7:
                _context11.prev = 7;
                _context11.t0 = _context11["catch"](1);

              case 9:
                if (issues.length > 0) {
                  currentNewspaper = this.newsmemoryManager && this.newsmemoryManager.currentNewspaperManager && this.newsmemoryManager.currentNewspaperManager.getCurrentNewspaper();
                  editionModel = currentNewspaper && currentNewspaper.getEditionModel();
                  currentIssue = editionModel && editionModel.getIssue();
                  currentEdition = editionModel && editionModel.getEdition();
                  _global$getEpaperLayo = global.getEpaperLayoutConfig(), mainFooter = _global$getEpaperLayo.mainFooter;

                  _$$_REQUIRE(_dependencyMap[45]).MyBottomSheet.show({
                    options: issues.map(function (issue) {
                      var _global$getActivePSet7 = global.getActivePSetup(),
                          pSetup = _global$getActivePSet7.pSetup;

                      var isSamePSetup = pSetup === issue.getPSetup();
                      var isSameIssue = currentIssue === issue.getIssue();
                      var isSameEdition = currentEdition === issue.getEdition();
                      var isCurrent = isSamePSetup && isSameIssue && isSameEdition;
                      return {
                        title: issue.getEdition() + " - " + _newsmemoryUtils.default.getFormattedIssue(issue.getIssue()),
                        onPress: function onPress() {
                          var _await$global$getPape, success;

                          return _regenerator.default.async(function onPress$(_context10) {
                            while (1) {
                              switch (_context10.prev = _context10.next) {
                                case 0:
                                  if (isSamePSetup) {
                                    _context10.next = 13;
                                    break;
                                  }

                                  _context10.prev = 1;
                                  _context10.next = 4;
                                  return _regenerator.default.awrap(global.getPaperSetupManager().init(issue.getPSetup()));

                                case 4:
                                  _await$global$getPape = _context10.sent;
                                  success = _await$global$getPape.success;

                                  if (!success) {
                                    _context10.next = 9;
                                    break;
                                  }

                                  _context10.next = 9;
                                  return _regenerator.default.awrap(_GlobalConfig.default.initEpaperLayoutConfig());

                                case 9:
                                  _context10.next = 13;
                                  break;

                                case 11:
                                  _context10.prev = 11;
                                  _context10.t0 = _context10["catch"](1);

                                case 13:
                                  _$$_REQUIRE(_dependencyMap[38]).EventRegister.emit(_events.default.NEWSMEMORY_DOWNLOAD_EDITION, {
                                    issue: issue.getIssue(),
                                    edition: issue.getEdition()
                                  });

                                case 14:
                                case "end":
                                  return _context10.stop();
                              }
                            }
                          }, null, null, [[1, 11]], Promise);
                        },
                        style: {
                          backgroundColor: isCurrent ? mainFooter.textColor : mainFooter.backgroundColor
                        },
                        textStyle: {
                          color: isCurrent ? mainFooter.backgroundColor : mainFooter.textColor
                        }
                      };
                    }),
                    styleContainer: {
                      backgroundColor: mainFooter.backgroundColor
                    }
                  });
                } else {
                  _global$getRSSActiveP = global.getRSSActivePSetup(), rssIsEnabled = _global$getRSSActiveP.rssIsEnabled;
                  buttons = [];

                  if (rssIsEnabled) {
                    buttons.push({
                      text: global.strings("btn_cancel")
                    }, {
                      text: global.strings("btn_feed"),
                      onPress: this.goToRssNavigator
                    });
                  } else {
                    buttons.push({
                      text: global.strings("btn_ok")
                    });
                  }

                  _reactNative.Alert.alert("", global.strings("err_offline"), buttons, {
                    cancelable: false
                  });
                }

              case 10:
              case "end":
                return _context11.stop();
            }
          }
        }, null, this, [[1, 7]], Promise);
      }
    }, {
      key: "loadActiveNewspaper",
      value: function loadActiveNewspaper() {
        return _regenerator.default.async(function loadActiveNewspaper$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                _context12.next = 2;
                return _regenerator.default.awrap(_GlobalConfig.default.initEpaperLayoutConfig());

              case 2:
                Analytics.updateAnalyticsClientList();
                _context12.next = 5;
                return _regenerator.default.awrap(this.newsmemoryManager.init(global.getActivePSetup()));

              case 5:
                if (!this.tab) {
                  _context12.next = 10;
                  break;
                }

                _$$_REQUIRE(_dependencyMap[38]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                  tab: this.tab
                });

                this.tab = undefined;
                _context12.next = 12;
                break;

              case 10:
                _context12.next = 12;
                return _regenerator.default.awrap(this.newsmemoryManager.load());

              case 12:
              case "end":
                return _context12.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "loadNewsmemory",
      value: function loadNewsmemory() {
        return _regenerator.default.async(function loadNewsmemory$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                _context13.next = 2;
                return _regenerator.default.awrap(_NewsmemoryDatabasesManager.default.makeNewspaperDirectory());

              case 2:
                _context13.next = 4;
                return _regenerator.default.awrap(_NewsmemoryDatabasesManager.default.createDatabasesTable());

              case 4:
                _TranslationManager.default.init();

                _context13.next = 7;
                return _regenerator.default.awrap(this.loadActiveNewspaper());

              case 7:
                this.newspaperLoaded = true;

              case 8:
              case "end":
                return _context13.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_renderOptionsPage",
      value: function _renderOptionsPage() {
        var _global$getActivePSet8 = global.getActivePSetup(),
            showNativeOptionsPage = _global$getActivePSet8.showNativeOptionsPage,
            showNativeOptionsPageFallbackUrl = _global$getActivePSet8.showNativeOptionsPageFallbackUrl;

        var props = {
          onOpen: this.onOptionPageOpened,
          onClose: this.onOptionPageClosed,
          onTabLoaded: this.onOptionPageTabLoaded,
          handleBackButton: this.onHandleBackButton,
          isNewspaperLoaded: this.canOptionPageBeClosed,
          newsmemoryManager: this.newsmemoryManager
        };

        if (showNativeOptionsPageFallbackUrl) {
          return _react.default.createElement(_nativeOptionsPageFallback.default, (0, _extends2.default)({}, props, {
            url: showNativeOptionsPageFallbackUrl
          }));
        }

        if (showNativeOptionsPage && _optionalPackageUtils.default.isNativeOptionsPageAvailable()) {
          return _react.default.createElement(_nativeOptionsPage.default, props);
        }

        return _react.default.createElement(_optionspageComponent.default, (0, _extends2.default)({}, props, {
          shortcutPriority: 100
        }));
      }
    }, {
      key: "render",
      value: function render() {
        this.updateStatusBarColor();
        var _this$state = this.state,
            downloadingDB = _this$state.downloadingDB,
            loaded = _this$state.loaded,
            showLoading = _this$state.showLoading,
            logging = _this$state.logging,
            updating = _this$state.updating;
        var component = null;

        var parentStyle = _$$_REQUIRE(_dependencyMap[46]).Css.getStyleObjByCssClasses(["newsmemory-screen"]);

        if (logging || updating) {
          component = _react.default.createElement(_$$_REQUIRE(_dependencyMap[47]).ProgressCircle, {
            spinnerStyle: [_newsmemoryScreen.default.parent, parentStyle],
            spinnerColor: parentStyle.color || _newsmemoryUtils.default.getSpinnerColor()
          });
        } else if (downloadingDB) {
          component = _react.default.createElement(_progressDownloadComponent.default, {
            color: _newsmemoryUtils.default.getSpinnerColor(),
            text: global.strings("msg_download_edition"),
            event: _events.default.NEWSMEMORY_DB_DOWNLOAD_PROGRESS,
            retryEvent: _events.default.NEWSMEMORY_DB_DOWNLOAD_RETRY,
            style: [{
              position: "relative",
              flex: 1
            }, parentStyle],
            cssClasses: ["newsmemory-download-circle"],
            cssTextClasses: ["newsmemory-download-circle-text"]
          });
        } else if (loaded) {
          var navigation = this.props.navigation;
          component = _react.default.createElement(_reactNative.View, {
            ref: this.onNewsmemoryRef,
            style: [_newsmemoryScreen.default.parent, parentStyle]
          }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[48]).NewsmemoryLayoutManager, {
            ref: this.onLayoutManagerRef,
            navigation: navigation,
            currentNewspaperManager: this.newsmemoryManager.currentNewspaperManager,
            shortcutPriority: 1
          }));
        } else {
          component = _react.default.createElement(_$$_REQUIRE(_dependencyMap[49]).WallpaperLoading, {
            showLoading: showLoading,
            ignoreSafeArea: showLoading,
            retryEvent: _events.default.PAPER_SETUP_API_RETRY
          });
        }

        return _react.default.createElement(_reactNative.View, {
          style: [_newsmemoryScreen.default.parent, parentStyle]
        }, component, _react.default.createElement(_optionPageAccessibility.default, {
          shortcutPriority: 100
        }), this._renderOptionsPage(), loaded ? _react.default.createElement(_specialSectionComponent.default, {
          onOpen: this.onOptionPageOpened,
          onClose: this.onOptionPageClosed,
          newspaperManager: this.newsmemoryManager.currentNewspaperManager
        }) : null);
      }
    }]);
    return NewsmemoryScreen;
  }(_$$_REQUIRE(_dependencyMap[50]).NavigationBaseScreen);

  exports.NewsmemoryScreen = NewsmemoryScreen;
  NewsmemoryScreen.INTERSTITIAL_TIMER = undefined;

  NewsmemoryScreen.navigationOptions = function (_ref8) {
    var navigation = _ref8.navigation;
    var params = navigation.state.params;
    return params;
  };

  NewsmemoryScreen.propTypes = {
    navigation: _propTypes.default.object,
    tab: _propTypes.default.string
  };
},2304,[5,80,6,41,7,8,15,90,12,14,16,17,201,28,460,1871,1872,1861,2305,2318,710,2319,714,603,431,2320,1859,2306,2134,2321,2326,2178,2147,2154,2328,2331,731,2335,572,1954,462,2151,1002,1889,730,1904,699,1953,2336,2427,2148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _optionspageUtils = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[12]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _IAPHelper = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[15]));

  var _NewsmemoryDatabasesManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _NewspaperManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var Analytics = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[19]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _NewsmemoryManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _GlobalConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _LoginManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[23]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[24]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var _OptionalPackages$get = _optionalPackageUtils.default.getIapModule(),
      IAPErrorCode = _OptionalPackages$get.IAPErrorCode;

  var Optionspage = function (_BaseOptionspage) {
    (0, _inherits2.default)(Optionspage, _BaseOptionspage);

    var _super = _createSuper(Optionspage);

    function Optionspage(props) {
      var _this;

      (0, _classCallCheck2.default)(this, Optionspage);
      _this = _super.call(this, props);
      _this.sendIAPTransactionResult = _this._sendIAPTransactionResult.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(Optionspage, [{
      key: "_onLoading",
      value: function _onLoading(segments) {
        var domain = segments.domain;
        var closeType = this.state.closeType;

        var isTecnaviaDomain = _$$_REQUIRE(_dependencyMap[25]).StringUtils.isTecnaviaDomain(domain);

        if (!isTecnaviaDomain) {
          this.setState({
            closeType: _optionspageUtils.closeTypes.back
          });
        } else if (closeType !== _optionspageUtils.closeTypes.none) {
          var isNewspaperLoaded = this.props.isNewspaperLoaded;

          var _global$getRSSActiveP = global.getRSSActivePSetup(),
              rssIsEnabled = _global$getRSSActiveP.rssIsEnabled;

          var hideCloseButton = !rssIsEnabled && !isNewspaperLoaded() && !_$$_REQUIRE(_dependencyMap[26]).PaperSetupManager.isGenericAppConfigured();

          if (hideCloseButton) {
            this.setState({
              closeType: _optionspageUtils.closeTypes.none
            });
          } else if (closeType !== _optionspageUtils.closeTypes.close) {
            this.setState({
              closeType: _optionspageUtils.closeTypes.close
            });
          }
        }
      }
    }, {
      key: "_openTab",
      value: function _openTab(_ref) {
        var tab = _ref.tab,
            getParams = _ref.getParams,
            url = _ref.url,
            closeType = _ref.closeType,
            forceFullscreen = _ref.forceFullscreen,
            hidden = _ref.hidden;

        var isOnline = _$$_REQUIRE(_dependencyMap[25]).NetworkUtils.isOnline();

        if (isOnline && tab === _optionspageUtils.tabs.specialsections) {
          var newsmemoryManager = this.props.newsmemoryManager;
          var currentNewspaperManager = newsmemoryManager.currentNewspaperManager;

          if (currentNewspaperManager) {
            this.setState({
              uri: currentNewspaperManager.getSpecialSectionPage(true)
            });
          }
        } else {
          (0, _get2.default)((0, _getPrototypeOf2.default)(Optionspage.prototype), "_openTab", this).call(this, {
            tab: tab,
            getParams: getParams,
            url: url,
            closeType: closeType,
            forceFullscreen: forceFullscreen,
            hidden: hidden
          });
        }
      }
    }, {
      key: "_goBack",
      value: function _goBack() {
        var getParams = this.props.getParams;
        var params = (0, _extends2.default)({}, getParams, {
          r: Math.floor(Math.random() * 1000)
        });

        this._openTab({
          tab: _optionspageUtils.tabs.home,
          getParams: params
        });
      }
    }, {
      key: "_appendOthersParams",
      value: function _appendOthersParams() {
        var getParams = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var newsmemoryManager = this.props.newsmemoryManager;
        var currentNewspaperManager = newsmemoryManager.currentNewspaperManager;

        if (currentNewspaperManager && currentNewspaperManager.currentNewspaper) {
          if (!getParams.edition) {
            getParams.edition = currentNewspaperManager.currentNewspaper.getEdition();
          }

          if (!getParams.issue) {
            getParams.issue = currentNewspaperManager.currentNewspaper.getIssue();
          }
        }

        var _global$getActivePSet = global.getActivePSetup(),
            external = _global$getActivePSet.external;

        if (external && !_$$_REQUIRE(_dependencyMap[26]).PaperSetupManager.isGenericAppConfigured()) {
          var _global$getMainPSetup = global.getMainPSetup(),
              pSetup = _global$getMainPSetup.pSetup;

          getParams.originalPSetup = pSetup;
        }

        return getParams;
      }
    }, {
      key: "_cancel",
      value: function _cancel() {
        this.close(true);

        if (this.currentUrl) {
          var isNewspaperLoaded = this.props.isNewspaperLoaded;

          var currentTab = _optionspageUtils.default.getTabByURL(this.currentUrl);

          if (!isNewspaperLoaded() || currentTab && currentTab === _optionspageUtils.tabs.home) {
            _$$_REQUIRE(_dependencyMap[27]).EventRegister.emit(_events.default.NEWSMEMORY_OPEN_OFFLINE_EDITION_MENU);
          }
        }
      }
    }, {
      key: "_close",
      value: function _close(force) {
        var _this$props = this.props,
            isNewspaperLoaded = _this$props.isNewspaperLoaded,
            handleBackButton = _this$props.handleBackButton,
            getParams = _this$props.getParams;
        var newsmemoryConfig = global.getNewsmemoryConfig();
        var accessibilityModeEnabled = newsmemoryConfig.accessibilityModeEnabled;

        if (!force && accessibilityModeEnabled) {
          newsmemoryConfig.setAccessibilityMode(false);
        }

        newsmemoryConfig.setArchiveMode(false);

        if (force) {
          this.setState({
            uri: null
          });
        } else if (isNewspaperLoaded()) {
          this.setState({
            uri: null
          });
        } else {
          var uri = this.state.uri;

          var _global$getRSSActiveP2 = global.getRSSActivePSetup(),
              rssIsEnabled = _global$getRSSActiveP2.rssIsEnabled;

          var home = _optionspageUtils.default.getTabUrl(_optionspageUtils.tabs.home, this._appendOthersParams(getParams));

          if (!_optionspageUtils.default.isSamePage(uri, home)) {
            this._goBack();
          } else if (this.currentUrl && !_optionspageUtils.default.isSamePage(this.currentUrl, home)) {
            this._resetToHome();
          } else if (rssIsEnabled) {
            this.goToRssNavigator();
          } else if (_$$_REQUIRE(_dependencyMap[26]).PaperSetupManager.isGenericAppConfigured()) {
            _NavigationService.default.main.navigate("PublicationsPageScreen");
          } else if (typeof handleBackButton === "function") {
            handleBackButton();
          }
        }
      }
    }, {
      key: "_onLoadEnd",
      value: function _onLoadEnd(nativeEvent) {
        var newsmemoryConfig = global.getNewsmemoryConfig();
        var archiveModeEnabled = newsmemoryConfig.archiveModeEnabled;

        if (archiveModeEnabled) {
          var currentTab = _optionspageUtils.default.getTabByURL(this.currentUrl);

          if (currentTab !== _optionspageUtils.tabs.login && currentTab !== _optionspageUtils.tabs.archive) {
            newsmemoryConfig.setArchiveMode(false);
          }
        }

        (0, _get2.default)((0, _getPrototypeOf2.default)(Optionspage.prototype), "_onLoadEnd", this).call(this, nativeEvent);
      }
    }, {
      key: "_loadPublication",
      value: function _loadPublication(getParams) {
        var external,
            pSetup,
            issue,
            edition,
            machine,
            paperDomain,
            _global$getActivePSet2,
            currentPSetup,
            _await$global$loadPSe,
            config,
            _args = arguments;

        return _regenerator.default.async(function _loadPublication$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                external = _args.length > 1 && _args[1] !== undefined ? _args[1] : false;
                pSetup = getParams.pSetup, issue = getParams.issue, edition = getParams.edition, machine = getParams.machine;
                paperDomain = getParams.paperDomain || machine;
                _global$getActivePSet2 = global.getActivePSetup(), currentPSetup = _global$getActivePSet2.pSetup;
                _context.next = 6;
                return _regenerator.default.awrap(global.loadPSetup(pSetup, paperDomain, {}, external));

              case 6:
                _await$global$loadPSe = _context.sent;
                config = _await$global$loadPSe.config;

                if (!config) {
                  _context.next = 20;
                  break;
                }

                this._close(true);

                if (!(currentPSetup !== pSetup)) {
                  _context.next = 17;
                  break;
                }

                _context.next = 13;
                return _regenerator.default.awrap(_GlobalConfig.default.initEpaperLayoutConfig());

              case 13:
                if (!external) {
                  _context.next = 16;
                  break;
                }

                _context.next = 16;
                return _regenerator.default.awrap(_GlobalConfig.default.initCustomFonts(config));

              case 16:
                Analytics.updateAnalyticsClientList();

              case 17:
                _$$_REQUIRE(_dependencyMap[27]).EventRegister.emit(_events.default.NEWSMEMORY_DOWNLOAD_EDITION, {
                  issue: issue,
                  edition: edition
                });

                _context.next = 21;
                break;

              case 20:
                _$$_REQUIRE(_dependencyMap[28]).Toast.show(global.strings("err_download_psetup"));

              case 21:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_handleLocals",
      value: function _handleLocals(_ref2) {
        var domain, getParams, newsmemoryConfig, newsmemoryManager, currentNewspaperManager, reloadLatestEdition, issues, savedIssues, accessibilityModeEnabled, archiveModeEnabled, pSetup, issue, edition, productId, invoiceId, editionId, period, isRecurring, model, _productId, transactionId, recurring, _productId2, result, _global$getActivePSet3, protectSite, loginStatus, _newsmemoryManager, url, callback, navigation;

        return _regenerator.default.async(function _handleLocals$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                domain = _ref2.domain, getParams = _ref2.getParams;
                newsmemoryConfig = global.getNewsmemoryConfig();

                if (!domain.includes(_optionspageUtils.locals.SET_RN_DEMO)) {
                  _context3.next = 17;
                  break;
                }

                if (!_optionalPackageUtils.default.isIOSClassicEPaperAvailable()) {
                  _context3.next = 14;
                  break;
                }

                _context3.next = 6;
                return _regenerator.default.awrap(_NewsmemoryDatabasesManager.default.closeDatabase());

              case 6:
                newsmemoryManager = this.props.newsmemoryManager;
                currentNewspaperManager = newsmemoryManager.currentNewspaperManager;

                if (!currentNewspaperManager) {
                  _context3.next = 11;
                  break;
                }

                _context3.next = 11;
                return _regenerator.default.awrap(currentNewspaperManager.closeCurrentEditionDatabase());

              case 11:
                newsmemoryConfig.setRNUseDemo(getParams.useRnDemo);
                _context3.next = 15;
                break;

              case 14:
                _$$_REQUIRE(_dependencyMap[28]).Toast.show(global.strings("err_module_unavailable", {
                  module: "Classic eEdition"
                }));

              case 15:
                _context3.next = 138;
                break;

              case 17:
                if (!domain.includes(_optionspageUtils.locals.CLEAR_STORAGE)) {
                  _context3.next = 29;
                  break;
                }

                _context3.prev = 18;
                _context3.next = 21;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[29]).optionspageDeleteProcess)());

              case 21:
                reloadLatestEdition = _context3.sent;

                if (reloadLatestEdition) {
                  _$$_REQUIRE(_dependencyMap[27]).EventRegister.emit(_events.default.NEWSMEMORY_DOWNLOAD_LATEST_EDITION);

                  this._close(true);
                } else {
                  this._resetToHome();
                }

                _context3.next = 27;
                break;

              case 25:
                _context3.prev = 25;
                _context3.t0 = _context3["catch"](18);

              case 27:
                _context3.next = 138;
                break;

              case 29:
                if (!domain.includes(_optionspageUtils.locals.RESTORE_DEFAULT_SETTINGS)) {
                  _context3.next = 35;
                  break;
                }

                _context3.next = 32;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[29]).askTo)(global.strings("msg_restore_default_settings"), function _callee() {
                  return _regenerator.default.async(function _callee$(_context2) {
                    while (1) {
                      switch (_context2.prev = _context2.next) {
                        case 0:
                          _context2.next = 2;
                          return _regenerator.default.awrap(global.getNewsmemoryConfig().reset());

                        case 2:
                        case "end":
                          return _context2.stop();
                      }
                    }
                  }, null, null, null, Promise);
                }));

              case 32:
                this.reload();
                _context3.next = 138;
                break;

              case 35:
                if (!domain.includes(_optionspageUtils.locals.GET_SAVED_ISSUES)) {
                  _context3.next = 48;
                  break;
                }

                _context3.prev = 36;
                _context3.next = 39;
                return _regenerator.default.awrap(_NewsmemoryDatabasesManager.default.getAllIssues());

              case 39:
                issues = _context3.sent;
                savedIssues = issues.reduce(function (result, issue) {
                  result.push({
                    edition: issue.getEdition(),
                    issue: issue.getIssue(),
                    paper: issue.getPaper(),
                    status: issue.getStatus() || 0
                  });
                  return result;
                }, []);

                this._execJavaScript("xcj_getSavedIssues('" + JSON.stringify(savedIssues) + "');");

                _context3.next = 46;
                break;

              case 44:
                _context3.prev = 44;
                _context3.t1 = _context3["catch"](36);

              case 46:
                _context3.next = 138;
                break;

              case 48:
                if (!domain.includes(_optionspageUtils.locals.DELETE_ISSUE)) {
                  _context3.next = 51;
                  break;
                }

                _context3.next = 138;
                break;

              case 51:
                if (!domain.includes(_optionspageUtils.locals.INITPAGE_SET_NEWSPAPER_AND_READ)) {
                  _context3.next = 66;
                  break;
                }

                accessibilityModeEnabled = newsmemoryConfig.accessibilityModeEnabled, archiveModeEnabled = newsmemoryConfig.archiveModeEnabled;

                if (!accessibilityModeEnabled) {
                  _context3.next = 57;
                  break;
                }

                this.openTab({
                  tab: _optionspageUtils.tabs.accessibility,
                  hidden: true
                });
                _context3.next = 64;
                break;

              case 57:
                if (!archiveModeEnabled) {
                  _context3.next = 62;
                  break;
                }

                newsmemoryConfig.setArchiveMode(false);
                this.openTab({
                  tab: _optionspageUtils.tabs.archive,
                  hidden: true,
                  getParams: {
                    hideTabs: 1
                  }
                });
                _context3.next = 64;
                break;

              case 62:
                _context3.next = 64;
                return _regenerator.default.awrap(this._loadPublication(getParams));

              case 64:
                _context3.next = 138;
                break;

              case 66:
                if (!domain.includes(_optionspageUtils.locals.INITPAGE_SET_EXTERNAL_NEWSPAPER)) {
                  _context3.next = 71;
                  break;
                }

                _context3.next = 69;
                return _regenerator.default.awrap(this._loadPublication(getParams, true));

              case 69:
                _context3.next = 138;
                break;

              case 71:
                if (!domain.includes(_optionspageUtils.locals.LOAD_LATEST_PUBLICATION)) {
                  _context3.next = 74;
                  break;
                }

                _context3.next = 138;
                break;

              case 74:
                if (!domain.includes(_optionspageUtils.locals.BUY)) {
                  _context3.next = 94;
                  break;
                }

                if (!_optionalPackageUtils.default.isIapModuleAvailable()) {
                  _context3.next = 91;
                  break;
                }

                pSetup = getParams.pSetup, issue = getParams.issue, edition = getParams.edition, productId = getParams.productID, invoiceId = getParams.invoiceID, editionId = getParams.editionid, period = getParams.period, isRecurring = getParams.isRecurring;
                _context3.next = 79;
                return _regenerator.default.awrap(_IAPHelper.default.setServerCallback(this.sendIAPTransactionResult));

              case 79:
                model = new (_$$_REQUIRE(_dependencyMap[30]).IAPTecnaviaModel)();
                model.setProductId(productId);
                model.setInvoiceId(invoiceId);
                model.setPSetup(pSetup);
                model.setIssue(issue);
                model.setEdition(edition);
                model.setEditionId(editionId);

                if (period && (_$$_REQUIRE(_dependencyMap[25]).JSUtils.isNull(isRecurring) || isRecurring === "1")) {
                  model.setRecurringSubscriptionPeriod(period);
                }

                if (period) {
                  model.setType(_$$_REQUIRE(_dependencyMap[30]).IAPTecnaviaType.SUBSCRIPTION);
                }

                _IAPHelper.default.requestIAP(model);

                _context3.next = 92;
                break;

              case 91:
                this._execJavaScript("xc_failedTransaction_RN('','No IAP module present!');");

              case 92:
                _context3.next = 138;
                break;

              case 94:
                if (!domain.includes(_optionspageUtils.locals.RESUME_TRANSACTIONS)) {
                  _context3.next = 97;
                  break;
                }

                _context3.next = 138;
                break;

              case 97:
                if (!domain.includes(_optionspageUtils.locals.FINISH_TRANSACTION)) {
                  _context3.next = 105;
                  break;
                }

                if (!_optionalPackageUtils.default.isIapModuleAvailable()) {
                  _context3.next = 103;
                  break;
                }

                _productId = getParams.productID, transactionId = getParams.finishTransaction, recurring = getParams.recurring;

                if (!(transactionId && _productId && !recurring)) {
                  _context3.next = 103;
                  break;
                }

                _context3.next = 103;
                return _regenerator.default.awrap(_IAPHelper.default.clearAll(_productId));

              case 103:
                _context3.next = 138;
                break;

              case 105:
                if (!domain.includes(_optionspageUtils.locals.RESTORE_COMPLETED_TRANSACTIONS)) {
                  _context3.next = 119;
                  break;
                }

                if (!_optionalPackageUtils.default.isIapModuleAvailable()) {
                  _context3.next = 116;
                  break;
                }

                _productId2 = getParams.productID;
                _context3.next = 110;
                return _regenerator.default.awrap(_IAPHelper.default.setServerCallback(this.sendIAPTransactionResult));

              case 110:
                _context3.next = 112;
                return _regenerator.default.awrap(_IAPHelper.default.restoreTransactions(_productId2));

              case 112:
                result = _context3.sent;

                this._restoredTransactions(result);

                _context3.next = 117;
                break;

              case 116:
                this._execJavaScript("xc_failedTransaction_RN('','No IAP module present!');");

              case 117:
                _context3.next = 138;
                break;

              case 119:
                if (!domain.includes(_optionspageUtils.locals.OPEN_ACCESSIBILITY_MODE)) {
                  _context3.next = 126;
                  break;
                }

                _global$getActivePSet3 = global.getActivePSetup(), protectSite = _global$getActivePSet3.protectSite, loginStatus = _global$getActivePSet3.loginStatus;
                _newsmemoryManager = this.props.newsmemoryManager;
                newsmemoryConfig.setAccessibilityMode(true);

                if (protectSite === 0 || loginStatus.isLoggedIn()) {
                  url = getParams.url, callback = getParams.callback;

                  _NavigationService.default.main.navigate("WebScreen", {
                    url: url,
                    onClose: function onClose() {
                      _$$_REQUIRE(_dependencyMap[25]).PlatformUtils.colorBars();

                      newsmemoryConfig.setAccessibilityMode(false);

                      if (_newsmemoryManager) {
                        _newsmemoryManager.load();
                      }
                    },
                    backAccessibilityLabel: global.strings("label_exit_accessibility_mode"),
                    screenTitle: global.strings("btn_accessibility"),
                    isAccessibilityMode: true
                  });

                  if (callback) {
                    this._execJavaScript(callback + "();");
                  }

                  this._close(true);
                } else {
                  this.openTab({
                    tab: _optionspageUtils.tabs.login,
                    hidden: false,
                    getParams: {
                      hideTabs: 1,
                      isRss: 1
                    }
                  });
                }

                _context3.next = 138;
                break;

              case 126:
                if (!domain.includes(_optionspageUtils.locals.OPEN_NATIVE_SETTINGS_SCREEN)) {
                  _context3.next = 131;
                  break;
                }

                navigation = this.props.navigation;

                if (navigation) {
                  navigation.navigate("GeneralSettingsScreen", {
                    module: _$$_REQUIRE(_dependencyMap[31]).GeneralSettingsModules.EPAPER
                  });
                }

                _context3.next = 138;
                break;

              case 131:
                if (!domain.includes(_optionspageUtils.locals.LOGOUT)) {
                  _context3.next = 137;
                  break;
                }

                _context3.next = 134;
                return _regenerator.default.awrap(_LoginManager.default.logout());

              case 134:
                _$$_REQUIRE(_dependencyMap[27]).EventRegister.emit(_events.default.NEWSMEMORY_RELOAD_EDITION);

                _context3.next = 138;
                break;

              case 137:
                (0, _get2.default)((0, _getPrototypeOf2.default)(Optionspage.prototype), "_handleLocals", this).call(this, {
                  domain: domain,
                  getParams: getParams
                });

              case 138:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, [[18, 25], [36, 44]], Promise);
      }
    }, {
      key: "_sendIAPTransactionResult",
      value: function _sendIAPTransactionResult(params) {
        var status, error, model;
        return _regenerator.default.async(function _sendIAPTransactionResult$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                status = params.status, error = params.error, model = params.model;
                _context4.t0 = status;
                _context4.next = _context4.t0 === _IAPHelper.IAP_STATUS.SUCCESS ? 4 : _context4.t0 === _IAPHelper.IAP_STATUS.RESTORED ? 6 : _context4.t0 === _IAPHelper.IAP_STATUS.FAILED ? 8 : 8;
                break;

              case 4:
                this._completedTransaction(model);

                return _context4.abrupt("break", 10);

              case 6:
                this._restoredTransactions();

                return _context4.abrupt("break", 10);

              case 8:
                this._failedTransaction(model, error);

                return _context4.abrupt("break", 10);

              case 10:
                return _context4.abrupt("return", true);

              case 11:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_failedTransaction",
      value: function _failedTransaction(model, error) {
        var message = _optionspageUtils.default.getIAPErrorMessage(error);

        this._execJavaScript("xc_failedTransaction_RN('" + (model ? model.productId : "") + "','" + message + "');");
      }
    }, {
      key: "_completedTransaction",
      value: function _completedTransaction(model) {
        return _regenerator.default.async(function _completedTransaction$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                if (!_optionalPackageUtils.default.isIapModuleAvailable()) {
                  _context5.next = 9;
                  break;
                }

                if (!(model && model.productId)) {
                  _context5.next = 8;
                  break;
                }

                if (!(!model.isRecurring() || !model.receipt)) {
                  _context5.next = 5;
                  break;
                }

                _context5.next = 5;
                return _regenerator.default.awrap(_IAPHelper.default.clearAll(model.productId));

              case 5:
                this._execJavaScript("xc_completeTransaction_RN('" + model.productId + "');");

                _context5.next = 9;
                break;

              case 8:
                this._failedTransaction(model, {
                  code: IAPErrorCode.E_ITEM_UNAVAILABLE,
                  message: "Missing product identifier"
                });

              case 9:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_restoredTransactions",
      value: function _restoredTransactions(_ref3) {
        var success = _ref3.success,
            message = _ref3.message,
            purchases = _ref3.purchases;

        if (!success) {
          if (!message) {
            message = "Restore transactions failed";
          }

          this._execJavaScript("xc_restoreTransactionFinished(\"" + message + "\");");
        } else {
          this._execJavaScript("xc_restoreTransactionFinished();");
        }
      }
    }]);
    return Optionspage;
  }(_$$_REQUIRE(_dependencyMap[32]).BaseOptionspage);

  Optionspage.propTypes = (0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[32]).BaseOptionspage.propTypes, {
    handleBackButton: _propTypes.default.func,
    isNewspaperLoaded: _propTypes.default.func,
    newsmemoryManager: _propTypes.default.instanceOf(_NewsmemoryManager.default)
  });

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[33]).useNavigation)();
    return _react.default.createElement(Optionspage, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2305,[5,80,6,7,8,15,90,12,14,16,17,201,730,460,1859,1934,710,714,2306,1871,1861,2318,2154,2057,731,462,1849,572,1889,2254,1937,2232,2297,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _NewsmemoryEditionsManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _NewspaperIssue = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _NewsmemoryDatabasesManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _EPaperImage = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[13]));

  var _DownloadManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _NewsmemoryAJAX = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _SingleImageDownloadOperation = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _SingleZipDownloadOperation = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _MultiZipDownloadOperation = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _SingleHRZipDownloadOperation = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _DownloadOperation = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _newsmemoryUtils = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[23]));

  var _optionspageUtils = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[24]));

  var _pageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[25]));

  var _EPaperArticle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[26]));

  var _TranslationManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[27]));

  var _PurgeManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[28]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[29]));

  var _IAPHelper = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[30]));

  var _LoginManager = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[31]));

  var _NewsmemoryToDTO = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[32]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var BULK_INSERT_TIMEOUT = 3000;

  var NewspaperManager = function () {
    function NewspaperManager(pSetupConfig) {
      (0, _classCallCheck2.default)(this, NewspaperManager);
      this.lastHighQueuePriorityValue = 1;
      var paper = pSetupConfig.xpaper,
          machineForHR = pSetupConfig.machineForHR;
      this.saveImages = this._saveImages.bind(this);
      this.getDownloadProgress = this._getDownloadProgress.bind(this);
      this.newspapers = [];
      this.imageToStoreList = [];
      this.insertTimeout = undefined;
      this.editionsManager = new _NewsmemoryEditionsManager.default(paper);
      this.downloadManager = new _DownloadManager.default(paper, machineForHR, this.saveImages);
      this.downloadFullEditionActive = false;
      this.downloadFullEdition = this._downloadFullEdition.bind(this);
      this.downloadResource = this._downloadResource.bind(this);
      this.saveDownloadHR = this._saveDownloadHR.bind(this);
      this.downloadResourceHR = this._downloadResourceHR.bind(this);
      this.generatePNG = this._generatePNG.bind(this);
      this.clearQueueHR = this._clearQueueHR.bind(this);
      this.restartQueueHR = this._restartQueueHR.bind(this);
      this.resumeQueueHR = this._resumeQueueHR.bind(this);
      this.pauseQueueHR = this._pauseQueueHR.bind(this);
      this.closeCurrentDb = this._closeCurrentDb.bind(this);
      this.clearQueueThumbnail = this._clearQueueThumbnail.bind(this);
      this.connectionTypeChange = this._connectionTypeChange.bind(this);
      this.triggerInitialDownload = this._triggerInitialDownload.bind(this);
      this.refreshEdition = this._refreshEdition.bind(this);
      this.updateCallback = this._updateCallback.bind(this);
      this.onConnectionTypeListener = _$$_REQUIRE(_dependencyMap[33]).EventRegister.on(_events.default.ON_CONNECTIVITY_CHANGE, this.connectionTypeChange);
      this.onDownloadFullEditionListener = _$$_REQUIRE(_dependencyMap[33]).EventRegister.on(_events.default.NEWSMEMORY_DOWNLOAD_FULL_EDITION, this.downloadFullEdition);
      this.onDownloadResourceListener = _$$_REQUIRE(_dependencyMap[33]).EventRegister.on(_events.default.NEWSMEMORY_REQUEST_DOWNLOAD_IMAGE, this.downloadResource);
      this.onSaveDownloadHRListener = _$$_REQUIRE(_dependencyMap[33]).EventRegister.on(_events.default.NEWSMEMORY_SAVE_HR, this.saveDownloadHR);
      this.onDownloadResourceHRListener = _$$_REQUIRE(_dependencyMap[33]).EventRegister.on(_events.default.NEWSMEMORY_REQUEST_DOWNLOAD_HR, this.downloadResourceHR);
      this.onGeneratePNGListener = _$$_REQUIRE(_dependencyMap[33]).EventRegister.on(_events.default.NEWSMEMORY_GENERATE_PNG, this.generatePNG);
      this.onRestartQueueHRListener = _$$_REQUIRE(_dependencyMap[33]).EventRegister.on(_events.default.NEWSMEMORY_RESTART_HIGH_RES_QUEUE, this.restartQueueHR);
      this.onResumeQueueHRListener = _$$_REQUIRE(_dependencyMap[33]).EventRegister.on(_events.default.NEWSMEMORY_RESUME_HIGH_RES_QUEUE, this.resumeQueueHR);
      this.onPauseQueueHRListener = _$$_REQUIRE(_dependencyMap[33]).EventRegister.on(_events.default.NEWSMEMORY_PAUSE_HIGH_RES_QUEUE, this.pauseQueueHR);
      this.onClearQueueHRListener = _$$_REQUIRE(_dependencyMap[33]).EventRegister.on(_events.default.NEWSMEMORY_CLEAR_HIGH_RES_QUEUE, this.clearQueueHR);
      this.onClearQueueThumbnailListener = _$$_REQUIRE(_dependencyMap[33]).EventRegister.on(_events.default.ON_THUMBNAIL_CLOSE, this.clearQueueThumbnail);
      this.onCloseCurrentDb = _$$_REQUIRE(_dependencyMap[33]).EventRegister.on(_events.default.NEWSMEMORY_CLOSE_CURRENT_DB, this.closeCurrentDb);
    }

    (0, _createClass2.default)(NewspaperManager, [{
      key: "init",
      value: function init(pSetupConfig) {
        var paper, downloadMultiZips, maxZipsToDownloadEachRequest;
        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                paper = pSetupConfig.xpaper, downloadMultiZips = pSetupConfig.downloadMultiZips, maxZipsToDownloadEachRequest = pSetupConfig.maxZipsToDownloadEachRequest;
                this.paper = paper;
                this.lowSpeedDownload = false;
                this.downloadMultiZips = downloadMultiZips;
                this.maxZipsToDownloadEachRequest = maxZipsToDownloadEachRequest;
                this.currentNewspaper = undefined;
                this.currentPage = undefined;
                this.lastHighQueuePriorityValue = 1;
                this.resetPageCounters();
                this.resetPageHrCounters();
                _context.next = 12;
                return _regenerator.default.awrap(this._resetBulkInsertTimeout(true));

              case 12:
                this.status = new (_$$_REQUIRE(_dependencyMap[34]).NewspaperStatus)();
                _context.next = 15;
                return _regenerator.default.awrap(this.status.init(pSetupConfig, global.getNewsmemoryStartupParams()));

              case 15:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_downloadFullEdition",
      value: function _downloadFullEdition() {
        var _this = this;

        return _regenerator.default.async(function _downloadFullEdition$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                this.downloadFullEditionActive = true;
                this.loadPagesHRComponents();

                if (this.downloadManager) {
                  this.downloadManager.startStandardPriorityQueue();
                  this.downloadManager.onStandardPriorityQueueIdle().then(function () {
                    if (_this.failedDownloadOperations === 0) {
                      _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_FULL_DOWNLOAD_FINISHED);

                      _this.updateNewspaperStatus(_NewspaperIssue.DBStatus.HIGH_RES_DOWNLOADED);
                    }

                    if (_this.downloadManager) {
                      _this.downloadManager.pauseStandardPriorityQueue();
                    }
                  });
                }

              case 3:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getStatus",
      value: function getStatus() {
        return this.status;
      }
    }, {
      key: "_downloadResource",
      value: function _downloadResource(params) {
        var pageId, pageFileName, type, callback, currentNewspaper, page, currentPage, imageToDownload, currentPageId, pageBoundaries, priority;
        return _regenerator.default.async(function _downloadResource$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                pageId = params.pageId, pageFileName = params.pageFileName, type = params.type, callback = params.callback;
                currentNewspaper = this.getCurrentNewspaper();

                if (!currentNewspaper) {
                  _context3.next = 28;
                  break;
                }

                page = currentNewspaper.getPages().find(function (aPage) {
                  return aPage.getPageId() === pageId && aPage.getFilename() === pageFileName;
                });

                if (!page) {
                  _context3.next = 26;
                  break;
                }

                currentPage = this.getCurrentPage();
                imageToDownload = _newsmemoryUtils.default.getImageFromPage(page, type);

                if (!imageToDownload) {
                  _context3.next = 10;
                  break;
                }

                _context3.next = 25;
                break;

              case 10:
                if (!currentPage) {
                  _context3.next = 25;
                  break;
                }

                currentPageId = currentPage.getPageId();
                pageBoundaries = 2;

                if (pageId === currentPageId) {
                  priority = this.lastHighQueuePriorityValue + 1;
                } else {
                  priority = _$$_REQUIRE(_dependencyMap[35]).JSUtils.inInterval(pageId, currentPageId - pageBoundaries, currentPageId + pageBoundaries) ? this.lastHighQueuePriorityValue : 0;
                }

                imageToDownload = new _EPaperImage.default();
                imageToDownload.setPageId(pageId);
                imageToDownload.setType(type);
                _context3.prev = 17;
                _context3.next = 20;
                return _regenerator.default.awrap(this.downloadManager.loadImageInQueue(currentNewspaper, page, imageToDownload, true, priority));

              case 20:
                imageToDownload = _context3.sent;
                _context3.next = 25;
                break;

              case 23:
                _context3.prev = 23;
                _context3.t0 = _context3["catch"](17);

              case 25:
                if (typeof callback === "function") {
                  callback(imageToDownload);
                }

              case 26:
                _context3.next = 28;
                break;

              case 28:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, [[17, 23]], Promise);
      }
    }, {
      key: "_downloadResourceHR",
      value: function _downloadResourceHR(params) {
        var issue, edition, pageId, xmlId, boxId, callback, graph, currentNewspaper, hrPage, priority, image;
        return _regenerator.default.async(function _downloadResourceHR$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                issue = params.issue, edition = params.edition, pageId = params.pageId, xmlId = params.xmlId, boxId = params.boxId, callback = params.callback, graph = params.graph;
                currentNewspaper = this.getCurrentNewspaper();

                if (!currentNewspaper) {
                  _context4.next = 25;
                  break;
                }

                if (!(issue === currentNewspaper.getIssue() && edition === currentNewspaper.getEdition())) {
                  _context4.next = 23;
                  break;
                }

                hrPage = currentNewspaper.getEditionModel().getPages().find(function (page) {
                  return page.getPageId() === pageId;
                });

                if (!(hrPage && this.downloadManager)) {
                  _context4.next = 20;
                  break;
                }

                _context4.prev = 6;
                this.downloadHrOperations += 1;
                priority = this.getCurrentPage().getPageId() === pageId ? 2 : 1;
                _context4.next = 11;
                return _regenerator.default.awrap(this.downloadManager.loadHRImageInQueue(currentNewspaper, hrPage, xmlId, boxId, priority, graph));

              case 11:
                image = _context4.sent;

                if (_$$_REQUIRE(_dependencyMap[35]).NetworkUtils.isOnline()) {
                  if (image) {
                    this.completedHrDownloadOperations += 1;

                    if (this.failedHrDownloadOperations > 0) {
                      this.partialCompletedHrDownloadOperations += 1;

                      if (this.partialCompletedHrDownloadOperations >= 10) {
                        _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_HR_DOWNLOAD_SUCCESS);

                        this.partialCompletedHrDownloadOperations = 0;
                      }
                    }
                  } else {
                    this.failedHrDownloadOperations += 1;

                    _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_HR_DOWNLOAD_ERROR);
                  }
                }

                if (typeof callback === "function") {
                  callback(image);
                }

                _context4.next = 18;
                break;

              case 16:
                _context4.prev = 16;
                _context4.t0 = _context4["catch"](6);

              case 18:
                _context4.next = 21;
                break;

              case 20:
                if (!hrPage) {}

              case 21:
                _context4.next = 23;
                break;

              case 23:
                _context4.next = 25;
                break;

              case 25:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, [[6, 16]], Promise);
      }
    }, {
      key: "_saveDownloadHR",
      value: function _saveDownloadHR(params) {
        var newspaper, page, xmlId, boxId, graph, callback, invalidateCallback, imagePath, _await$getImageSize, width, height, relativePathToImage, imageName, image;

        return _regenerator.default.async(function _saveDownloadHR$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                newspaper = params.newspaper, page = params.page, xmlId = params.xmlId, boxId = params.boxId, graph = params.graph, callback = params.callback, invalidateCallback = params.invalidateCallback;

                if (!(newspaper && page)) {
                  _context5.next = 28;
                  break;
                }

                imagePath = _NewsmemoryDatabasesManager.default.getNewspaperIssueDirectory(newspaper.getPaper(), newspaper.getIssue()) + page.getFilename() + "/" + _newsmemoryUtils.default.getHrImageName(xmlId, boxId, graph);
                _context5.next = 5;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[36]).getImageSize)("file://" + imagePath));

              case 5:
                _await$getImageSize = _context5.sent;
                width = _await$getImageSize.width;
                height = _await$getImageSize.height;
                relativePathToImage = imagePath.replace(_tecnaviaFileUtils.default.getNewsmemoryBaseDirectory(), "./");
                imageName = _tecnaviaFileUtils.default.getFilename(imagePath);
                image = new _EPaperImage.default();
                image.setPageId(page.getPageId());
                image.setName(imageName);
                image.setTypeByName(imageName);
                image.setBase64(relativePathToImage);
                image.setWidth(width);
                image.setHeight(height);
                page.addImage(image);

                if (!_$$_REQUIRE(_dependencyMap[35]).PlatformUtils.isAndroid()) {
                  _context5.next = 26;
                  break;
                }

                _context5.next = 21;
                return _regenerator.default.awrap(this.downloadManager.addWatermark(imagePath, image, page, xmlId));

              case 21:
                _context5.t0 = _context5.sent;

                if (!_context5.t0) {
                  _context5.next = 24;
                  break;
                }

                _context5.t0 = typeof invalidateCallback === "function";

              case 24:
                if (!_context5.t0) {
                  _context5.next = 26;
                  break;
                }

                invalidateCallback();

              case 26:
                if (typeof callback === "function") {
                  callback();
                }

                this.saveImages([image], newspaper);

              case 28:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_connectionTypeChange",
      value: function _connectionTypeChange() {
        if (this.downloadManager) {
          var isHighSpeedNetwork = _$$_REQUIRE(_dependencyMap[35]).NetworkUtils.isHighSpeedNetwork();

          this.downloadManager.setHighPriorityQueuePoolSize(!isHighSpeedNetwork);
          this.downloadManager.setStandardQueuePoolSize(!isHighSpeedNetwork);
        }
      }
    }, {
      key: "_closeCurrentDb",
      value: function _closeCurrentDb() {
        this.closeCurrentEditionDatabase();
      }
    }, {
      key: "_clearQueueThumbnail",
      value: function _clearQueueThumbnail() {
        if (this.downloadManager) {
          this.downloadManager.clearThumbnailQueue();
        }
      }
    }, {
      key: "_clearQueueHR",
      value: function _clearQueueHR(params) {
        var newspaper;
        return _regenerator.default.async(function _clearQueueHR$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                if (this.downloadManager) {
                  newspaper = this.getCurrentNewspaper();
                  this.downloadManager.startHighResDownloadQueue(this.lowSpeedDownload || !newspaper || !newspaper.isNewspaperCompleteForMode());

                  if (params && typeof params.callback === "function") {
                    params.callback();
                  }
                }

              case 1:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_restartQueueHR",
      value: function _restartQueueHR() {
        if (this.downloadManager) {
          this.downloadManager.restartHighResQueue();
        }
      }
    }, {
      key: "_resumeQueueHR",
      value: function _resumeQueueHR() {
        if (this.downloadManager) {
          this.downloadManager.resumeHighResQueue();
        }
      }
    }, {
      key: "_pauseQueueHR",
      value: function _pauseQueueHR() {
        if (this.downloadManager) {
          this.downloadManager.pauseHighResQueue();
        }
      }
    }, {
      key: "_generatePNG",
      value: function _generatePNG(params) {
        var issue, edition, pageId, pageFileName, callback, currentNewspaper, page, imageToGenerate;
        return _regenerator.default.async(function _generatePNG$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                issue = params.issue, edition = params.edition, pageId = params.pageId, pageFileName = params.pageFileName, callback = params.callback;
                currentNewspaper = this.getCurrentNewspaper();

                if (!currentNewspaper) {
                  _context7.next = 16;
                  break;
                }

                if (!(issue === currentNewspaper.getIssue() && edition === currentNewspaper.getEdition())) {
                  _context7.next = 14;
                  break;
                }

                page = currentNewspaper.getPages().find(function (aPage) {
                  return aPage.getPageId() === pageId && aPage.getFilename() === pageFileName;
                });

                if (!page) {
                  _context7.next = 12;
                  break;
                }

                imageToGenerate = _newsmemoryUtils.default.getImageFromPage(page, _EPaperImage.EPaperImageType.PNG);

                if (imageToGenerate) {
                  _context7.next = 11;
                  break;
                }

                _context7.next = 10;
                return _regenerator.default.awrap(this.downloadManager.generateTextPngFromImages(currentNewspaper, page, page.getImages()));

              case 10:
                imageToGenerate = page.getPNGImage();

              case 11:
                if (typeof callback === "function") {
                  callback(imageToGenerate);
                }

              case 12:
                _context7.next = 14;
                break;

              case 14:
                _context7.next = 16;
                break;

              case 16:
              case "end":
                return _context7.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "resetPageCounters",
      value: function resetPageCounters() {
        this.downloadOperations = 0;
        this.downloadOperationsWeight = 0;
        this.completedDownloadOperations = 0;
        this.completedDownloadOperationsWeight = 0;
        this.failedDownloadOperations = 0;
        this.advancedPagesNumber = 0;
      }
    }, {
      key: "resetPageHrCounters",
      value: function resetPageHrCounters() {
        this.downloadHrOperations = 0;
        this.completedHrDownloadOperations = 0;
        this.partialCompletedHrDownloadOperations = 0;
        this.failedHrDownloadOperations = 0;
      }
    }, {
      key: "unregister",
      value: function unregister() {
        _$$_REQUIRE(_dependencyMap[33]).EventRegister.rm(this.onClearQueueThumbnailListener);

        _$$_REQUIRE(_dependencyMap[33]).EventRegister.rm(this.onCloseCurrentDb);

        _$$_REQUIRE(_dependencyMap[33]).EventRegister.rm(this.onConnectionTypeListener);

        _$$_REQUIRE(_dependencyMap[33]).EventRegister.rm(this.onDownloadFullEditionListener);

        _$$_REQUIRE(_dependencyMap[33]).EventRegister.rm(this.onDownloadResourceListener);

        _$$_REQUIRE(_dependencyMap[33]).EventRegister.rm(this.onSaveDownloadHRListener);

        _$$_REQUIRE(_dependencyMap[33]).EventRegister.rm(this.onDownloadResourceHRListener);

        _$$_REQUIRE(_dependencyMap[33]).EventRegister.rm(this.onRestartQueueHRListener);

        _$$_REQUIRE(_dependencyMap[33]).EventRegister.rm(this.onResumeQueueHRListener);

        _$$_REQUIRE(_dependencyMap[33]).EventRegister.rm(this.onPauseQueueHRListener);

        _$$_REQUIRE(_dependencyMap[33]).EventRegister.rm(this.onClearQueueHRListener);

        _$$_REQUIRE(_dependencyMap[33]).EventRegister.rm(this.onGeneratePNGListener);
      }
    }, {
      key: "loadNewspaper",
      value: function loadNewspaper(newspaperIssue) {
        var dbFilename, dbIssue, dbEdition, dbSecret, edition;
        return _regenerator.default.async(function loadNewspaper$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                if (!newspaperIssue) {
                  _context8.next = 16;
                  break;
                }

                dbFilename = newspaperIssue.dbFilename, dbIssue = newspaperIssue.dbIssue, dbEdition = newspaperIssue.dbEdition, dbSecret = newspaperIssue.dbSecret;
                _context8.next = 4;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.exists(dbFilename));

              case 4:
                if (!_context8.sent) {
                  _context8.next = 16;
                  break;
                }

                _context8.prev = 5;
                this.editionsManager.initDatabase(dbFilename);
                _context8.next = 9;
                return _regenerator.default.awrap(this.editionsManager.getEdition(dbIssue, dbEdition, dbSecret));

              case 9:
                edition = _context8.sent;

                if (edition) {
                  newspaperIssue.setEditionModel(edition);
                  this.addNewspaper(newspaperIssue);
                }

                return _context8.abrupt("return", !!edition);

              case 14:
                _context8.prev = 14;
                _context8.t0 = _context8["catch"](5);

              case 16:
                return _context8.abrupt("return", false);

              case 17:
              case "end":
                return _context8.stop();
            }
          }
        }, null, this, [[5, 14]], Promise);
      }
    }, {
      key: "addNewspaper",
      value: function addNewspaper(newspaper) {
        if (this.newspapers) {
          this.newspapers.push(newspaper);
        }
      }
    }, {
      key: "removeNewspaper",
      value: function removeNewspaper(newspaper) {
        if (newspaper && this.newspapers) {
          var index = this.newspapers.findIndex(function (item) {
            return item && item.getIssue() === newspaper.getIssue() && item.getEdition() === newspaper.getEdition();
          });
          delete this.newspapers[index];

          if (this.currentNewspaper && this.currentNewspaper.equals(newspaper)) {
            this.currentNewspaper = undefined;
          }
        }
      }
    }, {
      key: "setCurrentNewspaper",
      value: function setCurrentNewspaper(newspaper) {
        this.currentNewspaper = newspaper;
        var newsmemoryConfig = global.getNewsmemoryConfig();

        if (newsmemoryConfig) {
          newsmemoryConfig.setLastOperationTimestamp();
        }

        if (this.status) {
          var dbIssue = newspaper.dbIssue,
              dbEdition = newspaper.dbEdition;
          this.status.setLastIssue(dbIssue);
          this.status.setLastEdition(dbEdition);
        }
      }
    }, {
      key: "getCurrentNewspaper",
      value: function getCurrentNewspaper() {
        return this.currentNewspaper;
      }
    }, {
      key: "setCurrentPage",
      value: function setCurrentPage(pageId) {
        var currentNewspaper = this.getCurrentNewspaper();

        if (currentNewspaper) {
          var pages = currentNewspaper.getPages();
          this.lastHighQueuePriorityValue += 1;
          this.currentPage = pageId ? pages.find(function (page) {
            return page.getPageId() === pageId;
          }) : pages[0];

          if (this.currentPage) {
            this.status.setLastPageNumber(this.currentPage.getPage());
          }
        }
      }
    }, {
      key: "getCurrentPage",
      value: function getCurrentPage() {
        return this.currentPage;
      }
    }, {
      key: "getNewspaper",
      value: function getNewspaper(issue, edition) {
        var newspapers, newspaper;
        return _regenerator.default.async(function getNewspaper$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                newspapers = this.newspapers.filter(function (item) {
                  return item.getIssue() === issue && item.getEdition() === edition;
                });

                if (!(newspapers.length > 0)) {
                  _context9.next = 3;
                  break;
                }

                return _context9.abrupt("return", newspapers[0]);

              case 3:
                _context9.next = 5;
                return _regenerator.default.awrap(this.getNewspaperFromDB(issue, edition));

              case 5:
                newspaper = _context9.sent;
                return _context9.abrupt("return", newspaper);

              case 7:
              case "end":
                return _context9.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getNewspaperFromDB",
      value: function getNewspaperFromDB(issue, edition) {
        var newspaper;
        return _regenerator.default.async(function getNewspaperFromDB$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                _context10.prev = 0;
                _context10.next = 3;
                return _regenerator.default.awrap(_NewsmemoryDatabasesManager.default.getIssue(this.paper, issue, edition));

              case 3:
                newspaper = _context10.sent;
                _context10.next = 6;
                return _regenerator.default.awrap(this.loadNewspaper(newspaper));

              case 6:
                if (!_context10.sent) {
                  _context10.next = 8;
                  break;
                }

                return _context10.abrupt("return", newspaper);

              case 8:
                _context10.next = 13;
                break;

              case 10:
                _context10.prev = 10;
                _context10.t0 = _context10["catch"](0);

                if (_context10.t0.message === "Issue not found") {} else {}

              case 13:
                return _context10.abrupt("return", null);

              case 14:
              case "end":
                return _context10.stop();
            }
          }
        }, null, this, [[0, 10]], Promise);
      }
    }, {
      key: "updateNewspaper",
      value: function updateNewspaper(newspaper) {
        var index = this.newspapers.findIndex(function (_ref) {
          var issue = _ref.issue,
              edition = _ref.edition;
          return issue === newspaper.issue && edition === newspaper.edition;
        });

        if (index >= 0) {
          this.newspapers[index] = newspaper;
        } else {
          this.newspapers.push(newspaper);
        }
      }
    }, {
      key: "updatePageVisibility",
      value: function updatePageVisibility(newspaper) {
        var _global$getActivePSet = global.getActivePSetup(),
            seeNewspaperPreview = _global$getActivePSet.seeNewspaperPreview;

        if (seeNewspaperPreview && newspaper) {
          var editionModel = newspaper.getEditionModel();

          if (editionModel) {
            var pages = editionModel.getPages(true);

            if (pages.length > 0) {
              var updatedPages = 0;

              var numberOfPreviewPages = _newsmemoryUtils.default.numberOfPagesInTrialMode(newspaper.getIssue(), newspaper.getEdition());

              pages.forEach(function (page, index) {
                var visible = true;
                var prot = false;

                if (numberOfPreviewPages > -1) {
                  visible = index < numberOfPreviewPages;
                  prot = index >= numberOfPreviewPages - 1;
                }

                if (page.isVisible() !== visible || page.isProtected() !== prot) {
                  updatedPages++;
                  page.setVisible(visible);
                  page.setProtected(prot);
                }
              });

              if (updatedPages > 0) {
                _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_UPDATE_STARTED, {
                  needUpdate: updatedPages > 0
                });

                _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_UPDATE_FINISHED, {
                  success: true
                });
              }
            }
          }
        }
      }
    }, {
      key: "savePages",
      value: function savePages(_ref2, pages) {
        var dbFilename;
        return _regenerator.default.async(function savePages$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                dbFilename = _ref2.dbFilename;
                this.editionsManager.initDatabase(dbFilename);
                return _context11.abrupt("return", this.editionsManager.savePages(pages));

              case 3:
              case "end":
                return _context11.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "savePage",
      value: function savePage(page) {
        return _regenerator.default.async(function savePage$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                return _context12.abrupt("return", this.savePages(this.getCurrentNewspaper(), [page]));

              case 1:
              case "end":
                return _context12.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "insertPages",
      value: function insertPages(_ref3, pages) {
        var dbFilename;
        return _regenerator.default.async(function insertPages$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                dbFilename = _ref3.dbFilename;
                this.editionsManager.initDatabase(dbFilename);
                return _context13.abrupt("return", this.editionsManager.insertPages(pages));

              case 3:
              case "end":
                return _context13.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "insertPage",
      value: function insertPage(page) {
        return _regenerator.default.async(function insertPage$(_context14) {
          while (1) {
            switch (_context14.prev = _context14.next) {
              case 0:
                return _context14.abrupt("return", this.insertPages(this.getCurrentNewspaper(), [page]));

              case 1:
              case "end":
                return _context14.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "removePages",
      value: function removePages(newspaper, pages) {
        var dbFilename, i, page;
        return _regenerator.default.async(function removePages$(_context15) {
          while (1) {
            switch (_context15.prev = _context15.next) {
              case 0:
                _context15.prev = 0;
                dbFilename = newspaper.dbFilename;
                this.editionsManager.initDatabase(dbFilename);
                _context15.next = 5;
                return _regenerator.default.awrap(this.editionsManager.removePages(pages));

              case 5:
                _context15.next = 7;
                return _regenerator.default.awrap(this.editionsManager.removeImagesForPages(pages));

              case 7:
                _context15.next = 9;
                return _regenerator.default.awrap(this.editionsManager.removeArticlesForPages(pages));

              case 9:
                i = 0;

              case 10:
                if (!(i < pages.length)) {
                  _context15.next = 19;
                  break;
                }

                page = pages[i];
                newspaper.getEditionModel().removePage(page);

                _TranslationManager.default.resetTranslationsForPage(newspaper, page);

                _context15.next = 16;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unlink("" + (_NewsmemoryDatabasesManager.default.getNewspaperIssueDirectory(newspaper.getPaper(), newspaper.getIssue()) + page.filename)));

              case 16:
                i++;
                _context15.next = 10;
                break;

              case 19:
                _context15.next = 23;
                break;

              case 21:
                _context15.prev = 21;
                _context15.t0 = _context15["catch"](0);

              case 23:
              case "end":
                return _context15.stop();
            }
          }
        }, null, this, [[0, 21]], Promise);
      }
    }, {
      key: "removePage",
      value: function removePage(page) {
        return _regenerator.default.async(function removePage$(_context16) {
          while (1) {
            switch (_context16.prev = _context16.next) {
              case 0:
                return _context16.abrupt("return", this.removePages(this.getCurrentNewspaper(), [page]));

              case 1:
              case "end":
                return _context16.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_saveImages",
      value: function _saveImages(images, newspaper) {
        var dbFilename, currentNewspaper;
        return _regenerator.default.async(function _saveImages$(_context17) {
          while (1) {
            switch (_context17.prev = _context17.next) {
              case 0:
                if (newspaper) {
                  dbFilename = newspaper.getFilename();
                } else {
                  currentNewspaper = this.getCurrentNewspaper();

                  if (currentNewspaper) {
                    dbFilename = currentNewspaper.getFilename();
                  }
                }

                if (!dbFilename) {
                  _context17.next = 3;
                  break;
                }

                return _context17.abrupt("return", this.saveImagesInDB(dbFilename, images));

              case 3:
                return _context17.abrupt("return", undefined);

              case 4:
              case "end":
                return _context17.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "removeImagesForPages",
      value: function removeImagesForPages(_ref4, pages) {
        var dbFilename;
        return _regenerator.default.async(function removeImagesForPages$(_context18) {
          while (1) {
            switch (_context18.prev = _context18.next) {
              case 0:
                dbFilename = _ref4.dbFilename;
                this.editionsManager.initDatabase(dbFilename);
                return _context18.abrupt("return", this.editionsManager.removeImagesForPages(pages));

              case 3:
              case "end":
                return _context18.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "removeImagesForPage",
      value: function removeImagesForPage(page) {
        return _regenerator.default.async(function removeImagesForPage$(_context19) {
          while (1) {
            switch (_context19.prev = _context19.next) {
              case 0:
                return _context19.abrupt("return", this.removeImagesForPages(this.getCurrentNewspaper(), [page]));

              case 1:
              case "end":
                return _context19.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "removeArticlesForPages",
      value: function removeArticlesForPages(_ref5, pages) {
        var dbFilename;
        return _regenerator.default.async(function removeArticlesForPages$(_context20) {
          while (1) {
            switch (_context20.prev = _context20.next) {
              case 0:
                dbFilename = _ref5.dbFilename;
                this.editionsManager.initDatabase(dbFilename);
                return _context20.abrupt("return", this.editionsManager.removeImagesForPages(pages));

              case 3:
              case "end":
                return _context20.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "removeArticlesForPage",
      value: function removeArticlesForPage(page) {
        return _regenerator.default.async(function removeArticlesForPage$(_context21) {
          while (1) {
            switch (_context21.prev = _context21.next) {
              case 0:
                return _context21.abrupt("return", this.removeArticlesForPages(this.getCurrentNewspaper(), [page]));

              case 1:
              case "end":
                return _context21.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "saveImagesInDB",
      value: function saveImagesInDB(dbFilename, images) {
        var _this2 = this;

        var synchronous,
            _args22 = arguments;
        return _regenerator.default.async(function saveImagesInDB$(_context22) {
          while (1) {
            switch (_context22.prev = _context22.next) {
              case 0:
                synchronous = _args22.length > 2 && _args22[2] !== undefined ? _args22[2] : false;

                if (!synchronous) {
                  _context22.next = 4;
                  break;
                }

                this.editionsManager.initDatabase(dbFilename);
                return _context22.abrupt("return", this.editionsManager.saveImages(images));

              case 4:
                this.imageToStoreList.push({
                  dbFilename: dbFilename,
                  images: images
                });

                this._resetBulkInsertTimeout(false);

                this.insertTimeout = setTimeout(function () {
                  _this2._storeIntoDb();
                }, BULK_INSERT_TIMEOUT);
                return _context22.abrupt("return", undefined);

              case 8:
              case "end":
                return _context22.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_resetBulkInsertTimeout",
      value: function _resetBulkInsertTimeout(storeBeforeClear) {
        return _regenerator.default.async(function _resetBulkInsertTimeout$(_context23) {
          while (1) {
            switch (_context23.prev = _context23.next) {
              case 0:
                if (this.insertTimeout) {
                  clearTimeout(this.insertTimeout);
                  this.insertTimeout = undefined;
                }

                if (!(this.imageToStoreList && this.imageToStoreList.length && storeBeforeClear)) {
                  _context23.next = 4;
                  break;
                }

                _context23.next = 4;
                return _regenerator.default.awrap(this._storeIntoDb());

              case 4:
              case "end":
                return _context23.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_storeIntoDb",
      value: function _storeIntoDb() {
        var _this3 = this;

        var promises, organizedImages;
        return _regenerator.default.async(function _storeIntoDb$(_context24) {
          while (1) {
            switch (_context24.prev = _context24.next) {
              case 0:
                promises = [];

                if (this.imageToStoreList.length) {
                  organizedImages = this.imageToStoreList.reduce(function (result, item) {
                    var _result$item$dbFilena;

                    if (!result[item.dbFilename]) {
                      result[item.dbFilename] = [];
                    }

                    (_result$item$dbFilena = result[item.dbFilename]).push.apply(_result$item$dbFilena, (0, _toConsumableArray2.default)(item.images));

                    return result;
                  }, {});
                  promises = Object.keys(organizedImages).map(function (key) {
                    if (_this3.editionsManager) {
                      _this3.editionsManager.initDatabase(key);

                      return _this3.editionsManager.saveImages(organizedImages[key]);
                    }

                    return Promise.resolve();
                  });
                  this.imageToStoreList = [];
                }

                return _context24.abrupt("return", Promise.all(promises));

              case 3:
              case "end":
                return _context24.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getPageByFilename",
      value: function getPageByFilename(dbFilename, filename) {
        var page;
        return _regenerator.default.async(function getPageByFilename$(_context25) {
          while (1) {
            switch (_context25.prev = _context25.next) {
              case 0:
                _context25.prev = 0;
                this.editionsManager.initDatabase(dbFilename);
                _context25.next = 4;
                return _regenerator.default.awrap(this.editionsManager.getPageByFilename(filename));

              case 4:
                page = _context25.sent;
                return _context25.abrupt("return", page);

              case 8:
                _context25.prev = 8;
                _context25.t0 = _context25["catch"](0);
                return _context25.abrupt("return", null);

              case 11:
              case "end":
                return _context25.stop();
            }
          }
        }, null, this, [[0, 8]], Promise);
      }
    }, {
      key: "getLatestIssue",
      value: function getLatestIssue(edition) {
        var issues;
        return _regenerator.default.async(function getLatestIssue$(_context26) {
          while (1) {
            switch (_context26.prev = _context26.next) {
              case 0:
                _context26.prev = 0;
                _context26.next = 3;
                return _regenerator.default.awrap(_NewsmemoryAJAX.default.getIssues(edition));

              case 3:
                issues = _context26.sent;

                if (!(Array.isArray(issues) && issues.length > 0)) {
                  _context26.next = 6;
                  break;
                }

                return _context26.abrupt("return", issues[0]);

              case 6:
                _context26.next = 10;
                break;

              case 8:
                _context26.prev = 8;
                _context26.t0 = _context26["catch"](0);

              case 10:
                return _context26.abrupt("return", null);

              case 11:
              case "end":
                return _context26.stop();
            }
          }
        }, null, null, [[0, 8]], Promise);
      }
    }, {
      key: "getEditions",
      value: function getEditions(issue) {
        var editions;
        return _regenerator.default.async(function getEditions$(_context27) {
          while (1) {
            switch (_context27.prev = _context27.next) {
              case 0:
                _context27.prev = 0;
                _context27.next = 3;
                return _regenerator.default.awrap(_NewsmemoryAJAX.default.getEditions(issue));

              case 3:
                editions = _context27.sent;

                if (!(Array.isArray(editions) && editions.length > 0)) {
                  _context27.next = 6;
                  break;
                }

                return _context27.abrupt("return", editions.map(function (edition) {
                  return edition.edition;
                }));

              case 6:
                _context27.next = 10;
                break;

              case 8:
                _context27.prev = 8;
                _context27.t0 = _context27["catch"](0);

              case 10:
                return _context27.abrupt("return", []);

              case 11:
              case "end":
                return _context27.stop();
            }
          }
        }, null, null, [[0, 8]], Promise);
      }
    }, {
      key: "insertIssueDBIntoDatabases",
      value: function insertIssueDBIntoDatabases(db, issue, edition, secret, network) {
        var success;
        return _regenerator.default.async(function insertIssueDBIntoDatabases$(_context28) {
          while (1) {
            switch (_context28.prev = _context28.next) {
              case 0:
                success = false;
                _context28.prev = 1;
                _context28.next = 4;
                return _regenerator.default.awrap(_NewsmemoryDatabasesManager.default.insertIssue(db, this.paper, issue, edition, secret, undefined, network));

              case 4:
                success = _context28.sent;
                _context28.next = 9;
                break;

              case 7:
                _context28.prev = 7;
                _context28.t0 = _context28["catch"](1);

              case 9:
                return _context28.abrupt("return", success);

              case 10:
              case "end":
                return _context28.stop();
            }
          }
        }, null, this, [[1, 7]], Promise);
      }
    }, {
      key: "clearQueues",
      value: function clearQueues() {
        this.resetPageCounters();
        this.resetPageHrCounters();

        if (this.downloadManager) {
          this.downloadManager.clearQueues();
        }
      }
    }, {
      key: "_handleLastPageNumberAndArticle",
      value: function _handleLastPageNumberAndArticle(newspaper) {
        var lastPageId;
        var _this$status = this.status,
            lastPageNumber = _this$status.lastPageNumber,
            lastArticleId = _this$status.lastArticleId;

        if (lastPageNumber) {
          if (newspaper) {
            var editionModel = newspaper.getEditionModel();

            if (editionModel) {
              var firstPage = editionModel.getFirstPage();

              if (firstPage && lastPageNumber !== firstPage.getPage()) {
                var lastPage = _pageUtils.default.getPageByPageNumber(editionModel.getPages(), lastPageNumber);

                if (lastPage) {
                  lastPageId = lastPage.getPageId();

                  if (lastArticleId) {
                    var _decodeArticleId = (0, _$$_REQUIRE(_dependencyMap[37]).decodeArticleId)(lastArticleId),
                        pageId = _decodeArticleId.pageId,
                        xmlId = _decodeArticleId.xmlId;

                    if (pageId === 0) {
                      var articles = lastPage.getArticles();

                      if (articles && articles.length > 0) {
                        var article = articles.find(function (currentArticle) {
                          return currentArticle.getXmlId() === xmlId;
                        });

                        if (article) {
                          this.status.setLastArticleId((0, _$$_REQUIRE(_dependencyMap[37]).getArticleId)(article));
                        } else {
                          this.status.resetLastArticleId();
                        }
                      }
                    }
                  }
                }
              }
            }
          } else {}
        }

        this.setCurrentPage(lastPageId);
      }
    }, {
      key: "checkResponseHeaders",
      value: function checkResponseHeaders(responseHeaders) {
        if (responseHeaders) {
          var warningHeader = responseHeaders["Ta-Validation-Warning"] || responseHeaders["ta-validation-warning"];

          if (warningHeader) {
            try {
              var params = JSON.parse(warningHeader);
              var warning = parseInt(params.warning || "0", 10);

              switch (warning) {
                case _$$_REQUIRE(_dependencyMap[38]).DOWNLOAD_WARNING_CODES.SUBSCRIPTION_WARNING:
                  _IAPHelper.default.autoRestoreSubscription();

                  break;

                case _$$_REQUIRE(_dependencyMap[38]).DOWNLOAD_WARNING_CODES.VALIDATION_WARNING:
                  if (params.edition) {
                    params.edition = _$$_REQUIRE(_dependencyMap[35]).StringUtils.decodeURIComponent(params.edition);
                  }

                  _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                    tab: _optionspageUtils.tabs.validation,
                    getParams: params
                  });

                  break;
              }
            } catch (e) {}
          }
        }
      }
    }, {
      key: "downloadNewspaper",
      value: function downloadNewspaper(issue, edition) {
        var _this4 = this;

        var success, downloadedDB, _this$status2, lastIssue, lastEdition, newspaper, currentNewspaper, changed, _global$getActivePSet2, paper, enableAppendFirstPages, enableSessionCollection, seeNewspaperPreview, disableLowSpeedLimit, lowSpeedLimit, maxZipsToDownloadEachRequest, demoIssue, loginStatus, showLoadInAdvance, synchronousCDNCall, result, appendFirstPages, _await$this$downloadM, db, rawPages, secret, speed, responseHeaders, pages, _loop, i, images, _i, editionModel, editionPages, advancedPagesFilenames, _i2, j, page, NO_GRANTS, NO_GRANTS_ALLOWED_IP, INVALID_ZIP, NO_ZIP, code, message, params, isAllowedIP, otherParams, getParams, _await$LoginManager$a, userid, purgeTask, loaded, _newspaper, dbStatus;

        return _regenerator.default.async(function downloadNewspaper$(_context30) {
          while (1) {
            switch (_context30.prev = _context30.next) {
              case 0:
                success = false;
                downloadedDB = false;
                this.clearQueues();
                this.advancedPagesNumber = 0;
                _this$status2 = this.status, lastIssue = _this$status2.lastIssue, lastEdition = _this$status2.lastEdition;

                if (!(lastIssue && lastEdition && (lastIssue !== issue || lastEdition !== edition))) {
                  _context30.next = 8;
                  break;
                }

                _context30.next = 8;
                return _regenerator.default.awrap(this.status.reset());

              case 8:
                _context30.next = 10;
                return _regenerator.default.awrap(this.getNewspaper(issue, edition));

              case 10:
                newspaper = _context30.sent;
                currentNewspaper = this.getCurrentNewspaper();
                changed = !(currentNewspaper && newspaper && newspaper.equals(currentNewspaper));

                _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_NEWSPAPER_LOADING, {
                  changed: changed
                });

                _global$getActivePSet2 = global.getActivePSetup(), paper = _global$getActivePSet2.paper, enableAppendFirstPages = _global$getActivePSet2.enableAppendFirstPages, enableSessionCollection = _global$getActivePSet2.enableSessionCollection, seeNewspaperPreview = _global$getActivePSet2.seeNewspaperPreview, disableLowSpeedLimit = _global$getActivePSet2.disableLowSpeedLimit, lowSpeedLimit = _global$getActivePSet2.lowSpeedLimit, maxZipsToDownloadEachRequest = _global$getActivePSet2.maxZipsToDownloadEachRequest, demoIssue = _global$getActivePSet2.demoIssue, loginStatus = _global$getActivePSet2.loginStatus;

                if (changed && enableSessionCollection) {
                  _$$_REQUIRE(_dependencyMap[39]).NewspaperSessionManager.flushActiveSession();
                }

                showLoadInAdvance = false;
                _context30.t0 = loginStatus;
                _context30.next = 20;
                return _regenerator.default.awrap(_IAPHelper.default.validateReceipt(loginStatus.receipt));

              case 20:
                if (!_context30.sent) {
                  _context30.next = 24;
                  break;
                }

                _context30.t1 = _IAPHelper.IAP_SECRET;
                _context30.next = 25;
                break;

              case 24:
                _context30.t1 = undefined;

              case 25:
                _context30.t2 = _context30.t1;

                _context30.t0.setIAPSecret.call(_context30.t0, _context30.t2);

                if (!_$$_REQUIRE(_dependencyMap[35]).NetworkUtils.isOnline()) {
                  _context30.next = 38;
                  break;
                }

                synchronousCDNCall = seeNewspaperPreview || !newspaper && issue === demoIssue;

                if (!synchronousCDNCall) {
                  _context30.next = 37;
                  break;
                }

                if (newspaper) {
                  _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_UPDATE_REQUESTED);
                } else {
                  _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.CLOSE_OPTIONSPAGE);

                  _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_DB_DOWNLOAD_STARTED);

                  showLoadInAdvance = true;
                }

                _context30.next = 33;
                return _regenerator.default.awrap(this.downloadManager.updateCDNStatus(issue, edition));

              case 33:
                result = _context30.sent;

                if (result) {
                  this.checkResponseHeaders(result.headers);
                }

                _context30.next = 38;
                break;

              case 37:
                this.downloadManager.updateCDNStatus(issue, edition).then(function (result) {
                  if (result) {
                    _this4.checkResponseHeaders(result.headers);
                  }
                });

              case 38:
                if (newspaper) {
                  _context30.next = 166;
                  break;
                }

                if (!showLoadInAdvance) {
                  _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.CLOSE_OPTIONSPAGE);

                  _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_DB_DOWNLOAD_STARTED);
                }

                _context30.prev = 40;
                appendFirstPages = enableAppendFirstPages && !_newsmemoryUtils.default.isModeLow();
                _context30.next = 44;
                return _regenerator.default.awrap(this.downloadManager.downloadEditionDB(issue, edition, appendFirstPages));

              case 44:
                _await$this$downloadM = _context30.sent;
                db = _await$this$downloadM.db;
                rawPages = _await$this$downloadM.pages;
                secret = _await$this$downloadM.secret;
                speed = _await$this$downloadM.speed;
                responseHeaders = _await$this$downloadM.responseHeaders;
                (0, _$$_REQUIRE(_dependencyMap[40]).sendNewsmemoryDownloadIpaddb)(paper, issue, edition, speed);
                this.checkResponseHeaders(responseHeaders);

                if (!disableLowSpeedLimit && speed > 0) {
                  if (speed < lowSpeedLimit) {
                    _Api.default.set2GTimeout();

                    this.lowSpeedDownload = true;
                  } else if (speed < 2 * lowSpeedLimit) {
                    _Api.default.set3GTimeout();

                    this.downloadMultiZips = 0;
                  } else {
                    _Api.default.set4GTimeout();

                    if (speed < 4 * lowSpeedLimit) {
                      this.maxZipsToDownloadEachRequest = 4;
                    } else if (speed < 8 * lowSpeedLimit) {
                      this.maxZipsToDownloadEachRequest = 8;
                    }
                  }

                  this.maxZipsToDownloadEachRequest = Math.min(this.maxZipsToDownloadEachRequest, maxZipsToDownloadEachRequest);
                }

                if (this.downloadManager) {
                  this.downloadManager.setHighPriorityQueuePoolSize(this.lowSpeedDownload);
                  this.downloadManager.setStandardQueuePoolSize(this.lowSpeedDownload);
                }

                if (!db) {
                  _context30.next = 95;
                  break;
                }

                downloadedDB = true;
                pages = [];

                if (!rawPages) {
                  _context30.next = 66;
                  break;
                }

                _loop = function _callee(i) {
                  var images, _rawPages$i, name, rawImages, page, watermarkPromises;

                  return _regenerator.default.async(function _callee$(_context29) {
                    while (1) {
                      switch (_context29.prev = _context29.next) {
                        case 0:
                          images = [];
                          _rawPages$i = rawPages[i], name = _rawPages$i.name, rawImages = _rawPages$i.images;
                          _context29.next = 4;
                          return _regenerator.default.awrap(_this4.getPageByFilename(db, name));

                        case 4:
                          page = _context29.sent;

                          if (!page) {
                            _context29.next = 13;
                            break;
                          }

                          watermarkPromises = [];
                          rawImages.forEach(function (rawImage) {
                            var imageName = rawImage.name,
                                imagePath = rawImage.path,
                                width = rawImage.width,
                                height = rawImage.height;
                            var image = new _EPaperImage.default();
                            image.setPageId(page.pageId);
                            image.setWidth(width);
                            image.setHeight(height);
                            image.setTypeByName(imageName);
                            var relativePathToImage = imagePath.replace(_tecnaviaFileUtils.default.getNewsmemoryBaseDirectory(), "./");
                            image.setBase64(relativePathToImage);
                            images.push(image);
                            watermarkPromises.push(_this4.downloadManager.addWatermark(imagePath, image, page));
                          });

                          if (!(watermarkPromises.length > 0)) {
                            _context29.next = 11;
                            break;
                          }

                          _context29.next = 11;
                          return _regenerator.default.awrap(Promise.all(watermarkPromises));

                        case 11:
                          page.setImages(images);
                          pages.push(page);

                        case 13:
                        case "end":
                          return _context29.stop();
                      }
                    }
                  }, null, null, null, Promise);
                };

                i = 0;

              case 60:
                if (!(i < rawPages.length)) {
                  _context30.next = 66;
                  break;
                }

                _context30.next = 63;
                return _regenerator.default.awrap(_loop(i));

              case 63:
                i++;
                _context30.next = 60;
                break;

              case 66:
                _context30.next = 68;
                return _regenerator.default.awrap(this.insertIssueDBIntoDatabases(db, issue, edition, secret, this.lowSpeedDownload ? _newsmemoryUtils.DownloadType.LOW_ONLY : undefined));

              case 68:
                if (!_context30.sent) {
                  _context30.next = 95;
                  break;
                }

                this.advancedPagesNumber = pages.length;

                if (!(this.advancedPagesNumber > 0)) {
                  _context30.next = 75;
                  break;
                }

                images = [];

                for (_i = 0; _i < this.advancedPagesNumber; _i++) {
                  images.push.apply(images, (0, _toConsumableArray2.default)(pages[_i].getImages()));
                }

                _context30.next = 75;
                return _regenerator.default.awrap(this.saveImagesInDB(db, images, true));

              case 75:
                _context30.next = 77;
                return _regenerator.default.awrap(this.getNewspaperFromDB(issue, edition));

              case 77:
                newspaper = _context30.sent;

                if (!(newspaper && !newspaper.isEmpty())) {
                  _context30.next = 95;
                  break;
                }

                editionModel = newspaper.getEditionModel();

                if (!editionModel) {
                  _context30.next = 93;
                  break;
                }

                editionPages = editionModel.getPages();
                advancedPagesFilenames = pages.map(function (page) {
                  return page.getFilename();
                });
                _i2 = 0, j = 0;

              case 84:
                if (!(_i2 < editionPages.length && j < advancedPagesFilenames.length)) {
                  _context30.next = 93;
                  break;
                }

                page = editionPages[_i2];

                if (!(page && advancedPagesFilenames.includes(page.getFilename()))) {
                  _context30.next = 90;
                  break;
                }

                _context30.next = 89;
                return _regenerator.default.awrap(this.downloadManager.generateTextPngFromImages(newspaper, page, page.getImages()));

              case 89:
                j += 1;

              case 90:
                _i2++;
                _context30.next = 84;
                break;

              case 93:
                this.setCurrentNewspaper(newspaper);
                success = true;

              case 95:
                _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_DB_DOWNLOAD_FINISHED);

                if (!success) {
                  _context30.next = 100;
                  break;
                }

                this._handleLastPageNumberAndArticle(newspaper);

                _context30.next = 103;
                break;

              case 100:
                _context30.next = 102;
                return _regenerator.default.awrap(this.deleteCurrentEditionDatabase());

              case 102:
                return _context30.abrupt("return", {
                  success: false,
                  downloadedDB: downloadedDB
                });

              case 103:
                _context30.next = 164;
                break;

              case 105:
                _context30.prev = 105;
                _context30.t3 = _context30["catch"](40);

                _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_DB_DOWNLOAD_FINISHED);

                if (!(_context30.t3 instanceof _$$_REQUIRE(_dependencyMap[38]).DownloadError)) {
                  _context30.next = 163;
                  break;
                }

                NO_GRANTS = _$$_REQUIRE(_dependencyMap[38]).DOWNLOAD_ERROR_CODES.NO_GRANTS, NO_GRANTS_ALLOWED_IP = _$$_REQUIRE(_dependencyMap[38]).DOWNLOAD_ERROR_CODES.NO_GRANTS_ALLOWED_IP, INVALID_ZIP = _$$_REQUIRE(_dependencyMap[38]).DOWNLOAD_ERROR_CODES.INVALID_ZIP, NO_ZIP = _$$_REQUIRE(_dependencyMap[38]).DOWNLOAD_ERROR_CODES.NO_ZIP;
                code = _context30.t3.code, message = _context30.t3.message, params = _context30.t3.params;
                isAllowedIP = params.isAllowedIP, otherParams = (0, _objectWithoutProperties2.default)(params, ["isAllowedIP"]);
                getParams = _optionspageUtils.default.getOptionspageGetParams(otherParams);

                if (!(code === NO_GRANTS)) {
                  _context30.next = 143;
                  break;
                }

                if (!(isAllowedIP && isAllowedIP === _$$_REQUIRE(_dependencyMap[35]).NetworkUtils.getIP())) {
                  _context30.next = 133;
                  break;
                }

                _context30.prev = 115;
                _context30.next = 118;
                return _regenerator.default.awrap(_LoginManager.default.autoLogin());

              case 118:
                _await$LoginManager$a = _context30.sent;
                userid = _await$LoginManager$a.userid;
                loginStatus.updateTAUID(userid);
                loginStatus.setIsAllowedIPUser(true);
                _context30.next = 130;
                break;

              case 124:
                _context30.prev = 124;
                _context30.t4 = _context30["catch"](115);

                _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                  tab: _optionspageUtils.tabs.validation,
                  getParams: getParams
                });

                _context30.next = 129;
                return _regenerator.default.awrap(this.status.reset());

              case 129:
                throw _context30.t3;

              case 130:
                throw new (_$$_REQUIRE(_dependencyMap[38]).DownloadError)(NO_GRANTS_ALLOWED_IP, "No grants but allowed IP");

              case 133:
                if (!(loginStatus.isLoggedIn() && loginStatus.isAllowedIPUser())) {
                  _context30.next = 137;
                  break;
                }

                _context30.next = 136;
                return _regenerator.default.awrap(_LoginManager.default.resetAllowedIP());

              case 136:
                if (!loginStatus.isLoggedIn()) {
                  getParams.valErrCode = _LoginManager.PROT_ERROR.NOT_LOGGEDIN;
                }

              case 137:
                _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                  tab: _optionspageUtils.tabs.validation,
                  getParams: getParams
                });

                _context30.next = 140;
                return _regenerator.default.awrap(this.status.reset());

              case 140:
                throw _context30.t3;

              case 141:
                _context30.next = 163;
                break;

              case 143:
                if (!(code === INVALID_ZIP)) {
                  _context30.next = 159;
                  break;
                }

                _context30.prev = 144;
                purgeTask = new _PurgeManager.default();
                _context30.next = 148;
                return _regenerator.default.awrap(purgeTask.purgeIssue(issue));

              case 148:
                this.removeNewspaper(newspaper);
                _context30.next = 153;
                break;

              case 151:
                _context30.prev = 151;
                _context30.t5 = _context30["catch"](144);

              case 153:
                _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                  tab: _optionspageUtils.tabs.home,
                  getParams: getParams
                });

                _context30.next = 156;
                return _regenerator.default.awrap(this.status.reset());

              case 156:
                throw _context30.t3;

              case 159:
                if (!(code === NO_ZIP)) {
                  _context30.next = 163;
                  break;
                }

                _context30.next = 162;
                return _regenerator.default.awrap(this.status.reset());

              case 162:
                throw _context30.t3;

              case 163:
                return _context30.abrupt("return", {
                  success: false,
                  downloadedDB: downloadedDB
                });

              case 164:
                _context30.next = 173;
                break;

              case 166:
                if (!newspaper.isEmpty()) {
                  _context30.next = 172;
                  break;
                }

                _context30.next = 169;
                return _regenerator.default.awrap(this.loadNewspaper(newspaper));

              case 169:
                loaded = _context30.sent;

                if (loaded) {
                  _context30.next = 172;
                  break;
                }

                throw new Error("Unable to reload newspaper model");

              case 172:
                if (!newspaper.isEmpty()) {
                  this.setCurrentNewspaper(newspaper);
                  _newspaper = newspaper, dbStatus = _newspaper.dbStatus;

                  if (dbStatus === _NewspaperIssue.DBStatus.PAPER_BACKGROUND_DOWNLOADED) {}

                  this._handleLastPageNumberAndArticle(newspaper);

                  success = true;
                }

              case 173:
                this.currentDownloadRef = Math.round(Math.random() * 1000000);
                this.downloadManager.startHighResDownloadQueue(this.lowSpeedDownload || !newspaper.isNewspaperCompleteForMode());

                if (success) {
                  this.updatePageVisibility(newspaper);

                  if (changed) {
                    _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_NEWSPAPER_CHANGED, {
                      newspaper: newspaper
                    });
                  }
                }

                return _context30.abrupt("return", {
                  success: success,
                  downloadedDB: downloadedDB
                });

              case 177:
              case "end":
                return _context30.stop();
            }
          }
        }, null, this, [[40, 105], [115, 124], [144, 151]], Promise);
      }
    }, {
      key: "loadPagesLow",
      value: function loadPagesLow() {
        var _this5 = this;

        var currentNewspaper = this.getCurrentNewspaper();

        if (currentNewspaper && this.downloadManager) {
          var operations = [];

          var _pages = currentNewspaper.getPages();

          _pages.forEach(function (page, index) {
            var lowImage = _this5.downloadManager.checkPageComponentsToDownload(page).find(function (image) {
              return image.isLow();
            });

            if (lowImage) {
              var lowPriority = 3 + (index === 0 ? 6 : 0);
              operations.push(new _SingleImageDownloadOperation.default({
                page: page,
                image: lowImage
              }, lowPriority, _this5.currentDownloadRef));
            }
          });

          this.loadPagesOperations(operations);
        }
      }
    }, {
      key: "loadPagesComponents",
      value: function loadPagesComponents() {
        var _this6 = this;

        var currentNewspaper = this.getCurrentNewspaper();

        if (currentNewspaper && this.downloadManager) {
          var operations = [];

          var _pages2 = currentNewspaper.getPages();

          var operationsIndex = 0;

          _pages2.forEach(function (page) {
            var imagesToDownload = _this6.downloadManager.checkPageComponentsToDownload(page);

            if (imagesToDownload.length > 1) {
              if (_this6.downloadMultiZips) {
                if (!operations[operationsIndex]) {
                  operations[operationsIndex] = new _MultiZipDownloadOperation.default([], 1, _this6.currentDownloadRef);
                }

                if (operations[operationsIndex].getNumberOfPages() === _this6.maxZipsToDownloadEachRequest) {
                  operationsIndex += 1;
                  operations[operationsIndex] = new _MultiZipDownloadOperation.default([], 1, _this6.currentDownloadRef);
                }

                operations[operationsIndex].addPage(page);
              } else {
                operations[operationsIndex] = new _SingleZipDownloadOperation.default(page, 0, _this6.currentDownloadRef);
                operationsIndex += 1;
              }
            } else if (imagesToDownload.length === 1) {
              operations[operationsIndex] = new _SingleImageDownloadOperation.default({
                page: page,
                image: imagesToDownload[0]
              }, 0, _this6.currentDownloadRef);
              operationsIndex += 1;
            } else {
              _this6.downloadOperations += 1;
              _this6.downloadOperationsWeight += 1;
              _this6.completedDownloadOperations += 1;
              _this6.completedDownloadOperationsWeight += 1;
            }
          });

          this.loadPagesOperations(operations);
        }
      }
    }, {
      key: "loadPagesOperations",
      value: function loadPagesOperations(operations) {
        var _this7 = this;

        var _loop2 = function _loop2(i) {
          var operation = operations[i];
          var priority = operation.getPriority();
          var resource = operation.getResource();
          _this7.downloadOperations += 1;
          _this7.downloadOperationsWeight += operation.getWeight();

          if (operation instanceof _MultiZipDownloadOperation.default) {
            _this7.downloadMultiZip(resource, 1).then(function (images) {
              if (images && images.length > 0) {} else {
                _this7.failedDownloadOperations++;
              }

              _this7.updateCompletedDownloadOperations(operation);
            });
          } else if (operation instanceof _SingleZipDownloadOperation.default) {
            _this7.downloadSingleZip(resource, priority).then(function (images) {
              if (images && images.length > 0) {} else {
                _this7.failedDownloadOperations++;
              }

              _this7.updateCompletedDownloadOperations(operation);
            });
          } else if (operation instanceof _SingleHRZipDownloadOperation.default) {
            _this7.downloadHRImages(resource, priority).then(function (images) {
              if (images && images.length > 0) {} else {
                _this7.failedDownloadOperations++;
              }

              _this7.updateCompletedDownloadOperations(operation);
            });
          } else if (operation instanceof _SingleImageDownloadOperation.default) {
            var page = resource.page,
                image = resource.image;

            _this7.downloadSingleImage(page, image, priority).then(function (downloadedImage) {
              if (downloadedImage) {} else {
                _this7.failedDownloadOperations++;
              }

              _this7.updateCompletedDownloadOperations(operation);
            });
          }
        };

        for (var i = 0; i < operations.length; i++) {
          _loop2(i);
        }
      }
    }, {
      key: "loadPagesHRComponents",
      value: function loadPagesHRComponents() {
        var _this8 = this;

        var currentNewspaper = this.getCurrentNewspaper();

        if (currentNewspaper) {
          var operations = [];

          var _pages3 = currentNewspaper.getPages();

          _pages3.forEach(function (page) {
            if (_this8.downloadManager.checkPageHRImagesToDownload(page).length > 0) {
              operations.push(new _SingleHRZipDownloadOperation.default(page, 0, _this8.currentDownloadRef));
            } else {
              _this8.downloadOperations += 1;
              _this8.downloadOperationsWeight += 1;
              _this8.completedDownloadOperations += 1;
              _this8.completedDownloadOperationsWeight += 1;
            }
          });

          this.loadPagesOperations(operations);
        }
      }
    }, {
      key: "downloadMultiZip",
      value: function downloadMultiZip(pages) {
        var priority,
            _args31 = arguments;
        return _regenerator.default.async(function downloadMultiZip$(_context31) {
          while (1) {
            switch (_context31.prev = _context31.next) {
              case 0:
                priority = _args31.length > 1 && _args31[1] !== undefined ? _args31[1] : 0;
                return _context31.abrupt("return", this.downloadManager.loadMultiZipInQueue(this.getCurrentNewspaper(), pages, false, priority));

              case 2:
              case "end":
                return _context31.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "downloadSingleZip",
      value: function downloadSingleZip(page) {
        var priority,
            _args32 = arguments;
        return _regenerator.default.async(function downloadSingleZip$(_context32) {
          while (1) {
            switch (_context32.prev = _context32.next) {
              case 0:
                priority = _args32.length > 1 && _args32[1] !== undefined ? _args32[1] : 0;
                return _context32.abrupt("return", this.downloadManager.loadZipInQueue(this.getCurrentNewspaper(), page, false, priority));

              case 2:
              case "end":
                return _context32.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "downloadHRImages",
      value: function downloadHRImages(page) {
        var priority,
            _args33 = arguments;
        return _regenerator.default.async(function downloadHRImages$(_context33) {
          while (1) {
            switch (_context33.prev = _context33.next) {
              case 0:
                priority = _args33.length > 1 && _args33[1] !== undefined ? _args33[1] : 0;
                return _context33.abrupt("return", this.downloadManager.loadHRImagesInQueue(this.getCurrentNewspaper(), page, false, priority));

              case 2:
              case "end":
                return _context33.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "downloadSingleImage",
      value: function downloadSingleImage(page, image) {
        var priority,
            _args34 = arguments;
        return _regenerator.default.async(function downloadSingleImage$(_context34) {
          while (1) {
            switch (_context34.prev = _context34.next) {
              case 0:
                priority = _args34.length > 2 && _args34[2] !== undefined ? _args34[2] : 0;
                return _context34.abrupt("return", this.downloadManager.loadImageInQueue(this.getCurrentNewspaper(), page, image, false, priority));

              case 2:
              case "end":
                return _context34.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "downloadThumbnailImageOnQueue",
      value: function downloadThumbnailImageOnQueue(page, image) {
        return _regenerator.default.async(function downloadThumbnailImageOnQueue$(_context35) {
          while (1) {
            switch (_context35.prev = _context35.next) {
              case 0:
                return _context35.abrupt("return", this.downloadManager.loadThumbnailInQueue(this.getCurrentNewspaper(), page, image));

              case 1:
              case "end":
                return _context35.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "clearThumbnailQueue",
      value: function clearThumbnailQueue() {
        this.downloadManager.clearThumbnailQueue();
      }
    }, {
      key: "getCurrentVersionOfPage",
      value: function getCurrentVersionOfPage(page) {
        var filename = page.filename;
        var currentNewspaper = this.getCurrentNewspaper();

        if (currentNewspaper) {
          var edition = currentNewspaper.getEditionModel();

          if (edition) {
            return edition.getPages(true).find(function (_ref6) {
              var currentFilename = _ref6.filename;
              return currentFilename === filename;
            });
          }
        }

        return undefined;
      }
    }, {
      key: "analyzePagesToUpdate",
      value: function analyzePagesToUpdate(updatedPages) {
        var metadataChanged = [];
        var pagesChanged = [];
        var pagesAdded = [];
        var pagesDeleted = [];

        for (var i = 0; i < updatedPages.length; i++) {
          var updatedPage = updatedPages[i];
          var currentPage = this.getCurrentVersionOfPage(updatedPage);

          if (currentPage) {
            if (currentPage.modifyTime === updatedPage.modifyTime) {
              if (!_pageUtils.default.comparePages(currentPage, updatedPage)) {
                metadataChanged.push({
                  oldPage: currentPage,
                  newPage: updatedPage
                });
              }
            } else {
              pagesChanged.push({
                oldPage: currentPage,
                newPage: updatedPage
              });
            }
          } else {
            pagesAdded.push(updatedPage);
          }
        }

        if (this.getCurrentNewspaper() && this.getCurrentNewspaper().getEditionModel()) {
          var currentPages = this.getCurrentNewspaper().getEditionModel().getPages();

          var _loop3 = function _loop3(_i3) {
            var currentPage = currentPages[_i3];
            var currentFilename = currentPage.filename;

            if (!updatedPages.find(function (_ref7) {
              var filename = _ref7.filename;
              return currentFilename === filename;
            })) {
              pagesDeleted.push(currentPage);
            }
          };

          for (var _i3 = 0; _i3 < currentPages.length; _i3++) {
            _loop3(_i3);
          }
        }

        return {
          metadataChanged: metadataChanged,
          pagesChanged: pagesChanged,
          pagesAdded: pagesAdded,
          pagesDeleted: pagesDeleted
        };
      }
    }, {
      key: "updatePageMetadata",
      value: function updatePageMetadata(currentPage, updatedPage) {
        return _regenerator.default.async(function updatePageMetadata$(_context36) {
          while (1) {
            switch (_context36.prev = _context36.next) {
              case 0:
                updatedPage.setPageId(currentPage.getPageId());
                updatedPage.setIssueId(currentPage.getIssueId());
                updatedPage.setImages(currentPage.getImages());
                updatedPage.setArticles(currentPage.getArticles());

                if (this.getCurrentNewspaper() && this.getCurrentNewspaper().getEditionModel()) {
                  this.getCurrentNewspaper().getEditionModel().updatePage(updatedPage);
                }

                _context36.next = 7;
                return _regenerator.default.awrap(this.savePage(updatedPage));

              case 7:
              case "end":
                return _context36.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "replacePage",
      value: function replacePage(currentPage, updatedPage) {
        var _this$getCurrentNewsp, editionModel, dbFilename, articles, updatedPageFromDb;

        return _regenerator.default.async(function replacePage$(_context37) {
          while (1) {
            switch (_context37.prev = _context37.next) {
              case 0:
                _context37.prev = 0;
                _this$getCurrentNewsp = this.getCurrentNewspaper(), editionModel = _this$getCurrentNewsp.editionModel, dbFilename = _this$getCurrentNewsp.dbFilename;
                _context37.next = 4;
                return _regenerator.default.awrap(this.retrieveArticlesForPages(updatedPage.getFilename()));

              case 4:
                articles = _context37.sent;

                if (!(articles && articles.length)) {
                  _context37.next = 25;
                  break;
                }

                _context37.next = 8;
                return _regenerator.default.awrap(this.removePage(currentPage));

              case 8:
                updatedPage.setIssueId(editionModel.getIssueId());
                _context37.next = 11;
                return _regenerator.default.awrap(this.insertPage(updatedPage));

              case 11:
                _context37.next = 13;
                return _regenerator.default.awrap(this.getPageByFilename(dbFilename, updatedPage.getFilename()));

              case 13:
                updatedPageFromDb = _context37.sent;

                if (!updatedPageFromDb) {
                  _context37.next = 23;
                  break;
                }

                articles.forEach(function (article) {
                  article.setPageId(updatedPageFromDb.getPageId());
                });
                _context37.next = 18;
                return _regenerator.default.awrap(this.editionsManager.saveArticles(articles));

              case 18:
                updatedPageFromDb.setArticles(articles);
                updatedPageFromDb.setImages([]);
                editionModel.updatePage(updatedPageFromDb);
                _context37.next = 23;
                break;

              case 23:
                _context37.next = 25;
                break;

              case 25:
                _context37.next = 29;
                break;

              case 27:
                _context37.prev = 27;
                _context37.t0 = _context37["catch"](0);

              case 29:
              case "end":
                return _context37.stop();
            }
          }
        }, null, this, [[0, 27]], Promise);
      }
    }, {
      key: "addPage",
      value: function addPage(page) {
        var _this$getCurrentNewsp2, editionModel, dbFilename, newPage, articles;

        return _regenerator.default.async(function addPage$(_context38) {
          while (1) {
            switch (_context38.prev = _context38.next) {
              case 0:
                _this$getCurrentNewsp2 = this.getCurrentNewspaper(), editionModel = _this$getCurrentNewsp2.editionModel, dbFilename = _this$getCurrentNewsp2.dbFilename;
                page.setIssueId(editionModel.getIssueId());
                _context38.prev = 2;
                _context38.next = 5;
                return _regenerator.default.awrap(this.insertPage(page));

              case 5:
                _context38.next = 7;
                return _regenerator.default.awrap(this.getPageByFilename(dbFilename, page.getFilename()));

              case 7:
                newPage = _context38.sent;

                if (!newPage) {
                  _context38.next = 21;
                  break;
                }

                editionModel.updatePage(newPage);
                _context38.next = 12;
                return _regenerator.default.awrap(this.retrieveArticlesForPages(newPage.getFilename()));

              case 12:
                _context38.t0 = _context38.sent;

                if (_context38.t0) {
                  _context38.next = 15;
                  break;
                }

                _context38.t0 = [];

              case 15:
                articles = _context38.t0;
                articles.forEach(function (article) {
                  article.setPageId(newPage.getPageId());
                });
                _context38.next = 19;
                return _regenerator.default.awrap(this.editionsManager.saveArticles(articles));

              case 19:
                newPage.setArticles(articles);
                newPage.setImages([]);

              case 21:
                _context38.next = 25;
                break;

              case 23:
                _context38.prev = 23;
                _context38.t1 = _context38["catch"](2);

              case 25:
              case "end":
                return _context38.stop();
            }
          }
        }, null, this, [[2, 23]], Promise);
      }
    }, {
      key: "retrieveArticlesForPages",
      value: function retrieveArticlesForPages(pageFileName) {
        var _this$getCurrentNewsp3, editionModel, secret, articles;

        return _regenerator.default.async(function retrieveArticlesForPages$(_context39) {
          while (1) {
            switch (_context39.prev = _context39.next) {
              case 0:
                _context39.prev = 0;
                _this$getCurrentNewsp3 = this.getCurrentNewspaper(), editionModel = _this$getCurrentNewsp3.editionModel, secret = _this$getCurrentNewsp3.dbSecret;
                _context39.next = 4;
                return _regenerator.default.awrap(_DownloadManager.default.downloadArticles(editionModel.getIssue(), editionModel.getEdition(), pageFileName, secret));

              case 4:
                articles = _context39.sent;
                return _context39.abrupt("return", articles);

              case 8:
                _context39.prev = 8;
                _context39.t0 = _context39["catch"](0);
                return _context39.abrupt("return", undefined);

              case 11:
              case "end":
                return _context39.stop();
            }
          }
        }, null, this, [[0, 8]], Promise);
      }
    }, {
      key: "closeCurrentEditionDatabase",
      value: function closeCurrentEditionDatabase() {
        return _regenerator.default.async(function closeCurrentEditionDatabase$(_context40) {
          while (1) {
            switch (_context40.prev = _context40.next) {
              case 0:
                _context40.next = 2;
                return _regenerator.default.awrap(this.editionsManager.closeDatabase());

              case 2:
                return _context40.abrupt("return", true);

              case 3:
              case "end":
                return _context40.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "deleteCurrentEditionDatabase",
      value: function deleteCurrentEditionDatabase() {
        return _regenerator.default.async(function deleteCurrentEditionDatabase$(_context41) {
          while (1) {
            switch (_context41.prev = _context41.next) {
              case 0:
                _context41.next = 2;
                return _regenerator.default.awrap(this.editionsManager.closeDatabase());

              case 2:
                _context41.next = 4;
                return _regenerator.default.awrap(this.editionsManager.deleteDatabase());

              case 4:
                return _context41.abrupt("return", true);

              case 5:
              case "end":
                return _context41.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_refreshEdition",
      value: function _refreshEdition() {
        var _this9 = this;

        var newspaper,
            paper,
            issue,
            edition,
            onCancel,
            onRetry,
            onReset,
            _await$this$downloadN,
            success,
            NO_ZIP,
            code,
            params,
            getParams,
            _args43 = arguments;

        return _regenerator.default.async(function _refreshEdition$(_context43) {
          while (1) {
            switch (_context43.prev = _context43.next) {
              case 0:
                newspaper = _args43.length > 0 && _args43[0] !== undefined ? _args43[0] : this.getCurrentNewspaper();

                if (!newspaper) {
                  _context43.next = 32;
                  break;
                }

                this.removeNewspaper(newspaper);
                paper = newspaper.getPaper();
                issue = newspaper.getIssue();
                edition = newspaper.getEdition();
                _context43.prev = 6;
                _context43.next = 9;
                return _regenerator.default.awrap(_NewsmemoryDatabasesManager.default.deleteIssue(paper, issue, edition));

              case 9:
                _context43.next = 11;
                return _regenerator.default.awrap(this.deleteCurrentEditionDatabase());

              case 11:
                _context43.next = 13;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unlink("" + _NewsmemoryDatabasesManager.default.getNewspaperIssueDirectory(paper, issue)));

              case 13:
                _TranslationManager.default.resetTranslationsForIssue(newspaper);

                _context43.next = 18;
                break;

              case 16:
                _context43.prev = 16;
                _context43.t0 = _context43["catch"](6);

              case 18:
                onCancel = function onCancel() {
                  _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                    tab: _optionspageUtils.tabs.home,
                    getParams: {
                      edition: edition
                    }
                  });
                };

                onRetry = function onRetry() {
                  _this9.refreshEdition(newspaper);
                };

                onReset = function _callee2() {
                  return _regenerator.default.async(function _callee2$(_context42) {
                    while (1) {
                      switch (_context42.prev = _context42.next) {
                        case 0:
                          _context42.next = 2;
                          return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[41]).deleteData)());

                        case 2:
                          _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_DOWNLOAD_EDITION, {
                            issue: issue,
                            edition: edition
                          });

                        case 3:
                        case "end":
                          return _context42.stop();
                      }
                    }
                  }, null, null, null, Promise);
                };

                _context43.prev = 21;
                _context43.next = 24;
                return _regenerator.default.awrap(this.downloadNewspaper(issue, edition));

              case 24:
                _await$this$downloadN = _context43.sent;
                success = _await$this$downloadN.success;

                if (success) {
                  this.loadPages(true);
                } else {
                  _newsmemoryUtils.default.showDownloadDBErrorDialog(issue, edition, onRetry, onCancel, onReset);
                }

                _context43.next = 32;
                break;

              case 29:
                _context43.prev = 29;
                _context43.t1 = _context43["catch"](21);

                if (_context43.t1 instanceof _$$_REQUIRE(_dependencyMap[38]).DownloadError) {
                  NO_ZIP = _$$_REQUIRE(_dependencyMap[38]).DOWNLOAD_ERROR_CODES.NO_ZIP;
                  code = _context43.t1.code, params = _context43.t1.params;

                  if (code === NO_ZIP) {
                    getParams = _optionspageUtils.default.getOptionspageGetParams(params);

                    _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                      tab: _optionspageUtils.tabs.home,
                      getParams: getParams
                    });
                  }
                } else {
                  _newsmemoryUtils.default.showDownloadDBErrorDialog(issue, edition, onRetry, onCancel, onReset);
                }

              case 32:
              case "end":
                return _context43.stop();
            }
          }
        }, null, this, [[6, 16], [21, 29]], Promise);
      }
    }, {
      key: "updateIndex",
      value: function updateIndex() {
        var success, currentNewspaper, _global$getActivePSet3, seeNewspaperPreview, _await$this$downloadM2, index, customIndex, newsmemoryLiteIssue, editionModel, customIndexChanged, currentCustomIndexMTime, serverCustomIndexMTime, wasLite, issueId, isLite, updatedPages, _this$analyzePagesToU, metadataChanged, pagesChanged, pagesAdded, pagesDeleted, totalChangedOrAdded, percentageOfChanges, _global$getActivePSet4, updateDBPercentage, totalChanged, needUpdate, i, _metadataChanged$i, oldPage, newPage, _i4, _pagesChanged$_i, _oldPage, _newPage, _i5, _i6, lastPageNumber;

        return _regenerator.default.async(function updateIndex$(_context44) {
          while (1) {
            switch (_context44.prev = _context44.next) {
              case 0:
                success = false;
                _context44.prev = 1;
                currentNewspaper = this.getCurrentNewspaper();
                _global$getActivePSet3 = global.getActivePSetup(), seeNewspaperPreview = _global$getActivePSet3.seeNewspaperPreview;

                if (!seeNewspaperPreview) {
                  _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_UPDATE_REQUESTED);
                }

                _context44.next = 7;
                return _regenerator.default.awrap(this.downloadManager.downloadIndex(currentNewspaper));

              case 7:
                _await$this$downloadM2 = _context44.sent;
                index = _await$this$downloadM2.index;
                customIndex = _await$this$downloadM2.customIndex;
                newsmemoryLiteIssue = _await$this$downloadM2.newsmemoryLiteIssue;
                editionModel = currentNewspaper.getEditionModel();
                customIndexChanged = false;

                if (editionModel.getCustomIndexHtml() && customIndex && customIndex.mtime) {
                  currentCustomIndexMTime = editionModel.getCustomIndexModifyTime() >> 1 << 1;
                  serverCustomIndexMTime = parseInt(customIndex.mtime, 10) >> 1 << 1;
                  customIndexChanged = currentCustomIndexMTime !== serverCustomIndexMTime;
                } else if (customIndex && customIndex.mtime) {
                  customIndexChanged = true;
                }

                wasLite = editionModel.isLite;
                issueId = editionModel.getIssueId();
                isLite = newsmemoryLiteIssue === 1;
                editionModel.setIsLite(isLite);

                if (!(wasLite && !isLite)) {
                  _context44.next = 23;
                  break;
                }

                _context44.next = 21;
                return _regenerator.default.awrap(this.editionsManager.removeLite(issueId));

              case 21:
                _context44.next = 26;
                break;

              case 23:
                if (!(!wasLite && isLite)) {
                  _context44.next = 26;
                  break;
                }

                _context44.next = 26;
                return _regenerator.default.awrap(this.editionsManager.addLite(issueId, isLite));

              case 26:
                updatedPages = _NewsmemoryToDTO.default.parseIndex(index);
                _this$analyzePagesToU = this.analyzePagesToUpdate(updatedPages), metadataChanged = _this$analyzePagesToU.metadataChanged, pagesChanged = _this$analyzePagesToU.pagesChanged, pagesAdded = _this$analyzePagesToU.pagesAdded, pagesDeleted = _this$analyzePagesToU.pagesDeleted;
                totalChangedOrAdded = metadataChanged.length + pagesChanged.length + pagesAdded.length;
                percentageOfChanges = totalChangedOrAdded / updatedPages.length * 100;
                _global$getActivePSet4 = global.getActivePSetup(), updateDBPercentage = _global$getActivePSet4.updateDBPercentage;

                if (!(percentageOfChanges > updateDBPercentage || customIndexChanged)) {
                  _context44.next = 34;
                  break;
                }

                this.refreshEdition();
                return _context44.abrupt("return", false);

              case 34:
                totalChanged = totalChangedOrAdded + pagesDeleted.length;
                needUpdate = totalChanged > 0 || wasLite !== isLite;

                _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_UPDATE_STARTED, {
                  needUpdate: needUpdate
                });

                if (!(totalChanged > 0)) {
                  _context44.next = 73;
                  break;
                }

                i = 0;

              case 39:
                if (!(i < metadataChanged.length)) {
                  _context44.next = 46;
                  break;
                }

                _metadataChanged$i = metadataChanged[i], oldPage = _metadataChanged$i.oldPage, newPage = _metadataChanged$i.newPage;
                _context44.next = 43;
                return _regenerator.default.awrap(this.updatePageMetadata(oldPage, newPage));

              case 43:
                i++;
                _context44.next = 39;
                break;

              case 46:
                _i4 = 0;

              case 47:
                if (!(_i4 < pagesChanged.length)) {
                  _context44.next = 54;
                  break;
                }

                _pagesChanged$_i = pagesChanged[_i4], _oldPage = _pagesChanged$_i.oldPage, _newPage = _pagesChanged$_i.newPage;
                _context44.next = 51;
                return _regenerator.default.awrap(this.replacePage(_oldPage, _newPage));

              case 51:
                _i4++;
                _context44.next = 47;
                break;

              case 54:
                _i5 = 0;

              case 55:
                if (!(_i5 < pagesAdded.length)) {
                  _context44.next = 61;
                  break;
                }

                _context44.next = 58;
                return _regenerator.default.awrap(this.addPage(pagesAdded[_i5]));

              case 58:
                _i5++;
                _context44.next = 55;
                break;

              case 61:
                _i6 = 0;

              case 62:
                if (!(_i6 < pagesDeleted.length)) {
                  _context44.next = 70;
                  break;
                }

                _context44.next = 65;
                return _regenerator.default.awrap(this.removePage(pagesDeleted[_i6]));

              case 65:
                lastPageNumber = this.status.lastPageNumber;

                if (lastPageNumber === pagesDeleted[_i6].getPage()) {
                  this.getStatus().resetLastPageNumber();
                  this.getStatus().resetLastArticleId();
                }

              case 67:
                _i6++;
                _context44.next = 62;
                break;

              case 70:
                if (!(pagesAdded.length + pagesChanged.length > 0)) {
                  _context44.next = 73;
                  break;
                }

                _context44.next = 73;
                return _regenerator.default.awrap(this.updateNewspaperStatus(_NewspaperIssue.DBStatus.DB_DOWNLOADED));

              case 73:
                success = true;
                _context44.next = 80;
                break;

              case 76:
                _context44.prev = 76;
                _context44.t0 = _context44["catch"](1);
                _context44.next = 80;
                return _regenerator.default.awrap(this._handleDownloadError(_context44.t0));

              case 80:
                return _context44.abrupt("return", success);

              case 81:
              case "end":
                return _context44.stop();
            }
          }
        }, null, this, [[1, 76]], Promise);
      }
    }, {
      key: "_handleDownloadError",
      value: function _handleDownloadError(e) {
        var NO_GRANTS, code, params, extraParams, editionEncoded, rest, getParams, _global$getActivePSet5, loginStatus, _newspaper2, purgeTask;

        return _regenerator.default.async(function _handleDownloadError$(_context45) {
          while (1) {
            switch (_context45.prev = _context45.next) {
              case 0:
                if (!(e instanceof _$$_REQUIRE(_dependencyMap[38]).DownloadError)) {
                  _context45.next = 26;
                  break;
                }

                NO_GRANTS = _$$_REQUIRE(_dependencyMap[38]).DOWNLOAD_ERROR_CODES.NO_GRANTS;
                code = e.code, params = e.params;

                if (!(code === NO_GRANTS)) {
                  _context45.next = 26;
                  break;
                }

                extraParams = params.extraParams, editionEncoded = params.edition, rest = (0, _objectWithoutProperties2.default)(params, ["extraParams", "edition"]);
                getParams = (0, _extends2.default)({}, rest, _$$_REQUIRE(_dependencyMap[35]).StringUtils.parseQuerystring(extraParams));

                if (editionEncoded) {
                  getParams.edition = _$$_REQUIRE(_dependencyMap[35]).StringUtils.decodeURIComponent(editionEncoded);
                }

                _global$getActivePSet5 = global.getActivePSetup(), loginStatus = _global$getActivePSet5.loginStatus;

                if (!(loginStatus.isLoggedIn() && loginStatus.isAllowedIPUser())) {
                  _context45.next = 12;
                  break;
                }

                _context45.next = 11;
                return _regenerator.default.awrap(_LoginManager.default.resetAllowedIP());

              case 11:
                if (!loginStatus.isLoggedIn()) {
                  getParams.valErrCode = _LoginManager.PROT_ERROR.NOT_LOGGEDIN;
                }

              case 12:
                _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                  tab: _optionspageUtils.tabs.validation,
                  getParams: getParams
                });

                _newspaper2 = this.getCurrentNewspaper();

                if (!_newspaper2) {
                  _context45.next = 24;
                  break;
                }

                _context45.prev = 15;
                purgeTask = new _PurgeManager.default();
                _context45.next = 19;
                return _regenerator.default.awrap(purgeTask.purgeIssue(getParams.issue));

              case 19:
                this.removeNewspaper(_newspaper2);
                _context45.next = 24;
                break;

              case 22:
                _context45.prev = 22;
                _context45.t0 = _context45["catch"](15);

              case 24:
                _context45.next = 26;
                return _regenerator.default.awrap(this.status.reset());

              case 26:
              case "end":
                return _context45.stop();
            }
          }
        }, null, this, [[15, 22]], Promise);
      }
    }, {
      key: "_updateCallback",
      value: function _updateCallback(updated) {
        _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_UPDATE_FINISHED, {
          success: updated
        });

        if (updated) {
          var currentNewspaper = this.getCurrentNewspaper();

          if (currentNewspaper) {
            if (!currentNewspaper.isNewspaperCompleteForMode() || this.downloadFullEditionActive) {
              _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_DOWNLOAD_PROGRESS, {
                progress: 0
              });
            }

            var network = this.downloadFullEditionActive ? _newsmemoryUtils.DownloadType.FULL : currentNewspaper.getDbNetwork();
            this.triggerInitialDownload(network);
          }
        } else {}
      }
    }, {
      key: "loadPages",
      value: function loadPages() {
        var _this10 = this;

        var skipUpdate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;

        if (_$$_REQUIRE(_dependencyMap[35]).NetworkUtils.isOnline()) {
          var currentNewspaper = this.getCurrentNewspaper();

          if (currentNewspaper) {
            if (!skipUpdate) {
              this.updateIndex().then(this.updateCallback);
            } else {
              _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_NEWSPAPER_LOADED, {
                status: currentNewspaper.getStatus()
              });

              if (_$$_REQUIRE(_dependencyMap[35]).NetworkUtils.isCellular() && _newsmemoryUtils.default.isModeFull()) {
                var buttons = [];
                buttons.push({
                  text: global.strings("btn_cancel"),
                  onPress: function onPress() {
                    _this10.triggerInitialDownload(_newsmemoryUtils.DownloadType.MID_AND_LOW);
                  }
                });
                buttons.push({
                  text: global.strings("btn_ok"),
                  onPress: this.triggerInitialDownload
                });

                _reactNative.Alert.alert(global.strings("mobile_network_warning"), global.strings("offline_download_dialog"), buttons, {
                  cancelable: false
                });
              } else {
                this.triggerInitialDownload(currentNewspaper.getDbNetwork());
              }
            }
          }
        } else {
          _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_UPDATE_FINISHED, {
            success: false
          });

          this.triggerInitialDownload();
        }
      }
    }, {
      key: "_getDownloadProgress",
      value: function _getDownloadProgress() {
        var progress = 0;

        if (this.downloadOperationsWeight > 0) {
          progress = this.completedDownloadOperationsWeight / this.downloadOperationsWeight;
        }

        return progress;
      }
    }, {
      key: "_triggerInitialDownload",
      value: function _triggerInitialDownload(network) {
        var _this11 = this;

        var networkToUse = network;

        var isHighSpeedNetwork = _$$_REQUIRE(_dependencyMap[35]).NetworkUtils.isHighSpeedNetwork();

        if (this.lowSpeedDownload || !isHighSpeedNetwork) {
          networkToUse = _newsmemoryUtils.DownloadType.LOW_ONLY;
        } else if (!network) {
          networkToUse = global.getNewsmemoryConfig().network;
        } else if (isHighSpeedNetwork && _newsmemoryUtils.default.isModeLow(network)) {
          networkToUse = global.getNewsmemoryConfig().network;
        }

        if (_$$_REQUIRE(_dependencyMap[35]).NetworkUtils.isOnline()) {
          this.updateNewspaperNetwork(networkToUse);

          if (_newsmemoryUtils.default.isModeLow(networkToUse)) {
            this.loadPagesLow();
          } else {
            this.loadPagesComponents();

            if (_newsmemoryUtils.default.isModeFull(networkToUse)) {
              this.loadPagesHRComponents();
            }
          }

          if (this.downloadManager && this.downloadManager.getStandardPriorityQueueLength() > 0) {
            if (this.advancedPagesNumber > 0) {
              this.downloadOperations += 1;
              this.downloadOperationsWeight += this.advancedPagesNumber;
              this.completedDownloadOperations += 1;
              this.completedDownloadOperationsWeight += this.advancedPagesNumber;
            }

            var startProgress = this.getDownloadProgress();

            _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_INITIAL_DOWNLOAD_STARTED, {
              startProgress: startProgress
            });

            this.downloadManager.startStandardPriorityQueue();
            this.downloadManager.onStandardPriorityQueueIdle().then(function () {
              if (_this11.downloadOperations > 0 && _this11.completedDownloadOperations >= _this11.downloadOperations - 1) {
                if (_this11.downloadManager) {
                  _this11.downloadManager.pauseStandardPriorityQueue();

                  _this11.downloadManager.increaseHighResDownloadQueueConcurrency();
                }

                var newDbStatus = _NewspaperIssue.DBStatus.DB_DOWNLOADED;

                var currentNewspaper = _this11.getCurrentNewspaper();

                if (currentNewspaper) {
                  newDbStatus = currentNewspaper.getStatus();

                  if (_this11.failedDownloadOperations === 0) {
                    newDbStatus = _newsmemoryUtils.default.isModeFull(networkToUse) ? _NewspaperIssue.DBStatus.HIGH_RES_DOWNLOADED : _NewspaperIssue.DBStatus.LOW_MID_PDF_DOWNLOADED;

                    _this11.updateNewspaperStatus(newDbStatus);
                  }
                }

                if (_this11.downloadFullEditionActive) {
                  _this11.downloadFullEditionActive = false;
                }

                _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_INITIAL_DOWNLOAD_FINISHED, {
                  status: newDbStatus
                });
              }
            });
          } else {
            var currentNewspaper = this.getCurrentNewspaper();

            if (currentNewspaper) {
              var currentDbStatus = currentNewspaper.getStatus();

              if (currentDbStatus === _NewspaperIssue.DBStatus.DB_DOWNLOADED) {
                var newDbStatus = _newsmemoryUtils.default.isModeFull(networkToUse) ? _NewspaperIssue.DBStatus.HIGH_RES_DOWNLOADED : _NewspaperIssue.DBStatus.LOW_MID_PDF_DOWNLOADED;
                this.updateNewspaperStatus(newDbStatus);
              }
            }
          }
        } else {
          var _currentNewspaper = this.getCurrentNewspaper();

          _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_INITIAL_DOWNLOAD_FINISHED, {
            status: _currentNewspaper ? _currentNewspaper.getStatus() : _NewspaperIssue.DBStatus.DB_DOWNLOADED
          });

          if (!_$$_REQUIRE(_dependencyMap[35]).PlatformUtils.isTablet()) {
            var message = _currentNewspaper && _currentNewspaper.hasHighResolutionDownloaded() ? global.strings("err_offline") : global.strings("offline_download_warning");

            _reactNative.Alert.alert(global.strings("title_offline"), message);
          }
        }
      }
    }, {
      key: "updateNewspaperStatus",
      value: function updateNewspaperStatus(newDbStatus) {
        var currentNewspaper;
        return _regenerator.default.async(function updateNewspaperStatus$(_context46) {
          while (1) {
            switch (_context46.prev = _context46.next) {
              case 0:
                currentNewspaper = this.getCurrentNewspaper();

                if (!currentNewspaper) {
                  _context46.next = 5;
                  break;
                }

                currentNewspaper.setStatus(newDbStatus);
                _context46.next = 5;
                return _regenerator.default.awrap(_NewsmemoryDatabasesManager.default.updateStatus(currentNewspaper.getPaper(), currentNewspaper.getIssue(), currentNewspaper.getEdition(), newDbStatus));

              case 5:
              case "end":
                return _context46.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "updateNewspaperNetwork",
      value: function updateNewspaperNetwork(network) {
        var currentNewspaper;
        return _regenerator.default.async(function updateNewspaperNetwork$(_context47) {
          while (1) {
            switch (_context47.prev = _context47.next) {
              case 0:
                currentNewspaper = this.getCurrentNewspaper();

                if (!currentNewspaper) {
                  _context47.next = 5;
                  break;
                }

                currentNewspaper.setDbNetwork(network);
                _context47.next = 5;
                return _regenerator.default.awrap(_NewsmemoryDatabasesManager.default.updateNetwork(currentNewspaper.getPaper(), currentNewspaper.getIssue(), currentNewspaper.getEdition(), network));

              case 5:
              case "end":
                return _context47.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "updateCompletedDownloadOperations",
      value: function updateCompletedDownloadOperations(operation) {
        var _this12 = this;

        var downloadRef = operation.getDownloadRef();

        if (downloadRef !== this.currentDownloadRef) {} else {
          var weight = operation.getWeight();

          if (this.downloadOperationsWeight > 0) {
            this.completedDownloadOperations += 1;
            this.completedDownloadOperationsWeight += weight;
            var progress = this.completedDownloadOperationsWeight / this.downloadOperationsWeight;
            var percentage = progress * 100;

            _$$_REQUIRE(_dependencyMap[33]).EventRegister.emit(_events.default.NEWSMEMORY_DOWNLOAD_PROGRESS, {
              progress: Math.min(progress, 1)
            });

            if (percentage >= 100) {
              if (this.failedDownloadOperations > 0) {
                var buttons = [];
                buttons.push({
                  text: global.strings("btn_cancel")
                }, {
                  text: global.strings("retry"),
                  onPress: function onPress() {
                    _this12.loadPages(true);
                  }
                });

                _reactNative.Alert.alert("", global.strings("err_download_edition"), buttons, {
                  cancelable: false
                });
              }

              this.resetPageCounters();
            }
          }
        }
      }
    }, {
      key: "isCurrentNewspaperASpecialSection",
      value: function isCurrentNewspaperASpecialSection() {
        var _global$getActivePSet6 = global.getActivePSetup(),
            pSetup = _global$getActivePSet6.pSetup,
            initpageXpaperNotView = _global$getActivePSet6.initpageXpaperNotView;

        if (initpageXpaperNotView && pSetup.includes("-xp-")) {
          var pSetupSplitted = pSetup.split("-xp-");
          var xPaperSplitted = initpageXpaperNotView.split(",");
          return pSetupSplitted[1] && xPaperSplitted.includes(pSetupSplitted[1]);
        }

        return false;
      }
    }, {
      key: "hasSpecialSection",
      value: function hasSpecialSection() {
        var currentNewspaper = this.getCurrentNewspaper();

        if (currentNewspaper) {
          var editionModel = currentNewspaper.getEditionModel();

          if (editionModel) {
            var _issue = editionModel.issue,
                _edition = editionModel.edition;
            return _NewsmemoryAJAX.default.getSpecialSectionUrl("specialsections", _issue, _edition, currentNewspaper.getSecret(), this.isCurrentNewspaperASpecialSection());
          }
        }

        return "";
      }
    }, {
      key: "getSpecialSectionPage",
      value: function getSpecialSectionPage(showSections) {
        var currentNewspaper = this.getCurrentNewspaper();

        if (currentNewspaper) {
          var editionModel = currentNewspaper.getEditionModel();

          if (editionModel) {
            var hasSpecialSections = editionModel.hasSpecialSections,
                _issue2 = editionModel.issue,
                _edition2 = editionModel.edition;

            if (hasSpecialSections) {
              return _NewsmemoryAJAX.default.getSpecialSectionUrl("indexspecial", _issue2, _edition2, currentNewspaper.getSecret(), this.isCurrentNewspaperASpecialSection(), showSections);
            }
          }
        }

        return "";
      }
    }, {
      key: "destroy",
      value: function destroy() {
        return _regenerator.default.async(function destroy$(_context48) {
          while (1) {
            switch (_context48.prev = _context48.next) {
              case 0:
                this.clearQueues();
                this.unregister();
                _context48.next = 4;
                return _regenerator.default.awrap(this._resetBulkInsertTimeout(true));

              case 4:
                this.newspapers = [];
                _context48.next = 7;
                return _regenerator.default.awrap(this.editionsManager.closeDatabase());

              case 7:
                this.editionsManager = undefined;
                this.downloadManager = undefined;
                this.currentNewspaper = undefined;
                this.currentPage = undefined;

              case 11:
              case "end":
                return _context48.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }]);
    return NewspaperManager;
  }();

  exports.default = NewspaperManager;
},2306,[5,80,6,108,21,7,8,28,2307,714,644,710,638,587,2310,430,460,2311,2313,2314,2315,2312,574,603,730,715,640,2178,2316,431,1934,2057,2308,572,2317,462,588,2187,586,1955,1954,2254]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _Database = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _NewsmemoryToDTO = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _EPaperImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _EPaperArticle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _DTOToNewsmemory = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _DownloadManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var NewsmemoryEditionsManager = function () {
    function NewsmemoryEditionsManager(paper) {
      (0, _classCallCheck2.default)(this, NewsmemoryEditionsManager);
      this.paper = paper;
    }

    (0, _createClass2.default)(NewsmemoryEditionsManager, [{
      key: "initDatabase",
      value: function initDatabase(path) {
        if (this.database) {
          if (this.database.getPath() === path) {
            return;
          }

          this.database.destroy();
        }

        this.database = new _Database.default(path);
      }
    }, {
      key: "databaseExists",
      value: function databaseExists() {
        return _regenerator.default.async(function databaseExists$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!this.database) {
                  _context.next = 2;
                  break;
                }

                return _context.abrupt("return", this.database.exists());

              case 2:
                return _context.abrupt("return", false);

              case 3:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "closeDatabase",
      value: function closeDatabase() {
        return _regenerator.default.async(function closeDatabase$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!this.database) {
                  _context2.next = 2;
                  break;
                }

                return _context2.abrupt("return", this.database.close());

              case 2:
                return _context2.abrupt("return", false);

              case 3:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "deleteDatabase",
      value: function deleteDatabase() {
        return _regenerator.default.async(function deleteDatabase$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                if (!this.database) {
                  _context3.next = 2;
                  break;
                }

                return _context3.abrupt("return", this.database.delete());

              case 2:
                return _context3.abrupt("return", false);

              case 3:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "openTransaction",
      value: function openTransaction(query, params) {
        return _regenerator.default.async(function openTransaction$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!this.database) {
                  _context4.next = 2;
                  break;
                }

                return _context4.abrupt("return", this.database.transaction(query, params));

              case 2:
                return _context4.abrupt("return", []);

              case 3:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "insertPage",
      value: function insertPage(issueId, filename, type, section, edition) {
        var optional,
            query,
            _args5 = arguments;
        return _regenerator.default.async(function insertPage$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                optional = _args5.length > 5 && _args5[5] !== undefined ? _args5[5] : {};
                query = "INSERT INTO pages (issueId, filename, type, section, edition, extralinks, mtime, page, frameW, frameH, extramd5) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
                _context5.prev = 2;
                _context5.next = 5;
                return _regenerator.default.awrap(this.openTransaction(query, [issueId, filename, type, section, edition, optional.extralinks, optional.mtime, optional.page, optional.frameW, optional.frameH, optional.extramd5]));

              case 5:
                return _context5.abrupt("return", true);

              case 8:
                _context5.prev = 8;
                _context5.t0 = _context5["catch"](2);
                throw _context5.t0;

              case 11:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, [[2, 8]], Promise);
      }
    }, {
      key: "getIssue",
      value: function getIssue(issue) {
        var result;
        return _regenerator.default.async(function getIssue$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                _context6.prev = 0;
                _context6.next = 3;
                return _regenerator.default.awrap(this.openTransaction("SELECT * FROM issues WHERE paper = ? AND issue = ?;", [this.paper, issue]));

              case 3:
                result = _context6.sent;

                if (!(result && result.length)) {
                  _context6.next = 6;
                  break;
                }

                return _context6.abrupt("return", _NewsmemoryToDTO.default.dbIssueToDTO(result[0]));

              case 6:
                throw new Error("Missing issue inside database " + this.paper + ", " + issue);

              case 9:
                _context6.prev = 9;
                _context6.t0 = _context6["catch"](0);
                throw _context6.t0;

              case 12:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, [[0, 9]], Promise);
      }
    }, {
      key: "getPageByFilename",
      value: function getPageByFilename(filename) {
        var query, pages;
        return _regenerator.default.async(function getPageByFilename$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                _context7.prev = 0;
                query = "SELECT * FROM pages WHERE filename = ?";
                _context7.next = 4;
                return _regenerator.default.awrap(this.openTransaction(query, [filename]));

              case 4:
                pages = _context7.sent;

                if (!(pages && pages.length)) {
                  _context7.next = 7;
                  break;
                }

                return _context7.abrupt("return", _NewsmemoryToDTO.default.dbPageToDTO(pages[0]));

              case 7:
                throw new Error("Missing page inside database " + filename);

              case 10:
                _context7.prev = 10;
                _context7.t0 = _context7["catch"](0);
                throw _context7.t0;

              case 13:
              case "end":
                return _context7.stop();
            }
          }
        }, null, this, [[0, 10]], Promise);
      }
    }, {
      key: "getArticles",
      value: function getArticles(pageId) {
        var query, articles;
        return _regenerator.default.async(function getArticles$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                _context8.prev = 0;
                query = "SELECT * FROM articles WHERE pageId = ?;";
                _context8.next = 4;
                return _regenerator.default.awrap(this.openTransaction(query, [pageId]));

              case 4:
                articles = _context8.sent.map(function (article) {
                  return _NewsmemoryToDTO.default.dbArticleToDTO(article);
                });
                return _context8.abrupt("return", articles);

              case 8:
                _context8.prev = 8;
                _context8.t0 = _context8["catch"](0);
                return _context8.abrupt("return", []);

              case 11:
              case "end":
                return _context8.stop();
            }
          }
        }, null, this, [[0, 8]], Promise);
      }
    }, {
      key: "getAllArticles",
      value: function getAllArticles() {
        var query, articles;
        return _regenerator.default.async(function getAllArticles$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                _context9.prev = 0;
                query = "SELECT * FROM articles;";
                _context9.next = 4;
                return _regenerator.default.awrap(this.openTransaction(query, []));

              case 4:
                articles = _context9.sent.map(function (article) {
                  return _NewsmemoryToDTO.default.dbArticleToDTO(article);
                });
                return _context9.abrupt("return", articles);

              case 8:
                _context9.prev = 8;
                _context9.t0 = _context9["catch"](0);
                return _context9.abrupt("return", []);

              case 11:
              case "end":
                return _context9.stop();
            }
          }
        }, null, this, [[0, 8]], Promise);
      }
    }, {
      key: "getImages",
      value: function getImages(pageId) {
        var query, images;
        return _regenerator.default.async(function getImages$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                _context10.prev = 0;
                query = "SELECT * FROM images WHERE pageId = ?";
                _context10.next = 4;
                return _regenerator.default.awrap(this.openTransaction(query, [pageId]));

              case 4:
                images = _context10.sent.map(function (image) {
                  return _NewsmemoryToDTO.default.dbImageToDTO(image);
                });
                return _context10.abrupt("return", images);

              case 8:
                _context10.prev = 8;
                _context10.t0 = _context10["catch"](0);
                return _context10.abrupt("return", []);

              case 11:
              case "end":
                return _context10.stop();
            }
          }
        }, null, this, [[0, 8]], Promise);
      }
    }, {
      key: "getAllImages",
      value: function getAllImages() {
        var query, images;
        return _regenerator.default.async(function getAllImages$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                _context11.prev = 0;
                query = "SELECT * FROM images";
                _context11.next = 4;
                return _regenerator.default.awrap(this.openTransaction(query, []));

              case 4:
                images = _context11.sent.map(function (image) {
                  return _NewsmemoryToDTO.default.dbImageToDTO(image);
                });
                return _context11.abrupt("return", images);

              case 8:
                _context11.prev = 8;
                _context11.t0 = _context11["catch"](0);
                return _context11.abrupt("return", []);

              case 11:
              case "end":
                return _context11.stop();
            }
          }
        }, null, this, [[0, 8]], Promise);
      }
    }, {
      key: "getPages",
      value: function getPages() {
        var query, pages;
        return _regenerator.default.async(function getPages$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                _context12.prev = 0;
                query = "SELECT * FROM pages";
                _context12.next = 4;
                return _regenerator.default.awrap(this.openTransaction(query));

              case 4:
                pages = _context12.sent.map(function (page) {
                  return _NewsmemoryToDTO.default.dbPageToDTO(page);
                });
                return _context12.abrupt("return", pages);

              case 8:
                _context12.prev = 8;
                _context12.t0 = _context12["catch"](0);
                return _context12.abrupt("return", []);

              case 11:
              case "end":
                return _context12.stop();
            }
          }
        }, null, this, [[0, 8]], Promise);
      }
    }, {
      key: "getEdition",
      value: function getEdition(issue, edition, secret) {
        var _this = this;

        var newspaper, pages, dbPages, allArticles, allImages, _await$this$getCustom, customIndexMTime, customIndexHtml, _loop, i, isLite, _global$getActivePSet;

        return _regenerator.default.async(function getEdition$(_context14) {
          while (1) {
            switch (_context14.prev = _context14.next) {
              case 0:
                _context14.prev = 0;
                _context14.next = 3;
                return _regenerator.default.awrap(this.getIssue(issue));

              case 3:
                newspaper = _context14.sent;
                pages = [];
                _context14.next = 7;
                return _regenerator.default.awrap(this.openTransaction("SELECT * FROM pages WHERE issueId = ? AND edition = ? AND type <> 'IX' AND type <> 'LT' ORDER BY page;", [newspaper.getIssueId(), edition]));

              case 7:
                dbPages = _context14.sent;
                _context14.next = 10;
                return _regenerator.default.awrap(this.getAllArticles());

              case 10:
                allArticles = _context14.sent;
                _context14.next = 13;
                return _regenerator.default.awrap(this.getAllImages());

              case 13:
                allImages = _context14.sent;
                _context14.next = 16;
                return _regenerator.default.awrap(this.getCustomIndex(issue));

              case 16:
                _await$this$getCustom = _context14.sent;
                customIndexMTime = _await$this$getCustom.mtime;
                customIndexHtml = _await$this$getCustom.html;

                _loop = function _callee(i) {
                  var dto, articles;
                  return _regenerator.default.async(function _callee$(_context13) {
                    while (1) {
                      switch (_context13.prev = _context13.next) {
                        case 0:
                          dto = _NewsmemoryToDTO.default.dbPageToDTO(dbPages[i]);
                          articles = allArticles.filter(function (article) {
                            return article.getPageId() === dto.getPageId();
                          });

                          if (!(!articles || articles.length === 0)) {
                            _context13.next = 15;
                            break;
                          }

                          _context13.prev = 3;
                          _context13.next = 6;
                          return _regenerator.default.awrap(_DownloadManager.default.downloadArticles(issue, edition, dto.getFilename(), secret));

                        case 6:
                          articles = _context13.sent;
                          articles.forEach(function (article) {
                            article.setPageId(dto.getPageId());
                          });
                          _context13.next = 10;
                          return _regenerator.default.awrap(_this.saveArticles(articles));

                        case 10:
                          _context13.next = 15;
                          break;

                        case 12:
                          _context13.prev = 12;
                          _context13.t0 = _context13["catch"](3);
                          articles = [];

                        case 15:
                          if (articles) {
                            dto.setArticles(articles);
                          }

                          dto.setImages(allImages.filter(function (image) {
                            return image.getPageId() === dto.getPageId();
                          }));
                          pages.push(dto);

                        case 18:
                        case "end":
                          return _context13.stop();
                      }
                    }
                  }, null, null, [[3, 12]], Promise);
                };

                i = 0;

              case 21:
                if (!(i < dbPages.length)) {
                  _context14.next = 27;
                  break;
                }

                _context14.next = 24;
                return _regenerator.default.awrap(_loop(i));

              case 24:
                i++;
                _context14.next = 21;
                break;

              case 27:
                newspaper.setEdition(edition);
                newspaper.setPages(pages);
                _context14.next = 31;
                return _regenerator.default.awrap(this.isLite(issue));

              case 31:
                isLite = _context14.sent;

                if (isLite === undefined) {
                  _global$getActivePSet = global.getActivePSetup();
                  isLite = _global$getActivePSet.isLite;
                }

                newspaper.setIsLite(isLite);
                newspaper.setCustomIndexModifyTime(parseInt(customIndexMTime, 10));
                newspaper.setCustomIndexHtml(customIndexHtml);
                return _context14.abrupt("return", newspaper);

              case 39:
                _context14.prev = 39;
                _context14.t0 = _context14["catch"](0);
                throw _context14.t0;

              case 42:
              case "end":
                return _context14.stop();
            }
          }
        }, null, this, [[0, 39]], Promise);
      }
    }, {
      key: "savePages",
      value: function savePages(pages) {
        return _regenerator.default.async(function savePages$(_context15) {
          while (1) {
            switch (_context15.prev = _context15.next) {
              case 0:
                _context15.prev = 0;
                return _context15.abrupt("return", this.database.replaceInto("pages", ["pageId", "issueId", "page", "shownpage", "type", "filename", "edition", "section", "frameH", "frameW", "extramd5", "extralinks", "mtime"], pages.map(function (page) {
                  return _DTOToNewsmemory.default.pageDTOtoDb(page);
                })));

              case 4:
                _context15.prev = 4;
                _context15.t0 = _context15["catch"](0);

              case 6:
                return _context15.abrupt("return", false);

              case 7:
              case "end":
                return _context15.stop();
            }
          }
        }, null, this, [[0, 4]], Promise);
      }
    }, {
      key: "insertPages",
      value: function insertPages(pages) {
        return _regenerator.default.async(function insertPages$(_context16) {
          while (1) {
            switch (_context16.prev = _context16.next) {
              case 0:
                _context16.prev = 0;
                return _context16.abrupt("return", this.database.replaceInto("pages", ["issueId", "page", "shownpage", "type", "filename", "edition", "section", "frameH", "frameW", "extramd5", "extralinks", "mtime"], pages.map(function (page) {
                  var params = _DTOToNewsmemory.default.pageDTOtoDb(page);

                  params.shift();
                  return params;
                })));

              case 4:
                _context16.prev = 4;
                _context16.t0 = _context16["catch"](0);

              case 6:
                return _context16.abrupt("return", false);

              case 7:
              case "end":
                return _context16.stop();
            }
          }
        }, null, this, [[0, 4]], Promise);
      }
    }, {
      key: "saveImages",
      value: function saveImages(images) {
        return _regenerator.default.async(function saveImages$(_context17) {
          while (1) {
            switch (_context17.prev = _context17.next) {
              case 0:
                _context17.prev = 0;
                return _context17.abrupt("return", this.database.replaceInto("images", ["base64image", "pageId", "type", "sizeX", "sizeY"], images.map(function (image) {
                  return _DTOToNewsmemory.default.imageDTOtoDb(image);
                })));

              case 4:
                _context17.prev = 4;
                _context17.t0 = _context17["catch"](0);

              case 6:
                return _context17.abrupt("return", false);

              case 7:
              case "end":
                return _context17.stop();
            }
          }
        }, null, this, [[0, 4]], Promise);
      }
    }, {
      key: "saveArticles",
      value: function saveArticles(articles) {
        return _regenerator.default.async(function saveArticles$(_context18) {
          while (1) {
            switch (_context18.prev = _context18.next) {
              case 0:
                return _context18.abrupt("return", this.database.replaceInto("articles", ["pageId", "xmlId", "type", "subtype", "title", "html", "inc", "childart", "pj", "boxes"], articles.map(function (article) {
                  return _DTOToNewsmemory.default.articleDTOtoDb(article);
                })));

              case 1:
              case "end":
                return _context18.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getPageIdsWhereClause",
      value: function getPageIdsWhereClause(pages) {
        var whereClause = null;

        if (pages.length > 0) {
          var pageIds = pages.reduce(function (result, _ref) {
            var pageId = _ref.pageId;
            result.push(pageId);
            return result;
          }, []);
          whereClause = "pageId IN (" + pageIds.join(",") + ")";
        }

        return whereClause;
      }
    }, {
      key: "getCustomIndex",
      value: function getCustomIndex(issue) {
        var pageId, mtime, html, result, _result$item;

        return _regenerator.default.async(function getCustomIndex$(_context19) {
          while (1) {
            switch (_context19.prev = _context19.next) {
              case 0:
                pageId = -1;
                _context19.prev = 1;
                _context19.next = 4;
                return _regenerator.default.awrap(this.database.executeSqlNoTx("SELECT pages.pageId, pages.mtime, articles.html FROM articles, pages, issues WHERE articles.pageId = pages.pageId " + ("AND articles.type = 'html' AND issues.issueId = pages.issueId AND issues.issue = '" + issue + "' ") + "AND pages.filename='index' AND pages.type = 'IX' AND pages.page = '' AND pages.section = '' LIMIT 1"));

              case 4:
                result = _context19.sent;

                if (result && result.item(0)) {
                  _result$item = result.item(0);
                  pageId = _result$item.pageId;
                  mtime = _result$item.mtime;
                  html = _result$item.html;
                }

                _context19.next = 10;
                break;

              case 8:
                _context19.prev = 8;
                _context19.t0 = _context19["catch"](1);

              case 10:
                return _context19.abrupt("return", {
                  pageId: pageId,
                  mtime: mtime,
                  html: html
                });

              case 11:
              case "end":
                return _context19.stop();
            }
          }
        }, null, this, [[1, 8]], Promise);
      }
    }, {
      key: "isLite",
      value: function isLite(issue) {
        var result, _result$item2, filename;

        return _regenerator.default.async(function isLite$(_context20) {
          while (1) {
            switch (_context20.prev = _context20.next) {
              case 0:
                _context20.prev = 0;
                _context20.next = 3;
                return _regenerator.default.awrap(this.database.executeSqlNoTx("SELECT pages.filename FROM pages, issues WHERE " + ("issues.issueId = pages.issueId AND issues.issue = '" + issue + "' ") + "AND pages.type = 'LT' LIMIT 1"));

              case 3:
                result = _context20.sent;

                if (!(result && result.item(0))) {
                  _context20.next = 7;
                  break;
                }

                _result$item2 = result.item(0), filename = _result$item2.filename;
                return _context20.abrupt("return", filename === "1");

              case 7:
                _context20.next = 11;
                break;

              case 9:
                _context20.prev = 9;
                _context20.t0 = _context20["catch"](0);

              case 11:
                return _context20.abrupt("return", undefined);

              case 12:
              case "end":
                return _context20.stop();
            }
          }
        }, null, this, [[0, 9]], Promise);
      }
    }, {
      key: "addLite",
      value: function addLite(issueId, isLite) {
        var isLiteValue;
        return _regenerator.default.async(function addLite$(_context21) {
          while (1) {
            switch (_context21.prev = _context21.next) {
              case 0:
                isLiteValue = isLite ? "1" : "0";
                return _context21.abrupt("return", this.database.replaceInto("pages", ["issueId", "filename", "type"], [issueId, isLiteValue, "LT"]));

              case 2:
              case "end":
                return _context21.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "removeLite",
      value: function removeLite(issueId) {
        return _regenerator.default.async(function removeLite$(_context22) {
          while (1) {
            switch (_context22.prev = _context22.next) {
              case 0:
                return _context22.abrupt("return", this.database.deleteFrom("pages", "issueId = " + issueId + " AND type = 'LT'"));

              case 1:
              case "end":
                return _context22.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "removePages",
      value: function removePages(pages) {
        return _regenerator.default.async(function removePages$(_context23) {
          while (1) {
            switch (_context23.prev = _context23.next) {
              case 0:
                return _context23.abrupt("return", this.database.deleteFrom("pages", this.getPageIdsWhereClause(pages)));

              case 1:
              case "end":
                return _context23.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "removeImagesForPages",
      value: function removeImagesForPages(pages) {
        return _regenerator.default.async(function removeImagesForPages$(_context24) {
          while (1) {
            switch (_context24.prev = _context24.next) {
              case 0:
                return _context24.abrupt("return", this.database.deleteFrom("images", this.getPageIdsWhereClause(pages)));

              case 1:
              case "end":
                return _context24.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "removeArticlesForPages",
      value: function removeArticlesForPages(pages) {
        return _regenerator.default.async(function removeArticlesForPages$(_context25) {
          while (1) {
            switch (_context25.prev = _context25.next) {
              case 0:
                return _context25.abrupt("return", this.database.deleteFrom("articles", this.getPageIdsWhereClause(pages)));

              case 1:
              case "end":
                return _context25.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }]);
    return NewsmemoryEditionsManager;
  }();

  exports.default = NewsmemoryEditionsManager;
},2307,[5,80,7,8,711,644,2308,587,640,2309,638,2310]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _ExtraLinks = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _EPaperImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _EPaperArticle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _Box = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _BoxesInfo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _PageJump = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var NewsmemoryToDTO = function () {
    function NewsmemoryToDTO() {
      (0, _classCallCheck2.default)(this, NewsmemoryToDTO);
    }

    (0, _createClass2.default)(NewsmemoryToDTO, null, [{
      key: "dbIssueToDTO",
      value: function dbIssueToDTO(dbNewspaper) {
        var newspaper = new _Edition.default();
        newspaper.setIssueId(dbNewspaper.issueId);
        newspaper.setIssue(dbNewspaper.issue);
        newspaper.setDownloadTime(dbNewspaper.downtime);
        newspaper.setUpdated(dbNewspaper.updated === 1);
        newspaper.setPaper(dbNewspaper.paper);
        newspaper.setModifyTime(_$$_REQUIRE(_dependencyMap[12]).DateUtils.stringToUnix(dbNewspaper.mtime + " +0000", "YYYYMMDD HH:mm:ss Z"));
        return newspaper;
      }
    }, {
      key: "dbPageToDTO",
      value: function dbPageToDTO(dbPage) {
        var page = new _Page.default();
        page.setEdition(dbPage.edition);
        page.setExtraMd5(dbPage.extramd5);
        page.setExtralinks(NewsmemoryToDTO.dbExtralinksToDTOs(dbPage.extralinks));
        page.setFilename(dbPage.filename);
        page.setFrameHeight(parseInt(dbPage.frameH || dbPage.h, 10));
        page.setFrameWidth(parseInt(dbPage.frameW || dbPage.w, 10));
        page.setIssueId(dbPage.issueId);
        page.setModifyTime(dbPage.mtime);
        page.setPage(dbPage.page);
        page.setPageId(dbPage.pageId);
        page.setSection(dbPage.section);
        page.setShownPage(dbPage.shownpage || dbPage.page);
        page.setType(parseInt(dbPage.type, 10));
        page.setImages([]);
        page.setVisible(true);
        page.setProtected(false);
        return page;
      }
    }, {
      key: "dbImageToDTO",
      value: function dbImageToDTO(dbImage) {
        var image = new _EPaperImage.default();
        image.setBase64(dbImage.base64image);
        image.setPageId(dbImage.pageId);
        image.setType(dbImage.type);
        image.setWidth(dbImage.sizeX);
        image.setHeight(dbImage.sizeY);
        return image;
      }
    }, {
      key: "dbArticleToDTO",
      value: function dbArticleToDTO(dbArticle) {
        var article = new _EPaperArticle.default();
        article.setPageId(dbArticle.pageId);
        article.setXmlId(parseInt(dbArticle.xmlId, 10));
        article.setType(dbArticle.type);
        article.setSubType(dbArticle.subtype);
        article.setTitle(NewsmemoryToDTO._unescapeHTML(dbArticle.title));
        article.setHtml(dbArticle.html);
        article.setInc(dbArticle.inc);
        article.setChildart(dbArticle.childart);
        article.setPageJumps(NewsmemoryToDTO.dbPageJumpsToDTO(dbArticle.pj));
        article.setBoxes(NewsmemoryToDTO.dbBoxesToDTO(dbArticle.boxes));
        article.setBoxesInfo(NewsmemoryToDTO.dbBoxesInfoToDTO(dbArticle.boxes));
        return article;
      }
    }, {
      key: "dbPageJumpsToDTO",
      value: function dbPageJumpsToDTO(info) {
        if (info) {
          try {
            var pageJumpsObj = JSON.parse(info);
            return Object.keys(pageJumpsObj).map(function (key) {
              var pj = pageJumpsObj[key];
              var from = pj.from,
                  to = pj.to,
                  type = pj.type,
                  artid = pj.artid,
                  articlefrom = pj.articlefrom;

              var articleId = _newsmemoryUtils.default.getArticleId(artid);

              var articleFrom = _newsmemoryUtils.default.getArticleId(articlefrom);

              return new _PageJump.default(key, from, to, type, articleId, articleFrom);
            });
          } catch (e) {}
        }

        return [];
      }
    }, {
      key: "dbBoxesToDTO",
      value: function dbBoxesToDTO(info) {
        var boxes = info.split("@")[0];

        if (boxes) {
          try {
            return boxes.split(";").map(function (box) {
              var splitted = box.split(",");
              return new _Box.default(parseInt(splitted[0], 10), parseInt(splitted[2], 10), parseInt(splitted[1], 10), parseInt(splitted[3], 10), parseInt(splitted[4], 10));
            });
          } catch (e) {}
        }

        return [];
      }
    }, {
      key: "dbBoxesInfoToDTO",
      value: function dbBoxesInfoToDTO(info) {
        var infos = info.split("@")[1];

        if (infos) {
          try {
            return new _BoxesInfo.default(infos.split(","));
          } catch (e) {}
        }

        return null;
      }
    }, {
      key: "dbExtralinksToDTOs",
      value: function dbExtralinksToDTOs(dbExtralinks) {
        var extralinks = [];

        if (dbExtralinks) {
          var extraArray = dbExtralinks.split(";");
          extraArray.forEach(function (extra) {
            var elementArray = extra.split(",");

            if (elementArray.length > 7) {
              var type = elementArray[0];
              var left = parseInt(elementArray[1], 10);
              var top = parseInt(elementArray[2], 10);
              var width = parseInt(elementArray[3], 10);
              var height = parseInt(elementArray[4], 10);
              var pdfWidth = parseInt(elementArray[5], 10);
              var pdfHeight = parseInt(elementArray[6], 10);
              var content = elementArray[7];
              var imageURL = elementArray[8];
              extralinks.push(new _ExtraLinks.default(type, content, imageURL, {
                left: left,
                top: top
              }, {
                width: width,
                height: height
              }, {
                width: pdfWidth,
                height: pdfHeight
              }));
            }
          });
        } else {}

        return extralinks;
      }
    }, {
      key: "_unescapeHTML",
      value: function _unescapeHTML(text) {
        var decoded = "";

        if (text) {
          try {
            decoded = _$$_REQUIRE(_dependencyMap[12]).StringUtils.decodeHTML(text);
            decoded = decoded.replace(/<span[^>]*>|<\/span>/g, "");
          } catch (e) {}
        }

        return decoded;
      }
    }, {
      key: "parseIndex",
      value: function parseIndex(index) {
        var pages = [];
        index.forEach(function (rawPage) {
          pages.push(NewsmemoryToDTO.dbPageToDTO(rawPage));
        });
        return pages;
      }
    }]);
    return NewsmemoryToDTO;
  }();

  exports.default = NewsmemoryToDTO;
},2308,[5,7,8,638,639,587,640,641,642,643,644,603,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _ExtraLinks = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _EPaperImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _EPaperArticle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Box = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _BoxesInfo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _PageJump = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var DTOToNewsmemory = function () {
    function DTOToNewsmemory() {
      (0, _classCallCheck2.default)(this, DTOToNewsmemory);
    }

    (0, _createClass2.default)(DTOToNewsmemory, null, [{
      key: "issueDTOtoDb",
      value: function issueDTOtoDb(edition) {
        return [edition.getIssueId(), edition.getIssue(), edition.getDownloadTime(), edition.isUpdated() ? 1 : 0, edition.getPaper(), _$$_REQUIRE(_dependencyMap[11]).DateUtils.unixToString(edition.getModifyTime(), "YYYYMMDD HH:mm:ss")];
      }
    }, {
      key: "pageDTOtoDb",
      value: function pageDTOtoDb(page) {
        return [page.getPageId(), page.getIssueId(), page.getPage(), page.getShownPage(), page.getType(), page.getFilename(), page.getEdition(), page.getSection(), page.getFrameHeight(), page.getFrameWidth(), page.getExtraMd5(), DTOToNewsmemory.extralinksDTOtoDb(page.getExtralinks()), page.getModifyTime()];
      }
    }, {
      key: "imageDTOtoDb",
      value: function imageDTOtoDb(image) {
        return [image.getBase64(), image.getPageId(), image.getType(), image.getWidth(), image.getHeight()];
      }
    }, {
      key: "articleDTOtoDb",
      value: function articleDTOtoDb(article) {
        return [article.getPageId(), article.getXmlId(), article.getType(), article.getSubType(), article.getTitle(), article.getHtml(), article.getInc(), article.getChildart(), DTOToNewsmemory.pageJumpsDTOtoDb(article.getPageJumps()), DTOToNewsmemory.boxesAndInfoDTOtoDb(article.getBoxes(), article.getBoxesInfo())];
      }
    }, {
      key: "pageJumpsDTOtoDb",
      value: function pageJumpsDTOtoDb(pageJumps) {
        if (pageJumps && pageJumps.length > 0) {
          return "{" + pageJumps.map(function (pageJump) {
            return pageJump.toString();
          }).join(",") + "}";
        }

        return "[]";
      }
    }, {
      key: "boxesAndInfoDTOtoDb",
      value: function boxesAndInfoDTOtoDb(boxes, info) {
        var strBoxes = boxes ? boxes.map(function (box) {
          return box.toString();
        }).join(";") : "";
        var strInfo = info ? info.toString() : "";
        return strBoxes.concat("@").concat(strInfo);
      }
    }, {
      key: "extralinksDTOtoDb",
      value: function extralinksDTOtoDb(extralinks) {
        return extralinks.map(function (link) {
          return link.toString();
        }).join(";");
      }
    }]);
    return DTOToNewsmemory;
  }();

  exports.default = DTOToNewsmemory;
},2309,[5,7,8,644,638,639,587,640,641,642,643,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _pQueue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _NewsmemoryAJAX = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _EPaperImage = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _pdfUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _downloadUtils = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[13]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _NewsmemoryToDTO = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _EPaperArticle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _NewsmemoryDatabasesManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var MIN_NUMBER_STANDARD_DOWNLOADS = 1;
  var MAX_NUMBER_STANDARD_DOWNLOADS = 4;
  var MIN_NUMBER_PRIORITY_DOWNLOADS = 1;
  var MAX_NUMBER_PRIORITY_DOWNLOADS = 2;
  var MIN_NUMBER_HIGH_RES_DOWNLOADS = 1;
  var MAX_NUMBER_HIGH_RES_DOWNLOADS = 4;

  var DownloadManager = function () {
    function DownloadManager(paper, machineForHR, onDownloadImageListener) {
      (0, _classCallCheck2.default)(this, DownloadManager);
      this.paper = paper;
      this.machineForHR = machineForHR;
      this.onDownloadImageListener = onDownloadImageListener;
      this.priorityDownloadQueue = new _pQueue.default({
        concurrency: MAX_NUMBER_PRIORITY_DOWNLOADS
      });
      this.standardDownloadQueue = new _pQueue.default({
        concurrency: MAX_NUMBER_STANDARD_DOWNLOADS,
        autoStart: false
      });
      this.thumbnailDownloadQueue = new _pQueue.default({
        concurrency: 1
      });
      this.loadMultiZip = this._loadMultiZip.bind(this);
      this.loadZip = this._loadZip.bind(this);
      this.loadHRImages = this._loadHRImages.bind(this);
      this.loadHrImage = this._loadHrImage.bind(this);
      this.loadImage = this._loadImage.bind(this);
    }

    (0, _createClass2.default)(DownloadManager, [{
      key: "downloadEditionDB",
      value: function downloadEditionDB(issue, edition) {
        var appendFirstPages,
            result,
            code,
            message,
            NO_GRANTS,
            INVALID_ZIP,
            NO_ZIP,
            GENERIC_ERROR,
            _args = arguments;
        return _regenerator.default.async(function downloadEditionDB$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                appendFirstPages = _args.length > 2 && _args[2] !== undefined ? _args[2] : false;
                _context.prev = 1;
                _context.next = 4;
                return _regenerator.default.awrap(_NewsmemoryAJAX.default.downloadEditionDB(this.paper, issue, edition, appendFirstPages, {
                  progressCallback: function progressCallback(received, total) {
                    _$$_REQUIRE(_dependencyMap[20]).EventRegister.emit(_events.default.NEWSMEMORY_DB_DOWNLOAD_PROGRESS, {
                      progress: received / total
                    });
                  },
                  retryCallback: function retryCallback(retry, maxRetries) {
                    _$$_REQUIRE(_dependencyMap[20]).EventRegister.emit(_events.default.NEWSMEMORY_DB_DOWNLOAD_RETRY, {
                      retryText: global.strings("msg_download_retry", {
                        retry: retry,
                        maxRetries: maxRetries
                      })
                    });
                  }
                }));

              case 4:
                result = _context.sent;

                if (result.db) {
                  _context.next = 7;
                  break;
                }

                throw new Error("DownloadManager - downloadEditionDB: unable to download db for issue " + issue + " and edition " + edition);

              case 7:
                return _context.abrupt("return", result);

              case 10:
                _context.prev = 10;
                _context.t0 = _context["catch"](1);
                code = _context.t0.code, message = _context.t0.message;
                NO_GRANTS = _downloadUtils.DOWNLOAD_ERROR_CODES.NO_GRANTS, INVALID_ZIP = _downloadUtils.DOWNLOAD_ERROR_CODES.INVALID_ZIP, NO_ZIP = _downloadUtils.DOWNLOAD_ERROR_CODES.NO_ZIP, GENERIC_ERROR = _downloadUtils.DOWNLOAD_ERROR_CODES.GENERIC_ERROR;

                if (!(code === NO_GRANTS || code === INVALID_ZIP || code === NO_ZIP)) {
                  _context.next = 18;
                  break;
                }

                throw _context.t0;

              case 18:
                if (code === GENERIC_ERROR) {}

              case 19:
                return _context.abrupt("return", {});

              case 20:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[1, 10]], Promise);
      }
    }, {
      key: "checkPageImagesToDownload",
      value: function checkPageImagesToDownload(page, types) {
        var imagesToDownload = [];
        var pageId = page.pageId,
            images = page.images;
        types.forEach(function (type) {
          if (!images.find(function (image) {
            return image.getType() === type;
          })) {
            var image = new _EPaperImage.default();
            image.setPageId(pageId);
            image.setType(type);
            imagesToDownload.push(image);
          }
        });
        return imagesToDownload;
      }
    }, {
      key: "checkPageComponentsToDownload",
      value: function checkPageComponentsToDownload(page) {
        return this.checkPageImagesToDownload(page, [_EPaperImage.EPaperImageType.LOW, _EPaperImage.EPaperImageType.GRAPH, _EPaperImage.EPaperImageType.TEXT]);
      }
    }, {
      key: "checkPageHRImagesToDownload",
      value: function checkPageHRImagesToDownload(page) {
        var imagesToDownload = [];
        var pageId = page.pageId,
            images = page.images;
        var hrImages = images.filter(function (image) {
          return image.getType() === _EPaperImage.EPaperImageType.HR_ZIP || image.getType().search(_EPaperImage.EPaperImageType.HR + "_" + _EPaperImage.EPaperImageName.HR) > -1;
        });

        if (hrImages.length === 0) {
          var image = new _EPaperImage.default();
          image.setPageId(pageId);
          image.setType(_EPaperImage.EPaperImageType.HR);
          imagesToDownload.push(image);
        }

        return imagesToDownload;
      }
    }, {
      key: "applyWatermark",
      value: function applyWatermark(path) {
        var options,
            tempPath,
            _args2 = arguments;
        return _regenerator.default.async(function applyWatermark$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                options = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {};
                _context2.prev = 1;
                _context2.next = 4;
                return _regenerator.default.awrap(_newsmemoryUtils.default.addWatermarkToPageComponent(path, options));

              case 4:
                tempPath = _context2.sent;
                _context2.next = 7;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[21]).FileUtils.unlink(path));

              case 7:
                _context2.next = 9;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[21]).FileUtils.moveFile(tempPath, path));

              case 9:
                return _context2.abrupt("return", true);

              case 12:
                _context2.prev = 12;
                _context2.t0 = _context2["catch"](1);

              case 14:
                return _context2.abrupt("return", false);

              case 15:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, [[1, 12]], Promise);
      }
    }, {
      key: "componentNeedsWatermark",
      value: function componentNeedsWatermark(image, page) {
        var xmlId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1;

        if (image && image.isGraph()) {
          return true;
        }

        if (page && xmlId >= 0 && !_$$_REQUIRE(_dependencyMap[21]).JSUtils.isEmpty(page.getArticles())) {
          var articleByXmlId = page.getArticles().find(function (article) {
            return article.getXmlId() === xmlId;
          });

          if (articleByXmlId) {
            return articleByXmlId.isText() && image.isHighRes() && image.getName().search("pag_[0-9]+_0.jpg") > -1;
          }
        }

        return false;
      }
    }, {
      key: "addWatermark",
      value: function addWatermark(path, image, page, xmlId) {
        var _global$getActivePSet, addWatermark, options, success;

        return _regenerator.default.async(function addWatermark$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _global$getActivePSet = global.getActivePSetup(), addWatermark = _global$getActivePSet.addWatermark;

                if (!(addWatermark && this.componentNeedsWatermark(image, page, xmlId))) {
                  _context3.next = 8;
                  break;
                }

                options = {
                  position: image.isGraph() ? "center" : "topLeft",
                  fontSize: image.isGraph() ? 40 : 25,
                  cssClasses: image.isGraph() ? ["newsmemory-watermark-graph"] : ["newsmemory-watermark-pag"]
                };
                _context3.next = 5;
                return _regenerator.default.awrap(this.applyWatermark(path, options));

              case 5:
                success = _context3.sent;

                if (!success) {
                  _context3.next = 8;
                  break;
                }

                return _context3.abrupt("return", {
                  path: path,
                  image: image
                });

              case 8:
                return _context3.abrupt("return", undefined);

              case 9:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "downloadResourceWithRetry",
      value: function downloadResourceWithRetry(type, downloadMethod) {
        var resource,
            finished,
            retry,
            _len,
            args,
            _key,
            TIMEOUT,
            SERVICE_ERROR,
            code,
            _args4 = arguments;

        return _regenerator.default.async(function downloadResourceWithRetry$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                finished = false;
                retry = 0;

                for (_len = _args4.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
                  args[_key - 2] = _args4[_key];
                }

              case 3:
                _context4.prev = 3;

                if (retry > 0) {}

                _context4.next = 7;
                return _regenerator.default.awrap(downloadMethod.apply(undefined, args));

              case 7:
                resource = _context4.sent;
                finished = true;
                _context4.next = 14;
                break;

              case 11:
                _context4.prev = 11;
                _context4.t0 = _context4["catch"](3);

                if (_context4.t0 instanceof _downloadUtils.DownloadError) {
                  TIMEOUT = _downloadUtils.DOWNLOAD_ERROR_CODES.TIMEOUT, SERVICE_ERROR = _downloadUtils.DOWNLOAD_ERROR_CODES.SERVICE_ERROR;
                  code = _context4.t0.code;

                  if (code === TIMEOUT || code === SERVICE_ERROR) {
                    retry += 1;
                  } else {
                    finished = true;
                  }
                }

              case 14:
                if (!finished && retry < 2) {
                  _context4.next = 3;
                  break;
                }

              case 15:
                return _context4.abrupt("return", resource);

              case 16:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, [[3, 11]], Promise);
      }
    }, {
      key: "downloadImages",
      value: function downloadImages(newspaper, page, images) {
        var paper, issue, secret, filename, filetime, isModeLow, downloadedImages, watermarkPromises, i, image, imageName, _ref, path, width, height, relativePathToImage;

        return _regenerator.default.async(function downloadImages$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                paper = newspaper.getPaper();
                issue = newspaper.getIssue();
                secret = newspaper.getSecret();
                filename = page.getFilename();
                filetime = page.getModifyTime();
                isModeLow = _newsmemoryUtils.default.isModeLow(newspaper.dbNetwork);
                downloadedImages = [];
                watermarkPromises = [];
                i = 0;

              case 9:
                if (!(i < images.length)) {
                  _context5.next = 25;
                  break;
                }

                image = images[i];
                imageName = image.getName(isModeLow);
                _context5.next = 14;
                return _regenerator.default.awrap(this.downloadResourceWithRetry("image", _NewsmemoryAJAX.default.downloadImage, paper, issue, imageName, filename, filetime, secret));

              case 14:
                _context5.t0 = _context5.sent;

                if (_context5.t0) {
                  _context5.next = 17;
                  break;
                }

                _context5.t0 = {};

              case 17:
                _ref = _context5.t0;
                path = _ref.path;
                width = _ref.width;
                height = _ref.height;

                if (path) {
                  relativePathToImage = path.replace(_tecnaviaFileUtils.default.getNewsmemoryBaseDirectory(), "./");
                  image.setBase64(relativePathToImage);
                  image.setWidth(width);
                  image.setHeight(height);
                  downloadedImages.push(image);
                  watermarkPromises.push(this.addWatermark(path, image, page));
                }

              case 22:
                i++;
                _context5.next = 9;
                break;

              case 25:
                if (!(watermarkPromises.length > 0)) {
                  _context5.next = 33;
                  break;
                }

                _context5.prev = 26;
                _context5.next = 29;
                return _regenerator.default.awrap(Promise.all(watermarkPromises));

              case 29:
                _context5.next = 33;
                break;

              case 31:
                _context5.prev = 31;
                _context5.t1 = _context5["catch"](26);

              case 33:
                return _context5.abrupt("return", downloadedImages);

              case 34:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, [[26, 31]], Promise);
      }
    }, {
      key: "downloadHRImage",
      value: function downloadHRImage(newspaper, page, xmlId, boxId) {
        var graph,
            image,
            _ref2,
            path,
            width,
            height,
            relativePathToImage,
            imageName,
            _args6 = arguments;

        return _regenerator.default.async(function downloadHRImage$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                graph = _args6.length > 4 && _args6[4] !== undefined ? _args6[4] : true;
                _context6.next = 3;
                return _regenerator.default.awrap(this.downloadResourceWithRetry("hrimage", _NewsmemoryAJAX.default.downloadHRImage, newspaper.getPaper(), newspaper.getIssue(), page.getFilename(), page.getModifyTime(), xmlId, boxId, graph, newspaper.getSecret()));

              case 3:
                _context6.t0 = _context6.sent;

                if (_context6.t0) {
                  _context6.next = 6;
                  break;
                }

                _context6.t0 = {};

              case 6:
                _ref2 = _context6.t0;
                path = _ref2.path;
                width = _ref2.width;
                height = _ref2.height;

                if (!path) {
                  _context6.next = 27;
                  break;
                }

                relativePathToImage = path.replace(_tecnaviaFileUtils.default.getNewsmemoryBaseDirectory(), "./");
                imageName = _tecnaviaFileUtils.default.getFilename(path);
                image = new _EPaperImage.default();
                image.setPageId(page.getPageId());
                image.setName(imageName);
                image.setTypeByName(imageName);
                image.setBase64(relativePathToImage);
                image.setWidth(width);
                image.setHeight(height);
                _context6.prev = 20;
                _context6.next = 23;
                return _regenerator.default.awrap(this.addWatermark(path, image, page, xmlId));

              case 23:
                _context6.next = 27;
                break;

              case 25:
                _context6.prev = 25;
                _context6.t1 = _context6["catch"](20);

              case 27:
                return _context6.abrupt("return", image);

              case 28:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, [[20, 25]], Promise);
      }
    }, {
      key: "downloadHRImages",
      value: function downloadHRImages(newspaper, page) {
        var _this = this;

        var paper, issue, secret, filename, filetime, downloadedImages, path, addZipToModel, _global$getActivePSet2, addWatermark, hasEditorials, destinationFolder, HR, images, watermarkPromises, watermarkedImages, watermarkedImagePaths, nonWatermarkedImages, image, relativePathToZip;

        return _regenerator.default.async(function downloadHRImages$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                paper = newspaper.getPaper();
                issue = newspaper.getIssue();
                secret = newspaper.getSecret();
                filename = page.getFilename();
                filetime = page.getModifyTime();
                downloadedImages = [];
                _context7.next = 8;
                return _regenerator.default.awrap(this.downloadResourceWithRetry("hrimages", _NewsmemoryAJAX.default.downloadHRImagesZip, paper, issue, filename, filetime, secret));

              case 8:
                path = _context7.sent;

                if (!path) {
                  _context7.next = 51;
                  break;
                }

                _context7.prev = 10;
                addZipToModel = true;
                _global$getActivePSet2 = global.getActivePSetup(), addWatermark = _global$getActivePSet2.addWatermark;
                hasEditorials = false;

                if (page && !_$$_REQUIRE(_dependencyMap[21]).JSUtils.isEmpty(page.getArticles())) {
                  hasEditorials = page.getArticles().find(function (article) {
                    return article.isText();
                  }) !== undefined;
                }

                if (!(addWatermark && hasEditorials)) {
                  _context7.next = 46;
                  break;
                }

                destinationFolder = _NewsmemoryDatabasesManager.default.getNewspaperIssueDirectory(paper, issue) + filename + "/";
                _context7.next = 19;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unzip(path, destinationFolder));

              case 19:
                HR = _EPaperImage.EPaperImageName.HR;
                _context7.next = 22;
                return _regenerator.default.awrap(_downloadUtils.default.scanPageFolderForImages(destinationFolder, [HR]));

              case 22:
                images = _context7.sent;
                watermarkPromises = [];
                images.forEach(function (_ref3) {
                  var imagePath = _ref3.path,
                      name = _ref3.name,
                      width = _ref3.width,
                      height = _ref3.height;
                  var relativePathToImage = imagePath.replace(_tecnaviaFileUtils.default.getNewsmemoryBaseDirectory(), "./");
                  var image = new _EPaperImage.default();
                  image.setPageId(page.getPageId());
                  image.setName(name);
                  image.setTypeByName(name);
                  image.setBase64(relativePathToImage);
                  image.setWidth(width);
                  image.setHeight(height);
                  var imageNameParts = name.split("_");

                  if (imageNameParts.length > 1) {
                    var xmlId = parseInt(imageNameParts[1], 10);
                    watermarkPromises.push(_this.addWatermark(imagePath, image, page, xmlId));
                  }
                });
                watermarkedImages = [];

                if (!(watermarkPromises.length > 0)) {
                  _context7.next = 30;
                  break;
                }

                _context7.next = 29;
                return _regenerator.default.awrap(Promise.all(watermarkPromises));

              case 29:
                watermarkedImages = _context7.sent.filter(function (filePath) {
                  return !_$$_REQUIRE(_dependencyMap[21]).JSUtils.isEmpty(filePath);
                });

              case 30:
                if (!(watermarkedImages.length > 0)) {
                  _context7.next = 45;
                  break;
                }

                watermarkedImages.forEach(function (_ref4) {
                  var image = _ref4.image;
                  downloadedImages.push(image);
                });
                _context7.next = 34;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[21]).FileUtils.unlink(path));

              case 34:
                watermarkedImagePaths = watermarkedImages.map(function (_ref5) {
                  var imagePath = _ref5.path;
                  return imagePath;
                });
                nonWatermarkedImages = images.map(function (_ref6) {
                  var imagePath = _ref6.path;
                  return imagePath;
                }).filter(function (imagePath) {
                  return !watermarkedImagePaths.includes(imagePath);
                });

                if (!(nonWatermarkedImages.length > 0)) {
                  _context7.next = 42;
                  break;
                }

                _context7.next = 39;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[21]).FileUtils.zipFiles(nonWatermarkedImages, path, {
                  compression: false
                }));

              case 39:
                nonWatermarkedImages.forEach(function (imagePath) {
                  _$$_REQUIRE(_dependencyMap[21]).FileUtils.unlink(imagePath);
                });
                _context7.next = 43;
                break;

              case 42:
                addZipToModel = false;

              case 43:
                _context7.next = 46;
                break;

              case 45:
                images.forEach(function (imagePath) {
                  _$$_REQUIRE(_dependencyMap[21]).FileUtils.unlink(imagePath);
                });

              case 46:
                if (addZipToModel) {
                  image = new _EPaperImage.default();
                  image.setPageId(page.pageId);
                  image.setType(_EPaperImage.EPaperImageType.HR_ZIP);
                  relativePathToZip = path.replace(_tecnaviaFileUtils.default.getNewsmemoryBaseDirectory(), "./");
                  image.setBase64(relativePathToZip);
                  downloadedImages.push(image);
                }

                _context7.next = 51;
                break;

              case 49:
                _context7.prev = 49;
                _context7.t0 = _context7["catch"](10);

              case 51:
                return _context7.abrupt("return", downloadedImages);

              case 52:
              case "end":
                return _context7.stop();
            }
          }
        }, null, this, [[10, 49]], Promise);
      }
    }, {
      key: "downloadZip",
      value: function downloadZip(newspaper, page) {
        var _this2 = this;

        var paper, issue, secret, filename, filetime, localImagesFilenames, downloadedImages, watermarkPromises;
        return _regenerator.default.async(function downloadZip$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                paper = newspaper.getPaper();
                issue = newspaper.getIssue();
                secret = newspaper.getSecret();
                filename = page.getFilename();
                filetime = page.getModifyTime();
                _context8.next = 7;
                return _regenerator.default.awrap(this.downloadResourceWithRetry("singlezip", _NewsmemoryAJAX.default.downloadPageZip, paper, issue, filename, filetime, secret));

              case 7:
                _context8.t0 = _context8.sent;

                if (_context8.t0) {
                  _context8.next = 10;
                  break;
                }

                _context8.t0 = [];

              case 10:
                localImagesFilenames = _context8.t0;
                downloadedImages = [];
                _context8.prev = 12;
                watermarkPromises = [];
                localImagesFilenames.forEach(function (_ref7) {
                  var path = _ref7.path,
                      name = _ref7.name,
                      width = _ref7.width,
                      height = _ref7.height;
                  var image = new _EPaperImage.default();
                  var relativePathToImage = path.replace(_tecnaviaFileUtils.default.getNewsmemoryBaseDirectory(), "./");
                  image.setPageId(page.pageId);
                  image.setTypeByName(name);
                  image.setBase64(relativePathToImage);
                  image.setWidth(width);
                  image.setHeight(height);
                  downloadedImages.push(image);
                  watermarkPromises.push(_this2.addWatermark(path, image, page));
                });

                if (!(watermarkPromises.length > 0)) {
                  _context8.next = 18;
                  break;
                }

                _context8.next = 18;
                return _regenerator.default.awrap(Promise.all(watermarkPromises));

              case 18:
                _context8.next = 22;
                break;

              case 20:
                _context8.prev = 20;
                _context8.t1 = _context8["catch"](12);

              case 22:
                return _context8.abrupt("return", downloadedImages);

              case 23:
              case "end":
                return _context8.stop();
            }
          }
        }, null, this, [[12, 20]], Promise);
      }
    }, {
      key: "downloadMultiZip",
      value: function downloadMultiZip(newspaper, pages) {
        var _this3 = this;

        var paper, issue, secret, filenames, filetimes, localPages, downloadedImages, watermarkPromises;
        return _regenerator.default.async(function downloadMultiZip$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                paper = newspaper.getPaper();
                issue = newspaper.getIssue();
                secret = newspaper.getSecret();
                filenames = pages.map(function (page) {
                  return page.getFilename();
                });
                filetimes = pages.map(function (page) {
                  return page.getModifyTime();
                });
                _context9.next = 7;
                return _regenerator.default.awrap(this.downloadResourceWithRetry("multizip", _NewsmemoryAJAX.default.downloadMultiplePagesZips, paper, issue, filenames, filetimes, secret));

              case 7:
                _context9.t0 = _context9.sent;

                if (_context9.t0) {
                  _context9.next = 10;
                  break;
                }

                _context9.t0 = [];

              case 10:
                localPages = _context9.t0;
                downloadedImages = [];
                watermarkPromises = [];
                _context9.prev = 13;
                localPages.forEach(function (localPage, index) {
                  watermarkPromises.push.apply(watermarkPromises, (0, _toConsumableArray2.default)(localPage.map(function (_ref8) {
                    var path = _ref8.path,
                        name = _ref8.name,
                        width = _ref8.width,
                        height = _ref8.height;
                    var image = new _EPaperImage.default();
                    var relativePathToImage = path.replace(_tecnaviaFileUtils.default.getNewsmemoryBaseDirectory(), "./");
                    image.setPageId(pages[index].pageId);
                    image.setTypeByName(name);
                    image.setBase64(relativePathToImage);
                    image.setWidth(width);
                    image.setHeight(height);
                    downloadedImages.push(image);
                    return _this3.addWatermark(path, image, pages[index]);
                  })));
                });

                if (!(watermarkPromises.length > 0)) {
                  _context9.next = 18;
                  break;
                }

                _context9.next = 18;
                return _regenerator.default.awrap(Promise.all(watermarkPromises));

              case 18:
                _context9.next = 22;
                break;

              case 20:
                _context9.prev = 20;
                _context9.t1 = _context9["catch"](13);

              case 22:
                return _context9.abrupt("return", downloadedImages);

              case 23:
              case "end":
                return _context9.stop();
            }
          }
        }, null, this, [[13, 20]], Promise);
      }
    }, {
      key: "loadImages",
      value: function loadImages(newspaper, page, images) {
        var downloadedImages;
        return _regenerator.default.async(function loadImages$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                _context10.next = 2;
                return _regenerator.default.awrap(this.downloadImages(newspaper, page, images));

              case 2:
                downloadedImages = _context10.sent;
                downloadedImages = downloadedImages.filter(function (downloadedImage) {
                  return downloadedImage;
                });

                if (!(downloadedImages.length > 0)) {
                  _context10.next = 9;
                  break;
                }

                downloadedImages.forEach(function (downloadedImage) {
                  page.addImage(downloadedImage);
                });
                this.callDownloadListener(downloadedImages, newspaper);
                _context10.next = 9;
                return _regenerator.default.awrap(this.generateTextPngFromImages(newspaper, page, downloadedImages));

              case 9:
                return _context10.abrupt("return", downloadedImages);

              case 10:
              case "end":
                return _context10.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "callDownloadListener",
      value: function callDownloadListener(downloadedImages, newspaper) {
        return _regenerator.default.async(function callDownloadListener$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                _context11.prev = 0;

                if (!(typeof this.onDownloadImageListener === "function" && downloadedImages)) {
                  _context11.next = 4;
                  break;
                }

                _context11.next = 4;
                return _regenerator.default.awrap(this.onDownloadImageListener(downloadedImages, newspaper));

              case 4:
                _context11.next = 8;
                break;

              case 6:
                _context11.prev = 6;
                _context11.t0 = _context11["catch"](0);

              case 8:
              case "end":
                return _context11.stop();
            }
          }
        }, null, this, [[0, 6]], Promise);
      }
    }, {
      key: "getHighPriorityQueueLength",
      value: function getHighPriorityQueueLength() {
        return this.priorityDownloadQueue.size;
      }
    }, {
      key: "startHighResDownloadQueue",
      value: function startHighResDownloadQueue(limited) {
        var concurrency = limited ? MIN_NUMBER_HIGH_RES_DOWNLOADS : MAX_NUMBER_HIGH_RES_DOWNLOADS;

        if (!this.highResDownloadQueue) {
          this.highResDownloadQueue = new _pQueue.default({
            concurrency: concurrency
          });
        } else {
          this.highResDownloadQueue.concurrency = concurrency;
        }

        this.highResDownloadQueue.clear();

        _$$_REQUIRE(_dependencyMap[22]).HrUtility.clearQueue();

        _$$_REQUIRE(_dependencyMap[22]).HrUtility.setPoolSize(concurrency);
      }
    }, {
      key: "increaseHighResDownloadQueueConcurrency",
      value: function increaseHighResDownloadQueueConcurrency() {
        if (!this.highResDownloadQueue) {
          this.startHighResDownloadQueue(false);
        } else {
          this.highResDownloadQueue.concurrency = MAX_NUMBER_HIGH_RES_DOWNLOADS;
        }

        _$$_REQUIRE(_dependencyMap[22]).HrUtility.setPoolSize(MAX_NUMBER_HIGH_RES_DOWNLOADS);
      }
    }, {
      key: "restartHighResQueue",
      value: function restartHighResQueue() {
        if (this.highResDownloadQueue) {
          this.highResDownloadQueue.clear();
          this.highResDownloadQueue.start();
        }

        _$$_REQUIRE(_dependencyMap[22]).HrUtility.clearQueue();
      }
    }, {
      key: "resumeHighResQueue",
      value: function resumeHighResQueue() {
        if (this.highResDownloadQueue) {
          this.highResDownloadQueue.start();
        }

        _$$_REQUIRE(_dependencyMap[22]).HrUtility.resumeQueue();
      }
    }, {
      key: "pauseHighResQueue",
      value: function pauseHighResQueue() {
        if (this.highResDownloadQueue) {
          this.highResDownloadQueue.pause();
        }

        _$$_REQUIRE(_dependencyMap[22]).HrUtility.pauseQueue();
      }
    }, {
      key: "startHighPriorityQueue",
      value: function startHighPriorityQueue() {
        this.priorityDownloadQueue.start();
      }
    }, {
      key: "pauseHighPriorityQueue",
      value: function pauseHighPriorityQueue() {
        this.priorityDownloadQueue.pause();
      }
    }, {
      key: "setHighPriorityQueuePoolSize",
      value: function setHighPriorityQueuePoolSize(limited) {
        if (this.priorityDownloadQueue) {
          this.priorityDownloadQueue.concurrency = limited ? MIN_NUMBER_PRIORITY_DOWNLOADS : MAX_NUMBER_PRIORITY_DOWNLOADS;
        }
      }
    }, {
      key: "onHighPriorityQueueIdle",
      value: function onHighPriorityQueueIdle() {
        return this.priorityDownloadQueue.onIdle();
      }
    }, {
      key: "getStandardPriorityQueueLength",
      value: function getStandardPriorityQueueLength() {
        return this.standardDownloadQueue.size;
      }
    }, {
      key: "startStandardPriorityQueue",
      value: function startStandardPriorityQueue() {
        this.standardDownloadQueue.start();
      }
    }, {
      key: "setStandardQueuePoolSize",
      value: function setStandardQueuePoolSize(limited) {
        if (this.standardDownloadQueue) {
          this.standardDownloadQueue.concurrency = limited ? MIN_NUMBER_STANDARD_DOWNLOADS : MAX_NUMBER_STANDARD_DOWNLOADS;
        }
      }
    }, {
      key: "pauseStandardPriorityQueue",
      value: function pauseStandardPriorityQueue() {
        this.standardDownloadQueue.pause();
      }
    }, {
      key: "onStandardPriorityQueueIdle",
      value: function onStandardPriorityQueueIdle() {
        return this.standardDownloadQueue.onIdle();
      }
    }, {
      key: "clearThumbnailQueue",
      value: function clearThumbnailQueue() {
        if (this.thumbnailDownloadQueue) {
          this.thumbnailDownloadQueue.clear();
        }
      }
    }, {
      key: "clearQueues",
      value: function clearQueues() {
        if (this.standardDownloadQueue) {
          this.standardDownloadQueue.clear();
        }

        if (this.priorityDownloadQueue) {
          this.priorityDownloadQueue.clear();
        }

        if (this.highResDownloadQueue) {
          this.highResDownloadQueue.clear();
        }

        this.clearThumbnailQueue();
      }
    }, {
      key: "loadResource",
      value: function loadResource(isHighPriorityQueue, priority, operation) {
        var _len2,
            args,
            _key2,
            queue,
            _args13 = arguments;

        return _regenerator.default.async(function loadResource$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                for (_len2 = _args13.length, args = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {
                  args[_key2 - 3] = _args13[_key2];
                }

                queue = isHighPriorityQueue ? this.priorityDownloadQueue : this.standardDownloadQueue;
                return _context13.abrupt("return", queue.add(function _callee() {
                  return _regenerator.default.async(function _callee$(_context12) {
                    while (1) {
                      switch (_context12.prev = _context12.next) {
                        case 0:
                          return _context12.abrupt("return", operation.apply(undefined, args));

                        case 1:
                        case "end":
                          return _context12.stop();
                      }
                    }
                  }, null, null, null, Promise);
                }, {
                  priority: priority
                }));

              case 3:
              case "end":
                return _context13.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "loadHighResResource",
      value: function loadHighResResource(priority, operation) {
        var _len3,
            args,
            _key3,
            _args15 = arguments;

        return _regenerator.default.async(function loadHighResResource$(_context15) {
          while (1) {
            switch (_context15.prev = _context15.next) {
              case 0:
                for (_len3 = _args15.length, args = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {
                  args[_key3 - 2] = _args15[_key3];
                }

                return _context15.abrupt("return", this.highResDownloadQueue.add(function _callee2() {
                  return _regenerator.default.async(function _callee2$(_context14) {
                    while (1) {
                      switch (_context14.prev = _context14.next) {
                        case 0:
                          return _context14.abrupt("return", operation.apply(undefined, args));

                        case 1:
                        case "end":
                          return _context14.stop();
                      }
                    }
                  }, null, null, null, Promise);
                }, {
                  priority: priority
                }));

              case 2:
              case "end":
                return _context15.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_loadImage",
      value: function _loadImage(newspaper, page, image) {
        var downloadedImages;
        return _regenerator.default.async(function _loadImage$(_context16) {
          while (1) {
            switch (_context16.prev = _context16.next) {
              case 0:
                _context16.next = 2;
                return _regenerator.default.awrap(this.loadImages(newspaper, page, [image]));

              case 2:
                downloadedImages = _context16.sent;

                if (!(downloadedImages.length > 0)) {
                  _context16.next = 5;
                  break;
                }

                return _context16.abrupt("return", downloadedImages[0]);

              case 5:
                return _context16.abrupt("return", null);

              case 6:
              case "end":
                return _context16.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_loadHrImage",
      value: function _loadHrImage(newspaper, page, xmlId, boxId, graph) {
        var downloadedImage;
        return _regenerator.default.async(function _loadHrImage$(_context17) {
          while (1) {
            switch (_context17.prev = _context17.next) {
              case 0:
                _context17.next = 2;
                return _regenerator.default.awrap(this.downloadHRImage(newspaper, page, xmlId, boxId, graph));

              case 2:
                downloadedImage = _context17.sent;

                if (downloadedImage) {
                  page.addImage(downloadedImage);
                  this.callDownloadListener([downloadedImage], newspaper);
                }

                return _context17.abrupt("return", downloadedImage);

              case 5:
              case "end":
                return _context17.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_loadHRImages",
      value: function _loadHRImages(newspaper, page) {
        var downloadedImages;
        return _regenerator.default.async(function _loadHRImages$(_context18) {
          while (1) {
            switch (_context18.prev = _context18.next) {
              case 0:
                _context18.next = 2;
                return _regenerator.default.awrap(this.downloadHRImages(newspaper, page));

              case 2:
                downloadedImages = _context18.sent;
                downloadedImages = downloadedImages.filter(function (downloadedImage) {
                  return downloadedImage;
                });

                if (downloadedImages.length > 0) {
                  downloadedImages.forEach(function (downloadedImage) {
                    page.addImage(downloadedImage);
                  });
                  this.callDownloadListener(downloadedImages, newspaper);
                }

                return _context18.abrupt("return", downloadedImages);

              case 6:
              case "end":
                return _context18.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_loadZip",
      value: function _loadZip(newspaper, page) {
        var downloadedImages;
        return _regenerator.default.async(function _loadZip$(_context19) {
          while (1) {
            switch (_context19.prev = _context19.next) {
              case 0:
                _context19.next = 2;
                return _regenerator.default.awrap(this.downloadZip(newspaper, page));

              case 2:
                downloadedImages = _context19.sent;
                downloadedImages = downloadedImages.filter(function (downloadedImage) {
                  return downloadedImage;
                });

                if (!(downloadedImages.length > 0)) {
                  _context19.next = 9;
                  break;
                }

                downloadedImages.forEach(function (downloadedImage) {
                  page.addImage(downloadedImage);
                });
                this.callDownloadListener(downloadedImages, newspaper);
                _context19.next = 9;
                return _regenerator.default.awrap(this.generateTextPngFromImages(newspaper, page, downloadedImages));

              case 9:
                return _context19.abrupt("return", downloadedImages);

              case 10:
              case "end":
                return _context19.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_loadMultiZip",
      value: function _loadMultiZip(newspaper, pages) {
        var _this4 = this;

        var downloadedImages, _loop, i;

        return _regenerator.default.async(function _loadMultiZip$(_context21) {
          while (1) {
            switch (_context21.prev = _context21.next) {
              case 0:
                _context21.next = 2;
                return _regenerator.default.awrap(this.downloadMultiZip(newspaper, pages));

              case 2:
                downloadedImages = _context21.sent;
                downloadedImages = downloadedImages.filter(function (downloadedImage) {
                  return downloadedImage;
                });

                if (!(downloadedImages.length > 0)) {
                  _context21.next = 14;
                  break;
                }

                _loop = function _callee3(i) {
                  var page, pageId, downloadedImagesForPage;
                  return _regenerator.default.async(function _callee3$(_context20) {
                    while (1) {
                      switch (_context20.prev = _context20.next) {
                        case 0:
                          page = pages[i];
                          pageId = page.pageId;
                          downloadedImagesForPage = downloadedImages.filter(function (elem) {
                            return elem.pageId === pageId;
                          });

                          if (!(downloadedImagesForPage && downloadedImagesForPage.length > 0)) {
                            _context20.next = 7;
                            break;
                          }

                          downloadedImagesForPage.forEach(function (downloadedImage) {
                            page.addImage(downloadedImage);
                          });
                          _context20.next = 7;
                          return _regenerator.default.awrap(_this4.generateTextPngFromImages(newspaper, page, downloadedImagesForPage));

                        case 7:
                        case "end":
                          return _context20.stop();
                      }
                    }
                  }, null, null, null, Promise);
                };

                i = 0;

              case 7:
                if (!(i < pages.length)) {
                  _context21.next = 13;
                  break;
                }

                _context21.next = 10;
                return _regenerator.default.awrap(_loop(i));

              case 10:
                i++;
                _context21.next = 7;
                break;

              case 13:
                this.callDownloadListener(downloadedImages, newspaper);

              case 14:
                return _context21.abrupt("return", downloadedImages);

              case 15:
              case "end":
                return _context21.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "loadImageInQueue",
      value: function loadImageInQueue(newspaper, page, image, isHighPriorityQueue, innerPriority) {
        return _regenerator.default.async(function loadImageInQueue$(_context22) {
          while (1) {
            switch (_context22.prev = _context22.next) {
              case 0:
                return _context22.abrupt("return", this.loadResource(isHighPriorityQueue, innerPriority, this.loadImage, newspaper, page, image));

              case 1:
              case "end":
                return _context22.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "loadThumbnailInQueue",
      value: function loadThumbnailInQueue(newspaper, page, image) {
        var _this5 = this;

        return _regenerator.default.async(function loadThumbnailInQueue$(_context24) {
          while (1) {
            switch (_context24.prev = _context24.next) {
              case 0:
                return _context24.abrupt("return", this.thumbnailDownloadQueue.add(function _callee4() {
                  return _regenerator.default.async(function _callee4$(_context23) {
                    while (1) {
                      switch (_context23.prev = _context23.next) {
                        case 0:
                          return _context23.abrupt("return", _this5.loadImage(newspaper, page, image));

                        case 1:
                        case "end":
                          return _context23.stop();
                      }
                    }
                  }, null, null, null, Promise);
                }));

              case 1:
              case "end":
                return _context24.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "loadHRImageInQueue",
      value: function loadHRImageInQueue(newspaper, page, xmlId, boxId, innerPriority, graph) {
        return _regenerator.default.async(function loadHRImageInQueue$(_context25) {
          while (1) {
            switch (_context25.prev = _context25.next) {
              case 0:
                return _context25.abrupt("return", this.loadHighResResource(innerPriority, this.loadHrImage, newspaper, page, xmlId, boxId, graph));

              case 1:
              case "end":
                return _context25.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "loadHRImagesInQueue",
      value: function loadHRImagesInQueue(newspaper, page, isHighPriorityQueue, innerPriority) {
        return _regenerator.default.async(function loadHRImagesInQueue$(_context26) {
          while (1) {
            switch (_context26.prev = _context26.next) {
              case 0:
                return _context26.abrupt("return", this.loadResource(isHighPriorityQueue, innerPriority, this.loadHRImages, newspaper, page));

              case 1:
              case "end":
                return _context26.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "loadZipInQueue",
      value: function loadZipInQueue(newspaper, page, isHighPriorityQueue, innerPriority) {
        return _regenerator.default.async(function loadZipInQueue$(_context27) {
          while (1) {
            switch (_context27.prev = _context27.next) {
              case 0:
                return _context27.abrupt("return", this.loadResource(isHighPriorityQueue, innerPriority, this.loadZip, newspaper, page));

              case 1:
              case "end":
                return _context27.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "loadMultiZipInQueue",
      value: function loadMultiZipInQueue(newspaper, pages, isHighPriorityQueue, innerPriority) {
        return _regenerator.default.async(function loadMultiZipInQueue$(_context28) {
          while (1) {
            switch (_context28.prev = _context28.next) {
              case 0:
                return _context28.abrupt("return", this.loadResource(isHighPriorityQueue, innerPriority, this.loadMultiZip, newspaper, pages));

              case 1:
              case "end":
                return _context28.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "downloadIndex",
      value: function downloadIndex(newspaper) {
        var error, TIMEOUT, NO_GRANTS, GENERIC_ERROR, issue, edition, result, invalid, index, params;
        return _regenerator.default.async(function downloadIndex$(_context29) {
          while (1) {
            switch (_context29.prev = _context29.next) {
              case 0:
                TIMEOUT = _downloadUtils.DOWNLOAD_ERROR_CODES.TIMEOUT, NO_GRANTS = _downloadUtils.DOWNLOAD_ERROR_CODES.NO_GRANTS, GENERIC_ERROR = _downloadUtils.DOWNLOAD_ERROR_CODES.GENERIC_ERROR;
                issue = newspaper.dbIssue, edition = newspaper.dbEdition;
                _context29.prev = 2;
                _context29.next = 5;
                return _regenerator.default.awrap(_NewsmemoryAJAX.default.downloadPaperIndex(issue, edition));

              case 5:
                result = _context29.sent;
                invalid = result.invalid ? parseInt(result.invalid, 10) : 0;

                if (invalid) {
                  _context29.next = 16;
                  break;
                }

                if (!(Array.isArray(result) && result.length > 0)) {
                  _context29.next = 10;
                  break;
                }

                return _context29.abrupt("return", {
                  index: result
                });

              case 10:
                index = result.index;

                if (!(index && Array.isArray(index) && index.length > 0)) {
                  _context29.next = 13;
                  break;
                }

                return _context29.abrupt("return", result);

              case 13:
                error = new _downloadUtils.DownloadError(GENERIC_ERROR, "Index is invalid");
                _context29.next = 18;
                break;

              case 16:
                params = {
                  valErrCode: result.valErrCode,
                  issue: result.issue,
                  edition: result.edition,
                  extraParams: result.extraParams
                };

                if (invalid === NO_GRANTS) {
                  error = new _downloadUtils.DownloadError(NO_GRANTS, "No grants");
                  error.setParams(params);
                } else {
                  error = new _downloadUtils.DownloadError(GENERIC_ERROR, "Invalid response from the server");
                }

              case 18:
                _context29.next = 23;
                break;

              case 20:
                _context29.prev = 20;
                _context29.t0 = _context29["catch"](2);
                error = new _downloadUtils.DownloadError(TIMEOUT, "Unable to download index from server");

              case 23:
                throw error;

              case 24:
              case "end":
                return _context29.stop();
            }
          }
        }, null, null, [[2, 20]], Promise);
      }
    }, {
      key: "generateTextPngFromImages",
      value: function generateTextPngFromImages(newspaper, page, downloadedImages) {
        var i, downloadedImage, textPDFFullPath, destination, _DeviceUtils$getScree, width, height, isPortrait, _ref9, graphWidth, graphHeight, _global$getActivePSet3, pngQualityFactor, generatePNGBasedOnScreenDimensions, considerPixelRatioInPNGGeneration, pngWidthLimit, pngLocation, pngImage, pngName, relativePathToImage, paper, issue, secret, filename, filetime, path, _width, _height, gifLocation, _await$getImageSize, _await$NewsmemoryAJAX, _pngImage, _relativePathToImage;

        return _regenerator.default.async(function generateTextPngFromImages$(_context30) {
          while (1) {
            switch (_context30.prev = _context30.next) {
              case 0:
                if (!_$$_REQUIRE(_dependencyMap[21]).PlatformUtils.isAndroid()) {
                  _context30.next = 3;
                  break;
                }

                _context30.next = 86;
                break;

              case 3:
                if (!page.getPNGImage()) {
                  _context30.next = 6;
                  break;
                }

                _context30.next = 86;
                break;

              case 6:
                i = 0;

              case 7:
                if (!(i < downloadedImages.length)) {
                  _context30.next = 86;
                  break;
                }

                downloadedImage = downloadedImages[i];

                if (!downloadedImage.isTextPDF()) {
                  _context30.next = 83;
                  break;
                }

                textPDFFullPath = _tecnaviaFileUtils.default.getNewsmemoryBaseDirectory() + downloadedImage.getBase64();
                destination = textPDFFullPath.replace(/.{3}$/, "png");
                _context30.prev = 12;
                _DeviceUtils$getScree = _deviceUtils.default.getScreenDimensions(), width = _DeviceUtils$getScree.width, height = _DeviceUtils$getScree.height, isPortrait = _DeviceUtils$getScree.isPortrait;
                _ref9 = page.getGraphImage() || {
                  width: page.getFrameWidth(),
                  height: page.getFrameHeight()
                }, graphWidth = _ref9.width, graphHeight = _ref9.height;
                _global$getActivePSet3 = global.getActivePSetup(), pngQualityFactor = _global$getActivePSet3.pngQualityFactor, generatePNGBasedOnScreenDimensions = _global$getActivePSet3.generatePNGBasedOnScreenDimensions, considerPixelRatioInPNGGeneration = _global$getActivePSet3.considerPixelRatioInPNGGeneration, pngWidthLimit = _global$getActivePSet3.pngWidthLimit;
                _context30.next = 18;
                return _regenerator.default.awrap(_pdfUtils.default.pdfToPng({
                  page: page.getPageId(),
                  isDoubleTruck: page.isDoubleTruck(),
                  source: textPDFFullPath,
                  destination: destination,
                  graphWidth: graphWidth,
                  graphHeight: graphHeight,
                  pngQualityFactor: pngQualityFactor,
                  generatePNGBasedOnScreenDimensions: generatePNGBasedOnScreenDimensions,
                  width: isPortrait ? width : height,
                  height: isPortrait ? height : width,
                  pixelRatio: considerPixelRatioInPNGGeneration ? _$$_REQUIRE(_dependencyMap[21]).PlatformUtils.info.pixelRatio : 1,
                  pngWidthLimit: pngWidthLimit || 1080
                }));

              case 18:
                pngLocation = _context30.sent;

                if (!(pngLocation === destination)) {
                  _context30.next = 33;
                  break;
                }

                pngImage = new _EPaperImage.default();
                pngImage.setHeight(downloadedImage.getHeight());
                pngImage.setWidth(downloadedImage.getWidth());
                pngImage.setPageId(downloadedImage.getPageId());
                pngName = _$$_REQUIRE(_dependencyMap[21]).StringUtils.fileNameFromPath(pngLocation);
                pngImage.setName(pngName);
                pngImage.setTypeByName(pngName);
                relativePathToImage = pngLocation.replace(_tecnaviaFileUtils.default.getNewsmemoryBaseDirectory(), "");
                pngImage.setBase64(relativePathToImage);
                page.addImage(pngImage);
                this.callDownloadListener([pngImage], newspaper);
                _context30.next = 34;
                break;

              case 33:
                throw new Error("path to generated PNG does not match destination path: " + pngLocation + ", " + destination);

              case 34:
                _context30.next = 83;
                break;

              case 36:
                _context30.prev = 36;
                _context30.t0 = _context30["catch"](12);

                if (!newspaper) {
                  _context30.next = 83;
                  break;
                }

                paper = newspaper.getPaper();
                issue = newspaper.getIssue();
                secret = newspaper.getSecret();
                filename = page.getFilename();
                filetime = page.getModifyTime();
                _context30.prev = 44;
                path = undefined;
                _width = undefined;
                _height = undefined;
                gifLocation = _NewsmemoryDatabasesManager.default.getNewspaperIssueDirectory(paper, issue) + filename + "/" + _EPaperImage.EPaperImageName.GIF;
                _context30.next = 51;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.exists(gifLocation));

              case 51:
                if (!_context30.sent) {
                  _context30.next = 60;
                  break;
                }

                path = gifLocation;
                _context30.next = 55;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[23]).getImageSize)("file://" + path));

              case 55:
                _await$getImageSize = _context30.sent;
                _width = _await$getImageSize.width;
                _height = _await$getImageSize.height;
                _context30.next = 66;
                break;

              case 60:
                _context30.next = 62;
                return _regenerator.default.awrap(_NewsmemoryAJAX.default.downloadImage(paper, issue, _EPaperImage.EPaperImageName.GIF, filename, filetime, secret));

              case 62:
                _await$NewsmemoryAJAX = _context30.sent;
                path = _await$NewsmemoryAJAX.path;
                _width = _await$NewsmemoryAJAX.width;
                _height = _await$NewsmemoryAJAX.height;

              case 66:
                if (!path) {
                  _context30.next = 79;
                  break;
                }

                _context30.next = 69;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.moveFile(path, destination));

              case 69:
                _pngImage = new _EPaperImage.default();

                _pngImage.setHeight(_height);

                _pngImage.setWidth(_width);

                _pngImage.setPageId(downloadedImage.getPageId());

                _pngImage.setName(_EPaperImage.EPaperImageName.PNG);

                _pngImage.setTypeByName(_EPaperImage.EPaperImageName.PNG);

                _relativePathToImage = destination.replace(_tecnaviaFileUtils.default.getNewsmemoryBaseDirectory(), "");

                _pngImage.setBase64(_relativePathToImage);

                page.addImage(_pngImage);
                this.callDownloadListener([_pngImage], newspaper);

              case 79:
                _context30.next = 83;
                break;

              case 81:
                _context30.prev = 81;
                _context30.t1 = _context30["catch"](44);

              case 83:
                i++;
                _context30.next = 7;
                break;

              case 86:
              case "end":
                return _context30.stop();
            }
          }
        }, null, this, [[12, 36], [44, 81]], Promise);
      }
    }, {
      key: "updateCDNStatus",
      value: function updateCDNStatus(issue, edition) {
        var _global$getActivePSet4, cdnEnabled, cdnServer, loginStatus, newsmemoryConfig, result, _result, data, enabled, server, version, userValid, oneTimeTokenValid, pSetupChange;

        return _regenerator.default.async(function updateCDNStatus$(_context31) {
          while (1) {
            switch (_context31.prev = _context31.next) {
              case 0:
                _global$getActivePSet4 = global.getActivePSetup(), cdnEnabled = _global$getActivePSet4.cdnEnabled, cdnServer = _global$getActivePSet4.cdnServer, loginStatus = _global$getActivePSet4.loginStatus;
                newsmemoryConfig = global.getNewsmemoryConfig();

                if (newsmemoryConfig) {
                  newsmemoryConfig.setCDNEnabled(cdnEnabled);
                  newsmemoryConfig.setCDNServer(cdnServer);
                  newsmemoryConfig.resetDBDownloadPSetup();
                }

                _context31.prev = 3;
                _context31.next = 6;
                return _regenerator.default.awrap(_NewsmemoryAJAX.default.getCDNStatus(issue, edition));

              case 6:
                result = _context31.sent;
                _context31.next = 12;
                break;

              case 9:
                _context31.prev = 9;
                _context31.t0 = _context31["catch"](3);

                if (loginStatus) {
                  loginStatus.setHasAccess(issue, edition, true);
                }

              case 12:
                if (result && result.data) {
                  _result = result, data = _result.data;

                  try {} catch (e) {}

                  enabled = data.enabled, server = data.server, version = data.version, userValid = data.userValid, oneTimeTokenValid = data.oneTimeTokenValid, pSetupChange = data.pSetupChange;

                  if (loginStatus) {
                    loginStatus.setHasAccess(issue, edition, userValid);

                    if (!oneTimeTokenValid) {
                      loginStatus.resetOneTimeToken();
                    }
                  }

                  if (newsmemoryConfig) {
                    if (enabled !== undefined) {
                      newsmemoryConfig.setCDNEnabled(enabled === 1);
                    }

                    if (server) {
                      newsmemoryConfig.setCDNServer(server);
                    }

                    if (pSetupChange) {
                      newsmemoryConfig.setDBDownloadPSetup(pSetupChange);
                    }
                  }
                }

                return _context31.abrupt("return", result);

              case 14:
              case "end":
                return _context31.stop();
            }
          }
        }, null, null, [[3, 9]], Promise);
      }
    }], [{
      key: "downloadArticles",
      value: function downloadArticles(issue, edition, pageFileName, secret) {
        var articles, inc, rawArticles;
        return _regenerator.default.async(function downloadArticles$(_context32) {
          while (1) {
            switch (_context32.prev = _context32.next) {
              case 0:
                articles = [];
                _context32.prev = 1;
                inc = 0;
                _context32.next = 5;
                return _regenerator.default.awrap(_NewsmemoryAJAX.default.downloadArticles(issue, edition, pageFileName, secret));

              case 5:
                rawArticles = _context32.sent;
                articles = rawArticles.map(function (rawArticle) {
                  if (rawArticle.pageDesc) {
                    rawArticle.boxes = rawArticle.boxes + "@" + rawArticle.pageDesc;
                  }

                  rawArticle.inc = inc;
                  inc += 1;
                  return _NewsmemoryToDTO.default.dbArticleToDTO(rawArticle);
                });
                _context32.next = 11;
                break;

              case 9:
                _context32.prev = 9;
                _context32.t0 = _context32["catch"](1);

              case 11:
                return _context32.abrupt("return", articles);

              case 12:
              case "end":
                return _context32.stop();
            }
          }
        }, null, null, [[1, 9]], Promise);
      }
    }]);
    return DownloadManager;
  }();

  exports.default = DownloadManager;
},2310,[5,80,21,7,8,1940,430,714,638,587,574,2160,460,586,458,1859,2308,640,603,710,572,462,2168,588]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _DownloadOperation2 = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _EPaperImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SingleImageDownloadOperation = function (_DownloadOperation) {
    (0, _inherits2.default)(SingleImageDownloadOperation, _DownloadOperation);

    var _super = _createSuper(SingleImageDownloadOperation);

    function SingleImageDownloadOperation(resource, priority, downloadRef) {
      (0, _classCallCheck2.default)(this, SingleImageDownloadOperation);
      return _super.call(this, _DownloadOperation2.DownloadOperationTypes.SINGLE_IMAGE, resource, priority, downloadRef);
    }

    (0, _createClass2.default)(SingleImageDownloadOperation, [{
      key: "getPage",
      value: function getPage() {
        var page = this.resource.page;
        return page;
      }
    }, {
      key: "getImage",
      value: function getImage() {
        var image = this.resource.image;
        return image;
      }
    }]);
    return SingleImageDownloadOperation;
  }(_DownloadOperation2.default);

  exports.default = SingleImageDownloadOperation;
},2311,[5,7,8,12,14,16,2312,638,587]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.DownloadOperationTypes = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var DownloadOperationTypes = {
    SINGLE_IMAGE: "singleimage",
    SINGLE_ZIP: "singlezip",
    MULTI_ZIP: "multizip",
    SINGLE_HR_ZIP: "singlehrzip"
  };
  exports.DownloadOperationTypes = DownloadOperationTypes;

  var DownloadOperation = function () {
    function DownloadOperation(type, resource) {
      var priority = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
      var downloadRef = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : -1;
      (0, _classCallCheck2.default)(this, DownloadOperation);
      this.type = type;
      this.resource = resource;
      this.priority = priority;
      this.downloadRef = downloadRef;
      this.weight = 1;
    }

    (0, _createClass2.default)(DownloadOperation, [{
      key: "getDownloadRef",
      value: function getDownloadRef() {
        return this.downloadRef;
      }
    }, {
      key: "getType",
      value: function getType() {
        return this.type;
      }
    }, {
      key: "getResource",
      value: function getResource() {
        return this.resource;
      }
    }, {
      key: "getPriority",
      value: function getPriority() {
        return this.priority;
      }
    }, {
      key: "getWeight",
      value: function getWeight() {
        return this.weight;
      }
    }]);
    return DownloadOperation;
  }();

  exports.default = DownloadOperation;
},2312,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _DownloadOperation2 = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SingleZipDownloadOperation = function (_DownloadOperation) {
    (0, _inherits2.default)(SingleZipDownloadOperation, _DownloadOperation);

    var _super = _createSuper(SingleZipDownloadOperation);

    function SingleZipDownloadOperation(resource, priority, downloadRef) {
      (0, _classCallCheck2.default)(this, SingleZipDownloadOperation);
      return _super.call(this, _DownloadOperation2.DownloadOperationTypes.SINGLE_ZIP, resource, priority, downloadRef);
    }

    return SingleZipDownloadOperation;
  }(_DownloadOperation2.default);

  exports.default = SingleZipDownloadOperation;
},2313,[5,7,12,14,16,2312,638]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _DownloadOperation2 = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var MultiZipDownloadOperation = function (_DownloadOperation) {
    (0, _inherits2.default)(MultiZipDownloadOperation, _DownloadOperation);

    var _super = _createSuper(MultiZipDownloadOperation);

    function MultiZipDownloadOperation() {
      var _this;

      var resource = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
      var priority = arguments.length > 1 ? arguments[1] : undefined;
      var downloadRef = arguments.length > 2 ? arguments[2] : undefined;
      (0, _classCallCheck2.default)(this, MultiZipDownloadOperation);
      _this = _super.call(this, _DownloadOperation2.DownloadOperationTypes.MULTI_ZIP, resource, priority, downloadRef);
      _this.weight = resource.length;
      return _this;
    }

    (0, _createClass2.default)(MultiZipDownloadOperation, [{
      key: "getNumberOfPages",
      value: function getNumberOfPages() {
        return this.resource.length;
      }
    }, {
      key: "addPage",
      value: function addPage(page) {
        this.resource.push(page);
        this.weight = this.resource.length;
      }
    }]);
    return MultiZipDownloadOperation;
  }(_DownloadOperation2.default);

  exports.default = MultiZipDownloadOperation;
},2314,[5,7,8,12,14,16,2312,638]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _DownloadOperation2 = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SingleHRZipDownloadOperation = function (_DownloadOperation) {
    (0, _inherits2.default)(SingleHRZipDownloadOperation, _DownloadOperation);

    var _super = _createSuper(SingleHRZipDownloadOperation);

    function SingleHRZipDownloadOperation(resource, priority, downloadRef) {
      (0, _classCallCheck2.default)(this, SingleHRZipDownloadOperation);
      return _super.call(this, _DownloadOperation2.DownloadOperationTypes.SINGLE_HR_ZIP, resource, priority, downloadRef);
    }

    return SingleHRZipDownloadOperation;
  }(_DownloadOperation2.default);

  exports.default = SingleHRZipDownloadOperation;
},2315,[5,7,12,14,16,2312,638]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _NewsmemoryDatabasesManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _Database = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _NewsmemoryEditionsManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var PurgeTask = function () {
    function PurgeTask(issueToDownload) {
      (0, _classCallCheck2.default)(this, PurgeTask);
      this.TAG = "PURGE_TASK";
      this.basePath = _tecnaviaFileUtils.default.getNewsmemoryBaseDirectory();
      this.baseEditionPath = _tecnaviaFileUtils.default.getNewspaperBaseDirectory();
      this.downloadedSharedPdf = _tecnaviaFileUtils.default.getDownloadedPdfDirectory();

      if (issueToDownload) {
        this.issueToDownload = issueToDownload;
        this.issueToDownloadPath = this.basePath + issueToDownload;
      }

      this.nIssuesToLeave = this.getNIssuesToLeave();
      this.newspapersToDelete = [];
      this.issuesToLeave = [];
      this.issuesToRemove = [];
      this.foldersToRemove = [];
      this.foldersToLeave = [];
      this.purgeStartTime = 0;
    }

    (0, _createClass2.default)(PurgeTask, [{
      key: "onPreExecute",
      value: function onPreExecute() {
        this.purgeStartTime = new Date().getTime();
        this.purgeLog(" ======== START ======= ");
      }
    }, {
      key: "onPostExecute",
      value: function onPostExecute(result) {
        var purgeEndTime = new Date().getTime();
        this.purgeLog("finish -> result: " + result + ", time: " + (purgeEndTime - this.purgeStartTime) / 1000 + "s ");
        this.purgeLog(" ======== STOP ======= ");
      }
    }, {
      key: "purgeIssue",
      value: function purgeIssue(issue) {
        var result, allIssues, allIssueToLeave;
        return _regenerator.default.async(function purgeIssue$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                this.onPreExecute();
                result = true;
                _context.prev = 2;
                _context.next = 5;
                return _regenerator.default.awrap(this.getAllIssues());

              case 5:
                allIssues = _context.sent;
                _context.next = 8;
                return _regenerator.default.awrap(allIssues.reduce(function (reduced, item) {
                  if (item.getIssue() !== issue) {
                    reduced.push(item.getIssue());
                  }

                  return reduced;
                }, []));

              case 8:
                allIssueToLeave = _context.sent;
                _context.next = 11;
                return _regenerator.default.awrap(this.doPurgeInBackground(allIssueToLeave, allIssueToLeave.length));

              case 11:
                result = _context.sent;
                _context.next = 18;
                break;

              case 14:
                _context.prev = 14;
                _context.t0 = _context["catch"](2);
                this.purgeLog(_context.t0);
                result = false;

              case 18:
                this.onPostExecute(result);
                return _context.abrupt("return", result);

              case 20:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[2, 14]], Promise);
      }
    }, {
      key: "purge",
      value: function purge() {
        var result;
        return _regenerator.default.async(function purge$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                this.onPreExecute();
                _context2.next = 3;
                return _regenerator.default.awrap(this.doPurgeInBackground([this.getToday(), this.getYesterday()], this.nIssuesToLeave));

              case 3:
                result = _context2.sent;
                this.onPostExecute(result);
                return _context2.abrupt("return", result);

              case 6:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "doPurgeInBackground",
      value: function doPurgeInBackground(issuesToMaintain, slots) {
        var result;
        return _regenerator.default.async(function doPurgeInBackground$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                result = true;
                _context3.prev = 1;
                _context3.next = 4;
                return _regenerator.default.awrap(this.initIssuesStored(issuesToMaintain, slots));

              case 4:
                if (!this.isThereSomethingToPurge()) {
                  _context3.next = 21;
                  break;
                }

                _context3.next = 7;
                return _regenerator.default.awrap(this.initFolderToLeave());

              case 7:
                _context3.next = 9;
                return _regenerator.default.awrap(this.initFolderToRemove());

              case 9:
                _context3.next = 11;
                return _regenerator.default.awrap(this.cleanFolderToRemoveFromSharePage());

              case 11:
                _context3.next = 13;
                return _regenerator.default.awrap(this.deletePages());

              case 13:
                _context3.next = 15;
                return _regenerator.default.awrap(this.deleteSecret());

              case 15:
                _context3.next = 17;
                return _regenerator.default.awrap(this.deleteIssueDatabase());

              case 17:
                _context3.next = 19;
                return _regenerator.default.awrap(this.deleteParentFolderIfEmpty());

              case 19:
                _context3.next = 21;
                return _regenerator.default.awrap(this.deleteIssueFromDatabases());

              case 21:
                _context3.next = 23;
                return _regenerator.default.awrap(this.deleteSharedPdf());

              case 23:
                _context3.next = 29;
                break;

              case 25:
                _context3.prev = 25;
                _context3.t0 = _context3["catch"](1);
                this.purgeLog(_context3.t0);
                result = false;

              case 29:
                return _context3.abrupt("return", result);

              case 30:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, [[1, 25]], Promise);
      }
    }, {
      key: "isThereSomethingToPurge",
      value: function isThereSomethingToPurge() {
        return this.issuesToRemove.length > 0;
      }
    }, {
      key: "detachBasePath",
      value: function detachBasePath(filePath) {
        return filePath.replace(this.basePath, "");
      }
    }, {
      key: "deletePages",
      value: function deletePages() {
        var i, result;
        return _regenerator.default.async(function deletePages$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                this.purgeLog("DELETE ISSUE PAGES");
                i = 0;

              case 2:
                if (!(i < this.foldersToRemove.length)) {
                  _context4.next = 17;
                  break;
                }

                result = false;
                _context4.prev = 4;
                _context4.next = 7;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unlink(this.foldersToRemove[i]));

              case 7:
                result = true;
                _context4.next = 13;
                break;

              case 10:
                _context4.prev = 10;
                _context4.t0 = _context4["catch"](4);
                this.purgeLog(_context4.t0.message);

              case 13:
                this.purgeLog("page -> " + this.foldersToRemove[i] + " -> " + result);

              case 14:
                i++;
                _context4.next = 2;
                break;

              case 17:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, [[4, 10]], Promise);
      }
    }, {
      key: "deleteSecret",
      value: function deleteSecret() {
        var i, result, secretFile;
        return _regenerator.default.async(function deleteSecret$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                this.purgeLog("DELETE SECRET FILES");
                i = 0;

              case 2:
                if (!(i < this.issuesToRemove.length)) {
                  _context5.next = 18;
                  break;
                }

                result = false;
                secretFile = _$$_REQUIRE(_dependencyMap[10]).StringUtils.getParentPath(this.issuesToRemove[i]) + "/secret.pdf";
                _context5.prev = 5;
                _context5.next = 8;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unlink(secretFile));

              case 8:
                result = true;
                _context5.next = 14;
                break;

              case 11:
                _context5.prev = 11;
                _context5.t0 = _context5["catch"](5);
                this.purgeLog(_context5.t0.message);

              case 14:
                this.purgeLog("secret -> " + secretFile + "-> " + result);

              case 15:
                i++;
                _context5.next = 2;
                break;

              case 18:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, [[5, 11]], Promise);
      }
    }, {
      key: "deleteIssueDatabase",
      value: function deleteIssueDatabase() {
        var i, result, database;
        return _regenerator.default.async(function deleteIssueDatabase$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                this.purgeLog("DELETE ISSUES DATABASE");
                i = 0;

              case 2:
                if (!(i < this.issuesToRemove.length)) {
                  _context6.next = 18;
                  break;
                }

                result = false;
                _context6.prev = 4;
                database = new _Database.default(this.issuesToRemove[i]);
                _context6.next = 8;
                return _regenerator.default.awrap(database.delete());

              case 8:
                result = _context6.sent;
                _context6.next = 14;
                break;

              case 11:
                _context6.prev = 11;
                _context6.t0 = _context6["catch"](4);
                this.purgeLog(_context6.t0.message);

              case 14:
                this.purgeLog("database -> " + this.issuesToRemove[i] + " -> " + result);

              case 15:
                i++;
                _context6.next = 2;
                break;

              case 18:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, [[4, 11]], Promise);
      }
    }, {
      key: "deleteParentFolderIfEmpty",
      value: function deleteParentFolderIfEmpty() {
        var i, result, parentFolder;
        return _regenerator.default.async(function deleteParentFolderIfEmpty$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                this.purgeLog("DELETE ISSUES FOLDER");
                i = 0;

              case 2:
                if (!(i < this.issuesToRemove.length)) {
                  _context7.next = 21;
                  break;
                }

                result = false;
                parentFolder = _$$_REQUIRE(_dependencyMap[10]).StringUtils.getParentPath(this.issuesToRemove[i]);
                _context7.prev = 5;
                _context7.next = 8;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.empty(parentFolder));

              case 8:
                if (!_context7.sent) {
                  _context7.next = 12;
                  break;
                }

                _context7.next = 11;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unlink(parentFolder));

              case 11:
                result = true;

              case 12:
                _context7.next = 17;
                break;

              case 14:
                _context7.prev = 14;
                _context7.t0 = _context7["catch"](5);
                this.purgeLog(_context7.t0.message);

              case 17:
                this.purgeLog("issue folder -> " + parentFolder + " -> " + result);

              case 18:
                i++;
                _context7.next = 2;
                break;

              case 21:
              case "end":
                return _context7.stop();
            }
          }
        }, null, this, [[5, 14]], Promise);
      }
    }, {
      key: "deleteIssueFromDatabases",
      value: function deleteIssueFromDatabases() {
        var i, result, issue;
        return _regenerator.default.async(function deleteIssueFromDatabases$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                this.purgeLog("DELETE ISSUES FROM DATABASES");
                i = 0;

              case 2:
                if (!(i < this.issuesToRemove.length)) {
                  _context8.next = 18;
                  break;
                }

                result = false;
                issue = this.detachBasePath(this.issuesToRemove[i]);
                _context8.prev = 5;
                _context8.next = 8;
                return _regenerator.default.awrap(_NewsmemoryDatabasesManager.default.deleteIssueByFilename(issue));

              case 8:
                result = _context8.sent;
                _context8.next = 14;
                break;

              case 11:
                _context8.prev = 11;
                _context8.t0 = _context8["catch"](5);
                this.purgeLog(_context8.t0.message);

              case 14:
                this.purgeLog("issue -> " + issue + " -> " + result);

              case 15:
                i++;
                _context8.next = 2;
                break;

              case 18:
              case "end":
                return _context8.stop();
            }
          }
        }, null, this, [[5, 11]], Promise);
      }
    }, {
      key: "deleteSharedPdf",
      value: function deleteSharedPdf() {
        var today, olderMills, files, i, mtime;
        return _regenerator.default.async(function deleteSharedPdf$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                this.purgeLog("DELETE SHARED PDF");
                today = new Date().getTime();
                olderMills = 172800000;
                _context9.prev = 3;
                _context9.next = 6;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.readDir(this.downloadedSharedPdf));

              case 6:
                files = _context9.sent;
                i = 0;

              case 8:
                if (!(i < files.length)) {
                  _context9.next = 17;
                  break;
                }

                mtime = new Date(files[i].mtime).getTime();

                if (!(today - mtime > olderMills)) {
                  _context9.next = 14;
                  break;
                }

                this.purgeLog("delete " + files[i].path);
                _context9.next = 14;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unlink(files[i].path));

              case 14:
                i++;
                _context9.next = 8;
                break;

              case 17:
                _context9.next = 22;
                break;

              case 19:
                _context9.prev = 19;
                _context9.t0 = _context9["catch"](3);
                this.purgeLog(_context9.t0.message);

              case 22:
              case "end":
                return _context9.stop();
            }
          }
        }, null, this, [[3, 19]], Promise);
      }
    }, {
      key: "getToday",
      value: function getToday() {
        return _$$_REQUIRE(_dependencyMap[10]).DateUtils.getTodayString("YYYYMMDD");
      }
    }, {
      key: "getYesterday",
      value: function getYesterday() {
        return _$$_REQUIRE(_dependencyMap[10]).DateUtils.getYesterdayString("YYYYMMDD");
      }
    }, {
      key: "getAllIssues",
      value: function getAllIssues() {
        return _regenerator.default.async(function getAllIssues$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                return _context10.abrupt("return", _NewsmemoryDatabasesManager.default.getAllIssues());

              case 1:
              case "end":
                return _context10.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "initIssuesStored",
      value: function initIssuesStored(recentlyIssues, totalSlots) {
        var _this = this;

        var allIssues, mainIssues, otherIssues, alreadyDownload, downloadingSlot;
        return _regenerator.default.async(function initIssuesStored$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                _context11.prev = 0;
                _context11.next = 3;
                return _regenerator.default.awrap(this.getAllIssues());

              case 3:
                allIssues = _context11.sent;
                mainIssues = allIssues.filter(function (issue) {
                  return recentlyIssues.includes(issue.getIssue());
                });
                otherIssues = allIssues.filter(function (issue) {
                  return !recentlyIssues.includes(issue.getIssue());
                });
                alreadyDownload = this.issueToDownload ? allIssues.findIndex(function (issue) {
                  return issue.getIssue() === _this.issueToDownload;
                }) > -1 : true;
                downloadingSlot = alreadyDownload ? 0 : 1;
                this.purgeLog("leave slots " + totalSlots + " -> other issues: " + otherIssues.length + ", main issues: " + mainIssues.length + ", downloading: " + downloadingSlot);
                this.purgeLog("ISSUES");
                mainIssues.forEach(function (issue) {
                  var fileName = issue.getFilename();

                  if (_this.issuesToLeave.length < totalSlots - downloadingSlot) {
                    _this.issuesToLeave.push(fileName);

                    _this.purgeLog("main to leave -> " + fileName);
                  } else {
                    _this.newspapersToDelete.push(issue);

                    _this.issuesToRemove.push(fileName);

                    _this.purgeLog("main to remove -> " + fileName);
                  }
                });
                otherIssues.sort(function (a, b) {
                  return b.getDownloadTime() - a.getDownloadTime();
                });
                otherIssues.forEach(function (issue) {
                  var fileName = issue.getFilename();

                  if (_this.issuesToLeave.length < totalSlots - downloadingSlot) {
                    _this.issuesToLeave.push(fileName);

                    _this.purgeLog("to leave -> " + fileName);
                  } else {
                    _this.newspapersToDelete.push(issue);

                    _this.issuesToRemove.push(fileName);

                    _this.purgeLog("to remove -> " + fileName);
                  }
                });
                _context11.next = 18;
                break;

              case 15:
                _context11.prev = 15;
                _context11.t0 = _context11["catch"](0);
                this.purgeLog(_context11.t0);

              case 18:
              case "end":
                return _context11.stop();
            }
          }
        }, null, this, [[0, 15]], Promise);
      }
    }, {
      key: "initFolderToLeave",
      value: function initFolderToLeave() {
        return _regenerator.default.async(function initFolderToLeave$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                _context12.next = 2;
                return _regenerator.default.awrap(this.initFolderListFromEditions(this.issuesToLeave));

              case 2:
                this.foldersToLeave = _context12.sent;

              case 3:
              case "end":
                return _context12.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "initFolderToRemove",
      value: function initFolderToRemove() {
        return _regenerator.default.async(function initFolderToRemove$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                _context13.next = 2;
                return _regenerator.default.awrap(this.initFolderListFromEditions(this.issuesToRemove));

              case 2:
                this.foldersToRemove = _context13.sent;

              case 3:
              case "end":
                return _context13.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "initFolderListFromEditions",
      value: function initFolderListFromEditions() {
        var _this2 = this;

        var issuesDb,
            folders,
            _loop,
            i,
            _args15 = arguments;

        return _regenerator.default.async(function initFolderListFromEditions$(_context15) {
          while (1) {
            switch (_context15.prev = _context15.next) {
              case 0:
                issuesDb = _args15.length > 0 && _args15[0] !== undefined ? _args15[0] : [];
                folders = [];

                _loop = function _callee(i) {
                  var issueDbPath, issueManager, pages;
                  return _regenerator.default.async(function _callee$(_context14) {
                    while (1) {
                      switch (_context14.prev = _context14.next) {
                        case 0:
                          issueDbPath = issuesDb[i];
                          issueManager = new _NewsmemoryEditionsManager.default();
                          issueManager.initDatabase(issueDbPath);
                          _context14.prev = 3;
                          _context14.next = 6;
                          return _regenerator.default.awrap(issueManager.getPages());

                        case 6:
                          pages = _context14.sent;
                          pages.forEach(function (page) {
                            folders.push(_$$_REQUIRE(_dependencyMap[10]).StringUtils.getParentPath(issueDbPath) + "/" + page.getFilename());
                          });
                          _context14.next = 13;
                          break;

                        case 10:
                          _context14.prev = 10;
                          _context14.t0 = _context14["catch"](3);

                          _this2.purgeLog(_context14.t0);

                        case 13:
                        case "end":
                          return _context14.stop();
                      }
                    }
                  }, null, null, [[3, 10]], Promise);
                };

                i = 0;

              case 4:
                if (!(i < issuesDb.length)) {
                  _context15.next = 10;
                  break;
                }

                _context15.next = 7;
                return _regenerator.default.awrap(_loop(i));

              case 7:
                i++;
                _context15.next = 4;
                break;

              case 10:
                return _context15.abrupt("return", folders);

              case 11:
              case "end":
                return _context15.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "cleanFolderToRemoveFromSharePage",
      value: function cleanFolderToRemoveFromSharePage() {
        var _this3 = this;

        this.purgeLog("REMOVED SHARED PAGES FROM TO BE REMOVED LIST");
        this.foldersToRemove = this.foldersToRemove.filter(function (folder) {
          if (_this3.foldersToLeave.includes(folder)) {
            _this3.purgeLog("shared pages -> " + folder);

            return false;
          }

          return true;
        });
      }
    }, {
      key: "getNIssuesToLeave",
      value: function getNIssuesToLeave() {
        return 2 + parseInt(global.getNewsmemoryConfig().limit, 10);
      }
    }, {
      key: "fileNotExistsInList",
      value: function fileNotExistsInList(path, list) {
        var found = !list.length || list.findIndex(function (toLeave) {
          try {
            return _tecnaviaFileUtils.default.getCanonicalPath(toLeave).includes(path);
          } catch (e) {
            return true;
          }
        }) > -1;
        return !found;
      }
    }, {
      key: "checkZombie",
      value: function checkZombie(basePath) {
        var files, i, _files$i, path, name, isDirectory, database;

        return _regenerator.default.async(function checkZombie$(_context16) {
          while (1) {
            switch (_context16.prev = _context16.next) {
              case 0:
                this.purgeLog("CHECK ZOMBIE IN " + basePath);
                _context16.next = 3;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.exists(basePath));

              case 3:
                if (!_context16.sent) {
                  _context16.next = 31;
                  break;
                }

                _context16.next = 6;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.readDir(basePath));

              case 6:
                files = _context16.sent;
                i = 0;

              case 8:
                if (!(i < files.length)) {
                  _context16.next = 31;
                  break;
                }

                _files$i = files[i], path = _files$i.path, name = _files$i.name, isDirectory = _files$i.isDirectory;

                if (!isDirectory()) {
                  _context16.next = 22;
                  break;
                }

                if (!(!this.issueToDownloadPath || !path.includes(this.issueToDownloadPath))) {
                  _context16.next = 20;
                  break;
                }

                if (!this.fileNotExistsInList(path, this.foldersToLeave)) {
                  _context16.next = 18;
                  break;
                }

                this.purgeLog("zombie -> " + path);
                _context16.next = 16;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unlink(path));

              case 16:
                _context16.next = 20;
                break;

              case 18:
                _context16.next = 20;
                return _regenerator.default.awrap(this.checkZombie(path));

              case 20:
                _context16.next = 28;
                break;

              case 22:
                if (!name.endsWith(".db")) {
                  _context16.next = 28;
                  break;
                }

                if (!this.fileNotExistsInList(path, this.issuesToLeave)) {
                  _context16.next = 28;
                  break;
                }

                this.purgeLog("zombie -> " + path);
                database = new _Database.default(path);
                _context16.next = 28;
                return _regenerator.default.awrap(database.delete());

              case 28:
                i++;
                _context16.next = 8;
                break;

              case 31:
              case "end":
                return _context16.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "purgeZombie",
      value: function purgeZombie() {
        return _regenerator.default.async(function purgeZombie$(_context17) {
          while (1) {
            switch (_context17.prev = _context17.next) {
              case 0:
                _context17.next = 2;
                return _regenerator.default.awrap(this.initIssuesStored([this.getToday(), this.getYesterday()], this.nIssuesToLeave));

              case 2:
                _context17.next = 4;
                return _regenerator.default.awrap(this.initFolderToLeave());

              case 4:
                _context17.next = 6;
                return _regenerator.default.awrap(this.checkZombie(this.baseEditionPath));

              case 6:
              case "end":
                return _context17.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getDeletedNewspapers",
      value: function getDeletedNewspapers() {
        return this.newspapersToDelete;
      }
    }, {
      key: "purgeLog",
      value: function purgeLog(message) {}
    }]);
    return PurgeTask;
  }();

  exports.default = PurgeTask;
},2316,[5,80,7,8,574,710,711,714,2307,638,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.NewspaperStatus = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _NewsmemoryHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var NewspaperStatus = function () {
    function NewspaperStatus() {
      (0, _classCallCheck2.default)(this, NewspaperStatus);
    }

    (0, _createClass2.default)(NewspaperStatus, [{
      key: "init",
      value: function init(pSetupConfig) {
        var _this = this;

        var startupParams,
            pSetup,
            udb,
            keys,
            i,
            key,
            statusStartupParams,
            lastEdition,
            lastIssue,
            lastPageNumber,
            lastArticleId,
            statupEditionDifferent,
            startupIssueDifferent,
            _args = arguments;
        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                startupParams = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
                pSetup = pSetupConfig.pSetup, udb = pSetupConfig.udb;
                this.pSetup = pSetup;
                this.udb = udb;
                this.lastTTSIndex = -1;
                this.lastArticlePositionId = 0;
                keys = Object.values(_NewsmemoryHelper.default.SP.paper);
                i = 0;

              case 8:
                if (!(i < keys.length)) {
                  _context.next = 16;
                  break;
                }

                key = keys[i];
                _context.next = 12;
                return _regenerator.default.awrap(this.getValue(key));

              case 12:
                this[key] = _context.sent;

              case 13:
                i++;
                _context.next = 8;
                break;

              case 16:
                statusStartupParams = _newsmemoryUtils.default.getStatusFromStartupParams(startupParams);
                lastEdition = statusStartupParams.lastEdition, lastIssue = statusStartupParams.lastIssue, lastPageNumber = statusStartupParams.lastPageNumber, lastArticleId = statusStartupParams.lastArticleId;
                statupEditionDifferent = lastEdition && lastEdition !== this.lastEdition;
                startupIssueDifferent = lastIssue && lastIssue !== this.lastIssue;

                if (!(statupEditionDifferent || startupIssueDifferent)) {
                  _context.next = 25;
                  break;
                }

                _context.next = 23;
                return _regenerator.default.awrap(this.resetLastPageNumber());

              case 23:
                _context.next = 25;
                return _regenerator.default.awrap(this.resetLastArticleId());

              case 25:
                if (!(lastPageNumber && !lastArticleId)) {
                  _context.next = 28;
                  break;
                }

                _context.next = 28;
                return _regenerator.default.awrap(this.resetLastArticleId());

              case 28:
                Object.keys(statusStartupParams).forEach(function (key) {
                  if (statusStartupParams[key]) {
                    _this.setValue(key, statusStartupParams[key]);
                  }
                });
                return _context.abrupt("return", true);

              case 30:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getStorageKey",
      value: function getStorageKey(key) {
        var prefix = key === _NewsmemoryHelper.default.SP.paper.preferredEdition ? this.udb : this.pSetup;
        return prefix + "_" + key;
      }
    }, {
      key: "setValue",
      value: function setValue(key, value) {
        return _regenerator.default.async(function setValue$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                this[key] = value;
                return _context2.abrupt("return", _NewsmemoryHelper.default.setItem(this.getStorageKey(key), value));

              case 2:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getValue",
      value: function getValue(key) {
        var value;
        return _regenerator.default.async(function getValue$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                value = this[key];

                if (!(value === null || value === undefined)) {
                  _context3.next = 5;
                  break;
                }

                _context3.next = 4;
                return _regenerator.default.awrap(_NewsmemoryHelper.default.getItem(this.getStorageKey(key)));

              case 4:
                value = _context3.sent;

              case 5:
                return _context3.abrupt("return", value);

              case 6:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "updateValue",
      value: function updateValue(key, value) {
        return _regenerator.default.async(function updateValue$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!value) {
                  _context4.next = 2;
                  break;
                }

                return _context4.abrupt("return", this.setValue(key, value));

              case 2:
                return _context4.abrupt("return", this.removeValue(key));

              case 3:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "removeValue",
      value: function removeValue(key) {
        return _regenerator.default.async(function removeValue$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                this[key] = undefined;
                return _context5.abrupt("return", _NewsmemoryHelper.default.removeItem(this.getStorageKey(key)));

              case 2:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "clear",
      value: function clear() {
        var keys, i, key;
        return _regenerator.default.async(function clear$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                keys = Object.values(_NewsmemoryHelper.default.SP.paper);
                i = 0;

              case 2:
                if (!(i < keys.length)) {
                  _context6.next = 9;
                  break;
                }

                key = keys[i];
                _context6.next = 6;
                return _regenerator.default.awrap(this.removeValue(key));

              case 6:
                i++;
                _context6.next = 2;
                break;

              case 9:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "setLastIssue",
      value: function setLastIssue(issue) {
        return _regenerator.default.async(function setLastIssue$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                return _context7.abrupt("return", this.setValue(_NewsmemoryHelper.default.SP.paper.lastIssue, issue));

              case 1:
              case "end":
                return _context7.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "resetLastIssue",
      value: function resetLastIssue() {
        return _regenerator.default.async(function resetLastIssue$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                return _context8.abrupt("return", this.removeValue(_NewsmemoryHelper.default.SP.paper.lastIssue));

              case 1:
              case "end":
                return _context8.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "setLastEdition",
      value: function setLastEdition(edition) {
        return _regenerator.default.async(function setLastEdition$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                return _context9.abrupt("return", this.setValue(_NewsmemoryHelper.default.SP.paper.lastEdition, edition));

              case 1:
              case "end":
                return _context9.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "resetLastEdition",
      value: function resetLastEdition() {
        return _regenerator.default.async(function resetLastEdition$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                return _context10.abrupt("return", this.removeValue(_NewsmemoryHelper.default.SP.paper.lastEdition));

              case 1:
              case "end":
                return _context10.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "setLastPageNumber",
      value: function setLastPageNumber(pageNumber) {
        return _regenerator.default.async(function setLastPageNumber$(_context11) {
          while (1) {
            switch (_context11.prev = _context11.next) {
              case 0:
                return _context11.abrupt("return", this.setValue(_NewsmemoryHelper.default.SP.paper.lastPageNumber, pageNumber));

              case 1:
              case "end":
                return _context11.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "resetLastPageNumber",
      value: function resetLastPageNumber() {
        return _regenerator.default.async(function resetLastPageNumber$(_context12) {
          while (1) {
            switch (_context12.prev = _context12.next) {
              case 0:
                return _context12.abrupt("return", this.removeValue(_NewsmemoryHelper.default.SP.paper.lastPageNumber));

              case 1:
              case "end":
                return _context12.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "setLastArticleId",
      value: function setLastArticleId(articleId) {
        return _regenerator.default.async(function setLastArticleId$(_context13) {
          while (1) {
            switch (_context13.prev = _context13.next) {
              case 0:
                return _context13.abrupt("return", this.setValue(_NewsmemoryHelper.default.SP.paper.lastArticleId, "" + articleId));

              case 1:
              case "end":
                return _context13.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "resetLastArticleId",
      value: function resetLastArticleId() {
        return _regenerator.default.async(function resetLastArticleId$(_context14) {
          while (1) {
            switch (_context14.prev = _context14.next) {
              case 0:
                return _context14.abrupt("return", this.removeValue(_NewsmemoryHelper.default.SP.paper.lastArticleId));

              case 1:
              case "end":
                return _context14.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "reset",
      value: function reset() {
        return _regenerator.default.async(function reset$(_context15) {
          while (1) {
            switch (_context15.prev = _context15.next) {
              case 0:
                _context15.next = 2;
                return _regenerator.default.awrap(this.resetLastIssue());

              case 2:
                _context15.next = 4;
                return _regenerator.default.awrap(this.resetLastEdition());

              case 4:
                _context15.next = 6;
                return _regenerator.default.awrap(this.resetLastPageNumber());

              case 6:
                _context15.next = 8;
                return _regenerator.default.awrap(this.resetLastArticleId());

              case 8:
              case "end":
                return _context15.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "setLastMostRecentIssueOnServer",
      value: function setLastMostRecentIssueOnServer(issue) {
        return _regenerator.default.async(function setLastMostRecentIssueOnServer$(_context16) {
          while (1) {
            switch (_context16.prev = _context16.next) {
              case 0:
                return _context16.abrupt("return", this.setValue(_NewsmemoryHelper.default.SP.paper.lastMostRecentIssueOnServer, issue));

              case 1:
              case "end":
                return _context16.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "setLastTTSIndex",
      value: function setLastTTSIndex(index) {
        this.lastTTSIndex = index;
      }
    }, {
      key: "getLastTTSIndex",
      value: function getLastTTSIndex() {
        return this.lastTTSIndex;
      }
    }, {
      key: "resetLastTTSIndex",
      value: function resetLastTTSIndex() {
        this.lastTTSIndex = -1;
      }
    }, {
      key: "setLastArticlePositionId",
      value: function setLastArticlePositionId(positionId) {
        this.lastArticlePositionId = positionId;
      }
    }, {
      key: "getLastArticlePositionId",
      value: function getLastArticlePositionId() {
        return this.lastArticlePositionId;
      }
    }, {
      key: "resetLastArticlePositionId",
      value: function resetLastArticlePositionId() {
        this.lastArticlePositionId = 0;
      }
    }]);
    return NewspaperStatus;
  }();

  exports.NewspaperStatus = NewspaperStatus;
},2317,[5,80,7,8,1860,603]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _NewspaperManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _LoginManager = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _optionspageUtils = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _PurgeManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _NewsmemoryDatabasesManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var Analytics = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[12]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var NewsmemoryManager = function () {
    function NewsmemoryManager(navigation) {
      (0, _classCallCheck2.default)(this, NewsmemoryManager);
      this.navigation = navigation;
    }

    (0, _createClass2.default)(NewsmemoryManager, [{
      key: "init",
      value: function init(pSetupConfig) {
        return _regenerator.default.async(function init$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return _regenerator.default.awrap(this.destroy());

              case 2:
                this.currentNewspaperManager = new _NewspaperManager.default(pSetupConfig);
                _context.next = 5;
                return _regenerator.default.awrap(this.currentNewspaperManager.init(pSetupConfig));

              case 5:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "load",
      value: function load() {
        var status, lastIssue, lastEdition, _status, isForcedIssue, _NewsmemoryUtils$getS, code, message, pSetupConfig, protectSite, onLoginErrorGoTo, issues, latestIssue, _global$getNewsmemory, accessibilityModeEnabled, lastOperationTimestamp, _global$getActivePSet, timeLimitCheckEdition, lastPSetup, mostRecentIssueOnServer, mostRecentEditionOnServer, optionspageConfig;

        return _regenerator.default.async(function load$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (this.currentNewspaperManager) {
                  status = this.currentNewspaperManager.status;
                  _status = status;
                  lastIssue = _status.lastIssue;
                  lastEdition = _status.lastEdition;
                }

                isForcedIssue = global.isIssueInNewsmemoryStartupParams();

                if (isForcedIssue) {
                  _NewsmemoryUtils$getS = _newsmemoryUtils.default.getStatusFromStartupParams(global.getNewsmemoryStartupParams());
                  lastEdition = _NewsmemoryUtils$getS.lastEdition;
                }

                _context2.prev = 3;
                _context2.next = 6;
                return _regenerator.default.awrap(_LoginManager.default.recheckLogin());

              case 6:
                global.resetNewsmemoryStartupParams();
                _context2.next = 36;
                break;

              case 9:
                _context2.prev = 9;
                _context2.t0 = _context2["catch"](3);
                global.resetNewsmemoryStartupParams();

                if (!(_context2.t0 instanceof _LoginManager.LoginError)) {
                  _context2.next = 36;
                  break;
                }

                code = _context2.t0.code, message = _context2.t0.message;

                if (!(code === _LoginManager.PROT_ERROR.NOT_LOGGEDIN && !lastIssue)) {
                  _context2.next = 36;
                  break;
                }

                pSetupConfig = global.getActivePSetup();
                protectSite = pSetupConfig.protectSite;
                onLoginErrorGoTo = pSetupConfig.onLoginErrorGoTo;

                if (_$$_REQUIRE(_dependencyMap[15]).PlatformUtils.isSystemAccessibilityEnabled()) {
                  onLoginErrorGoTo = _optionspageUtils.tabs.account;
                }

                if (_$$_REQUIRE(_dependencyMap[15]).NetworkUtils.isOnline()) {
                  _context2.next = 33;
                  break;
                }

                _context2.next = 22;
                return _regenerator.default.awrap(_NewsmemoryDatabasesManager.default.getAllIssues());

              case 22:
                issues = _context2.sent;

                if (!(issues && issues.length > 0)) {
                  _context2.next = 29;
                  break;
                }

                latestIssue = issues[0];
                lastIssue = latestIssue.getIssue();
                lastEdition = latestIssue.getEdition();
                _context2.next = 31;
                break;

              case 29:
                _$$_REQUIRE(_dependencyMap[16]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                  tab: onLoginErrorGoTo,
                  getParams: {
                    edition: lastEdition
                  }
                });

                return _context2.abrupt("return");

              case 31:
                _context2.next = 36;
                break;

              case 33:
                if (!(protectSite > 0)) {
                  _context2.next = 36;
                  break;
                }

                _$$_REQUIRE(_dependencyMap[16]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                  tab: onLoginErrorGoTo,
                  getParams: {
                    edition: lastEdition
                  }
                });

                return _context2.abrupt("return");

              case 36:
                _global$getNewsmemory = global.getNewsmemoryConfig(), accessibilityModeEnabled = _global$getNewsmemory.accessibilityModeEnabled, lastOperationTimestamp = _global$getNewsmemory.lastOperationTimestamp;

                if (accessibilityModeEnabled) {
                  _$$_REQUIRE(_dependencyMap[16]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                    tab: _optionspageUtils.tabs.accessibility,
                    hidden: true
                  });
                } else {
                  _global$getActivePSet = global.getActivePSetup(), timeLimitCheckEdition = _global$getActivePSet.timeLimitCheckEdition, lastPSetup = _global$getActivePSet.lastPSetup, mostRecentIssueOnServer = _global$getActivePSet.lastIssue, mostRecentEditionOnServer = _global$getActivePSet.lastEdition, optionspageConfig = _global$getActivePSet.optionspageConfig;

                  if (status) {
                    status.setLastMostRecentIssueOnServer(mostRecentIssueOnServer);
                  }

                  if (_$$_REQUIRE(_dependencyMap[15]).NetworkUtils.isOnline() && (!lastOperationTimestamp || Math.abs(new Date().getTime() - lastOperationTimestamp) > timeLimitCheckEdition)) {
                    if (isForcedIssue) {
                      this.downloadPublication(lastIssue, lastEdition);
                    } else {
                      if (optionspageConfig.alwaysOpenAtStartup()) {
                        _$$_REQUIRE(_dependencyMap[16]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                          tab: _optionspageUtils.tabs.home,
                          getParams: {
                            pSetup: lastPSetup,
                            edition: mostRecentEditionOnServer || lastEdition
                          }
                        });
                      } else if (lastIssue && lastIssue === mostRecentIssueOnServer) {
                        this.downloadPublication(lastIssue, lastEdition);
                      } else {
                        this.downloadPublication(mostRecentIssueOnServer, mostRecentEditionOnServer);
                      }
                    }
                  } else {
                    this.downloadPublication(lastIssue, lastEdition);
                  }
                }

              case 38:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, [[3, 9]], Promise);
      }
    }, {
      key: "restart",
      value: function restart() {
        var _ref,
            _ref$forceMessage,
            forceMessage,
            _ref$isOptionspageOpe,
            isOptionspageOpen,
            now,
            _global$getNewsmemory2,
            lastOperationTimestamp,
            _global$getActivePSet2,
            timeLimitCheckEdition,
            lastPSetup,
            mostRecentIssueOnServer,
            mostRecentEditionOnServer,
            optionspageConfig,
            enableSessionCollection,
            status,
            lastIssue,
            lastEdition,
            lastMostRecentIssueOnServer,
            newIssueAvailable,
            lastIssueLoadedIsAlsoTheLatestAvailable,
            reloadOptionspage,
            _args3 = arguments;

        return _regenerator.default.async(function restart$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _ref = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : {}, _ref$forceMessage = _ref.forceMessage, forceMessage = _ref$forceMessage === undefined ? false : _ref$forceMessage, _ref$isOptionspageOpe = _ref.isOptionspageOpen, isOptionspageOpen = _ref$isOptionspageOpe === undefined ? false : _ref$isOptionspageOpe;
                now = new Date().getTime();
                _global$getNewsmemory2 = global.getNewsmemoryConfig(), lastOperationTimestamp = _global$getNewsmemory2.lastOperationTimestamp;
                _global$getActivePSet2 = global.getActivePSetup(), timeLimitCheckEdition = _global$getActivePSet2.timeLimitCheckEdition, lastPSetup = _global$getActivePSet2.lastPSetup, mostRecentIssueOnServer = _global$getActivePSet2.lastIssue, mostRecentEditionOnServer = _global$getActivePSet2.lastEdition, optionspageConfig = _global$getActivePSet2.optionspageConfig, enableSessionCollection = _global$getActivePSet2.enableSessionCollection;
                _context3.prev = 4;
                _context3.next = 7;
                return _regenerator.default.awrap(_LoginManager.default.recheckLogin());

              case 7:
                _context3.next = 11;
                break;

              case 9:
                _context3.prev = 9;
                _context3.t0 = _context3["catch"](4);

              case 11:
                if (!(this.currentNewspaperManager === undefined)) {
                  _context3.next = 13;
                  break;
                }

                return _context3.abrupt("return");

              case 13:
                status = this.currentNewspaperManager.status;
                lastIssue = status.lastIssue, lastEdition = status.lastEdition, lastMostRecentIssueOnServer = status.lastMostRecentIssueOnServer;
                status.setLastMostRecentIssueOnServer(mostRecentIssueOnServer);
                newIssueAvailable = lastMostRecentIssueOnServer !== null && parseInt(lastMostRecentIssueOnServer, 10) < parseInt(mostRecentIssueOnServer, 10);
                lastIssueLoadedIsAlsoTheLatestAvailable = lastIssue === lastMostRecentIssueOnServer;

                reloadOptionspage = function reloadOptionspage() {
                  _$$_REQUIRE(_dependencyMap[16]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                    tab: _optionspageUtils.tabs.home,
                    getParams: {
                      pSetup: lastPSetup,
                      issue: mostRecentIssueOnServer || lastIssue,
                      edition: mostRecentEditionOnServer || lastEdition
                    }
                  });
                };

                if (!forceMessage && lastOperationTimestamp && Math.abs(now - lastOperationTimestamp) > timeLimitCheckEdition) {
                  if (enableSessionCollection) {
                    _$$_REQUIRE(_dependencyMap[17]).NewspaperSessionManager.flushActiveSession();
                  }

                  if (newIssueAvailable) {
                    if (lastIssueLoadedIsAlsoTheLatestAvailable) {
                      if (optionspageConfig.alwaysOpenAtStartup() || isOptionspageOpen) {
                        reloadOptionspage();
                      } else {
                        this.downloadLatestPublication();
                      }
                    } else if (lastIssue) {
                      if (isOptionspageOpen) {
                        reloadOptionspage();
                      }

                      if (lastIssue === mostRecentIssueOnServer) {
                        this.reloadLastPublication();
                      } else if (!isOptionspageOpen) {
                        this.showDialog(false);
                      }
                    }
                  } else if (!lastMostRecentIssueOnServer || lastIssueLoadedIsAlsoTheLatestAvailable) {
                    this.reloadLastPublication();
                  } else if (lastIssue) {
                    if (lastIssue === mostRecentIssueOnServer) {
                      this.reloadLastPublication();
                    } else if (!isOptionspageOpen) {
                      this.showDialog(false);
                    }
                  }
                } else if (lastIssue) {
                  if (newIssueAvailable && !isOptionspageOpen) {
                    this.showDialog(true);
                  } else {
                    this.reloadLastPublication();
                  }
                }

              case 20:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, [[4, 9]], Promise);
      }
    }, {
      key: "downloadLatestPublication",
      value: function downloadLatestPublication() {
        var status;
        return _regenerator.default.async(function downloadLatestPublication$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!this.currentNewspaperManager) {
                  _context4.next = 5;
                  break;
                }

                status = this.currentNewspaperManager.status;

                if (!status) {
                  _context4.next = 5;
                  break;
                }

                _context4.next = 5;
                return _regenerator.default.awrap(status.reset());

              case 5:
                _context4.next = 7;
                return _regenerator.default.awrap(this.downloadPublication());

              case 7:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "downloadPublication",
      value: function downloadPublication(issue, edition) {
        var _this = this;

        var onCancel, onRetry, onReset, result, _global$getActivePSet3, pSetup, newsmemoryConfig, favEdiPSetup, _await$global$loadPSe, favEdiPSetupConfig, purgeTask, newspapersDeleted, _await$this$currentNe, success, downloadedDB, NO_GRANTS_ALLOWED_IP, NO_ZIP, code, params, getParams, pSetupChange, _global$getActivePSet4, _pSetup, pSetupToUse, _await$global$loadPSe2, pSetupToUseConfig, _global$getActivePSet5, showNativeOptionsPage, showNativeOptionsPageFallbackUrl;

        return _regenerator.default.async(function downloadPublication$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                onCancel = function onCancel() {
                  _$$_REQUIRE(_dependencyMap[16]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                    tab: _optionspageUtils.tabs.home,
                    getParams: {
                      edition: edition
                    }
                  });
                };

                onRetry = function onRetry() {
                  _this.downloadPublication(issue, edition);
                };

                onReset = function _callee() {
                  return _regenerator.default.async(function _callee$(_context5) {
                    while (1) {
                      switch (_context5.prev = _context5.next) {
                        case 0:
                          _context5.next = 2;
                          return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[18]).deleteData)());

                        case 2:
                          _$$_REQUIRE(_dependencyMap[16]).EventRegister.emit(_events.default.NEWSMEMORY_DOWNLOAD_EDITION, {
                            issue: issue,
                            edition: edition
                          });

                        case 3:
                        case "end":
                          return _context5.stop();
                      }
                    }
                  }, null, null, null, Promise);
                };

                _context6.prev = 3;
                result = {
                  issue: issue,
                  edition: edition
                };

                if (issue) {
                  _context6.next = 29;
                  break;
                }

                if (edition) {
                  _context6.next = 24;
                  break;
                }

                _global$getActivePSet3 = global.getActivePSetup(), pSetup = _global$getActivePSet3.pSetup;
                newsmemoryConfig = global.getNewsmemoryConfig();
                _context6.next = 11;
                return _regenerator.default.awrap(newsmemoryConfig.getFavEdiPSetup());

              case 11:
                favEdiPSetup = _context6.sent;

                if (!(favEdiPSetup && favEdiPSetup !== pSetup)) {
                  _context6.next = 24;
                  break;
                }

                _context6.next = 15;
                return _regenerator.default.awrap(global.loadPSetup(favEdiPSetup));

              case 15:
                _await$global$loadPSe = _context6.sent;
                favEdiPSetupConfig = _await$global$loadPSe.config;

                if (!favEdiPSetupConfig) {
                  _context6.next = 23;
                  break;
                }

                _context6.next = 20;
                return _regenerator.default.awrap(this.init(favEdiPSetupConfig));

              case 20:
                Analytics.updateAnalyticsClientList();
                _context6.next = 24;
                break;

              case 23:
                throw new Error("Unable to load the new pSetup " + favEdiPSetup);

              case 24:
                _context6.next = 26;
                return _regenerator.default.awrap(this.getFirstIssueAndMainEdition(edition));

              case 26:
                result = _context6.sent;
                _context6.next = 33;
                break;

              case 29:
                if (edition) {
                  _context6.next = 33;
                  break;
                }

                _context6.next = 32;
                return _regenerator.default.awrap(this.getEdition(issue));

              case 32:
                result = _context6.sent;

              case 33:
                _context6.prev = 33;
                purgeTask = new _PurgeManager.default(result.issue);
                _context6.next = 37;
                return _regenerator.default.awrap(purgeTask.purge());

              case 37:
                newspapersDeleted = purgeTask.getDeletedNewspapers();
                newspapersDeleted.forEach(function (newspaper) {
                  return _this.currentNewspaperManager.removeNewspaper(newspaper);
                });
                _context6.next = 43;
                break;

              case 41:
                _context6.prev = 41;
                _context6.t0 = _context6["catch"](33);

              case 43:
                _context6.prev = 43;
                _context6.next = 46;
                return _regenerator.default.awrap(this.currentNewspaperManager.downloadNewspaper(result.issue, result.edition));

              case 46:
                _await$this$currentNe = _context6.sent;
                success = _await$this$currentNe.success;
                downloadedDB = _await$this$currentNe.downloadedDB;

                if (success) {
                  this.currentNewspaperManager.loadPages(downloadedDB);
                } else {
                  _newsmemoryUtils.default.showDownloadDBErrorDialog(issue, edition, onRetry, onCancel, onReset);
                }

                _context6.next = 81;
                break;

              case 52:
                _context6.prev = 52;
                _context6.t1 = _context6["catch"](43);

                if (!(_context6.t1 instanceof _$$_REQUIRE(_dependencyMap[19]).DownloadError)) {
                  _context6.next = 80;
                  break;
                }

                NO_GRANTS_ALLOWED_IP = _$$_REQUIRE(_dependencyMap[19]).DOWNLOAD_ERROR_CODES.NO_GRANTS_ALLOWED_IP, NO_ZIP = _$$_REQUIRE(_dependencyMap[19]).DOWNLOAD_ERROR_CODES.NO_ZIP;
                code = _context6.t1.code, params = _context6.t1.params;

                if (!(code === NO_GRANTS_ALLOWED_IP)) {
                  _context6.next = 60;
                  break;
                }

                onRetry();
                return _context6.abrupt("return");

              case 60:
                if (!(code === NO_ZIP)) {
                  _context6.next = 78;
                  break;
                }

                getParams = _optionspageUtils.default.getOptionspageGetParams(params);
                pSetupChange = getParams.pSetupChange;

                if (!pSetupChange) {
                  _context6.next = 77;
                  break;
                }

                _global$getActivePSet4 = global.getActivePSetup(), _pSetup = _global$getActivePSet4.pSetup;
                pSetupToUse = pSetupChange.pSetup;

                if (!(pSetupToUse && pSetupToUse !== _pSetup)) {
                  _context6.next = 77;
                  break;
                }

                _context6.next = 69;
                return _regenerator.default.awrap(global.loadPSetup(pSetupToUse));

              case 69:
                _await$global$loadPSe2 = _context6.sent;
                pSetupToUseConfig = _await$global$loadPSe2.config;

                if (!pSetupToUseConfig) {
                  _context6.next = 77;
                  break;
                }

                _context6.next = 74;
                return _regenerator.default.awrap(this.init(pSetupToUseConfig));

              case 74:
                Analytics.updateAnalyticsClientList();
                onRetry();
                return _context6.abrupt("return");

              case 77:
                _$$_REQUIRE(_dependencyMap[16]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                  tab: _optionspageUtils.tabs.home,
                  getParams: getParams
                });

              case 78:
                _context6.next = 81;
                break;

              case 80:
                _newsmemoryUtils.default.showDownloadDBErrorDialog(issue, edition, onRetry, onCancel, onReset);

              case 81:
                _context6.next = 87;
                break;

              case 83:
                _context6.prev = 83;
                _context6.t2 = _context6["catch"](3);
                _global$getActivePSet5 = global.getActivePSetup(), showNativeOptionsPage = _global$getActivePSet5.showNativeOptionsPage, showNativeOptionsPageFallbackUrl = _global$getActivePSet5.showNativeOptionsPageFallbackUrl;

                if (_$$_REQUIRE(_dependencyMap[15]).NetworkUtils.isOnline() || showNativeOptionsPage && !showNativeOptionsPageFallbackUrl) {
                  _$$_REQUIRE(_dependencyMap[16]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                    tab: _optionspageUtils.tabs.home
                  });
                } else {
                  _$$_REQUIRE(_dependencyMap[16]).EventRegister.emit(_events.default.NEWSMEMORY_OPEN_OFFLINE_EDITION_MENU);
                }

              case 87:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, [[3, 83], [33, 41], [43, 52]], Promise);
      }
    }, {
      key: "reloadLastPublication",
      value: function reloadLastPublication() {
        var lastIssue;
        var lastEdition;

        if (this.currentNewspaperManager) {
          var status = this.currentNewspaperManager.status;
          lastIssue = status.lastIssue;
          lastEdition = status.lastEdition;
        }

        this.downloadPublication(lastIssue, lastEdition);
      }
    }, {
      key: "showDialog",
      value: function showDialog(newIssueAvailable) {
        var _this2 = this;

        var _global$getActivePSet6 = global.getActivePSetup(),
            mostRecentIssueOnServer = _global$getActivePSet6.lastIssue,
            mostRecentEditionOnServer = _global$getActivePSet6.lastEdition,
            latestEditionAvailableMessageFormat = _global$getActivePSet6.latestEditionAvailableMessageFormat,
            dateFormat = _global$getActivePSet6.dateFormat,
            language = _global$getActivePSet6.language;

        var buttons = [];
        buttons.push({
          text: global.strings("btn_cancel"),
          onPress: function onPress() {
            _this2.reloadLastPublication();
          },
          style: "cancel"
        }, {
          text: global.strings("btn_ok"),
          onPress: function onPress() {
            if (_this2.navigation) {
              _this2.navigation.popToTop();
            }

            _this2.downloadPublication(mostRecentIssueOnServer, mostRecentEditionOnServer);
          }
        });
        var status = this.currentNewspaperManager.status;
        var lastIssue = status.lastIssue,
            lastEdition = status.lastEdition;
        var title = "";
        var titleKey = "msg_new_issue_available_title";
        var messageKey = newIssueAvailable ? "msg_new_issue_available" : "msg_not_on_latest_issue";
        var message = global.strings(messageKey);

        if (latestEditionAvailableMessageFormat !== _$$_REQUIRE(_dependencyMap[20]).LATEST_AVAILABLE_EDITION_FORMAT.PLAIN_MESSAGE) {
          if (latestEditionAvailableMessageFormat === _$$_REQUIRE(_dependencyMap[20]).LATEST_AVAILABLE_EDITION_FORMAT.ONLY_EDITION) {
            title = global.strings("msg_new_issue_available_title_edition", {
              edition: _newsmemoryUtils.default.getFullEditionNameWithArticle(lastEdition, false)
            });
            message = global.strings(messageKey + "_edition", {
              edition: _newsmemoryUtils.default.getFullEditionNameWithArticle(mostRecentEditionOnServer, true)
            });
          } else if (latestEditionAvailableMessageFormat === _$$_REQUIRE(_dependencyMap[20]).LATEST_AVAILABLE_EDITION_FORMAT.ISSUE_AND_EDITION) {
            title = global.strings("msg_new_issue_available_title_edition_date", {
              date: _$$_REQUIRE(_dependencyMap[15]).DateUtils.getDayAndMonthStringByLanguage(lastIssue, dateFormat, language),
              edition: _newsmemoryUtils.default.getFullEditionNameWithArticle(lastEdition, true)
            });
            message = global.strings(lastEdition === mostRecentEditionOnServer ? messageKey + "_date" : messageKey + "_edition_date", {
              date: _$$_REQUIRE(_dependencyMap[15]).DateUtils.getDayAndMonthStringByLanguage(mostRecentIssueOnServer, dateFormat, language),
              edition: _newsmemoryUtils.default.getFullEditionNameWithArticle(mostRecentEditionOnServer, true)
            });
          }
        }

        _reactNative.Alert.alert(title, message, buttons, {
          cancelable: true
        });
      }
    }, {
      key: "getFirstIssueAndMainEdition",
      value: function getFirstIssueAndMainEdition(edition) {
        var issue, firstIssue, mainEdition, pSetupToUse, _global$getActivePSet7, pSetup, _await$global$loadPSe3, pSetupToUseConfig;

        return _regenerator.default.async(function getFirstIssueAndMainEdition$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                if (!this.currentNewspaperManager) {
                  _context7.next = 27;
                  break;
                }

                _context7.next = 3;
                return _regenerator.default.awrap(this.currentNewspaperManager.getLatestIssue(edition));

              case 3:
                issue = _context7.sent;

                if (!issue) {
                  _context7.next = 24;
                  break;
                }

                firstIssue = issue.issue, mainEdition = issue.mainEdition, pSetupToUse = issue.pSetup;

                if (!firstIssue) {
                  _context7.next = 21;
                  break;
                }

                _global$getActivePSet7 = global.getActivePSetup(), pSetup = _global$getActivePSet7.pSetup;

                if (!(pSetupToUse && pSetupToUse !== pSetup)) {
                  _context7.next = 20;
                  break;
                }

                _context7.next = 11;
                return _regenerator.default.awrap(global.loadPSetup(pSetupToUse));

              case 11:
                _await$global$loadPSe3 = _context7.sent;
                pSetupToUseConfig = _await$global$loadPSe3.config;

                if (!pSetupToUseConfig) {
                  _context7.next = 19;
                  break;
                }

                _context7.next = 16;
                return _regenerator.default.awrap(this.init(pSetupToUseConfig));

              case 16:
                Analytics.updateAnalyticsClientList();
                _context7.next = 20;
                break;

              case 19:
                throw new Error("Unable to load the new pSetup " + pSetupToUse);

              case 20:
                return _context7.abrupt("return", {
                  issue: firstIssue,
                  edition: mainEdition
                });

              case 21:
                throw new Error("getIssue did not return a valid issue " + JSON.stringify(issue));

              case 24:
                throw new Error("getIssue did not return any issue");

              case 25:
                _context7.next = 28;
                break;

              case 27:
                throw new Error("currentNewspaperManager is undefined");

              case 28:
              case "end":
                return _context7.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getEdition",
      value: function getEdition(issue) {
        var editions, _global$getNewsmemory3, prefEdi, editionToUse;

        return _regenerator.default.async(function getEdition$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                if (!this.currentNewspaperManager) {
                  _context8.next = 12;
                  break;
                }

                _context8.next = 3;
                return _regenerator.default.awrap(this.currentNewspaperManager.getEditions(issue));

              case 3:
                editions = _context8.sent;

                if (!(editions.length > 0)) {
                  _context8.next = 9;
                  break;
                }

                _global$getNewsmemory3 = global.getNewsmemoryConfig(), prefEdi = _global$getNewsmemory3.prefEdi;
                editionToUse = editions[0];

                if (editions.includes(prefEdi)) {
                  editionToUse = prefEdi;
                }

                return _context8.abrupt("return", {
                  issue: issue,
                  edition: editionToUse
                });

              case 9:
                throw new Error("getEditions did not return any edition");

              case 12:
                throw new Error("currentNewspaperManager is undefined");

              case 13:
              case "end":
                return _context8.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "deleteCurrentEditionDatabase",
      value: function deleteCurrentEditionDatabase() {
        return _regenerator.default.async(function deleteCurrentEditionDatabase$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                if (!this.currentNewspaperManager) {
                  _context9.next = 2;
                  break;
                }

                return _context9.abrupt("return", this.currentNewspaperManager.deleteCurrentEditionDatabase());

              case 2:
                return _context9.abrupt("return", false);

              case 3:
              case "end":
                return _context9.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "destroy",
      value: function destroy() {
        return _regenerator.default.async(function destroy$(_context10) {
          while (1) {
            switch (_context10.prev = _context10.next) {
              case 0:
                if (!this.currentNewspaperManager) {
                  _context10.next = 4;
                  break;
                }

                _context10.next = 3;
                return _regenerator.default.awrap(this.currentNewspaperManager.destroy());

              case 3:
                this.currentNewspaperManager = undefined;

              case 4:
              case "end":
                return _context10.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }]);
    return NewsmemoryManager;
  }();

  var _default = NewsmemoryManager;
  exports.default = _default;
},2318,[5,80,7,8,28,2306,2057,460,730,2316,710,714,1871,603,1859,462,572,1955,2254,586,717]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    progressParent: {
      flex: 1,
      position: "relative",
      flexDirection: "column",
      justifyContent: "center"
    },
    progress: {
      flex: 0
    },
    progressText: {
      flex: 0,
      margin: 10
    },
    parent: {
      flex: 1
    }
  });

  exports.default = _default;
},2319,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _reactNativeWebview = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _NewspaperManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _closeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SpecialSection = function (_PureComponent) {
    (0, _inherits2.default)(SpecialSection, _PureComponent);

    var _super = _createSuper(SpecialSection);

    function SpecialSection(props) {
      var _this;

      (0, _classCallCheck2.default)(this, SpecialSection);
      _this = _super.call(this, props);
      _this.state = {
        visible: props.visible
      };
      _this.isModal = !props.visible;
      _this.onOpen = _this._onOpen.bind((0, _assertThisInitialized2.default)(_this));
      _this.onClose = _this._onClose.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLocal = _this._onLocal.bind((0, _assertThisInitialized2.default)(_this));
      _this.onRef = _this._onRef.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(SpecialSection, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        if (this.isModal) {
          this.onOpenId = _$$_REQUIRE(_dependencyMap[17]).EventRegister.on(_events.default.NEWSMEMORY_OPEN_SPECIAL_SECTION, this.onOpen);
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[17]).EventRegister.rm(this.onOpenId);
      }
    }, {
      key: "_onOpen",
      value: function _onOpen() {
        var onOpen = this.props.onOpen;
        this.setState({
          visible: true
        }, onOpen);
      }
    }, {
      key: "_onClose",
      value: function _onClose() {
        var onClose = this.props.onClose;
        this.setState({
          visible: false
        }, onClose);
      }
    }, {
      key: "_onLocal",
      value: function _onLocal(_ref) {
        var domain, getParams, newsmemoryConfig, key, value, callback;
        return _regenerator.default.async(function _onLocal$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                domain = _ref.domain, getParams = _ref.getParams;
                newsmemoryConfig = global.getNewsmemoryConfig();
                _context.t0 = domain;
                _context.next = _context.t0 === _$$_REQUIRE(_dependencyMap[18]).locals.SET_KEY ? 5 : _context.t0 === _$$_REQUIRE(_dependencyMap[18]).locals.INITPAGE_SET_NEWSPAPER_AND_READ ? 9 : 12;
                break;

              case 5:
                key = getParams.key, value = getParams.value, callback = getParams.callback;
                newsmemoryConfig.setValue(key, value);

                if (callback && this.webViewRef) {
                  this.webViewRef.injectJavaScript(callback + "(); ");
                }

                return _context.abrupt("break", 12);

              case 9:
                if (this.isModal) {
                  this.onClose();
                }

                _$$_REQUIRE(_dependencyMap[17]).EventRegister.emit(_events.default.NEWSMEMORY_ON_LOAD_SPECIAL, getParams);

                return _context.abrupt("break", 12);

              case 12:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_onRef",
      value: function _onRef(ref) {
        this.webViewRef = ref;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            showSections = _this$props.showSections,
            newspaperManager = _this$props.newspaperManager;

        if (!_$$_REQUIRE(_dependencyMap[19]).NetworkUtils.isOnline() || !newspaperManager) {
          return null;
        }

        var visible = this.state.visible;
        var injectedJavaScript;

        var activeTheme = _$$_REQUIRE(_dependencyMap[20]).Css.getThemeInUse();

        if (activeTheme) {
          injectedJavaScript = "document.body.setAttribute('class', '" + activeTheme + "');";
        }

        var url = newspaperManager.getSpecialSectionPage(showSections);
        var webViewProps = {
          source: {
            uri: url
          },
          onLocal: this.onLocal,
          startInLoadingState: _$$_REQUIRE(_dependencyMap[21]).BaseWebView.LoadingStatePosition.center,
          innerRef: this.onRef,
          injectedJavaScript: injectedJavaScript
        };

        if (this.isModal) {
          if (!visible) {
            return null;
          }

          var style;

          var _global$getActivePSet = global.getActivePSetup(),
              optionspageConfig = _global$getActivePSet.optionspageConfig;

          if (optionspageConfig.isModal()) {
            style = [_$$_REQUIRE(_dependencyMap[22]).styles.modal, _$$_REQUIRE(_dependencyMap[22]).styles.main, optionspageConfig.getCoordinates()];
          } else {
            style = [_$$_REQUIRE(_dependencyMap[22]).styles.fullscreen, _$$_REQUIRE(_dependencyMap[22]).styles.main];
          }

          var optionspage = _react.default.createElement(_$$_REQUIRE(_dependencyMap[20]).Css, {
            classes: ["optionspage", "optionspage-specialsections"]
          }, _react.default.createElement(_reactNative.View, {
            style: style
          }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[21]).BaseWebView, webViewProps), _react.default.createElement(_closeComponent.default, {
            parentStyle: _$$_REQUIRE(_dependencyMap[22]).styles.closeIcon,
            cssProps: {
              classes: ["newsmemory-icon", "newsmemory-close-icon", "optionspage-icon", "optionspage-close-icon", "optionspage-specialsections-close-icon"]
            },
            onPress: this.onClose
          })));

          return optionspageConfig.isModal() ? _react.default.createElement(_reactNative.View, {
            style: [_$$_REQUIRE(_dependencyMap[22]).styles.background]
          }, optionspage) : optionspage;
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[23]).AutoHeightWebView, (0, _extends2.default)({}, webViewProps, {
          defaultHeight: 50
        }));
      }
    }]);
    return SpecialSection;
  }(_react.PureComponent);

  exports.default = SpecialSection;
  SpecialSection.propTypes = {
    newspaperManager: _propTypes.default.instanceOf(_NewspaperManager.default),
    showSections: _propTypes.default.bool,
    visible: _propTypes.default.bool,
    onOpen: _propTypes.default.func,
    onClose: _propTypes.default.func
  };
  SpecialSection.defaultProps = {
    showSections: true,
    visible: false,
    onOpen: function onOpen() {},
    onClose: function onClose() {}
  };
},2320,[5,80,6,7,8,15,12,14,16,17,28,1226,201,2306,460,1859,2298,572,730,462,699,1894,2301,1901]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _NoticeFullscreen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _NoticeInterstitial = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _NoticePrestitial = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _NoticeAdOverPage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _styleUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _OptionalPackages$get = _optionalPackageUtils.default.getPrebid(),
      PrebidInterstitial = _OptionalPackages$get.PrebidInterstitial;

  var _OptionalPackages$get2 = _optionalPackageUtils.default.getAdMob(),
      InterstitialAd = _OptionalPackages$get2.InterstitialAd,
      AdEventType = _OptionalPackages$get2.AdEventType,
      TestIds = _OptionalPackages$get2.TestIds;

  var _OptionalPackages$get3 = _optionalPackageUtils.default.getDFP(),
      Interstitial = _OptionalPackages$get3.Interstitial;

  var InterstitialsHelper = function () {
    function InterstitialsHelper() {
      (0, _classCallCheck2.default)(this, InterstitialsHelper);
    }

    (0, _createClass2.default)(InterstitialsHelper, null, [{
      key: "resetTimer",
      value: function resetTimer(timer) {
        clearTimeout(timer);
      }
    }, {
      key: "getPrestitial",
      value: function getPrestitial() {
        var timerCallback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
        var notice = global.getAdsConfig().getPrestitial();

        if (notice) {
          InterstitialsHelper.getComponentFromModel(notice, timerCallback);
        }
      }
    }, {
      key: "getInterstitial",
      value: function getInterstitial() {
        var timerCallback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
        var notice = global.getAdsConfig().getInterstitial();

        if (notice) {
          InterstitialsHelper.getComponentFromModel(notice, timerCallback);
        }
      }
    }, {
      key: "getAdOverPage",
      value: function getAdOverPage(page, onOpen, onClose, innerRef) {
        var notice, delay;
        return _regenerator.default.async(function getAdOverPage$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!page) {
                  _context2.next = 10;
                  break;
                }

                notice = global.getAdsConfig().getAdOverPage({
                  page: page.getShownPage()
                });
                _context2.prev = 2;

                if (!notice) {
                  _context2.next = 6;
                  break;
                }

                delay = notice.getTimeToShowFirst() || 0;
                return _context2.abrupt("return", new Promise(function (resolve) {
                  setTimeout(function _callee() {
                    var view;
                    return _regenerator.default.async(function _callee$(_context) {
                      while (1) {
                        switch (_context.prev = _context.next) {
                          case 0:
                            view = _$$_REQUIRE(_dependencyMap[11]).InterstitialContainer.get(notice, onOpen, onClose, innerRef);
                            notice.setCoolDown(Date.now());
                            resolve(view);

                          case 3:
                          case "end":
                            return _context.stop();
                        }
                      }
                    }, null, null, null, Promise);
                  }, delay);
                }));

              case 6:
                _context2.next = 10;
                break;

              case 8:
                _context2.prev = 8;
                _context2.t0 = _context2["catch"](2);

              case 10:
                return _context2.abrupt("return", Promise.resolve(null));

              case 11:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, [[2, 8]], Promise);
      }
    }, {
      key: "getInterstitialEpaper",
      value: function getInterstitialEpaper(pages) {
        var prevPages = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
        var isLastPage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;

        if (pages) {
          var notice = global.getAdsConfig().getInterstitialEpaper({
            pages: pages,
            prevPages: prevPages,
            isLastPage: isLastPage
          });

          if (notice) {
            return InterstitialsHelper.getComponentFromModel(notice);
          }
        }

        return undefined;
      }
    }, {
      key: "getComponentFromModel",
      value: function getComponentFromModel(notice) {
        var timerCallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;

        if (notice.isWeb()) {
          InterstitialsHelper.showWebComponentFromModel(notice, timerCallback);
        } else {
          InterstitialsHelper.showNativeComponentFromModel(notice, timerCallback);
        }
      }
    }, {
      key: "showWebComponentFromModel",
      value: function showWebComponentFromModel(notice) {
        var timerCallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
        var timer = setTimeout(function () {
          _$$_REQUIRE(_dependencyMap[11]).InterstitialContainer.show(notice);

          global.getAdsConfig().setNoticeCoolDown(notice.getId(), Date.now());
        }, notice.getTimeToShowFirst());

        if (timerCallback) {
          timerCallback(timer);
        }
      }
    }, {
      key: "showNativeComponentFromModel",
      value: function showNativeComponentFromModel(notice) {
        var timerCallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
        InterstitialsHelper.getNativeInterstitialComponent(notice, timerCallback);
      }
    }, {
      key: "getNativeInterstitialComponent",
      value: function getNativeInterstitialComponent(notice) {
        var timerCallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;

        if (global.getAdsConfig().useAdMob(notice.getAdProvider())) {
          InterstitialsHelper.getAdMobInterstitialComponent(notice, timerCallback);
        } else if (global.getAdsConfig().useDFP(notice.getAdProvider())) {
          InterstitialsHelper.getDFPInterstitialComponent(notice, timerCallback);
        } else if (global.getAdsConfig().usePrebid(notice.getAdProvider())) {
          InterstitialsHelper.getPrebidInterstitialComponent(notice, timerCallback);
        }
      }
    }, {
      key: "getAdMobInterstitialComponent",
      value: function getAdMobInterstitialComponent(notice) {
        var timerCallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;

        if (_optionalPackageUtils.default.isAdMobAvailable()) {
          var adUnitID = global.__DEV__ ? TestIds.INTERSTITIAL : notice.getAdUnitId();
          var interstitial = InterstitialAd.createForAdRequest(adUnitID);
          interstitial.load();
          interstitial.onAdEvent(function (type, error) {
            if (type === AdEventType.LOADED) {
              InterstitialsHelper.handleDelay(notice, Date.now(), function () {
                _$$_REQUIRE(_dependencyMap[12]).PlatformUtils.hideStatusBar();

                interstitial.show();
                InterstitialsHelper.showingNativeInterstitial = true;
                global.getAdsConfig().setNoticeCoolDown(notice.getId(), Date.now());
                notice.incrementIndex();
              }, timerCallback);
            } else if (type === AdEventType.ERROR) {
              notice.incrementIndex();
            } else if (type === AdEventType.CLOSED) {
              _$$_REQUIRE(_dependencyMap[12]).PlatformUtils.showStatusBar();

              _styleUtils.default.colorStatusBar();

              notice.incrementIndex();
            }
          });
        }
      }
    }, {
      key: "getDFPInterstitialComponent",
      value: function getDFPInterstitialComponent(notice) {
        var timerCallback,
            adConfig,
            targeting,
            _args3 = arguments;
        return _regenerator.default.async(function getDFPInterstitialComponent$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                timerCallback = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : null;

                if (!_optionalPackageUtils.default.isDFPAvailable()) {
                  _context3.next = 14;
                  break;
                }

                _context3.prev = 2;
                adConfig = {
                  adUnitId: notice.getAdUnitId(),
                  testDevice: global.adsTestDevices[0]
                };
                targeting = notice.getTargeting();

                if (!_$$_REQUIRE(_dependencyMap[12]).JSUtils.isEmpty(targeting)) {
                  adConfig.targeting = targeting;
                }

                _context3.next = 8;
                return _regenerator.default.awrap(Interstitial.loadAdFromAdUnitId(adConfig));

              case 8:
                InterstitialsHelper.handleDelay(notice, Date.now(), function () {
                  if (_$$_REQUIRE(_dependencyMap[12]).PlatformUtils.isIOS()) {
                    _$$_REQUIRE(_dependencyMap[12]).PlatformUtils.hideStatusBar();

                    Interstitial.showAd(function () {
                      _$$_REQUIRE(_dependencyMap[12]).PlatformUtils.showStatusBar();

                      _styleUtils.default.colorStatusBar();
                    });
                  } else {
                    Interstitial.showAd();
                  }

                  InterstitialsHelper.showingNativeInterstitial = true;
                  global.getAdsConfig().setNoticeCoolDown(notice.getId(), Date.now());
                  notice.incrementIndex();
                }, timerCallback);
                _context3.next = 14;
                break;

              case 11:
                _context3.prev = 11;
                _context3.t0 = _context3["catch"](2);

                if (notice) {
                  notice.incrementIndex();
                }

              case 14:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, [[2, 11]], Promise);
      }
    }, {
      key: "getPrebidInterstitialComponent",
      value: function getPrebidInterstitialComponent(notice) {
        var timerCallback,
            _args4 = arguments;
        return _regenerator.default.async(function getPrebidInterstitialComponent$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                timerCallback = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : null;

                if (_optionalPackageUtils.default.isPrebidAvailable()) {
                  _context4.next = 3;
                  break;
                }

                return _context4.abrupt("return");

              case 3:
                if (InterstitialsHelper.prebidInitialized) {
                  _context4.next = 12;
                  break;
                }

                _context4.prev = 4;
                _context4.next = 7;
                return _regenerator.default.awrap(PrebidInterstitial.initPrebid({
                  serverAccountId: notice.getPrebidAccount(),
                  serverHost: notice.getPrebidHost(),
                  shareGeolocation: notice.isPrebidShareGeolocation()
                }));

              case 7:
                InterstitialsHelper.prebidInitialized = _context4.sent.initialized;
                _context4.next = 12;
                break;

              case 10:
                _context4.prev = 10;
                _context4.t0 = _context4["catch"](4);

              case 12:
                _context4.prev = 12;
                _context4.next = 15;
                return _regenerator.default.awrap(PrebidInterstitial.loadAdFromConfig({
                  adUnitId: notice.getAdUnitId(),
                  configurationId: notice.getPrebidConfigurationId()
                }));

              case 15:
                InterstitialsHelper.handleDelay(notice, Date.now(), function () {
                  PrebidInterstitial.showAd();
                  InterstitialsHelper.showingNativeInterstitial = true;
                  global.getAdsConfig().setNoticeCoolDown(notice.getId(), Date.now());
                  notice.incrementIndex();
                }, timerCallback);
                _context4.next = 21;
                break;

              case 18:
                _context4.prev = 18;
                _context4.t1 = _context4["catch"](12);

                if (notice) {
                  notice.incrementIndex();
                }

              case 21:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, [[4, 10], [12, 18]], Promise);
      }
    }, {
      key: "handleDelay",
      value: function handleDelay(notice, setupTime, showAdCallback, timerCallback) {
        var delay = notice.getTimeToShowFirst();
        var readyTime = Date.now();
        var timeDiff = readyTime - setupTime;

        if (timeDiff >= delay) {
          showAdCallback();
        } else {
          InterstitialsHelper.interstitialTimeout(delay - timeDiff, showAdCallback, timerCallback);
        }
      }
    }, {
      key: "interstitialTimeout",
      value: function interstitialTimeout(delay, callback, parentCallback) {
        var timer = setTimeout(function () {
          if (callback) {
            callback();
          }
        }, delay);

        if (parentCallback) {
          parentCallback(timer);
        }
      }
    }]);
    return InterstitialsHelper;
  }();

  exports.default = InterstitialsHelper;
  InterstitialsHelper.prebidInitialized = false;
  InterstitialsHelper.showingNativeInterstitial = false;
},2321,[5,80,7,8,638,731,2020,2022,2023,2019,2147,2322,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.InterstitialContainer = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _interstitial = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _interstitialComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _NoticeFullscreen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var InterstitialContainer = function (_React$Component) {
    (0, _inherits2.default)(InterstitialContainer, _React$Component);

    var _super = _createSuper(InterstitialContainer);

    function InterstitialContainer(props) {
      var _this;

      (0, _classCallCheck2.default)(this, InterstitialContainer);
      _this = _super.call(this, props);
      _this.removeTimer = 0;
      _this.top = undefined;
      _this.hideInterstitial = _this.hideInterstitial.bind((0, _assertThisInitialized2.default)(_this));
      _this.close = _this._close.bind((0, _assertThisInitialized2.default)(_this));
      _this.open = _this._open.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        visible: false,
        model: null
      };
      return _this;
    }

    (0, _createClass2.default)(InterstitialContainer, [{
      key: "showInterstitial",
      value: function showInterstitial(model) {
        this.setState({
          visible: true,
          model: model
        });
      }
    }, {
      key: "hideInterstitial",
      value: function hideInterstitial() {
        this.setState({
          visible: false,
          model: null
        });
      }
    }, {
      key: "_open",
      value: function _open() {
        var _this2 = this;

        return _regenerator.default.async(function _open$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", new Promise(function (resolve) {
                  if (_this2.top) {
                    _reactNative.Animated.timing(_this2.top, {
                      toValue: 0,
                      useNativeDriver: false
                    }).start(function () {
                      resolve();
                    });
                  } else {
                    resolve();
                  }
                }));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "_close",
      value: function _close() {
        var _this3 = this;

        return _regenerator.default.async(function _close$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                return _context2.abrupt("return", new Promise(function (resolve) {
                  if (_this3.top) {
                    var _DeviceUtils$getScree = _deviceUtils.default.getScreenDimensions(),
                        height = _DeviceUtils$getScree.height;

                    _reactNative.Animated.timing(_this3.top, {
                      toValue: height,
                      useNativeDriver: false
                    }).start(function () {
                      resolve();

                      _this3.hideInterstitial();
                    });
                  } else {
                    resolve();
                  }
                }));

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "render",
      value: function render() {
        var _this$state = this.state,
            visible = _this$state.visible,
            model = _this$state.model;

        if (visible && model) {
          var _DeviceUtils$getScree2 = _deviceUtils.default.getScreenDimensions(),
              width = _DeviceUtils$getScree2.width,
              height = _DeviceUtils$getScree2.height;

          if (this.top === undefined) {
            this.top = new _reactNative.Animated.Value(height);
          }

          return _react.default.createElement(_reactNative.Animated.View, (0, _extends2.default)({}, this.props, {
            style: [_interstitial.default.container, {
              width: width,
              height: height,
              top: this.top
            }]
          }), _react.default.createElement(_interstitialComponent.default, {
            model: model,
            onClose: this.close,
            onOpen: this.open
          }));
        }

        return null;
      }
    }], [{
      key: "show",
      value: function show(notice) {
        this.interstitialInstance.showInterstitial(notice);
      }
    }, {
      key: "hide",
      value: function hide() {
        this.interstitialInstance.hideInterstitial();
      }
    }, {
      key: "get",
      value: function get(notice, onOpen, onClose, innerRef) {
        return _react.default.createElement(_interstitialComponent.default, {
          model: notice,
          onOpen: onOpen,
          onClose: onClose,
          innerRef: innerRef
        });
      }
    }]);
    return InterstitialContainer;
  }(_react.default.Component);

  exports.InterstitialContainer = InterstitialContainer;
  InterstitialContainer.popup = {};
},2322,[5,80,6,7,8,15,12,14,16,17,28,2323,458,2324,2020]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    container: {
      position: "absolute",
      top: 0,
      left: 0,
      right: 0,
      bottom: 0,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.transparent
    },
    closeContainer: {
      position: "absolute",
      justifyContent: "center",
      alignItems: "center",
      margin: 5,
      width: 20,
      height: 20,
      borderWidth: 1.5,
      borderColor: _$$_REQUIRE(_dependencyMap[1]).colors.white,
      borderRadius: 10,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      shadowOffset: {
        width: 0.5,
        height: 0.5
      },
      shadowColor: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      shadowOpacity: 1.0,
      shadowRadius: 0.5
    },
    close: {
      fontSize: 14,
      marginEnd: 0,
      marginStart: 0,
      marginRight: 0,
      textAlign: "center",
      color: _$$_REQUIRE(_dependencyMap[1]).colors.white
    }
  });

  exports.default = _default;
},2323,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  var _interstitialCloseComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _interstitial = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _NoticeFullscreen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _NoticeAdOverPage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _cmpUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Interstitial = function (_React$PureComponent) {
    (0, _inherits2.default)(Interstitial, _React$PureComponent);

    var _super = _createSuper(Interstitial);

    function Interstitial(props) {
      var _this;

      (0, _classCallCheck2.default)(this, Interstitial);
      _this = _super.call(this, props);
      _this.removeTimer = 0;
      _this.onInnerRef = _this._onInnerRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.close = _this._close.bind((0, _assertThisInitialized2.default)(_this));
      _this.startAutoClose = _this._startAutoClose.bind((0, _assertThisInitialized2.default)(_this));
      _this.handleLocals = _this._handleLocals.bind((0, _assertThisInitialized2.default)(_this));
      _this.handleLinkClicked = _this._handleLinkClicked.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLoadEnd = _this._onLoadEnd.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(Interstitial, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this._shouldOpen();
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate() {
        this._shouldOpen();
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        if (this.removeTimer) {
          clearTimeout(this.removeTimer);
          this.removeTimer = 0;
        }
      }
    }, {
      key: "_shouldOpen",
      value: function _shouldOpen() {
        var model = this.props.model;

        if (model) {
          if (!model.shouldWaitForLocal()) {
            this._open();
          }
        }
      }
    }, {
      key: "_open",
      value: function _open() {
        var onOpen;
        return _regenerator.default.async(function _open$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                onOpen = this.props.onOpen;

                if (!(typeof onOpen === "function")) {
                  _context.next = 4;
                  break;
                }

                _context.next = 4;
                return _regenerator.default.awrap(onOpen());

              case 4:
                this.startAutoClose();

              case 5:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_startAutoClose",
      value: function _startAutoClose() {
        var model = this.props.model;

        if (model) {
          if (model.isRemoveAfterSeconds() && model.getRemoveAfterSeconds() !== undefined) {
            this.removeTimer = setTimeout(this.close, model.getRemoveAfterSeconds());
          }
        }
      }
    }, {
      key: "_close",
      value: function _close() {
        var onClose;
        return _regenerator.default.async(function _close$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                onClose = this.props.onClose;

                if (!(typeof onClose === "function")) {
                  _context2.next = 4;
                  break;
                }

                _context2.next = 4;
                return _regenerator.default.awrap(onClose());

              case 4:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_onInnerRef",
      value: function _onInnerRef(ref) {
        var innerRef = this.props.innerRef;

        if (typeof innerRef === "function") {
          innerRef(ref);
        }
      }
    }, {
      key: "_handleLocals",
      value: function _handleLocals(_ref) {
        var domain = _ref.domain;

        if (domain.includes("ad_loaded")) {
          this._open();
        }

        if (domain.includes("closeInterstitial")) {
          this._close();
        }
      }
    }, {
      key: "_handleLinkClicked",
      value: function _handleLinkClicked() {
        this._close();

        return false;
      }
    }, {
      key: "_getCloseButton",
      value: function _getCloseButton(model) {
        if (model) {
          return _react.default.createElement(_interstitialCloseComponent.default, {
            onClose: this.close,
            showAfter: model.getShowButtonAfterSeconds()
          });
        }

        return null;
      }
    }, {
      key: "_onLoadEnd",
      value: function _onLoadEnd() {
        var model = this.props.model;
        (0, _$$_REQUIRE(_dependencyMap[18]).trackWebInterstitial)(model, "loaded");
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            model = _this$props.model,
            onClose = _this$props.onClose;

        if (model) {
          var _DeviceUtils$getSafeA = _deviceUtils.default.getSafeAreaInsets(),
              top = _DeviceUtils$getSafeA.top;

          var scrollEnabled = true;

          if (model instanceof _NoticeAdOverPage.default) {
            top = 0;
            scrollEnabled = false;
          }

          var backgroundColor = model.getBackgroundColor();
          var uri = model.getUri();
          return _react.default.createElement(_reactNative.View, (0, _extends2.default)({}, this.props, {
            style: [_interstitial.default.container, {
              backgroundColor: backgroundColor
            }]
          }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).BaseWebView, {
            innerRef: this.onInnerRef,
            overScrollMode: "content",
            injectedJavaScriptBeforeContentLoaded: _cmpUtils.default.getCMPScript(),
            onLocal: this.handleLocals,
            onLinkClicked: this.handleLinkClicked,
            onLoadEnd: this.onLoadEnd,
            source: {
              uri: uri
            },
            progressType: _$$_REQUIRE(_dependencyMap[19]).BaseWebView.ProgressTypes.bar,
            progressStyle: {
              top: top
            },
            scrollEnabled: scrollEnabled
          }), this._getCloseButton(model, onClose));
        }

        return null;
      }
    }]);
    return Interstitial;
  }(_react.default.PureComponent);

  exports.default = Interstitial;
  Interstitial.propTypes = {
    model: _propTypes.default.instanceOf(_NoticeFullscreen.default),
    onClose: _propTypes.default.func,
    onOpen: _propTypes.default.func,
    innerRef: _propTypes.default.func
  };
  Interstitial.defaultProps = {
    innerRef: function innerRef() {}
  };
},2324,[5,80,6,7,8,15,12,14,16,17,201,28,2325,2323,2020,2019,458,1875,1871,1894]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _interstitial = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var InterstitialCloseComponent = function (_React$Component) {
    (0, _inherits2.default)(InterstitialCloseComponent, _React$Component);

    var _super = _createSuper(InterstitialCloseComponent);

    function InterstitialCloseComponent(props) {
      var _this;

      (0, _classCallCheck2.default)(this, InterstitialCloseComponent);
      _this = _super.call(this, props);
      _this.showTimer = 0;
      _this.state = {
        visible: false
      };
      return _this;
    }

    (0, _createClass2.default)(InterstitialCloseComponent, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        var showAfter = this.props.showAfter;
        this.showTimer = setTimeout(function () {
          _this2.setState({
            visible: true
          });
        }, showAfter);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        if (this.showTimer) {
          clearTimeout(this.showTimer);
          this.showTimer = 0;
        }
      }
    }, {
      key: "render",
      value: function render() {
        var visible = this.state.visible;

        if (!visible) {
          return null;
        }

        var onClose = this.props.onClose;

        var _DeviceUtils$getSafeA = _deviceUtils.default.getSafeAreaInsets(),
            safeAreaTop = _DeviceUtils$getSafeA.top,
            left = _DeviceUtils$getSafeA.left;

        var top = Math.max(safeAreaTop, 20);

        var closeContainerStyle = _$$_REQUIRE(_dependencyMap[12]).Css.getStyleObjByCssClasses(["interstitial-close-container"]);

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).TapGestureHandler, {
          onHandlerStateChange: function onHandlerStateChange(_ref) {
            var nativeEvent = _ref.nativeEvent;

            if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[13]).State.ACTIVE) {
              onClose();
            }
          }
        }, _react.default.createElement(_reactNative.View, {
          style: [_interstitial.default.closeContainer, {
            top: top
          }, _$$_REQUIRE(_dependencyMap[14]).PlatformUtils.isRTL() ? {
            end: left
          } : {
            start: left
          }, closeContainerStyle]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
          classes: ["interstitial-close-icon"]
        }, _react.default.createElement(_iconComponent.default, {
          onPress: onClose,
          name: "times",
          style: _interstitial.default.close,
          type: _iconComponent.TecnaviaIconType.FONT_AWESOME
        }))));
      }
    }]);
    return InterstitialCloseComponent;
  }(_react.default.Component);

  exports.default = InterstitialCloseComponent;
  InterstitialCloseComponent.propTypes = {
    showAfter: _propTypes.default.number,
    onClose: _propTypes.default.func
  };
},2325,[5,7,8,12,14,16,17,28,201,2323,1806,458,699,1,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _progressDownloadComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ProgressDownload = function (_React$Component) {
    (0, _inherits2.default)(ProgressDownload, _React$Component);

    var _super = _createSuper(ProgressDownload);

    function ProgressDownload(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ProgressDownload);
      _this = _super.call(this, props);
      _this.state = {
        visible: props.visible
      };
      _this.onProgressCircleRef = _this._onProgressCircleRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onProgressChange = _this._onProgressChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onRetry = _this._onRetry.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(ProgressDownload, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this$props = this.props,
            event = _this$props.event,
            retryEvent = _this$props.retryEvent;
        this.onDownloadEvent = _$$_REQUIRE(_dependencyMap[13]).EventRegister.on(event, this.onProgressChange);

        if (retryEvent) {
          this.onRetryEvent = _$$_REQUIRE(_dependencyMap[13]).EventRegister.on(retryEvent, this.onRetry);
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[13]).EventRegister.rm(this.onDownloadEvent);

        _$$_REQUIRE(_dependencyMap[13]).EventRegister.rm(this.onRetryEvent);
      }
    }, {
      key: "_onProgressChange",
      value: function _onProgressChange(_ref) {
        var progress = _ref.progress,
            _ref$downloading = _ref.downloading,
            downloading = _ref$downloading === undefined ? true : _ref$downloading;
        var visible = this.state.visible;

        if (visible !== downloading) {
          this.setState({
            visible: downloading
          });
        }

        if (this.progressCircleRef) {
          this.progressCircleRef.updateProgress(progress);
        }
      }
    }, {
      key: "_onProgressCircleRef",
      value: function _onProgressCircleRef(ref) {
        this.progressCircleRef = ref;
      }
    }, {
      key: "_onRetry",
      value: function _onRetry(_ref2) {
        var retryText = _ref2.retryText;

        if (this.progressCircleRef) {
          this.progressCircleRef.updateRetryText(retryText);
        }
      }
    }, {
      key: "render",
      value: function render() {
        var visible = this.state.visible;

        if (!visible) {
          return null;
        }

        var _this$props2 = this.props,
            text = _this$props2.text,
            color = _this$props2.color,
            style = _this$props2.style,
            cssClasses = _this$props2.cssClasses,
            cssTextClasses = _this$props2.cssTextClasses,
            rest = (0, _objectWithoutProperties2.default)(_this$props2, ["text", "color", "style", "cssClasses", "cssTextClasses"]);
        return _react.default.createElement(_reactNative.View, {
          style: [_progressDownloadComponent.default.parent, style],
          pointerEvents: "none"
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).ProgressCircle, (0, _extends2.default)({
          ref: this.onProgressCircleRef,
          parentStyle: _progressDownloadComponent.default.progressParent,
          spinnerStyle: _progressDownloadComponent.default.progress,
          spinnerColor: color,
          showText: true,
          text: text,
          textStyle: _progressDownloadComponent.default.progressText,
          advanced: true,
          cssClasses: cssClasses,
          cssTextClasses: cssTextClasses
        }, rest)));
      }
    }]);
    return ProgressDownload;
  }(_react.default.Component);

  exports.default = ProgressDownload;
  ProgressDownload.propTypes = {
    text: _propTypes.default.string.isRequired,
    color: _propTypes.default.string.isRequired,
    event: _propTypes.default.string.isRequired,
    retryEvent: _propTypes.default.string,
    style: _propTypes.default.any,
    visible: _propTypes.default.bool,
    cssClasses: _propTypes.default.arrayOf(_propTypes.default.string),
    cssTextClasses: _propTypes.default.arrayOf(_propTypes.default.string)
  };
  ProgressDownload.defaultProps = {
    visible: true,
    cssClasses: [],
    cssTextClasses: []
  };
},2326,[5,6,108,7,8,15,12,14,16,17,28,201,2327,572,1953]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    parent: {
      position: "absolute",
      start: 0,
      end: 0,
      top: 0,
      bottom: 0,
      backgroundColor: "white",
      justifyContent: "center"
    },
    progressParent: {
      flex: 1,
      flexDirection: "column"
    },
    progress: {
      flex: 0
    },
    progressText: {
      flex: 0,
      margin: 10
    }
  });

  exports.default = _default;
},2327,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _NewsmemoryAJAX = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _shortcutList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _optionPageAccessibility = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _AccessibilityListItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _GlobalConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var Analytics = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[19]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var OptionPageAccessibility = function (_React$Component) {
    (0, _inherits2.default)(OptionPageAccessibility, _React$Component);

    var _super = _createSuper(OptionPageAccessibility);

    function OptionPageAccessibility(props) {
      var _this;

      (0, _classCallCheck2.default)(this, OptionPageAccessibility);
      _this = _super.call(this, props);
      _this.state = {
        open: false,
        structure: []
      };
      _this.onOpen = _this._onOpen.bind((0, _assertThisInitialized2.default)(_this));
      _this.onClose = _this._onClose.bind((0, _assertThisInitialized2.default)(_this));
      _this.onRead = _this._onRead.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPageRead = _this._onPageRead.bind((0, _assertThisInitialized2.default)(_this));
      _this.onListRef = _this._onListRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.renderSeparator = _this._renderSeparator.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(OptionPageAccessibility, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this._onShowListenerId = _$$_REQUIRE(_dependencyMap[20]).EventRegister.on(_events.default.OPEN_OPTIONSPAGE_ACCESSIBILITY, this.onOpen);
        this._onCloseListenerId = _$$_REQUIRE(_dependencyMap[20]).EventRegister.on(_events.default.CLOSE_OPTIONSPAGE_ACCESSIBILITY, this.onClose);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[20]).EventRegister.rm(this._onShowListenerId);

        _$$_REQUIRE(_dependencyMap[20]).EventRegister.rm(this._onCloseListenerId);
      }
    }, {
      key: "_onOpen",
      value: function _onOpen() {
        var result;
        return _regenerator.default.async(function _onOpen$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                this.setState({
                  open: true
                });
                _context.prev = 1;
                _context.next = 4;
                return _regenerator.default.awrap(_NewsmemoryAJAX.default.getEditionsAndIssues());

              case 4:
                result = _context.sent;
                this.setState({
                  structure: this._makeStructure(result)
                });

                if (!_$$_REQUIRE(_dependencyMap[21]).PlatformUtils.isSystemAccessibilityEnabled()) {
                  global.getAudio().ttsStart(global.strings("accessibility_issue_list_header"));
                }

                _context.next = 12;
                break;

              case 9:
                _context.prev = 9;
                _context.t0 = _context["catch"](1);

                this._onClose();

              case 12:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[1, 9]], Promise);
      }
    }, {
      key: "_onClose",
      value: function _onClose() {
        this.setState({
          open: false
        });
      }
    }, {
      key: "_onListRef",
      value: function _onListRef(ref) {
        this.listRef = ref;
      }
    }, {
      key: "_onRead",
      value: function _onRead(item) {
        return this._getItemText(item);
      }
    }, {
      key: "_onPageRead",
      value: function _onPageRead(page) {
        return global.strings("selected_page", {
          page: page + 1
        });
      }
    }, {
      key: "_onItemPress",
      value: function _onItemPress(item, index) {
        if (item instanceof _AccessibilityListItem.default) {
          if (item.getKey() === _$$_REQUIRE(_dependencyMap[22]).ACTIONS.closeEditions.key) {
            this._onClose();
          }
        } else if (item instanceof _$$_REQUIRE(_dependencyMap[23]).EditionModel) {} else if (item instanceof _$$_REQUIRE(_dependencyMap[23]).IssueModel) {
          this._openIssue(item);
        } else {}
      }
    }, {
      key: "_openIssue",
      value: function _openIssue(item) {
        var structure, eModel, machine, pSetup, issue, edition, paperDomain, _global$getActivePSet, currentPSetup, config;

        return _regenerator.default.async(function _openIssue$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                structure = this.state.structure;
                eModel = structure[item.editionIndex];
                machine = item.machine, pSetup = item.pSetup, issue = item.issue;
                edition = eModel.edition;
                paperDomain = machine;
                _global$getActivePSet = global.getActivePSetup(), currentPSetup = _global$getActivePSet.pSetup;
                _context2.next = 8;
                return _regenerator.default.awrap(global.loadPSetup(pSetup, paperDomain));

              case 8:
                config = _context2.sent;

                if (!config) {
                  _context2.next = 16;
                  break;
                }

                this._onClose();

                if (!(currentPSetup !== pSetup)) {
                  _context2.next = 15;
                  break;
                }

                _context2.next = 14;
                return _regenerator.default.awrap(_GlobalConfig.default.initEpaperLayoutConfig(false));

              case 14:
                Analytics.updateAnalyticsClientList();

              case 15:
                _$$_REQUIRE(_dependencyMap[20]).EventRegister.emit(_events.default.NEWSMEMORY_DOWNLOAD_EDITION, {
                  issue: issue,
                  edition: edition
                });

              case 16:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_getItemAccessibilityText",
      value: function _getItemAccessibilityText(item) {
        if (item instanceof _$$_REQUIRE(_dependencyMap[23]).EditionModel) {
          return _$$_REQUIRE(_dependencyMap[21]).StringUtils.decodeHTML(item.labelEdition);
        }

        if (item instanceof _$$_REQUIRE(_dependencyMap[23]).IssueModel) {
          var structure = this.state.structure;
          return structure[item.editionIndex].labelEdition + " " + _$$_REQUIRE(_dependencyMap[21]).StringUtils.BULLET + "  " + _$$_REQUIRE(_dependencyMap[21]).StringUtils.decodeHTML(item.dateLabelAccessibility);
        }

        if (item instanceof _AccessibilityListItem.default) {
          return item.getText();
        }

        return "";
      }
    }, {
      key: "_getItemText",
      value: function _getItemText(item) {
        if (item instanceof _$$_REQUIRE(_dependencyMap[23]).EditionModel) {
          return _$$_REQUIRE(_dependencyMap[21]).StringUtils.decodeHTML(item.labelEdition);
        }

        if (item instanceof _$$_REQUIRE(_dependencyMap[23]).IssueModel) {
          return _$$_REQUIRE(_dependencyMap[21]).StringUtils.BULLET + "  " + _$$_REQUIRE(_dependencyMap[21]).StringUtils.decodeHTML(item.dateLabelAccessibility);
        }

        if (item instanceof _AccessibilityListItem.default) {
          return item.getText();
        }

        return "";
      }
    }, {
      key: "_renderItem",
      value: function _renderItem(item, focused) {
        if (item instanceof _$$_REQUIRE(_dependencyMap[23]).EditionModel) {
          return _react.default.createElement(_reactNative.View, {
            style: [_optionPageAccessibility.default.item, _optionPageAccessibility.default.edition]
          }, _react.default.createElement(_fontText.default, {
            style: [_optionPageAccessibility.default.editionText]
          }, this._getItemText(item)));
        }

        if (item instanceof _$$_REQUIRE(_dependencyMap[23]).IssueModel) {
          return _react.default.createElement(_reactNative.View, {
            style: [_optionPageAccessibility.default.item, _optionPageAccessibility.default.issue]
          }, _react.default.createElement(_fontText.default, {
            style: [_optionPageAccessibility.default.issueText]
          }, this._getItemText(item)));
        }

        if (item instanceof _AccessibilityListItem.default) {
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).ItemListAccessibility, {
            text: item.getText(),
            key: item.getKey(),
            style: [_optionPageAccessibility.default.item, _optionPageAccessibility.default.issue],
            focused: focused
          });
        }

        return null;
      }
    }, {
      key: "_renderSeparator",
      value: function _renderSeparator() {
        return (0, _$$_REQUIRE(_dependencyMap[25]).hr)({
          backgroundColor: _$$_REQUIRE(_dependencyMap[21]).colors.black,
          height: 0.5
        });
      }
    }, {
      key: "_makeStructure",
      value: function _makeStructure(_ref) {
        var edition = _ref.edition,
            pics = _ref.pics;
        var items = [new _AccessibilityListItem.default(_$$_REQUIRE(_dependencyMap[22]).ACTIONS.closeEditions)];
        var editionsKeys = Object.keys(pics);
        editionsKeys.forEach(function (editionKey) {
          if (edition[editionKey]) {
            items.push(new (_$$_REQUIRE(_dependencyMap[23]).EditionModel)((0, _extends2.default)({}, edition[editionKey], {
              edition: editionKey
            })));
            var editionIndex = items.length - 1;
            var issuesKeys = Object.keys(pics[editionKey]);

            for (var i = issuesKeys.length - 1; i >= 0; i--) {
              var issueKey = issuesKeys[i];
              var issue = pics[editionKey][issueKey];
              items.push(new (_$$_REQUIRE(_dependencyMap[23]).IssueModel)((0, _extends2.default)({}, issue, {
                issue: issueKey,
                editionIndex: editionIndex
              })));
            }
          }
        });
        return items;
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$state = this.state,
            open = _this$state.open,
            structure = _this$state.structure;

        if (!open || !structure) {
          return null;
        }

        var shortcutPriority = this.props.shortcutPriority;
        return _react.default.createElement(_reactNative.View, {
          style: _optionPageAccessibility.default.container,
          accessibilityLabel: global.strings("accessibility_issue_list_header")
        }, _react.default.createElement(_shortcutList.default, {
          ref: this.onListRef,
          keyExtractor: function keyExtractor(current, idx) {
            return "index_level_" + idx;
          },
          readFocusedItem: false,
          onRead: this.onRead,
          onPageRead: this.onPageRead,
          ItemSeparatorComponent: this.renderSeparator,
          renderItem: function renderItem(_ref2) {
            var item = _ref2.item,
                index = _ref2.index,
                focusedItem = _ref2.focusedItem;

            var focused = _$$_REQUIRE(_dependencyMap[21]).JSUtils.areEqualShallow(item, focusedItem);

            return _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).ItemAccessibilityFocused, {
              touchable: true,
              focused: focused,
              style: [_optionPageAccessibility.default.row, focused ? _optionPageAccessibility.default.rowFocused : undefined],
              key: index,
              hasTVPreferredFocus: true,
              onPress: function onPress() {
                return _this2._onItemPress(item, index);
              },
              accessibilityEnabled: true,
              accessibilityLabel: _this2._getItemAccessibilityText(item)
            }, _this2._renderItem(item, focused));
          },
          accessibilityEnabled: true,
          data: structure,
          plainData: structure,
          shortcutPriority: shortcutPriority
        }));
      }
    }]);
    return OptionPageAccessibility;
  }(_react.default.Component);

  exports.default = OptionPageAccessibility;
  OptionPageAccessibility.propTypes = {
    shortcutPriority: _propTypes.default.number
  };
  OptionPageAccessibility.defaultProps = {
    shortcutPriority: 0
  };
},2328,[5,80,6,7,8,15,12,14,16,17,28,201,460,430,1908,2329,1879,1726,2154,1871,572,462,1725,2330,2189,2195]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    container: {
      position: "absolute",
      top: 0,
      bottom: 0,
      left: 0,
      right: 0,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white
    },
    row: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white,
      flexDirection: "row",
      justifyContent: "space-between",
      alignItems: "center"
    },
    rowFocused: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.keyboardHighlight
    },
    item: {
      flex: 1,
      fontSize: 18,
      paddingHorizontal: 6,
      paddingVertical: 11
    },
    edition: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.black
    },
    editionText: {
      color: _$$_REQUIRE(_dependencyMap[1]).colors.white
    },
    issue: {},
    issueText: {}
  });

  exports.default = _default;
},2329,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.IssueModel = exports.EditionModel = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var EditionModel = function EditionModel(obj) {
    (0, _classCallCheck2.default)(this, EditionModel);
    this.edition = obj.edition;
    this.labelEdition = obj.label_edition;
    this.pSetup = obj.pSetup;
    this.subtitleEdition = obj.subtitle_edition;
  };

  exports.EditionModel = EditionModel;

  var IssueModel = function IssueModel(obj) {
    (0, _classCallCheck2.default)(this, IssueModel);
    this.issue = obj.issue;
    this.dateLabel = obj.dateLabel;
    this.dateLabelAccessibility = obj.dateLabelAccessibility;
    this.dayOfWeek = obj.dayOfWeek;
    this.dayOfWeekComplete = obj.dayOfWeekComplete;
    this.deliveryTime = obj.deliveryTime;
    this.filename = obj.filename;
    this.lastClosed = obj.lastClosed;
    this.pSetup = obj.pSetup;
    this.machine = obj.machine;
    this.paper = obj.paper;
    this.pathEdi = obj.pathEdi;
    this.editionIndex = obj.editionIndex;
  };

  exports.IssueModel = IssueModel;
},2330,[5,7]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[12]);

  var Analytics = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[13]));

  var _NewsmemoryManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _GlobalConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _nativeOptionsPageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _tecnaviaPlatformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _keyboardAvoidingComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _LoginManager = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[23]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[24]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var _OptionalPackages$get = _optionalPackageUtils.default.getNativeOptionsPage(),
      OptionsPage = _OptionalPackages$get.OptionsPage,
      Methods = _OptionalPackages$get.Methods,
      Models = _OptionalPackages$get.Models;

  var LOG_CALLBACKS = {
    onLog: function onLog(message) {
      for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
        rest[_key - 1] = arguments[_key];
      }
    },
    onDebug: function onDebug(message) {
      for (var _len2 = arguments.length, rest = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
        rest[_key2 - 1] = arguments[_key2];
      }
    },
    onWarning: function onWarning(message) {
      for (var _len3 = arguments.length, rest = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
        rest[_key3 - 1] = arguments[_key3];
      }
    },
    onError: function onError(message) {
      for (var _len4 = arguments.length, rest = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
        rest[_key4 - 1] = arguments[_key4];
      }
    }
  };

  var NativeOptionsPage = function (_React$Component) {
    (0, _inherits2.default)(NativeOptionsPage, _React$Component);

    var _super = _createSuper(NativeOptionsPage);

    function NativeOptionsPage(props) {
      var _this;

      (0, _classCallCheck2.default)(this, NativeOptionsPage);
      _this = _super.call(this, props);

      _this._close = function (force) {
        var _this$props = _this.props,
            isNewspaperLoaded = _this$props.isNewspaperLoaded,
            onClose = _this$props.onClose,
            handleBackButton = _this$props.handleBackButton;

        if (force || typeof isNewspaperLoaded === "function" && isNewspaperLoaded()) {
          _this.setState({
            visible: false
          });

          if (typeof onClose === "function") {
            onClose();
          }
        } else {
          var initialRoute = _this.state.initialRoute;

          var _global$getRSSActiveP = global.getRSSActivePSetup(),
              rssIsEnabled = _global$getRSSActiveP.rssIsEnabled;

          if (_this.currentRoute && !(_this.currentRoute instanceof Models.RouteEdition) && _this.currentRoute.getRoute() !== initialRoute) {
            Methods.Navigation.navigateToHome();
          } else if (rssIsEnabled) {
            _NavigationService.default.main.reset("RssNavigator");
          } else if (_$$_REQUIRE(_dependencyMap[25]).PaperSetupManager.isGenericAppConfigured()) {
            _NavigationService.default.main.navigate("PublicationsPageScreen");
          } else if (typeof handleBackButton === "function") {
            handleBackButton();
          }
        }
      };

      _this._onLocal = function (_ref) {
        var uri = _ref.uri,
            jsInjection = _ref.jsInjection;

        try {
          var data = (0, _extends2.default)({
            local: uri.getDomain(),
            protocol: uri.getProtocol(),
            port: uri.getPort()
          }, uri.getParams());
          var message = new Models.Message();
          message.setData(JSON.stringify(data));

          _this._onMessage({
            message: message,
            jsInjection: jsInjection
          });
        } catch (e) {}
      };

      _this._injectionJs = function (local, js) {
        var jsInjection = _this.jsInjectCallbacks[local];

        if (typeof jsInjection === "function") {
          jsInjection({
            js: js
          });
          delete _this.jsInjectCallbacks[local];
        }
      };

      _this._onMessage = function _callee3(_ref2) {
        var message, jsInjection, data, local, rest, result, jsCode, newsmemoryManager, _NativeOptionsPageUti, initialRoute, urlParams, mIssue, _mIssue, js, callback, close, _js, _js2;

        return _regenerator.default.async(function _callee3$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                message = _ref2.message, jsInjection = _ref2.jsInjection;
                _context3.prev = 1;
                data = JSON.parse(message.getData());
                local = data.local, rest = (0, _objectWithoutProperties2.default)(data, ["local"]);
                _this.jsInjectCallbacks[local] = jsInjection;

                if (!local.includes(_$$_REQUIRE(_dependencyMap[26]).locals.RETURN_FROM_LOGIN)) {
                  _context3.next = 13;
                  break;
                }

                _context3.next = 8;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[27]).returnFromLogin)(rest));

              case 8:
                result = _context3.sent;

                if (result && result.data) {
                  jsCode = "xcj_loginResults(" + result.TAUID + ",'" + JSON.stringify(result.data) + "');";
                } else {
                  jsCode = "xcj_loginResults(-1,'" + JSON.stringify({
                    protError: _LoginManager.PROT_ERROR.NOT_LOGGEDIN
                  }) + "');";
                }

                _this._injectionJs(local, jsCode);

                _context3.next = 108;
                break;

              case 13:
                if (!local.includes(_$$_REQUIRE(_dependencyMap[26]).locals.LOGOUT)) {
                  _context3.next = 21;
                  break;
                }

                _context3.next = 16;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[27]).logout)());

              case 16:
                newsmemoryManager = _this.props.newsmemoryManager;
                _NativeOptionsPageUti = _nativeOptionsPageUtils.default.getStateFromTab(_$$_REQUIRE(_dependencyMap[26]).tabs.login, {}, newsmemoryManager), initialRoute = _NativeOptionsPageUti.initialRoute, urlParams = _NativeOptionsPageUti.params;

                _this.setState({
                  initialRoute: initialRoute,
                  urlParams: urlParams
                });

                _context3.next = 108;
                break;

              case 21:
                if (!local.includes(_$$_REQUIRE(_dependencyMap[26]).locals.INITPAGE_SET_NEWSPAPER_AND_READ)) {
                  _context3.next = 30;
                  break;
                }

                mIssue = new Models.Issue();
                mIssue.setMachine(rest.machine);
                mIssue.setPSetup(rest.pSetup);
                mIssue.setIssue(rest.issue);
                mIssue.setEdition(rest.edition);

                _this._onIssuePress(mIssue);

                _context3.next = 108;
                break;

              case 30:
                if (!local.includes(_$$_REQUIRE(_dependencyMap[26]).locals.INITPAGE_SET_EXTERNAL_NEWSPAPER)) {
                  _context3.next = 39;
                  break;
                }

                _mIssue = new Models.Issue();

                _mIssue.setMachine(rest.machine);

                _mIssue.setPSetup(rest.pSetup);

                _mIssue.setIssue(rest.issue);

                _mIssue.setEdition(rest.edition);

                _this._onIssuePress(_mIssue);

                _context3.next = 108;
                break;

              case 39:
                if (!local.includes(_$$_REQUIRE(_dependencyMap[26]).locals.BUY)) {
                  _context3.next = 43;
                  break;
                }

                (0, _$$_REQUIRE(_dependencyMap[28]).buy)(rest, function _callee(iapParams) {
                  return _regenerator.default.async(function _callee$(_context) {
                    while (1) {
                      switch (_context.prev = _context.next) {
                        case 0:
                          return _context.abrupt("return", _this._iapSystemCallback(iapParams, local));

                        case 1:
                        case "end":
                          return _context.stop();
                      }
                    }
                  }, null, null, null, Promise);
                });
                _context3.next = 108;
                break;

              case 43:
                if (!local.includes(_$$_REQUIRE(_dependencyMap[26]).locals.RESUME_TRANSACTIONS)) {
                  _context3.next = 47;
                  break;
                }

                (0, _$$_REQUIRE(_dependencyMap[28]).resumeTransaction)();
                _context3.next = 108;
                break;

              case 47:
                if (!local.includes(_$$_REQUIRE(_dependencyMap[26]).locals.FINISH_TRANSACTION)) {
                  _context3.next = 51;
                  break;
                }

                (0, _$$_REQUIRE(_dependencyMap[28]).finishTransaction)();
                _context3.next = 108;
                break;

              case 51:
                if (!local.includes(_$$_REQUIRE(_dependencyMap[26]).locals.RESTORE_COMPLETED_TRANSACTIONS)) {
                  _context3.next = 58;
                  break;
                }

                _context3.next = 54;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[28]).completeTransaction)(rest, function _callee2(iapParams) {
                  return _regenerator.default.async(function _callee2$(_context2) {
                    while (1) {
                      switch (_context2.prev = _context2.next) {
                        case 0:
                          return _context2.abrupt("return", _this._iapSystemCallback(iapParams, local));

                        case 1:
                        case "end":
                          return _context2.stop();
                      }
                    }
                  }, null, null, null, Promise);
                }));

              case 54:
                js = _context3.sent;

                _this._injectionJs(local, js);

                _context3.next = 108;
                break;

              case 58:
                if (!(local.includes(_$$_REQUIRE(_dependencyMap[26]).locals.OPEN_BROWSER) || local.includes(_$$_REQUIRE(_dependencyMap[26]).locals.OPEN_BROWSER_ALT))) {
                  _context3.next = 65;
                  break;
                }

                (0, _$$_REQUIRE(_dependencyMap[27]).openBrowser)(rest);
                callback = rest.callback, close = rest.close;

                if (callback) {
                  _this._injectionJs(local, callback + "();");
                }

                if (close && close === "1") {
                  _this._close(true);
                }

                _context3.next = 108;
                break;

              case 65:
                if (!local.includes(_$$_REQUIRE(_dependencyMap[26]).locals.ALERT)) {
                  _context3.next = 69;
                  break;
                }

                (0, _$$_REQUIRE(_dependencyMap[27]).showAlert)(rest);
                _context3.next = 108;
                break;

              case 69:
                if (!local.includes(_$$_REQUIRE(_dependencyMap[26]).locals.CONFIRM)) {
                  _context3.next = 73;
                  break;
                }

                (0, _$$_REQUIRE(_dependencyMap[27]).showConfirm)(rest);
                _context3.next = 108;
                break;

              case 73:
                if (!(local.includes(_$$_REQUIRE(_dependencyMap[26]).locals.CLOSE) || local.includes(_$$_REQUIRE(_dependencyMap[26]).locals.CLOSE_WINDOW))) {
                  _context3.next = 77;
                  break;
                }

                _this._close(true);

                _context3.next = 108;
                break;

              case 77:
                if (!local.includes(_$$_REQUIRE(_dependencyMap[26]).locals.GO_BACK)) {
                  _context3.next = 81;
                  break;
                }

                Methods.Navigation.navigateToHome();
                _context3.next = 108;
                break;

              case 81:
                if (!local.includes(_$$_REQUIRE(_dependencyMap[26]).locals.OPEN_RSS)) {
                  _context3.next = 85;
                  break;
                }

                (0, _$$_REQUIRE(_dependencyMap[27]).goToRssNavigator)();
                _context3.next = 108;
                break;

              case 85:
                if (!local.includes(_$$_REQUIRE(_dependencyMap[26]).locals.OPEN_TAB_HOME)) {
                  _context3.next = 89;
                  break;
                }

                Methods.Navigation.navigateToHome();
                _context3.next = 108;
                break;

              case 89:
                if (!local.includes(_$$_REQUIRE(_dependencyMap[26]).locals.OPEN_TAB_LOGIN)) {
                  _context3.next = 93;
                  break;
                }

                Methods.Navigation.navigateToLogin();
                _context3.next = 108;
                break;

              case 93:
                if (!local.includes(_$$_REQUIRE(_dependencyMap[26]).locals.GET_KEY)) {
                  _context3.next = 100;
                  break;
                }

                _context3.next = 96;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[27]).getKey)(data));

              case 96:
                _js = _context3.sent;

                _this._injectionJs(local, _js);

                _context3.next = 108;
                break;

              case 100:
                if (!local.includes(_$$_REQUIRE(_dependencyMap[26]).locals.SET_KEY)) {
                  _context3.next = 107;
                  break;
                }

                _context3.next = 103;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[27]).setKey)(data));

              case 103:
                _js2 = _context3.sent;

                _this._injectionJs(local, _js2);

                _context3.next = 108;
                break;

              case 107:
                if (local.includes(_$$_REQUIRE(_dependencyMap[26]).locals.REMOVE_KEY)) {
                  (0, _$$_REQUIRE(_dependencyMap[27]).removeKey)(data);
                } else if (local.includes(_$$_REQUIRE(_dependencyMap[26]).locals.SET_PREF_EDI)) {
                  (0, _$$_REQUIRE(_dependencyMap[27]).setPrefEdit)(data);
                }

              case 108:
                _context3.next = 112;
                break;

              case 110:
                _context3.prev = 110;
                _context3.t0 = _context3["catch"](1);

              case 112:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, [[1, 110]], Promise);
      };

      _this._iapSystemCallback = function _callee4(iapParams, local) {
        var js;
        return _regenerator.default.async(function _callee4$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                _context4.next = 2;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[28]).transactionResult)(iapParams));

              case 2:
                js = _context4.sent;

                _this._injectionJs(local, js);

                return _context4.abrupt("return", true);

              case 5:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      };

      _this._onIssuePress = function _callee5(issue) {
        var _global$getActivePSet, machine, iapActive, loginStatus, TAUID, paperDomain, external, _global$getActivePSet2, currentPSetup, _await$global$loadPSe, config;

        return _regenerator.default.async(function _callee5$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                _global$getActivePSet = global.getActivePSetup(), machine = _global$getActivePSet.machine, iapActive = _global$getActivePSet.iapActive, loginStatus = _global$getActivePSet.loginStatus;
                TAUID = loginStatus.TAUID;

                if (!(iapActive && !_$$_REQUIRE(_dependencyMap[29]).LoginStatus.isValidTAUID(TAUID))) {
                  _context5.next = 5;
                  break;
                }

                _context5.next = 5;
                return _regenerator.default.awrap(_LoginManager.default.autoIAPLogin());

              case 5:
                paperDomain = issue.getMachine() || machine;
                external = false;
                _global$getActivePSet2 = global.getActivePSetup(), currentPSetup = _global$getActivePSet2.pSetup;
                _context5.next = 10;
                return _regenerator.default.awrap(global.loadPSetup(issue.getPSetup(), paperDomain, {}, external));

              case 10:
                _await$global$loadPSe = _context5.sent;
                config = _await$global$loadPSe.config;

                if (!config) {
                  _context5.next = 24;
                  break;
                }

                _this._close(true);

                if (!(currentPSetup !== issue.getPSetup())) {
                  _context5.next = 21;
                  break;
                }

                _context5.next = 17;
                return _regenerator.default.awrap(_GlobalConfig.default.initEpaperLayoutConfig());

              case 17:
                if (!external) {
                  _context5.next = 20;
                  break;
                }

                _context5.next = 20;
                return _regenerator.default.awrap(_GlobalConfig.default.initCustomFonts(config));

              case 20:
                Analytics.updateAnalyticsClientList();

              case 21:
                _$$_REQUIRE(_dependencyMap[30]).EventRegister.emit(_events.default.NEWSMEMORY_DOWNLOAD_EDITION, {
                  issue: issue.getIssue(),
                  edition: issue.getEdition()
                });

                _context5.next = 25;
                break;

              case 24:
                _$$_REQUIRE(_dependencyMap[31]).Toast.show(global.strings("err_download_psetup"));

              case 25:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      };

      _this._onRouteChange = function (route) {
        _this.currentRoute = route;
      };

      _this._onError = function (error) {};

      _this.state = {
        visible: false,
        initialRoute: "",
        urlParams: {}
      };
      _this.jsInjectCallbacks = {};
      _this.close = _this._close.bind((0, _assertThisInitialized2.default)(_this));
      _this.shouldHideCloseButton = _this._shouldHideCloseButton.bind((0, _assertThisInitialized2.default)(_this));
      _this.onRouteChange = _this._onRouteChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onActionClicked = _this._onActionClicked.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(NativeOptionsPage, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        this.openOptionsPageId = _$$_REQUIRE(_dependencyMap[30]).EventRegister.on(_events.default.OPEN_OPTIONSPAGE, function (params) {
          var newsmemoryManager = _this2.props.newsmemoryManager;
          var tab = params.tab,
              getParams = params.getParams,
              url = params.url,
              closeType = params.closeType,
              forceFullscreen = params.forceFullscreen,
              hidden = params.hidden;

          try {
            var _NativeOptionsPageUti2 = _nativeOptionsPageUtils.default.getStateFromTab(tab, getParams, newsmemoryManager),
                initialRoute = _NativeOptionsPageUti2.initialRoute,
                urlParams = _NativeOptionsPageUti2.params;

            _this2.setState({
              visible: true,
              initialRoute: initialRoute,
              urlParams: urlParams
            });
          } catch (e) {
            _$$_REQUIRE(_dependencyMap[31]).Toast.show(global.strings("system_error"));

            _this2.setState({
              visible: true
            });
          }
        });
        this.closeOptionsPageId = _$$_REQUIRE(_dependencyMap[30]).EventRegister.on(_events.default.CLOSE_OPTIONSPAGE, function () {
          _this2.close(true);
        });
        var config = global.getNewsmemoryConfig();
        config.getFavEdi().then(Methods.setFavoriteEdition);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[30]).EventRegister.rm(this.openOptionsPageId);

        _$$_REQUIRE(_dependencyMap[30]).EventRegister.rm(this.closeOptionsPageId);
      }
    }, {
      key: "_shouldHideCloseButton",
      value: function _shouldHideCloseButton() {
        var isNewspaperLoaded = this.props.isNewspaperLoaded;

        var _global$getRSSActiveP2 = global.getRSSActivePSetup(),
            rssIsEnabled = _global$getRSSActiveP2.rssIsEnabled;

        return _$$_REQUIRE(_dependencyMap[32]).PlatformUtils.isIOS() && !(typeof isNewspaperLoaded === "function" && isNewspaperLoaded()) && !rssIsEnabled && !_$$_REQUIRE(_dependencyMap[25]).PaperSetupManager.isGenericAppConfigured();
      }
    }, {
      key: "_onExternalLinkClicked",
      value: function _onExternalLinkClicked(url) {
        _tecnaviaPlatformUtils.default.openURL(url);
      }
    }, {
      key: "_onActionClicked",
      value: function _onActionClicked(action) {
        var navigation = this.props.navigation;

        switch (action) {
          case _$$_REQUIRE(_dependencyMap[33]).ACTIONS.openOptionPageSettings.key:
            navigation.navigate("GeneralSettingsScreen", {
              module: _$$_REQUIRE(_dependencyMap[34]).GeneralSettingsModules.EPAPER
            });
            break;

          case _$$_REQUIRE(_dependencyMap[33]).ACTIONS.openOptionPagePublications.key:
            _NavigationService.default.main.navigate("PublicationsPageScreen");

            break;
        }
      }
    }, {
      key: "render",
      value: function render() {
        var onOpen = this.props.onOpen;
        var _this$state = this.state,
            visible = _this$state.visible,
            initialRoute = _this$state.initialRoute,
            urlParams = _this$state.urlParams;

        if (!visible) {
          return null;
        }

        if (typeof onOpen === "function") {
          onOpen();
        }

        var _global$getActivePSet3 = global.getActivePSetup(),
            pSetup = _global$getActivePSet3.pSetup,
            machine = _global$getActivePSet3.machine,
            overrideNewsMemoryUserAgent = _global$getActivePSet3.overrideNewsMemoryUserAgent;

        var userAgent = overrideNewsMemoryUserAgent || _$$_REQUIRE(_dependencyMap[32]).PlatformUtils.getUserAgent();

        var _global$getRssIndex = global.getRssIndex(),
            supportColor = _global$getRssIndex.supportColor;

        var favoriteEdition = global.getNewsmemoryConfig().getFavEdiSync();
        return _react.default.createElement(_reactNative.View, {
          style: {
            position: "absolute",
            top: 0,
            left: 0,
            right: 0,
            bottom: 0
          }
        }, _react.default.createElement(OptionsPage, {
          WebViewComponent: _react.default.forwardRef(function (forwardedProps, ref) {
            return _react.default.createElement(_keyboardAvoidingComponent.default, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[35]).TecnaviaScrollView, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[36]).AutoHeightWebView, (0, _extends2.default)({}, forwardedProps, {
              htmlContentId: "",
              ref: ref,
              startInLoadingState: _$$_REQUIRE(_dependencyMap[37]).BaseWebView.LoadingStatePosition.top,
              progressType: _$$_REQUIRE(_dependencyMap[37]).BaseWebView.ProgressTypes.bar,
              defaultHeight: _deviceUtils.default.getSafeArea().height
            }))));
          }),
          getSavedIssues: _nativeOptionsPageUtils.default.getSavedIssues,
          LogoComponent: _$$_REQUIRE(_dependencyMap[38]).LogoImage,
          pSetup: pSetup,
          server: machine,
          initialRoute: initialRoute,
          hideCloseButton: this.shouldHideCloseButton(),
          onLocal: this._onLocal,
          onMessage: this._onMessage,
          onClose: this.close,
          apiParams: {
            isDebug: global.isDebug,
            isGenericApp: _$$_REQUIRE(_dependencyMap[25]).PaperSetupManager.isGenericAppConfigured() ? 1 : 0
          },
          urlParams: urlParams,
          onRouteChange: this.onRouteChange,
          issueCallbacks: {
            onIssuePress: this._onIssuePress
          },
          externalLinkCallbacks: {
            onClick: this._onExternalLinkClicked
          },
          actionCallbacks: {
            onClick: this.onActionClicked
          },
          onPSetupError: this._onError,
          onEditionsError: this._onError,
          onLocaleError: this._onError,
          onUserSettingsError: this._onError,
          onSpecialsError: this._onError,
          logCallbacks: LOG_CALLBACKS,
          supportColor: supportColor,
          customUserAgent: userAgent,
          favoriteEdition: favoriteEdition,
          needsCssProvider: false
        }));
      }
    }]);
    return NativeOptionsPage;
  }(_react.default.Component);

  NativeOptionsPage.propTypes = {
    onOpen: _propTypes.default.func,
    onClose: _propTypes.default.func,
    onTabLoaded: _propTypes.default.func,
    handleBackButton: _propTypes.default.func,
    isNewspaperLoaded: _propTypes.default.func,
    newsmemoryManager: _propTypes.default.instanceOf(_NewsmemoryManager.default),
    navigation: _propTypes.default.shape({
      navigate: _propTypes.default.func
    })
  };

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[39]).useNavigation)();
    return _react.default.createElement(NativeOptionsPage, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2331,[5,80,108,6,7,8,15,12,14,16,17,201,28,1871,2318,460,2154,2332,1861,731,1876,458,1870,2057,1859,1849,730,2333,2334,721,572,1889,462,1725,2232,1909,1901,1894,2201,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _NewsmemoryDatabasesManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _NewsmemoryManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _NewspaperManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _optionspageUtils = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var NativeOptionsPageUtils = function () {
    function NativeOptionsPageUtils() {
      (0, _classCallCheck2.default)(this, NativeOptionsPageUtils);
    }

    (0, _createClass2.default)(NativeOptionsPageUtils, null, [{
      key: "getSavedIssues",
      value: function getSavedIssues() {
        var issues;
        return _regenerator.default.async(function getSavedIssues$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.prev = 0;
                _context.next = 3;
                return _regenerator.default.awrap(_NewsmemoryDatabasesManager.default.getAllIssues());

              case 3:
                issues = _context.sent;
                return _context.abrupt("return", issues.map(function (issue) {
                  return {
                    edition: issue.getEdition(),
                    issue: issue.getIssue(),
                    paper: issue.getPaper(),
                    status: issue.getStatus() || 0
                  };
                }));

              case 7:
                _context.prev = 7;
                _context.t0 = _context["catch"](0);
                return _context.abrupt("return", []);

              case 10:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[0, 7]], Promise);
      }
    }, {
      key: "appendOthersParams",
      value: function appendOthersParams(newsmemoryManager) {
        var getParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
        var currentNewspaperManager = newsmemoryManager.currentNewspaperManager;

        if (currentNewspaperManager && currentNewspaperManager.currentNewspaper) {
          if (!getParams.edition) {
            getParams.edition = currentNewspaperManager.currentNewspaper.getEdition();
          }

          if (!getParams.issue) {
            getParams.issue = currentNewspaperManager.currentNewspaper.getIssue();
          }
        }

        var _global$getActivePSet = global.getActivePSetup(),
            external = _global$getActivePSet.external;

        if (external && !_$$_REQUIRE(_dependencyMap[10]).PaperSetupManager.isGenericAppConfigured()) {
          var _global$getMainPSetup = global.getMainPSetup(),
              pSetup = _global$getMainPSetup.pSetup;

          getParams.originalPSetup = pSetup;
        }

        return getParams;
      }
    }, {
      key: "getStateFromTab",
      value: function getStateFromTab(tab, getParams, newsmemoryManager) {
        var _StringUtils$segmentU = _$$_REQUIRE(_dependencyMap[11]).StringUtils.segmentUrl(_optionspageUtils.default.getBaseURL()),
            baseUrlGetParams = _StringUtils$segmentU.getParams;

        var params = (0, _extends2.default)({}, _optionspageUtils.default.getDefaultParams(), baseUrlGetParams, NativeOptionsPageUtils.appendOthersParams(newsmemoryManager, getParams));

        var _global$getActivePSet2 = global.getActivePSetup(),
            onValidationErrorGoTo = _global$getActivePSet2.onValidationErrorGoTo;

        var initialRoute = tab;

        if (tab === _optionspageUtils.tabs.home) {
          initialRoute = "newsstand";
        } else if ((tab === _optionspageUtils.tabs.validation || tab === _optionspageUtils.tabs.account) && onValidationErrorGoTo) {
          initialRoute = onValidationErrorGoTo;
        }

        return {
          initialRoute: initialRoute,
          params: params
        };
      }
    }]);
    return NativeOptionsPageUtils;
  }();

  var _default = NativeOptionsPageUtils;
  exports.default = _default;
},2332,[5,80,6,7,8,710,2318,2306,730,714,1849,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.returnFromLogin = returnFromLogin;
  exports.logout = logout;
  exports.openBrowser = openBrowser;
  exports.showAlert = showAlert;
  exports.showConfirm = showConfirm;
  exports.goToRssNavigator = goToRssNavigator;
  exports.getKey = getKey;
  exports.setKey = setKey;
  exports.removeKey = removeKey;
  exports.setPrefEdit = setPrefEdit;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _LoginManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function returnFromLogin(data) {
    var pSetup, machine, username, password, challenge, remember, TAUID, token, TOKEN, extid;
    return _regenerator.default.async(function returnFromLogin$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            (0, _$$_REQUIRE(_dependencyMap[7]).sendNewsmemoryLoginEvent)("start login");
            pSetup = data.pSetup, machine = data.machine, username = data.username, password = data.password, challenge = data.challenge, remember = data.remember, TAUID = data.TAUID, token = data.token, TOKEN = data.TOKEN, extid = data.extid;
            return _context.abrupt("return", _LoginManager.default.login({
              pSetup: pSetup,
              machine: machine,
              username: username,
              password: password,
              challenge: challenge,
              remember: remember,
              TAUID: TAUID,
              token: TOKEN || token,
              extid: extid
            }));

          case 3:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function logout() {
    return _regenerator.default.async(function logout$(_context2) {
      while (1) {
        switch (_context2.prev = _context2.next) {
          case 0:
            _context2.next = 2;
            return _regenerator.default.awrap(_LoginManager.default.logout());

          case 2:
            _$$_REQUIRE(_dependencyMap[8]).EventRegister.emit(_events.default.NEWSMEMORY_RELOAD_EDITION);

          case 3:
          case "end":
            return _context2.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function openBrowser(data) {
    var url = data.url,
        callback = data.callback,
        close = data.close;

    if (url) {
      var extraNavigationParams = {};

      if (url.indexOf("archiveSearch=1") !== -1) {
        extraNavigationParams.screenTitle = global.strings("btn_archive");
        extraNavigationParams.isArchive = true;
      }

      _NavigationService.default.main.navigate("WebScreen", (0, _extends2.default)({
        url: url,
        onClose: function onClose() {
          _$$_REQUIRE(_dependencyMap[9]).PlatformUtils.colorBars();
        }
      }, extraNavigationParams));
    }
  }

  function showAlert(data) {
    var title = data.title,
        message = data.message,
        okLabel = data.okLabel;
    var buttons = [];
    buttons.push({
      text: okLabel || global.strings("btn_ok")
    });

    _reactNative.Alert.alert(title, message, buttons, {
      cancelable: false
    });
  }

  function showConfirm(data) {
    var _this = this;

    var title = data.title,
        message = data.message,
        okLabel = data.okLabel,
        cancelLabel = data.cancelLabel,
        callback = data.callback;
    var buttons = [];
    buttons.push({
      text: cancelLabel || global.strings("btn_cancel"),
      onPress: function onPress() {
        _this._confirmResult(callback, false);
      }
    }, {
      text: okLabel || global.strings("btn_ok"),
      onPress: function onPress() {
        _this._confirmResult(callback, true);
      }
    });

    _reactNative.Alert.alert(title, message, buttons, {
      cancelable: false
    });
  }

  function goToRssNavigator() {
    _NavigationService.default.main.reset("RssNavigator");
  }

  function getKey(data) {
    var key, _global$getActivePSet, loginStatus, udb, loginStatusValue, value;

    return _regenerator.default.async(function getKey$(_context3) {
      while (1) {
        switch (_context3.prev = _context3.next) {
          case 0:
            key = data.key;

            if (!key) {
              _context3.next = 16;
              break;
            }

            _global$getActivePSet = global.getActivePSetup(), loginStatus = _global$getActivePSet.loginStatus, udb = _global$getActivePSet.udb;
            loginStatusValue = "";

            if (!key.startsWith(udb)) {
              _context3.next = 8;
              break;
            }

            _context3.next = 7;
            return _regenerator.default.awrap(loginStatus.getValue(key.replace(udb + "_", "")));

          case 7:
            loginStatusValue = _context3.sent;

          case 8:
            _context3.t0 = loginStatusValue;

            if (_context3.t0) {
              _context3.next = 13;
              break;
            }

            _context3.next = 12;
            return _regenerator.default.awrap(global.getNewsmemoryConfig().getValue(key));

          case 12:
            _context3.t0 = _context3.sent;

          case 13:
            value = _context3.t0;

            if (typeof value === "string") {
              value = "'" + value + "'";
            }

            return _context3.abrupt("return", "xcj_getFromKey(" + value + ",'" + key + "');");

          case 16:
            return _context3.abrupt("return", "");

          case 17:
          case "end":
            return _context3.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function setKey(data) {
    var key, value, callback;
    return _regenerator.default.async(function setKey$(_context4) {
      while (1) {
        switch (_context4.prev = _context4.next) {
          case 0:
            key = data.key, value = data.value, callback = data.callback;
            global.getNewsmemoryConfig().setValue(key, value);

            if (!callback) {
              _context4.next = 4;
              break;
            }

            return _context4.abrupt("return", callback + "();");

          case 4:
            return _context4.abrupt("return", "");

          case 5:
          case "end":
            return _context4.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function removeKey(data) {
    var key;
    return _regenerator.default.async(function removeKey$(_context5) {
      while (1) {
        switch (_context5.prev = _context5.next) {
          case 0:
            key = data.key;
            global.getNewsmemoryConfig().removeValue(key);

          case 2:
          case "end":
            return _context5.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function setPrefEdit(data) {
    var key, value;
    return _regenerator.default.async(function setPrefEdit$(_context6) {
      while (1) {
        switch (_context6.prev = _context6.next) {
          case 0:
            key = data.key, value = data.value;
            global.getNewsmemoryConfig().setValue(key, value);

          case 2:
          case "end":
            return _context6.stop();
        }
      }
    }, null, null, null, Promise);
  }
},2333,[5,6,80,28,2057,460,1861,1954,572,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.resumeTransaction = resumeTransaction;
  exports.finishTransaction = finishTransaction;
  exports.buy = buy;
  exports.completeTransaction = completeTransaction;
  exports.transactionResult = transactionResult;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _IAPHelper = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _optionspageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _OptionalPackages$get = _optionalPackageUtils.default.getIapModule(),
      IAPErrorCode = _OptionalPackages$get.IAPErrorCode;

  function injectFailedTransaction(model, error) {
    var message = _optionspageUtils.default.getIAPErrorMessage(error);

    return "xc_failedTransaction_RN('" + (model ? model.productId : "") + "','" + message + "');";
  }

  function injectCompletedTransaction(model) {
    return _regenerator.default.async(function injectCompletedTransaction$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            if (!(model && model.productId)) {
              _context.next = 5;
              break;
            }

            if (!(!model.isRecurring() || !model.receipt)) {
              _context.next = 4;
              break;
            }

            _context.next = 4;
            return _regenerator.default.awrap(_IAPHelper.default.clearAll(model.productId));

          case 4:
            return _context.abrupt("return", "xc_completeTransaction_RN('" + model.productId + "');");

          case 5:
            return _context.abrupt("return", injectFailedTransaction(model, {
              code: IAPErrorCode.E_ITEM_UNAVAILABLE,
              message: "Missing product identifier"
            }));

          case 6:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function injectRestoredTransactions(_ref) {
    var success = _ref.success,
        message = _ref.message,
        purchases = _ref.purchases;

    if (!success) {
      if (!message) {
        message = "Restore transactions failed";
      }

      return "xc_restoreTransactionFinished(\"" + message + "\");";
    }

    return "xc_restoreTransactionFinished();";
  }

  function transactionResult(params) {
    var status, error, model;
    return _regenerator.default.async(function transactionResult$(_context2) {
      while (1) {
        switch (_context2.prev = _context2.next) {
          case 0:
            status = params.status, error = params.error, model = params.model;
            _context2.t0 = status;
            _context2.next = _context2.t0 === _IAPHelper.IAP_STATUS.SUCCESS ? 4 : _context2.t0 === _IAPHelper.IAP_STATUS.RESTORED ? 5 : _context2.t0 === _IAPHelper.IAP_STATUS.FAILED ? 6 : 6;
            break;

          case 4:
            return _context2.abrupt("return", injectCompletedTransaction(model));

          case 5:
            return _context2.abrupt("return", injectRestoredTransactions());

          case 6:
            return _context2.abrupt("return", injectFailedTransaction(model, error));

          case 7:
          case "end":
            return _context2.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function resumeTransaction() {}

  function finishTransaction(data) {
    var productId, transactionId, recurring;
    return _regenerator.default.async(function finishTransaction$(_context3) {
      while (1) {
        switch (_context3.prev = _context3.next) {
          case 0:
            productId = data.productID, transactionId = data.finishTransaction, recurring = data.recurring;

            if (!(transactionId && productId && !recurring)) {
              _context3.next = 4;
              break;
            }

            _context3.next = 4;
            return _regenerator.default.awrap(_IAPHelper.default.clearAll(productId));

          case 4:
          case "end":
            return _context3.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function buy(data, serverResultCallback) {
    var pSetup, issue, edition, productId, invoiceId, editionId, period, isRecurring, model;
    return _regenerator.default.async(function buy$(_context4) {
      while (1) {
        switch (_context4.prev = _context4.next) {
          case 0:
            if (!_optionalPackageUtils.default.isIapModuleAvailable()) {
              _context4.next = 14;
              break;
            }

            pSetup = data.pSetup, issue = data.issue, edition = data.edition, productId = data.productID, invoiceId = data.invoiceID, editionId = data.editionid, period = data.period, isRecurring = data.isRecurring;
            _context4.next = 4;
            return _regenerator.default.awrap(_IAPHelper.default.setServerCallback(serverResultCallback));

          case 4:
            model = new (_$$_REQUIRE(_dependencyMap[5]).IAPTecnaviaModel)();
            model.setProductId(productId);
            model.setInvoiceId(invoiceId);
            model.setPSetup(pSetup);
            model.setIssue(issue);
            model.setEdition(edition);
            model.setEditionId(editionId);

            if (period && (_$$_REQUIRE(_dependencyMap[6]).JSUtils.isNull(isRecurring) || isRecurring === "1")) {
              model.setRecurringSubscriptionPeriod(period);
            }

            if (period) {
              model.setType(_$$_REQUIRE(_dependencyMap[5]).IAPTecnaviaType.SUBSCRIPTION);
            }

            _IAPHelper.default.requestIAP(model);

          case 14:
          case "end":
            return _context4.stop();
        }
      }
    }, null, null, null, Promise);
  }

  function completeTransaction(data, serverResultCallback) {
    var productId, result;
    return _regenerator.default.async(function completeTransaction$(_context5) {
      while (1) {
        switch (_context5.prev = _context5.next) {
          case 0:
            productId = data.productID;
            _context5.next = 3;
            return _regenerator.default.awrap(_IAPHelper.default.setServerCallback(serverResultCallback));

          case 3:
            _context5.next = 5;
            return _regenerator.default.awrap(_IAPHelper.default.restoreTransactions(productId));

          case 5:
            result = _context5.sent;
            return _context5.abrupt("return", injectRestoredTransactions(result));

          case 7:
          case "end":
            return _context5.stop();
        }
      }
    }, null, null, null, Promise);
  }
},2334,[5,80,1934,730,731,1937,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  var Analytics = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[12]));

  var _NewsmemoryManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _GlobalConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _nativeOptionsPageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _tecnaviaPlatformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var _OptionalPackages$get = _optionalPackageUtils.default.getNativeOptionsPage(),
      Methods = _OptionalPackages$get.Methods,
      Models = _OptionalPackages$get.Models;

  var NativeOptionsPageFallback = function (_React$Component) {
    (0, _inherits2.default)(NativeOptionsPageFallback, _React$Component);

    var _super = _createSuper(NativeOptionsPageFallback);

    function NativeOptionsPageFallback(props) {
      var _this;

      (0, _classCallCheck2.default)(this, NativeOptionsPageFallback);
      _this = _super.call(this, props);

      _this._close = function (force) {
        var _this$props = _this.props,
            isNewspaperLoaded = _this$props.isNewspaperLoaded,
            onClose = _this$props.onClose,
            handleBackButton = _this$props.handleBackButton;

        if (force || typeof isNewspaperLoaded === "function" && isNewspaperLoaded()) {
          _this.setState({
            visible: false
          });

          if (typeof onClose === "function") {
            onClose();
          }
        } else {
          var initialRoute = _this.state.initialRoute;

          var _global$getRSSActiveP = global.getRSSActivePSetup(),
              rssIsEnabled = _global$getRSSActiveP.rssIsEnabled;

          if (_this.currentRoute && !(_this.currentRoute instanceof Models.RouteEdition) && _this.currentRoute.getRoute() !== initialRoute) {
            Methods.Navigation.navigateToHome();
          } else if (rssIsEnabled) {
            _NavigationService.default.main.reset("RssNavigator");
          } else if (_$$_REQUIRE(_dependencyMap[20]).PaperSetupManager.isGenericAppConfigured()) {
            _NavigationService.default.main.navigate("PublicationsPageScreen");
          } else if (typeof handleBackButton === "function") {
            handleBackButton();
          }
        }
      };

      _this._onLocal = function (_ref) {
        var domain = _ref.domain,
            getParams = _ref.getParams,
            protocol = _ref.protocol;

        try {
          _this._onMessage({
            type: domain,
            content: (0, _extends2.default)({
              protocol: protocol
            }, getParams)
          });
        } catch (e) {}
      };

      _this._injectJavascript = function (js) {
        try {
          _this.fallbackOptRef.current.injectJavaScript("\n            try{\n                " + js + ";\n            } catch(e){ \n                console.debug(e.message); \n            }\n        ");
        } catch (e) {}
      };

      _this._resolveAwaitPostMessage = function (key, method, payload) {
        _this._injectJavascript("window.TaOptionsPage.awaitPostMessage('" + key + "', '" + method + "', '" + payload + "');");
      };

      _this._iframeInjection = function (js) {
        _this._injectJavascript("window.TaOptionsPage.iframeInjection(\"" + encodeURIComponent(js) + "\")");
      };

      _this._onMessage = function _callee3(data) {
        var type, asyncKey, content, savedIssues, result, jsCode, newsmemoryManager, _NativeOptionsPageUti, initialRoute, urlParams, mRoute, navigation, mIssue, _mIssue, js, callback, close, _js, _js2;

        return _regenerator.default.async(function _callee3$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _context3.prev = 0;
                type = data.type, asyncKey = data.asyncKey, content = data.content;

                if (!type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.GET_SAVED_ISSUES)) {
                  _context3.next = 15;
                  break;
                }

                _context3.prev = 3;
                _context3.next = 6;
                return _regenerator.default.awrap(_nativeOptionsPageUtils.default.getSavedIssues());

              case 6:
                savedIssues = _context3.sent;

                _this._resolveAwaitPostMessage(asyncKey, "resolve", JSON.stringify(savedIssues));

                _context3.next = 13;
                break;

              case 10:
                _context3.prev = 10;
                _context3.t0 = _context3["catch"](3);

                _this._resolveAwaitPostMessage(asyncKey, "reject", _context3.t0.message);

              case 13:
                _context3.next = 146;
                break;

              case 15:
                if (!type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.RETURN_FROM_LOGIN)) {
                  _context3.next = 23;
                  break;
                }

                _context3.next = 18;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[22]).returnFromLogin)(content));

              case 18:
                result = _context3.sent;

                if (result && result.data) {
                  jsCode = "xcj_loginResults(" + result.TAUID + ",'" + JSON.stringify(result.data) + "');";
                } else {
                  jsCode = "xcj_loginResults(-1,'" + JSON.stringify({
                    protError: _$$_REQUIRE(_dependencyMap[23]).PROT_ERROR.NOT_LOGGEDIN
                  }) + "');";
                }

                _this._iframeInjection(jsCode);

                _context3.next = 146;
                break;

              case 23:
                if (!type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.LOGOUT)) {
                  _context3.next = 31;
                  break;
                }

                _context3.next = 26;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[22]).logout)());

              case 26:
                newsmemoryManager = _this.props.newsmemoryManager;
                _NativeOptionsPageUti = _nativeOptionsPageUtils.default.getStateFromTab(_$$_REQUIRE(_dependencyMap[21]).tabs.login, {}, newsmemoryManager), initialRoute = _NativeOptionsPageUti.initialRoute, urlParams = _NativeOptionsPageUti.params;

                _this.setState({
                  initialRoute: initialRoute,
                  urlParams: urlParams
                });

                _context3.next = 146;
                break;

              case 31:
                if (!type.includes("ON_CLOSE")) {
                  _context3.next = 35;
                  break;
                }

                _this._close(true);

                _context3.next = 146;
                break;

              case 35:
                if (!type.includes("ON_ERROR")) {
                  _context3.next = 38;
                  break;
                }

                _context3.next = 146;
                break;

              case 38:
                if (!type.includes("ON_ROUTE_CHANGE")) {
                  _context3.next = 44;
                  break;
                }

                mRoute = new Models.Route();
                mRoute.setRoute(content.route);

                _this._onRouteChange(mRoute);

                _context3.next = 146;
                break;

              case 44:
                if (!type.includes("ON_EXTERNAL_LINK_CLICK")) {
                  _context3.next = 48;
                  break;
                }

                _tecnaviaPlatformUtils.default.openURL(content);

                _context3.next = 146;
                break;

              case 48:
                if (!type.includes("ON_ACTION_CLICK")) {
                  _context3.next = 59;
                  break;
                }

                navigation = _this.props.navigation;
                _context3.t1 = content;
                _context3.next = _context3.t1 === _$$_REQUIRE(_dependencyMap[24]).ACTIONS.openOptionPageSettings.key ? 53 : _context3.t1 === _$$_REQUIRE(_dependencyMap[24]).ACTIONS.openOptionPagePublications.key ? 55 : 57;
                break;

              case 53:
                navigation.navigate("GeneralSettingsScreen", {
                  module: _$$_REQUIRE(_dependencyMap[25]).GeneralSettingsModules.EPAPER
                });
                return _context3.abrupt("break", 57);

              case 55:
                _NavigationService.default.main.navigate("PublicationsPageScreen");

                return _context3.abrupt("break", 57);

              case 57:
                _context3.next = 146;
                break;

              case 59:
                if (!(type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.INITPAGE_SET_NEWSPAPER_AND_READ) || type.includes("ON_ISSUE_PRESS"))) {
                  _context3.next = 68;
                  break;
                }

                mIssue = new Models.Issue();
                mIssue.setMachine(content.machine);
                mIssue.setPSetup(content.pSetup);
                mIssue.setIssue(content.issue);
                mIssue.setEdition(content.edition);

                _this._onIssuePress(mIssue);

                _context3.next = 146;
                break;

              case 68:
                if (!type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.INITPAGE_SET_EXTERNAL_NEWSPAPER)) {
                  _context3.next = 77;
                  break;
                }

                _mIssue = new Models.Issue();

                _mIssue.setMachine(content.machine);

                _mIssue.setPSetup(content.pSetup);

                _mIssue.setIssue(content.issue);

                _mIssue.setEdition(content.edition);

                _this._onIssuePress(_mIssue);

                _context3.next = 146;
                break;

              case 77:
                if (!type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.BUY)) {
                  _context3.next = 81;
                  break;
                }

                (0, _$$_REQUIRE(_dependencyMap[26]).buy)(content, function _callee(iapParams) {
                  return _regenerator.default.async(function _callee$(_context) {
                    while (1) {
                      switch (_context.prev = _context.next) {
                        case 0:
                          return _context.abrupt("return", _this._iapSystemCallback(iapParams, type));

                        case 1:
                        case "end":
                          return _context.stop();
                      }
                    }
                  }, null, null, null, Promise);
                });
                _context3.next = 146;
                break;

              case 81:
                if (!type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.RESUME_TRANSACTIONS)) {
                  _context3.next = 85;
                  break;
                }

                (0, _$$_REQUIRE(_dependencyMap[26]).resumeTransaction)();
                _context3.next = 146;
                break;

              case 85:
                if (!type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.FINISH_TRANSACTION)) {
                  _context3.next = 89;
                  break;
                }

                (0, _$$_REQUIRE(_dependencyMap[26]).finishTransaction)();
                _context3.next = 146;
                break;

              case 89:
                if (!type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.RESTORE_COMPLETED_TRANSACTIONS)) {
                  _context3.next = 96;
                  break;
                }

                _context3.next = 92;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[26]).completeTransaction)(content, function _callee2(iapParams) {
                  return _regenerator.default.async(function _callee2$(_context2) {
                    while (1) {
                      switch (_context2.prev = _context2.next) {
                        case 0:
                          return _context2.abrupt("return", _this._iapSystemCallback(iapParams, type));

                        case 1:
                        case "end":
                          return _context2.stop();
                      }
                    }
                  }, null, null, null, Promise);
                }));

              case 92:
                js = _context3.sent;

                _this._iframeInjection(js);

                _context3.next = 146;
                break;

              case 96:
                if (!(type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.OPEN_BROWSER) || type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.OPEN_BROWSER_ALT))) {
                  _context3.next = 103;
                  break;
                }

                (0, _$$_REQUIRE(_dependencyMap[22]).openBrowser)(content);
                callback = content.callback, close = content.close;

                if (callback) {
                  _this._iframeInjection(callback + "();");
                }

                if (close && close === "1") {
                  _this._close(true);
                }

                _context3.next = 146;
                break;

              case 103:
                if (!type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.ALERT)) {
                  _context3.next = 107;
                  break;
                }

                (0, _$$_REQUIRE(_dependencyMap[22]).showAlert)(content);
                _context3.next = 146;
                break;

              case 107:
                if (!type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.CONFIRM)) {
                  _context3.next = 111;
                  break;
                }

                (0, _$$_REQUIRE(_dependencyMap[22]).showConfirm)(content);
                _context3.next = 146;
                break;

              case 111:
                if (!(type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.CLOSE) || type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.CLOSE_WINDOW))) {
                  _context3.next = 115;
                  break;
                }

                _this._close(true);

                _context3.next = 146;
                break;

              case 115:
                if (!type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.GO_BACK)) {
                  _context3.next = 119;
                  break;
                }

                Methods.Navigation.navigateToHome();
                _context3.next = 146;
                break;

              case 119:
                if (!type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.OPEN_RSS)) {
                  _context3.next = 123;
                  break;
                }

                (0, _$$_REQUIRE(_dependencyMap[22]).goToRssNavigator)();
                _context3.next = 146;
                break;

              case 123:
                if (!type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.OPEN_TAB_HOME)) {
                  _context3.next = 127;
                  break;
                }

                Methods.Navigation.navigateToHome();
                _context3.next = 146;
                break;

              case 127:
                if (!type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.OPEN_TAB_LOGIN)) {
                  _context3.next = 131;
                  break;
                }

                Methods.Navigation.navigateToLogin();
                _context3.next = 146;
                break;

              case 131:
                if (!type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.GET_KEY)) {
                  _context3.next = 138;
                  break;
                }

                _context3.next = 134;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[22]).getKey)(data));

              case 134:
                _js = _context3.sent;

                _this._iframeInjection(_js);

                _context3.next = 146;
                break;

              case 138:
                if (!type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.SET_KEY)) {
                  _context3.next = 145;
                  break;
                }

                _context3.next = 141;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[22]).setKey)(data));

              case 141:
                _js2 = _context3.sent;

                _this._iframeInjection(_js2);

                _context3.next = 146;
                break;

              case 145:
                if (type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.REMOVE_KEY)) {
                  (0, _$$_REQUIRE(_dependencyMap[22]).removeKey)(data);
                } else if (type.includes(_$$_REQUIRE(_dependencyMap[21]).locals.SET_PREF_EDI)) {
                  (0, _$$_REQUIRE(_dependencyMap[22]).setPrefEdit)(data);
                } else if (type.includes("LOG_ERR")) {} else if (type.includes("LOG_WARN")) {} else if (type.includes("LOG")) {}

              case 146:
                _context3.next = 150;
                break;

              case 148:
                _context3.prev = 148;
                _context3.t2 = _context3["catch"](0);

              case 150:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, [[0, 148], [3, 10]], Promise);
      };

      _this._iapSystemCallback = function _callee4(iapParams, local) {
        var js;
        return _regenerator.default.async(function _callee4$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                _context4.next = 2;
                return _regenerator.default.awrap((0, _$$_REQUIRE(_dependencyMap[26]).transactionResult)(iapParams));

              case 2:
                js = _context4.sent;

                _this._iframeInjection(js);

                return _context4.abrupt("return", true);

              case 5:
              case "end":
                return _context4.stop();
            }
          }
        }, null, null, null, Promise);
      };

      _this._onIssuePress = function _callee5(issue) {
        var _global$getActivePSet, machine, paperDomain, external, _global$getActivePSet2, currentPSetup, _await$global$loadPSe, config;

        return _regenerator.default.async(function _callee5$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                _global$getActivePSet = global.getActivePSetup(), machine = _global$getActivePSet.machine;
                paperDomain = issue.getMachine() || machine;
                external = false;
                _global$getActivePSet2 = global.getActivePSetup(), currentPSetup = _global$getActivePSet2.pSetup;
                _context5.next = 6;
                return _regenerator.default.awrap(global.loadPSetup(issue.getPSetup(), paperDomain, {}, external));

              case 6:
                _await$global$loadPSe = _context5.sent;
                config = _await$global$loadPSe.config;

                if (!config) {
                  _context5.next = 20;
                  break;
                }

                _this._close(true);

                if (!(currentPSetup !== issue.getPSetup())) {
                  _context5.next = 17;
                  break;
                }

                _context5.next = 13;
                return _regenerator.default.awrap(_GlobalConfig.default.initEpaperLayoutConfig());

              case 13:
                if (!external) {
                  _context5.next = 16;
                  break;
                }

                _context5.next = 16;
                return _regenerator.default.awrap(_GlobalConfig.default.initCustomFonts(config));

              case 16:
                Analytics.updateAnalyticsClientList();

              case 17:
                _$$_REQUIRE(_dependencyMap[27]).EventRegister.emit(_events.default.NEWSMEMORY_DOWNLOAD_EDITION, {
                  issue: issue.getIssue(),
                  edition: issue.getEdition()
                });

                _context5.next = 21;
                break;

              case 20:
                _$$_REQUIRE(_dependencyMap[28]).Toast.show(global.strings("err_download_psetup"));

              case 21:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, null, Promise);
      };

      _this._onRouteChange = function (route) {
        _this.currentRoute = route;
      };

      _this._onError = function (error) {};

      _this.state = {
        visible: false,
        initialRoute: "",
        urlParams: {}
      };
      _this.fallbackOptRef = _react.default.createRef();
      _this.close = _this._close.bind((0, _assertThisInitialized2.default)(_this));
      _this.onMessage = _this._onMessage.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(NativeOptionsPageFallback, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        this.openOptionsPageId = _$$_REQUIRE(_dependencyMap[27]).EventRegister.on(_events.default.OPEN_OPTIONSPAGE, function (params) {
          var newsmemoryManager = _this2.props.newsmemoryManager;
          var tab = params.tab,
              getParams = params.getParams,
              url = params.url,
              closeType = params.closeType,
              forceFullscreen = params.forceFullscreen,
              hidden = params.hidden;

          try {
            var _NativeOptionsPageUti2 = _nativeOptionsPageUtils.default.getStateFromTab(tab, getParams, newsmemoryManager),
                initialRoute = _NativeOptionsPageUti2.initialRoute,
                urlParams = _NativeOptionsPageUti2.params;

            _this2.setState({
              visible: true,
              initialRoute: initialRoute,
              urlParams: urlParams
            });
          } catch (e) {
            _$$_REQUIRE(_dependencyMap[28]).Toast.show(global.strings("system_error"));

            _this2.setState({
              visible: true
            });
          }
        });
        this.closeOptionsPageId = _$$_REQUIRE(_dependencyMap[27]).EventRegister.on(_events.default.CLOSE_OPTIONSPAGE, function () {
          _this2.close(true);
        });
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[27]).EventRegister.rm(this.openOptionsPageId);

        _$$_REQUIRE(_dependencyMap[27]).EventRegister.rm(this.closeOptionsPageId);
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props2 = this.props,
            onOpen = _this$props2.onOpen,
            url = _this$props2.url,
            isNewspaperLoaded = _this$props2.isNewspaperLoaded,
            onTabLoaded = _this$props2.onTabLoaded;
        var _this$state = this.state,
            visible = _this$state.visible,
            initialRoute = _this$state.initialRoute,
            urlParams = _this$state.urlParams;

        if (!visible) {
          return null;
        }

        if (typeof onOpen === "function") {
          onOpen();
        }

        var _global$getActivePSet3 = global.getActivePSetup(),
            pSetup = _global$getActivePSet3.pSetup,
            machine = _global$getActivePSet3.machine,
            overrideNewsMemoryUserAgent = _global$getActivePSet3.overrideNewsMemoryUserAgent;

        var _global$getRssIndex = global.getRssIndex(),
            supportColor = _global$getRssIndex.supportColor;

        var userAgent = overrideNewsMemoryUserAgent || _$$_REQUIRE(_dependencyMap[29]).PlatformUtils.getUserAgent();

        var favoriteEdition = global.getNewsmemoryConfig().getFavEdiSync();
        var params = (0, _extends2.default)({
          pSetup: pSetup,
          machine: machine,
          supportColor: supportColor,
          initialRoute: initialRoute,
          isDebug: global.isDebug,
          isGenericApp: _$$_REQUIRE(_dependencyMap[20]).PaperSetupManager.isGenericAppConfigured() ? 1 : 0,
          hideCloseButton: typeof isNewspaperLoaded === "function" && isNewspaperLoaded(),
          favoriteEdition: favoriteEdition
        }, urlParams);
        return _react.default.createElement(_reactNative.View, {
          style: {
            position: "absolute",
            top: 0,
            left: 0,
            right: 0,
            bottom: 0,
            backgroundColor: _$$_REQUIRE(_dependencyMap[29]).colors.white
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[30]).BaseWebView, {
          ref: this.fallbackOptRef,
          source: {
            uri: _$$_REQUIRE(_dependencyMap[29]).StringUtils.appendParams(url, params)
          },
          onMessage: this.onMessage,
          onLocal: this._onLocal,
          userAgent: userAgent
        }));
      }
    }]);
    return NativeOptionsPageFallback;
  }(_react.default.Component);

  NativeOptionsPageFallback.propTypes = {
    url: _propTypes.default.string.isRequired,
    onOpen: _propTypes.default.func,
    onClose: _propTypes.default.func,
    onTabLoaded: _propTypes.default.func,
    handleBackButton: _propTypes.default.func,
    isNewspaperLoaded: _propTypes.default.func,
    newsmemoryManager: _propTypes.default.instanceOf(_NewsmemoryManager.default),
    navigation: _propTypes.default.shape({
      navigate: _propTypes.default.func
    })
  };

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[31]).useNavigation)();
    return _react.default.createElement(NativeOptionsPageFallback, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2335,[5,80,6,7,8,15,12,14,16,17,201,28,1871,2318,460,2154,2332,1861,731,1876,1849,730,2333,2057,1725,2232,2334,572,1889,462,1894,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.NewsmemoryLayoutManager = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[12]);

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _newsmemoryFooterBarComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _searchComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _thumbnailComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _indexLayoutManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _EPaperArticle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _pagesLayoutManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[23]));

  var _NewspaperIssue = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[24]));

  var _EpaperLayoutConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[25]));

  var _layoutManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[26]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[27]));

  var _specialSectionComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[28]));

  var _NewspaperManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[29]));

  var _pageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[30]));

  var _backgroundPages = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[31]));

  var _EPaperImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[32]));

  var _articleModeManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[33]));

  var _simulateAccessibilityAlert = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[34]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NewsmemoryLayoutManager = function (_Shortcut) {
    (0, _inherits2.default)(NewsmemoryLayoutManager, _Shortcut);

    var _super = _createSuper(NewsmemoryLayoutManager);

    function NewsmemoryLayoutManager(props) {
      var _this;

      (0, _classCallCheck2.default)(this, NewsmemoryLayoutManager);
      _this = _super.call(this, props);
      _this.indexLevel = 1;
      _this.updateArticleInterface = false;
      _this.onBackgroundRef = _this._onBackgroundRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLayout = _this._onLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.onMainLayout = _this._onMainLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.onArticlePress = _this._onArticlePress.bind((0, _assertThisInitialized2.default)(_this));
      _this.openCurrentPageFirstArticle = _this._openCurrentPageFirstArticle.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPageLongPress = _this._onPageLongPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPageChange = _this._onPageChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPagesLoaded = _this._onPagesLoaded.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPagesUnmounted = _this._onPagesUnmounted.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPageRangeChange = _this._onPageRangeChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onScaleChange = _this._onScaleChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPanChange = _this._onPanChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.isAccessibilityModeEnabled = _this._isAccessibilityModeEnabled.bind((0, _assertThisInitialized2.default)(_this));
      _this.onIndexLevelChange = _this._onIndexLevelChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onIndexOpenArticle = _this._onIndexOpenArticle.bind((0, _assertThisInitialized2.default)(_this));
      _this.onIndexOpenSection = _this._onIndexOpenSection.bind((0, _assertThisInitialized2.default)(_this));
      _this.onIndexOpenPage = _this._onIndexOpenPage.bind((0, _assertThisInitialized2.default)(_this));
      _this.onIndexScrollToPage = _this._onIndexScrollToPage.bind((0, _assertThisInitialized2.default)(_this));
      _this.onIndexClose = _this._onIndexClose.bind((0, _assertThisInitialized2.default)(_this));
      _this.onCloseAccessibility = _this._onCloseAccessibility.bind((0, _assertThisInitialized2.default)(_this));
      _this.onCloseCarMode = _this._onCloseCarMode.bind((0, _assertThisInitialized2.default)(_this));
      _this.onArticleClose = _this._onArticleClose.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLogoPress = _this._onLogoPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onArticleOpenIndex = _this._onArticleOpenIndex.bind((0, _assertThisInitialized2.default)(_this));
      _this.onArticleOpenSearch = _this._onArticleOpenSearch.bind((0, _assertThisInitialized2.default)(_this));
      _this.onArticleClearSearch = _this._onArticleClearSearch.bind((0, _assertThisInitialized2.default)(_this));
      _this.onArticleToggleFullscreen = _this._onArticleToggleFullscreen.bind((0, _assertThisInitialized2.default)(_this));
      _this.onArticleSelected = _this._onArticleSelected.bind((0, _assertThisInitialized2.default)(_this));
      _this.onThumbnailPress = _this._onThumbnailPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onThumbnailDownload = _this._onThumbnailDownload.bind((0, _assertThisInitialized2.default)(_this));
      _this.onFooterItemPress = _this._onFooterItemPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.isFooterItemActive = _this._isFooterIconActive.bind((0, _assertThisInitialized2.default)(_this));
      _this.isFooterItemVisible = _this._isFooterItemVisible.bind((0, _assertThisInitialized2.default)(_this));
      _this.isFooterItemPresent = _this._isFooterItemPresent.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSearchClose = _this._onSearchClose.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSearchPress = _this._onSearchPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPageLayoutRef = _this._onPageLayoutRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onArticleLayoutRef = _this._onArticleLayoutRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onIndexLayoutRef = _this._onIndexLayoutRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onFooterLayoutRef = _this._onFooterLayoutRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.getCurrentArticle = _this._getCurrentArticle.bind((0, _assertThisInitialized2.default)(_this));
      _this.getCurrentPage = _this._getCurrentPage.bind((0, _assertThisInitialized2.default)(_this));
      _this.onUnFit = _this._onUnFit.bind((0, _assertThisInitialized2.default)(_this));
      _this.isReadModeEnabled = _this._isReadModeEnabled.bind((0, _assertThisInitialized2.default)(_this));
      _this.isTextModeOpen = _this._isTextModeOpen.bind((0, _assertThisInitialized2.default)(_this));
      _this.isLite = _this._isLite.bind((0, _assertThisInitialized2.default)(_this));
      _this.openBrowseMode = _this._openBrowseMode.bind((0, _assertThisInitialized2.default)(_this));
      _this.isSingleTapToZoomEnabled = _this._isSingleTapToZoomEnabled.bind((0, _assertThisInitialized2.default)(_this));
      _this.getNewspaperStatus = _this._getNewspaperStatus.bind((0, _assertThisInitialized2.default)(_this));
      _this.animateLayoutButtons = _this._animateLayoutButtons.bind((0, _assertThisInitialized2.default)(_this));
      _this.openThumbnail = _this._openThumbnail.bind((0, _assertThisInitialized2.default)(_this));

      var isLandscape = _this.isLandscape();

      var _global$getActivePSet = global.getActivePSetup(),
          fixButtonsBarToBottom = _global$getActivePSet.fixButtonsBarToBottom;

      var fullscreen = _this._isArticleFullscreen();

      _this.layoutFlexManager = new (_$$_REQUIRE(_dependencyMap[35]).LayoutFlexManager)(fullscreen, fixButtonsBarToBottom);

      _this.layoutFlexManager.setIsLite(_this.isLite());

      _this.layoutFlexManager.setSize(_deviceUtils.default.getSafeArea());

      _this.layoutFlexManager.setIsFooterAbsolute(_this._canHideFooter());

      _this.isTablet = _$$_REQUIRE(_dependencyMap[36]).PlatformUtils.isTablet();
      _this.highlightEnabled = !_$$_REQUIRE(_dependencyMap[36]).PlatformUtils.isEInk();
      _this.currentArticle = undefined;
      _this.articleSelectedTimer = undefined;

      var startInFitMode = _this._startInFitMode(isLandscape);

      _this.state = (0, _extends2.default)({
        isLandscape: isLandscape,
        userFitModeKey: _this.getFitModeKey(startInFitMode),
        fitPageHorizontally: startInFitMode,
        tempFitPageHorizontally: startInFitMode
      }, _this.layoutFlexManager.getStyles());
      return _this;
    }

    (0, _createClass2.default)(NewsmemoryLayoutManager, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        (0, _get2.default)((0, _getPrototypeOf2.default)(NewsmemoryLayoutManager.prototype), "componentDidMount", this).call(this);
        this.onAccessibilityModeListener = _$$_REQUIRE(_dependencyMap[37]).EventRegister.on(_events.default.ON_ACCESSIBILITY_MODE_CHANGE, function (_ref) {
          var enable = _ref.enable;

          _this2._openAccessibility(enable);
        });
        this.configChangeListener = _$$_REQUIRE(_dependencyMap[37]).EventRegister.on(_events.default.NEWSMEMORY_CONFIG_CHANGE, function (_ref2) {
          var previousConfig = _ref2.previousConfig;

          _this2.layoutFlexManager.setIsArticleFullscreen(_this2._isArticleFullscreen());

          var prevIsFooterAbsolute = _this2.layoutFlexManager.isFooterAbsolute;

          var isFooterAbsolute = _this2._canHideFooter();

          _this2.layoutFlexManager.setIsFooterAbsolute(isFooterAbsolute);

          var prevTwoFingersTapToArticle = previousConfig.twoFingersTapToArticle,
              prevReadModeEnabled = previousConfig.readModeEnabled,
              prevSingleTapToZoom = previousConfig.singleTapToZoom;
          var newsmemoryConfig = global.getNewsmemoryConfig();
          var twoFingersTapToArticle = newsmemoryConfig.twoFingersTapToArticle,
              readModeEnabled = newsmemoryConfig.readModeEnabled,
              singleTapToZoom = newsmemoryConfig.singleTapToZoom;
          var isZoomTapBehaviorChanged = prevSingleTapToZoom !== singleTapToZoom;
          var isFooterAbsoluteChanged = isFooterAbsolute !== prevIsFooterAbsolute;
          var updateLayout = false;
          var isTwoFingersChanged = twoFingersTapToArticle !== prevTwoFingersTapToArticle;

          if (_this2._canEnableReadMode()) {
            var isEpaperModeChanged = readModeEnabled !== prevReadModeEnabled;

            if (isTwoFingersChanged) {
              if (twoFingersTapToArticle) {
                if (_this2.layoutFlexManager.isBrowse() && readModeEnabled) {
                  updateLayout = true;

                  _this2._onItemPress({
                    action: _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openRead.key
                  }, {
                    maintainFit: true
                  });
                }
              } else {
                newsmemoryConfig.setReadMode(false);

                if (_this2.layoutFlexManager.isRead()) {
                  updateLayout = true;

                  _this2._onItemPress({
                    action: _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openBrowse.key
                  });
                }
              }
            }

            if (isEpaperModeChanged && twoFingersTapToArticle) {
              if (readModeEnabled) {
                var isLandscape = _this2.isLandscape();

                if (isLandscape) {
                  if (!_this2.layoutFlexManager.isIndex()) {
                    _this2.indexLevel = 1;

                    _this2.layoutFlexManager.openIndex();

                    updateLayout = true;

                    _this2.setState((0, _extends2.default)({
                      fitPageHorizontally: false,
                      tempFitPageHorizontally: false
                    }, _this2.layoutFlexManager.getStyles()));
                  }
                } else if (!_this2.layoutFlexManager.isRead()) {
                  updateLayout = true;

                  _this2._onItemPress({
                    action: _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openRead.key
                  });
                }
              } else if (!_this2.layoutFlexManager.isBrowse()) {
                updateLayout = true;

                _this2._onItemPress({
                  action: _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openSwipe.key
                });
              }
            }
          } else if (isTwoFingersChanged && prevReadModeEnabled && _this2.layoutFlexManager.isRead()) {
            _this2._onItemPress({
              action: _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openBrowse.key
            });
          }

          if (!updateLayout && isZoomTapBehaviorChanged && isFooterAbsoluteChanged) {
            _this2.setState((0, _extends2.default)({}, _this2.layoutFlexManager.getStyles()));
          }
        });
        this.orientationEventId = _$$_REQUIRE(_dependencyMap[37]).EventRegister.on(_events.default.ON_ORIENTATION_CHANGE, function (_ref3) {
          var orientation = _ref3.orientation;
          var previousLandscape = _this2.state.isLandscape;

          var isLandscape = _this2.isLandscape();

          var oldSize = _this2.layoutFlexManager.getSize();

          var newSize = _deviceUtils.default.getSafeArea();

          if (previousLandscape !== isLandscape) {
            _this2.layoutFlexManager.setChangingOrientation(true);
          }

          if (!_$$_REQUIRE(_dependencyMap[36]).JSUtils.areEqualShallow(oldSize, newSize)) {
            _this2.layoutFlexManager.setSize(newSize);
          }

          var currentNewspaperManager = _this2.props.currentNewspaperManager;

          var _global$getActivePSet2 = global.getActivePSetup(),
              enableVmodeAndFitOrientation = _global$getActivePSet2.enableVmodeAndFitOrientation;

          var fullscreen = _this2._isArticleFullscreen();

          _this2.layoutFlexManager.setIsArticleFullscreen(fullscreen);

          _this2.layoutFlexManager.setIsLandscape(isLandscape);

          _this2.layoutFlexManager.setIsFooterAbsolute(_this2._canHideFooter());

          var tempFitPageHorizontally = !_this2.isTextModeOpen() && _this2._startInFitMode(isLandscape);

          if (!_this2._canEnableReadMode() && !_this2.isLite() && enableVmodeAndFitOrientation && _this2.isTablet) {
            var _currentNewspaperMana = currentNewspaperManager.getStatus(),
                lastArticleId = _currentNewspaperMana.lastArticleId;

            if (isLandscape && (_this2.layoutFlexManager.isBrowse() || _this2.layoutFlexManager.isRead() || _this2.layoutFlexManager.isArticle() && !lastArticleId)) {
              _this2.layoutFlexManager.openIndex();
            } else if (!isLandscape && !_this2.layoutFlexManager.isBrowse()) {
              if (_this2.layoutFlexManager.isIndex() || !lastArticleId) {
                _this2.layoutFlexManager.openBrowse();
              }
            }
          }

          try {
            if (currentNewspaperManager) {
              var currentNewspaper = currentNewspaperManager.getCurrentNewspaper();

              if (currentNewspaper) {
                (0, _$$_REQUIRE(_dependencyMap[39]).sendNewsmemoryRotateEvent)(orientation, currentNewspaper.getEditionModel());
              }
            }
          } catch (e) {}

          _this2.setState((0, _extends2.default)({
            isLandscape: isLandscape,
            fitPageHorizontally: _this2._startInFitMode(isLandscape),
            tempFitPageHorizontally: tempFitPageHorizontally
          }, _this2.layoutFlexManager.getStyles()));
        });
        this.onExtraGoToPagePress = _$$_REQUIRE(_dependencyMap[37]).EventRegister.on(_events.default.NEWSMEMORY_ON_EXTRA_GO_TO_PAGE_PRESS, function (_ref4) {
          var pageNumber = _ref4.page;

          var page = _this2._getPageByNumber(pageNumber);

          if (page) {
            var pageId = page.getPageId();

            if (_this2.pageLayoutManager && !_this2._isTextModeOpen()) {
              _this2.pageLayoutManager.navigateToPage(pageId);
            } else {
              _this2.setCurrentPageId(pageId);

              _this2._openBrowseMode();
            }
          }
        });
        this.onArticleJump = _$$_REQUIRE(_dependencyMap[37]).EventRegister.on(_events.default.NEWSMEMORY_ARTICLE_JUMP, function (_ref5) {
          var page = _ref5.page,
              issue = _ref5.issue,
              filename = _ref5.filename,
              xmlId = _ref5.xmlId;

          _this2._goToArticle(page, issue, filename, xmlId);
        });

        var _global$getActivePSet3 = global.getActivePSetup(),
            enableVmodeAndFitOrientation = _global$getActivePSet3.enableVmodeAndFitOrientation;

        var lastArticle = this._getCurrentArticle();

        if (lastArticle) {
          this.layoutFlexManager.openArticle();
          this.setState((0, _extends2.default)({}, this.layoutFlexManager.getStyles(), {
            tempFitPageHorizontally: false
          }));
        } else if (!enableVmodeAndFitOrientation && this._shouldEnableReadMode()) {
          this.layoutFlexManager.openArticle(true);
        }
      }
    }, {
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(nextProps) {
        this.layoutFlexManager.setIsLite(this.isLite());
      }
    }, {
      key: "UNSAFE_componentWillUpdate",
      value: function UNSAFE_componentWillUpdate(nextProps, nextState) {
        if (!nextState.fitPageHorizontally) {
          this.clickArticleEvent = undefined;
        }
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate() {
        this.event = undefined;

        if (!this.layoutFlexManager.isArticle()) {
          this.clickArticleEvent = undefined;
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(NewsmemoryLayoutManager.prototype), "componentWillUnmount", this).call(this);

        _$$_REQUIRE(_dependencyMap[37]).EventRegister.rm(this.configChangeListener);

        _$$_REQUIRE(_dependencyMap[37]).EventRegister.rm(this.orientationEventId);

        _$$_REQUIRE(_dependencyMap[37]).EventRegister.rm(this.onExtraGoToPagePress);

        _$$_REQUIRE(_dependencyMap[37]).EventRegister.rm(this.onArticleCloseEvent);

        _$$_REQUIRE(_dependencyMap[37]).EventRegister.rm(this.onArticleJump);
      }
    }, {
      key: "_handleShortcut",
      value: function _handleShortcut() {
        var _this3 = this;

        var OPEN = _$$_REQUIRE(_dependencyMap[40]).KEY_GROUPS.OPEN;

        var shortcuts = [{
          callback: function callback() {
            _this3._onItemPress({
              action: _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openAccessibility.key
            });
          },
          keys: ["T"]
        }];

        if (!this._isAccessibilityModeEnabled()) {
          shortcuts.push({
            callback: this.openBrowseMode,
            keys: ["B"]
          });
          shortcuts.push({
            callback: function callback() {
              _this3._onItemPress({
                action: _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openSearch.key
              });
            },
            keys: ["SEARCH"]
          });
          shortcuts.push({
            callback: function callback() {
              _this3._onItemPress({
                action: _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openIndex.key
              }, {
                fromFooter: true
              });
            },
            keys: ["I"]
          });
          shortcuts.push({
            callback: this.openThumbnail,
            keys: ["NUMPAD_DOT", "P", "ESCAPE"]
          });
          shortcuts.push({
            callback: function callback() {
              _this3._onItemPress({
                action: _$$_REQUIRE(_dependencyMap[38]).ACTIONS.fitPageToggle.key
              }, {
                fromFooter: true
              });
            },
            keys: ["SPACE"]
          });
          shortcuts.push({
            callback: this.openCurrentPageFirstArticle,
            keys: OPEN
          });
        }

        return shortcuts;
      }
    }, {
      key: "_getFirstPageWidthScreenRatio",
      value: function _getFirstPageWidthScreenRatio() {
        var ratio = 0;

        var edition = this._getCurrentEdition();

        if (edition) {
          var firstPage = edition.getFirstPage();
          var size = this.layoutFlexManager.getBrowseSize();

          var pageSize = _newsmemoryUtils.default.getPageViewSize(firstPage, size, false, 1);

          if (pageSize) {
            var scaledWidth = pageSize.scaledWidth;
            ratio = scaledWidth / size.width;
          }
        }

        return ratio;
      }
    }, {
      key: "_startInFitMode",
      value: function _startInFitMode(isLandscape) {
        var _global$getActivePSet4 = global.getActivePSetup(),
            enableVmodeAndFitOrientation = _global$getActivePSet4.enableVmodeAndFitOrientation,
            fitPageType = _global$getActivePSet4.fitPageType;

        if (this._canEnableReadMode()) {
          var _global$getNewsmemory = global.getNewsmemoryConfig(),
              readModeEnabled = _global$getNewsmemory.readModeEnabled;

          if (!readModeEnabled) {
            return true;
          }

          if (!isLandscape && this._getNumberOfPagesByOrientation() === 1) {
            var ratio = this._getFirstPageWidthScreenRatio();

            return ratio > 0 && ratio < 0.8;
          }

          return false;
        }

        if (enableVmodeAndFitOrientation) {
          return isLandscape ? false : Boolean(fitPageType & 2 && fitPageType & 1);
        }

        return Boolean((isLandscape ? fitPageType & 4 : fitPageType & 2) && fitPageType & 1);
      }
    }, {
      key: "_getCurrentArticle",
      value: function _getCurrentArticle() {
        var lastArticle;
        var currentNewspaperManager = this.props.currentNewspaperManager;

        if (currentNewspaperManager) {
          var _currentNewspaperMana2 = currentNewspaperManager.getStatus(),
              lastArticleId = _currentNewspaperMana2.lastArticleId;

          if (lastArticleId) {
            var _decodeArticleId = (0, _$$_REQUIRE(_dependencyMap[41]).decodeArticleId)(lastArticleId),
                pageId = _decodeArticleId.pageId,
                xmlId = _decodeArticleId.xmlId;

            var edition = this._getCurrentEdition();

            if (edition) {
              lastArticle = _newsmemoryUtils.default.getAllArticles(edition).find(function (article) {
                return article.getPageId() === pageId && article.getXmlId() === xmlId;
              });
            }
          }
        }

        return this.currentArticle || lastArticle;
      }
    }, {
      key: "_getPageByNumber",
      value: function _getPageByNumber(pageNumber) {
        var edition = this._getCurrentEdition();

        if (edition) {
          var page = _pageUtils.default.getPageByPageNumber(edition.getPages(), pageNumber);

          return page;
        }

        return null;
      }
    }, {
      key: "_goToArticle",
      value: function _goToArticle(pageNumber, issue, filename, xmlId) {
        var _this4 = this;

        var edition = this._getCurrentEdition();

        if (edition) {
          var found = _newsmemoryUtils.default.getAllArticles(edition).find(function (article) {
            var page = _this4._getPageByNumber(pageNumber);

            if (page) {
              return article.getPageId() === page.getPageId() && article.getXmlId() === parseInt(xmlId, 10);
            }

            return false;
          });

          if (found) {
            this._onIndexOpenArticle(found);
          }
        }
      }
    }, {
      key: "handleBack",
      value: function handleBack() {
        if (this.layoutFlexManager.isIndex()) {
          var latestLayout = this.layoutFlexManager.getLatestLayout();

          if (latestLayout === _$$_REQUIRE(_dependencyMap[35]).LAYOUTS.ARTICLE.key) {
            if (!this._isIndexSecondLevel()) {
              var edition = this._getCurrentEdition();

              if (!_newsmemoryUtils.default.oneLevelIndex(edition)) {
                this.indexLevel = 2;
              }

              this.setState((0, _extends2.default)({
                tempFitPageHorizontally: false
              }, this.layoutFlexManager.getStyles()));
              return true;
            }
          } else {
            if (this._isIndexSecondLevel() && this.indexLayoutRef) {
              this.indexLayoutRef._onSwipeDown();

              return true;
            }
          }
        }

        var previousLayout = this.layoutFlexManager.popPreviousLayout();

        if (previousLayout) {
          this.layoutFlexManager.layout = previousLayout;

          var startInFitMode = this._startInFitMode(this.isLandscape());

          this.setState((0, _extends2.default)({
            tempFitPageHorizontally: previousLayout.key === _$$_REQUIRE(_dependencyMap[35]).LAYOUTS.BROWSE.key ? startInFitMode : false
          }, this.layoutFlexManager.getStyles()));
          return true;
        }

        return false;
      }
    }, {
      key: "clearLastArticleFromStatus",
      value: function clearLastArticleFromStatus() {
        var currentNewspaperManager = this.props.currentNewspaperManager;

        if (currentNewspaperManager) {
          currentNewspaperManager.getStatus().resetLastArticleId();
        }
      }
    }, {
      key: "resetCurrentArticle",
      value: function resetCurrentArticle() {
        this.clearLastArticleFromStatus();
        this.currentArticle = undefined;
        this.clickArticleEvent = undefined;
      }
    }, {
      key: "resetCurrentPageId",
      value: function resetCurrentPageId() {
        this.currentPageId = undefined;
      }
    }, {
      key: "setCurrentPageId",
      value: function setCurrentPageId(pageId) {
        global.getNewsmemoryConfig().setLastOperationTimestamp();

        if (this.currentPageId !== pageId) {
          if (this.layoutFlexManager.isBrowseVisible()) {
            if (this.pageLayoutManager) {
              this.pageLayoutManager.navigateToPage(pageId);
            }
          }

          this.currentPageId = pageId;
          var currentNewspaperManager = this.props.currentNewspaperManager;

          if (currentNewspaperManager) {
            currentNewspaperManager.setCurrentPage(this.currentPageId);
          }
        }
      }
    }, {
      key: "getCurrentPageId",
      value: function getCurrentPageId() {
        var currentNewspaperManager = this.props.currentNewspaperManager;

        var edition = this._getCurrentEdition();

        if (edition) {
          var lastPage = edition.getFirstPage();

          var _currentNewspaperMana3 = currentNewspaperManager.getStatus(),
              lastPageNumber = _currentNewspaperMana3.lastPageNumber;

          if (lastPageNumber) {
            var lastPageViewed = _pageUtils.default.getPageByPageNumber(edition.getPages(), lastPageNumber);

            if (lastPageViewed) {
              lastPage = lastPageViewed;
            }
          }

          if (this.currentPageId) {
            return this.currentPageId;
          }

          if (lastPage) {
            return lastPage.getPageId();
          }
        }

        return this.currentPageId;
      }
    }, {
      key: "isLandscape",
      value: function isLandscape() {
        return !_deviceUtils.default.isPortrait();
      }
    }, {
      key: "getFitModeKey",
      value: function getFitModeKey(fitMode) {
        return "landscape_" + this.isLandscape() + "_fit_" + fitMode;
      }
    }, {
      key: "reset",
      value: function reset() {
        this.layoutFlexManager.reset();
        this.setState((0, _extends2.default)({}, this.layoutFlexManager.getStyles()));
      }
    }, {
      key: "_onPageLayoutRef",
      value: function _onPageLayoutRef(ref) {
        this.pageLayoutManager = ref;
      }
    }, {
      key: "_onArticleLayoutRef",
      value: function _onArticleLayoutRef(ref) {
        this.articleLayoutManager = ref;
      }
    }, {
      key: "_onIndexLayoutRef",
      value: function _onIndexLayoutRef(ref) {
        this.indexLayoutRef = ref;
      }
    }, {
      key: "_onFooterLayoutRef",
      value: function _onFooterLayoutRef(ref) {
        this.footerLayoutRef = ref;
      }
    }, {
      key: "_getIndexTitle",
      value: function _getIndexTitle() {
        var edition = this._getCurrentEdition();

        if (edition) {
          return _newsmemoryUtils.default.getFormattedIssue(edition.getIssue());
        }

        return "";
      }
    }, {
      key: "_isLite",
      value: function _isLite() {
        var currentNewspaperManager = this.props.currentNewspaperManager;
        return _newsmemoryUtils.default.isLite(currentNewspaperManager);
      }
    }, {
      key: "_isSingleTapToZoomEnabled",
      value: function _isSingleTapToZoomEnabled() {
        var _global$getNewsmemory2 = global.getNewsmemoryConfig(),
            singleTapToZoom = _global$getNewsmemory2.singleTapToZoom;

        if (this.isLite()) {
          return true;
        }

        if (this._isReadModeEnabled()) {
          return false;
        }

        return singleTapToZoom && !this._isTextModeOpen();
      }
    }, {
      key: "_canHideFooter",
      value: function _canHideFooter() {
        var _global$getActivePSet5 = global.getActivePSetup(),
            animateLayoutFooter = _global$getActivePSet5.animateLayoutFooter;

        return animateLayoutFooter && this._canEnableReadMode() && !this._isSingleTapToZoomEnabled();
      }
    }, {
      key: "_canEnableReadMode",
      value: function _canEnableReadMode() {
        var currentNewspaperManager = this.props.currentNewspaperManager;
        return _newsmemoryUtils.default.canEnableReadMode(currentNewspaperManager);
      }
    }, {
      key: "_shouldEnableReadMode",
      value: function _shouldEnableReadMode() {
        var _global$getNewsmemory3 = global.getNewsmemoryConfig(),
            readModeEnabled = _global$getNewsmemory3.readModeEnabled;

        return this._canEnableReadMode() && readModeEnabled;
      }
    }, {
      key: "_shouldEnableBrowseMode",
      value: function _shouldEnableBrowseMode() {
        var canEnableReadMode = this._canEnableReadMode();

        var _global$getNewsmemory4 = global.getNewsmemoryConfig(),
            readModeEnabled = _global$getNewsmemory4.readModeEnabled;

        return canEnableReadMode && !readModeEnabled;
      }
    }, {
      key: "_onFooterItemPress",
      value: function _onFooterItemPress(item) {
        this._onItemPress(item, {
          fromFooter: true
        });
      }
    }, {
      key: "_openThumbnail",
      value: function _openThumbnail() {
        this._onItemPress({
          action: _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openThumbnail.key
        });
      }
    }, {
      key: "_toggleVoiceManager",
      value: function _toggleVoiceManager(start) {
        var mgr = global.getAudio();

        if (mgr) {
          if (start) {
            mgr.srStart(true);
          } else {
            mgr.srStop();
          }
        }
      }
    }, {
      key: "_openCloseCarMode",
      value: function _openCloseCarMode(open) {
        if (global.getMainPSetup().useCarMode) {
          this._toggleVoiceManager(open);

          if (!open) {
            this.layoutFlexManager.setCarModeEnabled(false);
            this.layoutFlexManager.reset();
          } else {
            this.layoutFlexManager.setCarModeEnabled(true);
            this.layoutFlexManager.openCarMode();
          }

          this.setState((0, _extends2.default)({}, this.layoutFlexManager.getStyles()));
        }
      }
    }, {
      key: "_openAccessibility",
      value: function _openAccessibility(open) {
        var _this5 = this;

        if (global.getMainPSetup().useNativeAccessibility) {
          if (!open) {
            this._toggleVoiceManager(false);

            this.layoutFlexManager.setAccessibilityModeEnabled(false);
            this.layoutFlexManager.reset();
            this.setState((0, _extends2.default)({}, this.layoutFlexManager.getStyles()));
          } else {
            this.indexLevel = 1;

            if (!_$$_REQUIRE(_dependencyMap[36]).PlatformUtils.isSystemAccessibilityEnabled()) {
              _simulateAccessibilityAlert.default.show({
                onConfirm: function onConfirm() {
                  _this5.layoutFlexManager.setAccessibilityModeEnabled(true);

                  _this5.layoutFlexManager.openAccessibility();

                  _this5.setState((0, _extends2.default)({}, _this5.layoutFlexManager.getStyles()));
                }
              });
            } else {
              this.layoutFlexManager.setAccessibilityModeEnabled(true);
              this.layoutFlexManager.openAccessibility();
              this.setState((0, _extends2.default)({}, this.layoutFlexManager.getStyles()));
            }
          }
        } else {
          _$$_REQUIRE(_dependencyMap[37]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
            tab: _$$_REQUIRE(_dependencyMap[42]).tabs.accessibility,
            hidden: true
          });
        }
      }
    }, {
      key: "_onItemPress",
      value: function _onItemPress(item) {
        var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
        var _this$state = this.state,
            fitPageHorizontally = _this$state.fitPageHorizontally,
            userFitModeKey = _this$state.userFitModeKey;
        var newsmemoryConfig = global.getNewsmemoryConfig();
        newsmemoryConfig.setLastOperationTimestamp();

        _$$_REQUIRE(_dependencyMap[37]).EventRegister.emit(_events.default.NEWSMEMORY_PAUSE_HIGH_RES_QUEUE);

        if (!(this.layoutFlexManager.isArticle() && item.action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openSearch.key) && !(this.layoutFlexManager.isSearch() && item.action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openArticle.key)) {
          this.searchedTerm = undefined;
        }

        var _config$maintainFit = config.maintainFit,
            maintainFit = _config$maintainFit === undefined ? false : _config$maintainFit,
            _config$fromFooter = config.fromFooter,
            fromFooter = _config$fromFooter === undefined ? false : _config$fromFooter,
            _config$stateCallback = config.stateCallback,
            stateCallback = _config$stateCallback === undefined ? function () {} : _config$stateCallback;
        var startInFitMode = false;

        switch (item.action) {
          case _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openCarMode.key:
            this._openCloseCarMode(true);

            break;

          case _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openOptionPageAccessibility.key:
          case _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openAccessibility.key:
            this._openAccessibility(true);

            break;

          case _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openOptionPageEditions.key:
            _$$_REQUIRE(_dependencyMap[37]).EventRegister.emit(_events.default.NEWSMEMORY_OPEN_OFFLINE_EDITION_MENU);

            break;

          case _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openRead.key:
            _$$_REQUIRE(_dependencyMap[37]).EventRegister.emit(_events.default.NEWSMEMORY_RESET_NAVIGATION_BUTTONS_POSITION, {
              enabled: true
            });

            this.clearLastArticleFromStatus();
            this.layoutFlexManager.openArticle(true);
            newsmemoryConfig.setReadMode(true);

            if (maintainFit) {
              this.setState((0, _extends2.default)({
                tempFitPageHorizontally: fitPageHorizontally
              }, this.layoutFlexManager.getStyles()), stateCallback);
            } else {
              startInFitMode = this._startInFitMode(this.isLandscape());
              this.setState((0, _extends2.default)({
                fitPageHorizontally: startInFitMode,
                tempFitPageHorizontally: startInFitMode
              }, this.layoutFlexManager.getStyles()), stateCallback);
            }

            break;

          case _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openSwipe.key:
            _$$_REQUIRE(_dependencyMap[37]).EventRegister.emit(_events.default.NEWSMEMORY_RESET_NAVIGATION_BUTTONS_POSITION, {
              enabled: false
            });

            this.clearLastArticleFromStatus();
            this.layoutFlexManager.openBrowse();
            this.layoutFlexManager.setIsFooterAbsolute(this._canHideFooter());
            newsmemoryConfig.setReadMode(false);
            startInFitMode = this._startInFitMode(this.isLandscape());
            this.setState((0, _extends2.default)({
              fitPageHorizontally: startInFitMode,
              tempFitPageHorizontally: startInFitMode
            }, this.layoutFlexManager.getStyles()), stateCallback);
            break;

          case _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openBrowse.key:
            this.clearLastArticleFromStatus();
            this.layoutFlexManager.openBrowse();
            startInFitMode = this._startInFitMode(this.isLandscape());
            var userFitModeChanged = this.getFitModeKey(fitPageHorizontally) === userFitModeKey;
            this.setState((0, _extends2.default)({
              fitPageHorizontally: userFitModeChanged ? fitPageHorizontally : startInFitMode,
              tempFitPageHorizontally: userFitModeChanged ? fitPageHorizontally : startInFitMode
            }, this.layoutFlexManager.getStyles()), stateCallback);
            break;

          case _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openArticle.key:
            if (!this.isLite()) {
              _$$_REQUIRE(_dependencyMap[37]).EventRegister.emit(_events.default.NEWSMEMORY_RESUME_HIGH_RES_QUEUE);

              if (!this.layoutFlexManager.isArticle() || this.clearingSearch) {
                this.clearingSearch = false;
                this.layoutFlexManager.openArticle();
                this.setState((0, _extends2.default)({
                  tempFitPageHorizontally: false
                }, this.layoutFlexManager.getStyles()), stateCallback);
              } else if (this.articleLayoutManager) {
                this.articleLayoutManager.update();
              }
            }

            break;

          case _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openIndex.key:
            this.indexLevel = 1;

            if (!fromFooter) {
              this.indexLevel = this.layoutFlexManager.isArticle() ? 2 : 1;
            }

            this.layoutFlexManager.openIndex();
            this.setState((0, _extends2.default)({
              tempFitPageHorizontally: false
            }, this.layoutFlexManager.getStyles()), stateCallback);
            break;

          case _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openThumbnail.key:
            this.layoutFlexManager.openThumbnail();
            this.setState((0, _extends2.default)({}, this.layoutFlexManager.getStyles()), stateCallback);
            break;

          case _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openSearch.key:
            this.layoutFlexManager.openSearch();
            this.setState((0, _extends2.default)({}, this.layoutFlexManager.getStyles()), stateCallback);
            break;

          case _$$_REQUIRE(_dependencyMap[38]).ACTIONS.nextArticle.key:
            if (this.layoutFlexManager.isArticle() && this.articleLayoutManager) {
              this.articleLayoutManager.goNext();
            } else if (this.layoutFlexManager.isIndex() && this.indexLayoutRef && this._isIndexSecondLevel()) {
              this.indexLayoutRef.goToNextSection();
            }

            break;

          case _$$_REQUIRE(_dependencyMap[38]).ACTIONS.previousArticle.key:
            if (this.layoutFlexManager.isArticle() && this.articleLayoutManager) {
              this.articleLayoutManager.goPrev();
            } else if (this.layoutFlexManager.isIndex() && this.indexLayoutRef && this._isIndexSecondLevel()) {
              this.indexLayoutRef.goToPreviousSection();
            }

            break;

          case _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openIndexAlt.key:
            if (this.layoutFlexManager.isArticle()) {
              this.layoutFlexManager.openIndex();

              var _global$getNewsmemory5 = global.getNewsmemoryConfig(),
                  enableTabIndexMode = _global$getNewsmemory5.enableTabIndexMode;

              if (!enableTabIndexMode) {
                var edition = this._getCurrentEdition();

                if (!_newsmemoryUtils.default.oneLevelIndex(edition)) {
                  this.indexLevel = 2;
                }
              }

              this.setState((0, _extends2.default)({
                tempFitPageHorizontally: false
              }, this.layoutFlexManager.getStyles()), stateCallback);
            } else if (this.layoutFlexManager.isIndex()) {
              if (this.indexLayoutRef) {
                this.indexLayoutRef.goToTop();
              }
            }

            break;

          case _$$_REQUIRE(_dependencyMap[38]).ACTIONS.shareAlt.key:
            if (this.articleLayoutManager) {
              this.articleLayoutManager.share();
            }

            break;

          case _$$_REQUIRE(_dependencyMap[38]).ACTIONS.fitPageToggle.key:
            if (this._shouldEnableReadMode()) {
              this.layoutFlexManager.openArticle(true);
            } else {
              this.layoutFlexManager.openBrowse();
            }

            this.setState((0, _extends2.default)({
              fitPageHorizontally: !fitPageHorizontally,
              tempFitPageHorizontally: !fitPageHorizontally,
              userFitModeKey: this.getFitModeKey(!fitPageHorizontally)
            }, this.layoutFlexManager.getStyles()), stateCallback);
            break;
        }
      }
    }, {
      key: "_openEditions",
      value: function _openEditions() {
        var _global$getActivePSet6 = global.getActivePSetup(),
            showNativeOptionsPage = _global$getActivePSet6.showNativeOptionsPage,
            showNativeOptionsPageFallbackUrl = _global$getActivePSet6.showNativeOptionsPageFallbackUrl;

        if (_$$_REQUIRE(_dependencyMap[36]).NetworkUtils.isOnline() || showNativeOptionsPage && !showNativeOptionsPageFallbackUrl) {
          _$$_REQUIRE(_dependencyMap[37]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
            tab: _$$_REQUIRE(_dependencyMap[42]).tabs.home
          });
        } else {
          _$$_REQUIRE(_dependencyMap[37]).EventRegister.emit(_events.default.NEWSMEMORY_OPEN_OFFLINE_EDITION_MENU);
        }
      }
    }, {
      key: "_onUnFit",
      value: function _onUnFit(gesture) {
        var fitPageHorizontally = this.state.fitPageHorizontally;

        if (fitPageHorizontally) {
          if (this._shouldEnableReadMode()) {
            this.layoutFlexManager.openArticle(true);
          } else {
            this.layoutFlexManager.openBrowse();
          }

          this.setState((0, _extends2.default)({
            fitPageHorizontally: false,
            tempFitPageHorizontally: false
          }, this.layoutFlexManager.getStyles()));
        }
      }
    }, {
      key: "_isIndexSecondLevel",
      value: function _isIndexSecondLevel() {
        return this.indexLevel === 2;
      }
    }, {
      key: "_shouldShowFitButton",
      value: function _shouldShowFitButton() {
        var _global$getActivePSet7 = global.getActivePSetup(),
            enableVmodeAndFitOrientation = _global$getActivePSet7.enableVmodeAndFitOrientation,
            fitPageType = _global$getActivePSet7.fitPageType;

        var fullscreen = this._isArticleFullscreen() && this.isTextModeOpen();
        var hideFit = fullscreen || this.layoutFlexManager.isThumbnail();

        if (hideFit) {
          return false;
        }

        if (!this.isTextModeOpen()) {
          var numberOfShowedPages = this._getNumberOfPagesToShow();

          if (numberOfShowedPages === 1) {
            var ratio = this._getFirstPageWidthScreenRatio();

            hideFit = ratio >= 0.95;
          }
        }

        return !hideFit && (enableVmodeAndFitOrientation || fitPageType === 1 || this.isLandscape() && fitPageType & 4 || !this.isLandscape() && fitPageType & 2);
      }
    }, {
      key: "_isFooterItemPresent",
      value: function _isFooterItemPresent(icon) {
        var action = icon.action;

        if (_$$_REQUIRE(_dependencyMap[36]).PlatformUtils.isTablet()) {
          if (action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openRead.key || action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openSwipe.key) {
            return this._canEnableReadMode();
          }
        } else {
          var _global$getRSSActiveP = global.getRSSActivePSetup(),
              rssIsEnabled = _global$getRSSActiveP.rssIsEnabled;

          var isTextModeOpen = this.isTextModeOpen();

          var fitButton = action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.fitPageToggle.key;

          var graphButtonInGraphMode = !isTextModeOpen && action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openBrowse.key;

          var needsLiveNewsButton = rssIsEnabled || global.TaAddonNeedsCloseButton();

          if (fitButton || graphButtonInGraphMode) {
            var _global$getEpaperLayo = global.getEpaperLayoutConfig(),
                mainFooter = _global$getEpaperLayo.mainFooter;

            var editionsButtonPresent = false;
            var fitButtonPresent = false;

            if (!isTextModeOpen && mainFooter) {
              editionsButtonPresent = !!mainFooter.buttons.find(function (footerIcon) {
                return footerIcon.action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openOptionPageEditions.key;
              });
              fitButtonPresent = !!mainFooter.buttons.find(function (footerIcon) {
                return footerIcon.action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.fitPageToggle.key;
              });
            }

            if (!needsLiveNewsButton && !editionsButtonPresent) {
              return true;
            }

            var shouldShowFitButton = this._shouldShowFitButton();

            if (fitButton) {
              return shouldShowFitButton;
            }

            if (needsLiveNewsButton) {
              if (fitButtonPresent) {
                return !shouldShowFitButton;
              }

              return !editionsButtonPresent;
            }

            return !editionsButtonPresent || !fitButtonPresent || !shouldShowFitButton;
          }

          if (action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openLiveNews.key) {
            return needsLiveNewsButton;
          }
        }

        if (action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.showWith.key) {
          return this._isFooterItemPresent({
            action: icon.actionValue
          });
        }

        return true;
      }
    }, {
      key: "_isFooterItemVisible",
      value: function _isFooterItemVisible(icon) {
        var action = icon.action;

        var _global$getActivePSet8 = global.getActivePSetup(),
            protectSite = _global$getActivePSet8.protectSite,
            enableShare = _global$getActivePSet8.enableShare;

        var _global$getRSSActiveP2 = global.getRSSActivePSetup(),
            rssIsEnabled = _global$getRSSActiveP2.rssIsEnabled;

        if (action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openBrowse.key) {
          return !this._canEnableReadMode();
        }

        if (action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openSpecialSections.key) {
          var edition = this._getCurrentEdition();

          var editionHasSpecialSections = edition ? edition.hasSpecialSections : false;
          return editionHasSpecialSections;
        }

        if (action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openLiveNews.key) {
          return rssIsEnabled || global.TaAddonNeedsCloseButton();
        }

        if (action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openSearch.key || action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openIndex.key) {
          return !this.isLite();
        }

        if (action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.fitPageToggle.key) {
          return this._shouldShowFitButton();
        }

        if (action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.downloadEdition.key) {
          var currentNewspaperManager = this.props.currentNewspaperManager;

          if (currentNewspaperManager && currentNewspaperManager.getCurrentNewspaper()) {
            var dbStatus = currentNewspaperManager.getCurrentNewspaper().getStatus();
            return dbStatus < _NewspaperIssue.DBStatus.HIGH_RES_DOWNLOADED;
          }

          return false;
        }

        if (action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.nextArticle.key) {
          if (this.layoutFlexManager.isIndex() && !this._isIndexSecondLevel()) {
            return false;
          }
        }

        if (action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.previousArticle.key) {
          if (this.layoutFlexManager.isIndex() && !this._isIndexSecondLevel()) {
            return false;
          }
        }

        if (action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.shareAlt.key) {
          return enableShare && !this.layoutFlexManager.isIndex();
        }

        if (action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openOptionPageLogin.key) {
          return protectSite > 0;
        }

        var isGenericApp = _$$_REQUIRE(_dependencyMap[43]).PaperSetupManager.isGenericAppConfigured();

        if (action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openOptionPagePublications.key) {
          return isGenericApp;
        }

        if (action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openStore.key) {
          return !isGenericApp;
        }

        return true;
      }
    }, {
      key: "_isFooterIconActive",
      value: function _isFooterIconActive(icon) {
        var action = icon.action;
        var fitPageHorizontally = this.state.fitPageHorizontally;

        if (this._shouldEnableReadMode() && action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openRead.key) {
          return true;
        }

        if (this._shouldEnableBrowseMode() && action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openSwipe.key) {
          return true;
        }

        if (this.layoutFlexManager.isBrowse() && action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openBrowse.key) {
          return true;
        }

        var canEnableReadMode = this._canEnableReadMode();

        if (this.layoutFlexManager.isIndex() && action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openIndex.key) {
          return !canEnableReadMode;
        }

        var isArticleModeIconActive = this.layoutFlexManager.isArticle();

        if (isArticleModeIconActive && action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openIndex.key) {
          return !canEnableReadMode;
        }

        if (this.layoutFlexManager.isThumbnail() && action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openThumbnail.key) {
          return true;
        }

        if (this.layoutFlexManager.isSearch() && action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openSearch.key) {
          return true;
        }

        if (action === _$$_REQUIRE(_dependencyMap[38]).ACTIONS.fitPageToggle.key && fitPageHorizontally) {
          return true;
        }

        return false;
      }
    }, {
      key: "_getCurrentNewspaper",
      value: function _getCurrentNewspaper() {
        var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;
        var currentNewspaperManager = props.currentNewspaperManager;

        if (currentNewspaperManager) {
          return currentNewspaperManager.getCurrentNewspaper();
        }

        return null;
      }
    }, {
      key: "_getCurrentEdition",
      value: function _getCurrentEdition() {
        var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;

        var currentNewspaper = this._getCurrentNewspaper(props);

        if (currentNewspaper) {
          return currentNewspaper.getEditionModel();
        }

        return null;
      }
    }, {
      key: "_getSelectedPage",
      value: function _getSelectedPage() {
        var currentEdition = this._getCurrentEdition();

        if (currentEdition) {
          return currentEdition.getPages()[0];
        }

        return null;
      }
    }, {
      key: "_getNumberOfPagesByOrientation",
      value: function _getNumberOfPagesByOrientation() {
        var result = 1;
        var isLandscape = this.isLandscape();
        var isTextModeOpen = this.isTextModeOpen();

        if (!this.isTablet && isLandscape && !isTextModeOpen) {
          result = 2;
        } else if (this.isTablet) {
          if (!isLandscape && isTextModeOpen) {
            result = 2;
          } else if (isLandscape && !isTextModeOpen) {
            result = 2;
          }
        }

        return result;
      }
    }, {
      key: "_getNumberOfPagesToShow",
      value: function _getNumberOfPagesToShow() {
        var result = 1;
        var tempFitPageHorizontally = this.state.tempFitPageHorizontally;

        if (!tempFitPageHorizontally) {
          result = this._getNumberOfPagesByOrientation();
        }

        return result;
      }
    }, {
      key: "_isSpecialSection",
      value: function _isSpecialSection() {
        var currentNewspaperManager = this.props.currentNewspaperManager;
        return currentNewspaperManager ? currentNewspaperManager.isCurrentNewspaperASpecialSection() : false;
      }
    }, {
      key: "_isArticleFullscreen",
      value: function _isArticleFullscreen() {
        var isLandscape = this.isLandscape();

        var _global$getNewsmemory6 = global.getNewsmemoryConfig(),
            articleFullscreen = _global$getNewsmemory6.articleFullscreen,
            showTypesArticle = _global$getNewsmemory6.showTypesArticle;

        var _global$getActivePSet9 = global.getActivePSetup(),
            articleModeDefaultFullscreenPortrait = _global$getActivePSet9.articleModeDefaultFullscreenPortrait,
            defaultShowTypesArticle = _global$getActivePSet9.showTypesArticle;

        if (isLandscape) {
          return articleFullscreen.landscape;
        }

        var isDefaultPortraitFullscreen = articleModeDefaultFullscreenPortrait === "1";
        var isUserSettingsPortraitFullscreen = articleFullscreen.portrait;
        var userChangeSettings = isDefaultPortraitFullscreen !== isUserSettingsPortraitFullscreen;

        if (userChangeSettings) {
          return isUserSettingsPortraitFullscreen;
        }

        if (showTypesArticle === defaultShowTypesArticle) {
          return isDefaultPortraitFullscreen;
        }

        if (_$$_REQUIRE(_dependencyMap[36]).PlatformUtils.isAndroid() && !_$$_REQUIRE(_dependencyMap[36]).PlatformUtils.isTabletTenInches()) {
          return true;
        }

        if (showTypesArticle > _$$_REQUIRE(_dependencyMap[44]).SHOW_TYPES_ARTICLE.TEXT_AND_GRAPH) {
          return true;
        }

        return false;
      }
    }, {
      key: "_isArticleInRange",
      value: function _isArticleInRange(article) {
        if (article && this.midPagesRendered) {
          if (this.midPagesRendered.includes(article.getPageId())) {
            return true;
          }
        }

        return false;
      }
    }, {
      key: "_onPageRangeChange",
      value: function _onPageRangeChange(midPages) {
        this.midPagesRendered = midPages;

        if (!this._isArticleInRange(this.currentArticle)) {
          this.resetCurrentArticle();

          _$$_REQUIRE(_dependencyMap[37]).EventRegister.emit(_events.default.NEWSMEMORY_REMOVE_HIGHLIGHT);
        }
      }
    }, {
      key: "_onPagesLoaded",
      value: function _onPagesLoaded() {
        _$$_REQUIRE(_dependencyMap[37]).EventRegister.emit(_events.default.NEWSMEMORY_FOOTER_BUTTON_HIDE_STARTUP);

        if (this.backgroundRef) {
          this.backgroundRef.hide();
        }
      }
    }, {
      key: "_onPagesUnmounted",
      value: function _onPagesUnmounted() {
        if (this.backgroundRef) {
          this.backgroundRef.show();
        }
      }
    }, {
      key: "_onPageChange",
      value: function _onPageChange(currentPageId, isZoomed) {
        var currentNewspaperManager = this.props.currentNewspaperManager;
        this.currentPageId = currentPageId;
        global.getNewsmemoryConfig().setLastOperationTimestamp();

        if (currentNewspaperManager) {
          currentNewspaperManager.setCurrentPage(this.currentPageId);

          var currentPage = this._getCurrentPage();

          var _global$getActivePSet10 = global.getActivePSetup(),
              previewHighlightEnabled = _global$getActivePSet10.previewHighlightEnabled;

          if (previewHighlightEnabled) {
            _$$_REQUIRE(_dependencyMap[37]).EventRegister.emit(_events.default.NEWSMEMORY_SHOW_EXTRA, {
              page: currentPage
            });
          }

          var edition = this._getCurrentEdition();

          if (edition && currentPage) {
            (0, _$$_REQUIRE(_dependencyMap[39]).sendNewsmemoryScroll)(edition, currentPage, isZoomed);
          }
        }
      }
    }, {
      key: "_onScaleChange",
      value: function _onScaleChange(isScaled, scale, isPinch) {
        if (isScaled) {
          _$$_REQUIRE(_dependencyMap[37]).EventRegister.emit(_events.default.NEWSMEMORY_REMOVE_HIGHLIGHT);

          var edition = this._getCurrentEdition();

          var page = this._getCurrentPage();

          if (edition && page) {
            (0, _$$_REQUIRE(_dependencyMap[39]).sendNewsmemoryZoom)(edition, page, scale);

            if (isPinch) {
              if (!this.lastScale || this.lastScale < scale) {
                (0, _$$_REQUIRE(_dependencyMap[39]).sendNewsmemoryPinchToZoomEvent)(edition, page, scale);
              }
            }
          }

          if (!_$$_REQUIRE(_dependencyMap[36]).NetworkUtils.isOnline() && !_$$_REQUIRE(_dependencyMap[36]).PlatformUtils.isTablet()) {
            var currentNewspaper = this._getCurrentNewspaper();

            if (currentNewspaper && !currentNewspaper.hasHighResolutionDownloaded()) {
              _$$_REQUIRE(_dependencyMap[37]).EventRegister.emit(_events.default.NEWSMEMORY_MISSING_HR_WARNING_SHOW);
            } else {
              _$$_REQUIRE(_dependencyMap[37]).EventRegister.emit(_events.default.NEWSMEMORY_MISSING_HR_WARNING_HIDE);
            }
          }
        } else if (!_$$_REQUIRE(_dependencyMap[36]).NetworkUtils.isOnline() && !_$$_REQUIRE(_dependencyMap[36]).PlatformUtils.isTablet()) {
          _$$_REQUIRE(_dependencyMap[37]).EventRegister.emit(_events.default.NEWSMEMORY_MISSING_HR_WARNING_HIDE);
        }

        this.lastScale = scale;
      }
    }, {
      key: "_onPanChange",
      value: function _onPanChange(isScaled, visibleAreas) {
        if (isScaled) {
          var edition = this._getCurrentEdition();

          var page = this._getCurrentPage();

          if (edition && page && (!this.lastScrollZoomedPage || this.lastScrollZoomedPage === page)) {
            (0, _$$_REQUIRE(_dependencyMap[39]).sendNewsmemoryScrollZoomedEvent)(edition, page, visibleAreas);
          }

          this.lastScrollZoomedPage = page;
        }
      }
    }, {
      key: "_openBrowseMode",
      value: function _openBrowseMode() {
        if (this._canEnableReadMode()) {
          if (this._shouldEnableReadMode()) {
            this._onItemPress({
              action: _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openRead.key
            }, {
              maintainFit: true
            });
          } else {
            this._onItemPress({
              action: _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openSwipe.key
            });
          }
        } else {
          this._onItemPress({
            action: _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openBrowse.key
          });
        }
      }
    }, {
      key: "_onIndexOpenSection",
      value: function _onIndexOpenSection(page) {
        if (!this._isArticleFullscreen()) {
          this.setCurrentPageId(page.getPageId());
        }
      }
    }, {
      key: "_onIndexOpenPage",
      value: function _onIndexOpenPage(page) {
        this.setCurrentPageId(page.getPageId());
        this.openBrowseMode();
      }
    }, {
      key: "_onIndexScrollToPage",
      value: function _onIndexScrollToPage(page) {
        if (page) {
          this.setCurrentPageId(page.getPageId());
        }

        if (this.layoutFlexManager.isArticleFullscreen) {
          this.openBrowseMode();
        }
      }
    }, {
      key: "_onIndexClose",
      value: function _onIndexClose() {
        this.openBrowseMode();
      }
    }, {
      key: "_onCloseAccessibility",
      value: function _onCloseAccessibility() {
        this._openAccessibility(false);
      }
    }, {
      key: "_onCloseCarMode",
      value: function _onCloseCarMode() {
        this._openCloseCarMode(false);
      }
    }, {
      key: "_onArticleClose",
      value: function _onArticleClose() {
        var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;
        var clickedPage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
        var currentNewspaperManager = this.props.currentNewspaperManager;

        if (currentNewspaperManager) {
          currentNewspaperManager.getStatus().resetLastArticleId();
        }

        this.event = event;

        if (clickedPage) {
          this._onPageChange(clickedPage.getPageId());
        }

        this.openBrowseMode();
      }
    }, {
      key: "_onLogoPress",
      value: function _onLogoPress(action) {
        this._onItemPress({
          action: action
        });
      }
    }, {
      key: "_onArticleOpenIndex",
      value: function _onArticleOpenIndex() {
        this._onItemPress({
          action: _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openIndexAlt.key
        });
      }
    }, {
      key: "_onArticleOpenSearch",
      value: function _onArticleOpenSearch(searchedTerm) {
        this.searchedTerm = searchedTerm;

        this._onItemPress({
          action: _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openSearch.key
        });
      }
    }, {
      key: "_onArticleClearSearch",
      value: function _onArticleClearSearch() {
        this.searchedTerm = undefined;
        this.clearingSearch = true;

        this._onItemPress({
          action: _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openArticle.key
        });
      }
    }, {
      key: "_onArticleToggleFullscreen",
      value: function _onArticleToggleFullscreen(fullscreen) {
        this.layoutFlexManager.setIsArticleFullscreen(fullscreen);
        global.getNewsmemoryConfig().setFullscreen(fullscreen, this.isLandscape());
        this.setState((0, _extends2.default)({}, this.layoutFlexManager.getStyles()));
      }
    }, {
      key: "_isAccessibilityModeEnabled",
      value: function _isAccessibilityModeEnabled() {
        return this.layoutFlexManager.accessibilityModeEnabled;
      }
    }, {
      key: "_isCardModeEnabled",
      value: function _isCardModeEnabled() {
        return this.layoutFlexManager.carModeEnabled;
      }
    }, {
      key: "_onIndexLevelChange",
      value: function _onIndexLevelChange(level) {
        if (this.indexLevel !== level) {
          this.indexLevel = level;

          var currentEdition = this._getCurrentEdition();

          if (currentEdition && !this._isIndexSecondLevel()) {
            (0, _$$_REQUIRE(_dependencyMap[39]).sendNewsmemoryIndex)(currentEdition);
          }

          if (!this.isTablet && this.footerLayoutRef) {
            var _global$getEpaperLayo2 = global.getEpaperLayoutConfig(),
                firstLevelIndexFooter = _global$getEpaperLayo2.firstLevelIndexFooter,
                secondLevelIndexFooter = _global$getEpaperLayo2.secondLevelIndexFooter;

            if (_$$_REQUIRE(_dependencyMap[36]).JSUtils.equals(firstLevelIndexFooter, secondLevelIndexFooter)) {
              this.footerLayoutRef.update();
            } else {
              this.forceUpdate();
            }
          }
        }
      }
    }, {
      key: "_onSearchPress",
      value: function _onSearchPress(keyword, clickedPosition, items) {
        this.searchedTerm = keyword;

        if (!this.isLite()) {
          var article = items[clickedPosition].article;

          this._setCurrentArticle(article);

          this.currentPageId = article.getPageId();

          this._onItemPress({
            action: _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openArticle.key
          });
        }
      }
    }, {
      key: "_onIndexOpenArticle",
      value: function _onIndexOpenArticle(article) {
        if (!this.isLite()) {
          if (this.searchedTerm) {
            this.searchedTerm = undefined;
            this.clearingSearch = true;
          }

          this.updateArticleInterface = true;

          this._setCurrentArticle(article);

          this._onItemPress({
            action: _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openArticle.key
          });
        }
      }
    }, {
      key: "_onArticlePress",
      value: function _onArticlePress(article, event, open) {
        var _this6 = this;

        this.clickArticleEvent = event;

        if (!this.isLite()) {
          var currentNewspaperStatus = this.getNewspaperStatus();

          if (currentNewspaperStatus) {
            currentNewspaperStatus.resetLastArticlePositionId();
          }

          if (this.searchedTerm) {
            this.searchedTerm = undefined;
            this.clearingSearch = true;
          }

          this.currentPageId = article.getPageId();
          var callback;

          if (open) {
            this._setCurrentArticle(article);

            callback = function callback() {
              _this6._onItemPress({
                action: _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openArticle.key
              });
            };
          }

          if (!this.highlightEnabled) {
            if (open) {
              this._onItemPress({
                action: _$$_REQUIRE(_dependencyMap[38]).ACTIONS.openArticle.key
              });
            }
          } else {
            _$$_REQUIRE(_dependencyMap[37]).EventRegister.emit(_events.default.NEWSMEMORY_ARTICLE_HIGHLIGHT, {
              article: article,
              toSelect: !open,
              callback: callback
            });
          }
        }
      }
    }, {
      key: "_openCurrentPageFirstArticle",
      value: function _openCurrentPageFirstArticle() {
        var currentPage = this._getCurrentPage();

        if (currentPage) {
          var firstArticle = currentPage.getArticles().find(function (article) {
            return article.isText();
          });

          if (!firstArticle) {
            firstArticle = currentPage.getArticles().find(function (article) {
              return !article.isLayout();
            });
          }

          this._onArticlePress(firstArticle, undefined, true);
        }
      }
    }, {
      key: "_onArticleSelected",
      value: function _onArticleSelected(article, mode) {
        var _this7 = this;

        if (!this.isLite()) {
          var alreadySelected = this.currentArticle && this.currentArticle.equals(article);

          this._setCurrentArticle(article);

          this.setCurrentPageId(article.getPageId());

          if ((!alreadySelected || this.updateArticleInterface) && this.layoutFlexManager.isBrowseVisible()) {
            _$$_REQUIRE(_dependencyMap[37]).EventRegister.emit(_events.default.NEWSMEMORY_ARTICLE_HIGHLIGHT, {
              article: article,
              toSelect: false
            });

            this.updateArticleInterface = false;
          }

          var edition = this._getCurrentEdition();

          var page = this._getCurrentPage();

          if (edition && page) {
            if (this.articleSelectedTimer) {
              clearTimeout(this.articleSelectedTimer);
            }

            this.articleSelectedTimer = setTimeout(function () {
              (0, _$$_REQUIRE(_dependencyMap[39]).sendNewsmemoryArticle)(edition, page, article, mode);
              _this7.articleSelectedTimer = undefined;
            }, _$$_REQUIRE(_dependencyMap[45]).ARTICLE_READ_ANALYTICS_COOL_DOWN);
          }
        }
      }
    }, {
      key: "_onPageLongPress",
      value: function _onPageLongPress(event) {
        if (_$$_REQUIRE(_dependencyMap[36]).PlatformUtils.isTablet() && this._isTextModeOpen() && !this._isArticleFullscreen()) {
          var article = this._getCurrentArticle();

          if (article) {
            _$$_REQUIRE(_dependencyMap[37]).EventRegister.emit(_events.default.NEWSMEMORY_ARTICLE_HIGHLIGHT, {
              article: article,
              toSelect: false
            });

            return true;
          }
        }

        return false;
      }
    }, {
      key: "_setCurrentArticle",
      value: function _setCurrentArticle(article) {
        this.currentArticle = article;
        var currentNewspaperManager = this.props.currentNewspaperManager;
        currentNewspaperManager.getStatus().setLastArticleId((0, _$$_REQUIRE(_dependencyMap[41]).getArticleId)(article));
      }
    }, {
      key: "_onThumbnailPress",
      value: function _onThumbnailPress(page) {
        this.currentPageId = page.getPageId();
        this.openBrowseMode();
      }
    }, {
      key: "_onThumbnailDownload",
      value: function _onThumbnailDownload(page, image) {
        var currentNewspaperManager;
        return _regenerator.default.async(function _onThumbnailDownload$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                currentNewspaperManager = this.props.currentNewspaperManager;

                if (!currentNewspaperManager) {
                  _context.next = 3;
                  break;
                }

                return _context.abrupt("return", currentNewspaperManager.downloadThumbnailImageOnQueue(page, image));

              case 3:
                return _context.abrupt("return", null);

              case 4:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_onSearchClose",
      value: function _onSearchClose() {
        this.openBrowseMode();
      }
    }, {
      key: "_getCurrentPage",
      value: function _getCurrentPage() {
        var _this8 = this;

        var edition = this._getCurrentEdition();

        if (edition) {
          var page = edition.getPages().find(function (item) {
            return item.getPageId() === _this8.currentPageId;
          });
          return page;
        }

        return null;
      }
    }, {
      key: "_onBackgroundRef",
      value: function _onBackgroundRef(ref) {
        this.backgroundRef = ref;
      }
    }, {
      key: "_getBgPages",
      value: function _getBgPages(newspaper, numberOfShowedPages) {
        if (_$$_REQUIRE(_dependencyMap[36]).PlatformUtils.isEInk()) {
          return null;
        }

        var _this$state2 = this.state,
            tempFitPageHorizontally = _this$state2.tempFitPageHorizontally,
            isLandscape = _this$state2.isLandscape;

        var safeArea = _deviceUtils.default.getSafeArea();

        var _global$getActivePSet11 = global.getActivePSetup(),
            fixButtonsBarToBottom = _global$getActivePSet11.fixButtonsBarToBottom;

        var size = this.layoutFlexManager.getBrowseSize();

        if (_$$_REQUIRE(_dependencyMap[36]).PlatformUtils.isIOS()) {
          var safeAreaBrowseSize = this.layoutFlexManager.getBrowseSize(safeArea);
          var footerSize;

          if (isLandscape && fixButtonsBarToBottom) {
            footerSize = this.layoutFlexManager.getFooterSize(safeArea, false);
          } else {
            footerSize = this.layoutFlexManager.getFooterSize(safeArea);
          }

          if (!tempFitPageHorizontally && (!isLandscape || isLandscape && fixButtonsBarToBottom) && footerSize.height > 0 && _$$_REQUIRE(_dependencyMap[36]).JSUtils.areEqualShallow(safeAreaBrowseSize, safeArea)) {
            size = safeAreaBrowseSize;
            size.height -= footerSize.height;
          }
        }

        size = this._getPagesAvailableSize(size, true);
        return _react.default.createElement(_backgroundPages.default, {
          ref: this.onBackgroundRef,
          currentPageId: this.getCurrentPageId(),
          newspaper: newspaper,
          numberOfShowedPages: numberOfShowedPages,
          fit: tempFitPageHorizontally,
          style: size,
          size: {
            width: size.width,
            height: size.height
          },
          isLandscape: isLandscape,
          getCurrentArticle: this.getCurrentArticle
        });
      }
    }, {
      key: "_isTextModeOpen",
      value: function _isTextModeOpen() {
        return this.layoutFlexManager.isArticle() || this.layoutFlexManager.isIndex();
      }
    }, {
      key: "_isReadModeEnabled",
      value: function _isReadModeEnabled() {
        return this.layoutFlexManager.isRead();
      }
    }, {
      key: "_getFirstPageFitVerticalWidth",
      value: function _getFirstPageFitVerticalWidth(layout) {
        var edition = this._getCurrentEdition();

        if (edition) {
          var firstPage = edition.getFirstPage();

          if (firstPage) {
            var pageRatio = firstPage.getFrameWidth() / firstPage.getFrameHeight();
            return layout.height * pageRatio;
          }
        }

        return undefined;
      }
    }, {
      key: "_onLayout",
      value: function _onLayout(_ref6) {
        var nativeEvent = _ref6.nativeEvent;

        if (this.layoutFlexManager.isChangingLayout(nativeEvent.layout)) {
          this.layoutFlexManager.setSize(nativeEvent.layout);

          var _global$getActivePSet12 = global.getActivePSetup(),
              enableDesktopArticleLayoutOnIPadProInLandscape = _global$getActivePSet12.enableDesktopArticleLayoutOnIPadProInLandscape;

          if (_$$_REQUIRE(_dependencyMap[36]).PlatformUtils.isiPadPro12dot9() && enableDesktopArticleLayoutOnIPadProInLandscape) {
            this.layoutFlexManager.setPageFitVerticalWidth(this._getFirstPageFitVerticalWidth(nativeEvent.layout));
          }

          this.layoutFlexManager.setChangingOrientation(false);
          this.forceUpdate();
        }
      }
    }, {
      key: "_onMainLayout",
      value: function _onMainLayout() {
        if (this.layoutFlexManager.isChangingFooterAbsolute()) {
          this.layoutFlexManager.setChangingFooterAbsolute(false);
          this.forceUpdate();
        }
      }
    }, {
      key: "_animateLayoutButtons",
      value: function _animateLayoutButtons() {
        var newsmemoryConfig = global.getNewsmemoryConfig();

        if (!newsmemoryConfig.pagesNavigationButtonsAnimated()) {
          return false;
        }

        if (this._canEnableReadMode()) {
          var readModeEnabled = newsmemoryConfig.readModeEnabled;
          return readModeEnabled;
        }

        return true;
      }
    }, {
      key: "_getPagesAvailableSize",
      value: function _getPagesAvailableSize(size) {
        var applyTop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
        var availableHeight = size.height;
        var top = 0;
        var bottomAd = global.getAdsConfig().getEpaperBottomAd();
        var topAd = global.getAdsConfig().getEpaperTopAd();

        if (topAd) {
          availableHeight -= topAd.getHeight();
          top = topAd.getHeight();
        }

        if (bottomAd) {
          availableHeight -= bottomAd.getHeight();
        }

        if (applyTop) {
          return {
            width: size.width,
            height: availableHeight,
            top: top
          };
        }

        return {
          width: size.width,
          height: availableHeight
        };
      }
    }, {
      key: "_getNewspaperStatus",
      value: function _getNewspaperStatus() {
        var currentNewspaperManager = this.props.currentNewspaperManager;

        if (currentNewspaperManager) {
          return currentNewspaperManager.getStatus();
        }

        return undefined;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$state3 = this.state,
            browseStyle = _this$state3.browseStyle,
            indexStyle = _this$state3.indexStyle,
            articleStyle = _this$state3.articleStyle,
            thumbnailStyle = _this$state3.thumbnailStyle,
            searchStyle = _this$state3.searchStyle,
            footerStyle = _this$state3.footerStyle,
            mainStyle = _this$state3.mainStyle,
            parentStyle = _this$state3.parentStyle,
            tempFitPageHorizontally = _this$state3.tempFitPageHorizontally,
            isLandscape = _this$state3.isLandscape;
        var currentNewspaperManager = this.props.currentNewspaperManager;

        var fullscreen = this._isArticleFullscreen();

        var _global$getActivePSet13 = global.getActivePSetup(),
            fixButtonsBarToBottom = _global$getActivePSet13.fixButtonsBarToBottom;

        var _global$getEpaperLayo3 = global.getEpaperLayoutConfig(),
            articleHeader = _global$getEpaperLayo3.articleHeader,
            articleFooter = _global$getEpaperLayo3.articleFooter,
            mainFooter = _global$getEpaperLayo3.mainFooter,
            firstLevelIndexHeader = _global$getEpaperLayo3.firstLevelIndexHeader,
            secondLevelIndexHeader = _global$getEpaperLayo3.secondLevelIndexHeader,
            firstLevelIndexFooter = _global$getEpaperLayo3.firstLevelIndexFooter,
            secondLevelIndexFooter = _global$getEpaperLayo3.secondLevelIndexFooter,
            navigationModel = _global$getEpaperLayo3.navigationModel;

        var bottomAd = global.getAdsConfig().getEpaperBottomAd();
        var topAd = global.getAdsConfig().getEpaperTopAd();
        var currentPageId = this.getCurrentPageId();

        var numberOfShowedPages = this._getNumberOfPagesToShow();

        var currentNewspaper = this._getCurrentNewspaper();

        var currentEdition = this._getCurrentEdition();

        var indexTitle = this._getIndexTitle();

        (0, _$$_REQUIRE(_dependencyMap[39]).trackNewsmemoryRoute)(this.layoutFlexManager.getLayout(), currentEdition);
        var key = "layoutmanager";

        if (this.layoutFlexManager.getSize()) {
          var _this$layoutFlexManag = this.layoutFlexManager.getSize(),
              width = _this$layoutFlexManag.width,
              height = _this$layoutFlexManag.height;

          key += "_" + width + "_" + height;
        }

        var textSize = this.layoutFlexManager.getArticleSize();

        if (this.layoutFlexManager.isIndex()) {
          textSize = this.layoutFlexManager.getIndexSize();

          if (currentEdition && !this._isIndexSecondLevel()) {
            (0, _$$_REQUIRE(_dependencyMap[39]).sendNewsmemoryIndex)(currentEdition);
          }
        } else if (this.layoutFlexManager.isThumbnail() && currentEdition) {
          (0, _$$_REQUIRE(_dependencyMap[39]).sendNewsmemoryThumbnails)(currentEdition);
        }

        var isTextModeOpen = this.isTextModeOpen();

        if (!isTextModeOpen) {
          var currentNewspaperStatus = this.getNewspaperStatus();

          if (currentNewspaperStatus) {
            currentNewspaperStatus.resetLastTTSIndex();
            currentNewspaperStatus.resetLastArticlePositionId();
          }

          var mgr = global.getAudio();

          if (mgr) {
            mgr.ttsDestroy();
          }
        }

        var footerModel = mainFooter;

        if (isTextModeOpen && !this.isTablet) {
          if (this.layoutFlexManager.isIndex()) {
            footerModel = this._isIndexSecondLevel() ? secondLevelIndexFooter : firstLevelIndexFooter;
          } else {
            footerModel = articleFooter;
          }
        }

        var initialEvent = !isTextModeOpen ? this.event || this.clickArticleEvent : undefined;
        var showPages = !this.layoutFlexManager.isChangingOrientation() && !this.layoutFlexManager.isChangingFooterAbsolute();
        var currentIssue;
        var hasSpecialSections = false;

        if (currentEdition) {
          hasSpecialSections = currentEdition.hasSpecialSections;
          currentIssue = currentEdition.getIssue();
        }

        var SpecialComponent = hasSpecialSections ? _react.default.createElement(_specialSectionComponent.default, {
          visible: true,
          newspaperManager: currentNewspaperManager,
          showSections: true
        }) : null;
        var footerAnimateProp = "bottom";

        if (isLandscape && !fixButtonsBarToBottom) {
          footerAnimateProp = "end";
        }

        var articleModeManagerSize;
        var pageShortcutEnabled = false;

        if (articleStyle) {
          articleModeManagerSize = this.layoutFlexManager.getArticleSize();
        } else if (indexStyle) {
          articleModeManagerSize = this.layoutFlexManager.getIndexSize();
        } else {
          articleModeManagerSize = {
            width: 0,
            height: 0
          };
          pageShortcutEnabled = true;
        }

        var customBrowseStyle = _$$_REQUIRE(_dependencyMap[46]).Css.getStyleByCssClasses(["newsmemory-pages-container"]);

        var customArticleStyle = _$$_REQUIRE(_dependencyMap[46]).Css.getStyleObjByCssClasses(["newsmemory-article-container", fullscreen ? "newsmemory-article-container-fullscreen" : "newsmemory-article-container-splitscreen"]);

        var cssArticleModeManagerSize = _$$_REQUIRE(_dependencyMap[36]).CssUtils.updateSizeByApplingStyle(articleModeManagerSize, customArticleStyle);

        var browseSize = this.layoutFlexManager.getBrowseSize();
        return _react.default.createElement(_reactNative.View, {
          style: [_layoutManager.default.parent, parentStyle],
          onLayout: this.onLayout
        }, _react.default.createElement(_reactNative.View, {
          key: key,
          onLayout: this.onMainLayout,
          style: [_layoutManager.default.parent, mainStyle]
        }, browseStyle ? _react.default.createElement(_reactNative.View, {
          style: [browseStyle, customBrowseStyle]
        }, showPages ? _react.default.createElement(_reactNative.View, {
          style: [_layoutManager.default.pagesManager, (0, _extends2.default)({}, browseSize)]
        }, global.getAdsConfig().getAdView(topAd, browseSize.width), _react.default.createElement(_pagesLayoutManager.default, (0, _extends2.default)({
          ref: this.onPageLayoutRef,
          highlightEnabled: this.highlightEnabled,
          animateButtons: this.animateLayoutButtons,
          bgColor: _$$_REQUIRE(_dependencyMap[47]).HEADER_BG_COLOR,
          isSpecialSection: this._isSpecialSection(),
          onUnFit: this.onUnFit,
          textColor: mainFooter.textColor,
          numberOfShowedPages: numberOfShowedPages,
          currentPageId: currentPageId,
          getCurrentArticle: this.getCurrentArticle,
          fitPageHorizontally: tempFitPageHorizontally,
          onArticlePress: this.onArticlePress,
          onPageChange: this.onPageChange,
          onPageRangeChange: this.onPageRangeChange,
          onPageLongPress: this.onPageLongPress,
          onScaleChange: this.onScaleChange,
          onPanChange: this.onPanChange,
          newspaper: currentNewspaper,
          onLoaded: this.onPagesLoaded,
          onUnmounted: this.onPagesUnmounted,
          isLandscape: isLandscape,
          isTextModeOpen: this.isTextModeOpen,
          isReadMode: this.isReadModeEnabled,
          articleClose: this.onArticleClose,
          initialEvent: initialEvent,
          size: this._getPagesAvailableSize(browseSize),
          textSize: textSize,
          isSingleTapToZoomEnabled: this.isSingleTapToZoomEnabled,
          navigationModel: navigationModel
        }, this.props, {
          shortcutEnabled: pageShortcutEnabled,
          shortcutPriority: 2
        })), global.getAdsConfig().getAdView(bottomAd, browseSize.width), !_$$_REQUIRE(_dependencyMap[36]).PlatformUtils.isTablet() ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[48]).ProgressBar, {
          startProgress: currentNewspaperManager && currentNewspaperManager.getDownloadProgress ? currentNewspaperManager.getDownloadProgress() : 0,
          style: {
            position: "absolute",
            bottom: 0,
            width: browseSize.width
          },
          cssClasses: ["newsmemory-phone-download-bar"]
        }) : null) : null, !initialEvent ? this._getBgPages(currentNewspaper, numberOfShowedPages) : null) : null, articleStyle || indexStyle ? _react.default.createElement(_reactNative.View, {
          style: [articleModeManagerSize, {
            backgroundColor: _$$_REQUIRE(_dependencyMap[36]).colors.white
          }, customArticleStyle]
        }, !this.layoutFlexManager.isChangingOrientation() ? _react.default.createElement(_articleModeManager.default, (0, _extends2.default)({
          indexMode: !!indexStyle,
          isLandscape: isLandscape,
          fullscreen: fullscreen,
          title: indexTitle,
          header: this.isTablet && (isLandscape || fullscreen),
          headerTopLine: !this.isTablet || !isLandscape,
          size: cssArticleModeManagerSize,
          model: articleHeader,
          firstLevelModel: firstLevelIndexHeader,
          secondLevelModel: secondLevelIndexHeader,
          newspaper: currentNewspaper,
          indexLevel: this.indexLevel,
          searchText: this.searchedTerm,
          SpecialComponent: SpecialComponent,
          getCurrentArticle: this.getCurrentArticle,
          getCurrentPage: this.getCurrentPage,
          downloadImageMethod: this.onThumbnailDownload,
          onLogoPress: this.onLogoPress,
          onToggleFullscreen: this.onArticleToggleFullscreen,
          onArticleRef: this.onArticleLayoutRef,
          onArticleOpenIndex: this.onArticleOpenIndex,
          onArticleOpenSearch: this.onArticleOpenSearch,
          onArticleClearSearch: this.onArticleClearSearch,
          onArticleSelected: this.onArticleSelected,
          onCloseAccessibility: this.onCloseAccessibility,
          onCloseCarMode: this.onCloseCarMode,
          onArticleClose: this.onArticleClose,
          onArticleLongPress: this.onPageLongPress,
          onIndexRef: this.onIndexLayoutRef,
          onIndexGoToPage: this.onIndexOpenPage,
          onIndexOpenSection: this.onIndexOpenSection,
          onIndexOpenArticle: this.onIndexOpenArticle,
          onIndexClose: this.onIndexClose,
          onIndexScrollToPage: this.onIndexScrollToPage,
          onIndexLevelChange: this.onIndexLevelChange,
          accessibilityEnabled: this._isAccessibilityModeEnabled(),
          carModeEnabled: this._isCardModeEnabled(),
          getNewspaperStatus: this.getNewspaperStatus
        }, this.props, {
          shortcutEnabled: true,
          shortcutPriority: 3
        })) : null) : null, thumbnailStyle ? _react.default.createElement(_reactNative.View, {
          style: thumbnailStyle
        }, !this.layoutFlexManager.isChangingOrientation() ? _react.default.createElement(_thumbnailComponent.default, (0, _extends2.default)({
          SpecialComponent: hasSpecialSections ? _react.default.createElement(_specialSectionComponent.default, {
            visible: true,
            newspaperManager: currentNewspaperManager,
            showSections: false
          }) : null,
          newspaper: currentNewspaper,
          downloadImageMethod: this.onThumbnailDownload,
          currentPageId: currentPageId,
          onItemClick: this.onThumbnailPress,
          size: this.layoutFlexManager.getThumbnailSize()
        }, this.props, {
          shortcutEnabled: true,
          shortcutPriority: 2
        })) : _react.default.createElement(_$$_REQUIRE(_dependencyMap[49]).ProgressCircle, null)) : null, searchStyle ? _react.default.createElement(_reactNative.View, {
          style: searchStyle
        }, _react.default.createElement(_searchComponent.default, (0, _extends2.default)({
          searchedTerm: this.searchedTerm,
          edition: currentEdition,
          onClose: this.onSearchClose,
          onItemClick: this.onSearchPress,
          issueText: indexTitle,
          model: articleHeader
        }, this.props, {
          shortcutEnabled: true,
          shortcutPriority: 10
        }))) : null), footerStyle ? _react.default.createElement(_reactNative.View, {
          style: footerStyle
        }, _react.default.createElement(_newsmemoryFooterBarComponent.default, (0, _extends2.default)({
          ref: this.onFooterLayoutRef,
          model: footerModel,
          hideText: !_$$_REQUIRE(_dependencyMap[36]).PlatformUtils.isTabletTenInches() || isLandscape && fixButtonsBarToBottom,
          animated: this.layoutFlexManager.isFooterAbsolute,
          onItemPress: this.onFooterItemPress,
          isItemActive: this.isFooterItemActive,
          isItemVisible: this.isFooterItemVisible,
          isItemPresent: this.isFooterItemPresent,
          issue: currentIssue,
          stylePropToAnimate: footerAnimateProp,
          style: {
            flexDirection: footerStyle.flexDirection
          },
          size: this.layoutFlexManager.getFooterConstraitSize()
        }, this.props, {
          shortcutEnabled: true,
          shortcutPriority: 50
        }))) : null);
      }
    }]);
    return NewsmemoryLayoutManager;
  }(_$$_REQUIRE(_dependencyMap[50]).Shortcut);

  exports.NewsmemoryLayoutManager = NewsmemoryLayoutManager;
  NewsmemoryLayoutManager.propTypes = (0, _extends2.default)({
    navigation: _propTypes.default.shape({
      navigate: _propTypes.default.func
    }),
    currentNewspaperManager: _propTypes.default.instanceOf(_NewspaperManager.default)
  }, _$$_REQUIRE(_dependencyMap[50]).Shortcut.propTypes);
  NewsmemoryLayoutManager.defaultProps = (0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[50]).Shortcut.defaultProps, {
    shortcutEnabled: true
  });
},2336,[5,80,6,7,8,15,90,12,14,16,17,201,28,460,458,2337,2344,2346,2354,638,640,644,1859,2381,714,429,2414,603,2320,2306,715,2415,587,2416,2422,2424,462,572,1725,1954,1873,2187,730,1849,717,1892,699,729,2425,1953,1911]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[13]);

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _NewspaperManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _hidingAnimationComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _sdkUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var MORE_ICON_SIZE = 30;

  var NewsMemoryFooterBar = function (_Shortcut) {
    (0, _inherits2.default)(NewsMemoryFooterBar, _Shortcut);

    var _super = _createSuper(NewsMemoryFooterBar);

    function NewsMemoryFooterBar(props) {
      var _this;

      (0, _classCallCheck2.default)(this, NewsMemoryFooterBar);
      _this = _super.call(this, props);
      _this.onItemPress = _this._onItemPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onButtonRef = _this._onButtonRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.prevButtonHighlight = _this._prevButtonHighlight.bind((0, _assertThisInitialized2.default)(_this));
      _this.nextButtonHighlight = _this._nextButtonHighlight.bind((0, _assertThisInitialized2.default)(_this));
      _this.removeButtonHighlight = _this._removeButtonHighlight.bind((0, _assertThisInitialized2.default)(_this));
      _this.buttonRefs = [];
      _this.currentButtonIndex = -1;

      var _global$getNewsmemory = global.getNewsmemoryConfig(),
          twoFingersTapToArticle = _global$getNewsmemory.twoFingersTapToArticle;

      _this.state = {
        twoFingersTapToArticle: twoFingersTapToArticle
      };
      return _this;
    }

    (0, _createClass2.default)(NewsMemoryFooterBar, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        (0, _get2.default)((0, _getPrototypeOf2.default)(NewsMemoryFooterBar.prototype), "componentDidMount", this).call(this);
        this.configChangeListener = _$$_REQUIRE(_dependencyMap[22]).EventRegister.on(_events.default.NEWSMEMORY_CONFIG_CHANGE, function () {
          var currentTwoFingersTapToArticle = _this2.state.twoFingersTapToArticle;
          var newsmemoryConfig = global.getNewsmemoryConfig();
          var twoFingersTapToArticle = newsmemoryConfig.twoFingersTapToArticle;

          if (twoFingersTapToArticle !== currentTwoFingersTapToArticle) {
            _this2.setState({
              twoFingersTapToArticle: twoFingersTapToArticle
            });
          }
        });
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(NewsMemoryFooterBar.prototype), "componentWillUnmount", this).call(this);

        _$$_REQUIRE(_dependencyMap[22]).EventRegister.rm(this.onNewsmemoryDidFocus);

        _$$_REQUIRE(_dependencyMap[22]).EventRegister.rm(this.configChangeListener);
      }
    }, {
      key: "update",
      value: function update() {
        this.forceUpdate();
      }
    }, {
      key: "_handleShortcut",
      value: function _handleShortcut() {
        var LEFT = _$$_REQUIRE(_dependencyMap[23]).KEY_GROUPS.LEFT,
            RIGHT = _$$_REQUIRE(_dependencyMap[23]).KEY_GROUPS.RIGHT,
            UP = _$$_REQUIRE(_dependencyMap[23]).KEY_GROUPS.UP,
            DOWN = _$$_REQUIRE(_dependencyMap[23]).KEY_GROUPS.DOWN,
            CLOSE = _$$_REQUIRE(_dependencyMap[23]).KEY_GROUPS.CLOSE;

        var buttonHighlighted = this.currentButtonIndex >= 0;
        var shortcuts = [{
          callback: this.removeButtonHighlight,
          keys: CLOSE,
          stopPropagation: buttonHighlighted
        }];
        var keys = ["TAB"];

        if (buttonHighlighted) {
          var _global$getActivePSet = global.getActivePSetup(),
              fixButtonsBarToBottom = _global$getActivePSet.fixButtonsBarToBottom;

          var prevKeys;
          var noopKeys;

          if (!_deviceUtils.default.isPortrait() && !fixButtonsBarToBottom) {
            keys.push.apply(keys, (0, _toConsumableArray2.default)(DOWN));
            prevKeys = UP;
            noopKeys = [].concat((0, _toConsumableArray2.default)(LEFT), (0, _toConsumableArray2.default)(RIGHT));
          } else {
            keys.push.apply(keys, (0, _toConsumableArray2.default)(RIGHT));
            prevKeys = LEFT;
            noopKeys = [].concat((0, _toConsumableArray2.default)(UP), (0, _toConsumableArray2.default)(DOWN));
          }

          shortcuts.push({
            callbackRepeat: this.prevButtonHighlight,
            keys: prevKeys,
            stopPropagation: true
          }, {
            callback: this.noop,
            keys: noopKeys,
            stopPropagation: true
          });
        }

        shortcuts.push({
          callbackRepeat: this.nextButtonHighlight,
          keys: keys,
          stopPropagation: true
        });
        return shortcuts;
      }
    }, {
      key: "_onRelabel",
      value: function _onRelabel(icon, disableHideText) {
        var hideText = this.props.hideText;

        var textStyle = _$$_REQUIRE(_dependencyMap[24]).Css.getStyleObjByCssClasses(["newsmemory-footer-text"]);

        var textDisplay = _$$_REQUIRE(_dependencyMap[25]).CssUtils.getAttributeFromStyle("display", textStyle, hideText ? "none" : "flex");

        if (textDisplay === "none" && !disableHideText) {
          return undefined;
        }

        var forceText = icon.isForceText();

        var _global$getActivePSet2 = global.getActivePSetup(),
            loginStatus = _global$getActivePSet2.loginStatus;

        var isLoggedIn = loginStatus.isLoggedIn();

        if (isLoggedIn) {
          var loggedInText = icon.getLoggedInText();

          if (forceText && loggedInText) {
            return loggedInText;
          }
        }

        var text = icon.getText();

        if (forceText && text) {
          return text;
        }

        var action = _$$_REQUIRE(_dependencyMap[26]).ACTIONS[icon.getAction()] || {};
        var pSetupRelabel = action.pSetupRelabel,
            defaultLabelKey = action.defaultLabelKey;

        var _global$getActivePSet3 = global.getActivePSetup(),
            relabel = _global$getActivePSet3.relabel;

        if (pSetupRelabel && relabel[pSetupRelabel]) {
          return relabel[pSetupRelabel];
        }

        if (defaultLabelKey) {
          return global.strings(defaultLabelKey);
        }

        return text;
      }
    }, {
      key: "_getMoreIcon",
      value: function _getMoreIcon(item, label) {
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
          classes: ["newsmemory-icon", "newsmemory-footer-more-icon", label ? "newsmemory-footer-more-icon-" + label : "", "newsmemory-footer-more-icon-" + item.getAction()]
        }, _react.default.createElement(_imageIconChooserComponent.default, {
          type: item.getLibrary(),
          name: item.getIcon(),
          size: MORE_ICON_SIZE,
          imageStyle: {
            width: MORE_ICON_SIZE,
            height: MORE_ICON_SIZE
          },
          source: item.getIcon(),
          resizeMode: "contain"
        }));
      }
    }, {
      key: "_displayMoreMenu",
      value: function _displayMoreMenu() {
        var _this3 = this;

        var _this$props = this.props,
            isItemVisible = _this$props.isItemVisible,
            footer = _this$props.model;

        var moreMenuStyle = _$$_REQUIRE(_dependencyMap[24]).Css.getStyleObjByCssClasses(["newsmemory-footer", "newsmemory-footer-more-menu"]);

        var textColor = _$$_REQUIRE(_dependencyMap[25]).CssUtils.getAttributeFromStyle("color", moreMenuStyle);

        var bgColor = _$$_REQUIRE(_dependencyMap[25]).CssUtils.getAttributeFromStyle("backgroundColor", moreMenuStyle);

        var textStyle = _$$_REQUIRE(_dependencyMap[24]).Css.getStyleObjByCssClasses(["newsmemory-footer-more-menu-text"]);

        var lineStyle = _$$_REQUIRE(_dependencyMap[24]).Css.getStyleObjByCssClasses(["newsmemory-footer-more-menu-item"]);

        _$$_REQUIRE(_dependencyMap[27]).MyBottomSheet.show({
          options: footer.more.filter(function (item) {
            return isItemVisible(item);
          }).map(function (item) {
            var label = _this3._onRelabel(item, true);

            return {
              title: label,
              icon: _this3._getMoreIcon(item, label),
              waitModalHide: item.action === _$$_REQUIRE(_dependencyMap[26]).ACTIONS.openOptionPageAccessibility.key || item.action === _$$_REQUIRE(_dependencyMap[26]).ACTIONS.openAccessibility.key,
              onPress: function onPress() {
                _this3.onItemPress(item);
              },
              textStyle: _$$_REQUIRE(_dependencyMap[24]).Css.getStyleObjByCssClasses(["newsmemory-footer-more-menu-text-" + _$$_REQUIRE(_dependencyMap[25]).StringUtils.getKeyFromText(label), "newsmemory-footer-more-menu-text-" + item.action]),
              containerStyle: _$$_REQUIRE(_dependencyMap[24]).Css.getStyleObjByCssClasses(["newsmemory-footer-more-menu-item-" + _$$_REQUIRE(_dependencyMap[25]).StringUtils.getKeyFromText(label), "newsmemory-footer-more-menu-item-" + item.action])
            };
          }),
          styleContainer: (0, _extends2.default)({
            backgroundColor: bgColor || footer.backgroundColor
          }, lineStyle),
          textStyle: (0, _extends2.default)({
            color: textColor || footer.textColor
          }, textStyle)
        });

        this.removeButtonHighlight();
      }
    }, {
      key: "_onItemPress",
      value: function _onItemPress(item) {
        var _this$props2 = this.props,
            navigation = _this$props2.navigation,
            onItemPress = _this$props2.onItemPress;

        switch (item.action) {
          case _$$_REQUIRE(_dependencyMap[26]).ACTIONS.openMore.key:
            this._displayMoreMenu();

            break;

          case _$$_REQUIRE(_dependencyMap[26]).ACTIONS.openLiveNews.key:
            if (global.TaAddonNeedsCloseButton()) {
              _sdkUtils.default.close();
            } else {
              _NavigationService.default.main.reset("RssNavigator");
            }

            break;

          case _$$_REQUIRE(_dependencyMap[26]).ACTIONS.openStore.key:
            _$$_REQUIRE(_dependencyMap[22]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
              tab: _$$_REQUIRE(_dependencyMap[28]).tabs.market
            });

            break;

          case _$$_REQUIRE(_dependencyMap[26]).ACTIONS.openOptionPageEditions.key:
            var _global$getActivePSet4 = global.getActivePSetup(),
                showNativeOptionsPage = _global$getActivePSet4.showNativeOptionsPage,
                showNativeOptionsPageFallbackUrl = _global$getActivePSet4.showNativeOptionsPageFallbackUrl;

            if (_$$_REQUIRE(_dependencyMap[25]).NetworkUtils.isOnline() || showNativeOptionsPage && !showNativeOptionsPageFallbackUrl) {
              _$$_REQUIRE(_dependencyMap[22]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                tab: _$$_REQUIRE(_dependencyMap[28]).tabs.home
              });
            } else {
              onItemPress(item);
            }

            break;

          case _$$_REQUIRE(_dependencyMap[26]).ACTIONS.downloadEdition.key:
            if (_$$_REQUIRE(_dependencyMap[25]).NetworkUtils.isOnline()) {
              var _global$getNewsmemory2 = global.getNewsmemoryConfig(),
                  showDownloadTip = _global$getNewsmemory2.showDownloadTip;

              if (showDownloadTip) {
                var buttons = [];
                buttons.push({
                  text: global.strings("btn_cancel")
                });
                buttons.push({
                  text: global.strings("btn_ok"),
                  onPress: function onPress() {
                    return _$$_REQUIRE(_dependencyMap[22]).EventRegister.emit(_events.default.NEWSMEMORY_DOWNLOAD_FULL_EDITION);
                  }
                });
                buttons.push({
                  text: global.strings("btn_ok") + " (" + global.strings("btn_do_not_show") + ")",
                  onPress: function onPress() {
                    global.getNewsmemoryConfig().dontShowAgainDownloadTip();

                    _$$_REQUIRE(_dependencyMap[22]).EventRegister.emit(_events.default.NEWSMEMORY_DOWNLOAD_FULL_EDITION);
                  }
                });

                _reactNative.Alert.alert(global.strings("offline_download_dialog"), global.strings("user_tip_download_title") + ": " + global.strings("user_tip_download"), buttons, {
                  cancelable: false
                });
              } else {
                _$$_REQUIRE(_dependencyMap[22]).EventRegister.emit(_events.default.NEWSMEMORY_DOWNLOAD_FULL_EDITION);
              }
            } else {
              var _buttons = [];

              _buttons.push({
                text: global.strings("btn_ok")
              });

              _reactNative.Alert.alert("", global.strings("offline_download_warning"), _buttons, {
                cancelable: false
              });
            }

            break;

          case _$$_REQUIRE(_dependencyMap[26]).ACTIONS.openSpecialSections.key:
            _$$_REQUIRE(_dependencyMap[22]).EventRegister.emit(_events.default.NEWSMEMORY_OPEN_SPECIAL_SECTION);

            break;

          case _$$_REQUIRE(_dependencyMap[26]).ACTIONS.openOptionPageContact.key:
            _$$_REQUIRE(_dependencyMap[22]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
              tab: _$$_REQUIRE(_dependencyMap[28]).tabs.contact
            });

            break;

          case _$$_REQUIRE(_dependencyMap[26]).ACTIONS.openOptionPageLogin.key:
            _$$_REQUIRE(_dependencyMap[22]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
              tab: _$$_REQUIRE(_dependencyMap[28]).tabs.account
            });

            break;

          case _$$_REQUIRE(_dependencyMap[26]).ACTIONS.openOptionPageSettings.key:
            if (global.getMainPSetup().showNativeSettingsScreen || !_$$_REQUIRE(_dependencyMap[25]).NetworkUtils.isOnline()) {
              navigation.navigate("GeneralSettingsScreen", {
                module: _$$_REQUIRE(_dependencyMap[29]).GeneralSettingsModules.EPAPER
              });
            } else {
              _$$_REQUIRE(_dependencyMap[22]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                tab: _$$_REQUIRE(_dependencyMap[28]).tabs.settings
              });
            }

            break;

          case _$$_REQUIRE(_dependencyMap[26]).ACTIONS.openOptionPageHelp.key:
            _$$_REQUIRE(_dependencyMap[22]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
              tab: _$$_REQUIRE(_dependencyMap[28]).tabs.help
            });

            break;

          case _$$_REQUIRE(_dependencyMap[26]).ACTIONS.openLink.key:
            if (item.actionValue) {
              navigation.navigate("WebScreen", {
                url: item.actionValue
              });
            }

            break;

          case _$$_REQUIRE(_dependencyMap[26]).ACTIONS.openAktuell.key:
            _$$_REQUIRE(_dependencyMap[22]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
              tab: _$$_REQUIRE(_dependencyMap[28]).tabs.generic,
              url: item.actionValue
            });

            break;

          case _$$_REQUIRE(_dependencyMap[26]).ACTIONS.openOptionPageArchive.key:
            var newsmemoryConfig = global.getNewsmemoryConfig();

            var _global$getActivePSet5 = global.getActivePSetup(),
                protectSite = _global$getActivePSet5.protectSite,
                loginStatus = _global$getActivePSet5.loginStatus;

            if (protectSite === 0 || loginStatus.isLoggedIn()) {
              _$$_REQUIRE(_dependencyMap[22]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                tab: _$$_REQUIRE(_dependencyMap[28]).tabs.archive,
                hidden: true,
                getParams: {
                  hideTabs: 1
                }
              });
            } else {
              newsmemoryConfig.setArchiveMode(true);

              _$$_REQUIRE(_dependencyMap[22]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
                tab: _$$_REQUIRE(_dependencyMap[28]).tabs.login,
                hidden: false,
                getParams: {
                  hideTabs: 1,
                  isRss: 1
                }
              });
            }

            break;

          case _$$_REQUIRE(_dependencyMap[26]).ACTIONS.openOptionPagePublications.key:
            _NavigationService.default.main.navigate("PublicationsPageScreen");

            break;

          default:
            onItemPress(item);
            this.forceUpdate();
        }
      }
    }, {
      key: "_onButtonRef",
      value: function _onButtonRef(ref, index) {
        this.buttonRefs[index] = ref;
      }
    }, {
      key: "_getVisibleButtonRefs",
      value: function _getVisibleButtonRefs() {
        return Object.values(this.buttonRefs).filter(function (buttonRef) {
          return buttonRef && buttonRef.isVisible();
        });
      }
    }, {
      key: "_prevButtonHighlight",
      value: function _prevButtonHighlight() {
        var buttonsArray;
        return _regenerator.default.async(function _prevButtonHighlight$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                buttonsArray = this._getVisibleButtonRefs();

                if (!(buttonsArray.length > 0)) {
                  _context.next = 7;
                  break;
                }

                if (this.currentButtonIndex >= 0 && buttonsArray[this.currentButtonIndex]) {
                  buttonsArray[this.currentButtonIndex].highlight(false);
                }

                this.currentButtonIndex -= 1;

                if (this.currentButtonIndex < 0) {
                  this.currentButtonIndex = buttonsArray.length - 1;
                }

                if (!buttonsArray[this.currentButtonIndex]) {
                  _context.next = 7;
                  break;
                }

                return _context.abrupt("return", buttonsArray[this.currentButtonIndex].highlight(true));

              case 7:
                return _context.abrupt("return", Promise.reject());

              case 8:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_nextButtonHighlight",
      value: function _nextButtonHighlight() {
        var buttonsArray;
        return _regenerator.default.async(function _nextButtonHighlight$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                buttonsArray = this._getVisibleButtonRefs();

                if (!(buttonsArray.length > 0)) {
                  _context2.next = 7;
                  break;
                }

                if (this.currentButtonIndex >= 0 && buttonsArray[this.currentButtonIndex]) {
                  buttonsArray[this.currentButtonIndex].highlight(false);
                }

                this.currentButtonIndex += 1;

                if (this.currentButtonIndex >= buttonsArray.length) {
                  this.currentButtonIndex = 0;
                }

                if (!buttonsArray[this.currentButtonIndex]) {
                  _context2.next = 7;
                  break;
                }

                return _context2.abrupt("return", buttonsArray[this.currentButtonIndex].highlight(true));

              case 7:
                return _context2.abrupt("return", Promise.reject());

              case 8:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_removeButtonHighlight",
      value: function _removeButtonHighlight() {
        var buttonsArray = this._getVisibleButtonRefs();

        if (buttonsArray.length > 0) {
          if (this.currentButtonIndex >= 0 && buttonsArray[this.currentButtonIndex]) {
            buttonsArray[this.currentButtonIndex].highlight(false);
          }

          this.currentButtonIndex = -1;
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this4 = this;

        var _this$props3 = this.props,
            isItemActive = _this$props3.isItemActive,
            isItemVisible = _this$props3.isItemVisible,
            isItemPresent = _this$props3.isItemPresent,
            model = _this$props3.model,
            issue = _this$props3.issue,
            size = _this$props3.size,
            currentNewspaperManager = _this$props3.currentNewspaperManager,
            animated = _this$props3.animated,
            stylePropToAnimate = _this$props3.stylePropToAnimate,
            style = _this$props3.style,
            shortcutEnabled = _this$props3.shortcutEnabled,
            shortcutPriority = _this$props3.shortcutPriority;
        var m = model;

        var _global$getActivePSet6 = global.getActivePSetup(),
            dateFormat = _global$getActivePSet6.dateFormat;

        var dayText = issue ? _$$_REQUIRE(_dependencyMap[25]).DateUtils.getCalendarText(issue, dateFormat) : undefined;

        if (m && m.buttons) {
          return _react.default.createElement(_hidingAnimationComponent.default, {
            tag: "FOOTER",
            stylePropToAnimate: stylePropToAnimate,
            style: {
              flex: 1
            },
            enabled: animated,
            duration: 500,
            autoHide: false,
            autoHideOnLoad: false,
            animateShow: true,
            animateHide: true,
            eventToHide: _events.default.NEWSMEMORY_FOOTER_BUTTON_HIDE,
            eventToHideAfter: _events.default.NEWSMEMORY_FOOTER_BUTTON_HIDE_STARTUP,
            eventToToggle: _events.default.NEWSMEMORY_FOOTER_TOGGLE_VISIBILITY
          }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[30]).TecnaviaFooter, {
            style: {
              flex: 1
            }
          }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
            classes: ["newsmemory-footer"]
          }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[30]).TecnaviaFooterTab, {
            style: [{
              backgroundColor: m.backgroundColor,
              flexDirection: "row",
              flex: 1
            }, style]
          }, m.buttons.map(function (button, index) {
            if (!isItemPresent(button)) {
              return null;
            }

            var active = isItemActive(button);
            var visible = isItemVisible(button);
            var key = button.action + "_" + index;
            var ButtonComponent = null;

            if (visible) {
              var action = button.getAction();

              if (action) {
                var buttonProps = {
                  ref: function ref(_ref) {
                    _this4.onButtonRef(_ref, index);
                  },
                  item: button,
                  text: _this4._onRelabel(button),
                  accessibilityLabel: _this4._onRelabel(button, true),
                  foregroundColor: m.textColor,
                  onItemClick: _this4.onItemPress,
                  maxSize: size,
                  parentStyle: {
                    flexDirection: style.flexDirection
                  },
                  shortcutEnabled: shortcutEnabled,
                  shortcutPriority: shortcutPriority + 1
                };

                if (action === _$$_REQUIRE(_dependencyMap[26]).ACTIONS.downloadEdition.key) {
                  ButtonComponent = _react.default.createElement(_$$_REQUIRE(_dependencyMap[31]).NewsMemoryDownloadIcon, (0, _extends2.default)({
                    startProgress: currentNewspaperManager && currentNewspaperManager.getDownloadProgress ? currentNewspaperManager.getDownloadProgress() : 0
                  }, buttonProps));
                } else if (action === _$$_REQUIRE(_dependencyMap[26]).ACTIONS.openOptionPageEditions.key) {
                  ButtonComponent = _react.default.createElement(_$$_REQUIRE(_dependencyMap[32]).NewsMemoryFooterIcon, (0, _extends2.default)({}, buttonProps, {
                    iconText: button.supportInnerText() ? dayText : undefined
                  }));
                } else if (_$$_REQUIRE(_dependencyMap[26]).ACTIONS[action] && _$$_REQUIRE(_dependencyMap[26]).ACTIONS[action].type === _$$_REQUIRE(_dependencyMap[26]).ACTIONS_TYPE.link) {
                  ButtonComponent = _react.default.createElement(_$$_REQUIRE(_dependencyMap[32]).NewsMemoryFooterIcon, buttonProps);
                } else {
                  if (active) {
                    buttonProps.backgroundColor = m.textColor;
                    buttonProps.foregroundColor = m.backgroundColor;
                  }

                  ButtonComponent = _react.default.createElement(_$$_REQUIRE(_dependencyMap[32]).NewsMemoryFooterIcon, (0, _extends2.default)({
                    active: active
                  }, buttonProps));
                }
              }
            }

            return _react.default.createElement(_reactNative.View, {
              key: key,
              style: {
                flex: 1
              }
            }, ButtonComponent);
          })))));
        }

        return null;
      }
    }]);
    return NewsMemoryFooterBar;
  }(_$$_REQUIRE(_dependencyMap[33]).Shortcut);

  exports.default = NewsMemoryFooterBar;
  NewsMemoryFooterBar.propTypes = (0, _extends2.default)({
    model: _propTypes.default.instanceOf(_$$_REQUIRE(_dependencyMap[34]).Footer),
    navigation: _propTypes.default.shape({
      navigate: _propTypes.default.func
    }),
    currentNewspaperManager: _propTypes.default.instanceOf(_NewspaperManager.default),
    stylePropToAnimate: _propTypes.default.string,
    size: _propTypes.default.number,
    animated: _propTypes.default.bool,
    hideText: _propTypes.default.bool,
    issue: _propTypes.default.string,
    onItemPress: _propTypes.default.func.isRequired,
    isItemActive: _propTypes.default.func,
    isItemVisible: _propTypes.default.func,
    isItemPresent: _propTypes.default.func,
    style: _propTypes.default.any
  }, _$$_REQUIRE(_dependencyMap[33]).Shortcut.propTypes);
},2337,[5,80,6,21,7,8,15,90,12,14,16,17,201,28,458,1861,460,1859,2306,2338,1970,1874,572,1873,699,462,1725,1905,730,2232,2090,2339,2343,1911,1846]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var DEFAULT_CONSTRAINT = -50;

  var HidingAnimationView = function (_React$Component) {
    (0, _inherits2.default)(HidingAnimationView, _React$Component);

    var _super = _createSuper(HidingAnimationView);

    function HidingAnimationView(props) {
      var _this;

      (0, _classCallCheck2.default)(this, HidingAnimationView);
      _this = _super.call(this, props);
      _this.direction = _this._getDirection(props);
      _this.hidingMaxValue = DEFAULT_CONSTRAINT;
      _this.constraint = new _reactNative.Animated.Value(0);
      _this.startShow = _this._startShow.bind((0, _assertThisInitialized2.default)(_this));
      _this.show = _this._show.bind((0, _assertThisInitialized2.default)(_this));
      _this.startHide = _this._startHide.bind((0, _assertThisInitialized2.default)(_this));
      _this.hide = _this._hide.bind((0, _assertThisInitialized2.default)(_this));
      _this.hideAfter = _this._hideAfter.bind((0, _assertThisInitialized2.default)(_this));
      _this.toggle = _this._toggle.bind((0, _assertThisInitialized2.default)(_this));
      _this.toggleEnable = _this._toggleEnable.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLayout = _this._onLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        enabled: props.enabled
      };
      _this.isVisible = true;
      return _this;
    }

    (0, _createClass2.default)(HidingAnimationView, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this$props = this.props,
            autoHideOnLoad = _this$props.autoHideOnLoad,
            eventToHide = _this$props.eventToHide,
            eventToHideAfter = _this$props.eventToHideAfter,
            eventToShow = _this$props.eventToShow,
            eventToggleEnable = _this$props.eventToggleEnable,
            eventToToggle = _this$props.eventToToggle;

        if (eventToShow) {
          this.onShowListener = _$$_REQUIRE(_dependencyMap[12]).EventRegister.on(eventToShow, this.show);
        }

        if (eventToggleEnable) {
          this.onToggleEnableListener = _$$_REQUIRE(_dependencyMap[12]).EventRegister.on(eventToggleEnable, this.toggleEnable);
        }

        if (eventToToggle) {
          this.onToggleListener = _$$_REQUIRE(_dependencyMap[12]).EventRegister.on(eventToToggle, this.toggle);
        }

        if (eventToHide) {
          this.onHideListener = _$$_REQUIRE(_dependencyMap[12]).EventRegister.on(eventToHide, this.hide);
        }

        if (eventToHideAfter) {
          this.onHideAfterListener = _$$_REQUIRE(_dependencyMap[12]).EventRegister.on(eventToHideAfter, this.hideAfter);
        }

        if (autoHideOnLoad) {
          this.hide();
        }
      }
    }, {
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(props) {
        this.direction = this._getDirection(props);
        var enabled = this.state.enabled;

        if (enabled !== props.enabled) {
          this.setState({
            enabled: props.enabled
          });
        }
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate() {
        var autoHideOnLoad = this.props.autoHideOnLoad;
        var enabled = this.state.enabled;
        this.constraint.setValue(0);

        if (enabled && autoHideOnLoad) {
          this.hide();
        } else {
          if (this.hideAnimationTimeoutId) {
            clearTimeout(this.hideAnimationTimeoutId);
          }
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[12]).EventRegister.rm(this.onShowListener);

        _$$_REQUIRE(_dependencyMap[12]).EventRegister.rm(this.onToggleEnableListener);

        _$$_REQUIRE(_dependencyMap[12]).EventRegister.rm(this.onToggleListener);

        _$$_REQUIRE(_dependencyMap[12]).EventRegister.rm(this.onHideListener);

        _$$_REQUIRE(_dependencyMap[12]).EventRegister.rm(this.onHideAfterListener);
      }
    }, {
      key: "_getDirection",
      value: function _getDirection(props) {
        if (["start", "end", "left", "right"].includes(props.stylePropToAnimate)) {
          return "horizontal";
        }

        return "vertical";
      }
    }, {
      key: "_isHorizontal",
      value: function _isHorizontal() {
        return this.direction === "horizontal";
      }
    }, {
      key: "_onLayout",
      value: function _onLayout(event) {
        var nativeEvent = event.nativeEvent;

        if (this._isHorizontal()) {
          this.hidingMaxValue = -nativeEvent.layout.width;
        } else {
          this.hidingMaxValue = -nativeEvent.layout.height;
        }

        var onLayout = this.props.onLayout;

        if (typeof onLayout === "function") {
          onLayout(event);
        }
      }
    }, {
      key: "_toggle",
      value: function _toggle() {
        this._log("is visible: " + this.isVisible);

        if (this.isVisible) {
          this.hide();
        } else {
          this.show();
        }
      }
    }, {
      key: "_toggleEnable",
      value: function _toggleEnable(_ref) {
        var nextEnabled = _ref.enabled;
        var enabled = this.state.enabled;

        if (enabled !== nextEnabled) {
          this.setState({
            enabled: nextEnabled
          });
        }
      }
    }, {
      key: "_show",
      value: function _show() {
        var _this2 = this;

        var enabled = this.state.enabled;
        var autoHide = this.props.autoHide;

        if (enabled) {
          this.startShow(function () {
            if (autoHide) {
              _this2.hide();
            }
          });
        }
      }
    }, {
      key: "_hideAfter",
      value: function _hideAfter() {
        var _this3 = this;

        var hideAfter = this.props.hideAfter;

        if (this.hideAnimationTimeoutId) {
          clearTimeout(this.hideAnimationTimeoutId);
        }

        this.hideAnimationTimeoutId = setTimeout(function () {
          _this3.hideAnimationTimeoutId = undefined;

          _this3.startHide();
        }, hideAfter);
      }
    }, {
      key: "_hide",
      value: function _hide() {
        var enabled = this.state.enabled;
        var _this$props2 = this.props,
            autoHide = _this$props2.autoHide,
            autoHideOnLoad = _this$props2.autoHideOnLoad;

        if (enabled) {
          if (!autoHideOnLoad || !this.animationHide && !this.hideAnimationTimeoutId) {
            if (autoHide) {
              this.hideAfter();
            } else {
              this.startHide();
            }
          }
        }
      }
    }, {
      key: "_startShow",
      value: function _startShow(onFinish) {
        var _this4 = this;

        var _this$props3 = this.props,
            animateShow = _this$props3.animateShow,
            duration = _this$props3.duration;

        if (animateShow) {
          if (this.animationHide) {
            this.animationHide.stop();
          }

          this.animationShow = _reactNative.Animated.timing(this.constraint, {
            toValue: 0,
            useNativeDriver: false,
            duration: duration
          });
          this.animationShow.start(function (_ref2) {
            var finished = _ref2.finished;
            _this4.animationShow = undefined;

            if (finished) {
              if (typeof onFinish === "function") {
                onFinish();
              }

              _this4.isVisible = true;
            }
          });
        } else {
          this.isVisible = true;
          this.constraint.setValue(0);

          if (typeof onFinish === "function") {
            onFinish();
          }
        }
      }
    }, {
      key: "_startHide",
      value: function _startHide() {
        var _this5 = this;

        var _this$props4 = this.props,
            animateHide = _this$props4.animateHide,
            duration = _this$props4.duration;

        if (animateHide) {
          if (this.animationShow) {
            this.animationShow.stop();
          }

          this.animationHide = _reactNative.Animated.timing(this.constraint, {
            toValue: this.hidingMaxValue,
            useNativeDriver: false,
            duration: duration
          });
          this.animationHide.start(function (_ref3) {
            var finished = _ref3.finished;
            _this5.animationHide = undefined;

            if (finished) {
              _this5.isVisible = false;
            }
          });
        } else {
          this.isVisible = false;
          this.constraint.setValue(this.hidingMaxValue);
        }
      }
    }, {
      key: "_log",
      value: function _log(message) {
        var tag = this.props.tag;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props5 = this.props,
            style = _this$props5.style,
            stylePropToAnimate = _this$props5.stylePropToAnimate,
            rest = (0, _objectWithoutProperties2.default)(_this$props5, ["style", "stylePropToAnimate"]);
        var enabled = this.state.enabled;
        var Component = enabled ? _reactNative.Animated.View : _reactNative.View;
        var animatedStyle = {};

        if (enabled && stylePropToAnimate) {
          animatedStyle[stylePropToAnimate] = this.constraint;
        }

        return _react.default.createElement(Component, (0, _extends2.default)({
          onLayout: this.onLayout,
          style: [style, animatedStyle]
        }, rest));
      }
    }]);
    return HidingAnimationView;
  }(_react.default.Component);

  exports.default = HidingAnimationView;
  HidingAnimationView.propTypes = {
    tag: _propTypes.default.string,
    enabled: _propTypes.default.bool,
    animateHide: _propTypes.default.bool,
    animateShow: _propTypes.default.bool,
    autoHideOnLoad: _propTypes.default.bool,
    autoHide: _propTypes.default.bool,
    duration: _propTypes.default.number,
    hideAfter: _propTypes.default.number,
    eventToHide: _propTypes.default.string,
    eventToHideAfter: _propTypes.default.string,
    eventToShow: _propTypes.default.string,
    eventToToggle: _propTypes.default.string,
    eventToggleEnable: _propTypes.default.string,
    style: _propTypes.default.any,
    onLayout: _propTypes.default.func,
    stylePropToAnimate: _propTypes.default.string.isRequired
  };
  HidingAnimationView.defaultProps = {
    tag: "generic",
    enabled: true,
    autoHideOnLoad: true,
    autoHide: true,
    animateHide: true,
    animateShow: false,
    duration: _$$_REQUIRE(_dependencyMap[13]).HIDE_ANIMATION_DURATION,
    hideAfter: _$$_REQUIRE(_dependencyMap[13]).HIDE_ANIMATION_TIMER
  };
},2338,[5,6,108,7,8,15,12,14,16,17,201,28,572,729]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.NewsMemoryDownloadIcon = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _newsmemoryIcon = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var DOWNLOAD_SPINNER_SIZE = 35;

  var NewsMemoryDownloadIcon = function (_NewsMemoryFooterIcon) {
    (0, _inherits2.default)(NewsMemoryDownloadIcon, _NewsMemoryFooterIcon);

    var _super = _createSuper(NewsMemoryDownloadIcon);

    function NewsMemoryDownloadIcon(props) {
      (0, _classCallCheck2.default)(this, NewsMemoryDownloadIcon);
      return _super.call(this, props, {
        downloading: props.startProgress > 0 && props.startProgress < 1,
        startProgress: props.startProgress,
        error: false
      });
    }

    (0, _createClass2.default)(NewsMemoryDownloadIcon, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this = this;

        (0, _get2.default)((0, _getPrototypeOf2.default)(NewsMemoryDownloadIcon.prototype), "componentDidMount", this).call(this);
        this.downloadStartedId = _$$_REQUIRE(_dependencyMap[11]).EventRegister.on(_events.default.NEWSMEMORY_INITIAL_DOWNLOAD_STARTED, function (_ref) {
          var startProgress = _ref.startProgress;

          _this.setState({
            downloading: true,
            visible: true,
            startProgress: startProgress,
            error: false
          });
        });
        this.downloadFinishedId = _$$_REQUIRE(_dependencyMap[11]).EventRegister.on(_events.default.NEWSMEMORY_INITIAL_DOWNLOAD_FINISHED, function (_ref2) {
          var status = _ref2.status;

          _this.setState({
            downloading: false,
            visible: status < _$$_REQUIRE(_dependencyMap[12]).DBStatus.HIGH_RES_DOWNLOADED,
            error: false
          });
        });
        this.downloadProgressId = _$$_REQUIRE(_dependencyMap[11]).EventRegister.on(_events.default.NEWSMEMORY_DOWNLOAD_PROGRESS, function (_ref3) {
          var progress = _ref3.progress;

          if (_this.progressCircleRef) {
            _this.progressCircleRef.updateProgress(progress);
          } else if (progress < 1) {
            _this.setState({
              downloading: true,
              visible: true,
              startProgress: progress,
              error: false
            });
          }
        });
        this.downloadFullEditionId = _$$_REQUIRE(_dependencyMap[11]).EventRegister.on(_events.default.NEWSMEMORY_DOWNLOAD_FULL_EDITION, function () {
          _this.setState({
            downloading: true,
            startProgress: 0,
            error: false
          });
        });
        this.downloadFullStartedId = _$$_REQUIRE(_dependencyMap[11]).EventRegister.on(_events.default.NEWSMEMORY_FULL_DOWNLOAD_STARTED, function () {});
        this.downloadFullFinishedId = _$$_REQUIRE(_dependencyMap[11]).EventRegister.on(_events.default.NEWSMEMORY_FULL_DOWNLOAD_FINISHED, function () {
          _this.setState({
            downloading: false,
            visible: false,
            error: false
          });
        });
        this.downloadFinishedId = _$$_REQUIRE(_dependencyMap[11]).EventRegister.on(_events.default.NEWSMEMORY_NEWSPAPER_LOADED, function (_ref4) {
          var status = _ref4.status;

          _this.setState({
            downloading: false,
            visible: status < _$$_REQUIRE(_dependencyMap[12]).DBStatus.HIGH_RES_DOWNLOADED,
            error: false
          });
        });
        this.onConnectivityChangeId = _$$_REQUIRE(_dependencyMap[11]).EventRegister.on(_events.default.ON_CONNECTIVITY_CHANGE, function () {
          _this.forceUpdate();
        });
        this.onHrDownloadErrorId = _$$_REQUIRE(_dependencyMap[11]).EventRegister.on(_events.default.NEWSMEMORY_HR_DOWNLOAD_ERROR, function () {
          var _this$state = _this.state,
              error = _this$state.error,
              downloading = _this$state.downloading;

          if (!error && !downloading) {
            _this.setState({
              error: true
            });
          }
        });
        this.onHrDownloadSuccessId = _$$_REQUIRE(_dependencyMap[11]).EventRegister.on(_events.default.NEWSMEMORY_HR_DOWNLOAD_SUCCESS, function () {
          var error = _this.state.error;

          if (error) {
            _this.setState({
              error: false
            });
          }
        });
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(NewsMemoryDownloadIcon.prototype), "componentWillUnmount", this).call(this);

        _$$_REQUIRE(_dependencyMap[11]).EventRegister.rm(this.downloadStartedId);

        _$$_REQUIRE(_dependencyMap[11]).EventRegister.rm(this.downloadFinishedId);

        _$$_REQUIRE(_dependencyMap[11]).EventRegister.rm(this.downloadProgressId);

        _$$_REQUIRE(_dependencyMap[11]).EventRegister.rm(this.downloadFullEditionId);

        _$$_REQUIRE(_dependencyMap[11]).EventRegister.rm(this.downloadFullStartedId);

        _$$_REQUIRE(_dependencyMap[11]).EventRegister.rm(this.downloadFullFinishedId);

        _$$_REQUIRE(_dependencyMap[11]).EventRegister.rm(this.downloadFullProgressId);

        _$$_REQUIRE(_dependencyMap[11]).EventRegister.rm(this.onConnectivityChangeId);

        _$$_REQUIRE(_dependencyMap[11]).EventRegister.rm(this.onHrDownloadErrorId);

        _$$_REQUIRE(_dependencyMap[11]).EventRegister.rm(this.onHrDownloadSuccessId);
      }
    }, {
      key: "_onPress",
      value: function _onPress() {
        var _this$state2 = this.state,
            downloading = _this$state2.downloading,
            error = _this$state2.error;

        if (error) {
          _reactNative.Alert.alert(global.strings("err_download_edition"), global.strings("offline_download_warning"));
        } else if (!downloading) {
          (0, _get2.default)((0, _getPrototypeOf2.default)(NewsMemoryDownloadIcon.prototype), "_onPress", this).call(this);
        }
      }
    }, {
      key: "_getIcon",
      value: function _getIcon() {
        var _this2 = this;

        var _this$props = this.props,
            item = _this$props.item,
            text = _this$props.text;
        var foregroundColor = this.props.foregroundColor;
        var _this$state3 = this.state,
            downloading = _this$state3.downloading,
            startProgress = _this$state3.startProgress,
            error = _this$state3.error;
        var icon = item.icon;
        var library = item.isLibraryIcon() && icon ? item.getLibrary() : undefined;

        if (!_$$_REQUIRE(_dependencyMap[13]).NetworkUtils.isOnline() || error) {
          icon = _$$_REQUIRE(_dependencyMap[14]).ACTIONS.warning.icon;
          library = undefined;
          foregroundColor = error ? _$$_REQUIRE(_dependencyMap[13]).colors.md_red_600 : _$$_REQUIRE(_dependencyMap[13]).colors.md_orange_600;
        } else if (downloading) {
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).ProgressCircle, {
            ref: function ref(_ref5) {
              _this2.progressCircleRef = _ref5;
            },
            spinnerStyle: {
              justifyContent: "center",
              alignSelf: "center"
            },
            spinnerColor: foregroundColor,
            spinnerSize: DOWNLOAD_SPINNER_SIZE,
            spinnerTextStyle: _$$_REQUIRE(_dependencyMap[16]).styles.imageText,
            startProgress: startProgress,
            advanced: true,
            cssClasses: ["newsmemory-icon", "newsmemory-footer-icon", "newsmemory-footer-icon-downloadEdition", "newsmemory-footer-icon-downloadEdition-spinner"]
          });
        }

        return _react.default.createElement(_newsmemoryIcon.default, {
          center: text === undefined,
          cssIconClasses: ["newsmemory-icon", "newsmemory-footer-icon", "newsmemory-footer-icon-inactive", "newsmemory-footer-icon-downloadEdition", "newsmemory-footer-icon-downloadEdition-inactive"],
          icon: icon,
          library: library,
          foregroundColor: foregroundColor
        });
      }
    }], [{
      key: "getDerivedStateFromProps",
      value: function getDerivedStateFromProps(props, state) {
        return state;
      }
    }]);
    return NewsMemoryDownloadIcon;
  }(_$$_REQUIRE(_dependencyMap[17]).NewsMemoryFooterIcon);

  exports.NewsMemoryDownloadIcon = NewsMemoryDownloadIcon;
},2339,[5,7,8,90,12,14,16,17,28,460,2340,572,714,462,1725,1953,2342,2343]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _resolveAssetSource = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _newsmemoryIconText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NewsmemoryIcon = function (_React$PureComponent) {
    (0, _inherits2.default)(NewsmemoryIcon, _React$PureComponent);

    var _super = _createSuper(NewsmemoryIcon);

    function NewsmemoryIcon(props) {
      var _this;

      (0, _classCallCheck2.default)(this, NewsmemoryIcon);
      _this = _super.call(this, props);
      _this.state = {
        layout: undefined
      };
      return _this;
    }

    (0, _createClass2.default)(NewsmemoryIcon, [{
      key: "render",
      value: function render() {
        var _this2 = this;

        var layout = this.state.layout;
        var _this$props = this.props,
            foregroundColor = _this$props.foregroundColor,
            icon = _this$props.icon,
            iconText = _this$props.iconText,
            library = _this$props.library,
            center = _this$props.center,
            cssIconClasses = _this$props.cssIconClasses,
            cssTextClasses = _this$props.cssTextClasses,
            cssTextParentClasses = _this$props.cssTextParentClasses;
        var isRequireIcon = typeof icon === "number";
        var iconComponent;
        var height;

        if (layout) {
          height = layout.height;
          var refDimension = Math.min(layout.width, height);
          var fontSize = refDimension * 0.8;
          var tintColor = {};

          if (isRequireIcon) {
            tintColor.tintColor = foregroundColor;
          }

          if (typeof icon === "number") {
            var size = (0, _resolveAssetSource.default)(icon);
            height = size.height * Math.min(layout.width / size.width, layout.height / size.height);
          }

          iconComponent = _react.default.createElement(_imageIconChooserComponent.default, {
            type: library,
            name: icon,
            iconStyle: {
              fontSize: fontSize,
              color: foregroundColor
            },
            imageStyle: (0, _extends2.default)({
              width: layout.width,
              height: height
            }, tintColor),
            resizeMode: "contain",
            forceRNComponent: true,
            source: icon
          });
        }

        return _react.default.createElement(_reactNative.View, {
          style: [_$$_REQUIRE(_dependencyMap[13]).styles.imageParent, {
            justifyContent: center ? "center" : "flex-end"
          }],
          onLayout: function onLayout(_ref) {
            var nativeEvent = _ref.nativeEvent;

            _this2.setState({
              layout: nativeEvent.layout
            });
          }
        }, layout ? _react.default.createElement(_reactNative.View, {
          style: {
            justifyContent: "center",
            alignItems: "center",
            width: layout.width,
            height: height
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
          classes: cssIconClasses
        }, iconComponent), iconText ? _react.default.createElement(_newsmemoryIconText.default, {
          width: layout.width,
          height: height,
          text: iconText,
          foregroundColor: foregroundColor,
          cssClasses: cssTextClasses,
          cssParentClasses: cssTextParentClasses
        }) : null) : null);
      }
    }]);
    return NewsmemoryIcon;
  }(_react.default.PureComponent);

  exports.default = NewsmemoryIcon;
  NewsmemoryIcon.propTypes = {
    icon: _propTypes.default.any.isRequired,
    foregroundColor: _propTypes.default.string,
    iconText: _propTypes.default.string,
    library: _propTypes.default.string,
    center: _propTypes.default.bool,
    cssIconClasses: _propTypes.default.arrayOf(_propTypes.default.string),
    cssTextClasses: _propTypes.default.arrayOf(_propTypes.default.string),
    cssTextParentClasses: _propTypes.default.arrayOf(_propTypes.default.string)
  };
  NewsmemoryIcon.defaultProps = {
    center: false,
    cssIconClasses: [],
    cssTextClasses: [],
    cssTextParentClasses: []
  };
},2340,[5,6,7,8,12,14,16,17,28,165,201,2341,1970,2342,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NewsmemoryIconText = function (_React$PureComponent) {
    (0, _inherits2.default)(NewsmemoryIconText, _React$PureComponent);

    var _super = _createSuper(NewsmemoryIconText);

    function NewsmemoryIconText(props) {
      var _this;

      (0, _classCallCheck2.default)(this, NewsmemoryIconText);
      _this = _super.call(this, props);
      _this.state = {
        textHeight: undefined
      };
      return _this;
    }

    (0, _createClass2.default)(NewsmemoryIconText, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this$props, width, text, size;

        return _regenerator.default.async(function componentDidMount$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _this$props = this.props, width = _this$props.width, text = _this$props.text;

                if (!text) {
                  _context.next = 11;
                  break;
                }

                _context.prev = 2;
                _context.next = 5;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[11]).StringUtils.textSize(text, width, {
                  fontSize: 12
                }));

              case 5:
                size = _context.sent;
                this.setState({
                  textHeight: size.height
                });
                _context.next = 11;
                break;

              case 9:
                _context.prev = 9;
                _context.t0 = _context["catch"](2);

              case 11:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[2, 9]], Promise);
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props2 = this.props,
            width = _this$props2.width,
            height = _this$props2.height,
            text = _this$props2.text,
            foregroundColor = _this$props2.foregroundColor,
            cssClasses = _this$props2.cssClasses,
            cssParentClasses = _this$props2.cssParentClasses;
        var textHeight = this.state.textHeight;

        if (textHeight === undefined) {
          return null;
        }

        var bottom = (height - textHeight) / 2 - 4;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
          classes: cssParentClasses
        }, _react.default.createElement(_reactNative.View, {
          style: [_$$_REQUIRE(_dependencyMap[13]).styles.imageTextParent, {
            bottom: bottom,
            width: width
          }]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
          classes: cssClasses
        }, _react.default.createElement(_fontText.default, {
          supportFontScaling: false,
          style: [_$$_REQUIRE(_dependencyMap[13]).styles.imageText, {
            color: foregroundColor
          }],
          textAlignVertical: "bottom"
        }, text))));
      }
    }]);
    return NewsmemoryIconText;
  }(_react.default.PureComponent);

  exports.default = NewsmemoryIconText;
  NewsmemoryIconText.propTypes = {
    width: _propTypes.default.number,
    height: _propTypes.default.number,
    text: _propTypes.default.string,
    foregroundColor: _propTypes.default.string,
    cssClasses: _propTypes.default.arrayOf(_propTypes.default.string),
    cssParentClasses: _propTypes.default.arrayOf(_propTypes.default.string)
  };
  NewsmemoryIconText.defaultProps = {
    cssClasses: [],
    cssParentClasses: []
  };
},2341,[5,80,7,8,12,14,16,17,201,28,1879,462,699,2342]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = exports.LIBRARY_ICON_PADDING_VERTICAL = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var LIBRARY_ICON_PADDING_VERTICAL = 8;
  exports.LIBRARY_ICON_PADDING_VERTICAL = LIBRARY_ICON_PADDING_VERTICAL;

  var styles = _reactNative.StyleSheet.create({
    parent: {
      flex: 1,
      padding: 6
    },
    touchable: {
      flex: 1
    },
    imageParent: {
      flex: 1,
      alignItems: "center"
    },
    imageTextParent: {
      position: "absolute",
      alignItems: "center"
    },
    imageText: {
      fontSize: 12
    },
    text: {
      fontSize: 12
    }
  });

  exports.styles = styles;
},2342,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.NewsMemoryFooterIcon = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _newsmemoryIcon = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NewsMemoryFooterIcon = function (_Shortcut) {
    (0, _inherits2.default)(NewsMemoryFooterIcon, _Shortcut);

    var _super = _createSuper(NewsMemoryFooterIcon);

    function NewsMemoryFooterIcon(props) {
      var _this;

      var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
      (0, _classCallCheck2.default)(this, NewsMemoryFooterIcon);
      _this = _super.call(this, props);
      _this.onPress = _this._onPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.highlight = _this._highlight.bind((0, _assertThisInitialized2.default)(_this));
      _this.isVisible = _this._isVisible.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = (0, _extends2.default)({
        active: props.active,
        visible: props.visible,
        highlighted: false
      }, state);
      return _this;
    }

    (0, _createClass2.default)(NewsMemoryFooterIcon, [{
      key: "_handleShortcut",
      value: function _handleShortcut() {
        var highlighted = this.state.highlighted;

        if (highlighted) {
          return [{
            callback: this.onPress,
            keys: ["ENTER"],
            stopPropagation: true
          }];
        }

        return [];
      }
    }, {
      key: "_onPress",
      value: function _onPress() {
        var _this$props = this.props,
            onItemClick = _this$props.onItemClick,
            item = _this$props.item;

        if (typeof onItemClick === "function") {
          onItemClick(item);
        }
      }
    }, {
      key: "_getIcon",
      value: function _getIcon() {
        var _this$props2 = this.props,
            text = _this$props2.text,
            foregroundColor = _this$props2.foregroundColor,
            iconText = _this$props2.iconText,
            item = _this$props2.item;
        var _this$state = this.state,
            active = _this$state.active,
            highlighted = _this$state.highlighted;
        var icon = active && item.activeIcon ? item.activeIcon : item.icon;
        var libraryProps = {};

        if (item.isLibraryIcon()) {
          libraryProps.library = item.getLibrary();
        }

        return _react.default.createElement(_newsmemoryIcon.default, (0, _extends2.default)({
          center: text === undefined,
          icon: icon,
          foregroundColor: highlighted ? _$$_REQUIRE(_dependencyMap[14]).colors.white : foregroundColor,
          iconText: iconText,
          cssIconClasses: ["newsmemory-icon", "newsmemory-footer-icon", active ? "newsmemory-footer-icon-active" : "newsmemory-footer-icon-inactive", "newsmemory-footer-icon-" + item.action, active ? "newsmemory-footer-icon-" + item.action + "-active" : "newsmemory-footer-icon-" + item.action + "-inactive"],
          cssTextClasses: ["newsmemory-text", "newsmemory-footer-text", "newsmemory-footer-icon-text", active ? "newsmemory-footer-icon-text-active" : "newsmemory-footer-icon-text-inactive", "newsmemory-footer-icon-" + item.action + "-text", active ? "newsmemory-footer-icon-" + item.action + "-text-active" : "newsmemory-footer-icon-" + item.action + "-text-inactive"],
          cssTextParentClasses: ["newsmemory-footer-icon-text-parent", active ? "newsmemory-footer-icon-text-parent-active" : "newsmemory-footer-icon-text-parent-inactive", "newsmemory-footer-icon-" + item.action + "-text-parent", active ? "newsmemory-footer-icon-" + item.action + "-text-parent-active" : "newsmemory-footer-icon-" + item.action + "-text-parent-inactive"]
        }, libraryProps));
      }
    }, {
      key: "_highlight",
      value: function _highlight(highlighted) {
        return _regenerator.default.async(function _highlight$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                return _context.abrupt("return", this.setStatePromise({
                  highlighted: highlighted
                }));

              case 1:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_isVisible",
      value: function _isVisible() {
        var visible = this.state.visible;
        return visible;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props3 = this.props,
            text = _this$props3.text,
            accessibilityLabel = _this$props3.accessibilityLabel,
            backgroundColor = _this$props3.backgroundColor,
            foregroundColor = _this$props3.foregroundColor,
            maxSize = _this$props3.maxSize,
            parentStyle = _this$props3.parentStyle,
            item = _this$props3.item;
        var _this$state2 = this.state,
            visible = _this$state2.visible,
            active = _this$state2.active,
            highlighted = _this$state2.highlighted;
        var padding = _$$_REQUIRE(_dependencyMap[14]).PlatformUtils.isTablet() ? 2 : 6;
        var touchableStyle = {
          flex: 1
        };

        if (maxSize) {
          touchableStyle.maxWidth = maxSize;
          touchableStyle.maxHeight = maxSize;
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).Css, {
          classes: ["newsmemory-footer-element"],
          toggle: true,
          cssKey: item.action,
          active: active
        }, _react.default.createElement(_reactNative.View, {
          style: [_$$_REQUIRE(_dependencyMap[16]).styles.parent, {
            justifyContent: "center",
            backgroundColor: highlighted ? _$$_REQUIRE(_dependencyMap[14]).colors.keyboardHighlight : backgroundColor,
            padding: padding
          }, parentStyle]
        }, visible ? _react.default.createElement(_reactNative.TouchableOpacity, {
          style: touchableStyle,
          onPress: this.onPress,
          accessibilityLabel: accessibilityLabel
        }, _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1
          }
        }, this._getIcon()), text ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).Css, {
          classes: ["newsmemory-text", "newsmemory-footer-text"],
          toggle: true,
          active: active
        }, _react.default.createElement(_fontText.default, {
          numberOfLines: 1,
          ellipsizeMode: "tail",
          style: [_$$_REQUIRE(_dependencyMap[16]).styles.text, {
            color: highlighted ? _$$_REQUIRE(_dependencyMap[14]).colors.white : foregroundColor,
            textAlign: "center"
          }]
        }, text)) : null) : null));
      }
    }], [{
      key: "getDerivedStateFromProps",
      value: function getDerivedStateFromProps(props, state) {
        if (props.active !== state.active || props.visible !== state.visible) {
          return (0, _extends2.default)({}, state, {
            active: props.active,
            visible: props.visible
          });
        }

        return state;
      }
    }]);
    return NewsMemoryFooterIcon;
  }(_$$_REQUIRE(_dependencyMap[17]).Shortcut);

  exports.NewsMemoryFooterIcon = NewsMemoryFooterIcon;
  NewsMemoryFooterIcon.propTypes = (0, _extends2.default)({
    active: _propTypes.default.bool,
    visible: _propTypes.default.bool,
    text: _propTypes.default.string,
    accessibilityLabel: _propTypes.default.string,
    iconText: _propTypes.default.string,
    maxSize: _propTypes.default.number,
    backgroundColor: _propTypes.default.string,
    foregroundColor: _propTypes.default.string,
    onItemClick: _propTypes.default.func.isRequired,
    item: _propTypes.default.instanceOf(_$$_REQUIRE(_dependencyMap[18]).Icon).isRequired,
    parentStyle: _propTypes.default.any
  }, _$$_REQUIRE(_dependencyMap[17]).Shortcut.propTypes);
  NewsMemoryFooterIcon.defaultProps = (0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[17]).Shortcut.defaultProps, {
    active: false,
    visible: true
  });
},2343,[5,80,6,7,8,15,12,14,16,17,201,28,1879,2340,462,699,2342,1911,1805]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  var _closeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _searchComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _EPaperArticle = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[14]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _emptyComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _pageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _LiveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _shortcutList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NewsmemorySearch = function (_Shortcut) {
    (0, _inherits2.default)(NewsmemorySearch, _Shortcut);

    var _super = _createSuper(NewsmemorySearch);

    function NewsmemorySearch(props) {
      var _this;

      (0, _classCallCheck2.default)(this, NewsmemorySearch);
      _this = _super.call(this, props);
      _this.keyword = props.searchedTerm;
      _this.close = _this._close.bind((0, _assertThisInitialized2.default)(_this));
      _this.search = _this._search.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSearch = _this._onSearch.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSearchInputRef = _this._onSearchInputRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSearchInputBlur = _this._onSearchInputBlur.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        items: _this.search(_this.keyword),
        error: !props.edition
      };
      return _this;
    }

    (0, _createClass2.default)(NewsmemorySearch, [{
      key: "_onSearchInputRef",
      value: function _onSearchInputRef(ref) {
        this.searchInput = ref;
      }
    }, {
      key: "_onSearchInputBlur",
      value: function _onSearchInputBlur() {
        if (!this.keyword && this.searchInput) {
          this.searchInput._onFocus();
        }
      }
    }, {
      key: "_handleShortcut",
      value: function _handleShortcut() {
        var CLOSE = _$$_REQUIRE(_dependencyMap[21]).KEY_GROUPS.CLOSE,
            ANY = _$$_REQUIRE(_dependencyMap[21]).KEY_GROUPS.ANY;

        return [{
          callback: this.close,
          keys: CLOSE,
          stopPropagation: true
        }, {
          callback: this.noop,
          keys: ANY,
          stopPropagation: true
        }];
      }
    }, {
      key: "_getEdition",
      value: function _getEdition() {
        var edition = this.props.edition;
        return edition;
      }
    }, {
      key: "_search",
      value: function _search(keyword) {
        var edition = this._getEdition();

        var found = [];

        if (keyword) {
          edition.getPages().forEach(function (page) {
            if (page) {
              page.getArticles().forEach(function (article) {
                if (article.getType() === _EPaperArticle.EPaperArticleType.EDITORIAL && (article.getTitle().toLowerCase().includes(keyword.toLowerCase()) || article.getHtml().toLowerCase().includes(keyword.toLowerCase()))) {
                  found.push({
                    page: _pageUtils.default.removeZerosFromPageNumber(page.getShownPage()),
                    article: article
                  });
                }
              });
            }
          });
        }

        return found;
      }
    }, {
      key: "_onSearch",
      value: function _onSearch(keyword) {
        this.keyword = keyword;
        this.setState({
          items: this.search(keyword)
        });
      }
    }, {
      key: "_getEmpty",
      value: function _getEmpty() {
        return _react.default.createElement(_emptyComponent.default, {
          color: _$$_REQUIRE(_dependencyMap[22]).HEADER_BG_COLOR,
          message: this.keyword ? global.strings("msg_search_not_found", {
            text: this.keyword
          }) : global.strings("msg_search_empty"),
          cssClassesContainer: ["newsmemory-search-result-empty-container"],
          cssClassesParent: ["newsmemory-search-result-empty-parent"],
          cssClassesText: ["newsmemory-search", "newsmemory-search-text", "newsmemory-search-result-empty"]
        });
      }
    }, {
      key: "_getError",
      value: function _getError() {
        return _react.default.createElement(_emptyComponent.default, {
          color: _$$_REQUIRE(_dependencyMap[22]).HEADER_BG_COLOR,
          message: global.strings("msg_error_newspaper"),
          cssClassesContainer: ["newsmemory-search-result-error-container"],
          cssClassesParent: ["newsmemory-search-result-error-parent"],
          cssClassesText: ["newsmemory-search", "newsmemory-search-text", "newsmemory-search-result-error"]
        });
      }
    }, {
      key: "_close",
      value: function _close() {
        var onClose = this.props.onClose;

        if (typeof onClose === "function") {
          onClose();
        }
      }
    }, {
      key: "_getCloseButton",
      value: function _getCloseButton() {
        var model = this.props.model;
        var buttonProps = {};

        if (model) {
          var rightSection = model.getRight();

          if (rightSection) {
            var buttons = rightSection.getButtons();
            var closeButton = buttons.find(function (button) {
              return button.getAction() === _$$_REQUIRE(_dependencyMap[23]).ACTIONS.closeArticle.key;
            });

            if (closeButton) {
              var source = closeButton.getIcon();

              if (closeButton.isLibraryIcon() && source) {
                var library = closeButton.getLibrary();
                buttonProps = {
                  library: library,
                  source: source
                };
              }
            }
          }
        }

        return _react.default.createElement(_closeComponent.default, (0, _extends2.default)({}, buttonProps, {
          cssProps: {
            classes: ["newsmemory-icon", "newsmemory-search-close-icon"]
          },
          onPress: this.close
        }));
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props = this.props,
            onItemClick = _this$props.onItemClick,
            issueText = _this$props.issueText,
            shortcutPriority = _this$props.shortcutPriority;
        var _this$state = this.state,
            items = _this$state.items,
            error = _this$state.error;

        var color = _$$_REQUIRE(_dependencyMap[24]).Css.getDefaultForegroundColor();

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
          classes: ["newsmemory-search-container"]
        }, _react.default.createElement(_reactNative.View, {
          style: _searchComponent.default.parent
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
          classes: ["newsmemory-search-title-container"]
        }, _react.default.createElement(_reactNative.View, {
          style: [_searchComponent.default.titleContainer, {
            borderBottomColor: color
          }]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
          classes: ["newsmemory-search", "newsmemory-search-text", "newsmemory-search-title"]
        }, _react.default.createElement(_fontText.default, {
          type: _fontText.Type.bold,
          style: [_searchComponent.default.title, {
            color: color
          }]
        }, issueText)), this._getCloseButton())), error ? this._getError() : _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
          classes: ["newsmemory-search-input"]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[25]).SearchInput, {
          ref: this.onSearchInputRef,
          onSearch: this.onSearch,
          placeholder: global.strings("str_search"),
          mainColor: color,
          autoFocus: true,
          onBlur: this.onSearchInputBlur
        })), !error && items.length ? _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
          classes: ["newsmemory-search-header-container"]
        }, _react.default.createElement(_reactNative.View, {
          style: [_searchComponent.default.subTitleContainer, {
            backgroundColor: color
          }]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
          classes: ["newsmemory-search", "newsmemory-search-text", "newsmemory-search-subtitle"]
        }, _react.default.createElement(_fontText.default, {
          style: _searchComponent.default.subTitle
        }, global.strings("str_search_results", {
          text: this.keyword,
          count: items.length
        }))))), _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
          classes: ["newsmemory-search-list"]
        }, _react.default.createElement(_shortcutList.default, {
          keyExtractor: function keyExtractor(item, index) {
            return "search_item_" + index;
          },
          data: items,
          plainData: items,
          onPress: function onPress(item, index) {
            if (typeof onItemClick === "function") {
              onItemClick(_this2.keyword, index, items);

              if (_$$_REQUIRE(_dependencyMap[26]).PlatformUtils.isIOS()) {
                _LiveConfig.default.keyUp({
                  keyCode: 40
                });

                _LiveConfig.default.keyUp({
                  keyCode: 88
                });
              }
            }
          },
          shortcutPriority: shortcutPriority + 1,
          ItemSeparatorComponent: function ItemSeparatorComponent() {
            return (0, _$$_REQUIRE(_dependencyMap[27]).hr)(_searchComponent.default.hr, "newsmemory-search-item-separator");
          },
          ListHeaderComponent: _react.default.createElement(_reactNative.View, {
            style: _searchComponent.default.item
          }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
            classes: ["newsmemory-search", "newsmemory-search-text", "newsmemory-search-header-page"]
          }, _react.default.createElement(_fontText.default, {
            style: _searchComponent.default.itemPage
          }, global.strings("str_page"))), _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
            classes: ["newsmemory-search", "newsmemory-search-text"]
          }, _react.default.createElement(_fontText.default, {
            style: _searchComponent.default.itemSeparator
          }, " ")), _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
            classes: ["newsmemory-search", "newsmemory-search-text", "newsmemory-search-header-title"]
          }, _react.default.createElement(_fontText.default, {
            style: _searchComponent.default.itemText
          }, global.strings("str_title")))),
          renderItem: function renderItem(_ref) {
            var item = _ref.item,
                index = _ref.index,
                focusedItem = _ref.focusedItem;

            var focused = _$$_REQUIRE(_dependencyMap[26]).JSUtils.equals(item, focusedItem);

            var focusedStyle = {};

            if (focused) {
              focusedStyle.backgroundColor = _$$_REQUIRE(_dependencyMap[26]).colors.keyboardHighlight;
            }

            return _react.default.createElement(_reactNative.TouchableOpacity, {
              style: [_searchComponent.default.item, focusedStyle],
              onPress: function onPress() {
                if (typeof onItemClick === "function") {
                  onItemClick(_this2.keyword, index, items);
                }
              }
            }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
              classes: ["newsmemory-search", "newsmemory-search-text", "newsmemory-search-result-page"]
            }, _react.default.createElement(_fontText.default, {
              style: _searchComponent.default.itemPage
            }, item.page ? item.page : "")), _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
              classes: ["newsmemory-search", "newsmemory-search-text", "newsmemory-search-result-bullet"]
            }, _react.default.createElement(_fontText.default, {
              style: _searchComponent.default.itemSeparator
            }, _$$_REQUIRE(_dependencyMap[26]).StringUtils.BULLET)), _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
              classes: ["newsmemory-search", "newsmemory-search-text", "newsmemory-search-result-title"]
            }, _react.default.createElement(_fontText.default, {
              style: _searchComponent.default.itemText
            }, item.article ? "" + item.article.getTitle() : "")));
          }
        }))) : null, !error && !items.length ? this._getEmpty() : null));
      }
    }]);
    return NewsmemorySearch;
  }(_$$_REQUIRE(_dependencyMap[28]).Shortcut);

  exports.default = NewsmemorySearch;
  NewsmemorySearch.propTypes = (0, _extends2.default)({
    searchedTerm: _propTypes.default.string,
    edition: _propTypes.default.instanceOf(_Edition.default).isRequired,
    onClose: _propTypes.default.func.isRequired,
    onItemClick: _propTypes.default.func.isRequired,
    issueText: _propTypes.default.string.isRequired,
    navigation: _propTypes.default.shape({
      navigate: _propTypes.default.func
    }).isRequired,
    model: _propTypes.default.instanceOf(_$$_REQUIRE(_dependencyMap[29]).Header).isRequired
  }, _$$_REQUIRE(_dependencyMap[28]).Shortcut.propTypes);
},2344,[5,6,7,8,15,12,14,16,17,201,28,1879,2298,2345,640,638,2220,644,715,1872,1908,1873,729,1725,699,2279,462,2195,1911,1853]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    parent: {
      flex: 1,
      flexDirection: "column"
    },
    titleContainer: {
      height: _$$_REQUIRE(_dependencyMap[1]).HEADER_HEIGHT,
      flexDirection: "row",
      alignItems: "center",
      borderBottomWidth: _$$_REQUIRE(_dependencyMap[1]).HEADER_HR_SIZE,
      borderBottomColor: _$$_REQUIRE(_dependencyMap[2]).colors.black
    },
    title: {
      paddingHorizontal: 10,
      fontSize: _$$_REQUIRE(_dependencyMap[1]).TITLE_SIZE,
      color: _$$_REQUIRE(_dependencyMap[2]).colors.black,
      flex: 1
    },
    subTitleContainer: {
      height: _$$_REQUIRE(_dependencyMap[1]).SUB_HEADER_HEIGHT,
      flexDirection: "row",
      backgroundColor: _$$_REQUIRE(_dependencyMap[2]).colors.black,
      alignItems: "center"
    },
    subTitle: {
      color: _$$_REQUIRE(_dependencyMap[2]).colors.white,
      paddingHorizontal: 10,
      fontSize: _$$_REQUIRE(_dependencyMap[1]).INFO_SIZE,
      flex: 1
    },
    hr: {
      height: _$$_REQUIRE(_dependencyMap[1]).LIST_ITEM_SEPARATOR_HEIGHT,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).LIST_ITEM_SEPARATOR_COLOR
    },
    item: {
      flexDirection: "row",
      minHeight: _$$_REQUIRE(_dependencyMap[1]).LIST_ITEM_HEIGHT,
      alignItems: "center",
      padding: 5
    },
    itemPage: {
      fontSize: _$$_REQUIRE(_dependencyMap[1]).SEARCH_TEXT_SIZE,
      color: _$$_REQUIRE(_dependencyMap[1]).SEARCH_COLOR,
      paddingHorizontal: 5
    },
    itemSeparator: {
      fontSize: _$$_REQUIRE(_dependencyMap[1]).SEARCH_TEXT_SIZE,
      color: _$$_REQUIRE(_dependencyMap[1]).SEARCH_COLOR
    },
    itemText: {
      flex: 1,
      fontSize: _$$_REQUIRE(_dependencyMap[1]).SEARCH_TEXT_SIZE,
      paddingHorizontal: 5,
      color: _$$_REQUIRE(_dependencyMap[1]).SEARCH_COLOR
    }
  });

  exports.default = _default;
},2345,[28,729,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[12]);

  var _reactNativeSectionListGetItemLayout = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _thumbnailComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[14]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _EPaperImage = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[17]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _pageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[23]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NO_LETTERS = "no_letters";

  var NewsmemoryThumbnail = function (_Shortcut) {
    (0, _inherits2.default)(NewsmemoryThumbnail, _Shortcut);

    var _super = _createSuper(NewsmemoryThumbnail);

    function NewsmemoryThumbnail(props) {
      var _this;

      (0, _classCallCheck2.default)(this, NewsmemoryThumbnail);
      _this = _super.call(this, props);
      _this.sectionItemsRefs = [];
      _this.itemLayout = (0, _reactNativeSectionListGetItemLayout.default)({
        getItemHeight: _thumbnailComponent._getSectionItemHeight,
        getSeparatorHeight: function getSeparatorHeight() {
          return 0;
        },
        getSectionHeaderHeight: function getSectionHeaderHeight() {
          return 0;
        },
        getSectionFooterHeight: function getSectionFooterHeight() {
          return 0;
        }
      });
      _this.state = {
        focusedPageId: props.currentPageId
      };
      _this.thumbnails = _this._getThumbnails();
      _this.isGridMode = _this._isGridMode();
      _this.content = _this._getContent();
      _this.onSectionItemsRef = _this._onSectionItemsRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSectionsRef = _this._onSectionsRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.focusRightThumbnail = _this._focusRightThumbnail.bind((0, _assertThisInitialized2.default)(_this));
      _this.focusLeftThumbnail = _this._focusLeftThumbnail.bind((0, _assertThisInitialized2.default)(_this));
      _this.selectFocusedThumbnail = _this._selectFocusedThumbnail.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(NewsmemoryThumbnail, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this.onConnectivityChangeListener = _$$_REQUIRE(_dependencyMap[24]).EventRegister.on(_events.default.ON_CONNECTIVITY_CHANGE, function (_ref) {
          var online = _ref.online;

          var _global$getActivePSet = global.getActivePSetup(),
              maxSharesCheckType = _global$getActivePSet.maxSharesCheckType;

          if (maxSharesCheckType === _$$_REQUIRE(_dependencyMap[25]).MAX_SHARE_CHECK_TYPES.REMOTE) {
            _$$_REQUIRE(_dependencyMap[24]).EventRegister.emit(_events.default.SHARE_CHANGE_BUTTON_VISIBILITY, {
              disabled: !online
            });
          }
        });
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(NewsmemoryThumbnail.prototype), "componentWillUnmount", this).call(this);

        _$$_REQUIRE(_dependencyMap[24]).EventRegister.emit(_events.default.ON_THUMBNAIL_CLOSE);

        _$$_REQUIRE(_dependencyMap[24]).EventRegister.rm(_events.default.SHARE_CHANGE_BUTTON_VISIBILITY);
      }
    }, {
      key: "_onSectionsRef",
      value: function _onSectionsRef(ref) {
        this.sectionsRef = ref;
      }
    }, {
      key: "_onSectionItemsRef",
      value: function _onSectionItemsRef(ref, index) {
        this.sectionItemsRefs[index] = ref;
      }
    }, {
      key: "_handleShortcut",
      value: function _handleShortcut() {
        var LEFT = _$$_REQUIRE(_dependencyMap[26]).KEY_GROUPS.LEFT,
            RIGHT = _$$_REQUIRE(_dependencyMap[26]).KEY_GROUPS.RIGHT,
            SELECT = _$$_REQUIRE(_dependencyMap[26]).KEY_GROUPS.SELECT;

        return [{
          callbackRepeat: this.focusLeftThumbnail,
          keys: LEFT
        }, {
          callbackRepeat: this.focusRightThumbnail,
          keys: RIGHT
        }, {
          callback: this.selectFocusedThumbnail,
          keys: SELECT
        }];
      }
    }, {
      key: "_getPageFromId",
      value: function _getPageFromId(pageId) {
        var newspaper = this.props.newspaper;
        var pages = newspaper.getPages();
        return pages.find(function (page) {
          return page.getPageId() === pageId;
        });
      }
    }, {
      key: "_getCurrentFocusedPageIndex",
      value: function _getCurrentFocusedPageIndex() {
        var newspaper = this.props.newspaper;
        var focusedPageId = this.state.focusedPageId;
        var pages = newspaper.getPages();

        for (var i = 0; i < pages.length; i++) {
          if (pages[i].getPageId() === focusedPageId) {
            return i;
          }
        }

        return 0;
      }
    }, {
      key: "_focusLeftThumbnail",
      value: function _focusLeftThumbnail() {
        var newspaper, pages, newFocusedPagedId;
        return _regenerator.default.async(function _focusLeftThumbnail$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                newspaper = this.props.newspaper;
                pages = newspaper.getPages();
                newFocusedPagedId = pages[Math.max(0, this._getCurrentFocusedPageIndex() - 1)].getPageId();

                this._setFocusedThumbnail(newFocusedPagedId);

                this._scrollToFocused(newFocusedPagedId);

                return _context.abrupt("return", this.setStatePromise({
                  focusedPageId: newFocusedPagedId
                }));

              case 6:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_focusRightThumbnail",
      value: function _focusRightThumbnail() {
        var newspaper, pages, newFocusedPagedId;
        return _regenerator.default.async(function _focusRightThumbnail$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                newspaper = this.props.newspaper;
                pages = newspaper.getPages();
                newFocusedPagedId = pages[Math.min(pages.length - 1, this._getCurrentFocusedPageIndex() + 1)].getPageId();

                this._setFocusedThumbnail(newFocusedPagedId);

                this._scrollToFocused(newFocusedPagedId);

                return _context2.abrupt("return", this.setStatePromise({
                  focusedPageId: newFocusedPagedId
                }));

              case 6:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_scrollToFocused",
      value: function _scrollToFocused(focusedPageId) {
        if (this.sectionsRef) {
          var _this$_getPositionOfA = this._getPositionOfActiveItem(this.content, this._itemChecker, focusedPageId),
              sectionIndex = _this$_getPositionOfA.sectionIndex,
              sectionRowIndex = _this$_getPositionOfA.sectionRowIndex,
              sectionRowItemIndex = _this$_getPositionOfA.sectionRowItemIndex;

          if (!this.isGridMode) {
            this.sectionsRef.scrollToLocation({
              itemIndex: 0,
              sectionIndex: sectionIndex
            });

            if (this.sectionItemsRefs[sectionIndex]) {
              this.sectionItemsRefs[sectionIndex].scrollToIndex({
                index: sectionRowItemIndex
              });
            }
          } else {
            this.sectionsRef.scrollToLocation({
              itemIndex: sectionRowIndex,
              sectionIndex: sectionIndex
            });
          }
        }
      }
    }, {
      key: "_setFocusedThumbnail",
      value: function _setFocusedThumbnail(focusedPageId) {
        Object.values(this.thumbnails).forEach(function (section) {
          section.forEach(function (thumbnails) {
            thumbnails.forEach(function (thumbnail) {
              thumbnail.setFocused(thumbnail.getPage().getPageId() === focusedPageId);
            });
          });
        });
      }
    }, {
      key: "_selectFocusedThumbnail",
      value: function _selectFocusedThumbnail() {
        var onItemClick = this.props.onItemClick;
        var focusedPageId = this.state.focusedPageId;

        if (typeof onItemClick === "function") {
          var page = this._getPageFromId(focusedPageId);

          if (page) {
            onItemClick(page);
          }
        }
      }
    }, {
      key: "_getSectionLetterFromPage",
      value: function _getSectionLetterFromPage(page) {
        var letters = _pageUtils.default.getSectionLetterFromPage(page);

        return letters.length ? letters : NO_LETTERS;
      }
    }, {
      key: "_getThumbnails",
      value: function _getThumbnails() {
        var _this2 = this;

        var _this$props = this.props,
            downloadImageMethod = _this$props.downloadImageMethod,
            currentPageId = _this$props.currentPageId,
            newspaper = _this$props.newspaper;
        var focusedPageId = this.state.focusedPageId;

        if (newspaper) {
          var edition = newspaper.getEditionModel();
          var pages = edition.getPages();

          var baseLocalPath = _tecnaviaFileUtils.default.getNewspaperBaseDirectory();

          var baseEditionPath = "" + baseLocalPath + edition.getPaper() + "/" + edition.getIssue();
          var result = pages.reduce(function (object, page) {
            var localPath = "file://" + baseEditionPath + "/" + page.getFilename() + "/low.jpg";

            var letters = _this2._getSectionLetterFromPage(page.getPage());

            if (!Array.isArray(object[letters])) {
              object[letters] = [];
            }

            var thumbnail = new (_$$_REQUIRE(_dependencyMap[27]).Thumbnail)();
            thumbnail.setSize(_newsmemoryUtils.default.getPageSizeFixed(edition, page));
            thumbnail.setLocalPath(localPath);
            thumbnail.setDownloadMethod(function _callee() {
              var image;
              return _regenerator.default.async(function _callee$(_context3) {
                while (1) {
                  switch (_context3.prev = _context3.next) {
                    case 0:
                      if (!(typeof downloadImageMethod === "function")) {
                        _context3.next = 8;
                        break;
                      }

                      image = new _EPaperImage.default();
                      image.setPageId(page.getPageId());
                      image.setType(_EPaperImage.EPaperImageType.LOW);
                      _context3.next = 6;
                      return _regenerator.default.awrap(downloadImageMethod(page, image));

                    case 6:
                      _context3.next = 9;
                      break;

                    case 8:
                      throw new Error("Missing fallback method to download low image");

                    case 9:
                    case "end":
                      return _context3.stop();
                  }
                }
              }, null, null, null, Promise);
            });
            thumbnail.setSelected(page.getPageId() === currentPageId);
            thumbnail.setFocused(page.getPageId() === focusedPageId);
            thumbnail.setPage(page);
            object[letters].push(thumbnail);
            return object;
          }, {});
          result = Object.keys(result).reduce(function (object, key) {
            if (result[key] && result[key].length) {
              var thumbnail = result[key][0];

              var section = _$$_REQUIRE(_dependencyMap[28]).StringUtils.decodeHTML(thumbnail.getPage().getSection());

              var sectionPages = [];
              var i = 0;

              while (i < result[key].length) {
                if (i === 0 || i === result[key].length - 1 || result[key][i].page.isDoubleTruck() || result[key][i + 1] && result[key][i + 1].page.isDoubleTruck()) {
                  sectionPages.push([result[key][i]]);
                  i += 1;
                } else {
                  sectionPages.push([result[key][i], result[key][i + 1]]);
                  i += 2;
                }
              }

              if (Array.isArray(object[section])) {
                var _object$section;

                (_object$section = object[section]).push.apply(_object$section, sectionPages);
              } else {
                object[section] = sectionPages;
              }
            }

            return object;
          }, {});
          return result;
        }

        return {};
      }
    }, {
      key: "_getLowFromPage",
      value: function _getLowFromPage(page) {
        return _newsmemoryUtils.default.getImageFromPage(page, _EPaperImage.EPaperImageType.LOW);
      }
    }, {
      key: "_getSectionsPageSize",
      value: function _getSectionsPageSize(sections) {
        var _this$props2 = this.props,
            size = _this$props2.size,
            newspaper = _this$props2.newspaper;
        var windowWidth = size.width,
            windowHeight = size.height;
        var availableSpace = windowWidth - _thumbnailComponent.THUMBNAIL_MARGIN * 2;
        var edition = newspaper.getEditionModel();
        var referenceHeight = (0, _thumbnailComponent._getThumbnailHeight)();
        var minimumHeight = Math.max(windowWidth, windowHeight) / 5;
        var height = Math.min(Math.max(referenceHeight, minimumHeight), referenceHeight * 1.5);
        return Object.values(sections).map(function (section) {
          var maxWidth = 0;
          section.forEach(function (thumbnails) {
            for (var i = 0; i < thumbnails.length; i++) {
              var thumbnailWidth = (0, _thumbnailComponent._getThumbnailWidth)(edition, thumbnails[i].getPage(), availableSpace, height);

              if (thumbnails[i].getPage().isDoubleTruck()) {
                thumbnailWidth /= 2;
              }

              if (thumbnailWidth > maxWidth) {
                maxWidth = thumbnailWidth;
              }
            }
          });
          return {
            width: maxWidth,
            height: height
          };
        });
      }
    }, {
      key: "_updateAndGetThumbnailsSize",
      value: function _updateAndGetThumbnailsSize(thumbnails, sectionPageSize) {
        var thumbnailsWidth = 0;
        thumbnails.forEach(function (thumbnail) {
          var width = sectionPageSize.width;

          if (thumbnail.getPage().isDoubleTruck()) {
            width *= 2;
          }

          thumbnailsWidth += width;
          thumbnail.getSize().width = width;
          thumbnail.getSize().height = sectionPageSize.height;
          return thumbnail;
        });
        var page = thumbnails[0].page;

        if (thumbnails.length < 2 && !page.isDoubleTruck()) {
          thumbnailsWidth *= 2;
        }

        thumbnailsWidth = thumbnailsWidth || 0;
        return thumbnailsWidth + _thumbnailComponent.THUMBNAIL_MARGIN * 2;
      }
    }, {
      key: "_getSectionsGrid",
      value: function _getSectionsGrid(sections) {
        var _this3 = this;

        var _this$props3 = this.props,
            size = _this$props3.size,
            newspaper = _this$props3.newspaper;

        if (newspaper) {
          var windowWidth = size.width;

          var sectionsPageSize = this._getSectionsPageSize(sections);

          return Object.keys(sections).map(function (key, index) {
            var sectionPageSize = sectionsPageSize[index];
            var row = {
              title: key,
              data: [],
              maxWidth: -1
            };
            var newArrayIndex = 0;
            var availableSpace = row.maxWidth;
            sections[key].forEach(function (thumbnails, thumbIndex) {
              var thumbnailsWidth = _this3._updateAndGetThumbnailsSize(thumbnails, sectionPageSize);

              var maxWidth = Math.ceil(Math.floor(windowWidth / thumbnailsWidth) * thumbnailsWidth);

              if (row.maxWidth < 0) {
                row.maxWidth = maxWidth;
                availableSpace = maxWidth;
              }

              availableSpace -= thumbnailsWidth;

              if (availableSpace < 0 && thumbIndex > 0) {
                availableSpace = Math.max(row.maxWidth - thumbnailsWidth, 0);
                newArrayIndex += 1;
              }

              if (!Array.isArray(row.data[newArrayIndex])) {
                row.data[newArrayIndex] = [];
              }

              row.data[newArrayIndex].push(thumbnails);
            });
            return row;
          });
        }

        return [];
      }
    }, {
      key: "_getSectionsHorizontalList",
      value: function _getSectionsHorizontalList(sections) {
        return Object.keys(sections).map(function (key) {
          return {
            title: key,
            data: [sections[key]]
          };
        });
      }
    }, {
      key: "_getSpecial",
      value: function _getSpecial() {
        var SpecialComponent = this.props.SpecialComponent;
        return {
          title: global.strings("str_special_sections"),
          data: [_react.default.createElement(_reactNative.View, null, SpecialComponent)],
          isSpecial: true
        };
      }
    }, {
      key: "_itemChecker",
      value: function _itemChecker(row, currentPageId) {
        if (Array.isArray(row)) {
          var index = row.findIndex(function (thumbnails) {
            var found = thumbnails.find(function (thumbnail) {
              return thumbnail.getPage().getPageId() === currentPageId;
            });
            return found !== undefined;
          });
          return index;
        }

        return 0;
      }
    }, {
      key: "_getPositionOfActiveItem",
      value: function _getPositionOfActiveItem(sections, itemsChecker, pageId) {
        var itemsBeforeSelected = 0;
        var sectionRowItemIndex = 0;
        var sectionRowIndex = 0;
        var sectionIndex = sections.findIndex(function (_ref2) {
          var data = _ref2.data;
          sectionRowIndex = data.findIndex(function (row) {
            var activeIndex = itemsChecker(row, pageId);

            if (activeIndex > -1) {
              sectionRowItemIndex = activeIndex;
            }

            return activeIndex > -1;
          });

          if (sectionRowIndex > -1) {
            itemsBeforeSelected += sectionRowIndex + 1;
            return true;
          }

          itemsBeforeSelected += data.length;
          return false;
        });
        return {
          totalIndex: itemsBeforeSelected + sectionIndex,
          sectionIndex: sectionIndex,
          sectionRowIndex: sectionRowIndex,
          sectionRowItemIndex: sectionRowItemIndex
        };
      }
    }, {
      key: "_getContent",
      value: function _getContent() {
        var SpecialComponent = this.props.SpecialComponent;
        var content;

        if (this.isGridMode) {
          content = this._getSectionsGrid(this.thumbnails);
        } else {
          content = this._getSectionsHorizontalList(this.thumbnails);
        }

        if (SpecialComponent) {
          content.push(this._getSpecial());
        }

        return content;
      }
    }, {
      key: "_isGridMode",
      value: function _isGridMode() {
        var numberOfSections = Object.keys(this.thumbnails).length;

        var _global$getActivePSet2 = global.getActivePSetup(),
            scrollTiles = _global$getActivePSet2.scrollTiles;

        var gridMode;

        if (scrollTiles === 2) {
          gridMode = numberOfSections < 3;
        } else {
          gridMode = scrollTiles !== 1;
        }

        return gridMode;
      }
    }, {
      key: "_getSectionIndex",
      value: function _getSectionIndex(title) {
        return Math.max(0, this.content.findIndex(function (section) {
          return section.title === title;
        }));
      }
    }, {
      key: "_renderContent",
      value: function _renderContent() {
        var _this4 = this;

        var newspaper = this.props.newspaper;

        if (!newspaper) {
          return null;
        }

        var _this$props4 = this.props,
            onItemClick = _this$props4.onItemClick,
            currentPageId = _this$props4.currentPageId;

        var _global$getActivePSet3 = global.getActivePSetup(),
            showEditionThumbs = _global$getActivePSet3.showEditionThumbs;

        var _this$_getPositionOfA2 = this._getPositionOfActiveItem(this.content, this._itemChecker, currentPageId),
            totalIndex = _this$_getPositionOfA2.totalIndex;

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[29]).TecnaviaSectionList, {
          ref: this.onSectionsRef,
          stickySectionHeadersEnabled: true,
          sections: this.content,
          initialScrollIndex: totalIndex,
          getItemLayout: this.itemLayout,
          keyExtractor: _$$_REQUIRE(_dependencyMap[30])._rowKeyExtractor,
          renderItem: function renderItem(_ref3) {
            var item = _ref3.item,
                index = _ref3.index,
                section = _ref3.section;

            if (Array.isArray(item)) {
              var title = section.title,
                  data = section.data;

              var addPlaceholder = _$$_REQUIRE(_dependencyMap[30]).PLACEHOLDER_POSITION.NONE;

              var style = {};

              if (_this4.isGridMode) {
                var maxWidth;

                if (section) {
                  maxWidth = section.maxWidth;
                }

                style = {
                  width: maxWidth || "100%",
                  alignSelf: "center"
                };

                if (index === 0) {
                  var firstPage = newspaper.getEditionModel().getFirstPage();

                  if (firstPage && firstPage.isDoubleTruck()) {
                    addPlaceholder = _$$_REQUIRE(_dependencyMap[30]).PLACEHOLDER_POSITION.NONE;
                  } else {
                    addPlaceholder = _$$_REQUIRE(_dependencyMap[30]).PLACEHOLDER_POSITION.LEFT;
                  }
                } else if (index === data.length - 1 && item.length === 1) {
                  addPlaceholder = _$$_REQUIRE(_dependencyMap[30]).PLACEHOLDER_POSITION.RIGHT;
                }
              }

              return (0, _$$_REQUIRE(_dependencyMap[30])._getHorizontalList)(function (ref) {
                return _this4.onSectionItemsRef(ref, _this4._getSectionIndex(title));
              }, item, onItemClick, newspaper, _this4._itemChecker(item, currentPageId), addPlaceholder, style);
            }

            return item;
          },
          renderSectionHeader: function renderSectionHeader(_ref4) {
            var _ref4$section = _ref4.section,
                title = _ref4$section.title,
                isSpecial = _ref4$section.isSpecial;

            if (showEditionThumbs) {
              return (0, _$$_REQUIRE(_dependencyMap[30])._getSectionView)(title, isSpecial);
            }

            return null;
          }
        });
      }
    }, {
      key: "render",
      value: function render() {
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[31]).Css, {
          classes: ["newsmemory-thumbnails-container"]
        }, _react.default.createElement(_reactNative.View, {
          style: _thumbnailComponent.default.container
        }, this._renderContent()));
      }
    }]);
    return NewsmemoryThumbnail;
  }(_$$_REQUIRE(_dependencyMap[32]).Shortcut);

  exports.default = NewsmemoryThumbnail;
  NewsmemoryThumbnail.propTypes = (0, _extends2.default)({
    newspaper: _propTypes.default.instanceOf(_NewspaperIssue.default).isRequired,
    currentPageId: _propTypes.default.number.isRequired,
    downloadImageMethod: _propTypes.default.func,
    onItemClick: _propTypes.default.func.isRequired,
    SpecialComponent: _propTypes.default.node,
    navigation: _propTypes.default.shape({
      navigate: _propTypes.default.func
    }).isRequired,
    size: _propTypes.default.shape({
      width: _propTypes.default.number,
      height: _propTypes.default.number
    }).isRequired
  }, _$$_REQUIRE(_dependencyMap[32]).Shortcut.propTypes);
  NewsmemoryThumbnail.defaultProps = (0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[32]).Shortcut.defaultProps);
},2346,[5,80,6,7,8,15,90,12,14,16,17,201,28,2347,2348,644,638,587,603,574,715,460,714,458,572,717,1873,2349,462,1910,2350,699,1911]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  exports.__esModule = true;

  exports["default"] = function (_a) {
    var getItemHeight = _a.getItemHeight,
        _b = _a.getSeparatorHeight,
        getSeparatorHeight = _b === undefined ? function () {
      return 0;
    } : _b,
        _c = _a.getSectionHeaderHeight,
        getSectionHeaderHeight = _c === undefined ? function () {
      return 0;
    } : _c,
        _d = _a.getSectionFooterHeight,
        getSectionFooterHeight = _d === undefined ? function () {
      return 0;
    } : _d,
        _e = _a.listHeaderHeight,
        listHeaderHeight = _e === undefined ? 0 : _e;
    return function (data, index) {
      var i = 0;
      var sectionIndex = 0;
      var elementPointer = {
        type: 'SECTION_HEADER'
      };
      var offset = typeof listHeaderHeight === 'function' ? listHeaderHeight() : listHeaderHeight;

      while (i < index) {
        switch (elementPointer.type) {
          case 'SECTION_HEADER':
            {
              var sectionData = data[sectionIndex].data;
              offset += getSectionHeaderHeight(sectionIndex);

              if (sectionData.length === 0) {
                elementPointer = {
                  type: 'SECTION_FOOTER'
                };
              } else {
                elementPointer = {
                  type: 'ROW',
                  index: 0
                };
              }

              break;
            }

          case 'ROW':
            {
              var sectionData = data[sectionIndex].data;
              var rowIndex = elementPointer.index;
              offset += getItemHeight(sectionData[rowIndex], sectionIndex, rowIndex);
              elementPointer.index += 1;

              if (rowIndex === sectionData.length - 1) {
                elementPointer = {
                  type: 'SECTION_FOOTER'
                };
              } else {
                offset += getSeparatorHeight(sectionIndex, rowIndex);
              }

              break;
            }

          case 'SECTION_FOOTER':
            {
              offset += getSectionFooterHeight(sectionIndex);
              sectionIndex += 1;
              elementPointer = {
                type: 'SECTION_HEADER'
              };
              break;
            }
        }

        i += 1;
      }

      var length;

      switch (elementPointer.type) {
        case 'SECTION_HEADER':
          length = getSectionHeaderHeight(sectionIndex);
          break;

        case 'ROW':
          var rowIndex = elementPointer.index;
          length = getItemHeight(data[sectionIndex].data[rowIndex], sectionIndex, rowIndex);
          break;

        case 'SECTION_FOOTER':
          length = getSectionFooterHeight(sectionIndex);
          break;

        default:
          throw new Error('Unknown elementPointer.type');
      }

      return {
        length: length,
        offset: offset,
        index: index
      };
    };
  };
},2347,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports._getThumbnailsWidth = exports._getThumbnailWidth = exports._getSectionItemHeight = exports._getThumbnailHeight = exports._getSectionHeight = exports.MINIMUM_THUMBNAIL_WIDTH = exports.THUMBNAIL_BORDER_WIDTH = exports.THUMBNAIL_MARGIN = exports.THUMBNAIL_HEIGHT = exports.THUMBNAIL_GRADIENT = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _Page = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[3]));

  var _Edition = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[4]));

  var THUMBNAIL_GRADIENT = [_$$_REQUIRE(_dependencyMap[5]).colors.transparent, _$$_REQUIRE(_dependencyMap[5]).colors.transparent, _$$_REQUIRE(_dependencyMap[5]).colors.transparent1200];
  exports.THUMBNAIL_GRADIENT = THUMBNAIL_GRADIENT;
  var THUMBNAIL_HEIGHT = 210;
  exports.THUMBNAIL_HEIGHT = THUMBNAIL_HEIGHT;
  var THUMBNAIL_MARGIN = 20;
  exports.THUMBNAIL_MARGIN = THUMBNAIL_MARGIN;
  var THUMBNAIL_BORDER_WIDTH = 1;
  exports.THUMBNAIL_BORDER_WIDTH = THUMBNAIL_BORDER_WIDTH;
  var MINIMUM_THUMBNAIL_WIDTH = 100;
  exports.MINIMUM_THUMBNAIL_WIDTH = MINIMUM_THUMBNAIL_WIDTH;

  var _getSectionHeight = function _getSectionHeight() {
    return _$$_REQUIRE(_dependencyMap[6]).HEADER_HEIGHT + _$$_REQUIRE(_dependencyMap[6]).HEADER_HR_SIZE;
  };

  exports._getSectionHeight = _getSectionHeight;

  var _getThumbnailHeight = function _getThumbnailHeight(page) {
    return THUMBNAIL_HEIGHT;
  };

  exports._getThumbnailHeight = _getThumbnailHeight;

  var _getSectionItemHeight = function _getSectionItemHeight(rowData) {
    if (rowData && rowData[0] && rowData[0][0]) {
      var page = rowData[0][0].page;
      return _getThumbnailHeight(page) + 40;
    }

    return 0;
  };

  exports._getSectionItemHeight = _getSectionItemHeight;

  var _getThumbnailWidth = function _getThumbnailWidth(edition, page, maxWidth, referenceHeight) {
    var pageSize = _newsmemoryUtils.default.getPageSizeFixed(edition, page);

    var divider = page.isDoubleTruck() ? 2 : 1;
    var aspectRatio = pageSize.pageWidth / divider / pageSize.pageHeight;

    var height = referenceHeight || _getThumbnailHeight(page);

    var width = Math.max(height * aspectRatio, MINIMUM_THUMBNAIL_WIDTH);

    if (maxWidth) {
      width = Math.min(width, maxWidth / 2);
    }

    return width * divider;
  };

  exports._getThumbnailWidth = _getThumbnailWidth;

  var _getThumbnailsWidth = function _getThumbnailsWidth(edition, thumbnails, withMargin, maxWidth, referenceHeight) {
    if (thumbnails) {
      var thumbWidth = thumbnails.reduce(function (width, thumbnail) {
        var thumbnailWidth = thumbnail.size.width || _getThumbnailWidth(edition, thumbnail.page, maxWidth, referenceHeight);

        return width + thumbnailWidth;
      }, 0);
      var margin = withMargin ? 40 : 0;
      return thumbWidth + margin;
    }

    return 0;
  };

  exports._getThumbnailsWidth = _getThumbnailsWidth;

  var _default = _reactNative.StyleSheet.create({
    container: {
      flex: 1,
      flexDirection: "column",
      backgroundColor: _$$_REQUIRE(_dependencyMap[5]).colors.white
    },
    sectionParent: {
      flexDirection: "column"
    },
    section: {
      minHeight: _$$_REQUIRE(_dependencyMap[6]).HEADER_HEIGHT,
      padding: _$$_REQUIRE(_dependencyMap[6]).HEADER_PADDING,
      flexDirection: "row",
      justifyContent: "flex-start",
      alignItems: "flex-end",
      backgroundColor: _$$_REQUIRE(_dependencyMap[5]).colors.white
    },
    hr: {
      height: _$$_REQUIRE(_dependencyMap[6]).HEADER_HR_SIZE,
      backgroundColor: _$$_REQUIRE(_dependencyMap[5]).colors.black
    },
    sectionText: {
      fontSize: _$$_REQUIRE(_dependencyMap[6]).TITLE_SIZE,
      color: _$$_REQUIRE(_dependencyMap[5]).colors.black
    },
    row: {
      flexDirection: "row",
      justifyContent: "space-between"
    },
    thumbnailParent: {
      flexDirection: "row"
    },
    text: {
      position: "absolute",
      alignSelf: "center",
      bottom: 0,
      padding: 5,
      fontSize: _$$_REQUIRE(_dependencyMap[6]).PAGE_SIZE,
      color: _$$_REQUIRE(_dependencyMap[5]).colors.white
    },
    textRight: {
      end: 0
    },
    textLeft: {
      start: 0
    },
    textUnselected: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[5]).colors.black
    },
    textFocused: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[5]).colors.md_grey_600
    },
    textSelected: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[5]).colors.md_red_600
    },
    touchable: {
      marginVertical: THUMBNAIL_MARGIN,
      borderWidth: THUMBNAIL_BORDER_WIDTH
    },
    touchableSelected: {
      borderColor: _$$_REQUIRE(_dependencyMap[5]).colors.md_red_600
    },
    touchableUnselected: {
      borderColor: _$$_REQUIRE(_dependencyMap[5]).colors.black
    },
    touchableFocused: {
      borderColor: _$$_REQUIRE(_dependencyMap[5]).colors.md_grey_600
    },
    touchableUnFocused: {
      borderColor: _$$_REQUIRE(_dependencyMap[5]).colors.black
    },
    image: {
      flex: 1,
      height: THUMBNAIL_HEIGHT
    },
    gradient: {
      position: "absolute",
      top: 0,
      start: 0,
      end: 0,
      bottom: 0
    },
    download: {
      marginHorizontal: 10,
      width: 50
    },
    downloadIcon: {
      fontSize: _$$_REQUIRE(_dependencyMap[6]).PAGE_SIZE,
      padding: 5
    },
    downloadSpinner: {
      flex: 0,
      alignSelf: "center",
      padding: 5
    }
  });

  exports.default = _default;
},2348,[28,5,638,603,644,462,729]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Thumbnail = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var Thumbnail = function () {
    function Thumbnail() {
      (0, _classCallCheck2.default)(this, Thumbnail);
    }

    (0, _createClass2.default)(Thumbnail, [{
      key: "setSize",
      value: function setSize(size) {
        this.size = size;
      }
    }, {
      key: "getSize",
      value: function getSize() {
        return this.size;
      }
    }, {
      key: "setLocalPath",
      value: function setLocalPath(localPath) {
        this.localPath = localPath;
      }
    }, {
      key: "getLocalPath",
      value: function getLocalPath() {
        return this.localPath;
      }
    }, {
      key: "setDownloadMethod",
      value: function setDownloadMethod(downloadMethod) {
        this.downloadMethod = downloadMethod;
      }
    }, {
      key: "getDownloadMethod",
      value: function getDownloadMethod() {
        return this.downloadMethod;
      }
    }, {
      key: "setSelected",
      value: function setSelected(selected) {
        this.selected = selected;
      }
    }, {
      key: "isSelected",
      value: function isSelected() {
        return this.selected;
      }
    }, {
      key: "setFocused",
      value: function setFocused(focused) {
        this.focused = focused;
      }
    }, {
      key: "isFocused",
      value: function isFocused() {
        return this.focused;
      }
    }, {
      key: "setPage",
      value: function setPage(page) {
        this.page = page;
      }
    }, {
      key: "getPage",
      value: function getPage() {
        return this.page;
      }
    }]);
    return Thumbnail;
  }();

  exports.Thumbnail = Thumbnail;
},2349,[5,7,8,638]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports._getHorizontalList = exports._rowKeyExtractor = exports._getThumbnail = exports._getSectionView = exports.PLACEHOLDER_POSITION = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _thumbnailComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _fallbackImageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _pageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _share = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var PLACEHOLDER_POSITION = {
    NONE: 0,
    LEFT: 1,
    RIGHT: 2
  };
  exports.PLACEHOLDER_POSITION = PLACEHOLDER_POSITION;

  var _getSectionView = function _getSectionView(section) {
    var isSpecial = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
    var containerClasses = ["newsmemory-thumbnails-section-container"];
    var textClasses = ["newsmemory-thumbnails-section-text"];

    if (isSpecial) {
      containerClasses.push("newsmemory-thumbnails-special-section-container");
      textClasses.push("newsmemory-thumbnails-special-section-text");
    }

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
      classes: containerClasses
    }, _react.default.createElement(_reactNative.View, {
      style: _thumbnailComponent.default.section
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
      classes: textClasses
    }, _react.default.createElement(_fontText.default, {
      type: _fontText.Type.bold,
      style: _thumbnailComponent.default.sectionText
    }, section))), (0, _$$_REQUIRE(_dependencyMap[15]).hr)(_thumbnailComponent.default.hr, "newsmemory-thumbnails-section-separator"));
  };

  exports._getSectionView = _getSectionView;

  var _getLeftPage = function _getLeftPage(page, isSelected, isFocused) {
    var isHighlighted = isSelected || isFocused;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
      classes: ["newsmemory-thumbnails-page-text", !isHighlighted ? "newsmemory-thumbnails-page-text-unselected" : "", isFocused ? "newsmemory-thumbnails-page-text-focused" : "", isSelected ? "newsmemory-thumbnails-page-text-selected" : "", "newsmemory-thumbnails-page-text-left"]
    }, _react.default.createElement(_fontText.default, {
      style: [_thumbnailComponent.default.text, _thumbnailComponent.default.textLeft, !isHighlighted ? _thumbnailComponent.default.textUnselected : undefined, isFocused ? _thumbnailComponent.default.textFocused : undefined, isSelected ? _thumbnailComponent.default.textSelected : undefined]
    }, _pageUtils.default.removeZerosFromPageNumber(page.getShownPage())));
  };

  var _getRightPage = function _getRightPage(page, isSelected, isFocused) {
    var isHighlighted = isSelected || isFocused;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
      classes: ["newsmemory-thumbnails-page-text", !isHighlighted ? "newsmemory-thumbnails-page-text-unselected" : "", isFocused ? "newsmemory-thumbnails-page-text-focused" : "", isSelected ? "newsmemory-thumbnails-page-text-selected" : "", "newsmemory-thumbnails-page-text-right"]
    }, _react.default.createElement(_fontText.default, {
      style: [_thumbnailComponent.default.text, _thumbnailComponent.default.textRight, !isHighlighted ? _thumbnailComponent.default.textUnselected : undefined, isFocused ? _thumbnailComponent.default.textFocused : undefined, isSelected ? _thumbnailComponent.default.textSelected : undefined]
    }, page.isDoubleTruck() ? _pageUtils.default.removeZerosFromPageNumber(_pageUtils.default.getNextPageNumber(page.getShownPage())) : _pageUtils.default.removeZerosFromPageNumber(page.getShownPage())));
  };

  var _downloadPDF = function _callee(newspaper, page) {
    var overlayConfig;
    return _regenerator.default.async(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            overlayConfig = {
              id: "download"
            };

            _$$_REQUIRE(_dependencyMap[16]).LoadingOverlay.show(overlayConfig);

            _context.next = 4;
            return _regenerator.default.awrap(_share.default.sharePDF(newspaper, page));

          case 4:
            (0, _$$_REQUIRE(_dependencyMap[17]).sendNewsmemoryDownloadPDFEvent)(newspaper.getEditionModel(), page);

            _$$_REQUIRE(_dependencyMap[16]).LoadingOverlay.hide(overlayConfig);

          case 6:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, null, Promise);
  };

  var _getThumbnail = function _getThumbnail(newspaper, thumbnails, index, _onPress, addPlaceholder) {
    var _global$getActivePSet = global.getActivePSetup(),
        downloadSinglePdf = _global$getActivePSet.downloadSinglePdf;

    var edition = newspaper.getEditionModel();
    var isPlaceholderLeft = addPlaceholder === PLACEHOLDER_POSITION.LEFT;
    var isPlaceholderRight = addPlaceholder === PLACEHOLDER_POSITION.RIGHT;
    var placeholder = null;

    if (isPlaceholderLeft || isPlaceholderRight) {
      var styleMargin = {};

      if (isPlaceholderLeft) {
        styleMargin.marginStart = _thumbnailComponent.THUMBNAIL_MARGIN;
      } else {
        styleMargin.marginEnd = _thumbnailComponent.THUMBNAIL_MARGIN;
      }

      placeholder = _react.default.createElement(_reactNative.View, {
        key: "placeholder",
        style: [_thumbnailComponent.default.touchable, {
          width: thumbnails[0].getSize().width || (0, _thumbnailComponent._getThumbnailWidth)(edition, thumbnails[0].getPage()),
          borderWidth: 0
        }, styleMargin]
      });
    }

    return _react.default.createElement(_reactNative.View, {
      style: [_thumbnailComponent.default.thumbnailParent],
      key: index
    }, isPlaceholderLeft ? placeholder : null, thumbnails.map(function (item, thumbnailIndex) {
      var thumbnail = item.getPage();
      var isHighlighted = item.isSelected() || item.isFocused();
      var leftPage = null;
      var rightPage = null;
      var marginStart = isPlaceholderLeft ? 0 : _thumbnailComponent.THUMBNAIL_MARGIN;
      var marginEnd = isPlaceholderRight ? 0 : _thumbnailComponent.THUMBNAIL_MARGIN;
      var borderStartWidth = _thumbnailComponent.THUMBNAIL_BORDER_WIDTH;
      var borderEndWidth = _thumbnailComponent.THUMBNAIL_BORDER_WIDTH;
      var borderVertical = _thumbnailComponent.THUMBNAIL_BORDER_WIDTH;
      var alignDownload;

      if (thumbnail.isDoubleTruck()) {
        leftPage = _getLeftPage(thumbnail, item.isSelected(), item.isFocused());
        rightPage = _getRightPage(thumbnail, item.isSelected(), item.isFocused());
        alignDownload = "center";
      } else if (thumbnailIndex === 1) {
        rightPage = _getRightPage(thumbnail, item.isSelected(), item.isFocused());
        borderStartWidth = isHighlighted || isPlaceholderLeft ? _thumbnailComponent.THUMBNAIL_BORDER_WIDTH : 0;
        marginStart = 0;
        alignDownload = "flex-start";
      } else {
        rightPage = _getLeftPage(thumbnail, item.isSelected(), item.isFocused());
        borderEndWidth = isHighlighted || thumbnails.length === 1 || isPlaceholderRight ? _thumbnailComponent.THUMBNAIL_BORDER_WIDTH : 0;
        marginEnd = thumbnails.length === 1 && !isPlaceholderRight ? _thumbnailComponent.THUMBNAIL_MARGIN : 0;
        alignDownload = "flex-end";
      }

      if (isHighlighted) {
        borderStartWidth *= 2;
        borderEndWidth *= 2;
        borderVertical *= 2;
      }

      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
        key: thumbnailIndex,
        classes: ["newsmemory-thumbnails-pages", !isHighlighted ? "newsmemory-thumbnails-pages-unselected" : "", item.isFocused() ? "newsmemory-thumbnails-pages-focused" : "", item.isSelected() ? "newsmemory-thumbnails-pages-selected" : ""]
      }, _react.default.createElement(_reactNative.TouchableOpacity, {
        style: [_thumbnailComponent.default.touchable, !isHighlighted ? _thumbnailComponent.default.touchableUnselected : undefined, item.isFocused() ? _thumbnailComponent.default.touchableFocused : undefined, item.isSelected() ? _thumbnailComponent.default.touchableSelected : undefined, {
          height: item.size.height || (0, _thumbnailComponent._getThumbnailHeight)(thumbnail),
          width: item.size.width || (0, _thumbnailComponent._getThumbnailWidth)(edition, thumbnail),
          marginEnd: marginEnd,
          marginStart: marginStart,
          borderStartWidth: borderStartWidth,
          borderEndWidth: borderEndWidth,
          borderTopWidth: borderVertical,
          borderBottomWidth: borderVertical
        }],
        onPress: function onPress() {
          if (typeof _onPress === "function") {
            _onPress(thumbnail);
          }
        }
      }, _react.default.createElement(_fallbackImageComponent.default, {
        resizeMode: "contain",
        style: [_thumbnailComponent.default.image, {
          height: item.size.height || (0, _thumbnailComponent._getThumbnailHeight)(thumbnail)
        }],
        fallback: item.getDownloadMethod(),
        spinnerColor: _newsmemoryUtils.default.getSpinnerColor(),
        source: {
          uri: item.getLocalPath()
        }
      }), leftPage, rightPage, downloadSinglePdf ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[18]).DownloadButton, {
        name: "file-download",
        style: [_thumbnailComponent.default.download, {
          alignSelf: alignDownload
        }],
        iconStyle: [_thumbnailComponent.default.downloadIcon, {
          alignSelf: alignDownload
        }],
        spinnerSize: _$$_REQUIRE(_dependencyMap[19]).PAGE_SIZE,
        spinnerStyle: _thumbnailComponent.default.downloadSpinner,
        type: _$$_REQUIRE(_dependencyMap[20]).TecnaviaIconType.MATERIAL_ICONS,
        onPress: function onPress() {
          return _downloadPDF(newspaper, thumbnail);
        },
        disabled: thumbnail.isProtected() || _share.default.checkSharesRemotely() && !_$$_REQUIRE(_dependencyMap[21]).NetworkUtils.isOnline(),
        disableEvent: _events.default.SHARE_CHANGE_BUTTON_VISIBILITY
      }) : null));
    }), isPlaceholderRight ? placeholder : null);
  };

  exports._getThumbnail = _getThumbnail;

  var _keyExtractor = function _keyExtractor(thumbnails, index) {
    if (thumbnails) {
      var key = thumbnails.reduce(function (result, _ref) {
        var page = _ref.page;
        return result + "_" + page.getPageId();
      }, "");
      return key;
    }

    return index;
  };

  var _rowKeyExtractor = function _rowKeyExtractor(row, index) {
    if (row && Array.isArray(row)) {
      return row.reduce(function (result, items) {
        return result + "_" + _keyExtractor(items);
      }, "");
    }

    return index;
  };

  exports._rowKeyExtractor = _rowKeyExtractor;

  var _renderItem = function _renderItem(newspaper, row, total, onPress, addPlaceholder) {
    var item = row.item,
        index = row.index;

    if (addPlaceholder === PLACEHOLDER_POSITION.LEFT && index !== 0) {
      addPlaceholder = PLACEHOLDER_POSITION.NONE;
    } else if (addPlaceholder === PLACEHOLDER_POSITION.RIGHT && index !== total - 1) {
      addPlaceholder = PLACEHOLDER_POSITION.NONE;
    }

    if (item && item.length === 2) {
      addPlaceholder = PLACEHOLDER_POSITION.NONE;
    }

    return _getThumbnail(newspaper, item, index, onPress, addPlaceholder);
  };

  var _getHorizontalList = function _getHorizontalList(onRef, thumbnails, onPress, newspaper, initialIndex, addPlaceholder) {
    var style = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : {};
    var edition = newspaper.getEditionModel();
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
      classes: ["newsmemory-thumbnails-section-content"]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[22]).TecnaviaFlatList, {
      ref: onRef,
      data: thumbnails,
      onScrollToIndexFailed: function onScrollToIndexFailed(info) {},
      getItemLayout: function getItemLayout(data, index) {
        var width = (0, _thumbnailComponent._getThumbnailsWidth)(edition, data[index], true);
        var offset = 0;

        for (var i = 0; i < index; i++) {
          offset += (0, _thumbnailComponent._getThumbnailsWidth)(edition, data[i], true);
        }

        var result = {
          length: width,
          offset: offset,
          index: index
        };
        return result;
      },
      keyExtractor: _keyExtractor,
      horizontal: true,
      bounces: false,
      initialScrollIndex: initialIndex,
      renderItem: function renderItem(item) {
        return _renderItem(newspaper, item, thumbnails.length, onPress, addPlaceholder);
      },
      style: style
    }));
  };

  exports._getHorizontalList = _getHorizontalList;
},2350,[5,80,17,28,2348,1879,2351,638,715,603,644,714,2352,460,699,2195,1950,1954,2353,729,1806,462,1910]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var FallbackImage = function (_React$Component) {
    (0, _inherits2.default)(FallbackImage, _React$Component);

    var _super = _createSuper(FallbackImage);

    function FallbackImage(props) {
      var _this;

      (0, _classCallCheck2.default)(this, FallbackImage);
      _this = _super.call(this, props);
      _this.state = {
        error: false,
        useFallback: false
      };
      return _this;
    }

    (0, _createClass2.default)(FallbackImage, [{
      key: "_onFallback",
      value: function _onFallback() {
        var _this$state, error, useFallback, fallback;

        return _regenerator.default.async(function _onFallback$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _this$state = this.state, error = _this$state.error, useFallback = _this$state.useFallback;
                fallback = this.props.fallback;

                if (!(error && !useFallback)) {
                  _context.next = 11;
                  break;
                }

                _context.prev = 3;
                _context.next = 6;
                return _regenerator.default.awrap(fallback());

              case 6:
                this.setState({
                  error: false,
                  useFallback: true
                });
                _context.next = 11;
                break;

              case 9:
                _context.prev = 9;
                _context.t0 = _context["catch"](3);

              case 11:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[3, 9]], Promise);
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props = this.props,
            source = _this$props.source,
            fallback = _this$props.fallback,
            spinnerColor = _this$props.spinnerColor,
            style = _this$props.style,
            rest = (0, _objectWithoutProperties2.default)(_this$props, ["source", "fallback", "spinnerColor", "style"]);
        var error = this.state.error;

        if (error) {
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).ProgressCircle, {
            spinnerColor: spinnerColor,
            spinnerStyle: [{
              flex: 0
            }, style]
          });
        }

        return _react.default.createElement(_imageComponent.default, (0, _extends2.default)({}, rest, {
          style: style,
          onError: function onError() {
            _this2.setState({
              error: true
            }, _this2._onFallback);
          },
          source: source
        }));
      }
    }]);
    return FallbackImage;
  }(_react.default.Component);

  exports.default = FallbackImage;
  FallbackImage.propTypes = {
    fallback: _propTypes.default.func.isRequired,
    spinnerColor: _propTypes.default.string,
    style: _propTypes.default.any,
    source: _propTypes.default.object
  };
},2351,[5,80,6,108,7,8,12,14,16,17,201,588,1953]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.SHARE_REMOTE_ERRORS = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _reactNativeShare = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNativeMail = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _NewsmemoryAJAX = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _EPaperArticle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _tecnaviaPlatformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var SHARE_REMOTE_ERRORS = {
    NONE: 0,
    GENERIC: 1,
    LIMIT_REACHED: 2
  };
  exports.SHARE_REMOTE_ERRORS = SHARE_REMOTE_ERRORS;

  var NewsmemoryShare = function () {
    function NewsmemoryShare() {
      (0, _classCallCheck2.default)(this, NewsmemoryShare);
    }

    (0, _createClass2.default)(NewsmemoryShare, [{
      key: "share",
      value: function share(onShareLoaded) {
        var _global$getActivePSet, messageMaxShare, issue, edition, shareParams, shareConfig, shareid, publinkURL, publinkShortURL, error, NONE, LIMIT_REACHED, fullPublink, shortPublink, shareType, _await$this$shareAll, app, userConfig;

        return _regenerator.default.async(function share$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.prev = 0;
                _global$getActivePSet = global.getActivePSetup(), messageMaxShare = _global$getActivePSet.messageMaxShare;
                issue = this.editionModel.getIssue();
                edition = this.editionModel.getEdition();
                shareParams = {
                  artmode: this.articleType,
                  issue: issue,
                  edition: edition,
                  filename: this.page.getFilename(),
                  page: this.page.getPage(),
                  section: this.page.getSection(),
                  title: this.article.getTitle(),
                  article: this.article.getXmlId(),
                  type: "share"
                };
                _context.next = 7;
                return _regenerator.default.awrap(_NewsmemoryAJAX.default.share(shareParams));

              case 7:
                shareConfig = _context.sent;

                if (typeof onShareLoaded === "function") {
                  onShareLoaded();
                }

                shareid = shareConfig.shareid, publinkURL = shareConfig.publinkURL, publinkShortURL = shareConfig.publinkShortURL, error = shareConfig.error;
                NONE = SHARE_REMOTE_ERRORS.NONE, LIMIT_REACHED = SHARE_REMOTE_ERRORS.LIMIT_REACHED;

                if (!(error && error > NONE)) {
                  _context.next = 15;
                  break;
                }

                if (error === LIMIT_REACHED) {
                  _$$_REQUIRE(_dependencyMap[16]).Toast.show(messageMaxShare || global.strings("msg_max_share"));
                } else {
                  _$$_REQUIRE(_dependencyMap[16]).Toast.show(global.strings("system_error"));
                }

                _context.next = 44;
                break;

              case 15:
                if (!(shareid && shareid.length > 0)) {
                  _context.next = 43;
                  break;
                }

                fullPublink = this.getPublink(publinkURL, shareid);
                shortPublink = this.getPublink(publinkShortURL || publinkURL, shareid);
                shareType = this.shareType;
                _context.t0 = this.shareType;
                _context.next = _context.t0 === _$$_REQUIRE(_dependencyMap[17]).NewsmemoryShareType.ALL ? 22 : _context.t0 === _$$_REQUIRE(_dependencyMap[17]).NewsmemoryShareType.FACEBOOK ? 28 : _context.t0 === _$$_REQUIRE(_dependencyMap[17]).NewsmemoryShareType.TWITTER ? 31 : _context.t0 === _$$_REQUIRE(_dependencyMap[17]).NewsmemoryShareType.REDDIT ? 34 : _context.t0 === _$$_REQUIRE(_dependencyMap[17]).NewsmemoryShareType.EMAIL ? 37 : 40;
                break;

              case 22:
                _context.next = 24;
                return _regenerator.default.awrap(this.shareAll(fullPublink, shortPublink));

              case 24:
                _await$this$shareAll = _context.sent;
                app = _await$this$shareAll.message;

                if (app) {
                  shareType = (0, _$$_REQUIRE(_dependencyMap[18]).getShareTypeByApp)(app);
                }

                return _context.abrupt("break", 40);

              case 28:
                _context.next = 30;
                return _regenerator.default.awrap(this.shareFacebook(fullPublink));

              case 30:
                return _context.abrupt("break", 40);

              case 31:
                _context.next = 33;
                return _regenerator.default.awrap(this.shareTwitter(shortPublink));

              case 33:
                return _context.abrupt("break", 40);

              case 34:
                _context.next = 36;
                return _regenerator.default.awrap(this.shareFacebook(fullPublink));

              case 36:
                return _context.abrupt("break", 40);

              case 37:
                _context.next = 39;
                return _regenerator.default.awrap(this.shareEmail(fullPublink));

              case 39:
                return _context.abrupt("break", 40);

              case 40:
                try {
                  if (NewsmemoryShare.checkSharesLocally()) {
                    userConfig = global.getUserSettings();
                    userConfig.incrementShareCounters(issue, edition);
                  }

                  (0, _$$_REQUIRE(_dependencyMap[19]).sendNewsmemoryShareEvent)(this.editionModel, this.page, this.article, shareType);

                  _NewsmemoryAJAX.default.share((0, _extends2.default)({}, shareParams, {
                    shareId: shareid,
                    shareType: shareType
                  }));
                } catch (e) {}

                _context.next = 44;
                break;

              case 43:
                _$$_REQUIRE(_dependencyMap[16]).Toast.show(global.strings("system_error"));

              case 44:
                _context.next = 49;
                break;

              case 46:
                _context.prev = 46;
                _context.t1 = _context["catch"](0);
                throw _context.t1;

              case 49:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[0, 46]], Promise);
      }
    }, {
      key: "getPublink",
      value: function getPublink(publink, shareid) {
        if (publink && publink.length) {
          return publink;
        }

        return global.getActivePSetup().machine + "/publink.php?shareid=" + shareid;
      }
    }, {
      key: "getTitle",
      value: function getTitle(title) {
        if (title) {
          return this.replacePlaceholders(_$$_REQUIRE(_dependencyMap[20]).StringUtils.decodeHTML(_$$_REQUIRE(_dependencyMap[20]).StringUtils.decodeURIComponent(title)));
        }

        return "";
      }
    }, {
      key: "replacePlaceholders",
      value: function replacePlaceholders(text) {
        return text.replace("<papername>", global.getActivePSetup().paperName).replace("<title>", this.article.getTitle()).replace("##paper##", global.getActivePSetup().paperName).replace("##title##", this.article.getTitle());
      }
    }, {
      key: "getDefaultTitle",
      value: function getDefaultTitle() {
        return this.getTitle(global.getActivePSetup().emailSubject);
      }
    }, {
      key: "getTwitterTitle",
      value: function getTwitterTitle() {
        return this.getTitle(global.getActivePSetup().twitterText);
      }
    }, {
      key: "getContent",
      value: function getContent(publink) {
        var _global$getActivePSet2 = global.getActivePSetup(),
            emailContent = _global$getActivePSet2.emailContent;

        emailContent = this.replacePlaceholders(_$$_REQUIRE(_dependencyMap[20]).StringUtils.decodeHTML(_$$_REQUIRE(_dependencyMap[20]).StringUtils.decodeURIComponent(emailContent)));

        var decodedTitle = _$$_REQUIRE(_dependencyMap[20]).StringUtils.decodeHTML(_$$_REQUIRE(_dependencyMap[20]).StringUtils.decodeURIComponent(this.article.getTitle()));

        if (emailContent.indexOf(decodedTitle) === -1) {
          return emailContent + "\n" + decodedTitle + "\n" + publink;
        }

        return emailContent + "\n" + publink;
      }
    }, {
      key: "shareAll",
      value: function shareAll(publink, shortPublink) {
        var title, message, shortMessage, activityItemSources, textItem, shortTextItem, placeholderItem, content, osMajorVersion, base64File, fileItem, options;
        return _regenerator.default.async(function shareAll$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                title = this.getDefaultTitle();
                message = this.getContent(publink);
                shortMessage = this.getContent(shortPublink);
                activityItemSources = [];

                if (!_$$_REQUIRE(_dependencyMap[20]).PlatformUtils.isIOS()) {
                  _context2.next = 22;
                  break;
                }

                textItem = {
                  type: "text",
                  content: message
                };
                shortTextItem = {
                  type: "text",
                  content: shortMessage
                };
                activityItemSources.push({
                  placeholderItem: textItem,
                  item: {
                    default: textItem,
                    message: shortTextItem,
                    postToTwitter: shortTextItem,
                    copyToPasteBoard: {
                      type: "text",
                      content: publink
                    }
                  }
                });

                if (!this.pdfFilePath) {
                  _context2.next = 22;
                  break;
                }

                placeholderItem = textItem;
                osMajorVersion = _$$_REQUIRE(_dependencyMap[20]).PlatformUtils.getMajorSystemVersion();

                if (!(osMajorVersion < 17 && osMajorVersion >= 15)) {
                  _context2.next = 18;
                  break;
                }

                _context2.next = 14;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.readFileBase64(this.pdfFilePath));

              case 14:
                base64File = _context2.sent;
                content = "data:application/pdf;base64," + base64File;
                _context2.next = 19;
                break;

              case 18:
                content = this.pdfFilePath;

              case 19:
                fileItem = {
                  type: "url",
                  content: content
                };

                if (this.articleType === _$$_REQUIRE(_dependencyMap[17]).NewsmemoryArticleModes.GRAPHIC) {
                  placeholderItem = fileItem;
                }

                activityItemSources.push({
                  placeholderItem: placeholderItem,
                  item: {
                    default: fileItem,
                    postToFacebook: null,
                    copyToPasteBoard: null,
                    mail: null,
                    message: null,
                    postToTwitter: null
                  },
                  linkMetadata: {
                    title: _tecnaviaFileUtils.default.getFilename(this.pdfFilePath)
                  }
                });

              case 22:
                options = _reactNative.Platform.select({
                  ios: {
                    activityItemSources: activityItemSources,
                    subject: title,
                    title: title
                  },
                  default: {
                    title: title,
                    subject: title,
                    message: message,
                    type: "text/plain"
                  }
                });
                return _context2.abrupt("return", _reactNativeShare.default.open(options));

              case 24:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "shareFacebook",
      value: function shareFacebook(publink) {
        var shareUrl;
        return _regenerator.default.async(function shareFacebook$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                shareUrl = "https://www.facebook.com/sharer/sharer.php?";
                shareUrl += "t=" + this.getDefaultTitle();
                shareUrl += "&u=" + publink;
                _context3.next = 5;
                return _regenerator.default.awrap(_tecnaviaPlatformUtils.default.openURL(shareUrl));

              case 5:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "shareTwitter",
      value: function shareTwitter(publink) {
        var shareUrl;
        return _regenerator.default.async(function shareTwitter$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                shareUrl = "https://twitter.com/intent/tweet?";
                shareUrl += "text=" + this.getTwitterTitle();
                shareUrl += "&url=" + publink;
                _context4.next = 5;
                return _regenerator.default.awrap(_tecnaviaPlatformUtils.default.openURL(shareUrl));

              case 5:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "shareReddit",
      value: function shareReddit(publink) {
        var shareUrl;
        return _regenerator.default.async(function shareReddit$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                shareUrl = "https://reddit.com/submit?";
                shareUrl += "title=" + this.getDefaultTitle();
                shareUrl += "text=" + this.getContent(publink);
                shareUrl += "&url=" + publink;
                _context5.next = 6;
                return _regenerator.default.awrap(_tecnaviaPlatformUtils.default.openURL(shareUrl));

              case 6:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "shareEmail",
      value: function shareEmail(publink) {
        _reactNativeMail.default.mail({
          subject: this.getDefaultTitle(),
          recipients: [],
          body: this.getContent(publink),
          isHTML: false
        }, function (error) {});
      }
    }], [{
      key: "shareToFiles",
      value: function shareToFiles(url, type) {
        var options;
        return _regenerator.default.async(function shareToFiles$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                if (_$$_REQUIRE(_dependencyMap[20]).PlatformUtils.isIOS()) {
                  options = {
                    type: type,
                    url: url,
                    saveToFiles: true
                  };
                } else {
                  options = {
                    url: "file://" + url
                  };
                }

                _context6.prev = 1;
                _context6.next = 4;
                return _regenerator.default.awrap(_reactNativeShare.default.open(options));

              case 4:
                if (!_$$_REQUIRE(_dependencyMap[20]).PlatformUtils.isIOS()) {
                  _context6.next = 7;
                  break;
                }

                _context6.next = 7;
                return _regenerator.default.awrap(_tecnaviaPlatformUtils.default.openURL("shareddocuments://"));

              case 7:
                _context6.next = 11;
                break;

              case 9:
                _context6.prev = 9;
                _context6.t0 = _context6["catch"](1);

              case 11:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, [[1, 9]], Promise);
      }
    }, {
      key: "checkSharesLocally",
      value: function checkSharesLocally() {
        var _global$getActivePSet3 = global.getActivePSetup(),
            maxShares = _global$getActivePSet3.maxShares,
            maxSharesCheckType = _global$getActivePSet3.maxSharesCheckType;

        return maxShares > 0 && maxSharesCheckType === _$$_REQUIRE(_dependencyMap[21]).MAX_SHARE_CHECK_TYPES.LOCAL;
      }
    }, {
      key: "checkSharesRemotely",
      value: function checkSharesRemotely() {
        var _global$getActivePSet4 = global.getActivePSetup(),
            maxSharesCheckType = _global$getActivePSet4.maxSharesCheckType;

        return maxSharesCheckType === _$$_REQUIRE(_dependencyMap[21]).MAX_SHARE_CHECK_TYPES.REMOTE;
      }
    }, {
      key: "canShare",
      value: function canShare(issue, edition) {
        if (NewsmemoryShare.checkSharesLocally()) {
          var _global$getActivePSet5 = global.getActivePSetup(),
              maxShares = _global$getActivePSet5.maxShares;

          var userConfig = global.getUserSettings();
          var count = userConfig.getShareCounters(issue, edition);
          return count < maxShares;
        }

        if (NewsmemoryShare.checkSharesRemotely()) {
          return _$$_REQUIRE(_dependencyMap[20]).NetworkUtils.isOnline();
        }

        return true;
      }
    }, {
      key: "sharePDF",
      value: function sharePDF(newspaper, page) {
        var _global$getActivePSet6, messageMaxShare, issue, edition, url, type, _await$NewsmemoryAJAX, path, userConfig, NO_GRANTS, code;

        return _regenerator.default.async(function sharePDF$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                _global$getActivePSet6 = global.getActivePSetup(), messageMaxShare = _global$getActivePSet6.messageMaxShare;
                _context7.prev = 1;
                issue = newspaper.getIssue();
                edition = newspaper.getEdition();

                if (!NewsmemoryShare.canShare(issue, edition)) {
                  _context7.next = 23;
                  break;
                }

                if (!(_$$_REQUIRE(_dependencyMap[20]).PlatformUtils.isIOS() && _$$_REQUIRE(_dependencyMap[20]).PlatformUtils.getMajorSystemVersion() < 11)) {
                  _context7.next = 12;
                  break;
                }

                _context7.next = 8;
                return _regenerator.default.awrap(_NewsmemoryAJAX.default.getDownloadPdfUrl(newspaper, page));

              case 8:
                url = _context7.sent;

                _NavigationService.default.main.navigate("WebScreen", {
                  url: url,
                  externalBrowserIsEnabled: false,
                  printButtonIsEnabled: true
                });

                _context7.next = 19;
                break;

              case 12:
                type = "application/pdf";
                _context7.next = 15;
                return _regenerator.default.awrap(_NewsmemoryAJAX.default.downloadPDF(newspaper, page));

              case 15:
                _await$NewsmemoryAJAX = _context7.sent;
                path = _await$NewsmemoryAJAX.path;
                _context7.next = 19;
                return _regenerator.default.awrap(NewsmemoryShare.shareToFiles(path, type));

              case 19:
                if (NewsmemoryShare.checkSharesLocally()) {
                  userConfig = global.getUserSettings();
                  userConfig.incrementShareCounters(issue, edition);
                }

                _NewsmemoryAJAX.default.share({
                  issue: issue,
                  edition: edition,
                  filename: page.getFilename(),
                  page: page.getPage(),
                  section: page.getSection(),
                  type: "download",
                  shareType: _$$_REQUIRE(_dependencyMap[17]).NewsmemoryShareType.PDF
                });

                _context7.next = 24;
                break;

              case 23:
                if (NewsmemoryShare.checkSharesRemotely()) {
                  _$$_REQUIRE(_dependencyMap[16]).Toast.show(global.strings("err_offline"));
                } else {
                  _$$_REQUIRE(_dependencyMap[16]).Toast.show(messageMaxShare || global.strings("msg_max_share"));
                }

              case 24:
                _context7.next = 29;
                break;

              case 26:
                _context7.prev = 26;
                _context7.t0 = _context7["catch"](1);

                if (_context7.t0 instanceof _$$_REQUIRE(_dependencyMap[22]).DownloadError) {
                  NO_GRANTS = _$$_REQUIRE(_dependencyMap[22]).DOWNLOAD_ERROR_CODES.NO_GRANTS;
                  code = _context7.t0.code;

                  if (code === NO_GRANTS) {
                    _$$_REQUIRE(_dependencyMap[16]).Toast.show(messageMaxShare || global.strings("msg_max_share"));
                  }
                } else {}

              case 29:
              case "end":
                return _context7.stop();
            }
          }
        }, null, null, [[1, 26]], Promise);
      }
    }]);
    return NewsmemoryShare;
  }();

  exports.default = NewsmemoryShare;
},2352,[5,80,6,7,8,28,575,2152,430,640,638,644,714,1861,574,1876,1889,1893,1892,1954,462,717,586]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.DownloadButton = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  var _iconComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var DownloadButton = function (_React$Component) {
    (0, _inherits2.default)(DownloadButton, _React$Component);

    var _super = _createSuper(DownloadButton);

    function DownloadButton(props) {
      var _this;

      (0, _classCallCheck2.default)(this, DownloadButton);
      _this = _super.call(this, props);
      _this.onPress = _this._onPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        downloading: false,
        disabled: props.disabled
      };
      return _this;
    }

    (0, _createClass2.default)(DownloadButton, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        var _this$props = this.props,
            completedEvent = _this$props.completedEvent,
            disableEvent = _this$props.disableEvent;

        if (completedEvent) {
          this.completedId = _$$_REQUIRE(_dependencyMap[13]).EventRegister.on(completedEvent, function () {
            var _this2$state = _this2.state,
                downloading = _this2$state.downloading,
                disabled = _this2$state.disabled;

            if (downloading) {
              _this2.setState({
                downloading: false
              });
            } else if (disabled) {
              _this2.setState({
                disabled: false
              });
            }
          });
        }

        if (disableEvent) {
          this.disabledId = _$$_REQUIRE(_dependencyMap[13]).EventRegister.on(disableEvent, function (_ref) {
            var disabled = _ref.disabled;
            var downloading = _this2.state.downloading;

            if (!downloading) {
              _this2.setState({
                disabled: disabled
              });
            }
          });
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[13]).EventRegister.rm(this.completedId);

        _$$_REQUIRE(_dependencyMap[13]).EventRegister.rm(this.disabledId);
      }
    }, {
      key: "_onPress",
      value: function _onPress() {
        var _this$props2 = this.props,
            completedEvent = _this$props2.completedEvent,
            onPress = _this$props2.onPress;
        var downloading = this.state.downloading;

        if (!downloading && onPress && typeof onPress === "function") {
          if (completedEvent) {
            this.setState({
              downloading: true
            }, onPress);
          } else {
            onPress();
          }
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props3 = this.props,
            onPress = _this$props3.onPress,
            spinnerSize = _this$props3.spinnerSize,
            spinnerStyle = _this$props3.spinnerStyle,
            style = _this$props3.style,
            iconStyle = _this$props3.iconStyle,
            rest = (0, _objectWithoutProperties2.default)(_this$props3, ["onPress", "spinnerSize", "spinnerStyle", "style", "iconStyle"]);
        var _this$state = this.state,
            downloading = _this$state.downloading,
            disabled = _this$state.disabled;
        var IconComponent;

        if (downloading) {
          IconComponent = _react.default.createElement(_reactNative.View, {
            style: style
          }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
            classes: ["newsmemory-thumbnail-download-icon"]
          }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).ProgressCircle, {
            advanced: true,
            indeterminate: true,
            spinnerSize: spinnerSize,
            spinnerStyle: [spinnerStyle, _$$_REQUIRE(_dependencyMap[14]).Css.getStyleObjByCssClasses(["newsmemory-thumbnail-download-icon"])]
          })));
        } else {
          var cssStyles = ["newsmemory-icon", "newsmemory-thumbnail-download-icon"];

          if (disabled) {
            cssStyles.push("newsmemory-thumbnail-download-icon-disabled");
          }

          IconComponent = _react.default.createElement(_reactNative.TouchableOpacity, {
            style: iconStyle,
            disabled: disabled,
            onPress: this.onPress
          }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
            classes: cssStyles
          }, _react.default.createElement(_iconComponent.default, (0, _extends2.default)({
            style: iconStyle
          }, rest))));
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
          classes: ["newsmemory-thumbnail-download-parent"]
        }, IconComponent);
      }
    }]);
    return DownloadButton;
  }(_react.default.Component);

  exports.DownloadButton = DownloadButton;
  DownloadButton.propTypes = (0, _extends2.default)({
    onPress: _propTypes.default.func.isRequired,
    completedEvent: _propTypes.default.string,
    disableEvent: _propTypes.default.string,
    spinnerSize: _propTypes.default.number,
    iconStyle: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array]),
    spinnerStyle: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array]),
    disabled: _propTypes.default.bool
  }, _iconComponent.default.PropTypes);
  DownloadButton.defaultProps = {
    disabled: false
  };
},2353,[5,6,108,7,8,15,12,14,16,17,201,28,1806,572,699,1953]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _indexComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _secondIndexComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _EPaperArticle = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[15]));

  var _InStoryAd = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _simpleButtonComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _closeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _subHeaderComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _headerInfoComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[23]));

  var _twoStateButtonComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[24]));

  var _subHeaderButtons = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[25]));

  var _customIndexComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[26]));

  var _AccessibilityListItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[27]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[28]));

  var _newsmemoryUtils = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[29]));

  var _sdkUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[30]));

  var _tabIndexComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[31]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[32]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NewsmemoryIndexLayoutManager = function (_PureShortcut) {
    (0, _inherits2.default)(NewsmemoryIndexLayoutManager, _PureShortcut);

    var _super = _createSuper(NewsmemoryIndexLayoutManager);

    function NewsmemoryIndexLayoutManager(props) {
      var _this;

      (0, _classCallCheck2.default)(this, NewsmemoryIndexLayoutManager);
      _this = _super.call(this, props);
      _this.firstLevel = [];
      _this.allArticles = [];
      _this.secondLevels = [];
      _this.indexSecondLevel = 0;
      _this.onIndexSecondLevelItemPress = _this._onIndexSecondLevelItemPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onIndexFirstLevelItemPress = _this._onIndexFirstLevelItemPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.closeAccessibility = _this._closeAccessibility.bind((0, _assertThisInitialized2.default)(_this));
      _this.closeCarMode = _this._closeCarMode.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSwipeDown = _this._onSwipeDown.bind((0, _assertThisInitialized2.default)(_this));
      _this.goToNextSection = _this._goToNextSection.bind((0, _assertThisInitialized2.default)(_this));
      _this.goToNextSectionRepeat = _this._goToNextSectionRepeat.bind((0, _assertThisInitialized2.default)(_this));
      _this.goToPreviousSection = _this._goToPreviousSection.bind((0, _assertThisInitialized2.default)(_this));
      _this.goToPreviousSectionRepeat = _this._goToPreviousSectionRepeat.bind((0, _assertThisInitialized2.default)(_this));
      _this.goToTop = _this._goToTop.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSecondLevelChange = _this._onSecondLevelChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.toggleFullscreen = _this._toggleFullscreen.bind((0, _assertThisInitialized2.default)(_this));
      _this.getButton = _this._getButton.bind((0, _assertThisInitialized2.default)(_this));
      _this.shouldUseCustomIndex = props.customIndexHtml !== undefined;
      _this.isCustomIndex = !props.accessibilityEnabled && _this.shouldUseCustomIndex;
      _this.firstLevel = _this._getFirstLevel();
      _this.allArticles = _this._getSecondLevelItems();
      _this.secondLevels = _this._getSecondLevel(_this.firstLevel);

      _this._setLevel(props.indexLevel);

      _this.indexSecondLevel = _this._getSectionByArticle(props);
      return _this;
    }

    (0, _createClass2.default)(NewsmemoryIndexLayoutManager, [{
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(props) {
        this.shouldUseCustomIndex = props.customIndexHtml !== undefined;
        this.isCustomIndex = !props.accessibilityEnabled && this.shouldUseCustomIndex;
        this.firstLevel = this._getFirstLevel();
        this.allArticles = this._getSecondLevelItems();
        this.secondLevels = this._getSecondLevel(this.firstLevel);

        this._setLevel(props.indexLevel);

        this.indexSecondLevel = this._getSectionByArticle(props);
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate() {
        if (this.isSecondLevel()) {
          this._alignPageToCurrentSection();
        }

        var onIndexLevelChange = this.props.onIndexLevelChange;

        if (typeof onIndexLevelChange === "function") {
          onIndexLevelChange(this.level);
        }
      }
    }, {
      key: "isSecondLevel",
      value: function isSecondLevel() {
        return this.level === 2;
      }
    }, {
      key: "_handleShortcut",
      value: function _handleShortcut() {
        var onClose = this.props.onClose;

        var LEFT = _$$_REQUIRE(_dependencyMap[33]).KEY_GROUPS.LEFT,
            RIGHT = _$$_REQUIRE(_dependencyMap[33]).KEY_GROUPS.RIGHT,
            OPEN = _$$_REQUIRE(_dependencyMap[33]).KEY_GROUPS.OPEN,
            CLOSE = _$$_REQUIRE(_dependencyMap[33]).KEY_GROUPS.CLOSE;

        var NEXT = _$$_REQUIRE(_dependencyMap[33]).VOICE_GROUPS.NEXT,
            PREVIOUS = _$$_REQUIRE(_dependencyMap[33]).VOICE_GROUPS.PREVIOUS,
            GO_UP = _$$_REQUIRE(_dependencyMap[33]).VOICE_GROUPS.GO_UP,
            CLOSE_APP = _$$_REQUIRE(_dependencyMap[33]).VOICE_GROUPS.CLOSE_APP;

        var shortcuts = [{
          callback: this.toggleFullscreen,
          keys: ["SPACE"],
          stopPropagation: true
        }, {
          callback: onClose,
          keys: CLOSE,
          stopPropagation: true
        }, {
          callback: this.closeCarMode,
          keys: CLOSE_APP(),
          stopPropagation: true
        }];

        if (this.isSecondLevel()) {
          shortcuts.push({
            callbackRepeat: this.goToPreviousSectionRepeat,
            keys: LEFT
          }, {
            callbackRepeat: this.goToPreviousSectionRepeat,
            keys: PREVIOUS()
          }, {
            callbackRepeat: this.goToNextSectionRepeat,
            keys: RIGHT
          }, {
            callbackRepeat: this.goToNextSectionRepeat,
            keys: NEXT()
          }, {
            callback: this.onSwipeDown,
            keys: OPEN,
            stopPropagation: true
          }, {
            callback: this.onSwipeDown,
            keys: GO_UP(),
            stopPropagation: true
          });
        }

        return shortcuts;
      }
    }, {
      key: "_setLevel",
      value: function _setLevel(level) {
        var edition = this.props.edition;
        this.level = _newsmemoryUtils.default.oneLevelIndex(edition) ? 1 : level;
      }
    }, {
      key: "_simulateAccessibility",
      value: function _simulateAccessibility() {
        var accessibilityEnabled = this.props.accessibilityEnabled;
        return accessibilityEnabled && !_$$_REQUIRE(_dependencyMap[34]).PlatformUtils.isSystemAccessibilityEnabled();
      }
    }, {
      key: "_goToNextSection",
      value: function _goToNextSection() {
        if (this.secondIndexRef) {
          this.secondIndexRef.next();
          return true;
        }

        return false;
      }
    }, {
      key: "_goToNextSectionRepeat",
      value: function _goToNextSectionRepeat() {
        return _regenerator.default.async(function _goToNextSectionRepeat$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!this.goToNextSection()) {
                  _context.next = 2;
                  break;
                }

                return _context.abrupt("return", this.getCallbackRepeatPromise());

              case 2:
                return _context.abrupt("return", Promise.reject());

              case 3:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_goToPreviousSection",
      value: function _goToPreviousSection() {
        if (this.secondIndexRef) {
          this.secondIndexRef.prev();
          return true;
        }

        return false;
      }
    }, {
      key: "_goToPreviousSectionRepeat",
      value: function _goToPreviousSectionRepeat() {
        return _regenerator.default.async(function _goToPreviousSectionRepeat$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!this.goToPreviousSection()) {
                  _context2.next = 2;
                  break;
                }

                return _context2.abrupt("return", this.getCallbackRepeatPromise());

              case 2:
                return _context2.abrupt("return", Promise.reject());

              case 3:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_goToTop",
      value: function _goToTop() {
        this.onSwipeDown();
      }
    }, {
      key: "_getFirstLevel",
      value: function _getFirstLevel(filterType) {
        var items = [];
        var edition = this.props.edition;
        var sections = [];
        var pages = edition.getPages().filter(function (page) {
          return page && !page.isProtected() && page.getArticles().find(function (article) {
            return article && (!filterType || article.getType() === filterType) && !(article.isSlug() && article.hasFrom());
          }) !== undefined;
        });
        pages.forEach(function (page) {
          var section = page.getSection();

          if (!sections.includes(section)) {
            items.push(page);
            sections.push(section);
          }
        });
        return items;
      }
    }, {
      key: "_getSecondLevel",
      value: function _getSecondLevel(firstLevel) {
        var _this2 = this;

        if (firstLevel) {
          return firstLevel.map(function (page) {
            return _this2._getSecondLevelItems(page.getSection());
          });
        }

        return [];
      }
    }, {
      key: "_getSecondLevelItems",
      value: function _getSecondLevelItems(section) {
        var items = [];
        var edition = this.props.edition;
        var skipSection = section === undefined;
        edition.getPages().forEach(function (page) {
          if (page && !page.isProtected() && (page.getSection() === section || skipSection)) {
            if (!skipSection) {
              items.push(page);
            }

            page.getArticles().forEach(function (article) {
              if (article.getType() === _EPaperArticle.EPaperArticleType.EDITORIAL && !(article.isSlug() && article.hasFrom())) {
                items.push(article);
              }
            });
          }
        });
        return items;
      }
    }, {
      key: "_getSectionByArticle",
      value: function _getSectionByArticle(props) {
        var edition = props.edition,
            currentArticle = props.currentArticle,
            currentPage = props.currentPage;
        var found;

        if (currentArticle) {
          found = edition.getPages().find(function (page) {
            return page.getPageId() === currentArticle.getPageId();
          });
        } else if (currentPage) {
          found = currentPage;
        }

        if (found) {
          var index = this.firstLevel.findIndex(function (page) {
            return page.getSection() === found.getSection();
          });

          if (index >= 0) {
            return index;
          }
        }

        return this.indexSecondLevel;
      }
    }, {
      key: "_onSecondLevelChange",
      value: function _onSecondLevelChange(index, firstSectionPage) {
        if (firstSectionPage) {
          var edition = this.props.edition;
          (0, _$$_REQUIRE(_dependencyMap[35]).sendNewsmemorySectionIndex)(edition, firstSectionPage);
        }

        if (index !== this.indexSecondLevel) {
          this.indexSecondLevel = index;

          this._alignPageToCurrentSection();
        }
      }
    }, {
      key: "_onIndexFirstLevelItemPress",
      value: function _onIndexFirstLevelItemPress(item, index) {
        var onGoToPage = this.props.onGoToPage;

        if (item instanceof _AccessibilityListItem.default) {
          this._onIndexAccessibilityItemPress(item);
        } else if (typeof onGoToPage === "function" && item instanceof _Page.default && index === -1) {
          onGoToPage(item, false, true);
        } else {
          this._setLevel(2);

          this.indexSecondLevel = index;
          this.forceUpdate();
        }
      }
    }, {
      key: "_onIndexAccessibilityItemPress",
      value: function _onIndexAccessibilityItemPress(item) {
        switch (item.getKey()) {
          case _$$_REQUIRE(_dependencyMap[36]).ACTIONS.openLiveNews.key:
            if (global.TaAddonNeedsCloseButton()) {
              _sdkUtils.default.close();
            } else {
              this._onOpenLiveNews();
            }

            break;

          case _$$_REQUIRE(_dependencyMap[36]).ACTIONS.closeAccessibility.key:
            this._closeAccessibility();

            break;

          case _$$_REQUIRE(_dependencyMap[36]).ACTIONS.goUp.key:
            this._onSwipeDown();

            break;

          case _$$_REQUIRE(_dependencyMap[36]).ACTIONS.goBack.key:
            this._goToPreviousSection();

            break;

          case _$$_REQUIRE(_dependencyMap[36]).ACTIONS.goNext.key:
            this._goToNextSection();

            break;
        }
      }
    }, {
      key: "_alignPageToCurrentSection",
      value: function _alignPageToCurrentSection() {
        var item = this.firstLevel[this.indexSecondLevel];

        if (item) {
          _$$_REQUIRE(_dependencyMap[37]).EventRegister.emit(_events.default.NEWSMEMORY_INDEX_CHANGE, {
            leftText: item.getSection()
          });

          var onOpenSection = this.props.onOpenSection;

          if (typeof onOpenSection === "function" && item instanceof _Page.default) {
            onOpenSection(item);
          }
        }
      }
    }, {
      key: "_onIndexSecondLevelItemPress",
      value: function _onIndexSecondLevelItemPress(item) {
        var _this$props = this.props,
            onOpenArticle = _this$props.onOpenArticle,
            onGoToPage = _this$props.onGoToPage;

        if (item instanceof _AccessibilityListItem.default) {
          this._onIndexAccessibilityItemPress(item);
        } else if (typeof onGoToPage === "function" && item instanceof _Page.default) {
          onGoToPage(item, false, true);
        } else if (typeof onOpenArticle === "function" && item instanceof _EPaperArticle.default) {
          onOpenArticle(item);
        }
      }
    }, {
      key: "_onOpenLiveNews",
      value: function _onOpenLiveNews() {
        _NavigationService.default.main.reset("RssNavigator");
      }
    }, {
      key: "_closeAccessibility",
      value: function _closeAccessibility() {
        var onCloseAccessibility = this.props.onCloseAccessibility;

        if (typeof onCloseAccessibility === "function") {
          onCloseAccessibility();
        }
      }
    }, {
      key: "_closeCarMode",
      value: function _closeCarMode() {
        var onCloseCarMode = this.props.onCloseCarMode;

        if (typeof onCloseCarMode === "function") {
          onCloseCarMode();
        }
      }
    }, {
      key: "_onSwipeDown",
      value: function _onSwipeDown() {
        if (this.isSecondLevel()) {
          this.level = 1;
          this.indexSecondLevel = 0;
          this.forceUpdate();
        } else {
          var onIndexFirstLevelClose = this.props.onIndexFirstLevelClose;
          onIndexFirstLevelClose();
        }
      }
    }, {
      key: "_renderIndex",
      value: function _renderIndex() {
        var edition = this.props.edition;

        if (_newsmemoryUtils.default.oneLevelIndex(edition) || this.shouldUseCustomIndex) {
          return this._renderIndexAllArtLevel();
        }

        if (this.isSecondLevel()) {
          return this._renderIndexSecondLevel();
        }

        return this._renderIndexFirstLevel();
      }
    }, {
      key: "_renderCustomIndex",
      value: function _renderCustomIndex() {
        var _this$props2 = this.props,
            SpecialComponent = _this$props2.SpecialComponent,
            onLocal = _this$props2.onLocal,
            customIndexHtml = _this$props2.customIndexHtml,
            fullscreen = _this$props2.fullscreen;

        var _global$getActivePSet = global.getActivePSetup(),
            specialBeforeIndexTablet = _global$getActivePSet.specialBeforeIndexTablet,
            specialBeforeIndexPhone = _global$getActivePSet.specialBeforeIndexPhone;

        var specialPosition = specialBeforeIndexTablet;

        if (!_$$_REQUIRE(_dependencyMap[34]).PlatformUtils.isTablet() || !_deviceUtils.default.isPortrait() && !fullscreen) {
          specialPosition = specialBeforeIndexPhone;
        }

        return _react.default.createElement(_customIndexComponent.default, {
          customIndexHtml: customIndexHtml,
          onLocal: onLocal,
          SpecialComponent: SpecialComponent,
          specialPosition: specialPosition
        });
      }
    }, {
      key: "_renderIndexFirstLevel",
      value: function _renderIndexFirstLevel() {
        var _this$props3 = this.props,
            title = _this$props3.title,
            SpecialComponent = _this$props3.SpecialComponent,
            FooterComponent = _this$props3.FooterComponent,
            fullscreen = _this$props3.fullscreen,
            downloadImageMethod = _this$props3.downloadImageMethod,
            shortcutEnabled = _this$props3.shortcutEnabled,
            shortcutPriority = _this$props3.shortcutPriority,
            edition = _this$props3.edition,
            accessibilityEnabled = _this$props3.accessibilityEnabled;

        var _global$getActivePSet2 = global.getActivePSetup(),
            specialBeforeIndexTablet = _global$getActivePSet2.specialBeforeIndexTablet,
            specialBeforeIndexPhone = _global$getActivePSet2.specialBeforeIndexPhone;

        var specialPosition = specialBeforeIndexTablet;

        if (!_$$_REQUIRE(_dependencyMap[34]).PlatformUtils.isTablet() || !_deviceUtils.default.isPortrait() && !fullscreen) {
          specialPosition = specialBeforeIndexPhone;
        }

        return _react.default.createElement(_indexComponent.default, {
          data: this.firstLevel,
          title: title,
          fullscreen: fullscreen,
          onSwipeDown: this.onSwipeDown,
          onItemPress: this.onIndexFirstLevelItemPress,
          ComponentFooter: FooterComponent,
          SpecialComponent: SpecialComponent,
          specialPosition: specialPosition,
          downloadImageMethod: downloadImageMethod,
          layout: _newsmemoryUtils.default.getIndexLayout(edition, accessibilityEnabled),
          shortcutEnabled: shortcutEnabled,
          shortcutPriority: shortcutPriority + 1,
          accessibilityEnabled: accessibilityEnabled,
          carModeEnabled: this._isCarModeEnabled()
        });
      }
    }, {
      key: "_renderIndexAllArtLevel",
      value: function _renderIndexAllArtLevel() {
        var _this$props4 = this.props,
            title = _this$props4.title,
            SpecialComponent = _this$props4.SpecialComponent,
            FooterComponent = _this$props4.FooterComponent,
            fullscreen = _this$props4.fullscreen,
            shortcutEnabled = _this$props4.shortcutEnabled,
            shortcutPriority = _this$props4.shortcutPriority,
            edition = _this$props4.edition,
            accessibilityEnabled = _this$props4.accessibilityEnabled;

        var _global$getActivePSet3 = global.getActivePSetup(),
            specialBeforeIndexTablet = _global$getActivePSet3.specialBeforeIndexTablet,
            specialBeforeIndexPhone = _global$getActivePSet3.specialBeforeIndexPhone;

        var specialPosition = specialBeforeIndexTablet;

        if (!_$$_REQUIRE(_dependencyMap[34]).PlatformUtils.isTablet() || !_deviceUtils.default.isPortrait() && !fullscreen) {
          specialPosition = specialBeforeIndexPhone;
        }

        return _react.default.createElement(_indexComponent.default, {
          data: this.allArticles,
          title: title,
          onItemPress: this.onIndexSecondLevelItemPress,
          onSwipeDown: this.onSwipeDown,
          fullscreen: fullscreen,
          ComponentFooter: FooterComponent,
          SpecialComponent: SpecialComponent,
          specialPosition: specialPosition,
          layout: _newsmemoryUtils.default.getIndexLayout(edition, accessibilityEnabled),
          shortcutEnabled: shortcutEnabled,
          shortPriority: shortcutPriority + 1,
          accessibilityEnabled: accessibilityEnabled,
          carModeEnabled: this._isCarModeEnabled()
        });
      }
    }, {
      key: "_renderIndexSecondLevel",
      value: function _renderIndexSecondLevel() {
        var _this3 = this;

        var _this$props5 = this.props,
            FooterComponent = _this$props5.FooterComponent,
            fullscreen = _this$props5.fullscreen,
            downloadImageMethod = _this$props5.downloadImageMethod,
            secondLevelModel = _this$props5.secondLevelModel,
            renderHr = _this$props5.renderHr,
            shortcutEnabled = _this$props5.shortcutEnabled,
            shortcutPriority = _this$props5.shortcutPriority,
            edition = _this$props5.edition,
            accessibilityEnabled = _this$props5.accessibilityEnabled;
        var hrTop;

        if (secondLevelModel) {
          hrTop = secondLevelModel.getHrTop();
        }

        return _react.default.createElement(_secondIndexComponent.default, {
          ref: function ref(_ref) {
            _this3.secondIndexRef = _ref;
          },
          data: this.secondLevels,
          onItemPress: this.onIndexSecondLevelItemPress,
          onSwipeDown: this.onSwipeDown,
          onSecondLevelChange: this.onSecondLevelChange,
          downloadImageMethod: downloadImageMethod,
          enableSeparator: accessibilityEnabled,
          fullscreen: fullscreen,
          ComponentFooter: FooterComponent,
          secondLevelIndex: this.indexSecondLevel,
          HrComponent: renderHr(hrTop),
          layout: _newsmemoryUtils.default.getIndexLayout(edition, accessibilityEnabled),
          shortcutEnabled: shortcutEnabled,
          shortcutPriority: shortcutPriority + 1,
          accessibilityEnabled: accessibilityEnabled,
          carModeEnabled: this._isCarModeEnabled()
        });
      }
    }, {
      key: "_toggleFullscreen",
      value: function _toggleFullscreen() {
        var active = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props.fullscreen;
        var onToggleFullscreen = this.props.onToggleFullscreen;

        if (typeof onToggleFullscreen === "function") {
          onToggleFullscreen(!active);
        }
      }
    }, {
      key: "_getButton",
      value: function _getButton(button) {
        var _this$props6 = this.props,
            fullscreen = _this$props6.fullscreen,
            onClose = _this$props6.onClose;
        var action = button.getAction();
        var library;
        var customIcon = button.getIcon();
        var customActiveIcon = button.getActiveIcon();

        var source = customIcon || _$$_REQUIRE(_dependencyMap[36]).ACTIONS[action].icon;

        var activeSource = customActiveIcon || _$$_REQUIRE(_dependencyMap[36]).ACTIONS[action].activeIcon;

        if (button && button.isLibraryIcon() && customIcon) {
          library = button.getLibrary();
        }

        var cssProps = {
          classes: ["newsmemory-icon", "newsmemory-index-header-icon"],
          cssKey: action
        };
        var commonProps = {
          key: action,
          library: library,
          source: source,
          cssProps: cssProps
        };

        switch (action) {
          case _$$_REQUIRE(_dependencyMap[36]).ACTIONS.closeAccessibility.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, {
              onPress: this.closeAccessibility
            }));

          case _$$_REQUIRE(_dependencyMap[36]).ACTIONS.closeCarMode.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, {
              onPress: this.closeCarMode
            }));

          case _$$_REQUIRE(_dependencyMap[36]).ACTIONS.closeArticle.key:
            return _react.default.createElement(_closeComponent.default, (0, _extends2.default)({}, commonProps, {
              source: library ? customIcon : undefined,
              onPress: onClose
            }));

          case _$$_REQUIRE(_dependencyMap[36]).ACTIONS.goBack.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, {
              onPress: this.goToPreviousSection
            }));

          case _$$_REQUIRE(_dependencyMap[36]).ACTIONS.goUp.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, {
              onPress: this.onSwipeDown
            }));

          case _$$_REQUIRE(_dependencyMap[36]).ACTIONS.goNext.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, {
              onPress: this.goToNextSection
            }));

          case _$$_REQUIRE(_dependencyMap[36]).ACTIONS.toggleFullScreen.key:
            return _react.default.createElement(_twoStateButtonComponent.default, {
              key: action,
              library: library,
              activeSource: activeSource,
              inactiveSource: source,
              active: fullscreen,
              cssProps: cssProps,
              onPress: this.toggleFullscreen
            });
        }

        return null;
      }
    }, {
      key: "_isCarModeEnabled",
      value: function _isCarModeEnabled() {
        var carModeEnabled = this.props.carModeEnabled;
        return carModeEnabled;
      }
    }, {
      key: "_getComponentSubHeader",
      value: function _getComponentSubHeader() {
        var _this$props7 = this.props,
            firstLevelModel = _this$props7.firstLevelModel,
            secondLevelModel = _this$props7.secondLevelModel,
            renderHr = _this$props7.renderHr,
            accessibilityEnabled = _this$props7.accessibilityEnabled;
        var hrTop;
        var rightButtons;
        var leftButtons;
        var textSize = 20;

        var color = _$$_REQUIRE(_dependencyMap[34]).colors.black;

        var header = this.isSecondLevel() ? secondLevelModel : firstLevelModel;

        if (header) {
          hrTop = header.getHrTop();

          if (hrTop) {
            color = hrTop.getColor();
          }

          var leftSection = header.getLeft();
          var rightSection = header.getRight();
          var carModeSection = header.getCarMode();

          if (this._isCarModeEnabled()) {
            rightButtons = carModeSection.getButtons();

            if (carModeSection.getTextSize()) {
              textSize = carModeSection.getTextSize();
            }
          } else {
            leftButtons = leftSection.getButtons();
            rightButtons = rightSection.getButtons();

            if (leftSection.getTextSize()) {
              textSize = leftSection.getTextSize();
            }
          }
        }

        var _this$props8 = this.props,
            title = _this$props8.title,
            size = _this$props8.size;
        return _react.default.createElement(_subHeaderComponent.default, {
          TextComponent: _react.default.createElement(_headerInfoComponent.default, {
            color: _$$_REQUIRE(_dependencyMap[34]).ColorUtils.determineTextColor(color),
            leftText: title,
            textSize: textSize,
            accessibilityEnabled: accessibilityEnabled
          }),
          ButtonsComponent: _react.default.createElement(_subHeaderButtons.default, {
            cssButtonClasses: ["newsmemory-icon", "newsmemory-index-header-icon"],
            width: size.width,
            leftButtons: !accessibilityEnabled || this._isCarModeEnabled() ? leftButtons : [],
            rightButtons: !accessibilityEnabled || this._isCarModeEnabled() ? rightButtons : [],
            renderButton: this.getButton
          }),
          HrComponent: renderHr(hrTop),
          bgColor: color,
          cssClasses: ["newsmemory-index-header"]
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props9 = this.props,
            topAd = _this$props9.topAd,
            size = _this$props9.size,
            edition = _this$props9.edition,
            accessibilityEnabled = _this$props9.accessibilityEnabled,
            rest = (0, _objectWithoutProperties2.default)(_this$props9, ["topAd", "size", "edition", "accessibilityEnabled"]);

        if (this.isCustomIndex) {
          return this._renderCustomIndex();
        }

        var indexLayout = _newsmemoryUtils.default.getIndexLayout(edition, accessibilityEnabled);

        if (indexLayout === _newsmemoryUtils.IndexLayout.TABS) {
          var firstLevel = this._getFirstLevel(_EPaperArticle.EPaperArticleType.EDITORIAL);

          var secondLevels = this._getSecondLevel(firstLevel);

          return _react.default.createElement(_tabIndexComponent.default, (0, _extends2.default)({
            size: size,
            firstLevel: firstLevel,
            secondLevels: secondLevels,
            initialRouteIndex: this.indexSecondLevel
          }, rest));
        }

        return _react.default.createElement(_react.default.Fragment, null, this._getComponentSubHeader(), global.getAdsConfig().getAdView(topAd, size.width), _react.default.createElement(_$$_REQUIRE(_dependencyMap[38]).Css, {
          classes: ["newsmemory-index"]
        }, this._renderIndex()));
      }
    }]);
    return NewsmemoryIndexLayoutManager;
  }(_$$_REQUIRE(_dependencyMap[39]).PureShortcut);

  exports.default = NewsmemoryIndexLayoutManager;
  NewsmemoryIndexLayoutManager.propTypes = (0, _extends2.default)({
    title: _propTypes.default.string,
    firstLevelModel: _propTypes.default.instanceOf(_$$_REQUIRE(_dependencyMap[40]).Header).isRequired,
    secondLevelModel: _propTypes.default.instanceOf(_$$_REQUIRE(_dependencyMap[40]).Header).isRequired,
    onLocal: _propTypes.default.func,
    onCloseAccessibility: _propTypes.default.func,
    onCloseCarMode: _propTypes.default.func,
    onClose: _propTypes.default.func,
    downloadImageMethod: _propTypes.default.func,
    onIndexLevelChange: _propTypes.default.func,
    onOpenArticle: _propTypes.default.func,
    onOpenSection: _propTypes.default.func,
    onIndexFirstLevelClose: _propTypes.default.func,
    onGoToPage: _propTypes.default.func,
    renderHr: _propTypes.default.func,
    fullscreen: _propTypes.default.bool,
    onToggleFullscreen: _propTypes.default.func,
    currentArticle: _propTypes.default.instanceOf(_EPaperArticle.default),
    currentPage: _propTypes.default.instanceOf(_Page.default),
    header: _propTypes.default.bool,
    FooterComponent: _propTypes.default.node,
    SpecialComponent: _propTypes.default.node,
    topAd: _propTypes.default.instanceOf(_InStoryAd.default),
    customIndexHtml: _propTypes.default.string,
    indexLevel: _propTypes.default.number,
    navigation: _propTypes.default.shape({
      navigate: _propTypes.default.func
    }).isRequired,
    newspaper: _propTypes.default.instanceOf(_NewspaperIssue.default),
    edition: _propTypes.default.instanceOf(_Edition.default),
    size: _propTypes.default.shape({
      width: _propTypes.default.number
    }),
    accessibilityEnabled: _propTypes.default.bool,
    carModeEnabled: _propTypes.default.bool
  }, _$$_REQUIRE(_dependencyMap[39]).PureShortcut.propTypes);
  NewsmemoryIndexLayoutManager.defaultProps = (0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[39]).PureShortcut.defaultProps, {
    indexLevel: 1
  });
},2354,[5,80,108,6,7,8,15,12,14,16,17,201,2355,2359,638,640,2017,2299,458,2298,2372,2374,460,644,2376,2377,2378,1726,1861,603,1874,2380,714,1873,462,1954,1725,572,699,1911,1853]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _pageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _indexBaseComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NewsmemoryIndex = function (_IndexBase) {
    (0, _inherits2.default)(NewsmemoryIndex, _IndexBase);

    var _super = _createSuper(NewsmemoryIndex);

    function NewsmemoryIndex(props) {
      var _this;

      (0, _classCallCheck2.default)(this, NewsmemoryIndex);
      _this = _super.call(this, props);

      _this._init(props);

      return _this;
    }

    (0, _createClass2.default)(NewsmemoryIndex, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this._readHeader();
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate() {
        this._readHeader();
      }
    }, {
      key: "UNSAFE_componentWillUpdate",
      value: function UNSAFE_componentWillUpdate(nextProps) {
        this._init(nextProps);
      }
    }, {
      key: "_init",
      value: function _init(props) {
        this.data = this._getData(props.data, props.accessibilityEnabled);
        this.sections = this._getThumbnailsSections(props.layout, props.data);
        this.sections.unshift(this._getData([], props.accessibilityEnabled));
      }
    }, {
      key: "_getAccessibilityItems",
      value: function _getAccessibilityItems() {
        return (0, _$$_REQUIRE(_dependencyMap[12]).getAccessibilityItemsIndexFirstLevel)(global.getRSSActivePSetup().rssIsEnabled);
      }
    }, {
      key: "_getNumberOfAccessibilityItems",
      value: function _getNumberOfAccessibilityItems() {
        var accessibilityEnabled = this.props.accessibilityEnabled;

        if (accessibilityEnabled) {
          return this._getAccessibilityItems().length;
        }

        return 0;
      }
    }, {
      key: "_readHeader",
      value: function _readHeader() {
        var title = this.props.title;

        if (this._isAccessibilityModeSimulated()) {
          global.getAudio().ttsStart(title);
        }
      }
    }, {
      key: "_onRead",
      value: function _onRead(item) {
        return (0, _$$_REQUIRE(_dependencyMap[13]).getFirstLevelText)(item);
      }
    }, {
      key: "_onPageRead",
      value: function _onPageRead(page) {
        return global.strings("selected_page_of_index", {
          page: page + 1
        });
      }
    }, {
      key: "_getData",
      value: function _getData() {
        var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        var accessibilityEnabled = arguments.length > 1 ? arguments[1] : undefined;
        var newData = (0, _toConsumableArray2.default)(data);

        if (accessibilityEnabled) {
          newData.unshift.apply(newData, (0, _toConsumableArray2.default)(this._getAccessibilityItems()));
        }

        return newData;
      }
    }, {
      key: "_getThumbnailsSections",
      value: function _getThumbnailsSections(layout, data) {
        switch (layout) {
          case _$$_REQUIRE(_dependencyMap[14]).IndexLayout.LIST_WITH_THUMBNAIL:
            var result = [];
            var thumbnail = [];
            var lastSectionLetter = "";

            for (var i = 0; i < data.length; i++) {
              var sectionLetter = _pageUtils.default.getSectionLetterFromPage(data[i].getSection());

              if ((data[i].getShownPage().includes(".") || data[i].getSection().includes(":") && sectionLetter !== lastSectionLetter) && thumbnail.length > 0) {
                lastSectionLetter = sectionLetter;
                result.push(thumbnail);
                thumbnail = [];
              }

              thumbnail.push(data[i]);

              if (i === data.length - 1 && thumbnail.length > 0) {
                result.push(thumbnail);
              }
            }

            return result;

          default:
            return [];
        }
      }
    }, {
      key: "_showThumbnail",
      value: function _showThumbnail() {
        var fullscreen = this.props.fullscreen;
        return _deviceUtils.default.isPortrait() || fullscreen;
      }
    }, {
      key: "_render",
      value: function _render(listProps) {
        var _this$props = this.props,
            layout = _this$props.layout,
            accessibilityEnabled = _this$props.accessibilityEnabled,
            carModeEnabled = _this$props.carModeEnabled;

        switch (layout) {
          case _$$_REQUIRE(_dependencyMap[14]).IndexLayout.ALL_ART:
            return this._renderList(this.data, listProps, _$$_REQUIRE(_dependencyMap[13]).ItemIndexSecondLevel);

          case _$$_REQUIRE(_dependencyMap[14]).IndexLayout.LIST:
            return this._renderList(this.data, listProps, _$$_REQUIRE(_dependencyMap[13]).ItemIndexFirstLevel);

          case _$$_REQUIRE(_dependencyMap[14]).IndexLayout.LIST_WITH_THUMBNAIL:
            return this._renderSectionWithThumb(this.sections, listProps, function (element) {
              return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).ItemIndexFirstLevel, {
                item: element.item,
                index: element.index,
                onPress: listProps.onPress,
                focused: element.focused,
                accessibilityEnabled: accessibilityEnabled,
                carModeEnabled: carModeEnabled
              });
            }, this.onThumbnailPress);
        }

        return null;
      }
    }]);
    return NewsmemoryIndex;
  }(_indexBaseComponent.default);

  exports.default = NewsmemoryIndex;
  NewsmemoryIndex.propTypes = {
    title: _propTypes.default.string
  };
},2355,[5,21,7,8,12,14,16,17,201,458,715,2356,1725,2357,603]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.SpecialPosition = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _refreshComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _indexLayoutManager = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[14]));

  var _shortcutList = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SpecialPosition = {
    0: "bottom",
    1: "top",
    none: "none",
    top: "top",
    bottom: "bottom",
    right: "right",
    left: "left"
  };
  exports.SpecialPosition = SpecialPosition;

  var IndexBase = function (_React$Component) {
    (0, _inherits2.default)(IndexBase, _React$Component);

    var _super = _createSuper(IndexBase);

    function IndexBase(props) {
      var _this;

      var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
      (0, _classCallCheck2.default)(this, IndexBase);
      _this = _super.call(this, props);
      _this.listRefs = [];
      _this.state = (0, _extends2.default)({
        refreshing: false
      }, state);
      _this.up = _this._up.bind((0, _assertThisInitialized2.default)(_this));
      _this.down = _this._down.bind((0, _assertThisInitialized2.default)(_this));
      _this.getSeparator = _this._getSeparator.bind((0, _assertThisInitialized2.default)(_this));
      _this.onThumbnailPress = _this._onThumbmailPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.isActive = _this._isActive.bind((0, _assertThisInitialized2.default)(_this));
      _this.onRead = _this._onRead.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPageRead = _this._onPageRead.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(IndexBase, [{
      key: "_onRef",
      value: function _onRef(ref, index) {
        this.listRefs[index] = ref;
      }
    }, {
      key: "_getRef",
      value: function _getRef() {
        var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
        return this.listRefs[index];
      }
    }, {
      key: "_up",
      value: function _up() {
        var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;

        if (this.listRefs[index]) {
          this.listRefs[index].scrollUp();
        }
      }
    }, {
      key: "_down",
      value: function _down() {
        var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;

        if (this.listRefs[index]) {
          this.listRefs[index].scrollDown();
        }
      }
    }, {
      key: "_getHeader",
      value: function _getHeader() {
        return _react.default.createElement(_reactNative.View, null, this._getSpecialView(SpecialPosition.top));
      }
    }, {
      key: "_getSpecialView",
      value: function _getSpecialView(pos) {
        var _this$props = this.props,
            specialPosition = _this$props.specialPosition,
            SpecialComponent = _this$props.SpecialComponent;
        return SpecialPosition[specialPosition] === pos && SpecialComponent ? SpecialComponent : null;
      }
    }, {
      key: "_getFooter",
      value: function _getFooter() {
        var _this$props2 = this.props,
            ComponentFooter = _this$props2.ComponentFooter,
            accessibilityEnabled = _this$props2.accessibilityEnabled;
        return _react.default.createElement(_reactNative.View, null, !accessibilityEnabled ? this._getSpecialView(SpecialPosition.bottom) : null, ComponentFooter);
      }
    }, {
      key: "_getLeftList",
      value: function _getLeftList() {
        return this._getSpecialView(SpecialPosition.left);
      }
    }, {
      key: "_getRightList",
      value: function _getRightList() {
        return this._getSpecialView(SpecialPosition.right);
      }
    }, {
      key: "_getSeparator",
      value: function _getSeparator() {
        var enableSeparator = this.props.enableSeparator;

        if (enableSeparator) {
          return this._getSeparatorLine({
            backgroundColor: _$$_REQUIRE(_dependencyMap[16]).LIST_ITEM_SEPARATOR_COLOR,
            height: _$$_REQUIRE(_dependencyMap[16]).LIST_ITEM_SEPARATOR_HEIGHT
          });
        }

        return null;
      }
    }, {
      key: "_getSeparatorLine",
      value: function _getSeparatorLine(style) {
        return (0, _$$_REQUIRE(_dependencyMap[17]).hr)(style);
      }
    }, {
      key: "_render",
      value: function _render() {
        return null;
      }
    }, {
      key: "_onThumbmailPress",
      value: function _onThumbmailPress(page) {
        var onItemPress = this.props.onItemPress;
        onItemPress(page, -1);
      }
    }, {
      key: "_showThumbnail",
      value: function _showThumbnail() {
        return false;
      }
    }, {
      key: "_isActive",
      value: function _isActive(index) {
        return true;
      }
    }, {
      key: "_onRead",
      value: function _onRead(item) {
        return undefined;
      }
    }, {
      key: "_onPageRead",
      value: function _onPageRead(item) {
        return undefined;
      }
    }, {
      key: "_getNumberOfAccessibilityItems",
      value: function _getNumberOfAccessibilityItems() {
        return 0;
      }
    }, {
      key: "_isAccessibilityModeSimulated",
      value: function _isAccessibilityModeSimulated() {
        var accessibilityEnabled = this.props.accessibilityEnabled;
        return accessibilityEnabled && !_$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isSystemAccessibilityEnabled();
      }
    }, {
      key: "_renderList",
      value: function _renderList(data, listProps, RenderComponent) {
        var _this2 = this;

        var sectionIndex = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
        var _this$props3 = this.props,
            shortcutPriority = _this$props3.shortcutPriority,
            carModeEnabled = _this$props3.carModeEnabled,
            accessibilityEnabled = _this$props3.accessibilityEnabled;

        var numberOfAccessibilityItems = this._getNumberOfAccessibilityItems(sectionIndex);

        return _react.default.createElement(_shortcutList.default, (0, _extends2.default)({
          ref: function ref(_ref2) {
            return _this2._onRef(_ref2, sectionIndex);
          },
          keyExtractor: function keyExtractor(current, idx) {
            return "index_level_" + idx;
          }
        }, listProps, {
          readFocusedItem: carModeEnabled,
          onRead: this.onRead,
          onPageRead: this.onPageRead,
          ItemSeparatorComponent: this.getSeparator,
          ListHeaderComponent: this._getHeader(data, sectionIndex),
          renderItem: function renderItem(_ref) {
            var item = _ref.item,
                index = _ref.index,
                focusedItem = _ref.focusedItem;
            return _react.default.createElement(RenderComponent, {
              item: item,
              index: Math.max(index - numberOfAccessibilityItems, 0),
              onPress: listProps.onPress,
              focused: _$$_REQUIRE(_dependencyMap[18]).JSUtils.areEqualShallow(item, focusedItem),
              accessibilityEnabled: accessibilityEnabled,
              carModeEnabled: carModeEnabled
            });
          },
          data: data,
          plainData: data,
          isActive: function isActive() {
            return _this2.isActive(sectionIndex);
          },
          shortcutPriority: shortcutPriority + 1
        }));
      }
    }, {
      key: "_renderSectionWithThumb",
      value: function _renderSectionWithThumb(data, listProps, _renderItem, onThumbnailPress) {
        var _this3 = this;

        var sectionIndex = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
        var _this$props4 = this.props,
            shortcutPriority = _this$props4.shortcutPriority,
            fullscreen = _this$props4.fullscreen,
            downloadImageMethod = _this$props4.downloadImageMethod,
            carModeEnabled = _this$props4.carModeEnabled,
            accessibilityEnabled = _this$props4.accessibilityEnabled;
        var plainData = data.reduce(function (current, subData) {
          return [].concat((0, _toConsumableArray2.default)(current), (0, _toConsumableArray2.default)(subData));
        }, []);
        var generalIndex = 0;
        return _react.default.createElement(_shortcutList.default, (0, _extends2.default)({
          ref: function ref(_ref4) {
            return _this3._onRef(_ref4, sectionIndex);
          },
          keyExtractor: function keyExtractor(item, index) {
            return "level_" + index;
          },
          readFocusedItem: carModeEnabled,
          onRead: this.onRead,
          onPageRead: this.onPageRead
        }, listProps, {
          ListHeaderComponent: this._getHeader(plainData, sectionIndex),
          ItemSeparatorComponent: this.getSeparator,
          data: data,
          plainData: plainData,
          isActive: function isActive() {
            return _this3.isActive(sectionIndex);
          },
          renderItem: function renderItem(_ref3) {
            var item = _ref3.item,
                index = _ref3.index,
                focusedItem = _ref3.focusedItem;
            var page;

            if (item[0] instanceof _Page.default) {
              page = item[0];
            }

            generalIndex += data[index - 1] ? data[index - 1].length : 0;
            return _react.default.createElement(_reactNative.View, {
              style: _indexLayoutManager.default.secondLevelThumbLine
            }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).IndexThumbnail, {
              page: page,
              downloadImageMethod: downloadImageMethod,
              fullscreen: fullscreen,
              showThumbnail: _this3._showThumbnail(),
              onPress: onThumbnailPress,
              accessibilityEnabled: accessibilityEnabled,
              carModeEnabled: carModeEnabled
            }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[20]).Css, {
              classes: ["newsmemory-index-item-right"]
            }, _react.default.createElement(_reactNative.View, {
              style: {
                flex: 1
              }
            }, item.map(function (element, idx) {
              return typeof _renderItem === "function" ? _react.default.createElement(_react.default.Fragment, null, _renderItem({
                item: element,
                index: idx + generalIndex,
                focused: _$$_REQUIRE(_dependencyMap[18]).JSUtils.areEqualShallow(element, focusedItem)
              }), idx < item.length - 1 ? _this3.getSeparator() : null) : null;
            }))));
          }
        }));
      }
    }, {
      key: "render",
      value: function render() {
        var _this4 = this;

        var _this$props5 = this.props,
            onSwipeDown = _this$props5.onSwipeDown,
            onItemPress = _this$props5.onItemPress,
            accessibilityEnabled = _this$props5.accessibilityEnabled;
        var refreshing = this.state.refreshing;

        var indexContainerStyle = _$$_REQUIRE(_dependencyMap[20]).Css.getStyleByCssClasses(["newsmemory-index-container"]);

        var indexFooterStyle = _$$_REQUIRE(_dependencyMap[20]).Css.getStyleByCssClasses(["newsmemory-index-footer"]);

        var listProps = {
          accessibilityEnabled: accessibilityEnabled,
          contentContainerStyle: [{
            flexGrow: 1
          }, indexContainerStyle],
          ListFooterComponent: this._getFooter(),
          ListFooterComponentStyle: [{
            flex: 1,
            justifyContent: "flex-end",
            marginTop: _indexLayoutManager.LINE_PADDING
          }, indexFooterStyle],
          onPress: onItemPress,
          refreshControl: !accessibilityEnabled ? _react.default.createElement(_refreshComponent.default, {
            refreshing: refreshing,
            onRefresh: function onRefresh() {
              if (typeof onSwipeDown === "function") {
                onSwipeDown();
              }

              _this4.setState({
                refreshing: false
              });
            },
            cssClasses: ["newsmemory-article-refresh-control"]
          }) : null
        };
        var leftSpecial = !accessibilityEnabled ? this._getLeftList() : null;
        var rightSpecial = !accessibilityEnabled ? this._getRightList() : null;
        return _react.default.createElement(_reactNative.View, {
          style: _indexLayoutManager.default.parent
        }, leftSpecial ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[20]).Css, {
          classes: ["newsmemory-index-left"]
        }, _react.default.createElement(_reactNative.View, {
          style: _indexLayoutManager.default.specialContainer
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[21]).TecnaviaScrollView, {
          style: _indexLayoutManager.default.container
        }, leftSpecial))) : null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[20]).Css, {
          classes: ["newsmemory-index-center"]
        }, _react.default.createElement(_reactNative.View, {
          style: _indexLayoutManager.default.centerContainer
        }, this._render(listProps))), rightSpecial ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[20]).Css, {
          classes: ["newsmemory-index-right"]
        }, _react.default.createElement(_reactNative.View, {
          style: _indexLayoutManager.default.specialContainer
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[21]).TecnaviaScrollView, {
          style: _indexLayoutManager.default.container
        }, rightSpecial))) : null);
      }
    }]);
    return IndexBase;
  }(_react.default.Component);

  exports.default = IndexBase;
  IndexBase.propTypes = (0, _extends2.default)({
    data: _propTypes.default.array.isRequired,
    layout: _propTypes.default.oneOf([_$$_REQUIRE(_dependencyMap[22]).IndexLayout.LIST, _$$_REQUIRE(_dependencyMap[22]).IndexLayout.LIST_WITH_THUMBNAIL]),
    onSwipeDown: _propTypes.default.func,
    downloadImageMethod: _propTypes.default.func,
    fullscreen: _propTypes.default.bool,
    onItemPress: _propTypes.default.func.isRequired,
    renderItem: _propTypes.default.func,
    enableSeparator: _propTypes.default.bool,
    accessibilityEnabled: _propTypes.default.bool,
    carModeEnabled: _propTypes.default.bool,
    renderSeparator: _propTypes.default.func,
    specialPosition: _propTypes.default.oneOf(["0", "1", SpecialPosition.none, SpecialPosition.top, SpecialPosition.bottom, SpecialPosition.right, SpecialPosition.left]),
    ComponentFooter: _propTypes.default.node.isRequired,
    SpecialComponent: _propTypes.default.node
  }, _$$_REQUIRE(_dependencyMap[23]).Shortcut.propTypes);
  IndexBase.defaultProps = (0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[23]).Shortcut.defaultProps, {
    specialPosition: SpecialPosition.none,
    enableSeparator: true,
    fullscreen: false
  });
},2356,[5,21,6,7,8,15,12,14,16,17,28,201,2099,638,2190,1908,729,2195,462,2357,699,1909,603,1911]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getSecondLevelText = exports.getSecondLevelHeaderText = exports.getFirstLevelText = exports.IndexThumbnail = exports.ItemIndexSecondLevel = exports.ItemIndexFirstLevel = exports.IndexSectionHeader = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _indexLayoutManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _EPaperArticle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _pageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _newsmemoryScalableImageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _AccessibilityListItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var getFirstLevelText = function getFirstLevelText(item) {
    if (item instanceof _AccessibilityListItem.default) {
      return item.getText();
    }

    if (item instanceof _EPaperArticle.default) {
      return _$$_REQUIRE(_dependencyMap[14]).StringUtils.decodeHTML(item.getTitle());
    }

    if (item instanceof _Page.default) {
      return _$$_REQUIRE(_dependencyMap[14]).StringUtils.decodeHTML(item.getSection());
    }

    return "";
  };

  exports.getFirstLevelText = getFirstLevelText;

  var ItemIndexFirstLevel = function ItemIndexFirstLevel(props) {
    var item = props.item,
        index = props.index,
        _onPress = props.onPress,
        focused = props.focused,
        accessibilityEnabled = props.accessibilityEnabled,
        carModeEnabled = props.carModeEnabled;
    var text = getFirstLevelText(item);
    var enableTouch = !accessibilityEnabled && !carModeEnabled;
    var PageComponent = enableTouch ? _reactNative.TouchableOpacity : _reactNative.View;
    var pageProps = {
      key: index
    };

    if (enableTouch) {
      pageProps.onPress = function () {
        return _onPress(item, -1);
      };
    }

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).Css, {
      classes: ["newsmemory-index-item", "newsmemory-index-item-first-level", focused ? "newsmemory-index-item-focused" : "", focused ? "newsmemory-index-item-first-level-focused" : ""]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).ItemAccessibilityFocused, {
      touchable: true,
      focused: focused,
      style: [_indexLayoutManager.default.firstLevelItem, focused ? _indexLayoutManager.default.firstLevelItemFocused : undefined],
      key: index,
      hasTVPreferredFocus: true,
      onPress: function onPress() {
        return _onPress(item, index);
      },
      accessibilityEnabled: accessibilityEnabled,
      accessibilityLabel: text
    }, item instanceof _AccessibilityListItem.default ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).ItemListAccessibility, {
      text: text,
      style: _indexLayoutManager.default.firstLevelItemAccessibility,
      classes: ["newsmemory-index-accessibility-text-first-level"]
    }) : _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).Css, {
      classes: ["newsmemory-index-text", "newsmemory-index-first-level-section"]
    }, _react.default.createElement(_fontText.default, {
      style: _indexLayoutManager.default.firstLevelItemSection,
      numberOfLines: 1,
      ellipsizeMode: "tail"
    }, text)), _react.default.createElement(PageComponent, pageProps, item instanceof _Page.default ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).Css, {
      classes: ["newsmemory-index-text", "newsmemory-index-first-level-page"]
    }, _react.default.createElement(_fontText.default, {
      style: [_indexLayoutManager.default.firstLevelItemPage, accessibilityEnabled || carModeEnabled ? _indexLayoutManager.default.firstLevelItemPageAccessibility : undefined]
    }, _pageUtils.default.removeZerosFromPageNumber(item.getShownPage()))) : null)));
  };

  exports.ItemIndexFirstLevel = ItemIndexFirstLevel;

  var getSecondLevelHeaderText = function getSecondLevelHeaderText(page) {
    if (page) {
      return _$$_REQUIRE(_dependencyMap[14]).StringUtils.decodeHTML(page.getSection());
    }

    return "";
  };

  exports.getSecondLevelHeaderText = getSecondLevelHeaderText;

  var IndexSectionHeader = function IndexSectionHeader(props) {
    var _props$section = props.section,
        section = _props$section === undefined ? "" : _props$section,
        accessibilityEnabled = props.accessibilityEnabled;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).Css, {
      classes: ["newsmemory-index-item", "newsmemory-index-second-level-header"]
    }, _react.default.createElement(_reactNative.View, {
      style: [_indexLayoutManager.default.secondLevelHeaderParent]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).ItemAccessibilityFocused, {
      accessibilityEnabled: accessibilityEnabled,
      touchable: false,
      accessibilityLabel: section
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).Css, {
      classes: ["newsmemory-index-text", "newsmemory-index-second-level-text"]
    }, _react.default.createElement(_fontText.default, {
      style: _indexLayoutManager.default.secondLevelHeader,
      numberOfLines: 1,
      ellipsizeMode: "tail",
      type: _fontText.Type.bold
    }, section)))));
  };

  exports.IndexSectionHeader = IndexSectionHeader;

  var IndexThumbnail = function IndexThumbnail(props) {
    var page = props.page,
        downloadImageMethod = props.downloadImageMethod,
        showThumbnail = props.showThumbnail,
        onPress = props.onPress,
        fullscreen = props.fullscreen,
        accessibilityEnabled = props.accessibilityEnabled,
        carModeEnabled = props.carModeEnabled;

    if (!page || !showThumbnail) {
      return null;
    }

    var height = 90;

    if (_$$_REQUIRE(_dependencyMap[14]).PlatformUtils.isTablet()) {
      height = 156;

      if (fullscreen && !_deviceUtils.default.isPortrait()) {
        height = 256;
      }
    } else if (!_deviceUtils.default.isPortrait()) {
      height = 256;
    }

    var thumbnailCss = _$$_REQUIRE(_dependencyMap[15]).Css.getStyleObjByCssClasses(["newsmemory-index-item-image", fullscreen ? "newsmemory-index-item-image-fullscreen" : "newsmemory-index-item-image-spit-screen"]);

    height = thumbnailCss.height || height;
    var enableTouch = !accessibilityEnabled && !carModeEnabled;
    var PageComponent = enableTouch ? _reactNative.TouchableOpacity : _reactNative.View;
    var pageProps = {
      style: _indexLayoutManager.default.secondLevelTouchable,
      accessibilityLabel: global.strings("str_page") + " " + _pageUtils.default.removeZerosFromPageNumber(page.getPage())
    };

    if (enableTouch) {
      pageProps.onPress = function () {
        if (typeof onPress === "function") {
          onPress(page);
        }
      };
    }

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).Css, {
      classes: ["newsmemory-index-item-left"]
    }, _react.default.createElement(PageComponent, pageProps, _react.default.createElement(_newsmemoryScalableImageComponent.default, {
      onDownload: downloadImageMethod,
      style: [_indexLayoutManager.default.secondLevelImage, thumbnailCss],
      height: height,
      color: _newsmemoryUtils.default.getSpinnerColor(),
      page: page
    })));
  };

  exports.IndexThumbnail = IndexThumbnail;
  IndexThumbnail.propTypes = {
    page: _propTypes.default.instanceOf(_Page.default),
    fullscreen: _propTypes.default.bool,
    accessibilityEnabled: _propTypes.default.bool,
    carModeEnabled: _propTypes.default.bool,
    showThumbnail: _propTypes.default.bool,
    downloadImageMethod: _propTypes.default.func,
    onPress: _propTypes.default.func
  };

  var getSecondLevelText = function getSecondLevelText(item) {
    var text = "";

    if (item instanceof _AccessibilityListItem.default) {
      text = item.getText();
    } else if (item instanceof _Page.default) {
      text = global.strings("str_page") + " " + _pageUtils.default.removeZerosFromPageNumber(item.getPage());
    } else if (item instanceof _EPaperArticle.default) {
      text = "" + _$$_REQUIRE(_dependencyMap[14]).StringUtils.decodeHTML(item.getTitle());
    }

    return text;
  };

  exports.getSecondLevelText = getSecondLevelText;

  var ItemIndexSecondLevel = function ItemIndexSecondLevel(props) {
    var item = props.item,
        index = props.index,
        onPress = props.onPress,
        focused = props.focused,
        accessibilityEnabled = props.accessibilityEnabled,
        carModeEnabled = props.carModeEnabled;
    var text = getSecondLevelText(item);
    var enableTouch = item instanceof _EPaperArticle.default || item instanceof _AccessibilityListItem.default || !accessibilityEnabled && !carModeEnabled;
    var parentProps = {
      accessibilityEnabled: accessibilityEnabled,
      accessibilityLabel: text,
      style: [_indexLayoutManager.default.secondLevelItem, focused ? _indexLayoutManager.default.secondLevelItemFocused : undefined],
      key: index
    };

    if (enableTouch) {
      parentProps.onPress = function () {
        return onPress(item, index);
      };
    }

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).Css, {
      classes: ["newsmemory-index-item", focused ? "newsmemory-index-item-focused" : "", "newsmemory-index-item-second-level", focused ? "newsmemory-index-item-second-level-focused" : ""]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).ItemAccessibilityFocused, (0, _extends2.default)({
      touchable: enableTouch,
      focused: focused
    }, parentProps), item instanceof _AccessibilityListItem.default ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).ItemListAccessibility, {
      text: text,
      style: _indexLayoutManager.default.secondLevelItemAccessibility,
      classes: ["newsmemory-index-accessibility-text-second-level"]
    }) : null, item instanceof _Page.default ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).Css, {
      classes: ["newsmemory-index-text", "newsmemory-index-second-level-page"]
    }, _react.default.createElement(_fontText.default, {
      style: [_indexLayoutManager.default.secondLevelItemPage, accessibilityEnabled || carModeEnabled ? _indexLayoutManager.default.secondLevelItemPageAccessibility : undefined]
    }, text)) : null, item instanceof _EPaperArticle.default ? _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).Css, {
      classes: ["newsmemory-index-text", "newsmemory-index-second-level-title", "newsmemory-index-second-level-bullet"]
    }, _react.default.createElement(_fontText.default, {
      style: _indexLayoutManager.default.secondLevelItemBullet
    }, _$$_REQUIRE(_dependencyMap[14]).StringUtils.BULLET + " ")), _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).Css, {
      classes: ["newsmemory-index-text", "newsmemory-index-second-level-title"]
    }, _react.default.createElement(_fontText.default, {
      style: _indexLayoutManager.default.secondLevelItemTitle,
      numberOfLines: 2,
      ellipsizeMode: "tail"
    }, text))) : null));
  };

  exports.ItemIndexSecondLevel = ItemIndexSecondLevel;
},2357,[5,6,17,201,28,1879,2190,638,640,715,603,458,2358,1726,462,699,2189]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[12]);

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _EPaperImage = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[15]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NewsmemoryScalableImage = function (_React$Component) {
    (0, _inherits2.default)(NewsmemoryScalableImage, _React$Component);

    var _super = _createSuper(NewsmemoryScalableImage);

    function NewsmemoryScalableImage(props) {
      var _this;

      (0, _classCallCheck2.default)(this, NewsmemoryScalableImage);
      _this = _super.call(this, props);
      _this.state = {
        error: false,
        loading: true
      };
      _this.imageSize = undefined;
      _this.onDownload = _this._onDownload.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(NewsmemoryScalableImage, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this._checkSize(this.props);
      }
    }, {
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(nextProps) {
        this._checkSize(nextProps);
      }
    }, {
      key: "_checkSize",
      value: function _checkSize(props) {
        var style, error;
        return _regenerator.default.async(function _checkSize$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                style = props.style;
                this.size = {
                  width: _$$_REQUIRE(_dependencyMap[17]).CssUtils.getAttributeFromStyle("width", style),
                  height: _$$_REQUIRE(_dependencyMap[17]).CssUtils.getAttributeFromStyle("height", style)
                };
                error = false;
                _context.prev = 3;
                _context.next = 6;
                return _regenerator.default.awrap(this._getImageSize());

              case 6:
                this.imageSize = _context.sent;
                _context.next = 24;
                break;

              case 9:
                _context.prev = 9;
                _context.t0 = _context["catch"](3);
                _context.prev = 11;
                _context.next = 14;
                return _regenerator.default.awrap(this._onDownload());

              case 14:
                error = !_context.sent;

                if (error) {
                  _context.next = 19;
                  break;
                }

                _context.next = 18;
                return _regenerator.default.awrap(this._getImageSize());

              case 18:
                this.imageSize = _context.sent;

              case 19:
                _context.next = 24;
                break;

              case 21:
                _context.prev = 21;
                _context.t1 = _context["catch"](11);
                error = true;

              case 24:
                this.setState({
                  loading: false,
                  error: error
                });

              case 25:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[3, 9], [11, 21]], Promise);
      }
    }, {
      key: "_getImageSize",
      value: function _getImageSize() {
        var page;
        return _regenerator.default.async(function _getImageSize$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                page = this.props.page;

                if (!page.getLowImage()) {
                  _context2.next = 3;
                  break;
                }

                return _context2.abrupt("return", {
                  width: page.getLowImage().getWidth(),
                  height: page.getLowImage().getHeight()
                });

              case 3:
                throw new Error("Not works with static images");

              case 4:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_onDownload",
      value: function _onDownload() {
        var _this$props, onDownload, page, image;

        return _regenerator.default.async(function _onDownload$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _this$props = this.props, onDownload = _this$props.onDownload, page = _this$props.page;

                if (!(typeof onDownload === "function")) {
                  _context3.next = 8;
                  break;
                }

                image = new _EPaperImage.default();
                image.setPageId(page.getPageId());
                image.setType(_EPaperImage.EPaperImageType.LOW);
                _context3.next = 7;
                return _regenerator.default.awrap(onDownload(page, image));

              case 7:
                return _context3.abrupt("return", true);

              case 8:
                return _context3.abrupt("return", false);

              case 9:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props2 = this.props,
            page = _this$props2.page,
            color = _this$props2.color,
            style = _this$props2.style,
            height = _this$props2.height,
            rest = (0, _objectWithoutProperties2.default)(_this$props2, ["page", "color", "style", "height"]);
        var _this$state = this.state,
            error = _this$state.error,
            loading = _this$state.loading;

        if (error) {
          return null;
        }

        if (loading) {
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[18]).ProgressCircle, {
            spinnerColor: color,
            spinnerStyle: {
              flex: 0
            }
          });
        }

        var aspectRatio = this.imageSize.height / this.imageSize.width;
        var scaleY = 1;

        if (height < this.imageSize.height) {
          scaleY = height / this.imageSize.height;
        }

        var xDivider = page.isDoubleTruck() ? 2 : 1;
        this.imageSize.height *= scaleY;
        var imageWidth = this.imageSize.height / aspectRatio || 0;
        return _react.default.createElement(_reactNative.View, {
          style: [style, {
            width: imageWidth / xDivider,
            height: this.imageSize.height,
            overflow: "hidden"
          }]
        }, _react.default.createElement(_imageComponent.default, (0, _extends2.default)({}, rest, {
          style: {
            width: imageWidth,
            height: this.imageSize.height
          },
          source: {
            uri: "file://" + _tecnaviaFileUtils.default.getNewsmemoryBaseDirectory() + page.getLowImage().getBase64()
          },
          resizeMode: "contain"
        })));
      }
    }]);
    return NewsmemoryScalableImage;
  }(_react.default.Component);

  exports.default = NewsmemoryScalableImage;
  NewsmemoryScalableImage.propTypes = {
    onDownload: _propTypes.default.func.isRequired,
    color: _propTypes.default.string,
    height: _propTypes.default.number,
    style: _propTypes.default.any,
    page: _propTypes.default.instanceOf(_Page.default)
  };
},2358,[5,80,6,108,7,8,15,12,14,16,17,201,28,588,638,587,574,462,1953]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _viewPagerComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _indexBaseComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NewsmemorySecondIndex = function (_IndexBase) {
    (0, _inherits2.default)(NewsmemorySecondIndex, _IndexBase);

    var _super = _createSuper(NewsmemorySecondIndex);

    function NewsmemorySecondIndex(props) {
      var _this;

      (0, _classCallCheck2.default)(this, NewsmemorySecondIndex);
      _this = _super.call(this, props);
      _this.sectionIndex = props.secondLevelIndex;
      _this.sections = _this._getThumbnailsSections(props.layout, props.data);
      _this.sectionsName = _this._getSectionsName(props.layout);
      _this.next = _this._next.bind((0, _assertThisInitialized2.default)(_this));
      _this.prev = _this._prev.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSectionRef = _this._onSectionRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPageChange = _this._onPageChange.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(NewsmemorySecondIndex, [{
      key: "_getSectionsName",
      value: function _getSectionsName(layout) {
        var names = [];

        if (this.sections) {
          switch (layout) {
            case _$$_REQUIRE(_dependencyMap[15]).IndexLayout.LIST_WITH_THUMBNAIL:
              names = this.sections.map(function (section) {
                var page;

                for (var i = 0; i < section.length && !page; i++) {
                  page = section[i].find(function (item) {
                    return item instanceof _Page.default;
                  });
                }

                return page ? (0, _$$_REQUIRE(_dependencyMap[16]).getSecondLevelHeaderText)(page) : "";
              });
              break;

            default:
              names = this.sections.map(function (section) {
                var page = section.find(function (item) {
                  return item instanceof _Page.default;
                });
                return page ? (0, _$$_REQUIRE(_dependencyMap[16]).getSecondLevelHeaderText)(page) : "";
              });
              break;
          }
        }

        return names;
      }
    }, {
      key: "_readHeader",
      value: function _readHeader(index) {
        if (this.lastSectionHeaderRead !== index) {
          this.lastSectionHeaderRead = index;

          try {
            if (this._isAccessibilityModeSimulated()) {
              global.getAudio().ttsStart(global.strings("msg_entering_section", {
                section: this.sectionsName[index]
              }));
            }
          } catch (e) {}
        }
      }
    }, {
      key: "_getData",
      value: function _getData() {
        var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        var index = arguments.length > 1 ? arguments[1] : undefined;
        var length = arguments.length > 2 ? arguments[2] : undefined;
        var accessibilityEnabled = this.props.accessibilityEnabled;
        var newData = (0, _toConsumableArray2.default)(data);

        if (accessibilityEnabled) {
          newData.unshift.apply(newData, (0, _toConsumableArray2.default)((0, _$$_REQUIRE(_dependencyMap[17]).getAccessibilityItemsIndexSecondLevel)(index, length, this.sectionsName)));
        }

        return newData;
      }
    }, {
      key: "_clearFocus",
      value: function _clearFocus() {
        var _this2 = this;

        this.listRefs.forEach(function (ref, index) {
          if (ref && _this2.sectionIndex !== index) {
            ref.resetFocusedItem();
          }
        });
      }
    }, {
      key: "_next",
      value: function _next() {
        if (this.secondLevelRef) {
          this.secondLevelRef.scrollToNext();
        }

        this._clearFocus();
      }
    }, {
      key: "_prev",
      value: function _prev() {
        if (this.secondLevelRef) {
          this.secondLevelRef.scrollToPrev();
        }

        this._clearFocus();
      }
    }, {
      key: "_up",
      value: function _up() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(NewsmemorySecondIndex.prototype), "_up", this).call(this, this.sectionIndex);
      }
    }, {
      key: "_down",
      value: function _down() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(NewsmemorySecondIndex.prototype), "_down", this).call(this, this.sectionIndex);
      }
    }, {
      key: "_onPageChange",
      value: function _onPageChange(index) {
        var _this$props = this.props,
            onSecondLevelChange = _this$props.onSecondLevelChange,
            data = _this$props.data;

        if (typeof onSecondLevelChange === "function") {
          var firstPageOfSection;

          if (data[index] && data[index].length > 0) {
            firstPageOfSection = data[index][0];
          }

          onSecondLevelChange(index, firstPageOfSection);
        }

        this._readHeader(index);

        if (this.sectionIndex !== index) {
          this.sectionIndex = index;

          this._clearFocus();
        }
      }
    }, {
      key: "_onSectionRef",
      value: function _onSectionRef(ref) {
        this.secondLevelRef = ref;
      }
    }, {
      key: "_getNumberOfAccessibilityItems",
      value: function _getNumberOfAccessibilityItems(index) {
        var accessibilityEnabled = this.props.accessibilityEnabled;

        if (accessibilityEnabled) {
          return (0, _$$_REQUIRE(_dependencyMap[17]).getAccessibilityItemsIndexSecondLevel)(index, this.sections.length, this.sectionsName).length;
        }

        return 0;
      }
    }, {
      key: "_onRead",
      value: function _onRead(item) {
        return (0, _$$_REQUIRE(_dependencyMap[16]).getSecondLevelText)(item);
      }
    }, {
      key: "_onPageRead",
      value: function _onPageRead(page) {
        return global.strings("selected_page_of_section", {
          page: page + 1,
          section: this.sectionsName[this.sectionIndex]
        });
      }
    }, {
      key: "_getThumbnailsSections",
      value: function _getThumbnailsSections(layout, data) {
        switch (layout) {
          case _$$_REQUIRE(_dependencyMap[15]).IndexLayout.LIST_WITH_THUMBNAIL:
            return data.map(function (section) {
              var thumbnail = [];
              var result = [];

              for (var i = 0; i < section.length; i++) {
                if (section[i] instanceof _Page.default && thumbnail.length > 0) {
                  result.push(thumbnail);
                  thumbnail = [];
                }

                thumbnail.push(section[i]);

                if (i === section.length - 1 && thumbnail.length > 0) {
                  result.push(thumbnail);
                }
              }

              return result;
            });

          default:
            return data;
        }
      }
    }, {
      key: "_getHeader",
      value: function _getHeader(section, index) {
        var _this$props2 = this.props,
            HrComponent = _this$props2.HrComponent,
            accessibilityEnabled = _this$props2.accessibilityEnabled;
        return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).IndexSectionHeader, {
          section: this.sectionsName[index],
          accessibilityEnabled: accessibilityEnabled
        }), HrComponent);
      }
    }, {
      key: "_showThumbnail",
      value: function _showThumbnail() {
        return true;
      }
    }, {
      key: "_isActive",
      value: function _isActive(index) {
        return this.sectionIndex === index;
      }
    }, {
      key: "_renderSection",
      value: function _renderSection(section, index, listProps) {
        var _this$props3 = this.props,
            layout = _this$props3.layout,
            accessibilityEnabled = _this$props3.accessibilityEnabled,
            carModeEnabled = _this$props3.carModeEnabled;

        switch (layout) {
          case _$$_REQUIRE(_dependencyMap[15]).IndexLayout.LIST:
            return this._renderList(this._getData(section, index, this.sections.length), listProps, _$$_REQUIRE(_dependencyMap[16]).ItemIndexSecondLevel, index);

          case _$$_REQUIRE(_dependencyMap[15]).IndexLayout.LIST_WITH_THUMBNAIL:
            var newSection = [this._getData([], index, this.sections.length)].concat((0, _toConsumableArray2.default)(section));
            return this._renderSectionWithThumb(newSection, listProps, function (element) {
              return _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).ItemIndexSecondLevel, {
                item: element.item,
                index: element.index,
                onPress: listProps.onPress,
                focused: element.focused,
                accessibilityEnabled: accessibilityEnabled,
                carModeEnabled: carModeEnabled
              });
            }, this.onThumbnailPress, index);
        }

        return null;
      }
    }, {
      key: "_render",
      value: function _render(listProps) {
        var _this3 = this;

        return _react.default.createElement(_viewPagerComponent.default, {
          ref: this.onSectionRef,
          data: this.sections,
          startPage: this.sectionIndex,
          onPageChange: this.onPageChange,
          nestedScrollEnabled: true,
          minPointers: this._isAccessibilityModeSimulated() ? 2 : 1,
          renderPage: function renderPage(section, index) {
            return _this3._renderSection(_this3.sections[index], index, listProps);
          }
        });
      }
    }]);
    return NewsmemorySecondIndex;
  }(_indexBaseComponent.default);

  exports.default = NewsmemorySecondIndex;
  NewsmemorySecondIndex.propTypes = (0, _extends2.default)({}, _indexBaseComponent.default.propTypes, {
    secondLevelIndex: _propTypes.default.number,
    HrComponent: _propTypes.default.node,
    onSecondLevelChange: _propTypes.default.func.isRequired
  });
  NewsmemorySecondIndex.defaultProps = (0, _extends2.default)({}, _indexBaseComponent.default.defaultProps, {
    secondLevelIndex: 0
  });
},2359,[5,6,21,7,8,15,90,12,14,16,17,201,2360,2356,638,603,2357,1725]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _newViewPagerComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _oldIosViewPagerComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var ViewPager = _react.default.forwardRef(function (props, ref) {
    var _global$getActivePSet = global.getActivePSetup(),
        useNativeViewPagerIOS = _global$getActivePSet.useNativeViewPagerIOS;

    var ViewPagerComponent = useNativeViewPagerIOS ? _newViewPagerComponent.default : _oldIosViewPagerComponent.default;
    return _react.default.createElement(ViewPagerComponent, (0, _extends2.default)({}, props, {
      ref: ref
    }));
  });

  var _default = ViewPager;
  exports.default = _default;
},2360,[5,6,17,2361,2370]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _reactNativePagerView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _viewPagerIndicators = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _viewPagerChild = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _einkNavigationsButtons = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var WrappedViewPager = (0, _$$_REQUIRE(_dependencyMap[15]).createNativeWrapper)(_reactNativePagerView.default, {
    disallowInterruption: false,
    shouldActivateOnStart: true
  });

  var ViewPager = function (_React$Component) {
    (0, _inherits2.default)(ViewPager, _React$Component);

    var _super = _createSuper(ViewPager);

    function ViewPager(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ViewPager);
      _this = _super.call(this, props);
      _this.viewPagerRef = _react.default.createRef();
      _this.einkRef = _react.default.createRef();
      _this.state = {
        index: props.startPage
      };
      _this.isRtl = _$$_REQUIRE(_dependencyMap[16]).PlatformUtils.isRTL();
      _this.toggleViewPagerState = _this._toggleViewPagerState.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPageSelected = _this._onPageSelected.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(ViewPager, [{
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(nextProps) {
        var index = this.state.index;

        if (index !== nextProps.startPage && this.getRef()) {
          this.scrollTo(nextProps.startPage);
        }
      }
    }, {
      key: "getRef",
      value: function getRef() {
        return this.viewPagerRef && this.viewPagerRef.current ? this.viewPagerRef.current : undefined;
      }
    }, {
      key: "getGestureHandlerRef",
      value: function getGestureHandlerRef() {
        return this.viewPagerRef;
      }
    }, {
      key: "scrollTo",
      value: function scrollTo(newPage) {
        var animated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
        var ref = this.getRef();

        if (ref) {
          var data = this.props.data;

          if (newPage >= 0 && newPage < data.length) {
            if (animated && !_$$_REQUIRE(_dependencyMap[16]).PlatformUtils.isEInk()) {
              ref.setPage(newPage);
            } else {
              ref.setPageWithoutAnimation(newPage);
            }
          }
        }
      }
    }, {
      key: "scrollToNext",
      value: function scrollToNext() {
        var index = this.state.index;
        this.scrollTo(this.isRtl ? index - 1 : index + 1, true);
      }
    }, {
      key: "scrollToPrev",
      value: function scrollToPrev() {
        var index = this.state.index;
        this.scrollTo(this.isRtl ? index + 1 : index - 1, true);
      }
    }, {
      key: "toggleState",
      value: function toggleState(state) {
        if (this.getRef()) {
          this.getRef().setScrollEnabled(_$$_REQUIRE(_dependencyMap[16]).PlatformUtils.isEInk() ? false : state);
        }
      }
    }, {
      key: "_toggleViewPagerState",
      value: function _toggleViewPagerState(_ref) {
        var scrollEnabled = _ref.scrollEnabled,
            simultaneousHandlers = _ref.simultaneousHandlers,
            waitFor = _ref.waitFor,
            enabled = _ref.enabled;
        this.toggleState(scrollEnabled);
      }
    }, {
      key: "_onPageSelected",
      value: function _onPageSelected(_ref2) {
        var nativeEvent = _ref2.nativeEvent;
        var _this$props = this.props,
            onPageChange = _this$props.onPageChange,
            data = _this$props.data;

        if (typeof onPageChange === "function") {
          onPageChange(nativeEvent.position);
        }

        var index = this.state.index;

        if (nativeEvent.position !== index) {
          if (this.einkRef && this.einkRef.current) {
            this.einkRef.current.toggleLeft(nativeEvent.position > 0);
            this.einkRef.current.toggleRight(nativeEvent.position < data.length - 1);
          }

          this.setState({
            index: nativeEvent.position
          });
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props2 = this.props,
            renderPage = _this$props2.renderPage,
            data = _this$props2.data,
            numberOfRenderPages = _this$props2.numberOfRenderPages,
            showIndicators = _this$props2.showIndicators,
            indicatorsActiveColor = _this$props2.indicatorsActiveColor,
            indicatorsColor = _this$props2.indicatorsColor,
            skipChildMemo = _this$props2.skipChildMemo;
        var index = this.state.index;
        return _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1
          }
        }, _react.default.createElement(WrappedViewPager, {
          scrollEnabled: !_$$_REQUIRE(_dependencyMap[16]).PlatformUtils.isEInk(),
          layoutDirection: this.isRtl ? "rtl" : "ltr",
          overScrollMode: "never",
          ref: this.viewPagerRef,
          initialPage: index,
          style: {
            flex: 1
          },
          onPageSelected: this.onPageSelected
        }, data.map(function (item, pos) {
          var lowInterval = index - numberOfRenderPages;
          var highInterval = index + numberOfRenderPages;
          var isInInterval = pos >= lowInterval && pos <= highInterval;
          var isInProgressInterval = !isInInterval && pos >= lowInterval - 1 && pos <= highInterval + 1;
          return _react.default.createElement(_viewPagerChild.default, {
            key: "element_" + pos,
            item: item,
            index: pos,
            skipMemo: skipChildMemo,
            orientation: _deviceUtils.default.currentOrientation,
            renderChildContent: renderPage,
            isInInterval: isInInterval,
            isInProgressInterval: isInProgressInterval
          });
        })), _react.default.createElement(_einkNavigationsButtons.default, {
          ref: this.einkRef,
          enabled: _$$_REQUIRE(_dependencyMap[16]).PlatformUtils.isEInk(),
          onLeftPress: function onLeftPress() {
            return _this2.scrollToPrev();
          },
          onRightPress: function onRightPress() {
            return _this2.scrollToNext();
          }
        }), showIndicators ? _react.default.createElement(_viewPagerIndicators.default, {
          total: data.length,
          activeIndex: index,
          color: indicatorsColor,
          activeColor: indicatorsActiveColor
        }) : null);
      }
    }]);
    return ViewPager;
  }(_react.default.Component);

  exports.default = ViewPager;
  ViewPager.propTypes = {
    showIndicators: _propTypes.default.bool,
    indicatorsColor: _propTypes.default.string,
    indicatorsActiveColor: _propTypes.default.string,
    numberOfRenderPages: _propTypes.default.number,
    data: _propTypes.default.array.isRequired,
    startPage: _propTypes.default.number,
    renderPage: _propTypes.default.func.isRequired,
    onPageChange: _propTypes.default.func,
    skipChildMemo: _propTypes.default.bool
  };
  ViewPager.defaultProps = {
    numberOfRenderPages: 1,
    startPage: 0,
    showIndicators: false,
    skipChildMemo: false
  };
},2361,[5,7,8,15,12,14,16,17,201,28,1653,2362,2364,458,2365,1,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _viewPagerComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function Indicators(props) {
    var color = props.color,
        activeColor = props.activeColor,
        activeIndex = props.activeIndex,
        total = props.total;

    if (total < 2) {
      return null;
    }

    var dots = [];

    for (var i = 0; i < total; i++) {
      dots.push(_react.default.createElement(_reactNative.View, {
        key: i,
        style: [{
          backgroundColor: i === activeIndex ? activeColor : color
        }, _viewPagerComponent.default.dot]
      }));
    }

    return _react.default.createElement(_reactNative.View, {
      pointerEvents: "none",
      style: _viewPagerComponent.default.pagination
    }, dots);
  }

  Indicators.propTypes = {
    color: _propTypes.default.string,
    activeColor: _propTypes.default.string,
    total: _propTypes.default.number.isRequired,
    activeIndex: _propTypes.default.number.isRequired
  };
  Indicators.defaultProps = {
    color: _$$_REQUIRE(_dependencyMap[5]).colors.black,
    activeColor: _$$_REQUIRE(_dependencyMap[5]).colors.white
  };
  var _default = Indicators;
  exports.default = _default;
},2362,[5,17,201,28,2363,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    pagination: {
      position: "absolute",
      bottom: 25,
      left: 0,
      right: 0,
      flexDirection: "row",
      flex: 1,
      justifyContent: "center",
      alignItems: "center",
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.transparent
    },
    dot: {
      width: 8,
      height: 8,
      borderRadius: 4,
      marginLeft: 3,
      marginRight: 3,
      marginTop: 3,
      marginBottom: 3
    }
  });

  exports.default = _default;
},2363,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var styles = _reactNative.StyleSheet.create({
    container: {
      width: "100%",
      height: "100%"
    }
  });

  function Child(props) {
    var index = props.index,
        isInInterval = props.isInInterval,
        isInProgressInterval = props.isInProgressInterval,
        renderChildContent = props.renderChildContent,
        item = props.item;
    var Component = null;

    if (isInInterval) {
      Component = renderChildContent(item, index);
    } else if (isInProgressInterval) {
      Component = _react.default.createElement(_$$_REQUIRE(_dependencyMap[5]).ProgressCircle, {
        spinnerColor: _newsmemoryUtils.default.getSpinnerColor()
      });
    }

    return _react.default.createElement(_reactNative.View, {
      style: styles.container,
      collapsable: false
    }, Component);
  }

  Child.propTypes = {
    item: _propTypes.default.object,
    index: _propTypes.default.number,
    isInInterval: _propTypes.default.bool,
    isInProgressInterval: _propTypes.default.bool,
    renderChildContent: _propTypes.default.func
  };
  Child.defaultProps = {};

  var ViewPagerChild = _react.default.memo(Child, function (prevProps, nextProps) {
    return prevProps.isInInterval === nextProps.isInInterval && prevProps.isInProgressInterval === nextProps.isInProgressInterval && prevProps.orientation === nextProps.orientation && prevProps.skipMemo === false;
  });

  var _default = ViewPagerChild;
  exports.default = _default;
},2364,[5,17,201,28,603,1953]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  var _einkButton = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var styles = _reactNative.StyleSheet.create({
    container: {
      position: "absolute",
      flexDirection: "column",
      justifyContent: "center"
    },
    left: {
      top: 0,
      bottom: 0,
      start: 0
    },
    right: {
      top: 0,
      bottom: 0,
      end: 0
    },
    button: {
      position: "absolute"
    },
    buttonStart: {
      left: 0,
      alignItems: "flex-start"
    },
    buttonRight: {
      end: 0,
      alignItems: "flex-end"
    }
  });

  function EInkSectionButtons(props) {
    var children = props.children,
        style = props.style,
        rest = (0, _objectWithoutProperties2.default)(props, ["children", "style"]);

    var _useState = (0, _react.useState)(null),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        layout = _useState2[0],
        setLayout = _useState2[1];

    var onLayout = function onLayout(_ref) {
      var nativeEvent = _ref.nativeEvent;
      setLayout(nativeEvent.layout);
    };

    return _react.default.createElement(_reactNative.View, (0, _extends2.default)({}, rest, {
      style: [styles.container, style],
      onLayout: onLayout
    }), children && typeof children === "function" && layout ? children(layout) : null);
  }

  var EInkNavigationButtons = _react.default.forwardRef(function (props, ref) {
    var enabled = props.enabled,
        onLeftPress = props.onLeftPress,
        onRightPress = props.onRightPress;

    var _useState3 = (0, _react.useState)(true),
        _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
        leftVisible = _useState4[0],
        setLeftVisibility = _useState4[1];

    var _useState5 = (0, _react.useState)(true),
        _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
        rightVisible = _useState6[0],
        setRightVisibility = _useState6[1];

    if (!enabled) {
      return null;
    }

    (0, _react.useImperativeHandle)(ref, function () {
      return {
        toggleLeft: function toggleLeft(state) {
          return setLeftVisibility(state);
        },
        toggleRight: function toggleRight(state) {
          return setRightVisibility(state);
        }
      };
    });
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
      classes: ["newsmemory-navigation-icons-parent"]
    }, leftVisible ? _react.default.createElement(EInkSectionButtons, {
      key: "eink_left",
      style: styles.left
    }, function (_ref2) {
      var height = _ref2.height;
      return _react.default.createElement(_einkButton.default, {
        button: {
          key: "scrollLeft",
          icon: _$$_REQUIRE(_dependencyMap[9]),
          callback: function callback() {
            if (typeof onLeftPress === "function") {
              onLeftPress();
            }
          }
        },
        style: [styles.button, styles.buttonStart]
      });
    }) : null, rightVisible ? _react.default.createElement(EInkSectionButtons, {
      key: "eink_right",
      style: styles.right
    }, function (_ref3) {
      var height = _ref3.height;
      return _react.default.createElement(_einkButton.default, {
        button: {
          key: "scrollRight",
          icon: _$$_REQUIRE(_dependencyMap[10]),
          callback: function callback() {
            if (typeof onRightPress === "function") {
              onRightPress();
            }
          }
        },
        style: [styles.button, styles.buttonRight]
      });
    }) : null);
  });

  EInkNavigationButtons.propTypes = {
    enabled: _propTypes.default.bool,
    onLeftPress: _propTypes.default.func,
    onRightPress: _propTypes.default.func
  };
  EInkNavigationButtons.defaultProps = {
    enabled: false
  };
  var _default = EInkNavigationButtons;
  exports.default = _default;
},2365,[5,6,41,108,17,201,28,2366,699,2368,2369]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _einkIcon = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function EInkButton(props) {
    var button = props.button,
        style = props.style;

    if (!button) {
      return null;
    }

    return _react.default.createElement(_reactNative.TouchableOpacity, {
      onPress: function onPress() {
        if (typeof button.callback === "function") {
          button.callback();
        }
      },
      key: "eink_button_" + button.key,
      style: style
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[5]).Css, {
      classes: ["page-navigation-button"],
      cssKey: button.key
    }, _react.default.createElement(_einkIcon.default, {
      button: button
    })));
  }

  EInkButton.propTypes = {
    style: _propTypes.default.any,
    button: _propTypes.default.shape({
      key: _propTypes.default.string,
      callback: _propTypes.default.func,
      icon: _propTypes.default.number
    })
  };
  var _default = EInkButton;
  exports.default = _default;
},2366,[5,17,201,28,2367,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.EINK_ICON_MARGIN = exports.EINK_ICON_HEIGHT = undefined;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var EINK_ICON_HEIGHT = 50;
  exports.EINK_ICON_HEIGHT = EINK_ICON_HEIGHT;
  var EINK_ICON_MARGIN = 5;
  exports.EINK_ICON_MARGIN = EINK_ICON_MARGIN;

  function ButtonIcon(props) {
    var button = props.button;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[4]).Css, {
      classes: ["newsmemory-icon", "newsmemory-navigation-icon", "newsmemory-navigation-" + button.key + "-icon"]
    }, _react.default.createElement(_imageIconChooserComponent.default, {
      style: {
        width: EINK_ICON_HEIGHT,
        height: EINK_ICON_HEIGHT
      },
      resizeMode: "contain",
      source: button.icon
    }));
  }

  ButtonIcon.propTypes = {
    button: _propTypes.default.shape({
      key: _propTypes.default.string,
      icon: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
    })
  };
  var _default = ButtonIcon;
  exports.default = _default;
},2367,[5,17,201,1970,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/shared/eink/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "06455f4cdb6180deff379acb17c85f44",
    "name": "ic-left-button",
    "type": "png"
  });
},2368,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/shared/eink/icons",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "2b506ed47a2e1d629b2330b93e68ad41",
    "name": "ic-right-button",
    "type": "png"
  });
},2369,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _swiper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ViewPagerIOS = function (_React$Component) {
    (0, _inherits2.default)(ViewPagerIOS, _React$Component);

    var _super = _createSuper(ViewPagerIOS);

    function ViewPagerIOS(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ViewPagerIOS);
      _this = _super.call(this, props);
      _this.scrollRef = _react.default.createRef();
      _this.isRtl = _$$_REQUIRE(_dependencyMap[12]).PlatformUtils.isRTL();
      _this.toggleViewPagerState = _this._toggleViewPagerState.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(ViewPagerIOS, [{
      key: "_convertProps",
      value: function _convertProps() {
        var _this$props = this.props,
            startPage = _this$props.startPage,
            showIndicators = _this$props.showIndicators,
            numberOfRenderPages = _this$props.numberOfRenderPages,
            containerStyle = _this$props.containerStyle,
            indicatorsColor = _this$props.indicatorsColor,
            indicatorsActiveColor = _this$props.indicatorsActiveColor,
            onPageChange = _this$props.onPageChange,
            rest = (0, _objectWithoutProperties2.default)(_this$props, ["startPage", "showIndicators", "numberOfRenderPages", "containerStyle", "indicatorsColor", "indicatorsActiveColor", "onPageChange"]);
        var converted = (0, _extends2.default)({}, rest);
        converted.dataIndex = startPage;
        converted.showsPagination = showIndicators;
        converted.loadMinimalSize = numberOfRenderPages;

        if (containerStyle) {
          converted.containerStyle = containerStyle;
        }

        if (indicatorsColor) {
          converted.dotColor = indicatorsColor;
        }

        if (indicatorsActiveColor) {
          converted.activeDotColor = indicatorsActiveColor;
        }

        if (onPageChange) {
          converted.onIndexChanged = onPageChange;
        }

        converted.scrollRef = this.scrollRef;
        return converted;
      }
    }, {
      key: "scrollTo",
      value: function scrollTo(newPage) {
        var animated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;

        if (this.swiper) {
          this.swiper.scrollTo(newPage, animated);
        }
      }
    }, {
      key: "scrollToPage",
      value: function scrollToPage(newPage) {
        var animated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;

        if (this.swiper) {
          this.swiper.scrollByDataIndex(newPage, animated);
        }
      }
    }, {
      key: "scrollToNext",
      value: function scrollToNext() {
        var animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;

        if (this.swiper) {
          if (this.isRtl) {
            this.swiper.scrollToPrev(animated);
          } else {
            this.swiper.scrollToNext(animated);
          }
        }
      }
    }, {
      key: "scrollToPrev",
      value: function scrollToPrev() {
        var animated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;

        if (this.swiper) {
          if (this.isRtl) {
            this.swiper.scrollToNext(animated);
          } else {
            this.swiper.scrollToPrev(animated);
          }
        }
      }
    }, {
      key: "_toggleViewPagerState",
      value: function _toggleViewPagerState(object) {
        if (this.scrollRef && this.scrollRef.current) {
          this.scrollRef.current.setNativeProps(object);
        }
      }
    }, {
      key: "getGestureHandlerRef",
      value: function getGestureHandlerRef() {
        return this.scrollRef;
      }
    }, {
      key: "toggleState",
      value: function toggleState(state) {
        if (this.swiper) {
          this.swiper.toggleState(state);
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var newProps = this._convertProps();

        return _react.default.createElement(_swiper.default, (0, _extends2.default)({
          key: newProps.data.length,
          ref: function ref(swiper) {
            _this2.swiper = swiper;
          }
        }, newProps));
      }
    }]);
    return ViewPagerIOS;
  }(_react.default.Component);

  exports.default = ViewPagerIOS;
  ViewPagerIOS.propTypes = (0, _extends2.default)({
    containerStyle: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.number]),
    showIndicators: _propTypes.default.bool,
    indicatorsColor: _propTypes.default.string,
    indicatorsActiveColor: _propTypes.default.string,
    numberOfRenderPages: _propTypes.default.number,
    data: _propTypes.default.array.isRequired,
    startPage: _propTypes.default.number,
    renderPage: _propTypes.default.func.isRequired,
    onPageChange: _propTypes.default.func
  }, _swiper.default.propTypes);
  ViewPagerIOS.defaultProps = {
    numberOfRenderPages: 1,
    startPage: 0,
    showIndicators: false,
    containerStyle: {}
  };
},2370,[5,6,108,7,8,15,12,14,16,17,201,2371,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var styles = {
    container: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[14]).colors.transparent,
      position: "relative",
      flex: 1
    },
    slide: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[14]).colors.transparent
    },
    pagination: {
      position: "absolute",
      bottom: 25,
      left: 0,
      right: 0,
      flexDirection: "row",
      flex: 1,
      justifyContent: "center",
      alignItems: "center",
      backgroundColor: _$$_REQUIRE(_dependencyMap[14]).colors.transparent
    },
    dot: {
      width: 8,
      height: 8,
      borderRadius: 4,
      marginLeft: 3,
      marginRight: 3,
      marginTop: 3,
      marginBottom: 3
    }
  };

  var _default = function (_Component) {
    (0, _inherits2.default)(_default, _Component);

    var _super = _createSuper(_default);

    function _default(props) {
      var _this;

      (0, _classCallCheck2.default)(this, _default);
      _this = _super.call(this, props);

      _this.onLayout = function (event) {
        var _event$nativeEvent$la = event.nativeEvent.layout,
            width = _event$nativeEvent$la.width,
            height = _event$nativeEvent$la.height;
        var offset = _this.internals.offset = {};
        var state = {
          width: width,
          height: height,
          loading: false
        };

        if (_this.state.total > 1) {
          var setup = _this.state.swiperIndex;
          offset[_this.state.dir] = _this.state.dir === "x" ? width * setup : height * setup;
        }

        state.offset = offset;

        if (_this.state.total > 1 && _this.getScrollView()) {
          _this.getScrollView().scrollTo((0, _extends2.default)({}, offset, {
            animated: false
          }));
        }

        if (width !== _this.state.width || height !== _this.state.height || _this.state.loading) {
          _this.setState(state);
        }
      };

      _this.onScrollBegin = function () {
        _this.internals.isScrolling = true;

        _$$_REQUIRE(_dependencyMap[15]).EventRegister.emit(_events.default.SWIPER_SCROLL_BEGIN);
      };

      _this.onScrollEnd = function (e) {
        _this.internals.isScrolling = false;

        _$$_REQUIRE(_dependencyMap[15]).EventRegister.emit(_events.default.SWIPER_SCROLL_END);

        if (!e.nativeEvent.contentOffset) {
          if (_this.state.dir === "x") {
            e.nativeEvent.contentOffset = {
              x: e.nativeEvent.position * _this.state.width
            };
          } else {
            e.nativeEvent.contentOffset = {
              y: e.nativeEvent.position * _this.state.height
            };
          }
        }

        _this.updateIndex(e.nativeEvent.contentOffset);
      };

      _this.onScrollEndDrag = function (e) {
        var contentOffset = e.nativeEvent.contentOffset;
        var _this$state = _this.state,
            data = _this$state.data,
            swiperIndex = _this$state.swiperIndex,
            dir = _this$state.dir;
        var offset = _this.internals.offset;
        var previousOffset = dir === "x" ? offset.x : offset.y;
        var newOffset = dir === "x" ? contentOffset.x : contentOffset.y;

        if (previousOffset === newOffset && (swiperIndex === 0 || swiperIndex === data.length - 1)) {
          _this.internals.isScrolling = false;
        }
      };

      _this.updateIndex = function (offset) {
        var _assertThisInitialize = (0, _assertThisInitialized2.default)(_this),
            state = _assertThisInitialize.state;

        var swiperIndex = state.swiperIndex;

        if (!_this.internals.offset) {
          _this.internals.offset = {};
        }

        var diff = offset[state.dir] - (_this.internals.offset[state.dir] || 0);
        var step = state.dir === "x" ? state.width : state.height;

        if (!diff) {
          return;
        }

        swiperIndex = parseInt(swiperIndex + Math.round(diff / step), 10);
        var newState = {};
        newState.swiperIndex = swiperIndex;
        _this.internals.offset = offset;

        _this.setState(newState);
      };

      _this.scrollTo = function (swiperIndex) {
        var animated = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;

        if (_this.state.total < 2) {
          return;
        }

        swiperIndex = Math.max(0, Math.min(_this.state.total - 1, swiperIndex));

        var _assertThisInitialize2 = (0, _assertThisInitialized2.default)(_this),
            state = _assertThisInitialize2.state;

        var diff = _this.state.swiperIndex + (swiperIndex - _this.state.swiperIndex);
        var x = 0;
        var y = 0;

        if (state.dir === "x") {
          x = diff * state.width;
        }

        if (state.dir === "y") {
          y = diff * state.height;
        }

        if (_this.getScrollView()) {
          _this.getScrollView().scrollTo({
            x: x,
            y: y,
            animated: animated
          });
        }

        _this.internals.isScrolling = true;

        if (!animated || _$$_REQUIRE(_dependencyMap[14]).PlatformUtils.isAndroid()) {
          _this.onScrollEnd({
            nativeEvent: {
              position: diff
            }
          });
        }
      };

      _this.renderPagination = function () {
        if (_this.state.total <= 1) {
          return null;
        }

        var dots = [];

        for (var i = 0; i < _this.state.total; i++) {
          dots.push(_react.default.createElement(_reactNative.View, {
            key: i,
            style: [{
              backgroundColor: i === _this.state.swiperIndex ? _this.props.activeDotColor || _$$_REQUIRE(_dependencyMap[14]).colors.white : _this.props.dotColor || _$$_REQUIRE(_dependencyMap[14]).colors.black
            }, styles.dot]
          }));
        }

        return _react.default.createElement(_reactNative.View, {
          pointerEvents: "none",
          style: styles.pagination
        }, dots);
      };

      _this.getScrollView = function () {
        return _this.scrollRef.current;
      };

      _this.renderScrollView = function (pages) {
        var _this$props = _this.props,
            style = _this$props.style,
            rest = (0, _objectWithoutProperties2.default)(_this$props, ["style"]);
        var offset = _this.state.offset;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).TecnaviaGestureHandlerScrollview, (0, _extends2.default)({
          ref: _this.scrollRef,
          showsHorizontalScrollIndicator: false,
          showsVerticalScrollIndicator: false,
          automaticallyAdjustContentInsets: false,
          scrollEventThrottle: 16,
          bounces: false,
          scrollsToTop: false,
          horizontal: true,
          contentContainerStyle: style,
          contentOffset: offset
        }, rest, {
          onScrollBeginDrag: _this.onScrollBegin,
          onMomentumScrollEnd: _this.onScrollEnd,
          onScrollEndDrag: _this.onScrollEndDrag
        }), pages);
      };

      _this.state = _this.initState(_this.props);
      _this.scrollRef = props.scrollRef || _react.default.createRef();

      _this._onIndexChange();

      return _this;
    }

    (0, _createClass2.default)(_default, [{
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(nextProps) {
        var _this2 = this;

        var _this$state2 = this.state,
            swiperIndex = _this$state2.swiperIndex,
            data = _this$state2.data;
        this.setState(this.initState(nextProps, nextProps.data.length !== data.length || nextProps.dataIndex !== swiperIndex), function () {
          if (swiperIndex !== nextProps.dataIndex) {
            _this2.scrollTo(nextProps.dataIndex);
          }
        });
      }
    }, {
      key: "UNSAFE_componentWillUpdate",
      value: function UNSAFE_componentWillUpdate(nextProps, nextState) {
        this._onIndexChange(nextState);
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps, prevState) {
        var offset = this.state.offset;

        if (prevState.offset.x !== offset.x && this.getScrollView()) {
          this.getScrollView().scrollTo((0, _extends2.default)({}, offset, {
            animated: false
          }));

          this._onIndexChange();
        }
      }
    }, {
      key: "_onIndexChange",
      value: function _onIndexChange() {
        var nextState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.state;
        var swiperIndex = nextState.swiperIndex;
        var onIndexChanged = this.props.onIndexChanged;

        if (onIndexChanged) {
          onIndexChanged(swiperIndex);
        }
      }
    }, {
      key: "scrollToNext",
      value: function scrollToNext(animated) {
        var swiperIndex = this.state.swiperIndex;
        this.scrollTo(swiperIndex + 1, animated);
      }
    }, {
      key: "scrollToPrev",
      value: function scrollToPrev(animated) {
        var swiperIndex = this.state.swiperIndex;
        this.scrollTo(swiperIndex - 1, animated);
      }
    }, {
      key: "scrollByDataIndex",
      value: function scrollByDataIndex(dataIndex, animated) {
        this.scrollTo(dataIndex, animated);
      }
    }, {
      key: "toggleState",
      value: function toggleState(state) {
        var scrollEnabled = this.props.scrollEnabled;

        if (this.getScrollView() && scrollEnabled) {
          this.getScrollView().setNativeProps({
            enabled: state,
            scrollEnabled: state
          });
        }
      }
    }, {
      key: "initState",
      value: function initState(props) {
        var update = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
        var state = this.state || {
          width: 0,
          height: 0,
          offset: {
            x: 0,
            y: 0
          },
          loading: true
        };
        var initState = {
          data: null,
          offset: {},
          loading: state.loading
        };

        var _Dimensions$get = _reactNative.Dimensions.get("window"),
            width = _Dimensions$get.width,
            height = _Dimensions$get.height;

        if (this.state && this.state.width) {
          initState.width = this.state.width;
        } else if (props.width) {
          initState.width = props.width;
        } else {
          initState.width = width;
        }

        if (this.state && this.state.height) {
          initState.height = this.state.height;
        } else if (props.height) {
          initState.height = props.height;
        } else {
          initState.height = height;
        }

        initState.dir = props.horizontal ? "x" : "y";
        initState.data = props.data;
        initState.total = initState.data.length;

        if (state.total === initState.total && !update) {
          initState.swiperIndex = state.swiperIndex;
        } else {
          if (state.swiperIndex && state.swiperIndex === props.dataIndex) {
            initState.swiperIndex = state.swiperIndex;
          } else {
            var currentIndex = props.dataIndex;
            initState.swiperIndex = initState.total > 1 ? Math.min(currentIndex, initState.total - 1) : 0;
          }
        }

        initState.offset[initState.dir] = initState.dir === "x" ? initState.width * initState.swiperIndex : initState.height * initState.swiperIndex;
        this.internals = (0, _extends2.default)({}, this.internals, {
          offset: initState.offset,
          isScrolling: false
        });
        return initState;
      }
    }, {
      key: "fullState",
      value: function fullState() {
        return (0, _extends2.default)({}, this.state, this.internals);
      }
    }, {
      key: "render",
      value: function render() {
        var _this$state3 = this.state,
            swiperIndex = _this$state3.swiperIndex,
            width = _this$state3.width,
            height = _this$state3.height,
            data = _this$state3.data,
            loading = _this$state3.loading;
        var _this$props2 = this.props,
            containerStyle = _this$props2.containerStyle,
            loadMinimalSize = _this$props2.loadMinimalSize,
            showsPagination = _this$props2.showsPagination,
            renderPage = _this$props2.renderPage;
        var pages = [];
        pages = data.map(function (page, i) {
          if (i >= swiperIndex - loadMinimalSize && i <= swiperIndex + loadMinimalSize) {
            return _react.default.createElement(_reactNative.View, {
              style: [styles.slide, {
                width: width,
                height: height
              }],
              key: "page_" + i
            }, !loading ? renderPage(page, i) : null);
          }

          var showProgress = i >= swiperIndex - loadMinimalSize - 1 && i <= swiperIndex + loadMinimalSize + 1 && !loading;
          return _react.default.createElement(_reactNative.View, {
            style: {
              width: width,
              height: height,
              justifyContent: "center",
              alignItems: "center"
            },
            key: "progress_" + i
          }, showProgress ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).ProgressCircle, {
            spinnerColor: _newsmemoryUtils.default.getSpinnerColor()
          }) : null);
        });
        return _react.default.createElement(_reactNative.View, {
          style: [styles.container, containerStyle],
          onLayout: this.onLayout
        }, this.renderScrollView(pages), showsPagination && this.renderPagination());
      }
    }]);
    return _default;
  }(_react.Component);

  exports.default = _default;
  _default.propTypes = {
    scrollRef: _propTypes.default.object,
    data: _propTypes.default.array.isRequired,
    dataIndex: _propTypes.default.number,
    renderPage: _propTypes.default.func.isRequired,
    containerStyle: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.number]),
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array]),
    scrollEnabled: _propTypes.default.bool,
    pagingEnabled: _propTypes.default.bool,
    showsPagination: _propTypes.default.bool,
    horizontal: _propTypes.default.bool,
    loadMinimalSize: _propTypes.default.number,
    dotColor: _propTypes.default.string,
    activeDotColor: _propTypes.default.string,
    onIndexChanged: _propTypes.default.func,
    width: _propTypes.default.number
  };
  _default.defaultProps = {
    containerStyle: {},
    scrollEnabled: true,
    pagingEnabled: true,
    showsPagination: true,
    loadMinimalSize: 1,
    dataIndex: 0,
    horizontal: true,
    onIndexChanged: function onIndexChanged() {
      return null;
    }
  };
},2371,[5,108,6,7,8,15,12,14,16,17,201,28,603,460,462,572,1909,1953]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _subHeaderComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SubHeaderComponent = function (_React$Component) {
    (0, _inherits2.default)(SubHeaderComponent, _React$Component);

    var _super = _createSuper(SubHeaderComponent);

    function SubHeaderComponent() {
      (0, _classCallCheck2.default)(this, SubHeaderComponent);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(SubHeaderComponent, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            bgColor = _this$props.bgColor,
            ButtonsComponent = _this$props.ButtonsComponent,
            HrComponent = _this$props.HrComponent,
            SubButtonsComponent = _this$props.SubButtonsComponent,
            TextComponent = _this$props.TextComponent,
            cssClasses = _this$props.cssClasses;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Css, {
          classes: cssClasses
        }, _react.default.createElement(_reactNative.View, {
          style: {
            backgroundColor: bgColor
          }
        }, _react.default.createElement(_reactNative.View, {
          style: _subHeaderComponent.default.parent
        }, TextComponent), ButtonsComponent || SubButtonsComponent ? HrComponent : null, ButtonsComponent, SubButtonsComponent, ButtonsComponent || SubButtonsComponent ? HrComponent : null));
      }
    }]);
    return SubHeaderComponent;
  }(_react.default.Component);

  exports.default = SubHeaderComponent;
  SubHeaderComponent.propTypes = {
    bgColor: _propTypes.default.string,
    TextComponent: _propTypes.default.node,
    HrComponent: _propTypes.default.node,
    ButtonsComponent: _propTypes.default.node,
    SubButtonsComponent: _propTypes.default.node,
    cssClasses: _propTypes.default.arrayOf(_propTypes.default.string)
  };
  SubHeaderComponent.defaultProps = {
    cssClasses: []
  };
},2372,[5,7,8,12,14,16,17,201,28,2373,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    parent: {
      width: "100%",
      flexDirection: "row"
    },
    header: {
      height: _$$_REQUIRE(_dependencyMap[1]).HEADER_HEIGHT,
      flexDirection: "row",
      justifyContent: "flex-end"
    }
  });

  exports.default = _default;
},2373,[28,729]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _headerInfoComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var HeaderInfo = function (_React$PureComponent) {
    (0, _inherits2.default)(HeaderInfo, _React$PureComponent);

    var _super = _createSuper(HeaderInfo);

    function HeaderInfo(props) {
      var _this;

      (0, _classCallCheck2.default)(this, HeaderInfo);
      _this = _super.call(this, props);
      _this.leftText = props.leftText;
      _this.rightText = props.rightText;
      return _this;
    }

    (0, _createClass2.default)(HeaderInfo, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        var onChangeEventName = this.props.onChangeEventName;
        this.onChange = _$$_REQUIRE(_dependencyMap[11]).EventRegister.on(onChangeEventName, function (_ref) {
          var leftText = _ref.leftText,
              rightText = _ref.rightText;

          if (_this2.leftText !== leftText || _this2.rightText !== rightText) {
            _this2.leftText = leftText;
            _this2.rightText = rightText;

            _this2.forceUpdate();
          }
        });
      }
    }, {
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(nextProps) {
        this.leftText = nextProps.leftText;
        this.rightText = nextProps.rightText;
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[11]).EventRegister.rm(this.onChange);
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            color = _this$props.color,
            textSize = _this$props.textSize,
            accessibilityEnabled = _this$props.accessibilityEnabled;
        var leftSize = textSize ? {
          fontSize: textSize
        } : undefined;
        var rightSize = textSize ? {
          fontSize: textSize - 4
        } : undefined;

        var text = _$$_REQUIRE(_dependencyMap[12]).StringUtils.decodeHTML(this.leftText);

        return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["newsmemory-article-mode-sub-header-section-parent"]
        }, _react.default.createElement(_reactNative.View, {
          style: _headerInfoComponent.default.section
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).ItemAccessibilityFocused, {
          accessibilityEnabled: accessibilityEnabled,
          touchable: false,
          accessibilityLabel: text
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["newsmemory-article-mode-sub-header-section"]
        }, _react.default.createElement(_fontText.default, {
          style: [_headerInfoComponent.default.sectionText, leftSize, {
            color: color
          }],
          numberOfLines: 1,
          ellipsizeMode: "tail"
        }, text))))), this.rightText ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["newsmemory-article-mode-sub-header-info-parent"]
        }, _react.default.createElement(_reactNative.View, {
          style: _headerInfoComponent.default.info
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).ItemAccessibilityFocused, {
          accessibilityEnabled: accessibilityEnabled,
          touchable: false,
          accessibilityLabel: this.rightText
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["newsmemory-article-mode-sub-header-info"]
        }, _react.default.createElement(_fontText.default, {
          style: [_headerInfoComponent.default.infoText, rightSize, {
            color: color
          }]
        }, this.rightText))))) : null);
      }
    }]);
    return HeaderInfo;
  }(_react.default.PureComponent);

  exports.default = HeaderInfo;
  HeaderInfo.propTypes = {
    leftText: _propTypes.default.string,
    rightText: _propTypes.default.string,
    textSize: _propTypes.default.number,
    accessibilityEnabled: _propTypes.default.bool,
    color: _propTypes.default.string.isRequired,
    onChangeEventName: _propTypes.default.string
  };
},2374,[5,7,8,12,14,16,17,28,201,1879,2375,572,462,699,2189]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    section: {
      flex: 1,
      paddingHorizontal: 10,
      flexDirection: "row",
      justifyContent: "flex-start",
      alignItems: "center"
    },
    info: {
      flex: 1,
      paddingHorizontal: 10,
      justifyContent: "flex-end",
      alignItems: "center",
      flexDirection: "row"
    },
    sectionText: {
      fontSize: _$$_REQUIRE(_dependencyMap[1]).HEADER_FONT_SIZE,
      textAlign: "left"
    },
    infoText: {
      textAlign: "right",
      fontSize: _$$_REQUIRE(_dependencyMap[1]).HEADER_FONT_SIZE - 4,
      fontStyle: "italic"
    }
  });

  exports.default = _default;
},2375,[28,729]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _simpleButtonComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TwoStateButton = function (_React$Component) {
    (0, _inherits2.default)(TwoStateButton, _React$Component);

    var _super = _createSuper(TwoStateButton);

    function TwoStateButton(props) {
      var _this;

      (0, _classCallCheck2.default)(this, TwoStateButton);
      _this = _super.call(this, props);
      _this.state = {
        active: props.active
      };
      _this.onPress = _this._onPress.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(TwoStateButton, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        var _this$props = this.props,
            toInactiveEvent = _this$props.toInactiveEvent,
            toActiveEvent = _this$props.toActiveEvent;

        if (toInactiveEvent) {
          this.onToInactiveListener = _$$_REQUIRE(_dependencyMap[12]).EventRegister.on(toInactiveEvent, function () {
            _this2._updateState(false);
          });
        }

        if (toActiveEvent) {
          this.onToActiveListener = _$$_REQUIRE(_dependencyMap[12]).EventRegister.on(toActiveEvent, function () {
            _this2._updateState(true);
          });
        }
      }
    }, {
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(props) {
        this._updateState(props.active);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[12]).EventRegister.rm(this.onToInactiveListener);

        _$$_REQUIRE(_dependencyMap[12]).EventRegister.rm(this.onToActiveListener);
      }
    }, {
      key: "_toggle",
      value: function _toggle() {
        var active = this.state.active;

        this._updateState(!active);
      }
    }, {
      key: "_updateState",
      value: function _updateState(newActiveValue) {
        var active = this.state.active;

        if (active !== newActiveValue) {
          this.setState({
            active: newActiveValue
          });
        }
      }
    }, {
      key: "_onPress",
      value: function _onPress() {
        var _this$props2 = this.props,
            onActivePress = _this$props2.onActivePress,
            onInactivePress = _this$props2.onInactivePress,
            onPress = _this$props2.onPress;
        var active = this.state.active;

        try {
          var skipToggle = false;

          if (typeof onPress === "function") {
            skipToggle = onPress(active);
          }

          if (typeof onActivePress === "function" && active) {
            skipToggle = onActivePress();
          }

          if (typeof onInactivePress === "function" && !active) {
            skipToggle = onInactivePress();
          }

          if (!skipToggle) {
            this._toggle();
          }
        } catch (e) {}
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props3 = this.props,
            activeSource = _this$props3.activeSource,
            inactiveSource = _this$props3.inactiveSource,
            onActivePress = _this$props3.onActivePress,
            onInactivePress = _this$props3.onInactivePress,
            onPress = _this$props3.onPress,
            cssProps = _this$props3.cssProps,
            rest = (0, _objectWithoutProperties2.default)(_this$props3, ["activeSource", "inactiveSource", "onActivePress", "onInactivePress", "onPress", "cssProps"]);
        var active = this.state.active;
        return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, rest, {
          onPress: this.onPress,
          source: active ? activeSource : inactiveSource,
          cssProps: (0, _extends2.default)({}, cssProps, {
            toggle: true,
            active: active
          })
        }));
      }
    }]);
    return TwoStateButton;
  }(_react.default.Component);

  exports.default = TwoStateButton;
  TwoStateButton.propTypes = {
    activeSource: _propTypes.default.any.isRequired,
    inactiveSource: _propTypes.default.any.isRequired,
    active: _propTypes.default.bool,
    onPress: _propTypes.default.func,
    onActivePress: _propTypes.default.func,
    onInactivePress: _propTypes.default.func,
    toInactiveEvent: _propTypes.default.string,
    toActiveEvent: _propTypes.default.string,
    cssProps: _propTypes.default.object
  };
  TwoStateButton.defaultProps = {
    active: false,
    cssProps: {}
  };
},2376,[5,6,108,7,8,15,12,14,16,17,201,2299,572]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var FIXED_ACTIONS = [_$$_REQUIRE(_dependencyMap[10]).ACTIONS.closeArticle.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.closeAccessibility.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.closeCarMode.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.share.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.shareFacebook.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.shareTwitter.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.shareReddit.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.shareEmail.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.print.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.toggleFullScreen.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.toggleGraphic.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.goBack.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.goUp.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.goNext.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.search.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.clearSearch.key];
  var GRAPH_ACTIONS = [_$$_REQUIRE(_dependencyMap[10]).ACTIONS.toggleArticleExtra.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.toggleGraphZoom.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.graphIncrease.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.graphDecrease.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.graphZoomUnfit.key];
  var TEXT_ACTIONS = [_$$_REQUIRE(_dependencyMap[10]).ACTIONS.toggleFont.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.fontIncrease.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.fontDecrease.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.translate.key, _$$_REQUIRE(_dependencyMap[10]).ACTIONS.toggleTextToSpeech.key];

  var SubHeaderButtons = function (_React$Component) {
    (0, _inherits2.default)(SubHeaderButtons, _React$Component);

    var _super = _createSuper(SubHeaderButtons);

    function SubHeaderButtons() {
      (0, _classCallCheck2.default)(this, SubHeaderButtons);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(SubHeaderButtons, [{
      key: "_getButtonsInSlot",
      value: function _getButtonsInSlot(buttons) {
        var slot = [];
        var textSlotPosition = [];
        var graphicSlotPosition = [];
        buttons.forEach(function (button) {
          if (FIXED_ACTIONS.includes(button.getAction())) {
            slot.push([button]);
          } else if (TEXT_ACTIONS.includes(button.getAction())) {
            var found = false;

            for (var i = 0; i < slot.length && !found; i++) {
              if (graphicSlotPosition.includes(i) && slot[i].length === 1) {
                slot[i].push(button);
                found = true;
              }
            }

            if (!found) {
              slot.push([button]);
              textSlotPosition.push(slot.length - 1);
            }
          } else if (GRAPH_ACTIONS.includes(button.getAction())) {
            var _found = false;

            for (var _i = 0; _i < slot.length && !_found; _i++) {
              if (textSlotPosition.includes(_i) && slot[_i].length === 1) {
                slot[_i].push(button);

                _found = true;
              }
            }

            if (!_found) {
              slot.push([button]);
              graphicSlotPosition.push(slot.length - 1);
            }
          }
        });
        return slot;
      }
    }, {
      key: "_getWidth",
      value: function _getWidth() {
        var width = this.props.width;
        return width - this._getHorizontalMargin() * 2;
      }
    }, {
      key: "_getHorizontalMargin",
      value: function _getHorizontalMargin() {
        var cssButtonClasses = this.props.cssButtonClasses;

        var style = _$$_REQUIRE(_dependencyMap[11]).Css.getStyleObjByCssClasses(cssButtonClasses);

        var newSize = _$$_REQUIRE(_dependencyMap[12]).CssUtils.updateSizeByApplingStyle({
          width: style.width || _$$_REQUIRE(_dependencyMap[13]).HEADER_BUTTON_SIZE,
          height: style.height || _$$_REQUIRE(_dependencyMap[13]).HEADER_BUTTON_SIZE
        }, style);

        var slotSize = this._getSlotWidth();

        return _$$_REQUIRE(_dependencyMap[12]).PlatformUtils.isTablet() ? (slotSize - newSize.width) / 2 : 0;
      }
    }, {
      key: "_getSlotWidth",
      value: function _getSlotWidth() {
        var slotStyle = _$$_REQUIRE(_dependencyMap[11]).Css.getStyleObjByCssClasses(["newsmemory-article-buttons-slot"]);

        return _$$_REQUIRE(_dependencyMap[12]).CssUtils.getAttributeFromStyle("width", slotStyle, _$$_REQUIRE(_dependencyMap[13]).HEADER_PARENT_BUTTON_SIZE);
      }
    }, {
      key: "_getButtons",
      value: function _getButtons() {
        var _this$props = this.props,
            leftButtons = _this$props.leftButtons,
            rightButtons = _this$props.rightButtons;
        var reversedRightButtons = (0, _toConsumableArray2.default)(rightButtons).reverse();

        var left = this._getButtonsInSlot(leftButtons);

        var right = this._getButtonsInSlot(reversedRightButtons).reverse();

        var slotAvailable = Math.floor(this._getWidth() / this._getSlotWidth());
        var tSlots = left.length + right.length;

        if (!left.length && !right.length) {
          return {};
        }

        var slots = [];
        slots.push.apply(slots, (0, _toConsumableArray2.default)(left));

        if (tSlots < slotAvailable) {
          for (var i = left.length; i < left.length + slotAvailable - tSlots; i++) {
            slots.push([]);
          }
        }

        slots.push.apply(slots, (0, _toConsumableArray2.default)(right));
        return {
          slots: slots,
          isFull: tSlots < slotAvailable
        };
      }
    }, {
      key: "_renderSlot",
      value: function _renderSlot(slot, index) {
        var renderButton = this.props.renderButton;

        var slotWidth = this._getSlotWidth();

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
          classes: ["newsmemory-article-buttons-slot"],
          key: "button_" + index
        }, _react.default.createElement(_reactNative.View, {
          style: {
            flexDirection: "column",
            width: slotWidth,
            height: slotWidth,
            overflow: "hidden",
            justifyContent: "flex-start"
          }
        }, slot.map(function (item, subIndex) {
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
            classes: ["newsmemory-article-buttons-slot-child"],
            key: "button_" + subIndex
          }, _react.default.createElement(_reactNative.View, null, renderButton(item)));
        })));
      }
    }, {
      key: "render",
      value: function render() {
        var _this = this;

        var direction = _$$_REQUIRE(_dependencyMap[12]).PlatformUtils.isRTL() ? "row-reverse" : "row";

        var _this$_getButtons = this._getButtons(),
            slots = _this$_getButtons.slots;

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
          classes: ["newsmemory-header-buttons"]
        }, _react.default.createElement(_reactNative.View, {
          accessibilityRole: "toolbar",
          style: {
            flexDirection: direction,
            marginHorizontal: this._getHorizontalMargin(),
            justifyContent: "space-evenly",
            alignItems: "center",
            height: slots && slots.length ? _$$_REQUIRE(_dependencyMap[13]).HEADER_HEIGHT : 0
          }
        }, slots ? slots.map(function (slot, index) {
          return _this._renderSlot(slot, index);
        }) : null));
      }
    }]);
    return SubHeaderButtons;
  }(_react.default.Component);

  exports.default = SubHeaderButtons;
  SubHeaderButtons.propsTypes = {
    leftButtons: _propTypes.default.arrayOf(_propTypes.default.instanceOf(_$$_REQUIRE(_dependencyMap[14]).Icon)),
    rightButtons: _propTypes.default.arrayOf(_propTypes.default.instanceOf(_$$_REQUIRE(_dependencyMap[14]).Icon)),
    renderButton: _propTypes.default.func.isRequired,
    width: _propTypes.default.number.isRequired,
    cssButtonClasses: _propTypes.default.arrayOf(_propTypes.default.string)
  };
  SubHeaderButtons.defaultProps = {
    leftButtons: [],
    rightButtons: [],
    cssButtonClasses: []
  };
},2377,[5,21,7,8,12,14,16,17,201,28,1725,699,462,729,1805]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _indexBaseComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _indexLayoutManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _articleComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var CustomIndex = function (_IndexBase) {
    (0, _inherits2.default)(CustomIndex, _IndexBase);

    var _super = _createSuper(CustomIndex);

    function CustomIndex() {
      (0, _classCallCheck2.default)(this, CustomIndex);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(CustomIndex, [{
      key: "_render",
      value: function _render() {
        var _this$props = this.props,
            customIndexHtml = _this$props.customIndexHtml,
            onLocal = _this$props.onLocal;

        var cssTheme = _$$_REQUIRE(_dependencyMap[11]).Css.getThemeInUse();

        var themeClass = "";

        if (cssTheme) {
          themeClass = "\n                document.body.classList.add('" + cssTheme + "');\n            ";
        }

        var INJECTEDJAVASCRIPT = "\n            parent.hybrid_openOptionPage = function(){ \n                window.location.href = 'local://openOptionPage';\n            };\n            const manualIndex = document.getElementById('manualIndex');\n            if(manualIndex){\n                manualIndex.style.height = 'auto';\n            }\n            const meta = document.createElement('meta');\n            if (meta) {\n                meta.setAttribute('content', 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0');\n                meta.setAttribute('name', 'viewport');\n                document.getElementsByTagName('head')[0].appendChild(meta);\n            }\n            " + themeClass + "\n            ";

        var _global$getActivePSet = global.getActivePSetup(),
            enableArticleTextSelection = _global$getActivePSet.enableArticleTextSelection;

        var darkModeStyle = "";

        if (cssTheme && _$$_REQUIRE(_dependencyMap[11]).Css.isDarkTheme()) {
          darkModeStyle = "\n                ." + cssTheme + " #manualIndex .article-title,\n                ." + cssTheme + " #manualIndex .subhead,\n                ." + cssTheme + " #manualIndex .byline,\n                ." + cssTheme + " #manualIndex .index-element,\n                ." + cssTheme + " #manualIndex .page-number-container,\n                ." + cssTheme + " #manualIndex h2 {\n                    color: " + _$$_REQUIRE(_dependencyMap[11]).Css.getDefaultForegroundColor() + ";\n                }\n                ." + cssTheme + " #manualIndex .logo {\n                    filter: invert(50%);\n                }\n            ";
        }

        var defaultCss = "<style>\n                " + (0, _$$_REQUIRE(_dependencyMap[12]).NO_ARTICLE_TEXT_SELECTION_CSS)(enableArticleTextSelection) + "\n                " + darkModeStyle + "\n            </style>";
        var customCss = "<style>" + _articleComponent.default.customCss + "</style>";
        var FONT_AWESOME_CSS_URL = _Api.default.getServer() + "/eebrowser/librarybranches/libraries.check.20120417/css/4.5.0/css/font-awesome.min.css";
        var fontAwesome = "<link rel=\"stylesheet\" href=\"" + FONT_AWESOME_CSS_URL + "\" type=\"text/css\">";
        var jQuery = "<script src=\"data:text/javascript;base64," + _$$_REQUIRE(_dependencyMap[13]).jQueryBase64 + "\"></script>";
        var iframeDefinition = (0, _$$_REQUIRE(_dependencyMap[14]).getCustomIndexIframeDefinition)();
        var indexFunctionDefinition = (0, _$$_REQUIRE(_dependencyMap[14]).getCustomIndexFunctionDefinition)();
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).TecnaviaScrollView, {
          style: _indexLayoutManager.default.container
        }, this._getHeader(), _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).AutoHeightWebView, {
          htmlContentId: "manualIndex",
          source: {
            html: defaultCss + customCss + fontAwesome + jQuery + customIndexHtml + iframeDefinition + indexFunctionDefinition
          },
          onLocal: onLocal,
          injectedJavaScript: INJECTEDJAVASCRIPT
        }), this._getFooter());
      }
    }]);
    return CustomIndex;
  }(_indexBaseComponent.default);

  exports.default = CustomIndex;
},2378,[5,7,8,12,14,16,17,431,2356,2190,2155,699,2186,2188,2379,1909,1901]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getCustomIndexIframeDefinition = exports.getCustomIndexFunctionDefinition = undefined;

  var getCustomIndexFunctionDefinition = function getCustomIndexFunctionDefinition() {
    return "\n        <script>\n            function gotoPageAllMode(pageNumber, xmlId){\n                document.getElementById('xCodeIndex1').src = 'local://xc_scrollToPage?pageNumber='+pageNumber;\n            }\n            function art_closeTextArticle(){\n                document.getElementById('xCodeIndex1').src = 'local://art_closeTextArticle';\n            }\n            function xc_openBrowser(url){\n                document.getElementById('xCodeIndex1').src = 'local://xc_openBrowser?url='+url;\n            }\n        </script>";
  };

  exports.getCustomIndexFunctionDefinition = getCustomIndexFunctionDefinition;

  var getCustomIndexIframeDefinition = function getCustomIndexIframeDefinition() {
    return "\n    <iframe style='float: left; width: 10px; height: 1px; border:0; margin:0; visibility:hidden;' target='_blank' src='./exec/code/pages/none.html' id='xCodeIndex1'>\n    </iframe>";
  };

  exports.getCustomIndexIframeDefinition = getCustomIndexIframeDefinition;
},2379,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = TabIndex;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _RssActionManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _EPaperArticle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _rssCardComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _tabNavigator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function formatNewsmemoryArticle(article, newspaper) {
    var edition = newspaper.getEditionModel();
    var html = article.getHtml();
    var secret = newspaper.getSecret();

    var isOnline = _$$_REQUIRE(_dependencyMap[10]).NetworkUtils.isOnline();

    var result = (0, _$$_REQUIRE(_dependencyMap[11]).getTagsFromHTML)(html, edition, article, secret, isOnline);
    var tags = result.tags;
    var tagsByline = tags.tagsByline;

    var _global$getActivePSet = global.getActivePSetup(),
        mergeArticles = _global$getActivePSet.mergeArticles;

    var newHtml = _$$_REQUIRE(_dependencyMap[10]).StringUtils.serializeHtml(html.replace(/\n|\t/gm, ""));

    newHtml = (0, _$$_REQUIRE(_dependencyMap[11]).applyMergeArtToHTML)(html, mergeArticles, false, false, isOnline, edition, article, secret);
    var gallery = (0, _$$_REQUIRE(_dependencyMap[11]).getAllImages)(newHtml);
    var biggestImage = (0, _$$_REQUIRE(_dependencyMap[11]).getBiggestImage)(gallery);
    var title = article.getTitle();
    var summary = newHtml;
    tagsByline.forEach(function (tagByline) {
      summary = summary.replace(tagByline, "");
    });
    summary = (0, _$$_REQUIRE(_dependencyMap[11]).stripHTMLTags)(_$$_REQUIRE(_dependencyMap[10]).StringUtils.decodeHTML(summary)).replace(title, "").trim().replace(/\t|\n/gm, "").replace(/[ ]{2,}/g, " ");
    var summaryParts = summary.split(".");
    summary = "";

    for (var i = 0; i < summaryParts.length && summary.length < 200; i++) {
      summary += summaryParts[i] + ".";
    }

    var mArticle = new (_$$_REQUIRE(_dependencyMap[12]).Article)();
    mArticle.action = new _RssActionManager.default();
    mArticle.priority = (0, _$$_REQUIRE(_dependencyMap[13]).parsePriority)("1x1");
    mArticle.feedId = (0, _$$_REQUIRE(_dependencyMap[14]).getArticleId)(article);
    mArticle.byline = "";
    mArticle.category = "";
    mArticle.summary = summary;
    mArticle.title = title.replace(/[ ]{2,}/g, " ");
    mArticle.image = biggestImage && biggestImage.getUrl();
    mArticle.gallery = [];
    mArticle.html = html;
    mArticle.date = newspaper.getPages().find(function (page) {
      return page.getPageId() === article.getPageId();
    }).getShownPage();
    return mArticle;
  }

  function TabIndexItem(props) {
    var navigation = props.navigation,
        rest = (0, _objectWithoutProperties2.default)(props, ["navigation"]);
    var focused = navigation.isFocused();

    if (focused) {
      var cardProps = {
        refreshing: false,
        renderEmpty: function renderEmpty() {},
        onRefresh: function onRefresh() {},
        renderError: function renderError() {},
        orientation: _deviceUtils.default.currentOrientation,
        numberOfColumns: (0, _$$_REQUIRE(_dependencyMap[15]).getRssNumberOfColumns)()
      };
      return _react.default.createElement(_rssCardComponent.default, (0, _extends2.default)({}, cardProps, rest));
    }

    return null;
  }

  function TabIndex(props) {
    var firstLevel = props.firstLevel,
        secondLevels = props.secondLevels,
        initialRouteIndex = props.initialRouteIndex,
        size = props.size,
        onOpenArticle = props.onOpenArticle,
        newspaper = props.newspaper;
    var tabs = firstLevel.map(function (page, index) {
      var sectionName = (0, _$$_REQUIRE(_dependencyMap[16]).getFirstLevelText)(page);
      return {
        page: page,
        item: {
          drawerItemKey: sectionName + "_" + index,
          displayName: sectionName
        },
        route: sectionName,
        isInitialRoute: index === initialRouteIndex
      };
    });
    return _react.default.createElement(_tabNavigator.default, {
      style: {
        marginTop: 0
      },
      width: size.width,
      initialRouteName: (0, _$$_REQUIRE(_dependencyMap[17]).getInitialRouteFromStructure)(tabs),
      tabs: tabs.map(function (_ref) {
        var item = _ref.item,
            rest = (0, _objectWithoutProperties2.default)(_ref, ["item"]);
        return (0, _extends2.default)({}, rest, {
          item: item,
          label: item.displayName
        });
      }),
      tabStyles: {
        tabBarStyle: _$$_REQUIRE(_dependencyMap[18]).Css.getStyleObjByCssClasses(["rss-tab"]),
        tabBarIndicatorStyle: _$$_REQUIRE(_dependencyMap[18]).Css.getStyleObjByCssClasses(["rss-tab-indicator"])
      },
      tabScreen: function tabScreen(_ref2, navProps) {
        var page = _ref2.page,
            tabItem = _ref2.item,
            tabRoute = _ref2.route,
            index = _ref2.index;
        var ePaperArticles = secondLevels[index].filter(function (element) {
          return element instanceof _EPaperArticle.default;
        });
        var articles = ePaperArticles.map(function (article) {
          return formatNewsmemoryArticle(article, newspaper);
        }).filter(function (article) {
          return article.summary.length > 10;
        });
        var tabIndexItemProps = {
          settings: tabItem,
          items: articles,
          width: size.width,
          onItemClick: function onItemClick(items, item) {
            var article = ePaperArticles.find(function (ePaperArticle) {
              return item.feedId === (0, _$$_REQUIRE(_dependencyMap[14]).getArticleId)(ePaperArticle);
            });
            onOpenArticle(article);
          }
        };
        return _react.default.createElement(TabIndexItem, (0, _extends2.default)({}, navProps, tabIndexItemProps));
      },
      supportColor: global.getRssIndex()
    });
  }
},2380,[5,6,108,17,1964,458,640,714,2116,2211,462,2182,1972,2051,2187,2039,2357,2046,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[12]);

  var _Page = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[13]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _pagesNavigation = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _horizontalPagesManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _pageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _InterstitialsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PagesLayoutManager = function (_Shortcut) {
    (0, _inherits2.default)(PagesLayoutManager, _Shortcut);

    var _super = _createSuper(PagesLayoutManager);

    function PagesLayoutManager(props) {
      var _this;

      (0, _classCallCheck2.default)(this, PagesLayoutManager);
      _this = _super.call(this, props);
      _this.layout = {};
      _this.currentIndex = _this.getPageIndexById(props.currentPageId);
      _this.onUpdateViews = _this._updateViews.bind((0, _assertThisInitialized2.default)(_this));
      _this.onGoToLeftPagePress = _this._onGoToLeftPagePress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onGoToRightPagePress = _this._onGoToRightPagePress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onGoToLeftSectionPress = _this._goToPreviousSection.bind((0, _assertThisInitialized2.default)(_this));
      _this.onGoToRightSectionPress = _this._goToNextSection.bind((0, _assertThisInitialized2.default)(_this));
      _this.onGoToFirstPage = _this._onGoToFirstPage.bind((0, _assertThisInitialized2.default)(_this));
      _this.onGoToLastPage = _this._onGoToLastPage.bind((0, _assertThisInitialized2.default)(_this));
      _this.onGotToMainEdition = _this._onGotToMainEdition.bind((0, _assertThisInitialized2.default)(_this));
      _this.onRef = _this._onRef.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(PagesLayoutManager, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        (0, _get2.default)((0, _getPrototypeOf2.default)(PagesLayoutManager.prototype), "componentDidMount", this).call(this);
        this.onIsVisible = _$$_REQUIRE(_dependencyMap[22]).EventRegister.on(_events.default.NEWSMEMORY_SHOW_NAVIGATION_BUTTONS, function (params) {
          if (_this2.pagesNavigationRef) {
            _this2.pagesNavigationRef.updateVisibility(params.visible);
          }
        });
        this.configChangeListener = _$$_REQUIRE(_dependencyMap[22]).EventRegister.on(_events.default.NEWSMEMORY_CONFIG_CHANGE, function (_ref) {
          var previousConfig = _ref.previousConfig;
          var prevPagesNavigationButtonsLayout = previousConfig.pagesNavigationButtonsLayout;

          var _global$getNewsmemory = global.getNewsmemoryConfig(),
              pagesNavigationButtonsLayout = _global$getNewsmemory.pagesNavigationButtonsLayout;

          if (prevPagesNavigationButtonsLayout !== pagesNavigationButtonsLayout && _this2.pagesNavigationRef) {
            _this2.pagesNavigationRef.updateNavigationLayout(_this2._getPagesNavigationState());
          }
        });
      }
    }, {
      key: "shouldComponentUpdate",
      value: function shouldComponentUpdate(nextProps, nextState) {
        var _this$props = this.props,
            newspaper = _this$props.newspaper,
            isLandscape = _this$props.isLandscape,
            fitPageHorizontally = _this$props.fitPageHorizontally,
            numberOfShowedPages = _this$props.numberOfShowedPages,
            size = _this$props.size,
            initialEvent = _this$props.initialEvent;
        return isLandscape !== nextProps.isLandscape || fitPageHorizontally !== nextProps.fitPageHorizontally || numberOfShowedPages !== nextProps.numberOfShowedPages || !_$$_REQUIRE(_dependencyMap[23]).JSUtils.areEqualShallow(newspaper, nextProps.newspaper) || !_$$_REQUIRE(_dependencyMap[23]).JSUtils.equals(size, nextProps.size) || !_$$_REQUIRE(_dependencyMap[23]).JSUtils.equals(initialEvent, nextProps.initialEvent);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(PagesLayoutManager.prototype), "componentWillUnmount", this).call(this);

        _$$_REQUIRE(_dependencyMap[22]).EventRegister.emit(_events.default.NEWSMEMORY_CLEAR_HIGH_RES_QUEUE);

        _$$_REQUIRE(_dependencyMap[22]).EventRegister.rm(this.onIsVisible);

        _$$_REQUIRE(_dependencyMap[22]).EventRegister.rm(this.configChangeListener);
      }
    }, {
      key: "getPages",
      value: function getPages() {
        var newspaper = this.props.newspaper;
        return newspaper ? newspaper.getPages() : [];
      }
    }, {
      key: "getPageIndexById",
      value: function getPageIndexById(id) {
        var index = this.getPages().findIndex(function (page) {
          return page.getPageId() === id;
        });
        return index > -1 ? index : 0;
      }
    }, {
      key: "getLeftPage",
      value: function getLeftPage() {
        if (this.infos) {
          var left = this.infos.left;

          if (left) {
            var isDTRightSide = left.isDTRightSide,
                page = left.page;

            if (page) {
              if (isDTRightSide) {
                return _pageUtils.default.removeZerosFromPageNumber(_pageUtils.default.getNextPageNumber(page.getShownPage()));
              }

              return _pageUtils.default.removeZerosFromPageNumber(page.getShownPage());
            }
          }
        }

        return undefined;
      }
    }, {
      key: "getRightPage",
      value: function getRightPage() {
        if (this.infos) {
          var right = this.infos.right;

          if (right) {
            var isDTRightSide = right.isDTRightSide,
                page = right.page;

            if (page) {
              if (isDTRightSide) {
                return _pageUtils.default.removeZerosFromPageNumber(_pageUtils.default.getNextPageNumber(page.getShownPage()));
              }

              return _pageUtils.default.removeZerosFromPageNumber(page.getShownPage());
            }
          }
        }

        return undefined;
      }
    }, {
      key: "_handleShortcut",
      value: function _handleShortcut() {
        var _this3 = this;

        var HOME = _$$_REQUIRE(_dependencyMap[24]).KEY_GROUPS.HOME,
            END = _$$_REQUIRE(_dependencyMap[24]).KEY_GROUPS.END;

        return [{
          callbackRepeat: function callbackRepeat() {
            return _regenerator.default.async(function callbackRepeat$(_context) {
              while (1) {
                switch (_context.prev = _context.next) {
                  case 0:
                    _this3.onGoToLeftSectionPress();

                    return _context.abrupt("return", _this3.getCallbackRepeatPromise());

                  case 2:
                  case "end":
                    return _context.stop();
                }
              }
            }, null, null, null, Promise);
          },
          keys: HOME
        }, {
          callbackRepeat: function callbackRepeat() {
            return _regenerator.default.async(function callbackRepeat$(_context2) {
              while (1) {
                switch (_context2.prev = _context2.next) {
                  case 0:
                    _this3.onGoToRightSectionPress();

                    return _context2.abrupt("return", _this3.getCallbackRepeatPromise());

                  case 2:
                  case "end":
                    return _context2.stop();
                }
              }
            }, null, null, null, Promise);
          },
          keys: END
        }];
      }
    }, {
      key: "_goToNextSection",
      value: function _goToNextSection() {
        var pages = this.getPages();

        var _NewsmemoryUtils$pars = _newsmemoryUtils.default.parsePageInfo(this.getLeftPage()),
            leftSection = _NewsmemoryUtils$pars.section;

        var section = leftSection;
        var rightPage = this.getRightPage();

        if (rightPage) {
          var _NewsmemoryUtils$pars2 = _newsmemoryUtils.default.parsePageInfo(rightPage),
              rightSection = _NewsmemoryUtils$pars2.section;

          section = rightSection;
        }

        for (var i = this.currentIndex + 1; i < pages.length; i++) {
          var page = pages[i];

          if (page.getShownPage().startsWith(_Page.SYMBOL_PAGE_STOP)) {
            this.goToPage(i);
            return;
          }

          var _NewsmemoryUtils$pars3 = _newsmemoryUtils.default.parsePageInfo(page.getPage()),
              nextPageSection = _NewsmemoryUtils$pars3.section;

          if (section !== nextPageSection) {
            this.goToPage(i);
            return;
          }
        }

        this._onGoToLastPage();
      }
    }, {
      key: "_goToPreviousSection",
      value: function _goToPreviousSection() {
        var pages = this.getPages();

        if (pages) {
          var currentPage = pages[this.currentIndex];

          if (currentPage) {
            var _NewsmemoryUtils$pars4 = _newsmemoryUtils.default.parsePageInfo(currentPage.getPage()),
                section = _NewsmemoryUtils$pars4.section;

            if (section.length) {
              for (var i = this.currentIndex - 1; i >= 0; i--) {
                var page = pages[i];

                if (page.getShownPage().startsWith(_Page.SYMBOL_PAGE_STOP)) {
                  this.goToPage(i);
                  return;
                }

                var _NewsmemoryUtils$pars5 = _newsmemoryUtils.default.parsePageInfo(page.getPage()),
                    prevPageSection = _NewsmemoryUtils$pars5.section,
                    prevPageNumber = _NewsmemoryUtils$pars5.number;

                if (section !== prevPageSection && prevPageNumber === 1) {
                  this.goToPage(i);
                  return;
                }

                if (section === prevPageSection) {
                  if (prevPageNumber === 1) {
                    this.goToPage(i);
                    return;
                  }

                  var secondPrev = pages[i - 1];

                  if (secondPrev) {
                    var _NewsmemoryUtils$pars6 = _newsmemoryUtils.default.parsePageInfo(secondPrev.getPage()),
                        secondPrevPageSection = _NewsmemoryUtils$pars6.section;

                    if (secondPrevPageSection !== prevPageSection) {
                      this.goToPage(i);
                      return;
                    }
                  }
                }
              }
            }

            this._onGoToFirstPage();
          }
        }
      }
    }, {
      key: "goToPage",
      value: function goToPage(index) {
        if (this.horizontalPagesManagerRef) {
          this.horizontalPagesManagerRef.scrollTo(index);
        }
      }
    }, {
      key: "goToPrevPage",
      value: function goToPrevPage() {
        if (this.horizontalPagesManagerRef) {
          this.horizontalPagesManagerRef.scrollToPrev();
        }
      }
    }, {
      key: "goToNextPage",
      value: function goToNextPage() {
        if (this.horizontalPagesManagerRef) {
          this.horizontalPagesManagerRef.scrollToNext();
        }
      }
    }, {
      key: "pagesCounter",
      value: function pagesCounter() {
        var pages = this.getPages();
        return pages.length;
      }
    }, {
      key: "navigateToPage",
      value: function navigateToPage(pageId) {
        this.currentIndex = this.getPageIndexById(pageId);
        this.goToPage(this.currentIndex);
      }
    }, {
      key: "_getPagesNavigationState",
      value: function _getPagesNavigationState(isDoubleTruckRightSide) {
        var _this$props2 = this.props,
            numberOfShowedPages = _this$props2.numberOfShowedPages,
            animateButtons = _this$props2.animateButtons;
        var leftNavigationIsHidden = true;
        var rightNavigationIsHidden = true;
        var newsmemoryConfig = global.getNewsmemoryConfig();

        if (!newsmemoryConfig.pagesNavigationButtonsHidden()) {
          leftNavigationIsHidden = this._isFirstPageVisible();
          rightNavigationIsHidden = this._isLastPageVisible();
        }

        return {
          leftPageNumber: this.getLeftPage(isDoubleTruckRightSide),
          leftPageNumberIsHidden: false,
          rightPageNumber: this.getRightPage(),
          rightPageNumberIsHidden: numberOfShowedPages < 2,
          leftNavigationIsHidden: leftNavigationIsHidden,
          rightNavigationIsHidden: rightNavigationIsHidden,
          animateButtons: animateButtons()
        };
      }
    }, {
      key: "_visiblePages",
      value: function _visiblePages() {
        var pages = [];

        if (this.infos) {
          var _this$infos = this.infos,
              left = _this$infos.left,
              right = _this$infos.right;

          if (left && left.page) {
            pages.push(left.page);
          }

          if (right && right.page) {
            pages.push(right.page);
          }
        }

        return pages;
      }
    }, {
      key: "_visiblePagesId",
      value: function _visiblePagesId() {
        return this._visiblePages().map(function (page) {
          return page.getPageId();
        });
      }
    }, {
      key: "_isLastPageVisible",
      value: function _isLastPageVisible() {
        var pages = this.getPages();

        if (pages[pages.length - 1]) {
          return this._visiblePagesId().includes(pages[pages.length - 1].getPageId());
        }

        return false;
      }
    }, {
      key: "_isFirstPageVisible",
      value: function _isFirstPageVisible() {
        var pages = this.getPages();

        if (pages[0]) {
          return this._visiblePagesId().includes(pages[0].getPageId());
        }

        return false;
      }
    }, {
      key: "_updateViews",
      value: function _updateViews(index, range, isScrolling, isZoomed, infos) {
        var _this$props3 = this.props,
            onPageChange = _this$props3.onPageChange,
            onPageRangeChange = _this$props3.onPageRangeChange,
            numberOfShowedPages = _this$props3.numberOfShowedPages;
        var pages = this.getPages();
        this.currentIndex = index;
        this.infos = infos;

        var visiblePages = this._visiblePages();

        if (!isScrolling) {
          if (typeof onPageRangeChange === "function") {
            onPageRangeChange(range, this.infos);
          }

          if (typeof onPageChange === "function" && pages[this.currentIndex]) {
            onPageChange(pages[this.currentIndex].getPageId(), isZoomed);
          }

          var prevPages = [];

          if (numberOfShowedPages === 2 && this.currentIndex > 1) {
            prevPages.push(pages[this.currentIndex - 2]);
          }

          if (this.currentIndex > 0) {
            prevPages.push(pages[this.currentIndex - 1]);
          }

          _InterstitialsHelper.default.getInterstitialEpaper(visiblePages, prevPages, this._isLastPageVisible());
        }

        if (this.pagesNavigationRef) {
          this.pagesNavigationRef.updateNavigationLayout(this._getPagesNavigationState());
        }
      }
    }, {
      key: "_onGoToLeftPagePress",
      value: function _onGoToLeftPagePress() {
        this.goToPrevPage();
      }
    }, {
      key: "_onGoToFirstPage",
      value: function _onGoToFirstPage() {
        this.goToPage(0);
      }
    }, {
      key: "_onGoToRightPagePress",
      value: function _onGoToRightPagePress() {
        this.goToNextPage();
      }
    }, {
      key: "_onGoToLastPage",
      value: function _onGoToLastPage() {
        var newspaper = this.props.newspaper;
        var pages = this.getPages();
        this.goToPage(pages.length - 1);
        var lastPage = pages[pages.length - 1];

        if (newspaper && lastPage) {
          (0, _$$_REQUIRE(_dependencyMap[25]).sendNewsmemoryGoToLastPageEvent)(newspaper.getEditionModel(), lastPage);
        }
      }
    }, {
      key: "_onGotToMainEdition",
      value: function _onGotToMainEdition() {
        return _regenerator.default.async(function _onGotToMainEdition$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _$$_REQUIRE(_dependencyMap[22]).EventRegister.emit(_events.default.NEWSMEMORY_ON_LOAD_MAIN_EDITION_FROM_SPECIAL);

              case 1:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "_onRef",
      value: function _onRef(ref) {
        if (ref instanceof _horizontalPagesManager.default) {
          this.horizontalPagesManagerRef = ref;
        } else if (ref instanceof _pagesNavigation.default) {
          this.pagesNavigationRef = ref;
        }
      }
    }, {
      key: "_renderContent",
      value: function _renderContent() {
        var _this$props4 = this.props,
            onArticlePress = _this$props4.onArticlePress,
            onPageLongPress = _this$props4.onPageLongPress,
            onScaleChange = _this$props4.onScaleChange,
            onPanChange = _this$props4.onPanChange,
            newspaper = _this$props4.newspaper,
            navigation = _this$props4.navigation,
            pageNumberTop = _this$props4.pageNumberTop,
            getCurrentArticle = _this$props4.getCurrentArticle,
            bgColor = _this$props4.bgColor,
            textColor = _this$props4.textColor,
            isTextModeOpen = _this$props4.isTextModeOpen,
            isReadMode = _this$props4.isReadMode,
            articleClose = _this$props4.articleClose,
            isSpecialSection = _this$props4.isSpecialSection,
            isSingleTapToZoomEnabled = _this$props4.isSingleTapToZoomEnabled,
            onUnFit = _this$props4.onUnFit,
            size = _this$props4.size,
            textSize = _this$props4.textSize,
            onUnmounted = _this$props4.onUnmounted,
            onLoaded = _this$props4.onLoaded,
            navigationModel = _this$props4.navigationModel,
            shortcutEnabled = _this$props4.shortcutEnabled,
            shortcutPriority = _this$props4.shortcutPriority,
            highlightEnabled = _this$props4.highlightEnabled;
        var width = size.width,
            height = size.height;
        var _this$props5 = this.props,
            numberOfShowedPages = _this$props5.numberOfShowedPages,
            fitPageHorizontally = _this$props5.fitPageHorizontally,
            isLandscape = _this$props5.isLandscape,
            initialEvent = _this$props5.initialEvent;
        var pages = this.getPages();
        var convertedEvent;

        if (initialEvent) {
          var scaleFactor = fitPageHorizontally ? width / initialEvent.width : height / initialEvent.height;
          convertedEvent = (0, _extends2.default)({
            scale: scaleFactor,
            disableZoomFactor: initialEvent.disableZoomFactor === undefined ? false : initialEvent.disableZoomFactor
          }, initialEvent);
        }

        var _global$getActivePSet = global.getActivePSetup(),
            midQualityToRender = _global$getActivePSet.midPagesToRender;

        if (midQualityToRender < 2 && numberOfShowedPages === 2) {
          midQualityToRender += 1;
        }

        if (_newsmemoryUtils.default.isModeLow(newspaper && newspaper.getDbNetwork())) {
          midQualityToRender = 0;
        }

        var lowQualityToRender = 0;

        if (!(typeof isTextModeOpen === "function" && isTextModeOpen())) {
          var _global$getActivePSet2 = global.getActivePSetup();

          lowQualityToRender = _global$getActivePSet2.lowPagesToRender;

          if (lowQualityToRender < 2 && numberOfShowedPages === 2) {
            lowQualityToRender += 1;
          }
        }

        var children = [];
        children.push(_react.default.createElement(_horizontalPagesManager.default, {
          key: "horizontal_pages",
          ref: this.onRef,
          navigation: navigation,
          newspaper: newspaper,
          size: {
            width: width,
            height: height
          },
          textSize: textSize,
          data: pages,
          firstPage: this.currentIndex,
          onArticlePress: onArticlePress,
          onUnFit: onUnFit,
          onScaleChange: onScaleChange,
          onPanChange: onPanChange,
          fitPageHorizontally: fitPageHorizontally,
          getCurrentArticle: getCurrentArticle,
          onPageChange: this.onUpdateViews,
          onPageLongPress: onPageLongPress,
          renderedPagesOffset: midQualityToRender,
          renderedLowPagesOffset: lowQualityToRender,
          numberOfShowedPages: numberOfShowedPages,
          isTextModeOpen: isTextModeOpen,
          isReadMode: isReadMode,
          isSingleTapToZoomEnabled: isSingleTapToZoomEnabled,
          articleClose: articleClose,
          initialEvent: convertedEvent,
          isLandscape: isLandscape,
          onLoaded: onLoaded,
          onUnmounted: onUnmounted,
          shortcutEnabled: shortcutEnabled,
          shortcutPriority: shortcutPriority + 1,
          highlightEnabled: highlightEnabled
        }));

        var pageViewSize = _newsmemoryUtils.default.getPageViewSize(pages[0], size, fitPageHorizontally, numberOfShowedPages);

        if (pageViewSize) {
          var scaledWidth = pageViewSize.scaledWidth,
              scaledHeight = pageViewSize.scaledHeight;
          var pagesAreaSize = {
            width: scaledWidth * numberOfShowedPages,
            height: scaledHeight
          };
          children.push(_react.default.createElement(_pagesNavigation.default, {
            key: "navigation",
            ref: this.onRef,
            model: navigationModel,
            pageNumberTop: pageNumberTop,
            width: width,
            height: height,
            pagesAreaSize: pagesAreaSize,
            bgColor: bgColor,
            textColor: textColor,
            isSpecialSection: isSpecialSection,
            onGoToLeftPagePress: this.onGoToLeftPagePress,
            onGoToLeftSectionPress: this.onGoToLeftSectionPress,
            onGoToFirstPage: this.onGoToFirstPage,
            onGoToRightPagePress: this.onGoToRightPagePress,
            onGoToRightSectionPress: this.onGoToRightSectionPress,
            onGoToLastPage: this.onGoToLastPage,
            onGotToMainEdition: this.onGotToMainEdition,
            defaultState: this._getPagesNavigationState()
          }));
        }

        return children;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props6 = this.props,
            currentPageId = _this$props6.currentPageId,
            numberOfShowedPages = _this$props6.numberOfShowedPages,
            fitPageHorizontally = _this$props6.fitPageHorizontally,
            isLandscape = _this$props6.isLandscape;
        this.currentIndex = this.getPageIndexById(currentPageId);
        return _react.default.createElement(_reactNative.View, {
          key: "view_" + numberOfShowedPages + "_" + fitPageHorizontally + "_" + isLandscape,
          style: {
            flex: 1,
            justifyContent: "flex-end"
          }
        }, this._renderContent());
      }
    }]);
    return PagesLayoutManager;
  }(_$$_REQUIRE(_dependencyMap[26]).Shortcut);

  exports.default = PagesLayoutManager;
  PagesLayoutManager.propTypes = (0, _extends2.default)({
    bgColor: _propTypes.default.string,
    textColor: _propTypes.default.string,
    onPageRangeChange: _propTypes.default.func.isRequired,
    numberOfShowedPages: _propTypes.default.number,
    currentPageId: _propTypes.default.number,
    navigation: _propTypes.default.shape({
      navigate: _propTypes.default.func
    }).isRequired,
    pageNumberTop: _propTypes.default.bool,
    animateButtons: _propTypes.default.func,
    isLandscape: _propTypes.default.bool,
    isTextModeOpen: _propTypes.default.func,
    isReadMode: _propTypes.default.func,
    isSpecialSection: _propTypes.default.bool,
    articleClose: _propTypes.default.func,
    navigationModel: _propTypes.default.instanceOf(_$$_REQUIRE(_dependencyMap[27]).Navigation)
  }, _horizontalPagesManager.default.propTypes, _$$_REQUIRE(_dependencyMap[26]).Shortcut.propTypes);
  PagesLayoutManager.defaultProps = (0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[26]).Shortcut.defaultProps, {
    numberOfShowedPages: 2,
    pageNumberTop: true,
    isSpecialSection: false
  });
},2381,[5,80,6,7,8,15,90,12,14,16,17,201,28,638,603,460,2382,2396,715,2321,714,1859,572,462,1873,1954,1911,1858]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _pagesTextInfo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _pagesNavigationButtons = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[12]));

  var _pagesLayoutManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _pagesBackToPaperButton = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _newsmemoryIcon = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PagesNavigation = function (_React$Component) {
    (0, _inherits2.default)(PagesNavigation, _React$Component);

    var _super = _createSuper(PagesNavigation);

    function PagesNavigation(props) {
      var _this;

      (0, _classCallCheck2.default)(this, PagesNavigation);
      _this = _super.call(this, props);
      _this.state = (0, _extends2.default)({}, props.defaultState, {
        visible: true
      });
      return _this;
    }

    (0, _createClass2.default)(PagesNavigation, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        if (!_$$_REQUIRE(_dependencyMap[19]).PlatformUtils.isTablet()) {
          this.onHrDownloadErrorId = _$$_REQUIRE(_dependencyMap[20]).EventRegister.on(_events.default.NEWSMEMORY_HR_DOWNLOAD_ERROR, function () {
            var error = _this2.state.error;

            if (!error) {
              _this2.setState({
                error: true,
                warning: false
              });
            }
          });
          this.onHrDownloadSuccessId = _$$_REQUIRE(_dependencyMap[20]).EventRegister.on(_events.default.NEWSMEMORY_HR_DOWNLOAD_SUCCESS, function () {
            var error = _this2.state.error;

            if (error) {
              _this2.setState({
                error: false,
                warning: false
              });
            }
          });
          this.onWarningShow = _$$_REQUIRE(_dependencyMap[20]).EventRegister.on(_events.default.NEWSMEMORY_MISSING_HR_WARNING_SHOW, function () {
            var error = _this2.state.error;

            if (!error) {
              _this2.setState({
                error: false,
                warning: true
              });
            }
          });
          this.onWarningHide = _$$_REQUIRE(_dependencyMap[20]).EventRegister.on(_events.default.NEWSMEMORY_MISSING_HR_WARNING_HIDE, function () {
            var error = _this2.state.error;

            if (error) {
              _this2.setState({
                error: false,
                warning: false
              });
            }
          });
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[20]).EventRegister.rm(this.onHrDownloadErrorId);

        _$$_REQUIRE(_dependencyMap[20]).EventRegister.rm(this.onHrDownloadSuccessId);

        _$$_REQUIRE(_dependencyMap[20]).EventRegister.rm(this.onWarningShow);

        _$$_REQUIRE(_dependencyMap[20]).EventRegister.rm(this.onWarningHide);
      }
    }, {
      key: "updateVisibility",
      value: function updateVisibility(value) {
        var visible = this.state.visible;

        if (visible !== value) {
          this.setState({
            visible: value
          });
        }
      }
    }, {
      key: "updateNavigationLayout",
      value: function updateNavigationLayout(param) {
        var _this$state = this.state,
            visible = _this$state.visible,
            rest = (0, _objectWithoutProperties2.default)(_this$state, ["visible"]);

        if (!_$$_REQUIRE(_dependencyMap[19]).JSUtils.areEqualShallow(rest, param)) {
          this.setState(param);
        }
      }
    }, {
      key: "_getErrorIcon",
      value: function _getErrorIcon(error) {
        return _react.default.createElement(_reactNative.View, {
          style: [_pagesLayoutManager.default.pageNumberContainer, _pagesLayoutManager.default.pageNumberContainerRight, _pagesLayoutManager.default.pageNumberContainerTop, _pagesLayoutManager.default.pageNumberContainerRightTop, error ? _pagesLayoutManager.default.errorContainer : _pagesLayoutManager.default.warningContainer]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[21]).TouchableOpacity, {
          onPress: function onPress() {
            _reactNative.Alert.alert(error ? global.strings("err_download_edition") : "", global.strings("offline_download_warning"));
          }
        }, _react.default.createElement(_reactNative.View, {
          style: _pagesLayoutManager.default.warningIcon
        }, _react.default.createElement(_newsmemoryIcon.default, {
          center: true,
          icon: _$$_REQUIRE(_dependencyMap[22]).ACTIONS.warning.icon,
          foregroundColor: _$$_REQUIRE(_dependencyMap[19]).colors.white
        }))));
      }
    }, {
      key: "_getTopLeftComponent",
      value: function _getTopLeftComponent() {
        var _this$props = this.props,
            pageNumberTop = _this$props.pageNumberTop,
            width = _this$props.width,
            height = _this$props.height,
            pagesAreaSize = _this$props.pagesAreaSize,
            bgColor = _this$props.bgColor,
            textColor = _this$props.textColor;
        var _this$state2 = this.state,
            leftPageNumber = _this$state2.leftPageNumber,
            leftPageNumberIsHidden = _this$state2.leftPageNumberIsHidden,
            animateButtons = _this$state2.animateButtons;
        var leftRadiusStyle = {};

        if (pageNumberTop) {
          leftRadiusStyle = _pagesLayoutManager.default.pageNumberContainerLeftTop;
        } else {
          leftRadiusStyle = _pagesLayoutManager.default.pageNumberContainerLeftBottom;
        }

        return !leftPageNumberIsHidden ? _react.default.createElement(_pagesTextInfo.default, {
          key: "leftPage",
          position: _pagesNavigationButtons.PagesNavigationButtonsPosition.left,
          stylePropToAnimate: "start",
          style: [_pagesLayoutManager.default.pageNumberContainer, _pagesLayoutManager.default.pageNumberContainerLeft, {
            backgroundColor: bgColor
          }, leftRadiusStyle, pageNumberTop ? _pagesLayoutManager.default.pageNumberContainerTop : _pagesLayoutManager.default.pageNumberContainerBottom],
          animated: animateButtons,
          textStyle: [_pagesLayoutManager.default.pageText, {
            color: textColor
          }],
          text: leftPageNumber,
          width: width,
          height: height,
          pagesAreaSize: pagesAreaSize
        }) : null;
      }
    }, {
      key: "_getTopCenterComponent",
      value: function _getTopCenterComponent() {
        var _this$props2 = this.props,
            pageNumberTop = _this$props2.pageNumberTop,
            width = _this$props2.width,
            height = _this$props2.height,
            pagesAreaSize = _this$props2.pagesAreaSize,
            bgColor = _this$props2.bgColor,
            textColor = _this$props2.textColor,
            isSpecialSection = _this$props2.isSpecialSection,
            onGotToMainEdition = _this$props2.onGotToMainEdition;

        var _global$getActivePSet = global.getActivePSetup(),
            showXPaperNavigationCloseButton = _global$getActivePSet.showXPaperNavigationCloseButton,
            paperName = _global$getActivePSet.paperName;

        if (!showXPaperNavigationCloseButton || !_newsmemoryUtils.default.isXPaperActive() && !isSpecialSection) {
          return null;
        }

        var _this$state3 = this.state,
            animateButtons = _this$state3.animateButtons,
            rightPageNumberIsHidden = _this$state3.rightPageNumberIsHidden,
            error = _this$state3.error;
        var textStyle = [_pagesLayoutManager.default.pageText, _pagesLayoutManager.default.xpaperInfoText, {
          color: textColor
        }];
        return _react.default.createElement(_pagesTextInfo.default, {
          key: "xpaperInfo",
          position: _pagesNavigationButtons.PagesNavigationButtonsPosition.center,
          stylePropToAnimate: "end",
          style: [_pagesLayoutManager.default.paperInfoContainer, {
            backgroundColor: bgColor,
            alignItems: rightPageNumberIsHidden && !error ? "flex-end" : "center"
          }, pageNumberTop ? _pagesLayoutManager.default.pageNumberContainerTop : _pagesLayoutManager.default.pageNumberContainerBottom],
          animated: animateButtons,
          textStyle: textStyle,
          IconComponent: _react.default.createElement(_imageIconChooserComponent.default, {
            type: _$$_REQUIRE(_dependencyMap[23]).TecnaviaIconType.MATERIAL_COMMUNITY_ICONS,
            name: "close",
            iconStyle: textStyle
          }),
          text: global.strings("btn_close") + " " + paperName,
          width: width,
          height: height,
          pagesAreaSize: pagesAreaSize,
          onPress: onGotToMainEdition
        });
      }
    }, {
      key: "_getTopRightComponent",
      value: function _getTopRightComponent() {
        var _this$props3 = this.props,
            pageNumberTop = _this$props3.pageNumberTop,
            width = _this$props3.width,
            height = _this$props3.height,
            pagesAreaSize = _this$props3.pagesAreaSize,
            bgColor = _this$props3.bgColor,
            textColor = _this$props3.textColor;
        var _this$state4 = this.state,
            rightPageNumber = _this$state4.rightPageNumber,
            rightPageNumberIsHidden = _this$state4.rightPageNumberIsHidden,
            animateButtons = _this$state4.animateButtons;
        var rightRadiusStyle = {};

        if (pageNumberTop) {
          rightRadiusStyle = _pagesLayoutManager.default.pageNumberContainerRightTop;
        } else {
          rightRadiusStyle = _pagesLayoutManager.default.pageNumberContainerRightBottom;
        }

        return !rightPageNumberIsHidden ? _react.default.createElement(_pagesTextInfo.default, {
          key: "rightPage",
          position: _pagesNavigationButtons.PagesNavigationButtonsPosition.right,
          stylePropToAnimate: "end",
          style: [_pagesLayoutManager.default.pageNumberContainer, _pagesLayoutManager.default.pageNumberContainerRight, {
            backgroundColor: bgColor
          }, rightRadiusStyle, pageNumberTop ? _pagesLayoutManager.default.pageNumberContainerTop : _pagesLayoutManager.default.pageNumberContainerBottom],
          animated: animateButtons,
          textStyle: [_pagesLayoutManager.default.pageText, {
            color: textColor
          }],
          text: rightPageNumber,
          width: width,
          height: height,
          pagesAreaSize: pagesAreaSize
        }) : null;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$state5 = this.state,
            leftNavigationIsHidden = _this$state5.leftNavigationIsHidden,
            rightNavigationIsHidden = _this$state5.rightNavigationIsHidden,
            visible = _this$state5.visible,
            error = _this$state5.error,
            warning = _this$state5.warning,
            animateButtons = _this$state5.animateButtons;
        var _this$props4 = this.props,
            model = _this$props4.model,
            width = _this$props4.width,
            height = _this$props4.height,
            pagesAreaSize = _this$props4.pagesAreaSize,
            onGoToLeftPagePress = _this$props4.onGoToLeftPagePress,
            onGoToLeftSectionPress = _this$props4.onGoToLeftSectionPress,
            onGoToFirstPage = _this$props4.onGoToFirstPage,
            onGoToRightPagePress = _this$props4.onGoToRightPagePress,
            onGoToRightSectionPress = _this$props4.onGoToRightSectionPress,
            onGoToLastPage = _this$props4.onGoToLastPage,
            isSpecialSection = _this$props4.isSpecialSection,
            onGotToMainEdition = _this$props4.onGotToMainEdition;

        if (!visible) {
          if (error || warning) {
            return this._getErrorIcon(error);
          }

          return null;
        }

        return [this._getTopCenterComponent(), this._getTopLeftComponent(), this._getTopRightComponent(), isSpecialSection ? _react.default.createElement(_pagesBackToPaperButton.default, {
          onPress: onGotToMainEdition
        }) : null, error ? this._getErrorIcon(true) : null, !leftNavigationIsHidden ? _react.default.createElement(_pagesNavigationButtons.default, {
          key: "leftNavigation",
          model: model,
          width: width,
          height: height,
          pagesAreaSize: pagesAreaSize,
          animated: animateButtons,
          position: _pagesNavigationButtons.PagesNavigationButtonsPosition.left,
          onPagePress: onGoToLeftPagePress,
          onSectionPress: onGoToLeftSectionPress,
          onSectionDoublePress: onGoToFirstPage
        }) : null, !rightNavigationIsHidden ? _react.default.createElement(_pagesNavigationButtons.default, {
          key: "rightNavigation",
          model: model,
          width: width,
          height: height,
          pagesAreaSize: pagesAreaSize,
          animated: animateButtons,
          position: _pagesNavigationButtons.PagesNavigationButtonsPosition.right,
          onPagePress: onGoToRightPagePress,
          onSectionPress: onGoToRightSectionPress,
          onSectionDoublePress: onGoToLastPage
        }) : null];
      }
    }]);
    return PagesNavigation;
  }(_react.default.Component);

  exports.default = PagesNavigation;
  PagesNavigation.propTypes = {
    model: _propTypes.default.instanceOf(_$$_REQUIRE(_dependencyMap[24]).Navigation),
    pageNumberTop: _propTypes.default.bool.isRequired,
    isSpecialSection: _propTypes.default.bool,
    width: _propTypes.default.number.isRequired,
    height: _propTypes.default.number.isRequired,
    pagesAreaSize: _propTypes.default.object,
    onGoToLeftPagePress: _propTypes.default.func.isRequired,
    onGoToLeftSectionPress: _propTypes.default.func.isRequired,
    onGoToFirstPage: _propTypes.default.func.isRequired,
    onGoToRightPagePress: _propTypes.default.func.isRequired,
    onGoToRightSectionPress: _propTypes.default.func.isRequired,
    onGoToLastPage: _propTypes.default.func.isRequired,
    onGotToMainEdition: _propTypes.default.func.isRequired,
    bgColor: _propTypes.default.string,
    textColor: _propTypes.default.string,
    defaultState: _propTypes.default.shape({
      leftPageNumber: _propTypes.default.string,
      rightPageNumber: _propTypes.default.string,
      leftPageNumberIsHidden: _propTypes.default.bool,
      rightPageNumberIsHidden: _propTypes.default.bool,
      leftNavigationIsHidden: _propTypes.default.bool,
      rightNavigationIsHidden: _propTypes.default.bool
    })
  };
  PagesNavigation.defaultProps = {
    isSpecialSection: false,
    defaultState: {
      leftPageNumber: undefined,
      rightPageNumber: undefined,
      leftPageNumberIsHidden: true,
      rightPageNumberIsHidden: true,
      leftNavigationIsHidden: true,
      rightNavigationIsHidden: true,
      error: false,
      warning: false,
      animateButtons: false
    }
  };
},2382,[5,108,6,7,8,12,14,16,17,201,28,2383,2384,2385,2394,460,2340,603,1970,462,572,1,1725,1806,1858]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _hidingAnimationComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PagesTextInfo = function (_React$PureComponent) {
    (0, _inherits2.default)(PagesTextInfo, _React$PureComponent);

    var _super = _createSuper(PagesTextInfo);

    function PagesTextInfo(props) {
      var _this;

      (0, _classCallCheck2.default)(this, PagesTextInfo);
      _this = _super.call(this, props);
      _this.onLayout = _this._onLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        animated: props.animated
      };
      return _this;
    }

    (0, _createClass2.default)(PagesTextInfo, [{
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(nextProps) {
        var animated = this.props.animated;

        if (animated !== nextProps.animated) {
          this.setState({
            animated: nextProps.animated
          });
        }
      }
    }, {
      key: "_onLayout",
      value: function _onLayout(_ref) {
        var nativeEvent = _ref.nativeEvent;
        var _this$props = this.props,
            width = _this$props.width,
            height = _this$props.height,
            pagesAreaSize = _this$props.pagesAreaSize;
        var animated = this.state.animated;

        if (animated) {
          var layout = nativeEvent.layout;

          if (layout) {
            var horizontalBorderAreaWidth = Math.max(width - pagesAreaSize.width, 0) / 2;
            var horizontalBorderAreaHeight = Math.max(height - pagesAreaSize.height, 0) / 2;

            if (horizontalBorderAreaHeight >= layout.height) {
              animated = false;
            } else if (horizontalBorderAreaWidth >= layout.width) {
              animated = false;
            }
          }

          this.setState({
            animated: animated
          });
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props2 = this.props,
            text = _this$props2.text,
            IconComponent = _this$props2.IconComponent,
            position = _this$props2.position,
            style = _this$props2.style,
            textStyle = _this$props2.textStyle,
            stylePropToAnimate = _this$props2.stylePropToAnimate,
            onPress = _this$props2.onPress;

        if (!text || !text.length) {
          return null;
        }

        var animated = this.state.animated;

        var Component = _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["newsmemory-text", "newsmemory-navigation-text", "newsmemory-navigation-" + position + "-text"]
        }, _react.default.createElement(_fontText.default, {
          style: textStyle
        }, text));

        if (IconComponent) {
          Component = _react.default.createElement(_reactNative.View, {
            style: {
              flex: 1,
              flexDirection: "row",
              justifyContent: "center",
              alignItems: "center"
            }
          }, Component, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
            classes: ["newsmemory-icon", "newsmemory-navigation-icon", "newsmemory-navigation-" + position + "-icon"]
          }, IconComponent));
        }

        if (typeof onPress === "function") {
          Component = _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).TouchableOpacity, {
            onPress: onPress
          }, Component);
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["newsmemory-navigation-text-parent", "newsmemory-navigation-" + position + "-text-parent"]
        }, _react.default.createElement(_hidingAnimationComponent.default, {
          style: style,
          enabled: animated,
          stylePropToAnimate: stylePropToAnimate,
          eventToShow: _events.default.NEWSMEMORY_VIEWPAGER_GESTURE_START,
          eventToggleEnable: _events.default.NEWSMEMORY_RESET_NAVIGATION_BUTTONS_POSITION,
          onLayout: this.onLayout
        }, Component));
      }
    }]);
    return PagesTextInfo;
  }(_react.default.PureComponent);

  exports.default = PagesTextInfo;
  PagesTextInfo.propTypes = {
    text: _propTypes.default.string,
    position: _propTypes.default.oneOf([_$$_REQUIRE(_dependencyMap[15]).PagesNavigationButtonsPosition.left, _$$_REQUIRE(_dependencyMap[15]).PagesNavigationButtonsPosition.center, _$$_REQUIRE(_dependencyMap[15]).PagesNavigationButtonsPosition.right]),
    stylePropToAnimate: _propTypes.default.string,
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    textStyle: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    IconComponent: _propTypes.default.node,
    animated: _propTypes.default.bool,
    width: _propTypes.default.number,
    height: _propTypes.default.number,
    pagesAreaSize: _propTypes.default.object,
    onPress: _propTypes.default.func
  };
},2383,[5,7,8,15,12,14,16,17,201,28,1879,2338,460,699,1,2384]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.PagesNavigationButtonsPosition = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _pagesLayoutManager = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  var _tapView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _hidingAnimationComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PagesNavigationButtonsPosition = {
    left: "LEFT",
    center: "CENTER",
    right: "RIGHT"
  };
  exports.PagesNavigationButtonsPosition = PagesNavigationButtonsPosition;
  var ICONS = {
    1: {
      icons: {
        backPage: {
          key: "backPage",
          icon: _$$_REQUIRE(_dependencyMap[16])
        },
        backSection: {
          key: "backSection",
          icon: _$$_REQUIRE(_dependencyMap[17])
        },
        forwardPage: {
          key: "forwardPage",
          icon: _$$_REQUIRE(_dependencyMap[18])
        },
        forwardSection: {
          key: "forwardSection",
          icon: _$$_REQUIRE(_dependencyMap[19])
        }
      },
      styling: {
        resizeMode: "stretch",
        parentHeight: _pagesLayoutManager.NAVIGATION_PARENT_BUTTON,
        style: {
          opacity: 0.6
        }
      }
    },
    2: {
      icons: {
        backPage: {
          key: "backPage",
          icon: _$$_REQUIRE(_dependencyMap[20])
        },
        backSection: {
          key: "backSection",
          icon: _$$_REQUIRE(_dependencyMap[21])
        },
        forwardPage: {
          key: "forwardPage",
          icon: _$$_REQUIRE(_dependencyMap[22])
        },
        forwardSection: {
          key: "forwardSection",
          icon: _$$_REQUIRE(_dependencyMap[23])
        }
      },
      styling: {
        resizeMode: "contain",
        style: {
          height: _pagesLayoutManager.NAVIGATION_ROUND_BUTTON_HEIGHT,
          margin: 2
        },
        parentHeight: _pagesLayoutManager.NAVIGATION_PARENT_ROUND_BUTTON
      }
    }
  };

  var PagesNavigationButtons = function (_React$PureComponent) {
    (0, _inherits2.default)(PagesNavigationButtons, _React$PureComponent);

    var _super = _createSuper(PagesNavigationButtons);

    function PagesNavigationButtons(props) {
      var _this;

      (0, _classCallCheck2.default)(this, PagesNavigationButtons);
      _this = _super.call(this, props);
      _this.onLayout = _this._onLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        animated: props.animated
      };
      return _this;
    }

    (0, _createClass2.default)(PagesNavigationButtons, [{
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(nextProps) {
        var animated = this.props.animated;

        if (animated !== nextProps.animated) {
          this.setState({
            animated: nextProps.animated
          });
        }
      }
    }, {
      key: "_onLayout",
      value: function _onLayout(_ref) {
        var nativeEvent = _ref.nativeEvent;
        var _this$props = this.props,
            width = _this$props.width,
            pagesAreaSize = _this$props.pagesAreaSize;
        var animated = this.state.animated;

        if (animated) {
          var layout = nativeEvent.layout;

          if (layout) {
            var horizontalBorderAreaWidth = Math.max(width - pagesAreaSize.width, 0) / 2;

            if (horizontalBorderAreaWidth >= layout.width) {
              animated = false;
            }
          }

          this.setState({
            animated: animated
          });
        }
      }
    }, {
      key: "_getIcon",
      value: function _getIcon(button, buttonStyle) {
        var version = this.props.version;
        var _ICONS$version = ICONS[version],
            icons = _ICONS$version.icons,
            styling = _ICONS$version.styling;
        var resizeMode = styling.resizeMode,
            style = styling.style;
        var action = button.getAction();
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
          classes: ["newsmemory-icon", "newsmemory-navigation-icon", "newsmemory-navigation-" + action + "-icon"]
        }, _react.default.createElement(_imageIconChooserComponent.default, {
          style: [buttonStyle, style],
          resizeMode: resizeMode,
          source: icons[action].icon,
          type: button.getLibrary(),
          name: button.getIcon()
        }));
      }
    }, {
      key: "_getButton",
      value: function _getButton(button) {
        var _this$props2 = this.props,
            onPagePress = _this$props2.onPagePress,
            onSectionPress = _this$props2.onSectionPress,
            onSectionDoublePress = _this$props2.onSectionDoublePress,
            position = _this$props2.position;
        var action = button.getAction();
        var isLeft = position === PagesNavigationButtonsPosition.left;

        switch (action) {
          case "backPage":
          case "forwardPage":
            return _react.default.createElement(_tapView.default, {
              onPress: onPagePress,
              onSingleTap: onPagePress,
              onDoubleTap: onPagePress,
              key: "page_navigation_" + action
            }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
              classes: ["page-navigation-button"],
              cssKey: action
            }, _react.default.createElement(_reactNative.View, {
              style: [_pagesLayoutManager.default.navigationParentButton, isLeft ? _pagesLayoutManager.default.navigationParentButtonLeft : _pagesLayoutManager.default.navigationParentButtonRight]
            }, this._getIcon(button, _pagesLayoutManager.default.navigationMainButton))));

          case "backSection":
          case "forwardSection":
            return _react.default.createElement(_tapView.default, {
              onPress: onSectionPress,
              onSingleTap: onSectionPress,
              onDoubleTap: onSectionDoublePress,
              key: "page_navigation_" + action
            }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
              classes: ["page-navigation-button"],
              cssKey: action
            }, _react.default.createElement(_reactNative.View, {
              style: [_pagesLayoutManager.default.navigationParentButton, isLeft ? _pagesLayoutManager.default.navigationParentButtonLeft : _pagesLayoutManager.default.navigationParentButtonRight]
            }, this._getIcon(button, _pagesLayoutManager.default.navigationSubButton))));
        }

        return null;
      }
    }, {
      key: "_getButtons",
      value: function _getButtons(buttons) {
        var _this2 = this;

        return buttons && buttons.map(function (button) {
          return _this2._getButton(button);
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props3 = this.props,
            height = _this$props3.height,
            position = _this$props3.position,
            version = _this$props3.version,
            model = _this$props3.model;
        var animated = this.state.animated;
        var isLeft = position === PagesNavigationButtonsPosition.left;
        var horizontalConstraint = isLeft ? {
          start: 0
        } : {
          end: 0
        };
        var styling = ICONS[version].styling;
        var parentHeight = styling.parentHeight;
        var backSection;
        var forwardSection;

        if (model) {
          backSection = model.getBack();
          forwardSection = model.getForward();
        }

        var buttons;
        var direction;

        if (_$$_REQUIRE(_dependencyMap[25]).PlatformUtils.isRTL()) {
          buttons = isLeft ? forwardSection && forwardSection.getButtons() : backSection && backSection.getButtons();
          direction = isLeft ? "forward" : "back";
        } else {
          buttons = isLeft ? backSection && backSection.getButtons() : forwardSection && forwardSection.getButtons();
          direction = isLeft ? "back" : "forward";
        }

        var top = height * 0.6 - parentHeight / 2;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
          classes: ["newsmemory-navigation-icons-parent", "newsmemory-navigation-" + direction + "-icons-parent"]
        }, _react.default.createElement(_hidingAnimationComponent.default, {
          stylePropToAnimate: isLeft ? "start" : "end",
          style: [_pagesLayoutManager.default.navigationParentButtons, (0, _extends2.default)({
            top: top
          }, horizontalConstraint), {
            height: parentHeight
          }],
          enabled: animated,
          eventToShow: _events.default.NEWSMEMORY_VIEWPAGER_GESTURE_START,
          eventToggleEnable: _events.default.NEWSMEMORY_RESET_NAVIGATION_BUTTONS_POSITION,
          onLayout: this.onLayout
        }, this._getButtons(buttons)));
      }
    }]);
    return PagesNavigationButtons;
  }(_react.default.PureComponent);

  exports.default = PagesNavigationButtons;
  PagesNavigationButtons.propTypes = {
    model: _propTypes.default.instanceOf(_$$_REQUIRE(_dependencyMap[26]).Navigation),
    width: _propTypes.default.number,
    height: _propTypes.default.number,
    animated: _propTypes.default.bool,
    pagesAreaSize: _propTypes.default.object,
    position: _propTypes.default.oneOf([PagesNavigationButtonsPosition.left, PagesNavigationButtonsPosition.right]),
    onPagePress: _propTypes.default.func.isRequired,
    onSectionPress: _propTypes.default.func.isRequired,
    onSectionDoublePress: _propTypes.default.func.isRequired,
    version: _propTypes.default.number
  };
  PagesNavigationButtons.defaultProps = {
    version: 2
  };
},2384,[5,6,7,8,15,12,14,16,17,201,28,2385,2163,460,2338,1970,2386,2387,2388,2389,2390,2391,2392,2393,699,462,1858]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.NAVIGATION_PAGE_NUMBER_MIN_WIDTH = exports.NAVIGATION_PARENT_ROUND_BUTTON = exports.NAVIGATION_PARENT_BUTTON = exports.NAVIGATION_ROUND_BUTTON_HEIGHT = exports.NAVIGATION_SUB_BUTTON_HEIGHT = exports.NAVIGATION_MAIN_BUTTON_HEIGHT = exports.NAVIGATION_BUTTON_WIDTH = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var NAVIGATION_BUTTON_WIDTH = 30;
  exports.NAVIGATION_BUTTON_WIDTH = NAVIGATION_BUTTON_WIDTH;
  var NAVIGATION_MAIN_BUTTON_HEIGHT = 90;
  exports.NAVIGATION_MAIN_BUTTON_HEIGHT = NAVIGATION_MAIN_BUTTON_HEIGHT;
  var NAVIGATION_SUB_BUTTON_HEIGHT = 70;
  exports.NAVIGATION_SUB_BUTTON_HEIGHT = NAVIGATION_SUB_BUTTON_HEIGHT;
  var NAVIGATION_ROUND_BUTTON_HEIGHT = 50;
  exports.NAVIGATION_ROUND_BUTTON_HEIGHT = NAVIGATION_ROUND_BUTTON_HEIGHT;
  var NAVIGATION_PARENT_BUTTON = 180;
  exports.NAVIGATION_PARENT_BUTTON = NAVIGATION_PARENT_BUTTON;
  var NAVIGATION_PARENT_ROUND_BUTTON = 120;
  exports.NAVIGATION_PARENT_ROUND_BUTTON = NAVIGATION_PARENT_ROUND_BUTTON;
  var NAVIGATION_PAGE_NUMBER_MIN_WIDTH = 40;
  exports.NAVIGATION_PAGE_NUMBER_MIN_WIDTH = NAVIGATION_PAGE_NUMBER_MIN_WIDTH;

  var _default = _reactNative.StyleSheet.create({
    navigationParentButtons: {
      position: "absolute",
      height: NAVIGATION_PARENT_BUTTON,
      flexDirection: "column",
      justifyContent: "space-between"
    },
    navigationParentButton: {
      width: 50
    },
    navigationParentButtonLeft: {
      alignItems: "flex-start"
    },
    navigationParentButtonRight: {
      alignItems: "flex-end"
    },
    navigationMainButton: {
      width: NAVIGATION_BUTTON_WIDTH,
      fontSize: NAVIGATION_BUTTON_WIDTH,
      height: NAVIGATION_MAIN_BUTTON_HEIGHT
    },
    navigationSubButton: {
      width: NAVIGATION_BUTTON_WIDTH,
      fontSize: NAVIGATION_BUTTON_WIDTH,
      height: NAVIGATION_SUB_BUTTON_HEIGHT
    },
    pageNumberContainer: {
      position: "absolute",
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      minWidth: NAVIGATION_PAGE_NUMBER_MIN_WIDTH,
      justifyContent: "center",
      alignItems: "center"
    },
    paperInfoContainer: {
      position: "absolute",
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      minWidth: "100%",
      justifyContent: "center",
      alignItems: "center",
      paddingHorizontal: 5
    },
    pageNumberContainerTop: {
      top: 0
    },
    pageNumberContainerBottom: {
      bottom: 0
    },
    pageNumberContainerLeft: {
      start: 0
    },
    pageNumberContainerLeftTop: {
      borderBottomRightRadius: 5
    },
    pageNumberContainerRightTop: {
      borderBottomLeftRadius: 5
    },
    pageNumberContainerLeftBottom: {
      borderTopRightRadius: 5
    },
    pageNumberContainerRightBottom: {
      borderTopLeftRadius: 5
    },
    pageNumberContainerRight: {
      end: 0
    },
    pageText: {
      fontSize: _$$_REQUIRE(_dependencyMap[2]).HEADER_FONT_SIZE,
      color: _$$_REQUIRE(_dependencyMap[1]).colors.white
    },
    xpaperInfoText: {
      fontSize: 14,
      paddingVertical: 2.5,
      paddingHorizontal: 5
    },
    errorContainer: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.md_red_600
    },
    warningContainer: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.md_orange_600
    },
    warningIcon: {
      width: 20,
      height: 23
    }
  });

  exports.default = _default;
},2385,[28,462,729]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/pages-layout-manager/icons/v1",
    "width": 167,
    "height": 500,
    "scales": [1],
    "hash": "eddb3297c148d18d34f7269acf7ebe45",
    "name": "ic-back-button",
    "type": "png"
  });
},2386,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/pages-layout-manager/icons/v1",
    "width": 167,
    "height": 360,
    "scales": [1],
    "hash": "52fe379bda57a6463fe980e3ad3bdfba",
    "name": "ic-back-section-button",
    "type": "png"
  });
},2387,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/pages-layout-manager/icons/v1",
    "width": 167,
    "height": 500,
    "scales": [1],
    "hash": "ce4d0b25d3444d5ace31e50afda0539d",
    "name": "ic-forward-button",
    "type": "png"
  });
},2388,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/pages-layout-manager/icons/v1",
    "width": 167,
    "height": 360,
    "scales": [1],
    "hash": "76f318bb980d02f483cc0153757edc0a",
    "name": "ic-forward-section-button",
    "type": "png"
  });
},2389,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/pages-layout-manager/icons/v2",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "52688047c7df4a6391489d2bf47c571f",
    "name": "ic-back-button",
    "type": "png"
  });
},2390,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/pages-layout-manager/icons/v2",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "facf45c0236cc9a31b2ba87bb8cab43a",
    "name": "ic-back-section-button",
    "type": "png"
  });
},2391,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/pages-layout-manager/icons/v2",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "ceec2685ab684910db8bab70380d187f",
    "name": "ic-forward-button",
    "type": "png"
  });
},2392,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/pages-layout-manager/icons/v2",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "ad1531bf863fb714df86c06448227f11",
    "name": "ic-forward-section-button",
    "type": "png"
  });
},2393,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _pagesLayoutManager = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PagesBackToPaperButton = function (_React$Component) {
    (0, _inherits2.default)(PagesBackToPaperButton, _React$Component);

    var _super = _createSuper(PagesBackToPaperButton);

    function PagesBackToPaperButton() {
      (0, _classCallCheck2.default)(this, PagesBackToPaperButton);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(PagesBackToPaperButton, [{
      key: "render",
      value: function render() {
        var onPress = this.props.onPress;
        return _react.default.createElement(_reactNative.TouchableOpacity, {
          onPress: onPress,
          style: {
            position: "absolute",
            top: 40
          }
        }, _react.default.createElement(_imageComponent.default, {
          style: [_pagesLayoutManager.default.navigationMainButton, {
            height: _pagesLayoutManager.NAVIGATION_ROUND_BUTTON_HEIGHT,
            margin: 2
          }],
          resizeMode: "contain",
          source: _$$_REQUIRE(_dependencyMap[11])
        }));
      }
    }]);
    return PagesBackToPaperButton;
  }(_react.default.Component);

  exports.default = PagesBackToPaperButton;
  PagesBackToPaperButton.propTypes = {
    onPress: _propTypes.default.func.isRequired
  };
},2394,[5,7,8,12,14,16,17,201,28,2385,588,2395]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/newsmemory/pages-layout-manager/icons/v2",
    "width": 128,
    "height": 128,
    "scales": [1],
    "hash": "bce7a2aa9b8a82442d8021acd91fdbdf",
    "name": "ic-back-to-paper",
    "type": "png"
  });
},2395,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _pageViewComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _EPaperArticle = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _Box = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _zoomViewPager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _zoomClickEvent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _pageUtils = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[23]));

  var _zoomConstants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[24]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var MIN_ZOOM = 1;

  var HorizontalPagesManager = function (_Shortcut) {
    (0, _inherits2.default)(HorizontalPagesManager, _Shortcut);

    var _super = _createSuper(HorizontalPagesManager);

    function HorizontalPagesManager(props) {
      var _this;

      (0, _classCallCheck2.default)(this, HorizontalPagesManager);
      _this = _super.call(this, props);
      _this._isRtl = _$$_REQUIRE(_dependencyMap[25]).PlatformUtils.isRTL();
      _this.pageRefs = [];
      _this.pagesIndexMapping = _this._getIndexMapping();
      _this.viewPagerPosition = _this._getViewPagerIndexFromPageIndex(props.firstPage);
      _this.firstRender = true;
      _this.viewPagerScrolling = false;
      _this.onSwipe = _this._onSwipe.bind((0, _assertThisInitialized2.default)(_this));
      _this.onExtraPress = _this._onExtraPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSingleTap = _this._onSingleTap.bind((0, _assertThisInitialized2.default)(_this));
      _this.onDoubleTap = _this._onDoubleTap.bind((0, _assertThisInitialized2.default)(_this));
      _this.onTwoFingersTap = _this._onTwoFingersTap.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLongPress = _this._onLongPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSwipeOnLastPage = _this._onSwipeOnLastPage.bind((0, _assertThisInitialized2.default)(_this));
      _this.onGestureEnd = _this._onGestureEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPanBottomReached = _this._onPanBottomReached.bind((0, _assertThisInitialized2.default)(_this));
      _this.onGestureStart = _this._onGestureStart.bind((0, _assertThisInitialized2.default)(_this));
      _this.onFit = _this._onFit.bind((0, _assertThisInitialized2.default)(_this));
      _this.onUnFit = _this._onUnFit.bind((0, _assertThisInitialized2.default)(_this));
      _this.onToggleFit = _this._onToggleFit.bind((0, _assertThisInitialized2.default)(_this));
      _this.getPageDips = _this._getPageDips.bind((0, _assertThisInitialized2.default)(_this));
      _this.renderItem = _this._renderItem.bind((0, _assertThisInitialized2.default)(_this));
      _this.isTwoFingersTapEnabled = _this._isTwoFingersTapEnabled.bind((0, _assertThisInitialized2.default)(_this));
      _this.shortcutLeft = _this._shortcutLeft.bind((0, _assertThisInitialized2.default)(_this));
      _this.shortcutRight = _this._shortcutRight.bind((0, _assertThisInitialized2.default)(_this));
      _this.panToUp = _this._panToUp.bind((0, _assertThisInitialized2.default)(_this));
      _this.panToDown = _this._panToDown.bind((0, _assertThisInitialized2.default)(_this));
      _this.zoomIn = _this._zoomIn.bind((0, _assertThisInitialized2.default)(_this));
      _this.zoomOut = _this._zoomOut.bind((0, _assertThisInitialized2.default)(_this));
      _this.zoomInOut = _this._zoomInOut.bind((0, _assertThisInitialized2.default)(_this));
      var graphSize = global.getNewsmemoryConfig().getGraphSize();
      _this.state = {
        graphSize: graphSize
      };
      return _this;
    }

    (0, _createClass2.default)(HorizontalPagesManager, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        (0, _get2.default)((0, _getPrototypeOf2.default)(HorizontalPagesManager.prototype), "componentDidMount", this).call(this);
        this.configChangeListener = _$$_REQUIRE(_dependencyMap[26]).EventRegister.on(_events.default.NEWSMEMORY_CONFIG_CHANGE, function () {
          var currentGraphSize = _this2.state.graphSize;
          var graphSize = global.getNewsmemoryConfig().getGraphSize();

          if (graphSize !== currentGraphSize) {
            _this2.setState({
              graphSize: graphSize
            });
          }
        });
      }
    }, {
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(nextProps) {
        var firstPage = nextProps.firstPage;
        this.viewPagerPosition = this._getViewPagerIndexFromPageIndex(firstPage);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(HorizontalPagesManager.prototype), "componentWillUnmount", this).call(this);

        _$$_REQUIRE(_dependencyMap[26]).EventRegister.rm(this.configChangeListener);

        var onUnmounted = this.props.onUnmounted;

        if (typeof onUnmounted === "function") {
          onUnmounted();
        }
      }
    }, {
      key: "_handleShortcut",
      value: function _handleShortcut() {
        var LEFT = _$$_REQUIRE(_dependencyMap[27]).KEY_GROUPS.LEFT,
            RIGHT = _$$_REQUIRE(_dependencyMap[27]).KEY_GROUPS.RIGHT,
            UP = _$$_REQUIRE(_dependencyMap[27]).KEY_GROUPS.UP,
            DOWN = _$$_REQUIRE(_dependencyMap[27]).KEY_GROUPS.DOWN,
            MORE = _$$_REQUIRE(_dependencyMap[27]).KEY_GROUPS.MORE,
            LESS = _$$_REQUIRE(_dependencyMap[27]).KEY_GROUPS.LESS,
            PAGE_UP = _$$_REQUIRE(_dependencyMap[27]).KEY_GROUPS.PAGE_UP,
            PAGE_DOWN = _$$_REQUIRE(_dependencyMap[27]).KEY_GROUPS.PAGE_DOWN;

        return [{
          callbackRepeat: this.shortcutLeft,
          keys: [].concat((0, _toConsumableArray2.default)(LEFT), (0, _toConsumableArray2.default)(PAGE_DOWN))
        }, {
          callbackRepeat: this.shortcutRight,
          keys: [].concat((0, _toConsumableArray2.default)(RIGHT), (0, _toConsumableArray2.default)(PAGE_UP))
        }, {
          callbackRepeat: this.panToUp,
          keys: UP
        }, {
          callbackRepeat: this.panToDown,
          keys: DOWN
        }, {
          callbackRepeat: this.zoomIn,
          keys: MORE
        }, {
          callbackRepeat: this.zoomOut,
          keys: LESS
        }];
      }
    }, {
      key: "_isTextModeOpen",
      value: function _isTextModeOpen() {
        var isTextModeOpen = this.props.isTextModeOpen;

        if (typeof isTextModeOpen === "function") {
          return isTextModeOpen();
        }

        return false;
      }
    }, {
      key: "_isReadMode",
      value: function _isReadMode() {
        var isReadMode = this.props.isReadMode;

        if (typeof isReadMode === "function") {
          return isReadMode();
        }

        return false;
      }
    }, {
      key: "_isTwoFingersTapEnabled",
      value: function _isTwoFingersTapEnabled() {
        var _global$getNewsmemory = global.getNewsmemoryConfig(),
            twoFingersTapToArticle = _global$getNewsmemory.twoFingersTapToArticle;

        return twoFingersTapToArticle;
      }
    }, {
      key: "_fixEventFromExtra",
      value: function _fixEventFromExtra(event, page) {
        var _this$props = this.props,
            numberOfShowedPages = _this$props.numberOfShowedPages,
            size = _this$props.size;

        if (event && page && numberOfShowedPages === 2) {
          var clickedPageIndex = this._getPageIndexFromPage(page);

          var xToFix = _$$_REQUIRE(_dependencyMap[25]).PlatformUtils.isRTL() ? clickedPageIndex < this.viewPagerPosition : clickedPageIndex > this.viewPagerPosition;

          if (xToFix) {
            event.x += size.width / 2;
          }
        }

        return event;
      }
    }, {
      key: "_getIndexMapping",
      value: function _getIndexMapping() {
        var data = this.props.data;
        var iMap = [];

        for (var i = 0; i < data.length; i++) {
          var page = data[i];

          if (page.isDoubleTruck()) {
            iMap.push(i, i);
          } else {
            iMap.push(i);
          }
        }

        return iMap;
      }
    }, {
      key: "_getPageIndexFromViewPagerIndex",
      value: function _getPageIndexFromViewPagerIndex(viewPagerIndex) {
        return this.pagesIndexMapping[viewPagerIndex];
      }
    }, {
      key: "_getViewPagerIndexFromPageIndex",
      value: function _getViewPagerIndexFromPageIndex(pageIndex) {
        return this.pagesIndexMapping.findIndex(function (item) {
          return item === pageIndex;
        });
      }
    }, {
      key: "_getPageIndexFromPage",
      value: function _getPageIndexFromPage(page) {
        var data = this.props.data;
        var dataIndex = data.findIndex(function (item) {
          return item.getPageId() === page.getPageId();
        });
        return this._getViewPagerIndexFromPageIndex(dataIndex);
      }
    }, {
      key: "_getCurrentPage",
      value: function _getCurrentPage() {
        var data = this.props.data;
        return data[this.pagesIndexMapping[this.viewPagerPosition]];
      }
    }, {
      key: "scrollTo",
      value: function scrollTo(pageIndex) {
        if (this.pagesViewPager) {
          var viewPagerIndex = this._getViewPagerIndexFromPageIndex(pageIndex);

          var outOfWindow = viewPagerIndex < this.viewPagerPosition - 1 || viewPagerIndex > this.viewPagerPosition + 1;
          var page = this.pageRefs[pageIndex];

          if (page && outOfWindow) {
            page.showLow(true);
          }

          this.pagesViewPager.scrollTo(viewPagerIndex);
        }
      }
    }, {
      key: "_shortcutLeft",
      value: function _shortcutLeft() {
        return _regenerator.default.async(function _shortcutLeft$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!this.pagesViewPager) {
                  _context.next = 3;
                  break;
                }

                if (this.pagesViewPager.isScaled()) {
                  this.pagesViewPager.panToLeft();
                } else {
                  this.scrollToPrev();
                }

                return _context.abrupt("return", this.getCallbackRepeatPromise(_zoomConstants.default.constants.ZOOM_TO_DURATION));

              case 3:
                return _context.abrupt("return", Promise.reject());

              case 4:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_shortcutRight",
      value: function _shortcutRight() {
        return _regenerator.default.async(function _shortcutRight$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!this.pagesViewPager) {
                  _context2.next = 3;
                  break;
                }

                if (this.pagesViewPager.isScaled()) {
                  this.pagesViewPager.panToRight();
                } else {
                  this.scrollToNext();
                }

                return _context2.abrupt("return", this.getCallbackRepeatPromise(_zoomConstants.default.constants.ZOOM_TO_DURATION));

              case 3:
                return _context2.abrupt("return", Promise.reject());

              case 4:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_panToUp",
      value: function _panToUp() {
        return _regenerator.default.async(function _panToUp$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                if (!this.pagesViewPager) {
                  _context3.next = 3;
                  break;
                }

                this.pagesViewPager.panToUp();
                return _context3.abrupt("return", this.getCallbackRepeatPromise(_zoomConstants.default.constants.ZOOM_TO_DURATION));

              case 3:
                return _context3.abrupt("return", Promise.reject());

              case 4:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_panToDown",
      value: function _panToDown() {
        return _regenerator.default.async(function _panToDown$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!this.pagesViewPager) {
                  _context4.next = 3;
                  break;
                }

                this.pagesViewPager.panToDown();
                return _context4.abrupt("return", this.getCallbackRepeatPromise(_zoomConstants.default.constants.ZOOM_TO_DURATION));

              case 3:
                return _context4.abrupt("return", Promise.reject());

              case 4:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_zoomInOut",
      value: function _zoomInOut(zoomDiff) {
        return _regenerator.default.async(function _zoomInOut$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                if (!this.pagesViewPager) {
                  _context5.next = 3;
                  break;
                }

                this.pagesViewPager.zoomToCenter(zoomDiff);
                return _context5.abrupt("return", this.getCallbackRepeatPromise());

              case 3:
                return _context5.abrupt("return", Promise.reject());

              case 4:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_zoomIn",
      value: function _zoomIn() {
        return _regenerator.default.async(function _zoomIn$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                return _context6.abrupt("return", this._zoomInOut(0.5));

              case 1:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_zoomOut",
      value: function _zoomOut() {
        return _regenerator.default.async(function _zoomOut$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                return _context7.abrupt("return", this._zoomInOut(-0.5));

              case 1:
              case "end":
                return _context7.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "scrollToPrev",
      value: function scrollToPrev() {
        if (this.pagesViewPager) {
          this.pagesViewPager.scrollToPrev();
        }
      }
    }, {
      key: "scrollToNext",
      value: function scrollToNext() {
        if (this.pagesViewPager) {
          this.pagesViewPager.scrollToNext();
        }
      }
    }, {
      key: "_onExtraPress",
      value: function _onExtraPress(event) {
        var _this3 = this;

        var hasExtra = false;

        if (event) {
          var _this$_getScaledCoord = this._getScaledCoordinates(event),
              scale = _this$_getScaledCoord.scale,
              viewIndex = _this$_getScaledCoord.viewIndex,
              scaledCoordinates = _this$_getScaledCoord.scaledCoordinates;

          var page = this.pageRefs[viewIndex];
          var extraEvent = (0, _extends2.default)({}, scaledCoordinates, {
            scale: scale
          });
          hasExtra = page && page.hasExtraForEvent(extraEvent, function (extraType) {
            var isOpenArticleExtra = extraType === _$$_REQUIRE(_dependencyMap[28]).PageExtraType.OPEN_ARTICLE;

            _this3._onPagePress(event, true, isOpenArticleExtra);
          });
        }

        return hasExtra;
      }
    }, {
      key: "_onSingleTap",
      value: function _onSingleTap(event) {
        var isSingleTapToZoomEnabled = this.props.isSingleTapToZoomEnabled;

        if (!this._isTwoFingersTapEnabled() || this._isTextModeOpen() || this._isReadMode()) {
          this._onPagePress(event, true);
        } else {
          if (!isSingleTapToZoomEnabled()) {
            _$$_REQUIRE(_dependencyMap[26]).EventRegister.emit(_events.default.NEWSMEMORY_FOOTER_TOGGLE_VISIBILITY);
          }
        }
      }
    }, {
      key: "_showTwoFingersTapHintIfNeeded",
      value: function _showTwoFingersTapHintIfNeeded() {
        var newsmemoryConfig = global.getNewsmemoryConfig();

        if (this.isTwoFingersTapEnabled() && newsmemoryConfig && newsmemoryConfig.shouldShowTwoFingersTapHint()) {
          _$$_REQUIRE(_dependencyMap[29]).Toast.show(global.strings("hint_two_fingers_tap"), 3000);
        }
      }
    }, {
      key: "_onDoubleTap",
      value: function _onDoubleTap(event) {
        var _this$props2 = this.props,
            articleClose = _this$props2.articleClose,
            newspaper = _this$props2.newspaper,
            isSingleTapToZoomEnabled = _this$props2.isSingleTapToZoomEnabled;
        var delegateZoom = false;

        if (event && newspaper) {
          var edition = newspaper.getEditionModel();

          var currentPage = this._getCurrentPage();

          if (event.getScaledCoordinates) {
            if (this._isTextModeOpen()) {
              var scaledCoordinates = event.getScaledCoordinates();

              var _this$_getPageCoordin = this._getPageCoordinates(scaledCoordinates),
                  coordinates = _this$_getPageCoordin.coordinates,
                  page = _this$_getPageCoordin.page;

              (0, _$$_REQUIRE(_dependencyMap[30]).sendNewsmemoryDoubleTapToZoomEvent)(edition, page);

              if (articleClose) {
                articleClose(coordinates, page);
              }

              currentPage = page;
              delegateZoom = true;
            } else if (event.scale === 1 && isSingleTapToZoomEnabled()) {
              this._showTwoFingersTapHintIfNeeded();
            }
          } else {}

          if (event.scale === 1) {
            (0, _$$_REQUIRE(_dependencyMap[30]).sendNewsmemoryDoubleTapToZoomEvent)(edition, currentPage);
          }
        }

        return delegateZoom;
      }
    }, {
      key: "_onTwoFingersTap",
      value: function _onTwoFingersTap(event) {
        var isTwoFingersTapEnabled = this._isTwoFingersTapEnabled();

        var newsmemoryConfig = global.getNewsmemoryConfig();

        if (isTwoFingersTapEnabled) {
          newsmemoryConfig.disableTwoFingersTapHint();
        }

        if (isTwoFingersTapEnabled || this._isTextModeOpen() || this._isReadMode()) {
          this._onPagePress(event, true, true);
        }
      }
    }, {
      key: "_onLongPress",
      value: function _onLongPress(event) {
        var skipSelection = false;
        var onPageLongPress = this.props.onPageLongPress;

        if (typeof onPageLongPress === "function") {
          skipSelection = onPageLongPress(event);
        }

        var _global$getActivePSet = global.getActivePSetup(),
            previewHighlightEnabled = _global$getActivePSet.previewHighlightEnabled;

        if (previewHighlightEnabled && event) {
          var eventIndex = event.getIndex();

          if (eventIndex !== undefined) {
            var data = this.props.data;
            var clickedPageIndex = this.pagesIndexMapping[eventIndex];
            var page = data[clickedPageIndex];

            if (page) {
              _$$_REQUIRE(_dependencyMap[26]).EventRegister.emit(_events.default.NEWSMEMORY_SHOW_EXTRA, {
                page: page
              });

              if (!skipSelection) {
                this._onPagePress(event);
              }
            }
          }
        }
      }
    }, {
      key: "_onSwipe",
      value: function _onSwipe(event) {
        var _this4 = this;

        var index = event.index,
            visibleAreas = event.visibleAreas,
            isScrolling = event.isScrolling,
            scale = event.scale;

        _$$_REQUIRE(_dependencyMap[26]).EventRegister.emit(_events.default.NEWSMEMORY_CLEAR_HIGH_RES_QUEUE);

        if (index !== this.viewPagerPosition || isScrolling !== this.viewPagerScrolling || this.firstRender) {
          var pagesIndex = visibleAreas.map(function (area) {
            return _this4.pagesIndexMapping[area.index];
          });
          var _this$props3 = this.props,
              onPageChange = _this$props3.onPageChange,
              renderedPagesOffset = _this$props3.renderedPagesOffset,
              renderedLowPagesOffset = _this$props3.renderedLowPagesOffset,
              data = _this$props3.data,
              numberOfShowedPages = _this$props3.numberOfShowedPages,
              getCurrentArticle = _this$props3.getCurrentArticle;
          var lowLeft = [];
          var lowRight = [];
          var mid = [];
          var pageIndex = this.pagesIndexMapping[index];
          var startRenderOffset;
          var endRenderOffset;

          if (this._isRtl) {
            startRenderOffset = Math.max(0, pageIndex - numberOfShowedPages - renderedPagesOffset + 1);
            endRenderOffset = Math.min(pageIndex + renderedPagesOffset + 1, data.length);
          } else {
            startRenderOffset = Math.max(0, pageIndex - renderedPagesOffset);
            endRenderOffset = Math.min(pageIndex + numberOfShowedPages + renderedPagesOffset, data.length);
          }

          var startRenderLowOffset = Math.max(0, startRenderOffset - renderedLowPagesOffset);
          var endRenderLowOffset = Math.min(endRenderOffset + renderedLowPagesOffset, data.length);

          var _global$getActivePSet2 = global.getActivePSetup(),
              loadMidResOnScroll = _global$getActivePSet2.loadMidResOnScroll;

          var swipeRight = index > this.viewPagerPosition;

          if (swipeRight) {
            for (var i = pageIndex; i < endRenderOffset; i++) {
              if ((loadMidResOnScroll || !isScrolling) && this.pageRefs[i] && !pagesIndex.includes(i)) {
                this.pageRefs[i].show(!isScrolling);
              }

              if (data[i]) {
                mid.push(data[i].getPageId());
              }
            }

            for (var _i = endRenderOffset; _i < endRenderLowOffset; _i++) {
              if (this.pageRefs[_i] && !pagesIndex.includes(_i)) {
                this.pageRefs[_i].showLow(!isScrolling);
              }

              if (data[_i]) {
                lowRight.push(data[_i].getPageId());
              }
            }

            for (var _i2 = pageIndex - 1; _i2 >= startRenderOffset; _i2--) {
              if (!isScrolling && this.pageRefs[_i2] && !pagesIndex.includes(_i2)) {
                this.pageRefs[_i2].show(!isScrolling);
              }

              if (data[_i2]) {
                mid.push(data[_i2].getPageId());
              }
            }

            for (var _i3 = startRenderOffset - 1; _i3 >= startRenderLowOffset; _i3--) {
              if (!isScrolling && this.pageRefs[_i3] && !pagesIndex.includes(_i3)) {
                this.pageRefs[_i3].showLow(!isScrolling);
              }

              if (data[_i3]) {
                lowLeft.push(data[_i3].getPageId());
              }
            }
          } else {
            for (var _i4 = pageIndex; _i4 >= startRenderOffset; _i4--) {
              if ((loadMidResOnScroll || !isScrolling) && this.pageRefs[_i4] && !pagesIndex.includes(_i4)) {
                this.pageRefs[_i4].show(!isScrolling);
              }

              if (data[_i4]) {
                mid.push(data[_i4].getPageId());
              }
            }

            for (var _i5 = startRenderOffset - 1; _i5 >= startRenderLowOffset; _i5--) {
              if (this.pageRefs[_i5] && !pagesIndex.includes(_i5)) {
                this.pageRefs[_i5].showLow(!isScrolling);
              }

              if (data[_i5]) {
                lowLeft.push(data[_i5].getPageId());
              }
            }

            for (var _i6 = pageIndex + 1; _i6 < endRenderOffset; _i6++) {
              if (!isScrolling && this.pageRefs[_i6] && !pagesIndex.includes(_i6)) {
                this.pageRefs[_i6].show(!isScrolling);
              }

              if (data[_i6]) {
                mid.push(data[_i6].getPageId());
              }
            }

            for (var _i7 = endRenderOffset; _i7 < endRenderLowOffset; _i7++) {
              if (!isScrolling && this.pageRefs[_i7] && !pagesIndex.includes(_i7)) {
                this.pageRefs[_i7].showLow(!isScrolling);
              }

              if (data[_i7]) {
                lowRight.push(data[_i7].getPageId());
              }
            }
          }

          for (var _i8 = 0; _i8 < data.length; _i8++) {
            if ((_i8 < startRenderLowOffset || _i8 > endRenderLowOffset) && this.pageRefs[_i8]) {
              this.pageRefs[_i8].hide();
            }
          }

          var currentArticle = getCurrentArticle();
          var nextPageIndex = this.pagesIndexMapping[index + 1];

          if (numberOfShowedPages === 2 && currentArticle && nextPageIndex) {
            var articlePageId = currentArticle.getPageId();
            var rightPageId = data[nextPageIndex].getPageId();

            if (articlePageId === rightPageId) {
              pageIndex = nextPageIndex;
            }
          }

          var pagesInfo = this._getVisiblePagesInfo(index);

          var isZoomed = scale > MIN_ZOOM;

          this._updateWhiteMargin(pagesInfo, numberOfShowedPages);

          onPageChange(Math.max(0, pageIndex), mid, isScrolling, isZoomed, pagesInfo);
          this.firstRender = false;

          var currentPage = this._getCurrentPage();

          if (currentPage) {
            var currentPageRef = this.pageRefs[pageIndex];

            if (numberOfShowedPages === 1 && this.viewPagerPosition !== index) {
              if (currentPageRef) {
                if (currentPage.isDoubleTruck() && currentPage.isProtected()) {
                  if (swipeRight) {
                    currentPageRef.changeLoginOverlayPosition(_pageUtils.PageViewPosition.RIGHT);
                  } else {
                    currentPageRef.changeLoginOverlayPosition(_pageUtils.PageViewPosition.LEFT);
                  }
                } else if (data[pageIndex] && data[pageIndex].isDoubleTruck() && data[pageIndex].isProtected()) {
                  if (swipeRight) {
                    currentPageRef.changeLoginOverlayPosition(_pageUtils.PageViewPosition.LEFT);
                  } else {
                    currentPageRef.changeLoginOverlayPosition(_pageUtils.PageViewPosition.RIGHT);
                  }
                }
              }
            } else if (numberOfShowedPages === 2) {
              if (currentPage.isDoubleTruck()) {
                if (currentPageRef && currentPage.isProtected()) {
                  currentPageRef.changeLoginOverlayPosition(_pageUtils.PageViewPosition.CENTER);
                }
              } else if (nextPageIndex && this.pageRefs[nextPageIndex] && data[nextPageIndex] && data[nextPageIndex].isDoubleTruck()) {
                this.pageRefs[nextPageIndex].changeLoginOverlayPosition(_pageUtils.PageViewPosition.LEFT);
              }
            }
          }
        }

        this.viewPagerPosition = index;
        this.viewPagerScrolling = isScrolling;
      }
    }, {
      key: "_updateWhiteMargin",
      value: function _updateWhiteMargin(pagesInfo, numberOfShowedPages) {
        if (this.pagesViewPager && pagesInfo) {
          var marginLeftDivider = 1;
          var marginRightDivider = 1;

          if (numberOfShowedPages === 1) {
            if (pagesInfo.left && pagesInfo.left.page && pagesInfo.left.page.isDoubleTruck()) {
              if (pagesInfo.left.isDTRightSide) {
                marginLeftDivider = 2;
              } else {
                marginRightDivider = 2;
              }
            }
          } else {
            if (pagesInfo.left && pagesInfo.left.page && pagesInfo.left.page.isDoubleTruck() && pagesInfo.left.isDTRightSide) {
              marginLeftDivider = 2;
            }

            if (pagesInfo.right && pagesInfo.right.page && pagesInfo.right.page.isDoubleTruck() && !pagesInfo.right.isDTRightSide) {
              marginRightDivider = 2;
            }
          }

          this.pagesViewPager.reduceMargins(marginLeftDivider, marginRightDivider);
        }
      }
    }, {
      key: "_getVisiblePagesInfo",
      value: function _getVisiblePagesInfo(index) {
        var _this$props4 = this.props,
            numberOfShowedPages = _this$props4.numberOfShowedPages,
            data = _this$props4.data;
        var result;

        if (numberOfShowedPages === 1) {
          var pageIndex = this.pagesIndexMapping[index];
          var previousPageIndex = this.pagesIndexMapping[index - 1];
          var isDTRightSide = pageIndex === previousPageIndex;
          var page = data[pageIndex];
          result = {
            left: {
              isDTRightSide: isDTRightSide,
              page: page
            }
          };
        } else {
          var previousLeftPageIndex = this.pagesIndexMapping[this._isRtl ? index - 2 : index - 1];
          var leftPageIndex = this.pagesIndexMapping[Math.max(0, this._isRtl ? index - 1 : index)];
          var rightPageIndex = this.pagesIndexMapping[this._isRtl ? index : index + 1];
          var isRightPageDTRightSide = leftPageIndex === rightPageIndex;
          var isLeftPageDTRightSide = previousLeftPageIndex === leftPageIndex;
          var leftPage = data[leftPageIndex];
          var rightPage = data[rightPageIndex];
          result = {
            left: {
              isDTRightSide: isLeftPageDTRightSide,
              page: leftPage
            },
            right: {
              isDTRightSide: isRightPageDTRightSide,
              page: rightPage
            }
          };
        }

        return result;
      }
    }, {
      key: "_onSwipeOnLastPage",
      value: function _onSwipeOnLastPage() {
        var newspaper = this.props.newspaper;

        if (newspaper && newspaper.getEditionModel() && newspaper.getEditionModel().hasSpecialSections) {
          _$$_REQUIRE(_dependencyMap[26]).EventRegister.emit(_events.default.NEWSMEMORY_OPEN_SPECIAL_SECTION);
        }
      }
    }, {
      key: "_onGestureEnd",
      value: function _onGestureEnd(event) {
        var _this5 = this;

        _$$_REQUIRE(_dependencyMap[26]).EventRegister.emit(_events.default.NEWSMEMORY_RESTART_HIGH_RES_QUEUE);

        if (event) {
          var _this$props5 = this.props,
              onScaleChange = _this$props5.onScaleChange,
              onPanChange = _this$props5.onPanChange;
          var isScrolling = event.isScrolling,
              isPan = event.isPan,
              isPinch = event.isPinch,
              scale = event.scale,
              visibleAreas = event.visibleAreas,
              x = event.x,
              y = event.y;

          if (!isScrolling) {
            var isZoomed = scale > MIN_ZOOM;

            if (isPan) {
              if (!this.lastPanCoordinates || !_$$_REQUIRE(_dependencyMap[25]).JSUtils.areEqualShallow({
                x: x,
                y: y
              }, this.lastPanCoordinates)) {
                onPanChange(isZoomed, visibleAreas);
              }

              this.lastPanCoordinates = {
                x: x,
                y: y
              };
            } else {
              onScaleChange(isZoomed, scale, isPinch);
            }

            var nativeEvent = event.nativeEvent;
            var _width = nativeEvent._width;
            var visibleAreasMapped = visibleAreas.map(function (pageEvent) {
              return (0, _extends2.default)({}, pageEvent, {
                pageId: _this5.pagesIndexMapping[pageEvent.index]
              });
            });

            for (var i = 0; i < visibleAreasMapped.length - 1; i++) {
              for (var j = i + 1; j < visibleAreasMapped.length; j++) {
                if (visibleAreasMapped[i] && visibleAreasMapped[j]) {
                  if (visibleAreasMapped[i].pageId === visibleAreasMapped[j].pageId) {
                    visibleAreasMapped[i].y = Math.min(visibleAreasMapped[i].y, visibleAreasMapped[j].y);
                    var right = Math.max(visibleAreasMapped[i].x + visibleAreasMapped[i].width, visibleAreasMapped[j].x + visibleAreasMapped[j].width + _width);
                    var bottom = Math.max(visibleAreasMapped[i].y + visibleAreasMapped[i].height, visibleAreasMapped[j].y + visibleAreasMapped[j].height);
                    visibleAreasMapped[i].width = right - visibleAreasMapped[i].x;
                    visibleAreasMapped[i].height = bottom - visibleAreasMapped[i].y;
                    visibleAreasMapped[j] = undefined;
                  }
                }
              }
            }

            var mergedAreas = visibleAreasMapped.filter(function (item) {
              return item !== undefined;
            });

            for (var k = 0; k < mergedAreas.length; k++) {
              var pageEvent = mergedAreas[k];
              var previousPageIndex = this.pagesIndexMapping[pageEvent.index - 1];
              var pageIndex = pageEvent.pageId;
              var isDTRightSide = previousPageIndex === pageIndex;

              if (isDTRightSide) {
                pageEvent.x += _width;
              }

              if (this.pageRefs[pageIndex]) {
                this.pageRefs[pageIndex].showHr((0, _extends2.default)({
                  scale: scale,
                  downloadIfMissing: true
                }, pageEvent));

                if (k === mergedAreas.length - 1) {
                  this.pageRefs[pageIndex].hideBorder();
                }
              }
            }
          }
        }
      }
    }, {
      key: "_onGestureStart",
      value: function _onGestureStart() {
        _$$_REQUIRE(_dependencyMap[26]).EventRegister.emit(_events.default.NEWSMEMORY_VIEWPAGER_GESTURE_START);

        _$$_REQUIRE(_dependencyMap[26]).EventRegister.emit(_events.default.NEWSMEMORY_PAUSE_HIGH_RES_QUEUE);

        var data = this.props.data;

        for (var i = 0; i < data.length; i++) {
          if (this.pageRefs[i]) {
            this.pageRefs[i].showBorder();
          }
        }
      }
    }, {
      key: "_onUnFit",
      value: function _onUnFit() {
        var currentPage = this._getCurrentPage();

        if (currentPage) {
          _$$_REQUIRE(_dependencyMap[26]).EventRegister.emit(_events.default.NEWSMEMORY_SHOW_NAVIGATION_BUTTONS, {
            pageId: currentPage.getPageId(),
            visible: true
          });
        } else {}
      }
    }, {
      key: "_onFit",
      value: function _onFit() {
        _$$_REQUIRE(_dependencyMap[26]).EventRegister.emit(_events.default.NEWSMEMORY_FOOTER_BUTTON_HIDE);

        var currentPage = this._getCurrentPage();

        if (currentPage) {
          _$$_REQUIRE(_dependencyMap[26]).EventRegister.emit(_events.default.NEWSMEMORY_SHOW_NAVIGATION_BUTTONS, {
            pageId: currentPage.getPageId(),
            visible: false
          });
        } else {}
      }
    }, {
      key: "_onPanBottomReached",
      value: function _onPanBottomReached() {
        _$$_REQUIRE(_dependencyMap[26]).EventRegister.emit(_events.default.NEWSMEMORY_FOOTER_BUTTON_HIDE);
      }
    }, {
      key: "_onToggleFit",
      value: function _onToggleFit() {
        var onUnFit = this.props.onUnFit;

        if (typeof onUnFit === "function") {
          onUnFit();
        }
      }
    }, {
      key: "_getPageCoordinates",
      value: function _getPageCoordinates(_ref) {
        var x = _ref.x,
            y = _ref.y,
            width = _ref.width,
            height = _ref.height,
            index = _ref.index;
        var data = this.props.data;
        var page = data[this.pagesIndexMapping[index]];
        return {
          coordinates: {
            x: x,
            y: y,
            width: width,
            height: height,
            index: index
          },
          page: page
        };
      }
    }, {
      key: "_getScaledCoordinates",
      value: function _getScaledCoordinates(event) {
        if (event.getScaledCoordinates) {
          var scaledCoordinates = event.getScaledCoordinates();
          var eventIndex = event.getIndex();

          if (eventIndex !== undefined) {
            var data = this.props.data;
            var clickedPageIndexPrevious = this.pagesIndexMapping[eventIndex - 1];
            var clickedPageIndex = this.pagesIndexMapping[eventIndex];
            var clickedPage = data[clickedPageIndex];

            if (clickedPage !== undefined) {
              var isDoubleTruck = clickedPage.isDoubleTruck();
              var isDoubleTruckRightSide = isDoubleTruck && clickedPageIndexPrevious === clickedPageIndex;
              var pageRef = this.pageRefs[clickedPageIndex];

              if (pageRef && pageRef.margins && pageRef.margins.top) {
                scaledCoordinates.y -= pageRef.margins.top * event.getScale();
              }

              var newspaper = this.props.newspaper;
              var edition = newspaper && newspaper.getEditionModel();

              var realPageSize = _newsmemoryUtils.default.getPageSize(edition, clickedPage);

              var realPageRatio = clickedPage.isDoubleTruck() ? 2 : 1;
              var scaledCoordinatesRatio = parseFloat((scaledCoordinates.width / scaledCoordinates.height).toFixed(2));
              var realPageSizeRatio = parseFloat((realPageSize.pageWidth / realPageRatio / realPageSize.pageHeight).toFixed(2));

              if (scaledCoordinatesRatio > realPageSizeRatio) {
                var fixRatio = scaledCoordinates.height / clickedPage.getFrameHeight();
                scaledCoordinates.width = realPageSize.pageWidth / realPageRatio * fixRatio;
                scaledCoordinates.height = realPageSize.pageHeight * fixRatio;
              }

              if (isDoubleTruckRightSide) {
                scaledCoordinates.x += scaledCoordinates.width;
              }

              if (clickedPage.isDoubleTruck()) {
                scaledCoordinates.width *= 2;
              }
            }

            return {
              scale: event.getScale(),
              scaledCoordinates: scaledCoordinates,
              clickedPage: clickedPage,
              index: eventIndex,
              viewIndex: clickedPageIndex
            };
          }
        }

        return {};
      }
    }, {
      key: "_onPagePress",
      value: function _onPagePress(event) {
        var open = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
        var disableZoomCheck = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;

        if (event) {
          if (disableZoomCheck || !event.isGreaterThanFit()) {
            var _this$_getScaledCoord2 = this._getScaledCoordinates(event),
                scaledCoordinates = _this$_getScaledCoord2.scaledCoordinates,
                clickedPage = _this$_getScaledCoord2.clickedPage;

            if (scaledCoordinates && clickedPage) {
              var found = clickedPage.getArticles().find(function (article) {
                var boxes = article.getBoxes();
                var boxFound = boxes.find(function (box) {
                  var boxSize = _newsmemoryUtils.default.getHrStyle(box, article.getBoxesInfo(), {
                    width: scaledCoordinates.width,
                    height: scaledCoordinates.height
                  }, true);

                  return _$$_REQUIRE(_dependencyMap[25]).JSUtils.rectContainsPoint(boxSize, scaledCoordinates);
                });
                return boxFound !== undefined;
              });

              if (found) {
                var topBox = found.getTopCoordinate();

                if (topBox) {
                  var topBoxSize = _newsmemoryUtils.default.getHrStyle(topBox, found.getBoxesInfo(), {
                    width: scaledCoordinates.width,
                    height: scaledCoordinates.height
                  }, true);

                  scaledCoordinates.y = topBoxSize.top;
                }

                if (!found.isHidden()) {
                  var onArticlePress = this.props.onArticlePress;
                  onArticlePress(found, (0, _extends2.default)({}, scaledCoordinates, {
                    disableZoomFactor: true
                  }), open);
                } else {}
              }
            } else {}
          } else {
            this._showTwoFingersTapHintIfNeeded();
          }
        } else {}
      }
    }, {
      key: "_getPageDips",
      value: function _getPageDips() {
        var data = this.props.data;

        var page = data[this._getPageIndexFromViewPagerIndex(this.viewPagerPosition)];

        return _newsmemoryUtils.default.getHorizontalPageDips(page);
      }
    }, {
      key: "_needToShowBorderOnPage",
      value: function _needToShowBorderOnPage(page) {
        var newspaper = this.props.newspaper;

        if (newspaper && page) {
          if (page.isDoubleTruck() || _pageUtils.default.getPageNumberFromPage(page.getPage()) % 2 === 1) {
            return true;
          }

          var nextPage = _pageUtils.default.getNextPage(page, newspaper.getPages());

          if (nextPage) {
            return _pageUtils.default.getSectionLetterFromPage(page.getPage()) !== _pageUtils.default.getSectionLetterFromPage(nextPage.getPage());
          }
        }

        return false;
      }
    }, {
      key: "_renderItem",
      value: function _renderItem(_ref2) {
        var _this6 = this;

        var item = _ref2.item,
            pageIndex = _ref2.index,
            slotSize = _ref2.slotSize,
            viewSize = _ref2.viewSize;

        var _global$getActivePSet3 = global.getActivePSetup(),
            pdfThumbnailRatio = _global$getActivePSet3.pdfThumbnailRatio;

        var scaledPdfThumbnailRatio = pdfThumbnailRatio;
        var _this$props6 = this.props,
            numberOfShowedPages = _this$props6.numberOfShowedPages,
            isLandscape = _this$props6.isLandscape,
            newspaper = _this$props6.newspaper,
            navigation = _this$props6.navigation,
            getCurrentArticle = _this$props6.getCurrentArticle,
            fitPageHorizontally = _this$props6.fitPageHorizontally,
            textSize = _this$props6.textSize,
            highlightEnabled = _this$props6.highlightEnabled;

        if (!fitPageHorizontally) {
          var edition = newspaper && newspaper.getEditionModel();

          var _NewsmemoryUtils$getP = _newsmemoryUtils.default.getPageSizeFixed(edition, item),
              pageWidth = _NewsmemoryUtils$getP.pageWidth;

          var scaleFit = 1;

          if (item.isDoubleTruck()) {
            scaleFit = viewSize.width / (pageWidth / 2);
          } else {
            scaleFit = viewSize.width / pageWidth;
          }

          scaledPdfThumbnailRatio += scaleFit < 1 ? 1 - scaleFit : scaleFit - 1;
        }

        var mappedIndex = this._getViewPagerIndexFromPageIndex(pageIndex);

        var isCurrentPage = pageIndex === this.pagesIndexMapping[this.viewPagerPosition];
        var currentViewPagerIndexIsEven = this.viewPagerPosition % 2 === 0;
        var isViewPagerIndexLeft = numberOfShowedPages === 2 && currentViewPagerIndexIsEven ? mappedIndex + 1 === this.viewPagerPosition : false;
        var isViewPagerIndexRight = numberOfShowedPages === 2 && (!currentViewPagerIndexIsEven || mappedIndex === 1) ? mappedIndex - 1 === this.viewPagerPosition : false;
        var isVisible = isViewPagerIndexLeft || isCurrentPage || isViewPagerIndexRight;

        var showBorder = this._needToShowBorderOnPage(item);

        var loginOverlayPosition = _pageUtils.PageViewPosition.CENTER;

        if (item.isDoubleTruck() && numberOfShowedPages === 1) {
          loginOverlayPosition = _pageUtils.PageViewPosition.LEFT;
        }

        return _react.default.createElement(_pageViewComponent.default, {
          ref: function ref(_ref3) {
            _this6.pageRefs[pageIndex] = _ref3;
          },
          onMounted: function onMounted() {
            if (_this6.firstRender && isCurrentPage) {
              setTimeout(function () {
                if (_this6.pagesViewPager) {
                  _this6.pagesViewPager.zoomToClickedPosition();
                }
              }, 300);
            }
          },
          key: item.getPageId(),
          newspaper: newspaper,
          page: item,
          pdfThumbnailRatio: Math.max(scaledPdfThumbnailRatio, pdfThumbnailRatio),
          navigation: navigation,
          getCurrentArticle: getCurrentArticle,
          showOnlyLow: !isVisible,
          isVisible: isVisible,
          hidePage: !isVisible,
          slotSize: slotSize,
          size: viewSize,
          textSize: textSize,
          isLandscape: isLandscape,
          showBorder: showBorder,
          loginOverlayPosition: loginOverlayPosition,
          highlightEnabled: highlightEnabled
        });
      }
    }, {
      key: "_getSnapSize",
      value: function _getSnapSize() {
        var _this$props7 = this.props,
            data = _this$props7.data,
            size = _this$props7.size,
            fitPageHorizontally = _this$props7.fitPageHorizontally,
            numberOfShowedPages = _this$props7.numberOfShowedPages;
        var firstPage = data[0];
        var left;
        var snapDivider = 10;

        if (firstPage) {
          try {
            try {
              var right;
              firstPage.getArticles().forEach(function (article) {
                if (article.isText()) {
                  article.getBoxes().forEach(function (box) {
                    var boxHr = _newsmemoryUtils.default.getHrStyle(box, article.getBoxesInfo(), size, true);

                    if (left === undefined || left > boxHr.start) {
                      left = boxHr.start;
                    }

                    if (right === undefined || right > size.width - (boxHr.start + boxHr.width)) {
                      right = size.width - (boxHr.start + boxHr.width);
                    }
                  });
                }
              });
              left = _$$_REQUIRE(_dependencyMap[25]).JSUtils.min(left, right);
            } catch (e) {}

            var pageViewSize = _newsmemoryUtils.default.getPageViewSize(firstPage, size, fitPageHorizontally, numberOfShowedPages);

            var scaledWidth = 0;

            if (pageViewSize) {
              scaledWidth = pageViewSize.scaledWidth;
            }

            if (!_$$_REQUIRE(_dependencyMap[25]).JSUtils.isNumber(left)) {
              left = scaledWidth / snapDivider;
            }

            left = _$$_REQUIRE(_dependencyMap[25]).JSUtils.min(scaledWidth / snapDivider, left);
          } catch (e) {}
        }

        left = _$$_REQUIRE(_dependencyMap[25]).JSUtils.min(left, size.width / 4);
        return left;
      }
    }, {
      key: "render",
      value: function render() {
        var _this7 = this;

        var _this$props8 = this.props,
            data = _this$props8.data,
            size = _this$props8.size,
            numberOfShowedPages = _this$props8.numberOfShowedPages,
            fitPageHorizontally = _this$props8.fitPageHorizontally,
            isSingleTapToZoomEnabled = _this$props8.isSingleTapToZoomEnabled,
            initialEvent = _this$props8.initialEvent,
            onLoaded = _this$props8.onLoaded;
        var firstPage = data[0];

        var pageViewSize = _newsmemoryUtils.default.getPageViewSize(firstPage, size, fitPageHorizontally, numberOfShowedPages);

        if (pageViewSize) {
          var scaledWidth = pageViewSize.scaledWidth,
              scaledHeight = pageViewSize.scaledHeight,
              maxZoom = pageViewSize.maxZoom;

          var graphUserScaleFactor = _newsmemoryUtils.default.getZoomingFactor();

          return _react.default.createElement(_zoomViewPager.default, {
            ref: function ref(_ref4) {
              _this7.pagesViewPager = _ref4;
            },
            isRtl: this._isRtl,
            size: size,
            contentSize: {
              width: scaledWidth,
              height: scaledHeight
            },
            data: data,
            fitX: fitPageHorizontally,
            nPages: this.pagesIndexMapping.length,
            numberOfShowedPages: numberOfShowedPages,
            initialPage: this.viewPagerPosition,
            minScale: MIN_ZOOM,
            maxScale: maxZoom * graphUserScaleFactor,
            dipsScale: this.getPageDips,
            snapSize: this._getSnapSize(),
            zoomingFactor: graphUserScaleFactor,
            singleTapToZoom: isSingleTapToZoomEnabled,
            twoFingerTapEnabled: this.isTwoFingersTapEnabled,
            onPageChange: this.onSwipe,
            onGestureStart: this.onGestureStart,
            onGestureEnd: this.onGestureEnd,
            onPanBottomReached: this.onPanBottomReached,
            onFit: this.onFit,
            onUnFit: this.onUnFit,
            onToggleFit: this.onToggleFit,
            onExtraTap: this.onExtraPress,
            onSingleTap: this.onSingleTap,
            onDoubleTap: this.onDoubleTap,
            onTwoFingersTap: this.onTwoFingersTap,
            onLongPress: this.onLongPress,
            onSwipeOnLastPage: this.onSwipeOnLastPage,
            clickPosition: initialEvent,
            isTablet: _$$_REQUIRE(_dependencyMap[25]).PlatformUtils.isTablet(),
            renderItem: this.renderItem,
            spinnerColor: _newsmemoryUtils.default.getSpinnerColor(),
            cssContainerClasses: ["newsmemory-pages-container"],
            onLoaded: onLoaded
          });
        }

        return null;
      }
    }]);
    return HorizontalPagesManager;
  }(_$$_REQUIRE(_dependencyMap[31]).Shortcut);

  exports.default = HorizontalPagesManager;
  HorizontalPagesManager.propTypes = (0, _extends2.default)({
    data: _propTypes.default.arrayOf(_propTypes.default.instanceOf(_Page.default)),
    newspaper: _propTypes.default.instanceOf(_NewspaperIssue.default).isRequired,
    size: _propTypes.default.shape({
      width: _propTypes.default.number,
      height: _propTypes.default.number
    }),
    textSize: _propTypes.default.shape({
      width: _propTypes.default.number,
      height: _propTypes.default.number
    }),
    firstPage: _propTypes.default.number,
    onLoaded: _propTypes.default.func.isRequired,
    onUnmounted: _propTypes.default.func.isRequired,
    onPageChange: _propTypes.default.func.isRequired,
    onPageLongPress: _propTypes.default.func.isRequired,
    onArticlePress: _propTypes.default.func.isRequired,
    onUnFit: _propTypes.default.func.isRequired,
    onScaleChange: _propTypes.default.func.isRequired,
    onPanChange: _propTypes.default.func.isRequired,
    navigation: _propTypes.default.shape({
      navigate: _propTypes.default.func
    }).isRequired,
    renderedPagesOffset: _propTypes.default.number,
    renderedLowPagesOffset: _propTypes.default.number,
    numberOfShowedPages: _propTypes.default.number,
    fitPageHorizontally: _propTypes.default.bool,
    getCurrentArticle: _propTypes.default.func.isRequired,
    isTextModeOpen: _propTypes.default.func,
    isReadMode: _propTypes.default.func,
    isSingleTapToZoomEnabled: _propTypes.default.func,
    articleClose: _propTypes.default.func,
    initialEvent: _propTypes.default.object,
    isLandscape: _propTypes.default.bool,
    highlightEnabled: _propTypes.default.bool
  }, _$$_REQUIRE(_dependencyMap[31]).Shortcut.propTypes);
  HorizontalPagesManager.defaultProps = (0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[31]).Shortcut.defaultProps, {
    firstPage: 0,
    renderedPagesOffset: 2,
    renderedLowPagesOffset: 3,
    numberOfShowedPages: 1,
    initialEvent: undefined
  });
},2396,[5,80,6,21,7,8,15,90,12,14,16,17,201,638,2397,640,641,603,460,1859,2407,2413,714,715,2165,462,572,1873,639,1889,1954,1911]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _pageViewComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _pageImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _pageTextComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _pageHighlightComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _pageExtraComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _adOverPage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _pageBorderView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _loginOverlay = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _morseView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[23]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PageView = function (_React$Component) {
    (0, _inherits2.default)(PageView, _React$Component);

    var _super = _createSuper(PageView);

    function PageView(props) {
      var _this;

      (0, _classCallCheck2.default)(this, PageView);
      _this = _super.call(this, props);
      _this.state = {
        hidePage: props.hidePage,
        showHR: props.showHR,
        showOnlyLow: props.showOnlyLow,
        zoom: props.zoom,
        visibleArea: {
          top: 0,
          left: 0,
          width: props.size.width,
          height: props.size.height
        },
        downloadIfMissing: props.downloadIfMissing
      };
      _this.status = {
        low: false,
        lowDownloading: false,
        lowDownloadAttempts: 0,
        graph: false,
        graphDownloading: false,
        graphDownloadAttempts: 0,
        text: false,
        textDownloading: false,
        textDownloadAttempts: 0,
        hr: false
      };
      _this.downloadMissingResource = _this._downloadMissingResource.bind((0, _assertThisInitialized2.default)(_this));
      _this.onBorderRef = _this._onBorderRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onExtraRef = _this._onExtraRef.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(PageView, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var onMounted = this.props.onMounted;

        if (typeof onMounted === "function") {
          onMounted();
        }
      }
    }, {
      key: "shouldComponentUpdate",
      value: function shouldComponentUpdate(nextProps, nextState) {
        return !_$$_REQUIRE(_dependencyMap[24]).JSUtils.equals(nextProps, this.props) || !_$$_REQUIRE(_dependencyMap[24]).JSUtils.equals(nextState, this.state);
      }
    }, {
      key: "_getPositionStyle",
      value: function _getPositionStyle(start, top) {
        return {
          start: start / 2,
          end: start / 2,
          top: top / 2,
          bottom: top / 2
        };
      }
    }, {
      key: "showHr",
      value: function showHr(params) {
        var x = params.x,
            scale = params.scale,
            downloadIfMissing = params.downloadIfMissing,
            width = params.width,
            height = params.height;
        var y = params.y;

        var _this$_getFitCoordina = this._getFitCoordinates(),
            top = _this$_getFitCoordina.top;

        y -= top / 2;
        var _this$state = this.state,
            hidePage = _this$state.hidePage,
            showOnlyLow = _this$state.showOnlyLow,
            showHR = _this$state.showHR,
            zoom = _this$state.zoom,
            visibleArea = _this$state.visibleArea;
        var visibleAreaChanged = visibleArea.top !== y || visibleArea.left !== x || visibleArea.width !== width || visibleArea.height !== height;
        var scaleChanged = zoom !== scale;
        var layerChanged = hidePage || showOnlyLow || !showHR;

        if (layerChanged || scaleChanged || visibleAreaChanged) {
          this.setState({
            hidePage: false,
            showOnlyLow: false,
            showHR: true,
            zoom: scale,
            visibleArea: {
              top: y,
              left: x,
              width: width,
              height: height
            },
            downloadIfMissing: downloadIfMissing
          });
        }
      }
    }, {
      key: "showLow",
      value: function showLow(downloadIfMissing) {
        var _this$state2 = this.state,
            hidePage = _this$state2.hidePage,
            showHR = _this$state2.showHR,
            showOnlyLow = _this$state2.showOnlyLow,
            prevDownloadIfMissing = _this$state2.downloadIfMissing;

        if (hidePage || showHR || showOnlyLow && !prevDownloadIfMissing && downloadIfMissing) {
          this.setState({
            hidePage: false,
            showHR: false,
            showOnlyLow: true,
            downloadIfMissing: downloadIfMissing === undefined ? prevDownloadIfMissing : downloadIfMissing
          });
        }
      }
    }, {
      key: "show",
      value: function show(downloadIfMissing) {
        var _this$state3 = this.state,
            hidePage = _this$state3.hidePage,
            showHR = _this$state3.showHR,
            showOnlyLow = _this$state3.showOnlyLow,
            prevDownloadIfMissing = _this$state3.downloadIfMissing;

        if (hidePage || showHR || showOnlyLow || !showOnlyLow && !prevDownloadIfMissing && downloadIfMissing) {
          this.setState({
            hidePage: false,
            showHR: false,
            showOnlyLow: false,
            downloadIfMissing: downloadIfMissing === undefined ? prevDownloadIfMissing : downloadIfMissing
          });
        }
      }
    }, {
      key: "hide",
      value: function hide() {
        var hidePage = this.state.hidePage;

        if (!hidePage) {
          this.setState({
            hidePage: true,
            showHR: false,
            showOnlyLow: false
          });
        }
      }
    }, {
      key: "showBorder",
      value: function showBorder() {
        var hidePage = this.state.hidePage;

        if (!hidePage && this.borderRef) {
          this.borderRef.show();
        }
      }
    }, {
      key: "hideBorder",
      value: function hideBorder() {
        var hidePage = this.state.hidePage;

        if (!hidePage && this.borderRef) {
          this.borderRef.hide();
        }
      }
    }, {
      key: "hasExtraForEvent",
      value: function hasExtraForEvent(event, defaultCallback) {
        if (this.extraRef) {
          return this.extraRef.hasExtraForEvent(event, defaultCallback);
        }

        return false;
      }
    }, {
      key: "_onExtraRef",
      value: function _onExtraRef(ref) {
        this.extraRef = ref;
      }
    }, {
      key: "_onBorderRef",
      value: function _onBorderRef(ref) {
        this.borderRef = ref;
      }
    }, {
      key: "_showEinkCompleteHighResolution",
      value: function _showEinkCompleteHighResolution(pageSize) {
        var _global$getActivePSet = global.getActivePSetup(),
            einkCompleteHrFactor = _global$getActivePSet.einkCompleteHrFactor;

        return !_$$_REQUIRE(_dependencyMap[24]).PlatformUtils.isEInk() || this._showByFactor(pageSize, einkCompleteHrFactor);
      }
    }, {
      key: "_showHighResolution",
      value: function _showHighResolution(pageSize) {
        var _global$getActivePSet2 = global.getActivePSetup(),
            hrFactor = _global$getActivePSet2.hrFactor;

        return this._showByFactor(pageSize, hrFactor);
      }
    }, {
      key: "_showPdf",
      value: function _showPdf(pageSize) {
        var isLandscape = this.props.isLandscape;

        var _global$getActivePSet3 = global.getActivePSetup(),
            pdfFactor = _global$getActivePSet3.pdfFactor,
            pdfFactorLandscape = _global$getActivePSet3.pdfFactorLandscape;

        return this._showByFactor(pageSize, isLandscape ? pdfFactorLandscape : pdfFactor);
      }
    }, {
      key: "_showByFactor",
      value: function _showByFactor(pageSize, factor) {
        var _this$props = this.props,
            newspaper = _this$props.newspaper,
            page = _this$props.page,
            size = _this$props.size,
            textSize = _this$props.textSize,
            isLandscape = _this$props.isLandscape;
        var _this$state4 = this.state,
            zoom = _this$state4.zoom,
            showHR = _this$state4.showHR;
        var multiplier = page.isDoubleTruck() ? 2 : 1;
        var pagesViewWidth = size.width;

        if (isLandscape && textSize) {
          pagesViewWidth += textSize.width;
        }

        var resolutionFactor = Math.ceil(pageSize.width) * zoom / (pagesViewWidth * multiplier);
        resolutionFactor = parseFloat(resolutionFactor.toFixed(1));
        var isContentWidthEnough = resolutionFactor >= factor;

        if (_newsmemoryUtils.default.isModeLow(newspaper && newspaper.getDbNetwork()) || !_$$_REQUIRE(_dependencyMap[24]).PlatformUtils.isTablet()) {
          isContentWidthEnough = resolutionFactor > factor;
        }

        return showHR && isContentWidthEnough;
      }
    }, {
      key: "_getFitInfo",
      value: function _getFitInfo(width, height, pageWidth, pageHeight) {
        var scale;
        var fitProp;
        var scaleX = pageWidth > 0 ? width / pageWidth : 1;
        var scaleY = pageHeight > 0 ? height / pageHeight : 1;

        if (scaleX < scaleY) {
          scale = scaleX;
          fitProp = {
            width: width
          };
        } else {
          scale = scaleY;
          fitProp = {
            height: height
          };
        }

        return {
          scale: scale,
          fitProp: fitProp
        };
      }
    }, {
      key: "_getFitCoordinates",
      value: function _getFitCoordinates() {
        var _this$props2 = this.props,
            size = _this$props2.size,
            slotSize = _this$props2.slotSize,
            page = _this$props2.page,
            newspaper = _this$props2.newspaper;
        var edition = newspaper && newspaper.getEditionModel();

        var _NewsmemoryUtils$getP = _newsmemoryUtils.default.getPageSizeFixed(edition, page),
            pageWidth = _NewsmemoryUtils$getP.pageWidth,
            pageHeight = _NewsmemoryUtils$getP.pageHeight;

        var pageSize = (0, _extends2.default)({}, slotSize);

        if (page.isDoubleTruck()) {
          pageSize.width *= 2;
        }

        var viewSize = (0, _extends2.default)({}, pageSize);

        var _this$_getFitInfo = this._getFitInfo(pageSize.width, pageSize.height, pageWidth, pageHeight),
            scale = _this$_getFitInfo.scale,
            fitProp = _this$_getFitInfo.fitProp;

        var scaledHeight = pageHeight * scale;
        var scaledWidth = pageWidth * scale;
        var start = Math.max(pageSize.width - scaledWidth, 0);
        var top = 0;

        if (scaledHeight < size.height) {
          top = size.height - scaledHeight;
        } else if (scaledHeight < pageSize.height) {
          top = 0;
        } else {
          top = pageSize.height - scaledHeight;
        }

        return {
          start: start,
          top: Math.max(top, 0),
          scaledHeight: scaledHeight,
          scaledWidth: scaledWidth,
          scale: scale,
          fitProp: fitProp,
          viewSize: viewSize,
          pageSize: pageSize,
          pageWidth: pageWidth,
          pageHeight: pageHeight
        };
      }
    }, {
      key: "checkDownloadStatus",
      value: function checkDownloadStatus() {
        var page = this.props.page;

        var lowFailed = this.status.lowDownloadAttempts === _$$_REQUIRE(_dependencyMap[25]).MAX_DOWNLOAD_ATTEMPTS;

        var graphFailed = this.status.graphDownloadAttempts === _$$_REQUIRE(_dependencyMap[25]).MAX_DOWNLOAD_ATTEMPTS;

        var textFailed = this.status.textDownloadAttempts === _$$_REQUIRE(_dependencyMap[25]).MAX_DOWNLOAD_ATTEMPTS;

        if (page.getLowImage() || lowFailed) {
          this.status.low = true;
          this.status.lowDownloading = false;

          if (page.getGraphImage() && page.getTextImage()) {
            this.status.hr = true;
            this.status.graph = true;
            this.status.text = true;
          } else {
            if (!page.getTextImage()) {
              if (!this.status.textDownloading && !textFailed) {
                this.status.textDownloading = this._downloadMissingResource(_$$_REQUIRE(_dependencyMap[26]).EPaperImageType.TEXT);
                this.status.textDownloadAttempts += 1;
              }
            } else {
              this.status.text = true;
              this.status.textDownloading = false;
            }

            if (!page.getGraphImage()) {
              if (!this.status.graphDownloading && !graphFailed) {
                this.status.graphDownloading = this._downloadMissingResource(_$$_REQUIRE(_dependencyMap[26]).EPaperImageType.GRAPH);
                this.status.graphDownloadAttempts += 1;
              }
            } else {
              this.status.graph = true;
              this.status.graphDownloading = false;
            }
          }
        } else if (!this.status.lowDownloading) {
          this.status.lowDownloading = this._downloadMissingResource(_$$_REQUIRE(_dependencyMap[26]).EPaperImageType.LOW);
          this.status.lowDownloadAttempts += 1;
        }

        return this.status;
      }
    }, {
      key: "_downloadMissingResource",
      value: function _downloadMissingResource(type) {
        var _this2 = this;

        var page = this.props.page;
        var downloadIfMissing = this.state.downloadIfMissing;

        if (downloadIfMissing) {
          _$$_REQUIRE(_dependencyMap[27]).EventRegister.emit(_events.default.NEWSMEMORY_REQUEST_DOWNLOAD_IMAGE, {
            pageId: page.getPageId(),
            pageFileName: page.getFilename(),
            type: type,
            callback: function callback() {
              return _this2.forceUpdate();
            }
          });

          return true;
        }

        return false;
      }
    }, {
      key: "changeLoginOverlayPosition",
      value: function changeLoginOverlayPosition(position) {
        var page = this.props.page;

        if (this.loginOverlayRef && page.isDoubleTruck()) {
          this.loginOverlayRef.changeContainerStyle(position);
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this3 = this;

        var _this$props3 = this.props,
            showOnlyMid = _this$props3.showOnlyMid,
            newspaper = _this$props3.newspaper,
            page = _this$props3.page,
            navigation = _this$props3.navigation,
            getCurrentArticle = _this$props3.getCurrentArticle,
            pdfThumbnailRatio = _this$props3.pdfThumbnailRatio,
            forceHighlight = _this$props3.forceHighlight,
            showBorder = _this$props3.showBorder,
            highlightEnabled = _this$props3.highlightEnabled,
            loginOverlayPosition = _this$props3.loginOverlayPosition;
        var _this$state5 = this.state,
            showHR = _this$state5.showHR,
            hidePage = _this$state5.hidePage,
            showOnlyLow = _this$state5.showOnlyLow,
            zoom = _this$state5.zoom,
            visibleArea = _this$state5.visibleArea,
            downloadIfMissing = _this$state5.downloadIfMissing;

        var _global$getActivePSet4 = global.getActivePSetup(),
            loginStatus = _global$getActivePSet4.loginStatus,
            morseTAUID = _global$getActivePSet4.morseTAUID;

        var _this$_getFitCoordina2 = this._getFitCoordinates(),
            start = _this$_getFitCoordina2.start,
            top = _this$_getFitCoordina2.top,
            scaledHeight = _this$_getFitCoordina2.scaledHeight,
            scaledWidth = _this$_getFitCoordina2.scaledWidth,
            fitProp = _this$_getFitCoordina2.fitProp,
            viewSize = _this$_getFitCoordina2.viewSize,
            pageSize = _this$_getFitCoordina2.pageSize;

        pageSize.width = scaledWidth;
        pageSize.height = scaledHeight;
        this.margins = this._getPositionStyle(start, top);

        var showHighResolution = this._showHighResolution(pageSize);

        var showEinkCompleteHighResolution = this._showEinkCompleteHighResolution(pageSize);

        var showPdf = this._showPdf(pageSize);

        var children = null;

        if (!hidePage) {
          children = [];

          var _this$checkDownloadSt = this.checkDownloadStatus(),
              low = _this$checkDownloadSt.low,
              graph = _this$checkDownloadSt.graph,
              text = _this$checkDownloadSt.text,
              hr = _this$checkDownloadSt.hr;

          if (low) {
            children.push(_react.default.createElement(_pageImage.default, (0, _extends2.default)({
              key: "low",
              type: _$$_REQUIRE(_dependencyMap[26]).EPaperImageType.LOW,
              page: page,
              style: [_pageViewComponent.default.page, pageSize]
            }, fitProp)));

            if (!showOnlyLow) {
              if (graph) {
                children.push(_react.default.createElement(_pageImage.default, (0, _extends2.default)({
                  key: "graph",
                  type: _$$_REQUIRE(_dependencyMap[26]).EPaperImageType.GRAPH,
                  page: page,
                  style: [_pageViewComponent.default.page, pageSize]
                }, fitProp)));
              }

              if (text && newspaper) {
                children.push(_react.default.createElement(_pageTextComponent.default, {
                  key: "hr",
                  pdfThumbnailRatio: pdfThumbnailRatio,
                  showHr: !showOnlyMid && showHighResolution && hr,
                  showEinkHr: showEinkCompleteHighResolution,
                  showPdf: !showOnlyMid && showPdf,
                  newspaper: newspaper,
                  page: page,
                  size: pageSize,
                  visibleArea: visibleArea,
                  zoom: zoom,
                  style: [_pageViewComponent.default.page, pageSize],
                  enablePNGGeneration: downloadIfMissing,
                  fitProp: fitProp
                }));
              }
            }

            if (morseTAUID && newspaper) {
              children.push(_react.default.createElement(_morseView.default, {
                key: "morse",
                edition: newspaper.getEditionModel(),
                page: page,
                zoom: zoom,
                style: [_pageViewComponent.default.page, pageSize]
              }));
            }

            if ((!showOnlyMid && !showOnlyLow || forceHighlight) && highlightEnabled) {
              children.push(_react.default.createElement(_pageHighlightComponent.default, {
                key: "highlight",
                size: pageSize,
                style: [_pageViewComponent.default.page, pageSize],
                page: page,
                getCurrentArticle: getCurrentArticle
              }));
            }

            if (!showOnlyMid && !showOnlyLow && newspaper) {
              children.push(_react.default.createElement(_pageExtraComponent.default, {
                key: "extra",
                ref: this.onExtraRef,
                navigation: navigation,
                edition: newspaper.getEditionModel(),
                size: pageSize,
                pageSize: pageSize,
                zoom: zoom,
                style: [_pageViewComponent.default.page, pageSize],
                page: page,
                getCurrentArticle: getCurrentArticle
              }));
            }

            if (showHR && !showOnlyMid) {
              children.push(_react.default.createElement(_adOverPage.default, {
                key: "adOverPage",
                page: page,
                style: [_pageViewComponent.default.page, pageSize]
              }));
            }

            if (page.isProtected()) {
              var width = pageSize.width,
                  height = pageSize.height;
              var containerWidth = page.isDoubleTruck() ? width / 2 : width;
              children.push(_react.default.createElement(_reactNative.View, {
                style: _pageViewComponent.default.page,
                key: "loginOverlay"
              }, _react.default.createElement(_loginOverlay.default, {
                ref: function ref(_ref) {
                  _this3.loginOverlayRef = _ref;
                },
                style: {
                  width: width,
                  height: height,
                  position: "absolute"
                },
                containerStyle: {
                  width: containerWidth
                },
                containerPosition: loginOverlayPosition,
                title: global.strings("msg_access_reserved"),
                showLogin: !loginStatus.isLoggedIn()
              })));
            }

            if (showBorder) {
              children.push(_react.default.createElement(_pageBorderView.default, {
                key: "border",
                ref: this.onBorderRef,
                style: {
                  height: pageSize.height
                }
              }));
            }
          }
        }

        return _react.default.createElement(_reactNative.View, {
          style: [viewSize, this.margins, _pageViewComponent.default.parent]
        }, children);
      }
    }]);
    return PageView;
  }(_react.default.Component);

  exports.default = PageView;
  PageView.propTypes = {
    newspaper: _propTypes.default.instanceOf(_NewspaperIssue.default).isRequired,
    page: _propTypes.default.instanceOf(_Page.default).isRequired,
    size: _propTypes.default.shape({
      width: _propTypes.default.number,
      height: _propTypes.default.number
    }),
    textSize: _propTypes.default.shape({
      width: _propTypes.default.number,
      height: _propTypes.default.number
    }),
    slotSize: _propTypes.default.shape({
      width: _propTypes.default.number,
      height: _propTypes.default.number
    }),
    showHR: _propTypes.default.bool,
    showOnlyLow: _propTypes.default.bool,
    showOnlyMid: _propTypes.default.bool,
    hidePage: _propTypes.default.bool,
    zoom: _propTypes.default.number,
    pdfThumbnailRatio: _propTypes.default.number,
    position: _propTypes.default.string,
    navigation: _propTypes.default.shape({
      navigate: _propTypes.default.func
    }),
    getCurrentArticle: _propTypes.default.func,
    onMounted: _propTypes.default.func,
    isLandscape: _propTypes.default.bool,
    forceHighlight: _propTypes.default.bool,
    downloadIfMissing: _propTypes.default.bool,
    showBorder: _propTypes.default.bool,
    highlightEnabled: _propTypes.default.bool,
    loginOverlayPosition: _propTypes.default.string
  };
  PageView.defaultProps = {
    showHR: false,
    hidePage: false,
    showOnlyLow: false,
    showOnlyMid: false,
    forceHighlight: false,
    zoom: 1,
    downloadIfMissing: true,
    highlightEnabled: true,
    position: _$$_REQUIRE(_dependencyMap[28]).PageViewPosition.CENTER,
    showBorder: false,
    loginOverlayPosition: _$$_REQUIRE(_dependencyMap[28]).PageViewPosition.CENTER
  };
},2397,[5,6,7,8,15,12,14,16,17,201,28,638,2398,2399,2400,2403,2169,603,714,460,2404,2405,2180,2406,462,586,587,572,715]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    parent: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.transparent
    },
    page: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.transparent,
      position: "absolute",
      top: 0,
      start: 0,
      end: 0,
      bottom: 0
    },
    loginOverlayButtonParent: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white
    },
    loginOverlayButton: {
      color: _$$_REQUIRE(_dependencyMap[1]).colors.black
    }
  });

  exports.default = _default;
},2398,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _EPaperImage = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PageImage = function (_React$PureComponent) {
    (0, _inherits2.default)(PageImage, _React$PureComponent);

    var _super = _createSuper(PageImage);

    function PageImage() {
      (0, _classCallCheck2.default)(this, PageImage);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(PageImage, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            page = _this$props.page,
            type = _this$props.type,
            showProp = _this$props.show,
            rest = (0, _objectWithoutProperties2.default)(_this$props, ["page", "type", "show"]);

        var baseLocalPath = _tecnaviaFileUtils.default.getNewsmemoryBaseDirectory();

        var image = page.getImageByType(type);

        if (image) {
          var path = baseLocalPath + "/" + image.getBase64();
          var source = {
            uri: "file://" + path
          };
          var patch = {};

          if (_$$_REQUIRE(_dependencyMap[13]).PlatformUtils.isIOS() && image.isTextGIF()) {
            patch.defaultSource = source;
          }

          return _react.default.createElement(_imageComponent.default, (0, _extends2.default)({
            key: path,
            source: source
          }, patch, {
            resizeMode: "stretch",
            resizeMethod: "scale"
          }, rest));
        }

        return type === _EPaperImage.EPaperImageType.LOW ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).ProgressCircle, null) : null;
      }
    }]);
    return PageImage;
  }(_react.default.PureComponent);

  exports.default = PageImage;
  PageImage.propTypes = {
    show: _propTypes.default.bool,
    page: _propTypes.default.object,
    type: _propTypes.default.string
  };
  PageImage.defaultProps = {
    show: true
  };
},2399,[5,6,108,7,8,12,14,16,17,201,587,574,588,462,1953]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _pdfComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _EPaperImage = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[13]));

  var _pageImage = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _pageHrComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var FADE_ANIMATION_DURATION = 100;

  var PageText = function (_React$Component) {
    (0, _inherits2.default)(PageText, _React$Component);

    var _super = _createSuper(PageText);

    function PageText(props) {
      var _this;

      (0, _classCallCheck2.default)(this, PageText);
      _this = _super.call(this, props);
      _this.pngRequested = false;
      _this.pngFade = new _reactNative.Animated.Value(1);
      _this.pdfFade = new _reactNative.Animated.Value(0.01);
      _this.onPdfDrawn = _this._onPdfDrawn.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        showPng: true,
        forcePdf: false,
        enablePNGGeneration: props.enablePNGGeneration
      };
      return _this;
    }

    (0, _createClass2.default)(PageText, [{
      key: "componentDidUpdate",
      value: function componentDidUpdate() {
        var showPdf = this.props.showPdf;
        var showPng = this.state.showPng;

        if (showPng && !showPdf && this.animations) {
          this.animations.stop();
          this.animations = undefined;
        }

        if (!this.animations) {
          var needToShowPng = showPng || !showPdf;
          var pngFadeValue = needToShowPng ? 1 : 0;
          var pdfFadeValue = showPng ? 0.01 : 1;
          this.pngFade.setValue(pngFadeValue);
          this.pdfFade.setValue(pdfFadeValue);
        }
      }
    }, {
      key: "_askPNGGeneration",
      value: function _askPNGGeneration() {
        var _this2 = this;

        var enablePNGGeneration = this.state.enablePNGGeneration;

        if (enablePNGGeneration && !this.pngRequested) {
          var _this$props = this.props,
              newspaper = _this$props.newspaper,
              page = _this$props.page;

          _$$_REQUIRE(_dependencyMap[19]).EventRegister.emit(_events.default.NEWSMEMORY_GENERATE_PNG, {
            issue: newspaper.getIssue(),
            edition: newspaper.getEdition(),
            pageId: page.getPageId(),
            pageFileName: page.getFilename(),
            callback: function callback(image) {
              _this2.pngRequested = false;

              if (image) {
                _this2.forceUpdate();
              } else {
                _this2.attempt += 1;

                if (_this2.attempt < _$$_REQUIRE(_dependencyMap[20]).MAX_PNG_GENERATION_ATTEMPTS) {
                  _this2._askPNGGeneration();
                } else {
                  _this2.setState({
                    showPng: false,
                    forcePdf: true
                  });
                }
              }
            }
          });

          this.pngRequested = true;
        }
      }
    }, {
      key: "_onPdfDrawn",
      value: function _onPdfDrawn() {
        var _this3 = this;

        var _this$props2 = this.props,
            page = _this$props2.page,
            showPdf = _this$props2.showPdf;
        var _this$state = this.state,
            showPng = _this$state.showPng,
            forcePdf = _this$state.forcePdf;

        if (showPng && (showPdf || forcePdf) && !this.animations) {
          var animations = [];
          animations.push(_reactNative.Animated.timing(this.pngFade, {
            toValue: 0,
            duration: FADE_ANIMATION_DURATION,
            useNativeDriver: true
          }));
          animations.push(_reactNative.Animated.timing(this.pdfFade, {
            toValue: 1,
            duration: FADE_ANIMATION_DURATION,
            useNativeDriver: true
          }));
          this.animations = _reactNative.Animated.parallel(animations);
          this.animations.start(function (_ref) {
            var finished = _ref.finished;

            if (finished) {
              _this3.animations = undefined;

              _this3.setState({
                showPng: false
              });
            }
          });
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this4 = this;

        var _this$state2 = this.state,
            showPng = _this$state2.showPng,
            forcePdf = _this$state2.forcePdf;
        var _this$props3 = this.props,
            visibleArea = _this$props3.visibleArea,
            showPdf = _this$props3.showPdf,
            showHr = _this$props3.showHr,
            zoom = _this$props3.zoom,
            newspaper = _this$props3.newspaper,
            page = _this$props3.page,
            fitWidth = _this$props3.fitWidth,
            style = _this$props3.style,
            size = _this$props3.size,
            pdfThumbnailRatio = _this$props3.pdfThumbnailRatio,
            fitProp = _this$props3.fitProp;

        var baseLocalPath = _tecnaviaFileUtils.default.getNewsmemoryBaseDirectory();

        var textImage = page.getTextImage();
        var pngImage = page.getPNGImage();
        var edition = newspaper && newspaper.getEditionModel();
        var children = [];
        var displayPng = pngImage && showPng;
        var displayPdf = textImage && textImage.isTextPDF() && (showPdf || forcePdf);
        var displayGif = textImage && textImage.isTextGIF();
        var generatePng = !displayPdf && !displayGif && showPng && !pngImage;

        if (generatePng) {
          this._askPNGGeneration();
        }

        if (displayGif) {
          children.push(_react.default.createElement(_pageImage.default, (0, _extends2.default)({
            key: "gif",
            type: _EPaperImage.EPaperImageType.TEXT,
            page: page,
            style: style,
            visibleArea: visibleArea
          }, fitProp)));
        }

        if (showHr && newspaper) {
          children.push(_react.default.createElement(_pageHrComponent.default, {
            ref: function ref(_ref2) {
              _this4.hrRef = _ref2;
            },
            key: "hr",
            size: size,
            fitWidth: fitWidth,
            style: style,
            newspaper: newspaper,
            issue: edition.getIssue(),
            page: page,
            visibleArea: visibleArea
          }));
        }

        if (displayPng) {
          children.push(_react.default.createElement(_reactNative.Animated.View, {
            key: "png",
            style: {
              opacity: this.pngFade
            }
          }, _react.default.createElement(_pageImage.default, (0, _extends2.default)({
            ref: function ref(_ref3) {
              _this4.pngRef = _ref3;
            },
            type: _EPaperImage.EPaperImageType.PNG,
            page: page,
            style: style
          }, fitProp))));
        }

        if (displayPdf) {
          children.push(_react.default.createElement(_reactNative.Animated.View, {
            key: "pdf",
            style: {
              opacity: this.pdfFade
            }
          }, _react.default.createElement(_pdfComponent.default, {
            ref: function ref(_ref4) {
              _this4.pdfRef = _ref4;
            },
            size: size,
            zoom: zoom,
            thumbnailRatio: pdfThumbnailRatio,
            enableThumbnail: true,
            visibleArea: visibleArea,
            onPdfDrawn: this.onPdfDrawn,
            path: baseLocalPath + "/" + textImage.getBase64(),
            style: style
          })));
        }

        if (global.isLayoutDebug) {
          children.push(_react.default.createElement(_reactNative.View, {
            style: (0, _extends2.default)({
              position: "absolute"
            }, visibleArea, {
              borderWidth: 2,
              borderColor: "#00F"
            })
          }));
        }

        return _react.default.createElement(_reactNative.View, {
          style: style
        }, children);
      }
    }], [{
      key: "getDerivedStateFromProps",
      value: function getDerivedStateFromProps(props, state) {
        var needToShowPng = state.showPng || !props.showPdf;
        var newState = {
          showPng: needToShowPng,
          enablePNGGeneration: props.enablePNGGeneration
        };
        return newState;
      }
    }]);
    return PageText;
  }(_react.default.Component);

  exports.default = PageText;
  PageText.propTypes = {
    newspaper: _propTypes.default.instanceOf(_NewspaperIssue.default).isRequired,
    page: _propTypes.default.instanceOf(_Page.default).isRequired,
    zoom: _propTypes.default.number,
    size: _propTypes.default.shape({
      width: _propTypes.default.number,
      height: _propTypes.default.number
    }),
    fitWidth: _propTypes.default.bool,
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array, _propTypes.default.number]),
    pdfThumbnailRatio: _propTypes.default.number,
    showHr: _propTypes.default.bool,
    showPdf: _propTypes.default.bool,
    fitProp: _propTypes.default.object,
    visibleArea: _propTypes.default.shape({
      width: _propTypes.default.number,
      height: _propTypes.default.number,
      top: _propTypes.default.number,
      left: _propTypes.default.number
    }),
    enablePNGGeneration: _propTypes.default.bool
  };
},2400,[5,6,7,8,15,12,14,16,17,201,2401,28,638,587,2399,460,2402,574,714,572,586]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PdfComponent;

  var Pdf = function (_React$Component) {
    (0, _inherits2.default)(Pdf, _React$Component);

    var _super = _createSuper(Pdf);

    function Pdf(props) {
      var _this;

      (0, _classCallCheck2.default)(this, Pdf);
      _this = _super.call(this, props);
      _this.pdfComponentName = _reactNative.Platform.select({
        android: "RCTPdf",
        ios: "RCTPdfView"
      });

      if (!PdfComponent) {
        PdfComponent = (0, _reactNative.requireNativeComponent)(_this.pdfComponentName, Pdf, {
          nativeOnly: {
            path: true,
            onChange: true
          }
        });
      }

      _this.onPdfLoaded = _this._onPdfLoaded.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPdfError = _this._onPdfError.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPdfDrawn = _this._onPdfDrawn.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(Pdf, [{
      key: "shouldComponentUpdate",
      value: function shouldComponentUpdate(nextProps) {
        var _this$props = this.props,
            zoom = _this$props.zoom,
            size = _this$props.size,
            visibleArea = _this$props.visibleArea;

        if (nextProps.zoom !== zoom) {
          return true;
        }

        if (!_$$_REQUIRE(_dependencyMap[12]).JSUtils.areEqualShallow(nextProps.size, size)) {
          return true;
        }

        if (!_$$_REQUIRE(_dependencyMap[12]).JSUtils.areEqualShallow(nextProps.visibleArea, visibleArea)) {
          return true;
        }

        return false;
      }
    }, {
      key: "_onPdfLoaded",
      value: function _onPdfLoaded() {
        var onPdfLoaded = this.props.onPdfLoaded;

        if (typeof onPdfLoaded === "function") {
          onPdfLoaded();
        }
      }
    }, {
      key: "_onPdfError",
      value: function _onPdfError() {
        var onPdfError = this.props.onPdfError;

        if (typeof onPdfError === "function") {
          onPdfError();
        }
      }
    }, {
      key: "_onPdfDrawn",
      value: function _onPdfDrawn() {
        var onPdfDrawn = this.props.onPdfDrawn;

        if (typeof onPdfDrawn === "function") {
          onPdfDrawn();
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props2 = this.props,
            onPdfLoaded = _this$props2.onPdfLoaded,
            onPdfError = _this$props2.onPdfError,
            onPdfDrawn = _this$props2.onPdfDrawn,
            visibleArea = _this$props2.visibleArea,
            scale = _this$props2.zoom,
            rest = (0, _objectWithoutProperties2.default)(_this$props2, ["onPdfLoaded", "onPdfError", "onPdfDrawn", "visibleArea", "zoom"]);
        return _react.default.createElement(PdfComponent, (0, _extends2.default)({
          ref: function ref(component) {
            _this2._root = component;
          }
        }, rest, {
          scale: scale,
          offsetX: visibleArea.left || 0,
          offsetY: visibleArea.top || 0,
          visibleWidth: visibleArea.width || 0,
          visibleHeight: visibleArea.height || 0,
          onPdfLoaded: this.onPdfLoaded,
          onPdfError: this.onPdfError,
          onPdfDrawn: this.onPdfDrawn
        }));
      }
    }]);
    return Pdf;
  }(_react.default.Component);

  exports.default = Pdf;
  Pdf.propTypes = (0, _extends2.default)({}, _reactNative.ViewPropTypes, {
    thumbnailRatio: _propTypes.default.number,
    size: _propTypes.default.shape({
      width: _propTypes.default.number,
      height: _propTypes.default.number
    }),
    visibleArea: _propTypes.default.shape({
      width: _propTypes.default.number,
      height: _propTypes.default.number,
      top: _propTypes.default.number,
      left: _propTypes.default.number
    }),
    path: _propTypes.default.string,
    asset: _propTypes.default.string,
    page: _propTypes.default.number,
    zoom: _propTypes.default.number,
    onLayout: _propTypes.default.bool,
    isDoubleTruck: _propTypes.default.bool,
    blackAndWhite: _propTypes.default.bool,
    onPdfDrawn: _propTypes.default.func,
    onPdfError: _propTypes.default.func,
    onPdfLoaded: _propTypes.default.func,
    enableThumbnail: _propTypes.default.bool
  });
  Pdf.defaultProps = {
    zoom: 1,
    page: 0,
    thumbnailRatio: 1,
    blackAndWhite: false,
    enableThumbnail: false
  };
},2401,[5,6,108,7,8,15,12,14,16,17,201,28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _EPaperImage = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[14]));

  var _hrContainerComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PageHr = function (_React$Component) {
    (0, _inherits2.default)(PageHr, _React$Component);

    var _super = _createSuper(PageHr);

    function PageHr(props) {
      var _this;

      (0, _classCallCheck2.default)(this, PageHr);
      _this = _super.call(this, props);

      _this._updateBoxes(props);

      return _this;
    }

    (0, _createClass2.default)(PageHr, [{
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(nextProps) {
        this._updateBoxes(nextProps);
      }
    }, {
      key: "shouldComponentUpdate",
      value: function shouldComponentUpdate(nextProps) {
        var currentVisibleArea = this.props.visibleArea;
        return !_$$_REQUIRE(_dependencyMap[16]).JSUtils.equals(nextProps.visibleArea, currentVisibleArea);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[17]).EventRegister.emit(_events.default.NEWSMEMORY_CLEAR_HIGH_RES_QUEUE);
      }
    }, {
      key: "_getHrScale",
      value: function _getHrScale(props) {
        if (this.data && this.data.length > 0) {
          var size = props.size,
              fitWidth = props.fitWidth;
          return _newsmemoryUtils.default.getHrScale(this.data[0].boxesInfo, size, fitWidth);
        }

        return 1;
      }
    }, {
      key: "_updateBoxes",
      value: function _updateBoxes(props) {
        this.data = _newsmemoryUtils.default.allPageArticlesHrImages(props.page, props.showAll);
        this.hrScale = this._getHrScale(props);
        this.visibleBoxes = this._getVisibleBoxes(props);
      }
    }, {
      key: "_boxIntersectVisibleArea",
      value: function _boxIntersectVisibleArea(visibleArea, box) {
        var top = visibleArea.top,
            left = visibleArea.left,
            width = visibleArea.width,
            height = visibleArea.height;
        return !(box.start >= left + width || box.start + box.width <= left || box.top >= top + height || box.top + box.height <= top);
      }
    }, {
      key: "_getVisibleBoxes",
      value: function _getVisibleBoxes(props) {
        var _this2 = this;

        var boxesToRender = [];
        var visibleArea = props.visibleArea;

        if (this.data) {
          this.data.forEach(function (item) {
            var xmlId = item.xmlId,
                boxes = item.boxes,
                boxesInfo = item.boxesInfo;
            boxes.forEach(function (boxItem) {
              var box = boxItem.box,
                  graph = boxItem.graph,
                  text = boxItem.text;

              var boxStyle = _newsmemoryUtils.default.getHrStyle(box, boxesInfo);

              var coordinates = {
                top: boxStyle.top * _this2.hrScale,
                start: boxStyle.start * _this2.hrScale,
                width: boxStyle.width * _this2.hrScale,
                height: boxStyle.height * _this2.hrScale
              };

              if (!visibleArea || _this2._boxIntersectVisibleArea(visibleArea, coordinates)) {
                boxesToRender.push({
                  key: "hr_" + xmlId + "_" + box.getId(),
                  boxStyle: boxStyle,
                  useImageDimensions: _newsmemoryUtils.default.isBorderBoxToFix(box, boxesInfo),
                  xmlId: xmlId,
                  boxId: box.getId(),
                  path: graph ? graph.getBase64() : undefined,
                  pathText: text ? text.getBase64() : undefined
                });
              }
            });
          });
        }

        return boxesToRender;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            issue = _this$props.issue,
            page = _this$props.page,
            style = _this$props.style,
            visibleArea = _this$props.visibleArea,
            newspaper = _this$props.newspaper,
            _this$props$hrProps = _this$props.hrProps,
            hrProps = _this$props$hrProps === undefined ? {} : _this$props$hrProps,
            size = _this$props.size;
        var textImage = page.getImageByType(_EPaperImage.EPaperImageType.TEXT);
        var hasGif = textImage && textImage.isTextGIF();
        var hrZip = page.getHrZip();
        var translateFactor = (this.hrScale - 1) / 2;
        var translateX = size.width * translateFactor;
        var translateY = size.height * translateFactor;
        return _react.default.createElement(_reactNative.View, {
          style: [style, {
            transform: [{
              translateX: translateX
            }, {
              translateY: translateY
            }, {
              scale: this.hrScale
            }]
          }]
        }, this.visibleBoxes.map(function (item) {
          var boxStyle = item.boxStyle,
              boxId = item.boxId,
              xmlId = item.xmlId,
              useImageDimensions = item.useImageDimensions;
          var commonProps = (0, _extends2.default)({
            style: [{
              position: "absolute"
            }, boxStyle],
            issue: issue,
            newspaper: newspaper,
            page: page,
            edition: page.getEdition(),
            pageId: page.getPageId(),
            boxId: boxId,
            xmlId: xmlId,
            zipGraphArchivePath: hrZip ? hrZip.getBase64() : undefined,
            useImageDimensions: useImageDimensions
          }, hrProps);
          var borderColor = boxId % 2 === 0 ? "#FD0" : "#0FD";

          if (useImageDimensions) {
            borderColor = "#F00";
          }

          return _react.default.createElement(_react.default.Fragment, {
            key: "fragment_" + item.key
          }, _react.default.createElement(_hrContainerComponent.default, (0, _extends2.default)({
            item: item,
            showAll: hasGif
          }, commonProps)), global.isLayoutDebug ? _react.default.createElement(_reactNative.View, {
            style: [{
              borderWidth: 1,
              borderColor: borderColor,
              zIndex: 10
            }, commonProps.style]
          }, _react.default.createElement(_reactNative.Text, {
            style: {
              fontSize: 10,
              textAlign: "center"
            }
          }, xmlId + "_" + boxId)) : null);
        }), global.isLayoutDebug ? _react.default.createElement(_reactNative.View, {
          style: (0, _extends2.default)({
            position: "absolute"
          }, visibleArea, {
            borderWidth: 3,
            borderColor: page.getPageId() % 2 ? "#00F" : "#0F0",
            zIndex: 30
          })
        }) : null);
      }
    }]);
    return PageHr;
  }(_react.default.Component);

  exports.default = PageHr;
  PageHr.propTypes = {
    issue: _propTypes.default.string.isRequired,
    page: _propTypes.default.instanceOf(_Page.default).isRequired,
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array]),
    size: _propTypes.default.shape({
      width: _propTypes.default.number,
      height: _propTypes.default.number
    }).isRequired,
    fitWidth: _propTypes.default.bool,
    visibleArea: _propTypes.default.object,
    newspaper: _propTypes.default.instanceOf(_NewspaperIssue.default).isRequired,
    showAll: _propTypes.default.bool,
    hrProps: _propTypes.default.shape((0, _extends2.default)({}, _hrContainerComponent.default.propTypes, {
      item: _propTypes.default.object,
      style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array])
    }))
  };
  PageHr.defaultProps = {
    showAll: true
  };
},2402,[5,6,7,8,12,14,16,17,201,28,638,603,460,714,587,2167,462,572]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _reactNativeSvg = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _Box = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _newsmemoryExtraUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _ExtraLinks = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[16]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PageHighlight = function (_React$PureComponent) {
    (0, _inherits2.default)(PageHighlight, _React$PureComponent);

    var _super = _createSuper(PageHighlight);

    function PageHighlight(props) {
      var _this;

      (0, _classCallCheck2.default)(this, PageHighlight);
      _this = _super.call(this, props);

      var backgroundColor = _this._getBackgroundColor();

      _this.onArticleChange = _this._onArticleChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onRemoveHighlight = _this._onRemoveHighlight.bind((0, _assertThisInitialized2.default)(_this));
      _this.isArticleOnCurrentPage = _this._isArticleOnCurrentPage.bind((0, _assertThisInitialized2.default)(_this));
      var article = props.getCurrentArticle();
      _this.opacity = new _reactNative.Animated.Value(1);
      _this.state = {
        article: article,
        backgroundColor: backgroundColor,
        hasOpenArticleExtras: _this._hasOpenArticleExtra(article)
      };
      return _this;
    }

    (0, _createClass2.default)(PageHighlight, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        this.articleChangeListener = _$$_REQUIRE(_dependencyMap[18]).EventRegister.on(_events.default.NEWSMEMORY_ARTICLE_HIGHLIGHT, this.onArticleChange);
        this.removeListener = _$$_REQUIRE(_dependencyMap[18]).EventRegister.on(_events.default.NEWSMEMORY_REMOVE_HIGHLIGHT, this.onRemoveHighlight);
        this.configChangeListener = _$$_REQUIRE(_dependencyMap[18]).EventRegister.on(_events.default.NEWSMEMORY_CONFIG_CHANGE, function (_ref) {
          var previousConfig = _ref.previousConfig;

          if (_this2.isArticleOnCurrentPage()) {
            var prevBackgroundTimerArticleSelected = previousConfig.backgroundTimerArticleSelected;

            var _global$getNewsmemory = global.getNewsmemoryConfig(),
                backgroundTimerArticleSelected = _global$getNewsmemory.backgroundTimerArticleSelected;

            if (prevBackgroundTimerArticleSelected !== backgroundTimerArticleSelected) {
              if (backgroundTimerArticleSelected > 0) {
                _this2._timingToHideHighlight();
              } else {
                _this2.opacity.setValue(1);
              }
            }
          }
        });

        if (this.isArticleOnCurrentPage()) {
          this._timingToHideHighlight();
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[18]).EventRegister.rm(this.articleChangeListener);

        _$$_REQUIRE(_dependencyMap[18]).EventRegister.rm(this.removeListener);

        _$$_REQUIRE(_dependencyMap[18]).EventRegister.rm(this.configChangeListener);

        if (this.timeoutId) {
          clearTimeout(this.timeoutId);
        }
      }
    }, {
      key: "_isArticleOnCurrentPage",
      value: function _isArticleOnCurrentPage(articleToCheck) {
        var page = this.props.page;
        var article = this.state.article;
        var currentArticle = articleToCheck || article;
        return currentArticle && page && currentArticle.getPageId() === page.getPageId();
      }
    }, {
      key: "_timingToHideHighlight",
      value: function _timingToHideHighlight() {
        var _this3 = this;

        var _global$getNewsmemory2 = global.getNewsmemoryConfig(),
            backgroundTimerArticleSelected = _global$getNewsmemory2.backgroundTimerArticleSelected,
            backgroundDurationArticleSelected = _global$getNewsmemory2.backgroundDurationArticleSelected;

        this.opacity.setValue(1);

        if (backgroundTimerArticleSelected) {
          if (this.timeoutId) {
            clearTimeout(this.timeoutId);
          }

          this.timeoutId = setTimeout(function () {
            _this3.timeoutId = undefined;

            _reactNative.Animated.timing(_this3.opacity, {
              toValue: 0,
              useNativeDriver: true,
              duration: backgroundDurationArticleSelected
            }).start();
          }, backgroundTimerArticleSelected);
        }
      }
    }, {
      key: "_getBackgroundColor",
      value: function _getBackgroundColor(toSelect) {
        var _global$getActivePSet = global.getActivePSetup(),
            backgroundColorArticleSelected = _global$getActivePSet.backgroundColorArticleSelected,
            backgroundColorArticleToSelect = _global$getActivePSet.backgroundColorArticleToSelect;

        var bgColorToUse = toSelect ? backgroundColorArticleToSelect : backgroundColorArticleSelected;
        return _$$_REQUIRE(_dependencyMap[19]).StringUtils.parseColor(bgColorToUse, _$$_REQUIRE(_dependencyMap[19]).colors.articleHighlight);
      }
    }, {
      key: "_onRemoveHighlight",
      value: function _onRemoveHighlight() {
        var article = this.state.article;

        if (article) {
          var backgroundColor = this._getBackgroundColor();

          this.setState({
            article: undefined,
            backgroundColor: backgroundColor,
            hasOpenArticleExtras: false
          });
        }
      }
    }, {
      key: "_hasOpenArticleExtra",
      value: function _hasOpenArticleExtra(article) {
        var page = this.props.page;
        return page && article && _newsmemoryExtraUtils.default.getExtrasForArticle(page, article).find(function (extra) {
          return extra.getType() === _ExtraLinks.PageExtraType.OPEN_ARTICLE;
        }) !== undefined;
      }
    }, {
      key: "_onArticleChange",
      value: function _onArticleChange(_ref2) {
        var _this4 = this;

        var article = _ref2.article,
            toSelect = _ref2.toSelect,
            callback = _ref2.callback;
        var page = this.props.page;

        if (page && article) {
          var backgroundColor = this._getBackgroundColor(toSelect);

          var articleInPage = this.isArticleOnCurrentPage(article);

          if (articleInPage) {
            this.setState({
              article: article,
              backgroundColor: backgroundColor,
              hasOpenArticleExtras: this._hasOpenArticleExtra(article)
            }, function () {
              setTimeout(function () {
                if (typeof callback === "function") {
                  callback();
                }
              }, 1);

              _this4._timingToHideHighlight();
            });
          } else {
            this.setState({
              article: undefined,
              backgroundColor: backgroundColor,
              hasOpenArticleExtras: false
            });
          }
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            style = _this$props.style,
            size = _this$props.size,
            fitWidth = _this$props.fitWidth;
        var _this$state = this.state,
            article = _this$state.article,
            backgroundColor = _this$state.backgroundColor,
            hasOpenArticleExtras = _this$state.hasOpenArticleExtras;

        if (this.isArticleOnCurrentPage(article) && !hasOpenArticleExtras) {
          var boxesStyle = article.getBoxes().map(function (box) {
            return _newsmemoryUtils.default.getHighlightStyle(box, article.getBoxesInfo(), size, fitWidth);
          }).filter(function (boxStyle) {
            return _$$_REQUIRE(_dependencyMap[19]).JSUtils.isValidRect(boxStyle);
          });

          if (boxesStyle.length > 0) {
            return _react.default.createElement(_reactNative.Animated.View, {
              style: [style, {
                opacity: this.opacity
              }]
            }, _react.default.createElement(_reactNativeSvg.default, null, boxesStyle.map(function (_ref3, index) {
              var start = _ref3.start,
                  top = _ref3.top,
                  width = _ref3.width,
                  height = _ref3.height;
              return _react.default.createElement(_reactNativeSvg.Rect, {
                key: "polygon_" + index,
                x: start,
                y: top,
                width: width,
                height: height,
                fill: backgroundColor,
                strokeWidth: "0"
              });
            })));
          }
        }

        return null;
      }
    }]);
    return PageHighlight;
  }(_react.default.PureComponent);

  exports.default = PageHighlight;
  PageHighlight.propTypes = {
    page: _propTypes.default.instanceOf(_Page.default).isRequired,
    getCurrentArticle: _propTypes.default.func.isRequired,
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array]),
    size: _propTypes.default.shape({
      width: _propTypes.default.number,
      height: _propTypes.default.number
    }).isRequired,
    fitWidth: _propTypes.default.bool
  };
},2403,[5,7,8,15,12,14,16,17,201,28,777,460,603,641,1859,2170,639,638,572,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  var _reactNativeWebview = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _InterstitialsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ANIMATION_DURATION = 500;
  var FLING_VELOCITYX = 600;

  var AdOverPage = function (_React$PureComponent) {
    (0, _inherits2.default)(AdOverPage, _React$PureComponent);

    var _super = _createSuper(AdOverPage);

    function AdOverPage(props) {
      var _this;

      (0, _classCallCheck2.default)(this, AdOverPage);
      _this = _super.call(this, props);
      _this.flingLeftRef = _react.default.createRef();
      _this.flingRightRef = _react.default.createRef();
      _this.onShow = _this._onShow.bind((0, _assertThisInitialized2.default)(_this));
      _this.onHide = _this._onHide.bind((0, _assertThisInitialized2.default)(_this));
      _this.onFlingLeft = _this._onFlingLeft.bind((0, _assertThisInitialized2.default)(_this));
      _this.onFlingRight = _this._onFlingRight.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPanHandler = _this._onPanHandler.bind((0, _assertThisInitialized2.default)(_this));
      _this.onInterstitialWebViewRef = _this._onInterstitialWebViewRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onTapGestureHandler = _this._onTapGestureHandler.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLayout = _this._onLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.animationStarted = false;
      _this.left = new _reactNative.Animated.Value(0);
      _this.state = {
        view: null,
        height: 0
      };
      return _this;
    }

    (0, _createClass2.default)(AdOverPage, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var page, view;
        return _regenerator.default.async(function componentDidMount$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                page = this.props.page;
                _context.next = 3;
                return _regenerator.default.awrap(_InterstitialsHelper.default.getAdOverPage(page, this.onShow, this.onHide, this.onInterstitialWebViewRef));

              case 3:
                view = _context.sent;
                this.setState({
                  view: view,
                  height: 0
                });

              case 5:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_onShow",
      value: function _onShow() {
        var style = this.props.style;
        this.setState({
          height: _$$_REQUIRE(_dependencyMap[16]).CssUtils.getAttributeFromStyle("height", style, "100%")
        });
      }
    }, {
      key: "_onHide",
      value: function _onHide() {
        this.setState({
          view: null
        });
      }
    }, {
      key: "_onFlingLeft",
      value: function _onFlingLeft(_ref) {
        var nativeEvent = _ref.nativeEvent;

        if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[17]).State.ACTIVE) {
          this._startOffscreenAnimation(_$$_REQUIRE(_dependencyMap[16]).PlatformUtils.isRTL());
        }
      }
    }, {
      key: "_onFlingRight",
      value: function _onFlingRight(_ref2) {
        var nativeEvent = _ref2.nativeEvent;

        if (nativeEvent.state === _$$_REQUIRE(_dependencyMap[17]).State.ACTIVE) {
          this._startOffscreenAnimation(!_$$_REQUIRE(_dependencyMap[16]).PlatformUtils.isRTL());
        }
      }
    }, {
      key: "_onPanHandler",
      value: function _onPanHandler(event) {
        var _event$nativeEvent = event.nativeEvent,
            state = _event$nativeEvent.state,
            velocityX = _event$nativeEvent.velocityX;

        if (state === _$$_REQUIRE(_dependencyMap[17]).State.ACTIVE) {
          if (velocityX < -600) {
            this._onFlingLeft(event);
          } else if (velocityX > FLING_VELOCITYX) {
            this._onFlingRight(event);
          }
        }
      }
    }, {
      key: "_startOffscreenAnimation",
      value: function _startOffscreenAnimation(right) {
        var _this2 = this;

        if (this.size) {
          if (!this.animationStarted) {
            var width = this.size.width;
            this.animationStarted = true;

            _reactNative.Animated.timing(this.left, {
              toValue: right ? width : -width,
              duration: ANIMATION_DURATION
            }).start(function () {
              _this2.animationStarted = false;

              _this2.onHide();
            });
          }
        } else {
          this.onHide();
        }
      }
    }, {
      key: "_onInterstitialWebViewRef",
      value: function _onInterstitialWebViewRef(ref) {
        this.interstitialWebViewRef = ref;
      }
    }, {
      key: "_onTapGestureHandler",
      value: function _onTapGestureHandler(_ref3) {
        var nativeEvent, state, x, y, node;
        return _regenerator.default.async(function _onTapGestureHandler$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                nativeEvent = _ref3.nativeEvent;

                if (!nativeEvent) {
                  _context2.next = 12;
                  break;
                }

                state = nativeEvent.state, x = nativeEvent.x, y = nativeEvent.y;

                if (!(state === _$$_REQUIRE(_dependencyMap[17]).State.ACTIVE && this.interstitialWebViewRef)) {
                  _context2.next = 12;
                  break;
                }

                _context2.prev = 4;
                node = (0, _reactNative.findNodeHandle)(this.interstitialWebViewRef);
                _context2.next = 8;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[18]).OurBridge.dispatchTap(node, x, y));

              case 8:
                _context2.next = 12;
                break;

              case 10:
                _context2.prev = 10;
                _context2.t0 = _context2["catch"](4);

              case 12:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, [[4, 10]], Promise);
      }
    }, {
      key: "_onLayout",
      value: function _onLayout(_ref4) {
        var nativeEvent = _ref4.nativeEvent;
        this.size = nativeEvent.layout;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            style = _this$props.style,
            page = _this$props.page,
            rest = (0, _objectWithoutProperties2.default)(_this$props, ["style", "page"]);
        var _this$state = this.state,
            view = _this$state.view,
            height = _this$state.height;

        if (view !== null) {
          var innerView = _react.default.createElement(_reactNative.Animated.View, (0, _extends2.default)({
            style: [style, {
              left: this.left
            }],
            onLayout: this.onLayout
          }, rest), view);

          if (_$$_REQUIRE(_dependencyMap[16]).PlatformUtils.isAndroid()) {
            innerView = _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).PanGestureHandler, {
              onHandlerStateChange: this.onPanHandler
            }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).TapGestureHandler, {
              onHandlerStateChange: this.onTapGestureHandler
            }, innerView));
          } else {
            innerView = _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).PanGestureHandler, {
              enableTrackpadTwoFingerGesture: true,
              waitFor: [this.flingRightRef, this.flingLeftRef]
            }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).FlingGestureHandler, {
              ref: this.flingRightRef,
              direction: _$$_REQUIRE(_dependencyMap[17]).Directions.RIGHT,
              onHandlerStateChange: this.onFlingRight,
              simultaneousHandlers: this.flingLeftRef
            }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).FlingGestureHandler, {
              ref: this.flingLeftRef,
              direction: _$$_REQUIRE(_dependencyMap[17]).Directions.LEFT,
              onHandlerStateChange: this.onFlingLeft,
              simultaneousHandlers: this.flingRightRef
            }, innerView)));
          }

          return _react.default.createElement(_reactNative.View, {
            style: [style, {
              overflow: "hidden",
              height: height
            }]
          }, innerView);
        }

        return view;
      }
    }]);
    return AdOverPage;
  }(_react.default.PureComponent);

  exports.default = AdOverPage;
  AdOverPage.propTypes = {
    page: _propTypes.default.instanceOf(_Page.default),
    style: _propTypes.default.any
  };
},2404,[5,80,6,108,7,8,15,12,14,16,17,28,1226,201,638,2321,462,1,582]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PageBorderView = function (_React$PureComponent) {
    (0, _inherits2.default)(PageBorderView, _React$PureComponent);

    var _super = _createSuper(PageBorderView);

    function PageBorderView(props) {
      var _this;

      (0, _classCallCheck2.default)(this, PageBorderView);
      _this = _super.call(this, props);
      _this.state = {
        hidden: false
      };
      _this.opacity = new _reactNative.Animated.Value(1);
      return _this;
    }

    (0, _createClass2.default)(PageBorderView, [{
      key: "show",
      value: function show() {
        this.opacity.setValue(1);
        var hidden = this.state.hidden;

        if (hidden) {
          this.setState({
            hidden: false
          });
        }
      }
    }, {
      key: "hide",
      value: function hide() {
        var _this2 = this;

        var hidden = this.state.hidden;

        _reactNative.Animated.timing(this.opacity, {
          toValue: 0,
          useNativeDriver: true,
          duration: 200
        }).start(function (_ref) {
          var finished = _ref.finished;

          if (finished && !hidden) {
            _this2.setState({
              hidden: true
            });
          }
        });
      }
    }, {
      key: "render",
      value: function render() {
        var hidden = this.state.hidden;
        var style = this.props.style;
        return hidden ? null : _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).Css, {
          classes: ["newsmemory-page-border"]
        }, _react.default.createElement(_reactNative.Animated.View, {
          style: [{
            position: "absolute",
            backgroundColor: _$$_REQUIRE(_dependencyMap[9]).colors.grey300,
            width: 2,
            top: 0,
            right: 0,
            opacity: this.opacity
          }, style]
        }));
      }
    }]);
    return PageBorderView;
  }(_react.default.PureComponent);

  exports.default = PageBorderView;
},2405,[5,7,8,12,14,16,17,28,699,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var MorseView = function (_React$PureComponent) {
    (0, _inherits2.default)(MorseView, _React$PureComponent);

    var _super = _createSuper(MorseView);

    function MorseView(props) {
      var _this;

      (0, _classCallCheck2.default)(this, MorseView);
      _this = _super.call(this, props);
      var pages = props.edition.getPages();
      _this.pageIndex = pages.findIndex(function (currentPage) {
        return currentPage.getPageId() === props.page.getPageId();
      });
      _this.state = {
        hidden: props.hidden
      };
      return _this;
    }

    (0, _createClass2.default)(MorseView, [{
      key: "show",
      value: function show() {
        var hidden = this.state.hidden;

        if (hidden) {
          this.setState({
            hidden: false
          });
        }
      }
    }, {
      key: "hide",
      value: function hide() {
        var hidden = this.state.hidden;

        if (!hidden) {
          this.setState({
            hidden: true
          });
        }
      }
    }, {
      key: "_getMorseCode",
      value: function _getMorseCode(position) {
        var code = "";

        var ip = _$$_REQUIRE(_dependencyMap[13]).NetworkUtils.getIP();

        var _global$getActivePSet = global.getActivePSetup(),
            loginStatus = _global$getActivePSet.loginStatus;

        var TAUID = loginStatus.TAUID;

        if (position === "top") {
          if (loginStatus.isLoggedIn()) {
            if (this.pageIndex === 0 || this.pageIndex % 5 === 0) {
              code = _$$_REQUIRE(_dependencyMap[13]).StringUtils.getMorseLikeCode(TAUID);
            } else if (this.pageIndex % 8 === 0) {
              code = _$$_REQUIRE(_dependencyMap[13]).StringUtils.getMorseLikeCodeAlt(TAUID);
            }
          }
        } else if (position === "center") {
          if (ip && ip !== "n/a") {
            var _ip$split = ip.split("."),
                _ip$split2 = (0, _slicedToArray2.default)(_ip$split, 4),
                zero = _ip$split2[0],
                one = _ip$split2[1],
                two = _ip$split2[2],
                three = _ip$split2[3];

            if (this.pageIndex % 2 === 1) {
              code = _$$_REQUIRE(_dependencyMap[13]).StringUtils.getMorseLikeCode(zero) + "-" + _$$_REQUIRE(_dependencyMap[13]).StringUtils.getMorseLikeCode(one);
            } else if (this.pageIndex % 3 === 2) {
              code = _$$_REQUIRE(_dependencyMap[13]).StringUtils.getMorseLikeCode(two) + "-" + _$$_REQUIRE(_dependencyMap[13]).StringUtils.getMorseLikeCode(three);
            }
          }
        } else if (position === "bottom") {
          if (ip && ip !== "n/a") {
            var _ip$split3 = ip.split("."),
                _ip$split4 = (0, _slicedToArray2.default)(_ip$split3, 4),
                _zero = _ip$split4[0],
                _one = _ip$split4[1],
                _two = _ip$split4[2],
                _three = _ip$split4[3];

            if (this.pageIndex % 2 === 0) {
              code = _$$_REQUIRE(_dependencyMap[13]).StringUtils.getMorseLikeCode(_zero) + "-" + _$$_REQUIRE(_dependencyMap[13]).StringUtils.getMorseLikeCode(_one);
            } else if (this.pageIndex % 3 === 0) {
              code = _$$_REQUIRE(_dependencyMap[13]).StringUtils.getMorseLikeCode(_two) + "-" + _$$_REQUIRE(_dependencyMap[13]).StringUtils.getMorseLikeCode(_three);
            }
          }
        }

        return code;
      }
    }, {
      key: "_getMorse",
      value: function _getMorse(position) {
        var zoom = this.props.zoom;

        var code = this._getMorseCode(position);

        if (code) {
          var morseStyle = _$$_REQUIRE(_dependencyMap[14]).Css.getStyleObjByCssClasses(["newsmemory-morse", "newsmemory-morse-" + position]);

          var fontSize = _$$_REQUIRE(_dependencyMap[13]).CssUtils.getAttributeFromStyle("fontSize", morseStyle, 14);

          var morseContainerStyle = _$$_REQUIRE(_dependencyMap[14]).Css.getStyleObjByCssClasses(["newsmemory-morse-container", "newsmemory-morse-" + position + "-container"]);

          var height = _$$_REQUIRE(_dependencyMap[13]).CssUtils.getAttributeFromStyle("height", morseContainerStyle, 20);

          return _react.default.createElement(_reactNative.Animated.View, {
            style: [morseContainerStyle, {
              transform: [{
                scale: 1 / zoom
              }, {
                translateY: height * (zoom - 1) / 4
              }]
            }]
          }, _react.default.createElement(_fontText.default, {
            style: [morseStyle, fontSize]
          }, code));
        }

        return _react.default.createElement(_reactNative.View, null);
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            style = _this$props.style,
            zoom = _this$props.zoom,
            minZoom = _this$props.minZoom;
        var hidden = this.state.hidden;

        if (hidden) {
          return null;
        }

        var Components = [this._getMorse("top")];

        if (zoom > minZoom) {
          Components.push(this._getMorse("center"), _react.default.createElement(_reactNative.View, null));
        } else {
          Components.push(_react.default.createElement(_reactNative.View, null), this._getMorse("bottom"));
        }

        return _react.default.createElement(_reactNative.View, {
          style: [{
            alignItems: "center",
            justifyContent: "space-between"
          }, style]
        }, Components);
      }
    }]);
    return MorseView;
  }(_react.default.PureComponent);

  exports.default = MorseView;
  MorseView.propTypes = {
    edition: _propTypes.default.instanceOf(_Edition.default).isRequired,
    page: _propTypes.default.instanceOf(_Page.default).isRequired,
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array]),
    zoom: _propTypes.default.number,
    minZoom: _propTypes.default.number,
    hidden: _propTypes.default.bool
  };
  MorseView.defaultProps = {
    minZoom: 1,
    hidden: false
  };
},2406,[5,41,7,8,12,14,16,17,28,201,638,644,1879,462,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.GESTURE_CANCEL_TIMEOUT = exports.GESTURE_TIMEOUT = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  var _reactNativeReanimated = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _zoomViewPager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _zoomViewPagerManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _tapViewPagerManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _tapView = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _gestureTimer = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var divide = _reactNativeReanimated.default.divide,
      Value = _reactNativeReanimated.default.Value;
  var GESTURE_TIMEOUT = 250;
  exports.GESTURE_TIMEOUT = GESTURE_TIMEOUT;
  var GESTURE_CANCEL_TIMEOUT = 5000;
  exports.GESTURE_CANCEL_TIMEOUT = GESTURE_CANCEL_TIMEOUT;
  var TIMERS = {
    GESTURE_END: "viewpager_gesture_end",
    GESTURE_START: "viewpager_gesture_start"
  };

  var ZoomViewPager = function (_React$Component) {
    (0, _inherits2.default)(ZoomViewPager, _React$Component);

    var _super = _createSuper(ZoomViewPager);

    function ZoomViewPager(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ZoomViewPager);
      _this = _super.call(this, props);
      _this.pinchRef = _react.default.createRef();
      _this.panRef = _react.default.createRef();
      _this.state = {
        loading: true
      };
      _this.dataSet = [];
      _this._isScrolling = false;
      _this._lastEvent = undefined;
      _this.onLayout = _this._onLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.onTapStart = _this._onTapStart.bind((0, _assertThisInitialized2.default)(_this));
      _this.onGestureStart = _this._onGestureStart.bind((0, _assertThisInitialized2.default)(_this));
      _this.onGestureEnd = _this._onGestureEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPanBottomReached = _this._onPanBottomReached.bind((0, _assertThisInitialized2.default)(_this));
      _this.onScrollStart = _this._onScrollStart.bind((0, _assertThisInitialized2.default)(_this));
      _this.onScrollEnd = _this._onScrollEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSwipeOnLastPage = _this._onSwipeOnLastPage.bind((0, _assertThisInitialized2.default)(_this));
      _this.onFit = _this._onFit.bind((0, _assertThisInitialized2.default)(_this));
      _this.onUnFit = _this._onUnFit.bind((0, _assertThisInitialized2.default)(_this));
      _this.onToggleFit = _this._onToggleFit.bind((0, _assertThisInitialized2.default)(_this));
      _this.onAutoZoom = _this._onAutoZoom.bind((0, _assertThisInitialized2.default)(_this));
      _this.onExtraTap = _this._onExtraTap.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSingleTap = _this._onSingleTap.bind((0, _assertThisInitialized2.default)(_this));
      _this.onDoubleTap = _this._onDoubleTap.bind((0, _assertThisInitialized2.default)(_this));
      _this.onTwoFingersTap = _this._onTwoFingersTap.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLongPress = _this._onLongPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.leftMarginDivider = new Value(1);
      _this.rightMarginDivider = new Value(1);
      return _this;
    }

    (0, _createClass2.default)(ZoomViewPager, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        if (_$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isIOS()) {
          this._initialize();
        }
      }
    }, {
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(nextProps) {
        var loading = this.state.loading;

        if (!loading) {
          this.tapMgr.setProps(nextProps);
          this.gestureMgr.setProps(nextProps);
        }
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps, prevState) {
        var onLoaded = this.props.onLoaded;
        var loading = this.state.loading;

        if (prevState.loading && !loading && typeof onLoaded === "function") {
          onLoaded();
        }
      }
    }, {
      key: "_onLayout",
      value: function _onLayout() {
        if (_$$_REQUIRE(_dependencyMap[18]).PlatformUtils.isAndroid()) {
          this._initialize();
        }
      }
    }, {
      key: "_initialize",
      value: function _initialize() {
        var loading = this.state.loading;

        if (loading) {
          var _this$dataSet;

          var _this$props = this.props,
              data = _this$props.data,
              clickPosition = _this$props.clickPosition,
              minScale = _this$props.minScale,
              maxScale = _this$props.maxScale,
              contentSize = _this$props.contentSize,
              size = _this$props.size,
              snapSize = _this$props.snapSize,
              initialPage = _this$props.initialPage,
              nPages = _this$props.nPages,
              numberOfShowedPages = _this$props.numberOfShowedPages,
              fitX = _this$props.fitX,
              isTablet = _this$props.isTablet,
              isRtl = _this$props.isRtl;
          this.dataSet = [];

          (_this$dataSet = this.dataSet).push.apply(_this$dataSet, (0, _toConsumableArray2.default)(data));

          if (isRtl) {
            this.dataSet.reverse();
          }

          this._currentIndex = (0, _$$_REQUIRE(_dependencyMap[19]).fixStartupIndex)(this._adaptIndexForRTL(initialPage), nPages, numberOfShowedPages, isRtl);
          this._isScrolling = false;
          this.tapMgr = new _tapViewPagerManager.default((0, _extends2.default)({}, this.props, {
            onSingleTap: this.onSingleTap,
            onTwoFingersTap: this.onTwoFingersTap,
            onDoubleTap: this.onDoubleTap,
            onLongPress: this.onLongPress,
            onExtraTap: this.onExtraTap
          }));
          this.tapMgr.setOnAutoZoom(this.onAutoZoom);
          var panX = -this._currentIndex * contentSize.width;
          var panY = 0;

          if (clickPosition && clickPosition.disableZoomFactor) {
            clickPosition.y = clickPosition.y * contentSize.height / clickPosition.height;
            clickPosition.x = clickPosition.x * contentSize.width / clickPosition.width;
            clickPosition.width = contentSize.width;
            clickPosition.height = contentSize.height;

            if (size && size.height && clickPosition.scale >= 1 && clickPosition.height * clickPosition.scale > size.height && clickPosition.y * clickPosition.scale > size.height) {
              panY -= Math.min(Math.max(0, clickPosition.y), contentSize.height - size.height);
            }
          }

          this.gestureMgr = new _zoomViewPagerManager.default(panX, panY, minScale, minScale, maxScale, nPages, this._currentIndex, numberOfShowedPages, size, contentSize, snapSize, fitX, isTablet, isRtl);
          this.gestureMgr.setInitialPage(this._currentIndex);
          this.gestureMgr.setOnStartGestureListener(this.onGestureStart);
          this.gestureMgr.setOnEndGestureListener(this.onGestureEnd);
          this.gestureMgr.setOnPanBottomReached(this.onPanBottomReached);
          this.gestureMgr.setOnStartScrollGestureListener(this.onScrollStart);
          this.gestureMgr.setOnScrollEndGestureListener(this.onScrollEnd);
          this.gestureMgr.setOnSwipeOnLastPageListener(this.onSwipeOnLastPage);
          this.gestureMgr.setOnFitListener(this.onFit);
          this.gestureMgr.setOnUnFitListener(this.onUnFit);
          this.gestureMgr.setOnToggleFitListener(this.onToggleFit);
          this.setState({
            loading: false
          });
        }
      }
    }, {
      key: "reduceMargins",
      value: function reduceMargins() {
        var leftDivider = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
        var rightDivider = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
        this.leftMarginDivider.setValue(leftDivider);
        this.rightMarginDivider.setValue(rightDivider);
      }
    }, {
      key: "_onExtraTap",
      value: function _onExtraTap(nativeEvent) {
        var onExtraTap = this.props.onExtraTap;

        if (typeof onExtraTap === "function") {
          return onExtraTap(this._adaptEventForRTL(nativeEvent));
        }

        return false;
      }
    }, {
      key: "_onSingleTap",
      value: function _onSingleTap(nativeEvent) {
        var onSingleTap = this.props.onSingleTap;

        if (typeof onSingleTap === "function") {
          onSingleTap(this._adaptEventForRTL(nativeEvent));
        }
      }
    }, {
      key: "_onDoubleTap",
      value: function _onDoubleTap(nativeEvent) {
        var onDoubleTap = this.props.onDoubleTap;

        if (typeof onDoubleTap === "function") {
          onDoubleTap(this._adaptEventForRTL(nativeEvent));
        }
      }
    }, {
      key: "_onTwoFingersTap",
      value: function _onTwoFingersTap(nativeEvent) {
        var onTwoFingersTap = this.props.onTwoFingersTap;

        if (typeof onTwoFingersTap === "function") {
          onTwoFingersTap(this._adaptEventForRTL(nativeEvent));
        }
      }
    }, {
      key: "_onLongPress",
      value: function _onLongPress(nativeEvent) {
        var onLongPress = this.props.onLongPress;

        if (typeof onLongPress === "function") {
          onLongPress(this._adaptEventForRTL(nativeEvent));
        }
      }
    }, {
      key: "_onTapStart",
      value: function _onTapStart() {
        var onGestureStart = this.props.onGestureStart;

        if (typeof onGestureStart === "function") {
          onGestureStart();
        }
      }
    }, {
      key: "_onGestureStart",
      value: function _onGestureStart() {
        var _this2 = this;

        _gestureTimer.default.resetTimer(TIMERS.GESTURE_END);

        _gestureTimer.default.resetTimer(TIMERS.GESTURE_START);

        var onGestureStart = this.props.onGestureStart;

        if (typeof onGestureStart === "function") {
          onGestureStart();

          _gestureTimer.default.startTimer(TIMERS.GESTURE_START, function () {
            if (_this2._lastEvent) {
              _this2._onGestureEnd(_this2._lastEvent);
            }
          }, GESTURE_CANCEL_TIMEOUT);
        }
      }
    }, {
      key: "_onPanBottomReached",
      value: function _onPanBottomReached() {
        var onPanBottomReached = this.props.onPanBottomReached;

        if (typeof onPanBottomReached === "function") {
          onPanBottomReached();
        }
      }
    }, {
      key: "_onGestureEnd",
      value: function _onGestureEnd(event) {
        var _this3 = this;

        event = this._adaptEventForRTL(event);
        event.isScrolling = this._isScrolling;
        this.tapMgr.setGestureEvent(event.nativeEvent);

        this._onPageChange(event);

        _gestureTimer.default.resetTimer(TIMERS.GESTURE_START);

        _gestureTimer.default.resetTimer(TIMERS.GESTURE_END);

        _gestureTimer.default.startTimer(TIMERS.GESTURE_END, function () {
          var onGestureEnd = _this3.props.onGestureEnd;
          event.isScrolling = false;

          _this3._onPageChange(event);

          if (typeof onGestureEnd === "function") {
            _this3._lastEvent = event;
            onGestureEnd(event);
          }
        }, GESTURE_TIMEOUT);
      }
    }, {
      key: "_onScrollEnd",
      value: function _onScrollEnd(event) {
        this._onGestureEnd(event);
      }
    }, {
      key: "_onScrollStart",
      value: function _onScrollStart() {
        this._isScrolling = true;

        this._onGestureStart();
      }
    }, {
      key: "_onPageChange",
      value: function _onPageChange(event) {
        var onPageChange = this.props.onPageChange;

        if (typeof onPageChange === "function") {
          onPageChange(event);
        }

        this._currentIndex = event.index;
      }
    }, {
      key: "_onSwipeOnLastPage",
      value: function _onSwipeOnLastPage() {
        var onSwipeOnLastPage = this.props.onSwipeOnLastPage;

        if (typeof onSwipeOnLastPage === "function") {
          onSwipeOnLastPage();
        }
      }
    }, {
      key: "_onFit",
      value: function _onFit() {
        this.tapMgr.setFit(true);
        var onFit = this.props.onFit;

        if (typeof onFit === "function") {
          onFit();
        }
      }
    }, {
      key: "_onAutoZoom",
      value: function _onAutoZoom(event) {
        var onDoubleTap = this.props.onDoubleTap;
        this.gestureMgr.zoomTo(event);

        if (event.numTaps > 1) {
          onDoubleTap(event);
        }
      }
    }, {
      key: "_onUnFit",
      value: function _onUnFit() {
        this.tapMgr.setFit(false);
        var onUnFit = this.props.onUnFit;

        if (typeof onUnFit === "function") {
          onUnFit();
        }
      }
    }, {
      key: "_onToggleFit",
      value: function _onToggleFit() {
        var onToggleFit = this.props.onToggleFit;

        if (typeof onToggleFit === "function") {
          onToggleFit();
        }
      }
    }, {
      key: "scrollTo",
      value: function scrollTo(index) {
        if (this.gestureMgr) {
          this.gestureMgr.scrollTo(this._adaptIndexForRTL(index));
        }
      }
    }, {
      key: "scrollToPrev",
      value: function scrollToPrev() {
        this.scrollPage(this._currentIndex - 1);
      }
    }, {
      key: "scrollToNext",
      value: function scrollToNext() {
        this.scrollPage(this._currentIndex + 1);
      }
    }, {
      key: "panToLeft",
      value: function panToLeft() {
        if (this.gestureMgr) {
          this.gestureMgr.panToLeft();
        }
      }
    }, {
      key: "panToRight",
      value: function panToRight() {
        if (this.gestureMgr) {
          this.gestureMgr.panToRight();
        }
      }
    }, {
      key: "panToUp",
      value: function panToUp() {
        if (this.gestureMgr) {
          this.gestureMgr.panToUp();
        }
      }
    }, {
      key: "panToDown",
      value: function panToDown() {
        if (this.gestureMgr) {
          this.gestureMgr.panToDown();
        }
      }
    }, {
      key: "scrollPage",
      value: function scrollPage(index) {
        if (this.gestureMgr) {
          this.gestureMgr.scrollPage(this._adaptIndexForRTL(index));
        }
      }
    }, {
      key: "zoomToClickedPosition",
      value: function zoomToClickedPosition() {
        var _this$props2 = this.props,
            clickPosition = _this$props2.clickPosition,
            numberOfShowedPages = _this$props2.numberOfShowedPages,
            nPages = _this$props2.nPages,
            isRtl = _this$props2.isRtl;

        if (clickPosition) {
          var width = clickPosition.width,
              y = clickPosition.y,
              scaleFactor = clickPosition.scale,
              disableZoomFactor = clickPosition.disableZoomFactor;
          var index = clickPosition.index,
              x = clickPosition.x;
          index = this._adaptIndexForRTL(index);
          var fixIndex = (0, _$$_REQUIRE(_dependencyMap[19]).fixStartupIndex)(index, nPages, numberOfShowedPages, isRtl);
          x += (index - fixIndex) * width;

          if (!disableZoomFactor) {
            var scaleToGo = this.tapMgr._computeScaleToGo();

            this._onAutoZoom({
              x: x * scaleFactor,
              y: y * scaleFactor,
              scale: scaleToGo
            });
          }
        }
      }
    }, {
      key: "zoomToCenter",
      value: function zoomToCenter(scaleToAdd) {
        if (this.gestureMgr) {
          var _this$props3 = this.props,
              contentSize = _this$props3.contentSize,
              numberOfShowedPages = _this$props3.numberOfShowedPages;
          var width = contentSize.width,
              height = contentSize.height;

          var _this$gestureMgr$_get = this.gestureMgr._getEventObject(),
              scale = _this$gestureMgr$_get.scale;

          this.gestureMgr.zoom({
            x: width * numberOfShowedPages / 2,
            y: height / 2
          }, scale + scaleToAdd);
        }
      }
    }, {
      key: "zoomTo",
      value: function zoomTo(event) {
        if (this.tapMgr && event) {
          this.tapMgr._autoZoom(event);
        }
      }
    }, {
      key: "isScaled",
      value: function isScaled() {
        if (this.gestureMgr) {
          return this.gestureMgr._isScaled();
        }

        return false;
      }
    }, {
      key: "getClickedPosition",
      value: function getClickedPosition(event) {
        if (this.tapMgr && event) {
          return this.tapMgr._getClickedPosition(event);
        }

        return null;
      }
    }, {
      key: "_adaptIndexForRTL",
      value: function _adaptIndexForRTL(index) {
        var data = this.props.data;
        return (0, _$$_REQUIRE(_dependencyMap[19]).adaptIndexForRTL)(index, data.length);
      }
    }, {
      key: "_adaptEventForRTL",
      value: function _adaptEventForRTL(event) {
        var _this4 = this;

        if (event.index !== undefined) {
          event.index = this._adaptIndexForRTL(event.index);
        }

        if (event.visibleAreas !== undefined) {
          event.visibleAreas.forEach(function (area) {
            if (area.index !== undefined) {
              area.index = _this4._adaptIndexForRTL(area.index);
            }
          });
        }

        return event;
      }
    }, {
      key: "render",
      value: function render() {
        var _this5 = this;

        var props = this.props;
        var renderItem = props.renderItem,
            contentSize = props.contentSize,
            size = props.size,
            numberOfShowedPages = props.numberOfShowedPages,
            isRtl = props.isRtl,
            cssContainerClasses = props.cssContainerClasses;
        var loading = this.state.loading;
        return _react.default.createElement(_reactNative.View, {
          style: _zoomViewPager.default.main,
          onLayout: this.onLayout
        }, !loading ? _react.default.createElement(_tapView.default, {
          onGestureStart: this.onTapStart,
          onSingleTap: this.tapMgr.getOnTap(),
          onDoubleTap: this.tapMgr.getOnDoubleTap(),
          onTwoFingersTap: this.tapMgr.getOnTwoFingersTap(),
          onLongPress: this.tapMgr.getOnLongPress(),
          twoFingersTapHandlerWaitFor: this.pinchRef,
          doubleTapHandlerWaitFor: this.pinchRef
        }, _react.default.createElement(_reactNativeReanimated.default.View, {
          style: _zoomViewPager.default.container,
          collapsable: false
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[20]).PinchGestureHandler, {
          ref: this.pinchRef,
          onGestureEvent: this.gestureMgr.getPinchGestureEvent(),
          onHandlerStateChange: this.gestureMgr.getPinchGestureEvent(),
          simultaneousHandlers: this.panRef
        }, _react.default.createElement(_reactNativeReanimated.default.View, {
          style: _zoomViewPager.default.container,
          collapsable: false
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[20]).PanGestureHandler, {
          ref: this.panRef,
          onGestureEvent: this.gestureMgr.getPanGestureEvent(),
          onHandlerStateChange: this.gestureMgr.getPanGestureEvent(),
          simultaneousHandlers: this.pinchRef,
          minDist: 10,
          avgTouches: true,
          enableTrackpadTwoFingerGesture: true
        }, _react.default.createElement(_reactNativeReanimated.default.View, {
          style: [_zoomViewPager.default.container, {
            width: this.gestureMgr._scaledContentWidth,
            height: size.height
          }],
          collapsable: false
        }, _react.default.createElement(_reactNativeReanimated.default.View, {
          style: [{
            width: contentSize.width * numberOfShowedPages,
            height: size.height,
            flexDirection: "row" + (isRtl ? "-reverse" : ""),
            transform: [{
              translateX: this.gestureMgr._translateX
            }, {
              translateY: this.gestureMgr._translateY
            }, {
              translateX: this.gestureMgr._focalDisplacementX
            }, {
              translateY: this.gestureMgr._focalDisplacementY
            }, {
              translateX: this.gestureMgr._scaleTopLeftFixX
            }, {
              translateY: this.gestureMgr._scaleTopLeftFixY
            }, {
              scale: this.gestureMgr._scale
            }, {
              perspective: 1000
            }]
          }]
        }, this.dataSet.map(function (item, index) {
          return renderItem({
            item: item,
            index: _this5._adaptIndexForRTL(index),
            slotSize: contentSize,
            viewSize: size
          });
        })))))))) : null, !loading ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[21]).Css, {
          classes: cssContainerClasses
        }, _react.default.createElement(_reactNativeReanimated.default.View, {
          pointerEvents: "none",
          style: [_zoomViewPager.default.sideBandLeft, {
            width: divide(this.gestureMgr._horizontalMargin, this.leftMarginDivider)
          }]
        })) : null, !loading ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[21]).Css, {
          classes: cssContainerClasses
        }, _react.default.createElement(_reactNativeReanimated.default.View, {
          pointerEvents: "none",
          style: [_zoomViewPager.default.sideBandRight, {
            width: divide(this.gestureMgr._horizontalMargin, this.rightMarginDivider)
          }]
        })) : null);
      }
    }]);
    return ZoomViewPager;
  }(_react.default.Component);

  exports.default = ZoomViewPager;
  ZoomViewPager.propTypes = {
    data: _propTypes.default.array.isRequired,
    nPages: _propTypes.default.number.isRequired,
    numberOfShowedPages: _propTypes.default.number,
    initialPage: _propTypes.default.number,
    contentSize: _propTypes.default.shape({
      width: _propTypes.default.number.isRequired,
      height: _propTypes.default.number.isRequired
    }).isRequired,
    size: _propTypes.default.shape({
      width: _propTypes.default.number.isRequired,
      height: _propTypes.default.number.isRequired
    }).isRequired,
    fitX: _propTypes.default.bool,
    isRtl: _propTypes.default.bool,
    isTablet: _propTypes.default.bool,
    snapSize: _propTypes.default.number,
    minScale: _propTypes.default.number,
    maxScale: _propTypes.default.number,
    dipsScale: _propTypes.default.func.isRequired,
    twoFingerTapEnabled: _propTypes.default.func,
    singleTapToZoom: _propTypes.default.func,
    zoomingFactor: _propTypes.default.number,
    onPageChange: _propTypes.default.func,
    onSwipeOnLastPage: _propTypes.default.func,
    onGestureStart: _propTypes.default.func,
    onGestureEnd: _propTypes.default.func,
    onPanBottomReached: _propTypes.default.func,
    onFit: _propTypes.default.func,
    onUnFit: _propTypes.default.func,
    onToggleFit: _propTypes.default.func,
    onExtraTap: _propTypes.default.func,
    onSingleTap: _propTypes.default.func,
    onDoubleTap: _propTypes.default.func,
    onTwoFingersTap: _propTypes.default.func,
    onLongPress: _propTypes.default.func,
    renderItem: _propTypes.default.func.isRequired,
    clickPosition: _propTypes.default.object,
    onLoaded: _propTypes.default.func,
    cssContainerClasses: _propTypes.default.array
  };
  ZoomViewPager.defaultProps = {
    initialPage: 0,
    minScale: 1,
    maxScale: 8,
    isRtl: false,
    twoFingerTapEnabled: false,
    cssContainerClasses: []
  };
},2407,[5,6,21,7,8,15,12,14,16,17,201,28,646,2408,2409,2412,2163,2164,462,645,1,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    main: {
      flex: 1,
      width: "100%",
      justifyContent: "center",
      alignItems: "center",
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.transparent,
      position: "absolute",
      top: 0,
      left: 0
    },
    container: {
      alignItems: "center",
      flex: 1,
      justifyContent: "center"
    },
    wrapper: {
      flex: 1
    },
    sideBandLeft: {
      position: "absolute",
      start: 0,
      top: 0,
      bottom: 0,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white
    },
    sideBandRight: {
      position: "absolute",
      end: 0,
      top: 0,
      bottom: 0,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white
    }
  });

  exports.default = _default;
},2408,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNativeReanimated = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _zoomConstants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var lessThan = _reactNativeReanimated.default.lessThan,
      event = _reactNativeReanimated.default.event,
      add = _reactNativeReanimated.default.add,
      sub = _reactNativeReanimated.default.sub,
      set = _reactNativeReanimated.default.set,
      Value = _reactNativeReanimated.default.Value,
      debug = _reactNativeReanimated.default.debug,
      cond = _reactNativeReanimated.default.cond,
      and = _reactNativeReanimated.default.and,
      atan = _reactNativeReanimated.default.atan,
      or = _reactNativeReanimated.default.or,
      eq = _reactNativeReanimated.default.eq,
      abs = _reactNativeReanimated.default.abs,
      greaterThan = _reactNativeReanimated.default.greaterThan,
      max = _reactNativeReanimated.default.max,
      min = _reactNativeReanimated.default.min,
      multiply = _reactNativeReanimated.default.multiply,
      divide = _reactNativeReanimated.default.divide;

  var ZoomViewPagerMgr = function () {
    function ZoomViewPagerMgr(panX, panY, startScale, minScale, maxScale, nPages, index, pagesVisible, size, contentSize, snapSize, fitX, isTablet, isRtl) {
      (0, _classCallCheck2.default)(this, ZoomViewPagerMgr);
      this._notAnimatedStatus = {
        _starting: true,
        _panX: panX,
        _panY: panY,
        _focalDisplacementX: 0,
        _focalDisplacementY: 0,
        _width: contentSize.width,
        _height: contentSize.height,
        _viewWidth: size.width,
        _viewHeight: size.height,
        _snapSize: snapSize,
        _horizontalMargin: Math.max((size.width - contentSize.width * pagesVisible * minScale) / 2, 0),
        _verticalMargin: Math.max((size.height - contentSize.height * minScale) / 2, 0),
        _fitHorizontally: fitX,
        _xFitScale: size.width / contentSize.width,
        _yFitScale: size.height / contentSize.height,
        _pagesVisible: pagesVisible,
        _viewIsLandscape: size.width > size.height,
        _nPages: nPages,
        _left: 0,
        _right: 0,
        _limits: this._computeLimits(0, panX, index, pagesVisible, contentSize.width, minScale),
        _top: 0,
        _bottom: 0,
        _index: index,
        _scale: startScale,
        _minScale: minScale,
        _maxScale: maxScale,
        _isRtl: isRtl
      };
      this.onPanStart = this._onPanStart.bind(this);
      this.onPanEndX = this._onPanEndX.bind(this);
      this.onScrollEnd = this._onScrollEnd.bind(this);
      this.onScrollStart = this._onScrollStart.bind(this);
      this.onPanEndY = this._onPanEndY.bind(this);
      this.onPanBottomReached = this._onPanBottomReached.bind(this);
      this.onPanEnd = this._onPanEnd.bind(this);
      this.onPinchStart = this._onPinchStart.bind(this);
      this.onPinchEnd = this._onPinchEnd.bind(this);
      this.onFit = this._onFit.bind(this);
      this.onUnFit = this._onUnFit.bind(this);
      this.onToggleFit = this._onToggleFit.bind(this);
      this.onLeftChange = this._onLeftChange.bind(this);
      this.onRightChange = this._onRightChange.bind(this);
      this.onTopChange = this._onTopChange.bind(this);
      this.onBottomChange = this._onBottomChange.bind(this);
      this.onLimitChange = this._onLimitChange.bind(this);
      this._nPages = new Value(nPages);
      this._pagesVisible = new Value(pagesVisible);
      this._viewIsLandscape = new Value(this._notAnimatedStatus._viewIsLandscape);
      this._contentLayout = {
        width: new Value(contentSize.width),
        height: new Value(contentSize.height)
      };
      this._layout = {
        width: new Value(size.width),
        height: new Value(size.height)
      };
      this._currentPage = new Value(this._notAnimatedStatus._index);
      this._horizontalMargin = new Value(this._notAnimatedStatus._horizontalMargin);
      var fitHorizontally = new Value(this._notAnimatedStatus._fitHorizontally ? 1 : 0);
      this.scale = new Value(this._notAnimatedStatus._scale);
      var panTransX = new Value(this._notAnimatedStatus._panX);
      var panTransY = new Value(this._notAnimatedStatus._panY);
      var hMargin = new Value(this._notAnimatedStatus._horizontalMargin);
      var whiteMargin = sub(hMargin, this._horizontalMargin);
      var starting = new Value(1);
      this._scrollToAnimated = new Value(0);
      this._scrollState = new Value(_$$_REQUIRE(_dependencyMap[7]).State.UNDETERMINED);
      this._zoomToState = new Value(_$$_REQUIRE(_dependencyMap[7]).State.UNDETERMINED);
      this._zoomToValue = new Value(1);
      this._zoomToDragX = new Value(0);
      this._zoomToDragY = new Value(0);
      var pinchOldState = new Value(-1);
      var pinchState = new Value(-1);
      var pinchScale = new Value(1);
      this._pinchFocalX = new Value(0);
      this._pinchFocalY = new Value(0);
      this._minScale = new Value(this._notAnimatedStatus._minScale);
      this._maxScale = new Value(this._notAnimatedStatus._maxScale);
      this._focalDisplacementX = new Value(0);
      this._focalDisplacementY = new Value(0);
      this.onPinchGestureEvent = event([{
        nativeEvent: {
          state: pinchState,
          oldState: pinchOldState,
          scale: pinchScale,
          focalX: this._pinchFocalX,
          focalY: this._pinchFocalY
        }
      }]);
      var pinchStart = and(eq(pinchOldState, _$$_REQUIRE(_dependencyMap[7]).State.UNDETERMINED), eq(pinchState, _$$_REQUIRE(_dependencyMap[7]).State.BEGAN));
      var pinchActive = eq(pinchState, _$$_REQUIRE(_dependencyMap[7]).State.ACTIVE);
      var zoomActive = eq(this._zoomToState, _$$_REQUIRE(_dependencyMap[7]).State.ACTIVE);
      var pinchEnd = eq(pinchOldState, _$$_REQUIRE(_dependencyMap[7]).State.ACTIVE);
      var fit = new Value(0);
      var relativePinchX = sub(this._pinchFocalX, cond(zoomActive, 0, whiteMargin));
      var relativeFocalX = sub(relativePinchX, add(panTransX, this._focalDisplacementX));
      var relativeFocalY = sub(this._pinchFocalY, add(panTransY, this._focalDisplacementY));
      var isFitted = eq(fit, 1);
      this.dragX = new Value(0);
      var dragY = new Value(0);
      var leftLimit = new Value(0);
      var rightLimit = new Value(0);
      var topLimit = new Value(0);
      var bottomLimit = new Value(0);
      this._scale = set(this.scale, (0, _$$_REQUIRE(_dependencyMap[8]).pinchMgr)(starting, pinchStart, pinchActive, pinchEnd, pinchOldState, pinchScale, this.scale, relativeFocalX, relativeFocalY, this._focalDisplacementX, this._focalDisplacementY, this._minScale, this._maxScale, this.onPinchStart, this.onPinchEnd, this._nPages, this._pagesVisible, eq(fitHorizontally, 1), fit, isFitted, this.onFit, this.onUnFit, this._contentLayout.width, this._contentLayout.height, this._layout.width, this._layout.height, this._horizontalMargin, this.onToggleFit, this._zoomToState, this._zoomToValue, and(eq(this._scrollToAnimated, 0), eq(this._scrollState, _$$_REQUIRE(_dependencyMap[7]).State.ACTIVE)), leftLimit, topLimit, rightLimit, bottomLimit, this.onLimitChange));
      var panState = new Value(-1);
      var panOldState = new Value(-1);
      var velocityX = new Value(0);
      var velocityY = new Value(0);
      this.onPanGestureEvent = event([{
        nativeEvent: {
          state: panState,
          oldState: panOldState,
          translationX: this.dragX,
          translationY: dragY,
          velocityX: velocityX,
          velocityY: velocityY
        }
      }]);
      var panStart = [debug("PAN OLD STATE: ", panOldState), debug("PAN STATE: ", panState), and(eq(panOldState, _$$_REQUIRE(_dependencyMap[7]).State.UNDETERMINED), eq(panState, _$$_REQUIRE(_dependencyMap[7]).State.BEGAN))];
      var panActive = or(pinchActive, zoomActive, eq(panState, _$$_REQUIRE(_dependencyMap[7]).State.ACTIVE));
      var panEnd = eq(panOldState, _$$_REQUIRE(_dependencyMap[7]).State.ACTIVE);
      this.keyPanXState = new Value(-1);
      this.keyPanXValue = new Value(0);
      this.keyPanYState = new Value(-1);
      this.keyPanYValue = new Value(0);
      var panCancelled = or(and(eq(panOldState, _$$_REQUIRE(_dependencyMap[7]).State.BEGAN), eq(panState, _$$_REQUIRE(_dependencyMap[7]).State.CANCELLED)), and(eq(panOldState, _$$_REQUIRE(_dependencyMap[7]).State.BEGAN), eq(panState, _$$_REQUIRE(_dependencyMap[7]).State.END)), and(eq(panOldState, _$$_REQUIRE(_dependencyMap[7]).State.BEGAN), eq(panState, _$$_REQUIRE(_dependencyMap[7]).State.FAILED)));
      var dragSlope = divide(sub(0, dragY), sub(0, this.dragX));
      var radiansFromXAxis = abs(atan(dragSlope));
      var enableAnimationOnYAxis = greaterThan(radiansFromXAxis, _zoomConstants.default.constants.PAN_ANIMATION_DEGREES_THRESHOLD * Math.PI / 180);
      var enableAnimationOnXAxis = lessThan(radiansFromXAxis, (90 - _zoomConstants.default.constants.PAN_ANIMATION_DEGREES_THRESHOLD) * Math.PI / 180);
      this._translateX = set(panTransX, (0, _$$_REQUIRE(_dependencyMap[9]).panXMgr)(panStart, panActive, panEnd, panCancelled, this._scrollState, this._scrollToAnimated, panTransX, this.dragX, velocityX, enableAnimationOnXAxis, leftLimit, rightLimit, this._viewIsLandscape, isFitted, this._contentLayout.width, snapSize, whiteMargin, this._currentPage, this._scale, this._minScale, this._pagesVisible, this._nPages, this.onPanStart, this.onPanEndX, this.onScrollStart, this.onScrollEnd, panTransY, topLimit, isTablet, zoomActive, this._zoomToDragX, eq(isRtl, true), this.keyPanXState, this.keyPanXValue));
      this._translateY = set(panTransY, (0, _$$_REQUIRE(_dependencyMap[9]).panYMgr)(panStart, panActive, panEnd, panCancelled, panTransY, dragY, velocityY, enableAnimationOnYAxis, topLimit, bottomLimit, this._viewIsLandscape, this._scale, this._contentLayout.height, this._layout.height, this.onPanStart, this.onPanEndY, this.onPanBottomReached, zoomActive, this._zoomToDragY, this.keyPanYState, this.keyPanYValue));
      this._scaleTopLeftFixX = divide(multiply(this._contentLayout.width, this._pagesVisible, add(this._scale, -1)), 2);
      this._scaleTopLeftFixY = divide(multiply(this._layout.height, add(this._scale, -1)), 2);
      this._scaledContentWidth = max(multiply(this._contentLayout.width, this._pagesVisible, this._minScale), min(this._layout.width, multiply(this._contentLayout.width, this._pagesVisible, this._scale)));
    }

    (0, _createClass2.default)(ZoomViewPagerMgr, [{
      key: "_computeLimits",
      value: function _computeLimits(left, panX, index, visiblePages, pageWidth, scale) {
        var limits = [];
        var zoomedWidth = pageWidth * Math.max(1, scale);
        var absoluteX = -1 * left + panX;
        var leftIndex = Math.max(0, Math.floor(parseFloat(Math.abs(absoluteX) / zoomedWidth).toFixed(1)));
        var startLimit = -leftIndex * zoomedWidth;
        var screenLimit = absoluteX - pageWidth * visiblePages;
        limits.push(startLimit);
        var nextLimit = startLimit;

        while (nextLimit > screenLimit) {
          nextLimit -= zoomedWidth;
          nextLimit = parseFloat(nextLimit.toFixed(2));
          limits.push(nextLimit);
        }

        return limits;
      }
    }, {
      key: "_getEventObject",
      value: function _getEventObject() {
        var eventObject = {
          nativeEvent: this._notAnimatedStatus,
          x: this._notAnimatedStatus._limits[0] - this._notAnimatedStatus._panX,
          y: this._notAnimatedStatus._panY,
          scale: this._notAnimatedStatus._scale,
          index: this._notAnimatedStatus._index,
          visibleAreas: (0, _$$_REQUIRE(_dependencyMap[10]).pagesVisibleArea)(this._notAnimatedStatus)
        };
        return eventObject;
      }
    }, {
      key: "getPinchGestureEvent",
      value: function getPinchGestureEvent() {
        return this.onPinchGestureEvent;
      }
    }, {
      key: "getPanGestureEvent",
      value: function getPanGestureEvent() {
        return this.onPanGestureEvent;
      }
    }, {
      key: "_onPinchStart",
      value: function _onPinchStart() {
        if (this._notAnimatedStatus._starting) {
          this._notAnimatedStatus._starting = false;
          this.onEndGestureListener(this._getEventObject());
        } else {
          if (this.onStartGestureListener) {
            this.onStartGestureListener();
          }
        }
      }
    }, {
      key: "_onPanStart",
      value: function _onPanStart() {
        if (this.onStartGestureListener) {
          this.onStartGestureListener();
        }
      }
    }, {
      key: "_onPanEndX",
      value: function _onPanEndX(params) {
        this._notAnimatedStatus._panX = params[0];
        this._notAnimatedStatus._index = params[1];
        var _this$_notAnimatedSta = this._notAnimatedStatus,
            _left = _this$_notAnimatedSta._left,
            _panX = _this$_notAnimatedSta._panX,
            _index = _this$_notAnimatedSta._index,
            _pagesVisible = _this$_notAnimatedSta._pagesVisible,
            _width = _this$_notAnimatedSta._width,
            _scale = _this$_notAnimatedSta._scale;
        this._notAnimatedStatus._limits = this._computeLimits(_left, _panX, _index, _pagesVisible, _width, _scale);

        this._onPanEnd();
      }
    }, {
      key: "_onScrollStart",
      value: function _onScrollStart() {
        if (this.onScrollStartGestureListener) {
          this.onScrollStartGestureListener();
        }
      }
    }, {
      key: "_onScrollEnd",
      value: function _onScrollEnd(params) {
        if (params[1] === this._notAnimatedStatus._index && params[1] === this._notAnimatedStatus._nPages - 1) {
          if (this.onSwipeOnLastPageListener) {
            this.onSwipeOnLastPageListener();
          }
        }

        this._notAnimatedStatus._panX = params[0];
        this._notAnimatedStatus._index = params[1];
        var _this$_notAnimatedSta2 = this._notAnimatedStatus,
            _left = _this$_notAnimatedSta2._left,
            _panX = _this$_notAnimatedSta2._panX,
            _index = _this$_notAnimatedSta2._index,
            _pagesVisible = _this$_notAnimatedSta2._pagesVisible,
            _width = _this$_notAnimatedSta2._width,
            _scale = _this$_notAnimatedSta2._scale;
        this._notAnimatedStatus._limits = this._computeLimits(_left, _panX, _index, _pagesVisible, _width, _scale);

        if (this.onScrollEndGestureListener) {
          this.onScrollEndGestureListener(this._getEventObject());
        }
      }
    }, {
      key: "_onPanBottomReached",
      value: function _onPanBottomReached() {
        if (this.onPanBottomReached) {
          this.onPanBottomReached();
        }
      }
    }, {
      key: "_onPanEndY",
      value: function _onPanEndY(params) {
        this._notAnimatedStatus._panY = params[0];

        this._onPanEnd();
      }
    }, {
      key: "_onPanEnd",
      value: function _onPanEnd() {
        if (this.onEndGestureListener) {
          this.onEndGestureListener((0, _extends2.default)({}, this._getEventObject(), {
            isPan: true
          }));
        }
      }
    }, {
      key: "_onPinchEnd",
      value: function _onPinchEnd(params) {
        this._notAnimatedStatus._scale = params[0];
        this._notAnimatedStatus._focalDisplacementX = params[1];
        this._notAnimatedStatus._focalDisplacementY = params[2];
        var _this$_notAnimatedSta3 = this._notAnimatedStatus,
            _left = _this$_notAnimatedSta3._left,
            _panX = _this$_notAnimatedSta3._panX,
            _index = _this$_notAnimatedSta3._index,
            _pagesVisible = _this$_notAnimatedSta3._pagesVisible,
            _width = _this$_notAnimatedSta3._width,
            _scale = _this$_notAnimatedSta3._scale;
        this._notAnimatedStatus._limits = this._computeLimits(_left, _panX, _index, _pagesVisible, _width, _scale);

        if (this.onEndGestureListener) {
          this.onEndGestureListener((0, _extends2.default)({}, this._getEventObject(), {
            isPinch: params[3] === 0
          }));
        }
      }
    }, {
      key: "_onFit",
      value: function _onFit() {
        if (this.onFitListener) {
          this.onFitListener();
        }
      }
    }, {
      key: "_onUnFit",
      value: function _onUnFit() {
        if (this.onUnFitListener) {
          this.onUnFitListener();
        }
      }
    }, {
      key: "_onToggleFit",
      value: function _onToggleFit() {
        if (this.onToggleFitListener) {
          this.onToggleFitListener();
        }
      }
    }, {
      key: "_onLeftChange",
      value: function _onLeftChange(_ref) {
        var _ref2 = (0, _slicedToArray2.default)(_ref, 1),
            limit = _ref2[0];

        this._notAnimatedStatus._left = limit;
      }
    }, {
      key: "_onRightChange",
      value: function _onRightChange(_ref3) {
        var _ref4 = (0, _slicedToArray2.default)(_ref3, 1),
            limit = _ref4[0];

        this._notAnimatedStatus._right = limit;
      }
    }, {
      key: "_onTopChange",
      value: function _onTopChange(_ref5) {
        var _ref6 = (0, _slicedToArray2.default)(_ref5, 1),
            limit = _ref6[0];

        this._notAnimatedStatus._top = limit;
      }
    }, {
      key: "_onBottomChange",
      value: function _onBottomChange(_ref7) {
        var _ref8 = (0, _slicedToArray2.default)(_ref7, 1),
            limit = _ref8[0];

        this._notAnimatedStatus._bottom = limit;
      }
    }, {
      key: "_onLimitChange",
      value: function _onLimitChange(_ref9) {
        var _ref10 = (0, _slicedToArray2.default)(_ref9, 4),
            left = _ref10[0],
            top = _ref10[1],
            right = _ref10[2],
            bottom = _ref10[3];

        this._notAnimatedStatus._left = left;
        this._notAnimatedStatus._top = top;
        this._notAnimatedStatus._right = right;
        this._notAnimatedStatus._bottom = bottom;
      }
    }, {
      key: "_isScaled",
      value: function _isScaled() {
        var _this$_notAnimatedSta4 = this._notAnimatedStatus,
            _scale = _this$_notAnimatedSta4._scale,
            _minScale = _this$_notAnimatedSta4._minScale;
        return _scale > _minScale;
      }
    }, {
      key: "panToLeft",
      value: function panToLeft() {
        this.keyPanXState.setValue(_$$_REQUIRE(_dependencyMap[7]).State.ACTIVE);
        this.keyPanXValue.setValue(_zoomConstants.default.constants.PAN_TO_DIST);
      }
    }, {
      key: "panToRight",
      value: function panToRight() {
        this.keyPanXState.setValue(_$$_REQUIRE(_dependencyMap[7]).State.ACTIVE);
        this.keyPanXValue.setValue(-_zoomConstants.default.constants.PAN_TO_DIST);
      }
    }, {
      key: "panToUp",
      value: function panToUp() {
        this.keyPanYState.setValue(_$$_REQUIRE(_dependencyMap[7]).State.ACTIVE);
        this.keyPanYValue.setValue(_zoomConstants.default.constants.PAN_TO_DIST);
      }
    }, {
      key: "panToDown",
      value: function panToDown() {
        this.keyPanYState.setValue(_$$_REQUIRE(_dependencyMap[7]).State.ACTIVE);
        this.keyPanYValue.setValue(-_zoomConstants.default.constants.PAN_TO_DIST);
      }
    }, {
      key: "scrollTo",
      value: function scrollTo(index) {
        var _this$_notAnimatedSta5 = this._notAnimatedStatus,
            _minScale = _this$_notAnimatedSta5._minScale,
            _nPages = _this$_notAnimatedSta5._nPages,
            _pagesVisible = _this$_notAnimatedSta5._pagesVisible,
            _isRtl = _this$_notAnimatedSta5._isRtl;
        this.scale.setValue(_minScale);

        this._scrollToAnimated.setValue(0);

        this._scrollState.setValue(_$$_REQUIRE(_dependencyMap[7]).State.ACTIVE);

        this._currentPage.setValue((0, _$$_REQUIRE(_dependencyMap[10]).fixStartupIndex)(index, _nPages, _pagesVisible, _isRtl));
      }
    }, {
      key: "scrollPage",
      value: function scrollPage(index) {
        var _this$_notAnimatedSta6 = this._notAnimatedStatus,
            _nPages = _this$_notAnimatedSta6._nPages,
            _pagesVisible = _this$_notAnimatedSta6._pagesVisible,
            _index = _this$_notAnimatedSta6._index,
            _isRtl = _this$_notAnimatedSta6._isRtl;
        var twoPageVisible = _pagesVisible === 2;
        var isLeftSwipe = index < _index;
        var isRightSwipe = !isLeftSwipe;
        var firstOrSecondLast = _index === 0 || _index === _nPages - 2;
        var secondOrLast = _index === 1 || _index === _nPages - 1;
        var odd = _index % 2 === 1;
        var nPagesToSwipe;

        if (_isRtl && _nPages % 2 === 1) {
          nPagesToSwipe = !twoPageVisible || isRightSwipe && secondOrLast || isLeftSwipe && firstOrSecondLast || odd ? 1 : _pagesVisible;
        } else {
          nPagesToSwipe = !twoPageVisible || isRightSwipe && firstOrSecondLast || isLeftSwipe && secondOrLast || !odd ? 1 : _pagesVisible;
        }

        var newIndex = isRightSwipe ? _index + nPagesToSwipe : _index - nPagesToSwipe;

        this._currentPage.setValue(newIndex);

        this._scrollToAnimated.setValue(1);

        this._scrollState.setValue(_$$_REQUIRE(_dependencyMap[7]).State.ACTIVE);
      }
    }, {
      key: "zoomTo",
      value: function zoomTo(nativeEvent) {
        var scale = nativeEvent.scale;
        var x = nativeEvent.x,
            y = nativeEvent.y;
        var _this$_notAnimatedSta7 = this._notAnimatedStatus,
            _scale = _this$_notAnimatedSta7._scale,
            _minScale = _this$_notAnimatedSta7._minScale;

        if (_scale > _minScale) {
          scale = _minScale;
        }

        this.zoom({
          x: x,
          y: y
        }, scale);
      }
    }, {
      key: "zoom",
      value: function zoom(_ref11, scale) {
        var x = _ref11.x,
            y = _ref11.y;
        var _this$_notAnimatedSta8 = this._notAnimatedStatus,
            _minScale = _this$_notAnimatedSta8._minScale,
            _maxScale = _this$_notAnimatedSta8._maxScale;
        var scaleToGo = Math.min(Math.max(scale, _minScale), _maxScale);

        this._onPinchStart();

        this._zoomToState.setValue(_$$_REQUIRE(_dependencyMap[7]).State.ACTIVE);

        var _this$_adjustDrag = this._adjustDrag({
          x: x,
          y: y
        }, scaleToGo),
            dragX = _this$_adjustDrag.dragX,
            dragY = _this$_adjustDrag.dragY;

        this._zoomToDragX.setValue(dragX);

        this._zoomToDragY.setValue(dragY);

        this._pinchFocalX.setValue(x);

        this._pinchFocalY.setValue(y);

        this._zoomToValue.setValue(scaleToGo);
      }
    }, {
      key: "_adjustDrag",
      value: function _adjustDrag(_ref12, scale) {
        var x = _ref12.x,
            y = _ref12.y;
        var _this$_notAnimatedSta9 = this._notAnimatedStatus,
            _viewHeight = _this$_notAnimatedSta9._viewHeight,
            _minScale = _this$_notAnimatedSta9._minScale;
        var dragY = 0;

        if (scale > _minScale) {
          if (y < _viewHeight / 4) {
            dragY = 50;
          } else if (y > _viewHeight * 3 / 4) {
            dragY = -50;
          }
        }

        return {
          dragX: 0,
          dragY: dragY
        };
      }
    }, {
      key: "setLayout",
      value: function setLayout(_ref13) {
        var width = _ref13.width,
            height = _ref13.height;

        this._layout.width.setValue(width);

        this._layout.height.setValue(height);
      }
    }, {
      key: "setContentLayout",
      value: function setContentLayout(_ref14) {
        var width = _ref14.width,
            height = _ref14.height;
        this._notAnimatedStatus._width = width;
        this._notAnimatedStatus._height = height;

        this._contentLayout.width.setValue(width);

        this._contentLayout.height.setValue(height);
      }
    }, {
      key: "setInitialPage",
      value: function setInitialPage(index) {}
    }, {
      key: "setOnStartGestureListener",
      value: function setOnStartGestureListener(listener) {
        this.onStartGestureListener = listener;
      }
    }, {
      key: "setOnEndGestureListener",
      value: function setOnEndGestureListener(listener) {
        this.onEndGestureListener = listener;
      }
    }, {
      key: "setOnPanBottomReached",
      value: function setOnPanBottomReached(listener) {
        this.onPanBottomReached = listener;
      }
    }, {
      key: "setOnScrollEndGestureListener",
      value: function setOnScrollEndGestureListener(listener) {
        this.onScrollEndGestureListener = listener;
      }
    }, {
      key: "setOnStartScrollGestureListener",
      value: function setOnStartScrollGestureListener(listener) {
        this.onScrollStartGestureListener = listener;
      }
    }, {
      key: "setOnSwipeOnLastPageListener",
      value: function setOnSwipeOnLastPageListener(listener) {
        this.onSwipeOnLastPageListener = listener;
      }
    }, {
      key: "setOnFitListener",
      value: function setOnFitListener(listener) {
        this.onFitListener = listener;
      }
    }, {
      key: "setOnUnFitListener",
      value: function setOnUnFitListener(listener) {
        this.onUnFitListener = listener;
      }
    }, {
      key: "setOnToggleFitListener",
      value: function setOnToggleFitListener(listener) {
        this.onToggleFitListener = listener;
      }
    }, {
      key: "setProps",
      value: function setProps(_ref15) {
        var maxScale = _ref15.maxScale;
        this._notAnimatedStatus._maxScale = maxScale;

        this._maxScale.setValue(maxScale);
      }
    }]);
    return ZoomViewPagerMgr;
  }();

  exports.default = ZoomViewPagerMgr;
},2409,[5,41,6,7,8,646,2165,1,2410,2411,645]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.pinchMgr = pinchMgr;

  var _reactNativeReanimated = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _zoomConstants = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var add = _reactNativeReanimated.default.add,
      sub = _reactNativeReanimated.default.sub,
      abs = _reactNativeReanimated.default.abs,
      round = _reactNativeReanimated.default.round,
      set = _reactNativeReanimated.default.set,
      cond = _reactNativeReanimated.default.cond,
      Value = _reactNativeReanimated.default.Value,
      and = _reactNativeReanimated.default.and,
      or = _reactNativeReanimated.default.or,
      eq = _reactNativeReanimated.default.eq,
      multiply = _reactNativeReanimated.default.multiply,
      lessThan = _reactNativeReanimated.default.lessThan,
      greaterThan = _reactNativeReanimated.default.greaterThan,
      divide = _reactNativeReanimated.default.divide,
      max = _reactNativeReanimated.default.max,
      min = _reactNativeReanimated.default.min,
      debug = _reactNativeReanimated.default.debug,
      clockRunning = _reactNativeReanimated.default.clockRunning,
      stopClock = _reactNativeReanimated.default.stopClock,
      not = _reactNativeReanimated.default.not,
      call = _reactNativeReanimated.default.call,
      Clock = _reactNativeReanimated.default.Clock;

  function scaleRest(minScale, maxScale, value) {
    return cond(greaterThan(value, maxScale), maxScale, cond(lessThan(value, minScale), minScale, value));
  }

  function scaleFriction(value, rest, delta) {
    var MAX_FRICTION = 20;
    var MAX_VALUE = 0.5;
    var res = multiply(value, delta);
    var howFar = abs(sub(rest, value));
    var animatedFriction = max(1, min(MAX_FRICTION, add(1, multiply(howFar, 38))));
    return cond(lessThan(0, howFar), multiply(value, add(1, divide(add(delta, -1), animatedFriction))), res);
  }

  function fitValue(scale, contentWidth, viewWidth) {
    return greaterThan(multiply(round(contentWidth), scale), round(viewWidth));
  }

  function hMargin(scale, minScale, contentWidth, viewWidth, pagesVisible) {
    var margin = max(divide(sub(viewWidth, multiply(contentWidth, max(minScale, scale), pagesVisible)), 2), 0);
    return [debug("HORIZONTAL MARGIN: ", margin), margin];
  }

  function topConstraint(scale, minScale, displacementY) {
    var limit = multiply(displacementY, -1);
    return [debug("TOP: ", limit), limit];
  }

  function bottomConstraint(top, scale, minScale, height, viewHeight) {
    var limit = sub(top, sub(multiply(max(height, viewHeight), max(minScale, scale)), viewHeight));
    return [debug("BOTTOM: ", limit), limit];
  }

  function leftConstraint(scale, minScale, displacementX) {
    var limit = cond(lessThan(scale, minScale), 0, multiply(displacementX, -1));
    return [debug("LEFT: ", limit), limit];
  }

  function rightConstraint(left, scale, width, pages, pagesVisible) {
    var limit = add(left, multiply(max(1, scale), pages, width, -1), multiply(width, pagesVisible));
    return [debug("RIGHT: ", limit), limit];
  }

  function pinchMgr(starting, pinchStart, pinchActive, pinchEnd, pinchOldState, pinchScale, value, relativeFocalX, relativeFocalY, displacementX, displacementY, minScale, maxScale, onStart, onEnd, nPages, pagesVisible, isFitMode, fit, isFitted, onFit, onUnFit, width, height, viewWidth, viewHeight, horizontalMargin, toggleFit, zoomToState, zoomToValue, scrollNotAnimated, leftLimit, topLimit, rightLimit, bottomLimit, onUpdateLimit) {
    var clock = new Clock();
    var nextScale = new Value(1);
    var scaleToRet = new Value(1);
    var finishPinch = new Value(0);
    var isStartScaleEqualToMinScale = new Value(0);
    var zoomToActive = eq(zoomToState, _$$_REQUIRE(_dependencyMap[3]).State.ACTIVE);
    var zoomClock = new Clock();
    var tmpDelta = new Value(1);
    var prevPinchScale = new Value(1);
    var delta = [set(tmpDelta, divide(pinchScale, prevPinchScale)), set(prevPinchScale, pinchScale), tmpDelta];
    var variation = multiply(value, delta);
    var rest = scaleRest(minScale, maxScale, value);
    var focalXRest = cond(lessThan(value, minScale), 0, sub(displacementX, multiply(relativeFocalX, add(-1, divide(rest, value)))));
    var focalYRest = cond(lessThan(value, minScale), 0, sub(displacementY, multiply(relativeFocalY, add(-1, divide(rest, value)))));
    var enableFriction = or(clockRunning(clock), and(isFitMode, lessThan(variation, minScale), eq(isStartScaleEqualToMinScale, 1)));
    var checkToggleFit = cond(and(isFitMode, lessThan(add(variation, _zoomConstants.default.constants.TOGGLE_FIT_VARIATION), minScale)), [debug("SCALE X:", divide(viewWidth, width)), stopClock(clock), call([], toggleFit)]);
    var nextScaleRest = cond(enableFriction, scaleFriction(value, rest, delta), scaleRest(minScale, maxScale, variation));
    return [set(scaleToRet, cond(scrollNotAnimated, [set(nextScale, minScale), debug("PINCH BY SCROLL NOT ANIMATED: ", nextScale), set(finishPinch, 1), nextScale], cond(zoomToActive, [cond(not(clockRunning(zoomClock)), [debug("ZOOM TO START: ", value), call([], onStart)]), set(nextScale, (0, _$$_REQUIRE(_dependencyMap[4]).runTiming)(zoomClock, value, zoomToValue, {
      duration: _zoomConstants.default.constants.ZOOM_TO_DURATION
    })), set(displacementX, sub(displacementX, multiply(relativeFocalX, add(-1, divide(nextScale, value))))), set(displacementY, sub(displacementY, multiply(relativeFocalY, add(-1, divide(nextScale, value))))), debug("ZOOM TO: ", nextScale), cond(not(clockRunning(zoomClock)), [debug("ZOOM TO END: ", nextScale), set(zoomToState, _$$_REQUIRE(_dependencyMap[3]).State.END), set(finishPinch, 1)]), nextScale], cond([delta, pinchActive], [stopClock(clock), set(nextScale, nextScaleRest), set(displacementX, sub(displacementX, multiply(relativeFocalX, add(-1, divide(nextScale, value))))), set(displacementY, sub(displacementY, multiply(relativeFocalY, add(-1, divide(nextScale, value))))), debug("SCALE: ", nextScale), nextScale], cond(enableFriction, [debug("SCALE BOUNCY: ", rest), checkToggleFit, set(displacementX, (0, _$$_REQUIRE(_dependencyMap[4]).runTiming)(clock, displacementX, focalXRest, {
      startStopClock: false
    })), set(displacementY, (0, _$$_REQUIRE(_dependencyMap[4]).runTiming)(clock, displacementY, focalYRest, {
      startStopClock: false
    })), (0, _$$_REQUIRE(_dependencyMap[4]).runTiming)(clock, value, rest)], cond(pinchEnd, [set(displacementX, focalXRest), set(displacementY, focalYRest), set(finishPinch, 1), debug("SCALE TO END: ", rest), rest], [debug("SCALE START: ", value), set(isStartScaleEqualToMinScale, cond(eq(value, minScale), 1, 0)), cond(or(pinchStart, eq(starting, 1)), [set(starting, 0), call([starting], onStart)]), value])))))), set(leftLimit, leftConstraint(scaleToRet, minScale, displacementX)), set(topLimit, topConstraint(scaleToRet, minScale, displacementY)), set(rightLimit, rightConstraint(leftLimit, scaleToRet, width, nPages, pagesVisible)), set(bottomLimit, bottomConstraint(topLimit, scaleToRet, minScale, height, viewHeight)), set(fit, fitValue(scaleToRet, width, viewWidth)), set(horizontalMargin, hMargin(scaleToRet, minScale, width, viewWidth, pagesVisible)), cond(eq(finishPinch, 1), [call([leftLimit, topLimit, rightLimit, bottomLimit], onUpdateLimit), cond(isFitted, call([], onFit), call([], onUnFit)), call([scaleToRet, displacementX, displacementY, zoomToActive], onEnd), set(finishPinch, 0), set(pinchOldState, _$$_REQUIRE(_dependencyMap[3]).State.UNDETERMINED), set(prevPinchScale, 1), set(pinchScale, 1)]), scaleToRet];
  }
},2410,[5,646,2165,1,645]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.panXMgr = panXMgr;
  exports.panYMgr = panYMgr;

  var _reactNativeReanimated = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[0]));

  var _zoomConstants = _$$_REQUIRE(_dependencyMap[1])(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var add = _reactNativeReanimated.default.add,
      sub = _reactNativeReanimated.default.sub,
      modulo = _reactNativeReanimated.default.modulo,
      abs = _reactNativeReanimated.default.abs,
      floor = _reactNativeReanimated.default.floor,
      round = _reactNativeReanimated.default.round,
      set = _reactNativeReanimated.default.set,
      cond = _reactNativeReanimated.default.cond,
      Value = _reactNativeReanimated.default.Value,
      and = _reactNativeReanimated.default.and,
      or = _reactNativeReanimated.default.or,
      eq = _reactNativeReanimated.default.eq,
      multiply = _reactNativeReanimated.default.multiply,
      lessThan = _reactNativeReanimated.default.lessThan,
      greaterThan = _reactNativeReanimated.default.greaterThan,
      divide = _reactNativeReanimated.default.divide,
      max = _reactNativeReanimated.default.max,
      debug = _reactNativeReanimated.default.debug,
      clockRunning = _reactNativeReanimated.default.clockRunning,
      stopClock = _reactNativeReanimated.default.stopClock,
      not = _reactNativeReanimated.default.not,
      call = _reactNativeReanimated.default.call,
      Clock = _reactNativeReanimated.default.Clock;

  function fixStartupAnimatedIndex(index, nPages, pagesVisible) {
    var isRtl = eq(_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isRTL(), true);
    var oddPages = eq(modulo(nPages, 2), 1);
    var oddPage = eq(modulo(index, 2), 1);
    return cond(eq(pagesVisible, 1), index, cond(eq(index, 0), index, cond(eq(index, add(nPages, -1)), add(index, -1), cond(and(isRtl, oddPages, not(oddPage)), index, cond(and(isRtl, oddPages, not(oddPage)), add(index, -1), cond(and(isRtl, not(oddPage)), add(index, -1), cond(oddPage, index, add(index, -1))))))));
  }

  function scaleDiff(value) {
    var tmp = new Value(1);
    var prev = new Value(1);
    return [set(tmp, divide(value, prev)), set(prev, value), tmp];
  }

  function dragDiff(value, updating) {
    var tmp = new Value(0);
    var prev = new Value(0);
    return cond(updating, [set(tmp, sub(value, prev)), set(prev, value), tmp], set(prev, 0));
  }

  function panRest(top, bottom, value) {
    return cond(lessThan(value, bottom), bottom, cond(greaterThan(value, top), top, value));
  }

  function getIndex(x, width, scale, left) {
    var scaledWidth = multiply(width, scale);
    var translationX = sub(left, x);
    var mod = sub(scaledWidth, abs(modulo(translationX, scaledWidth)));
    var temp = abs(divide(translationX, scaledWidth));
    var floorTemp = max(floor(temp), 0);
    var roundTemp = max(round(temp), 0);
    var page = cond(greaterThan(mod, multiply(width, 0.5)), floorTemp, roundTemp);
    return [debug("PAGE: ", page), page];
  }

  function panXMgr(panStart, panActive, panEnd, panCancelled, scrollState, scrollAnimated, value, drag, velocityX, enableAnimation, left, right, isLandscape, isFitted, width, snapSize, whiteMargin, index, scale, minScale, pagesVisible, nPages, onStart, onEnd, onScrollStart, onScrollEnd, valueY, top, isTablet, zoomActive, zoomToDragX, isRtl, keyPanState, keyPanValue) {
    var clockSwipe = new Clock();
    var clockMagnetic = new Clock();
    var clockAlign = new Clock();
    var keyPanClock = new Clock();
    var rest = panRest(left, right, value);
    var areTwoPagesVisible = eq(pagesVisible, 2);
    var pageScaledWidth = multiply(width, scale);
    var pagesScaledWidth = multiply(pageScaledWidth, pagesVisible);
    var visibleAreaWidth = add(multiply(width, pagesVisible), whiteMargin, whiteMargin);
    var scaledSnapSize = max(0, sub(multiply(snapSize, scale), _zoomConstants.default.constants.SNAP_PADDING));
    var maxVelocityX = new Value(0);
    var scaleDelta = scaleDiff(scale);
    var isScaling = not(eq(scaleDelta, 1));
    var isScalingDown = lessThan(scaleDelta, 1);
    var isSwiping = or(clockRunning(clockSwipe), and(greaterThan(abs(maxVelocityX), cond(areTwoPagesVisible, _zoomConstants.default.constants.VIEW_PAGER_VELOCITY_2PAGES, _zoomConstants.default.constants.VIEW_PAGER_VELOCITY_1PAGE)), panEnd, enableAnimation, not(isFitted)));
    var isMagnetic = or(clockRunning(clockMagnetic), and(enableAnimation, greaterThan(abs(maxVelocityX), _zoomConstants.default.constants.MAGNETIC_PAN_VELOCITY_X), isFitted, panEnd));
    var isLeftSwipe = greaterThan(maxVelocityX, 0);
    var isRightSwipe = not(isLeftSwipe);
    var odd = eq(modulo(index, 2), 1);
    var oddPages = eq(modulo(nPages, 2), 1);
    var isFirstPage = eq(index, 0);
    var isSecondPage = eq(index, 1);
    var isSecondLast = eq(index, add(nPages, -2));
    var isLastPage = eq(index, add(nPages, -1));
    var firstOrSecondLast = or(isFirstPage, isSecondLast);
    var secondOrLast = or(isSecondPage, isLastPage);
    var rtlAndOddPagesToSwipe = cond(or(not(areTwoPagesVisible), and(isRightSwipe, secondOrLast), and(isLeftSwipe, firstOrSecondLast), odd), 1, pagesVisible);
    var pagesToSwipe = cond(or(not(areTwoPagesVisible), and(isRightSwipe, firstOrSecondLast), and(isLeftSwipe, secondOrLast), not(odd)), 1, pagesVisible);
    var nPagesToSwipe = cond(and(isRtl, oddPages), rtlAndOddPagesToSwipe, pagesToSwipe);
    var fixedIndex = fixStartupAnimatedIndex(index, nPages, pagesVisible);
    var visiblePageLeftBorder = sub(left, multiply(pageScaledWidth, fixedIndex), whiteMargin);
    var visiblePageRightBorder = sub(visiblePageLeftBorder, multiply(pageScaledWidth, pagesVisible));
    var paperPageLeftBorder = cond(areTwoPagesVisible, cond(isFirstPage, sub(left, whiteMargin), cond(isLastPage, sub(left, multiply(pageScaledWidth, index), whiteMargin), cond(isSecondLast, cond(isFitted, sub(left, multiply(pageScaledWidth, add(index, -1)), whiteMargin), sub(left, multiply(pageScaledWidth, index), whiteMargin)), visiblePageLeftBorder))), visiblePageLeftBorder);
    var paperPageRightBorder = cond(areTwoPagesVisible, [cond(isFirstPage, cond(isFitted, sub(paperPageLeftBorder, pageScaledWidth), sub(paperPageLeftBorder, pagesScaledWidth)), cond(isSecondLast, sub(paperPageLeftBorder, pagesScaledWidth), visiblePageRightBorder))], visiblePageRightBorder);
    var magneticFactor = cond(areTwoPagesVisible, _zoomConstants.default.constants.MAGNETIC_PAN_X_FACTOR_2PAGES, _zoomConstants.default.constants.MAGNETIC_PAN_X_FACTOR_1PAGE);
    var absoluteVariation = multiply(width, pagesVisible, magneticFactor);
    var tempDestination = add(rest, cond(isLeftSwipe, absoluteVariation, multiply(absoluteVariation, -1)));
    var magneticDestination = panRest(left, right, cond(isLeftSwipe, cond(and(greaterThan(tempDestination, paperPageLeftBorder), lessThan(rest, paperPageLeftBorder)), paperPageLeftBorder, cond(lessThan(abs(sub(add(paperPageLeftBorder, visibleAreaWidth), tempDestination)), scaledSnapSize), add(paperPageLeftBorder, visibleAreaWidth), tempDestination)), cond(and(lessThan(tempDestination, add(paperPageRightBorder, visibleAreaWidth)), greaterThan(rest, add(visibleAreaWidth, paperPageRightBorder))), add(paperPageRightBorder, visibleAreaWidth), cond(lessThan(abs(sub(paperPageRightBorder, tempDestination)), scaledSnapSize), paperPageRightBorder, tempDestination))));
    var scrollActive = eq(scrollState, _$$_REQUIRE(_dependencyMap[4]).State.ACTIVE);
    var scrollAnimatedActive = eq(scrollAnimated, 1);
    var newIndex = cond(scrollActive, index, cond(isRightSwipe, add(index, nPagesToSwipe), sub(index, nPagesToSwipe)));
    var swipeDestination = add(multiply(pageScaledWidth, newIndex), whiteMargin);
    var absolutePanX = add(multiply(-1, left), cond(scrollActive, value, sub(value, drag)));
    var fixedSwipeDestination = panRest(left, right, cond(and(or(not(scrollActive), scrollAnimatedActive), greaterThan(abs(sub(abs(absolutePanX), swipeDestination)), multiply(pagesScaledWidth, 1.25))), cond(greaterThan(value, sub(left, swipeDestination)), sub(left, multiply(pageScaledWidth, sub(newIndex, 1)), whiteMargin), sub(left, multiply(pageScaledWidth, add(newIndex, 1)), whiteMargin)), sub(left, swipeDestination)));
    var diffX = dragDiff(drag, panActive);
    var panDestination = panRest(left, right, add(value, diffX));
    var nearLeft = lessThan(abs(sub(paperPageLeftBorder, rest)), scaledSnapSize);
    var nearRight = lessThan(abs(sub(paperPageRightBorder, sub(rest, visibleAreaWidth))), scaledSnapSize);
    var nextValue = new Value(0);
    var alignToTop = cond(and(not(eq(valueY, top)), or(enableAnimation, scrollAnimatedActive), clockRunning(clockSwipe)), [debug("ALIGN TOP:", valueY), set(valueY, (0, _$$_REQUIRE(_dependencyMap[5]).runTiming)(clockSwipe, valueY, top, {
      startStopClock: false
    }))]);
    var enableSnap = or(clockRunning(clockAlign), and(greaterThan(abs(maxVelocityX), 0), or(and(isLeftSwipe, nearLeft), and(isRightSwipe, nearRight))));
    var snapTiming = (0, _$$_REQUIRE(_dependencyMap[5]).runTiming)(clockAlign, rest, cond(nearLeft, paperPageLeftBorder, add(paperPageRightBorder, visibleAreaWidth)), {
      duration: _zoomConstants.default.constants.SNAP_VELOCITY
    });
    var tempDragX = new Value(0);
    var tempPan = new Value(0);
    var zoomClock = new Clock();
    return cond(or(eq(keyPanState, _$$_REQUIRE(_dependencyMap[4]).State.ACTIVE), clockRunning(keyPanClock)), [cond(not(clockRunning(keyPanClock)), set(tempPan, value)), set(tempDragX, (0, _$$_REQUIRE(_dependencyMap[5]).runTiming)(keyPanClock, 0, keyPanValue, {
      duration: _zoomConstants.default.constants.ZOOM_TO_DURATION
    })), set(value, panRest(left, right, add(tempPan, tempDragX))), set(index, getIndex(value, width, scale, left)), cond(not(clockRunning(keyPanClock)), [set(keyPanState, _$$_REQUIRE(_dependencyMap[4]).State.UNDETERMINED), set(keyPanValue, 0), call([value, index], onEnd)]), value], cond(or(zoomActive, clockRunning(zoomClock)), [set(tempDragX, (0, _$$_REQUIRE(_dependencyMap[5]).runTiming)(zoomClock, 0, zoomToDragX, {
      duration: _zoomConstants.default.constants.ZOOM_TO_DURATION
    })), set(tempPan, cond(isScalingDown, panRest(visiblePageLeftBorder, add(visiblePageRightBorder, multiply(width, pagesVisible)), add(value, dragDiff(tempDragX, zoomActive))), add(value, dragDiff(tempDragX, zoomActive)))), set(index, getIndex(tempPan, width, scale, left)), cond(not(clockRunning(zoomClock)), [call([tempPan, index], onEnd)]), tempPan], cond(scrollActive, [cond(not(clockRunning(clockSwipe)), [debug("SCROLL START", nextValue), call([], onScrollStart)]), cond(scrollAnimatedActive, [alignToTop, debug("SCROLL FIXED: ", fixedSwipeDestination), set(nextValue, (0, _$$_REQUIRE(_dependencyMap[5]).runTiming)(clockSwipe, rest, fixedSwipeDestination, {
      duration: _zoomConstants.default.constants.VIEW_PAGER_SWIPE_DURATION
    }))], [set(nextValue, fixedSwipeDestination), set(valueY, top)]), cond(or(not(scrollAnimatedActive), not(clockRunning(clockSwipe))), [debug("SCROLL END X: ", nextValue), set(index, getIndex(nextValue, width, scale, left)), set(scrollState, _$$_REQUIRE(_dependencyMap[4]).State.END), call([nextValue, index], onScrollEnd)]), nextValue], cond(isSwiping, [cond(not(clockRunning(clockSwipe)), [debug("SWIPE START", nextValue), call([], onScrollStart)]), alignToTop, set(nextValue, (0, _$$_REQUIRE(_dependencyMap[5]).runTiming)(clockSwipe, rest, fixedSwipeDestination, {
      duration: _zoomConstants.default.constants.VIEW_PAGER_SWIPE_DURATION
    })), cond(not(clockRunning(clockSwipe)), [debug("SWIPE END X: ", nextValue), set(maxVelocityX, 0), set(drag, 0), set(index, getIndex(nextValue, width, scale, left)), call([nextValue, index], onScrollEnd)]), nextValue], cond([diffX, velocityX, panActive], [stopClock(clockMagnetic), cond(not(isScaling), cond(greaterThan(abs(velocityX), 0), set(maxVelocityX, velocityX)), set(maxVelocityX, 0)), set(velocityX, 0), debug("PAN ACTIVE MAX VELOCITY X: ", maxVelocityX), panDestination], cond(and(panEnd, not(panCancelled)), cond(isMagnetic, [set(nextValue, (0, _$$_REQUIRE(_dependencyMap[5]).runTiming)(clockMagnetic, rest, magneticDestination)), cond(not(clockRunning(clockMagnetic)), [debug("MAGNETIC END X: ", nextValue), set(maxVelocityX, 0), set(index, getIndex(nextValue, width, scale, left)), call([nextValue, index], onEnd)]), nextValue], [set(index, getIndex(rest, width, scale, left)), debug("PAN END VELOCITY X: ", maxVelocityX), cond(enableSnap, [debug("SNAP X: ", rest), set(nextValue, snapTiming), cond(not(clockRunning(clockAlign)), [call([nextValue, index], onEnd)]), nextValue], [debug("PAN END X: ", rest), set(maxVelocityX, 0), call([rest, index], onEnd), rest])]), [cond(panStart, [debug("PAN START X: ", rest), call([], onStart)]), set(index, getIndex(rest, width, scale, left)), cond(panCancelled, [stopClock(clockMagnetic), call([rest, index], onEnd), set(maxVelocityX, 0)]), rest]))))));
  }

  function panYMgr(panStart, panActive, panEnd, panCancelled, value, drag, velocityY, enableAnimation, top, bottom, isLandscape, scale, height, parentHeight, onStart, onEnd, onBottomReached, zoomActive, zoomToDragY, keyPanState, keyPanValue) {
    var clockMagnetic = new Clock();
    var scaleDelta = scaleDiff(scale);
    var isScaling = not(eq(scaleDelta, 1));
    var maxVelocityY = new Value(0);
    var diffY = dragDiff(drag, panActive);
    var rest = panRest(top, bottom, value);
    var isMagneting = or(clockRunning(clockMagnetic), and(enableAnimation, greaterThan(abs(maxVelocityY), _zoomConstants.default.constants.MAGNETIC_PAN_VELOCITY_Y)));
    var absoluteVariation = multiply(parentHeight, cond(isLandscape, _zoomConstants.default.constants.MAGNETIC_PAN_Y_FACTOR_LANDSCAPE, _zoomConstants.default.constants.MAGNETIC_PAN_Y_FACTOR_PORTRAIT));
    var variation = cond(greaterThan(maxVelocityY, 0), absoluteVariation, multiply(absoluteVariation, -1));
    var magneticDestination = panRest(top, bottom, add(rest, variation));
    var nextMagneticValue = new Value(0);
    var tempDragY = new Value(0);
    var tempPan = new Value(0);
    var zoomClock = new Clock();
    var keyPanClock = new Clock();
    var bottomReachedCalled = new Value(0);
    return cond(or(eq(keyPanState, _$$_REQUIRE(_dependencyMap[4]).State.ACTIVE), clockRunning(keyPanClock)), [cond(not(clockRunning(keyPanClock)), set(tempPan, value)), set(tempDragY, (0, _$$_REQUIRE(_dependencyMap[5]).runTiming)(keyPanClock, 0, keyPanValue, {
      duration: _zoomConstants.default.constants.ZOOM_TO_DURATION
    })), set(value, panRest(top, bottom, add(tempPan, tempDragY))), cond(not(clockRunning(keyPanClock)), [set(keyPanState, _$$_REQUIRE(_dependencyMap[4]).State.UNDETERMINED), set(tempDragY, 0), set(keyPanValue, 0), call([value], onEnd)]), value], cond(or(zoomActive, clockRunning(zoomClock)), [cond(not(clockRunning(zoomClock)), set(tempPan, value)), set(tempDragY, (0, _$$_REQUIRE(_dependencyMap[5]).runTiming)(zoomClock, 0, zoomToDragY, {
      duration: _zoomConstants.default.constants.ZOOM_TO_DURATION
    })), set(value, panRest(top, bottom, add(tempPan, tempDragY))), cond(not(clockRunning(zoomClock)), [set(tempDragY, 0), set(zoomToDragY, 0), call([value], onEnd)]), value], cond([diffY, velocityY, panActive], [stopClock(clockMagnetic), cond(not(isScaling), cond(greaterThan(abs(velocityY), 0), set(maxVelocityY, velocityY)), set(maxVelocityY, 0)), cond(and(eq(bottomReachedCalled, 0), (0, _reactNativeReanimated.lessOrEq)(value, bottom), lessThan(drag, -_zoomConstants.default.constants.VERTICAL_THRESHOLD)), [set(bottomReachedCalled, 1), call([], onBottomReached)]), set(velocityY, 0), debug("VELOCITY Y: ", maxVelocityY), panRest(top, bottom, add(value, diffY))], cond(and(panEnd, not(panCancelled)), cond(isMagneting, [set(nextMagneticValue, (0, _$$_REQUIRE(_dependencyMap[5]).runTiming)(clockMagnetic, rest, magneticDestination)), cond(not(clockRunning(clockMagnetic)), [debug("MAGNETIC END Y: ", nextMagneticValue), set(bottomReachedCalled, 0), set(maxVelocityY, 0), call([nextMagneticValue], onEnd)]), nextMagneticValue], [debug("PAN END Y: ", rest), stopClock(zoomClock), call([rest], onEnd), set(bottomReachedCalled, 0), set(maxVelocityY, 0), rest]), [cond(panStart, [debug("PAN START Y: ", value), call([], onStart)]), cond(panCancelled, [debug("PAN CANCELLED Y: ", value), stopClock(clockMagnetic), call([rest], onEnd), set(bottomReachedCalled, 0), set(maxVelocityY, 0)]), rest]))));
  }
},2411,[646,5,2165,462,1,645]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _zoomClickEvent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var TapViewPagerManager = function () {
    function TapViewPagerManager(props) {
      (0, _classCallCheck2.default)(this, TapViewPagerManager);
      this.props = props;
      this.isFitted = false;
      this.onTwoFingersTap = this._onTwoFingersTap.bind(this);
      this.onDoubleTap = this._onDoubleTap.bind(this);
      this.onTap = this._onTap.bind(this);
      this.onLongPress = this._onLongPress.bind(this);
    }

    (0, _createClass2.default)(TapViewPagerManager, [{
      key: "setProps",
      value: function setProps(props) {
        this.props = props;
      }
    }, {
      key: "_getClickedPosition",
      value: function _getClickedPosition(_ref) {
        var x = _ref.x,
            y = _ref.y;
        var model = new _zoomClickEvent.default();

        if (this.gestureEvent) {
          var _this$gestureEvent = this.gestureEvent,
              _left = _this$gestureEvent._left,
              _top = _this$gestureEvent._top,
              pageLimits = _this$gestureEvent._limits,
              index = _this$gestureEvent._index,
              panX = _this$gestureEvent._panX,
              panY = _this$gestureEvent._panY,
              width = _this$gestureEvent._width,
              height = _this$gestureEvent._height,
              scale = _this$gestureEvent._scale;
          var _this$props = this.props,
              size = _this$props.size,
              minScale = _this$props.minScale,
              numberOfShowedPages = _this$props.numberOfShowedPages;
          var scaledWidth = width * Math.max(minScale, scale);
          var margin = Math.max((size.width - width * minScale * numberOfShowedPages) / 2, 0);
          var scaledMargin = Math.max((size.width - scaledWidth * numberOfShowedPages) / 2, 0);
          var clickableMargin = margin - scaledMargin;
          var absolutePanX = -1 * _left + panX + clickableMargin;
          var absolutePanY = -1 * _top + panY;
          model.setOffsetX(absolutePanX);
          model.setOffsetY(absolutePanY);
          var clickX = 0;
          var clickIndex = index;

          for (var i = 1; i < pageLimits.length; i++) {
            var prevLimit = pageLimits[i - 1];
            var nextLimit = pageLimits[i];
            var absoluteClickX = absolutePanX - x;

            if (absoluteClickX > nextLimit) {
              clickX = Math.abs(prevLimit - absoluteClickX);
              clickIndex = Math.floor(Math.abs(absoluteClickX) / scaledWidth);
              break;
            }
          }

          model.setX(clickX);
          model.setIndex(clickIndex);
          model.setY(Math.abs(absolutePanY - y));
          model.setScale(scale);
          model.setContentWidth(width);
          model.setContentHeight(height);
          model.setGreaterThanFit(this.isFitted);
        }

        return model;
      }
    }, {
      key: "_computeScaleToGo",
      value: function _computeScaleToGo() {
        var _this$props2 = this.props,
            zoomingFactor = _this$props2.zoomingFactor,
            contentSize = _this$props2.contentSize,
            dipsScale = _this$props2.dipsScale;
        var scale = dipsScale() * zoomingFactor / contentSize.width;
        return scale;
      }
    }, {
      key: "_autoZoom",
      value: function _autoZoom(event) {
        var scale = this._computeScaleToGo();

        var x = event.x,
            y = event.y,
            numTaps = event.numTaps;

        this._applyScale({
          scale: scale,
          x: x,
          y: y,
          numTaps: numTaps
        });
      }
    }, {
      key: "_applyScale",
      value: function _applyScale(_ref2) {
        var scale = _ref2.scale,
            _ref2$x = _ref2.x,
            x = _ref2$x === undefined ? 0 : _ref2$x,
            _ref2$y = _ref2.y,
            y = _ref2$y === undefined ? 0 : _ref2$y,
            _ref2$numTaps = _ref2.numTaps,
            numTaps = _ref2$numTaps === undefined ? 1 : _ref2$numTaps;
        var minScale = this.props.minScale;
        var newScale = scale || minScale;
        this.onAutoZoomListener({
          scale: newScale,
          x: x,
          y: y,
          numTaps: numTaps
        });
      }
    }, {
      key: "_getFitScale",
      value: function _getFitScale() {
        var _this$props3 = this.props,
            size = _this$props3.size,
            contentSize = _this$props3.contentSize;
        var fitScale = size.width / contentSize.width;
        return fitScale;
      }
    }, {
      key: "_isGreaterThanFitZoom",
      value: function _isGreaterThanFitZoom() {
        var _scale = this.gestureEvent._scale;
        return _scale > this._getFitScale() * 1.1;
      }
    }, {
      key: "_onTwoFingersTap",
      value: function _onTwoFingersTap(_ref3) {
        var nativeEvent = _ref3.nativeEvent;
        var _this$props4 = this.props,
            twoFingerTapEnabled = _this$props4.twoFingerTapEnabled,
            onTwoFingersTap = _this$props4.onTwoFingersTap,
            onSingleTap = _this$props4.onSingleTap;

        if (typeof twoFingerTapEnabled === "function" && twoFingerTapEnabled()) {
          if (typeof onTwoFingersTap === "function") {
            onTwoFingersTap(this._getClickedPosition(nativeEvent));
          }
        } else if (typeof onSingleTap === "function") {
          onSingleTap(this._getClickedPosition(nativeEvent));
        }
      }
    }, {
      key: "_onDoubleTap",
      value: function _onDoubleTap(_ref4) {
        var nativeEvent = _ref4.nativeEvent;
        var onDoubleTap = this.props.onDoubleTap;
        var customHandle = typeof onDoubleTap === "function" && !this._isGreaterThanFitZoom() && onDoubleTap(this._getClickedPosition(nativeEvent));

        if (!customHandle) {
          this._autoZoom((0, _extends2.default)({}, nativeEvent, {
            numTaps: 2
          }));
        }
      }
    }, {
      key: "_onTap",
      value: function _onTap(_ref5) {
        var nativeEvent = _ref5.nativeEvent;
        var _this$props5 = this.props,
            onExtraTap = _this$props5.onExtraTap,
            onSingleTap = _this$props5.onSingleTap,
            singleTapToZoom = _this$props5.singleTapToZoom;

        if (typeof onExtraTap !== "function" || !onExtraTap(this._getClickedPosition(nativeEvent))) {
          if (typeof singleTapToZoom === "function" && singleTapToZoom() || !_$$_REQUIRE(_dependencyMap[5]).PlatformUtils.isTablet() && this._isGreaterThanFitZoom()) {
            var customHandle = typeof onSingleTap === "function" && !this._isGreaterThanFitZoom() && onSingleTap(this._getClickedPosition(nativeEvent));

            if (!customHandle) {
              this._autoZoom((0, _extends2.default)({}, nativeEvent, {
                numTaps: 1
              }));
            }
          } else if (typeof onSingleTap === "function") {
            onSingleTap(this._getClickedPosition(nativeEvent));
          }
        }
      }
    }, {
      key: "_onLongPress",
      value: function _onLongPress(_ref6) {
        var nativeEvent = _ref6.nativeEvent;
        var onLongPress = this.props.onLongPress;

        if (typeof onLongPress === "function" && !this._isGreaterThanFitZoom()) {
          onLongPress(this._getClickedPosition(nativeEvent));
        }
      }
    }, {
      key: "setFit",
      value: function setFit(isFit) {
        this.isFitted = isFit;
      }
    }, {
      key: "setGestureEvent",
      value: function setGestureEvent(event) {
        this.gestureEvent = event;
      }
    }, {
      key: "setOnAutoZoom",
      value: function setOnAutoZoom(listener) {
        this.onAutoZoomListener = listener;
      }
    }, {
      key: "getOnTwoFingersTap",
      value: function getOnTwoFingersTap() {
        return this.onTwoFingersTap;
      }
    }, {
      key: "getOnDoubleTap",
      value: function getOnDoubleTap() {
        return this.onDoubleTap;
      }
    }, {
      key: "getOnTap",
      value: function getOnTap() {
        return this.onTap;
      }
    }, {
      key: "getOnLongPress",
      value: function getOnLongPress() {
        return this.onLongPress;
      }
    }]);
    return TapViewPagerManager;
  }();

  exports.default = TapViewPagerManager;
},2412,[5,6,7,8,2413,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var ZoomClickEvent = function () {
    function ZoomClickEvent() {
      (0, _classCallCheck2.default)(this, ZoomClickEvent);
    }

    (0, _createClass2.default)(ZoomClickEvent, [{
      key: "setOffsetX",
      value: function setOffsetX(offset) {
        this.offsetX = offset;
      }
    }, {
      key: "getOffsetX",
      value: function getOffsetX() {
        return this.offsetX;
      }
    }, {
      key: "setOffsetY",
      value: function setOffsetY(offset) {
        this.offsetY = offset;
      }
    }, {
      key: "getOffsetY",
      value: function getOffsetY() {
        return this.offsetY;
      }
    }, {
      key: "setX",
      value: function setX(x) {
        this.x = x;
      }
    }, {
      key: "getX",
      value: function getX() {
        return this.x;
      }
    }, {
      key: "setY",
      value: function setY(y) {
        this.y = y;
      }
    }, {
      key: "getY",
      value: function getY() {
        return this.y;
      }
    }, {
      key: "setScale",
      value: function setScale(scale) {
        this.scale = scale;
      }
    }, {
      key: "getScale",
      value: function getScale() {
        return this.scale;
      }
    }, {
      key: "setContentWidth",
      value: function setContentWidth(width) {
        this.contentWidth = width;
      }
    }, {
      key: "getContentWidth",
      value: function getContentWidth() {
        return this.contentWidth;
      }
    }, {
      key: "setContentHeight",
      value: function setContentHeight(height) {
        this.contentHeight = height;
      }
    }, {
      key: "getContentHeight",
      value: function getContentHeight() {
        return this.contentHeight;
      }
    }, {
      key: "setIndex",
      value: function setIndex(index) {
        this.index = index;
      }
    }, {
      key: "getIndex",
      value: function getIndex() {
        return this.index;
      }
    }, {
      key: "setGreaterThanFit",
      value: function setGreaterThanFit(greaterThanFit) {
        this.greaterThanFit = greaterThanFit;
      }
    }, {
      key: "isGreaterThanFit",
      value: function isGreaterThanFit() {
        return this.greaterThanFit;
      }
    }, {
      key: "getScaledCoordinates",
      value: function getScaledCoordinates() {
        var x = this.getX();
        var y = this.getY();
        var width = this.getContentWidth() * this.getScale();
        var height = this.getContentHeight() * this.getScale();
        return {
          x: x,
          y: y,
          width: width,
          height: height,
          index: this.getIndex()
        };
      }
    }, {
      key: "toString",
      value: function toString() {
        return "ZOOM_VIEW_CLICK -> { x: " + this.getX() + ", " + ("y: " + this.getY() + ", ") + ("offsetX: " + this.getOffsetX() + ", ") + ("offsetY: " + this.getOffsetY() + ", ") + ("width: " + this.getContentWidth() + ", ") + ("height: " + this.getContentHeight() + ", ") + ("scale: " + this.getScale() + ", ") + ("index: " + this.getIndex() + " }");
      }
    }]);
    return ZoomClickEvent;
  }();

  exports.default = ZoomClickEvent;
},2413,[5,7,8]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    parent: {
      flex: 1,
      justifyContent: "flex-end",
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white
    },
    background: {
      justifyContent: "center",
      flexDirection: "row"
    },
    pagesBackground: {
      justifyContent: "flex-start",
      flexDirection: "row",
      overflow: "hidden"
    },
    pagesManager: {
      position: "absolute",
      top: 0,
      start: 0,
      overflow: "hidden"
    }
  });

  exports.default = _default;
},2414,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _layoutManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _pageViewComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var BackgroundPages = function (_React$Component) {
    (0, _inherits2.default)(BackgroundPages, _React$Component);

    var _super = _createSuper(BackgroundPages);

    function BackgroundPages(props) {
      var _this;

      (0, _classCallCheck2.default)(this, BackgroundPages);
      _this = _super.call(this, props);
      _this.state = {
        hidden: false
      };
      _this.opacity = new _reactNative.Animated.Value(1);
      _this.onParentRef = _this._onParentRef.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(BackgroundPages, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        this.onViewPagerGestureStart = _$$_REQUIRE(_dependencyMap[18]).EventRegister.on(_events.default.NEWSMEMORY_VIEWPAGER_GESTURE_START, function () {
          if (_this2._parentRef) {
            _this2._parentRef.setNativeProps({
              style: {
                display: "none"
              }
            });
          }
        });
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[18]).EventRegister.rm(this.onViewPagerGestureStart);
      }
    }, {
      key: "hide",
      value: function hide() {
        var _this3 = this;

        if (this.progressRef) {
          this.progressRef.hide();
        }

        var hidden = this.state.hidden;

        _reactNative.Animated.timing(this.opacity, {
          toValue: 0,
          useNativeDriver: true,
          duration: _$$_REQUIRE(_dependencyMap[19]).HIDE_ANIMATION_DURATION
        }).start(function (_ref) {
          var finished = _ref.finished;

          if (finished && !hidden) {
            _this3.setState({
              hidden: true
            });
          }
        });
      }
    }, {
      key: "show",
      value: function show() {
        if (this.progressRef) {
          this.progressRef.show();
        }

        this.opacity.setValue(1);
        var hidden = this.state.hidden;

        if (hidden) {
          this.setState({
            hidden: false
          });
        }
      }
    }, {
      key: "_onParentRef",
      value: function _onParentRef(ref) {
        this.parentRef = ref;
      }
    }, {
      key: "_getPageView",
      value: function _getPageView(page, size, currentPageSize) {
        var isLandscape = this.props.isLandscape;
        return _react.default.createElement(_pageViewComponent.default, (0, _extends2.default)({}, this.props, {
          page: page,
          showOnlyMid: true,
          forceHighlight: true,
          slotSize: {
            width: currentPageSize.scaledWidth,
            height: currentPageSize.scaledHeight
          },
          downloadIfMissing: false,
          size: size,
          isLandscape: isLandscape
        }));
      }
    }, {
      key: "_getNextPage",
      value: function _getNextPage(page) {
        var newspaper = this.props.newspaper;

        if (newspaper) {
          var edition = newspaper.getEditionModel();

          if (edition) {
            var index = edition.getPages().findIndex(function (item) {
              return item.getPageId() === page.getPageId();
            });
            index = _$$_REQUIRE(_dependencyMap[20]).PlatformUtils.isRTL() ? index - 1 : index + 1;
            index = Math.max(0, Math.min(index, edition.getPages().length - 1));
            return edition.getPages()[index];
          }
        }

        return undefined;
      }
    }, {
      key: "render",
      value: function render() {
        var _this4 = this;

        var _this$props = this.props,
            size = _this$props.size,
            newspaper = _this$props.newspaper,
            numberOfShowedPages = _this$props.numberOfShowedPages,
            fit = _this$props.fit,
            currentPageId = _this$props.currentPageId,
            style = _this$props.style;
        var hidden = this.state.hidden;

        if (!newspaper || hidden) {
          return null;
        }

        var edition = newspaper.getEditionModel();

        if (!edition) {
          return null;
        }

        var sizeToEdit = (0, _extends2.default)({}, size);
        var firstPage = edition.getFirstPage();

        var currentPageSize = _newsmemoryUtils.default.getPageViewSize(firstPage, sizeToEdit, fit, numberOfShowedPages);

        if (!currentPageSize) {
          return null;
        }

        var pageLeft = _newsmemoryUtils.default.getPagesToRenderByIndex(edition.getPages(), currentPageId, numberOfShowedPages, _$$_REQUIRE(_dependencyMap[20]).PlatformUtils.isRTL());

        var pageRight;

        if (numberOfShowedPages === 2 && pageLeft && !pageLeft.isDoubleTruck()) {
          pageRight = this._getNextPage(pageLeft);
        }

        var pagesContainerWidthMultiplier = numberOfShowedPages;
        var containerWidthMultiplier = 1;
        var pagesContainerStyle = {};

        if (pageLeft && pageLeft.isDoubleTruck() && numberOfShowedPages === 1) {
          pagesContainerWidthMultiplier = 2;
          containerWidthMultiplier = 2;
          pagesContainerStyle = {
            justifyContent: "flex-start",
            left: Math.max((sizeToEdit.width - currentPageSize.scaledWidth) / 2, 0)
          };
        }

        sizeToEdit.width *= containerWidthMultiplier;
        return _react.default.createElement(_reactNative.View, {
          ref: this.onParentRef,
          style: style,
          pointerEvents: "none"
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[21]).Css, {
          classes: ["newsmemory-background-pages-bottom-layer"]
        }, _react.default.createElement(_reactNative.View, {
          style: {
            width: currentPageSize.scaledWidth * pagesContainerWidthMultiplier,
            height: currentPageSize.scaledHeight,
            position: "absolute",
            top: Math.max((sizeToEdit.height - currentPageSize.scaledHeight) / 2, 0),
            left: Math.max((sizeToEdit.width - currentPageSize.scaledWidth * pagesContainerWidthMultiplier) / (2 * pagesContainerWidthMultiplier), 0)
          }
        })), _react.default.createElement(_reactNative.Animated.View, {
          pointerEvents: "none",
          style: [_layoutManager.default.background, sizeToEdit, pagesContainerStyle, {
            opacity: this.opacity
          }]
        }, _react.default.createElement(_reactNative.View, {
          style: [_layoutManager.default.pagesBackground, {
            flexDirection: _$$_REQUIRE(_dependencyMap[20]).PlatformUtils.isRTL() ? "row-reverse" : "row",
            width: currentPageSize.scaledWidth * pagesContainerWidthMultiplier,
            height: sizeToEdit.height
          }]
        }, pageLeft ? this._getPageView(pageLeft, sizeToEdit, currentPageSize) : null, pageRight ? this._getPageView(pageRight, sizeToEdit, currentPageSize) : null)), _react.default.createElement(_$$_REQUIRE(_dependencyMap[22]).ProgressCircle, {
          ref: function ref(_ref2) {
            _this4.progressRef = _ref2;
          },
          spinnerColor: _newsmemoryUtils.default.getSpinnerColor(),
          spinnerStyle: [{
            position: "absolute"
          }, size]
        }));
      }
    }]);
    return BackgroundPages;
  }(_react.default.Component);

  exports.default = BackgroundPages;
  BackgroundPages.propTypes = {
    newspaper: _propTypes.default.instanceOf(_NewspaperIssue.default).isRequired,
    style: _propTypes.default.any.isRequired,
    size: _propTypes.default.shape({
      width: _propTypes.default.number,
      height: _propTypes.default.number
    }).isRequired,
    fit: _propTypes.default.bool,
    numberOfShowedPages: _propTypes.default.number,
    isLandscape: _propTypes.default.bool,
    currentPageId: _propTypes.default.number,
    getCurrentArticle: _propTypes.default.func
  };
},2415,[5,6,7,8,15,12,14,16,17,28,201,2414,603,2397,638,714,644,460,572,729,462,699,1953]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _headerParentComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[13]));

  var _indexLayoutManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _pageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ArticleModeManager = function (_React$PureComponent) {
    (0, _inherits2.default)(ArticleModeManager, _React$PureComponent);

    var _super = _createSuper(ArticleModeManager);

    function ArticleModeManager(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ArticleModeManager);
      _this = _super.call(this, props);
      _this.onIndexLocal = _this._onIndexLocal.bind((0, _assertThisInitialized2.default)(_this));
      _this.openEditions = _this._openEditions.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(ArticleModeManager, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this$props = this.props,
            onLoaded = _this$props.onLoaded,
            indexMode = _this$props.indexMode;

        if (onLoaded) {
          onLoaded(indexMode);
        }
      }
    }, {
      key: "_openEditions",
      value: function _openEditions() {
        var _global$getActivePSet = global.getActivePSetup(),
            showNativeOptionsPage = _global$getActivePSet.showNativeOptionsPage,
            showNativeOptionsPageFallbackUrl = _global$getActivePSet.showNativeOptionsPageFallbackUrl;

        if (_$$_REQUIRE(_dependencyMap[20]).NetworkUtils.isOnline() || showNativeOptionsPage && !showNativeOptionsPageFallbackUrl) {
          var accessibilityEnabled = this.props.accessibilityEnabled;

          if (accessibilityEnabled) {
            _$$_REQUIRE(_dependencyMap[21]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE_ACCESSIBILITY);
          } else {
            _$$_REQUIRE(_dependencyMap[21]).EventRegister.emit(_events.default.OPEN_OPTIONSPAGE, {
              tab: _$$_REQUIRE(_dependencyMap[22]).tabs.home,
              getParams: {
                accessibilityMode: accessibilityEnabled ? "1" : "0"
              }
            });
          }
        } else {
          _$$_REQUIRE(_dependencyMap[21]).EventRegister.emit(_events.default.NEWSMEMORY_OPEN_OFFLINE_EDITION_MENU);
        }
      }
    }, {
      key: "_getCurrentNewspaper",
      value: function _getCurrentNewspaper() {
        var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;
        var currentNewspaperManager = props.currentNewspaperManager;
        return currentNewspaperManager.getCurrentNewspaper();
      }
    }, {
      key: "_getCurrentEdition",
      value: function _getCurrentEdition() {
        var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;

        var currentNewspaper = this._getCurrentNewspaper(props);

        if (currentNewspaper) {
          return currentNewspaper.getEditionModel();
        }

        return null;
      }
    }, {
      key: "_onIndexLocal",
      value: function _onIndexLocal(_ref) {
        var domain = _ref.domain,
            getParams = _ref.getParams;
        var _this$props2 = this.props,
            onIndexScrollToPage = _this$props2.onIndexScrollToPage,
            onIndexClose = _this$props2.onIndexClose;

        if (domain.includes(_$$_REQUIRE(_dependencyMap[22]).locals.SCROLL_TO_PAGE) && getParams.pageNumber) {
          var pageNumber = _pageUtils.default.removeZerosFromPageNumber(getParams.pageNumber);

          var edition = this._getCurrentEdition();

          if (edition) {
            var page = _pageUtils.default.getPageByPageNumber(edition.getPages(), pageNumber);

            if (!page) {
              var pageNumberNoLetter = pageNumber.replace(/[^0-9]/, "");
              page = _pageUtils.default.getPageByPageNumber(edition.getPages(), pageNumberNoLetter);
            }

            onIndexScrollToPage(page);
          }
        } else if (domain.includes(_$$_REQUIRE(_dependencyMap[22]).locals.CLOSE_ARTICLE)) {
          onIndexClose();
        } else if (domain.includes(_$$_REQUIRE(_dependencyMap[22]).locals.OPEN_OPTIONSPAGE)) {
          this.openEditions();
        } else if (domain.includes(_$$_REQUIRE(_dependencyMap[22]).locals.OPEN_BROWSER)) {
          var url = getParams.url;

          if (url) {
            _NavigationService.default.main.navigate("WebScreen", {
              url: url,
              onClose: function onClose() {
                _$$_REQUIRE(_dependencyMap[20]).PlatformUtils.colorBars();
              }
            });
          }
        }
      }
    }, {
      key: "_getCopyright",
      value: function _getCopyright() {
        var newspaper = this.props.newspaper;

        var _global$getActivePSet2 = global.getActivePSetup(),
            copyright = _global$getActivePSet2.copyright,
            copyrightURL = _global$getActivePSet2.copyrightURL;

        var _global$getActivePSet3 = global.getActivePSetup(),
            poweredBy = _global$getActivePSet3.poweredBy,
            poweredByURL = _global$getActivePSet3.poweredByURL,
            paperName = _global$getActivePSet3.paperName;

        if (newspaper) {
          var edition = newspaper.getEditionModel();

          if (copyright.includes("$$year")) {
            copyright = copyright.replace("$$year", edition && edition.issue ? edition.issue.substring(0, 4) : _$$_REQUIRE(_dependencyMap[20]).DateUtils.getCurrentYear());
          }

          if (copyright.includes("$$edition")) {
            copyright = copyright.replace("$$edition", edition && edition.edition || paperName);
          }

          if (!copyrightURL || !copyrightURL.length) {
            copyrightURL = "https://www.newsmemory.com";
          }
        }

        return [{
          text: copyright,
          url: copyrightURL
        }, {
          text: poweredBy,
          url: poweredByURL
        }];
      }
    }, {
      key: "_renderFooter",
      value: function _renderFooter() {
        var model = this.props.model;

        var items = this._getCopyright();

        return (0, _headerParentComponent.footer)(items, model.getHrBottom());
      }
    }, {
      key: "_renderHr",
      value: function _renderHr(line) {
        var hrHeight = line ? line.getHeight() : 1;
        var color = line ? line.getColor() : "black";

        var hrStyle = _$$_REQUIRE(_dependencyMap[23]).Css.getStyleObjByCssClasses(["newsmemory-article-mode-sub-header-hr"]);

        return (0, _headerParentComponent.hr)([{
          backgroundColor: color,
          height: hrHeight
        }, hrStyle], "newsmemory-article-header-separator");
      }
    }, {
      key: "render",
      value: function render() {
        var managerToLoad = null;
        var _this$props3 = this.props,
            model = _this$props3.model,
            header = _this$props3.header,
            headerTopLine = _this$props3.headerTopLine,
            indexMode = _this$props3.indexMode,
            onLogoPress = _this$props3.onLogoPress,
            onArticleRef = _this$props3.onArticleRef,
            onIndexRef = _this$props3.onIndexRef,
            onIndexClose = _this$props3.onIndexClose,
            onIndexGoToPage = _this$props3.onIndexGoToPage,
            onIndexOpenSection = _this$props3.onIndexOpenSection,
            onIndexOpenArticle = _this$props3.onIndexOpenArticle,
            onArticleOpenIndex = _this$props3.onArticleOpenIndex,
            onArticleClose = _this$props3.onArticleClose,
            onArticleOpenSearch = _this$props3.onArticleOpenSearch,
            onArticleClearSearch = _this$props3.onArticleClearSearch,
            newspaper = _this$props3.newspaper,
            getCurrentArticle = _this$props3.getCurrentArticle,
            getCurrentPage = _this$props3.getCurrentPage,
            title = _this$props3.title,
            indexLevel = _this$props3.indexLevel,
            firstLevelModel = _this$props3.firstLevelModel,
            secondLevelModel = _this$props3.secondLevelModel,
            shortcutEnabled = _this$props3.shortcutEnabled,
            shortcutPriority = _this$props3.shortcutPriority,
            rest = (0, _objectWithoutProperties2.default)(_this$props3, ["model", "header", "headerTopLine", "indexMode", "onLogoPress", "onArticleRef", "onIndexRef", "onIndexClose", "onIndexGoToPage", "onIndexOpenSection", "onIndexOpenArticle", "onArticleOpenIndex", "onArticleClose", "onArticleOpenSearch", "onArticleClearSearch", "newspaper", "getCurrentArticle", "getCurrentPage", "title", "indexLevel", "firstLevelModel", "secondLevelModel", "shortcutEnabled", "shortcutPriority"]);

        if (!newspaper) {
          return null;
        }

        var edition = newspaper.getEditionModel();

        var footerInfo = this._getCopyright();

        if (!indexMode) {
          managerToLoad = _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).NewsmemoryArticleLayoutManager, (0, _extends2.default)({}, rest, {
            ref: onArticleRef,
            newspaper: newspaper,
            formattedIssue: title,
            footer: footerInfo,
            getCurrentArticle: getCurrentArticle,
            onOpenIndex: onArticleOpenIndex,
            onOpenSearch: onArticleOpenSearch,
            onClearSearch: onArticleClearSearch,
            onClose: onArticleClose,
            FooterComponent: this._renderFooter(),
            renderHr: this._renderHr,
            model: model,
            header: header,
            shortcutEnabled: shortcutEnabled,
            shortcutPriority: shortcutPriority
          }));
        } else {
          var topIndexAd = global.getAdsConfig().getEpaperTopIndexAd();
          var customIndexHtml = edition && edition.getCustomIndexHtml();
          var isCustomIndex = customIndexHtml !== undefined && !_newsmemoryUtils.default.isCustomIndexDisabled(customIndexHtml);
          managerToLoad = _react.default.createElement(_indexLayoutManager.default, (0, _extends2.default)({}, rest, {
            newspaper: newspaper,
            indexLevel: indexLevel,
            firstLevelModel: firstLevelModel,
            secondLevelModel: secondLevelModel,
            ref: onIndexRef,
            topAd: topIndexAd,
            edition: edition,
            title: title,
            footer: footerInfo,
            customIndexHtml: isCustomIndex ? customIndexHtml : undefined,
            currentArticle: getCurrentArticle(),
            currentPage: getCurrentPage(),
            onOpenSection: onIndexOpenSection,
            onGoToPage: onIndexGoToPage,
            onOpenArticle: onIndexOpenArticle,
            onIndexFirstLevelClose: this.openEditions,
            onClose: onIndexClose,
            onLocal: this.onIndexLocal,
            FooterComponent: this._renderFooter(),
            renderHr: this._renderHr,
            model: model,
            header: header,
            shortcutEnabled: shortcutEnabled,
            shortcutPriority: shortcutPriority
          }));

          if (isCustomIndex) {
            return managerToLoad;
          }
        }

        var headerModel = model;

        if (indexMode) {
          if (indexLevel === 2) {
            headerModel = secondLevelModel;
          } else {
            headerModel = firstLevelModel;
          }
        }

        return _react.default.createElement(_headerParentComponent.default, {
          header: header,
          headerTopLine: headerTopLine,
          onLogoPress: onLogoPress,
          edition: edition,
          model: headerModel
        }, managerToLoad);
      }
    }]);
    return ArticleModeManager;
  }(_react.default.PureComponent);

  exports.default = ArticleModeManager;
  ArticleModeManager.propTypes = (0, _extends2.default)({
    indexMode: _propTypes.default.bool,
    onArticleRef: _propTypes.default.func.isRequired,
    onIndexRef: _propTypes.default.func.isRequired,
    onIndexClose: _propTypes.default.func,
    onIndexOpenSection: _propTypes.default.func,
    onIndexOpenArticle: _propTypes.default.func,
    onArticleClose: _propTypes.default.func,
    onArticleOpenIndex: _propTypes.default.func,
    onArticleOpenSearch: _propTypes.default.func,
    onArticleClearSearch: _propTypes.default.func,
    onIndexScrollToPage: _propTypes.default.func,
    onIndexGoToPage: _propTypes.default.func,
    onLogoPress: _propTypes.default.func.isRequired,
    onLoaded: _propTypes.default.func
  }, _$$_REQUIRE(_dependencyMap[24]).NewsmemoryArticleLayoutManager.propTypes, _indexLayoutManager.default.propTypes, _$$_REQUIRE(_dependencyMap[25]).Shortcut.propTypes);
  ArticleModeManager.defaultProps = (0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[25]).Shortcut.defaultProps, {
    indexMode: false
  });
},2416,[5,6,108,7,8,15,12,14,16,17,201,644,714,2195,2354,460,638,715,603,1861,462,572,730,699,2417,1911]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.NewsmemoryArticleLayoutManager = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[12]);

  var _articleLayoutManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _simpleButtonComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _twoStateButtonComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _closeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _Edition = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _viewPagerComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _EPaperArticle = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[19]));

  var _Page = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _articleComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[23]));

  var _share2 = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[24]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[25]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[26]));

  var _articleZoomLevelText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[27]));

  var _NewspaperIssue = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[28]));

  var _pageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[29]));

  var _subHeaderComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[30]));

  var _headerInfoComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[31]));

  var _simpleBadgeButtonComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[32]));

  var _tecnaviaFileUtils = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[33]));

  var _pdfUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[34]));

  var _subHeaderButtons = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[35]));

  var _player = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[36]));

  var _flagIconComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[37]));

  var _AccessibilityListItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[38]));

  var _AudioManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[39]));

  var _NewsmemoryHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[40]));

  var _NewsmemoryAJAX = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[41]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ARTICLE_WINDOW_SIZE = 1;

  var NewsmemoryArticleLayoutManager = function (_Shortcut) {
    (0, _inherits2.default)(NewsmemoryArticleLayoutManager, _Shortcut);

    var _super = _createSuper(NewsmemoryArticleLayoutManager);

    function NewsmemoryArticleLayoutManager(props) {
      var _this;

      (0, _classCallCheck2.default)(this, NewsmemoryArticleLayoutManager);
      _this = _super.call(this, props);
      _this.isSpeaking = false;
      _this.articleViewPager = _react.default.createRef();
      _this.articleRefs = [];
      var edition = props.newspaper && props.newspaper.getEditionModel();
      _this.allArticles = _newsmemoryUtils.default.getAllArticles(edition);

      var _global$getNewsmemory = global.getNewsmemoryConfig(),
          showTypesArticle = _global$getNewsmemory.showTypesArticle;

      _this.showTypesArticle = showTypesArticle;
      _this.articleTypeChange = false;
      _this.lastOnSwipeIndex = -1;
      _this.loadSelectedOnly = true;
      _this.goNext = _this._goNext.bind((0, _assertThisInitialized2.default)(_this));
      _this.goNextRepeat = _this._goNextRepeat.bind((0, _assertThisInitialized2.default)(_this));
      _this.scrollToNextHr = _this._scrollToNextHr.bind((0, _assertThisInitialized2.default)(_this));
      _this.goFirstArticleOnNextPage = _this._goFirstArticleOnNextPage.bind((0, _assertThisInitialized2.default)(_this));
      _this.closeAccessibility = _this._closeAccessibility.bind((0, _assertThisInitialized2.default)(_this));
      _this.closeCarMode = _this._closeCarMode.bind((0, _assertThisInitialized2.default)(_this));
      _this.goPrev = _this._goPrev.bind((0, _assertThisInitialized2.default)(_this));
      _this.goPrevRepeat = _this._goPrevRepeat.bind((0, _assertThisInitialized2.default)(_this));
      _this.scrollToPrevHr = _this._scrollToPrevHr.bind((0, _assertThisInitialized2.default)(_this));
      _this.scrollUp = _this._scrollUp.bind((0, _assertThisInitialized2.default)(_this));
      _this.selectAccessibilityItem = _this._selectAccessibilityItem.bind((0, _assertThisInitialized2.default)(_this));
      _this.scrollDown = _this._scrollDown.bind((0, _assertThisInitialized2.default)(_this));
      _this.goFirstArticleOnPrevPage = _this._goFirstArticleOnPrevPage.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSwipe = _this._onSwipe.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSwipeDown = _this._onSwipeDown.bind((0, _assertThisInitialized2.default)(_this));
      _this.onTextLoaded = _this._onTextLoaded.bind((0, _assertThisInitialized2.default)(_this));
      _this.onOpenGallery = _this._onOpenGallery.bind((0, _assertThisInitialized2.default)(_this));
      _this.onModeChange = _this._onModeChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.closeArticle = _this._closeArticle.bind((0, _assertThisInitialized2.default)(_this));
      _this.share = _this._share.bind((0, _assertThisInitialized2.default)(_this));
      _this.search = _this._search.bind((0, _assertThisInitialized2.default)(_this));
      _this.clearSearch = _this._clearSearch.bind((0, _assertThisInitialized2.default)(_this));
      _this.shareFacebook = _this._shareFacebook.bind((0, _assertThisInitialized2.default)(_this));
      _this.shareTwitter = _this._shareTwitter.bind((0, _assertThisInitialized2.default)(_this));
      _this.shareReddit = _this._shareReddit.bind((0, _assertThisInitialized2.default)(_this));
      _this.shareEmail = _this._shareEmail.bind((0, _assertThisInitialized2.default)(_this));
      _this.fontDecrease = _this._fontDecrease.bind((0, _assertThisInitialized2.default)(_this));
      _this.toggleFontSize = _this._toggleFontSize.bind((0, _assertThisInitialized2.default)(_this));
      _this.fontIncrease = _this._fontIncrease.bind((0, _assertThisInitialized2.default)(_this));
      _this.graphDecrease = _this._graphDecrease.bind((0, _assertThisInitialized2.default)(_this));
      _this.graphIncrease = _this._graphIncrease.bind((0, _assertThisInitialized2.default)(_this));
      _this.graphZoomUnfit = _this._graphZoomUnfit.bind((0, _assertThisInitialized2.default)(_this));
      _this.toggleGraphSize = _this._toggleGraphSize.bind((0, _assertThisInitialized2.default)(_this));
      _this.zoomDecrease = _this._zoomDecrease.bind((0, _assertThisInitialized2.default)(_this));
      _this.zoomIncrease = _this._zoomIncrease.bind((0, _assertThisInitialized2.default)(_this));
      _this.print = _this._print.bind((0, _assertThisInitialized2.default)(_this));
      _this.chooseLanguage = _this._chooseLanguage.bind((0, _assertThisInitialized2.default)(_this));
      _this.toggleFullScreen = _this._toggleFullscreen.bind((0, _assertThisInitialized2.default)(_this));
      _this.toggleGraphic = _this._toggleGraphic.bind((0, _assertThisInitialized2.default)(_this));
      _this.toggleArticleExtra = _this._toggleArticleExtra.bind((0, _assertThisInitialized2.default)(_this));
      _this.startTTS = _this._startTTS.bind((0, _assertThisInitialized2.default)(_this));
      _this.stopTTS = _this._stopTTS.bind((0, _assertThisInitialized2.default)(_this));
      _this.whatTTS = _this._whatTTS.bind((0, _assertThisInitialized2.default)(_this));
      _this.toggleTTS = _this._toggleTTS.bind((0, _assertThisInitialized2.default)(_this));
      _this.getContent = _this._getContent.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLoadEnd = _this._onLoadEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.isActive = _this._isActive.bind((0, _assertThisInitialized2.default)(_this));
      _this.configUpdate = _this._configUpdate.bind((0, _assertThisInitialized2.default)(_this));
      _this.getFilteredArticles = _this._getFilteredArticles.bind((0, _assertThisInitialized2.default)(_this));
      _this.getButton = _this._getButton.bind((0, _assertThisInitialized2.default)(_this));
      _this.getSearchButton = _this._getSearchButton.bind((0, _assertThisInitialized2.default)(_this));
      _this.onAccessibilityItemPress = _this._onAccessibilityItemPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.items = _this.getFilteredArticles(props);
      _this.currentPosition = _this._getArticleIndex(_this.items, props.getCurrentArticle());
      return _this;
    }

    (0, _createClass2.default)(NewsmemoryArticleLayoutManager, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(NewsmemoryArticleLayoutManager.prototype), "componentDidMount", this).call(this);
        this.configChangeListener = _$$_REQUIRE(_dependencyMap[42]).EventRegister.on(_events.default.NEWSMEMORY_CONFIG_CHANGE, this.configUpdate);
      }
    }, {
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(nextProps) {
        this.prevArticle = this.items[this.currentPosition];
        var nextEdition = nextProps.newspaper && nextProps.newspaper.getEditionModel();
        this.allArticles = _newsmemoryUtils.default.getAllArticles(nextEdition);
        this.items = this.getFilteredArticles(nextProps);

        var newPosition = this._getArticleIndex(this.items, nextProps.getCurrentArticle());

        this.lastOnSwipeIndex = -1;
        this.currentPosition = newPosition;
      }
    }, {
      key: "shouldComponentUpdate",
      value: function shouldComponentUpdate(nextProps, nextState) {
        var newCurrentArticle = nextProps.getCurrentArticle();

        if (!_$$_REQUIRE(_dependencyMap[43]).JSUtils.equals(this.prevArticle, newCurrentArticle)) {
          return true;
        }

        return !_$$_REQUIRE(_dependencyMap[43]).JSUtils.equals(nextProps, this.props) || !_$$_REQUIRE(_dependencyMap[43]).JSUtils.equals(nextState, this.state);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(NewsmemoryArticleLayoutManager.prototype), "componentWillUnmount", this).call(this);

        _$$_REQUIRE(_dependencyMap[42]).EventRegister.rm(this.configChangeListener);

        _deviceUtils.default.enableIdleTimer();

        var mgr = global.getAudio();

        if (mgr.ttsIsSpeaking()) {
          mgr.ttsPause();
        } else if (!mgr.ttsIsPaused()) {
          mgr.ttsDestroy();
        }
      }
    }, {
      key: "update",
      value: function update() {
        this.UNSAFE_componentWillReceiveProps(this.props);
        this.loadSelectedOnly = true;

        if (this.timer) {
          clearTimeout(this.timer);
        }

        this.forceUpdate();
      }
    }, {
      key: "getNavigationInfo",
      value: function getNavigationInfo(index) {
        var items = this.items;

        if (items[index]) {
          var page = this._getPageById(items[index].getPageId());

          if (page) {
            var result = {
              counter: items.length,
              index: index,
              page: _pageUtils.default.removeZerosFromPageNumber(page.getShownPage()),
              section: _$$_REQUIRE(_dependencyMap[43]).StringUtils.decodeHTML(page.getSection()),
              article: items[index]
            };
            return result;
          }
        }

        return undefined;
      }
    }, {
      key: "_handleShortcut",
      value: function _handleShortcut() {
        var _this2 = this;

        var searchText = this.props.searchText;

        var UP = _$$_REQUIRE(_dependencyMap[44]).KEY_GROUPS.UP,
            DOWN = _$$_REQUIRE(_dependencyMap[44]).KEY_GROUPS.DOWN,
            LEFT = _$$_REQUIRE(_dependencyMap[44]).KEY_GROUPS.LEFT,
            RIGHT = _$$_REQUIRE(_dependencyMap[44]).KEY_GROUPS.RIGHT,
            MORE = _$$_REQUIRE(_dependencyMap[44]).KEY_GROUPS.MORE,
            LESS = _$$_REQUIRE(_dependencyMap[44]).KEY_GROUPS.LESS,
            PAGE_UP = _$$_REQUIRE(_dependencyMap[44]).KEY_GROUPS.PAGE_UP,
            PAGE_DOWN = _$$_REQUIRE(_dependencyMap[44]).KEY_GROUPS.PAGE_DOWN,
            HOME = _$$_REQUIRE(_dependencyMap[44]).KEY_GROUPS.HOME,
            END = _$$_REQUIRE(_dependencyMap[44]).KEY_GROUPS.END,
            OPEN = _$$_REQUIRE(_dependencyMap[44]).KEY_GROUPS.OPEN,
            CLOSE = _$$_REQUIRE(_dependencyMap[44]).KEY_GROUPS.CLOSE,
            SELECT = _$$_REQUIRE(_dependencyMap[44]).KEY_GROUPS.SELECT;

        var NEXT = _$$_REQUIRE(_dependencyMap[44]).VOICE_GROUPS.NEXT,
            PREVIOUS = _$$_REQUIRE(_dependencyMap[44]).VOICE_GROUPS.PREVIOUS,
            NEXT_PAGE = _$$_REQUIRE(_dependencyMap[44]).VOICE_GROUPS.NEXT_PAGE,
            PREVIOUS_PAGE = _$$_REQUIRE(_dependencyMap[44]).VOICE_GROUPS.PREVIOUS_PAGE,
            READ = _$$_REQUIRE(_dependencyMap[44]).VOICE_GROUPS.READ,
            STOP = _$$_REQUIRE(_dependencyMap[44]).VOICE_GROUPS.STOP,
            WHAT = _$$_REQUIRE(_dependencyMap[44]).VOICE_GROUPS.WHAT,
            GO_UP = _$$_REQUIRE(_dependencyMap[44]).VOICE_GROUPS.GO_UP;

        return [{
          callbackRepeat: this.scrollUp,
          keys: UP
        }, {
          callback: this.selectAccessibilityItem,
          keys: SELECT
        }, {
          callbackRepeat: this.scrollDown,
          keys: DOWN
        }, {
          callback: this.scrollToPrevHr,
          keys: HOME
        }, {
          callback: this.scrollToNextHr,
          keys: END
        }, {
          callback: this.startTTS,
          keys: READ()
        }, {
          callback: this.stopTTS,
          keys: STOP()
        }, {
          callback: this.whatTTS,
          keys: WHAT()
        }, {
          callback: this.goNext,
          keys: NEXT()
        }, {
          callback: this.goPrev,
          keys: PREVIOUS()
        }, {
          callbackRepeat: this.goPrevRepeat,
          keys: LEFT
        }, {
          callbackRepeat: this.goNextRepeat,
          keys: RIGHT
        }, {
          callback: this.goFirstArticleOnPrevPage,
          keys: PREVIOUS_PAGE()
        }, {
          callback: this.goFirstArticleOnPrevPage,
          keys: PAGE_UP
        }, {
          callback: this.goFirstArticleOnPrevPage,
          keys: NEXT_PAGE()
        }, {
          callback: this.goFirstArticleOnNextPage,
          keys: PAGE_DOWN
        }, {
          callback: this.onSwipeDown,
          keys: GO_UP(),
          stopPropagation: true
        }, {
          callback: this.onSwipeDown,
          keys: OPEN,
          stopPropagation: true
        }, {
          callback: this.toggleTTS,
          keys: ["V"]
        }, {
          callback: this.zoomDecrease,
          keys: LESS
        }, {
          callback: this.zoomIncrease,
          keys: MORE
        }, {
          callback: this.toggleFullScreen,
          keys: ["SPACE"],
          stopPropagation: true
        }, {
          callback: function callback() {
            if (searchText) {
              _this2.clearSearch();
            } else {
              _this2.closeArticle();
            }
          },
          keys: CLOSE,
          stopPropagation: true
        }, {
          callback: this.share,
          keys: ["S"],
          stopPropagation: true
        }, {
          callback: this.print,
          keys: ["P"],
          stopPropagation: true
        }];
      }
    }, {
      key: "_configUpdate",
      value: function _configUpdate() {
        var component = this.articleRefs[this.currentPosition];

        if (component) {
          if (component.isTextMode()) {
            var isNotAd = !this.items[this.currentPosition].isAd();

            _$$_REQUIRE(_dependencyMap[42]).EventRegister.emit(_events.default.TRANSLATE_CHANGE_BUTTON_VISIBILITY, {
              visible: isNotAd && global.getNewsmemoryConfig().isTranslationAvailable()
            });
          } else {
            _$$_REQUIRE(_dependencyMap[42]).EventRegister.emit(_events.default.ARTICLE_GRAPHIC_ZOOM_CHANGE, {
              level: global.getNewsmemoryConfig().getGraphSize()
            });
          }
        }

        var _global$getNewsmemory2 = global.getNewsmemoryConfig(),
            showTypesArticle = _global$getNewsmemory2.showTypesArticle;

        if (this.showTypesArticle !== showTypesArticle) {
          this.showTypesArticle = showTypesArticle;
          this.articleTypeChange = true;
          this.update();
        }
      }
    }, {
      key: "_getRef",
      value: function _getRef() {
        return this.articleViewPager && this.articleViewPager.current ? this.articleViewPager.current : undefined;
      }
    }, {
      key: "_onAccessibilityItemPress",
      value: function _onAccessibilityItemPress(item) {
        if (item) {
          switch (item.getKey()) {
            case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.closeAccessibility.key:
              this._closeAccessibility();

              break;

            case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.goUp.key:
              this._onSwipeDown();

              break;

            case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.goBack.key:
              this._goPrev();

              break;

            case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.goNext.key:
              this._goNext();

              break;
          }
        }
      }
    }, {
      key: "_goNext",
      value: function _goNext() {
        var ref = this._getRef();

        if (ref) {
          ref.scrollToNext(true);
          return true;
        }

        return false;
      }
    }, {
      key: "_goNextRepeat",
      value: function _goNextRepeat() {
        return _regenerator.default.async(function _goNextRepeat$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!this._goNext()) {
                  _context.next = 2;
                  break;
                }

                return _context.abrupt("return", this.getCallbackRepeatPromise());

              case 2:
                return _context.abrupt("return", Promise.reject());

              case 3:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_goToPage",
      value: function _goToPage(index) {
        var ref = this._getRef();

        if (ref) {
          ref.scrollTo(index, true);
          return true;
        }

        return false;
      }
    }, {
      key: "_scrollToNextHr",
      value: function _scrollToNextHr() {
        var component = this.articleRefs[this.currentPosition];

        if (component && component.isTextMode()) {
          component.scrollToHrAfter();
        }
      }
    }, {
      key: "_goFirstArticleOnNextPage",
      value: function _goFirstArticleOnNextPage() {
        var ref = this._getRef();

        if (ref) {
          var currentArticle = this.items[this.currentPosition];
          var i;

          for (i = this.currentPosition + 1; i < this.items.length; i++) {
            if (this.items[i].getPageId() !== currentArticle.getPageId()) {
              break;
            }
          }

          ref.scrollTo(Math.min(i, this.items.length));
        }
      }
    }, {
      key: "_scrollToPrevHr",
      value: function _scrollToPrevHr() {
        var component = this.articleRefs[this.currentPosition];

        if (component && component.isTextMode()) {
          component.scrollToHrBefore();
        }
      }
    }, {
      key: "_selectAccessibilityItem",
      value: function _selectAccessibilityItem() {
        var component = this.articleRefs[this.currentPosition];

        if (component && component.isTextMode()) {
          component.selectAccessibilityItem();
        }
      }
    }, {
      key: "_scrollUp",
      value: function _scrollUp() {
        var component;
        return _regenerator.default.async(function _scrollUp$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                component = this.articleRefs[this.currentPosition];

                if (!(component && component.isTextMode())) {
                  _context2.next = 4;
                  break;
                }

                component.scrollUp();
                return _context2.abrupt("return", this.getCallbackRepeatPromise());

              case 4:
                return _context2.abrupt("return", Promise.reject());

              case 5:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_scrollDown",
      value: function _scrollDown() {
        var component;
        return _regenerator.default.async(function _scrollDown$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                component = this.articleRefs[this.currentPosition];

                if (!(component && component.isTextMode())) {
                  _context3.next = 4;
                  break;
                }

                component.scrollDown();
                return _context3.abrupt("return", this.getCallbackRepeatPromise());

              case 4:
                return _context3.abrupt("return", Promise.reject());

              case 5:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_closeAccessibility",
      value: function _closeAccessibility() {
        var onCloseAccessibility = this.props.onCloseAccessibility;

        if (typeof onCloseAccessibility === "function") {
          onCloseAccessibility();
        }
      }
    }, {
      key: "_closeCarMode",
      value: function _closeCarMode() {
        var onCloseCarMode = this.props.onCloseCarMode;

        if (typeof onCloseCarMode === "function") {
          onCloseCarMode();
        }
      }
    }, {
      key: "_goPrev",
      value: function _goPrev() {
        var ref = this._getRef();

        if (ref) {
          ref.scrollToPrev(true);
          return true;
        }

        return false;
      }
    }, {
      key: "_goPrevRepeat",
      value: function _goPrevRepeat() {
        return _regenerator.default.async(function _goPrevRepeat$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (!this._goPrev()) {
                  _context4.next = 2;
                  break;
                }

                return _context4.abrupt("return", this.getCallbackRepeatPromise());

              case 2:
                return _context4.abrupt("return", Promise.reject());

              case 3:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_goFirstArticleOnPrevPage",
      value: function _goFirstArticleOnPrevPage() {
        var ref = this._getRef();

        if (ref) {
          var currentArticle = this.items[this.currentPosition];
          var prevPageId;
          var i = this.currentPosition - 1;

          while (i >= 0) {
            if (this.items[i].getPageId() !== currentArticle.getPageId()) {
              if (!prevPageId) {
                prevPageId = this.items[i].getPageId();
              } else if (this.items[i].getPageId() !== prevPageId) {
                i += 1;
                break;
              }
            }

            i -= 1;
          }

          ref.scrollTo(Math.max(i, 0));
        }
      }
    }, {
      key: "_shareFacebook",
      value: function _shareFacebook() {
        this.share(_$$_REQUIRE(_dependencyMap[46]).NewsmemoryShareType.FACEBOOK);
      }
    }, {
      key: "_shareTwitter",
      value: function _shareTwitter() {
        this.share(_$$_REQUIRE(_dependencyMap[46]).NewsmemoryShareType.TWITTER);
      }
    }, {
      key: "_shareReddit",
      value: function _shareReddit() {
        this.share(_$$_REQUIRE(_dependencyMap[46]).NewsmemoryShareType.REDDIT);
      }
    }, {
      key: "_shareEmail",
      value: function _shareEmail() {
        this.share(_$$_REQUIRE(_dependencyMap[46]).NewsmemoryShareType.EMAIL);
      }
    }, {
      key: "_search",
      value: function _search() {
        var _this$props = this.props,
            searchText = _this$props.searchText,
            onOpenSearch = _this$props.onOpenSearch;

        if (typeof onOpenSearch === "function") {
          onOpenSearch(searchText);
        }
      }
    }, {
      key: "_clearSearch",
      value: function _clearSearch() {
        var onClearSearch = this.props.onClearSearch;

        if (typeof onClearSearch === "function") {
          onClearSearch();
        }
      }
    }, {
      key: "_share",
      value: function _share() {
        var type,
            newspaper,
            editionModel,
            issue,
            edition,
            currentArticle,
            share,
            currentPage,
            component,
            _global$getActivePSet,
            paperName,
            pageNumber,
            article,
            destinationFolder,
            _await$component$getP,
            html,
            destinationFilename,
            _await$PdfUtils$htmlT,
            pdfFilePath,
            _global$getActivePSet2,
            messageMaxShare,
            _args5 = arguments;

        return _regenerator.default.async(function _share$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                type = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : _$$_REQUIRE(_dependencyMap[46]).NewsmemoryShareType.ALL;
                newspaper = this.props.newspaper;
                _context5.prev = 2;
                editionModel = newspaper.getEditionModel();
                issue = editionModel.getIssue();
                edition = editionModel.getEdition();

                if (!_share2.default.canShare(issue, edition)) {
                  _context5.next = 41;
                  break;
                }

                _$$_REQUIRE(_dependencyMap[47]).LoadingOverlay.show({
                  id: "share"
                });

                currentArticle = this.items[this.currentPosition];
                share = new _share2.default();
                share.article = currentArticle;
                share.editionModel = editionModel;
                currentPage = this._getCurrentPage(currentArticle.getPageId());
                share.page = currentPage;
                share.shareType = type;
                component = this.articleRefs[this.currentPosition];

                if (!component) {
                  _context5.next = 37;
                  break;
                }

                share.articleType = component.getMode();

                if (!(_$$_REQUIRE(_dependencyMap[43]).PlatformUtils.isIOS() && type === _$$_REQUIRE(_dependencyMap[46]).NewsmemoryShareType.ALL)) {
                  _context5.next = 37;
                  break;
                }

                _global$getActivePSet = global.getActivePSetup(), paperName = _global$getActivePSet.paperName;
                paperName = _newsmemoryUtils.default.normalizePaperName(paperName);
                pageNumber = _pageUtils.default.removeZerosFromPageNumber(currentPage.getPage());
                article = currentArticle.getXmlId();
                destinationFolder = _tecnaviaFileUtils.default.getDownloadedPdfDirectory();
                _context5.next = 26;
                return _regenerator.default.awrap(component.getPrintHtml());

              case 26:
                _await$component$getP = _context5.sent;
                html = _await$component$getP.html;
                _context5.next = 30;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.mkdir(destinationFolder));

              case 30:
                destinationFilename = _tecnaviaFileUtils.DOWNLOADED_PDF_DIRECTORY + "/" + paperName + "_" + issue + "_" + pageNumber + "_" + article;

                if (component.isTextMode()) {
                  destinationFilename = destinationFilename + "_t";
                }

                _context5.next = 34;
                return _regenerator.default.awrap(_pdfUtils.default.htmlToPDF({
                  html: html,
                  fileName: destinationFilename
                }));

              case 34:
                _await$PdfUtils$htmlT = _context5.sent;
                pdfFilePath = _await$PdfUtils$htmlT.filePath;
                share.pdfFilePath = pdfFilePath;

              case 37:
                _context5.next = 39;
                return _regenerator.default.awrap(share.share(function () {
                  _$$_REQUIRE(_dependencyMap[47]).LoadingOverlay.hide({
                    id: "share"
                  });
                }));

              case 39:
                _context5.next = 42;
                break;

              case 41:
                if (_share2.default.checkSharesRemotely()) {
                  _$$_REQUIRE(_dependencyMap[48]).Toast.show(global.strings("err_offline"));
                } else {
                  _global$getActivePSet2 = global.getActivePSetup(), messageMaxShare = _global$getActivePSet2.messageMaxShare;

                  _$$_REQUIRE(_dependencyMap[48]).Toast.show(messageMaxShare || global.strings("msg_max_share"));
                }

              case 42:
                _context5.next = 47;
                break;

              case 44:
                _context5.prev = 44;
                _context5.t0 = _context5["catch"](2);

                _$$_REQUIRE(_dependencyMap[47]).LoadingOverlay.hide({
                  id: "share"
                });

              case 47:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, [[2, 44]], Promise);
      }
    }, {
      key: "_getCurrentPage",
      value: function _getCurrentPage(pageId) {
        var newspaper = this.props.newspaper;

        if (newspaper) {
          var edition = newspaper.getEditionModel();

          if (edition) {
            var page = edition.getPages().find(function (item) {
              return item.getPageId() === pageId;
            });
            return page;
          }
        }

        return undefined;
      }
    }, {
      key: "_onModeChange",
      value: function _onModeChange(isText, index) {
        if (index === this.currentPosition) {
          var isNotAd = !this.items[index].isAd() && isText;

          _$$_REQUIRE(_dependencyMap[42]).EventRegister.emit(_events.default.TRANSLATE_CHANGE_BUTTON_VISIBILITY, {
            visible: isNotAd && global.getNewsmemoryConfig().isTranslationAvailable()
          });

          _$$_REQUIRE(_dependencyMap[42]).EventRegister.emit(_events.default.TOGGLE_FONT_CHANGE_BUTTON_VISIBILITY, {
            visible: isNotAd
          });

          var component = this.articleRefs[index];
          var text = component && component.getText();
          var hasText = !!(text && text.trim().length > 0);

          _$$_REQUIRE(_dependencyMap[42]).EventRegister.emit(_events.default.TTS_CHANGE_BUTTON_VISIBILITY, {
            visible: isNotAd && hasText
          });

          if (isText) {
            _$$_REQUIRE(_dependencyMap[42]).EventRegister.emit(_events.default.TOGGLE_GRAPH_CHANGE_BUTTON_VISIBILITY, {
              visible: false
            });

            _$$_REQUIRE(_dependencyMap[42]).EventRegister.emit(_events.default.TOGGLE_GRAPH_UNFIT_CHANGE_BUTTON_VISIBILITY, {
              visible: false
            });

            _$$_REQUIRE(_dependencyMap[42]).EventRegister.emit(_events.default.TOGGLE_ARTICLE_EXTRA_CHANGE_BUTTON_VISIBILITY, {
              visible: false
            });

            _$$_REQUIRE(_dependencyMap[42]).EventRegister.emit(_events.default.TOGGLE_ARTICLE_TEXT);
          } else {
            if (component && component.graphArticle) {
              var isFitScale = component.graphArticle.isFitScale();

              _$$_REQUIRE(_dependencyMap[42]).EventRegister.emit(_events.default.TOGGLE_GRAPH_UNFIT_CHANGE_BUTTON_VISIBILITY, {
                visible: isFitScale
              });

              _$$_REQUIRE(_dependencyMap[42]).EventRegister.emit(_events.default.TOGGLE_GRAPH_CHANGE_BUTTON_VISIBILITY, {
                visible: !isFitScale
              });

              _$$_REQUIRE(_dependencyMap[42]).EventRegister.emit(_events.default.TOGGLE_ARTICLE_GRAPHIC);
            }

            _$$_REQUIRE(_dependencyMap[42]).EventRegister.emit(_events.default.NEWSMEMORY_RESTART_HIGH_RES_QUEUE);
          }

          if (this._getRef()) {
            this._getRef().toggleState(true);
          }
        }
      }
    }, {
      key: "_onLoadEnd",
      value: function _onLoadEnd(index) {
        var _this3 = this;

        var article = this.items[index];

        if (this.loadSelectedOnly) {
          if (this.timer) {
            clearTimeout(this.timer);
          }

          this.timer = setTimeout(function () {
            var articlesRefs = _this3.articleRefs.filter(function (ref) {
              return !!ref;
            });

            articlesRefs.forEach(function (articlesRef) {
              articlesRef.show();
            });
            _this3.timer = undefined;
          }, 1000);
        }

        var onArticleLoaded = this.props.onArticleLoaded;
        var currentArticle = this.items[this.currentPosition];

        if (_$$_REQUIRE(_dependencyMap[43]).JSUtils.equals(article, currentArticle)) {
          if (typeof onArticleLoaded === "function") {
            onArticleLoaded(article);
          }

          if (!this.loadSelectedOnly) {
            _$$_REQUIRE(_dependencyMap[42]).EventRegister.emit(_events.default.NEWSMEMORY_ON_ARTICLE_GRAPH_LOADED, {
              loadedIndex: index
            });
          }
        }

        this.loadSelectedOnly = false;
      }
    }, {
      key: "_isActive",
      value: function _isActive(position) {
        return position === this.currentPosition;
      }
    }, {
      key: "_getAccessibilityItems",
      value: function _getAccessibilityItems(index, length) {
        var accessibilityEnabled = this.props.accessibilityEnabled;
        var article = this.items[index];
        var section = "";

        if (article) {
          var page = this._getPageById(article.getPageId());

          if (page) {
            section = page.getSection();
          }
        }

        if (accessibilityEnabled) {
          return (0, _$$_REQUIRE(_dependencyMap[45]).getAccessibilityItemsArticle)(index, length, section);
        }

        return [];
      }
    }, {
      key: "_getContent",
      value: function _getContent(article, index) {
        var _this4 = this;

        var _this$props2 = this.props,
            searchText = _this$props2.searchText,
            newspaper = _this$props2.newspaper,
            searchColor = _this$props2.searchColor,
            size = _this$props2.size,
            formattedIssue = _this$props2.formattedIssue,
            FooterComponent = _this$props2.FooterComponent,
            onArticleLongPress = _this$props2.onArticleLongPress,
            navigation = _this$props2.navigation,
            getNewspaperStatus = _this$props2.getNewspaperStatus,
            fullscreen = _this$props2.fullscreen,
            isLandscape = _this$props2.isLandscape;

        if (!newspaper) {
          return null;
        }

        var edition = newspaper.getEditionModel();

        var _global$getActivePSet3 = global.getActivePSetup(),
            enablePhoneArticleLayoutOnTabletInLandscape = _global$getActivePSet3.enablePhoneArticleLayoutOnTabletInLandscape,
            enableDesktopArticleLayoutOnIPadProInLandscape = _global$getActivePSet3.enableDesktopArticleLayoutOnIPadProInLandscape;

        var deviceSupportColumnizer = _$$_REQUIRE(_dependencyMap[43]).PlatformUtils.isTablet() && (fullscreen || isLandscape && Math.round(size.width / _$$_REQUIRE(_dependencyMap[49]).columnizerBaseColumnWidth) > 1);
        var showArticleHeader = !deviceSupportColumnizer && enablePhoneArticleLayoutOnTabletInLandscape;
        var enableDesktopLayout = _$$_REQUIRE(_dependencyMap[43]).PlatformUtils.isiPadPro12dot9() && isLandscape && enableDesktopArticleLayoutOnIPadProInLandscape;

        if (enableDesktopLayout) {
          deviceSupportColumnizer = false;
          showArticleHeader = false;
        }

        return _react.default.createElement(_articleComponent.default, {
          key: index,
          index: index,
          navigation: navigation,
          ref: function ref(_ref) {
            var newRef = !_this4.articleRefs[index] && _ref;
            _this4.articleRefs[index] = _ref;

            if (newRef && !_this4.loadSelectedOnly) {
              _ref.show();
            }
          },
          onUnmount: function onUnmount() {
            _this4.articleRefs[index] = undefined;
          },
          deviceSupportColumnizer: deviceSupportColumnizer,
          enableDesktopLayout: enableDesktopLayout,
          formattedIssue: formattedIssue,
          edition: edition,
          page: this._getCurrentPage(article.getPageId()),
          article: article,
          newspaper: newspaper,
          mode: article.isText() ? _$$_REQUIRE(_dependencyMap[46]).NewsmemoryArticleModes.TEXT : _$$_REQUIRE(_dependencyMap[46]).NewsmemoryArticleModes.GRAPHIC,
          searchText: searchText,
          searchColor: searchColor,
          carModeEnabled: this._isCarModeEnabled(),
          accessibilityEnabled: this._isAccessibilityModeEnabled(),
          header: showArticleHeader,
          headerHtml: this._getHeaderHtml(),
          disclaimerHtml: this._getDisclaimerHTML(),
          copyrightHtml: this._copyrightHTML(),
          defaultHeight: size.height,
          defaultWidth: size.width,
          isActive: this.isActive,
          hidden: this.loadSelectedOnly && index !== this.currentPosition,
          viewPagerRef: this.articleViewPager,
          FooterComponent: FooterComponent,
          goNext: this.goNext,
          goPrev: this.goPrev,
          onModeChange: this.onModeChange,
          onLongPress: onArticleLongPress,
          onSwipeDown: this.onSwipeDown,
          onTextLoaded: this.onTextLoaded,
          onOpenGallery: this.onOpenGallery,
          onLoadEnd: this.onLoadEnd,
          onGraphLoadEnd: this.onLoadEnd,
          getNewspaperStatus: getNewspaperStatus,
          hasAccessibilityFocus: function hasAccessibilityFocus() {
            return index === _this4.currentPosition && _this4._simulateAccessibility();
          },
          accessibilityItems: this._getAccessibilityItems(index, this.items.length),
          onAccessibilityItemPress: this.onAccessibilityItemPress
        });
      }
    }, {
      key: "_getHeaderHtml",
      value: function _getHeaderHtml() {
        var formattedIssue = this.props.formattedIssue;
        var info = this.getNavigationInfo(this.currentPosition);
        var page = "";

        if (info) {
          page = global.strings("str_page") + ": " + info.page;
        }

        return "<div id='header_info' style='flex-direction: row;display: flex'>" + ("       <div style='flex: 1;display: flex;'>" + formattedIssue + "</div>") + ("       <div style='text-align: end;'>" + page + "</div>") + "</div>";
      }
    }, {
      key: "_getDisclaimerHTML",
      value: function _getDisclaimerHTML() {
        var _global$getActivePSet4 = global.getActivePSetup(),
            addDisclaimer = _global$getActivePSet4.addDisclaimer;

        if (addDisclaimer != undefined && addDisclaimer.length > 0) {
          return "<div id='footer_disclaimer' style='flex-direction: row;display: flex;'>" + addDisclaimer + "</div>";
        }

        return "";
      }
    }, {
      key: "_copyrightHTML",
      value: function _copyrightHTML() {
        var config = this.props.footer;
        var footerItemsString = "<div id='footer_copyright' style='flex-direction: row;display: flex;'>";

        if (config) {
          footerItemsString += config.reduce(function (result, item, index) {
            var customStyle = "";

            if (index % 2 === 1) {
              customStyle = "flex: 0; text-align: end;";
            }

            return result + "<div style='flex: 1; min-width: 30%;  " + customStyle + "'><a href='" + item.url + "'>" + item.text + "</a></div>";
          }, "");
          return footerItemsString + "</div>";
        }

        return undefined;
      }
    }, {
      key: "_getEventParams",
      value: function _getEventParams() {
        var _this$props3 = this.props,
            newspaper = _this$props3.newspaper,
            getCurrentArticle = _this$props3.getCurrentArticle;
        var page;
        var article = getCurrentArticle();

        if (article) {
          page = this._getCurrentPage(article.getPageId());
        }

        return {
          edition: newspaper.getEditionModel(),
          page: page,
          article: article
        };
      }
    }, {
      key: "_print",
      value: function _print() {
        var component, _this$_getEventParams, edition, page, article, _global$getActivePSet6, messageMaxShare;

        return _regenerator.default.async(function _print$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                component = this.articleRefs[this.currentPosition];

                if (component) {
                  _this$_getEventParams = this._getEventParams(), edition = _this$_getEventParams.edition, page = _this$_getEventParams.page, article = _this$_getEventParams.article;

                  if (edition && page && article) {
                    if (_share2.default.canShare(edition.getIssue(), edition.getEdition())) {
                      _$$_REQUIRE(_dependencyMap[47]).LoadingOverlay.show({
                        id: "print",
                        timeout: -1,
                        callback: function callback() {
                          var shareParams, shareConfig, shareid, error, NONE, LIMIT_REACHED, _global$getActivePSet5, messageMaxShare;

                          return _regenerator.default.async(function callback$(_context6) {
                            while (1) {
                              switch (_context6.prev = _context6.next) {
                                case 0:
                                  _context6.prev = 0;
                                  shareParams = {
                                    artmode: component.getMode(),
                                    issue: edition.getIssue(),
                                    edition: edition.getEdition(),
                                    filename: page.getFilename(),
                                    page: page.getPage(),
                                    section: page.getSection(),
                                    title: article.getTitle(),
                                    article: article.getXmlId(),
                                    type: "share"
                                  };
                                  _context6.next = 4;
                                  return _regenerator.default.awrap(_NewsmemoryAJAX.default.share(shareParams));

                                case 4:
                                  shareConfig = _context6.sent;
                                  shareid = shareConfig.shareid, error = shareConfig.error;
                                  NONE = _share2.SHARE_REMOTE_ERRORS.NONE, LIMIT_REACHED = _share2.SHARE_REMOTE_ERRORS.LIMIT_REACHED;

                                  if (!(error && error > NONE)) {
                                    _context6.next = 11;
                                    break;
                                  }

                                  if (error === LIMIT_REACHED) {
                                    _global$getActivePSet5 = global.getActivePSetup(), messageMaxShare = _global$getActivePSet5.messageMaxShare;

                                    _$$_REQUIRE(_dependencyMap[48]).Toast.show(messageMaxShare || global.strings("msg_max_share"));
                                  } else {
                                    _$$_REQUIRE(_dependencyMap[48]).Toast.show(global.strings("system_error"));
                                  }

                                  _context6.next = 20;
                                  break;

                                case 11:
                                  _context6.prev = 11;
                                  _context6.next = 14;
                                  return _regenerator.default.awrap(component.print());

                                case 14:
                                  (0, _$$_REQUIRE(_dependencyMap[50]).sendNewsmemoryPrintEvent)(edition, page, article);

                                  _NewsmemoryAJAX.default.share((0, _extends2.default)({}, shareParams, {
                                    shareId: shareid,
                                    shareType: _$$_REQUIRE(_dependencyMap[46]).NewsmemoryShareType.PRINT
                                  }));

                                  _context6.next = 20;
                                  break;

                                case 18:
                                  _context6.prev = 18;
                                  _context6.t0 = _context6["catch"](11);

                                case 20:
                                  _context6.next = 24;
                                  break;

                                case 22:
                                  _context6.prev = 22;
                                  _context6.t1 = _context6["catch"](0);

                                case 24:
                                  _$$_REQUIRE(_dependencyMap[47]).LoadingOverlay.hide({
                                    id: "print"
                                  });

                                case 25:
                                case "end":
                                  return _context6.stop();
                              }
                            }
                          }, null, null, [[0, 22], [11, 18]], Promise);
                        }
                      });
                    } else if (_share2.default.checkSharesRemotely()) {
                      _$$_REQUIRE(_dependencyMap[48]).Toast.show(global.strings("err_offline"));
                    } else {
                      _global$getActivePSet6 = global.getActivePSetup(), messageMaxShare = _global$getActivePSet6.messageMaxShare;

                      _$$_REQUIRE(_dependencyMap[48]).Toast.show(messageMaxShare || global.strings("msg_max_share"));
                    }
                  }
                }

              case 2:
              case "end":
                return _context7.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_sendFontSizeChangeEvent",
      value: function _sendFontSizeChangeEvent(event, fontSize) {
        var _this$_getEventParams2 = this._getEventParams(),
            edition = _this$_getEventParams2.edition,
            page = _this$_getEventParams2.page,
            article = _this$_getEventParams2.article;

        (0, _$$_REQUIRE(_dependencyMap[50]).sendNewsmemoryFontSizeChangeEvent)(event, fontSize, edition, page, article);
      }
    }, {
      key: "_sendGraphSizeChangeEvent",
      value: function _sendGraphSizeChangeEvent(event, graphSize) {
        var _this$_getEventParams3 = this._getEventParams(),
            edition = _this$_getEventParams3.edition,
            page = _this$_getEventParams3.page,
            article = _this$_getEventParams3.article;

        (0, _$$_REQUIRE(_dependencyMap[50]).sendNewsmemoryGraphSizeChangeEvent)(event, graphSize, edition, page, article);
      }
    }, {
      key: "_toggleFontSize",
      value: function _toggleFontSize() {
        var fontSize = global.getUserSettings().toggleFontSize(false, true);

        this._sendFontSizeChangeEvent("toggle_font_size", fontSize);
      }
    }, {
      key: "_fontIncrease",
      value: function _fontIncrease() {
        var fontSize = global.getUserSettings().toggleFontSize(false, false);

        this._sendFontSizeChangeEvent("increase_font_size", fontSize);
      }
    }, {
      key: "_fontDecrease",
      value: function _fontDecrease() {
        var fontSize = global.getUserSettings().toggleFontSize(true, false);

        this._sendFontSizeChangeEvent("decrease_font_size", fontSize);
      }
    }, {
      key: "_graphDecrease",
      value: function _graphDecrease() {
        var graphSize = global.getNewsmemoryConfig().toggleGraphSize(true, false);

        this._sendGraphSizeChangeEvent("decrease_graph_size", graphSize);
      }
    }, {
      key: "_graphZoomUnfit",
      value: function _graphZoomUnfit() {
        _$$_REQUIRE(_dependencyMap[42]).EventRegister.emit(_events.default.ARTICLE_GRAPH_ZOOM_UNFIT);

        this._sendGraphSizeChangeEvent("unfit_graph");
      }
    }, {
      key: "_graphIncrease",
      value: function _graphIncrease() {
        var graphSize = global.getNewsmemoryConfig().toggleGraphSize(false, false);

        this._sendGraphSizeChangeEvent("increase_graph_size", graphSize);
      }
    }, {
      key: "_toggleGraphSize",
      value: function _toggleGraphSize() {
        var graphSize = global.getNewsmemoryConfig().toggleGraphSize(false, true);

        this._sendGraphSizeChangeEvent("toggle_graph_size", graphSize);
      }
    }, {
      key: "_zoomDecrease",
      value: function _zoomDecrease() {
        var component = this.articleRefs[this.currentPosition];

        if (component) {
          if (component.isTextMode()) {
            this._fontDecrease();
          } else {
            this._graphDecrease();
          }
        }
      }
    }, {
      key: "_zoomIncrease",
      value: function _zoomIncrease() {
        var component = this.articleRefs[this.currentPosition];

        if (component) {
          if (component.isTextMode()) {
            this._fontIncrease();
          } else {
            this._graphIncrease();
          }
        }
      }
    }, {
      key: "_closeArticle",
      value: function _closeArticle() {
        var onClose = this.props.onClose;

        if (onClose) {
          onClose();
        }
      }
    }, {
      key: "_chooseLanguage",
      value: function _chooseLanguage() {
        var newsmemoryConfig = global.getNewsmemoryConfig();
        var translationsAvailable = newsmemoryConfig.translationsAvailable,
            currentTranslationLanguage = newsmemoryConfig.currentTranslationLanguage,
            lastTranslationLanguage = newsmemoryConfig.lastTranslationLanguage;

        if (translationsAvailable && translationsAvailable.length > 0) {
          var currentArticleRef = this.articleRefs[this.currentPosition];

          if (currentTranslationLanguage) {
            newsmemoryConfig.resetCurrentTranslationLanguage();

            _$$_REQUIRE(_dependencyMap[42]).EventRegister.emit(_events.default.TRANSLATE_CHANGE_BUTTON_BADGE);

            currentArticleRef.translate();
            var start = Math.max(0, this.currentPosition - ARTICLE_WINDOW_SIZE);
            var end = Math.min(this.articleRefs.length, this.currentPosition + ARTICLE_WINDOW_SIZE + 1);

            for (var i = start; i < end; i++) {
              if (i !== this.currentPosition && this.articleRefs[i]) {
                this.articleRefs[i].translate();
              }
            }
          } else {
            if (lastTranslationLanguage) {
              translationsAvailable.forEach(function (item, i) {
                if (item.language === lastTranslationLanguage) {
                  translationsAvailable.splice(i, 1);
                  translationsAvailable.unshift(item);
                }
              });
            }

            _$$_REQUIRE(_dependencyMap[51]).MyBottomSheet.show({
              options: translationsAvailable.map(function (item) {
                var language = item.language,
                    name = item.name;

                var badgeComponent = _react.default.createElement(_flagIconComponent.default, {
                  style: {
                    width: 30,
                    height: 30
                  },
                  language: language
                });

                return {
                  title: name,
                  icon: badgeComponent,
                  style: language === lastTranslationLanguage ? {
                    borderBottomWidth: 1,
                    borderColor: _$$_REQUIRE(_dependencyMap[43]).colors.black
                  } : {},
                  textStyle: language === lastTranslationLanguage ? {
                    fontWeight: "bold"
                  } : {},
                  onPress: function onPress() {
                    newsmemoryConfig.setCurrentTranslationLanguage(language);

                    _$$_REQUIRE(_dependencyMap[42]).EventRegister.emit(_events.default.TRANSLATE_CHANGE_BUTTON_BADGE);

                    currentArticleRef.translate(language);
                  }
                };
              })
            });
          }
        }

        return true;
      }
    }, {
      key: "_toggleFullscreen",
      value: function _toggleFullscreen() {
        var active = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props.fullscreen;
        var onToggleFullscreen = this.props.onToggleFullscreen;

        if (typeof onToggleFullscreen === "function") {
          var _this$_getEventParams4 = this._getEventParams(),
              edition = _this$_getEventParams4.edition,
              page = _this$_getEventParams4.page,
              article = _this$_getEventParams4.article;

          (0, _$$_REQUIRE(_dependencyMap[50]).sendNewsmemoryToggleFullscreenEvent)(!active, edition, page, article);
          onToggleFullscreen(!active);
        }
      }
    }, {
      key: "_toggleGraphic",
      value: function _toggleGraphic() {
        var component = this.articleRefs[this.currentPosition];

        if (component) {
          component.toggleMode();
        }
      }
    }, {
      key: "_toggleArticleExtra",
      value: function _toggleArticleExtra(previousActive) {
        this.articleRefs.forEach(function (articleRef) {
          if (articleRef) {
            articleRef.toggleArticleExtra();
          }
        });
        global.getNewsmemoryConfig().setEnableArticleExtras(!previousActive);
      }
    }, {
      key: "_getButton",
      value: function _getButton(button) {
        var _this$props4 = this.props,
            fullscreen = _this$props4.fullscreen,
            getNewspaperStatus = _this$props4.getNewspaperStatus;
        var currentArticle = this.items[this.currentPosition];
        var isTextArticle = currentArticle && !currentArticle.isAd() && currentArticle.isText();
        var action = button.getAction();
        var library;
        var customIcon = button.getIcon();
        var customActiveIcon = button.getActiveIcon();

        var config = _$$_REQUIRE(_dependencyMap[45]).ACTIONS[action];

        var source = customIcon || config.icon;
        var activeSource = customActiveIcon || config.activeIcon;

        if (button && button.isLibraryIcon() && customIcon) {
          library = button.getLibrary();
        }

        var cssProps = {
          classes: ["newsmemory-icon", "newsmemory-article-header-icon"],
          cssKey: action
        };
        var commonProps = {
          key: action,
          accessibilityLabel: global.strings(config.defaultLabelKey),
          library: library,
          source: source,
          cssProps: cssProps
        };
        var shareProps = {};

        if (action === _$$_REQUIRE(_dependencyMap[45]).ACTIONS.share.key || action === _$$_REQUIRE(_dependencyMap[45]).ACTIONS.shareFacebook.key || action === _$$_REQUIRE(_dependencyMap[45]).ACTIONS.shareTwitter.key || action === _$$_REQUIRE(_dependencyMap[45]).ACTIONS.shareReddit.key || action === _$$_REQUIRE(_dependencyMap[45]).ACTIONS.shareEmail.key || action === _$$_REQUIRE(_dependencyMap[45]).ACTIONS.print.key) {
          shareProps = {
            visible: !_share2.default.checkSharesRemotely() || _$$_REQUIRE(_dependencyMap[43]).NetworkUtils.isOnline(),
            toVisibleEvent: _events.default.SHARE_CHANGE_BUTTON_VISIBILITY
          };
        }

        switch (action) {
          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.closeAccessibility.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, {
              onPress: this.closeAccessibility
            }));

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.closeCarMode.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, {
              onPress: this.closeCarMode
            }));

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.closeArticle.key:
            return _react.default.createElement(_closeComponent.default, (0, _extends2.default)({}, commonProps, {
              source: library ? customIcon : undefined,
              onPress: this.closeArticle
            }));

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.goBack.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, {
              onPress: this.goPrev
            }));

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.goUp.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, {
              onPress: this.onSwipeDown
            }));

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.goNext.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, {
              onPress: this.goNext
            }));

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.share.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, shareProps, {
              onPress: this.share
            }));

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.shareFacebook.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, shareProps, {
              onPress: this.shareFacebook
            }));

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.shareTwitter.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, shareProps, {
              onPress: this.shareTwitter
            }));

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.shareReddit.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, shareProps, {
              onPress: this.shareReddit
            }));

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.shareEmail.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, shareProps, {
              onPress: this.shareEmail
            }));

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.print.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, shareProps, {
              onPress: this.print
            }));

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.toggleFont.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, {
              toVisibleEvent: _events.default.TOGGLE_FONT_CHANGE_BUTTON_VISIBILITY,
              onPress: this.toggleFontSize,
              ifHiddenRemove: true,
              visible: isTextArticle
            }));

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.fontIncrease.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, {
              toVisibleEvent: _events.default.TOGGLE_FONT_CHANGE_BUTTON_VISIBILITY,
              onPress: this.fontIncrease,
              ifHiddenRemove: true,
              visible: isTextArticle
            }));

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.fontDecrease.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, {
              toVisibleEvent: _events.default.TOGGLE_FONT_CHANGE_BUTTON_VISIBILITY,
              onPress: this.fontDecrease,
              ifHiddenRemove: true,
              visible: isTextArticle
            }));

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.toggleGraphZoom.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, {
              toVisibleEvent: _events.default.TOGGLE_GRAPH_CHANGE_BUTTON_VISIBILITY,
              onPress: this.toggleGraphSize,
              ifHiddenRemove: true,
              visible: currentArticle && currentArticle.isAd()
            }));

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.graphIncrease.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, {
              toVisibleEvent: _events.default.TOGGLE_GRAPH_CHANGE_BUTTON_VISIBILITY,
              onPress: this.graphIncrease,
              ifHiddenRemove: true,
              visible: currentArticle && currentArticle.isAd()
            }));

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.graphDecrease.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, {
              toVisibleEvent: _events.default.TOGGLE_GRAPH_CHANGE_BUTTON_VISIBILITY,
              onPress: this.graphDecrease,
              ifHiddenRemove: true,
              visible: currentArticle && currentArticle.isAd()
            }));

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.graphZoomUnfit.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, {
              toVisibleEvent: _events.default.TOGGLE_GRAPH_UNFIT_CHANGE_BUTTON_VISIBILITY,
              onPress: this.graphZoomUnfit,
              ifHiddenRemove: true,
              visible: currentArticle && currentArticle.isAd()
            }));

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.translate.key:
            return _react.default.createElement(_simpleBadgeButtonComponent.default, (0, _extends2.default)({}, commonProps, {
              getBadgeComponent: function getBadgeComponent(props) {
                return _react.default.createElement(_flagIconComponent.default, (0, _extends2.default)({
                  language: global.getNewsmemoryConfig().currentTranslationLanguage
                }, props));
              },
              badgeEvent: _events.default.TRANSLATE_CHANGE_BUTTON_BADGE,
              toVisibleEvent: _events.default.TRANSLATE_CHANGE_BUTTON_VISIBILITY,
              onPress: this.chooseLanguage,
              visible: currentArticle && !currentArticle.isAd() && global.getNewsmemoryConfig().isTranslationAvailable(),
              cssBadgeClasses: ["newsmemory-translate-icon-badge"],
              ifHiddenRemove: true
            }));

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.toggleFullScreen.key:
            return _react.default.createElement(_twoStateButtonComponent.default, {
              key: action,
              library: library,
              activeSource: activeSource,
              inactiveSource: source,
              active: fullscreen,
              onPress: this.toggleFullScreen,
              cssProps: cssProps,
              ifHiddenRemove: true
            });

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.toggleTextToSpeech.key:
            var mgr = global.getAudio();
            var lastTTSIndex = -1;
            var currentNewspaperStatus = getNewspaperStatus();

            if (currentNewspaperStatus) {
              lastTTSIndex = currentNewspaperStatus.getLastTTSIndex();
            }

            var ttsButtonIsActive = mgr.ttsIsSpeaking() || mgr.ttsIsPaused() && !mgr.ttsIsUserPaused() && lastTTSIndex !== -1;
            return _react.default.createElement(_twoStateButtonComponent.default, {
              key: action,
              library: library,
              activeSource: activeSource,
              inactiveSource: source,
              active: ttsButtonIsActive,
              toInactiveEvent: _events.default.TTS_ENGINE_STOPPED,
              toActiveEvent: _events.default.TTS_ENGINE_STARTED,
              toVisibleEvent: _events.default.TTS_CHANGE_BUTTON_VISIBILITY,
              onActivePress: this.stopTTS,
              onInactivePress: this.startTTS,
              visible: currentArticle && !currentArticle.isAd(),
              cssProps: cssProps,
              ifHiddenRemove: true
            });

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.toggleGraphic.key:
            return _react.default.createElement(_twoStateButtonComponent.default, {
              key: action,
              library: library,
              activeSource: activeSource,
              inactiveSource: source,
              active: this._getLoadedArticleTypeState(),
              toInactiveEvent: _events.default.TOGGLE_ARTICLE_TEXT,
              toActiveEvent: _events.default.TOGGLE_ARTICLE_GRAPHIC,
              toVisibleEvent: _events.default.TOGGLE_GRAPHIC_CHANGE_BUTTON_VISIBILITY,
              onPress: this.toggleGraphic,
              visible: currentArticle && !currentArticle.isAd(),
              cssProps: cssProps,
              ifHiddenRemove: true
            });

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.toggleArticleExtra.key:
            var _global$getActivePSet7 = global.getActivePSetup(),
                showExtrasInArticleGraphicMode = _global$getActivePSet7.showExtrasInArticleGraphicMode;

            var _global$getNewsmemory3 = global.getNewsmemoryConfig(),
                enableArticleExtras = _global$getNewsmemory3.enableArticleExtras;

            return _react.default.createElement(_twoStateButtonComponent.default, {
              key: action,
              library: library,
              activeSource: activeSource,
              inactiveSource: source,
              active: enableArticleExtras,
              toInactiveEvent: _events.default.DISABLE_ARTICLE_EXTRA,
              toActiveEvent: _events.default.ENABLE_ARTICLE_EXTRA,
              toVisibleEvent: _events.default.TOGGLE_ARTICLE_EXTRA_CHANGE_BUTTON_VISIBILITY,
              onPress: this.toggleArticleExtra,
              visible: showExtrasInArticleGraphicMode && !isTextArticle,
              cssProps: cssProps,
              ifHiddenRemove: true
            });
        }

        return null;
      }
    }, {
      key: "_isAccessibilityModeEnabled",
      value: function _isAccessibilityModeEnabled() {
        var accessibilityEnabled = this.props.accessibilityEnabled;
        return accessibilityEnabled;
      }
    }, {
      key: "_isCarModeEnabled",
      value: function _isCarModeEnabled() {
        var carModeEnabled = this.props.carModeEnabled;
        return carModeEnabled;
      }
    }, {
      key: "_getLoadedArticleTypeState",
      value: function _getLoadedArticleTypeState() {
        var article = this.items[this.currentPosition];
        return article ? !article.isText() : false;
      }
    }, {
      key: "_getSearchButton",
      value: function _getSearchButton(button) {
        var action = button.getAction();
        var customIcon = button.getIcon();

        var source = customIcon || _$$_REQUIRE(_dependencyMap[45]).ACTIONS[action].icon;

        var library;

        if (button && button.isLibraryIcon() && customIcon) {
          library = button.getLibrary();
        }

        var commonProps = {
          key: action,
          library: library,
          source: source,
          cssProps: {
            classes: ["newsmemory-icon", "newsmemory-article-header-icon"],
            cssKey: action
          }
        };

        switch (action) {
          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.search.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, {
              onPress: this.search
            }));

          case _$$_REQUIRE(_dependencyMap[45]).ACTIONS.clearSearch.key:
            return _react.default.createElement(_simpleButtonComponent.default, (0, _extends2.default)({}, commonProps, {
              onPress: this.clearSearch
            }));
        }

        return null;
      }
    }, {
      key: "_getHeaderInfoTexts",
      value: function _getHeaderInfoTexts() {
        var info = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var leftText = "";
        var rightText = "";

        if (info) {
          var section = info.section,
              page = info.page,
              index = info.index,
              counter = info.counter;
          leftText = section;
          rightText = global.strings("counter", {
            current: index + 1,
            total: counter
          }) + " " + _$$_REQUIRE(_dependencyMap[43]).StringUtils.BULLET + " " + global.strings("str_page") + ": " + page;
        }

        return {
          leftText: leftText,
          rightText: rightText
        };
      }
    }, {
      key: "_getInfo",
      value: function _getInfo() {
        var leftSection = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var color = arguments.length > 1 ? arguments[1] : undefined;
        var accessibilityEnabled = this.props.accessibilityEnabled;
        var textSize = leftSection.textSize;
        var info = this.getNavigationInfo(this.currentPosition);

        if (info) {
          return _react.default.createElement(_headerInfoComponent.default, (0, _extends2.default)({}, this._getHeaderInfoTexts(info), {
            color: _$$_REQUIRE(_dependencyMap[43]).ColorUtils.determineTextColor(color),
            onChangeEventName: _events.default.NEWSMEMORY_ARTICLE_CHANGE,
            textSize: textSize,
            accessibilityEnabled: accessibilityEnabled
          }));
        }

        return null;
      }
    }, {
      key: "_isFromSearch",
      value: function _isFromSearch() {
        var searchText = this.props.searchText;
        return searchText && searchText.length;
      }
    }, {
      key: "_getFilteredButtons",
      value: function _getFilteredButtons() {
        var buttons = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        var isSearch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
        var searchText = this.props.searchText;

        var _global$getActivePSet8 = global.getActivePSetup(),
            enableTextToSpeech = _global$getActivePSet8.enableTextToSpeech,
            enableShare = _global$getActivePSet8.enableShare,
            enablePrint = _global$getActivePSet8.enablePrint;

        var filteredButtons = buttons.filter(function (button) {
          if (isSearch) {
            if (button.getAction() === _$$_REQUIRE(_dependencyMap[45]).ACTIONS.search.key || button.getAction() === _$$_REQUIRE(_dependencyMap[45]).ACTIONS.clearSearch.key) {
              return searchText !== undefined;
            }

            return false;
          }

          if (button.getAction() === _$$_REQUIRE(_dependencyMap[45]).ACTIONS.search.key || button.getAction() === _$$_REQUIRE(_dependencyMap[45]).ACTIONS.clearSearch.key) {
            return false;
          }

          if (button.getAction() === _$$_REQUIRE(_dependencyMap[45]).ACTIONS.toggleTextToSpeech.key) {
            return enableTextToSpeech;
          }

          if (button.getAction() === _$$_REQUIRE(_dependencyMap[45]).ACTIONS.share.key) {
            return enableShare;
          }

          if (button.getAction() === _$$_REQUIRE(_dependencyMap[45]).ACTIONS.print.key) {
            return enablePrint;
          }

          return true;
        });
        return filteredButtons;
      }
    }, {
      key: "_getComponentSubHeader",
      value: function _getComponentSubHeader(header) {
        var _this$props5 = this.props,
            searchColor = _this$props5.searchColor,
            size = _this$props5.size,
            renderHr = _this$props5.renderHr;
        var leftSection = header.getLeft();
        var rightSection = header.getRight();
        var carModeSection = header.getCarMode();
        var hrTop = header.getHrTop();

        var searchStyle = _$$_REQUIRE(_dependencyMap[52]).Css.getStyleObjByCssClasses(["newsmemory-search"]);

        var customSearchColor = _$$_REQUIRE(_dependencyMap[43]).CssUtils.getAttributeFromStyle("color", searchStyle, searchColor);

        var bgColor = this._isFromSearch() ? customSearchColor : hrTop.getColor();
        var rightButtons;
        var leftButtons;
        var searchButtons;

        if (this._isCarModeEnabled()) {
          rightButtons = this._getFilteredButtons(carModeSection.getButtons());
        } else if (!this._isAccessibilityModeEnabled()) {
          rightButtons = this._getFilteredButtons(rightSection.getButtons());
          leftButtons = this._getFilteredButtons(leftSection.getButtons());
          searchButtons = this._getFilteredButtons(rightSection.getButtons(), true);
        }

        return _react.default.createElement(_subHeaderComponent.default, {
          TextComponent: this._getInfo(leftSection, bgColor),
          HrComponent: renderHr(hrTop),
          ButtonsComponent: this._isAccessibilityModeEnabled() ? null : _react.default.createElement(_subHeaderButtons.default, {
            cssButtonClasses: ["newsmemory-icon", "newsmemory-article-header-icon"],
            leftButtons: leftButtons,
            rightButtons: rightButtons,
            width: size.width,
            renderButton: this.getButton
          }),
          SubButtonsComponent: this._isAccessibilityModeEnabled() ? null : _react.default.createElement(_subHeaderButtons.default, {
            rightButtons: searchButtons,
            width: size.width,
            renderButton: this.getSearchButton
          }),
          bgColor: bgColor,
          cssClasses: ["newsmemory-article-mode-header"]
        });
      }
    }, {
      key: "_getPageById",
      value: function _getPageById(id) {
        var newspaper = this.props.newspaper;

        if (newspaper) {
          var edition = newspaper.getEditionModel();

          if (edition) {
            var pages = edition.getPages();
            return pages.find(function (page) {
              return page.getPageId() === id;
            });
          }
        }

        return undefined;
      }
    }, {
      key: "_getFilteredArticles",
      value: function _getFilteredArticles(_ref2) {
        var _this5 = this;

        var getCurrentArticle = _ref2.getCurrentArticle,
            searchText = _ref2.searchText;
        var currentArticle = getCurrentArticle();
        var clickedType = currentArticle ? currentArticle.getType() : _EPaperArticle.EPaperArticleType.EDITORIAL;
        var searchTextLowerCase = searchText ? searchText.toLowerCase() : searchText;
        var filteredArticles = this.allArticles.filter(function (article) {
          var page = _this5._getPageById(article.getPageId());

          if (page && page.isProtected()) {
            return false;
          }

          if (_this5._isAccessibilityModeEnabled()) {
            return article.getType() === _EPaperArticle.EPaperArticleType.EDITORIAL;
          }

          if (searchTextLowerCase) {
            return article.getType() === _EPaperArticle.EPaperArticleType.EDITORIAL && (article.getHtml().toLowerCase().includes(searchTextLowerCase) || article.getTitle().toLowerCase().includes(searchTextLowerCase));
          }

          if (_this5.showTypesArticle === _$$_REQUIRE(_dependencyMap[53]).SHOW_TYPES_ARTICLE.ONLY_TEXT || _newsmemoryUtils.default.isModeLow()) {
            if (clickedType === _EPaperArticle.EPaperArticleType.EDITORIAL) {
              return article.getType() === _EPaperArticle.EPaperArticleType.EDITORIAL;
            }

            if (_this5.articleTypeChange) {
              return article.getType() === _EPaperArticle.EPaperArticleType.EDITORIAL || currentArticle === article;
            }
          }

          if (_this5.showTypesArticle === _$$_REQUIRE(_dependencyMap[53]).SHOW_TYPES_ARTICLE.TEXT_AND_GRAPH) {
            if (clickedType === _EPaperArticle.EPaperArticleType.EDITORIAL || clickedType === _EPaperArticle.EPaperArticleType.GRAPHIC || clickedType === _EPaperArticle.EPaperArticleType.TABLE) {
              return article.getType() === _EPaperArticle.EPaperArticleType.EDITORIAL || article.getType() === _EPaperArticle.EPaperArticleType.GRAPHIC || article.getType() === _EPaperArticle.EPaperArticleType.TABLE;
            }

            if (_this5.articleTypeChange) {
              return article.getType() === _EPaperArticle.EPaperArticleType.EDITORIAL || article.getType() === _EPaperArticle.EPaperArticleType.GRAPHIC || article.getType() === _EPaperArticle.EPaperArticleType.TABLE || currentArticle === article;
            }
          }

          return article.getType() !== _EPaperArticle.EPaperArticleType.PAGE_LAYOUT || currentArticle === article;
        });

        if (this.articleTypeChange) {
          this.articleTypeChange = false;
        }

        return filteredArticles;
      }
    }, {
      key: "_getArticleIndex",
      value: function _getArticleIndex(articles, current) {
        var index = articles.findIndex(function (article) {
          return article === current;
        });
        return index >= 0 ? index : 0;
      }
    }, {
      key: "_onSwipeDown",
      value: function _onSwipeDown() {
        var onOpenIndex = this.props.onOpenIndex;

        if (typeof onOpenIndex === "function") {
          onOpenIndex();
        }
      }
    }, {
      key: "_onOpenGallery",
      value: function _onOpenGallery(gallery, index) {
        var _this$props6 = this.props,
            navigation = _this$props6.navigation,
            newspaper = _this$props6.newspaper;

        if (navigation && gallery && gallery.length) {
          var params = {
            items: gallery,
            caller: "epaper",
            index: index
          };

          if (newspaper) {
            params.edition = newspaper.getEditionModel();
            var currentArticle = this.items[this.currentPosition];

            if (currentArticle) {
              params.article = currentArticle;

              var page = this._getCurrentPage(currentArticle.getPageId());

              if (page) {
                params.page = page;
              }
            }
          }

          navigation.navigate("GalleryScreen", params);
        }
      }
    }, {
      key: "_delayScreenIdleTimer",
      value: function _delayScreenIdleTimer(text, currentArticle) {
        var _global$getActivePSet9 = global.getActivePSetup(),
            disableScreenIdleTimerDelay = _global$getActivePSet9.disableScreenIdleTimerDelay;

        if (!disableScreenIdleTimerDelay && text && currentArticle && !currentArticle.isAd()) {
          var _StringUtils$getReadi = _$$_REQUIRE(_dependencyMap[43]).StringUtils.getReadingTime(text),
              time = _StringUtils$getReadi.time;

          _deviceUtils.default.delayIdleTimer(time);
        }
      }
    }, {
      key: "_onTextLoaded",
      value: function _onTextLoaded(index, text) {
        if (index === this.lastOnSwipeIndex) {
          var hasText = !!(text && text.trim().length > 0);

          _$$_REQUIRE(_dependencyMap[42]).EventRegister.emit(_events.default.TTS_CHANGE_BUTTON_VISIBILITY, {
            visible: hasText
          });

          if (hasText) {
            var getNewspaperStatus = this.props.getNewspaperStatus;
            var currentNewspaperStatus = getNewspaperStatus();
            var mgr = global.getAudio();

            if (mgr.ttsIsSpeaking()) {
              if (currentNewspaperStatus) {
                currentNewspaperStatus.setLastTTSIndex(index);
              }

              mgr.ttsStart(text);
            } else if (mgr.ttsIsPaused()) {
              if (mgr.ttsIsUserPaused()) {
                mgr.ttsShowPlayer();
              } else {
                if (currentNewspaperStatus) {
                  currentNewspaperStatus.setLastTTSIndex(index);
                }

                mgr.ttsResume();
              }
            } else if (mgr.ttsIsAutoRestart()) {
              if (currentNewspaperStatus) {
                currentNewspaperStatus.setLastTTSIndex(index);
              }

              mgr.ttsStart(text);
            }

            var currentArticle = this.items[index];

            this._delayScreenIdleTimer(text, currentArticle);
          }
        }
      }
    }, {
      key: "_whatTTS",
      value: function _whatTTS() {
        global.getAudio().ttsWhat();
      }
    }, {
      key: "_stopTTS",
      value: function _stopTTS() {
        var onSwipe = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
        var onClose = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
        var getNewspaperStatus = this.props.getNewspaperStatus;
        var currentNewspaperStatus = getNewspaperStatus();

        if (currentNewspaperStatus) {
          currentNewspaperStatus.resetLastTTSIndex();
        }

        global.getAudio().ttsStop(onSwipe);

        if (!onSwipe && !onClose) {
          var newspaper = this.props.newspaper;

          if (newspaper) {
            var currentArticle = this.items[this.currentPosition];
            var edition = newspaper.getEditionModel();

            var page = this._getCurrentPage(currentArticle.getPageId());

            (0, _$$_REQUIRE(_dependencyMap[50]).sendNewsmemoryTTSEvent)(_events.default.TTS_ENGINE_STOPPED, edition, page, currentArticle);
          }
        }
      }
    }, {
      key: "_startTTS",
      value: function _startTTS() {
        var onSwipe = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
        var _this$props7 = this.props,
            newspaper = _this$props7.newspaper,
            getNewspaperStatus = _this$props7.getNewspaperStatus;
        var component = this.articleRefs[this.currentPosition];

        if (component) {
          var currentArticle = this.items[this.currentPosition];
          var text = component.getText();

          if (text && currentArticle && !currentArticle.isAd()) {
            var currentNewspaperStatus = getNewspaperStatus();

            if (currentNewspaperStatus) {
              currentNewspaperStatus.setLastTTSIndex(this.currentPosition);
            }

            global.getAudio().ttsStart(text);

            if (!onSwipe && newspaper) {
              var edition = newspaper.getEditionModel();

              if (edition) {
                var page = this._getCurrentPage(currentArticle.getPageId());

                (0, _$$_REQUIRE(_dependencyMap[50]).sendNewsmemoryTTSEvent)(_events.default.TTS_ENGINE_STARTED, edition, page, currentArticle);
              }
            }
          }
        }
      }
    }, {
      key: "_toggleTTS",
      value: function _toggleTTS() {
        if (global.getAudio().ttsIsSpeaking()) {
          this._stopTTS();
        } else {
          this._startTTS();
        }
      }
    }, {
      key: "_onSwipe",
      value: function _onSwipe(index) {
        var _this6 = this;

        var getNewspaperStatus = this.props.getNewspaperStatus;
        var currentArticle = this.items[index];
        var currentArticleRef = this.articleRefs[index];

        if (this.lastOnSwipeIndex !== index) {
          if (currentArticleRef && !currentArticleRef.isTextMode()) {
            _$$_REQUIRE(_dependencyMap[42]).EventRegister.emit(_events.default.NEWSMEMORY_RESTART_HIGH_RES_QUEUE);
          }

          var mgr = global.getAudio();

          if (mgr.ttsIsSpeaking() && currentArticle && (!currentArticle.isText() || !(0, _$$_REQUIRE(_dependencyMap[54]).stripHTMLTags)(currentArticle.getHtml()).trim())) {
            var nextTextArticleIndex = index;

            var findNextEditorial = function findNextEditorial(item) {
              return item.isText() && (0, _$$_REQUIRE(_dependencyMap[54]).stripHTMLTags)(item.getHtml()).trim();
            };

            if (index > this.lastOnSwipeIndex) {
              var partialIndex = this.items.slice(index).findIndex(findNextEditorial);

              if (partialIndex > -1) {
                nextTextArticleIndex = partialIndex + index;
              }
            } else {
              var _partialIndex = this.items.slice(0, index).reverse().findIndex(findNextEditorial);

              if (_partialIndex > -1) {
                nextTextArticleIndex = index - 1 - _partialIndex;
              }
            }

            if (nextTextArticleIndex !== index) {
              this.lastOnSwipeIndex = index;
              this.currentPosition = index;
              setTimeout(function () {
                _this6._goToPage(nextTextArticleIndex);
              }, 0);
              return;
            }
          }

          var lastTTSIndex = -1;
          var currentNewspaperStatus = getNewspaperStatus();

          if (currentNewspaperStatus) {
            lastTTSIndex = currentNewspaperStatus.getLastTTSIndex();

            if (this.lastOnSwipeIndex !== -1) {
              currentNewspaperStatus.resetLastArticlePositionId();
            }
          }

          _$$_REQUIRE(_dependencyMap[42]).EventRegister.emit(_events.default.NEWSMEMORY_ARTICLE_CHANGE, this._getHeaderInfoTexts(this.getNavigationInfo(index)));

          _$$_REQUIRE(_dependencyMap[42]).EventRegister.emit(_events.default.TOGGLE_GRAPHIC_CHANGE_BUTTON_VISIBILITY, {
            visible: !(currentArticle && currentArticle.isAd())
          });

          var _global$getNewsmemory4 = global.getNewsmemoryConfig(),
              currentTranslationLanguage = _global$getNewsmemory4.currentTranslationLanguage;

          var toTranslate = currentTranslationLanguage && currentTranslationLanguage !== _NewsmemoryHelper.default.SP.values.translation_disabled && currentArticleRef && currentArticleRef.isTextMode() && !currentArticleRef.isTranslated(currentTranslationLanguage);

          if (this.lastOnSwipeIndex === -1 && lastTTSIndex === index) {
            this.currentPosition = index;
          } else if (lastTTSIndex !== index) {
            if (mgr.ttsIsUserPaused() || lastTTSIndex === -1) {
              this.currentPosition = index;
              mgr.ttsDestroy();
            } else {
              this.stopTTS(true);
              this.currentPosition = index;

              if (mgr.ttsIsAutoRestart() && !toTranslate) {
                this.startTTS(true);
              }
            }
          }

          if (toTranslate && currentArticleRef) {
            currentArticleRef.translate(currentTranslationLanguage);
          }

          if (this._simulateAccessibility()) {
            var prevArticleRef = this.articleRefs[this.lastOnSwipeIndex];

            if (prevArticleRef) {
              prevArticleRef.accessibilityUnfocus();
            }

            if (currentArticleRef) {
              currentArticleRef.accessibilityFocus();
            }
          }

          this.lastOnSwipeIndex = index;

          if (currentArticleRef) {
            currentArticleRef.checkArticleExtra();
            var text = currentArticleRef.getText();
            var hasText = !!(text && text.trim().length > 0);

            _$$_REQUIRE(_dependencyMap[42]).EventRegister.emit(_events.default.TTS_CHANGE_BUTTON_VISIBILITY, {
              visible: currentArticle && currentArticle.isText() && hasText
            });

            this._delayScreenIdleTimer(text, currentArticle);

            currentArticleRef.startHeightCheck();
            this.articleRefs.forEach(function (ref, refIndex) {
              if (ref && refIndex !== index) {
                ref.stopHeightCheck();
              }
            });
          }
        }

        var onArticleSelected = this.props.onArticleSelected;

        if (typeof onArticleSelected === "function" && currentArticle) {
          onArticleSelected(currentArticle, !currentArticleRef || currentArticleRef.isTextMode() ? _$$_REQUIRE(_dependencyMap[46]).NewsmemoryArticleModes.TEXT : _$$_REQUIRE(_dependencyMap[46]).NewsmemoryArticleModes.GRAPHIC);
        }
      }
    }, {
      key: "_simulateAccessibility",
      value: function _simulateAccessibility() {
        var accessibilityEnabled = this.props.accessibilityEnabled;
        return accessibilityEnabled && !_$$_REQUIRE(_dependencyMap[43]).PlatformUtils.isSystemAccessibilityEnabled();
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props8 = this.props,
            model = _this$props8.model,
            isLandscape = _this$props8.isLandscape,
            searchText = _this$props8.searchText,
            size = _this$props8.size;
        return _react.default.createElement(_react.default.Fragment, null, this._getComponentSubHeader(model), _react.default.createElement(_reactNative.View, {
          key: "articles_" + isLandscape + "_" + searchText,
          style: {
            flex: 1
          }
        }, _react.default.createElement(_viewPagerComponent.default, {
          ref: this.articleViewPager,
          containerStyle: _articleLayoutManager.default.swiper,
          numberOfRenderPages: ARTICLE_WINDOW_SIZE,
          data: this.items,
          startPage: this.currentPosition,
          onPageChange: this.onSwipe,
          width: size.width,
          renderPage: this.getContent,
          minPointers: this._simulateAccessibility() ? 2 : 1,
          skipChildMemo: true
        }), global.getAudio() ? _react.default.createElement(_player.default, global.getAudio().ttsPlayerProps()) : null, _react.default.createElement(_articleZoomLevelText.default, null)));
      }
    }]);
    return NewsmemoryArticleLayoutManager;
  }(_$$_REQUIRE(_dependencyMap[55]).Shortcut);

  exports.NewsmemoryArticleLayoutManager = NewsmemoryArticleLayoutManager;
  NewsmemoryArticleLayoutManager.propTypes = (0, _extends2.default)({
    model: _propTypes.default.instanceOf(_$$_REQUIRE(_dependencyMap[56]).Header).isRequired,
    newspaper: _propTypes.default.instanceOf(_NewspaperIssue.default).isRequired,
    getCurrentArticle: _propTypes.default.func.isRequired,
    getNewspaperStatus: _propTypes.default.func.isRequired,
    searchText: _propTypes.default.string,
    accessibilityEnabled: _propTypes.default.bool,
    carModeEnabled: _propTypes.default.bool,
    onCloseAccessibility: _propTypes.default.func,
    onCloseCarMode: _propTypes.default.func,
    onClose: _propTypes.default.func,
    onOpenSearch: _propTypes.default.func,
    onOpenIndex: _propTypes.default.func,
    onClearSearch: _propTypes.default.func,
    onArticleLongPress: _propTypes.default.func,
    onArticleSelected: _propTypes.default.func,
    onArticleLoaded: _propTypes.default.func,
    renderHr: _propTypes.default.func,
    fullscreen: _propTypes.default.bool,
    onToggleFullscreen: _propTypes.default.func,
    header: _propTypes.default.bool,
    footer: _propTypes.default.arrayOf(_propTypes.default.shape({
      text: _propTypes.default.string,
      url: _propTypes.default.string
    })),
    formattedIssue: _propTypes.default.string,
    isLandscape: _propTypes.default.bool,
    navigation: _propTypes.default.shape({
      navigate: _propTypes.default.func
    }).isRequired,
    searchColor: _propTypes.default.string,
    size: _propTypes.default.shape({
      width: _propTypes.default.number,
      height: _propTypes.default.number
    }).isRequired,
    FooterComponent: _propTypes.default.node
  }, _$$_REQUIRE(_dependencyMap[55]).Shortcut.propTypes);
  NewsmemoryArticleLayoutManager.defaultProps = (0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[55]).Shortcut.defaultProps, {
    header: false,
    searchColor: _$$_REQUIRE(_dependencyMap[57]).SEARCH_COLOR
  });
},2417,[5,80,6,7,8,15,90,12,14,16,17,201,28,2418,2299,2376,2298,644,2360,640,638,2155,458,460,2352,1859,603,2419,714,715,2372,2374,2420,574,2160,2377,1996,2421,1726,1994,1860,430,572,462,1873,1725,1893,1950,1889,2183,1954,1905,699,717,2182,1911,1853,729]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    root: {
      position: "absolute",
      top: 0,
      bottom: 0,
      left: 0,
      right: 0,
      width: null,
      height: null
    },
    header: {
      height: _$$_REQUIRE(_dependencyMap[1]).HEADER_HEIGHT,
      flexDirection: "row",
      justifyContent: "flex-end"
    },
    buttonsContainer: {
      flexDirection: "row",
      alignItems: "center"
    },
    buttons: {
      height: _$$_REQUIRE(_dependencyMap[1]).HEADER_HEIGHT,
      flexDirection: "row",
      flex: 0,
      alignItems: "center"
    },
    buttonsRight: {
      justifyContent: "flex-end"
    },
    buttonsLeft: {
      justifyContent: "flex-start",
      flex: 1
    },
    left: {
      flexDirection: "row"
    },
    right: {
      flexDirection: "row-reverse"
    },
    hr: {
      height: _$$_REQUIRE(_dependencyMap[1]).HEADER_HR_SIZE
    },
    swiper: {
      flex: 1
    }
  });

  exports.default = _default;
},2418,[28,729]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TIME_TO_HIDE_MILLS = 3000;
  var DEFAULT_LEVEL = 100;
  var LEVEL_PRECISION = 2;

  var style = _reactNative.StyleSheet.create({
    parent: {
      justifyContent: "center",
      alignItems: "center",
      position: "absolute",
      paddingHorizontal: 5,
      backgroundColor: "white",
      top: 0,
      end: 0
    }
  });

  var ArticleZoomLevelText = function (_React$Component) {
    (0, _inherits2.default)(ArticleZoomLevelText, _React$Component);

    var _super = _createSuper(ArticleZoomLevelText);

    function ArticleZoomLevelText(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ArticleZoomLevelText);
      _this = _super.call(this, props);
      _this.state = {
        visible: props.visible,
        level: props.level
      };
      _this.scheduleHide = _this._scheduleHide.bind((0, _assertThisInitialized2.default)(_this));

      if (props.visible) {
        _this.scheduleHide();
      }

      return _this;
    }

    (0, _createClass2.default)(ArticleZoomLevelText, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        this.zoomTextLevelChange = _$$_REQUIRE(_dependencyMap[12]).EventRegister.on(_events.default.ARTICLE_TEXT_ZOOM_CHANGE, function () {
          _this2._updateLevel(global.getUserSettings().fontSize);
        });
        this.zoomGraphLevelChange = _$$_REQUIRE(_dependencyMap[12]).EventRegister.on(_events.default.ARTICLE_GRAPHIC_ZOOM_CHANGE, function () {
          _this2._updateLevel(global.getNewsmemoryConfig().graphSize);
        });
        this.onToggleArticleText = _$$_REQUIRE(_dependencyMap[12]).EventRegister.on(_events.default.TOGGLE_ARTICLE_TEXT, function () {
          _this2._updateLevel(global.getUserSettings().fontSize);
        });
        this.onToggleArticleGraph = _$$_REQUIRE(_dependencyMap[12]).EventRegister.on(_events.default.TOGGLE_ARTICLE_GRAPHIC, function () {
          _this2._updateLevel(global.getNewsmemoryConfig().graphSize);
        });
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[12]).EventRegister.rm(this.zoomTextLevelChange);

        _$$_REQUIRE(_dependencyMap[12]).EventRegister.rm(this.zoomGraphLevelChange);

        _$$_REQUIRE(_dependencyMap[12]).EventRegister.rm(this.onToggleArticleText);

        _$$_REQUIRE(_dependencyMap[12]).EventRegister.rm(this.onToggleArticleGraph);

        if (this.showTimerId !== undefined) {
          clearTimeout(this.showTimerId);
        }
      }
    }, {
      key: "_updateLevel",
      value: function _updateLevel(level) {
        var currentLevel = this.state.level;

        if (currentLevel !== level) {
          this.setState({
            level: level,
            visible: true
          }, this.scheduleHide);
        }
      }
    }, {
      key: "_scheduleHide",
      value: function _scheduleHide() {
        var _this3 = this;

        if (this.showTimerId !== undefined) {
          clearTimeout(this.showTimerId);
          this.showTimerId = undefined;
        }

        this.showTimerId = setTimeout(function () {
          _this3.setState({
            visible: false
          });
        }, TIME_TO_HIDE_MILLS);
      }
    }, {
      key: "_getLabel",
      value: function _getLabel() {
        var level = this.state.level;

        if (Number.isNaN(level)) {
          return "";
        }

        return "x" + (level / DEFAULT_LEVEL).toFixed(LEVEL_PRECISION);
      }
    }, {
      key: "render",
      value: function render() {
        var _this$state = this.state,
            visible = _this$state.visible,
            level = _this$state.level;

        if (!visible) {
          return null;
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["newsmemory-article-zoom-level-parent"]
        }, _react.default.createElement(_reactNative.View, {
          style: style.parent
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["newsmemory-article-zoom-level-text"]
        }, _react.default.createElement(_fontText.default, {
          type: _fontText.Type.bold,
          style: {
            fontSize: _$$_REQUIRE(_dependencyMap[14]).HEADER_FONT_SIZE
          }
        }, this._getLabel()))));
      }
    }]);
    return ArticleZoomLevelText;
  }(_react.default.Component);

  exports.default = ArticleZoomLevelText;
  ArticleZoomLevelText.propTypes = {
    level: _propTypes.default.number,
    visible: _propTypes.default.bool
  };
  ArticleZoomLevelText.defaultProps = {
    level: DEFAULT_LEVEL,
    visible: false
  };
},2419,[5,7,8,15,12,14,16,17,28,201,1879,460,572,699,729]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _simpleButtonComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _simpleButtonComponent2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SimpleBadgeButton = function (_SimpleButton) {
    (0, _inherits2.default)(SimpleBadgeButton, _SimpleButton);

    var _super = _createSuper(SimpleBadgeButton);

    function SimpleBadgeButton(props) {
      var _this;

      (0, _classCallCheck2.default)(this, SimpleBadgeButton);
      _this = _super.call(this, props);
      var visible = props.visible,
          badgeIcon = props.badgeIcon;
      _this.state = {
        visible: visible,
        badgeIcon: badgeIcon
      };
      return _this;
    }

    (0, _createClass2.default)(SimpleBadgeButton, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        (0, _get2.default)((0, _getPrototypeOf2.default)(SimpleBadgeButton.prototype), "componentDidMount", this).call(this);
        var badgeEvent = this.props.badgeEvent;

        if (badgeEvent) {
          this.onBadgeEvent = _$$_REQUIRE(_dependencyMap[14]).EventRegister.on(badgeEvent, function () {
            var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
                badgeIcon = _ref.badgeIcon;

            var getBadgeComponent = _this2.props.getBadgeComponent;

            if (getBadgeComponent) {
              _this2.forceUpdate();
            } else {
              _this2.setState({
                badgeIcon: badgeIcon
              });
            }
          });
        }
      }
    }, {
      key: "shouldComponentUpdate",
      value: function shouldComponentUpdate(nextProps, nextState) {
        return !_$$_REQUIRE(_dependencyMap[15]).JSUtils.equals(nextProps, this.props) || !_$$_REQUIRE(_dependencyMap[15]).JSUtils.equals(nextState, this.state);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(SimpleBadgeButton.prototype), "componentWillUnmount", this).call(this);

        _$$_REQUIRE(_dependencyMap[14]).EventRegister.rm(this.onBadgeEvent);
      }
    }, {
      key: "_getBadgeComponent",
      value: function _getBadgeComponent() {
        var _this$props = this.props,
            getBadgeComponent = _this$props.getBadgeComponent,
            cssBadgeClasses = _this$props.cssBadgeClasses;
        var enableRadius = !_$$_REQUIRE(_dependencyMap[15]).PlatformUtils.isPreviousMarshmallow();
        var style = [_simpleButtonComponent2.default.badge, {
          borderRadius: enableRadius ? 10 : 0
        }];

        if (getBadgeComponent) {
          return getBadgeComponent({
            style: style
          });
        }

        var badgeIcon = this.state.badgeIcon;
        return badgeIcon ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).Css, {
          classes: cssBadgeClasses
        }, _react.default.createElement(_imageIconChooserComponent.default, {
          style: style,
          source: badgeIcon,
          forceFastComponent: true,
          resizeMode: "contain"
        })) : null;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props2 = this.props,
            parentStyle = _this$props2.parentStyle,
            ifHiddenRemove = _this$props2.ifHiddenRemove,
            buttonStyle = _this$props2.buttonStyle,
            source = _this$props2.source,
            tintColor = _this$props2.tintColor,
            library = _this$props2.library,
            cssProps = _this$props2.cssProps;
        var visible = this.state.visible;

        if (!visible) {
          if (ifHiddenRemove) {
            return null;
          }

          return _react.default.createElement(_reactNative.View, {
            style: [_simpleButtonComponent2.default.parent, parentStyle]
          });
        }

        return _react.default.createElement(_reactNative.TouchableOpacity, {
          style: [_simpleButtonComponent2.default.parent, parentStyle],
          onPress: this.onPress
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).Css, cssProps, _react.default.createElement(_imageIconChooserComponent.default, {
          type: library,
          name: source,
          iconStyle: [_simpleButtonComponent2.default.libraryButton, {
            color: tintColor
          }],
          imageStyle: [_simpleButtonComponent2.default.button, {
            tintColor: tintColor
          }],
          style: [buttonStyle],
          resizeMode: "contain",
          source: source,
          tintColor: tintColor
        })), this._getBadgeComponent());
      }
    }]);
    return SimpleBadgeButton;
  }(_simpleButtonComponent.default);

  exports.default = SimpleBadgeButton;
  SimpleBadgeButton.propTypes = (0, _extends2.default)({}, _simpleButtonComponent.default.propTypes, {
    badgeIcon: _propTypes.default.object,
    getBadgeComponent: _propTypes.default.func,
    badgeEvent: _propTypes.default.string,
    cssBadgeClasses: _propTypes.default.arrayOf(_propTypes.default.string)
  });
  SimpleBadgeButton.defaultProps = {
    badgeIcon: undefined,
    cssBadgeClasses: []
  };
},2420,[5,6,7,8,90,12,14,16,17,201,28,2299,2300,1970,572,462,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[6]);

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _TranslationManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var FlagIconComponent = function FlagIconComponent(props) {
    var style = props.style,
        language = props.language,
        cssClasses = props.cssClasses,
        rest = (0, _objectWithoutProperties2.default)(props, ["style", "language", "cssClasses"]);
    var enableRadius = !_$$_REQUIRE(_dependencyMap[10]).PlatformUtils.isPreviousMarshmallow();
    var badgeStyle = [{
      borderWidth: 1,
      borderRadius: enableRadius ? 15 : 0,
      justifyContent: "center"
    }, style];

    var badgeIcon = _TranslationManager.default.getTranslationBadgeIcon(language);

    if (badgeIcon) {
      var badgeComponent = badgeIcon === _$$_REQUIRE(_dependencyMap[11]).ACTIONS.translate.noneIcon ? _react.default.createElement(_reactNative.View, {
        style: badgeStyle
      }, _react.default.createElement(_fontText.default, {
        style: {
          textAlign: "center"
        }
      }, language)) : _react.default.createElement(_imageIconChooserComponent.default, (0, _extends2.default)({
        style: badgeStyle,
        source: badgeIcon,
        resizeMode: "contain"
      }, rest));
      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Css, {
        classes: ["newsmemory-flag-icon"].concat((0, _toConsumableArray2.default)(cssClasses))
      }, badgeComponent);
    }

    return null;
  };

  FlagIconComponent.propTypes = {
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number, _propTypes.default.array]),
    language: _propTypes.default.string,
    cssClasses: _propTypes.default.arrayOf(_propTypes.default.string)
  };
  FlagIconComponent.defaultProps = {
    cssClasses: []
  };
  var _default = FlagIconComponent;
  exports.default = _default;
},2421,[5,21,6,108,17,201,28,1970,2178,1879,462,1725,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _simulateAccessibilityAlert = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var SimulateAccessibilityAlert = function () {
    function SimulateAccessibilityAlert() {
      (0, _classCallCheck2.default)(this, SimulateAccessibilityAlert);
    }

    (0, _createClass2.default)(SimulateAccessibilityAlert, null, [{
      key: "show",
      value: function show() {
        var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var onConfirm = params.onConfirm;

        _$$_REQUIRE(_dependencyMap[6]).ModalOverlay.alert({
          title: global.strings("msg_simulate_accessibility_title"),
          message: global.strings("msg_simulate_accessibility", {
            accessibilityAppName: _$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isAndroid() ? "TalkBack" : "VoiceOver"
          }),
          buttons: [{
            text: global.strings("btn_cancel")
          }, {
            Component: _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).ItemAccessibilityFocused, {
              touchable: true,
              accessibilityEnabled: true,
              accessibilityLabel: global.strings("btn_continue"),
              style: _simulateAccessibilityAlert.default.button,
              onPress: function onPress() {
                if (typeof onConfirm === "function") {
                  onConfirm();
                }

                _$$_REQUIRE(_dependencyMap[6]).ModalOverlay.hide();
              }
            }, _react.default.createElement(_fontText.default, {
              style: _simulateAccessibilityAlert.default.buttonText,
              type: _fontText.Type.bold
            }, global.strings("btn_continue")))
          }]
        });
      }
    }]);
    return SimulateAccessibilityAlert;
  }();

  exports.default = SimulateAccessibilityAlert;
},2422,[5,7,8,17,1879,2423,1877,462,2189]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    modal: {
      padding: 10
    },
    title: {
      fontSize: 20,
      color: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      margin: 10
    },
    text: {
      color: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      marginHorizontal: 10,
      marginBottom: 10
    },
    button: {
      flex: 1,
      alignItems: "center",
      justifyContent: "center",
      height: 50,
      borderWidth: 0.5,
      borderColor: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      margin: 5
    },
    buttonText: {
      color: _$$_REQUIRE(_dependencyMap[1]).colors.black
    }
  });

  exports.default = _default;
},2423,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.LayoutFlexManager = exports.LAYOUTS = exports.FOOTER_SIZE = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var FOOTER_SIZE = 54;
  exports.FOOTER_SIZE = FOOTER_SIZE;

  function getFooterFlex(windowSize, isLandscape, isFooterAlwaysBottom) {
    var style = _$$_REQUIRE(_dependencyMap[6]).Css.getStyleObjByCssClasses(["newsmemory-footer-container"]);

    if (style.flex !== undefined) {
      return style.flex;
    }

    if (!isFooterAlwaysBottom && isLandscape && style.width !== undefined) {
      return 100 * style.width / windowSize.width;
    }

    if ((isFooterAlwaysBottom || !isLandscape) && style.height !== undefined) {
      return 100 * style.height / windowSize.height;
    }

    if (_$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isTablet()) {
      if (!isFooterAlwaysBottom && isLandscape) {
        return 5400 / windowSize.width;
      }

      return 5400 / windowSize.height;
    }

    return 7;
  }

  function getFooterSize(windowSize, isLandscape, isFooterAlwaysBottom) {
    var style = _$$_REQUIRE(_dependencyMap[6]).Css.getStyleObjByCssClasses(["newsmemory-footer-container"]);

    var constraintSize = !isFooterAlwaysBottom && isLandscape ? windowSize.width : windowSize.height;

    if (style.flex !== undefined) {
      return constraintSize * style.flex / 100;
    }

    if (!isFooterAlwaysBottom && isLandscape && style.width !== undefined) {
      return style.width;
    }

    if ((isFooterAlwaysBottom || !isLandscape) && style.height !== undefined) {
      return style.height;
    }

    if (_$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isTablet()) {
      return FOOTER_SIZE;
    }

    return constraintSize * 7 / 100;
  }

  var LAYOUTS = {
    SEARCH: {
      key: "search",
      style: function style() {
        return {
          flex: 100
        };
      }
    },
    READ: {
      key: "read",
      style: function style() {
        return undefined;
      }
    },
    ARTICLE: {
      key: "article",
      style: function style(full) {
        var forceFlex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 50;
        return {
          flex: full ? 100 : forceFlex
        };
      }
    },
    INDEX: {
      key: "index",
      style: function style(full) {
        var forceFlex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 50;
        return {
          flex: full ? 100 : forceFlex
        };
      }
    },
    THUMBNAIL: {
      key: "thumbnail",
      style: function style() {
        return {
          flex: 100
        };
      }
    },
    BROWSE: {
      key: "browse",
      style: function style(full) {
        var forceFlex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 50;
        return {
          flex: full ? 100 : forceFlex
        };
      }
    },
    FOOTER: {
      key: "footer",
      style: function style(absolute, windowSize, isLandscape, isFooterAlwaysBottom) {
        var flexDirection = "row";

        if (isLandscape) {
          if (!isFooterAlwaysBottom) {
            flexDirection = "column";
          } else if (_$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isRTL()) {
            flexDirection = "row-reverse";
          }
        } else if (_$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isRTL()) {
          flexDirection = "row-reverse";
        }

        if (absolute) {
          return {
            position: "absolute",
            bottom: 0,
            start: 0,
            end: 0,
            height: getFooterSize(windowSize, isLandscape, isFooterAlwaysBottom),
            flexDirection: flexDirection
          };
        }

        return {
          flex: getFooterFlex(windowSize, isLandscape, isFooterAlwaysBottom),
          flexDirection: flexDirection
        };
      }
    },
    PARENT: {
      key: "parent",
      style: function style(size, isLandscape, isFooterAlwaysBottom) {
        var flexDirection = "column";

        if (isLandscape && !isFooterAlwaysBottom) {
          flexDirection = _$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isRTL() ? "row-reverse" : "row";
        }

        return (0, _extends2.default)({}, size, {
          flexDirection: flexDirection
        });
      }
    },
    MAIN: {
      key: "main",
      style: function style(full, windowSize, isLandscape, isFooterAlwaysBottom) {
        var flexDirection = "column";

        if (isLandscape) {
          flexDirection = _$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isRTL() ? "row-reverse" : "row";
        }

        return {
          flex: full ? 100 : 100 - getFooterFlex(windowSize, isLandscape, isFooterAlwaysBottom),
          flexDirection: flexDirection
        };
      }
    },
    EMPTY: {
      key: "empty",
      style: function style() {
        return undefined;
      }
    }
  };
  exports.LAYOUTS = LAYOUTS;

  var LayoutFlexManager = function () {
    function LayoutFlexManager(articleFullscreen) {
      var footerAlwaysBottom = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      (0, _classCallCheck2.default)(this, LayoutFlexManager);
      this.history = [];
      this.changingOrientation = true;
      this.changingFooterAbsolute = true;
      this.isFooterAlwaysBottom = footerAlwaysBottom;
      this.isPhone = !_$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isTablet();
      this.isLandscape = !_deviceUtils.default.isPortrait();
      this.isArticleFullscreen = this.isPhone || articleFullscreen;
      this.accessibilityModeEnabled = _$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isSystemAccessibilityEnabled() || LayoutFlexManager.LAST_ACCESSIBILITY_STATE;
      LayoutFlexManager.LAST_ACCESSIBILITY_STATE = this.accessibilityModeEnabled;
      this.carModeEnabled = false;
      this.pageFitVerticalWidth = undefined;
      this.reset();
    }

    (0, _createClass2.default)(LayoutFlexManager, [{
      key: "popPreviousLayout",
      value: function popPreviousLayout() {
        var previousKey = this.history.pop();

        if (previousKey && LAYOUTS[previousKey.toUpperCase()]) {
          return LAYOUTS[previousKey.toUpperCase()];
        }

        return undefined;
      }
    }, {
      key: "getLatestLayout",
      value: function getLatestLayout() {
        return this.history[this.history.length - 1];
      }
    }, {
      key: "isLatestLayoutIndex",
      value: function isLatestLayoutIndex() {
        return this.getLatestLayout() === LAYOUTS.INDEX.key;
      }
    }, {
      key: "setCarModeEnabled",
      value: function setCarModeEnabled(enabled) {
        this.carModeEnabled = enabled;
      }
    }, {
      key: "isCarModeEnabled",
      value: function isCarModeEnabled() {
        return this.carModeEnabled;
      }
    }, {
      key: "setAccessibilityModeEnabled",
      value: function setAccessibilityModeEnabled(enabled) {
        this.accessibilityModeEnabled = enabled;
        LayoutFlexManager.LAST_ACCESSIBILITY_STATE = enabled;
      }
    }, {
      key: "isAccessibilityModeEnabled",
      value: function isAccessibilityModeEnabled() {
        return this.accessibilityModeEnabled;
      }
    }, {
      key: "setChangingOrientation",
      value: function setChangingOrientation(changingOrientation) {
        this.changingOrientation = changingOrientation;
      }
    }, {
      key: "isChangingOrientation",
      value: function isChangingOrientation() {
        return this.changingOrientation;
      }
    }, {
      key: "isChangingLayout",
      value: function isChangingLayout(_ref) {
        var width = _ref.width,
            height = _ref.height;
        return this.changingOrientation || !_$$_REQUIRE(_dependencyMap[7]).JSUtils.areEqualShallow({
          width: width,
          height: height
        }, this.size) && !_deviceUtils.default.isAppInBackground();
      }
    }, {
      key: "setIsFooterAbsolute",
      value: function setIsFooterAbsolute(isFooterAbsolute) {
        var prevValue = this.isFooterAbsolute;

        if (this.layout.key === LAYOUTS.BROWSE.key && (this.isFooterAlwaysBottom || !this.isLandscape)) {
          this.isFooterAbsolute = isFooterAbsolute;
        } else {
          this.isFooterAbsolute = false;
        }

        this.setChangingFooterAbsolute(prevValue !== this.isFooterAbsolute);
      }
    }, {
      key: "isChangingFooterAbsolute",
      value: function isChangingFooterAbsolute() {
        return this.changingFooterAbsolute;
      }
    }, {
      key: "setChangingFooterAbsolute",
      value: function setChangingFooterAbsolute(changingFooterAbsolute) {
        this.changingFooterAbsolute = changingFooterAbsolute;
      }
    }, {
      key: "setIsLite",
      value: function setIsLite(isLite) {
        if (this.isLite !== isLite) {
          this.isLite = isLite;
          this.reset();
        }
      }
    }, {
      key: "setSize",
      value: function setSize(size) {
        this.size = size;
      }
    }, {
      key: "setPageFitVerticalWidth",
      value: function setPageFitVerticalWidth(width) {
        this.pageFitVerticalWidth = width;
      }
    }, {
      key: "reset",
      value: function reset() {
        this.history = [];

        var _global$getActivePSet = global.getActivePSetup(),
            enableVmodeAndFitOrientation = _global$getActivePSet.enableVmodeAndFitOrientation,
            startInIndexMode = _global$getActivePSet.startInIndexMode;

        var _global$getNewsmemory = global.getNewsmemoryConfig(),
            twoFingersTapToArticle = _global$getNewsmemory.twoFingersTapToArticle,
            readModeEnabled = _global$getNewsmemory.readModeEnabled;

        if (this.accessibilityModeEnabled || this.carModeEnabled) {
          this.layout = LAYOUTS.INDEX;
        } else {
          if (!this.isPhone && !this.isLite && twoFingersTapToArticle) {
            if (readModeEnabled) {
              this.layout = !enableVmodeAndFitOrientation || !this.isLandscape || this.isArticleFullscreen ? LAYOUTS.READ : LAYOUTS.INDEX;
            } else {
              this.layout = LAYOUTS.BROWSE;
            }
          } else {
            if (this.isLite) {
              this.layout = LAYOUTS.BROWSE;
            } else if (this.isPhone && startInIndexMode === "1" || !this.isPhone && startInIndexMode === "2" || startInIndexMode === "3") {
              this.layout = LAYOUTS.INDEX;
            } else {
              this.layout = this.isPhone || !enableVmodeAndFitOrientation || !this.isLandscape || this.isArticleFullscreen ? LAYOUTS.BROWSE : LAYOUTS.INDEX;
            }
          }
        }
      }
    }, {
      key: "setLayout",
      value: function setLayout(newLayout) {
        this.history.push(this.layout.key);
        this.layout = newLayout;

        if (this.layout.key !== LAYOUTS.BROWSE.key) {
          this.setIsFooterAbsolute(this.isAccessibilityModeEnabled() || this.isCarModeEnabled());
        }

        var _global$getActivePSet2 = global.getActivePSetup(),
            startInIndexMode = _global$getActivePSet2.startInIndexMode;

        if (this.isAccessibilityModeEnabled() || this.isCarModeEnabled()) {
          if (this.layout.key === LAYOUTS.INDEX.key) {
            this.history = [];
          }
        } else if ((this.isPhone && startInIndexMode === "1" || !this.isPhone && startInIndexMode === "2" || startInIndexMode === "3") && this.layout.key === LAYOUTS.INDEX.key) {
          this.history = [];
        } else if (startInIndexMode === "0" && (this.layout.key === LAYOUTS.BROWSE.key || this.layout.key === LAYOUTS.READ.key)) {
          this.history = [];
        }
      }
    }, {
      key: "setIsArticleFullscreen",
      value: function setIsArticleFullscreen(articleFullscreen) {
        this.isArticleFullscreen = this.isPhone || articleFullscreen;
      }
    }, {
      key: "getThumbnailSize",
      value: function getThumbnailSize() {
        var style = this.getThumbnailStyle();
        return this.getSectionSize(this.size, style);
      }
    }, {
      key: "getBrowseSize",
      value: function getBrowseSize() {
        var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.size;
        var style = this.getBrowseStyle();
        return this.getSectionSize(size, style);
      }
    }, {
      key: "getAccessibilitySize",
      value: function getAccessibilitySize() {
        var style = this.getAccessibilityStyle();
        return this.getSectionSize(this.size, style);
      }
    }, {
      key: "getIndexSize",
      value: function getIndexSize() {
        var style = this.getIndexStyle();
        return this.getSectionSize(this.size, style);
      }
    }, {
      key: "getArticleSize",
      value: function getArticleSize() {
        var style = this.getArticleStyle();
        return this.getSectionSize(this.size, style);
      }
    }, {
      key: "getFooterSize",
      value: function getFooterSize() {
        var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.size;
        var isLanscape = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.isLandscape;
        var style = this.getFooterStyle();
        return this.getSectionSize(size, style, isLanscape);
      }
    }, {
      key: "getSize",
      value: function getSize() {
        return this.size;
      }
    }, {
      key: "getSectionSize",
      value: function getSectionSize(size, style) {
        var isLandscape = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.isLandscape;

        if (size && style) {
          var _this$getMainStyle = this.getMainStyle(),
              flex = _this$getMainStyle.flex;

          var _this$getParentStyle = this.getParentStyle(),
              parentFlexDirection = _this$getParentStyle.flexDirection;

          var mainWidth = size.width * flex / 100;
          var mainHeight = size.height;

          if (parentFlexDirection.startsWith("column")) {
            mainWidth = size.width;
            mainHeight = size.height * flex / 100;
          }

          if (isLandscape) {
            return {
              height: mainHeight,
              width: mainWidth * style.flex / 100
            };
          }

          return {
            height: mainHeight * style.flex / 100,
            width: mainWidth
          };
        }

        return {
          height: 0,
          width: 0
        };
      }
    }, {
      key: "getBrowseForcedFlex",
      value: function getBrowseForcedFlex() {
        if (_$$_REQUIRE(_dependencyMap[7]).PlatformUtils.isiPadPro12dot9() && this.isLandscape && !_$$_REQUIRE(_dependencyMap[7]).JSUtils.isNull(this.pageFitVerticalWidth)) {
          var mainStyle = this.getMainStyle();
          var mainSize = this.getSectionSize(this.size, mainStyle, this.isLandscape);
          return Math.min(this.pageFitVerticalWidth / mainSize.width * 100, 50);
        }

        return undefined;
      }
    }, {
      key: "getArticleForcedFlex",
      value: function getArticleForcedFlex() {
        var browseForcedFlex = this.getBrowseForcedFlex();

        if (!_$$_REQUIRE(_dependencyMap[7]).JSUtils.isNull(browseForcedFlex)) {
          return 100 - browseForcedFlex;
        }

        return undefined;
      }
    }, {
      key: "getBrowseStyle",
      value: function getBrowseStyle() {
        if (this.isBrowse() || this.isRead()) {
          return LAYOUTS.BROWSE.style(true);
        }

        if (!this.isPhone) {
          if ((this.isIndex() || this.isArticle()) && !this.isArticleFullscreen && !this.isAccessibilityModeEnabled() && !this.isCarModeEnabled()) {
            return LAYOUTS.BROWSE.style(this.isLite, this.getBrowseForcedFlex());
          }
        }

        return LAYOUTS.EMPTY.style();
      }
    }, {
      key: "getIndexStyle",
      value: function getIndexStyle() {
        if (this.isIndex() && !this.isLite) {
          var _global$getNewsmemory2 = global.getNewsmemoryConfig(),
              enableTabIndexMode = _global$getNewsmemory2.enableTabIndexMode;

          return LAYOUTS.INDEX.style(this.isArticleFullscreen || this.isAccessibilityModeEnabled() || this.isCarModeEnabled() || enableTabIndexMode, this.getArticleForcedFlex());
        }

        return LAYOUTS.EMPTY.style();
      }
    }, {
      key: "getArticleStyle",
      value: function getArticleStyle() {
        if (!this.isLite) {
          if (this.isArticle()) {
            return LAYOUTS.ARTICLE.style(this.isArticleFullscreen || this.isAccessibilityModeEnabled() || this.isCarModeEnabled(), this.getArticleForcedFlex());
          }

          if (this.isRead()) {
            return LAYOUTS.READ.style();
          }
        }

        return LAYOUTS.EMPTY.style();
      }
    }, {
      key: "getThumbnailStyle",
      value: function getThumbnailStyle() {
        if (this.isThumbnail()) {
          return LAYOUTS.THUMBNAIL.style();
        }

        return LAYOUTS.EMPTY.style();
      }
    }, {
      key: "getSearchStyle",
      value: function getSearchStyle() {
        if (this.isSearch()) {
          return LAYOUTS.SEARCH.style();
        }

        return LAYOUTS.EMPTY.style();
      }
    }, {
      key: "getFooterStyle",
      value: function getFooterStyle() {
        if (this.isAccessibilityModeEnabled() || this.isCarModeEnabled()) {
          return LAYOUTS.EMPTY.style();
        }

        return LAYOUTS.FOOTER.style(this.isFooterAbsolute, this.size, this.isLandscape, this.isFooterAlwaysBottom);
      }
    }, {
      key: "getMainStyle",
      value: function getMainStyle() {
        return LAYOUTS.MAIN.style(this.isFooterAbsolute || this.accessibilityModeEnabled || this.carModeEnabled, this.size, this.isLandscape, this.isFooterAlwaysBottom);
      }
    }, {
      key: "getParentStyle",
      value: function getParentStyle() {
        return LAYOUTS.PARENT.style(this.size, this.isLandscape, this.isFooterAlwaysBottom);
      }
    }, {
      key: "getLayout",
      value: function getLayout() {
        return this.layout.key;
      }
    }, {
      key: "setIsLandscape",
      value: function setIsLandscape(isLandscape) {
        this.isLandscape = isLandscape;
      }
    }, {
      key: "isBrowse",
      value: function isBrowse() {
        return this.getLayout() === LAYOUTS.BROWSE.key;
      }
    }, {
      key: "isIndex",
      value: function isIndex() {
        return this.getLayout() === LAYOUTS.INDEX.key;
      }
    }, {
      key: "isArticle",
      value: function isArticle() {
        return this.getLayout() === LAYOUTS.ARTICLE.key;
      }
    }, {
      key: "isRead",
      value: function isRead() {
        return this.getLayout() === LAYOUTS.READ.key;
      }
    }, {
      key: "isThumbnail",
      value: function isThumbnail() {
        return this.getLayout() === LAYOUTS.THUMBNAIL.key;
      }
    }, {
      key: "isBrowseVisible",
      value: function isBrowseVisible() {
        if (this.isThumbnail() || this.isSearch()) {
          return false;
        }

        if ((this.isArticle() || this.isIndex()) && this.isArticleFullscreen) {
          return false;
        }

        return true;
      }
    }, {
      key: "isSearch",
      value: function isSearch() {
        return this.getLayout() === LAYOUTS.SEARCH.key;
      }
    }, {
      key: "openIndex",
      value: function openIndex() {
        this.setLayout(LAYOUTS.INDEX);
      }
    }, {
      key: "openArticle",
      value: function openArticle(read) {
        if (read) {
          this.setLayout(LAYOUTS.READ);
        } else {
          this.setLayout(LAYOUTS.ARTICLE);
        }
      }
    }, {
      key: "openThumbnail",
      value: function openThumbnail() {
        this.setLayout(LAYOUTS.THUMBNAIL);
      }
    }, {
      key: "openSearch",
      value: function openSearch() {
        this.setLayout(LAYOUTS.SEARCH);
      }
    }, {
      key: "openBrowse",
      value: function openBrowse() {
        this.setLayout(LAYOUTS.BROWSE);
      }
    }, {
      key: "openAccessibility",
      value: function openAccessibility() {
        this.setLayout(LAYOUTS.INDEX);
      }
    }, {
      key: "openCarMode",
      value: function openCarMode() {
        this.setLayout(LAYOUTS.INDEX);
      }
    }, {
      key: "getFooterConstraitSize",
      value: function getFooterConstraitSize() {
        return getFooterSize(this.size, this.isLandscape, this.isFooterAlwaysBottom);
      }
    }, {
      key: "getStyles",
      value: function getStyles() {
        return {
          browseStyle: this.getBrowseStyle(),
          indexStyle: this.getIndexStyle(),
          articleStyle: this.getArticleStyle(),
          thumbnailStyle: this.getThumbnailStyle(),
          searchStyle: this.getSearchStyle(),
          footerStyle: this.getFooterStyle(),
          mainStyle: this.getMainStyle(),
          parentStyle: this.getParentStyle()
        };
      }
    }]);
    return LayoutFlexManager;
  }();

  exports.LayoutFlexManager = LayoutFlexManager;
  LayoutFlexManager.LAST_ACCESSIBILITY_STATE = false;
},2424,[5,7,8,6,458,1859,699,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2425,[2426]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.ProgressBar = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ProgressBar = function (_React$Component) {
    (0, _inherits2.default)(ProgressBar, _React$Component);

    var _super = _createSuper(ProgressBar);

    function ProgressBar(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ProgressBar);
      _this = _super.call(this, props);
      _this.state = {
        downloading: props.startProgress > 0 && props.startProgress < 1,
        startProgress: props.startProgress
      };
      return _this;
    }

    (0, _createClass2.default)(ProgressBar, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        this.downloadStartedId = _$$_REQUIRE(_dependencyMap[9]).EventRegister.on(_events.default.NEWSMEMORY_INITIAL_DOWNLOAD_STARTED, function (_ref) {
          var startProgress = _ref.startProgress;

          _this2.setState({
            downloading: true,
            startProgress: startProgress
          });
        });
        this.downloadFinishedId = _$$_REQUIRE(_dependencyMap[9]).EventRegister.on(_events.default.NEWSMEMORY_INITIAL_DOWNLOAD_FINISHED, function () {
          _this2.setState({
            downloading: false
          });
        });
        this.downloadProgressId = _$$_REQUIRE(_dependencyMap[9]).EventRegister.on(_events.default.NEWSMEMORY_DOWNLOAD_PROGRESS, function (_ref2) {
          var progress = _ref2.progress;

          if (_this2.progressCircleRef) {
            _this2.progressCircleRef.updateProgress(progress);
          } else {
            _this2.setState({
              downloading: progress < 1,
              startProgress: progress
            });
          }
        });
        this.newspaperLoadedId = _$$_REQUIRE(_dependencyMap[9]).EventRegister.on(_events.default.NEWSMEMORY_NEWSPAPER_LOADED, function () {
          _this2.setState({
            downloading: false
          });
        });
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[9]).EventRegister.rm(this.downloadStartedId);

        _$$_REQUIRE(_dependencyMap[9]).EventRegister.rm(this.downloadFinishedId);

        _$$_REQUIRE(_dependencyMap[9]).EventRegister.rm(this.downloadProgressId);

        _$$_REQUIRE(_dependencyMap[9]).EventRegister.rm(this.newspaperLoadedId);
      }
    }, {
      key: "render",
      value: function render() {
        var _this3 = this;

        var _this$props = this.props,
            style = _this$props.style,
            cssClasses = _this$props.cssClasses,
            cssTextClasses = _this$props.cssTextClasses;
        var _this$state = this.state,
            downloading = _this$state.downloading,
            startProgress = _this$state.startProgress;

        if (downloading) {
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).ProgressCircle, {
            ref: function ref(_ref3) {
              _this3.progressCircleRef = _ref3;
            },
            spinnerStyle: style,
            spinnerColor: _$$_REQUIRE(_dependencyMap[11]).colors.barColor,
            startProgress: startProgress,
            advanced: true,
            bar: true,
            cssClasses: cssClasses,
            cssTextClasses: cssTextClasses
          });
        }

        return null;
      }
    }]);
    return ProgressBar;
  }(_react.default.Component);

  exports.ProgressBar = ProgressBar;
  ProgressBar.propTypes = {
    startProgress: _propTypes.default.number,
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]),
    cssClasses: _propTypes.default.arrayOf(_propTypes.default.string),
    cssTextClasses: _propTypes.default.arrayOf(_propTypes.default.string)
  };
  ProgressBar.defaultProps = {
    cssClasses: [],
    cssTextClasses: []
  };
},2426,[5,7,8,12,14,16,17,201,460,572,1953,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2427,[2428]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.WallpaperLoading = exports.Wallpaper = undefined;

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var Wallpaper = function (_React$Component) {
    (0, _inherits2.default)(Wallpaper, _React$Component);

    var _super = _createSuper(Wallpaper);

    function Wallpaper(props) {
      var _this;

      (0, _classCallCheck2.default)(this, Wallpaper);
      _this = _super.call(this, props);

      var orientation = _deviceUtils.default.getCurrentFullOrientation();

      _this.state = {
        background: (0, _$$_REQUIRE(_dependencyMap[13]).getSourceByOrientation)(orientation),
        style: (0, _$$_REQUIRE(_dependencyMap[13]).getStyleByOrientation)(orientation, props.ignoreSafeArea)
      };
      return _this;
    }

    (0, _createClass2.default)(Wallpaper, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        this.orientationListener = _$$_REQUIRE(_dependencyMap[14]).EventRegister.on(_events.default.ON_ORIENTATION_CHANGE, function (_ref) {
          var orientation = _ref.orientation,
              fullOrientation = _ref.fullOrientation;

          _this2._updateImage(fullOrientation || orientation);
        });
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[14]).EventRegister.rm(this.orientationListener);
      }
    }, {
      key: "_updateImage",
      value: function _updateImage(orientation) {
        var ignoreSafeArea = this.props.ignoreSafeArea;
        this.setState({
          background: (0, _$$_REQUIRE(_dependencyMap[13]).getSourceByOrientation)(orientation),
          style: (0, _$$_REQUIRE(_dependencyMap[13]).getStyleByOrientation)(orientation, ignoreSafeArea)
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this$state = this.state,
            background = _this$state.background,
            style = _this$state.style;

        if (background) {
          return _react.default.createElement(_imageComponent.default, {
            source: background,
            style: [_$$_REQUIRE(_dependencyMap[15]).styles.center, {
              backgroundColor: global.splashBgColor
            }, style],
            forceRNComponent: true
          });
        }

        return null;
      }
    }], [{
      key: "getDefaultWallpaper",
      value: function getDefaultWallpaper(portrait) {
        var pSetupConfig = global.getMainPSetup();

        if (pSetupConfig) {
          var layoutStyle = pSetupConfig.layoutStyle,
              layoutSubStyle = pSetupConfig.layoutSubStyle;

          if (layoutStyle && layoutSubStyle) {
            return global.getAppServer() + "/eeLayout/" + layoutStyle + "/" + layoutSubStyle + "/images/webapp/Default-" + (portrait ? "Portrait" : "Landscape") + ".png";
          }
        }

        return undefined;
      }
    }]);
    return Wallpaper;
  }(_react.default.Component);

  exports.Wallpaper = Wallpaper;
  Wallpaper.propTypes = {
    ignoreSafeArea: _propTypes.default.bool
  };
  Wallpaper.defaultProps = {
    ignoreSafeArea: false
  };

  var WallpaperLoading = function (_React$Component2) {
    (0, _inherits2.default)(WallpaperLoading, _React$Component2);

    var _super2 = _createSuper(WallpaperLoading);

    function WallpaperLoading(props) {
      var _this3;

      (0, _classCallCheck2.default)(this, WallpaperLoading);
      _this3 = _super2.call(this, props);
      _this3.onRetry = _this3._onRetry.bind((0, _assertThisInitialized2.default)(_this3));
      return _this3;
    }

    (0, _createClass2.default)(WallpaperLoading, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var retryEvent = this.props.retryEvent;

        if (retryEvent) {
          this.onRetryEvent = _$$_REQUIRE(_dependencyMap[14]).EventRegister.on(retryEvent, this.onRetry);
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[14]).EventRegister.rm(this.onRetryEvent);
      }
    }, {
      key: "_onRetry",
      value: function _onRetry(_ref2) {
        var retryText = _ref2.retryText;

        if (this.progressRef) {
          this.progressRef.updateRetryText(retryText);
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this4 = this;

        var _this$props = this.props,
            showLoading = _this$props.showLoading,
            ignoreSafeArea = _this$props.ignoreSafeArea,
            text = _this$props.text;
        var backgroundColor = WallpaperLoading.getBackground();
        var component = WallpaperLoading.getComponent(ignoreSafeArea);

        if (!showLoading) {
          return component;
        }

        return _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1,
            justifyContent: "flex-end",
            flexDirection: "column",
            backgroundColor: backgroundColor
          }
        }, global.isTaAddon() ? null : component, _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).ProgressCircle, {
          ref: function ref(_ref3) {
            _this4.progressRef = _ref3;
          },
          parentStyle: {
            height: 50,
            bottom: 50
          },
          spinnerColor: WallpaperLoading.getTextColor(backgroundColor),
          showText: true,
          text: text || global.strings("loading")
        }));
      }
    }], [{
      key: "getComponent",
      value: function getComponent(ignoreSafeArea) {
        if (global.isTaAddon()) {
          return null;
        }

        return _react.default.createElement(Wallpaper, {
          ignoreSafeArea: ignoreSafeArea
        });
      }
    }, {
      key: "getBackground",
      value: function getBackground() {
        if (global.isTaAddon()) {
          return _$$_REQUIRE(_dependencyMap[17]).colors.transparent600;
        }

        if (global.splashBgColor) {
          return global.splashBgColor;
        }

        return _$$_REQUIRE(_dependencyMap[17]).colors.white;
      }
    }, {
      key: "getTextColor",
      value: function getTextColor(backgroundColor) {
        if (global.isTaAddon()) {
          return _$$_REQUIRE(_dependencyMap[17]).ColorUtils.determineTextColor(backgroundColor);
        }

        return global.loadingColor;
      }
    }]);
    return WallpaperLoading;
  }(_react.default.Component);

  exports.WallpaperLoading = WallpaperLoading;
  WallpaperLoading.propTypes = {
    showLoading: _propTypes.default.bool,
    ignoreSafeArea: _propTypes.default.bool,
    text: _propTypes.default.string,
    retryEvent: _propTypes.default.string
  };
  WallpaperLoading.defaultProps = {
    showLoading: true,
    ignoreSafeArea: false
  };
},2428,[5,15,7,8,12,14,16,17,201,28,458,460,588,2429,572,2430,1953,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getStyleByOrientation = exports.getSourceByOrientation = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var DEVICE_LOGICAL_DIMENSIONS = {
    IPAD_PRO_12_9: {
      width: 1024,
      height: 1366
    },
    IPAD_PRO_11: {
      width: 834,
      height: 1194
    },
    IPAD_PRO_10_5: {
      width: 834,
      height: 1112
    },
    IPAD_REGULAR: {
      width: 768,
      height: 1024
    },
    IPHONE_XS_MAX: {
      width: 414,
      height: 896
    },
    IPHONE_XR: {
      width: 414,
      height: 896
    },
    IPHONE_X: {
      width: 375,
      height: 812
    },
    IPHONE_PLUS: {
      width: 414,
      height: 736
    },
    IPHONE_REGULAR: {
      width: 375,
      height: 667
    },
    IPHONE_SE: {
      width: 320,
      height: 568
    }
  };

  var getDeviceLogicalDimensions = function getDeviceLogicalDimensions(orientation) {
    var dimensions;

    if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isiPhone()) {
      if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isiPhoneXSMax()) {
        dimensions = DEVICE_LOGICAL_DIMENSIONS.IPHONE_XS_MAX;
      } else if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isiPhoneXr()) {
        dimensions = DEVICE_LOGICAL_DIMENSIONS.IPHONE_XR;
      } else if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isiPhoneX()) {
        dimensions = DEVICE_LOGICAL_DIMENSIONS.IPHONE_X;
      } else if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isiPhonePlus()) {
        dimensions = DEVICE_LOGICAL_DIMENSIONS.IPHONE_PLUS;
      } else if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isiPhoneRegular()) {
        dimensions = DEVICE_LOGICAL_DIMENSIONS.IPHONE_REGULAR;
      } else {
        dimensions = DEVICE_LOGICAL_DIMENSIONS.IPHONE_SE;
      }
    } else {
      if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isiPadPro12dot9()) {
        dimensions = DEVICE_LOGICAL_DIMENSIONS.IPAD_PRO_12_9;
      } else if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isiPadPro11()) {
        dimensions = DEVICE_LOGICAL_DIMENSIONS.IPAD_PRO_11;
      } else if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isiPadPro10dot5()) {
        dimensions = DEVICE_LOGICAL_DIMENSIONS.IPAD_PRO_10_5;
      } else {
        dimensions = DEVICE_LOGICAL_DIMENSIONS.IPAD_REGULAR;
      }
    }

    var isPortrait = _deviceUtils.default.isPortrait(orientation);

    var width = isPortrait ? dimensions.width : dimensions.height;
    var height = isPortrait ? dimensions.height : dimensions.width;
    return {
      width: width,
      height: height
    };
  };

  var getSourceByOrientation = function getSourceByOrientation(orientation) {
    var isPortrait = _deviceUtils.default.isPortrait(orientation);

    if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isiPhone()) {
      if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isiPhoneXSMax()) {
        if (isPortrait) {
          return {
            uri: "Default-1242h"
          };
        }

        return {
          uri: "Default-Landscape-1242h"
        };
      }

      if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isiPhoneXr()) {
        if (isPortrait) {
          return {
            uri: "Default-896h"
          };
        }

        return {
          uri: "Default-Landscape-896h"
        };
      }

      if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isiPhoneX()) {
        if (isPortrait) {
          return {
            uri: "Default-375w-812h"
          };
        }

        return {
          uri: "Default-Landscape-812h"
        };
      }

      if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isiPhonePlus()) {
        if (isPortrait) {
          return {
            uri: "Default-736h"
          };
        }

        return {
          uri: "Default-Landscape-414w-736h"
        };
      }

      if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isiPhoneRegular()) {
        return {
          uri: "Default-667h"
        };
      }

      if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isiPhoneSE()) {
        return {
          uri: "Default-568h"
        };
      }
    } else {
      if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isiPadPro12dot9()) {
        if (isPortrait) {
          return {
            uri: "Default-Portrait-1024w-1366h"
          };
        }

        return {
          uri: "Default-Landscape-1024w-1366h"
        };
      }

      if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isiPadPro11()) {
        if (isPortrait) {
          return {
            uri: "Default-Portrait-1194h"
          };
        }

        return {
          uri: "Default-Landscape-1194h"
        };
      }

      if (_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isiPadPro10dot5()) {
        if (isPortrait) {
          return {
            uri: "Default-Portrait-834w-1112h"
          };
        }

        return {
          uri: "Default-Landscape-834w-1112h"
        };
      }
    }

    if (isPortrait) {
      return {
        uri: "Default-Portrait"
      };
    }

    return {
      uri: "Default-Landscape"
    };
  };

  exports.getSourceByOrientation = getSourceByOrientation;

  var getStyleByOrientation = function getStyleByOrientation(orientation) {
    var ignoreSafeArea = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
    var style = {};

    if (!_$$_REQUIRE(_dependencyMap[3]).PlatformUtils.hasLandscapeSplashImage() && !_deviceUtils.default.isPortrait(orientation)) {
      var rotate = _$$_REQUIRE(_dependencyMap[3]).PlatformUtils.isLandscapeLeft(orientation) ? "90deg" : "270deg";
      style.transform = [{
        rotate: rotate
      }];
      style.resizeMode = "center";
    }

    return (0, _extends2.default)({}, getDeviceLogicalDimensions(orientation), style, {
      left: ignoreSafeArea ? 0 : -_deviceUtils.default.insets.left,
      right: ignoreSafeArea ? 0 : -_deviceUtils.default.insets.right,
      top: ignoreSafeArea ? 0 : -_deviceUtils.default.insets.top,
      bottom: ignoreSafeArea ? 0 : -_deviceUtils.default.insets.bottom
    });
  };

  exports.getStyleByOrientation = getStyleByOrientation;
},2429,[5,6,458,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    center: {
      flex: 0,
      width: "100%",
      height: "100%"
    }
  });

  exports.styles = styles;
},2430,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2431,[2432]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.NewsmemoryHTML5Screen = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _reactNativeShare = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _LiveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NewsmemoryHTML5Screen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(NewsmemoryHTML5Screen, _NavigationBaseScreen);

    var _super = _createSuper(NewsmemoryHTML5Screen);

    function NewsmemoryHTML5Screen() {
      (0, _classCallCheck2.default)(this, NewsmemoryHTML5Screen);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(NewsmemoryHTML5Screen, [{
      key: "UNSAFE_componentWillMount",
      value: function UNSAFE_componentWillMount() {
        _LiveConfig.default.setEpaperHTML5Side();
      }
    }, {
      key: "handleBackButton",
      value: function handleBackButton() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(NewsmemoryHTML5Screen.prototype), "handleBackButton", this).call(this);

        if (_LiveConfig.default.getStartUpNavigator() === "NewsmemoryNavigator") {
          this.closeApp();
        } else {
          this.goToRssNavigator();
        }

        return true;
      }
    }, {
      key: "goToRssNavigator",
      value: function goToRssNavigator() {
        _NavigationService.default.main.reset("RssNavigator");
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "ePaper HTML5";
      }
    }, {
      key: "render",
      value: function render() {
        var _global$getMainPSetup = global.getMainPSetup(),
            siteDomain = _global$getMainPSetup.siteDomain,
            overrideNewsMemoryUserAgent = _global$getMainPSetup.overrideNewsMemoryUserAgent;

        var uri = siteDomain;

        if (uri.indexOf("?") !== -1) {
          uri += "&";
        } else {
          uri += "?";
        }

        uri += "rn=1";

        if (uri.indexOf("http") !== 0) {
          uri = _$$_REQUIRE(_dependencyMap[13]).NetworkUtils.addDefaultProtocol(uri);
        }

        var userAgent = overrideNewsMemoryUserAgent || _$$_REQUIRE(_dependencyMap[13]).PlatformUtils.getUserAgent();

        return _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1,
            flexDirection: "column",
            justifyContent: "flex-end"
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).BaseWebView, {
          source: {
            uri: uri
          },
          onLinkClicked: function onLinkClicked() {
            return true;
          },
          onLocal: function onLocal(_ref) {
            var domain = _ref.domain,
                getParams = _ref.getParams;

            if (domain === "share") {
              var type = getParams.type,
                  url = getParams.url,
                  subject = getParams.subject,
                  title = getParams.title;

              if (["facebook", "whatsapp", "twitter"].includes(type)) {
                _reactNativeShare.default.shareSingle({
                  url: url,
                  message: "",
                  title: title,
                  social: type
                });
              } else if (type === "email") {
                _reactNativeShare.default.shareSingle({
                  url: url,
                  message: "",
                  title: title,
                  subject: subject,
                  social: type
                });
              } else if (type === "clipboard") {
                _reactNative.Clipboard.setString(url);

                _$$_REQUIRE(_dependencyMap[15]).Toast.show(global.strings("msg_copy_to_clipboard"), {
                  position: "top"
                });
              } else {
                _$$_REQUIRE(_dependencyMap[15]).Toast.show(global.strings("msg_share_unmanaged"), {
                  position: "top"
                });
              }
            }
          },
          userAgent: userAgent
        }));
      }
    }]);
    return NewsmemoryHTML5Screen;
  }(_$$_REQUIRE(_dependencyMap[16]).NavigationBaseScreen);

  exports.NewsmemoryHTML5Screen = NewsmemoryHTML5Screen;

  NewsmemoryHTML5Screen.navigationOptions = function (_ref2) {
    var navigation = _ref2.navigation;
    var params = navigation.state.params;
    return params;
  };

  NewsmemoryHTML5Screen.propTypes = {
    navigation: _propTypes.default.object
  };
},2432,[5,7,8,90,12,14,16,17,28,575,201,1872,1861,462,1894,1889,2148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.NewsmemoryNativeScreen = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _LiveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _RssIndexConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var Analytics = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[15]));

  var _NewsmemoryConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _IAPHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var NewsmemoryNativeScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(NewsmemoryNativeScreen, _NavigationBaseScreen);

    var _super = _createSuper(NewsmemoryNativeScreen);

    function NewsmemoryNativeScreen(props) {
      var _this;

      (0, _classCallCheck2.default)(this, NewsmemoryNativeScreen);
      _this = _super.call(this, props);
      _this.currentOrientation = _deviceUtils.default.currentFullOrientation;
      return _this;
    }

    (0, _createClass2.default)(NewsmemoryNativeScreen, [{
      key: "UNSAFE_componentWillMount",
      value: function UNSAFE_componentWillMount() {
        _LiveConfig.default.setEpaperClassicSide();

        Analytics.initMatomo();
        Analytics.initMatomoTracker();
      }
    }, {
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        (0, _get2.default)((0, _getPrototypeOf2.default)(NewsmemoryNativeScreen.prototype), "componentDidMount", this).call(this);

        _IAPHelper.default.unregisterReceiver();

        var _global$getRssIndex = global.getRssIndex(),
            paywallEnabled = _global$getRssIndex.paywallEnabled;

        var _global$getFontsConfi = global.getFontsConfig(),
            fontBold = _global$getFontsConfi.fontBold,
            fontMedium = _global$getFontsConfi.fontMedium,
            fontRegular = _global$getFontsConfi.fontRegular;

        var tab = this.props.tab;
        var reactTag = this.viewRef ? (0, _reactNative.findNodeHandle)(this.viewRef) : undefined;

        var IOSClassicEPaper = _optionalPackageUtils.default.getIOSClassicEPaper();

        if (IOSClassicEPaper) {
          IOSClassicEPaper.navigateToNewsmemory({
            splashPortrait: _$$_REQUIRE(_dependencyMap[20]).Wallpaper.getDefaultWallpaper(true) || "",
            splashLandscape: _$$_REQUIRE(_dependencyMap[20]).Wallpaper.getDefaultWallpaper(false) || "",
            machineId: global.machineId || "",
            isHTTPS: global.isHTTPS(),
            buildPSetup: global.getAppPSetup(),
            buildServer: global.getAppServer(),
            backToRssAfterLogin: false,
            isPaywallEnabled: paywallEnabled || false,
            startupNavigator: _LiveConfig.default.getStartUpNavigator() === "NewsmemoryNavigator",
            fontBold: fontBold,
            fontMedium: fontMedium,
            fontRegular: fontRegular,
            tab: tab,
            startupParams: global.getNewsmemoryStartupParams(),
            reactTag: reactTag
          }).then(function () {
            _this2.setNewsmemoryDemo = IOSClassicEPaper.addListener(IOSClassicEPaper.NEWSMEMORY_SET_RN_DEMO, function (params) {
              var newsmemoryConfig = global.getNewsmemoryConfig();
              newsmemoryConfig.setRNUseDemo(params.useRnDemo);
            });
            _this2.closeListener = IOSClassicEPaper.addListener(IOSClassicEPaper.NEWSMEMORY_CLOSE, function () {
              _this2.handleBackButton();
            });
            _this2.goToRss = IOSClassicEPaper.addListener(IOSClassicEPaper.NEWSMEMORY_GO_TO_RSS, function () {
              _this2.goToRssNavigator();
            });
            _this2.analyticsScreen = IOSClassicEPaper.addListener(IOSClassicEPaper.NEWSMEMORY_ANALYTICS_SCREEN, function (params) {
              try {
                var _screenMapping = (0, _$$_REQUIRE(_dependencyMap[21]).screenMapping)(params),
                    screen = _screenMapping.screen,
                    event = _screenMapping.event,
                    customDimensions = _screenMapping.customDimensions,
                    remp = _screenMapping.remp;

                Analytics.trackCustomFirebaseEvent(event);
                Analytics.trackScreen(screen, params, customDimensions);

                if (remp) {
                  Analytics.trackRempAccount(remp);
                }
              } catch (e) {}
            });
            _this2.analyticsEvent = IOSClassicEPaper.addListener(IOSClassicEPaper.NEWSMEMORY_ANALYTICS_EVENT, function (params) {
              Analytics.trackEvent((0, _$$_REQUIRE(_dependencyMap[21]).eventMapping)(params));
            });
            _this2.loginListener = IOSClassicEPaper.addListener(IOSClassicEPaper.NEWSMEMORY_LOGIN, function _callee(params) {
              var pSetup, machine, TAUID, token, username, password, extid, extraUserInfo, _global$getActivePSet, currentPSetup, _global$getActivePSet2, loginStatus, firebaseAnalyticsSendExternalId;

              return _regenerator.default.async(function _callee$(_context) {
                while (1) {
                  switch (_context.prev = _context.next) {
                    case 0:
                      pSetup = params.pSetup, machine = params.machine, TAUID = params.TAUID, token = params.token, username = params.username, password = params.password, extid = params.extid, extraUserInfo = params.extraUserInfo;
                      _global$getActivePSet = global.getActivePSetup(), currentPSetup = _global$getActivePSet.pSetup;

                      if (!(pSetup && pSetup !== currentPSetup)) {
                        _context.next = 6;
                        break;
                      }

                      _context.next = 5;
                      return _regenerator.default.awrap(global.loadPSetup(pSetup, machine, {
                        fromCache: false
                      }));

                    case 5:
                      Analytics.updateAnalyticsClientList();

                    case 6:
                      _global$getActivePSet2 = global.getActivePSetup(), loginStatus = _global$getActivePSet2.loginStatus, firebaseAnalyticsSendExternalId = _global$getActivePSet2.firebaseAnalyticsSendExternalId;

                      if (!loginStatus) {
                        _context.next = 17;
                        break;
                      }

                      loginStatus.setTAUID(TAUID);
                      loginStatus.setToken(token);
                      loginStatus.setUsername(username);
                      loginStatus.setPassword(password);
                      loginStatus.setExtId(extid);
                      loginStatus.setExtraUserInfo(extraUserInfo);

                      if (!firebaseAnalyticsSendExternalId) {
                        _context.next = 17;
                        break;
                      }

                      _context.next = 17;
                      return _regenerator.default.awrap(Analytics.initGoogleAnalyticsFirebase());

                    case 17:
                    case "end":
                      return _context.stop();
                  }
                }
              }, null, null, null, Promise);
            });
            _this2.logoutListener = IOSClassicEPaper.addListener(IOSClassicEPaper.NEWSMEMORY_LOGOUT, function () {
              var _global$getActivePSet3 = global.getActivePSetup(),
                  loginStatus = _global$getActivePSet3.loginStatus;

              if (loginStatus) {
                loginStatus.clear();
              }
            });
          });
          this.onStateChangeForeground = _$$_REQUIRE(_dependencyMap[22]).EventRegister.on(_events.default.ON_STATE_CHANGE_GOING_FOREGROUND, function () {
            IOSClassicEPaper.goingForeground();

            if (_$$_REQUIRE(_dependencyMap[23]).NetworkUtils.isOnline()) {
              var feedback = new (_$$_REQUIRE(_dependencyMap[24]).Feedback)();
              feedback.check();
            }
          });
          this.onStateChangeInactive = _$$_REQUIRE(_dependencyMap[22]).EventRegister.on(_events.default.ON_STATE_CHANGE_GOING_INACTIVE, IOSClassicEPaper.goingInactive);
          this.onStateChangeBackground = _$$_REQUIRE(_dependencyMap[22]).EventRegister.on(_events.default.ON_STATE_CHANGE_GOING_BACKGROUND, IOSClassicEPaper.goingBackground);
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(NewsmemoryNativeScreen.prototype), "componentWillUnmount", this).call(this);

        if (this.closeListener) {
          this.closeListener.remove();
        }

        if (this.goToRss) {
          this.goToRss.remove();
        }

        if (this.analyticsScreen) {
          this.analyticsScreen.remove();
        }

        if (this.analyticsEvent) {
          this.analyticsEvent.remove();
        }

        if (this.loginListener) {
          this.loginListener.remove();
        }

        if (this.logoutListener) {
          this.logoutListener.remove();
        }

        _$$_REQUIRE(_dependencyMap[22]).EventRegister.rm(this.onStateChangeForeground);

        _$$_REQUIRE(_dependencyMap[22]).EventRegister.rm(this.onStateChangeInactive);

        _$$_REQUIRE(_dependencyMap[22]).EventRegister.rm(this.onStateChangeBackground);
      }
    }, {
      key: "handleBackButton",
      value: function handleBackButton() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(NewsmemoryNativeScreen.prototype), "handleBackButton", this).call(this);

        if (_LiveConfig.default.getStartUpNavigator() === "NewsmemoryNavigator") {
          this.closeApp();
        } else {
          this.goToRssNavigator();
        }

        return true;
      }
    }, {
      key: "orientationListener",
      value: function orientationListener(orientation) {
        var IOSClassicEPaper = _optionalPackageUtils.default.getIOSClassicEPaper();

        if (IOSClassicEPaper) {
          IOSClassicEPaper.rotate(this.currentOrientation, _deviceUtils.default.currentFullOrientation);
          this.currentOrientation = _deviceUtils.default.currentFullOrientation;
        }
      }
    }, {
      key: "goToRssNavigator",
      value: function goToRssNavigator() {
        _NavigationService.default.main.reset("RssNavigator");
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "ePaper Classic";
      }
    }, {
      key: "render",
      value: function render() {
        var _this3 = this;

        return _react.default.createElement(_reactNative.View, {
          ref: function ref(_ref) {
            _this3.viewRef = _ref;
          },
          style: {
            flex: 1,
            backgroundColor: _$$_REQUIRE(_dependencyMap[23]).colors.black
          }
        });
      }
    }]);
    return NewsmemoryNativeScreen;
  }(_$$_REQUIRE(_dependencyMap[25]).NavigationBaseScreen);

  exports.NewsmemoryNativeScreen = NewsmemoryNativeScreen;

  NewsmemoryNativeScreen.navigationOptions = function (_ref2) {
    var navigation = _ref2.navigation;
    var params = navigation.state.params;
    return params;
  };

  NewsmemoryNativeScreen.propTypes = {
    navigation: _propTypes.default.object
  };
},2433,[5,80,7,8,90,12,14,16,17,28,201,1872,2044,1861,460,1871,1859,1934,731,458,2428,1959,572,462,2151,2148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2434,[2435]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.GalleryScreen = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _galleryThumbnailsComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _galleryPagerComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _galleryCounter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[16]));

  var _share = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var GalleryScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(GalleryScreen, _NavigationBaseScreen);

    var _super = _createSuper(GalleryScreen);

    function GalleryScreen(props) {
      var _this;

      (0, _classCallCheck2.default)(this, GalleryScreen);
      _this = _super.call(this, props, {
        thumbnailVisible: _$$_REQUIRE(_dependencyMap[19]).PlatformUtils.isTablet()
      });
      _this.updateViews = _this._updateViews.bind((0, _assertThisInitialized2.default)(_this));
      _this.toggleThumbnail = _this._toggleThumbnail.bind((0, _assertThisInitialized2.default)(_this));
      _this.currentPosition = _this._getStartIndex();
      return _this;
    }

    (0, _createClass2.default)(GalleryScreen, [{
      key: "getTag",
      value: function getTag() {
        return "Gallery";
      }
    }, {
      key: "trackScreen",
      value: function trackScreen() {}
    }, {
      key: "handleBackButton",
      value: function handleBackButton() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(GalleryScreen.prototype), "handleBackButton", this).call(this);
        var navigation = this.props.navigation;
        navigation.goBack();
        return true;
      }
    }, {
      key: "_getThumbnailList",
      value: function _getThumbnailList(items) {
        var thumbnail = [];
        items.forEach(function (item) {
          if (item.thumbnail) {
            thumbnail.push(item.thumbnail);
          } else {
            thumbnail.push(item.url);
          }
        });
        return thumbnail;
      }
    }, {
      key: "_sendAnalytics",
      value: function _sendAnalytics(index) {
        var current = this._getItems()[index];

        if (current) {
          var lastSegment = current.url ? current.url.substring(current.url.lastIndexOf("/") + 1) : "";
          var title = this._getTitle() || current.title || "";

          var caller = this._getCaller();

          if (caller === "live_news") {
            (0, _$$_REQUIRE(_dependencyMap[20]).sendToAnalytics)({
              event_action: caller + "_gallery",
              screen_name: "Live News Gallery",
              category: this._getCategory(),
              title: title,
              index: index,
              type: current.action,
              gallery_id: lastSegment
            });
          } else {
            var edition = this._getEdition();

            var page = this._getPage();

            var article = this._getArticle();

            if (article) {
              (0, _$$_REQUIRE(_dependencyMap[21]).sendNewsmemoryArticleGallery)(index, edition, page, article);
            } else {
              (0, _$$_REQUIRE(_dependencyMap[21]).sendNewsmemoryGallery)(title, lastSegment, index, edition, page);
            }
          }
        }
      }
    }, {
      key: "_toggleThumbnail",
      value: function _toggleThumbnail() {
        this.setState(function (prevState) {
          return {
            thumbnailVisible: !prevState.thumbnailVisible
          };
        });
      }
    }, {
      key: "_getTextColor",
      value: function _getTextColor(color) {
        return color || _$$_REQUIRE(_dependencyMap[19]).colors.white;
      }
    }, {
      key: "_getParam",
      value: function _getParam(name, defaultValue) {
        var params = (0, _$$_REQUIRE(_dependencyMap[22]).getNavigationParams)(this.props);
        return params[name] || defaultValue;
      }
    }, {
      key: "_getCategory",
      value: function _getCategory() {
        return this._getParam("category", "");
      }
    }, {
      key: "_getTitle",
      value: function _getTitle() {
        return this._getParam("title", "");
      }
    }, {
      key: "_getStartIndex",
      value: function _getStartIndex() {
        return this._getParam("index", 0);
      }
    }, {
      key: "_getItems",
      value: function _getItems() {
        return this._getParam("items", []);
      }
    }, {
      key: "_getEdition",
      value: function _getEdition() {
        return this._getParam("edition");
      }
    }, {
      key: "_getPage",
      value: function _getPage() {
        return this._getParam("page");
      }
    }, {
      key: "_getArticle",
      value: function _getArticle() {
        return this._getParam("article");
      }
    }, {
      key: "_getCaller",
      value: function _getCaller() {
        return this._getParam("caller", "");
      }
    }, {
      key: "_updateViews",
      value: function _updateViews(item, index) {
        if (this.currentPosition !== index) {
          this.currentPosition = index;

          if (this.thumbnailsRef) {
            this.thumbnailsRef.scrollTo(index);
          }

          if (this.galleryCaptionRef) {
            this.galleryCaptionRef.setText(item.caption);
          }

          if (this.galleryCounterRef) {
            this.galleryCounterRef.setIndex(index);
          }

          if (this.galleryTitleRef) {
            this.galleryTitleRef.setText(item.title);
          }
        }

        this._sendAnalytics(index);
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props = this.props,
            navigation = _this$props.navigation,
            considerSafeAreaTop = _this$props.considerSafeAreaTop;
        var thumbnailVisible = this.state.thumbnailVisible;

        var items = this._getItems(navigation);

        var current = items[this.currentPosition];

        if (items && items.length) {
          var _global$getActivePSet = global.getActivePSetup(),
              galleryDownloadEnabled = _global$getActivePSet.galleryDownloadEnabled,
              galleryThumbnailEnabled = _global$getActivePSet.galleryThumbnailEnabled;

          var _global$getRssIndex = global.getRssIndex(),
              showGalleryTitle = _global$getRssIndex.showGalleryTitle;

          var galleryDownload = galleryDownloadEnabled;

          if (galleryDownload && _$$_REQUIRE(_dependencyMap[19]).PlatformUtils.isIOS()) {
            galleryDownload = _$$_REQUIRE(_dependencyMap[19]).PlatformUtils.getMajorSystemVersion() >= 11;
          }

          return _react.default.createElement(_reactNative.View, {
            style: [_$$_REQUIRE(_dependencyMap[23]).styles.parent, {
              top: considerSafeAreaTop ? _deviceUtils.default.getSafeAreaInsets().top : 0
            }]
          }, _react.default.createElement(_galleryPagerComponent.default, {
            ref: function ref(_ref) {
              _this2.galleryPagerRef = _ref;
            },
            startIndex: this.currentPosition,
            onIndexChanged: this.updateViews,
            data: items
          }), _react.default.createElement(_reactNative.View, {
            style: _$$_REQUIRE(_dependencyMap[23]).styles.header
          }, _react.default.createElement(_reactNative.View, {
            style: _$$_REQUIRE(_dependencyMap[23]).styles.toolbar
          }, _react.default.createElement(_reactNative.View, {
            style: _$$_REQUIRE(_dependencyMap[23]).styles.toolbarLeft
          }, _react.default.createElement(_reactNative.TouchableOpacity, {
            onPress: this.onHandleBackButton
          }, _react.default.createElement(_iconComponent.default, {
            name: _$$_REQUIRE(_dependencyMap[19]).PlatformUtils.isRTL() ? "arrow-forward" : "arrow-back",
            style: _$$_REQUIRE(_dependencyMap[23]).styles.btn,
            type: _iconComponent.TecnaviaIconType.MATERIAL_ICONS
          }))), _react.default.createElement(_reactNative.View, {
            style: _$$_REQUIRE(_dependencyMap[23]).styles.toolbarCenter
          }, _react.default.createElement(_galleryCounter.default, {
            ref: function ref(_ref2) {
              _this2.galleryCounterRef = _ref2;
            },
            total: items.length,
            startIndex: this.currentPosition
          })), _react.default.createElement(_reactNative.View, {
            style: _$$_REQUIRE(_dependencyMap[23]).styles.toolbarRight
          }, galleryDownload ? _react.default.createElement(_reactNative.TouchableOpacity, {
            onPress: function onPress() {
              GalleryScreen._downloadImage(items[_this2.currentPosition], _this2.currentPosition, _this2._getTitle());
            }
          }, _react.default.createElement(_iconComponent.default, {
            name: "cloud-download",
            style: _$$_REQUIRE(_dependencyMap[23]).styles.btn,
            type: _iconComponent.TecnaviaIconType.FONT_AWESOME
          })) : null, galleryThumbnailEnabled && items.length > 1 ? _react.default.createElement(_reactNative.TouchableOpacity, {
            onPress: this.toggleThumbnail
          }, _react.default.createElement(_iconComponent.default, {
            name: "view-grid",
            style: _$$_REQUIRE(_dependencyMap[23]).styles.btn,
            type: _iconComponent.TecnaviaIconType.MATERIAL_COMMUNITY_ICONS
          })) : null)), showGalleryTitle ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).GalleryText, {
            ref: function ref(_ref3) {
              _this2.galleryTitleRef = _ref3;
            },
            text: current.title,
            color: this._getTextColor(current.color),
            styles: [_$$_REQUIRE(_dependencyMap[23]).styles.text, _$$_REQUIRE(_dependencyMap[23]).styles.title],
            maxLines: 1
          }) : null), _react.default.createElement(_reactNative.View, {
            style: _$$_REQUIRE(_dependencyMap[23]).styles.footer
          }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).GalleryText, {
            ref: function ref(_ref4) {
              _this2.galleryCaptionRef = _ref4;
            },
            text: current.caption,
            color: this._getTextColor(current.color),
            styles: [_$$_REQUIRE(_dependencyMap[23]).styles.text, _$$_REQUIRE(_dependencyMap[23]).styles.caption],
            maxLines: _$$_REQUIRE(_dependencyMap[19]).PlatformUtils.isTablet() ? 3 : 2
          }), galleryThumbnailEnabled ? _react.default.createElement(_galleryThumbnailsComponent.default, {
            ref: function ref(_ref5) {
              _this2.thumbnailsRef = _ref5;
            },
            data: this._getThumbnailList(items),
            startIndex: this.currentPosition,
            visible: thumbnailVisible && items.length > 1,
            onThumbnailPress: function onThumbnailPress(item, index) {
              if (_this2.galleryPagerRef) {
                _this2.galleryPagerRef.scrollTo(index);
              }
            }
          }) : null));
        }

        this.handleBackButton();
        return null;
      }
    }], [{
      key: "_downloadImage",
      value: function _downloadImage(_ref6, position, galleryTitle) {
        var url, extension, hasPermission, basePath, path, response, downloadPath, type;
        return _regenerator.default.async(function _downloadImage$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                url = _ref6.url, extension = _ref6.extension;
                _context.prev = 1;
                _context.next = 4;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[19]).PlatformUtils.requestPermission({
                  permission: _reactNative.PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE,
                  title: global.strings("permission_title", {
                    appName: global.appName
                  }),
                  message: global.strings("permission_storage_message", {
                    appName: global.appName
                  })
                }));

              case 4:
                hasPermission = _context.sent;

                if (!hasPermission) {
                  _context.next = 37;
                  break;
                }

                basePath = _$$_REQUIRE(_dependencyMap[19]).PlatformUtils.isIOS() ? "" + _tecnaviaFileUtils.default.temporaryDirectory + (galleryTitle ? "gallery_" + galleryTitle : "gallery") : _tecnaviaFileUtils.default.picturesDirectory + "/" + global.appName;
                path = extension ? basePath + "/image_" + galleryTitle + "_" + position + "." + extension : basePath + "/image_" + galleryTitle + "_" + position;
                _context.next = 10;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.fetch(url));

              case 10:
                response = _context.sent;
                downloadPath = response.path();
                _context.prev = 12;
                _context.next = 15;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.mkdir(basePath));

              case 15:
                _context.next = 17;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unlink(path));

              case 17:
                _context.next = 21;
                break;

              case 19:
                _context.prev = 19;
                _context.t0 = _context["catch"](12);

              case 21:
                _context.prev = 21;
                _context.next = 24;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.moveFile(downloadPath, path));

              case 24:
                _context.next = 28;
                break;

              case 26:
                _context.prev = 26;
                _context.t1 = _context["catch"](21);

              case 28:
                if (!_$$_REQUIRE(_dependencyMap[19]).PlatformUtils.isIOS()) {
                  _context.next = 34;
                  break;
                }

                type = extension === "jpg" ? "image/jpeg" : "image/png";
                _context.next = 32;
                return _regenerator.default.awrap(_share.default.shareToFiles(path, type));

              case 32:
                _context.next = 35;
                break;

              case 34:
                _tecnaviaFileUtils.default.scanFile(downloadPath);

              case 35:
                _context.next = 37;
                break;

              case 37:
                _context.next = 41;
                break;

              case 39:
                _context.prev = 39;
                _context.t2 = _context["catch"](1);

              case 41:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[1, 39], [12, 19], [21, 26]], Promise);
      }
    }]);
    return GalleryScreen;
  }(_$$_REQUIRE(_dependencyMap[22]).NavigationBaseScreen);

  exports.GalleryScreen = GalleryScreen;
  GalleryScreen.propTypes = {
    navigation: _propTypes.default.object,
    considerSafeAreaTop: _propTypes.default.bool
  };
  GalleryScreen.defaultProps = {
    considerSafeAreaTop: false
  };
},2435,[5,80,7,8,15,90,12,14,16,17,28,201,458,2436,2440,2464,1806,2352,574,462,2210,1954,2148,2444,2466]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _galleryThumbnailComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var GalleryThumbnails = function (_Component) {
    (0, _inherits2.default)(GalleryThumbnails, _Component);

    var _super = _createSuper(GalleryThumbnails);

    function GalleryThumbnails(props) {
      var _this;

      (0, _classCallCheck2.default)(this, GalleryThumbnails);
      _this = _super.call(this, props);
      _this.state = {
        visible: props.visible
      };
      return _this;
    }

    (0, _createClass2.default)(GalleryThumbnails, [{
      key: "scrollTo",
      value: function scrollTo(index) {
        _$$_REQUIRE(_dependencyMap[10]).EventRegister.emit(_events.default.GALLERY_THUMBNAIL_CLICK, {
          index: index
        });

        if (this.flatList) {
          if (_$$_REQUIRE(_dependencyMap[11]).PlatformUtils.isIOS() && _$$_REQUIRE(_dependencyMap[11]).PlatformUtils.isRTL()) {
            var data = this.props.data;

            if (data && data.length > 0) {
              index = data.length - index;
            }
          }

          this.flatList.scrollToIndex({
            animated: true,
            index: index
          });
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props = this.props,
            data = _this$props.data,
            onThumbnailPress = _this$props.onThumbnailPress,
            startIndex = _this$props.startIndex;
        var visible = this.state.visible;

        if (data && data.length && visible) {
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).TecnaviaFlatList, {
            ref: function ref(_ref2) {
              _this2.flatList = _ref2;
            },
            initialScrollIndex: startIndex,
            onScrollToIndexFailed: function onScrollToIndexFailed(info) {},
            getItemLayout: function getItemLayout(items, index) {
              var offset = _$$_REQUIRE(_dependencyMap[13]).GALLERY_THUMBNAIL_WIDTH * index;
              var result = {
                length: _$$_REQUIRE(_dependencyMap[13]).GALLERY_THUMBNAIL_WIDTH,
                offset: offset,
                index: index
              };
              return result;
            },
            keyExtractor: function keyExtractor(item, index) {
              return item + "_" + index;
            },
            horizontal: true,
            data: data,
            renderItem: function renderItem(_ref) {
              var item = _ref.item,
                  index = _ref.index;
              return _react.default.createElement(_galleryThumbnailComponent.default, {
                item: item,
                index: index,
                onPress: onThumbnailPress,
                selected: startIndex === index
              });
            }
          });
        }

        return null;
      }
    }], [{
      key: "getDerivedStateFromProps",
      value: function getDerivedStateFromProps(nextProps, prevState) {
        var visible = nextProps.visible,
            indexSelected = nextProps.indexSelected;

        if (visible !== prevState.visible || indexSelected !== prevState.currentPosition) {
          return {
            visible: visible
          };
        }

        return null;
      }
    }]);
    return GalleryThumbnails;
  }(_react.Component);

  exports.default = GalleryThumbnails;
  GalleryThumbnails.propTypes = {
    data: _propTypes.default.array.isRequired,
    visible: _propTypes.default.bool,
    onThumbnailPress: _propTypes.default.func,
    startIndex: _propTypes.default.number
  };
  GalleryThumbnails.defaultProps = {
    visible: true,
    startIndex: 0
  };
},2436,[5,7,8,12,14,16,17,201,460,2437,572,462,1910,2438]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _galleryThumbnailComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var GalleryThumbnail = function (_React$Component) {
    (0, _inherits2.default)(GalleryThumbnail, _React$Component);

    var _super = _createSuper(GalleryThumbnail);

    function GalleryThumbnail(props) {
      var _this;

      (0, _classCallCheck2.default)(this, GalleryThumbnail);
      _this = _super.call(this, props);
      _this.state = {
        selected: props.selected
      };
      return _this;
    }

    (0, _createClass2.default)(GalleryThumbnail, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        this.onThumbnailPress = _$$_REQUIRE(_dependencyMap[12]).EventRegister.on(_events.default.GALLERY_THUMBNAIL_CLICK, function (_ref) {
          var selectedIndex = _ref.index;
          var selected = _this2.state.selected;
          var index = _this2.props.index;

          if (index === selectedIndex && !selected) {
            _this2.setState({
              selected: true
            });
          } else if (index !== selectedIndex && selected) {
            _this2.setState({
              selected: false
            });
          }
        });
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[12]).EventRegister.rm(this.onThumbnailPress);
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            _onPress = _this$props.onPress,
            index = _this$props.index,
            item = _this$props.item;
        var selected = this.state.selected;

        var source = _$$_REQUIRE(_dependencyMap[13]);

        if (_$$_REQUIRE(_dependencyMap[14]).StringUtils.isUrl(item) || _$$_REQUIRE(_dependencyMap[14]).StringUtils.isImageBase64(item)) {
          source = {
            uri: item
          };
        }

        return _react.default.createElement(_reactNative.TouchableWithoutFeedback, {
          onPress: function onPress() {
            if (typeof _onPress === "function") {
              _onPress(item, index);
            }
          }
        }, _react.default.createElement(_reactNative.View, {
          style: selected ? _galleryThumbnailComponent.default.selected : {}
        }, _react.default.createElement(_imageComponent.default, {
          source: source,
          style: _galleryThumbnailComponent.default.thumbnail,
          resizeMode: "contain"
        })));
      }
    }]);
    return GalleryThumbnail;
  }(_react.default.Component);

  exports.default = GalleryThumbnail;
  GalleryThumbnail.propTypes = {
    onPress: _propTypes.default.func.isRequired,
    index: _propTypes.default.number.isRequired,
    selected: _propTypes.default.bool,
    item: _propTypes.default.string.isRequired
  };
  GalleryThumbnail.defaultProps = {
    selected: false
  };
},2437,[5,7,8,12,14,16,17,201,28,460,2438,588,572,2439,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.GALLERY_THUMBNAIL_WIDTH = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var isTablet = _$$_REQUIRE(_dependencyMap[1]).PlatformUtils.isTablet();

  var GALLERY_THUMBNAIL_WIDTH = isTablet ? 150 : 100;
  exports.GALLERY_THUMBNAIL_WIDTH = GALLERY_THUMBNAIL_WIDTH;

  var _default = _reactNative.StyleSheet.create({
    thumbnail: {
      height: isTablet ? 200 : 150,
      width: GALLERY_THUMBNAIL_WIDTH,
      padding: 3,
      margin: 3
    },
    selected: {
      borderRadius: 5,
      borderWidth: 2,
      borderColor: "white"
    }
  });

  exports.default = _default;
},2438,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/shared/gallery-thumbnail-component",
    "width": 500,
    "height": 362,
    "scales": [1],
    "hash": "f228fdd55ec7477271dee51823570651",
    "name": "ic_not_available",
    "type": "png"
  });
},2439,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _viewPagerComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var GalleryPager = function (_Component) {
    (0, _inherits2.default)(GalleryPager, _Component);

    var _super = _createSuper(GalleryPager);

    function GalleryPager(props) {
      var _this;

      (0, _classCallCheck2.default)(this, GalleryPager);
      _this = _super.call(this, props);
      _this.scrollRef = _react.default.createRef();
      _this.currentPosition = props.startIndex;
      _this.videoStreamRefs = [];
      _this.onRef = _this._onRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPageChange = _this._onPageChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onRenderPage = _this._onRenderPage.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(GalleryPager, [{
      key: "_onRef",
      value: function _onRef(ref) {
        this.swiper = ref;
      }
    }, {
      key: "_onPageChange",
      value: function _onPageChange(index) {
        var _this$props = this.props,
            data = _this$props.data,
            onIndexChanged = _this$props.onIndexChanged;
        this.currentPosition = index;

        if (onIndexChanged) {
          onIndexChanged(data[index], index);
        }

        if (this.videoStreamRefs) {
          this.videoStreamRefs.forEach(function (videoStreamRef) {
            if (videoStreamRef) {
              videoStreamRef.pause();
            }
          });
        }
      }
    }, {
      key: "_onRenderPage",
      value: function _onRenderPage(item, index) {
        var _this2 = this;

        switch (item.action) {
          case "dailymotion":
          case "dailymotionPlaylist":
            return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).GalleryVideoDailymotion, {
              key: index,
              item: item,
              isPlaylist: item.action === "dailymotionPlaylist"
            });

          case "videoStream":
            return _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).GalleryVideoStream, {
              ref: function ref(_ref) {
                _this2.videoStreamRefs[index] = _ref;
              },
              key: index,
              item: item
            });

          case "videoLink":
            return _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).GalleryVideoLink, {
              key: index,
              item: item
            });

          case "videoEmbed":
            return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).GalleryVideoEmbed, {
              key: index,
              item: item
            });

          default:
            return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).GalleryImage, {
              key: index,
              item: item
            });
        }
      }
    }, {
      key: "scrollTo",
      value: function scrollTo(index) {
        if (this.swiper) {
          this.swiper.scrollTo(index, true);
        }
      }
    }, {
      key: "render",
      value: function render() {
        var data = this.props.data;

        if (data && data.length) {
          return _react.default.createElement(_viewPagerComponent.default, {
            ref: this.onRef,
            containerStyle: _$$_REQUIRE(_dependencyMap[15]).styles.galleryParent,
            data: data,
            startPage: this.currentPosition,
            onPageChange: this.onPageChange,
            renderPage: this.onRenderPage,
            scrollRef: this.scrollRef
          });
        }

        return null;
      }
    }]);
    return GalleryPager;
  }(_react.Component);

  exports.default = GalleryPager;
  GalleryPager.propTypes = {
    data: _propTypes.default.array.isRequired,
    onIndexChanged: _propTypes.default.func,
    startIndex: _propTypes.default.number
  };
  GalleryPager.defaultProps = {
    startIndex: 0
  };
},2440,[5,7,8,15,12,14,16,17,201,2360,2441,2445,2455,2458,2461,2463]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2441,[2442]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.GalleryVideoDailymotion = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var _OptionalPackages$get = _optionalPackageUtils.default.getDailymotionVideoPlayer(),
      DailymotionVideoPlayer = _OptionalPackages$get.Player;

  var GalleryVideoDailymotion = function (_React$Component) {
    (0, _inherits2.default)(GalleryVideoDailymotion, _React$Component);

    var _super = _createSuper(GalleryVideoDailymotion);

    function GalleryVideoDailymotion() {
      (0, _classCallCheck2.default)(this, GalleryVideoDailymotion);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(GalleryVideoDailymotion, [{
      key: "render",
      value: function render() {
        var _this = this;

        if (DailymotionVideoPlayer) {
          var _this$props = this.props,
              item = _this$props.item,
              isPlaylist = _this$props.isPlaylist;
          var url = item.url;
          var playerData = {
            autoplay: false
          };

          if (isPlaylist) {
            playerData.playlist = url;
          } else {
            playerData.video = url;
          }

          return _react.default.createElement(_reactNative.View, {
            style: _$$_REQUIRE(_dependencyMap[10]).styles.parent
          }, _react.default.createElement(DailymotionVideoPlayer, {
            ref: function ref(r) {
              _this.player = r;
            },
            playerData: playerData,
            style: {
              height: "100%",
              width: "100%"
            },
            onPlayerEvent: function onPlayerEvent(payload) {
              return;
            },
            onStart: function onStart(payload) {
              return;
            },
            onPause: function onPause(payload) {
              return;
            },
            onSeeked: function onSeeked(payload) {
              return;
            },
            onEnd: function onEnd(payload) {
              return;
            }
          }));
        }

        return null;
      }
    }]);
    return GalleryVideoDailymotion;
  }(_react.default.Component);

  exports.GalleryVideoDailymotion = GalleryVideoDailymotion;
  GalleryVideoDailymotion.propTypes = {
    item: _propTypes.default.shape({
      thumbnail: _propTypes.default.string,
      url: _propTypes.default.string.isRequired
    }),
    isPlaylist: _propTypes.default.bool
  };
},2442,[5,7,8,12,14,16,17,28,201,731,2443]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    parent: {
      flex: 1,
      justifyContent: "center",
      alignItems: "center",
      flexDirection: "column",
      paddingTop: _$$_REQUIRE(_dependencyMap[1]).GALLERY_ITEM_HEIGHT
    }
  });

  exports.styles = styles;
},2443,[28,2444]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = exports.GALLERY_ITEM_HEIGHT = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var isTablet = _$$_REQUIRE(_dependencyMap[1]).PlatformUtils.isTablet();

  var GALLERY_ITEM_HEIGHT = 50;
  exports.GALLERY_ITEM_HEIGHT = GALLERY_ITEM_HEIGHT;

  var styles = _reactNative.StyleSheet.create({
    parent: {
      position: "absolute",
      backgroundColor: "black",
      top: 0,
      bottom: 0,
      left: 0,
      right: 0,
      width: null,
      height: null
    },
    header: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.transparent600,
      position: "absolute",
      start: 0,
      end: 0,
      flexDirection: "column"
    },
    text: {
      paddingTop: 10,
      paddingBottom: 10,
      textAlign: "center"
    },
    title: {
      fontSize: isTablet ? 20 : 16,
      paddingStart: isTablet ? 40 : 20,
      paddingEnd: isTablet ? 40 : 20
    },
    caption: {
      fontSize: isTablet ? 16 : 14,
      paddingStart: isTablet ? 20 : 10,
      paddingEnd: isTablet ? 20 : 10
    },
    toolbar: {
      height: GALLERY_ITEM_HEIGHT,
      flexDirection: "row",
      justifyContent: "space-between"
    },
    toolbarLeft: {
      height: GALLERY_ITEM_HEIGHT,
      flex: 1,
      justifyContent: "flex-start",
      flexDirection: "row"
    },
    toolbarCenter: {
      height: GALLERY_ITEM_HEIGHT,
      flex: 1,
      justifyContent: "center",
      flexDirection: "row"
    },
    toolbarRight: {
      height: GALLERY_ITEM_HEIGHT,
      flex: 1,
      justifyContent: "flex-end",
      flexDirection: "row"
    },
    counter: {
      color: "white",
      height: GALLERY_ITEM_HEIGHT,
      fontSize: 20,
      padding: 10,
      textAlign: "center",
      textAlignVertical: "center"
    },
    btn: {
      fontSize: 30,
      padding: 5,
      margin: 5,
      color: "white"
    },
    galleryParent: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      flex: 1
    },
    footer: {
      position: "absolute",
      bottom: 0,
      start: 0,
      end: 0,
      flexDirection: "column",
      alignItems: "flex-start",
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.transparent600
    },
    thumbnailList: {},
    thumbnail: {
      height: isTablet ? 200 : 150,
      width: isTablet ? 150 : 100,
      padding: 3,
      margin: 3
    },
    selected: {
      borderRadius: 5,
      borderWidth: 2,
      borderColor: "white"
    }
  });

  exports.styles = styles;
},2444,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2445,[2446]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.GalleryVideoStream = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNativeVideoPlayer = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var GalleryVideoStream = function (_React$Component) {
    (0, _inherits2.default)(GalleryVideoStream, _React$Component);

    var _super = _createSuper(GalleryVideoStream);

    function GalleryVideoStream() {
      (0, _classCallCheck2.default)(this, GalleryVideoStream);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(GalleryVideoStream, [{
      key: "pause",
      value: function pause() {
        if (this.player && this.player.state.isPlaying) {
          this.player.pause();
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this = this;

        var item = this.props.item;
        var thumbnail = item.thumbnail,
            url = item.url;
        return _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[10]).styles.videoParent
        }, _react.default.createElement(_reactNativeVideoPlayer.default, {
          autoplay: false,
          endWithThumbnail: true,
          useTextureView: false,
          thumbnail: {
            uri: thumbnail
          },
          video: {
            uri: url
          },
          ref: function ref(r) {
            _this.player = r;
          }
        }));
      }
    }]);
    return GalleryVideoStream;
  }(_react.default.Component);

  exports.GalleryVideoStream = GalleryVideoStream;
  GalleryVideoStream.propTypes = {
    item: _propTypes.default.shape({
      thumbnail: _propTypes.default.string,
      url: _propTypes.default.string.isRequired
    })
  };
},2446,[5,7,8,12,14,16,17,2447,28,201,2454]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  var _MaterialIcons = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _reactNativeVideo = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var BackgroundImage = _reactNative.ImageBackground || _reactNative.Image;
  var ViewPropTypesVar;

  if (_reactNative.ViewPropTypes) {
    ViewPropTypesVar = _reactNative.ViewPropTypes;
  } else {
    ViewPropTypesVar = _reactNative.View.propTypes;
  }

  var styles = _reactNative.StyleSheet.create({
    preloadingPlaceholder: {
      backgroundColor: 'black',
      justifyContent: 'center',
      alignItems: 'center'
    },
    thumbnail: {
      backgroundColor: 'black',
      justifyContent: 'center',
      alignItems: 'center'
    },
    playButton: {
      backgroundColor: 'rgba(0, 0, 0, 0.6)',
      width: 64,
      height: 64,
      borderRadius: 32,
      justifyContent: 'center',
      alignItems: 'center'
    },
    playArrow: {
      color: 'white'
    },
    video: _reactNative.Platform.Version >= 24 ? {} : {
      backgroundColor: 'black'
    },
    controls: {
      backgroundColor: 'rgba(0, 0, 0, 0.6)',
      height: 48,
      marginTop: -48,
      flexDirection: 'row',
      alignItems: 'center'
    },
    playControl: {
      color: 'white',
      padding: 8
    },
    extraControl: {
      color: 'white',
      padding: 8
    },
    seekBar: {
      alignItems: 'center',
      height: 30,
      flexGrow: 1,
      flexDirection: 'row',
      paddingHorizontal: 10,
      marginLeft: -10,
      marginRight: -5
    },
    seekBarFullWidth: {
      marginLeft: 0,
      marginRight: 0,
      paddingHorizontal: 0,
      marginTop: -3,
      height: 3
    },
    seekBarProgress: {
      height: 3,
      backgroundColor: '#F00'
    },
    seekBarKnob: {
      width: 20,
      height: 20,
      marginHorizontal: -8,
      marginVertical: -10,
      borderRadius: 10,
      backgroundColor: '#F00',
      transform: [{
        scale: 0.8
      }],
      zIndex: 1
    },
    seekBarBackground: {
      backgroundColor: 'rgba(255, 255, 255, 0.5)',
      height: 3
    },
    overlayButton: {
      flex: 1
    }
  });

  var VideoPlayer = function (_Component) {
    (0, _inherits2.default)(VideoPlayer, _Component);

    var _super = _createSuper(VideoPlayer);

    function VideoPlayer(props) {
      var _this;

      (0, _classCallCheck2.default)(this, VideoPlayer);
      _this = _super.call(this, props);
      _this.state = {
        isStarted: props.autoplay,
        isPlaying: props.autoplay,
        hasEnded: false,
        width: 200,
        progress: 0,
        isMuted: props.defaultMuted,
        isControlsVisible: !props.hideControlsOnStart,
        duration: 0,
        isSeeking: false
      };
      _this.seekBarWidth = 200;
      _this.wasPlayingBeforeSeek = props.autoplay;
      _this.seekTouchStart = 0;
      _this.seekProgressStart = 0;
      _this.onLayout = _this.onLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.onStartPress = _this.onStartPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onProgress = _this.onProgress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onEnd = _this.onEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLoad = _this.onLoad.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPlayPress = _this.onPlayPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onMutePress = _this.onMutePress.bind((0, _assertThisInitialized2.default)(_this));
      _this.showControls = _this.showControls.bind((0, _assertThisInitialized2.default)(_this));
      _this.onToggleFullScreen = _this.onToggleFullScreen.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSeekBarLayout = _this.onSeekBarLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSeekGrant = _this.onSeekGrant.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSeekRelease = _this.onSeekRelease.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSeek = _this.onSeek.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(VideoPlayer, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        if (this.props.autoplay) {
          this.hideControls();
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        if (this.controlsTimeout) {
          clearTimeout(this.controlsTimeout);
          this.controlsTimeout = null;
        }
      }
    }, {
      key: "onLayout",
      value: function onLayout(event) {
        var width = event.nativeEvent.layout.width;
        this.setState({
          width: width
        });
      }
    }, {
      key: "onStartPress",
      value: function onStartPress() {
        if (this.props.onStart) {
          this.props.onStart();
        }

        this.setState(function (state) {
          return {
            isPlaying: true,
            isStarted: true,
            hasEnded: false,
            progress: state.progress === 1 ? 0 : state.progress
          };
        });
        this.hideControls();
      }
    }, {
      key: "onProgress",
      value: function onProgress(event) {
        if (this.state.isSeeking) {
          return;
        }

        if (this.props.onProgress) {
          this.props.onProgress(event);
        }

        this.setState({
          progress: event.currentTime / (this.props.duration || this.state.duration)
        });
      }
    }, {
      key: "onEnd",
      value: function onEnd(event) {
        var _this2 = this;

        if (this.props.onEnd) {
          this.props.onEnd(event);
        }

        if (this.props.endWithThumbnail || this.props.endThumbnail) {
          this.setState({
            isStarted: false,
            hasEnded: true
          });
          this.player.dismissFullscreenPlayer();
        }

        this.setState({
          progress: 1
        });

        if (!this.props.loop) {
          this.setState({
            isPlaying: false
          }, function () {
            return _this2.player && _this2.player.seek(0);
          });
        } else {
          this.player.seek(0);
        }
      }
    }, {
      key: "onLoad",
      value: function onLoad(event) {
        if (this.props.onLoad) {
          this.props.onLoad(event);
        }

        var duration = event.duration;
        this.setState({
          duration: duration
        });
      }
    }, {
      key: "onPlayPress",
      value: function onPlayPress() {
        if (this.props.onPlayPress) {
          this.props.onPlayPress();
        }

        this.setState({
          isPlaying: !this.state.isPlaying
        });
        this.showControls();
      }
    }, {
      key: "onMutePress",
      value: function onMutePress() {
        var isMuted = !this.state.isMuted;

        if (this.props.onMutePress) {
          this.props.onMutePress(isMuted);
        }

        this.setState({
          isMuted: isMuted
        });
        this.showControls();
      }
    }, {
      key: "onToggleFullScreen",
      value: function onToggleFullScreen() {
        this.player.presentFullscreenPlayer();
      }
    }, {
      key: "onSeekBarLayout",
      value: function onSeekBarLayout(_ref) {
        var nativeEvent = _ref.nativeEvent;
        var customStyle = this.props.customStyles.seekBar;
        var padding = 0;

        if (customStyle && customStyle.paddingHorizontal) {
          padding = customStyle.paddingHorizontal * 2;
        } else if (customStyle) {
          padding = customStyle.paddingLeft || 0;
          padding += customStyle.paddingRight ? customStyle.paddingRight : 0;
        } else {
          padding = 20;
        }

        this.seekBarWidth = nativeEvent.layout.width - padding;
      }
    }, {
      key: "onSeekStartResponder",
      value: function onSeekStartResponder() {
        return true;
      }
    }, {
      key: "onSeekMoveResponder",
      value: function onSeekMoveResponder() {
        return true;
      }
    }, {
      key: "onSeekGrant",
      value: function onSeekGrant(e) {
        this.seekTouchStart = e.nativeEvent.pageX;
        this.seekProgressStart = this.state.progress;
        this.wasPlayingBeforeSeek = this.state.isPlaying;
        this.setState({
          isSeeking: true,
          isPlaying: false
        });
      }
    }, {
      key: "onSeekRelease",
      value: function onSeekRelease() {
        this.setState({
          isSeeking: false,
          isPlaying: this.wasPlayingBeforeSeek
        });
        this.showControls();
      }
    }, {
      key: "onSeek",
      value: function onSeek(e) {
        var diff = e.nativeEvent.pageX - this.seekTouchStart;
        var ratio = 100 / this.seekBarWidth;
        var progress = this.seekProgressStart + ratio * diff / 100;
        this.setState({
          progress: progress
        });
        this.player.seek(progress * this.state.duration);
      }
    }, {
      key: "getSizeStyles",
      value: function getSizeStyles() {
        var _this$props = this.props,
            videoWidth = _this$props.videoWidth,
            videoHeight = _this$props.videoHeight;
        var width = this.state.width;
        var ratio = videoHeight / videoWidth;
        return {
          height: width * ratio,
          width: width
        };
      }
    }, {
      key: "hideControls",
      value: function hideControls() {
        var _this3 = this;

        if (this.props.onHideControls) {
          this.props.onHideControls();
        }

        if (this.props.disableControlsAutoHide) {
          return;
        }

        if (this.controlsTimeout) {
          clearTimeout(this.controlsTimeout);
          this.controlsTimeout = null;
        }

        this.controlsTimeout = setTimeout(function () {
          _this3.setState({
            isControlsVisible: false
          });
        }, this.props.controlsTimeout);
      }
    }, {
      key: "showControls",
      value: function showControls() {
        if (this.props.onShowControls) {
          this.props.onShowControls();
        }

        this.setState({
          isControlsVisible: true
        });
        this.hideControls();
      }
    }, {
      key: "seek",
      value: function seek(t) {
        this.player.seek(t);
      }
    }, {
      key: "stop",
      value: function stop() {
        this.setState({
          isPlaying: false,
          progress: 0
        });
        this.seek(0);
        this.showControls();
      }
    }, {
      key: "pause",
      value: function pause() {
        this.setState({
          isPlaying: false
        });
        this.showControls();
      }
    }, {
      key: "resume",
      value: function resume() {
        this.setState({
          isPlaying: true
        });
        this.showControls();
      }
    }, {
      key: "renderStartButton",
      value: function renderStartButton() {
        var customStyles = this.props.customStyles;
        return _react.default.createElement(_reactNative.TouchableOpacity, {
          style: [styles.playButton, customStyles.playButton],
          onPress: this.onStartPress
        }, _react.default.createElement(_MaterialIcons.default, {
          style: [styles.playArrow, customStyles.playArrow],
          name: "play-arrow",
          size: 42
        }));
      }
    }, {
      key: "renderThumbnail",
      value: function renderThumbnail(thumbnail) {
        var _this$props2 = this.props,
            style = _this$props2.style,
            customStyles = _this$props2.customStyles,
            props = (0, _objectWithoutProperties2.default)(_this$props2, ["style", "customStyles"]);
        return _react.default.createElement(BackgroundImage, (0, _extends2.default)({}, props, {
          style: [styles.thumbnail, this.getSizeStyles(), style, customStyles.thumbnail],
          source: thumbnail
        }), this.renderStartButton());
      }
    }, {
      key: "renderSeekBar",
      value: function renderSeekBar(fullWidth) {
        var _this$props3 = this.props,
            customStyles = _this$props3.customStyles,
            disableSeek = _this$props3.disableSeek;
        return _react.default.createElement(_reactNative.View, {
          style: [styles.seekBar, fullWidth ? styles.seekBarFullWidth : {}, customStyles.seekBar, fullWidth ? customStyles.seekBarFullWidth : {}],
          onLayout: this.onSeekBarLayout
        }, _react.default.createElement(_reactNative.View, {
          style: [{
            flexGrow: this.state.progress
          }, styles.seekBarProgress, customStyles.seekBarProgress]
        }), !fullWidth && !disableSeek ? _react.default.createElement(_reactNative.View, {
          style: [styles.seekBarKnob, customStyles.seekBarKnob, this.state.isSeeking ? {
            transform: [{
              scale: 1
            }]
          } : {}, this.state.isSeeking ? customStyles.seekBarKnobSeeking : {}],
          hitSlop: {
            top: 20,
            bottom: 20,
            left: 10,
            right: 20
          },
          onStartShouldSetResponder: this.onSeekStartResponder,
          onMoveShouldSetPanResponder: this.onSeekMoveResponder,
          onResponderGrant: this.onSeekGrant,
          onResponderMove: this.onSeek,
          onResponderRelease: this.onSeekRelease,
          onResponderTerminate: this.onSeekRelease
        }) : null, _react.default.createElement(_reactNative.View, {
          style: [styles.seekBarBackground, {
            flexGrow: 1 - this.state.progress
          }, customStyles.seekBarBackground]
        }));
      }
    }, {
      key: "renderControls",
      value: function renderControls() {
        var customStyles = this.props.customStyles;
        return _react.default.createElement(_reactNative.View, {
          style: [styles.controls, customStyles.controls]
        }, _react.default.createElement(_reactNative.TouchableOpacity, {
          onPress: this.onPlayPress,
          style: [customStyles.controlButton, customStyles.playControl]
        }, _react.default.createElement(_MaterialIcons.default, {
          style: [styles.playControl, customStyles.controlIcon, customStyles.playIcon],
          name: this.state.isPlaying ? 'pause' : 'play-arrow',
          size: 32
        })), this.renderSeekBar(), this.props.muted ? null : _react.default.createElement(_reactNative.TouchableOpacity, {
          onPress: this.onMutePress,
          style: customStyles.controlButton
        }, _react.default.createElement(_MaterialIcons.default, {
          style: [styles.extraControl, customStyles.controlIcon],
          name: this.state.isMuted ? 'volume-off' : 'volume-up',
          size: 24
        })), _reactNative.Platform.OS === 'android' || this.props.disableFullscreen ? null : _react.default.createElement(_reactNative.TouchableOpacity, {
          onPress: this.onToggleFullScreen,
          style: customStyles.controlButton
        }, _react.default.createElement(_MaterialIcons.default, {
          style: [styles.extraControl, customStyles.controlIcon],
          name: "fullscreen",
          size: 32
        })));
      }
    }, {
      key: "renderVideo",
      value: function renderVideo() {
        var _this4 = this;

        var _this$props4 = this.props,
            video = _this$props4.video,
            style = _this$props4.style,
            resizeMode = _this$props4.resizeMode,
            pauseOnPress = _this$props4.pauseOnPress,
            fullScreenOnLongPress = _this$props4.fullScreenOnLongPress,
            customStyles = _this$props4.customStyles,
            props = (0, _objectWithoutProperties2.default)(_this$props4, ["video", "style", "resizeMode", "pauseOnPress", "fullScreenOnLongPress", "customStyles"]);
        return _react.default.createElement(_reactNative.View, {
          style: customStyles.videoWrapper
        }, _react.default.createElement(_reactNativeVideo.default, (0, _extends2.default)({}, props, {
          style: [styles.video, this.getSizeStyles(), style, customStyles.video],
          ref: function ref(p) {
            _this4.player = p;
          },
          muted: this.props.muted || this.state.isMuted,
          paused: this.props.paused ? this.props.paused || !this.state.isPlaying : !this.state.isPlaying,
          onProgress: this.onProgress,
          onEnd: this.onEnd,
          onLoad: this.onLoad,
          source: video,
          resizeMode: resizeMode
        })), _react.default.createElement(_reactNative.View, {
          style: [this.getSizeStyles(), {
            marginTop: -this.getSizeStyles().height
          }]
        }, _react.default.createElement(_reactNative.TouchableOpacity, {
          style: styles.overlayButton,
          onPress: function onPress() {
            _this4.showControls();

            if (pauseOnPress) _this4.onPlayPress();
          },
          onLongPress: function onLongPress() {
            if (fullScreenOnLongPress && _reactNative.Platform.OS !== 'android') _this4.onToggleFullScreen();
          }
        })), !this.state.isPlaying || this.state.isControlsVisible ? this.renderControls() : this.renderSeekBar(true));
      }
    }, {
      key: "renderContent",
      value: function renderContent() {
        var _this$props5 = this.props,
            thumbnail = _this$props5.thumbnail,
            endThumbnail = _this$props5.endThumbnail,
            style = _this$props5.style;
        var _this$state = this.state,
            isStarted = _this$state.isStarted,
            hasEnded = _this$state.hasEnded;

        if (hasEnded && endThumbnail) {
          return this.renderThumbnail(endThumbnail);
        } else if (!isStarted && thumbnail) {
          return this.renderThumbnail(thumbnail);
        } else if (!isStarted) {
          return _react.default.createElement(_reactNative.View, {
            style: [styles.preloadingPlaceholder, this.getSizeStyles(), style]
          }, this.renderStartButton());
        }

        return this.renderVideo();
      }
    }, {
      key: "render",
      value: function render() {
        return _react.default.createElement(_reactNative.View, {
          onLayout: this.onLayout,
          style: this.props.customStyles.wrapper
        }, this.renderContent());
      }
    }]);
    return VideoPlayer;
  }(_react.Component);

  exports.default = VideoPlayer;
  VideoPlayer.propTypes = {
    video: _reactNativeVideo.default.propTypes.source,
    thumbnail: _reactNative.Image.propTypes.source,
    endThumbnail: _reactNative.Image.propTypes.source,
    videoWidth: _propTypes.default.number,
    videoHeight: _propTypes.default.number,
    duration: _propTypes.default.number,
    autoplay: _propTypes.default.bool,
    paused: _propTypes.default.bool,
    defaultMuted: _propTypes.default.bool,
    muted: _propTypes.default.bool,
    style: ViewPropTypesVar.style,
    controlsTimeout: _propTypes.default.number,
    disableControlsAutoHide: _propTypes.default.bool,
    disableFullscreen: _propTypes.default.bool,
    loop: _propTypes.default.bool,
    resizeMode: _reactNativeVideo.default.propTypes.resizeMode,
    hideControlsOnStart: _propTypes.default.bool,
    endWithThumbnail: _propTypes.default.bool,
    disableSeek: _propTypes.default.bool,
    pauseOnPress: _propTypes.default.bool,
    fullScreenOnLongPress: _propTypes.default.bool,
    customStyles: _propTypes.default.shape({
      wrapper: ViewPropTypesVar.style,
      video: _reactNativeVideo.default.propTypes.style,
      videoWrapper: ViewPropTypesVar.style,
      controls: ViewPropTypesVar.style,
      playControl: ViewPropTypesVar.style,
      controlButton: ViewPropTypesVar.style,
      controlIcon: _MaterialIcons.default.propTypes.style,
      playIcon: _MaterialIcons.default.propTypes.style,
      seekBar: ViewPropTypesVar.style,
      seekBarFullWidth: ViewPropTypesVar.style,
      seekBarProgress: ViewPropTypesVar.style,
      seekBarKnob: ViewPropTypesVar.style,
      seekBarKnobSeeking: ViewPropTypesVar.style,
      seekBarBackground: ViewPropTypesVar.style,
      thumbnail: _reactNative.Image.propTypes.style,
      playButton: ViewPropTypesVar.style,
      playArrow: _MaterialIcons.default.propTypes.style
    }),
    onEnd: _propTypes.default.func,
    onProgress: _propTypes.default.func,
    onLoad: _propTypes.default.func,
    onStart: _propTypes.default.func,
    onPlayPress: _propTypes.default.func,
    onHideControls: _propTypes.default.func,
    onShowControls: _propTypes.default.func,
    onMutePress: _propTypes.default.func
  };
  VideoPlayer.defaultProps = {
    videoWidth: 1280,
    videoHeight: 720,
    autoplay: false,
    controlsTimeout: 2000,
    loop: false,
    resizeMode: 'contain',
    disableSeek: false,
    pauseOnPress: false,
    fullScreenOnLongPress: false,
    customStyles: {}
  };
},2447,[5,6,108,7,8,15,12,14,16,17,201,28,1836,2448]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.defineProperty(exports, "TextTrackType", {
    enumerable: true,
    get: function get() {
      return _TextTrackType.default;
    }
  });
  Object.defineProperty(exports, "FilterType", {
    enumerable: true,
    get: function get() {
      return _FilterType.default;
    }
  });
  Object.defineProperty(exports, "DRMType", {
    enumerable: true,
    get: function get() {
      return _DRMType.default;
    }
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _resolveAssetSource = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _TextTrackType = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _FilterType = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _DRMType = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _VideoResizeMode = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var styles = _reactNative.StyleSheet.create({
    base: {
      overflow: 'hidden'
    }
  });

  var Video = function (_Component) {
    (0, _inherits2.default)(Video, _Component);

    var _super = _createSuper(Video);

    function Video(props) {
      var _this;

      (0, _classCallCheck2.default)(this, Video);
      _this = _super.call(this, props);

      _this.seek = function (time) {
        var tolerance = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;

        if (isNaN(time)) {
          throw new Error('Specified time is not a number');
        }

        if (_reactNative.Platform.OS === 'ios') {
          _this.setNativeProps({
            seek: {
              time: time,
              tolerance: tolerance
            }
          });
        } else {
          _this.setNativeProps({
            seek: time
          });
        }
      };

      _this.presentFullscreenPlayer = function () {
        _this.setNativeProps({
          fullscreen: true
        });
      };

      _this.dismissFullscreenPlayer = function () {
        _this.setNativeProps({
          fullscreen: false
        });
      };

      _this.save = function _callee(options) {
        return _regenerator.default.async(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return _regenerator.default.awrap(_reactNative.NativeModules.VideoManager.save(options, (0, _reactNative.findNodeHandle)(_this._root)));

              case 2:
                return _context.abrupt("return", _context.sent);

              case 3:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, null, Promise);
      };

      _this.restoreUserInterfaceForPictureInPictureStopCompleted = function (restored) {
        _this.setNativeProps({
          restoreUserInterfaceForPIPStopCompletionHandler: restored
        });
      };

      _this._assignRoot = function (component) {
        _this._root = component;
      };

      _this._hidePoster = function () {
        if (_this.state.showPoster) {
          _this.setState({
            showPoster: false
          });
        }
      };

      _this._onLoadStart = function (event) {
        if (_this.props.onLoadStart) {
          _this.props.onLoadStart(event.nativeEvent);
        }
      };

      _this._onLoad = function (event) {
        if (_reactNative.Platform.OS === 'windows') {
          _this._hidePoster();
        }

        if (_this.props.onLoad) {
          _this.props.onLoad(event.nativeEvent);
        }
      };

      _this._onError = function (event) {
        if (_this.props.onError) {
          _this.props.onError(event.nativeEvent);
        }
      };

      _this._onProgress = function (event) {
        if (_this.props.onProgress) {
          _this.props.onProgress(event.nativeEvent);
        }
      };

      _this._onBandwidthUpdate = function (event) {
        if (_this.props.onBandwidthUpdate) {
          _this.props.onBandwidthUpdate(event.nativeEvent);
        }
      };

      _this._onSeek = function (event) {
        if (_this.props.onSeek) {
          _this.props.onSeek(event.nativeEvent);
        }
      };

      _this._onEnd = function (event) {
        if (_this.props.onEnd) {
          _this.props.onEnd(event.nativeEvent);
        }
      };

      _this._onTimedMetadata = function (event) {
        if (_this.props.onTimedMetadata) {
          _this.props.onTimedMetadata(event.nativeEvent);
        }
      };

      _this._onFullscreenPlayerWillPresent = function (event) {
        if (_this.props.onFullscreenPlayerWillPresent) {
          _this.props.onFullscreenPlayerWillPresent(event.nativeEvent);
        }
      };

      _this._onFullscreenPlayerDidPresent = function (event) {
        if (_this.props.onFullscreenPlayerDidPresent) {
          _this.props.onFullscreenPlayerDidPresent(event.nativeEvent);
        }
      };

      _this._onFullscreenPlayerWillDismiss = function (event) {
        if (_this.props.onFullscreenPlayerWillDismiss) {
          _this.props.onFullscreenPlayerWillDismiss(event.nativeEvent);
        }
      };

      _this._onFullscreenPlayerDidDismiss = function (event) {
        if (_this.props.onFullscreenPlayerDidDismiss) {
          _this.props.onFullscreenPlayerDidDismiss(event.nativeEvent);
        }
      };

      _this._onReadyForDisplay = function (event) {
        if (!_this.props.audioOnly) {
          _this._hidePoster();
        }

        if (_this.props.onReadyForDisplay) {
          _this.props.onReadyForDisplay(event.nativeEvent);
        }
      };

      _this._onPlaybackStalled = function (event) {
        if (_this.props.onPlaybackStalled) {
          _this.props.onPlaybackStalled(event.nativeEvent);
        }
      };

      _this._onPlaybackResume = function (event) {
        if (_this.props.onPlaybackResume) {
          _this.props.onPlaybackResume(event.nativeEvent);
        }
      };

      _this._onPlaybackRateChange = function (event) {
        if (_this.props.onPlaybackRateChange) {
          _this.props.onPlaybackRateChange(event.nativeEvent);
        }
      };

      _this._onExternalPlaybackChange = function (event) {
        if (_this.props.onExternalPlaybackChange) {
          _this.props.onExternalPlaybackChange(event.nativeEvent);
        }
      };

      _this._onAudioBecomingNoisy = function () {
        if (_this.props.onAudioBecomingNoisy) {
          _this.props.onAudioBecomingNoisy();
        }
      };

      _this._onPictureInPictureStatusChanged = function (event) {
        if (_this.props.onPictureInPictureStatusChanged) {
          _this.props.onPictureInPictureStatusChanged(event.nativeEvent);
        }
      };

      _this._onRestoreUserInterfaceForPictureInPictureStop = function (event) {
        if (_this.props.onRestoreUserInterfaceForPictureInPictureStop) {
          _this.props.onRestoreUserInterfaceForPictureInPictureStop();
        }
      };

      _this._onAudioFocusChanged = function (event) {
        if (_this.props.onAudioFocusChanged) {
          _this.props.onAudioFocusChanged(event.nativeEvent);
        }
      };

      _this._onBuffer = function (event) {
        if (_this.props.onBuffer) {
          _this.props.onBuffer(event.nativeEvent);
        }
      };

      _this._onGetLicense = function (event) {
        if (_this.props.drm && _this.props.drm.getLicense instanceof Function) {
          var data = event.nativeEvent;

          if (data && data.spcBase64) {
            var getLicenseOverride = _this.props.drm.getLicense(data.spcBase64, data.contentId, data.licenseUrl);

            var getLicensePromise = Promise.resolve(getLicenseOverride);
            getLicensePromise.then(function (result) {
              if (result !== undefined) {
                _reactNative.NativeModules.VideoManager.setLicenseResult(result, (0, _reactNative.findNodeHandle)(_this._root));
              } else {
                _reactNative.NativeModules.VideoManager.setLicenseError && _reactNative.NativeModules.VideoManager.setLicenseError('Empty license result', (0, _reactNative.findNodeHandle)(_this._root));
              }
            }).catch(function (error) {
              _reactNative.NativeModules.VideoManager.setLicenseError && _reactNative.NativeModules.VideoManager.setLicenseError(error, (0, _reactNative.findNodeHandle)(_this._root));
            });
          } else {
            _reactNative.NativeModules.VideoManager.setLicenseError && _reactNative.NativeModules.VideoManager.setLicenseError("No spc received", (0, _reactNative.findNodeHandle)(_this._root));
          }
        }
      };

      _this.getViewManagerConfig = function (viewManagerName) {
        if (!_reactNative.NativeModules.UIManager.getViewManagerConfig) {
          return _reactNative.NativeModules.UIManager[viewManagerName];
        }

        return _reactNative.NativeModules.UIManager.getViewManagerConfig(viewManagerName);
      };

      _this.state = {
        showPoster: !!props.poster
      };
      return _this;
    }

    (0, _createClass2.default)(Video, [{
      key: "setNativeProps",
      value: function setNativeProps(nativeProps) {
        this._root.setNativeProps(nativeProps);
      }
    }, {
      key: "toTypeString",
      value: function toTypeString(x) {
        switch (typeof x) {
          case 'object':
            return x instanceof Date ? x.toISOString() : JSON.stringify(x);

          case 'undefined':
            return '';

          default:
            return x.toString();
        }
      }
    }, {
      key: "stringsOnlyObject",
      value: function stringsOnlyObject(obj) {
        var _this2 = this;

        var strObj = {};
        Object.keys(obj).forEach(function (x) {
          strObj[x] = _this2.toTypeString(obj[x]);
        });
        return strObj;
      }
    }, {
      key: "render",
      value: function render() {
        var resizeMode = this.props.resizeMode;
        var source = (0, _resolveAssetSource.default)(this.props.source) || {};
        var shouldCache = !source.__packager_asset;
        var uri = source.uri || '';

        if (uri && uri.match(/^\//)) {
          uri = "file://" + uri;
        }

        if (!uri) {
          console.warn('Trying to load empty source.');
        }

        var isNetwork = !!(uri && uri.match(/^https?:/));
        var isAsset = !!(uri && uri.match(/^(assets-library|ipod-library|file|content|ms-appx|ms-appdata):/));
        var nativeResizeMode;
        var RCTVideoInstance = this.getViewManagerConfig('RCTVideo');

        if (resizeMode === _VideoResizeMode.default.stretch) {
          nativeResizeMode = RCTVideoInstance.Constants.ScaleToFill;
        } else if (resizeMode === _VideoResizeMode.default.contain) {
          nativeResizeMode = RCTVideoInstance.Constants.ScaleAspectFit;
        } else if (resizeMode === _VideoResizeMode.default.cover) {
          nativeResizeMode = RCTVideoInstance.Constants.ScaleAspectFill;
        } else {
          nativeResizeMode = RCTVideoInstance.Constants.ScaleNone;
        }

        var nativeProps = (0, _extends2.default)({}, this.props);
        (0, _extends2.default)(nativeProps, {
          style: [styles.base, nativeProps.style],
          resizeMode: nativeResizeMode,
          src: {
            uri: uri,
            isNetwork: isNetwork,
            isAsset: isAsset,
            shouldCache: shouldCache,
            type: source.type || '',
            mainVer: source.mainVer || 0,
            patchVer: source.patchVer || 0,
            requestHeaders: source.headers ? this.stringsOnlyObject(source.headers) : {}
          },
          onVideoLoadStart: this._onLoadStart,
          onVideoLoad: this._onLoad,
          onVideoError: this._onError,
          onVideoProgress: this._onProgress,
          onVideoSeek: this._onSeek,
          onVideoEnd: this._onEnd,
          onVideoBuffer: this._onBuffer,
          onVideoBandwidthUpdate: this._onBandwidthUpdate,
          onTimedMetadata: this._onTimedMetadata,
          onVideoAudioBecomingNoisy: this._onAudioBecomingNoisy,
          onVideoExternalPlaybackChange: this._onExternalPlaybackChange,
          onVideoFullscreenPlayerWillPresent: this._onFullscreenPlayerWillPresent,
          onVideoFullscreenPlayerDidPresent: this._onFullscreenPlayerDidPresent,
          onVideoFullscreenPlayerWillDismiss: this._onFullscreenPlayerWillDismiss,
          onVideoFullscreenPlayerDidDismiss: this._onFullscreenPlayerDidDismiss,
          onReadyForDisplay: this._onReadyForDisplay,
          onPlaybackStalled: this._onPlaybackStalled,
          onPlaybackResume: this._onPlaybackResume,
          onPlaybackRateChange: this._onPlaybackRateChange,
          onAudioFocusChanged: this._onAudioFocusChanged,
          onAudioBecomingNoisy: this._onAudioBecomingNoisy,
          onGetLicense: nativeProps.drm && nativeProps.drm.getLicense && this._onGetLicense,
          onPictureInPictureStatusChanged: this._onPictureInPictureStatusChanged,
          onRestoreUserInterfaceForPictureInPictureStop: this._onRestoreUserInterfaceForPictureInPictureStop
        });
        var posterStyle = (0, _extends2.default)({}, _reactNative.StyleSheet.absoluteFillObject, {
          resizeMode: this.props.posterResizeMode || 'contain'
        });
        return _react.default.createElement(_reactNative.View, {
          style: nativeProps.style
        }, _react.default.createElement(RCTVideo, (0, _extends2.default)({
          ref: this._assignRoot
        }, nativeProps, {
          style: _reactNative.StyleSheet.absoluteFill
        })), this.state.showPoster && _react.default.createElement(_reactNative.Image, {
          style: posterStyle,
          source: {
            uri: this.props.poster
          }
        }));
      }
    }]);
    return Video;
  }(_react.Component);

  exports.default = Video;
  Video.propTypes = (0, _extends2.default)({
    filter: _propTypes.default.oneOf([_FilterType.default.NONE, _FilterType.default.INVERT, _FilterType.default.MONOCHROME, _FilterType.default.POSTERIZE, _FilterType.default.FALSE, _FilterType.default.MAXIMUMCOMPONENT, _FilterType.default.MINIMUMCOMPONENT, _FilterType.default.CHROME, _FilterType.default.FADE, _FilterType.default.INSTANT, _FilterType.default.MONO, _FilterType.default.NOIR, _FilterType.default.PROCESS, _FilterType.default.TONAL, _FilterType.default.TRANSFER, _FilterType.default.SEPIA]),
    filterEnabled: _propTypes.default.bool,
    src: _propTypes.default.object,
    seek: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object]),
    fullscreen: _propTypes.default.bool,
    onVideoLoadStart: _propTypes.default.func,
    onVideoLoad: _propTypes.default.func,
    onVideoBuffer: _propTypes.default.func,
    onVideoError: _propTypes.default.func,
    onVideoProgress: _propTypes.default.func,
    onVideoBandwidthUpdate: _propTypes.default.func,
    onVideoSeek: _propTypes.default.func,
    onVideoEnd: _propTypes.default.func,
    onTimedMetadata: _propTypes.default.func,
    onVideoAudioBecomingNoisy: _propTypes.default.func,
    onVideoExternalPlaybackChange: _propTypes.default.func,
    onVideoFullscreenPlayerWillPresent: _propTypes.default.func,
    onVideoFullscreenPlayerDidPresent: _propTypes.default.func,
    onVideoFullscreenPlayerWillDismiss: _propTypes.default.func,
    onVideoFullscreenPlayerDidDismiss: _propTypes.default.func,
    source: _propTypes.default.oneOfType([_propTypes.default.shape({
      uri: _propTypes.default.string
    }), _propTypes.default.number]),
    drm: _propTypes.default.shape({
      type: _propTypes.default.oneOf([_DRMType.default.CLEARKEY, _DRMType.default.FAIRPLAY, _DRMType.default.WIDEVINE, _DRMType.default.PLAYREADY]),
      licenseServer: _propTypes.default.string,
      headers: _propTypes.default.shape({}),
      base64Certificate: _propTypes.default.bool,
      certificateUrl: _propTypes.default.string,
      getLicense: _propTypes.default.func
    }),
    minLoadRetryCount: _propTypes.default.number,
    maxBitRate: _propTypes.default.number,
    resizeMode: _propTypes.default.string,
    poster: _propTypes.default.string,
    posterResizeMode: _reactNative.Image.propTypes.resizeMode,
    repeat: _propTypes.default.bool,
    automaticallyWaitsToMinimizeStalling: _propTypes.default.bool,
    allowsExternalPlayback: _propTypes.default.bool,
    selectedAudioTrack: _propTypes.default.shape({
      type: _propTypes.default.string.isRequired,
      value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])
    }),
    selectedVideoTrack: _propTypes.default.shape({
      type: _propTypes.default.string.isRequired,
      value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])
    }),
    selectedTextTrack: _propTypes.default.shape({
      type: _propTypes.default.string.isRequired,
      value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])
    }),
    textTracks: _propTypes.default.arrayOf(_propTypes.default.shape({
      title: _propTypes.default.string,
      uri: _propTypes.default.string.isRequired,
      type: _propTypes.default.oneOf([_TextTrackType.default.SRT, _TextTrackType.default.TTML, _TextTrackType.default.VTT]),
      language: _propTypes.default.string.isRequired
    })),
    paused: _propTypes.default.bool,
    muted: _propTypes.default.bool,
    volume: _propTypes.default.number,
    bufferConfig: _propTypes.default.shape({
      minBufferMs: _propTypes.default.number,
      maxBufferMs: _propTypes.default.number,
      bufferForPlaybackMs: _propTypes.default.number,
      bufferForPlaybackAfterRebufferMs: _propTypes.default.number
    }),
    stereoPan: _propTypes.default.number,
    rate: _propTypes.default.number,
    pictureInPicture: _propTypes.default.bool,
    playInBackground: _propTypes.default.bool,
    preferredForwardBufferDuration: _propTypes.default.number,
    playWhenInactive: _propTypes.default.bool,
    ignoreSilentSwitch: _propTypes.default.oneOf(['ignore', 'obey']),
    reportBandwidth: _propTypes.default.bool,
    disableFocus: _propTypes.default.bool,
    controls: _propTypes.default.bool,
    audioOnly: _propTypes.default.bool,
    currentTime: _propTypes.default.number,
    fullscreenAutorotate: _propTypes.default.bool,
    fullscreenOrientation: _propTypes.default.oneOf(['all', 'landscape', 'portrait']),
    progressUpdateInterval: _propTypes.default.number,
    useTextureView: _propTypes.default.bool,
    hideShutterView: _propTypes.default.bool,
    onLoadStart: _propTypes.default.func,
    onLoad: _propTypes.default.func,
    onBuffer: _propTypes.default.func,
    onError: _propTypes.default.func,
    onProgress: _propTypes.default.func,
    onBandwidthUpdate: _propTypes.default.func,
    onSeek: _propTypes.default.func,
    onEnd: _propTypes.default.func,
    onFullscreenPlayerWillPresent: _propTypes.default.func,
    onFullscreenPlayerDidPresent: _propTypes.default.func,
    onFullscreenPlayerWillDismiss: _propTypes.default.func,
    onFullscreenPlayerDidDismiss: _propTypes.default.func,
    onReadyForDisplay: _propTypes.default.func,
    onPlaybackStalled: _propTypes.default.func,
    onPlaybackResume: _propTypes.default.func,
    onPlaybackRateChange: _propTypes.default.func,
    onAudioFocusChanged: _propTypes.default.func,
    onAudioBecomingNoisy: _propTypes.default.func,
    onPictureInPictureStatusChanged: _propTypes.default.func,
    needsToRestoreUserInterfaceForPictureInPictureStop: _propTypes.default.func,
    onExternalPlaybackChange: _propTypes.default.func,
    scaleX: _propTypes.default.number,
    scaleY: _propTypes.default.number,
    translateX: _propTypes.default.number,
    translateY: _propTypes.default.number,
    rotation: _propTypes.default.number
  }, _reactNative.ViewPropTypes);
  var RCTVideo = (0, _reactNative.requireNativeComponent)('RCTVideo', Video, {
    nativeOnly: {
      src: true,
      seek: true,
      fullscreen: true
    }
  });
},2448,[5,80,6,7,8,12,14,16,17,201,28,165,2449,2450,2451,2452]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;
  var _default = {
    SRT: 'application/x-subrip',
    TTML: 'application/ttml+xml',
    VTT: 'text/vtt'
  };
  exports.default = _default;
},2449,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;
  var _default = {
    NONE: '',
    INVERT: 'CIColorInvert',
    MONOCHROME: 'CIColorMonochrome',
    POSTERIZE: 'CIColorPosterize',
    FALSE: 'CIFalseColor',
    MAXIMUMCOMPONENT: 'CIMaximumComponent',
    MINIMUMCOMPONENT: 'CIMinimumComponent',
    CHROME: 'CIPhotoEffectChrome',
    FADE: 'CIPhotoEffectFade',
    INSTANT: 'CIPhotoEffectInstant',
    MONO: 'CIPhotoEffectMono',
    NOIR: 'CIPhotoEffectNoir',
    PROCESS: 'CIPhotoEffectProcess',
    TONAL: 'CIPhotoEffectTonal',
    TRANSFER: 'CIPhotoEffectTransfer',
    SEPIA: 'CISepiaTone'
  };
  exports.default = _default;
},2450,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;
  var _default = {
    WIDEVINE: 'widevine',
    PLAYREADY: 'playready',
    CLEARKEY: 'clearkey',
    FAIRPLAY: 'fairplay'
  };
  exports.default = _default;
},2451,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _keymirror = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _default = (0, _keymirror.default)({
    contain: null,
    cover: null,
    stretch: null
  });

  exports.default = _default;
},2452,[5,2453]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  "use strict";

  var keyMirror = function keyMirror(obj) {
    var ret = {};
    var key;

    if (!(obj instanceof Object && !Array.isArray(obj))) {
      throw new Error('keyMirror(...): Argument must be an object.');
    }

    for (key in obj) {
      if (!obj.hasOwnProperty(key)) {
        continue;
      }

      ret[key] = key;
    }

    return ret;
  };

  module.exports = keyMirror;
},2453,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    videoParent: {
      flex: 1,
      flexDirection: "column",
      justifyContent: "center"
    }
  });

  exports.styles = styles;
},2454,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2455,[2456]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.GalleryVideoLink = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _tecnaviaPlatformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var GalleryVideoLink = function (_React$Component) {
    (0, _inherits2.default)(GalleryVideoLink, _React$Component);

    var _super = _createSuper(GalleryVideoLink);

    function GalleryVideoLink(props) {
      var _this;

      (0, _classCallCheck2.default)(this, GalleryVideoLink);
      _this = _super.call(this, props);
      _this.openNativeApp = _this._openNativeApp.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(GalleryVideoLink, [{
      key: "_openNativeApp",
      value: function _openNativeApp() {
        var item = this.props.item;
        var url = item.url;

        _tecnaviaPlatformUtils.default.openURL(url);
      }
    }, {
      key: "render",
      value: function render() {
        var item = this.props.item;
        var thumbnail = item.thumbnail;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["gallery-video-link-parent"]
        }, _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[14]).styles.parent
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["gallery-video-link-image"]
        }, _react.default.createElement(_imageComponent.default, {
          style: _$$_REQUIRE(_dependencyMap[14]).styles.video,
          source: {
            uri: thumbnail
          },
          resizeMode: "contain"
        })), _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["gallery-video-link-play-icon"]
        }, _react.default.createElement(_imageIconChooserComponent.default, {
          onPress: this.openNativeApp,
          name: "play-circle",
          style: _$$_REQUIRE(_dependencyMap[14]).styles.playButton,
          type: _$$_REQUIRE(_dependencyMap[15]).TecnaviaIconType.FONT_AWESOME
        }))));
      }
    }]);
    return GalleryVideoLink;
  }(_react.default.Component);

  exports.GalleryVideoLink = GalleryVideoLink;
  GalleryVideoLink.propTypes = {
    item: _propTypes.default.shape({
      url: _propTypes.default.string.isRequired,
      thumbnail: _propTypes.default.string
    })
  };
},2456,[5,7,8,15,12,14,16,17,28,201,588,1876,1970,699,2457,1806]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    parent: {
      flex: 1,
      justifyContent: "center",
      alignItems: "center",
      flexDirection: "column"
    },
    video: {
      position: "absolute",
      top: 0,
      bottom: 0,
      end: 0,
      start: 0
    },
    playButton: {
      color: _$$_REQUIRE(_dependencyMap[1]).colors.white,
      fontSize: 80
    }
  });

  exports.styles = styles;
},2457,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2458,[2459]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.GalleryVideoEmbed = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var GalleryVideoEmbed = function (_React$Component) {
    (0, _inherits2.default)(GalleryVideoEmbed, _React$Component);

    var _super = _createSuper(GalleryVideoEmbed);

    function GalleryVideoEmbed(props) {
      var _this;

      (0, _classCallCheck2.default)(this, GalleryVideoEmbed);
      _this = _super.call(this, props);
      _this.onVideoEmbedLoaded = _this._onVideoEmbedLoaded.bind((0, _assertThisInitialized2.default)(_this));
      _this.onInnerRef = _this._onInnerRef.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(GalleryVideoEmbed, [{
      key: "_onVideoEmbedLoaded",
      value: function _onVideoEmbedLoaded() {
        if (this.webview) {
          var jsStyle = "try{ document.documentElement.style.height = '100%'; document.body.style.height = '100%'; document.body.style.display = 'flex'; document.body.style.flexDirection = 'column'; document.body.style.justifyContent = 'center'; document.body.style.alignItems = 'center'; document.body.style.backgroundColor = 'black'; }catch(e){console.log(e);}";
          this.webview.injectJavaScript(jsStyle);
        }
      }
    }, {
      key: "_onInnerRef",
      value: function _onInnerRef(webview) {
        this.webview = webview;
      }
    }, {
      key: "render",
      value: function render() {
        var item = this.props.item;
        var url = item.url;
        return _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[10]).styles.videoParent
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).BaseWebView, {
          innerRef: this.onInnerRef,
          automaticallyAdjustContentInsets: true,
          scrollEnabled: false,
          onLoadEnd: this.onVideoEmbedLoaded,
          source: {
            html: url,
            baseUrl: _$$_REQUIRE(_dependencyMap[12]).WEBVIEW_BASE_URL
          }
        }));
      }
    }]);
    return GalleryVideoEmbed;
  }(_react.default.Component);

  exports.GalleryVideoEmbed = GalleryVideoEmbed;
  GalleryVideoEmbed.propTypes = {
    item: _propTypes.default.shape({
      url: _propTypes.default.string.isRequired
    })
  };
},2459,[5,7,8,15,12,14,16,17,201,28,2460,1894,719]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    videoParent: {
      paddingTop: 40,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.transparent200,
      justifyContent: "center",
      flex: 1
    }
  });

  exports.styles = styles;
},2460,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2461,[2462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.GalleryImage = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var styles = _reactNative.StyleSheet.create({
    galleryImageParent: {
      flex: 1,
      justifyContent: "center",
      alignItems: "center"
    },
    galleryImage: {
      flex: 1,
      width: "100%"
    }
  });

  var GalleryImage = function (_React$PureComponent) {
    (0, _inherits2.default)(GalleryImage, _React$PureComponent);

    var _super = _createSuper(GalleryImage);

    function GalleryImage(props) {
      var _this;

      (0, _classCallCheck2.default)(this, GalleryImage);
      _this = _super.call(this, props);
      _this.state = {
        url: props.item.url,
        fallbackMethodUsed: false
      };
      _this.onError = _this._onError.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLoad = _this._onLoad.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(GalleryImage, [{
      key: "_onError",
      value: function _onError() {
        var fallbackMethodUsed, item, url, path, response;
        return _regenerator.default.async(function _onError$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                fallbackMethodUsed = this.state.fallbackMethodUsed;

                if (fallbackMethodUsed) {
                  _context.next = 19;
                  break;
                }

                _context.prev = 2;
                item = this.props.item;
                url = item.url;

                if (!_$$_REQUIRE(_dependencyMap[14]).StringUtils.isImageBase64(url)) {
                  _context.next = 9;
                  break;
                }

                path = url;
                _context.next = 13;
                break;

              case 9:
                _context.next = 11;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.fetch(url, {
                  cacheEnabled: true
                }));

              case 11:
                response = _context.sent;
                path = "file://" + response.path();

              case 13:
                this.setState({
                  url: path,
                  fallbackMethodUsed: true
                });
                _context.next = 19;
                break;

              case 16:
                _context.prev = 16;
                _context.t0 = _context["catch"](2);
                this.setState({
                  url: "",
                  fallbackMethodUsed: true
                });

              case 19:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[2, 16]], Promise);
      }
    }, {
      key: "_onLoad",
      value: function _onLoad() {
        var item = this.props.item;
      }
    }, {
      key: "render",
      value: function render() {
        var url = this.state.url;

        if (url) {
          var item = this.props.item;
          var width = item.width,
              height = item.height;
          var screenSize = _deviceUtils.default.safeArea;
          var minimumZoomScale = width && height ? Math.min(Math.max(width / screenSize.width, height / screenSize.height, 0.25), 1.0) : 1.0;
          var maximumZoomScale = 3 * minimumZoomScale;

          if (_$$_REQUIRE(_dependencyMap[14]).PlatformUtils.isAndroid()) {
            maximumZoomScale = Math.max(maximumZoomScale, 1.8);
            minimumZoomScale = Math.min(minimumZoomScale, 1.7);
          }

          return _react.default.createElement(_reactNative.View, {
            style: styles.galleryImageParent
          }, _react.default.createElement(_imageComponent.default, {
            forceZoomComponent: true,
            source: {
              uri: url
            },
            resizeMode: "contain",
            onLoad: this.onLoad,
            onError: this.onError,
            minimumZoomScale: minimumZoomScale,
            maximumZoomScale: maximumZoomScale,
            style: styles.galleryImage
          }));
        }

        return null;
      }
    }]);
    return GalleryImage;
  }(_react.default.PureComponent);

  exports.GalleryImage = GalleryImage;
  GalleryImage.propTypes = {
    item: _propTypes.default.shape({
      url: _propTypes.default.string.isRequired,
      width: _propTypes.default.number,
      height: _propTypes.default.number
    })
  };
},2462,[5,80,7,8,15,12,14,16,17,28,201,574,458,588,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var isTablet = _$$_REQUIRE(_dependencyMap[1]).PlatformUtils.isTablet();

  var styles = _reactNative.StyleSheet.create({
    thumbnail: {
      height: isTablet ? 200 : 150,
      width: isTablet ? 150 : 100,
      padding: 3,
      margin: 3
    },
    selected: {
      borderRadius: 5,
      borderWidth: 2,
      borderColor: "white"
    }
  });

  exports.styles = styles;
},2463,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _galleryCounter = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var GalleryCounter = function (_React$Component) {
    (0, _inherits2.default)(GalleryCounter, _React$Component);

    var _super = _createSuper(GalleryCounter);

    function GalleryCounter(props) {
      var _this;

      (0, _classCallCheck2.default)(this, GalleryCounter);
      _this = _super.call(this, props);
      _this.state = {
        index: props.startIndex
      };
      return _this;
    }

    (0, _createClass2.default)(GalleryCounter, [{
      key: "setIndex",
      value: function setIndex(index) {
        this.setState({
          index: index
        });
      }
    }, {
      key: "render",
      value: function render() {
        var index = this.state.index;
        var total = this.props.total;
        return _react.default.createElement(_fontText.default, {
          style: _galleryCounter.default.counter
        }, global.strings("counter", {
          total: total,
          current: index + 1
        }));
      }
    }]);
    return GalleryCounter;
  }(_react.default.Component);

  exports.default = GalleryCounter;
  GalleryCounter.propTypes = {
    startIndex: _propTypes.default.number.isRequired,
    total: _propTypes.default.number.isRequired
  };
},2464,[5,7,8,12,14,16,17,201,1879,2465]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    counter: {
      color: "white",
      height: _$$_REQUIRE(_dependencyMap[1]).GALLERY_ITEM_HEIGHT,
      fontSize: 20,
      padding: 10,
      textAlign: "center",
      textAlignVertical: "center"
    }
  });

  exports.default = _default;
},2465,[28,2444]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2466,[2467]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.GalleryText = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var GalleryText = function (_Component) {
    (0, _inherits2.default)(GalleryText, _Component);

    var _super = _createSuper(GalleryText);

    function GalleryText(props) {
      var _this;

      (0, _classCallCheck2.default)(this, GalleryText);
      _this = _super.call(this, props);
      _this.state = {
        collapse: true,
        text: props.text
      };
      return _this;
    }

    (0, _createClass2.default)(GalleryText, [{
      key: "setText",
      value: function setText(text) {
        this.setState({
          collapse: true,
          text: text
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props = this.props,
            color = _this$props.color,
            styles = _this$props.styles,
            maxLines = _this$props.maxLines;
        var _this$state = this.state,
            collapse = _this$state.collapse,
            text = _this$state.text;
        var optionalProps = {};

        if (collapse) {
          optionalProps.numberOfLines = maxLines;
        }

        if (text) {
          return _react.default.createElement(_fontText.default, (0, _extends2.default)({}, optionalProps, {
            onPress: function onPress() {
              _this2.setState(function (prevState) {
                return {
                  collapse: !prevState.collapse
                };
              });
            },
            style: [styles, {
              width: "100%",
              color: color
            }]
          }), text);
        }

        return null;
      }
    }]);
    return GalleryText;
  }(_react.Component);

  exports.GalleryText = GalleryText;
  GalleryText.propTypes = {
    color: _propTypes.default.string,
    text: _propTypes.default.string,
    maxLines: _propTypes.default.number,
    styles: _propTypes.default.array
  };
  GalleryText.defaultProps = {
    maxLines: 1,
    color: _$$_REQUIRE(_dependencyMap[10]).colors.white
  };
},2467,[5,6,7,8,12,14,16,17,201,1879,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.NavigatorBaseScreen = exports.ScreenState = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ScreenState = {
    FOCUSED: "focused",
    UNFOCUSED: "unfocused",
    MOUNTED: "mounted",
    UNMOUNTED: "unmounted"
  };
  exports.ScreenState = ScreenState;

  var NavigatorBaseScreen = function (_React$Component) {
    (0, _inherits2.default)(NavigatorBaseScreen, _React$Component);

    var _super = _createSuper(NavigatorBaseScreen);

    function NavigatorBaseScreen() {
      (0, _classCallCheck2.default)(this, NavigatorBaseScreen);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(NavigatorBaseScreen, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this = this;

        this.log("navigator mounted");
        var navigation = this.props.navigation;

        if (navigation) {
          this._onFocusListener = navigation.addListener("focus", function () {
            _this.didFocus();
          });
          this._onWillBlur = navigation.addListener("blur", function () {
            _this.willBlur();
          });
        }

        this.currentScreenState = ScreenState.MOUNTED;
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        if (this.hasScreenFocus()) {
          this.willBlur();
        }

        this.log("navigator unmount");

        if (this._onFocusListener) {
          this._onFocusListener();
        }

        if (this._onWillBlur) {
          this._onWillBlur();
        }

        this.currentScreenState = ScreenState.UNMOUNTED;
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "NavigatorBaseScreen";
      }
    }, {
      key: "log",
      value: function log(msg) {
        if (msg) {}
      }
    }, {
      key: "didFocus",
      value: function didFocus() {
        this.log("navigator focus");
        this.currentScreenState = ScreenState.FOCUSED;
      }
    }, {
      key: "willBlur",
      value: function willBlur() {
        this.log("navigator blur");
        this.currentScreenState = ScreenState.UNFOCUSED;
      }
    }, {
      key: "hasScreenFocus",
      value: function hasScreenFocus() {
        return this.currentScreenState === ScreenState.FOCUSED;
      }
    }, {
      key: "isScreenMounted",
      value: function isScreenMounted() {
        return this.currentScreenState !== ScreenState.UNMOUNTED;
      }
    }, {
      key: "showHint",
      value: function showHint(hint, onHide) {
        _$$_REQUIRE(_dependencyMap[8]).HintOverlay.show({
          config: {
            hint: hint,
            key: "hint_" + this.constructor.name,
            autoHideTime: 3000,
            showAlways: true
          },
          onHide: onHide
        });
      }
    }]);
    return NavigatorBaseScreen;
  }(_react.default.Component);

  exports.NavigatorBaseScreen = NavigatorBaseScreen;
  NavigatorBaseScreen.propTypes = {
    navigation: _propTypes.default.object
  };
},2468,[5,7,8,12,14,16,17,201,2003]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _mainNavigator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _InterstitialsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _RssContentHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _PushHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _rssOptionspageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _barsComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _styleUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _LiveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _LoginManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var Analytics = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[21]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var RssComponent = function (_NavigatorBaseScreen) {
    (0, _inherits2.default)(RssComponent, _NavigatorBaseScreen);

    var _super = _createSuper(RssComponent);

    function RssComponent(props) {
      var _this;

      (0, _classCallCheck2.default)(this, RssComponent);
      _this = _super.call(this, props);
      _this.state = {
        mounted: false,
        focused: false
      };
      _this.onGoingForeground = _this._onGoingForeground.bind((0, _assertThisInitialized2.default)(_this));
      _this.clearRssDbAutoUpdate = _this._clearRssDbAutoUpdate.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(RssComponent, [{
      key: "UNSAFE_componentWillMount",
      value: function UNSAFE_componentWillMount() {
        var _this2 = this;

        _LiveConfig.default.setRssSide();

        Analytics.initMatomo();
        Analytics.initMatomoTracker();
        this.onConfigForceUpdate = _$$_REQUIRE(_dependencyMap[22]).EventRegister.on(_events.default.CONFIG_FORCE_UPDATE, function (_ref) {
          var message = _ref.message;

          _this2.showHint(message, function () {
            _this2.forceUpdate();
          });
        });
      }
    }, {
      key: "componentDidMount",
      value: function componentDidMount() {
        var config;
        return _regenerator.default.async(function componentDidMount$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                (0, _get2.default)((0, _getPrototypeOf2.default)(RssComponent.prototype), "componentDidMount", this).call(this);

                this._scheduleRssDbAutoUpdate();

                this.onStateChangeForeground = _$$_REQUIRE(_dependencyMap[22]).EventRegister.on(_events.default.ON_STATE_CHANGE_GOING_FOREGROUND, this.onGoingForeground);
                this.onStateChangeBackground = _$$_REQUIRE(_dependencyMap[22]).EventRegister.on(_events.default.ON_STATE_CHANGE_GOING_BACKGROUND, this.clearRssDbAutoUpdate);
                this.onPaywallLogout = _$$_REQUIRE(_dependencyMap[22]).EventRegister.on(_events.default.PAYWALL_LOGOUT, _LoginManager.default.ePaperLogout);
                _context.prev = 5;
                _context.next = 8;
                return _regenerator.default.awrap(_RssContentHelper.default.initDatabase());

              case 8:
                _context.next = 12;
                break;

              case 10:
                _context.prev = 10;
                _context.t0 = _context["catch"](5);

              case 12:
                config = global.getRSSActivePSetup();
                _context.next = 15;
                return _regenerator.default.awrap(_LoginManager.default.checkAllowedIP(config));

              case 15:
                this.setState({
                  mounted: true
                });

              case 16:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[5, 10]], Promise);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(RssComponent.prototype), "componentWillUnmount", this).call(this);

        if (RssComponent.INTERSTITIAL_TIMER) {
          _InterstitialsHelper.default.resetTimer(RssComponent.INTERSTITIAL_TIMER);
        }

        this.clearRssDbAutoUpdate();

        _$$_REQUIRE(_dependencyMap[22]).EventRegister.rm(this.onStateChangeForeground);

        _$$_REQUIRE(_dependencyMap[22]).EventRegister.rm(this.onStateChangeBackground);

        _$$_REQUIRE(_dependencyMap[22]).EventRegister.rm(this.onConfigForceUpdate);

        _$$_REQUIRE(_dependencyMap[22]).EventRegister.rm(this.onPaywallLogout);
      }
    }, {
      key: "didFocus",
      value: function didFocus() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(RssComponent.prototype), "didFocus", this).call(this);

        _styleUtils.default.colorStatusBar();

        this.setState({
          focused: true
        });
      }
    }, {
      key: "_showPrestitial",
      value: function _showPrestitial() {
        if (RssComponent.INTERSTITIAL_TIMER) {
          _InterstitialsHelper.default.resetTimer(RssComponent.INTERSTITIAL_TIMER);
        }

        _InterstitialsHelper.default.getPrestitial(function (timer) {
          RssComponent.INTERSTITIAL_TIMER = timer;
        });
      }
    }, {
      key: "_clearRssDbAutoUpdate",
      value: function _clearRssDbAutoUpdate() {
        if (RssComponent.INTERVAL_ID > -1) {
          clearInterval(RssComponent.INTERVAL_ID);
        }

        RssComponent.INTERVAL_ID = -1;
      }
    }, {
      key: "_scheduleRssDbAutoUpdate",
      value: function _scheduleRssDbAutoUpdate() {
        var _global$getRssIndex = global.getRssIndex(),
            appAutoRefreshMinutes = _global$getRssIndex.appAutoRefreshMinutes;

        if (appAutoRefreshMinutes > 0 && RssComponent.INTERVAL_ID < 0) {
          RssComponent.INTERVAL_ID = setInterval(function () {
            _$$_REQUIRE(_dependencyMap[22]).EventRegister.emit(_events.default.TRIGGER_RSS_DB_UPDATE);
          }, appAutoRefreshMinutes * 60 * 1000);
        }
      }
    }, {
      key: "_onGoingForeground",
      value: function _onGoingForeground() {
        this._showPrestitial();

        var _global$getMainPSetup = global.getMainPSetup(),
            migrate = _global$getMainPSetup.migrate;

        var _global$getActivePSet = global.getActivePSetup(),
            migrateActive = _global$getActivePSet.migrate;

        var isOnline = _$$_REQUIRE(_dependencyMap[23]).NetworkUtils.isOnline();

        if (isOnline && (migrate || migrateActive)) {
          _NavigationService.default.restart();
        } else {
          if (isOnline) {
            var feedback = new (_$$_REQUIRE(_dependencyMap[24]).Feedback)();
            feedback.check();
          }

          this._scheduleRssDbAutoUpdate();

          if (_PushHelper.default.isTherePush()) {} else {
            _$$_REQUIRE(_dependencyMap[22]).EventRegister.emit(_events.default.TRIGGER_RSS_DB_UPDATE);
          }
        }
      }
    }, {
      key: "restartRssNavigator",
      value: function restartRssNavigator() {
        _NavigationService.default.main.reset("RssNavigator");
      }
    }, {
      key: "render",
      value: function render() {
        _styleUtils.default.colorStatusBar();

        var _this$state = this.state,
            mounted = _this$state.mounted,
            focused = _this$state.focused;

        if (!mounted || !focused) {
          return null;
        }

        this._showPrestitial();

        var _global$getRssIndex2 = global.getRssIndex(),
            actionBarBackgroundColor = _global$getRssIndex2.actionBarBackgroundColor;

        var backgroundColor = _styleUtils.default.fixColorForDarkTheme(actionBarBackgroundColor);

        var statusBarColor = _styleUtils.default.getRssStatusBarColor();

        var navigationBarColor = _styleUtils.default.getRssNavigationBarColor();

        var edges = ["left", "right", "bottom"];
        return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[25]).TecnaviaSafeAreaView, {
          edges: edges,
          backgroundColor: backgroundColor
        }, _react.default.createElement(_mainNavigator.default, null), _react.default.createElement(_rssOptionspageComponent.default, {
          handleBackButton: this.onHandleBackButton,
          backgroundColor: backgroundColor,
          onUserClose: this.restartRssNavigator
        })), _react.default.createElement(_barsComponent.default, {
          statusBarColor: statusBarColor,
          navigationBarColor: navigationBarColor,
          edges: edges
        }));
      }
    }]);
    return RssComponent;
  }(_$$_REQUIRE(_dependencyMap[26]).NavigatorBaseScreen);

  exports.default = RssComponent;
  RssComponent.INTERVAL_ID = -1;
  RssComponent.INTERSTITIAL_TIMER = undefined;
},2469,[5,80,7,8,15,90,12,14,16,17,2470,2321,460,2207,2134,1861,2591,2145,2147,1872,2057,1871,572,462,2151,2146,2468]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = RssNavigator;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _webScreen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _drawerNavigator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var CommonHeader = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _verticalJobNavigator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _verticalEventNavigator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _navigationUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _styleUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Stack = _NavigationService.default.navigator.createStack();

  function _getInitialRouteName() {
    var screen = "DrawerNavigator";

    if (!global.getUserSettings().tutorialAlreadyShown) {
      screen = "TutorialScreen";
      global.getUserSettings().tutorialAlreadyShowTrue();
    }

    return screen;
  }

  var SHORTCUT_ENABLE_SCREENS = [];

  function RssNavigator(props) {
    var _global$getRssIndex = global.getRssIndex(),
        actionBarBackgroundColor = _global$getRssIndex.actionBarBackgroundColor;

    var backgroundColor = _styleUtils.default.fixColorForDarkTheme(actionBarBackgroundColor);

    var isPortrait = (0, _$$_REQUIRE(_dependencyMap[11]).useIsPortrait)();

    var isSidebar = !isPortrait && _$$_REQUIRE(_dependencyMap[12]).PlatformUtils.isTablet();

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).CustomNavigationContainer, {
      independent: true
    }, _react.default.createElement(Stack.Navigator, {
      screenOptions: (0, _extends2.default)({
        gestureEnabled: false
      }, _NavigationService.default.getStackScreenOptions()),
      initialRouteName: _getInitialRouteName(),
      screenListeners: {
        state: function state(_ref) {
          var data = _ref.data;

          var name = _navigationUtils.default.getActiveRouteFromState(data.state);

          if (name && !SHORTCUT_ENABLE_SCREENS.includes(name)) {
            _$$_REQUIRE(_dependencyMap[14]).ShortcutManager.disable();
          }
        }
      }
    }, _react.default.createElement(Stack.Screen, {
      name: "TutorialScreen",
      component: _$$_REQUIRE(_dependencyMap[15]).TutorialScreen,
      options: {
        headerShown: false,
        gesturesEnabled: false
      }
    }), _react.default.createElement(Stack.Screen, {
      name: "DrawerNavigator",
      options: function options(navProps) {
        return {
          headerShown: !isSidebar || !global.getRssIndex().is3_0(),
          header: function header() {
            return _react.default.createElement(CommonHeader.ActionBar, {
              considerSafeAreaTop: true,
              backgroundColor: backgroundColor,
              left: CommonHeader._getRssHeaderLeftButtons(navProps, isSidebar),
              center: CommonHeader._getLogo(),
              right: CommonHeader._getRssHeaderRightButtons(navProps),
              style: CommonHeader._getStyle(navProps)
            });
          },
          gesturesEnabled: false
        };
      }
    }, function (navProps) {
      return _react.default.createElement(_drawerNavigator.default, (0, _extends2.default)({}, navProps, {
        isSidebar: isSidebar
      }));
    }), _react.default.createElement(Stack.Screen, {
      name: "GalleryScreen",
      options: {
        headerShown: false,
        gesturesEnabled: false
      }
    }, function (navProps) {
      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).GalleryScreen, (0, _extends2.default)({}, navProps, {
        isSidebar: isSidebar,
        considerSafeAreaTop: true
      }));
    }), _react.default.createElement(Stack.Screen, {
      name: "WebScreen",
      options: function options(navProps) {
        return {
          header: function header() {
            return _react.default.createElement(CommonHeader.ActionBar, {
              considerSafeAreaTop: true,
              backgroundColor: backgroundColor,
              left: CommonHeader._getHeaderLeftButtonsBackButtonOnly(navProps),
              center: CommonHeader._getLogo(),
              right: CommonHeader._getSharedHeaderRightButton(navProps)
            });
          },
          gesturesEnabled: false
        };
      }
    }, function (navProps) {
      return _react.default.createElement(_webScreen.default, (0, _extends2.default)({}, navProps, {
        considerSafeArea: false,
        enablePostponeAction: true
      }));
    }), _react.default.createElement(Stack.Screen, {
      name: "SettingsScreen",
      component: _$$_REQUIRE(_dependencyMap[17]).SettingsScreen,
      options: function options(navProps) {
        return {
          header: function header() {
            return _react.default.createElement(CommonHeader.ActionBar, {
              considerSafeAreaTop: true,
              backgroundColor: backgroundColor,
              left: CommonHeader._getHeaderLeftButtonsBackButtonOnly(navProps),
              center: CommonHeader._getLogo(),
              right: CommonHeader._getEmptyPlaceHolders()
            });
          },
          gesturesEnabled: false
        };
      }
    }), _react.default.createElement(Stack.Screen, {
      name: "GeneralSettingsScreen",
      component: _$$_REQUIRE(_dependencyMap[18]).GeneralSettingsScreen,
      options: function options(navProps) {
        return {
          header: function header() {
            return _react.default.createElement(CommonHeader.ActionBar, {
              considerSafeAreaTop: true,
              backgroundColor: backgroundColor,
              left: CommonHeader._getHeaderLeftButtonsBackButtonOnly(navProps),
              center: CommonHeader._getLogo(),
              right: CommonHeader._getEmptyPlaceHolders()
            });
          },
          gesturesEnabled: false
        };
      }
    }), _react.default.createElement(Stack.Screen, {
      name: "ArticleScreen",
      options: function options(navProps) {
        return {
          headerShown: true,
          header: function header() {
            return _react.default.createElement(CommonHeader.ActionBar, {
              considerSafeAreaTop: true,
              backgroundColor: backgroundColor,
              left: CommonHeader._getHeaderLeftButtonsBackButtonOnly(navProps),
              center: CommonHeader._getLogo(),
              right: CommonHeader._getRssHeaderRightButtonsCustomOnly(navProps)
            });
          },
          gesturesEnabled: false
        };
      }
    }, function (navProps) {
      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).ArticleScreen, (0, _extends2.default)({}, navProps, {
        enablePostponeAction: true
      }));
    }), _react.default.createElement(Stack.Screen, {
      name: "JobNavigator",
      component: _verticalJobNavigator.default,
      options: {
        animation: "none",
        headerShown: false,
        gesturesEnabled: false
      }
    }), _react.default.createElement(Stack.Screen, {
      name: "EventNavigator",
      component: _verticalEventNavigator.default,
      options: {
        headerShown: false,
        gesturesEnabled: false
      }
    })));
  }
},2470,[5,6,17,2294,2206,2144,2471,2529,2045,1861,2147,2580,462,2302,1911,2581,2434,2584,2232,2586]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = VerticalJobNavigator;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var Header = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Stack = _NavigationService.default.navigator.createStack();

  var Tab = _NavigationService.default.navigator.createBottomTab();

  function VerticalTabNavigator(props) {
    return _react.default.createElement(Tab.Navigator, {
      screenOptions: function screenOptions(_ref) {
        var route = _ref.route;
        return {
          headerShown: false,
          tabBarShowLabel: false,
          swipeEnabled: false,
          tabBarStyle: {
            backgroundColor: _$$_REQUIRE(_dependencyMap[5]).colors.white
          },
          tabBarIcon: function tabBarIcon(_ref2) {
            var focused = _ref2.focused;
            var routeName = route.name;
            var iconName;

            if (routeName === "VerticalFiltersScreen") {
              iconName = "filter";
            } else if (routeName === "VerticalSavedSearchScreen") {
              iconName = "search";
            } else if (routeName === "VerticalFavoritesScreen") {
              var favoritesConfig = global.getRssFavoritesConfig();
              iconName = favoritesConfig.getIcon();
            } else if (routeName === "VerticalListScreen") {
              iconName = "list-ul";
            }

            return _react.default.createElement(_iconComponent.default, {
              type: _iconComponent.TecnaviaIconType.FONT_AWESOME_5,
              name: iconName,
              size: 25,
              color: (0, _$$_REQUIRE(_dependencyMap[6]).getJobColor)()
            });
          }
        };
      }
    }, _react.default.createElement(Tab.Screen, {
      name: "VerticalFiltersScreen",
      component: _$$_REQUIRE(_dependencyMap[7]).JobFilterScreen
    }), _react.default.createElement(Tab.Screen, {
      name: "VerticalSavedSearchScreen",
      component: _$$_REQUIRE(_dependencyMap[8]).JobSearchScreen
    }), _react.default.createElement(Tab.Screen, {
      name: "VerticalFavoritesScreen",
      component: _$$_REQUIRE(_dependencyMap[9]).JobFavoritesScreen
    }), _react.default.createElement(Tab.Screen, {
      name: "VerticalListScreen",
      component: _$$_REQUIRE(_dependencyMap[10]).JobListScreen
    }));
  }

  function VerticalJobNavigator() {
    return _react.default.createElement(Stack.Navigator, {
      screenOptions: _NavigationService.default.getStackScreenOptions(),
      initialRouteName: "VerticalTabNavigator"
    }, _react.default.createElement(Stack.Screen, {
      name: "VerticalTabNavigator",
      component: VerticalTabNavigator,
      options: function options(props) {
        return {
          header: function header() {
            return _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).ActionBar, {
              considerSafeAreaTop: true,
              left: Header._getHeaderLeftButtonsBackButtonOnly(props.navigation, (0, _$$_REQUIRE(_dependencyMap[6]).getJobColor)()),
              center: Header._getLogo((0, _$$_REQUIRE(_dependencyMap[12]).getNavigationParams)(props).logoUrl || (0, _$$_REQUIRE(_dependencyMap[6]).getJobLogo)(), _$$_REQUIRE(_dependencyMap[13]))
            });
          },
          gesturesEnabled: false,
          backBehavior: "initialRoute"
        };
      }
    }), _react.default.createElement(Stack.Screen, {
      name: "VerticalDetailScreen",
      component: _$$_REQUIRE(_dependencyMap[14]).JobDetailScreen,
      options: function options(props) {
        return {
          header: function header() {
            return _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).ActionBar, {
              considerSafeAreaTop: true,
              left: Header._getHeaderLeftButtonsBackButtonOnly(props.navigation, (0, _$$_REQUIRE(_dependencyMap[6]).getJobColor)()),
              center: Header._getLogo((0, _$$_REQUIRE(_dependencyMap[12]).getNavigationParams)(props).logoUrl || (0, _$$_REQUIRE(_dependencyMap[6]).getJobLogo)(), _$$_REQUIRE(_dependencyMap[13]))
            });
          },
          gesturesEnabled: false
        };
      }
    }));
  }
},2471,[5,17,2472,1806,1861,462,2474,2475,2502,2508,2515,2144,2148,2527,2528]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports._getLogo = _getLogo;
  exports._getHeaderLeftButtonsBackButtonOnly = _getHeaderLeftButtonsBackButtonOnly;
  exports._getHeaderRightButton = _getHeaderRightButton;
  exports._getHeader = _getHeader;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _buttonComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _getLogo(url, requireDefaultObj) {
    return _react.default.createElement(_imageComponent.default, {
      resizeMode: "contain",
      style: _$$_REQUIRE(_dependencyMap[7]).styles.headerLogo,
      source: url ? {
        uri: url
      } : requireDefaultObj
    });
  }

  function _getHeaderLeftButtonsBackButtonOnly(navigation, color) {
    var buttonStyle = [_$$_REQUIRE(_dependencyMap[7]).styles.button];
    var iconStyle = [_$$_REQUIRE(_dependencyMap[7]).styles.icon, {
      color: color
    }];

    if (_$$_REQUIRE(_dependencyMap[8]).PlatformUtils.isiPhone()) {
      buttonStyle.push(_$$_REQUIRE(_dependencyMap[7]).styles.buttonIphone);
      iconStyle.push(_$$_REQUIRE(_dependencyMap[7]).styles.iconIphone);
    }

    return _react.default.createElement(_reactNative.View, {
      style: _$$_REQUIRE(_dependencyMap[7]).styles.container
    }, _react.default.createElement(_buttonComponent.default, {
      style: buttonStyle,
      onPress: function onPress() {
        navigation.goBack(null);
      }
    }, _react.default.createElement(_iconComponent.default, {
      name: _$$_REQUIRE(_dependencyMap[8]).PlatformUtils.isRTL() ? "arrow-forward" : "arrow-back",
      style: iconStyle,
      type: _iconComponent.TecnaviaIconType.MATERIAL_ICONS
    })));
  }

  function _getHeaderRightButton(navigation, color, iconName, text, callback) {
    var iconStyle = [_$$_REQUIRE(_dependencyMap[7]).styles.icon, {
      color: color
    }];

    if (_$$_REQUIRE(_dependencyMap[8]).PlatformUtils.isiPhone()) {
      iconStyle.push(_$$_REQUIRE(_dependencyMap[7]).styles.iconIphone);
    }

    return _react.default.createElement(_reactNative.View, {
      style: [_$$_REQUIRE(_dependencyMap[7]).styles.container]
    }, _react.default.createElement(_buttonComponent.default, {
      style: _$$_REQUIRE(_dependencyMap[7]).styles.rightButton,
      onPress: callback
    }, _react.default.createElement(_fontText.default, {
      style: {
        color: color
      }
    }, text), _react.default.createElement(_iconComponent.default, {
      name: iconName,
      style: iconStyle,
      type: _iconComponent.TecnaviaIconType.MATERIAL_ICONS
    })));
  }

  function _getHeader(title, subtitle, callback, imageUrl) {
    return _react.default.createElement(_reactNative.TouchableOpacity, {
      onPress: callback
    }, _react.default.createElement(_reactNative.View, {
      style: {
        display: "flex",
        flexDirection: "column",
        alignItems: "center"
      }
    }, _react.default.createElement(_fontText.default, {
      style: _$$_REQUIRE(_dependencyMap[7]).styles.titleText,
      type: "medium"
    }, title), _react.default.createElement(_reactNative.View, {
      style: {
        display: "flex",
        flexDirection: "row",
        alignItems: "flex-end"
      }
    }, _react.default.createElement(_fontText.default, {
      style: _$$_REQUIRE(_dependencyMap[7]).styles.subtitleText
    }, subtitle), _react.default.createElement(_reactNative.Image, {
      style: _$$_REQUIRE(_dependencyMap[7]).styles.image,
      source: {
        uri: imageUrl
      }
    }))));
  }
},2472,[5,17,28,588,1806,2202,1879,2473,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    headerTitle: {
      position: "absolute",
      top: 0,
      start: 0,
      bottom: 0,
      end: 0,
      resizeMode: "center",
      width: null,
      height: null
    },
    headerLogo: {
      position: "absolute",
      top: 0,
      start: 0,
      bottom: 0,
      end: 0,
      width: null,
      height: null,
      marginHorizontal: 25,
      marginVertical: 5
    },
    container: {
      flexWrap: "wrap",
      alignItems: "flex-start",
      flexDirection: "row"
    },
    icon: {
      fontSize: 24,
      marginEnd: 0,
      marginLeft: 0,
      marginStart: 0,
      marginRight: 0
    },
    iconIphone: {
      fontSize: 16
    },
    button: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white,
      alignItems: "center",
      justifyContent: "center",
      width: 40,
      height: 40,
      borderRadius: 40,
      marginEnd: 5,
      marginStart: 5
    },
    buttonIphone: {
      width: 30,
      height: 30
    },
    rightButton: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white,
      alignItems: "center",
      justifyContent: "center",
      borderRadius: 40,
      marginEnd: 10,
      marginStart: 10,
      flexDirection: "row"
    },
    titleText: {
      fontSize: 17
    },
    subtitleText: {
      fontSize: 8,
      fontStyle: "italic"
    },
    image: {
      width: 39,
      height: 14
    }
  });

  exports.styles = styles;
},2473,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getJobType = exports.getJobDuration = exports.getEventSchedule = exports.getJobTypes = exports.getJobDurations = exports.getEventBackground = exports.getJobBackground = exports.getJobLogo = exports.getCitySparkLogo = exports.getCitySparkUrl = exports.getNewEventUrl = exports.getEventColor = exports.getEventById = exports.getEventCategories = exports.getFeaturedEventApi = exports.getEventApi = exports.getJobColor = exports.getJobUrlPageById = undefined;

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var getJobUrlPageById = function getJobUrlPageById(id) {
    return "http://jobview.local-jobs.monster.com/Job-US-" + id + ".aspx";
  };

  exports.getJobUrlPageById = getJobUrlPageById;

  var getJobColor = function getJobColor() {
    return _$$_REQUIRE(_dependencyMap[2]).colors.md_purple_800;
  };

  exports.getJobColor = getJobColor;

  var getEventApi = function getEventApi() {
    return "https://api.cityspark.com/v1/events";
  };

  exports.getEventApi = getEventApi;

  var getFeaturedEventApi = function getFeaturedEventApi() {
    return "https://api.cityspark.com/v1/Promotions/Flat";
  };

  exports.getFeaturedEventApi = getFeaturedEventApi;

  var getEventCategories = function getEventCategories() {
    return "https://api.cityspark.com/v1/categories";
  };

  exports.getEventCategories = getEventCategories;

  var getEventById = function getEventById(id) {
    return "https://api.cityspark.com/v1/event/" + id;
  };

  exports.getEventById = getEventById;

  var getEventColor = function getEventColor() {
    return _$$_REQUIRE(_dependencyMap[2]).colors.md_blue_800;
  };

  exports.getEventColor = getEventColor;

  var getNewEventUrl = function getNewEventUrl() {
    return "https://portal.cityspark.com/EventEntry/EventEntry/joplinglobe";
  };

  exports.getNewEventUrl = getNewEventUrl;

  var getCitySparkUrl = function getCitySparkUrl() {
    return "https://www.cityspark.com";
  };

  exports.getCitySparkUrl = getCitySparkUrl;

  var getCitySparkLogo = function getCitySparkLogo() {
    return "https://www.cityspark.com/wp-content/uploads/2019/05/citysparklogoSmall.png";
  };

  exports.getCitySparkLogo = getCitySparkLogo;

  var getJobLogo = function getJobLogo() {
    return _Api.default.baseUrl() + "?pSetup=" + global.getActivePSetup().pSetup + "&action=jobs&view=logo";
  };

  exports.getJobLogo = getJobLogo;

  var getJobBackground = function getJobBackground() {
    return "https://media.newjobs.com/homepage/images/hero-img/bg_purple_7.jpg";
  };

  exports.getJobBackground = getJobBackground;

  var getEventBackground = function getEventBackground() {
    return "https://cdn.pixabay.com/photo/2016/03/28/09/52/firework-1285264_960_720.jpg";
  };

  exports.getEventBackground = getEventBackground;

  var getJobDurations = function getJobDurations() {
    return [{
      text: "All"
    }, {
      text: "Full Time",
      value: "FULLTIME"
    }, {
      text: "Part Time",
      value: "PARTTIME"
    }];
  };

  exports.getJobDurations = getJobDurations;

  var getJobTypes = function getJobTypes() {
    return [{
      text: "All"
    }, {
      text: "Permanent",
      value: "1"
    }, {
      text: "Temporary",
      value: "2"
    }, {
      text: "Internship",
      value: "3"
    }];
  };

  exports.getJobTypes = getJobTypes;

  var getEventSchedule = function getEventSchedule() {
    return [{
      text: "This week"
    }, {
      text: "Next week"
    }, {
      text: "This weekend"
    }, {
      text: "Today"
    }, {
      text: "Tomorrow"
    }, {
      text: "Custom Date Range"
    }];
  };

  exports.getEventSchedule = getEventSchedule;

  var getJobDuration = function getJobDuration(value) {
    return getJobDurations().find(function (duration) {
      return duration.value === value;
    }).text;
  };

  exports.getJobDuration = getJobDuration;

  var getJobType = function getJobType(value) {
    return getJobTypes().find(function (type) {
      return type.value === value;
    }).text;
  };

  exports.getJobType = getJobType;
},2474,[5,431,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2475,[2476]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.JobFilterScreen = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _datepickerComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var JobFilterScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(JobFilterScreen, _NavigationBaseScreen);

    var _super = _createSuper(JobFilterScreen);

    function JobFilterScreen() {
      (0, _classCallCheck2.default)(this, JobFilterScreen);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(JobFilterScreen, [{
      key: "handleBackButton",
      value: function handleBackButton() {
        var navigation = this.props.navigation;
        navigation.goBack(null);
        return (0, _get2.default)((0, _getPrototypeOf2.default)(JobFilterScreen.prototype), "handleBackButton", this).call(this);
      }
    }, {
      key: "getFilterValue",
      value: function getFilterValue(filter, defaultValue) {
        var value = defaultValue;

        if (filter) {
          if (filter.getValue()) {
            value = filter.getValue();
          }
        }

        return value;
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "Job Filter";
      }
    }, {
      key: "render",
      value: function render() {
        var _this = this;

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).FilterParent, {
          backgroundUrl: (0, _$$_REQUIRE(_dependencyMap[11]).getJobBackground)(),
          color: (0, _$$_REQUIRE(_dependencyMap[11]).getJobColor)(),
          onSearch: function onSearch() {
            var navigation = _this.props.navigation;

            var _this$getFilterValue = _this.getFilterValue(_this.filterLocation, {}),
                state = _this$getFilterValue.state,
                city = _this$getFilterValue.city,
                input = _this$getFilterValue.input,
                zip = _this$getFilterValue.zip;

            var term = _this.getFilterValue(_this.filterText, "");

            var dayPublished = _$$_REQUIRE(_dependencyMap[12]).DateUtils.getDaysFromDateToToday(_this.getFilterValue(_this.filterDate, ""));

            var type = _this.getFilterValue(_this.filterType, "");

            var status = _this.getFilterValue(_this.filterDuration, "");

            var _this$getFilterValue2 = _this.getFilterValue(_this.filterSalary, {}),
                min = _this$getFilterValue2.min,
                max = _this$getFilterValue2.max,
                error = _this$getFilterValue2.error;

            if (error) {
              return [error];
            }

            navigation.navigate("VerticalListScreen", {
              filters: (0, _extends2.default)({
                action: "jobs",
                view: "filtered",
                day_published: dayPublished,
                salary_min: min,
                salary_max: max,
                job_type: type,
                job_status: status,
                city: city || input,
                term: term
              }, state ? {
                state: state
              } : {}, zip ? {
                zip: zip
              } : {})
            });
            return [];
          },
          advanceFilters: [_react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).FilterRadioButton, {
            key: "filter_duration",
            ref: function ref(_ref) {
              _this.filterDuration = _ref;
            },
            bgColor: (0, _$$_REQUIRE(_dependencyMap[11]).getJobColor)(),
            textColor: _$$_REQUIRE(_dependencyMap[12]).colors.white,
            buttons: (0, _$$_REQUIRE(_dependencyMap[11]).getJobDurations)(),
            active: "All"
          }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).FilterRadioButton, {
            key: "filter_type",
            ref: function ref(_ref2) {
              _this.filterType = _ref2;
            },
            bgColor: (0, _$$_REQUIRE(_dependencyMap[11]).getJobColor)(),
            textColor: _$$_REQUIRE(_dependencyMap[12]).colors.white,
            buttons: (0, _$$_REQUIRE(_dependencyMap[11]).getJobTypes)(),
            active: "All"
          }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).FilterMinMax, {
            key: "filter_salary",
            ref: function ref(_ref3) {
              _this.filterSalary = _ref3;
            },
            borderColor: (0, _$$_REQUIRE(_dependencyMap[11]).getJobColor)(),
            hintMin: global.strings("min_salary"),
            hintMax: global.strings("max_salary")
          }), _react.default.createElement(_datepickerComponent.default, {
            key: "filter_date",
            startEmpty: true,
            maxDate: new Date(),
            style: [_$$_REQUIRE(_dependencyMap[15]).styles.datePicker, {
              borderColor: (0, _$$_REQUIRE(_dependencyMap[11]).getJobColor)()
            }],
            ref: function ref(_ref4) {
              _this.filterDate = _ref4;
            },
            borderColor: (0, _$$_REQUIRE(_dependencyMap[11]).getJobColor)(),
            hint: global.strings("str_published_after_date"),
            locale: global.getLocaleConfig().getCurrentLocale()
          })]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).FilterText, {
          key: "filter_text",
          style: _$$_REQUIRE(_dependencyMap[15]).styles.filter,
          borderColor: (0, _$$_REQUIRE(_dependencyMap[11]).getJobColor)(),
          hint: global.strings("vertical_job_text_hint"),
          ref: function ref(_ref5) {
            _this.filterText = _ref5;
          }
        }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).FilterLocation, {
          key: "filter_location",
          style: _$$_REQUIRE(_dependencyMap[15]).styles.filter,
          hint: global.strings("vertical_job_location_hint"),
          borderColor: (0, _$$_REQUIRE(_dependencyMap[11]).getJobColor)(),
          textColor: _$$_REQUIRE(_dependencyMap[12]).colors.white,
          ref: function ref(_ref6) {
            _this.filterLocation = _ref6;
          }
        }));
      }
    }]);
    return JobFilterScreen;
  }(_$$_REQUIRE(_dependencyMap[18]).NavigationBaseScreen);

  exports.JobFilterScreen = JobFilterScreen;
},2476,[5,6,7,8,90,12,14,16,17,2265,2477,2474,462,2490,2493,2496,2497,2499,2148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2477,[2478]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.FilterParent = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var FilterParent = function (_React$Component) {
    (0, _inherits2.default)(FilterParent, _React$Component);

    var _super = _createSuper(FilterParent);

    function FilterParent(props) {
      var _this;

      (0, _classCallCheck2.default)(this, FilterParent);
      _this = _super.call(this, props);
      _this.state = {
        errors: []
      };
      return _this;
    }

    (0, _createClass2.default)(FilterParent, [{
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props = this.props,
            backgroundUrl = _this$props.backgroundUrl,
            children = _this$props.children,
            color = _this$props.color,
            onSearch = _this$props.onSearch,
            advanceFilters = _this$props.advanceFilters,
            backGroundResizeMode = _this$props.backGroundResizeMode,
            buttons = _this$props.buttons;
        var errors = this.state.errors;
        return _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[9]).styles.parent
        }, _react.default.createElement(_reactNative.ImageBackground, {
          source: {
            uri: backgroundUrl
          },
          style: _$$_REQUIRE(_dependencyMap[9]).styles.background,
          resizeMode: backGroundResizeMode || "cover"
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).TecnaviaScrollView, {
          width: "100%",
          horizontal: false,
          centerContent: true
        }, children, advanceFilters.length ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).FilterAccordion, {
          textColor: _$$_REQUIRE(_dependencyMap[12]).colors.white,
          headerColor: color,
          borderColor: color,
          style: _$$_REQUIRE(_dependencyMap[9]).styles.filter
        }, advanceFilters) : null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).FilterSearch, {
          style: _$$_REQUIRE(_dependencyMap[9]).styles.filterButton,
          backgroundColor: _$$_REQUIRE(_dependencyMap[12]).colors.white,
          textColor: color,
          borderColor: color,
          onPress: function onPress() {
            var newErrors = onSearch();

            if (newErrors && newErrors.length) {
              _this2.setState({
                errors: newErrors
              });
            }
          }
        }), buttons.map(function (_ref, index) {
          var label = _ref.label,
              onPress = _ref.onPress;
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).FilterSearch, {
            key: index,
            text: label,
            style: _$$_REQUIRE(_dependencyMap[9]).styles.filterButton,
            backgroundColor: color,
            onPress: onPress
          });
        }))), _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Error, {
          style: {
            position: "absolute",
            bottom: 0,
            start: 0,
            end: 0
          },
          errors: errors
        }));
      }
    }]);
    return FilterParent;
  }(_react.default.Component);

  exports.FilterParent = FilterParent;
  FilterParent.propTypes = {
    children: _propTypes.default.array.isRequired,
    backgroundUrl: _propTypes.default.string,
    color: _propTypes.default.string.isRequired,
    onSearch: _propTypes.default.func.isRequired,
    advanceFilters: _propTypes.default.arrayOf(_propTypes.default.node),
    backGroundResizeMode: _propTypes.default.string,
    buttons: _propTypes.default.arrayOf(_propTypes.default.shape({
      label: _propTypes.default.string.isRequired,
      onPress: _propTypes.default.func.isRequired
    }))
  };
  FilterParent.defaultProps = {
    advanceFilters: [],
    buttons: []
  };
},2478,[5,7,8,12,14,16,17,201,28,2479,1909,2480,462,2488,2171]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    parent: {
      flex: 1,
      justifyContent: "center",
      alignItems: "center"
    },
    background: {
      width: "100%",
      flex: 1,
      flexDirection: "column",
      justifyContent: "center",
      alignItems: "center"
    },
    filterViews: {
      width: "100%",
      flexDirection: "column",
      justifyContent: "center",
      alignItems: "center"
    },
    filter: {
      width: "100%"
    },
    searchButton: {
      borderWidth: 1,
      borderColor: (0, _$$_REQUIRE(_dependencyMap[1]).getEventColor)()
    }
  });

  exports.styles = styles;
},2479,[28,2474]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2480,[2481]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.FilterAccordion = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _accordionComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var FilterAccordion = function (_React$Component) {
    (0, _inherits2.default)(FilterAccordion, _React$Component);

    var _super = _createSuper(FilterAccordion);

    function FilterAccordion(props) {
      var _this;

      (0, _classCallCheck2.default)(this, FilterAccordion);
      _this = _super.call(this, props);

      var _global$getRssIndex = global.getRssIndex(),
          supportColor = _global$getRssIndex.supportColor;

      _this.borderColor = props.borderColor || supportColor;
      return _this;
    }

    (0, _createClass2.default)(FilterAccordion, [{
      key: "_renderHeader",
      value: function _renderHeader(item, index, expanded) {
        var _this$props = this.props,
            textColor = _this$props.textColor,
            headerColor = _this$props.headerColor;
        return _react.default.createElement(_reactNative.View, {
          style: [_$$_REQUIRE(_dependencyMap[11]).styles.header, {
            backgroundColor: headerColor,
            borderColor: this.borderColor
          }]
        }, _react.default.createElement(_reactNative.Text, {
          style: [_$$_REQUIRE(_dependencyMap[11]).styles.headerText, {
            color: textColor
          }]
        }, item.title), expanded ? _react.default.createElement(_iconComponent.default, {
          style: {
            fontSize: 18,
            color: textColor
          },
          name: "remove",
          type: _iconComponent.TecnaviaIconType.MATERIAL_ICONS
        }) : _react.default.createElement(_iconComponent.default, {
          style: {
            fontSize: 18,
            color: textColor
          },
          name: "add",
          type: _iconComponent.TecnaviaIconType.MATERIAL_ICONS
        }));
      }
    }, {
      key: "_renderContent",
      value: function _renderContent() {
        var _this$props2 = this.props,
            children = _this$props2.children,
            contentStyle = _this$props2.contentStyle;
        return _react.default.createElement(_reactNative.View, {
          style: [_$$_REQUIRE(_dependencyMap[11]).styles.content, {
            backgroundColor: _$$_REQUIRE(_dependencyMap[12]).colors.transparent
          }, contentStyle]
        }, children);
      }
    }, {
      key: "render",
      value: function render() {
        var style = this.props.style;
        return _react.default.createElement(_accordionComponent.default, {
          style: style,
          sections: [{
            title: global.strings("btn_advance_filters")
          }],
          renderHeader: this._renderHeader.bind(this),
          renderContent: this._renderContent.bind(this)
        });
      }
    }]);
    return FilterAccordion;
  }(_react.default.Component);

  exports.FilterAccordion = FilterAccordion;
  FilterAccordion.propTypes = {
    textColor: _propTypes.default.string,
    headerColor: _propTypes.default.string,
    borderColor: _propTypes.default.string,
    style: _propTypes.default.object,
    children: _propTypes.default.array,
    contentStyle: _propTypes.default.object
  };
  FilterAccordion.defaultProps = {
    textColor: _$$_REQUIRE(_dependencyMap[12]).colors.white,
    headerColor: _$$_REQUIRE(_dependencyMap[12]).colors.black,
    borderColor: _$$_REQUIRE(_dependencyMap[12]).colors.black
  };
},2481,[5,7,8,12,14,16,17,28,201,1806,2482,2486,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = TecnaviaAccordion;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _Accordion = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function TecnaviaAccordion(props) {
    var _React$useState = _react.default.useState([]),
        _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
        activeSections = _React$useState2[0],
        setActiveSections = _React$useState2[1];

    return _react.default.createElement(_Accordion.default, (0, _extends2.default)({
      underlayColor: _$$_REQUIRE(_dependencyMap[6]).colors.transparent
    }, props, {
      activeSections: activeSections,
      onChange: function onChange() {
        var active = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
        return setActiveSections((0, _toConsumableArray2.default)(active));
      }
    }));
  }
},2482,[5,6,21,41,17,2483,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _Collapsible = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var COLLAPSIBLE_PROPS = Object.keys(_Collapsible.default.propTypes);
  var VIEW_PROPS = Object.keys(_$$_REQUIRE(_dependencyMap[12]).ViewPropTypes);

  var Accordion = function (_Component) {
    (0, _inherits2.default)(Accordion, _Component);

    var _super = _createSuper(Accordion);

    function Accordion() {
      (0, _classCallCheck2.default)(this, Accordion);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(Accordion, [{
      key: "_toggleSection",
      value: function _toggleSection(section) {
        if (!this.props.disabled) {
          var _this$props = this.props,
              activeSections = _this$props.activeSections,
              expandMultiple = _this$props.expandMultiple,
              onChange = _this$props.onChange;
          var updatedSections = [];

          if (activeSections.includes(section)) {
            updatedSections = activeSections.filter(function (a) {
              return a !== section;
            });
          } else if (expandMultiple) {
            updatedSections = [].concat((0, _toConsumableArray2.default)(activeSections), [section]);
          } else {
            updatedSections = [section];
          }

          onChange && onChange(updatedSections);
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this = this;

        var viewProps = {};
        var collapsibleProps = {};
        Object.keys(this.props).forEach(function (key) {
          if (COLLAPSIBLE_PROPS.includes(key)) {
            collapsibleProps[key] = _this.props[key];
          } else if (VIEW_PROPS.includes(key)) {
            viewProps[key] = _this.props[key];
          }
        });
        var _this$props2 = this.props,
            activeSections = _this$props2.activeSections,
            containerStyle = _this$props2.containerStyle,
            sectionContainerStyle = _this$props2.sectionContainerStyle,
            expandFromBottom = _this$props2.expandFromBottom,
            sections = _this$props2.sections,
            underlayColor = _this$props2.underlayColor,
            touchableProps = _this$props2.touchableProps,
            Touchable = _this$props2.touchableComponent,
            _onAnimationEnd = _this$props2.onAnimationEnd,
            renderContent = _this$props2.renderContent,
            renderHeader = _this$props2.renderHeader,
            renderFooter = _this$props2.renderFooter,
            renderSectionTitle = _this$props2.renderSectionTitle;

        var renderCollapsible = function renderCollapsible(section, key) {
          return _react.default.createElement(_Collapsible.default, (0, _extends2.default)({
            collapsed: !activeSections.includes(key)
          }, collapsibleProps, {
            onAnimationEnd: function onAnimationEnd() {
              return _onAnimationEnd(section, key);
            }
          }), renderContent(section, key, activeSections.includes(key), sections));
        };

        return _react.default.createElement(_reactNative.View, (0, _extends2.default)({
          style: containerStyle
        }, viewProps), sections.map(function (section, key) {
          return _react.default.createElement(_reactNative.View, {
            key: key,
            style: sectionContainerStyle
          }, renderSectionTitle(section, key, activeSections.includes(key)), expandFromBottom && renderCollapsible(section, key), _react.default.createElement(Touchable, (0, _extends2.default)({
            onPress: function onPress() {
              return _this._toggleSection(key);
            },
            underlayColor: underlayColor
          }, touchableProps), renderHeader(section, key, activeSections.includes(key), sections)), !expandFromBottom && renderCollapsible(section, key), renderFooter && renderFooter(section, key, activeSections.includes(key), sections));
        }));
      }
    }]);
    return Accordion;
  }(_react.Component);

  exports.default = Accordion;
  Accordion.propTypes = {
    sections: _propTypes.default.array.isRequired,
    renderHeader: _propTypes.default.func.isRequired,
    renderContent: _propTypes.default.func.isRequired,
    renderFooter: _propTypes.default.func,
    renderSectionTitle: _propTypes.default.func,
    activeSections: _propTypes.default.arrayOf(_propTypes.default.number).isRequired,
    onChange: _propTypes.default.func.isRequired,
    align: _propTypes.default.oneOf(['top', 'center', 'bottom']),
    duration: _propTypes.default.number,
    easing: _propTypes.default.string,
    underlayColor: _propTypes.default.string,
    touchableComponent: _propTypes.default.elementType,
    touchableProps: _propTypes.default.object,
    disabled: _propTypes.default.bool,
    expandFromBottom: _propTypes.default.bool,
    expandMultiple: _propTypes.default.bool,
    onAnimationEnd: _propTypes.default.func,
    sectionContainerStyle: _$$_REQUIRE(_dependencyMap[12]).ViewPropTypes.style,
    containerStyle: _$$_REQUIRE(_dependencyMap[12]).ViewPropTypes.style
  };
  Accordion.defaultProps = {
    underlayColor: 'black',
    disabled: false,
    expandFromBottom: false,
    expandMultiple: false,
    touchableComponent: _reactNative.TouchableHighlight,
    renderSectionTitle: function renderSectionTitle() {
      return null;
    },
    onAnimationEnd: function onAnimationEnd() {
      return null;
    },
    sectionContainerStyle: {}
  };
},2483,[5,6,21,7,8,12,14,16,17,201,28,2484,2485]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ANIMATED_EASING_PREFIXES = ['easeInOut', 'easeOut', 'easeIn'];

  var Collapsible = function (_Component) {
    (0, _inherits2.default)(Collapsible, _Component);

    var _super = _createSuper(Collapsible);

    function Collapsible(props) {
      var _this;

      (0, _classCallCheck2.default)(this, Collapsible);
      _this = _super.call(this, props);
      _this.contentHandle = null;

      _this._handleRef = function (ref) {
        _this.contentHandle = ref;
      };

      _this._handleLayoutChange = function (event) {
        var contentHeight = event.nativeEvent.layout.height;

        if (_this.state.animating || _this.props.collapsed || _this.state.measuring || _this.state.contentHeight === contentHeight) {
          return;
        }

        _this.state.height.setValue(contentHeight);

        _this.setState({
          contentHeight: contentHeight
        });
      };

      _this.state = {
        measuring: false,
        measured: false,
        height: new _reactNative.Animated.Value(props.collapsedHeight),
        contentHeight: 0,
        animating: false
      };
      return _this;
    }

    (0, _createClass2.default)(Collapsible, [{
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps) {
        var _this2 = this;

        if (prevProps.collapsed !== this.props.collapsed) {
          this.setState({
            measured: false
          }, function () {
            return _this2._componentDidUpdate(prevProps);
          });
        } else {
          this._componentDidUpdate(prevProps);
        }
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this.unmounted = true;
      }
    }, {
      key: "_componentDidUpdate",
      value: function _componentDidUpdate(prevProps) {
        if (prevProps.collapsed !== this.props.collapsed) {
          this._toggleCollapsed(this.props.collapsed);
        } else if (this.props.collapsed && prevProps.collapsedHeight !== this.props.collapsedHeight) {
          this.state.height.setValue(this.props.collapsedHeight);
        }
      }
    }, {
      key: "_measureContent",
      value: function _measureContent(callback) {
        var _this3 = this;

        this.setState({
          measuring: true
        }, function () {
          requestAnimationFrame(function () {
            if (!_this3.contentHandle) {
              _this3.setState({
                measuring: false
              }, function () {
                return callback(_this3.props.collapsedHeight);
              });
            } else {
              var ref;

              if (typeof _this3.contentHandle.measure === 'function') {
                ref = _this3.contentHandle;
              } else {
                ref = _this3.contentHandle.getNode();
              }

              ref.measure(function (x, y, width, height) {
                _this3.setState({
                  measuring: false,
                  measured: true,
                  contentHeight: height
                }, function () {
                  return callback(height);
                });
              });
            }
          });
        });
      }
    }, {
      key: "_toggleCollapsed",
      value: function _toggleCollapsed(collapsed) {
        var _this4 = this;

        if (collapsed) {
          this._transitionToHeight(this.props.collapsedHeight);
        } else if (!this.contentHandle) {
          if (this.state.measured) {
            this._transitionToHeight(this.state.contentHeight);
          }

          return;
        } else {
          this._measureContent(function (contentHeight) {
            _this4._transitionToHeight(contentHeight);
          });
        }
      }
    }, {
      key: "_transitionToHeight",
      value: function _transitionToHeight(height) {
        var _this5 = this;

        var duration = this.props.duration;
        var easing = this.props.easing;

        if (typeof easing === 'string') {
          var prefix;
          var found = false;

          for (var i = 0; i < ANIMATED_EASING_PREFIXES.length; i++) {
            prefix = ANIMATED_EASING_PREFIXES[i];

            if (easing.substr(0, prefix.length) === prefix) {
              easing = easing.substr(prefix.length, 1).toLowerCase() + easing.substr(prefix.length + 1);
              prefix = prefix.substr(4, 1).toLowerCase() + prefix.substr(5);
              easing = _reactNative.Easing[prefix](_reactNative.Easing[easing || 'ease']);
              found = true;
              break;
            }
          }

          if (!found) {
            easing = _reactNative.Easing[easing];
          }

          if (!easing) {
            throw new Error('Invalid easing type "' + this.props.easing + '"');
          }
        }

        if (this._animation) {
          this._animation.stop();
        }

        this.setState({
          animating: true
        });
        this._animation = _reactNative.Animated.timing(this.state.height, {
          useNativeDriver: false,
          toValue: height,
          duration: duration,
          easing: easing
        }).start(function () {
          if (_this5.unmounted) {
            return;
          }

          _this5.setState({
            animating: false
          }, function () {
            if (_this5.unmounted) {
              return;
            }

            _this5.props.onAnimationEnd();
          });
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            collapsed = _this$props.collapsed,
            enablePointerEvents = _this$props.enablePointerEvents;
        var _this$state = this.state,
            height = _this$state.height,
            contentHeight = _this$state.contentHeight,
            measuring = _this$state.measuring,
            measured = _this$state.measured;
        var hasKnownHeight = !measuring && (measured || collapsed);
        var style = hasKnownHeight && {
          overflow: 'hidden',
          height: height
        };
        var contentStyle = {};

        if (measuring) {
          contentStyle.position = 'absolute';
          contentStyle.opacity = 0;
        } else if (this.props.align === 'center') {
          contentStyle.transform = [{
            translateY: height.interpolate({
              inputRange: [0, contentHeight],
              outputRange: [contentHeight / -2, 0]
            })
          }];
        } else if (this.props.align === 'bottom') {
          contentStyle.transform = [{
            translateY: height.interpolate({
              inputRange: [0, contentHeight],
              outputRange: [-contentHeight, 0]
            })
          }];
        }

        return _react.default.createElement(_reactNative.Animated.View, {
          style: style,
          pointerEvents: !enablePointerEvents && collapsed ? 'none' : 'auto'
        }, _react.default.createElement(_reactNative.Animated.View, {
          ref: this._handleRef,
          style: [this.props.style, contentStyle],
          onLayout: this.state.animating ? undefined : this._handleLayoutChange
        }, this.props.children));
      }
    }]);
    return Collapsible;
  }(_react.Component);

  exports.default = Collapsible;
  Collapsible.propTypes = {
    align: _propTypes.default.oneOf(['top', 'center', 'bottom']),
    collapsed: _propTypes.default.bool,
    collapsedHeight: _propTypes.default.number,
    enablePointerEvents: _propTypes.default.bool,
    duration: _propTypes.default.number,
    easing: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),
    style: _$$_REQUIRE(_dependencyMap[9]).ViewPropTypes.style,
    onAnimationEnd: _propTypes.default.func,
    children: _propTypes.default.node
  };
  Collapsible.defaultProps = {
    align: 'top',
    collapsed: true,
    collapsedHeight: 0,
    enablePointerEvents: false,
    duration: 300,
    easing: 'easeOutCubic',
    onAnimationEnd: function onAnimationEnd() {
      return null;
    }
  };
},2484,[5,7,8,12,14,16,17,201,28,2485]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.ViewPropTypes = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var ViewPropTypes = _reactNative.ViewPropTypes || _reactNative.View.propTypes;
  exports.ViewPropTypes = ViewPropTypes;
},2485,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    header: {
      height: _$$_REQUIRE(_dependencyMap[1]).filterStyles.LINE_HEIGHT,
      margin: _$$_REQUIRE(_dependencyMap[1]).filterStyles.MARGIN,
      borderWidth: _$$_REQUIRE(_dependencyMap[1]).filterStyles.BORDER_WIDTH,
      borderRadius: _$$_REQUIRE(_dependencyMap[1]).filterStyles.BORDER_RADIUS,
      flexDirection: "row",
      justifyContent: "center",
      alignItems: "center",
      padding: _$$_REQUIRE(_dependencyMap[1]).filterStyles.TEXT_PADDING
    },
    headerText: {
      flex: 3
    },
    headerIcon: {
      flex: 1
    },
    content: {
      flexDirection: "column"
    }
  });

  exports.styles = styles;
},2486,[28,2487]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.filterStyles = undefined;
  var filterStyles = {
    LINE_HEIGHT: 50,
    TEXT_PADDING: 5,
    MARGIN: 10,
    BORDER_WIDTH: 2,
    BORDER_RADIUS: 5,
    SEARCH_WIDTH: 200
  };
  exports.filterStyles = filterStyles;
},2487,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.FilterSearch = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var FilterSearch = function (_React$Component) {
    (0, _inherits2.default)(FilterSearch, _React$Component);

    var _super = _createSuper(FilterSearch);

    function FilterSearch() {
      (0, _classCallCheck2.default)(this, FilterSearch);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(FilterSearch, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            style = _this$props.style,
            backgroundColor = _this$props.backgroundColor,
            textColor = _this$props.textColor,
            borderColor = _this$props.borderColor,
            _onPress = _this$props.onPress;
        var text = this.props.text;
        text = text || global.strings("btn_search");
        return _react.default.createElement(_reactNative.View, {
          style: style
        }, _react.default.createElement(_reactNative.TouchableOpacity, {
          activeOpacity: 0.8,
          onPress: function onPress() {
            if (typeof _onPress === "function") {
              _onPress();
            }
          },
          style: [_$$_REQUIRE(_dependencyMap[9]).styles.touchable, {
            backgroundColor: backgroundColor,
            borderColor: borderColor,
            borderWidth: borderColor ? 2 : 0
          }]
        }, _react.default.createElement(_reactNative.Text, {
          style: [_$$_REQUIRE(_dependencyMap[9]).styles.text, {
            color: textColor
          }]
        }, text)));
      }
    }]);
    return FilterSearch;
  }(_react.default.Component);

  exports.FilterSearch = FilterSearch;
  FilterSearch.propTypes = {
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number]),
    backgroundColor: _propTypes.default.string,
    textColor: _propTypes.default.string,
    borderColor: _propTypes.default.string,
    text: _propTypes.default.string,
    onPress: _propTypes.default.func.isRequired
  };
  FilterSearch.defaultProps = {
    backgroundColor: _$$_REQUIRE(_dependencyMap[10]).colors.black,
    textColor: _$$_REQUIRE(_dependencyMap[10]).colors.white
  };
},2488,[5,7,8,12,14,16,17,28,201,2489,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    touchable: {
      margin: _$$_REQUIRE(_dependencyMap[1]).filterStyles.MARGIN,
      height: _$$_REQUIRE(_dependencyMap[1]).filterStyles.LINE_HEIGHT,
      width: _$$_REQUIRE(_dependencyMap[1]).filterStyles.SEARCH_WIDTH,
      borderRadius: _$$_REQUIRE(_dependencyMap[1]).filterStyles.BORDER_RADIUS,
      flexDirection: "column",
      justifyContent: "center",
      alignItems: "center",
      alignSelf: "center"
    },
    text: {
      color: _$$_REQUIRE(_dependencyMap[2]).colors.white,
      padding: _$$_REQUIRE(_dependencyMap[1]).filterStyles.TEXT_PADDING
    }
  });

  exports.styles = styles;
},2489,[28,2487,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2490,[2491]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.FilterRadioButton = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var FilterRadioButton = function (_React$Component) {
    (0, _inherits2.default)(FilterRadioButton, _React$Component);

    var _super = _createSuper(FilterRadioButton);

    function FilterRadioButton(props) {
      var _this;

      (0, _classCallCheck2.default)(this, FilterRadioButton);
      _this = _super.call(this, props);
      _this.state = {
        activeText: props.active
      };
      return _this;
    }

    (0, _createClass2.default)(FilterRadioButton, [{
      key: "getValue",
      value: function getValue() {
        var buttons = this.props.buttons;
        var activeText = this.state.activeText;
        var result = buttons.find(function (_ref) {
          var text = _ref.text;
          return text === activeText;
        });

        if (result && result.value) {
          return result.value;
        }

        return "";
      }
    }, {
      key: "isActive",
      value: function isActive(toCheck) {
        var activeText = this.state.activeText;
        return toCheck === activeText;
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props = this.props,
            buttons = _this$props.buttons,
            style = _this$props.style;
        var _this$props2 = this.props,
            bgColor = _this$props2.bgColor,
            textColor = _this$props2.textColor;

        var _global$getRssIndex = global.getRssIndex(),
            actionBarBackgroundColor = _global$getRssIndex.actionBarBackgroundColor,
            supportColor = _global$getRssIndex.supportColor;

        bgColor = bgColor || supportColor;
        textColor = textColor || actionBarBackgroundColor;
        return buttons ? _react.default.createElement(_reactNative.View, {
          style: [style, _$$_REQUIRE(_dependencyMap[9]).styles.parent]
        }, buttons.map(function (_ref2, index) {
          var text = _ref2.text;
          return _react.default.createElement(_reactNative.TouchableOpacity, {
            activeOpacity: 1,
            key: index,
            onPress: function onPress() {
              _this2.setState({
                activeText: text
              });
            },
            style: [_$$_REQUIRE(_dependencyMap[9]).styles.button, {
              borderColor: bgColor,
              borderRightWidth: index === buttons.length - 1 ? _$$_REQUIRE(_dependencyMap[10]).filterStyles.BORDER_WIDTH : 0,
              backgroundColor: _this2.isActive(text) ? bgColor : textColor,
              borderTopLeftRadius: index === 0 ? _$$_REQUIRE(_dependencyMap[10]).filterStyles.BORDER_RADIUS : 0,
              borderBottomLeftRadius: index === 0 ? _$$_REQUIRE(_dependencyMap[10]).filterStyles.BORDER_RADIUS : 0,
              borderTopRightRadius: index === buttons.length - 1 ? _$$_REQUIRE(_dependencyMap[10]).filterStyles.BORDER_RADIUS : 0,
              borderBottomRightRadius: index === buttons.length - 1 ? _$$_REQUIRE(_dependencyMap[10]).filterStyles.BORDER_RADIUS : 0
            }]
          }, _react.default.createElement(_reactNative.Text, {
            style: {
              color: _this2.isActive(text) ? textColor : bgColor,
              textAlign: "center"
            }
          }, text));
        })) : null;
      }
    }]);
    return FilterRadioButton;
  }(_react.default.Component);

  exports.FilterRadioButton = FilterRadioButton;
  FilterRadioButton.propTypes = {
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number]),
    buttons: _propTypes.default.arrayOf(_propTypes.default.shape({
      text: _propTypes.default.string.isRequired,
      value: _propTypes.default.string
    })).isRequired,
    bgColor: _propTypes.default.string,
    textColor: _propTypes.default.string,
    active: _propTypes.default.string.isRequired
  };
},2491,[5,7,8,12,14,16,17,28,201,2492,2487]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    parent: {
      flexDirection: "row",
      margin: _$$_REQUIRE(_dependencyMap[1]).filterStyles.MARGIN
    },
    button: {
      flex: 1,
      justifyContent: "center",
      height: _$$_REQUIRE(_dependencyMap[1]).filterStyles.LINE_HEIGHT,
      borderWidth: _$$_REQUIRE(_dependencyMap[1]).filterStyles.BORDER_WIDTH
    }
  });

  exports.styles = styles;
},2492,[28,2487]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2493,[2494]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.FilterMinMax = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _fontTextInput = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var FilterMinMax = function (_React$Component) {
    (0, _inherits2.default)(FilterMinMax, _React$Component);

    var _super = _createSuper(FilterMinMax);

    function FilterMinMax(props) {
      var _this;

      (0, _classCallCheck2.default)(this, FilterMinMax);
      _this = _super.call(this, props);

      var _global$getRssIndex = global.getRssIndex(),
          supportColor = _global$getRssIndex.supportColor;

      _this.borderColor = props.borderColor || supportColor;
      _this.state = {
        min: "",
        max: ""
      };
      return _this;
    }

    (0, _createClass2.default)(FilterMinMax, [{
      key: "getValue",
      value: function getValue() {
        var min = parseInt(this.state.min, 10);
        var max = parseInt(this.state.max, 10);

        if (this.isFilterValid(min, max)) {
          return {
            min: min,
            max: max
          };
        }

        return {
          error: global.strings("err_max_min")
        };
      }
    }, {
      key: "isFilterValid",
      value: function isFilterValid(min, max) {
        return !min && !max || min || max || min < max;
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props = this.props,
            hintMin = _this$props.hintMin,
            hintMax = _this$props.hintMax;
        var style = this.props.style;
        hintMin = hintMin || global.strings("filter_min");
        hintMax = hintMax || global.strings("filter_max");
        var _this$state = this.state,
            min = _this$state.min,
            max = _this$state.max;
        return _react.default.createElement(_reactNative.View, {
          style: [style, _$$_REQUIRE(_dependencyMap[10]).styles.parent]
        }, _react.default.createElement(_fontTextInput.default, {
          keyboardType: "numeric",
          style: [_$$_REQUIRE(_dependencyMap[10]).styles.min, {
            borderColor: this.borderColor
          }],
          underlineColorAndroid: this.borderColor,
          onChangeText: function onChangeText(number) {
            _this2.setState({
              min: number
            });
          },
          value: min,
          returnKeyType: "done",
          placeholder: hintMin
        }), _react.default.createElement(_fontTextInput.default, {
          keyboardType: "numeric",
          style: [_$$_REQUIRE(_dependencyMap[10]).styles.max, {
            borderColor: this.borderColor
          }],
          underlineColorAndroid: this.borderColor,
          onChangeText: function onChangeText(number) {
            _this2.setState({
              max: number
            });
          },
          value: max,
          returnKeyType: "done",
          placeholder: hintMax
        }));
      }
    }]);
    return FilterMinMax;
  }(_react.default.Component);

  exports.FilterMinMax = FilterMinMax;
  FilterMinMax.propTypes = {
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number]),
    borderColor: _propTypes.default.string,
    hintMin: _propTypes.default.string,
    hintMax: _propTypes.default.string
  };
},2494,[5,7,8,12,14,16,17,201,28,2257,2495]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    parent: {
      flexDirection: "row",
      margin: _$$_REQUIRE(_dependencyMap[1]).filterStyles.MARGIN
    },
    min: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[2]).colors.white,
      flex: 1,
      height: _$$_REQUIRE(_dependencyMap[1]).filterStyles.LINE_HEIGHT,
      marginEnd: _$$_REQUIRE(_dependencyMap[1]).filterStyles.MARGIN / 2,
      borderWidth: _$$_REQUIRE(_dependencyMap[1]).filterStyles.BORDER_WIDTH,
      borderRadius: _$$_REQUIRE(_dependencyMap[1]).filterStyles.BORDER_RADIUS
    },
    max: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[2]).colors.white,
      flex: 1,
      height: _$$_REQUIRE(_dependencyMap[1]).filterStyles.LINE_HEIGHT,
      marginStart: _$$_REQUIRE(_dependencyMap[1]).filterStyles.MARGIN / 2,
      borderWidth: _$$_REQUIRE(_dependencyMap[1]).filterStyles.BORDER_WIDTH,
      borderRadius: _$$_REQUIRE(_dependencyMap[1]).filterStyles.BORDER_RADIUS
    }
  });

  exports.styles = styles;
},2495,[28,2487,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    parent: {
      flex: 1,
      justifyContent: "center",
      alignItems: "center"
    },
    background: {
      width: "100%",
      flex: 1,
      flexDirection: "column",
      justifyContent: "center",
      alignItems: "center"
    },
    filterViews: {
      maxWidth: 500,
      width: "100%",
      flexDirection: "column",
      justifyContent: "center",
      alignItems: "center"
    },
    filter: {
      width: "100%"
    },
    filterButton: {},
    text: {
      color: _$$_REQUIRE(_dependencyMap[1]).colors.white,
      padding: _$$_REQUIRE(_dependencyMap[2]).filterStyles.TEXT_PADDING
    },
    datePicker: {
      alignItems: "center",
      justifyContent: "center",
      borderColor: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white,
      height: _$$_REQUIRE(_dependencyMap[2]).filterStyles.LINE_HEIGHT,
      margin: _$$_REQUIRE(_dependencyMap[2]).filterStyles.MARGIN,
      borderWidth: _$$_REQUIRE(_dependencyMap[2]).filterStyles.BORDER_WIDTH,
      borderRadius: _$$_REQUIRE(_dependencyMap[2]).filterStyles.BORDER_RADIUS
    }
  });

  exports.styles = styles;
},2496,[28,462,2487]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.FilterText = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _fontTextInput = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var FilterText = function (_React$Component) {
    (0, _inherits2.default)(FilterText, _React$Component);

    var _super = _createSuper(FilterText);

    function FilterText(props) {
      var _this;

      (0, _classCallCheck2.default)(this, FilterText);
      _this = _super.call(this, props);

      var _global$getRssIndex = global.getRssIndex(),
          supportColor = _global$getRssIndex.supportColor;

      _this.borderColor = props.borderColor || supportColor;
      _this.state = {
        input: props.defaultSearch || ""
      };
      return _this;
    }

    (0, _createClass2.default)(FilterText, [{
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(newProps) {
        if (newProps.defaultSearch !== undefined) {
          this.setState({
            input: newProps.defaultSearch
          });
        }
      }
    }, {
      key: "getValue",
      value: function getValue() {
        var input = this.state.input;
        return input;
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var style = this.props.style;
        var hint = this.props.hint;
        hint = hint || global.strings("filter_text");
        var input = this.state.input;
        return _react.default.createElement(_reactNative.View, {
          style: style
        }, _react.default.createElement(_fontTextInput.default, {
          style: [_$$_REQUIRE(_dependencyMap[10]).styles.text, {
            borderColor: this.borderColor,
            padding: 5,
            color: _$$_REQUIRE(_dependencyMap[11]).colors.md_black_1000
          }],
          underlineColorAndroid: this.borderColor,
          onChangeText: function onChangeText(text) {
            return _this2.setState({
              input: text
            });
          },
          value: input,
          returnKeyType: "done",
          placeholder: hint,
          placeholderTextColor: _$$_REQUIRE(_dependencyMap[11]).colors.grey
        }));
      }
    }]);
    return FilterText;
  }(_react.default.Component);

  exports.FilterText = FilterText;
  FilterText.propTypes = {
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number]),
    borderColor: _propTypes.default.string,
    hint: _propTypes.default.string,
    defaultSearch: _propTypes.default.string
  };
},2497,[5,7,8,12,14,16,17,201,28,2257,2498,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    text: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white,
      height: _$$_REQUIRE(_dependencyMap[2]).filterStyles.LINE_HEIGHT,
      margin: _$$_REQUIRE(_dependencyMap[2]).filterStyles.MARGIN,
      borderWidth: _$$_REQUIRE(_dependencyMap[2]).filterStyles.BORDER_WIDTH,
      borderRadius: _$$_REQUIRE(_dependencyMap[2]).filterStyles.BORDER_RADIUS
    }
  });

  exports.styles = styles;
},2498,[28,462,2487]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2499,[2500]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.FilterLocation = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[12]);

  var _RssIndexConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _fontTextInput = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _modal = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  function parseApiCitiesResult(result) {
    if (result === undefined || typeof result === "string" || typeof result === "number") {
      return [];
    }

    var parsed;

    if (!Array.isArray(result)) {
      parsed = [result];
    } else {
      parsed = result;
    }

    return parsed.map(function (item) {
      var lng = item.lng,
          rest = (0, _objectWithoutProperties2.default)(item, ["lng"]);
      return (0, _extends2.default)({}, rest, {
        lon: lng
      });
    });
  }

  function getCities(input) {
    var result;
    return _regenerator.default.async(function getCities$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            _context.prev = 0;
            _context.next = 3;
            return _regenerator.default.awrap(_Api.default.cities(input));

          case 3:
            result = _context.sent.data;
            return _context.abrupt("return", parseApiCitiesResult(result));

          case 7:
            _context.prev = 7;
            _context.t0 = _context["catch"](0);

          case 9:
            return _context.abrupt("return", []);

          case 10:
          case "end":
            return _context.stop();
        }
      }
    }, null, null, [[0, 7]], Promise);
  }

  function getClosestCities() {
    var location,
        result,
        _args2 = arguments;
    return _regenerator.default.async(function getClosestCities$(_context2) {
      while (1) {
        switch (_context2.prev = _context2.next) {
          case 0:
            location = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : {};
            _context2.prev = 1;
            _context2.next = 4;
            return _regenerator.default.awrap(_Api.default.closestCities(location));

          case 4:
            result = _context2.sent.data;
            return _context2.abrupt("return", parseApiCitiesResult(result));

          case 8:
            _context2.prev = 8;
            _context2.t0 = _context2["catch"](1);

          case 10:
            return _context2.abrupt("return", []);

          case 11:
          case "end":
            return _context2.stop();
        }
      }
    }, null, null, [[1, 8]], Promise);
  }

  var FilterLocation = function (_React$Component) {
    (0, _inherits2.default)(FilterLocation, _React$Component);

    var _super = _createSuper(FilterLocation);

    function FilterLocation(props) {
      var _this;

      (0, _classCallCheck2.default)(this, FilterLocation);
      _this = _super.call(this, props);
      _this.state = {
        input: "",
        switchValue: props.useLocation || false,
        data: [],
        modal: false
      };
      _this.toggleModal = _this._toggleModal.bind((0, _assertThisInitialized2.default)(_this));
      _this.onTextChange = _this._onTextChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSelectItem = _this._onSelectItem.bind((0, _assertThisInitialized2.default)(_this));
      _this.renderItem = _this._renderItem.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSwitchChange = _this._onSwitchChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLayout = _this._onLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLocationChange = _this._onLocationChange.bind((0, _assertThisInitialized2.default)(_this));

      var _global$getRssIndex = global.getRssIndex(),
          actionBarBackgroundColor = _global$getRssIndex.actionBarBackgroundColor,
          supportColor = _global$getRssIndex.supportColor;

      _this.textColor = props.textColor || actionBarBackgroundColor;
      _this.borderColor = props.borderColor || supportColor;

      _this._initDefaultLocation(props);

      if (props.useLocation) {
        _this._manageLocation(props.useLocation);
      }

      return _this;
    }

    (0, _createClass2.default)(FilterLocation, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this._initDefaultCity();
      }
    }, {
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(newProps) {
        this._initDefaultLocation(newProps);

        this._initDefaultCity();
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this._unWatch();
      }
    }, {
      key: "getValue",
      value: function getValue() {
        var _this$state = this.state,
            input = _this$state.input,
            switchValue = _this$state.switchValue;
        return {
          input: input,
          city: this.selected ? this.selected.city : "",
          state: this.selected ? this.selected.state : "",
          zip: this.selected ? this.selected.zip : "",
          latitude: this.selected ? this.selected.lat : "",
          longitude: this.selected ? this.selected.lon : "",
          useLocation: switchValue
        };
      }
    }, {
      key: "_initDefaultLocation",
      value: function _initDefaultLocation() {
        var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};

        var _global$getRssIndex2 = global.getRssIndex(),
            latitude = _global$getRssIndex2.latitude,
            longitude = _global$getRssIndex2.longitude;

        if (props.latitude && props.longitude) {
          latitude = props.latitude;
          longitude = props.longitude;
        }

        this.selected = {
          lat: latitude,
          lon: longitude
        };
      }
    }, {
      key: "_initDefaultCity",
      value: function _initDefaultCity() {
        var item;
        return _regenerator.default.async(function _initDefaultCity$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _context3.prev = 0;

                if (!this.selected) {
                  _context3.next = 6;
                  break;
                }

                _context3.next = 4;
                return _regenerator.default.awrap(getClosestCities(this.selected));

              case 4:
                item = _context3.sent[0];

                if (item !== undefined) {
                  this.selected = item;

                  this._updateInput(item.city + ", " + item.state);
                }

              case 6:
                _context3.next = 10;
                break;

              case 8:
                _context3.prev = 8;
                _context3.t0 = _context3["catch"](0);

              case 10:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, [[0, 8]], Promise);
      }
    }, {
      key: "_manageLocation",
      value: function _manageLocation(enable) {
        return _regenerator.default.async(function _manageLocation$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                if (enable) {
                  if (this.geolocation === undefined) {
                    this.geolocation = new (_$$_REQUIRE(_dependencyMap[18]).LocationMgr)();
                  }

                  this.geolocation.watchPosition(this.onLocationChange);
                } else {
                  this._unWatch();
                }

              case 1:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_onLocationChange",
      value: function _onLocationChange(_ref) {
        var coords, data;
        return _regenerator.default.async(function _onLocationChange$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                coords = _ref.coords;
                _context5.prev = 1;
                _context5.next = 4;
                return _regenerator.default.awrap(this._updateListByLocation(coords));

              case 4:
                data = _context5.sent;

                if (data.length === 0) {
                  _$$_REQUIRE(_dependencyMap[19]).Toast.show(global.strings("msg_zip_not_found"));

                  this._updateSwitch(false);
                } else {
                  this.selected = data[0];
                  this.setState({
                    input: data[0].city + ", " + data[0].state
                  });
                }

                _context5.next = 11;
                break;

              case 8:
                _context5.prev = 8;
                _context5.t0 = _context5["catch"](1);

                this._updateSwitch(false);

              case 11:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, [[1, 8]], Promise);
      }
    }, {
      key: "_unWatch",
      value: function _unWatch() {
        if (this.geolocation && this.geolocation.isWatching()) {
          this.geolocation.unWatch();
        }
      }
    }, {
      key: "_updateSwitch",
      value: function _updateSwitch(value) {
        var onDisableSwitch = this.props.onDisableSwitch;

        if (!value) {
          this._initDefaultLocation(this.props);

          this._initDefaultCity();

          if (typeof onDisableSwitch === "function") {
            onDisableSwitch();
          }
        }

        this.setState({
          switchValue: value,
          data: []
        });
      }
    }, {
      key: "_updateInput",
      value: function _updateInput(text) {
        this.setState({
          input: text,
          switchValue: false,
          data: []
        });

        this._unWatch();
      }
    }, {
      key: "_updateListByLocation",
      value: function _updateListByLocation(location) {
        var _global$getRssIndex3, latitude, longitude, lon, lat;

        return _regenerator.default.async(function _updateListByLocation$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                _global$getRssIndex3 = global.getRssIndex(), latitude = _global$getRssIndex3.latitude, longitude = _global$getRssIndex3.longitude;
                lon = location ? location.longitude : longitude;
                lat = location ? location.latitude : latitude;
                return _context6.abrupt("return", getClosestCities({
                  lat: lat,
                  lon: lon
                }));

              case 4:
              case "end":
                return _context6.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "_filterData",
      value: function _filterData(input) {
        var cities;
        return _regenerator.default.async(function _filterData$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                _context7.prev = 0;
                _context7.next = 3;
                return _regenerator.default.awrap(getCities({
                  wording: input
                }));

              case 3:
                cities = _context7.sent;
                this.setState({
                  data: cities
                });
                _context7.next = 9;
                break;

              case 7:
                _context7.prev = 7;
                _context7.t0 = _context7["catch"](0);

              case 9:
              case "end":
                return _context7.stop();
            }
          }
        }, null, this, [[0, 7]], Promise);
      }
    }, {
      key: "_toggleModal",
      value: function _toggleModal() {
        var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
        this.setState({
          modal: state
        });
      }
    }, {
      key: "_onTextChange",
      value: function _onTextChange(text) {
        this._updateInput(text);

        if (text.length > 2) {
          this._filterData(text);
        }
      }
    }, {
      key: "_onSelectItem",
      value: function _onSelectItem(item) {
        var onSelect = this.props.onSelect;
        this.selected = item;

        this._updateInput(item.city + ", " + item.state);

        if (onSelect) {
          onSelect();
        }

        this._toggleModal(false);
      }
    }, {
      key: "_onSwitchChange",
      value: function _onSwitchChange(value) {
        this._manageLocation(value);

        this._updateSwitch(value);
      }
    }, {
      key: "_onLayout",
      value: function _onLayout() {
        this.inputWidth = "100%";
      }
    }, {
      key: "_renderItem",
      value: function _renderItem(_ref2) {
        var _this2 = this;

        var item = _ref2.item,
            index = _ref2.index;
        var switchValue = this.state.switchValue;
        return _react.default.createElement(_reactNative.TouchableWithoutFeedback, {
          key: index,
          onPress: function onPress() {
            return _this2.onSelectItem(item);
          }
        }, !switchValue ? _react.default.createElement(_reactNative.View, {
          style: [_$$_REQUIRE(_dependencyMap[20]).styles.listItem]
        }, _react.default.createElement(_reactNative.Text, {
          style: [_$$_REQUIRE(_dependencyMap[20]).styles.text, _$$_REQUIRE(_dependencyMap[20]).styles.textCity, {
            color: _$$_REQUIRE(_dependencyMap[18]).colors.md_black_1000
          }]
        }, (item.city || "") + ", " + (item.state || "")), _react.default.createElement(_reactNative.Text, {
          style: [_$$_REQUIRE(_dependencyMap[20]).styles.text, _$$_REQUIRE(_dependencyMap[20]).styles.textZip]
        }, item.zip)) : _react.default.createElement(_reactNative.View, null));
      }
    }, {
      key: "_getModal",
      value: function _getModal() {
        var hint = this.props.hint;
        var borderColor = this.borderColor;
        var _this$state2 = this.state,
            input = _this$state2.input,
            data = _this$state2.data;
        var modal = this.state.modal;
        var inputWidth = this.inputWidth ? this.inputWidth : _deviceUtils.default.screenDimensions.width - _$$_REQUIRE(_dependencyMap[21]).filterStyles.MARGIN * 2;
        return _react.default.createElement(_modal.default, {
          transparent: true,
          visible: modal,
          containerStyle: {
            padding: 0
          }
        }, _react.default.createElement(_reactNative.View, {
          style: [{
            width: inputWidth
          }]
        }, _react.default.createElement(_fontTextInput.default, {
          autoFocus: true,
          style: [_$$_REQUIRE(_dependencyMap[20]).styles.textInput, _$$_REQUIRE(_dependencyMap[20]).styles.textInputModal, {
            borderColor: borderColor,
            color: _$$_REQUIRE(_dependencyMap[18]).colors.md_black_1000
          }],
          underlineColorAndroid: borderColor,
          onChangeText: this.onTextChange,
          value: input,
          returnKeyType: "search",
          placeholder: hint,
          placeholderTextColor: _$$_REQUIRE(_dependencyMap[18]).colors.grey
        }), data && data.length ? _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[20]).styles.list
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[22]).TecnaviaFlatList, {
          data: data,
          renderItem: this.renderItem
        })) : null));
      }
    }, {
      key: "render",
      value: function render() {
        var borderColor = this.borderColor,
            textColor = this.textColor;
        var _this$props = this.props,
            hint = _this$props.hint,
            style = _this$props.style,
            onPopulateSelect = _this$props.onPopulateSelect;
        var _this$state3 = this.state,
            input = _this$state3.input,
            switchValue = _this$state3.switchValue,
            data = _this$state3.data;

        if (onPopulateSelect) {
          onPopulateSelect(data && data.length);
        }

        return _react.default.createElement(_reactNative.View, {
          style: [{
            flexDirection: "column"
          }, style]
        }, this._getModal(), _react.default.createElement(_reactNative.View, {
          style: [_$$_REQUIRE(_dependencyMap[20]).styles.parent, {
            borderColor: borderColor
          }]
        }, _react.default.createElement(_reactNative.View, {
          style: [_$$_REQUIRE(_dependencyMap[20]).styles.parentMyLocation, {
            backgroundColor: borderColor
          }]
        }, _react.default.createElement(_reactNative.Text, {
          style: [_$$_REQUIRE(_dependencyMap[20]).styles.text, _$$_REQUIRE(_dependencyMap[20]).styles.textMyLocation, {
            color: textColor
          }]
        }, global.strings("my_location")), _react.default.createElement(_reactNative.Switch, {
          style: _$$_REQUIRE(_dependencyMap[20]).styles.switchMyLocation,
          onValueChange: this.onSwitchChange,
          value: switchValue,
          ios_backgroundColor: _$$_REQUIRE(_dependencyMap[18]).colors.grey200
        })), _react.default.createElement(_reactNative.TouchableOpacity, {
          onPress: this.toggleModal
        }, _react.default.createElement(_reactNative.View, {
          pointerEvents: "none"
        }, _react.default.createElement(_fontTextInput.default, {
          onLayout: this.onLayout,
          style: [_$$_REQUIRE(_dependencyMap[20]).styles.textInput, {
            padding: 5,
            color: _$$_REQUIRE(_dependencyMap[18]).colors.md_black_1000
          }],
          underlineColorAndroid: borderColor,
          value: input,
          returnKeyType: "search",
          placeholder: hint || global.strings("filter_text"),
          placeholderTextColor: _$$_REQUIRE(_dependencyMap[18]).colors.grey,
          editable: false
        })))));
      }
    }]);
    return FilterLocation;
  }(_react.default.Component);

  exports.FilterLocation = FilterLocation;
  FilterLocation.propTypes = {
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.number]),
    textColor: _propTypes.default.string,
    borderColor: _propTypes.default.string,
    hint: _propTypes.default.string,
    onPopulateSelect: _propTypes.default.func,
    onSelect: _propTypes.default.func,
    latitude: _propTypes.default.string,
    longitude: _propTypes.default.string,
    useLocation: _propTypes.default.bool,
    onDisableSwitch: _propTypes.default.func
  };
},2500,[5,80,7,8,15,12,14,16,6,108,17,201,28,2044,431,458,2257,1882,462,1889,2501,2487,1910]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    parent: {
      flexDirection: "column",
      marginTop: _$$_REQUIRE(_dependencyMap[1]).filterStyles.MARGIN,
      marginBottom: _$$_REQUIRE(_dependencyMap[1]).filterStyles.BORDER_WIDTH * 2,
      marginStart: _$$_REQUIRE(_dependencyMap[1]).filterStyles.MARGIN,
      marginEnd: _$$_REQUIRE(_dependencyMap[1]).filterStyles.MARGIN,
      borderWidth: _$$_REQUIRE(_dependencyMap[1]).filterStyles.BORDER_WIDTH,
      borderRadius: _$$_REQUIRE(_dependencyMap[1]).filterStyles.BORDER_RADIUS
    },
    text: {
      padding: _$$_REQUIRE(_dependencyMap[1]).filterStyles.TEXT_PADDING
    },
    textMyLocation: {
      flex: 3
    },
    switchMyLocation: {
      marginRight: 20
    },
    parentMyLocation: {
      height: _$$_REQUIRE(_dependencyMap[1]).filterStyles.LINE_HEIGHT,
      flexDirection: "row",
      justifyContent: "center",
      alignItems: "center"
    },
    textCity: {
      flex: 3
    },
    textZip: {
      flex: 1,
      textAlign: "right"
    },
    textInput: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[2]).colors.white,
      height: _$$_REQUIRE(_dependencyMap[1]).filterStyles.LINE_HEIGHT,
      borderBottomLeftRadius: _$$_REQUIRE(_dependencyMap[1]).filterStyles.BORDER_RADIUS,
      borderBottomRightRadius: _$$_REQUIRE(_dependencyMap[1]).filterStyles.BORDER_RADIUS
    },
    modal: {
      flex: 1,
      alignItems: "center",
      justifyContent: "center",
      backgroundColor: _$$_REQUIRE(_dependencyMap[2]).colors.transparent200
    },
    modalBackground: {
      margin: 0
    },
    parentModal: {
      flexDirection: "column",
      marginTop: _$$_REQUIRE(_dependencyMap[1]).filterStyles.MARGIN,
      marginStart: _$$_REQUIRE(_dependencyMap[1]).filterStyles.MARGIN,
      marginEnd: _$$_REQUIRE(_dependencyMap[1]).filterStyles.MARGIN
    },
    textInputModal: {
      opacity: 1,
      margin: _$$_REQUIRE(_dependencyMap[1]).filterStyles.MARGIN,
      padding: 5,
      borderTopLeftRadius: _$$_REQUIRE(_dependencyMap[1]).filterStyles.BORDER_RADIUS,
      borderTopRightRadius: _$$_REQUIRE(_dependencyMap[1]).filterStyles.BORDER_RADIUS
    },
    list: {
      marginTop: _$$_REQUIRE(_dependencyMap[1]).filterStyles.MARGIN,
      marginBottom: _$$_REQUIRE(_dependencyMap[1]).filterStyles.MARGIN,
      padding: _$$_REQUIRE(_dependencyMap[1]).filterStyles.MARGIN
    },
    listItem: {
      flexDirection: "row",
      height: _$$_REQUIRE(_dependencyMap[1]).filterStyles.LINE_HEIGHT,
      justifyContent: "center",
      alignItems: "center"
    }
  });

  exports.styles = styles;
},2501,[28,2487,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2502,[2503]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.JobSearchScreen = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var JobSearchScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(JobSearchScreen, _NavigationBaseScreen);

    var _super = _createSuper(JobSearchScreen);

    function JobSearchScreen() {
      (0, _classCallCheck2.default)(this, JobSearchScreen);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(JobSearchScreen, [{
      key: "handleBackButton",
      value: function handleBackButton() {
        var navigation = this.props.navigation;
        navigation.goBack(null);
        return (0, _get2.default)((0, _getPrototypeOf2.default)(JobSearchScreen.prototype), "handleBackButton", this).call(this);
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "Job Search";
      }
    }, {
      key: "getBaseSearchString",
      value: function getBaseSearchString(_ref) {
        var city = _ref.city,
            job_status = _ref.job_status,
            job_type = _ref.job_type;
        var string = "";

        if (city) {
          string += city + " ";
        }

        if (job_status) {
          string += (0, _$$_REQUIRE(_dependencyMap[12]).getJobDuration)(job_status) + " ";
        }

        if (job_type) {
          string += "" + (0, _$$_REQUIRE(_dependencyMap[12]).getJobType)(job_type);
        }

        return string;
      }
    }, {
      key: "getAdvanceSearchString",
      value: function getAdvanceSearchString(_ref2) {
        var salary_min = _ref2.salary_min,
            salary_max = _ref2.salary_max,
            day_published = _ref2.day_published;
        var string = "";

        if (day_published) {
          string += "from " + day_published + " ";
        }

        if (salary_min && salary_max) {
          string += "with salary between " + salary_min + " and " + salary_max;
        } else if (salary_min) {
          string += "with salary greater than " + salary_min;
        } else if (salary_max) {
          string += "with salary lower than " + salary_min;
        }

        return string;
      }
    }, {
      key: "render",
      value: function render() {
        var _this = this;

        var navigation = this.props.navigation;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).VerticalSearchesList, {
          eventName: _events.default.TOGGLE_JOB_SEARCH,
          color: (0, _$$_REQUIRE(_dependencyMap[12]).getJobColor)(),
          totalKey: "total_searches",
          searchVerticalManager: global.getVerticalsConfig().getJob(),
          onItemPress: function onItemPress(item) {
            navigation.navigate("VerticalListScreen", {
              filters: (0, _extends2.default)({}, item)
            });
          },
          renderItem: function renderItem(item) {
            var title = item.term || global.strings("all_jobs");

            var base = _this.getBaseSearchString(item);

            var advance = _this.getAdvanceSearchString(item);

            return _react.default.createElement(_reactNative.View, {
              style: _$$_REQUIRE(_dependencyMap[14]).styles.line
            }, _react.default.createElement(_fontText.default, {
              style: _$$_REQUIRE(_dependencyMap[14]).styles.title,
              type: _fontText.Type.bold
            }, title), base ? _react.default.createElement(_fontText.default, {
              style: _$$_REQUIRE(_dependencyMap[14]).styles.subtitle,
              type: _fontText.Type.medium
            }, base) : null, advance ? _react.default.createElement(_fontText.default, {
              style: _$$_REQUIRE(_dependencyMap[14]).styles.subtitle,
              type: _fontText.Type.medium
            }, advance) : null);
          },
          onEmptyPress: function onEmptyPress() {
            navigation.navigate("VerticalFiltersScreen");
          }
        });
      }
    }]);
    return JobSearchScreen;
  }(_$$_REQUIRE(_dependencyMap[15]).NavigationBaseScreen);

  exports.JobSearchScreen = JobSearchScreen;
},2503,[5,6,7,8,90,12,14,16,17,28,460,1879,2474,2504,2507,2148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2504,[2505]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.VerticalSearchesList = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var VerticalSearchesList = function (_React$Component) {
    (0, _inherits2.default)(VerticalSearchesList, _React$Component);

    var _super = _createSuper(VerticalSearchesList);

    function VerticalSearchesList(props) {
      var _this;

      (0, _classCallCheck2.default)(this, VerticalSearchesList);
      _this = _super.call(this, props);
      _this.state = {
        items: [],
        loading: true
      };
      return _this;
    }

    (0, _createClass2.default)(VerticalSearchesList, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        var eventName = this.props.eventName;
        this.toggleSearch = _$$_REQUIRE(_dependencyMap[12]).EventRegister.on(eventName, function () {
          _this2._retrieveData();
        });

        this._retrieveData();
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[12]).EventRegister.rm(this.toggleSearch);
      }
    }, {
      key: "_retrieveData",
      value: function _retrieveData() {
        var searchVerticalManager, items, defaultSearch, lastSearch, searches;
        return _regenerator.default.async(function _retrieveData$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                searchVerticalManager = this.props.searchVerticalManager;
                items = [];
                defaultSearch = searchVerticalManager.getDefaultSearch();

                if (defaultSearch) {
                  items.push({
                    title: global.strings("default_search"),
                    data: [defaultSearch]
                  });
                }

                lastSearch = searchVerticalManager.getLastSearch();

                if (lastSearch) {
                  items.push({
                    title: global.strings("last_search"),
                    data: [lastSearch]
                  });
                }

                searches = searchVerticalManager.getSearches();

                if (searches) {
                  items.push({
                    title: global.strings("saved_searches"),
                    data: searches
                  });
                }

                this.setState({
                  items: items,
                  loading: false
                });

              case 9:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_getEmpty",
      value: function _getEmpty() {
        var onEmptyPress = this.props.onEmptyPress;
        return this._getIconView("surprise", global.strings("msg_empty_searches"), onEmptyPress);
      }
    }, {
      key: "_getIconView",
      value: function _getIconView(icon, message, callback) {
        var color = this.props.color;
        return _react.default.createElement(_reactNative.TouchableOpacity, {
          onPress: function onPress() {
            if (callback) {
              callback();
            }
          },
          style: _$$_REQUIRE(_dependencyMap[13]).styles.message
        }, _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[13]).styles.message
        }, _react.default.createElement(_iconComponent.default, {
          type: _iconComponent.TecnaviaIconType.FONT_AWESOME_5,
          name: icon,
          size: 70,
          color: color
        }), _react.default.createElement(_fontText.default, {
          style: [_$$_REQUIRE(_dependencyMap[13]).styles.messageText, {
            color: color
          }]
        }, message)));
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            _renderItem = _this$props.renderItem,
            color = _this$props.color,
            onItemPress = _this$props.onItemPress,
            totalKey = _this$props.totalKey;
        var _this$state = this.state,
            items = _this$state.items,
            loading = _this$state.loading;

        if (loading) {
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).ProgressCircle, {
            spinnerColor: color
          });
        }

        if (!items || !items.length) {
          return this._getEmpty();
        }

        return _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1,
            flexDirection: "column"
          }
        }, totalKey ? _react.default.createElement(_reactNative.View, {
          style: {
            backgroundColor: color,
            flexDirection: "row",
            justifyContent: "center",
            alignItems: "center",
            padding: 5
          }
        }, _react.default.createElement(_fontText.default, {
          style: {
            fontSize: 15,
            textAlign: "center",
            color: _$$_REQUIRE(_dependencyMap[15]).colors.white
          }
        }, global.strings(totalKey, {
          total: items.find(function (el) {
            return el.title === global.strings("saved_searches");
          }).data.length
        }))) : null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).TecnaviaSectionList, {
          style: {
            flex: 1
          },
          sections: items,
          extraData: items,
          keyExtractor: function keyExtractor(item) {
            return item.id;
          },
          renderItem: function renderItem(_ref) {
            var item = _ref.item,
                index = _ref.index;

            if (_renderItem) {
              return _react.default.createElement(_reactNative.TouchableWithoutFeedback, {
                style: {
                  width: 200
                },
                onPress: function onPress() {
                  if (onItemPress) {
                    onItemPress(item);
                  }
                }
              }, _renderItem(item, index));
            }

            return null;
          },
          renderSectionHeader: function renderSectionHeader(section) {
            var title = "";

            if (section && section.section && section.section.title) {
              title = section.section.title;
            }

            return _react.default.createElement(_reactNative.View, {
              style: {
                height: 40,
                flexDirection: "row",
                justifyContent: "flex-start",
                backgroundColor: color
              }
            }, _react.default.createElement(_reactNative.Text, {
              style: {
                fontSize: 18,
                fontWeight: "bold",
                color: _$$_REQUIRE(_dependencyMap[15]).colors.white,
                padding: 10
              }
            }, title));
          }
        }));
      }
    }]);
    return VerticalSearchesList;
  }(_react.default.Component);

  exports.VerticalSearchesList = VerticalSearchesList;
  VerticalSearchesList.propTypes = {
    color: _propTypes.default.string.isRequired,
    totalKey: _propTypes.default.string.isRequired,
    renderItem: _propTypes.default.func.isRequired,
    eventName: _propTypes.default.string.isRequired,
    searchVerticalManager: _propTypes.default.shape({
      getSearches: _propTypes.default.func.isRequired,
      getLastSearch: _propTypes.default.func
    }).isRequired,
    onEmptyPress: _propTypes.default.func,
    onItemPress: _propTypes.default.func
  };
},2505,[5,80,7,8,12,14,16,17,201,28,1879,1806,572,2506,1953,462,1910]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    message: {
      flex: 1,
      justifyContent: "center",
      alignItems: "center",
      flexDirection: "column"
    },
    messageText: {
      paddingVertical: 20,
      paddingHorizontal: 50,
      textAlign: "center"
    },
    loading: {
      position: "absolute",
      bottom: 0,
      start: 0,
      end: 0,
      height: 50,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white
    },
    actionButtonImage: {
      height: 20,
      width: 20
    },
    actionButtonIcon: {
      fontSize: 20,
      height: 22,
      color: _$$_REQUIRE(_dependencyMap[1]).colors.white
    }
  });

  exports.styles = styles;
},2506,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    line: {
      flexDirection: "column",
      padding: 10,
      borderBottomWidth: 0.5,
      borderColor: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      justifyContent: "center"
    },
    title: {
      fontSize: 20,
      flex: 1
    },
    subtitle: {
      fontSize: 20,
      flex: 1
    }
  });

  exports.styles = styles;
},2507,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2508,[2509]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.JobFavoritesScreen = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var JobFavoritesScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(JobFavoritesScreen, _NavigationBaseScreen);

    var _super = _createSuper(JobFavoritesScreen);

    function JobFavoritesScreen() {
      (0, _classCallCheck2.default)(this, JobFavoritesScreen);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(JobFavoritesScreen, [{
      key: "handleBackButton",
      value: function handleBackButton() {
        var navigation = this.props.navigation;
        navigation.goBack(null);
        return (0, _get2.default)((0, _getPrototypeOf2.default)(JobFavoritesScreen.prototype), "handleBackButton", this).call(this);
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "Job Favorites";
      }
    }, {
      key: "render",
      value: function render() {
        var navigation = this.props.navigation;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).VerticalFavoritesList, {
          eventName: _events.default.TOGGLE_JOB_FAVORITE,
          color: (0, _$$_REQUIRE(_dependencyMap[10]).getJobColor)(),
          totalKey: "total_favorites",
          searchVerticalManager: global.getVerticalsConfig().getJob(),
          renderItem: function renderItem(item) {
            return _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).JobListItem, {
              item: item,
              onItemPress: function onItemPress(clicked) {
                navigation.navigate("VerticalDetailScreen", {
                  url: (0, _$$_REQUIRE(_dependencyMap[10]).getJobUrlPageById)(clicked.id)
                });
              },
              manager: global.getVerticalsConfig().getJob(),
              color: (0, _$$_REQUIRE(_dependencyMap[10]).getJobColor)()
            });
          },
          onEmptyPress: function onEmptyPress() {
            navigation.navigate("VerticalFiltersScreen");
          }
        });
      }
    }]);
    return JobFavoritesScreen;
  }(_$$_REQUIRE(_dependencyMap[12]).NavigationBaseScreen);

  exports.JobFavoritesScreen = JobFavoritesScreen;
},2509,[5,7,8,90,12,14,16,17,460,2510,2474,2513,2148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2510,[2511]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.VerticalFavoritesList = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var VerticalFavoritesList = function (_React$Component) {
    (0, _inherits2.default)(VerticalFavoritesList, _React$Component);

    var _super = _createSuper(VerticalFavoritesList);

    function VerticalFavoritesList(props) {
      var _this;

      (0, _classCallCheck2.default)(this, VerticalFavoritesList);
      _this = _super.call(this, props);
      _this.state = {
        items: [],
        loading: true
      };
      return _this;
    }

    (0, _createClass2.default)(VerticalFavoritesList, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        var eventName = this.props.eventName;
        this.toggleFavorite = _$$_REQUIRE(_dependencyMap[12]).EventRegister.on(eventName, function () {
          _this2._retrieveData();
        });

        this._retrieveData();
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[12]).EventRegister.rm(this.toggleFavorite);
      }
    }, {
      key: "_retrieveData",
      value: function _retrieveData() {
        var searchVerticalManager;
        return _regenerator.default.async(function _retrieveData$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                searchVerticalManager = this.props.searchVerticalManager;
                this.setState({
                  items: searchVerticalManager.getFavorites(),
                  loading: false
                });

              case 2:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_getEmpty",
      value: function _getEmpty() {
        var onEmptyPress = this.props.onEmptyPress;
        return this._getIconView("surprise", global.strings("msg_empty_favorites"), onEmptyPress);
      }
    }, {
      key: "_getIconView",
      value: function _getIconView(icon, message, callback) {
        var color = this.props.color;
        return _react.default.createElement(_reactNative.TouchableOpacity, {
          onPress: function onPress() {
            if (callback) {
              callback();
            }
          },
          style: _$$_REQUIRE(_dependencyMap[13]).styles.message
        }, _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[13]).styles.message
        }, _react.default.createElement(_iconComponent.default, {
          type: _iconComponent.TecnaviaIconType.FONT_AWESOME_5,
          name: icon,
          size: 70,
          color: color
        }), _react.default.createElement(_fontText.default, {
          style: [_$$_REQUIRE(_dependencyMap[13]).styles.messageText, {
            color: color
          }]
        }, message)));
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            _renderItem = _this$props.renderItem,
            color = _this$props.color,
            onItemPress = _this$props.onItemPress,
            totalKey = _this$props.totalKey;
        var itemKey = this.props.itemKey;
        var _this$state = this.state,
            items = _this$state.items,
            loading = _this$state.loading;

        if (!itemKey) {
          itemKey = "id";
        }

        if (loading) {
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).ProgressCircle, {
            spinnerColor: color
          });
        }

        if (!items || !items.length) {
          return this._getEmpty();
        }

        return _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1,
            flexDirection: "column"
          }
        }, totalKey ? _react.default.createElement(_reactNative.View, {
          style: {
            backgroundColor: color,
            flexDirection: "row",
            justifyContent: "center",
            alignItems: "center",
            padding: 5
          }
        }, _react.default.createElement(_fontText.default, {
          style: {
            fontSize: 15,
            textAlign: "center",
            color: _$$_REQUIRE(_dependencyMap[15]).colors.white
          }
        }, global.strings(totalKey, {
          total: items.length
        }))) : null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).TecnaviaFlatList, {
          style: {
            flex: 1
          },
          data: items,
          extraData: this.state,
          keyExtractor: function keyExtractor(item) {
            return item[itemKey];
          },
          renderItem: function renderItem(_ref) {
            var item = _ref.item,
                index = _ref.index;

            if (_renderItem) {
              return _react.default.createElement(_reactNative.TouchableOpacity, {
                onPress: function onPress() {
                  if (onItemPress) {
                    onItemPress(item);
                  }
                }
              }, _renderItem(item, index));
            }

            return null;
          }
        }));
      }
    }]);
    return VerticalFavoritesList;
  }(_react.default.Component);

  exports.VerticalFavoritesList = VerticalFavoritesList;
  VerticalFavoritesList.propTypes = {
    color: _propTypes.default.string.isRequired,
    totalKey: _propTypes.default.string.isRequired,
    renderItem: _propTypes.default.func.isRequired,
    eventName: _propTypes.default.string.isRequired,
    onEmptyPress: _propTypes.default.func,
    onItemPress: _propTypes.default.func.isRequired,
    searchVerticalManager: _propTypes.default.shape({
      getFavorites: _propTypes.default.func.isRequired
    }).isRequired,
    itemKey: _propTypes.default.string
  };
},2511,[5,80,7,8,12,14,16,17,201,28,1879,1806,572,2512,1953,462,1910]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    message: {
      flex: 1,
      justifyContent: "center",
      alignItems: "center",
      flexDirection: "column"
    },
    messageText: {
      paddingVertical: 20,
      paddingHorizontal: 50,
      textAlign: "center"
    },
    loading: {
      position: "absolute",
      bottom: 0,
      start: 0,
      end: 0,
      height: 50,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white
    },
    actionButtonImage: {
      height: 20,
      width: 20
    },
    actionButtonIcon: {
      fontSize: 20,
      height: 22,
      color: _$$_REQUIRE(_dependencyMap[1]).colors.white
    }
  });

  exports.styles = styles;
},2512,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.JobListItem = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _reactNativeShare = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var _iconTile = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[13]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var JobListItem = function (_React$Component) {
    (0, _inherits2.default)(JobListItem, _React$Component);

    var _super = _createSuper(JobListItem);

    function JobListItem() {
      (0, _classCallCheck2.default)(this, JobListItem);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(JobListItem, [{
      key: "shouldComponentUpdate",
      value: function shouldComponentUpdate() {
        return false;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            item = _this$props.item,
            manager = _this$props.manager,
            color = _this$props.color,
            onItemPress = _this$props.onItemPress;
        return _react.default.createElement(_reactNative.TouchableOpacity, {
          onPress: function onPress() {
            if (onItemPress) {
              onItemPress(item);
            }
          }
        }, _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[14]).styles.line
        }, _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[14]).styles.header
        }, _react.default.createElement(_fontText.default, {
          style: _$$_REQUIRE(_dependencyMap[14]).styles.title,
          type: _fontText.Type.bold
        }, item.heading), _react.default.createElement(_iconTile.default, {
          parentStyle: {
            position: "relative",
            top: 0
          },
          icons: [{
            title: global.strings("action_share"),
            component: function component(style) {
              return _react.default.createElement(_iconComponent.default, {
                type: _iconComponent.TecnaviaIconType.MATERIAL_ICONS,
                name: "share",
                style: style
              });
            },
            onPress: function onPress(clicked) {
              var shareOptions = {
                url: (0, _$$_REQUIRE(_dependencyMap[15]).getJobUrlPageById)(clicked.item.id),
                message: clicked.item.heading
              };

              _reactNativeShare.default.open(shareOptions);
            }
          }, {
            title: !manager.favoriteIsStored(item) ? global.strings("action_save_for_later") : global.strings("action_remove_from_favorites"),
            component: function component(style) {
              return _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).IconFavorite, {
                item: item,
                size: 20,
                style: style,
                eventToggleItemChecker: function eventToggleItemChecker(currentItem, params) {
                  return currentItem.id === params.id;
                },
                toggleFavoritesEventName: _events.default.TOGGLE_JOB_FAVORITE,
                isFavoriteChecker: function isFavoriteChecker(toCheck) {
                  return manager.favoriteIsStored(toCheck);
                }
              });
            },
            onPress: function onPress(clicked) {
              manager.toggleFavorite(clicked);
            }
          }],
          tintColor: color,
          item: item,
          availableSpace: _$$_REQUIRE(_dependencyMap[17]).PlatformUtils.isTablet() ? 2 : 1,
          border: true
        })), _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[14]).styles.subline
        }, _react.default.createElement(_fontText.default, {
          style: _$$_REQUIRE(_dependencyMap[14]).styles.make,
          type: _fontText.Type.medium
        }, item.make), item.dateentered ? _react.default.createElement(_fontText.default, {
          style: _$$_REQUIRE(_dependencyMap[14]).styles.date,
          type: _fontText.Type.medium
        }, _$$_REQUIRE(_dependencyMap[17]).DateUtils.getMomentDate(item.dateentered, "MM/DD/YYYY").fromNow()) : null), _react.default.createElement(_fontText.default, {
          style: _$$_REQUIRE(_dependencyMap[14]).styles.description
        }, item.description), _react.default.createElement(_fontText.default, {
          style: _$$_REQUIRE(_dependencyMap[14]).styles.salary,
          type: _fontText.Type.medium
        }, item.price ? global.strings("salary", {
          salary: item.price
        }) : global.strings("unknown_salary"))));
      }
    }]);
    return JobListItem;
  }(_react.default.Component);

  exports.JobListItem = JobListItem;
  JobListItem.propTypes = {
    item: _propTypes.default.shape({
      heading: _propTypes.default.string,
      subline: _propTypes.default.string,
      make: _propTypes.default.string,
      description: _propTypes.default.string,
      dateentered: _propTypes.default.string,
      price: _propTypes.default.number
    }).isRequired,
    manager: _propTypes.default.shape({
      favoriteIsStored: _propTypes.default.func.isRequired,
      toggleFavorite: _propTypes.default.func.isRequired
    }).isRequired,
    onItemPress: _propTypes.default.func,
    color: _propTypes.default.string.isRequired
  };
},2513,[5,7,8,12,14,16,17,201,28,575,1879,2093,460,1806,2514,2474,1969,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    header: {
      flexDirection: "row"
    },
    line: {
      flexDirection: "column",
      padding: 10,
      borderBottomWidth: 0.5,
      borderBottomColor: _$$_REQUIRE(_dependencyMap[1]).colors.black
    },
    title: {
      flex: 1,
      fontSize: 20
    },
    subline: {
      flexDirection: "row",
      paddingTop: 10,
      paddingBottom: 10
    },
    make: {
      flex: 1,
      fontSize: 16
    },
    salary: {
      flex: 1,
      fontSize: 16,
      paddingVertical: 10
    },
    date: {
      textAlign: "right",
      fontSize: 16
    },
    description: {
      flex: 2,
      textAlign: "justify"
    },
    icon: {
      height: 30,
      width: 30,
      marginStart: 5,
      marginEnd: 5
    }
  });

  exports.styles = styles;
},2514,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2515,[2516]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.JobListScreen = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var JobListScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(JobListScreen, _NavigationBaseScreen);

    var _super = _createSuper(JobListScreen);

    function JobListScreen() {
      (0, _classCallCheck2.default)(this, JobListScreen);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(JobListScreen, [{
      key: "handleBackButton",
      value: function handleBackButton() {
        var navigation = this.props.navigation;
        navigation.goBack(null);
        return (0, _get2.default)((0, _getPrototypeOf2.default)(JobListScreen.prototype), "handleBackButton", this).call(this);
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "Job List";
      }
    }, {
      key: "keyExtractor",
      value: function keyExtractor(item, index) {
        return item.id;
      }
    }, {
      key: "render",
      value: function render() {
        var navigation = this.props.navigation;

        var _getNavigationParams = (0, _$$_REQUIRE(_dependencyMap[9]).getNavigationParams)(this.props),
            _getNavigationParams$ = _getNavigationParams.filters,
            filters = _getNavigationParams$ === undefined ? {
          action: "jobs",
          view: "filtered"
        } : _getNavigationParams$;

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).VerticalList, {
          color: (0, _$$_REQUIRE(_dependencyMap[11]).getJobColor)(),
          api: _Api.default.baseUrl(),
          totalKey: "total_jobs",
          params: filters,
          normalizeResults: function normalizeResults(res) {
            return res.result;
          },
          keyExtractor: this.keyExtractor,
          getFilterNames: function getFilterNames(rows, sort, currentPage) {
            return {
              rows: rows,
              sort: sort,
              start: currentPage
            };
          },
          searchVerticalManager: global.getVerticalsConfig().getJob(),
          renderItem: function renderItem(_ref) {
            var item = _ref.item;
            return _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).JobListItem, {
              item: item,
              onItemPress: function onItemPress(clicked) {
                var url = clicked.url || (0, _$$_REQUIRE(_dependencyMap[11]).getJobUrlPageById)(clicked.id);
                navigation.navigate("VerticalDetailScreen", {
                  url: url
                });
              },
              manager: global.getVerticalsConfig().getJob(),
              color: (0, _$$_REQUIRE(_dependencyMap[11]).getJobColor)()
            });
          },
          onErrorPress: function onErrorPress() {
            navigation.navigate("VerticalFiltersScreen");
          },
          onEmptyPress: function onEmptyPress() {
            navigation.navigate("VerticalFiltersScreen");
          }
        });
      }
    }]);
    return JobListScreen;
  }(_$$_REQUIRE(_dependencyMap[9]).NavigationBaseScreen);

  exports.JobListScreen = JobListScreen;
},2516,[5,7,8,90,12,14,16,17,431,2148,2517,2474,2513]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2517,[2518]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.VerticalList = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[11]);

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[13]));

  var _emptyComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _loadingMoreComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[17]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var VerticalList = function (_React$Component) {
    (0, _inherits2.default)(VerticalList, _React$Component);

    var _super = _createSuper(VerticalList);

    function VerticalList(props) {
      var _this;

      (0, _classCallCheck2.default)(this, VerticalList);
      _this = _super.call(this, props);
      _this.state = {
        items: [],
        firstLoading: true,
        error: false,
        errors: [],
        mapVisible: props.startupComponent === VerticalList.Startup.map && props.map.enable
      };
      _this.loadingMore = false;
      _this.currentRadius = props.radius.start;
      _this.currentPage = 1;
      _this.totalPages = 1;
      _this.sortValue = props.order.defaultSort;
      _this.disableLoadMore = false;
      _this.handleLoadMore = _this._handleLoadMore.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(VerticalList, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this.firstLoad();
      }
    }, {
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(nextProps) {
        var params = this.props.params;
        var newParams = nextProps.params;

        if (!_$$_REQUIRE(_dependencyMap[18]).JSUtils.equals(params, newParams)) {
          this._update();
        }
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate(prevProps) {
        var prevRadius = prevProps.radius,
            prevOrder = prevProps.order;
        var _this$props = this.props,
            radius = _this$props.radius,
            order = _this$props.order;

        if (prevRadius.start !== radius.start || prevOrder.defaultSort !== order.defaultSort) {
          this._update();
        }
      }
    }, {
      key: "_update",
      value: function _update() {
        var _this2 = this;

        this.setState({
          items: [],
          firstLoading: true,
          error: false,
          errors: []
        }, function () {
          var radius = _this2.props.radius;
          _this2.currentRadius = radius.start;
          _this2.currentPage = 1;
          _this2.totalPages = 1;

          _this2.firstLoad();
        });
      }
    }, {
      key: "doAjaxCall",
      value: function doAjaxCall(params) {
        var _this$props2, api, config, normalizeResults, skipDefaultParams, uri, newParams, ajaxResult;

        return _regenerator.default.async(function doAjaxCall$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _this$props2 = this.props, api = _this$props2.api, config = _this$props2.config, normalizeResults = _this$props2.normalizeResults, skipDefaultParams = _this$props2.skipDefaultParams;
                uri = _$$_REQUIRE(_dependencyMap[18]).StringUtils.segmentUrl(api);
                newParams = (0, _extends2.default)({}, params, uri.getParams);
                newParams = Object.keys(newParams).reduce(function (result, key) {
                  var param = newParams[key];

                  if (Array.isArray(param)) {
                    if (param.length) {
                      result[key] = param;
                    }
                  } else if (typeof param === "string") {
                    if (param.length) {
                      result[key] = param;
                    }
                  } else if (param !== undefined && !Number.isNaN(param)) {
                    result[key] = param;
                  }

                  return result;
                }, {});
                _context.prev = 4;
                _context.next = 7;
                return _regenerator.default.awrap(_Api.default.get(uri.baseUrl, config, newParams, skipDefaultParams));

              case 7:
                ajaxResult = _context.sent;
                return _context.abrupt("return", normalizeResults(ajaxResult.data));

              case 11:
                _context.prev = 11;
                _context.t0 = _context["catch"](4);
                throw _context.t0;

              case 14:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[4, 11]], Promise);
      }
    }, {
      key: "firstLoad",
      value: function firstLoad() {
        var _this$props3, params, rows, radius, serverSidePaging, getFilterNames, currentPage, sortValue, filter, _await$this$doAjaxCal, total, page, pages, items;

        return _regenerator.default.async(function firstLoad$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _this$props3 = this.props, params = _this$props3.params, rows = _this$props3.rows, radius = _this$props3.radius, serverSidePaging = _this$props3.serverSidePaging, getFilterNames = _this$props3.getFilterNames;
                currentPage = this.currentPage, sortValue = this.sortValue;
                filter = (0, _extends2.default)({}, params, getFilterNames(rows, sortValue, currentPage));

                if (radius.enable) {
                  filter.radius = this.currentRadius;
                }

                _context2.prev = 4;

              case 5:
                _context2.next = 7;
                return _regenerator.default.awrap(this.doAjaxCall(filter));

              case 7:
                _await$this$doAjaxCal = _context2.sent;
                total = _await$this$doAjaxCal.total;
                page = _await$this$doAjaxCal.page;
                pages = _await$this$doAjaxCal.pages;
                items = _await$this$doAjaxCal.items;

                if (!((total === 0 || items.length === 0) && radius.enable)) {
                  _context2.next = 16;
                  break;
                }

                this.currentRadius *= 2;
                _context2.next = 21;
                break;

              case 16:
                if (!serverSidePaging) {
                  this.total = items.length || 0;
                } else {
                  this.total = total || 0;
                }

                this.currentPage = page || this.currentPage;
                this.totalPages = pages || this.totalPages;
                this.setState({
                  items: items || [],
                  firstLoading: false,
                  error: false,
                  errors: []
                });
                return _context2.abrupt("break", 22);

              case 21:
                if (this.currentRadius < radius.max) {
                  _context2.next = 5;
                  break;
                }

              case 22:
                _context2.next = 27;
                break;

              case 24:
                _context2.prev = 24;
                _context2.t0 = _context2["catch"](4);
                this.setState({
                  firstLoading: false,
                  error: true
                });

              case 27:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, [[4, 24]], Promise);
      }
    }, {
      key: "_handleLoadMore",
      value: function _handleLoadMore() {
        var _this$props4, params, rows, radius, getFilterNames, serverSidePaging, enableInfiniteScroll, items, currentPage, totalPages, sortValue, filter, _await$this$doAjaxCal2, results, page;

        return _regenerator.default.async(function _handleLoadMore$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _this$props4 = this.props, params = _this$props4.params, rows = _this$props4.rows, radius = _this$props4.radius, getFilterNames = _this$props4.getFilterNames, serverSidePaging = _this$props4.serverSidePaging, enableInfiniteScroll = _this$props4.enableInfiniteScroll;
                items = this.state.items;
                currentPage = this.currentPage, totalPages = this.totalPages, sortValue = this.sortValue;

                if (!(enableInfiniteScroll && !this.loadingMore && (serverSidePaging && currentPage < totalPages || !serverSidePaging && !this.disableLoadMore))) {
                  _context3.next = 22;
                  break;
                }

                this.loadingMore = true;
                this.loadingRef.show();
                filter = (0, _extends2.default)({}, params, getFilterNames(rows, sortValue, currentPage + 1));

                if (radius.enable) {
                  filter.radius = this.currentRadius;
                }

                _context3.prev = 8;
                _context3.next = 11;
                return _regenerator.default.awrap(this.doAjaxCall(filter));

              case 11:
                _await$this$doAjaxCal2 = _context3.sent;
                results = _await$this$doAjaxCal2.items;
                page = _await$this$doAjaxCal2.page;

                if (results) {
                  this.disableLoadMore = results.length < rows;

                  if (!serverSidePaging) {
                    this.total += results.length;
                  }

                  this.currentPage = page || this.currentPage + 1;
                  this.setState({
                    items: items.concat(results),
                    errors: []
                  });
                } else {
                  this.disableLoadMore = true;
                  this.setState({
                    errors: []
                  });
                }

                _context3.next = 20;
                break;

              case 17:
                _context3.prev = 17;
                _context3.t0 = _context3["catch"](8);
                this.setState({
                  errors: [global.strings("error_on_load_more")]
                });

              case 20:
                this.loadingMore = false;
                this.loadingRef.hide();

              case 22:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, [[8, 17]], Promise);
      }
    }, {
      key: "_getError",
      value: function _getError() {
        var onErrorPress = this.props.onErrorPress;
        return this._getIconView("frown", global.strings("msg_error_list"), onErrorPress);
      }
    }, {
      key: "_getEmpty",
      value: function _getEmpty() {
        var onEmptyPress = this.props.onEmptyPress;
        return this._getIconView("surprise", global.strings("msg_empty_list"), onEmptyPress);
      }
    }, {
      key: "_getIconView",
      value: function _getIconView(icon, message, callback) {
        var color = this.props.color;
        return _react.default.createElement(_emptyComponent.default, {
          onPress: callback,
          iconName: icon,
          message: message,
          color: color
        });
      }
    }, {
      key: "_getActions",
      value: function _getActions() {
        var _this3 = this;

        var _this$props5 = this.props,
            params = _this$props5.params,
            color = _this$props5.color,
            map = _this$props5.map,
            order = _this$props5.order,
            searchVerticalManager = _this$props5.searchVerticalManager;
        var _this$state = this.state,
            mapVisible = _this$state.mapVisible,
            height = _this$state.height;
        var actions = [];

        if (order.items) {
          order.items.forEach(function (orderButtons) {
            actions.push({
              values: orderButtons.map(function (_ref) {
                var param = _ref.param,
                    source = _ref.source,
                    label = _ref.label,
                    Component = _ref.Component,
                    ActiveComponent = _ref.ActiveComponent;
                return {
                  value: param,
                  Component: Component || _react.default.createElement(_imageComponent.default, {
                    source: source,
                    style: [_$$_REQUIRE(_dependencyMap[19]).styles.actionButtonImage, {
                      tintColor: _$$_REQUIRE(_dependencyMap[18]).colors.white
                    }],
                    resizeMode: "contain"
                  }),
                  ActiveComponent: ActiveComponent || _react.default.createElement(_imageComponent.default, {
                    source: source,
                    style: [_$$_REQUIRE(_dependencyMap[19]).styles.actionButtonImage, {
                      tintColor: _$$_REQUIRE(_dependencyMap[18]).colors.white
                    }],
                    resizeMode: "contain"
                  }),
                  title: label,
                  isActive: param === _this3.sortValue
                };
              }),
              current: _this3.sortValue,
              callback: function callback(value) {
                _this3.sortValue = value;

                _this3._update();
              }
            });
          });
        }

        if (map.enable) {
          actions.push({
            values: [{
              value: false,
              Component: _react.default.createElement(_iconComponent.default, {
                type: _iconComponent.TecnaviaIconType.FONT_AWESOME_5,
                name: "list-ul",
                style: _$$_REQUIRE(_dependencyMap[19]).styles.actionButtonIcon
              }),
              title: global.strings("toggle_list")
            }, {
              value: true,
              Component: _react.default.createElement(_iconComponent.default, {
                type: _iconComponent.TecnaviaIconType.FONT_AWESOME_5,
                name: "map",
                style: _$$_REQUIRE(_dependencyMap[19]).styles.actionButtonIcon
              }),
              title: global.strings("toggle_map")
            }],
            current: mapVisible,
            callback: function callback(value) {
              _this3.setState({
                mapVisible: value
              });
            }
          });
        }

        if (searchVerticalManager) {
          actions.push({
            values: [{
              value: false,
              Component: _react.default.createElement(_iconComponent.default, {
                type: _iconComponent.TecnaviaIconType.FONT_AWESOME_5,
                name: "bookmark",
                style: _$$_REQUIRE(_dependencyMap[19]).styles.actionButtonIcon,
                solid: true
              }),
              title: global.strings("unsave_search")
            }, {
              value: true,
              Component: _react.default.createElement(_iconComponent.default, {
                type: _iconComponent.TecnaviaIconType.FONT_AWESOME_5,
                name: "bookmark",
                style: _$$_REQUIRE(_dependencyMap[19]).styles.actionButtonIcon
              }),
              title: global.strings("save_search")
            }],
            current: searchVerticalManager.searchIsStored(params),
            callback: function callback() {
              searchVerticalManager.toggleSearch(params);
            }
          });
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[20]).ActionButtonList, {
          color: color,
          buttons: actions,
          availableHeight: height,
          bgColor: _$$_REQUIRE(_dependencyMap[18]).colors.transparent200
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this4 = this;

        var _this$props6 = this.props,
            renderItem = _this$props6.renderItem,
            color = _this$props6.color,
            totalKey = _this$props6.totalKey,
            map = _this$props6.map,
            _keyExtractor = _this$props6.keyExtractor,
            getSections = _this$props6.getSections,
            renderSectionHeader = _this$props6.renderSectionHeader;
        var _this$state2 = this.state,
            error = _this$state2.error,
            errors = _this$state2.errors,
            firstLoading = _this$state2.firstLoading,
            mapVisible = _this$state2.mapVisible,
            items = _this$state2.items;

        if (firstLoading) {
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[21]).ProgressCircle, {
            spinnerColor: color
          });
        }

        if (error) {
          return this._getError();
        }

        if (!items || !items.length) {
          return this._getEmpty();
        }

        var sectionItems = getSections(items, this.sortValue);
        return _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1,
            flexDirection: "column"
          },
          onLayout: function onLayout(event) {
            var height = event.nativeEvent.layout.height;

            _this4.setState({
              height: height
            });
          }
        }, this.total && totalKey ? _react.default.createElement(_reactNative.View, {
          style: {
            backgroundColor: color,
            flexDirection: "row",
            justifyContent: "center",
            alignItems: "center"
          }
        }, _react.default.createElement(_fontText.default, {
          style: {
            fontSize: 15,
            textAlign: "center",
            color: _$$_REQUIRE(_dependencyMap[18]).colors.white
          },
          type: _fontText.Type.medium
        }, global.strings(totalKey, {
          total: this.total
        }))) : null, mapVisible ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[22]).VerticalMap, (0, _extends2.default)({
          style: {
            flex: 1
          },
          data: items
        }, map)) : _react.default.createElement(_$$_REQUIRE(_dependencyMap[23]).TecnaviaSectionList, {
          removeClippedSubviews: true,
          sections: sectionItems,
          stickySectionHeadersEnabled: true,
          extraData: this.state,
          keyExtractor: function keyExtractor(item, index) {
            if (typeof _keyExtractor === "function") {
              return _keyExtractor(item, index);
            }

            return "" + index;
          },
          renderSectionHeader: renderSectionHeader,
          renderItem: renderItem,
          onEndReached: this.handleLoadMore,
          onEndReachedThreshold: 3
        }), this._getActions(), errors ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Error, {
          style: {
            position: "absolute",
            bottom: 0,
            start: 0,
            end: 0
          },
          errors: errors,
          autoHide: true
        }) : null, _react.default.createElement(_loadingMoreComponent.default, {
          ref: function ref(_ref2) {
            _this4.loadingRef = _ref2;
          },
          style: _$$_REQUIRE(_dependencyMap[19]).styles.loading,
          color: color
        }));
      }
    }]);
    return VerticalList;
  }(_react.default.Component);

  exports.VerticalList = VerticalList;
  VerticalList.Startup = {
    list: "list",
    map: "map"
  };
  VerticalList.propTypes = {
    color: _propTypes.default.string.isRequired,
    api: _propTypes.default.string.isRequired,
    config: _propTypes.default.object,
    params: _propTypes.default.object.isRequired,
    getSections: _propTypes.default.func,
    renderSectionHeader: _propTypes.default.func,
    normalizeResults: _propTypes.default.func.isRequired,
    serverSidePaging: _propTypes.default.bool,
    skipDefaultParams: _propTypes.default.bool,
    getFilterNames: _propTypes.default.func.isRequired,
    keyExtractor: _propTypes.default.func,
    totalKey: _propTypes.default.string,
    rows: _propTypes.default.number,
    radius: _propTypes.default.shape({
      enable: _propTypes.default.bool,
      max: _propTypes.default.number,
      start: _propTypes.default.number
    }),
    startupComponent: _propTypes.default.oneOf([VerticalList.Startup.list, VerticalList.Startup.map]),
    map: _propTypes.default.shape({
      enable: _propTypes.default.bool,
      renderItem: _propTypes.default.func,
      renderCallout: _propTypes.default.func,
      itemKey: _propTypes.default.func,
      latitudeKey: _propTypes.default.string,
      longitudeKey: _propTypes.default.string,
      titleKey: _propTypes.default.string,
      getMarkerIcon: _propTypes.default.func,
      onItemPress: _propTypes.default.func.isRequired
    }),
    enableInfiniteScroll: _propTypes.default.bool,
    order: _propTypes.default.shape({
      items: _propTypes.default.arrayOf(_propTypes.default.arrayOf(_propTypes.default.shape({
        label: _propTypes.default.string,
        Component: _propTypes.default.node,
        param: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
        source: _propTypes.default.any
      }))),
      defaultSort: _propTypes.default.string
    }),
    renderItem: _propTypes.default.func.isRequired,
    onErrorPress: _propTypes.default.func,
    onEmptyPress: _propTypes.default.func,
    searchVerticalManager: _propTypes.default.shape({
      searchIsStored: _propTypes.default.func.isRequired,
      toggleSearch: _propTypes.default.func.isRequired
    }),
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array])
  };
  VerticalList.defaultProps = {
    rows: 25,
    radius: {
      enable: false,
      start: 5,
      max: 32
    },
    startupComponent: VerticalList.Startup.list,
    map: {
      enable: false
    },
    enableInfiniteScroll: true,
    order: {
      items: [],
      defaultSort: ""
    },
    config: {},
    serverSidePaging: true,
    skipDefaultParams: false,
    getSections: function getSections(items) {
      return [{
        title: "",
        data: items || []
      }];
    },
    renderSectionHeader: function renderSectionHeader() {
      return null;
    }
  };
},2518,[5,80,6,7,8,15,12,14,16,17,201,28,431,1879,2220,2519,588,1806,462,2520,2521,1953,2526,1910,2171]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var LoadingMore = function (_React$Component) {
    (0, _inherits2.default)(LoadingMore, _React$Component);

    var _super = _createSuper(LoadingMore);

    function LoadingMore(props) {
      var _this;

      (0, _classCallCheck2.default)(this, LoadingMore);
      _this = _super.call(this, props);
      _this.state = {
        visible: props.visible
      };
      return _this;
    }

    (0, _createClass2.default)(LoadingMore, [{
      key: "show",
      value: function show() {
        this.setState({
          visible: true
        });
      }
    }, {
      key: "hide",
      value: function hide() {
        this.setState({
          visible: false
        });
      }
    }, {
      key: "render",
      value: function render() {
        var visible = this.state.visible;
        var _this$props = this.props,
            color = _this$props.color,
            style = _this$props.style;

        if (visible) {
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[8]).ProgressCircle, {
            parentStyle: style,
            text: global.strings("msg_loading_more"),
            showText: true,
            spinnerColor: color
          });
        }

        return null;
      }
    }]);
    return LoadingMore;
  }(_react.default.Component);

  exports.default = LoadingMore;
  LoadingMore.propTypes = {
    visible: _propTypes.default.bool,
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object, _propTypes.default.array]),
    color: _propTypes.default.string
  };
  LoadingMore.defaultProps = {
    visible: false
  };
},2519,[5,7,8,12,14,16,17,201,1953]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    loading: {
      position: "absolute",
      bottom: 0,
      start: 0,
      end: 0,
      height: 50,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.white
    },
    actionButtonImage: {
      height: 20,
      width: 20
    },
    actionButtonIcon: {
      fontSize: 20,
      height: 22,
      color: _$$_REQUIRE(_dependencyMap[1]).colors.white
    }
  });

  exports.styles = styles;
},2520,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2521,[2522]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.ActionButtonList = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNativeActionButton = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SPACING_TO_SIZE_RATIO = 4;
  var MINIMUM_BUTTON_SIZE = 30;
  var MAXIMUM_BUTTON_SIZE = 56;
  var OFFSET_Y = 30;

  var ActionButtonList = function (_React$Component) {
    (0, _inherits2.default)(ActionButtonList, _React$Component);

    var _super = _createSuper(ActionButtonList);

    function ActionButtonList() {
      (0, _classCallCheck2.default)(this, ActionButtonList);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(ActionButtonList, [{
      key: "render",
      value: function render() {
        var _this = this;

        var _this$props = this.props,
            availableHeight = _this$props.availableHeight,
            offsetY = _this$props.offsetY,
            rest = (0, _objectWithoutProperties2.default)(_this$props, ["availableHeight", "offsetY"]);
        var _this$props2 = this.props,
            buttons = _this$props2.buttons,
            color = _this$props2.color;

        if (buttons && buttons.length) {
          var size = Math.max(Math.min((availableHeight - offsetY * 2) / ((1 + buttons.length) * 1.25), MAXIMUM_BUTTON_SIZE), MINIMUM_BUTTON_SIZE);
          var spacing = size / SPACING_TO_SIZE_RATIO;
          return _react.default.createElement(_reactNativeActionButton.default, (0, _extends2.default)({
            buttonColor: color,
            spacing: spacing,
            size: size,
            offsetY: offsetY
          }, rest), buttons.map(function (item, key) {
            var index = item.values.findIndex(function (_ref) {
              var value = _ref.value;
              return value === item.current;
            });
            var button = item.values[index];
            var nextButton = index + 1 === item.values.length ? item.values[0] : item.values[index + 1];
            var title = nextButton.title,
                Component = nextButton.Component,
                ActiveComponent = nextButton.ActiveComponent,
                isActive = nextButton.isActive;
            return _react.default.createElement(_reactNativeActionButton.default.Item, {
              size: size,
              key: key,
              buttonColor: isActive ? _$$_REQUIRE(_dependencyMap[11]).colors.md_white_1000 : color,
              title: title,
              onPress: function onPress() {
                if (item.callback) {
                  item.callback(nextButton.value);
                }

                if (nextButton) {
                  item.current = nextButton.value;

                  _this.forceUpdate();
                }
              }
            }, isActive ? ActiveComponent : Component);
          }));
        }

        return null;
      }
    }]);
    return ActionButtonList;
  }(_react.default.Component);

  exports.ActionButtonList = ActionButtonList;
  ActionButtonList.propTypes = (0, _extends2.default)({
    buttons: _propTypes.default.arrayOf(_propTypes.default.shape({
      values: _propTypes.default.arrayOf(_propTypes.default.shape({
        Component: _propTypes.default.node.isRequired,
        title: _propTypes.default.string.isRequired,
        value: _propTypes.default.any
      })),
      callback: _propTypes.default.func.isRequired,
      current: _propTypes.default.any
    })),
    color: _propTypes.default.string.isRequired,
    availableHeight: _propTypes.default.number,
    offsetY: _propTypes.default.number
  }, _reactNativeActionButton.ActionButtonProperties);
  ActionButtonList.defaultProps = {
    offsetY: OFFSET_Y,
    availableHeight: 0
  };
},2522,[5,6,108,7,8,12,14,16,17,201,2523,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _ActionButtonItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ActionButton = function (_Component) {
    (0, _inherits2.default)(ActionButton, _Component);

    var _super = _createSuper(ActionButton);

    function ActionButton(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ActionButton);
      _this = _super.call(this, props);
      _this.state = {
        resetToken: props.resetToken,
        active: props.active
      };
      _this.anim = new _reactNative.Animated.Value(props.active ? 1 : 0);
      _this.timeout = null;
      return _this;
    }

    (0, _createClass2.default)(ActionButton, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this.mounted = true;
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this.mounted = false;
        clearTimeout(this.timeout);
      }
    }, {
      key: "componentWillReceiveProps",
      value: function componentWillReceiveProps(nextProps) {
        var _this2 = this;

        if (nextProps.resetToken !== this.state.resetToken) {
          if (nextProps.active === false && this.state.active === true) {
            if (this.props.onReset) this.props.onReset();

            _reactNative.Animated.spring(this.anim, {
              toValue: 0
            }).start();

            setTimeout(function () {
              return _this2.setState({
                active: false,
                resetToken: nextProps.resetToken
              });
            }, 250);
            return;
          }

          if (nextProps.active === true && this.state.active === false) {
            _reactNative.Animated.spring(this.anim, {
              toValue: 1
            }).start();

            this.setState({
              active: true,
              resetToken: nextProps.resetToken
            });
            return;
          }

          this.setState({
            resetToken: nextProps.resetToken,
            active: nextProps.active
          });
        }
      }
    }, {
      key: "getOrientation",
      value: function getOrientation() {
        return {
          alignItems: _$$_REQUIRE(_dependencyMap[11]).alignItemsMap[this.props.position]
        };
      }
    }, {
      key: "getOffsetXY",
      value: function getOffsetXY() {
        return {
          paddingVertical: this.props.offsetY
        };
      }
    }, {
      key: "getOverlayStyles",
      value: function getOverlayStyles() {
        return [styles.overlay, {
          elevation: this.props.elevation,
          zIndex: this.props.zIndex,
          justifyContent: this.props.verticalOrientation === "up" ? "flex-end" : "flex-start"
        }];
      }
    }, {
      key: "render",
      value: function render() {
        return _react.default.createElement(_reactNative.View, {
          pointerEvents: "box-none",
          style: [this.getOverlayStyles(), this.props.style]
        }, _react.default.createElement(_reactNative.Animated.View, {
          pointerEvents: "none",
          style: [this.getOverlayStyles(), {
            backgroundColor: this.props.bgColor,
            opacity: this.anim.interpolate({
              inputRange: [0, 1],
              outputRange: [0, this.props.bgOpacity]
            })
          }]
        }, this.props.backdrop), _react.default.createElement(_reactNative.View, {
          pointerEvents: "box-none",
          style: [this.getOverlayStyles(), this.getOrientation(), this.getOffsetXY()]
        }, this.state.active && !this.props.backgroundTappable && this._renderTappableBackground(), this.props.verticalOrientation === "up" && this.props.children && this._renderActions(), this._renderMainButton(), this.props.verticalOrientation === "down" && this.props.children && this._renderActions()));
      }
    }, {
      key: "_renderMainButton",
      value: function _renderMainButton() {
        var _this3 = this;

        var animatedViewStyle = {
          transform: [{
            scale: this.anim.interpolate({
              inputRange: [0, 1],
              outputRange: [1, this.props.outRangeScale]
            })
          }, {
            rotate: this.anim.interpolate({
              inputRange: [0, 1],
              outputRange: ["0deg", this.props.degrees + "deg"]
            })
          }]
        };
        var wrapperStyle = {
          backgroundColor: this.anim.interpolate({
            inputRange: [0, 1],
            outputRange: [this.props.buttonColor, this.props.btnOutRange || this.props.buttonColor]
          }),
          width: this.props.size,
          height: this.props.size,
          borderRadius: this.props.size / 2
        };
        var buttonStyle = {
          width: this.props.size,
          height: this.props.size,
          borderRadius: this.props.size / 2,
          alignItems: "center",
          justifyContent: "center"
        };
        var Touchable = (0, _$$_REQUIRE(_dependencyMap[11]).getTouchableComponent)(this.props.useNativeFeedback);
        var parentStyle = _$$_REQUIRE(_dependencyMap[11]).isAndroid && this.props.fixNativeFeedbackRadius ? {
          right: this.props.offsetX,
          zIndex: this.props.zIndex,
          borderRadius: this.props.size / 2,
          width: this.props.size
        } : {
          marginHorizontal: this.props.offsetX,
          zIndex: this.props.zIndex
        };
        return _react.default.createElement(_reactNative.View, {
          style: [parentStyle, !this.props.hideShadow && _$$_REQUIRE(_dependencyMap[11]).shadowStyle, !this.props.hideShadow && this.props.shadowStyle]
        }, _react.default.createElement(Touchable, {
          testID: this.props.testID,
          accessible: this.props.accessible,
          accessibilityLabel: this.props.accessibilityLabel,
          background: (0, _$$_REQUIRE(_dependencyMap[11]).touchableBackground)(this.props.nativeFeedbackRippleColor, this.props.fixNativeFeedbackRadius),
          activeOpacity: this.props.activeOpacity,
          onLongPress: this.props.onLongPress,
          onPress: function onPress() {
            _this3.props.onPress();

            if (_this3.props.children) _this3.animateButton();
          },
          onPressIn: this.props.onPressIn,
          onPressOut: this.props.onPressOut
        }, _react.default.createElement(_reactNative.Animated.View, {
          style: wrapperStyle
        }, _react.default.createElement(_reactNative.Animated.View, {
          style: [buttonStyle, animatedViewStyle]
        }, this._renderButtonIcon()))));
      }
    }, {
      key: "_renderButtonIcon",
      value: function _renderButtonIcon() {
        var _this$props = this.props,
            icon = _this$props.icon,
            renderIcon = _this$props.renderIcon,
            btnOutRangeTxt = _this$props.btnOutRangeTxt,
            buttonTextStyle = _this$props.buttonTextStyle,
            buttonText = _this$props.buttonText;
        if (renderIcon) return renderIcon(this.state.active);

        if (icon) {
          console.warn('react-native-action-button: The `icon` prop is deprecated! Use `renderIcon` instead.');
          return icon;
        }

        var textColor = buttonTextStyle.color || "rgba(255,255,255,1)";
        return _react.default.createElement(_reactNative.Animated.Text, {
          style: [styles.btnText, buttonTextStyle, {
            color: this.anim.interpolate({
              inputRange: [0, 1],
              outputRange: [textColor, btnOutRangeTxt || textColor]
            })
          }]
        }, buttonText);
      }
    }, {
      key: "_renderActions",
      value: function _renderActions() {
        var _this4 = this;

        var _this$props2 = this.props,
            children = _this$props2.children,
            verticalOrientation = _this$props2.verticalOrientation;
        if (!this.state.active) return null;
        var actionButtons = !Array.isArray(children) ? [children] : children;
        actionButtons = actionButtons.filter(function (actionButton) {
          return typeof actionButton == 'object';
        });
        var actionStyle = {
          flex: 1,
          alignSelf: "stretch",
          justifyContent: verticalOrientation === "up" ? "flex-end" : "flex-start",
          paddingTop: this.props.verticalOrientation === "down" ? this.props.spacing : 0,
          zIndex: this.props.zIndex
        };
        return _react.default.createElement(_reactNative.View, {
          style: actionStyle,
          pointerEvents: "box-none"
        }, actionButtons.map(function (_ActionButton, idx) {
          return _react.default.createElement(_ActionButtonItem.default, (0, _extends2.default)({
            key: idx,
            anim: _this4.anim
          }, _this4.props, _ActionButton.props, {
            parentSize: _this4.props.size,
            btnColor: _this4.props.btnOutRange,
            onPress: function onPress() {
              if (_this4.props.autoInactive) {
                _this4.timeout = setTimeout(_this4.reset.bind(_this4), 200);
              }

              _ActionButton.props.onPress();
            }
          }));
        }));
      }
    }, {
      key: "_renderTappableBackground",
      value: function _renderTappableBackground() {
        return _react.default.createElement(_reactNative.TouchableOpacity, {
          activeOpacity: 1,
          style: this.getOverlayStyles(),
          onPress: this.reset.bind(this)
        });
      }
    }, {
      key: "animateButton",
      value: function animateButton() {
        var animate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
        if (this.state.active) return this.reset();

        if (animate) {
          _reactNative.Animated.spring(this.anim, {
            toValue: 1
          }).start();
        } else {
          this.anim.setValue(1);
        }

        this.setState({
          active: true,
          resetToken: this.state.resetToken
        });
      }
    }, {
      key: "reset",
      value: function reset() {
        var _this5 = this;

        var animate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
        if (this.props.onReset) this.props.onReset();

        if (animate) {
          _reactNative.Animated.spring(this.anim, {
            toValue: 0
          }).start();
        } else {
          this.anim.setValue(0);
        }

        setTimeout(function () {
          if (_this5.mounted) {
            _this5.setState({
              active: false,
              resetToken: _this5.state.resetToken
            });
          }
        }, 250);
      }
    }]);
    return ActionButton;
  }(_react.Component);

  exports.default = ActionButton;
  ActionButton.Item = _ActionButtonItem.default;
  ActionButton.propTypes = {
    resetToken: _propTypes.default.any,
    active: _propTypes.default.bool,
    position: _propTypes.default.string,
    elevation: _propTypes.default.number,
    zIndex: _propTypes.default.number,
    hideShadow: _propTypes.default.bool,
    shadowStyle: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array, _propTypes.default.number]),
    renderIcon: _propTypes.default.func,
    bgColor: _propTypes.default.string,
    bgOpacity: _propTypes.default.number,
    buttonColor: _propTypes.default.string,
    buttonTextStyle: _reactNative.Text.propTypes.style,
    buttonText: _propTypes.default.string,
    offsetX: _propTypes.default.number,
    offsetY: _propTypes.default.number,
    spacing: _propTypes.default.number,
    size: _propTypes.default.number,
    autoInactive: _propTypes.default.bool,
    onPress: _propTypes.default.func,
    onPressIn: _propTypes.default.func,
    onPressOut: _propTypes.default.func,
    backdrop: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.object]),
    degrees: _propTypes.default.number,
    verticalOrientation: _propTypes.default.oneOf(["up", "down"]),
    backgroundTappable: _propTypes.default.bool,
    activeOpacity: _propTypes.default.number,
    useNativeFeedback: _propTypes.default.bool,
    fixNativeFeedbackRadius: _propTypes.default.bool,
    nativeFeedbackRippleColor: _propTypes.default.string,
    testID: _propTypes.default.string,
    accessibilityLabel: _propTypes.default.string,
    accessible: _propTypes.default.bool
  };
  ActionButton.defaultProps = {
    resetToken: null,
    active: false,
    bgColor: "transparent",
    bgOpacity: 1,
    buttonColor: "rgba(0,0,0,1)",
    buttonTextStyle: {},
    buttonText: "+",
    spacing: 20,
    outRangeScale: 1,
    autoInactive: true,
    onPress: function onPress() {},
    onPressIn: function onPressIn() {},
    onPressOn: function onPressOn() {},
    backdrop: false,
    degrees: 45,
    position: "right",
    offsetX: 30,
    offsetY: 30,
    size: 56,
    verticalOrientation: "up",
    backgroundTappable: false,
    useNativeFeedback: true,
    activeOpacity: _$$_REQUIRE(_dependencyMap[11]).DEFAULT_ACTIVE_OPACITY,
    fixNativeFeedbackRadius: false,
    nativeFeedbackRippleColor: "rgba(255,255,255,0.75)",
    testID: undefined,
    accessibilityLabel: undefined,
    accessible: undefined
  };

  var styles = _reactNative.StyleSheet.create({
    overlay: {
      position: "absolute",
      bottom: 0,
      left: 0,
      right: 0,
      top: 0,
      backgroundColor: "transparent"
    },
    btnText: {
      marginTop: -4,
      fontSize: 24,
      backgroundColor: "transparent"
    }
  });
},2523,[5,6,7,8,12,14,16,17,201,28,2524,2525]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var _Dimensions$get = _reactNative.Dimensions.get("window"),
      WIDTH = _Dimensions$get.width;

  var SHADOW_SPACE = 10;
  var TEXT_HEIGHT = 22;
  var TextTouchable = _$$_REQUIRE(_dependencyMap[10]).isAndroid ? _reactNative.TouchableNativeFeedback : _reactNative.TouchableWithoutFeedback;

  var ActionButtonItem = function (_Component) {
    (0, _inherits2.default)(ActionButtonItem, _Component);

    var _super = _createSuper(ActionButtonItem);

    function ActionButtonItem() {
      (0, _classCallCheck2.default)(this, ActionButtonItem);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(ActionButtonItem, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            size = _this$props.size,
            position = _this$props.position,
            verticalOrientation = _this$props.verticalOrientation,
            hideShadow = _this$props.hideShadow,
            spacing = _this$props.spacing;
        if (!this.props.active) return null;
        var animatedViewStyle = {
          marginBottom: -10,
          alignItems: _$$_REQUIRE(_dependencyMap[10]).alignItemsMap[position],
          opacity: this.props.anim,
          transform: [{
            translateY: this.props.anim.interpolate({
              inputRange: [0, 1],
              outputRange: [verticalOrientation === "down" ? -40 : 40, 0]
            })
          }]
        };
        var buttonStyle = {
          justifyContent: "center",
          alignItems: "center",
          width: size,
          height: size,
          borderRadius: size / 2,
          backgroundColor: this.props.buttonColor || this.props.btnColor
        };
        if (position !== "center") buttonStyle[position] = (this.props.parentSize - size) / 2;
        var Touchable = (0, _$$_REQUIRE(_dependencyMap[10]).getTouchableComponent)(this.props.useNativeFeedback);
        var parentStyle = _$$_REQUIRE(_dependencyMap[10]).isAndroid && this.props.fixNativeFeedbackRadius ? {
          height: size,
          marginBottom: spacing,
          right: this.props.offsetX,
          borderRadius: this.props.size / 2
        } : {
          paddingHorizontal: this.props.offsetX,
          height: size + SHADOW_SPACE + spacing
        };
        return _react.default.createElement(_reactNative.Animated.View, {
          pointerEvents: "box-none",
          style: [animatedViewStyle, parentStyle]
        }, _react.default.createElement(_reactNative.View, null, _react.default.createElement(Touchable, {
          testID: this.props.testID,
          accessibilityLabel: this.props.accessibilityLabel,
          background: (0, _$$_REQUIRE(_dependencyMap[10]).touchableBackground)(this.props.nativeFeedbackRippleColor, this.props.fixNativeFeedbackRadius),
          activeOpacity: this.props.activeOpacity || _$$_REQUIRE(_dependencyMap[10]).DEFAULT_ACTIVE_OPACITY,
          onPress: this.props.onPress
        }, _react.default.createElement(_reactNative.View, {
          style: [buttonStyle, !hideShadow ? (0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[10]).shadowStyle, this.props.shadowStyle) : null]
        }, this.props.children))), this._renderTitle());
      }
    }, {
      key: "_renderTitle",
      value: function _renderTitle() {
        if (!this.props.title) return null;
        var _this$props2 = this.props,
            textContainerStyle = _this$props2.textContainerStyle,
            hideLabelShadow = _this$props2.hideLabelShadow,
            offsetX = _this$props2.offsetX,
            parentSize = _this$props2.parentSize,
            size = _this$props2.size,
            position = _this$props2.position,
            spaceBetween = _this$props2.spaceBetween;
        var offsetTop = Math.max(size / 2 - 11, 0);
        var positionStyles = {
          top: offsetTop
        };
        var hideShadow = hideLabelShadow === undefined ? this.props.hideShadow : hideLabelShadow;

        if (position !== "center") {
          positionStyles[position] = offsetX + (parentSize - size) / 2 + size + spaceBetween;
        } else {
          positionStyles.right = WIDTH / 2 + size / 2 + spaceBetween;
        }

        var textStyles = [styles.textContainer, positionStyles, !hideShadow && _$$_REQUIRE(_dependencyMap[10]).shadowStyle, textContainerStyle];
        var title = _react.default.isValidElement(this.props.title) ? this.props.title : _react.default.createElement(_reactNative.Text, {
          allowFontScaling: false,
          style: [styles.text, this.props.textStyle]
        }, this.props.title);
        return _react.default.createElement(TextTouchable, {
          background: (0, _$$_REQUIRE(_dependencyMap[10]).touchableBackground)(this.props.nativeFeedbackRippleColor, this.props.fixNativeFeedbackRadius),
          activeOpacity: this.props.activeOpacity || _$$_REQUIRE(_dependencyMap[10]).DEFAULT_ACTIVE_OPACITY,
          onPress: this.props.onPress
        }, _react.default.createElement(_reactNative.View, {
          style: textStyles
        }, title));
      }
    }], [{
      key: "defaultProps",
      get: function get() {
        return {
          active: true,
          spaceBetween: 15,
          useNativeFeedback: true,
          activeOpacity: _$$_REQUIRE(_dependencyMap[10]).DEFAULT_ACTIVE_OPACITY,
          fixNativeFeedbackRadius: false,
          nativeFeedbackRippleColor: "rgba(255,255,255,0.75)"
        };
      }
    }, {
      key: "propTypes",
      get: function get() {
        return {
          active: _propTypes.default.bool,
          useNativeFeedback: _propTypes.default.bool,
          fixNativeFeedbackRadius: _propTypes.default.bool,
          nativeFeedbackRippleColor: _propTypes.default.string,
          activeOpacity: _propTypes.default.number
        };
      }
    }]);
    return ActionButtonItem;
  }(_react.Component);

  exports.default = ActionButtonItem;

  var styles = _reactNative.StyleSheet.create({
    textContainer: {
      position: "absolute",
      paddingVertical: _$$_REQUIRE(_dependencyMap[10]).isAndroid ? 2 : 3,
      paddingHorizontal: 8,
      borderRadius: 3,
      borderWidth: _reactNative.StyleSheet.hairlineWidth,
      borderColor: "#eee",
      backgroundColor: "white",
      height: TEXT_HEIGHT
    },
    text: {
      flex: 1,
      fontSize: 12,
      color: "#444"
    }
  });
},2524,[5,6,7,8,12,14,16,17,201,28,2525]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.getTouchableComponent = getTouchableComponent;
  exports.touchableBackground = touchableBackground;
  exports.isAndroid = exports.alignItemsMap = exports.shadowStyle = exports.DEFAULT_ACTIVE_OPACITY = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var DEFAULT_ACTIVE_OPACITY = 0.85;
  exports.DEFAULT_ACTIVE_OPACITY = DEFAULT_ACTIVE_OPACITY;
  var shadowStyle = {
    shadowOpacity: 0.35,
    shadowOffset: {
      width: 0,
      height: 5
    },
    shadowColor: "#000",
    shadowRadius: 3,
    elevation: 5
  };
  exports.shadowStyle = shadowStyle;
  var alignItemsMap = {
    center: "center",
    left: "flex-start",
    right: "flex-end"
  };
  exports.alignItemsMap = alignItemsMap;
  var isAndroid = _reactNative.Platform.OS === "android";
  exports.isAndroid = isAndroid;

  function getTouchableComponent(useNativeFeedback) {
    if (useNativeFeedback === true && isAndroid === true) {
      return _reactNative.TouchableNativeFeedback;
    }

    return _reactNative.TouchableOpacity;
  }

  function touchableBackground(color, fixRadius) {
    if (isAndroid) {
      if (_reactNative.Platform["Version"] >= 21) {
        return _reactNative.TouchableNativeFeedback.Ripple(color || "rgba(255,255,255,0.75)", fixRadius);
      } else {
        _reactNative.TouchableNativeFeedback.SelectableBackground();
      }
    }

    return undefined;
  }
},2525,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.VerticalMap = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var _OptionalPackages$get = _optionalPackageUtils.default.getMaps(),
      MapView = _OptionalPackages$get.MapView,
      Marker = _OptionalPackages$get.Marker,
      Callout = _OptionalPackages$get.Callout;

  var VerticalMap = function (_React$Component) {
    (0, _inherits2.default)(VerticalMap, _React$Component);

    var _super = _createSuper(VerticalMap);

    function VerticalMap(props) {
      var _this;

      (0, _classCallCheck2.default)(this, VerticalMap);
      _this = _super.call(this, props);

      var _global$getRssIndex = global.getRssIndex(),
          latitude = _global$getRssIndex.latitude,
          longitude = _global$getRssIndex.longitude;

      _this.defaultLatitude = parseFloat(latitude) || 41.578518;
      _this.defaultLongitude = parseFloat(longitude) || -85.804958;
      _this.state = {
        data: props.data
      };
      return _this;
    }

    (0, _createClass2.default)(VerticalMap, [{
      key: "getValueByKeyPath",
      value: function getValueByKeyPath(element, key) {
        var tokens = key.split(".");
        var result = element;
        tokens.forEach(function (token) {
          result = result ? result[token] : result;
        });
        return result;
      }
    }, {
      key: "getCenterRegionOnData",
      value: function getCenterRegionOnData(markers) {
        var _this2 = this;

        var _this$props = this.props,
            latitudeKey = _this$props.latitudeKey,
            longitudeKey = _this$props.longitudeKey;
        var latitudes = markers.map(function (marker) {
          return _this2.getValueByKeyPath(marker, latitudeKey);
        }).sort(function (a, b) {
          return a - b;
        });
        var longitudes = markers.map(function (marker) {
          return _this2.getValueByKeyPath(marker, longitudeKey);
        }).sort(function (a, b) {
          return a - b;
        });
        var middleLatitude = (latitudes[0] + latitudes[latitudes.length - 1]) / 2;
        var middleLongitude = (longitudes[0] + longitudes[longitudes.length - 1]) / 2;
        var latitudeDelta = latitudes[latitudes.length - 1] - latitudes[0];
        var longitudeDelta = longitudes[longitudes.length - 1] - longitudes[0];
        return {
          latitude: middleLatitude || this.defaultLatitude,
          longitude: middleLongitude || this.defaultLongitude,
          latitudeDelta: latitudeDelta || 0.015,
          longitudeDelta: longitudeDelta || 0.0121
        };
      }
    }, {
      key: "removeItemWithoutLocation",
      value: function removeItemWithoutLocation(data) {
        var _this3 = this;

        var _this$props2 = this.props,
            latitudeKey = _this$props2.latitudeKey,
            longitudeKey = _this$props2.longitudeKey;
        return data.reduce(function (result, item) {
          if (_this3.getValueByKeyPath(item, latitudeKey) && _this3.getValueByKeyPath(item, longitudeKey)) {
            result.push(item);
          }

          return result;
        }, []);
      }
    }, {
      key: "render",
      value: function render() {
        var _this4 = this;

        var _this$props3 = this.props,
            style = _this$props3.style,
            renderItem = _this$props3.renderItem,
            renderCallout = _this$props3.renderCallout,
            onItemPress = _this$props3.onItemPress,
            itemKey = _this$props3.itemKey,
            latitudeKey = _this$props3.latitudeKey,
            longitudeKey = _this$props3.longitudeKey,
            titleKey = _this$props3.titleKey,
            getMarkerIcon = _this$props3.getMarkerIcon;
        var data = this.state.data;
        var markers = this.removeItemWithoutLocation(data);

        if (_optionalPackageUtils.default.isMapsAvailable()) {
          return _react.default.createElement(MapView, {
            style: style,
            region: this.getCenterRegionOnData(markers)
          }, markers.map(function (marker, index) {
            if (renderItem) {
              return renderItem({
                item: marker,
                index: index
              });
            }

            var extraProp = {};

            if (getMarkerIcon) {
              extraProp.image = getMarkerIcon(marker);
            }

            return _react.default.createElement(Marker, (0, _extends2.default)({
              key: _this4.getValueByKeyPath(marker, itemKey),
              title: _this4.getValueByKeyPath(marker, titleKey),
              coordinate: {
                latitude: _this4.getValueByKeyPath(marker, latitudeKey),
                longitude: _this4.getValueByKeyPath(marker, longitudeKey)
              }
            }, extraProp), _react.default.createElement(Callout, {
              onPress: function onPress() {
                if (onItemPress) {
                  onItemPress(marker);
                }
              }
            }, renderCallout(marker)));
          }));
        }

        return null;
      }
    }], [{
      key: "getDerivedStateFromProps",
      value: function getDerivedStateFromProps(nextProps, prevState) {
        var prevData = prevState.data;
        var data = nextProps.data;

        if (_$$_REQUIRE(_dependencyMap[10]).JSUtils.equals(prevData, data)) {
          return {
            data: data
          };
        }

        return null;
      }
    }]);
    return VerticalMap;
  }(_react.default.Component);

  exports.VerticalMap = VerticalMap;
  VerticalMap.propTypes = {
    style: _propTypes.default.object.isRequired,
    data: _propTypes.default.array.isRequired,
    itemKey: _propTypes.default.func.isRequired,
    renderItem: _propTypes.default.func,
    renderCallout: _propTypes.default.func,
    onItemPress: _propTypes.default.func,
    latitudeKey: _propTypes.default.string,
    longitudeKey: _propTypes.default.string,
    titleKey: _propTypes.default.string,
    getMarkerIcon: _propTypes.default.func
  };
  VerticalMap.defaultProps = {
    latitudeKey: "latitude",
    longitudeKey: "longitude"
  };
},2526,[5,6,7,8,12,14,16,17,201,731,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/verticals/navigation/img",
    "width": 2000,
    "height": 394,
    "scales": [1],
    "hash": "f782f11b313b5c72922dfa380b1e9e2a",
    "name": "monster_logo",
    "type": "png"
  });
},2527,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.JobDetailScreen = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var JobDetailScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(JobDetailScreen, _NavigationBaseScreen);

    var _super = _createSuper(JobDetailScreen);

    function JobDetailScreen() {
      (0, _classCallCheck2.default)(this, JobDetailScreen);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(JobDetailScreen, [{
      key: "handleBackButton",
      value: function handleBackButton() {
        var navigation = this.props.navigation;
        navigation.goBack(null);
        return (0, _get2.default)((0, _getPrototypeOf2.default)(JobDetailScreen.prototype), "handleBackButton", this).call(this);
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "Job Details";
      }
    }, {
      key: "render",
      value: function render() {
        var _getNavigationParams = (0, _$$_REQUIRE(_dependencyMap[8]).getNavigationParams)(this.props),
            url = _getNavigationParams.url;

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).BaseWebView, {
          source: {
            uri: url
          },
          progressColor: (0, _$$_REQUIRE(_dependencyMap[10]).getJobColor)(),
          browser: true
        });
      }
    }]);
    return JobDetailScreen;
  }(_$$_REQUIRE(_dependencyMap[8]).NavigationBaseScreen);

  exports.JobDetailScreen = JobDetailScreen;
},2528,[5,7,8,90,12,14,16,17,2148,1894,2474]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = VerticalEventNavigator;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var Header = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[5]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var Stack = _NavigationService.default.navigator.createStack();

  var Tab = _NavigationService.default.navigator.createBottomTab();

  function VerticalTabNavigator(props) {
    return _react.default.createElement(Tab.Navigator, {
      screenOptions: function screenOptions(tabProps) {
        return {
          headerShown: false,
          gesturesEnabled: false,
          tabBarShowLabel: false,
          swipeEnabled: false,
          tabBarStyle: {
            backgroundColor: _$$_REQUIRE(_dependencyMap[8]).colors.white
          },
          tabBarIcon: function tabBarIcon(_ref) {
            var focused = _ref.focused;
            var routeName = tabProps.route.name;
            var iconName;

            if (routeName === "VerticalHomeScreen") {
              iconName = "home";
            } else if (routeName === "VerticalFiltersScreen") {
              iconName = "user-cog";
            } else if (routeName === "VerticalListScreen") {
              iconName = "home";
            } else if (routeName === "VerticalSavedSearchScreen") {
              iconName = "search";
            } else if (routeName === "VerticalFavoritesScreen") {
              iconName = "heart";
            }

            var filtersIcon = false;

            var _getNavigationParams = (0, _$$_REQUIRE(_dependencyMap[9]).getNavigationParams)(tabProps),
                _getNavigationParams$ = _getNavigationParams.filters,
                filters = _getNavigationParams$ === undefined ? {} : _getNavigationParams$,
                apiHomeOverride = _getNavigationParams.apiHomeOverride;

            var getParams = {};

            if (apiHomeOverride) {
              var _StringUtils$segmentU = _$$_REQUIRE(_dependencyMap[8]).StringUtils.segmentUrl(apiHomeOverride);

              getParams = _StringUtils$segmentU.getParams;
            }

            if (apiHomeOverride && _$$_REQUIRE(_dependencyMap[8]).JSUtils.equals(filters, getParams)) {
              filtersIcon = false;
            } else if (filters && Object.keys(filters).length) {
              filtersIcon = true;
            }

            return _react.default.createElement(_reactNative.View, null, _react.default.createElement(_iconComponent.default, {
              type: _iconComponent.TecnaviaIconType.FONT_AWESOME_5,
              name: iconName,
              size: _$$_REQUIRE(_dependencyMap[8]).PlatformUtils.isTablet() || !_deviceUtils.default.isPortrait() ? 20 : 25,
              color: focused ? (0, _$$_REQUIRE(_dependencyMap[10]).getEventColor)() : _$$_REQUIRE(_dependencyMap[8]).colors.grey400
            }), filtersIcon ? _react.default.createElement(_reactNative.View, {
              style: {
                position: "absolute",
                right: -5,
                top: -5,
                zIndex: 1
              }
            }, _react.default.createElement(_iconComponent.default, {
              type: _iconComponent.TecnaviaIconType.FONT_AWESOME_5,
              name: "filter",
              size: 10,
              color: focused ? _$$_REQUIRE(_dependencyMap[8]).colors.md_red_900 : _$$_REQUIRE(_dependencyMap[8]).colors.grey400
            })) : null);
          }
        };
      }
    }, _react.default.createElement(Tab.Screen, {
      name: "VerticalListScreen"
    }, function (tabProps) {
      var _getNavigationParams2 = (0, _$$_REQUIRE(_dependencyMap[9]).getNavigationParams)(props),
          user = _getNavigationParams2.user,
          pass = _getNavigationParams2.pass,
          portal = _getNavigationParams2.portal,
          apiHomeOverride = _getNavigationParams2.apiHomeOverride;

      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).EventListScreen, (0, _extends2.default)({
        apiHomeOverride: apiHomeOverride,
        user: user,
        pass: pass,
        portal: portal
      }, tabProps));
    }), _react.default.createElement(Tab.Screen, {
      name: "VerticalFiltersScreen"
    }, function (tabProps) {
      var _getNavigationParams3 = (0, _$$_REQUIRE(_dependencyMap[9]).getNavigationParams)(props),
          user = _getNavigationParams3.user,
          pass = _getNavigationParams3.pass,
          portal = _getNavigationParams3.portal,
          extraSearchField = _getNavigationParams3.extraSearchField;

      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).EventFilterScreen, (0, _extends2.default)({
        user: user,
        pass: pass,
        portal: portal,
        extraSearchField: extraSearchField
      }, tabProps));
    }), _react.default.createElement(Tab.Screen, {
      name: "VerticalFavoritesScreen"
    }, function (tabProps) {
      var _getNavigationParams4 = (0, _$$_REQUIRE(_dependencyMap[9]).getNavigationParams)(props),
          user = _getNavigationParams4.user,
          pass = _getNavigationParams4.pass,
          portal = _getNavigationParams4.portal;

      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).EventFavoritesScreen, (0, _extends2.default)({
        user: user,
        pass: pass,
        portal: portal
      }, tabProps));
    }));
  }

  function VerticalEventNavigator() {
    return _react.default.createElement(Stack.Navigator, {
      screenOptions: _NavigationService.default.getStackScreenOptions(),
      initialRouteName: "VerticalTabNavigator"
    }, _react.default.createElement(Stack.Screen, {
      name: "VerticalTabNavigator",
      component: VerticalTabNavigator,
      options: function options(_ref2) {
        var navigation = _ref2.navigation;
        return {
          header: function header() {
            return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).ActionBar, {
              considerSafeAreaTop: true,
              left: Header._getHeaderLeftButtonsBackButtonOnly(navigation, (0, _$$_REQUIRE(_dependencyMap[10]).getEventColor)()),
              center: Header._getHeader(global.strings("local_events"), global.strings("powered_by_who", {
                who: ""
              }), function () {
                navigation.navigate("VerticalWebScreen", {
                  url: (0, _$$_REQUIRE(_dependencyMap[10]).getCitySparkUrl)()
                });
              }, (0, _$$_REQUIRE(_dependencyMap[10]).getCitySparkLogo)()),
              right: Header._getHeaderRightButton(navigation, (0, _$$_REQUIRE(_dependencyMap[10]).getEventColor)(), "", global.strings("btn_add_event"), function () {
                navigation.navigate("VerticalWebScreen", {
                  url: (0, _$$_REQUIRE(_dependencyMap[10]).getNewEventUrl)()
                });
              })
            });
          }
        };
      }
    }), _react.default.createElement(Stack.Screen, {
      name: "VerticalDetailScreen",
      component: _$$_REQUIRE(_dependencyMap[15]).EventDetailScreen,
      options: function options(_ref3) {
        var navigation = _ref3.navigation;
        return {
          header: function header() {
            return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).ActionBar, {
              considerSafeAreaTop: true,
              left: Header._getHeaderLeftButtonsBackButtonOnly(navigation, (0, _$$_REQUIRE(_dependencyMap[10]).getEventColor)()),
              center: Header._getHeader(global.strings("local_events"), global.strings("powered_by_who", {
                who: ""
              }), function () {
                navigation.navigate("VerticalWebScreen", {
                  url: (0, _$$_REQUIRE(_dependencyMap[10]).getCitySparkUrl)()
                });
              }, (0, _$$_REQUIRE(_dependencyMap[10]).getCitySparkLogo)()),
              right: Header._getHeaderRightButton(navigation, (0, _$$_REQUIRE(_dependencyMap[10]).getEventColor)(), "", global.strings("btn_add_event"), function () {
                navigation.navigate("VerticalWebScreen", {
                  url: (0, _$$_REQUIRE(_dependencyMap[10]).getNewEventUrl)()
                });
              })
            });
          }
        };
      }
    }), _react.default.createElement(Stack.Screen, {
      name: "VerticalSavedSearchScreen",
      options: function options(_ref4) {
        var navigation = _ref4.navigation;
        return {
          header: function header() {
            return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).ActionBar, {
              considerSafeAreaTop: true,
              left: Header._getHeaderLeftButtonsBackButtonOnly(navigation, (0, _$$_REQUIRE(_dependencyMap[10]).getEventColor)()),
              center: Header._getHeader(global.strings("local_events"), global.strings("powered_by_who", {
                who: ""
              }), function () {
                navigation.navigate("VerticalWebScreen", {
                  url: (0, _$$_REQUIRE(_dependencyMap[10]).getCitySparkUrl)()
                });
              }, (0, _$$_REQUIRE(_dependencyMap[10]).getCitySparkLogo)()),
              right: Header._getHeaderRightButton(navigation, (0, _$$_REQUIRE(_dependencyMap[10]).getEventColor)(), "", global.strings("btn_add_event"), function () {
                navigation.navigate("VerticalWebScreen", {
                  url: (0, _$$_REQUIRE(_dependencyMap[10]).getNewEventUrl)()
                });
              })
            });
          },
          gesturesEnabled: false
        };
      }
    }, function (props) {
      var _getNavigationParams5 = (0, _$$_REQUIRE(_dependencyMap[9]).getNavigationParams)(props),
          user = _getNavigationParams5.user,
          pass = _getNavigationParams5.pass,
          portal = _getNavigationParams5.portal,
          _getNavigationParams6 = _getNavigationParams5.labels,
          labels = _getNavigationParams6 === undefined ? [] : _getNavigationParams6;

      return _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).EventSearchScreen, (0, _extends2.default)({
        user: user,
        pass: pass,
        portal: portal,
        labels: labels
      }, props));
    }), _react.default.createElement(Stack.Screen, {
      name: "VerticalWebScreen",
      component: _$$_REQUIRE(_dependencyMap[17]).EventWebScreen,
      options: function options(_ref5) {
        var navigation = _ref5.navigation;
        return {
          header: function header() {
            return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).ActionBar, {
              considerSafeAreaTop: true,
              left: Header._getHeaderLeftButtonsBackButtonOnly(navigation, (0, _$$_REQUIRE(_dependencyMap[10]).getEventColor)()),
              center: Header._getHeader(global.strings("local_events"), global.strings("powered_by_who", {
                who: ""
              }), function () {
                navigation.navigate("VerticalWebScreen", {
                  url: (0, _$$_REQUIRE(_dependencyMap[10]).getCitySparkUrl)()
                });
              }, (0, _$$_REQUIRE(_dependencyMap[10]).getCitySparkLogo)())
            });
          },
          gesturesEnabled: false
        };
      }
    }));
  }
},2529,[5,6,17,28,458,2472,1806,1861,462,2148,2474,2530,2554,2570,2144,2573,2575,2578]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2530,[2531]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.EventListScreen = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _eventBaseScreen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var EventListScreen = function (_EventBaseScreen) {
    (0, _inherits2.default)(EventListScreen, _EventBaseScreen);

    var _super = _createSuper(EventListScreen);

    function EventListScreen(props) {
      var _this;

      (0, _classCallCheck2.default)(this, EventListScreen);
      _this = _super.call(this, props);
      _this.state = {
        searches: [],
        loading: true
      };
      return _this;
    }

    (0, _createClass2.default)(EventListScreen, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        return _regenerator.default.async(function componentDidMount$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.prev = 0;
                _context.next = 3;
                return _regenerator.default.awrap(this.loadPromotions());

              case 3:
                this.setState({
                  loading: false
                });
                _context.next = 8;
                break;

              case 6:
                _context.prev = 6;
                _context.t0 = _context["catch"](0);

              case 8:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[0, 6]], Promise);
      }
    }, {
      key: "didFocus",
      value: function didFocus() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(EventListScreen.prototype), "didFocus", this).call(this);

        this._retrieveData();
      }
    }, {
      key: "_retrieveData",
      value: function _retrieveData() {
        var searchVerticalManager = global.getVerticalsConfig().getEvents();
        var result = searchVerticalManager.getSearches();
        this.setState({
          searches: result
        });
      }
    }, {
      key: "render",
      value: function render() {
        var loading = this.state.loading;
        var searchVerticalManager = global.getVerticalsConfig().getEvents();
        var _this$props = this.props,
            portal = _this$props.portal,
            apiHomeOverride = _this$props.apiHomeOverride;
        var filters = (0, _$$_REQUIRE(_dependencyMap[10]).getNavigationParams)(this.props).filters || {};
        var apiToOverride;

        if (filters && (Object.keys(filters).length > 0 || !apiHomeOverride)) {
          filters.includeLabels = true;
          filters.portal = portal;
        } else {
          apiToOverride = apiHomeOverride;
        }

        return !loading ? this.renderList(filters, searchVerticalManager, apiToOverride) : null;
      }
    }]);
    return EventListScreen;
  }(_eventBaseScreen.default);

  exports.EventListScreen = EventListScreen;
  EventListScreen.propTypes = {
    apiHomeOverride: _propTypes.default.string,
    portal: _propTypes.default.string.isRequired,
    pass: _propTypes.default.string.isRequired,
    user: _propTypes.default.string.isRequired,
    navigation: _propTypes.default.shape({
      getParam: _propTypes.default.func.isRequired
    })
  };
},2531,[5,80,7,8,90,12,14,16,201,2532,2148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _AdsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[14]));

  var _tecnaviaPlatformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var EventBaseScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(EventBaseScreen, _NavigationBaseScreen);

    var _super = _createSuper(EventBaseScreen);

    function EventBaseScreen(props) {
      var _this;

      (0, _classCallCheck2.default)(this, EventBaseScreen);
      _this = _super.call(this, props);
      _this.state = {
        sortValue: 0
      };
      return _this;
    }

    (0, _createClass2.default)(EventBaseScreen, [{
      key: "loadPromotions",
      value: function loadPromotions() {
        var _this2 = this;

        var portal, params, filter, _params$user, user, _params$pass, pass, username, password, config, featuredResults, model, ad;

        return _regenerator.default.async(function loadPromotions$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                portal = this.props.portal;
                params = (0, _$$_REQUIRE(_dependencyMap[16]).getNavigationParams)(this.props);
                filter = {
                  portal: portal,
                  numberOfDays: 365,
                  asOfDate: _$$_REQUIRE(_dependencyMap[17]).DateUtils.getDateString().substring(0, 10)
                };
                _params$user = params.user, user = _params$user === undefined ? "" : _params$user, _params$pass = params.pass, pass = _params$pass === undefined ? "" : _params$pass;
                username = user;
                password = pass;
                config = {
                  auth: {
                    username: username,
                    password: password
                  }
                };
                this.featuredIds = [];
                this.enhancedIds = [];
                this.ads = [];
                _context.prev = 10;
                _context.next = 13;
                return _regenerator.default.awrap(_Api.default.get((0, _$$_REQUIRE(_dependencyMap[18]).getFeaturedEventApi)(), config, filter));

              case 13:
                featuredResults = _context.sent;
                model = global.getAdsConfig().getAdEvent();
                ad = global.getAdsConfig().getAdComponent(model);
                this.notice = {
                  key: "notice",
                  data: ad
                };
                featuredResults.data.forEach(function (event) {
                  if (event.eventId && event.type === "Featured" && !_this2.featuredIds.includes(event.eventId)) {
                    _this2.featuredIds.push(event.eventId);
                  }

                  if (event.eventId && event.type === "Enhanced") {
                    _this2.enhancedIds.push(event.eventId);
                  }

                  if (event.eventId && event.type === "Premium") {
                    _this2.featuredIds.push(event.eventId);

                    _this2.enhancedIds.push(event.eventId);
                  }

                  if (event.promoImage && event.type === "Display Ad") {
                    _this2.ads.push({
                      isAd: true,
                      promoImage: event.promoImage,
                      destinationUrl: event.destinationUrl
                    });
                  }
                });
                this.ads.push({
                  isAd: true
                });
                _context.next = 23;
                break;

              case 21:
                _context.prev = 21;
                _context.t0 = _context["catch"](10);

              case 23:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[10, 21]], Promise);
      }
    }, {
      key: "handleBackButton",
      value: function handleBackButton() {
        var navigation = this.props.navigation;
        navigation.goBack(null);
        return (0, _get2.default)((0, _getPrototypeOf2.default)(EventBaseScreen.prototype), "handleBackButton", this).call(this);
      }
    }, {
      key: "getClosestEventDate",
      value: function getClosestEventDate(event) {
        var start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Date();
        var numberOfEventInstances = event.instances.length;
        var startDate;
        var outputResult = "";

        var now = _$$_REQUIRE(_dependencyMap[17]).DateUtils.getMomentStartOfDay(start);

        for (var i = 0; i < numberOfEventInstances; i++) {
          startDate = _$$_REQUIRE(_dependencyMap[17]).DateUtils.getMomentDate(event.instances[i].startDateTime);

          if (startDate >= now) {
            outputResult += startDate.utc().format("dddd, MMMM D");
            return outputResult;
          }
        }

        return outputResult;
      }
    }, {
      key: "getSortedSections",
      value: function getSortedSections(items, sorting, filters) {
        var _this3 = this;

        var sections = [];
        var keys = [];
        var eventsAdded = [];
        items.forEach(function (item) {
          var newSection = "";
          newSection = _this3.getClosestEventDate(item, filters.startDate);

          if (newSection) {
            var eventId = String(item.eventId);

            if (!keys.includes(newSection)) {
              keys.push(newSection);
              sections.push({
                title: newSection,
                data: [item]
              });
              eventsAdded.push(eventId);
            } else if (!eventsAdded.includes(eventId)) {
              var index = sections.findIndex(function (section) {
                return section.title === newSection;
              });

              if (index > -1) {
                eventsAdded.push(eventId);
                sections[index].data.push(item);
              }
            }
          }
        });
        var numberOfAds = this.ads.length;

        if (numberOfAds) {
          var counter = 0;
          var adIndex = 0;

          for (var i = 0; i < sections.length; i++) {
            for (var k = 0; k < sections[i].data.length; k++) {
              counter += 1;

              if (counter === 3 || (counter - 3) % 10 === 0) {
                sections[i].data.splice(k, 0, this.ads[adIndex % numberOfAds]);
                adIndex += 1;
              }
            }
          }

          sections[0].data.splice(0, 0, this.notice);
        }

        return sections;
      }
    }, {
      key: "getMapProps",
      value: function getMapProps() {
        var _this$props = this.props,
            navigation = _this$props.navigation,
            user = _this$props.user,
            pass = _this$props.pass,
            portal = _this$props.portal;
        return {
          enable: true,
          renderCallout: this.renderCallout,
          titleKey: "name",
          itemKey: "eventId",
          latitudeKey: "location.latitude",
          longitudeKey: "location.longitude",
          getMarkerIcon: _$$_REQUIRE(_dependencyMap[19]).eventIcon,
          onItemPress: function onItemPress(clicked) {
            navigation.navigate("VerticalDetailScreen", {
              id: clicked.eventId,
              user: user,
              pass: pass,
              portal: portal
            });
          }
        };
      }
    }, {
      key: "getOrderProps",
      value: function getOrderProps() {
        var iconStyle = {
          fontSize: 20,
          height: 22,
          color: _$$_REQUIRE(_dependencyMap[17]).colors.white
        };
        var activeIconStyle = {
          fontSize: 20,
          height: 22,
          color: (0, _$$_REQUIRE(_dependencyMap[18]).getEventColor)()
        };
        return {
          items: [[{
            label: global.strings("sort_by_popularity"),
            Component: _react.default.createElement(_iconComponent.default, {
              type: _iconComponent.TecnaviaIconType.FONT_AWESOME_5,
              name: "star",
              style: iconStyle
            }),
            ActiveComponent: _react.default.createElement(_iconComponent.default, {
              type: _iconComponent.TecnaviaIconType.FONT_AWESOME_5,
              name: "star",
              style: activeIconStyle
            }),
            param: EventBaseScreen.SORT_POPULARITY
          }], [{
            label: global.strings("sort_by_date"),
            Component: _react.default.createElement(_iconComponent.default, {
              type: _iconComponent.TecnaviaIconType.FONT_AWESOME_5,
              name: "calendar-alt",
              style: iconStyle
            }),
            ActiveComponent: _react.default.createElement(_iconComponent.default, {
              type: _iconComponent.TecnaviaIconType.FONT_AWESOME_5,
              name: "calendar-alt",
              style: activeIconStyle
            }),
            param: EventBaseScreen.SORT_DATE
          }], [{
            label: global.strings("sort_by_name"),
            Component: _react.default.createElement(_iconComponent.default, {
              type: _iconComponent.TecnaviaIconType.FONT_AWESOME_5,
              name: "sort-alpha-down",
              style: iconStyle
            }),
            ActiveComponent: _react.default.createElement(_iconComponent.default, {
              type: _iconComponent.TecnaviaIconType.FONT_AWESOME_5,
              name: "sort-alpha-down",
              style: activeIconStyle
            }),
            param: EventBaseScreen.SORT_NAME + "+asc"
          }], [{
            label: global.strings("sort_by_name_reverse"),
            Component: _react.default.createElement(_iconComponent.default, {
              type: _iconComponent.TecnaviaIconType.FONT_AWESOME_5,
              name: "sort-alpha-up",
              style: iconStyle
            }),
            ActiveComponent: _react.default.createElement(_iconComponent.default, {
              type: _iconComponent.TecnaviaIconType.FONT_AWESOME_5,
              name: "sort-alpha-up",
              style: activeIconStyle
            }),
            param: EventBaseScreen.SORT_NAME + "+desc"
          }]],
          defaultSort: EventBaseScreen.SORT_POPULARITY
        };
      }
    }, {
      key: "renderSectionHeader",
      value: function renderSectionHeader(data) {
        var title = "";

        if (data && data.section && data.section.title) {
          title = data.section.title;
        }

        return _react.default.createElement(_reactNative.View, {
          style: {
            height: title ? 40 : 0,
            flexDirection: "row",
            justifyContent: "flex-start",
            alignItems: "center",
            padding: 0,
            opacity: 0.9,
            backgroundColor: (0, _$$_REQUIRE(_dependencyMap[18]).getEventColor)()
          }
        }, _react.default.createElement(_fontText.default, {
          style: {
            fontSize: 18,
            fontWeight: "bold",
            color: _$$_REQUIRE(_dependencyMap[17]).colors.md_white_1000,
            paddingHorizontal: 10
          }
        }, title));
      }
    }, {
      key: "renderItem",
      value: function renderItem(item, filters) {
        var _this$props2 = this.props,
            navigation = _this$props2.navigation,
            user = _this$props2.user,
            pass = _this$props2.pass,
            portal = _this$props2.portal;
        var params = (0, _$$_REQUIRE(_dependencyMap[16]).getNavigationParams)(this.props);
        var adWidth = parseInt(params.adWidth || "300", 10);
        var adHeight = parseInt(params.adHeight || "250", 10);
        var adFallback = params.adFallback;

        if (item.isAd) {
          if (item.promoImage && item.destinationUrl) {
            return _react.default.createElement(_reactNative.TouchableOpacity, {
              onPress: function onPress() {
                return _tecnaviaPlatformUtils.default.openURL(item.destinationUrl);
              }
            }, _react.default.createElement(_imageComponent.default, {
              source: {
                uri: item.promoImage
              },
              forceProgressComponent: true,
              style: {
                marginTop: 20,
                marginBottom: 20,
                height: adWidth,
                width: adWidth,
                alignSelf: "center"
              }
            }));
          }

          if (item.promoImage && !item.destinationUrl && item.eventId) {
            return _react.default.createElement(_reactNative.TouchableOpacity, {
              onPress: function onPress() {
                navigation.navigate("VerticalDetailScreen", {
                  id: item.eventId,
                  user: user,
                  pass: pass,
                  portal: portal,
                  isVirtual: item.labels ? item.labels.includes("csVirtual") : false
                });
              }
            }, _react.default.createElement(_imageComponent.default, {
              source: {
                uri: item.promoImage
              },
              forceProgressComponent: true,
              style: {
                marginTop: 20,
                marginBottom: 20,
                height: adWidth,
                width: adWidth,
                alignSelf: "center"
              }
            }));
          }

          var adUnitId = params.adUnitId;
          return _react.default.createElement(_reactNative.View, {
            style: {
              display: "flex",
              flexDirection: "row",
              justifyContent: "center",
              marginTop: 20,
              marginBottom: 20
            }
          }, _AdsHelper.default.getNativeAdComponent({
            unitId: adUnitId,
            width: adWidth,
            height: adHeight,
            fallback: adFallback
          }));
        }

        if (item.key === "notice") {
          return _react.default.createElement(_reactNative.View, {
            style: {
              flexDirection: "row",
              justifyContent: "center",
              margin: 10
            }
          }, item.data);
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[20]).EventListItem, {
          item: item,
          onItemPress: function onItemPress(clicked) {
            navigation.navigate("VerticalDetailScreen", {
              id: clicked.eventId,
              user: user,
              pass: pass,
              portal: portal,
              isVirtual: item.labels ? item.labels.includes("csVirtual") : false
            });
          },
          manager: global.getVerticalsConfig().getEvents(),
          color: (0, _$$_REQUIRE(_dependencyMap[18]).getEventColor)(),
          startDate: filters.startDate,
          endDate: filters.endDate,
          baseLatitude: filters.latitude,
          baseLongitude: filters.longitude,
          enhanced: this.enhancedIds.includes(item.eventId),
          portal: portal
        });
      }
    }, {
      key: "renderCallout",
      value: function renderCallout(item) {
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[21]).EventCustomCallout, {
          title: item.name,
          image: item.primaryImage ? item.primaryImage.smallImageUrl : null,
          description: item.eventId,
          date: item.seriesStart
        });
      }
    }, {
      key: "renderList",
      value: function renderList(filters, manager, apiHomeOverride) {
        var _this4 = this;

        var api = apiHomeOverride || (0, _$$_REQUIRE(_dependencyMap[18]).getEventApi)();
        var _this$props3 = this.props,
            navigation = _this$props3.navigation,
            user = _this$props3.user,
            pass = _this$props3.pass,
            portal = _this$props3.portal;
        return _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[22]).EventFeaturedComponent, {
          getItemById: _$$_REQUIRE(_dependencyMap[18]).getEventById,
          featuredApi: (0, _$$_REQUIRE(_dependencyMap[18]).getFeaturedEventApi)(),
          featuredEvents: this.featuredIds,
          config: {
            auth: {
              username: user,
              password: pass
            }
          },
          normalizeResults: function normalizeResults(res) {
            return {
              items: res.events
            };
          },
          skipDefaultParams: true,
          portal: portal,
          onEventPress: function onEventPress(id) {
            navigation.navigate("VerticalDetailScreen", {
              id: id,
              user: user,
              pass: pass,
              portal: portal
            });
          }
        }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[23]).VerticalList, {
          color: (0, _$$_REQUIRE(_dependencyMap[18]).getEventColor)(),
          api: api,
          config: {
            auth: {
              username: user,
              password: pass
            }
          },
          params: filters,
          normalizeResults: function normalizeResults(res) {
            return {
              items: res.events
            };
          },
          getFilterNames: function getFilterNames(rows, sort, currentPage) {
            var sortValue = typeof sort === "string" ? sort.split("+") : undefined;
            return {
              limit: rows,
              sortBy: sortValue ? sortValue[0] : sort,
              page: currentPage,
              sortAsc: sortValue && sortValue[1] === "desc" ? false : undefined
            };
          },
          map: this.getMapProps(),
          order: this.getOrderProps(),
          enableInfiniteScroll: true,
          skipDefaultParams: true,
          serverSidePaging: false,
          searchVerticalManager: manager,
          renderItem: function renderItem(_ref) {
            var item = _ref.item;
            return _this4.renderItem(item, filters);
          },
          getSections: function getSections(items, sorting) {
            return _this4.getSortedSections(items, sorting, filters);
          },
          renderSectionHeader: this.renderSectionHeader,
          onErrorPress: function onErrorPress() {
            navigation.navigate("VerticalFiltersScreen");
          },
          onEmptyPress: function onEmptyPress() {
            navigation.navigate("VerticalFiltersScreen");
          },
          style: {
            paddingVertical: 5
          }
        }));
      }
    }]);
    return EventBaseScreen;
  }(_$$_REQUIRE(_dependencyMap[16]).NavigationBaseScreen);

  exports.default = EventBaseScreen;
  EventBaseScreen.SORT_POPULARITY = 0;
  EventBaseScreen.SORT_DATE = 1;
  EventBaseScreen.SORT_NAME = 2;
},2532,[5,80,7,8,90,12,14,16,17,28,588,1879,431,2087,1806,1876,2148,462,2474,2533,2547,2549,2551,2517]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2533,[2534]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.eventIcon = eventIcon;

  function eventIcon(marker, filterCategory) {
    var out;
    var id = marker.categories[0] ? marker.categories[0].categoryId : -1;

    if (filterCategory) {
      id = filterCategory;
    }

    switch (id) {
      case 2:
        out = _$$_REQUIRE(_dependencyMap[0]);
        break;

      case 3:
        out = _$$_REQUIRE(_dependencyMap[1]);
        break;

      case 4:
        out = _$$_REQUIRE(_dependencyMap[2]);
        break;

      case 5:
        out = _$$_REQUIRE(_dependencyMap[3]);
        break;

      case 6:
        out = _$$_REQUIRE(_dependencyMap[4]);
        break;

      case 7:
        out = _$$_REQUIRE(_dependencyMap[5]);
        break;

      case 8:
        out = _$$_REQUIRE(_dependencyMap[6]);
        break;

      case 10:
        out = _$$_REQUIRE(_dependencyMap[7]);
        break;

      case 14:
        out = _$$_REQUIRE(_dependencyMap[8]);
        break;

      case 15:
        out = _$$_REQUIRE(_dependencyMap[9]);
        break;

      case 76:
        out = _$$_REQUIRE(_dependencyMap[10]);
        break;

      case 390:
        out = _$$_REQUIRE(_dependencyMap[11]);
        break;

      default:
        out = _$$_REQUIRE(_dependencyMap[11]);
        break;
    }

    return out;
  }
},2534,[2535,2536,2537,2538,2539,2540,2541,2542,2543,2544,2545,2546]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/verticals/event-icons/icons",
    "width": 33,
    "height": 44,
    "scales": [1],
    "hash": "f6a5204893e0a85af94682d9020ed1dd",
    "name": "2",
    "type": "png"
  });
},2535,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/verticals/event-icons/icons",
    "width": 33,
    "height": 44,
    "scales": [1],
    "hash": "26beddc43143443aa67b230f273f9fb2",
    "name": "3",
    "type": "png"
  });
},2536,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/verticals/event-icons/icons",
    "width": 33,
    "height": 44,
    "scales": [1],
    "hash": "2f15106a97eca883b6cfaf85b1d5a9a7",
    "name": "4",
    "type": "png"
  });
},2537,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/verticals/event-icons/icons",
    "width": 33,
    "height": 44,
    "scales": [1],
    "hash": "f9bc7e630f61cb611aa95fb6d9d49282",
    "name": "5",
    "type": "png"
  });
},2538,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/verticals/event-icons/icons",
    "width": 33,
    "height": 44,
    "scales": [1],
    "hash": "3925bc3bb2e4ac320a5cbc3fd2c6e494",
    "name": "6",
    "type": "png"
  });
},2539,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/verticals/event-icons/icons",
    "width": 33,
    "height": 44,
    "scales": [1],
    "hash": "d27b56206d43f01cc144ebc65fc2efa5",
    "name": "7",
    "type": "png"
  });
},2540,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/verticals/event-icons/icons",
    "width": 33,
    "height": 44,
    "scales": [1],
    "hash": "41a839b11e9be3d93f8f023cd0628009",
    "name": "8",
    "type": "png"
  });
},2541,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/verticals/event-icons/icons",
    "width": 33,
    "height": 44,
    "scales": [1],
    "hash": "65a4d260cc3cf40a53b448cdfadf1b34",
    "name": "10",
    "type": "png"
  });
},2542,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/verticals/event-icons/icons",
    "width": 35,
    "height": 44,
    "scales": [1],
    "hash": "b23a4381adba88f0a0a35e11e6906bb7",
    "name": "14",
    "type": "png"
  });
},2543,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/verticals/event-icons/icons",
    "width": 33,
    "height": 44,
    "scales": [1],
    "hash": "b88bdba86ef801b7adfa873d39827db9",
    "name": "15",
    "type": "png"
  });
},2544,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/verticals/event-icons/icons",
    "width": 33,
    "height": 44,
    "scales": [1],
    "hash": "cbb96fc80a91bdadbd5f0c09c706a68d",
    "name": "76",
    "type": "png"
  });
},2545,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  module.exports = _$$_REQUIRE(_dependencyMap[0]).registerAsset({
    "__packager_asset": true,
    "httpServerLocation": "/assets/src/views/verticals/event-icons/icons",
    "width": 33,
    "height": 44,
    "scales": [1],
    "hash": "356463c16a6c2a9b77f7059c3a40f5e5",
    "name": "390",
    "type": "png"
  });
},2546,[1179]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.EventListItem = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNativeLinearGradient = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _iconTile = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _blurImageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[13]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[15]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var EventListItem = function (_React$Component) {
    (0, _inherits2.default)(EventListItem, _React$Component);

    var _super = _createSuper(EventListItem);

    function EventListItem() {
      var _this;

      (0, _classCallCheck2.default)(this, EventListItem);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));

      _this.onShare = function _callee(message, id) {
        var portal;
        return _regenerator.default.async(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                portal = _this.props.portal;
                _context.prev = 1;
                _context.next = 4;
                return _regenerator.default.awrap(_reactNative.Share.share({
                  message: message,
                  url: global.strings("share_event_url", {
                    portal: portal,
                    id: id
                  })
                }));

              case 4:
                _context.next = 8;
                break;

              case 6:
                _context.prev = 6;
                _context.t0 = _context["catch"](1);

              case 8:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[1, 6]], Promise);
      };

      return _this;
    }

    (0, _createClass2.default)(EventListItem, [{
      key: "shouldComponentUpdate",
      value: function shouldComponentUpdate() {
        return false;
      }
    }, {
      key: "getDistanceString",
      value: function getDistanceString(item) {
        var baseLatitude = this.props.baseLatitude || global.getRssIndex().latitude;
        var baseLongitude = this.props.baseLongitude || global.getRssIndex().longitude;
        var manager = global.getVerticalsConfig().getEvents();
        var lastSearch = manager.getLastSearch();

        if (!lastSearch || !item.location || !item.location.latitude || !item.location.longitude) {
          return "";
        }

        var pi = Math.PI;
        var lat1 = parseFloat(baseLatitude, 10) * pi / 180;
        var lon1 = parseFloat(baseLongitude, 10) * pi / 180;
        var lat2 = parseFloat(item.location.latitude, 10) * pi / 180;
        var lon2 = parseFloat(item.location.longitude, 10) * pi / 180;
        var R = 3958.75;
        var x = (lon2 - lon1) * Math.cos((lat1 + lat2) / 2);
        var y = lat2 - lat1;
        var d = Math.sqrt(x * x + y * y) * R;
        return "| " + d.toFixed(1) + " mi";
      }
    }, {
      key: "getClosestEventDate",
      value: function getClosestEventDate(event) {
        var start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Date();
        var numberOfEventInstances = event.instances.length;
        var startDate;
        var endDate;
        var outputResult = "";

        var now = _$$_REQUIRE(_dependencyMap[16]).DateUtils.getMomentStartOfDay(start);

        for (var i = 0; i < numberOfEventInstances; i++) {
          startDate = _$$_REQUIRE(_dependencyMap[16]).DateUtils.getMomentDate(event.instances[i].startDateTime);
          endDate = event.instances[i].endDateTime ? _$$_REQUIRE(_dependencyMap[16]).DateUtils.getMomentDate(event.instances[i].endDateTime) : null;

          if (startDate >= now) {
            outputResult += startDate.utc().format("LLLL");
            outputResult += endDate ? endDate.utc().format(" - hh:mm A") : "";
            return outputResult;
          }
        }

        now = _$$_REQUIRE(_dependencyMap[16]).DateUtils.getMomentStartOfDay(start).utc();
        startDate = _$$_REQUIRE(_dependencyMap[16]).DateUtils.getMomentDate(event.instances[numberOfEventInstances - 1].startDateTime).utc().format("YYYY MM DD, hh:mm a");

        if (event.instances[numberOfEventInstances - 1].startDateTime) {
          endDate = _$$_REQUIRE(_dependencyMap[16]).DateUtils.getMomentDate(event.instances[numberOfEventInstances - 1].endDateTime);
        }

        if (endDate && endDate > now) {
          outputResult += startDate;
          outputResult += endDate.format(" - hh:mm a");
        } else {
          outputResult = global.strings("msg_event_over");
        }

        return outputResult;
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$props = this.props,
            item = _this$props.item,
            manager = _this$props.manager,
            color = _this$props.color,
            startDate = _this$props.startDate,
            onItemPress = _this$props.onItemPress,
            enhanced = _this$props.enhanced;
        var location = item.location || {};
        var sep = location.locationName ? " | " : "";
        return _react.default.createElement(_reactNative.TouchableWithoutFeedback, {
          onPress: function onPress() {
            if (onItemPress) {
              onItemPress(item);
            }
          }
        }, _react.default.createElement(_reactNative.View, {
          style: enhanced ? _$$_REQUIRE(_dependencyMap[17]).styles.enhanced : _$$_REQUIRE(_dependencyMap[17]).styles.line
        }, _react.default.createElement(_reactNative.View, null, item.primaryImage ? _react.default.createElement(_reactNative.View, null, _react.default.createElement(_blurImageComponent.default, {
          image: _$$_REQUIRE(_dependencyMap[16]).PlatformUtils.isTablet() ? item.primaryImage.largeImageUrl : item.primaryImage.mediumImageUrl,
          style: _$$_REQUIRE(_dependencyMap[16]).PlatformUtils.isTablet() ? _$$_REQUIRE(_dependencyMap[17]).styles.tabletImage : _$$_REQUIRE(_dependencyMap[17]).styles.image
        }), _react.default.createElement(_reactNativeLinearGradient.default, {
          style: _$$_REQUIRE(_dependencyMap[16]).PlatformUtils.isTablet() ? _$$_REQUIRE(_dependencyMap[17]).styles.tabletGradient : _$$_REQUIRE(_dependencyMap[17]).styles.gradient,
          colors: [_$$_REQUIRE(_dependencyMap[16]).colors.transparent, _$$_REQUIRE(_dependencyMap[16]).colors.transparent, _$$_REQUIRE(_dependencyMap[16]).colors.transparent200]
        }), _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[17]).styles.cardBottom
        }, _react.default.createElement(_fontText.default, {
          style: item.primaryImage ? _$$_REQUIRE(_dependencyMap[17]).styles.title : _$$_REQUIRE(_dependencyMap[17]).styles.titleNoImage,
          type: _fontText.Type.medium
        }, item.name), _react.default.createElement(_fontText.default, {
          style: item.primaryImage ? _$$_REQUIRE(_dependencyMap[17]).styles.description : _$$_REQUIRE(_dependencyMap[17]).styles.descriptionNoImage
        }, "" + (location.locationName || "") + sep + (location.city || "") + ", " + (location.state || "") + " " + this.getDistanceString(item)), _react.default.createElement(_fontText.default, {
          style: item.primaryImage ? _$$_REQUIRE(_dependencyMap[17]).styles.description : _$$_REQUIRE(_dependencyMap[17]).styles.descriptionNoImage
        }, "" + this.getClosestEventDate(item, startDate)))) : _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[17]).styles.noImageView
        }, _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[17]).styles.cardBottomNoImage
        }, _react.default.createElement(_fontText.default, {
          style: _$$_REQUIRE(_dependencyMap[17]).styles.titleNoImage,
          type: _fontText.Type.bold
        }, item.name), _react.default.createElement(_fontText.default, {
          style: _$$_REQUIRE(_dependencyMap[17]).styles.descriptionNoImage
        }, "" + (location.locationName || "") + sep + (location.city || "") + ", " + (location.state || "") + " " + this.getDistanceString(item)), _react.default.createElement(_fontText.default, {
          style: item.primaryImage ? _$$_REQUIRE(_dependencyMap[17]).styles.description : _$$_REQUIRE(_dependencyMap[17]).styles.descriptionNoImage
        }, "" + this.getClosestEventDate(item, startDate))))), _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[17]).styles.icons
        }, _react.default.createElement(_iconTile.default, {
          style: {
            alignSelf: "flex-start"
          },
          icons: [{
            title: global.strings("action_share"),
            component: function component(style) {
              return _react.default.createElement(_iconComponent.default, {
                type: _iconComponent.TecnaviaIconType.MATERIAL_ICONS,
                name: "share",
                style: style
              });
            },
            onPress: function onPress(clicked) {
              _this2.onShare(clicked.name, clicked.eventId);
            }
          }, {
            title: !manager.favoriteIsStored(item) ? global.strings("action_save_for_later") : global.strings("action_remove_from_favorites"),
            component: function component(style) {
              return _react.default.createElement(_$$_REQUIRE(_dependencyMap[18]).IconFavorite, {
                item: item,
                size: 20,
                style: style,
                eventToggleItemChecker: function eventToggleItemChecker(currentItem, params) {
                  return currentItem.eventId === params.eventId;
                },
                toggleFavoritesEventName: _events.default.TOGGLE_EVENTS_FAVORITE,
                isFavoriteChecker: function isFavoriteChecker(toCheck) {
                  return manager.favoriteIsStored(toCheck);
                }
              });
            },
            onPress: function onPress(clicked) {
              manager.toggleFavorite(clicked);
            }
          }],
          tintColor: color,
          item: item,
          availableSpace: 5
        }))));
      }
    }]);
    return EventListItem;
  }(_react.default.Component);

  exports.EventListItem = EventListItem;
  EventListItem.propTypes = {
    item: _propTypes.default.shape({
      name: _propTypes.default.string,
      description: _propTypes.default.string,
      instances: _propTypes.default.array,
      location: _propTypes.default.object,
      primaryImage: _propTypes.default.shape({
        mediumImageUrl: _propTypes.default.string
      }),
      seriesStart: _propTypes.default.string,
      url: _propTypes.default.string,
      handPicked: _propTypes.default.bool
    }).isRequired,
    manager: _propTypes.default.shape({
      favoriteIsStored: _propTypes.default.func.isRequired,
      toggleFavorite: _propTypes.default.func.isRequired,
      getLastSearch: _propTypes.default.func.isRequired
    }).isRequired,
    onItemPress: _propTypes.default.func,
    color: _propTypes.default.string.isRequired,
    startDate: _propTypes.default.any,
    baseLatitude: _propTypes.default.number,
    baseLongitude: _propTypes.default.number,
    enhanced: _propTypes.default.bool,
    portal: _propTypes.default.string.isRequired
  };
},2547,[5,80,7,8,12,14,16,17,28,201,1238,2093,2050,1879,460,1806,462,2548,1969]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    line: {
      paddingHorizontal: 10,
      paddingVertical: 5
    },
    enhanced: {
      backgroundColor: (0, _$$_REQUIRE(_dependencyMap[1]).getEventColor)(),
      paddingTop: 10,
      paddingBottom: 10,
      paddingHorizontal: 10,
      paddingVertical: 5,
      opacity: 0.9
    },
    title: {
      flex: 1,
      fontSize: 25,
      margin: 10,
      color: _$$_REQUIRE(_dependencyMap[2]).colors.white,
      textShadowColor: _$$_REQUIRE(_dependencyMap[2]).colors.black,
      textShadowOffset: {
        width: -2,
        height: 2
      },
      textShadowRadius: 2
    },
    titleNoImage: {
      flex: 1,
      fontSize: 25,
      margin: 10,
      marginTop: 30,
      color: _$$_REQUIRE(_dependencyMap[2]).colors.black
    },
    descriptionNoImage: {
      flex: 2,
      textAlign: "justify",
      padding: 5,
      paddingLeft: 10,
      color: _$$_REQUIRE(_dependencyMap[2]).colors.black
    },
    description: {
      flex: 2,
      textAlign: "justify",
      padding: 5,
      paddingLeft: 10,
      color: _$$_REQUIRE(_dependencyMap[2]).colors.white,
      textShadowColor: _$$_REQUIRE(_dependencyMap[2]).colors.black,
      textShadowOffset: {
        width: -2,
        height: 2
      },
      textShadowRadius: 2
    },
    icon: {
      height: 30,
      width: 30,
      marginStart: 5,
      marginEnd: 5
    },
    icons: {
      position: "absolute",
      left: 0,
      right: 10,
      top: 30
    },
    image: {
      borderRadius: 3,
      height: 300,
      width: "100%",
      flex: 1
    },
    tabletImage: {
      borderRadius: 3,
      height: 500,
      width: "100%",
      flex: 1
    },
    gradient: {
      borderRadius: 3,
      height: 300,
      backgroundColor: _$$_REQUIRE(_dependencyMap[2]).colors.transparent,
      position: "absolute",
      top: 0,
      start: 0,
      end: 0,
      bottom: 0
    },
    tabletGradient: {
      borderRadius: 3,
      height: 500,
      backgroundColor: _$$_REQUIRE(_dependencyMap[2]).colors.transparent,
      position: "absolute",
      top: 0,
      start: 0,
      end: 0,
      bottom: 0
    },
    cardBottom: {
      position: "absolute",
      bottom: 0,
      right: 0,
      left: 0,
      justifyContent: "flex-start",
      alignItems: "flex-start"
    },
    cardBottomNoImage: {
      justifyContent: "flex-start",
      alignItems: "flex-start"
    },
    noImageView: {
      borderWidth: 1,
      borderColor: _$$_REQUIRE(_dependencyMap[2]).colors.grey400,
      borderRadius: 3
    }
  });

  exports.styles = styles;
},2548,[28,2474,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2549,[2550]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.EventCustomCallout = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var EventCustomCallout;
  exports.EventCustomCallout = EventCustomCallout;

  if (_optionalPackageUtils.default.isMapsAvailable()) {
    var _class;

    var _OptionalPackages$get = _optionalPackageUtils.default.getMaps(),
        Callout = _OptionalPackages$get.Callout;

    exports.EventCustomCallout = EventCustomCallout = (_class = function (_Callout) {
      (0, _inherits2.default)(TaCallout, _Callout);

      var _super = _createSuper(TaCallout);

      function TaCallout() {
        var _this;

        (0, _classCallCheck2.default)(this, TaCallout);

        for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
          args[_key] = arguments[_key];
        }

        _this = _super.call.apply(_super, [this].concat(args));

        _this.dateFormatter = function (date) {
          if (!date) {
            return "";
          }

          var out = "";

          for (var c = 0; c < date.length; c++) {
            if (date[c] === "T" || date[c] === "Z") {
              out += " ";
            } else {
              out += date[c];
            }
          }

          return out.substring(0, 10);
        };

        return _this;
      }

      (0, _createClass2.default)(TaCallout, [{
        key: "render",
        value: function render() {
          var _this$props = this.props,
              title = _this$props.title,
              date = _this$props.date;
          return _react.default.createElement(_reactNative.View, null, title.length > 50 ? _react.default.createElement(_reactNative.View, null, _react.default.createElement(_reactNative.Text, {
            style: {
              fontWeight: "bold"
            }
          }, title.substring(0, 50)), _react.default.createElement(_reactNative.Text, {
            style: {
              fontWeight: "bold"
            }
          }, title.substring(50))) : _react.default.createElement(_reactNative.Text, {
            style: {
              fontWeight: "bold"
            }
          }, title), _react.default.createElement(_fontText.default, null, this.dateFormatter(date)));
        }
      }]);
      return TaCallout;
    }(Callout), _class.propTypes = {
      title: _propTypes.default.string,
      description: _propTypes.default.string,
      image: _propTypes.default.string,
      date: _propTypes.default.string
    }, _class);
  } else {
    exports.EventCustomCallout = EventCustomCallout = function (_React$Component) {
      (0, _inherits2.default)(TaCallout, _React$Component);

      var _super2 = _createSuper(TaCallout);

      function TaCallout() {
        (0, _classCallCheck2.default)(this, TaCallout);
        return _super2.apply(this, arguments);
      }

      (0, _createClass2.default)(TaCallout, [{
        key: "render",
        value: function render() {
          return null;
        }
      }]);
      return TaCallout;
    }(_react.default.Component);
  }
},2550,[5,7,8,12,14,16,17,28,201,1879,731]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.EventFeaturedComponent = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _eventFeaturedItemComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var EventFeaturedComponent = function (_Component) {
    (0, _inherits2.default)(EventFeaturedComponent, _Component);

    var _super = _createSuper(EventFeaturedComponent);

    function EventFeaturedComponent(props) {
      var _this;

      (0, _classCallCheck2.default)(this, EventFeaturedComponent);
      _this = _super.call(this, props);
      _this.state = {
        items: [],
        firstLoading: true,
        counter: 0
      };
      _this.mounted = false;
      _this.animatedValue = new _reactNative.Animated.Value(0);
      _this.featuredIds = props.featuredEvents;
      return _this;
    }

    (0, _createClass2.default)(EventFeaturedComponent, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var items;
        return _regenerator.default.async(function componentDidMount$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                this.mounted = true;
                _context.next = 3;
                return _regenerator.default.awrap(this.firstLoad());

              case 3:
                items = this.state.items;

                if (items.length > 2) {
                  this.animate();
                }

              case 5:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        this.mounted = false;
      }
    }, {
      key: "doAjaxCall",
      value: function doAjaxCall(params, start) {
        var _this$props, getItemById, config, normalizeResults, skipDefaultParams, data, i, ajaxResult;

        return _regenerator.default.async(function doAjaxCall$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _this$props = this.props, getItemById = _this$props.getItemById, config = _this$props.config, normalizeResults = _this$props.normalizeResults, skipDefaultParams = _this$props.skipDefaultParams;
                data = {
                  events: []
                };
                _context2.prev = 2;
                i = start;

              case 4:
                if (!(i < Math.min(start + 4, this.featuredIds.length))) {
                  _context2.next = 12;
                  break;
                }

                _context2.next = 7;
                return _regenerator.default.awrap(_Api.default.get(getItemById(this.featuredIds[i]), config, params, skipDefaultParams));

              case 7:
                ajaxResult = _context2.sent;
                data.events.push(ajaxResult.data);

              case 9:
                i++;
                _context2.next = 4;
                break;

              case 12:
                return _context2.abrupt("return", normalizeResults(data));

              case 15:
                _context2.prev = 15;
                _context2.t0 = _context2["catch"](2);
                throw _context2.t0;

              case 18:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, [[2, 15]], Promise);
      }
    }, {
      key: "firstLoad",
      value: function firstLoad() {
        var items, _this$props2, portal, featuredApi, config, featuredEvents, filter, newItems;

        return _regenerator.default.async(function firstLoad$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                items = this.state.items;
                _this$props2 = this.props, portal = _this$props2.portal, featuredApi = _this$props2.featuredApi, config = _this$props2.config, featuredEvents = _this$props2.featuredEvents;
                filter = {
                  portal: portal
                };
                _context3.prev = 3;
                _context3.next = 6;
                return _regenerator.default.awrap(this.doAjaxCall(filter, 0));

              case 6:
                newItems = _context3.sent;
                this.setState({
                  items: items.concat(newItems.items) || [],
                  firstLoading: false
                });
                _context3.next = 13;
                break;

              case 10:
                _context3.prev = 10;
                _context3.t0 = _context3["catch"](3);
                this.setState({
                  firstLoading: true
                });

              case 13:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, [[3, 10]], Promise);
      }
    }, {
      key: "animate",
      value: function animate() {
        var _this2 = this;

        var items = this.state.items;
        var portal = this.props.portal;
        var filter = {
          portal: portal
        };
        var counter = this.state.counter;
        this.animatedValue.setValue(0);

        _reactNative.Animated.timing(this.animatedValue, {
          duration: 5000,
          useNativeDriver: true
        }).start(function () {
          return _this2.animate();
        });

        if (this.mounted) {
          this.setState({
            counter: counter + 1
          }, function _callee() {
            var newItems;
            return _regenerator.default.async(function _callee$(_context4) {
              while (1) {
                switch (_context4.prev = _context4.next) {
                  case 0:
                    if (!((counter + 3) % 4 === 0)) {
                      _context4.next = 5;
                      break;
                    }

                    _context4.next = 3;
                    return _regenerator.default.awrap(_this2.doAjaxCall(filter, counter + 3));

                  case 3:
                    newItems = _context4.sent;

                    _this2.setState({
                      items: items.concat(newItems.items) || []
                    });

                  case 5:
                  case "end":
                    return _context4.stop();
                }
              }
            }, null, null, null, Promise);
          });
        }
      }
    }, {
      key: "render",
      value: function render() {
        var onEventPress = this.props.onEventPress;
        var _this$state = this.state,
            items = _this$state.items,
            firstLoading = _this$state.firstLoading,
            counter = _this$state.counter;
        var translateX = -_deviceUtils.default.getSafeArea().width / 2;
        var itemsToLoad = Math.min(items.length, 3);
        var featured = [];

        for (var i = 0; i < itemsToLoad; i++) {
          var index = (counter + i) % items.length;
          featured.push(_react.default.createElement(_eventFeaturedItemComponent.default, {
            key: index,
            item: {
              key: index,
              title: items[index].name,
              image: items[index].primaryImage ? items[index].primaryImage.largeImageUrl : undefined,
              id: items[index].eventId,
              date: _$$_REQUIRE(_dependencyMap[13]).DateUtils.getClosestEventDate(items[index])
            },
            onEventPress: onEventPress
          }));
        }

        return !firstLoading && items.length ? _react.default.createElement(_reactNative.View, {
          style: {
            display: "flex",
            flexDirection: "row",
            justifyContent: items.length === 1 ? "center" : "flex-start",
            backgroundColor: (0, _$$_REQUIRE(_dependencyMap[14]).getEventColor)()
          }
        }, _react.default.createElement(_reactNative.Animated.View, {
          style: {
            width: items.length > 2 ? "150%" : items.length == 2 ? "100%" : "75%",
            height: _$$_REQUIRE(_dependencyMap[13]).PlatformUtils.isTablet() ? 200 : 100,
            display: "flex",
            flexDirection: "row",
            transform: [{
              translateX: this.animatedValue.interpolate({
                inputRange: [0, 0.7, 1],
                outputRange: [0, 0, translateX]
              })
            }]
          }
        }, featured)) : null;
      }
    }]);
    return EventFeaturedComponent;
  }(_react.Component);

  exports.EventFeaturedComponent = EventFeaturedComponent;
  EventFeaturedComponent.propTypes = {
    normalizeResults: _propTypes.default.func.isRequired,
    skipDefaultParams: _propTypes.default.bool,
    onEventPress: _propTypes.default.func.isRequired,
    config: _propTypes.default.shape({
      auth: _propTypes.default.shape({
        username: _propTypes.default.string.isRequired,
        password: _propTypes.default.string.isRequired
      })
    }),
    portal: _propTypes.default.string.isRequired,
    featuredApi: _propTypes.default.string.isRequired,
    getItemById: _propTypes.default.func.isRequired,
    featuredEvents: _propTypes.default.arrayOf(_propTypes.default.number)
  };
},2551,[5,80,7,8,12,14,16,17,201,28,458,431,2552,462,2474]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _reactNativeLinearGradient = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var _eventFeaturedItemComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TileGridImage = function (_React$Component) {
    (0, _inherits2.default)(TileGridImage, _React$Component);

    var _super = _createSuper(TileGridImage);

    function TileGridImage() {
      var _this;

      (0, _classCallCheck2.default)(this, TileGridImage);

      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }

      _this = _super.call.apply(_super, [this].concat(args));
      _this.NUMBER_OF_TITLE_LINES = 3;
      return _this;
    }

    (0, _createClass2.default)(TileGridImage, [{
      key: "_getContent",
      value: function _getContent() {
        var item = this.props.item;
        var style = _eventFeaturedItemComponent.default.titleFull;
        return _react.default.createElement(_reactNative.View, {
          style: _eventFeaturedItemComponent.default.containerFull
        }, _react.default.createElement(_reactNative.View, null, _react.default.createElement(_fontText.default, {
          numberOfLines: this.NUMBER_OF_TITLE_LINES,
          type: _fontText.Type.medium,
          style: style
        }, item.title), _react.default.createElement(_fontText.default, {
          numberOfLines: 1,
          type: _fontText.Type.medium,
          style: style
        }, item.date)));
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            item = _this$props.item,
            onEventPress = _this$props.onEventPress;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).TileParent, {
          bgColor: _$$_REQUIRE(_dependencyMap[14]).colors.white,
          style: _eventFeaturedItemComponent.default.tileParent,
          hideBottomLine: true
        }, _react.default.createElement(_imageComponent.default, {
          style: [_eventFeaturedItemComponent.default.imageFull],
          source: {
            uri: item.image
          }
        }), item.image ? _react.default.createElement(_reactNativeLinearGradient.default, {
          style: _eventFeaturedItemComponent.default.gradient,
          colors: [_$$_REQUIRE(_dependencyMap[14]).colors.transparent, _$$_REQUIRE(_dependencyMap[14]).colors.transparent, _$$_REQUIRE(_dependencyMap[14]).colors.transparent200]
        }) : undefined, _react.default.createElement(_reactNative.TouchableOpacity, {
          style: _eventFeaturedItemComponent.default.parent,
          onPress: function onPress() {
            onEventPress(item.id);
          }
        }, this._getContent()));
      }
    }]);
    return TileGridImage;
  }(_react.default.Component);

  exports.default = TileGridImage;
  TileGridImage.propTypes = {
    item: _propTypes.default.shape({
      title: _propTypes.default.string.isRequired,
      image: _propTypes.default.string,
      id: _propTypes.default.number.isRequired
    }),
    onEventPress: _propTypes.default.func.isRequired
  };
},2552,[5,7,8,12,14,16,17,28,1238,201,1879,2553,588,2040,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    imageFull: {
      position: "absolute",
      top: 0,
      start: 0,
      end: 0,
      bottom: 0,
      margin: 0
    },
    containerFull: {
      flexDirection: "column"
    },
    titleFull: {
      color: "white",
      marginHorizontal: 8,
      paddingVertical: 6,
      textAlign: "left",
      textShadowColor: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      textShadowOffset: {
        width: -2,
        height: 2
      },
      textShadowRadius: 2,
      alignItems: "flex-end",
      fontSize: 14
    },
    titleFullNoImage: {
      color: "black",
      marginHorizontal: 8,
      paddingVertical: 8,
      textAlign: "left",
      alignItems: "flex-end",
      fontSize: 14
    },
    gradient: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.transparent,
      position: "absolute",
      top: 0,
      start: 0,
      end: 0,
      bottom: 0
    },
    tileParent: {
      display: "flex",
      flexDirection: "row",
      alignItems: "flex-end",
      backgroundColor: (0, _$$_REQUIRE(_dependencyMap[2]).getEventColor)()
    },
    parent: {
      flexDirection: "row",
      alignItems: "flex-end"
    }
  });

  exports.default = _default;
},2553,[28,462,2474]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2554,[2555]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.EventFilterScreen = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var EventFilterScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(EventFilterScreen, _NavigationBaseScreen);

    var _super = _createSuper(EventFilterScreen);

    function EventFilterScreen(props) {
      var _this;

      (0, _classCallCheck2.default)(this, EventFilterScreen);
      _this = _super.call(this, props);

      var defaultSearch = _this._getEventsManager().getDefaultSearch();

      _this.state = (0, _extends2.default)({
        categories: [],
        loading: true
      }, _this._getFilterFromSearch(defaultSearch));
      _this.onFilterLocationRef = _this._onFilterLocationRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onFilterCategoriesRef = _this._onFilterCategoriesRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onFilterTimeRangeRef = _this._onFilterTimeRangeRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onFilterRadiusRef = _this._onFilterRadiusRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onFilterTextRef = _this._onFilterTextRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onResetLocation = _this._onResetLocation.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSetAsDefaultPress = _this._onSetAsDefaultPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onResetPress = _this._onResetPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSearchPress = _this._onSearchPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSavedSearchesPress = _this._onSavedSearchesPress.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(EventFilterScreen, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(EventFilterScreen.prototype), "componentDidMount", this).call(this);

        this._loading();
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "Event Filter";
      }
    }, {
      key: "handleBackButton",
      value: function handleBackButton() {
        var navigation = this.props.navigation;
        navigation.goBack(null);
        return (0, _get2.default)((0, _getPrototypeOf2.default)(EventFilterScreen.prototype), "handleBackButton", this).call(this);
      }
    }, {
      key: "_getFilterFromSearch",
      value: function _getFilterFromSearch() {
        var search = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        return {
          filterText: search.searchTerm,
          filterRadius: search.radius || 35,
          filterTimeRange: search.timeRange,
          filterStartDate: search.startDate,
          filterEndDate: search.endDate,
          filterLatitude: search.latitude,
          filterLongitude: search.longitude,
          filterUseLocation: search.useLocation || false,
          filterLabels: search.labels || [],
          filterCategories: search.categories || []
        };
      }
    }, {
      key: "_onFilterTextRef",
      value: function _onFilterTextRef(ref) {
        this.filterTextRef = ref;
      }
    }, {
      key: "_onFilterRadiusRef",
      value: function _onFilterRadiusRef(ref) {
        this.filterRadiusRef = ref;
      }
    }, {
      key: "_onFilterTimeRangeRef",
      value: function _onFilterTimeRangeRef(ref) {
        this.filterTimeRangeRef = ref;
      }
    }, {
      key: "_onFilterCategoriesRef",
      value: function _onFilterCategoriesRef(ref) {
        this.filterCategoriesRef = ref;
      }
    }, {
      key: "_onFilterLocationRef",
      value: function _onFilterLocationRef(ref) {
        this.filterLocationRef = ref;
      }
    }, {
      key: "_getFilterValue",
      value: function _getFilterValue(filter, defaultValue) {
        var value = defaultValue;

        if (filter) {
          var filterValue = filter.getValue();

          if (filterValue) {
            value = filterValue;
          }
        }

        return value;
      }
    }, {
      key: "_onResetLocation",
      value: function _onResetLocation() {
        var defaultSearch = this._getEventsManager().getDefaultSearch();

        this.setState({
          filterLatitude: defaultSearch ? defaultSearch.latitude : undefined,
          filterLongitude: defaultSearch ? defaultSearch.longitude : undefined
        });
      }
    }, {
      key: "_onSearchPress",
      value: function _onSearchPress() {
        var navigation = this.props.navigation;

        var _this$_getFilterValue = this._getFilterValue(this.filterLocationRef, {}),
            latitude = _this$_getFilterValue.latitude,
            longitude = _this$_getFilterValue.longitude,
            useLocation = _this$_getFilterValue.useLocation;

        var _this$_getFilterValue2 = this._getFilterValue(this.filterTimeRangeRef, {}),
            startDate = _this$_getFilterValue2.startDate,
            endDate = _this$_getFilterValue2.endDate,
            timeRange = _this$_getFilterValue2.timeRange;

        var _this$_getFilterValue3 = this._getFilterValue(this.filterRadiusRef, {}),
            radius = _this$_getFilterValue3.radius;

        var _this$_getFilterValue4 = this._getFilterValue(this.filterCategoriesRef, {}),
            selectedCategories = _this$_getFilterValue4.selectedCategories,
            selectedLabels = _this$_getFilterValue4.selectedLabels;

        var term = this._getFilterValue(this.filterTextRef, "");

        var filters = {
          startDate: startDate || _$$_REQUIRE(_dependencyMap[13]).DateUtils.getMomentDate().format("YYYY-MM-DD"),
          endDate: endDate,
          latitude: latitude,
          longitude: longitude,
          useLocation: useLocation,
          radius: radius,
          categories: selectedCategories,
          searchTerm: term,
          timeRange: timeRange,
          labels: selectedLabels
        };

        this._getEventsManager().toggleLastSearch(filters);

        this.setState((0, _extends2.default)({}, this._getFilterFromSearch(this._getEventsManager().getLastSearch())), function () {
          navigation.navigate("VerticalListScreen", {
            filters: filters
          });
        });
        return [];
      }
    }, {
      key: "_onResetPress",
      value: function _onResetPress() {
        var _this2 = this;

        var navigation = this.props.navigation;
        var resetted = {
          filterText: "",
          filterRadius: 35,
          filterTimeRange: "",
          filterLatitude: undefined,
          filterLongitude: undefined,
          filterUseLocation: false,
          filterCategories: [],
          filterLabels: []
        };
        this.setState((0, _extends2.default)({}, resetted), function () {
          _this2._getEventsManager().toggleDefaultSearch(resetted, false);

          navigation.navigate("VerticalListScreen", {
            filters: {}
          });
        });
      }
    }, {
      key: "_onSavedSearchesPress",
      value: function _onSavedSearchesPress() {
        var _this$props = this.props,
            navigation = _this$props.navigation,
            user = _this$props.user,
            pass = _this$props.pass,
            portal = _this$props.portal;
        navigation.navigate("VerticalSavedSearchScreen", {
          user: user,
          pass: pass,
          portal: portal,
          labels: this._getLabels()
        });
      }
    }, {
      key: "_onSetAsDefaultPress",
      value: function _onSetAsDefaultPress() {
        var _this$_getFilterValue5 = this._getFilterValue(this.filterRadiusRef, {}),
            radius = _this$_getFilterValue5.radius;

        var _this$_getFilterValue6 = this._getFilterValue(this.filterCategoriesRef, {}),
            selectedCategories = _this$_getFilterValue6.selectedCategories,
            selectedLabels = _this$_getFilterValue6.selectedLabels;

        var _this$_getFilterValue7 = this._getFilterValue(this.filterTimeRangeRef, {}),
            startDate = _this$_getFilterValue7.startDate,
            endDate = _this$_getFilterValue7.endDate,
            timeRange = _this$_getFilterValue7.timeRange;

        var term = this._getFilterValue(this.filterTextRef, "");

        var _this$_getFilterValue8 = this._getFilterValue(this.filterLocationRef),
            latitude = _this$_getFilterValue8.latitude,
            longitude = _this$_getFilterValue8.longitude,
            useLocation = _this$_getFilterValue8.useLocation;

        var filters = {
          startDate: startDate || _$$_REQUIRE(_dependencyMap[13]).DateUtils.getMomentDate().format("YYYY-MM-DD"),
          endDate: endDate,
          latitude: latitude,
          longitude: longitude,
          radius: radius,
          categories: selectedCategories,
          searchTerm: term,
          timeRange: timeRange,
          useLocation: useLocation,
          labels: selectedLabels
        };

        this._getEventsManager().toggleDefaultSearch(filters, true);

        return [];
      }
    }, {
      key: "_loading",
      value: function _loading(callback) {
        var _this3 = this;

        return _regenerator.default.async(function _loading$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                this.setState({
                  loading: true
                }, function _callee() {
                  var result;
                  return _regenerator.default.async(function _callee$(_context) {
                    while (1) {
                      switch (_context.prev = _context.next) {
                        case 0:
                          result = {};
                          _context.prev = 1;
                          _context.next = 4;
                          return _regenerator.default.awrap(_this3._loadCategories());

                        case 4:
                          result = _context.sent;
                          _context.next = 9;
                          break;

                        case 7:
                          _context.prev = 7;
                          _context.t0 = _context["catch"](1);

                        case 9:
                          _this3.setState((0, _extends2.default)({
                            loading: false
                          }, result));

                        case 10:
                        case "end":
                          return _context.stop();
                      }
                    }
                  }, null, null, [[1, 7]], Promise);
                });

              case 1:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_loadCategories",
      value: function _loadCategories() {
        var _this$props2, user, pass, portal, config, categories, _await$API$get, data;

        return _regenerator.default.async(function _loadCategories$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _this$props2 = this.props, user = _this$props2.user, pass = _this$props2.pass, portal = _this$props2.portal;
                config = {
                  auth: {
                    username: user,
                    password: pass
                  }
                };
                categories = [];
                _context3.next = 5;
                return _regenerator.default.awrap(_Api.default.get((0, _$$_REQUIRE(_dependencyMap[14]).getEventCategories)(), config, {
                  portal: portal
                }));

              case 5:
                _await$API$get = _context3.sent;
                data = _await$API$get.data;
                data.forEach(function (category) {
                  if (!category.parentCategoryId) {
                    categories.push({
                      name: category.name,
                      categoryId: category.categoryId,
                      content: []
                    });
                  } else {
                    var parent = categories.find(function (el) {
                      return el.categoryId === category.parentCategoryId;
                    });

                    if (parent) {
                      parent.content.push({
                        name: category.name,
                        parentCategoryId: category.parentCategoryId,
                        categoryId: category.categoryId
                      });
                    }
                  }
                });
                return _context3.abrupt("return", {
                  categories: categories
                });

              case 9:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_getLabels",
      value: function _getLabels() {
        var extraSearchField = this.props.extraSearchField;

        var defaultSearch = this._getEventsManager().getDefaultSearch();

        var extraLabels;

        try {
          extraLabels = JSON.parse(extraSearchField);
        } catch (e) {
          extraLabels = [];
        }

        extraLabels.push({
          name: global.strings("str_editor_picks"),
          label: "handPicked"
        });
        var labels = [];
        extraLabels.forEach(function (extraLabel) {
          if (defaultSearch && defaultSearch.labels) {
            var isSelected = defaultSearch.labels.find(function (item) {
              return item.label === extraLabel.label;
            }) !== undefined;
            labels.push((0, _extends2.default)({}, extraLabel, {
              selected: isSelected
            }));
          } else {
            labels.push(extraLabel);
          }
        });
        return labels;
      }
    }, {
      key: "_getEventsManager",
      value: function _getEventsManager() {
        return global.getVerticalsConfig().getEvents();
      }
    }, {
      key: "render",
      value: function render() {
        var _this$state = this.state,
            categories = _this$state.categories,
            loading = _this$state.loading,
            filterText = _this$state.filterText,
            filterRadius = _this$state.filterRadius,
            filterStartDate = _this$state.filterStartDate,
            filterEndDate = _this$state.filterEndDate,
            filterTimeRange = _this$state.filterTimeRange,
            filterLatitude = _this$state.filterLatitude,
            filterLongitude = _this$state.filterLongitude,
            filterUseLocation = _this$state.filterUseLocation,
            filterCategories = _this$state.filterCategories,
            filterLabels = _this$state.filterLabels;
        var navigation = this.props.navigation;

        var defaultSearch = this._getEventsManager().getDefaultSearch();

        var labels = this._getLabels();

        return !loading ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).FilterParent, {
          buttons: [{
            label: global.strings("btn_set_as_default"),
            onPress: this.onSetAsDefaultPress
          }, {
            label: global.strings("saved_searches"),
            onPress: this.onSavedSearchesPress
          }, {
            label: global.strings("btn_reset"),
            onPress: this.onResetPress
          }],
          backgroundResizeMode: "cover",
          backgroundUrl: (0, _$$_REQUIRE(_dependencyMap[14]).getEventBackground)(),
          color: (0, _$$_REQUIRE(_dependencyMap[14]).getEventColor)(),
          onSearch: this.onSearchPress
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).FilterText, {
          key: "filter_text",
          style: _$$_REQUIRE(_dependencyMap[17]).styles.filter,
          borderColor: (0, _$$_REQUIRE(_dependencyMap[14]).getEventColor)(),
          hint: global.strings("vertical_job_text_hint"),
          ref: this.onFilterTextRef,
          defaultSearch: filterText || null
        }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[18]).FilterLocation, {
          latitude: filterLatitude,
          longitude: filterLongitude,
          useLocation: filterUseLocation,
          key: "filter_location",
          style: _$$_REQUIRE(_dependencyMap[17]).styles.filter,
          hint: defaultSearch && defaultSearch.latitude && defaultSearch.longitude ? global.strings("change_location_hint") : global.strings("vertical_job_location_hint"),
          borderColor: (0, _$$_REQUIRE(_dependencyMap[14]).getEventColor)(),
          textColor: _$$_REQUIRE(_dependencyMap[13]).colors.white,
          ref: this.onFilterLocationRef,
          onDisableSwitch: this.onResetLocation
        }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).EventRadiusSlider, {
          style: _$$_REQUIRE(_dependencyMap[17]).styles.filter,
          color: (0, _$$_REQUIRE(_dependencyMap[14]).getEventColor)(),
          maxValue: 100,
          defaultValue: filterRadius,
          label: global.strings("change_radius"),
          ref: this.onFilterRadiusRef
        }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[20]).EventModalCategories, {
          color: (0, _$$_REQUIRE(_dependencyMap[14]).getEventColor)(),
          label: global.strings("selected_categories"),
          selectedLabels: filterLabels,
          labels: labels,
          selectedCategories: filterCategories,
          categories: categories,
          ref: this.onFilterCategoriesRef,
          multiSelect: true,
          navigation: navigation
        }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[21]).EventModalTimeRange, {
          data: [{
            value: "all"
          }, {
            value: "this_week",
            intervalFunction: _$$_REQUIRE(_dependencyMap[13]).DateUtils.thisWeek
          }, {
            value: "next_week",
            intervalFunction: _$$_REQUIRE(_dependencyMap[13]).DateUtils.nextWeek
          }, {
            value: "this_weekend",
            intervalFunction: _$$_REQUIRE(_dependencyMap[13]).DateUtils.thisWeekend
          }, {
            value: "today",
            intervalFunction: _$$_REQUIRE(_dependencyMap[13]).DateUtils.today
          }, {
            value: "tomorrow",
            intervalFunction: _$$_REQUIRE(_dependencyMap[13]).DateUtils.tomorrow
          }, {
            value: "custom"
          }],
          color: (0, _$$_REQUIRE(_dependencyMap[14]).getEventColor)(),
          format: "YYYY-MM-DD",
          label: global.strings("selected_time_range"),
          ref: this.onFilterTimeRangeRef,
          timeRange: filterTimeRange,
          startDate: filterStartDate,
          endDate: filterEndDate
        })) : _react.default.createElement(_$$_REQUIRE(_dependencyMap[22]).ProgressCircle, {
          parentStyle: _$$_REQUIRE(_dependencyMap[17]).styles.spinner,
          text: global.strings("loading"),
          spinnerColor: (0, _$$_REQUIRE(_dependencyMap[14]).getEventColor)(),
          showText: true
        });
      }
    }]);
    return EventFilterScreen;
  }(_$$_REQUIRE(_dependencyMap[23]).NavigationBaseScreen);

  exports.EventFilterScreen = EventFilterScreen;
  EventFilterScreen.propTypes = {
    user: _propTypes.default.string,
    pass: _propTypes.default.string,
    portal: _propTypes.default.string,
    navigation: _propTypes.default.object.isRequired
  };
  EventFilterScreen.defaultProps = {
    user: "",
    pass: "",
    portal: ""
  };
},2555,[5,80,6,7,8,15,90,12,14,16,17,201,431,462,2474,2477,2497,2556,2499,2557,2562,2567,1953,2148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    parent: {
      justifyContent: "center",
      alignItems: "center"
    },
    background: {
      width: "100%",
      flex: 1,
      flexDirection: "column",
      justifyContent: "center",
      alignItems: "center"
    },
    filterViews: {
      maxWidth: 500,
      width: "100%",
      flexDirection: "column",
      justifyContent: "center",
      alignItems: "center"
    },
    filter: {
      width: "100%"
    },
    filterButton: {},
    text: {
      color: _$$_REQUIRE(_dependencyMap[1]).colors.md_black_1000,
      padding: _$$_REQUIRE(_dependencyMap[2]).filterStyles.TEXT_PADDING
    }
  });

  exports.styles = styles;
},2556,[28,462,2487]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2557,[2558]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.EventRadiusSlider = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _slider = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var EventRadiusSlider = function (_React$Component) {
    (0, _inherits2.default)(EventRadiusSlider, _React$Component);

    var _super = _createSuper(EventRadiusSlider);

    function EventRadiusSlider(props) {
      var _this;

      (0, _classCallCheck2.default)(this, EventRadiusSlider);
      _this = _super.call(this, props);
      _this.state = {
        radius: props.defaultValue
      };
      return _this;
    }

    (0, _createClass2.default)(EventRadiusSlider, [{
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(newProps) {
        if (newProps.defaultValue !== undefined) {
          this.setState({
            radius: newProps.defaultValue
          });
        }
      }
    }, {
      key: "getValue",
      value: function getValue() {
        var radius = this.state.radius;
        return {
          radius: radius
        };
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var radius = this.state.radius;
        var _this$props = this.props,
            color = _this$props.color,
            label = _this$props.label,
            maxValue = _this$props.maxValue;
        return _react.default.createElement(_reactNative.View, {
          style: [{
            backgroundColor: color
          }, _$$_REQUIRE(_dependencyMap[10]).styles.container]
        }, _react.default.createElement(_reactNative.Text, {
          style: _$$_REQUIRE(_dependencyMap[10]).styles.text
        }, label), _react.default.createElement(_slider.default, {
          minimumTrackTintColor: _$$_REQUIRE(_dependencyMap[11]).colors.white,
          maximumTrackTintColor: _$$_REQUIRE(_dependencyMap[11]).colors.grey300,
          thumbTintColor: _$$_REQUIRE(_dependencyMap[11]).colors.white,
          style: _$$_REQUIRE(_dependencyMap[10]).styles.slider,
          value: radius,
          maximumValue: maxValue,
          minimumValue: 1,
          step: 1,
          onValueChange: function onValueChange(r) {
            return _this2.setState({
              radius: r
            });
          }
        }), _react.default.createElement(_reactNative.Text, {
          style: _$$_REQUIRE(_dependencyMap[10]).styles.text
        }, parseInt(radius, 10) + "mi"));
      }
    }]);
    return EventRadiusSlider;
  }(_react.default.Component);

  exports.EventRadiusSlider = EventRadiusSlider;
  EventRadiusSlider.propTypes = {
    label: _propTypes.default.string,
    color: _propTypes.default.string,
    maxValue: _propTypes.default.number.isRequired,
    defaultValue: _propTypes.default.number.isRequired
  };
},2558,[5,7,8,12,14,16,17,28,2559,201,2561,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _RNCSliderNativeComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var SliderComponent = function SliderComponent(props, forwardedRef) {
    var style = _reactNative.StyleSheet.compose(styles.slider, props.style);

    var onValueChange = props.onValueChange,
        onSlidingStart = props.onSlidingStart,
        onSlidingComplete = props.onSlidingComplete,
        localProps = (0, _objectWithoutProperties2.default)(props, ["onValueChange", "onSlidingStart", "onSlidingComplete"]);
    var onValueChangeEvent = onValueChange ? function (event) {
      var userEvent = true;

      if (_reactNative.Platform.OS === 'android') {
        userEvent = event.nativeEvent.fromUser != null && event.nativeEvent.fromUser;
      }

      userEvent && onValueChange(event.nativeEvent.value);
    } : null;
    var onChangeEvent = onValueChangeEvent;
    var onSlidingStartEvent = onSlidingStart ? function (event) {
      onSlidingStart(event.nativeEvent.value);
    } : null;
    var onSlidingCompleteEvent = onSlidingComplete ? function (event) {
      onSlidingComplete(event.nativeEvent.value);
    } : null;
    return _react.default.createElement(_RNCSliderNativeComponent.default, (0, _extends2.default)({}, localProps, {
      thumbImage: _reactNative.Image.resolveAssetSource(props.thumbImage),
      ref: forwardedRef,
      style: style,
      onChange: onChangeEvent,
      onRNCSliderSlidingStart: onSlidingStartEvent,
      onRNCSliderSlidingComplete: onSlidingCompleteEvent,
      onRNCSliderValueChange: onValueChangeEvent,
      enabled: !props.disabled,
      onStartShouldSetResponder: function onStartShouldSetResponder() {
        return true;
      },
      onResponderTerminationRequest: function onResponderTerminationRequest() {
        return false;
      }
    }));
  };

  var SliderWithRef = _react.default.forwardRef(SliderComponent);

  SliderWithRef.defaultProps = {
    disabled: false,
    value: 0,
    minimumValue: 0,
    maximumValue: 1,
    step: 0,
    inverted: false
  };
  var styles;

  if (_reactNative.Platform.OS === 'ios') {
    styles = _reactNative.StyleSheet.create({
      slider: {
        height: 40
      }
    });
  } else {
    styles = _reactNative.StyleSheet.create({
      slider: {}
    });
  }

  var Slider = SliderWithRef;
  var _default = Slider;
  exports.default = _default;
},2559,[5,6,108,17,28,2560]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var RNCSliderNativeComponent = (0, _reactNative.requireNativeComponent)('RNCSlider');
  var _default = RNCSliderNativeComponent;
  exports.default = _default;
},2560,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    container: {
      marginTop: 10,
      height: 50,
      borderRadius: 5,
      flexDirection: "row",
      justifyContent: "flex-start",
      alignItems: "center",
      marginRight: _$$_REQUIRE(_dependencyMap[1]).filterStyles.MARGIN,
      marginLeft: _$$_REQUIRE(_dependencyMap[1]).filterStyles.MARGIN
    },
    text: {
      color: _$$_REQUIRE(_dependencyMap[2]).colors.white,
      padding: _$$_REQUIRE(_dependencyMap[1]).filterStyles.TEXT_PADDING,
      width: "25%"
    },
    slider: {
      width: "50%"
    }
  });

  exports.styles = styles;
},2561,[28,2487,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2562,[2563]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.EventModalCategories = undefined;

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _modal = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var _labelsStateFromProps = function _labelsStateFromProps(props) {
    var labels = props.labels,
        selectedLabels = props.selectedLabels;
    return labels.map(function (item) {
      var isSelected = selectedLabels.includes(item.label);
      return (0, _extends2.default)({}, item, {
        checked: item.selected || isSelected
      });
    });
  };

  var _categoriesStateFromProps = function _categoriesStateFromProps(props) {
    var categories = props.categories,
        selectedCategories = props.selectedCategories;
    return categories.map(function (category) {
      category.checked = selectedCategories && selectedCategories.includes(category.categoryId);
      category.content.map(function (el) {
        el.checked = selectedCategories && selectedCategories.includes(el.categoryId);
        return el;
      });
      return category;
    });
  };

  var _getNumberOfCheckedInList = function _getNumberOfCheckedInList() {
    var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
    var counter = 0;
    list.forEach(function (item) {
      if (item.checked) {
        counter += 1;
      }
    });
    return counter;
  };

  var _getNumberOfChecked = function _getNumberOfChecked() {
    var labels = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
    var categories = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];

    var counter = _getNumberOfCheckedInList(labels);

    counter += _getNumberOfCheckedInList(categories);
    categories.forEach(function (category) {
      counter += _getNumberOfCheckedInList(category.content);
    });
    return counter || "All";
  };

  var EventModalCategories = (0, _react.forwardRef)(function (props, ref) {
    var color = props.color,
        title = props.label,
        multiSelect = props.multiSelect;

    var _useState = (0, _react.useState)(false),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        modalVisible = _useState2[0],
        setModalVisible = _useState2[1];

    var _useState3 = (0, _react.useState)([]),
        _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
        labels = _useState4[0],
        setLabels = _useState4[1];

    var _useState5 = (0, _react.useState)([]),
        _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
        categories = _useState6[0],
        setCategories = _useState6[1];

    var _resetLabels = function _resetLabels() {
      return setLabels(_labelsStateFromProps(props));
    };

    var _resetCategories = function _resetCategories() {
      return setCategories(_categoriesStateFromProps(props));
    };

    var _reset = function _reset() {
      _resetLabels();

      _resetCategories();
    };

    var _getValue = function _getValue() {
      var selectedCategories = [];
      categories.forEach(function (category) {
        if (category.checked) {
          selectedCategories.push(category.categoryId);
        }

        if (category.content) {
          category.content.forEach(function (categoryChild) {
            if (categoryChild.checked) {
              selectedCategories.push(categoryChild.categoryId);
            }
          });
        }
      });
      var selectedLabels = [];
      labels.forEach(function (_ref) {
        var label = _ref.label,
            checked = _ref.checked;

        if (checked) {
          selectedLabels.push(label);
        }
      });
      return {
        selectedCategories: selectedCategories,
        selectedLabels: selectedLabels
      };
    };

    (0, _react.useEffect)(function () {
      _resetCategories();
    }, [props.categories, props.selectedCategories]);
    (0, _react.useEffect)(function () {
      _resetLabels();
    }, [props.labels, props.selectedLabels]);
    (0, _react.useImperativeHandle)(ref, function () {
      return {
        getValue: function getValue() {
          return _getValue();
        }
      };
    });
    return _react.default.createElement(_reactNative.View, null, _react.default.createElement(_modal.default, {
      visible: modalVisible,
      onClose: function onClose() {
        return setModalVisible(false);
      },
      foregroundColor: color,
      hasFooter: true,
      onConfirm: function onConfirm() {
        setModalVisible(false);
        return true;
      },
      onCancel: function onCancel() {
        _reset();

        setModalVisible(false);
        return true;
      },
      containerStyle: {
        padding: 20,
        flex: 1,
        flexDirection: "column",
        justifyContent: "flex-end"
      }
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).Labels, {
      labels: labels,
      onChange: function onChange(updated) {
        return setLabels((0, _toConsumableArray2.default)(updated));
      }
    }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Categories, {
      categories: categories,
      color: color,
      multiSelect: multiSelect,
      onChange: function onChange(updated) {
        return setCategories((0, _toConsumableArray2.default)(updated));
      }
    })), _react.default.createElement(_reactNative.TouchableOpacity, {
      style: [{
        backgroundColor: color
      }, _$$_REQUIRE(_dependencyMap[11]).styles.container],
      onPress: function onPress() {
        setModalVisible(true);
      }
    }, _react.default.createElement(_fontText.default, {
      style: _$$_REQUIRE(_dependencyMap[11]).styles.text
    }, title + ": " + _getNumberOfChecked(labels, categories))));
  });
  exports.EventModalCategories = EventModalCategories;
  EventModalCategories.propTypes = {
    selectedCategories: _propTypes.default.arrayOf(_propTypes.default.string),
    categories: _propTypes.default.arrayOf(_propTypes.default.shape({
      name: _propTypes.default.string.isRequired,
      categoryId: _propTypes.default.number.isRequired,
      parentCategoryId: _propTypes.default.number
    })),
    selectedLabels: _propTypes.default.arrayOf(_propTypes.default.string),
    labels: _propTypes.default.arrayOf(_propTypes.default.shape({
      name: _propTypes.default.string.isRequired,
      label: _propTypes.default.string.isRequired,
      selected: _propTypes.default.bool
    })),
    label: _propTypes.default.string.isRequired,
    color: _propTypes.default.string.isRequired,
    multiSelect: _propTypes.default.bool
  };
  EventModalCategories.defaultProps = {
    labels: [],
    categories: [],
    selectedCategories: [],
    selectedLabels: []
  };
},2563,[5,21,41,6,17,28,201,1879,1882,2564,2566,2565]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Labels = Labels;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function Label(props) {
    var label = props.label,
        onChange = props.onChange;

    var _useState = (0, _react.useState)(label.checked),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        checked = _useState2[0],
        setChecked = _useState2[1];

    (0, _react.useEffect)(function () {
      label.checked = checked;

      if (typeof onChange === "function") {
        onChange(label);
      }
    }, [checked]);
    return _react.default.createElement(_reactNative.View, {
      style: [_$$_REQUIRE(_dependencyMap[6]).styles.categoryContainer, _$$_REQUIRE(_dependencyMap[6]).styles.labelsContainer]
    }, _react.default.createElement(_fontText.default, {
      type: "medium"
    }, label.name), _react.default.createElement(_reactNative.Switch, {
      onValueChange: function onValueChange(value) {
        return setChecked(value);
      },
      value: checked,
      ios_backgroundColor: _$$_REQUIRE(_dependencyMap[7]).colors.grey200
    }));
  }

  Label.propTypes = {
    label: _propTypes.default.shape({
      name: _propTypes.default.string.isRequired,
      checked: _propTypes.default.bool.isRequired
    }).isRequired,
    onChange: _propTypes.default.func.isRequired
  };

  function Labels(props) {
    var _onChange = props.onChange,
        labelsProp = props.labels;
    var labels = (0, _react.useRef)(labelsProp);
    return labels.current.map(function (item, index) {
      return _react.default.createElement(Label, {
        key: index,
        label: item,
        onChange: function onChange(label) {
          if (typeof _onChange === "function") {
            labels.current[index].checked = label.checked;

            _onChange(labels.current);
          }
        }
      });
    });
  }

  Labels.propTypes = {
    labels: _propTypes.default.array.isRequired,
    onChange: _propTypes.default.func.isRequired
  };
},2564,[5,41,17,201,28,1879,2565,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    container: {
      marginTop: 15,
      height: 50,
      borderRadius: 5,
      flexDirection: "row",
      justifyContent: "flex-start",
      alignItems: "center",
      marginLeft: _$$_REQUIRE(_dependencyMap[1]).filterStyles.MARGIN,
      marginRight: _$$_REQUIRE(_dependencyMap[1]).filterStyles.MARGIN
    },
    text: {
      padding: 5,
      color: _$$_REQUIRE(_dependencyMap[2]).colors.white,
      margin: 0
    },
    categoryContainer: {
      flexDirection: "row",
      alignItems: "center",
      padding: 10
    },
    labelsContainer: {
      justifyContent: "space-between"
    },
    subCategoryContainer: {
      flexDirection: "row",
      alignItems: "center",
      padding: 12,
      margin: 2,
      marginLeft: 25
    },
    lineContainer: {
      flexDirection: "row",
      alignItems: "center",
      padding: 10
    },
    line: {
      flex: 1,
      paddingHorizontal: 10,
      paddingVertical: 5
    },
    category: {
      flex: 1,
      paddingHorizontal: 10,
      paddingVertical: 5
    },
    icon: {
      fontSize: 15,
      height: 15,
      width: 15
    }
  });

  exports.styles = styles;
},2565,[28,2487,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.Categories = Categories;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _toConsumableArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[5]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _accordionComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[8]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function Line(props) {
    var style = props.style,
        onPress = props.onPress,
        checked = props.checked,
        color = props.color,
        text = props.text,
        children = props.children;
    return _react.default.createElement(_reactNative.View, {
      style: [_$$_REQUIRE(_dependencyMap[10]).styles.lineContainer, style]
    }, children, _react.default.createElement(_reactNative.TouchableOpacity, {
      style: {
        flex: 1
      },
      onPress: onPress
    }, _react.default.createElement(_fontText.default, {
      style: _$$_REQUIRE(_dependencyMap[10]).styles.line
    }, "" + text)), checked ? _react.default.createElement(_iconComponent.default, {
      type: _iconComponent.TecnaviaIconType.FONT_AWESOME_5,
      name: "check",
      style: [{
        color: color
      }, _$$_REQUIRE(_dependencyMap[10]).styles.icon]
    }) : null);
  }

  function Category(props) {
    var category = props.category,
        color = props.color,
        hasChildren = props.hasChildren,
        checked = props.checked,
        onCheck = props.onCheck,
        subListStyle = props.subListStyle,
        onChange = props.onChange;

    if (hasChildren) {
      var hasChildrenChecked = category.content.findIndex(function (el) {
        return el.checked;
      }) > -1;
      return _react.default.createElement(_accordionComponent.default, {
        sections: [category],
        renderHeader: function renderHeader(section, _, expanded) {
          return _react.default.createElement(Line, {
            onPress: onCheck,
            checked: checked,
            text: section.name
          }, _react.default.createElement(_iconComponent.default, {
            style: (0, _extends2.default)({
              fontSize: 18
            }, hasChildrenChecked ? {
              color: color
            } : {}),
            name: expanded ? "chevron-up" : "chevron-down",
            type: _iconComponent.TecnaviaIconType.MATERIAL_COMMUNITY_ICONS
          }));
        },
        renderContent: function renderContent(section) {
          return _react.default.createElement(Categories, {
            categories: section.content,
            color: color,
            multiSelect: false,
            style: subListStyle,
            onChange: onChange
          });
        }
      });
    }

    return _react.default.createElement(Line, {
      onPress: onCheck,
      checked: checked,
      text: category.name
    });
  }

  function Categories(props) {
    var color = props.color,
        multiSelect = props.multiSelect,
        categoriesProp = props.categories,
        style = props.style,
        _onChange = props.onChange;
    var categories = (0, _react.useRef)((0, _toConsumableArray2.default)(categoriesProp));

    var _useState = (0, _react.useState)(categories.current.map(function (item, _i) {
      return item.checked ? _i : -1;
    }).filter(function (_i) {
      return _i > -1;
    })),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        checkedIndexes = _useState2[0],
        setCheckedIndexes = _useState2[1];

    var _handleCheck = function _handleCheck(index) {
      if (!multiSelect) {
        categories.current.forEach(function (el) {
          el.checked = false;
        });
        checkedIndexes.splice(0, checkedIndexes.length);
        checkedIndexes.push(index);
        categories.current[index].checked = true;
      } else {
        if (checkedIndexes.includes(index)) {
          checkedIndexes.splice(checkedIndexes.indexOf(index), 1);
          categories.current[index].checked = false;
        } else {
          checkedIndexes.push(index);
          categories.current[index].checked = true;
        }
      }

      setCheckedIndexes((0, _toConsumableArray2.default)(checkedIndexes));
    };

    (0, _react.useEffect)(function () {
      if (typeof _onChange === "function") {
        _onChange(categories.current);
      }
    }, [checkedIndexes]);
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).TecnaviaFlatList, {
      style: style,
      data: categories.current,
      keyExtractor: function keyExtractor(_, index) {
        return "categories_" + index;
      },
      renderItem: function renderItem(_ref) {
        var item = _ref.item,
            index = _ref.index;
        var hasChildren = item.content && item.content.length > 0;
        return _react.default.createElement(Category, {
          category: item,
          color: color,
          hasChildren: hasChildren,
          onCheck: function onCheck() {
            return _handleCheck(index);
          },
          checked: checkedIndexes.includes(index),
          subListStyle: {
            marginLeft: 20
          },
          onChange: function onChange(selectedItems) {
            categories.current[index].content = selectedItems;

            if (typeof _onChange === "function") {
              _onChange(categories.current);
            }
          }
        });
      }
    });
  }

  Categories.propTypes = {
    color: _propTypes.default.string,
    style: _propTypes.default.any,
    categories: _propTypes.default.arrayOf(_propTypes.default.shape({
      name: _propTypes.default.string,
      checked: _propTypes.default.bool,
      content: _propTypes.default.arrayOf(_propTypes.default.shape({
        name: _propTypes.default.string,
        checked: _propTypes.default.bool
      }))
    })),
    multiSelect: _propTypes.default.bool,
    onChange: _propTypes.default.func
  };
},2566,[5,41,21,6,17,28,201,2482,1806,1879,2565,1910]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2567,[2568]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.EventModalTimeRange = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _rangepickerComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var _modal = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var EventModalTimeRange = function (_Component) {
    (0, _inherits2.default)(EventModalTimeRange, _Component);

    var _super = _createSuper(EventModalTimeRange);

    function EventModalTimeRange(props) {
      var _this;

      (0, _classCallCheck2.default)(this, EventModalTimeRange);
      _this = _super.call(this, props);
      _this.state = {
        modalVisible: false,
        timeRange: props.timeRange || "all",
        selectedIndex: props.data.findIndex(function (el) {
          return el.value === props.timeRange;
        }),
        rangePickerIsVisible: false
      };
      return _this;
    }

    (0, _createClass2.default)(EventModalTimeRange, [{
      key: "UNSAFE_componentWillReceiveProps",
      value: function UNSAFE_componentWillReceiveProps(newProps) {
        var data = this.props.data;

        if (newProps.timeRange !== undefined) {
          this.setState({
            selectedIndex: data.findIndex(function (el) {
              return el.value === newProps.timeRange;
            }),
            rangePickerIsVisible: false,
            timeRange: newProps.timeRange
          });
        }
      }
    }, {
      key: "setModalVisible",
      value: function setModalVisible(visible) {
        this.setState({
          modalVisible: visible
        });
      }
    }, {
      key: "getValue",
      value: function getValue() {
        var selectedIndex = this.state.selectedIndex;
        var _this$props = this.props,
            data = _this$props.data,
            format = _this$props.format;

        if (selectedIndex > 0) {
          if (data[selectedIndex].intervalFunction) {
            return {
              startDate: data[selectedIndex].intervalFunction().begin.format(format),
              endDate: data[selectedIndex].intervalFunction().end.format(format),
              timeRange: data[selectedIndex].value
            };
          }

          return {
            startDate: _$$_REQUIRE(_dependencyMap[13]).DateUtils.getDateString(this.start, format),
            endDate: _$$_REQUIRE(_dependencyMap[13]).DateUtils.getDateString(this.end, format),
            timeRange: data[selectedIndex].value
          };
        }

        return {};
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _this$state = this.state,
            modalVisible = _this$state.modalVisible,
            timeRange = _this$state.timeRange,
            selectedIndex = _this$state.selectedIndex,
            rangePickerIsVisible = _this$state.rangePickerIsVisible;
        var _this$props2 = this.props,
            label = _this$props2.label,
            color = _this$props2.color,
            data = _this$props2.data;
        return _react.default.createElement(_reactNative.View, null, _react.default.createElement(_modal.default, {
          visible: modalVisible,
          onClose: function onClose() {
            return _this2.setModalVisible(false);
          },
          foregroundColor: color,
          hasFooter: true,
          onConfirm: function onConfirm() {
            _this2.setModalVisible(false);

            return true;
          },
          onCancel: function onCancel() {
            _this2.setModalVisible(false);

            _this2.setState({
              selectedIndex: 0,
              timeRange: "",
              rangePickerIsVisible: false
            });

            return true;
          },
          containerStyle: {
            padding: 20
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).TecnaviaFlatList, {
          data: data,
          keyExtractor: function keyExtractor(item, index) {
            return "time_range_" + index;
          },
          renderItem: function renderItem(_ref) {
            var item = _ref.item,
                index = _ref.index;
            var checked = index === selectedIndex ? _react.default.createElement(_iconComponent.default, {
              type: _iconComponent.TecnaviaIconType.FONT_AWESOME_5,
              name: "check",
              style: [{
                color: color
              }, _$$_REQUIRE(_dependencyMap[15]).styles.icon]
            }) : null;
            return _react.default.createElement(_reactNative.TouchableOpacity, {
              style: _$$_REQUIRE(_dependencyMap[15]).styles.itemContainer,
              onPress: function onPress() {
                var dateInterval = data[index].intervalFunction;

                if (selectedIndex === index) {
                  _this2.setState({
                    selectedIndex: 0,
                    rangePickerIsVisible: false,
                    timeRange: ""
                  });
                } else {
                  _this2.setState({
                    selectedIndex: index,
                    rangePickerIsVisible: !dateInterval && index !== 0,
                    timeRange: data[index].value
                  });
                }
              }
            }, _react.default.createElement(_fontText.default, {
              style: _$$_REQUIRE(_dependencyMap[15]).styles.itemText
            }, _$$_REQUIRE(_dependencyMap[13]).DateUtils.getTimeRangeString(item.value)), checked);
          }
        }), rangePickerIsVisible ? _react.default.createElement(_rangepickerComponent.default, {
          showText: false,
          color: color,
          onRangeChange: function onRangeChange(start, end) {
            _this2.start = start;
            _this2.end = end;
          },
          containerStyle: _$$_REQUIRE(_dependencyMap[15]).styles.pickerContainer,
          pickerProps: {
            locale: global.getLocaleConfig().getCurrentLocale()
          },
          pickerStartProps: {
            style: {
              marginStart: 0
            }
          },
          pickerEndProps: {
            style: {
              marginEnd: 0
            }
          }
        }) : null), _react.default.createElement(_reactNative.TouchableOpacity, {
          style: [{
            backgroundColor: color
          }, _$$_REQUIRE(_dependencyMap[15]).styles.container],
          onPress: function onPress() {
            return _this2.setModalVisible(true);
          }
        }, _react.default.createElement(_fontText.default, {
          style: _$$_REQUIRE(_dependencyMap[15]).styles.text
        }, label + ": " + (_$$_REQUIRE(_dependencyMap[13]).DateUtils.getTimeRangeString(timeRange) || global.strings("all")))));
      }
    }]);
    return EventModalTimeRange;
  }(_react.Component);

  exports.EventModalTimeRange = EventModalTimeRange;
  EventModalTimeRange.propTypes = {
    label: _propTypes.default.string.isRequired,
    color: _propTypes.default.string.isRequired,
    timeRange: _propTypes.default.string,
    format: _propTypes.default.string.isRequired,
    data: _propTypes.default.arrayOf(_propTypes.default.shape({
      intervalFunction: Function,
      title: String,
      value: String
    }))
  };
},2568,[5,7,8,12,14,16,17,28,201,2264,1806,1882,1879,462,1910,2569]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    container: {
      marginTop: 15,
      height: 50,
      borderRadius: 5,
      flexDirection: "row",
      justifyContent: "flex-start",
      alignItems: "center",
      marginLeft: _$$_REQUIRE(_dependencyMap[1]).filterStyles.MARGIN,
      marginRight: _$$_REQUIRE(_dependencyMap[1]).filterStyles.MARGIN,
      marginBottom: 10
    },
    pickerContainer: {
      flexDirection: "row",
      width: "100%",
      height: 50,
      padding: 10
    },
    icon: {
      fontSize: 15,
      height: 15,
      width: 15
    },
    itemContainer: {
      height: 50,
      justifyContent: "center",
      flexDirection: "row",
      padding: 10
    },
    itemText: {
      flex: 1
    },
    text: {
      padding: 5,
      color: _$$_REQUIRE(_dependencyMap[2]).colors.white
    }
  });

  exports.styles = styles;
},2569,[28,2487,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2570,[2571]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.EventFavoritesScreen = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var EventFavoritesScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(EventFavoritesScreen, _NavigationBaseScreen);

    var _super = _createSuper(EventFavoritesScreen);

    function EventFavoritesScreen() {
      (0, _classCallCheck2.default)(this, EventFavoritesScreen);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(EventFavoritesScreen, [{
      key: "handleBackButton",
      value: function handleBackButton() {
        var navigation = this.props.navigation;
        navigation.goBack(null);
        return (0, _get2.default)((0, _getPrototypeOf2.default)(EventFavoritesScreen.prototype), "handleBackButton", this).call(this);
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "Event Favorites";
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            navigation = _this$props.navigation,
            user = _this$props.user,
            pass = _this$props.pass,
            portal = _this$props.portal;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).VerticalFavoritesList, {
          eventName: _events.default.TOGGLE_EVENTS_FAVORITE,
          color: (0, _$$_REQUIRE(_dependencyMap[10]).getEventColor)(),
          searchVerticalManager: global.getVerticalsConfig().getEvents(),
          onItemPress: function onItemPress(item) {
            navigation.navigate("VerticalDetailScreen", {
              id: item.eventId,
              user: user,
              pass: pass,
              portal: portal
            });
          },
          renderItem: function renderItem(item) {
            return _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).EventListItem, {
              onItemPress: function onItemPress(clicked) {
                navigation.navigate("VerticalDetailScreen", {
                  id: clicked.eventId,
                  user: user,
                  pass: pass,
                  portal: portal
                });
              },
              item: item,
              manager: global.getVerticalsConfig().getEvents(),
              color: (0, _$$_REQUIRE(_dependencyMap[10]).getEventColor)(),
              portal: portal
            });
          },
          onEmptyPress: function onEmptyPress() {
            navigation.navigate("VerticalFiltersScreen");
          },
          itemKey: "eventId"
        });
      }
    }]);
    return EventFavoritesScreen;
  }(_$$_REQUIRE(_dependencyMap[12]).NavigationBaseScreen);

  exports.EventFavoritesScreen = EventFavoritesScreen;
},2571,[5,7,8,90,12,14,16,17,460,2510,2474,2572,2148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2572,[2547]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.EventDetailScreen = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _iconTile = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[14]));

  var _fontTextInput = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[16]));

  var _tecnaviaPlatformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var EventDetailScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(EventDetailScreen, _NavigationBaseScreen);

    var _super = _createSuper(EventDetailScreen);

    function EventDetailScreen(props) {
      var _this;

      (0, _classCallCheck2.default)(this, EventDetailScreen);
      _this = _super.call(this, props);

      _this.onShare = function _callee(message, id) {
        var _getNavigationParams, _getNavigationParams$, portal;

        return _regenerator.default.async(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _getNavigationParams = (0, _$$_REQUIRE(_dependencyMap[18]).getNavigationParams)(_this.props), _getNavigationParams$ = _getNavigationParams.portal, portal = _getNavigationParams$ === undefined ? "" : _getNavigationParams$;
                _context.prev = 1;
                _context.next = 4;
                return _regenerator.default.awrap(_reactNative.Share.share({
                  message: message,
                  url: global.strings("share_event_url", {
                    portal: portal,
                    id: id
                  })
                }));

              case 4:
                _context.next = 8;
                break;

              case 6:
                _context.prev = 6;
                _context.t0 = _context["catch"](1);

              case 8:
              case "end":
                return _context.stop();
            }
          }
        }, null, null, [[1, 6]], Promise);
      };

      _this.state = {
        loading: true,
        data: {}
      };
      return _this;
    }

    (0, _createClass2.default)(EventDetailScreen, [{
      key: "handleBackButton",
      value: function handleBackButton() {
        var navigation = this.props.navigation;
        navigation.goBack(null);
        return (0, _get2.default)((0, _getPrototypeOf2.default)(EventDetailScreen.prototype), "handleBackButton", this).call(this);
      }
    }, {
      key: "componentDidMount",
      value: function componentDidMount() {
        this.firstLoad();
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "Event Details";
      }
    }, {
      key: "filterInstances",
      value: function filterInstances(data) {
        var instances = [];

        if (!data.instances) {
          return instances;
        }

        var today = _$$_REQUIRE(_dependencyMap[19]).DateUtils.getMomentStartOfDay();

        data.instances.forEach(function (instance) {
          if (_$$_REQUIRE(_dependencyMap[19]).DateUtils.getMomentDate(instance.startDateTime) >= today) {
            instances.push({
              start: _$$_REQUIRE(_dependencyMap[19]).DateUtils.getMomentDate(instance.startDateTime).utc(),
              end: instance.endDateTime ? _$$_REQUIRE(_dependencyMap[19]).DateUtils.getMomentDate(instance.endDateTime).utc() : null
            });
          }
        });
        return instances;
      }
    }, {
      key: "firstLoad",
      value: function firstLoad() {
        var _this2 = this;

        return _regenerator.default.async(function firstLoad$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                this.setState({
                  loading: true,
                  data: {}
                }, function _callee2() {
                  var params, _params$id, id, _params$user, user, _params$pass, pass, _params$portal, portal, username, password, api, config, result;

                  return _regenerator.default.async(function _callee2$(_context2) {
                    while (1) {
                      switch (_context2.prev = _context2.next) {
                        case 0:
                          params = (0, _$$_REQUIRE(_dependencyMap[18]).getNavigationParams)(_this2.props);
                          _params$id = params.id, id = _params$id === undefined ? "" : _params$id, _params$user = params.user, user = _params$user === undefined ? "" : _params$user, _params$pass = params.pass, pass = _params$pass === undefined ? "" : _params$pass, _params$portal = params.portal, portal = _params$portal === undefined ? "" : _params$portal;
                          username = user;
                          password = pass;
                          api = (0, _$$_REQUIRE(_dependencyMap[20]).getEventById)(id);
                          config = {
                            auth: {
                              username: username,
                              password: password
                            }
                          };
                          _context2.next = 8;
                          return _regenerator.default.awrap(_Api.default.get(api, config, {
                            portal: portal
                          }));

                        case 8:
                          result = _context2.sent;

                          _this2.setState({
                            loading: false,
                            data: result.data
                          });

                        case 10:
                        case "end":
                          return _context2.stop();
                      }
                    }
                  }, null, null, null, Promise);
                });

              case 1:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "render",
      value: function render() {
        var _this3 = this;

        var _this$state = this.state,
            data = _this$state.data,
            loading = _this$state.loading;
        var categories = global.strings("str_no_categories");
        var description = "";

        var _getNavigationParams2 = (0, _$$_REQUIRE(_dependencyMap[18]).getNavigationParams)(this.props),
            _getNavigationParams3 = _getNavigationParams2.isVirtual,
            isVirtual = _getNavigationParams3 === undefined ? "" : _getNavigationParams3;

        var filteredInstances = this.filterInstances(data);
        var manager = global.getVerticalsConfig().getEvents();

        if (data.description) {
          for (var i = 0; i < data.description.length; i++) {
            description += data.description[i] === "\n" ? "\n\n" : data.description[i];
          }
        } else {
          description = "";
        }

        if (data.categories && data.categories.length) {
          categories = "";
          var len = data.categories.length;

          for (var _i = 0; _i < len - 1; _i++) {
            categories += data.categories[_i].name + ", ";
          }

          categories += data.categories[len - 1].name;
        }

        if (!loading) {
          var _data$price = data.price,
              free = _data$price.free,
              lowerPrice = _data$price.lowerPrice,
              upperPrice = _data$price.upperPrice;
          var priceString;

          if (free) {
            priceString = global.strings("str_free");
          } else if (lowerPrice && upperPrice && lowerPrice === upperPrice) {
            priceString = "$" + lowerPrice;
          } else if (lowerPrice && upperPrice) {
            priceString = "$" + lowerPrice + " - $" + upperPrice;
          } else {
            priceString = global.strings("str_not_available");
          }

          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[21]).TecnaviaScrollView, {
            showsVerticalScrollIndicator: false
          }, data.primaryImage ? _react.default.createElement(_imageComponent.default, {
            source: {
              uri: data.primaryImage.largeImageUrl
            },
            style: _$$_REQUIRE(_dependencyMap[22]).styles.image
          }) : null, _react.default.createElement(_reactNative.View, {
            style: _$$_REQUIRE(_dependencyMap[22]).styles.title
          }, _react.default.createElement(_fontText.default, {
            style: {
              fontSize: 16,
              color: _$$_REQUIRE(_dependencyMap[19]).colors.white
            },
            type: _fontText.Type.bold
          }, data.name)), _react.default.createElement(_reactNative.View, {
            style: _$$_REQUIRE(_dependencyMap[22]).styles.section
          }, filteredInstances.map(function (element, index) {
            return index < 7 ? _react.default.createElement(_fontText.default, {
              key: index,
              type: index === 0 && filteredInstances.length > 1 ? "bold" : "regular"
            }, filteredInstances[index].start.format("dddd, MMMM D, YYYY: hh-mmA"), filteredInstances[index].end ? " - " + filteredInstances[0].end.format("h:mmA") : "") : null;
          })), data.location ? _react.default.createElement(_reactNative.View, {
            style: _$$_REQUIRE(_dependencyMap[22]).styles.map
          }, _react.default.createElement(_fontText.default, {
            style: _$$_REQUIRE(_dependencyMap[22]).styles.location,
            type: _fontText.Type.bold
          }, global.strings("str_location")), _react.default.createElement(_fontText.default, {
            style: _$$_REQUIRE(_dependencyMap[22]).styles.location
          }, data.location.locationName), data.location.address ? _react.default.createElement(_fontText.default, {
            style: _$$_REQUIRE(_dependencyMap[22]).styles.location
          }, data.location.address) : null, data.location.city && data.location.state ? _react.default.createElement(_fontText.default, {
            style: _$$_REQUIRE(_dependencyMap[22]).styles.location
          }, data.location.city, ", ", data.location.state) : null) : null, isVirtual ? _react.default.createElement(_reactNative.View, {
            style: _$$_REQUIRE(_dependencyMap[22]).styles.section
          }, _react.default.createElement(_fontText.default, {
            type: _fontText.Type.bold
          }, "Virtual Event URL: "), data.links.length && data.links[0].name && data.links[0].linkUrl ? _react.default.createElement(_fontText.default, {
            style: {
              color: _$$_REQUIRE(_dependencyMap[19]).colors.md_blue_600
            },
            onPress: function onPress() {
              _tecnaviaPlatformUtils.default.openURL(data.links[0].linkUrl);
            }
          }, data.links[0].linkUrl) : _react.default.createElement(_fontText.default, {
            type: _fontText.Type.regular
          }, "No website has been specified for this event.")) : null, _react.default.createElement(_reactNative.View, {
            style: _$$_REQUIRE(_dependencyMap[22]).styles.section
          }, _react.default.createElement(_fontText.default, {
            type: _fontText.Type.bold
          }, "Price:"), _react.default.createElement(_fontText.default, null, priceString)), data.description ? _react.default.createElement(_reactNative.View, {
            style: _$$_REQUIRE(_dependencyMap[22]).styles.section
          }, _react.default.createElement(_fontText.default, {
            style: {
              color: _$$_REQUIRE(_dependencyMap[19]).colors.black
            },
            type: _fontText.Type.bold
          }, global.strings("str_description")), _react.default.createElement(_fontTextInput.default, {
            multiline: true,
            editable: false,
            dataDetectorTypes: "all"
          }, description)) : null, data.categories.length > 0 ? _react.default.createElement(_reactNative.View, {
            style: _$$_REQUIRE(_dependencyMap[22]).styles.section
          }, _react.default.createElement(_fontText.default, {
            style: {
              color: _$$_REQUIRE(_dependencyMap[19]).colors.black
            },
            type: _fontText.Type.bold
          }, global.strings("categories"), ":"), _react.default.createElement(_fontText.default, null, categories)) : null, data.contact && (data.contact.organization || data.contact.name || data.contact.email || data.contact.phone) ? _react.default.createElement(_reactNative.View, {
            style: _$$_REQUIRE(_dependencyMap[22]).styles.section
          }, _react.default.createElement(_fontText.default, {
            type: "bold"
          }, "Contact info:"), data.contact.organization ? _react.default.createElement(_fontTextInput.default, {
            editable: false,
            dataDetectorTypes: "all",
            multiline: true
          }, data.contact.organization) : null, data.contact.name ? _react.default.createElement(_fontTextInput.default, {
            editable: false,
            dataDetectorTypes: "all",
            multiline: true
          }, data.contact.name) : null, data.contact.email ? _react.default.createElement(_fontTextInput.default, {
            editable: false,
            dataDetectorTypes: "all",
            multiline: true
          }, data.contact.email) : null, data.contact.phone ? _react.default.createElement(_fontTextInput.default, {
            editable: false,
            dataDetectorTypes: "all",
            multiline: true
          }, data.contact.phone) : null) : null, data.media && data.media.length ? _react.default.createElement(_reactNative.View, {
            style: _$$_REQUIRE(_dependencyMap[22]).styles.section
          }, _react.default.createElement(_fontText.default, {
            type: "bold"
          }, "Media:"), data.media.map(function (url) {
            return _react.default.createElement(_fontText.default, {
              style: {
                color: _$$_REQUIRE(_dependencyMap[19]).colors.md_blue_600
              },
              onPress: function onPress() {
                _tecnaviaPlatformUtils.default.openURL(url);
              }
            }, url);
          })) : null, data.links.length && data.links[0].name && data.links[0].linkUrl ? _react.default.createElement(_reactNative.View, {
            style: _$$_REQUIRE(_dependencyMap[22]).styles.section
          }, _react.default.createElement(_fontText.default, {
            type: "bold"
          }, "More info:"), _react.default.createElement(_fontText.default, {
            style: {
              color: _$$_REQUIRE(_dependencyMap[19]).colors.md_blue_600
            },
            onPress: function onPress() {
              _tecnaviaPlatformUtils.default.openURL(data.links[0].linkUrl);
            }
          }, data.links[0].name)) : null, data.location ? _react.default.createElement(_reactNative.View, {
            style: _$$_REQUIRE(_dependencyMap[22]).styles.map
          }, _react.default.createElement(_reactNative.TouchableOpacity, {
            onPress: function onPress() {
              var scheme = _reactNative.Platform.select({
                ios: "maps:0,0?q=",
                android: "geo:0,0?q="
              });

              var latLng = data.location.latitude + "," + data.location.longitude;
              var label = data.name;

              var url = _reactNative.Platform.select({
                ios: "" + scheme + label + "@" + latLng,
                android: "" + scheme + latLng + "(" + label + ")"
              });

              _tecnaviaPlatformUtils.default.openURL(url);
            }
          }, _react.default.createElement(_imageComponent.default, {
            source: {
              uri: "https://maps.googleapis.com/maps/api/staticmap?size=800x600&zoom=15&center=" + data.location.latitude + "," + data.location.longitude + "&markers=color:blue%7C" + data.location.latitude + "," + data.location.longitude + "&key=AIzaSyCOsXayiWmGzfoIxTM6BQYa0HY7Z89h0Aw"
            },
            style: _$$_REQUIRE(_dependencyMap[22]).styles.image
          }))) : null, _react.default.createElement(_reactNative.View, {
            style: _$$_REQUIRE(_dependencyMap[22]).styles.icons
          }, _react.default.createElement(_iconTile.default, {
            icons: [{
              title: global.strings("action_share"),
              component: function component(style) {
                return _react.default.createElement(_iconComponent.default, {
                  type: _iconComponent.TecnaviaIconType.MATERIAL_ICONS,
                  name: "share",
                  style: style
                });
              },
              onPress: function onPress(clicked) {
                _this3.onShare(clicked.name, clicked.eventId);
              }
            }, {
              title: !manager.favoriteIsStored(data) ? global.strings("action_save_for_later") : global.strings("action_remove_from_favorites"),
              component: function component(style) {
                return _react.default.createElement(_$$_REQUIRE(_dependencyMap[23]).IconFavorite, {
                  item: data,
                  size: 20,
                  style: style,
                  eventToggleItemChecker: function eventToggleItemChecker(currentItem, params) {
                    return currentItem.eventId === params.eventId;
                  },
                  toggleFavoritesEventName: _events.default.TOGGLE_EVENTS_FAVORITE,
                  isFavoriteChecker: function isFavoriteChecker(toCheck) {
                    return manager.favoriteIsStored(toCheck);
                  }
                });
              },
              onPress: function onPress(clicked) {
                manager.toggleFavorite(clicked);
              }
            }],
            tintColor: (0, _$$_REQUIRE(_dependencyMap[20]).getEventColor)(),
            item: data,
            availableSpace: 5
          })));
        }

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).ProgressCircle, {
          parentStyle: _$$_REQUIRE(_dependencyMap[22]).styles.spinner,
          text: global.strings("loading"),
          spinnerColor: (0, _$$_REQUIRE(_dependencyMap[20]).getEventColor)(),
          showText: true
        });
      }
    }]);
    return EventDetailScreen;
  }(_$$_REQUIRE(_dependencyMap[18]).NavigationBaseScreen);

  exports.EventDetailScreen = EventDetailScreen;
},2573,[5,80,7,8,90,12,14,16,17,28,460,2093,431,588,1806,2257,1879,1876,2148,462,2474,1909,2574,1969,1953]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    title: {
      flexDirection: "row",
      justifyContent: "center",
      alignItems: "center",
      backgroundColor: (0, _$$_REQUIRE(_dependencyMap[1]).getEventColor)(),
      minHeight: 50,
      padding: 3
    },
    map: {
      flexDirection: "column",
      marginTop: 10
    },
    section: {
      flexDirection: "column",
      margin: 10,
      marginTop: 20
    },
    bold: {
      color: _$$_REQUIRE(_dependencyMap[2]).colors.black
    },
    category: {
      flex: 95,
      color: _$$_REQUIRE(_dependencyMap[2]).colors.black
    },
    check: {
      flex: 5,
      color: (0, _$$_REQUIRE(_dependencyMap[1]).getEventColor)()
    },
    image: {
      width: "100%",
      height: 300
    },
    spinner: {
      position: "absolute",
      bottom: "50%",
      start: 0,
      end: 0,
      height: 50,
      backgroundColor: _$$_REQUIRE(_dependencyMap[2]).colors.white
    },
    location: {
      marginLeft: 10,
      marginBottom: 5
    },
    icons: {
      position: "absolute",
      left: 0,
      right: 10,
      top: 25
    }
  });

  exports.styles = styles;
},2574,[28,2474,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2575,[2576]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.EventSearchScreen = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[12]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[14]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var EventSearchScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(EventSearchScreen, _NavigationBaseScreen);

    var _super = _createSuper(EventSearchScreen);

    function EventSearchScreen(props) {
      var _this;

      (0, _classCallCheck2.default)(this, EventSearchScreen);
      _this = _super.call(this, props, {
        loading: true
      });
      _this.categories = [];
      return _this;
    }

    (0, _createClass2.default)(EventSearchScreen, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this$props, username, password, portal, api, config;

        return _regenerator.default.async(function componentDidMount$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _this$props = this.props, username = _this$props.user, password = _this$props.pass, portal = _this$props.portal;
                api = (0, _$$_REQUIRE(_dependencyMap[16]).getEventCategories)();
                config = {
                  auth: {
                    username: username,
                    password: password
                  }
                };
                _context.prev = 3;
                _context.next = 6;
                return _regenerator.default.awrap(_Api.default.get(api, config, {
                  portal: portal
                }));

              case 6:
                this.categories = _context.sent.data;
                _context.next = 11;
                break;

              case 9:
                _context.prev = 9;
                _context.t0 = _context["catch"](3);

              case 11:
                this.setState({
                  loading: false
                });

              case 12:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, [[3, 9]], Promise);
      }
    }, {
      key: "handleBackButton",
      value: function handleBackButton() {
        var navigation = this.props.navigation;
        navigation.goBack(null);
        return (0, _get2.default)((0, _getPrototypeOf2.default)(EventSearchScreen.prototype), "handleBackButton", this).call(this);
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "Event Search";
      }
    }, {
      key: "getZoomLevel",
      value: function getZoomLevel(radius) {
        return 14 - Math.log(radius) / Math.log(2);
      }
    }, {
      key: "GMapCircle",
      value: function GMapCircle(lat, lng, rad) {
        var detail = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 8;
        var color = (0, _$$_REQUIRE(_dependencyMap[16]).getEventColor)();
        var uri = "https://maps.googleapis.com/maps/api/staticmap";
        var staticMapSrc = "key=AIzaSyCOsXayiWmGzfoIxTM6BQYa0HY7Z89h0Aw";
        staticMapSrc += "&markers=color:blue|" + lat + "," + lng;
        staticMapSrc += "&center=" + lat + "," + lng;
        staticMapSrc += "&size=800x600";
        staticMapSrc += "&zoom=" + this.getZoomLevel(rad);
        staticMapSrc += "&path=fillcolor:0x" + color.substring(1) + "33|color:0xFFFFFF00|weight:1";
        var circle = "";
        var r = 3959.87;
        var pi = Math.PI;

        var _lat = lat * pi / 180;

        var _lng = lng * pi / 180;

        var d = rad / r;
        var i = 0;

        for (i = 0; i <= 360; i += detail) {
          var brng = i * pi / 180;
          var pLat = Math.asin(Math.sin(_lat) * Math.cos(d) + Math.cos(_lat) * Math.sin(d) * Math.cos(brng));
          var pLng = (_lng + Math.atan2(Math.sin(brng) * Math.sin(d) * Math.cos(_lat), Math.cos(d) - Math.sin(_lat) * Math.sin(pLat))) * 180 / pi;
          pLat = pLat * 180 / pi;
          circle += "|" + pLat + "," + pLng;
        }

        return "https://maps.googleapis.com/maps/api/staticmap?" + staticMapSrc + circle;
      }
    }, {
      key: "formatCategories",
      value: function formatCategories(item) {
        if (this.categories && item.categories) {
          var categoriesText = this.categories.filter(function (_ref) {
            var categoryId = _ref.categoryId,
                name = _ref.name;
            return item.categories.includes(categoryId);
          }).map(function (_ref2) {
            var name = _ref2.name;
            return name;
          });
          return categoriesText.join(",");
        }

        return undefined;
      }
    }, {
      key: "formatLabels",
      value: function formatLabels(item) {
        var labels = this.props.labels;

        if (labels && item.labels) {
          var labelsText = labels.filter(function (_ref3) {
            var label = _ref3.label;
            return item.labels.includes(label);
          }).map(function (_ref4) {
            var name = _ref4.name;
            return name;
          });
          return labelsText.join(",");
        }

        return undefined;
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var FORMAT = "YYYY-MM-DD";
        var navigation = this.props.navigation;
        var loading = this.state.loading;

        if (loading) {
          return null;
        }

        var manager = global.getVerticalsConfig().getEvents();
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).VerticalSearchesList, {
          eventName: _events.default.TOGGLE_EVENTS_SEARCH,
          color: (0, _$$_REQUIRE(_dependencyMap[16]).getEventColor)(),
          searchVerticalManager: manager,
          onItemPress: function onItemPress(item) {
            var lastSearch = manager.getLastSearch();

            if (item !== lastSearch) {
              manager.toggleLastSearch(item);
            }

            if (item.timeRange) {
              var result = _$$_REQUIRE(_dependencyMap[18]).DateUtils.getTimeRange(item.timeRange);

              if (result) {
                var begin = result.begin,
                    end = result.end;

                if (begin && end) {
                  item.startDate = begin.format(FORMAT);
                  item.endDate = end.format(FORMAT);
                }
              }
            }

            navigation.navigate("VerticalListScreen", {
              filters: (0, _extends2.default)({}, item)
            });
          },
          renderItem: function renderItem(item) {
            var startDate = item.startDate,
                endDate = item.endDate,
                searchTerm = item.searchTerm,
                timeRange = item.timeRange;
            var location = item.latitude || item.longitude ? global.strings("custom_location") : "";

            var categories = _this2.formatCategories(item);

            var labels = _this2.formatLabels(item);

            var isDefault = manager.searchIsDefault(item);
            var isLastSearch = manager.searchIsLastSearch(item);
            var allEvents = !startDate && !endDate && !location && !categories && !searchTerm ? global.strings("all_events") : null;
            return _react.default.createElement(_reactNative.View, {
              style: _$$_REQUIRE(_dependencyMap[19]).styles.line
            }, _react.default.createElement(_reactNative.View, {
              style: {
                flexDirection: "row"
              }
            }, _react.default.createElement(_reactNative.View, {
              style: {
                flex: 93
              }
            }, timeRange && timeRange !== "custom" ? _react.default.createElement(_fontText.default, {
              style: _$$_REQUIRE(_dependencyMap[19]).styles.text,
              type: _fontText.Type.medium
            }, global.strings("str_time_range") + ": " + _$$_REQUIRE(_dependencyMap[18]).DateUtils.getTimeRangeString(timeRange)) : null, startDate && timeRange === "custom" ? _react.default.createElement(_fontText.default, {
              style: _$$_REQUIRE(_dependencyMap[19]).styles.text,
              type: _fontText.Type.medium
            }, global.strings("str_from") + ": " + startDate) : null, endDate && timeRange === "custom" ? _react.default.createElement(_fontText.default, {
              style: _$$_REQUIRE(_dependencyMap[19]).styles.text,
              type: _fontText.Type.medium
            }, global.strings("str_to") + ": " + endDate) : null, categories ? _react.default.createElement(_fontText.default, {
              style: _$$_REQUIRE(_dependencyMap[19]).styles.text,
              type: _fontText.Type.medium
            }, global.strings("categories") + ": " + categories) : null, labels ? _react.default.createElement(_fontText.default, {
              style: _$$_REQUIRE(_dependencyMap[19]).styles.text,
              type: _fontText.Type.medium
            }, global.strings("labels") + ": " + labels) : null, searchTerm ? _react.default.createElement(_fontText.default, {
              style: _$$_REQUIRE(_dependencyMap[19]).styles.text,
              type: _fontText.Type.medium
            }, global.strings("search_term") + ": " + searchTerm) : null, allEvents ? _react.default.createElement(_fontText.default, {
              style: _$$_REQUIRE(_dependencyMap[19]).styles.title,
              type: _fontText.Type.medium
            }, "" + allEvents) : null), _react.default.createElement(_reactNative.View, {
              style: {
                flex: 7,
                justifyContent: "center"
              }
            }, !isLastSearch ? _react.default.createElement(_reactNative.TouchableOpacity, {
              onPress: function onPress() {
                if (isDefault) {
                  manager.toggleDefaultSearch(item, false);
                } else {
                  manager.toggleSearch(item);
                }
              }
            }, _react.default.createElement(_iconComponent.default, {
              type: _iconComponent.TecnaviaIconType.FONT_AWESOME_5,
              name: "trash",
              color: (0, _$$_REQUIRE(_dependencyMap[16]).getEventColor)(),
              size: 18
            })) : null)), location ? _react.default.createElement(_reactNative.View, {
              style: {
                justifyContent: "center",
                alignItems: "center"
              }
            }, _react.default.createElement(_imageComponent.default, {
              style: {
                width: "100%",
                height: 280,
                margin: 10
              },
              source: {
                uri: _this2.GMapCircle(item.latitude, item.longitude, item.radius)
              }
            })) : null);
          },
          onEmptyPress: function onEmptyPress() {
            navigation.navigate("VerticalFiltersScreen");
          }
        });
      }
    }]);
    return EventSearchScreen;
  }(_$$_REQUIRE(_dependencyMap[20]).NavigationBaseScreen);

  exports.EventSearchScreen = EventSearchScreen;
},2576,[5,80,6,7,8,90,12,14,16,17,28,460,1879,588,1806,431,2474,2504,462,2577,2148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    line: {
      flexDirection: "column",
      padding: 10,
      borderBottomWidth: 0.5,
      borderColor: (0, _$$_REQUIRE(_dependencyMap[1]).getEventColor)(),
      justifyContent: "center"
    },
    title: {
      fontSize: 20,
      flex: 1
    },
    text: {
      fontSize: 14,
      flex: 1
    },
    subtitle: {
      fontSize: 20,
      flex: 1
    }
  });

  exports.styles = styles;
},2577,[28,2474]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2578,[2579]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.EventWebScreen = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var EventWebScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(EventWebScreen, _NavigationBaseScreen);

    var _super = _createSuper(EventWebScreen);

    function EventWebScreen() {
      (0, _classCallCheck2.default)(this, EventWebScreen);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(EventWebScreen, [{
      key: "handleBackButton",
      value: function handleBackButton() {
        var navigation = this.props.navigation;
        navigation.goBack(null);
        return (0, _get2.default)((0, _getPrototypeOf2.default)(EventWebScreen.prototype), "handleBackButton", this).call(this);
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "Event WebView";
      }
    }, {
      key: "render",
      value: function render() {
        var _getNavigationParams = (0, _$$_REQUIRE(_dependencyMap[8]).getNavigationParams)(this.props),
            url = _getNavigationParams.url;

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).BaseWebView, {
          source: {
            uri: url
          },
          progressColor: (0, _$$_REQUIRE(_dependencyMap[10]).getEventColor)(),
          browser: true
        });
      }
    }]);
    return EventWebScreen;
  }(_$$_REQUIRE(_dependencyMap[8]).NavigationBaseScreen);

  exports.EventWebScreen = EventWebScreen;
},2579,[5,7,8,90,12,14,16,17,2148,1894,2474]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.useIsPortrait = useIsPortrait;
  exports.useDidUpdate = useDidUpdate;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function useIsPortrait() {
    var _React$useState = _react.default.useState(_deviceUtils.default.isPortrait()),
        _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
        isPortrait = _React$useState2[0],
        setIsPortrait = _React$useState2[1];

    var onOrientationChange;

    _react.default.useEffect(function () {
      onOrientationChange = _$$_REQUIRE(_dependencyMap[5]).EventRegister.on(_events.default.ON_ORIENTATION_CHANGE, function (_ref) {
        var orientation = _ref.orientation;
        setIsPortrait(_deviceUtils.default.isPortrait(orientation));
      });
      return function () {
        _$$_REQUIRE(_dependencyMap[5]).EventRegister.rm(onOrientationChange);
      };
    }, []);

    return isPortrait;
  }

  function useDidUpdate(onDidUpdate) {
    var watcher = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
    var didMountRef = (0, _react.useRef)(false);
    (0, _react.useEffect)(function () {
      if (didMountRef.current) {
        onDidUpdate();
      }

      didMountRef.current = true;
    }, watcher);
  }
},2580,[5,41,17,460,458,572]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2581,[2582]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.TutorialScreen = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _RssIndexConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _viewPagerComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var TutorialScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(TutorialScreen, _NavigationBaseScreen);

    var _super = _createSuper(TutorialScreen);

    function TutorialScreen(props) {
      var _this;

      (0, _classCallCheck2.default)(this, TutorialScreen);

      var _DeviceUtils$getSafeA = _deviceUtils.default.getSafeAreaInsets(),
          top = _DeviceUtils$getSafeA.top;

      _this = _super.call(this, props, {
        marginTop: top
      });

      var _global$getRssIndex = global.getRssIndex(),
          tutorials = _global$getRssIndex.tutorials;

      _this.onSkipPress = _this._onSkipPress.bind((0, _assertThisInitialized2.default)(_this));

      if (tutorials && tutorials.length > 0) {
        _this.urls = tutorials;
      } else {
        _this.onSkipPress();
      }

      return _this;
    }

    (0, _createClass2.default)(TutorialScreen, [{
      key: "orientationListener",
      value: function orientationListener(orientation) {
        var marginTop = this.state.marginTop;
        (0, _get2.default)((0, _getPrototypeOf2.default)(TutorialScreen.prototype), "orientationListener", this).call(this, orientation);

        var _DeviceUtils$getSafeA2 = _deviceUtils.default.getSafeAreaInsets(),
            top = _DeviceUtils$getSafeA2.top;

        if (top !== marginTop) {
          this.setState({
            marginTop: top
          });
        }
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "Live News Tutorial";
      }
    }, {
      key: "_onSkipPress",
      value: function _onSkipPress() {
        var navigation = this.props.navigation;

        var _getNavigationParams = (0, _$$_REQUIRE(_dependencyMap[17]).getNavigationParams)(this.props),
            _getNavigationParams$ = _getNavigationParams.goBack,
            goBack = _getNavigationParams$ === undefined ? false : _getNavigationParams$;

        if (goBack) {
          navigation.goBack(null);
        } else {
          _NavigationService.default.default.reset(navigation, "DrawerNavigator");
        }
      }
    }, {
      key: "render",
      value: function render() {
        if (!this.urls || this.urls.length === 0) {
          return null;
        }

        var marginTop = this.state.marginTop;

        var _global$getRssIndex2 = global.getRssIndex(),
            actionBarBackgroundColor = _global$getRssIndex2.actionBarBackgroundColor,
            supportColor = _global$getRssIndex2.supportColor;

        return _react.default.createElement(_reactNative.View, {
          style: [_$$_REQUIRE(_dependencyMap[18]).styles.container, {
            marginTop: marginTop
          }]
        }, _react.default.createElement(_viewPagerComponent.default, {
          containerStyle: _$$_REQUIRE(_dependencyMap[18]).styles.swiper,
          showIndicators: true,
          indicatorsActiveColor: supportColor,
          indicatorsColor: actionBarBackgroundColor,
          data: this.urls,
          renderPage: function renderPage(url, index) {
            return _react.default.createElement(_imageComponent.default, {
              key: index,
              forceProgressComponent: true,
              source: {
                uri: url
              },
              indicator: _$$_REQUIRE(_dependencyMap[19]).ProgressCircle,
              indicatorProps: {
                color: actionBarBackgroundColor
              },
              style: _$$_REQUIRE(_dependencyMap[18]).styles.pageParent,
              imageStyle: {
                resizeMode: "contain"
              }
            });
          }
        }), _react.default.createElement(_fontText.default, {
          style: _$$_REQUIRE(_dependencyMap[18]).styles.text,
          onPress: this.onSkipPress
        }, global.strings("btn_skip")));
      }
    }]);
    return TutorialScreen;
  }(_$$_REQUIRE(_dependencyMap[17]).NavigationBaseScreen);

  exports.TutorialScreen = TutorialScreen;
  TutorialScreen.propTypes = {
    navigation: _propTypes.default.object
  };
},2582,[5,7,8,15,90,12,14,16,17,28,201,1879,2044,2360,588,458,1861,2148,2583,1953]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    container: {
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      flex: 1
    },
    swiper: {
      position: "absolute",
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.black,
      top: 0,
      end: 0,
      bottom: 0,
      start: 0,
      justifyContent: "center"
    },
    text: {
      position: "absolute",
      bottom: 0,
      end: 0,
      padding: 10,
      fontSize: 20,
      color: "white",
      textShadowColor: _$$_REQUIRE(_dependencyMap[1]).colors.textShadow,
      textShadowOffset: {
        width: -1,
        height: 1
      },
      textShadowRadius: 10
    },
    pageParent: {
      flex: 1,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.black
    }
  });

  exports.styles = styles;
},2583,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2584,[2585]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.SettingsScreen = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _LiveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _RssContentHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _settingButton = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _settingText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _settingDebug = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _rssBaseStyle = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[19]));

  var _tecnaviaPlatformUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SettingsScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(SettingsScreen, _NavigationBaseScreen);

    var _super = _createSuper(SettingsScreen);

    function SettingsScreen(props) {
      var _this;

      (0, _classCallCheck2.default)(this, SettingsScreen);
      _this = _super.call(this, props);
      _this.state = {
        items: []
      };
      _this.toggleLayout = _this._toggleLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.toggleStartWith = _this._toggleStartWith.bind((0, _assertThisInitialized2.default)(_this));
      _this.toggleAllowFontScaling = _this._toggleAllowFontScaling.bind((0, _assertThisInitialized2.default)(_this));
      _this.clearFavorites = _this._clearFavorites.bind((0, _assertThisInitialized2.default)(_this));
      _this.clearCache = _this._clearCache.bind((0, _assertThisInitialized2.default)(_this));
      _this.clearDatabase = _this._clearDatabase.bind((0, _assertThisInitialized2.default)(_this));
      _this.openPushSettings = _this._openPushSettings.bind((0, _assertThisInitialized2.default)(_this));
      _this.showTutorial = _this._showTutorial.bind((0, _assertThisInitialized2.default)(_this));
      _this.onForceLayoutSubStyle = _this._onForceLayoutSubStyle.bind((0, _assertThisInitialized2.default)(_this));
      _this.openUrl = _this._openUrl.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(SettingsScreen, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        return _regenerator.default.async(function componentDidMount$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                (0, _get2.default)((0, _getPrototypeOf2.default)(SettingsScreen.prototype), "componentDidMount", this).call(this);
                _context.t0 = this;
                _context.next = 4;
                return _regenerator.default.awrap(this._getItems());

              case 4:
                _context.t1 = _context.sent;
                _context.t2 = {
                  items: _context.t1
                };

                _context.t0.setState.call(_context.t0, _context.t2);

              case 7:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "Live News Settings";
      }
    }, {
      key: "handleBackButton",
      value: function handleBackButton() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(SettingsScreen.prototype), "handleBackButton", this).call(this);
        this.props.navigation.pop();
        return true;
      }
    }, {
      key: "_openUrl",
      value: function _openUrl() {
        var poweredByURL, url;
        return _regenerator.default.async(function _openUrl$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                poweredByURL = global.getMainPSetup();
                url = poweredByURL && poweredByURL.length ? poweredByURL : "https://www.newsmemory.com/";
                _context2.next = 4;
                return _regenerator.default.awrap(_tecnaviaPlatformUtils.default.openURL(url));

              case 4:
              case "end":
                return _context2.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "_retrieveCacheSize",
      value: function _retrieveCacheSize() {
        var cacheSize;
        return _regenerator.default.async(function _retrieveCacheSize$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _context3.next = 2;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.getCacheSize());

              case 2:
                cacheSize = _context3.sent;
                return _context3.abrupt("return", _$$_REQUIRE(_dependencyMap[21]).StringUtils.sizeToString(cacheSize));

              case 4:
              case "end":
                return _context3.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "_retrieveFavorites",
      value: function _retrieveFavorites() {
        var favoritesConfig = global.getRssFavoritesConfig();
        return favoritesConfig.getCount();
      }
    }, {
      key: "_onForceLayoutSubStyle",
      value: function _onForceLayoutSubStyle() {
        this._displayToast(global.strings("msg_available_next_startup"));
      }
    }, {
      key: "_toggleLayout",
      value: function _toggleLayout() {
        return global.getUserSettings().toggleLayout().text;
      }
    }, {
      key: "_fontScalingLabel",
      value: function _fontScalingLabel() {
        return global.getUserSettings().allowFontScaling ? global.strings("btn_yes") : global.strings("btn_no");
      }
    }, {
      key: "_toggleAllowFontScaling",
      value: function _toggleAllowFontScaling() {
        global.getUserSettings().toggleAllowFontScaling();
        return this._fontScalingLabel();
      }
    }, {
      key: "_startupLabel",
      value: function _startupLabel() {
        var params = (0, _$$_REQUIRE(_dependencyMap[22]).getNavigationParams)(this.props);
        var epaperLabel = params.epaperLabel || global.strings("settings_startup_epaper");
        return global.getUserSettings().startInRss ? global.strings("settings_startup_rss") : epaperLabel;
      }
    }, {
      key: "_toggleStartWith",
      value: function _toggleStartWith() {
        if (global.getUserSettings().startInRss) {
          global.getUserSettings().setNewsmemoryAsStartupMode();
        } else {
          global.getUserSettings().setRssAsStartupMode();
        }

        this._displayToast(global.strings("msg_available_next_startup"));

        return this._startupLabel();
      }
    }, {
      key: "_clearFavorites",
      value: function _clearFavorites() {
        try {
          var favoritesConfig = global.getRssFavoritesConfig();
          favoritesConfig.clearFavorites();
        } catch (err) {
          this._displayToast(global.strings("err_clear_favorites"));
        }

        return this._retrieveFavorites();
      }
    }, {
      key: "_clearCache",
      value: function _clearCache() {
        return _regenerator.default.async(function _clearCache$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                _context4.prev = 0;
                _context4.next = 3;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.clearCache());

              case 3:
                _context4.next = 8;
                break;

              case 5:
                _context4.prev = 5;
                _context4.t0 = _context4["catch"](0);

                this._displayToast(global.strings("err_clear_cache"));

              case 8:
                return _context4.abrupt("return", this._retrieveCacheSize());

              case 9:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, [[0, 5]], Promise);
      }
    }, {
      key: "_clearDatabase",
      value: function _clearDatabase() {
        var _await$global$getRssI, success;

        return _regenerator.default.async(function _clearDatabase$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                _context5.prev = 0;
                _context5.next = 3;
                return _regenerator.default.awrap(_RssContentHelper.default.deleteDatabase());

              case 3:
                _LiveConfig.default.setRssDbDeleted(true);

                this._displayToast(global.strings("database_deleted"));

                _context5.next = 7;
                return _regenerator.default.awrap(global.getRssIndexManager().init());

              case 7:
                _await$global$getRssI = _context5.sent;
                success = _await$global$getRssI.success;

                if (success) {
                  _context5.next = 11;
                  break;
                }

                throw new Error("Unable to reset RSS configuration");

              case 11:
                _context5.next = 16;
                break;

              case 13:
                _context5.prev = 13;
                _context5.t0 = _context5["catch"](0);

                this._displayToast(global.strings("err_clear_database"));

              case 16:
              case "end":
                return _context5.stop();
            }
          }
        }, null, this, [[0, 13]], Promise);
      }
    }, {
      key: "_openPushSettings",
      value: function _openPushSettings() {
        _$$_REQUIRE(_dependencyMap[23]).NativeSettingsNavigation.appNotificationSettings();
      }
    }, {
      key: "_showTutorial",
      value: function _showTutorial() {
        var navigation = this.props.navigation;
        navigation.navigate("TutorialScreen", {
          goBack: true
        });
      }
    }, {
      key: "_renderSeparator",
      value: function _renderSeparator() {
        return _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[24]).styles.separator
        });
      }
    }, {
      key: "_displayToast",
      value: function _displayToast(msg) {
        _$$_REQUIRE(_dependencyMap[25]).Toast.show(msg, {
          position: "top"
        });
      }
    }, {
      key: "_getItems",
      value: function _getItems() {
        var _global$getActivePSet, newsMemoryIsEnabled, showToggleLayout, items;

        return _regenerator.default.async(function _getItems$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                _global$getActivePSet = global.getActivePSetup(), newsMemoryIsEnabled = _global$getActivePSet.newsMemoryIsEnabled;
                showToggleLayout = global.getRssIndex().needToShowLayoutButton();
                items = [showToggleLayout ? _react.default.createElement(_settingButton.default, {
                  key: "0",
                  label: global.strings("layout"),
                  value: global.getUserSettings().layout.text,
                  button: global.strings("toggle"),
                  onChange: this.toggleLayout
                }) : undefined, newsMemoryIsEnabled ? _react.default.createElement(_settingButton.default, {
                  key: "1",
                  label: global.strings("start_with"),
                  value: this._startupLabel(),
                  button: global.strings("toggle"),
                  onChange: this.toggleStartWith
                }) : undefined, _react.default.createElement(_settingButton.default, {
                  key: "2",
                  label: global.strings("settings_allow_font_scaling"),
                  value: this._fontScalingLabel(),
                  button: global.strings("toggle"),
                  onChange: this.toggleAllowFontScaling
                }), _react.default.createElement(_settingButton.default, {
                  key: "3",
                  label: global.strings("favorites"),
                  button: global.strings("clear"),
                  value: this._retrieveFavorites(),
                  onChange: this.clearFavorites,
                  alert: {
                    title: global.strings("msg_clear_favorites"),
                    message: global.strings("alert_message")
                  }
                }), _react.default.createElement(_settingButton.default, {
                  key: "4",
                  label: global.strings("cache_size"),
                  button: global.strings("clear"),
                  value: this._retrieveCacheSize,
                  onChange: this.clearCache,
                  alert: {
                    title: global.strings("msg_clear_cache"),
                    message: global.strings("alert_message")
                  }
                }), _react.default.createElement(_settingButton.default, {
                  key: "5",
                  label: global.strings("database"),
                  button: global.strings("clear"),
                  onChange: this.clearDatabase,
                  alert: {
                    title: global.strings("msg_database_deleted"),
                    message: global.strings("alert_message")
                  }
                }), _react.default.createElement(_settingButton.default, {
                  key: "6",
                  label: global.strings("push_notification"),
                  button: global.strings("change"),
                  onChange: this.openPushSettings
                }), _react.default.createElement(_settingButton.default, {
                  key: "7",
                  label: global.strings("tutorial"),
                  button: global.strings("show"),
                  onChange: this.showTutorial
                }), _react.default.createElement(_settingDebug.default, {
                  key: "8",
                  numberOfTapToDebug: 3,
                  label: global.strings("version"),
                  value: _deviceUtils.default.getTextVersionName(),
                  onSublayoutChange: this.onForceLayoutSubStyle
                }), _react.default.createElement(_settingText.default, {
                  key: "9",
                  label: global.getMainPSetup().poweredBy || global.strings("powered_by"),
                  onPress: this.openUrl
                })];
                return _context6.abrupt("return", items.filter(function (item) {
                  return item !== undefined;
                }));

              case 4:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "render",
      value: function render() {
        var items = this.state.items;

        var backgroundColor = _$$_REQUIRE(_dependencyMap[26]).Css.getDefaultBackgroundColor();

        return _react.default.createElement(_reactNative.View, {
          style: [_$$_REQUIRE(_dependencyMap[24]).styles.root, {
            paddingHorizontal: (0, _rssBaseStyle.getRssHorizontalpadding)()
          }]
        }, _react.default.createElement(_reactNative.View, {
          style: [_rssBaseStyle.default.shadow, {
            flex: 1,
            backgroundColor: _$$_REQUIRE(_dependencyMap[21]).PlatformUtils.isIOS() ? _$$_REQUIRE(_dependencyMap[21]).colors.transparent : _$$_REQUIRE(_dependencyMap[21]).colors.white
          }]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[27]).TecnaviaFlatList, {
          ItemSeparatorComponent: this._renderSeparator,
          data: items,
          renderItem: function renderItem(_ref) {
            var item = _ref.item;
            return item;
          },
          style: {
            backgroundColor: backgroundColor
          }
        })));
      }
    }]);
    return SettingsScreen;
  }(_$$_REQUIRE(_dependencyMap[22]).NavigationBaseScreen);

  exports.SettingsScreen = SettingsScreen;
  SettingsScreen.propTypes = {
    navigation: _propTypes.default.shape({
      navigate: _propTypes.default.func.isRequired
    }).isRequired
  };
},2585,[5,80,7,8,15,90,12,14,16,17,28,201,458,1872,574,2207,2236,2252,2256,2039,1876,462,2148,2009,2238,1889,699,1910]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2586,[2587]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.ArticleScreen = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[12]);

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _articleContent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _articleContentTablet = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _articleScreen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _AdsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _InterstitialsHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _Paywall = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _viewPagerComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var InterstitialsKeysAndValues = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[22]));

  var _articleContentBase = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[23]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[24]));

  var _player = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[25]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[26]));

  var _keyboardAvoidingComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[27]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var _OptionalPackages$get = _optionalPackageUtils.default.getNativoAds(),
      NativoSDK = _OptionalPackages$get.NativoSDK;

  var ArticleScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(ArticleScreen, _NavigationBaseScreen);

    var _super = _createSuper(ArticleScreen);

    function ArticleScreen(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ArticleScreen);

      var _getNavigationParams = (0, _$$_REQUIRE(_dependencyMap[28]).getNavigationParams)(props),
          _getNavigationParams$ = _getNavigationParams.items,
          items = _getNavigationParams$ === undefined ? [] : _getNavigationParams$,
          _getNavigationParams$2 = _getNavigationParams.orientation,
          orientation = _getNavigationParams$2 === undefined ? "" : _getNavigationParams$2,
          _getNavigationParams$3 = _getNavigationParams.settings,
          settings = _getNavigationParams$3 === undefined ? {} : _getNavigationParams$3,
          _getNavigationParams$4 = _getNavigationParams.item,
          item = _getNavigationParams$4 === undefined ? {} : _getNavigationParams$4;

      _this = _super.call(this, props, {
        orientation: orientation
      });
      _this.settings = settings;
      _this.getTopBanner = _this._getTopBanner.bind((0, _assertThisInitialized2.default)(_this));
      _this.getInsideBanner = _this._getInsideBanner.bind((0, _assertThisInitialized2.default)(_this));
      _this.onArticleRef = _this._onArticleRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onSwipe = _this._onSwipe.bind((0, _assertThisInitialized2.default)(_this));
      _this.onArticleLoadStart = _this._onArticleLoadStart.bind((0, _assertThisInitialized2.default)(_this));
      _this.onArticleLoadEnd = _this._onArticleLoadEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.onArticleUnmount = _this._onArticleUnmount.bind((0, _assertThisInitialized2.default)(_this));
      _this.sendAnalytics = _this._sendAnalytics.bind((0, _assertThisInitialized2.default)(_this));
      _this.getArticleViews = _this._getArticleViews.bind((0, _assertThisInitialized2.default)(_this));
      _this.articlesRefs = new Array(items.length);
      _this.articles = items;
      _this.currentIndex = _this._getArticleIndex(item);
      _this.nativoAdsMOAP = _this._getNativoAdsMOAP("inside");
      _this.nativoAdsMOAPExtra = _this._getNativoAdsMOAP("extra");
      _this.delayedNativoSetup = false;
      _this.articleFullscreenTimer = undefined;
      return _this;
    }

    (0, _createClass2.default)(ArticleScreen, [{
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(ArticleScreen.prototype), "componentWillUnmount", this).call(this);
        global.getAudio().ttsDestroy();

        if (this.interstitialTimer) {
          _InterstitialsHelper.default.resetTimer(this.interstitialTimer);
        }

        _$$_REQUIRE(_dependencyMap[29]).EventRegister.rm(this._onPaywallGoBackHomeListener);
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "Live News Article";
      }
    }, {
      key: "trackScreen",
      value: function trackScreen() {}
    }, {
      key: "didFocus",
      value: function didFocus() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(ArticleScreen.prototype), "didFocus", this).call(this);
        this.sendAnalytics(this.articles[this.currentIndex]);
      }
    }, {
      key: "orientationListener",
      value: function orientationListener(orientation) {
        (0, _get2.default)((0, _getPrototypeOf2.default)(ArticleScreen.prototype), "orientationListener", this).call(this, orientation);
        this.setState({
          orientation: orientation
        });
      }
    }, {
      key: "_sendAnalytics",
      value: function _sendAnalytics(article) {
        var _this2 = this;

        if (this.articleFullscreenTimer) {
          clearTimeout(this.articleFullscreenTimer);
        }

        this.articleFullscreenTimer = setTimeout(function () {
          (0, _$$_REQUIRE(_dependencyMap[30]).sendToAnalytics)((0, _extends2.default)({
            event_action: "fullscreen",
            screen_name: _this2.getTag()
          }, article));
          _this2.articleFullscreenTimer = undefined;
        }, _$$_REQUIRE(_dependencyMap[31]).ARTICLE_READ_ANALYTICS_COOL_DOWN);
      }
    }, {
      key: "handleBackButton",
      value: function handleBackButton() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(ArticleScreen.prototype), "handleBackButton", this).call(this);
        var navigation = this.props.navigation;
        navigation.pop();
        return true;
      }
    }, {
      key: "_getNativoAdsMOAP",
      value: function _getNativoAdsMOAP() {
        var position = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "inside";

        if (this.settings && this.settings.adUnitId) {
          var configuration = {
            screen: "article",
            position: position,
            type: "native",
            provider: "nativo",
            caller: this.getTag()
          };

          var model = _AdsHelper.default.getModelFromConfiguration(this.settings.adUnitId, configuration);

          if (model) {
            var unitId = model.unitId,
                provider = model.provider;

            if (provider === InterstitialsKeysAndValues.values.provider.nativo) {
              return unitId;
            }
          }
        }

        return undefined;
      }
    }, {
      key: "_getArticleViews",
      value: function _getArticleViews(article, index) {
        var navigation = this.props.navigation;
        var orientation = this.state.orientation;

        var _DeviceUtils$getSafeA = _deviceUtils.default.getSafeArea(),
            width = _DeviceUtils$getSafeA.width;

        var articleProps = {
          key: article.feedId,
          isCurrentPage: index === this.currentIndex,
          index: index,
          onRef: this.onArticleRef,
          item: article,
          size: this.articles.length,
          orientation: orientation,
          navigation: navigation,
          onBackPress: this.onHandleBackButton,
          loadUrlInArticle: article.action.hasPropertyLoadUrlInArticle(),
          renderInsideBanner: this.getInsideBanner,
          renderTopBanner: this.getTopBanner,
          nativoAdsMOAP: this.nativoAdsMOAP,
          onLoadStart: this.onArticleLoadStart,
          onLoadEnd: this.onArticleLoadEnd,
          onUnmount: this.onArticleUnmount
        };

        var _global$getRssIndex = global.getRssIndex(),
            hasColumnizer = _global$getRssIndex.hasColumnizer,
            usePhoneArticleStyleOnTablet = _global$getRssIndex.usePhoneArticleStyleOnTablet;

        if (_$$_REQUIRE(_dependencyMap[32]).PlatformUtils.isTablet() && !usePhoneArticleStyleOnTablet) {
          return _react.default.createElement(_articleContentTablet.default, (0, _extends2.default)({
            hasColumnizer: hasColumnizer
          }, articleProps));
        }

        var adJSON;

        if (this.settings) {
          adJSON = this.settings.adUnitId;
        }

        var bottom = 0;

        var model = _AdsHelper.default.getModelFromConfiguration(adJSON, {
          screen: "article",
          position: "bottom"
        });

        if (model && model.collapsable) {
          bottom = 30;
        }

        var insideAdModels = _AdsHelper.default.getModelsFromConfiguration(adJSON, {
          screen: "article",
          position: "inside"
        });

        return _react.default.createElement(_articleContent.default, (0, _extends2.default)({
          width: width,
          bottom: bottom,
          insideAdModels: insideAdModels
        }, articleProps));
      }
    }, {
      key: "_getArticleIndex",
      value: function _getArticleIndex(current) {
        if (current) {
          return this.articles.findIndex(function (article) {
            return article.feedId === current.feedId;
          });
        }

        return 0;
      }
    }, {
      key: "_getBanner",
      value: function _getBanner(configuration, _onLayout) {
        var adJSON;

        if (this.settings) {
          adJSON = this.settings.adUnitId;
        }

        var backgroundColor = global.getAdsConfig().getBackgroundColor();
        return _react.default.createElement(_reactNative.View, {
          style: {
            alignItems: "center",
            backgroundColor: backgroundColor
          },
          onLayout: function onLayout(e) {
            if (_onLayout) {
              _onLayout(e);
            }
          }
        }, _AdsHelper.default.getAdComponentFromConfiguration(adJSON, configuration));
      }
    }, {
      key: "_onArticleRef",
      value: function _onArticleRef(ref, index) {
        this.articlesRefs[index] = ref;

        if (index === this.currentIndex && this.delayedNativoSetup) {
          this._updateNativeIds(index);

          this.delayedNativoSetup = false;
        }
      }
    }, {
      key: "_onArticleLoadStart",
      value: function _onArticleLoadStart(index) {}
    }, {
      key: "_onArticleLoadEnd",
      value: function _onArticleLoadEnd(index) {
        if (index === this.currentIndex && this.articlesRefs[index]) {
          if (this.nativoAdsMOAP) {
            this._placeNativoMOAPAd(this.nativoAdsMOAP);
          } else if (this.nativoAdsMOAPExtra && this.articlesRefs[index].nativoMOAPWebView) {
            this._placeNativoMOAPAd(this.nativoAdsMOAPExtra);
          }
        }
      }
    }, {
      key: "_onArticleUnmount",
      value: function _onArticleUnmount(index) {
        this.articlesRefs[index] = undefined;
      }
    }, {
      key: "_getInsideBanner",
      value: function _getInsideBanner(ad) {
        return _AdsHelper.default.getNativeAdComponent(ad);
      }
    }, {
      key: "_getTopBanner",
      value: function _getTopBanner(onLayout) {
        return this._getBanner({
          screen: "article",
          position: "top",
          caller: this.getTag()
        }, onLayout);
      }
    }, {
      key: "_getBottomBanner",
      value: function _getBottomBanner(onLayout) {
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[33]).FooterBanner, {
          item: this.settings,
          configuration: {
            screen: "article",
            position: "bottom",
            caller: this.getTag()
          },
          onLayout: onLayout
        });
      }
    }, {
      key: "_onSwipe",
      value: function _onSwipe(index) {
        var _this3 = this;

        if (this.articles && this.articles.length > index) {
          var article = this.articles[index];
          var source = article.source;

          if (this.currentIndex !== index) {
            this.sendAnalytics(article);
            global.getAudio().ttsStop();

            if (this._onPaywallGoBackHomeListener === undefined) {
              this._onPaywallGoBackHomeListener = _$$_REQUIRE(_dependencyMap[29]).EventRegister.on(_events.default.PAYWALL_GO_BACK_HOME, function () {
                _NavigationService.default.default.reset(_this3.props.navigation, "DrawerNavigator");
              });
            }

            _Paywall.default.validate(source);
          }
        }

        if (this.currentIndex !== index) {
          _InterstitialsHelper.default.getInterstitial(function (timer) {
            _this3.interstitialTimer = timer;
          });
        }

        this.articlesRefs.forEach(function (ref) {
          if (ref && typeof ref.updateCurrent === "function") {
            ref.updateCurrent(index);
          }
        });

        this._updateNativeIds(index);

        this.currentIndex = index;
      }
    }, {
      key: "_updateNativeIds",
      value: function _updateNativeIds(index) {
        var articlesSet, i, ref, _i, _ref;

        return _regenerator.default.async(function _updateNativeIds$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!_optionalPackageUtils.default.isNativoSDKAvailable()) {
                  _context.next = 35;
                  break;
                }

                if (!this.articlesRefs) {
                  _context.next = 35;
                  break;
                }

                this.delayedNativoSetup = false;
                articlesSet = this.articlesRefs.filter(function (article) {
                  return !!article;
                });
                this.delayedNativoSetup = articlesSet.length === 0;

                if (!this.nativoAdsMOAP) {
                  _context.next = 21;
                  break;
                }

                i = 0;

              case 7:
                if (!(i < this.articlesRefs.length)) {
                  _context.next = 15;
                  break;
                }

                ref = this.articlesRefs[i];

                if (!ref) {
                  _context.next = 12;
                  break;
                }

                _context.next = 12;
                return _regenerator.default.awrap(ref.setNativeID("article_" + i));

              case 12:
                i++;
                _context.next = 7;
                break;

              case 15:
                if (!this.articlesRefs[index]) {
                  _context.next = 19;
                  break;
                }

                _context.next = 18;
                return _regenerator.default.awrap(this.articlesRefs[index].setNativeID("nativoMoapAdView"));

              case 18:
                if (this.articlesRefs[index].pageLoaded) {
                  this._placeNativoMOAPAd(this.nativoAdsMOAP, true);
                }

              case 19:
                _context.next = 35;
                break;

              case 21:
                if (!this.nativoAdsMOAPExtra) {
                  _context.next = 35;
                  break;
                }

                _i = 0;

              case 23:
                if (!(_i < this.articlesRefs.length)) {
                  _context.next = 31;
                  break;
                }

                _ref = this.articlesRefs[_i];

                if (!(_ref && _ref.nativoMOAPWebView)) {
                  _context.next = 28;
                  break;
                }

                _context.next = 28;
                return _regenerator.default.awrap(_ref.nativoMOAPWebView.setNativeID("article_" + _i));

              case 28:
                _i++;
                _context.next = 23;
                break;

              case 31:
                if (!(this.articlesRefs[index] && this.articlesRefs[index].nativoMOAPWebView)) {
                  _context.next = 35;
                  break;
                }

                _context.next = 34;
                return _regenerator.default.awrap(this.articlesRefs[index].nativoMOAPWebView.setNativeID("nativoMoapAdView"));

              case 34:
                if (this.articlesRefs[index].pageLoaded) {
                  this._placeNativoMOAPAd(this.nativoAdsMOAPExtra, true);
                }

              case 35:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_placeNativoMOAPAd",
      value: function _placeNativoMOAPAd(sectionURL, delayed) {
        if (_optionalPackageUtils.default.isNativoSDKAvailable()) {
          if (global.isDebug && !sectionURL.includes("ntv_tm=tout")) {
            sectionURL += "/?ntv_tm=tout";
          }

          if (delayed) {
            setTimeout(function () {
              NativoSDK.placeAdInWebView(sectionURL);
            }, 500);
          } else {
            NativoSDK.placeAdInWebView(sectionURL);
          }
        }
      }
    }, {
      key: "render",
      value: function render() {
        var keyboardProps = {};

        if (_$$_REQUIRE(_dependencyMap[32]).PlatformUtils.isIOS()) {
          var _DeviceUtils$getSafeA2 = _deviceUtils.default.getSafeAreaInsets(),
              top = _DeviceUtils$getSafeA2.top;

          keyboardProps = {
            behavior: "position",
            contentContainerStyle: {
              flex: 1
            },
            keyboardVerticalOffset: top
          };
        }

        return _react.default.createElement(_reactNative.View, {
          style: _articleScreen.default.root
        }, _react.default.createElement(_keyboardAvoidingComponent.default, keyboardProps, _react.default.createElement(_$$_REQUIRE(_dependencyMap[34]).Css, {
          classes: ["article-pager"]
        }, _react.default.createElement(_viewPagerComponent.default, {
          containerStyle: [_articleScreen.default.swiper, {
            backgroundColor: _$$_REQUIRE(_dependencyMap[34]).Css.getDefaultBackgroundColor()
          }],
          data: this.articles,
          startPage: this.currentIndex,
          onPageChange: this.onSwipe,
          renderPage: this.getArticleViews
        })), this._getBottomBanner(), global.getAudio() ? _react.default.createElement(_player.default, global.getAudio().ttsPlayerProps()) : null));
      }
    }]);
    return ArticleScreen;
  }(_$$_REQUIRE(_dependencyMap[28]).NavigationBaseScreen);

  exports.ArticleScreen = ArticleScreen;
  ArticleScreen.propTypes = {
    renderInsideBanner: _propTypes.default.func,
    navigation: _propTypes.default.shape({
      state: _propTypes.default.shape({
        params: _propTypes.default.shape({
          items: _propTypes.default.array,
          item: _propTypes.default.object,
          orientation: _propTypes.default.string,
          settings: _propTypes.default.object
        })
      })
    })
  };
},2587,[5,80,6,7,8,15,90,12,14,16,17,201,28,460,2588,2605,2609,458,2087,2321,1862,2360,1973,2589,731,1996,1861,1870,2148,572,2210,1892,462,2084,699]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[9]);

  var _articleContentBase = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var getHeaderHeight = function getHeaderHeight() {
    var style = _$$_REQUIRE(_dependencyMap[11]).Css.getStyleObjByCssClasses(["article-header"]);

    return style.height || (0, _$$_REQUIRE(_dependencyMap[12]).HEADER_HEIGHT)();
  };

  var ArticleContent = function (_ArticleContentBase) {
    (0, _inherits2.default)(ArticleContent, _ArticleContentBase);

    var _super = _createSuper(ArticleContent);

    function ArticleContent(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ArticleContent);
      _this = _super.call(this, props, {
        parallaxHeight: props.item.image ? getHeaderHeight() : 0
      });
      _this.getHeader = _this._getHeader.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(ArticleContent, [{
      key: "_getHeader",
      value: function _getHeader() {
        var _this2 = this;

        var _this$props = this.props,
            item = _this$props.item,
            width = _this$props.width;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).ArticleContentHeader, {
          item: item,
          onImagePress: this.onPress,
          onImageError: function onImageError() {
            _this2.setState({
              parallaxHeight: 0
            });
          },
          width: width,
          height: getHeaderHeight()
        });
      }
    }, {
      key: "render",
      value: function render() {
        var startDegree = _$$_REQUIRE(_dependencyMap[14]).PlatformUtils.isRTL() ? 270 : 180;
        var endDegree = _$$_REQUIRE(_dependencyMap[14]).PlatformUtils.isRTL() ? 0 : 270;
        var _this$props2 = this.props,
            item = _this$props2.item,
            width = _this$props2.width,
            bottom = _this$props2.bottom;
        var parallaxHeight = this.state.parallaxHeight;

        var _global$getRssIndex = global.getRssIndex(),
            floatingButtonColor = _global$getRssIndex.floatingButtonColor;

        var backgroundColor = _$$_REQUIRE(_dependencyMap[11]).Css.getDefaultBackgroundColor();

        return _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
          classes: ["article-container"]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).ParallaxScroll, {
          onLayout: this.onScrollLayout,
          onScroll: this.onScroll,
          width: width,
          parallaxHeight: parallaxHeight,
          renderParallaxBackground: this.getHeader
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).ArticleContentHeadline, {
          date: item.date,
          title: item.title,
          kicker: item.kicker,
          byline: item.byline,
          renderTopBanner: this.getTopBanner,
          onBylinePress: this.onBylinePress
        }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).Css, {
          classes: ["article-body"]
        }, _react.default.createElement(_reactNative.View, {
          style: {
            flexDirection: "column",
            backgroundColor: backgroundColor
          }
        }, this._getWebViewWithContent(item), this._getResources(item), this._getNativeAds(), this._getPaywallContainer())))), _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).CircularFloatingActionMenu, {
          style: {
            bottom: bottom,
            justifyContent: "flex-end"
          },
          startDegree: startDegree,
          endDegree: endDegree,
          itemSize: 50,
          buttonColor: floatingButtonColor,
          innerText: this.getInnerText,
          item: item
        }));
      }
    }]);
    return ArticleContent;
  }(_articleContentBase.default);

  ArticleContent.propTypes = {
    item: _propTypes.default.object,
    width: _propTypes.default.number,
    bottom: _propTypes.default.number
  };
  var _default = ArticleContent;
  exports.default = _default;
},2588,[5,7,8,15,12,14,16,17,201,28,2589,699,2217,2593,462,2595,2597,2600]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _reactNativeMail = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _iconGallery = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[12]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var parser = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[14]));

  var _articleAdContainer = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _Resource = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[16]));

  var InterstitialsKeysAndValues = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[17]));

  var _Paywall = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _autoheightRssOptionspageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _styleUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ViafouraWebView = _optionalPackageUtils.default.getViafouraWebView();

  var ArticleContentBase = function (_React$PureComponent) {
    (0, _inherits2.default)(ArticleContentBase, _React$PureComponent);

    var _super = _createSuper(ArticleContentBase);

    function ArticleContentBase(props) {
      var _this;

      var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
      (0, _classCallCheck2.default)(this, ArticleContentBase);
      _this = _super.call(this, props);
      var source = props.item.source;
      _this.state = (0, _extends2.default)({}, state, {
        truncate: _Paywall.default.needToAppendPaywall(source)
      });
      _this.scrollHeight = 0;
      _this.innerText = "";
      _this.scrollEventThrottle = 16;
      _this.pageLoaded = false;
      _this.isCurrentPage = props.isCurrentPage;
      _this.onPress = _this._onPress.bind((0, _assertThisInitialized2.default)(_this));
      _this.onBylinePress = _this._onBylinePress.bind((0, _assertThisInitialized2.default)(_this));
      _this.getIcon = _this._getIcon.bind((0, _assertThisInitialized2.default)(_this));
      _this.getInnerText = _this._getInnerText.bind((0, _assertThisInitialized2.default)(_this));
      _this.getTopBanner = _this._getTopBanner.bind((0, _assertThisInitialized2.default)(_this));
      _this.onHeightChange = _this._onHeightChange.bind((0, _assertThisInitialized2.default)(_this));
      _this.openLink = _this._openLink.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLocal = _this._onLocal.bind((0, _assertThisInitialized2.default)(_this));
      _this.onMessage = _this._onMessage.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLoadStart = _this._onLoadStart.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLoadEnd = _this._onLoadEnd.bind((0, _assertThisInitialized2.default)(_this));
      _this.onRef = _this._onRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onViafouraRef = _this._onViafouraRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onNativoMOAPRef = _this._onNativoMOAPRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onNativoMOAPContainerRef = _this._onNativoMOAPContainerRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onTopStoryRef = _this._onTopStoryRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onPaywallWebViewRef = _this._onPaywallWebViewRef.bind((0, _assertThisInitialized2.default)(_this));
      _this.onScrollLayout = _this._onScrollLayout.bind((0, _assertThisInitialized2.default)(_this));
      _this.onScroll = _this._onScroll.bind((0, _assertThisInitialized2.default)(_this));
      _this.onLoad = _this._onLoad.bind((0, _assertThisInitialized2.default)(_this));
      _this.onBaseWebViewRef = _this._onBaseWebViewRef.bind((0, _assertThisInitialized2.default)(_this));

      if (typeof props.onRef === "function") {
        props.onRef((0, _assertThisInitialized2.default)(_this), props.index);
      }

      return _this;
    }

    (0, _createClass2.default)(ArticleContentBase, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        this.toggleFont = _$$_REQUIRE(_dependencyMap[22]).EventRegister.on(_events.default.TOGGLE_FULLSCREEN_FONT_SIZE, function () {
          _this2._updateWebviewFontSize();
        });
        this.systemFontSizeChanged = _$$_REQUIRE(_dependencyMap[22]).EventRegister.on(_events.default.SYSTEM_FONT_SIZE_CHANGED, function () {
          _this2._updateWebviewFontSize();
        });
        this.orientationListener = _$$_REQUIRE(_dependencyMap[22]).EventRegister.on(_events.default.ON_ORIENTATION_CHANGE, function () {
          _this2._getLoadedAds();
        });
        this.paywallReload = _$$_REQUIRE(_dependencyMap[22]).EventRegister.on(_events.default.PAYWALL_USER_STATUS_UPDATE, function () {
          var item = _this2.props.item;
          var source = item.source;

          _this2.setState({
            truncate: _Paywall.default.needToAppendPaywall(source)
          });
        });
        this.paywallValidate = _$$_REQUIRE(_dependencyMap[22]).EventRegister.on(_events.default.PAYWALL_VALIDATE, function (_ref) {
          var ACI = _ref.ACI,
              validated = _ref.validated;
          var item = _this2.props.item;
          var source = item.source;

          if (source === ACI) {
            _this2.setState({
              truncate: !validated
            });
          }
        });
        this.changeAdsVisibility = _$$_REQUIRE(_dependencyMap[22]).EventRegister.on(_events.default.CHANGE_ADS_VISIBILITY, function (_ref2) {
          var hideAds = _ref2.hideAds;

          _this2._changeAdsVisibility(hideAds);
        });
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        var _this$props = this.props,
            onUnmount = _this$props.onUnmount,
            index = _this$props.index;

        if (onUnmount) {
          onUnmount(index);
        }

        _$$_REQUIRE(_dependencyMap[22]).EventRegister.rm(this.toggleFont);

        _$$_REQUIRE(_dependencyMap[22]).EventRegister.rm(this.systemFontSizeChanged);

        _$$_REQUIRE(_dependencyMap[22]).EventRegister.rm(this.orientationListener);

        _$$_REQUIRE(_dependencyMap[22]).EventRegister.rm(this.paywallReload);

        _$$_REQUIRE(_dependencyMap[22]).EventRegister.rm(this.paywallValidate);

        _$$_REQUIRE(_dependencyMap[22]).EventRegister.rm(this.changeAdsVisibility);
      }
    }, {
      key: "_onScroll",
      value: function _onScroll(_ref3) {
        var nativeEvent = _ref3.nativeEvent;
        var item = this.props.item;
        var yOffset = nativeEvent.contentOffset.y;

        _$$_REQUIRE(_dependencyMap[22]).EventRegister.emit(_events.default.ARTICLE_SCROLL, {
          id: item.feedId,
          scrollYOffset: yOffset
        });
      }
    }, {
      key: "_onScrollLayout",
      value: function _onScrollLayout(_ref4) {
        var nativeEvent = _ref4.nativeEvent;
        var item = this.props.item;
        var height = nativeEvent.layout.height;

        if (this.articleWebView && this.articleWebView.getHeight() === 0) {
          this.articleWebView.updateHeight(height);
        }

        _$$_REQUIRE(_dependencyMap[22]).EventRegister.emit(_events.default.ARTICLE_SCROLL_LAYOUT, {
          id: item.feedId,
          scrollHeight: height
        });
      }
    }, {
      key: "_handleAutoHeightWebViewsCheck",
      value: function _handleAutoHeightWebViewsCheck(webViews) {
        var _this3 = this;

        webViews.forEach(function (webview) {
          if (webview) {
            if (_this3.isCurrentPage) {
              webview.startHeightCheck();
            } else {
              webview.stopHeightCheck();
            }
          }
        });
      }
    }, {
      key: "updateCurrent",
      value: function updateCurrent(currentIndex) {
        var index = this.props.index;
        this.isCurrentPage = currentIndex === index;

        if (this.viafouraRef) {
          if (this.isCurrentPage && this.pageLoaded) {
            this.viafouraRef.show();
          } else if (this.viafouraRef) {
            this.viafouraRef.hide();
          }
        }

        this._handleAutoHeightWebViewsCheck([this.articleWebView, this.topStoryWebView, this.nativoMOAPAutoHeightWebView, this.paywallWebView]);
      }
    }, {
      key: "setNativeID",
      value: function setNativeID(id) {
        var nativoAdsMOAP;
        return _regenerator.default.async(function setNativeID$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                nativoAdsMOAP = this.props.nativoAdsMOAP;

                if (!(this.webView && nativoAdsMOAP)) {
                  _context.next = 3;
                  break;
                }

                return _context.abrupt("return", this.webView.setNativeID(id));

              case 3:
                return _context.abrupt("return", Promise.resolve());

              case 4:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "getNativeID",
      value: function getNativeID() {
        if (this.webView) {
          return this.webView.getNativeID();
        }

        return undefined;
      }
    }, {
      key: "_getHtmlSummary",
      value: function _getHtmlSummary(summary) {
        var _global$getRssIndex = global.getRssIndex(),
            summaryInArticleBody = _global$getRssIndex.summaryInArticleBody;

        if (summaryInArticleBody && summary) {
          return "<div class='summary'>" + summary + "</div>";
        }

        return "";
      }
    }, {
      key: "_getCustomFontFace",
      value: function _getCustomFontFace() {
        var _global$getFontsConfi = global.getFontsConfig(),
            fontRegular = _global$getFontsConfi.fontRegular,
            fontBold = _global$getFontsConfi.fontBold,
            dynamicFonts = _global$getFontsConfi.mappedDynamicFonts;

        return (0, _$$_REQUIRE(_dependencyMap[23]).generateAssetsFontCss)(fontRegular, fontBold, dynamicFonts);
      }
    }, {
      key: "_getCommonCss",
      value: function _getCommonCss(fontSize) {
        var _global$getRssIndex2 = global.getRssIndex(),
            articleBgColor = _global$getRssIndex2.articleBgColor;

        var articleBodyStyle = _$$_REQUIRE(_dependencyMap[24]).Css.getStyleObjByCssClasses(["article-body"]);

        var backgroundColor = articleBodyStyle.backgroundColor || _styleUtils.default.fixColorForDarkTheme(articleBgColor);

        var foregroundColor = articleBodyStyle.color || _$$_REQUIRE(_dependencyMap[25]).colors.grey1000;

        var _global$getRSSActiveP = global.getRSSActivePSetup(),
            enableArticleTextSelection = _global$getRSSActiveP.enableArticleTextSelection;

        var css = "table { font-size: 100%; }.author { font-weight: bold; border-bottom: 1px solid #7F7F7F; padding-left:80px; padding-bottom:10px; margin-bottom:10px; color:#262626; }.author, .ar_number{ text-align:right; font-weight:normal; margin:0; color:#262626; padding-top:5px }.real_text { margin-right:10px; text-align:justify; }.native_ad { margin-bottom: 10px; }" + ("#content { font-size: " + fontSize + "%; padding: 20px; background-color: " + backgroundColor + "; }") + ("#content p { margin:0; color: " + foregroundColor + "; }") + ("#content div { color: " + foregroundColor + "; }") + "a.moreLink { margin: 0px 25px; }" + "body { margin: 0 !important; background-color: transparent !important }" + "p:not(:empty) { margin: 0 0 7px; padding-bottom:10px; }";

        if (!enableArticleTextSelection) {
          css += "#content { -webkit-user-select: none; }";
        }

        return css;
      }
    }, {
      key: "_getContent",
      value: function _getContent(html, fontSize, title) {
        var hasColumnizer = this.props.hasColumnizer;
        var truncate = this.state.truncate;

        var _global$getActivePSet = global.getActivePSetup(),
            enableInStoryAdMarker = _global$getActivePSet.enableInStoryAdMarker;

        var cssTheme = _$$_REQUIRE(_dependencyMap[24]).Css.getThemeInUse();

        var themeClass = "";

        if (cssTheme) {
          themeClass = " class='" + cssTheme + "'";
        }

        if (hasColumnizer) {
          return "\n                <html dir='auto'>\n                    <head>\n                        " + this._getTagTitle(title) + "\n                        <meta name='viewport' content='initial-scale=1.0,maximum-scale=1.0'/> \n                        <script src=\"data:text/javascript;base64," + _$$_REQUIRE(_dependencyMap[26]).jQueryBase64 + "\"></script>\n                        <script src=\"data:text/javascript;base64," + _$$_REQUIRE(_dependencyMap[26]).columnizerBase64 + "\"></script>\n                        <script src=\"data:text/javascript;base64," + _$$_REQUIRE(_dependencyMap[26]).letteringBase64 + "\"></script>\n                        <style>\n                            " + this._getCustomFontFace() + "\n                            .column {\n                                margin-top:50px;\n                            }\n                            .column > div {\n                                margin:0 25px;\n                                text-align:justify;\n                                overflow:hidden;\n                            }\n                            .wide, .thin {\n                                clear:both;\n                            }\n                            img {\n                                width:180px;\n                            }\n                            #wrapper {\n                                margin: 0px 15px;\n                            }\n                            " + this._getCommonCss(fontSize) + "\n                        </style>\n                        <script type='text/javascript'>\n                            " + (0, _$$_REQUIRE(_dependencyMap[23]).getArticleTruncateFunctions)() + "\n                        </script>\n                        <script type='text/javascript'>\n                            var getLoadedAds = " + (0, _$$_REQUIRE(_dependencyMap[23]).retrieveAdPlaceholders)(enableInStoryAdMarker) + ";\n                            " + (0, _$$_REQUIRE(_dependencyMap[23]).onLoadFunctions)(true, truncate) + "\n                        </script>\n                    </head> \n                    <body " + themeClass + ">\n                        <div id='wrapper'>\n                            <div id='content' style='padding:10px; max-width:100%;'>\n                                " + html + "\n                            </div>\n                        </div>\n                        <script type='text/javascript'>\n                            window.ReactNativeWebView.postMessage(JSON.stringify((" + _$$_REQUIRE(_dependencyMap[23]).retrieveInnerText + ")()));\n                        </script>\n                    </body>\n                </html>";
        }

        return "\n            <html dir='auto'>\n                <head>\n                    " + this._getTagTitle(title) + "\n                    <meta name='viewport' content='initial-scale=1.0,maximum-scale=1.0'/> \n                    <script src=\"data:text/javascript;base64," + _$$_REQUIRE(_dependencyMap[26]).jQueryBase64 + "\"></script>\n                    <script type='text/javascript'>\n                        var getLoadedAds = " + (0, _$$_REQUIRE(_dependencyMap[23]).retrieveAdPlaceholders)(enableInStoryAdMarker) + ";\n                    </script>\n                    <script type='text/javascript'>\n                        " + (0, _$$_REQUIRE(_dependencyMap[23]).getArticleTruncateFunctions)() + "\n                        " + (0, _$$_REQUIRE(_dependencyMap[23]).onLoadFunctions)(false, truncate) + "\n                    </script>\n                    <style>\n                        " + this._getCustomFontFace() + "\n                        img{\n                            max-width:100%\n                        }\n                        " + this._getCommonCss(fontSize) + "\n                    </style>\n                </head>\n                <body " + themeClass + ">\n                <!--* DIVS for Nativo debug \"<main>\n                    <div class='content'><div>\n                    </div>\n                    <div>\n                    </div>\n                    </div>\n                    </main>\" -->\n                    <div id='content'>" + html + "</div>\n                    <script type='text/javascript'>\n                        window.ReactNativeWebView.postMessage(JSON.stringify((" + _$$_REQUIRE(_dependencyMap[23]).retrieveInnerText + ")()));\n                    </script>\n                </body>\n            </html>";
      }
    }, {
      key: "_replacePlaceholder",
      value: function _replacePlaceholder(html) {
        var newHtml = html;

        if (newHtml.includes("##width##")) {
          newHtml = newHtml.replace(/##width##px/g, "100%");
        }

        if (newHtml.includes("##height##")) {
          newHtml = newHtml.replace(/##height##/g, "500");
        }

        return newHtml;
      }
    }, {
      key: "_getTagTitle",
      value: function _getTagTitle(title) {
        return "<title>" + title + "</title>";
      }
    }, {
      key: "_getHtmlContent",
      value: function _getHtmlContent(item) {
        var summary = item.summary,
            html = item.html,
            title = item.title;

        var content = this._getHtmlSummary(summary);

        content = this._getContent(content + html, this._getFontSize(), title);
        content = this._replacePlaceholder(content);
        content = (0, _$$_REQUIRE(_dependencyMap[23]).removeWebAdsFromString)(content);
        return content;
      }
    }, {
      key: "_getHtmlSource",
      value: function _getHtmlSource(item) {
        var loadUrlInArticle = this.props.loadUrlInArticle;
        return loadUrlInArticle ? {
          uri: item.html
        } : {
          html: this._getHtmlContent(item),
          baseUrl: _$$_REQUIRE(_dependencyMap[27]).WEBVIEW_BASE_URL
        };
      }
    }, {
      key: "_updateInnerText",
      value: function _updateInnerText(innerText) {
        this.innerText = innerText;
      }
    }, {
      key: "_updateWebviewFontSizeScript",
      value: function _updateWebviewFontSizeScript() {
        var fontSize = global.getUserSettings().getFontSize();
        return "\n            try{ \n                document.getElementById('content').style.fontSize = \"" + fontSize + "%\";\n            }catch(e){}";
      }
    }, {
      key: "_updateWebviewFontSize",
      value: function _updateWebviewFontSize() {
        var loadUrlInArticle = this.props.loadUrlInArticle;

        if (this.articleWebView && !loadUrlInArticle) {
          this.articleWebView.injectJavaScript(this._updateWebviewFontSizeScript());
          this.articleWebView.recheckContentHeight();
        }
      }
    }, {
      key: "_getFontSize",
      value: function _getFontSize() {
        return global.getUserSettings().getFontSize();
      }
    }, {
      key: "_getInnerText",
      value: function _getInnerText() {
        var item = this.props.item;
        var title = item.title,
            byline = item.byline;
        var textToRead = "";

        if (title) {
          textToRead += title + "\n";
        }

        if (byline) {
          textToRead += byline + "\n";
        }

        if (this.innerText) {
          textToRead += this.innerText;
        }

        return textToRead;
      }
    }, {
      key: "_getIcon",
      value: function _getIcon() {
        var item = this.props.item;
        return _react.default.createElement(_iconGallery.default, {
          item: item,
          position: _iconGallery.PositionType.article
        });
      }
    }, {
      key: "_onPress",
      value: function _onPress() {
        var _this$props2 = this.props,
            item = _this$props2.item,
            navigation = _this$props2.navigation;
        var category = item.category,
            gallery = item.gallery,
            title = item.title;

        if (gallery.length > 0) {
          navigation.navigate("GalleryScreen", {
            items: gallery,
            category: category,
            title: title,
            caller: "live_news"
          });
        }
      }
    }, {
      key: "_onBylinePress",
      value: function _onBylinePress() {
        var byline = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";

        if (byline) {
          var regex = /[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}/g;
          var matches = byline.match(regex);

          if (matches && matches.length > 0) {
            _reactNativeMail.default.mail({
              recipients: matches,
              isHTML: false
            }, function (error) {});
          }
        }
      }
    }, {
      key: "_getTopBanner",
      value: function _getTopBanner(onLayout) {
        var renderTopBanner = this.props.renderTopBanner;
        return renderTopBanner(onLayout);
      }
    }, {
      key: "_setNativeAdsCallback",
      value: function _setNativeAdsCallback(data) {
        if (data && data.length) {
          var nativeAds = data.filter(function (ad) {
            return ad.provider !== InterstitialsKeysAndValues.values.provider.nativo;
          });
          var item = this.props.item;

          _$$_REQUIRE(_dependencyMap[22]).EventRegister.emit(_events.default.LOAD_NATIVE_ADS, {
            id: item.feedId,
            nativeAds: nativeAds
          });
        }
      }
    }, {
      key: "_getNativeAds",
      value: function _getNativeAds() {
        var _this$props3 = this.props,
            item = _this$props3.item,
            insideAdModels = _this$props3.insideAdModels;
        return _react.default.createElement(_articleAdContainer.default, {
          articleId: item.feedId,
          adModels: insideAdModels
        });
      }
    }, {
      key: "_getPaywallContainer",
      value: function _getPaywallContainer() {
        var commonProps = {
          autoHeightWebViewProps: {
            ref: this.onPaywallWebViewRef,
            disableStartAutoHeightEvaluation: !this.isCurrentPage
          }
        };

        if (_Paywall.default.needToAppendHardPaywall()) {
          return _react.default.createElement(_autoheightRssOptionspageComponent.default, (0, _extends2.default)({
            tab: _$$_REQUIRE(_dependencyMap[28]).tabs.account
          }, commonProps));
        }

        var truncate = this.state.truncate;
        var item = this.props.item;
        var source = item.source;

        if (truncate && _Paywall.default.needToAppendPaywallPopup(source)) {
          return _react.default.createElement(_$$_REQUIRE(_dependencyMap[29]).PaywallPopup, (0, _extends2.default)({
            initialRender: false,
            type: _$$_REQUIRE(_dependencyMap[30]).popupTypes.blocking,
            ACI: source,
            isAutoHeight: true
          }, commonProps));
        }

        return null;
      }
    }, {
      key: "_onHeightChange",
      value: function _onHeightChange() {
        this._getLoadedAds();
      }
    }, {
      key: "_getLoadedAds",
      value: function _getLoadedAds() {
        if (this.articleWebView) {
          this.articleWebView.injectJavaScript("if (typeof getLoadedAds === 'function') getLoadedAds();");
        }
      }
    }, {
      key: "_changeAdsVisibility",
      value: function _changeAdsVisibility(hide) {
        if (this.articleWebView) {
          this.articleWebView.injectJavaScript("$(\"div[id^='mobileRectangle_atf']\")." + (hide ? "hide" : "show") + "();");
        }
      }
    }, {
      key: "_openLink",
      value: function _openLink(url) {
        var navigation = this.props.navigation;
        return navigation.navigate("WebScreen", {
          url: url
        });
      }
    }, {
      key: "_onLocal",
      value: function _onLocal(_ref5) {
        var domain = _ref5.domain,
            getParams = _ref5.getParams;
        var _this$props4 = this.props,
            navigation = _this$props4.navigation,
            orientation = _this$props4.orientation;

        switch (domain) {
          case "openMostPopularArticle":
            var parsed = [];

            try {
              parsed = JSON.parse(getParams.data);
            } catch (e) {}

            if (parsed.length > 0) {
              var articles = (0, _$$_REQUIRE(_dependencyMap[31]).formatArticlesToDTO)(parsed);
              var clickedPosition = articles[getParams.position];
              navigation.push("ArticleScreen", {
                items: articles,
                item: clickedPosition,
                orientation: orientation
              });
            } else {
              _$$_REQUIRE(_dependencyMap[32]).Toast.show(global.strings("error_on_load_more"), {
                position: "top"
              });
            }

            break;

          case "openMostPopularGallery":
            var parseGallery = parser.rssGallery(getParams.data);

            if (parseGallery) {
              navigation.navigate("GalleryScreen", {
                items: parseGallery,
                caller: "live_news"
              });
            } else {
              _$$_REQUIRE(_dependencyMap[32]).Toast.show(global.strings("msg_empty_gallery"), {
                position: "top"
              });
            }

            break;

          case "loadGpsCoordinate":
            break;

          case "goToCategory":
            navigation.pop();
            navigation.navigate(getParams.message);
            break;
        }
      }
    }, {
      key: "_onMessage",
      value: function _onMessage(data) {
        if (data.type === "INNER_TEXT") {
          this._updateInnerText(data.content);
        } else if (data.type === "GET_NATIVE_ADS_PLACEHOLDER") {
          this._setNativeAdsCallback(data.content);
        }
      }
    }, {
      key: "_onLoad",
      value: function _onLoad() {}
    }, {
      key: "_onLoadStart",
      value: function _onLoadStart() {
        var _this$props5 = this.props,
            onLoadStart = _this$props5.onLoadStart,
            index = _this$props5.index;
        this.pageLoaded = false;

        if (this.viafouraRef) {
          this.viafouraRef.hide();
        }

        if (onLoadStart) {
          onLoadStart(index);
        }
      }
    }, {
      key: "_onLoadEnd",
      value: function _onLoadEnd() {
        var _this$props6 = this.props,
            onLoadEnd = _this$props6.onLoadEnd,
            index = _this$props6.index;

        if (this.viafouraRef && this.isCurrentPage) {
          this.viafouraRef.show();
        }

        this.pageLoaded = true;
        var isUserAdDisabled = global.getAdsConfig().isUserAdDisabled();

        if (isUserAdDisabled) {
          this._changeAdsVisibility(true);
        }

        if (onLoadEnd) {
          onLoadEnd(index);
        }
      }
    }, {
      key: "_onRef",
      value: function _onRef(ref) {
        this.articleWebView = ref;
      }
    }, {
      key: "_onBaseWebViewRef",
      value: function _onBaseWebViewRef(ref) {
        this.webView = ref;
      }
    }, {
      key: "_onViafouraRef",
      value: function _onViafouraRef(ref) {
        this.viafouraRef = ref;
      }
    }, {
      key: "_onNativoMOAPContainerRef",
      value: function _onNativoMOAPContainerRef(ref) {
        this.nativoMOAPAutoHeightWebView = ref;
      }
    }, {
      key: "_onNativoMOAPRef",
      value: function _onNativoMOAPRef(ref) {
        this.nativoMOAPWebView = ref;
      }
    }, {
      key: "_onTopStoryRef",
      value: function _onTopStoryRef(ref) {
        this.topStoryWebView = ref;
      }
    }, {
      key: "_onPaywallWebViewRef",
      value: function _onPaywallWebViewRef(ref) {
        this.paywallWebView = ref;
      }
    }, {
      key: "_getResources",
      value: function _getResources(item) {
        var _this4 = this;

        var resources = item.getResources() || [];
        var views = resources.map(function (resource, index) {
          switch (resource.getType()) {
            case _Resource.ResourceType.VIAFOURA:
              return ViafouraWebView ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
                classes: ["article-resource-viafoura"],
                key: "resource_" + index
              }, _react.default.createElement(ViafouraWebView, {
                autoHeightJs: "(" + _$$_REQUIRE(_dependencyMap[33]).checkContentHeight + ")();",
                LoadingComponent: _react.default.createElement(_$$_REQUIRE(_dependencyMap[34]).ProgressCircle, {
                  showText: true,
                  text: global.strings("msg_loading_comments")
                }),
                ref: _this4.onViafouraRef,
                url: resource.getValue(),
                onLoadingUrl: function onLoadingUrl(_ref6) {
                  var url = _ref6.url;

                  _this4._openLink(url);
                }
              })) : null;

            case _Resource.ResourceType.TOP_STORY:
              return _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
                classes: ["article-resource-top-stories"],
                key: "resource_" + index
              }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[35]).AutoHeightWebView, {
                ref: _this4.onTopStoryRef,
                onLocal: _this4.onLocal,
                source: {
                  uri: resource.getValue()
                },
                disableStartAutoHeightEvaluation: !_this4.isCurrentPage
              }));

            case _Resource.ResourceType.NATIVO_MOAP_AD:
              return _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
                classes: ["article-resource-nativo-moap"],
                key: "resource_" + index
              }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[35]).AutoHeightWebView, {
                ref: _this4.onNativoMOAPContainerRef,
                innerRef: _this4.onNativoMOAPRef,
                source: {
                  html: resource.getValue()
                },
                disableStartAutoHeightEvaluation: !_this4.isCurrentPage
              }));

            default:
              return null;
          }
        });
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[24]).Css, {
          classes: ["article-resources"]
        }, views);
      }
    }, {
      key: "_getWebViewWithContent",
      value: function _getWebViewWithContent(item) {
        var loadUrlInArticle = this.props.loadUrlInArticle;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[35]).AutoHeightWebView, {
          keyToShow: item.title,
          htmlContentId: "content",
          ref: this.onRef,
          innerRef: this.onBaseWebViewRef,
          onLoad: this.onLoad,
          onLoadStart: this.onLoadStart,
          onLoadEnd: this.onLoadEnd,
          browser: loadUrlInArticle,
          onLocal: this.onLocal,
          source: this._getHtmlSource(item),
          onHeightChange: this.onHeightChange,
          onMessage: this.onMessage,
          onLinkClicked: this.openLink,
          focusableInTouchMode: false,
          focusable: false,
          disableStartAutoHeightEvaluation: !this.isCurrentPage
        });
      }
    }]);
    return ArticleContentBase;
  }(_react.default.PureComponent);

  exports.default = ArticleContentBase;
  ArticleContentBase.propTypes = {
    index: _propTypes.default.number.isRequired,
    onRef: _propTypes.default.func.isRequired,
    item: _propTypes.default.object,
    isCurrentPage: _propTypes.default.bool.isRequired,
    loadUrlInArticle: _propTypes.default.bool,
    hasColumnizer: _propTypes.default.bool,
    navigation: _propTypes.default.shape({
      state: _propTypes.default.shape({
        params: _propTypes.default.shape({
          items: _propTypes.default.array,
          item: _propTypes.default.object
        })
      }),
      push: _propTypes.default.func,
      pop: _propTypes.default.func,
      navigate: _propTypes.default.func
    }),
    renderTopBanner: _propTypes.default.func,
    orientation: _propTypes.default.string,
    nativoAdsMOAP: _propTypes.default.string,
    onLoadStart: _propTypes.default.func,
    onLoadEnd: _propTypes.default.func,
    onUnmount: _propTypes.default.func,
    insideAdModels: _propTypes.default.arrayOf(_propTypes.default.object)
  };
  ArticleContentBase.defaultProps = {
    hasColumnizer: false,
    insideAdModels: []
  };
},2589,[5,80,6,7,8,15,12,14,16,17,201,2152,2028,460,2052,2177,1974,1973,1862,2590,731,2147,572,2185,699,462,2188,719,730,1868,1865,2051,1889,1903,1953,1901]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _IAPHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _newsmemoryUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _optionspageUtils = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[13]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var AutoHeightRssOptionspage = function (_RssOptionspage) {
    (0, _inherits2.default)(AutoHeightRssOptionspage, _RssOptionspage);

    var _super = _createSuper(AutoHeightRssOptionspage);

    function AutoHeightRssOptionspage() {
      (0, _classCallCheck2.default)(this, AutoHeightRssOptionspage);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(AutoHeightRssOptionspage, [{
      key: "_handleLocals",
      value: function _handleLocals(_ref) {
        var domain, getParams;
        return _regenerator.default.async(function _handleLocals$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                domain = _ref.domain, getParams = _ref.getParams;

                if (domain.includes(_optionspageUtils.locals.INITPAGE_SET_NEWSPAPER_AND_READ)) {
                  _$$_REQUIRE(_dependencyMap[15]).EventRegister.emit(_events.default.PAYWALL_USER_STATUS_UPDATE, {
                    loggedIn: true,
                    caption: global.strings("btn_logout")
                  });
                } else {
                  (0, _get2.default)((0, _getPrototypeOf2.default)(AutoHeightRssOptionspage.prototype), "_handleLocals", this).call(this, {
                    domain: domain,
                    getParams: getParams
                  });
                }

              case 2:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "render",
      value: function render() {
        var _this = this;

        var autoHeightWebViewProps = this.props.autoHeightWebViewProps;
        var uri = this.state.uri;

        _IAPHelper.default.resetServerCallback();

        if (!uri) {
          this._onClose();

          return null;
        }

        this._onOpen();

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).AutoHeightWebView, (0, _extends2.default)({
          innerRef: function innerRef(ref) {
            _this.baseRef = ref;
          },
          webviewRef: function webviewRef(ref) {
            _this.webview = ref;
          },
          source: {
            uri: uri
          },
          defaultHeight: 500,
          browser: true,
          progressColor: _newsmemoryUtils.default.getSpinnerColor(),
          onLocal: this.handleLocals,
          onLoading: this.onLoading,
          onLoadEnd: function onLoadEnd() {
            var currentTab = _optionspageUtils.default.getTabByURL(_this.currentUrl);

            if (currentTab) {
              _this.postMessage("{title: $('#myNavbar li.active a').html()}");
            }
          },
          onMessage: this.onMessage,
          automaticallyAdjustContentInsets: true,
          scalesPageToFit: false,
          onNavigationStateChange: function onNavigationStateChange(navState) {
            _this.canGoBack = navState.canGoBack;
            _this.currentUrl = navState.url;
          },
          enableKeyboardResize: _$$_REQUIRE(_dependencyMap[17]).PlatformUtils.isAndroid(),
          startInLoadingState: _$$_REQUIRE(_dependencyMap[18]).BaseWebView.LoadingStatePosition.none,
          userAgent: _$$_REQUIRE(_dependencyMap[17]).PlatformUtils.getUserAgent()
        }, autoHeightWebViewProps));
      }
    }]);
    return AutoHeightRssOptionspage;
  }(_$$_REQUIRE(_dependencyMap[19]).RssOptionspage);

  AutoHeightRssOptionspage.propTypes = (0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[19]).RssOptionspage.propTypes, {
    autoHeightWebViewProps: _propTypes.default.object
  });

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[20]).useNavigation)();
    return _react.default.createElement(AutoHeightRssOptionspage, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2590,[5,80,6,7,8,90,12,14,16,17,201,1934,603,730,460,572,1901,462,1894,2591,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.RssOptionspage = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _LoginManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var RssOptionspage = function (_SingleTabOptionspage) {
    (0, _inherits2.default)(RssOptionspage, _SingleTabOptionspage);

    var _super = _createSuper(RssOptionspage);

    function RssOptionspage() {
      (0, _classCallCheck2.default)(this, RssOptionspage);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(RssOptionspage, [{
      key: "_appendOthersParams",
      value: function _appendOthersParams() {
        var getParams = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var params = (0, _get2.default)((0, _getPrototypeOf2.default)(RssOptionspage.prototype), "_appendOthersParams", this).call(this, getParams);
        return (0, _extends2.default)({}, params, {
          isRss: 1
        });
      }
    }, {
      key: "_close",
      value: function _close(force) {
        var onUserClose = this.props.onUserClose;

        if (force || !onUserClose || typeof onUserClose !== "function") {
          this.setState({
            uri: null
          });
        } else {
          this.setState({
            uri: null
          }, onUserClose);
        }
      }
    }, {
      key: "_goBack",
      value: function _goBack() {
        this._close();
      }
    }, {
      key: "_handleLocals",
      value: function _handleLocals(_ref) {
        var domain, getParams, navigation;
        return _regenerator.default.async(function _handleLocals$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                domain = _ref.domain, getParams = _ref.getParams;

                if (!domain.includes(_$$_REQUIRE(_dependencyMap[14]).locals.INITPAGE_SET_NEWSPAPER_AND_READ)) {
                  _context.next = 6;
                  break;
                }

                this._close(true);

                _$$_REQUIRE(_dependencyMap[15]).EventRegister.emit(_events.default.PAYWALL_USER_STATUS_UPDATE, {
                  loggedIn: true,
                  caption: global.strings("btn_logout")
                });

                _context.next = 13;
                break;

              case 6:
                if (!domain.includes(_$$_REQUIRE(_dependencyMap[14]).locals.LOGOUT)) {
                  _context.next = 12;
                  break;
                }

                _context.next = 9;
                return _regenerator.default.awrap(_LoginManager.default.logout());

              case 9:
                _$$_REQUIRE(_dependencyMap[15]).EventRegister.emit(_events.default.PAYWALL_USER_STATUS_UPDATE, {
                  loggedIn: false
                });

                _context.next = 13;
                break;

              case 12:
                if (domain.includes(_$$_REQUIRE(_dependencyMap[14]).locals.OPEN_NATIVE_SETTINGS_SCREEN)) {
                  navigation = this.props.navigation;

                  if (navigation) {
                    navigation.navigate("GeneralSettingsScreen", {
                      module: _$$_REQUIRE(_dependencyMap[16]).GeneralSettingsModules.RSS
                    });

                    this._close();
                  }
                } else {
                  (0, _get2.default)((0, _getPrototypeOf2.default)(RssOptionspage.prototype), "_handleLocals", this).call(this, {
                    domain: domain,
                    getParams: getParams
                  });
                }

              case 13:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_getCustomStyle",
      value: function _getCustomStyle() {
        var style = this.props.style;

        var _DeviceUtils$getSafeA = _deviceUtils.default.getSafeAreaInsets(),
            top = _DeviceUtils$getSafeA.top;

        return (0, _extends2.default)({
          top: top
        }, style);
      }
    }]);
    return RssOptionspage;
  }(_$$_REQUIRE(_dependencyMap[17]).SingleTabOptionspage);

  exports.RssOptionspage = RssOptionspage;
  RssOptionspage.propTypes = (0, _extends2.default)({}, _$$_REQUIRE(_dependencyMap[17]).SingleTabOptionspage.propTypes, {
    onUserClose: _propTypes.default.func
  });

  var _default = function _default(props) {
    var navigation = (0, _$$_REQUIRE(_dependencyMap[18]).useNavigation)();
    return _react.default.createElement(RssOptionspage, (0, _extends2.default)({}, props, {
      navigation: navigation
    }));
  };

  exports.default = _default;
},2591,[5,80,6,7,8,90,12,14,16,17,201,2057,460,458,730,572,2232,2592,1002]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.SingleTabOptionspage = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _optionspageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SingleTabOptionspage = function (_BaseOptionspage) {
    (0, _inherits2.default)(SingleTabOptionspage, _BaseOptionspage);

    var _super = _createSuper(SingleTabOptionspage);

    function SingleTabOptionspage() {
      (0, _classCallCheck2.default)(this, SingleTabOptionspage);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(SingleTabOptionspage, [{
      key: "_appendOthersParams",
      value: function _appendOthersParams() {
        var getParams = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
        var params = (0, _get2.default)((0, _getPrototypeOf2.default)(SingleTabOptionspage.prototype), "_appendOthersParams", this).call(this, getParams);
        return (0, _extends2.default)({}, params, {
          hideTabs: 1
        });
      }
    }, {
      key: "_openTab",
      value: function _openTab(_ref) {
        var tab = _ref.tab,
            getParams = _ref.getParams,
            url = _ref.url,
            closeType = _ref.closeType,
            forceFullscreen = _ref.forceFullscreen;

        var isOnline = _$$_REQUIRE(_dependencyMap[9]).NetworkUtils.isOnline();

        if (isOnline) {
          var uri = _optionspageUtils.default.getTabUrl(tab, this._appendOthersParams(getParams));

          this.setState({
            uri: uri,
            closeType: closeType,
            forceFullscreen: forceFullscreen
          });
        } else {
          (0, _get2.default)((0, _getPrototypeOf2.default)(SingleTabOptionspage.prototype), "_openTab", this).call(this, {
            tab: tab,
            getParams: getParams,
            url: url,
            closeType: closeType,
            forceFullscreen: forceFullscreen
          });
        }
      }
    }]);
    return SingleTabOptionspage;
  }(_$$_REQUIRE(_dependencyMap[10]).BaseOptionspage);

  exports.SingleTabOptionspage = SingleTabOptionspage;
},2592,[5,6,7,8,90,12,14,16,730,462,2297]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.ArticleContentHeader = ArticleContentHeader;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _blurImageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _iconGallery = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _dailymotionVideoPlayerComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _styleUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function ArticleHeaderOverlay(props) {
    var item = props.item,
        hasImage = props.hasImage,
        hasVideo = props.hasVideo;
    var gallery = item.gallery;
    var galleryItem = gallery.find(function (gItem) {
      return !!gItem.caption;
    });

    var _global$getRssIndex = global.getRssIndex(),
        supportColor = _global$getRssIndex.supportColor;

    var overlayBgColor = hasImage || hasVideo ? _$$_REQUIRE(_dependencyMap[9]).colors.transparent600 : supportColor;
    var hideIcon = hasVideo && gallery && gallery.length === 1;
    return _react.default.createElement(_react.default.Fragment, null, galleryItem ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Css, {
      classes: ["article-header-image-description"]
    }, _react.default.createElement(_reactNative.View, {
      style: [_$$_REQUIRE(_dependencyMap[11]).styles.captionContainer, {
        backgroundColor: overlayBgColor
      }]
    }, galleryItem && galleryItem.caption ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Css, {
      classes: ["article-header-image-caption"]
    }, _react.default.createElement(_fontText.default, {
      numberOfLines: 2,
      style: _$$_REQUIRE(_dependencyMap[11]).styles.caption
    }, galleryItem.caption)) : null)) : null, !hideIcon ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Css, {
      classes: ["article-fixed-header"]
    }, _react.default.createElement(_iconGallery.default, {
      parentStyle: {
        position: "absolute",
        height: 40,
        width: 40,
        margin: 2
      },
      item: item,
      position: _iconGallery.PositionType.article
    })) : null);
  }

  function HeaderImage(props) {
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Css, {
      classes: ["article-header-image"]
    }, _react.default.createElement(_blurImageComponent.default, props));
  }

  function ArticleContentHeader(props) {
    var item = props.item,
        onRendered = props.onRendered,
        onImagePress = props.onImagePress,
        onImageError = props.onImageError,
        width = props.width,
        height = props.height;
    var image = item.image,
        gallery = item.gallery;

    var _global$getRssIndex2 = global.getRssIndex(),
        articleBgColor = _global$getRssIndex2.articleBgColor;

    var backgroundColor = _styleUtils.default.fixColorForDarkTheme(articleBgColor);

    var hasVideo = (0, _$$_REQUIRE(_dependencyMap[12]).galleryHasDailymotionVideo)(gallery);
    var hasImage = !hasVideo && !!image;
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Css, {
      classes: ["article-header"]
    }, _react.default.createElement(_reactNative.View, {
      style: [_$$_REQUIRE(_dependencyMap[11]).styles.container, {
        backgroundColor: backgroundColor
      }]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).Css, {
      classes: ["article-header-no-image"]
    }, _react.default.createElement(_reactNative.View, null, hasVideo ? _react.default.createElement(_reactNative.View, {
      style: {
        width: width,
        height: height
      }
    }, _react.default.createElement(_dailymotionVideoPlayerComponent.default, {
      video: gallery[0],
      style: {
        width: "100%",
        flex: 1
      }
    })) : null, hasImage ? _react.default.createElement(HeaderImage, {
      width: width,
      height: height,
      onRendered: onRendered,
      onImagePress: onImagePress,
      onImageError: onImageError,
      image: image
    }) : null, _react.default.createElement(ArticleHeaderOverlay, {
      item: item,
      hasImage: hasImage,
      hasVideo: hasVideo
    })))));
  }

  ArticleContentHeader.propTypes = {
    width: _propTypes.default.number,
    height: _propTypes.default.number,
    item: _propTypes.default.shape({
      image: _propTypes.default.string,
      gallery: _propTypes.default.array
    }),
    onRendered: _propTypes.default.func,
    onImagePress: _propTypes.default.func,
    onImageError: _propTypes.default.func
  };
},2593,[5,17,28,201,1879,2050,2028,2129,2147,462,699,2594,1975]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    container: {
      flex: 1,
      flexDirection: "column"
    },
    captionContainer: {
      position: "absolute",
      bottom: 0,
      start: 0,
      end: 0,
      backgroundColor: _$$_REQUIRE(_dependencyMap[1]).colors.transparent600
    },
    caption: {
      color: "white",
      padding: 10
    }
  });

  exports.styles = styles;
},2594,[28,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2595,[2596]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.ParallaxScroll = ParallaxScroll;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function ParallaxScroll(props) {
    var onScroll = props.onScroll,
        wrapperStyle = props.style,
        width = props.width,
        height = props.height,
        children = props.children,
        parallaxHeight = props.parallaxHeight,
        contentContainerStyle = props.contentContainerStyle,
        renderParallaxBackground = props.renderParallaxBackground,
        parallaxBackgroundScrollSpeed = props.parallaxBackgroundScrollSpeed,
        scrollViewProps = (0, _objectWithoutProperties2.default)(props, ["onScroll", "style", "width", "height", "children", "parallaxHeight", "contentContainerStyle", "renderParallaxBackground", "parallaxBackgroundScrollSpeed"]);
    var scrollY = (0, _react.useRef)(new _reactNative.Animated.Value(0));
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).TecnaviaAnimatedScrollView, (0, _extends2.default)({
      style: [{
        flex: 1,
        backgroundColor: _$$_REQUIRE(_dependencyMap[7]).colors.white
      }, wrapperStyle],
      bounces: false,
      scrollEventThrottle: 16
    }, scrollViewProps, {
      onScroll: _reactNative.Animated.event([{
        nativeEvent: {
          contentOffset: {
            y: scrollY.current
          }
        }
      }], {
        listener: function listener(e) {
          return onScroll && onScroll(e);
        },
        useNativeDriver: true
      }),
      onMoveShouldSetResponder: function onMoveShouldSetResponder() {
        return false;
      },
      onStartShouldSetResponderCapture: function onStartShouldSetResponderCapture() {
        return false;
      }
    }), _react.default.createElement(_reactNative.View, {
      style: {
        height: parallaxHeight
      }
    }), _react.default.createElement(_reactNative.Animated.View, {
      style: {
        position: "absolute",
        width: width,
        height: parallaxHeight,
        transform: [{
          translateY: !parallaxHeight ? 0 : scrollY.current.interpolate({
            inputRange: [0, parallaxHeight],
            outputRange: [0, parallaxHeight / parallaxBackgroundScrollSpeed],
            extrapolate: "extend"
          })
        }]
      }
    }, renderParallaxBackground && renderParallaxBackground()), children);
  }

  ParallaxScroll.propTypes = {
    style: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object]),
    width: _propTypes.default.number.isRequired,
    height: _propTypes.default.number,
    onScroll: _propTypes.default.func,
    contentContainerStyle: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.number, _propTypes.default.object]),
    renderParallaxBackground: _propTypes.default.func,
    parallaxHeight: _propTypes.default.number.isRequired,
    parallaxBackgroundScrollSpeed: _propTypes.default.number,
    children: _propTypes.default.any
  };
  ParallaxScroll.defaultProps = {
    style: {},
    height: window.height,
    children: null,
    onScroll: null,
    contentContainerStyle: {},
    renderParallaxBackground: null,
    parallaxBackgroundScrollSpeed: 2
  };
},2596,[5,6,108,17,28,201,1909,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2597,[2598]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.ArticleContentHeadline = ArticleContentHeadline;

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[4]));

  var _styleUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function ArticleContentHeadline(props) {
    var date = props.date,
        title = props.title,
        kicker = props.kicker,
        byline = props.byline,
        renderTopBanner = props.renderTopBanner,
        onBylinePress = props.onBylinePress;

    var _global$getRssIndex = global.getRssIndex(),
        articleBgColor = _global$getRssIndex.articleBgColor;

    var backgroundColor = _styleUtils.default.fixColorForDarkTheme(articleBgColor);

    var color = _$$_REQUIRE(_dependencyMap[6]).Css.getDefaultForegroundColor();

    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).Css, {
      classes: ["article-top-content"]
    }, _react.default.createElement(_reactNative.View, {
      style: [_$$_REQUIRE(_dependencyMap[7]).styles.container, {
        backgroundColor: backgroundColor
      }]
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).Css, {
      classes: ["article-description"]
    }, _react.default.createElement(_reactNative.View, {
      style: _$$_REQUIRE(_dependencyMap[7]).styles.description
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).Css, {
      classes: ["article-header-image-date"]
    }, _react.default.createElement(_fontText.default, {
      numberOfLines: 1,
      style: [_$$_REQUIRE(_dependencyMap[7]).styles.time, {
        color: color
      }]
    }, date)), _react.default.createElement(_reactNative.View, null, kicker ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).Css, {
      classes: ["article-kicker"]
    }, _react.default.createElement(_fontText.default, {
      type: _fontText.Type.bold,
      style: [_$$_REQUIRE(_dependencyMap[7]).styles.kicker, {
        color: color
      }]
    }, kicker)) : null, title ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).Css, {
      classes: ["article-title"]
    }, _react.default.createElement(_fontText.default, {
      type: _fontText.Type.bold,
      style: [_$$_REQUIRE(_dependencyMap[7]).styles.title, {
        color: color
      }]
    }, title)) : null), byline ? _react.default.createElement(_reactNative.View, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[6]).Css, {
      classes: ["article-byline"]
    }, _react.default.createElement(_fontText.default, {
      style: [_$$_REQUIRE(_dependencyMap[7]).styles.byline, {
        color: color
      }],
      onPress: function onPress() {
        if (typeof onBylinePress === "function") {
          onBylinePress(byline);
        }
      }
    }, byline))) : null)), renderTopBanner && renderTopBanner()));
  }

  ArticleContentHeadline.propTypes = {
    date: _propTypes.default.string,
    title: _propTypes.default.string,
    kicker: _propTypes.default.string,
    byline: _propTypes.default.string,
    renderTopBanner: _propTypes.default.func,
    onBylinePress: _propTypes.default.func
  };
  ArticleContentHeadline.defaultProps = {
    date: ""
  };
},2598,[5,17,28,201,1879,2147,699,2599]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    container: {
      flex: 1,
      flexDirection: "column"
    },
    description: {
      flexDirection: "column",
      justifyContent: "space-between",
      paddingHorizontal: 15,
      paddingTop: 15
    },
    kicker: {
      padding: 4,
      fontSize: 20
    },
    title: {
      padding: 4,
      fontSize: 24
    },
    byline: {
      fontSize: 16,
      padding: 4
    },
    time: {
      paddingHorizontal: 4
    }
  });

  exports.styles = styles;
},2599,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2600,[2601]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.CircularFloatingActionMenu = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _reactNativeShare = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _ActionButton = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _Paywall = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _circularFloatingActionMenu = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var _imageIconChooserComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var CircularFloatingActionMenu = function (_React$Component) {
    (0, _inherits2.default)(CircularFloatingActionMenu, _React$Component);

    var _super = _createSuper(CircularFloatingActionMenu);

    function CircularFloatingActionMenu(props) {
      var _this;

      (0, _classCallCheck2.default)(this, CircularFloatingActionMenu);
      _this = _super.call(this, props);
      _this.state = {
        isSpeaking: global.getAudio().ttsIsSpeaking()
      };
      return _this;
    }

    (0, _createClass2.default)(CircularFloatingActionMenu, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        var _this2 = this;

        var item = this.props.item;

        var _global$getRSSActiveP = global.getRSSActivePSetup(),
            paperName = _global$getRSSActiveP.paperName;

        var _global$getRssIndex = global.getRssIndex(),
            subject = _global$getRssIndex.customSubject;

        if (subject) {
          subject = subject.replace("##paper##", paperName);
          subject = subject.replace("##title##", item.title);
        }

        this.setState({
          subject: subject
        });
        this.ttsStart = _$$_REQUIRE(_dependencyMap[15]).EventRegister.on(_events.default.TTS_ENGINE_STARTED, function () {
          _this2.setState({
            isSpeaking: true
          });
        });
        this.ttsStop = _$$_REQUIRE(_dependencyMap[15]).EventRegister.on(_events.default.TTS_ENGINE_STOPPED, function () {
          _this2.setState({
            isSpeaking: false
          });
        });
        this.userStatusUpdate = _$$_REQUIRE(_dependencyMap[15]).EventRegister.on(_events.default.PAYWALL_USER_STATUS_UPDATE, function (_ref) {
          var caption = _ref.caption,
              loggedIn = _ref.loggedIn;

          _this2.forceUpdate();
        });
      }
    }, {
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        _$$_REQUIRE(_dependencyMap[15]).EventRegister.rm(this.ttsStart);

        _$$_REQUIRE(_dependencyMap[15]).EventRegister.rm(this.ttsStop);

        _$$_REQUIRE(_dependencyMap[15]).EventRegister.rm(this.userStatusUpdate);
      }
    }, {
      key: "_getFavoriteItem",
      value: function _getFavoriteItem() {
        var item = this.props.item;

        var _global$getRssIndex2 = global.getRssIndex(),
            supportColor = _global$getRssIndex2.supportColor;

        var favoritesConfig = global.getRssFavoritesConfig();

        var backgroundColor = _$$_REQUIRE(_dependencyMap[16]).Css.getDefaultBackgroundColor();

        return _react.default.createElement(_ActionButton.default.Item, {
          buttonColor: backgroundColor,
          onPress: function onPress() {
            favoritesConfig.toggleFavorite(item);
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).Css, {
          classes: ["article-floating-button-favorite"]
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).IconFavorite, {
          item: item,
          color: supportColor,
          eventToggleItemChecker: function eventToggleItemChecker(currentItem, params) {
            return currentItem.feedId === params.feedId;
          },
          clearFavoritesEventName: _events.default.CLEAR_FAVORITES,
          toggleFavoritesEventName: _events.default.TOGGLE_FAVORITE,
          isFavoriteChecker: function isFavoriteChecker(favorite) {
            return favoritesConfig.isFavorite(favorite);
          }
        })));
      }
    }, {
      key: "_getFontItem",
      value: function _getFontItem() {
        var _global$getRssIndex3 = global.getRssIndex(),
            supportColor = _global$getRssIndex3.supportColor;

        var backgroundColor = _$$_REQUIRE(_dependencyMap[16]).Css.getDefaultBackgroundColor();

        return _react.default.createElement(_ActionButton.default.Item, {
          buttonColor: backgroundColor,
          onPress: function onPress() {
            global.getUserSettings().toggleFontSize(false, true);
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).Css, {
          classes: ["article-floating-button-font"]
        }, _react.default.createElement(_imageIconChooserComponent.default, {
          name: "format-size",
          type: _$$_REQUIRE(_dependencyMap[18]).TecnaviaIconType.MATERIAL_COMMUNITY_ICONS,
          iconStyle: [_circularFloatingActionMenu.default.icon, {
            color: supportColor
          }]
        })));
      }
    }, {
      key: "_getTTSItem",
      value: function _getTTSItem() {
        var _this3 = this;

        var item = this.props.item;

        var _global$getRSSActiveP2 = global.getRSSActivePSetup(),
            enableTextToSpeech = _global$getRSSActiveP2.enableTextToSpeech;

        if (!enableTextToSpeech || item && _Paywall.default.shouldShowPaywall(item.source)) {
          return null;
        }

        var isSpeaking = this.state.isSpeaking;

        var _global$getRssIndex4 = global.getRssIndex(),
            supportColor = _global$getRssIndex4.supportColor;

        var backgroundColor = _$$_REQUIRE(_dependencyMap[16]).Css.getDefaultBackgroundColor();

        return _react.default.createElement(_ActionButton.default.Item, {
          buttonColor: backgroundColor,
          onPress: function onPress() {
            return _this3._tts();
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).Css, {
          classes: ["article-floating-button-tts"]
        }, _react.default.createElement(_imageIconChooserComponent.default, {
          name: isSpeaking ? "volume-high" : "volume-mute",
          type: _$$_REQUIRE(_dependencyMap[18]).TecnaviaIconType.MATERIAL_COMMUNITY_ICONS,
          iconStyle: [_circularFloatingActionMenu.default.icon, {
            color: supportColor
          }]
        })));
      }
    }, {
      key: "_tts",
      value: function _tts() {
        var innerText, isSpeaking;
        return _regenerator.default.async(function _tts$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                innerText = this.props.innerText;
                isSpeaking = this.state.isSpeaking;

                if (innerText) {
                  if (isSpeaking) {
                    global.getAudio().ttsStop();
                  } else {
                    global.getAudio().ttsStart(innerText());
                  }
                }

              case 3:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_getShareItem",
      value: function _getShareItem() {
        var _this4 = this;

        var _global$getRssIndex5 = global.getRssIndex(),
            supportColor = _global$getRssIndex5.supportColor;

        var backgroundColor = _$$_REQUIRE(_dependencyMap[16]).Css.getDefaultBackgroundColor();

        return _react.default.createElement(_ActionButton.default.Item, {
          buttonColor: backgroundColor,
          onPress: function onPress() {
            return _this4._share();
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).Css, {
          classes: ["article-floating-button-share"]
        }, _react.default.createElement(_imageIconChooserComponent.default, {
          name: "share",
          type: _$$_REQUIRE(_dependencyMap[18]).TecnaviaIconType.MATERIAL_ICONS,
          iconStyle: [_circularFloatingActionMenu.default.icon, {
            color: supportColor
          }]
        })));
      }
    }, {
      key: "_share",
      value: function _share() {
        var item = this.props.item;
        var source = item.source,
            title = item.title;
        var subject = this.state.subject;

        _reactNativeShare.default.open({
          url: source,
          title: "Share",
          subject: subject || title,
          message: title
        }).then(function (result) {}).catch(function (error) {});
      }
    }, {
      key: "_getButtonColor",
      value: function _getButtonColor() {
        var buttonColor = this.props.buttonColor;
        return _$$_REQUIRE(_dependencyMap[16]).Css.isDarkTheme() ? _$$_REQUIRE(_dependencyMap[16]).Css.getDefaultBackgroundColor() : buttonColor || _$$_REQUIRE(_dependencyMap[16]).Css.getDefaultBackgroundColor();
      }
    }, {
      key: "_getTextColor",
      value: function _getTextColor() {
        var buttonTextColor = this.props.buttonTextColor;

        var _global$getRssIndex6 = global.getRssIndex(),
            supportColor = _global$getRssIndex6.supportColor;

        var bgColor = this._getButtonColor();

        var bgIsClear = _$$_REQUIRE(_dependencyMap[19]).ColorUtils.isClearColor(bgColor);

        var supportIsClear = _$$_REQUIRE(_dependencyMap[19]).ColorUtils.isClearColor(supportColor);

        if (bgIsClear !== supportIsClear) {
          return supportColor;
        }

        if (buttonTextColor) {
          var buttonTextColorIsClear = _$$_REQUIRE(_dependencyMap[19]).ColorUtils.isClearColor(buttonTextColor);

          if (bgIsClear !== buttonTextColorIsClear) {
            return buttonTextColorIsClear;
          }
        }

        if (_$$_REQUIRE(_dependencyMap[16]).Css.isDarkTheme()) {
          return supportColor;
        }

        return _$$_REQUIRE(_dependencyMap[19]).ColorUtils.determineTextColor(bgColor);
      }
    }, {
      key: "_getPlusIcon",
      value: function _getPlusIcon() {
        var color = this._getTextColor();

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).Css, {
          classes: ["article-floating-button-plus"]
        }, _react.default.createElement(_imageIconChooserComponent.default, {
          name: "add",
          type: _$$_REQUIRE(_dependencyMap[18]).TecnaviaIconType.MATERIAL_ICONS,
          size: 24,
          style: {
            color: color
          }
        }));
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            startDegree = _this$props.startDegree,
            endDegree = _this$props.endDegree,
            itemSize = _this$props.itemSize,
            buttonTextColor = _this$props.buttonTextColor,
            style = _this$props.style;

        var buttonColor = this._getButtonColor();

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).Css, {
          classes: ["article-floating-button"]
        }, _react.default.createElement(_ActionButton.default, {
          radius: 120,
          size: 45,
          itemSize: itemSize,
          startDegree: startDegree,
          endDegree: endDegree,
          bgColor: _$$_REQUIRE(_dependencyMap[19]).colors.modalBackground,
          buttonColor: buttonColor,
          btnOutRange: buttonColor,
          buttonTextColor: buttonTextColor,
          btnOutRangeTxt: buttonTextColor,
          style: [{
            alignItems: "flex-end"
          }, style],
          icon: this._getPlusIcon()
        }, this._getShareItem(), this._getFavoriteItem(), this._getFontItem(), this._getTTSItem()));
      }
    }]);
    return CircularFloatingActionMenu;
  }(_react.default.Component);

  exports.CircularFloatingActionMenu = CircularFloatingActionMenu;
  CircularFloatingActionMenu.propTypes = {
    startDegree: _propTypes.default.number,
    endDegree: _propTypes.default.number,
    itemSize: _propTypes.default.number,
    buttonTextColor: _propTypes.default.string,
    buttonColor: _propTypes.default.string,
    item: _propTypes.default.object,
    innerText: _propTypes.default.func,
    style: _propTypes.default.any
  };
},2601,[5,80,7,8,12,14,16,17,201,575,2602,460,1862,1971,1970,572,699,2604,1806,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _ActionButtonItem = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var alignMap = {
    center: {
      alignItems: "center",
      justifyContent: "flex-end",
      startDegree: 180,
      endDegree: 360
    },
    left: {
      alignItems: "flex-start",
      justifyContent: "flex-end",
      startDegree: 270,
      endDegree: 360
    },
    right: {
      alignItems: "flex-end",
      justifyContent: "flex-end",
      startDegree: 180,
      endDegree: 270
    }
  };

  var styles = _reactNative.StyleSheet.create({
    overlay: {
      position: "absolute",
      bottom: 0,
      left: 0,
      right: 0,
      top: 0,
      backgroundColor: "transparent"
    },
    actionContainer: {
      flexDirection: "column",
      padding: 10
    },
    actionBarItem: {
      alignItems: "center",
      justifyContent: "center",
      backgroundColor: "transparent"
    },
    btn: {
      justifyContent: "center",
      alignItems: "center",
      shadowOpacity: 0.3,
      shadowOffset: {
        width: 0,
        height: 1
      },
      shadowColor: "#444",
      shadowRadius: 1
    },
    btnText: {
      marginTop: -4,
      fontSize: 24,
      backgroundColor: "transparent",
      position: "relative"
    }
  });

  var ActionButton = function (_Component) {
    (0, _inherits2.default)(ActionButton, _Component);

    var _super = _createSuper(ActionButton);

    function ActionButton(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ActionButton);
      _this = _super.call(this, props);
      _this.state = {
        active: props.active,
        anim: new _reactNative.Animated.Value(props.active ? 1 : 0)
      };
      _this.timeout = null;
      return _this;
    }

    (0, _createClass2.default)(ActionButton, [{
      key: "componentWillUnmount",
      value: function componentWillUnmount() {
        clearTimeout(this.timeout);
      }
    }, {
      key: "getActionButtonStyle",
      value: function getActionButtonStyle() {
        return [styles.actionBarItem, this.getButtonSize()];
      }
    }, {
      key: "getActionContainerStyle",
      value: function getActionContainerStyle() {
        var style = this.props.style;
        var actionContainer = styles.actionContainer,
            overlay = styles.overlay;
        return [overlay, actionContainer, style];
      }
    }, {
      key: "getActionsStyle",
      value: function getActionsStyle() {
        return [this.getButtonSize()];
      }
    }, {
      key: "getButtonSize",
      value: function getButtonSize() {
        var size = this.props.size;
        return {
          width: size,
          height: size
        };
      }
    }, {
      key: "animateButton",
      value: function animateButton() {
        var _this$state = this.state,
            active = _this$state.active,
            anim = _this$state.anim;

        if (active) {
          this.reset();
          return;
        }

        _reactNative.Animated.spring(anim, {
          toValue: 1,
          duration: 250
        }).start();

        this.setState({
          active: true
        });
      }
    }, {
      key: "reset",
      value: function reset() {
        var _this2 = this;

        var anim = this.state.anim;

        _reactNative.Animated.spring(anim, {
          toValue: 0,
          duration: 250
        }).start();

        setTimeout(function () {
          _this2.setState({
            active: false
          });
        }, 250);
      }
    }, {
      key: "renderButton",
      value: function renderButton() {
        var _this3 = this;

        var _this$props = this.props,
            size = _this$props.size,
            _onPress = _this$props.onPress,
            children = _this$props.children,
            onLongPress = _this$props.onLongPress,
            buttonColor = _this$props.buttonColor,
            btnOutRange = _this$props.btnOutRange,
            degrees = _this$props.degrees,
            outRangeScale = _this$props.outRangeScale;
        var anim = this.state.anim;
        return _react.default.createElement(_reactNative.View, {
          style: this.getActionButtonStyle()
        }, _react.default.createElement(_reactNative.TouchableOpacity, {
          activeOpacity: 0.85,
          onLongPress: onLongPress,
          onPress: function onPress() {
            _onPress();

            if (children) {
              _this3.animateButton();
            }
          }
        }, _react.default.createElement(_reactNative.Animated.View, {
          style: [styles.btn, {
            width: size,
            height: size,
            borderRadius: size / 2,
            backgroundColor: anim.interpolate({
              inputRange: [0, 1],
              outputRange: [buttonColor, btnOutRange]
            }),
            transform: [{
              scale: anim.interpolate({
                inputRange: [0, 1],
                outputRange: [1, outRangeScale]
              })
            }, {
              rotate: anim.interpolate({
                inputRange: [0, 1],
                outputRange: ["0deg", degrees + "deg"]
              })
            }]
          }]
        }, this.renderButtonIcon())));
      }
    }, {
      key: "renderButtonIcon",
      value: function renderButtonIcon() {
        var _this$props2 = this.props,
            icon = _this$props2.icon,
            buttonTextColor = _this$props2.buttonTextColor,
            btnOutRangeTxt = _this$props2.btnOutRangeTxt;
        var anim = this.state.anim;

        if (icon) {
          return icon;
        }

        return _react.default.createElement(_reactNative.Animated.Text, {
          style: [styles.btnText, {
            color: anim.interpolate({
              inputRange: [0, 1],
              outputRange: [buttonTextColor, btnOutRangeTxt]
            })
          }]
        }, "+");
      }
    }, {
      key: "renderActions",
      value: function renderActions() {
        var _this4 = this;

        var _this$props3 = this.props,
            position = _this$props3.position,
            itemSize = _this$props3.itemSize,
            radius = _this$props3.radius,
            btnOutRange = _this$props3.btnOutRange,
            autoInactive = _this$props3.autoInactive;
        var _this$props4 = this.props,
            children = _this$props4.children,
            startDegree = _this$props4.startDegree,
            endDegree = _this$props4.endDegree;
        var _this$state2 = this.state,
            active = _this$state2.active,
            anim = _this$state2.anim;
        if (!active) return null;
        startDegree = startDegree || alignMap[position].startDegree;
        endDegree = endDegree || alignMap[position].endDegree;
        var startRadian = startDegree * Math.PI / 180;
        var endRadian = endDegree * Math.PI / 180;
        children = children.filter(function (button) {
          return button;
        });

        var childrenCount = _react.default.Children.count(children);

        var offset = 0;

        if (childrenCount !== 1) {
          offset = (endRadian - startRadian) / (childrenCount - 1);
        }

        return _react.default.Children.map(children, function (button, index) {
          return _react.default.createElement(_reactNative.View, {
            pointerEvents: "box-none",
            style: _this4.getActionContainerStyle()
          }, _react.default.createElement(_ActionButtonItem.default, (0, _extends2.default)({
            key: index,
            position: position,
            anim: anim,
            size: itemSize,
            radius: radius,
            angle: startRadian + index * offset,
            btnColor: btnOutRange
          }, button.props, {
            onPress: function onPress() {
              if (autoInactive) {
                _this4.timeout = setTimeout(function () {
                  _this4.reset();
                }, 200);
              }

              button.props.onPress();
            }
          })));
        });
      }
    }, {
      key: "render",
      value: function render() {
        var _this5 = this;

        var _this$props5 = this.props,
            children = _this$props5.children,
            onOverlayPress = _this$props5.onOverlayPress,
            bgColor = _this$props5.bgColor,
            backdropProp = _this$props5.backdrop;
        var _this$state3 = this.state,
            active = _this$state3.active,
            anim = _this$state3.anim;
        var backdrop;

        if (active) {
          backdrop = _react.default.createElement(_reactNative.TouchableWithoutFeedback, {
            style: styles.overlay,
            onPress: function onPress() {
              _this5.reset();

              onOverlayPress();
            }
          }, _react.default.createElement(_reactNative.Animated.View, {
            style: {
              backgroundColor: bgColor,
              opacity: anim,
              flex: 1
            }
          }, backdropProp));
        }

        return _react.default.createElement(_reactNative.View, {
          pointerEvents: "box-none",
          style: styles.overlay
        }, backdrop, children && this.renderActions(), _react.default.createElement(_reactNative.View, {
          pointerEvents: "box-none",
          style: this.getActionContainerStyle()
        }, this.renderButton()));
      }
    }]);
    return ActionButton;
  }(_react.Component);

  exports.default = ActionButton;
  ActionButton.Item = _ActionButtonItem.default;
  ActionButton.propTypes = {
    active: _propTypes.default.bool,
    bgColor: _propTypes.default.string,
    buttonColor: _propTypes.default.string,
    buttonTextColor: _propTypes.default.string,
    btnOutRange: _propTypes.default.string,
    btnOutRangeTxt: _propTypes.default.string,
    size: _propTypes.default.number,
    itemSize: _propTypes.default.number,
    autoInactive: _propTypes.default.bool,
    onPress: _propTypes.default.func,
    onOverlayPress: _propTypes.default.func,
    onLongPress: _propTypes.default.func,
    backdrop: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.object]),
    degrees: _propTypes.default.number,
    startDegree: _propTypes.default.number,
    endDegree: _propTypes.default.number,
    radius: _propTypes.default.number,
    outRangeScale: _propTypes.default.number,
    icon: _propTypes.default.node,
    children: _propTypes.default.node,
    position: _propTypes.default.oneOf(["left", "center", "right"]),
    style: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array, _propTypes.default.number])
  };
  ActionButton.defaultProps = {
    active: false,
    bgColor: _$$_REQUIRE(_dependencyMap[11]).colors.transparent,
    buttonColor: _$$_REQUIRE(_dependencyMap[11]).colors.black,
    buttonTextColor: _$$_REQUIRE(_dependencyMap[11]).colors.white,
    position: "center",
    outRangeScale: 1,
    autoInactive: true,
    onPress: function onPress() {},
    onOverlayPress: function onOverlayPress() {},
    backdrop: false,
    degrees: 135,
    size: 63,
    itemSize: 36,
    radius: 100,
    btnOutRange: _$$_REQUIRE(_dependencyMap[11]).colors.black,
    btnOutRangeTxt: _$$_REQUIRE(_dependencyMap[11]).colors.white
  };
},2602,[5,6,7,8,12,14,16,17,28,201,2603,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var styles = _reactNative.StyleSheet.create({
    actionButton: {
      justifyContent: "center",
      alignItems: "center",
      flexDirection: "row",
      paddingTop: 2,
      shadowOpacity: 0.3,
      shadowOffset: {
        width: 0,
        height: 1
      },
      shadowColor: "#444",
      shadowRadius: 1,
      backgroundColor: "red",
      position: "absolute"
    }
  });

  var ActionButtonItem = function (_Component) {
    (0, _inherits2.default)(ActionButtonItem, _Component);

    var _super = _createSuper(ActionButtonItem);

    function ActionButtonItem() {
      (0, _classCallCheck2.default)(this, ActionButtonItem);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(ActionButtonItem, [{
      key: "render",
      value: function render() {
        var offsetX = this.props.radius * Math.cos(this.props.angle);
        var offsetY = this.props.radius * Math.sin(this.props.angle);
        return _react.default.createElement(_reactNative.Animated.View, {
          style: [{
            opacity: this.props.anim,
            width: this.props.size,
            height: this.props.size,
            transform: [{
              translateY: this.props.anim.interpolate({
                inputRange: [0, 1],
                outputRange: [0, offsetY]
              })
            }, {
              translateX: this.props.anim.interpolate({
                inputRange: [0, 1],
                outputRange: [0, offsetX]
              })
            }, {
              rotate: this.props.anim.interpolate({
                inputRange: [0, 1],
                outputRange: [this.props.startDegree + "deg", this.props.endDegree + "deg"]
              })
            }, {
              scale: this.props.anim.interpolate({
                inputRange: [0, 1],
                outputRange: [0, 1]
              })
            }]
          }]
        }, _react.default.createElement(_reactNative.TouchableOpacity, {
          style: {
            flex: 1
          },
          activeOpacity: this.props.activeOpacity || 0.85,
          onPress: this.props.onPress
        }, _react.default.createElement(_reactNative.View, {
          style: [styles.actionButton, {
            width: this.props.size,
            height: this.props.size,
            borderRadius: this.props.size / 2,
            backgroundColor: this.props.buttonColor
          }]
        }, this.props.children)));
      }
    }]);
    return ActionButtonItem;
  }(_react.Component);

  exports.default = ActionButtonItem;
  ActionButtonItem.propTypes = {
    angle: _propTypes.default.number,
    radius: _propTypes.default.number,
    buttonColor: _propTypes.default.string,
    onPress: _propTypes.default.func,
    children: _propTypes.default.node.isRequired,
    startDegree: _propTypes.default.number,
    endDegree: _propTypes.default.number
  };
  ActionButtonItem.defaultProps = {
    onPress: function onPress() {},
    startDegree: 0,
    endDegree: 720
  };
},2603,[5,7,8,12,14,16,17,28,201]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2604,[1969]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _articleContentTablet = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  var _articleContentBase = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _styleUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ArticleContentTablet = function (_ArticleContentBase) {
    (0, _inherits2.default)(ArticleContentTablet, _ArticleContentBase);

    var _super = _createSuper(ArticleContentTablet);

    function ArticleContentTablet() {
      (0, _classCallCheck2.default)(this, ArticleContentTablet);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(ArticleContentTablet, [{
      key: "_getBottomContentHTML",
      value: function _getBottomContentHTML(item) {
        var _global$getRssIndex = global.getRssIndex(),
            articleBgColor = _global$getRssIndex.articleBgColor;

        var backgroundColor = _styleUtils.default.fixColorForDarkTheme(articleBgColor);

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).TecnaviaScrollView, {
          onLayout: this.onScrollLayout,
          backgroundColor: backgroundColor,
          contentBackgroundColor: backgroundColor,
          onScroll: this.onScroll,
          scrollEventThrottle: this.scrollEventThrottle
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["article-body"]
        }, _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1,
            flexDirection: "column"
          },
          pointerEvents: "box-none"
        }, this.getTopBanner(), _react.default.createElement(_reactNative.View, {
          style: {
            flexDirection: "column"
          }
        }, this._getWebViewWithContent(item), this._getResources(item), this._getNativeAds(), this._getPaywallContainer()))));
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            item = _this$props.item,
            index = _this$props.index,
            totalItems = _this$props.size;

        var _global$getRssIndex2 = global.getRssIndex(),
            hasSquaredImage = _global$getRssIndex2.hasSquaredImage,
            articleTopColor = _global$getRssIndex2.articleTopColor;

        var startDegree = _$$_REQUIRE(_dependencyMap[14]).PlatformUtils.isRTL() ? 360 : 180;
        var endDegree = _$$_REQUIRE(_dependencyMap[14]).PlatformUtils.isRTL() ? 450 : 90;

        var headerStyle = _$$_REQUIRE(_dependencyMap[13]).Css.getStyleObjByCssClasses(["article-header"]);

        var headerHeight = headerStyle.height || _articleContentTablet.TOP_CONTENT_HEIGHT;
        return _react.default.createElement(_reactNative.View, {
          style: [_articleContentTablet.default.root, {
            backgroundColor: _$$_REQUIRE(_dependencyMap[13]).Css.getDefaultBackgroundColor()
          }]
        }, _react.default.createElement(_reactNative.View, {
          style: _articleContentTablet.default.body
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).ArticleContentTabletHeader, {
          total: totalItems,
          size: headerHeight,
          index: index,
          image: item.image,
          date: item.date,
          category: item.category,
          kicker: item.kicker,
          title: item.title,
          byline: item.byline,
          hasSquaredImage: hasSquaredImage,
          rootStyle: {
            height: headerHeight,
            backgroundColor: articleTopColor,
            paddingHorizontal: (0, _$$_REQUIRE(_dependencyMap[16]).getRssHorizontalpadding)()
          },
          onImagePress: this.onPress,
          onBylinePress: this.onBylinePress,
          renderIcon: this.getIcon
        }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).Css, {
          classes: ["article-body-parent"]
        }, _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1,
            paddingHorizontal: (0, _$$_REQUIRE(_dependencyMap[16]).getRssHorizontalpadding)()
          }
        }, this._getBottomContentHTML(item)))), _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).CircularFloatingActionMenu, {
          style: {
            top: headerHeight - _articleContentTablet.CIRCULAR_ACTION_MENU_SIZE - 15,
            right: (0, _$$_REQUIRE(_dependencyMap[16]).getRssHorizontalpadding)(),
            justifyContent: "flex-start"
          },
          startDegree: startDegree,
          endDegree: endDegree,
          itemSize: _articleContentTablet.CIRCULAR_ACTION_MENU_SIZE,
          innerText: this.getInnerText,
          item: item
        }));
      }
    }]);
    return ArticleContentTablet;
  }(_articleContentBase.default);

  exports.default = ArticleContentTablet;
  ArticleContentTablet.propTypes = {
    size: _propTypes.default.number,
    item: _propTypes.default.object,
    onBylinePress: _propTypes.default.func
  };
},2605,[5,7,8,12,14,16,17,201,28,2606,2589,2147,1909,699,462,2607,2039,2600]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.CIRCULAR_ACTION_MENU_SIZE = exports.TOP_CONTENT_HEIGHT = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var TOP_CONTENT_HEIGHT = 200;
  exports.TOP_CONTENT_HEIGHT = TOP_CONTENT_HEIGHT;
  var CIRCULAR_ACTION_MENU_SIZE = 50;
  exports.CIRCULAR_ACTION_MENU_SIZE = CIRCULAR_ACTION_MENU_SIZE;

  var _default = _reactNative.StyleSheet.create({
    root: {
      flex: 1,
      minHeight: 0
    },
    body: {
      flex: 1,
      minHeight: 0
    }
  });

  exports.default = _default;
},2606,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.ArticleContentTabletHeader = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _fontText = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[10]));

  var _imageComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _navigationUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var _doubleTextAutoMeasured = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var ArticleContentTabletHeader = function (_React$Component) {
    (0, _inherits2.default)(ArticleContentTabletHeader, _React$Component);

    var _super = _createSuper(ArticleContentTabletHeader);

    function ArticleContentTabletHeader(props) {
      var _this;

      (0, _classCallCheck2.default)(this, ArticleContentTabletHeader);
      _this = _super.call(this, props);
      _this.handleTextWrap = _this._handleTextWrap.bind((0, _assertThisInitialized2.default)(_this));
      _this.state = {
        hideBylineArea: false
      };
      return _this;
    }

    (0, _createClass2.default)(ArticleContentTabletHeader, [{
      key: "_getForegroundColor",
      value: function _getForegroundColor() {
        return _$$_REQUIRE(_dependencyMap[14]).Css.isDarkTheme() ? _$$_REQUIRE(_dependencyMap[14]).Css.getDefaultForegroundColor() : _$$_REQUIRE(_dependencyMap[15]).colors.white;
      }
    }, {
      key: "_getImage",
      value: function _getImage(uri) {
        var _this$props = this.props,
            onImagePress = _this$props.onImagePress,
            renderIcon = _this$props.renderIcon,
            size = _this$props.size,
            hasSquaredImage = _this$props.hasSquaredImage;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
          classes: ["article-header-image-parent"]
        }, _react.default.createElement(_reactNative.TouchableOpacity, {
          style: {
            width: size,
            height: size
          },
          onPress: function onPress() {
            if (typeof onImagePress === "function") {
              onImagePress();
            }
          }
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
          classes: ["article-header-image"]
        }, _react.default.createElement(_imageComponent.default, {
          style: hasSquaredImage ? _$$_REQUIRE(_dependencyMap[16]).styles.squaredImage : [_$$_REQUIRE(_dependencyMap[16]).styles.roundedImage, {
            borderRadius: size / 2 - 5
          }, {
            borderColor: this._getForegroundColor()
          }],
          source: {
            uri: uri
          }
        })), typeof renderIcon === "function" ? renderIcon() : null));
      }
    }, {
      key: "_getDescription",
      value: function _getDescription(category, date, index) {
        var total = this.props.total;
        var categoryName = _navigationUtils.default.isHiddenCategory(category) ? category.substring(1) : category;
        var dateTime = category && date ? date + " " + _$$_REQUIRE(_dependencyMap[15]).StringUtils.BULLET + " " + categoryName : "";
        var detail = global.strings("counter", {
          total: total,
          current: index
        });

        var color = this._getForegroundColor();

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
          classes: ["article-description"]
        }, _react.default.createElement(_reactNative.View, {
          style: _$$_REQUIRE(_dependencyMap[16]).styles.description
        }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
          classes: ["article-description-date"]
        }, _react.default.createElement(_fontText.default, {
          numberOfLines: 1,
          style: [_$$_REQUIRE(_dependencyMap[16]).styles.descriptionField, {
            color: color
          }]
        }, dateTime)), _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
          classes: ["article-description-counter"]
        }, _react.default.createElement(_fontText.default, {
          numberOfLines: 1,
          style: [_$$_REQUIRE(_dependencyMap[16]).styles.descriptionField, {
            color: color
          }]
        }, detail))));
      }
    }, {
      key: "_handleTextWrap",
      value: function _handleTextWrap() {
        var byline = this.props.byline;
        var hideBylineArea = this.state.hideBylineArea;

        if (!byline && !hideBylineArea) {
          this.setState({
            hideBylineArea: true
          });
          return true;
        }

        return false;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props2 = this.props,
            image = _this$props2.image,
            date = _this$props2.date,
            category = _this$props2.category,
            kicker = _this$props2.kicker,
            title = _this$props2.title,
            byline = _this$props2.byline,
            index = _this$props2.index,
            rootStyle = _this$props2.rootStyle,
            onBylinePress = _this$props2.onBylinePress;
        var hideBylineArea = this.state.hideBylineArea;

        var color = this._getForegroundColor();

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
          classes: ["article-top-content"]
        }, _react.default.createElement(_reactNative.View, {
          style: [_$$_REQUIRE(_dependencyMap[16]).styles.topContentContainer, rootStyle]
        }, image ? this._getImage(image) : null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
          classes: ["article-description-parent"]
        }, _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1,
            flexDirection: "column",
            padding: 8
          }
        }, this._getDescription(category, date, index + 1), _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
          classes: ["article-title-parent"]
        }, _react.default.createElement(_doubleTextAutoMeasured.default, {
          top: kicker ? {
            disablePadding: true,
            text: kicker,
            classes: ["article-kicker"],
            style: [_$$_REQUIRE(_dependencyMap[16]).styles.kicker, {
              color: color
            }],
            props: {
              type: _fontText.Type.regular
            }
          } : {
            disablePadding: true,
            text: title,
            classes: ["article-title"],
            style: [_$$_REQUIRE(_dependencyMap[16]).styles.title, {
              color: color
            }]
          },
          bottom: kicker ? {
            text: title,
            classes: ["article-title"],
            style: [_$$_REQUIRE(_dependencyMap[16]).styles.title, {
              color: color
            }],
            props: {
              type: _fontText.Type.bold
            }
          } : undefined,
          containerStyle: _$$_REQUIRE(_dependencyMap[16]).styles.titleContainer,
          handleTextWrap: this.handleTextWrap
        })), !hideBylineArea ? _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).Css, {
          classes: ["article-byline"]
        }, _react.default.createElement(_fontText.default, {
          style: [_$$_REQUIRE(_dependencyMap[16]).styles.byline, {
            color: color
          }],
          onPress: function onPress() {
            if (typeof onBylinePress === "function") {
              onBylinePress(byline);
            }
          }
        }, byline)) : null))));
      }
    }]);
    return ArticleContentTabletHeader;
  }(_react.default.Component);

  exports.ArticleContentTabletHeader = ArticleContentTabletHeader;
  ArticleContentTabletHeader.propTypes = {
    size: _propTypes.default.number.isRequired,
    total: _propTypes.default.number,
    index: _propTypes.default.number,
    image: _propTypes.default.string,
    date: _propTypes.default.string,
    category: _propTypes.default.string,
    kicker: _propTypes.default.string,
    title: _propTypes.default.string,
    byline: _propTypes.default.string,
    renderIcon: _propTypes.default.func,
    onBylinePress: _propTypes.default.func,
    onImagePress: _propTypes.default.func,
    hasSquaredImage: _propTypes.default.bool,
    rootStyle: _propTypes.default.any
  };
},2607,[5,7,8,15,12,14,16,17,28,201,1879,588,2045,2036,699,462,2608]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.styles = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var styles = _reactNative.StyleSheet.create({
    description: {
      flexDirection: "row",
      justifyContent: "space-between"
    },
    descriptionField: {
      fontSize: 16
    },
    titleContainer: {
      flex: 1,
      flexDirection: "column",
      justifyContent: "center",
      marginHorizontal: 0,
      marginRight: 50,
      marginVertical: 5
    },
    titleParent: {
      backgroundColor: "red",
      justifyContent: "flex-start"
    },
    title: {
      fontSize: 26
    },
    kicker: {
      fontSize: 22
    },
    byline: {
      fontSize: 16,
      textAlign: "left"
    },
    topContentContainer: {
      flexDirection: "row"
    },
    roundedImage: {
      flex: 1,
      borderWidth: 2,
      margin: 5
    },
    squaredImage: {
      flex: 1
    }
  });

  exports.styles = styles;
},2608,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.StyleSheet.create({
    root: {
      position: "absolute",
      top: 0,
      bottom: 0,
      left: 0,
      right: 0,
      width: null,
      height: null
    },
    swiper: {
      flex: 1
    }
  });

  exports.default = _default;
},2609,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _safeAreaWebview = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SelectionScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(SelectionScreen, _NavigationBaseScreen);

    var _super = _createSuper(SelectionScreen);

    function SelectionScreen(props) {
      var _this;

      (0, _classCallCheck2.default)(this, SelectionScreen);
      _this = _super.call(this, props);
      _this.remember = false;
      _this.onMessage = _this._onMessage.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(SelectionScreen, [{
      key: "_rssClicked",
      value: function _rssClicked() {
        return _regenerator.default.async(function _rssClicked$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (this.remember) {
                  global.getUserSettings().setRssAsStartupMode();
                }

                this._select("RssNavigator");

              case 2:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_editionClicked",
      value: function _editionClicked() {
        return _regenerator.default.async(function _editionClicked$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (this.remember) {
                  global.getUserSettings().setNewsmemoryAsStartupMode();
                }

                this._select("NewsmemoryNavigator");

              case 2:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_select",
      value: function _select(navigator) {
        var navigation = this.props.navigation;

        var _getNavigationParams = (0, _$$_REQUIRE(_dependencyMap[12]).getNavigationParams)(this.props),
            onSelect = _getNavigationParams.onSelect;

        if (typeof onSelect === "function") {
          onSelect(navigation, navigator);
        }
      }
    }, {
      key: "_onMessage",
      value: function _onMessage(data) {
        var mode = data.mode,
            remember = data.remember;

        if (mode) {
          if (mode === "rss") {
            this._rssClicked();
          } else if (mode === "epaper") {
            this._editionClicked();
          }
        }

        if (remember !== undefined) {
          this.remember = remember;
        }
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "App Mode Selection";
      }
    }, {
      key: "handleBackButton",
      value: function handleBackButton() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(SelectionScreen.prototype), "handleBackButton", this).call(this);
        this.closeApp();
        return true;
      }
    }, {
      key: "render",
      value: function render() {
        var _global$getActivePSet = global.getActivePSetup(),
            appModeSelectionPageURL = _global$getActivePSet.appModeSelectionPageURL;

        var uri = _$$_REQUIRE(_dependencyMap[13]).NetworkUtils.addDefaultProtocol(appModeSelectionPageURL);

        return _react.default.createElement(_safeAreaWebview.default, {
          source: {
            uri: uri
          },
          onLocal: function onLocal() {},
          onMessage: this.onMessage
        });
      }
    }]);
    return SelectionScreen;
  }(_$$_REQUIRE(_dependencyMap[12]).NavigationBaseScreen);

  exports.default = SelectionScreen;
  SelectionScreen.propTypes = {
    navigation: _propTypes.default.object
  };
},2610,[5,80,7,8,15,90,12,14,16,17,201,2611,2148,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = SafeAreaWebView;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[3]);

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _barsComponent = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _webUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function SafeAreaWebView(props) {
    var source = props.source,
        onRef = props.onRef,
        innerRef = props.innerRef,
        onLocal = props.onLocal,
        onMessage = props.onMessage;
    var showTopBar = true;
    var setShowTopBar;

    var _global$getActivePSet = global.getActivePSetup(),
        deviceDpi = _global$getActivePSet.deviceDpi;

    if (_$$_REQUIRE(_dependencyMap[8]).PlatformUtils.isiPadMini8dot3(deviceDpi)) {
      var _useState = (0, _react.useState)(!_deviceUtils.default.isPortrait());

      var _useState2 = (0, _slicedToArray2.default)(_useState, 2);

      showTopBar = _useState2[0];
      setShowTopBar = _useState2[1];
      var orientationChange;
      (0, _react.useEffect)(function () {
        orientationChange = _$$_REQUIRE(_dependencyMap[9]).EventRegister.on(_events.default.ON_ORIENTATION_CHANGE, function (_ref) {
          var orientation = _ref.orientation;
          setShowTopBar(!_deviceUtils.default.isPortrait(orientation));
        });
        return function () {
          _$$_REQUIRE(_dependencyMap[9]).EventRegister.rm(orientationChange);
        };
      }, []);
    }

    var statusBarCss = _$$_REQUIRE(_dependencyMap[10]).Css.getStyleObjByCssClasses(["system-webview-status-bar"]);

    var statusBarColor = statusBarCss.backgroundColor || _$$_REQUIRE(_dependencyMap[8]).colors.transparent600;

    _$$_REQUIRE(_dependencyMap[8]).PlatformUtils.colorBars(statusBarColor);

    var _DeviceUtils$getSafeA = _deviceUtils.default.getSafeAreaInsets(),
        top = _DeviceUtils$getSafeA.top;

    return _react.default.createElement(_reactNative.View, {
      style: {
        flex: 1,
        backgroundColor: _$$_REQUIRE(_dependencyMap[8]).colors.white
      }
    }, _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).BaseWebView, {
      ref: onRef,
      innerRef: innerRef,
      onLocal: onLocal,
      onMessage: onMessage,
      source: source,
      progressType: _$$_REQUIRE(_dependencyMap[11]).BaseWebView.ProgressTypes.bar,
      progressBarStyle: {
        top: top
      },
      injectedJavaScript: _webUtils.default.addSafeAreaToWebView()
    }), showTopBar ? _react.default.createElement(_barsComponent.default, {
      edges: ["top"],
      statusBarColor: statusBarColor
    }) : null);
  }
},2611,[5,41,17,28,460,458,2145,719,462,572,699,1894]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[8]);

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var _OptionalPackages$get = _optionalPackageUtils.default.getNativoAds(),
      NativoWebContent = _OptionalPackages$get.NativoWebContent;

  var styles = _reactNative.StyleSheet.create({
    container: {
      flex: 1,
      flexDirection: "column"
    },
    title: {
      fontSize: 30,
      margin: 10
    },
    authorName: {
      fontSize: 18
    },
    authorImage: {
      width: 50,
      height: 50
    },
    authorView: {
      height: 50,
      flexDirection: "row",
      justifyContent: "flex-start",
      alignItems: "center"
    },
    sponsoredContent: {
      fontWeight: "bold",
      flex: 1
    }
  });

  var NativoLandingPageScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(NativoLandingPageScreen, _NavigationBaseScreen);

    var _super = _createSuper(NativoLandingPageScreen);

    function NativoLandingPageScreen(props, context) {
      var _this;

      (0, _classCallCheck2.default)(this, NativoLandingPageScreen);
      _this = _super.call(this, props, context);
      _this.state = {
        height: 700
      };
      return _this;
    }

    (0, _createClass2.default)(NativoLandingPageScreen, [{
      key: "getTag",
      value: function getTag() {
        return "Nativo Ads Landing Page";
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var height = this.state.height;
        var navigation = this.props.navigation;
        var params = (0, _$$_REQUIRE(_dependencyMap[10]).getNavigationParams)(this.props);
        var index = params.index,
            sectionUrl = params.sectionUrl,
            containerHash = params.containerHash;
        var adTitle = params.adTitle,
            adDescription = params.adDescription,
            adImgUrl = params.adImgUrl,
            adAuthorName = params.adAuthorName,
            adAuthorImgUrl = params.adAuthorImgUrl,
            adDate = params.adDate,
            adShareUrl = params.adShareUrl;
        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).TecnaviaScrollView, {
          style: styles.container
        }, _react.default.createElement(_reactNative.Text, {
          style: styles.sponsoredContent
        }, global.strings("sponsored_content")), adTitle ? _react.default.createElement(_reactNative.Text, {
          style: styles.title
        }, adTitle) : null, adAuthorImgUrl || adAuthorName ? _react.default.createElement(_reactNative.View, {
          style: styles.authorView
        }, adAuthorImgUrl ? _react.default.createElement(_reactNative.Image, {
          source: {
            uri: adAuthorImgUrl
          },
          style: styles.authorImage,
          resizeMode: "contain"
        }) : null, adAuthorName ? _react.default.createElement(_reactNative.Text, {
          style: styles.authorName
        }, adAuthorName) : null) : null, _optionalPackageUtils.default.isNativoSDKAvailable() ? _react.default.createElement(NativoWebContent, {
          style: {
            height: height
          },
          index: index,
          sectionUrl: sectionUrl,
          containerHash: containerHash,
          onClickExternalLink: function onClickExternalLink(event) {
            navigation.navigate("WebScreen", {
              url: event.url
            });
          },
          onFinishLoading: function onFinishLoading(event) {
            if (event.error) {} else {
              _this2.setState({
                height: event.contentHeight
              });
            }
          }
        }) : null);
      }
    }]);
    return NativoLandingPageScreen;
  }(_$$_REQUIRE(_dependencyMap[10]).NavigationBaseScreen);

  exports.default = NativoLandingPageScreen;
  NativoLandingPageScreen.propTypes = {
    navigation: _propTypes.default.object.isRequired
  };
},2612,[5,7,8,12,14,16,17,201,28,731,2148,1909]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _safeAreaWebview = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var MigratePageScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(MigratePageScreen, _NavigationBaseScreen);

    var _super = _createSuper(MigratePageScreen);

    function MigratePageScreen(props) {
      var _this;

      (0, _classCallCheck2.default)(this, MigratePageScreen);
      _this = _super.call(this, props);
      _this.onLocal = _this._onLocal.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(MigratePageScreen, [{
      key: "getTag",
      value: function getTag() {
        return "Migrate Page";
      }
    }, {
      key: "_onLocal",
      value: function _onLocal(_ref) {
        var domain = _ref.domain;

        switch (domain) {
          case "xc_close":
            var _getNavigationParams = (0, _$$_REQUIRE(_dependencyMap[11]).getNavigationParams)(this.props),
                onClose = _getNavigationParams.onClose;

            if (onClose) {
              onClose();
            }

            break;
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _getNavigationParams2 = (0, _$$_REQUIRE(_dependencyMap[11]).getNavigationParams)(this.props),
            pSetup = _getNavigationParams2.pSetup,
            machine = _getNavigationParams2.machine;

        var params = (0, _extends2.default)({}, _Api.default.getDefaultParams(), {
          pSetup: pSetup,
          action: "migrate"
        });

        var uri = _$$_REQUIRE(_dependencyMap[12]).StringUtils.appendParams(_Api.default.baseUrl(machine), params);

        return _react.default.createElement(_safeAreaWebview.default, {
          source: {
            uri: uri
          },
          onLocal: this.onLocal
        });
      }
    }]);
    return MigratePageScreen;
  }(_$$_REQUIRE(_dependencyMap[11]).NavigationBaseScreen);

  exports.default = MigratePageScreen;
},2613,[5,6,7,8,15,12,14,16,17,431,2611,2148,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _safeAreaWebview = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _optionspageUtils = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[12]));

  var _GlobalConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[13]));

  var Analytics = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[14]));

  var _PublicationsManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _Publication = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _LiveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _RssContentHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PublicationsPageScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(PublicationsPageScreen, _NavigationBaseScreen);

    var _super = _createSuper(PublicationsPageScreen);

    function PublicationsPageScreen(props) {
      var _this;

      (0, _classCallCheck2.default)(this, PublicationsPageScreen);
      _this = _super.call(this, props);
      _this.onLocal = _this._onLocal.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(PublicationsPageScreen, [{
      key: "getTag",
      value: function getTag() {
        return "Publications Page";
      }
    }, {
      key: "handleBackButton",
      value: function handleBackButton() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(PublicationsPageScreen.prototype), "handleBackButton", this).call(this);
        this.closeApp();
      }
    }, {
      key: "_close",
      value: function _close(force) {
        return _regenerator.default.async(function _close$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.t0 = force;

                if (_context.t0) {
                  _context.next = 5;
                  break;
                }

                _context.next = 4;
                return _regenerator.default.awrap(global.getCurrentPublication());

              case 4:
                _context.t0 = _context.sent;

              case 5:
                if (!_context.t0) {
                  _context.next = 9;
                  break;
                }

                _NavigationService.default.restart();

                _context.next = 10;
                break;

              case 9:
                this.handleBackButton();

              case 10:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_execJavaScript",
      value: function _execJavaScript(jsToExec) {
        if (this.webview) {
          this.webview.injectJavaScript("try { " + jsToExec + " } catch (e) { };");
        }
      }
    }, {
      key: "_onLocal",
      value: function _onLocal(_ref) {
        var domain, getParams, pSetup, machine, paperDomain, machineToUse, _global$getActivePSet, currentPSetup, _global$getRSSActiveP, rssIsEnabled, _await$global$loadPSe, config, fromServer, publicationsManager, publications, _publicationsManager, _pSetup, _publicationsManager2, _pSetup2;

        return _regenerator.default.async(function _onLocal$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                domain = _ref.domain, getParams = _ref.getParams;

                if (!domain.includes(_optionspageUtils.locals.CLOSE_WINDOW)) {
                  _context2.next = 5;
                  break;
                }

                this._close();

                _context2.next = 42;
                break;

              case 5:
                if (!domain.includes(_optionspageUtils.locals.INITPAGE_SET_NEWSPAPER_AND_READ)) {
                  _context2.next = 41;
                  break;
                }

                if (this.progressCircleRef) {
                  this.progressCircleRef.show();
                }

                pSetup = getParams.pSetup, machine = getParams.machine, paperDomain = getParams.paperDomain;
                machineToUse = paperDomain || machine;
                _global$getActivePSet = global.getActivePSetup(), currentPSetup = _global$getActivePSet.pSetup;
                _global$getRSSActiveP = global.getRSSActivePSetup(), rssIsEnabled = _global$getRSSActiveP.rssIsEnabled;
                _context2.next = 13;
                return _regenerator.default.awrap(global.loadPSetup(pSetup, machineToUse));

              case 13:
                _await$global$loadPSe = _context2.sent;
                config = _await$global$loadPSe.config;
                fromServer = _await$global$loadPSe.fromServer;

                if (!config) {
                  _context2.next = 37;
                  break;
                }

                if (!fromServer && _$$_REQUIRE(_dependencyMap[20]).NetworkUtils.isOnline()) {
                  _$$_REQUIRE(_dependencyMap[21]).EventRegister.emit(_events.default.CONFIG_UPDATE_CHECK, {
                    config: config
                  });
                }

                if (!(currentPSetup !== pSetup)) {
                  _context2.next = 34;
                  break;
                }

                if (!rssIsEnabled) {
                  _context2.next = 29;
                  break;
                }

                _LiveConfig.default.resetLastRssCategory();

                _context2.prev = 21;
                _context2.next = 24;
                return _regenerator.default.awrap(_RssContentHelper.default.deleteDatabase());

              case 24:
                _context2.next = 28;
                break;

              case 26:
                _context2.prev = 26;
                _context2.t0 = _context2["catch"](21);

              case 28:
                _LiveConfig.default.setRssDbDeleted(true);

              case 29:
                _context2.next = 31;
                return _regenerator.default.awrap(_GlobalConfig.default.initAds());

              case 31:
                _context2.next = 33;
                return _regenerator.default.awrap(_GlobalConfig.default.initEpaperLayoutConfig(true));

              case 33:
                Analytics.updateAnalyticsClientList();

              case 34:
                this._close(true);

                _context2.next = 38;
                break;

              case 37:
                _$$_REQUIRE(_dependencyMap[22]).Toast.show(global.strings("err_download_psetup"));

              case 38:
                if (this.progressCircleRef) {
                  this.progressCircleRef.hide();
                }

                _context2.next = 42;
                break;

              case 41:
                if (domain.includes(_optionspageUtils.locals.GET_PUBLICATIONS_STORED)) {
                  publicationsManager = global.getPublicationsManager();
                  publications = publicationsManager.getPublications();

                  this._execJavaScript("xcj_getPublicationStoredResults('" + JSON.stringify(publications) + "');");
                } else if (domain.includes(_optionspageUtils.locals.SET_PUBLICATION)) {
                  _publicationsManager = global.getPublicationsManager();

                  _publicationsManager.addPublication(getParams);

                  _pSetup = getParams.pSetup;

                  this._execJavaScript("xcj_setPublication('" + _pSetup + "');");
                } else if (domain.includes(_optionspageUtils.locals.DELETE_PUBLICATION)) {
                  _publicationsManager2 = global.getPublicationsManager();

                  _publicationsManager2.deletePublication(getParams);

                  _pSetup2 = getParams.pSetup;

                  this._execJavaScript("xcj_deletePublication('" + _pSetup2 + "');");
                }

              case 42:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, [[21, 26]], Promise);
      }
    }, {
      key: "_requestFocus",
      value: function _requestFocus() {
        if (_$$_REQUIRE(_dependencyMap[20]).PlatformUtils.isAndroid() && this.webview && typeof this.webview.requestFocus === "function") {
          this.webview.requestFocus();
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _this2 = this;

        var _global$getMainPSetup = global.getMainPSetup(),
            pSetup = _global$getMainPSetup.pSetup,
            publicationsPageURL = _global$getMainPSetup.publicationsPageURL;

        var _global$getActivePSet2 = global.getActivePSetup(),
            activePSetup = _global$getActivePSet2.pSetup;

        var extraParams = {
          pSetup: pSetup
        };

        if (activePSetup !== pSetup) {
          extraParams.activePSetup = activePSetup;
        }

        var uri = _optionspageUtils.default.getCustomUrl(publicationsPageURL, extraParams);

        return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_safeAreaWebview.default, {
          innerRef: function innerRef(ref) {
            _this2.webview = ref;

            _this2._requestFocus();
          },
          source: {
            uri: uri
          },
          onLocal: this.onLocal
        }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[23]).ProgressCircle, {
          ref: function ref(_ref2) {
            _this2.progressCircleRef = _ref2;
          },
          spinnerStyle: _$$_REQUIRE(_dependencyMap[24]).styles.absolute,
          hidden: true
        }));
      }
    }]);
    return PublicationsPageScreen;
  }(_$$_REQUIRE(_dependencyMap[25]).NavigationBaseScreen);

  exports.default = PublicationsPageScreen;
},2614,[5,80,7,8,15,90,12,14,16,17,460,2611,730,2154,1871,1722,1723,1861,1872,2207,462,572,1889,1953,1897,2148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _NewsmemoryAJAX = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _Api = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[10]));

  var _safeAreaWebview = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var PreAppTrackingTransparencyMessageScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(PreAppTrackingTransparencyMessageScreen, _NavigationBaseScreen);

    var _super = _createSuper(PreAppTrackingTransparencyMessageScreen);

    function PreAppTrackingTransparencyMessageScreen(props) {
      var _this;

      (0, _classCallCheck2.default)(this, PreAppTrackingTransparencyMessageScreen);
      _this = _super.call(this, props);
      _this.onLocal = _this._onLocal.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(PreAppTrackingTransparencyMessageScreen, [{
      key: "getTag",
      value: function getTag() {
        return "Pre App Tracking Transparency Message";
      }
    }, {
      key: "_onLocal",
      value: function _onLocal(_ref) {
        var domain = _ref.domain,
            getParams = _ref.getParams;

        switch (domain) {
          case "xc_close":
            var _getNavigationParams = (0, _$$_REQUIRE(_dependencyMap[12]).getNavigationParams)(this.props),
                onClose = _getNavigationParams.onClose;

            if (onClose) {
              var proceed = getParams.proceed;
              onClose(proceed === "1");
            }

            break;
        }
      }
    }, {
      key: "render",
      value: function render() {
        var _getNavigationParams2 = (0, _$$_REQUIRE(_dependencyMap[12]).getNavigationParams)(this.props),
            userChoiceDenied = _getNavigationParams2.userChoiceDenied;

        var params = (0, _extends2.default)({}, _Api.default.getDefaultParams(), _NewsmemoryAJAX.default.getDefaultGETParams(), {
          action: "preATTMessage",
          denied: userChoiceDenied ? "1" : undefined
        });

        var uri = _$$_REQUIRE(_dependencyMap[13]).StringUtils.appendParams(_NewsmemoryAJAX.default.baseUrl(), params);

        return _react.default.createElement(_safeAreaWebview.default, {
          source: {
            uri: uri
          },
          onLocal: this.onLocal
        });
      }
    }]);
    return PreAppTrackingTransparencyMessageScreen;
  }(_$$_REQUIRE(_dependencyMap[12]).NavigationBaseScreen);

  exports.default = PreAppTrackingTransparencyMessageScreen;
},2615,[5,6,7,8,15,12,14,16,17,430,431,2611,2148,462]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[7]);

  var _fontText = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _iconComponent = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[9]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var UnauthorizedScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(UnauthorizedScreen, _NavigationBaseScreen);

    var _super = _createSuper(UnauthorizedScreen);

    function UnauthorizedScreen() {
      (0, _classCallCheck2.default)(this, UnauthorizedScreen);
      return _super.apply(this, arguments);
    }

    (0, _createClass2.default)(UnauthorizedScreen, [{
      key: "render",
      value: function render() {
        var color = _$$_REQUIRE(_dependencyMap[10]).Css.getDefaultForegroundColor();

        var backgroundColor = _$$_REQUIRE(_dependencyMap[10]).Css.getDefaultBackgroundColor();

        return _react.default.createElement(_reactNative.View, {
          style: {
            flex: 1,
            backgroundColor: backgroundColor,
            alignItems: "center",
            justifyContent: "center"
          }
        }, _react.default.createElement(_iconComponent.default, {
          name: "exclamation-triangle",
          type: _iconComponent.TecnaviaIconType.FONT_AWESOME,
          style: {
            fontSize: 30,
            color: color
          }
        }), _react.default.createElement(_fontText.default, {
          style: {
            color: color
          }
        }, "401 UNAUTHORIZED"), _react.default.createElement(_fontText.default, {
          style: {
            color: color
          }
        }, global.apiKey ? "Invalid API key: " + global.apiKey : "Missing API key"));
      }
    }]);
    return UnauthorizedScreen;
  }(_$$_REQUIRE(_dependencyMap[11]).NavigationBaseScreen);

  exports.default = UnauthorizedScreen;
},2616,[5,7,8,12,14,16,17,28,1879,1806,699,2148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
},2617,[2618]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.SplashScreen = undefined;

  var _regenerator = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _createClass2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _assertThisInitialized2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  var _get2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[7]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[8]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[9]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[10]);

  var _reactNativeSplashScreen = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[11]));

  var _events = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[12]));

  var Analytics = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[13]));

  var _LiveConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[14]));

  var _PushHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[15]));

  var _IAPHelper = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[16]));

  var _tecnaviaFileUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[17]));

  var _appUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[18]));

  var _GlobalConfig = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[19]));

  var _PurgeManager = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[20]));

  var _NavigationService = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[21]));

  var _Publication = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[22]));

  var _cmpUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[23]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var SplashScreen = function (_NavigationBaseScreen) {
    (0, _inherits2.default)(SplashScreen, _NavigationBaseScreen);

    var _super = _createSuper(SplashScreen);

    function SplashScreen(props) {
      var _this;

      (0, _classCallCheck2.default)(this, SplashScreen);
      _this = _super.call(this, props);
      _this.setup = _this._setup.bind((0, _assertThisInitialized2.default)(_this));
      _this.startToNavigator = _this._startToNavigator.bind((0, _assertThisInitialized2.default)(_this));
      return _this;
    }

    (0, _createClass2.default)(SplashScreen, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(SplashScreen.prototype), "componentDidMount", this).call(this);

        _reactNativeSplashScreen.default.hide();
      }
    }, {
      key: "didFocus",
      value: function didFocus() {
        var _this2 = this;

        var notificationEmail;
        return _regenerator.default.async(function didFocus$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return _regenerator.default.awrap(global.getUserSettings().retrieveNotificationEmail());

              case 2:
                notificationEmail = _context.sent;

                if (notificationEmail) {
                  _reactNative.Alert.alert(global.strings("msg_notification_email_warning"), notificationEmail, [{
                    text: global.strings("btn_ok"),
                    onPress: this.setup
                  }, {
                    text: global.strings("err_reset_notification_email"),
                    onPress: function onPress() {
                      global.getUserSettings().resetNotificationEmail();

                      _this2.setup();
                    }
                  }]);
                } else {
                  this.setup();
                }

              case 4:
              case "end":
                return _context.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_setup",
      value: function _setup() {
        var _this3 = this;

        var appState, _global$getMainPSetup, rssIsEnabled, newsMemoryIsEnabled, preventScreenshots, isAppUpgraded, purgeTask, navigation, attUserChoice;

        return _regenerator.default.async(function _setup$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                appState = _appUtils.default.STATE.UNKNOWN;
                _context2.prev = 1;
                _context2.next = 4;
                return _regenerator.default.awrap(this._manageStorage());

              case 4:
                appState = _context2.sent;
                _context2.next = 10;
                break;

              case 7:
                _context2.prev = 7;
                _context2.t0 = _context2["catch"](1);
                return _context2.abrupt("return");

              case 10:
                _context2.prev = 10;
                _context2.next = 13;
                return _regenerator.default.awrap(_IAPHelper.default.init());

              case 13:
                _context2.next = 17;
                break;

              case 15:
                _context2.prev = 15;
                _context2.t1 = _context2["catch"](10);

              case 17:
                _global$getMainPSetup = global.getMainPSetup(), rssIsEnabled = _global$getMainPSetup.rssIsEnabled, newsMemoryIsEnabled = _global$getMainPSetup.newsMemoryIsEnabled, preventScreenshots = _global$getMainPSetup.preventScreenshots;

                if (!(!rssIsEnabled && !newsMemoryIsEnabled)) {
                  _context2.next = 24;
                  break;
                }

                if (this.errorShown) {
                  _context2.next = 22;
                  break;
                }

                _context2.next = 22;
                return _regenerator.default.awrap(this._handleForceExit());

              case 22:
                _context2.next = 60;
                break;

              case 24:
                _LiveConfig.default.init();

                _context2.next = 27;
                return _regenerator.default.awrap(_GlobalConfig.default.initConfigurations());

              case 27:
                isAppUpgraded = _appUtils.default.isAppUpgraded(appState);

                if (!isAppUpgraded) {
                  _context2.next = 39;
                  break;
                }

                _context2.next = 31;
                return _regenerator.default.awrap(global.getUserSettings().migrateSelectedMyHomeCategories());

              case 31:
                _context2.prev = 31;
                purgeTask = new _PurgeManager.default();
                _context2.next = 35;
                return _regenerator.default.awrap(purgeTask.purgeZombie());

              case 35:
                _context2.next = 39;
                break;

              case 37:
                _context2.prev = 37;
                _context2.t2 = _context2["catch"](31);

              case 39:
                _context2.next = 41;
                return _regenerator.default.awrap(_appUtils.default.preventScreenshots(preventScreenshots));

              case 41:
                navigation = this.props.navigation;
                _context2.next = 44;
                return _regenerator.default.awrap(_cmpUtils.default.init(navigation, isAppUpgraded));

              case 44:
                attUserChoice = _context2.sent;

                if (_$$_REQUIRE(_dependencyMap[24]).PlatformUtils.isIOS() && attUserChoice) {
                  Analytics.trackATTPermission(attUserChoice);
                }

                _context2.prev = 46;
                _context2.next = 49;
                return _regenerator.default.awrap(_PushHelper.default.init());

              case 49:
                _context2.next = 53;
                break;

              case 51:
                _context2.prev = 51;
                _context2.t3 = _context2["catch"](46);

              case 53:
                _context2.next = 55;
                return _regenerator.default.awrap(_PushHelper.default.checkIfAppIsOpenedByNotification(function (navigator) {
                  _this3.setStartupNavigator(navigator);
                }));

              case 55:
                if (_context2.sent) {
                  _context2.next = 60;
                  break;
                }

                if (!(_$$_REQUIRE(_dependencyMap[24]).PlatformUtils.hasNotDefaultFontScale() && !global.getUserSettings().userAlreadySetAllowFontScale)) {
                  _context2.next = 59;
                  break;
                }

                _context2.next = 59;
                return _regenerator.default.awrap(global.getUserSettings().showAllowFontScalingModal());

              case 59:
                this.startup();

              case 60:
              case "end":
                return _context2.stop();
            }
          }
        }, null, this, [[1, 7], [10, 15], [31, 37], [46, 51]], Promise);
      }
    }, {
      key: "_checkBundleUpdate",
      value: function _checkBundleUpdate() {
        try {
          var navigation = this.props.navigation;
          return new Promise(function (resolve) {
            navigation.navigate("UpdaterScreen", {
              onBack: resolve
            });
          });
        } catch (e) {}

        return Promise.resolve();
      }
    }, {
      key: "startup",
      value: function startup() {
        var _this4 = this;

        var skipMigrate,
            skipActiveMigrate,
            navigation,
            _global$getMainPSetup2,
            pSetup,
            machine,
            migrate,
            bundleUpdateAvailable,
            resetAppBundle,
            startupParams,
            _await$OurBridge$getB,
            bundleName,
            currentPublication,
            _global$getActivePSet,
            activePSetup,
            activeMachine,
            activePSetupMigrate,
            _global$getRSSActiveP,
            rssIsEnabled,
            forceNewsmemory,
            shouldOpenRss,
            _args3 = arguments;

        return _regenerator.default.async(function startup$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                skipMigrate = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : false;
                skipActiveMigrate = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : false;
                navigation = this.props.navigation;
                _global$getMainPSetup2 = global.getMainPSetup(), pSetup = _global$getMainPSetup2.pSetup, machine = _global$getMainPSetup2.machine, migrate = _global$getMainPSetup2.migrate, bundleUpdateAvailable = _global$getMainPSetup2.bundleUpdateAvailable, resetAppBundle = _global$getMainPSetup2.resetAppBundle, startupParams = _global$getMainPSetup2.startupParams;

                if (!_$$_REQUIRE(_dependencyMap[24]).JSUtils.isEmpty(startupParams)) {
                  global.updateNewsmemoryStartupParams(startupParams);
                }

                if (!(_$$_REQUIRE(_dependencyMap[24]).NetworkUtils.isOnline() && migrate && !skipMigrate)) {
                  _context3.next = 9;
                  break;
                }

                navigation.navigate("MigratePageScreen", {
                  pSetup: pSetup,
                  machine: machine,
                  onClose: function onClose() {
                    _this4.startup(true);
                  }
                });
                _context3.next = 53;
                break;

              case 9:
                if (!resetAppBundle) {
                  _context3.next = 34;
                  break;
                }

                _context3.prev = 10;
                _context3.next = 13;
                return _regenerator.default.awrap(_tecnaviaFileUtils.default.unlink(_tecnaviaFileUtils.default.getBundlesDirectory()));

              case 13:
                _context3.next = 17;
                break;

              case 15:
                _context3.prev = 15;
                _context3.t0 = _context3["catch"](10);

              case 17:
                _context3.prev = 17;
                _context3.next = 20;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[25]).OurBridge.getBundleName());

              case 20:
                _await$OurBridge$getB = _context3.sent;
                bundleName = _await$OurBridge$getB.bundleName;

                if (!bundleName) {
                  _context3.next = 28;
                  break;
                }

                _context3.next = 25;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[25]).OurBridge.resetBundleName());

              case 25:
                _context3.next = 27;
                return _regenerator.default.awrap(_$$_REQUIRE(_dependencyMap[25]).OurBridge.restartReactContext());

              case 27:
                return _context3.abrupt("return");

              case 28:
                _context3.next = 32;
                break;

              case 30:
                _context3.prev = 30;
                _context3.t1 = _context3["catch"](17);

              case 32:
                _context3.next = 37;
                break;

              case 34:
                if (!bundleUpdateAvailable) {
                  _context3.next = 37;
                  break;
                }

                _context3.next = 37;
                return _regenerator.default.awrap(this._checkBundleUpdate());

              case 37:
                _context3.next = 39;
                return _regenerator.default.awrap(global.getCurrentPublication());

              case 39:
                currentPublication = _context3.sent;

                if (!(_$$_REQUIRE(_dependencyMap[26]).PaperSetupManager.isGenericAppConfigured() && !currentPublication)) {
                  _context3.next = 50;
                  break;
                }

                if (!_$$_REQUIRE(_dependencyMap[24]).NetworkUtils.isOnline()) {
                  _context3.next = 45;
                  break;
                }

                _NavigationService.default.default.navigate(navigation, "PublicationsPageScreen");

                _context3.next = 48;
                break;

              case 45:
                if (this.errorShown) {
                  _context3.next = 48;
                  break;
                }

                _context3.next = 48;
                return _regenerator.default.awrap(this._handleForceExit());

              case 48:
                _context3.next = 53;
                break;

              case 50:
                _global$getActivePSet = global.getActivePSetup(), activePSetup = _global$getActivePSet.pSetup, activeMachine = _global$getActivePSet.machine, activePSetupMigrate = _global$getActivePSet.migrate;
                _global$getRSSActiveP = global.getRSSActivePSetup(), rssIsEnabled = _global$getRSSActiveP.rssIsEnabled;

                if (_$$_REQUIRE(_dependencyMap[24]).NetworkUtils.isOnline() && pSetup !== activePSetup && activePSetupMigrate && !skipActiveMigrate) {
                  navigation.navigate("MigratePageScreen", {
                    pSetup: activePSetup,
                    machine: activeMachine,
                    onClose: function onClose() {
                      _this4.startup(true, true);
                    }
                  });
                } else {
                  forceNewsmemory = global.shouldForceNewsmemoryWithStartupParams();

                  if (_$$_REQUIRE(_dependencyMap[24]).NetworkUtils.isOnline() && global.getUserSettings().shouldShowSelectionScreen && !forceNewsmemory) {
                    _NavigationService.default.default.navigate(navigation, "SelectionScreen", {
                      onSelect: this.startToNavigator
                    });
                  } else {
                    shouldOpenRss = global.lastAppSide ? _LiveConfig.default.isRssSide(global.lastAppSide) : global.getUserSettings().startInRss;
                    this.startToNavigator(navigation, shouldOpenRss && rssIsEnabled && !forceNewsmemory ? "RssNavigator" : "NewsmemoryNavigator");
                  }
                }

              case 53:
              case "end":
                return _context3.stop();
            }
          }
        }, null, this, [[10, 15], [17, 30]], Promise);
      }
    }, {
      key: "setStartupNavigator",
      value: function setStartupNavigator(navigator) {
        _LiveConfig.default.setStartUpNavigator(navigator);

        if (navigator === "RssNavigator") {
          _LiveConfig.default.setRssSide();
        } else {
          _LiveConfig.default.setEpaperSide();
        }

        Analytics.trackStartup();
      }
    }, {
      key: "_startToNavigator",
      value: function _startToNavigator(navigation, navigator) {
        var feedback;
        return _regenerator.default.async(function _startToNavigator$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                this.setStartupNavigator(navigator);
                feedback = new (_$$_REQUIRE(_dependencyMap[27]).Feedback)();
                _context4.next = 4;
                return _regenerator.default.awrap(feedback.check());

              case 4:
                this.navigate(navigation, navigator);

              case 5:
              case "end":
                return _context4.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "navigate",
      value: function navigate(navigation, routeName) {
        var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};

        _NavigationService.default.default.reset(navigation, routeName, params);
      }
    }, {
      key: "_loadPSetup",
      value: function _loadPSetup(pSetup, machine, params, external) {
        var success, _await$global$loadPSe, config, fromServer;

        return _regenerator.default.async(function _loadPSetup$(_context5) {
          while (1) {
            switch (_context5.prev = _context5.next) {
              case 0:
                success = false;
                _context5.prev = 1;
                _context5.next = 4;
                return _regenerator.default.awrap(global.loadPSetup(pSetup, machine, params, external));

              case 4:
                _await$global$loadPSe = _context5.sent;
                config = _await$global$loadPSe.config;
                fromServer = _await$global$loadPSe.fromServer;

                if (!config) {
                  _context5.next = 20;
                  break;
                }

                if (!fromServer && _$$_REQUIRE(_dependencyMap[24]).NetworkUtils.isOnline()) {
                  _$$_REQUIRE(_dependencyMap[28]).EventRegister.emit(_events.default.CONFIG_UPDATE_CHECK, {
                    config: config
                  });
                }

                _context5.next = 11;
                return _regenerator.default.awrap(_GlobalConfig.default.initNewsmemoryConfig());

              case 11:
                if (!_$$_REQUIRE(_dependencyMap[26]).PaperSetupManager.isGenericAppConfigured()) {
                  _context5.next = 14;
                  break;
                }

                _context5.next = 14;
                return _regenerator.default.awrap(_GlobalConfig.default.initAds());

              case 14:
                if (!external) {
                  _context5.next = 17;
                  break;
                }

                _context5.next = 17;
                return _regenerator.default.awrap(_GlobalConfig.default.initCustomFonts(config));

              case 17:
                success = true;
                _context5.next = 20;
                break;

              case 20:
                _context5.next = 24;
                break;

              case 22:
                _context5.prev = 22;
                _context5.t0 = _context5["catch"](1);

              case 24:
                return _context5.abrupt("return", success);

              case 25:
              case "end":
                return _context5.stop();
            }
          }
        }, null, null, [[1, 22]], Promise);
      }
    }, {
      key: "_checkStartupParams",
      value: function _checkStartupParams() {
        var success, _global$getNewsmemory, startupPSetup, startupMachine, paperName, preview, oneTimeToken;

        return _regenerator.default.async(function _checkStartupParams$(_context6) {
          while (1) {
            switch (_context6.prev = _context6.next) {
              case 0:
                success = false;
                _global$getNewsmemory = global.getNewsmemoryStartupParams(), startupPSetup = _global$getNewsmemory.pSetup, startupMachine = _global$getNewsmemory.machine, paperName = _global$getNewsmemory.paperName, preview = _global$getNewsmemory.preview, oneTimeToken = _global$getNewsmemory.onetimetoken;

                if (!(startupPSetup && startupMachine)) {
                  _context6.next = 6;
                  break;
                }

                _context6.next = 5;
                return _regenerator.default.awrap(this._loadPSetup(startupPSetup, startupMachine, {
                  preview: preview,
                  oneTimeToken: oneTimeToken,
                  paperName: paperName
                }));

              case 5:
                success = _context6.sent;

              case 6:
                return _context6.abrupt("return", success);

              case 7:
              case "end":
                return _context6.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_checkPublications",
      value: function _checkPublications() {
        var success, currentPublication, _global$getMainPSetup3, externalXPapers, mainPSetup, _global$getActivePSet2, pSetup, paper, currentPSetup, currentIsExternal, currentMachine, currentPaper, currentXPaper, considerCurrentPublication, paperSetupManager;

        return _regenerator.default.async(function _checkPublications$(_context7) {
          while (1) {
            switch (_context7.prev = _context7.next) {
              case 0:
                success = false;
                _context7.next = 3;
                return _regenerator.default.awrap(global.loadPublications());

              case 3:
                _context7.next = 5;
                return _regenerator.default.awrap(global.getCurrentPublication());

              case 5:
                currentPublication = _context7.sent;

                if (!currentPublication) {
                  _context7.next = 37;
                  break;
                }

                _global$getMainPSetup3 = global.getMainPSetup(), externalXPapers = _global$getMainPSetup3.externalXPapers, mainPSetup = _global$getMainPSetup3.pSetup;
                _global$getActivePSet2 = global.getActivePSetup(), pSetup = _global$getActivePSet2.pSetup, paper = _global$getActivePSet2.paper;
                currentPSetup = currentPublication.getPSetup();
                currentIsExternal = currentPublication.isExternal();

                if (!(pSetup !== currentPSetup)) {
                  _context7.next = 29;
                  break;
                }

                currentMachine = currentPublication.getMachine();
                currentPaper = currentPublication.getPaper();
                currentXPaper = currentPublication.getXPaper();
                considerCurrentPublication = false;

                if (!_$$_REQUIRE(_dependencyMap[26]).PaperSetupManager.isGenericAppConfigured()) {
                  _context7.next = 20;
                  break;
                }

                considerCurrentPublication = true;
                _context7.next = 23;
                break;

              case 20:
                if (currentIsExternal && externalXPapers) {
                  considerCurrentPublication = externalXPapers.split(",").includes(currentPSetup);
                } else {
                  considerCurrentPublication = currentPaper && currentXPaper && paper === currentPaper && currentPaper !== currentXPaper;
                }

                _context7.next = 23;
                return _regenerator.default.awrap(global.getPublicationsManager().deletePublication({
                  pSetup: currentPSetup
                }));

              case 23:
                if (!considerCurrentPublication) {
                  _context7.next = 27;
                  break;
                }

                _context7.next = 26;
                return _regenerator.default.awrap(this._loadPSetup(currentPSetup, currentMachine, {}, currentIsExternal));

              case 26:
                success = _context7.sent;

              case 27:
                _context7.next = 37;
                break;

              case 29:
                if (!(currentIsExternal && externalXPapers && !externalXPapers.split(",").includes(currentPSetup))) {
                  _context7.next = 37;
                  break;
                }

                _context7.next = 32;
                return _regenerator.default.awrap(global.getPublicationsManager().deletePublication({
                  pSetup: currentPSetup
                }));

              case 32:
                paperSetupManager = global.getPaperSetupManager();

                if (paperSetupManager) {
                  paperSetupManager.resetActivePSetup();
                }

                _context7.next = 36;
                return _regenerator.default.awrap(this._loadPSetup(mainPSetup));

              case 36:
                success = _context7.sent;

              case 37:
                return _context7.abrupt("return", success);

              case 38:
              case "end":
                return _context7.stop();
            }
          }
        }, null, this, null, Promise);
      }
    }, {
      key: "_manageStorage",
      value: function _manageStorage() {
        var appState, firstInstall, isAppUpgraded, _await$GlobalConfig$i, success, fromServer, mainPSetupConfig, activePSetupConfig, activePaper, rssActivePSetupConfig, rssIsEnabled, _await$GlobalConfig$i2, rssIndexSuccess;

        return _regenerator.default.async(function _manageStorage$(_context8) {
          while (1) {
            switch (_context8.prev = _context8.next) {
              case 0:
                _context8.next = 2;
                return _regenerator.default.awrap(_appUtils.default.checkUpdate());

              case 2:
                appState = _context8.sent;
                firstInstall = _appUtils.default.isAppNewInstall(appState);
                isAppUpgraded = _appUtils.default.isAppUpgraded(appState);

                if (!firstInstall) {
                  _context8.next = 8;
                  break;
                }

                _context8.next = 8;
                return _regenerator.default.awrap(_GlobalConfig.default.initSSLCertificates());

              case 8:
                this.errorShown = false;
                _context8.prev = 9;
                _context8.next = 12;
                return _regenerator.default.awrap(_GlobalConfig.default.initMainPSetup(firstInstall, isAppUpgraded));

              case 12:
                _await$GlobalConfig$i = _context8.sent;
                success = _await$GlobalConfig$i.success;
                fromServer = _await$GlobalConfig$i.fromServer;

                if (!success) {
                  _context8.next = 19;
                  break;
                }

                if (_$$_REQUIRE(_dependencyMap[24]).NetworkUtils.isOnline() && global.startup && !fromServer) {
                  global.startup = false;

                  _$$_REQUIRE(_dependencyMap[28]).EventRegister.emit(_events.default.CONFIG_UPDATE_CHECK);
                }

                _context8.next = 22;
                break;

              case 19:
                _context8.next = 21;
                return _regenerator.default.awrap(this._handleForceExit());

              case 21:
                this.errorShown = true;

              case 22:
                _context8.next = 30;
                break;

              case 24:
                _context8.prev = 24;
                _context8.t0 = _context8["catch"](9);

                if (!(_context8.t0.response && _context8.t0.response.status === _$$_REQUIRE(_dependencyMap[29]).HTTP_CODES.UNAUTHORIZED)) {
                  _context8.next = 30;
                  break;
                }

                global.unauthorized = true;

                _NavigationService.default.main.navigate("UnauthorizedScreen");

                throw _context8.t0;

              case 30:
                _context8.next = 32;
                return _regenerator.default.awrap(this._checkStartupParams());

              case 32:
                if (_context8.sent) {
                  _context8.next = 35;
                  break;
                }

                _context8.next = 35;
                return _regenerator.default.awrap(this._checkPublications());

              case 35:
                mainPSetupConfig = global.getMainPSetup();
                activePSetupConfig = global.getActivePSetup();
                activePaper = activePSetupConfig.paper;
                _context8.next = 40;
                return _regenerator.default.awrap(_GlobalConfig.default.initLocale(mainPSetupConfig));

              case 40:
                if (!(activePaper !== mainPSetupConfig.paper)) {
                  _context8.next = 43;
                  break;
                }

                _context8.next = 43;
                return _regenerator.default.awrap(_GlobalConfig.default.initLocale(activePSetupConfig));

              case 43:
                rssActivePSetupConfig = global.getRSSActivePSetup();
                rssIsEnabled = rssActivePSetupConfig.rssIsEnabled;

                if (!rssIsEnabled) {
                  _context8.next = 54;
                  break;
                }

                _context8.next = 48;
                return _regenerator.default.awrap(_GlobalConfig.default.initRssIndex(rssActivePSetupConfig, isAppUpgraded));

              case 48:
                _await$GlobalConfig$i2 = _context8.sent;
                rssIndexSuccess = _await$GlobalConfig$i2.success;

                if (!(!rssIndexSuccess && !this.errorShown)) {
                  _context8.next = 54;
                  break;
                }

                rssActivePSetupConfig.setModeEnabled(_$$_REQUIRE(_dependencyMap[30]).DEFAULT, true);
                _context8.next = 54;
                return _regenerator.default.awrap(this._handleForceExit());

              case 54:
                global.startup = false;
                return _context8.abrupt("return", appState);

              case 56:
              case "end":
                return _context8.stop();
            }
          }
        }, null, this, [[9, 24]], Promise);
      }
    }, {
      key: "getTag",
      value: function getTag() {
        return "Startup";
      }
    }, {
      key: "_handleForceExit",
      value: function _handleForceExit() {
        var _this5 = this;

        return _regenerator.default.async(function _handleForceExit$(_context9) {
          while (1) {
            switch (_context9.prev = _context9.next) {
              case 0:
                return _context9.abrupt("return", new Promise(function (resolve, reject) {
                  var _global$getUserSettin = global.getUserSettings(),
                      notificationEmail = _global$getUserSettin.notificationEmail,
                      resetNotificationEmail = _global$getUserSettin.resetNotificationEmail;

                  if (notificationEmail) {
                    _reactNative.Alert.alert("", global.strings("err_internet_connection"), [{
                      text: global.strings("err_reset_notification_email"),
                      onPress: function onPress() {
                        resetNotificationEmail();

                        _reactNative.Alert.alert("", global.strings("msg_reset_notification_email"), [{
                          text: global.strings("restart"),
                          onPress: function onPress() {
                            reject(new Error("Restart after notification email reset"));

                            _this5.setup();
                          }
                        }]);
                      }
                    }]);
                  } else {
                    _this5.showAlert({
                      message: global.strings("err_internet_connection"),
                      resolve: resolve
                    });
                  }
                }));

              case 1:
              case "end":
                return _context9.stop();
            }
          }
        }, null, null, null, Promise);
      }
    }, {
      key: "handleBackButton",
      value: function handleBackButton() {
        (0, _get2.default)((0, _getPrototypeOf2.default)(SplashScreen.prototype), "handleBackButton", this).call(this);
        this.closeAlert();
      }
    }, {
      key: "render",
      value: function render() {
        var backgroundColor = _$$_REQUIRE(_dependencyMap[31]).WallpaperLoading.getBackground();

        _$$_REQUIRE(_dependencyMap[24]).PlatformUtils.colorBars(backgroundColor, backgroundColor);

        return _react.default.createElement(_$$_REQUIRE(_dependencyMap[31]).WallpaperLoading, {
          retryEvent: _events.default.PAPER_SETUP_API_RETRY
        });
      }
    }]);
    return SplashScreen;
  }(_$$_REQUIRE(_dependencyMap[32]).NavigationBaseScreen);

  exports.SplashScreen = SplashScreen;
},2618,[5,80,7,8,15,90,12,14,16,17,28,2619,460,1871,1872,2134,1934,574,2150,2154,2316,1861,1723,1875,462,582,1849,2151,572,431,717,2427,2148]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var _default = _reactNative.NativeModules.SplashScreen;
  exports.default = _default;
},2619,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = RootBase;

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _propTypes = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var _deviceUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[5]));

  var _optionalPackageUtils = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[6]));

  var _OptionalPackages$get = _optionalPackageUtils.default.getIubenda(),
      IubendaContainer = _OptionalPackages$get.Container;

  function RootBase(props) {
    var contentRef = null;
    var insets = (0, _$$_REQUIRE(_dependencyMap[7]).useTecnaviaSafeAreaInsets)();
    var frame = (0, _$$_REQUIRE(_dependencyMap[7]).useTecnaviaSafeAreaFrame)();

    if (!_$$_REQUIRE(_dependencyMap[8]).JSUtils.isEmpty(insets) && !_$$_REQUIRE(_dependencyMap[8]).JSUtils.isEmpty(frame)) {
      _deviceUtils.default.setSafeArea(insets, frame);
    }

    function onContentRef(ref) {
      contentRef = ref;
    }

    function onPaywallRef(ref) {
      if (ref) {
        _$$_REQUIRE(_dependencyMap[9]).PaywallContainer.paywallInstance = ref;
      }
    }

    function onInterstitialRef(ref) {
      if (ref) {
        _$$_REQUIRE(_dependencyMap[10]).InterstitialContainer.interstitialInstance = ref;
      }
    }

    function onBottomSheetRef(ref) {
      if (ref) {
        _$$_REQUIRE(_dependencyMap[11]).MyBottomSheet.bottomSheetInstance = ref;
      }
    }

    function onToastRef(ref) {
      if (ref) {
        _$$_REQUIRE(_dependencyMap[12]).Toast.toastInstance = ref;
      }
    }

    function onModalRef(ref) {
      if (ref) {
        _$$_REQUIRE(_dependencyMap[13]).ModalOverlay.instance = ref;
      }
    }

    function onLoadingRef(ref) {
      if (ref) {
        _$$_REQUIRE(_dependencyMap[14]).LoadingOverlay.loadingInstance = ref;
      }
    }

    function onPaywallOpened() {
      if (contentRef) {
        contentRef.setNativeProps({
          pointerEvents: "none"
        });
      }
    }

    function onPaywallClosed() {
      if (contentRef) {
        contentRef.setNativeProps({
          pointerEvents: "auto"
        });
      }
    }

    function onHintRef(ref) {
      if (ref) {
        _$$_REQUIRE(_dependencyMap[15]).HintOverlay.instance = ref;
      }
    }

    function onVoiceRef(ref) {
      if (ref) {
        _$$_REQUIRE(_dependencyMap[16]).VoiceOverlay.instance = ref;
      }
    }

    var children = props.children,
        rest = (0, _objectWithoutProperties2.default)(props, ["children"]);
    return _react.default.createElement(_$$_REQUIRE(_dependencyMap[17]).Css.Provider, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[18]).FontContext.Provider, null, _react.default.createElement(_$$_REQUIRE(_dependencyMap[19]).RootSizedView, rest, _react.default.createElement(_reactNative.View, {
      style: {
        flex: 1
      },
      ref: onContentRef
    }, children), _react.default.createElement(_$$_REQUIRE(_dependencyMap[9]).PaywallContainer, {
      ref: onPaywallRef,
      onOpen: onPaywallOpened,
      onClose: onPaywallClosed
    }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[10]).InterstitialContainer, {
      ref: onInterstitialRef
    }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[11]).MyBottomSheet, {
      ref: onBottomSheetRef
    }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[14]).LoadingOverlay, {
      ref: onLoadingRef
    }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[15]).HintOverlay, {
      ref: onHintRef
    }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[13]).ModalOverlay, {
      ref: onModalRef
    }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[16]).VoiceOverlay, {
      ref: onVoiceRef
    }), _react.default.createElement(_$$_REQUIRE(_dependencyMap[12]).Toast, {
      ref: onToastRef
    }), _react.default.createElement(IubendaContainer, {
      considerSafeArea: global.appNeedsSafeArea()
    }))));
  }

  RootBase.propTypes = {
    children: _propTypes.default.any
  };
},2620,[5,108,17,201,28,458,731,2146,462,1867,2322,1904,1889,1877,1950,2003,2007,699,1880,2621]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.RootSizedView = undefined;

  var _extends2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _objectWithoutProperties2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _react = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[4]);

  var RootSizedView = function RootSizedView(_ref) {
    var style = _ref.style,
        rest = (0, _objectWithoutProperties2.default)(_ref, ["style"]);
    return _react.default.createElement(_reactNative.View, (0, _extends2.default)({
      style: [style, {
        flex: 1
      }]
    }, rest));
  };

  exports.RootSizedView = RootSizedView;
},2621,[5,6,108,17,28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[0])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[0])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[0])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[1])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[1])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[1])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[2])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[2])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[2])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[3])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[3])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[3])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[4])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[4])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[4])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[5])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[5])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[5])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[6])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[6])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[6])[key];
      }
    });
  });
  Object.keys(_$$_REQUIRE(_dependencyMap[7])).forEach(function (key) {
    if (key === "default" || key === "__esModule") return;
    if (key in exports && exports[key] === _$$_REQUIRE(_dependencyMap[7])[key]) return;
    Object.defineProperty(exports, key, {
      enumerable: true,
      get: function get() {
        return _$$_REQUIRE(_dependencyMap[7])[key];
      }
    });
  });
},2622,[2623,2629,2630,2624,2627,2631,2632,2633]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.DarkModeProvider = DarkModeProvider;
  exports.useDarkModeContext = useDarkModeContext;
  exports.DarkModeContext = undefined;

  var _slicedToArray2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _react = _interopRequireWildcard(_$$_REQUIRE(_dependencyMap[2]));

  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }

  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) { if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } } return n.default = e, t && t.set(e, n), n; }

  var DarkModeContext = (0, _react.createContext)('current');
  exports.DarkModeContext = DarkModeContext;
  DarkModeContext.displayName = 'DarkModeContext';

  function useCurrentMode(forcedMode) {
    var _useState = (0, _react.useState)(_$$_REQUIRE(_dependencyMap[3]).eventEmitter.currentMode),
        _useState2 = (0, _slicedToArray2.default)(_useState, 2),
        currentMode = _useState2[0],
        setCurrentMode = _useState2[1];

    (0, _react.useEffect)(function () {
      if (forcedMode) return;

      if (currentMode !== _$$_REQUIRE(_dependencyMap[3]).eventEmitter.currentMode) {
        setCurrentMode(_$$_REQUIRE(_dependencyMap[3]).eventEmitter.currentMode);
      }

      function handler(mode) {
        setCurrentMode(mode);
      }

      _$$_REQUIRE(_dependencyMap[3]).eventEmitter.on('currentModeChanged', handler);

      return function () {
        _$$_REQUIRE(_dependencyMap[3]).eventEmitter.off('currentModeChanged', handler);
      };
    }, [currentMode, forcedMode]);
    return currentMode;
  }

  function DarkModeProvider(_ref) {
    var children = _ref.children,
        mode = _ref.mode;
    var currentMode = useCurrentMode(mode);
    return _react.default.createElement(DarkModeContext.Provider, {
      value: mode || currentMode
    }, children);
  }

  function useDarkModeContext() {
    var context = (0, _react.useContext)(DarkModeContext);
    var currentMode = useCurrentMode(context === 'current' ? undefined : context);

    if (context === 'current') {
      return currentMode;
    }

    return context;
  }
},2623,[5,41,17,2624]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.eventEmitter = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var nativeEventEmitter = new _reactNative.NativeEventEmitter(_$$_REQUIRE(_dependencyMap[1]).NativeModule);
  var eventEmitter = new (_$$_REQUIRE(_dependencyMap[2]).DarkModeEventEmitter)();
  exports.eventEmitter = eventEmitter;
  nativeEventEmitter.addListener('currentModeChanged', function (newStyle) {
    eventEmitter.emit('currentModeChanged', newStyle);
  });
},2624,[28,2625,2626]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.NativeModule = undefined;

  var _reactNative = _$$_REQUIRE(_dependencyMap[0]);

  var NativeModule = _reactNative.NativeModules.RNDarkMode;
  exports.NativeModule = NativeModule;
},2625,[28]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.DarkModeEventEmitter = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _inherits2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[2]));

  var _possibleConstructorReturn2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[3]));

  var _getPrototypeOf2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[4]));

  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }

  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }

  var DarkModeEventEmitter = function (_EventEmitter) {
    (0, _inherits2.default)(DarkModeEventEmitter, _EventEmitter);

    var _super = _createSuper(DarkModeEventEmitter);

    function DarkModeEventEmitter() {
      var _this;

      (0, _classCallCheck2.default)(this, DarkModeEventEmitter);
      _this = _super.call(this);
      _this.currentMode = _$$_REQUIRE(_dependencyMap[5]).initialMode;

      _this.on('currentModeChanged', function (mode) {
        _this.currentMode = mode;
      });

      return _this;
    }

    return DarkModeEventEmitter;
  }(_$$_REQUIRE(_dependencyMap[6]).EventEmitter);

  exports.DarkModeEventEmitter = DarkModeEventEmitter;
},2626,[5,7,12,14,16,2627,2628]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.supportsDarkMode = exports.initialMode = undefined;

  var initialMode = _$$_REQUIRE(_dependencyMap[0]).NativeModule.initialMode;

  exports.initialMode = initialMode;

  var supportsDarkMode = _$$_REQUIRE(_dependencyMap[0]).NativeModule.supportsDarkMode;

  exports.supportsDarkMode = supportsDarkMode;
},2627,[2625]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  'use strict';

  var R = typeof Reflect === 'object' ? Reflect : null;
  var ReflectApply = R && typeof R.apply === 'function' ? R.apply : function ReflectApply(target, receiver, args) {
    return Function.prototype.apply.call(target, receiver, args);
  };
  var ReflectOwnKeys;

  if (R && typeof R.ownKeys === 'function') {
    ReflectOwnKeys = R.ownKeys;
  } else if (Object.getOwnPropertySymbols) {
    ReflectOwnKeys = function ReflectOwnKeys(target) {
      return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));
    };
  } else {
    ReflectOwnKeys = function ReflectOwnKeys(target) {
      return Object.getOwnPropertyNames(target);
    };
  }

  function ProcessEmitWarning(warning) {
    if (console && console.warn) console.warn(warning);
  }

  var NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {
    return value !== value;
  };

  function EventEmitter() {
    EventEmitter.init.call(this);
  }

  module.exports = EventEmitter;
  module.exports.once = once;
  EventEmitter.EventEmitter = EventEmitter;
  EventEmitter.prototype._events = undefined;
  EventEmitter.prototype._eventsCount = 0;
  EventEmitter.prototype._maxListeners = undefined;
  var defaultMaxListeners = 10;

  function checkListener(listener) {
    if (typeof listener !== 'function') {
      throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener);
    }
  }

  Object.defineProperty(EventEmitter, 'defaultMaxListeners', {
    enumerable: true,
    get: function get() {
      return defaultMaxListeners;
    },
    set: function set(arg) {
      if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {
        throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + '.');
      }

      defaultMaxListeners = arg;
    }
  });

  EventEmitter.init = function () {
    if (this._events === undefined || this._events === Object.getPrototypeOf(this)._events) {
      this._events = Object.create(null);
      this._eventsCount = 0;
    }

    this._maxListeners = this._maxListeners || undefined;
  };

  EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {
    if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {
      throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + '.');
    }

    this._maxListeners = n;
    return this;
  };

  function _getMaxListeners(that) {
    if (that._maxListeners === undefined) return EventEmitter.defaultMaxListeners;
    return that._maxListeners;
  }

  EventEmitter.prototype.getMaxListeners = function getMaxListeners() {
    return _getMaxListeners(this);
  };

  EventEmitter.prototype.emit = function emit(type) {
    var args = [];

    for (var i = 1; i < arguments.length; i++) {
      args.push(arguments[i]);
    }

    var doError = type === 'error';
    var events = this._events;
    if (events !== undefined) doError = doError && events.error === undefined;else if (!doError) return false;

    if (doError) {
      var er;
      if (args.length > 0) er = args[0];

      if (er instanceof Error) {
        throw er;
      }

      var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));
      err.context = er;
      throw err;
    }

    var handler = events[type];
    if (handler === undefined) return false;

    if (typeof handler === 'function') {
      ReflectApply(handler, this, args);
    } else {
      var len = handler.length;
      var listeners = arrayClone(handler, len);

      for (var i = 0; i < len; ++i) {
        ReflectApply(listeners[i], this, args);
      }
    }

    return true;
  };

  function _addListener(target, type, listener, prepend) {
    var m;
    var events;
    var existing;
    checkListener(listener);
    events = target._events;

    if (events === undefined) {
      events = target._events = Object.create(null);
      target._eventsCount = 0;
    } else {
      if (events.newListener !== undefined) {
        target.emit('newListener', type, listener.listener ? listener.listener : listener);
        events = target._events;
      }

      existing = events[type];
    }

    if (existing === undefined) {
      existing = events[type] = listener;
      ++target._eventsCount;
    } else {
      if (typeof existing === 'function') {
        existing = events[type] = prepend ? [listener, existing] : [existing, listener];
      } else if (prepend) {
        existing.unshift(listener);
      } else {
        existing.push(listener);
      }

      m = _getMaxListeners(target);

      if (m > 0 && existing.length > m && !existing.warned) {
        existing.warned = true;
        var w = new Error('Possible EventEmitter memory leak detected. ' + existing.length + ' ' + String(type) + ' listeners ' + 'added. Use emitter.setMaxListeners() to ' + 'increase limit');
        w.name = 'MaxListenersExceededWarning';
        w.emitter = target;
        w.type = type;
        w.count = existing.length;
        ProcessEmitWarning(w);
      }
    }

    return target;
  }

  EventEmitter.prototype.addListener = function addListener(type, listener) {
    return _addListener(this, type, listener, false);
  };

  EventEmitter.prototype.on = EventEmitter.prototype.addListener;

  EventEmitter.prototype.prependListener = function prependListener(type, listener) {
    return _addListener(this, type, listener, true);
  };

  function onceWrapper() {
    if (!this.fired) {
      this.target.removeListener(this.type, this.wrapFn);
      this.fired = true;
      if (arguments.length === 0) return this.listener.call(this.target);
      return this.listener.apply(this.target, arguments);
    }
  }

  function _onceWrap(target, type, listener) {
    var state = {
      fired: false,
      wrapFn: undefined,
      target: target,
      type: type,
      listener: listener
    };
    var wrapped = onceWrapper.bind(state);
    wrapped.listener = listener;
    state.wrapFn = wrapped;
    return wrapped;
  }

  EventEmitter.prototype.once = function once(type, listener) {
    checkListener(listener);
    this.on(type, _onceWrap(this, type, listener));
    return this;
  };

  EventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) {
    checkListener(listener);
    this.prependListener(type, _onceWrap(this, type, listener));
    return this;
  };

  EventEmitter.prototype.removeListener = function removeListener(type, listener) {
    var list, events, position, i, originalListener;
    checkListener(listener);
    events = this._events;
    if (events === undefined) return this;
    list = events[type];
    if (list === undefined) return this;

    if (list === listener || list.listener === listener) {
      if (--this._eventsCount === 0) this._events = Object.create(null);else {
        delete events[type];
        if (events.removeListener) this.emit('removeListener', type, list.listener || listener);
      }
    } else if (typeof list !== 'function') {
      position = -1;

      for (i = list.length - 1; i >= 0; i--) {
        if (list[i] === listener || list[i].listener === listener) {
          originalListener = list[i].listener;
          position = i;
          break;
        }
      }

      if (position < 0) return this;
      if (position === 0) list.shift();else {
        spliceOne(list, position);
      }
      if (list.length === 1) events[type] = list[0];
      if (events.removeListener !== undefined) this.emit('removeListener', type, originalListener || listener);
    }

    return this;
  };

  EventEmitter.prototype.off = EventEmitter.prototype.removeListener;

  EventEmitter.prototype.removeAllListeners = function removeAllListeners(type) {
    var listeners, events, i;
    events = this._events;
    if (events === undefined) return this;

    if (events.removeListener === undefined) {
      if (arguments.length === 0) {
        this._events = Object.create(null);
        this._eventsCount = 0;
      } else if (events[type] !== undefined) {
        if (--this._eventsCount === 0) this._events = Object.create(null);else delete events[type];
      }

      return this;
    }

    if (arguments.length === 0) {
      var keys = Object.keys(events);
      var key;

      for (i = 0; i < keys.length; ++i) {
        key = keys[i];
        if (key === 'removeListener') continue;
        this.removeAllListeners(key);
      }

      this.removeAllListeners('removeListener');
      this._events = Object.create(null);
      this._eventsCount = 0;
      return this;
    }

    listeners = events[type];

    if (typeof listeners === 'function') {
      this.removeListener(type, listeners);
    } else if (listeners !== undefined) {
      for (i = listeners.length - 1; i >= 0; i--) {
        this.removeListener(type, listeners[i]);
      }
    }

    return this;
  };

  function _listeners(target, type, unwrap) {
    var events = target._events;
    if (events === undefined) return [];
    var evlistener = events[type];
    if (evlistener === undefined) return [];
    if (typeof evlistener === 'function') return unwrap ? [evlistener.listener || evlistener] : [evlistener];
    return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);
  }

  EventEmitter.prototype.listeners = function listeners(type) {
    return _listeners(this, type, true);
  };

  EventEmitter.prototype.rawListeners = function rawListeners(type) {
    return _listeners(this, type, false);
  };

  EventEmitter.listenerCount = function (emitter, type) {
    if (typeof emitter.listenerCount === 'function') {
      return emitter.listenerCount(type);
    } else {
      return listenerCount.call(emitter, type);
    }
  };

  EventEmitter.prototype.listenerCount = listenerCount;

  function listenerCount(type) {
    var events = this._events;

    if (events !== undefined) {
      var evlistener = events[type];

      if (typeof evlistener === 'function') {
        return 1;
      } else if (evlistener !== undefined) {
        return evlistener.length;
      }
    }

    return 0;
  }

  EventEmitter.prototype.eventNames = function eventNames() {
    return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];
  };

  function arrayClone(arr, n) {
    var copy = new Array(n);

    for (var i = 0; i < n; ++i) {
      copy[i] = arr[i];
    }

    return copy;
  }

  function spliceOne(list, index) {
    for (; index + 1 < list.length; index++) {
      list[index] = list[index + 1];
    }

    list.pop();
  }

  function unwrapListeners(arr) {
    var ret = new Array(arr.length);

    for (var i = 0; i < ret.length; ++i) {
      ret[i] = arr[i].listener || arr[i];
    }

    return ret;
  }

  function once(emitter, name) {
    return new Promise(function (resolve, reject) {
      function errorListener(err) {
        emitter.removeListener(name, resolver);
        reject(err);
      }

      function resolver() {
        if (typeof emitter.removeListener === 'function') {
          emitter.removeListener('error', errorListener);
        }

        resolve([].slice.call(arguments));
      }

      ;
      eventTargetAgnosticAddListener(emitter, name, resolver, {
        once: true
      });

      if (name !== 'error') {
        addErrorHandlerIfEventEmitter(emitter, errorListener, {
          once: true
        });
      }
    });
  }

  function addErrorHandlerIfEventEmitter(emitter, handler, flags) {
    if (typeof emitter.on === 'function') {
      eventTargetAgnosticAddListener(emitter, 'error', handler, flags);
    }
  }

  function eventTargetAgnosticAddListener(emitter, name, listener, flags) {
    if (typeof emitter.on === 'function') {
      if (flags.once) {
        emitter.once(name, listener);
      } else {
        emitter.on(name, listener);
      }
    } else if (typeof emitter.addEventListener === 'function') {
      emitter.addEventListener(name, function wrapListener(arg) {
        if (flags.once) {
          emitter.removeEventListener(name, wrapListener);
        }

        listener(arg);
      });
    } else {
      throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter);
    }
  }
},2628,[]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.DynamicStyleSheet = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var _reactNative = _$$_REQUIRE(_dependencyMap[2]);

  function parseStylesFor(styles, mode) {
    var newStyles = {};

    for (var i in styles) {
      var style = styles[i];
      var newStyle = {};

      for (var _i in style) {
        var value = style[_i];
        newStyle[_i] = value instanceof _$$_REQUIRE(_dependencyMap[3]).DynamicValue ? value[mode] : value;
      }

      newStyles[i] = newStyle;
    }

    return newStyles;
  }

  var DynamicStyleSheet = function DynamicStyleSheet(styles) {
    (0, _classCallCheck2.default)(this, DynamicStyleSheet);
    this.dark = _reactNative.StyleSheet.create(parseStylesFor(styles, 'dark'));
    this.light = _reactNative.StyleSheet.create(parseStylesFor(styles, 'light'));
  };

  exports.DynamicStyleSheet = DynamicStyleSheet;
},2629,[5,7,28,2630]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.DynamicValue = undefined;

  var _classCallCheck2 = _$$_REQUIRE(_dependencyMap[0])(_$$_REQUIRE(_dependencyMap[1]));

  var DynamicValue = function DynamicValue(light, dark) {
    (0, _classCallCheck2.default)(this, DynamicValue);
    this.light = light;
    this.dark = dark;
  };

  exports.DynamicValue = DynamicValue;
},2630,[5,7]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.useDarkMode = useDarkMode;

  function useDarkMode() {
    return (0, _$$_REQUIRE(_dependencyMap[0]).useDarkModeContext)() === 'dark';
  }
},2631,[2623]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.useDynamicStyleSheet = useDynamicStyleSheet;

  function useDynamicStyleSheet(dynamicStyleSheet) {
    var mode = (0, _$$_REQUIRE(_dependencyMap[0]).useDarkModeContext)();
    return dynamicStyleSheet[mode];
  }
},2632,[2623]);
__d(function (global, _$$_REQUIRE, _$$_IMPORT_DEFAULT, _$$_IMPORT_ALL, module, exports, _dependencyMap) {
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.useDynamicValue = useDynamicValue;

  function useDynamicValue(light, dark) {
    var mode = (0, _$$_REQUIRE(_dependencyMap[0]).useDarkModeContext)();

    if (light instanceof _$$_REQUIRE(_dependencyMap[1]).DynamicValue) {
      return light[mode];
    } else {
      return mode === 'dark' ? dark : light;
    }
  }
},2633,[2623,2630]);
__r(57);
__r(0);